Sei sulla pagina 1di 25

MATERIAL PERMITIDO: los libros Estructura y tecnologa de computadores y Problemas de estructura y

tecnologa de computadores, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.


INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura ptica. 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).
Test: Conteste exclusivamente en HOJA DE LECTURA PTICA. No olvide marcar que su tipo de examen es A.

1.- Un computador con 15 lneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en
memoria. Cul es el nmero mximo de perifricos 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 instruccin emplea 4 ciclos mquina en
ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupcin
de 100 ns. Este procesador se conecta a un disco magntico con 128 sectores/pista y 1024 bytes/sector a travs
del sistema de interrupciones. En cada interrupcin 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) mxima en Mbytes/s a travs 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
instruccin es el que se muestra en la siguiente figura:
Cdigo de operacin (6 bits)

Direccin (3 bits)

Base (14 bits)

Qu rango de direccionamiento tiene cuando realiza un direccionamiento indexado a travs 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 mdulos independientes conectados a un bus de memoria


comn. Al comienzo de una operacin de escritura en memoria, el bus est ocupado por las seales de datos,
direccin y control durante 20 ns. Durante los 80 ns siguientes, el mdulo de memoria seleccionado completa el
ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los mdulos de memoria pueden
solaparse, pero slo puede haber una peticin en un instante de tiempo. La velocidad mxima de transferencia
cuando el nmero de mdulos 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 lneas de direcciones A15 - A0. Para la construccin de su
unidad de memoria se dispone de mdulos de 8K palabras, utilizndose las lneas ms significativas (A15 - A13)
para la seleccin de cada mdulo. En el mapa de memoria, la direccin base (o primera direccin) del mdulo
nmero 5 en notacin hexadecimal es:
A) 8000

B) A000

C) 8FFF

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.
6.- Indique cuantos mdulos de memoria ROM de 23n palabras 1 bit/palabra sern necesarios para disear un
circuito combinacional que sume dos nmeros 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 disear una Unidad de Control con 256 estados, que genere
200 seales de control totalmente independientes y que reciba 10 seales de condicin, aunque en cada estado
va a ser consultada como mximo 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 diseo con seleccin por estado el coste de la ROM es inferior a 100 euros.

II. Si se utiliza un diseo con seleccin 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 tamao de microinstruccin de 32 bits.


La parte de control del formato de una microinstruccin 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
bifurcacin a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una nica seal de
condicin de las 16 seales disponibles. Cul es el tamao mximo 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.


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


Sea el siguiente algoritmo:
1: Declaracin de registros A [5], B [3], R [5];
2: Declaracin de buses
Bus-Entrada [5], Bus-Salida [5];
3: Inicio: A Bus-Entrada;

nmero binario

B Bus-Entrada;

nmero binario

4:

5: Bucle: A A B;
6:

B B - 1;

7:

if B 1 then go to Bucle;

8:

R A;

9:

Bus-salida R;

10:

Parar;

A) (1 pto) Si inicialmente en A se carga el valor


00001 y en B se carga el valor 100 Cul es el
valor de R al finalizar el algoritmo? Qu
operacin realiza este algoritmo?.
B) (1,5 ptos) Disear la Unidad de Procesamiento
y la Unidad de Control que realiza este algoritmo.
C) (1,5 ptos) Especificar el diagrama de flujo que
realice el algoritmo, el diagrama de estados de la
Unidad de Control y las acciones que tiene que
efectuar cuando se encuentra en cada uno.

SOLUCIONES
1.- Un computador con 15 lneas de direcciones tiene una memoria de 3213 palabras y utiliza E/S localizada en
memoria. Cul es el nmero mximo de perifricos que pueden conectarse, suponiendo que cada uno de ellos
utiliza 8 direcciones?
A) 213

B) 210

C) 212

D) Ninguna de las anteriores.

Solucin
Un computador con las 15 lneas de direcciones puede direccionar 215 direcciones de memoria distintas. No
obstante, como la memoria ocupa 3213 de estas direcciones, quedan libres 215- (3213 ) = 213 direcciones para
gestionar la E/S.
Como cada perifrico utiliza 8 (23) de estas direcciones, es posible conectar un mximo de 213/23 = 210
perifricos.
Respuesta: B (210)
2.- Un procesador que opera a 200 MHz y en el que en promedio una instruccin emplea 4 ciclos mquina en
ejecutarse (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupcin
de 100 ns. Este procesador se conecta a un disco magntico con 128 sectores/pista y 1024 bytes/sector a travs
del sistema de interrupciones. En cada interrupcin 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) mxima en Mbytes/s a travs del sistema de interrupciones es:
B) 8 Mbytes/s

B) 12 Mbytes/s

C) 16 Mbytes/s

D) Ninguna de las anteriores

Solucin
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 operacin de E/S por interrupcin (tint) es la suma del tiempo que se emplea en el
reconocimiento de la interrupcin (100 ns) ms el tiempo empleado en ejecutar la rutina que gestiona dicha
interrupcin. 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 operacin de E/S por interrupcin es el siguiente:
tint = 100 ns + (20 instrucciones 4 ciclos/instruccin 5 ns/ciclo) = 500 ns
Durante este tiempo se transmiten 8 bytes, por lo que el ancho de banda (bytes/s) a travs del sistema de
interrupciones ser el nmero 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
instruccin es el que se muestra en la siguiente figura:
Cdigo de operacin (6 bits)

Direccin (3 bits)

Base (14 bits)

Qu rango de direccionamiento tiene cuando realiza un direccionamiento indexado a travs de registros?


A) Desde 0 hasta 16383

B) Desde 0 hasta 16638

C) Desde 0 hasta 8192

D) Ninguna de las anteriores.

Solucin
La direccin efectiva en un direccionamiento indexado a travs de registros se obtiene como la suma de una
direccin base de memoria contenida en el campo de direccin de la instruccin 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 direccin 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 mdulos independientes conectados a un bus de memoria
comn. Al comienzo de una operacin de escritura en memoria, el bus est ocupado por las seales de datos,
direccin y control durante 20 ns. Durante los 80 ns siguientes, el mdulo de memoria seleccionado completa el
ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los mdulos de memoria pueden
solaparse, pero slo puede haber una peticin en un instante de tiempo. La velocidad mxima de transferencia
cuando el nmero de mdulos 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

Solucin
El ciclo de escritura de los mdulos de memoria se muestra grficamente en la siguiente figura.
Control
Direccin
Datos

Almacenamiento del dato

20 nseg

80 nseg

Ciclo de escritura de los mdulos de memoria

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

Mdulos
1
2
3
4
5
1

10

11

12

13
(20 nseg)

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


120 nseg

Mdulos
1
2
3
4
5
6
1

10

11

12

13
(20 nseg)

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


140 nseg

Mdulos
1
2
3
4
5
6
7
1

10

11

12

13
(20 nseg)

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

Operaciones de escritura con 5, 6 y 7 mdulos

Como se puede observar, cuando se tienen 5 mdulos todos estn continuamente activos. Con 6 mdulos cada

mdulo est ocioso durante (120 - tc) ns despus de cada operacin de escritura. Mientras que con 7 mdulos
el tiempo ocioso de cada mdulo es de (140 - tc). Sin embargo, la velocidad de transferencia sigue siendo la
misma en los tres casos. Con 5 mdulos cada 100 ns comienzan (o finalizan) 5 operaciones de escritura. Con 6
y 7 mdulos cada 120 ns y 140 ns comienzan (o finalizan) 6 7 operaciones de escritura respectivamente. Por
ello, las velocidades mximas con 5, 6 y 7 mdulos 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 mdulos (con N mayor que 4), la velocidad mxima 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 lneas de direcciones A15 - A0. Para la construccin de su
unidad de memoria se dispone de mdulos de 8K palabras, utilizndose las lneas ms significativas (A15 - A13)
para la seleccin de cada mdulo. En el mapa de memoria, la direccin base (o primera direccin) del mdulo
nmero 5 en notacin hexadecimal es:

A) 8000

B) A000

C) 8FFF

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 A15 - A13, que son los empleados para seleccionar cada mdulo, y
el resto de los bits de la direccin, A12 -A0, con el valor cero. Una vez generada la codificacin, para dar la
direccin base en hexadecimal se agrupan los bits de la direccin de 4 en 4 y se codifican.
En la tabla siguiente se muestra el resultado.
Direccin base en binario
A15 A14 A 13 A 12 A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A

Dir. base en
hexadecimal

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

00000000000000000000
00100000000000000000
01000000000000000000
01100000000000000000
10000000000000000000
10100000000000000000
11000000000000000000
11100000000000000000

0000
2000
4000
6000
8000
A000
C000
E000

Respuesta: B (A000).
6.- Indique cuantos mdulos de memoria ROM de 23n palabras 1 bit/palabra sern necesarios para disear un
circuito combinacional que sume dos nmeros de 3n bits cada uno:

A) 23n+1 3n

B) 26n 3n

C) 23n (3n + 1)

D) Ninguna de las anteriores.

Solucin

El nmero de mdulos se calcula teniendo en cuenta que la memoria ROM resultante deber tener 3n + 3n = 6n
lneas de direccin, es decir 26n palabras. El resultado de sumar dos nmeros de 3n bits cada uno es un nmero
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 mdulos de 23n palabras 1 bit/palabra, es preciso
emplear un total de:
(26n palabras (3n + 1) bits/palabra) / (23n palabras/mdulo 1 bit/palabra) =
23n (3n + 1) mdulos
Respuesta: C (23n (3n + 1) mdulos)
7.- Haciendo uso de una memoria ROM, se desea disear una Unidad de Control con 256 estados, que genere
200 seales de control totalmente independientes y que reciba 10 seales de condicin, aunque en cada estado
va a ser consultada como mximo 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 diseo con seleccin por estado el coste de la ROM es inferior a 100 euros.
II. Si se utiliza un diseo con seleccin 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.

Solucin

[Ver la pgina 307 y ss. del texto de teora.] Para codificar los 256 estados hacen falta 8 bits. Las 200 seales de
control, al ser totalmente independientes, no pueden ser codificadas. De las 10 seales de condicin slo se
consulta, a lo sumo, una de ellas, por lo que la salida del multiplexor ser de un nico bit.
Harn 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 diseo con seleccin 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 seales 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 afirmacin es falsa.
II. Al tratarse de un diseo de seleccin por campo, cada palabra de la memoria tendr tres campos: uno de
seleccin de 4 bits (24 = 16 para las 10 seales de condicin), uno de estado presente de 8 bits (puesto que hay
256 estados) y otro de 200 bits para las seales 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 afirmacin es verdadera.
Respuesta: C ( I: no, II: s)
8.- La Unidad de Control microprogramada de un computador tiene un tamao de microinstruccin de 32 bits.
La parte de control del formato de una microinstruccin 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
bifurcacin a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una nica seal de
condicin de las 16 seales disponibles. Cul es el tamao mximo de la memoria de control?
16

A) 2

palabras
Solucin

B) 220 palabras

C) 242 palabras

D) 212 palabras

[Vase el Problema 7.2 del libro de problemas]. La microinstruccin tiene 32 bits de longitud, de los cuales 14
bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcacin y 4 (24 = 16)
para seleccionar una nica seal de condicin. Por lo tanto, para la direccin quedan disponibles 32 14 2 -4
= 12 bits. De esta forma, el tamao mximo de la memoria de control es 212 palabras.
Respuesta: D (212 palabras)

PROBLEMA
Sea el siguiente algoritmo:
1: Declaracin de registros A [5], B [3], R [5];
2: Declaracin de buses
Bus-Entrada [5], Bus-Salida [5];
3: Inicio: A Bus-Entrada;

nmero binario

B Bus-Entrada;

nmero binario

4:

5: Bucle: A A B;
6:

B B - 1;

7:

if B 1 then go to Bucle;

8:

R A;

9:

Bus-salida R;

10:

A) (1 pto) Si inicialmente en A se carga el valor


00001 y en B se carga el valor 100 Cul es el
valor de R al finalizar el algoritmo? Qu
operacin realiza este algoritmo?.
B) (1,5 ptos) Disear la Unidad de Procesamiento
y la Unidad de Control que realiza este algoritmo.
C) (1,5 ptos) Especificar el diagrama de flujo que
realice el algoritmo, el diagrama de estados de la
Unidad de Control y las acciones que tiene que
efectuar cuando se encuentra en cada uno.

Parar;

A) Segn 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 evolucin de los registros A, B y R a lo largo de la
ejecucin del algoritmo. En dicha tabla, si no aparece el valor almacenado en el registro es porque no es relevante
para el problema.

N
Instruccin
3: A Bus-Entrada;
4: B Bus-Entrada;
5: A A B;
6: B B 1;
7: if B 1 then go to Bucle;
5: A A B;
6: B B 1;
7: if B 1 then go to Bucle;
5: A A B;
6: B B 1;
7: if B 1 then go to Bucle;
8: R A;

A
00001
00001
00100
00100
00100
01100
01100
01100
11000
11000
11000
11000

-100
100
011
011
011
010
010
010
001
001
001

-----------11000

Evolucin de los registros al ejecutarse el algoritmo

Como se puede observar el valor almacenado en el registro R tras la ejecucin del algoritmo es 11000 (24 en
decimal).
Analizando el algoritmo se puede ver que la operacin que se efecta es el factorial de B, tal y como se
muestra en la siguiente expresin:
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 diseo 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, adems
de algunos otros elementos auxiliares como multiplexores. .
Como la Unidad de Procesamiento necesita realizar dos tipos de operaciones (resta y multiplicacin), se va
disponer de una Unidad Aritmtico Lgica (ALU) como la mostrada en la siguiente figura donde con 1
seal de control se selecciona el modo de funcionamiento necesario siguiendo el esquema de la siguiente
tabla.
Operacin

Entradas de seleccin
E0
0
1

X Y
X-Y

Operaciones de la ALU

3
X

Y
ALU

E0

Mdulo de la Unidad Arimtico Lgica 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. Tambin 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. Adems 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 tambin la seal de condicin s0 que si su valor es 1 representa que el contenido
del registro B es distinto de 1.

Bus de Entrada

5
0

1
MUX 1

c0

1
MUX 2

c1

c2

1
0

c3

1
MUX 3
3

s0 (B 1
X

c4

E0

ALU

c5

DEMUX

c6

5
Bus de Salida

Unidad de
Procesamiento
I (Inicio)

Circuito

Fin

c0
c1

Reloj

Control

c6

Unidad de
Control

En la siguiente tabla se describen las operaciones que gobiernan cada una de las seales de control mostradas
en la figura anterior:
Seal de
Control
c0
c1
c2
c3
c4
c5
c6

Operacin controlada
Seleccin del multiplexor 1: Bus-Entrada / DEMUX
Seleccin del multiplexor 2: Bus-Entrada / DEMUX
Cargar R desde A (R A)
Seleccin del multiplexor 3: 1 / A
Seleccin de la operacin de la ALU
Seleccin del demultiplexor (salida de la ALU hacia A B)
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 seales de control que
hay que activar.

S0

A 0 0 0 0 1

S1

B 1 0 0

A A B

B B - 1

S2

s0 (B

S3

B 1?
S4
no
s0 ( B = 1)
R A
S5
Bus de SalidaR

S6

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

Estado de la Unidad Microoperaciones Seales de control


de Control
efectuadas
a activar

S0
S1
S2
S3
S4
S5
S6

A 00001
B 100
A A B

c0
c1
c4
c3, c5
--c2
c6

B B - 1
--R A
Bus-salida R
Parar
Acciones tomadas por la Unidad de Control

MATERIAL PERMITIDO: los libros Estructura y tecnologa de computadores y Problemas de estructura y


tecnologa de computadores, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura ptica. 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).
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, cunto 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 explcito con dos direcciones por
microinstruccin y microprogramacin horizontal tiene una memoria de control con 2K palabras32
bits/palabra de capacidad. Indicar el nmero mximo 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 direccin
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 sncrono que tiene un tiempo de ciclo de 50 ns y cada transaccin del bus requiere un
ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 lneas. 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 lneas de interrupcin PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es
decir, PI1 tiene la prioridad mnima y PI4 la mxima. Se supone que se producen 4 peticiones de interrupcin
en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres ltimas se producen simultneamente
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:
B) PI3, PI4, PI2 y PI1
C) PI3, PI1, PI2 y PI4
D) Ninguna de las anteriores.
A) PI3, PI2, PI4 y PI1
6.- Cuntos sumadores binarios completos de 1 bit (SBCs) haran 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 transicin de estados de un circuito secuencial sncrono con dos estados y
dos entradas (x, y), donde Q es la variable de estado necesaria para la representacin de los dos estados. Si el
circuito se disea empleando un elemento de memoria tipo D, indicar cul de las siguientes expresiones de
entrada al elemento de memoria es correcta:
Prximo Estado

Estado presente

xy

xy

xy

xy

A) D Q x y Q x y
B) D Q y x x y
C) D Q x y
D) Todas las afirmaciones anteriores son falsas.

8.- En un procesador con instrucciones de cero direcciones (procesador con pila), qu expresin calcula la
secuencia de instrucciones: Push M[C]; Push M[D]; Mult; Push M[C]; Push M[D]; Mult; Add; Pop M[A]?
A) A = (C+D) 2
B) A = (C+D+D) C
C) A = 2 (CD)
D) Ninguna de las anteriores.
Cuestiones: Conteste nicamente en el espacio disponible debajo del enunciado de la pregunta.

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 siguiente algoritmo describe una operacin que se realiza en un sistema digital:
1:

Declaracin de registros

2:

Inicio: A Entrada1;

3:

B Entrada2;

4:

C Entrada3;

A, B, C;

5:
6:

Bucle: if (C > 0) then go to Operar;


else go to Final;

7:

Operar: A A + B;

8:

C C - 1;

9:

go to Bucle;

10:
11:

Final:

if (A > 25) then Salida A;


go to Final;

A) (2 ptos) Obtener su diagrama ASM.


B) (2 ptos) Disear 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, cunto 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.
Solucin
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
transmisin.
Segn 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 instruccin. Por tanto, en los 4 ciclos de reloj que tarda la
CPU en ejecutar una instruccin, el controlador de DMA transmite 2 palabras.
La velocidad de transferencia resultante, si el reloj del computador tiene una frecuencia de 107 ciclos/s, es de:
(107 ciclos/s) (2/4 palabras/ciclo) = 0,5107 palabras/s
Con esta velocidad de transferencia, para mover un bloque de 106 palabras el controlador de DMA tardar:
(107 palabras) / (0,5107 palabras/s) = 2 s
Respuesta: C
2.- Una unidad de control microprogramada con direccionamiento explcito con dos direcciones por
microinstruccin y microprogramacin horizontal tiene una memoria de control con 2K palabras32
bits/palabra de capacidad. Indicar el nmero mximo de puntos de control en la ruta de datos asociada.
A) 10
B) 12
C) 22
D) Ninguna de las anteriores.
Solucin
[Ver el apartado 7.2.3 y 7.2.4 del texto base de teora].
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 microinstruccin segn el enunciado es de 32 bits.
Por otra parte puesto que hay 2 Kpalabras, el nmero de bits necesarios para codificar una direccin de esta
memoria de control es 10, ya que 2 K= 211. Luego como se utiliza un direccionamiento explcito con dos
direcciones por microinstruccin se requieren 2 11=22 bits para especificar ambas direcciones.
Como la anchura de una microinstruccin 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 microinstruccin sera:
Control: 10 bits

Direccin 1: 11 bits

Direccin 2: 11 bits

Como el enunciado indica que se usa microprogramacin horizontal, eso significa que se asigna un bit a cada
una de las seales de control existentes en la unidad de procesamiento. En consecuencia puesto que el campo
de control de la microinstruccin tiene un tamao de 10 bits, como mximo podrn existir 10 seales de
control. Puesto que cada seal de control se aplica a un determinado punto fsico de control como mximo
existirn 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 direccin
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.

Solucin
Hay que determinar el nmero de bits que contienen los 3 campos (etiqueta, conjunto y palabra) en los que se
divide el formato de la direccin de Mp en una memoria cach asociativa por conjuntos.
Como la capacidad de la memoria principal es de 1Mpalabras (220), esto implica que el nmero 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 nmero 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 nmero de bits
que necesita el campo palabra es de: p = 7 bits.
A partir de estos datos podemos ya determinar el nmero de bits que contiene el campo etiqueta que es de:
e = n p c = 20 4 7 = 9 bits.
A la direccin de memoria principal, expresada en binario, 10100001100100110000, le correspondern
entonces los contenidos siguientes en los diferentes campos de la direccin:
etiqueta (los 9 bits ms significativos de la direccin): 101000011
conjunto (los 4 bits siguientes de la direccin): 0010
palabra (los 7 bits menos significativos de la direccin): 0110000
Luego el conjunto expresado en decimal es el 2.
Respuesta: C
4.- Se dispone de un bus sncrono que tiene un tiempo de ciclo de 50 ns y cada transaccin del bus requiere un
ciclo de reloj. Este bus multiplexa las direcciones y los datos por un conjunto de 32 lneas. 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.
Solucin
En la figura siguiente se muestra el cronograma correspondiente al proceso de escritura utilizando el bus
sncrono:
Ciclo-1

Ciclo-2

Ciclo-3

Ciclo-4

Ciclo-5

Ciclo-6

Reloj

Direccin

Tiempo de acceso a memoria = 200 ns


Datos

R/W

Cronograma del proceso de lectura con bus sncrono


Como se puede observar, los distintos tiempos significativos para la resolucin del problema son los siguientes:
Envo de direccin a memoria = 50 ns
Lectura de memoria = 200 ns
Envo 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 lneas de interrupcin PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es
decir, PI1 tiene la prioridad mnima y PI4 la mxima. Se supone que se producen 4 peticiones de interrupcin
en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres ltimas se producen simultneamente
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.
Solucin
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 ejecucin del programa de servicio de una interrupcin contina hasta que
finalice antes de que la CPU pueda aceptar una segunda peticin de interrupcin.
La secuencia de peticin de interrupciones es la siguiente: Llega PI3 y comienza a ejecutarse el programa de
servicio de PI3. A continuacin, de forma simultnea llegan PI1, PI4 y PI2. Cuando llegan estas tres peticiones
se contina ejecutando el programa de servicio de PI3. Al finalizar este programa de atencin a PI3, se procede
a ejecutar el programa de servicio de PI4 que es la interrupcin recibida con mayor prioridad. Cuando ste
finaliza, se procede a ejecutar el programa servicio de PI2, la siguiente que debe ser atendida segn rdenes de
prioridades. Por ltimo, cuando termina el programa de servicio de la interrupcin PI2, se procede a ejecutar el
programa de gestin de PI1.
Por lo tanto, el orden de ejecucin de las interrupciones es: PI3, PI4, PI2 y PI1.
Respuesta: B

6.- Cuntos sumadores binarios completos de 1 bit (SBCs) haran falta para construir un sumador binario
paralelo de 2n bits?
A) n
B) 2n
C) log2 n
D) Ninguna de las anteriores.
Solucin
Como la longitud de palabra es de 2n bits y se trata de implementar un sumador binario paralelo sern
necesarios 2n SBCs (1 por cada bit) [ver apartado 4.1.4 y Figura 4.10 del libro de texto - pgina 194].
Respuesta: B

7.- En la figura se muestra la tabla de transicin de estados de un circuito secuencial sncrono con dos estados y
dos entradas (x, y), donde Q es la variable de estado necesaria para la representacin de los dos estados. Si el
circuito se disea empleando un elemento de memoria tipo D, indicar cul de las siguientes expresiones de
entrada al elemento de memoria es correcta:
Prximo Estado

Estado presente

xy

xy

xy

xy

A) D Q x y Q x y
B) D Q y x x y
C) D Q x y
D) Todas las afirmaciones anteriores son falsas.

Solucin

[Ver las secciones 5.5.5, B.3.3, B.6.5, B.6.6 y B.6.11 del texto base de teora, as como el problema 5-2 del
libro de problemas]. La forma ms 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 solucin correcta es la B).

D(t)

A)

B)

0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

0
0
1
0
1
0
1
1

0
0
1
0
0
1
0
0

0
0
1
0
1
0
1
1

C
)
0
0
0
0
0
0
1
0

Respuesta B
8.- En un procesador con instrucciones de cero direcciones (procesador con pila), qu expresin calcula la
secuencia de instrucciones: Push M[C]; Push M[D]; Mult; Push M[C]; Push M[D]; Mult; Add; Pop M[A]?
A) A = (C+D) 2
B) A = (C+D+D) C
C) A = 2 (CD)
D) Ninguna de las anteriores.
Solucin
[Ver apartado 6.1.4 del texto base de teora y el problema 6-4 del libro de problemas]. La evolucin del
contenido de la pila segn se van ejecutando las instrucciones se muestra a continuacin:
Contenido de la pila
Push M [C]; C
Push M[D]; C, D
Mult CD
Push M[C]; CD, C
Push M[D]; CD, C, D
Mult; CD, CD
Add; (CD)+ (CD)
Pop M[A];
Respuesta: C

PROBLEM,A
El siguiente algoritmo describe una operacin que se realiza en un sistema digital:
1:

Declaracin de registros

2:

Inicio: A Entrada1;

3:

B Entrada2;

4:

C Entrada3;

A, B, C;

5:
6:

Bucle: if (C > 0) then go to Operar;


else go to Final;

7:

Operar: A A + B;

8:

C C - 1;

9:

go to Bucle;

10:
11:

Final:

if (A > 25) then Salida A;


go to Final;

A) (2 ptos) Obtener su diagrama ASM.


B) (2 ptos) Disear una ruta de datos para este algoritmo.
Solucin
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 continuacin 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
condicin 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 relacin a esta

arquitectura se pueden realizar los siguientes comentarios:


Se dispone de tres registros A, B y Salida que se cargan con las seales de control c1, c2 y c3
respectivamente.
Se dispone de un Contador C, que se carga con la seal c4 y se puede decrementar en uno activando la
seal c5.
La seal de seleccin del multiplexor, c6, sirve para cargar en A el valor de Entrada1 o la salida del
sumador.
El sumador genera una seal MayorA25 en caso de que el valor contenido en A sea mayor que 25.
El Contador C genera una seal zeroC cuando su valor sea cero.
Entrada 1

MUX

Entrada 3

c6

c4
c5

Entrada 2

c2

Contador C
zeroC

Registro A

c1

Sumador

Registro B

c2

MayorA25

Salida

Figura 2: Ruta de datos para el algoritmo propuesto

c3

MATERIAL PERMITIDO: los libros Estructura y tecnologa de computadores y Problemas de estructura y


tecnologa de computadores, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.
INSTRUCCIONES: ENTRGUE ESTA HOJA con el resto de hojas de su examen. Complete TODOS los datos que
se piden en la hoja de lectura ptica. 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).
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 cachs 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 instruccin emplea, en promedio, 5
ciclos mquina 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 mxima velocidad de transferencia de datos es de 20.000 palabras/s.
II. Empleando DMA por robo de ciclos, la mxima 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 disear un circuito sumador/restador de dos nmeros binarios sin signo de n bits cada uno
utilizando una memoria ROM. Una seal de control indica el tipo de operacin a realizar. El tamao mnimo 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
lneas de datos y 16 de direccin, indicar cual es la respuesta correcta:
A) La CPU deber acceder a la memoria 4 veces para ejecutar cada instruccin.
B) La CPU acceder a la memoria 2 veces para ejecutar cada instruccin.
C) El nmero de accesos a memoria depende de cuantas lneas de control tenga el bus.
D) Ninguna de las respuestas anteriores es correcta.
5.- En el diseo de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor,
empleando el mtodo de seleccin por campo, y siendo posible consultar en cada estado una nica condicin 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 instruccin de un procesador utiliza 6 bits para el cdigo de operacin y 14 bits para el campo
de direccin. Considerando que el procesador tiene 8 registros de 8 bits cada uno para uso general, cuntos
campos y de cuntos bits cada uno es necesario aadir al formato de instruccin inicial para poder realizar un
direccionamiento indexado a travs 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 instruccin de un procesador de una direccin tiene 6 bits para el cdigo de operacin y 10
bits para la direccin del operando. Indicar cul es la codificacin en binario de una instruccin de bifurcacin,
con direccionamiento relativo al contador de programa, almacenada en la posicin 500 (en decimal), que
origina un salto a la posicin 590 (en decimal), cuyo cdigo de operacin 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 posicin de conexin de los dispositivos a la lnea 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.


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


Considrese un computador con un microprocesador cuyo juego de instrucciones permite 60 cdigos de
operacin diferentes, y que realiza las operaciones de entrada/salida mediante interrupciones.
A) (1 pto) Cul ser el formato de instruccin y el nmero de bits necesarios para poder direccionar 16.384
posiciones de memoria directamente?
B) (1 pto) Si la palabra de memoria es de 32 bits, cuntas posiciones de memoria se podrn 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 cuntos bits es necesario aadir al formato de instruccin del apartado A) para poder realizar
un direccionamiento indexado a travs de registros?
D) (0,5 ptos) Cul ser el rango de direccionamiento en este ltimo caso?
E) (0,5 ptos) Al llevarse a cabo una operacin de entrada/salida, cul ser el tiempo mximo para que el
procesador reconozca una interrupcin?

SOLUCIN
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 cachs es 0,8. Calcular el tiempo de acceso medio al sistema conjunto de
memoria.
A) 24.4 ns

C) 32,6 ns

B) 29 ns

D) Ninguna de las anteriores.

Solucin
El tiempo de acceso a un sistema con cach de primer y segundo nivel se puede determinar mediante la
expresin mostrada en la pgina 94 del libro de teora:
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 cachs.
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 instruccin emplea, en promedio, 5
ciclos mquina 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 mxima velocidad de transferencia de datos es de 20.000 palabras/s.
II. Empleando DMA por robo de ciclos la mxima 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.

Solucin
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 afirmacin es cierta.
Con DMA por robo de ciclos se transmite en el ciclo de instruccin y adems 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 afirmacin es falsa.
Respuesta: B
3.- Se desea disear un circuito sumador/restador de dos nmeros binarios sin signo de n bits cada uno
utilizando una memoria ROM. Una seal de control indica el tipo de operacin a realizar. El tamao mnimo de
la memoria ROM ser de:

A) 22n+1 2n

B) 22n 4

C) 2n+1 2n

D) Ninguna de las anteriores.

Solucin
La memoria ROM deber tener n + n + 1 = 2n + 1 lneas de direccin, ya que los nmeros a sumar son de n bits
cada uno (requieren cada uno n lneas de direccin) y adems hay que considerar la lnea correspondiente a la
seal de control (suma/resta).
Por otra parte la suma de dos nmeros sin signo de n bits cada uno da un resultado que como mximo 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
lneas de datos y 16 de direccin, indicar cual es la respuesta correcta:
A) La CPU deber acceder a la memoria 4 veces para ejecutar cada instruccin.
B) La CPU acceder a la memoria 2 veces para ejecutar cada instruccin.
C) El nmero de accesos a memoria depende de cuantas lneas de control tenga el bus.
D) Ninguna de las respuestas anteriores es correcta.
Solucin
Si el bus tiene nicamente 8 lneas de datos, tendr que realizar 4 accesos a memoria para completar cada
instruccin, puesto que las instrucciones son de 32 bits. (Ver pgina 23 del libro de teora).
Tngase en cuenta que: 8 lneas de datos 4 accesos = 32 bits de instruccin.
Respuesta: A
5.- En el diseo de una Unidad de Control de 64 estados con una memoria ROM, un registro y un multiplexor,
empleando el mtodo de seleccin por campo, y siendo posible consultar en cada estado una nica condicin 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.

Solucin
[Ver los problemas 5-10 y 5-22, o la pgina 311 del texto de teora]. El registro almacena el estado y unos bits
adicionales seleccionan la(s) condicin(es). Para codificar el estado hacen falta 6 bits (26 = 64). Para
seleccionar la condicin 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 instruccin de un procesador utiliza 6 bits para el cdigo de operacin y 14 bits para el campo
de direccin. Considerando que el procesador tiene 8 registros de 8 bits cada uno para uso general, cuntos
campos y de cuntos bits cada uno es necesario aadir al formato de instruccin inicial para poder realizar un
direccionamiento indexado a travs 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.

Solucin
La direccin efectiva en un direccionamiento indexado a travs de registros se obtiene como la suma de una
direccin base de memoria contenida en el campo de direccin de la instruccin y un desplazamiento
(contenido en el registro ndice). Por tanto, es necesario aadir un campo de registro con 3 bits para poder
referenciar cualquiera de los 8 (23) registros diferentes del procesador. El formato de instruccin ser:

Cdigo de operacin (6 bits)

Direccin (registros)(3 bits)

Base(14 bits)

Respuesta: A
7.- El formato de instruccin de un procesador de una direccin tiene 6 bits para el cdigo de operacin y 10
bits para la direccin del operando. Indicar cul es la codificacin en binario de una instruccin de bifurcacin,
con direccionamiento relativo al contador de programa, almacenada en la posicin 500 (en decimal), que
origina un salto a la posicin 590 (en decimal), cuyo cdigo de operacin es 1110011:
A) 1110111110100101

B) 1110110001011010

C) 0000110001011010

D) 1110111110100110

Solucin
El operando de la instruccin codifica el valor del salto a realizar. Como se salta de la posicin 500 a la
posicin 590, el valor del salto es 90 ( = 590 - 500). Codificando 90 en binario con 10 bits se obtiene:
0001011010. En resumen, la instruccin tiene el cdigo de operacin 111011, propuesto en el enunciado, y
como operando el valor calculado antes 0001011010.
Por tanto la codificacin en binario de esta instruccin es: 1110110001011010
Respuesta: B
Nota: Al haberse detectado que al cdigo de operacin del enunciado le sobra un dgito, se ha dado por buena
tanto la respuesta B como la D. Si se considera que el cdigo de operacin es de 6 dgitos, la respuesta correcta
es la B. En el caso de considerar el cdigo de operacin de 7 dgitos, la respuesta correcta es la D.
8.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posicin de conexin de los dispositivos a la lnea 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.

Solucin
[Ver apartado 1.4.4 del libro de teora, en concreto en la pgina 29, figura 1.25 se trata sobre los buses de
arbitraje distribuido]
I. Cierta, puesto que el dispositivo ms cercano es el de mxima prioridad.
II. Falsa. Mientras la lnea de bus ocupado est activada, ningn otro mdulo puede acceder al bus, aunque sea
ms prioritario.
Respuesta: B

PROBLEMA
Considrese un computador con un microprocesador cuyo juego de instrucciones permite 60 cdigos de
operacin diferentes, y que realiza las operaciones de entrada/salida mediante interrupciones.
A) (1 pto) Cul ser el formato de instruccin y el nmero de bits necesarios para poder direccionar 16.384
posiciones de memoria directamente?
B) (1 pto) Si la palabra de memoria es de 32 bits, cuntas posiciones de memoria se podrn 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 cuntos bits es necesario aadir al formato de instruccin del apartado A) para poder realizar
un direccionamiento indexado a travs de registros?
D) (0,5 ptos) Cul ser el rango de direccionamiento en este ltimo caso?
E) (0,5 ptos) Al llevarse a cabo una operacin de entrada/salida, cul ser el tiempo mximo para que el
procesador reconozca una interrupcin?

SOLUCIN
A) Para poder disponer de un juego de instrucciones con 60 cdigos de operacin diferentes es necesario un
campo para el cdigo de operacin 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
direccin de 14 bits, ya que 214 = 16.384. Por tanto, el formato de instruccin ser:
Cdigo de operacin (6 bits)

Direccin (14 bits)

B) En el direccionamiento indirecto la direccin efectiva se encuentra en la posicin de memoria referenciada


en el campo de direccin de la instruccin. Por tanto, dado que la palabra de memoria es de 32 bits, se podrn
direccionar 232 posiciones de memoria utilizando direccionamiento indirecto.
C) La direccin efectiva en un direccionamiento indexado a travs de registros se obtiene como la suma de una
direccin base de memoria y el contenido del registro ndice del banco de registros. Por tanto, es necesario
aadir un campo de registro con 3 bits para poder referenciar cualquiera de los 8 (23) registros diferentes del
procesador. El formato de instruccin ser:
Cdigo de operacin (6 bits)

Direccin (3 bits)

Base (14 bits)

D) Como los registros son de 8 bits, con ellos se puede referenciar desde la direccin 0 hasta la direccin 255
(28-1), y como el campo de direccin es de 14 bits se puede representar desde la direccin 0 hasta la direccin
16.383 (214-1).
Por tanto, el rango de direccionamiento utilizando direccionamiento indexado a travs de registros es desde
0 (0+0) hasta 16.638 (255+16.383).
E) Dado que el procesador termina la instruccin en curso antes de atender una interrupcin, el tiempo mximo
de reconocimiento de una interrupcin ser el tiempo de la instruccin que ms tarde en ejecutarse.

Potrebbero piacerti anche