Professional Documents
Culture Documents
CTMT Final-Exam Myresult
CTMT Final-Exam Myresult
Câu 1: Phát hiện các Hazard trong đoạn mã MIPS sau khi chạy trên bộ vi xử lý pipeline
5 stages:
• Phụ thuộc nào là Data Hazard cần giải quyết bằng Forwarding.
• Phụ thuộc nào là Data Hazard cần giải quyết bằng stall (bubble) và forwarding.
add $3, $4, $2
sub $5, $3, $1
lw $6, 200($3)
add $7, $3, $6
Câu 2: Xét đoạn mã MIPS sau khi chạy trên bộ xử lý ư34pipeline 5 stages:
sw $6, 0($7)
lw $8, 0($7)
add $9,c $8, $2
• Phát hiện các Hazard và cách giải quyết của bộ xử lý
• Compiler có thể thay đổi đoạn mã để tránh việc phải chèn thêm 1 bubble như thế
nào?
Câu 3: 1 cache Direct Mapped 16 one-word blocks. Cho tham chiếu bộ nhớ như bên
dưới, xác định tình trạng của cache:
Word address Memory Block address Hit or Miss Type
1 1 Miss-CS
134 134 Miss-CS
212 212 Miss-CS
1 1 Hit
135 135 Miss-CS
213 213 Miss-CS
162 162 Miss-CS
161 161 Miss-CS
2 2 Miss-CS
44 44 Miss-CS
41 41 Miss-CS
221 221 Miss-CS
• Direct Mapped:
AMAT = 1 + 15 * 0.2 = 4 cycles
• 2 way SA:
AMAT = 2 + 15 * 0.1 = 3.5 cycles
• Fully Associate:
AMAT = 3 + 15 * 0.05 = 3.75 cycles
Vậy Cache L1 theo kiểu 2 way SA là tốt nhất
Câu 6: Tính toán tổng số bit cần thiết để thực hiện đối với từng bộ nhớ cache có kích cỡ
16 word được thực hiện khác nhau sau đây (bộ nhớ định địa chỉ theo word sử dụng địa
chỉ 32 bit)
• Direct Mapped, block size: 1 word, write back
• Direct Mapped, block size: 4 word, write back
• 2 way Set Associative, block size: 1 word, write through
• Fully associate, block size: 1 word, write back, fetch on write miss
• Fully associate, block size: 1 word, write back, fetch on write miss:
• Số block trong cache: 16 block
• Fetch on write miss, không cần bit valid
• Số block trong bộ nhớ 232
• Write back, cần 1 bit dirty cho mỗi block
• Số bit data trong 1 block: 1word = 4 byte = 32 bit
• Số bit tag trong 1block: 232/1 = 232 nên cần 32 bit tag
Tổng số bit cần thực hiện: (1 + 32 + 32) x 16 = 1040 bits
Câu 7: 1 cache 2-way Set Associate 16 one-word blocks. Cho tham chiếu bộ nhớ như
bên dưới, xác định tình trạng cache:
Câu 8: Tính CPU excution time liên quan tới câu 7 (Bó tay vì không ai nhớ đề)
Áp dụng Miss Rate từ câu 7. Cho thời gian stall time tính theo chu kỳ của 3 level. Mỗi
level cho chu kỳ truy cập vào chúng ( đơn vị là cycles). Tính thời gian truy cập trung
bình của mỗi level.
Câu b là tính hiệu suất.
Câu 9: Tìm mã máy (nhị phân) cho 2 lệnh của MIPS: Shift Left Logical (sll) và lệnh nop.
Có nhận xét gì khi so sánh 2 lệnh này?
sll $10, $15, 20
nop
Mã máy:
• sll $10, $15, 20 : 000000 00000 01111 01010 10100 000000
• nop : 000000 00000 00000 00000 00000 000000
• nhận xét:lê ̣nh sll và lê ̣nh nop có cùng 6 bit opcode và 6 bit function 2 lê ̣nh đều có
khuôn dạng lê ̣nh R
• trong khi lê ̣nh sll thao tác với thanh ghi $15 rồi lưu lại trên thanh ghi $10 còn nop
thì đéo làm gì cả
Câu 10: Thiết kế datapath và control cho 2 lệnh sll và nop của bộ xử lý single cycle (Lưu
ý về giá trị của tín hiệu điều khiển cần thiết):