Ejercicios resueltos boletín de problemas 2011-2012 - EC
Short Description
Download Ejercicios resueltos boletín de problemas 2011-2012 - EC...
Description
BOLETÍN DE PROBLEMAS Nº 1 TEMA 1. INTRODUCCIÓN A LA ARQUITECTURA VON NEUMANN Ejercicio 1 Para un computador de longitud de palabra de 36 bits, diseñar los formatos de instrucción para que permitan construir un juego de instrucciones con: a) 7 instrucciones con dos direcciones de 15 bits y una dirección de 3 bits. b) 500 instrucciones con una dirección de 15 bits y una dirección de 3 bits. c) 50 instrucciones con cero direcciones. Ejercicio 2 Un computador tiene un formato de instrucción de 12 bits. Si se emplean 3 bits para identificar un registro que contiene la dirección de uno de los operandos o el propio operando, diseñar los formatos de instrucción necesarios para tener un juego con: a) 4 operaciones en un computador de tres direcciones. b) 255 operaciones en un computador de una dirección. c) 16 operaciones en un computador de cero direcciones. Ejercicio 3 Sabiendo que un computador tiene una longitud de palabra de 32 bits y que el repertorio de instrucciones tiene 16 instrucciones diferentes; si se supone que la instrucción de suma correspondiente a una operación diádica queda definida en una palabra de memoria, calcular la máxima memoria direccionable en los siguientes casos: a) Computador de una dirección. b) Computador de dos direcciones, con uno de los operandos en un registro del banco de registros (de ocho registros) y el otro en memoria principal. c) Computador de tres direcciones, con los operandos en memoria principal y el resultado se almacena en uno de los 16 registros de su banco de registros. d) Computador de dos direcciones con los dos operandos en memoria principal. Ejercicio 4 Sea un computador de una dirección del que se conocen las siguientes características: -
Repertorio de 200 instrucciones.
-
Memoria principal de 64Kpalabras.
-
Una instrucción es leída en un ciclo de lectura.
Se pide: a) Especificar el formato de instrucción del computador, el tamaño de palabra de memoria y realizar un posible esquema del computador. b) Detallar los pasos a seguir para realizar la suma de tres números almacenados en memoria, sabiendo que entre las instrucciones se encuentran: ADD (sumar al acumulador), LOAD (cargar en el acumulador) y STORE (guardar el contenido del acumulador). Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
1
Tema 1. Boletín de problemas
c) Repetir el problema suponiendo que una instrucción es leída en tres ciclos de lectura. Ejercicio 5 Repetir el problema anterior pero suponiendo que el computador es de cuatro direcciones. Ejercicio 6 Se desea realizar una comparación entre los computadores de una dirección y tres direcciones, suponiendo que en ambos casos se obtiene la instrucción completa con un solo acceso a memoria. Para realizar la comparación, se analiza una operación de suma de dos operandos en memoria y almacenamiento en una dirección diferente. a) Especificar razonadamente el número total de accesos a memoria para cada computador. b) ¿Qué ventajas e inconvenientes se aprecian en estos tipos de computador? Ejercicio 7 Comparar las máquinas de cero, una y dos direcciones, escribiendo programas para resolver la expresión X= (A+B*C)/(D-E*F-G*H) Para cada uno de los tres tipos de máquinas el juego de instrucciones disponible es el siguiente: 0 direcciones 1 dirección 2 direcciones PUSH M POP M SUM RES MUL DIV
LOAD M STORE M SUM M RES M MUL M DIV M
MOVE X, Y SUM X, Y RES X, Y MUL X, Y DIV X, Y
Donde M es una dirección de memoria de 16 bits y X e Y son dos direcciones de 16 bits o identificadores de registro de 4 bits. La máquina de cero direcciones usa una pila, la de una dirección usa un acumulador y la de dos direcciones tiene 16 registros, e instrucciones en las que cada operando puede estar en un registro o en memoria. Suponiendo códigos de operación de 8 bits y longitudes de instrucción que son múltiplos de 4 bits ¿cuántos bits necesita cada computador para representar el programa que calcula el valor de X? Ejercicio 8 Un computador tienen las siguientes características - Una memoria M. - Un registro acumulador A y un registro contador de programa PC. - Un registro de estado de un solo bit, el bit N.
2
Estructura de Computadores
Tema 1. Boletín de problemas
- Tres instrucciones de longitud fija y direccionamiento directo absoluto a memoria. Store D: M[D] Sub D: A
A A – M[D]
JN D: si N = 1 entonces PC
D , si N = 0 entonces PC
+ 1
Codificar un programa que realice las siguientes funciones: a) Cargar en el acumulador el contenido de una posición de memoria X. b) Sumar el contenido de la posición de memoria X al contenido del acumulador. c) Realización de un salto incondicional a la posición de memoria Y. d) Dibujar la estructura del computador. Ejercicio 9 Consideremos un computador hipotético con una memoria principal de 2n-1 palabras de m bits cada palabra de memoria. La CPU contiene un registro acumulador (AC) de m bits que tiene una sola instrucción de proceso: SUB X (resta y almacena). Esta instrucción se comporta de la siguiente forma: AC SUB X
AC - M(X)
M(X)
AC
Una palabra en memoria puede ser, bien una instrucción o bien un dato en complemento a dos. Probar que, con esta única instrucción, pueden realizarse las siguientes operaciones: a) CLA – borrar el acumulador. Para ello se supone un valor inicial en el acumulador AC = N y en la posición de memoria auxiliar M(X1)= N b) NEG – cambiar de signo el acumulador. Para ello se supone en la posición de memoria auxiliar M(X1) = 0 c) Transferencias M(X)
AC y AC
M(X)
Ejercicio 10 Supongamos un computador con palabras de 32 bits y 32 registros de 32 bits cada uno. Este computador tiene 64 instrucciones y sus modos de direccionamiento son los siguientes: -
Directo Absoluto a Memoria.
-
Indirecto Absoluto a Memoria.
-
Directo Relativo: o
A Registro Base.
o
A Contador de Programa
Se pide: a) Diseñar los formatos de instrucción de operaciones diádicas con modelo de ejecución Reg- Mem. b) Suponiendo que cada dirección de memoria identifica un byte, ¿qué tamaño de memoria (expresado en palabras) es accesible en los casos siguientes? Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
3
Tema 1. Boletín de problemas
a. Mediante direccionamiento absoluto a memoria. b. Mediante direccionamiento relativo a registro base. Ejercicio 11 Dado el siguiente programa: LD R1, #1000 LD R2, #0 ST 7[R1--], R2 INC R2 CMP R2, #2 BNZ $-6 ADD R3, 6[++R1] DEC R2 BNZ 10
Longitud de la instrucción 2 2 2 1 2 1 2 1 2
Suponiendo que el programa está almacenado a partir de la posición cero de memoria y que inicialmente el contenido de todos los registros y de todas las posiciones de memoria es 0, componer una tabla que permita seguir su ejecución, indicando la evolución de los registros, el contador de programa y las posiciones de memoria empleadas para datos. Ejercicio 12 Sea un computador basado en acumulador, del que se conocen las siguientes características: -
Modelos de ejecución REG-REG y REG-MEM (y MEM-REG).
-
4 modos de direccionamiento:
Inmediato.
Directo Absoluto a Memoria.
Directo Absoluto a Registro.
Indirecto Relativo a Registro Base.
-
Repertorio de 12 instrucciones.
-
Dispone de un banco de 16 registros de propósito general; donde cualquiera de ellos puede actuar como registro base.
-
Ancho de palabra de memoria de 4 bits.
-
La dirección de memoria más alta a la que se puede acceder es la 64K-1.
-
El valor máximo del operando (codificado en binario natural) es 4095.
-
El número de accesos a memoria para leer una instrucción con direccionamiento indirecto relativo a registro base es el mismo que el correspondiente a una instrucción con direccionamiento inmediato.
Se pide: a. Especificar los distintos formatos de instrucción posibles. b. Si las operaciones que se pueden realizar en el computador son: ADD (suma con el acumulador), SUB (resta con el acumulador), JMP (salto incondicional) y JZ (salto condicional si Z); ¿cuántas operaciones de tipo aritmético se 4
Estructura de Computadores
Tema 1. Boletín de problemas
podrían añadir sin aumentar el tamaño del campo código de operación?, y, ¿cuántas del tipo de bifurcación?. Razonar las respuestas. Ejercicio 13 Sea un computador de dos direcciones, del que se conocen las siguientes características: -
Modelos de ejecución REG-REG y REG-MEM (y MEM-REG).
-
4 modos de direccionamiento:
Inmediato.
Directo Absoluto a Memoria.
Directo Absoluto a Registro.
Indirecto Relativo a Registro Base.
-
Repertorio de 20 instrucciones.
-
Dispone de un banco de 32 registros de propósito general; donde cualquiera de ellos puede ser registro base.
-
Ancho de palabra de memoria de 5 bits.
-
La dirección de memoria más alta a la que se puede acceder es la 32K-1.
-
El valor máximo del operando (codificado en binario natural sin signo) es 32767.
-
En el direccionamiento indirecto relativo a registro base los valores de los desplazamientos están comprendidos entre -511 y 511 (representado en binario natural con signo).
Se pide: a. Especificar los distintos formatos de instrucción posibles. b. ¿Cuántos accesos a memoria hay que hacer para buscar una instrucción con modo de direccionamiento indirecto relativo a registro base?. Ejercicio 14 Sea un computador de dos direcciones, con modelo de ejecución Reg-Reg y Reg-Mem, del que se conocen las siguientes características: •
Repertorio de instrucciones que permita realizar 64 operaciones distintas.
•
Cuatro modos de direccionamiento diferentes: o
Inmediato (con operandos de tamaño de 16 bits).
o
Directo Absoluto a Memoria.
o
Indirecto Absoluto a registro.
o
Directo Relativo a Contador de Programa (el desplazamiento es de 8 bits).
•
Banco de 16 registros.
•
Memoria principal de 64 Kposiciones.
•
Bus de datos de 4 bits.
Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
5
Tema 1. Boletín de problemas
Indicar los distintos formatos de instrucción. ¿Cuántas operaciones distintas se podrían añadir al repertorio de instrucciones sin modificar la estructura interna del computador?
6
Estructura de Computadores
BOLETÍN DE PROBLEMAS TEMA 2. REPRESENTACIÓN DE LA INFORMACIÓN Ejercicio 1 Supóngase un computador con un tamaño de palabra de 8 bits. Calcular cuántas palabras son necesarias para representar números de hasta 8 M – 1 de valor positivo. Ejercicio 2 Comparar un sistema de representación en exceso Z con Z = 2n-1 con un sistema en complemento a 2, considerando n = 16. Proponer un circuito que realice la conversión de un sistema a otro. Ejercicio 3 Estudiar un sistema de representación en formato de coma flotante con n = 24 bits, mantisa entera y con 16 bits, base del exponente r = 2. ¿Pueden existir distintas representaciones con el mismo valor asociado? Ejercicio 4 Estudiar el sistema de representación correspondiente a un computador con palabras de 20 bits y el formato de coma flotante siguiente: • • •
Exponente de 3 bits. Mantisa fracción con la representación signo-magnitud. Base del exponente 2.
Ejercicio 5 Estudiar el sistema de representación correspondiente a un computador con palabras de 32 bits y el formato de coma flotante siguiente: • Exponente de 8 bits. Representación en complemento a dos. • Mantisa normalizada con bit implícito y representación signo-magnitud. • Base del exponente 2. Ejercicio 6 Estudiar el sistema de representación correspondiente a un computador con palabras de 64 bits y el formato de coma flotante siguiente: • Exponente de 19 bits. • Mantisa normalizada y representación signo-magnitud. • Base del exponente 8. Ejercicio 7 Dados A = 0.210 y B = 0.710. Convertirlos a binario con 10 bits significativos. Seguidamente calcular en binario 5 . A + 3 . B. Finalmente, convertir este resultado a decimal y comparar con el resultado exacto 3.1. ¿Qué implicaciones tienen este tipo de situaciones en el cálculo con calculadoras y computadores digitales? Ejercicio 8 Calcular cuántos bits hacen falta para representar un entero decimal de n dígitos. Generalizando, calcular cuántos dígitos del sistema de base b1 hacen falta para representar un número de n dígitos en el sistema de base b2. Ejercicio 9 Un computador con palabras de 40 bits tiene el siguiente formato de coma flotante: • • • • •
Signo del exponente 1 bit. Signo de la mantisa 1 bit. Exponente 6 bits. Mantisa de 32 bits y normalizada. La base del exponente es 16.
Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
1
Tema 2. Boletín de problemas
Calcular los valores máximos y mínimos de la resolución, el error absoluto y el error relativo. Ejercicio 10 Diseñar un formato de representación en coma flotante que cumpla los siguientes requisitos: • • • •
Que utilice el menor número de bits posible. Que tenga un rango de representación mejor que +/- 10 +/- 38. La precisión ha de ser de 9 dígitos decimales en todo el rango de representación. La base del exponente es r = 2 y éste se representará en notación de exceso.
Para el diseño realizado, calcular los siguientes valores: a) b) c) d)
Máximo número representable. Mínimo número representable. Máximo y mínimo error absoluto. Número total de valores positivos con exponente positivo que se pueden representar. e) ¿Se podría aumentar el número anterior sin aumentar el número total de bits del formato? Ejercicio 11 Calcular cuántos valores distintos se pueden representar con una palabra de 10 bits, en los siguientes formatos: • • • •
Binario puro (coma fija sin signo). Coma fija con signo. Complemento a dos. Complemento a uno.
Ejercicio 12 Calcular la resolución de un sistema de representación de n bits en coma fija y signo magnitud, para los siguientes casos: • Coma a la izquierda (sistema de representación fracción). • Coma a la derecha (sistema de representación entero). • Coma entre el bit k y el k+1 (sistema de representación mixto). Ejercicio 13 Considérese un computador con ancho de palabras de 8 bits y que utiliza un formato de representación en coma flotante de 4 palabras. En la primera de ellas se representa el exponente en exceso 2n y en el resto se representa la mantisa entera en complemento a uno. Determinar el rango y los errores absoluto y relativo de este formato. Ejercicio 14 Sea el formato de coma flotante siguiente: • Longitud de la palabra 32 bits. • Exponente de 12 bits colocado a la izquierda de la palabra, en representación de exceso. • Base del exponente 2. • Mantisa en signo magnitud normalizada. a) Determinar el rango positivo y negativo de representación así como la resolución de este formato. b) Determinar si los siguientes números, representados en este formato, están normalizados. En caso de no estarlos, normalizarlos:
2
Estructura de Computadores
Tema 2. Boletín de problemas
E • • • •
1000 1000 0100 0100
0100 0100 0100 0100
S 0010 0101 1111 1000
M 1 1 0 1
010 001 010 100
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000
Ejercicio 15 Un sistema computador emplea un formato de coma flotante con las siguientes características: q bits para el exponente y p bits para la mantisa; el exponente viene dado en complemento a dos, y la mantisa en notación signo-magnitud y normalizada; la base del exponente es 2. Las variables p y q han de ser de tal forma que: • El rango correspondiente a los exponentes debe tener como menor número el – 16. • La peor resolución ha de ser la más próxima posible a 2-10 · 215. Para ese sistema hallar: a) b) c) d)
Rango para los números positivos y para los números negativos. Resolución. Error absoluto. Error relativo.
Ejercicio 16 Estudiar un sistema de representación en formato de coma flotante, que tenga las siguientes características: • • • •
Número de bits del formato 20. Base del exponente 2. Mantisa con bit implícito y con 12 bits en el formato. Representación signo-magnitud para la mantisa y complemento a dos para el exponente.
Ejercicio 17 Representar el número 25 según el estándar IEEE P754 de doble precisión. Ejercicio 18 Representar el número -2-140 precisión.
según el estándar IEEE P754 de simple
Ejercicio 19 Supongamos un código polinomial (código redundante cíclico) cuyo polinomio generador viene representado por la serie 10001000000100001. a) ¿Cuál es el grado del polinomio generador? b) Representa dicho polinomio generador como potencias de X. c) Aplica la información redundante correspondiente a la combinación 10101010111100011001. d) Modifique uno de los bits de la información completa y compruebe como se detecta el error correspondiente. e) Especifique al menos una aplicación para la que es útil este código. Ejercicio 20 Estudiar el siguiente sistema de representación en formato de coma flotante: - Base del exponente 2. - Mantisa normalizada y representación signo-magnitud. - Número de bits del formato n = 16. - Número de bits para el exponente q = 5 y representación en exceso 2q-1. Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
3
Tema 2. Boletín de problemas
Ejercicio 21 Resolver las siguientes cuestiones: - Representar según el estándar IEEE P754 de simple precisión, mostrando los cálculos hasta llegar al resultado, los siguientes valores: A = 2.987359x10-40; B = 47.18592x105. - Supongamos un código polinomial (código redundante cíclico) cuyo polinomio generador es P(x) = X5+X3+X2+1. 1. ¿Cuál es el grado del polinomio generador? 2. Aplica la información redundante correspondiente a la combinación 10101010111100011001. 3. Modifique uno de los bits de la información completa y compruebe como se detecta el error correspondiente. 4. Especifique al menos una aplicación para la que es útil este código. Ejercicio 22 Un sistema computador emplea un formato de coma flotante con las siguientes características: q bits para el exponente y p bits para la mantisa; el exponente viene dado en exceso 2q-1, y la mantisa en notación signo-magnitud y con bit implícito; la base del exponente es 2. Las variables p y q han de ser de tal forma que: • El rango correspondiente a los exponentes debe tener como mayor número el 127. • La peor resolución ha de ser la más próxima posible a 2111. Para ese sistema hallar: a) b) c) d)
Rango para los números positivos y para los números negativos. Resolución. Error absoluto. Error relativo. Nota: 2111 = 2-16⋅ 2127
Ejercicio 23 Estudiar (rango, resolución, error absoluto y error relativo) el sistema de representación en formato de coma flotante siguiente: - Mantisa normalizada y notación signo-magnitud, con p = 15 bits. - Exponente en notación de exceso 2q-1, con q = 5 bits. - Base del exponente r = 4. Comparar la resolución de este sistema de representación con las resoluciones en las zonas normalizadas y desnormalizadas del estándar IEEE 754. Ejercicio 24 Resolver las siguientes cuestiones: a) Representación del valor 192 en el estándar IEEE 754 de doble precisión. b) Calcular el mayor valor positivo no normalizado del estándar IEEE 754 de simple precisión. c) Normalizar en un formato con p = 9, q = 5 y r = 4, la representación siguiente: Mantisa (s-magnitud)= 1 0 0 1 0 0 0 1 0 Exponente (exceso) = 10111 d) Aplicar las tres técnicas de redondeo estudiadas a la representación 0, 0 0 1 0 0 0 1 0 para un formato con 6 bits. Indicar el error cometido en cada caso, y si es por defecto o por exceso. Ejercicio 25 Resolver de forma justificada las siguientes cuestiones: 1. Obtener las representaciones correspondientes al valor decimal 20, con n = 6 (para los apartados a, b, c y d), según los siguientes sistemas de representación: a. Signo-magnitud
4
Estructura de Computadores
Tema 2. Boletín de problemas
b. Complemento a 1 c. Complemento a 2 d. Exceso Z = 2n-1 e. Estándar IEEE 754 de simple precisión 2. Obtener el valor decimal de la combinación binaria 10101 de acuerdo a los siguientes sistemas de representación: a. Signo-magnitud b. Complemento a 1 c. Complemento a 2 d. Exceso Z = 2n-1 3. Calcular el valor de la siguiente representación, expresada según el estándar IEEE 754 de simple precisión: 0
00000000
10000000000000000000001
Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
5
BOLETÍN DE PROBLEMAS TEMA 4. OPERACIONES CON LOS DATOS Ejercicio 1. Realiza las siguientes operaciones, considerando que las representaciones de A, B, C y D vienen expresadas en signo-magnitud: a. A+B, siendo A = 11001010 y B = 0010111 b. C-D, siendo C = 11001110 y D = 1011000 Ejercicio 2. Aplicar las tres técnicas de redondeo estudiadas (Truncamiento, Redondeo propiamente dicho y Truncamiento y bit menos significativo a 1) sobre las siguientes representaciones binarias para un formato de n = 10 bits en la parte fracción. Calcular el error cometido en cada caso, especificando si es error por exceso o por defecto: c. 0,1100110111111 d. 0,1000100010111 e. 0,1000000000100 f.
0,1111111111000
Ejercicio 3. Aplicar las tres técnicas de redondeo y obtener una representación normalizada para un formato de n = 12 bits (con p = 7 y q = 5), sobre los siguientes números: a. Mantisa = 1101001100; exponente = 10010. b. Mantisa = 0001000001; exponente = 10010. En ambos casos la mantisa viene representada en signo-magnitud, el exponente en exceso 16 y la base del exponente es 2. Indicar en cada caso la magnitud del error y si es por exceso o por defecto. Ejercicio 4. Normalizar en un formato con p = 9, q = 5 y r = 4,
la representación
siguiente: Mantisa (s-magnitud)= 1 0 0 1 0 0 0 1 0
Exponente (exceso) = 10111
Ejercicio 5. Normalizar y aplicar las tres técnicas de redondeo en un formato con p = 10, q = 4 y r = 8, la representación siguiente: Mantisa (s-magnitud)= 0 0 0 0 1 1 0 0 1 0 1 1 0 Exponente (exceso 16) = 0 1 1 0 Ejercicio 6. Aplicar las tres técnicas de redondeo estudiadas a la representación 0, 0 0 1 0 0 0 1 0 para un formato con 6 bits. Indicar el error cometido en cada caso, y si es por defecto o por exceso.
Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática – Universidad de Huelva
1
Tema 4. Boletín de problemas.
Ejercicio 7. Dado el siguiente formato de coma flotante: a. 24 bits para la mantisa fracción normalizada en signo-magnitud. b. 8 bits para el exponente en exceso Z = 128. c. Base del exponente r = 2. Realizar las operaciones siguientes, indicando los pasos intermedios: i.
A+B siendo MA = C00000h, EA = C3h, MB = 7F800Ch, EB = C0h
ii. C-D siendo MC = 403B46h, EA = 0Ah, MD = 7FD8A4h, ED = 09h Ejercicio 8. Realizar la operación de suma A+B, siendo A y B dos números representados en formato de coma flotante (Signo-Exponente-Magnitud), con p = 9 bits para la mantisa, q = 4 bits para el exponente, representado en exceso Z = 2q-1 -1, y r = 2.
A
1
0011 01100111
B
0
0110 00010110
Sobre el resultado, aplicar si es necesario, las tres técnicas de redondeo y calcular el error cometido en cada caso. Ejercicio 9. Realizar la operación de resta A-B, con representaciones en formato de coma flotante, base del exponente r = 2, mantisa fracción en signo-magnitud con p = 16, y exponente en exceso Z = 2q-1 con q = 8:
A
0
10001011
001010001000000
B
0
10001000
111100001000011
Calcular el error que se comete sobre el resultado exacto, aplicando las tres técnicas de redondeo estudiadas. Ejercicio 10. Sea el formato de coma flotante siguiente: - Longitud de la palabra 32 bits. - Exponente de 12 bits colocado a la izquierda de la palabra, en representación de exceso Z = 2q-1. - Base del exponente 2. - Mantisa en signo magnitud normalizada.
2
Estructura de Computadores
Se pide: - Realizar la operación de suma de las representaciones mostradas a continuación, normalizándolas previamente. - Normalizar el resultado de la suma obtenida anteriormente, si fuese necesario. E
S
M
1000 0100 0010
1
010 0000 0000 0000 0000
1000 0100 0101
1
001 0000 0000 0000 0000
Departamento de Ingeniería Electrónica, de Sistemas Informáticos y Automática - Universidad de Huelva
3
£$WHQFLyQ$OJXQRVGHORVHMHUFLFLRVSRGUtDQHVWDULQFRPSOHWRHLQFOXVRHTXLYRFDGRV
£$WHQFLyQ$OJXQRVGHORVHMHUFLFLRVSRGUtDQHVWDULQFRPSOHWRHLQFOXVRHTXLYRFDGRV
View more...
Comments