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 đủ
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:
- giao_trinh_kien_truc_may_tinh_ngo_nhu_khoa.doc