8 - Memorie, CPU e Bus
Ugo DalLago
DipartimentodiS ienzedell'Informazione
Università degliStudidiBologna
Anno A ademi o2007/2008
â—®
Èvenuto ilmomentodi parlaredellememorie.◮
L'abbiamo già fattonella prima partedel orso, maora abbiamo a quisito ompetenzespe i he relativeallivellologi o-digitale.
â—®
Ciò ipermetterà di apiremeglioil funzionamentointerno
dellememorie.
â—®
Iblo hidi memoria heabbiamo in ontratosinora sono
essenzialmentedi tretipi: registri, a hee memoria
entrale.
â—®
Tuttisonorealizzatitramite opportuneretisequenziali.
â—®
Gliulitmiduehannobisognodiingressipergliindirizzi,oltre
heperidati.
â—®
Le portelogi heutilizzate sonoquelle he onos iamo già . A
volte, però,risultautile averea disposizioneundispositivo a
tre stati:
(b) (a)
Data
in Data
out
Control
(d)
(c)
D 14
Q
CK CLR
PR V CC
Q
D Q
CK CLR
PR Q
13 12 11 10 9 8
1 2 3 4
(a)
5 6 7
GND
20 V CC
19 18 17 16 15 14 13 12 11
1 2 3 4 5 6 7 8 9 10
GND (b)
Q D
CK CLR
D Q
CK CLR
Q D
CK CLR
D Q
CK CLR
Q D
CK CLR
Q D
CK CLR
Q D
CK CLR
Q D
CK CLR
Memoria 4
×
3Data in
Write gate I 0
I 1 I 2
Q D
CK
Word 0
Word 1
Word 2
Word 3
O 1 O 2
O 3 CS
RD
OE
Word 0 select line
Word 1 select line
Word 2 select line
CS • RD A 0
A 1
Output enable = CS • RD • OE Q D
CK
Q D
CK
Q D
CK
Q D
CK
Q D
CK Q D
CK
Q D
CK
Q D
CK
Q D
CK Q D
CK
Q D
CK
â—®
Lastrutturadella memoria heabbiamo appena des ritto fa ilital'ampliamentodelnumero diparoleedelladimensionedelleparole.
â—®
Sipotrebbepassareadunamemoria8
×
3oppureadunamemoria4
×
8.â—®
Laleggedi Moorevale an he inquesto ontesto.
â—®
Ladimensionedei hipdi memoriadisponibilisulmer ato
aumenta onun andamentoesponenzialerispettoaltempo.
â—®
Esistonomoltissimimodidiversiperorganizzareuna memoria,ognuno onisuoi pregie isuoidifetti.
â—®
Se ilnumero di ingressipergli indirizzidiventatroppogrande, si puòutilizzareuno s hemaamatri e,in ui ogni parola èunivo amenteasso iataaduna oppiadi indirizzi,anzi hé ad
unsingoloindirizzo.
â—®
Inquestomodo, però,ène essariopiùtempoperleggere(o
s rivere)unaparola: o orre omuni areal hipduesequenze
D0 A0
A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18
D1 D2 D3 D4 D5 D6 D7
WE (a) 512K 3 8
Memory chip (4 Mbit)
CS OE
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
RAS CAS
D
WE (b) 4096K 3 1
Memory chip (4 Mbit)
CS OE
â—®
Le memorie he abbiamo onsideratonora possono essere
lettee s ritteesi hiamano,permotivistori i,RAM(Random
A essMemory).
â—®
Esistonoduetipi diRAM: leRAM stati he(o SRAM) e le
RAM dinami he(o DRAM).
â—®
LeRAMstati hesono ostruite on ir uitisimiliaiip-opD.
â—®
LeRAMdinami hesono ostruite on elle ostituitedaun
transistoredaun ondensatore.
â—®
Il vantaggio delleRAM dinami hestanella loro apa ità ,mentre losvantaggiosta nellalorolentezza.
â—®
Esistonovaritipidi RAM dinami a:
â—®
FPM(FastPage Mode),organizzatoamatri e dibit.
â—®
EDO(ExtendedDataOutput),in uipiùoperazionidilettura
es ritturapossonoesseresovrapposte.
â—®
SDRAM(Syn hronousDRAM), unaRAMibrida,parte
stati aepartedinami a.
â—®
â—®
Inmolte appli azioni,risultautile averea disposizioneuna memoria:â—®
Nonvolatile,inmodotale heidatinonvenganopersi
quandoètoltal'alimentazione.
â—®
Asola lettura.
â—®
Il ontenuto dellememorieROM (Read-OnlyMemory) non
puòessere modi atoné an ellato.
â—®
Idatisonoinseriti nellamemoriadurantelafabbri azione.
â—®
Le memoriePROM (ProgrammableROM),possonoessere
programmate, una solavolta.
â—®
Unadellete ni he hesiutilizzano nellePROMsonoifusibili.
â—®
Le memorieEPROM (ErasablePROM),permettonoan he laan ellazione, heperòri hiedeun tempo relativamentelungo
â—®
NellememorieEEPROM (Ele troni allyEPROM) la an ellazionepuò essereeettuatainpo o tempo.◮
LadimensionedelleEEPROMèrelativamentepi ola.
â—®
Le memorieash ha tuttiivantaggi delleEEPROM, on
l'uni o svantaggio herisultano inutilizzabilidopo ir a
â—®
Tutte leCPU modernesono ontenunte inununi o hip.
â—®
Ipindi una CPUpossonoesseredivisiin tre ategorie:â—®
Pinpergliindirizzi.
â—®
Pinperidati.
â—®
Pindi ontrollo.
â—®
La omuni azione tra laCPUe lamemoria avviene attraversoilbus e oinvolge ipinpergli indirizzi,idati ei pindi
ontrollo.
â—®
Il numero mdei pinpergliindirizzi eilnumero n dei pinperidati sonodueparametrifondamentali diuna CPU.
â—®
Ipindi ontrollopossono essere(approssimativamente) raggruppati ome segue:â—®
Controllodel Bus.
â—®
Interrupt.
â—®
ArbitraggiodelBus.
â—®
Comuni azione onilCopro essore.
â—®
Stato.
â—®
Typical Micro- Processor
Symbol for electrical ground Symbol
for clock signal
Bus arbitration Addressing
Coprocessor Status
Miscellaneous Interrupts
Bus control
Power is 5volts +5v
Data
Φ
â—®
Un bus è un ollegamentoelettri o ostituitodauna sequenza
di liparalleli, heserve afar omuni are omponentidiverse
di unsistemadi al olo.
â—®
Inquesta parte del orso i o uperemo deibus he
onnettono laCPU onlamemoriae onidispositividi I/O.
â—®
Esistonoan hebusinterniallaCPU. Neparleremo inuna
partesu essivadel orso.
â—®
NeiprimiPCvieraununi obus disistema,mentreoggi 'è:◮
Almenoun busperla omuni azionetraCPUememoria.
â—®
Almenoun busperla omuni azionetraCPUedispositividi
I/O.
â—®
Spessoaibus esternialla CPUpossono essere onnessi dispositividiversi. Perquesto o orrestabilire:â—®
Un'insiemediregoledifunzionamento,dettoproto ollo del
bus.
â—®
Un'insiemedispe i he me ani heedelettri he.
Bus controller
Memory bus
I/O bus
On-chip bus Disk CPU chip
Registers
Buses
ALU
Memory
Modem Printer
â—®
Tra i omponenti he sono onnessiadunbus, distinguiamo:â—®
I omponenti hesonoattiviepossonoiniziareun
trasferimentodati( hiamatimaster ).
â—®
I omponenti hesonopassivierestandoinattesadiuna
ri hiesta( hiamatislave).
â—®
Idispositivisono onnessialbus attraversoundriver del bus, unri evitoredel busoppure untrasmettitore-ri evitore delbus, hedalpunto divista elettroni o:
â—®
Possonoesseredispositivia trestati.
â—®
Possonoessere ollettori aperti,il ui omportamentoè
simileadunaportaOR.
â—®
Ilidel bushannouna semanti asimilea quelladei pindella
CPU.
â—®
Nonèperò detto he isiauna orrispondenzauno-a-unotrai
lidelbuseipindellaCPU.
â—®
Un ertonumero di litraquelli omponentiun bussarÃ
dedi ato agliindirizzi.
â—®
Se unbusha n lineed'indirizzi, laCPU potrà indirizzare2 n
lo azionidi memoria.
â—®
O orre trovare un ompromessotral'esigenza diindirizzareungrande numero di lo azioni dimemoria el'esigenza di non
o upare troppo spazio.
â—®
Comele lineed'indirizzi,an he lelineedi datitendono a
res ere dinumero,aumentando quindilalarghezza dibanda
dei datisulbus.
â—®
An he lavelo ità del buspuòessereaumentata, manon oltre
un erto limite.
â—®
Idatisulineedistinteviaggianoavelo ità leggermentedistinte
(disallineamentodelbus).
â—®
Peraggirareilproblemadi bustroppo ampi,i progettistioptano a volteperun bus multiplexato: le stesselinee
8088
(a)
20-Bit address
Control
80286
(b)
20-Bit address
4-Bit address
Control
4-Bit address
Control Control
20-Bit address
Control
80386
(c)
8-Bit address
Control
â—®
Ibuspossono essereseparati indue ategorie distinteinbase
alla lorotemporizzazione.
â—®
Neibus sin roni,esisteunalinea pilotatadaun lo k, onfrequenza generalmente ompresatra 5e 100 MHz. Tuttele
operazionisulbus ri hiedonounnumero interodi questi i li.
â—®
Neibus asin roni,inve e,non 'èunorologioprin ipale: le
operazionisulbus possono avere una qualsiasilunghezza.
â—®
Perragionistori he eperrendere fa ileil progetto, i bus
sin ronisonoutilizzatimoltopiùspessodei busasin roni.
â—®
Ibusasin roni, però,hanno unfondamentalevantaggio:
permettono disfruttare pienamentelavelo ità delleperiferi he
in gio o.
â—®
Ibussin roni,d'altro anto,devonosempreessereregolatialla
velo ità dellaperiferi apiùlenta.
T AD T ML T M T RL T DS T MH T RH T DH
Address output delay Address stable prior to MREQ MREQ delay from falling edge of Φ in T 1 RD delay from falling edge of Φ in T 1 Data setup time prior to falling edge of Φ MREQ delay from falling edge of Φ in T 3 RD delay from falling edge of Φ in T 3 Data hold time from negation of RD
6
5
0
(b)
11
8 8
8 8
nsec nsec nsec nsec nsec nsec nsec nsec ADDRESS
Time (a) T AD
T M
T DS
T MH
T RH
T DH T RL
Φ
DATA
T 1 T 2 T 3
MREQ
RD
WAIT
Read cycle with 1 wait state
Memory address to be read
Data
T ML
Parameter Min Max Unit
Symbol
ADDRESS MREQ
RD
MSYN
DATA SSYN
Memory address to be read
Data
â—®
Quando piùdispositivi onnessiallostesso buspossonofungere damaster, sirendene essariaqual he formadi
arbitraggio del bus.
â—®
L'arbitraggiodel bus puòessere entralizzato: unsingolo
arbitro determina hi sarà ilprossimomaster.
â—®
Esistonoduelinee: unaperlari hiestadelbuseunaperla
on essionedelbus.
â—®
Questos hemaèan he hiamatodaisy hainingeassegna
impli itamenteunapriorità piùaltaaidispositivisi amente
piùvi iniall'arbitro.
â—®
Perovviareaquesta rigidità ,si possonoutilizzares hemi on
priorità .
â—®
L'arbitraggiodel bus puòperòan heessere de entralizzato:
â—®
Peresempio,potrebbeesser iunalineadiri hiestaperogni
dispositivo, ias una onlapropriapriorità .
â—®
Alternativamente,sipotrebbeavere unos hema onuna
singolalineadi ri hiesta,unalineaasseritadalmaster orrente
Bus grant
Bus request
I/O devices (a)
(b) Bus grant
may or may not be propagated along the chain
Bus request level 1
Bus grant level 1 Bus request level 2 Bus grant level 2
1 2 3 4 5
Arbiter Arbiter
1 2 3 4 5
Arbitration line +5v
In Out
Bus request Busy
1 2 3 4 5
In Out In Out In Out In Out
â—®
Oltreaitrasferimentididati traunmastere unoslave,
esistono altritipidi eventi heriguardanoi busesterni.
â—®
Primadi tutto,sipossono eettuaretrasferimentidiblo hi di dati,anzi hé disingoleparoledi memoria.◮
Utilisoprattuttoinpresenzadiuna a he.
â—®
Puòesistereuno spe iale i lo dibus he onsentead una
CPUdi leggere una parola dallamemoria,analizzarla e
ris riverla inmemoria.
â—®
Utilepergestirel'a esso on orrenteallestrutturedati.
â—®
Inne, attraverso ilbusviaggiano an heisegnalidi interrupt.
â—®
Tral'altro,servonoa omuni areallaCPU lanedi
un'operazionediI/O.
â—®
Diverseperiferi he potrebberoaverbisognodi interromperela
CPU ontemporaneamente. Serve quindiunme anismodi
arbitraggio,gestitodaun ontrollore degliinterrupt(per
esempioil hipIntel8259A).
Memory address to be read
Count ADDRESS
Φ
DATA Data Data Data Data
T 1 T 2 T 3 T 4 T 5 T 6 T 7
MREQ
RD
WAIT
BLOCK
8259A Interrupt controller CPU
D0-D7 CS A0 WR INTA RD
INT IR0
IR1 IR2 IR3 IR4 IR5 IR6 IR7
+5 v
Keyboard Clock
Disk
Printer
â—®
Retro ompatibile ontuttiimodellipre e edenti dellafamiglia: 8088, 80286,80386, et .
â—®
Finoa55 milionidi transistor,noa 3
,
2 GHz,larghezzadilinea di0
,
09mi ron.â—®
Puòs ambiaredati onlamemoriain unità da 64bit, an hesegliindirizzie iregistrisonoa 32bit.
â—®
Due ALU helavoranoin paralleloe hepermettono di
eseguiredue programmimoltovelo emente.
â—®
Almeno duelivelli di a he.
â—®
Possibiliproblemidiin oerenza,risoltitramiteil osiddetto
snooping.
â—®
Due bus: unoperlamemoriae uno(PCI)peri dispositividi
I/O.
â—®
Problema: dissipazione del alore.
â—®
Soluzione: inque statipossibili, hevarianodallapienaâ—®
Èunpro essorea 64bit.
â—®
1369 pin,dispostiinuna matri hequadrata di37×
37−
1 pin.â—®
Inizialmente: 29milioni ditransistor,600 MHze 29milionidi
transistor.
â—®
Poi: aumentato.
â—®
Due a heinterne alla CPU.
â—®
32KBperleistruzionie64KBperidati.
â—®
Una a hedi se ondo livello,esterna al hip.
â—®
43 lineedibus pergliindirizzie 128 lineedibusperi dati.
â—®
Sunha sviluppato UPA, he onsentealla CPUdi omuni areonmemoriedi tipidiversi.
â—®
Il busdei primi PCaveva 62 linee,di ui 20 per gliindirizzie
8 peridati.
â—®
Ognidispositivoera ollegatoallas hedamadredelPC on
dei onnettoridistanziati2 munodall'altro.
â—®
Quando IBMintrodusseil PC/AT,aggiunse 36linee,rimanendo omunque ompatibile oniprimi PC.
â—®
Conil su essoredel PC/AT, hiamato PS/2,IBMde isedi
progettareun bus ompletamentenuovo.
â—®
Ilmer ato ontinuòperòadutilizzareun bussimilealbus del
PC/AT, ribattezzandoloISA.
â—®
Su essivamente ilbusISA fu estesoa32 bit,diventando ilbus EISA.
Motherboard PC bus PC bus
connector Contact
Plug-in board
Chips
CPU and other chips
New connector for PC/AT Edge connector
â—®
IbusISA, EISAsonotroppo lentipertutte leappli azioni he
ri hiedono una ertalarghezzadi banda.
â—®
Attornoal1990, Intelprogettòunnuovo bus onuna
larghezza di banda moltopiùampiae lo hiamò PCI
(Peripheral ComponentInter onne t).
â—®
LalarghezzadibandadelbusPCI originarioeradi133MBal
se ondo, ontrounalarghezzadibandadi16
,
7MBalse ondoperilbusISA.
â—®
Nelleversionisu essive,lalarghezzadibandaperil busPCI
aumentaulteriormente.
â—®
NeiPCmoderni,ibus ingio o sonoin generemolti,in modo
taleda bilan iare esigenzediverse.
â—®
Il busPCI è sin rono.◮
Le lineedegliindirizzi edei datisono multiplexate.
ISA bridge
Modem Mouse
PCI bridge
CPU Main
memory
SCSI USB
Local bus
Sound
card Printer Available
ISA slot ISA bus
IDE disk
Available PCI slot
Key- board
Mon- itor Graphics
adaptor Level 2
cache
Cache bus Memory bus
PCI bus
â—®
Il Chip8255A èprodotto da Intel.◮
Il suo ompitoè quellodiinterfa iareil al olatore ondispositiviesterni.
â—®
LaCPUpuò omuni are onil dispositivomodi ando o leggendo il ontenuto di treregistri(a 8bit) A, B eC internial hip8255A.
â—®
LaCPU puòa edere airegistriattraverso8linee diI/O,
modi andoopportunamente al uniingressidi ontrollo.
â—®
IregistriA,B e C possono an heesseres rittidai dispositiviesterni. In questomodola CPUpuòri evere datiin inputdal
dispositivo.
â—®
Esistonoduemodi in ui laCPUsi puòinterfa iare on il
hip:
â—®
Considerandoil hip omeunveroeproprioI/O.Inquesto
asoo orrerà unalinea,nelbus, heindi a he isi sta
riferendoadun dispositivodiI/O.
â—®
Usandol'I/Omappatoin memoria,assegnandoal hip
quattroindirizzitraquelliappartenentiallospazio di
CS
WR RD A0-A1
RESET D0-D7
2
8
8
8 8
Port A
Port B
Port C 8255A
Parallel
I/O
chip
EPROM at address 0 RAM at address 8000H PIO at FFFCH
0 4K 8K 12K 16K 20K 24K 28K 32K 36K 40K 44K 48K 52K 56K 60K 64K
?
?
??
??
??