
ch−¬ng 10
C¸c bé vi xö lý tiªn tiÕn cña INTEL
1. Giíi thiÖu chung
Trong c¸c ch−¬ng tr−íc ta ®· tr×nh bμy c¸c vÊn ®Ò liªn quan chñ yÕu ®Õn c¸c
®Æc tÝnh vμ c¸c kh¶ n¨ng cña bé vi xö lý 8086/8088. T¹i ch−¬ng 1 ta còng ®· tr×nh
bμy kh¸i qu¸t vÒ c¸c ®Æc ®iÓm chÝnh vμ c¸c th«ng sè cña c¸c bé vi xö lý trong 2 hä chñ
yÕu lμ Intel vμ Motorola. B©y giê tr−íc khi ®i vμo giíi thiÖu mét sè vÊn ®Ò cô thÓ cña
hä Intel 80x86, ta tãm l−îc c¸c ®iÓm næi bËt cña c¸c bé vi xö lý trong hä nμy.
Bé vi xö lý 16 bit 80186 vÒ c¬ b¶n gièng nh− m¹ch 8086 nh−ng ®−îc më réng
thªm kh¶ n¨ng lμm viÖc bëi v× nã ®−îc cÊy thªm c¸c bé phËn sau: bé t¹o xung ®ång
hå, bé ®iÒu khiÓn ng¾t −u tiªn, bé ®Õm thêi gian lËp tr×nh ®−îc, bé ®iÒu khiÓn viÖc
th©m nhËp trùc tiÕp vμo bé nhí, bé t¹o thêi gian ®îi lËp tr×nh ®−îc vμ c¸c m¹ch gi¶i
m· ®Þa chØ. Nh×n vμo cÊu tróc cña m¹ch 80186 ta cã thÓ ®¸nh gi¸ ®−îc ngay r»ng ®©y
chÝnh lμ bé vi xö lý rÊt thÝch hîp cho c¸c øng dông trong c«ng nghiÖp.
Bé vi xö lý 16 bit 80286 lμ mét biÕn t−íng kh¸c cña 8086 vμ ra ®êi vμo cïng
mét thêi gian víi bé vi xö lý 80186 nh−ng ®−îc ph¸t triÓn theo h−íng kh¸c. Thay v×
c¸c phèi ghÐp ngo¹i vi ®−îc cÊy thªm nh− ë 80186, 80286 cã bªn trong m¹ch qu¶n lý
bé nhí (memory management unit, MMU) ®Ó lμm viÖc víi bé nhí ¶o víi c¬ chÕ b¶o vÖ
bé nhí vμ kh¶ n¨ng ®Þa chØ ho¸ bé nhí vËt lý víi dung l−îng ®¹t tíi 16 MByte. Bé vi
xö lý 80286 lμ thμnh viªn ®Çu tiªn trong hä ®−îc thiÕt kÕ ®Ó cã thÓ lμm viÖc trong m«i
tr−êng ®a nhiÖm hoÆc nhiÒu ng−êi sö dông.
308

Bé vi xö lý 80386 lμ b−íc ph¸t triÓn tiÕp theo cña m¹ch 80286. §©y lμ bé vi xö
lý 32 bit ®Çu tiªn víi bus ®Þa chØ 32 bit (kh¶ n¨ng ®Þa chØ ho¸ 4 GByte). ALU vμ c¸c
thanh ghi thao t¸c víi d÷ liÖu ®Òu cã ®é dμi 32 bit lμm cho tèc ®é xö lý d÷ liÖu nhanh
h¬n. Mét ®o¹n trong hÖ vi xö lý 80386 cã thÓ cã ®é dμi tíi 4GB thay v× 64 KB nh− ë
c¸c thÕ hÖ tr−íc ®ã. C¸c m¹ch qu¶n lý vμ b¶o vÖ bé nhí cña 80386 ®−îc c¶i tiÕn nhiÒu
nªn 80386 cã thÓ ho¹t ®éng h÷u hiÖu h¬n trong hÖ lμm viÖc ®a nhiÖm.
Bé vi xö lý 80486 vÒ c¬ b¶n cã quy m« nh− 80386, nh−ng nã ®−îc t¨ng c−êng
thªm ngay ë bªn trong mét bé nhí cache (bé nhí Èn) víi dung l−îng 8 KB dïng chung
cho lÖnh vμ d÷ liÖu. 80486 cßn ®−îc cÊy thªm mét bé ®ång xö lý to¸n häc dÊu ph¶y
®éng (floating point unit, FPU). Kh¶ n¨ng thao t¸c cña 80486 v× thÕ cao h¬n, tuy kh¶
n¨ng b¶o vÖ vμ qu¶n lý bé nhí, kh¶ n¨ng ph©n biÖt ®Þa chØ bé nhí th× vÉn gièng nh−
cña 80386.
Bé vi xö lý Pentium lμ bé vi xö lý ®Çu tiªn cã bus d÷ liÖu 64 bit, bus ®Þa chØ
cña nã vÉn chØ cã 32 cã bit. So víi 80486, Pentium ®−îc t¨ng c−êng thªm mét bé nhí
Èn n÷a víi dung l−îng 8 KB, nhê vËy khi ho¹t ®éng nã dμnh riªng mét bé nhí Èn 8
KB cho m· lÖnh vμ mét bé nhí Èn 8 KB kh¸c cho d÷ liÖu. Ngoμi mét bé ®ång xö lý
to¸n häc dÊu ph¶y ®éng FPU cã tèc ®é 10 lÇn cao h¬n so víi ë bé vi xö lý 80486,
Pentium cßn cã 2 bé ALU 64 bit dμnh cho c¸c phÐp to¸n víi sè nguyªn (integer unit,
IU), 2 bé IU nμy cã kh¶ n¨ng lμm viÖc song song. TÊt c¶ c¸c c¶i tiÕn nμy ®· n©ng cao
®¸ng kÓ tèc ®é ho¹t ®éng cña hÖ cã Pentium so víi c¸c hÖ vi xö lý kh¸c cña hä 80x86.
2. VÊn ®Ò hÖ ®iÒu hμnh ®a nhiÖm hoÆc nhiÒu ng−êi sö dông
• Kh¸i niÖm
Tr−íc khi ®−a ra ®Þnh nghÜa hÖ ®a nhiÖm - hÖ nhiÒu ng−êi sö dông ta h·y nãi
qua chót Ýt vÒ hÖ lμm viÖc theo kiÓu ph©n chia thêi gian. Trong hÖ ph©n chia thêi
gian víi nhiÒu ng−êi sö dông, CPU ch¹y mét ch−¬ng tr×nh øng dông cña ng−êi nμy
trong mét kho¶ng thêi gian cì vμi mili gi©y vμ quay sang ch¹y mét ch−¬ng tr×nh øng
dông cña ng−êi kh¸c trong vμi mili gi©y kh¸c. Qu¸ tr×nh cø tiÕp tôc nh− vËy cho ®Õn
khi c¸c ch−¬ng tr×nh øng dông cña mäi ng−êi ®Òu ®−îc phôc vô. ViÖc nμy x¶y ra
nhanh ®Õn møc mçi ng−êi sö dông ®Òu cã c¶m gi¸c lμ m¸y tÝnh chØ lμm viÖc riªng víi
m×nh. Ta thÊy c¸c c«ng viÖc cña h×nh thøc lμm viÖc ph©n chia thêi gian nh− vËy sÏ
®−îc coi lμ '®ång thêi' nÕu tèc ®é tÝnh to¸n cña CPU lμ rÊt nhanh trong khi khèi l−îng
tÝnh to¸n cña mçi c«ng ®o¹n ®−îc chia thêi gian lμ rÊt nhá.
Trong thùc tÕ ®êi sèng ®«i khi còng cã thÓ thÊy c¸ch tæ chøc c«ng viÖc nh−
vËy. Mét vÝ dô lμ c¸c vua cê cã thÓ ®¸nh cê cïng mét lóc víi 10 ng−êi ë 10 bμn cê kh¸c
nhau. Thùc tÕ th× vua cê, v× lμ 'siªu cao thñ', nªn cÇn rÊt Ýt thêi gian ®Ó nghÜ mét n−íc
®i chèng l¹i c¸c ®èi thñ tÇm th−êng. Trong khi ®ã c¸c ®Êu thñ cña vua cê, v× lμ c¸c
309

'thÊp thñ' nªn ®Òu c¶m thÊy ph¶i chËt vËt l¾m míi t×m ra ®−îc n−íc ®i cho m×nh
trong khi vua cê ®ang ®i c¸c n−íc cê ë c¸c bμn kh¸c.
Trë l¹i lÜnh vùc m¸y tÝnh, mét hÖ ®iÒu hμnh víi kh¶ n¨ng phèi hîp c¸c ho¹t
®éng ph©n chia theo thêi gian nh− ®· tr×nh bμy ë trªn cã thÓ ®−îc gäi lμ hÖ ®iÒu hμnh
cã nhiÒu ng−êi sö dông hoÆc còng cã thÓ gäi lμ hÖ ®iÒu hμnh ®a nhiÖm, v× mçi ng−êi
sö dông sÏ cã Ýt nhÊt mét t¸c vô (task) cÇn ®−îc ho¹t ®éng d−íi sù ®iÒu khiÓn cña hÖ
®iÒu hμnh. MS DOS kh«ng ph¶i lμ mét hÖ ®iÒu hμnh ®a nhiÖm, do ®ã c¸c m¸y tÝnh
tuy cã sö dông c¸c bé vi xö lý cao cÊp cña Intel vèn ®−îc thiÕt kÕ ®Ó cã thÓ lμm viÖc ®a
nhiÖm, nh−ng v× ch¹y d−íi DOS nªn vÉn chØ lμ ®¬n nhiÖm. C¸c hÖ ®iÒu hμnh Unix,
OS/2 hoÆc MS Windows lμ c¸c thÝ dô cña hÖ ®iÒu hμnh ®a nhiÖm.
C¸c hÖ ®iÒu hμnh ®a nhiÖm cã thÓ lμm viÖc theo theo 2 c¸ch: ®Þnh kú theo c¸c
®o¹n thêi gian hoÆc theo møc −u tiªn ®Æt tr−íc.
• VÊn ®Ò b¶o tån m«i tr−êng lμm viÖc
C¸c thanh ghi, d÷ liÖu ... dïng trong mét t¸c vô gäi lμ m«i tr−êng, tr¹ng th¸i
hoÆc ng÷ c¶nh. Mét khi muèn chuyÓn tõ t¸c vô nμy sang t¸c vô kh¸c th× m«i tr−êng
cña t¸c vô bÞ gi¸n ®o¹n ph¶i ®−îc b¶o tån ®Ó khi ®Õn l−ît c«ng viÖc cña nã l¹i cã thÓ
tiÕp tôc ®−îc. C¸ch th«ng th−êng ®Ó b¶o tån m«i tr−êng lμ b¶o qu¶n c¸c th«ng tin nμy
trong mét vïng « nhí ®Æc biÖt hoÆc mét ng¨n xÕp, cã thÓ mçi t¸c vô mét ®o¹n ng¨n
xÕp riªng biÖt. Khi cÇn thiÕt ta sÏ cÊt m«i tr−êng cña mét t¸c vô nμy vμ lÊy l¹i m«i
tr−êng cña mét t¸c vô kh¸c, c«ng viÖc nμy ®−îc gäi lμ chuyÓn ng÷ c¶nh.
• VÊn ®Ò tranh chÊp khi sö dông chung tμi nguyªn
VÊn ®Ò tranh chÊp gi÷a nh÷ng ng−êi sö dông chung mét sè tμi nguyªn trong
hÖ thèng sÏ n¶y sinh khi cã mét ng−êi muèn truy nhËp m¸y in hoÆc æ ®Üa trong khi ®ã
mét ng−êi kh¸c l¹i ®ang in v¨n b¶n hoÆc ghi/®äc æ ®Üa. HÖ ®iÒu hμnh ph¶i cã c¸c cê
b¸o bËn cho c¸c tμi nguyªn ®ang ®−îc sö dông vμ ph¶i s¾p xÕp c¸c nhu cÇu dïng
chung tμi nguyªn theo hμng ®îi ®Ó phôc vô lÇn l−ît.
• VÊn ®Ò b¶o vÖ bé nhí
Mét vÊn ®Ò kh¸c cã thÓ n¶y sinh khi lμm viÖc trong hÖ thèng nhiÒu ng−êi sö
dông lμ trong tr−êng hîp cã 2 hoÆc nhiÒu ng−êi cïng mét lóc muèn ®äc vμ thay ®æi
néi dung cña mét vïng nhí dïng chung. HÖ ®iÒu hμnh ph¶i cã c¬ chÕ b¶o vÖ sao cho
mét vïng nhí ®ang ®−îc dïng cho t¸c vô nμy kh«ng bÞ ho¹t ®éng cña c¸c t¸c vô kh¸c
lμm cho sai lÖch.
B¶n th©n hÖ ®iÒu hμnh còng cÇn ®−îc b¶o vÖ bëi v× trong khi thùc hiÖn t¸c vô,
mét ng−êi sö dông nμo ®ã cã thÓ cã c¸c lÖnh ghi vμo vïng nhí chøa m· lÖnh cña hÖ
®iÒu hμnh. NÕu hÖ ®iÒu hμnh kh«ng cã c¬ chÓ b¶o vÖ th× th¶m ho¹ cã thÓ x¶y ra bÊt
cø lóc nμo do hÖ ®iÒu hμnh bÞ thay ®æi vμ g©y lçi. §Ó gi¶i quyÕt viÖc nμy ng−êi ta
310

th−êng cÊu tróc hÖ ®iÒu hμnh tõ nhiÒu líp vμ g¸n møc ®Æc quyÒn th©m nhËp vμo c¸c
líp nμy cho ng−êi sö dông vμ cho hÖ ®iÒu hμnh theo quy luËt: ng−êi sö dông chØ ®−îc
quyÒn th©m nhËp vμo vïng d÷ liÖu ë líp ngoμi víi møc ®Æc quyÒn thÊp nhÊt (líp
ngoμi chøa m· vμ d÷ liÖu dμnh cho ng−êi sö dông). Khi muèn th©m nhËp vμo líp
trong, ng−êi sö dông ph¶i th©m nhËp qua c¸c c¬ chÕ phøc t¹p ®Ó kh«ng cã kh¶ n¨ng
g©y lçi cho phÇn m· vμ d÷ liÖu cña hÖ ®iÒu hμnh. B¶n th©n hÖ ®iÒu hμnh ®Ó m· vμ d÷
liÖu cña nã ë líp trong cïng vμ nã ®−îc g¸n cho quyÒn th©m nhËp vμo tÊt c¶ c¸c líp.
C¸c bé vi xö lý cña Intel cã 4 møc ®Æc quyÒn, trong khi ®ã c¸c bé vi xö lý cña Motorola
cã 2 møc.
• VÊn ®Ò qu¶n lý bé nhí
Cã 2 lý do khiÕn cho bé nhí ph¶i ®−îc qu¶n lý ®Æc c¸ch khi lμm viÖc trong hÖ
®iÒu hμnh ®a nhiÖm. Lý do ®Çu tiªn lμ do bé nhí b¸n dÉn th−êng cã kÝch th−íc bÐ
kh«ng ®ñ chøa c¶ hÖ ®iÒu hμnh lÉn c¸c ch−¬ng tr×nh cña ng−êi sö dông. Lý do thø hai
lμ c¸c vïng nhí ph¶i ®−îc b¶o vÖ mét c¸ch ch¾c ch¾n ®Ó khái bÞ ch−¬ng tr×nh cña
ng−êi sö dông lμm háng. Mét vμi hÖ ®iÒu hμnh cã thÓ lμm lu«n chøc n¨ng qu¶n lý bé
nhí, nh−ng tèt nhÊt lμ cã riªng c¸c ®¬n vÞ qu¶n lý bé nhí (MMU) thùc hiÖn b»ng
phÇn cøng.
§Ó gi¶i quyÕt ®−îc c¸c vÊn ®Ò nªu trªn mét c¬ chÕ nhí kh¸c ra ®êi: bé nhí ¶o.
§ã lμ sù kÕt hîp c¸c bé nhí Èn (SRAM víi tèc ®é rÊt cao), bé nhí chÝnh (DRAM) vμ vμ
bé nhí phô (æ ®Üa cøng) ho¹t ®éng d−íi sù qu¶n lý cña MMU, sao cho d−íi quan ®iÓm
lËp tr×nh vμ ®èi víi ng−êi sö dông tËp hîp c¸c bé nhí trªn lu«n t¹o ®−îc c¶m gi¸c nh−
lμ mét bé nhí thuÇn nhÊt víi dung l−îng lín (gÇn b»ng dung l−îng cña æ ®Üa cøng)
nh−ng l¹i lμm viÖc víi tèc ®é cao (gÇn b»ng tèc ®é cña bé nhí chÝnh).
Bé nhí ¶o cã thÓ ®−îc qu¶n lý b»ng c¸ch chia bé nhí thμnh c¸c m¶ng nhá cã
®é lín tÝnh theo ®o¹n, ®éng t¸c nμy gäi lμ ph©n ®o¹n (®èi víi hä Intel cã tõ c¸c bé vi
xö lý 80286 trë ®i) hoÆc trang, ®éng t¸c nμy gäi lμ ph©n trang (®èi víi hä Intel cã tõ
c¸c bé vi xö lý 80386 trë ®i). Trong bé nhí ¶o nh− vËy, tõng m¶ng m· lÖnh vμ m¶ng
d÷ liÖu dïng cho ch−¬ng tr×nh hiÖn t¹i ®−îc t¶i tõ æ ®Üa vμo DRAM vμ ®−îc truy nhËp
®Õn bëi bé ®iÒu khiÓn cña bé nhí Èn khi cÇn thiÕt. NÕu ch−¬ng tr×nh ®ang ch¹y cÇn
®Õn mét m¶ng d÷ liÖu hoÆc mét m¶ng m· lÖnh nμo ®ã mμ m¶ng nμy l¹i kh«ng cã
trong DRAM th× nã sÏ ®−îc t¶i vμo DRAM. NÕu DRAM kh«ng cßn chç ®Ó chøa th×
mét m¶ng nμo ®ã cña DRAM sÏ ®−îc x¸c ®Þnh theo c¸c tiªu chuÈn nhÊt ®Þnh ®Ó bÞ
®Èy trë l¹i æ ®Üa, nh−êng chç cho m¶ng ®ang cÇn lÊy vμo. Mét c¬ chÕ t−¬ng tù còng sÏ
®iÒu khiÓn ho¹t ®éng cña bé nhí Èn vμ bé nhí chÝnh. Nãi c¸ch kh¸c, bé nhí DRAM
®ãng vai trß lμ bé nhí Èn cña bé nhí phô, cßn chÝnh b¶n th©n bé nhí DRAM l¹i cã bé
nhí cache lμm bé nhí Èn cho riªng cña m×nh.
Trong thùc tÕ 1 ®o¹n cã thÓ cã ®é lín cì 1 byte-4 GB cßn 1 trang th«ng th−êng
cã ®é lín lμ 4 KB.
311

Nh− trªn ®· nãi, bé nhí chÝnh (cßn ®−îc gäi lμ bé nhí vËt lý) lμ bé nhí b¸n
dÉn ROM+RAM thùc tÕ cã mÆt trong hÖ thèng vi xö lý, víi dung l−îng lín nhÊt bÞ
h¹n chÕ bëi kh¶ n¨ng ph©n biÖt ®Þa chØ cña CPU. Theo quan ®iÓm cña bé nhí ¶o th×
bé nhí vËt lý ch¼ng qua chØ lμ chç chøa c¸c m¶ng (c¸c ®o¹n hay c¸c trang) hiÖn ®ang
cã liªn hÖ víi hÖ ®iÒu hμnh hoÆc víi ch−¬ng tr×nh cña ng−êi sö dông. §Ó truy nhËp
®Õn bé nhí ¶o ta dïng ®Þa chØ ¶o (®Þa chØ logic) cßn ®Ó truy nhËp ®Õn bé nhí vËt lý ta
ph¶i dïng ®Þa chØ vËt lý. Trong hÖ vi xö lý cã MMU, CPU khi ho¹t ®éng cÇn ®äc lÖnh
hoÆc to¸n h¹ng th× nã ®−a ra ®Þa chØ ¶o cña to¸n h¹ng hoÆc cña lÖnh ®ã. MMU nhËn
®Þa chØ ¶o vμ dÞch (chuyÓn ®æi) nã ra ®Þa chØ vËt lý, ®Þa chØ nμy ®−îc ®−a lªn bus ®Þa
chØ ®Ó truy nhËp bé nhí vËt lý (h×nh 10.1).
bé dÞch ®Þa chØ cña
MMU ®Þa chØ vËt lý
®Þa chØ ¶o
H×nh 10.1. Chøc n¨ng dÞch (chuyÓn ®æi) ®Þa chØ cña MMU.
DÞch ®Þa chØ trong hÖ thèng lμm viÖc theo c¸ch ph©n ®o¹n
®Þa chØ logic
SELECTOR OFFSET
:
:
:
:
H×nh 10.2. DÞch ®Þa chØ ¶o → ®Þa chØ vËt lý trong hÖ thèng ph©n ®o¹n.
®Þa chØ c¬ së
cña ®o¹n c¸c bit b¶o vÖ,
®iÒu khiÓn
+ ®Þa chØ
vËt lý
B¶ng
m« t¶
Bé phËn tÝnh
®Þa chØ kiÓu
n
p
h©n ®o
¹
312

