Está en la página 1de 8

Diseo de mapas de memoria

DISEO DE BLOQUES DE MEMORIA


La ampliacin de componentes es una caracterstica del diseo y en el caso de las memorias tiene dos objetivos:
Incrementar el tamao de las palabras.
Incrementar el nmero de palabras de memoria.

Un sistema basado en microprocesador tiene una capacidad de direccionamiento y anchura de palabra en


funcin de las caractersticas del microprocesador de acuerdo al bus de direcciones y del de datos
respectivamente. Siendo el bus de control, especfico al microprocesador. De esta manera, la capacidad del
sistema depende de:

Direccionamiento del sistema 2n siendo n el n de bits del bus de direcciones del P


Ancho de palabra m siendo m el n de bits del bus de datos del P

Bus de control depende del P, siendo las seales tpicas para la memoria la de lectura ( R ) y la de
escritura (W)

Procedimiento para el diseo de un mapa de memoria de un sistema


basado en microprocesador:
1. Detallar las necesidades del sistema en cuanto a direccionamiento, anchura de palabra y tipo de
memoria a utilizar (RAM/ROM).
2. Determinar los circuitos integrados de que se dispone, tanto en longitud como en anchura de palabras y
definir los que se necesitan.
3. Construir el mapa de memoria.
4. Determinar el tamao de pgina y disear la tabla de direcciones y ocupacin de cada circuito integrado.
5. Determinar la circuitera auxiliar necesaria para el control del circuito.
6. Dibujar el circuito completo de la memoria.

Para analizar el procedimiento tomaremos como base el siguiente ejemplo:


Disear el mapa de memoria de un sistema basado en microprocesador para el 8085 de INTEL (A0..A15,
D0..D7), suponiendo que se necesitan 8K8 de memoria ROM, 4K8 de memoria RAM. Se disponen de
circuitos integrados ROM de 2K8 y circuitos integrados RAM de 2K8 y que la memoria est situada a partir
de la direccin $0 empezando por la ROM y colocando a continuacin la RAM.
1. Detallar las necesidades del sistema en cuanto a direccionamiento, anchura de palabra y tipo de
memoria a utilizar (RAM/ROM).

8K8 de memoria ROM


4K8 de memoria RAM
2. Determinar los circuitos integrados de que se dispone, tanto en longitud como en anchura de palabras y
definir los que se necesitan.

N _ bits _ necesitados 8 K 8
Circuitos integrados ROM ROM = = = 4 _ circuitos _ ROM
N _ bits _ por _ CI 2K 8
N _ bits _ necesitados 4 K 8
Circuitos integrados RAM RAM = = = 2 _ circuitos _ RAM
N _ bits _ por _ CI 2K 8
3. Construir el mapa de memoria.
IC0 (2K8) ROM
IC1 (2K8) ROM
IC2 (2K8) ROM
IC3 (2K8) ROM
IC4 (2K8) RAM
IC5 (2K8) RAM
Libre
Libre

Pgina 1
Diseo de mapas de memoria
4. Determinar el tamao de pgina y disear la tabla de direcciones y ocupacin de cada circuito integrado.
Determinaremos los bits del bus de direcciones en funcin del tamao total de la memoria:

8K _ ROM + 4 K _ RAM = 12 K

213 = 8192bytes
214 = 16384bytes bus de direcciones A0..A13
2 = 16384bytes
14

bus de datos D0..D7

El tamao de pgina en este caso ser de 2K ya que todos los circuitos integrados son de 2K

211 = 2048bytes A0..A10


Bits de seleccin de pgina A11 A13 A11, A12, A13 2 = 8 pginas de las
3

cuales las 6 primeras se usan por los circuitos integrados y las dos ltimas quedan libres.

Tabla de direcciones

Selec. Pgina
Dir hexadec. Cir. Integrado
Agrup hexadecim.
A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 $0000
IC0
0 0 0 1 1 1 1 1 1 1 1 1 1 1 $07FF
0 0 1 0 0 0 0 0 0 0 0 0 0 0 $0800
IC1
0 0 1 1 1 1 1 1 1 1 1 1 1 1 $0FFF
0 1 0 0 0 0 0 0 0 0 0 0 0 0 $1000
IC2
0 1 0 1 1 1 1 1 1 1 1 1 1 1 $17FF
0 1 1 0 0 0 0 0 0 0 0 0 0 0 $1800
IC3
0 1 1 1 1 1 1 1 1 1 1 1 1 1 $1FFF
1 0 0 0 0 0 0 0 0 0 0 0 0 0 $2000
IC4
1 0 0 1 1 1 1 1 1 1 1 1 1 1 $27FF
1 0 1 0 0 0 0 0 0 0 0 0 0 0 $2800
IC5
1 0 1 1 1 1 1 1 1 1 1 1 1 1 $2FFF

5. Determinar la circuitera auxiliar necesaria para el control del circuito.

Como se puede observar el nmero de pginas es de 6, pero el mnimo que podemos controlar es
de 8, es por lo que necesitaremos un decodificador de 3 a 8, de forma que las lneas del bus de
direcciones del sistema A11, A12 Y A13 se conectarn a las entradas I0, I1 e I2 respectivamente y
cada una de las salidas de O0 a O5 se conectarn a los Chip Select (CS) de cada los circuitos
integrados de IC0 a IC5.

Pgina 2
Diseo de mapas de memoria

6. Dibujar el circuito completo de la memoria.

MEMORIA DE 8Kx8 DE ROM Y 4Kx8 DE RAM

D[0..7]
U1 U3 IC0 IC1 IC2
36 12 D0 3 2 A0 A0 8 9 D0 A0 8 9 D0 A0 8 9 D0
RST-IN AD0 13 D1 4 D1 Q1 5 A1 A1 7 A0 O0 10 D1 A1 7 A0 O0 10 D1 A1 7 A0 O0 10 D1
1 AD1 14 D2 7 D2 Q2 6 A2 A2 6 A1 O1 11 D2 A2 6 A1 O1 11 D2 A2 6 A1 O1 11 D2
X1 AD2 15 D3 8 D3 Q3 9 A3 A3 5 A2 O2 13 D3 A3 5 A2 O2 13 D3 A3 5 A2 O2 13 D3
AD3 16 D4 13 D4 Q4 12 A4 A4 4 A3 O3 14 D4 A4 4 A3 O3 14 D4 A4 4 A3 O3 14 D4
2 AD4 17 D5 14 D5 Q5 15 A5 A5 3 A4 O4 15 D5 A5 3 A4 O4 15 D5 A5 3 A4 O4 15 D5
X2 AD5 18 D6 17 D6 Q6 16 A6 A6 2 A5 O5 16 D6 A6 2 A5 O5 16 D6 A6 2 A5 O5 16 D6
5 AD6 19 D7 18 D7 Q7 19 A7 A7 1 A6 O6 17 D7 A7 1 A6 O6 17 D7 A7 1 A6 O6 17 D7
6 SID AD7 21 A8 D8 Q8 A8 23 A7 O7 A8 23 A7 O7 A8 23 A7 O7
TRAP A8 22 A9 11 A9 22 A8 A9 22 A8 A9 22 A8
9 A9 23 A10 1 CLK A10 19 A9 A10 19 A9 A10 19 A9
8 RST 5.5 A10 24 A11 CLR A10 A10 A10
7 RST 6.5 A11 25 A12 74ABT273 18 ROM 18 ROM 18 ROM
RST 7.5 A12 26 A13 20 C\E\ 20 C\E\ 20 C\E\
10 A13 27 A14 21 O\E\ 21 O\E\ 21 O\E\
INTR A14 28 A15 VPP VPP VPP
.
11 A15
INTA 30
29 ALE 31
S0 W\R\ 32
33 R\D\ 34
S1 IO/M\ 3
39 RST-OT 37
HOLD CLKO 4
35 SOD 38
READY HLDA
8085
IC3 IC3 IC4 IC5
A0 8 9 D0 A0 8 9 D0 A0 8 9 D0
A1 7 A0 O0 10 A1 7 A0 O0 10 A1 7 A0 O0 10
D1 D1 D1
A2 6 A1 O1 11 A2 6 A1 O1 11 A2 6 A1 O1 11
D2 D2 D2
A3 5 A2 O2 13 A3 5 A2 O2 13 A3 5 A2 O2 13
U4 D3 D3 D3
1 15 A4 4 A3 O3 14 A4 4 A3 O3 14 A4 4 A3 O3 14
A11 A Y0 D4 D4 D4
2 14 A5 3 A4 O4 15 A5 3 A4 O4 15 A5 3 A4 O4 15
A12 B Y1 D5 D5 D5
3 13 A6 2 A5 O5 16 A6 2 A5 O5 16 A6 2 A5 O5 16
A13 C Y2 D6 D6 D6
12 A7 1 A6 O6 17 A7 1 A6 O6 17 A7 1 A6 O6 17
Y3 D7 D7 D7
11 A8 23 A7 O7 A8 23 A7 O7 A8 23 A7 O7
6 Y4 10 A9 22 A8 A9 22 A8 A9 22 A8
. 4 G1 Y5 9 A10 19 A9 A10 19 A9 A10 19 A9
5 G2A Y6 7 A10 A10 A10
G2B Y7 18 ROM 18 RAM 18 RAM
20 C\E\ 20 C\E\ 20 C\E\
74F138
21 O\E\ 21 21
R/W\ R/W\
VPP

A[0..15]

Pgina 3
Diseo de mapas de memoria
Disear el mapa de memoria de un sistema basado en microprocesador para el 8085 de INTEL (A0..A15,
D0..D7), suponiendo que se necesitan 8K8 de memoria ROM, 1K8 de memoria RAM y 2 entrada/salida de
8 bits en el bus de direcciones. Se disponen de circuitos integrados ROM de 8K1, circuitos integrados RAM
de 1K4 y de las correspondientes entrada/salida y que la memoria est situada a partir de la direccin $0
empezando por la ROM, colocando a continuacin la RAM y por litimo las entradas/salidas
1. Detallar las necesidades del sistema en cuanto a direccionamiento, anchura de palabra y tipo de
memoria a utilizar (RAM/ROM).

8K8 de memoria ROM


1K8 de memoria RAM
2 entrada/salida
2. Determinar los circuitos integrados de que se dispone, tanto en longitud como en anchura de palabras y
definir los que se necesitan.

Circuitos integrados ROM N _ bits _ necesitados 8K 8


ROM = = = 8 _ circuitos _ ROM
N _ bits _ por _ CI 8K 1
Circuitos integrados RAM RAM = N _ bits _ necesitados = 1K 8 = 2 _ circuitos _ RAM
N _ bits _ por _ CI 1K 4
3. Construir el mapa de memoria.
ICO
IC1
IC2
IC3
IC4
IC5
IC6
IC7
ROM (8K*8)

IC8 IC9 RAM (1K*8)


IC10 (E/S) (E/S)
IC11 (E/S) (E/S)

4. Determinar el tamao de pgina y disear la tabla de direcciones y ocupacin de cada circuito integrado.
Determinaremos los bits del bus de direcciones en funcin del tamao total de la memoria:

8 K _ ROM + 1K _ RAM + 2 K _ E / S = 11K


213 = 8192bytes
214 = 16384bytes bus de direcciones A0..A13
2 = 16384bytes
14

bus de datos D0..D7

El tamao de pgina en este caso ser de 1K ya que se puede elegir entre el tamao mayor (8K
, el menor 256Bytes (E/S) o el intermedio (RAM de 1K). La circuitera menos complicada y con
un aprovechamiento relativamente ptimo se consigue con el valor intermedio (1K).

210 = 1024bytes A0..A9


Bits de seleccin de pgina A10 A13 A10, A11, A12, A13 2 4 = 16 pginas de las
cuales las 11 primeras se usan por los circuitos integrados y las cinco ltimas quedan libres.

Pgina 4
Diseo de mapas de memoria
Tabla de direcciones

Selec. Pgina
Dir hexadec. Cir. Integrado
Agrup hexadecim.
A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 $0000
IC0 a IC7
0 1 1 1 1 1 1 1 1 1 1 1 1 1 $1FFF
1 0 0 0 0 0 0 0 0 0 0 0 0 0 $2000
IC8 + IC9
1 0 0 0 1 1 1 1 1 1 1 1 1 1 $23FF
1 0 0 1 X X 0 0 0 0 0 0 0 0 $2400
IC10
1 0 0 1 X X 1 1 1 1 1 1 1 1 $27FF
1 0 1 0 X X 0 0 0 0 0 0 0 0 $2800
IC11
1 0 1 0 X X 1 1 1 1 1 1 1 1 $2BFF

5. Determinar la circuitera auxiliar necesaria para el control del circuito.

Como se puede observar el nmero de pginas es de 11, pero el mnimo que podemos controlar
es de 16, es por lo que necesitaremos un decodificador de 4 a 16, de forma que las lneas del bus
de direcciones del sistema A10, A11, A12 Y A13 se conectarn a las entradas I0, I1, I2 e I3
respectivamente y cada una de las salidas de O0 a O12 se conectarn a los Chip Select (CS) de
cada los circuitos integrados de IC0 a IC11, teniendo en cuenta que como la ROM de 8Kx8 ocupa
8 pginas se debern conectar las 8 primeras salidas a una puerta AND que conectar su salida al
CS del integrado ROM.

Pgina 5
Diseo de mapas de memoria
6. Dibujar el circuito completo de la memoria.

MEMORIA DE 8Kx8 DE ROM, 1Kx8 DE RAM Y 2 E/S

D[0..7]
U1 U3 IC0 IC1 IC2 IC3
36 12 D0 3 2 A0 A010 11 D0 A010 11 D1 A010 11 D2 A0 10 11 D3
RST-IN AD0 13 D1 4 D1 Q1 5 A1 A1 9 A0 O0 A1 9 A0 O0 A1 9 A0 O0 A1 9 A0 O0
1 AD1 14 D2 7 D2 Q2 6 A2 A2 8 A1 A2 8 A1 A2 8 A1 A2 8 A1
X1 AD2 15 D3 8 D3 Q3 9 A3 A3 7 A2 A3 7 A2 A3 7 A2 A3 7 A2
AD3 16 D4 13 D4 Q4 12 A4 A4 6 A3 A4 6 A3 A4 6 A3 A4 6 A3
2 AD4 17 D5 14 D5 Q5 15 A5 A5 5 A4 A5 5 A4 A5 5 A4 A5 5 A4
X2 AD5 18 D6 17 D6 Q6 16 A6 A6 4 A5 A6 4 A5 A6 4 A5 A6 4 A5
5 AD6 19 D7 18 D7 Q7 19 A7 A7 3 A6 A7 3 A6 A7 3 A6 A7 3 A6
6 SID AD7 21 A8 D8 Q8 A825 A7 A825 A7 A825 A7 A8 25 A7
TRAP A8 22 A9 11 A924 A8 A924 A8 A924 A8 A9 24 A8
9 A9 23 A10 1 CLK A10 21 A9 A10 21 A9 A10 21 A9 A10 21 A9
RST 5.5 A10 A11 CLR A10 A10 A10 A10
8 24 A11 23 A11 23 A11 23 A11 23
RST 6.5 A11 A12 A11 A11 A11 A11
7 25 74ABT273 A12 2 A12 2 A12 2 A12 2
RST 7.5 A12 26 A13 A12 A12 A12 A12
10 A13 27 A14 20 20 20 20
INTR A14 28 A15 22 CE 22 CE 22 CE 22 CE
.
11 A15 OE OE OE OE
INTA 30
29 ALE 31 ROM 8K*1 ROM 8K*1 ROM 8K*1 ROM 8K*1
S0 W\R\ 32
33 R\D\ 34
S1 IO/M\ 3
39 RST-OT 37
HOLD CLKO 4
35 SOD 38
READY HLDA
8085 IC4 IC5 IC6 IC7
A010 11 D4 A010 11 D5 A0 10 11 D6 10 11 D7
1 A1 9 A0 O0 A1 9 A0 O0 A1 9 A0 O0 A1 9 A0 O0
U8 U9
2 11 2 A2 8 A1 A2 8 A1 A2 8 A1 A2 8 A1
A10
3 D1 S0 9 3 A3 7 A2 A3 7 A2 A3 7 A2 A3 7 A2
A11
21 D2 S1 10 4 A4 6 A3 A4 6 A3 A4 6 A3 A4 6 A3
A12
A13 22 D3 S2 8 8 A5 5 A4 A5 5 A4 A5 5 A4 A5 5 A4
D4 S3 7 5 4 A5 A6 4 A5 A6 4 A5 A6 4 A5
1 S4 6 6 A7 3 A6 A7 3 A6 A7 3 A6 A7 3 A6
23 ST S5 5 11 A825 A7 A825 A7 A8 25 A7 A825 A7
.
INH S6 4 12 A924 A8 A924 A8 A9 24 A8 A924 A8
S7 18 A10 21 A9 A10 21 A9 A10 21 A9 A1021 A9
5430
S8 17 A11 23 A10 A11 23 A10 A11 23 A10 A1123 A10
S9 20 A11 A11 A11 A11
A12 2 A12 2 A12 2 A12 2
S10 19 A12 A12 A12 A12
S11 14 20 20 20 20
S12 13 22 CE 22 CE 22 CE 22 CE
S13 16 OE OE OE OE
S14 15
S15
ROM 8K*1 ROM 8K*1 ROM 8K*1 ROM 8K*1
74HC4515

IC8 IC9 IC10 IC11


A0 8 9 D0 A0 8 9 D4 A0 8 9 D0 A0 8 9 D0
7 A0 O0 10 7 A0 O0 10 7 A0 O0 10 7 A0 O0 10
A1 D1 A1 D5 A1 D1 A1 D1
6 A1 O1 11 6 A1 O1 11 6 A1 O1 11 6 A1 O1 11
A2 D2 A2 D6 A2 D2 A2 D2
5 A2 O2 13 5 A2 O2 13 5 A2 O2 13 5 A2 O2 13
A3 D3 A3 D7 A3 D3 A3 D3
A4 4 A3 O3 A4 4 A3 O3 A4 4 A3 O3 14 D4 A4 4 A3 O3 14 D4
3 A4 3 A4 3 A4 O4 15 3 A4 O4 15
A5 A5 A5 D5 A5 D5
2 A5 2 A5 2 A5 O5 16 2 A5 O5 16
A6 A6 A6 D6 A6 D6
1 A6 1 A6 1 A6 O6 17 1 A6 O6 17
A7 A7 A7 D7 A7 D7
23 A7 23 A7 A7 O7 A7 O7
A8 A8
22 A8 22 A8
A9 A9 A9 A9

18 18 18 18
20 CE 20 CE 20 CE 20 CE
R/W R/W R/W R/W
RAM 1K*8 RAM 1K*8 8255
8255

A[0..15]

Pgina 6
Diseo de mapas de memoria

2.- Supngase una memoria RAM de 1024 palabras 16 bits/palabra construida empleando circuitos integrados de memoria RAM de 128
palabras 8 bits/palabra. A fin de permitir el direccionamiento de las palabras de la memoria, el bus de direcciones:
A) Tiene 10 lneas, 7 de ellas comunes a todos los mdulos.
B) Tiene 10 lneas, 3 de ellas comunes a todos los mdulos.
C) Tiene 10 lneas, todas ellas comunes a todos los mdulos.
D) Ninguna de las anteriores es verdadera.

1 semana
3.- Se considera un procesador que dispone de 12 lneas de direcciones A11-A0. Para la construccin de su unidad de memoria se dispone
de mdulos de 2K palabras, utilizndose la lnea A1 para la seleccin de cada mdulo (A0 es la lnea menos significativa). Indique cul de
las siguientes afirmaciones es verdadera:
A) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en el mismo mdulo de memoria.
B) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes mdulos de memoria.
C) El mdulo en que se encuentra almacenada una direccin de memoria queda determinado por el valor de A10.
D) Ninguna de las anteriores es verdadera.

7.- Se considera un procesador que dispone de 12 lneas de direcciones A11-A0. Para la construccin de su unidad de memoria se dispone
de mdulos de 1K palabras, utilizndose las lneas menos significativas (A1-A0) para la seleccin de cada mdulo. Indique cul de las
siguientes afirmaciones es verdadera:
A) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en el mismo mdulo de memoria.
B) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes mdulos de memoria.
C) El mdulo en que se encuentra almacenada una direccin de memoria queda determinado por el valor de
D) Ninguna de las anteriores es verdadera.

2.- Un computador con 13 lneas de direcciones tiene una memoria de 3211 palabras y utiliza entrada/salida localizada en memoria. Cul
es el nmero mximo de perifricos que pueden conectarse, suponiendo que cada uno de ellos utiliza 16 direcciones?

A) 211. B) 27 C) 2. D) Ninguna de las anteriores.

Junio del 2000 2 Semana


8.- Se considera un procesador que dispone de 12 lneas de direcciones A11-A0. Para la construccin de su unidad de memoria se dispone
de mdulos de 1K palabras, utilizndose las lneas ms significativas (A11-A10) para la seleccin de cada mdulo. En el mapa de
memoria, la direccin base (primera direccin de cada mdulo) en notacin hexadecimal de los sucesivos bloques de memoria es:
Solucin: $00 $400 $800 y $C00

Septiembre del 2003


6.- Se quiere disear una memoria para un computador que tiene una arquitectura basada en palabras de 16 bits y un bus de
direcciones de 20 lneas de manera que disponga de 500 Kpalabras de memoria RAM y 240 Kpalabras de memoria ROM. Sabiendo
que se disponen de mdulos de memoria RAM de 128 Kpalabras x 8 bits/palabra, 128 Kpalabras x 16 bits/palabra; y de mdulos de
memoria ROM de 128 Kpalabras x 8 bits/palabra, 128 Kpalabras x 16 bits/palabra,
I. Si es posible realizar el diseo que se solicita.
II. El menor nmero de mdulos necesarios para realizar el circuito con las especificaciones requeridas es 4 mdulos
RAM de 128 Kpalabras x 16 bits/palabra y 2 mdulos ROM de 128 Kpalabras x 16 bits/palabra.
A) I si, II si B) I: si, II no C) I no, II si D) I no, II no
Pgina 7
Diseo de mapas de memoria

Pgina 8

También podría gustarte