Está en la página 1de 37

UNH

Ing. Electrónica
CIRCUITOS DIGITALES II

Direccionamiento de memorias
Semana 6 (Sesión 11,12)
Profesor: Dr. Javier Camilo Poma Palacios
Pampas - 2023
UNH
Ing. Electrónica
DISEÑO DE HARDWARE
INTERFACE CON LA MEMORIA
Cualquier sistema basado en microprocesador sea sencillo o complejo tiene un banco de
memoria:
1. Memoria de solo lectura (ROM): contiene programas y datos permanentes (PROM, EPROM,
EEPROM, NOVRAM, FLASH).

Conexión a Memoria tipo ROM

Axx – A0 Dyy – D0
ROM
Bus de direcciones Bus de datos

CS: selección de chip o habilitación de chip. CS OE


Controlados
OE: habilitación de salida de chip. por el uP

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
DISEÑO DE HARDWARE
INTERFACE CON LA MEMORIA
Cualquier sistema basado en microprocesador sea sencillo o complejo tiene un banco de
memoria:
2. Memoria de lectura/escritura (RAM): contiene datos temporales y programas de aplicación
(SRAM, DRAM).
Conexión a Memoria tipo SRAM

AXX – A0
Bus de direcciones SRAM DYY – D0
Bus de Datos
CS
OE
R W
CS: selección de chip o habilitación de chip.
Controlados
OE: habilitación de salida de chip. por el uP
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
DISEÑO DE HARDWARE
INTERFACE CON LA MEMORIA
Cualquier sistema basado en microprocesador sea sencillo o complejo tiene un banco de
memoria:
2. Memoria de lectura/escritura (DRAM): contiene datos temporales y programas de
aplicación.

Conexión a Memoria tipo DRAM


AXX – A0

Bus de direcciones DYY – D0


DRAM
Bus de Datos
CS
W/ R
CS: selección de chip o habilitación de chip. CAS RAS
OE: habilitación de salida de chip.
CAS: refresco de chip columna. Controlados
RAS: refresco de chip fila. por el uP
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MAPEO DE DIRECCIONES
Aplicación de los sistemas combinacionales. Se divide en mapeo de memorias y
mapeo de puertos de E/S.

1.Mapeo de memoria: Se utiliza para determinar que direcciones de memoria


ocupa una memoria tipo ROM o RAM.
Se realiza a través de la decodificación de direcciones, para este caso se
entiende por decodificación de direcciones al hardware que selecciona una
sola memoria (un solo CS ) de entre muchas utilizando 8, 16 o todas las líneas
ഥ , RD, WR y otras líneas
de direcciones (Axx – A0), las líneas de control IO/M
propias del uP.

Decodificación de direcciones
Es el hardware necesario que se utiliza para determinar que direcciones son utilizadas
dentro de un mapa de memoria o mapa de Puertos de E/S; a través del denominado
(CS o /CS o #CS).
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MAPEO DE DIRECCIONES
2.Mapeo de puertos de entrada/salida: La decodificación de las
direcciones para los puertos de E/S es muy similar a la realizada
para la memoria. En general para los puertos de E/S aislada se
utilizan las primeras 16 direcciones y en ocasiones solo se utilizan
ഥ , RD, WR
las primeras 8 líneas de direcciones, y las líneas de IO/M
y otras líneas propias del uP.
Puertos E/S aislados: Aquí las localidades de los puertos de E/S
están aisladas de la memoria del sistema, en un espacio separado.
Puertos de E/S mapeado en memoria: No se utilizan las
instrucciones IN, INS, OUT, OUTS, se puede utilizar cualquier
instrucción que transfiere datos entre el uP y la memoria.
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica MAPEO DE MEMORIA
CAPACIDAD DIRECCIONES RANGO
16 A3 – A0 0000F ... 00000 2⁴
32 A4 – A0 0001F … 00000 2⁵
64 A5 – A0 0003F … 00000 2⁶
128 A6 – A0 0007F … 00000 2⁷
256 A7 – A0 000FF … 00000 2⁸
512 A8 – A0 001FF … 00000 2⁹
1K A9 – A0 003FF … 00000 2¹⁰
2K A10 – A0 007FF … 00000 2¹¹
4K A11 – A0 00FFF … 00000 2¹²
8Ki A12 – A0 01FFF … 00000 2¹³
16K A13 – A0 03FFF … 00000 2¹⁴
32K A14 – A0 07FFF … 00000 2¹⁵
64K A15 – A0 0FFFF … 00000 2¹⁶
128K A16 – A0 1FFFF … 00000 2¹⁷
256K A17 – A0 3FFFF … 00000 2¹⁸
512K A18 – A0 7FFFF … 00000 2¹⁹
1M A19 – A0 FFFFF … 00000 2²⁰
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica MAPEO DE MEMORIA
Ejercicio 1:
U2 U3
A0 20 21 D0 A0 10 11 D0
A0 DQ0 A0 D0
A1 19 22 D1 A1 9 12 D1
A1 DQ1 A1 D1
A2 18 23 D2 A2 8 13 D2
A2 DQ2 A2 D2
A3 17 25 D3 A3 7 15 D3

Para el sistema
A3 DQ3 A3 D3
A4 16 26 D4 A4 6 16 D4
A4 DQ4 A4 D4
A5 15
A5 DQ5
27 D5 A5 5
A5 D5
17 D5 RP1
A6 14 28 D6 A6 4 18 D6 27Kx8
A6 DQ6 A6 D6

basado en el
A7 13 29 D7 A7 3 19 D7
U1 A7 DQ7 A7 D7
A8 3 A8 25
A8 A8
Z80 CPU A9 2 A9 24
A9 A9
A10 31 A10 21
A10 A10

microprocesador

9
8
7
6
5
4
3
2

1
27 30 A0 A11 1 A11 23
M1 A0 A11 A11
31 A1 A12 12 A12 2 U4
A1 A12 A12
MREQ 19 32 A2 A13 4 A13 26
MREQ A2 A13 A13 74LS541
IORQ 20 33 A3 5 1

8051 determine su
IORQ A3 A14 A14
RD 21 34 A4 11 D0 18 2 1
RD A4 A15 Q0 D0
WR 22 35 A5 10 RAM_CS 20 D1 17 3 2
WR A5 A16 CE Q1 D1
36 A6 6 WR 27 D2 16 4 3
A6 A17 WE Q2 D2
28 37 A7 9 RD 22 D3 15 5 4

mapa de memoria
RFSH A7 NC OE Q3 D3
38 A8 D4 14 6 5
A8 Q4 D4
18 39 A9 RD 32 62256 D5 13 7 6
HALT A9 OE Q5 D5
40 A10 7 D6 12 8 7
A10 WE Q6 D6

y el rango de
24 1 A11 ROM_CS 30 D7 11 9 8
WAIT A11 CE Q7 D7
2 A12
A12 J3
16 3 A13 SST39SF020 1
INT A13 OE1
17 4 A14 19
NMI A14 OE2 PUERTO C

direcciones de los
5 A15
A15
26
RESET
14 D0
D0
25 15 D1
BUSRQ D1

puertos de E/S.
23 12 D2
BUSAK D2
8 D3
D3

D7
D6
D5
D4
D3
D2
D1
D0

D7
D6
D5
D4
D3
D2
D1
D0
CLK 6 7 D4
CLK D4
9 D5
U7:A
D5
10 D6
D6 74LS139
13 D7
D7

18
17
14
13

18
17
14
13
11

11
A0 2 4

8
7
4
3

8
7
4
3
A Y0
A1 3 5

9
8
7
6
5
4
3
2

1
B Y1
6

D7
D6
D5
D4
D3
D2
D1
D0

D7
D6
D5
D4
D3
D2
D1
D0
CLK
OE

CLK
OE
Y2
IORQ 1 7
E Y3

RP2 A14 14 12 ROM_CS

Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0

Q7
Q6
Q5
Q4
Q3
Q2
Q1
Q0
A Y0
27Kx8 A15 13
B Y1
11 RAM_CS
10
Y2 U6 U5

19
16
15
12
9
6
5
2

19
16
15
12
9
6
5
2
MREQ 15 9
E Y3
74LS374 74LS374

8
7
6
5
4
3
2
1

8
7
6
5
4
3
2
1
U7:B
74LS139 J1 J2
PUERTO A PUERTO B

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
DIRECCIONAMIENTO DE MEMORIA

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
ESPACIO DE DIRECCIONES

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
MEMORIAS
Selección lineal
Sistemas pequeños, cuando sobran líneas del bus de direcciones
 Se necesitan tantas líneas de selección como chips de memoria
contenga el banco de memoria.

Selección decodificada
Sistemas grandes
 Se basa en decodificar las líneas de dirección para la selección
 Reduce la cantidad de líneas de dirección del banco final
 Permite el aprovechamiento integral del bus de direcciones

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
Ejemplo de selección LINEAL
MEMORIAS
Un banco de memoria esta formado por 5 ROMs de 1 K x 8 bits y una SRAM de 512 x 8 bits. Se presenta lo
siguiente:
 Para direccionar la SRAM se
requieren 9 bits
 Para direccionar las ROM se
requieren 10 bits
 Para seleccionar (método lineal)
se requieren 6 bits (1 por cada CI)
 Se requiere un total de 16 líneas
de dirección (LD)

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
Mapa de memoria MEMORIAS

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
Mapa de memoria (Continuación) MEMORIAS

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Diferencia entre MB y MiB
El mebibyte (símbolo MiB) es una unidad de información utilizada como
El megabit (Mbit o Mb) es una unidad de medida de un múltiplo del byte. Equivale a 220 bytes.
información muy utilizada en las transmisiones de datos El mebibyte está estrechamente relacionado con el megabyte (MB).
de forma telemática. Equivale a 106 bits. Mebibyte y megabyte no son sinónimos pero suelen usarse
incorrectamente como si lo fueran, puesto que tienen valores diferentes:
1 mebibyte = 1 048 576 B = 220 bytes.
1 megabyte = 1 000 000 B = 106 bytes.
Múltiplos de bits Múltiplos de bytes
Prefijo del SI (SI) Prefijo binario (IEC 60027-2) Sistema Internacional (decimal) ISO/IEC 80000-13 (binario)
Nombre Símbolo Múltiplo Nombre Símbolo Múltiplo Múltiplo (símbolo) SI Múltiplo (símbolo) ISO/IEC

Kilobit kbit 3 Kibibit Kibit 10 Kilobyte (kB) 10


3 Kibibyte (KiB) 2
10
10 2
Megabit Mbit 6 Mebibit Mibit 20 Megabyte (MB) 6 Mebibyte (MiB) 20
10 2 10 2
Gigabit Gbit 9 Gibibit Gibit 30 Gigabyte (GB) 9 Gibibyte (GiB) 30
10 2 10 2
Terabit Tbit 12 Tebibit Tibit 40 Terabyte (TB) 12 Tebibyte (TiB) 40
10 2 10 2
Petabit Pbit 15 Pebibit Pibit 50 Petabyte (PB) 15 Pebibyte (PiB) 50
10 2 10 2
Exabit Ebit 10
18 Exbibit Eibit 2
60
Exabyte (EB) 18 Exbibyte (EiB) 60
10 2
Zettabit Zbit 21 Zebibit Zibit 70
10 2 Zettabyte (ZB) 21 Zebibyte (ZiB) 70
10 2
Yottabit Ybit 24 Yobibit Yibit 80 24 80
10 2 Yottabyte (YB) 10 Yobibyte (YiB) 2

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
MEMORIAS
Ejemplo de selección DECODIFICADA

Caso similar al anterior con direccionamiento


de 8 bloques de 1Ki x 8bits (8kibit) usando
un decoder.
 Para direccionar las RAM y ROM se
requieren 10 bits.
 Para seleccionar el decoder se requieren 3
bits (para los 8 CS ).
1 15
2
3
A
B
Y0
Y1
14
13
 Se requiere un total de 13 líneas de
C Y2
Y3
Y4
12
11
dirección (LD)
6
4
E1
E2
Y5
Y6
10
9  Se puede agregar un bit extra la línea 14
5 7
E3 Y7
(A13), para habilitar el decoder.
74LS138
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
MÉTODOS DE SELECCIÓN DE LAS
Mapa de memoria MEMORIAS

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
AUMENTO DE LA CAPACIDAD

En el aumento de capacidad de las memorias (banco de memoria), se presentan


los siguientes casos:

1. Expansión de la longitud de la palabra dato.


Ejemplo: banco de 2K x 32b con memorias de 2K x 8b.

2. Expansión de la capacidad de almacenamiento.


Ejemplo: banco de 16K x 16b con memorias de 1K x 16b.

3. Expansión de la capacidad y la longitud de la palabra.


Ejemplo: banco de 32K x 16b con memorias de 4K x 8b.

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de la longitud de la palabra dato
Arquitectura genérica
Las líneas de direcciones entran en paralelo a
todas las memorias. Las líneas de control #CS y
R/W están conectadas en paralelo a cada
memoria.

Nota: las líneas de control


pueden variar según cada tipo
de memoria

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de la capacidad de
almacenamiento
Arquitectura genérica
Las nuevas líneas de dirección permiten la
operación de cada una de las memorias
actuando sobre el /CS.

Nota: las líneas de control


dependen del tipo de
memoria

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de la capacidad de
almacenamiento
Ejemplo
Banco RAM de 4K x 8 con memorias de 1K x 8 (selección lineal)

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de la capacidad de
almacenamiento

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de la longitud de la palabra dato
Mapa de memoria

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica Expansión de la capacidad de
Ejemplo: Banco RAM de 4Kx8 con memorias de 1Kx8bits almacenamiento
(selección decodificada). Nuevas líneas de dirección: m - n = 2 (A11, A10)

2 4
A Y0
3 5
B Y1
6
Y2
1 7
E Y3

74LS139

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica Expansión de la capacidad de
Mapa de memoria almacenamiento

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica Expansión de longitud de dato y de la
capacidad total
Ejemplo: banco RAM de 4K x 8 con memorias de 1K x 4

 Para uma memoria de 1Ki x 8bits, se requiere 2 memorias de 1Kx 4 (para


ampliar el ancho del bus de datos)
 Capacidad inicial N = 1K = 1024
n = 10 bits (A0…A9)
 Capacidad final M = 4K = 4096 (para ampliar capacidad)
m = 12 bits (A0…A11)
 Cantidad de memorias
X = M / N = 4 memorias

 Nuevas líneas de dirección (mínimo): 12 - 10 = 2 (A11, A10)


 Finalmente se requiere 8 memorias de 1K x 4 par formar 4K x 8
CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de longitud de dato y de la
Esquema del circuito capacidad total

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios
UNH
Ing. Electrónica
Expansión de longitud de dato y de la
Mapa de memoria capacidad total

CIRCUITOS DIGITALES II
Profesor: Dr. Javier Camilo Poma Palacios

También podría gustarte