• Non ci sono risultati.

A hie adeg

N/A
N/A
Protected

Academic year: 2021

Condividi "A hie adeg"

Copied!
35
0
0

Testo completo

(1)

8 - Memorie, CPU e Bus

Ugo DalLago

DipartimentodiS ienzedell'Informazione

UniversitàdegliStudidiBologna

Anno A ademi o2007/2008

(2)
(3)

â—®

Èvenuto ilmomentodi parlaredellememorie.

â—®

L'abbiamo giàfattonella prima partedel orso, maora abbiamo a quisito ompetenzespe i he relativeallivello

logi 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)

(4)

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

(5)

Memoria 4

×

3

Data 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

(6)

â—®

Lastrutturadella memoria heabbiamo appena des ritto fa ilital'ampliamentodelnumero diparoleedelladimensione

delleparole.

â—®

Sipotrebbepassareadunamemoria8

×

3oppureaduna

memoria4

×

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

(7)

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

(8)

â—®

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.

â—®

(9)

â—®

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 la

an 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

(10)

â—®

Tutte leCPU modernesono ontenunte inununi o hip.

â—®

Ipindi una CPUpossonoesseredivisiin tre ategorie:

â—®

Pinpergliindirizzi.

â—®

Pinperidati.

â—®

Pindi ontrollo.

â—®

La omuni azione tra laCPUe lamemoria avviene attraverso

ilbus e oinvolge ipinpergli indirizzi,idati ei pindi

ontrollo.

â—®

Il numero mdei pinpergliindirizzi eilnumero n dei pinperi

dati sonodueparametrifondamentali diuna CPU.

â—®

Ipindi ontrollopossono essere(approssimativamente) raggruppati ome segue:

â—®

Controllodel Bus.

â—®

Interrupt.

â—®

ArbitraggiodelBus.

â—®

Comuni azione onilCopro essore.

â—®

Stato.

â—®

(11)

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

Φ

(12)

â—®

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.

(13)

Bus controller

Memory bus

I/O bus

On-chip bus Disk CPU chip

Registers

Buses

ALU

Memory

Modem Printer

(14)

â—®

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 del

bus, 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.

(15)

â—®

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 diindirizzare

ungrande 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 progettisti

optano a volteperun bus multiplexato: le stesselinee

(16)

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

(17)

â—®

Ibuspossono essereseparati indue ategorie distinteinbase

alla lorotemporizzazione.

â—®

Neibus sin roni,esisteunalinea pilotatadaun lo k, on

frequenza 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.

(18)

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

(19)

ADDRESS MREQ

RD

MSYN

DATA SSYN

Memory address to be read

Data

(20)

â—®

Quando piùdispositivi onnessiallostesso buspossono

fungere 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

(21)

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

(22)

Arbitration line +5v

In Out

Bus request Busy

1 2 3 4 5

In Out In Out In Out In Out

(23)

â—®

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).

(24)

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

(25)

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

(26)

â—®

Retro ompatibile ontuttiimodellipre e edenti della

famiglia: 8088, 80286,80386, et .

â—®

Finoa55 milionidi transistor,noa 3

,

2 GHz,larghezzadi

linea di0

,

09mi ron.

â—®

Puòs ambiaredati onlamemoriain unitàda 64bit, an he

segliindirizzie 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

(27)

â—®

È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 are

onmemoriedi tipidiversi.

(28)

â—®

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 il

bus EISA.

(29)

Motherboard PC bus PC bus

connector Contact

Plug-in board

Chips

CPU and other chips

New connector for PC/AT Edge connector

(30)

â—®

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 ondo

perilbusISA.

â—®

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.

(31)

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

(32)

â—®

Il Chip8255A èprodotto da Intel.

â—®

Il suo ompitoè quellodiinterfa iareil al olatore on

dispositiviesterni.

â—®

LaCPUpuò omuni are onil dispositivomodi ando o leggendo il ontenuto di treregistri(a 8bit) A, B eC interni

al hip8255A.

â—®

LaCPU puòa edere airegistriattraverso8linee diI/O,

modi andoopportunamente al uniingressidi ontrollo.

â—®

IregistriA,B e C possono an heesseres rittidai dispositivi

esterni. 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

(33)

CS

WR RD A0-A1

RESET D0-D7

2

8

8

8 8

Port A

Port B

Port C 8255A

Parallel

I/O

chip

(34)

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

?

?

??

??

??

(35)

A 0

A 15 Address bus

A 0

A 15 Address bus

CS CS CS

2K 3 8

EPROM 2K 3 8

RAM PI0

(a)

(b)

CS CS CS

2K 3 8

EPROM 2K 3 8

RAM PI0

Riferimenti

Documenti correlati

◮ Per ottenere le espressioni booleane di partenza, si può pro edere appli ando ad altrettante funzioni booleane la. pro edura vista in

◮ Sappiamo he ogni ella di una mappa di Karnaugh orrisponde ad un assegnamento di valore di verità alle variabili

essere trasformata in una rete equivalente ontenente solo la.. porta NAND o, in alternativa, ontenente solo la

Nella sezione Stato futuro sono elen ati i valori dello stato.. futuro per ogni ombinazione dei valori dello stato

LV ontiene l'indirizzo della prima parola di memoria tra quelle. he ontengono le variabili lo ali della

[r]

Mettez cette liaifon dans votre foupe au moment que vous êtes prêt à fervir, f'ervez les Moules autour de votre foupe fur le bord. du

Nel 2000, la distribuzione di una popolazione di famiglie per classi di spesa mensile(inmilioni di lire) eper areageograficadi residenzaèstatala seguente: a) Si calcolino medie