La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de...

14
La memòria i l’entrada/sortida enmagatzemament de dades Necessitem memòria per a enmagatzemar ‘dades’. Tant les dades com el propi programa a executar. No podem tenir-los tots en registres. Tindrem una estructura del tipus: 68000 A23 - A1 AN- A1 A23 - AN+1 FC2 - FC0 @ DECOD. Disp. Mem..1 Disp. Mem..M . . . AS LDS UDS

Transcript of La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de...

Page 1: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 2: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 3: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 4: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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)

Page 5: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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.

Page 6: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 7: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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.

Page 8: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 9: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 10: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 11: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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.

Page 12: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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

Page 13: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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.

Page 14: La memòria i l’entrada/sortidadeeea.urv.cat/DEEEA/ecanto/WWW/SED/uP_4.pdf · Des del punt de ista tecnològic, el procès de fabricació és molt complexe. ³Random Access Memory

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: