Download Memoria

Document related concepts
no text concepts found
Transcript
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
NOTA: Salvo que se indique lo contrario, el mapa de memoria es de 64Kbytes.
Problema 1.- 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
D
E
0 C
1
&
1
2
3
ROM
13
D0 - D7
A12 - A0
D0 - D7
A12 - A0
RAM
13
8
8
Problema 2.- Determine el mapa de memoria correspondiente al circuito de la figura.
A11 - A0
ROM1
12
0
0
A13
A12
0
A15
1
A14
0
D
E
C
8
1
1 D
E
0 C
1
2
&
3
&
2
A10 - A0
ROM2
3
11
8
0
A13
A11
1 D
E
0
C
1
2
3
A10 - A0
ROM3
11
8
D0 - D7
Pág. 1
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 3.- 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. ¿Qué dirección hay que poner en el BUS de direcciones para leer
la posición $4680 de la RAM en cada caso?.
A14⊕Α13
A15,A13- A0
15
A0
D0 - D 7
RAM
A15 - A1
15
8
(a)
A15A14A13 + A15 A14 A13
A14 - A0
D0 - D7
RAM
8
15
D0 - D 7
RAM
8
(c)
(b)
Problema 4.- 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
A15
2
A14
1
A12
0
A13 - A0
0
1
2
DEC
&
3
4
5
6
7
14
A13, A11 - A0
13
A13, A11 - A0
13
Pág. 2
M1
16K
M2
8K
M3
8K
D0 - D7
8
D0 - D7
8
D0 - D7
8
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 5.- Utilizando circuitos de memoria de 8K*8, realice una asociación de 32K a partir de la
posición $6000.
Problema 6.- 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.
Problema 7.- 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.
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.
Problema 8.- En una memoria LIFO de fondo 6 se va a realizar la siguiente secuencia de operaciones:
3 PUSH, 1 NOP1, 1 PULL, 2 PUSH, 2 NOP, 1 PULL, 1 PUSH.
La memoria está vacía en el instante inicial. La anchura de la memoria es de 8 bits. Por su bus
de entrada vienen caracteres ASCII con paridad par, concretamente, los valores durante las sucesivas
operaciones de escritura son: N, E, G, I, C, B.
a) Muestre el contenido de la LIFO al realizar la secuencia de operaciones.
b) Supuesta vacía la LIFO y siguiendo un proceso de 2 operaciones de escritura y 1 de lectura
(después otras 2 de escritura y 1 de lectura, ...), indique la secuencia de entradas a la LIFO para que
en la pila esté escrita la palabra FINAL en algún momento.
Problema 9.- 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-0 = $8000.
A13
0
A15
A12
CS
&
3
A15,A12,A10 - A0
1
1
2
0
2
1 MUX 4:1
DEC 2:4
3
0
1
0
A14 A11
1. NOP: no operación.
Pág. 3
RAM
13
8
8K×8
D0 - D7
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 10.- 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
A14
A13
A12
0
1
2
2
3
1
4
5
0
6
DEC3:8 7
CLK
&
A11
A10
a3 CS d3
a2
d2
a1
d1
d0
a0
ROM(24×4)
CONTADOR
MOD-4
q2
q1
$
[$]
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
2
F
B
F
D
E
B
0
1
2
3
A
B
F
C
Problema 11.- Utilizando memorias 4K×4, diseñe un circuito de decodificación que permita situar 16
Kbytes a partir de la posición $1000.
Problema 12.-Un sistema basado en el microprocesador R65C02, dispondrá de 3 RAM de 8K×8 y
una EPROM de 8K×8. Diseñe el circuito de decodificación correspondiente.
Problema 13.-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.
Problema 14.-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.
Problema 15.-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 dispone de chips de 8K×8 y 4K×4.
Problema 16.- 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 memorias RAM de 4K×4?
d) Indique los cambios que habría que hacer si el bus de datos fuera de 4 bits.
Pág. 4
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 17.-Diseñe una memoria tipo LIFO de 8 bits de anchura y un fondo de 6 en los siguientes
casos:
a) Con registros de carga en paralelo.
b) Con registros de desplazamiento.
Problema 18.-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.
Problema 19.-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.
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
Problema 20.-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
AB 16
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 cronogra-
Pág. 5
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
ma).
→ 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
X1
Z1
X2
Z2
X3
q1
D
q
D
q
X4
q0
X5
Z3
Z4
CLK
Pág. 6
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 21.-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 así, a qué posición se accede:
$9071
$0123
$4444
$FOCA.
$FFFF
M1
8K
8K
M2
8K
8K
M3
16K
16K
$0000
Problema 22.-El esquema de la figura corresponde a una pila de fondo 4 y tamaño de palabra 8 y
consiste en un circuito secuencial y 8 registros de desplazamiento.
I7-0
PUSH
POP
SHR
CIRCUITO
SECUENCIAL
SHL
REGISTROS
ERROR
Z7-0
a) Describa a nivel RT los registros y realice la conexión adecuada entre los 8 registros y el circuito secuencial, indicando cuáles son las salidas y entradas de datos de la pila.
b) Realice el diagrama de estados correspondiente al circuito secuencial de Mealy, sabiendo que
la salida ERROR se activará en los siguientes casos:
- Si la pila está vacía e intentamos leer.
- Si la pila está llena e intentamos escribir.
- Si intentamos leer y escribir a la vez en la pila.
En caso de error la pila se dejará exactamente como estaba antes.
c) Diseñe el circuito correspondiente al diagrama de estados anterior utilizando únicamente un
contador y una ROM.
Problema 23.-- La figura representa un puntero de pila (Stack Pointer, SP) de 16 bits con sólo 8 líneas
de salida.
RH
RL
I
D
SP[16]
8
Ck
Z[8]
E F
Opera de la siguiente forma:
- Cuando I = 1 incrementará su contenido y cuando D = 1 lo decrementará. No hay cambios si
I = D = 0 y el usuario tendrá prohibido activar I = D = 1.
- Los 8 bits más significativos saldrán por las salidas Z cuando RH = 1 y los 8 bits menos significativos cuando RL = 1. Si ninguna entrada (RH o RL) está activa, las salidas Z mostrarán alta impedancia. Estará prohibido activar RH = RL = 1.
a) Describa a nivel RT el comportamiento de SP.
b) Diseñe SP con biestables T, puertas y “buffers” de tres estados.
Pág. 7
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
c) Reforme el diseño realizado en “b)” para prevenir operaciones incorrectas de incremento o decremento. Concretando, cuando SP está vacío ([SP] = 0), por una parte, se activará la señal de vacío
(Empty, E) y , por otra, el registro inhibirá la orden de decrementar; esto es, si D = 1 cuando [SP] = 0,
SP continuará a 0. En el otro caso, cuando está lleno se activará la señal de lleno (Full, F) y se inhibirá
la orden de incrementar.
Problema 24.-La figura muestra un diagrama de bloques de la memoria principal de un microprocesador de 16 líneas de dirección y 8 de datos. El bloque “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
AS
DTACK
DISPOSITIVOS
DE
MEMORIA
CIRCUITO
SECUENCIAL
Y DE
DECODIFICACIÓN
CLK
DB
8
El funcionamiento del sistema para acceder a una palabra de memoria es el siguiente:
Ì El microprocesador coloca en R/W el valor adecuado y en el bus AB una dirección sincronizada
con el flanco de subida de la señal de reloj y, para validarla, activa la señal AS durante un ciclo de reloj.
Esta dirección se mantiene hasta que se reciba un pulso de un ciclo de reloj por la señal DTACK, después del cual el microprocesador podrá poner una nueva dirección (ver cronograma).
Por su parte el circuito secuencial y de decodificación debe:
Ì Activar de forma adecuada los Chip Select (CS, activos en alta) de cada chip de memoria.
Ì Generar la señal DTACK, que le indica al microprocesador que ya ha realizado la operación
con la memoria. Esta señal DTACK se va a activar en ciclos de reloj distintos dependiendo de si el microprocesador quiere acceder a la ROM o a la RAM y, en este caso, si el acceso es de lectura o de
escritura. En concreto:
- Cuando accede en lectura a la RAM, se activa la señal DTACK en el ciclo siguiente al que se
activó AS (ver cronograma) y, si es en escritura, otro ciclo más después.
- Cuando accede a la ROM, la señal de DTACK se activa tres ciclos de reloj después de aquél
en el que se activó AS (ver cronograma).
ciclos de CLK
R/W=1, AB
RAM
ROM
AS
DTACK
a) Diseñe el circuito de decodificación de forma que las RAMs estén en las posiciones más bajas
y en las más altas.
b) Muestre la carta ASM de la parte secuencial.
c) Indique qué hay que hacer para leer la palabra 67(10 de la ROM.
d) Indique qué operación se realiza si AB = $FF50 cuando R/W y AS se ponen a 0.
Pág. 8
(1o INGENIERÍA INFORMÁTICA)
ESTRUCTURA DE COMPUTADORES
BOLETÍN EC1 (07/08)
MEMORIAS
Problema 25.-Se desea transferir ordenadamente el contenido de las memorias M2 y M3 a la memoria M1 (ver figura). Se dispone de la instrucción
TRANSFIERE ($ Fuente, $ Destino )
la cual transfiere un bloque de 2kpalabras consecutivas desde la dirección fuente hacia la destino.
Justifique y escriba el programa necesario. (El sistema interpreta y ejecuta esta instrucción)
0
A15
2
A14
1
A12
0
A13 - A0
7
6
5
DEC
&
4
3
2
1
0
14
A13, A11 - A0
13
A13, A11 - A0
13
Pág. 9
M1
16K
M2
8K
M3
8K
D0 - D7
8
D0 - D7
8
D0 - D7
8