Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

8
1 Memorias Lic Edgardo Faletti(2014) Generalidades Una memoria es un dispositivo capaz de almacenar información y conservarla de forma tal de poder acceder a ella en el momento que se la necesita. Posee dos operaciones básicas que son la grabación de la información o ciclo de escritura y la recuperación de la información o ciclo de lectura. La escritura de una memoria consiste en llevar la información a determinadas celdas con el fin de almacenaría y la lectura permite extraer la información de las celdas en las que previamente se la depositó. El ciclo de lectura no modifica, en general, el contenido de una celda de memoria, en cambio el ciclo de escritura destruye la información existente en una celda dando paso a la nueva. En una computadora la memoria es el "soporte físico" de la información que ha de ser procesada, es decir que sus celdas contienen la serie de instrucciones y datos que forman un programa determinado. La memoria que opera directamente con el procesador durante la ejecución de un programa de denomina principal, mientras que aquellla que se emplea como archivo de datos y programa suele llamarse auxiliar o secundario. La capacidad de una memoria se mide en función de la cantidad de palabras que puede almacenar; se llama palabra "word" al número de bits que pueden ser leidos o escritos simultáneamente. Una longitud de palabra comúnmente utilizada el el byte (conjunto de ocho bites); 2 bytes es igual a 16 bites, medio byte es igual a 4 bites (nibble). Se denomina tiempo de acceso al ciclo de lectura (taccr) al tiempo medido entre el instante en que es emitida la orden de lectura (de una celda determinada) y el instante en que la palabra es leída. El tiempo de acceso al ciclo de escritura (taccw) se mide entre el instante en que se emite la orden de escritura (de una celda determinada) y el instante en que la palabra es escrita. El promedio de ambos tiempos representa el tiempo de acceso a la memoria: Tacc = (taccr + taccw) / 2 Previamente a que se emita alguna orden sobre la memoria (ya sea para leerla o para escribirla), debe ser direccionada la celda sobre la cual se ha de operar. Por lo tanto, cualquier tipo de memoria debe poder ser direccionada, debe poder ser controlada (habilitada o bloqueada) y debe poder ser leída o escrita. Es posible presentar un modelo de memoria, independientemente de sus características, del tipo de matriz, como se ve en la siguiente figura: Podemos decir que una memoria está vinculada al procesador a través de tres buses: el ADDRESS BUS (bus de direcciones) mediante el cual pueden direccionarse todas las posiciones, el DATA BUS

Transcript of Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

Page 1: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

1

Memorias Lic Edgardo Faletti(2014)

• Generalidades Una memoria es un dispositivo capaz de almacenar información y conservarla de forma tal de poder acceder a ella en el momento que se la necesita. Posee dos operaciones básicas que son la grabación de la información o ciclo de escritura y la recuperación de la información o ciclo de lectura. La escritura de una memoria consiste en llevar la información a determinadas celdas con el fin de almacenaría y la lectura permite extraer la información de las celdas en las que previamente se la depositó. El ciclo de lectura no modifica, en general, el contenido de una celda de memoria, en cambio el ciclo de escritura destruye la información existente en una celda dando paso a la nueva. En una computadora la memoria es el "soporte físico" de la información que ha de ser procesada, es decir que sus celdas contienen la serie de instrucciones y datos que forman un programa determinado. La memoria que opera directamente con el procesador durante la ejecución de un programa de denomina principal, mientras que aquellla que se emplea como archivo de datos y programa suele llamarse auxiliar o secundario. La capacidad de una memoria se mide en función de la cantidad de palabras que puede almacenar; se llama palabra "word" al número de bits que pueden ser leidos o escritos simultáneamente. Una longitud de palabra comúnmente utilizada el el byte (conjunto de ocho bites); 2 bytes es igual a 16 bites, medio byte es igual a 4 bites (nibble). Se denomina tiempo de acceso al ciclo de lectura (taccr) al tiempo medido entre el instante en que es emitida la orden de lectura (de una celda determinada) y el instante en que la palabra es leída. El tiempo de acceso al ciclo de escritura (taccw) se mide entre el instante en que se emite la orden de escritura (de una celda determinada) y el instante en que la palabra es escrita. El promedio de ambos tiempos representa el tiempo de acceso a la memoria:

Tacc = (taccr + taccw) / 2 Previamente a que se emita alguna orden sobre la memoria (ya sea para leerla o para escribirla), debe ser direccionada la celda sobre la cual se ha de operar. Por lo tanto, cualquier tipo de memoria debe poder ser direccionada, debe poder ser controlada (habilitada o bloqueada) y debe poder ser leída o escrita. Es posible presentar un modelo de memoria, independientemente de sus características, del tipo de matriz, como se ve en la siguiente figura:

Podemos decir que una memoria está vinculada al procesador a través de tres buses: el ADDRESS BUS (bus de direcciones) mediante el cual pueden direccionarse todas las posiciones, el DATA BUS

Page 2: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

2

(bus de datos) por donde circula la información ya sea para leer o para escribir y el CONTROL BUS (bus de control) que permite habilitar la memoria y emitir las órdenes de lectura y/o escritura. Las memorias pueden clasificarse teniendo en cuenta los siguientes aspectos generales: 1. Según su tecnología. 2. Por la persistencia de la información. 3. Según el tipo de acceso. 4. Por el modo de operación. Según la tecnología las memorias se clasifican en: I. Ferromagnéticas: que pueden ser de superficie móvil (tambor, cinta, disco, diskette) . II. Semiconductoras: ya sean unipolares (FET) o bipolares. Por la persistencia de la información, pueden clasificarse en: I. Volátiles: son aquellas en que la información se pierde cuando se interumpe la fuente de

alimentación. II. No volátiles: la información perdura aún sin la alimentación. III. De lectura destructiva: la información se destruye cada vez que es leída. IV. De lectura no destructiva: la información no se destruye al ser leída. V. Dinámicas: se basan en formar el punto de memoria aprovechando la capacidad de entrada

de un transistor MOSFET. Necesitan un circuito de refresco (refresh) periódico para mantener la carga de la celda de memoria (funciona en forma similar a un capacitor.

VI. Estáticas: no necesitan circuito de refresco, pero en la escala de integración son más limitadas.

Según el tipo de acceso a la memoria, podemos clasificarlas de la siguiente memoria: I. Secuenciales: la información se procesa en forma seriada y se desplaza de la misma forma

hacia el punto donde se efectua la lectura, debiendo esperar que pase por él toda la información que antecede al dato buscado.

II. Aleatorias: RANDOM ACCESS MEMORY (RAM): son memorias organizadas en forma de matriz (filas y columnas) en las cuales el tiempo de acceso a cualquier punto de memoria es el mismo, es decir que es independiente de la posición que éste ocupe, a diferencia de las memorias de acceso secuencial. Esto se debe a la posibilidad de direccionar todos y cada uno de los puntos de memoria con el mismo retardo.

III. Asociativas: son aquellas en las cuales el acceso a la información está asociado a una clave (rótulo o etiqueta). Por ejemplo: la información que contiene una guía telefónica es el número del aboando; para acceder al mismo la clave es, por ejemplo, el nombre y apellido del abonado.

Por el modo de operación las memorias se clasifican en : I. De lectura :Read Only Memory (ROM) II. De lectura- Escritura: Read - Write ( R / W) • Memorias de Lectura (ROM) Esta memoria, por lo general, está constituída por una matriz de diodos. Es de lectura solamente, de acceso aleatorio y no volátil. La programación de la matriz es realizada por el fabricante. Sus aplicaciones típicas son: como generador de caracteres, para almacenar programas fijos, etc. El direccionamiento de la memoria puede realizarse por medio de un Decodificador: ver el siguiente ejemplo:

Page 3: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

3

Cuando una posición sea direccionada, un "1" lógico habrá en la línea correspondiente del decodificador (Dx). Por las líneas de datos aparecerán niveles altos ("1") en aquellas que tengan diodos conectados y niveles bajos ("0") donde no los haya. Las salidas de esta memoria pueden adoptar el estado de alta impedancia (Three State); además poseen pines de habilitación que provienen del BUS de CONTROL. E n la fabricación de ROMS integradas suelen reemplazarse los diodos por transistores bipolares o de efecto de campo. Para el caso de los transisitores bipolares, la juntura base - emisor cumple la función del diodo. El direccionamiento consiste en atacar la base del transisitor, mientras que el colector recibe la tensión positiva de la fuente (Vcc). Es posible utilizar transistores con multiemisor, de manera de reducir la cantidad de componentes y aumentar así la capacidad de memoria. Si cada emisor lleva conectado en serie un fusible, la memoria puede ser programable por el usuario (PROM). Veamos un ejemplo, en el cual mostraremos una línea de dirección:

En estas condiciones, al direccionar cada posición de la memoria a través del Address Bus, todas las líneas de datos presentarán "1" ya que las junturas B-E del transistor Bipolar conducirán. La programación consiste en quemar el fusible asociado a aquella línea en la que se desee un "0"; esto se logra aplicando tensión negativa (-Vcc) en la salida correspondiente. Esta operación se realizará dirección por dirección, quemando los fusibles que sean necesarios para obtener un cero a la salida.

Page 4: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

4

Luego de la fase de programación esta memoria sólo podrá leerse. Existen memorias de lectura que son programables y borrables cuantas veces se desee. Las mismas se llaman EPROM (Erasable Programable Read Only Memory). Son memorias constituidas por FET con compuerta flotante (flotting gate), donde cada transistor almacena un bit. El principio de funcionamiento de este transistor es el siguiente:

De esta forma el flotting gate queda siempre cargado y el FET , al ser direccionado, conducirá y en la salida podrá leerse un "0" . La incidencia de luz ultraviolet producirá el borrado de la memoria,ya que provocará la descarga del gate flotante y llevará al FET al estado de corte ("1"). La exposición de luz ultravioleta debe hacerse durante un tiempo determinado (aproximadamente 30 minutos) y a una distancia aproximada de 3 cm. El borrado no es selectivo, ya que la luz ataca la matriz. La programación debe realizarse posición por posición mediante circuitos apropiados que permitan cargar los flotting gates de aquellos FETs en los que se desee almacenar "0" . • Memorias de Lectura- Escritura (Read- Write) Las memorias R/W que se emplean habitualmente como memorias principales del procesador tienen las siguientes características:

Son volátiles, aleatorias (RAM), de lectura no destructiva, de semiconductores, estáticas o dinámicas (trataremos las estáticas).

Su estructura es matricial. La matriz puede ser direccionada por filas con un Dx ( como vimos hasta ahora) o por filas y columnas con dos Dx. Veremos la arquitectura típica de una memoria RAM donde podemos considerar que el punto de memoria está formado por un conjunto de Flip- Flop. Tomaremos como ejemplo una memoria de 1024 bits (256 palabras de 4 bits c/u). La tecnología de esta memoria es N-MOS, donde VDD = 5 Volt. La matriz está formada por 8 columnas y 32 filas barridas por dos decodificadores; los terminales de dirección más significativos (A7, A6 ,A5) controlan las columnas Mz a través de las 8 salidas del Dx C, mientras que los restantes conectores de dirección (A4, A3, A2, A1 y A0) controlan las filas de MZ a través de las 32 salidas del Dx F. La información ingresa y egresa de la memoria a través de un conjunto de transceptores conectándose con el DATA BUS por medio de un bus interno. Existen además, dos circuitos buffer, uno de entrada y otro de salida, que son controlados por dos compuertas cuyas entradas son:

Si durante la fase de programación se ataca al FET con una tensión elevada entre Gate y Drain ( G = 26 Volt y D = 0 Volt), se crea un campo eléctrico poderoso que permite que unos cuantos electrones crucen la barrera de potencial que represente el SiO2 y que pueden atraparlos en el flotting- gate, no pudiendo regresar al materuial del sustrato una vez que desaparezca el campo eléctrico que los hizo saltar.

Page 5: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

5

__ __ CE1 y CE2 = CHIP ENABLE (HABILITACIÓN DEL CHIP) OD = OUTPUT (INHABILITACIÓN DE SALIDA) __ R / W = READ/ WRITE (LECTURA / ESCRITURA)

Las entradas CE1 y CE2 normalmente se conectan a tierra. Su objetivo es permitir la aplicación de la memoria, como veremos más adelante. OD y R/W son gobernadas por la CPU a través del BUS de CONTROL. Cuando la memopria no opera presenta Alta Impedancia de salida sobre el DATA BUS. En los siguientes diagramas de tiempos podremos apreciar los ciclos de lectura y de escritura:

Ciclo de Lectura para una memoria SRAM

Page 6: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

6

• Expansión de Memoria La capacidad de una memoria puede ampliarse teniendo en cuenta dos aspectos, que son la longitud de la palabra (word) y la cantidad de palabras. En el primer caso se trata de acoplar en paralelo, a través de sus salidas, chips del mismo tipo. En el segundo caso deben combinarse los chips mediante el uso de los CE ó CS (Chip Enable ó Chip Select). Veamos un ejemplo que contempla ambos casos: Supongamos que se dispone de un bus de direcciones de 12 hilos y de un bus de datos de 8 conectores y se desea confeccionar una memoria RAM de 1 Kbyte, es decir 1024 word de 8 bites cada uno. Para ello se tiene un chip de 1/4 K x 1/2 byte (256 posiciones de 4 bites cada una), cuyo diagrama en bloques es el siguiente:

Page 7: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

7

Las 256 posiciones de este chip de memoria son direccionadas por los 8 conectores de dirección (de A 7 hasta A0) y se numeran en hexadecimal desde 00 hasta FF. Los 4 bites de palabra (D3 / D0) se conectan al bus de datos. R/W y OD son gobernados por el bus de control. Aquí se trata de duplicar la longitud de la palabra y cuadriplicar la cantidad de palabras. Para esta última tarea deben utilizarse hilos de dirección adicionales que, conectados a CE2 y CE2, permiten habilitar cada chip de memoria en el rango de direcciones que le corresponda. Tendremos así 4 páginas de memoria; lo que viene entonces es ver los estados lógicos que adoptan los conectores más pesados del ADDRESS BUS para ver su variación a lo largo de todo el rango de direcciones:

Se observa que los conectores A9 y A8 del ADDRESS BUS pueden gobernar a los CE1 y CE2 para habilitar a las distintas páginas de la memoria, cada una representada por dos chips en paralelo, ya que también hay aumentar la longitud de palabra. Veamos el diagrama en bloques de esta expansión:

Page 8: Conceptos Básicos de Memorias- Lic. Edgardo Faletti (2014)

8

NOTA: En cada chip de memoria, los pines R/W y OD son gobernados por el CONTROL BUS. Como vemos, cada página es direccionada por los hilos A9 y A8 de manera de habilitar en el rango de direcciones correspondiente a cada una de las páginas: La página CERO (P0) barre desde 000 hasta 0FF. La página UNO (P1) barre desde 100 hasta 1FF. La página DOS (P2) barre desde 200 hasta 2FF. La página TRES(P3) barre desde 300 hasta 3FF. Los conectores A7 a A0 direccionan los renglones de cada página y, como se ve, el mismo renglón es direccionado en todas las páginas, pero solo uno podrá acceder al DATA BUS y es aquél que pertenezca a la página que en ese momento esté habilitada. Otro forma de direccionar las páginas es mediante un decodificador de 2 entradas y 4 salidas que controle los "chip enable" de cada memoria: