Sie sind auf Seite 1von 18

Digital I

MEMORIAS ROM

Contenido:

1- MEMORIAS (Introducción)
2- IMPLEMENTACIÓN CIRCUITAL DE SISTEMAS LÓGICOS con memorias PROM
3- DATOS DE MANUAL

Memorias ROM - Pag. 1 / 18


Digital I

MEMORIAS

Se denomina “elemento de memoria” a cualquier dispositivo que tenga capacidad para “recordar”
información almacenada en el mismo, durante un intervalo de tiempo relativamente grande. El
elemento básico de memoria es aquel cuya capacidad es la de recordar un bit de información, es
decir, almacenar un 1 o un 0 hasta tanto esa información sea modificada desde el exterior. Es el
caso de los circuitos biestables o “ flip flop”.
La necesidad de contar con elementos capaces de almacenar información en grandes cantidades
lleva al desarrollo de distintos tipos de elementos de almacenamiento masivo, estructurados
físicamente de acuerdo con la prestación que de ellos se requiere.
Por otra parte, las modernas técnicas de integración en gran escala permiten la compactación cada
vez mayor de los medios semiconductores de almacenamiento de información, logrando así la
posibilidad de estructurar sistemas de memoria cuya complejidad exterior no es proporcional al
crecimiento de la capacidad de almacenamiento.

TIPOS DE MEMORIA

Pueden clasificarse según:


1- Tipo de acceso a la memoria para obtener o modificar la información almacenada
2- Persistencia de la información almacenada
3- Principio de funcionamiento
4- Tipo de tecnología usada para la fabricación
5- Tipo de utilización

1) Según el TIPO DE ACCESO:


a) SAM (Sequential Access Memory: memoria de acceso secuencial)
El tiempo requerido para acceder a la información depende de la ubicación de la
información dentro de la memoria, ya que el acceso se debe realizar en un orden
determinado. (Ej: registro de desplazamiento, cinta magnética)
b) RAM (Randon Access Memory: memoria de acceso directo al azar). El tiempo de acceso
es independiente de la ubicación de la información de la memoria. Cada celda de memoria
se distingue por una DIRECCIÓN.
c) CAM (Contents Adressable Memory: memorias asociativas). La información
almacenada se obtiene por comparación entre el contenido de la memoria y una
palabra binaria presentada a la entrada del dispositivo.

2) Según PERSISTENCIA de la información:


a) Referidos a la Tensión de Alimentación
i) PERENNES: la información almacenada no se pierde cuando se corta la alimentación.
ii) VOLÁTILES: la interrupción de la alimentación produce la pérdida de información.

b) Persistencia de la información tras la lectura


i) Lectura DESTRUCTIVA: (memorias de núcleo magnético): deben rescribirse luego de
leerse.
ii) Lectura NO DESTRUCTIVA: (memorias semiconductoras)

3) Según Principio de FUNCIONAMIENTO:


a) ESTÁTICA: elemento biestable que puede mantenerse en uno de sus dos estados
estables durante todo el tiempo que esté alimentado (Disipa potencia en forma constante)

Memorias ROM - Pag. 2 / 18


Digital I

b) DINÁMICA: la información se almacena como carga eléctrica en una capacidad. La


degradación que se produce se compensa por medio de CICLOS DE REFRESCO (a
intervalos regulares). Sólo disipa potencia durante el momento de acceso (lectura/
escritura) o del refresco. Ocupan menos espacio que las estáticas.

4) Según TIPO DE TECNOLOGÍA USADA:


a) BIPOLARES:
 No pueden ser dinámicas (no tienen la capacidad parásita requerida)
 No muy alta capacidad (celda básica de gran tamaño y alta disipación de potencia).
 Muy rápidas.

b) MOS: (Metal Oxide Semiconductor)


 Constituidas por FET’S. Pueden ser dinámicas
 Más lentas que las bipolares
 Poca disipación de potencia
c) CCD (Charge Coupled Device)
Integra elementos estructurales en forma de registros de desplazamiento. Principio de
funcionamiento: almacenar una carga (constituida por portadores minoritarios) en un “
pozo” de potencial, produciendo luego el desplazamiento de esos portadores minoritarios
por medio del movimiento de los “ pozos”.
d) DE BURBUJA MAGNÉTICA:
Memoria semiconductora que guarda bits en la forma de pequeñas burbujas magnéticas
que están sobre una película muy delgada de material magnético. La presencia o ausencia
de una burbuja en determinada posición se interpreta como 1 o 0 respectivamente. Para
mover la burbuja dentro de los lazos que están dentro del material magnético, se emplean
campos magnéticos que cambian de manera continua.

5) Según TIPO DE UTILIZACIÓN:


a) RWM (Read Write Memory): lecto escritura. Los tiempos requeridos para lectura y escritura
son similares.
b) ROM (Read Only Memory):;solo lectura, incluyen:
i) ROM (Grabados durante la fabricación mediante máscaras de metalización). Aplicable
a grandes cantidades de circuitos iguales.
ii) PROM (Programable ROM): programable por el usuario (grabación destructiva).
iii) EPROM (Erasable PROM): programable por el usuario, borrables (puede rescribirse),
incluyendo:
(1) UV- EPROM (borrable mediante luz ultra violeta)
(2) E EPROM (Electrically EPROM: borrable eléctricamente).

MEMORIAS ROM

DEFINICIÓN FUNCIONAL:

Registro: subsistema digital capaz de almacenar información.


Una ROM está compuesta por:

a-Un conjunto de REGISTROS numerados de 0 a (P-1), denominado Palabra o Posición


de Memoria. El número que identifica unívocamente a una palabra se denomina Dirección
de la palabra.
Nº palabras: número de registros que contiene (P)
Longitud: número de bits que componen la palabra (l)

b- Un decodificador (a partir de una dirección selecciona la palabra)

Memorias ROM - Pag. 3 / 18


Digital I

d 0

D e c o d ific a d o r
r
P=2

d r-1 r
2 -1

Los valores que caracterizan a una ROM son: < P, l >

Capacidad: C= P * l (nº de bits que almacena)

DIAGRAMA SIMBÓLICO DE UNA PROM DE 4 x 4: No comercial. (C = 16 bits)

A1 A0 Decodificador de
Direcciones

R0
R1
R2
R3

Fusible

D3 D2 D1 D0

Memorias ROM - Pag. 4 / 18


Digital I

Matriz AND Matriz OR


Entrada (fija) ( Programable)

Salidas
“Quemando” los fusibles que correspondan se produciría la PROGRAMACIÓN.

Ejemplo:
A1 A0
A1A0 D3 D2 D1 D0
00 0 0 0 1
R0
01 1 0 1 0
R1 10 1 0 1 0
R2 11 1 1 0 0
R3

D3 D2 D1 D0

En este ejemplo, se usa la PROM para la síntesis de un sistema COMBINACIONAL Multifunción,


donde las salidas corresponden a las siguientes funciones lógicas:

D3= A1+A0
D2= A1.A0
D1= A1A0
D0= Ā1.Ā2

TERMINOLOGÍA:

 Tiempo de acceso: tiempo desde que se coloca a la entrada la dirección a ser leída o
escrita, hasta que se completa el proceso (de lectura o escritura).
 Capacidad de almacenamiento: cantidad de información, medida en bits, que puede
contener un elemento de memoria.
 Estructura: formato que adopta, dentro del circuito de memoria, la información
almacenada. Esta puede estar estructurada en bits o en palabras.

Memoria de 4096 bits: (4096 x 1) ó (512 x 8)

Memorias ROM - Pag. 5 / 18


Digital I

Valores comerciales usuales de P * l

256 32 32
x 16
512 256 64
1024 x4 512
x8
2048 1024
4096 2048
4096

Nº DE Nº
ENTRADAS PALABRAS
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096

nº palabras = 2 nº de entradas

Nº DE ENTRADAS
5 6 7 8 9 10 11 12
4 - - - X X X X X

8 X - - X X X X X
salidas
16 X X - - - - - -

VARIACIÓN DEL NÚMERO DE PALABRAS Y DE LA LONGITUD DE PALABRA MEDIANTE


CONEXIONADO EXTERNO.

A) Aumento del nº de palabras: (↑P). (duplica capacidad)

Se necesita una ROM con entrada para selección de chip (CS = Chip Select).
La ROM no estará direccionada si su CS no está activada. Esto permite extender la capacidad de
direccionamiento global.

Memorias ROM - Pag. 6 / 18


Digital I

Dr
CS CS

D0 a Dr-1 ROM1 ROM2 < 2P , l >

B) Aumento del nº palabras, c / disminución de longitud (↑ P; ↓ l) - capacidad inalterada.

Dk a Dr-1
ROM1
D0 a Dr-1 < QP , l / Q >
0 Q=2K
Mux

D0 a Dk-1

C) Aumento longitud palabra (↑ l ) (duplica capacidad)

ROM1 ROM2 <P,2l>

Memorias ROM - Pag. 7 / 18


Digital I

ESTRUCTURA INTERNA DE ROM COMERCIALES:

Decodificador Matriz OR
FILAS Arreglo
programable

...

Decodificador
MUX
COLUMNAS

...

Para lograr que el Arreglo Programable sea lo más simétrico posible (más cuadrado), se suelen
usar, dos Decodificadores de Direcciones: uno para las FILAS y otro para las COLUMNAS.

Ejemplos:

1) PLE 5P8/A (32 x 8) (256 BITS)

Decodif.
5
1 de 32
32 32 x 8
HAB.

HAB.

HAB.

HAB.

HAB.

HAB.

HAB.

HAB.

2) PLE 8P8 (256 * 8 ) (2048 BITS)

Memorias ROM - Pag. 8 / 18


Digital I

Decodif.
5 FILAS 32 32 x 64
1 de 32
8 8

Decodif.
COLUM
3
NAS
8 MUX 1 de 8
1 de 8
HAB.

HAB.
...

3) PLE 11P8 (2048*8) (16384 BITS)

Decodif.
7 FILAS 128 128 x 128
1 de 128
16 16

Decodif.
COLUMN
4 AS
16 MUX 1 de 16
1 de 16
HAB.

HAB.

...

Memorias ROM - Pag. 9 / 18


Digital I

IMPLEMENTACIÓN DE SISTEMAS LÓGICOS CON PROM

1) Sistemas COMBINACIONALES

Dado un conjunto de funciones lógicas combinacionales, para su implementación circuital lo que se


hace es programar la PROM “ cargando” la TABLA MÚLTIPLE DE VERDAD (Salida Multifunción).
Las Variables de Entrada se usan para direccionar una palabra lógica. Cada palabra lógica
contiene el valor de salida, correspondiente al respectivo evento de entrada, para el conjunto de
funciones. Es decir, el evento de entrada (combinación de entradas) define una dirección de
memoria, cuyo contenido representa el conjunto de valores de salida para dicho evento.
Como lo que se hace es cargar la tabla completa, las expresiones algebraicas son innecesarias.

Requisitos en cuanto a CAPACIDAD necesaria de la PROM:

A) Nº de palabras o direcciones: P ≥ 2 Nº entradas Crecimiento exponencial

B) Longitud de palabra: L ≥ nº salidas

Debido al Decodificador de Direcciones (Matriz AND) la capacidad requerida crece


exponencialmente con el número de entradas.

entradas PROM salidas

Ejemplo: Implementar un TRANSCODIFICADOR Binario / 7 Segmentos.

Nº entradas: 4 PROM comercial 5 entradas


Nº salidas: 7 más cercana : 8 salidas

elijo la PROM PLE 5P8

2) Sistemas SECUENCIALES.

Recordemos las dos estructuras básicas de un Autómata Finito:

Autómata de MOORE

Combin Combin
Memoria Salidas
Entradas
acional acional

Memorias ROM - Pag. 10 / 18


Digital I

Autómata de MEALY

Combin Combin
Memoria Salidas
Entradas acional acional

Los COMBINACIONALES de Entrada y de Salida se implementan con PROM y la MEMORIA con


un Registro conformado con Flip- Flops Tipo D.

Dado que cada nueva entrada duplica la capacidad necesaria de la PROM, generalmente se usa el
Autómata de MOORE (el cual suele requerir una PROM de Salida más pequeña).
Consideremos la implementación de un Autómata de MOORE con memorias PROM. Veremos 2
esquemas de conexión.
Sea una Red de Petri Sin Evoluciones Paralelas.
Para hacer una codificación LOCAL debería usar un código 1 en n para codificar los lugares (una
línea por lugar). Esto produciría un aumento desmesurado en la capacidad requerida para la
PROM . Por lo tanto, lo que se hace es una codificación del ESTADO GLOBAL DEL SISTEMA. Es
decir, si el número de lugares de la Red de Petri es N L serán necesaria Lc líneas de codificación,
tal que:

2Lc >= NL

PRIMER Esquema de Conexión:

Estados

PROM Registro PROM Salida


Salidas
Entradas Control Flip=flop D (decodificador)

clk

SEGUNDO Esquema de Conexión:

Este esquema es factible cuando existe un subconjunto de las variables de entrada (llamémoslo
A), las cuales no son necesarias simultáneamente para determinar la evolución del sistema. Esto
permitiría que fueran MULTIPLEXADAS antes de ingresar a la PROM de Control (disminuyendo su
capacidad). La selección de la entradas necesarias en cada momento lo debe hacer la PROM de
Salida, que es la que conoce el estado actual del sistema (esto aumenta el número de bits
necesarios de la palabra de dicha PROM).

Memorias ROM - Pag. 11 / 18


Digital I

Estados

Registro
Salidas
Entradas B PROM Flip=flop D PROM Salida
Control (decodificador)

clk

Entradas A MUX

PROM Control: número de registros para Esquema 2 < nº reg. p' Esq. 1
PROM Salida: longitud de palabra Esq. 2 ≥ long. Palabra Esq. 1

Observaciones:

1. Generales
a. Hay PROM que tienen el REGISTRO incorporado.
b. Hay ocasiones en que, eligiendo el código adecuado para los estados, no es
necesario decodificar las salidas y, por lo tanto, la PROM de Salida puede no ser
necesaria.
En base a lo dicho anteriormente, es factible (aunque no frecuente) la siguiente
disposición:

PROM
Entradas Control c/ Salidas
registro

clk

2. Consideraciones para usar el Esquema 2:

a. Ver si hay un subconjunto de entradas que sean significativos en forma NO


SIMULTÁNEA.
b. Ver si al disminuir el número de entradas de la PROM de Control, se consigue
comercialmente.
c. Ver si no es necesario una PROM de Salida con una mayor longitud de palabra.

3. Implementación de Redes de Petri con Evoluciones Paralelas:

Una RdP con evoluciones paralelas va a tener más de un lugar marcado simultáneamente, por
lo tanto, en estos casos es conveniente una codificación LOCAL. Como en la implementación
con PROM lo que se hace es cargar una tabla para hacer una codificación LOCAL debería
usar un código “1 en n”, lo que originaría un tamaño desmesurado de la PROM. En cambio

Memorias ROM - Pag. 12 / 18


Digital I

como en las PAL lo que se cargan son ecuaciones, permite trabajar con los LUGARES en
forma independiente (usando subestados LOCALES).
Por lo dicho anteriormente, las RdP con evoluciones paralelas convendrá implementarlas con
PAL en vez de PROM.

Ejemplo Nº 1:

Sea la siguiente RdP Sincrónica:


A

1 A’BC 1
S2 S3,S4 S5
S1
S1,S2,S6 A
1 2 3 4
S2
B
S3
E 1
D B C S4
S7 S4 SISTEMA
D S5
7 6 5 S3
S6
E
S7

CLK
8

S6
E B’

5 entradas 8
8 líneas total  2 =256
8 lugares  3 líneas para codificarlos (2 =8) 3 direcciones PROM de control
Longitud palabra PROM Control ≥ 3  PROM Control: 256 x 4

Longitud palabra PROM Salida ≥ 7 (nº salidas)


El valor comercial
Nº entradas PROM Salida ≥ 3 (nº líneas para
más cercano es: 32 x 8
codif. Estados)

CLK
A 0 S1
2 0 0 0
B S2
21 PROM 1 1 PROM 1
C Flip-flop D S3
22 Control 2 2 Salida 2
D S4
23 3 3
E S5
24 4
S6
25 5
256 x 4 32 x 8 S7
26 6
27 7

Memorias ROM - Pag. 13 / 18


Digital I

Estado Codificación
1 000
Supongamos la siguiente codificación para los Estados Internos: 2 001
3 010
4 011
5 100
6 101
7 110
8 111
Estas serían las salidas activas para cada estado (lugar):

Estado Salidas Activas


Interno
1 S2
2 S3, S4
3 S5
4 S1, S2, S6
5 S3
6 S4
7 S7
8 S6
... //REDUNDANCIAS//
...
...
ENTRADA SALIDAS
2 21 22 23 24 20 21 22 23 24
0
25 26 27
Lo que implica 0 0 0 X X 0 1 0 0 0 0 0 X que la PROM de salida quede así:
0 0 1 X X 0 0 1 1 0 0 0 X
0 1 0 X X 0 0 0 0 1 0 0 X
0 1 1 X X 1 1 0 0 0 1 0 X
Dentro de la 1 0 0 XX 0 0 1 0 0 0 0 X PROM de Control, a cada estado
interno le 1 0 1 XX 0 0 0 1 0 0 0 X corresponden 32 posiciones de
memoria, ya 1 1 0 XX 0 0 0 0 0 0 1 X que hay 25 = 32 combinaciones
posibles de 1 1 1 XX 0 0 0 0 0 1 0 X valores de variables de entrada.

Estado A B C D E Estado Actual Próximo Estado PE Palabras por estado


Actual 20 21 22 23 24 25 26 27 20 21 22 23
1 x x x x x 0 0 0 0 0 1 x 2 32 32
2 1 x x x x 0 0 1 0 1 1 x 4 16 32
0 1 1 x x 0 0 1 1 0 0 x 3 4
0 0 0 x x 0 0 1 0 0 1 x 2 4
0 0 1 x x 0 0 1 0 0 1 x 2 4
0 1 0 x x 0 0 1 0 0 1 x 2 4
3 x x x x x 0 1 0 0 1 1 x 4 32 32
4 x x x x x 0 1 1 1 0 0 x 5 32 32
x 1 x x x 1 0 0 1 0 1 x 6 16
5 32
x 0 x x x 1 0 0 1 1 1 x 8 16
x x x 1 x 1 0 1 1 1 0 x 7 16
6 32
x x x 0 x 1 0 1 1 0 1 x 6 16
x x x x 1 1 1 0 0 0 0 x 1 16
7 32
x x x x 0 1 1 0 1 1 0 x 7 16
x x x x 1 1 1 1 0 0 0 x 1 16
8 32
x x x x 0 1 1 1 1 1 1 x 8 16

Memorias ROM - Pag. 14 / 18


Digital I

Dado que en la PROM de Salida hay un bit libre de palabra, podría pensarse en usar ese bit como
línea de selección de un MULTIPLEXOR para multiplexar entradas, pero no hubiéramos obtenido
ningún beneficio, ya que no se podría haber disminuido la capacidad de la PROM de control, ya
que comercialmente para 4 líneas de salida, el menor número de líneas de entrada que se
consigue es de 8.

Ejemplo Nº 2.

Se pretende implementar con memorias PROM la Red de Petri que corresponde a la modelización
del problema cuyo enunciado se muestra a continuación:

FÁBRICA DE MOTORES

Se pretende automatizar el LIMADO y la PERFORACIÓN de piezas en una Fábrica de Motores. El


sistema cuenta con una CINTA transportadora capaz de invertir su sentido de movimiento, un
PORTAPIEZAS fijo a la cinta con posibilidad de girar sobre su eje, un par de AMOLADORAS
(piedras esmeriles); una PERFORADORA con posibilidad de movimiento axial, dos PULSADORES
(A, R), dos DETECTORES de exceso de corriente (D1; D2) y siete microswitches (M1, M2, M3, M4,
M5, M6, M7) usados como SENSORES de posición.

M7 M6
A
M1

INICIAL
R
M2 Ac
M3

D1
M4 Rc

M5
M6 G
SISTEMA
MEDIA M1
M7
M2
A Ap

R
D2
Rp
D1

D2
M4
M5

M1=1FINAL Tope
Portapiezas en posición media Reposo Ac=1 Avance cinta
M2=1 Fin giro Rc=1 Retrocede cinta
M3
M3=1 Portapiezas en posición final G=1 Giro portapiezas
M4=1 Perforadora al top Ap=1 Avance perforadora
M5=1 Perforadora en reposo Rp=1 Retrocede perforadora
M6=1 Portapiezas en posición inicial
M7=1 Fin giro
A=1 Pulsador de avance pulsado
R=1 Pulsador de retroceso pulsado

Memorias ROM - Pag. 15 / 18


Digital I

D1=1 Exceso corriente primer amoladora


D2=1 Exceso corriente segunda amoladora

En el avance y el retroceso la secuencia de activación y desactivación de los sensores sería la


siguiente:

M6 M7 M1 M2 Avance
1 1 0 0
1 0 1 0
0 0 1 1
0 1
0 0 Retroceso

Ciclo de Trabajo:
Una vez que se conectó la alimentación, las fases de operación son las :

1º) El operario coloca la pieza en el portapiezas


2º) El operario pulsa A
3º) La cinta avanza la pieza hasta la posición MEDIA, se detiene, gira 90º sobre su eje, y luego
avanza hasta la posición FINAL, donde vuelve a detenerse.
4º) La perforadora efectúa la perforación y retrocede hasta su posición de REPOSO.
5º) La cinta regresa la pieza a su posición INICIAL, donde la gira 90º.
6º) El operario retira la pieza.
El ciclo de trabajo se repite por cada pieza.

En caso de detectarse un exceso de corriente (debido a rebabas o mal posicionamiento de la


pieza) en alguna de las amoladoras, el sistema deber comportarse de la siguiente manera:

a) Si se detecta en la PRIMERA amoladora, debe RETROCEDER la pieza hasta la posición


INICIAL,. Luego el operario toma la decisión de volver a darle arranque o retirarla.
b) Si se detecta en la SGUNDA amoladora, debe RETROCEDER la pieza hasta la posición MEDIA.
Luego el operario decide si pulsa A (para que avance) o si pulsa R (para que retroceda).

En caso de que el operario observase alguna situación anómala durante el AVANCE (mal
posicionamiento de la pieza, etc.) tendrá la opción de pulsar R para hacerla retroceder y el sistema
deberá comportarse en forma ANÁLOGA a como lo haría al detectar un exceso de corriente en
alguna de las amoladoras.

Red de Petri resultante:

Memorias ROM - Pag. 16 / 18


Digital I

R+D1
M7

A M1 M2 M3 M4 M5 M6

1 2 3 4 5 6 7 8

Ac G Ac Ap Rp Rc G

R+D2 A

M1 R

9 10

Rc

10 lugares  4 líneas para codificación de Estados Internos (2 4=16 >= 10)

por lo tanto:

nº salidas PROM Control ≥ 4


nº entradas PROM Salida ≥ 4

5 salidas  nº salidas PROM Salida ≥ 5

Es decir, para la PROM de Salida debe ser :


 nº entradas ≥ 4
 nº salidas ≥ 5
comercialmente se consigue:
 5 entradas
 8 salidas
PROM Salida: 32 x 8

Por otro lado,

Nº entradas = 11
Nº líneas p’ codif. Estados = 4
Total 15 líneas  215 = 32768 que comercialmente no se consigue

Se observa lo siguiente:

 En la PROM de Salida sobran 3 líneas de salida


 Los siete microswitch (M1, ...., M7) y el pulsador A son significativos de a UNO POR VEZ.
 Es decir, podrían verse estas 3 líneas de salida como señales de SELECCIÓN para un
MUX que multiplexe las 8 variables de entradas anteriormente mencionadas, para
disminuir el número de entradas necesarias para la PROM de Control, de 15 a solo 8.

De esta manera la elección sería:

PROM Control: 256 * 4

El esquema de conexión sería el siguiente:

Memorias ROM - Pag. 17 / 18


Digital I

M1
M2
Mux
M3
M4
M5
M6
M7
A
CLK
20 0 0 0
B
21 PROM 1 1 PROM 1
D1 Flip-flop D
22 Control 2 2 Salida 2
D2 Ac
23 3 3 3
Rc
24 4
G
25 5
256 x 4 32 x 8 Ap
26 6
27 7

Memorias ROM - Pag. 18 / 18

Das könnte Ihnen auch gefallen