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

Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ch-¬ng VI. kiÕn tróc Bé nhí m¸y vi tÝnh  
I. C¸c kh¸i niÖm chung  
Mét trong c¸c ho¹t ®éng c¬ b¶n cña m¸y tÝnh lµ l-u tr÷ d÷ liÖu d¹ng nhÞ  
ph©n. C¸c d÷ liÖu nµy lµ c¸c ch-¬ng tr×nh hoÆc sè liÖu mµ Vi xö lý ®-a ra hoÆc ®äc  
vµo tuú theo yªu cÇu. Bé nhí lµ c¸c thiÕt bÞ ®Ó thùc hiÖn nhiÖm vô l-u tr÷ d÷ liÖu  
cña m¸y vi tÝnh.  
Mçi « nhí ®-îc x¸c ®Þnh bëi mét ®Þa chØ. Th«ng th-êng mçi « nhí cã dung  
l-îng lµ 1 byte. C¸c byte ®-îc ghÐp thµnh tõ. Nh÷ng m¸y 16 bit sè liÖu th× tæ chøc  
2 byte/tõ, cßn c¸c m¸y 32 bit sè liÖu th× ®é dµi tõ gÊp ®«i (4 byte/tõ).  
I.1. TrËt tù c¸c byte trong tõ.  
Cã thÓ lµ tõ ph¶i sang tr¸i (vi xö lý hä Intel) hoÆc ng-îc l¹i tõ tr¸i sang ph¶i  
(vi xö lý hä Motorola). Tr-êng hîp d÷ liÖu l-u gi÷ lµ sè nguyªn th× hai c¸ch s¾p  
xÕp trªn kh«ng cã trë ng¹i g×. Nh-ng khi d÷ liÖu bao gåm c¶ sè nguyªn vµ c¶ x©u  
ký tù ... th× cã vÊn ®Ò.  
X©u kÕt thóc b»ng c¸c byte 0 ë cuèi ®Ó ®iÒn kÝn chç trèng cña tõ, cßn sè  
nguyªn th× ®-îc thªm vµo c¸c byte ë phÇn cã träng sè cao h¬n. Do vËy nÕu dÞch  
c¸ch s¾p xÕp nä sang c¸ch kia cña x©u gièng nh- cña sè nguyªn th× sÏ bÞ nhÇm.  
I.2. M· ph¸t hiÖn lçi vµ söa sai.  
Sè c¸c vÞ trÝ bit kh¸c nhau trong hai tõ gäi lµ kho¶ng c¸ch Hamming. VÝ dô,  
trong hai tõ:  
§Ó söa sai, bªn c¹nh m sè bit sè liÖu cña tõ, ng-êi ta thªm vµo r bit d-  
(redundant bits) vµ chiÒu dµi tæng cña tõ lµ n : n = m + r  
10001001 vµ 10110001 cã kho¶ng c¸ch Hammming b»ng 3.  
§Ó ph¸t hiÖn d bit lçi ®¬n, cÇn dïng m· cã kho¶ng c¸ch d+1. T-¬ng tù, ®Ó  
söa lçi d bit ®¬n, cÇn dïng m· cã kho¶ng c¸ch 2d+1. VÝ dô, dïng m· bit parity  
thªm vµo byte sè liÖu, m· nµy cã kho¶ng c¸ch b»ng 2, dïng ®Ó ph¸t hiÖn 1 bit sai,  
nh-ng kh«ng söa ®-îc lçi.  
Trong truyÒn 1 khèi ký tù, mçi ký tù cã mét bit parity ®Ó kiÓm tra. ë cuèi  
mçi khèi, ta truyÒn thªm mét ký tù lµ parity cña toµn thÓ b¶n tin, gäi lµ longitudinal  
check (LRC). PhÝa thu sÏ tÝnh LRC vµ so víi LRC nhËn ®-îc ®Ó kiÓm tra lçi. Mét  
ph-¬ng ph¸p n÷a ®Ó kiÓm tra lçi khi truyÒn sè liÖu lµ dïng CRC (Cyclic  
redundance check), ®ã lµ mét ®a thøc nhÞ ph©n d- thu ®-îc khi chia ®a thøc c¸c bit  
cña b¶n tin cho mét ®a thøc quy ®Þnh.  
VÝ dô m· söa sai lµ m· cã 4 tõ dµi 10 bit nh- sau:  
0000000000,  
0000011111,  
1111100000,  
1111111111. M· nµy cã  
kho¶ng c¸ch lµ 5, tøc lµ nã cã thÓ söa ®-îc c¸c lçi kÐp. VÝ dô nÕu ta nhËn ®-îc tõ  
0000000111, m¸y thu sÏ biÕt r»ng tõ ®ã ph¶i lµ 0000011111 (nÕu coi nh- kh«ng cã  
nhiÒu h¬n mét lçi kÐp). Nh-ng nÕu mét lçi ba x¶y ra, biÕn 0000000000 thµnh  
0000000111 th× ta kh«ng söa lçi ®-îc.  
§Ó söa lçi, ng-êi ta dïng thuËt to¸n cña Hamming.  
Photocopyable  
52  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
I.3. KiÕn tróc tæng thÓ cña bé nhí. (h 6.1)  
XÐt mét c¸ch tæng thÓ, bé nhí cña m¸y tÝnh cã kiÕn tróc theo cung bËc  
(hierarchy) tr¶i dµi tõ bé nhí ngoµi ®Õn bé nhí trong vµ cuèi cïng lµ ®Õn bé nhí  
®Öm (cache) trong vµ ngoµi CPU.  
Mass Memory  
HDD, FDD, Tape, CD ROM  
I/O  
Processor  
Main Memory  
RAM  
Internal Cache  
External cache  
H×nh 6.1. Hieratchy cña bé nhí trong m¸y vi tÝnh.  
I.4. Qu¶n lý bé nhí (MMU, Memory Management Unit)  
C«ng viÖc qu¶n lý bé nhí cña m¸y vi tÝnh chñ yÕu lµ do bé vi xö lý ®¶m  
nhiÖm. Bªn c¹nh ®ã cßn cã DMAC (Direct Memory Access Controller) còng tham  
gia qu¶n lý bé nhí trong viÖc truyÒn sè liÖu gi÷a controller æ ®Üa víi bé nhí vµ lµm  
t-¬i bé nhí. ë nh÷ng m¸y cã Cache Memory th× Cache Memory Controller thùc  
hiÖn c¸c c«ng viÖc truyÒn sè liÖu gi÷a Cache Memory vµ RAM.  
ë khu vùc trung t©m cña m¸y vi tÝnh (bé vi xö lý, ROM, RAM, c¸c bus...),  
thùc chÊt cña viÖc qu¶n lý bé nhí lµ c¸c thanh ghi cña vi xö lý ®-a ra c¸c ®Þa chØ  
cña « nhí hoÆc cña cæng I/O qua bus ®Þa chØ, cïng c¸c lÖnh ®iÒu khiÓn/ tr¹ng th¸i  
kh¸c vµ lÖnh ®äc vµo/ viÕt ra c¸c sè liÖu cña c¸c « nhí Êy. C¸c bé phËn bªn ngoµi  
VXL sÏ gi¶i m· c¸c ®Þa chØ vµ c¸c tÝn hiÖu ®iÒu khiÓn/ tr¹ng th¸i ®ã ®Ó trá vµo c¸c  
byte/ tõ/ tõ kÐp... cña bé nhí ®Ó thùc hiÖn c¸c thao t¸c t-¬ng øng.  
Cßn tõ c¸c æ ®Üa trë ®i, viÖc qu¶n lý bé nhí lµ thùc hiÖn c¸c lÖnh cña hÖ ®iÒu  
hµnh lªn c¸c file (cã ®Þa chØ 3 chiÒu lµ C-H-S), cô thÓ lµ truyÒn sè liÖu nhê DMAC  
gi÷a vïng ®Öm (buffer) cña bé ®iÒu khiÓn æ ®Üa víi bé nhí RAM.  
Photocopyable  
53  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
C¸c bé vi xö lý Intel tõ thÕ hÖ 286 trë ®i ph©n biÖt hai mode ®Þa chØ: mode  
®Þa chØ thùc (chØ qu¶n lý 20 bit ®Þa chØ vËt lý cña bé nhí) vµ mode ®Þa chØ b¶o vÖ  
(qu¶n lý tíi 32 bit ®Þa chØ ¶o nhê c¸c thanh ghi Èn trong bé vi xö lý).  
ë cÊp d-íi, tøc cÊp ngo¹i vi, nh- bé ®iÒu khiÓn æ ®Üa, bé ®iÒu khiÓn mµn  
h×nh, m¸y in... còng cã tæ chøc bé nhí riªng cña chóng ®Ó tiÖn cho viÖc cÊt gi÷ vµ  
xö lý víi c¸c ®Æc thï riªng.  
C¸c bé nhí RAM-ROM vµ c¸c vïng nhí cña bé nhí ngoµi (trªn c¸c æ ®Üa),  
kh¸c nhau vÒ c¸ch m· ho¸ c¸c bit, c¸ch tæ chøc, do ®ã c¶ c¸ch truy nhËp còng kh¸c  
nhau.  
II. Tæ chøc bé nhí cña vi xö lý.  
Bé nhí cña vi xö lý cã thÓ xem nh- bao gåm cã bé nhí ROM vµ bé nhí  
RAM. Bé nhí RAM cña vi xö lý chÝnh lµ c¸c thanh ghi (thanh ghi chung, thanh ghi  
chØ sè, thanh ghi ®o¹n, thanh ghi ng¨n xÕp, thanh ghi tr¹ng th¸i, thanh ghi cê, c¸c  
bé ®Öm sè liÖu/ ®Þa chØ/ ®iÒu khiÓn...). Cßn bé nhí RAM lµ bé phËn gi¶i m· lÖnh ®Ó  
ph¸t ra c¸c vi lÖnh.  
Nh»m môc ®Ých qu¶n lý ®-îc l-îng ®Þa chØ nhí (¶o) nhiÒu h¬n sè ®-êng  
®Þa chØ cña bé vi xö lý vµ b¶o vÖ c¸c vïng nhí cña c¸c nhiÖm vô kh¸c nhau (task)  
vµ cña h¹t nh©n (kernal) chèng truy nhËp kh«ng hîp ph¸p, c¸c vi xö lý cã c¸c c¸ch  
tæ chøc ®Æc biÖt c¸c thanh ghi ®Þa chØ (bé phËn ph©n trang, ®iÒu khiÓn ®o¹n cña c¸c  
nhiÖm vô).  
C¸c bé vi xö lý tõ thÕ hÖ 486 trë ®i cßn cã mét bé nhí Cache Memory víi  
kÝch th-íc nhiÒu Kbyte ®Ó chøa m¶ng c¸c lÖnh vµ sè liÖu ®ang th-êng dïng lÊy tõ  
bé nhí RAM, nh»m t¨ng tèc ®é truy nhËp.  
§Ó t¨ng tèc ®é tÝnh to¸n c¸c phÐp to¸n dÊu chÊm ®éng, trong c¸c bé vi xö lý  
tõ 486 trë ®i cßn cã bé phËn dÊu chÊm ®éng (FPU, Floating Point Unit), bé phËn  
nµy còng cã c¸c thanh ghi FPU phôc vô riªng cho nã.  
III. Tæ chøc bé nhí trong cña m¸y vi tÝnh  
Bé nhí trong cña m¸y tÝnh dïng ®Ó chøa ch-¬ng tr×nh vµ sè liÖu cña phÇn  
ch-¬ng tr×nh h¹t nh©n vµ c¸c nhiÖm vô. Mçi byte ®-îc g¸n cho mét ®Þa chØ ®Ó  
VXL vµ DMAC cã thÓ truy nhËp tíi.  
Bé nhí RAM ë nh÷ng m¸y tõ 386 trë ®i cã thÓ ®-îc t¸ch riªng ra bé nhí  
®Öm (cache memory), lµ RAM tÜnh víi thêi gian truy nhËp nhanh, cã kÝch th-íc  
d-íi 1Mb ®-îc nèi ngay vµo bus néi bé cña m¸y tÝnh s¸t ngay vi xö lý vµ ®-îc  
®iÒu khiÓn bëi Cache controller. PhÇn cßn l¹i lµ DRAM, chËm h¬n nh-ng rÎ h¬n vµ  
cã dung l-îng lín h¬n. H×nh 6.2 thÓ hiÖn s¬ ®å khèi bªn trong mét m¸y 386.  
Photocopyable  
54  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Local  
DRAM  
80386DX  
CPU  
82315  
Data  
Buffer  
Local  
DRAM  
80387DX  
Coprocessor  
82386  
System  
Controller  
Local  
DRAM  
82385DX  
Cache  
82384  
ISA  
Controller  
Controller  
Cache  
SRAM  
BIOS  
EPROM  
Industry standard architecture (ISA) PC/AT expansion bus  
Local CPU Bus ;  
System address bus;  
System control/ status bus  
System data bus;  
Peripheral bus.  
H×nh 6.2. PhÇn trung t©m m¸y tÝnh AT 386  
Trong s¬ ®å: Vi xö lý lµ 80386, ®ång xö lý to¸n lµ 80387, cache controller  
82385 ®-îc nèi trùc tiÕp víi nhau thµnh mét bus local. C¸c ®-êng ®Þa chØ A2-A31  
cña 386 nèi trùc tiÕp tíi c¸c ®-êng cïng tªn cña 82385DX, c¸c ®-êng sè liÖu D0-  
D31 cña 386 ®-îc nèi trùc tiÕp tíi c¸c ®-êng sè liÖu cïng tªn cña 387DX. H¬n  
n÷a, c¸c ch©n quy ®Þnh chu kú bus D/C#, W/R# vµ M/IO# ®-îc nèi trùc tiÕp tíi c¸c  
ch©n t-¬ng øng cña 82385DX.  
Tõ bus local cña VXL, c¸c ®-êng ®Þa chØ ®-îc ®Öm ra b»ng c¸c chèt ®Þa chØ  
8 bit 74373 (kh«ng vÏ trong h×nh). C¸c ®-êng sè liÖu cña bus local ®-îc ®Öm hai  
chiÒu b»ng Data Buffer 82345.  
System Controller 82346 lµ tr¸i tim cña c¸c chipset 340. Nã nèi tíi bus local  
cña 386, bus më réng ISA, Data buffer 345, ISA Controller 344. Nã thùc hiÖn mét  
sè chøc n¨ng sau:  
- NhËn xung ®ång hå tõ bªn ngoµi ®Ó ph¸t nhÞp clock TURBO vµ clock chËm  
h¬n.  
- Lµm träng tµi bus (c¸c viÖc vÒ DMA vµ lµm t-¬i bé nhí)  
Photocopyable  
55  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
- Ph¸t c¸c tÝn hiÖu ®Þa chØ hµng RAS vµ ®Þa chØ cét CAS ®Õn c¸c d·y nhí cña  
toµn bé bé nhí DRAM trªn MainBoard, ph¸t tÝn hiÖu ghi vµo RAM  
- Ph¸t tÝn hiÖu ready, tÝn hiÖu Reset CPU  
- Giao tiÕp gi÷a ®ång xö lý víi CPU.  
Controller ISA 82344 nèi gi÷a bus local cña CPU víi bus hÖ thèng ®Ó lµm  
c¸c chøc n¨ng giao tiÕp víi CPU, system controller 346, data buffer 345, ROM,  
bus, c¸c thiÕt bÞ ngo¹i vi nh- sau:  
- NhËn c¸c tÝn hiÖu BE0# - BE3# cña CPU, ROM# vµ IOCHRDY tõ bus ISA  
®Ó sinh ra c¸c tÝn hiÖu chän byte ch½n vµ byte lÎ SA0# vµ SBHE#  
- T¹o c¸c tÝn hiÖu giao tiÕp gi÷a 344, 345 vµ 346.  
- Chøa khèi ®iÒu khiÓn ngo¹i vi Peripheral Control gåm c¸c vi m¹ch cã ®é  
tÝch hîp cùc cao (VLSI) quen thuéc: hai chip 82C59 (ng¾t), hai chip 82C37A  
(DMAC), vi m¹ch ®Þnh thêi 82C54, thanh ghi ®Þa chØ trang 74LS612, bé driver cho  
loa, port B parallel I/O, ®ång hå thêi gian thùc vµ bé ®Õm lµm t-¬i bé nhí.  
- Gi¶i m· ®Þa chØ ®Ó t¹o ra c¸c tÝn hiÖu chän chip 8042CS# cho controller bµn  
phÝm 8042 vµ ROMCS# ®Ó cho phÐp chän ROM BIOS.  
Vi m¹ch Peripheral Combo 82341 ®-îc ghÐp vµo bus më réng cña bus ISA,  
nã chøa c¸c VLSI ®Ó thùc hiÖn mét sè chøc n¨ng cña c¸c thiÕt bÞ ngo¹i vi sau ®©y:  
- Hai cæng nèi tiÕp kh«ng ®ång bé 16C450  
- Mét cæng song song cho m¸y in  
- §ång hå thêi gian thùc  
- RAM sæ tay, c¸c controller cho bµn phÝm vµ chuét.  
- Interface cho ®Üa cøng (tiªu chuÈn IDE).  
Controller ®Üa mÒm 82077 cã thÓ ®iÒu khiÓn tíi 4 æ ®Üa mÒm c¸c lo¹i 5”1/2  
vµ 3”1/2.  
III.2. Tæ chøc bé nhí RAM cña m¸y tÝnh.  
XÐt tr-êng hîp m¸y 386, nã cã 32 bit ®Þa chØ, tõ 00000000H ®Õn  
FFFFFFFFH, øng víi 4 GByte kh«ng gian nhí vËt lý. VÒ quan ®iÓm phÇn cøng, ta  
chia kh«ng gian ®ã thµnh 4 d·y nhí réng 1 byte, ®éc lËp nhau, lµ bank0 - bank3,  
mçi bank kÝch th-íc 1 GByte. Chóng cÇn c¸c tÝn hiÖu Bank Enable BE0# tíi BE3#.  
Trong h×nh 7.4 sau, ta thÊy c¸c ®Þa chØ A2 - A31 ®-îc ®Æt song song vµo tÊt c¶ 4  
bank nhí. Cßn mçi bank nhí chØ cung cÊp 1 byte sè liÖu cho 32 ®-êng sè liÖu.  
ë chÕ ®é thùc, 386 chØ dïng c¸c ®-êng ®Þa chØ A2 - A19 vµ 4 tÝn hiÖu BE#  
dïng ®Ó chän bank nhí. Mçi bank chØ cã 256 KByte.  
Tõ h×nh 6.3 ta thÊy kh«ng gian nhí vËt lý ®-îc tæ chøc thµnh d·y c¸c tõ kÐp  
(32bit). Do ®ã mçi tõ kÐp xÕp ®óng hµng (aligned) b¾t ®Çu ë ®Þa chØ béi sè cña 4.  
Dïng tæ hîp c¸c tÝn hiÖu BE# cã thÓ truy nhËp ®-îc vµo c¸c format kh¸c  
nhau (byte, tõ, tõ kÐp) nh- h×nh 6.4. ViÖc truy nhËp vµo ®Þa chØ ®Çu cña tõ kÐp cã  
thÓ cÇn 1 chu kú bus (khi tõ kÐp xÕp ®óng hµng) hoÆc 2 chu kú bus (khi tõ kÐp xÕp  
lÖch hµng, misaligned).  
Photocopyable  
56  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
a. Vi xö lý 80386.  
Name  
Funtion  
Type  
CLK2  
System clock  
I
O
1
1
0
1
A31-A2  
BE3-BE0  
D31-D0  
Address bus  
Byte enable  
Data bus  
O
I/O  
Bus size 16  
I
0
1/0  
1/0  
1/0  
0
BS16  
Write/ Read indication  
Data/ Control indication  
Memory/ IO indication  
Address status  
O
O
O
O
I
W/  
D/  
R
C
M/ IO  
ADS  
READY  
NA  
Transfer acknowledge  
Next address request  
0
I
0
LOCK  
INTR  
NMI  
RESET  
HOLD  
HLDA  
PEREQ  
Bus lock indication  
Interrupt request  
Nonmaskable interrupt request  
System reset  
Bus hold request  
Bus hold acknowledge  
Coprocessor request  
O
I
I
I
I
0
1
1
1
1
1
1
O
I
BUSY  
Coprocessor busy  
Coprocessor error  
I
I
0
0
ERROR  
Photocopyable  
57  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
H×nh 6.3. Vi xö lý 386 vµ tæ chøc kh«ng gian nhí vËt lý.  
Photocopyable  
58  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
H×nh 6.4. Truy nhËp ®óng hµng (aligned) vµo 1 byte, 1 tõ, 1 tõ kÐp.  
H×nh 6.5. Truy nhËp chÖch hµng 1 tõ kÐp.  
Photocopyable  
59  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
III.3. Interface gi÷a VXL vµ bé nhí (h 6.6).  
H×nh 6.6. S¬ ®å giao tiÕp gi÷a VXL víi nhí.  
S¬ ®å giao tiÕp gi÷a vi xö lý 386 víi bé nhí ë chÕ ®é b¶o vÖ ®-îc vÏ trªn  
h×nh 6.6. Ta thÊy r»ng giao tiÕp bao gåm c¸c viÖc:  
- Gi¶i m· c¸c tr¹ng th¸i cña vi xö lý (ADS#, M/IO#, D/C#, W/R#) ®Ó cÊp ra  
c¸c tÝn hiÖu ®iÒu khiÓn bus (ALE#, MWTC#, MRDC#, OE# cho bé nhí, DT/R# vµ  
DEN#).  
- Gi¶i m· 3 ®Þa chØ cao nhÊt (A29-A31) ®Ó cã ®-îc 8 tÝn hiÖu chän chip  
CE0# - CE7#, cho tr-êng hîp mçi chip 1 bit, råi chèt c¸c ®Þa chØ A2-A28 vµ CE0#  
- CE7# ®Ó ®-a sang bé nhí.  
- §Öm truyÒn sè liÖu hai chiÒu gi÷a VXL vµ bé nhí ®-îc ®iÒu khiÓn bëi c¸c  
tÝn hiÖu cho phÐp ®-a ra sè liÖu EN# vµ ®Þnh h-íng truyÒn DIR.  
- Tõ c¸c tÝn hiÖu BE0# - BE3# vµ MWTC# cÊp ®iÒu khiÓn viÕt lªn c¸c bank  
nhí WEB0# - WEB3#.  
- Bé nhí cÊp c¸c tÝn hiÖu NA#, BS# vµ READY# cho VXL.  
III.4. Gi¶i m· ®Þa chØ vµ Latch ®Þa chØ, ®Öm hai chiÒu sè liÖu.  
Bé gi¶i m· ®Þa chØ cã thÓ ®Æt tr-íc hoÆc sau bé chèt (h 6.7a,b). Sau bé chèt  
®Þa chØ cã khi cÇn ®Öm riªng cho ®Þa chØ I/O. VÝ dô dïng 4F244 cã thÓ sink ®-îc 64  
mA (h 6.7c).  
Photocopyable  
60  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
H×nh 6.7. Gi¶i m· vµ latch ®Þa chØ (a, b), ®Öm ®Þa chØ cho I/O.  
Photocopyable  
61  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
H×nh 6.8. Gi¶i m· ®Þa chØ vµ latch ®Þa chØ cña m¸y 386.  
§Ó gi¶i m· ®Þa chØ ng-êi ta dïng m¹ch 74F138 víi 8 ®-êng ra (hoÆc 74F139  
hai m¹ch gi¶i m·, mçi m¹ch cã 4 ®-êng ra). Trªn h×nh 6.8 ta thÊy 2 ®Þa chØ cao  
nhÊt dïng ®Ó gi¶i m· ra 4 tÝn hiÖu chän chip CE0# - CE3#. §Ó Latch ta dïng c¸c vi  
m¹ch 74F373 (cã thÓ sink ®-îc 24 mA max). Ch©n ra 3 tr¹ng th¸i OC# nèi ®Êt, cßn  
ch©n CLK cña 373 ®-îc cÊp ALE# lóc cÇn Latch ®Þa chØ ra. Ch©n ra 3 tr¹ng th¸i  
OC# nèi ®Êt, cßn ch©n CLK cña 373 ®-îc cÊp ALE# lóc cÇn latch ®Þa chØ ra.  
§Ó ®Öm vµ truyÒn sè liÖu hai chiÒu (h×nh 6.9) cho bus sè liÖu cña VXL (dßng  
max 4mA) ta dïng c¸c ®Öm 8 bit hai chiÒu 74F245 víi dßng sink max lµ 64mA. Ta  
còng dïng vi m¹ch 74F646 lµ c¸c ®Öm 2 chiÒu víi thanh ghi, nã cã thÓ dïng nh-  
mét bé ®Öm ®¬n gi¶n hoÆc dïng víi chøc n¨ng ®Öm - thanh ghi trong ®ã sè liÖu  
truyÒn tõ bus nµy vµo mét thanh ghi bªn trong víi mét d·y tÝn hiÖu ®iÒu khiÓn, vµ  
tõ thanh ghi trong ra bus kia víi tÝn hiÖu ®iÒu khiÓn kh¸c.  
Photocopyable  
62  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
H×nh 6.9. §Öm bus sè liÖu hai chiÒu gi÷a VXL vµ bus hÖ thèng.  
III.5. Gi¶i m· tr¹ng th¸i bus VXL  
VXL 386 cÊp trùc tiÕp ra ba tÝn hiÖu quy ®Þnh kiÓu cña chu kú nhí hiÖn hµnh  
cña bus lµ: Mem/IO#, Data/Control# vµ Write/Read#. B¶ng 6.2 chØ ra 8 kiÓu cña  
chu kú bus cña 386. Ngoµi ra, VXL cßn cÊp tÝn hiÖu ADS# (Address Status) h¹  
xuèng møc 0 ®Ó b¸o r»ng 3 tÝn hiÖu trªn lµ b×nh æn h÷u hiÖu. ë h×nh 6.5 ta thÊy  
mét m¹ch logic ®iÒu khiÓn bus, ®-îc dïng ®Ó gi¶i m· kiÓu cña chu kú bus nh»m  
cÊp ra c¸c ®iÒu khiÓn t-¬ng øng tíi Mem/IO, Latch Address.  
B¶ng 6.2. C¸c kiÓu c¶ chu kú bus 386.  
Type of bus  
M / IO D /C W / R  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Interrupt acknowledge  
Idle  
I/O data read  
I/O data write  
Memory cycle read  
Hold/Shutdown  
Memory data read  
Memorty data write  
Photocopyable  
63  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Controller bus cã thÓ ®-îc chÕ t¹o bëi c¸c PLA (Programable Logic Arrays),  
nã lµ c¸c m¹ch cã nhiÒu lèi ra, mçi lèi ra thø i lµ nghÞch ®¶o cña tæng c¸c tÝch c¸c  
lèi vµo thø j .  
16  
7
Output i   
Input j  
  
k1 j1  
C¸c PLA th-êng cã cöa ra ba tr¹ng th¸i (víi ch©n ®iÒu khiÓn CE#). Cã lo¹i  
cßn cã thanh ghi D - Latch ë lèi ra.  
ViÖc lËp tr×nh PLA thùc hiÖn ë nhµ m¸y, b»ng c¸ch ®èt ch¸y nh÷ng mèi nèi  
kh«ng muèn cã t¹i c¸c nót.  
III.6. Bé phËn Cache Memory vµ Controller Cache Memory.  
MÆc dï cã dïng c¸c thiÕt bÞ nhí DRAM tèc ®é truy nhËp tíi 60nS, EPROM  
120nS,... , nh-ng nã vÉn chËm ngay c¶ víi c¸c hÖ m¸y 386 zero-wait-state. VÝ dô  
386 lo¹i 25 MHz ®· ®ßi hái nhí cã thêi gian truy nhËp nhá h¬n 40nS. V× vËy ta vÉn  
ph¶i ®-a thªm c¸c wait-state vµo c¸c chu kú bus truy nhËp cã nhí.  
V× vËy ta ®-a vµo gi÷a VXL vµ bé nhí trong chËm, rÎ tiÒn mét vïng nhí  
SRAM cã dung l-îng nhá, thêi gian truy nhËp rÊt nhanh ®Ó c¶i thiÖn vÊn ®Ò truy  
nhËp bé nhí cña m¸y vi tÝnh. Bé phËn ®ã gäi lµ Cache Memory. Bé phËn nhí nµy  
nhanh vµ cã thÓ ®-îc truy nhËp kh«ng cã chu kú ®îi.  
Nh- vËy Cache Mem gi÷ c¸c lÖnh vµ sè liÖu mµ CPU lÊy tõ bé nhí chÝnh ®Ó  
®-a vµ xö lý. Vµ mçi khi t×m lÖnh hay sè liÖu, CPU ph¶i x¸c ®Þnh xem chóng ®·  
®-îc cÊt trong Cache ch-a; nÕu nã t×m thÊy trong Cache, ta gäi lµ tróng Cache, nÕu  
kh«ng, gäi lµ tr-ît.  
H×nh 6.9. lµ s¬ ®å bè trÝ vµ t-¬ng t¸c gi÷a VXL, Cache, bé nhí chÝnh trong  
tr-êng hîp thùc hiÖn mét roitine lÆp (loop).  
Address bus  
Loop  
Memory  
CPU  
Loop  
Control  
Control  
Data bus  
H×nh 6.10. Cache mét routine lÆp.  
Photocopyable  
64  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Th-êng dïng hai c¸ch tæ chøc cache. C¸ch thø nhÊt lµ dïng cache trùc tiÕp  
(direct-mapped cache) vïng nhí cã ®Þa chØ offset ë trang nhí cache 64KB (h 6.11).  
C¸ch thø hai lµ dïng cache hai ®-êng(two way set associative cache) theo ®ã ta  
chia trang nhí cache thµnh hai bank, mçi bank 32 KByte. Vµ vïng nhí ë c¸c trang  
cña bé nhí chÝnh cã thÓ ®-îc n¹p sang bank A hoÆc bank B cña cache. Do ®ã tû lÖ  
cache tróng sÏ t¨ng lªn. (h 6.11b).  
CACHE MEMORY  
X(n)  
X(i)  
X(1)  
X
X(0)  
MAIN MEMORY PAGES  
Bank A  
x(A)  
Bank B  
x(2)  
Page n  
x(1)  
x(B)  
x(0)  
Page i  
Page 2  
Page 1  
Page 0  
CACHE MEMORY  
MAIN MEMORY PAGES  
H×nh 6.11. Hai ph-¬ng ph¸p cache nhí: nhí trùc tiÕp vµ hai ®-êng.  
ThuËt to¸n ®æi míi bé phËn nhí cache thùc chÊt lµ bá phÇn néi dung nhí ®·  
l©u kh«ng ®-îc dïng (least recent used, LRU) vµ thay vµo ®ã b»ng néi dung míi  
cÇn dïng. ThuËt to¸n nµy cïng víi dïng cache 2 ®-êng cho phÐp t¨ng tû lÖ cache  
tróng lªn nhiÒu.  
Cache Controler 82385 ®-îc thiÕt kÕ ®Ó nèi trùc tiÕp víi CPU 80386. Nã cã  
thÓ ®-îc dïng ®Ó cµi ®Æt nhiÒu cÊu h×nh kh¸c cache nhau. H×nh 6.12 lµ kiÕn tróc  
cña mét hÖ cache víi CPU 386, Cache Controller 82385, nhí cache cïng c¸c ®Öm  
sè liÖu vµ ®Þa chØ.  
Photocopyable  
65  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
386 DX  
CPU  
386 DX  
CPU  
Data  
buffer  
Address  
buffer  
System bus  
CLK2  
CALE  
CLK2  
RESET  
ADS  
RESET  
ADS  
CE/  
CS0-CS3  
COLA, COL D  
NA  
NA  
LOCK  
CWCA, CWCB LOCK  
M/IO, D/C, W/R  
C0, BC3  
M/IO, D/C, W/R  
BE0-BE3  
A2-A31  
D0-D31  
READY  
A2, A31  
BHCLD  
WBS  
FLUSH  
MISS  
CLOCK  
BNA  
DADS  
DBC0-DBC3  
H×nh 6.12. KiÕn tróc cña hÖ ®iÒu khiÎn nhí Cache cña m¸y 386.  
Photocopyable  
66  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
Ta thÊy c¸c ®-êng ®Þa chØ A2 - A31 vµ BE0# - BE3#, c¸c ®-êng sè liÖu D0 -  
D31, c¸c tr¹ng th¸i bus (M/IO#, D/C#, W/R#) do CPU cÊp cho Cache Controller vµ  
c¸c Buffer ®Þa chØ, sè liÖu, ®iÒu khiÓn, cßn Controller cÊp mét sè tÝn hiÖu ®iÒu  
khiÓn tíi bé nhí Cache vµ ra bus local cña nã.  
XÐt vÝ dô ®iÒu khiÓn 32 KByte nhí Cache theo hai ph-¬ng ph¸p Cache trùc  
tiÕp vµ Cache 2 ®-êng ë h×nh 6.13. C¸c tÝn hiÖu ®iÒu khiÓn cña Cache Mem gåm:  
- CALEN (Cache Address Latch Enable) cÊp cho pin E cña Latch 373 cho  
nhí cache.  
- CT/R# (Cache Transmit/ Receive) ®Ó ®iÒu khiÓn chiÒu truyÒn sè liÖu DIR ë  
bé nhËn 245 trªn bus sè liÖu cña bé nhí cache.  
- CS0# - CS3# (Cache chip select) dïng ®Ó chän chip cho bèn vi m¹ch  
SRAM.  
- COEA#, COEB# (Cache Output Enable) vµ CWEA#, CWEB# (Cache  
Write Enable) dïng cho ch©n OE# cña bé nhËn sè liÖu 245vµ ch©n WE# cña  
SRAM.  
Ngoµi ra cßn cã c¸c tÝn hiÖu do Controller cÊp lµ  
- BACP (Bus Address Clock Pulse) t¹o xung nhÞp cho c¸c m¹ch Latch.  
- BAOE (Bus Address Output Enable) ®iÒu khiÓn pin OE# cña Latch.  
- BT/R# (Bus Transmit/ Receive), DOE# (Data Ouput Enable) vµ LDSTB  
(Local Data Strobe) ®iÒu khiÓn transceive sè liÖu 646.  
2 x 373  
local bus  
data  
Address  
O
D
E
OE  
CACHE  
local bus  
address  
CALEN  
4 x 245  
DATA  
A
D
CS0  
-CS3  
OE DIR  
WE  
CT/R  
COEA,B  
CWEA,B  
CS0-CS3  
(a).  
Photocopyable  
67  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
2 x 373  
Address  
DATA  
O
C
E
CE  
CALEN  
local bus  
data  
4 x 245  
A
B
local bus  
address  
CE DIR  
COEA  
CWEA  
CE0-CE3  
CT/R  
CWEB  
COEB  
CS0-  
WE  
CS3 Address  
CE DIR  
DATA  
A
B
(b).  
H×nh 6.13. VÝ dô ®iÒu khiÓn nhí trùc tiÕp (a) vµ hai ®-êng (b).  
Nh÷ng tÝn hiÖu giao tiÕp gi÷a Controller víi bus local cña nã gåm:  
- BBE0# - BBE3# (Bus Byte Enable).  
- BADS# (Bus Next Address Request)  
- BLOCK# (Bus Lock), BHOLD, BHLDA(Bus Hold Acknowledge)  
- FLUSH ®Ó khëi ®Çu xo¸ nhí Cache bëi thiÕt bÞ ngoµi.  
- MISS (Cache Miss) chØ ra r»ng ®Þa chØ hiÖn hµnh trªn bus kh«ng t-¬ng øng  
víi sè liÖu ®ang cã trong Cache vµ ph¶i ®äc l¹i th«ng tin tõ bé nhí chÝnh.  
-WBS (Write Buffer Status) chØ ra r»ng c¸c thanh ghi trong 646 chøa nh÷ng  
sè liÖu (®Ó viÕt vµo bé nhí chÝnh) ®· kh«ng ®-îc viÕt vµo bé nhí chÝnh.  
III.7. Ho¹t ®éng cña Cache trùc tiÕp vµ Cache hai ®-êng.  
Trong thÕ hÖ m¸y 386 toµn bé kh«ng gian nhí vËt lý 4 GByte ®-îc chia  
thµnh 217-1 trang nhí 32 KByte. V× m¸y 386 cã tæ chøc sè liÖu 32 bit, nªn mçi  
trang cã 8Kb tõ kÐp.  
Controller chøa 1024 lèi vµo 26 bit, cã tªn lµ SET 0 - SET 1023 ®Ó chøa  
tr¹ng th¸i cña c¸c « nhí cña Cache Directory. trong tr-êng hîp Cache trùc tiÕp,  
mçi lèi vµo t-¬ng øng víi 8 dßng liªn tiÕp (tõ kÐp) trong d·y nhí Cache. Trong  
tr-êng hîp Cache 2 ®-êng, cã hai Cache Directory lµ A vµ B øng víi c¸c Bank A  
vµ Bank B cña nhí Cache, mçi Bank chøa 4 KByte tõ kÐp, do ®ã trong Controller  
chøa hai tËp lèi vµo (Set Entry) dµi 27 bit. Mçi Set chØ cã 512 lèi vµo. §Þnh d¹ng  
Photocopyable  
68  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
cña th«ng tin ®-a tíi c¸c lèi vµo gåm cã 8 bit Line Valid Bits, Tag Valid Bit vµ Tag  
17 bit (víi Cache trùc tiÕp), 18 bit (víi Cache 2 ®-êng). H×nh 6.14.  
25  
9
8
7
0
17 bits TAG  
18 bits TAG  
Line Valid Bits  
Tag Valid Bits  
26  
9
8
7
0
Line Valid Bits  
Tag Valid Bits  
H×nh 6.14. Format cña Entry SET cña Cache Directory trùc tiÕp vµ hai ®-êng.  
PhÇn TAG dµi 17/18 bit chØ ra sè hiÖu cña 1 trong 131072 trang, 32 KB  
(hoÆc 262144, trang 16 KB) trong bé nhí chÝnh. Cßn TAG_BIT chØ ra TAG cã h÷u  
hiÖu hay kh«ng. NÕu TAG_BIT = 0 th× tÊt c¶ c¸c dßng trong SET lµ kh«ng h÷u  
hiÖu. NÕu TAG_BIT = 1 th× mçi bit trong 8 bit cña LINE_VALID_BITS b»ng 1 cã  
nghÜa r»ng dßng t-¬ng øng trong Cache chøa th«ng tin h÷u hiÖu, tøc lµ th«ng tin  
trong ®ã sÏ ®-îc cËp nhËt tù ®éng.  
VÝ dô:  
NÕu SET 1 = 00005FFh, ta chuyÓn sang d¹ng nhÞ ph©n:  
SET 1 = 0000 0000 0000 0000 0101 1111 1111. Tõ ®ã ta  
cã: TAG = 0000 0000 0000 0000 010 = 2(10)  
TAG_VALID = 1, do ®ã nh÷ng dßng trong LINE_VALID_BIT = 1111 1111  
sÏ h÷u hiÖu. Tøc lµ tÊt c¶ 8 dßng trong Cache ®Òu h÷u hiÖu.  
*Cache trùc tiÕp.  
Khi VXL 386 b¾t ®Çu chu kú ®äc nhí, nã cÊp ®Þa chØ song song ra cho 3 n¬i  
lµ Latch ®Þa chØ cña local bus cña controller, lèi vµo ®Þa chØ cña controller vµ  
interface nhí Cache. khi ®ã, Cache Controller quyÕt ®Þnh lµ VXL cÇn ®äc tõ bé nhí  
chÝnh hay tõ Cache. Nã thùc hiÖn ®iÒu ®ã b»ng c¸ch th«ng dÞch ®Þa chØ vµ so s¸nh  
víi ENTRY cña Cache Directory.  
H×nh 6.15 lµ c¸c tr-êng (field) cña bit ®Þa chØ cho Cache trùc tiÕp vµ Cache  
hai ®-êng. Trong ®ã 17/ 18 bit lín nhÊt A15 - A31 (hoÆc A14 - A31) lµ TAG ®Ó  
chØ ra trang cña bé nhí chÝnh cÇn ®äc th«ng tin tõ ®ã vµo VXL. C¸c bit tiÕp theo,  
A5 - A14 (hoÆc A5 - A13) gäi lµ ®Þa chØ cña SET cña nhí Cache, chç cÇn truy nhËp  
vµo. Cßn 3 bit bÐ nhÊt A2 - A4 ®Ó chän dßng trong SET.  
Photocopyable  
69  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
A31  
A31  
A15 A14  
A5 A4  
A2  
17 bits TAG  
Set address  
(1 of 1024 SETS)  
Line select  
(1 of 8 LINES)  
(1 of 217 pages)  
A14 A13  
A5 A4  
A2  
17 bits TAG  
Set address  
(1 of 512 SETS)  
Line select  
(1 of 8 LINES)  
(1 of 218 pages)  
H×nh 6.15.C¸c tr-êng bit ®Þa chØ dïng cho Cache trùc tiÕp vµ hai ®-êng.  
Khi mét ®Þa chØ do VXL ®Æt vµo lèi vµo ®Þa chØ cña Controller, phÇn SET cña  
®Þa chØ ®ã ®-îc dïng ®Ó chän 1 trong 1024 ENTRY cña SET trong Cache  
Directory. Sau ®ã Controller tiÕn hµnh 3 kiÓm tra nh- sau:  
- So s¸nh tr-êng TAG trong ®Þa chØ víi TAG trong ENTRY cña SET ®· ®-îc  
chän, chóng ph¶i trïng nhau.  
- Bit TAG_VALID_BIT cña ENTRY SET ®-îc chän ph¶i b»ng 1.  
- LINE_VALID_BIT cña ENTRY t-¬ng øng víi gi¸ trÞ trong phÇn  
LINE_SELECT cña ®Þa chØ ph¶i = 1.  
NÕu c¶ ba ®iÒu kiÖn trªn tho¶ m·n th× th«ng tin cÇn ph¶i ®äc tõ bé nhí ®·  
®-îc l-u trong bé nhí Cache vµ h÷u hiÖu. Vµ Controller khëi ®Çu chu kú ®äc d÷  
liÖu tõ Cache thay v× tõ bé nhí chÝnh. §©y lµ tr-êng hîp tróng Cache.  
NÕu hai ®iÒu kiÖn ®Çu tho¶ m·n, cßn LINE_VALID_BIT = 0 th× tr-ît Cache,  
tøc lµ ENTRY cña SET trong Directory t-¬ng øng víi trang ®óng cña nhí chÝnh,  
nh-ng dßng tõ kÐp cÇn ph¶i ®äc vµo VXL l¹i ch-a ®-îc chuyÓn sang Cache, gäi lµ  
tr-ît dßng. Khi ®ã VXL ph¶i ®äc tõ bé nhí chÝnh mét tõ kÐp, ®ång thêi ®-îc ®-a  
vµo nhí Cache vµ LINE_VALID_BIT trong ENTRY cña Cache Directory ®-îc x¸c  
®Þnh b»ng 1. Do ®ã th«ng tin ®-îc ®äc vµo Cache vµ ®¸nh dÊu lµ h÷u hiÖu.  
NÕu trong khi kiÓm tra hoÆc c¸c TAG kh«ng khíp hoÆc TAG_VALID_BIT =  
0 th× x¶y ra tr-ît TAG (tag miss). §ã lµ tr-êng hîp ®äc mét trang ®· kh«ng ®-îc  
Cache, hoÆc ®· Cache nh-ng kh«ng h÷u hiÖu. Trong tr-êng hîp nµy Controller  
ph¶i khëi ®Çu mét chu kú ®äc tõ bé nhí chÝnh viÕt vµo bé nhí Cache. Lóc ®ã TAG  
trong SET ENTRY cña Directory ®-îc cËp nhËt b»ng phÇn TAG cña ®Þa chØ,  
TAG_VALID_BIT ®-îc lËp b»ng 1, mét LINE_VALID_BIT do ®Þa chØ trá ra ®-îc  
lËp b»ng 1, mét LINE_VALID_BITS bÞ xo¸ ®i. B»ng c¸ch nµy mét trang h÷u hiÖu  
vµ ENTRY dßng ®-îc lËp nªn vµ tÊt c¶ c¸c ENTRY kh¸c trong SET b©y giê t-¬ng  
øng víi th«ng tin trong mét trang kh¸c cña nhí chÝnh trë nªn kh«ng h÷u hiÖu.  
* Cache hai ®-êng.  
Photocopyable  
70  
Gi¸o tr×nh KiÕn tróc m¸y tÝnh  
Ng« Nh- Khoa  
ë c¸c h×nh 6.14, 6.15 ®· nªu ra c¸ch tæ chøc nhí Cache, cïng c¸c format cña  
ENTRY SET, c¸c tr-êng ®Þa chØ cña c¶ hai tr-êng hîp Cache trùc tiÕp vµ Cache hai  
®-êng.  
Trong tr-êng hîp Cache hai ®-êng, ngoµi hai Directory A vµ B øng víi hai  
bé ENTRY, cßn cã thªm 512 cê Least Recently Used dµi 1 bit (LRU bit). Nh÷ng  
cê nµy theo dâi xem BANK A hoÆc BANK B ®ang gi÷ th«ng tin l©u kh«ng sö  
dông. Nh÷ng cê nµy ®-îc Controller kiÓm tra b»ng thuËt to¸n thay thÕ nh÷ng th«ng  
tin l©u kh«ng dïng.  
Thao t¸c ®äc th«ng tin tõ nhí Cache hai ®-êng còng gièng nh- ë Cache trùc  
tiÕp. BiÕt r»ng (ë s¬ ®å h.6.15) SET_ADDRESS chØ cã 9 bit. §Çu tiªn ®Þa chØ 9 bit  
nµy ®-îc dïng ®Ó chän 1 trong 512 lèi vµo SET cña c¶ hai Directory A vµ B. TiÕp  
theo TAG_ADDRESS 18 bit ®-îc so s¸nh víi TAG trong mçi lèi vµo SET,  
TAG_VALID_BITS ®-îc kiÓm tra, vµ LINE_VALID_BIT t-¬ng øng víi m· cña  
LINE_SELECT (A2 ®Õn A4) ®-îc kiÓm tra trong mçi lèi vµo SET. NÕu ba ®iÒu  
kiÖn kiÓm tra ®-îc tho¶ m·n ®èi víi mét trong hai lèi vµo SET th× ta nãi lµ tróng  
Cache vµ th«ng tin cña dßng ®-îc ®äc vµo VXL tõ BANK t-¬ng øng cña nhí  
Cache.  
MÆt kh¸c, sÏ x¶y ra tr-ît Cache nÕu kh«ng khíp c¸c TAG hoÆc nÕu c¶ hai  
VALID_BIT bÞ xo¸, hoÆc nÕu LINE_VALID_BIT kh«ng ®-îc lËp trong bÊt cø lèi  
vµo nµo, khi ®ã algorithm sÏ kiÓm tra bit cê LRU ®èi víi SET ®-îc chän bëi ®Þa  
chØ SET ®Ó x¸c ®Þnh xem lèi vµo cña BANK A hay BANK B lµ l©u kh«ng ®-îc  
dïng h¬n, sau ®ã th«ng tin ®-îc ®äc vµo tõ bé nhí chÝnh vµ viÕt vµo BANK nhí  
nµo l©u kh«ng ®-îc dïng.  
III.9. Lµm t-¬i bé nhí DRAM  
Bé nhí DRAM cã c¸c hµng cÇn ph¶i ®-îc lµm t-¬i trong mçi chu kú 2mS.  
M¹ch lµm t-¬i trong chip nhí ph¶i kiÓm tra ®iÖn ¸p c¸c « nhí, nÕu nã lín h¬n  
Vcc/2 th× n¹p nã tíi Vcc , nÕu bÐ h¬n Vcc/2 th× x¶ hÕt vÒ 0V.  
§Ó ®äc mét tõ tõ BANK nhí DRAM, tr-íc hÕt DRAM Controller hoÆc mét  
m¹ch kh¸c cÊp tÝn hiÖu WE# = 1. Sau ®ã göi nöa thÊp cña ®Þa chØ, øng víi ®Þa chØ  
hµng, råi tÝn hiÖu RAS# = 0. Sau 1 thêi gian, controller cÊp nöa ®Þa chØ cao, øng víi  
®Þa chØ cét, råi tÝn hiÖu CAS# = 0. Sau thêi gian nhÊt ®Þnh, tõ cÇn cã sÏ xuÊt hiÖn  
trªn Output Data cña nhí.  
§Ó viÕt vµo DRAM, c¸c tÝn hiÖu còng t-¬ng tù, ngo¹i trõ sau tÝn hiÖu CAS#  
= 0, controller cÊp WE# = 0 ®Ó quy ®Þnh viÕt vµo RAM.  
Controller lµm t-¬i DRAM b»ng c¸ch göi ra mçi ®Þa chØ trong 512 ®Þa chØ  
hµng vµ cÊp RAS# = 0 theo chu kú, kho¶ng 4mS. ViÖc lµm t-¬i ®-îc tiÕn hµnh  
hoÆc theo burst mode hoÆc theo distributed mode. Trong burst mode toµn bé 512  
hµng ®-îc ®Þnh ®Þa chØ vµ ®¸nh nhÞp lÇn l-ît c¸ch nhau 4mS. Cßn ë distributed  
mode hµng ®-îc ®Þnh ®Þa chØ vµ ®¸nh nhÞp sau 4/512 mS. H×nh 6.16 lµ m¹ch lµm  
t-¬i DRAM víi controller lµm t-¬i 8208.  
Photocopyable  
71  
Tải về để xem bản đầy đủ
doc 41 trang baolam 26/04/2022 8700
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 2)", để 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_phan_2.doc