Вы находитесь на странице: 1из 7

Universidad de Carabobo

Facultad Experimental de Ciencia y Tecnología

Departamento de Computación

Diseño Digital y Organización del Computador

Memorias
ROM

Profesor Pedro Linares Bachiller: Jesús Pelay. C.I: 26 804 859


¿Qué es la Memoria ROM?
La memoria ROM (Read-only memory o memoria de solo lectura), es un tipo de
memoria no volátil, es decir, que mantiene su contenido sin importar si tiene o no energía.
Como su nombre lo indica los datos almacenados en la ROM sólo pueden ser leídos. Es
muy complicado modificarlos o es directamente imposible. Es mayormente usado para
almacenar el firmware u otra clase de contenido importante para el funcionamiento del
hardware. En la ROM se almacenan ciertas funciones como el Sistema Básico de
Entrada/Salida de la computadora y también almacena instrucciones que son llevadas a
cabo cuando la computadora es encendida por primera vez en el Power On Self Test (POST
o Prueba de auto-funcionamiento). En ellas se almacenan funciones lógicas con el uso de
decodificadores y compuertas OR integradas en sus circuitos. Está compuesta por n
entradas y 2n mintérminos con m salidas, generando un arreglo de 2n x m posiciones.

Tipos de ROM
Hay cuatro diferentes tipos de ROM:

 ROM: Se refiere a la primera variedad de memoria de sólo lectura que fue creada.
Los datos contenidos en ella no pueden ser modificados una vez escritos, proceso
que es llevado a cabo en la creación de la misma, por lo cual las empresas las suelen
producir en masa, pero haciéndola poco práctica para operaciones de I+D.
 PROM: Llamada así por las siglas en inglés progammable read-only memory
(memoria de solo lectura programable). En esta clase de memoria, cada bit que es
almacenado toma el valor de un fusible que puede ser quemado una sola vez. Por
defecto tiene todos los bits en valor 1, luego, cuando los fusiles son quemados,
cambia su valor a 0. Esta operación es realizada mediante voltajes altos (12 a 21
voltios). ROM pequeñas pueden ser usadas como generadores de funciones, en
conjunción con un multiplexor.
 EPROM: Por las siglas en inglés Erasable Programmable Read-Only Memory
(memoria de solo lectura programable borrable). Los contenidos almacenados en
esta clase de ROM pueden ser borrados mediante luz ultravioleta y el chip puede ser
reprogramado mediante un programador RPROM. Este proceso puede ser realizado
muchas veces, sin embargo, finalmente, va a dejar el chip inutilizable.
 EEPROM: Las memorias de solo lectura programables y borrables eléctricamente
(Electrically Erasable Programmable Read-Only Memory). Esta clase de memoria,
a diferencia de las EPROM, no necesita un aparato especial para ser programadas y
borradas (proceso que puede ser ejecutado entre 100 000 y 1 000 000 de veces). Sus
celdas de memoria están constituidas por un transistor MOS, cuyo estado normal es
un 1 lógico.
Funcionamiento de las distintas clases de ROM
ROM: De manera similar a la memoria RAM, la memoria ROM contiene un
arreglo de filas y columnas. Pero mientras la RAM usa transistores para encender y apagar
el acceso a un capacitor en cada intersección, la ROM usa un diodo para conectar las líneas
si el valor es 1, cuando el valor es 0 las líneas no están conectadas. Un diodo normalmente
permite a la corriente fluir en solo sólo sentido y tiene un cierto límite que determina cuanta
corriente se requiere antes de que el diodo se encienda. En objetos basados en silicio como
los procesadores y chips de memoria, este límite es de aproximadamente 0.6 voltios.
Usando esta propiedad de los diodos, los chips ROM envían una carga que está por encima
del límite de encendido del diodo mediante la columna apropiada con una fila seleccionada
que está conectada a una celda específica. Si un diodo está presente en esa celda, la carga
va a ser conducida y la celda será leída como 1. Si el valor de la celda es 0, eso significa
que no hay diodo en esa celda.

PROM: Esta clase de memoria fue creada debido a la gran dificultad que presenta
crear chips ROM desde cero. Pueden ser compradas a un bajo precio y ser programadas por
cualquiera que tenga la herramienta adecuada, la cual lleva por nombre, programador.

Al igual que los chips ROM, los PROM también tienen un arreglo de filas y
columnas. La diferencia reside en que en cada intersección de una fila y una columna hay
un fusible conectándolas. Una carga enviada por una columna va a pasar por el fusible en
una celda a una fila conectada a tierra, indicando que su valor es 1. Debido a que todas las
celdas tienen un fusible, el estado inicial de un chip PROM es completamente unos. Para
cambiar el valor de una celda a 0, se usa un programador para enviar una cantidad
específica de corriente a una celda quemando su fusible. Este proceso es conocido como
quemar la PROM.

EPROM: De la misma forma que las otras memorias ROM, las EPROM tienen una
serie de filas y columnas, en este caso cada intersección tiene dos transistores. Están
separados entre ellos por una delgada capa de óxido. Uno de los transistores es llamado
compuerta flotante (floating gate) y el otro es llamado compuerta de control (control gate).
La compuerta flotante tiene un solo enlace con la columna mediante la compuerta de
control. Mientras este enlace este en su lugar la celda va a tener un valor de 1. Para cambiar
su valor a 0 se requiere un proceso llamado tunelado Fowler-Nordheim. El proceso consiste
en alterar el posicionamiento de los electrones en la compuerta flotante.

Un dispositivo llamado sensor de celdas monitorea el nivel de carga que pasa por la
compuerta flotante. Si el flujo de la compuerta es mayor al 50% de la carga el valor es 1, si
pasa por debajo de este límite su valor es 0.
Para reescribir una EPROM se necesita borrarla. Para hacerlo se le suministra un
nivel de energía lo suficientemente poderoso para pasar por los electrones negativos
bloqueando la compuerta flotante. En las EPROM estándar esto se logra aplicando luz
ultravioleta a una frecuencia de 253.7 Armstrong. La fuente de luz se debe ubicar a una
distancia de 2,5 cm del chip.

EEPROM: Ésta clase de memoria elimina las mayores desventajas de sus hermanas
mayores, ya que para ser reescrita no es necesario equipamiento especial, ni al momento de
hacerlo se tiene que borrar todo el chip, como en el caso de las EPROM. Para borrar esta
clase de chip se aplica un campo eléctrico en una localización específica. Este campo va a
borrar las celdas deseadas, las cuales pueden ser reescritas posteriormente. Las EEPROMS
son cambiadas 1 byte a la vez, lo que las hace versátiles, pero muy lentas.

Características de la tecnología TTL:


 Sus señales de salida se degradan a gran velocidad si no se transmiten a través de
circuitos adicionales de transmisión son incapaces de viajar por distancias mayores
a 2 m sin graves pérdidas).

 Sus niveles lógicos vienen definidos por un rango de tensión comprendido entre
0,0V y 0,8V para el 0, y 2,2 V y Vcc para el 1.

 La velocidad de transmisión entre los estados lógicos es muy elevada, empero, esta
característica le hace aumentar su consumo.

 Su tensión de alimentación se encuentra en el rango de los 4,75V y los 5,25V.


Usualmente 5V.

Características de la tecnología CMOS:


 Las variantes NMOS y PMOS se encuentran obsoletas.

 Tienen un consumo muy bajo, debido a su resistencia de entrada muy elevada.

 Debido a su alta integración, se pueden construir sistemas muy escalables con ellas.

 Son regenerativos, es decir, que si una señal degrada llega a una compuerta lógica,
esta se verá restaurada a su valor lógico inicial, siempre que esta esté en el rango
que el circuito pueda tolerar.
Diferencias entre TTL y CMOS:
 Los chips TTL tienden a consumir mucha más energía comparados a los chips
CMOS, especialmente cuando no están en uso. Típicamente una sola compuerta en
un chip CMOS consume 10nW, mientras que una compuerta equivalente en un TTL
consume 10mW.

 Los chips de tecnología CMOS son más delicados que los TTL y son bastante
susceptibles a descargas electroestáticas.

 Los circuitos TTL (Transistor-Transistor Logic) usan Bipolar Juntion Transistor


(BJT), mientras que los chips CMOS usan Field Effects Transisitors.

 Debido a tiempos de caída y elevación más largos, la transmisión de señales


digitales es más simple y menos costosa en chips CMOS.

PLD (Programmable Logic Devices):


Un dispositivo programable por el usuario es aquel que contiene una arquitectura
general pre-definida en la que el usuario puede programar el diseño final del dispositivo
empleando un conjunto de herramientas de desarrollo. Las arquitecturas generales pueden
variar pero normalmente consisten en una o más matrices de puertas AND y OR para
implementar funciones lógicas. Muchos dispositivos también contienen combinaciones de
flip-flops y latches que pueden usarse como elementos de almacenaje para entrada y salida
de un dispositivo. Los dispositivos más complejos contienen macrocélulas. Las
macrocélulas permiten al usuario configurar el tipo de entradas y salidas necesarias en el
diseño.

FPGA (Field-Programmable Gate Arrays):


Es un dispositivo programable que contiene bloques lógcicos cuya interconexión y
funcionalidad puede ser configurada en el momento mediante un lenguaje de descripción
(tales como VHDL o Verilog). Haciendo uso de estos lenguajes se puede describir el
circuito digital, el cual, tras ser cargado en el integrado, es creado físicamente en el chip.

Se componen principalmente de cables, puertas lógicas y biestabes, además de


puertos de entrada y salida. Un símil fácil de comprender, es que las FPGA son el
equivalente a las impresoras 3D para circuitos digitales. Las FPGA no tienen nada
conectado de forma fija, sino que están compuestas por una red con conexiones que el
usuario puede unir o romper, y que determinan el comportamiento lógico del dispositivo.
El bloque lógico de un arreglo de compuertas programable en el campo por lo
regular consiste en tablas de consulta, multiplexores, compuertas y flip-flops. La tabla de
consulta es una tabla de verdad almacenada en una SRAM, y proporciona las funciones de
circuito combinacional del bloque lógico. Estas funciones se implementan a partir de la
tabla de verdad almacenada en la SRAM, de manera similar a la forma en que se
implementan funciones de circuito combinacional con ROM.

Construcción de memorias ROM con PLDs


Una ROM es usada para almacenar valores lógicos de una tabla de verdad. Las
salidas son generadas por compuertas OR. Contienen un decodificador con n variables de
entradas y 2n mintérminos. Para hacer ROM más flexibles se puede hacer uso de
dispositivos lógicos programables. Las PROM son un ejemplo de esta perspectiva, ya que
haciendo uso de fusibles se puede programar la salida de las compuertas, en algunos casos
también se usan transistores CMOS borrables. En este caso las compuertas AND no pueden
ser programadas, pero sí las compuertas OR. En el caso de las otras clases de ROM, como
las EPROM y las EEPROM es que pueden ser más fácilmente borrables.

Construcción de memorias ROM con FPGAs


Debido a que las FPGA están compuestas de bloques lógicos programables, que
pueden ser usados para implementar funciones lógicas complejas, dichos chips pueden ser
usados como memorias no volátiles, estas memorias son esenciales para construir circuitos
más complejos como los microprocesadores. Para modelar una ROM haciendo uso de
FPGA se tiene que emplear un lenguaje descriptor específico, tal como Verilog o VHDL.

Hay dos formas para implementar una memoria ROM en un FPGA a partir del
código VHDL:

 Deduciendo la memoria desde el código VHDL.


 Generando la memoria a partir de la herramienta de generación de IPs ofrecida por
el vendedor del FPGA.

El primer método es el más aconsejado por razones de reusabilidad del código y


portabilidad. La ventaja de este método es que se puede cargar el contenido de la ROM
desde un fichero de texto, lo cual es especialmente útil si lo que se trata es de cargar el
código máquina de un programa. El ensamblador genera este fichero de texto que
posteriormente es cargado en la ROM.

Conclusiones
Las memorias ROM son un componente esencial en cualquier sistema de hardware,
desde un pez de juguete que tenga que ejecutar canciones hasta computadores que las
necesitan para ejecutar sus instrucciones iniciales. Dichas memorias simplemente
almacenan circuitos combinatorios, con n entradas, 2n minterminos y m salidas. Con el uso
de decodificadores (que serían las puertas AND del sistemas) y compuertas OR; esta
combinación permite almacenar cualquier tabla de la verdad y, por tanto, crear infinidad de
circuitos distintos.

Las primeras memorias ROM, llamadas Mask ROM, estaban hechas simplemente
con diodos, lo que las hace baratas, pero muy rígidas en cuanto desarrollo. Luego se
crearían nuevas clases de memorias de sólo lectura siguiendo el mismo principio básico,
pero mejorando las partes internas para agregar una mayor flexibilidad para los
desarrolladores y los usuarios. Fruto de tales esfuerzos fueron las memorias PROM,
EPROM y las EEPROM, cada una más avanzada, flexible y eficiente que las anteriores. No
obstante tal avance, las Mask ROM se siguieron usando para el gran público durante una
gran cantidad de tiempo debido a su bajo coste de producción masiva.

Paralelo a las ROM convencionales fueron evolucionando otra clase de circuitos


igualmente importantes, como los TTL y CMOS, familias lógicas esenciales en la
electrónica digital, particularmente en el desarrollo de circuitos integrados. Estos últimos,
los chips CMOS, están siendo ampliamente usados debido a sus numerosas ventajas sobre
los chips TTL, que son más lentos y consumen más potencia.

Los PLD y las FPGA llegaron también para provocar un cambio en la forma de
hacer circuitos. Los chips PLD, entre los que podemos contar los tipos de ROM
programables, nos permiten implementar funciones lógicas en el circuito, borrarlas y
diseñar otras nuevas. Esto también lo podemos hacer en las FPGA, pero ésta clase de
circuito también va mucho más allá pudiendo hacer microprocesadores suaves en ellos,
además de fácilmente programables por cualquiera con las herramientas y el conocimiento,
es por ello que son considerados las impresoras 3D del mundo de la electrónica digital.

Вам также может понравиться