GV biện soạn: Nguyệt TTN – KTMT UIT Bài tập chương - Datapath Hình (FILE NÀY GIẢI THEO HÌNH NHÉ, THI CHO HÌNH CRITICAL PATH (HÌNH - hình đầy đủ) + lệnh add, sub, AND, OR, slt I-mem, Control, Mux, Regs, Mux, ALU, Mux, Regs ==> đề cho Control bỏ Control + lệnh lw I-mem, Control, Mux, Regs, Mux, ALU, D-mem, Mux, Regs ==> đề cho Control bỏ Control + lệnh sw I-mem, Regs, Mux, ALU, D-mem + lệnh beq a.I-mem, Regs, Mux, ALU, Mux (xét bằng) b I-mem, Sign-Extend,Shift-left-2, Add, Mux (không xét bằng) ==> Thường a đường chính; beq đường tính imm*4+PC+4 nên chắc, dựa vào kiện tính thử xem đường b có dài đường a khơng cho Hình GV biện soạn: Nguyệt TTN – KTMT UIT Bài (4.1 – sách tham khảo) Cho lệnh sau: Lệnh Ý nghĩa a add rd, rs, rt Reg[rd] = Reg[rs] + Reg[rt] b lw rt, offs(rs) Reg[rt] = Mem[Reg[rs]+offs] Với lệnh bảng này: Giá trị tính hiệu điều khiển từ khối “Control” nào? Các khối datapath hình cần thiết, khối khơng cần thiết? Khối datapath hình có output đầu ra, output khơng sử dụng cho lệnh? Khối khơng có output? Cho thời gian trễ (thời gian cần để hoàn thành) khối sau (khối khơng có bảng xem thời gian trễ 0): I-Mem Add Mux ALU Regs D-Mem Control a 400ps 100ps 30ps 120ps 200ps 350ps 100ps b 500ps 150ps 100ps 180ps 220 1000ps 65ps Tính thời gian trễ lớn lệnh “and” kiến trúc MIPS cho biết “critical path” lệnh? Chú ý: “Critical path” lệnh đường có thời gian trễ lớn số đường lệnh thực thi Tính thời gian trễ lớn lệnh “lw” kiến trúc MIPS cho biết “critical path” lệnh? Tính thời gian trễ lớn lệnh “beq” kiến trúc MIPS cho biết “critical path” lệnh? -oOo Đáp án: Xem slide 64, có bảng Slide 69,70,71,72 để biết đường lệnh, từ biết tín hiệu Control GV biện soạn: Nguyệt TTN – KTMT UIT RegWrite MemRead MemWrite ALUOp ALUSrc MemToReg Branch a 0 Add (Reg) (ALU) b 1 Add (Imm) (Mem) a Tất khối cần thiết, trừ khối “Data Memory” cộng dùng cho lệnh nhảy (nếu chi tiết liệt kê thêm “shift left 2”, “sign-extend” cổng logic AND) b Tất khối sử dụng, trừ cộng dùng cho lệnh nhảy (nếu chi tiết liệt kê thêm “shift left 2” cổng logic AND) Các khối có output, khơng sử dụng Các khối khơng có output a cộng dùng cho lệnh nhảy Data Memory b cộng dùng cho lệnh nhảy Không (Tất khối có output) a Độ trễ lớn nhất: 400 + 200 + 30 + 120 + 30 + 200 = 980ps Critical path: I-Mem, Regs, Mux, ALU, Mux, Regs Lưu ý: Đề yêu cầu tìm critical path cuả “add” theo hình 1: Critical path: I-Mem, Regs, Mux, ALU, Mux, Regs Nếu đề yêu cầu tìm critical path “add” theo hình 2: thêm Mux trước Regs Critical path: I-Mem, Mux, Regs, Mux, ALU, Mux, Regs Độ trễ lớn lúc bằng: 400 + 30 + 200 + 30 + 120 + 30 + 200 = 1010ps Đề yêu cầu tìm critical path cuả “add” theo hình 1: Critical path: I-Mem, Regs, Mux, ALU, Mux, Regs Nếu đề yêu cầu tìm critical path “add” theo hình 2:có hai tranh cãi: Nếu số ghi cần ghi, tức Write register khối Registers phải cung cấp giá trị giai đoạn giải mã: Thêm Control Mux trước Regs (Nếu control = thêm Mux trước Regs) Critical path: I-Mem, Control, Mux, Regs, Mux, ALU, Mux, Regs GV biện soạn: Nguyệt TTN – KTMT UIT Độ trễ lớn lúc bằng: 400 + 100+ 30 + 200 + 30 + 120 + 30 + 200 = 1110ps Nếu số ghi cần ghi, tức Write register khối Registers cần sẵn sàng giai đoạn ghi kết (thực tế tới số ghi ghi kết cần sử dụng) khơng cần thêm Mux trước Regs, tức giống datapath hình Sinh viên làm theo tính điểm b Độ trễ lớn nhất: 500 + 220 + 100 + 180 + 100 + 220 = 1320ps Critical path: I-Mem, Regs, Mux, ALU, Mux, Regs a Độ trễ lớn nhất: 400 + 200 + 30 + 120 + 350 + 30 + 200 = 1330ps Critical path: I-Mem, Regs, Mux, ALU, D-Mem, Mux, Regs b Độ trễ lớn nhất: 500 + 220 + 100 + 180 + 1000 + 100 + 220 = 2320ps Critical path: I-Mem, Regs, Mux, ALU, D-Mem, Mux, Regs a Độ trễ lớn nhất: 400 + 200 + 30 + 120 + 30 = 780ps Critical path: I-Mem, Regs, Mux, ALU, Mux b Độ trễ lớn nhất: 500 + 220 + 100 + 180 + 100 = 1100ps Critical path: I-Mem, Regs, Mux, ALU, Mux Giải thích: Lưu ý: câu 4, 5, chạy datapath theo hình 1; câu theo hình phải thêm Mux trước khối Registers: instruction memory, Mux, Registers, Mux, ALU, Mux Ví dụ câu 4: critical path lúc “I-Mem, Mux, Regs, Mux, ALU, Mux, Regs” GV biện soạn: Nguyệt TTN – KTMT UIT Nếu đề yêu cầu tìm critical path lệnh lw (trong câu 5) theo hình thay hình tương tự câu Còn lệnh lại, lệnh mà khơng thực thao tác ghi vào ghi (như beq câu 6), dù chạy với datapath hình khơng cần thêm Mux trước Regs -oOo Bài (4.2 – sách tham khảo) Giả sử tập lệnh có thêm hai lệnh sau: Lệnh Ý nghĩa a add3 rd, rs, rt, rx Reg[rd] = Reg[rs] + Reg[rt] + Reg[rx] b sll rd, rt, shift Reg[rd] = Reg[rt]