SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Memorias: Definiciones y características (1)
• Un memoria es un dispositivo físico capaz de almacenar información.
• Existen una gran variedad de parámetros que permiten caracterizar o
clasificar una memoria:
- Naturaleza física del almacenamiento:
* Semiconductor (Ej. RAM, ROM, FlashROM, StickMemory, ...)
* Magnético (Ej. Unidades de cinta o disco)
* Óptico (Ej. Unidades DVD, CDROM)
- Modo de Acceso a la Información:
* Secuencial: Para acceder a un byte se requieren leer o escribir
en las posiciones previas. (Ej. Unidad de cinta, FIFO)
* Aleatorio: Se puede acceder a cualquier byte sin condición de
acceder a bytes previos (Ej. RAM, ROM, DVD, Discos
magnéticos).
Memorias: Definiciones y características (2)
- 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é
Memoria principal
o primaria
Memoria secundaria o masiva
DISCO MAGNÉTICO
DISCO ÓPTICO
UNIDADES DE CINTA
OTROS
DRAM
ROM
FLASH
NVRAM
SRAM
REGISTROS
CAPACIDAD CRECIENTE
COSTE CRECIENTE
Microprocesador
Memorias: Memorias semiconductoras:Organización(1)
• La unidad mínima de almacenamiento es el bit y la estructura física que lo
soporta se denomina celda básica.
• La memoria organiza las celdas por filas y columnas (estructura matricial).
• Existen varias formas de acceder la celdas (o grupos de ellas): decodificación
por filas y decodificación por filas y columnas.
• Decodificación por filas: CELDA BÁSICA
N
BUS DE DIRECCIONES
DECODIFICADOR
BUFFERS
BUS DE DATOS
M
Memorias: Memorias semiconductoras:Organización(2)
• Decodificación por filas y columnas.:
DECODIFICADOR
BUSDEDIRECCIONES[N]
N/2N
BUFFERS
MUX (si lectura)/DEMUX (si escritura)
N/2
CELDA BÁSICA
BUS DE DATOS
M
M
MM
M
Memorias: Memorias semiconductoras: ROM (1)
• Son memorias de sólo lectura.
• No pierden la información aunque se interrumpa la alimentación.
• Tipos: ROM, PROM (OTP ROM), EPROM, EEPROM (FLASH)
• Las memorias ROM se programan en fábrica y no es posible
modificar su contenido
• Las memorias PROM contienen una matriz de fusibles que es
programable por el usuario una sola vez.
• Las EPROM permiten su reprogramación después de someter al
chip a un proceso de borrado por radiación ultravioleta.
• Las EEPROM permiten su reprogramación eléctrica. Las FLASH
EEPROM son más rápidas por permitir borrado y escritura por
bloques aunque tienen el inconveniente del desgaste (10.000-
90.000 borrados).
Memorias: Memorias semiconductoras: ROM (2)
• Ejemplo: Memoria EPROM
• Señales de control: #OE (habilitador salida), #CE (habilitador chip)
Memorias: Memorias semiconductoras: ROM (3)
• Proceso de lectura:
- Establecer dirección
- Habilitar chip y salidas
Tiempo de acceso
Memorias: Memorias semiconductoras: RAM (1)
• Son memorias de lectura y escritura.
• Tipos: SRAM y DRAM.
• Características de la SRAM:
- Celda básica basada en un biestable (6 transistores)
- Rápidas (-> Caché)
- La información no se pierde mientras exista alimentación
Memorias: Memorias semiconductoras: RAM (2)
• Ejemplo de SRAM
• Señales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura;
#OE, Habilitador de salida)
Establecer la dirección
Poner #WE a 1 lógico
Habilitar salidas y chip
Proceso de lectura
Memorias: Memorias semiconductoras: RAM (3)
• RAM DINÁMICA (DRAM)
- celda básica: 1 transistor + condensador
- Necesita refresco.
- Requiere lógica externa compleja.
- Mayor densidad que SRAM -> mayor capacidad
- Menor velocidad de acceso
Memorias: Memorias semiconductoras: RAM (4)
Establecer la FILA (primera mitad de la dirección)
Validar FILA (#RAS)
Establecer la COLUMNA (segunda mitad de la dirección)
Validar COLUMNA (#CAS)
Poner #WE a 1 lógico
Habilitar salidas y chip
Proceso de lectura
(ver secuencia de pasos
en el cronograma)
TIEMPO DE LATENCIA
Tiempo de pulso de la señal RAS Tiempo de mantenimiento de columna
Tiempo de establecimiento de columna
• Ejemplo de DRAM:
• Señales de control: #RAS, (Habilitador de fila), #CAS,
(Habilitador de columna), #CS, #WE y #OE.
Memorias: Memorias semiconductoras: RAM (5)
• La reducción del tiempo de latencia es imprescindible para mejorar la
velocidad de las DRAM.
- FPM (Fast Page Mode)/EDO (Extended Data Output) DRAM. Agiliza los
accesos a los bits de una misma fila (página). Dentro de una página sólo es
necesario identificar la columna.
- El tiempo de acceso a n datos de una página es Trac*n en DRAM y Trac+(n-
1)*Tpc en FPM/EDO RAM (Tpc = tiempo de ciclo en modo pagina). Tpc es menor
en EDO DRAM que en FPM DRAM.
- Ejemplo: Si n=8, Trac=60ns y Tpc=25ns -> Tacceso DRAM = 480ns, Tacceso
FPM/EDO DRAM = 235ns
Memorias: Memorias semiconductoras: RAM (6)
• Los microprocesadores tienden a buscar bytes en posiciones consecutivas de la
memoria y, si disponen de caché, además, en ráfagas. (Ej. Caché L2 de un Pentium
busca bloques de 32 bytes).
• Las SDRAM (DRAM síncronas) incorporan una señal de reloj que establece la base
de tiempos para el modo paginado y un contador interno que genera las
direcciones de columna para cada ciclo de reloj.
• El tiempo de acceso para n palabras (de m bits) es Trac+(n-1)Tclk.
• Ejemplo: Una SDRAM PC-100Mhz, tiene Tclk = 10ns, si Trac=60ns y n=8,
entonces Tacceso SDRAM = 130ns.
Tclk
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
MICROPROCESADOR
• Todo microprocesador dispone de
un bus de direcciones (AB), bus de
datos (DB) y bus de control (CB) para
gestionar el flujo de información
entre la memoria y el propio
procesador
• Desde el punto de vista del
microprocesador, la memoria está
organizada en una “ristra” de bytes
en la que cada uno ocupa una
dirección concreta dentro de la
“ristra”.
AB
CB
DB
MEMORIA PRINCIPAL
Dato (p)
Dato (p-1)
Dato (p+1)
DIRECCIÓN
P-1
P
P+1
Memorias: Mapas de memoria: Organización
• El valor que el microprocesador sitúa en el AB en un momento
determinado se denomina dirección física (DF).
• Cada byte almacenado en la memoria se distingue de cualquier
otro porque ocupa o tiene asignado una dirección lógica (DL). El
microprocesador trabaja con direcciones lógicas.
• El conjunto de todas las posibles direcciones lógicas determina
el espacio de direccionamiento.
• El tamaño del espacio de direccionamiento y su organización
dependen del número de líneas de los buses AB y DB:
- Un bus AB con n líneas identifica 2n direcciones físicas
diferentes.
- Un DB con mx8 líneas (m=1, 2, 4, 8...) asigna m direcciones
lógicas a una dirección física.
- Espacio de direccionamiento = 2n x m
Memorias: Mapas de memoria: Organización:Ejs: (1)
• Ejemplo 1: Microprocesador con 16 líneas en bus de direcciones y 8
líneas en el bus de datos (n=16 y m=1).
- Existen 216 = 65536 direcciones físicas.
- Cada dirección física tiene asignada una lógica (m=1) y por cada
dirección lógica existe un byte.
- Espacio de direccionamiento es de 64Kbytes
Dirección física (16bits)
Byte 0
Memoria principalMicroprocesador
AB[15:0]
DB[7:0]
110....11101
Byte 2
Byte 3
Byte 65534
Byte 65535
16
$0000
$0001
$0002
$0003
$FFFF
$FFFE
216=64K
Direcciones
Lógicas y físicas
Byte 1110....11101
CB[..]
Dirección lógica (16bits)
AB
8
DB
Memorias: Mapas de memoria: Organización:Ejs: (2)
• Ejemplo 2: Microprocesador con 15 líneas en bus de direcciones y 16
líneas en el bus de datos (n=15 y m=2).
- Existen 215 =32768 direcciones físicas.
- Cada dirección física tiene asignada dos lógicas (m=2) y por cada
dirección lógica existe un byte.
- Espacio de direccionamiento es de 64Kbytes (físicamente org. 32Kwords)
Dirección física (15bits)
Byte 0
Microprocesador
AB[15:1]
DB[15:0]
110....11101
Byte 4
Byte 6
Byte 65532
Byte 65534
16
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 2110....1110
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE[1,0]
CB[..]
2
Dirección lógica (16bits)
AB 15
DB
Memoria principal
Memorias: Mapas de memoria: Organización:Ejs: (3)
• Ejemplo 1: Microprocesador con 14 líneas en bus de direcciones y 32
líneas en el bus de datos (n=14 y m=4).
-Existen 214 =16384 direcciones físicas.
-Cada dirección física tiene asignada cuatro lógicas (m=4) y por cada
dirección lógica existe un byte.
-Espacio de direccionamiento es de 64Kbytes (físicamente 16Klong words)
Dirección física (14bits)
Byte 0
AB[15:2]
DB[31:0]
110....11101
14
$0000
$0001
$0002
$3FFF
$3FFE
110....111
LWord 0
BE[3:0]
4
Byte 1 Byte 2 Byte 3
Byte 4 LWord 0Byte 5 Byte 6 Byte 7
Byte 8 LWord 0Byte 9 Byte 10 Byte 11
Byte 65528 LWord 16382Byte 65529 Byte 65530 Byte 65531
Byte 65532 LWord 16383Byte 65533 Byte 65534 Byte 65535
CB[..]
Dirección lógica (16bits)
32
Microprocesador Memoria principal
Memorias: Mapas de memoria: Conexión lectura
• Para LEER, el microprocesador activa la señal R/#W que posee el BUS de
CONTROL. Esta señal llega hasta todos los chips de memoria.
• Si el tamaño del bus de datos es de 8 bits, sólo se podrá leer un byte por cada
acceso a memoria.
• Para el siguiente ejemplo: dirección física = dirección lógica.
Microprocesador Memoria principal
$01
AB[15:0]
DB[7:0]
$A0
$BC
$15
$32
$10
$FF
$45
$66
$0000
$0001
$1200
$1201
$1202
$1203
$1204
$FFFE
$FFFF
$BC
CB[..]
R/#W
1
$1202
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
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0111
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
1
0
Dirección lógica (16bits)
Dirección física (15bits)Dirección física (15bits)Dirección física (15bits)
Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
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.
LECTURA DE BYTE EN DIRECCIÓN PAR
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0110
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
0
1
Dirección lógica (16bits)
Dirección física (15bits)Dirección física (15bits)Dirección física (15bits)
Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
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.
LECTURA DE PALABRA (siempre direcciones pares)
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
00...00 0110
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0
BE0=1 BE1=1
DB[7:0]
Byte 0
DB[15:8]
AB[15:1]
DB[15:0]
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0011
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE1
CB[..]
BE0=1 BE1=1
DB[7:0]
1
1
Dirección lógica (16bits)
Dirección física (15bits)Dirección física (15bits)Dirección física (15bits)
Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
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.
Microprocesador Memoria principal
$01
AB[15:0]
DB[7:0]
$A0
$BC
$15
$32
$10
$FF
$45
$66
$0000
$0001
$1200
$1201
$1202
$1203
$1204
$FFFE
$FFFF
$BC
CB[..]
R/#W
0
$1202
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.
Dirección física (15bits)
Byte 0
DB[15:8]
[15:1]
DB[15:0]
00...00 0101
Byte 4
Byte 6
Byte 65532
Byte 65534
15
$0000
$0001
$0002
$0003
$7FFF
$7FFE
Byte 200...0010
Byte 1
Byte 5
Byte 7
Byte 65533
Byte 65535
Byte 3
Word 0
Word 1
Word 2
Word 3
Word 32766
Word 32767
BE0=1 BE1=1
DB[7:0]
R/#W
BE0
BE1
CB[..]
1
0
$AB
Dirección lógica (16bits)
Microprocesador Memoria principal
Memorias: Mapas de memoria (1)
CHIP1 RAM
CHIP2 RAM
CHIP6 ROM
CHIP3 ROM
CHIP4 RAM
CHIP5 RAM
ESPACIO
DE MEMORIA
LIBRE
• El espacio de direccionamiento lógico identifica la
máxima capacidad de memoria con la que puede trabajar
un microprocesador (CM).
• La capacidad física (CF) o real de la memoria viene
dada por la suma de las capacidades de todos los chips
de memoria que la forman. (CF<CM).
• 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
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:
-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
accede a ningún chip de memoria y la DL4 a un chip de ROM.
• Los mapas de memorias son representaciones gráficas
que representan los rangos de direcciones lógicas que
tienen asignados cada uno de los chips que constituyen
la memoria física.
CAPACIDAD FÍSICA
DL1
DL2
DL3
DL4
DL5
DL6
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.
ROM
4Kx8
RAM
8Kx8
AB[15:12]
SISTEMA
DE
DECODIFICACIÓN
$1
$02A
CHIP1 ROM
CHIP2 RAM
ESPACIO
DE MEMORIA
LIBRE
CS1 $0000
uP
AB[15:0]
DB[7:0]
$102A
64K
12
13
CS2
$0FFF
AB[11:0]
$1000
Dirección lógica $102A
$2FFF
AB[12:0]
$102A
Memorias: Mapas de memoria (3)
A15=0
A15=1
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
$0000
$1FFF
$2000
$3FFF
A13=0
A13=1
$4000
$5FFF
$6000
$7FFF
A13=0
A13=1
$8000
$9FFF
$A000
$BFFF
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0
A13=0A13=0
A13=0A13=0
A13=0A13=0
A12=0
$0FFF
$0000
A12=1
A12=0
$1000
$1FFF
$2000
$2FFF
A12=1
A12=0
A12=1
A12=0
A12=1
$0000
• Los chips de memoria reciben los
bits menos significativos del AB, en
cambio, el sistema de decodificación
utiliza los más significativos, en
concreto, los bits del AB que no se
llevan hasta los buses de dirección
de los chips de memoria.
• Para determinar el sistema de
decodificación, se puede proceder
dividiendo el espacio de direcciona-
miento en diferentes regiones según
las líneas MSB del AB.
• Para la ROM de 4K y RAM de 8K,
del ejemplo anterior se tiene:
$7FFF
$8000
CS1 = A15’ A14’ A13’ A12’
CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’
$FFFF
32K 16K ROM 4K RAM 8K8K 4K
Memorias: Mapas de memoria (4)
• El sistema de decodificación estará formado por los subsistemas
combinacionales y puertas lógicas necesarias que permitan la activación
de los CSx de los chips de memoria. Además, para las ROMs, se deberá
prohibir el acceso a escritura de las mismas.
uP
AB[15:0]
DB[7:0]
CB[..]
ROM
4Kx8
CS
RAM
8Kx8
CS2
DEC
4:16
0
1
2
.
.
15
&CS1
CS1 = A15’ A14’ A13’ A12’ (sólo si el acceso es de lectura,
ya que es una ROM)
CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ AB[11:0]
AB[12:0]
>1
R/#W
AB[15:12]
R/#W
Memorias: Mapas de memoria: Ejemplo 1 (1)
A15=0
$0000
$7FFF
A15=1
$8000
$FFFF
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0A13=0
A13=0A13=0
R0M 16K
RAM1 8K
RAM2 8K
• Se dispone de un microprocesador
con 16 bits en su AB y 8 en su DB y
de 2 chips de 8Kx8 de RAM y uno de
16Kx8 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 se
subdivide, a partir de los bits MSB del AB, en
regiones más pequeñas hasta que se
alcancen las capacidades de los chips de
memoria.
-Se determinan las expresiones de los CSx
de los dispositivos en función de los bits del
AB que delimitan la región del espacio de
direccionamiento donde se sitúa el
contenido del chip de memoria:
CSrom = A15’ A14’
CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’
32K 16K 8K RAM 8K R0M 16K
Memorias: Mapas de memoria: Ejemplo 1 (2)
uP
AB[15:0]
DB[7:0]
CB[..]
ROM
16Kx8
CS
CSrom
RAM1
8Kx8
DEC
3:8
0
1
.
.
6
7
AB[12:0]
&
- Se implementa el sistema de decodificación
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a
los bits LSB del AB del microprocesador
- El bus de datos de los chips se conectan al del
microprocesador.
AB[13:0]
RAM 2
8Kx8
AB[12:0]
R/#W
CSram2
AB[15:13]
R/#W
R/#WCSram1
>1
Memorias: Mapas de memoria: Ejemplo 2 (1)
A19=0
$00000
$7FFFF
A19=1
$80000
$FFFFF
A18=0
$00000
$7FFFF
A14=1
$3FFFF
$00000
A18=0
A18=1
A13=0
A17=1
A13=0A17=0
R0M 128K
RAM1 8K
RAM1 64K
$1FFFF
$20000
$3FFFF
RAM2 64K
$20000
$2FFFF
$30000
$3FFFF
A16=0
A16=1
1M byte
Espacio de
direccionamiento
• Se dispone de un microprocesador
con 20 bits en su AB y 8 en su DB y
de 2 chips de 64kx8 de RAM y uno de
128kx8 de ROM. Se desea que las
posiciones de memoria más bajas
estén ocupadas por ROM y, a
continuación, se sitúa la memoria
RAM. Diseñar el sistema de
decodificación suponiendo que los CS
de los chips son activos en bajo.
- El espacio de direccionamiento es de 1M.
-Las ecuaciones de los CS son:
CSrom = A19+A18+A17
CSram1 = A19+A18+A17’+A16
CSram2 = A19+A18+A17’+A16’
512K 256K 128K ROM 128K RAM 64K
Memorias: Mapas de memoria: Ejemplo 2 (2)
uP
AB[19:0]
DB[7:0]
CB[..]
ROM
128Kx8
CS
CSrom
RAM2
64Kx8
DEC
4:16
0
1
2
3
..
15
AB[15:0]
>1
- Se implementa el sistema de decodificación
usando los bits MSB del AB para activar los CSx
- El bus de direcciones de los chips se conectan a
los bits LSB del AB del microprocesador
- El bus de datos de los chips se conectan al del
microprocesador.
AB[16:0]
RAM1
64Kx8
CSram1
R/#W
AB[19:16]
R/#W
AB[15:0]
R/#W
CSram2
&
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).
&
uP
AB[15:1]
DB[15:0]
CB
DECODIFICACIÓN
BE0
BE1
ROM
8Kx8
CSrom1
ROM
8Kx8
CSrom2
DB[7:0] DB[15:8]
AB[13:1] AB[13:1]
&
ACCESO ROM (CS1)
Memorias: Mapas de memoria: Ejemplo 3 (2)
A15=0
A15=1
A14=0
$0000
$7FFF
A14=1
$3FFF
$4000
A14=0
$8000
$FFFF
A14=1
$BFFF
$C000
A13=0
A13=1
$C000
$DFFF
$E000
$FFFF
A13=0A13=0
ROM 16K
RAM 8K
RAM 8K
• Se representa el espacio de
direccionamiento
• Los dos chips de ROM de 8K se
consideran como uno de 16K que se sitúa
en la parte inferior del espacio de
direccionamiento.
• 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
altas.
• Cada una de las regiones ocupadas se
etiqueta con CSx (x=1,2,3).
• Se obtienen las expresiones lógicas de
dichas etiquetas:
CS1 = A15’ A14’
CS2 = A15 A14 A13’
CS3 = A15 A14 A13
$0000
CS1
64K
$7FFF
$8000
CS2
CS3
$FFFF
Memorias: Mapas de memoria: Ejemplo 3 (3)
uP
AB[15:1]
DB[15:0]
CB
BE0
BE1
R/#W
ROM
8Kx8
AB[13:1]
CS
ROM
8Kx8
CS
DB[7:0] DB[15:8]
AB[13:1]
& &
RAM
4Kx8
CS
AB[12:1]
&
R/#WBE0
RAM
4Kx8
AB[12:1]
&
CS
R/#W
RAM
4Kx8
&
CS
R/#W
DB[7:0] DB[15:8]
AB[12:1]
RAM
4Kx8
&
CS
R/#W
DB[7:0] DB[15:8]
AB[12:1]
BE1
CS3 CS3
• Las líneas MSB del AB se conectan al
DEC 3:8 para generar CS1, CS2 y CS3.
• Atendiendo a BE0, BE1, y CSx, se
obtienen los CS de los chips de memoria
• El bus de datos de los chips que se
habilitan con BE0 se conecta a DB[7:0] y
los que se habilitan con BE1 al DB[15:8]. BE0 BE1
CS2
CS2
BE0
CS1
R/#W
BE1
CS1
R/#W
DEC
3:8
0
1
.
6
7
>1
CS1
AB[15:13]
CS2
CS3

Más contenido relacionado

La actualidad más candente

Multiplexación de Display 7 Segmentos
Multiplexación de Display 7 SegmentosMultiplexación de Display 7 Segmentos
Multiplexación de Display 7 SegmentosSNPP
 
Ac dc rectificadores
Ac dc rectificadoresAc dc rectificadores
Ac dc rectificadoresfabio guevara
 
solucionari tecno industrial 2 batx
solucionari tecno industrial 2 batxsolucionari tecno industrial 2 batx
solucionari tecno industrial 2 batxinstiquercus
 
4 correntaltern
4 correntaltern4 correntaltern
4 correntalternmjtecno
 
Secuenciador de un motor de pasos
Secuenciador de un motor de pasosSecuenciador de un motor de pasos
Secuenciador de un motor de pasosDiego Pezo
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezCesar Hernandez
 
Tema 9. memorias semiconductoras
Tema 9. memorias semiconductorasTema 9. memorias semiconductoras
Tema 9. memorias semiconductorasRebeca Ortega
 
Estructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosEstructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosLuis Lastra Cid
 
Memory intrface and addrs modes
Memory intrface and addrs modesMemory intrface and addrs modes
Memory intrface and addrs modesbalbirvirdi
 
B sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitB sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitRai University
 
SeñAles Y Sistemas1
SeñAles Y Sistemas1SeñAles Y Sistemas1
SeñAles Y Sistemas1Matematissen
 
8051,chapter1,architecture and peripherals
8051,chapter1,architecture and peripherals8051,chapter1,architecture and peripherals
8051,chapter1,architecture and peripheralsamrutachintawar239
 
Math resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thMath resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thDeepak Kumar
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set ArchitectureJaffer Haadi
 
Puertaslogicasysistemascombinacionales 110228082200-phpapp01
Puertaslogicasysistemascombinacionales 110228082200-phpapp01Puertaslogicasysistemascombinacionales 110228082200-phpapp01
Puertaslogicasysistemascombinacionales 110228082200-phpapp01Cati Oliver
 

La actualidad más candente (20)

Multiplexación de Display 7 Segmentos
Multiplexación de Display 7 SegmentosMultiplexación de Display 7 Segmentos
Multiplexación de Display 7 Segmentos
 
Ac dc rectificadores
Ac dc rectificadoresAc dc rectificadores
Ac dc rectificadores
 
solucionari tecno industrial 2 batx
solucionari tecno industrial 2 batxsolucionari tecno industrial 2 batx
solucionari tecno industrial 2 batx
 
4 correntaltern
4 correntaltern4 correntaltern
4 correntaltern
 
Secuenciador de un motor de pasos
Secuenciador de un motor de pasosSecuenciador de un motor de pasos
Secuenciador de un motor de pasos
 
Cache memory
Cache memoryCache memory
Cache memory
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandez
 
Tema 9. memorias semiconductoras
Tema 9. memorias semiconductorasTema 9. memorias semiconductoras
Tema 9. memorias semiconductoras
 
50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol50824079 datasheet-pic18f4550-espanol
50824079 datasheet-pic18f4550-espanol
 
Estructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractosEstructuras de datos y tipos de datos abstractos
Estructuras de datos y tipos de datos abstractos
 
Memory intrface and addrs modes
Memory intrface and addrs modesMemory intrface and addrs modes
Memory intrface and addrs modes
 
B sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuitB sc cs i bo-de u-iv sequential circuit
B sc cs i bo-de u-iv sequential circuit
 
Flip flop
Flip flopFlip flop
Flip flop
 
SeñAles Y Sistemas1
SeñAles Y Sistemas1SeñAles Y Sistemas1
SeñAles Y Sistemas1
 
8051,chapter1,architecture and peripherals
8051,chapter1,architecture and peripherals8051,chapter1,architecture and peripherals
8051,chapter1,architecture and peripherals
 
Math resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12thMath resources trigonometric_formulas class 11th and 12th
Math resources trigonometric_formulas class 11th and 12th
 
Demultiplexores
DemultiplexoresDemultiplexores
Demultiplexores
 
Sistemas digitales (primer informe)
Sistemas digitales (primer informe)Sistemas digitales (primer informe)
Sistemas digitales (primer informe)
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set Architecture
 
Puertaslogicasysistemascombinacionales 110228082200-phpapp01
Puertaslogicasysistemascombinacionales 110228082200-phpapp01Puertaslogicasysistemascombinacionales 110228082200-phpapp01
Puertaslogicasysistemascombinacionales 110228082200-phpapp01
 

Similar a Etc2 0304 memorias (20)

Etc2 0304 memorias
Etc2 0304 memoriasEtc2 0304 memorias
Etc2 0304 memorias
 
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptxUNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
UNIDAD III-MEMORIA SEMICONDUCTORAS.pptx
 
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptxU02  -  Capítulo 4 EXPOSICIÓN teorica (1).pptx
U02 - Capítulo 4 EXPOSICIÓN teorica (1).pptx
 
Memoria
MemoriaMemoria
Memoria
 
Ec5
Ec5Ec5
Ec5
 
Cap4 memorias
Cap4 memoriasCap4 memorias
Cap4 memorias
 
Memorias
MemoriasMemorias
Memorias
 
Arquitectura de Computadorasv
Arquitectura de ComputadorasvArquitectura de Computadorasv
Arquitectura de Computadorasv
 
Memoria ram
Memoria ramMemoria ram
Memoria ram
 
Memoria ram y rom modificada
Memoria ram y rom modificadaMemoria ram y rom modificada
Memoria ram y rom modificada
 
Memoria ram ::: http://leymebamba.com
Memoria ram  ::: http://leymebamba.comMemoria ram  ::: http://leymebamba.com
Memoria ram ::: http://leymebamba.com
 
Memorias
MemoriasMemorias
Memorias
 
U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)U2S2: Memoria Principal (RAM)
U2S2: Memoria Principal (RAM)
 
Memorias
MemoriasMemorias
Memorias
 
La memoria
La memoriaLa memoria
La memoria
 
Sm parte 1
Sm parte 1Sm parte 1
Sm parte 1
 
La memoria del pc
La memoria del pcLa memoria del pc
La memoria del pc
 
Memorias
MemoriasMemorias
Memorias
 
Grupo 4
Grupo 4Grupo 4
Grupo 4
 
Estructura de lcomputador grupo 4
Estructura de lcomputador grupo 4Estructura de lcomputador grupo 4
Estructura de lcomputador grupo 4
 

Último

Leyes de Kirchhoff ejercciosdddddddddddddddddddddddddddddddddddddddd
Leyes de Kirchhoff ejercciosddddddddddddddddddddddddddddddddddddddddLeyes de Kirchhoff ejercciosdddddddddddddddddddddddddddddddddddddddd
Leyes de Kirchhoff ejercciosddddddddddddddddddddddddddddddddddddddddLeonardoMedrano7
 
Ergonomía en Oficinas- Ergonomía en Oficina.pptx
Ergonomía en Oficinas- Ergonomía en Oficina.pptxErgonomía en Oficinas- Ergonomía en Oficina.pptx
Ergonomía en Oficinas- Ergonomía en Oficina.pptxmolinabdiego93
 
lollllllllllllllllllllllllllllllllllllllllllllllll
lolllllllllllllllllllllllllllllllllllllllllllllllllollllllllllllllllllllllllllllllllllllllllllllllll
lollllllllllllllllllllllllllllllllllllllllllllllllJesusFlores332
 
Manual Volkswagen gol voyage 2015(1).pdf
Manual Volkswagen gol voyage 2015(1).pdfManual Volkswagen gol voyage 2015(1).pdf
Manual Volkswagen gol voyage 2015(1).pdfAlbisRosMartnez
 
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docxkattiagonzalesrengif
 
Inyección electrónica, Diagnostico por imagenes.pdf
Inyección electrónica, Diagnostico por imagenes.pdfInyección electrónica, Diagnostico por imagenes.pdf
Inyección electrónica, Diagnostico por imagenes.pdfmiltonantonioescamil
 
Manual de Camioneta Toyota doble traccion 20023
Manual de Camioneta Toyota doble traccion 20023Manual de Camioneta Toyota doble traccion 20023
Manual de Camioneta Toyota doble traccion 20023danyercatari1
 

Último (7)

Leyes de Kirchhoff ejercciosdddddddddddddddddddddddddddddddddddddddd
Leyes de Kirchhoff ejercciosddddddddddddddddddddddddddddddddddddddddLeyes de Kirchhoff ejercciosdddddddddddddddddddddddddddddddddddddddd
Leyes de Kirchhoff ejercciosdddddddddddddddddddddddddddddddddddddddd
 
Ergonomía en Oficinas- Ergonomía en Oficina.pptx
Ergonomía en Oficinas- Ergonomía en Oficina.pptxErgonomía en Oficinas- Ergonomía en Oficina.pptx
Ergonomía en Oficinas- Ergonomía en Oficina.pptx
 
lollllllllllllllllllllllllllllllllllllllllllllllll
lolllllllllllllllllllllllllllllllllllllllllllllllllollllllllllllllllllllllllllllllllllllllllllllllll
lollllllllllllllllllllllllllllllllllllllllllllllll
 
Manual Volkswagen gol voyage 2015(1).pdf
Manual Volkswagen gol voyage 2015(1).pdfManual Volkswagen gol voyage 2015(1).pdf
Manual Volkswagen gol voyage 2015(1).pdf
 
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx
715422705-PROGRAMACION-ANUAL-CCSS-1-2024.docx
 
Inyección electrónica, Diagnostico por imagenes.pdf
Inyección electrónica, Diagnostico por imagenes.pdfInyección electrónica, Diagnostico por imagenes.pdf
Inyección electrónica, Diagnostico por imagenes.pdf
 
Manual de Camioneta Toyota doble traccion 20023
Manual de Camioneta Toyota doble traccion 20023Manual de Camioneta Toyota doble traccion 20023
Manual de Camioneta Toyota doble traccion 20023
 

Etc2 0304 memorias

  • 1. Memorias: Definiciones y características (1) • Un memoria es un dispositivo físico capaz de almacenar información. • Existen una gran variedad de parámetros que permiten caracterizar o clasificar una memoria: - Naturaleza física del almacenamiento: * Semiconductor (Ej. RAM, ROM, FlashROM, StickMemory, ...) * Magnético (Ej. Unidades de cinta o disco) * Óptico (Ej. Unidades DVD, CDROM) - Modo de Acceso a la Información: * Secuencial: Para acceder a un byte se requieren leer o escribir en las posiciones previas. (Ej. Unidad de cinta, FIFO) * Aleatorio: Se puede acceder a cualquier byte sin condición de acceder a bytes previos (Ej. RAM, ROM, DVD, Discos magnéticos).
  • 2. Memorias: Definiciones y características (2) - 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.
  • 3. Memorias: Jerarquías Caché Memoria principal o primaria Memoria secundaria o masiva DISCO MAGNÉTICO DISCO ÓPTICO UNIDADES DE CINTA OTROS DRAM ROM FLASH NVRAM SRAM REGISTROS CAPACIDAD CRECIENTE COSTE CRECIENTE Microprocesador
  • 4. Memorias: Memorias semiconductoras:Organización(1) • La unidad mínima de almacenamiento es el bit y la estructura física que lo soporta se denomina celda básica. • La memoria organiza las celdas por filas y columnas (estructura matricial). • Existen varias formas de acceder la celdas (o grupos de ellas): decodificación por filas y decodificación por filas y columnas. • Decodificación por filas: CELDA BÁSICA N BUS DE DIRECCIONES DECODIFICADOR BUFFERS BUS DE DATOS M
  • 5. Memorias: Memorias semiconductoras:Organización(2) • Decodificación por filas y columnas.: DECODIFICADOR BUSDEDIRECCIONES[N] N/2N BUFFERS MUX (si lectura)/DEMUX (si escritura) N/2 CELDA BÁSICA BUS DE DATOS M M MM M
  • 6. Memorias: Memorias semiconductoras: ROM (1) • Son memorias de sólo lectura. • No pierden la información aunque se interrumpa la alimentación. • Tipos: ROM, PROM (OTP ROM), EPROM, EEPROM (FLASH) • Las memorias ROM se programan en fábrica y no es posible modificar su contenido • Las memorias PROM contienen una matriz de fusibles que es programable por el usuario una sola vez. • Las EPROM permiten su reprogramación después de someter al chip a un proceso de borrado por radiación ultravioleta. • Las EEPROM permiten su reprogramación eléctrica. Las FLASH EEPROM son más rápidas por permitir borrado y escritura por bloques aunque tienen el inconveniente del desgaste (10.000- 90.000 borrados).
  • 7. Memorias: Memorias semiconductoras: ROM (2) • Ejemplo: Memoria EPROM • Señales de control: #OE (habilitador salida), #CE (habilitador chip)
  • 8. Memorias: Memorias semiconductoras: ROM (3) • Proceso de lectura: - Establecer dirección - Habilitar chip y salidas Tiempo de acceso
  • 9. Memorias: Memorias semiconductoras: RAM (1) • Son memorias de lectura y escritura. • Tipos: SRAM y DRAM. • Características de la SRAM: - Celda básica basada en un biestable (6 transistores) - Rápidas (-> Caché) - La información no se pierde mientras exista alimentación
  • 10. Memorias: Memorias semiconductoras: RAM (2) • Ejemplo de SRAM • Señales de control (#CS, Habilitador de chip; #WE, Lectura/Escritura; #OE, Habilitador de salida) Establecer la dirección Poner #WE a 1 lógico Habilitar salidas y chip Proceso de lectura
  • 11. Memorias: Memorias semiconductoras: RAM (3) • RAM DINÁMICA (DRAM) - celda básica: 1 transistor + condensador - Necesita refresco. - Requiere lógica externa compleja. - Mayor densidad que SRAM -> mayor capacidad - Menor velocidad de acceso
  • 12. Memorias: Memorias semiconductoras: RAM (4) Establecer la FILA (primera mitad de la dirección) Validar FILA (#RAS) Establecer la COLUMNA (segunda mitad de la dirección) Validar COLUMNA (#CAS) Poner #WE a 1 lógico Habilitar salidas y chip Proceso de lectura (ver secuencia de pasos en el cronograma) TIEMPO DE LATENCIA Tiempo de pulso de la señal RAS Tiempo de mantenimiento de columna Tiempo de establecimiento de columna • Ejemplo de DRAM: • Señales de control: #RAS, (Habilitador de fila), #CAS, (Habilitador de columna), #CS, #WE y #OE.
  • 13. Memorias: Memorias semiconductoras: RAM (5) • La reducción del tiempo de latencia es imprescindible para mejorar la velocidad de las DRAM. - FPM (Fast Page Mode)/EDO (Extended Data Output) DRAM. Agiliza los accesos a los bits de una misma fila (página). Dentro de una página sólo es necesario identificar la columna. - El tiempo de acceso a n datos de una página es Trac*n en DRAM y Trac+(n- 1)*Tpc en FPM/EDO RAM (Tpc = tiempo de ciclo en modo pagina). Tpc es menor en EDO DRAM que en FPM DRAM. - Ejemplo: Si n=8, Trac=60ns y Tpc=25ns -> Tacceso DRAM = 480ns, Tacceso FPM/EDO DRAM = 235ns
  • 14. Memorias: Memorias semiconductoras: RAM (6) • Los microprocesadores tienden a buscar bytes en posiciones consecutivas de la memoria y, si disponen de caché, además, en ráfagas. (Ej. Caché L2 de un Pentium busca bloques de 32 bytes). • Las SDRAM (DRAM síncronas) incorporan una señal de reloj que establece la base de tiempos para el modo paginado y un contador interno que genera las direcciones de columna para cada ciclo de reloj. • El tiempo de acceso para n palabras (de m bits) es Trac+(n-1)Tclk. • Ejemplo: Una SDRAM PC-100Mhz, tiene Tclk = 10ns, si Trac=60ns y n=8, entonces Tacceso SDRAM = 130ns. Tclk Trac
  • 15. 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
  • 16. Memorias: Mapas de memoria: Generalidades MICROPROCESADOR • Todo microprocesador dispone de un bus de direcciones (AB), bus de datos (DB) y bus de control (CB) para gestionar el flujo de información entre la memoria y el propio procesador • Desde el punto de vista del microprocesador, la memoria está organizada en una “ristra” de bytes en la que cada uno ocupa una dirección concreta dentro de la “ristra”. AB CB DB MEMORIA PRINCIPAL Dato (p) Dato (p-1) Dato (p+1) DIRECCIÓN P-1 P P+1
  • 17. Memorias: Mapas de memoria: Organización • El valor que el microprocesador sitúa en el AB en un momento determinado se denomina dirección física (DF). • Cada byte almacenado en la memoria se distingue de cualquier otro porque ocupa o tiene asignado una dirección lógica (DL). El microprocesador trabaja con direcciones lógicas. • El conjunto de todas las posibles direcciones lógicas determina el espacio de direccionamiento. • El tamaño del espacio de direccionamiento y su organización dependen del número de líneas de los buses AB y DB: - Un bus AB con n líneas identifica 2n direcciones físicas diferentes. - Un DB con mx8 líneas (m=1, 2, 4, 8...) asigna m direcciones lógicas a una dirección física. - Espacio de direccionamiento = 2n x m
  • 18. Memorias: Mapas de memoria: Organización:Ejs: (1) • Ejemplo 1: Microprocesador con 16 líneas en bus de direcciones y 8 líneas en el bus de datos (n=16 y m=1). - Existen 216 = 65536 direcciones físicas. - Cada dirección física tiene asignada una lógica (m=1) y por cada dirección lógica existe un byte. - Espacio de direccionamiento es de 64Kbytes Dirección física (16bits) Byte 0 Memoria principalMicroprocesador AB[15:0] DB[7:0] 110....11101 Byte 2 Byte 3 Byte 65534 Byte 65535 16 $0000 $0001 $0002 $0003 $FFFF $FFFE 216=64K Direcciones Lógicas y físicas Byte 1110....11101 CB[..] Dirección lógica (16bits) AB 8 DB
  • 19. Memorias: Mapas de memoria: Organización:Ejs: (2) • Ejemplo 2: Microprocesador con 15 líneas en bus de direcciones y 16 líneas en el bus de datos (n=15 y m=2). - Existen 215 =32768 direcciones físicas. - Cada dirección física tiene asignada dos lógicas (m=2) y por cada dirección lógica existe un byte. - Espacio de direccionamiento es de 64Kbytes (físicamente org. 32Kwords) Dirección física (15bits) Byte 0 Microprocesador AB[15:1] DB[15:0] 110....11101 Byte 4 Byte 6 Byte 65532 Byte 65534 16 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 2110....1110 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE[1,0] CB[..] 2 Dirección lógica (16bits) AB 15 DB Memoria principal
  • 20. Memorias: Mapas de memoria: Organización:Ejs: (3) • Ejemplo 1: Microprocesador con 14 líneas en bus de direcciones y 32 líneas en el bus de datos (n=14 y m=4). -Existen 214 =16384 direcciones físicas. -Cada dirección física tiene asignada cuatro lógicas (m=4) y por cada dirección lógica existe un byte. -Espacio de direccionamiento es de 64Kbytes (físicamente 16Klong words) Dirección física (14bits) Byte 0 AB[15:2] DB[31:0] 110....11101 14 $0000 $0001 $0002 $3FFF $3FFE 110....111 LWord 0 BE[3:0] 4 Byte 1 Byte 2 Byte 3 Byte 4 LWord 0Byte 5 Byte 6 Byte 7 Byte 8 LWord 0Byte 9 Byte 10 Byte 11 Byte 65528 LWord 16382Byte 65529 Byte 65530 Byte 65531 Byte 65532 LWord 16383Byte 65533 Byte 65534 Byte 65535 CB[..] Dirección lógica (16bits) 32 Microprocesador Memoria principal
  • 21. Memorias: Mapas de memoria: Conexión lectura • Para LEER, el microprocesador activa la señal R/#W que posee el BUS de CONTROL. Esta señal llega hasta todos los chips de memoria. • Si el tamaño del bus de datos es de 8 bits, sólo se podrá leer un byte por cada acceso a memoria. • Para el siguiente ejemplo: dirección física = dirección lógica. Microprocesador Memoria principal $01 AB[15:0] DB[7:0] $A0 $BC $15 $32 $10 $FF $45 $66 $0000 $0001 $1200 $1201 $1202 $1203 $1204 $FFFE $FFFF $BC CB[..] R/#W 1 $1202
  • 22. 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 Byte 0 DB[15:8] AB[15:1] DB[15:0] 00...00 0111 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0=1 BE1=1 DB[7:0] R/#W Byte 0 DB[15:8] AB[15:1] DB[15:0] 00...00 0111 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0 BE0=1 BE1=1 DB[7:0] Byte 0 DB[15:8] AB[15:1] DB[15:0] 00...00 0111 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE1 CB[..] BE0=1 BE1=1 DB[7:0] 1 0 Dirección lógica (16bits) Dirección física (15bits)Dirección física (15bits)Dirección física (15bits) Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
  • 23. 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. LECTURA DE BYTE EN DIRECCIÓN PAR Byte 0 DB[15:8] AB[15:1] DB[15:0] 00...00 0110 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0=1 BE1=1 DB[7:0] R/#W Byte 0 DB[15:8] AB[15:1] DB[15:0] Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0 BE0=1 BE1=1 DB[7:0] Byte 0 DB[15:8] AB[15:1] DB[15:0] Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE1 CB[..] BE0=1 BE1=1 DB[7:0] 0 1 Dirección lógica (16bits) Dirección física (15bits)Dirección física (15bits)Dirección física (15bits) Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
  • 24. 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. LECTURA DE PALABRA (siempre direcciones pares) Byte 0 DB[15:8] AB[15:1] DB[15:0] 00...00 0110 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0=1 BE1=1 DB[7:0] R/#W Byte 0 DB[15:8] AB[15:1] DB[15:0] Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0 BE0=1 BE1=1 DB[7:0] Byte 0 DB[15:8] AB[15:1] DB[15:0] Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0011 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE1 CB[..] BE0=1 BE1=1 DB[7:0] 1 1 Dirección lógica (16bits) Dirección física (15bits)Dirección física (15bits)Dirección física (15bits) Microprocesador Memoria principalMemoria principalMicroprocesador Memoria principalMicroprocesador
  • 25. 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. Microprocesador Memoria principal $01 AB[15:0] DB[7:0] $A0 $BC $15 $32 $10 $FF $45 $66 $0000 $0001 $1200 $1201 $1202 $1203 $1204 $FFFE $FFFF $BC CB[..] R/#W 0 $1202
  • 26. 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. Dirección física (15bits) Byte 0 DB[15:8] [15:1] DB[15:0] 00...00 0101 Byte 4 Byte 6 Byte 65532 Byte 65534 15 $0000 $0001 $0002 $0003 $7FFF $7FFE Byte 200...0010 Byte 1 Byte 5 Byte 7 Byte 65533 Byte 65535 Byte 3 Word 0 Word 1 Word 2 Word 3 Word 32766 Word 32767 BE0=1 BE1=1 DB[7:0] R/#W BE0 BE1 CB[..] 1 0 $AB Dirección lógica (16bits) Microprocesador Memoria principal
  • 27. Memorias: Mapas de memoria (1) CHIP1 RAM CHIP2 RAM CHIP6 ROM CHIP3 ROM CHIP4 RAM CHIP5 RAM ESPACIO DE MEMORIA LIBRE • El espacio de direccionamiento lógico identifica la máxima capacidad de memoria con la que puede trabajar un microprocesador (CM). • La capacidad física (CF) o real de la memoria viene dada por la suma de las capacidades de todos los chips de memoria que la forman. (CF<CM). • 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 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: -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 accede a ningún chip de memoria y la DL4 a un chip de ROM. • Los mapas de memorias son representaciones gráficas que representan los rangos de direcciones lógicas que tienen asignados cada uno de los chips que constituyen la memoria física. CAPACIDAD FÍSICA DL1 DL2 DL3 DL4 DL5 DL6 ESPACIO DE DIRECCIONAMIENTO
  • 28. 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. ROM 4Kx8 RAM 8Kx8 AB[15:12] SISTEMA DE DECODIFICACIÓN $1 $02A CHIP1 ROM CHIP2 RAM ESPACIO DE MEMORIA LIBRE CS1 $0000 uP AB[15:0] DB[7:0] $102A 64K 12 13 CS2 $0FFF AB[11:0] $1000 Dirección lógica $102A $2FFF AB[12:0] $102A
  • 29. Memorias: Mapas de memoria (3) A15=0 A15=1 A14=0 $0000 $7FFF A14=1 $3FFF $4000 A14=0 $8000 $FFFF A14=1 $BFFF $C000 A13=0 A13=1 $0000 $1FFF $2000 $3FFF A13=0 A13=1 $4000 $5FFF $6000 $7FFF A13=0 A13=1 $8000 $9FFF $A000 $BFFF A13=0 A13=1 $C000 $DFFF $E000 $FFFF A13=0 A13=0A13=0 A13=0A13=0 A13=0A13=0 A12=0 $0FFF $0000 A12=1 A12=0 $1000 $1FFF $2000 $2FFF A12=1 A12=0 A12=1 A12=0 A12=1 $0000 • Los chips de memoria reciben los bits menos significativos del AB, en cambio, el sistema de decodificación utiliza los más significativos, en concreto, los bits del AB que no se llevan hasta los buses de dirección de los chips de memoria. • Para determinar el sistema de decodificación, se puede proceder dividiendo el espacio de direcciona- miento en diferentes regiones según las líneas MSB del AB. • Para la ROM de 4K y RAM de 8K, del ejemplo anterior se tiene: $7FFF $8000 CS1 = A15’ A14’ A13’ A12’ CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ $FFFF 32K 16K ROM 4K RAM 8K8K 4K
  • 30. Memorias: Mapas de memoria (4) • El sistema de decodificación estará formado por los subsistemas combinacionales y puertas lógicas necesarias que permitan la activación de los CSx de los chips de memoria. Además, para las ROMs, se deberá prohibir el acceso a escritura de las mismas. uP AB[15:0] DB[7:0] CB[..] ROM 4Kx8 CS RAM 8Kx8 CS2 DEC 4:16 0 1 2 . . 15 &CS1 CS1 = A15’ A14’ A13’ A12’ (sólo si el acceso es de lectura, ya que es una ROM) CS2 = A15’ A14’ A13’ A12 + A15’ A14’ A13 A12’ AB[11:0] AB[12:0] >1 R/#W AB[15:12] R/#W
  • 31. Memorias: Mapas de memoria: Ejemplo 1 (1) A15=0 $0000 $7FFF A15=1 $8000 $FFFF A14=0 $0000 $7FFF A14=1 $3FFF $4000 A14=0 $8000 $FFFF A14=1 $BFFF $C000 A13=0 A13=1 A13=0 A13=1 $C000 $DFFF $E000 $FFFF A13=0A13=0 A13=0A13=0 R0M 16K RAM1 8K RAM2 8K • Se dispone de un microprocesador con 16 bits en su AB y 8 en su DB y de 2 chips de 8Kx8 de RAM y uno de 16Kx8 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 se subdivide, a partir de los bits MSB del AB, en regiones más pequeñas hasta que se alcancen las capacidades de los chips de memoria. -Se determinan las expresiones de los CSx de los dispositivos en función de los bits del AB que delimitan la región del espacio de direccionamiento donde se sitúa el contenido del chip de memoria: CSrom = A15’ A14’ CSram1 = A15 A14 A13 ; CSram2 = A15 A14 A13’ 32K 16K 8K RAM 8K R0M 16K
  • 32. Memorias: Mapas de memoria: Ejemplo 1 (2) uP AB[15:0] DB[7:0] CB[..] ROM 16Kx8 CS CSrom RAM1 8Kx8 DEC 3:8 0 1 . . 6 7 AB[12:0] & - Se implementa el sistema de decodificación usando los bits MSB del AB para activar los CSx - El bus de direcciones de los chips se conectan a los bits LSB del AB del microprocesador - El bus de datos de los chips se conectan al del microprocesador. AB[13:0] RAM 2 8Kx8 AB[12:0] R/#W CSram2 AB[15:13] R/#W R/#WCSram1 >1
  • 33. Memorias: Mapas de memoria: Ejemplo 2 (1) A19=0 $00000 $7FFFF A19=1 $80000 $FFFFF A18=0 $00000 $7FFFF A14=1 $3FFFF $00000 A18=0 A18=1 A13=0 A17=1 A13=0A17=0 R0M 128K RAM1 8K RAM1 64K $1FFFF $20000 $3FFFF RAM2 64K $20000 $2FFFF $30000 $3FFFF A16=0 A16=1 1M byte Espacio de direccionamiento • Se dispone de un microprocesador con 20 bits en su AB y 8 en su DB y de 2 chips de 64kx8 de RAM y uno de 128kx8 de ROM. Se desea que las posiciones de memoria más bajas estén ocupadas por ROM y, a continuación, se sitúa la memoria RAM. Diseñar el sistema de decodificación suponiendo que los CS de los chips son activos en bajo. - El espacio de direccionamiento es de 1M. -Las ecuaciones de los CS son: CSrom = A19+A18+A17 CSram1 = A19+A18+A17’+A16 CSram2 = A19+A18+A17’+A16’ 512K 256K 128K ROM 128K RAM 64K
  • 34. Memorias: Mapas de memoria: Ejemplo 2 (2) uP AB[19:0] DB[7:0] CB[..] ROM 128Kx8 CS CSrom RAM2 64Kx8 DEC 4:16 0 1 2 3 .. 15 AB[15:0] >1 - Se implementa el sistema de decodificación usando los bits MSB del AB para activar los CSx - El bus de direcciones de los chips se conectan a los bits LSB del AB del microprocesador - El bus de datos de los chips se conectan al del microprocesador. AB[16:0] RAM1 64Kx8 CSram1 R/#W AB[19:16] R/#W AB[15:0] R/#W CSram2 &
  • 35. 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). & uP AB[15:1] DB[15:0] CB DECODIFICACIÓN BE0 BE1 ROM 8Kx8 CSrom1 ROM 8Kx8 CSrom2 DB[7:0] DB[15:8] AB[13:1] AB[13:1] & ACCESO ROM (CS1)
  • 36. Memorias: Mapas de memoria: Ejemplo 3 (2) A15=0 A15=1 A14=0 $0000 $7FFF A14=1 $3FFF $4000 A14=0 $8000 $FFFF A14=1 $BFFF $C000 A13=0 A13=1 $C000 $DFFF $E000 $FFFF A13=0A13=0 ROM 16K RAM 8K RAM 8K • Se representa el espacio de direccionamiento • Los dos chips de ROM de 8K se consideran como uno de 16K que se sitúa en la parte inferior del espacio de direccionamiento. • 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 altas. • Cada una de las regiones ocupadas se etiqueta con CSx (x=1,2,3). • Se obtienen las expresiones lógicas de dichas etiquetas: CS1 = A15’ A14’ CS2 = A15 A14 A13’ CS3 = A15 A14 A13 $0000 CS1 64K $7FFF $8000 CS2 CS3 $FFFF
  • 37. Memorias: Mapas de memoria: Ejemplo 3 (3) uP AB[15:1] DB[15:0] CB BE0 BE1 R/#W ROM 8Kx8 AB[13:1] CS ROM 8Kx8 CS DB[7:0] DB[15:8] AB[13:1] & & RAM 4Kx8 CS AB[12:1] & R/#WBE0 RAM 4Kx8 AB[12:1] & CS R/#W RAM 4Kx8 & CS R/#W DB[7:0] DB[15:8] AB[12:1] RAM 4Kx8 & CS R/#W DB[7:0] DB[15:8] AB[12:1] BE1 CS3 CS3 • Las líneas MSB del AB se conectan al DEC 3:8 para generar CS1, CS2 y CS3. • Atendiendo a BE0, BE1, y CSx, se obtienen los CS de los chips de memoria • El bus de datos de los chips que se habilitan con BE0 se conecta a DB[7:0] y los que se habilitan con BE1 al DB[15:8]. BE0 BE1 CS2 CS2 BE0 CS1 R/#W BE1 CS1 R/#W DEC 3:8 0 1 . 6 7 >1 CS1 AB[15:13] CS2 CS3