Sunteți pe pagina 1din 8

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

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

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

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

8.- Se desea construir un multiplicador binario que multiplique dos números de 4 y 8 bits, respectivamente.
Para ello se utilizan exclusivamente dos módulos ROM de 256 palabras × 8 bits/palabra y sumadores binarios
paralelos de 4 bits. ¿Cuál es el mínimo número necesario de sumadores de este tipo?
A) 4. B) 3. C) 2. D) Ninguna de las anteriores.
Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

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

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

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

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

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

Solución

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

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

Respuesta: A (R1114).

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

Solución

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

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

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

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

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

Respuesta: C (1,5)

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

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

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

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

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


K = 0000 0000 0001

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

A = 1011 1100 0011


K = 0000 0000 0001

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

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

Solución

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

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

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


Respuesta: C (6)

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

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

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

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


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

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

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

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

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

Solución

Cada transferencia de DMA utiliza:

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

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

(1000  500)ciclos / transf .


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

Como el procesador funciona a 50 MHz:


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

Respuesta: B (1,5%)

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

Solución

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

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

Solución

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

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

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

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

Respuesta: C (2)

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

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


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

Solución

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

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


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

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

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

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


B)

Correspondencia Asociativa por Conjuntos de 4 Conjuntos


1 2 3 4 5

0/ 64 /48

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

18 / 2

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

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


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

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

15

31
C15
47

63

Nota: Se ha considerado como buena la solución del apartado b) del problema de considerar 4 conjuntos en lugar de 16.

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