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-. Sè 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 lµ 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 lµ 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·  
sè 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Þ  
sè ®-î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).  
Sè ®-ê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Þ “®èt” PROM.  
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 vµ 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 34380 Free
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