Home / Thể loại khác / Kiến trúc máy tính / Trình bày kĩ thuật đường ống đơn vị lệnh(pipeline lệnh)

Trình bày kĩ thuật đường ống đơn vị lệnh(pipeline lệnh)

Đường ống (Pipelining) là một trong các kĩ thuật để tăng tốc của máy tính,tận dụng tối đa thời gian CPU.Quá trình thực hiện lệnh chia thành các công đoạn như nhận lệnh,giải mã lệnh,tính địa chỉ toán hạng,nhận toán hạng,điều khiển xủa lý lệnh,cắt kết quả.

loading...

Quy trình thực hiện kiến trúc máy tính đơn vị lnh có thể xảy ra 3 xung đột sau:
-Xung đột về cấu trúc:Tại một thời điểm xủa lí n lệnh,sẽ có thể xảy ra trường hợp có một só công đoạn của lệnh khác nhau cần dùng chung 1 tài nguyên phần cứng.
-Xung đột về mặt dữ liệu:Ví dụ thực hiên 2 lệnh sau.
ADD R1,R2,R3 ;R3=R1+R2
ADD R3,R4,R5 ;R5=R3+R4
+Ta thấy lệnh thứ 2 muốn thực hiện thì lệnh thứ nhất phải hoàn thành xong,xong 2 lệnh nằm sát cạnh nhau nên lệnh 2 ở công đoạn nhận toán hạng cần R3 thì lệnh một mới ở công đoạn xử lí lệnh.Như vậy lệnh 2 phải chờ,hiệu quả thực hiện pipeline giảm đi.
-Xung đột về mặt điều khiển:Khi gặp lệnh rẻ nhánh có điều kiện(IF_THEN…ELSE) thì khi chưa kịp giải mã lệnh,không biết lệnh rẽ theo nhánh nào.Do vậy phải chờ.Khắc phục tình trạng này,có thể xử lý bằng cách cho phép hệ thống được nạp lệnh tiếp theo cho cả 2 nhánh khi giải mã xong điều kiện nhả ,xẽ chỉ lấy kết quả thi hành,của lệnh thỏa mãn điều kiện,hoặc hệ thống phải có khả năng dự đoán rẽ nhánh chính xác,tuy nhiên xử lí vấn đề xung đột này không phải đơn giản.

Bình luận cho bài viết

Nhận xét

Có thể bạn quan tâm

Nghiên cứu tìm hiểu về CPU 8086 của intel

Nghiên cứu tìm hiểu về CPU 8086 của intel và nguyên lý làm việc của …