Memorias de
Semiconductor
Departamento de Electrónica
Departamento de Electrónica
Departamento de Electrónica
Departamento de Electrónica
Curso 2010
Curso 2010
Curso 2010
Curso 2010/11
/11
/11
/11
Sistemas Electrónicos Digitales I Departamento de Electrónica
2
Introducción
Clasificación de las memorias
El chip de memoria
Estructura interna de una
memoria
Cronogramas de acceso
Índice
Memorias RAM estáticas
Memorias RAM dinámicas
Memorias ROM
Memorias PROM
Memorias E/EEPROM
Memorias FLASH
Expansión de memorias
Mapas de memoria
Gestión de la memoria
Ordenación de datos en
memoria
A partir de chips de memoria se puede ampliar:
El número de bits por palabra
Expansión de memorias: tamaño
Memoria
1Kx4
Memoria
1Kx4
Memoria
1Kx4
A[9:0] D[3:0]Memoria de 1Kx8
A[9:0] D[7:0]Sistemas Electrónicos Digitales I Departamento de Electrónica
4
A partir de chips de memoria se puede ampliar:
El número de palabras
Expansión de memorias: número
Memoria
1Kx4
A[9:0] D[3:0]Memoria
1Kx4
Memoria
1Kx4
Memoria
de 2Kx4
A[10:0] D[3:0]A partir de chips de memoria se puede ampliar:
El número de bits por palabra y el número de palabras
Expansión de memorias: tamaño y número
Memoria
1Kx4
Memoria
1Kx4
Memoria
1Kx4
A[9:0] D[3:0]Memoria de 2Kx8
Memoria
1Kx4
Memoria
1Kx4
A[10:0] D[7:0]Sistemas Electrónicos Digitales I Departamento de Electrónica
6
Memoria de 1Kx12 con
memorias de 1Kx4
Memoria de 2Kx4 con
memorias de 1Kx4
Sistemas Electrónicos Digitales I Departamento de Electrónica
8
Memoria de 20Kx8 con
memorias de 4Kx8
Memoria de 4Kx8 con
memorias de 1Kx4
Sistemas Electrónicos Digitales I Departamento de Electrónica
10
Definición:
cantidad de memoria que se puede direccionar desde un uP y
organización/distribución/estructuración de la misma
2 tipos de mapa:
Lógico
: Uso de las posiciones de memoria. P.ej. código, datos, pila, etc.
Físico
: Implementación física (en distintos chips) del mapa. P. ej. 2 chips de RAM
de 8K8, 1 chip de Flash de 32Kbytes, etc.
La definición del mapa de memoria posibilita la conexión del uP al
sistema de memoria. Para ello:
1.
Definir el mapa lógico a partir de la aplicación y el físico a partir del lógico
2. La definición del mapa físico permite conocer las direcciones para las que se accede
a cada chip →
GENERACIÓN DE LA LÓGICA DE DECODIFICACIÓN
3. Implementación y conexión de los distintos chips de memoria y la lógica de
decodificación al uP
Mapas de memoria (II/V)
Sistemas Electrónicos Digitales I Departamento de Electrónica
12
Mapas de memoria (III/V)
A partir del mapa físico se hace una tabla de verdad para diseñar la
lógica de decodificación
Mapas de memoria (III/V)
A partir del mapa físico se hace una tabla de verdad para diseñar la
lógica de decodificación
Sistemas Electrónicos Digitales I Departamento de Electrónica
Introducción a los Sistemas Electrónicos Digitales Introducción a los Sistemas Electrónicos DigitalesIntroducción a los Sistemas Electrónicos Digitales Introducción a los Sistemas Electrónicos Digitales
Departamento de Electrónica Departamento de ElectrónicaDepartamento de Electrónica
Departamento de Electrónica 14
Mapas de memoria (IV/V)
A partir de la tabla de verdad de la lógica de decodificación se
implementa el circuito de decodificación:
Con puertas lógicas
Con decodificadores
Mapas de memoria (V/V)
Decodificación completa:
Se emplea este término cuando el acceso a una posición concreta de memoria se puede
realizar sólo para una única combinación de los bits del bus de direcciones:
{una posición física = una dirección lógica}
Decodificación incompleta:
Se corresponde a aquella situación en la que el acceso a una posición concreta de memoria
se puede producir con varias combinaciones diferentes de los bits del bus de direcciones:
{una posición física = varias direcciones lógicas}
En cualquier caso es necesario tener en cuenta la dirección base.
Reconocer la función de
los diferentes bits de direcciones.
P.e. para el elemento (pastilla RAM de 8 Kbytes) las líneas A[12..0] se necesitan para seleccionar
la posición deseada dentro del chip, y por tanto pueden presentar cualquier código, lo que se
Sistemas Electrónicos Digitales I Departamento de Electrónica
16
De qué depende?
Es función del
número de bits del bus de
datos externo
del µP, la estructura de la memoria puede ser de
diversos modos
Dirección de
la palabra
Banco único
0
Byte 0
Primera palabra
1
Byte 1
2
Byte 2
....
N-1
Byte (n-1)
N
Byte (n)
FF..FF
FF..FF
Última palabra
Organización en bytes de la memoria de un sistema con
Dirección de
la palabra
Banco único
0
Byte 0
Primera palabra
1
Byte 1
2
Byte 2
....
N-1
Byte (n-1)
N
Byte (n)
FF..FF
FF..FF
Última palabra
Organización en bytes de la memoria de un sistema con
Gestión de la memoria (I/III)
1.
bus de datos de 8 bits,
único banco (grupo) de
bytes..
Gestión de la memoria (II/III)
2.
Bus de datos externo de 16 bits
(aunque internamente sean 32)
Al leer o escribir a la memoria se puede hacer de 16 en 16 bits
La memoria se organiza en dos bancos: el par y el impar
Se debe permitir acceder a datos de uno y dos bytes
Dirección de
la palabra Banco Par Banco Impar
0 Byte 0 Byte 1 Primera palabra 2 Byte 2 Byte 3
....
N-2 Byte (n-2) Byte (n-1) N Byte (n) Byte (n+1)
Dirección de
la palabra Banco Par Banco Impar
0 Byte 0 Byte 1 Primera palabra 2 Byte 2 Byte 3
....
N-2 Byte (n-2) Byte (n-1) N Byte (n) Byte (n+1)
Sistemas Electrónicos Digitales I Departamento de Electrónica
18
Gestión de la memoria (III/III)
3.
Bus de datos externo de 32 bits
La memoria se estructura en 4 bancos
Se deben permitir los accesos a uno, dos y cuatro bytes
Dirección de la
doble palabra Banco 0 Banco 1 Banco 2 Banco 3
0 Byte 0 Byte 1 Byte 2 Byte 3 Primera palabra
4 Palabra (Word) 4 Palabra (Word) 6
8 Doble Palabra (Longword) 8
.... .... .... .... ....
N-4 Byte (n-4) Byte (n-3) Byte (n-2) Byte (n-1)
N Palabra (N) Palabra (N+2) N+4 Doble Palabra (N+4) .... .... .... .... .... FF..F8 FF..F8 FF...F9 FF..FA FF..FB Última palabra FF..FC FF..FC FF..FD FF..FE FF..FF Dirección de la
doble palabra Banco 0 Banco 1 Banco 2 Banco 3
0 Byte 0 Byte 1 Byte 2 Byte 3 Primera palabra
4 Palabra (Word) 4 Palabra (Word) 6
8 Doble Palabra (Longword) 8
.... .... .... .... ....
N-4 Byte (n-4) Byte (n-3) Byte (n-2) Byte (n-1)
N Palabra (N) Palabra (N+2) N+4 Doble Palabra (N+4) .... .... .... .... .... FF..F8 FF..F8 FF...F9 FF..FA FF..FB Última palabra FF..FC FF..FC FF..FD FF..FE FF..FF Dirección de la
doble palabra Banco 0 Banco 1 Banco 2 Banco 3
0 Byte 0 Byte 1 Byte 2 Byte 3 Primera palabra
4 Palabra (Word) 4 Palabra (Word) 6
8 Doble Palabra (Longword) 8
.... .... .... .... ....
N-4 Byte (n-4) Byte (n-3) Byte (n-2) Byte (n-1)
N Palabra (N) Palabra (N+2) N+4 Doble Palabra (N+4) .... .... .... .... .... FF..F8 FF..F8 FF...F9 FF..FA FF..FB Última palabra FF..FC FF..FC FF..FD FF..FE FF..FF
Ordenación de los datos en memoria (I/III)
Queda por determinar de los varios bytes que componen el dato cuál
representa el de mayor peso, los de pesos intermedios y el de menor
Big endian.
Este tipo de ordenación hace corresponder el byte de menor peso del
dato con el almacenado en la celda de memoria de dirección más alta, dentro de las
que contienen el dato
Banco Par
Banco Impar
0
Dato de 8 bits
2
Dato de 8 bits
....
N-2
Dato de 16bits,
MSB
Dato de 16bits,
LSB
Dato alineado
Banco Par
Banco Impar
0
Dato de 8 bits
2
Dato de 8 bits
....
N-2
Dato de 16bits,
MSB
Dato de 16bits,
LSB
Dato alineado
Sistemas Electrónicos Digitales I Departamento de Electrónica
20
Ordenación de los datos en memoria (II/III)
Little endian.
Este tipo de ordenación hace corresponder el byte de menor peso
del dato con el almacenado en la celda de memoria de dirección más baja, dentro
de las que contienen el dato
En cualquier caso las celdas de memoria donde se encuentra almacenado el dato
han de ser consecutivas
Banco Par
Banco Impar
0
Dato de 8 bits
2
Dato de 8 bits
....
N-2
Dato de 16bits,
LSB
Dato de 16bits,
MSB
Dato alineado
N
Banco Par
Banco Impar
0
Dato de 8 bits
2
Dato de 8 bits
....
N-2
Dato de 16bits,
LSB
Dato de 16bits,
MSB
Dato alineado
N
Banco 0 Banco 1 Banco 2 Banco 3
0 Dato de 8 bits Dato de 8 bits
2 Dato de 8 bits Dato de 8 bits
.... N-2 Dato de 16bits, LSB Dato de 16bits, MSB Dato de 16bits, LSB Dato de 16bits, MSB Datos alineados N N+2 Dato de 16bits, LSB Dato de 16bits, MSB Dato de 16bits, LSB Datos no alineados Datos alineados Datos no alineados Dato de 16bits, MSB Dato de 32bits, LSB
Dato de 32bits Dato de 32bits Dato de 32bits,
MSB Dato de 32bits,
LSB
Dato de 32bits Dato de 32bits
Dato de 32bits, Dato de 32bits, Dato de 32bits
Banco 0 Banco 1 Banco 2 Banco 3
0 Dato de 8 bits Dato de 8 bits
2 Dato de 8 bits Dato de 8 bits
.... N-2 Dato de 16bits, LSB Dato de 16bits, MSB Dato de 16bits, LSB Dato de 16bits, MSB Datos alineados N N+2 Dato de 16bits, LSB Dato de 16bits, MSB Dato de 16bits, LSB Datos no alineados Datos alineados Datos no alineados Dato de 16bits, MSB Dato de 32bits, LSB
Dato de 32bits Dato de 32bits Dato de 32bits,
MSB Dato de 32bits,
LSB
Dato de 32bits Dato de 32bits
Dato de 32bits, Dato de 32bits, Dato de 32bits