viernes, 15 de octubre de 2010

MEMORIA ROM

Una ROM es esencialmente un dispositivo (o acumulador) de memoria en el cual se almacena un conjunto fijo de información binaria. La información binaria debe especificarse por el usuario y luego enclavarse en la unidad para formar el patrón de interconexión requerida. Las ROM vienen con enlaces internos especiales que pueden estar fusionados o abiertos. La interconexión deseada para una aplicación particular requiere que ciertos enlaces estén fusionados para formar los caminos del circuito necesarios. Una vez que se establezca un patrón para una ROM, éste permanecerá fijo, aunque se haga un corte de corriente y luego se restablezca.
UNID2_63.gif (7182 bytes)La Figura 16, muestra un diagrama a bloques de una ROM. Este consiste en n líneas de entrada y m líneas de salida. Cada combinación de bits de las variables de entrada se llama una dirección. Cada combinación de bits que sale por las líneas de salida se llama una palabra. El número de bits por palabra es igual al número de líneas de salida . Una dirección es esencialmente un número binario que denota uno de los términos mínimos de n variables. El número de direcciones diferentes posibles de n variables de entrada es 2. Una palabra de salida puede seleccionarse por una dirección única y como hay 2 direcciones diferentes en una ROM, hay 2 palabras diferentes que se dice que están acumuladas en la unidad. La palabra disponible en las líneas de salida, en cualquier momento dado, depende del valor de la dirección aplicada a las líneas de entrada. Una ROM se caracteriza por el número de palabras, 2, y el número de bits por palabra m. Esta terminología se usa debido a la similitud entre la memoria de sólo lectura y la memoria de lectura-escritura.nnnnm

    Considérese una ROM de 32x8. La unidad consiste de 32 palabras de 8 bits cada una. Esto significa que hay 8 líneas de salida y 2 palabras distintas almacenadas en la unidad. La palabra particular seleccionada que está presente en las líneas de salida se determina a partir de lasa. Hay solamente cinco cinco líneas de entrad entradas en una ROM de 32x8 porque 2 y con cinco variables se pueden especificar 32 direcciones o términos mínimos. Para cada dirección de entrada hay una palabra única seleccionada. Así, si una dirección de entrada es 11111, se selecciona la palabra número 31 y se aplica a las líneas de salida. Entre la primera y la última hay otras 31 direcciones que pueden seleccionar otras 31 palabras.6=32
    El número de palabras direccionadas en una ROM se determina del hecho de que se necesitan n líneas de entrada para especificar 2 palabras. Una ROM se especifica algunas veces por el número total de bits que contiene, el cual será 2. Por ejemplo, una ROM de 2048 bits puede organizarse como 512 palabras de 4 bits cada una. Esto significa que la unidad tiene 4 líneas de salida y 9 líneas de entrada para especificar 2palabras. El número total de bits en la unidad es 512x4=2,048.9=512 nxmn
UNID2_64.gif (16437 bytes)     Internamente, la ROM es un circuito combinacional con compuertas Y conectadas como decodificador y un número de compuertas O igual al número de salidas de la unidad. La Figura 17, muestra la construcción lógica interna de una ROM de 32x4. Las cinco variables de entrada se codifican en 32 líneas por medio de 32 compuertas Y y cinco inversores. Cada salida del decodificador representa uno de los términos mínimos de una función de 5 variables. Cada una de las 32 direcciones selecciona una y solo una salida del decodificador. La dirección es un número de 5 bits aplicado a las entradas y el término mínimo seleccionado por fuera del decodificador es el marcado con el número decimal equivalente. Las 32 salidas del decodificador están conectadas por medio de enlaces a cada compuerta O. Solamente 4 de estos enlaces se muestran en el diagrama, pero realmente cada compuerta O tiene 32 entradas y cada entrada pasa a través de un enlace que puede estar cortado, si así se desea.
    La ROM es una configuración de dos niveles en forma de suma de términos mínimos. No tiene que ser una configuración Y-O, pero puede ser cualquier otra posible configuración de términos mínimos de dos niveles. El segundo nivel es normalmente una conexión de lógica cableada para facilitar la fusión de los enlaces.
    La ROM tiene muchas aplicaciones importantes en el diseño de sistemas de computadoras digitales. Su uso para la configuración de circuitos combinacionales complejos es justamente una de esas aplicaciones.
    Del diagrama lógico de la ROM, es claro que cada salida produce la suma de todos los términos mínimos de n variables de entrada. Recuérdese que una función de Boole puede expresarse en forma de suma de términos mínimos. Al romper los enlaces de aquellos términos mínimos que no se incluyen en la función, cada salida de la ROM puede hacerse que represente la función de Boole de una de las variables de salida de un circuito combinacional. Para un circuito combinacional de n entradas y m salidas se necesita una ROM de 2. La ruptura de los enlaces se refiere a la programación de la ROM. El diseñador necesita solamente especificar una tabla del programa ROM que da la información para los caminos necesarios en la ROM. La programación real es un procedimiento del material que sigue las especificaciones listadas en la tabla de programación.nxm

UNID2_65.gif (15452 bytes)     Para aclarar el proceso es necesario un ejemplo específico. La siguiente tabla, corresponde al logigrama de la Figura 18, especifica un circuito combinacional con dos entradas y dos salidas.

DECA1A0F1F0
0
1
2
3
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
    Las funciones de Boole pueden expresarse en suma de términos mínimos:
F1(A1,A0) = 3m (1,2,3)
F2(A1,A0) = 3m (0,2)
    Cuando se configura un circuito combinacional por medio de una ROM, las funciones deben expresarse en suma de términos mínimos o mejor aún por una tabla de verdad. Si la salida de las funciones se simplifica, se encuentra que el circuito necesita solamente una compuerta O y un inversor. Obviamente, éste es un circuito combinacional simple como para ser ejecutado con una ROM. La ventaja de las ROM es su uso en circuitos combinacionales complejos. Este ejemplo solamente demuestra el procedimiento y no debe considerarse como una situación práctica.
    La ROM que configura el circuito combinacional debe tener dos entradas y dos salidas, de tal manera que su tamaño deberá ser 4x2. La Figura 18 (a), muestra la construcción interna de una ROM. Es necesario determinar cuáles de los ocho enlaces disponibles deben romperse y cuáles deben dejarse sin tocar. Esto puede hacerse fácilmente de las funciones de salida listadas en la tabla de verdad. Aquellos términos mínimos que especifican una salida de 0 no deben tener un camino a la salida a través de una compuerta O. Así, para este caso particular, la tabla de verdad muestra 3 ceros y sus correspondientes enlaces con las compuertas O que deben quitarse. Es obvio que se debe asumir que un circuito abierto a una compuerta O se comporta como una entrada de 0.
    Algunas ROM vienen con un inversor después de cada una de las compuertas O y como consecuencia se especifica que inicialmente tienen todos 0 en sus entradas. El procedimiento de programación de tales ROM requiere que se abran los enlaces de los términos mínimos (o direcciones) que especifiquen una salida de 1 en la tabla de verdad. La salida de la compuerta No O complementa la función una vez más para producir una salida normal. Esto se muestra en la ROM de la Figura 18 (b).

    El procedimiento anterior demuestra el procedimiento general para especificar un circuito combinacional con una ROM. A partir del número de entradas y salidas en el circuito combinacional, se determina primero el tamaño de la ROM requerida. Luego, se obtiene la tabla de verdad de programación de la ROM; no se necesita ninguna otra manipulación o simplificación.
    Los ceros (o unos) en las funciones de salida de la tabla de verdad, especifican directamente aquellos enlaces que deben ser removidos, para producir el circuito combinacional requerido, en forma de suma de términos mínimos.
    En la práctica, cuando se diseña un circuito por medio de una ROM, no es necesario mostrar los enlaces de las conexiones de las compuertas internas dentro de la unidad, como se hizo en la Figura 18; lo cual fue mostrado para propósitos de demostración solamente. Todo lo que el diseñador tiene que hacer es especificar la ROM (o su número asignado) y dar la tabla de verdad de la ROM, como en la tabla anterior. La tabla de verdad da toda la información para programar la ROM. No se necesita un diagrama interno que acompañe a la tabla de verdad.






No hay comentarios:

Publicar un comentario

Datos personales