Tải bản đầy đủ (.pdf) (2 trang)

kiến trúc máy tính võ tần phương kt giữa kỳ 2 2012 sinhvienzone com

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (122.99 KB, 2 trang )

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 được xem tài liệu

Câu 1: (3đ)
Cho đoạn chương trình hiện thực cho hàm arraycmp ở ngôn ngữ C như 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 trên sang hợp ngữ và mã máy của MIPS, giả sử $a0 chứa
địa chỉ của mảng a, $a1 chứa địa chỉ mảng b, $a2 chứa tham số len, thanh ghi $v0
chứa kết quả trả về và đoạn chương trình con trên bắt đầu tại địa chỉ 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 con trên khi len bằng 10. Biết rằng:
- Lệnh tính toán số học thực thi trong 2 clock cycles.
- Lệnh rẽ nhánh thực thi trong 3 clock cycles.
- Lệnh load/store thực thi trong vòng 5 clock cycles,
- Máy tính MIPS chạy chương trình trên 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 và nội dung bộ nhớ dữ liệu như 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, 1
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
/>

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 khi $t1 = 8 và chương trình đang thực thi lệnh tại
địa chỉ 0x022c thì nội dung các ô nhớ địa chỉ từ 0x04000010 đến
0x040001f bằng bao nhiêu (vẽ lại các ô nhớ chứa giá trị tương
ứng).
b. (1.5đ) Hỏi nội dung của các ô nhớ địa chỉ từ
0x04000010 đến 0x040001f và thanh ghi $v0 bằng bao nhiêu
khi chương trình thực thi lệnh tại địa chỉ 0x0234.

Câu 3: (1đ)
Một chương trình có
lệnh, trong đó có 10000 lệnh chia số thực. Chương trình này được
thực thi trên máy tính được cải tiến cho lệnh chia số thực, sau khi cải tiến, số chu kỳ để thực
hiện cho lệnh chia số thực giảm đi 3 lần. Tính speed up tổng thể của cải tiến này.
Câu 4: (3đ)
Cho bảng thông số của một chương trình P sau khi được biên dịch bằng 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 bộ nhớ

CPI

2

3

5

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 của
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, nhưng có CPI cho nhóm lệnh
thao tác bộ nhớ là 4. Biết máy tính Y có thông số MIPS bằng 1200. Tính tần số hoạt động của
máy tính Y, speed up của máy tính Y so với máy tính X khi chạy chương trình P.

CSE2012
CuuDuongThanCong.com

Trang 2/2

/>


×