KIỂM TRA GIỮA KỲ MƠN KIẾN TRÚC MÁY TÍNH Thời gian: 75 phút Sinh viên xem tài liệu Câu 1: (3đ) Cho đoạn chương trình thực cho hàm arraycmp ngôn ngữ C sau: int arraycmp(int a[], int b[], int len) { int i; for(i = 0; i < len; i++) { if(a[i] != b[i]) return 0; } return 1; } (2đ) Chuyển chương trình sang hợp ngữ mã máy MIPS, giả sử $a0 chứa địa mảng a, $a1 chứa địa mảng b, $a2 chứa tham số len, ghi $v0 chứa kết trả đoạn chương trình bắt đầu địa 0x0040000 b (1đ) Dựa theo đoạn chương trình hợp ngữ MIPS câu a, tính thời gian thực thi doạn chương trình len 10 Biết rằng: - Lệnh tính tốn số học thực thi clock cycles - Lệnh rẽ nhánh thực thi clock cycles - Lệnh load/store thực thi vòng clock cycles, - Máy tính MIPS chạy chương trình có tần số hoạt động 2,5GHz a Câu 2: (3đ) Cho đoạn chương trình hợp ngữ MIPS nội dung nhớ liệu sau: Address MIPS Assemply add $t0, $zero,$zero 0x0200 add $t1, $zero,$zero 0x0204 for_: slti $t3,$t0,$a2 0x0208 beq $t3, $zero, exit_ 0x020c add $t2, $t0, $a0 0x0210 lbu $t3, 0($t2) 0x0214 beq $t3, $zero, cont_ 0x0218 add $t2, $t1, $a1 0x021c sw $t3, 0($t2) 0x0220 addi $t1, $t1, 0x0224 cont_: addi $t0, $t0,1 0x0228 j for_ 0x022c exit_: addi $v0, $t1, $zero 0x0230 jr $ra 0x0234 CSE2012 CuuDuongThanCong.com Trang 1/2 https://fb.com/tailieudientucntt Address 0x0400000 0x0400004 0x0400008 0x040000c 0x0400010 0x0400014 0x0400018 0x040001c Data 0x12003404 0x23a0bc00 0x170400ab 0x23180500 0x00000000 0x00000000 0x00000000 0x00000000 a (1.5đ) Giả sử $a0 = 0x04000000, $a1 = 0x04000010, $a2 = 16 Hỏi $t1 = chương trình thực thi lệnh địa 0x022c nội dung ô nhớ địa từ 0x04000010 đến 0x040001f (vẽ lại ô nhớ chứa giá trị tương ứng) b (1.5đ) Hỏi nội dung ô nhớ địa từ 0x04000010 đến 0x040001f ghi $v0 chương trình thực thi lệnh địa 0x0234 Câu 3: (1đ) Một chương trình có lệnh, có 10000 lệnh chia số thực Chương trình thực thi máy tính cải tiến cho lệnh chia số thực, sau cải tiến, số chu kỳ để thực cho lệnh chia số thực giảm lần Tính speed up tổng thể cải tiến Câu 4: (3đ) Cho bảng thơng số chương trình P sau biên dịch trình biên dịch C: Nhóm lệnh số học/luận lý Nhóm lệnh rẻ nhánh/nhảy Nhóm lệnh thao tác nhớ CPI Số lệnh 35000 9000 15000 a (1.5đ) Máy tính X chạy chương trình P có tần số hoạt động 3.4GHz Tính thơng số MIPS máy tính X b (1.5đ)Máy tính Y có chung kiến trúc tập lệnh với máy tính X, có CPI cho nhóm lệnh thao tác nhớ Biết máy tính Y có thơng số MIPS 1200 Tính tần số hoạt động máy tính Y, speed up máy tính Y so với máy tính X chạy chương trình P CSE2012 CuuDuongThanCong.com Trang 2/2 https://fb.com/tailieudientucntt ... nhớ Biết máy tính Y có thơng số MIPS 120 0 Tính tần số hoạt động máy tính Y, speed up máy tính Y so với máy tính X chạy chương trình P CSE20 12 CuuDuongThanCong .com Trang 2/ 2 https://fb .com/ tailieudientucntt... Máy tính X chạy chương trình P có tần số hoạt động 3.4GHz Tính thơng số MIPS máy tính X b (1.5đ )Máy tính Y có chung kiến trúc tập lệnh với máy tính X, có CPI cho nhóm lệnh thao tác nhớ Biết máy. .. 0x 120 03404 0x23a0bc00 0x170400ab 0x23180500 0x00000000 0x00000000 0x00000000 0x00000000 a (1.5đ) Giả sử $a0 = 0x04000000, $a1 = 0x04000010, $a2 = 16 Hỏi $t1 = chương trình thực thi lệnh địa 0x 022 c