Download Práctico 4

Document related concepts
no text concepts found
Transcript
Arquitectura de Computadores 1
Práctico 4
Práctico 4
Tema: Memorias ROM (Diagramas de bloques, simulación y generación del contenido).
Ejercicio 1
Se dispone de memorias ROM de 8Kx8:
(a) fabricar una memoria ROM de 32Kx8.
(b) fabricar una memoria ROM de 16Kx16
Ejercicio 2
Se desea transformar caracteres ASCII, mediante una ROM, de forma tal que:
convierta letras mayúsculas en minúsculas.
convierta letras minúsculas en mayúsculas.
los demás caracteres permanezcan incambiados.
(a) Determinar el tamaño y la organización de la ROM especificando el significado
de sus entradas y salidas.
(b) Escribir en un lenguaje de alto nivel la rutina que genera el contenido de la
ROM.
Ejercicio 3
Se desea usar una ROM para implementar una función ROTACIÓN que tiene dos
variables de entradas: un byte destinado a ser girado en forma circular (cada bit se
corre al lugar siguiente y el ultimo al primero) y tres bits que indican el número de
veces que se desea girar. La función devuelve el byte con sus ocho bits girados una
cantidad de lugares entre 0 y 7 (según los tres bits).
(a) Definir las entradas, salidas, tamaño y organización de la ROM necesaria.
(b) Escribir un programa que genere el contenido de la ROM (para cada dirección
calcular su contenido). Para esto se debe emplear un lenguaje de alto nivel que
soporte la aritmética entera (de 16 bits por lo menos), las cuatro operaciones y
modulo.
Nota: no se disponen de otras operaciones sobre el tipo entero.
Ejercicio 4
Se quiere utilizar una ROM para convertir un numero de 32 bit representado como
punto fijo con 22 bits para la parte entera y 10 bit para la parte fraccionaria a la
representación en punto flotante formato IEEE de precisión simple (1 bit para el signo, 8
bits para el exponente, 23 bits para la mantisa). Dimensionar la ROM y escribir una
rutina en alto nivel que genere su contenido.
Ejercicio 5
En las impresoras llamadas de "matriz de punto" los caracteres se representan como
matrices de 8x8 puntos (según figura). La impresora imprime una columna de puntos
por vez. La descripción de cada carácter ASCII (extendido de 8 bits) a ser impreso se
almacena en una ROM.
Página 1 de 3
Arquitectura de Computadores 1
f
i
l
a
s
7
6
5
4
3
2
1
0
Práctico 4
?
?
?
?
?
?
?
? ? ? ? ? ? ?
?
?
?
?
?
?
0 1 2 3 4 5 6 7
c o l u mn a s
Se pide:
(a) Definir las entradas, salidas, tamaño y organización de la ROM necesaria.
(b) Como la construiría basándose en memorias ROM de 1Kx8
Ejercicio 6
Se considera un segmento de memoria de 1K bytes accesible usando las siguientes
funciones:
read(arg:out Byte; dir:in 0..1023)
write(arg:in Byte; dir:in 0..1023)
Se pide:
(a) Describir un algoritmo que permita verificar, completamente, si este segmento
de memoria funciona correctamente.
(b) Suponiendo que pueden darse los siguientes errores en la memoria:
- cuando se escribe la dirección x también se afecta la dirección x + 512
- si se almacenan más bits en 1 que en 0 se corrompen los datos de la
memoria
Es capaz el algoritmo descrito en (a) de detectar dichos errores.
En caso de que no lo sea escribir un nuevo algoritmo que los detecte
(c) Describir otros posibles errores que debieran ser detectados por el algoritmo
anterior.
(d) Mencionar porque la solución más general no es realizable.
Ejercicio 7
Se dispone de un PC con 256 KB. de memoria.
(a) Escribir un programa en alto nivel que genere TODOS los programas posibles,
ejecutables o no, (en lenguaje de maquina) para dicha computadora.
(b) Estimar la cantidad de programas.
(c) Estimar el tiempo de ejecución del programa generador, suponiendo que se
genera un programa cada menos de 1 microsegundo (1/1*2^20 s).
Ejercicio 8
Determine una forma de direccionar 2n palabras de memoria, usando menos de n bits
de direcciones.
Ejercicio 9 (Examen 03/02/2003)
Se dispone únicamente de una ROM 32K x 16 bits.
Se pide:
a) Construir una ROM 64K x 8 bits utilizando el chip del que se dispone y
compuertas lógicas (AND, OR, NOT).
Página 2 de 3
Arquitectura de Computadores 1
Práctico 4
b) Se utilizará la ROM para implementar un sumador simple (sin acarreo) de 8 bits.
Especificar con un diagrama la organización del chip (entradas, salidas,
esquema del contenido de la ROM).
c) Indicar el contenido que se debe cargar en la ROM para la dirección 1794h para
implementar el sumador de la parte (b).
Ejercicio 10 (Examen 17/02/2003)
Se desea transformar cualquier número en punto flotante de 16 bits (“media precisión”)
a punto flotante de 32 bits (“simple precisión”).
Se pide:
(a) Determinar organización y tamaño, especificando el significado de sus entradas y
salidas, de la ROM necesaria para realizar la transformación descrita.
(b) Indicar el contenido de la ROM anterior en las direcciones 08C3h y 803Bh.
(c) Suponiendo que se cuenta con compuertas lógicas y sumadores de n bits,
implementar un circuito combinatorio que transforme números en punto flotante de
16 bits normalizados al correspondiente en punto flotante de 32 bits.
Nota: Se recuerdan los siguientes datos del formato de punto flotante (tomado del
estándar IEEE 754)
Ejercicio 11 (Examen 15/03/2003)
Se dispone de 4 chips de ROM:
2 chips 2K x 4 bits
1 chip 4K x 8 bits
1 chip 1K x 16 bits
Se quiere implementar una única ROM de 8 bits de forma de maximizar su capacidad
de almacenamiento, utilizando solamente los 4 chips de que se dispone.
Se pide:
(a) Especificar entradas, salidas y tamaño en kilobytes de la ROM de 8 bits a
implementar.
(b) Dibujar el circuito completo incluyendo todas las entradas y salidas de la ROM.
Se dispone de buses, compuertas, multiplexores, buffers, decodificadores, etc.
Justifique la solución propuesta.
Página 3 de 3