Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- Mantenimiento de la información:
* Volátiles: pierden la información almacenada transcurrido cierto
tiempo o si se desconecta la alimentación de la memoria. (Ej. DRAM,
RAM)
* No volátiles: la información almacenada perdura en el tiempo
independientemente de la alimentación del dispositivo y hasta que
ésta sea sustituida por una nueva. (Ej. NVRAM, FLASH, Magnéticas,
Ópticas.
- Tiempo de acceso:
Mide el intervalo de tiempo que transcurre desde que se solicita un
dato a la memoria y ésta lo devuelve.
* Bajo. Ej. SRAM (caché), DRAM, ROM (en general las de tipo
semiconductor)
* Alto. Ej. Unidades magnéticas y ópticas.
Memorias: Jerarquías
Caché DRAM
DISCO ÓPTICO
SRAM
ROM
REGISTROS
FLASH
Microprocesador UNIDADES DE CINTA
NVRAM
Memoria principal
o primaria OTROS
BUS DE DIRECCIONES
DECODIFICADOR
BUFFERS
M
BUS DE DATOS
Memorias: Memorias semiconductoras:Organización(2)
DECODIFICADOR
BUS DE DIRECCIONES[N]
N N/2
M
M M
N/2
MUX (si lectura)/DEMUX (si escritura)
CELDA BÁSICA M
BUFFERS
M
BUS DE DATOS
Memorias: Memorias semiconductoras: ROM (1)
• Proceso de lectura:
- Establecer dirección
- Habilitar chip y salidas
Tiempo de acceso
Memorias: Memorias semiconductoras: RAM (1)
• Ejemplo de SRAM
• Señales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura;
#OE, Habilitador de salida)
Establecer la dirección
Proceso de lectura Poner #WE a 1 lógico
Habilitar salidas y chip
Memorias: Memorias semiconductoras: RAM (3)
• Ejemplo de DRAM:
• Señales de control: #RAS, (Habilitador de fila), #CAS,
(Habilitador de columna), #CS, #WE y #OE.
TIEMPO DE LATENCIA
Memorias: Memorias semiconductoras: RAM (5)
Trac
Memorias: Memorias semiconductoras: RAM (7)
• Las DDR (Double Data Rate) RAM permiten duplicar la velocidad al utilizar, tanto
los flancos de subida como los de bajada del reloj para transferir un bit. Tacceso de
n palabras (de m bits) en DDR RAM = Trac + (n-1)*Tclk/2. (95ns si se usan los
mismos datos de la SDRAM anterior)
• Futuro: QDR (Quad Data Rate) RAM (cuatro transferencias por ciclo de reloj)
• Las memorias para un ordenador personal vienen en módulos: SIMM , DIMM
Memorias: Mapas de memoria: Generalidades
“ristra”.
P-1 Dato (p-1)
P Dato (p)
P+1 Dato (p+1)
Memorias: Mapas de memoria: Organización
110....11101
$0000 Byte 0
110....11101 $0001 Byte 1
AB[15:0] $0002 Byte 2
AB 16 $0003 Byte 3 216=64K
CB[..] Direcciones
8 Lógicas y físicas
DB[7:0] $FFFE Byte 65534
DB $FFFF Byte 65535
110....11101
$0000 Byte 0 Byte 1 Word 0
110....1110 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
AB 15 $0003 Byte 6 Byte 7 Word 3
BE[1,0]
CB[..]
2
16
DB[15:0] $7FFE Byte 65532 Byte 65533 Word 32766
DB $7FFF Byte 65534 Byte 65535 Word 32767
BE[3:0]
CB[..]
4
DB[31:0] $3FFE Byte 65528 Byte 65529 Byte 65530 Byte 65531 LWord 16382
32 $3FFF Byte 65532 Byte 65533 Byte 65534 Byte 65535 LWord 16383
AB[15:0] $1202
$01 $1200
$A0 $1201
$BC $1202
$15 $1203
$32 $1204
$BC
DB[7:0]
$45 $FFFE
$66 $FFFF
Memorias: Mapas de memoria: Conexión lectura (2)
• Si el tamaño del bus de datos es de 16 bits, se podrá leer un byte o un word por
cada acceso a memoria.
• El CB tiene dos líneas que regulan qué parte del DB se usa para accesos a bytes.
Se controlan por el bit menos significativo de la dirección lógica y por el tamaño
del operando de la instrucción que realiza el acceso a memoria. Para la lectura de
un byte situado en una dirección impar, se activa BE1.
LECTURA DE BYTE EN DIRECCIÓN IMPAR
Dirección lógica (16bits)
Dirección física (15bits)
BE0=1 BE1=1
00...00 0111
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 0
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión lectura (3)
• En la lectura de un dato de tamaño byte que se encuentra en una dirección par se
activa BE0.
BE0=1 BE1=1
00...00 0110
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 1
CB[..]
BE1 0
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión lectura (4)
• En la lectura de un dato de tamaño word, se activan las líneas BE0 y BE1.
• En este caso se requiere que la dirección lógica sea siempre par.
BE0=1 BE1=1
00...00 0110
$0000 Byte 0 Byte 1 Word 0
00...0011 $0001 Byte 2 Byte 3 Word 1
AB[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 1
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión escritura
• Para ESCRIBIR, el microprocesador desactiva la señal R/#W que posee el BUS
de CONTROL.
• Si el tamaño del bus de datos es de 8 bits, sólo se podrá escribir un byte por
cada acceso a memoria.
AB[15:0] $1202
$01 $1200
$A0 $1201
$BC $1202
$15 $1203
$32 $1204
$BC
DB[7:0]
$45 $FFFE
$66 $FFFF
Memorias: Mapas de memoria: Conexión escritura (2)
• Si el tamaño del bus de datos es de 16 bits, se podrá escribir un byte o un word por
cada acceso a memoria.
BE0=1 BE1=1
00...00 0101
$0000 Byte 0 Byte 1 Word 0
00...0010 $0001 Byte 2 Byte 3 Word 1
[15:1] $0002 Byte 4 Byte 5 Word 2
15 $0003 Byte 6 Byte 7 Word 3
BE0 0
CB[..]
BE1 1
R/#W
$7FFE Byte 65532 Byte 65533 Word 32766
$AB DB[15:0] DB[7:0] $7FFF Byte 65534 Byte 65535 Word 32767
DB[15:8]
Microprocesador Memoria principal
Memorias: Mapas de memoria (1)
• El espacio de direccionamiento lógico identifica la CHIP1 RAM DL1
máxima capacidad de memoria con la que puede trabajar DL2
un microprocesador (CM).
• La capacidad física (CF) o real de la memoria viene CHIP2 RAM DL3
dada por la suma de las capacidades de todos los chips CAPACIDAD FÍSICA
de memoria que la forman. (CF<CM).
CHIP3 ROM DL4
• Cada chip de memoria tiene asignado un rango de
direcciones lógicas. Dicho rango es igual a la capacidad
del chip de memoria expresada en bytes. Cualquier CHIP4 RAM
dirección lógica (DL) que esté incluida en dicho rango
provocará el acceso a un chip del conjunto, mientras que
los restantes chips están inactivos. Ejemplos:
ESPACIO DL5
-Direcciones Lógicas DL1 y DL2 acceden al chip1 de RAM, la DL3 y
DL6 a los chips 2 y 3 de RAM respectivamente. La dirección DL5 no DE MEMORIA
accede a ningún chip de memoria y la DL4 a un chip de ROM. LIBRE
ESPACIO DE DIRECCIONAMIENTO
Memorias: Mapas de memoria (2)
• Los microprocesadores necesitan de un sistema de decodificación que
permita habilitar las memorias según la dirección física que aquel sitúe
en el bus de direcciones.
CS1 $0000
CHIP1 ROM
$0FFF
AB[11:0]
$02A ROM $1000
4Kx8
Dirección lógica 12 $102A CHIP2 RAM
SISTEMA
DE $2FFF 64K
$102A DECODIFICACIÓN
$1 CS2
ESPACIO
uP $102A 13
8Kx8
DB[7:0]
Memorias: Mapas de memoria (3)
$0000 $0000 $0000 $0000
• Los chips de memoria reciben los A13=0
$0FFF
A12=0
$1000
bits menos significativos del AB, en A14=0
$1FFF $1FFF A12=1
cambio, el sistema de decodificación $2000
$2000
$2FFF A12=0
A13=1
utiliza los más significativos, en A12=1
concreto, los bits del AB que no se A15=0
$3FFF $3FFF
$4000 $4000
llevan hasta los buses de dirección A13=0
A12=0
$6000
• Para determinar el sistema de A13=1 A12=0
CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ $DFFF
A14=1
$E000
A13=1
CS1 &
0
DB[7:0]
Memorias: Mapas de memoria: Ejemplo 1 (1)
$0000 $0000
• Se dispone de un microprocesador
con 16 bits en su AB y 8 en su DB y A14=0
de 2 chips de 8Kx8 de RAM y uno de
R0M 16K
16Kx8 de ROM. Se desea que las
posiciones de memoria más bajas $3FFF
A15=0
estén ocupadas por ROM y las más $4000
altas por RAM. Diseñar el sistema de
decodificación. A14=1
- El espacio de direccionamiento se
subdivide, a partir de los bits MSB del AB, en
$7FFF $7FFF
regiones más pequeñas hasta que se
$8000 $8000
alcancen las capacidades de los chips de
A13=0
memoria. A14=0
R/#W
CSram2
R/#W
CB[..] &
RAM 2
0
>1 8Kx8
CSrom
AB[15:13] DEC 1
. AB[12:0]
3:8 .
6
CSram1 R/#W
7
uP
AB[15:0] RAM1
8Kx8
AB[12:0]
DB[7:0]
Memorias: Mapas de memoria: Ejemplo 2 (1)
$00000 $00000 $00000
• Se dispone de un microprocesador R0M 128K
A17=0
A13=0
con 20 bits en su AB y 8 en su DB y A18=0
$1FFFF
de 2 chips de 64kx8 de RAM y uno de A19=0
$20000 $20000 A16=0
RAM1 64K
128kx8 de ROM. Se desea que las A17=1 $2FFFF
$30000
posiciones de memoria más bajas $3FFFF $3FFFF $3FFFF
RAM1 64K
RAM2 8K
A16=1
estén ocupadas por ROM y, a
continuación, se sitúa la memoria
RAM. Diseñar el sistema de A14=1
decodificación suponiendo que los CS
de los chips son activos en bajo.
- El espacio de direccionamiento es de 1M. $7FFFF $7FFFF
1M byte
$80000
A18=1
$FFFFF
512K 256K 128K ROM 128K RAM 64K
Memorias: Mapas de memoria: Ejemplo 2 (2)
R/#W
CSram1
R/#W
CB[..] >1
AB[15:0] RAM1
0
& 64Kx8
AB[19:16] DEC 1 CSrom
2
4:16 3
..
R/#W
15 CSram2
uP
AB[19:0] RAM2
AB[15:0] 64Kx8
DB[7:0]
Memorias: Mapas de memoria: Ejemplo 3 (1)
• Se dispone de un microprocesador con 15 bits en su AB y 16 en su DB y de 4 chips de 4kx8 de
RAM y dos de 8kx8 de ROM. Se desea que las posiciones de memoria más bajas estén ocupadas
por ROM y las más altas por RAM. Diseñar el sistema de decodificación.
- El espacio de direccionamiento tiene 64Kbytes pero organizado, físicamente, en 32Kwords.
- El microprocesador puede acceder a un byte individual o a dos bytes consecutivos simultáneamente. Esto
exige decodificación por dirección par o impar.
- El uP dispone de las líneas BE1 y BE0, que identifican si el acceso es a dirección par o impar para bytes o, a
ambas, para word.
- Desde un punto de vista lógico, los chips de memoria se deben agrupar por parejas. La pareja ocupa una
región, dentro del espacio de direccionamiento, igual al doble de la capacidad de cada uno (ACCESO ROM).
&
ROM ROM
AB[13:1] AB[13:1]
uP BE0
CB
BE1 DB[7:0] DB[15:8]
DB[15:0]
Memorias: Mapas de memoria: Ejemplo 3 (2)
• Se representa el espacio de $0000 $0000
direccionamiento
A14=0
• Los dos chips de ROM de 8K se CS1
consideran como uno de 16K que se sitúa ROM 16K
en la parte inferior del espacio de
direccionamiento. A15=0
$3FFF
$4000
• Los 4 chips de RAM de 4K se agrupan de
dos en dos para formar dos chips de 8K
que ocupan las direcciones lógicas más A14=1
altas.
• Cada una de las regiones ocupadas se 64K
$7FFF $7FFF
etiqueta con CSx (x=1,2,3).
$8000 $8000
• Se obtienen las expresiones lógicas de
dichas etiquetas: A14=0
4Kx8 4Kx8