Download Boletín 4

Document related concepts
no text concepts found
Transcript
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
BOLETIN 4: Memoria
Nota: En aquellos problemas donde no se indique lo contrario debe suponerse que el espacio de direccionamiento
es de 64K.
P1. Un sistema basado en un microprocesador dispone de 3 RAMs de 8K*8 y una EPROM de 8K*8. Diseñe el
circuito de decodificación correspondiente.
P2. Utilizando circuitos de memoria de 8K*8, realice una asociación de 32K a partir de la posición $6000.
P3. Utilizando memorias 4K*4, diseñe un circuito de decodificación que permita situar 16Kbytes a partir de la
posición $1000.
P4. Se desea diseñar un sistema microcomputador que tenga 64Kbytes de memoria, de los cuales, 40K sean
RAM y 16K ROM. Se dispone de chips de los siguientes tipos:
ROMs: 16K*4
RAMs: 16K*8
RAMs: 4K*8
Diseñe el circuito de decodificación necesario.
P5. El mapa de memoria de un microprocesador con bus de direcciones de 16 bits está ocupado por 8K ROM y
20K RAM. Diseñe el circuito de decodificación necesario si se dispone de chips de 8K*4 ROM, 16K*4
RAM y 4K*8 RAM.
P6. Utilizando circuitos de memoria 2K*4, realice una configuración 8K*8 que ocupe 8K posiciones a partir de
la 4096(10 en un mapa de memoria de 64K.
P7. Diseñe un circuito decodificador que permita situar 20Kbytes de RAM a partir de la dirección $5000 dentro
de un mapa de memoria de 64K. Para ello se disponen de chips de 8K*8 y 4K*4.
P8. Dibuje el mapa de memoria para el circuito de la figura, indicando, razonadamente, las posiciones ocupadas
por las memorias RAM y ROM.
A15
0
A14
A13
A15
D0 - D7
A12 - A0
13
Memoria
1 D 1
0 E 2
C
3
ROM
8
&
D 0 - D7
A12 - A0
13
RAM
8
21
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
P9.
Determine el mapa de memoria correspondiente al circuito de la figura.
A11 - A0
12
0
A13
A12
0
A15
A14
1 D 1
0 E 2
C
3
0
D
1
1
0 E 2
C
3
ROM1
8
&
&
A10 - A0
ROM2
11
8
0
A13
A11
1 D 1
0 E 2
C
3
A10 - A0
ROM3
11
8
D0 - D7
P10. En el mapa de memoria de un microcomputador de 16 líneas de dirección (A15/A0) se han ubicado una
memoria RAM de 8K en las primeras 8K posiciones de memoria y una memoria ROM de 8K en las últimas
8K posiciones de memoria. Se desea incluir una memoria RAM de 32K, para lo que se han propuesto los 3
diseños de la figura. Indique en qué medida es correcto cada uno de los diseños y, si es posible, determine
qué palabra de la RAM se direcciona cuando A15/A0= $ABCD (hexadecimal) en cada uno de los 3 casos.
¿Que dirección hay que poner en el BUS de direcciones para leer la posición $4680 de la RAM en cada caso?.
A14⊕Α13
RAM
(a)
8
15
A15A14A13 + A15A14A13
D0 - D 7
D0 - D7 A15 - A1
A15,A13- A0
15
A0
RAM
(b)
8
D0 - D 7
A14 - A0
15
RAM
8
(c)
P11. Determine el mapa de memoria del circuito de la figura. Indique, si es posible, qué palabras de la RAM se
direccionan cuando A15/A0 = $4ABC y A15/A0 = $8000.
22
Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
A13
&
0
A15
1
A12
0
D
E
C
CS
1
3
2
2
1
3
0
A15,A12 ,A10 - A0
MUX 4:1
1
13
RAM
8K*8
D0 - D7
8
0
A14 A11
P12. Se desea transferir el contenido de las memorias M2 y M3 a la memoria M1 (ver figura). Se dispone de una
instrucción:
TRANSFIERE ($ Nº de palabras, $Fuente, $Destino)
Dicha instrucción transfiere un bloque, cuyo número de palabras es el indicado, desde la dirección fuente
hacia la dirección destino; por ejemplo, para transferir 4K-palabras ($1000) que están escritas a partir de la
posición $2000 a posiciones de memoria que comiencen en $7000 se pondría:
TRANSFIERE ($1000, $2000, $7000).
(El sistema interpreta y ejecuta esta instrucción).
Escriba el programa necesario para el circuito de la figura.
0
A13 - A0
0
A15
2
A14
1
A12
0
&
14
M1
16K
D0 - D7
8
1
2
3
4
5
DEC
6
7
A13,A11 - A0
13
A13,A11 - A0
13
M2
8K
M3
8K
D0 - D7
8
D0 - D7
8
P13. Se dispone de 3 circuitos de memoria con entrada de selección activa en nivel bajo: dos son de 8K palabras
y el tercero de 32K. Estos circuitos van a estar direccionados por un procesador de 16 señales de direcciones
(A15/A0). Se requiere que los circuitos de 8K ocupen las direcciones menores y las mayores.
a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K palabras de dirección
sobrantes. Diseñe el circuito que realiza ese mapa.
Memoria
23
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
b) Indique el circuito de memoria y la posición en dicho circuito que se activa con cada una de las siguientes
direcciones ($A15/A0, en hexadecimal): $0123, $2345, $4567, $6789, $89AB, $ABCD, $CDEF y $EF01.
P14. Para el circuito de la figura, determine las distintas secuencias de salida, indicando las direcciones en que
ocurren cada una de ellas, dentro de un mapa de memoria de 64K.
$
[$]
A15
0
0
2
1
F
2
B
3
0
&
1
F
4
A14
2
2
D
5
3
E
6
A13
1
a3 CS d3
4
B
7
a2
d2
5
0
8
A11
a1
A12
d1
0
6
1
9
d0
A10 a0
DEC 7
2
A
3
B
q2
A
C
CONTADOR
B
D
CLK
MOD-4
q1
F
E
C
F
P15. Se dispone de RAMs de 8K*8 y de 4K*4. En una CPU de 16 líneas de dirección y 8 de datos:
a) Diseñe con puertas lógicas un banco de memoria de 28K palabras, a partir de la dirección $4000 del espacio de direcciones.
b) Indique la posición física correspondiente a las direcciones $4567 y $CAFE en el bus de direcciones.
c) ¿Qué dirección hay que poner en el bus de direcciones para leer la posición $0123 de una de las RAMs de
4K*4?
d) Indique los cambios que hay que hacer si el bus de datos fuera de 4 bits.
P16. Para un sistema con 16 líneas de dirección se necesitan 40K de memoria dejando libre el resto. Se dispone
de una RAM de 32K y otra de 8K, ambas con señal de selección de chip CS, de lectura/escritura R/W y buses
compartidos. La memoria resultante deberá tener señales de lectura R y de escritura W separadas y activas
en alta, sin selección de chip.
a) Diseñe el circuito
b) Qué palabras de memoria se corresponden con las direcciones lógicas siguientes: $FOCA, $4342,
$9CAD.
c) Cuál es la dirección lógica que hay que poner para acceder a la palabra $7531 de la RAM de 32K. Cuál
sería para la $0246 de la RAM de 8K.
P17. Se necesita un contador cuya secuencia sea (0, 6, 1, 7, 2, 4, 3, 5).
(a) Diséñelo usando biestables JK.
(b) Si el contador se conecta a una RAM de la forma indicada en la figura, rellene la tabla que se da suponiendo que el estado inicial de cuenta es el 0.
24
Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
D3-0
CONT
RAM inicial
$
[$]
0
1
2
3
4
5
0
0
q0 q1 q2
r/w
A1 RAM
A0
Z3-0
CK
D3-0
0
1
2
3
4
5
6
7
8
9
10
6
6
7
7
8
8
9
9
C
A
[$]
0123
4500
q2q1q0
Z3-0
000
4
P18. La figura muestra un diagrama de bloques de la memoria principal de un micropocesador de 16 líneas de
dirección. El bloque de “dispositivos de memoria” contiene 2 RAM‘s de 8kx8 y 1 ROM de 16kx8. El otro
bloque reúne al circuito de decodificación junto a un circuito secuencial.
MEMORIA PRINCIPAL
R/W
16 AB
MICROPROCESADOR
AD
READY
DISPOSITIVOS
DE
MEMORIA
CIRCUITO
SECUENCIAL
Y DE
DECODIFICACIÓN
CLK
DB
8
El funcionamiento del microprocesador para acceder a una palabra de memoria es el siguiente:
→ El microprocesador coloca en el bus AB una dirección sincronizada con el flanco de subida de la señal
de reloj. Esta dirección se mantiene hasta que se reciba un pulso de un ciclo de reloj por la señal READY,
después del cual el microprocesador podrá poner una nueva dirección (ver cronograma).
→ Para indicarle al “circuito secuencial y de decodificación” que se ha colocado una dirección nueva, el
microprocesador activa la señal AD durante un ciclo de reloj.
Por su parte el “circuito secuencial y de decodificación” debe operar del siguiente modo:
→ Activa de forma adecuada los Chip Select (CS, activos en alta) de cada uno de los chips de memoria.
→ Además, genera la señal de READY, que le indica al microprocesador que ya ha realizado la operación
con la memoria. Esta señal READY se va a activar en ciclos de reloj distintos dependiendo de si el microprocesador quiere acceder a la RAM o a la ROM. En concreto:
- Cuando accede a la RAM, se activa la señal de READY en el período siguiente al que se activó AD.
- Cuando accede a la ROM, la señal de READY se activa tres ciclos de reloj después de aquél en el que se
activó AD.
Diseñe el “circuito secuencial y de decodificación” utilizando la PAL secuencial de la figura
ciclos de CLK
AB bus
RAM
ROM
AD
READY
Memoria
25
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
X1
Z1
X2
Z2
X3
q1
D
q
D
q
X4
q0
X5
Z3
Z4
CLK
P19. En el mapa de la memoria de 64K de la figura, tenemos ya colocadas tres memorias, una de 16K (M3) y dos
de 8K (M1 y M2).
a) Obtenga el circuito decodificador necesario para cubrir totalmente el resto de este mapa de memoria sabiendo que se dispone de
un sólo chip de 8K (M4). Se dispone de decodificadores 2:4 con salidas activas en bajo y una entrada de habilitación también activa en
bajo, así como puertas AND de dos entradas.
b) Si las líneas de entrada al chip de 8K (M4) son A14, A11-A0,
indique en cada uno de los siguientes casos si se accede o no a M4
y si es asi inque a qué posición se accede:
$9071
$0123
$4444
$FOCA.
$FFFF
M1
8K
8K
M2
8K
8K
M3
16K
16K
$0000
P20. Se tiene un ordenador con procesador MC68000 conectado a seis pastillas de memoria RAM (RAM0,
RAM1, ...., RAM5) de 8Kx8 con señal de selección activa en bajo y cuyas funciones de selección se dan a
continuación:
RAM0: A23+A22+A21+A20+A19+A18+A17+A16+A15+A14+AS'+UDS'
RAM1: A23+A22+A21+A20+A19+A18+A17+A16+A15+A14+AS'+LDS'
RAM2: A23+A22+A21+A20+A19+A18+A17'+A16+A15+A14+AS'+UDS'
RAM3: A23+A22+A21+A20+A19+A18+A17'+A16+A15+A14+AS'+LDS'
RAM4: A23+A22+A21+A20'+A19+A18+A17+A16+A15+A14+AS'+UDS'
RAM5: A23+A22+A21+A20'+A19+A18+A17+A16+A15+A14+AS'+LDS'
26
Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas
a) Dibujar el mapa de memoria de este ordenador
b) A partir de la dirección de memoria $00020354 se tiene cargado el siguiente programa. Indicar a qué pastillas de memoria se accede al ejecutar cada una de las instrucciones del programa:
$020354
$020358
$02035E
$020360
$020366
MOVE.B #02,D0
MOVE.B $702,D1
ADD.W D0,D1
MOVE.W D1,$102FF0
................
P21. Cierta máquina dispone de un procesador MC68000. Por razones en las que no vamos a entrar, se desea que
disponga de 16 Kbytes de memoria a partir de la dirección $F800 situados en direcciones múltiplos de 4.
Para ello, se dispone de una pastilla de memoria de 16Kx8 con señal de selección activa en bajo. Indicar la
función de selección correspondiente a dicha pastilla realizando decodificación parcial.
P22. Se tiene un procesador con bus de direcciones de 16 bits (A15, A14, A13, ....,A1, A0) y bus de datos de 8
bits (D7, D6, ....., D1, D0) al que se desean conectar dos pastillas de memoria RAM. Una de las pastillas
(RAM1) es de 4Kx8 y cubrirá las direcciones $0000...$0FFF; la RAM2 es de 8Kx8 y cubrirá las direcciones
$E000...$FFFF. Ambas pastillas de memoria tienen entrada de selección activa en bajo. Escribir la función
de selección para las pastillas en los siguientes casos:
a) Utilizando lógica de decodificación total
b) Utilizando lógica de decodificación parcial
NOTA: Salvo que se indique lo contrario, para todos estos problemas supondremos un mapa de memoria de
64Kbytes.
Memoria
27