Beruflich Dokumente
Kultur Dokumente
MEMORIAS ROM
Contenido:
1- MEMORIAS (Introducción)
2- IMPLEMENTACIÓN CIRCUITAL DE SISTEMAS LÓGICOS con memorias PROM
3- DATOS DE MANUAL
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
MEMORIAS ROM
DEFINICIÓN FUNCIONAL:
d 0
D e c o d ific a d o r
r
P=2
d r-1 r
2 -1
A1 A0 Decodificador de
Direcciones
R0
R1
R2
R3
Fusible
D3 D2 D1 D0
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
D3= A1+A0
D2= A1.A0
D1= A1A0
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.
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
Nº
8 X - - X X X X X
salidas
16 X X - - - - - -
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.
Dr
CS CS
Dk a Dr-1
ROM1
D0 a Dr-1 < QP , l / Q >
0 Q=2K
Mux
D0 a Dk-1
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:
Decodif.
5
1 de 32
32 32 x 8
HAB.
HAB.
HAB.
HAB.
HAB.
HAB.
HAB.
HAB.
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.
...
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.
...
1) Sistemas COMBINACIONALES
2) Sistemas SECUENCIALES.
Autómata de MOORE
Combin Combin
Memoria Salidas
Entradas
acional acional
Autómata de MEALY
Combin Combin
Memoria Salidas
Entradas acional acional
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
Estados
clk
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).
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
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
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:
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
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
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):
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
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
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 :
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.
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
por lo tanto:
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:
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