tailieunhanh - Bài giảng Kiến trúc máy tính: Chương 4 - Tạ Kim Huệ

Bài giảng Kiến trúc máy tính - Chương 4: Bộ xử lý đường ống cung cấp cho người học các kiến thức về so sánh tốc độ xử lý, kỹ thuật đường ống, xây dựng bộ xử lý đường ống. nội dung chi tiết. | Processor Pipelining Bộ xử lý đường ống 1 Nội dung • So sánh tốc độ xử lý – Single ‐ cycle datapath (from the previous lecture) – Multi‐cycle – Pipelining • Kỹ thuật đường ống – Kỹ thuật đường ống là gì? – Tại sao lại sử dụng kỹ thuật đường ống? • Xây dựng bộ xử lý đường ống – Chia cắt từ bộ xử lý đơn xung nhịp – Hoạt động của MIPS pipeline – Điều khiển Pipeline Tốc độ xử lý (What limits our clock?) Đường dữ liệu bộ xử lý đơn xung nhịp Tốc độ xác định bởi lệnh có đường dữ liệu dài nhất. A: 70%•1/2 = 35% of the time. 70% các lệnh cần một nửa chu kỳ để xử lý. Như vậy 35% thời gian để lãng phí. If slowest path is for load, all instructions go this slowly. Q: Nếu truy cập vào bộ nhớ dữ liệu dài hơn gấp 2 lần các lệnh khác và 30% lệnh của chương trình là loads/stores, bao nhiêu phần trăm thời gian bộ xử lý nhàn rỗi? 20% of the time 35% of the time 40% of the time Thời gian thực thi đơn xung nhịp • Lệnh thực thi chậm nhất là lệnh có thời gian thực thi bằng 1 chu kỳ • Lãng phí thời gian Các | Processor Pipelining Bộ xử lý đường ống 1 Nội dung • So sánh tốc độ xử lý – Single ‐ cycle datapath (from the previous lecture) – Multi‐cycle – Pipelining • Kỹ thuật đường ống – Kỹ thuật đường ống là gì? – Tại sao lại sử dụng kỹ thuật đường ống? • Xây dựng bộ xử lý đường ống – Chia cắt từ bộ xử lý đơn xung nhịp – Hoạt động của MIPS pipeline – Điều khiển Pipeline Tốc độ xử lý (What limits our clock?) Đường dữ liệu bộ xử lý đơn xung nhịp Tốc độ xác định bởi lệnh có đường dữ liệu dài nhất. A: 70%•1/2 = 35% of the time. 70% các lệnh cần một nửa chu kỳ để xử lý. Như vậy 35% thời gian để lãng phí. If slowest path is for load, all instructions go this slowly. Q: Nếu truy cập vào bộ nhớ dữ liệu dài hơn gấp 2 lần các lệnh khác và 30% lệnh của chương trình là loads/stores, bao nhiêu phần trăm thời gian bộ xử lý nhàn rỗi? 20% of the time 35% of the time 40% of the time Thời gian thực thi đơn xung nhịp • Lệnh thực thi chậm nhất là lệnh có thời gian thực thi bằng 1 chu kỳ • Lãng phí thời gian Các lệnh khác nhau có thời gian thực thi khác nhau -> lãng phí thời gian và tài nguyên đối với các lệnh ngắn 5 Giải pháp: Bộ xử lý đa xung nhịp • Lệnh nhanh nhất xác định tương ứng với 1 chu kỳ • Lệnh chậm hơn sẽ chiếm nhiều chu kỳ Cpi của bộ xử lý đơn chu kỳ = 1; Cpi của bộ xử lý đa chu kỳ khác 6 Cách nào tốt hơn? • Chia lệnh thành các giai đoạn khác nhau • Giai đoạn dài nhất sẽ xác định tốc độ xử lý Chia thành 5 parts → đồng hồ nhanh hơn 5x lần → nhưng cần nhiều hơn 5x chu kỳ cho một lệnh Cần nhiều chu kỳ cho một lệnh! Ví dụ MIPS: 5 giai đoạn đường ống Không phải tất cả các lệnh đều sử dụng hết tất cả 5 giai đoạn đường ống. 8 Kỹ thuật này có tốt hơn không? Lệnh – tài nguyên – chu kỳ 9 Hoạt động trong đường ống Đây là điều chúng ta cần từ đường ống: sử dụng tất cả các phần của bộ xử lý đối với các lệnh khác nhau tại cùng một thời điểm Pipeline tăng thông lượng : số lượng lệnh trong một đơn vị thời gian, thời gian thực thi một lệnh không đổi bằng thời gian thực hiện một lệnh trong bộ xử