Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 6: Kỹ thuật đường ống

Ý tưởng
 Kỹ thuật đường ống là tất nhiên!
 Thí dụ về nơi giặt quần áo
 A, B, C và D mỗi người có một đống quần áo để giặt, sấy khô và gấp.
 Máy giặt chiếm 30 phút.
 Máy sấy khô chiếm 30 phút.
 “Máy gấp” chiếm 30 phút.
 “Máy cất” mất 30 phút để đặt quần áo vào trong các ngăn kéo.
pdf 19 trang thamphan 27/12/2022 1600
Bạn đang xem tài liệu "Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 6: Kỹ thuật đường ống", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_vi_xu_ly_nang_cao_phan_2_cac_huong_dan_huong_dan_6.pdf
  • pptHuongdan_06.ppt

Nội dung text: Bài giảng Vi xử lý nâng cao - Phần 2: Các hướng dẫn - Hướng dẫn 6: Kỹ thuật đường ống

  1. Bài giảng “Vi xử lý nâng cao” Phần 2: Các hướng dẫn Hướng dẫn 6: Kỹ thuật đường ống 1
  2. Ý tưởng  Kỹ thuật đường ống là tất nhiên!  Thí dụ về nơi giặt quần áo  A, B, C và D mỗi người có một đống quần áo để giặt, sấy khô và gấp.  Máy giặt chiếm 30 phút.  Máy sấy khô chiếm 30 phút.  “Máy gấp” chiếm 30 phút.  “Máy cất” mất 30 phút để đặt quần áo vào trong các ngăn kéo. 3
  3. Ý tưởng  Việc giặt đồ có đường ống chiếm 3.5 giờ cho 4 đống đồ! 0.5*(4+4-1) = 3.5 5
  4. Ý tưởng  Mô tả việc thực thi có đường ống theo qui ước. (thời gian) (Luồng chương trình) 7
  5. Hazard cấu trúc  4 tầng của lệnh loại R  Ifetch: Tìm nạp lệnh.  Tìm nạp lệnh từ bộ nhớ lệnh.  Reg/Dec : Tìm nạp các thanh ghi và giải mã lệnh.  Exec :  ALU hoạt động trên hai thanh ghi toán hạng.  Cập nhật PC.  Wr : Ghi ngõ ra ALU trở về tập thanh ghi. 9
  6. Hazard cấu trúc  Giải pháp: Trì hoãn việc ghi đối với các lệnh loại R một chu kỳ.  Trì hoãn việc ghi thanh ghi của lệnh loại R một chu kỳ:  Lúc này các lệnh loại R cũng sử dụng port ghi tập thanh ghi ở tầng 5.  Tầng Mem là tầng NOOP: không có gì được thực hiện. 11
  7. Hazard dữ liệu  Giải pháp cho hazard dữ liệu (truyền tiếp):  “Truyền tiếp” xuất phát từ một tầng đến tầng khác. Việc truyền tiếp của tập thanh ghi 13
  8. Hazard dữ liệu  Trì hoãn/dừng lệnh phụ thuộc vào các lệnh load. 15
  9. Hazard điều khiển  Giải pháp 1  Dừng: chờ cho đến khi việc quyết định là rõ ràng. addi IF ID EX Mem WB beq IF ID EX Mem WB add IF ID EX Mem WB sub IF ID EX Mem WB 2 tầng được dừng đối với mỗi trường hợp. nd  Có thể di chuyển (dời) việc quyết định đến tầng 2 bằng cách thêm vào phần cứng kiểm tra các thanh ghi khi đang đọc. 17
  10. Hazard điều khiển  Giải pháp 3  Rẽ nhánh bị trì hoãn: thêm “khe trì hoãn rẽ nhánh”.  (Các) lệnh sau lệnh rẽ nhánh luôn luôn được thực thi.  Dựa vào trình dịch để “làm đầy” khe bằng điều gì đó hữu ích. E.g. mã ban đầu : E.g. mã sửa đổi : add $10, $5, $6 add $10, $5, $6 add $7, $8, $9 beq $10, $11, loop add $1, $2, $3 add $7, $8, $9 beq $10, $11, loop add $1, $2, $3 Khe add $12, $13, $14 ; không được thực add $12, $13, $14 ; thi nếu rẽ nhánh ; được thực hiện. Số lệnh trong khe phụ thuộc vào tầng mà rẽ nhánh được thực hiện. 19