INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN
ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I
CURSO: 95/96	FECHA: 3 de Septiembre de 1996	HORA: 11.30	DURACIÓN: 2 horas
CÓDIGO CARRERA:	CÓDIGO ASIGNATURA:	CONVOCATORIA: SEPBRE. 1ª PP.	TIPO DE EXAMEN: A	
SISTEMAS= 40	SISTEMAS= 104	SEMANA: 1ª SEMANA		
GESTIÓN = 41	GESTIÓN= 104	EXAMEN ORIGINAL		

ESTE EXAMEN CONSTA DE DOS HOJAS
LOS ENUNCIADOS DE LOS PROBLEMAS FIGURAN EN UNA HOJA APARTE

ES NECESARIO ENTREGAR ESTA HOJA DE ENUNCIADOS.

MATERIAL PERMITIDO DURANTE LA REALIZACIÓN DEL EXAMEN:
	· Addenda de Estructura y Tecnología de Computadores I.
	· Calculadora no programable.

PREGUNTAS TIPO TEST (puntuación máxima: 4 puntos).
El test es ELIMINATORIO. Mínimo necesario para aprobar el test: 6 aciertos.
La solución a las preguntas del test se marcará en el espacio RESPUESTAS en el reverso de esta hoja.
Sólo hay una respuesta correcta en cada pregunta.
LAS RESPUESTAS EQUIVOCADAS O EN BLANCO NO PENALIZAN.

1. Los elementos principales de un computador digital son
a) Unidad aritmético-lógica, unidad de memoria y unidad de entrada-salida.
b) Unidad de control de programa, unidad aritmético-lógica y unidad de memoria.
c) Unidad central de proceso, instrucciones y datos.
d) Unidad central de proceso, unidad de memoria y unidad de entrada-salida.

2. El valor del número binario 10110111 es -55, suponiendo que está representado en:
a) Complemento a 1.
b) Complemento a 2.
c) Módulo y signo.
d) Exceso a 27.

3. El formato IEEE 754 para representación en números en coma flotante:
a) Es un formato normalizado de comparación rápida.
b) Representa la mantisa en complemento a 2.
c) El exponente se representa en exceso a 2n-1, siendo n el número de bits empleados para almacenar dicho exponente, según las diferentes precisiones disponibles.
d) Tiene un bit implícito, que constituye la parte entera de la mantisa, y que siempre es el complementario del bit de signo.

4. La codificación de Hamming:
a) Se utiliza para representar números reales.
b) Permite corregir errores en dos bits.
c) Tiene una distancia mínima de dos.
d) Permite detectar errores de dos bits.

5. Indicar cuál de las siguientes afirmaciones es FALSA:
a) Las señales de gobierno del operador son de pulso.
b) Las señales de carga de registros son de pulso.
c) Las señales de selección del bus, es decir, las que permiten el envío de la información de un registro concreto al bus, son de nivel.
d) Las señales que marcan los ciclos de memoria, tanto de lectura como de escritura, son de nivel.

6. Indicar cuál de las siguientes afirmaciones es FALSA:
a) El direccionamiento relativo a registro base permite fácilmente a los sistemas operativos realizar la reubicación de programas de usuario.
b) En el direccionamiento relativo a contador de programa, es preciso tener en cuenta que el CP se ha incrementado antes de calcular la dirección del objeto referenciado.
c) En el direccionamiento relativo a registro, la dirección del objeto se obtiene mediante la concatenación del contenido del registro y la del campo de dirección, que contiene un cierto desplazamiento.
d) En el direccionamiento relativo a pila, el campo de desplazamiento es muy pequeño, e incluso a veces ni siquiera existe.

7. Una empresa fabricante de hardware desea fabricar discos duros de 1406’25 Mbytes de capacidad. Esta empresa dispone de platos de doble cara que contienen 1200 pistas por cada cara, cada una de las cuales tiene 100 sectores. Dado que cada sector tiene 512 bytes, y teniendo en cuenta que la cara superior del primer plato y la inferior del último no se utilizan, ¿cuántos platos serán necesarios para que el disco alcance la capacidad deseada?
a) 7 platos.
b) 9 platos.
c) 11 platos.
d) 13 platos.

8. La paginación para utilizar memoria virtual:
a) Permite dividir la memoria en bloques de cualquier tamaño.
b) Consiste en dividir los programas en bloques de tamaños parecidos.
c) Consiste en dividir la memoria física y lógica en bloques regulares.
d) Consiste en añadir una memoria auxiliar de alta velocidad.

9. Cuál de las siguientes NO es una función del programa cargador:
a) Tomar varios módulos de código objeto, y enlazarlos para que formen un código objeto ejecutable listo para su reubicación.
b) Copiar el código objeto en las posiciones de memoria donde residirá durante su ejecución.
c) Reasignar las direcciones contenidas en el programa para que se ajusten a las direcciones en que ha sido cargado.
d) Lanzar la ejecución del programa recién cargado.

10. Indicar cuál de las siguientes afirmaciones acerca de los ensambladores (traductores) de dos fases es CIERTA:
a) En la primera fase de ensamblado, cuando aparece una etiqueta en el programa fuente, el traductor la incorpora a la tabla de códigos, asociándole el valor del contador de dirección de ensamblado.
b) El traductor evalúa los operandos de las instrucciones en la segunda fase ayudándose de la tabla de códigos, construida en la fase anterior.
c) No es necesario que el traductor calcule la longitud de las instrucciones en la primera fase de ensamblado.
d) En la segunda fase, las etiquetas presentes en el programa fuente pueden ignorarse.

INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN
ASIGNATURA: ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I
CURSO: 95/96	FECHA: 3 de Septiembre de 1996	HORA: 11.30	DURACIÓN: 2 horas

ESTE EXAMEN CONSTA DE DOS HOJAS
EL TEST ELIMINATORIO FIGURA EN UNA HOJA APARTE

PROBLEMAS (puntuación máxima total: 6 puntos).

La solución a los problemas se entregará en hojas aparte proporcionadas por el Tribunal de exámenes.

PROBLEMA 1 (puntuación máxima: 2 puntos)

Supóngase que el computador elemental desarrollado en el capítulo 7 de las Unidades Didácticas posee un conjunto de instrucciones aritméticas de dos operandos del tipo ADD Rj,desp(Ri), donde:
•	El primer operando es accesible mediante direccionamiento directo a registro, siendo Rj uno de los registros del banco.
•	El segundo operando se encuentra referenciado mediante un direccionamiento relativo a registro, siendo Ri un registro del banco, y desp un desplazamiento.

La instrucción ADD realiza la suma de los dos operandos referenciados, y deja el resultado en el primer operando, o sea, en el registro Rj.

Supóngase también que el ancho de los registros, buses, operador y memoria es de 16 bits, y que en un momento dado el contenido de los registros R1 y R2 es (R1)=$A025 y (R2)=$0528 respectivamente. Además, la memoria es de 64 Kpalabras, y el contenido de las posiciones de memoria a partir de la $A000 es exactamente el inverso de su dirección expresada en binario (por ejemplo, ($A000)=$0005, ($B427)=$E42D, etc). En ese momento se ejecuta la instrucción ADD R2,$34(R1). Se pide:

a) (1 punto) Suponiendo que la instrucción se encuentra totalmente contenida en RI y ya ha sido decodificada, enumerar cuáles son las acciones necesarias para colocar el segundo operando en el registro temporal RO1, indicando las señales que deberán ser activadas en cada paso.

b) (1 punto) Calcular:
•	La dirección donde se encuentra el segundo operando de la instrucción.
•	El valor en hexadecimal del segundo operando de la instrucción.
•	El contenido final, en hexadecimal, del registro R2.

PROBLEMA 2 (puntuación máxima: 4 puntos)

Diseñar una subrutina en ensamblador del microprocesador M68000 que, dado un dato de tamaño palabra (16 bits), inspeccione los bits que lo componen y contabilice cuántos de entre ellos se encuentran a 1. El dato de entrada se proporciona en la palabra menos significativa del registro D0. La subrutina devolverá el número de bits a 1 en el byte menos significativo del registro D1.

Seguir el procedimiento indicado a continuación:

1)	(0’5 puntos) Especificar los argumentos de la subrutina  mencionados en el enunciado.
2)	(0’5 puntos) Realizar una descripción textual del algoritmo propuesto (máximo 10 líneas).
3)	(1 punto) Describir por pasos el algoritmo propuesto, indicando las constantes y las variables intermedias utilizadas.
4)	(2 puntos) Codificar la subrutina en ensamblador del M68000, comentando adecuadamente las sentencias utilizadas y haciendo referencia a los pasos del algoritmo indicados en el apartado 3.