You are on page 1of 7

Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi.

Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

TRƯỜNG ĐH. CÔNG NGHỆ THÔNG TIN ĐỀ THI HỌC KỲ 1 (2015-2016)

ẬT MÁY TÍNH MÔN: KIẾN TRÚC MÁY TÍNH


Thời gian: 90 phút

HỌ VÀ TÊN SV: ............................................................. MSSV: ......................................STT:


Điểm: h ủa án oi thi:
Lưu : Phần trắc nghiệm sinh viên đánh vào “Bảng trả lời trắc nghiệm”
Phần tự luận sinh viên làm ài trên đề
(Nếu sinh viên làm bài trên đề bị lỗi, có thể sử dụng tờ giấy rời bấm vào đề để làm và phải được giám thị chấp thuận)

PHẦN 1. TRẮC NGHIỆM (5đ) – 14 câu

Bảng trả lời trắc nghiệm : chọn : bỏ chọn : chọn lại


a b c d a b c d a b c d
1. 6. 11.
2. 7. 12.
3. 8. 13.
4. 9. 14.
5. 10. 15.
Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên chỉ cần n p lại 4 trang đầu của đề

1. Cho biểu diễn số thực dấu chấm động, sử dụng chuẩn IEEE thi 754 độ chính xác kép (double precision) của một số trong
hệ thập lục phân là 409F 7E00 0000 0000, biểu diễn này tương ứng với giá trị nào? (0.5đ)
a. 2014.05 Sinh viên chỉ cần n pc. lại
b. 2015.5 4 trang đầu của đềd.thi
2013 cả 3 câu trên đều sai
2. Cho cấu trúc phần cứng thực hiện phép nhân hai số 32 bit như
hình bên. Dựa theo cấu trúc phần cứng này nhưng chỉ sử dụng
số 8 bit không dấu, phép nhân 0101 0000(2) × 0010 0011(2)
được thực hiện.
Cho biết giá trị của thanh ghi product (hay còn gọi product/
Multiplier) ở cuối lần lặp thứ 2 (Biết số lần lặp lần lượt từ 0, 1,
2, …) (0.5đ)

a. 0010 1000 0001 0001 b. 0011 1100 0000 1000 c. 0000 0110 d. 0000 0000 0010 0011
Dành cho câu 3 tới câu 6: Giả sử rằng mỗi lệnh cần 5 công đoạn thực hiện và thời gian thực hiện các công đoạn như sau:
IF ID EX MEM WB
250 ps 200 ps 230 ps 250 ps 150 ps
3. Chu kỳ xung clock cần cho processor đơn chu kỳ là bao nhiêu? (0.25đ)
a. 250 ps b. 1080 ps c. 750 ps d. 430 ps
4. Chu kỳ xung clock cần cho processor là bao nhiêu nếu processor thiết kế pipeline 5 tầng theo 5 công đoạn trên?(0.25đ)
a. 250 ps b. 1080 ps c. 750 ps d. 430 ps
5. Thời gian cần thiết để hoàn thành lệnh ‘add’ nếu thực thi trên processor đơn chu kỳ? (0.25đ)
a. 780 ps b. 1250 ps c. 250 ps d. 1080 ps
6. Thời gian cần thiết để hoàn thành lệnh ‘add’ nếu processor thiết kế pipeline 5 tầng dựa vào 5 công đoạn trên? (0.25đ)
a. 780 ps b. 630 ps c. 1250 ps d. 1080 ps

7. Cho PC = 0x00400000 tại lệnh j với mã máy tương ứng 0x08100006, hỏi lệnh j này sẽ nhảy đến lệnh có địa chỉ là bao
nhiêu? (0.5đ)
a. 0x00400018 b. 0x0140001C c. 0x10400008 d. 0x11400118

1/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

8. Từ chương trình được viết ở ngôn ngữ cấp cao, khi chuyển thành mã máy, tổng số mã máy của chương trình này phụ
thuộc vào yếu tố nào trong các yếu tố sau ? (0.25đ)
a. Quá trình hiện thực b. Trình biên dịch và c. Kiến trúc tập lệnh d. Không câu nào đúng
bộ xử lý Kiến trúc tập lệnh

9. Trong các lệnh sau của MIPS, lệnh nào trong sẽ không bao giờ cần thực hiện tăng PC lên 4 trong quá trình nạp lệnh
(Instruction fetch)? (0.25đ)
a. add b. lw c. sw d. j

10. Cho hai số 8 bits: A = 1100 0101(2) và B = 0101 1010(2). Phép toán A + B có kết quả lần lượt bao nhiêu nếu xét hai
trường hợp: A và B là hai số không dấu (Trường hợp 1) và A và B là hai số có dấu (Trường hợp 2)? (0.5đ)
a. Trường hợp 1: tràn; Trường hợp 2: tràn c. Trường hợp 1: 31; Trường hợp 2: 31
b. Trường hợp 1: 287; Trường hợp 2: 287 d. Trường hợp 1: tràn; Trường hợp 2: 31

11. Lệnh nào sau đây của MIPS không gây ra ngoại lệ (exception) khi phép toán bị tràn? (0.25đ)
a. add b. sub c. addi d. addu

12. Dùng 8 bit biểu diễn, tìm phát biểu đúng với giới hạn có thể biểu diễn theo bù 2 và quá 127 (excess-127)? (0.25đ)
a. Bù 2 là [-128, 128]; Quá 127 là [-127, 127] c. Bù 2 là [-128, 127]; Quá 127 là [0, 255]
b. Bù 2 là [-127, 127]; Quá 127 là [-128, 128] d. Bù 2 là [-128, 127]; Quá 127 là [-127, 128]

Dành cho câu 13 tới câu 14: Cho bảng sau, với datapath như hình 3:
I-Mem Add Mux ALU Regs D-Mem Sign-Extend Shift-left-2
500 ps 150 ps 100 ps 180 ps 220 ps 1000 ps 90 ps 20 ps
13. Độ trễ của các khối được cho như bảng trên, hãy cho biết critical path của lệnh ‘beq’ theo datapath hình 3? (0.5đ)
a. I-Mem, Sign-Extend, Shift-left-2, Add, Mux c. I-Mem, Regs, Mux, ALU, Mux
b. I-Mem, Mux, Regs, ALU, Mux, Regs d. I-Mem, Regs, Mux, ALU, Mux, Regs, Mux

14. Chu kỳ xung clock cần cho thiết kế datapath như hình 3 với 8 lệnh cơ bản (add, sub, or, and, slt, lw, sw và beq) là bao
nhiêu? (0.5đ)
a. 2420 ps b. 2000 ps c. 1100 ps d. 500 ps

PHẦN 2. TỰ LUẬN (5đ) – 3 câu

1. Cho hai số: A = 0.4375 (toán hạng thứ 1) và B = 0.75 (toán hạng thứ 2), sử dụng chuẩn IEEE 754 độ chính xác đơn
khi biểu diễn trong máy tính. Dựa vào hình 2, Hỏi các khối phần cứng theo sau có giá trị bằng bao nhiêu khi phép
cộng A+B thực hiện (1.5đ):
Tên khối Giá trị (Sinh viên điền vào c t này)
0x3EE00000
Toán hạng thứ 1 (0 01111101 11000000000000000000000)
(0 01111101 110…0)
21 số 0
0x3F400000
Toán hạng thứ 2 (0 01111110 10000000000000000000000)
(0 01111110 10…0)
22 số 0
MUX 1 Tín hiệu điều khiển của MUX1 1
MUX 2 Tín hiệu điều khiển của MUX 2 0
MUX 3 Tín hiệu điều khiển của MUX 3 1
Khối “Shift right” cần dịch phải mấy bits 1

Cách tính điểm: Tổng cộng 6 câu trả lời, mỗi câu đúng 0.25

2/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

2. Cho đoạn lệnh sau, với datapath như hình 3:


add $s0, $zero, $t1 # lệnh thứ 1
beq $t0, $t1, ABC # lệnh thứ 2
lw $t9, 12($s0) # lệnh thứ 3
ABC: sw $t0, 4($s1) # lệnh thứ 4
EFG: beq $s0, $s1, EFG # lệnh thứ 5

Biết khi bắt đầu chạy chương trình, thanh ghi PC = 0x400000; $t1 = 0x10010000; $t0 = 0x00000001; $t9 = 0x0000000f
word nhớ tại địa chỉ 0x1001000c đang có nội dung (hay giá trị) bằng 0x00001111.

a. Giá trị của tín hiệu điều khiển “MemToReg” sẽ bằng 1 tại lệnh nào khi chạy đoạn chương trình trên
Trả lời: lệnh thứ 3/ lw / hoặc chi tiết hơn là “lw $t9, 12($s0)” (0.5đ)
b. Khi bộ xử lý trên thực thi ở câu lệnh thứ 3, điền các giá trị (tín hiệu, input và output) cho từng khối vào bảng sau:
(1.5đ)
Giá trị (Sinh viên điền
Tên khối Ngõ
vào cột này)
Read address 0x400008
0x8E19000C
Instruction Giá trị (Sinh
(1000 1110 0001 1001
Memory Instruction[31-0] Các tín hiệu điều khiển viên điền vào
0000 0000 0000 1100)
cột này)

10000(2)
Read register 1 RegDst 0
(16)
11001(2)
Read register 2 Branch 0
(25)
Registers 11001(2)
Write register MemRead 1
(25)
Write data 0x00001111 MemtoReg 1
Read data 1 0x10010000 ALU thực hiện phép toán gì Add (+)
Read data 2 0x0000000F MemWrite 0
Input thứ nhất của ALU 0x10010000 ALUSrc 1
0x0000000C
Input thứ hai của ALU RegWrite 1
ALU (12)
ALU result 0x1001000C Input của khối Control 100011
Zero 0
Address 0x1001000C Có thể hoán
Data đổi vị trị được
Write data 0x0000000F
Memory
Read data 0x00001111
Giá trị mới của PC (cho
PC 0x0040000C
lệnh tiếp theo)
3/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

Cách tính điểm: Mỗi vị trí đúng tính 0.06 (sau đó làm tròn theo 0.25/0.5/0.75/1 theo số gần nhất)
Từ 1 2 câu: 0 đ
Từ 3 6 câu: 0.25 đ
Từ 7 10 câu: 0.5 đ
Từ 11 14 câu: 0.75 đ
Từ 15 18 câu: 1 đ
Từ 19 22 câu: 1.25 đ
Từ 2325 câu: 1.5 đ

3. Cho đoạn chương trình sau được thực thi trong kiến trúc pipeline 5 tầng:
lw $t3, 40($s4)
add $t2, $t3, $s0
sw $s1, 50($t2)
Sử dụng lệnh nop để giải quyết nếu có xung đột dữ liệu trong hai trường hợp sau:
a. Không dùng kỹ thuật nhìn trước (forwarding); và cho biết tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh trên là bao
nhiêu? (0.5đ)
b. Dùng kỹ thuật nhìn trước(forwarding); và cho biết tổng số chu kỳ cần thiết để hoàn thành đoạn lệnh trên là bao nhiêu?
(0.5đ)
Chú ý: Vẽ rõ ràng hình ảnh các chu kỳ pipeline khi đoạn lệnh trên thực thi (0.5đ)

Sinh viên làm bài câu 3 phần tự luận tại đây:

a. Không forwarding:
lw $t3, 40($s4)
nop
nop
add $t2, $t3, $s0
nop
nop
sw $s1, 50($t2)

Hình ảnh các chu kỳ pipeline khi đoạn lệnh thực thi:

Chu kỳ: 1 2 3 4 5 6 7 8 9 10 11
lw IF ID EX MEM WB
nop
nop
add IF ID EX MEM WB
nop
nop
sw IF ID EX MEM WB

Tổng số chu kỳ thực thi là 11 chu kỳ

b. Có forwarding:
lw $t3, 40($s4)
nop
add $t2, $t3, $s0
sw $s1, 50($t2)

Chu kỳ: 1 2 3 4 5 6 7 8
lw IF ID EX MEM WB
nop
add IF ID EX MEM WB
sw IF ID EX MEM WB

Tổng số chu kỳ thực thi là 8 chu kỳ

4/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

Cách tính điểm: Với mỗi câu a và b: Đúng điền nop, vẽ hình và đếm số chu kỳ: mỗi cái được 0.25đ. Tức mỗi câu a hoặc b
đúng được 0.75

Duyệt đề của Khoa/B môn Giảng viên ra đề

guy n inh S n Nhóm giảng viên phụ trách môn Kiến trúc Máy Tính

Toán hạng thứ 1 Toán hạng thứ 2

MUX 1 MUX 2 MUX 3

Hình 2

5/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

Hình 3.

6/6
Đề 001 (Tài liệu tham khảo xem trang thứ 5 và 6 của đề thi. Sinh viên có thể tháo trang 5 và 6 ra để tiện theo dõi nếu cần)

7/6

You might also like