Вы находитесь на странице: 1из 124

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores

I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y


Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo A.

1.- Calcular el porcentaje de aprovechamiento de la capacidad total de la memoria que se usa para disear un
circuito combinacional que multiplica dos nmeros binarios de 5 bits y 4 bits respectivamente, partiendo de
mdulos 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 lneas de direcciones (A19 - A0). Para la construccin de su
unidad de memoria se dispone de mdulos de 32K palabras, utilizndose las lneas ms significativas (A19 A17) para la seleccin de cada mdulo. En el mapa de memoria, las direcciones 5FFFF y 80000 (en notacin
hexadecimal) se encuentran respectivamente en los mdulos:
A) 3 y 4.

B) 2 y 3.

C) 2 y 4.

D) Ninguna de las anteriores.

Nota: Los sucesivos mdulos de memoria se comienzan a numerar desde el mdulo 0, que corresponde a las
direcciones ms bajas de memoria
3.- Un computador tiene conectado un ratn cuya rutina de actualizacin de su posicin y posterior localizacin
del puntero en la pantalla requiere de 2000 ciclos para su ejecucin. Esta rutina debe ejecutarse al menos 30
veces para poder actualizar la posicin del ratn 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%.
C) Mayor que 0,5% y menor que 1%.

B) Mayor que 0,05% y menor que 0,5%.


D) Ninguna de las anteriores.

4.- El siguiente algoritmo describe una determinada operacin de un sistema digital:


A1 y A0 son los dos bits menos significativos del
registro A. Si inicialmente se cargan los registros A y
B desde el bus de entrada con los valores 00010011 y
11100011 respectivamente, cules son los valores
contenidos en A y B al finalizar el algoritmo?

1: Declaracin: A[8], B[8], Cont[3];


2: A Bus-Entrada;
3: B Bus-Entrada;
4: for Cont = 0 to 2 do
5:
if A1 A0 0 1 then
6:
B 0;
7:
endif;
8:
Despl.CerradoDcha(A);
9:
Despl.CerradoDcha(A);
10: endfor;
11:
Bus B;
12: Parar;

A)
B)
C)
D)

A = 01001100; B =11100011.
A = 01001100; B =00000000.
A = 00100110; B =00000000.
Ninguna de las anteriores.

5.- Dada una memoria cach de tamao 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 tamao de 4 bytes.
II. Si los bloques tienen un tamao 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 sncrono tiene un ancho de banda de 5,56 Mbytes/s (1Mbyte= 106 bytes). Sabiendo que multiplexa
16 lneas de datos y que el tiempo de acceso a memoria es de 240 ns en el proceso de lectura, cul 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 explcitas.
II. En los procesadores de pila puede haber instrucciones con una direccin explcita.
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 lneas de direccin tiene una memoria de 16Mbytes (224 bytes) y utiliza E/S aislada de
memoria. Si cada perifrico ocupa 8 direcciones, cul es el nmero mximo de perifricos 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.
Cuestin 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

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

Cuestin 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 vaca, consta de 16 bytes por bloque (4 palabras) y un tamao 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 disear un
circuito combinacional que multiplica dos nmeros binarios de 5 bits y 4 bits respectivamente, partiendo de
mdulos 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.
Solucin
Con un nmero de 5 bits se representa como mximo el nmero 31 y con un nmero de 4 bits el nmero 15, por
tanto, el mayor nmero que se puede representar es 465 (3115), para lo cual se necesitan 9 bits. Este ser el
nmero de bits necesario para almacenar la palabra.
Para almacenar todas las posibles palabras para realizar la multiplicacin hacen falta 25+4 palabras. Con
mdulos como los disponibles hacen falta 8 filas de este tipo de mdulos (29 / 26 = 23) y en cada una de estas
filas se necesitan 2 mdulos, por tanto un total de 16 mdulos.
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 lneas de direcciones (A19 - A0). Para la construccin de su
unidad de memoria se dispone de mdulos de 32K palabras, utilizndose las lneas ms significativas (A19 A17) para la seleccin de cada mdulo. En el mapa de memoria, las direcciones 5FFFF y 80000 (en notacin
hexadecimal) se encuentran respectivamente en los mdulos:
A) 3 y 4.

B) 2 y 3.

C) 2 y 4.

D) Ninguna de las anteriores.

Nota: Los sucesivos mdulos de memoria se comienzan a numerar desde el mdulo 0, que corresponde a las
direcciones ms bajas de memoria
Solucin
La direccin base de un mdulo es la direccin de memoria principal que hay que emplear para acceder a la
primera posicin de dicho mdulo. En este caso concreto las sucesivas direcciones base de cada mdulo las
generaremos con valores sucesivos de los bits A19A17, que son los empleados para seleccionar cada mdulo, y
el resto de los bits de la direccin, A16..A0, con el valor cero. En la tabla siguiente se muestra el resultado.
Direccin base en binario
A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A
0

Mdulo 0
Mdulo 1
Mdulo 2
Mdulo 3
Mdulo 4
Mdulo 5
Mdulo 6
Mdulo 7

0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Dir. base en
hexadecima
l
00000
20000
40000
60000
80000
A0000
C 0 0 00
E 0 0 00

Respuesta: C (mdulos 2 y 4).


3.- Un computador tiene conectado un ratn cuya rutina de actualizacin de su posicin y posterior localizacin
del puntero en la pantalla requiere de 2000 ciclos para su ejecucin. Esta rutina debe ejecutarse al menos 30
veces para poder actualizar la posicin del ratn 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%.
C) Mayor que 0,5% y menor que 1%.

B) Mayor que 0,05% y menor que 0,5%.


D) Ninguna de las anteriores.

Solucin
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 operacin de un sistema digital:
1: Declaracin: A[8], B[8], Cont[3];
A1 y A0 son los dos bits menos significativos del
registro A. Si inicialmente se cargan los registros A y
2: A Bus-Entrada;
B desde el bus de entrada con los valores 00010011 y
3: B Bus-Entrada;
11100011 respectivamente, cules son los valores
4: for Cont = 0 to 2 do
contenidos en A y B al finalizar el algoritmo?
5:
if A1 A0 0 1 then
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;
Solucin
Primera iteracin del bucle Cont = 0:
N instruccin
2: A Bus-Entrada;
3: B Bus-Entrada;
4: for Cont = 0 to 2 do
5: if A1 A0 0 1 then
6:
B 0;
7: endif;
8: Despl.CerradoDcha(A);
9: Despl.CerradoDcha(A);
10: endfor
11:

A
00010011

B
-11100011

00000000
10001001
11000100

Segunda iteracin del bucle Cont = 1:


N instruccin

4: for Cont = 0 to 2 do
5: if A1 A0 0 1 then
6:
B 0;
7: endif;
8: Despl.CerradoDcha(A);

A
11000100

B
00000000

00000000
01100010

9: Despl.CerradoDcha(A);
10: endfor

00110001

Primera iteracin del bucle Cont = 2:


N instruccin

A
00110001

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

B
00000000

00000000

5.- Dada una memoria cach de tamao 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 tamao de 4 bytes.
II. Si los bloques tienen un tamao de 8 bytes.
A) I: 1, II: 4.

B) I: 1, II: 0.

C) I: 4, II: 0.

D) I: 4, II: 1.

Solucin
I. El nmero 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 nmero de bloque i asignado en la memoria cach al bloque j de la memoria principal se calcula mediante
la siguiente funcin de transformacin:
i = j mdulo C = 9 mdulo 8 = 1
II. El nmero 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 nmero de bloque i asignado en la memoria cach al bloque j de la memoria principal se calcula mediante
la siguiente funcin de transformacin:
i = j mdulo C = 4 mdulo 4 = 0
Respuesta: B (I: 1, II: 0)
6.- Un bus sncrono tiene un ancho de banda de 5,56 Mbytes/s (1Mbyte= 106 bytes). Sabiendo que multiplexa
16 lneas de datos y que el tiempo de acceso a memoria es de 240 ns en el proceso de lectura, cul es el tiempo
de ciclo del bus?
A) 80 ns.

B) 40 ns.

C) 60 ns.

D) 30 ns.

Solucin
Con el ancho de banda dado y sabiendo que se disponen de 16 lneas (2 bytes), se puede calcular el tiempo de
ejecucin de la operacin de lectura:
t = 2bytes/ 5,56 Mbytes/s = 0,360 s= 360 ns
Como se necesitarn dos ciclos adicionales, adems de los que se usan en el acceso a memoria, uno para el
direccionamiento y otro para el envo de datos a la CPU, se obtiene la siguiente ecuacin para el tiempo de

ciclo del bus:


t = 2x+240=360.
Por tanto x=60 ns, y el nmero 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 explcitas.
II. En los procesadores de pila puede haber instrucciones con una direccin explcita.
A) I: s, II: s.

B) I: s, II: no.

C) I: no, II: s.

D) I: no, II: no.

Solucin
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 explcita una direccin.
Respuesta: C (I: no, II: s)
8.- Un ordenador con 24 lneas de direccin tiene una memoria de 16Mbytes (224 bytes) y utiliza E/S aislada de
memoria. Si cada perifrico ocupa 8 direcciones, cul es el nmero mximo de perifricos que puede
conectarse a este ordenador?
A) 218.
B) 221.
C) 220.
D) Ninguna de las anteriores.
Solucin
Como es E/S aislada de memoria, el n de direcciones para acceder a palabras en perifricos es igual al nmero
total de direcciones disponibles: 224
Como cada perifrico ocupa 8 direcciones, el nmero mximo de perifricos que puede conectarse es:
224 direcciones/(8 direcciones/perifrico) = 221 perifricos
Respuesta : B

PROBLEMA
Se tiene un computador con una memoria cach que utiliza correspondencia directa. Inicialmente la memoria
cach est vaca, consta de 16 bytes por bloque (4 palabras) y un tamao 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.
Solucin
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 nmero de bloque
Referencias a memoria

Referencia
de palabra

Referencia
de byte

Referencia de byte
(en binario)

Acierto/Fallo

N bloque

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

4
16
32
20
80
68
76
224
36
44
16
172
20
24
36
68

(0...00000000) (00) (01) (00)


(0...00000000) (01) (00) (00)
(0...00000000) (10) (00) (00)
(0...00000000) (01) (01) (00)
(0...00000001) (01) (00) (00)
(0...00000001) (00) (01) (00)
(0...00000001) (00) (11) (00)
(0...00000011) (10) (00) (00)
(0...00000000) (10) (01) (00)
(0...00000000) (10) (11) (00)
(0...00000000) (01) (00) (00)
(0...00000010) (10) (11) (00)
(0...00000000) (01) (01) (00)
(0...00000000) (01) (10) (00)
(0...00000000) (10) (01) (00)
(0...00000001) (00) (01) (00)

Fallo
Fallo
Fallo
Acierto
Fallo
Fallo
Acierto
Fallo
Fallo
Acierto
Fallo
Fallo
Acierto
Acierto
Fallo
Acierto

0
1
2
1
1
0
0
2
2
2
1
2
1
1
2
0

Contenido final de la memoria cach


N Bloque

Etiqueta

0
1
2
3

0...0000 0001 = 1
0...0000 0000 = 0
0...0000 0000 = 0
-

Datos (en su lugar


referencia de palabra)
17
4
9
-

El nmero 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 tambin 6/16 100 = 37.5 % de
aciertos.

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo C.

1.- Se dispone de mdulos de memoria ROM que tienen una capacidad 24n palabras (n+1) bits/palabra. Cul
es el nmero mnimo de mdulos de este tipo necesarios para disear un circuito combinacional que sea capaz
de sumar 3 nmeros de 2n bits cada uno?
A) 24n +1 mdulos.
B) 22n +2 mdulos.
C) 22n +1 mdulos.
D) Ninguna de las anteriores.
2.- Se dispone de un procesador de 16 bits con 28 instrucciones. El cdigo de una instruccin de bifurcacin es
4932 en hexadecimal. El contenido del PC tras la ejecucin de la instruccin es 400 (valor expresado en
decimal). Qu valor expresado en decimal almacenaba el PC en estos dos instantes de tiempo?
I. Antes de la ejecucin de la instruccin.
II. Durante la ejecucin de la instruccin, tras finalizar la decodificacin.
A) 94 y 94.
B) 94 y 400.
C) 932 y 400.
D) 932 y 932.
3.- Realizar el diseo del diagrama de estados de un sumador de dos nmeros de 1 bit utilizando tan slo 2
estados. Indicar en ese caso las ecuaciones del bit de suma (S) y del bit de acarreo (C), llamando X al primer
nmero, 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 tamao 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 direccin 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
operacin de E/S requiere 10.000 instrucciones. Ignorando el tiempo de respuesta y suponiendo que las
transferencias se pueden solapar arbitrariamente, cul es la mxima 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 continuacin 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 continuacin 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 mnima que debe tener un mdulo de memoria ROM, capaz de implementar un
sumador binario que sume un nmero A de 6 bits con otro nmero B de 3 bits.
A) 29 palabras 7 bits/palabra.
B) 27 palabras 9 bits/palabra.
D) Ninguna de las anteriores.
C) 29 palabras 9 bits/palabra.
Cuestiones: Conteste nicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestin 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

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

Cuestin 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 mdulos de memoria RAM de 64Kbytes 8 bits y uno de memoria ROM de 128 Kbytes 8 bits. Se desea
que las posiciones de memoria ms bajas estn ocupadas por la memoria ROM y que inmediatamente a
continuacin se site la memoria RAM. Disear el circuito de decodificacin suponiendo que las seales de
seleccin de chip CS se activan en bajo, realizando para ello los siguientes apartados:
A) (2 ptos) Proponer un mapa de memoria que utilice los mdulos y especificaciones indicados en el
enunciado.
B) (2 ptos) Disear el circuito de decodificacin pedido, indicando qu funcin realiza cada uno de los
elementos que lo componen.

SOLUCIONES
1.- Se dispone de mdulos de memoria ROM que tienen una capacidad 24n palabras (n+1) bits/palabra. Cul
es el nmero mnimo de mdulos de este tipo necesarios para disear un circuito combinacional que sea capaz
de sumar 3 nmeros de 2n bits cada uno?
A) 24n +1 mdulos.
B) 22n +2 mdulos.
C) 22n +1 mdulos.
D) Ninguna de las anteriores.
Solucin
Para sumar 3 nmeros de 2n bits cada uno, hacen falta un total de 2n+2 bits para almacenar el resultado. El
tamao 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 mdulos memoria ROM.
Respuesta: C (22n+1 mdulos).
2.- Se dispone de un procesador de 16 bits con 28 instrucciones. El cdigo de una instruccin de bifurcacin es
4932 en hexadecimal. El contenido del PC tras la ejecucin de la instruccin es 400 (valor expresado en
decimal). Qu valor expresado en decimal almacenaba el PC en estos dos instantes de tiempo?
I. Antes de la ejecucin de la instruccin.
II. Durante la ejecucin de la instruccin, tras finalizar la decodificacin.
A) 94 y 94.
B) 94 y 400.
C) 932 y 400.
D) 932 y 932.
Solucin
Como el nmero de instrucciones es 28, son necesarios 5 bits para el cdigo de instruccin y 11 (= 16 - 5) se
corresponden con el operando. En este caso, si pasamos la instruccin 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 bifurcacin es a la direccin 306, y actualmente el PC contiene el valor 400, la direccin de origen
es 400-306=94.
Por otro lado, como despus de la fase de decodificacin, el PC ya apunta a la direccin de memoria de la
siguiente instruccin, su contenido ser 400.
Respuesta: B (94 y 400).
3.- Realizar el diseo del diagrama de estados de un sumador de dos nmeros de 1 bit utilizando tan slo 2
estados. Indicar en ese caso las ecuaciones del bit de suma (S) y del bit de acarreo (C), llamando X al primer
nmero, 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.
Solucin
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
0

X
0
0
1
1
0
0
1
1

Y
0
1
0
1
0
1
0
1

Q
0
0
0
1
0
1
1
1

S
0
1
1
0
1
0
0
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 tamao adecuado).
A) 512 Kbits.
B) 768 Kbits.
C) 560 Kbits.
D) 704 Kbits.
Solucin
Hay que determinar el nmero de bits que contienen los 3 campos (etiqueta, bloque y palabra) en los que se
divide el formato de la direccin de Mp en una memoria cach con correspondencia directa.
El nmero total de bits para direccionar a la Mp, segn los datos del problema es de: n = 32 bits. Como el
tamao del bloque es de 4 bytes, entonces el nmero 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 nmero 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 nmero 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 direccin 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.

Solucin
Hay que determinar el nmero de bits que contienen los 3 campos (etiqueta, bloque y palabra) en los que se
divide el formato de la direccin 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 nmero total de bits para
direccionar a la Mp es de: n = 22 bits.
Como el nmero 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 nmero 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 nmero de bits que contiene el campo etiqueta que es de:
e = n p b = 22 6 8 = 8 bits.
A la direccin de memoria principal, expresada en binario, 1101000000001101110000, le correspondern
entonces los contenidos siguientes en los diferentes campos de la direccin:
etiqueta (los 8 bits ms significativos de la direccin): 11010000
bloque (los 8 bits siguientes de la direccin): 00001101
palabra (los 6 bits menos significativos de la direccin): 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
operacin de E/S requiere 10.000 instrucciones. Ignorando el tiempo de respuesta y suponiendo que las
transferencias se pueden solapar arbitrariamente, cul es la mxima 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.
Solucin
Cada transferencia requiere 50.000 instrucciones (5 operaciones de E/S 10.000 instrucciones/operacin de
E/S = 50.000 instrucciones).
Por lo tanto, la CPU puede soportar:
(50106 instrucciones/s)/(50103 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 continuacin 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 continuacin 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.

Solucin
Ver pgina 335 del libro de texto, apartado 6.3.5.
I. Es falsa. Primeramente se ha de mover el puntero de pila y despus almacenar el contenido del PC. Adems
la operacin sobre el puntero es decrementar y no incrementar.
II. Es verdadera.
Respuesta: C (I: no, II: s.)
8.- Calcular la capacidad mnima que debe tener un mdulo de memoria ROM, capaz de implementar un
sumador binario que sume un nmero A de 6 bits con otro nmero 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.
Solucin
El nmero A de 6 bits se representa como (A5 A4 A3 A2 A1 A0) y el nmero B de 3 bits como (B2 B1 B0). La
suma de un nmero 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 ms significativo el bit de acarreo.
Por otro lado para almacenar la solucin utilizando un mdulo de memoria tipo ROM, es necesario que ste
tenga una capacidad de memoria de 2(6+3) = 29 palabras.
Por tanto, hace falta un mdulo mnimo 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 mdulos de memoria RAM de 64Kbytes 8 bits y uno de memoria ROM de 128 Kbytes 8 bits. Se desea
que las posiciones de memoria ms bajas estn ocupadas por la memoria ROM y que inmediatamente a
continuacin se site la memoria RAM. Disear el circuito de decodificacin suponiendo que las seales de
seleccin de chip CS se activan en bajo, realizando para ello los siguientes apartados:
A) (2 ptos) Proponer un mapa de memoria que utilice los mdulos y especificaciones indicados en el
enunciado.
B) (2 ptos) Disear el circuito de decodificacin pedido, indicando qu funcin realiza cada uno de los
elementos que lo componen.
SOLUCIN

A)
El espacio de direccionamiento, que es de 1 Mbyte, consta de direcciones de 20 bits y se subdivide, a partir de
los bits ms significativos del bus de direcciones (A19, A18, A17, ), en regiones ms pequeas 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 seleccin de chip (CSx) de los diferentes mdulos en
funcin de los bits del bus de direcciones que delimitan la regin del espacio de direccionamiento donde se
sita el contenido del mdulo de memoria de acuerdo con las especificaciones del problema teniendo en cuenta
que las seales de seleccin de chip CS se activan en bajo
Del mapa de memoria de la figura se sigue que cuando las lneas de direccin A19, A18 y A17 valgan 000 se

deber activar la seal de seleccin del mdulo ROM. Como se activa en baja se tiene que:

CS ROM A19 A18 A17

CS ROM A19 A18 A17 A19 A18 A17

Anlogamente cuando las lneas de direccin A19, A18, A17 y A16 valgan 0010 se deber activar la seal de
seleccin del primer mdulo 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 lneas de direccin A19, A18, A17 y A16 valgan 0011 se deber activar la seal de
seleccin del segundo mdulo 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 decodificacin usando los bits ms significativos del bus de direcciones para
activar las lneas de control de seleccin de chip. El bus de direcciones de los mdulos de memoria se
conecta a los bits menos significativos del bus de direcciones del procesador. El bus de datos de los mdulos se
conecta al del procesador (ver segunda Figura).

Circuito de decodificacin

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo A.

1.- Considrese una mquina en la que las instrucciones entre registros (de clculo) emplean 4 ciclos de reloj
para su ejecucin y el resto de instrucciones usan 6 ciclos. Si un programa de 2000 instrucciones, donde un
20% de las mismas son de clculo, se ejecuta en 7 ms, cul es la frecuencia de reloj en ciclos?
A) 625 ns.
B) 350 ns.
C) 515 ns.
D) Ninguna de las anteriores.
2.- Indicar cul debe ser el tamao mnimo del mdulo de memoria ROM necesario para disear un comparador
de dos nmeros de 3 bits que genere como salidas las funciones mayor que y menor que.
B) 26 palabras 3 bits/palabra.
A) 26 palabras 2 bits/palabra.
C) 26 palabras 6 bits/palabra.
D) Ninguna de las anteriores.
3.- En un disco magntico 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 planificacin
usa el disco?
A) SSTF.
B) SCAN.
C) LOOK.
D) Las tres anteriores son posibles.
4.- Se desea disear un circuito combinacional, que sea un sumador de 13 nmeros de 1 bit de longitud,
utilizando nicamente mdulos SBC. Indicar cul es el nmero mnimo de mdulos 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 posicin de conexin de los dispositivos a la lnea de arbitraje no determina la prioridad de aquellos en el
uso del bus, mientras que en el caso centralizado s lo hace.
II. Es ms barato ya que no requiere un rbitro, pero es menos rpido 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 rfagas.
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 propsito general: R0, R1, R2, R3 y R4. El contenido (Contenido)
de ciertas posiciones de memoria (Posicin) y la semntica de una serie de instrucciones se muestra en la tabla
siguiente:
Posicin
2000
2010
2020
2030
2040
2050
2060

Contenido
2030

2060
520

897

Semntica

LOAD R0, 20
; R020
LOAD R1, #2020 [.R0] ; R1 M (2020 + R0)
LOAD R2, #2000
; R2 M(2000)
LOAD R3, [[.R2]]
; R3 M(M(R2))

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 cul de las
siguientes afirmaciones, acerca de las seales de control (ci), es la correcta.
A) c2 = S2 s2

B) c3 = S1
C) Las dos afirmaciones
anteriores son correctas.
D) Todas las afirmaciones
anteriores son falsas.

I / c1
S0

s1 / c2, c3

S1

S3

S4
s1 / c1

s1 / c3
S2

s2 / c1, c2

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


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

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

Cuestin 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 caractersticas:
Palabra de instruccin: 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 tamao de los campos de cdigo de operacin para cada tipo de instruccin.
B) (1 pto.) Indicar cmo se asignaran los cdigos de operacin y se distribuiran las instrucciones.
C) (2 ptos.) Calcular el valor mximo de X.

SOLUCIONES

1.- Considrese una mquina en la que las instrucciones entre registros (de clculo) emplean 4 ciclos de reloj
para su ejecucin y el resto de instrucciones usan 6 ciclos. Si un programa de 2000 instrucciones, donde un
20% de las mismas son de clculo, se ejecuta en 7 ms, cul es la frecuencia de reloj en ciclos?
A) 625 ns.
B) 350 ns.
C) 515 ns.
D) Ninguna de las anteriores.
Solucin
El problema se reduce a resolver la siguiente ecuacin:
(40.2 + 60.8) 2000 Frec. = 7 ms
Operando, se obtiene:
Frec. = 7 ms / 11200 = 6.2510-4 ms, que pasando a ns son 625 ns.
Respuesta : A (625 ns).
2.- Indicar cul debe ser el tamao mnimo del mdulo de memoria ROM necesario para disear un comparador
de dos nmeros 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.
Solucin
En el caso del comparador propuesto el nmero de entradas es 3 + 3 = 6, puesto que se trata de comparar dos
nmeros de 3 bits cada uno de ellos. El nmero de salidas es 2, una que indica si el primer nmero es mayor
que el segundo, y otra que indique si el primer nmero es menor que el segundo. Por tanto, el tamao mnimo
de ROM necesario es:
26 palabras 2 bits/palabra
Respuesta: A (26 palabras 2 bits/palabra).
3.- En un disco magntico 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 planificacin
usa el disco?
A) SSTF.

B) SCAN.

C) LOOK.

D) Las tres anteriores son posibles.

Solucin
La planificacin SSTF atiende las peticiones de pistas que se encuentran ms cerca de la pista actual. Como la
cabeza se encuentra inicialmente en la 300, la pista ms cercana es la 321 y la cabeza se mueve hacia las pistas
crecientes. A continuacin comprueba de nuevo cul es la pista ms cercana. Por un lado est la peticin de 405
y por otro la 100. El nmero 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 continuacin retrocede en sentido contrario para leer las pistas 100, 95 y 3. Por tanto, si el disco
usase una planificacin SSTF, la secuencia de atencin de peticiones sera 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 peticin en cada direccin. Este hecho no influye en el orden de atencin
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
irn leyendo en el orden 321, 405, 627, 930, 1020, y a continuacin la cabeza se desplazar en el sentido
contrario y se leern las pistas 100, 95 y 3. Por tanto, la secuencia dada tambin es la de los algoritmos SCAN y
LOOK.

Respuesta : D
4.- Se desea disear un circuito combinacional, que sea un sumador de 13 nmeros de 1 bit de longitud,
utilizando nicamente mdulos SBC. Indicar cul es el nmero mnimo de mdulos SBC necesarios para ello.
A) 9
B) 10
C) 11
D) Ninguna de las anteriores.
Solucin

Respuesta: B (10 SBCs)


5.- Indicar si las siguientes afirmaciones son verdaderas. En el bus de arbitraje distribuido con respecto al
arbitraje centralizado:
I. La posicin de conexin de los dispositivos a la lnea de arbitraje no determina la prioridad de aquellos en el
uso del bus, mientras que en el caso centralizado s lo hace.
II. Es ms barato ya que no requiere un rbitro, pero es menos rpido 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.

Solucin
I. Es falsa, ya que la posicin si determina la prioridad de los dispositivos tanto en el caso distribuido como
centralizado.
II. Es falsa. El arbitraje distribuido es ms barato y adems es ms rpido 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 rfagas.
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.

Solucin
Afirmacin I: Es verdadera. En la estrategia de DMA por rfagas el controlador de DMA hace uso del bus
cuando se ha finalizado la ejecucin de una instruccin y no lo libera hasta despus de haber finalizado de
enviar todas las palabras.
Afirmacin II: Es falsa. En la estrategia de DMA transparente, el controlador de DMA hace uso del bus en
aquellos ciclos durante la ejecucin de una instruccin 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 instruccin, 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 propsito general: R0, R1, R2, R3 y R4. El contenido (Contenido)
de ciertas posiciones de memoria (Posicin) y la semntica de una serie de instrucciones se muestra en la tabla
siguiente:
Posicin Contenido Semntica
2000
2030
2010

LOAD R0, 20
; R020
2020

LOAD R1, #2020 [.R0] ; R1 M (2020 + R0)


2030
2060
LOAD R2, #2000
; R2 M(2000)
2040
520
LOAD R3, [[.R2]]
; R3 M(M(R2))
2050

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.
Solucin
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 cul de las

siguientes afirmaciones, acerca de las seales de control (ci), es la correcta.


A) c2 = S2 s2

B) c3 = S1
C) Las dos afirmaciones
anteriores son correctas.

I / c1
S0

D) Todas las afirmaciones


anteriores son falsas.

s1 / c2, c3

S1

S3

S4
s1 / c1

s1 / c3
S2

s2 / c1, c2

Solucin
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 caractersticas:
Palabra de instruccin: 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 tamao de los campos de cdigo de operacin para cada tipo de instruccin.
B) (1 pto.) Indicar cmo se asignaran los cdigos de operacin y se distribuiran las instrucciones.
C) (2 ptos.) Calcular el valor mximo de X.
Solucin
A) Se comienza por calcular el tamao de los campos de cdigo de operacin para cada uno de los tipos de
instrucciones. Se tiene lo siguiente:
Las instrucciones sin operandos tienen 32 bits de campo de cdigo de operacin.
Las instrucciones con 1 operando tienen 32-24=8 bits de campo de cdigo de operacin.
Las instrucciones con 2 operandos tienen 32-12-12=8 bits de campo de cdigo de operacin.
Las instrucciones con 3 operandos tienen 32-6-6-4=16 bits de campo de cdigo de operacin.
B) Por lo tanto, se comienza por colocar las instrucciones de 1 y de 2 operandos, ya que tienen el cdigo de
operacin ms pequeo. Luego se asignarn cdigos a las de 3 operandos, y finalmente se vern cuntas
combinaciones quedan libres para instrucciones sin operandos.
Las instrucciones de 1 y de 2 operandos tienen ambas cdigos de operacin de 8 bits, por lo que pueden
estudiarse simultneamente. 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 cdigo.
Las instrucciones de 3 operandos tienen 16 bits de cdigo de operacin, lo que en principio permitira
codificar 216 instrucciones distintas. Sin embargo, de los 16 bits del cdigo de operacin los 8 primeros

codifican instrucciones de 1 y de 2 operandos, a excepcin de las combinaciones 0xFD, 0xFE y 0xFF ya


mencionadas. Por lo tanto, esto nos da un total de 328 instrucciones de tres operandos posibles. Como
slo 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 cdigo de operacin. Sin embargo, no pueden utilizarse
todos los bits libremente. En concreto, slo podr disponerse libremente de los ltimos 16 bits, ya que los
16 primeros intervienen en la codificacin de las instrucciones de 1, 2 y 3 operandos y por lo tanto slo
podrn usarse las combinaciones que estn 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 nmero mximo de instrucciones sin
operandos que puede colocarse es de:
468216 = 30.670.848
Por lo tanto, en las condiciones del problema podran codificarse ms de treinta millones de instrucciones
sin operandos. Naturalmente, esto no significa que haya que usar todas las combinaciones.

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo A.

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 aade un
controlador de interrupciones que invierte un tiempo de 100 ciclos de reloj en cada transferencia, determinar la
fraccin consumida por el procesador cuando el CD est activo.
A) 2%.
B) 3%.
C) 5,12%.
D) Ninguna de las anteriores.
14
2.- En una memoria cach en la que se realizan 2 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.
3.- Disear una Unidad de Control con 20 estados, que genere 27 seales de control totalmente independientes
y que reciba 5 seales de condicin, utilizando para ello una memoria ROM pero minimizando la capacidad de
sta. En cada estado se utiliza, como mximo, una nica condicin. Usando un multiplexor con seleccin por
estado para disear esta Unidad de Control sera 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 instruccin tiene tres operandos con un modo de direccionamiento directo a
memoria, qu tamao 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 lneas de peticin de interrupcin numeradas de la 0 a la 7. Las interrupciones
con nmero 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
gestin de una interrupcin 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 ms fcilmente y cambiar ciertas direcciones sin tener que volver a compilar el
programa.
II. Reduce el nmero 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.- Cul es el tamao 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 nmeros 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.
D) 216 palabras 12 bits/palabra.
C) 224 palabras 12 bits/palabra.

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


Cuestin 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

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

Cuestin 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 instruccin, siendo de lectura el 80% de los accesos a datos.
Teniendo en cuenta que durante la ejecucin de dicho programa se han medido una media de
2,5 ciclos/instruccin, determinar el porcentaje de ocupacin del bus durante la ejecucin de dicho programa en
los siguientes casos:
A) (2 ptos.) Haciendo uso de un bus multiplexado (es decir en primer lugar se enva la direccin de la que se
quiere leer o donde se quiere escribir y a continuacin los datos).
B) (2 ptos.) Haciendo uso de un bus no multiplexado (en lectura se enva primero la direccin por el bus de
direcciones y a continuacin se recibe el dato por el bus de datos y en escritura se enva la direccin por el bus
de direcciones a la vez que se enva 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 aade un
controlador de interrupciones que invierte un tiempo de 100 ciclos de reloj en cada transferencia, determinar la
fraccin consumida por el procesador cuando el CD est activo.
A) 2%.
B) 3%.
C) 5,12%.
D) Ninguna de las anteriores.
Solucin
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 fraccin 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 leyndose 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.
Solucin
Afirmacin I. Para calcular la tasa de fallos (tfallos) se puede usar la frmula:

t fallos

211
N .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 afirmacin I es falsa.
Afirmacin II. Para el clculo del tiempo de acceso efectivo a memoria se puede emplear la ecuacin (2.5) de
la pgina 102 del libro de teora:
Ta= h tcache + (1-h) tp = 0,8756 ns + 0,12590 ns = 5,25 + 11,25 = 16,5 ns

Por lo que la afirmacin II es verdadera.


Respuesta: C)

3.- Disear una Unidad de Control con 20 estados, que genere 27 seales de control totalmente independientes

y que reciba 5 seales de condicin, utilizando para ello una memoria ROM pero minimizando la capacidad de
sta. En cada estado se utiliza, como mximo, una nica condicin. Usando un multiplexor con seleccin por
estado para disear esta Unidad de Control sera 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.
Solucin

En el diseo de la Unidad de Control se utilizan los siguientes componentes: Una memoria ROM, un registro y
un multiplexor con seleccin por estado.
A partir de los datos del enunciado se deduce que:
Variables de estado n = 5 ya que 25 = 32 > 20 estados;
Seales de control: m = 27:
Seales de condicin: 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 seleccin por estado, tiene 25 entradas y requiere de 5 seales de seleccin. 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 instruccin tiene tres operandos con un modo de direccionamiento directo a
memoria, qu tamao debe tener el registro contador de programa?
A) 8 bits.
B) 12 bits.
C) 16 bits.
D) Ninguna de las anteriores.
Solucin

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 direccin en memoria de la siguiente instruccin a ejecutar, debe
ser capaz de almacenar cualquier direccin de memoria, es decir, debe tener un ancho de 8 bits.
27:24
Cdigo Op.

23:16
Operando 1

15:8
Operando 2

7:0
Operando 3

Respuesta A)

5.- Un procesador dispone de 8 lneas de peticin de interrupcin numeradas de la 0 a la 7. Las interrupciones


con nmero 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


gestin de una interrupcin 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.
Solucin

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 peticin 0 atiende la 3 y se producen la 4 y la 2. Despus 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 ms fcilmente y cambiar ciertas direcciones sin tener que volver a compilar el
programa.
II. Reduce el nmero 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.
Solucin

Ver pgina 327 del libro de teora.


Respuesta: A)

7.- Cul es el tamao 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.
Solucin

Ver la seccin 2.5.2 del libro base de teora. El enunciado indica que la memoria cach interpreta la direccin
de la memoria principal de la forma siguiente:
ETIQUETA 20 bits, CONJUNTO 6 bits, PALABRA 6 bits
El tamao 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.
Segn 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 tamao 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 nmeros 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.
D) 216 palabras 12 bits/palabra.
C) 224 palabras 12 bits/palabra.
Solucin

Para conocer el tamao adecuado de la memoria ROM que se necesita, hay que darse cuenta de que el producto
de un nmero binario de 12 bits por otro nmero binario de otros 12 bits, da como resultado un nmero binario
de 24 bits.
Por tanto la memoria ROM pedida debe ser capaz de almacenar todos los resultados de multiplicar 2 nmeros
binarios de 12 bits. Si el resultado de cada multiplicacin ocupa 24 bits, sern 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 instruccin, siendo de lectura el 80% de los accesos a datos.
Teniendo en cuenta que durante la ejecucin de dicho programa se han medido una media de 2,5
ciclos/instruccin, determinar el porcentaje de ocupacin del bus durante la ejecucin de dicho programa en los
siguientes casos:
A) (2 ptos.) Haciendo uso de un bus multiplexado (es decir en primer lugar se enva la direccin de la que se
quiere leer o donde se quiere escribir y a continuacin los datos).
B) (2 ptos.) Haciendo uso de un bus no multiplexado (en lectura se enva primero la direccin por el bus de
direcciones y a continuacin se recibe el dato por el bus de datos y en escritura se enva la direccin por el bus
de direcciones a la vez que se enva el dato por el bus de datos).
SOLUCION

Independientemente del tipo de bus se deben realizar los siguientes clculos.


A partir de la frecuencia de reloj del procesador y sabiendo que el nmero medio de ciclos por instruccin
empleado en la ejecucin del programa es 2,5, se calcula el nmero de instrucciones ejecutadas por segundo:
(500 106 ciclos/s)/(2,5 ciclos/inst) = 200 106 inst/s
El nmero de ciclos de instruccin por segundo es, por lo tanto 200 106.
Ya que se realiza un acceso a datos por cada 4 ciclos de instruccin, el nmero 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 peticin necesita 2 ciclos del bus, emplendose:
2 250 106 = 500 106 ciclos/s
El porcentaje de ocupacin del bus sera del 100 %
B) Si el bus no est multiplexado, las peticiones de lectura necesitaran 2 ciclos de bus, mientras que las de
escritura solo uno, por lo que en total se emplearan:
2 240 106 + 1 10 106 = 490 106 ciclos/s
En este caso, el porcentaje de ocupacin del bus sera del 98 % (490/500)

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo C.

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
2610
2710
2810
2910

87
986
75
876
63

Indicar cul es el resultado de ejecutar la siguiente instruccin ADD R1, R3, (R2),
sabiendo que el primer operando de la instruccin es el destino. Nota: La notacin (Ri)
hace referencia al modo de direccionamiento indirecto a travs de registro.
A) R1114

B) R152

C) R1162

D) Ninguna de las anteriores.

2.- Considerar dos microprocesadores con buses de datos de 8 y 16 bits, respectivamente. Los dos
procesadores son idnticos en todo lo dems, 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 cul de los siguientes valores
de los registros de argumento (A) y mscara (K) proporcionan un 1 en todos aquellos bits del registro de marca
(M) cuya celda de memoria contenga un nmero impar, y un 0 en caso contrario. Nota: Se considera que el cero
es un nmero par y se supone que todos los bits del registro de validez estn a 1 por lo que todas las palabras de
la memoria estn operativas.
A) A=100000000010, K=000000000001
C) A=101111000011, K=000000000001

B) A=100000000001, K=100000000000
D) Ninguna de las anteriores.

4.- En un procesador con instrucciones de cero direcciones (con pila), determinar el nmero mnimo de
instrucciones que se necesitan para completar la operacin Y = XY+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
Inicio
0

01

S2

10

S3

11

Cond
0

Suponiendo que para cada estado se debe generar una sola seal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), indicar los tamaos que deben tener el registro y la memoria ROM mnima necesaria, respectivamente:
A) 2 bits y 16 palabras 6 bits/palabra.
C) 4 bits y 8 palabras 6 bits/palabra.

B) 4 bits y 16 palabras 4 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 aade
un controlador de DMA, cuya transferencia utiliza 1000 ciclos de reloj del procesador, y el tratamiento de
interrupcin tras la finalizacin de dicha transferencia necesita 500 ciclos de reloj. Si la transferencia media del
disco es de 4KByte (4 103 Byte), determinar la fraccin consumida por el procesador cuando el disco duro
est activo.
A) 15%.
B) 1,5%.
C) 5%.
D) Ninguna de las anteriores.
n
7.- Cuntos mdulos de memoria ROM de 2 palabras n bits/palabra sern necesarios para disear un circuito

combinacional que eleve al cubo un nmero X de n bits.


A) 3.

B) 2n+2.

C) 322n.

D) Ninguna de las anteriores.

8.- Se desea construir un multiplicador binario que multiplique dos nmeros de 4 y 8 bits, respectivamente.
Para ello se utilizan exclusivamente dos mdulos ROM de 256 palabras 8 bits/palabra y sumadores binarios
paralelos de 4 bits. Cul es el mnimo nmero 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.


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

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

Cuestin 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 direccin 0 de memoria a la direccin
4351. Si se supone inicialmente vaca la memoria cach y que el tiempo de acceso a Mp es 4 veces superior al
de Mc, calcular el nmero 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
poltica 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
2610
2710
2810
2910

87
986
75
876
63

Indicar cul es el resultado de ejecutar la siguiente instruccin ADD R1, R3, (R2),
sabiendo que el primer operando de la instruccin es el destino. Nota: La notacin (Ri)
hace referencia al modo de direccionamiento indirecto a travs de registro.
B) R1114

B) R152

C) R1162

D) Ninguna de las anteriores.

Solucin
La instruccin 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 posicin de memoria almacenada en R2: por tanto, operando2 = 87. Como consecuencia, el
resultado de la operacin de suma se almacenar en R1 y ser 27+87 = 114.
Respuesta: A (R1114).
2.- Considerar dos microprocesadores con buses de datos de 8 y 16 bits, respectivamente. Los dos
procesadores son idnticos en todo lo dems, 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.

Solucin
Supngase 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 nmero 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 nmero 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
nmero de ciclos necesarios para el primero entre el nmero 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 cul de los siguientes valores
de los registros de argumento (A) y mscara (K) proporcionan un 1 en todos aquellos bits del registro de marca
(M) cuya celda de memoria contenga un nmero impar, y un 0 en caso contrario. Nota: Se considera que el cero
es un nmero par y se supone que todos los bits del registro de validez estn a 1 por lo que todas las palabras de
la memoria estn operativas.
A) A=100000000010, K=000000000001
C) A=101111000011, K=000000000001

Solucin

B) A=100000000001, K=100000000000
D) Ninguna de las anteriores.

Vase el apartado 2.4 del texto base de teora.


Un nmero binario es impar cuando su bit menos significativo es igual a 1. Es decir, en el caso de nmeros de
12 bits, cuando es de la forma XXXX XXXX XXX1, donde X puede ser 0 1.
Segn se indica en el enunciado, cuando la celda de memoria contenga un nmero impar (es decir, un nmero
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 nmero 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 mscara (K) deben tomar los valores siguientes:
A = XXXX XXXX XXX1
K = 0000 0000 0001

(donde X puede valer 0 1)

En particular, los valores dados en la respuesta C son vlidos:


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 nmero mnimo de
instrucciones que se necesitan para completar la operacin Y = XY+Z.
A) 3.

B) 5.

C) 6.

D) Ninguna de las anteriores.

Solucin
De acuerdo con el funcionamiento de este tipo de procesadores una posible secuencia mnima de instrucciones
a ejecutar para implementar la operacin Y = XY+Z sera:
1)
2)
3)
4)
5)
6)

Push M[X];
Push M[Y];
Mult;
Push M[Z];
Add;
Pop M[Y]

Luego el nmero de intrucciones mnimo 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
Inicio
0

01

S2

10

S3

11

Cond
0

Suponiendo que para cada estado se debe generar una sola seal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), indicar los tamaos que deben tener el registro y la memoria ROM mnima necesaria, respectivamente:
A) 2 bits y 16 palabras 6 bits/palabra.
C) 4 bits y 8 palabras 6 bits/palabra.

B) 4 bits y 16 palabras 4 bits/palabra.


D) Ninguna de las anteriores.

Solucin
El diagrama mostrado en el enunciado tiene 4 estados, 2 condiciones (que se consultan de manera excluyente) y
4 seales de control. Por tanto, es necesario usar 2 bits para la codificacin del estado (n = 2), dos seales de
condicin (q = 2) y cuatro seales de control (m = 4).
Para disear la unidad de control usando nicamente una memoria ROM y un registro sera 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 aade
un controlador de DMA, cuya transferencia utiliza 1000 ciclos de reloj del procesador, y el tratamiento de
interrupcin tras la finalizacin de dicha transferencia necesita 500 ciclos de reloj. Si la transferencia media del
disco es de 4KByte (4 103 Byte), determinar la fraccin consumida por el procesador cuando el disco duro
est activo.
A) 15%.

B) 1,5%.

C) 5%.

D) Ninguna de las anteriores.

Solucin
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
Fraccin consumida por el procesador =
100 1,5%
50 106
Respuesta: B (1,5%)
7.- Cuntos mdulos de memoria ROM de 2n palabras n bits/palabra sern necesarios para disear un circuito
combinacional que eleve al cubo un nmero X de n bits.
A) 3.

B) 2n+2.

C) 322n.

D) Ninguna de las anteriores.

Solucin
Si slo se fuera a utilizar una nica memoria ROM, cuya capacidad se pudiese decidir, sta tendra que tener
una capacidad de 2n palabras3n bits/palabra. No obstante, como el mdulo de memoria ROM del que se
dispone es de 2n palabras n bits/palabra, sern necesarios 3 mdulos para cubrir las necesidades de
almacenamiento.
Respuesta: A (3)

8.- Se desea construir un multiplicador binario que multiplique dos nmeros de 4 y 8 bits, respectivamente.
Para ello se utilizan exclusivamente dos mdulos ROM de 256 palabras 8 bits/palabra y sumadores binarios
paralelos de 4 bits. Cul es el mnimo nmero necesario de sumadores de este tipo?
A) 4.

B) 3.

C) 2.

D) Ninguna de las anteriores.

Solucin
Se deben multiplicar dos nmeros binarios, uno de 4 bits y otro de 8 bits. El resultado de la operacin necesita
12 bits para poder ser expresado.
Se dispone de dos mdulos ROM de 256 palabras de 8 bits/palabra y de sumadores binarios paralelos de 4 bits.
Los mdulos ROM utilizados, pueden almacenar la multiplicacin de dos nmeros binarios de 8 bits. Para
llevar a cabo la multiplicacin se supone que el multiplicando es el nmero 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 mdulo ROM guarda palabras de 8 bits. En
el primer mdulo los 4 bits menos significativos de la palabra sern ya parte del resultado de multiplicar de
forma completa el nmero de 8 por el de 4 bits, pero los 4 ms significativos se deben sumar a los 4 menos
significativos del segundo mdulo ROM, para lo cual se debe usar el primer sumador binario. La salida de este
sumador sern 4 bits ms del resultado.
Los 4 bits ms significativos del segundo mdulo ROM deben sumarse al acarreo del sumador anterior,
proporcionando los 4 bits restantes del resultado de la multiplicacin. 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 direccin 0 de memoria a la direccin
4351. Si se supone inicialmente vaca la memoria cach y que el tiempo de acceso a Mp es 4 veces superior al
de Mc, calcular el nmero 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 poltica
de reemplazamiento LRU.
Solucin
La Mc tiene un tamao de 4K palabras = 4096 palabras, por lo que las 4351 direcciones propuestas no caben en
cach de forma simultnea 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
3 / 67
4

N Fallos = 64+68=132
N Referencias = 9 x 4.352 = 39.168
N Aciertos = 39.168-132=39.036
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
16

/48
/0

/64

C0
32

/ 16

48

/ 32

1 pasada
falla 1 palabra de 68 bloques 68 fallos
8 pasadas restantes
fallan 5 bloques en cada uno de los 4 primeros conjuntos 8x4x5 = 160 fallos

1 / 65
17 / 1
C1
33 / 17
49

N Fallos = 160+68=228
N Referencias = 9 x 4.352 = 39.168
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


Tacierto = Tasa_aciertos*T lectura directa (read through)

50
3 / 67

Tfallos = 1-Tasa_aciertos

19 / 3
35 / 19

C3

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 solucin del apartado b) del problema de considerar 4 conjuntos en lugar de 16.

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa 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 puntuacin del examen es la
siguiente: el test vale 4 puntos, las cuestiones tericas 2 puntos y el problema 4 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).
Examen tipo A.

1.- Sabiendo que la palabra de memoria tiene 32 bits, que el repertorio de instrucciones tiene 16 instrucciones
diferentes y que cada instruccin tiene dos operandos con direccionamiento directo a memoria, cul es la
mxima 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 instruccin que tiene cinco etapas: lectura del cdigo de
operacin (4 ciclos de bus), lectura de la direccin 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 lnea de peticin de interrupcin. Despus de cunto tiempo entra el
procesador en el ciclo de reconocimiento de interrupcin?
A) 0 ns.

B) 100 ns.

C) 300 ns.

D) 900 ns.

3.- Se desea disear un circuito combinacional, que sea un sumador de 6 nmeros de 1 bit de longitud,
utilizando nicamente mdulos SBC. Cul es el nmero mnimo de mdulos 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 funcin 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 direccin de memoria principal 001FFF expresada en
hexadecimal:
A) 31

B) Podra utilizarse cualquier bloque.

C) 11

D) Ninguna de las anteriores.

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


desplazamiento: 4 operaciones LDCS seguidas de 8 operaciones LICS, cul es el resultado de la operacin?
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 operacin de encuesta. Determinar cul debe ser la velocidad de transferencia de un CD que
transfiere datos al procesador en palabras de 16 bits, sin perder ningn dato, sabiendo que la fraccin de tiempo
de CPU que se consume al realizar la operacin 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 cul ser el valor de A, B y Contador al final de la ejecucin 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
C) Contador = 1, A = 5 y B = 2

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

8.- Se desea implementar el diagrama ASM de la figura utilizando la tcnica de seleccin por estado.

S0

S1

01

S2

10

S3

11

1
Inicio
0

Cond
0

Suponiendo que para cada estado se debe generar una sola seal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), el nmero de entradas del multiplexor y el tamao de la memoria ROM mnima 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.
Cuestin 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

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

Cuestin 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 debern ser de ROM y
el resto de RAM. Se dispone para ello de los siguientes mdulos en cantidad suficiente:
RAM: Mdulos de tipo A, de 128 Mpalabras de 4 bits.
RAM: Mdulos de tipo B, de 64 Mpalabras de 4 bits.
RAM: Mdulos de tipo C, de 32 Mpalabras de 8 bits.
ROM: Mdulos de tipo D, de 32 Mpalabras de 4 bits.
Circuitera combinacional adicional en cantidad suficiente.
Disear el mdulo de memoria, indicando detalladamente la conexin de las lneas 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 instruccin tiene dos operandos con direccionamiento directo a memoria, cul es la
mxima memoria direccionable?
A) 214 posiciones.

B) 216 posiciones.

C) 228 posiciones.

D) 232 posiciones.

Solucin
El nmero de bits necesarios para codificar 16 instrucciones es 4. Si el tamao de la palabra de memoria tiene
32 bits, 32-4=28 bits ser el tamao de los operandos. Por tanto, el tamao de cada operando sera 28 bits/2=14
bits y la mxima memoria direccionable ser 214 bits.
31:28
Cdigo Op.

27:14
Operando 1

13:0
Operando 2

Respuesta : A (214 posiciones)


2.- Un procesador con un bus de 10 MHz tiene una instruccin que tiene cinco etapas: lectura del cdigo de
operacin (4 ciclos de bus), lectura de la direccin 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 lnea de peticin de interrupcin. Despus de cunto tiempo entra el
procesador en el ciclo de reconocimiento de interrupcin?
A) 0 ns.

B) 100 ns.

C) 300 ns.

D) 900 ns.

Solucin
El procesador atender la interrupcin cuando finalice la instruccin en curso, es decir, si se encuentra en la
etapa de lectura del operando, necesitar de otros 9 ciclos para completar la instruccin, por tanto
9 x 100 ns= 900 ns.
Respuesta : D (900 ns)
3.- Se desea disear un circuito combinacional, que sea un sumador de 6 nmeros de 1 bit de longitud,
utilizando nicamente mdulos SBC. Cul es el nmero mnimo de mdulos SBC necesarios?
A) 3

B) 4

C) 5

D) Ninguna de las anteriores.

Solucin
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 notacin de puntos se muestra en la Figura 1 donde cada punto representa 1 bit de
la entrada, o de la salida.

Figura 1 Notacin de puntos de un SBC


Se desean sumar 6 nmeros binarios de 1 bit cada uno, que se pueden representar de la forma siguiente: x0, x1,
x2, x3, x4, x5. Como son nmeros de un nico bit su suma como mximo da como resultado 6 en decimal, que
expresado en binario es el nmero 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 nmeros mediante notacin de puntos y haciendo uso de los

SBCs necesarios. Como se puede observar son necesarios 4 SBCs como mnimo.

Figura 2 Reduccin mediante un rbol de Wallace


Respuesta: B (4 mdulos SBC)
4.- Se tiene una memoria cach con 64 bloques con capacidad para 512 palabras cada uno. Si la funcin 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 direccin de memoria principal 001FFF expresada en
hexadecimal:
A) 31

B) Podra utilizarse cualquier bloque.

C) 11

D) Ninguna de las anteriores.

Solucin
Utilizando correspondencia totalmente asociativa cualquier bloque de la memoria principal se puede ubicar en
cualquier bloque de la memoria cach.
Respuesta: B (Podra utilizarse cualquier bloque)
5.- Si al nmero binario X = 111100011000 le aplicamos la siguiente secuencia de operaciones de
desplazamiento: 4 operaciones LDCS seguidas de 8 operaciones LICS, cul es el resultado de la operacin?
A) 011000111100

B) 110001100011

C) 000110001111

D) Ninguna de las anteriores.

Solucin
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 nmero 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 operacin de encuesta. Determinar cul debe ser la velocidad de transferencia de un CD que
transfiere datos al procesador en palabras de 16 bits, sin perder ningn dato, sabiendo que la fraccin de tiempo
de CPU que se consume al realizar la operacin 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.

Solucin
El nmero de ciclos/s que se emplean en la operacin de encuesta son:
5,12% (fraccin consumida) (50106 ciclos/s) =
0,0512 (50106) = 2,56 106 ciclos/s

Si N es el nmero 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 cul ser el valor de A, B y Contador al final de la ejecucin 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
C) Contador = 1, A = 5 y B = 2

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

Solucin
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 solucin 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 tcnica de seleccin por estado.
S0

S1

01

S2

10

S3

11

1
Inicio
0

Cond
0

Suponiendo que para cada estado se debe generar una sola seal de control (c0 en S0, c1 en S1, c2 en S2 y c3 en
S3), el nmero de entradas del multiplexor y el tamao de la memoria ROM mnima 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.
Solucin

El diagrama mostrado en el enunciado tiene 4 estados, 2 condiciones (que se consultan de manera excluyente) y
4 seales de control. Por tanto, es necesario usar 2 bits para la codificacin del estado (n = 2), dos seales de
condicin (q = 2) y cuatro seales de control (m = 4).
Como en cada estado slo se necesita una seal de condicin, la tcnica de seleccin 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 mnima necesaria un tamao 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 debern ser de ROM y el resto
de RAM. Se dispone para ello de los siguientes mdulos en cantidad suficiente:
RAM: Mdulos de tipo A, de 128 Mpalabras de 4 bits.
RAM: Mdulos de tipo B, de 64 Mpalabras de 4 bits.
RAM: Mdulos de tipo C, de 32 Mpalabras de 8 bits.
ROM: Mdulos de tipo D, de 32 Mpalabras de 4 bits.
Circuitera combinacional adicional en cantidad suficiente.
Disear el mdulo de memoria, indicando detalladamente la conexin de las lneas de datos, direcciones y
control necesarias para gestionarla.
Solucin
En la Figura 1 aparece el esquema de la memoria requerida. Por simplicidad, no se han conectado entre s las
lneas R y W, que van conectadas a todos los mdulos de memoria que posean esa conexin.

Figura 1. Conexin de los mdulos de memoria

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 3 puntos, las cuestiones tericas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificacin mnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo A.

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

Cul 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 tamao de la palabra de 4 bytes. Sabiendo que el sistema de memoria cach
tiene asignada una funcin de correspondencia de tipo directo, indicar cul de las siguientes direcciones
provocara un reemplazamiento del bloque de memoria cach ocupado por el bloque de memoria principal
asociado a la direccin 1712010.
A) 8266810
B) 1737610
C) 1715010
D) Ninguna de las anteriores.
3.- Se desea disear un circuito combinacional, que sea un sumador de 1 nmero de 3 bits de longitud, 5
nmeros de 2 bits de longitud y 1 nmero de 1 bit de longitud, utilizando nicamente mdulos SBC. Cul es el
nmero mnimo de mdulos SBC necesarios?
A) 8
B) 7
C) 9
D) Ninguna de las anteriores.
4.- Sea una CPU con 8 lneas de interrupcin 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 interrupcin, en el siguiente orden: PI3, PI1, PI0, PI6, PI5,
PI7. Teniendo en cuenta que la duracin de las rutinas de interrupcin y los tiempos de solicitud de las
interrupciones son los dados en la tabla siguiente, cul es el orden en que se tratan las interrupciones si el
sistema permite anidamiento de interrupciones?
Interrupcin
PI3
PI1
PI0
PI6
PI5
PI7

Tiempo
peticin
0
3
3
8
11
15

Duracin
rutina
5
3
2
3
4
2

A) PI3 PI1 PI0 PI6 PI5 PI7


B) PI3 PI0 PI1 PI6 PI5 PI7
C) PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7
D) Ninguna de las anteriores.

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. Supngase que cada palabra
contiene un valor igual a su direccin en memoria y que se utiliza una instruccin con un valor en el campo de
direcciones (CD) = (00C9). La direccin final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a travs 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 cul de las siguientes
afirmaciones, acerca de las seales de control (ci), es correcta:
s1 / c1,c3

s1
S0

I/c0

S1

s0 / c2

S2

A) c2 = S1+ S2 s1
B) c3 = S2 s1
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.


Cuestin 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

Cuestin 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 detrs como mximo):
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 peticin de interrupcin. El procesador
necesita 1000 ciclos de reloj en total para detectar la interrupcin, identificarla, saltar a la rutina de atencin
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 operacin de E/S por DMA con el disco
duro.
Nota: La sobrecarga del procesador en una operacin de E/S es el porcentaje de tiempo que dedica el
procesador a la operacin 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

Cul 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.

Solucin:
Para calcular el ancho de banda de un bus dado se necesitan dos datos:
la cantidad de informacin que se puede transferir por el bus
el tiempo que se necesita para transferir esa informacin.
Segn 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 tamao de la palabra de 4 bytes. Sabiendo que el sistema de memoria cach
tiene asignada una funcin de correspondencia de tipo directo, indicar cul de las siguientes direcciones
provocara un reemplazamiento del bloque de memoria cach ocupado por el bloque de memoria principal
asociado a la direccin 1712010.
A) 8266810
B) 1737610
C) 1715010
D) Ninguna de las anteriores.
Solucin:
Vase el apartado 2.5.2 del libro de teora. Las direcciones de memoria principal tendrn una anchura de n=19
bits, ya que el nmero total de palabras de sta es de 512 Kpalabras = 219 palabras.
Como la memoria cach utiliza una funcin de correspondencia directa, una direccin 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 nmero 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 direccin 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 solucin en sus
respectivos 3 campos:
1712010 = 000 01000010111 00000
Opcin A) 8266810 = 001 01000010111 01100.
Tiene el mismo nmero de bloque y distinta etiqueta. Si se hiciera una referencia a memoria, ste bloque
sustituira al actual (el asociado al 1712010).
Opcin B) 1737610 = 000 01000011111 00000.
Es otro bloque y no se corresponde con el ocupado por el bloque asociado a la direccin 1712010
Opcin 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 disear un circuito combinacional, que sea un sumador de 1 nmero de 3 bits de longitud, 5
nmeros de 2 bits de longitud y 1 nmero de 1 bit de longitud, utilizando nicamente mdulos SBC. Cul es el
nmero mnimo de mdulos SBC necesarios?
A) 8
B) 7
C) 9
D) Ninguna de las anteriores.
Solucin:
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 notacin de puntos se muestra en la siguiente figura, donde cada punto
representa 1 bit de la entrada, o de la salida.

Notacin de puntos de un SBC


En la siguiente figura se muestra la suma de los nmeros indicados en la cuestin mediante notacin de puntos y
haciendo uso de los SBCs necesarios. Como se puede observar son necesarios 10 SBCs como mnimo.

Reduccin mediante un rbol de Wallace


Respuesta: D (10 mdulos SBCs, ninguna de las anteriores)
4.- Sea una CPU con 8 lneas de interrupcin 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 interrupcin, en el siguiente orden: PI3, PI1, PI0, PI6, PI5,
PI7. Teniendo en cuenta que la duracin de las rutinas de interrupcin y los tiempos de solicitud de las
interrupciones son los dados en la tabla siguiente, cul es el orden en que se tratan las interrupciones si el
sistema permite anidamiento de interrupciones?
Interrupcin
PI3
PI1
PI0
PI6
PI5
PI7

Tiempo
peticin
0
3
3
8
11
15

A) PI3 PI1 PI0 PI6 PI5 PI7

Duracin
rutina
5
3
2
3
4
2

B) PI3 PI0 PI1 PI6 PI5 PI7


C) PI3 PI0 PI1 PI3 PI6 PI5 PI6 PI7
D) Ninguna de las anteriores.

Solucin:
Como el sistema permite anidamiento, cuando comienza a ejecutarse el programa de servicio de una interrupcin
si llega una ms prioritaria, se interrumpe la ejecucin de la rutina para atender a la ms prioritaria. Por tanto, el
cronograma de la ejecucin de las rutinas sera el siguiente:
PI3
Llegada:

PI3

PI0

PI1

PI0
PI1

PI3

PI6

PI6

PI5

PI5

PI6

PI7

PI7

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. Supngase que cada palabra
contiene un valor igual a su direccin en memoria y que se utiliza una instruccin con un valor en el campo de

direcciones (CD) = (00C9). La direccin final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a travs del registro R1 es respectivamente:
A) 00C9 y 00D4
B) 00C7 y 000B
C) 00C8 y 00D7
D) Ninguna de las anteriores.
Solucin:
Direccionamiento indirecto: La direccin inicial se obtiene leyendo el contenido de la posicin de memoria
dada por el campo de direcciones de la instruccin: (CD) = 00C9.
Como segn el enunciado, cada palabra contiene un valor igual a su direccin en memoria, la indireccin (00C9)
= 00C9.
Por tanto, la direccin de memoria a la que se accede es 00C9.
Direccionamiento indexado a travs del registro R1: En este caso, como ((CD)) = (00C9) = 00C9. La
direccin definitiva se calcula sumando el contenido del registro ndice con la direccin obtenida en la
indireccin: (R1) + 00C9 = 000B+00C9 = 00D4.
La direccin 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 cul de las siguientes
afirmaciones, acerca de las seales de control (ci), es correcta:
s1 / c1, c3

s1
S0

I/c0

S1

s0 / c2

S2

A) c2 = S1+ S2 s1
B) c3 = S2 s1
C) Las dos anteriores son ciertas.
D) Las dos anteriores son falsas.

s0 / c2

Solucin:
Para la activacin 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 activacin 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 peticin de interrupcin. El procesador
necesita 1000 ciclos de reloj en total para detectar la interrupcin, identificarla, saltar a la rutina de atencin
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 operacin de E/S por DMA con el disco
duro.
Nota: La sobrecarga del procesador en una operacin de E/S es el porcentaje de tiempo que dedica el
procesador a la operacin de E/S frente al tiempo total que tiene.
SOLUCIN
Partiendo de que la frecuencia del reloj es de 1 GHz se puede calcular el periodo de la seal de reloj o la
duracin del ciclo de reloj:

1
1
1

110 9 s 1 ns
9
f 1GHz 110 Hz

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 peticin de interrupcin al procesador para que ste sepa que
la transferencia ha terminado. En este ltimo paso el procesador dedica 1000 ciclos a la operacin 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 esquemtica:

t
ttransferencia
t1

t2

Programar
controlador

Transferencia
del bloque

CPU

DMA

Fin de la
transferencia
Peticin interrupcin
CPU

Por lo tanto la sobrecarga (SC) se calcula (en tanto por ciento) de la siguiente forma:

SC %

t1 t 2
t1 t 2
100
100
t
t1 ttransferencia t 2

Se necesita conocer cunto tiempo precisa el perifrico 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:

ttransferencia

8 Kb
8 210 bytes

1024 10 6 s 1024s
6
8 Mb s 8 10 bytes s

Si se analiza bien la ecuacin 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 mltiplos (kilo, mega) no representan lo mismo en
ambos casos. Cuando se habla de cantidad de informacin o capacidad de almacenamiento de los dispositivos los
mltiplos (kilo, mega, giga) representan potencias de 2 (210, 220, 230, respectivamente), sin embargo cuando
se habla de velocidad, los mltiplos 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 divisin con t. Para ello se realiza el siguiente clculo:
t1 = 2000 ciclos 1 ns/ciclo = 2000 ns
t2 = 1000 ciclos 1 ns/ciclo = 1000 ns
Y la sobrecarga ser:

SC %

2000 1000ns
3s
100
0,29 %
2000 1000ns 1024s
1027 s

Nota: Hay que tener en cuenta que en la ecuacin anterior los tiempos estn indicados en distintas unidades, dos
estn 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 pequea, el procesador dedica poco tiempo a la operacin de entrada/salida
puesto que el controlador de DMA libera de gran parte de ese trabajo al procesador.

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz
y Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 3 puntos, las cuestiones tericas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener una
calificacin mnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo C.

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

T2

T3

Reloj
A0A23
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 jerrquico 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 despus se
lee el dato desde la cach. Si la tasa de acierto de la cach es del 90%, cul 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, cuntas instrucciones por segundo deja de ejecutar la CPU cuando el controlador
de DMA est realizando la transmisin?
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 operacin de un sistema digital:
1: Declaracin: A[8], B[8], Cont[3;
Si los valores cargados en los registros A y B desde el bus
2: A Bus;
de entrada son 00110000 y 01001000, respectivamente,
3: B Bus;
cul es el valor de A y B despus de la ejecucin del
4: for Cont = 2 to 5 do
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 disear un comparador de dos nmeros de 6 bits que genere
las funciones mayor que, menor que e igual que. Indicar cul de las siguientes ROM podra emplearse:
A) 210 palabras 4 bits/palabra
C) Las dos anteriores.

B) 212 palabras 4 bits/palabra


D) Ninguna de las anteriores.

6.- En un procesador con instrucciones de cero direcciones (con pila), determinar cul es el nmero mnimo 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.
Cuestin 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

Cuestin 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 detrs como mximo):
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 continuacin, 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 mdulos de memoria de las siguientes caractersticas:
Mdulos RAM
Mdulos 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 podra disear un mapa de memoria con el tipo de pastillas disponibles. En el
caso de que no sea posible, proponer otra opcin.
B) (1 pto) Indicar cuntos mdulos de memoria y de qu caractersticas seran necesarios para disear el
mapa de memoria, utilizando el menor nmero de pastillas posible.
C) (1.5 ptos) Realizar el diseo del mapa de memoria de modo que la memoria RAM ocupe las posiciones
inferiores de memoria y a continuacin 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
A0A23
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.

Solucin:
Para calcular el tiempo necesario para transferir un fichero hay que tener en cuenta el tamao 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 mltiplos.


Cuando hablamos de cantidad de informacin (el tamao de un fichero por ejemplo) los mltiplos 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 mltiplos 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 jerrquico 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 despus se
lee el dato desde la cach. Si la tasa de acierto de la cach es del 90%, cul es el tiempo de acceso medio de
este sistema?
A) 3092 ns
B) 1650 ns
C) 975 ns
D) Ninguna de las anteriores.
Solucin:
Vase el apartado 2.5.5 del texto base de teora. El tiempo medio de acceso al sistema de memoria viene dado
por la expresin 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, segn 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 256120 ns = 30720 ns; despus 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.130740 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, cuntas instrucciones por segundo deja de ejecutar la CPU cuando
el controlador de DMA est realizando la transmisin?
A) 1,1 10 6
B) 7,5 10 6
C) 9,1 10 6
D) Ninguna de las anteriores.
Solucin:
(Anlogo al problema 3.8 del libro, ver explicacin). En este caso, hay dos tipos de instrucciones: el 75%
emplean 4 ciclos y el 25 % 6 ciclos. Por tanto, la velocidad de ejecucin cuando no hay DMA es:
vnormal

f Hz
225 106

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 instruccin e instruccin y en un 25% se
emplean 7. Por tanto,
vDMA

f Hz
225 106

4,09 107 instruc / s


0.75 5 ciclos / instrucci n 0.25 7 ciclos / instrucci n
5.5

Luego el nmero de instrucciones por segundo que deja de ejecutar la CPU cuando el controlador de DMA est
realizando la transmisin es:
vDMA vDMA 5 107 4,09 107 instruc. / s 9,1106 instruc / s

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


4.- El siguiente algoritmo describe una determinada operacin de un sistema digital:
1: Declaracin: A[8], B[8], Cont[3;
Si los valores cargados en los registros A y B desde el bus
2: A Bus;
de entrada son 00110000 y 01001000, respectivamente,
3: B Bus;
cul es el valor de A y B despus de la ejecucin del
4: for Cont = 2 to 5 do
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;

Solucin:
A) 01110100 y 00010100
B) 10110100 y 01011010
C) 01001000 y 00110000
Segn 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 iteracin del bucle:
Cont
2
3
4
5

A
120
120
180
180

B
60
60
90
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 disear un comparador de dos nmeros de 6 bits que genere
las funciones mayor que, menor que e igual que. Indicar cul de las siguientes ROM podra emplearse:
A) 210 palabras 4 bits/palabra
C) Las dos anteriores.

B) 212 palabras 4 bits/palabra


D) Ninguna de las anteriores.

Solucin:
En un caso general se necesitar una memoria ROM de un tamao mnimo de:
(2nm. entradas) palabras(nm. salidas) bits/palabra
En el caso del comparador propuesto el nmero de entradas es 6 + 6 = 12, y el nmero de salidas es 3, por lo
que se necesitar una memoria ROM de un tamao mnimo de 212 palabras 3 bits/palabra.
La respuesta A propone una capacidad con un nmero de palabras inferior al necesario y no vale. Sin embargo la
respuesta B tiene capacidad mayor que la necesaria por lo que se podra emplear para disear el comparador.
Respuesta: B (212 palabras 4 bits/palabra)
6.- En un procesador con instrucciones de cero direcciones (con pila), determinar cul es el nmero mnimo de
instrucciones que se necesitan para completar la secuencia Y = (X+Y) Z.
A) 3
B) 5
C) 6
D) Ninguna de las anteriores.
Solucin:
De acuerdo con el funcionamiento de este tipo de procesadores una posible secuencia de instrucciones a ejecutar
para implementar la operacin Y = (X+Y) Z sera:
1)
Push M[X];
2)
Push M[Y];
3)
Add;
4)
Push M[Z];
5)
Mult;
6)
Pop M[Y]
Luego el nmero mnimo de instrucciones es 6.
Respuesta: C (6)

PROBLEMA
Problema (Contestar el problema en lo que resta de este folio por delante y por detrs como mximo):
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 continuacin, 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 mdulos de memoria de las siguientes caractersticas:
Mdulos RAM
2 Kpalabras 16 bits
32 Kpalabras 32 bits
64 Kpalabras 16 bits

Mdulos ROM
16 Kpalabras 8 bits
16 Kpalabras 16 bits
64 Kpalabras 1 bit

Se pide:
A) (0.5 ptos) Analizar si se podra disear un mapa de memoria con el tipo de pastillas disponibles. En el
caso de que no sea posible, proponer otra opcin.
B) (1 pto) Indicar cuntos mdulos de memoria y de qu caractersticas seran necesarios para disear el
mapa de memoria, utilizando el menor nmero de pastillas posible.
C) (1.5 ptos) Realizar el diseo del mapa de memoria de modo que la memoria RAM ocupe las posiciones
inferiores de memoria y a continuacin est situada la memoria ROM. Dibujar el esquema del mapa de
memoria resultante.
Solucin:
A) El bus de direcciones tiene 32 lneas, 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 slo son necesarias 17 lneas, ya
que 217 = 128 Kpalabras.
Por otro lado, tambin 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 disear dicho mapa de memoria.
B)
Para la memoria RAM, se dispone de los siguientes mdulos de memoria:
2 Kpalabras 16 bits
32 Kpalabras 32 bits
64 Kpalabras 16 bits
Realizando los siguientes clculos:

Para la memoria ROM, se dispone de los siguientes mdulos de memoria:


16 Kpalabras 8 bits
16 Kpalabras 16 bits
64 Kpalabras 1 bit
Realizando los siguientes clculos:

Utilizando el menor nmero de mdulos posibles, el mapa de memoria quedara 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 disear el mapa de memoria, es preciso averiguar el nmero de lneas que se necesitan para direccionar
cada pastilla de memoria:
Mdulos RAM de 32 Kpalabras 32 bits:
32 Kpalabras 2n para direccionar 32 Kpalabras se necesitan n = 15 bits, es decir, las lneas A0..A14, para cada
una de las pastillas de memoria RAM.
Las pastillas de la ltima fila de memoria RAM no se utilizarn completamente, sino que slo ser preciso utilizar
las primeras 16 Kpalabras de dichos mdulos de memoria.
Mdulos ROM de 16 Kpalabras 16 bits:
16 Kpalabras 2n para direccionar 16 Kpalabras se necesitan n = 14 bits, es decir, las lneas A0..A13, para cada
una de las pastillas de memoria ROM.
En este caso se utilizan completamente todos los mdulos de memoria.
Adems, por el apartado A), sabemos que se necesitan 17 lneas para direccionar el primer Mbyte del mapa de
memoria propuesto. Por tanto, el mapa de memoria queda de la siguiente manera:

A continuacin 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. Adems, por simplicidad, se
han eliminado las lneas de lectura/escritura para la memoria RAM y la lnea de lectura para la memoria ROM.

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 3 puntos, las cuestiones tericas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima 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 64 palabras, siendo el tamao de la palabra de 2 bytes. Se sabe que el sistema de memoria cach
tiene asignada una funcin de correspondencia directa. Indicar cul de las siguientes direcciones provocara un
reemplazamiento del bloque de memoria cach ocupado por el bloque de memoria principal asociado a la
direccin 1712010.
A) 1715010
B) 8266810
C) 1737610 D) Ninguna de las anteriores.
2.- Considrese el esquema de interrupciones que se muestra en la siguiente figura. Se disponen de 8 niveles de
interrupcin donde el nivel ms prioritario es el 0 y el menos prioritario es el 7. En un determinado momento,
se encuentran activas las siguientes lneas de interrupcin: PI2 PI5 y PI6. El registro de mscara de
interrupciones Mi tiene valor 1 si la interrupcin no est enmascarada y 0 si s lo est. Suponiendo que el
sistema de enmascaramiento es tal que si una lnea de interrupcin est activa implica que cualquiera con la
misma prioridad o inferior ser enmascarada, cul es el contenido de los registros de estado y de mscara 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 disear un comparador de dos nmeros de 2n bits
que genere las funciones mayor que, menor que e igual que. Indicar cul de las siguientes ROM podra
emplearse.
A) 22n palabras 2 bits/palabra
C) 22n palabras 1 bit/palabra

B) 2n palabras 2 bits/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 ms significativos se corresponden con el cdigo de operacin y los restantes con
la direccin de memoria con la que se va a operar. Se dispone de los siguientes cdigos de operacin:
00011:
00101:
00110:

Cargar el registro acumulador desde memoria


Almacenar en memoria al contenido del registro acumulador
Sumar el contenido del registro acumulador y el de una direccin de
memoria dada, almacenando el resultado en el registro acumulador.
Indicar cul de los siguientes fragmentos de programa, en hexadecimal, realiza la operacin de sumar el
contenido de la direccin de memoria 30810 con el contenido de la direccin de memoria 67510 y almacena en
resultado en la direccin 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 cuntos elementos de memoria tipo J-K son necesarios para
implementarlo si se usa la tcnica de diseo 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 instruccin tiene dos operandos con un modo de direccionamiento directo a memoria. Indicar
si las siguientes afirmaciones son verdaderas o falsas.
I. La mxima memoria direccionable es 212 direcciones.
II. El tamao 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.
Cuestin 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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

Problema (Contestar el problema en lo que resta de folio, por detrs 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 perifrico 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-perifrico ante las diferentes tcnicas de entradasalida (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 interrupcin en la E/S mediante interrupciones consta de 20 instrucciones.

La rutina de inicializacin del DMA consta de 8 instrucciones. Y en cada operacin de escritura de un


dato en memoria el controlador ocupa el bus durante 500 ns.

Indicar el nmero 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 tamao de la palabra de 2 bytes. Se sabe que el sistema de memoria cach
tiene asignada una funcin de correspondencia directa. Indicar cul de las siguientes direcciones provocara un
reemplazamiento del bloque de memoria cach ocupado por el bloque de memoria principal asociado a la
direccin 1712010.
A) 1715010
B) 8266810
C) 1737610 D) Ninguna de las anteriores.
Solucin.
Vase el apartado 2.5.2 del libro de teora. Las direcciones de memoria principal tendrn una anchura de n = 20
bits, ya que el nmero total de palabras de sta es de 1024 K palabras = 220 palabras.
Como la cach utiliza correspondencia directa, una direccin 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
nmero 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 direccin 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
Opcin A) 17150 = 00000 100001011 111110. Est en el mismo bloque y tiene igual etiqueta, y por lo tanto no
implica reemplazamiento.
Opcin B) 82668 = 00010 100001011 101100. Tiene el mismo nmero de bloque y distinta etiqueta. Si se
hiciera una referencia a memoria, ste bloque sustituira al actual (el asociado al 17120).
Opcin C) 17376 = 00000 100001111 100000. Es otro bloque y no se corresponde con el ocupado por el
bloque asociado a la direccin 17120
Respuesta: B
2.- Considrese el esquema de interrupciones que se muestra en la siguiente figura. Se disponen de 8 niveles de
interrupcin donde el nivel ms prioritario es el 0 y el menos prioritario es el 7. En un determinado momento,
se encuentran activas las siguientes lneas de interrupcin: PI2 PI5 y PI6. El registro de mscara de
interrupciones Mi tiene valor 1 si la interrupcin no est enmascarada y 0 si s lo est. Suponiendo que el
sistema de enmascaramiento es tal que si una lnea de interrupcin est activa implica que cualquiera con la
misma prioridad o inferior ser enmascarada, cul es el contenido de los registros de estado y de mscara de
interrupciones, respectivamente?

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

Solucin.
De acuerdo con el enunciado, se tiene que PI0 = PI1 = PI3 = PI4 = PI7 = 0 y PI2 = PI5 = PI6 = 1.
Adems, de acuerdo con las especificaciones, estarn enmascaradas todas las interrupciones excepto PI0 y PI1,
por tanto, el contenido del registro de mscara 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 disear un comparador de dos nmeros de 2n bits
que genere las funciones mayor que, menor que e igual que. Indicar cul de las siguientes ROM podra
emplearse.
A) 22n palabras 2 bits/palabra
C) 22n palabras 1 bit/palabra

B) 2n palabras 2 bits/palabra
D) Ninguna de las anteriores.

Solucin.
En un caso general se necesitar una memoria ROM de un tamao mnimo de:
(2nm. entradas) palabras (nm. salidas) bits/palabra
En el caso del comparador propuesto el nmero de entradas es 2n + 2n = 4n, y el nmero de salidas es 3, por lo
que se necesitar una memoria ROM de un tamao mnimo 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 ms significativos se corresponden con el cdigo de operacin y los restantes con
la direccin de memoria con la que se va a operar. Se dispone de los siguientes cdigos de operacin:
00011:
00101:
00110:

Cargar el registro acumulador desde memoria


Almacenar en memoria al contenido del registro acumulador
Sumar el contenido del registro acumulador y el de una direccin de
memoria dada, almacenando el resultado en el registro acumulador.
Indicar cul de los siguientes fragmentos de programa, en hexadecimal, realiza la operacin de sumar el
contenido de la direccin de memoria 308 10 con el contenido de la direccin de memoria 67510 y almacena en
resultado en la direccin de memoria 30810.
A) 1934, 32A3, 2934

B) 3308, 6675, 5308

C) Los dos fragmentos anteriores son correctos.

D) Ninguna de los anteriores.

Solucin.
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 cdigo de operacin (5 bits) y direccin (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 opcin correcta es la A).
Respuesta A
5.- Dado el siguiente diagrama ASM, indicar cuntos elementos de memoria tipo J-K son necesarios para
implementarlo si se usa la tcnica de diseo 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.

Solucin.
En el libro de teora esta tcnica de diseo 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 sern
necesarios tres biestables tipo D para implementar la Unidad de Control por la tcnica de un elemento de
memoria por estado. Es posible implementar esta tcnica con otros tipos de biestables pero entonces es
necesario utilizar las tablas de transicin de estados y calcular las ecuaciones de entrada a los elementos de
memoria.
En el enunciado se desea implementar esta tcnica 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

Prximo estado

Q(t)

Q(t+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

Prximo estado

Q(t)

Q(t+1)

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 conclusin
puesto que se necesitan 3 biestables tipo D para implementar la Unidad de Control con la tcnica de un
elemento de memoria por estado, de forma equivalente se podra 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 instruccin tiene dos operandos con un modo de direccionamiento directo a memoria. Indicar
si las siguientes afirmaciones son verdaderas o falsas.
I. La mxima memoria direccionable es 212 direcciones.
II. El tamao 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.
Solucin.
Afirmacin I. Se tienen 12 instrucciones, por lo tanto para el cdigo de operacin se necesitan 4 bits, los 24
restantes se utilizan la mitad para cada operando:
27:24

23:12

11:0

CDIGO OPERACIN

OPERANDO1

OPERANDO2

En el direccionamiento directo la direccin de memoria a la que se quiere acceder est escrita en la propia

instruccin. Como en este caso, el campo que se puede utilizar para escribir una direccin de memoria tiene 12
bits, la mxima memoria direccionable son 212 posiciones. Luego la afirmacin I es verdadera.
Afirmacin II. El contador de programa guarda la direccin de memoria de la siguiente instruccin a ejecutar.
Por lo tanto, debe ser capaz de almacenar cualquier direccin de memoria. Por lo tanto debe tener un ancho de
12 bits. Luego la afirmacin 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 perifrico 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-perifrico ante las diferentes tcnicas de entradasalida (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 interrupcin en la E/S mediante interrupciones consta de 20 instrucciones.

La rutina de inicializacin del DMA consta de 8 instrucciones. Y en cada operacin 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 nmero 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.
Solucin.
El perifrico suministra 20000 bytes/s, por tanto enviar un dato cada 50 s. Como los bloques son de 1.024
bytes, una operacin de E/S durar:
50s / dato 1024 datos = 51.200 s.
E/S programada
El perifrico 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 estarn dedicadas a realizar el
muestreo sobre el perifrico.
La rutina de E/S programada consta de 10 instrucciones, pero el tiempo de ejecucin 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 podra haber realizado la CPU seran 512000.
Adems, 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 instruccin de otro proceso.
E/S mediante interrupciones
La rutina de interrupcin 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 podra dedicar tiempo a otros procesos.

El nmero 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 perifrico 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 inicializacin del controlador del DMA consta de 8 instrucciones, se puede aproximar el
clculo a los 512 s. que se corresponden con los robos de ciclo.
En ese tiempo, la CPU habr ejecutado 5120 instrucciones, que se correspondern 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

E/S mediante interrupciones

20480

491520

E/S mediante DMA

5120

506580

MATERIAL PERMITIDO: los libros Ingeniera de Computadores I, Problemas de Ingeniera de Computadores


I, Estructura y tecnologa de computadores y Problemas de estructura y tecnologa de computadores, ed. Sanz y
Torres, y calculadora no programable. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. La puntuacin del examen es la
siguiente: el test vale 3 puntos, las cuestiones tericas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntan 0.5 puntos y las respuestas errneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificacin mnima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
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.
Cuntos bits hay en los diferentes campos del formato de direccin? 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
interrupcin donde cada subndice hace referencia a un nivel de interrupcin. En la parte inferior de la figura, se
muestra la ejecucin de las rutinas de interrupcin en cada instante. Cada caja representa una duracin de 5 u.t.
Suponiendo que el tiempo de gestin de las interrupciones es despreciable, cul de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupcin ms prioritaria.
B) La duracin del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qu interrupcin es ms prioritaria entre INT y e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupcin.

3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Sealar
cul de las siguientes afirmaciones es correcta:
I

S0

I c0 , c3
S1
s0 0
s1 c2 , c3

s0 c1
S2

s1 c2 , c3

Figura 2. Diagrama de estados.

A) Puede realizarse la sntesis de la unidad de control empleando un registro


de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
B) Puede realizarse la sntesis de la unidad de control empleando un registro
de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
8 bits por palabra.
C) Las dos anteriores son correctas.
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 direccin en memoria y que se utiliza una instruccin con un valor en el campo de
direcciones (CD) = (00AB). La direccin final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a travs 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 disear un circuito combinacional, que sea un sumador de 1 nmero de 4 bits de longitud, 2
nmeros de tres bits de longitud y 2 nmeros de un bit de longitud, utilizando nicamente mdulos SBC. Cul
es el nmero mnimo de mdulos SBC necesarios?
A) 8
B) 7
C) 6
D) Ninguno de los anteriores.
6.- Un diseador de compiladores est intentando decidir entre dos secuencias de cdigo para una mquina en
particular. Los diseadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instruccin (CPI), para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaracin particular
de un lenguaje de alto nivel, el diseador del compilador est considerando las secuencias de cdigo que

requieren el nmero 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

Tabla 1. CPI instrucciones.

Clase de instruccin
A
B
C

CPI
1
2
3

C) 2 y 1.5

D) Ninguna de las anteriores.

Tabla 2. Nmero de instrucciones por tipo para cada secuencia.

Secuencia 1
Secuencia 2

NI A
2
4

NI B
1
1

NI C
2
1

NI Total
5
6

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


Cuestin 1 (1 punto): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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

Problema (Contestar el problema en lo que resta de folio, por detrs y si es necesario, un folio adicional):
Se dispone de una unidad de disco duro de brazo mvil con las siguientes caractersticas:
8 superficies, 120 pistas por superficie y 80 sectores por pista.
Sectores de 512 bytes de informacin neta.
Velocidad de rotacin de 1500 rpm.
El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilizacin de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabacin 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.
Cuntos bits hay en los diferentes campos del formato de direccin? 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.
Solucin.
Se tiene una memoria cach asociativa por conjuntos donde el nmero 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
direccin de una palabra de memoria necesita 25 bits. Como la memoria cach utiliza una correspondencia
asociativa por conjuntos, el formato de la direccin se divide en:

Bits de etiqueta (los ms significativos de la direccin).


Bits de conjunto (los centrales de la direccin)
Bits de palabra (los menos significativos de la direccin).

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
interrupcin donde cada subndice hace referencia a un nivel de interrupcin. En la parte inferior de la figura, se
muestra la ejecucin de las rutinas de interrupcin en cada instante. Cada caja representa una duracin de 5 u.t.
Suponiendo que el tiempo de gestin de las interrupciones es despreciable, cul de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupcin ms prioritaria.
B) La duracin del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qu interrupcin es ms prioritaria entre INTy e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupcin.

Solucin.
De acuerdo con el cronograma se puede hacer la siguiente asignacin:

La primera asignacin se debe a que en t = 0 la nica interrupcin que ha llegado es INTx.


En t = 10 u.t. llega la interrupcin INTy. Dado que INTx contina su ejecucin y no es interrumpida, podemos
asegurar que la prioridad de INTx es mayor que INTy. Adems, se cumple que la duracin del tratamiento de
INTx es de 15 u.t.
En t = 15 u.t. comienza a atenderse otra interrupcin, que slo puede ser INT y, que se ejecuta durante 10 u.t. En
t = 25 u.t. se produce otra interrupcin INTx. Con esto se ha demostrado que INTx es ms prioritaria, por lo que
se interrumpe la ejecucin de INTy e INTx pasa a ejecutarse.

En t = 35 u.t. llega otra interrupcin: INTz. Dado que INTx contina con su ejecucin, podemos asegurar que la
prioridad de INTx es mayor que la de INTz, y por tanto, INTx es la interrupcin ms prioritaria.
Con todo ello se puede establecer que la afirmacin A) es verdadera.
Una vez INTx finaliza, contina ejecutndose INTy. Por tanto, podemos garantizar que la prioridad de INT y es
mayor que INTz, y concluir que la afirmacin C) es falsa. La duracin 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 interrupcin ms prioritaria.
3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Sealar
cul de las siguientes afirmaciones es correcta:
I

S0

I c0 , c3
S1
s0 0
s1 c2 , c3

s0 c1
S2

s1 c2 , c3

Figura 3. Diagrama de estados.

A) Puede realizarse la sntesis de la unidad de control empleando un registro


de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
B) Puede realizarse la sntesis de la unidad de control empleando un registro
de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
8 bits por palabra.
C) Las dos anteriores son correctas.
D) Todas las anteriores son falsas.

Solucin.
El diagrama tiene:
3 estados, luego necesita n = 2 bits para su codificacin.
q = 3 entradas a la unidad de control: I, s0, s1
m = 4 salidas de la unidad de control: c0, c1, c2,c3
A) Diseando 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 diseo se muestra en la
Figura 3.

Figura 3. Diseo de la U.C. con ROM y registro

Figura 4. Diseo de la U.C. con el mtodo de seleccin por estado

B) Si se utiliza para el diseo el mtodo de seleccin por estado, se necesitara 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 diseo 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 sntesis 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 direccin en memoria y que se utiliza una instruccin con un valor en el campo de
direcciones (CD) = (00AB). La direccin final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a travs del registro R1 es respectivamente:
A) 00AB y 000A
B) 00A9 y 000B
C) 00AB y 00B5
D) Ninguna de las anteriores.
Solucin.
Direccionamiento indirecto: La direccin inicial se obtiene leyendo el contenido de la posicin de memoria
dada por el campo de direcciones de la instruccin: (CD) = 00AB. Como segn el enunciado, cada palabra
contiene un valor igual a su direccin en memoria, la indireccin (00AB) = 00AB. Por tanto, la direccin de
memoria a la que se accede es 00AB.
Direccionamiento indexado a travs del registro R1: En este caso, como ((CD)) = (00AB) = 00AB. La
direccin definitiva se calcula sumando el contenido del registro ndice con la direccin obtenida en la
indireccin: (R1) + 00AB = 000A+00AB = 00B5. La direccin de memoria a la que se accede en este caso es
00B5.
Respuesta: C) 00AB y 00B5
5.- Se desea disear un circuito combinacional, que sea un sumador de 1 nmero de 4 bits de longitud, 2
nmeros de tres bits de longitud y 2 nmeros de un bit de longitud, utilizando nicamente mdulos SBC. Cul
es el nmero mnimo de mdulos SBC necesarios?
A) 8
B) 7
C) 6
D) Ninguno de los anteriores.
Solucin.
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 notacin de puntos se muestra en la Figura 5 donde cada punto representa 1 bit
de la entrada, o de la salida.

Figura 5. Notacin de puntos de un SBC

En la Figura 6 se muestra la suma de los nmeros indicados en la cuestin mediante notacin de puntos y
haciendo uso de los SBCs necesarios. Como se puede observar son necesarios 7 SBCs como mnimo.

Figura 6. Reduccin mediante un rbol de Wallace

Respuesta: B: 7 mdulos SBCs


6.- Un diseador de compiladores est intentando decidir entre dos secuencias de cdigo para una mquina en
particular. Los diseadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instruccin, para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaracin particular de un
lenguaje de alto nivel, el diseador del compilador est considerando las secuencias de cdigo que requieren el
nmero 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

Tabla 3. CPI instrucciones.

Clase de instruccin
A
B
C

CPI
1
2
3

C) 2 y 1.5

D) Ninguna de las anteriores.

Tabla 4. Nmero de instrucciones por tipo para cada secuencia.

Secuencia 1
Secuencia 2

NI A
2
4

NI B
1
1

NI C
2
1

NI Total
5
6

Solucin.
Para cada secuencia calculamos el CPI como la media de los CPI ponderada por el nmero 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 + 13) / 6 = 1.5
Respuesta: C) 2 y 1.5

Problema
Se dispone de una unidad de disco duro de brazo mvil con las siguientes caractersticas:
8 superficies, 120 pistas por superficie y 80 sectores por pista.
Sectores de 512 bytes de informacin neta.
Velocidad de rotacin de 1500 rpm.
El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilizacin de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabacin 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).
Solucin.
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

Dlineal

80 sec t 512 bytes / sec t 8 bits / byte 327680 bits

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 bsqueda 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

Вам также может понравиться