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đường ống  
Processor Pipelining  
Nội dung  
• So sá nh tốc độ xử lý  
Single cycle datapath (from the previous lecture)  
Multicycle  
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ử đường ống  
Chia cắt từ bộ xử đơ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ệnh thời gian thực thi  
bằng 1 chu kỳ  
Lã ng phí thời gian  
Giải phá p: Bộ xử đ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  
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 điều chúng ta cần từ đường  
ống: sử dụng tất cả cá c phần của bộ  
xử đố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ố 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?  
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.  
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 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 thể giữ cho đường ống luô n đầy sẽ 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 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 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 độ trlê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 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 (Singlecycle):  
– Đồ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 đủ
pptx 67 trang yennguyen 12/04/2022 2720
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:

  • pptxbai_giang_kien_truc_may_tinh_chuong_4_bo_xu_ly_duong_ong_ta.pptx