Vous êtes sur la page 1sur 58
CAPITULO 8 Interface con la memoria INTRODUCCION Cualquier sistema basado en un microprocesador, sea sencillo 0 complejo, tiene un sistema de memoria. La familia de microprocesadores Intel no es diferente de los otros en este aspecto. Casi todos los sistemas tienen dos tipos principales de memoria: memoria de sdlo lectura (ROM) y, memoria de acceso aleatorio (RAM) o memoria de lectura y escritura. Los sistemas de ‘memoria ROM contienen programas y datos permanentes del sistema; la memoria RAM contiene datos temporales y programas de aplicacién. En este capitulo se explica cémo realizar la interface entre ambos tiempos de memoria con los microprocesadores Intel. Se demuestra la interface de ‘memoria en un canal de datos de 8, 16 y 32 bits con el empleo de diversos tamafios de direcciones ‘en la memoria. Esto permite que casi cualquier microprocesador pueda tener interface con cual- quier sistema de memoria. OBJETIVOS DEL CAPITULO Una vez que concluya este capitulo el lector podra: 1. Decodificar una direccién en a memoria y utilizar las salidas del decodificador para selec- cionar diversos componentes de la memoria, Utilizar dispositivos légicos programables (PLD) para decodificar las direeciones en la me- moria. 3. Explicar como se conectan la RAM y la ROM con un microprocesador. 4. Explicar cémo se pueden localizar errores en la memoria mediante la paridad, 5. Conectar la memoria con canales de datos de 8 16 y 32 bits. 6 % . Explicar el funcionamiento de un controlador dindémico de RAM. . Conectar la RAM con el microprocesador, 287 CAPITULO —INTERFACECONLA MEMORIA ee 84 FIGURA 8-1 Un seudocomponente de memoria itustrando fas conexiones para d- reccién, datos y control. DISPOSITIVOS DE MEMORIA Antes de intentar conectar la memoria con el microprocesador, es esencial entender por completo el funcionamiento de los componentes de memoria. En esta seccién, se explica la funcién de los tres tipos comunes de memoria: memoria de sélo lectura (ROM); memoria estdtica de acceso aleatorio (SRAM) y memoria dindmica de acceso aleaiorio (DRAM). Terminales de la memoria Las terminales comunes para todos los dispositivos de memoria son las entradas de direccién, salidas o entradas y salidas de datos, algiin tipo de entrada de seleccién y, cuando menos, una entrada de control utilizada para seleccionar una operacién de lectura o escritura. En la figura 8-1 se presentan los dispositivos gen¢ricos de memoria RAM y ROM. Conexiones para la direcci6n. Todos los dispositivos de memoria tienen entradas de direccién que seleccionan una localidad de la memoria dentro del dispositivo. El mimero de terminales de direc- cidn en un dispositivo de memoria, se determina por el nimero de localidades de la memoria. En la actualidad, los dispositivos de memoria més comunes tienen entre 1K (1024) y 4M (4,194,304 ) localidades de memoria y en el horizonte hay dispositivos de 16M y 256M. Un dispositivo de memoria de 1K tiene 10 terminales de direccién (Ay hasta As); por tanto, se requie- ren 10 terminales de direceién para seleccionar cualquiera de sus 1,024 localidades. Se necesita un nimero binario de 10 bits (1,024 combinaciones diferentes), para seleccionat una localidad cualquiera en una memoria de 1,024 localidades. Si un dispositive de memoria tiene 11 termina- les de direccién (Ag~Ayq), tiene 2,048 (2K) localidades internas en la memoria, Por tanto, el mimero de localidades en Ia memoria se puede extrapolar con el némero de terminales de direc- cién. Por ejemplo, un dispositive de memoria de 4K tiene 12 conexiones para direceién; uno de 8K tiene 13 y demés. Un dispositivo que tenga IM localidades en la memoria requiere una direc- cidn de 20 bits (Ag-Ais)- Conexiones para direecién Seleccionar — Ceetura 8-1 _DISPOSITIVOS DE MEMORIA 289 Un 400H representa una seccién de 1K bytes del sistema de memoria. Si se decodifica un dispositive de memoria para empezar en una direccién 1000H y es un dispositive de 1K, su liltima localidad es una direccién 103FFH, una localidad menor que 400H. Otro nimero hexadecimal que es importante recordar es un 10000H, porque se trata de un 4K. Un dispositive de memoria que contiene una direccién de partida de 14000H, que es un tamaiio de 4K bytes termina en la localidad 14FFFH, una localidad menos que 1000H, Un tercer niimero es 64K 0 10000H. Una memoria que se inicia en la localidad 30000H y termina en la localidad 3FFEFFH, es de 64 bytes. Conexiones para datos. Todos los dispositivos de memoria tienen un conjunto para salidas o entra- das y salidas de datos. El dispositivo que se ilustra en la figura 8-1 tiene un conjunto comin de conexiones de entrada y salida (E/S). En la actualidad, muchos dispositivos de memoria tienen terminales E/S comunes bidireccionales. Las conexiones de datos son los puntos en los cuales se da entrada a los datos para almacenarlos © se extraen para su lectura. En este sencillo dispositivo de memoria, hay ocho conexiones de B/ S, lo cual significa que el dispositive de memoria almacena & bits de datos en cada localidad de la memoria. A un dispositivo de memoria de 8 bits de ancho, a veces se le llama memoria de ancho © byte. En Ia actualidad, aunque casi todos los dispositivos son de 8 bits de ancho no todos los dispositivos de memoria son de 8 bits de ancho. Hay algunos de 16 bits, de 4 bits o de apenas | bit de ancho. En algunos catélogos, se menciona a los dispositivos como localidades de la memoria multi- plicadas por los bits de cada localidad. Por ejemplo, a un dispositive de memoria con 1K de localidades y 8 bits en cada una, el fabricante a menudo lo sefiala como de IK x 8. Un dispositivo de memoria de 16K. x 1 contiene 16K localidades de un bit. A las memorias, a veces, se las clasifica de acuerdo con su capacidad total en bits. Por ejemplo, a una memoria de 1K. x 8 bits, se enumera a veces como memoria de 8K 0, memoria de 64K X 4 se cnumera como de 256K. Estas variaciones ocurren dependiendo del fabricante, Conexiones para seleccién. Cada dispositivo de memoria tiene una entrada, a veces mas de una, que selecciona o habilita la memoria. Esta clase de entrada se suele llamar seleccién de integrado (CS) habilitacién de integrado (CB) 0 seleccién (S). La memoria RAM por lo general, tiene una entrada CS o una (8) y la ROM, cuando menos, una CE. Si la entrada CE, TS oS) est activa (cero l6gico en este caso debido a la raya en su parte superior o “testada”), el dispositive de memoria efectia una lectura o una escritura (si no esta activa, en este caso un 1 légico), Ia me- moria no se puede leer ni escribir porque esta apagada o deshabilitada, Si hay més de una co- nexién CS hay que habilitarlas todas para leer o escribir datos. Conexiones de control. Todos los dispositivos de memoria tienen alguna forma de entrada de con- trol. Una ROM, por lo general, tiene una sola entrada; una RAM suele tener una o dos entradas de control, La entrada de contro! que se encuentra con més frecuencia en una ROM es habilitacién de salida (OE) o conexién (G) de compuerta, que permiten el paso de datos de salida desde las terminales de salida de datos en la ROM. Si tanto (OE) como la entrada de seleccién estan acti- vas, entonces se habilita la salida; si OE esté inactiva, se deshabilita la salida ya que esta en alta impedancia. La conexién OE habilita o deshabilita un conjunto de acopladores de tres estados, ubicados dentro de la memoria y que deben estar activos para leer los datos, CAPITULO8 INTERFACE CON LAMEMORIA Una memoria RAM tiene una o dos entradas de control. Si hay una sola, a menudo se le llama R/W. Esta terminal selecciona una operacién de lectura y de escritura sélo si se selecciona la memoria con la entrada (CS) de seleccién. Si la RAM tiene dos entradas de control, suelen estar etiquetadas WE (0 W) y OE (0G), En este caso, WE (habilitar escritura) debe estar activa para efectuar una escritura en la memoria y OE debe estar activa para leer en la memoria. Cuando se ‘cuenta con estos dos controles, no deben estar activados ambos al mismo tiempo. Si ambas entra- das de control estin inactivas (1 Iégico), entonces no se escriben ni se leen los datos y las co- nexiones para datos estin en su estado de alta impedancia. Memoria ROM En la memoria ROM (sélo lectura) se almacenan en forma permanente programas y datos que residen en el sistema y que no deben cambiar cuando se corta la corriente, La ROM tiene progra- macién permanente, por lo cual siempre estén presentes los datos, aunque se desconecte la ali- mentacién. La ROM esta disponible cn la actualidad en muchas configuraciones. El dispositive que Mamamos ROM se adquiere en grandes cantidades con los fabricantes y se programan durante su fabricacién, La EPROM (memoria de sélo lectura, programable, borrable) que es un tipo de ROM, es de empleo més comin cuando hay que cambiar la programacién a menudo o cuando hay muy poca demanda de ella, para que la ROM resulte econémica. Para que una ROM sea prictica, se compran, por lo general, 10,000 unidades. Una EPROM se programa en el campo en un dispo- sitivo llamado programador de EPROM. La EPROM también se puede borrar si se la expone a luz ultravioleta de alta intensidad durante unos 20 minutos'o menos, segiin sea el tipo de EPROM. ‘También hay memorias PROM disponibles, pero no se emplean mucho. La PROM (memoria programable de sdlo lectura) también se programa en el campo, al hacer que se fundan fusibles de Nichrome 0 de éxido de silicio, pero una yez programada no se puede borrar. Otro tipo, mas nuevo, de memoria mayormente de lectura se llama memoria de “flash”!, la cual a veces se llama también EEPROM (memoria ROM programable, eléctricamente borrable), EAROM (ROM eléctricamente alterable) 0 NOVRAM (ROM no volatil). Estos dispositivos de memoria se pueden borrar por accién cléctrica en el sistema, pero se requiere mas tiempo para bo- marlas que una RAM normal. La memoria flash se utiliza para almacenar informacién para ajuste de sistemas, como la tarjeta de video en la computadora. Quiza pronto sustituya a la memoria EPROM del BIOS en la computadora. Algunos sistemas incluyen una palabra de paso 0 contrase- fia en la memoria flash. En la figura 8-2 se ilustra la memoria EPROM 2716, la cual contiene [1 entradas de direc- cidn y 8 salidas de datos, La 2716 es una memoria de 2K x 8, En la serie 27XXX de niimeros de pieza para las EPROM se incluyen los siguientes: 2704 (512 x 8); 2708 (1K x 8); 2716 (2K X 8); 2732 (4K x 8); 2764 (8K x 8); 27128 (16K x 8); 27256 (32K x 8); 27512 (64K x 8) y 271014 (128K x 8). Cada una de esas piezas tiene terminales para direccién, 8 conexiones para datos, una entrada CE de scleccién y una terminal OE de habilitacién de salida, En la figura 8-3 se mucstra el diagrama de temporizacién de la EPROM 2716, Los datos s6lo aparecen en las conexiones de salida hasta después de hacer un 0 légico las terminales CE y OE. Si ambas no son cero l6gico, las conexiones de salida de datos permanecen en su estado de alta ' Flash memory es una marca registrada de Intel Corporation, 8-1 DISPOSITIVOS DEMEMORIA 291 cow er SELECCION DE MODOS DE TERMINALES, oe [am | oS | ott, as peter ve ousem [os | | Mr as ‘ep a) ae] DIAGRAMA DE BLOQUE ia snuoss og Baros NOMBRES DE LAS TERMINALES a ee “seine ‘Ag-Ajg | BIRECCONES Somcoomenconl y-] easoron rae | 'PO/PGM |" APAGADO V PROGRAVA mermanas 0 = [os ‘SELECCIONARINTEG. (00-07 _| SALIDAS meh magmnnecmnas FIGURA 8-2 Diagrama de base de la EPROM 2716 de 2K x 8, (Cortesia de Intel Corporation.) impedancia 0 apagadas, Se debe tener en cuenta que la terminal Vpp debe colocarse cn un 1 logico para la EPROM lea los datos. En algunos casos la terminal Vpp estd en la misma posicién que la terminal WE para una SRAM. Esto puede permitir que en una sola base se conecten una EPROM o una SRAM. Un ejemplo es la EPROM 2716 y la SRAM 6116, ambas de 2K x 8, que tienen las mismas conexiones en las terminales de salida, excepto Vpp en la EPROM y WE en la SRAM. Una informacién importante suministrada por el diagrama de temporizacién en la hoja de datos, es el tiempo de acceso a la memoria, o sea el tiempo que necesita Ia memoria para leer informacién. Como se ilustra en la figura 8-3, el tiempo (T,..) de acceso a la memoria se mide desde Ia aparicién de la direccién en las entradas de direccién, hasta la aparicién de los datos en las conexiones de salida. Esto se basa en cl supuesto de que la entrada CE se hace baja al mismo tiempo que las entradas de direccién estén estables. Ademas, OE debe ser un 0 logico para que las conexiones de salida se vuelvan activas. La velocidad basica de este EPROM es de 450 ns (re- cuérdese que los 8086 y 8088 que trabajan con reloj de 5 MHz, permiten hasta 460 ns para aecesar a los datos), Este tipo de componente de memoria requiere estados de espera para su funciona- miento adecuado con los microprocesadores 8086 y 8088 debido a su tiempo de acceso més largo. Si no se desean estados de espera, hay disponibles versiones de EPROM con velocidad més altas ‘ costo adicional. En la actualidad, hay memorias EPROM disponibles con tiempos de acceso de s6lo 100 ns. 292 CAPITULOG INTERFACE CONLAMEMORIA Coracteristicas de CA Ta O°C 10 10°C, Vogl" = ¥5V 25%, Vopl2l = Vor 10.6! int Paicere are mame Senora ‘acer | Retardo de dreciin ala selda 260 | 460 | me | POIPGM=cS- Vu tacca_| POIPGM retard de selida 20 | 450 | om | Seva ‘co __| Retardo da se do miegrado ala saica 120 | a | POPGM=Vie ‘er __| POIPGM a flotacién de sala a woo | om | B=va Tor _| Dashebilta a fotacién de la salica 0 yoo | | POPGM=Vi Ton _| Retencién de direccién a saida 0 ns | POIPGM=OS= Vi. Capacitancia®™ Ta 25°C, f= 1 Mle Condiciones de prueba de CA: Sinboto] _Pardmevo | Te] Max. [Usladondiciones) Carga de side: Pert ce 1 TTLy C= 100 5F Cw [Capactanciasrtrada| 4 | 6 | pF |Vw=0¥ acuccsncrenay Cour [Copacitancia salida [8 | 12 [ pF | Vour= OV | Vator ds referencia para macirtemportacién: Entacas Wy 2V Salas 08Vy 20 FORMAS DE ONDA MODO DE LECTURA PO/PGM = Vit, FIGURA 8-3 El diagrama de termporizacién y caracteristicas Ue CA da la EPROM 2718: (Cortesia de intel Corporation.) Dispositivos de RAM estatica (SRAM) Las memorias RAM estaticas retienen los datos todo el tiempo que reciben alimentacién (CD). Debido a que no se requiere ninguna accién especial (excepto la alimentacién) para retener los datos almacenados, a este dispositivo se le lama memoria estatica. La diferencia principal entre una ROM y una RAM es que en la RAM se eseribe ef funcionamiento normal mientras que la ROM se programa fuera de la computadora y, por lo general, s6lo se lee, En la SRAM se almace- nan datos temporales y se emplea cuando el tamafio de la memoria para lectura y escritura es pequefio. En la actualidad, una memoria pequefia es una de menos de IM byte. 8-1 DISPOSITIVOS DEMEMORIA 233, FIGURA 8-4 Diagrama de base dela RAM estatica, TMS4016 (SRAM) DE 2K x 8. (Cortesia de ‘Texas Instruments, inc.) En la figura 8-4 se ilusira la SRAM 4016, la cual es una memoria de lectura y escritura de 2K X 8; tiene 11 entradas de direccién y 8 conexiones para entrada y salida de datos. Las entradas de control en la RAM son un poco distintas a las que se describieron antes. La terminal OE es ahora G, la terminal CS, § y la terminal WE, W. A pesar de estas alteraciones en las designaciones, las terminales de control funcionan exactamente como las ya descritas. Otros fabricantes producen esta SRAM tan popular con los nimeros de picza 2016 y 6116. En Ie figura 8-5 se presenta el diagrama de temporizacién de la SRAM 4016. Como lo mucs- tra el ciclo de temporizacién para lectura, el tiempo de acceso es t,(A). En la mds lenta de las 4016 este tiempo es de 250 ns, pero es lo bastante veloz para conectar con un 8086 0 un 8088 que trabajen a 5 MHz sin estados de espera. También en este caso es importante recordar que se debe ‘comprobar el tiempo de acceso para determinar la compatibilidad de los componentes de la me- moria con el microprocesador, En la figura 8-6 se ilustran las conexiones de terminales de la RAM estatica 62256, de 32K x 8. Esta memoria consta de un circuito integrado con 28 terminales y est disponible con tiempos de acceso de 120 as 0 de 150 ns, Otras memorias SRAM en uso son en tamafios de 8K x 8 y de 128K x 8. Memoria RAM dinaémica (DRAM) La RAM estética mas grande que hay en la actualided es de 128K x 8, Por otra parte, las RAM dindmieas estén disponibles en tamaiios mucho mas grandes, hasta de 16M x 1. En todos los demds aspectos, la DRAM, en esencia, es lo mismo que la SRAM excepto que retiene datos sole durante 2 0 4 ms en un capacitor integrado. Después de 2 0 de 4 ms, hay que “refrescar” por 294 CAPITULO INTERFACE CONLAMEMORIA caractersticas eléctricas en el intervalo recomendada de temperatura de funcionamiento al aie libre (salve indicacién en contrario) PARAMETRO, CONDICIONES DE LA PRUEBA Tn TIBIGAT WAX [ORDAD Vou mie votge Togs stmA, Voge #50 [28 “TV, Vo, vote ce nes REALS Wage 45 Tv TL Corrente de etrada =OVeSSV cof un Corinte de saa SorBar2vorWaiBV. Nox enostadoinactvo Vo=0Vi0S5V a0 | os Tce__SumisvodecortertedeVie | Po onor cas) bao o_70| = G_ Capactarca de enrada Veo. Te we ole Go Gapactancia de sala Vo=0¥. 11 MHE 72 [oF ‘tA todos Ios valores tipicos son con Vee™ 5¥, TA =25°C. ‘equisitos de temporizacién en Ia gama recomendada de voltae de entrada y la gama de temperatura de funcionamiento al are libre FTsa01e-t2 | TS#076-15 | TMS4076-20] THS40T6-25| Pee? MIN-MAX [MIN MAX | MIN MAX MIN_MAX [MOO Ta Tiempo de ici de ectura 120. 150 200- 250 os Tay Tiempo de cico de esertura 120. 150 2007 20 8 Tce) Anehe de impulso de lectur © 20 1007 120 8. Tiempo de ajuste de dreccién 20 20 2 20 08, Tyg) Tiempo de ajuste de seleccion de integrado co ca T60- 720. ns Tiempo de ajuste de datos 30 60 oo 700 ns Tua Tiempo de retencién de direccign 0 0 0 o 8 Tyo) Tiempo de retoncién de datos 3 70 70 70 a8 caractersticas de conmutacin en la gama recomendada de voltajé T, = O° a 70°C ffS4016-12 | TMS4016-15 | TwSa016-20] TMS4016-25] PRAMETAO, ‘MIN MAX | MIN MAX | MIN MAX | MIN MAX — "Taner de etn 120, 150 200 70] ne Tag) Te ese sec AD 30 75 00 Taos Tec) go de as sabia aaa 30 co 3 00 | ns Ton dn ess ecb cn 7 5 © 5 1 Tos) de Geta ia ests ec ew ao 3 a wre Tg) Teno enn ae asa 3 70 Ey @ wns Tosacnn Tempo de Geshabitacin de la salida después de habiltarescrtura bala 50 60, 50 80] ns Tea, Ten oan a i as ee peta |S 5 w 7 1 Tio ants sia ps oer ai 5 5 10 0 1 Tene de nen ih desma i 5 3 0 0 1 NOTAS: 3, C, = 100 ta/te PF para todas las mediciones, excepto tant ¥ tm Cy = 5 pF para tam ¥ ten 4, Los pardmetros ty ty 38 muestrean y no se prueben 100%. FIGURA 8-5 (a) Las caracteristicas de CA de la SRAM TMS4016. (b) Diagrama de temporizacién de la SRAM TMS4016. (Cortesa de Texas Instruments, Inc.) forma de onda de temporizacién del ciclo de lectura (véase nota 5) = ee ——- ta) ——4 SALIDA DATOS forma de onda de temporizacién del ciclo No. 1 de escritura (véase nota 6) DIRECCION 0, exrrananar0§ "5 {orma de onda de temporizacién del ciclo No.2 de eseitura(véase nota 6 y 11) ——— DIRECCION {Kn ae mide Gece lo que ocura primero de qua 8 0 W vaya alos hast ol fnal dal cco de wscrtura 8: ar et para stamina ES etn neta de sic, por calm eben pica’ ssf anac de ase puosta a 3 10, Stim waneiclon lesa seure al mismo tempo Que ls transicones bejas de W 0 dospuss dela ransictn a Wa sada permanece on estado de ata impedancia. 14; G ont baa on forma continua (@ = Va. 12. S18 est baa durante sate periodo, las erminalos E/S estén on estado de sala, por lo cual nose deben apicar las sofales do on- {rada de a fase opuoeta alas salon. 13, Laansicén se mide a 2200 mV do votaje on astaco establ, 14; Stia tansicion do a bala ccure antes dela ranacién de W a bea, no se deben apicar las sofas de entrada do datos dea faso ‘opuesta alas salidas miervas Cue Lamy despuss Ge la ransiciin de W a bala, FIGURA 8-5 (continuacién) 96 296 CAPITULO INTERFACE CONLA MEMORIA ) FIGURA 8-6 Diagrama de base de la RAM estatica 62256 de 32K Au 2 Vee ) x8, Aw 7 WE Ay 6 Ay ) As 3 Ay ) As 4 Ay Ae BE An ) Ay 2p OE A 21 Ap ) AL ps Ao 5 wo, ) 105 B10. 10, 5 10s ) 10; 5 ) ‘GND Fw; ) ) Ao “Ate Direeciones 1Oo- 107, ‘Terminales de datos ) GS Seleccién de integrado | e ‘Hebi salida ft D WE Habilitar escritura Vee Corriente de +5.0 V ) |} GND Tiere, fy completo el contenido de la memoria, porque los capacitores, que almacenan un | I6gico 0 un 0 \ légico, pierden sus cargas. \? En lugar de necesitar la tarea casi imposible de leet el contenido de cada localidad de memo- | Ja con un programa y, luego, volver a escribirlas, el fabricante ha hecho que la construccién | interna de la DRAM, en su versién de 64K x 1, permita refrescarla con 256 lecturas en un intervalo de 4 ms. Esto también ocurre durante un ciclo de escritura, lectura o uno especial. Ea la seccién 8-6 aparece mucha mds informacién para refrescar las DRAM. Otra desventaja de la memoria DRAM és que requiere tal cantidad de terminales para direc- ) cidn, que el fabricante ha multiplexado las entradas de direccion. En la figura 8-7 se ilustra una DRAM, No. TMS4464, de 64K x 4. Se verd que sdlo tiene 8 entradas de direccién, cuando deberia tener 16, 0 sea el numero requerido para direccionar 64K localidades en la memoria, La ) ‘fimica forma en que los 16 bits de direccidn se puedan agrupar en 8 terminales de direccién, es en dos etapas de 8 bits. Esta operacién requiere dos terminales especiales llamadas sefial estroboscé- pica de direccién de columna (CAS) y sefal estroboscépica de direccién de renglén (RAS). Primero, se presentan Ag~A, en las terminales de direceién y se habilitan con la sefial estroboscé- pica RAS en un registro intemo como la direccién de renglén. Luego, se presentan los bits A;~A\s en las mismas ocho entradas de direceién y con la sefial estroboseépica CAS habilitan un registro 8-1 _DISPOSITIVOS DE MEMORIA 297 FIGURA 8-7 Conexiones de ter- ‘TMS44B4 ... PAQUETE Jt. NU minales de la RAM dindmica (ORAM) TMS4464 de 64K x 4. (Cortesia de Texas Instruments, tne.) 20-47 (a) ‘Sefal astrb. de drecién de eolurmna, Entrada de dates 9 satda ce datos Hapitacen ce asics Sena estrob. ce crecsisn ao fa Comana a6 +5.04 Tere Habttar esr 1 i =e—% 4 aol Ft i—ob Wome benim vn W 1 il ' winaicforel | ef f= tains ro— ‘wmical—ot org a Vieng 4 TVV Wy vn a PEPE cone KK eas OY | 1 be—twirce—el 1 1 1 besa FIGURA 8-8 Tamporizacién de RAS, CAS y entrada de direccién para la DRAM TMS4464. (Cortesia de Texas Instruments, Incorporated.) interno como la direccién de columna (en la figura 8-8 aparece esta temporizacién), La direceién de 16 bits de los registros internos direcciona el contenido de una de las localidades de 4 bits en la memoria. En la figura 8-9 se ilustra un conjunto de multiplexores utilizados para la seleccién estrobos- cépica de las direcciones de columna y de rengién, en las ocho entradas de direcci6n de un par de CAPITULO INTERFACE CONLAMEMORIA FIGURA 8-9 Multiolexor de di- = receién paralaDRAMTMS4464. Ay Seeoe Una vez que se habilita el 74LS138, las entradas (C, B y A) de direccién seleccionan cual terminal de salida baja. Imaginense ocho entradas CE a la EPROM conectadas con las ocho salidas del decodificador. Se trata de un dispositive muy potente porque selecciona hesta ocho diferentes dispositivos de memoria. ‘Muestra de un circuito decodificador. Se veré que las salidas del decodificador de la figura 8-14 estén conectadas con ocho diferentes dispositivos de memoria EPROM 2764. El decodificador selecciona ocho bloques de memoria de 8K bytes, para un total de 64K bytes de memoria. Tam- bién se ilustra el intervalo de direcciones de cada dispositivo y las conexiones comunes en éste, Se verd que todas las conexiones de direcciones del 8088 estén conectadas a este circuito. Tam- bien se apreciard que las salidas del decodificador estén conectadas con las entradas CE de las EPROM y la sefial RD del 8088 esté conectada con las entradas OE de las EPROM. Esto permite habilitar s6lo a la EPROM seleccionada y enviar los datos al microprocesador por el canal de datos, siempre que RD se convierte en un 0 logico. En este circuito, hay una compuerta NAND de 3 entradas conectada con los bits de direceién ‘jg hasta Ajj. Cuando las tres entradas de direccién estén altas, la salida de compuerta NAND FIGURA 8-14 Un circuito en que se emplean ocho EPROM 2764 para una seccién de memoria de 64K x Ben un sistema basado en microprocesador. Las direcciones seleccidnadas en este circuito son FOQO0H - FFFFFH. baja y habilita la entrada G2B del 74LS138. La entrada G1 tiene conexién directa con Aig. Es decir, a fin de habilitar este decodificador, las primeras cuatro conexiones para direccién Ay hasta Ajg) deben estar altas. Las entradas C, B y A de direccién se conectan con las terminales de direccién Ajs hasta Ajg del microprocesador, Estas tres entradas determinan cudl terminal de salida se va baja y cual EPROM se selecciona siempre que cl 8088 da salida a una direccién en la memoria dentro de este intervalo, al sistema de memoria. EJEMPLO 8-2 211 200KK 200K 000K I © bien 1111 0000 9900 9000 0000 = rooogH hasta MAL {att 1142 1211 1111 = FeePPH En el ejemplo 8-2 se muestra la forma en que se determina el intervalo de direcciones de todo el decodificador. Se veré que el intervalo o alcance es la localidad FOOOOH hasta la FFFFFH, es decir, un bloque de 64K bytes de la memoria. 8-2 _DECODIFICACION DE LA DIRECCION 203 Net Nee be ee RL 304 CAPITULO INTERFACE CONLAMEMORIA {Cémo es posible determinar el intervalo de direccién de cada dispositive de memoria co- estado con las salidas del decodificador? Tambien en este caso, se escribe un patrén de bits ¥ tata ver las entradas C, B y A de direccién son no importa. En el ejemplo 8-3 se muestra la forma gn que a la salida 0 del decodificador se hace baja para seleccionar ls EPROM conectada con ssa terminal. En este caso, se ilustra a C, y A como ceros légicos. EJEMPLO 8-3 CBA 1A11 0000 XXKK 2GGK 1000C 9 bien 1121 9000 0000 090 9000 = FOOOOH hasta 4421 0002 1112 1121 1111 = PLFFFH Si se requiere el intervalo de direcciones de la EPROM conectada con la salida 1 del ecodificador, se determina en la misma forma que la de la salida 0. La tinica diferencia es que las entradas C, By A conticnen un 001 en vez de un 000 (véase el ejemplo 8-4), Los restantes fatervalos de salida de direccién se determinan en la misma forma al sustituir le direccién binaria de la terminal de salida en C, B y A. EJEMPLO 8-4 CBA ALLL 001K KKKK KK KKK © bien 1111 0020 0990 9090 0000 = F2000H hasta qui. 9012 TALL 1122 L212 = FSFFFH E| decodificador doble de 2 a 4 lineas (74L5139) Otro decodificador que se aplica a veces cs el de 2 a 4 lineas 7418139. En la figura 8-15 se ilustran las conexiones en las terminales y la tabla de la verdad de este decodificador, el cual contione dos decodificadores separados de 2 a 4 lineas, cada uno con sus propias conexiones de direccién, habilitacion y salida. Decodificador PROM de direccion Otro decodificador comin para direcciones es una PROM bipolar, que se utiliza por su mayor cantidad de conexiones de salida, con lo cual se reduce el mimero de otros circuitos requeridos en un decodificador de direccién de memoria en el sistema. El decodificador 74LS138 tiene seis 8-2 DECODIFICACION DE LA DIREGCION 305, TALS 139 niadas de seleccion satidas Entrada de hablbaion irae de seleccion sales Entrada de habilitacion el} eo] S FIGURA 8-15 Diagrama de base y tabla de verdad del decodificador doble 2a 4 lineas 74LS129. entradas que se utilizan para conexiones de direcciones, El decodificador PROM puede tener muchas mds entradas para decodificacién de direcciones. Por ejemplo, una PROM 82S147 (512 x 8), utilizada como decodificador de direccién, tiene 10 conexiones de entrada y 8 conexiones de salida. Puede sustituir al circuito ilustrado en la figura 8-14, sin agregar la compuerta NAND de 3 entradas. Esto ahorra espacio en la tarjeta del cireuito impreso y reduce el costo del sistema, En la figura 8-16 se ilustra este decodificador de direccién con la PROM instalada; ésta es un dispositivo de memoria que se debe programar con una configuracién de bits correcta, para selec cionar a los 8 dispositivos de la EPROM. La PROM en si tiene 9 entradas de direccién que seleccionan a una de las 512 localidades internas de 8 bits en la memoria. La entrada restante (CE) se debe conectar a tierra porque si las salidas de la PROM flotan a su estado de alta impedancia, ‘entonces se podria seleccionar a una o mas de las EPROM por los impulsos de ruido en el sistema. En la tabla 8-1 se ilustra la configuracién de bits binarios programada en cada localidad de la PROM a fin de seleccionar las ocho EPROM diferentes, La veniaja principal del empleo de una EPROM es que el mapa de direcciones se cambia con facilidad en el campo. Debido a que la PROM viene con todas las localidades programadas como | légico, s6lo se deben programar ocho de las 512 localidades. Esto le ahorra un tiempo muy valioso al fabricante. 306 CAPITULO INTERFACE CONLAMEMORIA 6000 - F7FEF FAO00 - FBFFF FC000 - FDFFF FE000 - FFFFF. FIGURA 8-16 Un sistema de memoria en que se emplea una PROM TPE28L42 de 512 x 8 como decodificador direccién. Decodificadores PLD programables En esta seccién se explica el empleo de un dispositivo logico programable (PLD) como dccodificador. En fechas recientes, 1a PAL ha sustituido a los decodificadores de direccién PROM en las memorias més modernas. Hay tres dispositivos PLD que funcionan en la misma forma 2 PAL es marca registrada de Monolithic Memories, Inc, TABLA 8-1 Patrén de programacién de la PROM 825147 para el circulto de la figura 8-16 ————— Entrades ‘Sahidas OF AB AT AB AS AM AS AZ AL AD CO OT O23 4 OS K_OF op oO tea tye a oe Ow tind of 4 4 Ff G.- 8-0 FF Ao 2 Made 4 1 Oprtcd 8 A i @ DB Oo Deer ee 8 eer Ol Bett fi gMeed Fo op of ff p88 fH FT He 4 1.4. 1 8 f 4 oA ft ob 0 tf O 4 4 4. oo fot Sy 4 ob ea op ot 4 4-19 1 OF 4 jf 3° 2 4 F wm A sg o o 0 1 4 1 4 4 14 0 4% 4 4 § 4 & 4 © © o f 4 4 § 4 4 4 i t°t 7 £ GH @ todas las demés combinaciones de direcciones 1 £ 8 4b wa os 8-2 DEGODIFICAGION DELA DIRECGION 307 basica pero tienen diferentes nombres: PLA (arreglo légico), PAL (arreglo de légica programable) y GAL? (arreglo de compuertas). Aunque estos dispositivos estan en el mercado desde mediados de la década de 1970, han aparecido en fechas recientes en disofios de sistemas de memoria y digitales. El PAL y el PLA se programan al fundir un fusible como para la PROM y algunos de los GAL son dispositivos borrables igual que las EPROM. En esencia, los tres dispositivos son arre- glos de elementos légicos que se pueden programar. Arregios de légica combinatoria programable. Uno de los dos tipos basicos de PAL es el arreglo de logica combinatoria programable. Su estructura interna es un arreglo programable de circuitos logicos combinatorios, En la figura 8-17 se ilustra la estructura interna de la PAL 1618 que esta construida con compuertas AND y OR. Este arreglo tiene 10 entradas fijas, dos salidas fijas y 6 terminales que se programan como entradas o salidas. Cada terminal de salida se genera desde una compuerta OR de 7 entradas que tiene una compuerta AND conectada con cada entrada, Las salidas de las compuertas OR pasan por un inversor de tres estados que define a cada salida como una funcién AND/NOR. En principio, todos los fusibles conectan a todas las conexiones vertica- les/horizontales que se muestran en la figura. Para Is programacién, se funden fusibles para co- nectar las diversas entradas al arreglo de compuertas OR. La funcién AND alambrada, se efectia en cada conexién de entrada y produce un término producto de hasta 16 entradas. Una expresién logica que utilice la PAL 16L8 puede tener 7 términos producto con 16 entradas juntas en las que se ejecuta la funcion NOR, para generar la expresi6n de salida. Este dispositivo es ideal como decodificador de direcciones de memoria debido a su estructura. También es ideal porque las salidas son activas en bajos, Por fortuna, el lector no tiene que escoger los fusibles por su niimero para la programacién. La PAL se programa con el empleo de un paquete llamado PALASMS (ensamblador PAL). El programa PALASM yssu sintaxis son un estandar de la industria para programar los decodificadores PAL. En el ejemplo 8-5 se muestra un programa que decodifica la misma zona de la memoria que se decodifica segiin la figura 8-16. Se debe tener en cuenta que este programa se cre6 con el empleo de un editor de textos tal como el EDIT disponible con el DOS versién 5.0 de Microsoft; también se puede crear con el empleo de un editor que viene con el paquete PALASM. En algunos editores se intenta la tarea de definir las terminales, pero se cree que es mas facil utilizar EDIT y el listado que se presenta, EJEMPLO 6-5 (pagina 1 de 2) TrzuL0 Decodificador de direccion MODELO Prueba 1 REVISION A AUTOR Barry B. Brey EMPRESA, Symbiotic Systems FECHA 5/23/93 CIRCUITO INTEGRADO —Decodificador PAL 1618 jkerminales1 2 3 4 5 6 7 8 9 10 A19 Al@ A17 A16 A13 NC NC NC NC GND peeeminales 11 12 13 14 15 16 17 18 19 20 NC 08 07 0S 0S of O3 o2 OL vee 3 GAL es marca registrade de LATTICE Semiconductors, Inc. 4 PALASM cs marca registrada de Monolithic Memories, Inc. 308 CAPITULO8 INTERFACE CONLAMEMORIA Diagrama ligheo vot ) 1 123 4367 K9wn ROWS wom min wI~eT ABH 0122 4567 Fewn BoM wim wD was 2905 ) ) FIGURA 8-17 Un PAL 1618. (Copyright Advanced Micro Devices, Inc., 1988. Reproducida con permiso del propietario. ‘Todos los derechos reservados.) 8-2 DECODIFICACION DELA DIRECCION Bow 1 fessesses feseasess ecco Freee slezzzzeecar2eteeatls ia s|azzzzzeze2 22 i pMee { faswasses asanssss a slacazzzene2?22 uel s|gzagzaere2taz a, || _ aH | assesses faseasees Feooo Fare oon ForFrH are s[eczazeezee?zz pel] s|zczzzzare22zzpaee| Ta eseeeses ae slazzeazezee?i2 ni asazazes Foooo irr 00H -FFFFFH s|gexzzzezz22z zest sasasess Fett FIGURA 8-18 Un PAL 1618 que decodifica 8 memorias 2764 (BK x 8). 310 CAPITULOS — INTERFACE CON LA MEMORIA EJEMPLO 8-5 (pagina 2 de 2) BCUACIONES jor 702 = ALS aig AIS 13 alg * ALT + Ale + alg + AlT * Al6 * alg * ALT * Al6 © ALB * ALT * ALG * alg © Ale * ALT * AIG * aig * alg * ALT * Als * alg * Ale * ALT * Al6 * ALg + AlB * ALT * ALG AlS * Ald + ALS Las primeras 8 lineas del programa que se ilustra en el ejemplo 8-5 definen el titulo, configu- racién, revisiones, autor, empresa, fecha y tipo de circuito integrado con el nombre del programa, En este caso, el circuito integrado es una PAL 16L8 y el programa se llama decodificador. Una vez definido el programa, una declaracién de (terminales) designa los niimeros de las terminales. Debajo de ese comentario aparecen las terminales definidas para esta aplicacién. Unas vez defi- nidas todas las terminales se utiliza la declaracin ECUACIONES para indicar que, debajo, estin las ecuaciones para esta aplicacién. En este ejemplo, las ecuaciones definen las salidas de habili- tacién de los 8 circuitos integrados para las 8 memorias EPROM. En la figura 8-18 aparece el diagrama completo de este decodificador PAL. INTERFACE DE MEMORIA 8088 En este capitulo aparecen diferentes secciones de las interfaces de la memoria para el 8088 con su canal de datos de 8 bits; para los 8086, 80286 y 80386SX con sus cariales de datos de 16 bits y para los 80386DX y 80486 con sus canales de datos de 32 bits. Sc presentan en secciones separa- das porque los métodos empleados para direccionar la memoria en estos microprocesadores tie- nen ligeras diferencias. Los ingenieros 0 técnicos de hardware que deseen ampliar sus conoci- ‘mientos para la interface de los microprocesadores de 16 y de 32 bits, deben leer todas estas secciones; esta seccién esté mucho mas completa que la relacionada con la interface de memoria de 16 y 32 bits que slo abarca el material no incluido en la seccién para 8088. En la presente secei6n se examina la interface con las memorias RAM y ROM y se explica la verificacién de la paridad, que es cosa comin en muchos sistemas de computadora basados en microprocesadores, También se hace una breve mencién de los métodos para correccién de erro- res disponibles en la actualidad para los disipadores de sistemas de memoria. Interface basica de memoria para el 8088 El microprocesador 8088 tiene un canal de datos de 8 bits, que lo hace ideal para conectarlo con los dispositivos de memoria de 8 bits disponibles en la actualidad. También es ideal como controlador sencillo, Pero, a fin de que el 8088 fiumcione en forma correcta con la memoria, ésta debe decodi- ficar la direccién para seleccionar un componente de memoria y debe utilizar las sefiales de memo- ria RD, WR y 10/M producidas por el 8088 para controlar el sistema de memoria. La configuracién para modo minimo para el 8088 se incluye en esta secci6n y, en esencia, es la misma que el sistema de modo maximo para la interface de la memoria, La diferencia principal es que, en el modo maximo, IO/M se combina con RD para generar una sefial MRDC; IO/M se 8-3 _ INTERFACE DE MEMORIA 8088 att combina con WR para generar una sefial MWTC. Estas sefiales de control en el modo maximo se generan dentro de controlador de canal 8288. En el modo minimo, la memoria ve al 8088 como un dispositive con 20 conexiones para direccién (Ajs a Ag), 8 conexiones para el canal de datos (AD, ADy) y las sefiales de control 10/M, RD y WR. Interface de EPROM con el 8088, Sz encontrard que esta seccién es muy semejante a la seccidn 8-2 en la que se mencionan los decodificadores. La dnica diferencia es que en esta seccion se describen los estados de espera y cl empleo de la sefial 1O/M para habilitar el decodificador. En le figura 8-19 se ilustra el microprocesador 8088 conectado con ocho memorias EPROM 2732, de 4K x 8, muy comunes en la actualidad, La 2732 tiene una entrada de direccién (A,,) ms que la 2716 y el doble de memoria, La memoria que se ilustra decodifica 4K x 8 bloques de memoria para tener un total de 32K. x 8 bits de espacio fisico para direcciones en el 8088. El decodificador (74138) se conecta en forma un poco diferente que los otros, porque la versién lente de este tipo de EPROM tiene un tiempo de acceso a la memoria de 450 nis. Como se dijo en el capitulo 7, cuando el 8088 funciona con un reloj de 5 MHz, permite 460 ns para que la memoria accese a los datos. Debido al retardo adicional de tiempo en el decodificador (12 ns), es imposible que la memoria funcione dentro de los 460 ns. Para corregir este problema, sc debe agregar una compuerta NAND para generar una sefial que habilite al decodificador y una sefial para el generador de estados de espera, descrito en el capitulo 7. Cuando se intercala un estado de espera cada vez que se accese a esta seccién de la memoria, el 8088 permitiré 660 ns para accesar FIGURA 8-19 Ocho EPROM 2732 en interface con al microprocesador 8088, Se vera que la salida de la compuerta NAND se emplea para producir un estado de espera (WAIT) siempre que se selecciona esta seccién de la memoria. 312 CAPITULO8 INTERFACE CONLA MEMORIA los datos de la EPROM. Recuérdese que un estado de espera adicional agrega 200 ns (1 ciclo de reloj) al tiempo de acceso. Los 660 ns son un tiempo sobrado para accesar los datos de un com- ponente de memoria de 450 ns, incluso con los retardos introducidos por el decodificader y cua- lesquiera transceptor agregados en el canal de datos, Se verd que el devodificador se seleccions para un intervalo de direcciones de memoria que empiece en la localidad F8000H y continiia hasta la FFFFFH, o sean los 64K bytes superiores de la memoria, Esta seccién de la memoria es una EPROM porque la localidad FFFFOH es donde el 8088 empicza a cjecutar instrucciones después de una inicializacién por hardware. A menudo, a la localidad FFFFOH se le lama de arranque en frio, El programa almacenado en esa scecién de la memoria contiene una instruccién JMP en la localidad FFFFOH que brinca a la F8000H a fin de que se pueda ejecutar el resto del programa. Intertace de la RAM con e/ 8088. La interface para RAM es un poco mds facil que para EPROM, porque la mayor parte de los componentes de la memoria RAM no requieren estados de espera. Una seccién ideal de la memoria para la RAM es la més baja, que contiene los vectores de interrupeién. Los vectores de interrupcién que se describen con mayor detalle en el capitulo 10, a menudo los modifican los paquetes de programacién, por lo cual es de gran importancia codificar esta seccién de la memoria con RAM. En la figura 8-20 hay 16 RAM estaticas 62256, de 32K x 8, en interface con el 8088, a partir de Ia localidad de memoria 00000H. Esta tarjeta de circuito emplea dos decodificadores para seleccionar los componentes de las 16 diferentes memorias RAM y un tercer decodificador para seleccionar a los otros dos para las secciones correspondientes en |a memoria, Hay 16 RAM de 32K que ocupan la memoria de la localidad 00000H y a la localidad 7FFFFH para tener 312K bytes de memoria. . El primer decodificador (U4) en este circuito selecciona a los otros dos decodificadores. Una direccién que empiece con 00 selecciona al decodificador U3 y una con 01 selecciona al decodi- ficador U9. Se debe tener en cuenta que las terminales adicionales permanecen en la salida del decodificador U4 para una expansién futura. Estas permiten tener mas bloques de 256K x 8 de RAM, para tener un total de 1M X 8, con sdlo sumar la RAM y los decodificadores secundarios adicionales. ‘Ademés, se verd en el cireuito de la figura 8-20 que todas las entradas de direcciones a esta seceién de la memoria estén acopladas, igual que las conexiones del canal de datos y las scfiales de control RD y WR. El acoplamiento es importante cuando hay muchos dispositivos conectados en una sola tarjeta de circuito impreso o en un solo sistema. Supéngase que hay tres circuitos como éstos conectados en un sistema. Al no haber acoplamiento en cada circuito, la carga en los canales de direcciones, datos y control del sistema seria suficiente para impedir su funcionamien- to. (La carga excesiva hace que la salida de 0 ldgico se eleve a més del maximo de 0.8 volts permitidos en un sistema.) El acoplamiento se emplea, por lo general, si llega a haber adiciones a la memoria en el futuro, Si la memoria no va a crecer nunca, entonces quiz no se necesite el acoplamiento. Paridad para deteccién de errores en la memoria Debido a las memorias tan grandes disponibles en los sistemas actuales y debido a que los costos de los circuitos son muy bajos, muchos fabricantes de circuitos de memoria, han agregado la

Vous aimerez peut-être aussi