unidad 10. memorias semiconductoras (en construcción) · memoria rom rom: read-only memory matriz...

35
Departamento de Tecnología Electrónica – Universidad de Sevilla Unidad 10. Memorias Unidad 10. Memorias semiconductoras semiconductoras (en construcción) (en construcción) Circuitos Electrónicos Digitales E.T.S.I. Informática Universidad de Sevilla Jorge Juan <[email protected]> 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.

Upload: others

Post on 14-Oct-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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 <[email protected]> 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.

Page 2: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 3: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 4: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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".

Page 5: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 6: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 7: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 8: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 9: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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)

Page 10: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 11: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

Departamento de Tecnología Electrónica – Universidad de Sevilla

ROM. Estructura interna. Ej: ROM 4x2ROM. Estructura interna. Ej: ROM 4x2

Page 12: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 13: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

Departamento de Tecnología Electrónica – Universidad de Sevilla

PROM, EPROM y EEPROMPROM, EPROM y EEPROM

PROM EPROM

EEPROM

Page 14: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 15: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 16: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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)

Page 17: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 18: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

Departamento de Tecnología Electrónica – Universidad de Sevilla

RAM estáticaRAM estática

Page 19: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

Departamento de Tecnología Electrónica – Universidad de Sevilla

RAM dinámicaRAM dinámica

Page 20: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 21: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

Departamento de Tecnología Electrónica – Universidad de Sevilla

RAM. Módulos de memoriaRAM. Módulos de memoria

Page 22: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 23: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 24: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 25: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 26: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 27: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 28: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 29: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 30: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 31: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 32: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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.

Page 33: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 34: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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

Page 35: Unidad 10. Memorias semiconductoras (en construcción) · Memoria ROM ROM: Read-Only Memory Matriz con direcciones asociadas a filas y datos asociados a columnas. El dato suministrado

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).