Bài giảng Kiến trúc máy tính - Chương 4: Bộ xử lý đường ống - Tạ Kim Huệ
Bộ xử lý đường ống
Processor Pipelining
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?)
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
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ỳ
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ý
…Cần nhiều chu kỳ
cho một lệnh!
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
Ví dụ MIPS: 5 giai đoạn đường ống
Kỹ thuật này có tốt hơn khô ng?
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
Kỹ thuật đường ống là gì ?
Một số ví dụ trong đời sống
Kỹ thuật đường ống 1: quy trì nh
giặt là (serial - pipeline)
• 4 hoạt động cho một tải:
– Wash (1h), Dry (1h), Fold
(1h), Put away (1h)
• 4 tải mất bao lâ u?
– Wash + Dray + Fold + Put
away = 4h
– 4 loads * 4h/load = 16h
Q: Bao nhiêu phần trăm
tài nguyên đã sử dụng?1.
100%
2. 50%
3. 25%
A: 25%
Chỉ sử dụng một pha: wash,
dry, fold, và put away ở mỗi
thời điểm. Cò n 3 pha khá c là
nhàn rỗi.
How can pipelining help?
Ví dụ: Quy trì nh giặt là
(pipelined)
• Hã y thử xếp chồng cá c hoạt động
• Bao lâ u cho 4 lần tải?
– 4 lần tải trong 7 giờ (mỗi
lần tải trong 4h)
– 7h vs. 16h nhanh hơn 2.3x!
Q: Cần bao nhiêu người để
Đạt được hiệu xuất cao
hơn. Khi cần 4 tải tại một
thời điểm sử dụng toàn
bộ tài nguyên.
thực hiện 4 hoạt động trong
cùng một thời điểm ?
1. 1
2. 2
3. 4
A: 4
Để thực hiện 4 thao tá c
một lúc cần 4 người.
Tương đương với việc cần
điều khiển logic cho 4 lệnh
tại một thời điểm.
Đường ống hó a giúp cho việc sử dụng tất cả cá c tài nguyên tại
cùng một thời điểm khi thực hiện nhiều hoạt động khá c nhau.
Ví dụ về kỹ thuật đường ống 2:
lắp rá p xe (serial)
• Cô ng nghệ của Henry Ford
• Sản xuất theo đường ống
Pipelining example 2: car assembly (serial)
Q: Hiệu xuất hoạt động sẽ
như thế nào nếu đường ống
khô ng đầy?
1. Goes up
2. Stays the same
3. Goes down
Đường ống đầy.
Hiệu năng tối ưu
bởi vì tất cả tài
nguyên đều được
sử dụng trong
cùng một khoảng
thời gian..
A: Goes down
Nếu đường ống khô ng
đầy, sẽ khô ng sử dụng
hết tài nguyên làm
hiệu năng giảm xuống.
Tại sao lại sử dụng Pipeline
?
(Hint: performance)
Tại sao lựa chọn pipeline?
• Nếu có thể giữ cho đường ống luô n đầy sẽ có throughput (số cô ng việc
thực hiện được trong một khoảng thời gian) tốt hơn.
– Laundry:
– Car:
1 load of laundry/hour
1 car/hour
– MIPS:
1 instruction/cycle
• Xuất hiện trễ (total time per)
– Laundry:
– Car:
– MIPS:
4 giờ cho mỗi lần giặt là
4 giờ cho một xe ô tô
5 chu kỳ cho mỗi lệnh
• Pipelining nhanh hơn bởi vì sử dụng tất cả tài nguyên tại cùng một thời điểm
– Laundry:
– Car:
– MIPS:
má y giặt, má y sấy, gập, cất vào tủ
lắp đế, lắp giá p động cơ, lắp lốp, lắp buồng lá i
Nạp lệnh, đọc thanh ghi, ALU, Truy cập bộ nhớ và
ghi vào thanh ghi. (Instruction fetch, register read, ALU, memory, and
register write).
Hiệu năng đường ống hó a trong
bộ xử lý
• Chương trì nh tải 3 lệnh mỗi lệnh cần
800ps (0.8ns)
• Nếu đường ống hó a và xếp chồng sẽ
sử dụng được tất cả tài nguyên một
cá ch song song và thực hiện 3 lệnh
trên nhanh hơn.
Q: Thô ng lượng tăng lên bao
nhiêu lần trong đường ống 5 giai
đoạn?
1. 1.7lần
2. 4lần
3. 5lần
A: 1.7 lần
Đối với đường ống, throughput là một
lênh trong mỗi 200ps và 800ps khô ng có
khô ng đường ống hó a. Tuy nhiên phải
tăng độ trễ lênh tới 1000ps trên một
lệnh để câ n bằng 5 pha đường ống. Tốc
độ tuyệt đối cho 3 lệnh riêng biệt là 1.7x
(1400ps/2400ps).
Cá c thanh ghi Pipeline và mào
đầu (phí tổn điều khiển)
• Mỗi trạng thá i đường ống là một tổ hơp logic (ALU, sign extension)
• Cần lưu trữ trạng thá i cá c pha (which instruction)
• Cần cá c thanh ghi pipeline giữa cá c pha để lưu trữ lệnh cho cá c pha.
Đồng hồ trong bộ xử lý Pipeline
• Tốc độ đồng hồ xá c định bởi register → stage → register
– Clock dịch chuyển dữ liệu đi đến thanh ghi đầu tiên
– Dữ liệu tí nh toá n trong cá c trạng thá i (combinational: think an adder)
– Dữ liệu cần đến thanh ghi tiếp theo đúng giờ tương ứng với xung đồng hồ tiếp theo
Hiệu năng của việc đường ống
hó a MIPS
• Thiết kế đơn xung nhịp (Single‐cycle):
– Đồng hồ đặt cho lệnh chậm nhất: 800ps clock time
• Thiết kế đường ống hó a Pipelined:
– Đồng hồ được đặt cho pha chậm nhất: 200ps
• Chú ý rằng một vài lệnh khô ng sử dụng hết cá c pha.
– Cần điều khiển để chắc chắn rằng cá c pha hoạt động đồng bộ
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 4: Bộ xử lý đường ống - Tạ Kim Huệ", để 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:
- bai_giang_kien_truc_may_tinh_chuong_4_bo_xu_ly_duong_ong_ta.pptx