Khác biệt giữa các bản “MIPS”

→‎Người tiên phong của RISC: clean up, general fixes, replaced: . < → .< using AWB
n
(→‎Người tiên phong của RISC: clean up, general fixes, replaced: . < → .< using AWB)
 
 
Một rào cản quan trọng cho đường ống là vài vi lệnh, như chia, cần nhiều thời gian để hoàn thành và do đó CPU phải chờ trước khi cho [[vi lệnh]] kế tiếp vào đường ống. Một giải pháp cho vấn đề này là sử dụng một loạt các liên khoá cho phép giai đoạn được xác định là bận; tạm dừng giữa các đoạn khác. Nhóm Hennessy cho thấy các liên khoá(interlock) là một rào cản chính từ khi học liên lạc tất cả mô-đun trong CPU mà tốn thời gian, và xuất hiện sự giới hạn tốc độ xung. Một khía cạnh khác của thiết kế MIPS là nó vừa một pha nhỏ, bao gồm truy xuất cache, của tất cả vi lệnh trong một chu kì, do đó xoá bỏ sự cần thiết của liên khoá, và cho phép một chu kì thông suốt.<br />
Mặc dù thiết kế loại bỏ một số [[vi lệnh]] hữu ích như nhân, chia nhưng nó hiệu năng toàn diện của hệ thống rất cải thiện đáng kể bởi vì chip có thể chạy với xung cao hơn. Khó có thể liên khoá xen vào tốc độ của ống, cũng như thời gian cần thiết để thiết lập khoá. <br />
Khác biệt giữa thiết kế MIPS và đối thủ Berkeley RISC tham gia xử lý hàm con. RISC sử dụng kĩ thuật thanh ghi cửa sổ để cải thiện hiệu năng của tác vụ rất phổ dụng, nhưng giới hạn tối đa mức nhảy. Mỗi lần gọi tiểu hàm cần tập hợp thanh ghi của nó, mà đến lượt cần tài sản của thanh ghi. Hennessy cảm thấy trình biên dịch thông minh thì có thể tìm thấy thanh ghi rảnh mà không cần sắp xếp lại, và chỉ đơn giản tăng số lượng thanh ghi không chỉ làm điều này đơn giản, nhưng là tăng hiệu năng toàn bộ tác vụ.<br />
Cách khác, thiết kế MIPS rất giống với thiết kế [[RISC]] điển hình. Để tiết kiệm bit trong [[vi lệnh]], thiết kế RISC giảm số lượng vi lệnh. Thiết kế MIPS sử dụng 6 bits của 32 bit cho vi lệnh cơ bản; còn lại là 26 bit là địa chỉ nhảy hoặc sử dụng trường 5 bit để chỉ định lên đến 3 thanh ghi với giá trị dịch kết hợp với 6 bit vi lệnh; Một định dạng khác sử dụng 3 thanh ghi với một giá trị 16 bit mã trong [[vi lệnh]].