Professional Documents
Culture Documents
Bo Vi Su Ly 80286
Bo Vi Su Ly 80286
1100 0111 000 0 0000 Dïng hµng ®îi lÖnh ®Ó lµm n¬i lu gi÷ t¹m thêi c¸c lÖnh sÏ ®îc thùc
hiÖn trong EU. Th«ng qua ®¬n vÞ ®iÒu khiÓn bus, BIU nhËn tríc c¸c lÖnh
CF=0 vµ cÊt t¹m chóng vµo trong hµng chøa lÖnh. §©y lµ c«ng viÖc chiÕm nhiÒu
PF=1 v× byte ®Çu tiªn cã sè con sè 1 ch½n (b»ng 0) thêi gian h¬n so víi viÖc tÝnh to¸n trong EU. Do vËy BIU vµ EU cïng ho¹t
®éng song song b¶o ®¶m n©ng cao hiÖu qu¶ lµm viÖc cña MP.
AF=1
Hµng ®îi lÖnh lµ bé nhí kiÓu FIFO (First In First Out), cã nghÜa lÖnh
ZF=0 ®îc n¹p vµo tríc sÏ ®îc lÊy ra tríc. Bé vi xö lý 8088 cã hµng ®îi lÖnh 4 bytes
SF=1 (8 bit) cßn 8086 cã hµng ®îi lÖnh 3 tõ (mçi tõ 16 bit). ChÝnh v× vËy t¹i mçi
thêi ®iÓm nã mang 1 tõ (16 bit) th«ng tin. §©y lµ 1 ®iÓm kh¸c nhau quan
c. Khèi ®iÒu khiÓn cña EU träng n÷a gi÷a 2 bé VXL.
Trong khèi ®iÒu khiÓn (CU- Control Unit) cña EU cã m¹ch gi¶i m· lÖnh. c. §¬n vÞ ®iÒu khiÓn ®Þa chØ (Address Control Unit)
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 sÏ ®îc ®a ®Õn m¹ch t¹o xung ®iÒu khiÓn tõ ®ã nhËn ®îc MP 8088/8086 cã 20 ®êng ®Þa chØ (20 bit) v× vËy cã kh¶ n¨ng ®¸nh
c¸c d·y xung kh¸c nhau tuú thuéc vµo m· lÖnh ®Ó ®iÒu khiÓn ho¹t ®éng c¸c ®Þa chØ ®Õn 1 Mb. §¬n vÞ ®iÒu khiÓn ®Þa chØ phèi hîp ho¹t ®éng víi
bé phËn bªn trong vµ bªn ngoµi CPU. con trá lÖnh, c¸c thanh ghi ®o¹n vµ m¹ch t¹o ®Þa chØ ®Ó x¸c ®Þnh ®Þa chØ
« nhí nh ®îc vÏ trong h×nh 2.3.
3. Tæ chøc cña BIU
Con trá lÖnh - IP (Instruction Pointer)
BIU lµ ®¬n vÞ giao tiÕp (Bus Interface Unit) cã nhiÖm vô giao tiÕp víi
c¸c thiÕt bÞ bªn ngoµi th«ng qua hÖ thèng BUS vµ gióp CPU khai th¸c tèi ®a Lµ mét thanh ghi 16 bit dïng ®Ó trá vµo lÖnh tiÕp theo sÏ ®îc thùc hiÖn
kh¶ n¨ng cña BUS. §Ó b¶o ®¶m ®îc ®iÒu ®ã, BIU ph¶i thùc hiÖn 2 chøc n»m trong ®o¹n m· CS. Mçi lÇn ®¬n vÞ thùc hiÖn EU nhËn 1 lÖnh th× con
n¨ng sau: trá lÖnh ®îc t¨ng lªn ®Ó trá tíi lÖnh ®îc thùc hiÖn tiÕp theo trong ch¬ng
tr×nh. §Þa chØ ®Çy ®ñ cña lÖnh tiÕp theo nµy ®îc x¸c ®Þnh bëi cÆp CS:IP.
- Chøc n¨ng 1: NhËn tríc c¸c lÖnh, cÊt t¹m vµo d·y chøa lÖnh nhê ®ã
mµ MP t¨ng ®îc tèc ®é tÝnh to¸n. C¸c thanh ghi ®o¹n (Segment Register)
- Chøc n¨ng 2: §¶m ®¬ng mäi chøc n¨ng ®iÒu khiÓn BUS ®Ó EU cã Gåm cã 4 thanh ®o¹n:
thÓ tËp trung vµo viÖc xö lý d÷ liÖu vµ thùc hiÖn lÖnh. Con trá lÖnh chøa - Thanh ghi ®o¹n m· (Code segment - CS): Dïng ®Ó chØ ®o¹n bé nhí m·
®Þa chØ cña lÖnh thùc hiÖn tiÕp theo.
- Thanh ghi ®o¹n d÷ liÖu (Data segment - DS): Dïng ®Ó chØ ®o¹n d÷
BIU ®îc dïng ®Ó trùc tiÕp truy xuÊt hoÆc phèi ghÐp víi nh÷ng bé liÖu.
phËn kh¸c cña m¸y tÝnh.
- Thanh ghi ®o¹n ng¨n xÕp (Stack segment - SS): Cho biÕt ®o¹n bé nhí
BIU gåm 3 khèi chøc n¨ng sau: dïng lµm ng¨n xÕp.
- §¬n vÞ ®iÒu khiÓn BUS. - Thanh ghi ®o¹n phô (Extra segment - ES): ChØ ra ®o¹n nhí phô ®îc
- Hµng ®îi lÖnh. dïng ®Ó cÊt gi÷ d÷ liÖu.
Mçi ®o¹n cña bé nhí cã thÓ dµi ®Õn 64 Kb. MP8086/8088 sö dông 20 EF224
®êng ®Þa chØ nªn cã thÓ lËp ®Þa chØ cho 2 20 = 1048576 « nhí (byte). §©y
lµ ®iÒu g©y khã kh¨n bëi v× c¸c thanh ghi cña MP ®Òu sö dông ®é dµi 16
bit. §Ó kh¾c phôc vÊn ®Ò nµy ngêi ta ®a ra kh¸i niÖm ®Þa chØ ®o¹n vµ B¶ng díi tr×nh bµy c¸c thanh ghi ®o¹n, thanh ghi offset vµ lo¹i thao t¸c
®Þa chØ offset (hay gäi lµ ®é lÖch, ®é dêi). C¸c thanh ghi ®o¹n 16 bit CS, ®îc thùc hiÖn.
DS, SS vµ ES ®îc dïng ®Ó x¸c ®Þnh ®Þa chØ ®o¹n. Sö dông c¸c thanh ghi B¶ng 2.5. Thao t¸c cña c¸c thanh ghi.
offset: IP, SP, BP, SI, DI ®Ó x¸c ®Þnh ®Þa chØ dÞch chuyÓn tÝnh tõ ®Þa
Thanh ghi offset Thao t¸c
TEST TEST
AD9 7 34 A9 7 34
push [si] AD8 8 33 A8 8 33
AD7 9 32 AD7 9 32
mov [si], 20h AD6
8086
10
8088
31 AD6 10 31
pop [di] AD5 CPU
11 30 AD5 CPU
11 30
add si, 2 AD4 12 29 AD4 12 29
AD3 13 28 AD3 13 28
add di, 2 AD2 14 27 AD2 14 27
AD1 15 26 AD1 15 26
loop lap
AD0 16 25 AD0 16 25
4. Bè trÝ ch©n cña MP 8086/8088 NMI 17 24 NMI 17 24
INTR 18 23 INTR 18 23
ChÕ ®é tèi ®a vµ chÕ ®é tèi thiÓu CLK 19 22 CLK 19 22
GND 20 21 GND 20 21
C¶ 2 bé VXL 8086/8088 ®Òu cã thÓ lµm viÖc ë 2 chÕ ®é: tèi thiÓu
(MINI) vµ tèi ®a (MAX). Hai chÕ ®é nµy cã thÓ chän b»ng d¾c c¾m. a) b)
ë chÕ ®é MINI, CPU truyÒn c¸c tÝn hiÖu ®iÒu khiÓn trùc tiÕp tíi c¸c
kªnh cña hÖ thèng, cßn ë chÕ ®é tèi ®a MAX, CPU truyÒn tÝn hiÖu ®iÒu H×nh 2.4: Bè trÝ ch©n ë chÕ ®é tèi thiÓu cña 8086 (a) vµ 8088 (b)
khiÓn tíi khèi ®iÒu khiÓn kªnh th«ng tin (chip 8288). Khèi nµy nhËn vµ xö lý 2. C¸c ®êng ®Þa chØ, tr¹ng th¸i.
tÝn hiÖu ®iÒu khiÓn ®ã råi míi ph¸t c¸c tÝn hiÖu ®iÒu khiÓn thø cÊp tíi
kªnh th«ng tin. Tæng céng cã cã 20 ch©n ®Þa chØ, ®ã lµ c¸c ch©n 2 - 16, 35 - 39
Cã 5 ch©n kÕt hîp chÌn th«ng tin tr¹ng th¸i trªn ®êng ®Þa chØ, ®ã lµ:
Bè trÝ ch©n ë chÕ ®é tèi thiÓu Ch©n 35 -38: A19_A16/S6-S3 Multiplex: KÕt hîp vµ chen th«ng tin trªn
H×nh 2.4 giíi thiÖu s¬ ®å bè trÝ ch©n cña bé VXL 8088 ë chÕ ®é tèi 1 kªnh truyÒn tin: 4 bit ®Þa chØ cao hoÆc 4 tÝn hiÖu tr¹ng th¸i chØ thÞ ho¹t
thiÓu. C¸c ch©n nµy cã thÓ gép l¹i theo c¸c nhãm chøc n¨ng sau: ®éng hiÖn t¹i cña CPU. C¸c tr¹ng th¸i nh sau:
1. C¸c ®êng nguån nu«i.
2. C¸c ®êng ®Þa chØ, tr¹ng th¸i.
3. C¸c ®êng d÷ liÖu.
4. C¸c ®êng ®iÒu khiÓn §Þa chØ/D÷ liÖu
S4, S3 cho biÕt thanh ghi nµo ®ang ®îc sö dông ®Ó th©m nhËp bé nhí. * Ch©n 25: ALE (Address Latch Enable- chèt ®Þa chØ) ch©n ra møc
S4 S3 Thanh ghi ®îc truy xuÊt cao x¸c nhËn cã ®Þa chØ ®ang æn ®Þnh trªn bus ®Þa chØ.
0 0 D÷ liÖu ES * Ch©n 26 DEN (Data Enable) Lèi ra 3 tr¹ng th¸i. ë møc thÊp tÝn hiÖu
0 1 Ng¨n xÕp SS cho phÐp truyÒn d÷ liÖu gi÷a bé vi xö lý vµ Bé nhí/Vµo ra.
1 0 M· lÖnh CS * Ch©n 27 DT/R (Data Transmit/Receive) Lèi ra 3 tr¹ng th¸i, dïng ®Ó x¸c
1 1 D÷ liÖu DS ®Þnh chiÒu truyÒn sè liÖu.
* Ch©n 28 IO/M (Input Output/Memory) Lèi ra 3 tr¹ng th¸i x¸c ®Þnh bus
S5 chØ tr¹ng th¸i cê Interrupt (Interrupt Enable). ®Þa chØ ®îc nèi víi IO hay Memory.
S6 lu«n lu«n lµ 0 * Ch©n 29 WR (Write) Lèi ra 3 tr¹ng th¸i x¸c nhËn bé VXL ghi th«ng tin
BHE /S7 - Bus high enable (ch©n 34). V× 8086 cã bus d÷ liÖu ngoµi
lªn IO hoÆc Memory.
* Ch©n 32 RD (Read) Lèi ra 3 tr¹ng th¸i tÝch cùc ©m. X¸c nhËn viÖc
16 bit, do vËy cÇn ph©n biÖt ®îc byte cao vµ byte thÊp cña d÷ liÖu. §Ó thùc
®äc d÷ liÖu.
hiÖn nhiÖm vô nµy BHE kÕt hîp víi A0 cung cÊp c¸c th«ng tin nh sau: * Ch©n 34 SS0 (Status Line 0) Lèi ra 3 tr¹ng th¸i. KÕt hîp víi IO/M vµ
DT/R ®Ó cho th«ng tin vÒ chu kú bus
BHE A0 Tr¹ng th¸i bus d÷ liÖu
5. C¸c ®êng ®iÓu khiÓn ng¾t
0 0 TruyÒn 16 bit d÷ liÖu trªn D0-D15
Cã 5 ®êng ®iÒu khiÓn ng¾t, ®ã lµ c¸c ch©n 17, 18, 21, 23 vµ 24 cho
0 1 TruyÒn mét byte ë phÇn cao cña bus d÷ liÖu D8-D15
phÐp dõng ho¹t ®éng cña MP.
1 0 TruyÒn mét byte ë phÇn thÊp cña bus d÷ liÖu D0-D7 * Ch©n 17 NMI (Non Maskable Interrupt) Ng¾t kh«ng che mÆt n¹ - tÝn
1 1 Dù tr÷ (bus d÷ liÖu nghØ) hiÖu vµo hiÖu lùc ë møc cao dïng ®Ó ng¾t qu¸ tr×nh xö lý cña CPU. Lµ tÝn
B¶ng 2.6 C¸c tr¹ng th¸i cña chu kú BUS hiÖu kh«ng thÓ bÞ bá qua (bÞ che mÆt n¹) bëi CPU.
* Ch©n 18 INTR (Interrupt Request) TÝn hiÖu vµo ®Ó ng¾t qóa tr×nh
IO /M DT/ R SS0 Chøc n¨ng chu kú bus
xö lý cña CPU, cã thÓ che ®îc (masakable) tøc CPU cã thÓ bá qua b»ng sù
1 0 0 NhËn lÖnh
®iÒu khiÓn cña phÇn mÒm.
1 0 1 §äc bé nhí
* Ch©n 24 INTA (Interrupt Acknowledge) TÝn hiÖu ra b¸o MP ®· nhËn
1 1 0 Ghi bé nhí
1 lÖnh ng¾t.
1 1 1 Thô ®éng (Passive)
* Ch©n 21 RESET. Khëi ®éng l¹i MP.
0 0 0 B¸o nhËn lÖnh ng¾t
* Ch©n 23 TEST (Test Interrupt) TÝn hiÖu vµo. Khi MP ®ang thùc
0 0 1 §äc cæng I/O
hiÖn lÖnh WAIT th× MP sÏ kiÓm tra ch©n TEST. NÕu TEST=1 th× m¸y
0 1 0 Ghi cæng I/O
tiÕp tôc chê cho ®Õn khi TEST=0.
0 1 1 Dõng (Halt)
6. C¸c ch©n ®iÒu khiÓn thao t¸c
3. C¸c ®êng d÷ liÖu
Cã 5 ch©n ®iÒu khiÓn thao t¸c.
Cã 8 ®êng d÷ liÖu. gåm tõ ch©n 9-16: Multiplex - võa ®Þa chØ võa d÷
* Ch©n 19: CLK (Clock Input) TÝn hiÖu ®ång hå chñ, ®ång bé mäi ho¹t
liÖu.
®éng cña MP.
4. C¸c ®êng ®iÒu khiÓn ®Þa chØ/d÷ liÖu
* Ch©n 22: READY lµ tÝn hiÖu tr¶ lêi cña I/O hoÆc MEMORY b¸o
Cã 7 ®êng ®iÒu khiÓn ®Þa chØ d÷ liÖu, ®ã lµ c¸c ch©n: 25-29, 32,
chu kú chuyÒn sè liÖu ®· hoµn tÊt.
34. ®îc dïng ®Ó ®iÒu khiÓn vµ b¸o tr¹ng th¸i di chuyÓn cña th«ng tin trªn bus
* Ch©n 31 HOLD vµ 30 HOLDA (Hold Request) B¸o cã yªu cÇu lµm
d÷ liÖu vµ ®Þa chØ.
chñ bus tõ bªn ngoµi. Khi MP tiÕp nhËn yªu cÇu nµy th× ®a ra tÝn hiÖu C¸c tÝn hiÖu S2, S1, S0 ®îc dïng cho bé ®iÒu khiÓn bus 8288 ®Ó t¹o ra
c¸c tÝn hiÖu ®iÒu khiÓn bus hÖ thèng vµ cã trë kh¸ng cao khi bus treo.
GND 1 40 GND 1 40
AD14 2 39 A14 2 39 B¶ng 2.8: C¸c chu kú bus ë chÕ ®é MAX
AD13 3 38 A13 3 38
AD12 4 37 A12 4 37 S2 S1 S0
Trong m¸y tÝnh IBM PC RQ / GT1 ®îc nèi tíi bé ®ång xö lý to¸n 8087
a) b) ®Ó cho phÐp vµ RQ / GT0 ®îc nèi cè ®Þnh lªn møc cao ®Ó kh«ng cho
phÐp 8087 th©m nhËp bus.
Tríc khi kÕt thóc phÇn giíi thiÖu s¬ ®å bè trÝ ch©n cña CPU
H×nh 2.5. ChÕ ®é tèi ®a a) 8086 vµ b) 8088 8086/8088 còng cÇn v¾n t¾t l¹i sù kh¸c nhau c¨n b¶n gi÷a 2 CPU nµy (H×nh
HLDA (Hold Acknowledge).
2.5 lµ s¬ ®å ch©n cña CPU 8086).
* Ch©n 33 MN/MX (Minimum/Maximum Mode) TÝn hiÖu lèi vµo b¸o
CPU 8086 lµ bé vi xö lý 16 bit hoµn chØnh, cßn CPU 8088 lµ bé vi xö lý
MP lµm viÖc ë mode tèi ®a (0) hay tèi thiÓu (1)
víi 16 bit d÷ liÖu bªn trong (gièng víi 8086) song d÷ liÖu ngoµi lµ 8 bit (kh¸c
Bè trÝ ch©n ë chÕ ®é tèi ®a
víi 8086 - d÷ liÖu ngoµi còng 16 bit). Do ®ã ®iÓm kh¸c nhau ®Çu tiªn lµ ®é
Ch©n QS1 (24) vµ QS0 (25) b¸o th«ng tin tr¹ng th¸i vÒ hµng chøa lÖnh.
dµi hµng ®îi lÖnh. §é dµi nµy ë 8088 lµ 4 byte 8 bit cßn ë 8086 lµ 3 tõ 16 bit.
M· tr¹ng th¸i cña hµng ®îi lÖnh ®îc giíi thiÖu giíi thiÖu ë B¶ng 2.7
§iÓm kh¸c nhau thø hai lµ kÝch thíc bus d÷ liÖu: bus d÷ liÖu cña 8088 lµ 8
B¶ng 2.7: M· c¸c tr¹ng th¸i cña hµng ®îi lÖnh bit cßn cña 8086 lµ 16 bit. ChÝnh v× sù kh¸c nhau trªn nªn dÉn ®Õn viÖc bè
QS0 (24) QS1 (25) Tr¹ng th¸i hµng ®îi lÖnh trÝ ch©n cña 2 CPU cã phÇn kh¸c nhau (xem s¬ ®å bè trÝ ch©n cña 2 CPU).
0 0 Kh«ng ho¹t ®éng Tuy cã mét sè ®Æc ®iÓm kh¸c nhau nh vËy nhng v× chóng cã c¸c ®iÓm
0 1 ChØ byte thø nhÊt cña m· lÖnh ë hµng gièng nhau rÊt c¬ b¶n vµ cã tËp lÖnh lËp tr×nh gièng nhau nªn vÒ quan
1 0 ®îi ®iÓm lËp tr×nh th× chóng lµ t¬ng ®¬ng.
1 1 ChØ hµng chøa lÖnh rçng
ChØ byte tiÕp theo ë hµng chøa lÖnh 5. Gi¶n ®å thêi gian ho¹t ®éng cña 8086/88.
MP 8086/8088 sö dông ®ång hå 4.77 Mhz. Bé VXL 8086/8088 ho¹t ®éng
theo c¸c chu kú thêi gian gäi lµ chu kú bus (bus cycle). Mçi chu kú bus cÇn 4 /M. Cuèi chu kú T1, ALE h¹ xuèng møc thÊp vµ ®Þa chØ trªn bus bÞ chèt
chu kú ®ång hå ®Ó hoµn thµnh. Hai chu kú bus chÝnh lµ chu kú bus ®äc vµ ®ãng l¹i.
chu kú bus ghi. Chu kú bus ®äc lµ qu¸ tr×nh khi MP ®äc th«ng tin tõ bé nhí T2: ë chu kú nµy cã c¸c chuyÓn tr¹ng th¸i sau:
hoÆc I/O. Chóng ta xem xÐt kü h¬n chu kú nµy. AD0-AD7 chuyÓn sang tr¹ng th¸i trë kh¸ng cao.
Chu kú bus ®äc A16/S3-A19/S6 chuyÓn sang tr¹ng th¸i ®a tÝn hiÖu ra.
A8-A15 kh«ng thay ®æi vµ vÉn ®a th«ng tin vÒ ®Þa chØ.
Mét chu kú bus ®äc ®iÓn h×nh cña bé vi xö lý 8088 ®îc giíi thiÖu qua
ALE chuyÓn xuèng møc thÊp vµ chØ ra r»ng ®Þa chØ kh«ng cßn tån t¹i
biÓu ®å thêi gian nh trªn h×nh 2.6.
trªn c¸c ®êng ®Þa chØ.
T1: Chu kú ®ång hå ®Çu tiªn, bus ®Þa chØ/d÷ liÖu ®îc sö dông ®Ó ®a
RD ph¸t tÝn hiÖu ®Ó bé nhí hoÆc I/O xuÊt d÷ liÖu
ra ®Þa chØ cña bé nhí hoÆc I/O. §ång thêi trong chu kú nµy ALU còng ®a
DEN lµm c¸c m¹ch ®Öm trong bus d÷ liÖu cã hiÖu lùc, cho phÐp d÷
Mét chu kú bus
liÖu ®îc göi vµo bus ®Ó ®Õn MP.
T3: T¹i chu kú nµy bé nhí hoÆc m¹ch I/O ®a d÷ liÖu lªn bus. Chu kú nµy
T1 T2 T3 T4
lµ kho¶ng thêi gian phô thªm ®Ó d÷ liÖu trë nªn æn ®Þnh trªn bus. ë chu kú
nµy bé VXL tiÕn hµnh th¨m dß ch©n READY, nÕu ë møc cao th× chu kú
tiÕp theo sÏ lµ T4, cßn nÕu ë møc thÊp th× chu kú tiÕp theo sÏ ë tr¹ng th¸i chê
IO
TW.
T4: T¹i thêi ®iÓm b¾t ®Çu cña chu kú, MP ®äc d÷ liÖu cã trªn bus. ë
cuèi chu kú T4, c¸c ®êng 3 tr¹ng th¸i chuyÓn sang tr¹ng th¸i trë kh¸ng cao ®Ó
§Þa chØ TÝn hiÖu tr¹ng th¸i chuÈn bÞ cho chu kú tiÕp theo. C¸c ®êng kiÓm so¸t RD vµ DEN chuyÓn
sang møc cao ®Ó b¸o hiÖu kÕt thóc chu kú bus ®äc. §Õn ®©y kÕt thóc chu
kú ®äc.
§©y lµ nh÷ng kh¸i niÖm ®Çu tiªn vÒ tæ chøc ®êng èng (Pipeline) cña
c¸c bé vi xö lý tiªn tiÕn sau nµy.
hå. C¸ch tæ chøc cña 8086/8088 ®· ®îc c¶i tiÕn th«ng minh h¬n nhiÒu so víi
c¸c MP thÕ hÖ tríc ë chç tæ chøc 2 ®¬n vÞ ho¹t ®éng t¬ng ®èi ®éc lËp lµ EU
vµ BIU.
CPU 8088/8086
Thùc hiÖn lÖnh Ghi
H×nh 2.8: NhËn vµ thùc hiÖn lÖnh cña CPU 8086/8088 vµ thÕ hÖ tríc
Trong thêi gian EU thùc hiÖn lÖnh th× BIU vÉn cã thÓ ®¶m nhËn
nhiÖm vô nhËn tríc c¸c lÖnh, cÊt t¹m vµo hµng ®îi lÖnh vµ c¸c thanh ghi d÷
liÖu. Nhê vËy mµ khi bus bÞ bËn trong chu kú ®äc th× EU thùc hiÖn c¸c
lÖnh tríc ®ã vµ khi bus bËn trong chu kú ghi th× EU l¹i thùc hiÖn lÖnh kh¸c.
Víi c¸ch tæ chøc nµy ®· lµm t¨ng hiÖu qu¶ cña toµn bé hÖ thèng lªn rÊt nhiÒu