Vous êtes sur la page 1sur 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 3 puntos, las cuestiones teóricas 4 puntos y el problema 3 puntos. Las respuestas correctas del test
puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.2 puntos. El test es eliminatorio, debiendo obtener
una calificación mínima de 1.3 puntos para superarlo (con 3 preguntas correctas se supera).
Examen tipo C.
1.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos y utiliza bloques de 64 palabras,
siendo su capacidad total de 32 Kpalabras. La memoria principal tiene una capacidad de 32 Mpalabras.
¿Cuántos bits hay en los diferentes campos del formato de dirección? Nota: 1 Kpalabra = 210 palabras,
1 Mpalabra = 220 palabras.
A) Etiqueta: 13, Conjunto: 5, Palabra: 7 B) Etiqueta: 15, Conjunto: 5, Palabra: 5
C) Etiqueta: 14, Conjunto: 5, Palabra: 6 D) Ninguna de las anteriores.
2.- Suponer un sistema de E/S gestionada mediante interrupciones anidables con 3 niveles de prioridad. En el
cronograma de la Figura 1, en la parte superior, se muestra el orden de llegada de varias peticiones de
interrupción donde cada subíndice hace referencia a un nivel de interrupción. En la parte inferior de la figura, se
muestra la ejecución de las rutinas de interrupción en cada instante. Cada caja representa una duración de 5 u.t.
Suponiendo que el tiempo de gestión de las interrupciones es despreciable, ¿cuál de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupción más prioritaria.
B) La duración del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qué interrupción es más prioritaria entre INT y e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupción.

3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Señalar
cuál de las siguientes afirmaciones es correcta:
I
S0
A) Puede realizarse la síntesis de la unidad de control empleando un registro
I c0 , c3 de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
S1 B) Puede realizarse la síntesis de la unidad de control empleando un registro
s0 0 s0 c1 de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
S2 8 bits por palabra.
s1 c2 , c3 s1 c2 , c3
C) Las dos anteriores son correctas.
Figura 2. Diagrama de estados. D) Todas las anteriores son falsas.

4.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000A. El computador tiene una memoria de 32 Kpalabras de 16 bits. Suponer que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00AB). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00AB y 000A B) 00A9 y 000B C) 00AB y 00B5 D) Ninguna de las anteriores.
5.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 4 bits de longitud, 2
números de tres bits de longitud y 2 números de un bit de longitud, utilizando únicamente módulos SBC. ¿Cuál
es el número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 6 D) Ninguno de los anteriores.
6.- Un diseñador de compiladores está intentando decidir entre dos secuencias de código para una máquina en
particular. Los diseñadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instrucción (CPI), para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaración particular
de un lenguaje de alto nivel, el diseñador del compilador está considerando las secuencias de código que
requieren el número instrucciones (NI) de cada tipo dadas en la Tabla 2. Los CPI de las secuencias 1 y 2 son
respectivamente:
A) 3 y 10 B) 1 y 2 C) 2 y 1.5 D) Ninguna de las anteriores.

Tabla 1. CPI instrucciones. Tabla 2. Número de instrucciones por tipo para cada secuencia.
Clase de instrucción CPI NI A NI B NI C NI Total
A 1 Secuencia 1 2 1 2 5
B 2 Secuencia 2 4 1 1 6
C 3

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


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

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

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

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


Problema (Contestar el problema en lo que resta de folio, por detrás y si es necesario, un folio adicional):

Se dispone de una unidad de disco duro de brazo móvil con las siguientes características:
 8 superficies, 120 pistas por superficie y 80 sectores por pista.
 Sectores de 512 bytes de información neta.
 Velocidad de rotación de 1500 rpm.
 El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilización de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabación lineal para las pistas de un cilindro cuyo radio es de 3 cm.
B) (1 pto) La velocidad de transferencia.
C) (1 pto) El tiempo medio de acceso de este disco (indicando todos los tiempos implicados).
Soluciones del examen Tipo C

1.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos y utiliza bloques de 64 palabras,
siendo su capacidad total de 32 Kpalabras. La memoria principal tiene una capacidad de 32 Mpalabras.
¿Cuántos bits hay en los diferentes campos del formato de dirección? Nota: 1 Kpalabra = 210 palabras,
1 Mpalabra = 220 palabras.
A) Etiqueta: 13, Conjunto: 5, Palabra: 7 B) Etiqueta: 15, Conjunto: 5, Palabra: 5
C) Etiqueta: 14, Conjunto: 5, Palabra: 6 D) Ninguna de las anteriores.
Solución.
Se tiene una memoria caché asociativa por conjuntos donde el número de conjuntos q = 32 (25). La capacidad
total de la memoria caché es de 32 Kpalabras (o sea 215 palabras) estructurada en bloques de 64 (26) palabras
cada uno de ellos.
La capacidad de la memoria principal es de 32 Mpalabras (es decir 25 x 220 = 225), por tanto, el formato de la
dirección de una palabra de memoria necesita 25 bits. Como la memoria caché utiliza una correspondencia
asociativa por conjuntos, el formato de la dirección se divide en:
 Bits de etiqueta (los más significativos de la dirección).
 Bits de conjunto (los centrales de la dirección)
 Bits de palabra (los menos significativos de la dirección).
Como hay 64 palabras en cada bloque de memoria principal, se necesitan 6 bits para el campo de palabra.
Como se tienen 32 = 25 conjuntos, son 5 los bits que se dedican al campo de conjunto. Por tanto 25-5-6 = 14
son los bits que se dedican al campo de etiqueta.
Respuesta: C (Etiqueta: 14, Conjunto: 5, Palabra: 6)

2.- Suponer un sistema de E/S gestionada mediante interrupciones anidables con 3 niveles de prioridad. En el
cronograma de la Figura 1, en la parte superior, se muestra el orden de llegada de varias peticiones de
interrupción donde cada subíndice hace referencia a un nivel de interrupción. En la parte inferior de la figura, se
muestra la ejecución de las rutinas de interrupción en cada instante. Cada caja representa una duración de 5 u.t.
Suponiendo que el tiempo de gestión de las interrupciones es despreciable, ¿cuál de las siguientes afirmaciones
es verdadera?
A) INTx es la interrupción más prioritaria.
B) La duración del tratamiento de INTx es 15 u.t. y la de INTy es 10 u.t.
C) No se pueden establecer conclusiones sobre qué interrupción es más prioritaria entre INTy e INTz
D) Ninguna de las anteriores.

Figura 1. Cronograma de rutinas de interrupción.


Solución.
De acuerdo con el cronograma se puede hacer la siguiente asignación:

La primera asignación se debe a que en t = 0 la única interrupción que ha llegado es INTx.


En t = 10 u.t. llega la interrupción INTy. Dado que INTx continúa su ejecución y no es interrumpida, podemos
asegurar que la prioridad de INTx es mayor que INTy. Además, se cumple que la duración del tratamiento de
INTx es de 15 u.t.
En t = 15 u.t. comienza a atenderse otra interrupción, que sólo puede ser INT y, que se ejecuta durante 10 u.t. En
t = 25 u.t. se produce otra interrupción INTx. Con esto se ha demostrado que INTx es más prioritaria, por lo que
se interrumpe la ejecución de INTy e INTx pasa a ejecutarse.
En t = 35 u.t. llega otra interrupción: INTz. Dado que INTx continúa con su ejecución, podemos asegurar que la
prioridad de INTx es mayor que la de INTz, y por tanto, INTx es la interrupción más prioritaria.
Con todo ello se puede establecer que la afirmación A) es verdadera.
Una vez INTx finaliza, continúa ejecutándose INTy. Por tanto, podemos garantizar que la prioridad de INT y es
mayor que INTz, y concluir que la afirmación C) es falsa. La duración total de tratamiento de la rutina de INT y
es de 10 u.t. + 10 u.t. = 20 u.t., por tanto, B) es falsa.
Respuesta: A) INTx es la interrupción más prioritaria.

3.- Considerar el siguiente diagrama de estados, correspondiente a una unidad de control (Figura 2). Señalar
cuál de las siguientes afirmaciones es correcta:
I
S0
A) Puede realizarse la síntesis de la unidad de control empleando un registro
I c0 , c3 de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra.
S1 B) Puede realizarse la síntesis de la unidad de control empleando un registro
s0 0 s0 c1 de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 4 palabras, con
S2 8 bits por palabra.
s1 c2 , c3 s1 c2 , c3
C) Las dos anteriores son correctas.
Figura 3. Diagrama de estados. D) Todas las anteriores son falsas.

Solución.
El diagrama tiene:
 3 estados, luego necesita n = 2 bits para su codificación.
 q = 3 entradas a la unidad de control: I, s0, s1
 m = 4 salidas de la unidad de control: c0, c1, c2,c3

A) Diseñando la Unidad de Control con una ROM y un registro, es suficiente con utilizar una ROM de 2n+q =
32 palabras de (n+m) = 6 bits/palabra y un registro de n=2 bits. El esquema del diseño se muestra en la
Figura 3.

Figura 3. Diseño de la U.C. con ROM y registro Figura 4. Diseño de la U.C. con el método de selección por estado

B) Si se utiliza para el diseño el método de selección por estado, se necesitaría una ROM de 2n+1 = 8 palabras
de n+m = 6 bits por palabra; un registro de n = 2 bits y un multiplexor de 2n = 4 a 1. El diseño es el que se
muestra en la Figura 4. De donde se concluye que no vale la respuesta 2 puesto que la ROM necesaria es de
8 palabras y no de 4 como en el enunciado.

Respuesta: A) Puede realizarse la síntesis de la unidad de control empleando un registro de 2 bits y una
memoria ROM de 32 palabras, con 8 bits por palabra.
4.- Un computador posee 1 registro índice cuyo contenido en un instante concreto, expresado en hexadecimal,
es (R1) = 000A. El computador tiene una memoria de 32 Kpalabras de 16 bits. Suponer que cada palabra
contiene un valor igual a su dirección en memoria y que se utiliza una instrucción con un valor en el campo de
direcciones (CD) = (00AB). La dirección final en el caso de que se utilicen los direccionamientos Indirecto e
Indexado a través del registro R1 es respectivamente:
A) 00AB y 000A B) 00A9 y 000B C) 00AB y 00B5 D) Ninguna de las anteriores.
Solución.
Direccionamiento indirecto: La dirección inicial se obtiene leyendo el contenido de la posición de memoria
dada por el campo de direcciones de la instrucción: (CD) = 00AB. Como según el enunciado, cada palabra
contiene un valor igual a su dirección en memoria, la indirección (00AB) = 00AB. Por tanto, la dirección de
memoria a la que se accede es 00AB.
Direccionamiento indexado a través del registro R1: En este caso, como ((CD)) = (00AB) = 00AB. La
dirección definitiva se calcula sumando el contenido del registro índice con la dirección obtenida en la
indirección: (R1) + 00AB = 000A+00AB = 00B5. La dirección de memoria a la que se accede en este caso es
00B5.
Respuesta: C) 00AB y 00B5

5.- Se desea diseñar un circuito combinacional, que sea un sumador de 1 número de 4 bits de longitud, 2
números de tres bits de longitud y 2 números de un bit de longitud, utilizando únicamente módulos SBC. ¿Cuál
es el número mínimo de módulos SBC necesarios?
A) 8 B) 7 C) 6 D) Ninguno de los anteriores.

Solución.
Un Sumador Binario Completo (SBC) dispone de tres entradas de 1 bit (el sumando xi, el sumando yi, y el
acarreo de la etapa anterior ci-1) y dos salidas de 1 bit (el acarreo a la etapa siguiente ci, y el bit de suma si). El
funcionamiento de un SBC en notación de puntos se muestra en la Figura 5 donde cada punto representa 1 bit
de la entrada, o de la salida.

Figura 5. Notación de puntos de un SBC

En la Figura 6 se muestra la suma de los números indicados en la cuestión mediante notación de puntos y
haciendo uso de los SBC’s necesarios. Como se puede observar son necesarios 7 SBC’s como mínimo.
Figura 6. Reducción mediante un árbol de Wallace
Respuesta: B: 7 módulos SBC’s

6.- Un diseñador de compiladores está intentando decidir entre dos secuencias de código para una máquina en
particular. Los diseñadores hardware le han proporcionado los siguientes datos sobre los ciclos promedio por
instrucción, para las distintas clases de instrucciones dadas en la Tabla 1. Para una declaración particular de un
lenguaje de alto nivel, el diseñador del compilador está considerando las secuencias de código que requieren el
número instrucciones (NI) de cada tipo dadas en la Tabla 2. El CPI de las secuencias 1 y 2 son respectivamente:
A) 3 y 10 B) 1 y 2 C) 2 y 1.5 D) Ninguna de las anteriores.
Tabla 3. CPI instrucciones. Tabla 4. Número de instrucciones por tipo para cada secuencia.
Clase de instrucción CPI NI A NI B NI C NI Total
A 1 Secuencia 1 2 1 2 5
B 2 Secuencia 2 4 1 1 6
C 3

Solución.
Para cada secuencia calculamos el CPI como la media de los CPI ponderada por el número de instrucciones. Es
decir:
Para la secuencia 1: CPI1 = (2 × 1 + 1 ×2 + 2 × 3) / 5 = 2.0
Para la secuencia 2: CPI2 = (4 × 1 + 1 ×2 + 1×3) / 6 = 1.5
Respuesta: C) 2 y 1.5
Problema
Se dispone de una unidad de disco duro de brazo móvil con las siguientes características:
 8 superficies, 120 pistas por superficie y 80 sectores por pista.
 Sectores de 512 bytes de información neta.
 Velocidad de rotación de 1500 rpm.
 El tiempo necesario para desplazar la cabeza entre dos pistas contiguas es de 0.25 ms, con un tiempo de
estabilización de la cabeza de 3 ms.
Calcular:
A) (1 pto) La densidad de grabación lineal para las pistas de un cilindro cuyo radio es de 3 cm.
B) (1 pto) La velocidad de transferencia.
C) (1 pto) El tiempo medio de acceso de este disco (indicando todos los tiempos implicados).

Solución.
A) La longitud de la pista cuyo radio es de 3 cm es: 2 × × 3 cm
En esa pista, como en todas las del disco, tenemos 80 sectores (densidad angular constante). La densidad lineal
Dlineal suele expresarse en bits/cm
80 sec t  512 bytes / sec t  8 bits / byte 327680 bits
Dlineal    17384 bits / cm
2    3 cm 6 cm

B) La velocidad de transferencia vtransfer es:


1500 rpm
vtransfer  pista / s  80 sec t / pista  512 bytes / sec tor  1024000 bytes / s .
60 s / m
C) Tiempo medio de acceso del disco. Sean:
Tbmed = Tiempo medio de búsqueda o posicionado
Trotmed = Latencia rotacional media
Taccesomed = Tbmed + Trotmed

Entonces:
Tbmed  60 pistas  0,25 ms  3 ms  18 ms
1
Trotmed  0,5  20 ms
1500 rpm
60 s / m
Taccesomed  Tbmed  Trotmed  38 ms

Vous aimerez peut-être aussi