Você está na página 1de 458

EXÁMENES

RESUELTOS

ESTRUCTURA
Y TECNOLOGÍA
DE COMPUTADORES II

INFORMÁTICA
SISTEMAS
Y GESTIÓN

DELEGACIÓN DE ALUMNOS

CENTRO ASOCIADO DE BALEARES


EXÁMENES DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II
ESTRUCTURA Y TECNOLOGIA DE LOS COMPUTADORES II
INFORMÁTICA DE SISTEMAS -Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN -Código Carrera 41 - Código Asignatura 109
Tipo de Examen : X - MAYO 94 (1ªSemana) - Tiempo: 2 horas. No se permite el uso de ningún material.

INSTRUCCIONES: Lea atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI,
Código de Carrera, Código de Asignatura y Tipo de Examen. El test es eliminariorio, debiendo contestar al menos 5 preguntas
correctamente para superarlo. La puntuación del examen es la siguiente: cada respuesta correcta del test vale 0.4 puntos, la cuestión
teórica 2 puntos y el problema 4 puntos. Las respuestas erróneas del test no puntúan negativo.

1.- En el sistema de la figura, BR representa la línea de petición de bus y BG la de autorización. En un momento dado, CONT3 está
haciendo uso del bus. Mientras, CONT4 activa su línea de petición, y a continuación lo hace CONT2. Cuando CONT3 deje de
utilizar el bus, ¿cuál será el próximo dispositivo que asumirá el control delbus? BR BUS

A) CONT2 ARBITRO

B) CONT3 BG

C) CONT4
D) CONT2 o CONT4, el árbitro decide. CONT1 CONT2 CONT3

2.- Se dispone de circuitos integrados de memoria RAM de 128 X 8 bits.


¿Cuántos son necesarios para proporcionar una capacidad de memoria de 1024palabras de 16 bits?
A) 8 B) 16 C) 32 D) Ninguna de las respuestas anteriores es correcta.
3.- Decir cuál de las siguientes afirmaciones es verdadera:
A) La entrada/salida a través de la UCP permite un mayor rendimiento de la UCP.
B) En cualquier tipo debus, las líneas se pueden clasificar en líneas de datos, de dirección y de control.
C) En un bus con temporización asíncrona, existe un reloj que determina la ocurrencia de sucesos.
D) Ninguna de las anteriores es verdadera.
4.- Una memoria caché asociativa por conjuntos dispone de 16 conjuntos y utiliza particiones de 8 palabras, siendo su capacidad
total de 2048 palabras. La memoria principal tiene una capacidad de 1024K palabras. ¿Cuántos bits hay en los diferentes campos del
formato de dirección?
A) Etiqueta: 8 Conjunto: 16 Palabra: 4 B) Etiqueta: 13 Conjunto: 16 Palabra: 8
C) Etiqueta: 13 Conjunto: 4 Palabra: 3 D) Ninguna de las respuestas anteriores es correcta
5.- El formato horizontal demicroinstruccionespermite:
A) Que existan microinstrucciones de bifurcación condicional
B) Tener memorias de control más pequeñas
C) Tener las señales de control yadecodificadas, por lo que su ejecución es más rápida
D) Tener varias señales de control de un mismosubcampo activas a la vez
6.- La siguiente pareja de números binarios X e Y se suma en un sumador binario paralelo con propagación de arrastres. Determinar
el número de secuencias de arrastre que comienzan simultáneamente y lalongitud de la secuencia de arrastre más grande.
A) 2 secuencias, la mayor de longitud 6 B) 4 secuencias, la mayor de longitud 4 X = 00 1 0 11 0 11 1
C) 3 secuencias, la mayor de longitud 4 D) 4 secuencias, la mayor de longitud 2 Y = 0 11 00 111 0 1
7.- En la representación de números en comaflotante, la normalización de las mantisas permite:
A) Que el número de bits significativos sea máximo B) Tener una única representación para el cero
C) Detectar su desbordamiento D) Las tres funciones anteriores son ciertas
8.- Un controlador de interrupciones:
A) Identifica la fuente de la interrupción
B) Decide el periférico que debe ser atendido
C) Sirve para ampliar el número de líneas de interrupciones de la UCP
D) Todas las funciones anteriores son ciertas
9.- La principal diferencia entre un procesador de entrada/salida (PE/S) y un controlador de DMAes:
A) El PE/S utiliza E/S controlada por interrupciones, mientras que de el DMA no.
B) El DMA es capaz de controlar elbus, sin intervención de la UCP, y el PE/S no.
C) El PE/S transfiere la información bit a bit, y el DMA por bloques.
D) El PE/S es capaz de ejecutar un programa con instrucciones de E/S.
10.- Un sumador binario de 2 números de 4 bitscada uno, se puede realizar con una memoria ROM de lasiguiente capacidad:
A) 24 palabras x 4 bits/palabra B) 28 palabras x 4 bits/palabra
4
C) 2 palabras x 5 bits/palabra D) 28 palabras x 5 bits/palabra
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II - Mayo 94 (1ª Semana)

Apellidos: ______________________________________________Nombre: ___________________ DNI: ________________

INSTRUCCIONES: Escriba también su nombre, apellidos y nº de DNI en la cabecera de esta página, para evitar que se extravíe.
Conteste a la pregunta teórica en el espacio recuadrado con el enunciado, y al problema en la otra cara de esta misma hoja. No se
corregirá ningún tipo de escrito adicional. En la pregunta teórica responda de forma clara y concisa. En el problema, utilice el
papel que considere necesario para sus cálculos, pero escriba y razone únicamente las partes fundamentales del desarrollo y de la
solución en esta hoja. No quite la grapa que une las dos partes del examen. NO SE PERMITE EL USO DE NINGÚN
MATERIAL.

Cuestión Teórica(2 puntos) : Interrupcionesmultinivel. Anidamiento de interrupciones.

Problema (4 puntos) : En la figura se representa el diagrama de flujo de un algoritmo. Los


B←X
registros A, B y C tienen una longitud de 8 bits. A7 representa el bit más significativo del A← Y
registro A. A' es el complemento a 1 de A. En las operaciones de suma se ignoran los arrastres
del bit más significativo. Diseñar la arquitectura de un sistema digital (Unidad de A←A+B

Procesamiento + Unidad de Control) que realice este algoritmo. Se supone que la unidad de
SI NO
procesamiento dispone de los recursos de cálculo necesarios en el algoritmo. Para la unidad de A7 = 1

control especificar únicamente su diagrama de estados y las acciones que tiene que efectuar
cuando se encuentra en cada uno de los mismos (no es necesario que haga el diseño del circuito A ← A' B←B+1

secuencial correspondiente a la unidad de control).


A← A+1

C←A+B
ESTRUCTURA Y TECNOLOGIA DE LOS COMPUTADORES II
INFORMÁTICA DE SISTEMAS -Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN -Código Carrera 41 - Código Asignatura 109
Tipo de Examen : X - JUNIO 94 (2ªSemana) - Tiempo: 2 horas. No se permite el uso de ningún material.

INSTRUCCIONES: Lea atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI,
Código de Carrera, Código de Asignatura y Tipo de Examen. El test es eliminariorio, debiendo contestar al menos 5 preguntas
correctamente para superarlo. La puntuación del examen es la siguiente: cada respuesta correcta del test vale 0.4 puntos, la cuestión
teórica 2 puntos y el problema 4 puntos. Las respuestas erróneas del test no puntúan negativo.

1.- En un bus con arbitraje centralizado:


A) Cualquier dispositivo puede decidir en qué momento toma el control del bus.
B) Todos los dispositivos actúan de forma cooperativa para compartir el bus.
C) Existe un árbitro responsable de asignar el tiempo de utilización delbus.
D) La temporización debe serasíncrona.
2.- Se dispone de circuitos integrados de memoria RAM de 256 X 4 bits. ¿Cuántos son necesarios para proporcionar una capacidad
de memoria de 2048palabras de 16 bits?
A) 8 B) 16 C) 32 D) Ninguna de las respuestas anteriores es correcta.
3.- Una memoria caché con correspondencia directa dispone de particiones de 16 palabras, siendo su capacidad total de 2048
palabras. La memoria principal tiene una capacidad de 1024K palabras. ¿Cuántos bits hay en los diferentes campos del formato de
dirección?
A) Etiqueta: 9 Partición: 7 Palabra: 4 Bus de datos
B) Etiqueta: 7 Partición: 8 Palabra: 5 Bus de direcciones
Leer
C) Etiqueta: 13 Partición: 4 Palabra: 3 Escribir
D) Ninguna de las respuestas anteriores es correcta
Memoria Controlador
Principal UCP E/S
4.- En la figura se muestra un mecanismo de E/Sdel tipo:
A) Con acceso directo a memoria
B) Localizada en memoria
C) Daisy chain Perif. 1 ... Perif. n

D) Aislada de memoria
5.- Elegir la afirmación que sea verdadera:
A) El diseño de una unidadde control con lógica cableada es el más flexible a la hora de realizar cambios en su diseño
B) La ejecución de unamicroinstrucción requiere una secuencia debúsqueda-decodificación-ejecución
C) Todas las microoperaciones especificadas por unamicroinstrucción polifásica se pueden ejecutar al mismo tiempo
D) Todas las afirmaciones anteriores son verdaderas
6.- Sean dos números binarios de 4 bits representados en complemento a dos: M=0101 y N=1100. El resultado de multiplicarlos
utilizando el algoritmo de Boothmodificado es:
A) 00010100 B) 11101100 C) 11101011 D) 11101000
7.- Cuando en una operación aritmética en coma flotante se produce un desbordamiento de la mantisa hay que realizar una
operación de renormalizaciónconsistente en:
A) Desplazar la mantisa un bit a la izquierda y ajustar el exponente
B) Desplazar la mantisa un bit a la derecha y ajustar el exponente
C) Desplazar a la derecha un número determinado de bits dependiendo del desbordamiento de la mantisa.
D) Ninguna de las respuestasanteriores.
8.- Sea una UCP con 4 líneas de interrupción PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es decir, PI1 tiene la
prioridad mínima y PI4 la máxima. Estas líneas son enmascarables mediante 4 bits del registro de estado RE de la UCP. Una
petición de interrupción enmascara a las demás líneas menos prioritarias. Se supone que se producen 4 peticiones de interrupción en
este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen mientras se está ejecutando el programa de
servicio de PI3, ¿en qué orden se tratan las interrupciones?
A) PI3, PI4, PI2 y PI1 B) PI3, PI4, PI3, PI2 y PI1 C) PI3, PI1, PI4 y PI2 D) PI3, PI1, PI3, PI2 y PI4
9.- Un multiplicador binario de 2 números de 4 bitscada uno se puede realizar con una memoria ROM de lasiguiente capacidad:
A) 24 palabras x 16 bits/palabra B) 28 palabras x 8 bits/palabra
16
C) 2 palabras x 4 bits/palabra D) 24 palabras x 4 bits/palabra
10.- La transferencia de datos mediante DMA utilizando la estrategia por demanda, consiste en:
A) El periférico es quien comienza la transferencia por DMA, pero devuelve el control a la UCP cuando no tiene más datos
disponibles.
B) Cada vez que el periférico solicita una transferencia por DMA se envía un único dato y se devuelve el control a la UCP. El
proceso acaba cuando se ha transferido todo el bloque.
C) Cuando el DMA toma el control delbus lo retiene durante un solo ciclo. Transmite una palabra y libera elbus.
D) Cuando el DMA toma el control delbus no lo libera hasta haber transmitido el bloque de datos pedido.
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II - Junio 94 (2ª Semana)

Apellidos: ______________________________________________Nombre: ___________________ DNI: ________________

INSTRUCCIONES: Escriba también su nombre, apellidos y nº de DNI en la cabecera de esta página, para evitar que se extravíe.
Conteste a la pregunta teórica en el espacio recuadrado con el enunciado, y al problema en la otra cara de esta misma hoja. No se
corregirá ningún tipo de escrito adicional. En la pregunta teórica responda de forma clara y concisa. En el problema, utilice el
papel que considere necesario para sus cálculos, pero escriba y razone únicamente las partes fundamentales del desarrollo y de la
solución en esta hoja. No quite la grapa que une las dos partes del examen. NO SE PERMITE EL USO DE NINGÚN
MATERIAL.

Cuestión Teórica(2 puntos) : Descripción de los elementos clave de la arquitectura de una unidad de control
microprogramada.

Problema (4 puntos) : Sea el siguiente algoritmo:


a) ¿Cuál es el valor de R al finalizar? ¿Qué operación realiza este algoritmo?
1: Declaración de registros : A[5], B[3], R[5]; b) Diseñar la arquitectura de un sistema digital (Unidad de Procesamiento +
2: Inicio: A ← 00001, B ← 100; (números binarios) Unidad de Control) que realice este algoritmo. Se supone que la unidad de
3: Bucle: A ← A * B; procesamiento dispone de un recurso de cálculo que efectúa la multiplicación.
4: B ← B - 1; Para la unidad de control especificar sólo su diagrama de estados y las acciones
5: if B <> 1 then go to Bucle; que tiene que efectuar cuando se encuentra en cada uno de los mismos (no es
6: R ← A; necesario que se haga el diseño del circuito secuencial correspondiente a la
7: Parar; unidad de control).
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II
SEPTIEMBRE 94
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : X - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.

Apellidos: _______________________________________________ Nombre: ______________________ DNI: ______________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA con su examen. Lea
atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI, Código de Carrera, Código de
Asignatura y Tipo de Examen. El test es eliminatorio, debiendo contestar al menos 5 preguntas correctamente para superarlo. La
puntuación del examen es la siguiente: cada respuesta correcta del test vale 0.4 puntos, la cuestión teórica 2 puntos y el problema 4
puntos. Las respuestas erróneas deltest no puntúan negativo.

Test : Conteste en la hoja de lectura automática(4 puntos; mínimo 5 respuestas correctas para superarlo)

1.- En el diagrama de bloques a nivel de registro de un sistema digital, las líneas de habilitación:
A) Seleccionan uno de los posibles modos de funcionamiento de un bloque determinado.
B) Especifican el instante de tiempo en el que un bloque debe realizar su operación.
C) Permiten a los módulos solicitar una interrupción a la UCP, haciendo innecesario el empleo de un vector de interrupción.
D) Ninguna de las anteriores es verdadera.

2.- Decir cuál de las siguientes afirmaciones es verdadera:


A) Una microinstrucción es una o másmicrooperaciones que se pueden ejecutar de forma simultánea.
B) Una microinstrucción está compuesta de algunos campos que definen las señales de control, la dirección de la próxima
microinstrucción y sutemporización.
C) Cada una de las fases de la ejecución de una instrucción máquina supone una serie de microoperaciones en las que
intervienen los registros de la UCP.
D) Todas las afirmaciones anteriores son ciertas.

3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro de argumento,
registro de marca y contenido de la memoria, ¿cuál será el valor del registro de máscara?
A) 0 0 1 1 0 1 0 1
1 1 0 1 1 0 1 0 ARGUMENTO
? ? ? ? ? ? ? ? MÁSCARA
B) 0 0 1 1 0 1 0 0
1 1 0 1 1 1 1 1 0
1 1 0 1 1 0 1 1 1
C) 1 1 0 0 1 0 1 1
0 0 0 1 0 0 0 1 1 MARCA
1 0 1 0 0 0 1 0 0
0 1 0 1 1 1 0 1 0 D) 1 1 0 0 0 1 0 1

4.- ¿Cuál de las siguientes afirmaciones es cierta?


A) Una memoria tipo pila se utiliza en el tratamiento de interrupciones para almacenar el estado del procesador después de
ejecutar el programa de servicio de una interrupción.
B) Una memoria tipo pila se utiliza en el tratamiento de interrupciones para almacenar el estado del procesador antes de ejecutar
el programa de servicio de una interrupción.
C) Una memoria tipo pila se utiliza en el salto asubprograma para almacenar la dirección de dichosubprograma.
D) Ninguna de las anteriores es cierta.

5.- La transferencia de datos mediante DMA utilizando la estrategiapor robo de ciclos, consiste en:
A) El periférico es quien comienza la transferencia por DMA, pero devuelve el control a la UCP cuando no tiene más datos
disponibles.
B) Cada vez que el periférico solicita una transferencia por DMA se envía un único dato y se devuelve el control a la UCP. El
proceso acaba cuando se ha transferido todo el bloque.
C) Cuando el DMA toma el control delbus lo retiene durante un solo ciclo. Transmite una palabra y libera elbus.
D) Cuando el DMA toma el control delbus no lo libera hasta haber transmitido el bloque de datos pedido.

6.- La principal diferencia entre entrada/salida (E/S) controlada por interrupciones y E/S controlada por DMA es:
A) La E/S controlada por interrupciones permite a la UCP robar ciclos de reloj al DMA.
B) En E/S controlada por interrupciones, la UCP interviene de forma activa durante toda la transferencia de datos.
C) El controlador de DMA es capaz de ejecutar un programa con instrucciones de E/S.
D) Ninguna de las afirmaciones anteriores es cierta.
7.- Sean dos números binarios de 8 bits representados en código BCD: X = 01010100, Y = 00101000. El resultado de su suma,
representado en BCD, es:
A) 10000010
B) 01111100
C) 11001001
D) 10101000

8.- Se desea diseñar un sumador combinacional de 7 números de 1 bit utilizando únicamente módulos sumadores binarios
completos, SBC. ¿Cuántos módulos de este tipo serían necesarios?
A) 3 B) 4 C) 5 D) 7

9.- En una jerarquía de memoria, cuando se va hacia los niveles inferiores (desde los registros de la UCP hacia la cinta magnética),
ocurre que:
A) El tiempo de acceso disminuye
B) La frecuencia de acceso a la memoria por parte de la UCP aumenta
C) El coste por unidad de información (bit) disminuye
D) La capacidad disminuye

10.- Cuando se suman dos números binarios de n bits cada uno: x = x n −1 x n − 2 ..... x1 x0 , y = y n −1 y n − 2 ..... y1 y0 , decir cuál
de las siguientes afirmaciones es cierta:
A) Un arrastre que llega a la posición i-ésima desde la posición (i-1)-ésima, se propagará a la posición (i+1)-ésima si se cumple
que la suma aritmética de los bits correspondientes x( i e yi ) es igual a cero, es decir, xi + yi = 0
B) Un arrastre se generará en la posición i-ésima si se cumple que la suma aritmética de los bits correspondientes ( xi e yi ) es
cero, es decir, xi + yi = 0 .
C) Nunca se propagará un arrastre en la posicióni-ésima si el bit xi es cero, con i>0.
D) Un arrastre que llega a la posición i-ésima desde la posición (i-1)-ésima, se propagará a la posición (i+1)-ésima si se cumple
que la suma aritmética de los bits correspondientes x( i e yi ) es igual a uno, es decir, xi + yi = 1.

Cuestión Teórica :(2 puntos)


Exponga de forma clara y concisa las razones por las que la utilización de una memoria caché mejora el rendimiento de un
computador.
Extensión máxima de la respuesta:una cara de una página.

Problema :(4 puntos)


Se dispone de un computador que funciona a una velocidad de 108 ciclos/segundo, y en el que en promedio una instrucción
emplea 5 ciclos máquina, y cada operación de lectura o escritura de memoria principal tarda 1 ciclo máquina. Determinar la
máxima velocidadde transferencia de datos, en palabras/segundo, para los casos siguientes:
a) E/S controlada por programa, suponiendo que se emplean 4 instrucciones en transferir una palabra.
b) Utilizando un sistema DMA, con estrategia de transferenciapor ráfagas.
c) Utilizando un sistema DMA, con estrategia de transferenciapor robo de ciclos.
d) Utilizando un sistema DMA, con estrategia de transferencia DMA transparente, suponiendo que en cada instrucción hay 2
ciclos en los cuales la UCP no utiliza elbus.
SOLUCIONES DE LOS TESTS

Junio 94 Junio 94
Nº Pregunta (1ª semana) (2ª semana) Septiembre 94
1 A C B
2 B C D
3 B A B
4 C B B
5 C B C
6 D B B
7 A B A
8 D B B
9 D B C
10 D A D
.
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (JUNIO 95 - 1ª SEMANA)
INFORMÁTICA DE SISTEMAS - INFORMÁTICA DE GESTIÓN
Tipo de Examen : X - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: _______________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _______________________________________________

INSTRUCCIONES:Complete sus datos personales en la cabecera de esta hoja, ENTRÉGUELA y con su examen.
La puntuación del examen es la siguiente: el test vale 4 puntos, la cuestión teórica 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona.
1 2 3 4 5 6 7 8 9 10

1.- Decir cuál de las siguientes es cierta:


A) Todas las siguientes son ciertas.
B) En una memoria de acceso aleatorio el tiempo de acceso es independiente de la posición donde está localizada la
información.
C) En una memoria de acceso aleatorio el tiempo de acceso a cualquier posición es constante e independiente de la secuencia de
accesos que haya habido anteriormente.
D) En una memoria de acceso aleatorio se puede acceder a las informaciones almacenadas en ella en cualquier orden.
2.- En un sumador binario completo (SBC) de dos números binarios de un bit, x e y, y con acarreo de entrada c-1, las funciones
lógicas del resultado de la suma (s) y del acarreo de salida (c) son: ⊕
( es la OR exclusiva)
A) s = x ⊕ y c = ( x ⊕ y )c−1
B) s = x ⊕ y ⊕ c−1 c = ( x ⊕ y )c−1 + xy
C) s = x ⊕ y ⊕ c−1 c = ( x ⊕ y )c−1 + xc−1
D) Todas las anteriores son falsas.
3.- Una memoría caché asociativa por conjuntos consta de 16 (24) conjuntos con 4 particiones por conjunto. La memoria principal
tiene una capacidad de 1M (220) palabras dividida en bloques de 128 (27) palabras. A la dirección de memoria principal, expresada
en binario, 10100001100100110000, le corresponde el conjunto, expresado en decimal:
A) 7 B) 3 C) 2 D) Ninguna de las anteriores.
4.- La línea de control Reconocimiento de interrupción:
A) Indica que está pendiente un reconocimiento de interrupción.
B) Indica que está pendiente, y sin reconocer, una interrupción.
C) Permite saber que la interrupción pendiente ha sido reconocida.
D) Indica que la UCP esta preparada para reconocer una interrupción.
5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco
tienen una velocidad de transferencia de 500 Kbytes/seg, y las de cinta de 150 Kbytes/seg. La máxima velocidad de transferencia
agregada a este sistema es de:
A) 1300 Kbytes/seg. B) 650 Kbytes/seg. C) 500 Kbytes/seg D) Ninguna de las anteriores.
6.- Se desea comparar dos números binarios de 3 bits cada uno: X=x2x1x0 con Y=y2y1y0. Utilizando comparadores de un bit se
compara cada pareja de bits, xi con yi, obteniéndose: Mi (xi>yi), Ii (xi=yi) y mi (xi<yi). Las funciones lógicas del resultado de la
comparación de X con Y: M (X>Y), I (X=Y) y m (X<Y) son:
A) M=M2+I2M1+I2I1M0, I=I2I1I0, m=m2+I2m1+I2I1m0
B) M=M2+I2M1+I2I1M0, I=I2I1I0, m=m0+I0m1+I0I1m2
C) M=M0+I0M1+I0I1M2, I=I2I1I0, m=m0+I0m1+I0I1m2
D) Ninguna de las anteriores.
7.- En un sistema con interrupciones encadenadas(daisy chain), la prioridad de un determinado módulo depende:
A) De la prioridad asignada a su linea de interrupción en la cadena.
B) De la UCP.
C) Del controlador de interrupciones de la cadena.
D) De su posición en la cadena.
8.- Cuando la UCP atiende una petición de interrupción anidada :
A) Guarda el contexto del programa que en ese momento se está ejecutando en una memoria de tipo pila.
B) Guarda el contexto del programa que en ese momento se está ejecutando en el registro RDR (Registro de Datos de Retorno)
de la caché.
C) Guarda el contexto del programa que en ese momento se está ejecutando en los registros internos de la UCP.
D) Guarda el contexto del programa que en ese momento se está ejecutando en una memoria de tipo asociativo.
9.- La Unidad de Control y la Unidad de Procesamiento se comunican:
A) Mediante los buses de entrada/salida.
B) Mediante un sistema de interrupciones.
C) Mediante las señales de control y de condición.
D) Mediante todos los mecanismos anteriores.
10.- En cada ciclo de reloj, la Unidad de Control:
A) Genera una serie de señales de condición.
B) Lee todas sus entradas y emite un conjunto de señales de control.
C) Genera una señal de reloj que mantiene la temporización básica de todo el sistema.
D) Todas las afirmaciones anteriores son falsas.

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


Cuestión 1 (0.75 puntos): ¿Qué es el principio de localidad de la referencia?
Las referencias a memoria que realiza la UCP para acceder tanto a datos como a instrucciones
suelen estar agrupadas. Los programas tienden a contener una serie de bucles iterativos y de
procedimientos con repetidas referencias a un pequeño conjunto de instrucciones. Las operaciones
sobre ciertas estructuras de datos (listas, arrays, etc.) implican accesos a conjuntos de datos que
están próximos entre sí en la memoria.
Cuestión 2 (0.75 puntos): ¿Cuáles son los principales inconvenientes de la entrada/salida controlada por programa?

• Pérdida de tiempo en el bucle de espera.


• Si existen programas que tienen que ejecutarse de forma periódica no se puede permanecer en el
bucle de espera por tiempo indefinido.
• Hay problemas cuando se quiere atender a varios periféricos.

Cuestión 3 (0.5 puntos): A la hora de diseñar una unidad de control, ¿en qué situaciones es especialmente útil utilizar un
contador?
Cuando el algoritmo de transferencia de registros presenta una estructura lineal, con pocas rupturas
de secuencia (flujo secuencial de sentencias).

Problema : Para la Unidad de Procesamiento de la figura, diseñar


la Unidad de Control que ejecute el siguiente algoritmo:
Si X es impar entonces A←B+C, si no A← ←B-C
Para ello, realice los siguientes pasos:
A) Diagrama de flujo del algoritmo (0.5 puntos).
B) Descripción de las señales de control de la unidad de
procesamiento (0.5 puntos).
C) Diagrama de estados del algoritmo. Acciones tomadas por la
Unidad de Control en cada uno de los estados (0.5 puntos).
D) Tabla de estados, asignación (codificación) de los estados y
tabla de transición de estados (0.5 puntos).
E) Síntesis de la Unidad de Control, utilizando cualquier
procedimiento de diseño excepto PLA . Describa claramente
cada uno de los pasos que realice (2 puntos).
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (JUNIO 95 - 2ª SEMANA)
INFORMÁTICA DE SISTEMAS - INFORMÁTICA DE GESTIÓN
Tipo de Examen : X- Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: _______________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _______________________________________________

INSTRUCCIONES:Complete sus datos personales en la cabecera de esta hoja, ENTRÉGUELA y con su examen.
La puntuación del examen es la siguiente: el test vale 4 puntos, la cuestión teórica 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona.
1 2 3 4 5 6 7 8 9 10

1.- La línea de control Escritura en memoria (E):


A) Permite que los datos que están sobre el bus se escriban en la posición de memoria direccionada.
B) Origina que el dato contenido en la posición de memoria direccionada se coloque en el bus.
C) Indica que un módulo necesita obtener el bus para un operación de escritura en memoria.
D) Indica que el dato ha sido aceptado y escrito en la posición de memoria direccionada.
2.- La multiplexación en el tiempo del bus consiste en:
A) Reducir la complejidad de la circuitería asociada a cada módulo al utilizar un menor número de líneas.
B) Utilizar un árbitro o controlador del bus para asignar el tiempo de utilización de cada línea de control.
C) Utilizar algunas líneas con objetivos diferentes.
D) Temporizar la ocurrencia de eventos dentro del bus de control con un multiplexor.
3.- La memoria interna del procesador:
A) Es una memoria relativamente grande y rápida, utilizada para el almacenamiento de los programas que están en ejecución en
el computador y sus correspondiente datos.
B) Esta constituida por un pequeño conjunto de registros de alta velocidad que son internos a la UCP.
C) La constituyen dispositivos periféricos internos accesibles a la UCP a través de controladores de E/S.
D) La constituye una memoria caché dentro del mismo procesador.
4.- Un computador tiene una unidad de memoria de 64K (216) palabras y una memoria caché de 1K (210) palabras. La memoria
caché utiliza correspondencia directa, con un tamaño de partición de 64 (26) palabras. A la dirección de memoria principal,
expresada en binario, 0001100100110000, le corresponde la partición, expresada en decimal:
A) 3 B) 4 C) 15 D) Ninguna de las anteriores.
5.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos. Cuando la UCP
dispone en exclusiva del bus las instrucciones emplean, en promedio, 2 ciclos de reloj en ser ejecutadas. ¿Qué reducción en la
velocidad de la UCP supone la transferencia de DMA?
A) 25 % B) 33.3 % C) 50 % D) Ninguna de las anteriores.
6.- En las interrupciones vectorizadas, el periférico coloca su vector de interrupción en:
A) Bus de control. B) Bus de direcciones. C) Líneas de petición de interrupción. D) Bus de datos.
7.- En la suma de los dos números binarios: x = 100101010010011
y = 001010110101011
A) Se generan 3 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 5.
B) Se generan 3 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 7.
C) Se generan 2 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 6.
D) Ninguna de las anteriores es cierta.
8.- Se desea sumar 2 números binarios de 4 bits cada uno: X=x3x2x1x0 e Y=y3y2y1y0. Sean las funciones lógicas gi=xiyi
(generación de arrastre) y pi=xi⊕yi (propagación de arrastre) (⊕ representa la OR exclusiva). Si C es el arrastre de la suma de X e
Y, su función lógica es:
A) C=g3+p3g2+p3p2g1+p3p2p1g0 B) C=p3+g3p2+g3g2p1+g3g2g1p0
C) C=g0+p0g1+p0p1g2+p0p1p2g3 D) C=p0+g0p1+g0g1p2+g0g1g2p3
9.- Las funciones básicas de la unidad de control son:
A) Atender a las operaciones de E/S. B) Atender a las señales de interrupción y de condición.
C) Generar y secuenciar las señales de control. D) Todas las funciones anteriores.
10.- En el direccionamiento implícito de microinstrucciones:
A) Las microinstrucciones son más pequeñas.
B) Las microinstrucciones se ejecutan, salvo bifurcaciones, en el orden en que se almacenan en la memoria de control.
C) Hay dos clases de microinstrucciones: para especificar las señales de control y para especificar las bifurcaciones.
D) Todas las respuestas anteriores son verdaderas.
Cuestiones Teóricas:Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.75 puntos): ¿Cómo influye el tamaño de bloque de la caché en su tasa de acierto?
Inicialmente, según se va aumentando el tamaño del bloque la tasa de acierto aumentará por el
principio de localidad (aumenta la probabilidad de que sean accedidos, en el futuro inmediato,
datos próximos a la palabra referenciada). A partir de un cierto tamaño de bloque disminuirá (la
probabilidad de utilizar la información contenida en el bloque es menor que la probabilidad de
reusarla).
Cuestión 2 (0.75 puntos): ¿Qué acciones realiza la UCP, y para qué, cuando atiende una interrupción?
Suspende la ejecución del programa en curso y salva el contenido del CP y de los otros registros
accesibles por programa. – Inhibe las interrupciones (bit de máscara) y ejecuta el programa de
servicio de interrupción. – Se informa al periférico de que se ha atendido su petición. – Finalizado
el programa de servicio, se activa el sistema de interrupciones. – Se recuperan el CP y los
registros y se continúa la ejecución del programa interrumpido en el punto en que se dejó.
Cuestión 3 (0.5 puntos): ¿Cuáles son las principales diferencias entre memorias volátiles y no volátiles?¿Y entre memorias
dinámicas y estáticas?
M. volátil: pierde su contenido al cesar la tensión de alimentación.
M. no volátil: conserva su contenido al cesar la tensión de alimentación.

M. dinámica: la información almacenada se pierde con el tiempo, y por tanto hay que refrescarla.
M. estática: la información que contiene no varía con el tiempo.
Problema (0.5 puntos cada apartado) : En la figura se muestra una UCP (Unidad de Procesamiento + Unidad de Control) y en la
tabla se da el significado de cada una de sus señales de control. La señal de condición s0 se activa cuando el contenido del registro
acumulador (AC) sea igual a cero. Obtener la secuencia de microoperaciones y las señales de control que hay que activar para que
esta UCP ejecute las siguientes instrucciones, suponiendo que éstas se encuentran ya almacenadas en el registro de instrucciones
(RI):
A) Cargar el acumulador con el contenido de una dirección de memoria.
B) Almacenar el acumulador en una dirección de memoria.
C) Sumar al acumulador un operando con direccionamiento inmediato.
D) Sumar al acumulador un operando con direccionamiento
directo. Señal Microoperación controlada
E) Sumar al acumulador un operando con direccionamiento Control
indirecto. c0 Leer de la memoria
F) AND con el acumulador de un operando en modo directo. c1 Escribir en la memoria
G) Bifurcar, en modo de direccionamiento directo. c2 Transferir el contenido de RM a RD (RD←(RM))
H) Bifurcar si acumulador = 0, en modo de direccionamiento c3 Transferir el contenido de CP a RM (RM←(CP))
directo. c4 Transferir el contenido de RM a CP (CP←(RM))
c5 Transferir el contenido de CP a RD (RD←(CP))
c6 Incrementar en 1 el contenido de CP (CP←(CP)+1)
c7 Transferir el contenido de RM a RI (RI←(RM))
c8 Transferir el contenido de RM a la Entrada1 de la
UAL
c9 Transferir el contenido de RM a AC (AC←(RM))
c10 Transferir el contenido de AC a RM (RM←(AC))
c11 AC←(AC) + Entrada1
c12 AC←(AC) AND Entrada1
c13 AC ← ( AC)
c14 Transferir el campo de dirección de RI a RD
(RD←(RI(dirección)))
c15 Transferir el campo de datos de RI a RM
(RM←(RI(datos)))
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (SEPTIEMBRE 95 - ORIGINAL)
INFORMÁTICA DE SISTEMAS - INFORMÁTICA DE GESTIÓN
Tipo de Examen : X- Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _______________________________________________

INSTRUCCIONES:Complete sus datos personales en la cabecera de esta hoja, ENTRÉGUELAy con 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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona.
1 2 3 4 5 6 7 8 9 10

1.- ¿Las siguientes afirmaciones sobre la arquitectura de von Neumann son ciertas?
I. El que el contenido de una dirección de memoria sea considerado como un dato o una instrucción depende únicamente de
quien recibe esa información.
II. Si se desea efectuar un determinado cálculo se diseña una configuración específica de componentes electrónicos.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Cuando una Unidad de Memoria utilizaacceso directo, el acceso se efectúa mediante:
A) Un mecanismo de acceso aleatorio seguido de una búsqueda de tipo secuencial.
B) Un mecanismo de acceso secuencial seguido de una búsqueda de tipo aleatorio.
C) Un mecanismo de acceso aleatorio seguido de una búsqueda de tipo asociativo.
D) Un mecanismo de acceso directo seguido de una búsqueda de tipo secuencial.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A
? ? ? ? ? ? ? ? ARGUMENTO
la vista de los valores del registro de máscara y del contenido de la memoria,
1 0 0 1 0 1 0 0 MÁSCARA ¿cuántos de los argumentos propuestos a continuación producirían ese registro
de marca?
1 1 0 1 1 1 1 1 0 1 0 1 1 0 1 0 0 Argumento 1
1 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 Argumento 2
0 0 0 1 0 0 0 1 0 MARCA 1 0 0 1 1 0 0 0 Argumento 3
1 0 1 0 0 1 1 0 0
1 1 1 1 1 0 1 0 Argumento 4
1 1 0 1 1 0 0 1 1
0 1 0 1 0 0 1 1 Argumento 5
A) 1 B) 2 C) 3 D) Ninguno de los anteriores
4.- Un computador tiene una unidad de memoria de 512 (29) palabras y una memoria caché de 32 (25) palabras. La memoria caché
utiliza correspondencia directa, con un tamaño de partición de 8 (23) palabras. Suponiendo que inicialmente la memoria caché está
vacía, ¿cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal 000000000,
000000001, 000000011, 000100001, 000100101, 000010000, 000010010 y 000000000 ?
A) 3 B) 4 C) 5 D) Ninguna de las anteriores
5.- ¿Las siguientes afirmaciones son ciertas?
I. E/S localizada en memoriautiliza un repertorio de instrucciones específico para operaciones de E/S.
II. E/S aislada de memoriaemplea parte del espacio de direcciones de la memoria.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Un computador dispone de un canal selector que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco
tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 105 bytes/seg. Si para la transferencia de un byte del canal
selector a memoria principal se utiliza el bus del sistema durante 10 nseg., ¿qué porcentaje máximo de tiempo estaría ocupado el bus
del sistema en una transferencia de datos a través de este canal selector?.
A) 0,1 % B) 1 % C) 10 % D) Ninguna de las anteriores.
7.- Un sumador binario de 2 números, uno de 8 bits y el otro de 4 bits, se puede realizar con una memoria ROM de la siguiente
capacidad:
A) 216 palabras x 17 bits/palabra. B) 212 palabras x 17 bits/palabra.
8
C) 2 palabras x 9 bits/palabra. D) Ninguna de las anteriores.
8.- Utilizando el método de lasuma condicional, la suma de 2 números binarios de 60 bits cada uno se hace en:
A) 5 pasos B) 6 pasos C) 7 pasos D) Ninguna de las anteriores
9.- Las señales de control denominadas"puntos de control"se emplean en
A) La selección de operaciones de los registros de la Memoria Principal.
B) El control de las operaciones, direccionamiento y transferencia de datos en los controladores de E/S.
C) La selección de operaciones, vias de datos y cargas de los registros en la UCP.
D) Ninguna de las anteriores.
10.- ¿Las siguientes afirmaciones son ciertas?
I. El formato horizontalde microinstrucciones requiere de memorias de control más grandes.
II. El formato vertical de microinstrucciones tiene las señales de control ya decodificadas.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.8 puntos): ¿En qué consisten los sumadores con anticipación del arrastre?
Reducen el retardo producido por la propagación de los arrastres de los SBC’s de menor peso a los
de mayor peso. Para ello generan la entrada de arrastre de la etapa i-ésima directamente a partir
de los bits de entrada de las etapas precedentes (i-1, i-2, ..., 1, 0), sin tener que esperar que el
arrastre se propague a través de dichas etapas.

Cuestión 2 (0.6 puntos): Ventajas de utilizar E/S localizada en memoria frente a E/S aislada de memoria
.
Al haber un único espacio de direcciones se pueden utilizar las mismas instrucciones máquina para
acceder a memoria y a los periféricos (es más flexible, puesto que normalmente existen más
instrucciones de referencia a memoria que de E/S). Sólo se necesita un conjunto de señales de
lectura y escritura.

Cuestión 3 (0.6 puntos): Ventajas y desventajas de la multiplexación en el tiempo de las líneas del bus.
Ventajas: se utilizan menos líneas, se ahorra espacio y resulta más económico.
Desventajas: necesidad de una circuitería más compleja y reducción potencial en el rendimiento del
computador.

Problema: Se desea realizar un circuito combinacional que multiplique dos números binarios, uno de ellos de 3 bits (b2b1b0) y
el otro de 2 bits (a1a0), utilizando para ello módulos de memoria ROM de capacidad42palabras x 4 bits/palabra (véase la figura).
A) ¿Cuántos módulos ROM son necesarios? Dibujar el esquema del circuito que se obtiene utilizando los módulos ROM
propuestos y, si considera necesario, otros módulos combinacionales. (1,5 puntos).
B) Escribir el contenido de todos los módulos de memoria ROM utilizados en el apartado anterior. Realizar una tabla
independiente para cada uno de los módulos y especificar claramente a qué módulo corresponde. (2 puntos).
C) Calcular el % de aprovechamiento de la capacidad total de la memoria y proponer alguna forma de mejorar el resultado. (0,5
puntos).

Bus de ROM Bus de


direcciones 16x4 datos
4 4

CS

Selección de
circuito
SOLUCIONES DE LOS TESTS

Junio 95 Junio 95
Nº Pregunta (1ª semana) (2ª semana) Septiembre 95
1 A A B
2 B C A
3 C B B
4 C B B
5 A B D
6 A D B
7 D D Anulada*
8 A A C
9 C C C
10 B D B

*
La pregunta número 7 del examen de septiembre fue anulada ya que son ciertas las respuestas A y B.
.
95 Problemas de los
exámenes del curso 94/95

Problema 95-1: 1ª semana de junio de 1995


Para la Unidad de Procesamiento de la Figura 95-1-1, diseñar la Unidad de
Control que ejecute el siguiente algoritmo:
Si X es impar entonces A←B+C, si no A←B-C

B C X
8 8 xo
8 1
Sumador/Restador c5 8
paralelo S/R c0
8
c3
8
A
c2 c1
c4
Bus de Entrada
• 8 • •
Bus de Salida
8 s0 (= x0)

Inicio c0 Unidad de
Circuito c1 Procesamiento
Fin de
Reloj Control c5
Unidad de
Control

Figura 95-1-1 Unidad de Procesamiento + Unidad de Control

1
Estructura y Tecnología de Computadores II

Para ello, realice los siguientes pasos:


A) Diagrama de flujo del algoritmo. (0.5 puntos.)
B) Descripción de las señales de control de la unidad de procesamiento.
(0.5 puntos.)
C) Diagrama de estados del algoritmo. Acciones tomadas por la Unidad
de Control en cada uno de los estados. (0.5 puntos.)
D) Tabla de estados, asignación (codificación) de los estados y tabla de
transición de estados. (0.5 puntos.)
E) Síntesis de la Unidad de Control, utilizando cualquier procedimiento
de diseño excepto PLA . Describa claramente cada uno de los pasos
que realice. (2 puntos.)
Solución
A) El diagrama de flujo es transcripción directa del algoritmo, tal como se
muestra en la Figura 95-1-2 (ya que no se indica nada al respecto, se ha
supuesto que los registros X, B y C han sido cargados previamente desde el
bus de entrada del sistema).

INICIO

Si (s0) No (s0)
X impar

A←B+C A←B-C

FIN
Figura 95-1-2 Diagrama de flujo del algoritmo

2
95 Problemas de los exámenes del curso 94/95

B) La descripción de las señales de control de la unidad de procesamiento


de la Figura 95-1-1 se muestra en la Tabla 95-1-1.

Señal Descripción

c0 Cargar X desde el bus de entrada


c1 Cargar C desde el bus de entrada
c2 Cargar B desde el bus de entrada
c3 Cargar A desde el sumador/restador paralelo
c4 Transferir A al bus de salida
c5 Seleccionar la operación de suma (1) o resta (0)
Tabla 95-1-1 Descripción de las señales de control

C)
Inicio
S0
Inicio

S1
s0 s0

S2 S3

Figura 95-1-3 Diagrama de estados


En la Figura 95-1-3 se propone un diagrama con 4 estados para este
algoritmo. (Aunque no se indica nada sobre las señales Inicio y Fin en el
enunciado, se ha preferido incluir un estado S0 en el que el sistema permanece
hasta la activación de Inicio. El problema sería igualmente válido si se

3
Estructura y Tecnología de Computadores II

hubiera omitido S0; en este caso, después de S2 y S3 existiría un estado de


finalización S4.) El sistema permanece en el estado S0 hasta que se active la
señal Inicio. En el estado S1 se realiza una bifurcación dependiendo del valor
de la señal de condición s0. La operación aritmética correspondiente se
realiza bien en el estado S2, bien en el S3. Finalmente se regresa al estado S0.
Ya que no se indica nada al respecto, el resultado del algoritmo, almacenado
en el registro A, no será transferido al bus de salida del sistema al finalizar.

Señales de
µ-operación
Estado control a
ejecutada
activar

S0 NOP -------
S1 NOP -------
S2 A←B+C c5,c3
S3 A←B-C c3
Tabla 95-1-2 Acciones tomadas por la Unidad de Control

D) En la Tabla 95-1-3 está representada la tabla de estados (estado


presente, próximo estado en función de las señales de condición y salidas)
correspondiente al diagrama de la Figura 95-1-3. (En adelante, la señal Inicio
se representará como i para simplificar la notación.)

E. presente Próximo estado Salidas


is0 is0 is0 is0 c5 c4 c3 c2 c1 c0

S0 S0 S0 S1 S1 0 0 0 0 0 0
S1 S3 S2 S3 S2 0 0 0 0 0 0
S2 S0 S0 S0 S0 1 0 1 0 0 0
S3 S0 S0 S0 S0 0 0 1 0 0 0

4
95 Problemas de los exámenes del curso 94/95

Tabla 95-1-3 Tabla de estados


La Tabla 95-1-4 representa la asignación de los estados. Ya que hay 4
estados, bastarán 2 bits para representarlos. Finalmente, la Tabla 95-1-5
presenta la tabla de transición de estados, que se obtiene directamente de la
Tabla 95-1-3 aplicando la codificación de la Tabla 95-1-4.

Q1 Q0

S0 0 0
S1 0 1
S2 1 0
S3 1 1
Tabla 95-1-4 Asignación de estados

Q1(t)Q0(t) Q1(t+1)Q0(t+1) Salidas


is0 is0 is0 is0 c5 c4 c3 c2 c1 c0

0 0 00 00 01 01 0 0 0 0 0 0
0 1 11 10 11 10 0 0 0 0 0 0
1 0 00 00 00 00 1 0 1 0 0 0
1 1 00 00 00 00 0 0 1 0 0 0
Tabla 95-1-5 Tabla de transición de estados
E) Ya que en el apartado anterior se ha calculado la tabla de transición de
estados (Tabla 95-1-5), es fácil a partir de ella calcular las funciones de
excitación de sendos biestables tipo D. Puesto que esta tabla está constituida
por gran cantidad de ceros se puede llegar fácilmente a las expresiones de las
funciones de excitación por simple inspección, sin recurrir a los mapas de
Karnaugh:
A partir de estas expresiones se puede construir la unidad de control que se

5
Estructura y Tecnología de Computadores II

D 0 = Q 1 Q 0 i + Q 1 Q 0 is 0 D1 = Q1 Q0

c3 = Q1 Q0 + Q1 Q0 = Q1 c5 = Q1 Q0
muestra en la Figura 95-1-4.

i s0 Q 1 Q 1 Q 0 Q 0

D1 Q1

> Q1
Clear

D0 Q0

> Q0
c5 Clear
c3

Reloj
Figura 95-1-4 Esquema de la Unidad de Control
Las señales de control se han obtenido fácilmente con puertas lógicas.
También se pueden obtener con un decodificador binario de 2 entradas y 4
salidas a partir de las señales Q1 y Q0.

Nota
Este problema es similar al apartado a) del problema 5-1 propuesto en el
texto básico de teoría y resuelto en el texto básico de problemas.

Problema 95-2: 2ª semana de junio de 1995


(0.5 puntos cada apartado.) En la Figura 95-2-1 se muestra una UCP
(Unidad
6 de Procesamiento + Unidad de Control) y en la Tabla 95-2-1 se da el
95 Problemas de los exámenes del curso 94/95

significado de cada una de sus señales de control. La señal de condición s0 se


activa cuando el contenido del registro acumulador (AC) sea igual a cero.
Obtener la secuencia de microoperaciones y las señales de control que hay
que activar para que esta UCP ejecute las siguientes instrucciones,
suponiendo que éstas se encuentran ya almacenadas en el registro de
instrucciones (RI):

RD c11
Entrada 1
UAL c12
c5
c13
c8
c0
Memoria c2 CP c6
s0
c1
Acumulador (AC)
c3 c4
c9 c10

RM • • •• •

c7
c15
RI

c14
Reloj Unidad c0
s0
Señales de de
condición c13
Control

Figura 95-2-1 UCP (Unidad de Procesamiento + Unidad de Control)


A) Cargar el acumulador con el contenido de una dirección de memoria.
B) Almacenar el acumulador en una dirección de memoria.
C) Sumar al acumulador un operando con direccionamiento inmediato.
D) Sumar al acumulador un operando con direccionamiento directo.
E) Sumar al acumulador un operando con direccionamiento indirecto.

7
Estructura y Tecnología de Computadores II

F) AND con el acumulador de un operando en modo directo.


G) Bifurcar, en modo de direccionamiento directo.
H) Bifurcar si acumulador = 0, en modo de direccionamiento directo.

Señal de
Microoperación controlada
Control

c0 Leer de la memoria

c1 Escribir en la memoria

c2 Transferir el contenido de RM a RD (RD ← (RM))

c3 Transferir el contenido de CP a RM (RM ← (CP))

c4 Transferir el contenido de RM a CP (CP ← (RM))

c5 Transferir el contenido de CP a RD ( RD ← (CP))

c6 Incrementar en 1 el contenido de CP (CP ← (CP) + 1)

c7 Transferir el contenido de RM a RI (RI ← (RM))

c8 Transferir el contenido de RM a la entrada 1 de la UAL

c9 Transferir el contenido de RM a AC (AC ← (RM))

c10 Transferir el contenido de AC a RM (RM ← (AC))

c11 AC ← (AC) + Entrada 1

c12 AC ← (AC) AND Entrada 1

c13 AC ← ( AC ) (Complementar el contenido de AC)

c14 Transferir el campo de dirección de RI a RD (RD ← (RI(dirección)))

c15 Transferir el campo de datos de RI a RM


(RM ← (RI(datos)))

Tabla 95-2-1: Señales de control de la UCP de la Figura 95-2-1

8
95 Problemas de los exámenes del curso 94/95

Solución

SEÑAL
APARTADO PASO MICROOP.
CONTROL

A) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 AC ← (RM) c9

B) 1 RD ← (RI(Dirección)) c14
2 RM ← (AC) c10
3 Memoria ← (RM) c1

C) 1 RM ← (RI(Datos)) c15
2 Entrada1 ← (RM) c8
3 AC ← (AC) + Entrada1 c11

D) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 Entrada1 ← (RM) c8
4 AC ← (AC) + Entrada1 c11

E) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 RD ← (RM) c2
4 RM ← Memoria c0
5 Entrada1 ← (RM) c8
6 AC ← (AC) + Entrada1 c11

F) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 Entrada1 ← (RM) c8
4 AC ← (AC) AND Entrada1 c12

G) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 CP ← (RM) c4

H) 1 RD ← (RI(Dirección)) c14
2 RM ← Memoria c0
3 Si s0 = 1 CP ← (RM) c4

Tabla 95-2-2 Tabla de microoperaciones y de señales de control

9
Estructura y Tecnología de Computadores II

Nota
Este problema es similar al problema 6-2 propuesto en el texto básico de
teoría y resuelto en el texto básico de problemas.

Problema 95-3: Septiembre de 1995


Se desea realizar un circuito combinacional que multiplique dos números
binarios, uno de ellos de 3 bits (b2b1b0) y el otro de 2 bits (a1a0), utilizando
para ello módulos de memoria ROM de capacidad 24 palabras × 4
bits/palabra (véase la Figura 95-3-1).

Bus de ROM Bus de


direcciones 16×4 datos

4 4

CS
Selección de
circuito
Figura 95-3-1 Módulo de memoria ROM a utilizar
A) ¿Cuántos módulos ROM son necesarios? Dibujar el esquema del
circuito que se obtiene utilizando los módulos ROM propuestos y, si
considera necesario, otros módulos combinacionales. (1.5 puntos.)
B) Escribir el contenido de todos los módulos de memoria ROM
utilizados en el apartado anterior. Realizar una tabla independiente
para cada uno de los módulos y especificar claramente a qué módulo
corresponde. (2 puntos.)
C) Calcular el % de aprovechamiento de la capacidad total de la
memoria y proponer alguna forma de mejorar el resultado. (0.5
puntos.)
Solución

10
95 Problemas de los exámenes del curso 94/95

A) El resultado de multiplicar un número binario de 3 bits por otro de 2 bits


va a producir como resultado un número binario de 5 bits. La tabla de
multiplicar estos dos números tendrá 32 (= 23 × 22) entradas, por lo que haría
falta una memoria ROM de 32 palabras × 5 bits/palabra para poder
almacenarla. Ya que únicamente se dispone de módulos de memoria de 16
palabras × 4 bits/palabra habrá que utilizar 4 de estos módulos, dispuestos tal
como se muestra en la Figura 95-3-2.

b1b0a1a0

Módulo 1 Módulo 2
ROM ROM
16×4 16×4
p3p2p1p0

CS CS
p4

p4p3p2p1p0
Módulo 3 Módulo 4
ROM ROM
16×4 16×4
p3p2p1p0

CS CS
b2 p4

b2
Figura 95-3-2 Circuito multiplicador utilizando los módulos propuestos
De las 32 palabras de 5 bits, cada una de ellas tendrá 4 bits almacenados en
un módulo y el bit restante en otro de los módulos (3 bits por cada palabra de
este módulo no serán utilizados). Existen varias posibilidades a la hora de
decidir qué bits se almacenan en cada módulo, pero una vez escogida una de

11
Estructura y Tecnología de Computadores II

ellas habrá que ser coherente con la misma. Sean los 5 bits del producto
p4p3p2p1p0. En adelante supondremos que los 4 bits menos significativos
(p3p2p1p0) se almacenan en los módulos de la derecha de la Figura 95-3-2
(módulos 2 y 4) y que p4 se almacena en los módulos de la izquierda
(módulos 1 y 3).
El producto de b2b1b0 por a1a0 se encontrará almacenado en la dirección
b2b1b0a1a0. Así, por ejemplo, el producto de 101 por 01 estará en la dirección
de memoria 10101.
La selección de los módulos de arriba o de abajo se puede realizar
utilizando como señal de selección b2 (complementada, ya que CS utiliza
lógica negativa). De esta manera, los productos 0b1b0a1a0 se almacenarán en
los módulos 1 y 2, y los productos 1b1b0a1a0 en los módulos 3 y 4.
B) A la vista de cómo se ha organizado la información en la ROM en el
apartado A) es fácil escribir el contenido de cada uno de los módulos de
memoria. En primer lugar, considérese la Tabla 95-3-1, en la que se muestran
todos los productos posibles.

b2b1b0 a1a0 p4p3p2p1p0

000 00 00000
01 00000
10 00000
11 00000
001 00 00000
01 00001
10 00010
11 00011
Tabla 95-3-1 Tabla con todos los resultados posibles de la multiplicación

12
95 Problemas de los exámenes del curso 94/95

b2b1b0 a1a0 p4p3p2p1p0


010 00 00000
01 00010
10 00100
11 00110
011 00 00000
01 00011
10 00110
11 01001
100 00 00000
01 00100
10 01000
11 01100
101 00 00000
01 00101
10 01010
11 01111
110 00 00000
01 00110
10 01100
11 10010
111 00 00000
01 00111
10 01110
11 10101
Tabla 95-3-1 Tabla con todos los resultados posibles de la multiplicación

A partir de aquí es posible distribuir la información de acuerdo a las reglas


que se han fijado en A), con lo que resulta la siguiente distribución por
módulos de ROM (Tabla 95-3-2).
C) Como se puede apreciar en la Tabla 95-3-2, los módulos 1 y 3 se

13
Estructura y Tecnología de Computadores II

encuentran muy desaprovechados, mientras que los 2 y 4 están al 100% de su


capacidad. La capacidad total del sistema de memoria que se ha diseñado es
de 16 × 4 × 4 = 256 bits. De ellos únicamente se han aprovechado (2 × 16 × 4)
+ (2 × 16) = 160 bits. Es decir, el % de aprovechamiento de este sistema es del
160 / 256 × 100 = 62.5%

Módulo 1 Módulo 2 Módulo 3 Módulo 4


Dir.
xxxp4 p3p2p1p0 xxxp4 p3p2p1p0

0 xxx0 0000 xxx0 0000


1 xxx0 0000 xxx0 0100
2 xxx0 0000 xxx0 1000
3 xxx0 0000 xxx0 1100
4 xxx0 0000 xxx0 0000
5 xxx0 0001 xxx0 0101
6 xxx0 0010 xxx0 1010
7 xxx0 0011 xxx0 1111
8 xxx0 0000 xxx0 0000
9 xxx0 0010 xxx0 0110
10 xxx0 0100 xxx0 1100
11 xxx0 0110 xxx1 0010
12 xxx0 0000 xxx0 0000
13 xxx0 0011 xxx0 0111
14 xxx0 0110 xxx0 1110
15 xxx0 1001 xxx1 0101
Tabla 95-3-2 Contenido de los distintos módulos de memoria (en los módulos 1 y 3 “x”
indica que esa posición no es utilizada, por lo que puede contener cualquier valor)

Existen varias soluciones para mejorar el aprovechamiento del sistema. La


primera y más evidente sería utilizar un módulo de memoria de 32 palabras ×
5 bits/palabra. Esta solución está condicionada a la existencia de módulos de
estas características en el mercado.
Existe una segunda solución que utiliza módulos de 16 palabras × 4
bits/palabra en la que se consigue un aprovechamiento del 100%. Basta con

14
95 Problemas de los exámenes del curso 94/95

fijarse en que p4 es siempre 0 salvo en dos ocasiones. Por tanto se pueden


utilizar dos módulos de ROM para almacenar p3p2p1p0, a la manera en que se
ha venido realizando, y utilizar puertas lógicas para generar p4.
Por simple inspección de la Tabla 95-3-1 se comprueba que p4 es
únicamente 1 en los productos 110 × 11 y 111 × 11. Es decir, la expresión
lógica de p4 será
p4 = b2b1b0a1a0 + b2b1b0a1a0 = b2b1a1a0
que se puede generar fácilmente con una puerta AND de cuatro entradas.

Nota
Este problema es similar al problema 4-20 propuesto en el texto básico de
teoría y resuelto en el texto básico de problemas.

15
.
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1996 - 1ª Semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen.Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido .
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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En una arquitectura de Von Neumann, la Unidad de Memoria:
A) Sólo puede intercambiar datos con la UAL de la UCP.
B) Puede contener tanto datos como instrucciones, dependiendo dicha interpretación de quien recibe la información.
C) Se comunica con la UCP mediante interrupciones.
D) Es de acceso secuencial.
2.- En el ciclo de instrucción de un ordenador:
A) La fase de ejecución requiere ladecodificación previa de la instrucción.
B) En la fase de búsqueda se utiliza el registro CP para almacenar en él la instrucción seleccionada.
C) Siempre tiene como resultado el incremento en una unidad del contador de programa.
D) El ciclo de interrupción permite a la UCP generar una interrupción para acceder a la memoria.
3.- Un sistema jerárquico de memoria tiene una memoria caché de 256 palabras con un tiempo de acceso de 10 nseg, y una memoria
principal de 1024 Kpalabras con un tiempo de acceso de 100 nseg. Si la tasa de acierto de la caché es del 90%, ¿cuál será el tiempo
de acceso medio del conjunto?
A) 20 nseg B) 12 nseg C) 19 nseg D) Ninguna de las anteriores
4.- Las memorias de almacenamiento dinámico:
A) Son de lectura destructiva.
B) Deben ser refrescadas cada cierto tiempo debido a que la información que contienen se va deteriorando con el tiempo.
C) Tienen una menor capacidad que sus equivalentes estáticas.
D) Son memorias no volátiles.
5.- En la entrada/salida (E/S) controlada por programa:
A) El bucle de espera disminuye la velocidad de transferencia de los datos desde el periférico a la UCP.
B) Es responsabilidad de la UCP comprobar periódicamente el estado del controlador de E/S.
C) El programa almacenado en el controlador de DMA se hace cargo de la transferencia de datos.
D) Ninguna de las respuestas anteriores es cierta.
6.- Se dispone de un computador que funciona a una velocidad de 108 ciclos por segundo y en el que, en promedio, una instrucción
emplea 10 ciclos máquina y cada operación de lectura o escritura de memoria tarda 5 ciclos máquina. Determinar la máxima
velocidad de transferencia de datos si en este sistema se emplea DMA con estrategia de transferencia
por ráfagas.
7
A) 10 palabras/seg. B) 2 × 10 palabras/seg.
7
C) 6.66 × 10 palabras/seg.
6
D) Ninguna de las anteriores.
7.- Para multiplicar dos números binarios sin signo de 2 y 3 bits, respectivamente, se podría utilizar, por ejemplo:
I. Una memoria ROM de 25 palabras con 4 bits por palabra.
II. 6 puertas AND y 3 sumadores binarios completos (SBC).
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- El producto de dos números,x e y, de n dígitos cada uno en base B, tiene un máximo de:
A) n dígitos. B) n+1 dígitos. C) 2n dígitos. D) 2n+1 dígitos.
9.- Indique si las siguientes afirmaciones son verdaderas:
I. Las señales de condición son salidas de la Unidad de Control (UC) que se utilizan por la Unidad de Procesamiento (UP)
para determinar señales de control condicionales o secuencias alternativas.
II. Las señales de control son salidas de la Unidad de Procesamiento (UP) de acuerdo a un algoritmo que describe la
operación deseada.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
10.- Indique la afirmación verdadera:
A) En una unidad de control microprogramada la memoria de control se utiliza para almacenar en ella los contenidos de los
registros de la UCP.
B) El principal problema de la unidad de control con lógica cableada es la imposibilidad de gestionar saltos a subrutinas al
carecer del registro contador de programa.
C) Si se quiere minimizar el tamaño de la memoria de control de una unidad de control microprogramada debe utilizarse
formato vertical.
D) Todas las respuestas anteriores son ciertas.

Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.8 puntos): ¿Cuáles son los cometidos básicos de un controlador de interrupciones? ¿Qué funciones realiza?
Los cometidos básicos del controlador de interrupciones es ampliar el número de líneas de
interrupción de la UCP y encargarse de toda la gestión del sistema de interrupciones.
Las funciones que realiza son: 1) identificación de la fuente de interrupción, 2) establecer las
prioridades de cada periférico, 3) activar o desactivar de forma selectiva las peticiones de
interrupción que recibe y 4) enviar a la UCP información sobre la petición de interrupción y cuál es
el periférico que debe ser atendido.
Cuestión 2 (0.6 puntos): Si se utiliza un sumador binario de 4 bits para sumar 2 números codificados en BCD, ¿cuándo y por
qué hay que corregir el resultado? ¿Cómo se efectúa esa corrección?
Cuando la suma de los dos números codificados en BCD sea mayor o igual de 10 el resultado
obtenido con el sumador binario no es correcto ya que no se trata de ningún dígito del código BCD.
Para resolver el problema se suma 6 (0110) al valor obtenido en el sumador binario y se genera un
arrastre para una posible siguiente etapa.

Cuestión 3 (0.6 puntos): Ventajas e inconvenientes del formato vertical demicroinstrucciones frente al formato horizontal.
Ventajas:
Ventajas utiliza longitudes de palabra más pequeñas y, por tanto, requiere de memorias de control
más pequeñas.
Desventajas:
Desventajas es más lento que el formato horizontal debido al tiempo que se necesita para la
decodificación de los subampos.

Problema: Se desea realizar una Unidad Aritmético Lógica que realice dos operaciones, suma y comparación de dos números X
(x2x1x0) e Y (y2y1y0) de 3 bits cada uno, siendo su salidaS (s3s2s1s0). El funcionamiento de la unidad viene descrito por:
c = 0 : suma S=X+Y
c = 1 : comparación Si X > Y entonces S = 1 0 0 0 3 3
Si X = Y entonces S = 0 1 0 0
Si X < Y entonces S = 0 0 1 0
Para resolver el problema, seguir obligatoriamente los siguientes apartados: x2x1x0 y2y1y0
A) (1 punto) Diseñar un comparador de números de 1 bit utilizando únicamente puertas
lógicas. c
B) (1.5 puntos) Utilizando comparadores como el diseñado en el apartado A) y puertas
UAL
lógicas, diseñar un comparador de números de 3 bits.
C) (0.5 puntos) Utilizando únicamente sumadores binarios completos (SBC), diseñar un
sumador binario de números de 3 bits.
D) (1 punto) Utilizando únicamente los módulos diseñados en B)comparador
( de números de 3 bits) y C)
(sumador binario de números de 3 bits) y los circuitos combinacionales que considere necesarios, diseñe s3 s2 s1 s0
la UAL pedida.
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1996 - 2ª Semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen.Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido .
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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En una arquitectura con bus:
A) Uno de sus mayores inconvenientes es el impedimento para realizar transferencias directas a memoria desde un dispositivo
de E/S.
B) Permite que sus dispositivos puedan transmitir simultáneamente sus datos.
C) Las transmisiones a través delbus siempre sonsíncronas.
D) Tiene la ventaja de poder ampliar el sistema fácilmente.
2.- Indique si las siguientes afirmaciones son verdaderas:
I. A través de las líneas no dedicadas de un bus, dos periféricos se pueden comunicar simultáneamente con la Unidad de
Memoria.
II. La multiplexación temporal de las líneas de un bus supone un ahorro de espacio y necesita una circuitería más simple, por
lo que resulta más económica.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- El puntero de pila SP (Stack Pointer):
A) Sirve para almacenar el contenido del contador de programa antes de atender una interrupción o de saltar a una
subrutina.
B) Es un valor fijo que limita el tamaño de la pila.
C) Contiene el último dato almacenado en la memoria tipo pila.
D) Indica la posición de memoria en la que se va a almacenar al próximo dato que se introduzca en la pila.
4.- Una memoria caché asociativa por conjuntos dispone de 32 conjuntos, utiliza particiones de 8 palabras y su capacidad total es de
2048 palabras. La dirección de memoria principal 7AC2F, expresada en hexadecimal, ¿en cuántas posiciones distintas de la caché
sería posible encontrarla?:
A) 8. B) 32. C) 256. D) Ninguna de las anteriores.
5.- Señalar cuál de las siguientes afirmaciones sobre los métodos de gestión de prioridades falsa:
es
A) En la identificación por encuesta lo primero que se hace es ir a un programa de servicio donde se interroga a cada uno de los
controladores de E/S para saber cuál de ellos originó la interrupción.
B) En la técnica de interrupciones vectorizadas, el periférico envía a través del bus de datos un vector de interrupción que
determina la dirección de comienzo del programa de servicio de esa interrupción.
C) En la identificación por encuesta, el primer periférico consultado es el que mayor prioridad tiene.
D) En las interrupciones encadenadas (daisy chain), la CPU decide la prioridad de los periféricos mediante los bits de máscara
de su registro de estado.
6.- Un computador con 13 líneas de direcciones tiene una memoria de 212 palabras y utiliza entrada/salida localizada en memoria.
¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa una sola dirección?
A) 1. B) 2. C) 212. D) Ninguna de las anteriores.
7.- Indique si las siguientes afirmaciones son verdaderas:
I. En un sumador binario paralelo, el bit más significativo es el último en calcularse de forma correcta.
II. En un sumador binario serie, la complejidad del circuito es independiente del número de bits que hay que sumar, pero el
tiempo de cálculo sí depende de dicho número.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Indique si las siguientes afirmaciones son verdaderas:
I. En la representación de un número en coma flotante el cero admite varias representaciones.
II. En caso de no producirse desbordamiento (overflow), el resultado de multiplicar por 8 un número normalizado en coma
flotante sólo afecta a su exponente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
9.- La unidad de control de un sistema digital:
A) Genera las señales que gobiernan las operaciones ejecutadas por la unidad de procesamiento.
B) Es una máquina secuencial.
C) Parte de sus entradas son señales de condición generadas por la unidad de procesamiento.
D) Todas las respuestas anteriores son ciertas.
10.- Señalar cuál de las siguientes afirmaciones es verdadera:
A) Una unidad de control con lógica cableada puede modificarse fácilmente para adaptarse a una nueva especificación de
funcionamiento.
B) En una unidad de control microprogramada las microinstrucciones almacenadas en la memoria ROM siempre se ejecutan de
forma secuencial.
C) En computadores de altas prestaciones en los que la velocidad del procesador es determinante, la memoria ROM utilizada en
la unidad de control microprogramada es una memoria de almacenamiento dinámico.
D) Todas las anteriores son falsas.

Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Teniendo en cuenta la gran rapidez de las memorias caché, ¿por qué no se utilizan memorias caché en
todos los niveles de la jerarquía de memorias?
Si se utilizara la tecnología de las memorias caché en todos los niveles de la jerarquía de memoria,
el coste sería muy alto pero, sin embargo, la velocidad de acceso global no aumentaría en igual
forma debido al principio de localidad de referencia, es decir, se estaría almacenando gran cantidad
de información con una velocidad de acceso muy alta pero utilizada muy escasamente.

Cuestión 2 (0.6 puntos): Explicar las diferencias en la transferencia de datos mediante DMA por ráfagas y DMA transparente.
En la transferencia de DMA por ráfagas se consiguen velocidades de transmisión mayores ya que
cuando el controlador toma el control del bus no lo devuelve hasta haber transmitido todo el bloque de
datos pero, sin embargo, esto ocasiona que la UCP permanezca inactiva durante la transmisión.
En la transferencia de DMA transparente las velocidades de transmisión son menores ya que el
controlador toma el control del bus sólo en las fases de ejecución de las instrucciones en las que la
UCP no hace uso de él y, por lo tanto, UCP no se ve afectada por la transmisión.
Cuestión 3 (0.8 puntos): Construir mediante puertas lógicas unsemisumador binario (SSB).
Páginas 193 y 194 del libro de teoría.

Problema: Diseñar el circuito de comparación secuencial que se muestra en la figura. El circuito posee dos entradas de datos X e
Y, una entrada de señal de reloj y una salida Z = {M, I, m}. Recibe los bits xi e yi de forma serie, comenzando por los más
significativos. El circuito genera sus salidas de acuerdo con la siguiente tabla:
X
M I m Reloj Comparador xn-1 xn-2 ... x0
X>Y 1 0 0
secuencial yn-1 yn-2 ... y0
X=Y 0 1 0 Y
X<Y 0 0 1

Para ello:
M I m
A) (1.5 puntos) Indique el diagrama de estados del circuito,
especificando claramente cuál es el significado de cada uno de los estados.
B) (0.5 puntos) Indique cómo codifica los estados y obtenga la tabla de transición de estados correspondiente.
C) (1 punto) Suponiendo que sólo dispone de biestables tipo D para el diseño del circuito, calcular las funciones de excitación de los
biestables.
D) (1 punto) Implemente el circuito conbiestables tipo D y puertas lógicas NAND únicamente.
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre 1996 - Original)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen.Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido .
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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Indique cuál de las siguientes afirmaciones es verdadera:
A) Todas las interrupciones se atienden de forma inmediata.
B) El programa de tratamiento de una interrupción no puede ser a su vez interrumpido, bajo ningún concepto.
C) En la arquitectura de von Neumann, instrucciones y datos se guardan en áreas diferentes de memoria.
D) Todas las afirmaciones anteriores son falsas.
2.- Indique si las siguientes afirmaciones son verdaderas:
I. La memoria principal de un computador no se diseña utilizando la misma tecnología que la empleada por los registros
internos de la UCP, ya que la mejora que se obtendría en el tiempo de ciclo de memoria sería despreciable.
II. Al acceder a una memoria de acceso directo, se pregunta si existe una posición de memoria que contenga una palabra
determinada.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. Los computadores que poseen entrada/salida (E/S) localizada en memoria pueden usar instrucciones del tipo referencia a
memoria para acceder a datos de E/S.
II. Un computador siempre tiene tantas líneas de petición de interrupción como el número de periféricos que pueden solicitar
interrupción.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- Indique cuál de las siguientes afirmaciones es verdadera:
A) Los puntos de control se realizan mediante circuitos cuya naturaleza depende de las características de los dispositivos
conectados a los caminos de datos sobre los que actúan.
B) Los puntos de control constituyen la parte de un sistema en que se almacenan y transforman los datos.
C) Las señales de control son salidas de la Unidad de Procesamiento que se utilizan por la Unidad de Control para determinar
las señales de condición.
D) Todas las afirmaciones anteriores son falsas.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Las Unidades de Control se pueden clasificar en dos grandes grupos: de lógica microprogramada y de lógica
combinacional.
II. Las entradas de la Unidad de Procesamiento que reciben las señales de condición se denominan puntos de condición.
A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Utilizando microinstrucciones con formato vertical, unsubcampo de j bits puede especificar un máximo de:
A) 2j señales de control. B) j señales de control. C) 2j-1 señales de control.D) Ninguna de las anteriores.
7.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento y del
contenido de la memoria, ¿cuántos de los registros de máscara propuestos a continuación producirían ese registro de marca en el
acceso a memoria?
0 1 0 1 1 1 0 0 ARGUMENTO
? ? ? ? ? ? ? ? MÁSCARA 0 0 1 0 1 0 0 1 Máscara 1
1 0 1 0 0 0 0 1 Máscara 2
1 0 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 Máscara 3
0 1 0 1 1 0 1 0 1
1 0 1 1 1 0 0 1 Máscara 4
0 1 0 1 0 0 1 0 0 MARCA
0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 Máscara 5
0 0 0 1 1 1 1 0 1
A) 1 B) 2 C) 3 D) Ninguna de los anteriores
8.- Sea una UCP con 4 líneas de interrupción PI3, PI2, PI1 y PI0, de las cuales son enmascarables las tres primeras mediante 3 bits
del registro de estado RE de la UCP, de forma que una petición de interrupción en PIj enmascara las líneas PIi con i<j e i≠0. Se
supone que se producen 4 peticiones de interrupción en este orden: PI3, PI2, PI0 y PI1. Teniendo en cuenta que las tres últimas se
producen mientras se está ejecutando el programa de servicio de PI3, ¿en qué orden se tratan las interrupciones?
A) PI3, PI0, PI2 y PI1 B) PI3, PI0, PI3, PI2 y PI1 C) PI3, PI1, PI0 y PI2 D) PI3, PI1, PI3, PI2 y PI0
9.- Utilizando el método de la suma condicional para sumar 2 números de 16 bits cada uno, ¿cuántos bits del resultado se conocen
de forma correcta al finalizar el paso 4?
A) 2 B) 4 C) 8 D) Todos
10.- Un computador tiene una unidad de memoria de 4096 (212) palabras y una memoria caché de 256 (28) palabras. La memoria
caché es asociativa por conjuntos, con 16 conjuntos y 2 particiones cada conjunto. Cuando se produce un fallo en la caché, en el
conjunto correspondiente se reemplaza la partición más antigua. Suponiendo que inicialmente la memoria caché está vacía,
¿cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal, 000000001111,
000001001111, 000100001111, 000100001100, 001010001111 y 000000001101?
A) 3 B) 4 C) 5 D) Ninguna de las anteriores
Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): ¿Para qué sirven los algoritmos de reemplazamiento en una memoria caché?
Cuando un nuevo bloque se transfiere a la memoria caché debe sustituir a uno de los ya existentes.
En las técnicas de tipo asociativo es necesario definir un algoritmo de reemplazamiento que decida
qué bloque, de entre todos los posibles que puede sustituir el nuevo bloque, debe abandonar la
memoria caché. Libro de Teoría, página 102.

Cuestión 2 (0.6 puntos): Describa cuándo y por qué realizaría una Unidad de Control utilizando elementos de retardo.
Esta técnica de diseño se caracteriza por su sencillez al ser una transcripción directa del diagrama
de estados pero, a cambio, al no codificar los estados utiliza un gran número de elementos de
memoria: uno por cada estado. Por tanto, cuando el número de estados no sea excesivamente alto es
un buen método para diseñar una Unidad de Control. Libro de Problemas, página 172.

Cuestión 3 (0.8 puntos): Ventajas e inconvenientes de la realización de una pila como un conjunto de registros frente a una
pila formada por una zona de la memoria principal.
Pila realizada como un conjunto de registros:
Ventajas: velocidad alta
Desventajas: utiliza hardware propio de la UCP, coste alto y capacidad limitada
Pila formada por una zona de memoria principal:
Ventajas: utiliza memoria principal, coste bajo y gran capacidad
Desventajas: Velocidad baja
Libro de Teoría, página 109.
Problema (NO conteste en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada
operación de un sistema digital, siendo C(0) el bit menos significativo del registro C. En el desplazamiento a la derecha se introduce
un 0. Utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una y
un contador módulo-8; además debiestables tipo D, puertas lógicas y los módulos combinacionales que considere necesarios:
A) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo.
B) Diseñar la Unidad de Control, utilizando la técnica de elementos de retardo, que ejecute este algoritmo con la Unidad de
Procesamiento diseñada en el apartado A).
1: Declaración de registros : A[8], B[8], C[8], E A B
Contador[3] ED c0
2: A ← Bus c0 c0
Reg. Desp. UAL Contador
3: B ← Bus c1 c1 c1
4: C ← Bus Q R Q
5: for Contador = 0 to 7 do
6: begin c1c0 Q c1c0 R c1c0 Q
7: if C(0) ≠ C(1) then A ← A / B
00 Nada 00 A+B 00 Q(t)
8: else A ← A + B endif
9: Desplazar derecha (C) 01 Carga 01 A-B 01 0
10: end 10 Des. Dcha. 10 A*B 10 Q(t)+1 mod 8
11: Parar; 11 Nada 11 A/B 11 Q(t)
SOLUCIONES DE LOS TESTS

Junio 96 Junio 96
Nº Pregunta Septiembre 96
(1ª semana) (2ª semana)
1 B D D
2 A D D
3 C D B
4 B A A
5 B D D
6 B C C
7 C A C
8 C A B
9 D D C
10 C D C
.
96 Problemas de los
exámenes del curso 95/96

Problema 96-1: 1ª semana de junio de 1996


Se desea realizar una Unidad Aritmético Lógica que realice dos operaciones,
suma y comparación de dos números X (x2x1x0) e Y (y2y1y0) de 3 bits cada
uno, siendo su salida S (s3s2s1s0).

x2x1x0 y2y1y0
c UAL

s3 s2 s1 s0
Figura 96-1-1 Diagrama de bloques de la UAL
El funcionamiento de la unidad viene descrito por:

c = 0 : suma S=X+Y
c = 1 : comparación Si X > Y entonces S = 1 0 0 0
Si X = Y entonces S = 0 1 0 0
Si X < Y entonces S = 0 0 1 0

1
Estructura y Tecnología de Computadores II

Para resolver el problema, seguir obligatoriamente los siguientes apartados:


A)(1 punto) Diseñar un comparador de números de 1 bit utilizando
únicamente puertas lógicas.
B) (1.5 puntos) Utilizando comparadores como el diseñado en el
apartado A) y puertas lógicas, diseñar un comparador de números de
3 bits.
C) (0.5 puntos) Utilizando únicamente sumadores binarios completos
(SBC), diseñar un sumador binario de números de 3 bits.
D)(1 punto) Utilizando únicamente los módulos diseñados en B)
(comparador de números de 3 bits) y C) (sumador binario de
números de 3 bits) y los circuitos combinacionales que considere
necesarios, diseñe la UAL pedida.
Solución
A) El módulo comparador de dos bits que se quiere diseñar viene
representado en la Figura 96-1-2, donde x e y son las entradas de datos, y M, I
y m son las tres salidas del comparador.

x y

x>y x=y x<y

M I m

Figura 96-1-2 Diagrama de bloques de un comparador de dos bits


Como el enunciado sólo permite utilizar puertas lógicas vamos a
implementarlo mediante un circuito combinacional. La Tabla 96-1-1 muestra
la tabla de verdad del comparador de 2 bits.

2
96 Problemas de los exámenes del curso 95/96

x y M I m

0 0 0 1 0
0 1 0 0 1
1 0 1 0 0
1 1 0 1 0
Tabla 96-1-1 Tabla de verdad del comparador de 1 bit
A partir de la Tabla 96-1-1 se deducen las siguientes funciones lógicas para
M, I y m:
M=xy
I=xy+xy= x y + x y
m=xy
y el circuito lógico correspondiente se muestra en la Figura 96-1-3.

x • • M

y • m

Figura 96-1-3 Comparador de 2 bits solicitado en el apartado A)


B) Para comparar X e Y es necesario comparar cada bit de uno de ellos con
el bit de igual peso del otro. Para hacer estas comparaciones utilizamos
comparadores de 1 bit como el diseñado en el apartado anterior. Si el
resultado de la comparación de xi e yi es: Mi, Ii y mi, se cumple que:
Mi =1 si xi > yi

3
Estructura y Tecnología de Computadores II

Ii =1 si xi = yi
mi =1 si xi < yi
A partir de Mi, Ii y mi se generan las salidas M, I y m del comparador de 3
bits mediante las siguientes funciones booleanas:
M = M2 + I2 M1 + I2 I1 M0
I = I2 I1 I0
m= m2 + I2 m1 + I2 I1 m0
La explicación de estas expresiones es inmediata:
x > y si (x2 > y2) ó ((x2= y2) y (x1 > y1)) ó ((x2= y2) y (x1= y1) y (x0 > y0))
x = y si (x2 = y2) y (x1 = y1) y (x0= y0)
x < y si (x2 < y2) ó ((x2= y2) y (x1 < y1)) ó ((x2= y2) y (x1= y1) y (x0 < y0))
La Figura 96-1-4 muestra el circuito lógico pedido en este apartado
obtenido a partir de las expresiones anteriores.

x2 y2 x1 y1 x0 y0

x>y x=y x<y x>y x=y x<y x>y x=y x<y

M2 I2 m2 M1 I1 m1 M0 I0 m0

• •• • • •
• •
• •
• • • •
• •
• •
• •
• •

M I m
Figura 96-1-4 Circuito lógico de un comparador de dos números de 3 bits

4
96 Problemas de los exámenes del curso 95/96

C) Sobre este apartado no hay ningún comentario a hacer, y directamente


la solución es la mostrada en la Figura 96-1-5.

x2 y2 x1 y1 x0 y0

SBC SBC SBC


c2 c1 c0 c-1

s2 s1 s0
Figura 96-1-5 Sumador paralelo de números de 3 bits
D) En la Figura 96-1-6 se muestra la estructura de la UAL pedida en el
enunciado del problema, donde además de los módulos diseñados en los
apartados anteriores, se han empleado 4 multiplexores con 2 entradas de
datos y una salida.
La entrada de selección de la “c” del la UAL está conectada directamente a
la entrada de seleccion de los cuatro multiplexores de forma que:
• si c = 0 la salida de la UAL S = M I m 0
• si c=1 la salida de la UAL S = X+Y
Hay que observar como el acarreo de salida del sumador de 3 bits se ha
conectados a la salida más significativa de la UAL, ya que esa es realmente su
función. El resultado de la suma de 2 números de 3 bits requiere un máximo
de 4 bits.

NOTA
Este problema tiene ciertas similitudes con los problemas 4-29, 4-30, 4-31
y 4-39, propuestos el texto base teórico y resueltos en el texto base práctico.

5
Estructura y Tecnología de Computadores II

X Y
• UAL

x2x1x0 y2y1y0 x2x1x0 y2y1y0


COMPARADOR c2 SUMADOR
M I m s2 s1 s0

“0”
• •
1 0 1 0 1 0 1 0
c c0 MUX c0 MUX c0 MUX c0 MUX

s3 s2 s1 s0
Figura 96-1-6 Estructura de la UAL pedida en el problema

Problema 96-2: 2ª semana de junio de 1996


Diseñar el circuito de comparación secuencial que se muestra en la figura. El
circuito posee dos entradas de datos X e Y, una entrada de señal de reloj y una
salida Z = {M, I, m}. Recibe los bits xi e yi de forma serie, comenzando por
los más significativos. El circuito genera sus salidas de acuerdo con la
siguiente tabla:

M I m

X>Y 1 0 0

X=Y 0 1 0

X<Y 0 0 1

Tabla 96-2-1 Salidas del comparador

6
96 Problemas de los exámenes del curso 95/96

Para ello:
A)(1.5 puntos) Indique el diagrama de estados del circuito,
especificando claramente cuál es el significado de cada uno de los
estados.
B) (0.5 puntos) Indique cómo codifica los estados y obtenga la tabla de
transición de estados correspondiente.
C) (1 punto) Suponiendo que sólo dispone de biestables tipo D para el
diseño del circuito, calcular las funciones de excitación de los
biestables.
D)(1 punto) Implemente el circuito con biestables tipo D y puertas
lógicas NAND y NOT únicamente.

X
Reloj Comparador xn-1 xn-2 ... x0
secuencial yn-1 yn-2 ... y0
Y

M I m

Figura 96-2-1 Diagrama de bloques del comparador


Solución

S1 / 100
10 xx
11
S0 / 010
00
01 S2 / 001 xx

Figura 96-2-2 Diagrama de estados del circuito


Un posible diagrama de transición de estados para el comparador secuecial

7
Estructura y Tecnología de Computadores II

propuesto es el de la Figura 96-2-2. Los símbolos utilizados en este diagrama


son los mostrados en la Figura 96-2-3 donde: Si es el estado, xiyi son los bits
de la entrada, y MIm son los tres bits de la salida.

xiyi

Si / MIm

Figura 96-2-3 Significado de los símbolos utilizados en el diagrama de estados


La explicación del diagrama de estados de la Figura 96-2-2 es la siguiente.
Al comparar dos números binarios X e Y, comenzando por sus bits de más
peso, en cuanto lleguen al comparador dos bits distintos ya es posible indicar
cuál de ellos es menor y cuál es mayor, independientemente del valor de los
siguientes bits. Por ejemplo:

X = 00100111010101000
Y = 00100101010101111
a partir del bit marcado ya se sabe que X>Y.
El sistema parte de un estado S0 que significa que los dos números a
comparar son iguales. Si los bits de igual peso de X y de Y que van llegando
son iguales, el sistema no cambia de estado, pero en el instante en que lleguen
dos distintos, pasa al estado S1 si xi>yi o al estado S2 si xi<yi. A partir de ese
momento, independientemente del valores de las siguientes entradas al
comparador, el sistema no cambia de estado. Luego el significado de los
estados es el siguiente:
• S0 X = Y
• S1 X > Y
• S2 X < Y
A partir del diagrama de estados de la Figura 96-2-2 se obtiene
directamente la tabla de estados mostrada en la Tabla 96-2-2.

8
96 Problemas de los exámenes del curso 95/96

Estado Entradas xi yi Salida


00 01 10 11
presente MIm

S0 (igual) S0 S2 S1 S0 010
S1 (mayor) S1 S1 S1 S1 100
S2 (menor) S2 S2 S2 S2 001
Próximo estado
Tabla 96-2-2 Tabla de estados del comparador secuencial

B) Una posible codificación de los estados es la mostrada en la Tabla


96-2-3.

Estado Q1Q0

S0 (igual) 00
S1 (mayor) 01
S2 (menor) 10
Tabla 96-2-3 Codificación de los estados

A partir de esta codificación y de la Tabla 96-2-2 se obtiene directamente la


tabla de transición de estados (Tabla 96-2-4).

9
Estructura y Tecnología de Computadores II

Estado pres. Entradas xi yi Salida


00 01 10 11
Q1Q0 MIm

00 00 10 01 00 010
01 01 01 01 01 100
10 10 10 10 10 001
Próximo estado
Tabla 96-2-4 Tabla de transición de estados y salida del comparador

C) Teniendo en cuenta la función de excitación de un elemento de memoria


tipo D:
D = Q(t+1)
y la tabla de transición de estados, se deducen las expresiones de las entradas
D1 y D0 a los dos elementos de memoria necesarios para almacenar el estado
del comparador (ver Figura 96-2-4).

Q1Q0 Q1Q0
xiyi xiyi
00 01 11 10 00 01 11 10
00 x 1 00 1 x

01 1 x 1 01 1 x

11 x 1 11 1 x

10 x 1 10 1 1 x

D1 = xiyiQ0 + Q1 D0 = xi yi Q1 + Q0
Figura 96-2-4 Funciones de excitación de los biestables del comparador
D) Para implementar el circuito utilizando bistables tipo D y puertas
lógicas NAND y NOT únicamente, no sirven directamente las funciones de
excitación obtenidas en el apartado anterior, pero negando dos veces cada una

10
96 Problemas de los exámenes del curso 95/96

de ellas se obtienen las expresiones buscadas.

D 1 = x i y i Q 0 + Q 1 = x i yi Q 0 + Q 1 = x i y i Q 0 ⋅ Q 1

D 0 = x i y i Q 1 + Q 0 = x i yi Q 1 + Q 0 = x i y i Q 1 ⋅ Q 0

Finalmente sólo falta calcular las expresiones lógicas de las tres salidas en
función del estado, para ello utilizamos la Tabla 96-2-5.

Q1 Q0 MIm

00 010
01 100
10 001
11 xxx
Tabla 96-2-5 Valor de la salida en función del estado

Las expresiones lógicas para la salida que se obtienen de la Tabla 96-2-5


son:

M = Q0

I = Q1 Q0 = Q1 Q0
m = Q1

Utilizando las funciones de excitación de los elementos de memoria tipo D


y las expresiones lógicas de la salida en función del estados, el circuito
secuencial del comparador que se obtiene es el que se muestra en la Figura

11
Estructura y Tecnología de Computadores II

96-2-5.

xi •
D1 Q1 m

Ck Q1 • I

• •
D0 Q0 M
yi •

Reloj • Ck Q0

Figura 96-2-5 Circuito secuencial del comparador

NOTA
En este problema hay que diseñar un simple circuito secuencial, Tema 4, y
conviene no confundir con el diseño de una Unidad de Control más Unidad
de Procesamiento, Tema 5. También hay que destacar la gran similitud de
este problema con el problema 4-40 propuesto en el texto base teórico y
resuelto en el texto base práctico.

Problema 96-3: Septiembre de 1996


El siguiente algoritmo describe una determinada operación de un sistema
digital, siendo C(0) el bit menos significativo del registro C. En el
desplazamiento a la derecha se introduce un 0.
1: Declaración de registros : A[8], B[8], C[8], Contador[3]
2: A ← Bus
3: B ← Bus

12
96 Problemas de los exámenes del curso 95/96

4: C ← Bus
5: for Contador = 0 to 7 do
6: begin
7: if C(0) ≠ C(1) then A ← A / B
8: else A ← A + B endif
9: Desplazar derecha (C)
10: end
11: Parar;
Utilizando los módulos dibujados abajo: registros de desplazamiento de 8
bits, una UAL con dos entradas de 8 bits cada una y un contador módulo-8;
además de biestables tipo D, puertas lógicas y los módulos combinacionales
que considere necesarios:
A)Diseñar la Unidad de Procesamiento que permita realizar este
algoritmo.
B) Diseñar la Unidad de Control, utilizando la técnica de elementos de
retardo, que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado A).

E A B
ED c0 c0 c0
Reg. despl. c1 UAL c1 Contador c1
Q R Q
c1c0 Q c1c0 R c1c0 Q
00 Nada 00 A+B 00 Q(t)
01 Carga 01 A-B 01 0
10 Desp. Dcha 10 A*B 10 Q(t)+1 mod 8
11 Nada 11 A/B 11 Q(t)

Figura 96-3-1 Módulos del problema y debajo su tabla de funcionamiento

Solución
A) Antes de proponer un diseño para la Unidad de Procesamiento hagamos
unas consideraciones previas sobre los requerimientos del algoritmo. La
Unidad de Procesamiento tiene que resolver cada uno de estos

13
Estructura y Tecnología de Computadores II

requerimientos.
• El registro A tiene que poder recibir información desde el bus y desde la
salida de la UAL. Al llegarle información desde dos lugares distintos es
necesario colocar un multiplexor en la entrada para seleccionar cuál de
los dos debe ser cargado en el registro. También el registro A debe
entregar su contenido a la UAL.
• Al registro B le llega información del Bus y entrega su contenido a la
UAL.
• El registro C recibe información desde el Bus y el algoritmo necesita
consultar el valor de sus dos bits menos significativos para comprobar si
son iguales o distintos. Esta condición la generaremos mediante la
función lógica C(0) ⊕ C(1).
• En el algoritmo hay un bucle que se ejecutará un total de 8 veces. Para
controlar esto se utilizamos el contador módulo 8 y para detectar el final
de la cuenta hacemos el producto lógico (AND) de sus tres salidas.
• Los registros de desplazamiento del enunciando son los únicos
elementos de almacenamiento disponibles, por lo que se utilizarán para
los tres registros: A, B y C. En el caso de A y B no se hará uso de la
capacidad de estos registros para realizar desplazamientos. A la hora de
hacer desplazamientos en el registro C hay que introducir un 0, tal y
como exige el enunciado del problema, por lo que habrá que fijar su
entrada ED a 0. Con los registros A y B no existe este problema, no se
van a hacer desplazamientos con ellos, y su entrada ED se fija
arbitrariamente a un valor determinado, por ejemplo 0.
Un posible diseño para la Unidad de Procesamiento pedida, teniendo en
cuenta todos estas consideraciones iniciales, puede ser el mostrado en la
Figura 96-3-2.
Sobre este diseño conviene hacer una observación. Los registros A y B sólo
van a utilizar dos valores de sus entradas de control
c1c0 Q
00 Nada
01 Carga

por lo que se puede fijar una de ellas, la más significativa c1, directamente a 0.

14
96 Problemas de los exámenes del curso 95/96

Bus

0 1
MUX c0
C
c c1 c c2 c c3
0 ED Reg. des. c0 0 ED Reg. des. c0 0 ED Reg. des. c0 c4
1 0 1 0 1

A B C(1) C(0)

c0 c7
A B c0 c5 Contador c1 c8
UAL c1 c6

s1

s0= C(0) ⊕ C(1)

c0 Unidad de
Inicio Circuito c1 Procesamiento
Fin de
Reloj Control c8
Unidad de
Control
Figura 96-3-2 Diagrama de bloques, puntos de control (c 0 a c9) y señales de condición (s0 y
s1) de la Unidad de Procesamiento solicitada
Para completar este diseño, es necesario hacer una breve descripción del
significado de cada una de las entradas de control que gobiernan su
funcionamiento (ver Tabla 96-3-1).

15
Estructura y Tecnología de Computadores II

Señal de Control Operación controlada

c0 Entrada de selección del multiplexor

c1 Cargar A desde la salida del multiplexor

c2 Cargar B desde el Bus

c4 y c3 Cargar C desde el Bus (01), desplazamiento derecha de C (10) o nada (00)

c6 y c5 Control de la UAL: suma (00), resta (01), producto (10) o división (11)

c8 y c7 Control del contador: nada (00 y 11), reset (01) o incremento (10)

Tabla 96-3-1 Descripción de la señales de control de la Unidad de Procesamiento

B) Un posible diagrama de estados para la Unidad de Control que gobierne


el funcionamiento de la Unidad de Procesamiento de la Figura 96-3-2, es el
mostrado en la Figura 96-3-3. La Tabla 96-3-2 da una descripción detallada
de cada uno de los estados junto con las señales de control a activar en cada
uno de ellos.
Una de las dificultades que tiene este algoritmo es que el bucle debe
ejecutarse necesariamente ocho veces. Para conseguirlo se ha optado por
comprobar la condición generada por el contador en el estado S6 y después, si
no se hubiera llegado al final de la cuenta (s1=1), incrementar el contador.

S7

s1
S4
s0 s1
S0 S1 S2 S3 S6 S8

s0 S5

Figura 96-3-3 Diagrama de estados de la Unidad de Control

16
96 Problemas de los exámenes del curso 95/96

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar

S0 A ← Bus c0, c1, c7


contador ← 0

S1 B ← Bus c2

S2 C ← Bus c3

S3 Ninguna Ninguna

S4 A←A/B c1, c6, c7

S5 A←A+B c1

S6 Desplazar derecha C c4

S7 Incrementar contador c8

S8 Ninguna Ninguna

Tabla 96-3-2 Acciones tomadas por la Unidad de Control en cada estado

El método de diseño utilizando elementos de retardo es prácticamente una


transcripción directa del diagrama de estados. En la Figura 96-3-4 se muestra
la Unidad de Control diseñada utilizando este método, junto con el diagrama
de estados de la Figura 96-3-3, redibujado en vertical, para servir de apoyo en
el diseño.

17
Estructura y Tecnología de Computadores II

0
S0
S0
• c0, c1, c7

S1
• S1
• c2
• S2 •
• c3
S2

• S3 •
s0
S3 •

s0 = 1
• S4 •
S4 • c1, c6, c5
s0 = 0
• S5 •
• c1

S5
• S6 •
s1 • c4

S6

s1 = 0 • S7 •
• c8
s1= 1 S7

• S8 •

S8 Reloj Clear

Figura 96-3-4 Unidad de Control

18
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1997 - 1ª Semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : X - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL NI CALCULADORA.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es X.
1.- Indique si las siguientes afirmaciones son verdaderas:[PRG1]
I. Una instrucción de la UCP almacenada en el registro de instrucciones está codificada en código binario.
II. Una instrucción de la UCP almacenada en el registro de instrucciones especifica la acción a realizar.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Indique si las siguientes afirmaciones son verdaderas:[PRG2]
I. En transferencias de datos a través de un bus, si un módulo desea pedir datos a otro módulo primero debe obtener el uso del
bus, después transferir una petición al otro módulo por las líneas de control y dirección apropiadas, y finalmente esperar a
que el otro módulo le envíe los datos.
II. En transferencias de datos a través de un bus, si un módulo desea enviar datos a otro módulo primero debe obtener el uso
del bus y luego transferir los datos.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. En los computadores del tipo programa almacenado la Unidad de Memoria contiene únicamente los programas que ejecuta
el computador.[PRG3]
II. La UCP es siempre la encargada de dirigir los componentes mecánicos y electrónicos de los dispositivos de
almacenamiento externos.[PRG4]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas:
I. Las memorias de acceso asociativo son también memorias de acceso aleatorio.[PRG5]
II. En una memoria de acceso secuencial el tiempo de recuperación de la información es siempre el mismo.[PRG6]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas:[PRG7]
I. El controlador de E/S debe tener capacidad de comunicarse con el dispositivo externo, pero no necesariamente con la UCP.
II. El controlador de E/S debe ser capaz de reconocer y generar las direcciones asociadas con los dispositivos que controla.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- En un computador que funciona a una velocidad de 108 ciclos/segundo una instrucción emplea, en promedio, 4 ciclos máquina
en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 1 ciclo en la
transferencia de una palabra.[PRG8]
I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de 50.000.000 palabras/seg.
II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos es de 20.000.000 palabras/seg.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Se desea construir un multiplicador binario que multiplique dos números de 16 y 24 bits, respectivamente, utilizando memoria
ROM. Indique si con los siguientes conjuntos de componentes sería posible realizarlo:
I. Utilizando únicamente 4 ROM de 256 palabras × 16 bits/palabra, un decodificador binario de 2 entradas y 4 salidas y 2
puertas AND de 2 entradas.
II. Utilizando únicamente 6 ROM de 256 palabras × 16 bits/palabra.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Se desea construir un multiplicador binario que multiplique dos números de 4 bits cada uno. Indique si con los siguientes
conjuntos de componentes sería posible realizarlo:[PRG9]
I. Utilizando únicamente 8 SBC (sumador binario completo), 1 SBAA (sumador binario con aceleración de arrastre) de 4 bits
y 16 puertas AND.
II. Utilizando únicamente 8 SBC (sumador binario completo) y 16 puertas OR-exclusiva.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
9.- Se desea diseñar una Unidad de Control con 13 estados, que genere 23 señales de control totalmente independientes y reciba 7
señales de condición, utilizando memoria ROM pero minimizando la capacidad necesaria de ésta, ya que en cada estado se utiliza,
como máximo, una única condición. Utilizando un multiplexor con selección por estado, para diseñar esta Unidad de Control sería
necesario utilizar:[PRG10]
A) Un registro de 4 bits, un MUX 16:1 y una ROM de 25 palabras x 27 bits/palabra.
B) Un registro de 13 bits, un MUX 4:1 y una ROM de 25 palabras x 23 bits/palabra.
C) Un registro de 4 bits, un MUX 4:1 y una ROM de 25 palabras x 23 bits/palabra.
D) Ninguna de las anteriores es cierta.
10.- En una Unidad de Control microprogramada, decir si las siguientes afirmaciones son ciertas:[PRG11]
I. El bloque lógica de transformación convierte el código de operación de la instrucción máquina en una dirección de la
memoria de control donde está localizado el microprograma.
II. El bloque lógica de bifurcación proporciona la capacidad de toma de decisiones en la Unidad de Control.
A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Características de los arrastres en la suma de dos números binarios: generación y propagación. [PRG12]
Un arrastre en la posición i-ésima se generará si xi+yi>1, y se propagará si
yi =0 yi =1
xi+yi=1. En caso contrario ni se genera ni se propaga un arrastre en esa
posición. Las tres posibilidades (propagación, generación o nada) son xi =0 - p
mutuamente excluyentes.
xi =1 p g

Cuestión 2 (0.8 puntos): En una memoria asociativa, ¿en qué situaciones se podría conectar el bit de
marca de cada una de las palabras con su correspondiente línea de lectura?[PRG13]
Cuando en la memoria asociativa (M.A.) no hay dos filas idénticas para una máscara dada. Esto
sucede en la mayoría de las aplicaciones. Así se presentará en la salida de la M.A. el contenido de
la palabra que coincide, sin tener que hacer uso de ninguna señal especial de lectura.

Cuestión 3 (0.6 puntos): Explique brevemente las características principales de la E/S a través de la UCP.[PRG14]
M
Es la disposición más simple y económica. La UCP y la unidad de E/S comparten la
vía de acceso a la memoria. La UCP controla todos los intercambios, por lo que ha de UCP
detener sus cálculos para realizar las transferencias de datos, reduciéndose su
rendimiento. No es posible el acceso directo a memoria desde la unidad de E/S.
E/S

Periféricos

Problema (NO conteste en el dorso de la hoja de lectura óptica):[PRG15]


La figura muestra el diagrama de estados de una Unidad de Control donde Si es el estado, si son las condiciones externas y, además,
se supone que en cada estado Si se activa únicamente la señal de control ci.. Diseñar la Unidad de Control con los siguientes
componentes:
A) (1 punto) Utilizando la técnica de los elementos de retardo.
B) (3 puntos) Con un contador módulo 8 como el mostrado en la figura, un decodificador y las puertas lógicas necesarias.
Explicar claramente las distintas fases empleadas en el proceso de diseño.

s1s0=01 s1s0=00,10
S1 S0 Clear Salidas paralelo

s1s0=11 Carga Cl Q2 Q1 Q0
s1s0=00,01,10 L
Reloj Contador módulo 8
s1=0
H E2 E1 E0
s1=1 s0=1
S4 S2 S3 S5 s1s0=11 Habilitación Entradas paralelo

s0=0
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1997 - 2ª Semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL NI CALCULADORA.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio,
debiendo obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En la arquitectura de E/S a través de la memoria indique cuál de las siguientes afirmaciones es falsa:[PRG16]
A) El módulo de memoria contiene la lógica de control necesaria para resolver los conflictos.
B) Puede realizarse directamente la transferencia entre la unidad de E/S y la memoria y, simultáneamente, la UCP estar
realizando cálculos.
C) Los mecanismos de control son sencillos y muy flexibles, es decir, es relativamente fácil añadir módulos adicionales.
D) Cuando la UCP desea iniciar una transferencia entre la unidad de E/S y la memoria, coloca una petición en una posición
determinada de la memoria.
2.- Indique si las siguientes afirmaciones son verdaderas:
I. En un bus la transición de una señal en una línea puede dar lugar a que se produzcan transiciones en las líneas de otros
dispositivos conectados al bus.[PRG17]
II. En un bus las transiciones requieren algo de tiempo en efectuarse y, además, este tiempo suele ser grande si se le compara
con la duración del nivel de la señal.[PRG18]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. Muchos sistemas permiten el direccionamiento de la memoria principal tanto a nivel de palabra como a nivel de
byte.[PRG19]
II. La transferencia de datos desde una memoria externa siempre se realiza a nivel de palabra.[PRG20]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas: [PRG21]
I. Siempre que en una memoria caché se aumente el tamaño del bloque aumentará la tasa de acierto.
II. La relación entre el tamaño del bloque y la tasa de acierto en una memoria caché es independiente del programa que se esté
ejecutando en el computador.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador tiene una unidad de memoria de 8192 (213) palabras y una memoria cache, asociativa por conjuntos, de 128 (27)
palabras. Suponiendo que la UCP genera la dirección memoria principal 0010110110111, indicar si las siguientes afirmaciones son
ciertas.[PRG22]
I. Si la memoria cache tiene 4 conjuntos y 8 particiones por conjunto, a esa dirección le corresponde el conjunto 2 (decimal).
II. Si la memoria cache tiene 8 conjuntos y 4 particiones por conjunto, a esa dirección tiene por etiqueta 45 (decimal).
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 5 unidades de cinta. Las unidades de disco
tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 2×105 bytes/seg. Si para la transferencia de un byte del
canal multiplexor a memoria principal se utiliza el bus del sistema durante 100 nseg. ¿Qué porcentaje máximo de tiempo estaría
ocupado el bus del sistema en una transferencia de datos del canal multiplexor a memoria principal?[PRG23]
A) 30% B) 20 % C) 10 % D) Ninguna de las anteriores
7.- ¿Cuántos SBC de 1 bit harían falta para construir un sumador binario serie capaz de sumar dos números binarios de n bits?
A) n B) log2n C) log2n + 1 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 utilizarán
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?[PRG24]
A) 1 B) 2 C) 3 D) Ninguna de las anteriores
9.- A la hora de diseñar una Unidad de Control con 30 estados, que genere 7 señales de control, reciba 3 señales de condición y en
un estado se puedan consultar las tres condiciones simultáneamente, decir si las siguientes afirmaciones son ciertas:[PRG25]
I. Diseñándola con “elementos de retardo” sería necesario utilizar 30 biestables.
II. Diseñándola con memoria ROM haría falta un módulo de 28 palabras × 5 bits/palabra.
A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
10.- Indique si las siguientes afirmaciones son verdaderas:
I. La transformación de los bits del código de operación de una instrucción máquina en una dirección de la Memoria de
Control donde está localizado el microprograma la realiza un bloque denominado lógica de bifurcación.[PRG26]
II. Una microinstrucción queda definida por el conjunto de señales de control que están activas durante su ejecución y por la
próxima microinstrucción que hay que ejecutar.[PRG27]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Diferencias y similitudes entre las memorias de acceso aleatorio y las memorias asociativas.[PRG28]
Similitudes: El acceso a ellas puede realizarse en cualquier orden, siendo el tiempo de acceso
constante e independiente de la posición donde está localizada la información y de la secuencia de
accesos que haya habido anteriormente.
Diferencias: Memoria de accesos aleatorio: cada posición direccionable tiene asignada una única
dirección que se utiliza para acceder al dato almacenado en ella. Memoria asociativa: no se accede
por el contenido de una determinada dirección de memoria sino que se pregunta si existe una
posición de memoria que contenga una palabra determinada. (Páginas 58 y 60.)
Cuestión 2 (0.6 puntos): Explique brevemente las características principales de la E/S mediante un conmutador central.[PRG29]
El conmutador central controla el acceso a memoria tanto de la UCP como de los módulos de E/S.
Como el camino de datos entre la E/S y la memoria no incluye a la UCP, ésta queda libre para
realizar cálculos. Al mismo tiempo puede suministrar a la UCP información sobre las actividades
que se están realizando y proporciona una conexión directa (que no pasa a través de la memoria)
entre la UCP y la unidad de E/S. Sus principales inconvenientes son el coste y la complejidad del
conmutador.Página 25.

Cuestión 3 (0.8 puntos): Dibuje la estructura del sumador/restador binario paralelo con representación en complemento a 2, a partir
de SBCs (sumadores binarios completos). Etiquete correctamente todas las señales utilizadas.[PRG30]
Página 200 del libro de teoría, Figura 4-12.

Problema (NO conteste en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada
operación de un sistema digital, siendo C(i) el bit i del registro C (C(0) es el bit menos significativo).
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo:
registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y un circuito triestado
de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales que considere
necesarios. En el desplazamiento a la derecha se introduce un 0.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A),
utilizando una memoria ROM y los elementos que considere necesarios. Debe indicar la estructura de la Unidad de Control y el
contenido de la memoria ROM detallada y razonadamente. Se valorará la utilización de una ROM de tamaño mínimo.

1: Declaración: A[8], B[8], C[8], Contador[3]; Ck E A B Ck E


2: A ← Bus;
3: B ← Bus; ED c0 c0 c0
4: C ← Bus; Reg. Desp. UAL Contador c0
5: for Contador = 0 to 3 do
c1 c1 c1
Q R Q S
6: begin
7: if C(3) = C(5) then A ← A * B
c1c0 Q(t+1) c1c0 R c1c0 Q(t+1) c0 S
8: else A ← A - B endif;
9: Desplazar derecha (C); 00 Q(t) 00 A+B 00 Q(t) 0 -
10: end; 01 Carga 01 A-B 01 0 1 E
11: Bus ← A; 10 Des. Dcha. 10 A*B 10 Q(t)+1 mod 8
11: Parar; 11 Q(t) 11 A/B 11 Q(t)
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre 1997 - Original)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. 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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Indicar si las siguientes afirmaciones son ciertas:
I. Cuando los intercambios de E/S ocurren directamente con memoria, la UCP cede al módulo de E/S la capacidad de leer o
escribir en memoria de manera que la transferencia E/S-memoria ocurra sin la intervención directa de la UCP.[PRG31]
II. La UCP puede leer o escribir datos en un módulo de E/S. [PRG32]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Indique si las siguientes afirmaciones son verdaderas:
I. El mecanismo de interrupciones siempre se desactiva cuando la UCP está atendiendo a una interrupción. [PRG33]
II. Si la UCP está atendiendo la interrupción A, cuando llega una petición de interrupción B, la UCP nunca pasa a atender la
interrupción B hasta haber finalizado la rutina de servicio de A.[PRG34]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Un computador tiene una unidad de memoria de 256 (28) palabras y una memoria caché de 32 (25) palabras. La memoria caché
es totalmente asociativa, con un tamaño de partición de 8 (23) palabras y cuando se produce un fallo en la caché se reemplaza la
partición más antigua. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de
memoria principal: 00000000, 00000001, 00000011, 00100001, 00100101, 00010000, 00010010 y 00000000. Indicar si las
siguientes afirmaciones son verdaderas:[PRG35]
I. Si se leyera la dirección 00100111, se produciría un acierto en la memoria caché.[PRG36]
II. Si se leyera la dirección 00001011, se produciría un fallo en la memoria caché y sería necesario reemplazar uno de los
bloques existentes en la caché.[PRG37]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- La organización 2 1/2 D de una memoria RAM con bus de direcciones de N bits, siendo N un número par, utiliza:
A) Dos decodificadores de N/2 entradas y 2N/2 salidas.
B) Un decodificador de N entradas y 2N salidas.
C) Dos decodificadores de N/2 entradas y N/2 salidas.
D) Un decodificador de N/2 entradas y 2N/2 salidas.
5.- En las interrupciones vectorizadas, indicar si las siguientes afirmaciones son ciertas:
I. El periférico envía al controlador de E/S un vector de interrupción que, de forma directa o indirecta, determina el comienzo
del programa de servicio específico de esa interrupción.[PRG38]
II. Es posible emplear la técnica de interrupciones encadenadas (daisy chain) para informar al periférico que su petición de
interrupción ha sido reconocida.[PRG39]
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Indique si las siguientes afirmaciones son verdaderas:
I. El código BCD no es autocomplementario.
II. La suma de dos dígitos BCD únicamente requiere corrección cuando ésta es superior a 15[DB40].
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Indique si las siguientes afirmaciones son verdaderas:
I. Cuando se suman dos números sin signo el arrastre de la última etapa sirve como indicador de rebose.
II. Cuando se suman dos números con signos distintos el arrastre de la última etapa sirve como indicador de rebose[DB41].
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Indique cuál de las siguientes afirmaciones es verdadera:
A) La unidad de información a nivel de puertas lógicas es la palabra.
B) La descripción de un sistema digital se puede dividir en dos partes: unidad de control y memoria de control.
C) Al programar en lenguaje máquina se contempla al computador a nivel de procesador.
D) Todas las afirmaciones anteriores son falsas[DB42].
9.- Indique si las siguientes afirmaciones son verdaderas:
I. Para la fase de ejecución del ciclo de instrucción existen tantas secuencias de microinstrucciones como códigos de
operación existan en el repertorio de instrucciones.
II. Cada fase del ciclo de instrucción se puede descomponer en una secuencia de operaciones elementales llamadas
instrucciones máquina[DB43].
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
10.- Indique si las siguientes afirmaciones son verdaderas:
I. Frente a la unidad de control microprogramada con secuenciamiento explícito, el secuenciamiento implícito presenta como
ventaja el utilizar una longitud de palabra más corta, aunque los microprogramas tienden a ser más largos.
II. El direccionamiento explícito de microinstrucciones requiere dos clases de microinstrucciones: para especificar las señales
de control y para especificar las bifurcaciones[DB44].
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): ¿Por qué mejora el rendimiento de los computadores, desde el punto de vista de su velocidad de
procesamiento, cuando se utilizan las interrupciones?[PRG45]
Como la mayoría de los dispositivos periféricos son mucho más lentos que la UCP, después de
cada transferencia la UCP tendría que parar y permanecer en estado de espera hasta que el
periférico estuviera otra vez listo para realizar la siguiente transferencia. Este tiempo de espera
puede ser del orden de algunos cientos, o incluso miles, de ciclos de instrucción. Utilizando
interrupciones la UCP podría estar ocupada ejecutando otras instrucciones mientras se está
realizando la operación de E/S. (Página 15 del libro de teoría)
Cuestión 2 (0.6 puntos): ¿Cómo se clasifican los distintos tipos de memoria en función del método de acceso? Explique brevemente
las características fundamentales de cada uno de ellos. [PRG46]
Acceso aleatorio. Puede accederse a la información almacenada en cualquier orden, siendo el
tiempo de acceso independiente de la posición donde está localizada. Acceso secuencial. Se
accede a la información almacenada en ellas mediante una secuencia lineal, siendo el tiempo de
acceso variable y dependiente de la posición donde está localizada. Acceso directo: El acceso se
efectúa mediante un mecanismo de acceso aleatorio para alcanzar la zona más próxima a la
información a la que se desea acceder y, a continuación, se realiza una búsqueda de tipo
secuencial. Acceso asociativo. Son también memorias de acceso aleatorio en las que se pregunta
si existe una posición de memoria que contenga una palabra determinada. (Página 58 del libro de
teoría)
Cuestión 3 (0.8 puntos): ¿Cuáles son las funciones de la Unidad de Procesamiento y de la Unidad de Control en el modelo básico de
un sistema digital?[PRG47]
La Unidad de Procesamiento realiza funciones de almacenamiento y transformación de los datos,
mientras que la Unidad de Control controla la transferencia de datos, las transformaciones y el
secuenciamiento de acciones. La Unidad de Control produce secuencias de señales de control que
gobiernan los cálculos realizados en la Unidad de Procesamiento. (Página 314 del libro de teoría)

Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
Diseñe un circuito digital (Unidad de Procesamiento + Unidad de Control) que realice el algoritmo que se muestra en el recuadro.
Para ello siga los siguientes apartados: 1: Declaración de registros: A[8], X[8];
A) Diseñe razonadamente la Unidad de Procesamiento, 2: Declaración de buses: Bus-Entrada[8], Bus-Salida[8];
utilizando los recursos que considere necesarios. 3: Inicio: X ← Bus-Entrada;
B) Describa todas las señales de control de la Unidad de 4: A ← Bus-Entrada;
Procesamiento diseñada en A). 5: Test: if X = 255 then go to Sumar;
6: Restar: A ← A – 1;
C) Dibuje el diagrama de estados de una Unidad de Control
7: go to Sacar;
que realice el algoritmo propuesto. Describa, en forma de
8: Sumar: A ← A + 1;
tabla, las microoperaciones y las señales de control
9: Sacar: Bus-Salida ← A;
activadas en cada uno de los estados.
10: Parar: go to Parar;
D) Diseñe razonadamente la Unidad de Control, empleando
cualquiera de las técnicas de diseño estudiadas a lo largo del curso. Indique claramente todos los pasos seguidos.
SOLUCIONES DE LOS TESTS

Junio 97 Junio 97
Nº Pregunta (1ª semana) (2ª semana) Septiembre 97
1 A C A
2 A B D
3 D B B
4 B D A
5 C C C
6 A A B
7 D D B
8 B B D
9 A B B
10 A C B
97 Problemas de los
exámenes del curso 96/97

Problema 97-1: 1ª semana de Junio de 1997


La Figura 97-1-1 muestra el diagrama de estados de una Unidad de Control
donde Si es el estado, si son las condiciones externas y, además, se supone que
en cada estado Si se activa únicamente la señal de control ci. Diseñar la
Unidad de Control con los siguientes componentes:
A)(1 punto) Utilizando la técnica de los elementos de retardo.
B) (3 puntos) Con un contador módulo 8 como el mostrado en la Figura
97-1-2, un decodificador y las puertas lógicas necesarias.
Explicar claramente las distintas fases empleadas en el proceso de diseño.

s1s0=00,10
s1s0=01
S1 S0
s1s0=11 s1s0=00,01,10
s1=0
s1=1 s0=1
S4 S2 S3 S5 s1s0=11
s0=0
Figura 97-1-1 Diagrama de estados de la Unidad de Control

1
Estructura y Tecnología de Computadores II

Clear Salidas paralelo

Carga Cl Q2 Q1 Q0
L Contador módulo 8
> H E2 E1 E0
Reloj

Habilitación Entradas paralelo


Figura 97-1-2 Diagrama de bloques de un contador módulo 8
Solución
A) En la técnica de los elementos de retardo cada estado viene codificado
por un único biestable tipo D, siendo directa la transformación entre el
diagrama de estados y el circuito secuencial (Figura 97-1-3)..
Estados
Predecesores

Si
Si

⇔ ⇔
Q
D Si Reloj Si
Determinado por
Variables de

Sj las condiciones
Condición

• Sj
Demultiplexor
Sj Sk
Reloj
Estados
Sucesores
a) b)

Figura 97-1-3 Transformación de un diagrama de estados a un circuito secuencial


Con estas indicaciones se puede realizar la U.C. que se muestra en la Figura
97-1-4. Hemos de recordar que, según se indica en el enunciado, en el estado
Si se genera únicamente la señal de control ci, por lo que la propia salida de
cada biestable sirve como señal de control ci.
La puesta en marcha del circuito se realiza poniendo a 0 la señal Set de S0
(lo que hace que la salida de este biestable se ponga a 1) y, simultáneamente,

2
97 Problemas de los exámenes del curso 96/97

poniendo a 0 las señales Clear de S1 a S5 (con lo que estos biestables se ponen


a 0).

> S0
Set
• •• •
s1s0 s1s0 s1s0 s1s0 c0

S1 c1
• >


• > S2 > S4
c2 c4
• ••
s1 s1

• > S3
c3
••
s0 s0


CK > S5
Clear • c5
s0 • •
s1 •

Figura 97-1-4 U.C. mediante elementos de retardo

3
Estructura y Tecnología de Computadores II

B) Para esta técnica se utiliza un contador a modo de registro de estado. El


funcionamiento del contador se resume en la Tabla 97-1-1, siendo Q(t) la
salida del contador en el instante actual t.

Condición Q(t+1)

Clear=1 (asíncrona) 0
L=1 y H=0 E(t)
H=1 y L=0 (Q(t)+1) mod 8
Cualquier otro caso Q(t)
Tabla 97-1-1 Funcionamiento del contador

Para implementar las transiciones de estado de la U.C. utilizando esta


técnica hemos de tener en cuenta lo siguiente:
1) La transición Si --> Si+1 se realiza incrementando la cuenta
(“contando”) del contador: H=1 y L=0.
2) La ruptura de secuencia Si --> Sj se realiza con la carga en paralelo:
L=1 y H=0, poniendo en la entrada E del contador la codificación
elegida para Sj.
3) Permanecer en el mismo estado (Si --> Si) se puede realizar de dos
formas: haciendo H=L=0, con lo que Q(t+1) = Q(t), o bien haciendo
H=0, L=1 y poniendo en la entrada E del contador la codificación de
Si.
De estas dos últimas alternativas utilizaremos la primera. Se deja al alumno
como ejercicio el repetir este problema mediante la segunda. Obsérvese que
entonces siempre se verificaría H=L, lo que en ocasiones puede simplificar el
diseño global, aunque con una expresión para E algo más complicada.
La técnica de la U.C. basada en un contador es especialmente útil cuando la
tabla de transición de estados tiene pocas rupturas de secuencia, lo que a
primera vista no es el caso. En efecto, si hacemos la codificación del estado
habitual (Tabla 97-1-2) se producirán numerosas rupturas de secuencia, lo

4
97 Problemas de los exámenes del curso 96/97

que conducirá a un circuito más complejo. Sin embargo, obsévese que en el


diagrama de estados de la Figura 97-1-1 existe una secuencia “natural”:
S0 --> S1 --> S4 --> S2 --> S3 --> S5
Por esta razón, es mejor utilizar la codificación propuesta en la Tabla 97-1-3,
ya que minimiza el número de rupturas..

S0 000
S1 001
S2 010
S3 011
S4 100
S5 101
Tabla 97-1-2 Una posible codificación del estado

S0 000
S1 001
S4 010
S2 011
S3 100
S5 101
Tabla 97-1-3 Codificación alternativa del estado para minimizar las rupturas de secuencia

Aquí resolveremos el problema utilizando la codificación propuesta en la


Tabla 97-1-3. El alumno puede repetirlo, como ejercicio conveniente,
utilizando la codificación de la Tabla 97-1-2 y comparar la complejidad de los
circuitos que resultan con cada una de ellas.
Hechas estas observaciones, la Tabla 97-1-4 recoge el valor de las entradas

5
Estructura y Tecnología de Computadores II

H, L, E2, E1 y E0 del contador que se han de activar en cada estado.

Estado Próx.
s1 s0 H L E2 E1 E0 S. cont.
actual estado

00 S0 0 0 xxx
S0 01 S1 1 0 xxx c0
10 S0 0 0* xxx
11 S2 0 1 011
S1 --- S4 1 0 xxx c1
S2 --- S3 1 0 xxx c2
S3 -0 S4 0 1 010 c3
-1 S5 1 0 xxx
S4 0- S4 0 0* xxx c4
1- S2 1 0 xxx
00 S0 0 1 000
S5 01 S0 0 1 000 c5
10 S0 0 1 000
11 S5 0 0* xxx
Tabla 97-1-4 Entradas de control del contador (*obsérvese que, tal como se había indicado,
no se verifica que H=L)

A partir de la Tabla 97-1-4 se obtienen fácilmente las funciones lógicas de


los controles del contador. Las entradas E2E1E0 marcadas como “xxx” no se
utilizan nunca, por lo que se pueden utilizar como más convenga, 0 ó 1, para
simplificar las expresiones lógicas. Así, finalmente, resulta:
E2=0; E1=S0+S3; E0=S0;
L=S0s1s0+S3s0+S5(s1+s0);
H=S0s1s0+S1+S2+S3s0+S4s1.
A partir de estas expresiones se construye la U.C. que se muestra en la
Figura 97-1-5. Las señales de control ci se generan mediante un decodificador

6
97 Problemas de los exámenes del curso 96/97

a partir del estado Q2Q1Q0, teniendo en cuenta que hemos elegido la


codificación dada en la Tabla 97-1-3.
1

H 7
6

Decodificador
5 S5 c5
2 4 S3 c3
1 3 S2 c2
0 2 S4 c4
Inicio 1 S1 c1
S0s1s0 0 S0 c0
S3s0 Cl Q2 Q1 Q0
L Contador módulo 8
S3(s1+s0) CK > H E2 E1 E0

0 S0

S0 S3
S0s1s0 S1 S2 S3s0 S4s1
Figura 97-1-5 U.C. realizada utilizando un contador

Nota
En el primer apartado es frecuente olvidar que todos los biestables
utilizados en el circuito deben estar conectados a la señal de reloj CK.
Otro fallo grave es conectar de manera común la salida de varias puertas a
una única línea de salida sin hacer uso de una puerta OR, tal como se muestra
en la Figura 97-1-6.

7
Estructura y Tecnología de Computadores II

a) b)
Figura 97-1-6 a) Mal b) Bien

Problema 97-2: 2ª semana de Junio de 1997


El siguiente algoritmo describe una determinada operación de un sistema
digital, siendo C(i) el bit i del registro C (C(0) es el bit menos significativo).
A)(2 puntos) Diseñar la Unidad de Procesamiento que permita realizar
este algoritmo utilizando los módulos dibujados abajo: registros de
desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada
una, un contador módulo-8 y un circuito triestado de conexión
unidireccional con control de 8 bits; además de puertas lógicas y los
módulos combinacionales que considere necesarios. En el
desplazamiento a la derecha se introduce un 0.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo
con la Unidad de Procesamiento diseñada en el apartado A),
utilizando una memoria ROM y los elementos que considere
necesarios. Debe indicar la estructura de la Unidad de Control y el
contenido de la memoria ROM detallada y razonadamente. Se
valorará la utilización de una ROM de tamaño mínimo.
1: Declaración: A[8], B[8], C[8], Contador[3];
2: A ← Bus;
3: B ← Bus;
4: C ← Bus;
5: for Contador = 0 to 3 do
6: begin

8
97 Problemas de los exámenes del curso 96/97

7: if C(3) = C(5) then A ← A * B


8: else A ← A - B endif;
9: Desplazar derecha (C);
10: end;
11: Bus ← A;
12: Parar;

Ck E A B Ck E
ED c0 c0 c0
Reg. Desp. UAL Contador c0
c1 c1 c1
Q R Q S
c1 c0 Q(t+1) c1c0 R c1c0 Q(t+1) c0 S
00 Q(t) 00 A+B 00 Q(t) 0 -
01 Carga 01 A-B 01 0 1 E
10 Des. Dcha. 10 A*B 10 Q(t)+1 mod 8
11 Q(t) 11 A/B 11 Q(t)

Figura 97-2-1 Módulos del problema y debajo su tabla de funcionamiento


Solución
A) Antes de proponer un diseño para la Unidad de Procesamiento hagamos
unas consideraciones previas sobre las necesidades del algoritmo. La Unidad
de Procesamiento tiene que resolver cada uno de estos requerimientos.
• Los registros de desplazamiento del enunciando son los únicos elementos
de almacenamiento disponibles, por lo que se utilizarán necesariamente
para los tres registros: A, B y C. En el caso de A y B no se hará uso de la
capacidad de estos registros para realizar desplazamientos, pero sí en C
(paso 9 del algoritmo).
• A la hora de hacer desplazamientos en el registro C hay que introducir un
0, tal y como exige el apartado A) del problema, por lo que habrá que fijar
su entrada ED a 0. Con los registros A y B no existe este problema ya que
no se van a hacer desplazamientos con ellos, y su entrada ED se fija
arbitrariamente a un valor determinado, por ejemplo 0.
• El registro A tiene que poder recibir información desde el bus (paso 2 del
algoritmo) y desde la salida de la UAL (pasos 7 y 8 del algoritmo). Al

9
Estructura y Tecnología de Computadores II

llegarle información desde dos lugares distintos es necesario colocar un


multiplexor en la entrada para seleccionar cuál de los dos debe ser
cargado en el registro.
• El registro A debe entregar su contenido a la UAL y al bus. Su salida tiene
que estar conectada con ambos, pero para la conexión al bus es
necesario colocar un circuito triestado para evitar que este registro
envíe continuamente su salida al bus. Si no se colocara este circuito
triestado se producirían continuos conflictos eléctricos en el bus que lo
harían totalmente inservible (ver Capítulo 1 del libro de teoría).
• Al registro B le llega información del Bus y entrega su contenido a la
UAL.
• El registro C recibe información desde el Bus y el algoritmo necesita
consultar el valor de sus dos bits menos significativos para comprobar si
son iguales o distintos. Esta condición se genera directamente mediante la
función lógica C(3) ⊕ C(5).
• En el algoritmo hay un bucle que se ejecutará un total de 4 veces, desde 0
hasta 3. Para controlar esto se utilizamos el contador módulo 8. La forma
de detectar el final de la cuenta depende del diagrama de estados que se
emplee. En esta solución se propone incrementar el contador nada mas
entrar en el bucle y comprobar la condición de finalización en el mismo
estado en el que se desplaza el registro C. Si se hace así, la Unidad de
Control tiene que comprobar cuándo el contador ha llegado a 4, es decir,
simplemente tiene que saber si el bit más significativo del contador es 1 o
es 0. Si es 1 el bucle ha llegado al final y se salta al estado S6 en el
diagrama de estados de la Figura 97-2-3.
• Los registros de desplazamiento de 8 bits y el contador módulo-8 tienen
una entrada de reloj Ck. En el diseño de la Unidad de Procesamiento
habrá que conectar todas las entradas de reloj con la que llega a la Unidad
de Control para conseguir una sincronización correcta en todas las
acciones de ambas.
Un posible diseño para la Unidad de Procesamiento pedida, teniendo en
cuenta todos estos requisitos , puede ser el mostrado en la Figura 97-2-2.
Sobre este diseño conviene hacer una observación. Los registros A y B sólo

10
97 Problemas de los exámenes del curso 96/97

van a utilizar dos valores de sus entradas de control


c1c0 Q(t+1)
00 Q(t)
01 Carga

por lo que se puede fijar su entrada de control c1 directamente a 0.

Bus

0 1 c9
c0
MUX
C
c c1 c c2 c c3
0 ED Reg. des. c01 0 ED Reg. des. c01 0 ED Reg. des. c01 c4
0 0
A B C(3) C(5)

A B c0 c5
UAL c1 c6

c0 s0= C(3) ⊕ C(5)


c7
Contador c1 c8
2 1 0 s1

c0 Unidad de
Inicio Circuito c1 Procesamiento
Fin de
Reloj Control c9
Unidad de
Control
Figura 97-2-2 Diagrama de bloques, puntos de control (c0 a c9) y señales de condición (s0 y
s1) de la Unidad de Procesamiento solicitada
Para completar este diseño, es necesario hacer una breve descripción del
significado de cada una de las entradas de control que gobiernan el
funcionamiento de la Unidad de Procesamiento (ver Tabla 97-2-1).

11
Estructura y Tecnología de Computadores II

Señal de Control Operación controlada

c0 Entrada de selección del multiplexor

c1 Cargar A desde la salida del multiplexor

c2 Cargar B desde el Bus

c4 y c3 Cargar C desde el Bus (01), desplazamiento derecha de C (10) o nada (00)

c6 y c5 Control de la UAL: suma (00), resta (01), producto (10) o división (11)

c8 y c7 Control del contador: nada (00 y 11), reset (01) o incremento (10)

c9 Control del circuito triestado: Bus ← A (1), A aislado del bus (0)

Tabla 97-2-1 Descripción de la señales de control de la Unidad de Procesamiento

B) Un posible diagrama de estados para la Unidad de Control que gobierne


el funcionamiento de la Unidad de Procesamiento de la Figura 97-2-2, es el
mostrado en la Figura 97-2-3. La Tabla 97-2-2 da una descripción detallada de
cada uno de los estados junto con las señales de control a activar en cada uno
de ellos, y la codificación de los estados empleada es la mostrada en la Tabla
97-2-3.
s1

S4 s1
S0 S1 S2 s0
S3 S6 S7

s0 s1
S5

s1

Figura 97-2-3 Diagrama de estados de la Unidad de Control

12
97 Problemas de los exámenes del curso 96/97

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar
S0 A ← Bus c0, c1, c7
contador ← 0
S1 B ← Bus c2
S2 C ← Bus c3
S3 Ninguna Ninguna
S4 A←A-B c1, c5, c4, c8
Desplazar derecha C
Incrementar contador
S5 A←A*B c1, c6, c4, c8
Desplazar derecha C
Incrementar contador
S6 Bus ← A c9
S7 Ninguna Ninguna

Tabla 97-2-2 Acciones tomadas por la Unidad de Control en cada estado


A la hora de diseñar la Unidad de Control utilizando memoria ROM el
enunciado indica que se valorará la utilización de una memoria de tamaño
mínimo. Para conseguir este objetivo hay que darse cuenta que en cada estado
se consulta, como máximo, una condición, por lo que sería posible reducir el
número de palabras de la ROM a la mitad si se selecciona previamente la
condición utilizando un multiplexor. Las entradas de selección de este
multiplexor pueden ser el mismo estado (selección por estado) o un bit
adicional almacenado en la memoria ROM (selección por campo). Como esta
segunda solución (selección por campo) requiere de una memoria ROM de
tamaño mayor al tener que almacenar ese bit adicional por estado, se opta por
la primera (selección por estado) aunque requiere del multiplexor
mencionado.

13
Estructura y Tecnología de Computadores II

Estado Q2 Q1Q0
S0 000
S1 001
S2 010
S3 011
S4 100
S5 101
S6 110
S7 111
Tabla 97-2-3 Codificación de los estados

La Figura 97-2-4 muestra la estructura de la Unidad de Control pedida en el


enunciado del problema. Tiene 4 líneas de direcciones (1 para la condición y
las otras 3 para el valor del estado actual) y una logintud de palabra de 13 bits
(3 para el estado siguiente y 10 para las señales de control), por tanto tiene una
tamaño de 24 palabras x 13 bits por palabra.

NOTA
Un error muy frecuente a la hora de resolver el problema es la utilización de
puntos de control en vez de las entradas de control de los módulos empleados
(registros de desplazamiento, contadores, etc). Tal y como se indica en las
páginas 321 a 323 del libro de teoría, “Los puntos de control se realizan
mediante circuitos cuya naturaleza depende de las características de los
dispositivos conectados a los caminos de datos sobre los que actúan”.

14
97 Problemas de los exámenes del curso 96/97

0
1
2
s0 3
s1 4 MUX A0
s1 5 A1 ROM
6
A2
7
16 palabras × 13 bits
0 1 2 A3
p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
Estado futuro

• Inicio Cl Registro
• Reloj
Estado presente Q2 Q1 Q0 c9 c8 c7 c6 c5 c4 c3 c2 c1 c0

Figura 97-2-4 Unidad de Control diseñada con una memoria ROM

Dirección de la ROM Contenido de la ROM


Estado
A3 A2 A1 A0 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
Estado presente + Cond. Próximo Estado Control
Presente
Q2 Q1 Q0 si Q2 Q1 Q0 c9 c8 c7 c6 c5 c4 c3 c2 c1 c0
0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 1
S0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1
0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0
S1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0
0 1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0
S2 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0
0 1 1 0 (si s0 = 0) 1 0 1 0 0 0 0 0 0 0 0 0 0
S3 0 1 1 1 (si s0 = 1) 1 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 (si s1 = 0) 0 1 1 0 1 0 0 1 1 0 0 1 0
S4 1 0 0 1 (si s1 = 1) 1 1 0 0 1 0 0 1 1 0 0 1 0
1 0 1 0 (si s1 = 0) 0 1 1 0 1 0 1 0 1 0 0 1 0
S5 1 0 1 1 (si s1 = 1) 1 1 0 0 1 0 1 0 1 0 0 1 0
1 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0
S6 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0
1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0
S7 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
Tabla 97-3-4 Contenido de la memoria ROM

15
Estructura y Tecnología de Computadores II

Problema 97-3: Septiembre de 1997


Diseñe un circuito digital (Unidad de Procesamiento + Unidad de Control)
que realice el algoritmo que se muestra en el recuadro. Para ello siga los
siguientes apartados:
A)Diseñe razonadamente la Unidad de Procesamiento, utilizando los
recursos que considere necesarios.
B) Describa todas las señales de control de la Unidad de Procesamiento
diseñada en A).
C) Dibuje el diagrama de estados de una Unidad de Control que realice
el algoritmo propuesto. Describa, en forma de tabla, las
microoperaciones y las señales de control activadas en cada unos de
los estados.
D)Diseñe razonadamente la Unidad de Control, empleando cualquiera
de las técnicas de diseño estudiadas a lo largo del curso. Indique
claramente todos los pasos seguidos.
Solución
A) A la vista del algoritmo propuesto, la Unidad de Procesamiento que se
diseñe ha de ser capaz de:
1) Transferir el contenido del bus de entrada a ambos registros (X y A).
2) Incrementar/decrementar el contenido del registro A.
3) Transferir el contenido del registro A al bus de salida.
4) Comparar el contenido del registro X con 255 (11111111).
Para realizar la Unidad de Procesamiento utilizaremos registros
convencionales, sin capacidad de incremento/decremento, por lo que hará
falta un circuito combinacional adicional capaz de realizar esta operación.
Bajo estas consideraciones la Figura 97-3-1 muestra la posible realización de
una Unidad de Procesamiento que puede ejecutar el algortimo propuesto. Se
ha utilizado un sumador/restador binario convencional para las operaciones
de incremento/decremento.

16
97 Problemas de los exámenes del curso 96/97

8 Bus-Entrada

0 1
c0
MUX

c1 LD c4 LD
A X
CK > CK >
“1” 8

c2 S/R 0
s0 (X=255)

c3
8 Bus-Salida

Figura 97-3-1 Unidad de Procesamiento


Se ha supuesto que los registros son disparados por el flanco de bajada de la
señal de reloj CK por lo que no se producirán problemas a la hora de
realimentar la salida del sumador/restador a la entrada del registro A.
También se supone que las operaciones de suma y resta no producen
problemas de desbordamiento. Para evitar que la salida del registro A se
vuelque en el bus de salida indebidamente se ha utilizado una puerta triestado
gobernada por la señal de control c3. La puerta lógica AND compara la salida
del registro X con 255: si todos sus bits están a 1 el valor de X es 255 y se
genera la señal de condición s0.

17
Estructura y Tecnología de Computadores II

B)

Señal Descripción

c0 Selecciona una de las entradas del multiplexor


c1 Carga del registro A
c2 Suma (1) o resta (0)
c3 Salida del registro A al bus de salida
c4 Carga del registro X
Tabla 97-3-1 Descripción de las señales de control utilizadas

C)
s0
S0 S1 S2

s0 S4 S5

S3

Figura 97-3-2 Diagrama de estados

Señales de
Estado Microoperación
control

S0 X ← Bus-Entrada c4
S1 A ← Bus-Entrada c0,c1
S2 A←A+1 c0,c1,c2
S3 A←A-1 c0,c1,c2
Tabla 97-3-2 Descripción de los estados y sus microoperaciones asociadas

18
97 Problemas de los exámenes del curso 96/97

Señales de
Estado Microoperación
control

S4 Bus-Salida ← A c3
S5 Parar -----
Tabla 97-3-2 Descripción de los estados y sus microoperaciones asociadas

D) Utilizaremos la técnica de la Unidad de Control cableada con biestables


tipo D. (Un ejercicio muy recomendable que puede realizar el alumno es
repetir este apartado utilizando otras técnicas de diseño, comparando las
características y dificultad de cada una de ellas.)
Ya que hay 6 estados harán falta 3 biestables tipo D. Una posible
codificación de los estados es la mostrada en la Tabla 97-3-3.

Estado Q2Q1Q0

S0 000
S1 001
S2 010
S3 011
S4 100
S5 101
Tabla 97-3-3 Tabla de codificación de los estados

Del diagrama de estados de la Figura 97-3-2 y la codificación elegida en la


Tabla 97-3-3 se obtiene directamente la tabla de transición de estados (Tabla
97-3-4), y a partir de ella las funciones lógicas de las entradas de los biestables
mediante mapas de Karnaugh.

19
Estructura y Tecnología de Computadores II

Próx.
Est. actual
Condición estado S. control
Q2Q1Q0
Q2Q1Q0

000 --- 000 c4


001 s0 010 c0,c1
s0 011
010 --- 100 c0,c1,c2
011 --- 100 c0,c1,c2
100 --- 101 c3
101 --- 101 -----
Tabla 97-3-4 Tabla de transición de estados

Q1Q0 Q1Q0 Q1Q0


s 0Q 2 00 01 11 10 s 0Q 2 00 01 11 10 s 0Q 2 00 01 11 10
00 0 0 1 1 00 0 1 0 0 00 0 1 0 0
D2 01 1 1 X X D1 01 0 0 X X D0 01 1 1 X X
11 1 1 X X 11 0 0 X X 11 1 1 X X
10 0 0 1 1 10 0 1 0 0 10 0 0 0 0

D2=Q2+Q1; D1=Q2Q1Q0; D0=Q2+s0Q1Q0.


A partir de aquí se construye fácilmente la Unidad de Control siguiendo la
técnica de diseño correspondiente (Figura 97-3-3). Para general las señales de
control se puede utilizar un decodificador, a partir de la codificación del
estado Q2Q1Q0.

20
97 Problemas de los exámenes del curso 96/97

Q2
D2 Q2
Q1
1
CK > Cl Q2
H 7
Inicio
Q2 6
2

Decodificador
Q1 D1 Q1 5
Q0 4 c3
CK 1 c0,c1
> Cl Q1 3
2 c0,c1,c2
Inicio
0 1 c1
s0 Q2
D0 Q0 0 c4
Q1
Q0 CK > Cl Q0
Inicio
Figura 97-3-3 Unidad de Control

21
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1998 - 1ª semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. 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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Sea una UCP con 4 líneas de interrupción PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es decir, PI1 tiene la
prioridad mínima y PI4 la máxima. El sistema no permite anidamiento de interrupciones. Se supone que se producen 4 peticiones de
interrupción en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está
ejecutando el programa de servicio de PI3, ¿en qué orden se tratan las interrupciones?
A) PI3, PI4, PI3, PI2 y PI1 B) PI3, PI4, PI2 y PI1 C) PI3, PI1, PI4 y PI2 D) Ninguna de las anteriores
2.- La multiplexación en el tiempo del bus implica:
I. Aumentar la complejidad de la circuitería asociada a cada módulo al utilizar un menor número de líneas.
II. Una reducción potencial en el rendimiento del computador puesto que ciertos sucesos que comparten las mismas líneas no
pueden tener lugar en paralelo.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento, del
registro de máscara y del contenido de la memoria, ¿cuál sería el valor del registro de marca?
0 1 0 1 1 1 0 0 ARGUMENTO
1 0 1 0 1 1 0 1 MÁSCARA 0 0 0
0 1 1
1 0 0 1 1 1 1 1 ? 1 1 0
0 1 0 1 1 0 1 0 ? 0 0 0
0 1 0 1 0 0 1 0 ? MARCA 1 1 1
0 1 1 0 1 1 1 0 ? A) B) C) D) Ninguna de las anteriores
0 0 0 1 1 1 1 0 ?

4.- Una memoria tipo pila se utiliza:


I. Para almacenar el estado del procesador después de ejecutar el programa de servicio de una interrupción.
II. En el salto a subprograma para almacenar la dirección de dicho subprograma.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 10 unidades de cinta. Las unidades de disco
tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 103 bytes/seg. Si para la transferencia de un byte del canal
multiplexor a memoria principal se utiliza el bus del sistema durante 100 nseg. ¿Qué porcentaje máximo de tiempo estaría ocupado el
bus del sistema en una transferencia de datos del canal multiplexor a memoria principal?
A) 5% B) 10 % C) 15 % D) Ninguna de las anteriores
6.- Las principales diferencias entre entrada/salida (E/S) controlada por interrupciones y E/S controlada por DMA son:
I. En E/S controlada por interrupciones, la UCP interviene de forma activa durante toda la transferencia de datos.
II. El controlador de DMA es capaz de ejecutar un programa con instrucciones de E/S.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- En un sumador binario completo (SBC) de dos números binarios de un bit, x e y, y con acarreo de entrada c-1:
I. La función lógica del resultado de la suma es s = x ⊕ y (⊕ es la OR exclusiva).
II. La función lógica del acarreo de salida es c = xy + ( x ⊕ y )c −1 (⊕ es la OR exclusiva).
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- En la representación de números en coma flotante:
I. La normalización de las mantisas permite que el número de bits significativos de la mantisa sea máximo.
II. Todos los números en coma flotante normalizados deben tener una mantisa menor o igual a 1/2.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
9.- Utilizando microinstrucciones con formato vertical:
j
I. Un subcampo de j bits puede especificar un máximo de 2 señales de control.
II. Cada señal de control tiene un subcampo independiente de un bit que indica el correspondiente valor de la señal de control.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
10.- Se desea diseñar una Unidad de Control con 18 estados, que genere 30 señales de control totalmente independientes y reciba 4
señales de condición, utilizando memoria ROM pero minimizando la capacidad necesaria de ésta, ya que en cada estado se utiliza,
como máximo, una única condición. Utilizando un multiplexor con selección por estado, para diseñar esta Unidad de Control sería
necesario utilizar:
A) Un registro de 5 bits, un MUX 32:1 y una ROM de 26 palabras × 35 bits/palabra.
B) Un registro de 18 bits, un MUX 8:1 y una ROM de 25 palabras × 48 bits/palabra.
C) Un registro de 5 bits, un MUX 8:1 y una ROM de 26 palabras × 30 bits/palabra.
D) Ninguna de las anteriores es cierta.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.5 puntos): ¿Cuáles son y para qué sirven las señales que utilizan la Unidad de Control (UC) y la Unidad de
Procesamiento (UP) de un sistema digital para comunicarse entre sí?

/D 8QLGDG GH &RQWURO \ OD 8QLGDG GH 3URFHVDPLHQWR  VH FRPXQLFDQ PHGLDQWH ODV VHxDOHV GH
FRQGLFLyQ\ODVVHxDOHVGHFRQWURO/DVVHxDOHVGHFRQGLFLyQSURSRUFLRQDQLQIRUPDFLyQDFHUFDGHO
HVWDGR DFWXDO GH OD 8QLGDG GH 3URFHVDPLHQWR /DV VHxDOHV GH FRQWURO VRQ JHQHUDGDV SRU OD
8QLGDGGH&RQWUROSDUDFRQWURODUODVWUDQVIHUHQFLDV\WUDQVIRUPDFLyQHVGHORVGDWRVGHQWURGH
OD8QLGDGGH3URFHVDPLHQWR
3iJLQDVGHODDODGHOOLEURGHWHRUtD HGLFLyQ 
Cuestión 2 (0.8 puntos): Enumere y describa las diferentes técnicas para identificar la fuente de una interrupción.

0~OWLSOHV OtQHDV /D 8&3 HV FDSD] GH UHFRQRFHU OD IXHQWH GH OD LQWHUUXSFLyQ GLUHFWDPHQWH D
WUDYpV GH OD HQWUDGD TXH KD JHQHUDGR OD SHWLFLyQ ,GHQWLILFDFLyQ SRU HQFXHVWD &XDQGR OD 8&3
GHWHFWD XQD LQWHUUXSFLyQ HMHFXWD XQ SURJUDPD GRQGH VH SUHJXQWD D FDGD XQR GH ORV
FRQWURODGRUHV GH (6 VL KD VLGR HO RULJHQ GH OD LQWHUUXSFLyQ ,QWHUUXSFLRQHV YHFWDUL]DGDV
&XDQGROD8&3GHWHFWDXQDLQWHUUXSFLyQJHQHUDXQDVHxDOGHDXWRUL]DFLyQTXHHVHQYLDGDDWRGRV
ORVFRQWURODGRUHVGH(6&XDQGRODDXWRUL]DFLyQOOHJDDOTXHJHQHURODLQWHUUXSFLyQpVWHFRORFD
XQYHFWRUGHLQWHUUXSFLyQHQHOEXVGHGDWRVTXHVLUYHDOD8&3SDUDLGHQWLILFDUOR
3iJLQDVGHODDODGHOOLEURGHWHRUtD HGLFLyQ 
Cuestión 3 (0.7 puntos): ¿Para qué sirve la función de correspondencia de una memoria caché?

6HHQFDUJDGHDVLJQDUDORVEORTXHVGHODPHPRULDSULQFLSDOSRVLFLRQHVGHILQLGDVHQODPHPRULD
FDFKp

3iJLQDGHOOLEURGHWHRUtD HGLFLyQ 

Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la figura, con dos
entradas de datos X (x2x1x0) e Y (y1y0), una entrada de control C (c1c0) y una salida de datos
3 2
S (s3s2s1s0). El funcionamiento de la UAL viene descrito por la siguiente tabla:
c1c0 = 00 : suma S=X+Y
c1c0 = 01 : resta S=X-Y x2x1x0 y1y0

c1c0 = 10 : comparación Si X > Y entonces S = 1 0 0 0 c1c0


Si X = Y entonces S = 0 1 0 0
2 UAL
Si X < Y entonces S = 0 0 1 0
s 3 s2 s1 s0
c1c0 = 11 : sacar X S = X (s3=0, s2s1s0=x2x1x0)
Para resolver el problema, seguir obligatoriamente los siguientes apartados:
A) (0.5 puntos) Utilizando únicamente puertas lógicas, diseñar un Sumador Binario Completo
(SBC).
B) (0.5 puntos) Diseñar un sumador/restador binario de números de tres bits utilizando SBC’s como el diseñado en el apartado A) y
las puertas lógicas necesarias.
C) (1.5 puntos) Diseñar un comparador de números de tres bits utilizando únicamente un módulo de memoria ROM. ¿Cuál es el
tamaño necesario para este módulo de memoria ROM? Indique claramente el significado de cada una de sus entradas y cada una de
sus salidas. Escriba el contenido de la memoria ROM en forma de tabla.
D) (1.5 puntos) Utilizando únicamente los módulos diseñados en los apartados anteriores y los módulos combinacionales necesarios,
diseñe la UAL pedida.
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio 1998 - 2ª semana)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. 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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Sea una UCP con 5 líneas de interrupción PI4, PI3, PI2, PI1 y PI0 enmascarables mediante 5 bits del registro de estado RE de la
UCP, de forma que una petición de interrupción en PIj enmascara las líneas PIi con i<j. Se supone que se producen 4 peticiones de
interrupción en este orden: PI2, PI4, PI3 y PI1. Teniendo en cuenta que las interrupciones son anidables y que las tres últimas se
producen simultáneamente y antes de finalizar la ejecución del programa de servicio de PI2, ¿en qué orden se tratan las
interrupciones?
A) PI2, PI4, PI3, PI2 y PI1 B) PI2, PI4, PI2, PI3 y PI1 C) PI2, PI4, PI3 y PI1 D) Ninguna de las anteriores
2.- Una arquitectura con bus:
I. Su característica clave es que se trata de un medio de transmisión compartido.
II. Tiene la ventaja de permitir ampliar el sistema fácilmente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Un computador tiene una unidad de memoria de 512 (2 ) palabras y una memoria caché de 32 (25) palabras. La memoria caché
9
utiliza correspondencia totalmente asociativa, con un tamaño de partición de 8 (23) palabras. Suponiendo que inicialmente la
memoria caché está vacía, ¿cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal
000000000, 000000001, 000000011, 000100001, 000100101, 000010000, 000010010 y 000000000 ?
A) 3 B) 4 C) 5 D) Ninguna de las anteriores
4.- Las memorias de almacenamiento dinámico:
I. Deben ser refrescadas cada cierto tiempo debido a que la información que contienen se va deteriorando con el tiempo.
II. Son memorias no volátiles.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador dispone de un canal selector que controla 3 unidades de disco y 5 unidades de cinta. Las unidades de disco tienen
una velocidad de transferencia de 5×106 bytes/seg., y las de cinta de 105 bytes/seg. Si para la transferencia de un byte del canal
selector a memoria principal se utiliza el bus del sistema durante 50 nseg., ¿qué porcentaje
Bus de datos
máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos a través Bus de direcciones
Leer
de este canal selector?. Escribir
A) 0.25 % B) 2.5 % C) 25 % D) Ninguna de las anteriores. Memoria Controlador
Principal UCP E/S
6.- En el mecanismo de E/S mostrado en la figura:
I. Hay un único espacio de direcciones para las posiciones de memoria y los
dispositivos de E/S.
II. Se pueden utilizar instrucciones del tipo referencia a memoria para acceder a datos Perif. 1 ... Perif. n
de E/S.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Se desea comparar dos números binarios de 4 bits cada uno: X=x3x2x1x0 con Y=y3y2y1y0. Utilizando comparadores de un bit se
compara cada pareja de bits, xi con yi, obteniéndose: Mi (xi>yi), Ii (xi=yi) y mi (xi<yi). Entonces:
I. La función lógica M (X>Y) es M = M3 + I3M2 + I3I2M1.
II. La función lógica m (X<Y) es m = m0 + I0m1 + I0I1m2 + I0I1I2m3.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Cuando en una operación de suma en coma flotante de dos mantisas del mismo signo se produce un arrastre del bit más
significativo hay que realizar una operación de renormalización consistente en:
I. Desplazar la mantisa un bit a la derecha y ajustar el exponente.
II. Desplazar el exponente a la derecha un número determinado de bits dependiendo del desbordamiento de la mantisa.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
9.- En una unidad de control microprogramada:
I. El secuenciamiento de las microinstrucciones consiste en obtener la próxima microinstrucción de la memoria de control.
II. La ejecución de la microinstrucción consiste en generar las señales de control necesarias.
A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
10.- A la hora de diseñar una Unidad de Control con 32 estados, que genere 4 señales de control, reciba 2 señales de condición y en
un estado se puedan consultar las dos condiciones simultáneamente, decir si las siguientes afirmaciones son ciertas:
5
A) Diseñándola con “elementos de retardo” sería necesario utilizar 5 biestables (2 =32).
7
B) Diseñándola con memoria ROM haría falta un módulo de 2 palabras × 5 bits/palabra.
C) Diseñándola con un contador haría falta un contador módulo-5.
D) Ninguna de las anteriores es cierta.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): En una memoria asociativa, explicar qué función tiene el registro etiqueta.

(O UHJLVWUR HWLTXHWD HV XQ UHJLVWUR HVSHFLDO TXH VLUYH SDUD GLVWLQJXLU ODV SDODEUDV DFWLYDV
FRQWLHQHQ GDWRV YiOLGRV  H LQDFWLYDV QR FRQWLHQHQ GDWRV YiOLGRV   (VWH UHJLVWUR WLHQH WDQWRV
ELWVFRPRSDODEUDVKD\HQODPHPRULD3DUDFDGDSDODEUDDFWLYDDOPDFHQDGDHQODPHPRULDHOELW
FRUUHVSRQGLHQWHGHOUHJLVWURHWLTXHWDVHSRQHD8QDSDODEUDVHERUUDGHPHPRULDSRQLHQGRD
VXELWGHOUHJLVWURHWLTXHWD3DUDDOPDFHQDUXQQXHYRGDWRHQXQDPHPRULDDVRFLDWLYDKD\TXH
EXVFDUXQDSDODEUDTXHWHQJDDVXELWGHOUHJLVWURHWLTXHWD
3iJLQDGHOOLEURGHWHRUtD HGLFLyQ 
Cuestión 2 (0.6 puntos): En una Unidad de Control microprogramada con formato de microinstrucciones vertical, explicar cuántas
señales de control se pueden especificar con un subcampo de j bits. ¿Por qué?

8QVXEFDPSRGHMELWVSXHGHHVSHFLILFDUXQPi[LPRGHMVHxDOHVGHFRQWURO\DTXH KD\ TXH


UHVHUYDUXQDGHODVFRGLILFDFLRQHVSDUDHOFDVRGHTXHQLQJXQDVHxDOGHFRQWUROHVWpDFWLYD

3iJLQDGHOOLEURGHWHRUtD HGLFLyQ 
Cuestión 3 (0.8 puntos): ¿Cuáles son los dos tipos de Procesador de Entrada/Salida (PE/S) más comunes que se suelen emplear?
Explicar brevemente sus características.

&DQDOVHOHFWRU&RQWURODP~OWLSOHVGLVSRVLWLYRVGHDOWDYHORFLGDG(QFXDOTXLHULQVWDQWHGHWLHPSR
HVWiGHGLFDGRDODWUDQVIHUHQFLDGHGDWRVFRQXQRVyORGHHVWRVGLVSRVLWLYRV
&DQDOPXOWLSOH[RU&RQWURODP~OWLSOHVGLVSRVLWLYRVGHEDMDYHORFLGDG3XHGHFRQWURODUGHIRUPD
VLPXOWiQHDRSHUDFLRQHVGH(6FRQP~OWLSOHVGLVSRVLWLYRV

3iJLQDV\GHOOLEURGHWHRUtD HGLFLyQ 
Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
El siguiente algoritmo describe una determinada operación de un sistema digital.
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo:
registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de
conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX,
codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A)
empleando cualquiera de los métodos propuestos en la asignatura. Detalle y explique claramente todos y cada uno de los pasos
seguidos hasta obtener la solución.
1: Declaración: A[8], B[8], Cont[3]; Ck E A B Ck E
2: A ← Bus;
3: B ← Bus; ED c0 c0
c0
4: for Cont = 0 to 7 do Reg. Desp. UAL Contador c0
5: if Cont es par then EI c1 c1
Q R Q S
6: A ← A + B; A ← A / 2
7: else c1c0 Q(t+1) c0 R c1c0 Q(t+1) c0 S
8: B ← B - A; B ← B * 2 00 Q(t) 0 A+B 00 Q(t) 0 -
9: endif; 01 Des. Dcha. 1 A-B 01 0 1 E
10: endfor; 10 Des. Izq. 10 Q(t)+1 mod 8
11: Bus ← A;
11 Carga 11 Q(t)
12: Bus ← B;
13: Parar;
ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre 1998 - Original)
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109
Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. 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.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 2 puntos para superarlo.

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Sea una UCP con 4 líneas de interrupción enmascarables PI1, PI2, PI3 y PI4, numeradas en orden creciente de prioridad, es decir,
PI1 tiene la prioridad mínima y PI4 la máxima. El sistema permite anidamiento de interrupciones. Se supone que se producen 4
peticiones de interrupción en este orden: PI3, PI1, PI4 y PI2. Teniendo en cuenta que las tres últimas se producen simultáneamente
mientras se está ejecutando el programa de servicio de PI3, ¿en qué orden se tratan las interrupciones?
A) PI3, PI4, PI3, PI2 y PI1 B) PI3, PI4, PI2 y PI1 C) PI3, PI1, PI4 y PI2 D) Ninguna de las anteriores
2.- A la hora de diseñar un bus hay que tener en cuenta ciertas consideraciones prácticas como puede ser el fan out.
III. El fan out de un circuito lógico especifica el número mínimo de entradas a las que puede conectarse su salida.
IV. El fan out depende de la tecnología de fabricación de los circuitos integrados que se utilicen.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento, del
registro de máscara y del registro de marca, ¿cuál podría ser el contenido de la sexta columna de la memoria?
0 1 0 1 1 1 0 0 ARGUMENTO
1 0 1 0 1 1 0 1 MÁSCARA 1 1 0
1 0 1
1 0 0 1 1 ? 1 1 0 1 1 1
0 1 0 1 1 ? 1 0 0 1 1 0
0 1 0 1 0 ? 1 0 0 MARCA 1 1 1
0 1 1 0 1 ? 1 0 0 A) B) C) D) Ninguna de las anteriores
0 0 0 1 1 ? 1 0 1

4.- Las memorias de almacenamiento estático:


III. Deben ser refrescadas cada cierto tiempo debido a que la información que contienen se va deteriorando con el tiempo.
IV. Consumen menos energía que sus equivalentes de almacenamiento dinámico.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 10 unidades de cinta. Las unidades de disco
tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 103 bytes/seg. La velocidad máxima de transferencia agregada
a este sistema es de:
B) 1000000 bytes/seg. B) 2000000 bytes/seg. C) 2010000 bytes/seg. D) Ninguna de las anteriores
6.- En un semisumador binario (SSB) de dos números binarios de un bit, x e y:
III. Una posible función lógica del resultado de la suma es s = ( x + y ) xy
IV. Una posible función lógica del acarreo de salida es c = x + y
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Sean dos números binarios de 12 bits representados en código BCD: X =010110001001, Y = 001101000111. El resultado de su
suma, representado en BCD, es:
A) 100011010000 B) 100100110110 C) 110010010000 D) Ninguno de los anteriores
8.- Utilizando microinstrucciones con formato horizontal:
III. No se puede ejecutar simultáneamente cualquier subconjunto de señales de control.
IV. Cada señal de control tiene un subcampo independiente de un bit que indica el correspondiente valor de la señal de control.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
9.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos. Cuando la UCP dispone
en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no requiere el
acceso al bus. Si la frecuencia de reloj del computador es de 200×106 ciclos/seg., ¿cuántas instrucciones por segundo deja de ejecutar
la UCP cuando el controlador de DMA está realizando una transmisión?
A) Ninguna instrucción B) 107 C) 40×106 D) Ninguna de las anteriores.
10.- A la hora de diseñar una Unidad de Control con 64 estados, que genere 30 señales de control totalmente independientes, reciba 5
señales de condición que pueden ser consultadas simultáneamente en cualquier estado, decir si las siguientes afirmaciones son ciertas:
6
A) Diseñándola con “elementos de retardo” sería necesario utilizar 6 biestables (2 =64).
11
B) Diseñándola con memoria ROM haría falta un módulo de 2 palabras × 30 bits/palabra.
C) Diseñándola con un contador haría falta un contador módulo-64.
D) Ninguna de las anteriores es cierta.
Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Justifique su respuesta a la pregunta 9 del test.

(Q '0$ FRQ HVWUDWHJtD SRU URER GH FLFORV FXDQGR HO '0$ WRPD HO FRQWURO GH EXV OR UHWLHQH
GXUDQWHXQVyORFLFORWUDQVPLWHXQDSDODEUD\OLEHUDHOEXV/XHJRHQQXHVWURFDVRHOUHVXOWDGR
HVTXHFDGD FLFORVVHHMHFXWDXQDLQVWUXFFLyQ
,QVWUVHJHMHFXWDGDVVLQ'0$ ×FLFORVVHJ  FLFORVLQVWU  ×LQVWUVHJ
,QVWUVHJHMHFXWDGDVFRQ'0$ ×FLFORVVHJ  FLFORVLQVWU  ×LQVWUVHJ
'LIHUHQFLD ×LQVWUVHJ ² ×LQVWUVHJ  ×LQVWUVHJ LQVWUVHJ
3iJLQDGHOOLEURGHWHRUtD HGLFLyQ \SiJLQDV\GHOOLEURGHSUREOHPDV
Cuestión 2 (0.6 puntos): Justifique su respuesta a la pregunta 10 del test.
$ )DOVR6HUtDQQHFHVDULRVELHVWDEOHV
B) )DOVR6HUtDQHFHVDULRXQPyGXORGH  SDODEUDV×  ELWVSDODEUD SDODEUDV×
ELWVSDODEUD
C) 9HUGDGHUR
3iJLQDV\GHOOLEURGHSUREOHPDV
Cuestión 3 (0.8 puntos): Explique brevemente las distintas estrategias de escritura en una memoria caché.

(VFULWXUD GLUHFWD ZULWH WKURXJK  &RQVLVWH HQ HIHFWXDU WRGDV ODV RSHUDFLRQHV GH HVFULWXUD
WDQWRHQODPHPRULDSULQFLSDOFRPRHQODPHPRUtDFDFKp
3RVWHVFULWXUD ZULWHEDFN 6HUHDOL]DQODVDFWXDOL]DFLRQHVHQODPHPRUtDFDFKp6yORFXDQGRVH
UHHPSOD]D XQD SDUWLFLyQ HQ OD FDFKp TXH KD VLGR PRGLILFDGD VH DFWXDOL]D HQ FRQWHQLGR GH OD
SDUWLFLyQFRUUHVSRQGLHQWHHQODPHPRULDSULQFLSDO
3iJLQDV\GHOOLEURGHWHRUtD HGLFLyQ 
Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
Se desea construir un sumador binario con aceleración de arrastres (SBAA) para 2 números binarios X e Y de 3 bits cada uno. Para
ello, el diseño se realizará siguiendo los siguientes pasos:
A) (1.5 puntos) La figura de la izquierda muestra un sumador binario completo modificado (SBC modificado) con dos entradas de
datos xi e yi y un acarreo de entrada ci-1. Exprese la función lógica de sus cuatro salidas: si (suma), ci (acarreo de salida), gi (generación
de acarreo) y pi (propagación de acarreo). A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este
SBC modificado.
B) (1.5 puntos) La figura central muestra un circuito de aceleración de arrastres (CAA) de 3 bits con tres entradas de generación de
acarreo gi, tres entradas de propagación de acarreo pi y un acarreo de entrada c-1. Exprese las funciones lógicas de los acarreos c2, c1 y
c0 generados por este módulo. A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este CAA.
C) (1 punto) Utilizando únicamente 3 SBC modificados como los diseñados en A) y el CAA diseñado en B), construya
razonadamente el sumador binario con aceleración de arrastre de 3 bits (SBAA) solicitado en el enunciado y mostrado en la figura de
la derecha.
g2 p2 g1 p1 g0 p0 x2 y2 x1 y1 x0 y0
xi yi

ci ci-1 c-1 c2 c-1


SBC CAA SBAA
modificado de 3 bits

si gi pi c2 c1 c0 s2 s1 s0
SOLUCIONES DE LOS TESTS

Junio 98 Junio 98 Septiembre 98


Nº Pregunta (1ª semana) (2ª semana) (original)
1 B A A
2 A A C
3 D A B
4 D B D
5 D C C
6 B A B
7 C D B
8 B B C
9 D A B
10 A D C
1998 Problemas de los exámenes
del curso 1997/1998

3UREOHPD 

Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la Figura 98-1-1, con dos entradas de
datos X (x2x1x0) e Y (y1y0), una entrada de control C (c1c0) y una salida de datos S (s3s2s1s0). El funcionamiento de la
UAL viene descrito por la siguiente tabla:

Señal de control Operación


c 1c 0 = 0 0 S=X+Y
c 1c 0 = 0 1 S=X-Y
S=1000 Si X > Y
c 1c 0 = 1 0 S=0100 Si X = Y
S=0010 Si X < Y
c 1c 0 = 1 1 S=X (S3 = 0, S2S1S0 = x2x1x0)
Tabla 98-1-1: Tabla de funcionamiento de la UAL
Para resolver el problema, seguir obligatoriamente los siguientes apartados:
A) (0.5 puntos) Utilizando únicamente puertas lógicas, diseñar un Sumador Binario Completo (SBC).
B) (0.5 puntos) Diseñar un sumador/restador binario de números de tres bits utilizando SBC’s como el
diseñado en el apartado A) y las puertas lógicas necesarias.
C) (1.5 puntos) Diseñar un comparador de números de tres bits utilizando únicamente un módulo de
memoria ROM. ¿Cuál es el tamaño necesario para este módulo de memoria ROM? Indique claramente
el significado de cada una de sus entradas y cada una de sus salidas. Escriba el contenido de la memoria
ROM en forma de tabla.

1
2 Estructura y Tecnología de Computadores II

D) (1.5 puntos) Utilizando únicamente los módulos diseñados en los apartados anteriores y los módulos
combinacionales necesarios, diseñe la UAL pedida.

3 2

x2x1x0 y1y0
2
c1c0
UAL
S3 S2 S1 S0

Figura 98-1-1: Módulo UAL

6ROXFLyQ

A) Las expresiones que vamos a utilizar para implementar el SBC son:


Si = xi ⊕ yi ⊕ ci-1
ci = xi yi + (xi ⊕ yi) ci-1
donde xi e yi son los datos de entrada, ci-1 es el acarreo de entrada, Si es el resultado de la suma y ci es el acarreo de
salida. El diseño resultante se muestra en la Figura 98-1-2.

ci-1 xi yi

Si

ci

Figura 98-1-2: Sumador Binario Completo

B) Como x - y = x + (-y), si se dispone de un circuito que calcula la suma de números negativos se puede efectuar la
operación de restar. En el caso de la representación de números negativos en complemento a 2 la resta resulta
especialmente sencilla, porque el valor negativo es muy simple de realizar. En efecto, si y = yn-1 yn-2.... y1 y0 es un
número entero representado en complemento a 2, entonces -y se calcula directamente: -y = yn-1 yn-2.... y1 y0 + 1.
Así pues, para obtener -y a partir de y, se efectúan las dos operaciones siguientes:
1) Sustituir todos los bits de y por su complemento (es decir, cambiar 0 → 1 y 1 → 0)
2) Sumar 1 al bit menos significativo
Problemas de los exámenes del curso 97/98 3

Teniendo esto en cuenta, se puede diseñar fácilmente un único circuito sumador-restador (ver Figura 98-1-3)
donde la señal de control M gobierna la función a realizar:
‡ Si M = 0: S = x + y
‡ Si M = 1: S = x - y

y2 x2 y1 x1 y0 x0

x2 x 1 x0 y2 y1 y0
• • • M

c2
Sumador/restador M

SBC SBC SBC


c2 c1 c0 c-1
S2 S1 S0
S2 S1 S0
Figura 98-1-3: Sumador-restador binario paralelo con propagación de arrastre

C) Este comparador consiste en un circuito con 6 entradas (x2x1x0y2y1y0) y tres salidas (MIm). El módulo de
memoria ROM necesario tiene que tener un tamaño mínimo de 26x3. El contenido de las 16 primeras posiciones de
memoria se muestra en la Tabla 98-1-2.

x2 A5
x1 A4
ROM
x0 A3 x2 x 1 x0 y2 y1 y0
y2 A2 64 palabras × 3 bits Comparador

y1 A1 M I m

y0 A0
b2 b1 b0

M I m

Figura 98-1-4: Comparador diseñado con memoria ROM


4 Estructura y Tecnología de Computadores II

Dirección memoria Contenido


(x2 x1 x0 y2 y1 y0) (M I m)

A5 A4 A3 A2 A1 A0 b2 b1 b0

0 0 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 1
0 0 0 0 1 0 0 0 1
0 0 0 0 1 1 0 0 1
0 0 0 1 0 0 0 0 1
0 0 0 1 0 1 0 0 1
0 0 0 1 1 0 0 0 1
0 0 0 1 1 1 0 0 1
0 0 1 0 0 0 1 0 0
0 0 1 0 0 1 0 1 0
0 0 1 0 1 0 0 0 1
0 0 1 0 1 1 0 0 1
0 0 1 1 0 0 0 0 1
0 0 1 1 0 1 0 0 1
0 0 1 1 1 0 0 0 1
0 0 1 1 1 1 0 0 1
..... .....
Tabla 98-1-2: Contenido de las 16 primeras posiciones de memoria
D) En la Figura 98-1-5 se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4
multiplexores para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas c1 y c0.
También la entrada de control de la UAL c0 se utiliza para seleccionar la operación a realizar por el
Sumador/Restador.
Problemas de los exámenes del curso 97/98 5

x2
x1
x0
y1
y0
0 0

x2 x 1 x0 y2 y1 y0 x2 x 1 x0 y2 y1 y0
Comparador c2 Sumador/restador M
M I m S2 S1 S0

0 0

0 3 2 1 0 0 3 2 1 0 0 3 2 1 0 0 3 2 1 0
MUX MUX MUX MUX
1 1 1 1
c0
c1

S3 S2 S1 S0

Figura 98-1-5: UAL pedida en el problema

3UREOHPD 

El siguiente algoritmo describe una determinada operación de un sistema digital.


A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los
módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits
cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits;
además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y
decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples
dispositivos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado A) empleando cualquiera de los métodos propuestos en la asignatura. Detalle
y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución.
1: Declaración: A[8], B[8], Cont[3];
2: A ← Bus;
6 Estructura y Tecnología de Computadores II

3: B ← Bus;
4: for Cont = 0 to 7 do
5: if Cont es par then
6: A ← Α + Β; Α ← Α / 2
7: else
8: B ← Β − Α; Β ← Β ∗ 2
9: endif
10: endfor
11: Bus ← A;
12: Bus ← Β;
13: Parar;

Ck E A B Ck E
ED c0 c0
c0
Reg. Desp. UAL Contador c0
EI c1 c1
Q R Q S

Figura 98-2-1: Módulos del problema con sus tablas de funcionamiento

6ROXFLyQ

A) En la Figura 98-2-2 se muestra un posible diseño de la Unidad de Procesamiento y la Tabla 98-2-1 el


significado de todas la señales de control utilizadas. Repasando en algoritmo vemos que permite realizar todos y
cada uno de sus pasos:
‡ Los registros A y B pueden cargar valores desde el bus del sistema o desde la salida de la UAL. Un
multiplexor a la entrada de cada uno de estos registros permite seleccionar qué dato es el que se va a
cargar.
‡ Los registros A y B pueden volcar sus valores en el bus mediante sendos circuitos triestado de conexión
unidireccional con control de 8 bits.
‡ Existe camino de los registros A y B a la entrada de la UAL.
‡ Un contador módulo 8 permite gobernar el bucle for del algoritmo.
‡ A partir del valor del contador se generan dos condiciones cuyo valor puede ser consultado por la
Unidad de Control en cualquier instante:
‡so: es la suma lógica de todos los bits del sumador. Su valor es cero cuando el contador está a cero.
Problemas de los exámenes del curso 97/98 7

‡s1:es el bit menos significativo del contador. Su valor es 0 cuando el contador tiene valor par, y es
1 cuando el contador tiene valor impar.

Bus

0 1 c7 c8 1 0
c5 c6
MUX MUX

c c1 c c3
0 ED Reg. des. c01 0 EI Reg. des. c01
c2 c4
A B

A B c0 c0
UAL

c0 c9
Contador c1 c10
2 1 0

s1(=1 Contador es impar)

s0(=0 Contador es 0)

c0 Unidad de
Inicio Circuito Procesamiento
c1
Fin de
Reloj Control
c10
Unidad de
Control
Figura 98-2-2: Diseño de la Unidad de Procesamiento
8 Estructura y Tecnología de Computadores II

Señal de Control Operación controlada

c0 Control de la UAL: Suma (0) y Resta (1),


c2 y c1 Control registro A: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11)
c4 y c3 Control registro B: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11)
c5 Selección MUX entrada de A: UAL (0) y Bus (1)
c6 Selección MUX entrada de B: UAL (0) y Bus (1)
c7 Puerta triestado que conecta la salida de A con el Bus: Nada (0) y Conexión (1)
c8 Puerta triestado que conecta la salida de B con el Bus: Nada (0) y Conexión (1)
c10 y c9 Contador: Nada (00), Reset (01), Incrementar (10) y Nada (11)

Tabla 98-2-1: Descripción de la señales de control de la Unidad de Procesamiento


B) Para describir el funcionamiento de la Unidad de Control, diseñamos el diagrama de transición de estados de la
Figura 98-2-3 donde la descripción detallada de las acciones a realizar en cada un de estos estados viene dada en la
Tabla 98-2-2.
Este diagrama de transición de estados cumple todos los requisitos para ejecutar el algoritmo propuesto en el
enunciado del problema utilizando la Unidad de Procesamiento diseñada en el apartado anterior. Se puede
comprobar, por ejemplo, que ejecuta el bucle for 8 veces.

s0
Inicio
S4 S5 s0
s1

S0 S1 S2 S3 S8 S9 S10
s1
S6 S7 s0

s0
Figura 98-2-3: Diagrama de estados de la Unidad de Control
Problemas de los exámenes del curso 97/98 9

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar
S0 Ninguna Ninguna
A← Bus
S1 c1, c2, c5, c9, (c10=0)
Reset Cont
S2 B ← Bus c3, c4, c6
S3 Ninguna Ninguna
A←A+B
S4 (c0=0), c1, c2, (c5=0), c10, (c9=0)
Incrementar Cont
S5 Desplazar Derecha A (c2=0), c1
B←B-A
S6 c0, c3, c4, (c6=0), c10, (c9=0)
Incrementar Cont
S7 Desplazar Izquierda B c4, (c3=0)
S8 Bus ← A c7
S9 Bus ← B c8
S10 Ninguna Ninguna

Tabla 98-2-2: Acciones tomadas por la Unidad de Control en cada estado

Para implementar esta Unidad de Control vamos a emplear el método de los elementos de retardo. El diseño
correspondiente se muestra en la Figura 98-2-4.
10 Estructura y Tecnología de Computadores II

Inicio=0
S0 Set
S0 Inicio •
Inicio=1

• S1
S1 c1, c2, c5, c9

• S2 •
• c3, c4, c6
S2

• S3 •
s1

S3
s1= 1
s1= 0
• S4 •
S4 s0= 1 • c1, c2, c10
• S5 •
• c1
s0

S5

s0= 0 • S6 •
S6 • c0, c3, c4 ,c10
• S7 •
s0 • c4
s0= 1 •
S7

s0= 0

• S8 •
S8
• c7

• S9 •
• c8
S9

• S10 •
S10

Reloj Clear

Figura 98-2-4: Unidad de Control


Problemas de los exámenes del curso 97/98 11

3UREOHPD 

Se desea construir un sumador binario con aceleración de arrastres (SBAA) para 2 números binarios X e Y de 3
bits cada uno. Para ello, el diseño se realizará siguiendo los siguientes pasos:
A) (1.5 puntos) La figura de la izquierda muestra un sumador binario completo modificado (SBC
modificado) con dos entradas de datos xi e yi y un acarreo de entrada ci-1. Exprese la función lógica de
sus cuatro salidas: si (suma), ci (acarreo de salida), gi (generación de acarreo) y pi (propagación de
acarreo). A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este SBC
modificado.
B) (1.5 puntos) La figura central muestra un circuito de aceleración de arrastres (CAA) de 3 bits con tres
entradas de generación de acarreo gi, tres entradas de propagación de acarreo pi y un acarreo de entrada
c-1. Exprese las funciones lógicas de los acarreos c2, c1 y c0 generados por este módulo. A partir de
estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este CAA.
C) (1 punto) Utilizando únicamente 3 SBC modificados como los diseñados en A) y el CAA diseñado en
B), construya razonadamente el sumador binario con aceleración de arrastre de 3 bits (SBAA)
solicitado en el enunciado y mostrado en la figura de la derecha.

g2 p2 g1 p1 g0 p0 x2 y2 x1 y1 x0 y0
xi yi

ci ci-1 c-1 c2 c-1


SBC CAA SBAA
modificado de 3 bits

si gi pi c2 c1 c0 s2 s1 s0

Figura 98-3-1: Módulos del problema

6ROXFLyQ

A) Las expresiones que vamos a utilizar para implementar el SBC modificado son:
p i = xi ⊕ y i
g i = xi y i
Si = xi ⊕ yi ⊕ ci-1 = pi ⊕ ci-1
ci = xi yi + (xi ⊕ yi) ci-1 = gi + pi ci-1
y el circuito correspondiente es el mostrado en la Figura 98-3-2.
12 Estructura y Tecnología de Computadores II

ci-1 yi xi

• yi xi

SBC
ci modificado ci-1
• • •

si gi pi

gi ci si pi

Figura 98-3-2: SBC modificado

B) Para construir las expresiones de c2, c1 y c0 generados por este módulo a partir de las entradas de generación de
acarreo gi (i=1,2,3), las entradas de propagación de acarreo pi (i=1,2,3) y el acarreo de entrada c-1, se comienza por
la expresión de c0 y luego se va sustituyendo su valor en las siguientes.

‡ c0 = g0 + p0 c-1
‡ c1 = g1 + p1 c0= g1 + p1 (g0 + p0 c-1) = g1 + p1 g0 + p1 p0 c-1
‡ c2 = g2 + p2 c1= g2 + p2 (g1 + p1 g0 + p1 p0 c-1)=g2 + p2 g1 + p2 p1 g0 +p2 p1 p0 c-1
El circuito resultante se muestra en la Figura 98-3-3.
C) Los tres SBC modificados y el CAA los podemos conectar según se muestra en la Figura 98-3-4. En este diseño
se puede observar cómo los arrastres que se introducen en los SBC modificados son los generados directamente
por el módulo CAA y que, sin embargo, los arrastres generados por estos SBC modificados se quedan sin utilizar.
Esta es la idea fundamental de esta técnica.
Problemas de los exámenes del curso 97/98 13

p2 g2 p1 g1 p0 g0

• •
• • • p2 g2 p1 g1 p0 g0
• •

• • c-1
• •
CAA c-1

c2 c1 c0

c2 c1 c0
Figura 98-3-3: Circuito de aceleración de arrastres (CAA)

x2 y2 x1 y1 x0 y0

c2 c1 c0
SBC SBC SBC
• c-1
Modificado Modificado Modificado

g2 p2 g1 p1 g0 p0
s2 c1 s1 c0 s0

c2 CAA

y2 x2 y1 x1 y0 x0

c2 c-1
SBAA

s2 s1 s0

Figura 98-3-4: Sumador binario de 3 bits con aceleración de arrastre


ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Junio 1999 – 1ª semana
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas
ÚNICO MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores II” y “Problemas de estructura y
tecnología de computadores II”, ambos de la editorial Sanz y Torres.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Una UCP que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con un formato único compuesto por
un campo de 5 bits, para el código de operación, y otro campo de 11 bits para los operandos. Todos los 16 códigos de operación
comienzan por un 0 y, por tanto, van del 00000 al 01111.
I. Si en una dirección de memoria nos encontramos el valor 0011010110001010, necesariamente es una instrucción máquina.
II. Si en una dirección de memoria nos encontramos el valor 1011010110001010, necesariamente es un dato.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La memoria caché utiliza
correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que inicialmente la memoria caché está vacía y que se
leen sucesivamente las direcciones de memoria principal 000000010000, 000100010100, 000001001000 y 000001111000. Indicar si
de las afirmaciones siguientes son ciertas:
I. Si se leyeran las direcciones de memoria principal se 000000010100 y 010011101100, sucesivamente, se producirían dos
fallos en la memoria caché y sería necesario reemplazar dos de los bloques existentes en la caché.
II. Si se leyera la dirección de memoria principal 000001110001 se produciría un acierto en la memoria caché y sería necesario
reemplazar un bloque existente en la caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro de máscara y del
contenido de la memoria, ¿cuántos de los argumentos propuestos a continuación
? ? ? ? ? ? ? ? ARGUMENTO
producirían ese registro de marca?
1 0 0 1 0 1 0 0 MÁSCARA
1 0 1 1 0 1 0 0 Argumento 1
1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 Argumento 2
1 1 0 1 1 0 1 0 1 1 0 0 1 1 0 0 0 Argumento 3
0 0 0 1 0 0 0 1 0 MARCA 1 1 1 1 1 0 1 0 Argumento 4
1 0 1 0 0 1 1 0 0 0 1 0 1 0 0 1 1 Argumento 5
1 1 0 1 1 0 0 1 1
A) 1 B) 2 C) 3 D) Ninguno de los anteriores.
4.- Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos con una capacidad de 256 Kb. En un instante
determinado inicia una operación de E/S con una impresora a una velocidad de transferencia de 256 Kb/seg. Si el controlador de E/S
recibe la información que debe enviar a la impresora a una velocidad de 1Mb/seg, ¿cuánto tiempo tardará en llenarse por primera vez
el buffer suponiendo que inicialmente está vacío, y que recibe y envía información simultáneamente de forma continua?
A) 3 seg. B) 1 seg. C) 1/3 seg. D) Ninguna de las anteriores
5.- Si llamamos VP, VI y VD a las velocidades máximas de transferencia empleando E/S controlada por programa, E/S con
interrupciones y E/S con DMA, respectivamente, se verifica la relación:
A) VP<VI>VD B) VP<VI<VD C) VP>VI>VD D) Ninguna de las anteriores
6.- Sean dos números de 12 bits representados en binario puro: X=000011000010, Y=000101110001. El resultado de su suma,
expresado en BCD, es:
A) 001000110011 B) 010101100011 C) 000110110011 D) Ninguno de los anteriores.
7.- Se desea diseñar con memoria ROM una Unidad de Control con 200 estados, que genere 37 señales de control totalmente
independientes, y que reciba 9 señales de condición pero en cada estado va a ser consultada como máximo una de ellas. Si en el
diseño interesa minimizar, sobre todo, el tamaño del multiplexor a utilizar, se emplearía.
I. Un MUX con selección por estado.
II. Un MUX con selección por campo.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Un computador utiliza microinstrucciones de formato vertical. El formato tiene 5 subcampos codificados de 1 bit, 5 subcampos
codificados de 3 bits y 3 subcampos codificados de 4 bits. ¿Cuál es el número máximo de señales de control que puede tener este
computador?
A) 13 B) 32 C) 85 D) Ninguno de los anteriores.
Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.8 puntos): Se desea diseñar una Unidad de Control con 18 estados, que genere 30 señales de control totalmente
independientes y reciba 4 señales de condición, utilizando memoria ROM pero minimizando la capacidad necesaria de ésta, ya que en
cada estado se utiliza, como máximo, una única condición. Utilizando un multiplexor con selección por campo para diseñar esta
Unidad de Control, explicar razonadamente el tamaño del registro, del multiplexor y de la memoria ROM que sería necesario utilizar.
HVWDGRVELWV
VFRQGLFLyQELWV
5HJLVWUR HVWDGR  FDPSRVFRQGLF  ELWV
0XOWLSOH[RUGHD HQWUDGDVGHFRQWUROSDUDVHOHFFLRQDUODVHxDOGHFRQGLFLyQ
520(QWUDGDVGHGLUHFFLRQHV HVWDGR  08;  ELWV
3DODEUDV 
/RQJLWXGGHSDODEUD HVWDGR  FDPSRVFRQGLF  FRQWURO ELWV

Cuestión 2 (0.6 puntos): Explicar razonadamente cómo afectan a la velocidad de ejecución de la UCP las siguientes modalidades de
transferencia de datos mediante DMA: por ráfagas, por robo de ciclos y transparente.
3RU UiIDJDV /D 8&3 SHUPDQHFH LQDFWLYD ´SDUDGD GHO SURFHVDGRUµ  SXHV HO '0$ UHWLHQH HO EXV
PLHQWUDVGXUDODWUDQVIHUHQFLD
3RUURERGHFLFORV(O'0$UHWLHQHHOEXVGXUDQWHXQFLFORFDGDYH]/DYHORFLGDGGHWUDQVIHUHQFLD
HVEDMDSHURVHUHGXFHODLQWHUIHUHQFLDVREUHODDFWLYLGDGGHOD8&3
7UDQVSDUHQWH6yORVHUREDQORVFLFORVHQORVTXHOD8&3QRXWLOL]DHQEXVSRUORTXHOD8&3QRHV
LQWHUIHULGD

Cuestión 3 (0.6 puntos): Explique cuántos módulos de memoria ROM de 2n palabras × n bits/palabra serían necesarios para diseñar
un circuito combinacional que multiplique dos números de n bits.
(O SURGXFWR GH GRV Q~PHURV GH Q ELWV GD FRPR UHVXOWDGR XQ Q~PHUR GH Q ELWV +D\ Q
SURGXFWRV SRVLEOHV /XHJR KDFHQ IDOWD Q SDODEUDV GH Q ELWV FDGD XQD &RPR ORV PyGXORV
GLVSRQLEOHVVRQGHQSDODEUDVGHQELWVSDODEUDKDUiQIDOWD
Q×Q  Q×Q  Q× QPyGXORV

Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
El siguiente algoritmo describe una determinada operación de un sistema digital.
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo:
registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 bidireccional y
circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales
(MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos
múltiples dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A)
empleando la técnica de los elementos de retardo. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta
obtener la solución.
1: Declaración: A[8], B[8], Cont[3]; Bus[8] Ck E A B Ck E
2: A ← Bus;
3: B ← Bus, Cont=0; ED c0 c0
c0
4: while Cont ≠ 7 Reg. Desp. UAL Contador c0
EI c1 c1
5: if A es par then Q R Q S
6: A ← A – B, Cont = (Cont +1) mod 8;
7: else c1c0 Q(t+1) c0 R c1c0 Q(t+1) c0 S
8: B ← B + A, Cont = (Cont -1) mod 8; 00 Q(t) 0 A+B 00 Q(t) 0 -
9: endif; 01 Des. Dcha. 1 A-B 01 Q(t) -1 mod 8 1 E
10: endwhile; 10 Des. Izq. 10 Q(t)+1 mod 8
11: Bus ← B; 11 Carga 11 0
12: Bus ← A;
13: Parar;
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Junio 1999 – 2ª semana
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: E
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas
ÚNICO MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores II” y “Problemas de estructura y
tecnología de computadores II”, ambos de la editorial Sanz y Torres.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es E.
1.- La memoria de un ordenador consta de 10 módulos independientes conectados a un bus de memoria común. En una operación de
escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación y durante un 20% del tiempo
total del ciclo de escritura. El 80% del tiempo de ciclo de escritura restante el módulo lo emplea para almacenar el dato internamente.
Si las operaciones de escritura de dichos módulos de memoria pueden solaparse, ¿en cuánto se ve incrementada la velocidad máxima
de almacenamiento de la memoria del ordenador en relación a la velocidad de un único modulo?
A) 10 veces B) 5 veces C) Nada D) Ninguna de las anteriores
2.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 128 palabras. La memoria caché utiliza
correspondencia totalmente asociativa, con un tamaño de partición de 16 palabras. El algoritmo de reemplazamiento es FIFO (se
reemplaza la partición más antigua). Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las
direcciones de memoria principal 000000010000, 000100010100, 000001001000 y 000001111000. Indicar si las afirmaciones
siguientes son ciertas:
I. En estas cuatro lecturas se ha producido un total de tres fallos en la memoria caché.
II. Si a continuación se leyera la dirección de memoria principal 011001110100 se produciría un nuevo fallo en la caché y se
tendrá que reemplazar uno de los bloques de la caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento y del
contenido de la memoria, ¿cuántos de los registros de máscara propuestos a
0 1 0 1 1 1 0 0 ARGUMENTO continuación producirían ese registro de marca en el acceso a memoria?
? ? ? ? ? ? ? ? MÁSCARA 0 0 1 0 1 0 0 1 Máscara 1
1 0 1 0 0 0 0 1 Máscara 2
1 0 0 1 1 1 1 1 0
0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 1 Máscara 3
0 1 0 1 0 0 1 0 0 MARCA 1 0 1 1 1 0 0 1 Máscara 4
0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 0 1 Máscara 5
0 0 0 1 1 1 1 0 1
A) 1 B) 2 C) 3 D) Ninguno de los anteriores
4.- Un ordenador con 32 líneas de direcciones tiene una memoria de 32 Mb y utiliza entrada/salida aislada de memoria. ¿Cuál es el
número máximo de periféricos que pueden conectarse a este ordenador, suponiendo que cada uno ocupa 16 direcciones?
A) 232. B) 228. C) 211. D) Ninguna de las anteriores.
5.- En un ordenador cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser
ejecutadas, aunque en 1 de ellos no requieren el acceso al bus. La frecuencia de reloj del computador es de 200×106 ciclos/seg. Si se
tarda un ciclo en transmitir una palabra empleando DMA, indicar si las siguientes afirmaciones son ciertas:
I. Empleando DMA por robo de ciclos se consigue la misma velocidad de transferencia que con DMA transparente.
II. La velocidad de ejecución del procesador se reduce más con DMA por robo de ciclos que con DMA transparente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Se desea construir un multiplicador binario para dos números de 8 bits, utilizando puertas lógicas tipo AND y sumadores binarios
completos (SBC). El número de puertas AND que hay que utilizar es:
A) 8 B) 16 C) 32 D) Ninguno de los anteriores.
7.- Se desea diseñar con memoria ROM una Unidad de Control con 200 estados, que genere 37 señales de control totalmente
independientes, y que reciba 9 señales de condición pero en cada estado va a ser consultada como máximo una de ellas. Utilizando en
el diseño un multiplexor con selección por campo haría falta una memoria ROM con tamaño de:
A) 28 palabras × 45 bits B) 29 palabras × 45 bits C) 29 palabras × 49 bits D) Ninguna de la anteriores
8.- Un computador digital tiene 114 señales de control diferentes, siendo 6 de ellas mutuamente excluyentes. Indique si las siguientes
afirmaciones son verdaderas:
I. Si se utilizan microinstrucciones de formato vertical el tamaño del campo codificado sería de 3 bits.
II. Al existir señales de control mutuamente excluyentes nunca se puede utilizar el formato de microinstrucción horizontal.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Un computador tiene una unidad de memoria de con 16 líneas de dirección, y una memoria caché de 1K
palabras. La memoria caché utiliza correspondencia asociativa por conjuntos, con un tamaño de partición de 16 palabras y 4
particiones por conjunto. Explicar razonadamente en qué campos se divide la dirección de memoria principal 0000110111000011 e
indique el valor de cada uno de estos campo en decimal.
0FDFKpOtQHDVGHGLUHFFLyQSDUWFWR×SDOSDUW SDOFWR
SDOSDOFWR FRQMXQWRV
'LUHFFLyQPSULQFLSDO&21-8172ELWV3$/$%5$ELWV
(7,48(7$ELWV ²²
'LUHFFLyQ(7,48(7$ &21-8172 3$/$%5$ 

Cuestión 2 (0.8 puntos): Un computador dispone de un canal multiplexor que controla 3 unidades de disco y 5 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 5×106 bytes/seg., y las de cinta de 105 bytes/seg. Si para la transferencia de
un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 50 nseg., explique razonadamente qué
porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos a través de este canal multiplexor.
&DQDOPXOWLSOH[RUODPi[LPDYHORFLGDGGHWUDQVIHUHQFLDHVODVXPDGHODVYHORFLGDGHVGHWRGRV
ORVGLVSRVLWLYRV ××× E\WHVVHJ ×E\WHVVHJ
QVHJE\WH ×VHJE\WH VHJXQGRVHQWUDQVIHULUXQE\WH 
/XHJRHQWUDQVIHULUODWRWDOLGDGGHORVE\WHVTXHSXHGHQFLUFXODUHQXQVHJXQGRVHWDUGDUi
× × ×  VHJXQGRV
(VGHFLUHOEXVHVWDUiRFXSDGRFRPRPi[LPRXQGHOWLHPSR
Cuestión 3 (0.6 puntos): A partir de las expresiones de S (resultado de la suma) y C (acarreo de la suma) de un sumador binario
completo SBC, desarrolle las expresiones del resultado de la suma (S1 y S0) y del acarreo (C1) de la suma de los números binarios de
dos bits x1x0 e y1y0.
6L [L⊕\L⊕&L &L [L\L [L⊕\L &L
6 [⊕\⊕& & [\ [⊕\ &
6 [⊕\⊕& & [\ [⊕\ &
(QODVH[SUHVLRQHVGH6\&EDVWDILQDOPHQWHVXVWLWXLU&SRUODH[SUHVLyQREWHQLGDHQHOSDVR
DQWHULRU

Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
El siguiente algoritmo describe una determinada operación de un sistema digital.
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo:
registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de
conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX,
codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos y
evitar en su diseño posibles conflictos eléctricos entre ellos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A)
empleando un registro de desplazamiento. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la
solución.
1: Declaración: A[8], B[8], Cont[3]; Bus[8] Ck E A B Ck E E
2: A ← Bus;
3: B ← Bus, Cont=0; ED c0 c0
c0
4: while A < 128 Reg. Desp. UAL Contador c0
5: if Cont < 4 then EI c1 c1
Q R Q S
6: A ← A + Cont;
7: else c1c0 Q(t+1) c0 R c1c0 Q(t+1) c0 S
8: A ← B + A; 00 Q(t) 0 A+B 00 Q(t) 0 -
9: endif; 01 Des. Dcha. 1 A-B 01 0 1 E
10: Cont = (Cont +1) mod 8; 10 Des. Izq. 10 Q(t)+1 mod 8
11: endwhile;
11 Carga 11 Carga
12: Bus ← B;
13: Bus ← A;
15: Parar;
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Septiembre 1999 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas
ÚNICO MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores II” y “Problemas de estructura y
tecnología de computadores II”, ambos de la editorial Sanz y Torres.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- ¿Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 80 nseg. y un tiempo de ciclo de
100 nseg.?
A) 107 seg-1 B) 10-7 seg. C) 12.5×106 seg-1 D) Ninguna de las anteriores
2.- Para diseñar un módulo de memoria de 256 palabras de 4 bits
I. Utilizando organización 2D, para seleccionar la palabra haría falta un decodificador de 8 entradas y 28 salidas.
II. Utilizando organización 2 ½ D, para seleccionar la palabra harían falta dos decodificadores de 4 entradas y 24 salidas.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
30
3.- En una memoria caché en la que se realizan 2 accesos con una tasa de aciertos del 75%, el número de fallos producido es:
A) 228 B) 218 C) Faltan datos para calcularlos D) Ninguna de las anteriores
4.- Para multiplicar dos números binarios sin signo de 3 y 4 bits, respectivamente, se podría utilizar, por ejemplo:
I. Una memoria ROM de 27 palabras con 7 bits por palabra.
II. 12 puertas AND y 8 sumadores binarios completos (SBC).
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador utiliza microinstrucciones de formato horizontal con direccionamiento explícito. Las microinstrucciones deben
gobernar 135 señales de control y codificar un repertorio de 50 instrucciones máquina, para lo cual la Unidad de Control
Microprogramada dispone una memoria de control de 2048 palabras. ¿Cuántos bits tiene el campo de dirección de cada
microinstrucción?
A) 11 B) 8 C) 7 D) Ninguno de los anteriores.
6.- Indique cuál de las siguientes características NO pertenece a un computador de von Neumann:
A) La secuencia de ejecución de las instrucciones se modifica mediante una instrucción de ruptura.
B) En la memoria del computador se almacenan simultáneamente datos e instrucciones.
C) A una posición de memoria principal se accede especificando bien su dirección o bien su contenido.
D) Ninguna de las anteriores.
7.- ¿Cuál es la política de reemplazamiento óptima para una memoria caché con correspondencia directa?
A) Partición elegida de forma aleatoria.
B) Partición más antigua en la memoria caché (FIFO, First In, First Out).
C) La política de correspondencia directa no necesita política de reemplazamiento.
D) Ninguna de las anteriores.
8.- Indicar cuál de las siguientes afirmaciones es verdadera:
A) La principal desventaja de las interrupciones vectorizadas consiste en que la UCP ha de comprobar, uno por uno, el estado de
todos los controladores de E/S de los dispositivos que tiene conectados[DB38].
B) La UCP recibe el vector de interrupción a través del bus de datos o del bus de direcciones, indistintamente[DB39].
C) Las interrupciones multinivel no permiten la identificación de la fuente de interrupción mediante un vector de
interrupción[DB40].
D) Ninguna de las anteriores.

(Continúa a la vuelta)
Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.6 puntos): Un computador utiliza microinstrucciones de formato vertical. El formato tiene 5 subcampos codificados de
1 bit, 5 subcampos codificados de 3 bits y 3 subcampos codificados de 4 bits. Explicar razonadamente cuál es el número máximo de
señales de control que puede tener este computador.
&DGD VXEFDPSR FRGLILFDGR GH M ELWV SXHGH FRGLILFDU XQ Pi[LPR GH M VHxDOHV GH FRQWURO 3RU
WDQWR
×   
× ²  
× ²  
7RWDOVHxDOHVGHFRQWURO
Cuestión 2 (0.6 puntos): Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 10 unidades de cinta.
Las unidades de disco tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 103 bytes/seg. Razonar cuál es la
velocidad máxima de transferencia agregada a este sistema.
(O FDQDO PXOWLSOH[RU DWLHQGH VLPXOWiQHDPHQWH D WRGRV ORV GLVSRVLWLYRV 3RU WDQWR OD Pi[LPD
YHORFLGDGGHWUDQVIHUHQFLDDJUHJDGDGHHVWHVLVWHPDHVODVXPDGHODVYHORFLGDGHVGHWRGRVORV
GLVSRVLWLYRV
×× ×E\WHVVHJXQGR
Cuestión 3 (0.8 puntos): Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La
memoria caché es totalmente asociativa, con un tamaño de partición de 8 palabras y cuando se produce un fallo en la caché se
reemplaza la partición más antigua. Suponiendo que inicialmente la memoria caché está vacía, explicar razonadamente cuántos fallos
se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal: 00000000, 00000001, 00000011,
00100001, 00100101, 00010000, 00010010 y 00000000.
(OIRUPDWRGHGLUHFFLyQGHPHPRULDSULQFLSDOWLHQHXQFDPSR(7,48(7$GHELWV\XQFDPSR
3$/$%5$GHELWV/DPHPRULDFDFKpWLHQHSDUWLFLRQHVGHSDODEUDVSDUWLFLyQ
        )
        $ 3$
3$557,&
7,&,,Ð1 0 & $&+e (7,
(7,448( 7$

        $  
        )  
        $  
        ) 
        $
7RWDOIDOORV         $

Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
Se dispone de una UCP con una única línea de petición de interrupción (INTR) y una única línea de aceptación de interrupción
(INTA). Se desea diseñar para esta UCP un controlador de interrupciones como el mostrado en la figura, de manera que pueda atender
interrupciones generadas por 4 dispositivos externos mediante las líneas de petición de interrupción INTR3, INTR2, INTR1 e
INTR0.
Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más prioritaria (la máxima
prioridad la tiene INTR3 y la mínima INTR0). Además, cada una de estas líneas de interrupción se ha de poder enmascarar de manera
individual mediante un registro de máscara del controlador de interrupciones (el mecanismo de acceso a este registro por parte de la
UCP no es relevante para este problema).
Cuando la UCP activa su línea de aceptación INTA se debe informar al
INTR0
periférico correspondiente, de manera individual, de que su petición ha sido INTR
aceptada, mediante las líneas de aceptación INTA3, INTA2, INTA1 e INTA0. INTR1 Controlador
de
A) (0.75 puntos) Obtener la tabla de verdad de las 4 líneas INTAi (i=0..3) INTR2 interrupciones UCP
en función de las 4 líneas INTRi (i=0..3) e INTA, suponiendo que INTR3
ninguna de las líneas de petición está enmascarada. INTA
B) (0.75 puntos) Diseñar un circuito lógico que implemente el mecanismo de INTA0
enmascaramiento de las 4 líneas INTRi (i=0..3). INTA1
INTA2
C) (0.75 puntos) Diseñar un circuito lógico que implemente el esquema de INTA3
prioridades de las 4 líneas INTRi (i=0..3).
D) (0.75 puntos) Diseñar el circuito que genere las señales INTAi (i=0..3).
E) (1 punto) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados obtenidos en los apartados
anteriores.
SOLUCIONES DE LOS TESTS

Junio 99 Junio 99
Nº Pregunta Septiembre 99
(1ª semana) (2ª semana)
1 C B A
2 D D A
3 B C A
4 C B A
5 B C A
6 B D C
7 C C C
8 C B D
1999 Problemas de los exámenes
del curso 1998/1999

3UREOHPD  1ª semana de Junio de 1999


El siguiente algoritmo describe una determinada operación de sistema digital.
a) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los
módulos dibujados abajo (Figura 99-1-1): registros de desplazamiento de 8 bits, una UAL con dos
entradas de 8 bits cada una, un contador módulo-8 bidireccional y circuitos triestado de conexión
unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX,
DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus
vuelcan datos múltiples dipositivos y evitar en su diseño posibles conflictos eléctricos entre ellos.
b) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado a) empleando la técnica de los elementos de retardo. Detalle y explique
claramente todos y cada uno de los pasos seguidos hasta obtener la solución.

Figura 99-1-1: Módulos del problema y debajo su tabla de funcionamiento

1
2 Estructura y Tecnología de Computadores II

6ROXFLyQ

a) A la vista del algoritmo propuesto, la Unidad de Control ha de tener dos registros A y B capaces de ser
cargados bien desde el bus o bien desde la UAL. Estos registros deben poder enviar su contenido a la UAL para
realizar operaciones aritméticas con ellos. El ciclo while se controlará mediante un contador bidireccional
módulo-8; cuando la cuenta alcance el valor 7 (00000111) se deberá abandonar el bucle. La condición “A es par”
se evalua comprobando el bit menos significativo de A.
La Figura 99-1-2 muestra el diagrama de una posible Unidad de Procesamiento que cumple todos los
requisitos. La carga de los registros A y B se realiza a través de sendos multiplexores que seleccionan el bus o la
salida de la UAL. Estos registros se vuelcan al bus a través de puertas triestado que evitan posibles conflictos
eléctricos. Las entradas ED y EI de los registros no se utilizan en este problema.
s0 es una señal de condición que está a 1 cuendo se verifica la condición CONT=7. Por su parte, s1 está a 0
cuando el contenido de A es par y a 1 en caso contrario. El significado de las señales de control se da en la Tabla
99-1-1.

8 BUS

C0 0 MUX 1 C1 0 MUX 1

C2 C3 C10
0
C4 C6 CONT C9
ED 0 ED 0
CK A CK B 1
C5 C7
EI 1 EI 1
3
8 CK

A B
C8
UAL
1 1

s1(=A0) s0
Figura 99-1-2: Unidad de Procesamiento

Señales de Control Operación

C0 Selecciona BUS (0) o UAL (1)

C1 Selecciona BUS (0) o UAL (1)

C2 A → BUS

Tabla 99-1-1: Significado de las señales de control


Problemas de los exámenes del curso 97/98 3

Señales de Control Operación

C3 B → BUS

C4, C5 Control del registro de desplazamiento A (según Figura 99-1-1)

C6, C7 Control del registro de desplazamiento B (según Figura 99-1-1)

C8 Suma (0) o resta (1)

C9, C10 Control del contador CONT (según Figura 99-1-1)

Tabla 99-1-1: Significado de las señales de control

b) En la Figura 99-1-3 se muestra el diagrama de estados de la Unidad de Control que permite realizar el
algoritmo solicitado en la Unidad de Procesamiento propuesta. (Este diagrama no es único. Así, por ejemplo, si la
redución del número de estados es un objetivo fundamental entonces se puede eliminar el estado S2, que no realiza
ninguna microoperación, a cambio de evaluar la condición s0 en S3 y S4). El significado de cada uno de los estados
se indica en la Tabla 99-1-2.

Estado Microoperaciones Señales de control

S0 A ← BUS C0, C4, C5

B ← BUS C1, C6, C7


S1
CONT = 0 C9, C10

S2 ------ ------

A←A-B C8, C0, C4, C5


S3
CONT = (CONT + 1) mod 8 C9, C10

A←B+A C8, C1, C6, C7


S4
CONT = (CONT - 1) mod 8 C9, C10

S5 BUS ← B C3

S6 BUS ← A C2

S7 (Parar) ------

Tabla 99-1-2: Significado de los estados


4 Estructura y Tecnología de Computadores II

S0

S1

s0
S2

S3
s0 s1 s0 s1 S4

S5

S6

S7

Figura 99-1-3: Diagrama de estados de la Unidad de Control propuesta

A partir del diagrama de estados la implementación de la Unidad de Control es inmediata mediante la técnica
de los elementos de retardo (Figura 99-1-4).
Problemas de los exámenes del curso 97/98 5

Set
S0
>
C0 C4 C5

S1
>
C1 C6 C7

S2
>

-----
s0
s1

S3
>
C8 C0 C4 C5 C9 C10

S4
>
C8 C1 C6 C7 C9 C10

S5
>
C3

S6
>
C2

S7
>

CK Clear
Figura 99-1-4: Unidad de Control mediante elementos de retardo
6 Estructura y Tecnología de Computadores II

3UREOHPD 

El siguiente algoritmo describe una determinada operación de un sistema digital.


a) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los
módulos dibujados abajo (Figura 99-2-1): registros de desplazamiento de 8 bits, una UAL con dos
entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con
control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX,
codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan
datos múltiples dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos.
b) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado a) empleando un registro de desplazamiento. Detalle y explique claramente
todos y cada uno de los pasos seguidos hasta obtener la solución.

Figura 99-2-1: Módulos del problema y debajo su tabla de


funcionamiento

6ROXFLyQ

a) A la vista del algoritmo propuesto, la Unidad de Control ha de tener dos registros A y B. Se debe poder
cargar el registro A bien desde el bus o bien desde la UAL; sólo es necesario poder cargar el registro B desde el
bus. Ambos registros deben poder enviar su contenido a la UAL para realizar operaciones aritméticas con ellos. El
ciclo while se controlará mediante el valor del registro A y el bucle if mediante un contador módulo-8.
La Figura 99-2-2 muestra el diagrama de una posible Unidad de Procesamiento que cumple todos los
requisitos. La carga del registro A se realiza a través de un multiplexor que selecciona el bus o la salida de la UAL.
Los registros A y B se vuelcan al bus a través de puertas triestado que evitan posibles conflictos eléctricos. Las
entradas ED y EI de los registros no se utilizan en este problema.
La señal de condición s0 indica A≥128, lo que implica que el bit más significativo de A (A7) sea 1. La señal de
condición s1 indica CONT≥4, lo que implica que el bit más significativo de CONT (CONT2) sea 1.
La salida de CONT es de 3 bits. Por este motivo, para introducir CONT en la UAL, hay que completarlo con 5
ceros en las posiciones más significativas:
0 0 0 0 0 CONT2 CONT1 CONT0
Problemas de los exámenes del curso 97/98 7

8 BUS

C9 C0 0 MUX 1 C10

C7
0
C1 C3 CONT C6
ED 0 ED 0
CK A CK B 1
C2 C4
EI 1 EI 1
3
CK
8

8 “0”
5
1 0 MUX 1 C8 1

s0(=A7) s1(=CONT2)

A B
C5
UAL

Figura 99-2-2: Unidad de Procesamiento

El significado de las señales de control se muestra en la Tabla 99-2-1.

Señales de Control Operación

C0 Selecciona BUS (1) o UAL (0)

C1, C2 Control del registro de desplazamiento A (según Figura 99-2-1)

C3, C4 Control del registro de desplazamiento B (según Figura 99-2-1)

C5 Suma (0) o resta (1)

C6, C7 Control del contador(según Figura 99-2-1)

C8 Selecciona B (0) o CONT (1)

Tabla 99-2-1: Significado de las señales de control


8 Estructura y Tecnología de Computadores II

Señales de Control Operación

C9 A → BUS

C10 B → BUS

Tabla 99-2-1: Significado de las señales de control

b) El diagrama de estados de la Unidad de Control que realiza el algoritmo pedido en la Unidad de


Procesamiento propuesta se muestra en la Figura 99-2-3 (la solución no es única y no se ha buscado minimizar el
número de estados). El significado de cada uno de sus estados se detalla en la Tabla 99-2-2.

Estado Microoperaciones Señales de control

S0 A ← BUS C0, C1, C2

B ← BUS C3, C4
S1
CONT = 0 C6, C7

S2 ------ ------

S3 ------ ------

S4 A ← A + CONT C0, C1, C2, C5, C8

S5 A←B+A C0, C1, C2, C5, C8

S6 CONT ← (CONT + 1) mod 8 C6, C7

S7 BUS ← B C10

S8 BUS ← A C9

S9 (Parar) ------

Tabla 99-2-2: Significado de los estados


Problemas de los exámenes del curso 97/98 9

S0

S1

s0
S2

s0

s1
S3

s1

S4 S5

S6

S7

S8

S9

Figura 99-2-3: Diagrama de estados de la Unidad de Control propuesta

La tabla de transición de estados corespondiente para una Unidad de Control basada en un registro de
desplazamiento se muestra en la Tabla 99-2-3. La codificación de los estados se ha realizado procurando
minimizar el número de cargas en paralelo del registro. La Tabla 99-2-4 está más detallada, y tiene en cuenta la
codificación de los estados.
10 Estructura y Tecnología de Computadores II

Estado Código Condición Transición Operación ED

S0 0 0 0 0 (0) --- S0 → S1 DD 1

S1 1 0 0 0 (8) --- S1 → S2 DD 1

s0 S2 → S3 DD 1
S2 1 1 0 0 (12)
s0 S2 → S7 L -

s1 S3 → S4 DD 1
S3 1 1 1 0 (14)
s1 S3→ S5 L -

S4 1 1 1 1 (15) --- S4 → S6 L -

S5 0 1 0 1 (5) --- S5 → S6 DD 1

S6 1 0 1 0 (10) --- S6 → S2 L -

S7 0 1 1 1 (7) --- S7 → S8 DD 1

S8 1 0 1 1 (11) --- S8 → S9 DD 1

S9 1 1 0 1 (13) --- S9 → S9 --- -

Tabla 99-2-3: Tabla de transición de estados

Próximo
Estado Condición w1 w0 E3 E2 E1 E0 Operación ED S. de control
estado

S0 = 0 0 0 0 (0) --- S1 = 1 0 0 0 01 ----- DD 1 C0, C1, C2

S1 = 1 0 0 0 (8) --- S2 = 1 1 0 0 01 ----- DD 1 C3, C4, C6, C7

s0 S3 = 1 1 1 0 01 ----- DD 1
S2 = 1 1 0 0 (12) ------
s0 S7 = 0 1 1 1 11 0111 L -

Tabla 99-2-4: Tabla de transición de estados teniendo en cuenta la codificación de los mismos
Problemas de los exámenes del curso 97/98 11

Próximo
Estado Condición w1 w 0 E3 E2 E1 E0 Operación ED S. de control
estado

s1 S4 = 1 1 1 1 01 ----- DD 1
S3 = 1 1 1 0 (14) ------
s1 S5 = 0 1 0 1 11 0101 L -

S4 = 1 1 1 1 (15) --- S6 = 1 0 1 0 11 1010 L - C0, C1, C2, C5, C8

S5 = 0 1 0 1 (5) --- S6 = 1 0 1 0 01 ----- DD 1 C0, C1, C2, C5, C8

S6 = 1 0 1 0 (10) --- S2 = 1 1 0 0 11 1100 L - C6, C7

S7 = 0 1 1 1 (7) --- S8 = 1 0 1 1 01 ----- DD 1 C10

S8 = 1 0 1 1 (11) --- S9 = 1 1 0 1 01 ----- DD 1 C9

S9 = 1 1 0 1 (13) --- S9 = 1 1 0 1 00 ----- --- - ------

Tabla 99-2-4: Tabla de transición de estados teniendo en cuenta la codificación de los mismos

El esquema de la Unidad de Control se muestra en la Figura 99-2-4. Las expresiones lógicas de sus entradas
se obtienen de la Tabla 99-2-4:
w1 = S2s0 + S3s1 + S4 + S6
w2 = S9
E3 = S4 + S6
E2 = S2s0 + S3s1 + S6
E1 = S2s0 + S4
E0 = S2s0 + S3s1
Estas expresiones se implememtan fácilmente en la Unidad de Control (Figura 99-2-4) mediante puertas
lógicas. La entrada ED del registro está fija a 1 y la entrada EI no se utiliza.
12 Estructura y Tecnología de Computadores II

0 S0 (C0, C1, C2)


3
2 1
1 2
0
3
4
5 S5 (C0, C1, C2, C5, C8)

Decodificador
6
Q3 Q2 Q 1 Q0 7 S7 (C10)
1 ED
w0 8 S1 (C3, C4, C6, C7)
EI
Reg. Desp. 9
w1
10 S6 (C6, C7)
E3 E2 E 1 E 0 11 S8 (C9)
>

12 S2 (---)
13 S9 (---)
CK 14 S3 (---)
15 S4 (C0, C1, C2, C5, C8)

Figura 99-2-4: Unidad de Control mediante un registro de desplazamiento (faltan por implementar las señales Ei y wi)

3UREOHPD 

Se dispone de una UCP con 8 líneas de datos (D7..D0), 16 líneas de direcciones (A15..A0), una única línea de
petición de interrupción (INTR) y una única línea de aceptación de interrupción (INTA). Se desea diseñar para esta
UCP un controlador de interrupciones, de manera que se puedan atender interrupciones generadas por 4
dispositivos externos mediante las líneas de petición de interrupción (INTR3..INTR0) (ver Figura 99-3-1).
Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más
prioritaria (la máxima prioridad la tiene INTR3 y la mínima INTR0). Además, cada una de estas líneas de
interrupción se ha de poder enmascarar de manera individual mediante un registro de máscara del controlador de
interrupciones (el mecanismo de acceso a este registro por parte de la UCP no es relevante para este problema).
Cuando la UCP activa su línea de aceptación INTA, se debe informar al periférico correspondiente, de
manera individual, de que su petición ha sido aceptada, mediante unas líneas de aceptación INTA 3..INTA0.
a) (0.75 puntos) Obtener la tabla de verdad de las 4 líneas INTAi en función de las 4 líneas INTRi e INTA,
suponiendo que ninguna de las líneas de petición está enmascarada.
b) (0.75 puntos) Diseñar un circuito lógico que implemente el mecanismo enmascaramiento de las 4 líneas
INTRi.
c) (0.75 puntos) Diseñar un circuito lógico que implemente el esquema de prioridades de las 4 líneas
INTRi.
d) (0.75 puntos) Diseñar el circuito que genere las señales INTAi.
e) (1 punto) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados
obtenidos en los apartados anteriores.
Problemas de los exámenes del curso 97/98 13

Figura 99-3-1: Diagrama de la conexión del controlador de interrupciones a la UCP

6ROXFLyQ

Antes de contestar los apartados pedidos, conviene hacer un resumen de cómo ha de funcionar el controlador de
interrupciones solicitado:
1) De todas las peticiones de interrupción INTRi se filtrarán y eliminarán las que estén enmascaradas.
2) Si después del paso 1) todavía existe alguna petición activada se activará INTR y se seleccionará cuál
es la petición más prioritaria.
3) Cuando la UCP conceda la interrupción activando INTA, se informará al periférico cuya petición de
interrupción se a seleccionado en 2) que su petición va a ser atendida, mediante su línea de aceptación
INTAi correspondiente.
Obsérvese que los puntos 1) y 2) no son intercambiables, es decir, se han de ejecutar necesariamente en ese
orden. En caso contrario se podrían ocasionar situaciones anómalas. (Por ejemplo, si INTR2 e INTR3 están activas
pero ambos niveles de interrupción están enmascarados, INTR no se debe activar. Pero se se genera INTR y luego
se comprueba qué niveles están enmascarados se habría producido una petición de interrupción cuando debería
haber sido filtrada por el controlador de interrupciones.).

a) Para cualquier señal INTAj, suponiendo que ninguna petición está enmascarada, se verifica:
‡ Si INTA=0 entonces INTAj=0, independientemente de los valores de INTRi (i=0..3).
‡ Si INTA=1 e INTRj corresponde a la solicitud de petición activada de mayor prioridad, entonces
INTAj=1.
‡ Si INTA=1 e INTRj=1, pero existe un INTRk de mayor prioridad que también está activado, entonces
INTAj=0.
14 Estructura y Tecnología de Computadores II

A partir de aquí se obtiene de forma inmediata la tabla de verdad solicitada (Tabla 99-3-1).

INTA INTR3 INTR2 INTR1 INTR0 INTA3 INTA2 INTA1 INTA0

0 X X X X 0 0 0 0

1 1 X X X 1 0 0 0

1 0 1 X X 0 1 0 0

1 0 0 1 X 0 0 1 0

1 0 0 0 1 0 0 0 1

Tabla 99-3-1: Tabla de verdad de INTAi (X representa 0 ó 1, indistintamente)

b) El controlador de interrupciones posee un registro interno de máscara MASK cuyos bits individuales
M3..M0 enmascaran selectivamente las líneas de petición de interrupción. (El contenido de este registro es escrito
por la UCP mediante algún mecanismo que según el enunciado no hay que considerar en este problema.) Así,
cuando Mj=0 la correspondiente señal INTRj está enmascarada y no deberá ser atendida. Esto se realiza fácilmente
con una puerta AND. El enmascaramiento de las cuatro líneas de petición será, por tanto, el que se muestra en la
Figura 99-3-2.

INTR3
INTR’3

INTR2
INTR’2

INTR1
INTR’1

INTR0
INTR’0

M3 M2 M1 M0 MASK

Figura 99-3-2: Mecanismo de enmascaramiento de las interrupciones

c) En este apartado hay que seleccionar, a partir de las líneas de petición que ya han pasado por el mecanismo
de enmascaramiento INTR’i, la petición activa más prioritaria. Una posible solución consiste en utilizar un
codificador de prioridad seguido de un decodificador (Figura 99-3-3; obsérvese que ambos dispositivos tienen sus
entradas de habilitación H activadas).
Problemas de los exámenes del curso 97/98 15

INTR

1 1

INTR’3 H A H
3 3 I3

INTR’2 I2
2 1 1 2
Codificador Decodificador
de prioridad
INTR’1 I1
1 0 0 1

INTR’0 I0
0 0

Figura 99-3-3: Mecanismo de gestión de prioridades

El codificador de prioridad genera la codificación binaria de la línea INTR’j más prioritaria que está activa. A
partir de aquí, por medio de un decodificador se consigue que se active únicamente la línea Ij; las restantes líneas Ii
menos prioritarias se encuentran a 0, independientemente de cómo se encuentren las correspondientes líneas
INTR’i. Esto se recoge en la Tabla 99-3-2.

INTR’3 INTR’2 INTR’1 INTR’0 I3 I2 I1 I0

1 X X X 1 0 0 0

0 1 X X 0 1 0 0

0 0 1 X 0 0 1 0

0 0 0 1 0 0 0 1

Tabla 99-3-2: Tabla de verdad del mecanismo de gestión de prioridades (X representa 0 ó 1, indistintamente)

La salida A del codificador de prioridad indica que alguna de sus entradas está a 1. Es decir, cuando alguna de
las líneas INTR’i esté a 1 significa que hay alguna petición no enmascarada activa, y que por tanto hay que activar
la línea INTR; para esto se utiliza la salida A.

d) Cuando la UCP concede la interrupción activa su única línea INTA. Para generar las cuatro líneas de
aceptación INTAi, y dado que sólo una de las líneas Ii puede estar activada en cada momento, la correspondiente a
la petición no enmascarada de mayor prioridad, basta con hacer la Y-lógica entre Ii e INTA, según la Figura
99-3-4.
16 Estructura y Tecnología de Computadores II

I3 INTA3

I2 INTA2

INTA1
I1

I0 INTA0

INTA

Figura 99-3-4: Generación de las señales de aceptación INTAi

e) Para construir el controlador de interrupciones solicitado tan solo hay que encadenar los módulos
implementados en los apartados b), c) y d), según se muestra en la Figura 99-3-5.

CONTROLADOR DE INTERRUPCIONES INTR

{
INTR3 INTR’3 I3

INTA
Enmascaramiento (b)
De los periféricos

Prioridades (c)

Concesión (d)

INTR2 INTR’2 I2
UCP
INTR1 INTR’1 I1

INTR0 INTR’0 I0

INTA3

{
A los periféricos

INTA2
INTA1
INTA0

Figura 99-3-5: Controlador de interrupciones


2000 Exámenes de Junio

7HVW  Test 1ª semana de Junio de 2000


1.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 2×105 bytes/seg. Si para
la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg.
¿Qué porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos del canal
multiplexor a memoria principal?
A) 30% B) 20 % C) 14 % D) Ninguna de las anteriores
2.- Un circuito de aceleración de arrastres (CAA) de 3 bits tiene las siguientes entradas: g2g1g0 (generación de
acarreo), p2p1p0 (propagación de acarreo) y c-1 (acarreo de entrada); y las siguientes salidas: c2c1c0 (acarreos). En
este circuito la expresión lógica g2 + p2 (g1 + p1 (g0 + p0 c-1) ) se corresponde a:
A) c3 B) c2 C) c1 D) Ninguna de las anteriores
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro
argumento, del registro de máscara, del registro etiqueta y del contenido de la memoria, ¿cuál sería el valor del
registro de marca?

1 0 0 1 1 0 1 0 ARGUMENTO
1 0 0 1 0 1 0 1 MÁSCARA

1 1 1 0 1 1 1 1 1 ? 0 0 0
1 1 1 0 1 1 0 1 0 ? 0 1 1
ETIQUETA 1 1 0 0 1 0 0 0 0 ? MARCA 0 1 1
0 1 0 1 0 0 1 1 0 ? 0 0 0
0 1 1 0 1 1 0 0 0 ? 1 1 0
A) B) C) D) Ninguna de las anteriores

1
2 Estructura y Tecnología de Computadores II

4.- Se desea diseñar un circuito sumador/restador de dos números de cuatro bits cada uno, x3x2x1x0 e y3y2y1y0,
con una señal de control M adicional para indicar la operación a realizar.
I. Con una memoria ROM de 28 palabras con 5 bits por palabra se podría construir.
II. Con una memoria ROM de 210 palabras con 9 bits por palabra se podría construir.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La
memoria caché es totalmente asociativa, con un tamaño de partición de 8 palabras. Cuando se produce un fallo en
la caché se reemplaza la partición más antigua. Suponer que inicialmente la memoria caché está vacía y que se leen
sucesivamente las direcciones de memoria principal: 00000000, 00000001, 00000011, 00100001, 00100101,
00010000, 00010010 y 00000000. Si se leyera la dirección 00100111.
I. Se produciría un acierto en la memoria caché.
II. Se produciría un fallo en la memoria caché y sería necesario reemplazar uno de los bloques existentes en la
caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son
mutuamente excluyentes entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes
afirmaciones son verdaderas:
I. Utilizando formato vertical, el tamaño de los subcampos codificados sería de 4 y 5 bits, respectivamente.
II. Al existir señales mutuamente excluyentes no puede utilizarse el formato vertical de microinstrucciones.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Un sistema jerárquico de memoria está compuesto por una memoria caché de 256 palabras, dividida en
particiones de 8 palabras y con un tiempo de acceso de 10 nseg, y por una memoria principal de 1024 Kpalabras
con un tiempo de acceso de 100 nseg. Cuando se produce un fallo, se mueve el dato a la UCP y, simultáneamente,
se mueve el bloque a la memoria caché. Si la tasa de acierto de la caché es del 90%, ¿cuál será el tiempo de acceso
medio del conjunto?
A) 20 nseg B) 19 nseg C) 89 nseg D) Ninguna de las anteriores
8.- Sean dos números binarios de 16 bits representados en código BCD: X = 0011100101010100, Y =
0011100100000110. El resultado de su suma, representado en BCD, es:
A) 0111001001011010 B) 0110100001100000 C) 0111100001100000 D) Ninguna de las anteriores

6ROXFLyQ
1.- La máxima velocidad de transferencia del canal multiplexor es la suma de las velocidades máximas de todos
los dispositivos que están conectados a él: (5×106 + 10×2×105)bytes/seg. = 7×106 bytes/seg. Como en transferir
cada byte se tardan 200 nseg., en transferir los 7×106 bytes se tardarían (7×106 bytes) × (200×10-9 seg./byte) = 1.4
segundos. Es decir, en transferir los 7×106 bytes que puede transmitir el canal multiplexor en un segundo se
tardaría 1.4 segundos. Por tanto, el bus del sistema estaría saturado al 100% de su capacidad (¡Ojo, no al 140%!) y
aún así no sería capaz de transferir todos los datos que puede proporcionarle el canal multiplexor.
Respuesta correcta: D (100%, Ninguna de las anteriores).
2.- Aplicando de manera iterativa la expresión ci = gi + pici-1 se obtiene:
Problemas de los exámenes del curso 99/00 3

g2 + p2(g1 + p1(g0 + p0c-1)) = g2 + p2(g1 + p1c0) = g2 + p2c1 = c2


Respuesta correcta: B (c2).
3.- A la hora de calcular el valor del registro de marca sólo hay que tener en cuenta las palabras activas, es decir,
aquellas cuyo bit de etiqueta está a 1. Y de éstas, sólo se consideran los bits del argumento cuyo correspondiente bit
de máscara está a 1.

1 0 0 1 1 0 1 0 ARGUMENTO

1 0 0 1 0 1 0 1 MÁSCARA

1 1 1 0 1 1 1 1 1 0

1 1 1 0 1 1 0 1 0 1

ETIQUETA 1 1 0 0 1 0 0 0 0 1 MARCA

0 1 0 1 0 0 1 1 0 0

0 1 1 0 1 1 0 0 0 0

La marca correcta es, por tanto, la que corresponde a la respuesta C.


Respuesta correcta: C.
4.- La ROM que se utilice para realizar este circuito tendrá al menos 9 entradas (4 por cada operando más 1 para la
entrada de control M) y, ya que la suma o la resta de dos números de 4 bits tiene un máximo de 5 bits, deberá tener
al menos 5 bits/palabra. El tamaño mínimo es pues 29 palabras de 5 bits/palabra. La ROM propuesta en la
afirmación I tiene capacidad insuficiente, pero la propuesta en II vale al ser su capacidad superior a la mínima
necesaria.
Respuesta correcta: C (I: no; II: sí).
5.- La cache tiene 32 / 8 = 4 (0..3) particiones. Una dirección de memoria principal se descompone como:
etiqueta(5) + palabra(3). De este modo, la caché se llena de la siguiente manera:
Dirección 00000-000: Partición 0, etiqueta 00000
Dirección 00000-001: Partición 0, etiqueta 00000
Dirección 00000-011: Partición 0, etiqueta 00000
Dirección 00100-001: Partición 1, etiqueta 00100
Dirección 00100-101: Partición 1, etiqueta 00100
Dirección 00010-000: Partición 2, etiqueta 00010
Dirección 00010-010: Partición 2, etiqueta 00010
Dirección 00000-000: Partición 0, etiqueta 00000
Obsérvese que la caché no se a llenado y que por tanto no ha sido necesario realizar ninguna operación de
reemplazamiento.
Por tanto, la dirección 00100-111 se encuentra en la partición 1. La afirmación I es verdadera y la II, falsa.
Respuesta correcta: B (I: sí; II: no).
4 Estructura y Tecnología de Computadores II

6.- La afirmación I es falsa ya que un subcampo codificado de i bits puede codificar a lo sumo 2i-1 señales de
control diferentes. Por este motivo harían falta dos subcampos de 5 bits cada uno.
La afirmación II es falsa ya que el formato vertical de microinstrucciones saca partido precisamente del hecho
de que existan señales de control mútuamente excluyentes.
Respuesta correcta: D (I: no; II: no).
7.- El tiempo medio de acceso viene dado por la expresión tA = H × (tiempo de acceso en caso de acierto) + (1-H)
× (tiempo de acceso en caso de fallo), donde H es la tasa de acierto. Cuando se produce un fallo, según el
enunciado, hay que mover un bloque de 8 palabras desde la memoria principal a la memoria caché, operación que
es simultánea al envío directo a la UCP de la palabra que ha producido el fallo. Por tanto, el tiempo de acceso en
caso de fallo es el tiempo necesario para mover el bloque de 8 palabras: 8 × 100 nseg = 800 nseg. Luego
tA = 0.9 × 10 nseg + 0.1 × 800 nseg = 89 nseg.
Respuesta correcta: C (89 nseg).
Nota: La expresión que figura en la página 55 de la segunda edición del texto básico de teoría, o en la página
70 de la primera edición de dicho texto, tA = tA1 + tA2 - TtA2/100, no es aplicable directamente, ya que sólo
considera el movimiento de una palabra en caso de fallo, pero no de un bloque de palabras.
8.- La manera más sencilla de obtener la solución es pasar ambos números a decimal. Para ello se agrupan los bits
de cuatro en cuatro: 0011 1001 0101 0100 = 3954 y 0011 1001 0000 0110 = 3906. Su suma es 7860, cuya
representación en código BCD es 0111 1000 0110 0000.
Respuesta correcta: C (0111100001100000).

&XHVWLRQHV WHyULFRSUiFWLFDV  1ª semana de Junio de 2000


1.- Se desea diseñar un controlador de interrupciones con las siguientes características. Tiene un módulo de
gestión de prioridades de forma que cuando se reciban peticiones de interrupción simultáneas por más de una línea
sólo se reconozca la más prioritaria. Tiene un módulo de enmascaramiento que permite enmascarar de manera
individual cualquiera de las líneas de petición. ¿En qué orden se colocarían estos dos módulos? ¿Por qué?
2.- Explicar el resultado de la pregunta 1 del test.
3.- Explicar el resultado de la pregunta 2 del test.

6ROXFLyQ

1.- El orden correcto es en primer lugar el módulo de enmascaramiento y a continuación el de gestión de


prioridades.
Si el orden fuera el inverso (primero el módulo de gestión de prioridades y luego el de enmascaramiento), y si
hubiera varias líneas de petición activas simultáneamente, el módulo de gestión de prioridades podría dejar pasar
sólo una petición muy prioritaria, que se encuentra enmascarada posteriormente en el módulo de enmascaramiento
y que por tanto no debe ser atendida. Así ninguna de las peticiones sería atendida, lo que daría lugar a una situación
anómala.
2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
Problemas de los exámenes del curso 99/00 5

3UREOHPD  1ª semana de Junio de 2000


Un programa tiene dos bucles anidados, un bucle interior menor que se ejecuta 20 veces y un bucle exterior mucho
mayor que se ejecuta 10 veces. La estructura general del programa se muestra en la Figura 2000-1-1, donde las
direcciones mostradas se corresponden con el principio y final de cada uno de estos bucles, y el principio y final
del programa. Las direcciones se muestran en formato decimal(hexadecimal), por ejemplo 165(H00A5).
Todas las direcciones de memoria de las diferentes secciones, 17-22, 23-164, 165-239, etc., contienen
instrucciones que deben ejecutarse en secuencia de línea recta. El programa se ejecuta en un computador con una
memoria principal de 64k palabras y una memoria caché con correspondencia directa de 1k palabras y un tamaño
de bloque de 128 palabras. El tiempo de acceso a la memoria principal es de 10τ y el tiempo de acceso a la
memoria caché es de 1τ.

17(H0011)

---→ 23(H0017)
| ↓
| -→ 165(H00A5)
| | ↓
| --- 239(H00EF)
| ↓
----- 1200(H04B0)

1500(H05DC)

Figura 2000-1-1: Estructura del programa propuesto

a) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de
memoria principal de este sistema.
b) (0.75 puntos) Calcule cuánto tiempo se tardaría en ejecutar este programa si este computador no tuviera
memoria caché.
c) (2 puntos) Calcule cuántos fallos se producen en la caché a la hora de ejecutar este programa. Explique
claramente su razonamiento. (Sugerencia: diferencie entre la primera ejecución del bucle exterior y las
nueve restantes.)
d) (1 punto) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria
principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo se tardaría en
ejecutar este programa en este computador.

6ROXFLyQ

a) En primer lugar se calcula el número de bits necesarios para direccionar una palabra de memoria principal:
64k = 26 × 210 = 216. Hacen falta, por tanto, 16 bits. (Obsérvese que en la Figura 2000-1-1 las direcciones se
expresan con 4 dígitos hexadecimales, o sea, con 16 bits.)
6 Estructura y Tecnología de Computadores II

La caché tiene un total de 1k (210) palabras repartidas en bloques de128 (27) palabras/bloque; el número de
bloques es por tanto 210 / 27 = 23 bloques.
El campo etiqueta tendrá 16 - (3 + 7) = 6 bits.
Resumiendo: etiqueta, 6 bits; partición, 3 bits; palabra, 7 bits.

b) En este apartado se pide calcular el tiempo que tardaría en ejecutarse el programa si el computador no
tuviera caché. Ya que no se indica el tiempo que tardan en ejecutarse las instrucciones, se ha de suponer que es
despreciable frente al tiempo de acceso a memoria (la memoria es muy lenta comparada con la velocidad de la
UCP). Por tanto, el tiempo de ejecución total será el tiempo de acceso a memoria, que será el número total de
accesos a memoria multiplicado por el tiempo que lleva cada acceso. En este caso, el tiempo de acceso a tener en
cuenta es el de la memoria principal (10τ), ya que se supone que no hay caché.
Para saber cuántas veces se accede a la memoria principal basta con contar cuántas instrucciones hay en cada
sección del programa, y tener en cuenta cuántas veces se ejecuta cada una de estas secciones, tal como se muestra
en la Tabla 2000-1-1.

Sección Nº instrucciones Veces que se ejecuta Total instrucciones

17-22 6 1 6

23-164 142 10 1.420

165-239 75 20 × 10 15.000

240-1200 961 10 9.610

1201-1500 300 1 300

Nº total de accesos a memoria principal: 26.336

Tabla 2000-1-1: Cálculo del número total de accesos a memoria principal

El tiempo total de ejecución del programa es por tanto:


TP = 26.336 × 10τ = 263.360τ.

c) Dado que el computador utiliza una caché con correspondencia directa, a cada palabra de la memoria
principal le corresponde un único bloque de la memoria caché, según el formato de los campos que se dedujo en el
apartado a). En la Tabla 2000-1-2 se muestra la correspondencia entre las distintas direcciones de la memoria
principal y sus campos etiqueta, partición y palabra. Estos campos se obtienen haciendo grupos de 6, 3 y 7 bits,
respectivamente, con la representación en binario puro de la dirección. La representación binaria se ha obtenido, a
Problemas de los exámenes del curso 99/00 7

su vez, fácilmente a partir de la representación hexadecimal.

Formato dirección memoria principal


(16 bits)
Dirección
Etiqueta Partición Palabra
(6 bits) (3 bits) (7 bits)

17: 0000 00 00 0 001 0001


22: 0000 00 00 0 001 0110

23: 0000 00 00 0 001 0111


164: 0000 00 00 1 010 0100

165: 0000 00 00 1 010 0101


239: 0000 00 00 1 110 1111

240: 0000 00 00 1 111 0000


1200: 0000 01 00 1 011 0000

1201: 0000 01 00 1 011 0001


1500: 0000 01 01 1 101 1100

Tabla 2000-1-2: Formato de las direcciones de memoria principal

A partir de la Tabla 2000-1-2 es fácil calcular el número de fallos que se producen en el acceso a la memoria
caché. Para ello, basta con ir ejecutando el programa, tal como se muestra en la Figura 2000-1-1, “con lápiz y
papel” y llevar en cuenta cómo se va ocupando la memoria caché.
1) Direcciones 17-22:
Estas direcciones corresponden, según la Tabla 2000-1-2, a la partición 000 (etiqueta 000000). La caché
inicialmente está vacía, por lo que se produce el primer fallo. Esto hace que se traiga la partición entera desde la
memoria principal.
2) Primera ejecución del bucle exterior:
2.1) Direcciones 23-164:
La dirección 23 corresponde a la partición 000 (etiqueta 000000); la 164, a la partición 001 (etiqueta 000000).
La partición 000 ya se encontraba en la caché. En la dirección 128 se produjo el segundo fallo, por lo que se trajo
completa la partición 001 (etiqueta 000000) desde la memoria principal.
2.2) Direcciones 165-239:
Estas direcciones corresponden a la partición 001 (etiqueta 000000), que ya se encuentra en la caché. El bucle
interior se ejecuta 20 veces sin que se produzca ningún fallo.
2.3) Direcciones 240-1200:
Estas direcciones abarcan desde la partición 001 (etiqueta 000000) hasta la partición 001 (etiqueta 000001).
Se han producido 8 fallos, que corresponden desde la partición 010 (etiqueta 000000) hasta la partición 111
8 Estructura y Tecnología de Computadores II

(etiqueta 000000), y las particiones 000 y 001 (etiqueta 000001). Obsérvese que estas dos últimas particiones han
reemplazado a las particiones 000 y 001 (etiqueta 000000).
Con esto finaliza la primera ejecución del bucle exterior. Se ha producido un total de 10 fallos (1 + 1 + 8). El
estado de la caché ha quedado como se muestra en la Tabla 2000-1-3.

Partición Etiqueta

000 000001

001 000001

010 000000

011 000000

100 000000

101 000000

110 000000

111 000000

Tabla 2000-1-3: Estado de la caché al finalizar la primera ejecución del bucle exterior

3) Segunda a décima ejecución del bucle exterior:


Como se ha visto anteriormente, el bucle exterior comienza referenciando las particiones 000 y 001
correspondientes a la etiqueta 000000. Estas particiones han sido reemplazadas por las correspondientes a la
etiqueta 000001. Se producen por tanto dos fallos y se reemplazan las particiones.
El bucle sigue referenciando las particiones 010 a 111 (etiqueta 000000), que como se comprueba en la
Figura 2000-1-3 se encuentran en la caché. Estas particiones no producen fallos.
El bucle termina referenciando las particiones 000 y 001 con etiqueta 000001, pero éstas han sido sustituídas
al comienzo del bucle por las correspondientes a la etiqueta 000000. Se producen, por tanto, otros dos fallos, y se
reemplazan las particiones.
La segunda ejecución del bucle ha terminado con cuatro fallos y el contenido de la caché es el mismo que
había al comenzar, es decir, el mostrado en la Figura 2000-1-3.
Cada subsiguiente ejecución del bloque exterior producirá otros cuatro fallos y dejará la caché con el mismo
contenido que había al comenzar. En total, en las nueve ejecuciónes se producirán 9 × 4 = 36 fallos, y el contenido
de la caché al finaliar será el mostrado en la Figura 2000-1-3.
4) Direcciones 1201-1500:
La salida del bucle exterior hace que se referencien las particiones 1, 2 y 3 correspondientes a la etiqueta
000001. La 1 ya se encuentra cargada en la caché, pero la 2 y la 3 no; por tanto se producen otros 2 fallos.
Problemas de los exámenes del curso 99/00 9

Cómputo del número total de fallos:


El número total de fallos es 10 + 36 + 2 = 48.

d) Para calcular el tiempo total que se tarda en ejecutar el programa con la memoria caché hay que
contabilizar el número total de accesos que se realizan a memoria principal y a memoria caché.
Según el enunciado, cada vez que se produce un fallo se trae el bloque completo de la memoria principal (128
palabras) y luego se lee el dato que ha producido dicho fallo. Por ello, tanto si se produce un acierto como un fallo
el dato se envía a la UCP desde la memoria caché. Luego el número de accesos a la memoria caché será igual al
número total de instrucciones que se ejecutan en el programa: 26.336.
Los accesos a memoria principal sólo se producen cuando hay un fallo en la caché, y cada fallo origina la
lectura de un bloque completo. Luego el número total de accesos a la memoria principal es (Número de fallos en
caché) × (Tamaño de un bloque) = 48 × 128 = 6.144.
El tiempo total de ejecución del programa es la suma de los tiempos de acceso a la memoria principal y a la
memoria caché:
TC = 26.336 × τ + 6.144 × 10τ = 87.776τ.
Aunque no lo solicita el enunciado del problema, a modo de curiosidad se puede calcular la tasa de acierto y la
razón entre las velocidades de ejecución con y sin caché:
H = (Nº aciertos) / (Nº total accesos) = (Nº total accesos - Nº fallos) / (Nº total accesos) = 26.288 / 26.336 =
99,8%.
TC / TP = 33,3%.
Obsérvese que a pesar de la alta tasa de acierto y de que la caché es 10 veces más rápida que la memoria
principla la velocidad sólo mejora en un factor 3, debido a la carga que supone mover bloques completos desde la
memoria principal a la memoria caché.
2000 Junio 2000 - 2ª semana

&XHVWLRQHV WHyULFRSUiFWLFDV  Test 2ª semana de Junio de 2000


1.- Un sistema jerárquico de memoria tiene una memoria caché de 256 palabras, dividida en particiones de 8
palabras y con un tiempo de acceso de 10 nseg, y una memoria principal de 1024 Kpalabras con un tiempo de
acceso de 100 nseg. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y
después se lee el dato desde la caché. Si la tasa de acierto de la caché es del 90%, ¿cuál es el tiempo de acceso medio
de este sistema?
A) 20 nseg B) 19 nseg C) 90 nseg D) Ninguna de las anteriores
2.- Un computador con 13 líneas de direcciones tiene una memoria de 3×211 palabras y utiliza entrada/salida
localizada en memoria. ¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada
uno de ellos utiliza 16 direcciones?
A 211. B) 27 C) 2. D) Ninguna de las anteriores.
3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores de los
registros argumento, máscara, etiqueta y marca, y del contenido de la memoria, en una operación de escritura en
esta memoria, ¿en qué palabra se escribiría el nuevo dato?

1 0 0 1 1 0 1 0 ARGUMENTO
1 0 0 1 0 1 0 1 MÁSCARA

1 1 1 0 1 1 1 1 1 Palabra 0 0
1 1 1 0 1 1 0 1 0 Palabra 1 1
ETIQUETA 1 1 0 0 1 0 0 0 0 Palabra 2 1 MARCA
0 1 0 1 0 0 1 1 0 Palabra 3 0
0 1 1 0 1 1 0 0 0 Palabra 4 0

1
2 Estructura y Tecnología de Computadores II

4.- Se desea diseñar un circuito comparador de dos números de tres bits y cuatro bits, respectivamente (x2x1x0 e
y3y2y1y0), que tenga 2 salidas M (x>y) e I (x=y).
I. Con una memoria ROM de 27 palabras con 5 bits por palabra se podría construir.
II. Con una memoria ROM de 210 palabras con 5 bits por palabra se podría construir.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 106 bytes/seg., y las de cinta de 2×105 bytes/seg. Si para
la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg.
¿Cuál es la velocidad máxima de transferencia agregada a este sistema?
A) A7 × 106 bytes/seg B) 5 × 106 bytes/seg C) 106 bytes/seg D) Ninguna de las anteriores
6.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La
memoria caché utiliza correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que
inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal
000000010000, 000100010100, 000001001000 y 000001111000. Indicar si al finalizar estas cuatro operaciones
de lectura las afirmaciones siguientes son ciertas:
I. La palabra de dirección 000001111000 se encuentra almacenada en el conjunto 0 de la caché.
II. El conjunto 1 de la caché tiene asociada la etiqueta 000000.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Un computador de von Neumann tiene una longitud de palabra de 16 bits. Sus instrucciones máquina ocupan
una longitud de 16 ó 32 bits (1 ó 2 palabras). En ambos casos, el código de operación de las instrucciones máquina
ocupa un campo de 7 bits. Indique si las siguientes afirmaciones son verdaderas:
I. La memoria principal deberá estar dividida en dos bancos distintos: uno para datos y otro para
instrucciones.
II. Este computador tendrá, como máximo, 27-1 señales de control diferentes.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Se considera un procesador que dispone de 12 líneas de direcciones A11-A0. Para la construcción de su unidad
de memoria se dispone de módulos de 1K palabras, utilizándose las líneas más significativas (A11-A10) para la
selección de cada módulo. En el mapa de memoria, la dirección base (primera dirección de cada módulo) en
notación hexadecimal de los sucesivos bloques de memoria es:

6ROXFLyQ

1.- El tiempo medio de acceso viene dado por la expresión:


tA = H × (tiempo de acceso en caso de acierto) + (1-H) × (tiempo de acceso en caso de fallo)
donde H es la tasa de acierto.
Cuando se produce un fallo, según el enunciado, hay que mover un bloque de 8 palabras desde la memoria
principal a la memoria caché y, posteriormente, leer el dato desde la memoria caché. Por tanto, el tiempo de acceso
en caso de fallo es el tiempo necesario para mover el bloque de 8 palabras más el tiempo empleado en leer el dato
desde la caché: 8 × 100 nseg + 10 nseg. = 810 nseg.
Problemas de los exámenes del curso 99/00 3

Luego el tiempo de acceso medio de este sistema es:


tA = 0.9 × 10 nseg + 0.1 × 810 nseg = 9 nseg + 81 nseg = 90nseg.
Respuesta correcta: C (90 nseg).
Nota aclaratoria: La expresión que figura en la página 55 de la segunda edición del texto básico de teoría, o en la
página 70 de la primera edición de dicho texto, tA = tA1 + tA2 - TtA2/100, no es aplicable directamente, ya que sólo
considera el movimiento de una palabra en caso de fallo, pero no de un bloque de palabras.
2.- Con las 13 líneas de direcciones este computador puede seleccionar 213 direcciones de memoria distintas. Pero
como la memoria ya ocupa 3×211 de estas direcciones, quedan libres 213- 3×211= 211 direcciones para utilizar
como E/S. A pesar de no disponer de calculadora en el examen, esta resta se hace de forma muy sencilla:
213 - 3 × 211 = 22 × 211 - 3 × 211 = 4 × 211 - 3 × 211 = (4 - 3) × 211 = 211
Como cada periférico utiliza 16 (24) de estas direcciones, es posible conectar un máximo de 211/24 = 27
periféricos.
Respuesta correcta: B (27).
3.- El nuevo dato se escribirá en la primera palabra que tenga su bit de etiqueta a 0. En este caso en la palabra 3.
Respuesta correcta: D (Ninguna de las anteriores).
4.- El comparador pedido tiene 7 bits de entrada, 3 para x2x1x0 más 4 para y3y2y1y0, y 2 bits de salida, M e I. Por
tanto necesitamos una memoria ROM que tenga una capacidad mínima de 27 palabras × 2 bits por palabra.
El tamaño de la memoria ROM propuesta en la afirmación I, 27 palabras con 5 bits por palabra, tiene el
número de palabras necesario y una longitud de palabra superior, por lo que se podría construir con esta ROM el
circuito comparador pedido.
El tamaño de la memoria ROM propuesta en la afirmación II, 210 palabras con 5 bits por palabra, supera el
tamaño de memoria necesario tanto en número de palabras como el la longitud de cada palabra, por lo que se
podría construir con esta ROM el circuito comparador pedido.
Respuesta correcta: A (I: sí; II: sí).
5.- La máxima velocidad de transferencia del canal multiplexor es la suma de las velocidades máximas de todos
los dispositivos que están conectados a él: (5×106 + 10×2×105)bytes/seg. = 7×106 bytes/seg. En principio puede
parecer que la pregunta ya está contestada, pero no es así. Además debemos comprobar si el bus del sistema tiene
ancho de banda suficiente para soportar estas velocidades de transferencia.
Como en transmitir cada byte por el bus del sistema se emplean 200 nseg., en transferir los 7×106 bytes que es
capaz de proporcionar el canal multiplexor en un segundo, el bus necesitaría (7×106 bytes) × (200×10-9 seg/byte)
= 1.4 segundos, es decir, el bus no es capaz de absorber toda la información que el canal multiplexor es capaz de
enviar. Por tanto, la máxima velocidad de transferencia vendrá limitada por la velocidad del propio bus, que es de
1/(200×10-9 seg/byte) = (1/2) ×107 bytes/seg = 5 ×106 bytes/seg.
Respuesta correcta: B (5 ×106 bytes/seg).
6.- Esta pregunta se puede contestar directamente sin tener que hacer cálculo alguno ya que cuando se utiliza
correspondencia directa, el término conjunto no tiene sentido. Por tanto, las dos afirmaciones, I y II, son falsas. De
todas formas, y como ejercicio complementario, veamos cuál es la situación de la caché cuando se leen las
direcciones de memoria propuestas:
4 Estructura y Tecnología de Computadores II

La caché tiene en total 64 palabras y un tamaño de partición de 16 palabras. El número total de particiones es:
(64 palabras) / (16 palabras/partición) = 4 particiones. Según estos datos una dirección de memoria principal se
descompone como etiqueta(6) + partición(2) + palabra(4). De este modo la caché se va llenando de la siguiente
forma cuando se leen sucesivamente las direcciones de memoria principal 000000010000, 000000010000,
000001001000 y 000001111000:
Dirección 000000-01-0000: Partición 01, etiqueta 00000
Dirección 000000-01-0000: Partición 01, etiqueta 00000
Dirección 000001-00-1000: Partición 00, etiqueta 000001
Dirección 000001-11-1000: Partición 11, etiqueta 000001
A la dirección de memoria principal propuesta en la afirmación I, 000001-11-1000 le corresponde la partición
11. Esta partición tiene la etiqueta 000001 que es el mismo valor que tiene el campo etiqueta de la dirección
propuesta. Por tanto, la dirección propuesta en la afirmación I, 000001-11-1000, se encuentra ya almacenada en la
partición 11 de la memoria caché.
Respuesta correcta: D (I: No; II: no).
7.- Una de las características de la arquitectura de von Neumann es precisamente el tener un único espacio de
memoria utilizado tanto para almacenar datos como para almacenar instrucciones. La afirmación I es falsa.
Cuando se habla de instrucciones máquina no tiene sentido hablar de señales de control, sino de códigos de
operación, formato de instrucciones, etc. Sin embargo, si nos referimos a microinstrucciones, sí tiene sentido. La
afirmación II es falsa.
Respuesta correcta: D (I: No; II: no).
8.- La dirección base de un módulo es la dirección de memoria principal que hay que emplear para acceder a la
primera posición de dicho módulo. En este caso concreto las sucesivas direcciones base de cada módulo las
generaremos con valores sucesivos de los bits A11A10, que son los empleados para seleccionar cada módulo, y el
resto de los bits de la dirección, A9..A0, con el valor cero. En la tabla siguiente se muestra el resultado.

Dirección base en binario


Dir. base en hexadecimal
A11A10A9A8A7A6A5A4A3A2A1A0

Módulo 0 000000000000 000

Módulo 1 010000000000 400

Módulo 2 100000000000 800

Módulo 3 110000000000 C00

Respuesta correcta: C (000 - 400 - 800 - C00).

&XHVWLRQHV WHyULFRSUiFWLFDV  2ª semana de Junio de 2000


1.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de DMA transparente.
Problemas de los exámenes del curso 99/00 5

Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser
ejecutadas, pero en uno de ellos no hace uso del bus. El controlador de DMA tarda un ciclo de reloj en transmitir
una palabra. Explicar razonadamente qué reducción en la velocidad de la UCP supone la transferencia de DMA.
2.- Explicar el resultado de la pregunta 1 del test.
3.- Explicar el resultado de la pregunta 2 del test.

6ROXFLyQ

1.- La utilización de esta técnica no supone ninguna reducción en la velocidad de la UCP ya que el controlador de
DMA hace uso del bus únicamente cuando la UCP no lo necesita utilizar.
2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

3UREOHPD  2ª semana de Junio de 2000


Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la figura, con dos entradas de datos X
(x1x0) e Y (y1y0), una entrada de control C (c1c0) y una salida de datos R (r3r2r1r0). El funcionamiento de la UAL
viene descrito por la siguiente tabla:

Señal de control Operación


c1c0 = 0 0: suma R=X+Y
c1c0 = 0 1: producto R=X*Y
Si X > Y entonces R = 1 0 0 0
c1c0 = 1 0: comparación Si X = Y entonces R = 0 1 0 0
Si X < Y entonces R = 0 0 1 0
c1c0 = 1 1: sacar X , Y R= X, Y (r3 = x 1 , r2 = x 0 , r1 = y 1 , r0 = y 0 )

Tabla 2000-2-1: Tabla de funcionamiento de la UAL

2 2

x 1 x0 y 1 y0
c1 c0
2 UAL
r3 r 2 r1 r0

Figura 2000-2-1: Módulo UAL

Para resolver el problema, seguir obligatoriamente los siguientes apartados:


6 Estructura y Tecnología de Computadores II

a) (1 punto) Diseñar un comparador de números de dos bits utilizando únicamente comparadores de


números de un bit y puertas lógicas.
b) (2 puntos) Diseñar un sumador/multiplicador de dos números de 2 bits utilizando únicamente un
módulo de memoria ROM. ¿Cuál es el tamaño necesario para este módulo de memoria ROM? Indique
claramente el significado de cada una de sus entradas y cada una de sus salidas. Escriba todo el
contenido de la memoria ROM en forma de tabla.
c) (1 punto) Utilizando únicamente los módulos diseñados en los apartados anteriores, los módulos
combinacionales necesarios y puertas lógicas, diseñe la UAL pedida.

6ROXFLyQ

a) Para comparar X e Y es necesario comparar cada bit de uno de ellos con el bit de igual peso del otro. Para
hacer estas comparaciones utilizamos los comparadores de 1 bit propuestos. Si el resultado de la comparación de xi
e yi es: Mi, Ii y mi, se cumple que:
Mi =1 si xi > yi
Ii =1 si xi = yi
mi =1 si xi < yi
A partir de Mi, Ii y mi se generan las salidas M, I y m del comparador de 2 bits mediante las siguientes
funciones booleanas:
M = M1 + I 1 M0
I = I1 I0
m = m1 + I1 m0
La explicación de estas expresiones es inmediata:
x > y si (x1 > y1) o ((x1= y1) y (x0 > y0))
x = y si (x1 = y1) y (x0= y0)
x < y si (x1 < y1) o ((x1= y1) y (x0 < y0))
La Figura 2000-2-2 muestra el circuito lógico pedido en este apartado obtenido a partir de las expresiones
anteriores.
Problemas de los exámenes del curso 99/00 7

x1 y1 x0 y0

x>y x=y x<y x>y x=y x<y

M1 I1 m1 M0 I0 m0

• • x 1 x0 y1 y0
• • • • Comparador
• •
• • M I m
• •
• •

M I m
Figura 2000-2-2: Circuito lógico de un comparador de dos números de 2bits

b) Para calcular el tamaño de la memoria ROM necesaria hay que saber el número entradas y salidas del
circuito.
‡ Entradas. Este circuito tiene 5 entradas: 2 para la entrada de datos X (x1x0), 2 para la entrada de datos
Y (y1y0) y una entrada de control (c) para la selección de la operación a realizar por el circuito. Esta
última entrada de control va a tener el siguiente significado:
‡ c = 0: Suma
‡ c = 1: Producto
‡ Salidas: Este circuito tiene 4 salidas. El resultado de la suma de dos números de dos bits tiene tan sólo
3 bits pero, para el resultado del producto de dos números de dos bits se requieren 4 bits. Como el
circuito a diseñar tiene que poder hacer ambas operaciones, su salida ha de tener, necesariamente, 4 bits.
Por tanto, el tamaño de la memoria ROM necesario para implementar el sumador es de: 25 palabras × 4
bits/palabra. El significado de cada una de sus entradas y salidas se muestra claramente en la Figura 2000-2-3.
Finalmente, en la Tabla 2000-2-2 se muestra el contenido que debería tener la memoria ROM.
8 Estructura y Tecnología de Computadores II

c A4
x1 A3 ROM x 1 x0 y1 y0
x0 A2 Sumador / Multiplicador c c
32 palabras × 4 bits b3 b2 b1 b0
y1 A1
y0 A0
b3 b2 b1 b0

Figura 2000-2-3: Sumador/Multiplicador diseñado con memoria ROM

Dirección memoria Dirección memoria


Contenido Contenido
c x1 x0 y1 y0 c x1 x0 y1 y0

A4 A3 A2 A1 A0 b3 b2 b1 b0 A4 A3 A2 A1 A0 b3 b2 b1 b0

0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 0 0 0
0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0
0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0
0 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 0 1
0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0
0 0 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1
0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
0 1 0 0 1 0 0 1 1 1 1 0 0 1 0 0 1 0
0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 1 0 0
0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0
0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0
0 1 1 0 1 0 1 0 0 1 1 1 0 1 0 0 1 1
0 1 1 1 0 0 1 0 1 1 1 1 1 0 0 1 1 0
0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1

Tabla 2000-2-2: Contenido de la memoria ROM

c) En la Figura 2000-2-4 se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4
multiplexores para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas de control c1 y
c0. También la entrada de control de la UAL c0 se utiliza para seleccionar la operación a realizar por el
Sumador/Multiplicador.
Problemas de los exámenes del curso 99/00 9

x1
x0
y1
y0

x 1 x0 y1 y0 x 1 x0 y1 y0
Comparador Sumador/Multiplicador c
M I m b3 b2 b1 b0

0 3 2 1 0 0 3 2 1 0 0 3 2 1 0 0 3 2 1 0
MUX MUX MUX MUX
1 1 1 1
c0
c1

r3 r2 r1 r0

Figura 2000-2-4: UAL pedida en el problema


2000 Exámenes
Septiembre de 2000

&XHVWLRQHV WHyULFRSUiFWLFDV 

1.- La memoria de un ordenador consta de 20 módulos independientes conectados a un bus de memoria común. En
una operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema durante 25 nseg. al
comienzo de la operación. Durante los 75 nseg. siguientes completa el ciclo de escritura almacenando el dato
internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse, ¿cuál es la
velocidad máxima de almacenamiento de la memoria del ordenador
A) 107 palabras/seg. B) 4×107 palabras/seg. C) 20×107 palabras/seg. D) Ninguna de las anteriores
2.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando la
UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas,
aunque en 2 de ellos consecutivos no se requiere el acceso al bus. El controlador de DMA tarda 2 ciclos de reloj en
transmitir una palabra. Si la frecuencia de reloj del computador es de 200×106 ciclos/seg., ¿cuánto tiempo tardará
el controlador de DMA en mover un bloque de datos compuesto por 100×106 palabras?
A) 1 seg. B) 2 seg. C) 2.5 seg. D) Ninguna de las anteriores.
3.- Dados dos números binarios de 1 bit, x e y, la expresión lógica (x + y )xy representa:
A) El bit de suma. B) El bit de acarreo de su suma.
C) El complemento a 1 de x e y . D) Ninguno de las anteriores.
4.- ¿Cuántos SBC de 1 bit harían falta para construir un sumador binario serie capaz de sumar dos números
binarios de n bits?
a) n B) 2 n C) log2n D) Ninguna de las anteriores
5.- Un computador dispone del siguiente sistema jerárquico de memoria (ordenado de los niveles superiores a los
inferiores): registros de la UCP, caché primaria, caché secundaria, memoria principal y discos magnéticos. Indique

1
2 Estructura y Tecnología de Computadores II

si las siguientes afirmaciones son verdaderas:


I. El coste por palabra de la caché primaria será menor que el coste por palabra de la caché secundaria.
II. La caché primaria será de menor tamaño que la secundaria y contendrá la copia de algunos bloques de
ésta.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- En un sistema de memoria caché con correspondencia totalmente asociativa:
I. No es necesario definir una política de reemplazamiento.
II. Un posible algoritmo de reemplazamiento consiste en reemplazar particiones escogidas de forma
aleatoria.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Se considera un procesador que dispone de 12 líneas de direcciones A11-A0. Para la construcción de su unidad
de memoria se dispone de módulos de 1K palabras, utilizándose las líneas menos significativas (A1-A0) para la
selección de cada módulo. Indique cuál de las siguientes afirmaciones es verdadera:
A) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en el mismo módulo de memoria.
B) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes módulos de memoria.
C) El módulo en que se encuentra almacenada una dirección de memoria queda determinado por el valor de
D) Ninguna de las anteriores es verdadera.
8.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La
memoria caché utiliza correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que
inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal
000000010000, 000100010100, 000001001000 y 000001111000. Indicar si al finalizar estas cuatro operaciones
de lectura las afirmaciones siguientes son ciertas:
I. La palabra de dirección 000001111000 se encuentra almacenada en el bloque 3 de la caché.
II. El bloque 1 de la caché tiene asociada la etiqueta 000100.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

6ROXFLyQ

1.- Este ejercicio es una simplificación al Problema 1.3 del libro de problemas. En este caso la situación es la que
muestra la Figura 2000-3-1.

Uso del bus Almacenamiento del dato

25 nseg 75 nseg

Figura 2000-3-1: Ciclo de escritura de los módulos de memoria

De forma inmediata se ve que si cada 100 nseg. el módulo de memoria ocupa 25 nseg., es decir, 1/4 del
tiempo, vamos a poder solapar, cómo máximo, 4 operaciones de escritura con 4 módulos de memoria distintos
aunque nuestro sistema disponga de 20 módulos. Para aclarar este punto en la Figura 2000-3-2 se muestra el
Problemas de los exámenes del curso 99/00 3

solapamiento máximo que se puede conseguir utilizando todos los módulos de memoria. En el instante de tiempo t
únicamente están realizando parte de una operación de escritura 4 módulos: módulos 2, 3, 4 y 5.

t
1
Módulo 2
3
4
5
6
7
8

19
20

1 2 3 4 5 6 7 8 9 10
(x 100 nseg.)

Figura 2000-3-2: Máximo solapamiento utilizando los 20 módulos

Por tanto, en una operación de escritura continua en este sistema de memoria, se pueden llegar a iniciar y
acabar 4 operaciones de escritura cada 100 nseg. La velocidad resultante es:
4 palabras / (100 nseg.) = 4 palabras / (100 × 10-9 seg.) = 4 / 10-7 palabras/seg. = 4 × 107 palabras/seg.
Respuesta correcta: B (4 x 107 palabras/seg.).
2.- Este controlador de DMA aprovecha los dos ciclos de reloj consecutivos en los que la UCP no utiliza el bus
cuando ejecuta una instrucción, para transmitir una palabra. Por tanto, en los 4 ciclos de reloj que la UCP tarda en
ejecutar una instrucción, el controlador de DMA transmite una palabra. La velocidad de transferencia resultante, si
el reloj del computador tiene una frecuencia de 200 × 106 ciclos/ seg., es de:
(200 × 106 ciclos/seg.) / (4 ciclos/palabra) = 50 × 106 palabras/seg.
Con esta velocidad de transferencia, para mover un bloque de 100 × 106 palabras el controlador de DMA
tardará:
(100 × 106 palabras) / (50 × 106 palabras/seg) = 2 seg.
Respuesta correcta: B (2 seg.).
3.- En esta pregunta hay que comprobar la equivalencia de la expresión propuesta con alguna de las respuestas. La
forma más sencilla de hacerlo consiste en generar una tabla de verdad. La tabla de verdad de ( x + y )xy se muestra
en la Tabla 2000-3-1. De forma inmediata se comprueba que es equivalente a la tabla de verdad del bit de suma.
4 Estructura y Tecnología de Computadores II

x y xy x+y ( x + y )xy

00 1 0 0

01 1 1 1

10 1 1 1

11 0 1 0

Tabla 2000-3-1: Tabla de verdad de la expresión propuesta

Otra posibilidad de hacer este ejercicio es desarrollando la expresión lógica hasta obtener alguna otra cuyo
apariencia nos sea familiar.
( x + y )xy = ( x + y ) ( x + y ) = xx + xy + yx + yy = xy + yx = x ⊕ y = S
Luego la expresión propuesta en el enunciado es equivalente a la suma exclusiva de las dos variables que, a su
vez, es una expresión muy conocida y familiar del bit de suma.
Respuesta correcta: A (El bit de suma.).
4.- El diseño de un sumador binario serie requiere la utilización de un único SBC.
Respuesta correcta: D (Ninguna de las anteriores.).
5.- En un sistema jerárquico de memoria, a medida que pasamos de los niveles superiores a los inferiores:
‡ El coste por unidad de información disminuye.
‡ La capacidad aumenta.
‡ El tiempo de acceso aumenta.
‡ La frecuencia de acceso a la memoria por parte de la UCP disminuye.
Por otra parte, como los niveles superiores tienen una capaciadad inferior, únicamente tienen copia de
algunos bloques de los niveles inferiores.
Respuesta correcta: C (I: No; II: Sí).
6.- En un sistema de memoria caché con correspondencia totalmente asociativa, un bloque de la memoria
principal puede estar cargado en cualquiera de los bloques de la memoria caché. Por tanto, es necesario definir un
algoritmo de reemplazamiento que seleccione qué bloque de la memoria caché debe ser sustituido cuando se
transfiera un nuevo bloque desde la memoria principal.
Un posible algoritmo de reemplazamiento consiste en elegir la partición a sustituir de forma aleatoria. Este
método es muy fácil de implementar en hardware y es más rápido que la mayoría de los otros algoritmos. Su
desventaja obvia es que el bloque que es más probable que se vaya a referenciar otra vez, tiene la misma
probabilidad de ser eliminado que cualquier otro bloque.
Respuesta correcta: C (I: No; II: Sí).
Problemas de los exámenes del curso 99/00 5

7.- La Unidad de memoria propuesta tiene un tamaño de 4 Kpalabras (212). Para construirla vamos a necesitar 4
módulos de 1 Kpalabras de los propuestos en el enunciado. De las 12 líneas de direcciones, 2 de ellas se van a tener
que utilizar para seleccionar uno de estos 4 módulos. Si utilizamos los bits menos significativos de la dirección
para realizar esta selección, direcciones de memoria consecutivas estarán almacenadas en módulos distintos. Por
ejemplo:
Dirección 9D4: 1001 1101 0100 Almacenada en módulo 0
Dirección 9D5: 1001 1101 0101 Almacenada en módulo 1
Dirección 9D6: 1001 1101 0110 Almacenada en módulo 2
Dirección 9D7: 1001 1101 0111 Almacenada en módulo 3
Dirección 9D8: 1001 1101 1000 Almacenada en módulo 0
Dirección 9D9: 1001 1101 1001 Almacenada en módulo 1
Dirección 9DA: 1001 1101 1010 Almacenada en módulo 2
etc...
Como las direcciones de memoria propuestas en las afirmaciones A) y B), C89 y C8A, son consecutivas,
directamente se puede afirmar que estarán almacenadas en módulos distintos. En concreto:
Dirección C89: 1100 1000 1001 Almacenada en módulo 1
Dirección C8A: 1100 1000 1010 Almacenada en módulo 2
Respuesta correcta: B (Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes
módulos de memoria.).
8.- Esta memoria caché tiene 64 (26) palabras y un tamaño de partición, o de bloque, de 16 (24) palabras. De forma
inmediata obtenemos que tiene 64/16 = 4 particiones. Una dirección de memoria principal se descompone en:
‡ Campo etiqueta: 6 bits.
‡ Campo partición: 2 bits
‡ Campo palabra: 4 bits.
Si inicialmente la memoría caché está vacía y se leen sucesivamente las direcciones de memoria principal
000000 01 0000, 000100 01 0100, 000001 00 1000 y 000001 11 1000, la Tabla 2000-3-2 muestra qué bloques y,
por tanto, qué etiquetas hay en cada partición después de producirse cada lectura.
La dirección de memoria 000001 11 1000, que le corresponde la partición 3 de la caché y tiene como etiqueta
000001 está almacenada en la memoria caché. En concreto fué transferida a la memoria cache, junto todo su
bloque (las 16 palabras con direcciones entre 000001 11 0000 y 000001 11 1111, ambas inclusive) cuando se
produjo fallo al leer esa misma dirección.
Por otro lado, la partición o bloque 1, tiene asociada la etiqueta 000100 desde que se leyó la segunda dirección
de la lista, tal y como muestra la Tabla 2000-3-2.
Respuesta correcta: A (I: Sí; II: Sí).
6 Estructura y Tecnología de Computadores II

000000 01 0000 000100 01 0100 000001 00 1000 000001 11 1000

Fallo
Partición 0 ------ ------ 000001
000001

Fallo Fallo
Partición 1 000100 000100
000000 000100

Partición 2 ------ ------ ------ ------

Fallo
Partición 3 ------ ------ ------
000001

Tabla 2000-3-2: Evolución de la memoria caché en las sucesivas lecturas

3UREOHPD  Septiembre de 2000


Un computador tiene una memoria principal de 32k palabras de 16 bits/palabra. También tiene una memoria caché
asociativa por conjuntos de 4k palabras, con 4 bloques por conjunto y 64 palabras por bloque.
Considérese que la memoria caché está inicialmente vacía y que utiliza el algoritmo FIFO para el reemplazo
de los bloques. Supóngase que la UCP accede a 4352 palabras de las direcciones 0, 1, 2... 4351, en orden. Después
repite esta secuencia nueve veces más. La memoria caché es 10 veces más veloz que la memoria principal.
Se pide:
a) (0.50 puntos) Especifique el número de bits de los campos en que se descompone una dirección de
memoria principal de este sistema.
b) (0.25 puntos) Calcule cuánto tiempo se tardaría en realizar estos accesos a memoria principal si este
computador no tuviera memoria caché.
c) (2 puntos) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria
principal. Explique claramente su razonamiento.
d) (1.25 puntos) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria
principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la UCP
en realizar estos accesos a memoria.

6ROXFLyQ

a) Como se trata de una caché asociativa por conjuntos el formato de dirección de la memoria principal se
divide en tres campos: Etiqueta, Conjunto y Palabra.
Para direccionar las 32k palabras de la memoria principal hacen falta 15 bits (32k = 25 × 210 = 215). 15 bits es,
por tanto, el ancho de una dirección de memoria principal.
Problemas de los exámenes del curso 99/00 7

La memoria caché tendrá (4 bloques/conjunto) × (64 palabras/bloque) = 256 (28) palabras/conjunto. La caché
tendrá, por tanto, un total de (4096 palabras) / (256 palabras/conjunto) = 16 conjuntos.
Así, la caché tendrá 26 palabras/bloque y 24 conjuntos. Por tanto, los campos Conjunto y Palabra tendrán 4 y 6
bits, respectivamente. Esto hace un total de 10 bits, de los 15 de una dirección de memoria principal. Los 5 bits
restantes constituyen el campo Etiqueta.

ETIQUETA CONJUNTO PALABRA

5 4 6

15

Figura 2000-3-3: Formato de dirección de memoria principal

(Nota: Los términos bloque y partición son intercambiables en este problema.)

b) Si el computador no tiene memoria caché todas las palabras se han de leer de la memoria principal. El
tiempo necesario para hacerlo será el tiempo necesario para leer una palabra multiplicado por el numero total de
palabras a las que se accede.
Como las 4352 palabras se leen un total de 10 veces, el número total de palabras que se leen es 4352 × 10. Si el
tiempo necesario para acceder a una palabra de memoria principal es 10τ (frente a τ que sería el tiempo necesario
para acceder a una palabra de caché), el tiempo total es
TP = 4352 × 10 × 10τ = 435200τ.

c) Para resolver esta cuestión conviene distinguir entre la primera lectura del bucle y las nueve restantes:
Primera lectura:
Corresponde a la primera lectura secuencial de las palabras 0 a 4351. Se considera que la caché está
inicialmente vacía. Dado que el tamaño de la memoria caché es de 4096 palabras y el número de palabras a las que
se accede es de 4352, es claro que la caché no puede almacenar simultáneamente todas estas palabras.
Como se ha visto en a), la caché está organizada en 16 conjuntos de 4 particiones por conjunto, lo que hace un
total de 64 particiones. Cada una de estas particiones tiene 64 palabras, lo que hace el total de las 4096 palabras de
la caché.
Las 4352 palabras consecutivas que hay que leer corresponden a (4352 palabras) / (64 palabras/partición) =
68 particiones, 4 más que las 64 de la caché.
Cada vez que se produzca un fallo se traerá un bloque completo desde la memoria principal, es decir, 64
palabras.
Se lee la palabra de dirección 0: Como la caché está vacía se producirá un fallo y se traerán las palabras 0 a 63
que, según el formarto de dirección de la memoria principal de la Figura 2000-3-3, corresponden al conjunto 0.
Como las cuatro particiones de este conjunto se encuentran vacías se puede suponer que se almacenarán en la
partición 0 del conjunto 0. La lectura de las palabras 1 a 63 no origina fallos, pues estas palabras ya se encuentran
en la caché.
Se lee la palabra 64: Un nuevo fallo. Se traen las direcciones 64 a 127, que corresponden al conjunto 1, según
el formato de la Figura 2000-3-3. Se supone que se utiliza la partición 0 de este conjunto.
Así, los primeros 16 bloques de la memoria principal irán a la partición 0 de sus respectivos conjuntos. Los 16
bloques siguientes irán a la partición 1 de sus conjuntos. Se suceden las lecturas, hasta haber leído los primeros 64
8 Estructura y Tecnología de Computadores II

(0 a 63) bloques de la caché, es decir, las primeras 4096 (0-4095) palabras: en este momento la caché se llena, pero
quedan todavía 4 bloques por leer.
Dado que la política de reemplazamiento es FIFO, se reemplazarán las particiones de cada conjunto que
lleven más tiempo en la caché. Es este caso, la partición 0 de cada conjunto.
Se lee la palabra 4096: Produce un nuevo fallo. Corresponde nuevamente al conjunto 0, pero éste se
encuentra completo. Hay que reemplazar la partición más antigua de este conjunto, que como se acaba de ver es la
0.
Las palabras 4160, 4224 y 4288 producirán tres fallos más, y corresponden a los conjuntos 1, 2 y 3,
respectivamente. En cada uno de estos conjuntos se reemplaza la partición más antigua, que es la 0 en todos los
casos.
De este modo termina la primera lectura de las direcciones de memoria. El contenido de la caché queda como
se muestra en la Tabla 2000-3-3.
Siguientes lecturas (2ª a 10ª):
Al realizar el segundo ciclo de lecturas a cada dirección le corresponde el mismo conjunto que en la primera
lectura, según el mecanismo de la caché asociativa por conjuntos. El que una palabra produzca un fallo o no
dependerá de si todavía se encuentra en la caché. En la Tabla 2000-3-3 se observa que los conjuntos 4 a 15 no van a
producir fallos, pues su contenido no ha variado. Pero sí va a haber problemas con los conjuntos 0 a 3:
La dirección 0, que correspondía al bloque 0, ya no está en la caché, pues fué sustituído por el bloque 64. La
partición más antigua en esta ocasión es la 1, que contenía el bloque 16 de memoria principal. Luego habrá que
escribir en la partición 1 del conjunto 0, por lo que el bloque 16 es reemplazado por el 0. Cuando más adelante se
lea el bloque 16 éste ya no estará (ha sido reemplazado por el 0) y habrá que hacer un reemplazamiento en la
partición más antigua de este conjunto, que ahora es la 2: el bloque 32 es reemplazado por el 16. Análogamente, el
bloque 32 reemplazará al 48, el 48 al 64 y el 64 al 0. En la segunda lectura se producen 5 fallos en el conjunto 0.
Análogamente, en los conjuntos 1, 2 y 3 se producirán otros 5 fallos en cada una de ellos durante la segunda
lectura. Al finalizar este segundo ciclo de lecturas el contenido de la caché quedará como se muestra en la Tabla
2000-3-4.
La situación en el tercer ciclo es análoga a lo sucedido en el segundo: se producirán 5 fallos en cuatro grupos,
es decir, 20 fallos en total. Lo mismo sucede en los ciclos siguientes.
Cómputo del número total de fallos:
En el primer ciclo de lecturas se producía un fallo en cada uno de los 68 bloques a leer: 68 fallos en total. En
los 9 ciclos siguientes, 20 fallos en cada uno de ellos. Luego
Nfallos = 68 + 9 × 20 = 248

d) El tiempo total será la suma del tiempo de acceso a la memoria caché más el tiempo de acceso a la
memoria principal.
Obsérvese que en caso de fallo, y según indica el enunciado, primero se escribe la palabra en caché y luego se
envía a la UCP desde la caché. Luego en definitiva todas las palabras se han de leer desde la memoria caché, tanto
si producen fallo como no:
Problemas de los exámenes del curso 99/00 9

Contenido particiones
Conjunto
(nº bloque)

64
16
0
32
48

65
17
1
33
49

66
18
2
34
50

67
19
3
35
51

4
20
4
36
52

. .
. .
. .

15
31
15
47
63

Tabla 2000-3-3: Contenido de la memoria caché después del primer ciclo de lecturas
10 Estructura y Tecnología de Computadores II

Contenido particiones
Conjunto
(nº bloque)

48
64
0
16
32

49
65
1
17
33

50
66
2
18
34

51
67
3
19
35

4
20
4
36
52

. .
. .
. .

15
31
15
47
63

Tabla 2000-3-4: Contenido de la memoria caché después del segundo ciclo de lecturas
Problemas de los exámenes del curso 99/00 11

TC = (Nº de palabras desde caché) × (Tiempo de acceso a caché) = (4352 × 10) × τ = 43520τ
Cada vez que se produce un fallo se traen 64 palabras (un bloque) desde la memoria principal:
TP = (Nº de palabras desde memoria principal) × (Tiempo de acceso a memoria principal) =
= (Nº de fallos × Tamaño bloque) × (Tiempo de acceso a memoria principal) =
= (248 × 64) × 10τ = 158720τ
El tiempo total es
T = TC + TP = 43520τ + 158720τ = 202240τ

1RWD

Este problema es muy parecido al problema 2-7 del texto básico de problemas. Aunque parecido, presenta dos
diferencias:
• El enunciado del libro indica una política de reemplazamiento LRU y el del problema de este examen,
FIFO. Para este caso particular da la casualidad que la partición referenciada hace más tiempo (LRU)
coincide con la partición que lleva más tiempo almacenada en su conjunto de la caché (FIFO). Por tanto,
únicamente para este caso, a efectos de gestión de la caché LRU y FIFO se comportan de igual manera.
• A la hora de resolver el problema en el libro, y puesto que en el enunciado no se indicaba nada al respecto,
se supuso que cada vez que se transfiere un bloque desde la memoria principal la palabra que origina el fallo
se envía directamente a la UCP, sin necesidad de ser leída desde la memoria caché.
En el enunciado del problema del examen se indica explícitamente que cada vez que se produce un fallo
primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la
caché.
Esta diferencia hace que los tiempos sean diferentes en cada problema. Así es, pues mientras en el problema
del examen todas las palabras se han de leer desde la caché, en el problema del libro la palabra que originó el
fallo llega a la UCP sin pasar por la caché y por tanto TC es menor.
El Equipo Docente ha observado que muchos alumnos han copiado la solución del libro sin darse cuenta de la
diferencia entre ambos problemas. El enunciado del examen no se presta a confusión y deja muy claro la
política a seguir en caso de fallo. Por este motivo no se ha podido dar, ni se dará, por buena la solución de
aquellos alumnos que, sin darse cuenta de la diferencia, se han limitado a copiar el problema del libro. La
puntuación de estos alumnos en ese apartado es 0.0.
Análogamente, tampoco se da por buena la solución de los alumnos que han copiado del libro únicamente el
resultado numérico de los apartados, sin justificar cómo se llega a ese resultado. En este caso la puntuación del
apartado correspondiente es 0.0.
2001 Junio

7HVW   6HPDQD 

1.- Un computador usa el formato vertical de codificación de instrucciones para parte de las señales de control y el
formato horizontal para k señales de control. El formato vertical posee n campos codificados de m bits cada uno.
¿Cuál es el máximo número de señales de control que pueden usarse en este computador?
A) k + n×2m. B) k + nm. C) k + n×(2m-1). D) Ninguna de las anteriores.
2.- En una memoria caché en la que se realizan 220 accesos se producen 217 fallos. La tasa de fallos
correspondiente es:
A) 87.5%. B) 12.5 %. C) Faltan datos para calcularla. D) Ninguna de las anteriores.
3.- Se considera un procesador que dispone de 12 líneas de direcciones A11-A0. Para la construcción de su unidad
de memoria se dispone de módulos de 2K palabras, utilizándose la línea A1 para la selección de cada módulo (A0 es
la línea menos significativa). Indique cuál de las siguientes afirmaciones es verdadera:
A) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en el mismo módulo de memoria.
B) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes módulos de memoria.
C) El módulo en que se encuentra almacenada una dirección de memoria queda determinado por el valor de
A10.
D) Ninguna de las anteriores es verdadera.
4.- Se desea diseñar con memoria ROM una Unidad de Control con 200 estados, que genere 37 señales de control
totalmente independientes, y que reciba 9 señales de condición pero en cada estado va a ser consultada como
máximo una de ellas. Utilizando en el diseño un multiplexor con selección por campo haría falta un multiplexor
con:
A) 3 entradas de selección. B) 4 entradas de datos. C) 16 entradas de datos. D) Ninguna de la anteriores.

1
2 Estructura y Tecnología de Computadores II

5.- En un sistema de E/S de un computador están conectados 2 discos duros, 1 impresora y 1 CDROM. El sistema
de E/S gestiona los dispositivos mediante interrupciones anidables y además estos están agrupados por
prioridades con P1>P2>P3, siendo la prioridad de los discos P1, la del CDROM P2 y la de la impresora P3. Se
sabe además que las rutinas de interrupción llevan asociados unos tiempos de servicio, siendo éstos para los discos
de 10 u.t. (unidades de tiempo), para el CDROM de 30 u.t. y para la impresora de 15 u.t. En un instante
determinado (t=0 u.t.) se produce una petición de interrupción del primer disco duro, después en el instante t=3 u.t.
llega una petición de interrupción de la impresora, posteriormente se produce una interrupción del CDROM en t =
5 u.t. y finalmente llega una petición de interrupción del segundo disco duro en t = 14 u.t. ¿En qué instante de
tiempo finaliza la ejecución de la rutina de interrupción del CDROM?
A) 30 u.t. B) 45 u.t. C) 50 u.t. D) Ninguna de las anteriores
6.- Se desea diseñar un circuito con dos entradas X (x7x6x5x4x3x2x1x0) e Y (y7y6y5y4y3y2y1y0) y una salida R
(r7r6r5r4r3r2r1r0), todas de ocho bits, que sea capaz de:
‡ Comparar X e Y generando tres señales de salida r7 (1 si X>Y, 0 en caso contrario), r6 (1 si X=Y, 0 en caso
contrario) y r5 (1 si X<Y, 0 en caso contrario).
‡ Realizar cuatro operaciones de desplazamiento sobre X empleando dos entradas adicionales llamadas ed
(entrada por la derecha) y eI (entrada por la izquierda). El resultado de la operación es el número R de ocho
bits.
Para ello se desea usar una señal de control C que seleccione el tipo de operación (comparación o desplazamiento)
y dos señales más d1d0 para indicar el tipo de operación de desplazamiento. Decir cuál de estas afirmaciones es
verdadera.
I. Se puede realizar usando 2 módulos de memoria ROM de 64 Kpalabras × 8 bits y una puerta lógica NOT.
II. Se puede realizar usando 1 módulo de memoria ROM de 1 Mpalabras × 8 bits.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- Indique si las siguientes afirmaciones son verdaderas.
I. El controlador de DMA necesita tener el control del Bus para poder transmitir datos desde (o hacia) la
memoria.
II. La estrategia de transmisión por ráfagas es la más adecuada cuando se desea eliminar completamente la
interferencia entre el controlador de DMA y la CPU.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Indique si las siguientes afirmaciones son verdaderas.
I. Un SBC (Sumador Binario Completo) se puede realizar utilizando 2 SSB (Semisumador Binario)
conectados en cascada y una puerta lógica OR.
II. El circuito obtenido en la otra afirmación es más lento que si se sintetiza el SBC como un circuito
combinacional de dos niveles de puertas AND-OR.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

6ROXFLyQ

1.- El formato de instrucciones propuesto tiene una estructura mixta, parte codificado en formato horizontal y
parte en formato vertical. El máximo número de señales de control que pueden usarse será la suma del número
Problemas de los exámenes del curso 2000/2001 3

máximo de señales de control que puedan codificarse en cada uno de los dos formatos.
‡ En el enunciado se menciona directamente que la parte de la instrucción en formato horizontal gobierna k
señales de control.

‡ Cada campo codificado en formato vertical tiene m bits con los que es capaz de codificar 2m-1 señales de
control (recordemos que hay que reservar una combinación para el caso no querer activar ninguna señal de
control). Al haber n campos de este tipo, sería posible gobernar n×(2m-1) señales de control.
El resultado final es la suma de las dos cantidades: k + n×(2m-1)
Respuesta correcta: C (k + n×(2m-1)).
2.- El cálculo de la tasa de fallos viene dada por la siguiente expresión:
Número de fallos 2 17
- × 100 = 2 –3 × 100 = 0.125 × 100 = 12.5 %
Tasa de fallos = ------------------------------------------------- × 100 = ------
Números de accesos 2 20
Respuesta correcta: B (12.5 %).
3.- Este sistema de memoria tiene una capacidad de 212 palabras = 4K palabras y, por tanto, estará construido con
2 módulos de 2K palabras. Según el enunciado, la línea A1 es la utilizada para la selección del módulo (la opción C
es falsa), por lo que para saber si las dos direcciones propuestas están en el mismo módulo simplemente hay que
ver qué valor tiene ese bit en cada una de ellas:
C89: 1100 1000 1001
C8A: 1100 1000 1010
Al ser distinto, estarán almacenadas en diferentes módulos.
Respuesta correcta: B (Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes
módulos de memoria.).
4.- En este diseño el multiplexor tiene que seleccionar una de las 9 señales de condición posibles, para lo que
necesita 4 entradas de selección (24 = 16 > 9 > 23 = 8) y, por tanto, la opción A es falsa. Un multiplexor de 16
entradas de datos sí podría utilizarse para este diseño de Unidad de Control, aunque habría 7 de estas entradas sin
utilizar.
Respuesta correcta: C (16 entradas de datos)
5.- Para resolver este ejercicio podríamos dibujar un cronograma que indicara la rutina de interrupción que se
ejecuta en cada instante, pero no va a ser necesario. Durante la ejecución de la rutina de interrupción del primer
disco (10 u.t.) se producen las peticiones del CDROM y de la impresora, que al ser menos prioritarias no son
atendidas inmediatamente. Cuando acaba la ejecución de la rutina de servicio del primer disco, comienza la
ejecución de la rutina de servicio del CDROM (30 u.t.) pero, antes de que acabe, se produce una petición de
interrupción del otro disco con mayor prioridad y que es inmediatamente atendida. Como ya no hay más peticiones
de interrupción, es evidente que la rutina de interrupción del CDROM reanudará su ejecución cuando se acabe de
atender el segundo disco. Cuando finalice la ejecución de esta última se habrá ejecutado 2 veces la rutina de
interrupción de los discos y 1 vez la del CDROM, por lo que habrán transcurrido: 2 × 10 u.t. + 30 u.t. = 50 u.t.
Respuesta correcta: C (50 u.t.)
6.- Si se hace directamente este ejercicio calculando el tamaño de la memoria ROM necesaria a partir del número
de entradas y salidas del circuito, y aplicando la expresión (2núm. entradas × núm. salidas), se llega a resultados
erróneos.
4 Estructura y Tecnología de Computadores II

‡ Entradas: X(8), Y(8), ed(1), ei(1), C(1), d1do(2). Total 21 entradas


‡ Salidas: R(8). Total 8 salidas
Por tanto parece que sería necesaria una memoria ROM de 221 palabras × 8 bits y, evidentemente, los
tamaños propuestos en las dos afirmaciones son insuficientes.
Pero si se lee atentamente el enunciado se observa que se trata de dos circuitos independientes, por un lado un
comparador y por otro un desplazador. Tratándolos de forma separada, se puede hacer el diseño con las memorias
ROM propuestas en la primera afirmación:
‡ Comparador: Tiene 16 entradas (X(8) e Y(8)) y 3 salidas (r7r6r5). Con una memoria ROM de 216 palabras
× 3 bits se podría implementar, tamaño compatible con el propuesto en los módulos de la primera afirmación.
‡ Desplazador. Tiene 12 entradas (X(8), ed(1), ei(1), d1do(2)) y 8 salidas (R(8)). Con una memoria ROM de
212 palabras × 8 bits se podría implementar, tamaño también compatible con el propuesto en los módulos de
la primera afirmación.
El inversor se va a utilizar, junto con la señal de control C(1), para habilitar uno de los dos módulos de
memoria. El diseño que haría cierta la primera afirmación se muestra en la Figura 1.

H
8
Y
ROM

8 216×8
X

1
C

e 1
ROM
d
8
e 1 R
i
216×8
1
d
1
1
d
0

Figura 1: Conexión para la primera afirmación de la pregunta 6.

Respuesta correcta: B (I: sí, II: no.)


7.- Las dos afirmaciones hacen referencia a la técnica de DMA.
Afirmación I: Cierta. Ver la página 172 de la primera edición del texto base de teoría o la página 166 de su
segunda edición.
Afirmación II: Falsa. La técnica de transferencia por ráfagas mantiene inactiva a la UCP durante periodos
Problemas de los exámenes del curso 2000/2001 5

relativamente grandes. Ver la página 173 de la primera edición del texto base de teoría o la página 166 de su
segunda edición.
Respuesta correcta: B (I: sí, II: no.)
8.- Las dos afirmaciones hacen referencia al diseño de Sumadores Binarios Completos (SBC).
Afirmación I: Cierta. Ver la página 196 de la primera edición del texto base de teoría o la página 186 de su
segunda edición.
Afirmación II: Cierta. Ver la página 196 de la primera edición del texto base de teoría o la página 186 de su
segunda edición.
Respuesta correcta: A (I: sí, II: sí.)

&XHVWLRQHV WHyULFRSUiFWLFDV   6HPDQD 

1.- Explicar el resultado de la pregunta 1 del test.


2.- Explicar el resultado de la pregunta 2 del test.
3.- Explicar el resultado de la pregunta 3 del test.

6ROXFLyQ

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

3UREOHPD   6HPDQD 

Un computador tiene una memoria principal de 64k palabras de 16 bits/palabra. También tiene una memoria caché
totalmente asociativa de 2k palabras y 256 palabras por bloque.
Considérese que la memoria caché está inicialmente vacía y que, cuando la caché está llena, se reemplaza el bloque
que se haya utilizado más recientemente. Supóngase que la UCP ejecuta un bucle 5 veces, en el que accede a 2301
palabras, desde la dirección 0 hasta la dirección 2300. La memoria caché es 7 veces más veloz que la memoria
principal. Se pide:
A) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de memoria
principal de este sistema.
B) (0.25 puntos) Calcule cuánto tiempo se tardaría en realizar estos accesos a memoria principal si este
computador no tuviera memoria caché.
C) (1.5 puntos) Realice una tabla con 5 columnas, una columna por cada vez que se ejecuta el bucle, y tantas
filas como bloques tenga la memoria caché. En cada columna ponga el valor de la etiqueta existente en cada
bloque de la caché al finalizar cada uno de los cinco ciclos. Expresar el valor de la etiqueta en hexadecimal.
D) (1.00 puntos) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria
principal. Explique claramente su razonamiento.
6 Estructura y Tecnología de Computadores II

E) (1.00 puntos) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria
principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la UCP en
realizar estos accesos a memoria.

6ROXFLyQ

a) En primer lugar se calcula el número de bits necesarios para direccionar una palabra de memoria principal:
64k = 26 × 210 = 216. Hacen falta, por tanto, 16 bits.
La caché tiene un total de 2k (211) palabras repartidas en bloques de 256 (28) palabras/bloque. El campo
palabra tiene un tamaño de 8 bits. Por tanto, el campo etiqueta tendrá 16 - 8 = 8 bits.
Resumiendo, la dirección de memoria principal se descompone en dos campos: campo etiqueta de 8 bits y
campo palabra de 8 bits. Para expresar los 16 bits de la dirección en hexadecimal se utilizarían 4 dígitos, los dos
más significativos serían el campo etiqueta y los otros dos serían el campo palabra.
El número de bloques, aunque para este apartado no es necesario, es 2 11 / 28= 23 = 8 bloques.

b) En este problema no se especifica el tiempo de acceso concreto a memoria caché por lo que vamos a
suponer que es τ y, por tanto, el tiempo de acceso a la memoria principal es 7τ.
El tiempo total en realizar los accesos a memoria pedidos sería el número total de accesos a memoria
(5×2301) multiplicado por el tiempo que lleva cada acceso (7τ).
Tiempo de acceso sin memoria caché: 5×2301× 7τ.

c) La memoria caché tiene un tamaño de 2k = 2024 palabras por lo que las 2301 direcciones propuestas no
caben en la memoria caché y habrá que realizar reemplazamientos.
El sistema va a acceder a direcciones desde la 0 a la 2300, y cada vez que se produzca un fallo se cargarán en
memoria caché bloques de 256 palabras. Todas estas direcciones están incluidas en 9 bloques de memoria, y como
la caché tan sólo tiene 8, en cada ciclo habrá que realizar un único reemplazamiento del bloque más recientemente
utilizado.
La Tabla 1 muestra los rangos de direcciones de memoria principal correspondientes a los 9 primeros
bloques, los que intervienen en el problema, con las etiquetas que tendrían al ser cargados en la memoria caché. En
el apartado a) se vio que los 8 bits más significativos de la dirección se corresponden con el campo etiqueta, esto
equivale a decir que los 2 dígitos más significativos en hexadecimal son la etiqueta. Esta tabla no se pide en el
enunciado del problema pero se ha añadido aquí para intentar aclarar la explicación y facilitar la comprensión de la
Tabla 2.

Rango de direcciones Rango de direcciones


Etiqueta en la caché
(Decimal) (Hexadecimal)

0 - 255 0000 - 00FF 00


256 - 511 0100 - 01FF 01
512 - 767 0200 - 02FF 02
Tabla 1: Rango de direcciones y etiqueta correspondiente en la caché
Problemas de los exámenes del curso 2000/2001 7

Rango de direcciones Rango de direcciones


Etiqueta en la caché
(Decimal) (Hexadecimal)

768 - 1023 0300 - 03FF 03


1024 - 1279 0400 - 04FF 04
1280 - 1535 0500 - 05FF 05
1536 - 1791 0600 - 06FF 06
1792 - 2027 0700 - 07FF 07
2048 - 2303 0800 - 08FF 08
Tabla 1: Rango de direcciones y etiqueta correspondiente en la caché

A la hora de explicar qué ocurre cuando se acceden a las direcciones del enunciado del problema, se va
distinguir el primer ciclo del resto de los ciclos, técnica habitual en este tipo de problemas.
‡ Primera ejecución del ciclo. La caché se va llenando con bloques de memoria principal que son copiados
cuando se produce la primera referencia a una dirección del bloque. Por ejemplo, cuando se referencia la
dirección 1536, se mueve de memoria principal a memoria caché el bloque completo que contiene las
direcciones de la 1536 a la 1791. Al utilizar la técnica de correspondencia totalmente asociativa, el bloque
se mueve a cualquiera de las particiones vacías de la caché, en el caso del ejemplo anterior a la partición 6.
El problema se plantea cuando la memoria ya está llena y se referencia la dirección 2048, perteneciente al
bloque con etiqueta 08. La técnica de reemplazamiento propuesta en el problema es: “reemplazar el bloque
que se haya utilizado más recientemente”. En este caso, es el bloque almacenado en la partición 7 y con
etiqueta 07.
Por todo lo visto, al finalizar el primer ciclo, en la caché se encuentran almacenadas todas las direcciones
propuestas excepto las pertenecientes al bloque con etiqueta 07. Ver la primera columna de la Tabla 2.
‡ Segunda ejecución del ciclo. En esta segunda ejecución del ciclo se producen aciertos hasta referenciar la
primera dirección del bloque 07, sustituido en el ciclo anterior. Utilizando la técnica de reemplazamiento
propuesta, el último bloque referenciado es el 06, que es sustituido por el 07. Posteriormente las direcciones
del bloque 08 dan aciertos. La situación se muestra en la segunda columna de la Tabla 2.
‡ Resto de ciclos. Se producen situaciones similares a la del segundo ciclo, con una sustitución en cada uno
de ellos. En las columnas de la tercera a la quinta de la Tabla 2 se muestra el estado de la caché al finalizar
cada ciclo.

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5

Partición 0 00 00 00 00 00

Partición 1 01 01 01 01 01

Partición 2 02 02 02 02 02

Tabla 2: Etiquetas en los bloques de la caché después de la ejecución de cada ciclo


8 Estructura y Tecnología de Computadores II

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5

Partición 3 03 03 03 03 04

Partición 4 04 04 04 05 05

Partición 5 05 05 06 06 06

Partición 6 06 07 07 07 07

Partición 7 08 08 08 08 08

Tabla 2: Etiquetas en los bloques de la caché después de la ejecución de cada ciclo

d) Para contestar este apartado se va a utilizar la Tabla 2 creada en el apartado anterior. Allí se ha visto que la
ejecución del ciclo la primera vez sigue un patrón distinto a la ejecución del ciclo las 4 veces siguientes.
Estudiando por separado ambos casos:
‡ Primera ejecución del ciclo. Se producen un fallo en cada uno de los nueve bloques de los consta el
programa, produciéndose una sustitución del bloque 07 cuando se accede al bloque 08, tal y como se ha
mencionado en el apartado anterior.
‡ Segunda ejecución del ciclo y sucesivas. Se produce un único fallo en cada ciclo.
El número total de fallos será: 9 + 4 = 13 fallos.

e) El enunciado propone los eventos que ocurren cuando sucede un fallo: “primero se mueve el bloque
completo de memoria principal a memoria caché y después se lee el dato de la caché”. Luego para calcular el
tiempo que la UCP tarda en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la
memoria caché y sumarle el tiempo que se emplea en gestionar los fallos.
Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos
Suponiendo que el tiempo que se tarda en acceder una palabra en la memoria caché es τ y el tiempo en
acceder a una palabra en la memoria principal es 7τ, nos queda que:
‡ Tiempo de acceso a la caché = número de accesos × τ = 5 ciclos × 2301 palabras/ciclo × τ.
‡ Tiempo de gestión de fallos = 256 palabras/fallo × 13 fallos × 7τ.
Sumando ambas cantidades, nos queda que la UCP tardaría en ejecutar estos accesos:
Tiempo total = 5 × 2301 × τ + 256 × 13 × 7τ.

7HVW   6HPDQD 

1.- En una memoria caché en la que se realizan 220 accesos se producen 217 fallos. La tasa de aciertos
correspondiente es:
A) 87.5%. B) 12.5 %. C) Faltan datos para calcularla. D) Ninguna de las anteriores.
2.- En un sumador binario de dos números de dos bits, x1x0 e y1y0, respectivamente, donde S1S0 es el resultado de
la suma, C1 es el acarreo de la suma y C-1 es el acarreo de entrada, las expresiones x1 ⊕ y1 ⊕ (x0y0 + (x0 ⊕ y0)C-1)
Problemas de los exámenes del curso 2000/2001 9

y x1y1 + (x1 ⊕ y1)(x0y0 + (x0 ⊕ y0)C-1) corresponden a:


A) S1 y C1, respectivamente.
B) C1 y S1, respectivamente.
C) S1 y S0, respectivamente.
D) Ninguna de las anteriores.
3.- Un computador tiene una unidad de memoria de 8192 Kpalabras y una memoria caché de 2 Kpalabras. La
memoria caché utiliza correspondencia asociativa por conjuntos, con un tamaño de partición de 64 palabras y 4
particiones por conjunto. Suponer que inicialmente la memoria caché está llena con la ejecución de un programa
anterior Prog1 y se carga en memoria principal un nuevo programa Prog2. Prog2 efectúa la siguiente secuencia de
referencias en la ejecución de su código: se leen secuencialmente las direcciones 128, 129, 130 hasta la 143,
posteriormente se repite un bucle de lectura de las direcciones 131,132 y 133 20 veces y finalmente se leen
secuencialmente las direcciones 134, 135, 136 hasta la 168. ¿Cuál es la tasa de aciertos obtenida para Prog2?
A) 87%. B) 13 %. C) 99%. D) Ninguna de las anteriores.
4.- Indique si las siguientes afirmaciones son verdaderas.
I. En los computadores provistos de procesador de E/S (PE/S) las instrucciones se E/S se almacenan en la
memoria principal y son ejecutadas por la CPU.
II. El PE/S inicia la transferencia de E/S al dar la orden a la CPU para que ejecute el programa con
instrucciones de E/S almacenado en memoria.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas.
I. La complejidad de un sumador binario serie crece con el número de bits que hay que sumar.
II. Utilizando un sumador binario serie, el tiempo de cálculo crece linealmente con el número de bits que hay
que sumar.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- En una Unidad de Control microprogramada con formato de microinstrucciones vertical, un subcampo que
deba especificar 16 señales de control habrá de tener una anchura mínima de:
A) 4 bits.
B) 5 bits.
C) 16 bits.
D) Ninguna de las anteriores.
7.- En el registro de estado del procesador Motorola 68000 hay tres bits (I2 I1 I0) usados para enmascarar las
interrupciones de ciertos dispositivos. ¿Cuál es la configuración de estos bits si se desean enmascarar las
interrupciones de nivel 7?
A) 111. B) 000. C) 001. D) Ninguna de las anteriores.
8.- Indique si las siguientes afirmaciones son verdaderas.
I. Una transferencia de datos en un bus que utiliza la técnica de multiplexación en el tiempo de direcciones y
datos se realiza de la forma siguiente: se coloca la dirección en el Bus de Direcciones y se mantiene
mientras el dato se sitúa en el Bus de Datos.
II. Cuando las salidas de varias puertas triestado se encuentran conectadas a una misma línea de un bus, sólo
una de ellas puede estar en estado de alta impedancia.
10 Estructura y Tecnología de Computadores II

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

6ROXFLyQ

1.- La tasa de aciertos viene dada por la expresión:

T. Aciertos = ------------------------------------------------------------------ × 100 =  1 – --------------------------------- × 100 = 87.5 %


Núm. accesos - Num. fallos Num. fallos
Núm. accesos  Núm. accesos
Respuesta correcta: A (87.5 %)
2.- Recordando las expresiones de un SBC:

‡ Resultado de la suma: S i = x i ⊕ y i ⊕ C i – 1

‡ Acarreo de la suma: C i = x i y i + ( x i ⊕ y i )C i – 1
Se puede observar directamente que en las dos expresiones propuestas aparece, entre paréntesis, el
acarreo de la suma de x0 e y0: C 0 = x 0 y 0 + ( x 0 ⊕ y 0 )C –1 . Haciendo la correspondiente sustitución en las dos
expresiones propuestas, nos queda que:

‡ x 1 ⊕ y 1 ⊕ ( x 0 y 0 + ( x 0 ⊕ y 0 )C –1 ) = x 1 ⊕ y 1 ⊕ C 0 = S 1

‡ x 1 y 1 + ( x 1 ⊕ y 1 ) ( x 0 y 0 + ( x 0 ⊕ y 0 )C –1 ) = x 1 y 1 + ( x 1 ⊕ y 1 )C 0 = C 1
Respuesta correcta: A (S1 y C1, respectivamente).
3.- En la memoria caché se almacena una copia de parte del contenido de la memoria principal del sistema.
Cuando se carga en memoria principal Prog2, en la memoria caché no hay ninguna copia del código de este
nuevo programa por lo que la primera referencia a su código necesariamente va a producir un fallo en la
memoria caché.
La memoria principal tiene un tamaño de 8192 Kpalabras = 223 palabras, por lo que las direcciones tienen una
longitud de 23 bits. Por otro lado, tiene particiones de 64 palabras y conjuntos con 4 particiones, por lo que cada
conjunto tendrá un tamaño de 64 × 4 = 256 palabras. Como la caché tiene un tamaño total de 2 Kpalabras, habrá un
total de 2048 / 256 = 8 conjuntos. Por tanto, una dirección de memoria principal estará descompuesta en los
siguientes campos:
‡ Palabra: 6 bits (26 = 64 palabras por partición).
‡ Conjunto: 3 bits (23 = 8 conjuntos).
‡ Etiqueta: 23 - 6 - 3 = 14 bits.
Como ya se ha mencionado, el tamaño de partición de la memoria caché es de 64 palabras. Estudiemos los
rangos de direcciones de memoria que se corresponden con los primeros bloques:
‡ Bloque 0: direcciones de la 0 a la 63. Van al conjunto 0 de la caché.
‡ Bloque 1: direcciones de la 64 a la 127. Van al conjunto 1 de la caché.
‡ Bloque 2: direcciones de la 128 a la 191. Van al conjunto 2 de la caché.
‡ Etc.
Problemas de los exámenes del curso 2000/2001 11

Vemos que todos los accesos propuestos en el enunciado de la pregunta son al mismo bloque, el bloque 2, por lo
que únicamente habrá un fallo en el primero de los accesos y el resto producirán aciertos. Después de este primer
acceso se copiará todo el bloque, de la dirección 128 a la 191, de memoria principal en una de las cuatro particiones
del conjunto 2 de la memoria caché. En este problema no influye el posible algoritmo de reemplazamiento de la
memoria caché, simplemete interesa saber que el bloque se copia en una de las particiones, vacía o llena, de la
memoria caché.
Ahora sólo queda contabilizar el número total de accesos a memoria:
‡ Direcciones de memoria de la 128 a la 143. Total 16 accesos.
‡ Direcciones de memoria de la 131 a la 133. 3 accesos por cada uno de los 20 ciclos. Total 60 accesos.
‡ Direcciones de memoria de la 134 a la 168. Total 35 accesos.
Sumando todas estas cantidades, el número total de accesos es de: 16 + 60 + 35 = 111 accesos. De estos 111
accesos habrá un fallo en el primero de ellos, como se comentó antes, y aciertos en los 110 restantes. Con estos
datos la tasa de aciertos pedida es:
Núm. aciertos 110
Tasa de aciertos = --------------------------------- × 100 = --------- × 100 = 99%
Núm. accesos 111
Respuesta correcta: C (99%)
4.- En los computadores que incluyen PE/S, la UCP no ejecuta instrucciones de E/S, éstas se almacenan en
memoria principal para ser ejecutadas por un PE/S. Ver la página 180 de la primera edición del texto base de teoría
o la página 171 de su segunda edición.
Afirmación I: Falsa.
Afirmación II: Falsa.
Respuesta correcta: D ( I: no, II: no.)
5.- En un sumador binario serie la complejidad del circuito es independiente del número n de bits que hay que
sumar, pero no sucede lo mismo con el tiempo de cálculo que crece linealmente con n. Ver la página 198 de la
primera edición del texto base de teoría o la página 188 de su segunda edición.
Afirmación I: Falsa.
Afirmación II: Cierta.
Respuesta correcta: C ( I: no, II: sí.)
6.- Un subcampo codificado de j bits puede especificar a lo sumo 2j-1 señales de control. Para gobernar 16 señales
de control no es suficiente con 4 bits ya que 24-1 = 15 < 16, pero si son suficientes 5 bits: 25-1 = 31
Respuesta correcta: B( 5 bits)
7.- En el procesador Motorola 68000, las peticiones de interrupción de nivel 7 (IPL=7) se atienden siempre, se
trata de interrupciones no enmascarables. Ver la página 168 de la primera edición del texto base de teoría o la
página 162 de su segunda edición.
Respuesta correcta: D( Ninguna de las anteriores)
8.- Ambas afirmaciones hacen referencia al bus.
Afirmación I: Falsa. La multiplexación en el tiempo consiste en utilizar las mismas líneas para con objetivos
diferentes (ver la página 34 de la primera edición del texto base de teoría o la página 26 de su segunda edición). No
tiene sentido hablar de multiplexación en el tiempo de direcciones y datos cuando se utilizan buses separados para
ambos tipos de información.
12 Estructura y Tecnología de Computadores II

Afirmación II. Falso. Es justamente al revés. Ver la página 40 de la primera edición del texto base de teoría o
la página 34 de su segunda edición.
Respuesta correcta: D ( I: no, II: no.)

&XHVWLRQHV WHyULFRSUiFWLFDV   6HPDQD 

1.- Explicar el resultado de la pregunta 1 del test.


2.- Explicar el resultado de la pregunta 2 del test.
3.- Explicar el resultado de la pregunta 3 del test.

6ROXFLyQ

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

3UREOHPD   6HPDQD 

Se dispone de una UCP con una única línea de petición de interrupción (INTR) y una única línea de aceptación de
interrupción (INTA). Se desea diseñar para esta UCP un controlador de interrupciones como el mostrado en la
figura, de manera que pueda atender interrupciones generadas por 8 dispositivos externos mediante las líneas de
petición de interrupción INTR7, INTR6, ..., INTR1 e INTR0.
Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más
prioritaria (la máxima prioridad la tiene INTR7 y la mínima INTR0). Este controlador no permite
enmascaramiento.
Cuando la UCP activa su línea de aceptación INTA se debe informar al periférico correspondiente, de manera
individual, de que su petición ha sido aceptada, mediante las líneas de aceptación INTA7, INTA6, ..., INTA1 e
INTA0.
A) (1.00 puntos) Obtener la tabla de verdad de las 8 líneas INTAi (i=0..7) en función de las 8 líneas INTRi
(i=0..7) e INTA.
B) (1.00 puntos) Diseñar un circuito lógico que implemente el esquema de prioridades de las 8 líneas INTRi
(i=0..7).
C) (0.75 puntos) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados
obtenidos en los apartados anteriores.
D) (1.25 puntos) Indique razonadamente cómo conectaría 2 controladores de interrupciones de 8 entradas,
como el diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 15
dispositivos externos. (Se valorará positivamente la simplicidad del diseño.)
Problemas de los exámenes del curso 2000/2001 13

INTR0
INTR
INTR1 Controlador
de
interrupciones UCP
INTR7
INTA

INTA0
INTA1

INTA7

6ROXFLyQ

a) La tabla de verdad solicitada se muestra en la Tabla 3, donde se puede observar el comportamiento


solicitado:
‡ Si INTA = 0, no se activa ninguna de las líneas de aceptación, aunque haya peticiones pendientes.
‡ Si INTA = 1, se activa la línea de aceptación de la petición INTRi más prioritaria.

ENTRADAS SALIDAS

INTA INTR7 INTR6 INTR5 INTR4 INTR3 INTR2 INTR1 INTR0 INTA7 INTA6 INTA5 INTA4 INTA3 INTA2 INTA1 INTA0

0 X X X X X X X X 0 0 0 0 0 0 0 0

1 1 X X X X X X X 1 0 0 0 0 0 0 0

1 0 1 X X X X X X 0 1 0 0 0 0 0 0

1 0 0 1 X X X X X 0 0 1 0 0 0 0 0

1 0 0 0 1 X X X X 0 0 0 1 0 0 0 0

1 0 0 0 0 1 X X X 0 0 0 0 1 0 0 0

1 0 0 0 0 0 1 X X 0 0 0 0 0 1 0 0

1 0 0 0 0 0 0 1 X 0 0 0 0 0 0 1 0

1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Tabla 3: Tabla de verdad de INTAi (X representa 1 ó 0, indistintamente)

b) En este apartado hay que seleccionar, a partir de las líneas INTRi la petición más prioritaria. Una posible
solución consiste en utilizar un codificador de prioridad seguido de un decodificador. En la Figura 2 se muestra el
diseño propuesto, donde se puede observar que tanto el codificador de prioridad como el decodificador tienen sus
14 Estructura y Tecnología de Computadores II

entradas de habilitación H activadas.

INTR
1 1

H A H
INTR7 7 7 I7
2 2
INTR6 6 6 I6

INTR5 5 5 I5
Codificador de
prioridad Decodificador
INTR4 4 4 I4
1 1
INTR3 3 3 I3

INTR2 2 2 I2

INTR1 1 1 I1
0 0
INTR0 0 0 I0

Figura 2: Mecanismo de gestión de prioridades

El codificador de prioridad genera la codificación binaria de la línea INTRi más prioritaria. A partir de aquí,
por medio del decodificador se consigue que únicamente se active la línea Ii, y que las restantes salidas Ij, menos
prioritarias, se encuentren a cero, independientemente de cómo se encuentren las correspondientes líneas INTR j.
Esto se recoge en la Tabla 4.

INTR7 INTR6 INTR5 INTR4 INTR3 INTR2 INTR1 INTR0 INTR I7 I6 I5 I4 I3 I2 I1 I0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 X X X X X X X 1 1 0 0 0 0 0 0 0

0 1 X X X X X X 1 0 1 0 0 0 0 0 0

0 0 1 X X X X X 1 0 0 1 0 0 0 0 0

0 0 0 1 X X X X 1 0 0 0 1 0 0 0 0

0 0 0 0 1 X X X 1 0 0 0 0 1 0 0 0

0 0 0 0 0 1 X X 1 0 0 0 0 0 1 0 0

Tabla 4: Tabla de verdad del mecanismo de gestión de prioridades (X representa 1 ó 0, indistintamente)


Problemas de los exámenes del curso 2000/2001 15

INTR7 INTR6 INTR5 INTR4 INTR3 INTR2 INTR1 INTR0 INTR I7 I6 I5 I4 I3 I2 I1 I0

0 0 0 0 0 0 1 X 1 0 0 0 0 0 0 1 0

0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1

Tabla 4: Tabla de verdad del mecanismo de gestión de prioridades (X representa 1 ó 0, indistintamente)

Cuando alguna de las líneas INTRi esté a 1 significa que hay alguna petición de interrupción activa y que, por
tanto, hay que activar la línea INTR conectada a la UCP para transmitir la petición. Para esto se utiliza la salida A
del codificador de prioridad que se activa cuando alguna de sus entradas está a 1. El comportamiento de esta línea
se puede ver también en la Tabla 4.

c) Cuando la UCP concede la interrupción activa su única línea INTA. El controlador de interrupciones tiene
que activar en ese instante la línea de aceptación INTAi correspondiente al dispositivo más prioritario que tenga
pendiente una petición. Esta información se generó en el apartado anterior mediante las salidas Ii. Entonces, para
generar las funciones lógicas de las ocho INTAi que tiene el controlador de interrupciones que se está diseñando,
basta con hacer la Y-lógica entre cada Ii y la línea INTA de aceptación generada por la UCP (ver Figura 3).

INTA7
I7
INTA6
I6
INTA5
I5
INTA4
I4
INTA3
I3
INTA2
I2
INTA1
I1
INTA0
I0
INTA

Figura 3: Generación de las señales de aceptación INTAi

Para construir ahora el controlador de interrupciones solicitado tan solo hay que encadenar los módulos
implementados en el apartado B (ver Figura 2) con el de la Figura 3, tal y como muestra la Figura 4.
16 Estructura y Tecnología de Computadores II

INTR

7 I7
INTR7
6 I6 INTA
INTR6
5 I5
INTR5 UCP
4 Módulo de I4 Módulo de
INTR4 gestión de aceptación
3 prioridades I3 (Figura 3)
INTR3
(Figura 2)
2 I2
INTR2
1 I1
INTR1
0 I0
INTR0

7 6 5 4 3 2 1 0 Controlador de
Interrupciones
INTA7
INTA6
INTA5
INTA4
INTA3
INTA2
INTA1
INTA0

Figura 4: Controlador de interrupciones solicitado en el problema

Otra posible solución consiste en conectar la salida INTA de la UCP a la entrada de habilitación H del
decodificador de la Figura 2 de la página 14. De esta manera, las salidas del decodificador son ahora las señales
INTAi, tal como se muestra en la Figura 5.
Problemas de los exámenes del curso 2000/2001 17

INTR
1 INTA

H A H
INTR7 7 7 INTA7
2 2
INTR6 6 6 INTA6

INTR5 5 5 INTA5
Codificador de
prioridad Decodificador
INTR4 4 4 INTA4
1 1
INTR3 3 3 INTA3

INTR2 2 2 INTA2

INTR1 1 1 INTA1
0 0
INTR0 0 0 INTA0

Figura 5: Diseño alternativo

INTR INTA
INTR7 7 7 INTA7

INTR6 6 6 INTA6

INTR5 5 5 INTA5
C o ntrolador
INTR4 4 de 4 INTA4
Interrupciones
INTR3 3 3 INTA3

INTR2 2 2 INTA2

INTR1 1 1 INTA1

INTR0 0 0 INTA0

Figura 6: Representación del módulo controlador de interrupciones

d) En este apartado se va a representar el controlador de interrupciones como el módulo representado en la


Figura 6. La forma de conectar dos de estos módulos para poder atender las peticiones de 15 dispositivos externos
se muestra en la Figura 7. Denominando CI1 al controlador de interrupciones 1 y CI2 al controlador de
interrupciones 2, el diseño tiene las siguientes características:
‡ Es capaz de atender peticiones de 15 dispositivos, tal y como requiere el enunciado del problema.
18 Estructura y Tecnología de Computadores II

‡ La salida de petición de interrupción INTR del CI2 se ha conectado con la entrada INTR0 del CI1, y la salida
de aceptación INTA0 del CI1 se ha conectado con la entrada INTA del CI2. De esta forma, las peticiones
INTR7 a INTR0, solicitadas al CI2, sólo se atenderán cuando no haya peticiones activas en las líneas INTR8
a INTR14. Por tanto, la línea más prioritaria es la INTR14 y la menos prioritaria es la INTR0.
De esta manera se pueden encadenar tantos controladores de interrupciones como sean necesarios para
atender a cualquier número arbitrario de peticiones.

UCP

INTR INTA

INTR INTA
INTR14 7 INTA14
7
INTR13 6 INTA13
6
INTR12 5 5 INTA12
C on trolador
INTR11 4 de 4 INTA11
INTR10 Interrupciones
3 3 INTA10
INTR9 2 1 2 INTA9
INTR8 1 1 INTA8
0 0

INTR INTA
INTR7 7 7 INTA7
INTR6 6 6 INTA6
INTR5 5 5 INTA5
C o ntrolador
INTR4 4 de 4 INTA4
Interrupciones
INTR3 3 3 INTA3

INTR2 2 2 2 INTA2

INTR1 1 1 INTA1

INTR0 0 0 INTA0

Figura 7: Controlador de interrupciones de 15 entradas

Nota importante:
A la hora de corregir este problema, el equipo docente de la asignatura se ha encontrado con bastante
Problemas de los exámenes del curso 2000/2001 19

frecuencia con el circuito que se muestra en la Figura 8. Se trata de una propuesta para el mecanismo de gestión de
prioridades y generación de las señales de aceptación. Veamos por qué no funciona:
En la Figura 8 se ha representado una situación hipotética en la que están activas simultáneamente las
peticiones INTR7, INTR6 e INTR5, y la UCP ha concedido la interrupción mediante la activación de la línea de
concesión INTA. Al ser la más prioritaria, la petición 7 debe ser atendida; efectivamente, el circuito propuesto
genera INTA7 = 1, lo que es correcto. La petición 6, al tener menor prioridad, no debe ser atendida: INTA6 = 0,
correcto. Pero INTA5 es 1, cuando debería ser 0. El circuito está concediendo la interrupción simultáneamente a
dos dispositivos diferentes, lo que es una situación errónea que puede ocasionar graves conflictos en el
funcionamiento del computador.
Es fácil encontrar otras muchas situaciones en las que este dispositivo concede la interrución a varios
dispositivos simultáneamente. Se trata, por tanto, de una propuesta de solución no válida.

1
INTA7
INTR7 1

0
INTA6
INTR6 1

1
INTA5
INTR5 1

INTA0
INTR0

INTA

Figura 8: Circuito que no gestiona correctamente el esquema de prioridades


2001 Septiembre

7HVW  6HSWLHPEUH

1.- En un sistema cuando la UCP dispone en exclusiva del bus las instrucciones emplean 3 ciclos de reloj en ser
ejecutadas, aunque en 1 de ellos, el segundo, no requiere el acceso al bus. Si el controlador de DMA tarda dos
ciclos de reloj consecutivos en transmitir una palabra, decir si las siguientes afirmaciones son ciertas:
I. I. Se puede implementar la estrategia de DMA por ráfagas.
I. II. Se puede implementar la estrategia de DMA transparente.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Decir cuál es el retardo que se obtiene al calcular la suma de dos números de 4 bits cada uno:
I. I. Si el sumador se ha implementado usando lógica combinacional con 2 niveles y cada puerta tarda 5 µs en
generar el resultado, el retardo es de 20 µs.
II. II. Si el sumador se ha implementado usando 4 SBC's (Sumador Binario Completo) y cada uno de ellos
tarda 10 (s en generar sus salidas si y ci, el retardo es de 40 µs.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Se desea comparar el valor de dos números binarios, uno de 5 bits: X= x4x3x2x1x0, y otro de 4 bits:
Y=y3y2y1y0. Utilizando comparadores de un bit se compara cada pareja de bits, xi con yi, i=0..3, obteniéndose: Mi
(xi>yi), Ii (xi=yi) y mi (xi<yi). Entonces:
I. I. La función lógica M (X>Y) es M = x4 + M3 + I3M2 + I3I2M1+ I3I2I1M0.
II. II. La función lógica I (X=Y) es I = x4I0 I1I2 I3.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro
argumento, registro etiqueta y del contenido de la memoria, ¿cuántos de los registros de máscara propuestos a

1
2 Estructura y Tecnología de Computadores II

continuación producirían ese registro de marca en el acceso a memoria?

0 1 0 1 1 1 0 0 ARGUMENTO
? ? ? ? ? ? ? ? MÁSCARA

0 1 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 1 Máscara 1
1 1 1 0 1 1 0 1 0 1 0 1 0 0 0 0 0 0 Máscara 2
ETIQUETA 1 1 0 0 1 0 0 0 0 0 MARCA 0 0 0 1 1 0 0 0 Máscara 3
1 1 0 1 0 0 1 1 0 0 0 0 0 1 1 0 0 1 Máscara 4
1 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 1 Máscara 5

A) 1 B) 3 C) 5 D) Ninguno de los anteriores


5.- Se desea diseñar con una memoria ROM una unidad de control con 128 estados, que genere 244 señales de
control totalmente independientes y que reciba 20 señales de condición pero en cada estado van a ser consultadas
como máximo una de ellas. La memoria ROM usada tiene un coste de 10 ptas/Kbit. Entonces:
I. I. Si se utiliza un diseño con selección por estado el coste de la ROM es de 640 ptas.
II. II. Si se utiliza un diseño con selección por campo el coste de la ROM es de 640 ptas.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Una memoria caché por correspondencia directa utiliza particiones de 64 palabras y su capacidad total son
1024 palabras. La memoria principal tiene capacidad para 220 palabras. Decir si las siguientes afirmaciones son
ciertas:
I. I. Las direcciones de memoria principal 1D45F y 02075, expresadas en hexadecimal, se corresponden con
la partición 4 de la memoria caché.
II. II. La dirección de memoria 2A23B, expresada en hexadecimal, se corresponde con la partición 8 de la
memoria caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
7.- ¿Cuántos SSB y puertas OR hacen falta para construir un sumador binario paralelo capaz de sumar números de
8 bits?
A) 8 SSB y 8 OR B)12 SSB y 16 OR C)16 SSB y 8 OR D)Ninguna de las anteriores.
8.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 5 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 6(106 bytes/seg., y las de cinta de 105 bytes/seg. Si para
la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 50 nseg,
la máxima velocidad de transferencia agregada a este sistema es de:
A) 3.05×107 bytes/seg. B) 6×106 bytes/seg. C) 2×107 bytes/seg. D) Ninguna de las anteriores.

6ROXFLyQ
1.- La clave de esta pregunta está en el hecho de que el controlador de DMA necesita 2 ciclos consecutivos para
transmitir una palabra. Por ráfagas es una alternativa válida, ya que el controlador de DMA toma todos los ciclos
de reloj que necesite para transmitir el bloque de datos, sin liberar el bus hasta haber finalizado. Sin embargo,
transparente no es implementable, ya que se roban los ciclos en los que la UCP no accede al bus, y esto sólo sucede
en el ciclo segundo de los tres que comprende cada instrucción: es imposible robar dos ciclos consecutivos. [Ver
las página 172-174 de la primera edición del texto base de teoría o las páginas 166-167 de su segunda edición.]
Problemas de los exámenes del curso 2000/2001 3

Respuesta: B (I: sí, II: no.)


2.- El retardo es el tiempo que tardan las señales en atravesar las puertas lógicas que componen el sumador:
I. Si sólo hay dos niveles de puertas lógicas, el retardo será de 2 niveles × 5 µs/nivel = 10 µs. [Ver la página
194 de la primera edición del texto base de teoría o la página 185 de su segunda edición.]
II. Puesto que el acarreo que cada SBC se utiliza como entrada del SBC siguiente, hay que esperar a que las
señales atraviesen los 4 SBC’s. Como cada uno de ellos tarda 10 µs en generar su salida, el acarreo no se
habrá propagado completamente hasta transcurridos 4 × 10 = 40 µs. [Ver la página 198 de la primera
edición del texto base de teoría o la página 188 de su segunda edición.]
Respuesta: C (I: no, II: sí.)
3.- Para el caso de números de 5 bits, las funciones M e I son [ver la página 285 de la primera edición del texto
base de teoría o la página 263 de su segunda edición]:
M = M4 + M3 + I3M2 + I3I2M1+ I3I2I1M0
I = I4 I3I2 I1I0
Puesto que Y es un número de únicamente 4 bits, a efectos prácticos se puede considerar como un número de
5 bits en el que y4 = 0. Como M4 = x4y4, esta expresión queda entonces reducida a M4 = x4. Y ya que I4 = x4y4 +
x4y4, en este caso se tiene que I4 = x4. (Recuérdese que si y4 = 0 entonces y4 = 1.)
Por tanto:
M = x4 + M3 + I3M2 + I3I2M1+ I3I2I1M0
I = x4 I3I2 I1I0
o dicho con palabras, para este caso particular:
‡ Si x4 es 1 entonces X es mayor que Y, independientemente del valor del resto de los bits.
‡ X e Y son iguales si x4 es 0 y el resto de los bits son iguales.
Respuesta: A (I: sí, II: sí.)
4.- [Ver la página 105 y ss. de la primera edición del texto base de teoría o la página 96 y ss. de su segunda
edición.] En primer lugar, recordar que las palabras cuyo bit de etiqueta es 0 son palabras no válidas, por lo que su
bit de marca será siempre 0, independientemente de la máscara. Por este motivo la primera palabra de la memoria
asociativa no aporta ninguna información útil para contestar a esta pregunta y en adelante no se tendrá en cuenta.
Esta cuestión se puede resolver de dos maneras: En primer lugar, se pueden probar, una a una, las 5 máscaras
para las 4 palabras activas. De esta manera algo tediosa se comprueba que las 5 máscaras producen la marca
indicada.
También se puede contestar a esta pregunta viendo la información que proporciona
1 1 1 ARGUMENTO
cada una de las palabras de la memoria asociativa, y reconstruyendo de esta manera la
1 0 0 MÁSCARA
forma que ha de tener la máscara. Comencemos por las palabras cuyo bit de marca es
1. En este caso, como se ve en la figura, si un bit del argumento y el correspondiente
1 1 0 1 MARCA bit de la palabra coinciden, el bit de máscara puede ser 0 ó 1, indistintamente. Ahora
bien, si no coinciden, el bit de máscara debe ser 0 necesariamente para que la marca
sea 1. Este criterio se puede aplicar a las dos palabras cuya marca es 1:
‡ Palabra 2 → Máscara = 0 ? ? ? ? 0 0 ? (? representa 0 ó 1, indistintamente).
‡ Palabra 5 → Máscara = 0 ? ? ? ? 0 ? ?.
4 Estructura y Tecnología de Computadores II

Combinando ambas “plantillas”, vemos que la máscara ha de ser de la forma 0 ? ? ? ? 0 0 ?.


1 1 1 ARGUMENTO 1 1 1
Queda ahora por ver la información que proporcionan
ARGUMENTO
las palabras cuya marca es 0. Si hay varios bits del
1 1 0 MÁSCARA 1 0 1 MÁSCARA argumento que no coinciden con los bits de la palabra,
al menos uno de los correspondientes bits de máscara
1 0 0 0 MARCA 1 0 0 0 MARCA ha de ser 1 para que la marca sea 0, según se muestrea
en la figura. Apliquemos este criterio, teniendo en
cuenta que ya sabemos que 3 de los bits de la máscara han de ser 0 necesariamente (la palabra 1 no se considera al
tener el bit de etiqueta a 0):
‡ Palabra 3 → Máscara = 0A??A00? (los bits marcados como A indican que uno, u otro, o los dos han de ser 1).
‡ Palabra 4 → Máscara = 0B??B00? (los bits marcados como B indican que uno, u otro, o los dos han de ser 1).
De aquí se sigue que la máscara es de la forma 0A??A00?. Los bits marcados como “?” pueden ser 0 ó 1,
indistintamente. Al menos uno de los bits marcados como “A” debe ser 1.
Es fácil comprobar que las 5 máscaras propuestas son de la forma indicada en el párrafo anterior. Por tanto,
las 5 máscaras producirían el valor indicado de la marca.
Respuesta: C (5)
5.- [Ver la página 338 y ss. de la primera edición del texto base de teoría o la página 307 y ss. de su segunda
edición.] Para codificar los 128 estados harán falta 7 bits. Las 244 señales de control, al ser totalmente
independientes, no pueden ser codificadas. De las 20 señales de condición sólo se consulta, a lo sumo, una de ellas,
por lo que la salida del multiplexor será de un único bit.
Harán falta, por tanto, 7 + 1 = 8 bits para seleccionar una palabra de la ROM. La capacidad de esta será de 28 =
256 palabras. Queda por determinar el ancho de palabra de la ROM y el coste de ésta:
I. Al tratarse de selección por estado, una palabra de la ROM tendrá dos campos: uno de 7 bits para el estado
presente y otro de 244 bits para las señales de control. El ancho de palabra será 244 + 7= 251 bits.
La capacidad de la ROM es de 256 palabras x 251 bits/palabra = 64256 bits = 62.75 Kbits. Su coste será de
627.5 ptas.
La afirmación es falsa.
II. En este caso habrá tres campos: uno de selección de 5 bits (25 = 32 ≥ 20), uno de estado presente de 7 bits y
otro de 244 bits para las señales de control. El ancho de palabra será de 244 + 7 + 5 = 256 bits.
La capacidad de la ROM es de 256 palabras x 256 bits/palabra = 65536 bits = 64 Kbits. Su coste será de
640 ptas.
La afirmación es verdadera.
Respuesta: C ( I: no, II: sí)
6.- [Ver las páginas 97-98 de la primera edición del texto base de teoría o las páginas 81-84 de su segunda
edición.] Las direcciones de memoria principal tendrán una anchura de 20 bits, ya que el número total de palabras
de ésta es de 220. Como la caché utiliza correspondencia directa, una dirección de memoria principal se compondrá
de los campos Etiqueta, Partición y Palabra.
La caché tiene particiones de 26 (= 64) palabras. Como su capacidad es de 210 (= 1024) palabras, habrá un
total de 210 palabras / (26 palabras/partición) = 24 particiones. De aquí que el campo Partición tenga una anchura
de 4 bits y el campo Palabra, 6. El campo Etiqueta tendrá, finalmente, 20 - 4 - 6 = 10 bits de anchura.
Problemas de los exámenes del curso 2000/2001 5

Para contestar a esta pregunta basta con descomponer las direcciones proporcionadas en sus respectivos 3
campos:
I. 1D45F = ... 0100 0101 1111 → Partición = 0001 = 110.
02075 = ... 0000 0111 0101 → Partición = 0001 = 110.
La afirmación es falsa.
II. 2A23B = ... 0010 0011 1011→ Partición = 1000 = 810.
La afirmación es verdadera.
Respuesta: C ( I: no, II: sí)
7.- [Ver las páginas 196 y 198 de la primera edición del texto base de teoría o las páginas 187 y 188 de su segunda
edición.] Un sumador binario paralelo para números de 8 bits consta de 8 SBC’s. Cada uno de ellos consta, a su
vez, de 2 SSB’s y una puesta OR. Hacen falta, por tanto, 16 SSB’s y 8 puertas OR.
Respuesta: C (16 SSB y 8 OR)
8.- [Ver las páginas 181-182 de la primera edición del texto base de teoría o las páginas 172-173 de su segunda
edición.] El canal multiplexor es capaz de atender a varios dispositivos simultáneamente. La máxima velocidad
agregada se logrará cuando todos ellos estén transmitiendo. En este caso, la máxima cantidad transferida por
segundo sería de 5 × (6 × 106 bytes/s) + 5 × (105 bytes/s) = (5 × 60 + 5) × 105 bytes/s = 305 × 105 bytes/s = 3.05 ×
107 bytes/s.
Ahora bien, si para transferir un byte hacen falta 50 ns = 50 × 10-9 s, en 1 segundo sólo se podrán transferir un
máximo de
1 s / (50 × 10-9 s/byte) = (1 / 50) × 109 bytes = (100 / 50) × 107 bytes = 2 × 107 bytes,
en lugar de los 3.05 × 107 bytes/s que cabría esperar.
Es decir, la máxima velocidad agregada viene dada por la limitada velocidad de transferencia entre el canal
multiplexor y la memoria.
Respuesta: C (2×107 bytes/seg.)

&XHVWLRQHV WHyULFRSUiFWLFDV  6HSWLHPEUH

1.- Justificar el resultado de la pregunta 1 del test.


2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.

6ROXFLyQ

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
6 Estructura y Tecnología de Computadores II

3UREOHPD  6HSWLHPEUH 

El siguiente algoritmo describe una determinada operación de un sistema digital.


A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos
de la Figura 1: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un
contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas
lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere
necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado A) empleando un elemento de memoria tipo D por estado. Detalle y explique
claramente todos y cada uno de los pasos seguidos hasta obtener la solución.

1: Declaración: A[8], B[8], Cont[3];


2: A ← Bus;
3: B ← 0;
4: for Cont = 0 to 7 do
5: if A[0] es 1 then
6: B ← B + 1;
7: endif;
8: Despl.CerradoDcha(A);
9: endfor
10: Bus ← Β;
11: Parar;

Ck E A B Ck E
ED c0 c0
c0
Reg. Desp. UAL Contador c0
E c1 c1
Q R Q

Figura 1: Módulos del problema con sus tablas de funcionamiento

6ROXFLyQ

a) En primer lugar se debe analizar las operaciones que debe realizar el algoritmo para ver qué recursos se
necesitan y si éstos se encuentran entre los que se ofrecen en el enunciado:
‡ Un registro A que debe tener la capacidad de carga en paralelo y que sea capaz de realizar un desplazamiento
cerrado a la derecha. En este caso se dispone de un registro de desplazamiento simple que permite realizar
Problemas de los exámenes del curso 2000/2001 7

operaciones de carga y desplazamiento (a la derecha y a la izquierda). Para conseguir que estas operaciones
de desplazamiento sean cerradas se debe conectar el bit más o menos significativo (A[7] o A[0]) con la
entrada serie que le corresponda (ED o EI). En este caso la operación es hacia la derecha con lo que en la ruta
de datos se debe conectar el bit A[0] con la entrada EI del registro A.
‡ Un registro B que debe tener la capacidad de carga en paralelo y ser capaz de inicializarse a “0”. En este
caso el registro no dispone de una señal de reset pero se puede conseguir este efecto cargando el valor “0”
(8 bits).
‡ Una UAL capaz de sumar 1 a un número de ocho bits. Como la propuesta UAL puede realizar las operaciones
A+B y A-B, fijando una de las entradas al valor constante 1 se puede realizar la operación. Además, puesto
que siempre se va a realizar la operación de suma se puede dejar el valor de la entrada de control c0 de la
UAL siempre al valor lógico “0”.
‡ Un multiplexor de dos entradas para seleccionar el valor a cargar en el registro B, ya que se debe poder cargar
desde la salida de la UAL o de un valor fijo igual a 0.
‡ Un contador con capacidad de cuenta hacia arriba para controlar las iteraciones del bucle for del algoritmo.
Puesto que la cuenta es de 0 a 7 es necesario que dicho contador sea de tres bits.
‡ Un circuito de detección del estado 7 del contador que genere la señal de condición para el fin de bucle. Para
ello se puede usar una puerta AND de tres entradas conectadas a los bits de estado del contador Q2,Q1y Q0.
‡ Una puerta triestado que conecte la salida del registro B con el bus de datos.
Del análisis se desprende que es posible implementar la ruta de datos teniendo en cuenta que se deben generar
las señales de condición adecuadas hacia la unidad de control:
‡ s0, señal de condición correspondiente a A[0] = 1. Se genera conectando la salida A[0] del registro A a la
entrada de condición s0 de la unidad de control.
‡ s1, señal de condición de fin de bucle. Se genera conectando la salida de la puerta AND a la entrada de
condición s1 de la unidad de control.
Por otra parte, la Unidad de Control recibe una señal externa que arranca el algoritmo:
‡ I, señal de condición de inicio de algoritmo.
En la Figura 1 se muestra el diagrama de bloques correspondiente a la unidad de procesamiento o ruta de
datos con los elementos definidos anteriormente y que cumple todos los requisitos del algoritmo planteado. En la
Tabla 1 se describen todas las señales de control utilizadas.
8 Estructura y Tecnología de Computadores II

Bus

0 1 c0
c1 MUX

0 ED c0 c4 0 ED c0 c2
EI Reg. desp. c1 EI Reg. desp. c1
0 c5 c3
1
B
A[0]

A B c 0
0
UAL

c0 c6
Contador c1
2 1 0 c7

s0 (valor del bit A[0])


s1(=1 Contador es 7)

c0 Unidad de
Inicio Circuito Procesamiento
c1
Fin de
Reloj Control
c7
Unidad de
Control

Figura 2: Diseño de la Unidad de Procesamiento

Señal de Control Operación controlada

c0 Puerta triestado que conecta la salida de B con el Bus: Nada (0) y Conexión (1)
c1 Selección MUX entrada de B: UAL (0) y valor 0 (1)
c3 y c2 Control registro A: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11)
c5 y c4 Control registro B: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11)
c7 y c6 Contador: Nada (00), Reset (01), Incrementar (10) y Nada (11)

Tabla 1: Descripción de la señales de control de la Unidad de Procesamiento

b) Para describir el funcionamiento de la Unidad de Control solicitada en este apartado, se diseña el diagrama
de transición de estados de la Figura 3, donde el significado detallado de cada uno de los estados propuestos viene
dado por la Tabla 2.
Problemas de los exámenes del curso 2000/2001 9

Este diagrama de transición de estados cumple todos los requisitos para ejecutar el algoritmo propuesto en el
enunciado del problema utilizando la Unidad de Procesamiento diseñada en el apartado anterior. Se puede
comprobar, por ejemplo, que ejecuta el bucle for 8 veces ya que en el estado S4 consulta por la condición de
finalización y, en caso de no verificarse, incrementa el contador y realiza otra iteración. En total el bucle se realiza
para todos los valores del contador, desde el 0 hasta el 7.

Inicio S5
s1
s0
S0 S1 S2 S3 S4 s1 S6

s0

Figura 3: Diagrama de estados de la Unidad de Control

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar
S0 Ninguna Ninguna
A ← Bus c3, c2
S1 B←0 c1, c5, c4
Reset Cont (c7=0), c6
S2 Ninguna Ninguna
S3 B←B+1 (c1=0), c5, c4
S4 Despl.CerradoDcha(A) (c3=0), c2
S5 Incrementar Cont c7, (c6=0)
S6 Bus ← B c0

Tabla 2: Acciones tomadas por la Unidad de Control en cada estado


Para implementar esta Unidad de Control vamos a emplear el método de los elementos de retardo. El diseño
correspondiente se muestra en la Figura 4. En la parte izquierda de la Figura 4 se ha vuelto a colocar el diagrama de
transición de estados de forma que sirva de ayuda y complemento al diseño lógico de la Unidad de Control.
10 Estructura y Tecnología de Computadores II

Inicio=0
S0 Set
S0 Inicio •
Inicio=1
• S1
S1 c1, c2, c3, c4, c5, c6

s0= 0
• S2 •
S2
s0 •
s0= 1

S3 • S3 •
• c4, c5

S4 s = 1 • S4 •
1
• c2
s1= 0 s1 •

S5
• S5 •
• c7

S6 • S6 •
• c0

Reloj Clear

Figura 4: Unidad de Control


2002 Junio - 1ª semana

Test - Junio 1ª Semana :


1.- A un bus dedicado a E/S se han conectado la memoria principal y cinco discos iguales. El tiempo de ciclo de la
memoria principal es 400 nseg. La velocidad de transferencia de cada disco es B. La longitud de palabra es 32 bits.
Cada transmisión sobre el bus necesita 500 nseg para enviar el dato y las diferentes órdenes del protocolo. ¿En cuál
de las siguientes situaciones estaría más justificado el uso de un bus con temporización síncrona?
A) B = 106 bits/seg B) B = 4 × 106 bits/seg C) B = 107 bits/seg D) B = 8 × 107 bits/seg
2.- Supóngase una memoria RAM de 1024 palabras × 16 bits/palabra construida empleando circuitos integrados
de memoria RAM de 128 palabras × 8 bits/palabra. A fin de permitir el direccionamiento de las palabras de la
memoria, el bus de direcciones:
A) Tiene 10 líneas, 7 de ellas comunes a todos los módulos.
B) Tiene 10 líneas, 3 de ellas comunes a todos los módulos.
C) Tiene 10 líneas, todas ellas comunes a todos los módulos.
D) Ninguna de las anteriores es verdadera.
3.- Un computador con 24 líneas de direcciones tiene una memoria de 220 palabras y utiliza entrada/salida aislada.
¿Cuál es el número máximo de periféricos que pueden conectarse, suponiendo que cada uno ocupa una sola
dirección?
A) 16 B) 15 C) No es posible calcularlo D) Ninguna de las anteriores
4.- ¿Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 100 nseg y un
tiempo de ciclo de 200 nseg?
A) 4×106 palabras / seg B) 5×106 palabras / seg
C) 107 palabras / seg D) Ninguna de las anteriores

1
2 Estructura y Tecnología de Computadores II

5.- Indicar cuál de las siguientes afirmaciones es falsa.


A) Un PE/S de tipo canal selector controla múltiples dispositivos de alta velocidad.
B) Un PE/S de tipo canal multiplexor puede controlar de forma simultanea operaciones de E/S con múltiples
dispositivos.
C) En E/S controlada por programa la CPU realiza, entre otras operaciones, la comprobación del estado del
periférico.
D) Alguna de las anteriores es falsa.
6.- Sean 2 números binarios de 12 bits representados en código BCD: X= 010100011001, Y= 001101000111. El
resultado de la resta X-Y, expresado en código BCD, es:
A) 000101110010 B) 001101110010 C) 000110010100 D) Ninguno de los anteriores
7.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posición de conexión de los dispositivos a la línea de arbitraje no 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) A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- Un sistema jerárquico de memoria está compuesto por una memoria caché de 128 palabras, dividida en
particiones de 16 palabras y con un tiempo de acceso de 10 µs, y por una memoria principal de 1024 Kpalabras con
un tiempo de acceso de 200 µseg. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria
caché y después se lee el dato desde la caché. La política de ubicación y reemplazamiento tarda 20 µseg por
término medio. Si la tasa de acierto es del 99%, decir si las siguientes afirmaciones son ciertas:
I. El tiempo de acceso medio es de 42,2 µseg.
II. Este sistema jerárquico de memoria es entre 4 y 5 veces más rápido que la memoria principal.
A) A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

1.- [Ver las páginas 30 y 31 del texto base de teoría, y el problema 1-4 de cualquiera de las dos ediciones del libro
de problemas]. En un bus con temporización síncrona, todos los dispositivos están funcionando con una
frecuencia de reloj fija. Su utilización es conveniente cuando los dispositivos que tiene conectados tienen
velocidades parecidas, ya que si tiene conectado un grupo heterogéneo de dispositivos, con velocidades muy
distintas, el bus debe adecuarse al más lento impidiendo que los más rápidos empleen todo su potencial.
En el caso concreto de la pregunta, al bus está conectada la memoria principal y cinco discos iguales. La
unidad de disco con la que estaría más justificada la utilización de un bus con temporización síncrona, es aquella
que tenga la velocidad de transmisión más cercana a la de la memoria.
La memoria principal tiene un tiempo de ciclo de 400 nseg, tiempo mínimo entre dos lecturas/escrituras
consecutivas [ver la página 51 del texto base de teoría]. Si es capaz de leer o escribir una palabra cada 400 nseg.
significa que tiene una velocidad de transferencia de:

1
palabras/seg = 25 × 105 palabras/seg
400 × 10 −9
Problemas de los exámenes del curso 2001/2002 3

Como el tamaño de palabra es de 32 bits, esta velocidad de transferencia expresada en bits/segundo es:

25 × 10 5 palabras/seg × 32bits/palabra=800 × 10 5 bits/seg = 8 × 10 7 bits/seg

Este valor se corresponde exáctamente con el valor de la respuesta D y, por tanto, de la unidad de disco más
justificada para utilizar con un bus con temporización síncrona en las condiciones del enunciado de la pregunta al
tener la velocidad de transferencia más próxima a la de la memoria principal.
Respuesta: D (B = 8 × 107 bits/seg)
2.- [Ver las páginas 68 y ss. del texto base de teoría, y los problemas 2-1, 2-2 y 2-3 de cualquiera de las dos
ediciones del libro de problemas]. La memoria RAM tiene un total de 1024 palabras por lo que el bus de
direcciones tiene un total de 10 líneas (210 = 1024). Según el enunciado, la memoria se construye con módulos de
128 palabras que tienen, evidentemente, 7 líneas de direcciones (27 = 128). Por tanto, a fin de permitir el
direccionamiento de las palabras de memoria, de las 10 líneas del bus de direcciones, 7 de ellas son comunes a
todos los módulos y las otras 3 son empleadas para seleccionar los distintos módulos.
Respuesta: A (Tiene 10 líneas, 7 de ellas comunes a todos los módulos)
3.- [Ver las páginas 139 y ss. del texto base de teoría y el Problema 3-4 de la primera edición del libro de
problemas o el Problema 3-1 de la segunda edición]. Cuando se tiene E/S aislada de memoria el bus del sistema
dispone, además de las líneas de control de lectura y escritura en memoria, de líneas específicas de E/S para
acceder a los periféricos. De esta forma, una línea de control especifica si la dirección se refiere a una posición de
memoria o a un periférico y, por tanto, el rango completo de direcciones está disponible tanto para referenciar
posiciones de memorias como para referenciar periféricos.
En el caso concreto de la pregunta, como cada periférico ocupa una única dirección de las 224 existentes, es
posible conectar hasta un máximo de 224 periféricos.
Respuesta: D (Ninguna de las anteriores)
4.- [Ver las páginas 50 y ss. del texto base de teoría]. En un dispositivo de memoria la velocidad de transferencia o
frecuencia de acceso (fA) se mide como el número de palabras/segundo que pueden ser accedidas. En el caso de
memorias de acceso aleatorio fA es:
1
fA =
tc
donde tc es el tiempo de ciclo de memoria.
En el enunciado de la pregunta se dice que tc = 200 nseg, con lo que la fA en este caso queda:
1 1 1
fA = = = palabras/seg = 5 × 106 palabras/seg
tc 200 nseg/palabra 200 × 10−9
Respuesta: B (5×106 palabras / seg)
5.- Teniendo en cuenta que el enunciado pide identificar la afirmación falsa, hay que comprobar cada una de ellas:
A) [Ver las páginas 172 y 173 del texto base de teoría] Cierta.
B) [Ver las páginas 172 y 173 del texto base de teoría] Cierta.
C) [Ver la página 174 del texto base de teoría] Cierta.
D) Falsa.
Respuesta: D (Alguna de las anteriores es falsa)
4 Estructura y Tecnología de Computadores II

6.- [Ver las páginas 207 y ss. del texto base de teoría]. Esta pregunta se puede resolver de varias formas, pero
como lo que interesa es el resultado de la operación, sin duda el método más sencillo es pasar los dos números de
BCD a decimal, realizar la operación en decimal y, finalmente, convertir de nuevo el resultado a BCD.
• X = 0101 0001 1001BCD ⇒ X = 51910

• Y = 0011 0100 0111BCD ⇒ X = 34710

• X-Y = 17210 ⇒ X-Y = 0001 0111 0010BCD


Respuesta: A ( 000101110010)
7.- [Ver las páginas 27 y ss. del texto base de teoría].
I. Falsa. Con esta estrategía el módulo situado más cerca del comienzo de la línea de arbitraje es el que
consigue el bus en caso de precisarlo, de manera que este esquema es análogo al de un bus con arbitraje
centralizado por encadenamiento pero con la ventaja de no requierir de un árbitro.
II. Falsa. Una condición necesaria (no suficiente) para que un dispositivo tome el control del bus, es decir,
pase a ser el maestro del bus, es que la línea “ocupada” se encuentre desactivada. Esta condición no se
satisface mientras otro dispositivo esté actuando como maestro del bus, ya que mientras un dispositivo
actúa como maestro del bus, mantiene la línea “ocupada” activada, no desactivándola hasta que no finaliza
la transferencia.
Respuesta: D ( I: no, II: no.)
8.- [Ver las páginas 77 y ss. del texto base de teoría]. El tiempo medio de acceso, tA, viene dado por la expresión:
tA= H × (Tiempo de acceso en caso de acierto) + (1-H) × (Tiempo de acceso en caso de fallo)
donde H es la tasa de acierto. Esta expresión viene a indicar que el tiempo medio de acceso es la media ponderada
del tiempo medio de acceso en caso de acierto y del tiempo medio de acceso en caso de fallo.
En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria caché, 10 µseg. La
probabilidad de acierto es del 99 % (0.99).
En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde la memoria principal a
la memoria caché y luego, según el enunciado, se mueve la palabra que ha producido el fallo desde la caché a la
CPU. Por tanto, en caso de fallo hay que mover 16 palabras (una partición o bloque completo) desde la memoria
principal, lo que lleva 16 × 200 µseg = 3200 µseg; además hay que sumar los 20 µseg que tarda en promedio el
sistema en llevar a cabo la politica de ubicación y reemplazamiento del nuevo bloque en la memoria caché.
Después se mueve una palabra desde la caché, lo que emplea otros 10 µseg. . En resumen, en caso de fallo esta
jerarquía tarda un tiempo medio de 3200 + 20 + 10 = 3230 µseg en entregar la palabra solicitada a la CPU. La
probabilidad de un fallo de referencia es del 100 % - 99 % = 1 % (0.01).
El tiempo medio de acceso de este sistema de memoria será por tanto:
t A = 0.99 ×10µ seg + 0.01× 3230µ seg = 9.9µ seg + 32.30µseg = 42.20µ seg
que es entre 4 y 5 veces más rápido que el tiempo de acceso medio de 200 µseg de la memoria principal.
Respuesta: A ( I: sí, II: sí.)
Problemas de los exámenes del curso 2001/2002 5

Cuestiones teórico-prácticas - Junio 1ª semana:


1.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 1 del test.
2.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 2 del test.
3.- (0.5 puntos) Justificar razonadamente el resultado de la pregunta 3 del test.

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema - Junio 1ª semana:


A) (1.5 puntos) Diseñar el registro de desplazamiento de 4 bits de la figura de la izquierda. E0, E1, E2, E3
representan la entrada paralelo; S0, S1, S2, S3 la salida paralelo; C1, C2 las líneas de control; y CK la señal
de reloj. El registro debe ser capaz de realizar los dos desplazamientos siguientes: LICS (Lógico-Izquierda-
Cerrado-Simple) y LDCS (Lógico-Derecha-Cerrado-Simple). Además, el circuito debe permitir la carga en
paralelo de la entrada y mantener la información almacenada sin modificar (no operación: NOP). La
codificación de las entradas de control se muestra en la tabla adjunta.
B) (1 punto) Diseñar el mismo registro del apartado A) pero con la estructura entrada serie / salida serie que se
muestra en la figura de la derecha.
C) (1.5 puntos) Diseñar el mismo registro del apartado A) pero de modo que en lugar de realizar
desplazamientos lógicos (LICS y LDCS) realice desplazamientos algebraicos (también llamados
aritméticos) cerrados simples: AICS (Algebraico-Izquierda-Cerrado-Simple) y ADCS (Algebraico-
Derecha - Cerrado - Simple).
En los diseños deben utilizarse multiplexores y elementos de memoria D. Explicar detalladamente cada paso.

E3 E2 E1 E0 E

C2 Paralelo/ C2
Paralelo Serie/Serie
C1 CK C1 CK

S3 S2 S1 S0 S
Figura 1: Registros de desplazamiento
6 Estructura y Tecnología de Computadores II

Operación C2 C1

NOP 0 0

LICS 0 1

LDCS 1 0

CARGA 1 1

Tabla 1: Codificación de las entradas de control

Solución

Para resolver este problema conviene ver las páginas 255 y ss. del texto base de teoría, así como los
problemas 4-37 y 4-38 de la primera edición del libro de problemas o los problemas 4-39 y 4-40 de la segunda
edición.
A) Las dos operaciones de desplamiento a realizar por el registro de desplazamiento son LICS
(Lógico-Izquierda- Cerrado-Simple) y LDCS (Lógico-Derecha-Cerrado-Simple). La Figura 2 muestra
estos dos tipos de desplazamientos para un registro de 4 bits como el que pide diseñar el enunciado del
problema.

LDCS LICS
Figura 2: Representación gráfica de los desplazamientos LDCS y LICS

Por tanto, la descripción del comportamiento de la salida del circuito es la siguiente:


Q(t ) si Control = NOP
(Q , Q , Q , Q )
 si Control = LICS
Q(t + 1) =  2 1 0 3
(Q0 , Q3 , Q2 , Q1 ) si Control = LDCS
( E 3, E 2, E1, E 0) si Control = CARGA
donde Q(t) representa el vector de salidas (Q3, Q2, Q1, Q0) del registro en el instante t. Análogamente Q(t +1)
representa el vector de salidas (Q3, Q2, Q1, Q0) del registro en el instante t+1.
Para diseñar el registro se van a utilizar 4 biestables tipo D. En la entrada de cada uno de estos 4 biestables se
coloca un multiplexor que, en función de las señales de control C1 y C2 del registro, seleccione el valor adecuado a
introducir en cada registro para que se comporte según la descripción mencionada antes. El resultado del diseño se
muestra en la Figura 3.
Problemas de los exámenes del curso 2001/2002 7

E3 E2 E1 E0

• • • • E3 E2 E1 E0
• •
• • • • • •
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
MUX MUX MUX MUX
C2 Paralelo/
C1 • • •
C2 • • • C1 Paralelo
CK
Reloj
D D D D
Q3 Q2 Q1 Q0
• • S3 S2 S1 S0
• •
S3 S2 S1 S0
Figura 3: Registro LDCS y LICS con entrada paralelo / salida paralelo

B) En este segundo apartado, el enunciado pide diseñar el mismo registro de antes, con desplazamientos LDCS
y LICS, pero con entrada serie / salida serie. Ni en el módulo de la Figura 1 ni el enunciado se menciona en
qué bit se comienza la carga serie, ni en qué bit se efectúa la lectura serie. Siguiendo el criterio del libro de
texto, para resolver este problema se supone que se sigue el esquema de la Figura 4 para estas operaciones.
.
Q

Reloj
Cargar Q3 Q2 Q1 Q0

E
Figura 4: Registro de 4 bits con entrada serie / salida serie

Por tanto, la descripción del comportamiento del estado del circuito es la siguiente:

 Q (t ) si Control = NOP
 (Q , Q , Q , Q )
 si Control = LICS
Q (t + 1) =  2 1 0 3
(Q0 , Q3 , Q2 , Q1 ) si Control = LDCS
( E , Q3 , Q2 , Q1 ) si Control = CARGA

Haciendo las modificaciones oportunas en el diseño de la Figura 3 para contemplar los cambios pedidos, el
resultado se muestra en la Figura 5.
8 Estructura y Tecnología de Computadores II

• •• • • • • • E
• • •• • • •
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
MUX MUX MUX MUX
C1 • • • C2
C2 • • • Serie/Serie
Reloj C1 CK
D D D D
Q3 Q2 Q1 Q0

• S
S
Figura 5: Registro LDCS y LICS con entrada serie / salida serie

C) En este último caso, se va a suponer que la codificación de las entradas de control es la mostrada en la Tabla
2. En la Figura 6 se muestra la representación gráfica de los dos tipos de desplazamientos solicitados en este
apartado, AICS (Algebraico-Izquierda-Cerrado-Simple) y ADCS (Algebraico- Derecha - Cerrado -
Simple), para un registro de 4 bits.

Operación C2 C1

NOP 0 0

AICS 0 1

ADCS 1 0

CARGA 1 1

Tabla 2: Codificación de las entradas de control

S S

ADCS AICS
Figura 6: Representación gráfica de los desplazamientos ADCS y AICS

Por tanto, la descripción en este caso del comportamiento de la salida del circuito es la siguiente:

Q(t ) si Control = NOP


(Q , Q , Q , Q )
 si Control = AICS
Q(t + 1) =  3 1 0 2
(Q3 , Q0 , Q2 , Q1 ) si Control = ADCS
( E 3, E 2, E1, E 0) si Control = CARGA
Problemas de los exámenes del curso 2001/2002 9

Siguiendo el mismo procedimiento de antes, la Figura 7 contiene el diseño pedido.

E3 E2 E1 E0

E3 E2 E1 E0
••
• •
• • •• •
•••
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
MUX MUX MUX MUX
C2 Paralelo/
C1 • • •
C2 • • • C1 Paralelo
CK
Reloj
D D D D
Q3 Q2 Q1 Q0
• • S3 S2 S1 S0
• •
S3 S2 S1 S0
Figura 7: Registro LDCS y LICS con entrada paralelo / salida paralelo
2002 Junio - 2ª semana

Test - Junio 2ª semana:


1.- Una memoria caché por correspondencia directa utiliza 8 palabras/bloque y su capacidad total son 1K palabras.
La memoria principal tiene una capacidad de 64K palabras. En un determinado instante, la dirección 6B59,
expresada en hexadecimal, de la memoria principal se encuentra en la caché. Decir si las siguientes afirmaciones
son ciertas:
I. Esta dirección se corresponde con el bloque 107, expresado en decimal, de la memoria caché.
II. Del enunciado puede deducirse que la dirección 675E, expresada en hexadecimal, no está en la caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- Sea un sistema de memoria caché con dos niveles, donde la memoria caché de nivel 1 es la más cercana a la
CPU y la memoria de nivel 2 es la más cercana a la memoria principal. Indique si las siguientes afirmaciones son
verdaderas:
I. En algún momento existirá una copia de todos los bloques de la caché de nivel 2 en la caché de nivel 1.
II. Utilizando una política de post-escritura, la memoria caché de nivel 2 tiene siempre una copia exacta de los
bloques de la memoria caché de nivel 1.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
3.- Un pequeño computador dispone de 16 líneas de direcciones 15 A -A0. Su unidad de memoria está compuesta
tanto por módulos de memoria ROM como de RAM. La ROM está formada por un único módulo y ocupa las
direcciones más bajas de la memoria, comenzando en la dirección 0. La RAM, con 48 Kbytes de capacidad, ocupa
las direcciones restantes. Indique si las siguientes afirmaciones son verdaderas:
I. La función lógica de la señal de habilitación del módulo de memoria ROM es
CSROM = A15A14.
II. Los dos bits menos significativos de la dirección, A
1-A0, se pueden utilizar para distinguir si una dirección
de memoria corresponde a ROM o a RAM.

1
2 Estructura y Tecnología de Computadores II

A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- Una memoria de acceso no aleatorio con velocidad de transferencia de × 2 106 bits/seg, emplea en promedio 2
mseg en colocar en su posición la cabeza de lectura-escritura. ¿Cuál es el tiempo medio que tarda en leer o escribir
103 bytes?
A) 6 mseg B) 2 mseg C) 4 mseg D) Ninguna de las anteriores
5.- Un sistema jerárquico de memoria tiene una memoria caché de 256 palabras, dividida en particiones de 8
palabras y con un tiempo de acceso de 20 nseg, y una memoria principal de 1024 Kpalabras con un tiempo de
acceso de 200 nseg. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y
después se lee el dato desde la caché. Si la tasa de acierto de la caché es del 90%, ¿cuál es el tiempo de acceso
medio de este sistema?
A) 178 nseg B) 180 nseg C) 220 nseg D) Ninguna de las anteriores
6.- Indique cuál de las siguientes afirmaciones sobre los buses es cierta:
A) Los buses transportan únicamente datos y direcciones.
B) Los buses pueden ser compartidos por dispositivos de muy distintas velocidades.
C) No es necesario un método de arbitraje para evitar que varias unidades vuelquen simultáneamente datos al
bus.
D) Ninguna de las anteriores.
7.- En un computador que usa E/S controlada por programa, el dispositivo de E/S tarda 6 mseg en tener disponible
el dato solicitado. Suponiendo que el computador sólo se dedica a E/S, que el bucle de espera se implementa con
una única instrucción, que la lectura de un dato y solicitud del siguiente dato por parte de la CPU lleva 10
µseg, ¿qué tanto por ciento de su tiempo dedica
instrucciones, y que cada instrucción de la CPU se ejecuta en 200
la CPU al bucle de espera?
A) 0%. B) 99%. C) 75%. D) Ninguna de las anteriores
8.- Sean dos números de 12 bits representados en código BCD: X=100100110101, Y=000101010001. El resto
de la división entera X / Y, expresado en código binario, es:
A) 111000110000 B) 000000000110 C) 000000011101 D) Ninguno de los anteriores.

Solución

1.- [Ver las páginas 81 y ss. del texto base de teoría.] La memoria principal de 64 Kpalabras necesita 16 bits para
su direccionamiento (216 = 64K). La memoria caché tiene 2 10 (= 1K) palabras, luego hay (210 palabras) / (23

palabras / bloque) = 27 bloques en la caché.


Al tratarse de correspondencia directa, una dirección de memoria principal se divide en tres campos:
Etiqueta, Bloque y Palabra. El campo Bloque tendrá una longitud de 7 bits y el de Palabra, 3. Por tanto, el campo
Etiqueta tendrá una longitud de 16 - (7 + 3) = 6 bits.
La dirección hexadecimal 6B59 se expresa en binario como 0110 1011 0101 1001, por lo que agrupando sus
bits en los tres campos resulta Etiqueta = 011010, Bloque = 1101011 y Palabra = 001. Por tanto:
I. Bloque = 1101011(2 = 107(10.
II. La dirección 675E se puede expresar como 011001 1101011 110. Obsérvese que el campo Bloque de
ambas direcciones es igual, por lo que la correspondencia directa asigna a ambas direcciones el mismo
Problemas de los exámenes del curso 2001/2002 3

bloque de caché. Ahora bien, dado que sus campos Etiqueta son diferentes, es imposible que ambas
palabras se encuentren simultáneamente en la caché. Como el enunciado afirma que la palabra de
dirección 6B59 se encuentra en la caché, es imposible que también se encuentre la de dirección 675E.
Respuesta: A (I: sí, II: sí.)
Otro posible enfoque consiste en hacer uso de la expresión:
(Bloque caché) = (Bloque Mp) mod (Número de bloques de la caché)
La memoria principal tiene (64 Kpalabras) / (8 palabras / bloque) = 8192 bloques (numerados de 0 a 8191).
Una dirección de memoria principal se encuentra en el bloque de memoria principal:
(Bloque Mp) = (Dirección Mp) \ (Número de palabras por bloque)
(el símbolo \ representa en este caso la división entera). Aplicando esta última expresión se llega a que:
6B59: Bloque Mp(6B59) = 6B59 \ 8 = 3435(10;
675E: Bloque Mp(675E) = 675E \ 8 = 3307(10.
Aplicando ahora la primera expresión:
6B59: Bloque caché(6B59) = 3435 mod 128 = 107;
675E: Bloque caché(675E) = 3307 mod 128 = 107.
Es decir, a ambos bloques de memoria principal les corresponde el bloque 107 de la caché. Ahora bien, como
ambas direcciones pertenecen a bloques de memoria principal diferentes, y como se parte del hecho de que la
dirección 6B59 ya se encuentra en la caché, es imposible que también se encuentre simultáneamente la 675E.
2.- [Ver las páginas 53 y ss. y 93-94 del texto base de teoría.] En cualquier jerarquía de memorias, los niveles
superiores (más cercanos a la CPU) son más rápidos, más caros y de menor capacidad que los niveles inferiores
(Figura 1).

- + +
CPU

Caché nivel 1

Caché nivel 2
Capacidad

Velocidad
Costo

Memoria principal
+ - -

Figura 1: Jerarquía de memorias con dos niveles de caché

I. La caché de nivel 1 es más pequeña que la de nivel 2, por lo que no puede contener una copia todos
de los
bloques de esta última. (No tiene sentido considerar que ambas cachés puedan tener la misma capacidad,
pues en una jerarquía de memorias el tamaño disminuye a medida que se está más cerca de los registros de
la CPU; hoy en día, una caché de nivel 2 suele ser un orden de magnitud mayor que una caché de nivel 1.
[Pág. 94 del texto base de teoría.])
II. [Ver la página 93 del texto base de teoría.] Con la política de post-escritura, las modificaciones que se
realicen en la caché de nivel 1 no se reflejarán inmediatamente en la caché de nivel 2. Por tanto, el
4 Estructura y Tecnología de Computadores II

contenido de un bloque de caché de nivel 1no siempre será igualal contenido del bloque correspondiente
en la caché de nivel 2.
Respuesta: D (I: no, II: no.)
16
3.- [Ver las páginas 68 y ss. del texto base de teoría.] La memoria de este computador tendrá una capacidad de 2
= 64 Kpalabras. Como los 48K palabras superiores corresponden a memoria RAM, los 16K palabras inferiores
corresponden a la ROM. Con 16 bits de direcciones, las direcciones correspondientes a la ROM son de la forma
00XX XXXX XXXX XXXX (X representa 0 ó 1, indistintamente).
I. Las direcciones de ROM se caracterizan por tener sus dos bits más significativos (A15 - A14) a 0, mientras
que el resto de los bits pueden tomar cualquier valor. Por tanto, la función lógica de selección de la ROM
será A15A14.
II. Como se ha visto, las direcciones de ROM son siempre de la forma 00..., mientras que las de RAM pueden
ser 01..., 10... ó 11... Por tanto, los dos bits menos significativos (A
1 - A0) no sirven para distinguir ROM
de RAM.
Respuesta: B (I: sí, II: no.)
4.- [Ver las páginas 47 y ss. del texto base de teoría.] Al tratarse de una memoria de acceso no aleatorio, el tiempo
de acceso a la información dependerá de la posición en la que ésta se encuentre almacenada y de la secuencia de
accesos que haya habido anteriormente. Ahora bien, ya que se conoce el tiempo medio que se tarda en colocar la
cabeza de lectura - escritura y se conoce la velocidad de transferencia que es capaz de mantener el sistema, es
posible calcular el tiempo medio que se tardará en transferir una cantidad determinada de información.
3
Suponiendo la cabeza ya posicionada, en transferir 10 bytes, que son 8 × 103 bits, se tardará (8 × 103 bits) /
(2 × 106 bits/seg) = 4 × 10-3 seg = 4 mseg. Si a esta cantidad se le suman los 2 mseg que se tarda en promedio en
posicionar la cabeza, resulta un tiempo medio 6 mseg.
Respuesta: A (6 mseg)
5.- [Ver las páginas 77 y ss. del texto base de teoría.] El tiempo medio de acceso viene dado por la expresión:
tA= H × (Tiempo de acceso en caso de acierto) + (1-H)× (Tiempo de acceso en caso de fallo)
donde H es la tasa de acierto (es decir, el tiempo medio de acceso es la media ponderada del tiempo medio de
acceso en caso de acierto y del tiempo medio de acceso en caso de fallo).
En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria caché, 20 nseg. La
probabilidad de acierto es del 90 % (0.9).
En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde la memoria principal a
la memoria caché y luego, según el enunciado, se mueve la palabra que ha producido el fallo desde la caché a la
CPU. Luego en caso de fallo hay que mover 8 palabras (1 partición o bloque) desde la memoria principal, lo que
lleva 8 × 200 nseg = 1600 nseg; después se mueve una palabra desde la caché, lo que emplea otros 20 nseg. Luego
en caso de fallo se tarda 1620 nseg. La probabilidad de un fallo de referencia es del 100 % - 90 % = 10 % (0.1).
× 20 nseg) + (0.1× 1620 nseg) = 18
El tiempo medio de acceso de este sistema de memoria será por tanto (0.9
nseg + 162 nseg = 180 nseg.
Respuesta: B (180 nseg)
6.- [Ver las páginas 20 y ss. del texto base de teoría.] Veamos cada una de las afirmaciones por separado:
A) Falsa, pues también transimiten señales de control. [Pág. 22]
B) Verdadera. [Pág. 25]
Problemas de los exámenes del curso 2001/2002 5

C) Falsa, pues al tratarse de un medio compartido al que sólo puede acceder un dispositivo en cada ocasión
hace falta un método de arbitraje del mismo. [Pág. 27]
Respuesta: B
7.- [Ver las páginas 136 y ss. del texto base de teoría.] En E/S controlada por programa la CPU pide un dato, entra
en un bucle de espera y lee el dato cuando el periférico lo tiene disponible.
Según el enunciado de esta pregunta, en un momento dado el computador se encuentra realizando únicamente
E/S controlada por programa. Desde que la CPU pide el dato hasta que está disponible pasan 6 mseg. Durante este
tiempo la CPU se encuentra ejecutando el bucle de espera. Éste consta de una única instrucción, instrucción que
tarda en ejecutarse 200µseg. Por tanto, el bucle de espera se ejecutará (6 mseg) / (200
µseg) = (6000 µseg) / (200
µseg) = 30 veces.
En leer el dato, ya disponible, y preparar la solicitud de lectura del dato siguiente la CPU emplea otras 10
instrucciones. Luego el proceso completo de pedir y leer un dato dura 40 instrucciones, de las que 30 están
× 100 = 75 % del tiempo de
dedicadas en exclusiva al bucle de espera. Es decir, el bucle de espera ocupa el 30 / 40
la CPU.
Respuesta: C (75 %)
8.- La manera más sencilla de contestar a esta pregunta consiste en convertir los dos números BCD a su
representación en decimal: X = 935 e Y = 151. El cociente de su división entera es 6 con resto 29, resto que
expresado como un númerobinario de 12 bits es 000000011101.
Respuesta: C (000000011101)

Cuestiones teórico-prácticas - Junio 2ª semana:


1.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 1 del test.
2.- (0.5 puntos) Justificar razonadamente el resultado de la pregunta 2 del test.
3.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 3 del test.

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema - Junio 2ª semana:


El siguiente algoritmo describe una determinada operación de un sistema digital.
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos
de la Figura 2: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un
contador módulo-16 bidireccional y circuitos triestado de conexión unidireccional con control de 8 bits;
además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y
decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples
6 Estructura y Tecnología de Computadores II

dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos.


B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento
diseñada en el apartado A) empleando la técnica de los elementos de retardo.Detalle y explique
claramente todos y cada uno de los pasos seguidos hasta obtener la solución.

1: Declaración: A[8], B[8], Cont[4]; Bus[8]


2: A ← Bus;
3: B ← Bus, Cont = 0;
4: while Cont ≠ 14
5: if A es multiplo de 4 then
6: A ← A - B, Cont = (Cont +2) mod 16;
7: else
8: B ← B + A;
9: endif;
10: endwhile;
11: Bus ← B;
12: Bus ← A;
13: Parar;

Ck E A B Ck E
ED c0 c0
c0
Reg. Desp. UAL Contador c0
EI c1 c1
Q R Q S
c1c0 Q(t+1) c0 R c1c0 Q(t+1) c0 S
00 Q(t) 0 A+B 00 Q(t) 0 -
01 D. Dcha. 1 A-B 01 Q(t)-1 mod 16 1 E
10 D. Izq. 10 Q(t)+1 mod 16
11 Carga 11 0

Figura 2: Módulos secuenciales del problema con sus tablas de funcionamiento

Solución

a) En primer lugar se deben analizar las operaciones a realizar para ver qué recursos se necesitan y si éstos se
encuentran disponibles:
• Sendos registros A y B de 8 bits que deben poder cargarse desde el bus y volcar su contenido al bus. Así
mismo, deben poder cargarse desde la salida de la UAL. Como registros nos ofrece el enunciado registros
de desplazamiento de 8 bits con capacidad de carga en paralelo. Éstos son los registros que habrá que utilizar,
aunque su capacidad de desplazamiento no se utilizará.
• Para seleccionar el origen de datos de los registros se utilizarán multiplexores.
Problemas de los exámenes del curso 2001/2002 7

• Los registros volcarán su contenido al bus a través de sendaspuertas triestado, para evitar problemas
eléctricos.
• Un contador módulo-16 (de 4 bits de longitud de palabra por tanto). Aunque en el algoritmo propuesto la
cuenta se ha de incrementar en 2 en cada ocasión y el contador de que se dispone sólo puede contar de 1 en
1, esto no supone nungún problema ya que bastará con incrementar 1 dos veces seguidas.
Del análisis del algoritmo se sigue que harán falta dos señales de condición:
• s0, que indique si el valor del registro A es múltiplo de 4. Para ello veamos cómo son los números múltiplos
de 4:

A7 A6 A5 A4 A3 A2 A1 A0

4: 0 0 0 0 0 1 0 0

8: 0 0 0 0 1 0 0 0

12: 0 0 0 0 1 1 0 0

16: 0 0 0 1 0 0 0 0

20: 0 0 0 1 0 1 0 0

Tabla 1: Los múltiplos de 4

Es decir, son todos ellos números acabados en 00. Si se admite el 0 como múltiplo de 4 (este problema se
resolverá aquí adoptando este criterio) entonces se tiene que
s0 = A1 A0. Si se considera que 0 no es múltiplo
de 4 entonces alguno de los bits más significativos ha de ser distinto de 0:
s0 = (A7 + A6 + A5 + A4 + A3 +
A2) A1 A0.
Otra manera de ver cómo son los números múltiplos de 4 es la siguiente: Un número binario
anan-1an-2...a1a0
tiene el valor decimalan×2n + an-1×2n-1 + an-2×2n-2 + ... + a1×21 + a0×20. Para dividir este número entre
4 lo multiplicamos por 2-2, con lo que resulta: an×2n-2 + an-1×2n-3 + an-2×2n-4 + ... + a2×20 + a1×2-1 +
a0×2-2. Si el número inicial es divisible entre 4, la parte decimal del cociente de la división debe ser 0. En
este caso, la parte fraccionaria esa1×2-1 + a0×2-2, pues 2-1 = 0.5 y 2-2 = 0.25. Ya que a1 y a0 sólo pueden
tomar los valores 0 ó 1 (≥ 0), la única forma de que la parte fraccionaria sea 0 es quea1 = a0 = 0.

• s1, que indica si el contador vale 14. Con cuatro dígitos binarios, 14 se expresa como 1 1 1 0, luego esta señal
de condición se realizará fácilmente con una puerta AND y un inversor.
Un posible diseño para la Unidad de Procesamiento, que cumple con todos estos requisitos, es el que se
muestra en la Figura 3.
Ésta no es la única Unidad de Procesamiento capaz de realizar el algoritmo pedido. Por ejemplo, dado que los
registros A y B no se van a cargar simultáneamente, es posible hacer uso de un único multiplexor. Así mismo, dado
8 Estructura y Tecnología de Computadores II

que la capacidad de desplazamiento de los registros no se va a utilizar, y ya que 11 implica carga en paralelo y 00
implica no-operación, es posible gobernar cada uno de los registros con una única señal de control conectada
simultáneamente a sus entradas c0 y c1. La Figura 4 muestra cómo se realizarían estas modificaciones. (Este
diseño, al hacer uso de menos componentes y menos señales de control, es más económico.) En lo que sigue, el
problema se resolverá haciendo uso del diseño de la Figura 3.

BUS 8

0 1 0 1
c9 c0 MUX c1 MUX c10

ED c0 c2 ED c0 c4 c0 c6
Reg. desp. A c Reg. desp. B c Contador c1
EI 1 c3 EI 1 c5 c7
8
4

A1 A0 Cont3 Cont0
A B
UAL c8

s0 s1
Unidad de
Procesamiento
c0
Inicio Circuito c1
Fin de
Reloj Control
c10
Unidad de
Control

Figura 3: Diseño de la Unidad de Procesamiento


Problemas de los exámenes del curso 2001/2002 9

BUS 8

0 1
c0 MUX

Reloj

ED c0 c2 ED c0 c4
EI Reg. desp. A c EI Reg. desp. B c
1 1
8

A B
UAL c8

Figura 4: Fragmento de la Unidad de Procesamiento, en el que se muestran algunas posibles modificaciones en el diseño

b) Para describir el funcionamiento de la Unidad de Control solicitada en este apartado, se diseña el diagrama
de transición de estados de laFigura 5, donde el significado detallado de cada uno de los estados propuestos viene
dado por la Tabla 2. Obsérvese que esta Unidad de Control se ha diseñado como una máquina de Moore. (Dada la
sencillez del algoritmo propuesto, se ha obtenido directamente el diagrama de estados a partir de éste, sin
necesidad de pasar por el diagrama ASM.)

s1

Inicio s1s0
S0 S1 S2 S3 S4 S5 S7 S8

Inicio

s1s0
S6

Figura 5: Diagrama de estados de la Unidad de Control


10 Estructura y Tecnología de Computadores II

Estado de la Unidad Microoperaciones Señales de control


de Control efectuadas a activar
S0 Ninguna Ninguna
S1 A ← Bus (c0=0), c2, c3
B ← Bus (c1=0), c4, c5
S2
Cont ← 0 c6, c7
S3 Ninguna Ninguna
A←A-B
c0, c2, c3, c8
S4 Cont ← (Cont + 1) mod
(c6=0), c7
16
Cont ← (Cont + 1) mod
S5 (c6=0), c7
16
S6 B←B+A c1, c4, c5, (c8=0)
S7 Bus ← B c10
S8 Bus ← A c9

Tabla 2: Acciones tomadas por la Unidad de Control en cada estado


Este diagrama de transición de estados cumple todos los requisitos para ejecutar el algoritmo propuesto en el
enunciado del problema utilizando la Unidad de Procesamiento diseñada en el apartado anterior. Se puede
comprobar, por ejemplo, que ejecuta el buclewhile mientras el valor del contador sea distinto de 14, ya que de
verificarse esta condición (s1 = 1) del estado S3 se salta al estado S7. En caso contrario, en S3 se comprueba si A es
múltiplo de 4 (s0) o no (s0) y se salta al estado correspondiente. Obsérvese que, como se comentó en el apartado
anterior, el contador no se puede incrementar en 2 en un único estado, por lo que ha habido que incrementarlo en
una unidad dos veces consecutivas, en los estados 4Sy S5.
La Unidad de Control se realiza utilizando la técnica de loselementos de retardo, según pide el enunciado,
asignando un biestable tipo D a cada estado, tal como se muestra en la Figura 6. Para evaluar las condiciones en 3, S
en lugar de utilizar un demultiplexor de dos entradas de controls1( y s0) y cuatro salidas se ha preferido utilizar, de
manera equivalente, dos multiplexores colocados en cascada, cada uno de ellos con una única entrada de control y
dos salidas. También se muestra cómo se forman las distintas señales de control a partir de las salidas de los
biestables tipo D [ver las páginas 304 a 307 del texto base de teoría]. Obsérvese que los bloques de decisión
corresponden a demultiplexores, según se muestra en la Figura 7 [ver las páginas 304 a 307 del texto base de
teoría].
Problemas de los exámenes del curso 2001/2002 11

Inicio Set
S0 S0

Inicio Inicio Demux


0 1

S1 S1 c2, c3

S2 S2 c4, c5,
c6, c7

s1s0 S3 S3
s1
s1 Demux
0 1
s1s0 s0
0 1

S4 S4
c0, c2, c3,
c7, c8
S5 S5
c7

S6 S6
c1, c4, c5

S7 S7
c10

S8 S8
c9
CK
Clear

c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10

Figura 6: Unidad de Control medianteelementos de retardo(derecha); se muestra nuevamente el diagrama de estados


(izquierda) para ilustrar el alto grado de paralelismo que existe entre éste y la realización mediante elementos de retardo
12 Estructura y Tecnología de Computadores II

Entrada
Entrada Entrada

0 1 V Demux
V
0 1

Salida 0 Salida 1 Salida 0 Salida 1 Salida 0 Salida 1

Figura 7: Bloque de decisión (izquierda) visto como un demultiplexor (centro) y su realización equivalente con puertas
lógicas (derecha)
Test – Septiembre:
1.- En la figura se muestra la Tabla de Transición de Estados de un circuito secuencial síncrono con
2 estados (S0 y S1) y dos entradas (x, y). Q es la variable de estado necesaria para la representación
de los 2 estados del circuito. El circuito se diseña empleando un elemento de memoria tipo D.
Indicar cuál de las siguientes expresiones de entrada al elemento de memoria es correcta:
Estado Entrada xy A) D = Q x y + Q x y
Presente B) D = Q ( y + x ) + x y
Q 00 01 10 11
0 0 0 1 0 C) D = Q x y
1 1 0 1 1 D) Ninguna de las anteriores
2.- En una memoria caché en la que se realizan 1020 accesos se producen 1018 fallos. La tasa de
aciertos correspondiente es:
A) 75% B) 99% C) 95% D) Ninguna de las anteriores
3.- Desde el punto de vista de una caché una dirección de memoria principal se divide en tres
campos: ETIQUETA 20 bits, CONJUNTO 7 bits y PALABRA 5 bits. La caché tiene 2 bloques por
conjunto. Sabiendo que la longitud de palabra es de 1 byte, ¿cuál es el tamaño de la memoria caché?
A) 1 Kbyte B) 2 Kbytes C) 4 Kbytes D) Ninguna de las
anteriores.
4.- Si al número binario X = 01010001110 le aplicamos la siguiente secuencia de operaciones de
desplazamiento: LICS, LDCS, LICS, LDCS, LICS, LDCS y LDCS, ¿cuál es el resultado de la
operación?
A) 01010001110 B) 01110000111 C) 00101000111 D) Ninguna
de las anteriores
5.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posición de conexión de un dispositivo a la línea de arbitraje determina su prioridad en
el uso del bus.
II. No se requiere un árbitro.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

1
6.- Con el objetivo de acercar la velocidad de la unidad de memoria de un computador a la
velocidad de los registros de su CPU, a un coste razonable, indique cuál de las siguientes
alternativas sería más adecuada:
A) Aumentar el número de registros de la CPU.
B) Hacer uso de una memoria caché.
C) Aumentar la capacidad de los discos magnéticos.
D) Ninguna de las anteriores.
7.- Considere una CPU en la que tanto las instrucciones como los datos tienen una longitud de 16
bits. El formato de las instrucciones es el siguiente: los 4 bits más significativos de la instrucción
representan el código de operación y los otros 12 bits representan la dirección de memoria. A
continuación se muestra una lista parcial de los códigos de operación:
0011: Cargar el registro acumulador desde memoria.
0101: Almacenar en memoria el contenido del registro acumulador.
0110: Sumar el contenido del acumulador y el de una dirección de memoria. El resultado se
almacena en el acumulador.
Indicar cuál de los siguientes fragmentos de programa suma el contenido de la dirección de
memoria 3A516 al contenido de la dirección de memoria 3B916 y almacena el resultado en la
dirección de memoria 3A516.
A) 33A516, 63B916, 53A516 B) 33B916, 63A516, 53A516
C) Los anteriores son correctos D) Ninguno de los anteriores
8.-Indique cuántos módulos de memoria ROM de 2n palabras × 1 bit/palabra serían necesarios para
diseñar un circuito combinacional que sume un número n bits y otro de 2n bits.
A) 22n×(2n+1). B) 23×(2n+1). C) 23×(2n). D)
Ninguno de las anteriores.

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

Q x y D(t ) , de la tabla de estados Qx y + Q x y ( )


Q y + x + xy Qx y
0 0 0 0 0 0 0
0 0 1 0 0 0 0
0 1 0 1 1 1 0
0 1 1 0 0 0 0
1 0 0 1 0 1 0
1 0 1 0 1 0 0
1 1 0 1 0 1 1
1 1 1 1 0 1 0

Una misma función lógica puede expresarse de múltiples maneras, todas ellas equivalentes entre sí.
Como se deduce a continuación, en este caso la solución B) coincide con la expresión simplificada
de la función de entrada al elemento de memoria, D(t)=Q(t+1). El que la expresión simplificada
obtenida por el método de Karnough sea igual a la expresión B) es condición suficiente para afirmar

2
que la solución correcta es la B), sin embargo no es una condición necesaria, ya que al plantear el
enunciado del ejercicio, podría haberse sustituido la expresión B) por cualquier otra de sus formas
( )
equivalentes (por ejemplo, D(t ) = Q y x + x + Qx + x y = Q yx + Q y x + Qx + x y ).

Q\xy 00 01 11 10

xy D(t ) = Q y + Qx + x y
( )
0 0 0 0 1
= Q y + x + xy
1 1 0 1 1 (Solución B)

Qy Qx

2.- [Ver la página 79 del texto base de teoría]. La tasa de acierto, expresada en tanto por cien, se
define de la forma siguiente:
Número de veces que la palabra solicitada se encuentra en M ca
h (% ) = ⋅ 100
Número total de referencias
De acuerdo con el enunciado, de cada 10 20 referencias se producen 1018 fallos. Esto es equivalente
( )
a afirmar que la palabra solicitada se encuentra en memoria caché 10 20 − 1018 veces por cada
20
10 referencias. Sustituyendo en la expresión anterior, se obtiene el tanto por ciento de tasa de
aciertos:
10 20 − 1018 100 ⋅ 1018 − 1018 100 − 1
h (% ) = ⋅ 100 = ⋅ 100 = ⋅ 100 = 99% (Respuesta B:
10 20
100 ⋅ 10 18
100
99%)
(Nota: 10 20
− 10 ≠ 10 )
18 2

3.- [Ver la sección 2.4.3 del libro base de teoría]. El enunciado indica que la memoria caché
interpreta la dirección de la memoria principal de la forma siguiente:
ETIQUETA 20 bits, CONJUNTO 7 bits, PALABRA 5 bits
De esto se deduce que la memoria caché está organizada de forma asociativa por conjuntos. El
tamaño de la memoria caché se calcula haciendo las siguientes consideraciones:
• Puesto que son necesarios 7 bits para especificar el conjunto, la caché dispone de 2 7
conjuntos.
• Según se indica en el enunciado, tiene 2 bloques por conjunto.
• Son necesarios 5 bits para direccionar una palabra dentro del bloque, con lo cual tiene 2 5
palabras en cada bloque.
• El enunciado indica que la longitud de cada palabra es 1 byte.
De lo anterior, en tamaño de la caché es:
(2 7
) ( )
conjuntos ⋅ (2 bloques/conjunto ) ⋅ 2 5 palabras/bloque ⋅ (1 byte/palabra ) = 213 byte = 8 Kbyte

3
Por tanto, la solución correcta es: D) Ninguna de las anteriores

4.- [Ver la sección 4.9.1 del texto base de teoría]. La secuencia de operaciones de desplazamiento
aplicada sobre el número binario es:
LICS, LDCS, LICS, LDCS, LICS, LDCS y LDCS
Obsérvese que los desplazamientos LICS y LDCS cancelan uno el efecto del otro. Es decir, si se
aplica la secuencia de dos desplazamientos LICS, LDCS, el número obtenido es el mismo que el
original. Por ello, la secuencia de 7 desplazamientos del enunciado es equivalente a LDCS (última
operación de desplazamiento).
Realizando la operación LDCS sobre el número binario X = 01010001110 se obtiene:
00101000111 (Respuesta C)

5.- [Ver la página 28 del libro base de teoría]. En un bus con arbitraje distribuido:
I. “La posición de conexión de un dispositivo a la línea de arbitraje determina su prioridad en
el uso del bus”. Con esta estrategia, el módulo situado más a la izquierda en la cadena que
precise el bus es el que lo consigue. Por consiguiente, la afirmación es correcta.
II. “No se requiere un árbitro”. En el esquema distribuido, no hay un controlador central. En su
lugar, cada módulo contiene la lógica de control suficiente para poder acceder al bus y todos
ello actúan de forma cooperativa para poder compartir el recurso. Por consiguiente, esta
afirmación es verdadera.
Respuesta correcta: A) I: sí, II: sí.

6.- [Ver páginas 53 a 55 y 75 del texto base de teoría]. Con el objetivo de acercar la velocidad de la
unidad de memoria de un computador a la velocidad de los registros de su CPU, a un coste
razonable, la alternativa más adecuada es hacer uso de una jerarquía de memorias, es decir, emplear
una memoria caché (la respuesta B es correcta).
Este objetivo también puede conseguirse aumentando el número de registros de la CPU, pero el
coste de esta solución es excesivo para ser viable (la respuesta A es falsa).
Mediante el aumento de la capacidad de la memoria externa, por ejemplo de los discos magnéticos,
no se consigue incrementar la velocidad de la memoria interna (la respuesta C es falsa).
Respuesta correcta: B) Hacer uso de una memoria caché.

7.- [Ver la sección 1.2.2 del libro base de teoría]. Tanto el fragmento de programa de la opción A
(33A516, 63B916, 53A516), como el fragmento de la opción B (33B916, 63A516, 53A516), suma el
contenido de la dirección de memoria 3A516 al contenido de la dirección de memoria 3B916 y
almacena el resultado en la dirección de memoria 3A516.
• De acuerdo al programa de la opción A, se carga el contenido de 3A516 en el acumulador
(33A516), se suma el contenido del acumulador al contenido de 3B916 (63B916) y se almacena
el resultado en 3A516 (53A516).
• De acuerdo con el programa de la opción B, se carga el contenido de 3B916 en el acumulador
(33B916), se suma el contenido del acumulador al contenido de 3A516 (63A516) y se almacena
el resultado en 3A516 (53A516).
Respuesta correcta: C) Los anteriores son correctos.

8.-[Ver la sección 4.1 del texto base de teoría]. Se desea diseñar un circuito combinacional que
sume un número n bits y otro de 2n bits empleando para ello tantos módulos de memoria ROM de
2n palabras × 1 bit/palabra como sean necesarios. El tamaño total de la ROM necesaria, resultante

4
de la conexión de estos módulos, se calcula teniendo en cuenta que:
• La memoria ROM resultante deberá tener n + 2n = 3n líneas de dirección, es decir, 2 3n
palabras.
• Dado que el resultado de sumar un número de n bits, con otro de 2n bits, es un número de
2n + 1 bits, cada palabra de la ROM resultante deberá tener 2n + 1 bits.
A consecuencia de lo anterior, la ROM resultante debe tener la siguiente capacidad total:
2 3n palabras × (2n + 1) bits/palabra
Puesto que esta memoria debe construirse usando módulos de 2n palabras/módulo × 1 bit/palabra, es
preciso emplear:
2 3n palabras × (2n + 1) bits/palabra
= 2 2 n (2n + 1) módulos
2 palabras/módulo × 1 bits/palabra
n

Respuesta correcta: A) 22n×(2n+1).

Cuestiones teórico-prácticas – Septiembre:


1.- Justificar el resultado de la pregunta 1 del test.
2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.

Solución
1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema - Septiembre:
El siguiente algoritmo describe una determinada operación de un sistema digital.
A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando, si
son necesarios, los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL
con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión
unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales
(MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta
que al bus vuelcan datos múltiples dispositivos.
B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de
Procesamiento diseñada en el apartado A) empleando un elemento de memoria tipo D por
estado. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la
solución.
Nota: A0 es el bit menos significativo de A.

1: Declaración: A[8], B[8], Cont[3];


2: A ÅBus;
3: B Å 1;
4: for Cont=0 to 3 do
5: if A1A0≠01 then

5
6: B Å 0;
7: endif;
8: Despl.CerradoDcha(A);
9: Despl.CerradoDcha(A);
10: endfor;
11: Bus Å B;
12: Parar;

Ck E A B Ck E
ED c0 c0
c0
Reg. Desp. UAL Contador c0
EI c1 c1
Q R Q S

c1c0 Q(t+1) c0 R c1c0 Q(t+1) c0 S


00 Q(t) 0 A+B 00 Q(t) 0 -
01 Des. Dcha. 1 A-B 01 0 1 E
10 Des. Izq. 10 Q(t)+1 mod 8
11 Carga 11 Q(t)

Figura 1: Módulos secuenciales del problema con sus tablas de funcionamiento.

Solución
a) Del análisis de las operaciones del algoritmo propuesto se puede concluir que:

ƒ Es necesario un registro de 8 bits llamado A. Este registro debe poder realizar dos operaciones:
- Carga de 8 bits de datos desde el bus, correspondiente a la operación A Å Bus. El tipo de
registro disponible es capaz de cargar en paralelo, y puede realizar esta operación.
- Desplazamiento cerrado a la derecha, correspondiente a la operación
Despl.CerradoDcha(A). En este caso el tipo de registro sólo realiza la operación
Despl.Dcha, con lo que se hace necesario conectar el bit menos significativo de A (llamado
A0), a la entrada ED del registro.

En la Figura 2 se puede observar el esquema de conexiones para este registro:

Figura 2: Diagramas de conexiones para el registro A.

6
ƒ Es necesario generar una señal de condición, correspondiente a la operación if A1A0≠01 then,
_ _
que se llamará s1. Para ello se puede usar la expresión equivalente NOT ( A1 A0 ) = A1 + A0 de
tal forma que se generará dicha condición usando una puerta OR y un inversor, como se
muestra en la Figura 3.

Figura 3: Generación de la señal de condición s1.

_
Otra opción podría ser generar la condición s1 como A1 AND A0 y tenerlo en cuenta a la hora
de realizar el diagrama de estados considerando la operación if A1A0≠01 then verdadera
cuando no se cumple s1 (es decir, NOT s1).

ƒ Es necesario un registro de 8 bits llamado B. Este registro debe ser capaz de cargar dos
valores constantes “0” y “1” (Operaciones BÅ0, BÅ1) y volcar su contenido al bus
(Operación BusÅB).
- Para volcar el contenido del registro al bus es necesario usar una puerta triestado que
controle la operación de escritura en el bus.
- Para distinguir el valor a cargar se podría usar un multiplexor con dos entradas constantes 0
y 1 y usar el valor de salida del multiplexor 2 a 1 como bit menos significativo de la entrada
E del registro B, poniendo al valor constante 0 el resto de bits de la entrada E del registro.
Pero en este caso se puede eliminar dicho multiplexor y usar una señal de control (generada
por la unidad de control) que determina el valor del bit menos significativo de la entrada. Si
llamamos a esta señal de control CLOADB, cuando sea igual a 1 se cargará el valor “1” en el
registro B y si es igual a 0 se cargara “0” en B. En la Figura 4 se muestra el diagrama de
conexiones para el registro B.

Figura 4: Diagramas de conexiones para el registro A.

7
ƒ Finalmente es necesario implementar la lógica de la operación for Cont=0 to 3 do usando
un contador de tamaño adecuado. En este caso se debe contar de 0 a 3 y se dispone de un
contador módulo 8 (con tres estados Cont2Cont1Cont0) con lo que se hará necesario detectar
el fin de cuenta (Cont=3) usando una señal de condición s0. Esta señal de condición se
puede generar usando la condición Cont1Cont0=11 o bien usar la señal Cont2 como señal de
fin de cuenta (si Cont2=1 entonces Cont>3). Se va a usar esta segunda aproximación porque
de esta forma no es necesario usar una puerta AND de las entradas Cont1 y Cont0. El
diagrama de conexiones quedaría tan simple como el que se muestra en la Figura 5.

Figura 5: Diagramas de conexiones para el registro A.

Una vez definidos los recursos necesarios para implementar la unidad de procesamiento y las
señales de condición que debe generar, sólo quedan por definir las señales de control que la unidad
de control debe generar. En la Tabla 1 se muestran las definiciones de cada una de las señales de
control, la operación que realizan y el valor de las señales de control para dicha operación.

Señal de Operación a realizar Valor


control
CA0, CA1 Cargar registro A 11
CA0, CA1 Desplazamiento cerrado a la derecha de A 10
CB, Cargar registro B con 0 1
CB, CLOADB Cargar registro B con 1 11
CC0, CC1 Resetear contador 10
CC0, CC1 Incrementar módulo 8 una unidad el contador. 01
CBUS Volcar el contenido del registro B en el bus 1
Tabla 1: Señales de control que debe generar la Unidad de Control para cada operación.

De esta tabla se puede deducir que las variables de control del registro A y el contador se
corresponden con las entradas c1 y c0 de los mismos, pero en el caso del registro B solo es necesario
usar una señal de control, cB, asociada a la carga (si cB=1 Æ c1c0=11) y a la conservación el estado
(si cB=0 Æ c1c0=00). La señal CBUS es la señal de control de la puerta triestado que controla la
escritura en el bus.

Con todo esto, el diagrama de la unidad de procesamiento queda como se muestra en la Figura 6.

8
Figura 6: Diseño de la Unidad de Procesamiento.

b) Para describir el funcionamiento de la Unidad de Control solicitada en este apartado, se ha


diseñado el diagrama de transición de estados de la Figura 7, donde el significado detallado de cada
uno de los estados propuestos viene dado por la Tabla 2. Obsérvese que esta Unidad de Control se
ha diseñado como una máquina de Moore. (Dada la sencillez del algoritmo propuesto, se ha
obtenido directamente el diagrama de estados a partir de éste, sin necesidad de pasar por el
diagrama ASM.)

Figura 7: Diagrama de estados de la unidad de control.

9
Estado de la Microoperaciones efectuadas Señales de control a
unidad de control activar
S0 Ninguna (Estado inicial) Ninguna
S1 A ÅBus, Cont Å0 CA0, CA1, CC0
S2 B Å1 CB, CLOADB
S3 Ninguna (Comprobamos condiciones s1 y s0) Ninguna
S4 BÅ0 CB
S5 Despl.CerradoDcha(A) CA0
S6 Despl.CerradoDcha(A), CA0, CC1
Cont ÅCont+1 (mod 8)
S7 Bus Å B CBUS
Tabla 2: Acciones tomadas por la Unidad de Control en cada estado.

Este diagrama de transición de estados cumple todos los requisitos para ejecutar el algoritmo
propuesto en el enunciado del problema utilizando la Unidad de Procesamiento diseñada en el
apartado anterior. Se puede
comprobar, por ejemplo, que se ejecuta el bucle for cuatro veces, ya que se incrementa el contador
en la última microoperación que se ejecuta dentro del bucle, de tal forma que cuando se llega al
valor Cont=4 se activa la señal s0 y se termina el bucle. Obsérvese que siempre se deben ejecutar las
dos microoperaciones de desplazamiento cerrado del registro A independientemente de la
condición A1A0 ≠ 01 y que además se debe hacer en dos estados consecutivos.

La Unidad de Control se realiza utilizando la técnica de los elementos de retardo, según pide el
enunciado,
asignando un biestable tipo D a cada estado, tal como se muestra en la Figura 8. También se
muestra cómo se forman las distintas señales de control a partir de las salidas de los biestables tipo
D [ver las páginas 304 a 307 del texto base de teoría]. Obsérvese que los bloques de decisión
corresponden a demultiplexores, según se muestra en la Figura 8 [ver las páginas 304 a 307 del
texto base de teoría].

10
Figura 8: Unidad de Control mediante elementos de retardo.

11
Estructura y Tecnología de Computadores II

Septiembre 2002

Solución de los tests

Original Reserva
A B C D E F G H
1 B B B B A A A A
2 B B B B D D D D
3 D D D D A A A A
4 C C A C D B B B
5 A A A A D B B B
6 B C A A B A A D
7 C A C A B D D A
8 A C C C B D D D
2003 Junio

Test:

1.- Dada la siguiente implementación secuencial de un


comparador de dos números de n bits sin signo X e Y, donde éste
01 00,11,01
recibe los bits xi e yi de forma serie, comenzando por los bits S2
Inicio S1
menos significativos, los estados S1, S2 y S3 se corresponden
01
con: 10 10
A) S1:x=y, S2:x<y, S3:x>y. 00,11
S3
B) S1:x<y, S2:x>y, S3:x=y.
00,11,10
C) S1:x>y, S2:x<y, S3:x=y.
D) Ninguno de los anteriores.

2.- Un computador dispone de una unidad de disco con una velocidad de lectura de 2 21 palabras por segundo y con
un buffer interno de 220 palabras que cuando se llena transfiere su contenido a la memoria principal utilizando
DMA por ráfagas. El controlador de DMA tarda 4 ciclos de reloj en transmitir cada palabra. Cuando la UCP
dispone en exclusiva del bus las instrucciones emplean, en promedio, 8 ciclos de reloj en ser ejecutadas. Si la
frecuencia de reloj del computador son 500 × 106 ciclos/s, en una operación de lectura del disco ¿Cuántas
instrucciones por segundo dejan de ser ejecutadas por la UCP?
A) 2 21 B) 223 C) Ninguna D) Ninguna de las anteriores
3.- Considérese el diagrama de estados, correspondiente a una unidad de control, mostrado en la figura adjunta.
Señale cuál de las siguientes afirmaciones es correcta:
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.

1
2 Estructura y Tecnología de Computadores II
I
S0
B) Puede realizarse la sÌntesis de la unidad de control empleando un registro de I c0 , c3
2 bits, un multiplexor de 4 a 1, y una memoria ROM de 8 palabras, con 8 bits S1
por palabra. s0 0 s0 c1
C) Las dos anteriores son correctas. S2
s1 c2 , c3 s1 c2 , c3
D) Todas las anteriores son falsas.
4.- La memoria de un computador consta de 4 módulos conectados a un bus de memoria común. Cuando se
realiza una petición de escritura, el bus está ocupado por las señales de datos, dirección y control durante 50 ns. En
esos mismos 50ns y en los 200 ns siguientes, el módulo de memoria direccionado ejecuta 1 ciclo aceptando y
almacenando el dato. Las operaciones de los módulos pueden solaparse, pero sólo puede haber una petición por
instante de tiempo. Si tC representa el tiempo de ciclo de escritura, indique cuál es la velocidad máxima de
escritura:
A) 1/ tC B) 4/ tC C) 2 × 10 7 palabras/s D) Ninguna de las anteriores
5.- Un disco magnético con 1024 pistas, numeradas del 0 al 1024, tiene la siguiente cola de peticiones de acceso:
850, 25, 308, 400, 632, 168, 720 y 302. Utilizando la planificación SCAN ¿en qué orden se atienden las solicitudes
de acceso si inicialmente la cabeza se halla en la pista 500?
A) 632, 720, 850, 25, 168, 302, 308, 400 B) 632, 720, 850, 400, 308, 302, 168, 25
C) 400, 168, 302, 308, 25, 632, 720, 850 D) 632, 25, 720, 168, 850, 302, 400, 308
6.- Considere una memoria asociativa de n palabras y 4 bits/palabra. Indique 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 cuya
celda de memoria contenga un número par, y un 0 en caso contrario. (Se considera que el cero es un número par).
A) A=0010, K=0010 B) A=0011, K=0011
C) A=1000, K=0001 D) Ninguna de las anteriores
7.- Dada la siguiente tabla de funciones de una ALU, y suponiendo que se dispone de conexiones a “0” lógico y a
“1” lógico, decir si las siguientes afirmaciones son ciertas.
f1 f2 f3 f4
x⊕y x⊕y xy + x y
I. Se pueden implementar simultáneamente todas las funciones usando dos puertas XOR y una puerta NOT.
II. Se pueden implementar simultáneamente todas las funciones usando una ROM de 4 palabras de 3 bits.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué secuencia de instrucciones
calcula la expresión X = Y 2(X+Z) ?
A) Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X];
B) Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult;Mult; Pop[X];
C) Push[Y]; Push[Y]; Mult; Push[X]; Push[Z]; Add; Mult; Pop[X];
D) Todas las anteriores
Examen junio 2003 3

Solución

1.- El resultado de la comparación de dos números X e Y puede ser: X=Y, X>Y, Y>X. Por eso el diagrama de
estados tiene tres estados. Los bits de los números a comparar se reciben en serie y comenzando por los menos
significativos. Mientras los bits de ambos números sean iguales (00 ó 11) se permanecerá en el estado S1. Luego
este estado corresponde obviamente con x=y. En el momento en que alguno de los bits recibidos sea distinto se
pasará al estado S2 ó S3 y ya no se podrá “regresar”, sea cual sea la entrada al S1 (será imposible que los números
sean iguales). Si estando en S1 se recibe como entrada 01, se pasa a S2, estado que indica por lo tanto que Y>X.
Análogamente, si estando en S1 se recibe como entrada 10, se pasa a S3, estado que implica que X>Y. Obsérvese
que estando en el estado S2 se permanecerá en él mientras no se reciba como entrada x=1, y=0, en cuyo caso se
pasaría al estado S3. Análogamente, estando en S3 sólo se puede acceder a S2 si se recibe como entrada x=0, y=1.
Respuesta: A ( S1:x=y, S2:x<y, S3:x>y)
2.- El buffer no se usa en los cálculos pero se llena y vacía 2 veces por segundo. En un segundo la unidad de disco
lee 221 palabras que se transfieren a memoria en 221 palabras x 4 ciclos/palabra = 223 ciclos. Estos 223 ciclos
suponen 223/8 = 2 20 instrucciones que la UCP no ejecutan en un segundo.
Respuesta: D (Ninguna de las anteriores)
3.- [Ver apartado 5.5.8 del texto base de teoría] . El diagrama de estados propuesto tiene:
• 3 estados. Necesita 2 bits para su codificación (n=2).
• 3 entradas a la unidad de control: I, s0, s1 (q=3).
• 4 salidas de la unidad de control: c0, c1, c2, c3 (m=4).
A) Por lo tanto se puede diseñar la unidad de control utilizando una ROM de 2 n+q = 32 palabras de (n+m) = 6
bits/palabra y un registro de n=2 bits. El tamaño propuesto en el enunciado de la pregunta tiene una longitud
de palabra mayor, por lo que se desaprovecha parte de la capacidad de la memoria ROM pero no impide la
realización del diseño propuesto. El esquema del diseño se muestra en la Figura 1.

Figura 1: Diseño de la unidad de control utilizando ROM y registro.


4 Estructura y Tecnología de Computadores II

B) Si se utiliza para el diseño el método de selección por estado, se necesitaría una ROM de 2 n+1 = 8 palabras
de n+m = 6 bits por palabra; un registro de n=2 bits y un multiplexor de 2n = 4 a 1. Al igual que en el caso
anterior se desaprovecha parte de la capacidad de la memoria ROM pero no impide la realización del diseño
propuesto. El diseño es el que se muestra en la Figura 2.

Figura 2: Diseño de la unidad de control utilizando el método de selección por estado.

Respuesta: C (Las dos anteriores son correctas)


4.- [Ver problema 1-3 del libro de problemas]. La situación planteada por el problema se ilustra en la Figura 3,
donde los M i representan los 4 módulos de memoria propuestos.

Figura 3: Esquema de los módulos de memoria.

El ciclo de escritura en los módulos de memoria se muestra gráficamente en la Figura 4. En la primera parte
del ciclo (línea más gruesa) el módulo de memoria utiliza el bus en exclusiva, pero en la segunda parte (línea más
fina) cualquier otro módulo puede hacer uso del bus. Según el enunciado, para todo el problema el tiempo de
ocupación del bus (primera parte del ciclo) es constante e igual a 50 ns.
Examen junio 2003 5

Figura 4: Ciclo de escritura de los módulos de memoria.

Se supone que el tiempo empleado en el almacenamiento del dato son 200 ns. El tiempo de ciclo de escritura
correspondiente, t c, es la suma del tiempo de ocupación del bus más el tiempo de almacenamiento:
tc= 50+200=250 ns
Utilizando los cuatro módulos disponibles, y solapando al máximo los ciclos de escritura para intentar que en
todo momento uno de los módulos esté accediendo al bus, se llega a la situación representada en la Figura 5 .

Figura 5: Máximo solapamiento con t c=250 ns

Como se observa, cada 200 ns empiezan cuatro operaciones de escritura. De hecho, cuando el módulo 4 deja
de utilizar el bus, el módulo 1 no ha tenido tiempo de finalizar la operación de escritura anterior. Esto es,
tc >(#módulos)*(t acceso bus). Durante un tiempo igual a tc -200ns = 50 ns ningún módulo hace uso del bus ya que
todos están ocupados en alguna operación de escritura. Por lo tanto, se inician (o finalizan) 4 operaciones de
escritura cada intervalo de tiempo igual al tiempo de ciclo t c, luego:
4
V max = palabras / tc
tc

Respuesta: B(4/ tC )
5.- [Ver el apartado 2.8.4 del texto base de teoría y el problema 3-32 del libro de problemas]. En el algoritmo
SCAN se van recorriendo todas las pistas en una dirección y satisfaciendo todas las peticiones que se encuentran
en el camino hasta alcanzar la última pista. En ese punto se invierte el sentido del recorrido y la búsqueda prosigue
de la misma forma.
De esta manera con el algoritmo SCAN hay dos opciones según sea el movimiento de la cabeza desde la
posición inicial:
6 Estructura y Tecnología de Computadores II

• Si el movimiento es en la dirección de las pistas decrecientes:


400 308 302 168 25 632 720 850
• Si el movimiento es en la dirección de las pistas crecientes:
632 720 850 400 308 302 168 25
Respuesta: B ( 632, 720, 850, 400, 308, 302, 168, 25)
6.- [Ver apartado 2.5.2 del texto base de teoría]. Si un bit del registro de máscara está a 1 indica la coincidencia de
la correspondiente palabra de la memoria asociativa y del registro argumento (para aquellos bits del registro
argumento cuya posición se corresponde con los bis que son 1 en el registro de máscara).
Como un número par de 4 bits/palabra es de la forma X X X 0, para que los bits del registro máscara cuyas
celdas de memoria contengan un número par sea 1, el registro argumento será de la forma A=X X X 0 y el registro
máscara K= 0 0 0 1.
Respuesta: C (A=1000, K=0001)
7.- Las cuatro funciones que se tienen que implementar simultáneamente son:

f1 f2 f3 f4
x⊕y x⊕y xy + x y
I. Tal como se muestra en la Figura 6, si se dispone de dos puertas XOR y una puerta NOT, sí que se puede
puesto que f3 es en realidad x y con una puerta XOR (conectando una de las entradas a ‘1’ lógico) se tiene
uno de los dos inversores que hacen falta.

Figura 6: Diseño con 2 puertas XOR y una puerta NOT

II. Tal como se muestra en la Figura 7, si se dispone de una ROM de 4 palabras de tres bits también es posible
ya que f3 es en realidad x.

Figura 7: Diseño con una ROM de 4 palabras de 3 bits


Examen junio 2003 7

Respuesta: A ( I: sí, II: sí)


8.- [Ver apartado 6.1.4 del texto base de teoría y el problema 6-4 del libro de problemas]
A)
Contenido de la Pila
Push [X]; X
Push [Z]; X, Z
Add; X+Z
Push [Y]; X+Z, Y
Push [Y]; X+Z,Y, Y
Mult; X+Z, YxY
Mult; (X+Z)x(YxY)
Pop [X];
B)
Contenido de la Pila
Push [Y]; Y
Push [Y]; Y, Y
Push [X] Y, Y, X
Push [Z]; Y, Y, X, Z
Add; Y, Y, X+Z
Mult; Y, Yx(X+Z)
Mult; YxYx(X+Z)
Pop [X];
C)
Contenido de la Pila
Push [Y]; Y
Push [Y]; Y
Mult; YxY
Push [X]; YxY, X
Push [Z]; YxY, X, Z
Add; YxY, X+Z
Mult; (YxY)x(X+Z)
Pop [X];

Por lo tanto las tres secuencias de instrucciones calculan la expresión X=Y2(X+Z)


Respuesta: D (Todas las anteriores)

Cuestiones teórico-prácticas:

1.- Justificar el resultado de la pregunta 1 del test.


2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.
8 Estructura y Tecnología de Computadores II

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema:

Una CPU dispone de una única línea de petición de interrupción (INTR) y de una única línea de
aceptación de interrupción. Diseñe para esa CPU un controlador de interrupciones, de manera que se
puedan atender interrupciones generadas por 3 dispositivos externos mediante líneas de petición de
interrupción (ver la Figura adjunta). Cuando se reciben peticiones de interrupción simultáneas, sólo se
reconoce la más prioritaria. La máxima prioridad la tiene INTR0 y la mínima INTR2 . Además, cada una
de estas líneas de interrupción se ha de poder enmascarar de manera individual mediante un registro de
máscara (M2 M1 M0 ) del controlador de interrupciones (el mecanismo de acceso de la CPU a este registro
no es relevante para este problema). Cuando M j = 0, la correspondiente señal INTR j está enmascarada y
no debe ser atendida. Cuando la CPU activa su línea de aceptación, INTA, se debe informar al periférico
correspondiente, de manera individual, que su petición ha sido aceptada, mediante las líneas de
aceptación INTA2 … INTA0 .

INTR2 INTR1 INTR0

2 1 0 INTR
CONTROLADOR DE
INTR
INTERRUPCIONES INTA CPU
INTA
Máscara: [ M 2M 1M 0 ]
2 1 0

INTA2 INTA1 INTA0


A) Obtenga la tabla de la verdad del controlador de interrupciones.
B) Obtenga la función lógica de las tres líneas INTA2, INTA1, INTA 0 en función de las líneas INTR0 , INTR1 ,
INTR2 , INTA y de los bits del registro de máscara.
C) Diseñe el circuito lógico del controlador de interrupciones, usando para ello puertas AND, OR y NOT.
D) Explique razonadamente cómo podrían conectarse varios controladores de interrupciones de 3 entradas,
como el diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 6 periféricos
externos.
Examen junio 2003 9

Solución

Este problema es similar a los problemas 3-9 y 3-13 del texto “Problemas de Estructura y Tecnología de
Computadores”, 2ª edición. Se recomienda consultar la solución a estos dos problemas con el fin de facilitar la
comprensión de las explicaciones dadas a continuación.
A) Obtenga la tabla de la verdad del controlador de interrupciones.
En el enunciado del problema (al contrario que en los problemas 3-9 y 3-13) se realiza la suposición de que
todas las líneas de petición están enmascaradas. Por este motivo, es preciso tener en cuenta el enmascaramiento de
las líneas de petición al plantear la tabla de la verdad.
Un posible procedimiento para ello consiste en construir primeramente la tabla de la verdad en función de
variables auxiliares, INTR’ i, las cuales representan tanto a la señal de petición de interrupción como a su
mecanismo de enmascaramiento (ver Tabla 1):
INTR’i = INTRi Mi donde i: 0, 1, 2
La señal INTR es el “or lógico” de las señales INTR’1, INTR’ 2 e INTR’3 . De esta forma en cuanto haya una
petición de interrupción por una línea no enmascarada, se genera una petición a la CPU.

INTA INTR’0 INTR’1 INTR’2 INTR INTA0 INTA1 INTA 2


0 X X X X 0 0 0
1 1 X X 1 1 0 0
1 0 1 X 1 0 1 0
1 0 0 1 1 0 0 1
1 0 0 0 0 0 0 0
Tabla 1: Tabla de la verdad del controlador (X representa 0 ó 1 indistintamente).

A continuación, se sustituye en la Tabla 1 cada conjunto de valores de INTR’0 , INTR’1 e INTR’ 2 por las
combinaciones de valores de M 0, M1, M2, INTR0, INTR1 e INTR2 que lo producen. Para ello se tiene en cuenta que:

Mi INTRi INTR’ i
1 1 1
0 X 0
X 0 0

La tabla de la verdad obtenida realizando las sustituciones anteriormente indicadas se muestra en la Tabla 2.
10 Estructura y Tecnología de Computadores II

INTA M0 M1 M2 INTR0 INTR 1 INTR2 INTR INTA0 INTA1 INTA2


0 X X X X X X X 0 0 0
1 1 X X 1 X X 1 1 0 0
1 0 1 X X 1 X 1 0 1 0
1 X 1 X 0 1 X 1 0 1 0
1 0 0 1 X X 1 1 0 0 1
1 0 X 1 X 0 1 1 0 0 1
1 X 0 1 0 X 1 1 0 0 1
1 X X 1 0 0 1 1 0 0 1
1 0 0 0 X X X 0 0 0 0
1 0 0 X X X 0 0 0 0 0
1 0 X 0 X 0 X 0 0 0 0
1 0 X X X 0 0 0 0 0 0
1 X 0 0 0 X X 0 0 0 0
1 X 0 X 0 X 0 0 0 0 0
1 X X 0 0 0 X 0 0 0 0
1 X X X 0 0 0 0 0 0 0
Tabla 2: Tabla de la verdad del controlador (X representa 0 ó 1 indistintamente)

B) Obtenga la función lógica de las tres líneas INTA2, INTA1, INTA 0 en función de las líneas INTR0 , INTR1 ,
INTR2 , INTA y de los bits del registro de máscara.
De la Tabla 1, se deduce que:
• INTA0 = INTA INTR’ 0

• INTA1 = INTA INTR’ 1 INTR’0

• INTA2 = INTA INTR’ 2 INTR’1 INTR’0


Sustituyendo INTR’i por (Mi INTRi), se obtienen las tres funciones lógicas pedidas (que igualmente podían
haber sido obtenidas de la Tabla 2):
• INTA0 = INTA M0 INTR0

• INTA1 = INTA M1 INTR1 (M0 INTR 0)

• INTA2 = INTA M2 INTR2 (M1 INTR 1) (M0 INTR0 )


C) Diseñe el circuito lógico del controlador de interrupciones, usando para ello puertas AND, OR y NOT.
En la Figura 8 se muestra un posible diseño.
Examen junio 2003 11

Figura 8: Controlador de interrupciones

D) Explique razonadamente cómo podrían conectarse varios controladores de interrupciones de 3 entradas,


como el diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 6 periféricos
externos.
Este apartado es análogo al apartado f) del problema 3-13. La conexión de los controladores puede realizarse
como se muestra en la Figura 9. Aunque el dispositivo obtenido de la conexión de los tres controladores permitiría
gestionar 7 periféricos, sólo se señala en la Figura 9 la conexión de 6 de ellos, tal como se pide en el enunciado.
Con la estructura mostrada en la Figura 9, cuando se produce una petición de interrupción por cualquiera de
las líneas INTRi, ésta se transmite a la CPU. Las peticiones realizadas por los dos controladores más alejados de la
CPU generan peticiones en la línea INTR 0 del controlador situado inmediatamente delante de ellos. Asimismo,
cuando la CPU activa la línea de aceptación, INTA, los dos controladores no conectados directamente a la CPU no
pueden activar ninguna de sus salidas hasta que los controladores más próximos que ellos a la CPU no transmitan
por sus respectivas líneas de aceptación INTA0 .
12 Estructura y Tecnología de Computadores II

Figura 9: Controlador de interrupciones capaz de atender a 6 periféricos.


(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
(6758&785$<7(&12/2*,$'(&20387$'25(6,, -XQLR2ULJLQDO7LSRGH([DPHQ%
,1)250$7,&$ '( 6,67(0$6  &RG &DUUHUD  3ODQ DQWLJXR   3ODQ QXHYR   &RG $VLJQDWXUD  DPERV 3ODQHV 
,1)250$7,&$'(*(67,21&RG&DUUHUD 3ODQDQWLJXR 54 3ODQQXHYR &RG$VLJQDWXUD DPERV3ODQHV 
81,&2 0$7(5,$/ 3(50,7,'2ORVOLEURV (VWUXFWXUD\WHFQRORJtDGHFRPSXWDGRUHV\3UREOHPDVGHHVWUXFWXUD\
WHFQRORJtDGHFRPSXWDGRUHV HGLWRULDO6DQ]\7RUUHV 126(3(50,7((/862'(&$/&8/$'25$ 7LHPSRKRUDV
$SHOOLGRV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1RPEUHBBBBBBBBBBBBBBBBBBBBBBB '1, BBBBBBBBBBBBBB

&HQWUR$VRFLDGRHQHOTXHHVWD0$75,&8/$'2 BBBBBBBBBBBBBBBBBBBBBBBBBB (VSHFLDOLGDGBBBBBBBBBBBBBBBBBBBBBB 


,16758&&,21(6Complete sus datos personales en la cabecera de esta hoja, y (175(*8(/$2%/,*$725,$0(17(con el
resto de hojas de su examen. &XDOTXLHU H[DPHQ TXH QR YHQJD DFRPSDxDGR GH HVWD KRMD GH HQXQFLDGRV QR VHUi FRUUHJLGR
Complete 72'26ORVdatos que se piden en la hoja de lectura óptica o HQ FDVRFRQWUDULRVXH[DPHQ QR VHUiFRUUHJLGRLa
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 GHVFXHQWDQSXQWRVEl test es HOLPLQDWRULRdebiendo
obtener una calificación mínima de SXQWRVpara superarlo (con 4 preguntas correctas se supera).
7HVW&RQWHVWHH[FOXVLYDPHQWHHQXQD+2-$'(/(&785$237,&$QRROYLGDQGRPDUFDUTXHVXWLSRGHH[DPHQHV%

1.- Dada la siguiente implementacón secuencial de un comparador de dos números de bits sin signo X e Y, donde
éste recibe los bits xi e yi de forma serie, comenzando por los bits menos significativos, los estados SI, S2 y S3 se
corresponden con:
A) 6O:x= y, 6:x< y, 6:x> y.
B) 6:x< y, 6:x> y, 6:x= y.
C) 6:x> y, 6:x< y, 6:x= y.
D) Ninguno de los anteriores.

6ROXFLyQ

S1 ⇒ No sale de S1 mientras 00, 11 ; esto es mientras x = y.
S2 ⇒ A S2 se entra cuando x = 0 e Y = 1 ⇒ x < y.
Nos quedamos en S2 mientras (x = y) o (x < y).
Salimos a S3 cuando (x > y ).
Van entrando bits más significativos y nos quedamos en S2 hasta que un bit (x > y).
Por lo tanto S2 ⇒ ( x < y ).
S3 ⇒ A S3 se entra cuando (x>y) desde el inicio (bits iguales).
A S3 se entra cuando ( x > y ) desde un ( x < y ).
En S3 se mantiene mientras ( x = y ) o ( x > y ).
Por lo tanto S3 ⇒ ( x > y ).

Ejemplo:
significativo
Bit menos

X ⇒ 1 0 0 0 0 0 1
Y ⇒ 1 0 0 0 0 0 1 ⇒x=y
↓ ↓ ↓ ↓ ↓ ↓ ↓

Secuencia 7º 6º 5º 4º 3º 2º 1º

S1 S1 S1 S1 S1 S1 S1

1/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR

significativo
Bit menos
X ⇒ 1 0 0 0 1 0 1
Y ⇒ 1 0 0 1 0 0 0 ⇒x<y
↓ ↓ ↓ ↓ ↓ ↓ ↓

Secuencia 7º 6º 5º 4º 3º 2º 1º

S2 S2 S2 S2 S3 S3 S3

significativo
Bit menos
X ⇒ 1 0 0 0 1 0 1
Y ⇒ 0 1 1 1 1 1 1 ⇒x>y
↓ ↓ ↓ ↓ ↓ ↓ ↓

Secuencia 7º 6º 5º 4º 3º 2º 1º

S3 S2 S2 S2 S2 S2 S1

6ROXFLyQOD$ 


2/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
2.- Un computador dispone de una unidad de disco con una velocidad de lectura de 221 palabras por segundo y con un
buffer interno de 220 palabras que cuando se llena transfiere su contenido a la memoria principal utilizando DMA por
ráfagas. El controlador de DMA tarda 4 ciclos de reloj en transmitir cada palabra. Cuando la UCP dispone en exclusiva
del bus las instrucciones emplean, en promedio, 8 ciclos de reloj en ser ejecutadas. Si la frecuencia de reloj del
computador son 500 x 106 ciclos/ s, en una operación de lectura del disco. ¿Cuántas instrucciones por segundo dejan de ser
ejecutadas por la UCP?
A) 221 B) 223 C) Ninguna D) Ninguna de las anteriores

6ROXFLyQ

• Cuando no existe comunicación con DMA el número de instrucciones por segundo es:

FLFORV / VHJXQGR 500 × 10 6


,QVWUXFFLRQHV / VHJXQGR = = = 62500000LQVWU / VHJ
FLFORV / LQVWUXFFLyQ 8
• Cuando existe comunicación con DMA:
Se tarda en llenar el buffer:
FDSDFLGDG _ EXIIHU 2 20
WLHPSR _ HQ _ OOHQDU _ HO _ EXIIHU = = 21 = 0,5VHJXQGRV
YHORFLGDG _ OHFWXUD _ GLVFR 2

FLFORV _ WUDQVPLWLHQGR _ HO _ EXIIHU = 2 20 × 4 _ FLFORV _ SDODEUD = 2 22 FLFORV _ UHORM

2 22
WLHPSR _ WUDQVPLWLHQGR _ HO _ EXIIHU = = 8,388608PVHJ
500 × 10 6

500 × 10 6
LQVWUXFFLRQHV _ 6LQ _ '0$ _ HQ _ 0,5 _ VHJ = = 31250000LQVWUXFFLRQHV
2×8
FRQB'0$HQHMHFXWDULQVWUXFFLRQHVVHJPVHJ VHJXQGRV

LQVWUXFFLRQHVVHJXQGRV
[LQVWUXFFLRQHVVHJXQGR


[= = 61468726LQVWUXFFLRQHV 
31250000
0,508388608

'HMDQGHHMHFXWDUVH = 62500000 − 61468726 = 1031274 _ LQVWUXFFLRQHV

6ROXFLyQOD' 1LQJXQDGHODVDQWHULRUHV 

3/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
3.- Considérese el diagrama de estados, correspondiente a una unidad de control, mostrado en la figura adjunta. Señale
cual de las siguientes afirmaciones es correcta:
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.
B) Puede realizarse la síntesis de la unidad de control empleando un
registro de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 8
palabras, con 8 bits por palabra.
C) Las dos anteriores son correctas.
D) Todas las anteriores son falsas.

6ROXFLyQ

• Utilizando una ROM con selección por estado:



Entradas → ,VV
41  40 
Bus de direcciones ROM → 5 bits
Estados → 4 →

Salidas de control → F3F2F1, F0


Bus de datos ROM → 6 bits
Estados → 4 → 4   4  

ROM ⇒ 25×6 ⇒ se puede implementar con una ROM de 32 palabras y 8 bits por palabra, aún incluso si se
considerase I (inicio) como una señal de control al registro, ya que en este caso la ROM sería más pequeña
4
todavía (2 ×6).
Esto implica que la opción A es correcta.

• Utilizando una ROM con registro y multiplexor:

Entradas → I  V  V
→ Multiplexor de 4 canales → 1 bit (V ) en el bus de direcciones de la
Bus direcciones de
ROM
la ROM → 3 bits
Estados → 4 → Q1 Q0 → 2 bits

Salidas → F  F  F F
→ 4 bit en el bus de direcciones de la ROM
Bus datos de la ROM → 6 bits
Estados → 4 → 4   4  → 2 bits

ROM ⇒ 23×6 ⇒ se puede implementar con un multiplexor de 4 a 1 y una ROM de 8 palabras y 8 bits por palabra,
aún incluso si se considerase I (inicio) como una señal de control al registro, ya que en este caso el multiplexor
necesario podría ser de 2 a 1.
Esto implica que la opción B es correcta.

6ROXFLyQOD& /DVGRVDQWHULRUHVVRQFRUUHFWDV 

4/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
4.- Dada la siguiente tabla de funciones de una ALU, y suponiendo que se dispone de conexiones a "0" lógico y a "1"
lógico, decir si las siguientes afirmaciones son ciertas.
I. Se pueden implementar simultáneamente todas las funciones usando dos
puertas XOR y una puerta NOT.
II. Se pueden implementar simultáneamente todas las funciones usando una
ROM de 4 palabras de 3 bits.
A) I: si, II: si. B) I: si, II: no. C) I: no, II:si. D) I: no, II: no.

6ROXFLyQ

I)

f1 f2 f3 f4
[⊕ \ [⊕ \ [\ + [ \
 

f1= [ ⊕ \ ⇒ Es una XOR



f2 = [ ⊕ \ ⇒ I 1 ⇒ a la salida de f1 una NOT
 

f3 = [ \ + [ = [(1 + \ ) = [ 
 

f4 = \ ⇒ aplicar una NOT a y, pero como ya no


quedan se puede usar la XOR que  
sobra usándola como inversora 

colocando una de las entradas a “1”.

La opción I) verdadera.

II) Implementación con ROM.

Entradas Salidas
x y f1 f2 f3 f4
0 0 0 1 0 1
0 1 1 0 0 0
1 0 1 0 1 1
1 1 0 1 1 0

Hace falta una ROM de 4 palabras de 4 bits. Pero como la f3 = x no hace falta implementarla
por lo que con una ROM de 4 palabras de 3 bits es suficiente.

La opción II) verdadera.

6ROXFLyQOD$ ,VL,,VL 

5/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
5.- La memoria de un computador consta de 4 módulos conectados a un bus de memoria común. Cuando se realiza una
petición de escritura, el bus esta ocupado por las señales de datos, dirección y control durante 50 ns. En esos mismos
50 ns y en los 200 ns siguientes, el módulo de memoria direccionado ejecuta 1 ciclo aceptando y almacenando el dato.
Las operaciones de los módulos pueden solaparse, pero solo puede haber una petición por instante de tiempo. Si t c
representa el tiempo de ciclo de escritura, indique cual es la velocidad máxima de escritura:
A) 1/ tc B) 4/ tc C) 2 x 107 palabras/ s D) Ninguna de las anteriores

6ROXFLyQ

Módulo 1 50 nseg 200nseg 50 nseg

Módulo 2 50 nseg 200nseg 50 nseg

Módulo 3 50 nseg 200nseg 50 nseg

Módulo 4 50 nseg 200nseg

Espera

En escribir 4 palabras tarda 250 nseg.


Si WFes 250 nseg la máxima velocidad de escritura será 4/WF

6ROXFLyQOD% 
6.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué secuencia de instrucciones
calcula la expresión X = Y2(X+ Z) ?
A) Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X];
B) Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult; Mult; Pop[X];
C) Push[Y]; Push[Y]; Mult; Push[X]; Push[Z]; Add; Mult; Pop[X];
D) Todas las anteriores.

6ROXFLyQ
A)
Instrucción Estado de la pila
Push [X] X
Push [Z] X Z
Add X+Z
Push [Y] X+Z Y
Push [Y] X+Z Y Y
Mult X+Z 2
Y
Mult 2
(X+Z) Y
Pop[X] 2
X = (X+Z) Y

B)
Instrucción Estado de la pila
Push [Y] Y
Push [Y] Y Y
Push [X] Y Y X
Push [Z] Y Y X Z
Add Y Y X+Z
Mult Y Y(X+Z)
Mult 2
Y (X+Z)
Pop[X] 2
X = (X+Z) Y

6/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR

C)

Instrucción Estado de la pila


Push [Y] Y
Push [Y] Y Y
Mult 2
Y
Push [X] 2 X
Y
Push [Z] 2 X Z
Y
Add 2 (X+Z)
Y
Mult 2
Y (X+Z)
Pop[X] 2
X = Y (X+Z)

6ROXFLyQOD' 7RGDVODVDQWHULRUHV 
7.- Considere una memoria asociativa de  palabras y 4 bits/ palabra. Indique cuál de los siguientes valores de los
registros de argumento (A) y mascara (K) proporcionan un 1 en todos aquellos bits del registro de marca cuya celda de
memoria contenga un número par, y un 0 en caso contrario. (Se considera que el cero es un número par).
A) A= 0010, K= 0010 B) A= 0011, K= 0011 C) A= 1000, K= 0001 D) Ninguna de las anteriores

6ROXFLyQ

Un número par es el tiene el bit menos significativo (LSB) a 0 e impar si el LSB=1.


Para que la marca en un número par de 1 se tiene que cumplir que el LSB de la máscara sea 1 y que el LSB del
argumento también sea 1.
De entre las diferentes opciones:
A) No dará marca 1 porque el LSB de la máscara es 0 y por lo tanto no se comprueba el LSB del argumento.
B) Dará un 1 en el LSB de la marca para número impares porque el LSB del argumento y de la máscara son
1.
C) Dará un 1 en el LSB de marca porque el LSB de la máscara es 1 (testea el LSB del argumento) y el LSB
del argumento es 0. Por lo tanto el número es par y la marca será 1.
Debido a que la máscara es 0001 y el argumento es 1000 testea y da bits de marca 1 en todas las
posiciones que en el bit LSB (debido al 0 de la máscara) es 0 (debido al 0 del argumento).

6ROXFLyQOD& 

7/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
8.- Un disco magnético con 1024 pistas, numeradas del 0 al 1024, tiene la siguiente cola de peticiones de acceso: 850,
25, 308, 400, 632, 168, 720 y 302. Utilizando la planificación SCAN ¿En qué orden se atienden las solicitudes de acceso
si inicialmente la cabeza se halla en la pista 500?
A) 632, 720, 850, 25, 168, 302, 308, 400 B) 632, 720, 850, 400, 308, 302, 168, 25
C) 400, 168, 302, 308, 25, 632, 720, 850 D) 632, 25, 720, 168, 850, 302, 400, 308

6ROXFLyQ

Página 120 del libro de teoría.


Recorre todas las pistas en una dirección atendiendo todas las peticiones que encuentra en el camino, hasta
alcanzar la última pista o si no hay más solicitudes en esa dirección. En este punto invierte el sentido del recorrido
y la búsqueda prosigue en la misma forma. También conocido como el algoritmo del ascensor.

Empieza en la 500 : 632, 720, 850, 400, 308, 302, 168, 25.
La opción A 632, 720, 850, 25, 168, 302, 308, 400. Es el algoritmo C-SCAN.

6ROXFLyQOD% 

8/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
3UREOHPD

Una CPU dispone de una única línea de petición de interrupción ,175  y de una única línea de aceptación de
interrupción. Diseñe para esa CPU un controlador de interrupciones, de manera que se puedan atender interrupciones
generadas por 3 dispositivos externos mediante líneas de petición de interrupción (ver la Figura adjunta). Cuando se
reciben peticiones de interrupción simultaneas, solo se reconoce la más prioritaria. La máxima prioridad la tiene ,175   la
mínima ,175 Además, cada una de estas líneas de interrupción se ha de poder enmascarar de manera individual mediante
un registro de mascara 0 0  0  del controlador de interrupciones (el mecanismo de acceso de la CPU a este registro no es
relevante para este problema). Cuando Mj = 0, la correspondiente señal ,175j está enmascarada y no debe ser atendida.
Cuando la CPU activa su línea de aceptación, ,17$se debe informar al periférico correspondiente, de manera individual, que
su petición ha sido aceptada, mediante las líneas de aceptación ,17$ ,17$  
a) (1 punto) Obtenga la tabla de la verdad del controlador de interrupciones.
b) (1 punto) Obtenga la función lógica de las tres líneas ,17$ ,17$  ,17$  en funcón de ]as líneas ,175  ,175  ,175 
,17$y de los bits del registro de mascara.
c) (1 punto) Diseñe el circuito lógico del controlador de interrupciones, usando para ello puertas AND, OR y NOT.
d) (1 punto) Explique razonadamente como podrían conectarse varios controladores de interrupciones de 3 entradas, como el
diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 6 periféricos externos.

9/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
6ROXFLyQ
Tabla de la verdad Tabla de la verdad
Entradas Salidas Entradas Salidas

INTR0
INTR1

INTA0
INTR2

INTA1
INTA2
INTR0
INTR1

INTA0
INTR2

INTA1
INTA2

INTR
INTR

INTA
INTA

M0
M1
M2
M0
M1
M2
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 1
0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0
0 0 0 1 0 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1 1
0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0
0 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1
0 0 0 1 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0
0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 1
0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0
0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 1 0 0 1 0 1
0 0 1 0 0 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1
0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0
0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 1 0 0 0 0
0 0 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1
0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1
0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
0 0 1 1 0 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 1 1
0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 0 1 1 0 0 1 1
0 0 1 1 1 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0
0 0 1 1 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0 1 1
0 0 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1
0 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1
0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0
0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0
0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 1 0 0 1
0 1 0 0 1 0 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 1
0 1 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 1
0 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 1
0 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0
0 1 0 1 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 0 1 1
0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0
0 1 0 1 0 1 1 0 0 0 1 1 1 0 1 0 1 1 0 0 1 1
0 1 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1
0 1 0 1 1 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1
0 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 1
0 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 1
0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 0
0 1 1 0 0 1 0 0 0 0 1 1 1 1 0 0 1 0 0 1 0 1
0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1
0 1 1 0 1 0 0 0 0 0 1 1 1 1 0 1 0 0 1 0 0 1
0 1 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 1
0 1 1 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 0 1
0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 1 0 1 0 1
0 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 0 1 0 0 1 1
0 1 1 1 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1
0 1 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 1
0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0 0 1
0 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1
0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 0 1
0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1
Bits que provocan la activación de los ,17$L y de ,175

10/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
b) Para obtener las funciones lógicas se puede recurrir a confeccionar la tabla de Karnaugh y proceder a
simplificar, pero debido al alto número de variables saldría una tabla demasiado grande y compleja.
Para obtener las funcionas vamos a emplear la deducción.

INTA0 se activará cuando la CPU entregue la señal de INTA y además esté activada la interrupción INTR0 y
desenmascarada (M0=1).

,17$0 = ,17$ • ,1750 • 0 0


INTA1 se activará cuando la CPU entregue INTA y además esté activada la interrupción INTR1 y
desenmascarada (M1=1), pero ha de estar desactivada o desenmascarada INTR0 porque de lo contrario al
tener mayor prioridad se activaría INTA0. Por lo tanto la señal INTA1 es:

,17$1 = ,17$ • ,1751 • 0 1 • ,1750 • 0 0


INTA2 se activará cuando la CPU entregue INTA y además esté activada la interrupción INTR2 y
desenmascarada (M2=1), pero ha de estar desactivada o desenmascarada INTR0 porque de lo contrario al
tener mayor prioridad se activaría INTA0 y lo mismo ha de ocurrir con INTR1. Por lo tanto la señal INTA2 es:

,17$2 = ,17$ • ,175 2 • 0 2 • ,1750 • 0 0 • ,1751 • 0 1


La señal de INTR estará activada siempre que esté activa alguna interrupción ,175L y su máscara
correspondiente0L también esté activada.

,175 = 0 0 • ,1750 + 0 1 • ,1751 + 0 2 • ,175 2

c) Circuito lógico:
 

 !
 &%

'(

 #"
 &%!"

')"

 !$
 &%$

'($

 &%

11/12
(6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR
d) Controlador para 6 interrupciones:

*,+

1 234 1 234!0 - :; >0


- :;. 0
1 23&50 1 234#+ - :; >?+
6(0 1 234!7 - :; >7 1 234A@CB!DAE
- :;. +
1 23&5!+ 1 23&5

6)+ *89
- :;. 7
1 23&57 1 234 1 234!0

6(7 1 23&50 1 234#+

6(0 1 234!7
1 23&5C@CBFDGE
- . /&0 1 23&5!+ 1 23&5

*87 6)+

1 234 1 234!0 - :; >9 1 23&57


- :;. 9
1 23&50 1 234#+ - :; >< 6(7

6(0 1 234!7 - :; >=


- :;. <
1 23&5!+ 1 23&5 - . /&0
6)+
- :;. =
1 23&57

6(7

- . /&0

12/12
2003 Septiembre

Test:
1.- De acuerdo con un estudio realizado sobre la utilización de las instrucciones de un computador, que no dispone
de caché, se ha determinado que en media ejecuta 50 millones de instrucciones por segundo. Las distintas
instrucciones (todas ellas almacenadas en memoria principal) y los porcentajes de utilización de las mismas son los
siguientes:

LOAD Acum ← M[dir] 30%

STORE M[dir] ← Acum 10%

MOVE R[1] ← Acum 10%

Operaciones aritméticas R[1] ← R[1] operación aritmética R[2] 24%

Operaciones lógicas R[1] ← R[1] operación lógica R[2] 6%

Bifurcaciones PC ← Acum 20%

donde Acum es el acumulador, M[dir] una posición de memoria principal, R[1] y R[2] registros internos y PC el
contador de programa. Si todas las instrucciones ocupan una palabra de memoria, el número medio de accesos a
memoria por segundo que se ejecutan en este computador es:
A) 60 × 10 6 B) 70 × 10 6 C) 50 × 10 6 D) Ninguna de las anteriores
2.- Una Unidad de Control microprogramada con direccionamiento explícito con dos direcciones por
microinstrucción, tiene una memoria de control con 35 bits de longitud de palabra. Si las microinstrucciones
emplean 15 bits para los campos de control, el número máximo de palabras de la memoria de control de esta
Unidad de Control microprogramada es de:

1
2 Estructura y Tecnología de Computadores II

A) 2 10 palabras B) 2 20 palabras C) 217 palabras D) Ninguna de las anteriores


3.- Suponga una CPU que dispone de 8 líneas de interrupción PIi, i = 1...8, con PI 1 >PI2 >PI3 >...>PI 8 , que son
enmascarables mediante 8 bits del registro de estado RE de la CPU (si el bit es 1 la petición está enmascarada y si
es 0 está activa). El bit más significativo del registro corresponde a la petición de interrupción de mayor prioridad,
el siguiente al segundo,... hasta el menos significativo que corresponde al de menor prioridad. La máscara de
interrupciones es 6C, expresada en hexadecimal. Con esta máscara se solicita interrupción por las líneas 2 y 4
respectivamente (suponga que no está siendo atendida ninguna interrupción). La petición atendida en ese
momento es:
A) 2 B) 4 C) Cualquiera de las anteriores D) Ninguna de las anteriores.
4.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10 para
la dirección del operando. Suponiendo que una instrucción de bifurcación, con direccionamiento relativo al
contador de programa, almacenada en la posición 530 (en decimal), origina un salto a la posición 620 (en decimal).
Si el código de operación de la instrucción de salto es 110011, ¿cuál es la codificación en binario de dicha
instrucción?
A)1100110001011010 B) 1100111110100101
C) 0000110001011010 D) 1100111110100110
5.- Un disco magnético con 256 pistas, numeradas del 0 al 255, tiene la siguiente cola de peticiones de acceso: 80,
130, 151, 31, 20, 200. Utilizando planificación SCAN, ¿en qué orden se atienden las solicitudes de acceso si
inicialmente la cabeza se halla en la pista 150 y en dirección de las pistas crecientes?
A) 151, 130, 80, 31, 20, 200 B) 80, 130, 151, 31, 20, 200
C) 151, 200, 130, 80, 31, 20 D) Ninguna
6.- Se tiene una memoria caché con 32 bloques con capacidad para 256 palabras cada uno. Si la función de
correspondencia es totalmente asociativa y las direcciones de memoria principal tienen 24 bits, indique en qué
bloque (expresado en decimal) se ubicará la palabra con dirección de memoria principal 001FFF expresada en
hexadecimal:
A) 31 B) 11 C) Podría utilizarse cualquier bloque D) Ninguna de las anteriores
7.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué expresión calcula la
secuencia de instrucciones: Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; Pop M[A];?
A) A = (C+D)2 B) A = (C+D+D)C C) A = D(C+D) D) Ninguna de las anteriores.
8.- La memoria principal de un computador utiliza módulos de memoria RAM de 64 Kpalabras × 16 bits/palabra
de capacidad. Decir si las siguientes afirmaciones son ciertas:
I. Se necesitan 8 módulos para proporcionar una capacidad de 256 Kpalabras × 32 bits/palabra.
II. Se necesitan 2 módulos para proporcionar una capacidad de 128 Kpalabras × 8 bits/palabra.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución

1.- El computador ejecuta 50 millones de instrucciones por segundo. La ejecución de cada instrucción siempre
supone un acceso a memoria para la lectura de la propia instrucción. Además, de todo el repertorio de
instrucciones propuesto, el 40% (correspondientes a las instrucciones LOAD y STORE) implican un acceso
adicional a memoria principal para la lectura del operando. Por lo tanto, en un segundo se realizan 50 millones de
ETC2 - Examen septiembre 2003 3

accesos a memoria para la lectura de las instrucciones y 20 millones de accesos más (un 40% de 50) para las
instrucciones LOAD y STORE. Por tanto, el número total de accesos a memoria es de 70 millones de accesos por
segundo.
Respuesta: B (70 × 106 )
2.- [Ver apartado 7.2.3 del texto base de teoría y los problemas 7-1 y 7-2 del libro de problemas]. De los 35 bits,
como 15 son para los campos de control, quedan 20 bits para las dos direcciones, 10 para cada una de ellas. Por
tanto, el tamaño máximo de la memoria de control es de 2 10 palabras.
Respuesta: A (2 10 palabras)
3.- [Ver apartado 3.4.6 del texto base de teoría]. Pasando la máscara a hexadecimal, 6C= 0110 1100, se observa,
aplicando el criterio propuesto en el enunciado, que la petición del 2 está enmascarada (bit de la máscara a 1) y la
petición 4 no está enmascarada (bit de la máscara a 0). Por tanto, aunque la petición 2 es más prioritaria no se
atiende por estar enmascarada, atendiéndose la petición 4.
Respuesta: B (4)
4.- El operando de la instrucción codifica el valor del salto a realizar. Como se salta de la posición 530 a la
posición 620, el valor del salto es 90 ( = 620 - 530). Codificando 90 en binario con 10 bits se obtiene: 0001011010.
En resumen, la instrucción tiene el código de operación 110011, propuesto en el enunciado, y como operando
el valor calculado antes 0001011010
Respuesta: A ( 1100110001011010)
5.- [Ver apartado 2.8.4 del texto base de teoría y el problema 3-32 del libro de problemas]. En la planificación
SCAN (rastreo) se van recorriendo todas las pistas en una dirección y satisfaciendo todas las peticiones que se
encuentra en el camino, hasta que alcanza la última pista o no hay más solicitudes en esa dirección. En este punto
se invierte el sentido del recorrido y la búsqueda prosigue de la misma forma.
Respuesta: C (151, 200, 130, 80, 31, 20)
6.- [Ver apartado 2.4.3 del texto base de teoría]. Utilizando correspondencia totalmente asociativa cualquier
bloque de la memoria principal se puede ubicar en cualquier bloque de la memoria caché.
Respuesta: C (Podría utilizarse cualquier bloque)
7.- [Ver apartado 6.1.4 del texto base de teoría y el problema 6-4 del libro de problemas]. La evolución del
contenido de la pila según se van ejecutando las instrucciones se muestra en la tabla siguiente:

Contenido de la pila

Push M [C]; C

Push M[D]; C, D

Add; C+D

Push M[C]; C+D, C

Push M[D]; C+D, C, D

Add; C+D, C+D

Mult; (C+D) × (C+D)


Pop M[A];
4 Estructura y Tecnología de Computadores II

Respuesta: A (A = (C+D)2)
8.- [Ver primera parte del problema 2.3 del libro de problemas]
• Afirmación I:
• Para aumentar el número de palabras de 64K a 256K hacen falta 4 módulos.
• Para aumentar el tamaño de palabra de 16 a 32 bits hacen falta 2 módulos.
Por tanto, para proporcionar una capacidad de 256 Kpalabras × 32 bits/palabra hacen falta 8 ( = 4 × 2)
módulos de 64 Kpalabras × 16 bits/palabra.
• Afirmación II:
• Para aumentar el número de palabras de 64K a 128K hacen falta 2 módulos.
• Con módulos con una longitud de 16 bits/palabra, se pueden diseñar sistemas de memoria con
longitudes de palabra inferiores, simplemente no empleando todas las salidas.
Por tanto, para proporcionar una capacidad de 128 Kpalabras × 8 bits/palabra hacen falta 2 módulos de 64
Kpalabras × 16 bits/palabra.
Respuesta: A (I: sí, II: sí.).

Cuestiones teórico-prácticas:

1.- Justificar el resultado de la pregunta 1 del test.


2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
ETC2 - Examen septiembre 2003 5

Problema:

Un computador dispone de una memoria principal de 64 K palabras y una memoria caché asociativa por conjuntos
de 4 K palabras, 4 conjuntos y 2 bloques por conjunto. Considérese que la memoria caché está inicialmente vacía y
que cuando se llena utiliza el algoritmo de reemplazamiento FIFO. El tiempo de acceso a memoria principal es de
10 τ y el tiempo de acceso a memoria caché es de τ.
Si la CPU ejecuta un bucle 4 veces, en el que accede a 4901 palabras, desde la dirección 600 a la dirección 5500:
A) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de
este sistema.
B) Calcule cuánto tiempo se tardan en realizar estos accesos a memoria principal si este computador no tuviera
memoria caché.
C) Realice una tabla con 4 columnas, una columna por cada vez que se ejecuta el bucle, y tantas filas como
bloques tenga la memoria caché. En cada columna ponga el valor de la etiqueta existente en cada bloque de
la caché al finalizar cada uno de los cuatro ciclos. Expresar el valor de la etiqueta en hexadecimal.
D) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria principal.
Explique claramente su razonamiento.
E) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria principal a memoria
caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la CPU en realizar estos accesos a
memoria

Solución

Este problema es similar a los problemas 2-8, 2-10, 2-11, 2-12 y 2-13 del texto “Problemas de Estructura y
Tecnología de Computadores”, 2ª edición. Se recomienda consultar la solución de estos problemas con el fin de
facilitar la comprensión de las explicaciones dadas a continuación.
A) La memoria principal tiene un tamaño de 64K palabras por lo que para direccionarla hacen falta un total de 16
bits (216 = 2 6 × 2 10 = 64K).
La memoria caché está dividida en 4 conjuntos, cada uno de ellos con 2 bloques, lo que hace un total de 8
bloques. Como la memoria caché tiene una capacidad total de 4K palabras, cada uno de los bloques tiene un
tamaño de 4K / 8 = 0,5K = 512 palabras.
Después de estos sencillos cálculos, ya se puede determinar el tamaño de cada uno de los campos en los que se
descompone una dirección de memoria principal:

• Campo palabra: 9 bits. Para direccionar las 512 ( = 29) palabras de cada bloque.

• Campo conjunto: 2 bits. Para seleccionar uno de los 4 ( = 22 ) conjuntos posibles.


• Campo etiqueta: 5 bits. Los restantes 5 ( = 16 - 9 - 2) bits de la dirección forman parte del campo etiqueta.
B) Al ejecutar el bucle propuesto un total de 4 veces se producen un total de 4.901 × 4 = 19.604 accesos a
memoria. Sin memoria caché todos estos accesos se hacen directamente a la memoria principal con un tiempo de
acceso de 10 τ. Por tanto, el tiempo total en realizar estos accesos si el computador no tuviera memoria caché sería
de 19.604 × 10 τ = 196.040 τ.
6 Estructura y Tecnología de Computadores II

Rango direcciones Rango direcciones Rango direcciones Etiqueta en caché Etiqueta en caché
Conjunto
(Decimal) (Binario) (Hexadecimal) (Binario) (Hexadecimal)

0000 0000 0000 0000


0 - 511 0000 - 01FF 0 00000 00
0000 0001 1111 1111

0000 0010 0000 0000


512 - 1023 0200 - 03FF 1 00000 00
0000 0011 1111 1111

0000 0100 0000 0000


1024 - 1535 0400 - 05FF 2 00000 00
0000 0101 1111 1111

0000 0110 0000 0000


1536 - 2047 0600 - 07FF 3 00000 00
0000 0111 1111 1111

0000 1000 0000 0000


2048 - 2559 0800 - 09FF 0 00001 01
0000 1001 1111 1111

0000 1010 0000 0000


2560 - 3071 0A00 - 0BFF 1 00001 01
0000 1011 1111 1111

0000 1100 0000 0000


3072 - 3583 0C00 - 0DFF 2 00001 01
0000 1101 1111 1111

0000 1110 0000 0000


3584 - 4095 0E00 - 0FFF 3 00001 01
0000 1111 1111 1111

0001 0000 0000 0000


4096 - 4607 1000 - 11FF 0 00010 02
0001 0001 1111 1111

0001 0010 0000 0000


4608 - 5119 1200 - 13FF 1 00010 02
0001 0011 1111 1111

0001 0100 0000 0000


5120 - 5631 1400 - 15FF 2 00010 02
0001 0101 1111 1111

Tabla 1: Rango de direcciones, conjunto y etiqueta correspondiente en la caché

C) La memoria caché tiene un tamaño total de 4K = 4096 palabras, por lo que las 4901 direcciones del bucle no
caben en la memoria caché y necesariamente habrá que realizar reemplazamientos.
El sistema va a acceder a direcciones desde la 600 a la 5500, y cada vez que se produzca un fallo se
cargarán en memoria caché bloques de 512 palabras. Todas estas direcciones están incluidas en 10 bloques
de memoria caché, y como ésta tan sólo tiene 8, en cada ciclo habrá que realizar necesariamente
reemplazamientos siguiendo el algoritmo FIFO, es decir, eligiendo como candidato a ser reemplazado el
bloque que entró antes, o que lleva más tiempo, en la memoria caché.
La Tabla 1 muestra cómo el sistema de memoria propuesto en el enunciado del problema asigna
conjunto y etiqueta en la memoria caché a las primeras 5632 direcciones, aunque de la 0 a la 512 no se
referencian en este problema. Esta tabla no se pide en el enunciado del problema pero se ha añadido aquí para
intentar aclarar la explicación y facilitar la comprensión de este apartado. Por ejemplo, se puede ver
directamente que hay tres bloques que acceden al conjunto 1 (512- 1023, 2560-3071 y 4608-5119) que van a
estar compitiendo por los dos bloques de este conjunto. Lo mismo ocurre con el conjunto 2, donde también otros
ETC2 - Examen septiembre 2003 7

tres bloques (1024-1535, 3072-3583 y 5120-5631) van a competir por los dos bloques este conjunto. Sin embargo
en los conjuntos 0 y 3 este problema no existe, ya que en el bucle sólo se referencian dos bloques a los que les
corresponde estar alojados en estos dos conjuntos de la memoria caché.
A la hora de explicar qué ocurre cuando se acceden a las direcciones del enunciado del problema, se va a
distinguir el primer ciclo, cuando la memoria caché está vacía, del resto de los ciclos. Esta es la forma habitual de
abordar este tipo de problemas.

Etiqueta en caché
Acceso a dirección Conjunto Comentarios
(Hexadecimal)

600 1 00 Fallo - Etiqueta 00 en el bloque 0 del conjunto 1

1024 2 00 Fallo - Etiqueta 00 en el bloque 0 del conjunto 2

1536 3 00 Fallo - Etiqueta 00 en el bloque 0 del conjunto 3

2048 0 01 Fallo - Etiqueta 01 en el bloque 0 del conjunto 0

2560 1 01 Fallo - Etiqueta 01 en el bloque 1 del conjunto 1

3072 2 01 Fallo - Etiqueta 01 en el bloque 1 del conjunto 2

3584 3 01 Fallo - Etiqueta 01 en el bloque 1 del conjunto 3

4096 0 02 Fallo - Etiqueta 02 en el bloque 1 del conjunto 0

4608 1 02 Fallo - Reemplazar bloque 0 del conjunto 1

5120 2 02 Fallo - Reemplazar bloque 0 del conjunto 2

Tabla 2: Primera ejecución del bucle.

• Primera ejecución del ciclo. La Tabla 2 muestra qué va ocurriendo en la caché según se va ejecutando por
primera vez el ciclo. Como la caché está inicialmente vacía, al referenciar la primera dirección de cada bloque
se produce un fallo, que hace que el sistema copie el contenido del bloque completo en la memoria caché.
Cuando se referencia la dirección de memoria 4608 se vuelve a producir un fallo, y el bloque correspondiente
hay que copiarlo en memoria caché. A este bloque le corresponde el conjunto 1 que ya está lleno, por lo que hay
que proceder a reemplazar uno de los ya existentes utilizando el algoritmo de reemplazamiento FIFO. El bloque a
sustituir es el que entró primero y se corresponde con el que tiene etiqueta 00, almacenado en el bloque 0 de este
conjunto.
Lo mismo ocurre cuando se referencia la dirección de memoria 5120 que se vuelve a producir un fallo. A este
bloque le corresponde el conjunto 2 que ya está lleno. El bloque a sustituir es el que tiene etiqueta 00 y se encuentra
almacenado en el bloque 0 de este conjunto.
8 Estructura y Tecnología de Computadores II

Etiqueta en caché
Acceso a dirección Conjunto Comentarios
(Hexadecimal)

600 1 00 Fallo. Reemplazar bloque 1 del conjunto 1

1024 2 00 Fallo. Reemplazar bloque 1 del conjunto 2

1536 3 00 Acierto. Se encuentra en el bloque 0 del conjunto 3

2048 0 01 Acierto. Se encuentra en el bloque 0 del conjunto 0

2560 1 01 Fallo. Reemplazar bloque 0 del conjunto 1

3072 2 01 Fallo. Reemplazar bloque 0 del conjunto 2

3584 3 01 Acierto. Se encuentra en el bloque 1 del conjunto 3

4096 0 02 Acierto. Se encuentra en el bloque 1 del conjunto 0

4608 1 02 Fallo. Reemplazar bloque 1 del conjunto 1

5120 2 02 Fallo. Reemplazar bloque 1 del conjunto 2

Tabla 3: Segunda ejecución del bucle.

• Segunda ejecución del ciclo. Siguiendo el mismo razonamiento de antes, la Tabla 3 muestra qué va
ocurriendo en la caché según se va ejecutando por segunda vez el ciclo. En esta Tabla se puede observar que
no se producen fallos en las direcciones almacenadas en los conjuntos 0 y 3, y que siempre se producen fallos
en los conjuntos 1 y 2, ya que el bloque que se reemplaza es referenciado a continuación.
• Resto de ciclos. La situación es parecida a la segunda ejecución del ciclo, produciéndose continuos fallos en
los conjuntos 1 y 2. La Tabla 4 muestra como van evolucionando las etiquetas en estos dos conjuntos según
se van ejecutando los 4 ciclos.
A partir de la Tabla 4 se obtiene directamente la Tabla 5 que es la solicitada en el enunciado del problema. En
la Tabla 5 se muestra el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los 4
ciclos.
D) Para calcular el número de fallos hay que utilizar los resultados del apartado anterior y, especialmente, la Tabla
4.
• Primer ciclo: 10 fallos, uno por cada bloque del ciclo.
• Resto de ciclos: 6 fallos en cada ciclo, los producidos en los conjuntos 1 y 2.
Por tanto, el número total de fallos es: 10 + 3 × 6 = 28 fallos.
ETC2 - Examen septiembre 2003 9

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4

Bloque 0 01 01 01 01
Conjunto 0
Bloque 1 02 02 02 02

Bloque 0 00 00 02 02 01 01 00 00 02 02 01 01
Conjunto 1
Bloque 1 -- 01 01 00 00 02 02 01 01 00 00 02

Bloque 0 00 00 02 02 01 01 00 00 02 02 01 01
Conjunto 2
Bloque 1 -- 01 01 00 00 02 02 01 01 00 00 02

Bloque 0 00 00 00 00
Conjunto 3
Bloque 1 01 01 01 01

Tabla 4: Evolución de las etiquetas según se va ejecutando cada ciclo (en negrita bloques reemplazados)

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4

Bloque 0 01 01 01 01
Conjunto 0
Bloque 1 02 02 02 02

Bloque 0 02 01 02 01
Conjunto 1
Bloque 1 01 02 01 02

Bloque 0 02 01 02 01
Conjunto 2
Bloque 1 01 02 01 02

Bloque 0 00 00 00 00
Conjunto 3
Bloque 1 01 01 01 01

Tabla 5: Etiquetas en los bloques de la caché después de la ejecución de cada ciclo

E) El enunciado propone los eventos que ocurren cuando sucede un fallo: “primero se mueve el bloque completo
de memoria principal a memoria caché y después se lee el dato de la caché”. Luego para calcular el tiempo que la
CPU tarda en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la memoria caché y
sumarle el tiempo que se emplea en gestionar los fallos.
Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos
Suponiendo que el tiempo que se tarda en acceder una palabra en la memoria caché es τ y el tiempo en acceder
10 Estructura y Tecnología de Computadores II

a una palabra en la memoria principal es 10τ, nos queda que:


• Tiempo de acceso a la caché = número de accesos × τ = 4 ciclos × 4901 palabras/ciclo × τ
• Tiempo de gestión de fallos = 512 palabras/fallo × 28 fallos × 10τ

Sumando ambas cantidades, nos queda que la CPU tardaría en ejecutar estos accesos:
Tiempo total = (4 × 4901 × τ) + (512 × 28 × 10 × τ )= (4 × 4901 + 512 × 28 × 10) τ = 162.964 τ
ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Septiembre 2003 – Reserva. Tipo de Examen: E
INFORMÁTICA DE SISTEMAS – Cód. Carrera 40 (Plan antiguo), 53 (Plan nuevo) – Cód. Asignatura 109 (ambos planes)
INFORMÁTICA DE GESTIÓN – Cód. Carrera 41 (Plan antiguo), 54 (Plan nuevo) – Cód. Asignatura 109 (ambos planes)
ÚNICO MATERIAL PERMITIDO: los libros “Estructura y tecnología de computadores” y “Problemas de estructura y
tecnología de computadores”, (editorial Sanz y Torres). NO SE PERMITE EL USO DE CALCULADORA. Tiempo: 2 horas
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es E.
1.- Cierto procesador tiene instrucciones de 16 bits y direcciones de 6 bits. El procesador admite dos formatos de
instrucciones, un formato con una dirección y otro con dos direcciones. Si hay n instrucciones de dos direcciones, el
número máximo de instrucciones de una dirección es:
A) (26-n)×24 B) (26-n)×216 C) (24-n)×26 D) Ninguna de las anteriores
2.- Suponga que las instrucciones de un determinado procesador ocupan una dirección y que se encuentran almacenadas
en memoria principal. El número de lecturas que realiza la CPU a memoria cuando lee y ejecuta una instrucción con
modo de direccionamiento indirecto son:
I. 3 si la instrucción es una operación de carga del acumulador.
II. 2 si la instrucción es una bifurcación.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no
3.- Una Unidad de Control microprogramada con direccionamiento implícito con dos formatos de microinstrucción, tiene
una memoria de control con 26 bits de longitud de palabra. Si en el formato de bifurcación se emplean 5 bits para
especificar la condición que se utiliza para efectuar la bifurcación, el número máximo de palabras de la memoria de
control de esta Unidad de Control microprogramada es de:
A) 225 palabras B) 219 palabras C) 221 palabras D) Ninguna de las anteriores
4.- Un disco magnético con 256 pistas, numeradas del 0 al 255, tiene la siguiente cola de peticiones de acceso: 50, 130,
151, 31, 20, 200. Utilizando planificación SSTF, ¿en qué orden se atienden las solicitudes de acceso si inicialmente la
cabeza se halla en la pista 150?
A) 151, 130, 200, 50, 31, 20 B) 50, 130, 151, 31, 20, 200
C) 151, 200, 130, 50, 31, 20 D) Ninguna de las anteriores.
5.- Se tiene un sistema con una memoria principal de 64 Kpalabras y una memoria caché de 16 Kpalabras con bloques de
8 palabras, siendo el tamaño de la palabra de 1 byte. Si se sabe que la palabra de la dirección 4620, expresado en
hexadecimal, se encuentra en el bloque C4 de la caché, expresado en hexadecimal. Decir cuál de las siguientes
afirmaciones es cierta:
A) Ninguna función de correspondencia asignaría dicho bloque a tal dirección.
B) La función de correspondencia solamente puede estar implementada mediante correspondencia directa.
C) La función de correspondencia solamente puede ser totalmente asociativa.
D) La función de correspondencia puede ser directa o bien totalmente asociativa.
6.- Se quiere diseñar una memoria para un computador que tiene una arquitectura basada en palabras de 16 bits y un bus
de direcciones de 20 líneas de manera que disponga de 500 Kpalabras de memoria RAM y 240 Kpalabras de memoria
ROM. Sabiendo que se disponen de módulos de memoria RAM de 128 Kpalabras × 8 bits/palabra, 128 Kpalabras × 16
bits/palabra; y de módulos de memoria ROM de 128 Kpalabras × 8 bits/palabra, 128 Kpalabras × 16 bits/palabra,
I. Sí es posible realizar el diseño que se solicita.
II. El menor número de módulos necesarios para realizar el circuito con las especificaciones requeridas es 4 módulos
RAM de 128 Kpalabras × 16 bits/palabra y 2 módulos ROM de 128 Kpalabras × 16 bits/palabra.
A) I: sí, II: sí B) I: sí, II: no C) I: no, II: sí D) I: no, II: no
7.- Considere una CPU que realiza un enmascaramiento individual de las interrupciones. El registro de estado de
interrupción y el registro de máscara de interrupciones son de 8 bits. Si un bit del registro de estado es 1 la petición está
enmascarada y si es 0 está activa. En un determinado instante se activan las 8 posibles peticiones de interrupción
simultáneamente, lo que produce que el valor del registro de estado de interrupción sea: 0101 0000. A partir de los datos
anteriores, se deduce que el contenido del registro de máscara de interrupciones es:
A) 1010 1111 B) 0101 0000 C) Las dos anteriores son falsas D) No hay datos suficientes para deducirlo
8.- En un procesador con instrucciones de cero direcciones (procesador con pila), ¿qué expresión calcula la secuencia de
instrucciones: Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; Pop M[A]; ?
A) A = (C+D)2 B) A = (C+D+D)C C) A=D(C+D) D) Ninguna de las anteriores

Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta.
Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test.

Cuestión 2 (0.5 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 (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica):
Diseñar un subsistema de memoria de 16 palabras × 4 bits/palabra utilizando módulos de memoria 8 palabras × 2
bits/palabra para un computador que dispone de un bus de direcciones de 8 bits, en los dos casos siguientes:
a) (2 puntos) Con entrelazado de orden superior.
b) (2 puntos) Con entrelazado de orden inferior.
Nota: Se dice que un entrelazado es de orden superior, cuando todas las posiciones de memoria dentro de un módulo
son contiguas en el subsistema de memoria diseñado. Se dice que un entrelazado es de orden inferior, cuando las
posiciones contiguas en el subsistema diseñado se van alternando entre los diferentes módulos que constituyen el
subsistema.
Test
1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes
afirmaciones, acerca de las señales de control (ci), es correcta.
I
A) c1 = S1 s0/c1 S2 s1/c4,c5
B) c5 = S 2 ⋅ s1 I/c0 s1/0 s2/c6
C) Las dos afirmaciones anteriores son correctas. S0 S1 S4 S5
D) Todas las afirmaciones anteriores son falsas.
s 1/c3
s0/c1,c2
S3 s1/c5
Solución: Del diagrama de estados se deduce que:
c1 = S1 ⋅ s0 + S1 ⋅ s0 = S1
c5 = S2 ⋅ s1 + S3 ⋅ s1 = ( S 2 + S3 ) ⋅ s1
Respuesta: A ( c1 = S1 )

2.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común.
Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y
control durante 20 nseg. Durante los 80 nseg siguientes, el módulo de memoria direccionado completa el ciclo de
escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero
sólo puede haber una petición en un instante de tiempo. Indique cuál es el número de módulos de memoria (N)
conectados al bus si la velocidad máxima posible con la que se pueden escribir los datos en memoria es 0.05
palabras/nseg.
A) N = 2 B) N = 4 C) N > 4 D) Ninguna de las anteriores

Solución: Esta pregunta está basada en el Problema 1-3. El ciclo de escritura en los módulos de memoria se muestra
gráficamente en la Figura 1. El tiempo de ciclo de escritura es 100 nseg. El módulo de memoria usa el bus en exclusiva
durante los primeros 20 nseg del ciclo, mientras que durante los restantes 80 nseg cualquier otro módulo puede hacer uso
del bus. Según se indica en el enunciado, la velocidad máxima de escritura de datos en memoria es 0.05 palabras/nseg.
Considerando que los ciclos de escritura se solapan al máximo, esa velocidad máxima corresponde con un número de
módulos de memoria mayor que 4 (ver la Figura 2). Si el número de módulos fuera N=2, N=3 ó N=4, la velocidad
máxima sería 0.02, 0.03 ó 0.04 palabras/nseg respectivamente. Cuando el número de módulos es N>4, la velocidad
máxima es 0.05 palabras/nseg.
Control
Dirección
Almacenamiento del dato
Datos

20 nseg 80 nseg
Figura 1: Ciclo de escritura de los módulos de memoria
Módulos 100 nseg

1
2

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

Módulos 100 nseg

1
2
3

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

Módulos 100 nseg

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

Módulos 100 nseg

1
2
3
4
5

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

Módulos 120 nseg

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

Módulos 140 nseg

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

Figura 2: Operaciones de escritura en 2, 3, 4, 5, 6 y 7 módulos

Respuesta: C ( N > 4 )
3.- Un disco formateado con entrelazado doble, tiene 16 sectores de 4 Kbytes y una velocidad de rotación de 6000
rpm. ¿Cuánto tardará en leer, en su orden, todos los sectores de una pista suponiendo que la cabeza de lectura se
encuentra en la pista correcta y sobre el punto de comienzo del sector 0?
A) 562,5 ms. B) 33,75 ms. C) 28,75 ms. D) Ninguna de las anteriores

Solución: Esta pregunta está basada en el problema 3-28. Por el mismo razonamiento que se hace en dicho problema
(quitando la media vuelta inicial que ahora no se tiene en cuenta), el disco tiene que dar (2 + 7/8) vueltas = 2,875 vueltas.
A 6000 rpm se tarda en dar una vuelta 60/6000= 0.01 seg. Por tanto, en leer consecutivamente todos los sectores de una
pista se tarda: 2,875 vueltas × 0,01 seg/vuelta = 0,02875 seg = 28,75 ms.

Respuesta: C (28,75 ms)

4.- Indique cuál de las siguientes afirmaciones es verdadera:


A) El controlador de DMA determina el sentido, lectura o escritura, de la operación de E/S.
B) La CPU interviene activamente en la transmisión de la información en las operaciones de E/S mediante
DMA.
C) Un procesador de E/S no es capaz de interrumpir a la CPU.
D) Ninguna de las anteriores.

Solución: La respuesta A) es falsa porque es la CPU quién realiza esas funciones (véase la página 165 del libro de
Teoría). La respuesta B) también es falsa porque precisamente la utilización del DMA permite evitar que la CPU
intervenga de forma activa en las operaciones de E/S (véase la página 165 y ss. del libro de Teoría). La respuesta C) es
falsa porque es necesario que el procesador de E/S comunique a la CPU la finalización de la operación, por ejemplo
mediante el uso de interrupciones (véase la página 174 del libro de Teoría). Por tanto, todas son falsas y la solución es la
D).

Respuesta: D (Ninguna de las anteriores)

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

Solución: Al tratarse de una unidad de control con dos direcciones por microinstrucción y direccionamiento explícito
microprogramada (véanse los apartados 7.2.3 y 7.2.4 del texto base de teoría), el formato de microinstrucción será el
siguiente (para direccionar 1K palabras se necesitan 10 bits):

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

Al ser microprogramación horizontal, cada bit del campo de control se conecta con un punto físico de control (véase la
página 396 del libro de teoría). Por lo tanto, se pueden usar hasta 12 puntos de control.

Respuesta: B (12)

6.- Dado el diagrama ASM de la figura, y suponiendo que para cada estado se debe generar una sola señal de
control (c0 en S0, c1 en S1 y c2 en S2). Indicar cuál de las siguientes afirmaciones es verdadera.
I. Para implementarlo se puede usar un registro de 4 bits y una ROM de 16 de palabras de 4 bits.
II. Para implementarlo se puede usar la técnica de selección por estado con lo que el multiplexor asociado
tiene 4 entradas con 2 entradas de selección y la ROM un tamaño de 8 palabras de 5 bits.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Solución: Para el diagrama ASM tenemos que el número de estados son 3 (S1, S2 y S3) por lo que necesitamos 2 bits para
codificar dichos estados (por tanto, n=2). Hay dos variables de condición: Inicio y Cond1 (q=2) y tres señales de
control: c1, c2 y c3 (m = 3). Para verificar que es posible realizar las implementaciones se debe analizar cada una de ellas

I) Implementación con ROM y registro. Si se usa esta forma, para implementar el diagrama ASM se necesita un
registro de estado de 2 bits y una ROM de 2(n+q) = 24 = 16 palabras de n+m = 2+3 = 5 bits. Por tanto la
implementación I es falsa porque no disponemos del ancho de palabra necesario (se nos dan 4 bits en vez de
5).
II) Implementación con la técnica de selección por campo. Primero se debe analizar si es posible usarla,
comprobando si solo se evalúa una condición en cada estado, cosa que es cierta. De esta forma, las dos
entradas de codificación de estado se realimentan como entradas de selección del multiplexor de la condición.
El multiplexor necesario tendrá dos entradas de selección y cuatro entradas a las que se conectarán las tres
señales de condición del circuito. Si se usa este multiplexor el tamaño de la ROM se reduce a 2(n+1) = 23 = 8
palabras de n+m = 2+3 = 5 bits (tamaño que coincide con el que se da en el enunciado). Por lo tanto es
posible implementar el diagrama ASM.

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

7.- Un computador dispone de una memoria principal de 232 palabras y 8 bits/palabra. ¿Cuántos bits se requieren
para diseñar en este computador una caché con correspondencia directa que pueda almacenar 64 Kpalabras, con
4 palabras por bloque y estrategia de escritura write back?. Nota: el total de bits son los bits del directorio mas los
de almacenaje de palabras.
A) 216 × 46 B) 214 × 48 C) 216 × 47 D) 214 × 49

Solución: En primer lugar es necesario determinar los bits de etiqueta, bloque y palabra. Como el tamaño de la caché es
de 64 Kbytes y se tienen 4 bytes/bloque, el nº de bloques de la memoria caché es de (64Kbytes)/(4 bytes/bloque)=16×210
bloques. Por lo tanto de los 32 bits de dirección, 14 se corresponden al campo bloque, 2 al campo palabra (según el
enunciado hay 4 palabras en cada bloque) y 32-14-2 = 16 al campo etiqueta. Además como la estrategia de escritura es
write back (véase la página 93 del texto base de teoría), se precisa 1 bit de actualización asociado a cada bloque de la
memoria caché. Por lo tanto la estructura de la memoria caché es de la forma (ver figura 2.34 del texto de teoría):

Actualización (1) Etiqueta (16 bits) 8 8 8 8


. .
. . 64 Kbytes
. .

Luego para cada uno de los 214 bloques, se almacenan 32 bits (correspondientes a las 4 palabras del bloque) mas los 16 de
la etiqueta y uno más, correspondiente al bit de actualización. Por lo tanto se necesitan 49 bits de ancho de palabra.

Respuesta: D (214 × 49)

8.- El siguiente diagrama muestra el contenido de una memoria asociativa:


0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 1 Palabra 0 ?
1 1 0 1 1 0 1 1 0 0 0 1 1 0 0 0 1 Palabra 1 ?
ETIQUETA 1 0 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 Palabra 2 ? MARCA
1 1 1 1 1 0 0 0 0 0 0 0 0 1 0 1 1 Palabra 3 ?
0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 Palabra 4 ?
1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 Palabra 5 ?
I. Si la máscara K=0000000000001111 y el argumento A=1111111111110000 el único bit de marca que valdría 1
corresponde a la Palabra 2.
II. Si la máscara K=1111000000001111 y el argumento A=1111000000001111 entonces sólo hay un bit del registro
de marca que valdría 1.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución: En primer lugar (véase la página 105 y ss. de la primera edición del texto base de teoría o la página 96 y ss. de
su segunda edición), hay que recordar que las palabras cuyo bit de etiqueta es 0 son palabras no válidas, por lo que su bit
de marca siempre será 0, independientemente de la máscara. Por este motivo la Palabra 0 y la Palabra 4 de la memoria
asociativa no aportan ninguna información útil para contestar la pregunta y en adelante no se tendrán en cuenta.

Utilizando los datos de la afirmación I, es decir, la marca y el argumento propuesto se puede observar que hay dos
palabras (la 2 y la 5) que originan el bit de marca a 1, luego es falsa. La afirmación II también es falsa por no originar
ninguna palabra el bit de marca a 1.

Respuesta: D (I: no, II: no)

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.
Problema

En la Fig. 1 se muestra el diagrama de bloques de un sumador binario de dos números de 2 bits. Las entradas al sumador
son los dos bits de cada sumando (X=x1x0, Y=y1y0). Las salidas son los dos bits de suma (s=s1s0) y el bit de arrastre (c1).
A) (0.75 puntos) Obtenga la tabla de la verdad de las
salidas (c1, s1, s0) del sumador de la Fig. 1 en función
y1 x1 y0 x0 y1 x1 y0 x0 de las entradas (y1, y0, x1, x0).
c1 c1 c−1 B) (1 punto) Obtenga las funciones lógicas simplificadas
s1 s0 s1 s0 de las tres salidas (c1, s1, s0) del sumador de la Fig. 1
en función de las entradas (y1, y0, x1, x0). Emplee para
Fig. 1 Fig. 2 ello mapas de Karnaugh.
C) (0.75 puntos) A partir de las funciones lógicas calculadas en el apartado anterior, realizar el sumador binario de 2
bits mostrado en la Fig. 1 mediante un circuito combinacional de dos niveles (AND-OR).
D) (1.5 puntos) Si al sumador binario de la Fig. 1 se le añade una nueva entrada, “bit de arrastre de la etapa anterior”
(c-1), se obtiene el sumador representado en la Fig. 2. Empleando módulos sumadores como el mostrado en la
Fig.2, multiplexores y puertas lógicas, diseñe una ALU aritmética de 4 bits que realice las cinco operaciones
siguientes sobre dos números A y B de 4 bits: suma (Z=A+B), resta (Z=A-B), transfiere A (Z=A), incrementa A
en 1 (Z=A+1) y decrementa A en 1 (Z=A-1).

Solución

Los apartados A), B) y C) son similares a las cuestiones planteadas en los problemas 4-1, 4-2 y 4-3, en los que se pide
obtener la tabla de la verdad, la función lógica y diseñar el circuito AND-OR de diferentes circuitos sumadores y
restadores. El apartado D) es análogo al problema 4-30.
A) Obtenga la tabla de la verdad de las salidas (c1, s1, s0) del sumador de la Fig. 1 en función de las entradas (y1, y0, x1,
x0).
y1 y0 x1 x0 c1 s1 s0
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 0 0 1
0 1 0 1 0 1 0
0 1 1 0 0 1 1
0 1 1 1 1 0 0
1 0 0 0 0 1 0
1 0 0 1 0 1 1
1 0 1 0 1 0 0
1 0 1 1 1 0 1
1 1 0 0 0 1 1
1 1 0 1 1 0 0
1 1 1 0 1 0 1
1 1 1 1 1 1 0

B) Obtenga las funciones lógicas simplificadas de las tres salidas (c1, s1, s0) del sumador de la Fig. 1 en función de las
entradas (y1, y0, x1, x0). Emplee para ello mapas de Karnaugh.
x1 x0
y1 y0 00 01 11 10
00 0 0 0 0
x1 ⋅ x0 ⋅ y0
01 0 0 1 0 c1 = x1 ⋅ x0 ⋅ y0 + x0 ⋅ y1 ⋅ y0 + x1 ⋅ y1
x0 ⋅ y1 ⋅ y 0
11 0 1 1 1
x1 ⋅ y1
10 0 0 1 1

x1 ⋅ x0 ⋅ y1 ⋅ y0
x1 x0
y1 y0 00 01 11 10
x1 ⋅ y1 ⋅ y0
00 0 0 1 1 x1 ⋅ x0 ⋅ y1
01 0 1 0 1 s1 = x1 ⋅ x0 ⋅ y1 ⋅ y0 + x1 ⋅ x0 ⋅ y1 + x1 ⋅ y1 ⋅ y0 +
11 1 0 1 0 x1 ⋅ x0 ⋅ y1 ⋅ y0 x1 ⋅ y1 ⋅ y0 + x1 ⋅ x0 ⋅ y1 + x1 ⋅ x0 ⋅ y1 ⋅ y0
10 1 1 0 0

x1 ⋅ x0 ⋅ y1 x1 ⋅ y1 ⋅ y0
x1 x0
y1 y0 00 01 11 10
00 0 1 1 0
x0 ⋅ y0
01 1 0 0 1 s0 = x0 ⋅ y0 + x0 ⋅ y0
11 1 0 0 1
10 0 1 1 0
x0 ⋅ y0

C) A partir de las funciones lógicas calculadas en el apartado anterior, realizar el sumador binario de 2 bits mostrado en la
Fig. 1 mediante un circuito combinacional de dos niveles (AND-OR).

x1 x0 y1 y0

c1 = x1 ⋅ x 0 ⋅ y0 + x0 ⋅ y1 ⋅ y0 + x1 ⋅ y1

s1 = x1 ⋅ x0 ⋅ y1 ⋅ y 0 + x1 ⋅ x0 ⋅ y1 +
x1 ⋅ y1 ⋅ y0 + x1 ⋅ y1 ⋅ y0 +
x1 ⋅ x0 ⋅ y1 + x1 ⋅ x0 ⋅ y1 ⋅ y0

s0 = x0 ⋅ y0 + x0 ⋅ y0
D) Si al sumador binario de la Fig. 1 se le añade una nueva entrada, “bit de arrastre de la etapa anterior” (c-1), se obtiene
el sumador representado en la Fig. 2. Empleando módulos sumadores como el mostrado en la Fig.2, multiplexores y
puertas lógicas, diseñe una ALU aritmética de 4 bits que realice las cinco operaciones siguientes sobre dos números A y
B de 4 bits: suma (Z=A+B), resta (Z=A-B), transfiere A (Z=A), incrementa A en 1 (Z=A+1) y decrementa A en 1 (Z=A-
1).
En el apartado 4.1.4 del texto de teoría se explica cómo realizar la conexión de circuitos sumadores con bit de acarreo y
bit de arrastre de la etapa anterior, con el fin de obtener sumadores de un mayor número de bits. Puede conseguirse un
sumador de 4 bits, conectando dos sumadores de 2 bits como el de la Fig. 2, de la forma siguiente:
y3 x3 y2 x2 y1 x1 y0 x0

y1 x1 y0 x0 y1 x1 y0 x0
c3 c1
c1 c−1 c1 c−1
s1 s0 s1 s0

s3 s2 s1 s0
En el problema 4-30 se explica cómo realizar una ALU, empleando un sumador de 4 bits y multiplexores, que
proporciona la funcionalidad pedida en el enunciado del apartado D) del examen. El diseño se realiza de la forma
siguiente:

m
m1 2
m0
B3 A3 B2 A2 B1 A1 B0 A0
01 01 01 01

0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3
MUX MUX MUX MUX

Y3 X3 Y2 X2 Y1 X1 Y0 X0
y1 x1 y0 x0 y1 x1 y0 x0
c3 c1
c1 c−1 c1 c−1
s1 s0 s1 s0

Z3 Z2 Z1 Z0
La ALU tiene tres señales de control: m0, m1 y m2. La selección de las entradas de datos de los multiplexores se hace
mediante m0 y m1. La entrada m2 se conecta al arrastre de entrada del primer sumador. Las operaciones aritméticas
pedidas en el enunciado pueden generarse de la manera siguiente:
Señales de control Entradas al sumador Salida
m2 m1 m0 X Y Z
0 0 0 A B A+B
1 0 1 A B A+B+1=A-B
0 1 0 A 0000 A
1 1 0 A 0000 A+1
0 1 1 A 1111 A-1
Test

1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes
afirmaciones es correcta.
A) Puede realizarse la síntesis de la unidad de control empleando un registro de 3 bits y una memoria ROM de
27 palabras, con 16 bits por palabra.
B) Puede realizarse la síntesis de la unidad de control empleando un registro de 3 bits, un multiplexor de 8 a 1, y
una memoria ROM de 16 palabras, con 16 bits por palabra.
C) Las dos afirmaciones anteriores son correctas.
D) Todas las afirmaciones anteriores son falsas.
I
s0/c1 S2 s1/c4,c5
I/c0 s1/0 s2/c6
S0 S1 S4 S5
s1/c3
s0/c1,c2
S3 s1/c5
Solución: La síntesis de la unidad de control empleando un registro y una memoria ROM se explica en el Apartado 5.5.8
del texto de teoría.
Respuesta A. La unidad de control posee 6 estados, con lo cual el estado puede codificarse mediante una palabra de n=3
bits, que puede ser almacenada en un registro de 3 bits. Existen q=4 entradas a la unidad de control (I, s0, s1 y s2) y m=7
salidas de la unidad de control (c0, ..., c6). Por tanto, la información de las transiciones entre estados y de la activación de
las señales de control puede almacenarse en una ROM de 2n+q=27=32 palabras, con n+m=10 bits/palabra. En el enunciado
de la afirmación se propone una ROM de 27 palabras que es más pequeña que la que se necesita (32 palabras). Por tanto
es falsa.
Respuesta B. Puesto que la transición entre los estados está regida por una única señal de condición en cada caso, la
unidad de control puede realizarse empleando un multiplexor de 2n:1 (es decir, de 23:1 Æ 8 a 1) y una memoria ROM de
2n+1=24=16 palabras, con n+m=10 bits/palabra, que es justamente lo que propone la respuesta B), y por tanto, es cierta.

Respuesta: B

2.- Una Unidad de Control microprogramada con direccionamiento implícito tiene una memoria de control con 24
bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control y se pueden
evaluar 8 condiciones en el caso de microinstrucciones de bifurcación, el tamaño máximo de la memoria de
control de esta Unidad de Control microprogramada es de:
A) 28 palabras B) 220 palabras C) 224 palabras D) Ninguna de las anteriores
Solución: En el caso de direccionamiento implícito, se definen dos formatos de instrucciones diferenciadas por el primer
bit. En caso de ser 0 tienen formato de control y se usan 15 bits adicionales para el control, es decir, se usan 16 bits y
quedan 8 libres sin usar. En el caso de formato de bifurcación (primer bit a 1) se debe evaluar la condición que sea
necesaria. Puesto que dice que como máximo se tienen en cuenta 8 condiciones (por ejemplo, las mostradas en la tabla),
se pueden usar 3 bits para codificar que condición se usa. Por lo que nos quedan 24-3-1=20 bits para el campo dirección,
con lo que se pueden direccionar 220 palabras.

Código (3 bits) Condición


000 Saltar siempre
001 El bit N del registro de estado vale 0
010 El bit N del registro de estado vale 1
011 El bit Z del registro de estado vale 0
100 El bit Z del registro de estado vale 1
101 El bit C del registro de estado vale 1
110 El bit V del registro de estado vale 1
111 No saltar

Respuesta: B (220 palabras)

3.- El formato de instrucción de un procesador hipotético es el siguiente: los 4 bits más significativos almacenan el
código de operación y los restantes 12 bits contienen la dirección de memoria. El formato de almacenamiento de
los números enteros es el siguiente: el bit más significativo contiene el signo (0: positivo; 1: negativo), y los 15 bits
restantes la magnitud. La CPU contiene tres registros internos: el contador de programa (PC), el registro de
instrucción (IR) y el acumulador (AC). La lista de los códigos de operación incluye los siguientes: 00012 (cargar
AC desde memoria), 00102 (almacenar AC en memoria), 01102 (restar al AC de memoria), 11112 (sumar al AC de
memoria). Si las posiciones de memoria 80316 y 80416 contienen respectivamente: 003216 y 101116, señale cuál es el
contenido de la posición de memoria 80516 una vez ejecutadas las tres instrucciones siguientes: 180316, F80416,
280516.
A) 002116 B) 104316 C) 004316 D) Ninguna de las anteriores.

Solución: Esta pregunta es análoga al Problema 1-1. Las tres instrucciones 180316, F80416, 280516 realizan las
operaciones siguientes:

Instrucción Código de operación Dirección


Operación
(hexadecimal) (binario) (hexadecimal)
1803 0001 803 Carga el contenido de la dirección de memoria
80316 en el acumulador. Como resultado, el
acumulador contiene: 003216.
F804 1111 804 Suma el contenido de la dirección de memoria
80416 al contenido del acumulador, y almacena
el resultado (101116+003216=104316) en el
acumulador.
2805 0010 805 Almacena el contenido del acumulador (104316)
en la dirección de memoria 80516.

Respuesta: B ( 104316 )

4.- Una unidad de control, cuya tabla de estados del modelo de Huffman-Mealy se muestra a continuación, se
implementa usando dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados siguiente:
S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}. Indique si las siguientes afirmaciones, acerca
de las funciones de entrada a los elementos de memoria, son correctas:
A) D1 = Q0 + Q1 ⋅ s0
Estado Próximo estado
B) D0 = Q0 ⋅ s0 + Q1 ⋅ s0 + Q0 ⋅ Q1 ⋅ I presente I ⋅ s0 I ⋅ s0 I ⋅ s0 I ⋅ s0
C) Las dos afirmaciones anteriores son correctas. S0 S0 S0 S1 S1
D) Todas las afirmaciones anteriores son falsas.
S1 S3 S2 S3 S2
S2 S0 S3 S0 S3
S3 S3 S3 S3 S3
Solución: La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado 5.5.5 del
texto de teoría. Realizando la asignación de estados indicada en el enunciado, se obtiene la tabla de transición de estados
siguiente:

Estado Próximo estado


presente I ⋅ s0 I ⋅ s0 I ⋅ s0 I ⋅ s0
00 00 00 01 01
01 11 10 11 10
10 00 11 00 11
11 11 11 11 11

Las funciones de entrada a los elementos de memoria tipo D son las siguientes:

Is0
00 01 11 10 Q0 ⋅ Q1 ⋅ I
Is0 Q1Q0
Q1Q0 00 01 11 10
00 0 0 1 1
00 0 0 0 0 Q0 ⋅ s0
Q0 01 1 0 0 1
01 1 1 1 1
11 1 1 1 1
11 1 1 1 1 Q1 ⋅ s0
10 0 1 1 0
10 0 1 1 0 Q1 ⋅ s0
D1 = Q0 + Q1 ⋅ s0 D0 = Q0 ⋅ s0 + Q1 ⋅ s0 + Q0 ⋅ Q1 ⋅ I

Respuesta: C (Las dos afirmaciones anteriores son correctas)

5.- Un computador dispone de varios dispositivos muy rápidos de Entrada/Salida. Se desea que las operaciones de
E/S se realicen con el máximo rendimiento y que la intervención de la UCP sea mínima. Para ello se dotaría al
sistema de:
A) Un Procesador de E/S (PE/S) de tipo canal selector. B) E/S controlada por programa.
C) Un Procesador de E/S (PE/S) de tipo canal multiplexor. D) Ninguna de las anteriores.

Solución: Para que la intervención de la UCP sea mínima hay que utilizar un PE/S (véase la página 172 del texto base de
teoría). Puesto que los periféricos son muy rápidos, el adecuado es el canal selector.

Respuesta: A (Un Procesador de E/S (PE/S) de tipo canal selector)

6.- Un computador con una longitud de palabra de 16 bits tiene un bus de direcciones de 24 bits (A23-A0). Se desea
diseñar su unidad de memoria para que tenga una capacidad de 2,5M palabras×16 bits/palabra. Se dispone para
ello de módulos RAM de 1M×1 bits/palabra. Suponiendo que las direcciones de memoria son consecutivas
empezando en la dirección 0,
I. Una expresión lógica que sirve para detectar direcciones no válidas es: A23+A22+A21· (A20+A19)
II. Bastan 32 módulos de RAM para obtener la capacidad deseada
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución: La memoria que se debe diseñar es de 2'5 Mpalabras. Como los módulos son de 1 M×1 bits/palabra, en cada
fila hay que colocar 16 módulos para tener el ancho de palabra solicitado (cada fila tendrá de capacidad 1 M palabra).
Para dar la capacidad requerida habrá que colocar 3 filas, dando una capacidad de 3 Mpalabras. Por lo tanto, habrá que
"prohibir" el acceso a la mitad de las palabras de la última fila.
A23..................................................A0
0000 0000 0000 0000 0000 0000
1ª Fila
0000 1111 1111 1111 1111 1111
0001 0000 0000 0000 0000 0000
2ª Fila
0001 1111 1111 1111 1111 1111
0010 0000 0000 0000 0000 0000
3ª Fila (uso)
0010 0111 1111 1111 1111 1111
0010 1000 0000 0000 0000 0000
3ª Fila (prohibido)
0010 1111 1111 1111 1111 1111
0011 0000 0000 0000 0000 0000
Resto de mapa de
memoria
1111 1111 1111 1111 1111 1111

Direcciones superiores a 2'5 M => aquellas con A23=1 ó A22=1, o bien si A21=1 no podrá serlo A20 ó A19. Por lo tanto las
direcciones "prohibidas" son :
A23+A22+A21 · (A20+A19).

Teniendo en cuenta lo anterior la afirmación I es verdadera y la afirmación II es falsa ya que se necesitan 16*3=48
módulos (y no 32 como se indica en dicha afirmación).

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

7.- Un disco magnético con 1024 pistas, numeradas del 0 al 1023, tiene la siguiente cola de peticiones de acceso: 2,
35, 46, 23, 90, 102, 10 y 34. Si se utiliza la planificación SCAN e inicialmente la cabeza se halla en la pista 29:
I. La longitud media de búsqueda es la misma tanto si el movimiento de la cabeza, desde la posición inicial, se
realiza en la dirección de las pistas crecientes como decrecientes.
II. Las solicitudes de acceso se podrían atender en el orden 34, 35, 46, 90, 102, 23, 10, 2
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución: En el algoritmo SCAN (véase el apartado 2.8.4 del texto base de teoría y el problema 3-32 del libro de
problemas) se van recorriendo todas las pistas en una dirección y satisfaciendo todas las peticiones que se encuentran en
el camino hasta alcanzar la última pista. En ese punto se invierte el sentido del recorrido y la búsqueda prosigue de la
misma forma. De esta manera con el algoritmo SCAN hay dos opciones según sea el movimiento de la cabeza desde la
posición inicial:

Si el movimiento en la dirección de las pistas crecientes:

Próxima pista a la 34 35 46 90 102 23 10 2


que se accede
Nº de pistas que se 5 1 11 44 12 79 13 8 LMB=21.625
atraviesan

Si el movimiento en la dirección de las pistas crecientes:

Próxima pista a la 23 10 2 34 35 46 90 102


que se accede
Nº de pistas que se 6 13 8 32 1 11 44 12 LMB=15.875
atraviesan

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


8.- Supóngase una memoria RAM de 2048 palabras× 8 bits/palabra construida utilizando módulos de memoria
RAM de 128 palabras×8 bits/palabra. A fin de permitir el direccionamiento de las palabras de memoria, el bus de
direcciones:
A) Tiene 11 líneas, 4 de ellas para seleccionar cada módulo y 7 comunes a todos ellos.
B) Tiene 11 líneas, 3 de ellas para seleccionar cada módulo y 8 comunes a todos ellos.
C) Tiene 12 líneas, 5 de ellas para seleccionar cada módulo y 7 comunes a todos ellos.
D) Ninguna de las anteriores es verdadera.

Solución: La memoria RAM tiene un total de 2048 palabras por lo que el bus de direcciones tiene un total de 11 líneas
(211=2048). Según el enunciado, la memoria se construye utilizando módulos de 128 palabras que tienen 7 líneas de
direcciones (27=128). Por lo tanto, a fin de permitir el direccionamiento de las palabras de memoria, de las 11 líneas del
bus de direcciones, 7 de ellas son comunes a todos los módulos y las otras 4 se emplean para seleccionar los distintos
módulos. Para más detalles de construcción de sistemas de memoria, véase las pp. 68 y ss. del texto base de teoría y los
problemas 2-1, 2-2 y 2-3 de cualquiera de las dos ediciones del libro de problemas.

Respuesta: A (Tiene 11 líneas, 4 de ellas para seleccionar cada módulo y 7 comunes a todos ellos)

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema

Se dispone de 3 módulos de memoria con entradas de selección activa a nivel bajo. Dos módulos son de 8K
palabras y el tercero de 32 K palabras. Estos módulos de memoria van a estar direccionados por un procesador
que posee un bus de direcciones con 16 líneas (A15-0). Se requiere que los circuitos de 8K ocupen las direcciones de
memoria menores y las mayores, y que las palabras de direcciones sobrantes se repartan en dos áreas del mismo
tamaño.
A) (2 puntos) Proponga un mapa de memoria que utilice los tres módulos con las especificaciones indicadas
anteriormente. Diseñe un circuito que realice ese mapa.
B) (2 puntos) Indique el módulo de memoria y la posición en dicho módulo que se activa con cada una de las
siguientes direcciones (A15-0, en hexadecimal):0123, 2345, 4567, 6789, 89AB, ABCD, CDEF, EF01.

Solución: Este problema es similar a problema 2-6 del texto “Problemas de Estructura y Tecnología de Computadores”,
2ª edición. Se recomienda consultar la solución a este problema con el fin de facilitar la comprensión de las explicaciones
dadas a continuación.

A) Mapa de memoria y circuito.


Descomponemos las 64K direcciones del bus de direcciones (216) en grupos de 8K, cada uno de los cuales está definido
por uno de los posibles valores de A15, A14 y A13. La Tabla 1 muestra la solución con las especificaciones dadas en el
enunciado: el módulo de 32 K debe ocupar forzosamente las posiciones intermedias (ya que no se puede “partir” un
módulo de memoria físicamente) para que, estando los dos módulos de 8K situados en las direcciones mayores y
menores, las palabras de direcciones sobrantes se repartan en dos áreas del mismo tamaño.
A15 A14 A13 Direcciones (Hexadecimal)
0 0 0 8 K de M1 0000-1FFF
0 0 1 LIBRE 2000-3FFF
0 1 0
0 1 1 32 K de M3 4000-BFFF
1 0 0
1 0 1
1 1 0 LIBRE C000-DFFF
1 1 1 8 K de M2 E000-FFFF
Tabla 1. Mapa de memoria.

Como M1 y M2 son de 8K, para direccionar una palabra dentro de estos módulos se necesitan 13 líneas de dirección (a12-
0). En el caso de M3, de 32K se necesitan 15 líneas (a14-0).

Se supone que los tres circuitos tienen de señal de selección CS M 1 , CS M 2 y CS M 3 . A partir de la Tabla 1, se sigue que
las señales de selección son:

CSM 1 = A15 · A14 · A13 ⇒ CSM 1 = A15 + A14 + A13


CSM 2 = A15 · A14 · A13 ⇒ CSM 2 = A15 · A14 · A13
CSM 3 = ( A14 · A15 ) + ( A14 · A15 ) ⇒ CSM 3 = ( A14 + A15 )·( A14 + A15 )

Se dan dos soluciones para la habilitación de los módulos de memoria con las señales CS M 1 , CS M 2 y CS M 3 a partir de
las funciones anteriores. La primera (Figura 1) utiliza un decodificador. La segunda (Figura 2) es un diseño a nivel de
puertas.

A13 CS M 1
A14
A15
CS M 3

CS M 2

Figura 1. Lógica de selección de módulos utilizando un decodificador

A15
A14 CS M 1
A13

CS M 2

CS M 3

Figura 2. Lógica de selección de módulos utilizando puertas

Las líneas de dirección de M1 y M2 (a12-0) se conectan directamente a las líneas A12-0. Para M3 se necesitan 15 líneas Ai.
En principio hay dos soluciones (en todo caso además de A13-0 hay que utilizar A15 ó A14):
a14-0= A14-0 ó a14-0= A15A-13-0

Se elige la primera solución (Figura 3), pues es la que cubre el mapa de memoria.

CSM1 CSM 2 CSM 3

M1 A12-0 M2 A14-0 M3
A12-0 a12-0 a12-0 a14-0
13 8 13 8 15 8
8K 8K 32 K

Figura 3. Lógica de direccionamiento

B) A partir de las direcciones A15-0 que se nos indican se tendrán que deducir los valores de A15, A14 y A13 para
determinar si se selecciona algún módulo y cuál es. También se tiene que analizar los valores de las líneas de dirección
del módulo seleccionado (a12-0 para M1 y M2; a14-0 para M3) para determinar qué dirección interna es la que se activa.

En la Tabla 2 se muestran los resultados de dicho análisis:

A15 A14 A13 A12 A11 -A8 A7 -A4 A3 –A0 Memoria Palabra de memoria
(binario) (hexadecimal (hexadecimal) (hexadecimal) (hexadecimal)
)

0 0 0 0 1 2 3 M1 a12 a11-8 a7-4 a3-0 = 0 1 2 3


0 0 1 0 3 4 5 Libre
0 1 0 0 5 6 7 M3 a14-12 a11-8 a7-4 a3-0 = 4 5 6 7
0 1 1 0 7 8 9 M3 a14-12 a11-8 a7-4 a3-0 = 6 7 8 9
1 0 0 0 9 A B M3 a14-12 a11-8 a7-4 a3-0 = 0 9 A B
1 0 1 0 B C D M3 a14-12 a11-8 a7-4 a3-0 = 2 B C D
1 1 0 0 D E F Libre
1 1 1 0 F 0 1 M2 a12 a11-8 a7-4 a3-0 = 0 F 0 1
Tabla 2. Módulo y palabra que se activan
2004 Septiembre

Test:
1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes
afirmaciones, acerca de las señales de control (ci), es correcta. .
s2/0
I
S2 s1/c2,c4
I/c0,c3 s0/c1 s2/c5
S0 S1 S4 S5
s1/c3
s0/c1,c2 s1/c5
S3

A) c3 = S3 ⋅ s1

B) c5 = S 4 ⋅ s2 + S3 ⋅ s1
C) Las dos afirmaciones anteriores son correctas.
D) Todas las afirmaciones anteriores son falsas
2.- Una unidad de disco tiene 4 superficies, 128 cilindros, 16 sectores por pista y 4 Kbytes por sector. Si el disco
gira a 6000 rpm y tiene un formato con entrelazado simple ¿cuál es su velocidad de transferencia?
A) 3200 Kbytes/seg. B) 6400 Kbytes/seg. C) 6,4 Mbytes D) Ninguna de las anteriores
3.- Un computador utiliza microinstrucciones de formato vertical. El formato tiene 15 subcampos codificados de 2
bits, 5 subcampos codificados de 3 bits y 2 subcampos codificados de 5 bits. ¿Cuál es el número máximo de señales
de control que puede tener este computador?
A) 55 B) 85 C) 164 D) Ninguno de los anteriores.

1
2 Estructura y Tecnología de Computadores II

4.- Si al número binario X = 11110001100 le aplicamos la siguiente secuencia de operaciones de desplazamiento:


5 operaciones LICS seguidas de 12 operaciones LDCS, ¿cuál es el resultado de la operación?
A) 11110001100 B) 11111001111 C) 10010000011 D) Ninguna de las anteriores.
5.- En un computador con una frecuencia de 108 ciclos/segundo una instrucción emplea, en promedio, 4 ciclos
máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA
que emplea 1 ciclo en la transferencia de una palabra.
I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de 5 × 107 palabras/seg.
II. Utilizando DMA por robo de ciclos la máxima velocidad de transferencia de datos es de 2 × 107
palabras/seg.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
6.- Dado el diagrama ASM de la Figura, indicar cuántos elementos de memoria tipo J-K son necesarios para
implementarlo si se usa la técnica de diseño con un elemento de memoria por estado.

A) 3 B) 2 C) No se puede deducir del diagrama D) Ninguna de las anteriores


7.- Se tiene una memoria caché con 256 bloques de 16 palabras cada uno. Si la función de correspondencia es
directa y las direcciones de memoria principal (Mp) tienen 32 bits,
I. Las direcciones de Mp A327113316 y A326113716 se ubican en el mismo bloque de la memoria caché.
II. La dirección de Mp A350212716 se ubicará en el bloque 18 de la memoria caché (expresado en decimal).
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
8.- De acuerdo con un estudio realizado sobre la utilización de las instrucciones de un computador, que no
dispone de caché, se ha determinado que en media ejecuta 100 millones de instrucciones por segundo. Las
distintas instrucciones (todas ellas almacenadas en memoria principal) y los porcentajes de utilización de las
mismas son los mostrados en la tabla, donde Acum. es el acumulador, M[dir] una posición de memoria principal,
R es un registro interno y PC el contador de programa.

LOAD Acum ← M[dir] 20%

STORE M[dir] ← Acum 20%

MOVE R ← Acum 20%

Operaciones aritméticas Acum ← R operación aritmética Acum 35%

Bifurcaciones PC ← Acum 5%

Si las instrucciones LOAD y STORE ocupan dos palabras de memoria y el resto sólo una, el número medio
de millones de accesos a memoria por segundo que se ejecutan en este computador es:
A) 140 B) 100 C) 200 D) Ninguna de las anteriores
ETC2 - Examen septiembre 2004 3

Solución

1.- Del diagrama de estados se deduce que:


c3 = S0 ⋅ I + S3 ⋅ s1
c5 = S3 ⋅ s1 + S4 ⋅ s2

Respuesta: D (Todas las afirmaciones son falsas)


2.- [Ver problemas 3-26 y 3-28 del libro de problemas]. Sin entrelazado la velocidad de transferencia sería:
16 sectores/pista × 4 Kbytes/sector × (6000/60) pistas/seg = 6400 Kbytes/seg.
Con entrelazado simple, en cada vuelta lee la mitad de los sectores y, por lo tanto, la velocidad de
transferencia es la mitad de la calculada antes: 3200 Kbytes/seg.
Respuesta: A (3200 Kbytes/seg.)
3.- En la microprogramación vertical con un subcampo de j bits se pueden especificar 2j-1 señales de control (una
de las codificaciones hay que reservarla para el caso en que ninguna señal de control esté activa). En el caso
propuesto en el enunciado de la pregunta:
• Campos de 2 bits: 3 señales de control.
• Campos de 3 bits: 7 señales de control.
• Campos de 5 bits: 31 señales.
Siendo el total: 15×3 + 5×7 + 2×31 = 142 señales de control.
Respuesta: D (Ninguna de las anteriores)
4.- [Ver la sección 4.9.1 del texto base de teoría]. Si analizamos la secuencia de operaciones de desplazamiento
propuesta, las 5 operaciones LICS se ven contrarrestadas por otras 5 operaciones LDCS. Por ello, la secuencia de
desplazamientos del enunciado equivale a aplicar 7 operaciones LDCS sobre el número binario. El resultado es
00011001111, que no coincide con ninguna de las respuestas propuestas.
Respuesta: D (Ninguna de las anteriores)
5.- [Ver problemas 3-15 y 3-16 del libro de problemas].
I. DMA Transparente. El controlador de DMA hace uso del Bus en los ciclos en los que la UCP no lo utiliza.
En la situación planteada en el enunciado, en promedio el controlador de DMA emplea 2 ciclos de cada 4
para efectuar transmisiones de datos. En cada uno de estos ciclos transfiere una palabra, es decir, 2
palabras cada 4 ciclos. La velocidad de transferencia resultante es: 108× (2/4) = 5 × 107 palabras/seg.
II. DMA por robo de ciclos. En este caso el controlador de DMA añade un ciclo cuando la UCP finaliza la
ejecución de una instrucción, es decir, transfiere una palabra cada 4+1 = 5 cliclos de reloj. La velocidad de
transferencia resultante es: 108 × (1/5) = 2 × 107 palabras/seg.
Respuesta: A (I:sí, II:sí)
6.- [Ver problemas 5-1 y 5-4 del libro de problemas y el apartado 5.5.7 del texto base de teoría]. Empleando la
técnica de diseño de un elemento de memoria por estado y como el diagrama ASM posee 3 estados, serían
necesarios 3 biestables J-K. Los biestables J-K se pueden emplear para reproducir el comportamiento de un
biestable D [Ver apartado B.3.3 de apéndice B del texto base de teoría].
Respuesta: A (3)
4 Estructura y Tecnología de Computadores II

7.- [Ver problemas 2-10 y 2-11 del libro de problemas y el apartado 2.5.2 del texto base de teoría].
Como la caché utiliza correspondencia directa, una dirección de memoria principal se compone de los
campos etiqueta, bloque y palabra.
Con la memoria caché propuesta, los 32 bits de dirección de memoria principal se descomponen en los
siguientes campos:

• Campo palabra: 4 bits. La caché tiene bloques de 16 = 24 palabras.

• Campo bloque: 8 bits. La caché tiene 256 = 28 bloques.


• Campo etiqueta: 20 bits. 32 - 8 - 4 = 20 bits.

ETIQUETA BLOQUE PALABRA

20 bits 8 bits 4 bits

I. Las direcciones de Mp A327113316 y A326113716 se ubican en el bloque 1316 de la memoria caché.


II. La dirección de Mp A350212716 se ubicará en el bloque 1216= 1810 de la memoria caché.
Respuesta: A (I:sí, II:sí)
8.- El computador ejecuta 100 millones de instrucciones por segundo. En el repertorio propuesto la ejecución de
la instrucción MOVE, de las instrucciones arítmeticas y de las instrucciones de bifurcación, necesita un único
acceso a memoria para la lectura de la propia instrucción. Sin embargo, las instrucciones LOAD y STORE,
requieren de 2 accesos a memoria para la lectura de la instrucción y un acceso más para leer/escribir el operando.
Por lo tanto, empleando los porcentajes de utilización de las instrucciones propuestos en la tabla del enunciado de
la pregunta, el número de accesos promedio por instrucción es:
0.2×3 (LOAD) + 0.2×3 (STORE) + 0.2×1 (MOVE) + 0.35×1 (Arit.) + 0.05×1 (Bif.) = 1.8 accesos/intruc..
Esto supone que el computador realiza: 100×106 instruc./seg. × 1.8 accesos/instruc. = 180 × 106 accesos/seg.
Respuesta: D (Ninguna de las anteriores)

Cuestiones teórico-prácticas:
1.- Justificar el resultado de la pregunta 1 del test.
2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
ETC2 - Examen septiembre 2004 5

Problema:
Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la figura, con dos entradas de datos,
X (x1x0) e Y (y1y0), que representan números enteros positivos sin signo, una entrada de control C (c1c0) y una
salida de datos R (r3r2r1r0).
2 2

x 1x 0 y1y0
c 1c 0
2 UAL
r3 r2 r1 r0

El funcionamiento de la UAL viene descrito por la siguiente tabla:

c1c0 = 00 : resta R = X – Y (R=0 si Y>X)


c1c0 = 01 : div. entera R = X / Y (cociente entero) si Y=0 → R=0
c1c0 = 10 : comparación Si X > Y entonces R = 1 0 0 0
Si X = Y entonces R = 0 1 0 0
Si X < Y entonces R = 0 0 1 0
c1c0 = 11 : sacar X , Y R = X , Y ( r3 = x1 , r2 = x 0 , r1 = y1 , r0 = y 0 )

Para resolver el problema, seguir obligatoriamente los siguientes apartados:


A) (1 punto) Diseñar un comparador de números de dos bits.
B) (2 puntos) Diseñar un restador/divisor de dos números de 2 bits utilizando únicamente un módulo de
memoria ROM. ¿Cuál es el tamaño necesario para este módulo de memoria ROM? Indique claramente el
significado de cada una de sus entradas y cada una de sus salidas. Escriba todo el contenido de la memoria
ROM en forma de tabla.
C) (1 punto) Utilizando únicamente los módulos diseñados en los apartados anteriores, los módulos
combinacionales necesarios y puertas lógicas, diseñe la UAL pedida.

Solución

A) El enunciado no propone ninguna técnica concreta para implementar el comparador de dos números de dos
bits. Una forma de hacerlo consiste en emplear 2 comparadores de 1 bit.
Si el resultado de la comparación de x e y es: M, I y m, se cumple que:
M =1 si x > y
I =1 si x = y
m =1 si x < y
La tabla de verdad que describe el funcionamiento del comparador de 2 bits se muestra en la Tabla 1.
6 Estructura y Tecnología de Computadores II

x y M I m

0 0 0 1 0

0 1 0 0 1

1 0 1 0 0

1 1 0 1 0

Tabla 1: Tabla de verdad de un comparador de 1 bit

De la Tabla 1 se deducen las siguientes expresiones booleanas para M, I y m:


M= x y

I= x y +xy= x y + x y
m= x y
y el correspondiente circuito lógico (ver Figura 1).
x • • M

y • m

Figura 1: Circuito lógico de un comparador de 1 bit

Utilizando dos comparadores de este tipo con salidas Mi, Ii y mi se generan las salidas M, I y m del
comparador de 2 bits mediante las siguientes funciones booleanas:
M = M1 + I1 M0
I = I1 I0
m = m1 + I1 m0
La explicación de estas expresiones es inmediata:
x > y si (x1 > y1) o ((x1= y1) y (x0 > y0))
x = y si (x1 = y1) y (x0= y0)
x < y si (x1 < y1) o ((x1= y1) y (x0 < y0))
La Figura 2 muestra el circuito lógico solicitado en este apartado obtenido a partir de las expresiones
anteriores.
ETC2 - Examen septiembre 2004 7

x1 y1 x0 y0

x>y x=y x<y x>y x=y x<y

M1 I1 m1 M0 I0 m0

• • x 1 x0 y1 y0
• • • • Comparador
• •
• • M I m
• •
• •

M I m
Figura 2: Circuito lógico de un comparador de dos números de 2 bits

B) Para calcular el tamaño de la memoria ROM necesaria hay que saber el número entradas y salidas del
circuito.
• Entradas. Este circuito tiene 5 entradas: 2 para la entrada de datos X (x1x0), 2 para la entrada de datos
Y (y1y0) y una entrada de control (c) para la selección de la operación a realizar por el circuito. Esta
última entrada de control va a tener el siguiente significado:
• c = 0: resta
• c = 1: división entera
• Salidas: Este circuito tiene 2 salidas: el resultado de la diferencia y de la división entera de dos números
de dos bits tiene tan sólo 2 bits.
Por tanto, el tamaño de la memoria ROM necesario para implementar el sumador es de: 25 palabras × 2
bits/palabra. El significado de cada una de sus entradas y salidas se muestra en la Figura 3. Finalmente, en la Tabla
2 se muestra el contenido completo que debería tener la memoria ROM1. Para realizar esta tabla se ha tenido en
cuenta que se trata de números enteros sin signo y las condiciones propuestas en la tabla del enunciado:
• Resta: R=X-Y (R=0 si Y>X)
• División entera: R=X/Y (Cociente entero) si Y=0 -> R=0

1. Para realizar esta tabla tan sólo se requiere tener claros los conceptos elementales de resta y de división entera, y
no es necesario emplear nada de lo tratado en Sección 4.6: Divisores binarios del texto base de teoría, sección que
no es materia de examen.
8 Estructura y Tecnología de Computadores II

c A4
x1 A3 ROM x 1 x0 y1 y0
x0 A2 Restador / Divisor c c
32 palabras × 2 bits b1 b0
y1 A1
y0 A0
b1 b0

Figura 3: Sumador/Multiplicador diseñado con memoria ROM

Dirección memoria Dirección memoria


Contenido Contenido
c x1 x0 y1 y0 c x1 x0 y1 y0

A4 A3A2 A1A0 b1 b0 A4 A3A2 A1A0 b1 b0

0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 1 0 0 0 1 0 0
0 0 0 1 0 0 0 1 0 0 1 0 0 0
0 0 0 1 1 0 0 1 0 0 1 1 0 0
0 0 1 0 0 0 1 1 0 1 0 0 0 0
0 0 1 0 1 0 0 1 0 1 0 1 0 1
0 0 1 1 0 0 0 1 0 1 1 0 0 0
0 0 1 1 1 0 0 1 0 1 1 1 0 0
0 1 0 0 0 1 0 1 1 0 0 0 0 0
0 1 0 0 1 0 1 1 1 0 0 1 1 0
0 1 0 1 0 0 0 1 1 0 1 0 0 1
0 1 0 1 1 0 0 1 1 0 1 1 0 0
0 1 1 0 0 1 1 1 1 1 0 0 0 0
0 1 1 0 1 1 0 1 1 1 0 1 1 1
0 1 1 1 0 0 1 1 1 1 1 0 0 1
0 1 1 1 1 0 0 1 1 1 1 1 0 1

Tabla 2: Contenido de la memoria ROM

C) En la Figura 4 se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4 multiplexores
para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas de control c1 y c0.
También la entrada de control de la UAL c0 se utiliza para seleccionar la operación a realizar por el
Restador/Divisor.
ETC2 - Examen septiembre 2004 9

x1
x0
y1
y0

x 1 x0 y1 y0 x 1 x0 y1 y0
Comparador Restador / Divisor c
M I m b1 b0

0 0 0 0 0

0 3 2 1 0 0 3 2 1 0 0 3 2 1 0 0 3 2 1 0
MUX MUX MUX MUX
1 1 1 1
c0
c1

r3 r2 r1 r0

Figura 4: UAL pedida en el problema


ETC2 - SEPTIEMBRE 2004

A B C D E F G

1 D D D D C C C

2 A A A A B B B

3 D D D D B B B

4 D A D A C B C

5 A D A D A C A

6 A D D A B C B

7 A A A A C A C

8 D A A D B B B
.
Test
1.- El ciclo de instrucción de una máquina usa 4 ciclos de reloj para las instrucciones de operaciones entre registros
(cálculo) y 8 ciclos para el resto de las instrucciones. Si la frecuencia de reloj del computador es 8x106 ciclos/s,
I. ¿Cuánto tardará en ejecutarse un programa de 1000 instrucciones en el que no hay instrucciones de salto y hay
un 20% de instrucciones de cálculo?
II. ¿Cuántos millones de instrucciones por segundo se pueden ejecutar como máximo?
A) I: 1000 µs, II: 1 B) I: 900 µs, II: 2 C) I: 450 µs, II: 10 D) Ninguna de las anteriores

2.- A continuación se muestra la tabla de estados del modelo de Huffman-Mealy de una unidad de control. Dicha unidad
de control se implementa usando dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados
siguiente: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}. Indique si las siguientes
afirmaciones, acerca de las funciones de entrada a los elementos de memoria, son correctas. (Nota: el biestable Di
almacena Qi).
A) D1 = Q1 ⋅ Q0 + Q1 ⋅ s0
Estado Próximo estado
presente I ⋅ s0 I ⋅ s0 I ⋅ s0 I ⋅ s0 B) D0 = Q0 ⋅ s0 + Q0 ⋅ ( s0 + I )
S0 S0 S0 S1 S1 C) Las dos afirmaciones anteriores son correctas.
D) Todas las afirmaciones anteriores son falsas.
S1 S3 S2 S3 S2
S2 S3 S1 S3 S1
S3 S3 S0 S3 S0

3.- Se desea diseñar un comparador de 2 números de 2 bits cada uno, A(a1,a0) y B(b1,b0), que genere las salidas M (= 1 si
A > B, = 0 si A ≤ B), m (= 1 si A < B, = 0 si A ≥ B) e I (= 1 si A = B, =0 si A ≠ B), empleando una memoria ROM y una
puerta NOR. La memoria ROM necesaria tiene un tamaño mínimo de:
A) 24 palabras × 3 bits/palabra B) 22 palabras × 2 bits/palabra
C) 24 palabras × 2 bits/palabraD) Ninguna de las anteriores

4.- Un bus con arbitraje centralizado por encadenamiento (daisy-chaining) y con un único nivel de prioridad tiene
conectados 4 dispositivos (d1, d2, d3, d4). El dispositivo d1 es el que se encuentra conectado más próximo al árbitro, a
continuación está conectado d2, seguidamente d3 y finalmente d4. La fracción de la capacidad utilizada por los
dispositivos d1, d2, d3 y d4 es 0.2, 0.35, 0.1 y 0.25 respectivamente. Indique cuál es la capacidad sobrante del
dispositivo d3. (Nota: Se define la capacidad sobrante de un dispositivo como 1 menos la suma de las fracciones de las
capacidades utilizadas por todos los dispositivos que tienen una prioridad superior).
A) 0.75 B) 0.35 C) 0.45 D) Ninguna de las anteriores.

5.- El siguiente diagrama representa una memoria 1 0 0 1 1 0 1 0 ARGUMENTO


asociativa y su contenido. A la vista de los valores de 1 0 0 1 0 1 0 1 MÁSCARA
los registros argumento, máscara, etiqueta y marca, y
1 1 1 0 1 1 1 1 1 Palabra 0 0
del contenido de la memoria, en una operación de 0 1 1 0 1 1 0 1 0 Palabra 1 1
escritura en esta memoria, ¿en qué palabra se ETIQUETA 1 1 0 0 1 0 0 0 0 Palabra 2 0 MARCA
escribiría el nuevo dato? 0 1 0 1 0 0 1 1 0 Palabra 3 0
A) Palabra 0 B) Palabra 1 0 1 1 0 1 1 0 0 0 Palabra 4 0
C) Palabra 4 D) Ninguna de las anteriores

6.- En la figura se presenta un diagrama con el circuito de gestión de prioridades de un INTR3 INTR2 INTR1 INTR0
sistema de E/S (Prioridad P0>P1>P2>P3). La expresión lógica que define INTR es:
A) INTR = INTR3 + INTR 2 + INTR1 + INTR 0 SISTEMA
DE
INTR
GESTIÓN CPU
INTR = INTR3 + INTR 3 ( INTR2 + INTR 2 ( INTR1 + INTR1 INTR0 )
DE INTERRUPCIONES
B) INTA

C) INTR = INTR 3 INTR 2 INTR1 INTR 0 INTA3 INTA2 INTA1 INTA0


D) Dos de las anteriores son ciertas.

7.- Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué operación
calcula la secuencia de instrucciones: Load A; Add B; Add C; Mult D, Add A, Store R1, Mult R1, Div A, Store C.
A) C = ((A+B+C)D+A)2/A B) C = (A+B+CD+A) 2/A
2
C) C = ((A+B+C)(D+A)) /A D) Ninguna de las anteriores

8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 50 bits. La parte
de control del formato de una microinstrucción emplea 21 bits para seleccionar independientemente las microoperaciones
que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional,
incondicional o no bifurcar) y un campo para seleccionar una de las 13 señales de condición posibles. ¿Cuál es el tamaño
máximo de la memoria de control?
A) 250 B) 221 C) 223 D) Ninguna de las anteriores

Solución:

1.- Afirmación I: De las 1000 instrucciones, el 20% son instrucciones de cálculo que emplean 4 ciclos en ejecutarse, por
lo que el número de ciclos que necesita dicho 20% es de 200×4 = 800 ciclos. El 80 % restante, 800, son instrucciones de
8 ciclos de duración, con lo que el número de ciclos necesarios para ejecutarlas son 800×8 = 6400 ciclos. Si se suman los
ciclos empleados por los dos tipos de instrucciones se obtiene el número de ciclos necesarios para ejecutar el programa,
es decir, 7200 ciclos. Si la frecuencia del reloj es de 8×106 ciclos/seg., el tiempo invertido por el programa en ejecutarse
será de:

7200 ciclos
tp = 6
= 900 x10 −6 seg . = 900 µs
8 x10 ciclos / seg .

Afirmación II: Como interesa el número máximo de instrucciones a ejecutar se deben considerar aquellas que se ejecuten
en menos ciclos de reloj, en este caso las instrucciones de cálculo. De esta forma el número máximo de instrucciones se
puede calcular como:

8 x10 6 ciclos / seg


Número máximo instrucciones = = 2 x10 6 instr / seg. = 2 MIPS
4 ciclos / instr

Respuesta: B (I: 900 µs, II: 2)

2.- La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado 5.5.5 del texto de
teoría. Realizando la asignación de estados indicada en el enunciado, se obtiene la tabla de transición de estados
siguiente:
Las funciones de entrada a los elementos de memoria tipo D son las siguientes:

Q1Q0 so Q1 Q1Q0 Q0 s0 IQ0


D1 = Q1Q0 + s o Q1 D0 = Q0 so + Q0Q1 + Q0 I = Q0 so + Q0 (Q1 + I )
De esta forma la función D1 mostrada en la respuesta A) es correcta mientras que la función D0 mostrada en B) no lo es.

Respuesta: A ( D1 = Q1 ⋅ Q0 + Q1 ⋅ s0 )

3.- [Véase Problema 4-44 y el comentario del primer párrafo de la página 185 del libro de problemas]. Se pretende
diseñar un comparador de números de dos bits, por lo que el número de palabras que debe poseer la ROM se corresponde
con el número de combinaciones posibles de números de dos bits, es decir, 24 palabras. El ancho de palabra de la ROM se
corresponde con el número de salidas que genera el comparador, es decir, tres: I (igual), M(mayor) y m(menor). Sin
embargo la salida I se puede calcular a partir de las otras dos salidas, ya que se activará cuando el primer número
comparado con el segundo no sean ni mayor (M=0) ni menor (m=0). De esta forma, la función lógica correspondiente a la
salida I es

I= M NOR m

y por lo tanto se puede emplear la puerta NOR propuesta en el enunciado para minimizar el ancho de palabra de la ROM
a 2 bits. De esta forma la ROM mínima necesaria tiene 4 entradas y 2 salidas, es decir, un tamaño de 24 palabras x 2
bits/palabra.

Respuesta: C (24 palabras × 2 bits/palabra)

4.- [Véase el problema 1-5 del libro de problemas, y la Sección 1.4.4 del texto de teoría]. En este caso en un bus con
arbitraje distribuido se debe tener en cuenta la prioridad definida para los dispositivos. Los dispositivos d1 y d2 tienen
mayor prioridad que d3. Por tanto, la capacidad sobrante de d3 será:

Cs3 = 1-0.2-0.35 = 0.45


Respuesta: C (0.45)

5.- [Véase la página 102 del libro de teoría]. En una operación de escritura, se selecciona como dirección a almacenar la
primera palabra que tenga su bit de etiqueta a 0, que en este caso es la palabra 1.

Respuesta: B (Palabra 1)

6.- El diagrama de la figura representa un sistema de gestión de prioridades, que debe generar una entrada INTR al
procesador. Puesto que se tienen cuatro interrupciones, se debe enviar una señal INTR a 1 cuando cualquiera de las INTRi
(i=1..4) esté activa. De esta forma la función lógica asociada a INTR es la suma lógica de todas las INTRi:
INTR = INTR 3 + INTR 2 + INTR1 + INTR 0

Por lo que la respuesta A es cierta. La respuesta B) también es cierta ya que aplicando implicación algebraica a la función
propuesta en el enunciado se puede ver que es equivalente a la función lógica propuesta en A).

INTR = INTR3 + INTR 3 ( INTR2 + INTR 2 ( INTR1 + INTR1 INTR0 ),


_
aplicando a + a xb = a + b
INTR = INTR3 + INTR 3 ( INTR2 + INTR 2 ( INTR1 + INTR0 ))
INTR = INTR3 + INTR 3 ( INTR2 + ( INTR1 + INTR0 ))
INTR = INTR3 + ( INTR2 + ( INTR1 + INTR0 ))
INTR = INTR3 + INTR2 + INTR1 + INTR0

También se puede comprobar generando la tabla de verdad de la función y simplificando mediante mapas de Karnaugh,
obteniéndose idéntico resultado. La respuesta C) es falsa ya que si no hay activación de una de las INTRi el resto de
peticiones quedan enmascaradas y por tanto no se transmite la petición de interrupción a la CPU. Por tanto la solución
final es la D) Dos de las anteriores son ciertas.

Respuesta: D (Dos de las anteriores son ciertas)

7.- [Véase el problema 6-5 del libro de problemas]. En el caso de un procesador con acumulador y un registro R1 las
instrucciones propuestas en el enunciado realizan las operaciones mostradas en la siguiente tabla. Se muestra en dicha
tabla la operación, su significado y el contenido del acumulador y el registro R1.

Operación Acumulador R1 Significado


Load A A ------1 Carga el contenido de la posición de memoria A en el acumulador
Add B A+B ------ Suma el contenido del acumulador con el contenido de la
posición de memoria B y el resultado queda almacenado en el
acumulador
Add C A+B+C ------ Suma el contenido del acumulador con el contenido de la
posición de memoria C y el resultado queda almacenado en el
acumulador
Mult D (A+B+C)D ------ Multiplica el contenido del acumulador con el contenido de la
posición de memoria D y el resultado queda almacenado en el
acumulador
Add A (A+B+C)D+A ------ Suma el contenido del acumulador con el contenido de la
posición de memoria A y el resultado queda almacenado en el
acumulador
Store R1 (A+B+C)D+A (A+B+C)D+A Mueve el contenido del acumulador al registro R1
Mult R1 ((A+B+C)D+A)2 (A+B+C)D+A Multiplica el contenido del acumulador con el contenido de R1 y
el resultado queda almacenado en el acumulador
Div A ((A+B+C)D+A)2/A (A+B+C)D+A Divide el contenido del acumulador entre el contenido de la
posición de memoria A y el resultado queda almacenado en el
acumulador
Store C ((A+B+C)D+A)2/A (A+B+C)D+A Se almacena el contenido del acumulador en la posición de
memoria C

La última operación almacena en C el valor ((A+B+C)D+A)2/A, por lo que la solución de la pregunta es la A.

Respuesta: A (C= ((A+B+C)D+A)2/A)

8.- [Véase el Problema 7.2 del libro de problemas]. La micro-instrucción tiene 50 bits de longitud, de los cuales 21 bits se
emplean para seleccionar las micro-operaciones y 2 bits se usan para codificar el tipo de bifurcación. Para la selección de
la condición se emplea un solo campo que elegirá una de las 13 posibles señales de condición, con lo que se necesitan 4

1
La información contenida en el registro R1 no es relevante.
bits (24=16>13) para el campo de selección de condición. Por lo tanto para el campo Dirección quedan disponibles 50-21-
2-4=23 bits. De esta forma el tamaño máximo de la memoria de control es 223 palabras.

Respuesta: C (223)

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema

Una memoria caché con correspondencia directa consta de 128 bloques. La memoria principal contiene 16K bloques con
16 palabras/bloque. El tiempo de acceso de la memoria caché es de 10 ns y el tiempo requerido para llenar un bloque de
la memoria caché es de 200 ns. Cuando una palabra a la que se desea acceder no se encuentra en la memoria caché, en
primer lugar se trae el bloque entero desde la memoria principal a la memoria caché y a continuación se accede a la
palabra desde la caché. Inicialmente la memoria caché está vacía. Se pide:
a) (1 punto) Dar el formato de la dirección de memoria.
b) (2 puntos) Calcular la tasa de acierto para un programa que realiza 10 veces un bucle que va desde las posiciones de
memoria 15 a 200.
c) (1 punto) Calcular el tiempo de acceso efectivo o medio para este programa.

Solución

a) La memoria caché tiene una correspondencia directa por lo que la dirección de memoria principal está divida en tres
campos: Etiqueta, Bloque y Palabra. Por lo tanto es necesario calcular la longitud en bits de estos campos, para ello
necesitamos:
• palabras/bloque = 16 ⇒ nº de bits del campo de palabra p = 4.
• tamaño de la memoria principal Mp = 16K bloques × 16 palabras/bloque = 256K palabras = 218 palabras ⇒ nº de
bits para direccionar Mp es n = 18.
• nº de bloques de la memoria caché = 128 = 27 ⇒ nº de bits del campo de bloque es b = 7.
• nº de bits del campo etiqueta e = n - p - b = 18 - 7 - 4 = 7

b) De los datos del enunciado se conoce el número de accesos por bucle (200-15 + 1) = 186 y se realizan en un bucle de
10 iteraciones, por lo que el número global de accesos es 186×10 = 1860 accesos. En la Tabla siguiente se muestra la
correspondencia entre direcciones de comienzo de bloque de la Mp, los accesos del bucle, y el bloque que le corresponde
en Mc. Se puede observar en dicha tabla que, cómo la Mc tiene 128 bloques, en la ejecución del programa sólo se
emplean los 13 primeros, con lo que no se producirán reemplazamientos de bloques una vez ejecutada la primera
iteración y en el resto se encontrarán todas las referencias cargadas en Mc. Por lo tanto, para calcular la tasa de aciertos se
necesita saber el número de fallos que se producen en la primera iteración.
Dirección bloque Mp Campo Etiqueta Bloque caché
(decimal) (binario) (decimal)
0-15 0000000 0
16-31 0000000 1
32-47 0000000 2
48-63 0000000 3
64-79 0000000 4
80-95 0000000 5
96-111 0000000 6
112-127 0000000 7
128-143 0000000 8
144-159 0000000 9
160-175 0000000 10
176-191 0000000 11
192-207 0000000 12

En el primer acceso, la dirección 15 de Mp, se produce un fallo y se traerá el bloque 0 de Mp a Mc. El siguiente acceso a
la dirección 16 de Mp producirá un nuevo fallo, por lo que se traerá el bloque 1 a Mc. Los siguientes quince accesos del
bloque 1 se encontrarán en caché por lo que no se producirán fallos hasta la dirección 32. A partir de las direcciones 32
hasta la 192 se producirán fallos al acceder al comienzo de cada bloque, en concreto 11 fallos, y 15 aciertos por bloque
exceptuando el último, el bloque 12, que sólo producirá 8 aciertos (se lee hasta la dirección 200). De esta forma se
producen 13 fallos y 173 aciertos en la primera iteración.
En el resto de iteraciones, al estar cargados todos los bloques en Mc, no habrá fallos y por tanto se producirán 186x9=
1674 aciertos. Contabilizando el número de aciertos de la primera iteración (173) más los del resto de iteraciones (1674)
se obtiene un total de 1847 aciertos en la ejecución del bucle. Para calcular la tasa de aciertos aplicamos la fórmula:
número de aciertos 1847
h= x100 = x100 = 99,3
número de accesos 1860

c) Para calcular el tiempo de acceso medio ta se debe aplicar la formula 2.1 (página 79 del libro de teoría):

t a = ht caché + (1 − h)t fallo

dónde:
• h es la tasa de aciertos (0.993)
• tcaché es el tiempo de acceso a memoria caché (10 ns)
• tfallo es el tiempo invertido en gestionar un fallo. En este caso se dice que se trae el bloque de memoria principal a
memoria caché (200 ns) y se lee luego el dato de la memoria caché (10 ns)

con lo que se obtiene


t a = 0.993 x10 + (1 − 0.993)(200 + 10) ns = 9.93 + 1.47 ns = 11.4 ns

También se puede calcular el tiempo de acceso medio como


número aciertos × tcaché + número fallos × t fallo
ta =
número accesos
1847 × 10 + 13 × 210
ta = ns = 11.4 ns
1860
Test
1.- Un computador posee 4 módulos de memoria RAM y un único módulo de memoria ROM. Todos ellos tienen una
longitud de palabra de 8 bits. El bus de direcciones de la memoria tiene 16 bits. El mapa de direcciones de la memoria
del computador es el mostrado en la tabla adjunta. Indique si son correctas las dos afirmaciones siguientes:
Componente Dirección hexadecimal I. Cada módulo de memoria RAM tiene 128 palabras.
RAM 1 0000 – 007F II. El módulo de memoria ROM tiene 512 palabras.
RAM 2 0080 – 00FF
RAM 3 0100 – 017F A) I: sí, II: sí B) I: sí, II: no
RAM 4 0180 – 01FF C) I: no, II: sí D) I: no, II: no
ROM 0200 – 03FF

2.- Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La memoria caché
es totalmente asociativa, con un tamaño de bloque de 8 palabras. Cuando se produce un fallo en la caché se reemplaza el
bloque más antiguo. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones
de memoria principal: 00000000, 00000001, 00000011, 00100001, 00100101, 00010000, 00010010 y 00000000. Si se
leyera la dirección 00100111.
I. Se produciría un acierto en la memoria caché.
II. Se produciría un fallo en la memoria caché y sería necesario reemplazar uno de los bloques existentes en la
caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

3.-Se desea diseñar un circuito combinacional, que sea un sumador de 11 números de 1 bit de longitud, utilizando
únicamente módulos SBC. ¿Cuál es el número mínimo de módulos SBC necesarios?
A) 8 B) 11 C) 1 D) Ninguna de las anteriores

4.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las
unidades de disco tienen una velocidad de transferencia de 10 bytes/seg, y las de cinta de 2×10 bytes/seg. Si para la
6 5

transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg. ¿Cuál
es la velocidad máxima de transferencia de E/S agregada en este sistema?
A) 7 × 10 bytes/seg
6
B) 5 × 10 bytes/seg
6
C) 10 bytes/seg
6
D) Ninguna de las anteriores

5.-En el diseño de una Unidad de Control de 20 estados con una memoria ROM, un registro y un multiplexor,
empleando el método de selección por campo, es necesario que el registro tenga una capacidad de:
A) 5 bits B) 6 bits C) Faltan datos para calcularlo D) Ninguna de las anteriores
6.- En un procesador con instrucciones de cero direcciones, indicar cuantos accesos a memoria principal se necesitan
para completar la secuencia Y = Y(X+Z). Para el cálculo de accesos a memoria se supondrá que el ancho de palabra es
suficiente para que cada instrucción ocupe una única palabra de memoria. También se supondrá que la pila es cableada.
A) 20 B) 8 C) 13 D) Ninguna de las anteriores.

7.- Un computador tiene un formato de instrucciones de 20 bits, donde los 6 más significativos (I ,I ,..,I ) son el código
19 18 14

de operación y el resto (I ,I ,..,I ) hacen referencia a los operandos. La Unidad de Control Microprogramada que
13 12 0

implementa el repertorio de instrucciones del computador asigna 16 palabras consecutivas de la memoria de control para
el microprograma de cada una de estas instrucciones. A partir de una instrucción máquina, indicar una salida posible de
la lógica de transformación de RI en RDC para acceder directamente al comienzo de cada microprograma.
A) 0 0 0 0 I I … I
19 18 14 B) I I … I 0 0 0 0
19 18 14

C) I I … I 0 0 0 0
13 12 0 D) Ninguna de las anteriores
8.- La suma de X=010001100 e Y=111111011, representados en complemento a 1, es:
A) 1010000111 B) 010001000 C) 010000111 D) Ninguna de las anteriores

Solución :
1.-[Véase problema 2-6] El formato de direcciones, que se obtiene a partir del mapa de direcciones que se muestra en el
enunciado, es:
A 9 A
8 A 7 A 6 A 5 A
4 A
3 A
2 A
1 A
0

RAM1 0 0 0 X X X X X X X
RAM2 0 0 1 X X X X X X X
RAM3 0 1 0 X X X X X X X
RAM4 0 1 1 X X X X X X X
ROM 1 X X X X X X X X X
A la vista de la tabla anterior, se comprueba que todas las direcciones en las que A = 0 son direcciones RAM, mientras
9

que cuando A = 1 son de ROM. En el caso de direcciones de memoria RAM, A y A seleccionan uno de los módulos
9 8 7

de RAM. En el caso de la RAM, A -A direccionan una palabra dentro del módulo seleccionado por las líneas de más
6 0

peso, mientras que en el caso de la ROM se utilizan A -A para el direccionamiento dentro del módulo. Por lo tanto hay
8 0

2 = 128 palabras en cada módulo RAM y 2 = 512 palabras en el módulo ROM. Esto mismo se puede deducir fácilmente
7 9

a partir del cálculo de las direcciones en decimal.


Componente Dirección hexadecimal Dirección en decimal
RAM 1 0000 – 007F 0-127
RAM 2 0080 – 00FF 128-255
RAM 3 0100 – 017F 256-383
RAM 4 0180 – 01FF 384-511
ROM 0200 – 03FF 512-1023
Respuesta: A (I: sí, II: sí)
2.- La caché tiene 32 / 8 = 4 bloques. Una dirección de memoria principal se descompone como:
etiqueta (5) + palabra (3). De este modo, la caché se llena de la manera siguiente:
Dirección 00000-000: Bloque 0, etiqueta 00000
Dirección 00000-001: Bloque 0, etiqueta 00000
Dirección 00000-011: Bloque 0, etiqueta 00000
Dirección 00100-001: Bloque 1, etiqueta 00100
Dirección 00100-101: Bloque 1, etiqueta 00100
Dirección 00010-000: Bloque 2, etiqueta 00010
Dirección 00010-010: Bloque 2, etiqueta 00010
Dirección 00000-000: Bloque 0, etiqueta 00000
Por tanto, la dirección 00100-111 se encuentra en el bloque 1. La afirmación I es verdadera y la II es falsa.
Obsérvese que la caché no se ha llenado y que por lo tanto no ha sido necesario realizar ninguna operación de
reemplazamiento.
Respuesta: B (I: sí; II: no)
3.- [Véase problema 4-13]. Se define un contador paralelo CP(p;d) como un circuito combinacional con d salidas y p ≤
(2d -1) entradas, donde el número binario representado por las d salidas es igual al número de unos presentes en las
entradas.
Teniendo en cuenta esta definición, el objetivo es sintetizar un CP(11;4) (ver Figura 1), utilizando como componente
básico elemental un CP(3;2) (ver Figura 2). El contador paralelo (3;2) corresponde a un SBC. En la Figura 3 se muestra
la síntesis del contador paralelo CP(11;4) con contadores paralelos CP(3;2). La estructura del circuito correspondiente se
da en la Figura 4. CP
(11;4)
CP (3;2)
x0
x0
x1 s0 s
x1 SBC
x2 s1 c
x2
s2

s3
x9

Figura 1: Diagrama funcional Figura 2: Módulo SBC y diagrama de puntos

Figura 3: Organización de sumadores utilizando notación de puntos


s
x0
SBC
x1 c
1

x2 s s
s0
SBC SBC
x9
4 6
c c
x10

x3 s
SBC
x4
2
c s
x5 s1
SBC
c
7
s

SBC
s
5
x6 c s s2
SBC SBC
x7
3 8
c c s3
x8

Figura 4: Estructura del circuito

Como se puede observar en las Figuras 3 y 4 son necesarios 8 SBC como mínimo.
Respuesta: A
4.- [Véase el apartado 3.6.2 del texto base de teoría y el problema 3.25]. El canal multiplexor es capaz de atender a
varios dispositivos simultáneamente. La máxima velocidad agregada se logrará cuando todos ellos estén transmitiendo.
En este caso, la máxima velocidad de transferencia sería: 5x10 +10x2x10 =7x10 bytes/segundo.
6 5 6

Ahora bien, si para transferir un byte hacen falta 200 ns = 200 x 10 s, en un segundo sólo se podrá transferir un máximo
-9

de
(1 s) / (200 x 10 s/byte) = (1/200) x 10 bytes = 5 x 10 bytes,
-9 9 6

en lugar de los 7x10 bytes/segundo que cabría esperar.


6

Por lo tanto, el bus no es capaz de proporcionar el ancho de banda suficiente. Es decir, la máxima velocidad agregada
viene dada por la limitación en la velocidad de transferencia entre el canal multiplexor y la memoria.
Respuesta: B
5.- [Véanse el Problema 5.22 y el apartado 5.5.8 del texto base de teoría]. El registro almacena el estado y unos bits
adicionales para seleccionar la(s) condicion(es). Falta saber cuántas variables de condición hay.
Respuesta: C
6.- [Véase el Problema 6.4 y el apartado 6.1.4 del texto de teoría] En el caso de un procesador de cero direcciones el
cálculo de la expresión dada se puede realizar mediante uno de los conjuntos de 6 instrucciones siguientes:
I. Push[X]; Push[Z]; Add; Push[Y]; Mult; Pop[Y]
II. Push[Y]; Push[X]; Push[Z]; Add; Mult; Pop[X]
Puesto que la pila está realizada en hardware (cableada) y no está simulada en una memoria RAM (ver apartado 6.1.4 del
texto de teoría), entonces serán necesarios 6 accesos a memoria para leer el código de operación de cada instrucción;
además en el caso de las instrucciones Push y Pop se necesita un acceso adicional a memoria para acceder a los
operandos, ya que las operaciones aritméticas se realizan con operandos que se encuentran ya en la pila. En total son 6
instrucciones, tres de las cuales son Push y una Pop: 6 + 3 + 1 = 10 accesos.
Respuesta: D
7.- [Véase Problema 7-3] Los 6 bits del código de operación sirven para identificar un máximo de 2 =64 instrucciones
6

máquina diferentes. Asignando a cada código de operación la dirección I I …I 0000 se cumple el requisito de que el
19 18 14

comienzo de cada microprograma esté separado por 16 palabras.


Respuesta: B
8.- Esta pregunta se puede resolver de varias formas, pero como lo que interesa es el resultado de la operación, un
método sencillo es pasar los dos números de complemento a 1 a decimal, realizar la operación en decimal y, finalmente,
convertir de nuevo el resultado a complemento a 1. En complemento a 1, la representación de un número negativo se
obtiene invirtiendo los bits en su representación binaria; esto es, los 0’s se cambian por 1’s y los 1’s por 0’s. El bit
situado más a la izquierda indica el signo del número, que es 0 si el número es positivo y 1 si es negativo.
X = 010001100 ⇒ X = 140
Y = 111111011 ⇒ Y = -4
C1 10

X+Y = 136 ⇒ X+Y = 010001000


C1 10

10 C1

Otra forma de resolverlo es sumar los dos números y el acarreo volverlo a sumar, puesto que en este caso los dos
números X e Y tienen distinto signo [Véase el Problema 4.6].
Respuesta: B

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.
Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test.
Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema

Un disco magnético tiene dos superficies. El área de almacenamiento en cada superficie tiene un radio interior de 1 cm y
un radio exterior de 5 cm. Si bien el tamaño de cada pista es diferente, cada una de ellas almacena el mismo número de
bits. La densidad de almacenamiento máximo que soporta este disco es de 10000 bits/cm. El espaciado entre puntos
correspondientes en pistas adyacentes es de 0.1 mm lo que incluye además, el espaciado entre pistas. Supóngase
despreciable el espaciado entre sectores. Se pide:
a) (2.5 puntos) ¿Cuál es el máximo número de bits que se puede almacenar en el disco?
b) (1.5 puntos) Suponiendo que el disco tiene la capacidad de almacenamiento anteriormente calculada, ¿cuál es la
velocidad de transferencia de datos desde el disco a la cabeza de lectura/escritura en bits/seg si el disco gira con una
velocidad de rotación de 3600 rpm? Para realizar este cálculo suponga que el disco no tiene entrelazado y que en un
determinado instante sólo se puede acceder a una de las superficies del disco.

Solución
Este problema es similar al Problema 3.26, que se encuentra resuelto en el texto de problemas. Asimismo, los conceptos
para resolver el problema planteado en el examen están expuestos en el Apartado 2.8.1 del texto de teoría.

a) Desde el punto de vista del almacenamiento de la información, se considera que cada superficie del disco está
constituida por un conjunto de pistas (ver la Figura 1), a lo largo de las cuales se va almacenando la información con
una densidad lineal de almacenamiento de 10000 bits/cm.
Figura 1: Superficie de un disco magnético constituido por pistas y sectores

Cada pista del disco magnético se divide en sectores (ver la Figura 1). Como el enunciado indica explícitamente que se

supone despreciable el espaciado que hay entre los sectores , no hay que considerar en lo que sigue la subdivisión de
las pistas en sectores, y por lo tanto, la información se distribuye regularmente a lo largo de cada pista con la densidad
lineal dada.
Los pasos a seguir para el cálculo de la capacidad son los siguientes:
1. Número de pistas que contiene cada superficie. Para calcular este número se dispone de la anchura de la zona de
almacenamiento (ver Figura 2), que es r2 - r1 = 4 cm / superficie = 40 mm / superficie, y del espaciado entre
pistas adyacentes, que es 0.1 mm (lo que equivale a 10 pistas/mm). Número de pistas de almacenamiento:
40 mm / superficie × 10 pistas / mm = 400 pistas / superficie
(se ha dado por buena tanto la respuesta 401 pistas / superficie como 400 pistas / superficie)
2. El enunciado señala que cada pista contiene el mismo número de bits. La pista más interna tiene la menor
capacidad de almacenamiento, así pues todas las pistas no almacenarán más datos que la pista más interna. El
número de bits que almacena dicha pista es:
10000 bits / cm × 2×π × 1 cm / pista = 20000 × π bits / pista = 62832 bits / pista
3. El almacenamiento por superficie es:
62832 bits / pista × 400 pistas / superficie = 8 × π × 106 bits / superficie = 25,13 × 106 bits / superficie
4. El almacenamiento en el disco es:
2 superficies / disco × 25,13 × 106 bits / superficie = 16 × π × 106 bits / disco = 50,26 Mbits / disco

Figura 2: Zona de almacenamiento de la superficie del disco magnético del problema

b) En el segundo apartado del problema, se pregunta cuál es la velocidad de transferencia de datos desde el disco a la
cabeza de lectura/escritura en bits/seg. El disco gira con una velocidad de rotación de 3600 rpm, que es equivalente a 60
rps.
La velocidad de transferencia es igual al número de bits que hay en una pista (P = 62832 bits / pista) multiplicado por la
velocidad de rotación en rps (f = 60 rps).

Vt = P×f = 20000 × π × 60 = 62832 × 60 = 3,77 Mbits/seg


ETC2 - JUNIO 2005

A B C D E F G H
1: B B B B A A A A
2: A A A A B B B B
3: C C C C A A A A
4: C B D A B C D B
5: B D A C C D B B
6: D A C C D B B B
7: A C C B B B B C
8: C C B D B B C D
.
Test
1.- Considérese una memoria caché asociativa por conjuntos, con 4 bloques por conjunto. En ella se aplica el algoritmo
de reemplazamiento LRU, modificado para evitar el rebosamiento de los contadores. A cada bloque del conjunto se le
asocia un contador de 2 bits. Los cuatro contadores de dos bits son C0, C1, C2 y C3. En la tabla adjunta se muestra el valor
de los contadores al realizar la inicialización y tres determinados accesos. Indique cuál es el valor de los contadores
(X0X1X2X3) una vez realizado el acceso número 4.
Nº acceso Acierto/Fallo C0 C1 C2 C3 Acciones A) 0 1 3 3
0 0 0 0 Inicialización B) 0 1 2 2
1 Fallo 0 1 1 1 Bloque 0 rellenado C) 0 0 2 2
2 Fallo 1 0 2 2 Bloque 1 rellenado D) Ninguna de las anteriores.
3 Acierto 1 0 2 2 Bloque 1 accedido
4 Acierto X0 X1 X2 X3 Bloque 0 accedido
2.- Considere un codificador de prioridad con 4 entradas (I0, I1, I2, I3) y 3 salidas (S0, S1, PI) cuyo funcionamiento viene
descrito por la tabla de la verdad adjunta. Indique cuál de las afirmaciones siguientes es correcta.
I0 I1 I2 I3 S0 S1 PI A) S 0 = I 0 + I1
1 X X X 1 1 1
B) S1 = I 0 + I 2 ⋅ I1
0 1 X X 1 0 1
0 0 1 X 0 1 1 C) Las dos anteriores son correctas.
D) Ninguna de las anteriores.
0 0 0 1 0 0 1
0 0 0 0 X X 0

3.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 42 bits. La parte
de control del formato de una microinstrucción emplea 20 bits para seleccionar independientemente las microoperaciones
que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional,
incondicional o no bifurcar) y un campo para seleccionar una única señal de condición de las 16 señales disponibles.
¿Cuál es el tamaño máximo de la memoria de control?
A) 216 B) 220 C) 242 D) Ninguna de las anteriores
4.- 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 106 ciclos/seg, ¿cuánto tiempo tardará el controlador de DMA en mover un
bloque de datos compuesto por 106 palabras?
A) 0.1 seg. B) 1 seg. C) 10 seg. D) Ninguna de las anteriores.
5.- Un circuito de comparación secuencial que permita comparar dos números binarios de 8 bits de forma serie, si se
diseña empleando biestables Tipo D. ¿Cuál es el número mínimo de biestables Tipo D necesarios?.
A) 1 B) 2 C) 3 D) Ninguna de las anteriores
6.- En el diseño de una Unidad de Control de 32 estados con una memoria ROM, un registro y un multiplexor, empleando
el método de selección por campo, y siendo posible consultar en cada estado una única condición de las 10 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
7.- Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué operación
calcula la secuencia de instrucciones: Load A; Add B; Mult D, Add A, Store R1, Mult R1, Mult R1; Mult A; Div B;
Add A; Store C.
A) C=((((A+B)D+A)3A)/B) + A B) C=(((A+B)D+A)3A)/(B + A)
3
C) C=((((A+B)(D+A)) A)/B) + A D) Ninguna de las anteriores
8.- Indique cuál es el resultado de la suma de los dos números siguientes, X1 y X2, que están expresados en código BCD.
X1 = 001100110001, X2 = 010101001001.
A) 100010000000 B) 100001111010 C) 000001111010 D) Ninguna de las anteriores.

Solución:

1.- [Véase la Sección 2.4.4 del texto de teoría] En las memorias caché de tipo asociativo es necesario utilizar un algoritmo
de reemplazamiento, para determinar qué bloque se debe sustituir cuando un nuevo bloque se transfiere a la memoria
caché. En este caso, el algoritmo de reemplazamiento que se utiliza es el LRU. En este algoritmo el bloque que se
sustituye es aquel que no se ha referenciado durante un periodo de tiempo más largo. En el acceso número 4 ocurre un
acierto. En caso de acierto, el contador asociado a ese bloque se inicializa a cero. Todos los contadores que tienen un
valor más pequeño que el que tenía el contador del bloque accedido se incrementan en uno. Todos los contadores que
tienen un valor mayor que el que tenía el contador del bloque accedido no se modifican. De esta manera, cuando se
accede al bloque 0, el contador de ese bloque se pone a cero: X0 = 0. Todos los contadores que tenían un valor más
pequeño que el que tenía el contador del bloque accedido se incrementan en uno: X1 = 1. Todos los contadores que tienen
un valor mayor que el que tenía el contador del bloque accedido no se modifican: X2 = X3 = 2.
Respuesta: B

2.- Esta pregunta está basada en el apartado “Identificación de la fuente de interrupción mediante hardware paralelo”, que
se encuentra en la Sección 3.4.5 del texto de teoría. En el enunciado se da la tabla de verdad del codificador de prioridad
de 4 entradas. Las x’s de la tabla representan que el valor puede ser indistintamente 0 ó 1. Obsérvese que PI se pone a 1
cuando una o más entradas valen 1. Si todas las entradas son 0’s entonces PI=0 y las otras salidas del codificador no se
usan (por lo que están marcadas en la tabla con x’s). En la siguiente figura se muestran los diagramas de Karnaugh que
simplifican las salidas.
I2I3 I2I3
I0I1 00 01 11 10 I0I1 00 01 11 10
00 00 1 1
01 1 1 1 1 01
11 1 1 1 1 11 1 1 1 1
10 1 1 1 1 10 1 1 1 1

S 0 = I 0 + I1 S1 = I 0 + I 2 I 1
Respuesta: C

3.- [Véase el Problema 7.2 del libro de problemas]. La microinstrucción tiene 42 bits de longitud, de los cuales 20 bits se
emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 4 (24=16) para seleccionar
una única señal de condición. Por lo tanto, para la dirección quedan disponibles 42-20-2-4=16 bits. De esta forma, el
tamaño máximo de la memoria de control es 216 palabras.
Respuesta: A

4.- [Véase la Sección 3-5 del texto base de teoría]. El controlador de DMA aprovecha los dos ciclos de reloj en los que la
CPU no utiliza el bus cuando ejecuta una instrucción, para transmitir una palabra. Por tanto, en los 4 ciclos de reloj que
tarda la CPU en ejecutar una instrucción, el controlador de DMA transmite 2 palabras. La velocidad de transferencia
resultante, si el reloj del computador tiene una frecuencia de 106 ciclos/seg, es de:

(106 ciclos/seg) × (2/4 palabras/ciclo) = 0,5×106 palabras/seg

Con esta velocidad de transferencia, para mover un bloque de 106 palabras el controlador de DMA tardará:

(106 palabras) / (0,5×106 palabras/seg)= 2 seg

Respuesta: D

5.- [Véase el Problema 4-42]. El circuito secuencial que indica el enunciado posee dos entradas x e y y una salida z y se
representa en la siguiente figura:

x0…..x6 x7 M
Comparador
I
secuencial
m
y0…..y6 y7

Comparador secuencial de dos números de 8 bits

Los conjuntos de entrada y salida son respectivamente:

X ={0, 1}, Y = {0, 1} Z = {M, I, m}

Donde M = Mayor, I = Igual y m = menor. El comparador recibe los bits xi e yi de forma serie, comenzando por los más
significativos (i=7,6, …, 0).

El diagrama de estados del comparador secuencial se muestra en la figura siguiente:


xx/M
11/I
Mayor
10/M

Igual
xx/m
01/m Menor
Inicio 00/I
La tabla de estados correspondiente al comparador secuencial es:

Estado Entrada xiyi


Presente 00 01 10 11
Mayor Mayor/M Mayor/M Mayor/M Mayor/M
Igual Igual/I Menor/m Mayor/M Igual/I
Menor Menor/m Menor/m Menor/m Menor/m
Próximo Estado/Salida

Se necesitan dos variables de estado (22 = 4 estados) para la representación de los tres estados del comparador. Por lo
tanto como mínimo se necesitan dos biestables.

Respuesta: B

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

Respuesta: D

7.- [Véase el problema 6-5 del libro de problemas]. En el caso de un procesador con acumulador y un registro R1 las
instrucciones propuestas en el enunciado realizan las operaciones mostradas en la siguiente tabla. Se muestra en dicha
tabla la operación, su significado y el contenido del acumulador y del registro R1.
Operación Acumulador R1 Significado
Load A A ------1 Carga el contenido de la posición de memoria A en el
acumulador
Add B A+B ------ Suma el contenido del acumulador con el contenido de la
posición de memoria B y el resultado queda almacenado en el
acumulador
Mult D (A+B)D ------ Multiplica el contenido del acumulador con el contenido de la
posición de memoria D y el resultado queda almacenado en el
acumulador
Add A (A+B)D+A ------ Suma el contenido del acumulador con el contenido de la
posición de memoria A y el resultado queda almacenado en el
acumulador
Store R1 (A+B)D+A (A+B)D+A Mueve el contenido del acumulador al registro R1
Mult R1 ((A+B)D+A)2 (A+B)D+A Multiplica el contenido del acumulador con el contenido de
R1 y el resultado queda almacenado en el acumulador
Mult R1 ((A+B)D+A)3 (A+B)D+A Multiplica el contenido del acumulador con el contenido de
R1 y el resultado queda almacenado en el acumulador
Mult A ((A+B)D+A)3A (A+B)D+A Multiplica el contenido del acumulador con el contenido de la
posición de memoria A y el resultado queda almacenado en el
acumulador
Div B (((A+B)D+A)3A)/B (A+B)D+A Divide el contenido del acumulador con el contenido de la
posición de memoria B y el resultado queda almacenado en el
acumulador
Add A ((((A+B)D+A)3A)/B)+A (A+B)D+A Suma el contenido del acumulador con el contenido de la
posición de memoria A y el resultado queda almacenado en el
acumulador
Store C ((((A+B)D+A)3A)/B)+A (A+B)D+A Se almacena el contenido del acumulador a la posición de
memoria C

La última operación almacena en C el valor((((A+B)D+A)3A)/B) + A, por lo que la solución de la pregunta es la A.

Respuesta: C=((((A+B)D+A)3A)/B) + A

8.- Esta pregunta está basada en las explicaciones de la Sección 4.3 del texto de teoría. La manera más sencilla de obtener
la solución es pasar ambos números a decimal. Para ello se agrupan los bits de cuatro en cuatro:
X1 = 0011 0011 0001 = 331, X2 = 0101 0100 1001= 549. Su suma es 880, cuya representación en código BCD es:
1000 1000 0000
Respuesta: A

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema
Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica):
Una memoria caché con correspondencia totalmente asociativa tiene 16 bloques con 8 palabras/bloque. El tamaño de la
memoria principal es 216 palabras y la caché está inicialmente vacía. El tiempo de acceso de la caché es de 40 ns y el
tiempo requerido para transferir 8 palabras entre la memoria principal y la memoria caché es de 1 µs. Se pide:
1
La información contenido en el registro R1 no es relevante.
A) (0,5 puntos) Dar el formato de la dirección de memoria.
B) (2,5 puntos) Calcular la tasa de acierto para un programa que ejecuta las instrucciones que están localizadas desde
las posiciones de memoria que van de la 20 a la 45 y luego efectúa cuatro veces un bucle entre las posiciones de
memoria 28 a 45 antes de parar. Supóngase que cuando hay un fallo, el bloque de la memoria caché se carga en 1
µs y la primera palabra no la ve la CPU hasta que se ha cargado todo el bloque entero en la memoria caché.
C) (1 punto) Calcular el tiempo de acceso efectivo o medio para este programa.

Solución
a) El número de bloques en memoria principal es de 216/8 = 213. Por lo tanto, el campo etiqueta tiene 13 bits y el campo palabra
3 bits.
Dirección Mp Etiqueta = 13 Palabra = 3

b) Las direcciones de memoria que van desde la 20 a la 45 se encuentran localizadas en cuatro bloques (2, 3, 4 y 5) diferentes
de la memoria principal, tal y como se muestra en la siguiente tabla. Debido a que la memoria caché es asociativa, cuando se
referencie la primera dirección (20) se almacenará el bloque 2 en cualquier bloque no usado de Mcaché y se producirá un fallo.
Lo mismo ocurrirá con las direcciones 24 (bloque 3), 32 (bloque 4) y 40 (bloque 5). Se habrán ocupado 4 de los 213 bloques
posible y en las siguientes cuatro iteraciones ya no se producirán más fallos. Por lo tanto, en toda la ejecución ocurrirán cuatro
fallos.

Número de Direcciones
bloque Mp
0 0-7
1 8-15
2 16-23
3 24-31
4 32-29
5 40-47
… …

El número total de accesos es:

• Primera iteración : 45-20+1 = 26


• Resto de iteraciones: (45-28+1) x 4 = 72
98, de los cuales 94 aciertos y 4 son fallos. Por tanto, la tasa de acierto es: h = 94/98 = 95.9 %.

c) Cuando se produce un fallo primero se mueve el bloque de memoria principal a memoria caché (1 µs = 1000 ns) y luego se
lee la palabra de memoria caché (40 ns). Por tanto, en un fallo la CPU tarda en disponer de la palabra solicitada un total
de 1040 ns.
El tiempo de acceso total para todo el programa es: 4 fallos×1040 ns/fallos + 94 aciertos×40 ns/aciertos = 7920 ns. El tiempo
de acceso medio para este programa es ta = 7920/98 = 80,82 ns.
.
TABLA DE MODELOS DEL EXAMEN DE SEPTIEMBRE-05-ETC2

A B C D E F G H J
1 B B B B B B B B A
2 C C C C D D D D D
3 A A A A C C C C A
4 D A A D B A D B D
5 B D A A A B A A D
6 D B D A A A B A B
7 A D B D D A A D B
8 A A D B A D A A B
.
Test
1.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique si las siguientes
afirmaciones son verdaderas:
I s1 I. La unidad de control se puede implementar usando un registro de 2
s1/c1,c3 bits y una memoria ROM de 25 palabras, con 6 bits por palabra.
II. La unidad de control se puede implementar usando un MUX (22),
S0 S1 s0/c2 S2 un registro de 2 bits y una memoria ROM de 23 palabras, con 6
I/c0 bits por palabra.
A) I: sí, II: sí. B) I: sí, II: no.
s0/c1 C) I: no, II: sí. D) I: no, II: no.

2.- Se tiene un sistema con una memoria principal de 256 Kpalabras y una memoria caché de 32 Kpalabras con bloques
de 16 palabras, siendo el tamaño de la palabra de 2 bytes. Se sabe que el sistema de memoria caché tiene asignada una
función de correspondencia de tipo directo. Indicar cuál de las siguientes direcciones provocaría un reemplazamiento del
bloque de memoria caché ocupado por el bloque de memoria principal asociado a la dirección 856010.
A) 857510 B) 868810 C) 4133410 D) Ninguna de las anteriores
3.- La memoria de un ordenador consta de 20 módulos independientes conectados a un bus de memoria común. En una
operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación y
durante un 12,5% del tiempo total del ciclo de escritura. El 87,5 % del tiempo de ciclo de escritura restante el módulo lo
emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden
solaparse, ¿en cuánto se ve incrementada la velocidad máxima de almacenamiento de la memoria del ordenador en
relación a la velocidad de un único módulo?
A) 10 veces B) 5 veces C) Nada D) Ninguna de las anteriores
4.- Considere una CPU en la que tanto las instrucciones como los datos tienen una longitud de 12 bits. El formato de las
instrucciones es el siguiente: los 4 bits más significativos de la instrucción representan el código de operación y los otros
8 bits representan la dirección de memoria. A continuación, se muestra una lista parcial de los códigos de operación:
0111: Cargar el registro acumulador desde memoria.
1101: Almacenar en memoria el contenido del registro acumulador.
1110: Restar al acumulador el contenido de una dirección de memoria. El resultado se almacena en el acumulador.
Indique cual de los siguientes fragmentos de programa resta al contenido de la dirección de memoria 3B16 el contenido de
la dirección de memoria 3A16 y almacena el resultado en la dirección de memoria 3A16.
A) 73A16, E3B16, D3A16 B) 73B16, E3A16, D3A16 C) Los anteriores son correctos D) Ninguno de los anteriores
5.- Un disco magnético con 64 pistas, numeradas del 0 al 63, tiene la siguiente cola de peticiones de acceso: 1, 3, 63, 47,
2, 46. Indique si las siguientes afirmaciones son verdaderas.
I. La LMB (Longitud Media de Búsqueda) asociado a una planificación SCAN es de 10.5. Se supone que se parte
de la pista 0 en el sentido ascendente de numeración de las pistas.
II. La planificación FCFS mejora ostensiblemente la LMB de la planificación SCAN de la afirmación anterior, es
decir, se obtiene una LMB mucho menor.
A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no
6.- Un controlador de DMA está transmitiendo, mediante robo de ciclos, caracteres a memoria desde un periférico. La
CPU realiza la búsqueda de las instrucciones a una velocidad de 1 millón de instrucciones por segundo. Si el porcentaje
en que se reduce la velocidad del procesador debido al controlador DMA es de 0.89%, ¿a qué velocidad estará
transmitiendo el DMA? Suponga una longitud de palabra de 8 bits y que la CPU emplea en promedio 2 ciclos para
ejecutar una instrucción.
A) 132000 bits/seg B) 142400bits/seg C) 123700 bits/seg D) Ninguna de las anteriores
7.- Indique el número mínimo de SBC´s de 1 bit que hacen falta para:
I. Diseñar un circuito combinacional que sea un sumador de 7 números de 1 bit de longitud.
II. Diseñar un circuito combinacional que sea un sumador de 5 números de 2 bits de longitud.
A) I: 3, II: 6. B) I: 4, II: 5. C) I: 4, II: 6. D) Ninguna de las anteriores.
8.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S0, S1, S2, S3) y dos señales de
condición (I, s0). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y se ha
realizado la asignación de estados siguiente: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}. Las
funciones de entrada de los elementos de memoria son las siguientes:
D0 = Q1 + Q0 ⋅ I + Q0 ⋅ s0 D1 = s0 ⋅ Q1 + Q1 ⋅ Q0 + Q1 ⋅ Q0 .
Indique si las siguientes afirmaciones son verdaderas:
I. Cuando el estado presente es S2, entonces el próximo estado es S3.
II. Cuando el estado presente es S1 y se verifica s0=1, entonces el estado siguiente es S2.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

Solución:

1.- Véase el apartado 5.5.8 del texto base de teoría] El diagrama tiene 3 estados, luego necesita n=2 bits para su
codificación, q=3 señales de condición como entradas a la unidad de control: I, s0, s1, m=4 salidas de la unidad de
control: c0, c1, c2, c3.

I. Por lo tanto sí se puede diseñar la unidad de control utilizando 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 1. De esta manera la afirmación I es
cierta.

s0
s1
ROM
32 palabras x 6 bits

Próximo estado

Registro
Estado presente
c3 c2 c1 c0

Figura 1: Diseño de la unidad de control utilizando ROM y registro.

II. 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 2. Por
tanto, la afirmación II es correcta.
0 0 0 0 0 0

0 1 0 0 0 1
I 0 1 0 0 1 0 0

1 0 0 1 0 0
s0 1
M
U 1 0 0 0 0 0
s1 2 X 0 0 1 0 1 0

Próximo estado

Registro
Estado presente
c3 c2 c1 c0

Figura 2: Diseño de la unidad de control utilizando el método de selección por estado.

Respuesta: A (I: sí, II: sí)

2.- Véase el apartado 2.4.3 del libro de teoría. Las direcciones de memoria principal tendrán una anchura de n=18 bits, ya
que el número total de palabras de ésta es de 256 Kpalabras=218 palabras.
Como la caché utiliza correspondencia directa, una dirección de memoria principal se compondrá de los campos Etiqueta,
Bloque y Palabra. La capacidad de la memoria caché es de 32 Kpalabras= 215 palabras. Como se tienen 16
palabras/bloque, el número de bloques en la memoria caché=215 palabras/(24 palabras/bloque) =211 bloques. Por lo tanto
el campo Bloque tiene una anchura de b=11 bits. Como hay 24 palabras/bloque, se necesitan 4 bits para el campo Palabra.
Finalmente, el campo etiqueta tendrá 18-(11+4)= 3 bits de anchura.
Resumiendo, una dirección estará compuesta por 18 bits correspondiendo los tres primeros bits a la etiqueta, los 11
siguientes al bloque y los 4 últimos a la palabra.

Para responder a esta pregunta basta con descomponer las direcciones proporcionadas en sus respectivos 3 campos:

8560 = 000 01000010111 0000

Opción A) 8575=000 01000010111 1111. Está en el mismo bloque y tiene igual etiqueta, y por lo tanto no implica
reemplazamiento.
Opción B) 8688=000 01000011111 0000. Es otro bloque y no se corresponde con el ocupado por el bloque asociado a la
direción 8560
Opción C) 41334 = 001 01000010111 0110. Tiene el mismo número de bloque y distinta etiqueta. Si se hiciera una
referencia a memoria, éste bloque sustituiría al actual (el asociado al 8560).

Respuesta: C

3.- Véase problema 1-3 del libro de problemas. La situación planteada por el problema se ilustra en la Figura 3, donde los
Mi representan los módulos de memoria propuestos.

M1 M2 ….. M20

BUS

Figura 3: Esquema de los módulos de memoria.

El ciclo de escritura en los módulos de memoria se muestra gráficamente en la Figura 4. En la primera parte del ciclo
(línea más gruesa) el módulo de memoria utiliza el bus en exclusiva, pero en la segunda parte (línea más fina) cualquier
otro módulo puede hacer uso del bus. Según el enunciado, para todo el problema el tiempo de ocupación del bus (primera
parte del ciclo) es constante e igual al 12,5% del tiempo total del ciclo de escritura.
Control
Dirección
Datos Almacenamiento del dato

12,5 % 87,5%
Figura 4: Ciclo de escritura de los módulos de memoria.

El tiempo empleado en el almacenamiento del dato corresponde al 87,5% restante del tiempo de ciclo de escritura.

Utilizando los veinte módulos disponibles, y solapando al máximo los ciclos de escritura para intentar que en
todo momento uno de los módulos esté accediendo al bus, se llega a la situación representada en la Figura 5.

Módulos

20

12.5 25 37.5 50 62.5 75 87.5 100 (% ciclo escritura)

Figura 5: Máximo solapamiento.

Como se observa, cada ciclo de escritura empiezan ocho operaciones de escritura. Es capaz por lo tanto de
simultanear 8 operaciones de escritura (100/12,5=8). Luego mejora en 8 veces la velocidad de un único
módulo.
Respuesta: D

4.- Véase el ejemplo 1.2.2 del libro de teoría. En primer lugar se expresa cada uno de los códigos de operación que se
indica en el enunciado en hexadecimal, codificando la operación que se efectúa con cada uno:
0111 = 716: AC ← [MEM]
1101 = D16: [MEM] ← AC
1110 = E16: AC ← AC – [MEM]
La operación que se pide es restar al contenido de la dirección de memoria 3B16 el contenido de la dirección de memoria
3A16 y almacena el resultado en la dirección de memoria 3A16, o lo que es lo mismo: [3A16] ← [3B16] - [3A16]
Por tanto las instrucciones son: 73B16 E3A16 D3A16
Respuesta: B

5.- Véase el apartado 2.8.4 del libro teoría y el problema 3-32 del libro de problemas. En la planificación SCAN se
restringe el rastreo a una única dirección. Así, cuando se ha visitado la última pista en una dirección, la cabeza vuelve al
extremo opuesto del disco y comienza otra vez la exploración. La planificación FCFS es tipo cola, por lo que en general
tendrá una LMB mayor que el resto de planificaciones. El único momento en que son iguales los LMB para SCAN y
FCFS se produce cuando la secuencia de peticiones está ordenada inicialmente.
ƒ Planificación SCAN:
Atención de las peticiones: 1, 2, 3, 46, 47, 63

Próxima pista 1 2 3 46 47 63
Pistas recorridas 1 1 1 43 1 16
LMB = 63/6=10.5

ƒ Planificación FCFS:
Atención de las peticiones: 1, 3, 62, 47, 2, 46
Próxima pista 1 3 62 47 2 46
Pistas recorridas 1 2 59 15 45 44
LMB = 166/6=27.7
Respuesta: B

6.- Véase el problema 3-15 del libro de problemas. Si v es la velocidad pedida, el número de palabras que se transmiten
por segundo es: (v bits/s)/(8 bits/palabra)=v/8 palabras/s. Como el DMA utiliza la estrategia de robo de ciclos, en cada
ciclo el DMA transmite 1 palabra completa, luego el nº de robo de ciclos es v/8 ciclos/s.
Estos ciclos suponen un número de instrucciones que la CPU deja de ejecutar en cada segundo. Estas son:
[(v/8)/2]=v/16 instrucciones/s
La penalización que este número de instrucciones no ejecutadas supone para la CPU es del 0.89%, por lo tanto:
0.89=[(v/16)/(1*10^6)]*100, de donde: v=0.89*16*10^4=142400 bits/s

Respuesta: B

7.- Véase el problema 4-13 del libro de problemas. Se define un contador paralelo CP(p;d) como un circuito
combinacional con d salidas y p ≤ (2d -1) entradas, donde el número binario representado por las d salidas es igual al
número de unos presentes en las entradas.
Teniendo en cuenta esta definición, el objetivo es sintetizar un CP(6;3) (ver Figura 6, utilizando como componente básico
elemental un CP(3;2) (ver Figura 7). El contador paralelo (3;2) corresponde a un SBC. En la Figura 8 se muestra la
síntesis del contador paralelo CP(6;3) con contadores paralelos CP(3;2). La estructura del circuito correspondiente se da
en la Figura 7.
CP(6;3) CP(3;2)

x0 x0
s
x1 s0 x1 SBC
c
x2 s1 x2

s2

x5

Figura 6: Diagrama funcional Figura 7: Módulo SBC y diagrama de puntos

Figura 8: Organización de sumadores utilizando notación de puntos


s
x0
SBC
x1 1 c
x2 s0
SBC
3
c
x6
x3 s
SBC
x4 2
c
x5

s1
SBC
4
s2

Figura 9: Estructura del circuito


Como se puede observar en las Figuras 8 y 9 son necesarios 4 SBC como mínimo.

II. Resolviendo esta cuestión de manera análoga se concluye que son necesarios 6 SBC como mínimo. En la Figura 10 se
representa la organización de sumadores utilizando la notación de puntos.

Figura 10: Organización de sumadores utilizando notación de puntos.


Respuesta: C

8.- La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado 5.5.5 del libro de
teoría.
Teniendo en cuenta las funciones de entrada a los elementos de memoria tipo D que se dan en el enunciado, y realizando
la asignación de estados que se especifica, se obtiene la siguiente tabla de transición de estados:

Estado Próximo estado


presente I s0 I s0 I s0 Is 0
00 00 00 01 01
01 11 10 11 10
10 11 11 11 11
11 01 01 01 11
A partir de esta tabla se verifican ambas afirmaciones: Cuando el estado presente es S2, entonces el próximo estado es S3;
y cuando el estado presente es S1 y se verifica s0=1, entonces el estado siguiente es S2.
Respuesta: A

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema
Un periférico con una velocidad de transferencia de 1.500.000 bytes/segundo se conecta mediante un DMA a un
procesador que tarda una media de 200 nanosegundos en ejecutar una instrucción. El DMA requiere 10 instrucciones de
inicialización y en la transferencia de un byte mantiene ocupados los buses durante 100 nanosegundos.
Se quieren transferir 500 bytes. Calcular para el peor de los casos (el procesador está parado mientras el DMA ocupa el
bus):
A) (2 puntos) El tiempo que dedica el procesador a la transferencia de los 500 bytes.
B) (2 puntos) El número de instrucciones de otro proceso que puede ejecutar el procesador mientras se realiza la
transferencia del bloque de datos.

Solución
Los conceptos para resolver este problema están expuestos en la Sección 3-5-2 del libro de texto donde se explica la
transferencia de datos mediante DMA.
A) El tiempo que dedica el procesador a la transferencia será el tiempo de inicialización del DMA más el tiempo que
pierde en los robos de ciclo de DMA.

El tiempo de inicialización del DMA es:

tini = 10 instr × 200 nseg/instr = 2.000 nseg = 2 µseg

El tiempo de robo de ciclo del DMA es:

trobo = 500 bytes × 100 nseg/bytes = 50.000 nseg = 50 µseg

El tiempo total será:

Ttotal = tini + trobo = 52 µseg

B) El tiempo que tarda en realizarse la transferencia del bloque de datos una vez que se ha inicializado el DMA es:

ttransf = 500 bytes × 1/1.500.000 bytes/seg = 333.333 nseg = 333 µseg

Durante este tiempo, 50 µseg se pierden en robos de ciclo del DMA, luego el tiempo que podrá dedicar la CPU a la
ejecución de otro proceso será de 283 µseg. En 283 µseg, la CPU puede ejecutar el siguiente número de
instrucciones:

Ninstr = 283 µseg × 1/200 nseg/instr = 1415 instrucciones


.
Test
1.- Sea un procesador de 32 bits capaz de ejecutar 4 millones de instrucciones por segundo (4 MIPS). El procesador
precisa 1,25 μs (equivalente a la ejecución de 5 instrucciones) para realizar un cambio de contexto y comenzar un
programa de servicio de interrupciones (y el mismo tiempo para realizar el cambio de contexto en sentido inverso). A este
computador está conectado un periférico, que es una línea serie por la que se reciben bloques de datos de 512 bytes con
una velocidad de transferencia de 1Kbyte/s. El módulo de entrada/salida interrumpe cada vez que se recibe un byte y en
la rutina de tratamiento de interrupción de este periférico se ejecutan 20 instrucciones. ¿Qué tanto por ciento de
instrucciones puede dedicar el procesador a otros procesos durante la transferencia de un bloque del periférico?
A) 99,23% B) 95,25% C) 89,21% D) Ninguna de la anteriores.
2.- Una unidad de disco tiene 40 superficies, 1024 cilindros, 128 sectores por pista y 32 Kbytes por sector. Además se
sabe que el disco gira a 7200 rpm y tiene un formato con entrelazado cuádruple. Indique si las siguientes afirmaciones
son verdaderas.
I. La capacidad de la unidad de disco es de 160 GB.
II. La velocidad de transferencia es de 480 Mbytes/s.
A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no
3.- Un dispositivo de entrada/salida tiene como dirección base la 40016. El bus de direcciones del dispositivo utiliza las
dos líneas de direcciones menos significativas A0 y A1 del bus de direcciones del sistema para seleccionar registros
internos del dispositivo. A su vez, la selección del dispositivo CS está conectada a un circuito que implementa la lógica
de selección y cuyas entradas son A2, A5, A6 y A7. ¿Con cuál de las siguientes direcciones se puede acceder al mismo
registro de este dispositivo que con la dirección 40316?
A) 41B16 B) 48316 C) 40716 D) Ninguna de las anteriores.
4.- Indique si las siguientes afirmaciones son verdaderas.
I. Una transferencia de datos en un bus que utiliza la técnica de multiplexación en el tiempo de direcciones y datos
se realiza de la forma siguiente: se coloca la dirección en el Bus de Direcciones y se mantiene mientras el dato
se sitúa en el Bus de Datos.
II. Cuando las salidas de varias puertas triestado se encuentran conectadas a una misma línea de un bus, sólo una
de ellas puede estar en estado de alta impedancia.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
12 10
5.- En una memoria caché en la que se realizan 2 accesos se producen 2 fallos. La memoria caché tiene un tiempo de
acceso medio de 5 ns, mientras que el tiempo de acceso medio de la memoria principal es de 100 ns. Indique si las
siguientes afirmaciones son verdaderas.
I. La tasa de aciertos es del 25%.
II. El tiempo de acceso medio al sistema conjunto memoria principal-memoria caché es de 87.5 ns.
A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no
6.- Una unidad de control, cuyo diagrama de estados de Huffman-Mealy se muestra en la figura, se implementa usando
dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados siguiente: S0:{Q1=0,Q0=0},
S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}. Indique si las siguientes afirmaciones, acerca de la función de
entrada al segundo elemento de memoria, son verdaderas:
s0/0 A) D1 = s0 ⋅ Q1 + Q1 ⋅ Q0 + Q1 ⋅ Q0
I s0/c5
B) D1 = s0 ⋅ Q0 + Q1 ⋅ Q0 + Q1 ⋅ Q0
I/c0,c3 s0/c1 s1/c2 C) Las dos afirmaciones anteriores son correctas.
S0 S1 S2 S3 D) Todas las afirmaciones anteriores son falsas.
s1/c4

s0/0

7.- Sean dos números binarios de 16 bits representados en código BCD: X = 0001100101010100 e Y =
0111100000100101. El resultado de su suma, representado en código exceso-3, es:
A) 1001011101111001 B) 1100101010101100 C) 1001000101111100 D) Ninguna de las anteriores.
8.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique cuál de las
siguientes opciones puede sustituir al símbolo interrogación (“?”), que se muestra en la transición entre S2 y S3, de tal
modo que esta unidad de control pueda ser implementada usando un MUX (22), un registro de 2 bits y una memoria ROM
de 23 palabras, con 6 bits por palabra:
A) s2 / c2, c3
I B) s1 / c4
s0/c3
C) Las dos anteriores son correctas.
? D) Ninguna de las anteriores es correcta.
S0 S1 s0/c2 S2 S3
I/c0,c1

s1/c3

Solución:
1. Como la velocidad de transferencia indicada en el enunciado es 1 Kbyte/s y un bloque ocupa 512 bytes, se tarda
512/210 = 0.5 segundos en enviar un bloque. Además, cómo la velocidad de ejecución del procesador es 4 MIPS, en 0.5
segundos puede ejecutar, si no se producen interrupciones, 2×106 instrucciones. Cada vez que se recibe 1 byte el
periférico interrumpe, por lo tanto habrá 512 interrupciones/bloque. Teniendo en cuenta que cada interrupción equivale a
la ejecución de 20+5+5=30 instrucciones, se necesitarán 30×512 instrucciones de interrupción por bloque transmitido. De
esta manera, el porcentaje de instrucciones que puede dedicar el procesador a otros procesos durante la transferencia de
un bloque del periférico es:
2 × 106 − 30 × 512
× 100 = 99.23%
2 × 106
Respuesta: A (99.23%)
2. Véase la solución de los Problemas 3-26 y 3-28.
Afirmación I. El cálculo de la capacidad del disco se realiza de la forma siguiente:
40 superficies × 1024 pistas/superficie × 128 sectores/pista × 32 Kbytes/sector =
40 superficies × 210 pistas/superficie × 27 sectores/pista × 25 Kbytes/sector =
40 superficies × 222 Kbytes/superficie =
40 × 232 bytes = 40 × 22 × 230 bytes = 160 GB
Por tanto, la afirmación I es cierta.
Afirmación II. La velocidad de transferencia (Vt) puede calcularse a partir del número de bytes en una pista (P) y de la
velocidad de rotación (f) de la manera siguiente:
Vt = P × f =
(27 sectores/pista × 25 Kbytes/sector) × (7200/60 revoluciones/s) =
212 Kbytes/pista × 120 revoluciones/s =
480 Mbytes/s
Puesto que el entrelazado es cuádruple, se lee una cuarta parte de los sectores por vuelta. Por ello, la velocidad de
transferencia real para este disco es 120 Mbytes/s. La afirmación II es falsa.
Respuesta: B (I: sí; II: no)
3. Véase el Apartado b del Problema 3-19. Mediante A0 y A1 se selecciona el registro interno del dispositivo y mediante
A2, A5, A6 y A7 se selecciona el dispositivo. La dirección 40316 escrita en binario es: 0100 0000 00 11. Obsérvese que los
valores de A2, A5, A6 y A7 son 0, 0, 0 y 0 respectivamente. A continuación, se muestra el valor binario de las direcciones
dadas en las respuestas A, B y C:
A) 0100 0001 10 11
B) 0100 1000 00 11
C) 0100 0000 01 11
De estas tres direcciones, la única en la cual los valores de los bits A0, A1, A2, A5, A6 y A7 coinciden con los de la
dirección 40316 es 41B16. Por ello la respuesta correcta es la A.
Respuesta: A (41B16)
4. Afirmación I. Véase el Apartado 1.4.4 del libro de teoría. No tiene sentido hablar de multiplexación y mantener datos y
direcciones simultáneamente en el bus, por lo que esta afirmación es falsa.
Afirmación II. Véase el Apartado 1.4.5 del libro de teoría. Tal como se menciona en el texto, es justamente al revés. La
afirmación II es falsa.
Respuesta: D (I: no; II: no)
5. Afirmación I. La tasa de aciertos h puede calcularse de la forma siguiente (véase el apartado 2.4.1 del texto de teoría):
Numero de veces que la palabra solicitada de encuentra en la Mca 212 − 210
h= = = 0.75 ⇒ 75%
Numero total de referencias 212
La afirmación I es falsa.
Afirmación II. Para el cálculo del tiempo de acceso medio ta al sistema conjunto de memoria (Mp+Mca) se puede emplear
la expresión siguiente (véase el Apartado 2.4.1 del libro de teoría):
ta = h × tca + (1 − h) × t p = 0.75 × 5 + (1 − 0.75) ×100 = 28.75 ns
La afirmación II es falsa.
Respuesta: D (I: no; II: no)
6. Véase el Apartado 5.5.5 del libro de teoría. A partir del diagrama de estados de Huffman-Mealy dado en el
enunciado, puede construirse la tabla de transición de estados mostrada en la Figura 6.1. En la Figura 6.2 se
muestra la misma tabla, pero sustituyendo cada estado por el correspondiente valor de los elementos de
memoria, de acuerdo con la asignación indicada en el enunciado: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1},
S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}.

Estado Próximo estado Estado Próximo estado


presente I ⋅ s0 I ⋅ s0 I ⋅ s0 I ⋅ s0 presente I ⋅ s0 I ⋅ s0 I ⋅ s0 I ⋅ s0
S0 S0 S0 S1 S1 S0 00 00 01 01
S1 S3 S2 S3 S2 S1 11 10 11 10
S2 S3 S3 S3 S3 S2 11 11 11 11
S3 S1 S3 S1 S3 S3 01 11 01 11

Figura 6.1: Tabla de transición de estados. Figura 6.2: Tabla de transición de estados.
Finalmente, en las Figuras 6.3 y 6.4 se muestran dos posibles maneras de agrupar los términos del mapa de
Karnaugh de la función de entrada al elemento de memoria D1. Puede comprobarse que las respuestas A) y B)
son ambas correctas.

Is0
00 01 11 10 s0 ⋅ Q0 Is0
00 01 11 10
Q1Q0 Q1Q0
00 0 0 0 0 Q0 ⋅ Q1 00 0 0 0 0 Q0 ⋅ Q1
01 1 1 1 1 01 1 1 1 1
s0 ⋅ Q1
11 0 1 1 0 11 0 1 1 0
Q 0 ⋅ Q1 Q 0 ⋅ Q1
10 1 1 1 1 10 1 1 1 1

D1 = s0 ⋅ Q0 + Q0 ⋅ Q1 + Q 0 ⋅ Q1 D1 = s0 ⋅ Q1 + Q0 ⋅ Q1 + Q 0 ⋅ Q1
Figura 6.3: Función de entrada al elemento D1. Figura 6.4: Función de entrada al elemento D1.
Respuesta: C (Las dos afirmaciones anteriores son correctas)
7. Véase la solución al Problema 4-16 en el libro de problemas. La representación decimal de los números X e Y es 1954
y 7825. La suma de estos dos números, expresada en decimal, es 9779. La representación de un número en el código
exceso a 3 se obtiene sumándole 3 a cada dígito de su correspondiente representación en BCD (vea la tabla mostrada en la
solución del Problema 4-16, en el texto de problemas). La representación en exceso a 3 de la suma es
1100101010101100.
Respuesta: B (1100101010101100)
8. Véase el Apartado 5.5.8 del libro de teoría. Si se analiza el diagrama de transición de estados se puede comprobar que,
puesto que hay 4 estados, se necesitan n=2 bits para codificar el siguiente estado en la memoria ROM que se emplee para
implementar dicho diagrama. La propuesta de memoria ROM de la pregunta indica que se debe usar una ROM con un
ancho de palabra de 6 bits, por lo que hay m=4 bits para almacenar las señales de control.
Si se observa el diagrama se puede ver que hay cuatro señales de control que se deben generar (c0, c1, c2 y c3), por lo que
la única solución factible para implementar el diagrama de estados es emplear una aproximación basada en selección por
estado, con un MUX de 4 entradas en el que se emplee el estado para seleccionar la variable de condición.
Puesto que la ROM tiene 6 bits/palabra y n=2, no puede haber más de 4 señales de control (es decir, m=6-2=4). En el
diagrama se muestran 4 señales de control (c0, c1, c2 y c3), con lo cual la respuesta B es falsa, ya que introduce otra señal
de control (c4). Dado que la respuesta B es falsa, la respuesta C también lo es.
Por otra parte, si se empleara en la definición de la transición “?” la señal de condición s2, habría que considerar dos
variables de condición diferentes (s1 y s2) para realizar la transición desde el estado S2. La consecuencia de ello sería que
no se podría usar la selección por estado con un único MUX, ya que para ello es requisito imprescindible que haya una
única variable de condición por estado (vea la solución al Problema 5-22 en el libro de problemas). De esta forma la
respuesta A es incorrecta y la solución es la respuesta D.
Respuesta: D (Ninguna de las anteriores es correcta)

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema

Un computador tiene una memoria principal (Mp) de 64k palabras de 16 bits/palabra con un tiempo de acceso Ta.
También tiene una memoria caché (Mc) totalmente asociativa de 4k palabras y 512 palabras por bloque. Considérese que
la memoria caché está inicialmente vacía y que, cuando la caché está llena, se reemplaza el bloque que se haya utilizado
menos recientemente. Supóngase que la UCP ejecuta un bucle 5 veces, en el que accede a 4101 palabras, desde la
dirección 0 hasta la dirección 4100. La Mc es 8 veces más veloz que la Mp. Se pide:
A) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de Mp de este sistema
y calcule cuánto tiempo se tardaría en realizar estos accesos a Mp si este computador no tuviera Mc.
B) (2 puntos) Realice una tabla con 5 columnas, una columna por cada vez que se ejecuta el bucle, y tantas filas como
bloques tenga la Mc. En cada columna ponga el valor de la etiqueta existente en cada bloque de la Mc al finalizar cada
uno de los cinco ciclos. Expresar el valor de la etiqueta en hexadecimal.
C) (0.75 puntos) Calcule cuántos fallos se producen en la Mc. Explique claramente su razonamiento.
D) (1 punto) Cada vez que se produce un fallo, primero se mueve el bloque completo de Mp a Mc y después se lee el dato
de la Mc. Calcule cuánto tiempo tardaría la UCP en realizar estos accesos a memoria.

Solución:
Este problema es similar a los Problemas 2-8, 2-10, 2-11, 2-12 y 2-13 del texto “Problemas de Estructura y Tecnología de
Computadores”, 2ª edición. Se recomienda consultar la solución de estos problemas con el fin de facilitar la comprensión
de las explicaciones dadas a continuación.

A) La memoria principal tiene un tamaño de 64K palabras por lo que para direccionarla hacen falta un total de 16 bits (216
= 26 × 210 = 64K). La memoria caché con 4K palabras es totalmente asociativa con bloques de 512 palabras, lo que hace
un total de 8 bloques. Después de estos sencillos cálculos, ya se puede determinar el tamaño de cada uno de los campos
en los que se descompone una dirección de memoria principal:
• Campo palabra: 9 bits. Para direccionar las 512 ( = 29) palabras de cada bloque.
• Campo etiqueta: 7 bits. Los restantes 7 ( = 16 - 9 - 2) bits de la dirección forman parte del campo etiqueta.

Al ejecutar el bucle propuesto 5 veces se producen un total de 5×4101 = 20505 accesos a memoria. Sin Mc todos estos
accesos se hacen directamente a la Mp, que tiene un tiempo de acceso Ta. Por lo tanto, el tiempo total en realizar estos
accesos si el computador no tuviera Mc sería 20505×Ta. Teniendo en cuenta que Ta = 8×Tc (donde Tc es el tiempo de
acceso a la memoria caché), se puede calcular el tiempo total de realización como 20505×8×Tc = 164040×Tc.

B) Como en la tabla de evolución del contenido de la Mc se pide poner el valor de la etiqueta que al finalizar la ejecución
de cada uno de los cinco ciclos, en la Tabla 1 se han calculado dichas etiquetas.
La primera ejecución del ciclo se muestra en la Tabla 2:
• Primera ejecución del ciclo (ver Tabla 2). Los bloques se van llenando de uno en uno, hasta llenar la memoria
caché. Cuando se accede a la dirección 4096 se vuelve a producir un fallo pero la memoria caché ya está llena. El
enunciado propone como técnica de reemplazamiento sustituir el bloque que se haya utilizado menos
recientemente, que es el 0.
• Segunda ejecución del ciclo (ver Tabla 3). Siguiendo el mismo razonamiento de antes, la Tabla 3 muestra qué va
ocurriendo en la caché según se va ejecutando por segunda vez el ciclo. En esta Tabla se puede observar que
siempre se producen fallos. Al finalizar el ciclo anterior hubo que sustituir el bloque 0 con etiqueta 0 que es el
primero en ser referenciado al comenzar la ejecución de este segundo ciclo. Para resolver este fallo sustituye el
contenido del bloque 1 de la caché, que será el siguiente en ser referenciado. Y así sucesivamente con todos.
• Resto de ciclos. La situación es parecida a la segunda ejecución del ciclo, produciéndose continuos fallos.

En la Tabla 4 se muestra el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los 5 ciclos.

Tabla 1: Rango de direcciones y etiqueta correspondiente en la caché.


Tabla 2: Primera ejecución del bucle.

Tabla 3: Segunda ejecución del bucle.

Tabla 4: Etiquetas de cada bloque de la caché al finalizar cada ciclo.

C) Para calcular el número de fallos hay que utilizar los resultados del apartado anterior y, especialmente, la Tabla 4.
• Primer ciclo: 9 fallos, uno por cada bloque del ciclo.
• Resto de ciclos: 9 fallos, uno por cada bloque del ciclo.
Por tanto, el número total de fallos es: 9 × 5 = 45 fallos.
D) El enunciado propone los eventos que ocurren cuando sucede un fallo: “primero se mueve el bloque completo de
memoria principal a memoria caché y después se lee el dato de la caché”. Luego para calcular el tiempo que la CPU tarda
en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la memoria caché y sumarle el tiempo
que se emplea en gestionar los fallos.
Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos
Como el tiempo que se tarda en acceder una palabra en la memoria principal es Ta, el tiempo en acceder a una palabra en
la memoria caché es Ta/8. Entonces nos queda que:
• Tiempo de acceso a la caché = número de accesos × Ta = 5 ciclos × 4101 palabras/ciclo × (Ta/8)
• Tiempo de gestión de fallos = 512 palabras/fallo × 45 fallos × Ta
Sumando ambas cantidades, nos queda que la CPU tardaría en ejecutar estos accesos:
Tiempo total = (5 × 4101 × (Ta/8)) + (512 × 45 × Ta ) = 25603,125 Ta
.
Test
1.- Un computador tiene una memoria principal de 128 K palabras de 16 bits por palabra y una memoria caché con
correspondencia directa de 2 K palabras y 512 palabras por bloque. En un momento determinado comienza a ejecutar
1000 veces un bucle en el que accede a 2200 posiciones de memoria consecutivas. En la novena ejecución del bucle:
I. El número mínimo de fallos posible es 2.
II. El número máximo de fallos posible es 4.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
2.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S0, S1, S2, S3) y dos señales de
condición (I, s0). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y se ha
realizado la asignación de estados siguiente: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}.
Estado presente Próximo estado A la izquierda, se muestra la tabla de transición de estados.
Q1 Q0 I s0 I s0 I s0 I s0 Indique si las siguientes afirmaciones, acerca de las funciones de
entrada de los elementos de memoria, son verdaderas:
( )
00 00 00 01 01
I. D0 = Q1 + I ⋅ s0 + Q0
01 11 10 11 10
II. D1 = Q1 ⋅ Q0 + Q1 ⋅ s0
10 11 01 11 01
A) I: sí, II: sí. B) I: sí, II: no.
11 11 00 11 00
C) I: no, II: sí. D) I: no, II: no.

3.- Un procesador dispone de ocho líneas de interrupción (numeradas del 0 al 7) y una política en la que las
interrupciones con un número bajo tienen mayor prioridad sobre aquellas de número más alto. El procesador comienza
sin interrupciones pendientes y se produce la siguiente secuencia de interrupciones: 4, 7, 1, 3, 0, 5, 6, 4, 2, 1. Suponga
que la gestión de una interrupción tarda el tiempo suficiente para que se produzcan dos nuevas interrupciones y que las
interrupciones no se pueden interrumpir entre sí. El orden en que se gestionan las interrupciones es:
A) 4 1 0 3 2 1 4 5 6 7
B) 4 7 1 3 0 5 6 4 2 1
C) 0 1 1 2 3 4 4 5 6 7
D) Todas las afirmaciones anteriores son falsas.
4.- Un computador con una longitud de palabra de 16 bits tiene un bus de direcciones de 24 bits (A23-A0). Se desea
diseñar mediante módulos RAM de 2Mpalabras × 4 bits/palabra su unidad de memoria, con una capacidad de 9
Mpalabras × 16 bits/palabra. Además se debe reservar el direccionamiento asociado al primer Mpalabras para una ROM
de 1Mpalabras x 16 bits que contendrá el arranque del sistema operativo, mientras que el resto de direcciones se
ubicarán de manera consecutiva después de ese primer Mpalabras (hasta los 10 Mpalabras). Indicar cuál de las siguientes
afirmaciones es cierta: (Nota: 1Mpalabra=220 palabras)
I. Una expresión lógica que sirve para detectar direcciones RAM válidas es:
A 23 × ( A 22 + A 21 + A 20 ) + A23 × A 22 × A 21
II. Bastan 19 módulos de RAM y 1 módulo de ROM para obtener la capacidad deseada.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido:
I. La posición de conexión de los dispositivos a la línea de arbitraje no 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.
6.- Un computador usa un formato de microinstrucción mixto, parte horizontal y parte vertical. La parte con formato
horizontal de codificación tiene una longitud de k bits y la parte con formato vertical de codificación posee m campos
codificados de n bits cada uno. ¿Cuál es el máximo número de señales de control que pueden usarse en este
computador?
A) k + n×2m B) k + nm C) k + n×(2m-1) 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 cuadrado un número X de 2n bits
A) 2n+1 B) 2n+2 C) 2n D) Ninguna de las anteriores.
8.- Si al número binario X = 111010110010 le aplicamos la siguiente secuencia de operaciones de desplazamiento: 14
operaciones LDCS seguidas de 2 operaciones LICS, ¿cuál es el resultado de la operación?
A) 101110101100 B) 111010110010 C) 101011001011 D) Ninguno de los anteriores.

Solución:
1. La organización de la memoria caché con correspondencia directa se explica en el Apartado 2.4.3 del texto de teoría.
Existen dos posibilidades. La primera posibilidad es que las 2200 posiciones consecutivas de memoria estén en 5 bloques
de memoria principal. La segunda posibilidad es que estén en 6 bloques, es decir, que ocupen completamente 4 bloques y
que las restantes 2200 – 4 × 512 = 152 posiciones estén repartidas en dos bloques. A partir de la segunda ejecución del
bucle, en el primer caso (5 bloques) se producen 2 fallos por bucle y en el segundo caso (6 bloques) se producen 4 fallos
por bucle. Así pues, en la novena ejecución del bucle el número mínimo de fallos posible es 2 y el número máximo de
fallos posible es 4.
Respuesta: A (I: sí, II: sí)
2. Ver el Apartado 5.5.5 del texto de teoría.
La afirmación I es falsa. Hay varias formas de justificarlo. Una de las más sencillas es la siguiente. La función
( )
D0 = Q1 + I ⋅ s0 + Q0 implica que si Q1 vale 1 entonces D0 vale 1, lo cual no corresponde con lo mostrado en la tabla de
transición de estados del enunciado (véase la última fila de la tabla).
La afirmación II es verdadera. En la Figura 2.1 se muestra el valor de D1, calculado evaluando la función
D1 = Q1 ⋅ Q0 + Q1 ⋅ s0 , para los posibles valores del estado presente y de las señales de condición. Puede comprobarse que
corresponde con la tabla de transición de estados mostrada en el enunciado.
Estado presente Próximo estado
Q1 Q0 I s0 I s0 I s0 I s0
00 0 0 0 0
01 1 1 1 1
10 1 0 1 0
11 1 0 1 0
Figura 2.1: Valores de la función D1 = Q1 ⋅ Q0 + Q1 ⋅ s0 .
Respuesta: C (I: no, II: sí)

3. Una forma de resolver este problema es crear una lista de interrupciones pendientes. Cada vez que el procesador queda
libre se gestiona la interrupción pendiente de mayor prioridad (que es la de menor número), eliminándola de la lista. En
la Tabla 3.1 se muestra el orden en que van siendo atendidas las interrupciones, así como las interrupciones solicitadas y
pendientes en cada momento.
La interrupción 4 es la que se gestiona en primer lugar, ya que es la primera en llegar. Cuando el procesador termina de
gestionar la interrupción 4, están pendientes las interrupciones 7 y 1, por lo que se gestiona la interrupción 1. Repitiendo
dicho proceso, se obtiene el orden de gestión de las interrupciones siguiente: 4, 1, 0, 3, 2 (vea la Tabla 3.1). Después de
atender la interrupción 2 quedan cinco interrupciones pendientes (7, 5, 6, 4, 1), que se atenderán según su prioridad. Es
decir, en el orden: 1, 4, 5, 6, 7.
Por lo tanto, el orden en el que se gestionan las interrupciones es el siguiente: 4, 1, 0, 3, 2, 1, 4, 5, 6, 7.
Tabla 3.1: Gestión de las interrupciones.
Interrupción atendida Interrupciones solicitadas Interrupciones pendientes
4 7, 1 7, 1
1 3, 0 7, 3, 0
0 5, 6 7, 3, 5, 6
3 4, 2 7, 5, 6, 4, 2
2 1 7, 5, 6, 4, 1
Respuesta: A

4. El sistema de memoria a diseñar consta de un módulo ROM de 1Mpalabras x 16 bits/palabra y de una memoria RAM
de 9 Mpalabras × 16 bits/palabra. Dicha memoria RAM debe componerse empleando módulos RAM de 2Mpalabras × 4
bits/palabra. El número de módulos RAM necesarios puede calcularse teniendo en cuenta que:
a) Para conseguir un ancho de palabra de 16 bits hacen falta 4 módulos RAM de 4 bits/palabra. Así pues, se necesitan
4 módulos RAM en cada fila de la estructura de memoria a diseñar.
b) Para obtener 9 Mpalabras se necesitan 5 filas de 2Mpalabras cada una. Se obtiene un total de 10 Mpalabras
direccionables, de las cuales el último Mpalabra no se emplea.
Son necesarios 1 módulo de ROM y 20 módulos de RAM para diseñar la estructura de memoria. Por consiguiente, la
afirmación II es falsa.
A partir de la descripción dada en el enunciado acerca de la forma en que se realiza el direccionamiento, puede
construirse la Tabla 4.1. En ella se indica qué fila de módulos de RAM es seleccionada para cada valor de los 4 bits
A23,…, A20 del bus de direcciones. También se indica mediante qué valores de estos 4 bits puede accederse a direcciones
RAM válidas.

Se comprueba que la expresión dada en la afirmación I del enunciado, A 23 × ( A 22 + A 21 + A 20 ) + A23 × A 22 × A 21 , no


permite detectar las direcciones RAM válidas. Para demostrarlo basta con que la función devuelva el mismo valor para
una dirección válida y para una no válida. Por ejemplo, la función toma el valor 1 para A23=A22=A21=A20=0, que es una
dirección no válida, y para A23=A22=A21=0, A20=1, que es una dirección válida. En consecuencia, la afirmación I es falsa.
Tabla 4.1: Direccionamiento de la estructura de memoria.
A23 A22 A21 A20 Fila RAM direccionable Válida
0000 Pertenece a la ROM No
0001 F1 Sí
0010 F1 Sí
0011 F2 Sí
0100 F2 Sí
0101 F3 Sí
0110 F3 Sí
0111 F4 Sí
1000 F4 Sí
1001 F5 Sí
1010 F5 No
1011 No hay RAM o ROM asociada No
1100 No hay RAM o ROM asociada No
1101 No hay RAM o ROM asociada No
1110 No hay RAM o ROM asociada No
1111 No hay RAM o ROM asociada No

Si bien no es necesario para responder a la pregunta, veamos cómo puede obtenerse una función lógica para detectar
direcciones RAM válidas. En concreto, una función que devuelva el valor 1 para las direcciones válidas y 0 para las no
válidas. En la Figura 4.1 puede verse el mapa para la obtención de dicha función.
A23 ⋅ A20
A21 A20 A23 ⋅ A21
A23 A22 00 01 11 10
00 0 1 1 1
01 1 1 1 1 A23 ⋅ A22
11 0 0 0 0
10 1 1 0 0

A23 ⋅ A22 ⋅ A21

A23 ⋅ ( A22 + A21 + A20 ) + A23 ⋅ A22 ⋅ A21

Figura 4.1: Función para la detección de direcciones RAM válidas.


Respuesta: D (I: no, II: no)

5. El funcionamiento de un bus con arbitraje distribuido se explica en el Apartado 1.4.4 del texto de teoría. De dichas
explicaciones se deduce que ambas afirmaciones son falsas.
Respuesta: D (I: no, II: no)

6. La organización de la memoria de control se explica en el Apartado 7.2.4 del texto de teoría.


La parte con formato horizontal de codificación tiene una longitud de k bits, por tanto pueden usarse k señales de control.
La parte con formato vertical de codificación posee m campos codificados de n bits cada uno. Cada campo de n bits
codifica 2n-1 señales.
Así pues, el número máximo de señales de control que puede usarse en este computador es k+m×(2n-1).
Respuesta: D (Ninguna de las anteriores)

7. Si sólo se fuera a utilizar una única memoria ROM, ésta tendría que tener una capacidad de 22n palabras × 4n
bits/palabra. Como el módulo de memoria ROM del que se dispone es de 2n palabras × n bits/palabra, serán necesarios 2n
× 4 módulos = 2n+2 módulos.
Respuesta: B

8. Las operaciones de desplazamiento se explican en la Sección 4.9 del texto de teoría.


La secuencia de operaciones indicada en el enunciado deja el resultado inalterado.
Respuesta: B

Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema

Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene 142 instrucciones en su repertorio de
instrucciones. En un determinado programa el 20% de las instrucciones tienen un registro de entrada y un registro de
salida, el 30% tienen dos registros de entrada y uno de salida, el 25% tiene un registro de entrada, un registro de salida y
un operando inmediato y el 25% restante tiene un operando inmediato y un registro de salida
a) (2 puntos) ¿Cuantos bits se necesitan para cada uno de los cuatro tipos de instrucciones? Supóngase que se
impone que todas las instrucciones tengan una longitud múltiplo de 8 bits.
b) (2 puntos) ¿Cuánta memoria menos ocupa el programa cuando se utiliza una codificación del repertorio de
instrucciones de longitud variable que cuando se utiliza una codificación de longitud fija?
Nota: Un repertorio de instrucciones es de longitud fija cuando todas las instrucciones tienen la misma longitud y es de
longitud variable si la longitud de las instrucciones no es igual para todas las instrucciones del repertorio.

Solución:

a) Con 142 instrucciones, se necesitan 8 bits para identificar una instrucción (128 < 142 < 256). 32 registros significa
que hacen falta 5 bits para codificar el identificador del registro y sabemos que se necesitan 16 bits por cada dato
inmediato. Con estos datos, es sólo cuestión de sumar los campos necesarios en cada tipo de instrucción.
Un registro de entrada y un registro de salida: 8 + 5 + 5 bits = 18 bits que se redondean a 24 bits.
Dos registros de entrada y un registro de salida: 8 + 5 + 5 + 5 bits = 23 bits que se redondean a 24 bits.
Un registro de entrada, un registro de salida y un operando inmediato: 8 + 5 + 5 + 16 bits = 34 bits que se redondean
a 40 bits.
Un operando inmediato y un registro de salida: 8 + 16 + 5 bits = 29 bits, que se redondean a 32 bits.
b) Dado que el tipo de instrucción mayor precisa 40 bits, la codificación de longitud fija tendrá 40 bits por instrucción.
En la codificación de longitud variable cada tipo de instrucción usará el número de bits dados en el apartado a). Para
saber el número promedio de bits de la codificación de longitud variable, se multiplica el número de bits de cada tipo
de instrucción por la frecuencia de ese tipo y se suman los resultados. Este cálculo da:
0,2 × 24 bits + 0,3 × 24 bits + 0,25 × 40 bits + 0,25 × 32 bits = 30 bits en promedio
Por tanto, la codificación de longitud variable necesita un 25% menos de espacio que la codificación de longitud fija
para este programa.
Yo no tengo las soluciones oficiales. Sólo la plantilla del examen de
reserva tipo G, que creo que es el que yo hice:

CCCDDDAC

Ojo, la pregunta número 5, creo que la plantilla está mal. La respuesta


correcta creo recordar que es la C. Yo puse
la D, en qué estaría pensando, pero afortunadamente me la dieron como buena
y gracias a eso saqué un notable.
Test
1.- Una CPU con bus de direcciones de 16 bits y un bus de datos de 8 bits tiene un registro de 8 bits conectado
al bus de datos y a la unidad de control. Este registro puede ser uno de los siguientes:
A) Contador de programa (PC). B) De instrucción (IR).
C) De direcciones de memoria (MAR). D) Ninguna de las anteriores.
2.- Una unidad de control microprogramada con direccionamiento implícito tiene una memoria de control con
24 bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control y el
tamaño máximo de la memoria de control de esta Unidad de Control microprogramada es de 220 palabras,
¿cuántas condiciones como máximo se pueden evaluar en el caso de microinstrucciones de bifurcación?
A) 3 B) 16 C) 4 D) Ninguna de las anteriores.
3.- Una memoria caché con correspondencia directa utiliza 2048 palabras/bloque y su capacidad total es de
64K palabras. La memoria principal tiene una capacidad de 4096M palabras. En un determinado instante, la
dirección B3A972E0, expresada en hexadecimal, de la memoria principal se encuentra en la caché. Decir si las
siguientes afirmaciones son ciertas:
I. Esta dirección se corresponde con el bloque 14, expresado en decimal, de la memoria caché.
II. Del enunciado puede deducirse que la dirección 629E72E9, expresada en hexadecimal, no está en la
caché.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria
común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos,
dirección y control durante 20 nseg. Durante los 80 nseg siguientes, el módulo de memoria direccionado
completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria
pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. Indique si las siguientes
afirmaciones son ciertas:
I. Si el número de módulos N = 3 la velocidad máxima de transferencia es de 0.03 palabras/nseg
II. Cuando el número de módulos N > 4, la velocidad máxima de transferencia es de 0.06 palabras/nseg
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Indique si las siguientes afirmaciones sobre E/S localizada en memoria son verdaderas:
I. Sería posible realizar operaciones directamente sobre los puertos de E/S de datos sin necesidad de
moverlos explícitamente por programa a algún registro de la CPU.
II. Puede evitar gastar espacio de direcciones empleando una señal de control especial para indicar que
está realizando una operación de E/S localizada en memoria.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

6.- En la figura se muestra un circuito lógico con tres entradas (x1, x2, x3) y dos salidas (y1, y2). Indique cuál de
las siguientes afirmaciones acerca de este circuito es correcta.

A) Es un elemento de memoria D.
x1 y1 B) Es un sumador binario completo.
x2 C) Las dos anteriores son correctas.
x3 D) Ninguna de las anteriores es correcta.
y2

7.- En un procesador con instrucciones de cero direcciones, indicar cuantos accesos a memoria se necesitan
para completar la secuencia Y = (X+Y)+Z.
A) 10. B) 6. C) 12. D) Ninguna de las anteriores.
8.- A continuación, se muestra el diagrama de bloques y la tabla de operaciones de una ALU lógica. Tiene dos
entradas de cuatro bits (A=a3a2a1a0, B=b3b2b1b0), una entrada de control de dos bits (C=c1c0) y una salida de
cuatro bits (Z=z3z2z1z0). Suponiendo que se dispone de conexiones a “0” lógico y a “1” lógico, indique cuál de
las siguientes afirmaciones acerca de esta ALU es correcta.
c1 c0 Operación A) Esta ALU puede sintetizarse empleando únicamente
A B
00 Z = A⊕ B cuatro MUX(4), ocho puertas XOR de dos entradas,
C cuatro puertas AND de dos entradas y cuatro puertas
ALU 01 Z = A⊕ B OR de dos entradas.
10 Z = A∧ B B) Esta ALU puede sintetizarse empleando una ROM de
Z 11 Z = A∨ B 210 palabras, 4 bits/palabra.
C) Las dos anteriores son correctas.
D) Ninguna de las anteriores.

Solución:

1.- Los diferentes registros que se mencionan en esta pregunta son los siguientes:
- El contador de programa (PC), que contiene la dirección de la instrucción a ejecutar.
- El registro de instrucción (IR), en el que se carga (se transfiere desde memoria) la instrucción a ejecutar, es
decir, la instrucción señalada por el PC.
- El registro de direcciones de memoria (MAR) que contiene la dirección de memoria en la que se va a leer o a
escribir.
Como el bus de direcciones tiene 16 bits, las respuestas A y C no pueden ser ya que el PC y el MAR deberían
tener necesariamente una longitud de 16 bits. El registro IR cumpliría las especificaciones de la pregunta al
tener 8 bits y estar conectado al bus de datos y a la Unidad de Control

Respuesta: B

2.- [Ver sección 6-2 del libro de teoría.] En el caso de direccionamiento implícito, se definen dos formatos de
instrucciones diferenciadas por el primer bit. En caso de ser 0 tienen formato de control y se usan 15 bits
adicionales para el control, es decir, se usan 16 bits y quedan 8 libres sin usar. En el caso de formato de
bifurcación (primer bit a 1) se debe evaluar la condición que sea necesaria. Como el número de palabras de 220,
20 es número de bits necesarios para el campo dirección. Por lo tanto, el número de bits utilizados para
codificar el número máximo de condiciones de bifurcación será:
24-20-1= 3 bits. Siendo por lo tanto 8 el número máximo de condiciones.

Respuesta: D
3.- [Ver las páginas 81 y siguientes del libro de teoría.] La memoria principal de 4096M palabras (= 22×210×220
palabras) necesita 32 bits para su direccionamiento (232 = 4096M). La memoria caché tiene 216 (= 64K)
palabras. Como la correspondencia directa utiliza 2048 (= 211) palabras/bloque, hay (216 palabras) /
(211palabras / bloque) = 25 bloques en la caché.
Al tratarse de correspondencia directa, una dirección de memoria principal se divide en tres campos: Etiqueta,
Bloque y Palabra.
El campo Bloque tendrá una longitud de 5 bits y el de Palabra 11. Por tanto, el campo Etiqueta tendrá una
longitud de 32 - (5 + 11) = 16 bits.
La dirección hexadecimal B3A972E0 se expresa en binario como:
1011 0011 1010 1001 0111 0010 1110 0000
por lo que agrupando sus bits en los tres campos resulta:
Etiqueta = 1011001110101001
Bloque = 01110
Palabra = 01011100000
Por tanto:
I. Bloque = 011102 = 1410
II. La dirección 629E72E9 se puede expresar como 0110 0010 1001 1110 0111 0010 1110 1001. Obsérvese
que el campo Bloque de ambas direcciones es igual, por lo que la correspondencia directa asigna a ambas
direcciones el mismo bloque de caché. Ahora bien, dado que sus campos Etiqueta son diferentes, es imposible
que ambas palabras se encuentren simultáneamente en la caché. Como el enunciado afirma que la palabra de
dirección B3A972E0 se encuentra en la caché, es imposible que también se encuentre la de dirección
629E72E9.

Respuesta: A (I: sí, II: sí.)

4.- Esta pregunta está basada en el Problema 1-3. El ciclo de escritura en los módulos de memoria se muestra
gráficamente en la Figura 1. El tiempo de ciclo de escritura es 100 nseg. El módulo de memoria usa el bus en
exclusiva durante los primeros 20 nseg del ciclo, mientras que durante los restantes 80 nseg cualquier otro
módulo puede hacer uso del bus.
Control
Dirección
Almacenamiento del dato
Datos

20 nseg 80 nseg
Figura 1: Ciclo de escritura de los módulos de memoria

Considerando que los ciclos de escritura se solapan al máximo, en la Figura 2 se muestra la velocidad máxima
para el caso de N=3 y para N>4.
Módulos 100 nseg

1
2
3

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

Módulos 100 nseg

1
2
3
4
5

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

Módulos 120 nseg

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

Módulos 140 nseg

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

Respuesta: B (I: sí, II: no.)

5.-
La afirmación I es verdadera. Ver ventaja b) de la página 59 del Problema 3-1.
La afirmación II es verdadera. Ver desventaja a) de la página 60 del Problema 3-1.
Respuesta: A (I: sí, II: sí)

6.- Este circuito realiza las ecuaciones. 4.1 y 4.2 del texto de teoría. Se trata de la Figura 4.8 del texto de teoría,
pero sustituyendo cada SSB por su circuito.

Respuesta: B

7.- [Ver el problema 6-4 y el apartado 6.1.4 del texto de teoría.] En el caso de un procesador de cero
direcciones el cálculo de la expresión dada se puede realizar mediante el conjunto de 6 instrucciones siguientes:
Push[X]; Push[Y]; Add; Push[Z]; Add; Pop[Y]
Serán necesarios 6 accesos a memoria para leer el código de operación de cada instrucción; además en el caso
de las instrucciones Push y Pop se necesita un acceso adicional a memoria para acceder a los operandos, ya que
las operaciones aritméticas se realizan con operandos que se encuentran ya en la pila. En total son 6
instrucciones, tres de las cuales son Push y una Pop: 6+3+1 = 10 accesos.
Respuesta: A

8.- [Ver el problema 4-31]


La estructura de la ALU según la opción A (ver la Figura 3) tiene dos entradas A (ai: i = 1..3) y B (bi: i = 1..3)
que se conectan al conjunto de puertas lógicas que realizan las operaciones que se indican en la tabla del
enunciado. Los cuatro multiplexores permiten elegir la operación deseada. La selección de las entradas de datos
de los multiplexores se controla mediante c0 y c1 tal y como se muestra en la tabla del enunciado.

c1

c0

b3 a3 b2 a2 b1 a1 b0 a0

1 1 1 1

y3 y2 y1 y0 y3 y2 y1 y0 y3 y2 y1 y0 y3 y2 y1 y0
c0 c0 c0 c0
MUX (4) MUX (4) MUX (4) MUX (4)
c1 c1 c1 c1

z3 z2 z1 z0

Figura 3: Estructura de la ALU lógica de 4 bits utilizando multiplexores y puertas

En este diseño se ha tenido en cuenta que 1 x

x
Por lo tanto la opción A es cierta.
En la Figura 4 se muestra el diseño según la opción B, que también es correcta:

4
A

10 ROM 4
4
B 210 × 4 Z

2
C

Figura 4: Estructura de la ALU lógica de 4 bits utilizando una ROM

Respuesta: C
Cuestiones teórico-prácticas

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

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


Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema
Se está diseñando un computador, y se quiere estudiar la posibilidad de dotarle de una unidad de control
microprogramada con un formato de microinstrucción horizontal, o bien con un formato de microinstrucción
vertical. El secuenciador de microprograma que se va a utilizar, proporciona una dirección de 12 bits.
Los respectivos formatos de microinstrucción son los que se muestran en las figuras 1 y 2. En el formato
horizontal, Ai (i=1,2,3), Bj (j=1,2,3), Ck (k=1,..,4), Dm (m=1,2,3) y En (n=1,…,8) son señales de control. En
el formato vertical campo 4 se decodifica como sel-B o sel-D a partir del campo 2, que es un campo de
selección.

A1 A2 A3 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 E1 ………. E8

Figura 1: Formato de microinstrucción horizontal.


sel-A x Sel-C sel-B o sel D sel-E

campo 1 campo 2 campo 3 campo 4 campo 5

Figura 2: Formato de microinstrucción vertical.

A) (1.5 pto) Comparar el tamaño de la memoria de control para ambas alternativas.


B) (1.5 pto) Comparar el tiempo de activación de las señales de control para los dos tipos de memoria de
control.
C) (1 pto) Comentar y razonar los resultados obtenidos en los apartados anteriores.

Solución
Para resolver este problema se puede consultar la sección 7.2.4 del libro de teoría.

A)
- Cálculo del tamaño de la memoria de control con formato de microinstrucción horizontal:
El campo de control se muestra en la siguiente figura:

A1 A2 A3 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 E1 ………. E8

3 bits 3 bits 4 bits 3 bits 8 bits

De donde es fácil comprobar que el tamaño del campo de control con el formato horizontal es de 21 bits
Como el campo de dirección de la microinstrucción, según el enunciado, tiene 12 bits, el número de
microinstrucciones es de 212. Por lo tanto, el tamaño de la memoria de control utilizando formato horizontal es
de 212× 21 bits

- Cálculo del tamaño de la memoria de control con formato de microinstrucción vertical:


Teniendo en cuenta que en este caso con un subcampo de j bits se pueden especificar 2j-1 señales de control
(una de las codificaciones hay que reservarla para el caso de que ninguna señal de control esté activa), el
formato de los subcampos de control de la microinstrucción con formato vertical es el que se muestra en la
siguiente figura:

sel-A x sel-C sel-B o sel D sel-E

2 1 3 2 4

Luego en este caso el número de bits utilizados en los subcampos de control de la microinstrucción vertical es
de 12 bits
Como el número de microinstrucciones es de 212, el tamaño de la memoria de control utilizando formato
vertical es de 212× 12 bits

Ambas memorias tienen el mismo número de palabras, pero la horizontal necesita un ancho de palabra casi el
doble que la vertical, luego su tamaño será prácticamente el doble que la vertical.

B)
En el diseño vertical las señales de control se activan un cierto tiempo después respecto al diseño horizontal,
igual al tiempo de decodificación. Según se puede apreciar en la figura siguiente, la decodificación impone un
retardo igual al decodificador más lento, es decir, al decodificador 4×16.

sel-A X sel-C sel-B o sel-D sel-E

2 3 2 4
1

DEC DEC DEC DEC DEC


2x4 3x8 2x4 2x4 4x16

A1 A2 A3 No C1 C2 C3 C4 .... No B1 B2 B3 No D1 D2 D3 No E1 E2 ... E8 ....... No

C)
El ahorro de memoria del diseño vertical es lógico, puesto que las señales de control están codificadas,
mientras que en el caso de la horizontal tenemos un bit para activar directamente cada señal.

Por la misma razón, esta ventaja del caso vertical produce el inconveniente de introducir un retraso en la
activación de las señales, puesto que se ha de realizar la decodificación.

En el diseño habría que estudiar si lo que se prima más es un diseño rápido (en cuyo caso nos inclinaríamos por
la memoria horizontal), o bien se valora más la optimización del tamaño de la memoria de control y la
posibilidad de reducir errores de microcodificación (es este caso sería mejor el diseño vertical).
Test

1.- Un sistema jerárquico de memoria tiene una memoria caché de 4K palabras, dividida
en bloques de 128 palabras y con un tiempo de acceso de 15 nseg, y una memoria
principal de 128K palabras con un tiempo de acceso de 150 nseg. Cuando se produce un
fallo, primero se mueve el bloque completo a la memoria caché y después se lee el dato
desde la caché. Si la tasa de acierto de la caché es del 95%, ¿cuál es el tiempo de acceso
medio de este sistema?
A) 315 nseg. B) 165 nseg.
C) 975 nseg. D) Ninguna de las anteriores.
2.- Un disco formateado con entrelazado cuádruple, tiene 8 sectores por pista y una
velocidad de rotación de 6000 rpm. ¿Cuánto tardará en leer, en su orden, todos los
sectores de una pista suponiendo que la cabeza de lectura se encuentra en la pista
correcta y sobre el punto de comienzo del sector 4?
A) 10 ms. B) 45 ms. C) 50 ms. D) Ninguna de las anteriores.
3.- En la figura se muestra el diagrama de bloques de un circuito y las expresiones
lógicas que permiten calcular sus salidas a partir de sus entradas. Indique cuál de las
afirmaciones siguientes acerca de este circuito es correcta:
xi yi
si = xi ⊕ yi ⊕ ci −1
p ci −1
ci = ci −1 yi + ( xi p + xi p )( yi + ci −1 )

si ci
A) Cuando p = 0, es un restador binario completo.
B) Cuando p = 1, es un sumador binario completo.
C) Las dos afirmaciones anteriores son correctas.
D) Ninguna de las anteriores es correcta.
4.- En un bus con arbitraje centralizado:
A) Cualquier dispositivo puede decidir en qué momento toma el control del bus.
B) La temporización debe ser asíncrona.
C) Todos los dispositivos actúan de forma cooperativa para compartir el bus.
D) Todas las afirmaciones anteriores son falsas.
5.- Considere una memoria asociativa de n palabras y 8 bits/palabra. Indique 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. (Se considera que el cero es un número par).
A) A=10000010, K=00000001 B) A=10000011, K=00000001
C) A=00000001, K=10000000 D) Ninguna de las anteriores
6.- Se dispone de un computador que funciona a una velocidad de 108 ciclos por
segundo y en el que, en promedio, una instrucción emplea 10 ciclos máquina y cada
operación de lectura o escritura de una palabra de memoria tarda 2 ciclos máquina.
Determinar la máxima velocidad de transferencia de datos si en este sistema se emplea
DMA con estrategia de transferencia por ráfagas.
A) 107 palabras/seg. B) 2 × 107 palabras/seg.
C) 6.66 × 10 palabras/seg.
6
D) Ninguna de las anteriores.
7.- El contenido inicial de un registro de desplazamiento de 4 bits es 0111. Entonces, se
realiza una operación de desplazamiento, tras lo cual el contenido del registro pasa a ser
0110. Señale cuál de las afirmaciones siguientes es correcta.
A) La operación de desplazamiento podría ser AIAS.
B) La operación de desplazamiento podría ser AICS.
C) Las dos anteriores son correctas.
D) Ninguna de las anteriores.
8.- Dado el diagrama ASM de la figura, y suponiendo que para cada estado se debe
generar una sola señal de control (c0 en S0, c1 en S1 y c2 en S2). Indique cuál de las
siguientes afirmaciones es verdadera.
I. Para implementarlo se puede usar un registro de 2 bits y una ROM de 8 de
palabras de 8 bits.
II. Para implementarlo se puede usar la técnica de selección por estado con lo que
el multiplexor asociado tiene 4 entradas con 2 entradas de selección y la ROM
un tamaño de 8 palabras de 8 bits.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
Solución al test

1. Véase el Apartado 2.4.1 del texto base de teoría. El tiempo medio de acceso al
sistema de memoria viene dado por la expresión siguiente:
ta = h × tacierto + ( 1 – h ) × tfallo
donde
tacierto es el tiempo de acceso en caso de acierto
tfallo es el tiempo de acceso en caso de fallo
h es la tasa de acierto
Es decir, el tiempo medio de acceso es la media ponderada del tiempo medio de acceso
en caso de acierto y del tiempo medio de acceso en caso de fallo.
En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria
caché, 15 nseg. La probabilidad de acierto es del 95 % (h = 0.95).
En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde
la memoria principal a la memoria caché y luego, según el enunciado, se mueve la
palabra que ha producido el fallo desde la caché a la CPU. Luego en caso de fallo hay
que mover 128 palabras (un bloque) desde la memoria principal, lo que tarda un tiempo
de 128×150 nseg = 19200 nseg; después se mueve una palabra desde la caché, lo que
emplea otros 15 nseg. Luego en caso de fallo se tarda 19215 nseg. La probabilidad de
un fallo de referencia es del 100 % – 95 % = 5 % (h = 0.05).
Por tanto, el tiempo medio de acceso de este sistema de memoria es:
0.95×15 nseg + 0.05×19215 nseg = 14.25 nseg + 960.75 nseg = 975 nseg.
Respuesta: C (975 nseg)

2. Véase el problema 3.28. La numeración de los sectores es la mostrada en la figura.


Como la cabeza de lectura ésta al comienzo del sector 4, en la primera vuelta lee el
sector 0. En la segunda vuelta lee los sectores 1 y 2. En la tercera vuelta lee el sector 3.
En la cuarta vuelta lee los sectores 4 y 5. Finalmente, en la quinta vuelta lee los sectores
6 y 7. Así pues, necesita dar 5 vueltas para leer los 8 sectores.

3 0
El tiempo empleado en dar una vuelta es:
6 5 60 / 6000 = 0.01 seg
1 2
Con lo cual, el tiempo empleado en dar 5 vueltas es:
4 7
5 × 0.01 seg = 0.05 seg
Respuesta: C (50 mseg)
3. Véase el problema 4.4. Cuando p = 0, las expresiones del enunciado corresponden
con un restador binario completo:
si = xi ⊕ yi ⊕ ci −1
ci = ci −1 yi + xi ( yi + ci −1 )

Cuando p = 1, corresponden con un sumador binario completo:


si = xi ⊕ yi ⊕ ci −1
ci = ci −1 yi + xi ( yi + ci −1 )

Respuesta: C (Las dos afirmaciones anteriores son correctas)

4. Véase el apartado 1.4.4 del texto base de teoría.


La primera afirmación, “cualquier dispositivo puede decidir en qué momento toma el
control del bus”, es falsa, puesto que es el árbitro el responsable de asignar el tiempo de
utilización.
La segunda afirmación, “la temporización debe ser asíncrona”, también es falsa, ya que
el método de arbitraje no condiciona el tipo de temporización.
La tercera afirmación, “todos los dispositivos actúan de forma cooperativa para
compartir el bus”, es cierta para buses con arbitraje distribuido, no centralizado, con lo
cual también es falsa.
Respuesta: D (Todas las afirmaciones anteriores son falsas)

5. Véase el apartado 2.5.2 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 8 bits, cuando
es de la forma 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 XXX1 (donde X puede valer 0 ó 1)
K = 0000 0001
En particular, los valores dados en la respuesta B son válidos:
A = 1000 0011
K = 0000 0001
Respuesta: B (A = 1000 0011, K = 0000 0001)
6. Véase el apartado 3.5.2 del texto de teoría y el problema 3-16. El DMA por ráfagas
no libera el bus hasta haber transmitido el bloque de datos. Así pues, la velocidad
máxima es:
(108 ciclos/seg) / (2 ciclos/palabra) = 5×107 palabras/seg.
Respuesta: D (Ninguna de las anteriores)

7. Véase el apartado 4.9.1 del texto base de teoría. El contenido inicial del registro de
desplazamiento es 0111. Tras la operación de desplazamiento pasa a ser 0110.
La respuesta A, “la operación de desplazamiento podría ser AIAS”, es correcta. El bit
más significativo se mantiene, y se produce un desplazamiento hacia la izquierda de los
tres bits menos significativos, introduciendo un 0 en el bit menos significativo.
La respuesta B, “la operación de desplazamiento podría ser AICS”, es falsa. En caso de
haberse producido este desplazamiento, los tres bits menos significativos deberían
seguir siendo 1, cosa que no sucede.
Por lo anterior, las respuestas C y D son falsas.
Respuesta: A (La operación de desplazamiento podría ser AIAS)

8. Véase el apartado 5.5.8 del texto base de teoría. El diagrama mostrado en el


enunciado tiene 3 estados, 2 condiciones (que se consultan de manera excluyente) y 3
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 tres señales de control (m=3)
La afirmación I, “para implementarlo se puede usar un registro de 2 bits y una ROM de
8 de palabras de 8 bits”, es falsa. 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
ROM de al menos 2n+q palabras × (n+m) bits, es decir, de al menos 16 palabras con 5
bits/palabra. (Véase la Figura 5.31 del texto base de teoría)
La afirmación II, “para implementarlo se puede usar la técnica de selección por estado
con lo que el multiplexor asociado tiene 4 entradas con 2 entradas de selección y la
ROM un tamaño de 8 palabras de 8 bits”, es cierta. Esto es debido a que en cada estado
sólo se necesita una señal de condición, a que el multiplexor es MUX(2n), y a que la
ROM tiene al menos 8 palabras (2n+1), con 5 bits/palabra (n+m).
Respuesta: C (I: no, II: sí)

Cuestiones teórico-prácticas

Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.
Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3
del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema

A) (2 puntos) Diseñe un registro de desplazamiento de 4 bits como el mostrado en la


Figura 1. En la columna “Operación R-4” de la Tabla 1 se muestran las operaciones
que debe realizar el registro y qué codificación de las entradas de control (C2C1C0)
corresponde a cada una de estas operaciones. En el diseño deben emplearse
multiplexores y elementos de memoria D.
B) (2 puntos) Diseñe un registro de desplazamiento de 8 bits empleando dos registros de
4 bits como el diseñado en el apartado anterior y las puertas lógicas necesarias. En la
columna “Operación R-8” de la Tabla 1 se indica la operación que debe realizar el
registro de 8 bits para cada valor de las entradas de control.

Q3Q2Q1Q0 Salida paralelo


4
Entrada serie ED EI Entrada serie
Salida serie S REGISTRO DE
I DESPLAZAMIENTO S D Salida serie
Reloj CK
3
C2C1C0 Control
4
E3 E2 E1 E0 Entrada paralelo
Figura 1: Diagrama de un registro de desplazamiento.

C2 C1C0 Operación R-4 Operación R-8


000 NOP NOP
001 LDAS LDAD
010 LIAS LIAD
011 LDCS LDCD
100 LICS LICD
101 Carga paralelo Carga paralelo
110 NOP NOP
111 NOP NOP
Tabla 1: Codificación de las entradas de control.
Solución al problema

A) El diseño puede realizarse de manera análoga al mostrado en el Apartado 4.9.2 del


texto base de teoría.
En la Tabla 2 se indica cuál es la salida del circuito en el instante t+1, Q(t+1), para cada
uno de los valores de las entradas de control (C2C1C0). La salida en t+1 está expresada
en función del vector de salidas en el instante t, (Q3,Q2,Q1,Q0), del vector de entradas
paralelo, (E3,E2,E1,E0), y de las entradas serie, ED y EI. El diseño del registro de
desplazamiento se muestra en la Figura 2.

C2C1C0 Operación R-4 Q(t+1)


000 NOP (Q3,Q2,Q1,Q0)
001 LDAS (ED,Q3,Q2,Q1)
010 LIAS (Q2,Q1,Q0,EI)
011 LDCS (Q0,Q3,Q2,Q1)
100 LICS (Q2,Q1,Q0,Q3)
101 Carga paralelo (E3,E2,E1,E0)
110 NOP (Q3,Q2,Q1,Q0)
111 NOP (Q3,Q2,Q1,Q0)
Tabla 2: Descripción de la salida del circuito.

Q3 Q2 Q1 Q0
SI SD
Q Q Q Q

D D D D

CK
C2
C1
C0

MUX MUX MUX MUX


76543210 76543210 76543210 76543210

ED EI

E3 E2 E1 E0

Figura 2: Diseño del registro de desplazamiento de 4 bits.


B) A partir de la tabla de operaciones mostrada en el enunciado, se obtiene el valor de la
salida del registro de desplazamiento de 8 bits en el instante t+1. Se muestra en la Tabla
3.
C2C1C0 Operación R-8 Q(t+1)
000 NOP (Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0)
001 LDAD (ED,Q7,Q6,Q5,Q4,Q3,Q2,Q1)
010 LIAD (Q6,Q5,Q4,Q3,Q2,Q1,Q0,EI)
011 LDCD (Q0,Q7,Q6,Q5,Q4,Q3,Q2,Q1)
100 LICD (Q6,Q5,Q4,Q3,Q2,Q1,Q0,Q7)
101 Carga paralelo (E7,E6,E5,E4,E3,E2,E1,E0)
110 NOP (Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0)
111 NOP (Q7,Q6,Q5,Q4,Q3,Q2,Q1,Q0)
Tabla 3: Descripción de la salida del registro de desplazamiento de 8 bits.

Para diseñar el registro de desplazamiento de 8 bits, se emplean 2 registros de


desplazamiento de 4 bits, que llamaremos R1 y R0 (véase la Figura 3). El registro R1
proporcionará los 4 bits más significativos de la salida del registro de 8 bits. El registro
R0 los 4 bits menos significativos. Llamamos:
C12C11C10 entradas de control al registro de 4 bits R1.
C02C01C00 entradas de control al registro de 4 bits R0.
C2C1C0 entradas de control al registro de 8 bits.
A continuación, se explica paso a paso cómo realizar el diseño.

Q 7 Q 6 Q5 Q 4 Q3 Q 2 Q1 Q 0

ED EI
E D1 E I1 E D0 E I0
SI SI1 R1 SD1 SI0 R0 SD0 SD
CK C12C11C10 3 CK 3
C02C01C00
C 2 C1C0 3

CK

E 7 E 6 E5 E 4 E 3 E 2 E1E 0
Figura 3: Entradas y salidas de los registros de 4 bits y del registro de 8 bits.

Operaciones NOP. Cuando las entradas de control al registro de 8 bits valen


C2C1C0 =000, C2C1C0 =110 o C2C1C0 =111, no debe realizarse ninguna operación. Para
esos mismos valores de sus entradas de control, los registros de 4 bits no realizan
ninguna operación. Por tanto, los valores de las señales de control para cada uno de los
registros de 4 bits serán las siguientes:
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
000 NOP 000 NOP 000 NOP
110 NOP 110 NOP 110 NOP
111 NOP 111 NOP 111 NOP

Operación “Carga paralelo”: Cuando la entrada de control al registro de 8 bits vale


C2C1C0 =101, debe producirse la carga de los bits de entrada paralelo. Para ese mismo
valor de sus entradas de control, los registros de 4 bits realizan la carga paralelo. Por
ello:
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
101 Carga paral. 101 Carga paral. 101 Carga paral.

Operación LDAD: El desplazamiento LDAD del registro de 8 bits puede realizarse


mediante un desplazamiento LDAS de los dos registros de 4 bits. Para ello, la salida SD1
debe estar conectada a la entrada ED0 (véase la Figura 3). Asimismo, la entrada ED debe
estar conectada a ED1 y la salida SD0 debe estar conectada a SD.
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
001 LDAD 001 LDAS 001 LDAS

Operación LIAD: El desplazamiento LIAD del registro de 8 bits puede realizarse


mediante un desplazamiento LIAS de los dos registros de 4 bits. Para ello, la salida SI0
debe estar conectada a la entrada EI1 (véase la Figura 3). Asimismo, la entrada EI debe
estar conectada a EI0 y la salida SI1 debe estar conectada a SI.
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
010 LIAD 010 LIAS 010 LIAS

Operación LDCD: El desplazamiento LDCD del registro de 8 bits puede realizarse


mediante un desplazamiento LDAS de los dos registros de 4 bits. Para ello, la salida SD1
debe estar conectada a la entrada ED0 (véase la Figura 3). Asimismo, la entrada ED1 debe
estar conectada a Q0 (o, equivalentemente, a SD0).
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
011 LDCD 001 LDAS 001 LDAS

Operación LICD: El desplazamiento LICD del registro de 8 bits puede realizarse


mediante un desplazamiento LIAS de los dos registros de 4 bits. Para ello, la salida SI0
debe estar conectada a la entrada EI1 (véase la Figura 3). Asimismo, la entrada EI0 debe
estar conectada a Q7 (o, equivalentemente, a SI1).
C2C1C0 Operación R-8 C12C11C10 Operación R1 C02C01C00 Operación R0
100 LICD 010 LIAS 010 LIAS

De las explicaciones anteriores, se deduce que el registro de desplazamiento puede


diseñarse de la forma mostrada en la Figura 4, donde los bloques C0, C1, C2 mostrados
en la figura representan circuitos combinacionales.
Q 7 Q6 Q5 Q 4 Q3 Q 2 Q1 Q0

ED EI
C1 C0
E D1 E E D0 E
SI SI1 R1 SD1I1 SI0 R0 SD0I0 SD
C12C11C10 C02C01C00
C2
C 2 C1C0 3
CK

E7 E6 E5E 4 E 3E 2 E1E 0
Figura 4: Diseño del registro de desplazamiento de 8 bits.

Para obtener los 2 puntos con que se califica el apartado B) del problema, es
suficiente con haber llegado de manera razonada a obtener el diseño mostrado en
la Figura 4. Por completitud, a continuación se explica cómo puede realizarse el
diseño de los circuitos C0, C1 y C2.
Los bloques C1 y C0 de la Figura 4 representan los circuitos mostrados en las Figuras 5
y 6 respectivamente. El diseño de estos circuitos se ha realizado de la forma descrita a
continuación.
Diseño de C1. Pueden darse dos posibles desplazamientos hacia la derecha:
1. LDAD ( C2C1C0 =001), en cuyo caso ED1 = ED

2. LDCD ( C2C1C0 =011), en cuyo caso ED1 = Q0


Por consiguiente, ED1 puede calcularse de la expresión siguiente:
E D1 = C2 C1 C0 E D + C2 C1 C0 Q0
Diseño de C0. Pueden darse dos posibles desplazamientos hacia la izquierda:
1. LIAD ( C2C1C0 =010), en cuyo caso EI0 = EI

2. LICD ( C2C1C0 =100), en cuyo caso EI0 = Q7


Por consiguiente, EI0 puede calcularse de la expresión siguiente:
E I0 = C2 C1 C0 E I + C2 C1 C0 Q7

ED EI
E D1 E I0
Q0 Q7
C2 C2
C1 C1
C0 C0
Figura 5: Circuito C1. Figura 6: Circuito C0.
El circuito C2 convierte las señales de control del registro de 8 bits a las
correspondientes señales de control de los registros de 4 bits. Las funciones lógicas de
las tres salidas del circuito C2, y por tanto de las señales de control de los registros de 4
bits, pueden obtenerse de la Tabla 4.

C2C1C0 Operación R- C12C11C10 Operación R1 C02C01C00 Operación R0


8
000 NOP 000 NOP 000 NOP
001 LDAD 001 LDAS 001 LDAS
010 LIAD 010 LIAS 010 LIAS
011 LDCD 001 LDAS 001 LDAS
100 LICD 010 LIAS 010 LIAS
101 Carga paral. 101 Carga paral. 101 Carga paral.
110 NOP 110 NOP 110 NOP
111 NOP 111 NOP 111 NOP
Tabla 4: Entradas de control de los registros de 4 bits y de 8 bits para cada operación.

Las funciones lógicas son las siguientes:


C12 = C02 = C2 C1 C0 + C 2 C1 C0 + C 2 C1 C0
C11 = C01 = C2 C1 C0 + C 2 C1 C0 + C 2 C1 C0 + C 2 C1 C0
C10 = C00 = C2 C1 C0 + C 2 C1 C0 + C2 C1 C0 + C2 C1 C0
Simplificándolas, empleando mapas de Karnaugh, se obtiene:
C12 = C02 = C2 C1 + C2 C0
C11 = C01 = C1 C0 + C2 C0 + C2 C1
C10 = C00 = C0
El circuito C2, síntesis de estás funciones lógicas, es mostrado en la Figura 7.

C11 = C01

C12 = C02

C2
C1 C10 = C00
C0
Figura 7: Circuito C2.
2007 Septiembre

Test:
1.- ¿Cuál es la velocidad máxima de transferencia que se puede conseguir con un disco formateado con
entrelazado doble y 8 sectores de 16 Kbytes por pista, y una velocidad de rotación de 4500 rpm.?
A) 9600 Kbytes/seg. B) 4800 Kbytes/seg.
C) 3490,91 Kbytes/seg. D) Ninguna de las anteriores
2.- Cuál es el tamaño en bytes de una memoria caché con correspondencia asociativa por conjuntos que tiene la
siguiente longitud de sus tres campos: ETIQUETA 24 bits, CONJUNTO 8 bits y PALABRA 8 bits. La caché tiene
4 bloques por conjunto y su longitud de palabra es de 2 bytes.
A) 256 Kbytes B) 512 Kbytes C) 1024 Kbytes D) Ninguna de las anteriores
3.- El formato de instrucción de un procesador hipotético es el siguiente: los 4 bits más significativos almacenan el
código de operación y los restantes 12 bits contienen la dirección de memoria. El formato de almacenamiento de
los números enteros es el siguiente: el bit más significativo contiene el signo (0: positivo; 1: negativo), y los 15 bits
restantes la magnitud. La CPU contiene tres registros internos: el contador de programa (PC), el registro de
instrucción (IR) y el acumulador (AC). La lista de los códigos de operación incluye los siguientes: 00012 (cargar
AC desde memoria), 00102 (almacenar AC en memoria), 10002 (restar al AC de memoria), 10012 (sumar al AC de
memoria). Si las posiciones de memoria A0F16 y 3A016 contienen respectivamente: X e Y, señale cuál es el
contenido de la posición de memoria 3A016 una vez ejecutadas las cuatro instrucciones siguientes: 13A016,
9A0F16, 93A016, 2A0F16.
A) Y B) X+2Y C) 2X+Y D) X
4.- Empleando un procesador de una dirección (procesador con acumulador) con un banco de registro Ri, indicar
qué operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store R1, Mult R1, Div X,
Store X.

1
2 Estructura y Tecnología de Computadores II

A) X = ((X+Y+Z) 2)X2 B) X = ((X+Y+Z)2)X


C) X = (X+Y+Z) 2 D) Ninguna de las anteriores
5.- ¿Cuál es la representación en complemento a 2, con una longitud de palabra de 8 bits, de x = −5610 ?

A) x = 10111000 2 B) x = 11001000 2

C) x = 110001112 D) Ninguna de los anteriores


6.- Empleando únicamente una ROM, se pretende diseñar un comparador de dos números de 4 bits que genere las
funciones “mayor que”, “menor que” e “igual que”. Indique cuál de las siguientes ROM podría emplearse.
A) 24 palabras, 4 bits/palabra B) 28 palabras, 4 bits/palabra
C) Las dos anteriores D) Ninguna de las anteriores
7.- Si TP, TI y TD denotan el tiempo de CPU que se necesita para realizar una transferencia de una sola palabra
empleando E/S controlada por programa, con interrupciones y con DMA respectivamente, se verifica la relación:
A) TP<TI<TD B) TP<TD<TI C) TD<TI<TP D) Ninguna de las anteriores
8.- El tamaño máximo de la memoria de control de un computador es de 220 palabras. La parte de control del
formato de una microinstrucción (de la unidad de control microprogramada) de este computador emplea 8 bits
para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un
campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para
seleccionar una única señal de condición de las 32 señales disponibles. ¿Cuál es el tamaño de las
microinstrucciones en bits?
A) 20 B) 35 C) 52 D) Ninguna de las anteriores

Solución

1.- La velocidad máxima de lectura del disco se consigue cuando se lee un único sector del disco.
Tamaño del sector: 16 Kbytes
Velocidad de giro: 4500/60 rev/seg
Tiempo necesario en dar un giro completo el disco: 60/4500 seg
Tiempo de lectura del sector: (60/4500)/8 seg. = 9,375 seg.
Velocidad máxima: 16 Kbytes / ((60/4500)/8) seg = 9600 Kbytes/seg
Respuesta: A (9600 Kbytes/seg)
2.- [Ver la sección 2.4.3 del libro base de teoría]. El enunciado indica que la memoria caché interpreta la dirección
de la memoria principal de la forma siguiente:
ETIQUETA 24 bits, CONJUNTO 8 bits, PALABRA 8 bits
El tamaño de la memoria caché se calcula haciendo las siguientes consideraciones:
• Puesto que son necesarios 8 bits para especificar el conjunto, la caché dispone de 28 conjuntos.
• Según se indica en el enunciado, tiene 4 bloques por conjunto.
• Son necesarios 8 bits para direccionar una palabra dentro del bloque, con lo cual tiene 28 palabras en cada
bloque.
ETC2 - Examen septiembre 2007 3

• El enunciado indica que la longitud de cada palabra es de 2 bytes.


De todo lo anterior se sigue que el tamaño de la caché es el siguiente:
(28 conjuntos)×(4 bloques/conjunto)×(28 palabras/bloque)×(2 bytes/palabra) = 219 bytes = 512K bytes
Respuesta: B (512K bytes)
3.- Las instrucciones realizan las siguientes acciones:
• 13A016: Carga el contenido de la posición de memoria 3A016 en el AC (AC=Y)
• 9A0F16: Suma el contenido de la posición de memoria A0F16 en el AC. Como resultado, en el AC se
obtiene: X+Y.
• 93A016: Suma el contenido de la posición de memoria 3A016 en el AC. Como resultado, en el AC se
obtiene: X+2Y.
• 2A0F16: Almacena el contenido de AC en la posición de memoria A0F16.
Por tanto:
• Contenido de A0F: X + 2Y
• Contenido de 3A0: Y
Respuesta: A(Y)
4.- El resultado de la ejecución de la secuencia de instrucciones propuesta es:
((( X + Y + Z ) X )2 ) / X = (( X + Y + Z )2 X2) / X = ( X + Y + Z )2 X
Respuesta: B( X= (( X + Y + Z )2 ) X )
5.- En el apartado 4.1.5 del libro de teoría se explica cómo calcular el complemento a 2 . En el problema 4-46 se
convierten varios números de representación decimal a complemento a 2.
5610 = 001110002
Para calcular el complemento a 2 de ese número, se complementan todos los bits del número y al resultado se
le suma la unidad:
-5610 = 11001000 C2

Respuesta: B( x = 11001000 2 )
6.- La pregunta está basada en el problema 4-44. En un caso general para se necesitará una memoria ROM de un
tamaño mínimo:
(2 núm. entradas) palabras × (núm. salidas) bits/palabra
En el caso del comparador propuesto el número de entradas es 4 + 4 = 8, y el número de salidas es 3, por lo que
se necesitará una memoria ROM de un tamaño mínimo de 28 palabras × 3 bits/palabra.
La respuesta A propone una capacidad con un número de palabras inferior al necesario y no vale. Sin embargo
la respuesta B tiene capacidad mayor que la necesaria por lo que se podría emplear para diseñar el comparador.
Respuesta: B( 28 palabras × 4 bits/palabra)
7.- El tiempo de CPU es mayor en la E/S controlada por programa, inferior en la E/S por interrupciones y la
técnica que emplea menos tiempo de la CPU es la E/S por DMA.
Respuesta: C(TD<TI<TP)
4 Estructura y Tecnología de Computadores II

8.- [Ver problema 7.2 del libro de problemas]. Como el tamaño máximo de la memoria de control es de 2020
palabras, se necesitan reservar 20 bits para la dirección. Si la microinstrucción tiene X bits de longitud, de los
cuales 8 bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 5
(25=32) para seleccionar una única señal de condición, y por lo tanto, X-8-2-5=20 -> X=20+8+2+5=35
De esta forma, el tamaño de las microinstrucciones es de 35 bits.
Respuesta: B (35)

Cuestiones teórico-prácticas:
1.- Justificar el resultado de la pregunta 1 del test.
2.- Justificar el resultado de la pregunta 2 del test.
3.- Justificar el resultado de la pregunta 3 del test.

Solución

1.- Esta pregunta ya ha sido contestada a la hora de resolver el test.


2.- Esta pregunta ya ha sido contestada a la hora de resolver el test.
3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

Problema:
Se desea construir un sistema de memoria con las siguientes características:
• Palabra de memoria de 16 bits.
• 512K palabras de espacio direccionable.
• 64K palabras de sólo lectura en las direcciones más bajas; el resto del espacio direccionable será de
lectura/escritura.
Para ello se dispone de los siguientes módulos en cantidad suficiente:
• RAM de 64K x 8 bits.
• RAM de 128K x 16 bits.
• ROM de 16K x 16 bits.
• Decodificadores varios.
Cada uno de los módulos de memoria y los decodificadores cuentan con una entrada de selección SC, activa en alta
(SC = 1), que permite habilitar su funcionamiento.
Se pide lo siguiente:
ETC2 - Examen septiembre 2007 5

A) Diseñar el sistema de memoria requerido, indicando detalladamente la conexión de las líneas de datos, de
dirección y de control. Justificar las decisiones de diseño adoptadas.
B) Indicar en qué módulos de memoria se encuentra almacenada la palabra con la siguiente dirección en
hexadecimal 186A0.

Solución

A) La Figura 1 muestra el número de líneas de datos y de dirección que pueden entrar a cada uno de los chips de
memoria del problema. Dado que las primeras 64K palabras deberán ser de ROM, parece claro que ese espacio de
memoria deberá construirse utilizando cuatro módulos de ROM de 16K x 16 bits. Las 448K palabras restantes
deberán construirse utilizando módulos de RAM. Aunque existen diferentes posibilidades, la más razonable
parece colocar dos módulos de RAM de 64K x 8 bits a continuación de los módulos de ROM. Entre ambos tipos de
memoria se han completado 128K palabras de 16 bits. Una vez hecho esto, se colocan tres módulos de RAM de
128K palabras x 16 bits para completar el resto del espacio hasta las 512K palabras.

Figura 1: Módulos de memoria del problema

La Figura 2 muestra la distribución de los módulos de memoria, la conexión de las líneas del bus de datos y de
direcciones, así como la lógica de selección de dichos módulos. Se utiliza un primer decodificador de 2 a 4 para
seleccionar uno de entre cuatro módulos de 128K palabras, haciendo uso de las líneas A18 y A17. Las tres salidas
de más peso se conectan a las entradas de selección SC de los tres módulos de RAM de 128K palabras. La salida de
menos peso se usa para habilitar un segundo decodificador, de 1 a 2 (también podrían usarse puertas lógicas), que
permite seleccionar entre las 64K palabras superiores (las de RAM) o las inferiores (de ROM), haciendo uso de la
línea A16. Si se activa la salida de menos peso del decodificador, dicha salida habilita a su vez a un tercer
decodificador, de 2 a 4, que permite seleccionar uno de los cuatro módulos ROM de 16K palabras haciendo uso de
las señales de control A15 y A14.
Las líneas de dirección de menos peso entran directamente a cada uno de los chips correspondientes. Puede
observarse que todas las líneas de dirección intervienen de una u otra manera en la selección de datos dentro de
cada chip.
6 Estructura y Tecnología de Computadores II

Figura 2: Esquema de la unidad de memoria y su lógica de selección

B) La palabra con dirección hexadecimal 186A0 es, en binario, la dirección siguiente (representándola en 19 bits,
ya que hay 19 líneas de direcciones):
001 1000 0110 1010 0000
Puede verse que esta dirección habilita la salida 0 del decodificador inferior, con lo que se activa el
decodificador intermedio. A su vez, la línea A16 está a 1, por lo que se habilita la pareja de módulos RAM de 64K x
8. En consecuencia, el dato está en estos módulos. Puede verse también que la dirección hexadecimal 186A0 es en
decimal la dirección 100000, lo que se corresponde con el rango de direcciones almacenado en dicha pareja de
módulos, que va desde 64K palabras a (128K palabras-1).
Test

1.- La memoria de un ordenador consta de 15 módulos independientes conectados a un


bus de memoria común. En una operación de escritura cada uno de estos módulos
únicamente ocupa el bus del sistema al comienzo de la operación durante un 20% del
tiempo total del ciclo de escritura. El 80% restante del tiempo de ciclo de escritura, el
módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura
de dichos módulos de memoria pueden solaparse (pero sólo puede haber una petición en
un instante de tiempo), ¿en cuánto se ve incrementada la velocidad máxima de
almacenamiento de la memoria de este ordenador en relación a la velocidad de un único
modulo?
A) En nada B) En 5 veces C) En 10 veces D) Ninguna de las anteriores.

2.- Un sistema jerárquico de memoria tiene una memoria caché de 512 palabras,
dividida en bloques de 16 palabras y con un tiempo de acceso de 15 nseg, y una
memoria principal de 4096K palabras con un tiempo de acceso de 150 nseg. Cuando se
produce un fallo, primero se mueve el bloque completo a la memoria caché y después se
lee el dato desde la caché. Si la tasa de acierto de la caché es del 95%, ¿cuál es el tiempo
de acceso medio de este sistema?
A) 135 nseg B) 150 nseg C) 180 nseg D) Ninguna de las anteriores.

3.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de


control. Indique si las siguientes afirmaciones son verdaderas:

I
s0/ c3

S0 S1 s / c S2 S3
I/c0, c1 0 2 s2/c2,c3

s1/ c3
I. La unidad de control se puede implementar usando dos MUX (22), un registro de
cuatro bits y una memoria ROM de 24 palabras con 16 bits por palabra.

II. La unidad de control se puede implementar usando un MUX (22), un registro de dos
bits y una memoria ROM de 23 palabras con 16 bits por palabra.

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

4.- Una memoria caché asociativa por conjuntos dispone de 8 conjuntos y utiliza
bloques de 32 palabras, siendo su capacidad total de 4096 palabras. La memoria
principal tiene una capacidad de 8192K palabras. ¿Cuántos bits hay en los diferentes
campos del formato de dirección?
A) Etiqueta: 10, Conjunto: 8, Palabra: 5 B) Etiqueta: 12, Conjunto: 8, Palabra: 5
C) Etiqueta: 15, Conjunto: 3, Palabra: 5 D) Ninguna de las respuestas anteriores.

5.- Un multiplicador binario de 2 números de 8 bits cada uno se puede realizar con una
memoria ROM de la siguiente capacidad:
A) 29 palabras × 16 bits/palabra B) 216 palabras × 8 bits/palabra
C) 216 palabras × 16 bits/palabra D) 216 palabras × 9 bits/palabra

6.- Un computador dispone de un canal multiplexor que controla 3 unidades de disco y


2 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 500
Kbytes/seg, y las de cinta de 250 Kbytes/seg. Si en lugar de un canal multiplexor se
utilizase un canal selector con esos mismos dispositivos, la velocidad máxima de
transferencia de este canal con respecto al multiplexor sería:
A) 4 veces mayor. B) 4 veces menor. C) Igual. D) Ninguna de las anteriores.

7.- Determinar el número mínimo de palabras que podría tener una instrucción que
especifica dos direcciones en un computador cuya memoria es de 16M palabras. Las
palabras de memoria son de 8 bits. Los operandos pueden direccionar todo el mapa de
memoria. El código de operación es de 8 bits y emplea para ambos operandos un
direccionamiento directo o absoluto.
A) 3 B) 6 C) 9 D) Ninguna de las anteriores.

8.- Indique si las siguientes afirmaciones son verdaderas:


I. El formato horizontal de microinstrucciones permite que existan microinstrucciones
de bifurcación condicional.
II. El formato horizontal de microinstrucciones permite tener memorias de control más
pequeñas que el formato vertical.

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

1. Si se tuviese un único módulo, la velocidad máxima se calcularía como el número de


accesos entre el tiempo empleado para ello. Si sólo hay un módulo se realizará un
acceso cada 100 unidades de tiempo, es decir, en el 100% del ciclo de escritura,
independientemente de qué parte de ese tiempo se emplee en el uso del bus, dado que se
sólo se tiene un módulo para realizar todas las operaciones.

Con 15 módulos se podrían dar hasta 15 accesos, pero como se invierte un 20% del
tiempo de acceso (1/5 del tiempo total), en que el módulo de memoria utilice el bus,
solamente se podrán solapar 5 módulos al mismo tiempo (cada 100 unidades de tiempo
se pueden gestionar como máximo 5 accesos). Luego para gestionar los 15 accesos se
necesitan 300 unidades de tiempo. Conclusión: con 15 módulos la velocidad es 5 veces
mayor. Con 10 también sería 5 veces y con 50 también.

Respuesta: B (En 5 veces)

2. [Ver el apartado 2.4.1. del libro de teoría]. El tiempo medio de acceso ta viene dado
por la expresión:

ta= h × tca + (1-h) × tp

donde:
ƒ h es la tasa de acierto.
ƒ tca es el tiempo medio de acceso a la Mca.
ƒ tp es el tiempo medio de acceso a la Mp.

En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria


caché, 15 nseg. La probabilidad de acierto es del 95 % (0,95).

En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde
la memoria principal a la memoria caché y luego, según el enunciado, se mueve la
palabra que ha producido el fallo desde la caché a la CPU. Luego en caso de fallo:

1. Hay que mover 16 palabras (un bloque) desde la memoria principal, lo que lleva
16×150 nseg = 2400 nseg.
2. Después se mueve una palabra desde la caché, lo que emplea otros 15 nseg.

Luego en caso de fallo se tarda 2415 nseg. La probabilidad de un fallo de referencia es


del 100 % - 95 % = 5 % (0,05).

El tiempo medio de acceso de este sistema de memoria será por tanto:

(0,95×15 nseg) + (0,05 × 2415 nseg) = 14,25 nseg + 120,75 nseg = 135 nseg.

Respuesta: A (135 nseg)


3. [Ver el apartado 5.5.8 del libro de teoría y problema 5-22 del libro de problemas].

Como la transición entre los estados no está regida por una única señal de condición en
cada caso (véase la transición desde S2 en la que se tienen en cuenta dos condiciones
diferentes), la unidad de control no puede realizarse empleando un único Mux de 2n que
es lo que se propone en la afirmación II.

Empleando la generalización de la selección por campo que aparece en el problema 5-


22, se tiene que:

ƒ n = 2, puesto que hay 4 estados.


ƒ q = 4, puesto que hay 4 señales de condición (I, s0, s1, s2).
ƒ m = 4, puesto que hay 4 señales de control que se deben generar (c0, c1, c2 y c3).
ƒ p = 2, puesto que la transición desde S2 depende de dos condiciones.

Por lo tanto sería suficiente con utilizar:

ƒ p=2 MUX de 4 entradas


ƒ 1 registro de log2q+n=2+2=4 bits
ƒ 1 memoria ROM de 2n+p palabras × (p×log2 q+n+m) bits = 24 palabras× (2×log2
4+2+4)=24 palabras × 10 bits por palabra.

Este razonamiento conlleva a que la afirmación I es válida, puesto que la ROM tiene
tamaño suficiente.

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

4. Se tiene una memoria caché asociativa por conjuntos donde el número de conjuntos q
= 8 (=23). La capacidad total de la memoria caché es de 4096 palabras (o sea 211
palabras) estructurada en bloques de 32 (=25) palabras cada uno de ellos.

La capacidad de la memoria principal es de 8192K palabras (es decir 213 x 210 = 223),
por tanto el formato de la dirección de una palabra de memoria necesita 23 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 32 palabras en cada bloque de memoria principal, se necesitan 5 bits para el
campo de palabra. Como se tienen 8 conjuntos, son 3 los bits que se dedican al campo
de conjunto. Por tanto 23-3-5 = 15 son los bits que se dedican al campo de etiqueta.

Respuesta: C (Etiqueta: 15, Conjunto: 3, Palabra: 5)

5. Para conocer el tamaño adecuado de la memoria ROM que se necesita, hay que darse
cuenta de que el producto de un número binario de 8 bits con otro número binario de
otros 8 bits, da como resultado un número binario de 16 bits. Por tanto la memoria
ROM pedida debe ser capaz de almacenar todos los resultados de multiplicar 2 números
binarios de 8 bits. Si el resultado de cada multiplicación ocupa 16 bits, serán 216 los
posibles resultados de llevar a cabo estas multiplicaciones. Por tanto la ROM necesaria
debe tener una capacidad igual a la descrita en la respuesta C.

Respuesta: C (216 palabras × 16 bits/palabra)

6. [Véase el apartado 3.6.2 del libro de teoría]. La máxima velocidad de transferencia


del canal multiplexor es la suma de las velocidades máximas de todos los dispositivos
que están conectados a él. Por tanto un canal multiplexor que controla 3 discos y 2
cintas tendría una velocidad de:

V = 3*Vdisco + 2*Vcinta = 1500 + 500 = 2000 Kbytes/segundo.

Por otro lado, el canal selector tendrá como velocidad máxima la del elemento más
rápido conectado a él, puesto que en cada momento sólo puede transmitir con un
dispositivo. En nuestro caso el elemento más rápido es el disco, que tiene una velocidad
de transferencia de 500 Kbytes/segundo. Por tanto, la velocidad del canal selector será
4 veces menor que la del multiplexor.

Respuesta: B (4 veces menor)

7. [Ver el apartado 6.2.1 del texto de teoría]

Como el tamaño de memoria es de 16M palabras = 24 × 220 palabras = 224 palabras, cada
campo de dirección de la instrucción necesitaría 24 bits, de forma que una instrucción
con dos direcciones necesitaría 24+24+8 = 56 bits (24 correspondientes a cada uno de
los campos de dirección y 8 correspondiente al código de operación). Como las palabras
de memoria según el enunciado son de 8 bits, para cada instrucción se necesitarán como
mínimo 7 palabras de memoria.

Respuesta: D (Ninguna de las anteriores)

8. [Ver apartados 7.2 y 7.3 del libro de teoría].

Afirmación I: Si. El hecho de que existan microinstrucciones de bifurcación condicional


es independiente del formato que tenga la microinstrucción.

Afirmación II: No. Es justo lo contrario. El formato vertical utiliza longitudes de


palabra más reducidas y por lo tanto requiere memorias de control más pequeñas.

Respuesta: B (I: si, II: no)

Cuestiones teórico-prácticas
Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1
del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.
Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3
del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema

Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4
ciclos máquina (CPI = 4) dispone de un sistema de interrupciones con un tiempo de
reconocimiento de interrupción de 100 ns. Este procesador se conecta a un disco
magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de
interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de
servicio que ejecuta 20 instrucciones. Se desea determinar lo siguiente:
A) (1 pto) Capacidad de entrada de datos (ancho de banda) máxima en bytes/segundo a
través del sistema de interrupciones.
B) (1 pto) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m.
(revoluciones por minuto).
C) (1 pto) Si el disco se conecta a través de DMA operando por robo de ciclo y cada vez
que se le concede el bus transmite 8 bytes, calcular el tiempo que el DMA roba a la
CPU durante la lectura de un sector.
D) (1 pto) Porcentaje de tiempo que la CPU dedica a la E/S durante la operación del
DMA si el disco opera a la velocidad determinada en el apartado B).
Nota: Considerar que 1Mbyte = 106 bytes.

Solución al problema

En la figura se muestran los elementos que intervienen en el problema:

Memoria CPU E/S


1024 bytes
RSI ↑ INT
- 20 200 MHz ó
- ↓ CPI=4 DMA 128 sectores

ω rpm

Solución apartado A)

A partir de la frecuencia del procesador se calcula el tiempo de ciclo (tc) del mismo,
que es la inversa de la frecuencia. Por tanto con una frecuencia de 200 MHz ⇒ tc = 5 ns.

El tiempo que dura una operación de E/S por interrupción (tint) es la suma del
tiempo que se emplea en el reconomiento de la interrupción (100 ns) más el tiempo
empleado en ejecutar la rutina que gestiona dicha interrupción. Esta rutina consta de 20
instrucciones, cada una de ellas de 4 ciclos y sabemos que el tiempo empleado por ciclo
es de 5 ns, (dato que se obtiene a partir de la frecuencia del procesador). Por tanto, el
tiempo de una operación de E/S por interrupción es el siguiente:

tint = 100 ns + 20 instrucciones × 4 ciclos/instrucción × 5 ns/ciclo = 500 ns.

Durante este tiempo se transmiten 8 bytes, por lo que el ancho de banda (bytes/seg) a
través del sistema de interrupciones será el número de bytes transmitido entre el tiempo
que se tarda en transmitir:

Ancho de banda = 8 bytes / (500 × 10-9 sg )= 16×106 bytes/sg = 16 MB/sg

(Recuérdese que se ha tomado 1MByte=106 bytes, tal y como se indica en el enunciado)

Solución apartado B)

El disco magnético tiene 128 sectores/pista y 1.024 bytes/sector. Por tanto, el número
de bytes/pista se calcula como:

1.024 bytes/sector × 128 sectores/pista = (210x27) bytes/pista = 217 bytes/pista

Por otro lado, para calcular la velocidad máxima de rotación es necesario conocer el
ancho de banda del disco. Como el disco está conectado al procesador a través del
sistema de interrupciones, su ancho de banda debe ser menor o igual que el ancho de
banda del sistema de interrupciones (calculado en el apartado A) del problema).

Para calcular el ancho de banda del disco se debe multiplicar el número de bytes/ pista
por la velocidad a la que se opera con cada una de esas pistas, por tanto:

Ancho de banda (disco) = 217 bytes/pista × ω pistas/min = 217 × ω bytes/min =


= 217 × ω / 60 bytes/segundo

Donde ω = velocidad angular en rpm (pistas/min)

Como el Ancho de banda (E/S interrupción) ≥ Ancho de banda (disco) ⇒

16× 106 bytes/seg ≥ 217 × ω / 60 bytes/seg ⇒

ω ≤ 60 × 16 × 106 / 217 = 7324,21 rpm = 122 rps

Solución apartado C)

Nuestro sistema dispone de:

ƒ Un disco magnético donde cada sector = 1024 bytes


ƒ Las operaciones de DMA durante la lectura de un sector son:
(1024 bytes/sector) / (8 bytes/operación) = 128 operaciones/sector

ƒ Cada operación ocupa 1 ciclo y el tiempo empleado por ciclo es de 5 ns ⇒

Tiempo robado a la CPU = 128 operaciones × 5 ns/operación = 640 ns


Solución apartado D)

Se tiene que:

ƒ Tiempo de lectura de una pista es equivalente a la inversa de la velocidad


angular de lectura de cada pista calcula en el apartado B), es decir, (1/122) sg =
8157 µs.

ƒ Como se tienen 128 sectores / pista, el tiempo de lectura de un sector será


igual al tiempo de lectura de una pista dividido entre el número de sectores por
pista que tiene el disco, es decir, 8157 µs / 128 = 64 µs

ƒ Por último, el porcentaje de tiempo que la CPU dedica a la E/S se calculará


como el tipo robado a la CPU entre el tiempo empleado en leer un sector, todo
ello expresado en porcentajes, por tanto, 100 × 640 ns / 64000 ns = 1 %
Test

1.- Indique cuántos módulos de memoria ROM de 2n palabras × 1 bit/palabra serían


necesarios para diseñar un circuito combinacional que sume un número de n bits y otro
de 2n bits.

A) 22n×(2n+1). B) 23×(2n+1). C) 23×(2n). D) Ninguna de las anteriores.

2.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S0,
S1, S2, S3) y dos señales de condición (I, s0). Para implementar esta unidad de control, se
han usado dos elementos de memoria tipo D y se ha realizado la asignación de estados
siguiente: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}.
Estado presente Próximo estado
Q1 Q0 I s0 I s0 I s0 I s0
00 00 00 01 01
01 11 10 11 10
10 11 01
11 11 01
11
11 11
01 00
11 11
01 00
11

A la izquierda, se muestra la tabla de transición de estados. Indique si las siguientes


afirmaciones, acerca de la función de entrada al segundo elemento de memoria, son
verdaderas:
A) D1 = s0 ⋅ Q1 + Q1 ⋅ Q0 + Q1 ⋅ Q0
B) D1 = s0 ⋅ Q0 + Q1 ⋅ Q0 + Q1 ⋅ Q0
C) Las dos afirmaciones anteriores son correctas.
D) Todas las afirmaciones anteriores son falsas.

3.- Un computador posee un registro índice Ri cuyo contenido en un momento dado es,
(Ri)=A01 (expresado en hexadecimal). El computador tiene una memoria de 4K
palabras de 12 bits. Cada palabra de memoria contiene un valor igual a su dirección
desplazada a la izquierda tres posiciones (desplazamiento LICD de tres posiciones). Por
ejemplo: el contenido de la dirección 000 es 000, el de la 001 es 008, el de C03 es 01E,
etc, todos ellos expresados en hexadecimal. La próxima instrucción que va a ejecutar el
computador contiene un operando referenciado a través de un modo de
direccionamiento indexado respecto al mencionado registro índice Ri. Sabiendo que el
contenido del campo de dirección de la instrucción es 3AB, indicar cuál es el valor, en
hexadecimal, del operando referenciado:

A) D46 B) DAC C) D66 D) Ninguna de las anteriores

4.- En el sistema de la figura, BR representa la línea de petición de bus y BG la de


autorización. En un momento dado, mientras CONT3 está haciendo uso del bus,
CONT4 activa su línea de petición, y a continuación lo hace CONT2 y por último
CONT1. Cuando CONT3 deje de utilizar el bus, ¿cuál será el próximo dispositivo que
asumirá el control del bus?
BR BUS

TERMINADOR
DEL BUS
ARBITRO BG

CONT1 CONT2 CONT3 CONT4

A) CONT1 B) CONT2 C) CONT4 D) Ninguna de las anteriores.

5.- En un computador que funciona a una velocidad de 108 ciclos/segundo, una


instrucción emplea, en promedio, 4 ciclos máquina en ser ejecutada y en 2 de esos
ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 1
ciclo en la transferencia de una palabra. Indique si las afirmaciones precedentes son
verdaderas:

I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de


50.000.000 palabras/seg.
II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos
es de 25.000.000 palabras/seg

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

6.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista


de los valores del registro argumento, del registro de máscara, del registro etiqueta y del
contenido de la memoria, ¿cuál sería el valor del registro de marca?

0 0 0
0 1 1
0 1 1
0 0 0
1 1 0
A) B) C) D) Ninguna de las anteriores
1 0 0 1 1 0 1 0 ARGUMENTO
1 0 0 1 0 1 0 1 MÁSCARA

1 1 1 0 1 1 1 1 1 ?
1 1 1 0 1 1 0 1 0 ?
ETIQUETA 1 1 0 0 1 0 0 0 0 ? MARCA
0 1 0 1 0 0 1 1 0 ?
0 1 1 0 1 1 0 0 0 ?

7.- Se desea construir un multiplicador binario que multiplique dos números de 8 y 16


bits, respectivamente. Para ello se utilizarán exclusivamente dos módulos ROM de 64K
palabras × 16 bits/palabra y sumadores binarios paralelos de 8 bits. ¿Cuál es el mínimo
número necesario de sumadores de este tipo?

A) 4 B) 3 C) 1 D) 2

8.- Indique si las siguientes afirmaciones son verdaderas:

I. El formato horizontal de microinstrucciones permite tener las señales de control ya


decodificadas, por lo que su ejecución es más rápida que el formato vertical.
II. El formato horizontal de microinstrucciones permite tener varias señales de control
de un mismo subcampo activas a la vez.

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

Solución al test

1. Se desea diseñar un circuito combinacional que sume un número n bits y otro de 2n


bits empleando para ello tantos módulos de memoria ROM de 2n palabras × 1
bit/palabra como sean necesarios. El tamaño total de la ROM necesaria, resultante de la
conexión de estos módulos, se calcula teniendo en cuenta que:

• La memoria ROM resultante deberá tener n + 2n = 3n líneas de dirección, es


decir, 23n palabras.
• Dado que el resultado de sumar un número de n bits, con otro de 2n bits, es un
número de 2n+1 bits, cada palabra de la ROM resultante deberá tener 2n+1 bits.

A consecuencia de lo anterior, la ROM resultante debe tener la siguiente capacidad


total:
23n palabras × (2n+1) bits/palabra

Puesto que esta memoria debe construirse usando módulos de 2n palabras/módulo × 1


bit/palabra, es preciso emplear:

(23n palabras ×(2n+1) bits/palabra ) / (2n palabras/módulo × 1 bit/palabra)


= (23n /2n) × (2n+1) módulos = 23n-1 × ((2n+1)/n) módulos.

Se debe tener en cuenta que el número de módulos resultantes debe ser entero.
Respuesta: D) Ninguna de las anteriores.

2. [Ver el apartado 5.5.5 del texto de teoría]. Tal y como se aprecia en los diagramas de
Karnaugh correspondientes a la implementación del diagrama de estados de la pregunta
se puede apreciar que las dos soluciones propuestas en A) y en B) son correctas. Por lo
que la respuesta correcta es la C.

Respuesta: C (Las dos afirmaciones anteriores son correctas).

3. [Ver el apartado 6.2 y sección 4.9 del texto de teoría]. En el direccionamiento


indexado el campo de dirección de la instrucción especifica la dirección de comienzo
denominada base, mientras que el índice se encuentra en un registro índice específico.
El cálculo de la dirección efectiva se efectúa sumando el contenido del registro índice al
valor de la base.

En nuestro caso la base es 3AB = 0011 1010 1011 y el índice es A01 = 1010 0000 0001.
Si se suman ambos números se tiene como resultado 1101 1010 1100. Ahora bien, el
operando, que es sobre el que pregunta el enunciado, será esta dirección de memoria
desplazada mediante desplazamiento LICD tres posiciones.

Esto es: 1101 0110 0110 = D66

Respuesta: C (D66).
4. [Ver el apartado 3.4.5 del texto de teoría]. Como es un sistema daisy-chaning con
interrupciones encadenadas, el periférico más cercano al árbitro es prioritario porque se
le pregunta primero a la hora de conceder el bus, independientemente de cuando haya
solicitado su uso. Aunque CONT1 es el último en solicitar el bus, mientras lo haga antes
de que CONT3 acabe de usarlo, como está más próximo al árbitro, tomará el bus antes
que CONT4 y que CONT2.

Respuesta: A (CONT1).

5. [Ver el apartado 3.5.2. del texto de teoría]. Datos del problema:

ƒ V = 108 ciclos/s.
ƒ 4 ciclos/instr.
ƒ 2 ciclos sin uso del bus.
ƒ 1 ciclo/pal_transf.

I. DMA transparente, transmite cuando la CPU no está utilizando el bus.

((108 ciclos/s)/(1 ciclo/pal_transf.)) / ((4 ciclos/instr.)/(2 ciclos/intr.) =


5 × 107pal_transf./s.

Por tanto la primera afirmación es cierta.

II. Por robo de ciclo: Cuando el DMA toma el control del bus lo retiene durante un sólo
ciclo. Por tanto, el DMA por robo de ciclos transmite en el ciclo de instrucción más
el tiempo que se tarda en transmitir una palabra:

(108 ciclos/s) / (4 ciclos/instr. + 1 ciclo/palabra) = 2 × 107 pal_transf. /seg.

Por tanto la segunda afirmación es falsa.

Respuesta: B (I. si, II. no).

6. [Ver el apartado 2.5.2 del texto de teoría]. A la hora de calcular el valor del registro
de marca sólo hay que tener en cuenta las palabras activas, es decir, aquellas cuyo bit de
etiqueta está a 1. Y de éstas, sólo se consideran los bits del argumento cuyo
correspondiente bit de máscara está a 1. Primero se deben tachar las columnas de la
memoria asociativa cuyo bit del registro de máscara está a cero. Es decir, el argumento
a comparar sería en nuestro caso 1xx1x0x0 (donde las x representan los bits que no se
han de comparar).

1 0 0 1 1 0 1 0 ARGUMENTO
1 0 0 1 0 1 0 1 MÁSCARA

1 1 1 0 1 1 1 1 1 ?
1 1 1 0 1 1 0 1 0 ?
ETIQUETA 1 1 0 0 1 0 0 0 0 ? MARCA
0 1 0 1 0 0 1 1 0 ?
0 1 1 0 1 1 0 0 0 ?
A partir de ahí se consideran sólo las palabras cuyo bit de etiqueta sea 1 y se comparan
los bits no tachados del registro argumento con los bits no tachados de cada una de las
filas de la matriz asociativa. Si son iguales se pone un 1 el correspondiente bit de marca,
en caso contrario se pone un 0. La marca correcta es, por tanto, 01100.

Respuesta: C (01100).

7. [Ver el apartado 4.20 del libro de teoría]. Se deben multiplicar dos números binarios,
uno de 8 bits y otro de 16. El resultado de la operación necesita 24 bits para poder ser
expresado. Se dispone de dos módulos ROM de 64Kpalabras de 16 bits/palabra y de
sumadores binarios paralelos de 8 bits. Como los módulos ROM utilizados almacenan
216 palabras de 16 bits, 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 16 bits Y = (Y15, Y14, …, Y1, Y0), que se puede dividir en dos de 8 bits que sean
Ysup =(Y15, Y14, ..,Y8) e Yinf = (Y7, Y6, …, Y0). El multiplicador será un
X = (X7,…, 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 16 bits. En el primer módulo los 8 bits
menos significativos de la palabra serán ya parte del resultado de multiplicar de forma
completa el número de 16 por el de 8 bits, pero los 8 más significativos se deben sumar
a los 8 menos significativos del segundo módulo ROM, para lo cual se debe usar el
primer sumador binario. La salida de este sumador serán 8 bits más del resultado. Los 8
bits más significativos del segundo módulo ROM deben sumarse al acarreo del sumador
anterior, proporcionando los 8 bits restantes del resultado de la multiplicación.

El esquema se muestra en la figura adjunta.

8
Yinf
ROM
64Kx16 8 8
X
SBP

8
C
8
Ysu ROM 8
64Kx16
SBP
X
0

Respuesta: D (2)
8. [Ver el apartado 7.2.4 del libro de teoría].

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

Cuestiones teórico-prácticas
Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1
del test.

Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.

Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.

Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema
Un computador dispone de un sistema de memoria central constituido por una memoria
principal Mp de 64 Kbytes y una memoria cache Mc asociativa por conjuntos de 2
Kbytes organizada en 2 conjuntos y 4 bloques por conjunto. Se pide lo siguiente:

1) (0.75 pto.) Especifique el número de bits de los campos en que se descompone una
dirección de memoria principal de este sistema.

2) (1.5 pto.) Esquema de correspondencia entre Mp y Mc.

3) (1.75 pto.) Si en un determinado instante el conjunto 0 contiene las etiquetas (10, 8,


9, 11) y el conjunto 1 las etiquetas (8, 9, 10, 11) ¿Qué bloques de Mp están cargados
en Mc?

Solución al problema
[Ver el apartado 2.4.3 del texto de teoría]

Solución apartado 1)

La memoria principal tiene un tamaño de 64Kbytes por lo que para direccionarla hacen
falta un total de 16 bits (216 = 26 × 210 = 64Kbytes).

La memoria caché está dividida en 2 conjuntos, cada uno de ellos con 4 bloques, lo que
hace un total de 8 bloques. Como la memoria caché tiene una capacidad total de
2Kbytes, cada uno de los bloques tiene un tamaño de 2Kbytes / 8 bloque = 256
bytes/bloque.

Mc
256 bytes

256 bytes
C0
256 bytes

256 bytes

256 bytes

256 bytes
C1
256 bytes

256 bytes

A partir de aquí se puede determinar el tamaño de cada uno de los campos en los que se
descompone una dirección de memoria principal, teniendo en cuenta que la
correspondencia que utiliza la caché es asociativa por conjuntos y que por lo tanto el
formato de la dirección consta de un campo etiqueta, un campo conjunto y un campo
palabra:

ƒ Campo palabra: 8 bits. Para direccionar los 256 ( = 28) bytes de cada bloque.
ƒ Campo conjunto: 1 bit. Para seleccionar uno de los 2 ( = 21) conjuntos posibles.
ƒ Campo etiqueta: 7 bits. Los restantes 7 ( = 16 - 8 - 1) bits de la dirección forman
parte del campo etiqueta.

Solución apartado 2)

El número de bloques que hay en Mp es igual a 64Kbytes/256 bytes/bloque = 216/28 =


28 = 256 bloques. El número conjuntos de la caché es 2 y en cada uno se almacenan
hasta 4 bloques de la memoria principal. De esta forma si una dirección D de memoria
principal se expresa como (D15, D14, …, D0), los bits de D0 a D7 indicarán la palabra
dentro del bloque y el bit D8 el conjunto, cuando esté a cero irán al conjunto cero, y
cuando esté a 1 al conjunto uno. Por eso las primeras 256 palabras (B0 , bloque 0 de
memoria principal irán al conjunto 0 de la caché. Este bloque tendrá el campo de
etiqueta con todos los bits a 0). Las siguientes 256 palabras, el bloque B1 de memoria
principal irá al conjunto 1 de la caché y también tendrá el campo de etiqueta con todos
los bits a 0. El siguiente bloque B2 irá al conjunto cero y tendrá los bits del campo de
etiqueta a 0000001, y así sucesivamente. Por tanto a los conjuntos C0 y C1 de la Mc se
aplican los siguientes bloques de la Mp:

Conjunto C0 ← B0, B2, B4, …., B254


Conjunto C1 ← B1, B3, B5, …., B255

Solución apartado 3)

Lo primero es analizar a que bloque de memoria principal corresponde cada etiqueta


dada. Supongamos la etiqueta 10 del conjunto cero, ese bloque tendrá los bits del campo
de etiqueta a 0001010, el bit del campo conjunto a 0 y el resto irán desde el 00000000 al
11111111. Por tanto, como es la etiqueta 10 y en este conjunto sólo se quedan los
bloques pares será el bloque 20 de la memoria principal. Por el mismo razonamiento, la
etiqueta 8 de este mismo conjunto nos dará el bloque 16, la 9 el 18 y la 11 el 22.

En el caso del conjunto 1, el razonamiento es el mismo pero como los bloques que se
quedan en él son los impares, será el número de la etiqueta por dos, mas uno. Así a la
etiqueta 8 en el conjunto uno le corresponde el bloque 17 de memoria principal, a la 9 el
19, a la 10 el 21 y a la 11 el 23. Por tanto:

Conjunto C0
Dirección de bloque en decimal

Etiqueta Conjunto
10 0001010 0 20 ⇒ B20
8 0001000 0 16 ⇒ B16
9 0001001 0 18 ⇒ B18
11 0001011 0 22 ⇒ B22

Conjunto C1
Dirección de bloque en decimal

Etiqueta Conjunto
8 0001000 1 17 ⇒ B17
9 0001001 1 19 ⇒ B19
10 0001010 1 21 ⇒ B21
11 0001011 1 23 ⇒ B23
SOLUCIONES TEST ETC -II JUNIO 2008

A B C D
1 B B D D
2 A A C C
3 B B C C
4 C B A B
5 C C B A
6 B C C D
7 D B D C
8 B D B B
Test

1.- Se tiene un microprocesador con 24 líneas en el bus de direcciones y una memoria


caché que utiliza correspondencia directa y que dispone de 2048 bloques de 64 palabras.
¿Cuántos bloques de memoria principal compiten por el mismo bloque de la memoria
caché?
A) 64 B) 32 C) 256 D) Ninguna de las anteriores.
2.- Se desea diseñar con una memoria ROM una unidad de control con 64 estados, que
genere 26 señales de control totalmente independientes y que reciba 8 señales de
condición pero en cada estado van a ser consultadas como máximo una de ellas. La
memoria ROM usada tiene un coste de 0,20 euros/Kbit. Indicar cuál de las siguientes
afirmaciones es cierta:
A) Si se utiliza un diseño con selección por estado el coste de la ROM es de 1 euro.
B) Si se utiliza un diseño con selección por campo el coste de la ROM es de 1,5
euros.
C) Ambos diseños tienen el mismo coste.
D) Ninguna de las anteriores.
3.- Un computador utiliza microinstrucciones de formato vertical. Sabiendo que el
número máximo de señales de control que puede tener este computador es de 67 y que
el formato de microinstrucción tiene 4 subcampos codificados de 1 bit, 6 subcampos
codificados de 2 bits y otros 3 subcampos codificados de n bits ¿cuál es este número n
de bits?
A) 2 B) 3 C) 4 D) Ninguna de las anteriores.
4.- Un computador de von Neumann tiene una longitud de palabra de 16 bits. Sus
instrucciones máquina ocupan una longitud de 16 o 32 bits (es decir 1 o 2 palabras). En
ambos casos, el código de operación de las instrucciones máquina ocupa un campo de 7
bits. Indique si las siguientes afirmaciones son verdaderas:
I. La memoria principal tendrá un único espacio de direcciones para datos y para
instrucciones.
II. El computador tendrá como máximo 27-1 señales de control distintas.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
5.- Una planta industrial utiliza 4 sensores para poder ser controlada. Cada uno de ellos
puede estar apagado o encendido. Se desea conectar dichos sensores a un computador
que dispone de una memoria de 4K palabras, cada una de las cuales consta de 8 bits. Un
interfaz de comunicación apropiado entre la CPU y los sensores, para que el estado de
dichos sensores pueda leerse desde la CPU como si se tratase del contenido de una celda
de memoria y dicha celda estuviese comprendida entre la dirección 800 y la 9FF, ambas
en hexadecimal, sería:
− − − − − − − −
A) A11 A10 A9 B) A11 A10 A9 C) A11 A10 A9 A8 D) A11 A10 A9 A8
6.- Sean dos números binarios de 16 bits representados en código BCD:
X = 0011 1001 0101 0100, Y = 0011 1001 0000 0110. El resultado de su suma,
representado en código exceso a 3, es:
A) 0111 0010 0101 1010 B) 1010 1011 1001 0011
C) 0111 1000 0110 0000 D) Ninguna de las anteriores.
7.- ¿Cuántos módulos de memoria ROM de 2n-1 palabras × 2n bits/palabra serían
necesarios para diseñar un circuito combinacional que multiplique dos números de 2n
bits?
A) 2n-1 B) 22n+1 C) 23n+2 D) Ninguna de las anteriores.
8.- En una máquina con 16 registros y un registro de instrucción (RI) de 16 bits ¿cuál
sería el número máximo de instrucciones que podríamos tener si todas las instrucciones
tienen un tamaño de una sola palabra y un único formato “cod_op r1, r2”, donde r1 y r2
son dos registros y cod_op el código de operación de la instrucción?
A) 256 B) 516 C) 128 D) Ninguna de las anteriores.
Solución al test

1. [Ver el apartado 2.4.3 del libro de texto]. El número de bloques de memoria principal que
compiten por el mismo bloque de la memoria caché se calcula de la siguiente manera:

Nº de bloques de Mca = 2048 bloques = 211 bloques


Nº de bloques de Mp = (224 palabras de Mp)/(26 palabras/bloque) = 218 bloques
(Nº de bloques de Mp)/( Nº de bloques de Mca) = 218/211 = 27 = 128 bloques de la
memoria principal compiten por el mismo bloque de memoria caché.

Respuesta: D (Ninguna de las anteriores)

2. [Ver el apartado 5.8 del libro de texto]. De los datos de enunciado se concluye que:
Como hay 64 estados: n = 6
Como hay 26 señales de control: m = 26
Señales de condición: q = 8 = 23

Afirmación A: Si se diseña la unidad de control por selección por estado se utiliza la


memoria ROM, un registro y un multiplexor de selección por estado. La capacidad de la
ROM es:
2n+1 palabras × (n+m) bits/palabra = 27 × 32 bits = (27×25 bits)/(210 bits/1Kbit) = 4 Kbits
Luego el coste es 4 Kbits × 0,20 euros/Kbit = 0,8 euros. La afirmación A es falsa.

Afirmación B: Se tiene en este caso la unidad de control diseñada con memoria ROM,
con un registro y un multiplexor de selección por campo. La capacidad de la ROM es:
2n+1 palabras×(log2 q+n+m) bits/palabras =27×(3+6+26)=(27×35)/210 Kbits= (35/8) Kbits
Luego el coste es de (35/8) Kbits × 0,20 euros/Kbit = 0,875 euros. La afirmación B es
falsa.
La afirmación C es falsa, pues el coste en A y B no es el mismo.

Respuesta: D (Ninguna de las anteriores)

3. [Ver el apartado 7.2.4 del libro de teoría]. El número total de subcampos es de 13


(4+6+3=13), cada uno de los cuales requiere de un decodificador que sólo puede tener
una de sus salidas activadas en un determinado instante de tiempo. Por lo tanto, el
computador podrá tener activadas como máximo 13 señales de control o microórdenes
simultáneamente.
En general, un subcampo de control de j bits de una microinstrucción de formato
vertical puede codificar un total de 2j-1 señales de control. Una codificación se reserva
para especificar el caso en que ninguna de las señales de control de ese subcampo se
encuentre activa.

En nuestro caso:
4 subcampos de 1 bit: 4 × (21-1) = 4 señales de control
6 subcampos de 2 bits: 6 × (22-1) = 18 señales de control
3 subcampos de n bits: 3 × (2n-1) señales de control

Luego se debe verificar que: 4+18+(3 × (2n-1)) = 67, de donde: 3 × (2n-1) = 45, o bien
(2n-1) = 15, de donde n = 4

Respuesta: C (4)

4. Afirmación I: [Ver el apartado 1.1 del libro de teoría]. La primera afirmación es


cierta porque precisamente una de las características de la arquitectura von Neumann es
que la memoria tiene un único espacio de direcciones para datos e instrucciones.

Afirmación II: Cuando se habla de instrucciones máquina no tiene sentido hablar de


señales de control, sino de códigos de operación. Si estuviésemos hablando de
microinstrucciones si tendría sentido hablar de señales de control. Por tanto la segunda
afirmación es falsa.

Respuesta: B (I: sí, II: no).

5. La memoria tiene un tamaño de 4K palabras = 22 × 210 palabras = 212 palabras, luego


tiene direcciones de memoria de 12 bits.
Los sensores funcionan como una celda de memoria, por tanto se tendrá que direccionar
las celdas comprendidas entre la 800 (1000 0000 0000) y la 9FF (1001 1111 1111). En
este espacio de direcciones de memoria los tres bits más significativos de la dirección
están fijos (100) y el resto de bits puede ser indistintamente 0 ó 1. Por tanto, si se
numeran las líneas de dirección desde la A0 a la A11, siendo A0 la menos significativa los
− −
bits con direccionamiento común equivalen a la expresión lógica A11 A10 A9 .

− −
Respuesta: B ( A11 A10 A9 )

6. Los números X e Y dados en el enunciado en BCD expresados en decimal son X =


3954, Y = 3906. La suma en decimal X+Y= 7860.
Si se codifica esta suma en el código exceso-3 se tiene que: X+Y = 1010 1011 1001
0011

Respuesta: B (1010 1011 1001 0011).

7. El producto de dos números de 2n bits da como resultado un número de 4n bits. Hay


24n productos posibles. Luego hacen falta 24n palabras de 4n bits cada una. Como los
módulos disponibles son de 2n-1 palabras de 2n bits/palabra, harán falta:

(24n×4n)/( 2n-1×2n) = 23n+1×2 = 23n+2 módulos

Respuesta: C (23n+2 módulos)

8. El registro de instrucción (RI) es el registro en el que se carga la instrucción leída.


Por lo tanto, el número de bits del RI coincide con el número de bits del formato de la
instrucción, 16 según el enunciado.
Como hay 16 registros se precisan como mínimo 4 bits para poder direccionar
cualquiera de ellos. Se tiene dos campos de dirección de la instrucción por lo que se
precisan 4+4= 8 bits. Por lo tanto, para el código de operación se tienen 16-8 =8, siendo
28=256 el número máximo de instrucciones con este formato que se pueden tener.

Respuesta: A (256)

Cuestiones teórico-prácticas

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


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema

Un computador dispone de un sistema de memoria central constituido por una memoria


principal Mp y una cache Mc. La Mp tiene una capacidad de 128K palabras y está estructurada
como un conjunto de módulos de 256 palabras. La Mc que utiliza una correspondencia directa
tiene un tamaño de 2K palabras con bloques de 256 palabras. Se pide lo siguiente:

A) (0.5 pto) Número de módulos de Mp.


B) (1 pto) Interpretación de los bits de la dirección física del sistema de memoria para la Mp
C) (1 pto) Interpretación de los bits de la dirección física del sistema de memoria para la Mc.
D) (1.5 ptos) Correspondencia de los bloques de la Mp con los bloques de la Mc.

Solución al problema

[Ver el apartado 2.4.3 del libro de teoría]

A) Número de módulos de Mp = 128K palabras/ 256 palabras/modulo = 27×210/28


módulos = 29 módulos = 512 módulos.
B) La memoria principal tiene un tamaño de 128K palabras por lo que para direccionarla
hacen falta un total de 17 bits (217 = 27 × 210 = 128K palabras).
En la Figura 1 se muestra la interpretación de los bits de la dirección física de memoria
para la Mp. Está dividida en dos campos:

• Para direccionar las 256 (= 28) palabras de cada módulo de Mp hacen falta 8 bits.
• Los restantes 9 (= 17 - 8) bits de la dirección especifican el número de módulo de
Mp .

9 8

nº de módulo Palabra dentro del módulo

17

Figura1

C) En la Figura 2 se muestra la interpretación de los bits de la dirección física de


memoria para la Mc. Como la memoria caché utiliza una función de correspondencia
directa, está dividida en tres campos:

• Campo palabra: 8 bits. Para direccionar las 256 (= 28) palabras de cada bloque.
• Campo bloque: 3 bits. Para seleccionar uno de los 2K palabras / 256 palabras/bloque = 8 = 23
bloques de la Mc.
• Campo etiqueta: 6 bits. Los restantes 6 (= 17 - 8 - 3) bits de la dirección forman parte del
campo etiqueta.

6 3 8

etiqueta línea palabra

17

Figura 2

D) En la correspondencia directa cada bloque de la memoria principal se transforma en


un único bloque de la memoria caché siguiendo la función de transformación siguiente:

i = j modulo C

donde i es el número de bloque asignado en la Mc al bloque de la Mp; j es el número de


bloque de Mp y C el número de bloques que tiene la Mc.

Según lo anterior, la correspondencia de los bloques de la Mp con los bloques de la Mc


se muestra a continuación:

Mc Mp
MB0 ← B0, B8, … , B496, B504
MB1 ← B1, B9, … , B497, B505
MB2 ← B2, B10, … , B498, B506
MB3 ← B3, B11, … , B499, B507
MB4 ← B4, B12, … , B500, B508
MB5 ← B5, B13, … , B501, B509
MB6 ← B6, B14, … , B502, B510
MB7 ← B7, B15, … , B503, B511
Test

1.- Un computador de 13 líneas de direcciones tiene una memoria de M palabras y


utiliza una entrada/salida localizada en memoria. Si se supone que cada uno de los
periféricos que puede conectarse ocupa 4 direcciones y que el número máximo de
periféricos de estas características que se conectan es de 210. ¿Cual es el tamaño de la
memoria del computador?

A) 213 palabras. B) 210 palabras. C) 212 palabras. D) Ninguna de las anteriores.

2.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el


código de operación y 10 para la dirección del operando. Si la codificación en binario de
una instrucción de bifurcación, con direccionamiento relativo al contador de programa,
es 110011 0001011000, y está originando un salto a la posición 600 (en decimal) ¿cuál
es el contenido del contador de programas (en decimal) antes de la ejecución de dicha
instrucción?

A) 688 B) 512 C) 490 D) Ninguna de las anteriores.


3.- Los valores del registro de argumento y de máscara de una memoria asociativa son
los siguientes:
ARGUMENTO 0 1 0 0 1 0
MASCARA 1 0 1 0 1 1

Si en la primera posición de la memoria está almacenado el valor 0 y las siguientes


celdas de memoria tienen el valor de la celda inmediatamente anterior incrementado en
1, siendo el valor de la última celda el 7, ¿cuál sería el valor del registro de marca?
A) 00100010 B) 01001011 C) 10101100 D) Ninguno de los anteriores.
4.- ¿Cuántos sumadores binarios completos de 1 bit (SBCs) harían falta para construir
un sumador binario serie de n bits?
A) n B) 2n C) log2 n D) Ninguna de las anteriores.

5.- Un computador digital tiene 88 señales de control diferentes, siendo 5 de ellas


mutuamente excluyentes. Indique si las siguientes afirmaciones son verdaderas:
I. Si se utilizan microinstrucciones de formato vertical el tamaño del campo
codificado sería de 3 bits como mínimo.
II. Al existir señales de control mutuamente excluyentes se puede utilizar el
formato de microinstrucción horizontal.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

6.- Se tienen dos ordenadores. La memoria del primer ordenador consta de 20 módulos
independientes conectados a un bus de memoria común y la del segundo consta de 15
módulos de las mismas características. En una operación de escritura cada uno de estos
módulos únicamente ocupa el bus del sistema al comienzo de la operación durante un
20% del periodo del tiempo total del ciclo de escritura. El tiempo de ciclo de escritura
restante, el módulo lo emplea para almacenar el dato internamente. Si las operaciones
de escritura de dichos módulos de memoria pueden solaparse (pero sólo puede haber
una petición en un instante de tiempo), indique cual de las siguientes afirmaciones es
cierta.
A) la velocidad máxima de acceso del ordenador con 15 módulos es superior al de 20.
B) la velocidad máxima de acceso del ordenador con 20 módulos es superior al de 15.
C) la velocidad máxima de acceso de los dos ordenadores es la misma.
D) Ninguna de las anteriores.
7.- Tenemos un disco magnético con 100 pistas, se han realizado las peticiones de las
pistas 20, 80, 46, 15, 75. La posición inicial de la cabeza lectora es 50. Si se emplea la
planificación SSTF, cual es la longitud media de búsqueda.
A) 5 B) 20 C) 30 D) 100

8.- Se desea diseñar una unidad de control mediante un registro de estado y una
memoria ROM. Si se necesita emplear q señales de condición, n bits para la
codificación del estado y m señales de control. El tamaño de la memoria ROM será:
A) 2n+q palabras × (n+m) bits B) 2q palabras × m bits
C) m palabras × n bits D) Ninguna de las anteriores.
Solución al test

1. Se utiliza E/S localizada en memoria, lo que significa que las líneas de control de
lectura y escritura son compartidas entre la memoria y el controlador de E/S. Por tanto:

Nº total direcciones = Nº direcciones de palabras de memoria + Nº de direcciones de


palabras en periféricos
Donde:

Nº total direcciones = 213 (pues el número de líneas de dirección del computador que
son 13)

Nº direcciones de palabras de memoria = M palabras.

Nº de direcciones de palabras en periféricos = P direcciones.

Por tanto 213 = M + P.

Por otro lado, cada periférico ocupa 4 direcciones y el número máximo de periféricos es
de 210. Por tanto:

210 periféricos = (P direcciones) / (4 direcciones/periférico). Entonces P = 212


direcciones.

Con lo que M = 213 – 212 = 212 palabras.

Respuesta: C (212 palabras)

2. Se tiene como formato de instrucción:

Código de operación (6 bits) Dirección[operando] (10 bits)

Una instrucción de bifurcación con direccionamiento relativo al contador de programa


(CP) se puede expresar:

Código de operación (6 bits) Desplazamiento (10 bits)

donde la dirección final del operando se obtiene como [CP]+Desplazamiento.

Del enunciado el Desplazamiento es 10110002 = 26+24+23 = 64+16+8 = 88.


Como la dirección a la que se llega después del salto es la 600:
600=[CP]+Desplazamiento=[CP]+88, de donde [CP] = 512
Respuesta: B (512)

3. En la figura siguiente se muestran los valores que, según el enunciado, están


almacenados en las distintas celdas de memoria, así como los registros de argumento y
máscara.
En una memoria asociativa sólo se consideran los bits del argumento cuyo
correspondiente bit de mascara está a 1. Por lo tanto, las columnas sombreadas de la
memoria asociativa no se consideran porque no van a ser comparadas.
El argumento a comparar de acuerdo con el registro de máscara es: 0X0X10. Por lo
tanto las únicas palabras que darán un 1 en su bit del registro de máscara serán la
Palabra 1 y la Palabra 6.
Por lo tanto el registro de marca contiene 0 0 1 0 0 0 1 0

0 1 0 0 1 0 ARGUMENTO
1 0 1 0 1 1 MASCARA

0 0 0 0 0 0 Palabra 0
0 0 0 0 0 1 Palabra 0
0 0 0 0 1 0 Palabra 1
0 0 0 0 1 1 Palabra 0 MARCA
0 0 0 1 0 0 Palabra 0
0 0 0 1 0 1 Palabra 0
0 0 0 1 1 0 Palabra 1
0 0 0 1 1 1 Palabra 0
Registros de
memoria

Respuesta: A (00100010)

4. El diseño de un sumador binario serie requiere la utilización de un único SBC (ver


Apartado 4.1.3 y Figura 4.9 del libro de texto - página 193)

Respuesta: D (Ninguna de las anteriores)

5.
I. Como de las 88 señales de control diferentes, 5 son mutuamente excluyentes, esas 5
señales se deben codificar en un mismo subcampo. Este subcampo debe tener como
mínimo 3 bits. Con este subcampo se tendrían 8 (23) codificaciones: 5 asociadas a cada
una de las 5 señales de control, 1 codificación para indicar el caso en que no se active
ninguna de las señales de control codificadas en este subcampo y las 2 codificaciones
restantes no se utilizarían. La afirmación I es cierta.
II. Esta afirmación es cierta. En el formato de microinstrucción horizontal hay un
subcampo asignado a cada señal de control, independientemente de que sean
excluyentes o no.

Respuesta: A (I: sí, II: sí.)


6. Con un único módulo, la velocidad máxima se calcula como el número de accesos
entre el tiempo empleado para ello. Por tanto, con un sólo módulo se realizará un acceso
cada 100 unidades de tiempo, es decir, en el 100% del ciclo de escritura,
independientemente de que parte de ese tiempo se emplee en el uso del bus, dado que
sólo se tiene un módulo para realizar todas las operaciones.

Con 20 módulos se podrían dar hasta 20 accesos, pero como se invierte un 20% del
tiempo de acceso en que el módulo de memoria utilice el bus, o sea 20/100 del tiempo
total (=1/5), solamente se pueden solapar 5 módulos al mismo tiempo,
independientemente que tengamos 10, 15 ó 20 módulos. Lo que conlleva 400 unidades
de tiempo para gestionar los 20 accesos (100 unidades de tiempo cada 5 accesos).
Conclusión con 20 módulos la velocidad es 5 veces mayor que si se tiene un único
módulo. Y con 15 también.

Respuesta: C (la velocidad máxima de acceso de los dos ordenadores es la misma.)

7. La planificación SSTF Shortest Service Time First) consiste en atender la petición


que requiere el menor movimiento de la cabeza de lectura/escritura desde su posición
actual.

La tabla siguiente resume los resultados de esta estrategia de planificación, teniendo en


cuenta que la posición inicial es la pista 50.

Próxima pista a 46 20 15 75 80
la que se accede
Número de 4 26 5 60 5
pistas que se
atraviesan

El número total de saltos de pista es de 100 (4+26+5+60+5). Por lo tanto la longitud


media de búsqueda es LMB = Total de saltos de pista / número de lecturas = 100 / 5 =
20
Respuesta: B (20)

8. En la estructura básica de una unidad de control que emplea una memoria ROM y un
registro, el número de palabras de la dirección es el número de señales de condición
más el número de bits necesarios para codificar el estado (q+n). Como la salida de la
memoria ROM corresponden con el estado y las señales de control, el tamaño de la
palabra en la memoria ROM será la suma de los dos (n+m).

Respuesta: A ( 2n+q palabras × (n+m) bits)

Cuestiones teórico-prácticas
Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1
del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.
Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2
del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema

Sea un disco de cabezas móviles con 16 superficies, 5000 pistas por superficie, 40
sectores por pista y 640 bytes cada sector. De toda esta información el 80% es
información neta. La velocidad de rotación es de 6000 rpm.
A) (2 pto) Calcule la capacidad neta del disco y su velocidad de transferencia.
B) (1 pto) Calcule el tiempo que transcurre entre interrupción e interrupción si el
disco interrumpe a la CPU por cada envío de 32 bits.
C) (1 pto) Si se supone que el disco está conectado a una CPU que ejecuta 1000
MIPS (millones de instrucciones por segundo), determine el número de
instrucciones que puede tener como máximo la rutina de tratamiento de
interrupciones (RTI) para que no se pierda ningún dato. Suponga que la secuencia
de reconocimiento de interrupción (SRI) tiene una duración de 20 ns, y que todas las
instrucciones tienen el mismo tiempo de ejecución.
Nota: Considerar que 1Mbyte = 106 bytes

Solución al problema
Solución apartado A)

Puesto que el 80% de un sector es información neta, su capacidad neta será de:

640 (bytes/sector ) × 0,8 = 512 bytes/sector.

El número de sectores de que dispone el disco es:

16 superficies × 5000 pistas/superficie × 40 sectores/pista = 3.200.000 sectores

Por lo tanto, la capacidad neta del disco es 3.200.0000 × 512 = 1.638.400.000 bytes
(1.638,4 Mb).

La velocidad de transferencia la proporciona el número de bytes que se puede transferir


en una vuelta completa. Cada pista contiene
40 sectores/pista × 640 bytes/sector = 25.600 bytes de información en cada pista.

La velocidad de transferencia viene determinada por transmitir esta información en el


tiempo que tarda el disco en dar una vuelta (trot). Como la velocidad de rotación es de
6000 rpm y en un minuto caben 60 segundos, el tiempo de rotación será la inversa de la
velocidad de rotación pero expresada en segundos.

trot = (60/6.000) = 0,01 s

Y la velocidad de transferencia asociada:

vtransf = (25.600/0,01) = 2.560.000 bytes/s

Solución apartado B)

Ya que el módulo de E/S del disco solicita una interrupción cada 32 bits (4 bytes), el
tiempo que transcurre entre interrupcon e interrupción es :

4/2.560.000 = 1,5625 × 10-6 s = 1.562,5 ns.

Solución apartado C)

Para que no se pierda ningún dato, la RTI debe haber concluido antes de la llegada de
una nueva solicitud de interrupción; por tanto, la CPU dispone de 1562,5 ns para
ejecutar la SRI y la RTI, quedando para esta última 1.562,5 – 20 = 1542,5 ns. Como se
está suponiendo que todas las instrucciones tienen el mismo tiempo de ejecución, la
ejecución de cada una de ellas son 1/1000×106 segundos = 1 ns y la RTI puede ejecutar
un máximo de 1.542 instrucciones.
Test

1.- Un computador emplea un sistema con memoria principal de 128 palabras y una
memoria caché de 32 palabras. La organización de la memoria caché es totalmente
asociativa y el tamaño del bloque es de 8 palabras. Se emplea el algoritmo de
reemplazamiento FIFO. Si inicialmente la memoria caché está totalmente vacía, calcular
el número de fallos cuando se lee la secuencia de direcciones de la memoria principal:
0000100, 1000001, 0000101, 0010011, 0100010, 1000100, 0000111.
A) 3 fallos. B) 4 fallos. C) 5 fallos. D) Ninguna de las anteriores.
2.- Un controlador de DMA está transmitiendo palabras a memoria mediante la
estrategia de robo de ciclos. Cuando la CPU dispone en exclusiva del bus, las
instrucciones emplean, en promedio, C ciclos de reloj en ser ejecutadas, aunque en 2 de
ellos no requieren el acceso al bus. La frecuencia de reloj del computador es de 120×106
ciclos/seg. Si la CPU deja de ejecutar 107 instrucciones por segundo cuando el
controlador de DMA está realizando una transmisión, ¿Cuántos ciclos de reloj tarda en
promedio en ejecutarse cada instrucción?
A) 2 B) 3 C) 4 D) Ninguna de las anteriores.
3.- Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene
142 instrucciones en su repertorio de instrucciones. Un determinado programa emplea
instrucciones de dos tipos: el primer tipo utiliza un registro de entrada y un registro de
salida y el segundo tipo un registro de salida y un operando inmediato. Suponiendo que
se impone que todas las instrucciones tengan una longitud múltiplo de 8 bits:
I. El número de bits que se necesitan para el primer tipo de instrucciones es de 24 bits.
II. El número de bits que se necesitan para el segundo tipo de instrucciones es de 32 bits.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.
4.- Considere una CPU en la que tanto las instrucciones como los datos tienen una
longitud de 12 bits. El formato de las instrucciones es el siguiente: los 4 bits más
significativos de la instrucción representan el código de operación y los otros 8 bits
representan la dirección de memoria. A continuación, se muestra una lista parcial de los
códigos de operación:
0111: Cargar el registro acumulador desde memoria.
1101: Almacenar en memoria el contenido del registro acumulador.
1100: Sumar al acumulador el contenido de una dirección de memoria. El
resultado se almacena en el acumulador.
Indique cual de los siguientes fragmentos de programa suma al contenido de la dirección
de memoria 3B16 el contenido de la dirección de memoria 3C16 y almacena el resultado
en la dirección de memoria 3C16:
A) 73C16, C3B16, D3C16 B) 73B16, C3C16, D3B16
C) Los anteriores son correctos. D) Ninguno de los anteriores.
5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y
C unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 106
bytes/seg., y las de cinta de 102 bytes/seg. Si la velocidad máxima de transferencia
agregada a este sistema es de 3 ×106 bytes/seg. ¿De cuantas unidades de cinta
disponemos?
A) 1000 B) 10000 C) 20000 D) Ninguna de las anteriores.
6.- El número máximo de palabras de la memoria de control de una unidad de control
microprogramada con direccionamiento explícito con dos direcciones por
microinstrucción es 212 palabras. Si las microinstrucciones emplean 13 bits para los
campos de control, ¿cuál es la longitud de palabra, en bits, de la memoria de control?
A) 24 B) 30 C) 37 D) Ninguna de las anteriores.
7.- Sean dos números de 12 bits representados en código BCD: X = 010100011001 e Y
= 001101000111. El resultado de la resta X – Y expresado en código exceso a 3, es:
A) 010010100101 B) 001101110010
C) 000110010100 D) Ninguno de los anteriores.

8.- Un bloque de decisión de un diagrama ASM puede ser sustituido en un circuito


secuencial mediante:
A) Una memoria tipo D. B) Una puerta OR.
C) Una puerta AND. D) Ninguna de las anteriores.

Solución al test

1. La caché emplea correspondencia totalmente asociativa. El algoritmo utilizado es


FIFO (First-In First-Out). Se sustituye el bloque más antiguo en caché.

De los datos del enunciado se puede calcular el número de bloques de la memoria


caché:

CMc = Palabras de Mc / Tamaño del bloque = 32 / 8 = 4 bloques.

Como la memoria principal es de 128 palabras, el número de bits de cada dirección de


memoria principal es:
n = log2 128 = 7 bits

Como el tamaño del bloque es de 8 palabras, el campo palabra de la dirección de Mp


tendrá p = log2 8 = 3 bits y por lo tanto, el número de bits que definen la etiqueta viene
determinado por:

e = n – p = 7 – 3 = 4 bits

Por lo tanto, la dirección desde el punto de vista de la Mc tendría los siguientes campos:

n = 7 bits

Etiqueta (4 bits) Palabra (3 bits)

En la siguiente tabla se recoge la secuencia de direcciones leídas y los resultados que


producen al ir a buscarlas a Mc.

Dirección de memoria
Fallo o Acierto Explicación
principal leída
0000 100 Fallo Se carga el bloque j=0 en el bloque i=0
1000 001 Fallo Se carga el bloque j=8 en el bloque i=1
0000 101 Acierto ---- El bloque j=0 de la Mp ya está cargado
0010 011 Fallo Se carga el bloque j=2 en el bloque i=2
0100 010 Fallo Se carga el bloque j=4 en el bloque i=3
1000 100 Acierto ---- El bloque j=8 de la Mp ya está cargado
0000 111 Acierto ---- El bloque j=0 de la Mp ya está cargado

- La respuesta por lo tanto es de 4 fallos

Respuesta: B (4 fallos)

2. Se debe calcular la velocidad de ejecución sin DMA y con DMA por robo de ciclos.
La velocidad de ejecución es el número de instrucciones que el computador es capaz de
ejecutar en un segundo.

Si no hay DMA el computador tarda en promedio C ciclos en ejecutar cada instrucción.


Por lo tanto la velocidad de ejecución es:

Vsin DMA = frecuencia (ciclos/seg.) / (nº ciclos / instrucción) = 120 ×106 / C = (120 / C)
×106 instrucciones/seg.

Con una estrategia de DMA con robo de ciclos, cada vez que se ejecuta una instrucción
se cede el bus al controlador de DMA para que realice la transferencia de una palabra.
Por tanto, en este caso, son C+1 ciclos los que se requieren de instrucción a instrucción.
Luego la velocidad de ejecución es:
Vcon DMA = frecuencia (ciclos/seg.) / (nº ciclos / instrucción) = 120 ×106 / (C+1) = (120 /
(C+1)) ×106 instrucciones/seg.

El número de instrucciones que dejan de ejecutarse por segundo viene dado por:

V sin DMA – V con DMA = (120 / C) ×106 – (120 / (C+1)) ×106 = [(12 / C) – (12 / (C+1))]
×107

Que según el enunciado son 107, por lo tanto

[(12 / C) – (12 / (C+1))] ×107 =107

Por tanto: 12(C+1) – 12 C = C(C+1), por lo que C2 + C – 12 = 0. Por tanto C = 3 o a –


4. Como estamos hablando de número de ciclos por instrucción C = 3

Respuesta: B (3)

3. Como se tienen 142 instrucciones, se necesitan 8 bits para identificar una instrucción
(27 = 128 < 142 < 256 = 28). Que el procesador tenga 32 registros significa que hacen
falta 5 bits para codificar el identificador del registro y sabemos que se necesitan 16 bits
por cada operando inmediato. Con estos datos, sólo se tienen que sumar los campos
necesarios para cada tipo de instrucción.
Un registro de entrada y un registro de salida: 8 + 5 + 5 bits = 18 bits que se
redondean a 24 bits.
Un operando inmediato y un registro de salida: 8 + 16 + 5 bits = 29 bits, que se
redondean a 32 bits.
Respuesta: A (I: sí, II: sí.)

4. El formato de la instrucción son 4 bits de código de operación y 8 de dirección de


memoria con la que se trabaja. Los códigos son: 716 es la carga del registro acumulador
desde memoria, D16 es el almacenaje en memoria del contenido del acumulador y C16 es
la suma del acumulador con una dirección de memoria, guardando el resultado en el
acumulador.

Para realizar la suma de esas dos direcciones de memoria se debe:

- cargar el contenido de 3C16 en el acumulador. Por tanto es la instrucción 73C16


- sumar la dirección 3B16 con 3C16. Como la segunda ya está en el acumulador,
usando el código de suma se guarda en el acumulador el resultado de la
operación, por tanto C3B16
- Se guarda el valor del acumulador en 3C16, se usa la instrucción con código de
operación D16. Por tanto D3C16

Respuesta: A (73C16, C3B16, D3C16)

5. La velocidad máxima de un canal multiplexor viene dada por la suma de las


velocidades de los distintos dispositivos que controla. Por lo tanto,
V canal = 2 × 106 + C × 102 = 3×106 bytes/seg.

Lo que supone que C = (3 × 106 – 2 × 106) / 102 = 104 cintas.

Respuesta: B (10000)

6. La memoria de control almacenará las posibles microinstrucciones que se puedan


ejecutar. Como el número máximo de palabras que tendrá la memoria de control es de
212, significa que una dirección de memoria de control requiere para especificarse 12
bits. Como se utiliza direccionamiento explícito con 2 direcciones por microinstrucción,
12×2 = 24 bits que son los necesarios para almacenar dos direcciones de memoria de
control. A estos 24 bits hay que sumarle los 13 que se emplean para los campos de
control. Por lo tanto la anchura de la memoria es de 24+13=37 bits.

Respuesta: C (37)

7. Pasamos cada cifra BCD codificada en binario a decimal y realizamos la resta:


XBCD=0101 0001 1001 = 51910
YBCD=0011 0100 0111 = 34710

XBCD-YBCD= 17210 que si la expresamos en BCD resulta: 0001 0111 0010

Para expresar este resultado en código exceso-3 se tiene que sumar 3, es decir 0011, a
cada cifra expresada en BCD. Realizando esta operación el resultado es: 0100 1010
0101exceso a 3

Respuesta: A (010010100101)

8. El bloque de decisión más sencillo de un diagrama ASM, compuesto por una entrada,
una condición V y dos salidas puede ser sustituido en un circuito secuencial mediante
dos puertas AND y un inversor, tal y como se puede ver en la figura.

Respuesta: D (Ninguna de las anteriores)

Cuestiones teórico-prácticas
Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1
del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.
Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2
del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3


del test.
Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema

Un computador tiene las siguientes características:


• una memoria M.
• un acumulador A.
• un registro de estado de un solo bit: el bit N.
• tres instrucciones de longitud fija y direccionamiento directo:
STA D : M[D] ← <A>
SUB D : A ← <A> - M[D]
JNB D: IF N=1 THEN CP ← D ELSE CP ← <CP> + 1

Codificar tres programas que realicen las siguientes funciones:


A) (1.25 pto) Carga el acumulador con el contenido de la posición de memoria X.
B) (1.25 pto) Suma el contenido de la posición de memoria X al contenido del
acumulador.
C) (1.5 pto) Implementación de un salto incondicional a la posición Y.
Solución al problema

Solución apartado A)

Carga el acumulador con el contenido de la posición de memoria X.

Esta instrucción se puede representar como:

LDA X A ← M[X]

La única forma de llevar M[X] a A es con la instrucción SUB D: A ← <A> - M[D],


llevando previamente 0 a A y M[X] cambiado de signo a M[D].

Inicialmente el acumulador A contiene a, la dirección de memoria M[X] contiene x y la


dirección de memoria M[Y] contiene y.

Las microoperaciones necesarias, los contenidos de A, M[X] y M[Y] y el significado de


cada microoperación se muestran en la tabla siguiente:

Microoperación Contenido Significado


A M[X] M[Y]
inicial a x y Contenido inicial
STA Y: M[Y]←<A> a x a Puesta a cero del acumulador
SUB Y: A←<A>-M[Y] 0 x a (*)
SUB X: A←<A>-M[X] -x x a Cargamos en A –M[X]
STA Y: M[Y]←<A> -x x -x Se replica el contenido de
M[X] en memoria
SUB Y: A←<A>-M[Y] 0 x -x Puesta a cero del acumulador
SUB Y: A←<A>-M[Y] x x -x Almacenamiento del
contenido de M[X] en el
acumulador

(*) Para poner a cero el acumulador se replica su contenido en memoria (STAY) y se


resta de si mismo (SUB Y)

Solución apartado B)

Suma el contenido de la posición de memoria X al contenido del acumulador.

Esta instrucción se puede representar como:

ADD X A ← <A> + M[X]


Inicialmente el acumulador A contiene a, la dirección de memoria M[X] contiene x y la
dirección de memoria M[Y] contiene y.

Las microoperaciones necesarias, los contenidos de A, M[X] y M[Y] y el significado de


cada microoperación se muestran en la tabla siguiente:

Microoperación Contenido Significado


A M[X] M[Y]
inicial a x y Contenido inicial
STA Y: M[Y]←<A> a x a Puesta a cero del
SUB Y: A←<A>-M[Y] 0 x a acumulador
SUB Y: A←<A>-M[X] -a x a Cambio de signo el
contenido del acumulador
SUB X: A←<A>-M[X] -a-x x a Se almacena en el
acumulador –a-x, que es el
resultado deseado cambiado
de signo.
STA Y: M[Y]←<A> -a-x x -a-x Se replica el contenido del
acumulador en M[Y]
SUB Y: A←<A>-M[Y] 0 x -a-x Puesta a cero del
acumulador
SUB Y: A←<A>-M[Y] a+x x -a-x Resta el contenido del
acumulador al contenido de
M[Y] y lo almacena en el
acumulador.

Solución apartado C)
Implementación de un salto incondicional a la posición Y.
Esta instrucción se puede representar como:

JMP Y PC ← Y
Las microoperaciones necesarias son las siguientes:

JNB Y: IF a < 0 salta a Y, esto es, en el caso en que el contenido del acumulador A
sea negativo, N=1 en cuyo caso se salta directamente a la posiciónY, estando por lo
tanto almacenado Y en el contador de programa (CP).
En caso contrario, las microoperaciones necesarias se recogen en la tabla siguiente:
Microoperación Contenido Significado
A M[X] N CP
inicial a x Contenido inicial

STA X: M[X]←<A> a a Fuerzo que N=1 para


SUB X: A←<A>-M[X] 0 a 0 que salte a Y
SUB X: A←<A>-M[X] -a a 1
JNB Y 0 1 Y Salta a Y
MATERIAL PERMITIDO: los libros "Estructura y tecnología de computadores" y "Problemas de estructura y
tecnología de computadores", ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS.
Apellidos: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Nombre: _ _ _ _ _ _ _ _ _ DNI: _ _ _ _ __

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas
correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo
obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera).

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.
1.- A un bus dedicado a E/S se han conectado una memoria principal y tres discos iguales. La velocidad de transferencia
de cada disco es de 4 x 1O7 bits/seg. La longitud de palabra es de 16 bits. Cada transmisión sobre el bus necesita 500 nseg
para enviar el dato y las diferentes órdenes del protocolo. ¿Cuál es el tiempo de ciclo de la memoria principal si se usa un
bus con temporización síncrona?

A) 100 nseg B) 200 nseg C) 400 nseg D) 800 nseg

2.- Indique cuantos módulos de memoria ROM de 2 2n palabras x 1 bit/palabra serán necesarios para diseñar un circuito
combinacional que sume un número de 2n bits y otro de 4n bits:

A) 24 x 6n C) 24 x ( 6n+ 1) D) Ninguna de las anteriores.

3.- Se dispone de un computador cuyo tiempo de acceso medio al sistema de memoria caché y memoria principal es de 18
nseg. Si la tasa de fallo de dicha caché es 0.2 y el tiempo de acceso a la memoria principal es 50 nseg. ¿Cual es el tiempo
de acceso medio a esa memoria caché?

A) 6 nseg B) 10 nseg C) 24.4 nseg D) Ninguna de las anteriores.

4.- El modelo de Glushkov es un modo de representación de sistemas digitales que utiliza un nivel de abstracción por el
cual un sistema digital se descomponen en:

A) Un conjunto de posiciones de memoria, un interfaz con el exterior, una ALU, un buses de datos y una unidad de
control.
B) Una unidad de procesamiento y una unidad de control.
C) Un conjunto de posiciones de memoria, una ALU y un interfaz con el exterior.
D) Ninguna de las anteriores.

5.- Empleando un procesador de una dirección (procesador con acumulador) con un registro Rl, indicar qué operación
calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store Rl, Mult Rl, Mult Z, Div Y, Store X.

A) X= (((X+Y+Z)X) 2/Y)Z B) X= (((X+Y+Z) 2X) Z)/Y


2
C) X= (((X+Y+Z)X) Z)/Y D) Ninguna de las anteriores.

6.- Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de operación
diferentes.
I. Con un formato de instrucción de 6 bits para el código de operación y 12 bits para el campo de dirección es posible
direccionar 163 84 posiciones de memoria directamente.
II. Si la palabra de memoria es de 32 bits se podrán direccionar 2 32 posiciones de memoria utilizando
direccionamiento indirecto.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

7.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son mutuamente
excluyentes entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son
verdaderas:
I. Utilizando formato vertical, el tamaño de los subcampos codificados serían para ambos grupos de señales de 5 bits.
II. Al existir dos grupos de señales de control mutuamente excluyentes no puede utilizarse el formato de
microinstrucción vertical.
A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

8.- Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos con una capacidad de 64 Kb. En
un instante determinado inicia una operación de E/S con una impresora a una velocidad de transferencia de 128 Kb/seg.
Si el controlador de E/S recibe la información que debe enviar a la impresora a una velocidad de lMb/seg, ¿cuánto
tiempo tardará en llenarse por primera vez el buffer suponiendo que inicialmente está vacío, y que recibe y envía
información simultáneamente de forma continua?

A) 0.071 seg. B) 0.143 seg. C) No se puede calcular. D) Ninguna de las anteriores.

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


Cuestión 1 (0. 75 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.5 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 mapa de memoria de un procesador con bus de direcciones de 16 bits y bus de datos de 8 bits está ocupado por 2
módulos de memoria RAM de 8Kx8 y uno de memoria ROM de 16Kx8. Se desea que las posiciones de memoria más
bajas estén ocupadas por la memoria ROM y las más altas por la memoria RAM. Diseñar el circuito de decodificación
necesano.
A) (2 puntos) Proponga un mapa de memoria que utilice los módulos y especificaciones indicadas en el enunciado.
B) (2 puntos) Diseñar el circuito de decodificación pedido, indicando que función realiza cada uno de los elementos
que lo componen.
Test

1.- A un bus dedicado a E/S se han conectado una memoria principal y tres discos
iguales. La velocidad de transferencia de cada disco es de 4 × 107 bits/seg. La longitud
de palabra es de 16 bits. Cada transmisión sobre el bus necesita 500 nseg para enviar el
dato y las diferentes órdenes del protocolo. ¿Cuál es el tiempo de ciclo de la memoria
principal si se usa un bus con temporización síncrona?

2.- Indique cuantos módulos de memoria ROM de 22n palabras × 1 bit/palabra serán
necesarios para diseñar un circuito combinacional que sume un número de 2n bits y otro
de 4n bits:

3.- Se dispone de un computador cuyo tiempo de acceso medio al sistema de memoria


caché y memoria principal es de 18 nseg. Si la tasa de fallo de dicha caché es 0.2 y el
tiempo de acceso a la memoria principal es 50 nseg. ¿Cual es el tiempo de acceso medio
a esa memoria caché?

4.- El modelo de Glushkov es un modo de representación de sistemas digitales que


utiliza un nivel de abstracción por el cual un sistema digital se descomponen en:

A) Un conjunto de posiciones de memoria, un interfaz con el exterior, una ALU, un


buses de datos y una unidad de control.
B) Una unidad de procesamiento y una unidad de control.
C) Un conjunto de posiciones de memoria, una ALU y un interfaz con el exterior.
D) Ninguna de las anteriores.

5.- Empleando un procesador de una dirección (procesador con acumulador) con un


registro R1, indicar qué operación calcula la secuencia de instrucciones: Load X; Add
Y; Add Z; Mult X, Store R1, Mult R1, Mult Z, Div Y, Store X.

6.- Considérese un computador con un microprocesador cuyo juego de instrucciones


permite 60 códigos de operación diferentes.
I. Con un formato de instrucción de 6 bits para el código de operación y 12 bits para
el campo de dirección es posible direccionar 16384 posiciones de memoria
directamente.
II. Si la palabra de memoria es de 32 bits se podrán direccionar 232 posiciones de
memoria utilizando direccionamiento indirecto.

7.- Un computador microprogramado tiene un total de 132 señales de control. De ellas,


un grupo de 16 son mutuamente excluyentes entre sí y otro grupo de 30 son
mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son verdaderas:
I. Utilizando formato vertical, el tamaño de los subcampos codificados serían para
ambos grupos de señales de 5 bits.
II. Al existir dos grupos de señales de control mutuamente excluyentes no puede
utilizarse el formato de microinstrucción vertical.

8.- Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos
con una capacidad de 64 Kb. En un instante determinado inicia una operación de E/S
con una impresora a una velocidad de transferencia de 128 Kb/seg. Si el controlador de
E/S recibe la información que debe enviar a la impresora a una velocidad de 1Mb/seg,
¿cuánto tiempo tardará en llenarse por primera vez el buffer suponiendo que
inicialmente está vacío, y que recibe y envía información simultáneamente de forma
continua?

Solución al test

1. En un bus con temporización síncrona todos los dispositivos conectados a él lo hacen


con una frecuencia de reloj fija. Se suele usar cuando los dispositivos conectados tienen
velocidades de transferencia similares. Partiremos pues de la base que la velocidad de
transferencia de la memoria principal es similar a la de los discos propuestos.

VMP = Vdisco = 4 ×107 bits/seg.

La VMP vendrá definida a su vez como la inversa del tiempo de ciclo de dicha memoria,
suponiendo que es de acceso aleatorio, por tanto si X es el tiempo de ciclo de la
memoria principal, 1/X palabras/seg sería la velocidad de transferencia de la memoria
principal. Con lo que:

VMP = [1 / X (pal./seg.)] × (nº bits/pal.) = 16 / X (bits/seg.)

Por tanto:

X = 16 / VMP = 16 / (4 ×107) = 400 nseg.

Respuesta: C (400 nseg)

2. El número de módulos se calcula teniendo en cuenta que:

• La memoria ROM resultante deberá tener 2n + 4n = 6n líneas de dirección, es


decir 26n palabras
• Que el resultado de sumar un número de 2n bits con otro de 4n bits es un
número de 4n + 1 bits por lo que cada palabra de la ROM resultante deberá tener
4n + 1 bits.

Como consecuencia de lo anterior la ROM resultante debe tener la siguiente capacidad


total:

26n palabras × (4n + 1) bits/palabra

Puesto que esta memoria debe construirse usando módulos de 22n palabras/módulo × 1
bit/palabra, es preciso emplear:

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

24n × (4n + 1) módulos

Respuesta: B (24n × (4n + 1) módulos)

3. La formula que calcula el tiempo de acceso medio de un sistema de memoria caché y


memoria principal viene dada por la siente expresión:

ta = h tca + (1-h) tp

tca es el tiempo de acceso medio de la memoria caché y tp el tiempo de acceso medio de


la memoria principal.
h es la tasa de acierto de la memoria caché, por lo tanto en nuestro caso tendrá el valor
de:

h = 1 - 0.2 = 0.8

Por lo tanto:

tca = [ta -(1-h) tp ] / h


tca = [ 18 – 0.2 · 50 ] / 0.8 = 10 ns

Respuesta: B (10 nseg)

4. Véase el apartado 5.3.3 del texto de teoría, donde se especifica que según el modelo
de Glushkov los sistemas digitales están compuestos únicamente por dos tipos de
componentes:

- Una unidad de procesamiento o ruta de datos, que comprenden elementos de


memoria, la interfaz con el exterior, el conjunto de operadores aritméticos y
lógicos y los caminos de transferencia de datos.

- Una unidad de control, que conociendo el estado de las operaciones, controla la


secuencia de ejecución.

Respuesta: B (Una Unidad de Procesamiento y una de Control)


5. En la tabla siguiente se muestran las instrucciones a ejecutar, su significado, el
contenido del acumulador y el contenido del registro. Ac representa el acumulador,
M[X] representa la posición de memoria de X y R1 representa al registro.

Instrucción Significado Acumulador (Ac) Registro


(R1)
1 Load X Ac ← M[X] X ---
2 Add Y Ac ← Ac+M[Y] X+Y ---
3 Add Z Ac ← Ac+M[Z] X+Y+Z ---
4 Mult X Ac ← Ac×M[X] (X+Y+Z)X ---
5 Store R1 R1 ← Ac (X+Y+Z)X (X+Y+Z)X
6 Mult R1 Ac ← Ac×R1 ((X+Y+Z)X)2 (X+Y+Z)X
7 Mult Z Ac ← Ac×M[Z] ((X+Y+Z)X)2Z (X+Y+Z)X
8 Div Y Ac ← Ac/M[Y] (((X+Y+Z)X)2Z)/Y (X+Y+Z)X
9 Store X M[X]← Ac (((X+Y+Z)X)2Z)/Y (X+Y+Z)X

Luego X = (((X+Y+Z)X) 2Z)/Y

Respuesta: C ( X = (((X+Y+Z)X) 2Z)/Y)

6. La afirmación I indica que para poder disponer de un juego de instrucciones con 60


códigos de operación diferentes es necesario un campo para el código de operación de 6
bits, ya que 26 = 64 > 60.

Por otro lado, para poder direccionar 16384 posiciones de memoria directamente es
necesario un campo de dirección de 14 bits, ya que 214 = 16384.
Por tanto, el formato de instrucción debería ser:

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

Siendo falsa la afirmación I.


La afirmación II es cierta. En el direccionamiento indirecto la dirección efectiva se
encuentra en la posición de memoria referenciada en el campo de dirección de la
instrucción. Por tanto, dado que la palabra de memoria es de 32 bits, se podrán
direccionar 232 posiciones de memoria utilizando direccionamiento indirecto.
Respuesta: C (I: no, II: sí.)

7. La afirmación I es verdadera. Un subcampo codificado con i bits puede codificar a lo


sumo 2i-1 señales de control diferentes. Por este motivo harían falta dos subcampos de 5
bits cada uno.
La afirmación II es falsa. El formato vertical de microinstrucciones saca partido
precisamente del hecho de que existan señales de control mutuamente excluyentes.

Respuesta: B (I: si, II: no.)

8. El buffer recibe datos a una velocidad más elevada de la que transmite, por tanto su
velocidad será:

V = 1Mb/seg – 128Kb/seg. = 220 – 217 = (8–1) ×217 = 7 × 217 bytes/seg.

Tllenado = Capacidad / V = 216 / (7 × 217) = 1/14 seg = 0.071 seg.

Respuesta: A (0.071 seg)

Cuestiones teórico-prácticas
Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1
del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

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


del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3


del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

Problema
El mapa de memoria de un procesador con bus de direcciones de 16 bits y bus de datos
de 8 bits está ocupado por 2 módulos de memoria RAM de 8K×8 y uno de memoria
ROM de 16K×8. Se desea que las posiciones de memoria más bajas estén ocupadas por
la memoria ROM y las más altas por la memoria RAM. Diseñar el circuito de
decodificación necesario.

A) (2 puntos) Proponga un mapa de memoria que utilice los módulos y


especificaciones indicadas en el enunciado.

B) (2 puntos) Diseñar el circuito de decodificación pedido, indicando que función


realiza cada uno de los elementos que lo componen.

Solución al problema
El espacio de direccionamiento consta de direcciones de 16 bits y se subdivide, a partir
de los bits más significativos del bus de direcciones (A15, A14, A13, …), en regiones más
pequeñas hasta que se alcancen las capacidades de los chips de memoria (ver Figura)
Figura Mapa de memoria

Se determinan las expresiones de las entradas de “selección de chip” (CSx) de los


diferentes módulos en función de los bits del bus de direcciones que delimitan la región
del espacio de direccionamiento donde se sitúa el contenido del módulo de memoria de
acuerdo con las especificaciones del problema.
Del mapa de memoria de la figura se sigue lo siguiente:

CSROM = A´15 A’14


CSRAM1 =A15 A14 A13
CSRAM2 = A15 A14 A’13

Se implementa el sistema de decodificación usando los bits más significativos del bus
de direcciones para activar las líneas de control de “selección de chip”. El bus de
direcciones de los módulos de memoria se conectan a los bits menos significativos del
bus de direcciones del procesador. El bus de datos de los módulos se conectan al del
procesador.

Circuito de decodificación

Você também pode gostar