Đề 001 (Tài liệu tham khảo xem trang thứ đề thi) TRƯỜNG ĐH CÔNG NGHỆ THÔNG TIN ẬT MÁY TÍNH ĐỀ THI HỌC KỲ (2014-2015) MƠN KIẾN TRÚC MÁY TÍNH Thời gian: 90 phút (khơng sử dụng tài liệu) PHẦN TỰ LUẬN (5 đ) – câu Một xử lý MIPS 32 bits (có datapath control hình 1) thực thi đoạn chương trình assembly sau: addi $t0, $t1, lw $s0, 4($t0) sw $t0, 4($t0) Biết bắt đầu ghi PC = 0x400000; $t1 = 0x10010000; $s0 = 0x00000001; word nhớ địa 0x1001000c có nội dung (hay giá trị) 0x0000ffff Khi xử lý thực thi câu lệnh thứ hai, điền giá trị (tín hiệu, input output) cho khối vào bảng sau: (2.5đ) Tên khối Instruction Memory Registers ALU Data Memory Control Ngõ Giá trị (Sinh viên điền vào cột này) Read address 0x400004 Instruction[31-0] 0x8d100004 Read register 01000(2) Read register 10000(2) Write register 10000(2) Write data 0x0000ffff Read data 0x10010008 Read data 0x00000001 Input thứ ALU 0x10010008 Input thứ hai ALU 4(10) ALU result 0x1001000c Zero Address 0x1001000c Write data 0x00000001 Read data 0x0000ffff Instruction [31-26] 100011(2) RegDst Branch MemRead MemtoReg ALUOp (Chỉ cần cho biết ALU thực + Có thể thay đổi thứ tự phép tốn gì) MemWrite ALUSrc RegWrite Cách chấm: Đề 001 (Tài liệu tham khảo xem trang thứ đề thi) Có tổng cộng 24 câu, sai câu -0.1 điểm Tức: số điểm = số câu * 0.1 + 0.1; sau làm tròn theo 0.25/0.5/0.75/1 theo số gần Ví dụ: SV làm câu số điểm = 7*0.1 + 0.1 = 0.8 làm tròn 0.75 điểm Cho cấu trúc phần cứng thực phép nhân hai số 32 bit hình Dựa theo cấu trúc phần cứng sử dụng cho số bit khơng dấu, trình bày bước thực phép nhân 3(10) × 4(10) (1đ) Hình Iteration Step Initial values 1: No operation 2: Shift left Multiplicand 3: Shift right Multiplier 1: No operation 2: Shift left Multiplicand 3: Shift right Multiplier 1: Prod = Prod + Mcand 2: Shift left Multiplicand 3: Shift right Multiplier 1: No operation 2: Shift left Multiplicand 3: Shift right Multiplier Multiplier 0100 0100 0100 0010 0010 0010 0001 0001 0001 0000 0000 0000 0000 Multiplicand 0000 0011 0000 0011 0000 0110 0000 0110 0000 0110 0000 1100 0000 1100 0000 1100 0001 1000 0001 1000 0001 1000 0011 0000 0011 0000 Product 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1100 0000 1100 0000 1100 0000 1100 0000 1100 0000 1100 Cách chấm: Sinh viên xem Multiplier Multiplicand chấm Nếu sinh viên sai kết cuối, tính từ xuống dưới, vòng lặp tính điểm nhiêu (mỗi vòng 0.25) Cho đoạn chương trình sau thực thi kiến trúc pipeline tầng: add $s1, $t0, $t1 lw $t2, 0($s1) addi $s2, $s1, Sử dụng lệnh nop để giải có xung đột liệu hai trường hợp sau: a Không dùng kỹ thuật “forwarding” Tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh sau giải xung đột bao nhiêu? (0.75đ) Đề 001 (Tài liệu tham khảo xem trang thứ đề thi) b Dùng kỹ thuật “forwarding” Tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh sau giải xung đột bao nhiêu? (0.75đ) Đáp án: a hông dùng “forwarding” add $s1, $t0, $t1 nop nop lw $t2, 0($s1) addi $s2, $s1, Tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh sau giải xung đột là: b Dùng “forwarding” add $s1, $t0, $t1 lw $t2, 0($s1) addi $s2, $s1, Tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh sau giải xung đột là: Cách chấm: Câu a b câu 0.75 đ Trong câu: điền nop 0.5đ, tính số chu kỳ 0.25đ Đề 001 (Tài liệu tham khảo xem trang thứ đề thi) Duyệt đề Khoa/Bộ môn gu n Giảng viên đề inh S n