EXAMENES ETC II.pdf

EXÁMENES RESUELTOS ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II INFORMÁTICA SISTEMAS Y GESTIÓN DELEGACIÓN DE ALUMNOS CENTR

Views 43 Downloads 2 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 BR BUS utilizar el bus, ¿cuál será el próximo dispositivo que asumirá el control del bus? A) CONT2 ARBITRO BG B) CONT3 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 registros A, B y C tienen una longitud de 8 bits. A7 representa el bit más significativo del 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 Procesamiento + Unidad de Control) que realice este algoritmo. Se supone que la unidad de procesamiento dispone de los recursos de cálculo necesarios en el algoritmo. Para la unidad de 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 secuencial correspondiente a la unidad de control).

B←X A← Y

A←A+B SI

A7 = 1

A ← A'

NO

B←B+1

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 Bus de direcciones B) Etiqueta: 7 Partición: 8 Palabra: 5 Leer C) Etiqueta: 13 Partición: 4 Palabra: 3 Escribir D) Ninguna de las respuestas anteriores es correcta 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 D) Aislada de memoria

Memoria Principal

UCP

Controlador E/S

Perif. 1

...

Perif. n

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: 1: Declaración de registros : A[5], B[3], R[5]; 2: Inicio: A ← 00001, B ← 100; (números binarios) 3: Bucle: A ← A * B; 4: B ← B - 1; 5: if B 1 then go to Bucle; 6: R ← A; 7: Parar;

a) ¿Cuál es el valor de R al finalizar? ¿Qué operación realiza este algoritmo? b) Diseñar la arquitectura de un sistema digital (Unidad de Procesamiento + Unidad de Control) que realice este algoritmo. Se supone que la unidad de procesamiento dispone de un recurso de cálculo que efectúa la multiplicación. Para la unidad de control especificar sólo su diagrama de estados y las acciones que tiene que efectuar cuando se encuentra en cada uno de los mismos (no es necesario que se haga el diseño del circuito secuencial correspondiente a la 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? 1 ?

1 ?

0 ?

1 ?

1 ?

0 ?

1 ?

0 ?

1 1 0 1 0

1 1 0 0 1

0 0 0 1 0

1 1 1 0 1

1 1 0 0 1

1 0 0 0 1

1 1 0 1 0

1 1 1 0 1

A)

0

0

1

1

0

1

0

1

B)

0

0

1

1

0

1

0

0

C)

1

1

0

0

1

0

1

1

D)

1

1

0

0

0

1

0

1

ARGUMENTO MÁSCARA 0 1 1 0 0

MARCA

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

Nº Pregunta

Junio 94 (1ª semana)

Junio 94 (2ª semana)

Septiembre 94

1 2 3 4 5 6 7 8 9 10

A B B C C D A D D D

C C A B B B B B B A

B D B B C B A B C 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) s = x ⊕ y ⊕ c−1

c = ( x ⊕ y )c−1 + xy 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 (xiY), I (X=Y) y m (X

Q1 Clear

c5 c3

D0

Q0

>

Q0 Clear

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 6 (Unidad 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

c12

UAL

c5

c13

c8

c0 Memoria

CP

c2

c6

s0

c1

Acumulador (AC) c3 RM

c4

c9





••

c10

• c7

c15 RI c14

Reloj s0 Señales de condición

Unidad

c0

de Control

c13

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 Control

Microoperación controlada

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 MICROOP.

SEÑAL CONTROL

APARTADO

PASO

A)

1 2 3

RD ← (RI(Dirección)) RM ← Memoria AC ← (RM)

c14 c0 c9

B)

1 2 3

RD ← (RI(Dirección)) RM ← (AC) Memoria ← (RM)

c14 c10 c1

C)

1 2 3

RM ← (RI(Datos)) Entrada1 ← (RM) AC ← (AC) + Entrada1

c15 c8 c11

D)

1 2 3 4

RD ← (RI(Dirección)) RM ← Memoria Entrada1 ← (RM) AC ← (AC) + Entrada1

c14 c0 c8 c11

E)

1 2 3 4 5 6

RD ← (RI(Dirección)) RM ← Memoria RD ← (RM) RM ← Memoria Entrada1 ← (RM) AC ← (AC) + Entrada1

c14 c0 c2 c0 c8 c11

F)

1 2 3 4

RD ← (RI(Dirección)) RM ← Memoria Entrada1 ← (RM) AC ← (AC) AND Entrada1

c14 c0 c8 c12

G)

1 2 3

RD ← (RI(Dirección)) RM ← Memoria CP ← (RM)

c14 c0 c4

H)

1 2 3

RD ← (RI(Dirección)) RM ← Memoria Si s0 = 1 CP ← (RM)

c14 c0 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 direcciones

ROM 16×4

4

Bus de datos 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 2 ROM 16×4

Módulo 1 ROM 16×4

p3p2p1p0 CS

CS

Módulo 3 ROM 16×4

Módulo 4 ROM 16×4

p4p3p2p1p0

p4

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 01 10 11

00000 00000 00000 00000

001

00 01 10 11

00000 00001 00010 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 01 10 11

00000 00010 00100 00110

011

00 01 10 11

00000 00011 00110 01001

100

00 01 10 11

00000 00100 01000 01100

101

00 01 10 11

00000 00101 01010 01111

110

00 01 10 11

00000 00110 01100 10010

111

00 01 10 11

00000 00111 01110 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%

Dir.

Módulo 1 xxxp4

Módulo 2 p3p2p1p0

Módulo 3 xxxp4

Módulo 4 p3p2p1p0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0

0000 0000 0000 0000 0000 0001 0010 0011 0000 0010 0100 0110 0000 0011 0110 1001

xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx1 xxx0 xxx0 xxx0 xxx1

0000 0100 1000 1100 0000 0101 1010 1111 0000 0110 1100 0010 0000 0111 1110 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 7 6 A) 10 palabras/seg. B) 2 × 10 palabras/seg. C) 6.66 × 10 palabras/seg. 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 x2x1x0 y2y1y0 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 c 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.

UAL

s3 s2 s1 s0

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>Y X=Y Xy

x=y

M

I

x 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

x>y

y2

x=y

M2

xy

m2

•• •

x1

M0

• •





x=y I0

xY

1

0

0

X=Y

0

1

0

XY. 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 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

00

Entradas xi yi 01 10

11

Salida MIm

S0 (igual)

S0

S2

S1

S0

010

S1 (mayor)

S1

S1

S1

S1

100

S2 (menor)

S2

S2

S2

S2

001

Estado presente

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. Q1Q0

00

Entradas xi yi 01 10

11

Salida 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).

xiyi

Q1Q0 00

11

10

x

1

x

11 10

00 01

1

01

xiyi

Q1Q0 01

11

00

1

x

1

01

1

x

x

1

11

1

x

x

1

10

1

x

D1 = xiyiQ0 + Q1

00

1

10

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

Ck



m

Q1 •



I

• D0

yi • Reloj

Q1



Ck

Q0

M

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: 5: 6: 7: 8: 9: 10: 11:

C ← Bus for Contador = 0 to 7 do begin if C(0) ≠ C(1) then A ← A / B else A ← A + B endif Desplazar derecha (C) end 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 ED

Reg. despl.

A c0 c1

B

UAL

Q

c0 c1

c0 c1

Contador

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

c0

MUX

C

0

ED

c Reg. des. c0 1

c1 0

0

ED

A

c Reg. des. c0 1

c2 0

0

ED

B

A

B c0 c1 UAL

c5 c6

Contador

c0 c1

c Reg. des. c0 1 C(1) C(0)

c3 c4

c7 c8

s1 s0= C(0) ⊕ C(1)

Inicio Fin Reloj

Circuito

c0 c1

Unidad de Procesamiento

de 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

S2

S3

s0 s0

S6

s1

S5

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

16

S8

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

Estado de la Unidad de Control

Microoperaciones efectuadas

Señales de control a activar

S0

A ← Bus contador ← 0

c0, c1, c7

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

• S1



S1



S2

c2

• •

c3



S2



s0 = 1



S3

s0

S3

s0 = 0

c0, c1, c7







S4

c1, c6, c5



S4



S5

• c1

• S5



S6

• c4



s1



S6 s1 = 0



S7

• c8

• s1= 1

S7

• S8

S8

Reloj

Figura 96-3-4 Unidad de Control

18

• Clear

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 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 mutuamente excluyentes.

yi =0

yi =1

xi =0

-

p

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]

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 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.

M

UCP

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. S1

s1s0=01

s1s0=11

s1s0=00,10 S0

Clear

s1s0=00,01,10

Carga Reloj

s1=0 S4

s1=1

S2

S3 s0=0

s0=1

S5 s1s0=11

L

Cl

Salidas paralelo Q2

Q1

Q0

Contador módulo 8 E2 E1 E0 H

Habilitación

Entradas paralelo

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]; 2: A ← Bus; 3: B ← Bus; 4: C ← Bus; 5: for Contador = 0 to 3 do 6: begin 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; 11: Parar;

Ck

A

E

ED

B

c0 Reg. Desp. Q

UAL

c1

R

E

Ck c0 c1

Contador Q

c0 c0

c1 S

c1c0

Q(t+1)

c1c0

R

c1c0

Q(t+1)

c0

S

00 01 10 11

Q(t) Carga Des. Dcha. Q(t)

00 01 10 11

A+B A-B A*B A/B

00 01 10 11

Q(t) 0 Q(t)+1 mod 8 Q(t)

0 1

E

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]; Bus-Entrada[8], Bus-Salida[8]; A) Diseñe razonadamente la Unidad de Procesamiento, 2: Declaración de buses: 3: Inicio: X ← Bus-Entrada; utilizando los recursos que considere necesarios. A ← Bus-Entrada; B) Describa todas las señales de control de la Unidad de 4: 5: Test: if X = 255 then go to Sumar; Procesamiento diseñada en A). 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

Nº Pregunta

Junio 97 (1ª semana)

Junio 97 (2ª semana)

Septiembre 97

1 2 3 4 5 6 7 8 9 10

A A D B C A D B A A

C B B D C A D B B C

A D B A C B B D B 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=00,01,10

s1s0=11

s1=0 S4

s1=1

S2

S3

s0=1

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 Carga Reloj

Salidas paralelo

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

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

⇔ Sj



Q D

• Reloj

a)

Sj

Si Determinado por las condiciones Sj

Sk Estados Sucesores

Variables de Condición

Si

Reloj

Si

Demultiplexor

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

s1s0



>

S0



••

s1s0

Set s1s0



c0

s1s0

c1

S1

>



• •

S2

>

c2



s1

• •

S3

> s0

••

S4

>

••

c4 s1

c3 s0



CK Clear

> s0 s1

• •

S5 •



c5

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 actual

s1 s0

Próx. estado

H

L

E2 E1 E0

S. cont.

S0

00 01 10 11

S0 S1 S0 S2

0 1 0 0

0 0 0* 1

xxx xxx xxx 011

c0

S1

---

S4

1

0

xxx

c1

S2

---

S3

1

0

xxx

c2

S3

-0 -1

S4 S5

0 1

1 0

010 xxx

c3

S4

01-

S4 S2

0 1

0* 0

xxx xxx

c4

S5

00 01 10 11

S0 S0 S0 S5

0 0 0 0

1 1 1 0*

000 000 000 xxx

c5

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

Decodificador

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

Inicio S0s1s0 S3s0 S3(s1+s0)

S5 S3 S2 S4 S1 S0

c5 c3 c2 c4 c1 c0

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

CK

0

S0s1s0 S1 S2 S3s0 S4s1

S0

S0 S3

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: 8: 9: 10: 11: 12:

Ck

if C(3) = C(5) then A ← A * B else A ← A - B endif; Desplazar derecha (C); end; Bus ← A; Parar;

B

c0

ED Reg. Desp. Q c1 c0 00 01 10 11

A

E

Q(t+1) Q(t) Carga Des. Dcha. Q(t)

UAL R

c1 c1c0 00 01 10 11

R A+B A-B A*B A/B

E

Ck c0 c1 c1c0 00 01 10 11

Contador Q

c0

c0

c1

Q(t+1) Q(t) 0 Q(t)+1 mod 8 Q(t)

S c0 0 1

S E

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

c0

1

c9

MUX C

0

ED

c Reg. des. c01

c1 0

0

ED

A

UAL

Contador 1

0

c0 c1

Inicio Fin Reloj

c2 0

0

ED

c7 c8

B c0 c1

c Reg. des. c01 C(3)

B

A

2

c Reg. des. c01

c3 c4

C(5)

c5 c6 s0= C(3) ⊕ C(5)

s1

Circuito

c0 c1

Unidad de Procesamiento

de 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 S0

S1

S2

s1

s0

S3 s0

S6 S5

S7

s1

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 de Control

Microoperaciones efectuadas

Señales de control a activar

S1

A ← Bus contador ← 0 B ← Bus

c2

S2

C ← Bus

c3

S0

S3

c0, c1, c7

Ninguna

S6

Ninguna A←A-B Desplazar derecha C Incrementar contador A←A*B Desplazar derecha C Incrementar contador Bus ← A

S7

Ninguna

Ninguna

S4

S5

c1, c5, c4, c8

c1, c6, c4, c8

c9

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 3

s0 s1 s1

4 5

A0

MUX

A1

6 7

ROM

A2 0 1 2

16 palabras × 13 bits

A3

p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0 • • •

Estado futuro Inicio Reloj

Cl Registro

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 Estado

Dirección de la ROM A3 A2 A1 A0

Contenido de la ROM p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0

Presente

Estado presente + Cond. Q2 Q1 Q0 si

Próximo Estado Control Q2 Q1 Q0 c9 c8 c7 c6 c5 c4 c3 c2 c1 c0

S0 S1 S2 S3 S4 S5 S6 S7

0 0 0 0 0 0

0 1

0 0 1 0 0 1

0 1

0 1 0 0 1 0

0 1

0 1 1 0 1 1

0 (si s0 = 0) 1 (si s0 = 1)

1 0 0 1 0 0

0 (si s1 = 0) 1 (si s1 = 1)

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

0 (si s1 = 0) 1 (si s1 = 1) 0 1

1 1 1 1 1 1

0 1

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

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

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

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

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

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

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

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

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

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

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

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

1 1 0 0 0 0 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

Bus-Entrada

8

1

0

c0

MUX

c1

LD

CK

>

c4

A

CK “1”

c2

S/R

LD

X

> 8

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

S1

s0

S2

s0

S4

S5

S3 Figura 97-3-2 Diagrama de estados

Estado

Microoperación

Señales de 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

Estado

Microoperación

S4

Bus-Salida ← A

S5

Parar

Señales de control c3 -----

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

Est. actual Q2Q1Q0

Condición

Próx. estado Q2Q1Q0

000

---

000

c4

001

s0 s0

010 011

c0,c1

010

---

100

c0,c1,c2

011

---

100

c0,c1,c2

100

---

101

c3

101

---

101

S. control

-----

Tabla 97-3-4 Tabla de transición de estados

Q1Q0 00 s 0Q 2 00 0 D2 01 1 11 1 10 0

D2=Q2+Q1;

01 0 1 1 0

11 1 X X 1

10 1 X X 1

Q1Q0 00 s 0Q 2 00 0 D1 01 0 11 0 10 0

D1=Q2Q1Q0;

01 1 0 0 1

11 0 X X 0

10 0 X X 0

Q1Q0 00 s 0Q 2 00 0 D0 01 1 11 1 10 0

01 1 1 1 0

11 0 X X 0

10 0 X X 0

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

D2

Q1 CK

1

> Cl Q2 Inicio

Q2 Q1 Q0

Q2

D1 CK

Q1

> Cl Q1 Inicio

s0

Q2

D0

Q1 Q0

CK

Q0

H 7 6 2 5 4 1 3 2 0 1 0 Decodificador

Q2

c3 c0,c1 c0,c1,c2 c1 c4

> Cl Q0

Inicio Figura 97-3-3 Unidad de Control

21

ESTRUCTURA Y TECNOLOGÍA 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: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL.

(Junio 1998 - 1ª semana)

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

1 0

0 1

1 0

1 1

1 1

0 0

0 1

1 0 0 0 0

0 1 1 1 0

0 0 0 1 0

1 1 1 0 1

1 1 0 1 1

1 0 0 1 1

1 1 1 1 1

1 0 0 0 0

ARGUMENTO MÁSCARA ? ? ? ? ?

MARCA

0 0 1 0 1

0 1 1 0 1

0 1 0 0 1

A)

B)

C)

D) Ninguna de las anteriores

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 2 3 S (s3s2s1s0). El funcionamiento de la UAL viene descrito por la siguiente tabla: c1c0 = 00 : suma S=X+Y x2x1x0 y1y0 c1c0 = 01 : resta S=X-Y c1c0 c1c0 = 10 : comparación Si X > Y entonces S = 1 0 0 0 Si X = Y entonces S = 0 1 0 0 UAL 2 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 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.

(Junio 1998 - 2ª semana)

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 iyi), Ii (xi=yi) y mi (xiY) es M = M3 + I3M2 + I3I2M1. II. La función lógica m (Xyi), Ii (xi=yi) y mi (xiY) 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 ETIQUETA 1 1 1

A) 1

0 ?

1 ?

0 ?

1 ?

1 ?

1 ?

0 ?

0 ?

1 1 1 1 1

1 1 0 0 1

0 0 0 1 0

1 1 1 0 1

1 1 0 0 1

1 0 0 1 0

1 1 0 1 0

0 0 0 0 0

B) 3

ARGUMENTO MÁSCARA 0 1 0 0 1

C) 5

MARCA

0 0 0 0 0

1 1 0 0 0

0 0 0 0 0

0 0 1 1 0

1 0 1 1 1

0 0 0 0 0

0 0 0 0 0

1 0 0 1 1

Máscara 1 Máscara 2 Máscara 3 Máscara 4 Máscara 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 cada una de las palabras de la memoria asociativa, y reconstruyendo de esta manera la forma que ha de tener la máscara. Comencemos por las palabras cuyo bit de marca es 1 0 0 MÁSCARA 1. En este caso, como se ve en la figura, si un bit del argumento y el correspondiente 1 MARCA bit de la palabra coinciden, el bit de máscara puede ser 0 ó 1, indistintamente. Ahora 1 1 0 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: 1

1

1

ARGUMENTO

‡ 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 ?. Queda ahora por ver la información que proporcionan las palabras cuya marca es 0. Si hay varios bits del argumento que no coinciden con los bits de la palabra, 1 1 0 MÁSCARA 1 0 1 MÁSCARA al menos uno de los correspondientes bits de máscara 0 MARCA 0 MARCA ha de ser 1 para que la marca sea 0, según se muestrea 1 0 0 1 0 0 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): 1

1

1

ARGUMENTO

1

1

1

ARGUMENTO

‡ 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

c0 Reg. Desp. c1 E Q

A

ED

UAL R

B

E

Ck c0

Contador Q

c0 c1

c0

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

0 0

c0

0 1 MUX

c1

ED EI

c0 c1

Reg. desp.

0

c4 c5

ED EI

Reg. desp.

c0 c1

c2 c3

1

B

A[0] A UAL

c0 c1

Contador 2 1 0

B c 0

0

c6 c7 s0 (valor del bit A[0])

s1(=1 Contador es 7)

Inicio

Circuito

Fin Reloj

c0 c1

Unidad de Procesamiento

de 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. S5

Inicio

s1 S0

S1

S2

s0

S3

S4

s1

S6

s0

Figura 3: Diagrama de estados de la Unidad de Control

Estado de la Unidad de Control

Microoperaciones efectuadas

Señales de control a activar

S0

Ninguna

Ninguna

S1

A ← Bus B←0 Reset Cont

c3, c2 c1, c5, c4 (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 Set

S0 S0

Inicio



Inicio=1



S1

S2



s0= 0 s0



S2 •

S3



S4 s = 1 1



S5

c1, c2, c3, c4, c5, c6



s0= 1

s1= 0

S1



S3

c4, c5





S4

c2



s1







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? B) B = 4 × 106 bits/seg

A) B = 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 C) 107 palabras / seg

B) 5×106 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:

fA =

1 1 1 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-IzquierdaCerrado-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 (AlgebraicoDerecha - Cerrado - Simple). En los diseños deben utilizarse multiplexores y elementos de memoria D. Explicar detalladamente cada paso. E3 E2 E1 E0

C2 C1

Paralelo/ Paralelo

S3 S2 S1 S0

E

C2 CK

Serie/Serie

C1

CK

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.

S

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 ) (Q , Q , Q , Q )  Q(t + 1) =  2 1 0 3 (Q0 , Q3 , Q2 , Q1 ) ( E 3, E 2, E1, E 0)

si Control = NOP si Control = LICS si Control = LDCS 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

E3

E2



• •

• • •

3 2 1 0 MUX

3 2 1 0 MUX





C1 C2

E1

E0



• •

3 2 1 0 MUX





E3 E2 E1 E0



3 2 1 0 MUX

C2

• •





Paralelo/ Paralelo

C1 Reloj

D Q3



S3

7

D Q2

D Q1

D Q0







S2

S1

S0

CK

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 )  (Q , Q , Q , Q )  Q (t + 1) =  2 1 0 3 (Q0 , Q3 , Q2 , Q1 ) ( E , Q3 , Q2 , Q1 )

si Control = NOP si Control = LICS si Control = LDCS 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



• •

••





• •

• •





E

3 2 1 0 MUX

C2

• •





• •

3 2 1 0 MUX

3 2 1 0 MUX

3 2 1 0 MUX C1 C2

••

Reloj D Q3

D Q2

D Q1

Serie/Serie

C1

CK

D 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 ) (Q , Q , Q , Q )  Q(t + 1) =  3 1 0 2 (Q3 , Q0 , Q2 , Q1 ) ( E 3, E 2, E1, E 0)

si Control = NOP si Control = AICS si Control = ADCS 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

C1 C2

E2

E1

•••

•• •

3 2 1 0 MUX

3 2 1 0 MUX





• •

•• •

3 2 1 0 MUX

3 2 1 0 MUX



E3 E2 E1 E0

C2



C1







E0

Paralelo/ Paralelo

Reloj D Q3



S3

D Q2

D Q1

D Q0







S2

S1

S0

S3 S2 S1 S0

Figura 7: Registro LDCS y LICS con entrada paralelo / salida paralelo

CK

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 instrucciones, y que cada instrucción de la CPU se ejecuta en 200 µseg, ¿qué tanto por ciento de su tiempo dedica 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 10 (= 1K) palabras, luego hay (210 palabras) / (23 su direccionamiento (216 = 64K). La memoria caché tiene 2 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

Velocidad

Costo

Capacidad

Caché nivel 2

+

-

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 (A 15 - 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). El tiempo medio de acceso de este sistema de memoria será por tanto (0.9 × 20 nseg) + (0.1× 1620 nseg) = 18 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 dedicadas en exclusiva al bucle de espera. Es decir, el bucle de espera ocupa el 30 / 40 × 100 = 75 % del tiempo de 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

B

A

E c0

ED Reg. Desp. EI c1c0 00 01 10 11

Q Q(t+1) Q(t) D. Dcha. D. Izq. Carga

c1

c0

UAL R c0 0 1

E

Ck Contador Q

R A+B A-B

c0 c1

Q(t+1) c1c0 00 Q(t) 01 Q(t)-1 mod 16 10 Q(t)+1 mod 16 11 0

c0 S c0 0 1

S E

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. 8

BUS

c9

0 1 MUX

c0

ED EI

c1

c0 Reg. desp. A c 1 8

A1

ED EI

c2 c3

0 1 MUX

c10

c0 Reg. desp. B c 1

c4 c5

Contador 4 Cont3

A0 A

Cont0

B c8

UAL

s0

s1 Unidad de Procesamiento

Inicio Fin Reloj

Circuito

c0 c1

de Control

c10 Unidad de Control

Figura 3: Diseño de la Unidad de Procesamiento

c0 c1

c6 c7

Problemas de los exámenes del curso 2001/2002

9

8

BUS

c0

0 1 MUX

Reloj ED EI

c0 Reg. desp. A c 1 8

ED EI

c2

A

c0 Reg. desp. B c 1

c4

B c8

UAL

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 S0

S1

S2

S3

s1s0

S4

S5

Inicio s1s0

S6

Figura 5: Diagrama de estados de la Unidad de Control

S7

S8

10

Estructura y Tecnología de Computadores II

Estado de la Unidad de Control

Microoperaciones efectuadas

Señales de control a activar

S0

Ninguna

Ninguna

S1

A ← Bus

(c0=0), c2, c3

S2

B ← Bus Cont ← 0

(c1=0), c4, c5 c6, c7

S3

Ninguna

Ninguna

S4

A←A-B Cont ← (Cont + 1) mod 16

c0, c2, c3, c8 (c6=0), c7

S5

Cont ← (Cont + 1) mod 16

(c6=0), c7

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

Inicio

Inicio

s1s0

Set

S0

S0

Demux 1

Inicio 0

S1

S1

c2, c3

S2

S2

c4, c5, c6, c7

S3

S3

s1 s1

Demux 1

0 s1s0

11

s0 0

1

S4

S4

S5

S5

c7

S6

S6

c1, c4, c5

S7

S7

S8

S8

c0, c2, c3, c7, c8

c10

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 V

0

V

1

V

Demux 0

Salida 0

Salida 1

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: A) D = Q x y + Q x y Estado Entrada xy Presente B) D = Q ( y + x ) + x y Q 00 01 10 11 C) D = Q x y 0 0 0 1 0 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. B) 23×(2n+1). C) 23×(2n). D) A) 22n×(2n+1). 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 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 0 1 0 1 0 1 1

0 0 1 0 0 1 0 0

0 0 1 0 1 0 1 1

0 0 0 0 0 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

0

0

0

0

1

1

1

0

1

1

D(t ) = Q y + Qx + x y = Q y + x + xy

xy

(

)

(Solución B)

Qx

Qy

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:

h (% ) =

Número de veces que la palabra solicitada se encuentra en M ca ⋅ 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% 20 18 100 10 100 ⋅ 10

(Respuesta B:

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 n 2 palabras/módulo × 1 bits/palabra

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: 2: 3: 4: 5:

Declaración: A[8], B[8], Cont[3]; A ÅBus; B Å 1; for Cont=0 to 3 do if A1A0≠01 then

5

B Å 0; endif; Despl.CerradoDcha(A); Despl.CerradoDcha(A); endfor; Bus Å B; Parar;

6: 7: 8: 9: 10: 11: 12:

Ck

A

E

B

Reg. Desp. EI

Q

c1c0 00 01 10 11

Q(t+1) Q(t) Des. Dcha. Des. Izq. Carga

c0

UAL R

c1

c0 0 1

E

Ck

c0

ED

Contador Q

R A+B A-B

c1c0 00 01 10 11

c0

c0

c1

Q(t+1) Q(t) 0 Q(t)+1 mod 8 Q(t)

S c0 0 1

S E

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 control CA0, CA1 CA0, CA1 CB, CB, CLOADB CC0, CC1 CC0, CC1 CBUS

Operación a realizar

Valor

Cargar registro A Desplazamiento cerrado a la derecha de A Cargar registro B con 0 Cargar registro B con 1 Resetear contador Incrementar módulo 8 una unidad el contador. Volcar el contenido del registro B en el bus

11 10 1 11 10 01 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 BÅ0 CB S4 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 1 2 3 4 5 6 7 8

Reserva

A

B

C

D

E

F

G

H

B B D C A B C A

B B D C A C A C

B B D A A A C C

B B D C A A A C

A D A D D B B B

A D A B B A D D

A D A B B A D D

A D A B B D A 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 recibe los bits xi e yi de forma serie, comenzando por los bits menos significativos, los estados S1, S2 y S3 se corresponden con:

01 Inicio

00,11,01

01 10 00,11

A) S1:x=y, S2:xy.

S2

S1 10 S3

B) S1:xy, S3:x=y. 00,11,10

C) S1:x>y, S2:xY, 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:xy) 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:

V max =

4 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

x⊕y

f2

f3

f4

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

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) Push [X]; Push [Z]; Add; Push [Y]; Push [Y]; Mult; Mult; Pop [X];

Contenido de la Pila X X, Z X+Z X+Z, Y X+Z,Y, Y X+Z, YxY (X+Z)x(YxY)

B) Push [Y]; Push [Y]; Push [X] Push [Z]; Add; Mult; Mult; Pop [X];

Contenido de la Pila Y Y, Y Y, Y, X Y, Y, X, Z Y, Y, X+Z Y, Yx(X+Z) YxYx(X+Z)

C) Push [Y]; Push [Y]; Mult; Push [X]; Push [Z]; Add; Mult; Pop [X];

Contenido de la Pila Y Y YxY YxY, X YxY, X, Z YxY, X+Z (YxY)x(X+Z)

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.

7

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

2

1

INTR0 0

CONTROLADOR DE INTERRUPCIONES Máscara:

[ M 2M 1M 0 ]

2

1

INTA2 INTA1

INTR INTA

INTR INTA

CPU

0 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 0 1 1 1 1

INTR’0 X 1 0 0 0

INTR’1 X X 1 0 0

INTR’2 X X X 1 0

INTR X 1 1 1 0

INTA0 0 1 0 0 0

INTA1 0 0 1 0 0

INTA 2 0 0 0 1 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 1 0 X

INTRi 1 X 0

INTR’ i 1 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 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

M0 X 1 0 X 0 0 X X 0 0 0 0 X X X X

M1 X X 1 1 0 X 0 X 0 0 X X 0 0 X X

M2 X X X X 1 1 1 1 0 X 0 X 0 X 0 X

INTR0 X 1 X 0 X X 0 0 X X X X 0 0 0 0

INTR 1 X X 1 1 X 0 X 0 X X 0 0 X X 0 0

INTR2 X X X X 1 1 1 1 X 0 X 0 X 0 X 0

INTR X 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

INTA0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

INTA1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

INTA2 0 0 0 0 1 1 1 1 0 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$