25
MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS. INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A. 1.- Un computador con 15 líneas de direcciones tiene una memoria de 32 13 palabras y utiliza E/S localizada en memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno de ellos utiliza 8 direcciones? A) 2 13 B) 2 10 C) 2 12 D) Ninguna de las anteriores. 2.- Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4 ciclos máquina en ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Este procesador se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que ejecuta 20 instrucciones. Teniendo en cuenta que 1 Mbyte = 10 6 bytes, la capacidad de entrada de datos (ancho de banda) máxima en Mbytes/s a través del sistema de interrupciones es: A) 8 Mbytes/s B) 12 Mbytes/s C) 16 Mbytes/s D) Ninguna de las anteriores. 3.- Considerando un procesador que tiene 8 registros de 8 bits cada uno para uso general, cuyo formato de instrucción es el que se muestra en la siguiente figura: Código de operación (6 bits) Dirección (3 bits) Base (14 bits) ¿Qué rango de direccionamiento tiene cuando realiza un direccionamiento indexado a través de registros? A) Desde 0 hasta 16383 B) Desde 0 hasta 16638 C) Desde 0 hasta 8192 D) Ninguna de las anteriores. 4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y control durante 20 ns. Durante los 80 ns siguientes, el módulo de memoria seleccionado completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. La velocidad máxima de transferencia cuando el número de módulos N es mayor que 4 es: A) 0,05 palabras/ns B) 0,03 palabras/ns C) 0,07 palabras/ns D) Ninguna de las anteriores. 5.- Se considera un procesador que dispone de 16 líneas de direcciones A 15 - A 0 . Para la construcción de su unidad de memoria se dispone de módulos de 8K palabras, utilizándose las líneas más significativas (A 15 - A 13 ) para la selección de cada módulo. En el mapa de memoria, la dirección base (o primera dirección) del módulo número 5 en notación hexadecimal es: A) 8000 B) A000 C) 8FFF D) Ninguna de las anteriores. Nota: Los sucesivos módulos de memoria se comienzan a numerar desde el módulo 0 que corresponde a las direcciones más bajas de memoria. 6.- Indique cuantos módulos de memoria ROM de 2 3n palabras × 1 bit/palabra serán necesarios para diseñar un circuito combinacional que sume dos números de 3n bits cada uno: A) 2 3n+1 × 3n B) 2 6n × 3n C) 2 3n × (3n + 1) D) Ninguna de las anteriores. 7.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 256 estados, que genere 200 señales de control totalmente independientes y que reciba 10 señales de condición, aunque en cada estado va a ser consultada como máximo una de ellas. Si la memoria ROM usada tiene un coste de 1 euro/Kbit indicar si las siguientes afirmaciones son verdaderas o falsas: I. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros.

Modelo 1

Embed Size (px)

DESCRIPTION

arquitectura de pc ejercicios

Citation preview

Page 1: Modelo 1

MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.

INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

1.- Un computador con 15 líneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno de ellos utiliza 8 direcciones?

A) 213 B) 210 C) 212 D) Ninguna de las anteriores.

2.- Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4 ciclos máquina en ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Este procesador se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que ejecuta 20 instrucciones. Teniendo en cuenta que 1 Mbyte = 106 bytes, la capacidad de entrada de datos (ancho de banda) máxima en Mbytes/s a través del sistema de interrupciones es:

A) 8 Mbytes/s B) 12 Mbytes/s C) 16 Mbytes/s D) Ninguna de las anteriores.

3.- Considerando un procesador que tiene 8 registros de 8 bits cada uno para uso general, cuyo formato de instrucción es el que se muestra en la siguiente figura:

Código de operación (6 bits) Dirección (3 bits) Base (14 bits)

¿Qué rango de direccionamiento tiene cuando realiza un direccionamiento indexado a través de registros?

A) Desde 0 hasta 16383 B) Desde 0 hasta 16638 C) Desde 0 hasta 8192 D) Ninguna de las anteriores.

4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y control durante 20 ns. Durante los 80 ns siguientes, el módulo de memoria seleccionado completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. La velocidad máxima de transferencia cuando el número de módulos N es mayor que 4 es:

A) 0,05 palabras/ns B) 0,03 palabras/ns C) 0,07 palabras/ns D) Ninguna de las anteriores.

5.- Se considera un procesador que dispone de 16 líneas de direcciones A15 - A0. Para la construcción de su unidad de memoria se dispone de módulos de 8K palabras, utilizándose las líneas más significativas (A15 - A13) para la selección de cada módulo. En el mapa de memoria, la dirección base (o primera dirección) del módulo número 5 en notación hexadecimal es:

A) 8000 B) A000 C) 8FFF D) Ninguna de las anteriores. Nota: Los sucesivos módulos de memoria se comienzan a numerar desde el módulo 0 que corresponde a las direcciones más bajas de memoria.

6.- Indique cuantos módulos de memoria ROM de 23n palabras × 1 bit/palabra serán necesarios para diseñar un circuito combinacional que sume dos números de 3n bits cada uno:

A) 23n+1 × 3n B) 26n × 3n C) 23n × (3n + 1) D) Ninguna de las anteriores.

7.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 256 estados, que genere 200 señales de control totalmente independientes y que reciba 10 señales de condición, aunque en cada estado va a ser consultada como máximo una de ellas. Si la memoria ROM usada tiene un coste de 1 euro/Kbit indicar si las siguientes afirmaciones son verdaderas o falsas:

I. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros.

Page 2: Modelo 1

II. Si se utiliza un diseño con selección por campo el coste de la ROM es superior a 100 euros.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 32 bits. La parte de control del formato de una microinstrucción emplea 14 bits para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de condición de las 16 señales disponibles. ¿Cuál es el tamaño máximo de la memoria de control?

A) 216 palabras B) 220 palabras C) 242 palabras D) 212 palabras

Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.

Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test.

Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test.

Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica):

Sea el siguiente algoritmo:

1: Declaración de registros A [5], B [3], R [5];

2: Declaración de buses

Bus-Entrada [5], Bus-Salida [5];

3: Inicio: A Bus-Entrada; número binario

4: B Bus-Entrada; número binario

5: Bucle: A A ×B;

6: B B - 1;

7: if B 1 then go to Bucle;

8: R A;

9: Bus-salida R;

10: Parar;

A) (1 pto) Si inicialmente en A se carga el valor 00001 y en B se carga el valor 100 ¿Cuál es el valor de R al finalizar el algoritmo? ¿Qué operación realiza este algoritmo?.

B) (1,5 ptos) Diseñar la Unidad de Procesamiento y la Unidad de Control que realiza este algoritmo.

C) (1,5 ptos) Especificar el diagrama de flujo que realice el algoritmo, el diagrama de estados de la Unidad de Control y las acciones que tiene que efectuar cuando se encuentra en cada uno.

Page 3: Modelo 1

SOLUCIONES

1.- Un computador con 15 líneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno de ellos utiliza 8 direcciones?

A) 213 B) 210 C) 212 D) Ninguna de las anteriores. Solución Un computador con las 15 líneas de direcciones puede direccionar 215 direcciones de memoria distintas. No obstante, como la memoria ocupa 3213 de estas direcciones, quedan libres 215- (3213 ) = 213 direcciones para gestionar la E/S. Como cada periférico utiliza 8 (23) de estas direcciones, es posible conectar un máximo de 213/23 = 210

periféricos.

Respuesta: B (210) 2.- Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4 ciclos máquina en ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Este procesador se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que ejecuta 20 instrucciones. Teniendo en cuenta que 1Mbyte = 106 bytes, la capacidad de entrada de datos (ancho de banda) máxima en Mbytes/s a través del sistema de interrupciones es:

B) 8 Mbytes/s B) 12 Mbytes/s C) 16 Mbytes/s D) Ninguna de las anteriores

Solución

A partir de la frecuencia del procesador se calcula el tiempo de ciclo (tc) del mismo, que es la inversa de dicha frecuencia. Por tanto con una frecuencia de 200 MHz, se tiene un tc = 5 ns.

El tiempo que dura una operación de E/S por interrupción (tint) es la suma del tiempo que se emplea en el reconocimiento de la interrupción (100 ns) más el tiempo empleado en ejecutar la rutina que gestiona dicha interrupción. Esta rutina consta de 20 instrucciones, cada una de ellas de 4 ciclos y sabemos que el tiempo empleado por ciclo es de 5 ns. Por tanto, el tiempo de una operación de E/S por interrupción es el siguiente:

tint = 100 ns + (20 instrucciones × 4 ciclos/instrucción × 5 ns/ciclo) = 500 ns

Durante este tiempo se transmiten 8 bytes, por lo que el ancho de banda (bytes/s) a través del sistema de interrupciones será el número de bytes transmitido entre el tiempo que se tarda en transmitir:

Ancho de banda = 8 bytes / (500 × 10-9 s ) = 16 × 106 bytes/s = 16 Mbytes/s

Respuesta: C (16 Mbytes/s)

3.- Considerando un procesador que tiene 8 registros de 8 bits cada uno para uso general, cuyo formato de instrucción es el que se muestra en la siguiente figura:

Código de operación (6 bits) Dirección (3 bits) Base (14 bits)

¿Qué rango de direccionamiento tiene cuando realiza un direccionamiento indexado a través de registros?

A) Desde 0 hasta 16383 B) Desde 0 hasta 16638 C) Desde 0 hasta 8192 D) Ninguna de las anteriores. Solución La dirección efectiva en un direccionamiento indexado a través de registros se obtiene como la suma de una dirección base de memoria contenida en el campo de dirección de la instrucción y un desplazamiento,

Page 4: Modelo 1

contenido en el registro índice. Como los registros son de 8 bits, con ellos se puede referenciar desde 0 hasta 255 (28-1), y como el campo de dirección base es de 14 bits se puede representar desde 0 hasta 16383 (214-1). Por tanto, el rango de direccionamiento va desde 0 (= 0+0) hasta 16638 (= 255 + 16383). Respuesta: B (Desde 0 hasta 16638) 4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y control durante 20 ns. Durante los 80 ns siguientes, el módulo de memoria seleccionado completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. La velocidad máxima de transferencia cuando el número de módulos N es mayor que 4 es:

A) 0,05 palabras/ns B) 0,03 palabras/ns C) 0,07 palabras/ns D) Ninguna de las anteriores Solución El ciclo de escritura de los módulos de memoria se muestra gráficamente en la siguiente figura. Ciclo de escritura de los módulos de memoria El tiempo de ciclo de escritura es tc = 100 ns. El módulo de memoria usa el bus en exclusiva durante los primeros 20 ns del ciclo, mientras que durante los restantes 80 ns cualquier otro módulo puede hacer uso del bus. Si se considera que los ciclos de escritura se solapan al máximo, en la siguiente figura se muestra la situación correspondiente a las operaciones de escritura cuando se tienen 5, 6 y 7 módulos.

Operaciones de escritura con 5, 6 y 7 módulos Como se puede observar, cuando se tienen 5 módulos todos están continuamente activos. Con 6 módulos cada

20 nseg 80 nseg

ControlDirección

DatosAlmacenamiento del dato

Módulos

123456

1 2 3 4 5 6 7 8 9 10 11 12 13(20 nseg)

120 nseg

Vmax = 6 palabras / 120 nseg = 0.05 palabras/nseg

Módulos

12345

1 2 3 4 5 6 7 8 9 10 11 12 13(20 nseg)

100 nseg

Vmax = 5 palabras / 100 nseg = 0.05 palabras/nseg

Módulos

1234567

1 2 3 4 5 6 7 8 9 10 11 12 13(20 nseg)

140 nseg

Vmax = 7 palabras / 140 nseg = 0.05 palabras/nseg

Page 5: Modelo 1

módulo está “ocioso” durante (120 - tc) ns después de cada operación de escritura. Mientras que con 7 módulos el tiempo “ocioso” de cada módulo es de (140 - tc). Sin embargo, la velocidad de transferencia sigue siendo la misma en los tres casos. Con 5 módulos cada 100 ns comienzan (o finalizan) 5 operaciones de escritura. Con 6 y 7 módulos cada 120 ns y 140 ns comienzan (o finalizan) 6 ó 7 operaciones de escritura respectivamente. Por ello, las velocidades máximas con 5, 6 y 7 módulos es:

nspalabrasnspalabrasV /05,0/100

55max

nspalabrasnspalabrasV /05,0/120

66max

nspalabrasnspalabrasV /05,0/140

77max

Generalizando el resultado a N módulos (con N mayor que 4), la velocidad máxima de transferencia viene dada por:

nspalabrasnspalabrasN

NV N /05,0/

20max

Respuesta: A (0,05 palabras/ns) 5.- Se considera un procesador que dispone de 16 líneas de direcciones A15 - A0. Para la construcción de su unidad de memoria se dispone de módulos de 8K palabras, utilizándose las líneas más significativas (A15 - A13) para la selección de cada módulo. En el mapa de memoria, la dirección base (o primera dirección) del módulo número 5 en notación hexadecimal es:

A) 8000 B) A000 C) 8FFF D) Ninguna de las anteriores. Nota: Los sucesivos módulos de memoria se comienzan a numerar desde el módulo 0 que corresponde a las direcciones más bajas de memoria. Solución La dirección base de un módulo es la dirección de memoria principal que hay que emplear para acceder a la primera posición de dicho módulo. En este caso concreto las sucesivas direcciones base de cada módulo las generaremos con valores sucesivos de los bits A15 - A13, que son los empleados para seleccionar cada módulo, y el resto de los bits de la dirección, A12 -A0, con el valor cero. Una vez generada la codificación, para dar la dirección base en hexadecimal se agrupan los bits de la dirección de 4 en 4 y se codifican. En la tabla siguiente se muestra el resultado.

Dirección base en binario A15 A14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A

0

Dir. base en hexadecimal

Módulo 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Módulo 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 Módulo 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 Módulo 3 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 Módulo 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 Módulo 5 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A 0 0 0 Módulo 6 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C 0 0 0 Módulo 7 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E 0 0 0

Respuesta: B (A000).

6.- Indique cuantos módulos de memoria ROM de 23n palabras × 1 bit/palabra serán necesarios para diseñar un circuito combinacional que sume dos números de 3n bits cada uno:

A) 23n+1 × 3n B) 26n × 3n C) 23n × (3n + 1) D) Ninguna de las anteriores.

Page 6: Modelo 1

Solución El número de módulos se calcula teniendo en cuenta que la memoria ROM resultante deberá tener 3n + 3n = 6n líneas de dirección, es decir 26n palabras. El resultado de sumar dos números de 3n bits cada uno es un número de 3n + 1 bits, por lo que cada palabra de la memoria ROM resultante deberá tener 3n + 1 bits. Como consecuencia la memoria ROM resultante debe tener una capacidad total de: 26n palabras × (3n + 1) bits/palabra. Ahora bien, como dicha memoria debe construirse usando módulos de 23n palabras × 1 bit/palabra, es preciso emplear un total de:

(26n palabras × (3n + 1) bits/palabra) / (23n palabras/módulo × 1 bit/palabra) = 23n × (3n + 1) módulos

Respuesta: C (23n × (3n + 1) módulos) 7.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 256 estados, que genere 200 señales de control totalmente independientes y que reciba 10 señales de condición, aunque en cada estado va a ser consultada como máximo una de ellas. Si la memoria ROM usada tiene un coste de 1 euro/Kbit indicar si las siguientes afirmaciones son verdaderas o falsas:

I. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros. II. Si se utiliza un diseño con selección por campo el coste de la ROM es superior a 100 euros.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución [Ver la página 307 y ss. del texto de teoría.] Para codificar los 256 estados hacen falta 8 bits. Las 200 señales de control, al ser totalmente independientes, no pueden ser codificadas. De las 10 señales de condición sólo se consulta, a lo sumo, una de ellas, por lo que la salida del multiplexor será de un único bit. Harán falta, por tanto, 8 + 1 = 9 bits para seleccionar una palabra de la memoria ROM, cuya capacidad será de 29 = 512 palabras. I. Al tratarse de un diseño con selección por estado, cada palabra de la memoria ROM tendrá dos campos: uno de 8 bits para el estado presente y otro de 200 bits para las señales de control. El ancho de palabra será por tanto de 200 + 8 = 208 bits. La capacidad de la memoria ROM es por tanto de 512 palabras × 208 bits/palabra = 106496 bits =106,5 Kbits. Y por consiguiente su coste será de 106,5 euros, lo que implica que la afirmación es falsa. II. Al tratarse de un diseño de selección por campo, cada palabra de la memoria tendrá tres campos: uno de selección de 4 bits (24 = 16 para las 10 señales de condición), uno de estado presente de 8 bits (puesto que hay 256 estados) y otro de 200 bits para las señales de control. El ancho de palabra será de 200 + 8 + 4 = 212 bits. Por tanto, la capacidad de la memoria ROM es ahora de 512 palabras × 212 bits/palabra = 108544 bits. Su coste será de 108,5 euros, lo que implica que la afirmación es verdadera. Respuesta: C ( I: no, II: sí) 8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 32 bits. La parte de control del formato de una microinstrucción emplea 14 bits para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de condición de las 16 señales disponibles. ¿Cuál es el tamaño máximo de la memoria de control?

A) 216 palabras B) 220 palabras C) 242 palabras D) 212 palabras Solución

Page 7: Modelo 1

[Véase el Problema 7.2 del libro de problemas]. La microinstrucción tiene 32 bits de longitud, de los cuales 14 bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 4 (24 = 16) para seleccionar una única señal de condición. Por lo tanto, para la dirección quedan disponibles 32 – 14 – 2 -4 = 12 bits. De esta forma, el tamaño máximo de la memoria de control es 212 palabras. Respuesta: D (212 palabras) PROBLEMA

Sea el siguiente algoritmo:

1: Declaración de registros A [5], B [3], R [5];

2: Declaración de buses

Bus-Entrada [5], Bus-Salida [5];

3: Inicio: A Bus-Entrada; número binario

4: B Bus-Entrada; número binario

5: Bucle: A A ×B;

6: B B - 1;

7: if B 1 then go to Bucle;

8: R A;

9: Bus-salida R;

10: Parar;

A) (1 pto) Si inicialmente en A se carga el valor 00001 y en B se carga el valor 100 ¿Cuál es el valor de R al finalizar el algoritmo? ¿Qué operación realiza este algoritmo?.

B) (1,5 ptos) Diseñar la Unidad de Procesamiento y la Unidad de Control que realiza este algoritmo.

C) (1,5 ptos) Especificar el diagrama de flujo que realice el algoritmo, el diagrama de estados de la Unidad de Control y las acciones que tiene que efectuar cuando se encuentra en cada uno.

A) Según el enunciado, los valores en binario que se cargan inicialmente en A y en B son 00001 (1 en decimal) y 100 (4 en decimal) respectivamente. En la siguiente tabla se muestra la evolución de los registros A, B y R a lo largo de la ejecución del algoritmo. En dicha tabla, si no aparece el valor almacenado en el registro es porque no es relevante para el problema.

Nº Instrucción A B R 3:A Bus-Entrada; 00001 - - - - 4:B Bus-Entrada; 00001 100 - - 5:A A × B; 00100 100 - - 6:B B – 1; 00100 011 - - 7:if B 1 then go to Bucle; 00100 011 - - 5:A A B; 01100 011 - - 6:B B – 1; 01100 010 - - 7:if B 1 then go to Bucle; 01100 010 - - 5:A A B; 11000 010 - - 6:B B – 1; 11000 001 - - 7:if B 1 then go to Bucle; 11000 001 - - 8: R A; 11000 001 11000

Evolución de los registros al ejecutarse el algoritmo

Como se puede observar el valor almacenado en el registro R tras la ejecución del algoritmo es 11000 (24 en decimal).

Analizando el algoritmo se puede ver que la operación que se efectúa es el factorial de B, tal y como se muestra en la siguiente expresión:

!1...)2()1()(1

0

B

i

BBBBiB

Que para el caso particular de los valores de A y B que se proponen en el enunciado queda efectivamente 24.

Page 8: Modelo 1

24!4)34()24()14(4)(14

0

i

iB

B) Para el diseño de la Unidad de Procesamiento se necesita: 1 registro A de 5 bits, 1 registro B de 3 bits, 1 registro R de 5 bits, 1 Bus de entrada de 5 bits de longitud y 1 Bus de salida de 5 bits de longitud, además de algunos otros elementos auxiliares como multiplexores. .

Como la Unidad de Procesamiento necesita realizar dos tipos de operaciones (resta y multiplicación), se va disponer de una Unidad Aritmético Lógica (ALU) como la mostrada en la siguiente figura donde con 1 señal de control se selecciona el modo de funcionamiento necesario siguiendo el esquema de la siguiente tabla.

Operación Entradas de selección

E0

X Y 0 X - Y 1

Operaciones de la ALU

Módulo de la Unidad Arimético Lógica empleada

Con estos elementos se puede proponer la arquitectura mostrada en la siguiente figura, que es capaz de ejecutar el algoritmo propuesto. Se han introducido en el esquema los diferentes puntos de control que se necesitan. El multiplexor a la entrada de A y B permite seleccionar dos fuentes de datos a almacenar en ellos: el Bus de Entrada y la salida de la ALU. También existe un camino de la salida del registro A al registro R, con el fin de poder almacenar el resultado en dicho registro como exige el paso 8 del algoritmo. Además hay otro camino desde el registro R al Bus de Salida, para poder realizar la transferencia indicada en el paso 9 del algoritmo. Se muestra también la señal de condición s0 que si su valor es 1 representa que el contenido del registro B es distinto de 1.

5 3

X Y

5

E0ALU

Page 9: Modelo 1

En la siguiente tabla se describen las operaciones que gobiernan cada una de las señales de control mostradas en la figura anterior:

Señal de

Control

Operación controlada

c0 Selección del multiplexor 1: Bus-Entrada / DEMUX

c1 Selección del multiplexor 2: Bus-Entrada / DEMUX

c2 Cargar R desde A (R A)

c3 Selección del multiplexor 3: 1 / A

c4 Selección de la operación de la ALU

c5 Selección del demultiplexor (salida de la ALU hacia A ó B)

c6 Transferir R al Bus de Salida

C) En la siguiente figura se muestra el diagrama de flujo del algoritmo y el diagrama de estados asociados a la Unidad de

Circuito

d

Control

A

5

Bus de Salida

Bus de Entrada

c6

c0

c1

c6

I ( Inicio )

Fin

Reloj

Unidad de Procesamiento

Unidad deControl

s0 (B 1

X Y

5

E0ALU

MUX 1 0 1

c 3

5 3

5

c4

1

R

MUX 3 0 1

B

MUX 20 1

c 0 c1

DEMUX c5

0 1

1

c2

Page 10: Modelo 1

Control. Y en la Tabla posterior se dan las acciones tomadas en cada uno de los estados con las señales de control que hay que activar.

Diagrama de flujo del algoritmo y diagrama de estados de la Unidad de Control

Estado de la Unidad

de Control

Microoperaciones

efectuadas

Señales de control

a activar

A A × B

Bus de Salida R

S 3

S 0

S 1

S 2

s0 (B

s 0 ( B = 1)

A 0 0 0 0 1

B 1 0 0

no

s

B B - 1

¿ B 1?

R A

S 5

S 4

S 6

Page 11: Modelo 1

S0 A 00001 c0

S1 B 100 c1

S2 A A× B c4

S3 B B - 1 c3, c5

S4 --- ---

S5 R A c2

S6 Bus-salida R

Parar

c6

Acciones tomadas por la Unidad de Control

Page 12: Modelo 1

MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.

INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es C

1.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando la CPU dispone en exclusiva del bus, las instrucciones emplean en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no se requiere el acceso al bus. El controlador de DMA tarda 1 ciclo de reloj en transmitir una palabra. Si la frecuencia de reloj del computador es de 107 ciclos/s, ¿cuánto tiempo tardará el controlador de DMA en mover un bloque de datos compuesto por 107palabras?

A) 0,5s B) 1s C) 2s D) Ninguna de las anteriores.

2.- Una unidad de control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción y microprogramación horizontal tiene una memoria de control con 2K palabras32 bits/palabra de capacidad. Indicar el número máximo de puntos de control en la ruta de datos asociada.

A) 10 B) 12 C) 22 D) Ninguna de las anteriores.

3.- Una memoria caché asociativa por conjuntos consta de 16 conjuntos con 4 bloques por conjunto. La memoria principal tiene una capacidad de 1M (220) palabras dividida en bloques de 128 palabras. A la dirección de memoria principal, expresada en binario, 10100001100100110000, le corresponde el conjunto, expresado en decimal:

A) 7 B) 3 C) 2 D) Ninguna de las anteriores.

4.- Se dispone de un bus síncrono que tiene un tiempo de ciclo de 50 ns y cada transacción del bus requiere un ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 líneas. Si la memoria tiene 200 ns de tiempo de acceso, el ancho de banda en el proceso de lectura de dicha memoria es de:

A) 10,5 Mbytes/s B) 20,2 Mbytes/s C) 13,3 Mbytes/s D) Ninguna de las anteriores.

5.- Sea una CPU con 4 líneas de interrupción PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es decir, PI1 tiene la prioridad mínima y PI4 la máxima. Se supone que se producen 4 peticiones de interrupción en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está ejecutando el programa de servicio de PI3, si el sistema no permite anidamiento de interrupciones, el orden en que se tratan las interrupciones es:

A) PI3, PI2, PI4 y PI1 B) PI3, PI4, PI2 y PI1 C) PI3, PI1, PI2 y PI4 D) Ninguna de las anteriores.

6.- ¿Cuántos sumadores binarios completos de 1 bit (SBC’s) harían falta para construir un sumador binario paralelo de 2n bits?

A) n B) 2n C) log2 n D) Ninguna de las anteriores.

7.- En la figura se muestra la tabla de transición de estados de un circuito secuencial síncrono con dos estados y dos entradas (x, y), donde Q es la variable de estado necesaria para la representación de los dos estados. Si el circuito se diseña empleando un elemento de memoria tipo D, indicar cuál de las siguientes expresiones de entrada al elemento de memoria es correcta:

A) yxQyxQD

B) yxxyQD

C) yxQD

D) Todas las afirmaciones anteriores son falsas.

8.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué expresión calcula la secuencia de instrucciones: Push M[C]; Push M[D]; Mult; Push M[C]; Push M[D]; Mult; Add; Pop M[A]?

A) A = (C+D) 2 B) A = (C+D+D) C C) A = 2 (CD) D) Ninguna de las anteriores.

Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.

Estado presente Q

Próximo Estado

0 0

1

0 1 0

1 1 0 1

x y x y x y x y

Page 13: Modelo 1

Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test.

Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test.

Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica): El siguiente algoritmo describe una operación que se realiza en un sistema digital:

1: Declaración de registros A, B, C;

2: Inicio: A Entrada1;

3: B Entrada2;

4: C Entrada3;

5: Bucle: if (C > 0) then go to Operar; 6: else go to Final;

7: Operar: A A + B;

8: C C - 1;

9: go to Bucle;

10: Final: if (A > 25) then Salida A;

11: go to Final;

A) (2 ptos) Obtener su diagrama ASM.

B) (2 ptos) Diseñar una ruta de datos o unidad de procesamiento para este algoritmo.

SOLUCIONES

Page 14: Modelo 1

1.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando la CPU dispone en exclusiva del bus, las instrucciones emplean en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no se requiere el acceso al bus. El controlador de DMA tarda 1 ciclo de reloj en transmitir una palabra. Si la frecuencia de reloj del computador es de 107 ciclos/s, ¿cuánto tiempo tardará el controlador de DMA en mover un bloque de datos compuesto por 107palabras?

A) 0,5s B) 1s C) 2s D) Ninguna de las anteriores. Solución En la estrategia de DMA transparente no se produce ninguna interferencia entre el controlador de DMA y la CPU. El controlador de DMA aprovecha los ciclos de reloj en los que la CPU no utiliza el bus para realizar la transmisión. Según el enunciado del problema, el controlador de DMA transmite una palabra durante los 2 ciclos de reloj en los que la CPU no utiliza el bus cuando ejecuta una instrucción. Por tanto, en los 4 ciclos de reloj que tarda la CPU en ejecutar una instrucción, el controlador de DMA transmite 2 palabras.

La velocidad de transferencia resultante, si el reloj del computador tiene una frecuencia de 107 ciclos/s, es de:

(107 ciclos/s) (2/4 palabras/ciclo) = 0,5107 palabras/s

Con esta velocidad de transferencia, para mover un bloque de 106 palabras el controlador de DMA tardará:

(107 palabras) / (0,5107 palabras/s) = 2 s Respuesta: C

2.- Una unidad de control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción y microprogramación horizontal tiene una memoria de control con 2K palabras32 bits/palabra de capacidad. Indicar el número máximo de puntos de control en la ruta de datos asociada.

A) 10 B) 12 C) 22 D) Ninguna de las anteriores. Solución [Ver el apartado 7.2.3 y 7.2.4 del texto base de teoría]. La memoria de control almacenará las posibles microinstrucciones que se pueden ejecutar en el sistema, la anchura de esta memoria y por tanto de una microinstrucción según el enunciado es de 32 bits. Por otra parte puesto que hay 2 Kpalabras, el número de bits necesarios para codificar una dirección de esta memoria de control es 10, ya que 2 K= 211. Luego como se utiliza un direccionamiento explícito con dos direcciones por microinstrucción se requieren 2 11=22 bits para especificar ambas direcciones. Como la anchura de una microinstrucción es de 32 bits, eso significa que se utilizan 10 bits (32-22) = 10 para el campo de control. Es decir, la estructura de la microinstrucción sería:

Control: 10 bits Dirección 1: 11 bits Dirección 2: 11 bits Como el enunciado indica que se usa microprogramación horizontal, eso significa que se asigna un bit a cada una de las señales de control existentes en la unidad de procesamiento. En consecuencia puesto que el campo de control de la microinstrucción tiene un tamaño de 10 bits, como máximo podrán existir 10 señales de control. Puesto que cada señal de control se aplica a un determinado punto físico de control como máximo existirán 10 puntos de control. Respuesta A

3.- Una memoria caché asociativa por conjuntos consta de 16 conjuntos con 4 bloques por conjunto. La memoria principal tiene una capacidad de 1M (220) palabras dividida en bloques de 128 palabras. A la dirección de memoria principal, expresada en binario, 10100001100100110000, le corresponde el conjunto, expresado en decimal:

A) 7 B) 3 C) 2 D) Ninguna de las anteriores.

Page 15: Modelo 1

Solución Hay que determinar el número de bits que contienen los 3 campos (etiqueta, conjunto y palabra) en los que se divide el formato de la dirección de Mp en una memoria caché asociativa por conjuntos. Como la capacidad de la memoria principal es de 1Mpalabras (220), esto implica que el número total de bits para direccionar a la Mp es de: n = 20 bits. Como la memoria caché asociativa por conjuntos consta de 16 conjuntos (24), esto implica que el número de bits que necesita el campo conjunto es de: c = 4 bits. Como cada bloque en los que se divide la Mp consta de 128 palabras (27), esto implica que el número de bits que necesita el campo palabra es de: p = 7 bits. A partir de estos datos podemos ya determinar el número de bits que contiene el campo etiqueta que es de: e = n – p – c = 20 – 4 – 7 = 9 bits. A la dirección de memoria principal, expresada en binario, 10100001100100110000, le corresponderán entonces los contenidos siguientes en los diferentes campos de la dirección:

etiqueta (los 9 bits más significativos de la dirección): 101000011 conjunto (los 4 bits siguientes de la dirección): 0010 palabra (los 7 bits menos significativos de la dirección): 0110000

Luego el conjunto expresado en decimal es el 2. Respuesta: C

4.- Se dispone de un bus síncrono que tiene un tiempo de ciclo de 50 ns y cada transacción del bus requiere un ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 líneas. Si la memoria tiene 200 ns de tiempo de acceso, el ancho de banda en el proceso de lectura de dicha memoria es de:

A) 10,5 Mbytes/s B) 20,2 Mbytes/s C) 13,3 Mbytes/s D) Ninguna de las anteriores. Solución En la figura siguiente se muestra el cronograma correspondiente al proceso de escritura utilizando el bus síncrono:

Cronograma del proceso de lectura con bus síncrono

Como se puede observar, los distintos tiempos significativos para la resolución del problema son los siguientes: Envío de dirección a memoria = 50 ns Lectura de memoria = 200 ns Envío de datos a CPU = 50 ns Por lo tanto se tarda un total de 300 ns en leer 32 bits (= 4 bytes), luego el ancho de banda será:

Ancho de banda = 4 bytes/300 ns = 4 Mbytes/0,3 s = 13,3 Mbytes/s Respuesta: C

R/W

Tiempo de acceso a memoria = 200 ns

Reloj

Dirección

Datos

Ciclo-6Ciclo-1 Ciclo-2 Ciclo-3 Ciclo-4 Ciclo-5

Page 16: Modelo 1

5.- Sea una CPU con 4 líneas de interrupción PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es decir, PI1 tiene la prioridad mínima y PI4 la máxima. Se supone que se producen 4 peticiones de interrupción en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está ejecutando el programa de servicio de PI3, si el sistema no permite anidamiento de interrupciones, el orden en que se tratan las interrupciones es:

A) PI3, PI2, PI4 y PI1 B) PI3, PI4, PI2 y PI1 C) PI3, PI1, PI2 y PI4 D) Ninguna de las anteriores. Solución Como el sistema no permite anidamiento se trata de un sistema con un único nivel de interrupciones. Por lo tanto, una vez que se inicia la ejecución del programa de servicio de una interrupción continúa hasta que finalice antes de que la CPU pueda aceptar una segunda petición de interrupción. La secuencia de petición de interrupciones es la siguiente: Llega PI3 y comienza a ejecutarse el programa de servicio de PI3. A continuación, de forma simultánea llegan PI1, PI4 y PI2. Cuando llegan estas tres peticiones se continúa ejecutando el programa de servicio de PI3. Al finalizar este programa de atención a PI3, se procede a ejecutar el programa de servicio de PI4 que es la interrupción recibida con mayor prioridad. Cuando éste finaliza, se procede a ejecutar el programa servicio de PI2, la siguiente que debe ser atendida según órdenes de prioridades. Por último, cuando termina el programa de servicio de la interrupción PI2, se procede a ejecutar el programa de gestión de PI1. Por lo tanto, el orden de ejecución de las interrupciones es: PI3, PI4, PI2 y PI1.

Respuesta: B

6.- ¿Cuántos sumadores binarios completos de 1 bit (SBC’s) harían falta para construir un sumador binario paralelo de 2n bits?

A) n B) 2n C) log2 n D) Ninguna de las anteriores. Solución Como la longitud de palabra es de 2n bits y se trata de implementar un sumador binario paralelo serán necesarios 2n SBC’s (1 por cada bit) [ver apartado 4.1.4 y Figura 4.10 del libro de texto - página 194]. Respuesta: B

7.- En la figura se muestra la tabla de transición de estados de un circuito secuencial síncrono con dos estados y dos entradas (x, y), donde Q es la variable de estado necesaria para la representación de los dos estados. Si el circuito se diseña empleando un elemento de memoria tipo D, indicar cuál de las siguientes expresiones de entrada al elemento de memoria es correcta:

A) yxQyxQD

B) yxxyQD

C) yxQD

D) Todas las afirmaciones anteriores son falsas. Solución [Ver las secciones 5.5.5, B.3.3, B.6.5, B.6.6 y B.6.11 del texto base de teoría, así como el problema 5-2 del libro de problemas]. La forma más adecuada de resolver este ejercicio consiste en construir la tabla de la verdad de cada una de las soluciones propuestas y compararlas con los valores de D(t) obtenidos de la tabla de estados del enunciado. Se observa que la solución correcta es la B).

Estado presente Q

Próximo Estado

0 0

1

0 1 0

1 1 0 1

x y x y x y x y

Page 17: Modelo 1

Q x y D(t) A) B) C)

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0

Respuesta B

8.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué expresión calcula la secuencia de instrucciones: Push M[C]; Push M[D]; Mult; Push M[C]; Push M[D]; Mult; Add; Pop M[A]?

A) A = (C+D) 2 B) A = (C+D+D) C C) A = 2 (CD) D) Ninguna de las anteriores. Solución [Ver apartado 6.1.4 del texto base de teoría y el problema 6-4 del libro de problemas]. La evolución del contenido de la pila según se van ejecutando las instrucciones se muestra a continuación: Contenido de la pila Push M [C]; C Push M[D]; C, D Mult CD Push M[C]; CD, C Push M[D]; CD, C, D Mult; CD, CD Add; (CD)+ (CD) Pop M[A]; Respuesta: C

Page 18: Modelo 1

PROBLEM,A El siguiente algoritmo describe una operación que se realiza en un sistema digital:

1: Declaración de registros A, B, C;

2: Inicio: A Entrada1;

3: B Entrada2;

4: C Entrada3;

5: Bucle: if (C > 0) then go to Operar; 6: else go to Final;

7: Operar: A A + B;

8: C C - 1;

9: go to Bucle;

10: Final: if (A > 25) then Salida A;

11: go to Final;

A) (2 ptos) Obtener su diagrama ASM.

B) (2 ptos) Diseñar una ruta de datos para este algoritmo.

Solución Para resolver este problema se necesitan cuatro variables: A, B, C y Salida. El algoritmo comienza introduciendo desde tres puertos de entrada (Entrada1, Entrada2 y Entrada3) valores en A, B y C respectivamente. A continuación se entra en un bucle que se repite hasta que C sea menor que cero. En el caso en que C > 0, se suman los contenidos de A y B (almacenando el resultado en A), se decrementa en uno el valor de C y se ejecuta el bucle de nuevo. En caso contrario, se analiza el valor almacenado en A y si es mayor que 25 se carga el valor almacenado en A en la variable Salida. En la Figura 1 se muestra un diagrama ASM para este algoritmo. Tiene tres estados. En el S0 se inicializan A, B y C. En el S1 se realizan las dos operaciones sobre los valores contenidos en A y C. En S2, si se satisface la condición A >25 se carga el valor de A en la variable Salida.

Figura 1: Diagrama ASM para el algoritmo propuesto. En la Figura 2 se muestra la Unidad de Procesamiento propuesta para este algoritmo. Con relación a esta

Page 19: Modelo 1

arquitectura se pueden realizar los siguientes comentarios: Se dispone de tres registros A, B y Salida que se cargan con las señales de control c1, c2 y c3

respectivamente. Se dispone de un Contador C, que se carga con la señal c4 y se puede decrementar en uno activando la

señal c5. La señal de selección del multiplexor, c6, sirve para cargar en A el valor de Entrada1 o la salida del

sumador. El sumador genera una señal MayorA25 en caso de que el valor contenido en A sea mayor que 25. El Contador C genera una señal zeroC cuando su valor sea cero.

Figura 2: Ruta de datos para el algoritmo propuesto

Sumador

Registro A Registro B

Salida

Contador C

MUX

Entrada 1

Entrada 2

Entrada 3

zeroC

MayorA25

c6

c1 c2

c4

c5 c2

c3

Page 20: Modelo 1

MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.

INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

1.- Se dispone de un computador que emplea dos niveles de memoria caché y una memoria principal. Los tiempos medios de acceso a la memoria caché de primer nivel, a la de segundo nivel y a la memoria principal son de 4 ns, 10 ns y 122 ns respectivamente. La tasa de acierto de la memoria caché de primer nivel es 0,9 y la tasa de acierto combinada de ambas cachés es 0,8. Calcular el tiempo de acceso medio al sistema conjunto de memoria.

A) 24,4 ns B) 29 ns C) 32,6 ns D) Ninguna de las anteriores.

2.- En un computador que funciona a una velocidad de 105 ciclos/s, una instrucción emplea, en promedio, 5 ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 2 ciclos en la transferencia de una palabra.

I. Utilizando DMA transparente, la máxima velocidad de transferencia de datos es de 20.000 palabras/s. II. Empleando DMA por robo de ciclos, la máxima velocidad de transferencia de datos es superior a 15.000

palabras/s.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

3.- Se desea diseñar un circuito sumador/restador de dos números binarios sin signo de n bits cada uno utilizando una memoria ROM. Una señal de control indica el tipo de operación a realizar. El tamaño mínimo de la memoria ROM será de:

A) 22n+1 × 2n B) 22n × 4 C) 2n+1 × 2n D) Ninguna de las anteriores.

4.- La CPU de un computador ejecuta instrucciones de 32 bits de longitud. Si el bus tiene una anchura de 8 líneas de datos y 16 de dirección, indicar cual es la respuesta correcta:

A) La CPU deberá acceder a la memoria 4 veces para ejecutar cada instrucción. B) La CPU accederá a la memoria 2 veces para ejecutar cada instrucción. C) El número de accesos a memoria depende de cuantas líneas de control tenga el bus. D) Ninguna de las respuestas anteriores es correcta.

5.- En el diseño de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor, empleando el método de selección por campo, y siendo posible consultar en cada estado una única condición de las 12 existentes, es necesario que el registro tenga una capacidad de:

A) 5 bits. B) 10 bits. C) Faltan datos para calcularlo. D) Ninguna de las anteriores.

6.- El formato de instrucción de un procesador utiliza 6 bits para el código de operación y 14 bits para el campo de dirección. Considerando que el procesador tiene 8 registros de 8 bits cada uno para uso general, ¿cuántos campos y de cuántos bits cada uno es necesario añadir al formato de instrucción inicial para poder realizar un direccionamiento indexado a través de registros?

A) 1 campo de 3 bits. B) 2 campos de 3 bits. C) 1 campo de 2 bits. D) Ninguna de las anteriores.

7.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10 bits para la dirección del operando. Indicar cuál es la codificación en binario de una instrucción de bifurcación, con direccionamiento relativo al contador de programa, almacenada en la posición 500 (en decimal), que origina un salto a la posición 590 (en decimal), cuyo código de operación es 1110011:

A) 1110111110100101 B) 1110110001011010 C) 0000110001011010 D) Ninguna de las anteriores.

8.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:

I. La posición de conexión de los dispositivos a la línea de arbitraje determina la prioridad de aquellos en el uso del bus.

Page 21: Modelo 1

II. El uso del bus por un dispositivo se interrumpe cuando otro dispositivo con mayor prioridad solicita el uso del bus.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.

Cuestión 1 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test.

Cuestión 3 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test.

Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica): Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de operación diferentes, y que realiza las operaciones de entrada/salida mediante interrupciones.

A) (1 pto) ¿Cuál será el formato de instrucción y el número de bits necesarios para poder direccionar 16.384 posiciones de memoria directamente?

B) (1 pto) Si la palabra de memoria es de 32 bits, ¿cuántas posiciones de memoria se podrán direccionar utilizando direccionamiento indirecto?

C) (1 pto) Considerando que el microprocesador tiene 8 registros de 8 bits cada uno para uso general, ¿qué campo y con cuántos bits es necesario añadir al formato de instrucción del apartado A) para poder realizar un direccionamiento indexado a través de registros?

D) (0,5 ptos) ¿Cuál será el rango de direccionamiento en este último caso? E) (0,5 ptos) Al llevarse a cabo una operación de entrada/salida, ¿cuál será el tiempo máximo para que el

procesador reconozca una interrupción?

Page 22: Modelo 1

SOLUCIÓN TEST 1.- Se dispone de un computador que emplea dos niveles de memoria caché y una memoria principal. Los tiempos medios de acceso a la memoria caché de primer nivel, a la de segundo nivel y a la memoria principal son de 4 ns, 10 ns y 122 ns respectivamente. La tasa de acierto de la memoria caché de primer nivel es 0,9 y la tasa de acierto combinada de ambas cachés es 0,8. Calcular el tiempo de acceso medio al sistema conjunto de memoria.

A) 24.4 ns B) 29 ns C) 32,6 ns D) Ninguna de las anteriores.

Solución El tiempo de acceso a un sistema con caché de primer y segundo nivel se puede determinar mediante la expresión mostrada en la página 94 del libro de teoría:

ta = [h1 tca1 + (1 - h1) tca2] + (1-h2) tp

Donde: tca1 es el tiempo de acceso medio a la caché de primer nivel, tca2 es el tiempo de acceso medio a la caché de segundo nivel, tp es el tiempo de acceso medio a la memoria principal, h1 es la tasa de acierto de la memoria caché de primer nivel y h2 la tasa de acierto combinada de ambas cachés. Por lo tanto, sustituyendo los datos del problema

ta = [0,9 4 + 0,1 10] + 0,2 122 = 3,6 + 1 + 24,4 = 29 ns Respuesta: B 2.- En un computador que funciona a una velocidad de 105 ciclos/s, una instrucción emplea, en promedio, 5 ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 2 ciclos en la transferencia de una palabra.

I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de 20.000 palabras/s. II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos es superior a

15.000 palabras/s.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución Con DMA transparente, se transmite cuando no se está utilizando el bus. Por tanto, la velocidad de transferencia se calcula como sigue:

((105 ciclos/s) / (2 ciclos/palabra)) / ((5 ciclos/instr.) / (2 ciclos/instr.) = 2 104 palabras/s Por tanto la primera afirmación es cierta.

Con DMA por robo de ciclos se transmite en el ciclo de instrucción y además durante el tiempo que se tarda en transmitir una palabra, por lo tanto:

(105 ciclos / s) / (5 ciclos/instr. + 2 ciclos/palabra) = (10/7) 104 palabras /s Por tanto la segunda afirmación es falsa. Respuesta: B 3.- Se desea diseñar un circuito sumador/restador de dos números binarios sin signo de n bits cada uno utilizando una memoria ROM. Una señal de control indica el tipo de operación a realizar. El tamaño mínimo de la memoria ROM será de:

Page 23: Modelo 1

A) 22n+1 × 2n B) 22n × 4 C) 2n+1 × 2n D) Ninguna de las anteriores.

Solución La memoria ROM deberá tener n + n + 1 = 2n + 1 líneas de dirección, ya que los números a sumar son de n bits cada uno (requieren cada uno n líneas de dirección) y además hay que considerar la línea correspondiente a la señal de control (suma/resta). Por otra parte la suma de dos números sin signo de n bits cada uno da un resultado que como máximo tiene n + 1 bits. Como consecuencia de lo anterior la ROM resultante debe tener la siguiente capacidad total:

22n+1 palabras × (n + 1) bits/palabra

La respuesta correcta es la D: Ninguna de las anteriores. Respuesta: D 4.- La CPU de un computador ejecuta instrucciones de 32 bits de longitud. Si el bus tiene una anchura de 8 líneas de datos y 16 de dirección, indicar cual es la respuesta correcta:

A) La CPU deberá acceder a la memoria 4 veces para ejecutar cada instrucción. B) La CPU accederá a la memoria 2 veces para ejecutar cada instrucción. C) El número de accesos a memoria depende de cuantas líneas de control tenga el bus. D) Ninguna de las respuestas anteriores es correcta.

Solución Si el bus tiene únicamente 8 líneas de datos, tendrá que realizar 4 accesos a memoria para completar cada instrucción, puesto que las instrucciones son de 32 bits. (Ver página 23 del libro de teoría). Téngase en cuenta que: 8 líneas de datos × 4 accesos = 32 bits de instrucción. Respuesta: A 5.- En el diseño de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor, empleando el método de selección por campo, y siendo posible consultar en cada estado una única condición de las 12 existentes, es necesario que el registro tenga una capacidad de:

A) 5 bits. B) 10 bits. C) Faltan datos para calcularlo. D) Ninguna de las anteriores. Solución [Ver los problemas 5-10 y 5-22, o la página 311 del texto de teoría]. El registro almacena el estado y unos bits adicionales seleccionan la(s) condición(es). Para codificar el estado hacen falta 6 bits (26 = 64). Para seleccionar la condición son necesarios otros 4 bits (24 = 16 > 12). Por lo tanto, el registro tiene que tener:

6 + 4 = 10 bits Respuesta: B

6.- El formato de instrucción de un procesador utiliza 6 bits para el código de operación y 14 bits para el campo de dirección. Considerando que el procesador tiene 8 registros de 8 bits cada uno para uso general, ¿cuántos campos y de cuántos bits cada uno es necesario añadir al formato de instrucción inicial para poder realizar un direccionamiento indexado a través de registros?

A) 1 campo de 3 bits. B) 2 campos de 3 bits. C) 1 campo de 2 bits. D) Ninguna de las anteriores.

Page 24: Modelo 1

Solución La dirección efectiva en un direccionamiento indexado a través de registros se obtiene como la suma de una dirección base de memoria contenida en el campo de dirección de la instrucción y un desplazamiento (contenido en el registro índice). Por tanto, es necesario añadir un campo de registro con 3 bits para poder referenciar cualquiera de los 8 (23) registros diferentes del procesador. El formato de instrucción será:

Código de operación (6 bits) Dirección (registros)(3 bits) Base(14 bits)

Respuesta: A 7.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10 bits para la dirección del operando. Indicar cuál es la codificación en binario de una instrucción de bifurcación, con direccionamiento relativo al contador de programa, almacenada en la posición 500 (en decimal), que origina un salto a la posición 590 (en decimal), cuyo código de operación es 1110011:

A) 1110111110100101 B) 1110110001011010 C) 0000110001011010 D) 1110111110100110

Solución El operando de la instrucción codifica el valor del salto a realizar. Como se salta de la posición 500 a la posición 590, el valor del salto es 90 ( = 590 - 500). Codificando 90 en binario con 10 bits se obtiene: 0001011010. En resumen, la instrucción tiene el código de operación 111011, propuesto en el enunciado, y como operando el valor calculado antes 0001011010. Por tanto la codificación en binario de esta instrucción es: 1110110001011010 Respuesta: B Nota: Al haberse detectado que al código de operación del enunciado le sobra un dígito, se ha dado por buena tanto la respuesta B como la D. Si se considera que el código de operación es de 6 dígitos, la respuesta correcta es la B. En el caso de considerar el código de operación de 7 dígitos, la respuesta correcta es la D. 8.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:

I. La posición de conexión de los dispositivos a la línea de arbitraje determina la prioridad de aquellos en el uso del bus.

II. El uso del bus por un dispositivo se interrumpe cuando otro dispositivo con mayor prioridad solicita el uso del bus.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

[Ver apartado 1.4.4 del libro de teoría, en concreto en la página 29, figura 1.25 se trata sobre los buses de arbitraje distribuido]

I. Cierta, puesto que el dispositivo más cercano es el de máxima prioridad.

II. Falsa. Mientras la línea de bus ocupado está activada, ningún otro módulo puede acceder al bus, aunque sea más prioritario. Respuesta: B

Page 25: Modelo 1

PROBLEMA Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de operación diferentes, y que realiza las operaciones de entrada/salida mediante interrupciones.

A) (1 pto) ¿Cuál será el formato de instrucción y el número de bits necesarios para poder direccionar 16.384 posiciones de memoria directamente?

B) (1 pto) Si la palabra de memoria es de 32 bits, ¿cuántas posiciones de memoria se podrán direccionar utilizando direccionamiento indirecto?

C) (1 pto) Considerando que el microprocesador tiene 8 registros de 8 bits cada uno para uso general, ¿qué campo y con cuántos bits es necesario añadir al formato de instrucción del apartado A) para poder realizar un direccionamiento indexado a través de registros?

D) (0,5 ptos) ¿Cuál será el rango de direccionamiento en este último caso? E) (0,5 ptos) Al llevarse a cabo una operación de entrada/salida, ¿cuál será el tiempo máximo para que el

procesador reconozca una interrupción? SOLUCIÓN

A) Para poder disponer de un juego de instrucciones con 60 códigos de operación diferentes es necesario un campo para el código de operación de 6 bits, ya que 26 = 64 > 60.

Por otro lado, para poder direccionar 16.384 posiciones de memoria directamente es necesario un campo de dirección de 14 bits, ya que 214 = 16.384. Por tanto, el formato de instrucción será:

Código de operación (6 bits) Dirección (14 bits)

B) En el direccionamiento indirecto la dirección efectiva se encuentra en la posición de memoria referenciada en el campo de dirección de la instrucción. Por tanto, dado que la palabra de memoria es de 32 bits, se podrán direccionar 232 posiciones de memoria utilizando direccionamiento indirecto.

C) La dirección efectiva en un direccionamiento indexado a través de registros se obtiene como la suma de una dirección base de memoria y el contenido del registro índice del banco de registros. Por tanto, es necesario añadir un campo de registro con 3 bits para poder referenciar cualquiera de los 8 (23) registros diferentes del procesador. El formato de instrucción será:

Código de operación (6 bits) Dirección (3 bits) Base (14 bits)

D) Como los registros son de 8 bits, con ellos se puede referenciar desde la dirección 0 hasta la dirección 255 (28-1), y como el campo de dirección es de 14 bits se puede representar desde la dirección 0 hasta la dirección 16.383 (214-1).

Por tanto, el rango de direccionamiento utilizando direccionamiento indexado a través de registros es desde 0 (0+0) hasta 16.638 (255+16.383).

E) Dado que el procesador termina la instrucción en curso antes de atender una interrupción, el tiempo máximo de reconocimiento de una interrupción será el tiempo de la instrucción que más tarde en ejecutarse.