Bài tập Kiến trúc máy tính - Bài 2
Bài tập: Má y tí nh có CPU chạy với tần số xung nhịp (clock
rate) là 2GHz. Giả sử có một chương trì nh được thực hiện
trên đó có 120000 lệnh với cá c loại lệnh khá c nhau theo số
liệu như bảng dưới đây:
Kiểu lệnh
Số lệnh (IC)
15000
50000
47000
5000
Số chu kỳ trên 1 lệnh (CPI)
Logic
1
1
2
3
2
Số học số nguyên
Chuyển dữ liệu
Số học số dấu phẩy động
Rẽ nhánh, Nhảy
3000
Hã y xá c định:
1.1. CPI trung bì nh
1.2. MIPS (số triệu lệnh được thực hiện trên 1 giâ y)
1.3. Thời gian thực hiện chương trì nh đó.
Cho đoạn chương trình vòng lặp viết bằng hợp ngữ của MIPS sau đây:
addi $t1, $zero, 8
xor$s2, $s2, $s2
LOOP: addi $s2, $s2, 1
sll $s2, $s2, 1
addi $t1, $t1, -1
slt $t2, $zero, $t1
beq $t2, $zero, DONE
j LOOP
DONE:
1.Tính số lệnh được thực hiện khi bộ xử lý MIPS chạy chương trình trên.
2.Xác định giá trị thanh ghi $s2 sau khi thực hiện đoạn chương trình trên.
3.Tối ưu đoạn chương trình trên.
Cho biết kết quả hiện ở console khi thực hiện chương trì nh C
sau:
union U
{
float x;
int i;
};
int _tmain(int argc, _TCHAR* argv[])
{
U u;
u.x = 2015.125f;
printf("%x", u.i);
return 0;
}
Cho một máy tính có bus địa chỉ và bus dữ liệu có độ rộng
32-bit, lưu trữ theo kiểu đầu nhỏ. Máy tính sử dụng bộ nhớ
RAM gồm 4 băng nhớ thiết kế theo kiểu băng nhớ đan
xen. Hãy cho biết
1)Ngăn nhớ ở địa chỉ 0x1F562D6E nằm trên băng nhớ
nào?
2)Mảng A gồm 2 số nguyên 32-bit với
A[0]=0x000ABCD0, A[1] = 0xFECDBA01. Biết rằng
mảng A được lưu trữ tại địa chỉ 0x2000. Hãy chỉ rõ địa
chỉ, giá trị, băng nhớ của tất cả các ngăn nhớ chứa mảng
A. Lưu ý: viết tất cả các số nguyên ở hệ mười sáu
•Băng nhớ = 0x1F562D6E % 4 = E % 4 = 14 % 4 = 2
•Mảng A được lưu trữ như sau (0x2000 = 8192)
Băng 3
Băng 2
Băng 1
Băng 0
00 0x2003 0A 0x2002 BC 0x2001 D0 0x2000
FE 0x2007 CD 0x2006 BA 0x2005 01 0x2004
0x20B
0x20A
0x2009
0x2008
Giả thiết rằng máy tính có 128KB cache tổ chức theo kiểu
ánh xạ liên kết tập hợp 4-line. Cache có tất cả là 1024 Set
từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit và đánh địa
chỉ cho từng byte.
a) Tính số bit cho các trường địa chỉ khi truy nhập cache ?
b) Xác định byte nhớ có địa chỉ 003D02AF(16) được ánh xạ
vào Set nào của cache ?
IT3030
2 July 2020
6
Giả thiết rằng máy tính có 128KB cache tổ chức theo kiểu
ánh xạ liên kết tập hợp 4-line. Cache có tất cả là 1024 Set
từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit và đánh địa
chỉ cho từng byte.
a) Tính số bit cho các trường địa chỉ khi truy nhập cache ?
b) Xác định byte nhớ có địa chỉ 003D02AF(16) được ánh xạ
vào Set nào của cache ?
--------------------------------------------------------------------------
<Cache size> = <so set> * < so line/set> * < line size>
--> <line size> = 128KB / 1024 / 4 = 32 B
Do danh dia chi theo byte nen moi so bit dia chi can co de xac dinh byte nao
trong line la 5. (vi 32 = 25)
17 bit Tag
S S S S S S S S S S W W W W W
IT3030
2 July 2020
7
Bài tập: xác định tỷ lệ cache miss
Bộ nhớ chính 64 byte, bộ nhớ đệm 16 byte, kích thước line 4 byte, ánh
xạ trực tiếp, cache ban đầu không chứa thông tin
Thứ tự truy cập bộ nhớ:
0 4 8 12 16 12 16 60
0 miss
1 miss
2 miss
3 miss
00 Mem(0)
00 Mem(1)
00 Mem(2)
00 Mem(0)
00 Mem(0)
00 Mem(1)
00 Mem(0)
00 Mem(1)
00 Mem(2)
00 Mem(3)
miss
3 hit
4 hit
15 miss
4
01
4
00 Mem(0)
00 Mem(1)
00 Mem(2)
00 Mem(3)
01 Mem(4)
00 Mem(1)
00 Mem(2)
00 Mem(3)
01 Mem(4)
00 Mem(1)
00 Mem(2)
00 Mem(3)
01 Mem(4)
00 Mem(1)
00 Mem(2)
00 Mem(3)
11
15
8 requests, 6 misses
Cho đoạn chương trì nh MIPS nằm trong bộ
nhớ ở dải địa chỉ như sau
Address Instruction
80020000 ANDI $09, $0, 1
80020004 ANDI $0A, $0, 2
80020008 BNE $09, $0A, 0x2
8002000C NOP
a. Xét lệnh ở địa chỉ 80020008
• Có rẽ nhánh hay không?
• Giá trị 0x2 nghĩa là gì?
• Giá trị của PC sau khi
thực hiện lệnh này?
b. Xét lệnh ở địa chỉ 8002001C
• Có rẽ nhánh hay không?
• Giá trị 0xfff8 nghĩa là gì?
• Giá trị của PC sau khi
thực hiện lệnh này?
80020010 NOP
80020014 ANDI $09, $0, 0
80020018 ANDI $0A, $0, 0
8002001C BEQ $09, $0A, 0xfff8
80020020 NOP
Viết đoạn chương trì nh assembly cho MIPS
thực hiện cô ng việc tương đương hàm C sau
với hiệu năng tối đa
int MUL(int x)
{
return x * 17;
};
Bạn đang xem tài liệu "Bài tập Kiến trúc máy tính - Bài 2", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_tap_kien_truc_may_tinh_bai_2.pdf