Unidad 2

21
2.1 Introducción Una de las partes más importantes de los sistemas digitales es la dedicada a almacenar las informaciones que está tratando el sistema. Esta es la tarea de las memorias: Dispositivos que son capaces de proveer el medio físico para almacenar esta información. Y aunque esta es su tarea fundamental (más del 90 % de las memorias se dedican a este fin) también se pueden utilizar para la implementación de circuitos combinacionales y pueden sustituir la mayor parte de la lógica de un sistema. Anteriormente se ha visto que los Flip Flops (FF) son dispositivos con capacidad de memoria, esta cualidad ha creado que grupos o arreglos de FF llamados registros puedan almacenar más información y transferirlas hacia otras ubicaciones. Los avances en las tecnologías LSI y VLSI han hecho posible colocar grandes cantidades de FF’s en un solo chip, ordenados en diversos formatos de arreglos de memoria. Estas memorias semiconductoras bipolares y MOS son los dispositivos de memoria más veloces disponibles y su costo se ha ido reduciendo de forma continua a medida que mejora la tecnología LSI. En esta Unidad sólo centraremos nuestra atención en aquellas memorias que utilizan como soporte materiales semiconductores. Dejaremos de lado memorias magnéticas, de burbuja o memorias ópticas. 2.2 Clasificación de Memoria según su utilización. (Ver Fig. 2.1) Memoria Principal: - La operación rápida es importante. -Es conocida como memoria de trabajo. - Esta en comunicación constante con la unidad central de procesamiento a medida que se ejecuta un programa de instrucciones. - El programa y cualquier información que este utilice residen en la memoria principal mientras la computadora trabaja con ese programa. - Los tipos de Memoria representativos son la RAM y la ROM. Memoria Auxiliar: -Es otra forma de Almacenamiento en la computadora. - Es también conocida como memoria de almacenamiento masivo. - Está separada de la memoria principal y tiene la capacidad de almacenar cantidades masivas de datos sin necesidad de energía eléctrica. - Opera a una velocidad más lenta que la memoria principal. - Almacena programas y datos no utilizados en ese momento. - Los dispositivos representativos son los discos magnéticos y los ópticos.

Transcript of Unidad 2

Page 1: Unidad 2

2.1 Introducción

Una de las partes más importantes de los sistemas digitales es la dedicada a almacenar las

informaciones que está tratando el sistema. Esta es la tarea de las memorias: Dispositivos que son

capaces de proveer el medio físico para almacenar esta información.

Y aunque esta es su tarea fundamental (más del 90 % de las memorias se dedican a este fin)

también se pueden utilizar para la implementación de circuitos combinacionales y pueden sustituir

la mayor parte de la lógica de un sistema.

Anteriormente se ha visto que los Flip Flops (FF) son dispositivos con capacidad de memoria, esta

cualidad ha creado que grupos o arreglos de FF llamados registros puedan almacenar más

información y transferirlas hacia otras ubicaciones. Los avances en las tecnologías LSI y VLSI han

hecho posible colocar grandes cantidades de FF’s en un solo chip, ordenados en diversos formatos

de arreglos de memoria.

Estas memorias semiconductoras bipolares y MOS son los dispositivos de memoria más veloces

disponibles y su costo se ha ido reduciendo de forma continua a medida que mejora la tecnología

LSI.

En esta Unidad sólo centraremos nuestra atención en aquellas memorias que utilizan como

soporte materiales semiconductores. Dejaremos de lado memorias magnéticas, de burbuja o

memorias ópticas.

2.2 Clasificación de Memoria según su utilización. (Ver Fig. 2.1)

Memoria Principal: - La operación rápida es importante.

-Es conocida como memoria de trabajo.

- Esta en comunicación constante con la unidad central de procesamiento a medida que se ejecuta

un programa de instrucciones.

- El programa y cualquier información que este utilice residen en la memoria principal mientras la

computadora trabaja con ese programa.

- Los tipos de Memoria representativos son la RAM y la ROM.

Memoria Auxiliar: -Es otra forma de Almacenamiento en la computadora.

- Es también conocida como memoria de almacenamiento masivo.

- Está separada de la memoria principal y tiene la capacidad de almacenar cantidades masivas de

datos sin necesidad de energía eléctrica.

- Opera a una velocidad más lenta que la memoria principal.

- Almacena programas y datos no utilizados en ese momento.

- Los dispositivos representativos son los discos magnéticos y los ópticos.

Page 2: Unidad 2

2.3 Terminología de Memoria

Celda de Memoria: Un dispositivo o un circuito eléctrico utilizado para almacenar un bit (0 o 1). Ej:

Un Flip Flop (FF), un capacitor cargado y un punto individual en cinta o disco magnético.

Palabra de Memoria: Un grupo de bits (celdas) en una memoria, el cual representa instrucciones o

datos de cierto tipo. Ej: Un registro que consiste de ocho FF’s, puede considerarse como una

memoria que almacena una palabra de ocho bits.

Byte: Termino especial que se utiliza para un grupo de 8 bits. Los tamaños de las palabras pueden

expresarse en bytes o en bits. Ej: Una palabra de un tamaño de 8 bits puede expresarse también

como una palabra de un byte.

Capacidad: Una manera de especificar cuantos bits pueden almacenarse en un dispositivo de

memoria.

2K x 8 = 16384 bits

2*1024 o 102*2 x 8

Numero de palabras Tamaño de la Palabra Numero total de bits

Densidad: Otro termino para capacidad. Cuando un dispositivo de memoria tiene mayor densidad

que otro, decimos que puede almacenar mas bits en la misma área de silicio; es más densa.

Dirección: Un numero que identifica la ubicación de una palabra en memoria. Cada palabra que se

almacena en un dispositivo o sistema de memoria tiene una dirección única. Las direcciones de

memoria se especifican en números binarios, octales y hexadecimales.

Page 3: Unidad 2

Operación de Lectura: La operación mediante la cual la palabra binaria almacenada en una

ubicación especifica de memoria (dirección) se detecta y después se transfiere hacia otro

dispositivo. Si queremos realizar un proceso de lectura primero se realiza un proceso de búsqueda

(fetch) para detectar una dirección de memoria.

Operación de Escritura: La operación mediante la cual se coloca una nueva palabra en una

ubicación de memoria especifica. También se le conoce como operación almacenar. Cada vez que

se escribe una nueva palabra en una ubicación de palabra, esta sustituye a la palabra que estaba

ahí almacenada.

Tiempos de Acceso: Medida de la velocidad de operación de un dispositivo de memoria. Es la

cantidad de tiempo que se requiere para realizar una operación de lectura. Se utiliza ACCt para el

tiempo de acceso.

Memoria Volátil: Cualquier tipo de memoria que requiere la aplicación de energía eléctrica para

poder almacenar información. Si se quita la energía eléctrica, se perderá toda la información

almacenada en la memoria.

Memoria de Acceso Aleatorio: Memoria en la cual la ubicación física de una palabra de memoria

no tiene efecto sobre el tiempo que tardan las operaciones de lectura y escritura en una ubicación

determinada. Es decir el tiempo de acceso es igual para cualquier dirección en memoria.

Memoria de Acceso Secuencial: Un tipo de memoria en la cual el tiempo de acceso no es

constante, sino varía dependiendo de la ubicación de la dirección. Una palabra se encuentra

mediante la búsqueda secuencial a través de todas las ubicaciones de las direcciones, hasta que se

llega a la dirección deseada. Los tiempos de acceso son más grandes que los de la memoria de

acceso aleatorio. Ej: cassettes de audio.

Memoria de Lectura/Escritura (RWM): Cualquier memoria que se puede leer o en la que se pueda

escribir con la misma facilidad.

Memoria de solo lectura (ROM): Técnicamente se puede escribir (programar) una sola vez y esta

operación por lo general se realiza en la fábrica. Después de eso la información solo puede leerse.

La operación de escritura es más complicada que la operación de lectura. La ROM es un tipo de

memoria no volátil y que tiene otras subdivisiones.

Dispositivo de Memoria Estática: Es la memoria en la cual los datos se almacenaran de manera

permanente siempre y cuando se aplique energía, sin necesidad de reescribir los datos en la

memoria en forma periódica.

Dispositivos de Memoria Dinámica: Los datos no se almacenaran de forma permanente, aun y

cuando se le aplique energía, a menos que se reescriban en forma periódica en la memoria. A esta

última operación se le conoce como operación de regeneración.

Page 4: Unidad 2

2.4 Operación General de la Memoria

Todo sistema de memoria requiere varios tipos de líneas de entrada y de salida para realizar las

siguientes funciones:

1. Seleccionar la dirección en memoria a la que se va a acceder para una operación de lectura o de

escritura.

2. Seleccionar una operación de lectura o de escritura a realizar.

3. Suministrar los datos de entrada que se van a almacenar en memoria durante una operación de

escritura.

4. Retener los datos de entrada que provienen de la memoria durante una operación de lectura.

5. Habilitar (o deshabilitar) la memoria de manera que responda (o no) a las entradas de dirección

y a la línea de selección de lectura/escritura.

2.4.1 Entradas de Dirección

Para acceder a una de las ubicaciones de memoria para una operación de lectura o de escritura se

aplica el código de dirección de cinco bits para esa ubicación específica a las entradas de dirección.

En general se requieren N entradas de dirección para una memoria con una capacidad de 2N

palabras. Ver Fig. 2.1 y 2.2

2.4.2 La Entrada /R W

Esta entrada controla que operación de memoria se va a realizar: Lectura (R) o escritura (W). La

entrada se identifica como /R W ; no hay barra sobre la R lo cual indica que la operación de

lectura ocurre cuando /R W =1. La barra sobre la W en /R W indica que la operación de escritura

se realiza en /R W = 0. También se identifica la W como WE . En la Figura se muestra la

operación de escritura y lectura en una memoria. Ver Fig. 2.1 y 2.2

2.4.3 Habilitación de Memoria.

Es la entrada de HABILITACION DE MEMORIA (MEMORY ENABLE), también puede ser conocida

como habilitación de chip (CE) o selección de chip (CS). Este tipo de entrada es útil cuando se

combinan varios módulos de memoria para formar una memoria más grande. Ver Fig. 2.1 y 2.2

Page 5: Unidad 2

Figura 2.3 (a) Estructura Interna de una Memoria (b) Escritura y Lectura de una Memoria

2.5 Conexiones entre CPU y Memoria.

La memoria principal de una computadora esta compuesta por IC’s tipo RAM y ROM, los cuales se

conectan al CPU a través de tres grupos de líneas de señal o buses, los cuales se representan en la

Figura 2.4 como las líneas de dirección o bus de dirección, las líneas de datos y las líneas de

control o el bus de control. Cada uno de estos buses consiste de varias líneas (se representan

mediante una sola línea con una barra diagonal) y el numero de líneas en cada bus varia de una

computadora a otra. Los tres buses juegan un papel necesario para permitir que la CPU escriba

datos en la memoria y lea datos de ella.

(a) (b)

Page 6: Unidad 2

Figura 2.4 Conexión CPU y Memoria

2.5.1 Operaciones del CPU para la escritura y Lectura en una Memoria

2.5.1.1 Operación de Escritura

1. La CPU suministra la dirección binaria de la ubicación de memoria en la que se van

almacenar los datos. Coloca esta dirección en las líneas del bus de dirección.

2. La CPU coloca los datos que se van a almacenar en las líneas del bus de Datos.

3. La CPU activa las líneas de señal de Control apropiadas para la operación de escritura en la

memoria.

4. Los IC’s de Memoria decodifican la dirección binaria para determinar que ubicación se esta

relacionando para la operación de almacenamiento.

5. Los datos en el bus de Datos se transfieren hacia la ubicación de memoria seleccionada.

2.5.1.2 Operación de Lectura.

1. La CPU suministra la dirección binaria de la ubicación de memoria de la cual se van a

recuperar los datos. Coloca esta dirección en las líneas del bus de dirección.

2. La CPU activa las líneas de la señal de control apropiadas para la operación de lectura de la

memoria.

3. Los IC’s de la memoria decodifican la dirección binaria para determinar cual ubicación se

esta seleccionando para la operación de lectura.

4. Los IC’s de memoria colocan los datos de la ubicación de memoria seleccionada en el bus

de datos, desde donde se van a transferir hacia la CPU.

2.6 Memorias de Solo Lectura

Es un tipo de memoria semiconductora diseñada para retener datos que sean permanentes o que

no cambien con frecuencia. Durante la operación normal, no pueden escribirse datos en una ROM,

pero si se pueden leer. Para algunas ROMs, los datos almacenados deben integrarse durante el

proceso de manufactura, para otras los datos pueden introducirse mediante electricidad. Al

proceso de introducir datos se le llama programación o quemado de la ROM. Algunas ROMs no

pueden cambiar sus datos una vez programadas; otras pueden borrarse y reprogramarse tantas

veces como se requiera.

Page 7: Unidad 2

Un uso principal para la ROMs es el almacenamiento de programas en las microcomputadoras.

Como todas las ROMs son no volátiles estos programas no se pierden cuando se desconecta la

energía eléctrica. Al encenderse la Microcomputadora el programa almacenado en la ROM

empieza a ejecutarse.

2.6.1 Diagrama de Bloques de una ROM

La Figura 2.5 muestra un diagrama de una Memoria ROM donde tiene tres conjunto de señales:

entradas de dirección, entrada(s) de control y salidas de datos.

Figura 2.5 (a) Diagrama de una ROM (b) Tabla de direcciones y datos en binario de una ROM

(c) Tabla de direcciones y datos en hexadecimal de una ROM.

Las salidas de datos de la mayoría de los ICs de ROM son triestados para permitir la conexión de

muchos chips de ROM al bus de datos para expandir la memoria. Los números mas comunes de

salidas de datos para las ROMs son cuatro, ocho y 16 bits.

La entrada de Control CS significa Selección de Chip. En esencia es una entrada de habilitación,

para habilitar o deshabilitar las salidas de la ROM. Algunos fabricantes utilizan distintas etiquetas

para la entrada de control como CE (habilitación de Chip) u OE (habilitación de Salida). En algunos

ICs de ROM una de las entradas de control por lo general CE se utiliza para colocar a la ROM en un

modo de espera de baja energía cuando no esta en uso. Esto reduce el consumo de corriente de la

fuente de energía del sistema. En el caso de la Fig. 2.5 (a) la entrada CS es activa en BAJO para

permitir que aparezcan los datos en las salidas, también se puede observar que no existe la

entrada /R W ya que no se puede escribir en una ROM durante su operación normal.

Page 8: Unidad 2

2.6.2 Operación de Lectura

Los datos se almacenan en binario dentro de la ROM pero muy a menudo utilizamos notación

hexadecimal para mostrar los datos con eficiencia (Ver Figura 2.5 (b) y (c) ) . Para poder leer una

palabra necesitamos hacer dos cosas: (1) aplicar las entradas de dirección apropiadas y después

(2) activar las entradas de control.

Ej: Deseamos leer los datos almacenados en la ubicación 0111 de la ROM (Ver figura 2.5 (b) )

debemos aplicar 3 2 1 0 0111A A A A a las entradas de dirección y después aplicar un nivel BAJO a

CS . Las entradas de dirección se decodificaran dentro de la ROM para seleccionar la palabra de

datos correcta 11101101 que debe aparecer en las salidas 7D a

0D . Si CS se mantiene en ALTO,

las salidas de la ROM se deshabilitaran y quedaran en el estado Hi-Z.

2.6.3 Arquitectura de la ROM

Hay cuatro partes básicas en una Memoria ROM: Arreglo de Registros, Decodificador de Fila,

Decodificador de Columnas y Buferes de Salida.

Figura 2.6 Arquitectura de una ROM

Page 9: Unidad 2

2.6.3.1 Arreglo de registros

Almacena los datos que se programa en la ROM. Cada registro contiene varias celdas de memoria

que equivalen al tamaño de la palabra. En la Figura 2.6 el tamaño es de 8 bits. La posición de cada

registro esta en una fila y columna especifica. Por ejemplo el registro 0 esta en la fila 0 y la

columna 0.

2.6.3.2 Decodificadores de Direccion

El código de Direccion 3 2 1 0A A A A que se aplica es el que determina que registro en el arreglo se

habilitara para colocar su palabra de ocho bits en el bus. Los bits de dirección 1 0A A se alimentan a

un decodificador 1 de 4, el cual activa una línea de selección de fila y los bits de dirección 3 2A A se

alimentan a un segundo decodificador 1 de 4, el cual activa una línea de selección de columna.

Solo habrá un registro en la fila y la columna seleccionada por las entradas de dirección , por lo

que este es el que se habilitara.

2.6.3.3 Buferes de Salida

El registro que se habilite mediante las entradas de dirección colocara sus datos en el bus de

datos. Estos datos se alimentan hacia los buferes de salida, los cuales pasan estos datos hacia las

salidas de datos externas, siempre y cuando CS permanezca en BAJO. Si cambia a ALTO los

buferes de salidas se colocaran en estado Hi-Z.

2.6.4 Sicronizacion de la ROM

ACCt= Es el tiempo de propagación entre la aplicación de las entradas de una ROM y la aparición

de las salidas de los datos.

OEt= Es el tiempo o retraso entre la entrada

CSy la salida de Datos Validos.

Figura 2.7 Tiempos de Propagación

Page 10: Unidad 2

2.6.5 Tipos de ROM

2.6.5.1 Memoria programada por mascara

La ROM programada por mascara (MROM) almacena su información al momento en que se fabrica

el IC. Las ROMs están compuestas de un arreglo rectangular de transistores donde la información

se almacena mediante la conexión y desconexión de la fuente de un transistor con la columna de

salida. Para formar las rutas conductoras o conexiones se utiliza una “mascara” para depositar

metales en el silicio, los cuales determinan en donde se formaran las conexiones. La mascara es

muy precisa y costosa y debe fabricarse de manera especifica para el cliente con la información

binaria correcta.

En la Figura 2.8 muestra la estructura de una pequeña MROM tipo MOS de 16 celdas de memoria

ordenadas en cuatro filas. Cada celda es un transistor MOSFET de canal N conectado en la

configuración de drenador común. Observe que algunos de los transistores ( 0Qy 2Q

) tienen su

fuente conectada a la línea de la columna de salida mientras que otros ( 1Qy 3Q

) no. La presencia o

ausencia de estas conexiones de fuente determina si una celda almacena un 1 o un 0

respectivamente. La condición de cada conexión de fuente se controla durante la producción

mediante la mascara fotográfica, con base a los datos suministrados por el cliente.

El decodificador de 1 a 4 se utiliza para decodificar las entradas de dirección 1 0A Apara seleccionar

de cual fila se van a leer los datos.

Page 11: Unidad 2

2.6.5.2 ROMs programables (PROMs)

Las MROMs son demasiados costosas por lo que se desarrollo una ROM para aplicaciones de

menor volumen, en donde los fabricantes han desarrollados PROMs con enlaces de fusible, las

cuales son programables por el usuario, sin embargo una vez programadas se convierten al igual

que una MROM ya que no puede borrarse y reprogramarse.

Una PROM viene del fabricante con una conexión delgada de enlace de fusible en la terminal

fuente de cada transistor. En esta condición cada transistor almacena un 1. El usuario entonces

puede “volar” el fusible de cualquier transistor que necesite almacenar un 0 (Ver Figura 2.9). El

proceso de programacion (quemado) de la PROM se realiza mediante la selección de una fila al

aplicar la dirección deseada en las entradas de dirección, después se colocan los datos deseados

en las terminales de datos y luego se aplica un pulso a una terminal especial de programación en

el IC.

2.6.5.3 ROM programable y borrable (EPROM)

Este tipo puede programarse por el usuario, borrarse y reprogramarse las veces que se requiera.

Una vez progrmada la EPROM es una memoria no volátil que almacenara sus datos en forma

indefinida. El proceso para programar una EPROM es el mismo para PROM. El elemento de

almacenamiento de una EPROM es un transistor MOS con una compuerta de silicio que no tiene

conexión eléctrica (es decir una compuerta flotante) pero esta muy cerca de un electrodo. En su

estado normal no hay carga almacenada en la compuerta flotante por lo que el transistor

producirá un 1 logico cada vez que el decodificador de dirección lo seleccione. Para programar un

0 se utiliza un pulso de alto voltaje para dejar una carga neta en la compuerta flotante. Esta carga

hace que el transistor produzca como salida un 0 logico cuando se selecciona. Como la carga esta

atrapada en la compuerta flotante y no tiene ruta de descarga, el 0 se almacenara hasta que se

borre. Para borrar los datos se restauran todas las celdas a un 1 logico. Para ello se neutraliza la

carga en el electrodo flotante al exponer el silicio a una luz ultravioleta (UV) de alta intensidad

durante varios minutos.

La 27C64 es un ejemplo de IC de memoria pequeño de 8K x 8K disponible como PROM o como

EPROM borrable con luz UV. La Figura 2.10 muestra el símbolo lógico y su modo de operación

Page 12: Unidad 2

donde se observa dos entradas de habilitación ya conocidas ( CE y OE ) y dos nuevas entradas

PPV la cual es el voltaje de programación especial requerido durante la programación y la otra

entrada PGM que es una entrada de habilitación de programa que se activa para almacenar

datos en la dirección seleccionada.

Figura 2.10 (a) Simbolo Logico (b) Encapsulado (c) Modos de Operación

La desventaja de la EPROM es que debe ser removida del circuito para programarse y borrarse, la

operación borra todo el chip y puede durar hasta 20 minutos.

2.6.5.4 PROM programable y borrable eléctricamente (EEPROM)

Es una mejora de las EPROM. Retiene la misma estructura de compuerta flotante pero agrega una

región de oxido muy delgada por encima del colector de la celda de memoria MOSFET, esta

modificación produce la característica de borrarse mediante electricidad. Al aplicar un alto voltaje

(21V) entre la compuerta y el colector del MOSFET se puede inducir una carga en la compuerta

flotante en donde permanecerá aunque se corte la energía, si se invierte este voltaje se eliminaran

las cargas atrapadas de la compuerta flotante y se borrara la celda. Como este mecanismo

requiere corrientes muy bajas, el borrado y la programación de una EEPROM puede realizarse en

el circuito sin necesidad de una fuente UV o un dispositivo especial.

Otra ventaja es la habilidad de borrar y reescribir bytes individuales en el arreglo de memoria

mediante electricidad. La desventaja es con respecto a su densidad y costo, la capacidad de bits

por milímetro cuadrado de silicio es mayor. La figura 2.11 muestra un ejemplo de IC EEPROM

(2864)

Page 13: Unidad 2

Figura 2.11 (a) Símbolo Lógico (b) Modo de Operación

2.6.5.5 CD-ROM

Es un tipo de almacenamiento de solo lectura muy conocido. Los discos se fabrican con una

superficie altamente reflectiva. Para almacenar datos en los discos un rayo laser muy intenso se

enfoca en un punto muy pequeño del disco. Este rayo quema un pozo disfractor de luz en ese

punto de la superficie del disco. Los datos digitales (1s y 0s) se almacenan en eldisco un bit a la

vez, mediante el proceso de quemar o no quemar un pozo en el recubrimiento reflectivo. La

información digital se ordena en el disco como una espiral continua de puntos de datos.

Para poder leer los datos se enfoca un rayo mucho menos poderoso, que el utilizado para

almacenar en la superficie del disco. En cualquier punto la luz reflejada se detecta ya sea como un

1 o como un 0. Este sistema óptico esta montado en un transporte mecanico que se mueve hacia

delante o hacia atrás logrando recuperar los datos en un flujo de manera serial.

2.6.5.6 Memoria Flash

Es similar a la EEPROM, es decir se puede programar y borrar eléctricamente. Se caracteriza por tener alta capacidad para almacenar información y es de fabricación sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a menor costo que las EEPROM.

Las celdas de memoria se encuentran constituidas por un transistor MOS de puerta apilada, el cual se forma con una puerta de control y una puerta aislada, tal como se indica en la figura 2.12 La compuerta aislada almacena carga eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. De la misma manera que la memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1. Figura 2.12 Celda de memoria de una FLASH

Page 14: Unidad 2

Las operaciones básicas de una memoria Flash son la programación, la lectura y borrado.

La programación se efectúa con la aplicación de una tensión (generalmente de 12V o 12.75 V) a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar 0’s. Para almacenar 1’s no es necesario aplicar tensión a las compuertas debido a que el estado por defecto de las celdas de memoria es 1.

La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la celda de memoria, en cuyo caso el estado lógico almacenado se deduce con base en el cambio de estado del transistor:

Si hay un 1 almacenado, la tensión aplicada será lo suficiente para encender el transistor y hacer circular corriente del drenador hacia la fuente.

Si hay un 0 almacenado, la tensión aplicada no encenderá el transistor debido a que la carga eléctrica almacenada en la compuerta aislada.

Para determinar si el dato almacenado en la celda es un 1 ó un 0, se detecta la corriente circulando por el transistor en el momento que se aplica la tensión en la compuerta de control.

El borrado consiste en la liberación de las cargas eléctricas almacenadas en las compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura 2.13

Figura 2.13 Proceso de descarga de una celda de memoria FLASH

2.6.6 Aplicaciones de la ROM

1. Memoria de Programa de Microcontrolador Embebido

2. Transferencia de Datos y Portabilidad

3. Memoria de Arranque

4. Tablas de Datos.

5. Convertidor de Datos

6. Generador de Funciones

7. Almacenamiento Auxiliar

2.7 Memoria de Acceso Aleatorio (RAM)

En este tipo de Memoria se puede acceder con la misma facilidad a cualquier ubicación de

dirección de memoria. Se refiere a las memorias de lectura/escritura (RWM) utilizadas para el

almacenamiento temporal de programas y datos. Las computadoras cuando ejecutan un programa

realizan operaciones de lectura y escritura sobre muchas ubicaciones de memoria de la RAM. Para

ello se requieren tiempos de ciclos de lectura y escritura rapidos de manera que no disminuya la

velocidad de operación de la computadora.

Page 15: Unidad 2

La principal desventaja de la RAM es que es volátil y perderá toda la información almacenada si se

interrumpe o se desconecta la energía. La ventaja es que se puede escribir en ella y leer de ella

con la misma rapidez y facilidad.

2.7.1 Arquitectura de la RAM

Figura 2.14 Arquitectura de una RAM 64x4

La figura muestra una RAM de 64 palabras de cuatro bits cada una, estas palabras tienen

direcciones que varian de 0 a 6310 . Para poder seleccionar una de las 64 ubicaciones de dirección

para leer o escribir se aplica un código de dirección binario a un circuito decodificador. Como 64 =

26 el decodificador requiere un código de entrada de seis bits. Cada código de dirección activaa

una salida especifica del decodificador que a su vez habilita su registro correspondiente.

Por ejemplo:

5 4 3 2 1 0 011010A A A A A A

Como 0110102=2610, la salida 26 del decodificador cambiara a nivel ALTO y seleccionara el registro

26 para una operación de lectura o de escritura.

2.7.1.1 Operación de Lectura

El código de dirección seleccionara un registro en el chip de memoria para leer o escribir. Para

poder leer el contenido del registro seleccionado, la entrada LEER/ESCRIBIR ( /R W ) debe ser un

Page 16: Unidad 2

1, además la SELECCIÓN DEL CHIP ( CS ) debe activarse en este caso con un 0. La combinación de

estas dos entradas habilitara los buferes de salida de manera que aparecerá el contenido del

registro seleccionado en las cuatros salidas de datos y al mismo tiempo deshabilitara los buferes

de entrada para que no afecten en el proceso de lectura.

2.7.1.2 Operación de Escritura.

Es lo contrario la entrada /R W debe estar en 0 y CS mantenerse en 0, esto habilitara los buferes

de entrada para la respectiva operación de escritura y deshabilitara los buferes de salida

poniéndolos en estado de Hi-Z. Esta operación destruye la palabra que esta almacenada en esa

dirección.

2.7.1.3 Selección de Chip

Varios IC tienen varias entradas de habilitación como CS , CE las cuales sirven para deshabilitar

al IC, ponerlo en modo de poco consumo o activar las salidas triestados.

2.7.1.4 Terminales Comunes de Entrada/Salida

La entrada /R W controla la función de E/S, durante la operación de lectura, las terminales de E/S

actúan como salidas de datos que reproducen el contenido de la ubicación de dirección

seleccionada.

2.7.2 Tipos De Memoria RAM

2.7.2.1 RAM Estatica (SRAM)

En esencia, las celdas de Memoria de la RAM estatica son flip Flops que permanecerán en un

estado dado (almacenan un bit) de manera indefinida, siempre y cuando no se interrumpa la

energía del circuito. Las RAMs estaticas (SRAMs) están disponibles en las tecnologías bipolar, MOS

y BiCMOS; la mayoría de las aplicaciones utilizan RAMs tipo NMOS o CMOS. Los dispositivos

bipolares tienen la ventaja en velocidad (aunque CMOS esta cada vez mas cerca) y los dispositivos

MOS tienen mucho mayor capacidad y un bajo consumo de energía.

2.7.2.2 RAM Dinamica (DRAM)

Las RAMs dinamicas se fabrican mediante el uso de tecnología MOS y se distinguen por su alta

capacidad, bajo rendimiento de energía y velocidad moderada de operación. A diferencia de las

SRAMs que almacenan su información en FFs, las dinamicas almacenan 1s y 0s en forma de cargas

en un pequeño capacitor MOS (por lo general unos picos faradios). Debido a la tendencia de estas

cargas por fugarse después de un periodo de tiempo, las RAMs dinamicas requieren una recarga

Page 17: Unidad 2

periodica de las celdas de memoria; a esto se le conoce como regenerar la RAM dinámica. En los

chips DRAM modernos, cada celda de memoria debe regenerarse cada 2, 4 u 8 ms o se perderan

sus datos.

La necesidad de regenerarse es una desventaja de las DRAM debido a que puede requerir de

circuitos de soporte externos. Algunos chips de DRAM tienen circuitos de control de regeneración

integrados, los cuales no requieren hardware externo adicional pero si una sincronización especial

de las señales de control de entrada del chip.

Para aplicaciones en las que la velocidad y la reducción en complejidad son mas importantes que

las consideraciones de costo, espacio, energía las SRAMs siguen siendo la mejor opción. Debido a

su estructura de celdas simples, las DRAMs tienen cuatro veces la densidad de las SRAMs. Este

aumento en densidad permite colocar cuatro veces mas capacidad de memoria en una sola

tarjeta.

2.8 Expansion de Tamaño de Palabra y Capacidad.

A menudo no se puede satisfacer la capacidad o el tamaño de palabras requeridos para una

memoria ROM o RAM con un solo chip de memoria, por lo tanto hay que combinar varios chips de

memoria para proporcionar la capacidad y/o el tamaño de la palabra.

2.8.1 Expansion del Tamaño de Palabra

Recordemos:

2K x 8 = 16384 bits

2*1024 o 102*2 x 8

Numero de palabras Tamaño de la Palabra Numero total de bits

Despues de recordar que es el numero de palabras, el tamaño de palabra y la capacidad.

Supongamos que necesitamos una memoria que pueda almacenar 16 palabras de ocho bits y todo

lo que tenemos son chips de RAM como memoria de 16x4 con líneas comunes de Entradas/Salidas

(E/S). Podemos combinar dos de estos chips para producir la memoria deseada 16x8.

Como cada chip puede almacenar 16 palabras de cuatro bits y queremos almacenar 16 palabras de

ocho bits, vamos a utilizar cada chip para que almacene la mitad de cada palabra. Es decir una

primer RAM llamada RAM-0 almacena los cuatro bits de mayor orden de cada una de las 16

palabras y la otra RAM llamada RAM-1 almacena los cuatro bits de menor orden de cada una de

Page 18: Unidad 2

las 16 palabras. De esta manera hay una palabra de ocho bits completa en las salidas de la RAM

que se conectan al bus de Datos.

En la figura se muestra la configuración final para obtener una memoria RAM de 16x8 para llegar a

esto se siguen los siguientes pasos:

1. El numero de líneas se determina por el numero de palabras en este caso 16 palabras

equivale a 24, es decir 4 lineas de Direccion, las cuales estarán conectadas en paralelo porque

el objetivo no es aumentar el numero de palabras sino el tamaño de la palabra.

2. Las Entradas /R Wy

CSestarán conectadas en paralelo para su respectivo control.

CS

deberá estar en BAJO para la activación de los ICs de Memoria. /R W

puede estar en ALTO si

es para realizar un proceso de lectura en la Memoria o en BAJO si es para una operación de

escritura.

3. El bus de datos estará compuesto de ocho líneas correspondiente al tamaño total de la

memoria deseada la cual cuatro líneas de orden mayor serán de la memoria RAM-0 y las otras

cuatro líneas de la memoria RAM-1.

Page 19: Unidad 2

Ejemplo: Se tiene el IC 2125ª cuya capacidad es de 1Kx1 tiene una entrada de selección de chip

activa en BAJO y líneas separadas de Entrada y Salida de datos. Muestre como se pueden

combinar varios ICs 2125A para formar un modulo de 1Kx8.

Solucion: Se nos pide aumentar el tamaño de la palabra a 8 bits cuando tenemos ICs de 1bit, para

poder hacer esto necesitaríamos 8 ICs de 1Kx1 para poder lograr un modulo de 1Kx8. Sabiendo

esto determinamos el numero de líneas de direcciones las cuales seria 1K=210, es decir 10 lineas de

dirección (9 0...A A ). Las Entradas /R W y CS se conectan en paralelo y las líneas del bus de Datos

son en total 8 lineas las cuales cada IC proporcionara 1 linea para formar los 8 bits. El diagrama

final se muestra a continuación.

2.8.2 Expansion de Capacidad

Ahora se planea modificar la capacidad, es decir el numero de palabras. Si tenemos el modulo de

memoria de 16x4 y se quiere un modulo con 32 palabras, es decir 32x4 lo que necesitamos hacer

es activar(habilitar) un modulo de memoria a la vez para evitar colisiones. La entrada CS se

encargara de hacer este trabajo como ahora se necesitan cinco líneas de direcciones para lograr

32 palabras pero los IC solo aceptan 4 lineas de direcciones significa que esa quinta línea estara

manipulando las entradas de habilitación CS donde un modulo estará activo por un tiempo

mientras que el otro modulo no logrando formar las 32 palabras.

En la imagen se muestra el diagrama final para lograr el modulo de memoria de 32x4.

Page 20: Unidad 2

Para poder entender mejor este diagrama, cuando 4 0A la señal CS de la RAM-0 habilita este

chip para lectura o escritura. Despues se puede acceder a cualquier ubicación de la RAM-0 a través

de las líneas 3 0A A . Asi el intervalo de direcciones que representan ubicaciones en la RAM-0 es:

4 3 2 1 0 00000 01111A A A A A

Observe que cuando 4 0A la señal CS de la RAM-1 esta en ALTO por lo cual sus líneas de E/S

están deshabilitadas (Hi-Z) y no pueden comunicars con (dar o recibir datos) el bus de datos.

Cuando 4 0A se invierten los roles de la RAM-0 y la RAM-1. Ahora la RAM-1 esta habilitada y las

líneas 3 0A A seleccionan una de sus ubicaciones. Asi el intervalo de direcciones ubicadas en la

RAM-1 es:

4 3 2 1 0 10000 11111A A A A A

En conclusión podemos decir que el aumento de capacidad se logra por el switcheo de los IC RAM

de 16x4 mediante la línea de Direccion 4A la cual tiene dos diferentes estados mediante el uso de

un inversor. Este cambio a medida que se use mas ICs se realizara mediante decodificadores.

Page 21: Unidad 2

Ejemplo: Queremos combinar varias PROMs de 2Kx8 para producir una capacidad total de 8Kx8

¿Cuántos chips de PROMs se necesitan?¿Cuantas líneas se requieren para el bus de direcciones?

Solucion: Se requieren 4 chips de PROM de 2Kx8 y como 8K=213 se requieren 13 líneas de

dirección. El diagrama final se muestra a continuación.