You are on page 1of 4

Đề thi KTMT –K49

Copyright © : Cương NT

Câu 1 .

Giả thiết máy tính đánh được bộ nhớ theo byte và lưu trữ theo kiểu đầu nhỏ
( little-endian) R1,R2,R3 thanh ghi 16 bit của CPU. Đoạn thanh ghi của chương
trình :

MOV R1,-545 ; R1-545

MOV R2,160 ; R2 160

ADD R3,R2,R1 ; R3<-R1+R2

STORE M ,R3 : cắt nội dung R3 vào 2 byte nhớ điạ chỉ M và M-1

Sau khi thực hiện đoạn chương trình trên ,hãy cho biết :

a) Nội dung thanh ghi R1,R2,R3 dưới dạng nhị phân , R3 đựoc xác định thông
qua phép + nhị phân

b) Nội dung byte nhớ có địa chỉ M và M+1 trong hệ 16 .

Câu 2 :

Máy tính 8 bít có R là thanh ghi 8 bít thực hiện các thao tác của các lệnh dưới
đây dưới dạng nhị phân , biết mỗi lệnh giá trị của thanh ghi R đều là 72(16) .Cho
biết nội dung của thanh ghi R dưới dạng hệ 16 và giá trị của các cờ ZF,SF,CF và
OF sau khi thực hiện từng lệnh trên:

a) ADD R,C6 : (R)<-(R)+C6

b) SUB R,9A : (R)<-(R) - 9A

c) AND R,8D : (R)<-(R) and 8D

d) XOR R,R : (R)<-(R) xor (R)

Câu 3 :

Giả thiết máy tính đánh địa chỉ cho bộ nhớ theo byte và lưu trữ theo kiểu

big-edian .Lệnh PUSH là cắt nội dung của thanh ghi 32 bít hay nội dung từ nhớ 32
bít vào ngăn xếp .Ngăn xếp có chiều ngược với chiều tăng dần của địa chỉ bộ nhớ
(đáy có địa chỉ lớn nhất ) .Cho nội dung 1 sô thanh ghi 32 bít của CPU dưới dạng
hệ 16 như sau :
R1 = 1234 ABCD ;R2=1A2B 3C4D ; SP=0000 2400 đang trỏ vào đáy ngăn xếp

Vẽ cấu trúc và chỉ ra nội dung của các byte nhớ trong ngăn xếp và nội dung
của thanh ghi SP dưới dạng hệ 16 sau khi thực hiện 2 lệnh sau :

PUSH R1

PUSH R2

Câu4 :

Vẽ sơ đồ thiết kế modul 64k x 8bit trên cơ sở chip nhớ SRAM 16k x 8 bit

Câu 5

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->S1023 . Địa chỉ bộ nhớ chính là 32
bít và đánh địa chỉ cho từng byte .

a) Tính số bít cho các trường địa chỉ khi truy cập cache

b) XĐ byte nhớ có địa chỉ 003D02 AF(16) đuợc ánh xạ vào Set nào của Cache

Bài giải

Bài 1:
a) -R1 = 545(10) = 0000 0010 0010 0001
Số bù 1 của –R1: 1111 1101 1101 1110
+1
Số bù 2 của –R1: 1111 1101 1101 11112 = R1

R2 = 16010 = 0000 0000 1010 0000(2)

R3 = R1 + R2
1111 1101 1101 1111
+0000 0000 1010 0000
1111 1110 0111 1111
R3 = 1111 1110 0111 1111(2)
b) 7F M-1
EF M
Bài 2:
ZF: zero flag; SF: sign flag; CF: carryout flag; OF: overflow flag
R = 72(10) = 0100 1000(2)
a) ADD R,C6
0100 1000
+ 1100 0110
1 0000 1110
ZF = 0; SF = 0; CF = 0; OF = 1
R = 0E(16)
b) SUB R,9A
9A(16) = 1001 1010(2)
Số bù một của 9A: 0110 0101
+1
Số bù hai của 9A: 0110 0110
0100 1000
+0110 0110
1010 1110
ZF = 0; SF = 1; CF = 0; OF = 0
R = AE(16)
c) AND R,8D
0100 1000
AND 1000 1101
0000 1000
ZF = 0; SF = 0; CF = 0; OF = 0
R = 08(16)
d) XOR R,R
0100 1000
XOR 0100 1000
0000 0000
ZF = 1; SF = 0; CF = 0; OF = 0
R=0
Bài 3:
- Stack lúc đầu:
Đáy 0000 2400
- PUSH R1
12 0000 23FC
34 0000 23FD
AB 0000 23FE
CD 0000 23FF
Đáy 0000 2400
SP = 0000 23FC(16)
- PUSH R2
1A 0000 23F8
2B 0000 23F9
3C 0000 23FA
4D 0000 23FB
12 0000 23FC
34 0000 23FD
AB 0000 23FE
CD 0000 23FF
Đáy 0000 2400
SP = 0000 23F8(16)
Bài 5:
a) N = 32
Cache có 128KB = 2^17 B
Có 1024 = 2^10 Set -> S = 10
Mỗi Set có 4 = 2^2 Line -> có 2^12 Line
Kích thước Line (hay Block) là: 2^17/2^12 = 2^5 -> W = 5
Số bit của trường Tag: T = N-(W+S) = 32-(5+10) = 17
b) 003D02AF(16) = 0000 0000 0011 1101 0000 0010 1010 1111(2)
Vậy byte nhớ được ánh xạ vào Set 21 của cache

You might also like