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ử 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 độ 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ỉ địa  
chỉ, giá trị, băng nhớ của tất ccá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ả 1024 Set  
từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit đá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ớ đị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ả 1024 Set  
từ S0 đến S1023. Địa chỉ bộ nhớ chính là 32-bit đá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ớ đị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  
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  
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;  
};  
pdf 10 trang Thùy Anh 26/04/2022 7120
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:

  • pdfbai_tap_kien_truc_may_tinh_bai_2.pdf