Giáo trình Kiến trúc máy tính - Ngô Như Khoa (Phần 1)

Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ch-¬ng I. Giíi thiÖu chung vÒ kiÕn tróc m¸y tÝnh.  
I. Kh¸i niÖm vÒ kiÕn tróc m¸y tÝnh  
KiÕn tróc m¸y tÝnh (Computer architecture) lµ mét kh¸i niÖm trõu t-îng cña  
mét hÖ thèng tÝnh to¸n d-íi quan ®iÓm cña ng-êi lËp tr×nh hoÆc ng-êi viÕt ch-¬ng  
tr×nh dÞch.  
Nãi c¸ch kh¸c, kiÕn tróc m¸y tÝnh ®-îc xem xÐt theo khÝa c¹nh mµ ng-êi lËp  
tr×nh cã thÓ can thiÖp vµo mäi møc ®Æc quyÒn, bao gåm c¸c thanh ghi, « nhí c¸c  
ng¾t ... cã thÓ ®-îc th©m nhËp th«ng qua c¸c lÖnh.  
II. LÞch sö ph¸t triÓn cña m¸y tÝnh.  
ChiÕc m¸y tÝnh ®iÖn tö ®Çu tiªn lµ ENIAC ®-îc ra ®êi n¨m 1946, ®-îc chÕ  
t¹o tõ nh÷ng ®Ìn ®iÖn tö, r¬le ®iÖn tö vµ c¸c chuyÓn m¹ch c¬ khÝ.  
LÞch sö ph¸t triÓn cña m¸y tÝnh ®iÖn tö cã thÓ chia lµm bèn thÕ hÖ nh- sau:  
- ThÕ hÖ 1: (1945-1955). M¸y tÝnh ®-îc x©y dùng trªn c¬ së ®Ìn ®iÖn tö mµ mçi  
®Ìn t-îng tr-ng cho 1 bit nhÞ ph©n. Do ®ã m¸y cã khèi l-îng rÊt lín, tèc ®é chËm  
vµ tiªu thô ®iÖn n¨ng lín. Nh- m¸y ENIAC cã khèi l-îng 30 tÊn, tiªu thô c«ng suÊt  
140KW.  
- ThÕ hÖ thø 2: (1955-1965). M¸y tÝnh ®-îc x©y dùng trªn c¬ së lµ c¸c ®Ìn b¸n  
dÉn (transistor), m¸y tÝnh ®Çu tiªn thÕ hÖ nµy cã tªnlµ TX-0 (transistorized  
experimental computer 0).  
- ThÕ hÖ thø ba: (1965-1980). M¸y tÝnh ®-îc x©y dùng trªn c¸c vi m¹ch cì nhá  
(SSI) vµ cì võa (MSI), ®iÓn h×nh lµ thÕ hÖ m¸y System/360 cña IBM. ThÕ hÖ m¸y  
tÝnh nµy cã nh÷ng b-íc ®ét ph¸ míi nh- sau:  
- TÝnh t-¬ng thÝch cao: C¸c m¸y tÝnh trong cïng mét hä cã kh¶ n¨ng ch¹y  
c¸c ch-¬ng tr×nh, phÇn mÒm cña nhau.  
- §Æc tÝnh ®a ch-¬ng tr×nh: T¹i mét thêi ®iÓm cã thÓ cã vµi ch-¬ng tr×nh n»m  
trong bé nhí vµ mét trong sè ®ã ®-îc cho ch¹y trong khi c¸c ch-¬ng tr×nh kh¸c  
chê hoµn thµnh c¸c thao t¸c vµo/ra.  
- Kh«ng gian ®Þa chØ rÊt lín.  
- ThÕ hÖ thø t-: (1980- ). M¸y tÝnh ®-îc x©y dùng trªn c¸c vi m¹ch cì lín (LSI)  
vµ cùc lín (VLSI).  
§©y lµ thÕ hÖ m¸y tÝnh sè ngµy nay, nhê c«ng nghÖ b¸n dÉn ph¸t triÓn v-ît  
bËc, mµ ng-êi ta cã thÓ chÕ t¹o c¸c m¹ch tæ hîp ë møc ®é cùc lín. Nhê ®ã m¸y  
tÝnh ngµy cµng nhá h¬n, nhÑ h¬n, m¹nh h¬n vµ gi¸ thµnh rÎ h¬n. M¸y tÝnh c¸ nh©n  
b¾t ®Çu xuÊt hiÖn vµ ph¸t triÓn trong thêi kú nµy.  
Dùa vµo kÝch th-íc vËt lý, hiÖu suÊt vµ lÜnh vùc sö dông, hiÖn nay ng-êi ta  
th-êng chia m¸y tÝnh sè thÕ hÖ thø t- thµnh 5 lo¹i chÝnh, c¸c lo¹i cã thÓ trïm lªn  
nhau mét phÇn:  
Photocopyable  
1
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
- Microcomputer: Cßn gäi lµ PC (personal computer), lµ nh÷ng m¸y tÝnh  
nhá, cã 1 chip vi xö lý vµ mét sè thiÕt bÞ ngo¹i vi. Th-êng dïng cho mét ng-êi, cã  
thÓ dïng ®éc lËp hoÆc dïng trong m¹ng m¸y tÝnh.  
- Minicomputer: Lµ nh÷ng m¸y tÝnh cì trung b×nh, kÝch th-íc th-êng lín  
h¬n PC. Nã cã thÓ thùc hiÖn ®-îc c¸c øng dôngmµ m¸y tÝnh cì lín thùc hiÖn. Nã  
cã kh¶ n¨ng hç trî hµng chôc ®Õn hµng tr¨m ng-êi lµm viÖc. Minicomputer ®-îc  
sö dông réng r·i trong c¸c øng dông thêi gian thùc, vÝ dô trong ®iÒu khiÓn hµng  
kh«ng, trong tù ®éng ho¸ s¶n xuÊt.  
- Supermini: Lµ nh÷ng m¸y Minicomputer cã tèc ®é xö lý nhanh nhÊt trong  
hä Mini ë nh÷ng thêi ®iÓm nhÊt ®Þnh. Supermini th-êng ®-îc dïng trong c¸c hÖ  
thèng ph©n chia thêi gian, vÝ dô c¸c m¸y qu¶n gia cña m¹ng.  
- Mainframe: Lµ nh÷ng m¸y tÝnh cì lín, cã kh¶ n¨ng hç trî cho hµng tr¨m  
®Õn hµng ngµn ng-êi sö dông. Th-êng ®-îc sö dông trong chÕ ®é c¸c c«ng viÖc s¾p  
xÕp theo l« lín (Large-Batch-Job) hoÆc xö lý c¸c giao dÞch (Transaction  
Processing), vÝ dô trong ng©n hµng.  
- Supercomputer: §©y lµ nh÷ng siªu m¸y tÝnh, ®-îc thiÕt kÕ ®Æc biÖt ®Ó ®¹t  
tèc ®é thùc hiÖn c¸c phÐp tÝnh dÊu phÈy ®éng cao nhÊt cã thÓ ®-îc. Chóng th-êng  
cã kiÕn tróc song song, chØ ho¹t ®éng hiÖu qu¶ cao trong mét sè lÜnh vùc.  
Dùa vµo kiÕn tróc cña m¸y tÝnh ng-êi ta còng ph©n m¸y tÝnh ra c¸c lo¹i kh¸c  
nhau nh- sau:  
- KiÕn tróc SISD (single instruction - single data, ®¬n dßng lÖnh - ®¬n dßng  
d÷ liÖu), s¬ ®å nh- h×nh 1-1.  
C¸c tÝn hiÖu ®iÒu khiÓn  
lÖnh  
Khèi ®iÒu khiÓn  
Khèi chÊp hµnh  
lÖnh  
d÷ liÖu  
HÖ thèng nhí  
H×nh 1-1: KiÕn tróc m¸y tÝnh SISD.  
- KiÕn tróc CIMD (Single Instruction Multiple Data, ®¬n dßng lÖnh- ®a d÷  
liÖu), s¬ ®å nh- h×nh 1-2.  
Photocopyable  
2
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
C¸c tÝn hiÖu ®iÒu khiÓn  
Khèi ®iÒu khiÓn  
lÖnh  
Khèi chÊp hµnh 1  
Khèi chÊp hµnh 2  
d÷ liÖu  
Khèi chÊp hµnh n  
HÖ thèng nhí  
H×nh 1-2: KiÕn tróc SIMD.  
- KiÕn tróc MIMD (Multiple Instruction Multiple Data, ®a dßng lÖnh- ®a d÷  
liÖu), s¬ ®å nh- h×nh 1-3.  
C¸c tÝn hiÖu ®iÒu khiÓn  
Khèi ®iÒu khiÓn 1  
lÖnh  
Khèi chÊp hµnh 1  
Khèi ®iÒu khiÓn n  
Khèi chÊp hµnh n  
d÷ liÖu  
lÖnh  
d÷ liÖu  
HÖ thèng nhí  
H×nh 1-3: KiÕn tróc MIMD.  
Photocopyable  
3
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ch-¬ng II. BiÓu diÔn th«ng tin trong m¸y tÝnh  
I. HÖ nhÞ ph©n (Binary)  
I.1. Kh¸i niÖm:  
HÖ nhÞ ph©n hay hÖ ®Õm c¬ sè 2 chØ cã hai con sè 0 vµ 1. §ã lµ hÖ ®Õm dùa  
theo vÞ trÝ. Gi¸ trÞ cña mét sè bÊt kú nµo ®ã tuú thuéc vµo vÞ trÝ cña nã. C¸c vÞ trÝ cã  
träng sè b»ng bËc luü thõa cña c¬ sè 2. ChÊm c¬ sè ®-îc gäi lµ chÊm nhÞ ph©n  
trong hÖ ®Õm c¬ sè 2. Mçi mét con sè nhÞ ph©n ®-îc gäi lµ mét bit (BInary digiT).  
Bit ngoµi cïng bªn tr¸i lµ bit cã träng sè lín nhÊt (MSB, Most Significant Bit) vµ  
bit ngoµi cïng bªn ph¶i lµ bit cã träng sè nhá nhÊt (LSB, Least Significant Bit) nh-  
d-íi ®©y:  
23 22 21 20 2-1 2-2  
MSB 1 0 1 0 . 1 1 LSB  
ChÊm nhÞ ph©n  
Sè nhÞ ph©n (1010.11)2 cã thÓ biÓu diÔn thµnh:  
(1010.11)2 = 1*23 + 0*22 + 1*21 + 0*20 + 1*2-1 + 1*2-2 = (10.75)10.  
Chó ý: dïng dÊu ngoÆc ®¬n vµ chØ sè d-íi ®Ó ký hiÖu c¬ sè cña hÖ ®Õm.  
I.2. BiÕn ®æi tõ nhÞ ph©n sang thËp ph©n  
VÝ dô : BiÕn ®æi sè nhÞ ph©n (11001)2 thµnh sè thËp ph©n:  
Träng sè vÞ trÝ: 24 23 22 21 20  
Gi¸ trÞ vÞ trÝ: 16 8 4 2 1  
Sè nhÞ ph©n:  
1 1 0 0 1  
Sè thËp ph©n: 1*24 + 1*23 + 0*22 + 0*21 + 1*20 = (25)10  
I.3. BiÕn ®æi thËp ph©n thµnh nhÞ ph©n  
§Ó thùc hiÖn viÖc ®æi tõ thËp ph©n sang nhÞ ph©n, ta ¸p dông ph-¬ng ph¸p chia lÆp  
nh- sau: lÊy sè thËp ph©n chia cho c¬ sè ®Ó thu ®-îc mét th-¬ng sè vµ sè d-. d-  
®-îc ghi l¹i ®Ó lµm mét thµnh tè cña sè nhÞ ph©n. Sau ®ã, sè th-¬ng l¹i ®-îc chia  
cho c¬ sè mét lÇn n÷a ®Ó cã th-¬ng sè thø 2 vµ sè d- thø 2. Sè d- thø hai lµ con sè  
nhÞ ph©n thø hai. Qu¸ tr×nh tiÕp diÔn cho ®Õn khi sè th-¬ng b»ng 0.  
VÝ dô 1: BiÕn ®æi sè thËp ph©n (29)10 thµnh nhÞ ph©n:  
29/2 = 14 + 1(LSB)  
14/2 = 7 + 0  
7/2 = 3 + 1  
3/2 = 1 + 1  
1/2 = 0 + 1(MSB)  
Photocopyable  
4
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
VËy (29)10 = (1101)2 .  
§èi víi phÇn lÎ cña c¸c sè thËp ph©n, sè lÎ ®-îc nh©n víi c¬ sè vµ sè nhí ®-îc ghi  
l¹i lµm mét sè nhÞ ph©n. Trong qu¸ tr×nh biÕn ®æi, sè nhí ®Çu chÝnh lµ bit MSB vµ  
sè nhí cuèi bit LSB.  
VÝ dô 2: BiÕn ®æi sè thËp ph©n (0.625)10 thµnh nhÞ ph©n:  
0.625*2 = 1.250. Sè nhí lµ 1, lµ bit MSB.  
0.250*2 = 0.500. Sè nhí lµ 0  
0.500*2 = 1.000. Sè nhí lµ 1, lµ bit LSB.  
VËy : (0.625)10 = (0.101)2.  
II. HÖ thËp lôc ph©n (Hexadecima).  
II.1. Kh¸i niÖm:  
C¸c hÖ m¸y tÝnh hiÖn ®¹i th-êng dïng mét hÖ ®Õm kh¸c lµ hÖ thËp lôc ph©n.  
HÖ thËp lôc ph©n lµ hÖ ®Õm dùa vµo vÞ trÝ víi c¬ sè lµ 16. HÖ nµy dïng c¸c con sè  
tõ 0 ®Õn 9 vµ c¸c ký tù tõ A ®Õn F nh- trong b¶ng sau:  
B¶ng 2.1 HÖ thËp lôc ph©n:  
ThËp lôc ph©n  
ThËp ph©n  
NhÞ ph©n  
0000  
0001  
0010  
0011  
0100  
0101  
0110  
0111  
1000  
1001  
1010  
1011  
1100  
1101  
1110  
1111  
0
1
2
3
4
5
6
7
8
0
1
2
3
4
5
6
7
8
9
9
A
B
C
D
E
F
10  
11  
12  
13  
14  
15  
II.2.BiÕn ®æi thËp lôc ph©n thµnh thËp ph©n.  
C¸c sè thËp lôc ph©n cã thÓ ®-îc biÕn ®æi thµnh thËp ph©n b»ng c¸ch tÝnh  
tæng cña c¸c con sè nh©n víi gi¸ trÞ vÞ trÝ cña nã.  
VÝ dô : BiÕn ®æi c¸c sè a.(5B)16.  
b. (2AF)16 thµnh thËp ph©n.  
a.  
Sè thËp lôc ph©n: 5 B  
Träng sè vÞ trÝ: 161 160  
Gi¸ trÞ vÞ trÝ :  
16 1  
Photocopyable  
5
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Sè thËp ph©n: 5*16 + B*1 = (91)10.  
b.  
Sè thËp lôc ph©n: 2 A F  
Träng sè vÞ trÝ: 162 161 160  
Gi¸ trÞ vÞ trÝ :  
256 16 1  
Sè thËp ph©n: 2*256 + A*16 + F*1 = (687)10.  
II.3.BiÕn ®æi thËp ph©n thµnh thËp lôc ph©n.  
§Ó biÕn ®æi c¸c sè thËp ph©n thµnh thËp lôc ph©n, ta sö dông ph-¬ng ph¸p  
chia lÆp, víi c¬ sè 16.  
VÝ dô : BiÕn ®æi (1776)10 thµnh thËp lôc ph©n.  
1776/16 = 111 + 0 (LSB).  
111/16 = 6 + 15 hoÆc F.  
6/16  
= 0 + 6 (MSB).  
Sè thËp lôc ph©n: (6F0)16.  
II.4. BiÕn ®æi thËp lôc ph©n thµnh nhÞ ph©n.  
C¸c sè thËp lôc ph©n rÊt dÔ ®æi thµnh nhÞ ph©n. Thùc ra c¸c sè thËp lôc ph©n  
còng chØ lµ mét c¸ch biÓu diÔn c¸c sè nhÞ ph©n thuËn lîi h¬n mµ th«i (b¶ng 2-1).  
§Ó ®æi c¸c sè thËp lôc ph©n thµnh nhÞ ph©n, chØ cÇn thay thÕ mét c¸ch ®¬n gi¶n  
tõng con sè thËp lôc ph©n b»ng bèn bit nhÞ ph©n t-¬ng ®-¬ng cña nã.  
VÝ dô: §æi sè thËp lôc (DF6)16 thµnh nhÞ ph©n:  
D
F
6
1101 1111 0110  
(DF6)16 = (110111110110)2.  
II.5. BiÕn ®æi nhÞ ph©n thµnh thËp lôc ph©n.  
§Ó biÕn ®æi mét sè nhÞ ph©n thµnh sè thËp lôc ph©n t-¬ng ®-¬ng th× chØ cÇn  
gép l¹i thµnh tõng nhãm gåm 4 bit nhÞ ph©n, b¾t ®Çu tõ dÊu chÊm nhÞ ph©n.  
VÝ dô: BiÕn ®æi sè nhÞ ph©n (1111101000010000)2 thµnh thËp lôc ph©n.  
1111 1010 0001 0000  
F
A
1
0 Sè thËp lôc ph©n: (FA10)16.  
III. HÖ BCD (Binary Code decimal).  
Gi÷a hÖ thËp ph©n vµ hÖ nhÞ ph©n cßn tån t¹i mét hÖ lai: hÖ BCD cho c¸c sè  
hÖ thËp ph©n m· ho¸ b»ng hÖ nhÞ ph©n, rÊt thÝch hîp cho c¸c thiÕt bÞ ®o cã thªm  
phÇn hiÓn thÞ sè ë ®Çu ra dïng c¸c lo¹i ®Ìn hiÖn sè kh¸c nhau. ë ®©y dïng bèn sè  
hÖ nhÞ ph©n (bèn bit) ®Ó m· ho¸ mét sè hÖ thËp ph©n cã gi¸ trÞ n»m trong kho¶ng tõ  
0..9. Nh- vËy ë ®©y ta kh«ng dïng hÕt c¸c tæ hîp cã thÓ cã cña 4 bit; v× tÇm quan  
träng cña c¸c sè BCD nªn c¸c bé vi xö lý th-êng cã c¸c lÖnh thao t¸c víi chóng.  
Photocopyable  
6
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
VÝ dô: (35)10 = (00110101)2.  
IV. B¶ng m· ASCII.(American Standard Code for Information Interchange).  
Ng-êi ta ®· x©y dùng bé m· ®Ó biÓu diÔn cho c¸c ký tù còng nh- c¸c con sè  
Vµ c¸c ký hiÖu ®Æc biÖt kh¸c. C¸c m· ®ã gäi bé m· ký tù vµ sè. B¶ng m·  
ASCII lµ m· 7 bit ®-îc dïng phæ biÕn trong c¸c hÖ m¸y tÝnh hiÖn nay. Víi m· 7  
bit nªn cã 27 = 128 tæ hîp m·. Mçi ký tù (ch÷ hoa vµ ch÷ th-êng) còng nh- c¸c con  
sè thËp ph©n tõ 0..9 vµ c¸c ký hiÖu ®Æc biÖt kh¸c ®Òu ®-îc biÓu diÔn b»ng mét m·  
nh- b¶ng 2-2.  
ViÖc biÕn ®æi thµnh ASCII vµ c¸c m· ký tù sè kh¸c, tèt nhÊt lµ sö dông m·  
t-¬ng ®-¬ng trong b¶ng.  
VÝ dô: §æi c¸c ký tù BILL thµnh m· ASCII:  
Ký tù  
B
I
L
L
ASCII 1000010 1001001 1001100 1001100  
HEXA  
42  
49  
4C  
4C  
B¶ng 2-2: M· ASCII.  
Column bits(B7B6B5)  
Bits(row)  
R B4 B3 B2 B1  
000  
0
001 010 011 100 101 110 111  
1
2
3
4
5
6
7
O
W
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
NUL  
SOH  
STX  
ETX  
EOT  
ENQ NAK  
ACK SYN  
BEL  
BS  
HT  
LF  
VT  
FF  
CR  
SO  
SI  
DLE  
DC1  
DC2  
DC3  
DC4  
SP  
!
0
1
2
3
4
5
6
7
8
9
:
@
A
B
C
D
E
F
G
H
I
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
p
q
r
s
t
u
v
w
x
y
z
{
|
}
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
#
$
%
&
(
)
*
+
-
ETB  
CAN  
EM  
SUB  
ESC  
FS  
GS  
RS  
US  
A 1  
B 1  
C 1  
D 1  
E 1  
F 1  
J
;
K
L
M
N
O
<
=
>
?
\
]
^
_
,
.
/
~
DEL  
Control characters:  
NUL = Null; DLE = Data link escape; SOH = Start Of Heading;  
DC1 = Device control 1;  
DC4 = Device control 4;  
EOT = End of transmission; ENQ = Enquiry;  
ACK = Acknowlege; SYN = Synidle;  
DC2 = Device control 2; DC3 = Device control 3.  
STX = Start of text;  
ETX = End of text;  
NAK = Negative acknowlege.  
BEL = Bell.  
ETB = End od transmission block; BS = Backspace; CAN = Cancel.  
Photocopyable  
7
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
HT = Horizontal tab; EM = End of medium; LF = Line feed; SUB = Substitute.  
VT = Vertical tab; ESC = Escape; FF = From feed; FS = File separator.  
SO = Shift out; RS = Record separator; SI = Shift in; US = Unit separator.  
V. BiÓu diÔn gi¸ trÞ sè trong m¸y tÝnh.  
V.I. BiÓu diÔn sè nguyªn.  
a. BiÓu diÔn sè nguyªn kh«ng dÊu:  
TÊt c¶ c¸c sè còng nh- c¸c m· ... trong m¸y vi tÝnh ®Òu ®-îc biÓu diÔn b»ng  
c¸c ch÷ sè nhÞ ph©n. §Ó biÓu diÔn c¸c sè nguyªn kh«ng dÊu, ng-êi ta dïng n bit.  
T-¬ng øng víi ®é dµi cña sè bit ®-îc sö dông, ta cã c¸c kho¶ng gi¸ trÞ x¸c ®Þnh  
nh- sau:  
Sè bit  
n bit:  
8 bit  
Kho¶ng gi¸ trÞ  
0.. 2n - 1  
0.. 255 Byte  
0.. 65535 Word  
16 bit  
b. BiÓu diÔn sè nguyªn cã dÊu:  
Ng-êi ta sö dông bit cao nhÊt biÓu diÔn dÊu; bit dÊu cã gi¸ trÞ 0 t-¬ng øng  
víi sè nguyªn d-¬ng, bit dÊu cã gi¸ trÞ 1 biÓu diÔn sè ©m. Nh- vËy kho¶ng gi¸ trÞ  
®-îc biÓu diÔn sÏ ®-îc tÝnh nh- sau:  
Sè bit  
n bit  
8 bit  
Kho¶ng gi¸ trÞ:  
2n-1-1  
-128.. 127 Short integer  
16 bit  
32 bit  
-32768.. 32767 Integer  
-231.. 231-1 (-2147483648.. 2147483647) Long integer  
V.2. BiÓu diÔn sè thùc(sè cã dÊu chÊm (phÈy) ®éng).  
Cã hai c¸ch biÓu diÔn sè thùc trong mét hÖ nhÞ ph©n: sè cã dÊu chÊm cè ®Þnh  
(fÜed point number) vµ sè cã dÊu chÊm ®éng (floating point number). C¸ch thø nhÊt  
®-îc dïng trong nh÷ng bé VXL(micro processor) hay nh÷ng bé vi ®iÒu khiÓn  
(micro controller) cò. C¸ch thø 2 hay ®-îc dïng hiÖn nay cã ®é chÝnh x¸c cao. §èi  
víi c¸ch biÓu diÔn sè thùc dÊu chÊm ®éng cã kh¶ n¨ng hiÖu chØnh theo gi¸ trÞ cña  
sè thùc. C¸ch biÓu diÔn chung cho mäi hÖ ®Õm nh- sau:  
R = m.Be.  
Trong ®ã m lµ phÇn ®Þnh trÞ, trong hÖ thËp ph©n gi¸ trÞ tuyÖt ®èi cña nã ph¶i lu«n  
nhá h¬n 1. Sè e lµ phÇn mò vµ B lµ c¬ sè cña hÖ ®Õm.  
Cã hai chuÈn ®Þnh d¹ng dÊu chÊm ®éng quan träng lµ: chuÈn MSBIN cña  
Microsoft vµ chuÈn IEEE. C¶ hai chuÈn nµy ®Òu dïng hÖ ®Õm nhÞ ph©n.  
Th-êng dïng lµ theo tiªu chuÈn biÓu diÔn sè thùc cña IEEE 754-  
1985(Institute of Electric & Electronic Engineers), lµ chuÈn ®-îc mäi h·ng chÊp  
nhËn vµ ®-îc dïng trong bé xö lý to¸n häc cña Intel. Bit dÊu n»m t¹i vÞ trÝ cao nhÊt;  
kÝch th-íc phÇn mò vµ khu«n d¹ng phÇn ®Þnh trÞ thay ®æi theo tõng lo¹i sè thùc.  
Gi¸ trÞ sè thùc IEEE ®-îc tÝnh nh- sau:  
R = (-1)S*(1+M1*2-1 + ... +Mn*2-n)*2E 7...E 0 -127  
.
Photocopyable  
8
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Chó ý: gi¸ trÞ ®Çu tiªn M0 lu«n mÆc ®Þnh lµ 1.  
- Dïng 32 bit ®Ó biÓu diÔn sè thùc, ®-îc sè thùc ng¾n: -3,4.1038 < R < 3,4.1038  
31 30  
E7 - E0  
23 22  
|§Þnh trÞ (M1 - M23)  
0
0
S
- Dïng 64 bit ®Ó biÓu diÔn sè thùc, ®-îc sè thùc dµi: -1,7.10308 < R < 1,7.10308  
63 62  
S
52 51  
§Þnh trÞ (M1 - M52)  
E10 - E0  
VÝ dô tÝnh sè thùc:  
0100 0010 1000 1100 1110 1001 1111 1100  
PhÇn ®Þnh trÞ: 2-4+2-5+2-8+2-9+2-10+2-12+2-15+  
+2-16+2-17+2-18+2-19+2-20+2-21 = 0,1008906.  
Gi¸ trÞ ngÇm ®Þnh lµ: 1,1008906.  
PhÇn mò: 28+22+20 =133  
Gi¸ trÞ thùc (bit cao nhÊt lµ bit dÊu): 133-128=6.  
DÊu: 0 = sè d-¬ng  
Gi¸ trÞ sè thùc lµ: R = 1,1008906.26 = 70,457.  
Ph-¬ng ph¸p ®æi sè thùc sang sè dÊu phÈy ®éng 32 bit:  
- §æi sè thËp ph©n thµnh sè nhÞ ph©n.  
- BiÓu diÔn sè nhÞ ph©n d-íi d¹ng 1, xxxBy (B: c¬ sè 2).  
- Bit cao nhÊt 31: lÊy gi¸ trÞ 0 víi sè d-¬ng, 1 víi sè ©m.  
- PhÇn mò y ®æi sang m· excess -127 cña y, ®-îc x¸c ®Þnh b»ng c¸ch: y + (7F)16.  
- PhÇn xxx lµ phÇn ®Þnh trÞ, ®-îc ®-a vµo tõ bit 22..0.  
VÝ dô: BiÓu diÔn sè thùc (9,75)10 d-íi d¹ng dÊu phÈy ®éng.  
Ta ®æi sang d¹ng nhÞ ph©n: (9,75)10 = (1001.11)2 = 1,00111B3.  
Bit dÊu: bit 31 = 0.  
M· excess - 127 cña 3 lµ: 7F + 3 = (82)16 = 82H = (10000010)2. §-îc ®-a vµo c¸c  
bit tiÕp theo: tõ bit 30 ®Õn bit 23.  
Bit 22 lu«n mÆc ®Þnh lµ 0.  
Cuèi cïng sè thùc (9,75)10 ®-îc biÓu diÔn d-íi- d¹ng dÊu phÈy ®éng 32 bit nh-  
sau:  
0100 0001 0001 1100 0000 0000 0000 0000  
Photocopyable  
9
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
bit |31|30  
23|22  
0|  
Ch-¬ng III. C¸c khèi c¬ b¶n cña m¸y tÝnh  
I. Giíi thiÖu s¬ l-îc cÊu tróc cña m¸y vi tÝnh.  
So víi tõ khi ra ®êi, cÊu tróc c¬ së cña c¸c m¸y vi tÝnh ngµy nay kh«ng thay  
®æi mÊy. Mäi m¸y tÝnh sè ®Òu cã thÓ coi nh- ®-îc h×nh thµnh tõ s¸u phÇn chÝnh  
(nh- h×nh 3-1):  
H×nh 3-1: Giíi thiÖu s¬ ®å khèi tæng qu¸t cña m¸y tÝnh sè  
Data Bus  
Control Bus  
ThiÕt bÞ vµo  
(Input Unit)  
Bé xö lý  
trung t©m  
(CPU)  
Bé nhí trong  
(Memory)  
ROM-RAM  
Bé nhí ngoµi  
(Mass store  
Unit)  
Phèi ghÐp  
vµo/ra  
(I/O)  
ThiÕt bÞ ra  
(Output Unit)  
Adrress Bus  
Trong s¬ ®å nµy, c¸c khèi chøc n¨ng chÝnh cña m¸y tÝnh sè gåm:  
- Khèi xö lý trung t©m (central processing unit, CPU),  
- Bé nhí trong (memory), nh- RAM, ROM  
- Bé nhí ngoµi, nh- c¸c lo¹i æ ®Üa, b¨ng tõ  
- Khèi phèi ghÐp víi c¸c thiÕt bÞ ngo¹i vi (vµo/ra)  
- C¸c bé phËn ®Çu vµo, nh- bµn phÝm, chuét, m¸y quÐt ... .  
- C¸c bé phËn ®Çu ra, nh- mµn h×nh, m¸y in ... .  
Bèn khèi chøc n¨ng ®Çu liªn hÖ víi nhau th«ng qua tËp c¸c ®-êng d©y ®Ó  
truyÒn tÝn hiÖu, gäi chung lµ bus hÖ thèng. Bus hÖ thèng bao gåm 3 bus thµnh phÇn;  
øng víi c¸c tÝn hiÖu x¸c lËp ®Þa chØ tõ CPU ®Õn c¸c ®¬n vÞ thµnh phÇn ta cã bus ®Þa  
chØ; víi c¸c d÷ liÖu ®-îc liªn hÖ gi÷a c¸c khèi qua bus d÷ liÖu (data bus); c¸c tÝn  
hiÖu ®iÒu khiÓn bao gåm c¸c lÖnh, c¸c ®¸p øng, c¸c tr¹ng th¸i cña c¸c khèi ®-îc  
x¸c lËp qua bus ®iÒu khiÓn.  
Photocopyable  
10  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Sù kh¸c biÖt quan träng nhÊt cña c¸c hÖ m¸y tÝnh lµ kÝch th-íc vµ tèc ®é, c¸c  
m¸y tÝnh nhá h¬n vµ nhanh, m¹nh h¬n theo tõng n¨m. Sù ph¸t triÓn kh«ng ngõng  
cña c¸c thÕ hÖ m¸y tÝnh nhê vµo hai yÕu tè quan träng, ®ã lµ sù ph¸t triÓn cña c«ng  
nghÖ chÕ t¹o IC vµ c«ng nghÖ chÕ t¹o bé nhí.  
II. Bé nhí trong.  
II.1. C¬ së vÒ bé nhí.  
C¸c bé nhí cã thÓ chia lµm hai lo¹i tæng qu¸t, ROM vµ RAM. ROM lµ  
Read-only Memory(bé nhí chØ ®äc) vµ RAM lµ Random-access Memory (bé nhí  
truy xuÊt ngÉu nhiªn). Nãi chung ROM chøa c¸c d÷ liÖu mét c¸ch cè ®Þnh vµ  
kh«ng thÓ thay ®æi. Cßn RAM cã thÓ ®äc ra vµ cã thÓ ghi vµo.  
Kh¸i niÖm truy xuÊt ngÉu nhiªn cã nghÜa lµ bÊt kú mét vÞ trÝ nhí nµo còng cã  
thÓ ®-îc më ra hoÆc ®-îc gäi ra ë bÊt kú lóc nµo, c¸c th«ng tin kh«ng cÇn ph¶i ®äc  
ra hay ghi vµo mét c¸ch tuÇn tù. VÒ thùc chÊt, c¶ RAM vµ ROM ®Òu lµ truy xuÊt  
ngÉu nhiªn. ChØ cã ®iÒu kh¸c nhau c¬ b¶n lµ ROM chØ cho phÐp ®äc mµ kh«ng thÓ  
ghi vµo nã, cßn RAM lµ bé nhí cã thÓ ®äc vµ ghi, v× thÕ RAM ®-îc gäi lµ “bé nhí  
®äc/ghi”.  
CÊu tróc bé nhí  
H×nh 2-2 tr×nh bµy s¬ ®å khèi cña mét m¹ch nhí. M¹ch nhí ®-îc nèi víi c¸c  
bé phËn kh¸c trong m¸y tÝnh th«ng qua c¸c ®-êng ®©y ®Þa chØ vµ c¸c ®-êng d©y d÷  
liÖu cña nã. KiÓm so¸t m¹ch nhí b»ng ®-êng d©y cho phÐp (enable), riªng ®èi víi  
RAM cßn cã thªm ®-êng d©y kiÓm so¸t ®äc/ghi (Read/write).  
C¸c m¹ch nhí nãi chung ®-îc tæ chøc d-íi d¹ng ma trËn, gåm nh÷ng hµng  
vµ nh÷ng cét ®Ó x¸c ®Þnh vÞ trÝ hay ®Þa chØ nhí. Mçi « trong ma trËn gäi lµ mét  
phÇn tö (cell) hay vÞ trÝ nhí (memory location). VÞ trÝ hay phÇn tö nhí ®-îc dß t×m  
b»ng c¸ch chän ®Þa chØ nhê m¹ch gi¶i m· ®Þa chØ. M¹ch nµy gåm hai phÇn: m¹ch  
chän ®Þa chØ hµng RAS (row-address selector) vµ m¹ch chän ®Þa chØ cét CAS  
(Column-address selector). C¸c ®-êng d©y ®Þa chØ sÏ chän ®Þa chØ hµng vµ cét.  
§-êng d©y enable dïng ®Ó më c¸c m¹ch ®iÖn lèi ra bé nhí theo ba tr¹ng th¸i. Cßn  
®-êng d©y Read/write quyÕt ®Þnh d¹ng thao t¸c sÏ thùc hiÖn.  
Bé nhí hoÆc lµ cã tæ chøc bit hoÆc lµ lo¹i cã tæ chøc lêi (word organized). Bé  
nhí tæ chøc bit cã thÓ l-u gi÷ mét bit ®¬n trong mçi vÞ trÝ ®Þa chØ. Bé nhí tæ chøc  
lêi sÏ ®-îc lùa chän c¶ mét nhãm phÇn tö nhí cïng mét lóc víi mçi vÞ trÝ ®Þa chØ.  
Mçi nhèm phÇn tö nhí th-êng lµ mét byte (8 bit), hoÆc mét lêi (16 bit).  
®-êng d©y ®Þa chØ cña m¹ch nhí sÏ quyÕt ®Þnh sè vÞ trÝ nhí cùc ®¹i tÝnh  
theo c«ng thøc sau:  
Sè vÞ trÝ nhí cùc ®¹i = 2N.  
trong ®ã, N lµ sè l-îng c¸c ®-êng ®Þa chØ.  
Photocopyable  
11  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Addres  
lines  
(m)  
Data  
lines  
(n)  
Memory  
device  
Read/write  
Device(chip)  
enable  
enable  
(RAM only)  
a. M¹ch nhí c¬ b¶n (basic memory device)  
Column address  
selector(CAS)  
Memory  
address  
lines  
from  
system  
Read/write enable  
Data  
Row  
address  
selector  
(RAS)  
Data  
Memory  
matrix  
lines  
Buffers  
Device enable  
b. S¬ ®å khèi (Block diagram)  
H×nh 2-2 M¹ch nhí.  
II.2. ROM-BIOS.  
BÊt cø hÖ m¸y tÝnh nµo còng cã mét vi m¹ch ROM. vi m¹ch nµy chøa  
ch-¬ng tr×nh cña hÖ ®iÒu hµnh vµo ra c¬ së BIOS (basic input/output system).  
Nh÷ng ch-¬ng tr×nh nµy cÇn thiÕt ®Ó khëi ®éng m¸y vµ cµi ®Æt chÕ ®é lµm viÖc c¬  
së cho c¸c thiÕt bÞ ngo¹i vi.  
Nãi chung, cã thÓ chia ROM thµnh bèn lo¹i. ROM mÆt n¹ (maskable  
ROM) lµ lo¹i ROM do nhµ s¶n xuÊt ®· n¹p s½n d÷ liÖu, khi ®ã d÷ liÖu kh«ng thÓ  
thay ®æi ®-îc n÷a. ROM cã thÓ n¹p ch-¬ng tr×nh (PROM - programable ROM)  
Photocopyable  
12  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
lµ lo¹i m¹ch mµ ng-êi dïng cã thÓ n¹p d÷ liÖu vµo th«ng qua thiÕt bÞ ®ètPROM.  
Khi ®· n¹p th× c¸c d÷ liÖu trong PROM còng kh«ng thÓ thay ®æi. PROM cã thÓ  
xo¸, cßn gäi lµ EPROM (erasable PROM) lµ lo¹i ROM mµ ng-êi dïng cã thÓ n¹p  
d÷ liÖu vµo vµ c¸c d÷ liÖu ®ã cã thÓ xo¸ hoÆc thay ®æi b»ng mét thiÕt bÞ ®Æc biÖt.  
EPROM cã thÓ xo¸ b»ng ®iÖn (electric EPROM) lµ lo¹i ROM cã thÓ n¹p vµ xo¸ d÷  
liÖu b»ng ®iÖn ®-îc mµ kh«ng ph¶i sö dông tia cùc tms nh- víi EPROM.  
Trong c¸c m¸y tÝnh hiÖn ®¹i, ng-êi ta th-êng sö dông Flash BIOS dïng  
EEPROM. Nh- vËy néi dung BIOS cña m¸y tÝnh cã thÓ ®-îc thay ®æi ®Ó t-¬ng  
thÝch víi nh÷ng më réng vµ n©ng cÊp hÖ thèng, mµ ®iÒu nµy lµ kh«ng thÓ thùc hiÖn  
®èi víi nh÷ng m¸y tÝnh thÕ hÖ cò sö dông BIOS dïng PROM hoÆc EPROM.  
BIOS gåm nhiÒu ch-¬ng tr×nh vµ hµm. PhÇn ®Çu cña ch-¬ng tr×nh BIOS  
kiÓm tra hÖ thèng m¸y tÝnh, qu¸ tr×nh nµy gäi lµ POST. NÕu hÖ thèng sö dông c¸c  
Card (thÎ c¾m) Plug and Play th× giai ®o¹n nµy chÝnh lµ lóc m¸y tÝnh truy nhËp  
tham sè cña thÎ. BIOS nµo còng cã ch-¬ng tr×nh “Setup BIOS” ®Ó ng-êi dïng tù  
chØnh tham sè c¸c thiÕt bÞ ngo¹i vi.  
II.3. RAM.  
Cã thÓ chia RAM thµnh hai ho¹i, RAM tÜnh (SRAM), cã kh¶ n¨ng l-u gi÷ sè  
liÖu m·i m·i nÕu nh- kh«ng mÊt nguån nu«i. Vµ RAM ®éng (DRAM), lµ lo¹i  
RAM ph¶i ®-îc “lµm t-¬i” (refresh) tøc lµ ph¶i n¹p l¹i d÷ liÖu ®ang ®-îc l-u tr÷  
theo tõng chu kú. “Lµm t-¬i” b»ng c¸ch thùc hiÖn thao t¸c ®äc hoÆc ghi nh¾c l¹i.  
Còng cã thÓ “lµm t-¬i” b»ng nh÷ng thao t¸c ®Æc biÖt kh¸c. Lo¹i DRAM cã mËt ®é  
phÇn tö nhí cao nªn gi¸ thµnh kh¸ rÎ so víi SRAM. C¸c m¹ch nhí DRAM ®-îc  
dïng phæ biÕn trong c¸c thÕ hÖ m¸y tÝnh hiÖn nay.  
§Ó tiÕt kiÖm sè ®-êng ®Þa chØ vµ gi¶m sè ch©n trªn IC, hÇu hÕt c¸c lo¹i  
DRAM ®Òu dïng ph-¬ng ph¸p ®Þa chØ multiplex. Trong qu¸ tr×nh ®äc hay ghi c¸c  
®-êng ®Þa chØ ®Çu tiªn chøa c¸c th«ng tin vÒ hµng råi tiÕp sau mang th«ng tin vÒ  
cét. §Ó kiÓm so¸t thao t¸c nµy, ng-êi ta dïng ®-êng d©y RAS CAS nh- trªn  
h×nh 2-3. Khi RAS thÊp th× th«ng tin trªn c¸c ®-êng ®Þa chØ sÏ ®-îc më th«ng qua  
m¹ch chèt ®Þa chØ hµng (row-address latch). Khi CAS thÊp th× th«ng tin trªn c¸c  
®-êng ®Þa chØ sÏ ®-îc më th«ng qua m¹ch chèt ®Þa chØ cét (column-address latch).  
ViÖc “lµm t-¬i” b»ng d÷ liÖu ®äc, d÷ liÖu ghi hoÆc b»ng c¸c thao t¸c riªng.  
M¹ch ®iÒu khiÓn lµm t-¬i ph¶i chän tuÇn tù tõng hµng c¸c phÇn tö nhí, cø mçi  
hµng mét lÇn, cho ®Õn khi tÊt c¶ c¸c hµng ®Òu ®-îc “lµm t-¬i”. §ã lµ ph-¬ng ph¸p  
lµm t-¬i tõng ®ît. Trong qu¸ tr×nh ®ã kh«ng ®-îc ®äc hay ghi d÷ liÖu vµo bé nhí  
cho ®Õn khi kÕt thóc qu¸ tr×nh. Mét c¸ch kh¸c lµ “lµm t-¬i” tõng hµng trong c¸c  
chu kú rêi r¹c vµ gäi lµ lµm t-¬i theo chu kú ®¬n.  
Row  
A0 to A6  
Column  
A7 to A13  
Address lines  
Row address  
valid  
RAS  
Photocopyable  
13  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Column address  
valid  
CAS  
CS  
Chip selected  
Address latching timing  
RAS  
A0/A7  
A1/A8  
A2/A9  
A3/A10  
A4/A11  
A5/A12  
A6/A13  
1
Row  
address  
Latch  
Row  
decorder  
DRAM  
memory  
array  
128x128  
128  
CS  
WR  
Din  
1
128  
Buffers sense  
amps and refresh  
Dout  
A7  
1
128  
Column  
address  
latch  
Column  
Decorder  
A13  
CAS  
H×nh 2-3. S¬ ®å khèi DRAM 16.384 bits(16Kb).  
III. Bé xö lý trung t©m CPU.  
Bé xö lý trung t©m CPU lµ cèt lâi cña mét m¸y vi tÝnh. CPU thùc hiÖn mäi  
tÝnh to¸n vµ xö lý cña hÖ thèng -- ngo¹i trõ xö lý t¨ng c-êng tÝnh to¸n ®Æc biÖt  
trong nh÷ng hÖ thèng cã mét chip ®¬n vÞ ®ång xö lý to¸n, mµ chip nµy còng ®·  
®-îc tÝch hîp ngay trong c¸c CPU hiÖn nay. TÊt c¶ nh÷ng m¸y tÝnh IBM vµ t-¬ng  
thÝch IBM sö dông nh÷ng bé xö lý hä Intel hoÆc t-¬ng thÝch víi bé xö lý hä Intel,  
dï chÝnh nh÷ng bé xö lý cã thÓ ®· ®-îc nhiÒu c«ng ty kh¸c nhau thiÕt kÕ vµ s¶n  
xuÊt, gåm AMD, IBM, Cyric... .  
Mét trong nh÷ng bé xö lý ®iÓn h×nh thuéc hä 80x86 cña Intel lµ bé xö lý  
8088. §©y lµ bé vi xö lý kh¸ ®¬n gi¶n vµ v× vËy viÖc t×m hiÓu nã lµ t-¬ng ®èi dÔ ®èi  
víi nh÷ng ng-êi b¾t ®Çu th©m nhËp vµo lÜnh vùc vi xö lý, mÆt kh¸c viÖc n¾m v÷ng  
Photocopyable  
14  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
c¸c vÊn ®Ò kü thuËt cña bé vi xö lý 8088 sÏ lµ c¬ së ®Ó n¾m b¾t ®-îc c¸c kü thuËt  
cña c¸c bé xö lý kh¸c trong hä 80x86 cña Intel, cña c¸c hä kh¸c vµ cña c¸c bé xö  
lý hiÖn ®¹i ngµy nay.  
III.1. Giíi thiÖu cÊu tróc bªn trong cña bé vi xö lý 8088.  
Trªn h×nh 3-1 lµ s¬ ®å khèi cÊu tróc bªn trong cña bé vi xö lý 8088.  
Photocopyable  
15  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
III.3. §¬n vÞ giao diÖn bus (BIU).  
Theo s¬ ®å khèi trªn h×nh 3-1 ta thÊy bªn trong CPU 8088 cã hai khèi chÝnh:  
khèi phèi ghÐp bus (bus interface unit, BIU) vµ khèi thùc hiÖn lÖnh (execution unit,  
EU). ViÖc chia CPU thµnh hai phÇn ®ång thêi cã liªn hÖ víi nhau qua ®Öm lÖnh  
lµm t¨ng ®¸ng kÓ tèc ®é xö lý cña CPU. C¸c bus bªn trong CPU cã nhiÖm vô  
chuyÓn t¶i tÝn hiÖu cña c¸c khèi kh¸c. Trong sè c¸c bus cã bus d÷ liÖu 16 bit cña  
ALU, bus c¸c tÝn hiÖu ®iÒu khiÓn ë EU vµ bus trong cña hÖ thèng ë BIU. Tr-íc khi  
®i ra bus ngoµi hoÆc ®i vµo bus trong cña bé vi xö lý, c¸c tÝn hiÖu truyÒn trªn bus  
th-êng ®-îc cho ®i qua c¸c bé ®Öm ®Ó n©ng cao tÝnh t-¬ng thÝch cho nèi ghÐp hoÆc  
n©ng cao kh¶ n¨ng phèi ghÐp.  
BIU bao gåm c¸c thanh ghi ®o¹n (segment registers: CS, DS, SS, ES), con trá  
lÖnh IP (instruction pointer) vµ bé ®iÒu khiÓn logic bus (bus control logic, BCL).  
§¬n vÞ giao diÖn BIU cßn cã bé nhí ®Öm cho m· lÖnh. Bé nhí nµy cã chiÒu dµi 4  
byte (trong 8088) vµ 6 byte (trong 8086). Bé nhí ®Öm m· lÖnh ®-îc nèi víi khèi  
®iÒu khÓn CB (control block) cña ®¬n vÞ thùc hiÖn lÖnh EU. Bé nhí nµy l-u tr÷ t¹m  
thêi m· lÖnh trong mét d·y gäi lµ hµng ®îi lÖnh. Hµng ®îi lÖnh cho phÐp bé vi xö  
lý cã kh¶ n¨ng xö lý xen kÏ liªn tôc dßng m· lÖnh (pipelining). Ho¹t ®éng cña bé  
CPU ®-îc chia lµm ba giai ®o¹n: ®äc m· lÖnh (operation code fetching), gi¶i m·  
lÖnh (decording) vµ thùc hiÖn lÖnh (execution).  
BIU ®-a ra ®Þa chØ, ®äc m· lÖnh tõ bé nhí, ®äc/ghi d÷ liÖu tõ c¸c cæng vµo  
hoÆc bé nhí. Nãi c¸ch kh¸c BIU chÞu tr¸ch nhiÖm ®-a ®Þa chØ ra bus vµ trao ®æi d÷  
liÖu víi bus.  
III.3. §¬n vÞ thùc hiÖn lÖnh (EU).  
Trong EU cã khèi ®iÒu khiÓn (control unit, CU). ChÝnh t¹i bªn trong khèi  
®iÒu khiÓn nµy cã m¹ch gi¶i m· lÖnh. M· lÖnh ®äc vµo tõ bé nhí ®-îc ®-a ®Õn ®Çu  
vµo cña bé gi¶i m·, c¸c th«ng tin thu ®-îc tõ ®Çu ra cña nã sÏ ®-îc ®-a ®Õn m¹ch  
t¹o xung ®iÒu khiÓn, kÕt qu¶ thu ®-îc lµ c¸c d·y xung kh¸c nhau tuú theo m· lÖnh,  
®Ó ®iÒu khiÓn ho¹t ®éng cña c¸c bé phËn bªn trong vµ bªn ngoµi CPU.  
Trong EU cã khèi sè häc vµ l«gic (arithmatic and logic unit, ALU) chuyªn  
thùc hiÖn c¸c phÐp tÝnh sè häc vµ logic m· to¸n tö cña nã n»m trong c¸c thanh ghi  
®a n¨ng. KÕt qu¶ th-êng ®-îc ®Æt vÒ thanh ghi AX.  
Photocopyable  
16  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ngoµi ra trong EU cßn cã c¸c thanh ghi ®a n¨ng (registers: AX, BX, CX,  
DX, SP, BP, SI, DI), thanh ghi cê FR (flag register) mµ c«ng dông cña chóng sÏ  
®ùoc ®Ò cËp ®Õn trong phÇn sau.  
Tãm l¹i, khi CPU ho¹t ®éng EU sÏ cung cÊp th«ng tin vÒ ®Þa chØ cho BIU ®Ó  
khèi nµy ®äc lÖnh vµ d÷ liÖu, cßn b¶n th©n nã th× gi¶i m· vµ thùc hiÖn lÖnh.  
III.4. C¸c thanh ghi.  
C¸c thanh ghi ®a n¨ng (general registers) Cã nhiÖm vô ghi tham sè cho  
m· lÖnh, ®©y còng lµ n¬i lÖnh tr¶ kÕt qu¶ vÒ sau khi ®-îc thùc hiÖn. Nh÷ng thanh  
ghi ®a n¨ng cña vi xö lý 16 bit lµ:  
- AX (accumulator) réng 16 bit, ®-îc chia lµm hai phÇn: 1 byte cao AH vµ 1 byte  
thÊp AL. §©y lµ thanh ghi quan träng nhÊt vµ chuyªn ®-îc dïng ®Ó chøa kÕt qu¶  
c¸c thao t¸c lÖnh. C¶ ba c¸ch viÕt AX, AH, AL ®Òu cã thÓ sö dông nh- n÷ng thanh  
ghi riªng biÖt.  
- BX (base) thanh ghi c¬ së, réng 16 bit, còng ®-îc chia ra lµm BH vµ BL. §©y lµ  
thanh ghi th-êng dïng chøa ®Þa chØ c¬ së cña mét b¶ng dïng trong lÖnh XLAT, C¶  
ba c¸ch viÕt BX, BH, BL ®Òu cã thÓ sö dông nh- nh÷ng thanh ghi riªng biÖt.  
- CX (count) bé ®Õm, réng 16 bit. §-îc chia ra lµm CH vµ CL. Thanh ghi CX ®-îc  
ïng ®Ó chø sè lÇn lÆp trong tr-êng hîp c¸c lÖnh LOOP. Thanh ghi thÊp CL ®-îc  
dïng ®Ó chøa (nhí) sè lÇn quay hoÆc dÞch cña c¸c lÖnh quay (rotate) vµ dÞch (shift).  
- DX (data) thanh ghi d÷ liÖu, réng 16 bit. Thanh ghi nµy cïng thanh ghi AX tham  
gia vµo c¸c thao t¸c cña phÕp nh©n hoÆc chia c¸c sè 16 bit. DX cßn dïng ®Ó chøa  
®Þa chØ 16 bit cña c¸c cæng cøng (dµi h¬n 8 bit) trong c¸c lÖnh truy nhËp c¸c cæng  
ngo¹i vi (I/O port).  
C¸c thanh ghi ®o¹n (segment registers) dïng ®Ó ghi ®Þa chØ mét ®o¹n bé  
nhí. Vi m¹ch 8088/8086 cã 20 ®-êng d©y trªn bus ®Þa chØ. Do c¸c thanh ghi con  
trá cµ thanh ghi chØ sè chØ réng 16 bit nªn kh«ng thÓ ®Þnh ®Þa chØ cho toµn bé nhí  
vËt lý cña m¸y tÝnh lµ (220 = 1.048.576 = 1Mbyte). V× vËy trong chÕ ®é thùc (real  
mode) bé nhí ®-îc chia lµm nhiÒu ®o¹n ®Ó mét thanh ghi con trá 16 bit cã thÓ  
qu¶n lý ®-îc. C¸c thanh ghi ®o¹n 16 bit sÏ chØ ra ®Þa chØ ®Çu cña 4 ®o¹n trong bé  
nhí, dung l-îng lín nhÊt cña mçi ®o¹n nhí sÏ dµi 216 = 64 Kbyte vµ t¹i mét thêi  
®iÓm nhÊt ®Þnh bé vi xö lý chØ lµm viÖc ®-îc víi 4 ®o¹n nhí 64Kbyte nµy. ViÖc  
thay ®æi gi¸ trÞ cña c¸c thanh ghi ®o¹n lµm cho c¸c ®o¹n cã thÓ dÞch chuyÓn linh  
ho¹t trong kh«ng gian 1 Mbyte, v× vËy c¸c ®o¹n cã thÓ n»m c¸ch nhau khi th«ng tin  
cÇn l-u trong chóng ®ßi hái dung l-îng ®ñ 64 Kbyte hoÆc còng cã thÓ n¾m trïm  
nhau do cã nh÷ng ®o¹n kh«ng dïng hÕt ®é dµi 64 Kbyte vµ v× thÕ c¸c ®o¹n kh¸c cã  
thÓ b¾t ®Çu nèi tiÕp ngay sau ®ã. §Þa chØ cña « nhí nÇm ë ®Çu ®o¹n ®-îc ghi trong  
mét thanh ghi ®o¹n 16 bit, ®Þa chØ nµy gäi lµ ®Þa chØ c¬ së. M-êi s¸u bit nµy t-¬ng  
øng víi c¸c ®-êng d©y ®Þa chØ tõ A4 ®Õn A20. Nh- vËy gi¸ trÞ vËt lý cña ®Þa chØ  
®o¹n lµ gi¸ trÞ trong thanh ghi ®o¹n dÞch sang tr¸i 4 vÞ trÝ. §iÒu nµy t-¬ng ®-¬ng  
víi phÐp nh©n víi 24 = 16. §Þa chØ cña c¸c « nhí kh¸c n»m trong ®o¹n tÝnh ®-îc  
b»ng c¸ch céng thªm vµo ®Þa chØ c¬ së mét gi¸ trÞ gäi lµ ®Þa chØ lÖch hay ®é lÖch  
Photocopyable  
17  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
(offset), gäi nh- thÕ v× nã øng víi kho¶ng lÖch cña to¹ ®é mét « nhí cô thÓ nµo ®ã  
so víi « ®Çu ®o¹n. §é lÖch nµy ®-îc x¸c ®Þnh bëi c¸c thanh ghi 16 bit kh¸c ®ãng  
vai trß thanh ghi lÖch (offset register). Nguyªn t¾c nµy dÉn ®Õn c«ng thøc tÝnh ®Þa  
chØ vËt lý (physical address) tõ ®Þa chØ ®o¹n (segment) trong thanh ghi ®o¹n vµ ®Þa  
chØ lÖch (offset) trong thanh ghi con trá nh- sau:  
§Þa chØ vËt lý = Thanh ghi ®o¹n x 16 + Thanh ghi lÖch  
ViÖc dïng hai thanh ghi ®Ó nhí th«ng tin vÒ ®Þa chØ thùc chÊt t¹o ra mét lo¹i  
®Þa chØ gäi lµ ®Þa chØ logic vµ ®-îc ký hiÖu nh- sau:  
Thanh ghi ®o¹n : Thanh ghi lÖch hay segment:offset.  
§Þa chØ kiÓu segment : offset lµ logic v× nã tån t¹i d-íi d¹ng gi¸ trÞ cña c¸c  
thanh ghi cô thÓ bªn trong CPU vµ khi cÇn thiÕt truy nhËp « nhí nµo ®ã th× nã ph¶i  
®æi ra ®Þa chØ vËt lý ®Ó råi ®-a lªn bus ®Þa chØ. ViÖc chuyÓn ®æi nµy do mét bé t¹o  
®Þa chØ thùc hiÖn (phÇn tö trªn h×nh 3-1).  
Vi xö lý 16 bit cã 4 thanh ghi ®o¹n nh- sau:  
- CS (code segment) lµ thanh ghi ®o¹n m· 16 bit. thanh ghi nµy phèi hîp víi con  
trá lÖnh IP ®Ó ghi ®Þa chØ m· lÖnh trong bé nhí. §Þa chØ ®Çy ®ñ lµ CS:IP.  
- DS (data segment) lµ thanh ghi ®o¹n 16 bit cho mét ®o¹n d÷ liÖu. Thanh ghi nµy  
phèi hîp víi hai thanh ghi chØ sè SI vµ DI ®Ó ®¸nh ®Þa chØ cho d÷ liÖu. §Þa chØ ®Çy  
®ñ cho d÷ liÖu cÇn ®äc vµo lµ DS:SI, cho d÷ liÖu cÇn ghi ra lµ DS:DI.  
- SS (stack segment) lµ thanh ghi ®o¹n 16 bit cho mét ng¨n xÕp. §Þa chØ ®Ønh cña  
ng¨n xÕp ®-îc biÓu diÔn cïng víi con trá ng¨n xÕp SP lµ SS:SP.  
- ES (extra segment) lµ thanh ghi d÷ liÖu phô cã chiÒu dµi 16 bit. Th-êng ®uîc  
dïng ®Ó ®¸nh ®Þa chØ mét chuçi. ES:DI lµ ®Þa chØ chuçi cÇn viÕt ®Õn (chuçi ®Ých) vµ  
DS:SI lµ ®Þa chØ chçi ®äc vµo (chuçi nguån).  
C¸c thanh ghi con trá vµ chØ sè cã thÓ ®-îc dïng nh- mét thanh ghi ®a  
n¨ng 16 bit. Vi m¹ch 8088 cã tÊt c¶ ba thanh ghi con trá lµ (IP, BP, SP) vµ hai  
thanh ghi chØ sè (SI, DI). NhiÖm vô cña tõng thanh ghi nh- sau:  
- IP (instruction pointer) lµ con trá chØ tíi lÖnh m¸y tiÕp theo. LÖnh nµy n»m  
trong b« nhí mµ ®Þa chØ ®o¹n ®-îc ghi trong CS. Nh- vËy ®Þa chØ cña m· k=lÖnh  
nµy lµ CS:IP.  
- BP (base pointer) lµ con trá c¬ së trá vÒ d÷ liÖu bé nhí mµ ®Þa chØ ®o¹n ®-îc ghi  
trong SS. §Þa chØ ®Çy ®ñ sÏ lµ SS:BP.  
- SP (stack pointer) lµ con trá ng¨n xÕp lu«n trá vµo ®Ønh ng¨n xÕp mµ ®Þa chØ  
®o¹n ®-îc ghi trong SS. §Þa chØ ®Çy ®ñ cña d÷ liÖu lµ DS:SP.  
- SI (source index) lµ chØ sè nguån, trá vµo d÷ liÖu mµ ®Þa chØ ®o¹n ®-îc ghi trong  
DS. §Þa chØ ®Çy ®ñ cña d÷ liÖu lµ DS:SI.  
- DI (destination index) lµ chØ sè ®Ých, còng trá vµo ®o¹n d÷ liÖu mµ ®Þa chØ ®o¹n  
ghi trong DS. §Þa chØ ®Çy ®ñ cña ®o¹n d÷ liÖu lµ DS:SI.  
Photocopyable  
18  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Thanh ghi cê FR (flag register) ®©y lµ thanh ghi kh¸ ®Æc biÖt trong CPU,  
dïng ®Ó ghi tr¹ng th¸i kÕt qu¶ c¸c phÐp xö lý trong ®¬n vÞ sè häc vµ logic ALU  
hoÆc mét tr¹ng th¸i ho¹t ®änh cña EU. Dùa vµo c¸c cê nµy ng-êi lËp tr×nh cã thÓ  
cã c¸c lÖnh thÝch hîp tiÕp theo cho bé vi xö lý (c¸c leÑnh nh¶y cã ®iÒu kiÖn).  
Thanh ghi nµy lµ mét thanh ghi 16 bit trong 8088/8086. Nh-ng chØ cã 9 bit trong  
thanh ghi ®-îc ®Þnh nghÜa vµ sö dông, ®ã lµ:  
x
x
x
x
O
D
I
T
S
Z
x
A
x
P
x
C
x: bit kh«ng ®-îc ®Þnh nghÜa.  
H×nh 3-2. S¬ ®å thanh ghi cê cña bé vi xö lý 8086/8088.  
- Bit 0: CF (carry flag) cê nhí, CF=1 khi cã nhí hoÆc m-în tõ MSB.  
- Bit 2: PF (parity flag) cê parity, PF ph¶n ¶nh tÝnh ch½n (parity) cña tæng sè bit 1  
cã trong kÕt qu¶. Cë PF =1 khi tæng sè bit 1 trong kÕt qu¶ lµ ch½n (even parity,  
parity ch½n).  
- Bit 4: AF (auxliary carry flag) cê nhí phô dïng cho c¸c phÐp tÝnh víi m· BCD.  
AF = 1 khi cã nhí hoÆc m-în tõ mét sè BCD thÊp (4 bit thÊp) sang mét sè BCD  
cao (4 bit cao).  
- Bit 6: ZF (zero flag) cê rçng, ZF = 1 khi kÕt qu¶ b»ng 0.  
- Bit 7: SF (sing flag) cê dÊu, SF = 1 khi kÕt qu¶ ©m.  
- Bit 8: TF (trap flag) cê bÉy, TF = 1 khi vi xö lý ë trong chÕ ®é ch¹y tõng lÖnh  
(chÕ ®é nµy dïng khi cÇn t×m lçi trong mét ch-¬ng tr×nh).  
- Bit 9: IF (interrupt enable flag) cê cho phÐp ng¾t, IF = 1 cho phÐp c¸c yªu cÇu  
ng¾t che ®-îc (maskable interrupt) ®-îc t¸c ®éng.  
- Bit A: DF (direction flag) cê h-íng. DF = 1 khi CPU lµm viÖc víi chuçi ký tù  
theo thø tù tõ ph¶i sang tr¸i (lïi).  
- Bit B: OF (overflow) cê trµn, OF =1 khi kÕt qu¶ v-ît ra ngoµi giíi h¹n, x¶y ra  
®èi víi phÐp tÝnh cã dÊu.  
Photocopyable  
19  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ch-¬ng IV . LÖnh vµ chÕ ®é ®Þa chØ  
I. CÊu tróc m· lÖnh  
Quy tr×nh thùc hiÖn mét lÖnh trong bé vi xö lý ®-îc chia lµm ba giai ®o¹n:  
LÊy lÖnh (feeching), gi¶i m· lÖnh (decording) vµ xö lý lÖnh (excution). Nh÷ng bé  
VXL cæ ®iÓn 8 bit tiÕn hµnh ba giai ®o¹n trªn mét c¸ch tuÇn tù. Tõ c¸c bé VXL 16  
bit trë ®i, bé VXL dïng pipeline (xen kÏ dßng lÖnh) ®Ó tiÕt kiÖm thêi gian xö lý.  
M· lÖnh dµnh cho VXL ®-îc viÕt d-íi d¹ng m· nhÞ ph©n. §Ó con ng-êi cã thÓ lËp  
tr×nh vµ hiÓu ®-îc VXL, ng-êi ta dïng hîp ng÷ (assembly language) ®Ó miªu t¶  
c¸c lÖnh m¸y b»ng tæ hîp c¸c ký tù gîi nhí (mnemonic).  
Mét lÖnh m« t¶ b»ng m· nhÞ ph©n cã thÓ dµi tõ 1 ®Õn 6 byte. CÊu tróc chung  
cña mét m· lÖnh bao gåm:  
- Prefix ®i tr-íc m· lÖnh.  
- M· to¸n (operation code) ph©n biÖt ®ã lµ lÖnh g×, vÝ dô víi lÖnh dÞch chuyÓn  
MOV cã m· to¸n lµ 100010.  
- To¸n h¹ng (operand) cho biÕt c¸i g× ®-îc xö lý (néi dung cña thanh ghi hay bé  
nhí).  
- §Þa chØ trùc tiÕp (2 byte).  
Néi dung cña m· lÖnh ®-îc quy ®Þnh kh¸ chÆt chÏ. h×nh 4-1 d-íi ®©y cho  
thÊy cÊu tróc nhÞ ph©n cña mét lÖnh dÞch chuyÓn MOV ®Ých, nguån dïng ®Ó  
chuyÒn d÷ liÖu gi÷a 2 thanh ghi hoÆc gi÷a « nhí vµ thanh ghi.  
1
0
0
0
1
0
§Þa chØ  
phÇn thÊp  
Byte 3  
§Þa chØ  
phÇn cao  
Byte 4  
M· lÖnh  
Byte 1  
D W MOD  
REG  
Byte 2  
M/R  
H×nh 4-1: CÊu tróc m· lÖnh  
Photocopyable  
20  
Tải về để xem bản đầy đủ
doc 79 trang baolam 26/04/2022 9040
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Kiến trúc máy tính - Ngô Như Khoa (Phần 1)", để 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:

  • docgiao_trinh_kien_truc_may_tinh_ngo_nhu_khoa.doc