Está en la página 1de 25

MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y

tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.


INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones
teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del
test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para
superarlo (con 4 preguntas correctas se supera).
Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.
1.- Un computador con 15 líneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en
memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno de ellos
utiliza 8 direcciones?
A) 213 B) 210 C) 212 D) Ninguna de las anteriores.
2.- Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4 ciclos máquina en
ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción
de 100 ns. Este procesador se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través
del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que
ejecuta 20 instrucciones. Teniendo en cuenta que 1 Mbyte = 106 bytes, la capacidad de entrada de datos (ancho
de banda) máxima en Mbytes/s a través del sistema de interrupciones es:
A) 8 Mbytes/s B) 12 Mbytes/s C) 16 Mbytes/s D) Ninguna de las anteriores.

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

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

¿Qué rango de direccionamiento tiene cuando realiza un direccionamiento indexado a través de registros?
A) Desde 0 hasta 16383 B) Desde 0 hasta 16638 C) Desde 0 hasta 8192 D) Ninguna de las anteriores.
4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria
común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos,
dirección y control durante 20 ns. Durante los 80 ns siguientes, el módulo de memoria seleccionado completa el
ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden
solaparse, pero sólo puede haber una petición en un instante de tiempo. La velocidad máxima de transferencia
cuando el número de módulos N es mayor que 4 es:
A) 0,05 palabras/ns B) 0,03 palabras/ns C) 0,07 palabras/ns D) Ninguna de las anteriores.
5.- Se considera un procesador que dispone de 16 líneas de direcciones A15 - A0. Para la construcción de su
unidad de memoria se dispone de módulos de 8K palabras, utilizándose las líneas más significativas (A15 - A13)
para la selección de cada módulo. En el mapa de memoria, la dirección base (o primera dirección) del módulo
número 5 en notación hexadecimal es:
A) 8000 B) A000 C) 8FFF D) Ninguna de las anteriores.

Nota: Los sucesivos módulos de memoria se comienzan a numerar desde el módulo 0 que corresponde a las
direcciones más bajas de memoria.
6.- Indique cuantos módulos de memoria ROM de 23n palabras × 1 bit/palabra serán necesarios para diseñar un
circuito combinacional que sume dos números de 3n bits cada uno:
A) 23n+1 × 3n B) 26n × 3n C) 23n × (3n + 1) D) Ninguna de las anteriores.

7.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 256 estados, que genere
200 señales de control totalmente independientes y que reciba 10 señales de condición, aunque en cada estado
va a ser consultada como máximo una de ellas. Si la memoria ROM usada tiene un coste de 1 euro/Kbit indicar
si las siguientes afirmaciones son verdaderas o falsas:
I. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros.
II. Si se utiliza un diseño con selección por campo el coste de la ROM es superior a 100 euros.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 32 bits.
La parte de control del formato de una microinstrucción emplea 14 bits para seleccionar independientemente
las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de
bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de
condición de las 16 señales disponibles. ¿Cuál es el tamaño máximo de la memoria de control?
A) 216 palabras B) 220 palabras C) 242 palabras D) 212 palabras

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


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

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

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

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


Sea el siguiente algoritmo:
1: Declaración de registros A [5], B [3], R [5];
2: Declaración de buses A) (1 pto) Si inicialmente en A se carga el valor
00001 y en B se carga el valor 100 ¿Cuál es el
Bus-Entrada [5], Bus-Salida [5];
valor de R al finalizar el algoritmo? ¿Qué
3: Inicio: A Bus-Entrada; número binario operación realiza este algoritmo?.
4: B Bus-Entrada; número binario B) (1,5 ptos) Diseñar la Unidad de Procesamiento
5: Bucle: A A ×B; y la Unidad de Control que realiza este algoritmo.
6: B B - 1; C) (1,5 ptos) Especificar el diagrama de flujo que
7: if B 1 then go to Bucle; realice el algoritmo, el diagrama de estados de la
Unidad de Control y las acciones que tiene que
8: R A;
efectuar cuando se encuentra en cada uno.
9: Bus-salida R;
10: Parar;
SOLUCIONES

1.- Un computador con 15 líneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en
memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno de ellos
utiliza 8 direcciones?
A) 213 B) 210 C) 212 D) Ninguna de las anteriores.

Solución

Un computador con las 15 líneas de direcciones puede direccionar 215 direcciones de memoria distintas. No
obstante, como la memoria ocupa 3213 de estas direcciones, quedan libres 215- (3213 ) = 213 direcciones para
gestionar la E/S.
Como cada periférico utiliza 8 (23) de estas direcciones, es posible conectar un máximo de 213/23 = 210
periféricos.
Respuesta: B (210)

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

Solución

A partir de la frecuencia del procesador se calcula el tiempo de ciclo (tc) del mismo, que es la inversa de dicha
frecuencia. Por tanto con una frecuencia de 200 MHz, se tiene un tc = 5 ns.
El tiempo que dura una operación de E/S por interrupción (tint) es la suma del tiempo que se emplea en el
reconocimiento de la interrupción (100 ns) más el tiempo empleado en ejecutar la rutina que gestiona dicha
interrupción. Esta rutina consta de 20 instrucciones, cada una de ellas de 4 ciclos y sabemos que el tiempo
empleado por ciclo es de 5 ns. Por tanto, el tiempo de una operación de E/S por interrupción es el siguiente:
tint = 100 ns + (20 instrucciones × 4 ciclos/instrucción × 5 ns/ciclo) = 500 ns

Durante este tiempo se transmiten 8 bytes, por lo que el ancho de banda (bytes/s) a través del sistema de
interrupciones será el número de bytes transmitido entre el tiempo que se tarda en transmitir:
Ancho de banda = 8 bytes / (500 × 10-9 s ) = 16 × 106 bytes/s = 16 Mbytes/s

Respuesta: C (16 Mbytes/s)

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

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

¿Qué rango de direccionamiento tiene cuando realiza un direccionamiento indexado a través de registros?
A) Desde 0 hasta 16383 B) Desde 0 hasta 16638 C) Desde 0 hasta 8192 D) Ninguna de las anteriores.

Solución

La dirección efectiva en un direccionamiento indexado a través de registros se obtiene como la suma de una
dirección base de memoria contenida en el campo de dirección de la instrucción y un desplazamiento,
contenido en el registro índice. Como los registros son de 8 bits, con ellos se puede referenciar desde 0 hasta
255 (28-1), y como el campo de dirección base es de 14 bits se puede representar desde 0 hasta 16383 (214-1).
Por tanto, el rango de direccionamiento va desde 0 (= 0+0) hasta 16638 (= 255 + 16383).

Respuesta: B (Desde 0 hasta 16638)

4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria


común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos,
dirección y control durante 20 ns. Durante los 80 ns siguientes, el módulo de memoria seleccionado completa el
ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden
solaparse, pero sólo puede haber una petición en un instante de tiempo. La velocidad máxima de transferencia
cuando el número de módulos N es mayor que 4 es:
A) 0,05 palabras/ns B) 0,03 palabras/ns C) 0,07 palabras/ns D) Ninguna de las anteriores

Solución

El ciclo de escritura de los módulos de memoria se muestra gráficamente en la siguiente figura.


Control
Dirección
Almacenamiento del dato
Datos

20 nseg 80 nseg
Ciclo de escritura de los módulos de memoria

El tiempo de ciclo de escritura es tc = 100 ns. El módulo de memoria usa el bus en exclusiva durante los
primeros 20 ns del ciclo, mientras que durante los restantes 80 ns cualquier otro módulo puede hacer uso del
bus. Si se considera que los ciclos de escritura se solapan al máximo, en la siguiente figura se muestra la
situación correspondiente a las operaciones de escritura cuando se tienen 5, 6 y 7 módulos.
Módulos 100 nseg

1
2
3
4
5

1 2 3 4 5 6 7 8 9 10 11 12 13
(20 nseg)
Vmax = 5 palabras / 100 nseg = 0.05 palabras/nseg

Módulos 120 nseg

1
2
3
4
5
6
1 2 3 4 5 6 7 8 9 10 11 12 13
(20 nseg)
Vmax = 6 palabras / 120 nseg = 0.05 palabras/nseg

Módulos 140 nseg

1
2
3
4
5
6
7
1 2 3 4 5 6 7 8 9 10 11 12 13
(20 nseg)
Vmax = 7 palabras / 140 nseg = 0.05 palabras/nseg
Operaciones de escritura con 5, 6 y 7 módulos

Como se puede observar, cuando se tienen 5 módulos todos están continuamente activos. Con 6 módulos cada
módulo está “ocioso” durante (120 - tc) ns después de cada operación de escritura. Mientras que con 7 módulos
el tiempo “ocioso” de cada módulo es de (140 - tc). Sin embargo, la velocidad de transferencia sigue siendo la
misma en los tres casos. Con 5 módulos cada 100 ns comienzan (o finalizan) 5 operaciones de escritura. Con 6
y 7 módulos cada 120 ns y 140 ns comienzan (o finalizan) 6 ó 7 operaciones de escritura respectivamente. Por
ello, las velocidades máximas con 5, 6 y 7 módulos es:
5
Vmax 5  palabras / ns  0,05 palabras / ns
100
6
Vmax 6  palabras / ns  0,05 palabras / ns
120
7
Vmax 7  palabras / ns  0,05 palabras / ns
140
Generalizando el resultado a N módulos (con N mayor que 4), la velocidad máxima de transferencia viene dada
por:
N
Vmax N  palabras / ns  0,05 palabras / ns
N  20

Respuesta: A (0,05 palabras/ns)

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

Nota: Los sucesivos módulos de memoria se comienzan a numerar desde el módulo 0 que corresponde a las
direcciones más bajas de memoria.

Solución

La dirección base de un módulo es la dirección de memoria principal que hay que emplear para acceder a la
primera posición de dicho módulo. En este caso concreto las sucesivas direcciones base de cada módulo las
generaremos con valores sucesivos de los bits A15 - A13, que son los empleados para seleccionar cada módulo, y
el resto de los bits de la dirección, A12 -A0, con el valor cero. Una vez generada la codificación, para dar la
dirección base en hexadecimal se agrupan los bits de la dirección de 4 en 4 y se codifican.
En la tabla siguiente se muestra el resultado.

Dirección base en binario Dir. base en


A15 A14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A hexadecimal
0
Módulo 0 00000000000000000000 0000
Módulo 1 00100000000000000000 2000
Módulo 2 01000000000000000000 4000
Módulo 3 01100000000000000000 6000
Módulo 4 10000000000000000000 8000
Módulo 5 10100000000000000000 A000
Módulo 6 11000000000000000000 C000
Módulo 7 11100000000000000000 E000

Respuesta: B (A000).

6.- Indique cuantos módulos de memoria ROM de 23n palabras × 1 bit/palabra serán necesarios para diseñar un
circuito combinacional que sume dos números de 3n bits cada uno:
A) 23n+1 × 3n B) 26n × 3n C) 23n × (3n + 1) D) Ninguna de las anteriores.
Solución

El número de módulos se calcula teniendo en cuenta que la memoria ROM resultante deberá tener 3n + 3n = 6n
líneas de dirección, es decir 26n palabras. El resultado de sumar dos números de 3n bits cada uno es un número
de 3n + 1 bits, por lo que cada palabra de la memoria ROM resultante deberá tener 3n + 1 bits.

Como consecuencia la memoria ROM resultante debe tener una capacidad total de: 26n palabras × (3n + 1)
bits/palabra.

Ahora bien, como dicha memoria debe construirse usando módulos de 23n palabras × 1 bit/palabra, es preciso
emplear un total de:

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


23n × (3n + 1) módulos

Respuesta: C (23n × (3n + 1) módulos)

7.- Haciendo uso de una memoria ROM, se desea diseñar una Unidad de Control con 256 estados, que genere
200 señales de control totalmente independientes y que reciba 10 señales de condición, aunque en cada estado
va a ser consultada como máximo una de ellas. Si la memoria ROM usada tiene un coste de 1 euro/Kbit indicar
si las siguientes afirmaciones son verdaderas o falsas:
I. Si se utiliza un diseño con selección por estado el coste de la ROM es inferior a 100 euros.
II. Si se utiliza un diseño con selección por campo el coste de la ROM es superior a 100 euros.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

[Ver la página 307 y ss. del texto de teoría.] Para codificar los 256 estados hacen falta 8 bits. Las 200 señales de
control, al ser totalmente independientes, no pueden ser codificadas. De las 10 señales de condición sólo se
consulta, a lo sumo, una de ellas, por lo que la salida del multiplexor será de un único bit.

Harán falta, por tanto, 8 + 1 = 9 bits para seleccionar una palabra de la memoria ROM, cuya capacidad será de
29 = 512 palabras.

I. Al tratarse de un diseño con selección por estado, cada palabra de la memoria ROM tendrá dos campos: uno
de 8 bits para el estado presente y otro de 200 bits para las señales de control. El ancho de palabra será por
tanto de 200 + 8 = 208 bits.

La capacidad de la memoria ROM es por tanto de 512 palabras × 208 bits/palabra = 106496 bits =106,5 Kbits.
Y por consiguiente su coste será de 106,5 euros, lo que implica que la afirmación es falsa.

II. Al tratarse de un diseño de selección por campo, cada palabra de la memoria tendrá tres campos: uno de
selección de 4 bits (24 = 16 para las 10 señales de condición), uno de estado presente de 8 bits (puesto que hay
256 estados) y otro de 200 bits para las señales de control. El ancho de palabra será de 200 + 8 + 4 = 212 bits.
Por tanto, la capacidad de la memoria ROM es ahora de 512 palabras × 212 bits/palabra = 108544 bits. Su coste
será de 108,5 euros, lo que implica que la afirmación es verdadera.

Respuesta: C ( I: no, II: sí)

8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 32 bits.


La parte de control del formato de una microinstrucción emplea 14 bits para seleccionar independientemente
las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de
bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de
condición de las 16 señales disponibles. ¿Cuál es el tamaño máximo de la memoria de control?
16
A) 2 palabras B) 220 palabras C) 242 palabras D) 212 palabras
Solución
[Véase el Problema 7.2 del libro de problemas]. La microinstrucción tiene 32 bits de longitud, de los cuales 14
bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 4 (24 = 16)
para seleccionar una única señal de condición. Por lo tanto, para la dirección quedan disponibles 32 – 14 – 2 -4
= 12 bits. De esta forma, el tamaño máximo de la memoria de control es 212 palabras.

Respuesta: D (212 palabras)

PROBLEMA

Sea el siguiente algoritmo:


1: Declaración de registros A [5], B [3], R [5];
2: Declaración de buses A) (1 pto) Si inicialmente en A se carga el valor
00001 y en B se carga el valor 100 ¿Cuál es el
Bus-Entrada [5], Bus-Salida [5];
valor de R al finalizar el algoritmo? ¿Qué
3: Inicio: A Bus-Entrada; número binario operación realiza este algoritmo?.
4: B Bus-Entrada; número binario B) (1,5 ptos) Diseñar la Unidad de Procesamiento
5: Bucle: A A ×B; y la Unidad de Control que realiza este algoritmo.
6: B B - 1; C) (1,5 ptos) Especificar el diagrama de flujo que
7: if B 1 then go to Bucle; realice el algoritmo, el diagrama de estados de la
Unidad de Control y las acciones que tiene que
8: R A;
efectuar cuando se encuentra en cada uno.
9: Bus-salida R;
10: Parar;

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

Nº Instrucción A B R
3: A Bus-Entrada; 00001 -- --
4: B Bus-Entrada; 00001 100 --
5: A A × B; 00100 100 --
6: B B – 1; 00100 011 --
7: if B  1 then go to Bucle; 00100 011 --
5: A A  B; 01100 011 --
6: B B – 1; 01100 010 --
7: if B  1 then go to Bucle; 01100 010 --
5: A A  B; 11000 010 --
6: B B – 1; 11000 001 --
7: if B 1 then go to Bucle; 11000 001 --
8: R A; 11000 001 11000
Evolución de los registros al ejecutarse el algoritmo

Como se puede observar el valor almacenado en el registro R tras la ejecución del algoritmo es 11000 (24 en
decimal).
Analizando el algoritmo se puede ver que la operación que se efectúa es el factorial de B, tal y como se
muestra en la siguiente expresión:
B 1

 ( B  i)  B  ( B  1)  ( B  2)  ...  1  B!
i 0

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

 ( B  i)  4  (4  1)  (4  2)  (4  3)  4! 24
i 0

B) Para el diseño de la Unidad de Procesamiento se necesita: 1 registro A de 5 bits, 1 registro B de 3 bits, 1


registro R de 5 bits, 1 Bus de entrada de 5 bits de longitud y 1 Bus de salida de 5 bits de longitud, además
de algunos otros elementos auxiliares como multiplexores. .
Como la Unidad de Procesamiento necesita realizar dos tipos de operaciones (resta y multiplicación), se va
disponer de una Unidad Aritmético Lógica (ALU) como la mostrada en la siguiente figura donde con 1
señal de control se selecciona el modo de funcionamiento necesario siguiendo el esquema de la siguiente
tabla.

Operación Entradas de selección


E0
X Y 0
X-Y 1
Operaciones de la ALU

5 3
X Y
ALU E0

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

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

0 1 0 1
MUX 1 c0 MUX 2 c1

A B R c2

0 1
c3 MUX 3
3
5 s0 (B 1
1

X Y
ALU E0 c4

DEMUX c5
c6
0 1

5
Bus de Salida

Unidad de
Procesamiento
c0
I (Inicio) Circuito c1
Fin d
Reloj Control c6
Unidad de
Control
En la siguiente tabla se describen las operaciones que gobiernan cada una de las señales de control mostradas
en la figura anterior:
Señal de Operación controlada
Control
c0 Selección del multiplexor 1: Bus-Entrada / DEMUX
c1 Selección del multiplexor 2: Bus-Entrada / DEMUX
c2 Cargar R desde A (R  A)
c3 Selección del multiplexor 3: 1 / A
c4 Selección de la operación de la ALU
c5 Selección del demultiplexor (salida de la ALU hacia A ó B)
c6 Transferir R al Bus de Salida
C) En la siguiente figura se muestra el diagrama de flujo del algoritmo y el diagrama de estados asociados a la Unidad de
Control. Y en la Tabla posterior se dan las acciones tomadas en cada uno de los estados con las señales de control que
hay que activar.

S0

S1
A 0 0 0 0 1
B 1 0 0

S2
A A × B

B B - 1
S3 s0 (B 

s
¿B 1?
S4
no

s0 ( B = 1)
R A

S5

Bus de SalidaR

S6

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

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar
S0 A 00001 c0
S1 B 100 c1
S2 A A× B c4
S3 B B - 1 c3, c5
S4 --- ---
S5 R A c2
S6 Bus-salida  R c6
Parar
Acciones tomadas por la Unidad de Control
MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y
tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones
teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas
del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para
superarlo (con 4 preguntas correctas se supera).
Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es C

1.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando
la CPU dispone en exclusiva del bus, las instrucciones emplean en promedio, 4 ciclos de reloj en ser
ejecutadas, aunque en 2 de ellos no se requiere el acceso al bus. El controlador de DMA tarda 1 ciclo de reloj en
transmitir una palabra. Si la frecuencia de reloj del computador es de 107 ciclos/s, ¿cuánto tiempo tardará el
controlador de DMA en mover un bloque de datos compuesto por 107palabras?
A) 0,5s B) 1s C) 2s D) Ninguna de las anteriores.
2.- Una unidad de control microprogramada con direccionamiento explícito con dos direcciones por
microinstrucción y microprogramación horizontal tiene una memoria de control con 2K palabras32
bits/palabra de capacidad. Indicar el número máximo de puntos de control en la ruta de datos asociada.
A) 10 B) 12 C) 22 D) Ninguna de las anteriores.
3.- Una memoria caché asociativa por conjuntos consta de 16 conjuntos con 4 bloques por conjunto. La
memoria principal tiene una capacidad de 1M (220) palabras dividida en bloques de 128 palabras. A la dirección
de memoria principal, expresada en binario, 10100001100100110000, le corresponde el conjunto, expresado en
decimal:
A) 7 B) 3 C) 2 D) Ninguna de las anteriores.
4.- Se dispone de un bus síncrono que tiene un tiempo de ciclo de 50 ns y cada transacción del bus requiere un
ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 líneas. Si la memoria tiene
200 ns de tiempo de acceso, el ancho de banda en el proceso de lectura de dicha memoria es de:
A) 10,5 Mbytes/s B) 20,2 Mbytes/s C) 13,3 Mbytes/s D) Ninguna de las anteriores.
5.- Sea una CPU con 4 líneas de interrupción PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es
decir, PI1 tiene la prioridad mínima y PI4 la máxima. Se supone que se producen 4 peticiones de interrupción
en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente
mientras se está ejecutando el programa de servicio de PI3, si el sistema no permite anidamiento de
interrupciones, el orden en que se tratan las interrupciones es:
A) PI3, PI2, PI4 y PI1 B) PI3, PI4, PI2 y PI1 C) PI3, PI1, PI2 y PI4 D) Ninguna de las anteriores.
6.- ¿Cuántos sumadores binarios completos de 1 bit (SBC’s) harían falta para construir un sumador binario
paralelo de 2n bits?
A) n B) 2n C) log2 n D) Ninguna de las anteriores.
7.- En la figura se muestra la tabla de transición de estados de un circuito secuencial síncrono con dos estados y
dos entradas (x, y), donde Q es la variable de estado necesaria para la representación de los dos estados. Si el
circuito se diseña empleando un elemento de memoria tipo D, indicar cuál de las siguientes expresiones de
entrada al elemento de memoria es correcta:
Estado presente Próximo Estado
Q xy xy xy xy A) D  Q  x  y  Q  x  y
B) D  Q   y  x   x  y
0 0 0 1 0 C) D  Q  x  y
1 1 0 1 1 D) Todas las afirmaciones anteriores son falsas.
8.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué expresión calcula la
secuencia de instrucciones: Push M[C]; Push M[D]; Mult; Push M[C]; Push M[D]; Mult; Add; Pop M[A]?
A) A = (C+D)  2 B) A = (C+D+D)  C C) A = 2  (CD) D) Ninguna de las anteriores.

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


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

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

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

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


El siguiente algoritmo describe una operación que se realiza en un sistema digital:
1: Declaración de registros A, B, C;
2: Inicio: A Entrada1;
3: B Entrada2;
4: C Entrada3;
5: Bucle: if (C > 0) then go to Operar;
6: else go to Final;
7: Operar: A A + B;
8: C C - 1;
9: go to Bucle;
10: Final: if (A > 25) then Salida A;
11: go to Final;
A) (2 ptos) Obtener su diagrama ASM.
B) (2 ptos) Diseñar una ruta de datos o unidad de procesamiento para este algoritmo.
SOLUCIONES
1.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando
la CPU dispone en exclusiva del bus, las instrucciones emplean en promedio, 4 ciclos de reloj en ser
ejecutadas, aunque en 2 de ellos no se requiere el acceso al bus. El controlador de DMA tarda 1 ciclo de reloj en
transmitir una palabra. Si la frecuencia de reloj del computador es de 107 ciclos/s, ¿cuánto tiempo tardará el
controlador de DMA en mover un bloque de datos compuesto por 107palabras?
A) 0,5s B) 1s C) 2s D) Ninguna de las anteriores.

Solución

En la estrategia de DMA transparente no se produce ninguna interferencia entre el controlador de DMA y la


CPU. El controlador de DMA aprovecha los ciclos de reloj en los que la CPU no utiliza el bus para realizar la
transmisión.
Según el enunciado del problema, el controlador de DMA transmite una palabra durante los 2 ciclos de reloj en
los que la CPU no utiliza el bus cuando ejecuta una instrucción. Por tanto, en los 4 ciclos de reloj que tarda la
CPU en ejecutar una instrucción, el controlador de DMA transmite 2 palabras.
La velocidad de transferencia resultante, si el reloj del computador tiene una frecuencia de 107 ciclos/s, es de:
(107 ciclos/s) (2/4 palabras/ciclo) = 0,5107 palabras/s
Con esta velocidad de transferencia, para mover un bloque de 106 palabras el controlador de DMA tardará:
(107 palabras) / (0,5107 palabras/s) = 2 s
Respuesta: C

2.- Una unidad de control microprogramada con direccionamiento explícito con dos direcciones por
microinstrucción y microprogramación horizontal tiene una memoria de control con 2K palabras32
bits/palabra de capacidad. Indicar el número máximo de puntos de control en la ruta de datos asociada.
A) 10 B) 12 C) 22 D) Ninguna de las anteriores.

Solución

[Ver el apartado 7.2.3 y 7.2.4 del texto base de teoría].


La memoria de control almacenará las posibles microinstrucciones que se pueden ejecutar en el sistema, la
anchura de esta memoria y por tanto de una microinstrucción según el enunciado es de 32 bits.

Por otra parte puesto que hay 2 Kpalabras, el número de bits necesarios para codificar una dirección de esta
memoria de control es 10, ya que 2 K= 211. Luego como se utiliza un direccionamiento explícito con dos
direcciones por microinstrucción se requieren 2 11=22 bits para especificar ambas direcciones.

Como la anchura de una microinstrucción es de 32 bits, eso significa que se utilizan 10 bits (32-22) = 10 para el
campo de control. Es decir, la estructura de la microinstrucción sería:

Control: 10 bits Dirección 1: 11 bits Dirección 2: 11 bits

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

Respuesta A

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

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

Respuesta: C

4.- Se dispone de un bus síncrono que tiene un tiempo de ciclo de 50 ns y cada transacción del bus requiere un
ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 líneas. Si la memoria tiene
200 ns de tiempo de acceso, el ancho de banda en el proceso de lectura de dicha memoria es de:
A) 10,5 Mbytes/s B) 20,2 Mbytes/s C) 13,3 Mbytes/s D) Ninguna de las anteriores.

Solución

En la figura siguiente se muestra el cronograma correspondiente al proceso de escritura utilizando el bus


síncrono:

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

Reloj

Dirección

Tiempo de acceso a memoria = 200 ns

Datos

R/W

Cronograma del proceso de lectura con bus síncrono

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

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

Solución

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

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

Solución

Como la longitud de palabra es de 2n bits y se trata de implementar un sumador binario paralelo serán
necesarios 2n SBC’s (1 por cada bit) [ver apartado 4.1.4 y Figura 4.10 del libro de texto - página 194].

Respuesta: B

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

Estado presente Próximo Estado


Q xy xy xy xy A) D  Q  x  y  Q  x  y
B) D  Q   y  x   x  y
0 0 0 1 0 C) D  Q  x  y
1 1 0 1 1 D) Todas las afirmaciones anteriores son falsas.

Solución

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

Respuesta B

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

Solución

[Ver apartado 6.1.4 del texto base de teoría y el problema 6-4 del libro de problemas]. La evolución del
contenido de la pila según se van ejecutando las instrucciones se muestra a continuación:

Contenido de la pila
Push M [C]; C
Push M[D]; C, D
Mult CD
Push M[C]; CD, C
Push M[D]; CD, C, D
Mult; CD, CD
Add; (CD)+ (CD)
Pop M[A];

Respuesta: C
PROBLEM,A

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


1: Declaración de registros A, B, C;
2: Inicio: A Entrada1;
3: B Entrada2;
4: C Entrada3;
5: Bucle: if (C > 0) then go to Operar;
6: else go to Final;
7: Operar: A A + B;
8: C C - 1;
9: go to Bucle;
10: Final: if (A > 25) then Salida A;
11: go to Final;
A) (2 ptos) Obtener su diagrama ASM.
B) (2 ptos) Diseñar una ruta de datos para este algoritmo.

Solución

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

Figura 1: Diagrama ASM para el algoritmo propuesto.

En la Figura 2 se muestra la Unidad de Procesamiento propuesta para este algoritmo. Con relación a esta
arquitectura se pueden realizar los siguientes comentarios:
 Se dispone de tres registros A, B y Salida que se cargan con las señales de control c1, c2 y c3
respectivamente.
 Se dispone de un Contador C, que se carga con la señal c4 y se puede decrementar en uno activando la
señal c5.
 La señal de selección del multiplexor, c6, sirve para cargar en A el valor de Entrada1 o la salida del
sumador.
 El sumador genera una señal MayorA25 en caso de que el valor contenido en A sea mayor que 25.
 El Contador C genera una señal zeroC cuando su valor sea cero.

Entrada 1
Entrada 3

MUX c6 c4
c2
Entrada 2 c5 Contador C

zeroC

Registro A c1 c2
Registro B

Sumador MayorA25 Salida c3

Figura 2: Ruta de datos para el algoritmo propuesto


MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y
tecnología de computadores”, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRÉGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura óptica. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones
teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del
test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para
superarlo (con 4 preguntas correctas se supera).
Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.
1.- Se dispone de un computador que emplea dos niveles de memoria caché y una memoria principal. Los
tiempos medios de acceso a la memoria caché de primer nivel, a la de segundo nivel y a la memoria principal
son de 4 ns, 10 ns y 122 ns respectivamente. La tasa de acierto de la memoria caché de primer nivel es 0,9 y la
tasa de acierto combinada de ambas cachés es 0,8. Calcular el tiempo de acceso medio al sistema conjunto de
memoria.
A) 24,4 ns B) 29 ns C) 32,6 ns D) Ninguna de las anteriores.
2.- En un computador que funciona a una velocidad de 105 ciclos/s, una instrucción emplea, en promedio, 5
ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador
de DMA que emplea 2 ciclos en la transferencia de una palabra.
I. Utilizando DMA transparente, la máxima velocidad de transferencia de datos es de 20.000 palabras/s.
II. Empleando DMA por robo de ciclos, la máxima velocidad de transferencia de datos es superior a 15.000
palabras/s.

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Se desea diseñar un circuito sumador/restador de dos números binarios sin signo de n bits cada uno
utilizando una memoria ROM. Una señal de control indica el tipo de operación a realizar. El tamaño mínimo de
la memoria ROM será de:
A) 22n+1 × 2n B) 22n × 4 C) 2n+1 × 2n D) Ninguna de las anteriores.
4.- La CPU de un computador ejecuta instrucciones de 32 bits de longitud. Si el bus tiene una anchura de 8
líneas de datos y 16 de dirección, indicar cual es la respuesta correcta:
A) La CPU deberá acceder a la memoria 4 veces para ejecutar cada instrucción.
B) La CPU accederá a la memoria 2 veces para ejecutar cada instrucción.
C) El número de accesos a memoria depende de cuantas líneas de control tenga el bus.
D) Ninguna de las respuestas anteriores es correcta.
5.- En el diseño de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor,
empleando el método de selección por campo, y siendo posible consultar en cada estado una única condición de
las 12 existentes, es necesario que el registro tenga una capacidad de:
A) 5 bits. B) 10 bits. C) Faltan datos para calcularlo. D) Ninguna de las anteriores.
6.- El formato de instrucción de un procesador utiliza 6 bits para el código de operación y 14 bits para el campo
de dirección. Considerando que el procesador tiene 8 registros de 8 bits cada uno para uso general, ¿cuántos
campos y de cuántos bits cada uno es necesario añadir al formato de instrucción inicial para poder realizar un
direccionamiento indexado a través de registros?
A) 1 campo de 3 bits. B) 2 campos de 3 bits. C) 1 campo de 2 bits. D) Ninguna de las anteriores.
7.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10
bits para la dirección del operando. Indicar cuál es la codificación en binario de una instrucción de bifurcación,
con direccionamiento relativo al contador de programa, almacenada en la posición 500 (en decimal), que
origina un salto a la posición 590 (en decimal), cuyo código de operación es 1110011:
A) 1110111110100101 B) 1110110001011010 C) 0000110001011010 D) Ninguna de las anteriores.
8.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posición de conexión de los dispositivos a la línea de arbitraje determina la prioridad de aquellos en el
uso del bus.
II. El uso del bus por un dispositivo se interrumpe cuando otro dispositivo con mayor prioridad solicita el
uso del bus.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

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


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

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

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

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


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

A) (1 pto) ¿Cuál será el formato de instrucción y el número de bits necesarios para poder direccionar 16.384
posiciones de memoria directamente?
B) (1 pto) Si la palabra de memoria es de 32 bits, ¿cuántas posiciones de memoria se podrán direccionar
utilizando direccionamiento indirecto?
C) (1 pto) Considerando que el microprocesador tiene 8 registros de 8 bits cada uno para uso general, ¿qué
campo y con cuántos bits es necesario añadir al formato de instrucción del apartado A) para poder realizar
un direccionamiento indexado a través de registros?
D) (0,5 ptos) ¿Cuál será el rango de direccionamiento en este último caso?
E) (0,5 ptos) Al llevarse a cabo una operación de entrada/salida, ¿cuál será el tiempo máximo para que el
procesador reconozca una interrupción?
SOLUCIÓN

TEST

1.- Se dispone de un computador que emplea dos niveles de memoria caché y una memoria principal. Los
tiempos medios de acceso a la memoria caché de primer nivel, a la de segundo nivel y a la memoria principal
son de 4 ns, 10 ns y 122 ns respectivamente. La tasa de acierto de la memoria caché de primer nivel es 0,9 y la
tasa de acierto combinada de ambas cachés es 0,8. Calcular el tiempo de acceso medio al sistema conjunto de
memoria.
A) 24.4 ns B) 29 ns C) 32,6 ns D) Ninguna de las anteriores.
Solución

El tiempo de acceso a un sistema con caché de primer y segundo nivel se puede determinar mediante la
expresión mostrada en la página 94 del libro de teoría:
ta = [h1  tca1 + (1 - h1)  tca2] + (1-h2)  tp

Donde: tca1 es el tiempo de acceso medio a la caché de primer nivel, tca2 es el tiempo de acceso medio a la caché
de segundo nivel, tp es el tiempo de acceso medio a la memoria principal, h1 es la tasa de acierto de la memoria
caché de primer nivel y h2 la tasa de acierto combinada de ambas cachés.

Por lo tanto, sustituyendo los datos del problema


ta = [0,9  4 + 0,1  10] + 0,2  122 = 3,6 + 1 + 24,4 = 29 ns

Respuesta: B

2.- En un computador que funciona a una velocidad de 105 ciclos/s, una instrucción emplea, en promedio, 5
ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador
de DMA que emplea 2 ciclos en la transferencia de una palabra.
I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de 20.000 palabras/s.
II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos es superior a
15.000 palabras/s.

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

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

((105 ciclos/s) / (2 ciclos/palabra)) / ((5 ciclos/instr.) / (2 ciclos/instr.) = 2  104 palabras/s

Por tanto la primera afirmación es cierta.

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

(105 ciclos / s) / (5 ciclos/instr. + 2 ciclos/palabra) = (10/7) 104 palabras /s

Por tanto la segunda afirmación es falsa.

Respuesta: B

3.- Se desea diseñar un circuito sumador/restador de dos números binarios sin signo de n bits cada uno
utilizando una memoria ROM. Una señal de control indica el tipo de operación a realizar. El tamaño mínimo de
la memoria ROM será de:
A) 22n+1 × 2n B) 22n × 4 C) 2n+1 × 2n D) Ninguna de las anteriores.
Solución

La memoria ROM deberá tener n + n + 1 = 2n + 1 líneas de dirección, ya que los números a sumar son de n bits
cada uno (requieren cada uno n líneas de dirección) y además hay que considerar la línea correspondiente a la
señal de control (suma/resta).

Por otra parte la suma de dos números sin signo de n bits cada uno da un resultado que como máximo tiene
n + 1 bits. Como consecuencia de lo anterior la ROM resultante debe tener la siguiente capacidad total:

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

La respuesta correcta es la D: Ninguna de las anteriores.

Respuesta: D

4.- La CPU de un computador ejecuta instrucciones de 32 bits de longitud. Si el bus tiene una anchura de 8
líneas de datos y 16 de dirección, indicar cual es la respuesta correcta:
A) La CPU deberá acceder a la memoria 4 veces para ejecutar cada instrucción.
B) La CPU accederá a la memoria 2 veces para ejecutar cada instrucción.
C) El número de accesos a memoria depende de cuantas líneas de control tenga el bus.
D) Ninguna de las respuestas anteriores es correcta.

Solución

Si el bus tiene únicamente 8 líneas de datos, tendrá que realizar 4 accesos a memoria para completar cada
instrucción, puesto que las instrucciones son de 32 bits. (Ver página 23 del libro de teoría).

Téngase en cuenta que: 8 líneas de datos × 4 accesos = 32 bits de instrucción.

Respuesta: A

5.- En el diseño de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor,
empleando el método de selección por campo, y siendo posible consultar en cada estado una única condición de
las 12 existentes, es necesario que el registro tenga una capacidad de:
A) 5 bits. B) 10 bits. C) Faltan datos para calcularlo. D) Ninguna de las anteriores.

Solución

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

Respuesta: B

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

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

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

Respuesta: A

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

El operando de la instrucción codifica el valor del salto a realizar. Como se salta de la posición 500 a la
posición 590, el valor del salto es 90 ( = 590 - 500). Codificando 90 en binario con 10 bits se obtiene:
0001011010. En resumen, la instrucción tiene el código de operación 111011, propuesto en el enunciado, y
como operando el valor calculado antes 0001011010.

Por tanto la codificación en binario de esta instrucción es: 1110110001011010

Respuesta: B

Nota: Al haberse detectado que al código de operación del enunciado le sobra un dígito, se ha dado por buena
tanto la respuesta B como la D. Si se considera que el código de operación es de 6 dígitos, la respuesta correcta
es la B. En el caso de considerar el código de operación de 7 dígitos, la respuesta correcta es la D.

8.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posición de conexión de los dispositivos a la línea de arbitraje determina la prioridad de aquellos en el
uso del bus.
II. El uso del bus por un dispositivo se interrumpe cuando otro dispositivo con mayor prioridad solicita el
uso del bus.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

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

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

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

Respuesta: B
PROBLEMA

Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de


operación diferentes, y que realiza las operaciones de entrada/salida mediante interrupciones.

A) (1 pto) ¿Cuál será el formato de instrucción y el número de bits necesarios para poder direccionar 16.384
posiciones de memoria directamente?
B) (1 pto) Si la palabra de memoria es de 32 bits, ¿cuántas posiciones de memoria se podrán direccionar
utilizando direccionamiento indirecto?
C) (1 pto) Considerando que el microprocesador tiene 8 registros de 8 bits cada uno para uso general, ¿qué
campo y con cuántos bits es necesario añadir al formato de instrucción del apartado A) para poder realizar
un direccionamiento indexado a través de registros?
D) (0,5 ptos) ¿Cuál será el rango de direccionamiento en este último caso?
E) (0,5 ptos) Al llevarse a cabo una operación de entrada/salida, ¿cuál será el tiempo máximo para que el
procesador reconozca una interrupción?

SOLUCIÓN
A) Para poder disponer de un juego de instrucciones con 60 códigos de operación diferentes es necesario un
campo para el código de operación de 6 bits, ya que 26 = 64 > 60.
Por otro lado, para poder direccionar 16.384 posiciones de memoria directamente es necesario un campo de
dirección de 14 bits, ya que 214 = 16.384. Por tanto, el formato de instrucción será:

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

B) En el direccionamiento indirecto la dirección efectiva se encuentra en la posición de memoria referenciada


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

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

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

D) Como los registros son de 8 bits, con ellos se puede referenciar desde la dirección 0 hasta la dirección 255
(28-1), y como el campo de dirección es de 14 bits se puede representar desde la dirección 0 hasta la dirección
16.383 (214-1).
Por tanto, el rango de direccionamiento utilizando direccionamiento indexado a través de registros es desde
0 (0+0) hasta 16.638 (255+16.383).

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

También podría gustarte