Tôi đã đọc một số tài liệu về superscalr và OoO và tôi bối rối.
Tôi nghĩ rằng đồ thị kiến trúc của họ trông rất giống nhau.Sự khác nhau chung giữa Superscalar và OoO là gì?
Trả lời
Bộ vi xử lý siêu âm có thể thực thi hai hoặc nhiều lệnh cùng một lúc. Ví dụ. thông thường chúng có ít nhất 2 ALUs (mặc dù bộ xử lý supererscalar có thể có 1 ALU và một số đơn vị thực thi khác, giống như một đơn vị shifter hoặc nhảy.)
(Chính xác hơn, bộ xử lý superscalar có thể bắt đầu thực hiện hai hoặc nhiều hướng dẫn trong cùng một Các bộ xử lý Pipelined có thể thực hiện nhiều hơn một lệnh tại một thời điểm, nhưng một bộ xử lý pipelined không superscalar sẽ chỉ bắt đầu một lệnh duy nhất trong bất kỳ chu kỳ nhất định nào. thường có khả năng thực hiện hai lệnh không pipelined với độ trễ chu trình đơn trên mỗi chu kỳ, trong khi các bộ xử lý pipet không siêu superscalar không thể có hai hướng dẫn chu trình đơn trong thực thi trong các ALU cùng một lúc.)
Bộ vi xử lý không theo yêu cầu có thể thực hiện các lệnh từ lệnh gốc. Ví dụ, trong những điều sau đây, nơi NHÂN mất 5 chu kỳ, hướng dẫn 3 có thể thực hiện trước khi hướng dẫn 2 - bởi vì hướng dẫn 2 đang chờ đợi 5 chu kỳ kết quả của NHÂN giảng dạy 1:
1: MULTIPLY reg1 := reg2 * reg3
2: ADD reg4 := reg1 + 5
3: ADD reg6 := reg2 + 1
Hầu hết out-of- bộ xử lý đơn đặt hàng cũng là superscalar. Tuy nhiên, bạn có thể tưởng tượng việc xây dựng một bộ xử lý không theo thứ tự không phải là superscalar, mà chỉ có thể khởi tạo một hoạt động trên ALU pipelined trên mỗi chu kỳ. (I có đề xuất các hoạt động như vậy, khi được Intel sử dụng làm chip năng lượng thấp. Heck, bạn có thể xây dựng các bộ vi xử lý không theo thứ tự chỉ là nửa vô hướng, ví dụ chỉ có một ALU rộng 16 bit, lấy 2 chu kỳ để thêm 32 bit, v.v ... Nhưng đó là kéo dài.)
Nhiều bộ xử lý siêu phức tạp, không nằm ngoài thứ tự. Trong ví dụ trên, một superscalar theo thứ tự sẽ thực thi lệnh [1] trước. Nó sẽ NOT hướng dẫn bắt đầu 3, nhưng sẽ đợi cho đến khi lệnh 2 có thể bắt đầu - lúc đó nó sẽ bắt đầu hướng dẫn 2 và 3 cùng nhau.
Hy vọng điều này sẽ hữu ích.
Đôi khi bạn phải suy nghĩ về các trường hợp không giới hạn, chẳng hạn như máy Oto 1 chiều hoặc nửa rộng, để hiểu các khái niệm.
Xem thêm: ** [Bộ vi xử lý hiện đại: Hướng dẫn 90 phút!] (Http://www.lighterra.com/papers/modernmicroprocessors/) **. Bài viết đó được xây dựng từ đường ống dẫn đơn giản đến đường ống dẫn sâu tới superscalar, với các sơ đồ và ví dụ. Sau đó chuyển sang hướng dẫn các độ trễ và các phụ thuộc, các nhánh (và dự đoán) và thực thi ngoài trật tự. Sau đó, một số cuộc thảo luận về "ma quỷ so với tốc độ (ví dụ Pentium 4)" và tại sao tần số/sức mạnh nhân rộng giết chết P4 và tại sao chúng ta có nhiều lõi thay vì lõi đơn nhanh hơn bao giờ hết. Rat khuyen khich. –