Tải bản đầy đủ (.docx) (154 trang)

BÀI TẬp KIến TRÚC MÁy TÍNH HAUI ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

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 (1.44 MB, 154 trang )

Chương I: Tổng quan về kiến trúc máy tính
Bài 1.1:
Phân biỉt kiến trúc máy tính Von Neumann và Non Von Neumann.
-Giống: đều có 3 thành phần
-Khác:
+) Von Neumann: gồm thiết bị vào, ra và bo xử lý trung tâm
+) Phi Von Neumann: gồm thiết bị vào/ra, bo xử lí logic và đơn vị điều khiển
Bài 1.2:
-Gồm 5 thành phần: CPU: điều khiển hoạt đong của máy tính, xử lí dữ
liỉu Bo nhớ trong: lưu trữ chương trình và dữ liỉu
Hỉ thống vào ra: trao đổi thơng tin giữa máy tính với thế giới bên ngoài
Bus liên kết hỉ thống: vẠn chuyển thơng tin giữa các module máy tính với nhau
-Sơ đồ khối:

Bài 1.3: Trình bày chức năng, đẹc điểm của bus địa chỉ.
-Chức năng: vẠn chuyển địa chỉ để xác định ngăn nhớ hay cổng vào/ra
-Ðẹc điểm: đo rong của bus địa chỉ cho ta biết được số lượng ngăn nh ớ tối đa đ ược đánh đ ịa
chỉ
Bài 1.4: Cho biết ý nghĩa khi nói Bus địa chỉ có đo rong 24 bit.
-Có khả năng đánh địa chỉ cho 224 bytes nhớ (0.02gb)
Bài 1.5: Trình bày chức năng, đẹc điểm của bus dữ liỉu.
-Chức năng: vẠn chuyển lỉnh từ bo nhớ đến CPU, vẠn chuyển dữ liỉu giữa CPU, module
nhớ, module vào/ra với nhau
-Ðẹc điểm: đo rong bus dữ liỉu cho ta xác định được số bit dữ liỉu có thể được trao đổi
đồng thời
Bài 1.6: Cho biết ý nghĩa khi nói Bus dữ liỉu có đo rong 32 bit.
-Cho biết có thể trao đổi đồng thời 32bit
Bài 1.7: Trình bày chức năng, đẹc điểm của bus điều khiển.
-Chức năng: vẠn chuyển các tín hiỉu điều khiển
-Ðẹc điểm: gồm 3 tín hiỉu, tín hiỉu đọc/ghi, tín hiỉu điều khiển ngắt, tín hiỉu điều khiển
bus Bài 1.8: Trình bày hiểu biết của em về tín hiỉu điều khiển đọc/ghi bo nhớ.




Gồm 2 tín hiỉu:
-Memory read (memr): điều khiển đọc dữ liỉu từ mot
ngăn nhớ có địa chỉ xác định lên bus dữ liỉu
-Memory write (memw): điều khiển ghi dữ liỉu có săn
trên bus dữ liỉu đến mot ngăn nhớ có địa chỉ xác định
Bài 1.9: Trình bày hiểu biết của em về tín hiỉu điều khiển
đọc/ghi thiết bị vào/ra.
Gồm 2 tín hiỉu:
-I/O read (ior): điều khiển đọc dữ liỉu từ mot cổng vào-ra có địa
chỉ xác định lên bus dữ liỉu
-I/O write (iow): điều khiển ghi dữ liỉu có sắn trên bus
dữ liỉu ra mot cơng có địa chỉ xác định
Bài 1.10: Trình bày 3 tín hiỉu điều khiển ngắt cứng điển hình
(NMI, INTR, INTA).
-Non maskable interrupt(NMI): tín hiỉu ngắt khơng che được gửi
đến ngắt CPU
-Interrupt Request(INTR): tín hiỉu từ bo điều khiển vàora gửi đến yêu cầu ngắt CPU để trao đổi vào ra gửi đến
yêu cầu ngắt CPU để trao đổi vào ra. Tín hiỉu INTR có
thể bị che
-Interrupt acknowledge(INTA): tín hiỉu phát ra từ CPU
báo cho bo điều khiển vào-ra biết CPU chấp nhẠn
ngắt để trao dổi vào ra

Chương II: Kiến trúc tẠp lỉnh
Bài 2.2: Ðổi số 12035.125 về hỉ 2


-Phần nguyên 12035 = 2F03 h = 10111100000011 b

-Phần
thẠp
phân
0.125 =
0.2 h =
0.001 b
12035.1
25 =
101111
000000
11.001 b
Bài 2.3: Ðổi số 7899.8 về hỉ 2
-Phần nguyên 7899 = 1EDB h = 1111011011011 b
-Phần thẠp phân 0.8 = 0.11001100110011001101 b
7899.8 = 1111011011011.11001100110011001101 b
Bài 2.4: Ðổi số 10110010.11B về hỉ 10.
Ðổi số Q hỉ cơ số a về số P hỉ cơ
số 10: ta thực hiỉn theo công thức
sau. Q = mk-1 mk

m1m0.m-1m-n+k

P = ak-1 × mk-1 + ak-2 × mk-2 + … + a1 × m1 + m0 +
a-1 × m-1 + … + a-n+k × m-n+k (2.1) Ta có thể
thực hiỉn theo 2 cách:
Cách l: Ðổi số đã cho qua số hỉ l6, rồi đổi tiếp tù số hỉ l6 về hỉ
2
Ðổi số
101100
10.11B

về h ỉ


16, ta
có:
101100
10.11B =
101100
10.1100
B=
0B2.BH
Ðổi số 0B2.BH về hỉ 10 theo cơng thức (2.1), ta có:
11 * 161 + 2 * 160 + 11 * 16-1 = = 176 + 2 + 0.75 = 178.75
Cách 2: Ðổi số đã cho thẳng sang số hỉ lO (theo công thúc 2.l)


10110010.11B = 1*27 + 0*24 + 1*25 + 1*24 + 0*23+ 0*22 + 1*21
+ 2-1 + 2-2
= 128 + 32 + 16 + 2 + 0.5 + 0.25 =
178.75
Bài 2.5: éi s 1111011110110010.110001B v h 10.
1111011110110010.110001 = (1 ì 2ạ5) + (1 ì 2ạ4) + (1 ì 2ạ) +
(1 ì 2ạ) + (0 ì 2ạạ) + (1 ì
2ạ0) + (1 × 29) + (1 × 28) + (1 × 27) + (0 × 26) + (1 × 25) + (1 ×
24) + (0 × 2³) + (0 × 2²) + (1
ì 2ạ) + (0 ì 20) + (1 ì 2ạ) + (1 × 2–²) + (0 × 2–³) + (0 × 2–
4) + (0 × 2–5) + (1 × 2–6) =
63410.765625
Bài 2.6: Ðổi số nguyên thẠp phân sau ra số hex 16 bit:
234.


234 = 00EAH
Bài 2.7: Ðổi số nguyên thẠp phân sau ra số hex 16 bit:


7899.
7899/16 = 493 dư 11
493/16 = 30 dư 13
30/16 = 1 dư 14
1/16 = 0 dư 1
7
8
9


9
=
1
E
D
B
h
B
à
i
2
.
8
:
Ðổi số nguyên thẠp phân sau ra số hex 16 bit:

31634/16 = 1977 dư 2
1977/16 = 123 dư 9
129/16 = 7 dư 11
7/16 = 0 dư 7
31634 = 7B92
Bài 2.9: Ðổi số nguyên
thẠp phân sau ra số hex 16
bit:

31634.


-16. Số -16 là số bù 2 của
+16 và ngược lại, vẠy ta tìm
số bù 2 của +16.
+16 = 0000000000010000B
Số bù 1 (của +16) = 1111111111101111B
+

1

Số bù 2
(của
+16) =
111111
111111
0000B
VẠy -16
=
111111

111111
0000B =
FFF0H
Bài 2.11: Biểu diễn số -67 ở dạng nhị phân 16 bit
+67 = 0000000001000011 b
Số bù 1(+67) = 1111111110111100 b
Số bù 2(+67) = 1111111110111101 b
VẠy -67 = 1111111110111101 b


Bài 2.12: Ðổi -128 về dạng nhị phân.
Hâha lå` sbi7
Số bù 2 của -128 là +128 và ngược lại, vẠy ta có:
128
= 10000000B
(biểu diễn chỉ 8
bit) Số bù 1 (của
+128) =
01111111B
+

1

S ố bù 2 (c ủa + 1 2 8 ) = 1 0 00 0 0 0 0B
V Ạy -1 28 = 1 0 0 0 0 00 0 B = + 1 2 8 (sai)
Nguyên nhân:
1. Cách đẹt vấn đề là cho 128 =
10000000B (chỉ đúng cho số ngun
khơng dấu), với số ngun có dâu, thì ta
thấy MSB = 1, đây là số âm.

2. Số 128 là số ngun có dấu nên cần
biểu diễn đủ 16 bit vì 8 bit khơng đủ đề
biểu diễn (nằm ngồi giới hạn biểu
diễn dành cho số 8 bit).
Hâha lå` Ē÷ji7
Số -128 là số bù 2 của +128 và ngược lại, vẠy ta tìm số bù 2 của
+128.
+128 = 0000000010000000B
Số bù 1 (của +128) = 1111111101111111B
1
Số bù 2 (của +128) = 1111111110000000B
+


VẠy -128 = 1111111110000000B = 10000000B (biểu diễn 8 bit,
MSB = 1)
Bài 2.13: Biểu diễn -132 trong máy tính ở dạng số hexa
+132 = 0000000010000100 b
Số bù 1(+132) = 1111111101111011 b
Số bù 2(+132) = 1111111101111100 b
VẠy -132 = 1111111101111100 b = FF7C h
Bài 2.14: Ðổi -92 về dạng nhị phân.
+92 = 0000000001011100 b
Số bù 1(+92) = 1111111110100011 b
Số bù 2(+92) = 1111111110100100 b
VẠy -92 = 1111111110100100 b
Bài 2.15: Sau đây là tên và noi dung (dạng hex) của các thanh ghi
16 bit trong vi xử lý:
AX = 1234, BX = 900A, CX = FFFA, DX = 7FFF
Hãy tìm giá trị và dấu của giá trị trong chúng ở dạng hỉ 10.

a. V

i
A
X
=
1
2
3
4
H
= 0001001000110100B (MSB = 0 là số
dương)
= 212 + 29 + 25 + 24 + 22
= 4096 + 512 + 32 + 16 + 4 = 4660


b.

V

i
B
X
=
9
0
0
A
H

= 1001000000001010B
Gọi B là giá trị chứa trong BX, ta thấy MSB = 1, nên giá
trị B trong BX là số âm, ta xác định số bù 2 của B


B = 1001000000001010B
Số bù 1(B) = 0110111111110101B
1
Số bù 2(B) = 0110111111110110B = 6FF6H
= 6 * 163 + 15 * 162 + 15 * 16 + 6
= 28662 = |B|
+

VẠy giá t rị t ro n g A X = B = 2 86 6 2
c . V V ớ i C X = F FF A H h ỏ i giá
trị của CX bằng bao nhiêu? Biết CX là số
nguyên có dấu.
Cz = FFFA
h=
1111111
1111110
10 b (số
âm) C =
1111111
1111110
10 b
Bù 1 (C) = 0000000000000101 b
Bù 2 (C) = 0000000000000110 b = (1 x 22) + (1 x 21) = 6 = |C|
d. Với DX = 7FFFH
DX = 7FFF h = 0111111111111111 b (s dng)

D = 0111111111111111 b = (1 ì 2ạ4) + (1 ì 2ạ) + (1 ì 2ạ) + (0
ì 2ạạ) + (1 ì 2ạ0) + (1 ì 29)


+ (1 × 28) + (1 × 27) + (0 × 26) + (1 × 25) + (1 × 24) + (0 × 2³)
+ (0 × 2²) + (1 × 2ạ) + (0 ì
20) = 32767
Bi 2.16: Biu din s +1022,9 ở dạng số dấu chấm đong
trong máy tính theo chuẩn IEEE 32 bit.
Bước l. Ðổi số l022.9 về hỉ 2.
a. Ðổi phần nguyên hỉ 10 về hỉ 2 (sử dựng cách nhẩm
nhanh)
1022 = (1024 -1) – 1 = (210 -1) -1 = 1111111111B – 1
= 1111111110B
b.
Ðổi phần lẻ thẠp phân về phần lẻ nhị phân

VẠy 0.9 = 0.11110111011101110…B
(Từng cựm 4 bit bắt đầu từ cựm gạch chân đầu tiên, thể
hiỉn sự lẹp vơ hạn tuần hồn, số bit ta lấy là bao nhiêu
kể từ dấu chấm nhị phân phự thuoc vào đo chính xác
của giá trị cần lây.)
c. Ghép 2 phần
1022.9 = 1111111110.11100110011001100…B
Bước 2. Chuẩn hóa theo dịnh dạng số dấu chấm dong 32 bit.
1022.9 = 1111111110.11100110011001100…B
= (-1)0 x 1.11111111011100110011001B x 29
(Sau dấu chấm nhị phân lấy đủ 23 bit)
E – Bias = 9 ==> E = 9 + Bias = 9 + 127 = 128 + 8
7


E = 2 + 8 = 10000000B + 1000B = 10001000B
VẠy ta có :


S = 0.
E = 10001000B
M = 11111111011100110011001B
Bước 3. Ghép vào khuôn dạng.
1022.9 = 0100/0100/0111/1111/1011/1001/1001/1001B =
447FB999H
5555 0 5 (a) 0 5
555225 0 22 (a) 0 22
5522 0 8 (a) 0 8
5255 0 3(a) 0 3
5252 0 4(a) 0 4
5225 0 >(a) 0 >
5222 0 7(a) 0 7
2555 0 1(a) 0 1
2552 0 6(a) 0 6
1010 = A (h) = 10
1011 = B(h) = 11
11001 = CD(h) = 132
1110 = E (h) = 14
1111 = F(h) = 15
Bài2.17: Biểu diễn số -1012,8 ở dạng số dấu chấm
đong trong máy tính theo chuẩn IEEE 32 bit.
-1012.8 = 1111110100.11001100110011001101 b



X = (-1)S x 1.M x 2E-bias = (-1)1 x 1.
111111010011001100110011001101 x
29 S = 1
E – bias = 9
=> E = 127 +
9 = 136 =
10001000 b
M=
11111101001
10011001100
1b
X = 11000100011111101001100110011001 b = C47E9999 h
Bài2.18: Biểu diễn số +912,0625 ở dạng số dấu chấm
đong trong máy tính theo chuẩn IEEE 32 bit.
912.0625 = 1110010000.0001 b
X = (-1)S x 1.M x
2E-bias = (-1)0 x
1.1100100000001
x 29 S = 0
E – bias = 9
=> E = 127 +
9 = 136 =
10001000 b
M=
11001000000
01000000000
0b
X = 01000100011001000000010000000000 b = 44640400 h



Bài 2.19: Cho biết số dấu chấm đong có giá trị 447FB999H bằng
bao nhiêu ở hỉ 10.
Bước l. Ðổi số dã cho ra số nhị phân, xác dịnh các giá trị X,
E-Bias, M


447FB999H = 01000100011111111011100110011001B.
Theo
khu
ôn
dạ
ng
lưu
trữ,
ta
tác
h
đư
ợc:
S=
0.
E = 10001000B = 28 + 23 = 128 +8 = 136
E – Bias = 136 – 127 = 9
M = 11111111011100110011001B
Bước 2. Ðưa ra số nhị phân dấu chấm dong ở dạng
chuẩn hóa theo cơng thỦc 2.2. và chuyển về
số nhị phân dấu chấm tĩnh.
Ta có:
R = (-1)s x 1.M x 2E-Bias
= (-1)0 x 1.

11100110011001B
11111111011100110011001B
x 29
= 1111111110.
Bước 2. Chuyển giá trị nhị phân dấu chấm tĩnh
về hỉ l0.


a. Ðổi phần nguyên nhị
phân về phần
nguyên thẠp
phân.
1111111110B =
(210 – 1) – 1 =
1024 – 1 – 1 =
2=1022
(phương pháp nhẩm nhanh: 1111111111B =
210 - 1)
b.
Ðổi phần lẻ nhị phân về phần lẻ thẠp phân
0.11100110011001B = 0.1110011001100100B
= 0.E664H
= 14 * 16 + 6 * + 6 * -1+ 4 * 16-4
16-2 16-3
= 0.875 + 0.0234375 +
0.001465 + 0.0000610
= 0.8999634
Ghép 2
phần
nguyên

và phần
lẻ thẠp
phân
VẠy
447FB99
9H =
1022.
8999634
≈ 1022.9
Bài 2.20: Cho biết số dấu chấm động có giá trị 409CCCCCH
bằng bao nhiêu ở hỉ 10.


409CCCCC h =
01000000100111001
100110011001100 b
S=0
E=
10000001 =
129 => E –
bias = 129 –
127 = 2 M =
0011100110
0110011001
100 b
R = (-1)0 x 1.00111001100110011001100 x 22 =
100.111001100110011001100 b =
4.8999996185302734375
Bài 2.21: Cho biết số dấu chấm đong có giá
trị BF400000H bằng bao nhiêu ở hỉ 10.

BF400000 h =
10111111010000000000000000000000 h
S = 1 (số âm)
E = 01111110
= 126 => E –
bias = 126 –
127 = -1 M =
100000000000
00000000000
b
R = (-1)1 x 1.10000000000000000000000 x 2-1 = -0.11 = -0.75h


Bài 2.22: Giả sử chuỗi “S12.75” đang lưu trong bo nhớ
bắt đầu tại địa chỉ 0, cho biết noi dung của các byte
từ 0 đến 5 dưới dạng số hex.
Ô
n
h

0
:
5
3
h
=
0
1
0
1

0
0
1
1
b
Ô
n
h

1
:
3
1
h
=


0
0
1
1
0
0
0
1
b


Ô
n

h

2
:
3
2
h
=
0
0
1
1
0
0
1
0
b


Ô
n
h

3
:
2
E
h
=
0

0
1
0
1
1
1
0
b
Ô
n
h



4
:
3
7
h
=
0
0
1
1
0
1
1
1
b
Ô

n
h

5
:
3
5
h


=
0
0
1
1
0
1
0
1
b
Bài 2.23: Hãy dịch thơng điỉp đã mã hóa dưới dạng mã ASCII
(hỉ hex) sau đây:
41 74 74 61 63 6B 20 61 77 6E
Attack awn
Bài 2.24: Giả sử mot byte có mã ASCII của mot chữ hoa, hỏi
phải cong thêm mot số hex là
bao nhiêu để đổi nó thành chữ thường.
P
h


i
c
o
n
g
t
h
ê


m
m
o
t
s

h
e
x
l
à
2
0
V
í
d

4
1



×