Sunteți pe pagina 1din 132

MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores

I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo A Junio 2011 - 1ª.
1.- Calcular el porcentaje de aprovechamiento de la capacidad total de la memoria que se usa para diseñar un
circuito combinacional que multiplica dos números binarios de 5 bits y 4 bits respectivamente, partiendo de
módulos de memoria ROM de 26 palabras × 6 bits/palabra.
A) Un aprovechamiento inferior al 50%.
B) Un aprovechamiento comprendido entre el 50% y el 80%.
C) Un aprovechamiento superior al 80%.
D) Ninguna de las anteriores.
2.- Se considera un procesador que dispone de 20 líneas de direcciones (A19 - A0). Para la construcción de su
unidad de memoria se dispone de módulos de 32K palabras, utilizándose las líneas más significativas (A19 -
A17) para la selección de cada módulo. En el mapa de memoria, las direcciones 5FFFF y 80000 (en notación
hexadecimal) se encuentran respectivamente en los módulos:
A) 3 y 4. B) 2 y 3. C) 2 y 4. 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
3.- Un computador tiene conectado un ratón cuya rutina de actualización de su posición y posterior localización
del puntero en la pantalla requiere de 2000 ciclos para su ejecución. Esta rutina debe ejecutarse al menos 30
veces para poder actualizar la posición del ratón en la pantalla. Si el computador tiene una frecuencia de
2,7 GHz, indicar en que rango se encuentra el porcentaje de tiempo que dedica el computador a ejecutar esta
rutina.
A) Menor que 0,05%. B) Mayor que 0,05% y menor que 0,5%.
C) Mayor que 0,5% y menor que 1%. D) Ninguna de las anteriores.
4.- El siguiente algoritmo describe una determinada operación de un sistema digital:
1: Declaración: A[8], B[8], Cont[3]; A1 y A0 son los dos bits menos significativos del
2: A  Bus-Entrada; registro A. Si inicialmente se cargan los registros A y
3: B Bus-Entrada; B desde el bus de entrada con los valores 00010011 y
4: for Cont = 0 to 2 do 11100011 respectivamente, ¿cuáles son los valores
5: if A1 A0  0 1 then contenidos en A y B al finalizar el algoritmo?
6: B 0; A) A = 01001100; B =11100011.
7: endif; B) A = 01001100; B =00000000.
8: Despl.CerradoDcha(A); C) A = 00100110; B =00000000.
9: Despl.CerradoDcha(A); D) Ninguna de las anteriores.
10: endfor;
11: Bus B;
12: Parar;
5.- Dada una memoria caché de tamaño 32 bytes que utiliza correspondencia directa, indicar en qué bloque se
localiza el byte 36 de la memoria principal.
I. Si los bloques tienen un tamaño de 4 bytes.
II. Si los bloques tienen un tamaño de 8 bytes.
A) I: 1, II: 4. B) I: 1, II: 0. C) I: 4, II: 0. D) I: 4, II: 1.
6.- Un bus síncrono tiene un ancho de banda de 5,56 Mbytes/s (1Mbyte= 106 bytes). Sabiendo que multiplexa
16 líneas de datos y que el tiempo de acceso a memoria es de 240 ns en el proceso de lectura, ¿cuál es el tiempo
de ciclo del bus?
A) 80 ns. B) 40 ns. C) 60 ns. D) 30 ns.

7.- Indique si las siguientes afirmaciones son verdaderas:


I. En un procesador de n direcciones todas sus instrucciones deben tener n direcciones explícitas.
II. En los procesadores de pila puede haber instrucciones con una dirección explícita.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

8.- Un ordenador con 24 líneas de dirección tiene una memoria de 16Mbytes (224 bytes) y utiliza E/S aislada de
memoria. Si cada periférico ocupa 8 direcciones, ¿cuál es el número máximo de periféricos que pueden
conectar a este ordenador?
A) 218. B) 221. C) 220. D) Ninguna de las anteriores.
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):


Se tiene un computador con una memoria caché que utiliza correspondencia directa. Inicialmente la memoria
caché está vacía, consta de 16 bytes por bloque (4 palabras) y un tamaño total de 16 palabras. Dada la siguiente
secuencia de referencias a palabras de memoria:

1, 4, 8, 5, 20, 17, 19, 56, 9, 11, 4, 43, 5, 6, 9, 17

A) (1.5 ptos) Mostrar los aciertos y los fallos de la memoria caché.


B) (1 pto) Mostrar el contenido final de la memoria caché.
C) (1.5 ptos) Calcular la tasa de fallos y la tasa de aciertos.
SOLUCIONES

1.- Calcular el porcentaje de aprovechamiento de la capacidad total de la memoria que se usa para diseñar un
circuito combinacional que multiplica dos números binarios de 5 bits y 4 bits respectivamente, partiendo de
módulos de memoria ROM de 26 palabras × 6 bits/palabra.
A) Un aprovechamiento inferior al 50%.
B) Un aprovechamiento comprendido entre el 50% y el 80%.
C) Un aprovechamiento superior al 80%.
D) Ninguna de las anteriores.

Solución
Con un número de 5 bits se representa como máximo el número 31 y con un número de 4 bits el número 15, por
tanto, el mayor número que se puede representar es 465 (31×15), para lo cual se necesitan 9 bits. Este será el
número de bits necesario para almacenar la palabra.

Para almacenar todas las posibles palabras para realizar la multiplicación hacen falta 25+4 palabras. Con
módulos como los disponibles hacen falta 8 filas de este tipo de módulos (29 / 26 = 23) y en cada una de estas
filas se necesitan 2 módulos, por tanto un total de 16 módulos.

Porcentaje = [(29 × 9) / (16 × (26 × 6))] × 100 = 75 %

Respuesta : B (Un aprovechamiento comprendido entre el 50% y el 80%).


2.- Se considera un procesador que dispone de 20 líneas de direcciones (A19 - A0). Para la construcción de su
unidad de memoria se dispone de módulos de 32K palabras, utilizándose las líneas más significativas (A19 -
A17) para la selección de cada módulo. En el mapa de memoria, las direcciones 5FFFF y 80000 (en notación
hexadecimal) se encuentran respectivamente en los módulos:
A) 3 y 4. B) 2 y 3. C) 2 y 4. 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 A19A17, que son los empleados para seleccionar cada módulo, y
el resto de los bits de la dirección, A16..A0, con el valor cero. En la tabla siguiente se muestra el resultado.

Dirección base en binario Dir. base en


A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A hexadecima
0 l
Módulo 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00000
Módulo 1 0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20000
Módulo 2 0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40000
Módulo 3 0 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60000
Módulo 4 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80000
Módulo 5 1 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A0000
Módulo 6 1 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C 0 0 00
Módulo 7 1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 E 0 0 00

Respuesta: C (módulos 2 y 4).

3.- Un computador tiene conectado un ratón cuya rutina de actualización de su posición y posterior localización
del puntero en la pantalla requiere de 2000 ciclos para su ejecución. Esta rutina debe ejecutarse al menos 30
veces para poder actualizar la posición del ratón en la pantalla. Si el computador tiene una frecuencia de
2,7 GHz, indicar en que rango se encuentra el porcentaje de tiempo que dedica el computador a ejecutar esta
rutina.
A) Menor que 0,05%. B) Mayor que 0,05% y menor que 0,5%.
C) Mayor que 0,5% y menor que 1%. D) Ninguna de las anteriores.

Solución

2000 ciclos  30 = 60000 ciclos

60000 ciclos / 2,7 109 Hz = 22,22 µs

(22,22 µs /106 (µs /s)) 100% = 0,00222 %

Respuesta : A (Menor que 0,05%).

4.- El siguiente algoritmo describe una determinada operación de un sistema digital:


1: Declaración: A[8], B[8], Cont[3]; A1 y A0 son los dos bits menos significativos del
2: A  Bus-Entrada; registro A. Si inicialmente se cargan los registros A y
3: B Bus-Entrada; B desde el bus de entrada con los valores 00010011 y
4: for Cont = 0 to 2 do 11100011 respectivamente, ¿cuáles son los valores
5: if A1 A0  0 1 then contenidos en A y B al finalizar el algoritmo?
6: B 0; A) A = 01001100; B =11100011.
7: endif; B) A = 01001100; B =00000000.
8: Despl.CerradoDcha(A); C) A = 00100110; B =00000000.
9: Despl.CerradoDcha(A); D) Ninguna de las anteriores.
10: endfor;
11: Bus B;
12: Parar;

Solución
Primera iteración del bucle Cont = 0:

Nº instrucción A B
2: A  Bus-Entrada; 00010011 --
3: B Bus-Entrada; 11100011
4: for Cont = 0 to 2 do
5: if A1 A0  0 1 then
6: B 0; 00000000
7: endif;
8: Despl.CerradoDcha(A); 10001001
9: Despl.CerradoDcha(A); 11000100
10: endfor
11:

Segunda iteración del bucle Cont = 1:

Nº instrucción A B
11000100 00000000

4: for Cont = 0 to 2 do
5: if A1 A0  0 1 then
6: B 0; 00000000
7: endif;
8: Despl.CerradoDcha(A); 01100010
9: Despl.CerradoDcha(A); 00110001
10: endfor

Primera iteración del bucle Cont = 2:

Nº instrucción A B
00110001 00000000

4: for Cont = 0 to 2 do
5: if A1 A0  0 1 then
6: B 0; 00000000
7: endif;
8: Despl.CerradoDcha(A); 10011000
9: Despl.CerradoDcha(A); 01001100
10: endfor
Bus B
Respuesta: B (A = 01001100; B =00000000).

5.- Dada una memoria caché de tamaño 32 bytes que utiliza correspondencia directa, indicar en qué bloque se
localiza el byte 36 de la memoria principal.
I. Si los bloques tienen un tamaño de 4 bytes.
II. Si los bloques tienen un tamaño de 8 bytes.
A) I: 1, II: 4. B) I: 1, II: 0. C) I: 4, II: 0. D) I: 4, II: 1.

Solución

I. El número de bloques de la memoria caché es C =32/4 = 8


El byte 36 de la memoria principal se localiza en el bloque j = 9
El número de bloque i asignado en la memoria caché al bloque j de la memoria principal se calcula mediante
la siguiente función de transformación:
i = j módulo C = 9 módulo 8 = 1

II. El número de bloques de la memoria caché es C =32/8 = 4


El byte 36 de la memoria principal se localiza en el bloque j = 4
El número de bloque i asignado en la memoria caché al bloque j de la memoria principal se calcula mediante
la siguiente función de transformación:
i = j módulo C = 4 módulo 4 = 0

Respuesta: B (I: 1, II: 0)

6.- Un bus síncrono tiene un ancho de banda de 5,56 Mbytes/s (1Mbyte= 106 bytes). Sabiendo que multiplexa
16 líneas de datos y que el tiempo de acceso a memoria es de 240 ns en el proceso de lectura, ¿cuál es el tiempo
de ciclo del bus?
A) 80 ns. B) 40 ns. C) 60 ns. D) 30 ns.

Solución

Con el ancho de banda dado y sabiendo que se disponen de 16 líneas (2 bytes), se puede calcular el tiempo de
ejecución de la operación de lectura:
t = 2bytes/ 5,56 Mbytes/s = 0,360 µs= 360 ns
Como se necesitarán dos ciclos adicionales, además de los que se usan en el acceso a memoria, uno para el
direccionamiento y otro para el envío de datos a la CPU, se obtiene la siguiente ecuación para el tiempo de
ciclo del bus:
t = 2x+240=360.
Por tanto x=60 ns, y el número de ciclos para el acceso a memoria es 4.

Respuesta: C (60 ns)

7.- Indique si las siguientes afirmaciones son verdaderas:


I. En un procesador de n direcciones todas sus instrucciones deben tener n direcciones explícitas.
II. En los procesadores de pila puede haber instrucciones con una dirección explícita.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

I. Es Falsa. Por ejemplo, existen operaciones binarias en procesadores con tres direcciones que se especifican
con dos direcciones.
II. Es verdadera. Las operaciones para sacar y meter en la pila tienen explícita una dirección.
Respuesta: C (I: no, II: sí)

8.- Un ordenador con 24 líneas de dirección tiene una memoria de 16Mbytes (224 bytes) y utiliza E/S aislada de
memoria. Si cada periférico ocupa 8 direcciones, ¿cuál es el número máximo de periféricos que puede
conectarse a este ordenador?
A) 218. B) 221. C) 220. D) Ninguna de las anteriores.

Solución

Como es E/S aislada de memoria, el nº de direcciones para acceder a palabras en periféricos es igual al número
total de direcciones disponibles: 224
Como cada periférico ocupa 8 direcciones, el número máximo de periféricos que puede conectarse es:
224 direcciones/(8 direcciones/periférico) = 221 periféricos
Respuesta : B

PROBLEMA
Se tiene un computador con una memoria caché que utiliza correspondencia directa. Inicialmente la memoria
caché está vacía, consta de 16 bytes por bloque (4 palabras) y un tamaño total de 16 palabras. Dada la siguiente
secuencia de referencias a palabras de memoria:

1, 4, 8, 5, 20, 17, 19, 56, 9, 11, 4, 43, 5, 6, 9, 17

A) (1.5 ptos) Mostrar los aciertos y los fallos de la memoria caché.


B) (1 pto) Mostrar el contenido final de la memoria caché.
C) (1.5 ptos) Calcular la tasa de fallos y la tasa de aciertos.

Solución

16 bytes por bloque → 2 bits indican la palabra dentro del bloque y 2 bits indican el byte dentro de la palabra
16 palabras en total/4 palabras por bloque → 4 bloques diferentes → 2 bits indican el número de bloque

Referencias a memoria
Referencia Referencia Referencia de byte Acierto/Fallo Nº bloque
de palabra de byte (en binario)

1 4 (0...00000000) (00) (01) (00) Fallo 0


4 16 (0...00000000) (01) (00) (00) Fallo 1
8 32 (0...00000000) (10) (00) (00) Fallo 2
5 20 (0...00000000) (01) (01) (00) Acierto 1
20 80 (0...00000001) (01) (00) (00) Fallo 1
17 68 (0...00000001) (00) (01) (00) Fallo 0
19 76 (0...00000001) (00) (11) (00) Acierto 0
56 224 (0...00000011) (10) (00) (00) Fallo 2
9 36 (0...00000000) (10) (01) (00) Fallo 2
11 44 (0...00000000) (10) (11) (00) Acierto 2
4 16 (0...00000000) (01) (00) (00) Fallo 1
43 172 (0...00000010) (10) (11) (00) Fallo 2
5 20 (0...00000000) (01) (01) (00) Acierto 1
6 24 (0...00000000) (01) (10) (00) Acierto 1
9 36 (0...00000000) (10) (01) (00) Fallo 2
17 68 (0...00000001) (00) (01) (00) Acierto 0

Contenido final de la memoria caché

Nº Bloque Etiqueta Datos (en su lugar


referencia de palabra)
0 0...0000 0001 = 1 17
1 0...0000 0000 = 0 4
2 0...0000 0000 = 0 9
3 - -

El número de accesos total es 16. De los 16 accesos, 10 son fallos y 6 son aciertos, así que la tasa de fallos es de
10/16  100 = 62.5 % de fallos. La tasa de aciertos es 100-tasa de fallos, o también 6/16  100 = 37.5 % de
aciertos.
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo C Junio 2011 2ª.
1.- Se dispone de módulos de memoria ROM que tienen una capacidad 24n palabras × (n+1) bits/palabra. ¿Cuál
es el número mínimo de módulos de este tipo necesarios para diseñar un circuito combinacional que sea capaz
de sumar 3 números de 2n bits cada uno?
A) 24n +1 módulos. B) 22n +2 módulos. C) 22n +1 módulos. D) Ninguna de las anteriores.
2.- Se dispone de un procesador de 16 bits con 28 instrucciones. El código de una instrucción de bifurcación es
4932 en hexadecimal. El contenido del PC tras la ejecución de la instrucción es 400 (valor expresado en
decimal). ¿Qué valor expresado en decimal almacenaba el PC en estos dos instantes de tiempo?
I. Antes de la ejecución de la instrucción.
II. Durante la ejecución de la instrucción, tras finalizar la decodificación.
A) 94 y 94. B) 94 y 400. C) 932 y 400. D) 932 y 932.
3.- Realizar el diseño del diagrama de estados de un sumador de dos números de 1 bit utilizando tan sólo 2
estados. Indicar en ese caso las ecuaciones del bit de suma (S) y del bit de acarreo (C), llamando X al primer
número, Y al segundo y Q al bit del biestable.
A) S = notQ (X xor Y) + Q (X xor notY) y C = Q.
B) S = notQ (X xor notY) + Q (X xor notY) y C = notQ.
C) S = notQ (X xor Y) + Q (not X xor notY) y C = Q.
D) Ninguna de las anteriores.

4.- La capacidad de almacenamiento total en bits que se necesita para implementar una memoria caché de
correspondencia directa de 64 Kbytes (216 bytes) de datos, bloques de 4 bytes y direcciones de 32 bits es:
Nota: Considerar que cada bloque de la memoria caché necesita un campo de etiqueta (del tamaño adecuado).
A) 512 Kbits. B) 768 Kbits. C) 560 Kbits. D) 704 Kbits.
5.- Una memoria caché con correspondencia directa consta de 256 bloques con 64 bytes por bloque. La
memoria principal tiene una capacidad de 4Mbytes (222 bytes). A la dirección de memoria principal, expresada
en binario, 1101000000001101110000, ¿qué bloque, expresado en decimal, le corresponde?:
A) 6. B) 3. C) 13. D) Ninguna de las anteriores.
6.- Se pretenden utilizar dos sistemas de Entrada/Salida (E/S) diferentes en un proceso de transferencia. El
primer sistema (sistema A) puede soportar 1000 operaciones de E/S por segundo y el segundo sistema (sistema
B) 750 operaciones de E/S por segundo. Ambos sistemas utilizan el mismo procesador, que ejecuta 50 millones
de instrucciones por segundo. Suponer que cada transferencia requiere 5 operaciones de E/S y que cada
operación de E/S requiere 10.000 instrucciones. Ignorando el tiempo de respuesta y suponiendo que las
transferencias se pueden solapar arbitrariamente, ¿cuál es la máxima tasa de transferencia por segundo que
puede darse en cada caso?
A) Sistema A: 250 transferencias/s y Sistema B: 300 transferencias/s.
B) Sistema A: 150 transferencias/s y Sistema B: 225 transferencias/s.
C) Sistema A: 180 transferencias/s y Sistema B: 135 transferencias/s.
D) Ninguna de las anteriores.
7.- Con respecto a la llamada de un subprograma S dentro de un programa P en el que se utiliza una pila para
almacenar las direcciones de retorno, indique si las siguientes afirmaciones son verdaderas:
I. Cuando se ejecuta CALL S primeramente se almacena el contenido del PC en la pila, a continuación se
incrementa el puntero de pila, y finalmente se transfiere el control al subprograma S.
II. Cuando se ejecuta RET, se transfiere el contenido de la pila al PC y a continuación se incrementa el puntero
de pila.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

8.- Calcular la capacidad mínima que debe tener un módulo de memoria ROM, capaz de implementar un
sumador binario que sume un número A de 6 bits con otro número B de 3 bits.
A) 29 palabras × 7 bits/palabra. B) 27 palabras × 9 bits/palabra.
C) 29 palabras × 9 bits/palabra. D) Ninguna de las anteriores.

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):

El mapa de memoria de un procesador con bus de direcciones de 20 bits y bus de datos de 8 bits está ocupado
por 2 módulos de memoria RAM de 64Kbytes × 8 bits y uno de memoria ROM de 128 Kbytes × 8 bits. Se desea
que las posiciones de memoria más bajas estén ocupadas por la memoria ROM y que inmediatamente a
continuación se sitúe la memoria RAM. Diseñar el circuito de decodificación suponiendo que las señales de
“selección de chip” CS se activan en bajo, realizando para ello los siguientes apartados:

A) (2 ptos) Proponer un mapa de memoria que utilice los módulos y especificaciones indicados en el
enunciado.
B) (2 ptos) Diseñar el circuito de decodificación pedido, indicando qué función realiza cada uno de los
elementos que lo componen.
SOLUCIONES

1.- Se dispone de módulos de memoria ROM que tienen una capacidad 24n palabras × (n+1) bits/palabra. ¿Cuál
es el número mínimo de módulos de este tipo necesarios para diseñar un circuito combinacional que sea capaz
de sumar 3 números de 2n bits cada uno?
A) 24n +1 módulos. B) 22n +2 módulos. C) 22n +1 módulos. D) Ninguna de las anteriores.

Solución

Para sumar 3 números de 2n bits cada uno, hacen falta un total de 2n+2 bits para almacenar el resultado. El
tamaño de la memoria necesaria para almacenar la suma será por tanto de 22n +2n +2n palabras, es decir 26n
palabras de 2n+2 bits cada una de ellas.

(26n × (2n+2)) / (24n × (n+1)) = (22n × 2) = 22n +1 módulos memoria ROM.

Respuesta: C (22n+1 módulos).

2.- Se dispone de un procesador de 16 bits con 28 instrucciones. El código de una instrucción de bifurcación es
4932 en hexadecimal. El contenido del PC tras la ejecución de la instrucción es 400 (valor expresado en
decimal). ¿Qué valor expresado en decimal almacenaba el PC en estos dos instantes de tiempo?
I. Antes de la ejecución de la instrucción.
II. Durante la ejecución de la instrucción, tras finalizar la decodificación.
A) 94 y 94. B) 94 y 400. C) 932 y 400. D) 932 y 932.

Solución

Como el número de instrucciones es 28, son necesarios 5 bits para el código de instrucción y 11 (= 16 - 5) se
corresponden con el operando. En este caso, si pasamos la instrucción en hexadecimal a binario se obtiene:
(0100100100110010). Entonces, el operando (11 bits menos significativos) en decimal es 306. Por lo tanto, si
el salto de bifurcación es a la dirección 306, y actualmente el PC contiene el valor 400, la dirección de origen
es 400-306=94.

Por otro lado, como después de la fase de decodificación, el PC ya apunta a la dirección de memoria de la
siguiente instrucción, su contenido será 400.

Respuesta: B (94 y 400).

3.- Realizar el diseño del diagrama de estados de un sumador de dos números de 1 bit utilizando tan sólo 2
estados. Indicar en ese caso las ecuaciones del bit de suma (S) y del bit de acarreo (C), llamando X al primer
número, Y al segundo y Q al bit del biestable.
A) S = notQ (X xor Y) + Q (X xor notY) y C = Q.
B) S = notQ (X xor notY) + Q (X xor notY) y C = notQ.
C) S = notQ (X xor Y) + Q (not X xor notY) y C = Q.
D) Ninguna de las anteriores.

Solución

El primer estado S0 será el estado sin acarreo, y el segundo estado S1 el estado con acarreo.
En el primer estado con entrada 00 nos quedamos en el mismo estado y la salida es 0. Con entrada 01 o 10 nos
quedamos en el mismo estado y la salida es 1 y con entrada 11, cambiamos de estado al segundo y la salida es
0.

En el segundo estado con entrada 00 cambiamos de estado al primero y la salida es 1. Con entrada 01 o 10 nos
quedamos en el segundo estado y la salida es 0 y con entrada 11, nos quedamos en el segundo estado y la salida
es 1.
Por tanto se necesita 1 único biestable donde Q = 0 es S0 y Q = 1 es S1.

Q X Y Q’ S
0 0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
1 0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 1

Respuesta: A (S = notQ (X xor Y) + Q (X xor notY) y C = Q)

4.- La capacidad de almacenamiento total en bits que se necesita para implementar una memoria caché de
correspondencia directa de 64 Kbytes (216 bytes) de datos, bloques de 4 bytes y direcciones de 32 bits es:
Nota: Considerar que cada bloque de la memoria caché necesita un campo de etiqueta (del tamaño adecuado).
A) 512 Kbits. B) 768 Kbits. C) 560 Kbits. D) 704 Kbits.

Solución

Hay que determinar el número de bits que contienen los 3 campos (etiqueta, bloque y palabra) en los que se
divide el formato de la dirección de Mp en una memoria caché con correspondencia directa.

El número total de bits para direccionar a la Mp, según los datos del problema es de: n = 32 bits. Como el
tamaño del bloque es de 4 bytes, entonces el número de bloques en los que se divide la Mc es:

C = (64 Kbytes)/(4 bytes/bloque) = 16 Kbloques.


Esto implica que el campo bloque tiene una longitud en bits de: b = log2(C) = log2(214) = 14.

Como el número de bytes/bloque es k = 4, esto implica que el campo palabra tiene una longitud en bits de:
p = log2(k) = log2(22) = 2.

A partir de estos datos podemos ya determinar el número de bits que contiene el campo etiqueta que es de:

e = n – p – b = 32 – 2 – 14 = 16 bits.

Luego la capacidad de almacenamiento total en bits que se necesita para implementar esta memoria caché es
de:

64 Kbytes  8 bits/byte + 16 Kbloques  16 bits para la etiqueta/bloque = 768 Kbits

Luego la respuesta correcta es la B

Respuesta: B (768 Kbits.)

5.- Una memoria caché con correspondencia directa consta de 256 bloques con 64 bytes por bloque. La
memoria principal tiene una capacidad de 4Mbytes (222 bytes). A la dirección de memoria principal, expresada
en binario, 110100000000110000, ¿qué bloque, expresado en decimal, le corresponde?:
A) 6. B) 3. C) 13. D) Ninguna de las anteriores.
Solución

Hay que determinar el número de bits que contienen los 3 campos (etiqueta, bloque y palabra) en los que se
divide el formato de la dirección de Mp en una memoria caché con correspondencia directa.

Como la capacidad de la memoria principal es de 4M bytes (222), esto implica que el número total de bits para
direccionar a la Mp es de: n = 22 bits.

Como el número de bloques que tiene la caché es C = 256, esto implica que el campo bloque tiene una longitud
en bits de: b = log2(C) = log2(28) = 8.

Como el número de bytes/bloque es k = 64, esto implica que el campo palabra tiene una longitud en bits de: p =
log2(k) = log2(26) = 6.

A partir de estos datos podemos ya determinar el número de bits que contiene el campo etiqueta que es de:
e = n – p – b = 22 – 6 – 8 = 8 bits.

A la dirección de memoria principal, expresada en binario, 1101000000001101110000, le corresponderán


entonces los contenidos siguientes en los diferentes campos de la dirección:
 etiqueta (los 8 bits más significativos de la dirección): 11010000
 bloque (los 8 bits siguientes de la dirección): 00001101
 palabra (los 6 bits menos significativos de la dirección): 110000

Luego el bloque expresado en decimal es el 13 y la respuesta correcta es la C

Respuesta: C (13).

6.- Se pretenden utilizar dos sistemas de Entrada/Salida (E/S) diferentes en un proceso de transferencia. El
primer sistema (sistema A) puede soportar 1000 operaciones de E/S por segundo y el segundo sistema (sistema
B) 750 operaciones de E/S por segundo. Ambos sistemas utilizan el mismo procesador, que ejecuta 50 millones
de instrucciones por segundo. Suponer que cada transferencia requiere 5 operaciones de E/S y que cada
operación de E/S requiere 10.000 instrucciones. Ignorando el tiempo de respuesta y suponiendo que las
transferencias se pueden solapar arbitrariamente, ¿cuál es la máxima tasa de transferencia por segundo que
puede darse en cada caso?
A) Sistema A: 250 transferencias/s y Sistema B: 300 transferencias/s.
B) Sistema A: 150 transferencias/s y Sistema B: 225 transferencias/s.
C) Sistema A: 180 transferencias/s y Sistema B: 135 transferencias/s.
D) Ninguna de las anteriores.

Solución

Cada transferencia requiere 50.000 instrucciones (5 operaciones de E/S × 10.000 instrucciones/operación de


E/S = 50.000 instrucciones).

Por lo tanto, la CPU puede soportar:

(50106 instrucciones/s)/(50103 instrucciones/transferencia) = 103 transferencias/s.

El factor limitante viene impuesto por cada uno de los sistemas de E/S.

El primer sistema puede soportar 1000 operaciones de E/S por segundo o lo que es lo mismo:

200 transferencias/s = ((1000 operaciones de E/S/s) / (5 operaciones de E/S/transferencia))

El segundo sistema puede soportar 750 operaciones de E/S por segundo o lo que es lo mismo:

150 transferencias/s = ((750 operaciones de E/S/s) / (5 operaciones de E/S/transferencia))


Respuesta: D (Ninguna de las anteriores).

7.- Con respecto a la llamada de un subprograma S dentro de un programa P en el que se utiliza una pila para
almacenar las direcciones de retorno, indique si las siguientes afirmaciones son verdaderas:
I. Cuando se ejecuta CALL S primeramente se almacena el contenido del PC en la pila, a continuación se
incrementa el puntero de pila, y finalmente se transfiere el control al subprograma S.
II. Cuando se ejecuta RET, se transfiere el contenido de la pila al PC y a continuación se incrementa el puntero
de pila.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

Ver página 335 del libro de texto, apartado 6.3.5.

I. Es falsa. Primeramente se ha de mover el puntero de pila y después almacenar el contenido del PC. Además
la operación sobre el puntero es decrementar y no incrementar.
II. Es verdadera.
Respuesta: C (I: no, II: sí.)

8.- Calcular la capacidad mínima que debe tener un módulo de memoria ROM, capaz de implementar un
sumador binario que sume un número A de 6 bits con otro número B de 3 bits.
A) 29 palabras × 7 bits/palabra. B) 27 palabras × 9 bits/palabra.
C) 29 palabras × 9 bits/palabra. D) Ninguna de las anteriores.

Solución

El número A de 6 bits se representa como (A5 A4 A3 A2 A1 A0) y el número B de 3 bits como (B2 B1 B0). La
suma de un número de 6 bits con otro de 3 bits requiere de 7 bits para poder realizarse. Los 6 bits menos
significativos del resultado son los bits de suma, y el más significativo el bit de acarreo.

Por otro lado para almacenar la solución utilizando un módulo de memoria tipo ROM, es necesario que éste
tenga una capacidad de memoria de 2(6+3) = 29 palabras.

Por tanto, hace falta un módulo mínimo de memoria ROM de 29 palabras × 7 bits/palabra.

Respuesta: A (29 palabras × 7 bits/palabra).

PROBLEMA
El mapa de memoria de un procesador con bus de direcciones de 20 bits y bus de datos de 8 bits está ocupado
por 2 módulos de memoria RAM de 64Kbytes × 8 bits y uno de memoria ROM de 128 Kbytes × 8 bits. Se desea
que las posiciones de memoria más bajas estén ocupadas por la memoria ROM y que inmediatamente a
continuación se sitúe la memoria RAM. Diseñar el circuito de decodificación suponiendo que las señales de
“selección de chip” CS se activan en bajo, realizando para ello los siguientes apartados:

A) (2 ptos) Proponer un mapa de memoria que utilice los módulos y especificaciones indicados en el
enunciado.
B) (2 ptos) Diseñar el circuito de decodificación pedido, indicando qué función realiza cada uno de los
elementos que lo componen.

SOLUCIÓN
A)

El espacio de direccionamiento, que es de 1 Mbyte, consta de direcciones de 20 bits y se subdivide, a partir de


los bits más significativos del bus de direcciones (A19, A18, A17, …), en regiones más pequeñas hasta que se
alcancen las capacidades de los chips de memoria (ver la primera Figura).

Figura Mapa de memoria

Se determinan las expresiones de las entradas de “selección de chip” (CSx) de los diferentes módulos en
función de los bits del bus de direcciones que delimitan la región del espacio de direccionamiento donde se
sitúa el contenido del módulo de memoria de acuerdo con las especificaciones del problema teniendo en cuenta
que las señales de “selección de chip” CS se activan en bajo

Del mapa de memoria de la figura se sigue que cuando las líneas de dirección A19, A18 y A17 valgan 000 se
deberá activar la señal de selección del módulo ROM. Como se activa en baja se tiene que:

CS ROM  A19 A18 A17  


 CS ROM  A19 A18 A17  A19  A18  A17

Análogamente cuando las líneas de dirección A19, A18, A17 y A16 valgan 0010 se deberá activar la señal de
selección del primer módulo RAM. Como se activa en baja se tiene que:

CS RAM 1  A19 A18 A17 A16  


 CS RAM 1  A19 A18 A17 A16  A19  A18  A17  A16

Finalmente cuando las líneas de dirección A19, A18, A17 y A16 valgan 0011 se deberá activar la señal de
selección del segundo módulo RAM. Como se activa en baja se tiene que

 
CS RAM 2  A19 A18 A17 A16  CS RAM 2  A19 A18 A17 A16  A19  A18  A17  A16

B)

Se implementa el sistema de decodificación usando los bits más significativos del bus de direcciones para
activar las líneas de control de “selección de chip”. El bus de direcciones de los módulos de memoria se
conecta a los bits menos significativos del bus de direcciones del procesador. El bus de datos de los módulos se
conecta al del procesador (ver segunda Figura).

Circuito de decodificación
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo A Septiembre 2011.
1.- Considérese una máquina en la que las instrucciones entre registros (de cálculo) emplean 4 ciclos de reloj
para su ejecución y el resto de instrucciones usan 6 ciclos. Si un programa de 2000 instrucciones, donde un
20% de las mismas son de cálculo, se ejecuta en 7 ms, ¿cuál es la frecuencia de reloj en ciclos?
A) 625 ns. B) 350 ns. C) 515 ns. D) Ninguna de las anteriores.
2.- Indicar cuál debe ser el tamaño mínimo del módulo de memoria ROM necesario para diseñar un comparador
de dos números de 3 bits que genere como salidas las funciones “mayor que” y “menor que”.
A) 26 palabras × 2 bits/palabra. B) 26 palabras × 3 bits/palabra.
C) 26 palabras × 6 bits/palabra. D) Ninguna de las anteriores.
3.- En un disco magnético de 1024 pistas numeradas de 0 a 1023 se tiene la siguiente cola de peticiones de
disco: 100, 405, 1020, 95, 321, 627, 940, 3. Inicialmente la cabeza se encuentra en la pista 300. El orden en el
que se atienden las peticiones es el siguiente: 321, 405, 627, 940, 1020, 100, 95, 3. ¿Qué tipo de planificación
usa el disco?
A) SSTF. B) SCAN. C) LOOK. D) Las tres anteriores son posibles.
4.- Se desea diseñar un circuito combinacional, que sea un sumador de 13 números de 1 bit de longitud,
utilizando únicamente módulos SBC. Indicar cuál es el número mínimo de módulos SBC necesarios para ello.
A) 9 B) 10 C) 11 D) Ninguna de las anteriores.
5.- Indique si las siguientes afirmaciones son verdaderas. En el bus de arbitraje distribuido con respecto al
arbitraje centralizado:
I. La posición de conexión de los dispositivos a la línea de arbitraje no determina la prioridad de aquellos en el
uso del bus, mientras que en el caso centralizado sí lo hace.
II. Es más barato ya que no requiere un árbitro, pero es menos rápido y fiable que el arbitraje centralizado.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- En un computador cuando la CPU dispone en exclusiva del bus las instrucciones emplean 6 ciclos de reloj
en ser ejecutadas, aunque en 2 de ellos, el segundo y el tercero, no se requiere acceso al bus. Si el controlador
de DMA tarda 5 ciclos de reloj consecutivos en transmitir una palabra, decir si las siguientes afirmaciones son
ciertas:
I. Se puede implementar la estrategia con DMA por ráfagas.
II. Se puede implementar la estrategia con DMA transparente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Un computador dispone de 5 registros de propósito general: R0, R1, R2, R3 y R4. El contenido (Contenido)
de ciertas posiciones de memoria (Posición) y la semántica de una serie de instrucciones se muestra en la tabla
siguiente:
Posición Contenido Semántica
2000 2030
2010 …
2020 … LOAD R0, 20 ; R020
2030 2060 LOAD R1, #2020 [.R0] ; R1  M (2020 + R0)
2040 520 LOAD R2, #2000 ; R2  M(2000)
2050 … LOAD R3, [[.R2]] ; R3  M(M(R2))
2060 897
El contenido final de los 5 registros una vez ejecutadas estas instrucciones en el orden en el que se han
expuesto en dicha tabla, suponiendo que inicialmente estaban todos a 0, es:
A) R0:20; R1: 520; R2: 2030; R3: 897; R4:0. B) R0:2040; R1: 2030; R2: 2000; R3: 897; R4:0.
C) R0:20; R1: 2040; R2: 2030; R3: 2060; R4:0. D) Ninguna de las anteriores.

8.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indicar cuál de las
siguientes afirmaciones, acerca de las señales de control (ci), es la correcta.

A) c2 = S2 s2 I
B) c3 = S1 s1 / c2, c3
I / c1 S1
C) Las dos afirmaciones
anteriores son correctas. S3 S4
S0 s1 / c3 s1 / c1
D) Todas las afirmaciones
anteriores son falsas. s2 / c1, c2
S2

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):


Se desea construir un juego de instrucciones con las siguientes características:
 Palabra de instrucción: 32 bits.
 X instrucciones sin operandos.
 100 instrucciones de un operando, en donde el operando tendrá 24 bits.
 153 instrucciones de dos operandos, en donde cada uno de los operandos tendrá 12 bits.
 300 instrucciones de tres operandos, en donde cada uno de los tres operandos tendrá 6, 6 y 4 bits
respectivamente.

A) (1 pto.) Calcular el tamaño de los campos de código de operación para cada tipo de instrucción.
B) (1 pto.) Indicar cómo se asignarían los códigos de operación y se distribuirían las instrucciones.
C) (2 ptos.) Calcular el valor máximo de X.

SOLUCIONES
1.- Considérese una máquina en la que las instrucciones entre registros (de cálculo) emplean 4 ciclos de reloj
para su ejecución y el resto de instrucciones usan 6 ciclos. Si un programa de 2000 instrucciones, donde un
20% de las mismas son de cálculo, se ejecuta en 7 ms, ¿cuál es la frecuencia de reloj en ciclos?
A) 625 ns. B) 350 ns. C) 515 ns. D) Ninguna de las anteriores.

Solución

El problema se reduce a resolver la siguiente ecuación:


(4×0.2 + 6×0.8) ×2000 × Frec. = 7 ms

Operando, se obtiene:

Frec. = 7 ms / 11200 = 6.25×10-4 ms, que pasando a ns son 625 ns.

Respuesta : A (625 ns).

2.- Indicar cuál debe ser el tamaño mínimo del módulo de memoria ROM necesario para diseñar un comparador
de dos números de 3 bits que genere como salidas las funciones “mayor que” y “menor que”.
A) 26 palabras × 2 bits/palabra. B) 26 palabras × 3 bits/palabra.
C) 26 palabras × 6 bits/palabra. D) Ninguna de las anteriores.

Solución
En el caso del comparador propuesto el número de entradas es 3 + 3 = 6, puesto que se trata de comparar dos
números de 3 bits cada uno de ellos. El número de salidas es 2, una que indica si el primer número es mayor
que el segundo, y otra que indique si el primer número es menor que el segundo. Por tanto, el tamaño mínimo
de ROM necesario es:
26 palabras × 2 bits/palabra

Respuesta: A (26 palabras × 2 bits/palabra).

3.- En un disco magnético de 1024 pistas numeradas de 0 a 1023 se tiene la siguiente cola de peticiones de
disco: 100, 405, 1020, 95, 321, 627, 940, 3. Inicialmente la cabeza se encuentra en la pista 300. El orden en el
que se atienden las peticiones es el siguiente: 321, 405, 627, 940, 1020, 100, 95, 3. ¿Qué tipo de planificación
usa el disco?
A) SSTF. B) SCAN. C) LOOK. D) Las tres anteriores son posibles.

Solución

La planificación SSTF atiende las peticiones de pistas que se encuentran más cerca de la pista actual. Como la
cabeza se encuentra inicialmente en la 300, la pista más cercana es la 321 y la cabeza se mueve hacia las pistas
crecientes. A continuación comprueba de nuevo cuál es la pista más cercana. Por un lado está la petición de 405
y por otro la 100. El número de pistas a recorrer es menor hacia la 405, por lo que la cabeza se sigue
desplazando hacia ella siguiendo el mismo sentido. Razonando de la misma manera, la cabeza avanza hasta la
pista 1020, y a continuación retrocede en sentido contrario para leer las pistas 100, 95 y 3. Por tanto, si el disco
usase una planificación SSTF, la secuencia de atención de peticiones sería la dada.

Los algoritmos SCAN y LOOK se diferencian en que en el caso de LOOK la cabeza no se desplaza hasta el
extremo del disco si no hasta la última petición en cada dirección. Este hecho no influye en el orden de atención
de peticiones y será la misma para ambos casos. La cabeza se mueve en un sentido y va leyendo las peticiones
que se encuentra. Suponiendo que la cabeza se está moviendo en el sentido de las pistas crecientes, las pistas se
irán leyendo en el orden 321, 405, 627, 930, 1020, y a continuación la cabeza se desplazará en el sentido
contrario y se leerán las pistas 100, 95 y 3. Por tanto, la secuencia dada también es la de los algoritmos SCAN y
LOOK.
Respuesta : D

4.- Se desea diseñar un circuito combinacional, que sea un sumador de 13 números de 1 bit de longitud,
utilizando únicamente módulos SBC. Indicar cuál es el número mínimo de módulos SBC necesarios para ello.
A) 9 B) 10 C) 11 D) Ninguna de las anteriores.

Solución

Respuesta: B (10 SBC’s)

5.- Indicar si las siguientes afirmaciones son verdaderas. En el bus de arbitraje distribuido con respecto al
arbitraje centralizado:
I. La posición de conexión de los dispositivos a la línea de arbitraje no determina la prioridad de aquellos en el
uso del bus, mientras que en el caso centralizado sí lo hace.
II. Es más barato ya que no requiere un árbitro, pero es menos rápido y fiable que el arbitraje centralizado.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

I. Es falsa, ya que la posición si determina la prioridad de los dispositivos tanto en el caso distribuido como
centralizado.
II. Es falsa. El arbitraje distribuido es más barato y además es más rápido y fiable debido a que no está sujeto al
posible mal funcionamiento del dispositivo árbitro.
Respuesta : D (Las dos son falsas).

6.- En un computador cuando la CPU dispone en exclusiva del bus las instrucciones emplean 6 ciclos de reloj
en ser ejecutadas, aunque en 2 de ellos, el segundo y el tercero, no se requiere acceso al bus. Si el controlador
de DMA tarda 5 ciclos de reloj consecutivos en transmitir una palabra, decir si las siguientes afirmaciones son
ciertas:
I. Se puede implementar la estrategia con DMA por ráfagas.
II. Se puede implementar la estrategia con DMA transparente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

Afirmación I: Es verdadera. En la estrategia de DMA por ráfagas el controlador de DMA hace uso del bus
cuando se ha finalizado la ejecución de una instrucción y no lo libera hasta después de haber finalizado de
enviar todas las palabras.

Afirmación II: Es falsa. En la estrategia de DMA transparente, el controlador de DMA hace uso del bus en
aquellos ciclos durante la ejecución de una instrucción en que la CPU no necesita utilizarlo. Puesto que el
controlador de DMA requiere 5 ciclos consecutivos para enviar una palabra y la CPU únicamente no utiliza el
bus en el segundo y tercero de los seis que se requiere para ejecutar una instrucción, nunca hay 5 ciclos
consecutivos en que el bus esté libre y por lo tanto no se puede utilizar esta estrategia de DMA.

Respuesta : B (La primera verdadera y la segunda falsa).

7.- Un computador dispone de 5 registros de propósito general: R0, R1, R2, R3 y R4. El contenido (Contenido)
de ciertas posiciones de memoria (Posición) y la semántica de una serie de instrucciones se muestra en la tabla
siguiente:
Posición Contenido Semántica
2000 2030
2010 …
2020 … LOAD R0, 20 ; R020
2030 2060 LOAD R1, #2020 [.R0] ; R1  M (2020 + R0)
2040 520 LOAD R2, #2000 ; R2  M(2000)
2050 … LOAD R3, [[.R2]] ; R3  M(M(R2))
2060 897
El contenido final de los 5 registros una vez ejecutadas estas instrucciones en el orden en el que se han
expuesto en dicha tabla, suponiendo que inicialmente estaban todos a 0, es:
A) R0:20; R1: 520; R2: 2030; R3: 897; R4:0. B) R0:2040; R1: 2030; R2: 2000; R3: 897; R4:0.
C) R0:20; R1: 2040; R2: 2030; R3: 2060; R4:0. D) Ninguna de las anteriores.
Solución

R0: 20
R1: 520
R2: 2030
R3: 897
R4: 0
Respuesta: A

8.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indicar cuál de las
siguientes afirmaciones, acerca de las señales de control (ci), es la correcta.

A) c2 = S2 s2 I
B) c3 = S1 s1 / c2, c3
I / c1 S1
C) Las dos afirmaciones
anteriores son correctas. S3 S4
S0 s1 / c3 s1 / c1
D) Todas las afirmaciones
anteriores son falsas. s2 / c1, c2
S2

Solución

Del diagrama de estados se deduce que:


c 2  S1 s1  S 2 s 2
c3  S1 s1  S1 s1  S1

Respuesta : B (c3 = S1)

PROBLEMA
Se desea construir un juego de instrucciones con las siguientes características:
 Palabra de instrucción: 32 bits.
 X instrucciones sin operandos.
 100 instrucciones de un operando, en donde el operando tendrá 24 bits.
 153 instrucciones de dos operandos, en donde cada uno de los operandos tendrá 12 bits.
 300 instrucciones de tres operandos, en donde cada uno de los tres operandos tendrá 6, 6 y 4 bits
respectivamente.

A) (1 pto.) Calcular el tamaño de los campos de código de operación para cada tipo de instrucción.
B) (1 pto.) Indicar cómo se asignarían los códigos de operación y se distribuirían las instrucciones.
C) (2 ptos.) Calcular el valor máximo de X.

Solución
A) Se comienza por calcular el tamaño de los campos de código de operación para cada uno de los tipos de
instrucciones. Se tiene lo siguiente:

Las instrucciones sin operandos tienen 32 bits de campo de código de operación.


Las instrucciones con 1 operando tienen 32-24=8 bits de campo de código de operación.
Las instrucciones con 2 operandos tienen 32-12-12=8 bits de campo de código de operación.
Las instrucciones con 3 operandos tienen 32-6-6-4=16 bits de campo de código de operación.

B) Por lo tanto, se comienza por colocar las instrucciones de 1 y de 2 operandos, ya que tienen el código de
operación más pequeño. Luego se asignarán códigos a las de 3 operandos, y finalmente se verán cuántas
combinaciones quedan libres para instrucciones sin operandos.

Las instrucciones de 1 y de 2 operandos tienen ambas códigos de operación de 8 bits, por lo que pueden
estudiarse simultáneamente. Con 8 bits tenemos 28 = 256 combinaciones posibles. Dado que hay que
colocar 100+153=253 instrucciones, nos sobran 3 combinaciones. Reservamos entonces las combinaciones
0xFD, 0xFE y 0xFF para extender el código.

Las instrucciones de 3 operandos tienen 16 bits de código de operación, lo que en principio permitiría
codificar 216 instrucciones distintas. Sin embargo, de los 16 bits del código de operación los 8 primeros
codifican instrucciones de 1 y de 2 operandos, a excepción de las combinaciones 0xFD, 0xFE y 0xFF ya
mencionadas. Por lo tanto, esto nos da un total de 3×28 instrucciones de tres operandos posibles. Como
sólo se necesitan combinaciones para 300 instrucciones de tres operandos, nos sobran 768 – 300 = 468
combinaciones de los 16 primeros bits.

Las instrucciones de 0 operandos tienen 32 bits de código de operación. Sin embargo, no pueden utilizarse
todos los bits libremente. En concreto, sólo podrá disponerse libremente de los últimos 16 bits, ya que los
16 primeros intervienen en la codificación de las instrucciones de 1, 2 y 3 operandos y por lo tanto sólo
podrán usarse las combinaciones que estén libres.

C) Como se ha visto anteriormente, tras haber colocado las instrucciones de 1, 2 y 3 operandos nos han
sobrado 468 combinaciones de los 16 primeros bits. Por lo tanto, el número máximo de instrucciones sin
operandos que puede colocarse es de:

468×216 = 30.670.848

Por lo tanto, en las condiciones del problema podrían codificarse más de treinta millones de instrucciones
sin operandos. Naturalmente, esto no significa que haya que usar todas las combinaciones.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores r', "Problemtls de Ingeniería tle Computadores
F', "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sauz y
Torres� y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.

INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 pwltos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas enóneas del test descuentan 0.1 puntos. El test es eliminatorio, d eb iend o obtener
una calificación mínima de 1.6 puntos para superarlo (c on 4 pr egunt as correctas se su per a) .

Examen tipo C

1.- Un sistema jerárquico de memoria posee dos niveles de caché y una memoria principal. El primer nivel de
caché tiene una capacidad de 128 palabras y el segundo nivel de 512 palabras. La memoria principal es de
1024 Kpalabras. El tiempo de acceso a la memoria caché de primer nivel es de 5 ns y su tasa de acierto del
90%. Por otro lado, el tiempo de acceso a la caché de segundo nivel es 1 O ns y la tasa de acierto combinada de
las cachés de primer y segundo nivel es del 80%. Si el tiempo de acceso medio del conjunto formado por la
memoria principal y la memoria caché es de 19.5 ns, ¿cuál es el tiempo de acceso a memoria principal?
A) 50 ns. B) 60 ns. C) 70 ns. D) Ninguna de las anteriores.
2.- Se tiene un procesador que trabaja con un reloj de 500 MHz (1 MHz 106 Hz). El número de ciclos que
=

requiere una operación de encuesta, incluidos el salto a la rutina de encuesta, el acceso al dispositivo y el
retomo al programa de usuario es de 400. Determinar la proporción de tiempo de CPU que se cort•mme en una
operación de encuesta en el caso de utilizar un ratón que debe ser encuestado 30 veces para asegurar que no se
pierde ningún movimiento realizado por el usuario. Se supone que se puede realizar la encuesta con la
frecuencia necesaria para que no se pierda ningún dato y que el ratón está potencialmente siempre ocupado.
A) 0,056%. B) 0,0024%. C) 0,0080%. D) Ninguna de las anteriores.
3.- El ciclo de instrucción de una máquina utiliza � ciclos de reloj para las instrucciones de operaciones entre
registros (cálculo) y 4 ciclos para el resto de las instrucciones. Si la frecuencia de reloj del computador es
�x10 6 ciclos/s, ¿cuánto tardará en ejecutarse un programa de 1500 instrucciones en el que no hay instrucciones
de salto y hay un 20% de instrucciones de cálculo?
A) 700 ,us. B) 300 ,us. C) 900 ,us. D) Ninguna de las anteriores.
4.- Un computador dispone de un canal selector que controla 3 unidades de disco y 7 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 105 bytes/s y las de cinta de 2x104 bytes/s. Si el
porcentaje máximo de tiempo que está ocupado el bus del sistema en una transferencia de datos del canal
selector a memoria principal es del 2%, ¿cuánto tiempo se tarda en transferir cada byte?
A) 100 ns. B) 200 ns. C) 150 ns. D) Ninguna de las anteriores.
5.- Si al número binario X 1010 0101 0101 le aplicamos la siguiente secuencia de operaciones de
=

desplazamiento: LICS, LDCS, LICS, LDCS, LICS, LDCS, y LICS, ¿cuál es el resultado de la operación?
A) 1010 0101 0101 B) 1101 0010 1010
C) 0100 1010 1011 D) Ninguna de las anteriores.
6.- Se desea diseñar una Unidad de Control con 1 O estados, que genere 20 señales de control totalmente
independientes y que reciba 8 señales de condición. Si en cada estado se utiliza como máximo una única
condición, explicar razonadamente el tamaño del registro y de la memoria ROA1 de capacidad mínima
necesarios para implementar dicha Unidad utilizando un diseño de selección por campo.
A) Registro de 9 bits, y ROJ\1 de 2 5 palabras x 27 bits/palabra.

B) Registro de 8 bits, y 25 palabras x 28 bits/palabra.


ROA1 de

C) Registro de 7 bits, y R01\1 de 29 palabras x 27 bits/palabra.


D) Ninguna de las anteriores.
7.- Indicar si las siguientes afirmaciones son verdaderas o falsas:
l. En una memoria caché con correspondencia totalmente asociativa no es necesario definir una política de
reemplazamiento.
11. En una memoria caché asociativa por conjuntos, cualquier a�goritmo de reemplazamiento debe considerar
como bloques candidatos a ser reemplazados a todos los bloques de la memoria caché.
A) I: sí, 11: sí. B) I: si, II: no. C) 1: no, 11: sí. O)]: no, H: no.

8.-Un computador usa el formato vertical de codificación de instrucciones para parte de las señales de control
y el formato horizontal para 2k señales de controL El formato vertical posee n campos codificados de m bits
cada uno. ¿Cuál es el máximo número de señales de control que pueden usarse en este computador?
1
A) 2k + nx2m. B) 2k + n11 • C) 2k + nx(2111-1). D) Ninguna de las anteriores.

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):

Un computador funciona a una frecuencia de 10 MHz (107 ciclos/s), emplea 4 ciclos por instrucción y cada
operación de lectura o escritura de memoria tarda un ciclo. Determinar la máxima velocidad de transferencia de
datos, en palabras por segundo, para los cuatro casos siguientes:
A) (l pto) E/S controlada por programa que utiliza 3 instrucciones para transferir cada palabra.
B) (1 pto) DAlA que usa una estrategia de transferencia por ráfagas.
C) (lpto) DA1A que usa una estrategia de transferencia por robo de ciclo.
D) (lpto) DAfA que usa una estrategia con transferencia transparente suponiendo que para cada instrucción, en
promedio, hay 2 ciclos en los cuales La CPU no utiliza el bus.
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo A Junio 2012 1ª.

1.-Dado un procesador que trabaja con un reloj de 50 MHz (50 × 106 Hz) y un CD que transfiere datos a dicho
procesador mediante palabras de 16 bits a una velocidad de 50 KBytes /s (50 × 210 Bytes/s). Si se añade un
controlador de interrupciones que invierte un tiempo de 100 ciclos de reloj en cada transferencia, determinar la
fracción consumida por el procesador cuando el CD está activo.
A) 2%. B) 3%. C) 5,12%. D) Ninguna de las anteriores.
2.- En una memoria caché en la que se realizan 2 accesos, se producen 211 fallos. La memoria caché tiene un
14

tiempo de acceso medio de 6 ns, mientras que el tiempo de acceso medio de la memoria principal es de 90 ns.
Indicar si las siguientes afirmaciones son verdaderas.
I. La tasa de aciertos es del 75%.
II. El tiempo de acceso medio al sistema conjunto memoria principal-memoria caché es de 16,5 ns.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.
3.- Diseñar una Unidad de Control con 20 estados, que genere 27 señales de control totalmente independientes
y que reciba 5 señales de condición, utilizando para ello una memoria ROM pero minimizando la capacidad de
ésta. En cada estado se utiliza, como máximo, una única condición. Usando un multiplexor con selección por
estado para diseñar esta Unidad de Control sería necesario:
A) Un registro de 5 bits, un MUX 32:1 y una ROM de 26 palabras  32 bits/palabra.
B) Un registro de 20 bits, un MUX 5:1 y una ROM de 25 palabras  48 bits/palabra.
C) Un registro de 5 bits, un MUX 5:1 y una ROM de 26 palabras  32 bits/palabra.
D) Ninguna de las anteriores.
4.- Sea un computador con una palabra de memoria de 28 bits y un repertorio de instrucciones con 12
instrucciones diferentes. Si cada instrucción tiene tres operandos con un modo de direccionamiento directo a
memoria, ¿qué tamaño debe tener el registro contador de programa?
A) 8 bits. B) 12 bits. C) 16 bits. D) Ninguna de las anteriores.
5.- Un procesador dispone de 8 líneas de petición de interrupción numeradas de la 0 a la 7. Las interrupciones
con número bajo tienen mayor prioridad. El procesador comienza a trabajar sin interrupciones pendientes y en
un momento dado se produce la siguiente secuencia de peticiones: 4 7 1 3 0 5 6 4 2 1. Suponiendo que la
gestión de una interrupción tarda un tiempo suficiente como para que se produzcan otras dos interrupciones y
que no hay anidamiento, indicar el orden en que se gestiona la secuencia de peticiones dada.
A) 4 1 0 3 2 1 4 5 6 7 B) 4 7 1 3 0 5 6 4 2 1 C) 4 0 1 1 2 3 4 5 6 7 D) Ninguna de las anteriores.
6.- Con respecto al modo de direccionamiento relativo, indicar si las siguientes afirmaciones son verdaderas:
I. Permite reubicar un programa más fácilmente y cambiar ciertas direcciones sin tener que volver a compilar el
programa.
II. Reduce el número de bits para especificar las direcciones.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.
7.- Cuál es el tamaño en bytes de una memoria caché con correspondencia asociativa por conjuntos que tiene la
siguiente longitud de sus tres campos: ETIQUETA 20 bits, CONJUNTO 6 bits y PALABRA 6 bits. La caché
tiene 8 bloques por conjunto y su longitud de palabra es de 4 bytes. Nota: 1KBytes = 210 bytes.
A) 256 KBytes. B) 512 KBytes. C) 128 KBytes. D) Ninguna de las anteriores.
8.- Un multiplicador binario de 2 números de 12 bits cada uno se puede realizar con una memoria ROM de la
siguiente capacidad:
A) 212 palabras × 24 bits/palabra. B) 224 palabras × 24 bits/palabra.
C) 224 palabras × 12 bits/palabra. D) 216 palabras × 12 bits/palabra.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.75 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.5 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 un bus capaz de realizar 500 × 106 transferencias/s, al que está conectado un procesador con un reloj de
500 MHz (500 × 106 Hz). En dicho procesador, se ejecuta un programa que realiza un acceso a datos por cada
4 ciclos de instrucción, siendo de lectura el 80% de los accesos a datos.
Teniendo en cuenta que durante la ejecución de dicho programa se han medido una media de
2,5 ciclos/instrucción, determinar el porcentaje de ocupación del bus durante la ejecución de dicho programa en
los siguientes casos:

A) (2 ptos.) Haciendo uso de un bus multiplexado (es decir en primer lugar se envía la dirección de la que se
quiere leer o donde se quiere escribir y a continuación los datos).
B) (2 ptos.) Haciendo uso de un bus no multiplexado (en lectura se envía primero la dirección por el bus de
direcciones y a continuación se recibe el dato por el bus de datos y en escritura se envía la dirección por el bus
de direcciones a la vez que se envía el dato por el bus de datos).
SOLUCIONES

1.- Dado un procesador que trabaja con un reloj de 50 MHz (50 × 106 Hz) y un CD que transfiere datos a dicho
procesador mediante palabras de 16 bits a una velocidad de 50 KBytes/s (50 × 210 Bytes/s). Si se añade un
controlador de interrupciones que invierte un tiempo de 100 ciclos de reloj en cada transferencia, determinar la
fracción consumida por el procesador cuando el CD está activo.
A) 2%. B) 3%. C) 5,12%. D) Ninguna de las anteriores.

Solución

La velocidad a la cual el CD debe interrumpir cuando está transfiriendo se debe calcular como sigue (Nota,
donde pone int indica interrupcion):

50 KByte / s ciclos ciclos ciclos


 100  2500  210  25,6  105
2 B / int int s s

Y por tanto, la fracción consumida por el procesador será:

25,6  105
 100  5,12%
50  106

La gran diferencia con la E/S programada es que el CD no está leyéndose el 100% del tiempo y por tanto el
dispositivo no perturba a la CPU, al contrario que con la E/S programada, donde la CPU encuesta sin descanso
a los dispositivos.

Respuesta: C)

2.- En una memoria caché en la que se realizan 214 accesos se producen 211 fallos. La memoria caché tiene un
tiempo de acceso medio de 6 ns, mientras que el tiempo de acceso medio de la memoria principal es de 90 ns.
Indicar si las siguientes afirmaciones son verdaderas.
I. La tasa de aciertos es del 75%.
II. El tiempo de acceso medio al sistema conjunto memoria principal-memoria caché es de 16,5 ns.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.

Solución

Afirmación I. Para calcular la tasa de fallos (tfallos) se puede usar la fórmula:

N .Fallos 211
t fallos   14  2 3  0,125  12,5 %
N . Accesos 2

Con este dato, se puede calcular la tasa de aciertos h = (1- tfallos) = 87.5%, por lo que la afirmación I es falsa.

Afirmación II. Para el cálculo del tiempo de acceso efectivo a memoria se puede emplear la ecuación (2.5) de
la página 102 del libro de teoría:
Ta= h × tcache + (1-h) × tp = 0,875×6 ns + 0,125×90 ns = 5,25 + 11,25 = 16,5 ns

Por lo que la afirmación II es verdadera.

Respuesta: C)

3.- Diseñar una Unidad de Control con 20 estados, que genere 27 señales de control totalmente independientes
y que reciba 5 señales de condición, utilizando para ello una memoria ROM pero minimizando la capacidad de
ésta. En cada estado se utiliza, como máximo, una única condición. Usando un multiplexor con selección por
estado para diseñar esta Unidad de Control sería necesario:
A) Un registro de 5 bits, un MUX 32:1 y una ROM de 26 palabras  32 bits/palabra.
B) Un registro de 20 bits, un MUX 5:1 y una ROM de 25 palabras  48 bits/palabra.
C) Un registro de 5 bits, un MUX 5:1 y una ROM de 26 palabras  32 bits/palabra.
D) Ninguna de las anteriores.

Solución

En el diseño de la Unidad de Control se utilizan los siguientes componentes: Una memoria ROM, un registro y
un multiplexor con selección por estado.

A partir de los datos del enunciado se deduce que:

Variables de estado n = 5 ya que 25 = 32 > 20 estados;


Señales de control: m = 27:
Señales de condición: q = 5;

En base a esos datos, la capacidad de la memoria ROM necesaria es:

C  2 n 1  n  m   2 6  5  27   2 6 pal  32 bits / pal

El registro tiene que almacenar las variables de estado luego debe de tener una capacidad de n = 5 bits.

El multiplexor al ser del tipo de selección por estado, tiene 25 entradas y requiere de 5 señales de selección. Es
decir es un MUX 32:1.

Por lo tanto, la respuesta correcta es la A.

Respuesta: A)

4.- Sea un computador con una palabra de memoria de 28 bits y un repertorio de instrucciones con 12
instrucciones diferentes. Si cada instrucción tiene tres operandos con un modo de direccionamiento directo a
memoria, ¿qué tamaño debe tener el registro contador de programa?
A) 8 bits. B) 12 bits. C) 16 bits. D) Ninguna de las anteriores.

Solución

Para codificar 12 instrucciones son necesarios 4 bits. Sabiendo que cada palabra son 28 bits, tenemos
28-4=24 bits para los tres operandos. Por lo que cada operando son 24 bits/3= 8 bits.

Dado que el contador de programa guarda la dirección en memoria de la siguiente instrucción a ejecutar, debe
ser capaz de almacenar cualquier dirección de memoria, es decir, debe tener un ancho de 8 bits.

27:24 23:16 15:8 7:0


Código Op. Operando 1 Operando 2 Operando 3

Respuesta A)

5.- Un procesador dispone de 8 líneas de petición de interrupción numeradas de la 0 a la 7. Las interrupciones


con número bajo tienen mayor prioridad. El procesador comienza a trabajar sin interrupciones pendientes y en
un momento dado se produce la siguiente secuencia de peticiones: 4 7 1 3 0 5 6 4 2 1. Suponiendo que la
gestión de una interrupción tarda un tiempo suficiente como para que se produzcan otras dos interrupciones y
que no hay anidamiento, indicar el orden en que se gestiona la secuencia de peticiones dada.
A) 4 1 0 3 2 1 4 5 6 7 B) 4 7 1 3 0 5 6 4 2 1 C) 4 0 1 1 2 3 4 5 6 7 D) Ninguna de las anteriores.

Solución

Inicialmente comienza a trabajar con la 4 que es la primera y durante ese periodo se producen las interrupciones
7 y 1, que se ponen a la cola. Al finalizar la 4 atiende la 1, por ser la de mayor prioridad, y en ese intervalo de
tiempo se producen la 3 y la 0. Al finalizar la 1 atiende la 0 y se producen la 5 y la 6. Tras finalizar de atender
la petición 0 atiende la 3 y se producen la 4 y la 2. Después atiende la 2 y se produce la 1 que es la última. Ya
con todas en la cola se ejecutan por orden de prioridad 4 5 6 7.

Por tanto, la respuesta correcta es la A.

Respuesta: A)

6.- Con respecto al modo de direccionamiento relativo, indicar si las siguientes afirmaciones son verdaderas:
I. Permite reubicar un programa más fácilmente y cambiar ciertas direcciones sin tener que volver a compilar el
programa.
II. Reduce el número de bits para especificar las direcciones.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.

Solución

Ver página 327 del libro de teoría.

Respuesta: A)

7.- Cuál es el tamaño en bytes de una memoria caché con correspondencia asociativa por conjuntos que tiene la
siguiente longitud de sus tres campos: ETIQUETA 20 bits, CONJUNTO 6 bits y PALABRA 6 bits. La caché
tiene 8 bloques por conjunto y su longitud de palabra es de 4 bytes. Nota: 1 Kbyte = 210 bytes.
A) 256 KBytes. B) 512 KBytes. C) 128 KBytes. D) Ninguna de las anteriores.

Solución

Ver la sección 2.5.2 del libro base de teoría. El enunciado indica que la memoria caché interpreta la dirección
de la memoria principal de la forma siguiente:

ETIQUETA 20 bits, CONJUNTO 6 bits, PALABRA 6 bits

El tamaño de la memoria caché se calcula haciendo las siguientes consideraciones:

• Puesto que son necesarios 6 bits para especificar el conjunto, la caché dispone de 26 conjuntos.
• Según se indica en el enunciado, tiene 8 bloques por conjunto = 23 bloques por conjunto.
• Son necesarios 6 bits para direccionar una palabra dentro del bloque, con lo cual tiene 26 palabras en cada
bloque.
• El enunciado indica que la longitud de cada palabra es de 22 bytes.

De todo lo anterior se sigue que el tamaño de la caché es el siguiente:

(26 conjuntos)×(23 bloques/conjunto)×(26 palabras/bloque)×(22 bytes/palabra) = 217 bytes = 128K bytes

Respuesta: C)
8.- Un multiplicador binario de 2 números de 12 bits cada uno se puede realizar con una memoria ROM de la
siguiente capacidad:
A) 212 palabras × 24 bits/palabra. B) 224 palabras × 24 bits/palabra.
C) 224 palabras × 12 bits/palabra. D) 216 palabras × 12 bits/palabra.

Solución

Para conocer el tamaño adecuado de la memoria ROM que se necesita, hay que darse cuenta de que el producto
de un número binario de 12 bits por otro número binario de otros 12 bits, da como resultado un número binario
de 24 bits.

Por tanto la memoria ROM pedida debe ser capaz de almacenar todos los resultados de multiplicar 2 números
binarios de 12 bits. Si el resultado de cada multiplicación ocupa 24 bits, serán 224 los posibles resultados de
llevar a cabo estas multiplicaciones.

Por tanto la ROM necesaria debe tener una capacidad igual a la descrita en la respuesta B.

Respuesta: B)

PROBLEMA

Sea un bus capaz de realizar 500 × 106 transferencias/s, al que está conectado un procesador con un reloj de
500 MHz (500 × 106 Hz). En dicho procesador, se ejecuta un programa que realiza un acceso a datos por cada 4
ciclos de instrucción, siendo de lectura el 80% de los accesos a datos.
Teniendo en cuenta que durante la ejecución de dicho programa se han medido una media de 2,5
ciclos/instrucción, determinar el porcentaje de ocupación del bus durante la ejecución de dicho programa en los
siguientes casos:

A) (2 ptos.) Haciendo uso de un bus multiplexado (es decir en primer lugar se envía la dirección de la que se
quiere leer o donde se quiere escribir y a continuación los datos).
B) (2 ptos.) Haciendo uso de un bus no multiplexado (en lectura se envía primero la dirección por el bus de
direcciones y a continuación se recibe el dato por el bus de datos y en escritura se envía la dirección por el bus
de direcciones a la vez que se envía el dato por el bus de datos).

SOLUCION

Independientemente del tipo de bus se deben realizar los siguientes cálculos.

A partir de la frecuencia de reloj del procesador y sabiendo que el número medio de ciclos por instrucción
empleado en la ejecución del programa es 2,5, se calcula el número de instrucciones ejecutadas por segundo:

(500 × 106 ciclos/s)/(2,5 ciclos/inst) = 200 × 106 inst/s

El número de ciclos de instrucción por segundo es, por lo tanto 200 × 106.

Ya que se realiza un acceso a datos por cada 4 ciclos de instrucción, el número de peticiones de acceso a datos
es de 50 × 106, de las que el 80% son lecturas. Por tanto, en total habrá que tener en cuenta las siguientes
peticiones:

200 × 106 + 0,8 × 50 × 106 = 240 × 106 lecturas/s


0,2 × 50 × 106 = 10 × 106 escrituras/s
A) Si el bus está multiplexado, cada petición necesita 2 ciclos del bus, empleándose:

2 × 250 × 106 = 500 × 106 ciclos/s

El porcentaje de ocupación del bus sería del 100 %

B) Si el bus no está multiplexado, las peticiones de lectura necesitarían 2 ciclos de bus, mientras que las de
escritura solo uno, por lo que en total se emplearían:

2 × 240 × 106 + 1 × 10 × 106 = 490 × 106 ciclos/s

En este caso, el porcentaje de ocupación del bus sería del 98 % (490/500)


MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo C Junio 2012 2ª.
1.- Se dispone de un banco de tres registros R1, R2 y R3 que contienen los datos 29, 25 y 27 respectivamente.
El contenido de un conjunto de posiciones de memoria es el que aparece en la tabla adjunta.
2510 87 Indicar cuál es el resultado de ejecutar la siguiente instrucción ADD R1, R3, (R2),
2610 986 sabiendo que el primer operando de la instrucción es el destino. Nota: La notación (Ri)
2710 75 hace referencia al modo de direccionamiento indirecto a través de registro.
2810 876 A) R1114 B) R152 C) R1162 D) Ninguna de las anteriores.
2910 63
2.- Considerar dos microprocesadores con buses de datos de 8 y 16 bits, respectivamente. Los dos
procesadores son idénticos en todo lo demás, y sus ciclos de bus son iguales. Suponiendo que la mitad de las
instrucciones y los operandos son de 1 byte, y la otra mitad son de 2 bytes, ¿en qué factor difieren las
velocidades de transferencia de los dos microprocesadores?
A) No difieren. B) 1,33. C) 1,5. D) Ninguna de las anteriores.
3.- Se dispone de una memoria asociativa de n palabras y 12 bits/palabra. Indicar cuál de los siguientes valores
de los registros de argumento (A) y máscara (K) proporcionan un 1 en todos aquellos bits del registro de marca
(M) cuya celda de memoria contenga un número impar, y un 0 en caso contrario. Nota: Se considera que el cero
es un número par y se supone que todos los bits del registro de validez están a 1 por lo que todas las palabras de
la memoria están operativas.
A) A=100000000010,=K 000000000001 B) A=100000000001, K=100000000000
C) A=101111000011, K=000000000001 D) Ninguna de las anteriores.
4.- En un procesador con instrucciones de cero direcciones (con pila), determinar el número mínimo de
instrucciones que se necesitan para completar la operación Y = X×Y+Z.
A) 3. B) 5. C) 6. D) Ninguna de las anteriores.
5.- Se desea implementar el diagrama ASM de la siguiente figura utilizando un registro y una memoria ROM.

S0 S1 01 S2 10 S3 11
1
Inicio Cond
0 0 1

Suponiendo que para cada estado se debe generar una sola señal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), indicar los tamaños que deben tener el registro y la memoria ROM mínima necesaria, respectivamente:
A) 2 bits y 16 palabras × 6 bits/palabra. B) 4 bits y 16 palabras × 4 bits/palabra.
C) 4 bits y 8 palabras × 6 bits/palabra. D) Ninguna de las anteriores.
6.- Se dispone de un procesador que trabaja con un reloj de 50 MHz (50 × 106 Hz) y de un disco duro que
transfiere datos en bloques de 4 bytes a una velocidad de 2 MByte/s (2 × 106 Byte/s). A este sistema se le añade
un controlador de DMA, cuya transferencia utiliza 1000 ciclos de reloj del procesador, y el tratamiento de
interrupción tras la finalización de dicha transferencia necesita 500 ciclos de reloj. Si la transferencia media del
disco es de 4KByte (4 × 103 Byte), determinar la fracción consumida por el procesador cuando el disco duro
está activo.
A) 15%. B) 1,5%. C) 5%. D) Ninguna de las anteriores.
7.- Cuántos módulos de memoria ROM de 2 palabras × n bits/palabra serán necesarios para diseñar un circuito
n
combinacional que eleve al cubo un número X de n bits.
A) 3. B) 2n+2. C) 3×22n. D) Ninguna de las anteriores.

8.- Se desea construir un multiplicador binario que multiplique dos números de 4 y 8 bits, respectivamente.
Para ello se utilizan exclusivamente dos módulos ROM de 256 palabras × 8 bits/palabra y sumadores binarios
paralelos de 4 bits. ¿Cuál es el mínimo número necesario de sumadores de este tipo?
A) 4. B) 3. C) 2. D) Ninguna de las anteriores.
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):

Un computador dispone de un sistema de memoria central constituida por una memoria principal Mp de
64K palabras y una memoria caché Mc de 4K palabras, con bloques de 64 palabras. En él se ejecuta 9 veces
consecutivas un bucle de programa que recorre secuencialmente desde la dirección 0 de memoria a la dirección
4351. Si se supone inicialmente vacía la memoria caché y que el tiempo de acceso a Mp es 4 veces superior al
de Mc, calcular el número de fallos, aciertos y tiempo medio de acceso en los siguientes supuestos:
A) (2 ptos) Memoria caché con correspondencia directa.
B) (2 ptos) Memoria caché con correspondencia asociativa por conjuntos de 4 conjuntos, que utiliza la
política de reemplazamiento LRU.

SOLUCIONES
1.- Se dispone de un banco de tres registros R1, R2 y R3 que contienen los datos 29, 25 y 27 respectivamente.
El contenido de un conjunto de posiciones de memoria es el que aparece en la tabla adjunta.
2510 87 Indicar cuál es el resultado de ejecutar la siguiente instrucción ADD R1, R3, (R2),
2610 986 sabiendo que el primer operando de la instrucción es el destino. Nota: La notación (Ri)
2710 75 hace referencia al modo de direccionamiento indirecto a través de registro.
2810 876 B) R1114 B) R152 C) R1162 D) Ninguna de las anteriores.
2910 63

Solución

La instrucción ADD R1, R3, (R2) usa dos modos de direccionamiento: el directo a registro y el indirecto a
registro.

El primer operando es el contenido del registro R3: por tanto, operando1 = 27. El segundo operando es el
contenido de la posición de memoria almacenada en R2: por tanto, operando2 = 87. Como consecuencia, el
resultado de la operación de suma se almacenará en R1 y será 27+87 = 114.

Respuesta: A (R1114).

2.- Considerar dos microprocesadores con buses de datos de 8 y 16 bits, respectivamente. Los dos
procesadores son idénticos en todo lo demás, y sus ciclos de bus son iguales. Suponiendo que la mitad de las
instrucciones y los operandos son de 1 byte, y la otra mitad son de 2 bytes, ¿en qué factor difieren las
velocidades de transferencia de los dos microprocesadores?
A) No difieren. B) 1,33. C) 1,5. D) Ninguna de las anteriores.

Solución

Supóngase que se realizan 100 transferencias de operandos e instrucciones, de las cuales 50 son de un byte y 50
son de 2 bytes de longitud. El microprocesador de 8 bits necesita un número de ciclos igual a:

Nº de ciclos = 1 ciclo × 50 instrucciones de 1 byte + 2 ciclos × 50 instrucciones de 2 bytes = 150 ciclos.

En cambio, el microprocesador de 16 bits necesita un número de ciclos igual a:

Nº de ciclos = 1 ciclo × 50 instrucciones de 1 byte + 1 ciclo × 50 instrucciones de 2 bytes = 100 ciclos.

Por lo tanto, la velocidad de transferencia de datos difiere en un factor de 1,5. (Que se obtiene de dividir el
número de ciclos necesarios para el primero entre el número de ciclos necesario para el segundo).

Respuesta: C (1,5)

3.- Se dispone de una memoria asociativa de n palabras y 12 bits/palabra. Indicar cuál de los siguientes valores
de los registros de argumento (A) y máscara (K) proporcionan un 1 en todos aquellos bits del registro de marca
(M) cuya celda de memoria contenga un número impar, y un 0 en caso contrario. Nota: Se considera que el cero
es un número par y se supone que todos los bits del registro de validez están a 1 por lo que todas las palabras de
la memoria están operativas.
A) A=100000000010,=K 000000000001 B) A=100000000001, K=100000000000
C) A=101111000011, K=000000000001 D) Ninguna de las anteriores.

Solución
Véase el apartado 2.4 del texto base de teoría.

Un número binario es impar cuando su bit menos significativo es igual a 1. Es decir, en el caso de números de
12 bits, cuando es de la forma XXXX XXXX XXX1, donde X puede ser 0 ó 1.

Según se indica en el enunciado, cuando la celda de memoria contenga un número impar (es decir, un número
con el bit menos significativo igual a 1) en el correspondiente bit del registro de marca debe obtenerse un 1. Por
el contrario, cuando el número sea par (su bit menos significativo sea 0), el correspondiente bit del registro de
marca debe ser 0. Para ello, los registros de argumento (A) y máscara (K) deben tomar los valores siguientes:

A = XXXX XXXX XXX1 (donde X puede valer 0 ó 1)


K = 0000 0000 0001

En particular, los valores dados en la respuesta C son válidos:

A = 1011 1100 0011


K = 0000 0000 0001

Respuesta: C (A = 1011 1100 0011, K = 0000 0000 0001)

4.- En un procesador con instrucciones de cero direcciones (con pila), determinar el número mínimo de
instrucciones que se necesitan para completar la operación Y = X×Y+Z.
A) 3. B) 5. C) 6. D) Ninguna de las anteriores.

Solución

De acuerdo con el funcionamiento de este tipo de procesadores una posible secuencia mínima de instrucciones
a ejecutar para implementar la operación Y = X×Y+Z sería:

1) Push M[X];
2) Push M[Y];
3) Mult;
4) Push M[Z];
5) Add;
6) Pop M[Y]

Luego el número de intrucciones mínimo es 6.


Respuesta: C (6)

5.- Se desea implementar el diagrama ASM de la siguiente figura utilizando un registro y una memoria ROM.

S0 S1 01 S2 10 S3 11
1
Inicio Cond
0 0 1

Suponiendo que para cada estado se debe generar una sola señal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), indicar los tamaños que deben tener el registro y la memoria ROM mínima necesaria, respectivamente:

A) 2 bits y 16 palabras × 6 bits/palabra. B) 4 bits y 16 palabras × 4 bits/palabra.


C) 4 bits y 8 palabras × 6 bits/palabra. D) Ninguna de las anteriores.
Solución

El diagrama mostrado en el enunciado tiene 4 estados, 2 condiciones (que se consultan de manera excluyente) y
4 señales de control. Por tanto, es necesario usar 2 bits para la codificación del estado (n = 2), dos señales de
condición (q = 2) y cuatro señales de control (m = 4).

Para diseñar la unidad de control usando únicamente una memoria ROM y un registro sería necesario un
registro de al menos 2 bits y una memoria ROM de al menos 2n+q palabras × (n+m) bits, es decir, de al menos
16 palabras con 6 bits/palabra.

Respuesta: A (2 bits y 16 palabras × 6 bits/palabra)

6.- Se dispone de un procesador que trabaja con un reloj de 50 MHz (50 × 106 Hz) y de un disco duro que
transfiere datos en bloques de 4 bytes a una velocidad de 2 MByte/s (2 × 106 Byte/s). A este sistema se le añade
un controlador de DMA, cuya transferencia utiliza 1000 ciclos de reloj del procesador, y el tratamiento de
interrupción tras la finalización de dicha transferencia necesita 500 ciclos de reloj. Si la transferencia media del
disco es de 4KByte (4 × 103 Byte), determinar la fracción consumida por el procesador cuando el disco duro
está activo.
A) 15%. B) 1,5%. C) 5%. D) Ninguna de las anteriores.

Solución

Cada transferencia de DMA utiliza:

4 KByte / transf .
 2  10 3 s / transf .
2 MByte / s

Si es el disco está transfiriendo constantemente, éste requiere:

(1000  500)ciclos / transf .


 750  10 3 ciclos / s
2  10 3 s / transf .

Como el procesador funciona a 50 MHz:


750  10 3
Fracción consumida por el procesador =  100  1,5%
50  106

Respuesta: B (1,5%)

7.- Cuántos módulos de memoria ROM de 2n palabras × n bits/palabra serán necesarios para diseñar un circuito
combinacional que eleve al cubo un número X de n bits.
A) 3. B) 2n+2. C) 3×22n. D) Ninguna de las anteriores.

Solución

Si sólo se fuera a utilizar una única memoria ROM, cuya capacidad se pudiese decidir, ésta tendría que tener
una capacidad de 2n palabras×3n bits/palabra. No obstante, como el módulo de memoria ROM del que se
dispone es de 2n palabras × n bits/palabra, serán necesarios 3 módulos para cubrir las necesidades de
almacenamiento.

Respuesta: A (3)
8.- Se desea construir un multiplicador binario que multiplique dos números de 4 y 8 bits, respectivamente.
Para ello se utilizan exclusivamente dos módulos ROM de 256 palabras × 8 bits/palabra y sumadores binarios
paralelos de 4 bits. ¿Cuál es el mínimo número necesario de sumadores de este tipo?
A) 4. B) 3. C) 2. D) Ninguna de las anteriores.

Solución

Se deben multiplicar dos números binarios, uno de 4 bits y otro de 8 bits. El resultado de la operación necesita
12 bits para poder ser expresado.

Se dispone de dos módulos ROM de 256 palabras de 8 bits/palabra y de sumadores binarios paralelos de 4 bits.
Los módulos ROM utilizados, pueden almacenar la multiplicación de dos números binarios de 8 bits. Para
llevar a cabo la multiplicación se supone que el multiplicando es el número de 8 bits Y = (Y7,Y6, …,Y1,Y0), que
se puede dividir en dos de 4 bits que sean Ysup = (Y7,Y6,Y5,Y4) e Yinf = (Y3,Y2,Y1,Y0). El multiplicador será un
X = (X3,X2,X1,X0).

El primer modulo ROM tendrá como entradas Yinf y X almacenando el producto de ambos. Y el segundo tendrá
como entradas Ysup y X almacenando igualmente su producto. Cada módulo ROM guarda palabras de 8 bits. En
el primer módulo los 4 bits menos significativos de la palabra serán ya parte del resultado de multiplicar de
forma completa el número de 8 por el de 4 bits, pero los 4 más significativos se deben sumar a los 4 menos
significativos del segundo módulo ROM, para lo cual se debe usar el primer sumador binario. La salida de este
sumador serán 4 bits más del resultado.

Los 4 bits más significativos del segundo módulo ROM deben sumarse al acarreo del sumador anterior,
proporcionando los 4 bits restantes del resultado de la multiplicación. Así pues se precisan 2 sumadores de 4
bits.

Respuesta: C (2)

PROBLEMA
Un computador dispone de un sistema de memoria central constituida por una memoria principal Mp de
64K palabras y una memoria caché Mc de 4K palabras con bloques de 64 palabras. En él se ejecuta 9 veces
consecutivas un bucle de programa que recorre secuencialmente desde la dirección 0 de memoria a la dirección
4351. Si se supone inicialmente vacía la memoria caché y que el tiempo de acceso a Mp es 4 veces superior al
de Mc, calcular el número de fallos, aciertos y tiempo medio de acceso en los siguientes supuestos:

A) (2 ptos) Memoria caché con correspondencia directa.


B) (2 ptos) Memoria caché con correspondencia asociativa por conjuntos de 4 conjuntos, que utiliza la política
de reemplazamiento LRU.

Solución

La Mc tiene un tamaño de 4K palabras = 4096 palabras, por lo que las 4351 direcciones propuestas no caben en
caché de forma simultánea y hay que realizar reemplazamientos.

Recorrido palabras 0…….4.351 → recorrido bloques 0…..67 ( 4351/64 = 67 )


Nº de bloques de Mc = 4K/64 = 64 bloques.

A)
Correspondencia Directa
Mc 1ª pasada
Falla la 1ª palabra de un total de 68 bloques referenciados  68 fallos
0 / 64

1 / 65
8 pasadas restantes
falla 1ª palabra de 8 bloques (4+4)  8 x 8 = 64 fallos
2 / 66
Nº Fallos = 64+68=132
3 / 67 Nº Referencias = 9 x 4.352 = 39.168
Nº Aciertos = 39.168-132=39.036
4
Tasa_aciertos =Nº Aciertos/Nº Referencias = 39.036/39.168 = 0,997
Tacierto = Tasa_aciertos*T  lectura directa (read through)
Tfallos = 1-Tasa_aciertos
63
Pfallo = 4T

Taccesomedio = Tacierto+Tfallos* Pfallo = 0,997T+(1-0,997)*4T = 1,009T


B)

Correspondencia Asociativa por Conjuntos de 4 Conjuntos


1 2 3 4 5

0/ 64 /48

16 /0 /64
1ª pasada
C0
32 / 16 falla 1ª palabra de 68 bloques  68 fallos
48 / 32
8 pasadas restantes
1 / 65 fallan 5 bloques en cada uno de los 4 primeros conjuntos  8x4x5 = 160 fallos
17 / 1
C1 Nº Fallos = 160+68=228
33 / 17 Nº Referencias = 9 x 4.352 = 39.168
49 Nº Aciertos = 39.168-228=38.940
2 / 66

18 / 2

34 / 18
C2 Tasa_aciertos =Nº Aciertos/Nº Referencias = 38.940/39.168 = 0,994

50 Tacierto = Tasa_aciertos*T  lectura directa (read through)


3 / 67
Tfallos = 1-Tasa_aciertos
19 / 3
C3
35 / 19 Pfallo = 4T
51

Taccesomedio = Tacierto+Tfallos* Pfallo = 0,994T+(1-0,994)*4T = 1,018T

15

31
C15
47

63

Nota: Se ha considerado como buena la solución del apartado b) del problema de considerar 4 conjuntos en lugar de 16.
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTREGUE ESTA HOJA con el resto de hojas de su examen. 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).
Examen tipo A Septiembre 2012.
1.- Sabiendo que la palabra de memoria tiene 32 bits, que el repertorio de instrucciones tiene 16 instrucciones
diferentes y que cada instrucción tiene dos operandos con direccionamiento directo a memoria, ¿cuál es la
máxima memoria direccionable?
A) 214 posiciones. B) 216 posiciones. C) 228 posiciones. D) 232 posiciones.
2.- Un procesador con un bus de 10 MHz tiene una instrucción que tiene cinco etapas: lectura del código de
operación (4 ciclos de bus), lectura de la dirección del operando (3 ciclos), lectura del operando (3 ciclos), suma
de 1 al operando (3 ciclos), y almacenar el operando (3 ciclos). Cuando el procesador va a iniciar la etapa de
lectura del operando, se activa la línea de petición de interrupción. ¿Después de cuánto tiempo entra el
procesador en el ciclo de reconocimiento de interrupción?
A) 0 ns. B) 100 ns. C) 300 ns. D) 900 ns.
3.- Se desea diseñar un circuito combinacional, que sea un sumador de 6 números de 1 bit de longitud,
utilizando únicamente módulos SBC. ¿Cuál es el número mínimo de módulos SBC necesarios?
A) 3 B) 4 C) 5 D) Ninguna de las anteriores.
4.- Se tiene una memoria caché con 64 bloques con capacidad para 512 palabras cada uno. Si la función de
correspondencia es totalmente asociativa y las direcciones de memoria principal tienen 24 bits, indique en qué
bloque (expresado en decimal) se ubicará la palabra con dirección de memoria principal 001FFF expresada en
hexadecimal:
A) 31 B) Podría utilizarse cualquier bloque. C) 11 D) Ninguna de las anteriores.
5.- Si al número binario X = 111100011000 le aplicamos la siguiente secuencia de operaciones de
desplazamiento: 4 operaciones LDCS seguidas de 8 operaciones LICS, ¿cuál es el resultado de la operación?
A) 011000111100 B) 110001100011 C) 000110001111 D) Ninguna de las anteriores.
6.- Se dispone de un procesador que trabaja con un reloj de 50 MHz (= 50 × 106 Hz) que requiere 100 ciclos
para realizar una operación de encuesta. Determinar cuál debe ser la velocidad de transferencia de un CD que
transfiere datos al procesador en palabras de 16 bits, sin perder ningún dato, sabiendo que la fracción de tiempo
de CPU que se consume al realizar la operación de encuesta es del 5,12%. Nota: 1KB/s = 103 bytes / s.
A) 10 KB/s B) 50KB/s C) 100KB/s D) Ninguna de las anteriores.
7.- Dado el siguiente algoritmo. Indicar cuál será el valor de A, B y Contador al final de la ejecución del
algoritmo si el valor de dato se inicializa a 5.

Contador  8; A  dato;
Repeat
B  Contador × 2;
Decrementar Contador;
Until B < A

A) Contador = 2, A = 5 y B = 4 B) Contador = 1, A = 5 y B = 4
C) Contador = 1, A = 5 y B = 2 D) Ninguna de las anteriores.

8.- Se desea implementar el diagrama ASM de la figura utilizando la técnica de selección por estado.
S0 S1 01 S2 10 S3 11
1
Inicio Cond
0 0 1

Suponiendo que para cada estado se debe generar una sola señal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), el número de entradas del multiplexor y el tamaño de la memoria ROM mínima necesaria, son
respectivamente:
A) 4 entradas y 6 palabras con 8 bits/palabra.
B) 4 entradas y 8 palabras con 6 bits/palabra.
C) 6 entradas y 16 palabras con 8 bits/palabra.
D) Ninguna de las anteriores.
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):


(4 ptos) Se desea construir una memoria de 512 Mbytes, de la que los últimos 32 Mbytes deberán ser de ROM y
el resto de RAM. Se dispone para ello de los siguientes módulos en cantidad suficiente:
 RAM: Módulos de tipo A, de 128 Mpalabras de 4 bits.
 RAM: Módulos de tipo B, de 64 Mpalabras de 4 bits.
 RAM: Módulos de tipo C, de 32 Mpalabras de 8 bits.
 ROM: Módulos de tipo D, de 32 Mpalabras de 4 bits.
 Circuitería combinacional adicional en cantidad suficiente.
Diseñar el módulo de memoria, indicando detalladamente la conexión de las líneas de datos, direcciones y
control necesarias para gestionarla.
SOLUCIONES

1.- Sabiendo que la palabra de memoria tiene 32 bits, que el repertorio de instrucciones tiene 16 instrucciones
diferentes y que cada instrucción tiene dos operandos con direccionamiento directo a memoria, ¿cuál es la
máxima memoria direccionable?
A) 214 posiciones. B) 216 posiciones. C) 228 posiciones. D) 232 posiciones.
Solución
El número de bits necesarios para codificar 16 instrucciones es 4. Si el tamaño de la palabra de memoria tiene
32 bits, 32-4=28 bits será el tamaño de los operandos. Por tanto, el tamaño de cada operando sería 28 bits/2=14
bits y la máxima memoria direccionable será 214 bits.

31:28 27:14 13:0


Código Op. Operando 1 Operando 2

Respuesta : A (214 posiciones)

2.- Un procesador con un bus de 10 MHz tiene una instrucción que tiene cinco etapas: lectura del código de
operación (4 ciclos de bus), lectura de la dirección del operando (3 ciclos), lectura del operando (3 ciclos), suma
de 1 al operando (3 ciclos), y almacenar el operando (3 ciclos). Cuando el procesador va a iniciar la etapa de
lectura del operando, se activa la línea de petición de interrupción. ¿Después de cuánto tiempo entra el
procesador en el ciclo de reconocimiento de interrupción?
A) 0 ns. B) 100 ns. C) 300 ns. D) 900 ns.

Solución
El procesador atenderá la interrupción cuando finalice la instrucción en curso, es decir, si se encuentra en la
etapa de lectura del operando, necesitará de otros 9 ciclos para completar la instrucción, por tanto
9 x 100 ns= 900 ns.

Respuesta : D (900 ns)

3.- Se desea diseñar un circuito combinacional, que sea un sumador de 6 números de 1 bit de longitud,
utilizando únicamente módulos SBC. ¿Cuál es el número mínimo de módulos SBC necesarios?
A) 3 B) 4 C) 5 D) Ninguna de las anteriores.
Solución

Un Sumador Binario Completo (SBC) dispone de tres entradas de 1 bit (el sumando xi, el sumando yi, y el
acarreo de la etapa anterior ci-1 ) y dos salidas de 1 bit (el acarreo a la etapa siguiente ci, y el bit de suma si ). El
funcionamiento de un SBC en notación de puntos se muestra en la Figura 1 donde cada punto representa 1 bit de
la entrada, o de la salida.

Figura 1 Notación de puntos de un SBC

Se desean sumar 6 números binarios de 1 bit cada uno, que se pueden representar de la forma siguiente: x0, x1,
x2, x3, x4, x5. Como son números de un único bit su suma como máximo da como resultado 6 en decimal, que
expresado en binario es el número 110. Por tanto, el resultado de la suma se debe expresar con cuatro bits, s2 s1
s0. En la Figura 2 se muestra la suma de estos 6 números mediante notación de puntos y haciendo uso de los
SBC’s necesarios. Como se puede observar son necesarios 4 SBC’s como mínimo.

Figura 2 Reducción mediante un árbol de Wallace

Respuesta: B (4 módulos SBC)

4.- Se tiene una memoria caché con 64 bloques con capacidad para 512 palabras cada uno. Si la función de
correspondencia es totalmente asociativa y las direcciones de memoria principal tienen 24 bits, indique en qué
bloque (expresado en decimal) se ubicará la palabra con dirección de memoria principal 001FFF expresada en
hexadecimal:
A) 31 B) Podría utilizarse cualquier bloque. C) 11 D) Ninguna de las anteriores.
Solución

Utilizando correspondencia totalmente asociativa cualquier bloque de la memoria principal se puede ubicar en
cualquier bloque de la memoria caché.
Respuesta: B (Podría utilizarse cualquier bloque)

5.- Si al número binario X = 111100011000 le aplicamos la siguiente secuencia de operaciones de


desplazamiento: 4 operaciones LDCS seguidas de 8 operaciones LICS, ¿cuál es el resultado de la operación?
A) 011000111100 B) 110001100011 C) 000110001111 D) Ninguna de las anteriores.
Solución

Si analizamos la secuencia de operaciones de desplazamiento propuesta, las 4 operaciones LDCS se ven


contrarrestadas por otras 4 operaciones LICS. Por ello, la secuencia de desplazamientos del enunciado equivale
a aplicar 4 operaciones LICS sobre el número binario. El resultado es 000110001111.

Respuesta: C (000110001111)

6.- Se dispone de un procesador que trabaja con un reloj de 50 MHz (= 50 × 106 Hz) que requiere 100 ciclos
para realizar una operación de encuesta. Determinar cuál debe ser la velocidad de transferencia de un CD que
transfiere datos al procesador en palabras de 16 bits, sin perder ningún dato, sabiendo que la fracción de tiempo
de CPU que se consume al realizar la operación de encuesta es del 5,12%. Nota: 1KB/s = 103 bytes / s.
A) 10 KB/s B) 50KB/s C) 100KB/s D) Ninguna de las anteriores.
Solución

El número de ciclos/s que se emplean en la operación de encuesta son:

5,12% (fracción consumida) × (50×106 ciclos/s) =

0,0512 × (50×106) = 2,56 ×106 ciclos/s


Si N es el número de encuestas/s entonces:

N encuestas/s × 100 ciclos/encuesta = 2,56 × 106 ciclos /s

De donde:

N = 2,56 × 104 encuestas / s =


25K encuestas / s (con 1 K = 103 bytes)

Por último la velocidad será

25K encuestas /s × (2 bytes /encuesta) = 50 Kbytes / s = 50 Kbytes/s

Respuesta: B (50KB/s)

7.- Dado el siguiente algoritmo. Indicar cuál será el valor de A, B y Contador al final de la ejecución del
algoritmo si el valor de dato se inicializa a 5.

Contador  8; A  dato;
Repeat
B  Contador × 2;
Decrementar Contador;
Until B < A

A) Contador = 2, A = 5 y B = 4 B) Contador = 1, A = 5 y B = 4
C) Contador = 1, A = 5 y B = 2 D) Ninguna de las anteriores.

Solución

Inicialmente Contador = 8 y A = 5 y se comienza el bucle. El primer valor de B es 16 y Contador pasa a valer 7.


Como 16 es mayor que 5 se repite el bucle, hasta que B valga 4 en cuyo caso el valor de la variable Contador al
entrar en el bucle es 2 y al salir es 1. Por lo tanto la solución es:

B = 4 Contador = 1 y A = 5

Respuesta: B. (Contador = 1, A= 5 y B = 4)

8.- Se desea implementar el diagrama ASM de la figura utilizando la técnica de selección por estado.

S0 S1 01 S2 10 S3 11
1
Inicio Cond
0 0 1

Suponiendo que para cada estado se debe generar una sola señal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), el número de entradas del multiplexor y el tamaño de la memoria ROM mínima necesaria, son
respectivamente:
A) 4 entradas y 6 palabras con 8 bits/palabra.
B) 4 entradas y 8 palabras con 6 bits/palabra.
C) 6 entradas y 16 palabras con 8 bits/palabra.
D) Ninguna de las anteriores.

Solución
El diagrama mostrado en el enunciado tiene 4 estados, 2 condiciones (que se consultan de manera excluyente) y
4 señales de control. Por tanto, es necesario usar 2 bits para la codificación del estado (n = 2), dos señales de
condición (q = 2) y cuatro señales de control (m = 4).

Como en cada estado sólo se necesita una señal de condición, la técnica de selección por estado necesita
multiplexor de 2n entradas y la ROM debe tener al menos (2n+1) palabras con (n+m) bits/palabra. Por lo tanto, el
MUX debe tener 4 entradas y la memoria ROM mínima necesaria un tamaño de 8 palabras con 6 bits/palabra.

Respuesta: B (4 entradas y 8 palabras con 6 bits/palabra)

PROBLEMA
Se desea construir una memoria de 512 Mbytes, de la que los últimos 32 Mbytes deberán ser de ROM y el resto
de RAM. Se dispone para ello de los siguientes módulos en cantidad suficiente:
 RAM: Módulos de tipo A, de 128 Mpalabras de 4 bits.
 RAM: Módulos de tipo B, de 64 Mpalabras de 4 bits.
 RAM: Módulos de tipo C, de 32 Mpalabras de 8 bits.
 ROM: Módulos de tipo D, de 32 Mpalabras de 4 bits.
 Circuitería combinacional adicional en cantidad suficiente.

Diseñar el módulo de memoria, indicando detalladamente la conexión de las líneas de datos, direcciones y
control necesarias para gestionarla.

Solución
En la Figura 1 aparece el esquema de la memoria requerida. Por simplicidad, no se han conectado entre sí las
líneas R y W, que van conectadas a todos los módulos de memoria que posean esa conexión.
Figura 1. Conexión de los módulos de memoria
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores P', "Problemas de Ingeniería de Computadores
P', "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", e d. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.

INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. 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).

Examen tipo C.
1.- Se dispone de un procesador que trabaja con un reloj de 35 MHz ( 35 x 106Hz) y de un disco duro que
=

transfiere datos a una velocidad de 1 MBytes/s ( 1 x 106 Byte/s). A este sistema se le añade un controlador de
=

DMA, cuya transferencia utiliza 1500 ciclos de reloj del procesador, y el tratamiento de interrupción tras la
finalización de la transferencia necesita 250 ciclos de reloj. Determinar la transferencia media del disco
teniendo en cuenta que la fracción consumida por el procesador cuando el disco duro está activo es el 2%.
Nota: 1KByte 1 x 103 Bytes.
=

A) 7 KBytes B) 5 KBytes C) 9 KBytes D) Ninguna de las anteriores.


2.- Se desea diseñar una Unidad de Control con 9 estados, que genere 25 señales de control totalmente
independientes y que reciba 4 señales de condición. Si en cada estado se utiliza como máximo una única
condición, el tamaño del multiplexor y de la memoria ROM de capacidad mínima necesaria para implementar
dicha Unidad de Control utilizando un diseño de selección por campo es:
A) MUX de 4 entradas y 2 salidas, y ROM de 25 palabras x 33 bits/palabra.
B) MUX de 9 entradas y 4 salidas, y ROM de 25 palabras x 31 bits/palabra.
C) MUX de 4 entradas y 2 salidas, y ROM de 29 palabras x 31 bits/palabra.
D) Ninguna de las anteriores.
3.- Indicar cuántos módulos de memoria ROM de 2n palabras x 1 bit/palabra serían necesarios para diseñar un
circuito combinacional que sume dos números de n bits.
A) 23 x (2n+1) B) 2n x (n+1) C) 2n x (2n+1) D) Ninguna de las anteriores.

4.- Se dispone de un banco de tres registros que contiene los datos que se R1 29 2510 87
R2 25 2610 986
muestran en la Tabla l. El contenido de un conjunto de posiciones de
R3 27 2710 75
memoria es el que aparece en la Tabla 2. Indicar cuál es el resultado de
la instrucción MULT R1, (R3), (R2), sabiendo que el primer operando de Tabla 1 2810 876
2910 63
las operaciones es el destino. Nota: La notación (Ri) hace referencia al
modo de direccionamiento indirecto a través de registro. Tabla 2
A) R1�675 B) R1 �6525 C) R2�725 D) R2�1575
5. Un computador de von Neumann tiene una longitud de palabra de 16 bits. Sus instrucciones máquina ocupan
una longitud de 16 ó 32 bits (1 ó 2 palabras). En ambos casos, el código de operación de las instrucciones
máquina ocupa un campo de 7 bits. Indicar si las siguientes afirmaciones son verdaderas:
I. La memoria principal deberá estar dividida en dos bancos distintos: uno para datos y otro para instrucciones.
II. Este computador tendrá, como máximo, 2 7-1 señales de control diferentes.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.
6.- Un disco magnético con 2048 pistas, numeradas del O al 2047, tiene la siguiente cola de peticiones de
acceso: 1700, 50, 616, 800, 1264, 336, 1440 y 604. Utilizando la planificación SCAN ¿en qué orden se atienden
las solicitudes de acceso si inicialmente la cabeza se halla en la pista 1000?
A) 1264 1440 1700 50 336 604 616 800 B) 800 336 604 616 50 1264 1440 1700
C) 1264 1440 1700 800 616 604 336 50 D) 1264 50 1440 336 1700 604 800 616
7.- El contenido inicial de un registro de desplazamiento de 4 bits es 0111. Si se realiza una operación de
desplazamiento, tras la cual el contenido del registro pasa a ser 111 O, señalar cuál de las afirmaciones
siguientes es correcta.
A) La operación de desplazamiento podría ser LIAS. B) La operación de desplazamiento podría ser LICS.
C) Las dos anteriores son correctas. D) Ninguna de las anteriores.
8.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S0, S¡, S2, S ) y dos señales
3
de condición (!, s0). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y
se ha realizado la asignación de estados siguiente: S0 :{Q1=0, Q0=0}, S1 :{Q1=0, Q0=1}, S2:{Q1=1, Q0=0} y
S 3 :{Q1=1, Q0=1}. En la siguiente tabla se muestran las transiciones entre estados.

Estado presente Próximo estado


Indicar a partir de la información dada cual de las
-- - -

Q¡Qo I s0 Is 0 I s0 Is0
siguientes afirmaciones es correcta.
00 00 00 01 01 -

A)D1 =IQ1 +Q1 Q0 +IQ1Qa


01 01 01 10 10 -

B) D0 IQ0 +IQ0
=

10 10 10 11 11 C) Las dos afirmaciones anteriores son correctas.


11 11 11 00 00 D) Todas las afirmaciones anteriores son falsas.

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


Cuestión 1 (0.75 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.5 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):


Un computador dispone de un sistema de memoria central constituido por una memoria principal Mp de
64 Kbytes y una memoria cache Me de 2Kbytes organizada en 2 conjuntos, con 4 bloques por conjunto y 256
10
bytes por bloque (Nota: 1 Kbyte= 2 bytes). Se pide:
A) (2 ptos.) Esquema de correspondencia entre Mp y Me
B) (0.5 ptos.) Interpretación de los bits de la dirección física del sistema de memoria para Me.
C) (1.5 ptos.) Si en un determinado instante el conjunto O contiene las etiquetas (10, 8, 9, 11) y el conjunto 1 las
etiquetas (8, 9, 10, 11) ¿Qué bloques de Mp están cargados en Me?
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo A Junio 2013 1ª.
1.- Sabiendo que la frecuencia del reloj del bus de la figura es de 100 MHz.
T1 T2 T3

Reloj

A0 - A23

D0- D31

Lect / Escr

¿Cuál será el ancho de banda de este bus expresado en bytes/s?:

A) 35 × 106 B) 80 × 106 C) 133,33 × 106 D) Ninguna de las anteriores.


2.-Se tiene un sistema con una memoria principal de 512 Kpalabras y una memoria caché de 64 Kpalabras con
bloques de 32 palabras, siendo el tamaño de la palabra de 4 bytes. Sabiendo que el sistema de memoria caché
tiene asignada una función de correspondencia de tipo directo, indicar cuál de las siguientes direcciones
provocaría un reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal
asociado a la dirección 1712010.
A) 8266810 B) 1737610 C) 1715010 D) Ninguna de las anteriores.
3.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 3 bits de longitud, 5
números de 2 bits de longitud y 1 número de 1 bit de longitud, utilizando únicamente módulos SBC. ¿Cuál es el
número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 9 D) Ninguna de las anteriores.
4.- Sea una CPU con 8 líneas de interrupción que denotamos por PI i, con i = 0,…7, siendo 7 el menor nivel de
prioridad, y 0 el mayor. Se producen 6 peticiones de interrupción, en el siguiente orden: PI3, PI1, PI0, PI6, PI5,
PI7. Teniendo en cuenta que la duración de las rutinas de interrupción y los tiempos de solicitud de las
interrupciones son los dados en la tabla siguiente, ¿cuál es el orden en que se tratan las interrupciones si el
sistema permite anidamiento de interrupciones?
Tiempo Duración A) PI3 PI1 PI0 PI6 PI5 PI7
Interrupción
petición rutina
PI3 0 5 B) PI3 PI0 PI1 PI6 PI5 PI7
PI1 3 3
PI0 3 2 C) PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7
PI6 8 3 D) Ninguna de las anteriores.
PI5 11 4
PI7 15 2
5.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000B. El computador tiene una memoria de 64Kpalabras de 16 bits. Supóngase que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00C9). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00C9 y 00D4 B) 00C7 y 000B C) 00C8 y 00D7 D) Ninguna de las anteriores.
6.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indicar cuál de las siguientes
afirmaciones, acerca de las señales de control (ci), es correcta:

s1 / c1,c3
Ī
s1 A) c2 = S1+ S2 × s1
B) c3 = S2 × s1
I/c0 s0 / c2
S0 S1 S2 C) Las dos anteriores son ciertas.
D) Las dos anteriores son falsas.
s0 / c2

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


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

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):
Se tiene un computador cuyo procesador trabaja con un reloj de 1 GHz (109 Hz). Cada vez que se programa una
transferencia por DMA (se necesitan 2000 ciclos de reloj para ello) el disco duro transfiere directamente a
memoria un bloque de 8KB (8 × 210 bytes), siendo la velocidad de funcionamiento del disco de 8MB/s (8 × 106
bytes/s).

Cuando acaba la transferencia de un bloque, el procesador recibe una petición de interrupción. El procesador
necesita 1000 ciclos de reloj en total para detectar la interrupción, identificarla, saltar a la rutina de atención
correspondiente y ejecutar dicha rutina.

Se pide lo siguiente:
A) (0.75 ptos) El tiempo t1 que el procesador utilizará para programar los controladores.
B) (0.75 ptos) El tiempo ttransferencia que el controlador necesitará para transferir el bloque entero.
C) (0.75 ptos) El tiempo t2 que dedica el procesador a finalizar la transferencia por DMA.
D) (0.75 ptos) La sobrecarga que sufre el procesador al realizar una operación de E/S por DMA con el disco
duro.

Nota: La sobrecarga del procesador en una operación de E/S es el porcentaje de tiempo que dedica el
procesador a la operación de E/S frente al tiempo total que tiene.
SOLUCIONES

1.- Sabiendo que la frecuencia del reloj del bus de la figura es de 100 MHz.
T1 T2 T3

Reloj

A0 - A23

D0- D31

Lect / Escr

¿Cuál será el ancho de banda de este bus expresado en bytes/s?:

A) 35 × 106 B) 80 × 106 C) 133,33 × 106 D) Ninguna de las anteriores.

Solución:

Para calcular el ancho de banda de un bus dado se necesitan dos datos:


la cantidad de información que se puede transferir por el bus
el tiempo que se necesita para transferir esa información.

Según la figura del enunciado, el protocolo puede transferir 4 bytes (puesto que el bus de datos es de 32 bits,
(D0 - D31) en 3 ciclos (T1 / T2 / T3).

Como la frecuencia del bus es de 100 MHz, eso significa que el tiempo de ciclo es 10 ns. Y por lo tanto, el ancho
de banda será el siguiente:

Respuesta: C) 133,33 × 106

2.-Se tiene un sistema con una memoria principal de 512 Kpalabras y una memoria caché de 64 Kpalabras con
bloques de 32 palabras, siendo el tamaño de la palabra de 4 bytes. Sabiendo que el sistema de memoria caché
tiene asignada una función de correspondencia de tipo directo, indicar cuál de las siguientes direcciones
provocaría un reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal
asociado a la dirección 1712010.
A) 8266810 B) 1737610 C) 1715010 D) Ninguna de las anteriores.

Solución:

Véase el apartado 2.5.2 del libro de teoría. Las direcciones de memoria principal tendrán una anchura de n=19
bits, ya que el número total de palabras de ésta es de 512 Kpalabras = 219 palabras.

Como la memoria caché utiliza una función de correspondencia directa, una dirección de memoria principal se
compondrá de los campos Etiqueta, Bloque y Palabra. La capacidad de la memoria caché es de 64 Kpalabras
= 216 palabras. Como se tienen 32 palabras/bloque, el número total de bloques en la memoria caché = 216
palabras /(25 palabras/bloque) = 211 bloques.

Por lo tanto el campo Bloque tiene una anchura de b = 11 bits. Como hay 25 palabras/bloque, se necesitan 5 bits
para el campo Palabra.
Finalmente, el campo Etiqueta tendrá 19 - (11+5) = 3 bits de anchura.

Resumiendo, una dirección estará compuesta por 19 bits correspondiendo los 3 primeros bits a la etiqueta, los 11
siguientes al bloque y los 5 últimos a la palabra.

Para responder a esta pregunta basta con descomponer las direcciones proporcionadas en la solución en sus
respectivos 3 campos: 1712010 = 000 01000010111 00000

Opción A) 8266810 = 001 01000010111 01100.


Tiene el mismo número de bloque y distinta etiqueta. Si se hiciera una referencia a memoria, éste bloque
sustituiría al actual (el asociado al 1712010).

Opción B) 1737610 = 000 01000011111 00000.


Es otro bloque y no se corresponde con el ocupado por el bloque asociado a la dirección 1712010

Opción C) 1715010 = 000 01000010111 11110.


Está en el mismo bloque y tiene igual etiqueta, y por lo tanto no implica reemplazamiento.

Respuesta: A

3.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 3 bits de longitud, 5
números de 2 bits de longitud y 1 número de 1 bit de longitud, utilizando únicamente módulos SBC. ¿Cuál es el
número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 9 D) Ninguna de las anteriores.

Solución:

Un Sumador Binario Completo (SBC) dispone de tres entradas de 1 bit (el sumando xi, el sumando yi, y el
acarreo de la etapa anterior ci-1) y dos salidas de 1 bit (el acarreo a la etapa siguiente ci, y el bit de suma si).

El funcionamiento de un SBC en notación de puntos se muestra en la siguiente figura, donde cada punto
representa 1 bit de la entrada, o de la salida.

Notación de puntos de un SBC

En la siguiente figura se muestra la suma de los números indicados en la cuestión mediante notación de puntos y
haciendo uso de los SBC’s necesarios. Como se puede observar son necesarios 10 SBC’s como mínimo.
Reducción mediante un árbol de Wallace

Respuesta: D (10 módulos SBC’s, ninguna de las anteriores)

4.- Sea una CPU con 8 líneas de interrupción que denotamos por PI i, con i = 0,…7, siendo 7 el menor nivel de
prioridad, y 0 el mayor. Se producen 6 peticiones de interrupción, en el siguiente orden: PI3, PI1, PI0, PI6, PI5,
PI7. Teniendo en cuenta que la duración de las rutinas de interrupción y los tiempos de solicitud de las
interrupciones son los dados en la tabla siguiente, ¿cuál es el orden en que se tratan las interrupciones si el
sistema permite anidamiento de interrupciones?

Tiempo Duración A) PI3 PI1 PI0 PI6 PI5 PI7


Interrupción
petición rutina
PI3 0 5 B) PI3 PI0 PI1 PI6 PI5 PI7
PI1 3 3
PI0 3 2 C) PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7
PI6 8 3 D) Ninguna de las anteriores.
PI5 11 4
PI7 15 2

Solución:

Como el sistema permite anidamiento, cuando comienza a ejecutarse el programa de servicio de una interrupción
si llega una más prioritaria, se interrumpe la ejecución de la rutina para atender a la más prioritaria. Por tanto, el
cronograma de la ejecución de las rutinas sería el siguiente:

PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7

Llegada: PI3 PI0 PI6 PI5 PI7


PI1

Por tanto, la secuencia se corresponde con la respuesta c).

Respuesta: C (PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7)

5.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000B. El computador tiene una memoria de 64Kpalabras de 16 bits. Supóngase que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00C9). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00C9 y 00D4 B) 00C7 y 000B C) 00C8 y 00D7 D) Ninguna de las anteriores.

Solución:

Direccionamiento indirecto: La dirección inicial se obtiene leyendo el contenido de la posición de memoria


dada por el campo de direcciones de la instrucción: (CD) = 00C9.

Como según el enunciado, cada palabra contiene un valor igual a su dirección en memoria, la indirección (00C9)
= 00C9.

Por tanto, la dirección de memoria a la que se accede es 00C9.

Direccionamiento indexado a través del registro R1: En este caso, como ((CD)) = (00C9) = 00C9. La
dirección definitiva se calcula sumando el contenido del registro índice con la dirección obtenida en la
indirección: (R1) + 00C9 = 000B+00C9 = 00D4.

La dirección de memoria a la que se accede en este caso es 00D4.

Respuesta: A) 00C9 y 00D4

6.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indicar cuál de las siguientes
afirmaciones, acerca de las señales de control (ci), es correcta:

s1 / c1, c3
Ī
s1 A) c2 = S1+ S2 × s1
B) c3 = S2 × s1
I/c0 s0 / c2
S0 S1 S2 C) Las dos anteriores son ciertas.
D) Las dos anteriores son falsas.
s0 / c2

Solución:

Para la activación de c2 hay que estar en el estado S1, pudiendo valer s0 0 ó 1. Sin embargo, partiendo del estado
S2, c2 no se activa. Por tanto, la respuesta A) es falsa.

Para la activación de c3 es necesario estar en el estado S2 y s1=1, por tanto la respuesta B) es cierta.

PROBLEMA

Se tiene un computador cuyo procesador trabaja con un reloj de 1 GHz (109 Hz). Cada vez que se programa una
transferencia por DMA (se necesitan 2000 ciclos de reloj para ello) el disco duro transfiere directamente a
memoria un bloque de 8KB (8 × 210 bytes), siendo la velocidad de funcionamiento del disco de 8MB/s (8 × 106
bytes/s).

Cuando acaba la transferencia de un bloque, el procesador recibe una petición de interrupción. El procesador
necesita 1000 ciclos de reloj en total para detectar la interrupción, identificarla, saltar a la rutina de atención
correspondiente y ejecutar dicha rutina.

Se pide lo siguiente:
A) (0.75 ptos) El tiempo t1 que el procesador utilizará para programar los controladores.
B) (0.75 ptos) El tiempo ttransferencia que el controlador necesitará para transferir el bloque entero.
C) (0.75 ptos) El tiempo t2 que dedica el procesador a finalizar la transferencia por DMA.
D) (0.75 ptos) La sobrecarga que sufre el procesador al realizar una operación de E/S por DMA con el disco
duro.

Nota: La sobrecarga del procesador en una operación de E/S es el porcentaje de tiempo que dedica el
procesador a la operación de E/S frente al tiempo total que tiene.

SOLUCIÓN

Partiendo de que la frecuencia del reloj es de 1 GHz se puede calcular el periodo de la señal de reloj o la
duración del ciclo de reloj:
1 1 1
T    110 9 s  1 ns
f 1GHz 110 Hz
9

En este problema, se tiene que calcular la sobrecarga para una transferencia por DMA. Para iniciar una
transferencia por DMA el procesador debe programar tanto el controlador de DMA como el controlador del
disco duro, y para ello, como se indica en el enunciado, el procesador necesita 2000 ciclos de reloj (en general el
procesador utilizará un tiempo t1 para programar los controladores).
Cuando el procesador haya programado el controlador de DMA, éste cogerá el control del bus y comenzará a
realizar la transferencia. Mientras dure la transferencia (el controlador necesitará un tiempo ttransferencia para
transferir el bloque entero) el procesador podrá dedicarse a otras tareas. Sin embargo cuando acabe la
transferencia, el controlador de DMA enviará una petición de interrupción al procesador para que éste sepa que
la transferencia ha terminado. En este último paso el procesador dedica 1000 ciclos a la operación de E/S (t2 es
el tiempo que dedica el procesador a finalizar la transferencia por DMA).
El disco duro en este tipo de transferencias no está trabajando de forma continua, realiza una única transferencia
de un bloque grande. Esto implica que a la hora de calcular la sobrecarga no se puede considerar el intervalo de
tiempo entre dos datos consecutivos como referencia. El intervalo de tiempo a considerar es el siguiente: se
empieza a contar desde que el procesador decide iniciar la transferencia, incluyendo el tiempo para que transfiera
el bloque entero hasta que termine de ejecutar la rutina del final de la transferencia. De forma esquemática:
t
ttransferencia

t1 t2

Programar Transferencia Fin de la


controlador del bloque transferencia
Petición interrupción
CPU DMA CPU

Por lo tanto la sobrecarga (SC) se calcula (en tanto por ciento) de la siguiente forma:
t1  t 2 t1  t 2
SC %   100  100
t t1  ttransferencia  t 2
Se necesita conocer cuánto tiempo precisa el periférico para transferir un bloque entero. La velocidad de
funcionamiento de este disco duro es de 8 MB/s y los bloques que transfiere son de 8 KB:

8 Kb 8  210 bytes
ttransferencia    1024 10 6 s  1024s
8 Mb s 8 10 bytes s
6

Si se analiza bien la ecuación anterior, se ve que por una parte se dice que 8 KB = 8 × 210 bytes, mientras que
por otra parte se tiene que 8 MB/s = 8 × 106 bytes/s.
Es muy importante diferenciar estos dos casos, ya que los múltiplos (kilo, mega) no representan lo mismo en
ambos casos. Cuando se habla de cantidad de información o capacidad de almacenamiento de los dispositivos los
múltiplos (kilo, mega, giga…) representan potencias de 2 (210, 220, 230…, respectivamente), sin embargo cuando
se habla de velocidad, los múltiplos representan potencias de 10 (103, 106, 109…, respectivamente).
A la hora de calcular la sobrecarga los tiempos t1 y t2 hay que indicarlos en segundos y no en ciclos para realizar
correctamente la división con t. Para ello se realiza el siguiente cálculo:
t1 = 2000 ciclos 1 ns/ciclo = 2000 ns
t2 = 1000 ciclos  1 ns/ciclo = 1000 ns
Y la sobrecarga será:

SC % 
2000  1000ns 100 
3s
 0,29 %
2000  1000ns  1024s 1027 s
Nota: Hay que tener en cuenta que en la ecuación anterior los tiempos están indicados en distintas unidades, dos
están en nanosegundos, y el tercero en microsegundos. Los tres tiempos se deben poner en la misma unidad de
tiempo, en este caso en microsegundos.
La sobrecarga en este caso es muy pequeña, el procesador dedica poco tiempo a la operación de entrada/salida
puesto que el controlador de DMA libera de gran parte de ese trabajo al procesador.
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo C Junio 2013 2ª.
1.- Sabiendo que la frecuencia del reloj del bus de la figura es de 100 MHz.
T1 T2 T3

Reloj

A0-
A23
D0-D31

Lect/Escr

El tiempo que se necesita para transferir un fichero de 100MB (100 × 220 bytes) es:
A) 0,254 s B) 0,786 s C) 0,567 s D) Ninguna de las anteriores.
2.- Un sistema jerárquico de memoria tiene una memoria caché de 8Kpalabras, dividida en bloques de 256
palabras y con un tiempo de acceso de 20 ns, y una memoria principal de 512 Kpalabras con un tiempo de acceso
de 120 ns. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y después se
lee el dato desde la caché. Si la tasa de acierto de la caché es del 90%, ¿cuál es el tiempo de acceso medio de
este sistema?
A) 3092 ns B) 1650 ns C) 975 ns D) Ninguna de las anteriores.
3.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos.
Cuando la CPU dispone en exclusiva del bus, el 75% de las instrucciones emplean 4 ciclos de reloj en ser
ejecutadas y el 25% emplean 6 ciclos, aunque en 2 de ellos no se requiera el acceso al bus. Si la frecuencia del
computador es de 225 MHz, ¿cuántas instrucciones por segundo deja de ejecutar la CPU cuando el controlador
de DMA está realizando la transmisión?
A) 1,1 × 10 6 B) 7,5 × 10 6 C) 9,1 × 10 6 D) Ninguna de las anteriores.
4.- El siguiente algoritmo describe una determinada operación de un sistema digital:
1: Declaración: A[8], B[8], Cont[3;
2: A  Bus; Si los valores cargados en los registros A y B desde el bus
3: B  Bus; de entrada son 00110000 y 01001000, respectivamente,
4: for Cont = 2 to 5 do ¿cuál es el valor de A y B después de la ejecución del
5: if Cont es par then algoritmo, respectivamente?
6: A  A + B; B  A / 2 A) 01110100 y 00010100
7: else B) 10110100 y 01011010
8: A  A - B; A  B * 2 C) 01001000 y 00110000
9: endif; D) Ninguna de las anteriores.
10: endfor;
11: Bus  A;
12: Bus  B;
13: Parar;
5.- Empleando únicamente una ROM, se pretende diseñar un comparador de dos números de 6 bits que genere
las funciones “mayor que”, “menor que” e “igual que”. Indicar cuál de las siguientes ROM podría emplearse:
A) 210 palabras × 4 bits/palabra B) 212 palabras × 4 bits/palabra
C) Las dos anteriores. D) Ninguna de las anteriores.
6.- En un procesador con instrucciones de cero direcciones (con pila), determinar cuál es el número mínimo de
instrucciones que se necesitan para completar la secuencia Y = (X+Y) × Z.
A) 3 B) 5 C) 6 D) Ninguna de las anteriores.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):
Se dispone de un PC en el cual el bus de direcciones tiene 32 bits y el ancho de palabra es de 64 bits. El mapa de
memoria de este PC tiene dos secciones:
El área conocida como memoria convencional (los primeros 640Kbytes de memoria), utilizada principalmente
por el sistema operativo y programas residentes.
El área de memoria superior, situada a continuación, hasta ocupar 1 Mbyte. Esta área está reservada para
adaptadores hardware y la ROM BIOS, entre otros.

Los primeros 1024 Kbytes de este computador (128 Kpalabras × 64 bits) se distribuyen de la siguiente manera:
640 Kbytes de memoria RAM (80 Kpalabras × 64 bits)
384 Kbytes de memoria ROM (48 Kpalabras × 64 bits)
Sabiendo que se dispone de módulos de memoria de las siguientes características:
Módulos RAM Módulos ROM
2 Kpalabras × 16 bits 16 Kpalabras × 8 bits
32 Kpalabras × 32 bits 16 Kpalabras × 16 bits
64 Kpalabras × 16 bits 64 Kpalabras × 1 bit
Se pide:
A) (0.5 ptos) Analizar si se podría diseñar un mapa de memoria con el tipo de pastillas disponibles. En el
caso de que no sea posible, proponer otra opción.
B) (1 pto) Indicar cuántos módulos de memoria y de qué características serían necesarios para diseñar el
mapa de memoria, utilizando el menor número de pastillas posible.
C) (1.5 ptos) Realizar el diseño del mapa de memoria de modo que la memoria RAM ocupe las posiciones
inferiores de memoria y a continuación esté situada la memoria ROM. Dibujar el esquema del mapa de
memoria resultante.
SOLUCIONES

1.- Sabiendo que la frecuencia del reloj del bus de la figura es de 100 MHz.
T1 T2 T3

Reloj

A0-
A23
D0-D31

Lect/Escr

El tiempo que se necesita para transferir un fichero de 100MB (100 × 220 bytes) es:
A) 0,254 s B) 0,786 s C) 0,567 s D) Ninguna de las anteriores.

Solución:
Para calcular el tiempo necesario para transferir un fichero hay que tener en cuenta el tamaño del fichero y el
ancho de banda del bus.

Como la frecuencia del bus es de 100 MHz, eso significa que el tiempo de ciclo es 10 ns. Y por lo tanto, el ancho
de banda será el siguiente:

Otro aspecto a tener en cuenta son las unidades y sus múltiplos.


Cuando hablamos de cantidad de información (el tamaño de un fichero por ejemplo) los múltiplos representan
potencias de 2, es decir, 1 MB = 220 bytes, o 1 GB = 230 bytes. Sin embargo, cuando hablamos de velocidad de
transferencia como ocurre en el caso del ancho de banda, los múltiplos representan potencias de 10, es decir, 1
MB/s = 106 bytes/s, o 1 GB/s = 109 bytes/s. Si tenemos todo esto en cuenta, el tiempo que se pide lo calculamos
de la siguiente forma:

Respuesta: B) 0,786 s
2.- Un sistema jerárquico de memoria tiene una memoria caché de 8Kpalabras, dividida en bloques de 256
palabras y con un tiempo de acceso de 20 ns, y una memoria principal de 512Kpalabras con un tiempo de acceso
de 120 ns. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y después se
lee el dato desde la caché. Si la tasa de acierto de la caché es del 90%, ¿cuál es el tiempo de acceso medio de
este sistema?
A) 3092 ns B) 1650 ns C) 975 ns D) Ninguna de las anteriores.

Solución:
Véase el apartado 2.5.5 del texto base de teoría. El tiempo medio de acceso al sistema de memoria viene dado
por la expresión siguiente:
ta = h × tacierto + ( 1 – h ) × tfallo

donde
tacierto es el tiempo de acceso en caso de acierto
tfallo es el tiempo de acceso en caso de fallo
h es la tasa de acierto

Es decir, el tiempo medio de acceso es la media ponderada del tiempo medio de acceso en caso de acierto y del
tiempo medio de acceso en caso de fallo.
En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria caché, 20 nseg. La
probabilidad de acierto es del 90 % (h = 0.90).
En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde la memoria principal a la
memoria caché y luego, según el enunciado, se mueve la palabra que ha producido el fallo desde la caché a la
CPU. Luego en caso de fallo hay que mover 256 palabras (un bloque) desde la memoria principal, lo que tarda
un tiempo de 256×120 ns = 30720 ns; después se mueve una palabra desde la caché, lo que emplea otros 20 ns.
Luego en caso de fallo se tarda 30740 ns. La probabilidad de un fallo de referencia es del 100 % – 90 % = 10 %
(h = 0.1).
Por tanto, el tiempo medio de acceso de este sistema de memoria es:
0.90 × 20 ns + 0.1×30740 ns = 18 ns + 3074 ns = 3092 ns.

Respuesta: A (3092 ns)

3.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos.
Cuando la CPU dispone en exclusiva del bus, el 75% de las instrucciones emplean 4 ciclos de reloj en ser
ejecutadas, y el 25% emplean 6 ciclos, aunque en 2 de ellos no se requiera el acceso al bus en ambos casos. Si la
frecuencia del computador es de 225 MHz, ¿cuántas instrucciones por segundo deja de ejecutar la CPU cuando
el controlador de DMA está realizando la transmisión?
A) 1,1 × 10 6 B) 7,5 ×10 6 C) 9,1 × 10 6 D) Ninguna de las anteriores.

Solución:
(Análogo al problema 3.8 del libro, ver explicación). En este caso, hay dos tipos de instrucciones: el 75%
emplean 4 ciclos y el 25 % 6 ciclos. Por tanto, la velocidad de ejecución cuando no hay DMA es:
f Hz 225 106
vnormal    5 107 instruc / s
0.75  4 ciclos / instrucció n  0.25  6 ciclos / instrucció n 4.5
Cuando hay DMA, en un 75% de los casos se emplean 5 ciclos entre instrucción e instrucción y en un 25% se
emplean 7. Por tanto,
f Hz 225  106
vDMA    4,09 107 instruc / s
0.75  5 ciclos / instrucció n  0.25  7 ciclos / instrucció n 5.5
Luego el número de instrucciones por segundo que deja de ejecutar la CPU cuando el controlador de DMA está
realizando la transmisión es:
vDMA  vDMA  5 107  4,09 107 instruc. / s  9,1106 instruc / s

Respuesta: C ( 9,1 × 10 6 instrucciones/s)

4.- El siguiente algoritmo describe una determinada operación de un sistema digital:


1: Declaración: A[8], B[8], Cont[3;
2: A  Bus; Si los valores cargados en los registros A y B desde el bus
3: B  Bus; de entrada son 00110000 y 01001000, respectivamente,
4: for Cont = 2 to 5 do ¿cuál es el valor de A y B después de la ejecución del
5: if Cont es par then algoritmo, respectivamente?
6: A  A + B; B  A / 2 A) 01110100 y 00010100
7: else B) 10110100 y 01011010
8: A  A - B; A  B × 2 C) 01001000 y 00110000
9: endif; D) Ninguna de las anteriores
10: endfor;
11: Bus  A;
12: Bus  B;
13: Parar;
Solución:
A) 01110100 y 00010100
B) 10110100 y 01011010
C) 01001000 y 00110000

Según el enunciado los valores almacenados en A y B son 4810 (00110000) y 7210 (01001000). En la tabla se
recogen los valores asignados a A y B para cada iteración del bucle:

Cont A B
2 120 60
3 120 60
4 180 90
5 180 90

Por tanto, el valor final de A y B son 18010 y 9010 (10110100 y 01011010), que se corresponde con la respuesta
B.

Respuesta: B (10110100 y 01011010)

5.- Empleando únicamente una ROM, se pretende diseñar un comparador de dos números de 6 bits que genere
las funciones “mayor que”, “menor que” e “igual que”. Indicar cuál de las siguientes ROM podría emplearse:
A) 210 palabras × 4 bits/palabra B) 212 palabras × 4 bits/palabra
C) Las dos anteriores. D) Ninguna de las anteriores.

Solución:
En un caso general se necesitará una memoria ROM de un tamaño mínimo de:

(2núm. entradas) palabras×(núm. salidas) bits/palabra

En el caso del comparador propuesto el número de entradas es 6 + 6 = 12, y el número de salidas es 3, por lo
que se necesitará una memoria ROM de un tamaño mínimo de 212 palabras × 3 bits/palabra.
La respuesta A propone una capacidad con un número de palabras inferior al necesario y no vale. Sin embargo la
respuesta B tiene capacidad mayor que la necesaria por lo que se podría emplear para diseñar el comparador.

Respuesta: B (212 palabras × 4 bits/palabra)

6.- En un procesador con instrucciones de cero direcciones (con pila), determinar cuál es el número mínimo de
instrucciones que se necesitan para completar la secuencia Y = (X+Y) × Z.
A) 3 B) 5 C) 6 D) Ninguna de las anteriores.

Solución:
De acuerdo con el funcionamiento de este tipo de procesadores una posible secuencia de instrucciones a ejecutar
para implementar la operación Y = (X+Y) × Z sería:

1) Push M[X];
2) Push M[Y];
3) Add;
4) Push M[Z];
5) Mult;
6) Pop M[Y]
Luego el número mínimo de instrucciones es 6.

Respuesta: C (6)
PROBLEMA

Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

Se dispone de un PC en el cual el bus de direcciones tiene 32 bits y el ancho de palabra es de 64 bits. El mapa de
memoria de este PC tiene dos secciones:
El área conocida como memoria convencional (los primeros 640Kbytes de memoria), utilizada principalmente
por el sistema operativo y programas residentes.
El área de memoria superior, situada a continuación, hasta ocupar 1 Mbyte. Esta área está reservada para
adaptadores hardware y la ROM BIOS, entre otros.

Los primeros 1024 Kbytes de este computador (128 Kpalabras × 64 bits) se distribuyen de la siguiente manera:
640 Kbytes de memoria RAM (80 Kpalabras × 64 bits)
384 Kbytes de memoria ROM (48 Kpalabras × 64 bits)
Sabiendo que se dispone de módulos de memoria de las siguientes características:

Módulos RAM Módulos ROM


2 Kpalabras × 16 bits 16 Kpalabras × 8 bits
32 Kpalabras × 32 bits 16 Kpalabras × 16 bits
64 Kpalabras × 16 bits 64 Kpalabras × 1 bit

Se pide:
A) (0.5 ptos) Analizar si se podría diseñar un mapa de memoria con el tipo de pastillas disponibles. En el
caso de que no sea posible, proponer otra opción.
B) (1 pto) Indicar cuántos módulos de memoria y de qué características serían necesarios para diseñar el
mapa de memoria, utilizando el menor número de pastillas posible.
C) (1.5 ptos) Realizar el diseño del mapa de memoria de modo que la memoria RAM ocupe las posiciones
inferiores de memoria y a continuación esté situada la memoria ROM. Dibujar el esquema del mapa de
memoria resultante.

Solución:

A) El bus de direcciones tiene 32 líneas, lo cual permite direccionar hasta 2 32 = 4Gpalabras de memoria. En el
caso propuesto se trata de realizar una memoria de 128Kpalabras, para lo cual sólo son necesarias 17 líneas, ya
que 217 = 128 Kpalabras.
Por otro lado, también hay que comprobar que el bus de datos proporciona el ancho de palabra suficiente. El bus
de datos tiene 64 bits de ancho de palabra y la palabra de memoria es de 64 bits.
Por tanto, sí, es posible diseñar dicho mapa de memoria.

B)
Para la memoria RAM, se dispone de los siguientes módulos de memoria:
2 Kpalabras × 16 bits
32 Kpalabras × 32 bits
64 Kpalabras × 16 bits

Realizando los siguientes cálculos:


Para la memoria ROM, se dispone de los siguientes módulos de memoria:
16 Kpalabras × 8 bits
16 Kpalabras × 16 bits
64 Kpalabras × 1 bit
Realizando los siguientes cálculos:

Utilizando el menor número de módulos posibles, el mapa de memoria quedaría definido por las siguientes
pastillas de memoria:
6 RAM de 32 Kpalabras × 32 bits, distribuidos en 3 filas y 2 columnas.
12 ROM de 16 Kpalabras × 16 bits, distribuidos en 3 filas y 4 columnas.

C) Para diseñar el mapa de memoria, es preciso averiguar el número de líneas que se necesitan para direccionar
cada pastilla de memoria:
Módulos RAM de 32 Kpalabras × 32 bits:
32 Kpalabras ≤ 2n para direccionar 32 Kpalabras se necesitan n = 15 bits, es decir, las líneas A0..A14, para cada
una de las pastillas de memoria RAM.
Las pastillas de la última fila de memoria RAM no se utilizarán completamente, sino que sólo será preciso utilizar
las primeras 16 Kpalabras de dichos módulos de memoria.
Módulos ROM de 16 Kpalabras × 16 bits:
16 Kpalabras ≤ 2n para direccionar 16 Kpalabras se necesitan n = 14 bits, es decir, las líneas A0..A13, para cada
una de las pastillas de memoria ROM.
En este caso se utilizan completamente todos los módulos de memoria.

Además, por el apartado A), sabemos que se necesitan 17 líneas para direccionar el primer Mbyte del mapa de
memoria propuesto. Por tanto, el mapa de memoria queda de la siguiente manera:
A continuación se muestra un mapa de memoria simplificado, puesto que se ha utilizado un solo decodificador,
que permite seleccionar únicamente la zona de memoria requerida en el problema. Además, por simplicidad, se
han eliminado las líneas de lectura/escritura para la memoria RAM y la línea de lectura para la memoria ROM.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores P', "Problemas de Ingeniería de Computadores
P', "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTREGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación mínima de 1.3 puntos para superarlo.

Examen tipo A.

1.-La Figura 1 muestra un cronograma de un proceso de escritura para un bus síncrono que funciona a 103MHz
(lMHz = 106Hz).
Tl T2 T3

Reloj

Lect/Escr

Figura l. Cronograma de un proceso de escritura para un bus síncrono.

Se desea multiplexar el bus de direcciones, añadiendo para esto en el protocolo la línea de control de dirección
válida, lo que supone que el ciclo de bus pase a ser de 4 ciclos. ¿Cuál sería el ancho de banda del sistema tras la
multiplexación del bus enM byte/s? (Nota: !Mbyte =106bytes).
A) 1550 B) 16 50 C) 1750 D) Ninguna de las anteriores.
2.- ¿Cuál es la representación en complemento a 2, con una longitud de palabra de 8 bits, de x = 2310?

A) OOOI Olllz B) 1110100lz C) 111010002 D) Ninguna de las anteriores.


3.- Una memoria caché asociativa por conjuntos dispone de 16 conjuntos y utiliza bloques de 128 palabras,
siendo su capacidad total de 32K palabras. La memoria principal tiene una capacidad de 16M palabras. ¿Cuántos
0 20
bits hay en los diferentes campos del formato de dirección? (Nota: IK = 21 , IM = 2 )
A) Etiqueta: 13, Conjunto: 5, Palabra: 6 B) Etiqueta: 13, Conjunto: 4, Palabra: 7
C) Etiqueta: 15, Conjunto: 4, Palabra: 5 D) Ninguna de las anteriores.
4.- Sea una CPU con 8 líneas de interrupción que denotamos por PI¡, con i = 0, ...7, siendo 7 el mayor nivel de
prioridad y O el menor. Se producen las siguientes peticiones de interrupción, en este orden: Ph P/¡, PI0, Ph
Ph, Ph Teniendo en cuenta que la duración de las rutinas de interrupción y los tiempos de solicitud de las
interrupciones son los dados en la Tabla 1, ¿cuál es el orden en que se tratan las interrupciones si el sistema
permite anidamiento de interrupciones?

Tabla l. Listado de interrupciones.


Interrupción Tiempo petición Duración rutina A) Ph PI¡ Pio PI6 Ph Ph
PI3 o 5
PI1 3 3
B) Ph PI¡ PI6 Pio Ph Ph Pio
PIo 3 2
PI6 7 3
C) Ph PI¡ PI6 PI¡ Ph Ph Pio
PI1 11 4
Pis 15 2
D) Ninguna de las anteriores.

5.- Con respecto a los diagramas ASM, indicar si son verdaderas o falsas las siguientes afirmaciones:
I. Cada estado sólo puede generar una sola señal de control.
II. Dado un estado y un valor de condición, el diagrama define un único próximo estado.
A) I. verdadera, II. verdadera. B) I. verdadera, II. falsa. C) I. falsa, II. verdadera. D) I. falsa, II. falsa.
6.- Sabiendo que la palabra de memoria tiene 64 bits, que el repertorio de instrucciones tiene 64 instrucciones
diferentes y que cada instrucción tiene dos operandos con direccionamiento directo a memoria, ¿cuál es la
máxima memoria direccionable?
A) 229 direcciones. B) 264 direcciones. C) 258 direcciones. D) 232 direcciones.

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


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

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

Se tiene un computador cuyo procesador trabaja con un reloj de 500MHz y se desea calcular la sobrecarga que
sufre el procesador al realizar una operación de Entrada/Salida por encuesta con un disco duro. Este disco
transfiere los datos en bloques de 32 palabras, siendo las palabras de 32 bits y su velocidad de funcionamiento es
6
de 16 Mbyte/s (1Mbyte=10 bytes).
Para facilitar los cálculos, se supone que el sistema funciona de forma estable durante un periodo de tiempo largo
y que el disco duro trabaja de forma continua enviando un bloque de datos nuevo cuando acaba con el anterior.
La rutina de encuesta que ejecuta el procesador necesita 200 ciclos para consultar el registro de estado del
dispositivo por primera vez. Si el dispositivo no está preparado, se seguirá con la encuesta hasta que lo esté. En
ese momento, el procesador necesita 400 ciclos para ejecutar la rutina que realiza la transferencia del dato.
A) (1.5 ptos) ¿Cuál sería la sobrecarga si se utiliza una encuesta temporizada perfectamente sincronizada con la
velocidad de funcionamiento del dispositivo?
B) (1.5 ptos) ¿Cuál sería la sobrecarga si el procesador necesita un dato nuevo (y por lo tanto volver a acceder el
disco) 2 ms después de haber recibido el dato anterior?
Nota: La sobrecarga del procesador en una operación de EIS es el porcentaje de tiempo que dedica el
procesador a la operación de EIS frente al tiempo total que tiene.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores P', "Problemas de Ingeniería de Computadores
P', "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTREGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación mínima de 1.3 puntos para superarlo.

Examen tipo C.

1.- Se quiere mejorar el rendimiento de un computador introduciendo un coprocesador matemático que realice
las operaciones aritméticas en la mitad de tiempo. Calcular la ganancia en velocidad del sistema para la ejecución
de un programa sabiendo que el 60% de dicha ejecución se dedica al cálculo de operaciones aritméticas. Si el
programa tardaba 12 segundos en ejecutarse sin la mejora, ¿cuánto tardará en ejecutarse sobre el sistema
mejorado?

A) 7,5 s B) 7 s C) 8,4 S D) Ninguna de las anteriores.

2.- Un computador tiene una memoria principal de 256K palabras de 16 bits por palabra y una memoria caché
con correspondencia directa de 4K palabras y 1024 palabras por bloque. En un momento determinado comienza
a ejecutar 500 veces un bucle en el que accede a 4300 posiciones de memoria consecutivas. En la séptima
ejecución del bucle:
I. El número mínimo de fallos posible es 2.
II. El número máximo de fallos posible es 4.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

3.- Sean dos números binarios de 16 bits representados en código BCD: X = 0 1 1 1 100 1 0 1 10 0 10 1,
Y= 000 1 1000 0 100 0 1 10. El resultado de su suma, representado en código exceso a 3, es:
A) 100 1 1000 000 1 000 1 B) 0 100 0 100 10 1 1 1 100
C) 1 100 10 1 1 0 100 0 100 D) Ninguna de las anteriores.

4.- Un ordenador con 32 líneas de direcciones tiene una memoria de 32Mbytes y utiliza entrada/salida aislada de
memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse a este ordenador, suponiendo que
cada uno ocupa 32 direcciones?
A) 32 B) 216 C) 227 D) 232

5.- Indicar si los siguientes bloques de decisión de un diagrama ASM son equivalentes (Nota: El símbolo "-" en
el diagrama 2 hace referencia a que el valor de la variable puede ser O ó 1.):

A B

A B A B

1 2 3

A) Ninguno de los bloques es equivalente a los otros dos. B) 1 y 2, sí, pero 3 no.
C) 2 y 3 sí, pero 1 no. D) Los tres bloques son equivalentes.

6.- Se está diseñando un disco magnético CAV ( Constant Angular Velocity) compuesto por 12 discos. Cada
disco tiene 2 superfci ies y cada superfci ie puede contener 10000 pistas concéntricas. El tamaño del sector es de
5 12 bytes. ¿Cuál es la capacidad de almacenamiento si hay 64 sectores por pista? (Nota: 1MiByte = 220 bytes).
A) 3000 MiByte. B) 3750 MiByte. C) 7500 MiByte. D) 30000 MiByte.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.

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

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

(3 ptos) Un computador tiene una unidad de memoria principal de 212 palabras y una memoria caché de 28
palabras. La memoria caché es asociativa por conjuntos con 16 conjuntos y 2 bloques/conjunto. Cuando se
necesita un reemplazo en la memoria caché, en el conjunto correspondiente se reemplaza el bloque más antiguo.
Suponiendo que la memoria caché está inicialmente vacía
¿Cuántos fallos se producirían si se leyeran consecutivamente las siguientes direcciones de la memoria principal?

0000 0000 1111


0000 0 100 1111
000 1 0000 1111
000 1 0000 1 100
00 10 1000 1111
0000 0000 1 10 1
MATERIAL PERMITIDO: los libros "Ingenieria de Computadores I", "Problemas de Ingenieria de Computadores
I", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y
Torr es, y calculadora no pr ogramable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminat orio, debiendo obtener
una calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen t ipo A.

1.- Un computador posee un registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = OOOA. El computador tiene una memoria de 32Kpalabras de 16 bits cada una. Supóngase que cada
palabra contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el
campo de direcciones (CD) = (OOAB). La dirección final en el caso de que se utilicen los direccionamientos
Indirecto e Indexado a través del registro R1 es respectivamente:
A) OOAB y OOOA B) OOA9 y OOOB C) OOAB y OOB5 D) Ninguna de las anteriores.

2.- Un computador dispone de 5 registros de propósito general: Ro, R1, Rz, R3 y R4. El contenido (Contenido) de
ciertas posiciones de memoria (Posición) y la semántica de una serie de instrucciones se muestra en la tabla
siguiente:
Posición Contenido Semántica
3000 3040
3010 ...
3020 ... LOAD Ro, 40 ; Ro�40
3030 3060 LOAD R1, #3020 [.RO] ; R1 � M (3020 +Ro)
3040 3000 LOAD Rz, #3000 ; Rz � M(3000)
3050 ... LOAD R4, [[Rz]] ; R4 � M(M(Rz))
3060 550
Suponiendo que inicialmente todos los registros están a O. Indicar el contenido final de los 5 registros una vez
ejecutadas todas instrucciones en el orden en el que se han expuesto en la tabla anterior.
A) Ro= 40; R1 = 550; Rz = 3040; R3 =O; R4 = 3040. B) Ro =40; R1 = 3060; Rz = 550; R3 =O; R4 =3000.
C) Ro = 40; R1 = 2040; Rz = 3000; R3 =0; R4 = 3030. D) Ninguna de las anteriores.

3.- Empleando únicamente una ROM, se pretende diseñar un comparador de dos números de 5 bits que genere
las funciones "mayor o igual que" y "menor que". Indicar cuál de las siguientes ROM's aprovecharía mejor la
memoria y sería capaz de implementar la función.
A) 25 palabras x 4 bits/palabra. B) 2 10 palabras x 2 bits/palabra.
C) 2 10 palabras x 4 bits/palabra. D) 25 palabras x 4 bits/palabra.

4.- Se dispone de una memoria asociativa de n palabras y 12 bits/palabra. Indicar cuál de los siguientes valores
de los registros de argumento (A) y máscara (K) proporcionan un 1 en todos aquellos bits del registro de marca
(M) cuya celda de memoria contenga un número par, y un O en caso contrario. Nota: Se considera que el O es
un número par y se supone que todos los bits del registro de validez están a 1, por lo que todas las palabras de la
memoria están operativas.
A) A=100000000010, K=000000000001 B) A=100000000001, K=100000000000
C) A=101111000011, K=000000000001 D) Ninguna de las anteriores.
5.- En la Figura 1.a se muestra el esquema de un protocolo de arbitraje en un bus por encadenamiento en el que
se utilizan dos líneas adicionales: Ocupación y Reconocimiento. A la vista del cronograma (Figura 1.b), ¿cuáles
de las siguientes afirmaciones son ciertas?
1.- La línea de ocupación se activa siempre que un dispositivo recibe la autorización del bus, haciendo uso
inmediato del mismo.
11.- La línea de reconocimiento la activa el dispositivo que solicitó el bus y recibió la autorización para su uso,
pero que encontró la línea de ocupación activa.
A) l. Verdadera, 11. Verdadera B) l. Verdadera, 11. Falsa
C) l. Falsa, 11. Verdadera D) l. Falsa, 11. Falsa
Figura l.a
/ Reconocimiento
1\ 1\ l\

/
' Ocupación
l\ 11\ '1'
"'
Árbitro ' Solicitud de bus
1\ 1\
Autorización

Jt � 1 ..V
ae bus
"


IJfu • • •
'�

On

Figura l.b

./---¿l,_
l r\ l02

� �
__,b:l
Solicitud de bus --- ---..
__ ' '· ,..,_____
__ _______�

Autorización de bus
-____��_,.,..< ¡'� \ O¡
�"�'\ ·�

Ocupación
�����....·:....:,) \
Reconocimiento \
�::::�
·.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.

6.- Dado un codificador como el que se muestra en la Figura 2, con cuatro entradas (lo, Ir, h, 13) y tres salidas
(So, Sr, Pr), y cuya tabla de verdad se muestra en la Tabla 1, ¿cuáles son las funciones lógicas para las salidas So
y Sr?
Figura 2 Tabla 1
lo 1¡ h h So S¡ P¡
lo-�
1¡_� o o o o X X o
h
h-� X X X 1 1 1 1
X X 1 o 1 o 1

A) S =l + l1, S1 =lo+ l2/1


X 1 o o o 1 1
o o
B) S =/ + /3, S1 =/ + l /1
o 2 3 2
1 o o o o o 1
C) S =l l1 U + / ), S1 =l (/1+ l1l / )
o o 2 3 o 23
D) Ninguna de las anteriores.

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


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

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


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

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

Problema (Contestar el problema en lo que resta de folio, por detrás y si es necesario, un folio adicional):

Una CPU se conecta al bus de datos con 16 bits, además, su bus de direcciones cuenta con 20 bits. Se quiere
dotar a esa CPU de una memoria con las siguientes características: 640 Kpalabras x 16 bits/palabra de memoria
ROM y 384 Kpalabras x 16 bits/palabra de memoria RAM .

La memoria ROM debe situarse en las posiciones más altas del mapa de memoria direccionable y la memoria
RAM debe situarse en las posiciones más bajas. Sabiendo que se dispone de los siguientes tipos de pastillas de
memona:

Pastillas de memoria RAM Pastillas de memoria ROM


64 Kpalabras x 1 bit/palabra 32 Kpalabras x 1 bit/palabra
128 Kpalabras x 8 bits/palabra 64 Kpalabras x 1 bit/palabra
512 Kpalabras x 8 bits/palabra 128 Kpalabras x 8 bits/palabra

Diseñar la memoria solicitada con el menor número de pastillas posible y conteste a las siguientes preguntas:

A) (0.5 ptos.) Comprobar que existe solución.


B) (1 pto.) Calcular los módulos de memoria de cada tipo necesarios.
C) (1 pto.) Diseñar el mapa de memoria.
D) (0.5 ptos.) Dibujar el esquema del mapa de memoria.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación núnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).

Examen tipo C.

1.- Un procesador A que opera a 400 MHz ejecuta un programa en 10 segundos. Queremos construir un
procesador B que ejecute el mismo programa en 6 segundos. Si sabemos que el procesador B requiere 1.2 veces
los ciclos de reloj que precisa el A para ejecutar el programa, ¿qué frecuencia de reloj debe tener el procesador
B?
A) 500 MHz. B) 800 MHz.
C) 300 MHz. D) Ninguna de las anteriores.
2.- Se tiene un sistema con una memoria principal de 1024 Kpalabras y una memoria caché con correspondencia
directa de 128 Kpalabras con bloques de 64 palabras, siendo el tamaño de la palabra de 4 bytes. Indicar cuál de
las siguientes direcciones provocaría un reemplazamiento del bloque de memoria caché ocupado por el bloque de
10
memoria principal asociado a la dirección 1712010 (Nota: 1 Kpalabra = 2 palabras):
A) 1686410 B) 14818410 C) 171501o D) Ninguna de las anteriores.
3.- En la Figura 1 se muestra el circuito lógico que implementa un codificador de prioridad de interrupciones.
Cada entrada (a, b, e, d) está conectado a un periférico, y las salidas (x, y, PI) determinan el nivel de prioridad
(mayor valor igual a mayor prioridad). A la vista de la figura, ¿cuál de las siguientes afirmaciones es cierta?
�------------------ \
\ ..,
i"''··
A) x=b+c, y=b+ca.
--------+---. j ,,!--_____,.
__ .. X

B) El periférico conectado a la entrada e ¿�-�-·'....


es el más prioritario, y el conectado a la --------+-��-+-----------���
' \
línea d, el menos prioritario.
C) Las dos anteriores son ciertas. ----- +---+ - =r:·�;.�------;}_
+ {]
-'
'
.
.. ../)---� y

D) Todas las anteriores son falsas.


'----
- --------
\"""-', ."'- .............
-------�=����������=-=-=-=-=-=-� ......::.l- PI
L
--�-
d

Figura 1. Circuito lógico

4.- El siguiente algoritmo describe una determinada operación de un sistema digital:

1: Declaración: A[8], B[8], Cont[3]; A7 y 1\; son los dos bits más significativos del registro A Si
2: A� Bus-Entrada; inicialmente se cargan los registros A y B desde el bus de entrada
3: B �Bus-Entrada; con los valores 01010011 y 10100011 respectivamente, ¿cuáles son
4: for Cont = O to 1 do los valores contenidos en A y B al fmalizar el algoritmo?
5: if A7 1\; = O 1 then A) A= 10011001; B=11010001.
6: B�O; B) A= 11001100; B=00000000.
7: endif; C) A= 11001100; B=11010001.
8: LICS(A); D) Ninguna de las anteriores.
9: LDCS(B);
Nota: LICS = desplazamiento lógico, izquierda, cerrado, simple.
10: endfor;
LDCS= desplazamiento lógico, derecha, cerrado simple.
11: Bus �B;
12: Parar;
5.- ¿Cuántos módulos de memoria ROM de 22n palabrasx4n bits/palabra serían necesarios para diseñar un
circuito combinacional que multiplique dos números de 4n bits?
1 1 1
A) 24n+ B) 22n+ C) 26n+ D) Ninguna de las anteriores.
6.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 1O
para la dirección del operando. Si la codificación en binario de una instrucción de bifurcación con
direccionamiento relativo al contador de programa almacenada en la posición 530 (en decimal) es: 110011
0001011010, ¿a qué posición se llega (en decimal) tras ejecutarse dicha instrucción de bifurcación?
A) 600 B) 620 C) 580 D) Ninguna de las anteriores.

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


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

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

La Figura 2 muestra los pasos y las señales de un ciclo


de lectura de un determinado protocolo de bus.
A) (1 pto) Si para poder trabajar con el dispositivo
más lento conectado al bus el ciclo de bus es de 375
ns, ¿cuál es la frecuencia de reloj más alta que se puede
utilizar? ¿Y el ancho de banda que se consigue?
B) (0.5 pto) Considerando el protocolo de la Figura 2,
si el ancho de banda obtenido es de 200 MB/s, ¿cuál es
la frecuencia de reloj utilizada?

C) (1 pto) En la Figura 3 se presenta otro


protocolo correspondiente a una lectura. ¿Cúal
es el ancho de banda en este caso si la
frecuencia de reloj es de 200 MHz? ¿Cuál sería
el ancho de banda si no se utilizase la
transmisión por bloques?
Nota: Clk es la señal de reloj, MREQ es una
señal de control de operación de transferencia
con memoria, RD es la señal de lectura, WR de
escritura y Blokeka indica transferencia por
bloques.
Figura 3. Cronograma de otro ciclo de lectura
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación núnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).

Examen tipo A.

1.- Supongamos que se tienen dos implementaciones A y B de la misma arquitectura del repertorio de
instrucciones. La máquina A tiene un ciclo de reloj de 1 ns y en promedio una instrucción emplea 2 ciclos
máquina (CPI 2) para un programa concreto. La máquina B tiene un tiempo de ciclo de 2 ns y un CPI de 1,2
=

para el mismo programa. Entonces:


A) La máquina A es 1,2 veces más rápida que la B para este programa.
B) La máquina B es 1,2 veces más rápida que la A para este programa.
C) Ambas máquinas son igual de rápidas.
D) Ninguna de las anteriores.
2.- Un sistema jerárquico de memoria tiene una memoria caché de 16 Kpalabras, dividida en bloques de 512
palabras y con un tiempo de acceso de 1O ns, y una memoria principal de 1024 Kpalabras con un tiempo de
acceso de 100 ns. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y
después se lee el dato desde la caché. Si la tasa de acierto de la caché es del 95%, ¿cuál es el tiempo de acceso
medio de este sistema?
A) 3092 ns B) 2570 ns C) 975 ns D) Ninguna de las anteriores.

3.- Un bus de direcciones de un computador tiene 16 líneas de dirección, A15_0. Si la dirección asignada a un
determinado dispositivo es 7CAO, y el decodificador de direcciones para este dispositivo ignora las líneas A2_0,
¿cuáles de las siguientes direcciones pertenecen a este dispositivo?

A) 7CA1, 7CA2, 7CA7


B) 7CA8, 7DDO, 8CAO
C) 7CCA, 7CDO, 7CDA
D) Ninguna de las anteriores.
4.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indicar cuál de las siguientes
afirmaciones, acerca de las señales de control (c;), es la correcta.

A) Cz = S¡ S¡ + s2 Sz

B) c3 = S1

C) Las dos afirmaciones


anteriores son correctas.
D) Todas las afirmaciones
anteriores son falsas.

5.- Se dispone de un banco de tres registros que


2ÜJD 60
contiene los datos que se muestran en la Tabla l. El
221D 750
contenido de un conjunto de posiciones de memoria es
el que aparece en la Tabla 2 (La primera columna son 25JD 80
R1 20
las posiciones de memoria y la segunda el contenido 2"7·1� 950
R2 25
de esa posición de memoria). Indicar cuál es el 3Ü1D 90
R3 30
resultado de la instrucción ADD Rl, (R3), (R2),
Tabla 1 Tabla .2
sabiendo que el primer operando de las operaciones es
el destino. Nota: La notación (Ri) hace referencia al
modo de direccionamiento indirecto a través de
registro
A) R1�170 B) R1�160 C) R2�810 D) Ninguna de las anteriores.

6.- Se desea diseñar un circuito combinacional, que sea un sumador de tres números de 2 bits de longitud y seis
números de 1 bit de longitud, utilizando únicamente módulos SBC. ¿Cuál es el número mínimo de módulos SBC
necesarios?
A) 8 B) 7 C) 9 D) Ninguna de las anteriores.

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


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

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

PROBLEMA

La frecuencia del reloj del bus de la figura


es de 100 MHz. Responda a las siguientes
preguntas:
A) (0.5 pto) ¿Cuál es el ancho de banda de
este bus?
B) (0.5 pto) ¿Cuánto tiempo se necesita
para transferir un fichero de 100 MB
(100 x 220 bytes)?
C) (1 pto) Se quiere instalar en este
sistema una memoria con un tiempo de
respuesta de 50 ns. ¿Habrá algún
problema? En tal caso, ¿qué solución
propone?
D) (1 pto) Se ha pensado multiplexar el bus de direcciones pero ese cambio supone que el ciclo de bus pase a ser
de 4 ciclos. ¿Merece la pena el cambio? ¿Qué señales se deben cambiar/añadir para poder multiplexar el bus de
direcciones?
Nota: RD es la señal de lectura, WR de escritura y Clk la señal de reloj.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTREGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación núnima de 1.3 puntos para superarlo.

Examen tipo C.

1.- Se quiere mejorar el rendimiento de un computador introduciendo un coprocesador matemático que realice
las operaciones aritméticas en la mitad de tiempo. Calcular la ganancia en velocidad del sistema para la ejecución
de un programa sabiendo que el 60% de dicha ejecución se dedica al cálculo de operaciones aritméticas. Si el
programa tardaba 12 segundos en ejecutarse sin la mejora, ¿cuánto tardará en ejecutarse sobre el sistema
mejorado?

A) 7,5 S B) 7 S C) 8,4 S D) Ninguna de las anteriores.

2.- Un computador tiene una memoria principal de 256 Kpalabras de 16 bits por palabra y una memoria caché
con correspondencia directa de 4 Kpalabras y 1024 palabras por bloque. En un momento determinado comienza
a ejecutar 500 veces un bucle en el que accede a 4300 posiciones de memoria consecutivas. En la séptima
ejecución del bucle:
l. El número mínimo de fallos posible es 2.
11. El número máximo de fallos posible es 4 .

A) 1: sí, 11: sí. B) 1: sí, 11: no. C) 1: no, 11: sí. D) 1: no, 11: no.

3.- Sean dos números binarios de 16 bits representados en código BCD: X = 0111 1001 0110 0101,
Y= 0001 1000 0100 0110. El resultado de su suma, representado en código exceso a3, es:
A) 1001 1000 0001 0001 B) 0100 0100 1011 1100
C) 1100 1011 0100 0100 D) Ninguna de las anteriores.

4.- Un ordenador con 32 líneas de direcciones tiene una memoria de32Mbytes y utiliza entrada/salida aislada de
memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse a este ordenador, suponiendo que
cada uno ocupa32 direcciones?

A)32

5.- Indicar si los siguientes bloques de decisión de un diagrama ASM son equivalentes (Nota: El símbolo""
_ en
el diagrama 2 hace referencia a que el valor de la variable puede ser O ó 1.):

A B

A B A B

1 2 3

A) Ninguno de los bloques es equivalente a los otros dos. B) 1 y 2, sí, pero3 no.
C) 2 y3 sí, pero 1 no. D) Los tres bloques son equivalentes.

6.- Se está diseñando un disco magnético CAV (Constant Angular Velocity) compuesto por 12 discos. Cada
disco tiene 2 superficies y cada superficie puede contener 10000 pistas concéntricas. El tamaño del sector es de
20
512 bytes. ¿Cuál es la capacidad de almacenamiento si hay 64 sectores por pista? (Nota: 1MiByte = 2 bytes).
A) 3000 MiByte. B) 3750 MiByte. C) 7500 MiByte. D) 30000 MiByte.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

Cuestión 3 (1 punto): Justificar razonadamente el resultado de la pregunta3 del test.

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

(3 ptos) Un computador tiene una unidad de memoria principal de 212 palabras y una memoria caché de
28 palabras. La memoria caché es asociativa por conjuntos con 16 conjuntos y 2 bloques/conjunto. Cuando se
necesita un reemplazo en la memoria caché, en el conjunto correspondiente se reemplaza el bloque más antiguo.
Suponiendo que la memoria caché está inicialmente vacía

¿Cuántos fallos se producirían si se leyeran consecutivamente las siguientes direcciones de la memoria principal?

0000 0000 1111


0000 o 100 1111
0001 0000 1111
0001 0000 1100
001o 1000 1111
0000 0000 1101
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo A Junio 2015 1ª.
1.- Se tiene un sistema con una memoria principal de 1024 K palabras y una memoria caché de 32 K palabras
con bloques de 64 palabras, siendo el tamaño de la palabra de 2 bytes. Se sabe que el sistema de memoria caché
tiene asignada una función de correspondencia directa. Indicar cuál de las siguientes direcciones provocaría un
reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal asociado a la
dirección 1712010.
A) 1715010 B) 8266810 C) 1737610 D) Ninguna de las anteriores.
2.- Considérese el esquema de interrupciones que se muestra en la siguiente figura. Se disponen de 8 niveles de
interrupción donde el nivel más prioritario es el 0 y el menos prioritario es el 7. En un determinado momento,
se encuentran activas las siguientes líneas de interrupción: PI2 PI5 y PI6. El registro de máscara de
interrupciones Mi tiene valor 1 si la interrupción no está enmascarada y 0 si sí lo está. Suponiendo que el
sistema de enmascaramiento es tal que si una línea de interrupción está activa implica que cualquiera con la
misma prioridad o inferior será enmascarada, ¿cuál es el contenido de los registros de estado y de máscara de
interrupciones, respectivamente?

A) 00100000 y 11000000
B) 00100110 y 11000000
C) 00000000 y 11000000
D) Ninguna de las anteriores.

3.- Empleando únicamente una memoria ROM, se pretende diseñar un comparador de dos números de 2n bits
que genere las funciones “mayor que”, “menor que” e “igual que”. Indicar cuál de las siguientes ROM podría
emplearse.
A) 22n palabras × 2 bits/palabra B) 2n palabras × 2 bits/palabra
C) 22n palabras × 1 bit/palabra D) Ninguna de las anteriores.
4.- En una CPU la longitud de los datos y de las instrucciones es de 16 bits. Las instrucciones tienen el
siguiente formato: los 5 bits más significativos se corresponden con el código de operación y los restantes con
la dirección de memoria con la que se va a operar. Se dispone de los siguientes códigos de operación:
00011: Cargar el registro acumulador desde memoria
00101: Almacenar en memoria al contenido del registro acumulador
00110: Sumar el contenido del registro acumulador y el de una dirección de
memoria dada, almacenando el resultado en el registro acumulador.
Indicar cuál de los siguientes fragmentos de programa, en hexadecimal, realiza la operación de sumar el
contenido de la dirección de memoria 30810 con el contenido de la dirección de memoria 67510 y almacena en
resultado en la dirección de memoria 30810.
A) 1934, 32A3, 2934 B) 3308, 6675, 5308
C) Los dos fragmentos anteriores son correctos. D) Ninguna de los anteriores.
5.- Dado el siguiente diagrama ASM, indicar cuántos elementos de memoria tipo J-K son necesarios para
implementarlo si se usa la técnica de diseño con un elemento de memoria por estado.
A) 2 B) 3
C) 4 D) No es posible implementar el diagrama con elementos de memoria tipo J-K, únicamente tipo D.

6.- Se dispone de un computador con palabras de memoria de 28 bits y con un repertorio de 12 instrucciones
diferentes. Cada instrucción tiene dos operandos con un modo de direccionamiento directo a memoria. Indicar
si las siguientes afirmaciones son verdaderas o falsas.
I. La máxima memoria direccionable es 212 direcciones.
II. El tamaño que debe tener el registro contador de programa del computador es de 24 bits.
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 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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


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

Problema (Contestar el problema en lo que resta de folio, por detrás y si es necesario, un folio adicional):

Sea un computador capaz de ejecutar 10 MIPS (107 instrucciones/s). A este computador se le conecta
únicamente un periférico con una velocidad de transferencia de 20000 bytes/s y sobre él se desea que se
realicen operaciones de lectura de bloques de 1024 bytes.
Para analizar el comportamiento de la pareja computador-periférico ante las diferentes técnicas de entrada-
salida (programada, mediante interrupciones y por DMA), se sabe que:
 La rutina de transferencia de E/S programada consta de 10 instrucciones.
 La rutina de tratamiento de interrupción en la E/S mediante interrupciones consta de 20 instrucciones.
 La rutina de inicialización del DMA consta de 8 instrucciones. Y en cada operación de escritura de un
dato en memoria el controlador ocupa el bus durante 500 ns.
Indicar el número de instrucciones de otros procesos que puede realizar el computador durante cada uno de los
tipos de E/S previstos.
A) (1 pto) E/S controlada por programa.
B) (1 pto) E/S mediante interrupciones.
C) (1 pto) E/S con controlador de DMA.
Soluciones del examen Tipo A

1.- Se tiene un sistema con una memoria principal de 1024 K palabras y una memoria caché de 32 K palabras
con bloques de 64 palabras, siendo el tamaño de la palabra de 2 bytes. Se sabe que el sistema de memoria caché
tiene asignada una función de correspondencia directa. Indicar cuál de las siguientes direcciones provocaría un
reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal asociado a la
dirección 1712010.
A) 1715010 B) 8266810 C) 1737610 D) Ninguna de las anteriores.

Solución.
Véase el apartado 2.5.2 del libro de teoría. Las direcciones de memoria principal tendrán una anchura de n = 20
bits, ya que el número total de palabras de ésta es de 1024 K palabras = 220 palabras.
Como la caché utiliza correspondencia directa, una dirección de memoria principal se compondrá de los
campos: Etiqueta, Bloque y Palabra.
La capacidad de la memoria caché es de 32 K palabras = 215 palabras. Como se tienen 64 palabras/bloque, el
número de bloques en la memoria caché es:
215 palabras/(26 palabras/bloque) = 29 bloques.
Por lo tanto el campo Bloque tiene una anchura de b = 9 bits. Como hay 26 palabras/bloque, se necesitan 6 bits
para el campo Palabra.
Finalmente, el campo etiqueta tendrá 20-(9+6) = 5 bits de anchura.
Resumiendo, una dirección estará compuesta por 20 bits correspondiendo los 5 primeros bits a la etiqueta, los 9
siguientes al bloque y los 6 últimos a la palabra.
Para responder a esta pregunta basta con descomponer las direcciones proporcionadas en sus respectivos 3
campos:
17120 = 00000 100001011 100000
Opción A) 17150 = 00000 100001011 111110. Está en el mismo bloque y tiene igual etiqueta, y por lo tanto no
implica reemplazamiento.
Opción B) 82668 = 00010 100001011 101100. Tiene el mismo número de bloque y distinta etiqueta. Si se
hiciera una referencia a memoria, éste bloque sustituiría al actual (el asociado al 17120).
Opción C) 17376 = 00000 100001111 100000. Es otro bloque y no se corresponde con el ocupado por el
bloque asociado a la dirección 17120
Respuesta: B

2.- Considérese el esquema de interrupciones que se muestra en la siguiente figura. Se disponen de 8 niveles de
interrupción donde el nivel más prioritario es el 0 y el menos prioritario es el 7. En un determinado momento,
se encuentran activas las siguientes líneas de interrupción: PI2 PI5 y PI6. El registro de máscara de
interrupciones Mi tiene valor 1 si la interrupción no está enmascarada y 0 si sí lo está. Suponiendo que el
sistema de enmascaramiento es tal que si una línea de interrupción está activa implica que cualquiera con la
misma prioridad o inferior será enmascarada, ¿cuál es el contenido de los registros de estado y de máscara de
interrupciones, respectivamente?
A) 00100000 y 11000000
B) 00100110 y 11000000
C) 00000000 y 11000000
D) Ninguna de las anteriores.

Solución.
De acuerdo con el enunciado, se tiene que PI0 = PI1 = PI3 = PI4 = PI7 = 0 y PI2 = PI5 = PI6 = 1.
Además, de acuerdo con las especificaciones, estarán enmascaradas todas las interrupciones excepto PI0 y PI1,
por tanto, el contenido del registro de máscara de interrupciones será: 11000000.
Dada la existencia de las puertas AND para cada bit del registro de estado de interrupciones se tiene que
00100110 & 11000000 = 00000000.
Respuesta: C) 00000000 y 11000000

3.- Empleando únicamente una memoria ROM, se pretende diseñar un comparador de dos números de 2n bits
que genere las funciones “mayor que”, “menor que” e “igual que”. Indicar cuál de las siguientes ROM podría
emplearse.
A) 22n palabras × 2 bits/palabra B) 2n palabras × 2 bits/palabra
C) 22n palabras × 1 bit/palabra D) Ninguna de las anteriores.

Solución.
En un caso general se necesitará una memoria ROM de un tamaño mínimo de:
(2núm. entradas) palabras × (núm. salidas) bits/palabra
En el caso del comparador propuesto el número de entradas es 2n + 2n = 4n, y el número de salidas es 3, por lo
que se necesitará una memoria ROM de un tamaño mínimo de 24n palabras × 3 bits/palabra.
Respuesta: D

4.- En una CPU la longitud de los datos y de las instrucciones es de 16 bits. Las instrucciones tienen el
siguiente formato: los 5 bits más significativos se corresponden con el código de operación y los restantes con
la dirección de memoria con la que se va a operar. Se dispone de los siguientes códigos de operación:
00011: Cargar el registro acumulador desde memoria
00101: Almacenar en memoria al contenido del registro acumulador
00110: Sumar el contenido del registro acumulador y el de una dirección de
memoria dada, almacenando el resultado en el registro acumulador.
Indicar cuál de los siguientes fragmentos de programa, en hexadecimal, realiza la operación de sumar el
contenido de la dirección de memoria 308 10 con el contenido de la dirección de memoria 67510 y almacena en
resultado en la dirección de memoria 30810.
A) 1934, 32A3, 2934 B) 3308, 6675, 5308
C) Los dos fragmentos anteriores son correctos. D) Ninguna de los anteriores.
Solución.
Las direcciones 308 y 675, en decimal, son en binario:

Decimal Binario Binario (11 bits)


308 100110100 00100110100
675 1010100011 01010100011
Por tanto, la secuencia de operaciones, con el formato código de operación (5 bits) y dirección (11 bits) que se
describen en el enunciado será:
0001 1001 0011 0100
0011 0010 1010 0011
0010 1001 0011 0100
Que en hexadecimal, es 193416, 32A316, 293416. Por tanto, la opción correcta es la A).
Respuesta A

5.- Dado el siguiente diagrama ASM, indicar cuántos elementos de memoria tipo J-K son necesarios para
implementarlo si se usa la técnica de diseño con un elemento de memoria por estado.
A) 2 B) 3
C) 4 D) No es posible implementar el diagrama con elementos de memoria tipo J-K, únicamente tipo D.

Solución.
En el libro de teoría esta técnica de diseño de una Unidad de Control se ha descrito supuesto que se utilizan
elementos de memoria o biestables tipo D, y se necesitaban tantos biestables tipo D como estados tuviese la
Unidad de Control.
En este caso el diagrama ASM indica que la Unidad de Control posee 3 estados {S0, S1, S2}, luego serán
necesarios tres biestables tipo D para implementar la Unidad de Control por la técnica de un elemento de
memoria por estado. Es posible implementar esta técnica con otros tipos de biestables pero entonces es
necesario utilizar las tablas de transición de estados y calcular las ecuaciones de entrada a los elementos de
memoria.
En el enunciado se desea implementar esta técnica con biestables tipo J-K. Por lo tanto se debe comprobar si
con un biestable tipo J-K se puede emular un biestable tipo D.
La tabla de verdad o funcionamiento de un biestable tipo D es:

Entrada Estado actual Próximo estado


D Q(t) Q’(t+1)
0 0 0
0 1 0
1 0 1
1 1 1

Se observa que D = Q’(t+1).


Mientras que la tabla de funcionamiento de un biestable tipo J-K es:

Entrada Entrada Estado actual Próximo estado


J K Q(t) Q’(t+1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Se observa que las filas sombreadas de esta tabla son precisamente la tabla de funcionamiento de un biestable
tipo D si se hace la entrada J = D y la entrada K  D .
Luego se ha demostrado que un biestable tipo J-K puede ser equivalente a un biestable tipo D. En conclusión
puesto que se necesitan 3 biestables tipo D para implementar la Unidad de Control con la técnica de “un
elemento de memoria por estado”, de forma equivalente se podría implementar con 3 elementos biestables tipo
J-K.
Respuesta: B

6.- Se dispone de un computador con palabras de memoria de 28 bits y con un repertorio de 12 instrucciones
diferentes. Cada instrucción tiene dos operandos con un modo de direccionamiento directo a memoria. Indicar
si las siguientes afirmaciones son verdaderas o falsas.
I. La máxima memoria direccionable es 212 direcciones.
II. El tamaño que debe tener el registro contador de programa del computador es de 24 bits.
A) I: sí; II: sí. B) I: sí; II: no. C) I: no; II: sí. D) I: no; II: no.

Solución.
Afirmación I. Se tienen 12 instrucciones, por lo tanto para el código de operación se necesitan 4 bits, los 24
restantes se utilizan la mitad para cada operando:

27:24 23:12 11:0


CÓDIGO OPERACIÓN OPERANDO1 OPERANDO2

En el direccionamiento directo la dirección de memoria a la que se quiere acceder está escrita en la propia
instrucción. Como en este caso, el campo que se puede utilizar para escribir una dirección de memoria tiene 12
bits, la máxima memoria direccionable son 212 posiciones. Luego la afirmación I es verdadera.

Afirmación II. El contador de programa guarda la dirección de memoria de la siguiente instrucción a ejecutar.
Por lo tanto, debe ser capaz de almacenar cualquier dirección de memoria. Por lo tanto debe tener un ancho de
12 bits. Luego la afirmación II es falsa.
Respuesta: B

Problema
Sea un computador capaz de ejecutar 10 MIPS (107 instrucciones/s). A este computador se le conecta
únicamente un periférico con una velocidad de transferencia de 20000 bytes/s y sobre él se desea que se
realicen operaciones de lectura de bloques de 1024 bytes.
Para analizar el comportamiento de la pareja computador-periférico ante las diferentes técnicas de entrada-
salida (programada, mediante interrupciones y por DMA), se sabe que:
 La rutina de transferencia de E/S programada consta de 10 instrucciones.
 La rutina de tratamiento de interrupción en la E/S mediante interrupciones consta de 20 instrucciones.
 La rutina de inicialización del DMA consta de 8 instrucciones. Y en cada operación de escritura de un
dato en memoria el controlador ocupa el bus durante 500 ns. Se trata de un DMA por robo de ciclo.
Indicar el número de instrucciones de otros procesos que puede realizar el computador durante cada uno de los
tipos de E/S previstos.
A) (1 pto) E/S controlada por programa.
B) (1 pto) E/S mediante interrupciones.
C) (1 pto) E/S con controlador de DMA.

Solución.
El periférico suministra 20000 bytes/s, por tanto enviará un dato cada 50 μs. Como los bloques son de 1.024
bytes, una operación de E/S durará:
50μs / dato × 1024 datos = 51.200 μs.
E/S programada
El periférico proporcionará un dato cada 50 μs. La CPU en ese tiempo es capaz de ejecutar 500 instrucciones
(ya que el computador trabaja a 10 MIPS). La mayor parte de las instrucciones estarán dedicadas a realizar el
muestreo sobre el periférico.
La rutina de E/S programada consta de 10 instrucciones, pero el tiempo de ejecución es despreciable frente las
500 instrucciones que es capaz de realizar la CPU en el tiempo de transmitir un dato. Y dado que en transmitir
los 1024 bytes se emplean 51200 μs, las instrucciones que podría haber realizado la CPU serían 512000.
Además, al ser entrada-salida programada, la CPU está plenamente dedicada a ejecutar las instrucciones de la
rutina de entrada-salida, con lo que no es capaz de ejecutar ninguna instrucción de otro proceso.

E/S mediante interrupciones


La rutina de interrupción consta de 20 instrucciones, y se ejecutará cada vez que está lista para entregar un dato
nuevo. Al ser los bloques de 1024 bytes, se ejecutará un total de 20 × 1024 = 20480 instrucciones dedicadas a la
transferencia de datos, con lo que la CPU podría dedicar tiempo a otros procesos.

El número de instrucciones de otros procesos que puede ejecutar la CPU es de:


512000 instrucciones – 20480 instrucciones = 491520 instrucciones
E/S mediante DMA
La CPU dedicará el tiempo necesario para poder programar el controlador de DMA. El DMA emplea robo de
ciclo, con lo que el periférico ocupará los buses 500 ns / byte. Con lo que para leer 1024 bytes, tardará:
500 ns × 1024 bytes = 512000 ns = 512 μs
Dado que la rutina de inicialización del controlador del DMA consta de 8 instrucciones, se puede aproximar el
cálculo a los 512 μs. que se corresponden con los robos de ciclo.
En ese tiempo, la CPU habrá ejecutado 5120 instrucciones, que se corresponderán con el hecho de que durante
el robo de ciclo por cada dato, la CPU no puede acceder a los buses.
La CPU podrá ejecutar 512000 instrucciones – 5120 instrucciones = 506880 instrucciones correspondientes a
otros procesos.
En resumen se tiene:
Tipo de E/S Instrucciones totales Instrucciones para otros procesos
E/S programada 512000 0
E/S mediante interrupciones 20480 491520
E/S mediante DMA 5120 506580
MATERIAL PERMITIDO: los libros “Ingeniería de Computadores I”, “Problemas de Ingeniería de Computadores
I”, “Estructura y tecnología de computadores” y “Problemas de estructura y tecnología de computadores”, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo C Junio 2015 2ª.
1.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos y utiliza bloques de 64 palabras,
siendo su capacidad total de 32 Kpalabras. La memoria principal tiene una capacidad de 32 Mpalabras.
¿Cuántos bits hay en los diferentes campos del formato de dirección? Nota: 1 Kpalabra = 210 palabras,
1 Mpalabra = 220 palabras.
A) Etiqueta: 13, Conjunto: 5, Palabra: 7 B) Etiqueta: 15, Conjunto: 5, Palabra: 5
C) Etiqueta: 14, Conjunto: 5, Palabra: 6 D) Ninguna de las anteriores.
2.- Suponer un sistema de E/S gestionada mediante interrupciones anidables con 3 niveles de prioridad. En el
cronograma de la Figura 1, en la parte superior, se muestra el orden de llegada de varias peticiones de
interrupción donde cada subíndice hace referencia a un nivel de interrupción. En la parte inferior de la figura, se
muestra la ejecución de las rutinas de interrupción en cada instante. Cada caja representa una duración de 5 u.t.
Suponiendo que el tiempo de gestión de las interrupciones es despreciable, ¿cuál de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupción más prioritaria.
B) La duración del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qué interrupción es más prioritaria entre INT y e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupción.

3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Señalar
cuál de las siguientes afirmaciones es correcta:
I
S0
A) Puede realizarse la síntesis de la unidad de control empleando un registro
I c0 , c3 de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
S1 B) Puede realizarse la síntesis de la unidad de control empleando un registro
s0 0 s0 c1 de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
S2 8 bits por palabra.
s1 c2 , c3 s1 c2 , c3
C) Las dos anteriores son correctas.
Figura 2. Diagrama de estados. D) Todas las anteriores son falsas.

4.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000A. El computador tiene una memoria de 32 Kpalabras de 16 bits. Suponer que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00AB). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00AB y 000A B) 00A9 y 000B C) 00AB y 00B5 D) Ninguna de las anteriores.
5.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 4 bits de longitud, 2
números de tres bits de longitud y 2 números de un bit de longitud, utilizando únicamente módulos SBC. ¿Cuál
es el número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 6 D) Ninguno de los anteriores.
6.- Un diseñador de compiladores está intentando decidir entre dos secuencias de código para una máquina en
particular. Los diseñadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instrucción (CPI), para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaración particular
de un lenguaje de alto nivel, el diseñador del compilador está considerando las secuencias de código que
requieren el número instrucciones (NI) de cada tipo dadas en la Tabla 2. Los CPI de las secuencias 1 y 2 son
respectivamente:
A) 3 y 10 B) 1 y 2 C) 2 y 1.5 D) Ninguna de las anteriores.

Tabla 1. CPI instrucciones. Tabla 2. Número de instrucciones por tipo para cada secuencia.
Clase de instrucción CPI NI A NI B NI C NI Total
A 1 Secuencia 1 2 1 2 5
B 2 Secuencia 2 4 1 1 6
C 3

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


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

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

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

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


Problema (Contestar el problema en lo que resta de folio, por detrás y si es necesario, un folio adicional):

Se dispone de una unidad de disco duro de brazo móvil con las siguientes características:
 8 superficies, 120 pistas por superficie y 80 sectores por pista.
 Sectores de 512 bytes de información neta.
 Velocidad de rotación de 1500 rpm.
 El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilización de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabación lineal para las pistas de un cilindro cuyo radio es de 3 cm.
B) (1 pto) La velocidad de transferencia.
C) (1 pto) El tiempo medio de acceso de este disco (indicando todos los tiempos implicados).
Soluciones del examen Tipo C

1.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos y utiliza bloques de 64 palabras,
siendo su capacidad total de 32 Kpalabras. La memoria principal tiene una capacidad de 32 Mpalabras.
¿Cuántos bits hay en los diferentes campos del formato de dirección? Nota: 1 Kpalabra = 210 palabras,
1 Mpalabra = 220 palabras.
A) Etiqueta: 13, Conjunto: 5, Palabra: 7 B) Etiqueta: 15, Conjunto: 5, Palabra: 5
C) Etiqueta: 14, Conjunto: 5, Palabra: 6 D) Ninguna de las anteriores.
Solución.
Se tiene una memoria caché asociativa por conjuntos donde el número de conjuntos q = 32 (25). La capacidad
total de la memoria caché es de 32 Kpalabras (o sea 215 palabras) estructurada en bloques de 64 (26) palabras
cada uno de ellos.
La capacidad de la memoria principal es de 32 Mpalabras (es decir 25 x 220 = 225), por tanto, el formato de la
dirección de una palabra de memoria necesita 25 bits. Como la memoria caché utiliza una correspondencia
asociativa por conjuntos, el formato de la dirección se divide en:
 Bits de etiqueta (los más significativos de la dirección).
 Bits de conjunto (los centrales de la dirección)
 Bits de palabra (los menos significativos de la dirección).
Como hay 64 palabras en cada bloque de memoria principal, se necesitan 6 bits para el campo de palabra.
Como se tienen 32 = 25 conjuntos, son 5 los bits que se dedican al campo de conjunto. Por tanto 25-5-6 = 14
son los bits que se dedican al campo de etiqueta.
Respuesta: C (Etiqueta: 14, Conjunto: 5, Palabra: 6)

2.- Suponer un sistema de E/S gestionada mediante interrupciones anidables con 3 niveles de prioridad. En el
cronograma de la Figura 1, en la parte superior, se muestra el orden de llegada de varias peticiones de
interrupción donde cada subíndice hace referencia a un nivel de interrupción. En la parte inferior de la figura, se
muestra la ejecución de las rutinas de interrupción en cada instante. Cada caja representa una duración de 5 u.t.
Suponiendo que el tiempo de gestión de las interrupciones es despreciable, ¿cuál de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupción más prioritaria.
B) La duración del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qué interrupción es más prioritaria entre INTy e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupción.


Solución.
De acuerdo con el cronograma se puede hacer la siguiente asignación:

La primera asignación se debe a que en t = 0 la única interrupción que ha llegado es INTx.


En t = 10 u.t. llega la interrupción INTy. Dado que INTx continúa su ejecución y no es interrumpida, podemos
asegurar que la prioridad de INTx es mayor que INTy. Además, se cumple que la duración del tratamiento de
INTx es de 15 u.t.
En t = 15 u.t. comienza a atenderse otra interrupción, que sólo puede ser INT y, que se ejecuta durante 10 u.t. En
t = 25 u.t. se produce otra interrupción INTx. Con esto se ha demostrado que INTx es más prioritaria, por lo que
se interrumpe la ejecución de INTy e INTx pasa a ejecutarse.
En t = 35 u.t. llega otra interrupción: INTz. Dado que INTx continúa con su ejecución, podemos asegurar que la
prioridad de INTx es mayor que la de INTz, y por tanto, INTx es la interrupción más prioritaria.
Con todo ello se puede establecer que la afirmación A) es verdadera.
Una vez INTx finaliza, continúa ejecutándose INTy. Por tanto, podemos garantizar que la prioridad de INT y es
mayor que INTz, y concluir que la afirmación C) es falsa. La duración total de tratamiento de la rutina de INT y
es de 10 u.t. + 10 u.t. = 20 u.t., por tanto, B) es falsa.
Respuesta: A) INTx es la interrupción más prioritaria.

3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Señalar
cuál de las siguientes afirmaciones es correcta:
I
S0
A) Puede realizarse la síntesis de la unidad de control empleando un registro
I c0 , c3 de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
S1 B) Puede realizarse la síntesis de la unidad de control empleando un registro
s0 0 s0 c1 de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
S2 8 bits por palabra.
s1 c2 , c3 s1 c2 , c3
C) Las dos anteriores son correctas.
Figura 3. Diagrama de estados. D) Todas las anteriores son falsas.

Solución.
El diagrama tiene:
 3 estados, luego necesita n = 2 bits para su codificación.
 q = 3 entradas a la unidad de control: I, s0, s1
 m = 4 salidas de la unidad de control: c0, c1, c2,c3

A) Diseñando la Unidad de Control con una ROM y un registro, es suficiente con utilizar una ROM de 2n+q =
32 palabras de (n+m) = 6 bits/palabra y un registro de n=2 bits. El esquema del diseño se muestra en la
Figura 3.

Figura 3. Diseño de la U.C. con ROM y registro Figura 4. Diseño de la U.C. con el método de selección por estado

B) Si se utiliza para el diseño el método de selección por estado, se necesitaría una ROM de 2n+1 = 8 palabras
de n+m = 6 bits por palabra; un registro de n = 2 bits y un multiplexor de 2n = 4 a 1. El diseño es el que se
muestra en la Figura 4. De donde se concluye que no vale la respuesta 2 puesto que la ROM necesaria es de
8 palabras y no de 4 como en el enunciado.

Respuesta: A) Puede realizarse la síntesis de la unidad de control empleando un registro de 2 bits y una
memoria ROM de 32 palabras, con 8 bits por palabra.
4.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000A. El computador tiene una memoria de 32 Kpalabras de 16 bits. Suponer que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00AB). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00AB y 000A B) 00A9 y 000B C) 00AB y 00B5 D) Ninguna de las anteriores.
Solución.
Direccionamiento indirecto: La dirección inicial se obtiene leyendo el contenido de la posición de memoria
dada por el campo de direcciones de la instrucción: (CD) = 00AB. Como según el enunciado, cada palabra
contiene un valor igual a su dirección en memoria, la indirección (00AB) = 00AB. Por tanto, la dirección de
memoria a la que se accede es 00AB.
Direccionamiento indexado a través del registro R1: En este caso, como ((CD)) = (00AB) = 00AB. La
dirección definitiva se calcula sumando el contenido del registro índice con la dirección obtenida en la
indirección: (R1) + 00AB = 000A+00AB = 00B5. La dirección de memoria a la que se accede en este caso es
00B5.
Respuesta: C) 00AB y 00B5

5.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 4 bits de longitud, 2
números de tres bits de longitud y 2 números de un bit de longitud, utilizando únicamente módulos SBC. ¿Cuál
es el número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 6 D) Ninguno de los anteriores.

Solución.
Un Sumador Binario Completo (SBC) dispone de tres entradas de 1 bit (el sumando xi, el sumando yi, y el
acarreo de la etapa anterior ci-1) y dos salidas de 1 bit (el acarreo a la etapa siguiente ci, y el bit de suma si). El
funcionamiento de un SBC en notación de puntos se muestra en la Figura 5 donde cada punto representa 1 bit
de la entrada, o de la salida.

Figura 5. Notación de puntos de un SBC

En la Figura 6 se muestra la suma de los números indicados en la cuestión mediante notación de puntos y
haciendo uso de los SBC’s necesarios. Como se puede observar son necesarios 7 SBC’s como mínimo.
Figura 6. Reducción mediante un árbol de Wallace
Respuesta: B: 7 módulos SBC’s

6.- Un diseñador de compiladores está intentando decidir entre dos secuencias de código para una máquina en
particular. Los diseñadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instrucción, para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaración particular de un
lenguaje de alto nivel, el diseñador del compilador está considerando las secuencias de código que requieren el
número instrucciones (NI) de cada tipo dadas en la Tabla 2. El CPI de las secuencias 1 y 2 son respectivamente:
A) 3 y 10 B) 1 y 2 C) 2 y 1.5 D) Ninguna de las anteriores.
Tabla 3. CPI instrucciones. Tabla 4. Número de instrucciones por tipo para cada secuencia.
Clase de instrucción CPI NI A NI B NI C NI Total
A 1 Secuencia 1 2 1 2 5
B 2 Secuencia 2 4 1 1 6
C 3

Solución.
Para cada secuencia calculamos el CPI como la media de los CPI ponderada por el número de instrucciones. Es
decir:
Para la secuencia 1: CPI1 = (2 × 1 + 1 ×2 + 2 × 3) / 5 = 2.0
Para la secuencia 2: CPI2 = (4 × 1 + 1 ×2 + 1×3) / 6 = 1.5
Respuesta: C) 2 y 1.5
Problema
Se dispone de una unidad de disco duro de brazo móvil con las siguientes características:
 8 superficies, 120 pistas por superficie y 80 sectores por pista.
 Sectores de 512 bytes de información neta.
 Velocidad de rotación de 1500 rpm.
 El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilización de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabación lineal para las pistas de un cilindro cuyo radio es de 3 cm.
B) (1 pto) La velocidad de transferencia.
C) (1 pto) El tiempo medio de acceso de este disco (indicando todos los tiempos implicados).

Solución.
A) La longitud de la pista cuyo radio es de 3 cm es: 2 × × 3 cm
En esa pista, como en todas las del disco, tenemos 80 sectores (densidad angular constante). La densidad lineal
Dlineal suele expresarse en bits/cm
80 sec t  512 bytes / sec t  8 bits / byte 327680 bits
Dlineal    17384 bits / cm
2    3 cm 6 cm

B) La velocidad de transferencia vtransfer es:


1500 rpm
vtransfer  pista / s  80 sec t / pista  512 bytes / sec tor  1024000 bytes / s .
60 s / m
C) Tiempo medio de acceso del disco. Sean:
Tbmed = Tiempo medio de búsqueda o posicionado
Trotmed = Latencia rotacional media
Taccesomed = Tbmed + Trotmed

Entonces:
Tbmed  60 pistas  0,25 ms  3 ms  18 ms
1
Trotmed  0,5  20 ms
1500 rpm
60 s / m
Taccesomed  Tbmed  Trotmed  38 ms
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y
Torres, y calculadora no programable. La asignatura se imparte en el grado de informática y de tecnologías de la
información. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación núnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).

Examen tipo A.

1.- Suponiendo que un programa tarda en ejecutarse en una máquina 100 s, de los cuales 80 corresponden a
operaciones de multiplicar, ¿cuánto se debe mejorar la velocidad de multiplicación si se quiere que el programa
se ejecute cinco veces más rápido?

A) 11 3 B) 114 C) 2/8 D) Ninguna de las anteriores.

2.- Se tiene un microprocesador con 24 líneas en el bus de direcciones y una memoria caché que utiliza
correspondencia directa y que dispone de 1024 bloques de 32 palabras. ¿Cuántos bloques de memoria principal
compiten por el mismo bloque de la memoria caché?

A) 128 B) 512 C) 2 56 D) Ninguna de las anteriores.

3.- Considérese un sistema de gestión de E/S controlada por programa. Supóngase que se dispone de 3
periféricos conectados a la CPU (un ratón, un disco flexible y un disco duro), donde el número de ciclos que
requiere la operación completa de E/S sobre el dispositivo es de 400 y que el procesador trabaja a 500 MHz.
Además, se asume que se puede ejecutar la consulta del estado del dispositivo con la frecuencia necesaria para
que no se pierda ningún dato, y que los dispositivos están potencialmente siempre ocupados. Para que no se
pierda ningún dato, el ratón debe ser leído 30 veces/s, el disco flexible transfiere datos al procesador en
unidades de 16 bits a una velocidad de 50 Kbytes/s, y el disco duro transfiere datos en bloques de 16 bytes a
una velocidad de 400 Mbytes/s. ¿Cuál de las siguientes afirmaciones es verdadera?

A) El dispositivo que requiere más porcentaje de tiempo de CPU es el disco flexible.


B) El porcentaje de ciclos del procesador consumidos en la lectura del ratón es inferior al 0.01 % y en la lectura
del disco flexible es superior al 5%.
C) El porcentaje de ciclos del procesador consumidos en la lectura del ratón es inferior al 0.00 5 % y en la
lectura del disco duro es superior al 1 5%.
D) Todas las anteriores son falsas.

4.- ¿Cuántos módulos de memoria ROM de 2 n palabras


2 x n bits/palabra serán necesarios para diseñar un
circuito combinacional que multiplique dos números de n bits?

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

5.- Se desea diseñar con memoria ROM una Unidad de Control con 1 50 estados, que genere 20 señales de
control totalmente independientes, y que reciba 9 señales de condición aunque en cada estado va a ser
consultada como máximo una de ellas. Indicar cuál de las siguientes afirmaciones es cierta. Si en el diseño
interesa minimizar, sobre todo, el tamaño del multiplexor a utilizar, se tendría que emplear:
l. Un MUXcon selección por estado.

11. Un MUXcon selección por campo.

A) 1: sí; 11: sí. B) 1: sí; 11: no. C) 1: no; 11: sí. D) 1: no; 11: no.
6.- En un procesador con instrucciones de cero direcciones (con pila), determinar cuál es el número mínimo de
instrucciones que se necesitan para completar la secuencia Y= ( (X+Y) x Z) + T).

A) 3 B) 8 C) 6 D) Ninguna de las anteriores.


Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):
Se tiene un sistema computador con las características siguientes:
• Una CPU que ejecuta 300 millones de instrucciones por segundo.
6
• Un bus de memoria con una velocidad de transferencia de 100 Mbytes/s (=100 x10 bytes/s)
• Controladores SCSI-2 con velocidad de transferencia de 20 Mbytes/s que permiten la conexión de hasta
siete discos
• Unidades de disco con ancho de banda de lectura/escritura de 5 Mbytes/s.
Suponiendo que:
3
• La carga de trabajo consiste en lecturas de bloques de 64 Kbytes (64 x10 bytes) y que un programa de
usuario necesita 100000 instrucciones por cada operación de E/S.
• Que cada operación de E/S emplea una media de 50000 instrucciones de sistema operativo.
• Y que las lecturas siempre se pueden realizar en un disco inactivo, si es que existe (es decir, se deben
ignorar los conflictos en los discos)
A) (1 pto) Calcular la máxima velocidad de E/S que puede mantener el sistema, calculando para ello la
máxima velocidad de E/S que soporta la CPU y la máxima velocidad de E/S que soporta el bus.
B) (2 ptos) Calcular la cantidad de discos duros y controladoras SCSI-2 que necesitamos para mantener la
tasa de operaciones calculada en el apartado A).
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz
y Torres, y calculadora no programable. La asignatura se imparte en el grado de informática y de tecnologías de la
información. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTREGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificación núnima de 1.3 puntos para superarlo.

Examen tipo C.

1.- Se desea diseñar una Unidad de Control con 18 estados, que genere 25 señales de control totalmente
independientes y reciba 4 señales de condición, utilizando memoria ROM pero minimizando la capacidad
necesaria de ésta, ya que en cada estado se utiliza, como máximo, una única condición. Utilizando un multiplexor
con selección por campo para diseñar esta Unidad de Control, los tamaños de registro, del multiplexor y de la
memoria ROM necesaria son, respectivamente:

5
A) 7 bits; 6 entradas y 2 señales de selección; 2 palx32 bits/pal
6
B) 6 bits; 4 entradas y 2 señales de selección; 2 palx64 bits/pal
6
C) 7 bits; 4 entradas y 2 señales de selección; 2 palx32 bits/pal
D) Ninguna de las anteriores.

2.- El formato de instrucción de un procesador utiliza 6 bits para el código de operación y 1O bits para el campo
de dirección. Considerando que el procesador tiene 16 registros de 8 bits cada uno para uso general. ¿Cuántos
campos y con 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 4 bits. D) Ninguna de las anteriores.

3.-Una CPU opera a 500 MHz y tiene un Ciclo por Instrucción (CPI) de 4. Este procesador se conecta a través
de un sistema de interrupciones a un disco magnético con 128 sectores por pista y 1024 bytes por sector. El
disco se conecta a través de DMA operando por robo de ciclos y cada vez que se le concede el bus transmite 16
bytes. ¿Cuál es el tiempo que el DMA roba a la CPU durante la lectura de un sector?

A) 20 ns B) 64 ns C) 128 ns D) Ninguna de las anteriores.

4.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos y utiliza bloques de 64 palabras, siendo
su capacidad total de 64 Kpalabras. La memoria principal tiene una capacidad de 32 Mpalabras. ¿Cuántos bits
10
hay en los diferentes campos del formato de dirección? (Nota: 1Kpalabra = 2 palabras, 1Mpalabra
20
2 palabras).

A) Etiqueta: 13, Conjunto: 5, Palabra: 7 B) Etiqueta: 15, Conjunto: 5, Palabra: 5


C) Etiqueta: 14, Conjunto: 5, Palabra: 6 D) Ninguna de las respuestas anteriores.

5.- Indicar para qué tipo de arbitraje de bus son ciertas las siguientes afirmaciones (ambas):

l. Existe propagación de alguna señal entre los dispositivos.


11. Si un maestro falla durante la transferencia, los de menor prioridad a este no tendrían acceso al bus, a
menos que queden puenteadas las señales correspondientes.

A) Centralizado por encadenamiento B) Distribuido.


C) A) y B) son ciertas. D) Ninguna de las anteriores.

6.- Sean dos números binarios de 16 bits representados en código exceso a 3:

X= 0111 1001 0110 0101, Y= 0100 1000 0100 0110. El resultado de su suma, representado en código BCD,
es:

A) 0110 0001 0100 0101 B) 1001 0100 0111 1000


C) 1100 1011 0100 0100 D) Ninguna de las anteriores.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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


Problema (Contestar el problema en lo que resta de este folio por delante y por detrás como máximo):

(3 ptos) Un computador tiene una unidad de memoria principal de 212 palabras y una memoria caché de
8
2 palabras. La memoria caché es asociativa por conjuntos con 16 conjuntos y 2 bloques/conjunto. Cuando se
necesita un reemplazo en la memoria caché, en el conjunto correspondiente se reemplaza el bloque más antiguo.
Suponiendo que la memoria caché está inicialmente vacía

¿Cuántos fallos se producirían si se leyeran consecutivamente las siguientes direcciones de la memoria principal?

0000 0000 1111


0000 o 100 1111
0001 0000 1111
0001 0000 1100
001o 1000 1111
0000 0000 1101
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación núnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo A.
1.- Un determinado programa se ejecuta en una cierta máquina en 1 hora. De dicho tiempo, se sabe que dedica
116 a operaciones de E/S, y 5/6 para realizar procesamiento (uso de CPU). Asumiendo que la velocidad del
procesamiento de la CPU se dobla cada 18 meses, determinar cuál será la mejora obtenida en el rendimiento
global del programa después de tres años, si no se producen mejoras en el subsistema de E/S. Nota: La mejora
del rendimiento se define como el cociente entre el tiempo empleado en la ejecución del pro grama al inicio (1
hora) y el empleado al cabo de los 18 meses.
A) 1.33 B) 2 C) 2.67 D) 4
2.- En una memoria caché se realizan 2 16 accesos con una tasa de aciertos h del87,5%. La memoria caché tiene
un tiempo de acceso medio de tcache = 8 ns y el tiempo de acceso medio al sistema conjunto memoria principal-
memoria caché es de Ta = 23 ns. Indicar si las siguientes afirmaciones son verdaderas:
l. Se producen 2 13 fallos
11. El tiempo de acceso medio de la memoria principal tp es de 128 ns.
A) I: no; 11: no. B) I: sí; 11: no. C) I: no; 11: sí. D) I: sí; 11: sí.

3.- Considere una CPU que realiza un enmascaramiento individual de las interrupciones. El registro de estado
de interrupción y el registro de máscara de interrupciones son de 8 bits. En un determinado instante se activan
las 8 posibles peticiones de interrupción, lo cual provoca la escritura en el registro de estado de interrupción de
la palabra siguiente: 0101 1010. A partir de los datos anteriores, se deduce que el contenido del registro de
máscara de interrupciones es:
A) 1010 1111 B) 0101 1010
C) Las dos anteriores son falsas. D) No hay datos suficientes para deducirlo.

4.- En un disco magnético de 1024 pistas numeradas de O a 1023 se tiene la siguiente cola de peticiones de
disco: 100, 405, 1020, 95, 321, 627, 940, 3. Inicialmente la cabeza se encuentra en la pista 400. Indicar qué
afirmación es correcta:
A) El orden en el que se atienden las peticiones si se utiliza una planificación SSTF es: 405, 321, 100, 95, 3,
727, 940, 1020.
B) La longitud media de búsqueda utilizando la planificación SSTF es menor que 100.
C) Utilizando la planificación SCAN suponiendo movimiento de la cabeza desde su posición inicial en la
dirección de pistas decrecientes la longitud media de búsqueda es mayor que 200.
D) Todas las respuestas anteriores son falsas.
5.- Se desea diseñar un circuito combinacional, que sea un sumador de un número de 4 bits, un número de 3 bits
y tres números de 2 bits de longitud, utilizando únicamente módulos SBC. ¿Cuál es el número mínimo de
módulos SBC necesarios?
A)6 B) 10 C)8 D) Ninguna de las anteriores.
6.- El formato de instrucción de un procesador de una dirección tiene 4 bits para el código de operación y 12
para la dirección del operando. Suponiendo que una instrucción de bifurcación, con direccionamiento relativo al
contador de programa, almacenada en la posición 500 (en decimal), origina un salto a la posición 620 (en
decimal) y si el código de operación de la instrucción de salto es 1100, ¿cuál es la codificación en binario de
dicha instrucción?
A) 1100 000001111000 B) 1100 00000111 O11 O
C) 1100 000010011000 D) Ninguna de las anteriores.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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


Problema (Contestar el problema como máximo en un folio)
Se tiene un computador cuyo procesador trabaja con un reloj de 1 GHz (10 9 Hz). El disco duro transfiere los
datos en bloques de 8 palabras (con palabras de 64 bits) y su velocidad de funcionamiento es de 8MByte/s. El
procesador necesita 1000 ciclos de reloj para detectar la interrupción, saltar a la rutina de atención al dispositivo
y ejecutarla.
a) (1 punto) ¿Cuál es la duración de un ciclo de reloj?
b) (1 punto) ¿Cuánto tiempo necesita el disco duro entre la transferencia de dos datos consecutivos?
e) (1 punto) ¿Cuál es la sobrecarga que sufre el procesador al realizar una operación de E/S por
interrupción con un disco duro?
Para facilitar los cálculos, se supone que el sistema funciona de forma estable durante un intervalo de tiempo y
que el disco duro trabaja de forma continua y que interrumpe cada vez que tiene preparado un bloque de datos a
transferir.
Nota: La sobrecarga del procesador en una operación de E/S es el porcentaje de tiempo que dedica el
procesador a la operación de E/S frente al tiempo total que tiene.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores 1", "Problemas de Ingeniería de Computadores
1", "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación núnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo C.
1.- Un procesador con un bus de 10 MHz tiene una instrucción de incremento de memoria directo que suma 1 al
valor almacenado en la posición de memoria. La instrucción tiene 5 etapas: lectura del código de operación (4
ciclos de bus), lectura de la dirección del operando (3 ciclos), lectura del operando (3 ciclos), suma de 1 al
operando (3 ciclos), y almacenar el operando (3 ciclos). ¿En cuánto se incrementa la duración de la instrucción
si se deben insertar dos ciclos de bus de espera en cada operación de lectura o escritura de memoria?. Expresar
este incremento en tanto por ciento.
A) 25% B) 50% C) 75% D) Ninguna de las anteriores.
2.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 128 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 0,5 euro/Kbit
indicar si las siguientes afirmaciones son verdaderas o falsas:
l. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros.
11. Si se utiliza un diseño con selección por campo el coste de la ROM es superior al coste utilizando el diseño
de selección por estado.
A) 1: sí, 11: sí. B) 1: sí, 11: no. C) 1: no, 11: sí. D) 1: no, 11: no.
3.- Sea una CPU con 8 líneas de interrupción que denotamos por PI¡, con i = 0, ... , 7, siendo 7 el menor nivel de
prioridad y O el mayor. Se producen las siguientes peticiones de interrupción, en este orden: Ph Pl6 Pl 1 Pl4 PI?.
Teniendo en cuenta que la duración de las rutinas de interrupción y los tiempos de solicitud de las
interrupciones son los de la siguiente tabla, y que el sistema permita anidamiento de interrupciones, ¿cuál de las
siguientes afirmaciones es cierta?
A) La rutina de tratamiento de Pl4 finaliza a tiempo igual a 13 u. t.
B) El dispositivo conectado a PI? espera durante 9 u. t. desde que solicitó la interrupción hasta que esta petición
es atendida.
C) Las dos anteriores son verdaderas.
D) Las respuestas A) y B) son falsas.
Interrupción Tiempo petición (u. t.) Duración rutina (u.t.)
Ph o 5
Pl6 3 2
Pl 1 4 3
Pl4 5 6
PI? 7 2
4.- ¿Cuál es el número de bloques por conjunto que tiene una memoria caché de 512 Kbytes con una longitud
de palabra de 2 bytes y con correspondencia asociativa por conjuntos que tiene la siguiente longitud en los
10
campos de conjunto y palabra: conjunto 8 bits y palabra 6 bits?. Nota: 1 Kbyte= 2 bytes.
A)8 B)16 C)32 D)4
5.-¿Cuántos módulos de memoria ROM de 2n palabras x 2n bits/palabra serán necesarios para diseñar un
circuito combinacional que multiplique dos números de 2n bits?
A) 2 2 n+l B) 2n+l C) 2 3 n+l D) Ninguna de las anteriores.

6.- Respecto a la codificación de microinstrucciones, indicar si son verdaderas o falsas las siguientes
afirmaciones:
l. En general, la codificación permite ahorrar memoria de control.
11. La microprogramación vertical supone una alta codificación y, por tanto, una mayor lentitud en la
decodificación.
A) 1: sí, 11: sí. B) 1: sí, 11: no. C) 1: no, 11: sí. D) 1: no, 11: no.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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

Problema (Contestar el problema en un folio como máximo):

Sea un computador de 32 bits con una memoria caché de 256 Kbytes, bloques de 64 bytes y un tiempo de
acceso de tea = 5 ns. La caché es asociativa por conjuntos con 4 bloques/conjunto y se emplea la política de
reemplazo LRU. Se pide:
A) (1 pto) Indicar el número de bloques y de conjuntos de la memoria caché del enunciado.
B) (2 ptos) Si el tiempo para transferir un bloque de memoria principal a caché es de 200 ns, indicar la tasa de
aciertos ha caché que es necesaria para que el tiempo medio de acceso al sistema de memoria sea de ta = 20 ns.
MATERIAL PERMITIDO: los libros "Ingeniería de Computadores P', "Problemas de Ingeniería de Computadores
P', "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y
Torres, y calculadora no programable. La asignatura se imparte en el grado de informática y de tecnologías de la
información. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉ GUE ESTA HOJA con el resto de hojas de su examen. La puntuación del examen es la
siguiente: el test vale 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo A.

1.-Se tiene un sistema con una memoria principal de 1024 K palabras y una memoria caché de 32 K palabras
con bloques de 16 palabras, siendo el tamaño de la palabra de 8 bytes. Sabiendo que el sistema de memoria
caché tiene asignada una función de correspondencia de tipo directo, indicar cuál de las siguientes direcciones
provocaría un reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal
asociado a la dirección 1812310.
A) 868810 B) 5088610 C) 1811410 D) Ninguna de las anteriores.
2.-¿Cuál es el ancho de banda de un bus síncrono, sabiendo que el tiempo de ciclo de reloj es de 50 ns, y que
cada transacción del bus requiere 1 ciclo de reloj? El bus de datos tiene una anchura de 32 bits y las lecturas a
memoria son de 100 ns y siempre se lee una palabra.
A) 20 Mbytes/s B) 22 Mbytes/s C) 15 Mbytes/s D) Ninguna de las anteriores.
3.- Se desea diseñar una Unidad de Control con 18 estados, que genere 20 señales de control totalmente
independientes y que reciba 8 señales de condición. Si en cada estado se utiliza como máximo una única
condición, explicar razonadamente el tamaño del registro y de la memoria ROM de capacidad mínima necesaria
para implementar la Unidad utilizando un diseño de selección por campo.

A) Registro de 9 bits, y ROM de 25 palabras x 27 bits/palabra.


B) Registro de 8 bits, y ROM de 26 palabras x 28 bits/palabra.
C) Registro de 7 bits, y ROM de 29 palabras x 27 bits/palabra.
D) Ninguna de las anteriores.
En un computador con una frecuencia de 107 ciclos/segundo una instrucción emplea, en promedio, 4 ciclos
4.-
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 1 ciclo en la transferencia de una palabra.

I. Utilizando DMA transparente, la máxima velocidad de transferencia de datos es de


5 x 107 palabras/s.
II. Utilizando DMA por robo de ciclos, la máxima velocidad de transferencia de datos es de
2 x 106 palabras/s.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.-Sean dos números binarios de 16 bits representados en código exceso a 3: X = O111 1001 O11O O1O1,
Y= O100 1000 O100 O11O. El resultado de su suma, representado en código BCD, es:
A) 1100 1011 0100 0100 B) 1001 0100 0111 1000
C) 0110 0001 0100 0101 D) Ninguna de las anteriores.
6.-Considérese un procesador con instrucciones de cero direcciones (procesador con pila). Se tiene la siguiente
secuencia de instrucciones: Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Push M[C]; Add;
Mult; Pop M[A] ¿Qué expresión calcula?
A) A=(C+D) (2C+D) B) A=(C+D) (C+D)
C) A=(C+D) (C+2D) D) Ninguna de las anteriores.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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

Problema (Contestar el problema en un folio como máximo):


Se dispone de un computador de 32 bits con una memoria direccionable en bytes y dotado de una memoria
caché de 512 bytes con bloques de 16 bytes.
A) (1.5 ptos) Si la caché es de correspondencia directa, indique para la siguiente secuencia de referencias a
memoria si se trata de un acierto o un fallo: OxA01, OxBOF, Ox77A, Ox60F, OxA70, OxB01, OxA7A, OxAOB,
Ox67A, OxB7A, Ox071, Ox67F. Indicar además que fallos producen reemplazamiento.
B) (1.5 ptos) Si la caché es asociativa por conjuntos con dos conjuntos, con reemplazamiento LRU. Para la
misma secuencia de referencias del apartado anterior diga si se trata de un acierto o un fallo. Indicar además
qué fallos producen reemplazamiento.

S-ar putea să vă placă și