Post on 12-Jul-2020
Departamento de Tecnología Electrónica – Universidad de Sevilla
Unidad 10. Memorias Unidad 10. Memorias semiconductorassemiconductoras(en construcción)(en construcción)
Circuitos Electrónicos DigitalesE.T.S.I. Informática
Universidad de Sevilla
Jorge Juan <jjchico@dte.us.es> 2010-2020
Esta obra esta sujeta a la Licencia Reconocimiento-CompartirIgual 4.0 Internacional de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4.0/ o envíe una carta Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
Departamento de Tecnología Electrónica – Universidad de Sevilla
ContenidosContenidos
● Dispositivos de memoria.● Clasificación de la memoria.● Memoria semiconductora.● Memorias no volátiles (ROM, etc.).● Memoria de acceso aleatorio (RAM).● Expansión de la memoria.● Memorias especiales.
Departamento de Tecnología Electrónica – Universidad de Sevilla
BibliografíaBibliografía
● Lecturas recomendadas– LaMeres, capítulo 10
● Memoria semiconductora.– curso-verilo.v, unidad 8
● Ejemplos de diseño de memorias
Departamento de Tecnología Electrónica – Universidad de Sevilla
menor costemayor capacidad mayot t. acceso
Dispositivos de memoria. JerarquíaDispositivos de memoria. Jerarquía
● No hay un solo tipo de memoria que cumpla todos los requisitos: combinación de diversas tecnologías.
registros CPU
memoria caché
memoria interna
memoria secundaria
almacenamiento masivo
biestables
memoria semiconductoraen el mismo CI
memoria semiconductoraCI dedicado
discos magn. o mem.semiconductora (SSD)
cintas magn., sistemasexternos, "la nube".
Departamento de Tecnología Electrónica – Universidad de Sevilla
Clasificación de la memoriaClasificación de la memoria
● Conservación de la información– No volátil: conserva la información sin suministro de energía.– Volátil: la información se borrar al interrumpirse el suministro de
energía.● Tipo de acceso
– Aleatorio: se puede acceder a cualquier dato almacenado con la misma eficacia.
– Secuencial: hay que recorrer el medio para acceder a un determinado dato.
● Tecnología de fabricación y operación– Semiconductores/estado sólido: circuitos electrónicos.– Magnética: magnetización de materiales ferromagnéticos y
detección del campo.– Óptica: reflexión o alteración de haces de luz (laser).– Etc.
Departamento de Tecnología Electrónica – Universidad de Sevilla
Parámetros temporalesParámetros temporales
● Tiempo de acceso (latencia): tiempo desde la solicitud hasta la obtención del dato.
● Tasa de datos: número de datos transferidos por unidad de tiempo
– tasa datos = total de datos / tiempo de transferencia
solicituddato dato1 dato2 dato3 dato4 dato5
t
tiempo de acceso tiempo de transferencia
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memoria semiconductoraMemoria semiconductora
● Memorias empleadas como memoria principal del computador– Memorias de solo lectura o de lectura preferente.
● No volátiles● Sólo lectura o lectura preferente: lectura aleatoria por
palabras.● Escritura/borrado: por bloques. Con limitaciones.● Utilidad: almacenamiento de datos y/o programas
permanentes. Ej: datos estáticos, programas de inicio, etc.– Memorias de lectura/escritura de acceso aleatorio.
● Lectura y escritura por palabras y eficiente.● Volátiles.● Utilidad: almacenamiento de datos y programas en tiempo de
ejecución.● Memorias empleadas como memoria secundaria
– Memoria Flash● No volátil, lectura y escritura eficientes por bloques.
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memoria ROMMemoria ROM
● ROM: Read-Only Memory● Matriz con direcciones asociadas a filas y datos asociados a
columnas.● El dato suministrado por la memoria depende de la
configuración de las intersecciones de la matriz● La configuración (el contenido) de la memoria se decide al
fabricar la memoria.● Una vez fabricada, la memoria sólo puede “leerse” y es no
volátil.
Departamento de Tecnología Electrónica – Universidad de Sevilla
Dispositivos ROMDispositivos ROM
ROM8x41
D0D3
A1
0123
0
D1D2
A0
CS
2A2
ROM8x41
D0
D3
A1
0
1
2
30
D1
D2
A0
CS
2A2 A
8
4
A
D
0
1
2
53
4
5
6
7
B
0
E
3
A2
0
0
1
A1
0
0
0
d3
1
0
1
d2
0
1
0
d1
0
0
1
d0
0
0
0
10 0 1 0 1
A0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0 0 1 1
xx z z z zx
CS
1
1
1
1
1
1
1
1
0
CS: Chip Select (selector de chip)z = HI = High Impedance (alta impedancia)
Departamento de Tecnología Electrónica – Universidad de Sevilla
ROM. Descripción en VerilogROM. Descripción en Verilog
module rom8x4( input cs, input [2:0] a, output reg [3:0] d );
always @(cs, a) if (cs) case (a) 0: d = 'h8; 1: d = 'h4; 2: d = 'hA; 3: d = 'h5; 4: d = 'hB; 5: d = 'h0; 6: d = 'hE; default: d = 'h3; endcase else d = 'hz;
endmodule // rom8x4
module rom8x4( input cs, input [2:0] a, output reg [3:0] d );
always @(cs, a) if (cs) case (a) 0: d = 'h8; 1: d = 'h4; 2: d = 'hA; 3: d = 'h5; 4: d = 'hB; 5: d = 'h0; 6: d = 'hE; default: d = 'h3; endcase else d = 'hz;
endmodule // rom8x4
A
8
4
A
D
0
1
2
53
4
5
6
7
B
0
E
3
ROM8x41
D0D3
A1
0123
0
D1D2
A0
CS
2A2
Departamento de Tecnología Electrónica – Universidad de Sevilla
ROM. Estructura interna. Ej: ROM 4x2ROM. Estructura interna. Ej: ROM 4x2
Departamento de Tecnología Electrónica – Universidad de Sevilla
ROM programable y borrableROM programable y borrable
● PROM: ROM programable– Programable una vez tras la fabricación mediante fusibles o anti-
fusibles.– Hay que sustituir el componente para cambiar la programación.
● EPROM: ROM programable y borrable– Borrable mediante luz ultravioleta.– Programable eléctricamente.– Hay que desmontar el componente para volverlo a programar.
● EEPROM: ROM programable y borrable eléctricamente– Borrable y programable eléctricamente.– Se puede re-programar in-situ sin desmontar el componente.
Departamento de Tecnología Electrónica – Universidad de Sevilla
PROM, EPROM y EEPROMPROM, EPROM y EEPROM
PROM EPROM
EEPROM
Departamento de Tecnología Electrónica – Universidad de Sevilla
Diseño lógico con ROMDiseño lógico con ROM
● Ejemplo: implementar las funciones con una ROM 8x2– f(x,y,z) = Σ(1,3,5,7), g(x,y,z) = Σ(0,2,4,5)
ROM8x2A1
D0D1
A0
CS
A2
A
1
2
1
D
0
1
2
23
4
5
6
7
1
3
0
2
x
0
1
0
f
0
0
0
10
1
1
1
1
0
1
0
1
0
0
1
y
1
0
0
1
1
0
1
0
z
1
0
1
0
1
1
0
1
g
0
1
1
0
0
y
gf
z
x
1A0 D0D1A2 A1
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memoria RAMMemoria RAM
● Dispositivos de memoria.● Clasificación de la memoria.● Memoria semiconductora.● Memorias no volátiles (ROM, etc.).● Memoria de acceso aleatorio (RAM).● Expansión de la memoria.● Memorias especiales.
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memoria RAMMemoria RAM
● RAM: Random Access Memory● Lectura y escritura a la misma velocidad● Prácticamente infinitas lecturas y escrituras● Señales de control para elegir operación (lectura o escritura)
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Clasificación básicaRAM. Clasificación básica
● Tipo de buses:– Buses de lectura y escritura separados.
● Ej: dentro de chips/FPGA– Bus único de lectura/escritura (en chips de memoria)
● Tipo de sincronismo– Asíncronas
● La lectura/escritura ocurre tan pronto se activan las señales de control.
– Síncronas: ● La lectura/escritura ocurre cuando se produce un flanco activo
de la señal de reloj.● Tipo de celda de memoria:
– Estáticas: cada celda de memoria es un biestable.– Dinámicas: cada celda está formada por un condensador y un
transistor que actúa como interruptor.
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM estáticaRAM estática
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM dinámicaRAM dinámica
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM estática vs. dinámicaRAM estática vs. dinámica
● Estática– más rápida– más fácil de usar (no necesita refresco)– más cara (más componentes = más área)– puede ser asíncrona o síncrona
● Dinámica– más lenta– más difícil de usar (señales de control adicional para operaciones
de refresco)– más barata (menos componentes = menos área)– siempre síncrona
Simulación RAM estática Simulación RAM dinámica
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Módulos de memoriaRAM. Módulos de memoria
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Ejemplo 1RAM. Ejemplo 1
RAM8x41
0
1
2
30
CE
2
WE OE
RAM2nxm
A D
CE WE OE
n m
● Señales:– A: bus de direcciónes– D: bus de datos– CE (chip enable)– WE (write enable)– OE (output enable)
● Configuración tradicional de chips de RAM estática:
– Bus entrada/salida: ahorra pines en el chip
– CE y OE: facilita la expansión de la memoria con varios chips
See example: http://www.cypress.com/?docID=31956
RAM asíncrona, bus de datos de entrada/salida
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Ejemplo 1. OperaciónRAM. Ejemplo 1. Operación
A2
0
0
1
A1
0
0
0
D3
1
0
1
D2
0
1
0
D1
0
0
1
D0
0
0
0
10 0 1 0 1
A0
0
1
0
1
1
1
1
1
0
0
1
1
0
1
0
1
1
0
1
0
0
1
1
0
1
1
0
0
0 0 1 1
RAM8x41
0
1
2
30
CS
2
WE OE
READ
01 1
0
1
1
1
1
0
0
RAM8x41
0
1
2
30
CS
2
WE OE
WRITE
11 0
0
0
1
1
0
1
0
0 0 1 1
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Ejemplo 1RAM. Ejemplo 1Descripción VerilogDescripción Verilog
module ram8x4 (input ce,input we,input oe,input [2:0] a,inout [3:0] d);
reg [3:0] ram [0:7];
always @*if (ce && we)
ram[a] = d;if (ce && oe)
d = ram[a];else
d = 4'bzzzz;
endmodule // ram8x4
module ram8x4 (input ce,input we,input oe,input [2:0] a,inout [3:0] d);
reg [3:0] ram [0:7];
always @*if (ce && we)
ram[a] = d;if (ce && oe)
d = ram[a];else
d = 4'bzzzz;
endmodule // ram8x4
RAM8x41
0
1
2
30
CE
2
WE OE
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Ejemplo 2RAM. Ejemplo 2
RAM2nxm
A
Di
CLK WE
n
m
Dom
● Señales:– A: bus de direcciones– Di: bus de datos de entrada– Do: bus de datos de salida– CLK: reloj– WE (write enable)
● Configuración típica de RAM en chips actuales (ej. FPGA)
– El contenido y la salida sólo cambian en los flancos activos de reloj
– La operación síncrona es más rápida y previsible
– La entrada/salida independiente hace más fácil el control y uso.
RAM con lectura y escrituras síncronas. Buses deenrada y salida independientes
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM. Ejemplo 2RAM. Ejemplo 2Descripción VerilogDescripción Verilog
module ram_1kx8 (input ck,input we,input [9:0] a,input [7:0] di,output [7:0] do);
reg [7:0] ram [0:1023];reg [9:0] reg_a;
always @(posedge ck)if (we) begin
ram[a] <= di;reg_a <= a;
assign do = ram[reg_a];
endmodule // ram_1kx8
module ram_1kx8 (input ck,input we,input [9:0] a,input [7:0] di,output [7:0] do);
reg [7:0] ram [0:1023];reg [9:0] reg_a;
always @(posedge ck)if (we) begin
ram[a] <= di;reg_a <= a;
assign do = ram[reg_a];
endmodule // ram_1kx8
RAM1kx8
A
Di
CK WE
10
8
Do8
Departamento de Tecnología Electrónica – Universidad de Sevilla
Expansión de la memoriaExpansión de la memoria
● Dispositivos de memoria.● Clasificación de la memoria.● Memoria semiconductora.● Memorias no volátiles (ROM, etc.).● Memoria de acceso aleatorio (RAM).● Expansión de la memoria.● Memorias especiales.
Departamento de Tecnología Electrónica – Universidad de Sevilla
ROM. Expansión de la anchura de la ROM. Expansión de la anchura de la palabrapalabra
ROM 8x8 a partir de ROM 8x4
Departamento de Tecnología Electrónica – Universidad de Sevilla
ROM 16x4 a partir de ROM 8x4
ROM. Expansión del espacio de ROM. Expansión del espacio de direccionamientodireccionamiento
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM asíncrona. Expansión de la RAM asíncrona. Expansión de la anchura de la palabraanchura de la palabra
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM asíncrona. Expansión del RAM asíncrona. Expansión del espacio de direccionamientoespacio de direccionamiento
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memorias especialesMemorias especiales
● Dispositivos de memoria.● Clasificación de la memoria.● Memoria semiconductora.● Memorias no volátiles (ROM, etc.).● Memoria de acceso aleatorio (RAM).● Expansión de la memoria.● Memorias especiales.
Departamento de Tecnología Electrónica – Universidad de Sevilla
Memorias de doble puertoMemorias de doble puerto
● Dos puertos (buses) de direcciones y datos independientes
● Pueden hace simultáneamente:
– 2 lecturas– 2 escrituras– 1 lectura + 1 escritura
● Comunes en los primeros adaptadores gráficos
Departamento de Tecnología Electrónica – Universidad de Sevilla
Multiplexado de busesMultiplexado de buses
● Las mismas líneas se emplean para el bus de datos y direcciones.
● Objetivo: ahorrar líneas de conexión.
● Inconveniente: operación más lenta (a veces)
● Típicamente combinada con operación de tipo “ráfaga”.
RAM220x4
8
1
0
WE
A18/A8
A11/A1A10/A0
OECS
9A19/A9
2 1 03
D3 D2 D1 D0
…
Departamento de Tecnología Electrónica – Universidad de Sevilla
RAM no volátil (NVRAM)RAM no volátil (NVRAM)
● RAM que mantiene su contenido incluso sin alimentación principal.
● Objetivo:– Seguridad de datos en caso de fallo de la alimentación principal– Re-activación rápida del sistema.
● Estrategias posibles:– SRAM + batería de lítio (Ej: configuración BIOS en ordenadores).– SRAM + batería principal (Ej: vídeoconsolas)– RAM + EEPROM: un pulso de “retención” hace que el contenido de
la RAM se vuelque en memoria EEPROM (Ej: primeras PDA).