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