Bài Tập Pipeline Kiến Trúc Máy Tính Uit Có đáp án - Tài Liệu Text - 123doc
- Trang chủ >>
- Công Nghệ Thông Tin >>
- Phần cứng
Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (737.29 KB, 10 trang )
Bài tập PipelineBài 1 (4.12 - sách tham khảo chính)Trong bài tập này, chúng ta khảo sát pipeline ảnh hưởng như thế nào tới chu kỳ xungclock (clock cycle time) của processor. Giả sử rằng mỗi công đoạn (stage) trong pipelinecó thời gian thực hiệna.b.IF300ps200psID400ps150psEX350ps120psMEM500ps190psWB100ps140ps1. Chu kỳ xung clock cần cho processor là bao nhiêu nếu processor thiết kế cópipeline và không pipeline.Trả lời:a. Processor có pipeline: 500ps (trong 5 công đoạn, công đoạn nào chiếm thờigian dài nhất, chọn công đoạn đó)Processor không pipeline: 300 + 400 + 350 + 500 + 100 = 1650psb. Processor có pipeline: 200psProcessor không pipeline: 200 + 150 + 120 + 190 + 140 = 800ps2. Thời gian cần thiết để thực hiện lệnh lw cho trường hợp processor có pipeline vàkhông pipeline có thể là bao nhiêuTrả lời:a. Thời gian lw cần để thực hiện trong trường hợp processor có pipeline:lw cần trải qua các công đoạn: IF + ID + EX + MEM + WB, 5 công đoạn. Cáccông đoạn tuy có thời gian hoàn thành khác nhau, nhưng vì có pipeline đưa vàonên các công đoạn được thiết kế sao cho thời gian thực hiện như nhau và bằngthời gian của công đoạn lâu nhất; vì vậy, thời gian lw cần để thực hiện trongtrường hợp có pipeline: 5 * 500 = 2500psThời gian lw cần để thực hiện trong trường hợp processor không có pipeline:300 + 400 + 350 + 500 + 100 = 1650psb. Thời gian cần cho lw khi processor có pipeline: 5 * 200 = 1000 psThời gian cần cho lw khi processor không pipeline: 800psGiả sử rằng các lệnh được thực thi trong processor được phân rã như sau (áp dụng chocâu 3 và 4)a.b.ALU50%30%beq25%25%lw15%30%sw10%15%3. Giả sử rằng không có khoảng thời gian rỗi (stalls) hoặc xung đột (hazards), phầntruy xuất bộ nhớ (MEM) và phần truy xuất ghi trên tập thanh ghi (WB) sử dụngbao nhiêu % chu kỳ của toàn chương trìnhTrả lời:phần truy xuất bộ nhớ dữ liệu (MEM)thao tác truy xuất bộ nhớ dữ liệu thật sự chỉ thực hiện trên 2 dạng lệnh: lw và sw. Vìvậy % chu kỳ MEM có thao tác thật sự:a. 15% + 10% = 25%b. 30% + 15% = 45%phần truy xuất ghi trên tập thanh ghi (WB)thao tác truy xuất ghi trên khối thanh ghi thật sự chỉ xuất hiện ở 2 loại lệnh: ALU vàlw. Vì vậy % chu lỳ WB có thao tác thật sự:a. 50% + 15% = 65%b. 30% + 30 = 60%Chú ý: Bảng sau liệt kê chi tiết lệnh nào thật sự cần và không cần công đoạn nàoIF ID EX MEM WBlwx xxxxswx xxxALU (add, sub, AND, OR, slt) x xxxBranch (beq)x xx(Lệnh branch thực hiện 3 stage hoặc 4 stages tùy vào một số thay đổi, nếu có cho vấnđề này, bài tập sẽ nói rõ)4. Giả sử có thiết kế mới như sau: mỗi lệnh chỉ sử dụng đúng các giai đoạn cần cócủa nó, có thể lấy nhiều chu kỳ để hoàn thành, nhưng một lệnh phải hoàn thànhxong thì những lệnh khác mới được nạp vào. Thiết kế này tạm gọi là thiết kế đachu kỳ.Theo kiểu này, mỗi lệnh chỉ đi qua những công đoạn mà nó thực sự cần (ví dụ, swchỉ sử dụng 4 công đoạn, không có công đoạn WB). Tính chu kỳ xung clock, sosánh thời gian thực thi của thiết kế đa chu kỳ này với thiết kế đơn chu kỳ (singlecycle design) và pipeline.(Chú ý: lw: sử dụng 5 stage; sw: 4 stage (không WB); ALU: 4 stage (khôngMEM), beq 4 stage (không WB))Trả lời: Chu kỳ xung clock- Chu kỳ xung clock của thiết kế pipelinea. 500 psb. 200 ps- Chu kỳ xung clock của thiết kế đơn chu kỳa. 1650b. 800- Chu kỳ xung clock của thiết kế đa chu kỳ: giống pipeline Execution timea.= 0.15 × 5 + 0.85 × 4 = 4.15== 3.3b.0.3 × 5 + 0.7 × 4 = 4.30==4(Gợi ý:- Thời gian thực thi n lệnh của pipeline = 5T + (n-1).T với T là 1 chu kỳ pipeline- Thời gian thực thi n lệnh của kiểu thiết kế đơn chu kỳ = nT’ (với T’ là thời gian 1 chukỳ xung clock của đơn chu kỳ)- Thời gian thực thi n lệnh của kiểu thiết kế đa chu kỳ = (0.15 × 5 + 0.85 × 4) nT’’ (vớiT’’ là thời gian 1 chu kỳ xung clock của đa chu kỳ, cũng bằng T của pipeline), do chỉcó 15% lệnh lw là chiếm 5 chu kỳ, 85% các lệnh khác đều 4 chu kỳ (cho câu a)ờựủ đờựủKhi n là rất lớn,ờờựỳờựủ đờựủủ đơự=ỳủỳ= 0.15 × 5 + 0.85 × 4=Khi n là rất lớn,=Bài 2 (4.13 – sách tham khảo chính)Cho chuỗi lệnh như sau :a.lw $1, 40($6)add $6, $2, $2sw $6, 50($1)b.lw $5, -16($5)sw $5, -16($5)add $5, $5, $51. Trong trường hợp pipeline 5 tầng và không dùng kỹ thuật nhìn trước (no forwarding),sử dụng lệnh ‘nop’ để giải quyết xung đột xảy ra (nếu có) trong chuỗi lệnh trên.2. Trong trường hợp pipeline 5 tầng và có kỹ thuật nhìn trước (forwarding), sử dụng lệnh‘nop’ để giải quyết xung đột xảy ra (nếu có) trong chuỗi lệnh trên.Chú ý: Vẽ rõ ràng hình ảnh các chu kỳ pipeline khi đoạn lệnh trên thực thiCho bảng thể hiện chu kỳ xung clock như sauKhông forwardingCó forwarding đầy đủ(full-forwarding)Chỉ có ALU-ALUforwarding, không cóMEM-ALU forwardinga.300ps400ps360psb.200ps250ps220psChú ý : ALU-ALU forwarding cũng chính là EX-EX forwarding. MEM-ALU forwardingcũng chính là MEM-EX forwarding.3. Tính thời gian thực thi của chuỗi lệnh trên trong trường hợp không forwarding và cófull-forwarding? Sự tăng tốc đạt được bởi việc đưa kỹ thuật full-forwarding vàopipeline so với không forwarding là bao nhiêu?4. Giả sử processor chỉ có kỹ thuật ALU-ALU forwarding (không có MEM-ALUforwarding), sử dụng lệnh ‘nop’ để giải quyết xung đột dữ liệu5. Tính thời gian thực thi của chuỗi lệnh trên khi áp dụng ALU-ALU forwarding? Sựtăng tốc đạt được của việc dùng ALU-ALU forwarding so với không forwarding làbao nhiêu?Trả lời:1. Thêm lệnh nop để giải quyết xung đột dữ liệu trong trường hợp không forwardinga.lw $1, 40($6)add $6, $2, $2nopnopsw $6, 50($1)Lưu ý: Cho đoạn lệnh sauadd $6, $2, $2sw $6, 50($1)Với tất cả các lệnh, các thanh ghi cần lấy giá trị đều được lấy trong giai đoạn giảimã; riêng với lệnh sw, thanh ghi $6 như ví dụ trên có thể xảy ra hai trường hợp:- Giá trị của $6 sẽ được lấy trong công đoạn ID như tất cả các lệnh khácGiải quyết xung đột trong trường hợp này sw phải chờ sao cho ID củasw trùng với WB của add (thêm 2 nop ở giữa)- Hoặc là giá trị $6 chỉ cần sẵn sàng trước khi lệnh sw vào MEMGiải quyết xung đột trong trường hợp này sw phải chờ sao cho EX củasw trùng với WB của add (thêm 1 nop ở giữa)Các bạn hiện tại có thể dùng 2 cách (nhưng khuyến khích dùng trường hợp 2)Phần bài giải phía sau giải theo trường hợp 1, còn trường hợp 2 có bài giải trong filetiếng AnhHình ảnh chu kỳ pipelinelw $1, 40($6)IFadd $6, $2, $2nopnopsw $6, 50($1)IDIFEXIDoMEM WBEX MEMooooIFWBooIDooEXoMEMWBoMEM WBEX MEMWBb.lw $5, -16($5)nopnopsw $5, -16($5)add $5, $5, $5Hình ảnh chu kỳ pipelinelw $5, -16($5)IFnopnopsw $5, -16($5)add $5, $5, $5IDoEXooMEMooIFWBooIDIFooEXID2. Thêm lệnh nop để giải quyết xung đột dữ liệu trong trường hợp có forwardinga.lw $1, 40($6)add $6, $2, $2sw $6, 50($1)Hình ảnh chu kỳ pipelinelw $1, 40($6)IFadd $6, $2, $2sw $6, 50($1)b.lw $5, -16($5)nopIDIFEXIDIFMEM WBEX MEM WBIDEX MEMWBsw $5, -16($5)add $5, $5, $5Hình ảnh chu kỳ pipelinelw $5, -16($5)IFnopsw $5, -16($5)add $5, $5, $5IDoEXoIFMEMoIDIFWBoEXIDoMEM WBEX MEMWB3.a. Chuỗi lệnh trong trường hợp không forwardinglw $1, 40($6)add $6, $2, $2nopnopsw $6, 50($1) Đoạn lệnh này mất 9 chu kỳ xung clock để thực hiện nên thời gian thực thi = 9 × 300 =2700 ps. Chuỗi lệnh trong trường hợp full-forwardinglw $1, 40($6)add $6, $2, $2sw $6, 50($1) Đoạn lệnh này mất 7 chu kỳ xung clock để thực hiện nên thời gian thực thi = 7 × 400 =2800 ps.Tăng tốc đạt được: 2700/2800 = 0.96b.Thời gian thực thi không forwarding : 1800psThời gian thực thi có full-forwarding : 2000psSự tăng tốc đạt được : 1800/2000 = 0.94.a.lw $1, 40($6)add $6, $2, $2nopsw $6, 50($1)b.lw $5, -16($5)nopnopsw $5, -16($5)add $5, $5, $55.a.Thời gian thực thi với ALU-ALU forwarding: 8 × 360 = 2880psSư tăng tốc đạt được = 2700/2880 = 0.9375psb.Thời gian thực thi với ALU-ALU forwarding: 9 × 220 = 1980psSư tăng tốc đạt được = 1800/1980 = 0.91psBài 3Cho đoạn lệnh sau :a.lw $1, 40($2)add $2, $3, $3add $1, $1, $2sw $1, 20($2)b.add $1, $2, $3sw $2, 0($1)lw $1, 4($2)add $2, $2, $1c.lw $1, 40($6)add $2, $3, $1add $1, $6, $4sw $2, 20($4)add $1, $1, $4d.add $1, $5, $3sw $1, 0($2)lw $1,4($2)add $5, $5, $1sw $1, 0($2)1. Trong trường hợp pipeline 5 tầng, không nhìn trước (no forwarding), sử dụng lệnhnop để giải quyết nếu có xung đột xảy ra trong chuỗi lệnh trên.2. Trong trường hợp pipeline 5 tầng, có nhìn trước (forwarding), sử dụng lệnh nopđể giải quyết nếu có xung đột xảy ra trong chuỗi lệnh trên.Chú ý: Vẽ rõ ràng hình ảnh các chu kỳ pipeline khi đoạn lệnh trên thực thiTrả lời :(Lưu ý: với lệnh sw $1, imm($2) tất cả các bài giải này giải theo kiểu nội dung thanh ghi$1 được đọc ngay trong ID, trường hợp còn lại nếu $1 chỉ cần sẵn sàng trước MEM thìsinh viên tự giải)a.b.Không forwardinglw $1, 40($2)add $2, $3, $3nopnopadd $1, $1, $2nopnopsw $1, 20($2)Có forwardinglw $1, 40($2)add $2, $3, $3add $1, $1, $2sw $1, 20($2)add $1, $2, $3nopnopsw $2, 0($1)lw $1, 4($2)nopnopadd $2, $2, $1add $1, $2, $3sw $2, 0($1)lw $1, 4($2)nopadd $2, $2, $1c.d.lw $1, 40($6)nopnopadd $2, $3, $1add $1, $6, $4nop*sw $2, 20($4)add $1, $1, $4lw $1, 40($6)nopadd $2, $3, $1add $1, $6, $4sw $2, 20($4)add $1, $1, $4add $1, $5, $3nopnopsw $1, 0($2)lw $1,4($2)nopnopadd $5, $5, $1sw $1, 0($2)add $1, $5, $3sw $1, 0($2)lw $1,4($2)nopadd $5, $5, $1sw $1, 0($2)
Tài liệu liên quan
- Bai tap chuong01 Kiến trúc máy tính nâng cao
- 3
- 1
- 11
- bài tập lớn kiến trúc máy tính
- 36
- 2
- 1
- Báo cáo bài tập lớn kiến trúc máy tính
- 13
- 2
- 10
- BÀI TẬP MÔN CẤU TRÚC MÁY TÍNH doc
- 2
- 2
- 33
- kiến trúc máy tính - đề thi & đáp án
- 24
- 2
- 2
- bài tập trắc nghiệm vi xử lý - cấu trúc máy tính kèm theo đáp án
- 67
- 3
- 5
- tài liệu hướng dẫn ôn tập giải toán trên máy tính casino (có đáp án)
- 10
- 1
- 0
- Bài thuyết trình bài tập lớn kiến trúc máy tính tìm hiểu về ROM BIOS đh mỏ địa chất
- 25
- 1
- 1
- bài giảng môn kiến trúc máy tính tiến tiến
- 51
- 1
- 3
- BÁO CÁO BÀI TẬP LỚN KIẾN TRÚC MÁY TÍNH THIẾT KẾ MIPS PIPELINE
- 49
- 2
- 13
Tài liệu bạn tìm kiếm đã sẵn sàng tải về
(737.29 KB - 10 trang) - Bài tập Pipeline kiến trúc máy tính uit có đáp án Tải bản đầy đủ ngay ×Từ khóa » Chu Kỳ Xung Clock
-
[PDF] HIỆU SUẤT MÁY TÍNH - Cit..vn
-
Tín Hiệu Nhịp – Wikipedia Tiếng Việt
-
Chu Kỳ Xung Clock - TaiLieu.VN
-
Bài 1 - Mạch Tạo Xung Clock - Cl
-
Xung Clock Là Gì?Xung Clock Dùng để Làm Gì? - Etinco
-
Chu Kỳ Xung Clock.pdf (.docx) | Tải Miễn Phí
-
Tổng Hợp Kiến Thức Về Mạch Tạo Xung Clock
-
HIỆU SUẤT (performance) - KHÁM PHÁ CUỘC SỐNG
-
Hỏi Về Chu Kì Xung Clock [Lưu Trữ] - PIC Vietnam
-
Kiến Trúc Máy Tính - Chương 2: Hiệu Suất - Tài Liệu, Ebook
-
Tính Chu Kì Xung Clock Với C - Dien Tu Viet Nam
-
Clock Cycle Là Gì? - Từ điển CNTT
-
Tốc độ Xung Nhịp CPU Là Gì? | Intel