Documente Academic
Documente Profesional
Documente Cultură
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) R1114 B) R152 C) R1162 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.
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) R1114 B) R152 C) R1162 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 (R1114).
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:
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:
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]
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:
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.
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
4 KByte / transf .
2 10 3 s / transf .
2 MByte / s
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:
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.
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
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
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.