la memòria i l’entrada/sortidadeeea.urv.cat/deeea/ecanto/www/sed/up_4.pdf · des del punt de...
TRANSCRIPT
La memòriai
l’entrada/sortida
enmagatzemament de dades
Necessitem memòria per a enmagatzemar ‘dades’. Tant les dades com el propiprograma a executar. No podem tenir-los tots en registres.
Tindrem una estructura del tipus:
6800068000
A23 - A1 AN- A1
A23 - AN+1
FC2 - FC0
@ DECOD.
Disp. Mem..1
Disp. Mem..M
. . . AS
LDS
UDS
tipus de memòriaRead Only Memory (ROM): Memòria de només lectura. No volàtil. La informació ha de serintroduïda pel fabricant de semiconductors; per aquesta raó, només s’utilitza en sèries molt grans.Programmable read only memory (PROM): No volàtil. Pot ser programada per l’usuari, mitjançant unprogramador (‘fusibles’).Erasable PROM (EPROM): No volàtil. Pot ser programada per l’usuari i esborrada en una insoladoraUV.Electrically Erasable PROM (EEPROM): Esborrable elèctricament. És reprogramable, en algunscasos, incluida en un sistema en funcionament –> Podem considerar que permet realitzar un nombrelimitat de cicles d’escriptura molt lents. FLASH: Permet escriure i llegir en el sistema. Té més prestacions que les EEPROM (capacitat,consum, etc.). Des del punt de ista tecnològic, el procès de fabricació és molt complexe.Random Access Memory (RAM): Memòria d’accés ‘aleatori’. Memòria de lectura i escriptura, en laque el temps d’accés no depèn de l’element accedit. En general, volàtil i la forma habitual de guardarles dades i el codi del programa a executar (en sistemes d’ús general).
Static (SRAM): Memòria RAM estàtica. La cel.la de memòria es del tipus biestable, una vegada s’ha escrit unvalor aquest es manté fins una nova escriptura (mentre es manté VDD)Dynamic (DRAM): Memoria RAM dinàmica. La cel.la de memòria és una capacitat que enmagatzema lainformació en forma de càrrega. Degut als corrents de fuita, la càrrega del condensardor ha de ser regeneradaperiòdicament per a mantenir el valor enmagatzemat.Non-volatile RAM (NVRAM): RAM no volàtil gràcies a una alimentació externa.
cel.les bàsiques
SRAM
BitBit !
Bit
DRAMs
s
s
característiques
Velocitat:Temps d’accés: Lapse entre @ estable i dada estable.
Temps de cicle: Temps mínim entre accessos consecutius.
Densitat:Quantitat de bits enmagatzemats per chip. Influeix en el nº de chips i en elcost.
Potència dissipada:Potència d’operació.
Potència en ‘stand-by’.
Influència en la temperatura i consum –> Cost i fiabilitat.
Cost:Cost por chip.
Cost de la lògica de control.
SRAM versus DRAM
DRAM: Gran nivell d’integració, lògica de control (refresc,@ multiplex. ), baix cost per bit, elevat temps de cicle.
SRAM: Menor nivell d’integració, inclusió en sistemesinmediata, alt cost per bit, baix temps de cicle.
Compromís: Cost (memòria + placa + lògica) - velocitat.
Sistemes mixtes (memòries ‘cache’).
DRAM....1/2Gran densitat d'integració.
Baix consum de potència.
Organització típica: 1bit per posició (x1).
Integració ⇒ matrius de cel.les
Menor nombre de pins ⇒ @ files i columnes multiplexades ⇒ matriu quadrada
Definició estàndard dels pins de sortida d'una DRAM en organizació x1.
64 Kbits
DINWE*
VSSCAS*D0A6A3A4A5A7
A0A1A2
VDD
RAS*
Dec
. Fil
a
Control
Bu
ffer
Dec. Colum.
A0 - AN
RAS*CAS*WE*
D OUT
D IN
DRAM....2/2
El nombre de ‘chips’ utilitzat és funció de:Ample del bus de dades de la CPU.
La capacitat total de memòria.
La capacitat de cada ‘chip’.
S’ha de tenir en compte:El consum de potència,
el cost de: les DRAM’s, de la lògica de control i la placa
tamany i granularitat.
Altres organitzacions: Wide-word ( nKx4, mKx8)
temporització
Exemple d’un cicle de lectura genèric, l’escriptura seria anàloga:
RAS!
CAS!
@
WE!
DO
R@ C@
Dades
tAC
tCYC
refresc
Informació enmagatzemada en forma de càrregues en petites capacitats.
Corrents de fuita ⇒ pèrdua d’informació
Per evitar’ho hem de:Llegir la tensió de cada cel.la.
Amplificar-la.
Carregar la capacitat amb la seva tensió original.
Repetidament en períodes prudencials de temps.
Les DRAM’s refresquen ‘automàticament’ el contingut d’una fila si rebenuna determinada seqüència de control ⇒ hem de tenir una lògica que, enperíodes en que no s’accedeixi a memòria, generi successives direccions defila i la seqüència de control adequada.
interfície amb la memòria
Haurem de realitzar una circuiteria d’interfície entre CPU y memòria:
MUX
MUX BUFF
CONTROLi
Decod.
MEMMEM2
1
8
MEMMEM2
1
8
.
.
.
@BUS
DATA BUS
@COL
@FIL
@REFRESC
@BUS-H (decod.)
CONTROL-CPU
@
CONTROL-MEM
bloc de control
En la circuiteria de control es generen els senyals de selecció de banc dememòria (decodificació de direccions), les direccions a refrescar i lesseqüències de cotrol per lectura, escriptura, lectura-modificació, refresc...
TEMP
LÒGICA CONTROL
CONTA
MUX
DECODDECOD
LOGLOG
Refresc Decodificació
CONTROL-CPU
@-CPUFILES MEM
CONTROL-MEM
@BUS-H
SELEC
controladors de memòria dinàmica
Realitzen qüasi totes les funcions relacionades amb la gestió dels blocs deDRAM’s: Part de la decodificació, multiplexació de @ fila-columna, generacióde senyals de control, generació de cicles de refresc...
Simplificació del disseny.
Menors retards.
Menor nombre de components i menor àrea de placa.
Possible estalvi.
Criteris d’elecció:Quina memòria soporta, permet accés a byte, nombre de bancs seleccionable.
Quants chips pot atacar (drivers?).
Retards introduïts.
Gestió del refresc.
Ex.: Intel 8203, especialment pensat per a la família i8086.
disseny amb DRAM’s
La implementació amb components reals pot presentar una sèrie de problemesderivats, habitualment, de les capacitats amb que carrega la DRAM i a lacircuiteria addicional:
Retards de propagació, ‘skew’ entre senyals. Augmentem el temps efectiu d’accésa la memòria, poden provocar disfuncions. Han d’usar-se els mínims components,amb les mínimes diferències (integrats),...
Pot aparèixer una capacitat excessiva per al driver, la qual cosa provocaria un granretard. En podem usar diversos, agrupant diferents bancades.
Pot aparèixer ‘ringing’ en les conmutacions. Pot provocar falses conmutacions odanys en les memòries. Utilitzem resistències d‘amortiguació.
Una gran capacitat conmutant introdueix molt de soroll en l’alimentació.Utilitzarem capacitats de desacoplament.
SRAM
No necessiten refresc. No multiplexen direccions –> Interfície més sençilla.
Són normalment más rápides, més voluminoses i més cares.
S’acostumen a utilitzar per a instruments o per a implementar petites quantitats.
Moltes presenten un OE! per a solucionar el problema de bus contention.
No han d’escriure dos dispositius simultàniament en una mateixa línia de bus.Podria passar si volguessim optimitzar temps d’accés i controlar les memòriesnomés pel chip-select.
S’utilizen SRAM CMOS en sistemes que requereixen baix consum. Els driverstambé seran CMOS. Han de reduir-se les capacitats. No s’han de deixarentrades CMOS flotants, utilitzarem pull resistors, ......
entrada/sortida
Necessitem dispositius d’entrada/sortida:Hem de poder prendre dades del món exterior (dades a processar).
Hem de poder entregar dades al món exterior (resultats).
Hem d’inicialitzar el sistema (omplim la memòria).
Veurem:Diferenciès amb la memòria.
Com es direccionen els dispositius.
Com es controlen.
Comunicacions: estandard, sèrie, paral.lel....
diferències entre memòria i entrada/sortida
Els perifèrics són més lents. La memòria traballa a una velocitatcomparable a la del microprocessador. Els dispositius p.e. mecànicos sónmoltíssim més lents, no podem tractar-los amb wait-states so pena deparalitzar la màquina.
Els dispositius tenen un major grau de’iniciativa que la memòria. Podeninterrompre al processador, li poden demanar els busos, poden indicar elseu estat....
En la memòria solsament podem llegir i escriure informació. En elsdispositius d’entrada/sortida també podrem realitzar altres accions, id’alguna forma els hi haurem d’indicar (en el fons únicament llegirem iescriurem).
ports d’entrada/sortidaSe solen conèixer com a ports aquells ‘punts’ de visibilitat, d’entrada o sortida,amb el món exterior.Les accions que emprendrà el dispositiu, el seu estat i les dades amb quetreballem són accessibles a través d’aquests ports. Habitualment, registres obuffers que nosaltres veiem com a registres.
Registre de control.Registre d’estat.Registre d’entrada de dades.Registre de sortida de dades.
CPU CPU
DECOD
I/ODISP.
CONTROL
STATUS
DAT. OUT
DAT. IN
W
R
@BUS
DATA BUS
exemples I/O (1)Vegem dos exemples típics de dispositiu de sortida i dispositiu d’entrada:
1. Impressora:Impressora -> ReadyCPU -> Examinem el bit 0 del registre d’estat.
CPU -> Dades en el registre de sortida de dades.
CPU -> Print New Character (bit 0 del registre de control)
Impressora -> Examina PNC.
Impressora -> Imprimeix nou caràcter mantenint RDY = 0.
Impressora -> RDY = 1; Ready.
CARÀCTER DE CPU
@ A { @ A+1PCN
RDY SR
CR
exemples I/O (2)
Un altre exemple típic de dispositiu d’entrada:
Teclat:Teclat -> Nou caràcter disponible
CPU -> Examinem el bit 0 del registre d’estat.
CPU -> Pren la Dada del registre d’entrada de dades.
CPU -> Character Accepted (bit 0 del resgistre de control)
Teclat -> Examina Caràcter aceptat.
Teclat -> Sitúa un nou caràcter mantenint NCA = 0.
Teclat -> NCA = 1; New character available.
CARÀCTER DE TECLAT
@ A+2 { @ A+3CHA
NCA SR
CR
espai d’adreces I/O vs. mapejat en memòria
Podem tenir l’I/O mapejat juntament amb la memòria (ex.68000), o en un espai d’@ diferent (ex. 8086).
Usarem les mateixes instruccions que per accedir a la memòria, oinstruccions especials per a entrada/sortida.
Podrem, en la fase de disseny, distribuïr la memòria segons les nostresnecessitats, o ens vindrà fixat l’espaci de memòria i el d’I/O.
En la decodificació haurem de tenir en compte tot el bus d’@, osolsament aquella part útil en l’entrada/sortida.
Instruccions de tranferència de dades a I/O, compactes, ràpidesperò poc flexibles:
IN_PORT
OUT_PORT
tècniques d’accés a I/O
En funció de qui i quan s’inicia la transferència de dades, podem distingirdiverses tècniques per al tractament de l’entrada/sortida:
Programades: És la CPU, mitjançant l’execució d’un programa, qui inicia latransmisió.
» Directa: Ho fa de forma directa, sense preocupar-se de l’estat del dispositiu.
» Enquesta: Comprova l’estat del dispositiu, i segueix comproban-t’ho fins obtenir laindicació de dispositiu preparat.
Per interrupcions: La CPU no consumeix temps en comprovar l’estat del dispositiu.És el propi dispositiu qui, de forma assíncrona, interromp el procès normal de laCPU i li indica la seva disposició per a transferir dades.
En ambós casos, la continuació pot ser idèntica: Amb transferència de parauleso blocs, amb comunicació a través dels registres de control i estat. Solen usar-seuns elements anomenats controladors, que faciliten la comunicació amb eldispositiu.
DMA
DMA: Accés directe a memòria. Si traballem amb dispositius ràpids, pot sermolt més eficaç que aquests accedeixin directament a memòria, sense passarpel µC.
Controlador de DMA.
La CPU pren la iniciativa de realitzar una transferència per DMA, programa elsregistres de la controladora (direcció d’inici, sentit i tamany) i cedeix els busosfins que se li indica la finalització del traball.
Podem traballar en dos modes:Mode robo de cicle (stealing): DMA demana i retorna el control dels busos per al’escriptura de cada dada. Indicat en accessos a dispositius lents.
Mode ràfaga (burst): DMA demana el control dels busos i no els retorna fins quedóna per finalitzada la transferència de totes les dades. Indicat en dispositius ràpids,quan el temps entre peticions no permet cicles de bus propis. Retrassa la resposta ainterrupcions.
seqüència de DMA
La seqüència típica d’una transferència DMA és aproximadament:
tractament de l’error
CPU llegeix l’estat del dispositiu d’I/O
Preparat?
#paraules = 0?DMA interrupció
--> CPU
CPU envia alcontrolador
DMA:@ Inici
#paraules, direc.Ordre d’inici
DMA inicia transferènciade paraula
CPU envia ordres de transferència a I/O
#paraules - -@inic + + (o - - )
Si
No
Si
No
DMACEl control de DMA resulta complexe. Usarem controladors integrats:
Senzillesa.Menor volum, consum, retards...Menor cost.Capacitats exteses, p. ex.:
» Transferències memòria-memòria» Operació possible en diversos modes ( cycle stealing, burst)» Cerca de blocs» Ample variable de dades.» Transferència I/O - I/O.» Múltiples canals. Prioritats. Selecció del mode de prioritat. Mode cascada
Ejemples de DMAC comercials: 8237A (fam. 8086), 68430 (fam.68000).
comunicacions
Per a comunicar dos sistemes digitals podem,típicament, utilitzar comunicacions:
Paral.leles: Transmissió i recepció de tots els bits d’unaparaula en paral.lel. Per a distàncies curtes i grans velocitats detransmissió. S’utilitzen habitualment, juntament amb el DMA.Ej. VIA; 6522A.Sèrie: Transmissió i recepció dels bits d’una paraula un derreral’altre, per una única línia. Baixa/mitjana velocitat detransmissió i llargues distàncies.
» Assíncrones: No relació entre un caràcter i un altre. Bits de control.» Síncrones: Sincronisme RX-TX. Menor overhead. Major velocitat.
Major complexitat.
protocols de comunicació
RS232Comunicacions -> Diversos equips comunicant-se -> Necessitat de compatibilitat ->
Definició d’estàndard: Electronic Industries Association recommended standard EIA-232C
Exemple: DUART 68681Defineix paràmetres elèctrics i línies amb funcionalitat lògica: Connector 25 pins, nivell baix entre -3v y -25v, alt 3v÷25v, 1 nivell alt excepte en TxD y RxD, unmàxim de 20 Kb/s y 50 ft. de distància. Senyals: