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

Tamaño: px
Comenzar la demostración a partir de la página:

Download "EXÁMENES RESUELTOS ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II INFORMÁTICA SISTEMAS Y GESTIÓN"

Transcripción

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

2 EXÁMENES DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II

3 ESTRUCTURA Y TECNOLOGIA DE LOS COMPUTADORES II INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tipo de Examen : X - MAYO 94 (1ª Semana) - Tiempo: 2 horas. No se permite el uso de ningún material. INSTRUCCIONES: Lea atentamente las instrucciones que figuran en la hoja de lectura automática. No olvide poner su DNI, Código de Carrera, Código de Asignatura y Tipo de Examen. El test es eliminariorio, debiendo contestar al menos 5 preguntas correctamente para superarlo. La puntuación del examen es la siguiente: cada respuesta correcta del test vale 0.4 puntos, la cuestión teórica 2 puntos y el problema 4 puntos. Las respuestas erróneas del test no puntúan negativo. 1.- En el sistema de la figura, BR representa la línea de petición de bus y BG la de autorización. En un momento dado, CONT3 está haciendo uso del bus. Mientras, CONT4 activa su línea de petición, y a continuación lo hace CONT2. Cuando CONT3 deje de utilizar el bus, cuál será el próximo dispositivo que asumirá el control del bus? A) CONT2 ARBITRO B) CONT3 C) CONT4 D) CONT2 o CONT4, el árbitro decide. BR BG BUS 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 1024 palabras 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 de bus, 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: 13Conjunto: 4 Palabra: 3 D) Ninguna de las respuestas anteriores es correcta 5.- El formato horizontal de microinstrucciones permite: A) Que existan microinstrucciones de bifurcación condicional B) Tener memorias de control más pequeñas C) Tener las señales de control ya decodificadas, por lo que su ejecución es más rápida D) Tener varias señales de control de un mismo subcampo 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 la longitud 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 = C) 3 secuencias, la mayor de longitud 4 D) 4 secuencias, la mayor de longitud 2 Y = En la representación de números en coma flotante, 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 DMA es: A) El PE/S utiliza E/S controlada por interrupciones, mientras que de el DMA no. B) El DMA es capaz de controlar el bus, 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. CONT1 CONT2 CONT Un sumador binario de 2 números de 4 bits cada uno, se puede realizar con una memoria ROM de la siguiente capacidad: A) 2 4 palabras x 4 bits/palabra B) 2 8 palabras x 4 bits/palabra C) 2 4 palabras x 5 bits/palabra D) 2 8 palabras x 5 bits/palabra

4 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) : Interrupciones multinivel. 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). A A' A A + 1 SI B X A Y A A + B A7 = 1 NO B B + 1 C A + B

5 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 del bus. D) La temporización debe ser así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 2048 palabras 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 B) Etiqueta: 7 Partición: 8 Palabra: 5 C) Etiqueta: 13 Partición: 4 Palabra: 3 D) Ninguna de las respuestas anteriores es correcta 4.- En la figura se muestra un mecanismo de E/S del tipo: A) Con acceso directo a memoria B) Localizada en memoria C) Daisy chain D) Aislada de memoria 5.- Elegir la afirmación que sea verdadera: A) El diseño de una unidadde control con lógica cableada es el más flexible a la hora de realizar cambios en su diseño B) La ejecución de una microinstrucción requiere una secuencia de búsqueda-decodificación-ejecución C) Todas las microoperaciones especificadas por una microinstrucció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 Booth modificado es: A) B) C) D) 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ón consistente 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 respuestas anteriores. 8.- Sea una UCP con 4 líneas de interrupción PI 1, PI 2, PI 3 y PI 4, numeradas en orden creciente de prioridad, es decir, PI 1 tiene la prioridad mínima y PI 4 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: PI 3, PI 1, PI 4 y PI 2. Teniendo en cuenta que las tres últimas se producen mientras se está ejecutando el programa de servicio de PI 3, en qué orden se tratan las interrupciones? A) PI 3, PI 4, PI 2 y PI 1 B) PI 3, PI 4, PI 3, PI 2 y PI 1 C) PI 3, PI 1, PI 4 y PI 2 D) PI 3, PI 1, PI 3, PI 2 y PI Un multiplicador binario de 2 números de 4 bits cada uno se puede realizar con una memoria ROM de la siguiente capacidad: A) 2 4 palabras x 16 bits/palabra B) 2 8 palabras x 8 bits/palabra C) 2 16 palabras x 4 bits/palabra D) 2 4 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 del bus lo retiene durante un solo ciclo. Transmite una palabra y libera el bus. D) Cuando el DMA toma el control del bus no lo libera hasta haber transmitido el bloque de datos pedido. Memoria Principal UCP Perif. 1 Controlador E/S... Bus de datos Bus de direcciones Leer Escribir Perif. n

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

7 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 del test 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ás microoperaciones 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 su temporizació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? ARGUMENTO???????? MÁSCARA MARCA A) B) C) D) 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 a subprograma para almacenar la dirección de dicho subprograma. D) Ninguna de las anteriores es cierta. 5.- La transferencia de datos mediante DMA utilizando la estrategia por 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 del bus lo retiene durante un solo ciclo. Transmite una palabra y libera el bus. D) Cuando el DMA toma el control del bus 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.

8 7.- Sean dos números binarios de 8 bits representados en código BCD: X = , Y = El resultado de su suma, representado en BCD, es: A) B) C) D) 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) 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... x 1 x 0, y = y n 1 y n 2... y 1 y 0, 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 y i ) es igual a cero, es decir, x + y = 0 B) Un arrastre se generará en la posición i-ésima si se cumple que la suma aritmética de los bits correspondientes (x i e y i ) es cero, es decir, x + y = 0. i i C) Nunca se propagará un arrastre en la posición i-ésima si el bit x i 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 y i ) es igual a uno, es decir, x + y = 1. i i i i 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 10 8 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 transferencia por ráfagas. c) Utilizando un sistema DMA, con estrategia de transferencia por 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 el bus.

9 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 94 (1ª semana) Junio 94 (2ª semana) Septiembre 94 1 A C B 2 B C D 3 B A B 4 C B B 5 C B C 6 D B B 7 A B A 8 D B B 9 D B C 10 D A D

10 .

11 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, yentréguela 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 de 2 puntos para superarlo. Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona Decir cuál de las siguientes es cierta: A) Todas las siguientes son ciertas. B) En una memoria de acceso aleatorio el tiempo de acceso es independiente de la posición donde está localizada la información. C) En una memoria de acceso aleatorio el tiempo de acceso a cualquier posición es constante e independiente de la secuencia de accesos que haya habido anteriormente. D) En una memoria de acceso aleatorio se puede acceder a las informaciones almacenadas en ella en cualquier orden. 2.- En un sumador binario completo (SBC) de dos números binarios de un bit, x e y, y con acarreo de entrada c -1, las funciones lógicas del resultado de la suma (s) y del acarreo de salida (c) son: ( es la OR exclusiva) A) s = x y c = ( x y) c 1 B) s = x y c 1 c = ( x y ) c 1 + xy C) s = x y c 1 c = ( x y ) c 1 + xc 1 D) Todas las anteriores son falsas. 3.- Una memoría caché asociativa por conjuntos consta de 16 (2 4 ) conjuntos con 4 particiones por conjunto. La memoria principal tiene una capacidad de 1M (2 20 ) palabras dividida en bloques de 128 (2 7 ) palabras. A la dirección de memoria principal, expresada en binario, , 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=x 2 x 1 x 0 con Y=y 2 y 1 y 0. Utilizando comparadores de un bit se compara cada pareja de bits, x i con y i, obteniéndose: M i (x i >y i ), I i (x i =y i ) y m i (x i <y i ). Las funciones lógicas del resultado de la comparación de X con Y: M (X>Y), I (X=Y) y m (X<Y) son: A) M=M 2 +I 2 M 1 +I 2 I 1 M 0, I=I 2 I 1 I 0, m=m 2 +I 2 m 1 +I 2 I 1 m 0 B) M=M 2 +I 2 M 1 +I 2 I 1 M 0, I=I 2 I 1 I 0, m=m 0 +I 0 m 1 +I 0 I 1 m 2 C) M=M 0 +I 0 M 1 +I 0 I 1 M 2, I=I 2 I 1 I 0, m=m 0 +I 0 m 1 +I 0 I 1 m 2 D) Ninguna de las anteriores. 7.- En un sistema con interrupciones encadenadas(daisy chain), la prioridad de un determinado módulo depende: A) De la prioridad asignada a su linea de interrupción en la cadena. B) De la UCP. C) Del controlador de interrupciones de la cadena. D) De su posición en la cadena. 8.- Cuando la UCP atiende una petición de interrupción anidada : A) Guarda el contexto del programa que en ese momento se está ejecutando en una memoria de tipo pila. B) Guarda el contexto del programa que en ese momento se está ejecutando en el registro RDR (Registro de Datos de Retorno) de la caché. C) Guarda el contexto del programa que en ese momento se está ejecutando en los registros internos de la UCP. D) Guarda el contexto del programa que en ese momento se está ejecutando en una memoria de tipo asociativo.

12 9.- La Unidad de Control y la Unidad de Procesamiento se comunican: A) Mediante los buses de entrada/salida. B) Mediante un sistema de interrupciones. C) Mediante las señales de control y de condición. D) Mediante todos los mecanismos anteriores En cada ciclo de reloj, la Unidad de Control: A) Genera una serie de señales de condición. B) Lee todas sus entradas y emite un conjunto de señales de control. C) Genera una señal de reloj que mantiene la temporización básica de todo el sistema. D) Todas las afirmaciones anteriores son falsas. Cuestiones Teóricas:Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.75 puntos): Qué es el principio de localidad de la referencia? Las referencias a memoria que realiza la UCP para acceder tanto a datos como a instrucciones suelen estar agrupadas. Los programas tienden a contener una serie de bucles iterativos y de procedimientos con repetidas referencias a un pequeño conjunto de instrucciones. Las operaciones sobre ciertas estructuras de datos (listas, arrays, etc.) implican accesos a conjuntos de datos que están próximos entre sí en la memoria. Cuestión 2 (0.75 puntos): Cuáles son los principales inconvenientes de la entrada/salida controlada por programa? Pérdida de tiempo en el bucle de espera. Si existen programas que tienen que ejecutarse de forma periódica no se puede permanecer en el bucle de espera por tiempo indefinido. Hay problemas cuando se quiere atender a varios periféricos. Cuestión 3 (0.5 puntos): A la hora de diseñar una unidad de control, en qué situaciones es especialmente útil utilizar un contador? Cuando el algoritmo de transferencia de registros presenta una estructura lineal, con pocas rupturas de secuencia (flujo secuencial de sentencias). Problema : Para la Unidad de Procesamiento de la figura, diseñar la Unidad de Control que ejecute el siguiente algoritmo: Si X es impar entonces A B+C, si no A B-C Para ello, realice los siguientes pasos: A) Diagrama de flujo del algoritmo (0.5 puntos). B) Descripción de las señales de control de la unidad de procesamiento (0.5 puntos). C) Diagrama de estados del algoritmo. Acciones tomadas por la Unidad de Control en cada uno de los estados (0.5 puntos). D) Tabla de estados, asignación (codificación) de los estados y tabla de transición de estados (0.5 puntos). E) Síntesis de la Unidad de Control, utilizando cualquier procedimiento de diseño excepto PLA. Describa claramente cada uno de los pasos que realice (2 puntos).

13 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (JUNIO 95-2ª SEMANA) INFORMÁTICA DE SISTEMAS - INFORMÁTICA DE GESTIÓN Tipo de Examen : X- Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: INSTRUCCIONES:Complete sus datos personales en la cabecera de esta hoja, yentréguela 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 de 2 puntos para superarlo. Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona La línea de control Escritura en memoria (E): A) Permite que los datos que están sobre el bus se escriban en la posición de memoria direccionada. B) Origina que el dato contenido en la posición de memoria direccionada se coloque en el bus. C) Indica que un módulo necesita obtener el bus para un operación de escritura en memoria. D) Indica que el dato ha sido aceptado y escrito en la posición de memoria direccionada. 2.- La multiplexación en el tiempo del bus consiste en: A) Reducir la complejidad de la circuitería asociada a cada módulo al utilizar un menor número de líneas. B) Utilizar un árbitro o controlador del bus para asignar el tiempo de utilización de cada línea de control. C) Utilizar algunas líneas con objetivos diferentes. D) Temporizar la ocurrencia de eventos dentro del bus de control con un multiplexor. 3.- La memoria interna del procesador: A) Es una memoria relativamente grande y rápida, utilizada para el almacenamiento de los programas que están en ejecución en el computador y sus correspondiente datos. B) Esta constituida por un pequeño conjunto de registros de alta velocidad que son internos a la UCP. C) La constituyen dispositivos periféricos internos accesibles a la UCP a través de controladores de E/S. D) La constituye una memoria caché dentro del mismo procesador. 4.- Un computador tiene una unidad de memoria de 64K (2 16) palabras y una memoria caché de 1K (2 10 ) palabras. La memoria caché utiliza correspondencia directa, con un tamaño de partición de 64 (2 6 ) palabras. A la dirección de memoria principal, expresada en binario, , le corresponde la partición, expresada en decimal: A) 3 B) 4 C) 15 D) Ninguna de las anteriores. 5.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos. Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 2 ciclos de reloj en ser ejecutadas. Qué reducción en la velocidad de la UCP supone la transferencia de DMA? A) 25 % B) 33.3 % C) 50 % D) Ninguna de las anteriores. 6.- En las interrupciones vectorizadas, el periférico coloca su vector de interrupción en: A) Bus de control. B) Bus de direcciones. C) Líneas de petición de interrupción. D) Bus de datos. 7.- En la suma de los dos números binarios: x = y = A) Se generan 3 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 5. B) Se generan 3 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 7. C) Se generan 2 secuencias de arrastre y la longitud máxima de las secuencias de arrastre es igual a 6. D) Ninguna de las anteriores es cierta. 8.- Se desea sumar 2 números binarios de 4 bits cada uno: X=x 3 x 2 x 1 x 0 e Y=y 3 y 2 y 1 y 0. Sean las funciones lógicas g i =x i y i (generación de arrastre) y p i =x i y i (propagación de arrastre) ( representa la OR exclusiva). Si C es el arrastre de la suma de X e Y, su función lógica es: A) C=g 3 +p 3 g 2 +p 3 p 2 g 1 +p 3 p 2 p 1 g 0 B) C=p 3 +g 3 p 2 +g 3 g 2 p 1 +g 3 g 2 g 1 p 0 C) C=g 0 +p 0 g 1 +p 0 p 1 g 2 +p 0 p 1 p 2 g 3 D) C=p 0 +g 0 p 1 +g 0 g 1 p 2 +g 0 g 1 g 2 p Las funciones básicas de la unidad de control son: A) Atender a las operaciones de E/S. B) Atender a las señales de interrupción y de condición. C) Generar y secuenciar las señales de control. D) Todas las funciones anteriores En el direccionamiento implícito de microinstrucciones: A) Las microinstrucciones son más pequeñas. B) Las microinstrucciones se ejecutan, salvo bifurcaciones, en el orden en que se almacenan en la memoria de control. C) Hay dos clases de microinstrucciones: para especificar las señales de control y para especificar las bifurcaciones. D) Todas las respuestas anteriores son verdaderas.

14 Cuestiones Teóricas:Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.75 puntos): Cómo influye el tamaño de bloque de la caché en su tasa de acierto? Inicialmente, según se va aumentando el tamaño del bloque la tasa de acierto aumentará por el principio de localidad (aumenta la probabilidad de que sean accedidos, en el futuro inmediato, datos próximos a la palabra referenciada). A partir de un cierto tamaño de bloque disminuirá (la probabilidad de utilizar la información contenida en el bloque es menor que la probabilidad de reusarla). Cuestión 2 (0.75 puntos): Qué acciones realiza la UCP, y para qué, cuando atiende una interrupción? Suspende la ejecución del programa en curso y salva el contenido del CP y de los otros registros accesibles por programa. Inhibe las interrupciones (bit de máscara) y ejecuta el programa de servicio de interrupción. Se informa al periférico de que se ha atendido su petición. Finalizado el programa de servicio, se activa el sistema de interrupciones. Se recuperan el CP y los registros y se continúa la ejecución del programa interrumpido en el punto en que se dejó. Cuestión 3 (0.5 puntos): Cuáles son las principales diferencias entre memorias volátiles y no volátiles? Y entre memorias dinámicas y estáticas? M. volátil: pierde su contenido al cesar la tensión de alimentación. M. no volátil: conserva su contenido al cesar la tensión de alimentación. M. dinámica: la información almacenada se pierde con el tiempo, y por tanto hay que refrescarla. M. estática: la información que contiene no varía con el tiempo. Problema (0.5 puntos cada apartado) : En la figura se muestra una UCP (Unidad de Procesamiento + Unidad de Control) y en la tabla se da el significado de cada una de sus señales de control. La señal de condición s 0 se activa cuando el contenido del registro acumulador (AC) sea igual a cero. Obtener la secuencia de microoperaciones y las señales de control que hay que activar para que esta UCP ejecute las siguientes instrucciones, suponiendo que éstas se encuentran ya almacenadas en el registro de instrucciones (RI): A) Cargar el acumulador con el contenido de una dirección de memoria. B) Almacenar el acumulador en una dirección de memoria. C) Sumar al acumulador un operando con direccionamiento inmediato. D) Sumar al acumulador un operando con direccionamiento directo. Señal Microoperación controlada E) Sumar al acumulador un operando con direccionamiento indirecto. Control c 0 Leer de la memoria F) AND con el acumulador de un operando en modo directo. c 1 Escribir en la memoria G) Bifurcar, en modo de direccionamiento directo. c 2 Transferir el contenido de RM a RD (RD (RM)) H) Bifurcar si acumulador = 0, en modo de direccionamiento c 3 Transferir el contenido de CP a RM (RM (CP)) directo. c 4 Transferir el contenido de RM a CP (CP (RM)) c 5 Transferir el contenido de CP a RD (RD (CP)) c 6 Incrementar en 1 el contenido de CP (CP (CP)+1) c 7 Transferir el contenido de RM a RI (RI (RM)) c 8 Transferir el contenido de RM a la Entrada1 de la UAL c 9 Transferir el contenido de RM a AC (AC (RM)) c 10 Transferir el contenido de AC a RM (RM (AC)) c 11 AC (AC) + Entrada1 c 12 AC (AC) AND Entrada1 c 13 AC ( AC) c 14 Transferir el campo de dirección de RI a RD (RD (RI(dirección))) c 15 Transferir el campo de datos de RI a RM (RM (RI(datos)))

15 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (SEPTIEMBRE 95 - ORIGINAL) INFORMÁTICA DE SISTEMAS - INFORMÁTICA DE GESTIÓN Tipo de Examen : X- Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: INSTRUCCIONES:Complete sus datos personales en la cabecera de esta hoja, yentréguela con su examen. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para superarlo. Test : Conteste exclusivamente en la siguiente cuadrícula. No se corregirá ninguna respuesta marcada fuera de esta zona Las siguientes afirmaciones sobre la arquitectura de von Neumann son ciertas? I. El que el contenido de una dirección de memoria sea considerado como un dato o una instrucción depende únicamente de quien recibe esa información. II. Si se desea efectuar un determinado cálculo se diseña una configuración específica de componentes electrónicos. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 2.- Cuando una Unidad de Memoria utiliza acceso directo, el acceso se efectúa mediante: A) Un mecanismo de acceso aleatorio seguido de una búsqueda de tipo secuencial. B) Un mecanismo de acceso secuencial seguido de una búsqueda de tipo aleatorio. C) Un mecanismo de acceso aleatorio seguido de una búsqueda de tipo asociativo. D) Un mecanismo de acceso directo seguido de una búsqueda de tipo secuencial.???????? ARGUMENTO MÁSCARA MARCA El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro de máscara y del contenido de la memoria, cuántos de los argumentos propuestos a continuación producirían ese registro de marca? Argumento Argumento Argumento Argumento Argumento 5 A) 1 B) 2 C) 3 D) Ninguno de los anteriores 4.- Un computador tiene una unidad de memoria de 512 (2 9 ) palabras y una memoria caché de 32 (2 5 ) palabras. La memoria caché utiliza correspondencia directa, con un tamaño de partición de 8 (2 3 ) palabras. Suponiendo que inicialmente la memoria caché está vacía, cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal , , , , , , y ? A) 3 B) 4 C) 5 D) Ninguna de las anteriores 5.- Las siguientes afirmaciones son ciertas? I. E/S localizada en memoriautiliza un repertorio de instrucciones específico para operaciones de E/S. II. E/S aislada de memoria emplea parte del espacio de direcciones de la memoria. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Un computador dispone de un canal selector que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de 10 5 bytes/seg. Si para la transferencia de un byte del canal selector a memoria principal se utiliza el bus del sistema durante 10 nseg., qué porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos a través de este canal selector?. A) 0,1 % B) 1 % C) 10 % D) Ninguna de las anteriores. 7.- Un sumador binario de 2 números, uno de 8 bits y el otro de 4 bits, se puede realizar con una memoria ROM de la siguiente capacidad: A) 2 16 palabras x 17 bits/palabra. B) 2 12 palabras x 17 bits/palabra. C) 2 8 palabras x 9 bits/palabra. D) Ninguna de las anteriores. 8.- Utilizando el método de la suma condicional, la suma de 2 números binarios de 60 bits cada uno se hace en: A) 5 pasos B) 6 pasos C) 7 pasos D) Ninguna de las anteriores 9.- Las señales de control denominadas"puntos de control"se emplean en A) La selección de operaciones de los registros de la Memoria Principal. B) El control de las operaciones, direccionamiento y transferencia de datos en los controladores de E/S. C) La selección de operaciones, vias de datos y cargas de los registros en la UCP.

16 D) Ninguna de las anteriores Las siguientes afirmaciones son ciertas? I. El formato horizontalde microinstrucciones requiere de memorias de control más grandes. II. El formato vertical de microinstrucciones tiene las señales de control ya decodificadas. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.8 puntos): En qué consisten los sumadores con anticipación del arrastre? Reducen el retardo producido por la propagación de los arrastres de los SBC s de menor peso a los de mayor peso. Para ello generan la entrada de arrastre de la etapa i-ésima directamente a partir de los bits de entrada de las etapas precedentes (i-1, i-2,..., 1, 0), sin tener que esperar que el arrastre se propague a través de dichas etapas. Cuestión 2 (0.6 puntos): Ventajas de utilizar E/S localizada en memoria frente a E/S aislada de memoria. Al haber un único espacio de direcciones se pueden utilizar las mismas instrucciones máquina para acceder a memoria y a los periféricos (es más flexible, puesto que normalmente existen más instrucciones de referencia a memoria que de E/S). Sólo se necesita un conjunto de señales de lectura y escritura. Cuestión 3 (0.6 puntos): Ventajas y desventajas de la multiplexación en el tiempo de las líneas del bus. Ventajas: se utilizan menos líneas, se ahorra espacio y resulta más económico. Desventajas: necesidad de una circuitería más compleja y reducción potencial en el rendimiento del computador. Problema: Se desea realizar un circuito combinacional que multiplique dos números binarios, uno de ellos de 3 bits (b 2 b 1 b 0 ) y el otro de 2 bits (a 1 a 0 ), utilizando para ello módulos de memoria ROM de capacidad 4 2palabras x 4 bits/palabra (véase la figura). A) Cuántos módulos ROM son necesarios? Dibujar el esquema del circuito que se obtiene utilizando los módulos ROM propuestos y, si considera necesario, otros módulos combinacionales. (1,5 puntos). B) Escribir el contenido de todos los módulos de memoria ROM utilizados en el apartado anterior. Realizar una tabla independiente para cada uno de los módulos y especificar claramente a qué módulo corresponde. (2 puntos). C) Calcular el % de aprovechamiento de la capacidad total de la memoria y proponer alguna forma de mejorar el resultado. (0,5 puntos). Bus de direcciones 4 ROM 16x4 CS Bus de datos 4 Selección de circuito

17 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 95 (1ª semana) Junio 95 (2ª semana) Septiembre 95 1 A A B 2 B C A 3 C B B 4 C B B 5 A B D 6 A D B 7 D D Anulada * 8 A A C 9 C C C 10 B D B * La pregunta número 7 del examen de septiembre fue anulada ya que son ciertas las respuestas A y B.

18 .

19 95 Problemas de los exámenes del curso 94/95 Problema 95-1: 1ª semana de junio de 1995 Para la Unidad de Procesamiento de la Figura , diseñar la Unidad de Control que ejecute el siguiente algoritmo: Si X es impar entonces A B+C, si no A B-C c 2 B C X Sumador/Restador c 5 8 paralelo S/R 8 c 3 A c c 0 8 c 1 s 0 (= x 0 ) x o 1 Bus de Entrada Bus de Salida Inicio Fin Reloj Circuito de Control Figura Unidad de Procesamiento + Unidad de Control c 0 c 1 c 5 Unidad de Procesamiento Unidad de Control 1

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

21 95 Problemas de los exámenes del curso 94/95 B) La descripción de las señales de control de la unidad de procesamiento de la Figura se muestra en la Tabla Señal Descripción c 0 c 1 c 2 c 3 c 4 Cargar X desde el bus de entrada Cargar C desde el bus de entrada Cargar B desde el bus de entrada Cargar A desde el sumador/restador paralelo Transferir A al bus de salida c 5 Seleccionar la operación de suma (1) o resta (0) Tabla Descripción de las señales de control C) Inicio S 0 Inicio S 1 s 0 s 0 S 2 S 3 Figura Diagrama de estados En la Figura se propone un diagrama con 4 estados para este algoritmo. (Aunque no se indica nada sobre las señales Inicio y Fin en el enunciado, se ha preferido incluir un estado S 0 en el que el sistema permanece hasta la activación de Inicio. El problema sería igualmente válido si se 3

22 Estructura y Tecnología de Computadores II hubiera omitido S 0 ; en este caso, después de S 2 y S 3 existiría un estado de finalización S 4.) El sistema permanece en el estado S 0 hasta que se active la señal Inicio. En el estado S 1 se realiza una bifurcación dependiendo del valor de la señal de condición s 0. La operación aritmética correspondiente se realiza bien en el estado S 2, bien en el S 3. Finalmente se regresa al estado S 0. Ya que no se indica nada al respecto, el resultado del algoritmo, almacenado en el registro A, no será transferido al bus de salida del sistema al finalizar. Estado µ-operación ejecutada Señales de control a activar S 0 NOP S 1 NOP S 2 A B+C c 5,c 3 S 3 A B-C c 3 Tabla Acciones tomadas por la Unidad de Control D) En la Tabla está representada la tabla de estados (estado presente, próximo estado en función de las señales de condición y salidas) correspondiente al diagrama de la Figura (En adelante, la señal Inicio se representará como i para simplificar la notación.) E. presente Próximo estado Salidas is 0 is 0 is 0 is 0 c 5 c 4 c 3 c 2 c 1 c 0 S 0 S 1 S 2 S 3 S S 2 S 3 S 1 S 0 S 0 S 0 S 0 S 0 S 0 2 S 0 S 0 S 0 S 0 S S

23 95 Problemas de los exámenes del curso 94/95 Tabla Tabla de estados La Tabla representa la asignación de los estados. Ya que hay 4 estados, bastarán 2 bits para representarlos. Finalmente, la Tabla presenta la tabla de transición de estados, que se obtiene directamente de la Tabla aplicando la codificación de la Tabla Q 1 Q 0 S S S S Tabla Asignación de estados Q 1 (t)q 0 (t) Q 1 (t+1)q 0 (t+1) Salidas is 0 is 0 is 0 is 0 c 5 c 4 c 3 c 2 c 1 c Tabla Tabla de transición de estados E) Ya que en el apartado anterior se ha calculado la tabla de transición de estados (Tabla ), es fácil a partir de ella calcular las funciones de excitación de sendos biestables tipo D. Puesto que esta tabla está constituida por gran cantidad de ceros se puede llegar fácilmente a las expresiones de las funciones de excitación por simple inspección, sin recurrir a los mapas de Karnaugh: A partir de estas expresiones se puede construir la unidad de control que se 5

24 Estructura y Tecnología de Computadores II D 0 = Q 1 Q 0 i+ Q 1 Q 0 is 0 c 3 = Q 1 Q 0 + Q 1 Q 0 = Q 1 muestra en la Figura D 1 = Q 1 Q 0 c 5 = Q 1 Q 0 i s 0 Q 1 Q 1 Q 0 Q 0 D 1 Q 1 > Q 1 Clear D 0 Q 0 c 5 c 3 > Q 0 Clear Reloj Figura 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 Q 1 y Q 0. 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 se muestra una UCP (Unidad 6 de Procesamiento + Unidad de Control) y en la Tabla se da el

25 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 s 0 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): c 0 c 1 RD Memoria c 2 Entrada 1 c 5 c 8 CP c 6 UAL Acumulador (AC) c 11 c 12 c 13 s 0 RM c 3 c 4 c 9 c 7 c 10 c 15 RI c 14 Reloj s 0 Señales de condición Unidad de Control c 0 c 13 Figura 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

26 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 c 0 c 1 c 2 c 3 c 4 c 5 Leer de la memoria Escribir en la memoria Transferir el contenido de RM a RD (RD (RM)) Transferir el contenido de CP a RM (RM (CP)) Transferir el contenido de RM a CP (CP (RM)) Transferir el contenido de CP a RD ( RD (CP)) c 6 Incrementar en 1 el contenido de CP (CP (CP) + 1) c 7 c 8 c 9 c 10 Transferir el contenido de RM a RI (RI (RM)) Transferir el contenido de RM a la entrada 1 de la UAL Transferir el contenido de RM a AC (AC (RM)) Transferir el contenido de AC a RM (RM (AC)) c 11 AC (AC) + Entrada 1 c 12 AC (AC) AND Entrada 1 c 13 AC ( AC ) (Complementar el contenido de AC) c 14 c 15 Transferir el campo de dirección de RI a RD (RD (RI(dirección))) Transferir el campo de datos de RI a RM (RM (RI(datos))) Tabla : Señales de control de la UCP de la Figura

27 95 Problemas de los exámenes del curso 94/95 Solución APARTADO PASO MICROOP. SEÑAL CONTROL A) B) C) D) E) F) G) H) RD (RI(Dirección)) RM Memoria AC (RM) RD (RI(Dirección)) RM (AC) Memoria (RM) RM (RI(Datos)) Entrada1 (RM) AC (AC) + Entrada1 RD (RI(Dirección)) RM Memoria Entrada1 (RM) AC (AC) + Entrada1 RD (RI(Dirección)) RM Memoria RD (RM) RM Memoria Entrada1 (RM) AC (AC) + Entrada1 RD (RI(Dirección)) RM Memoria Entrada1 (RM) AC (AC) AND Entrada1 RD (RI(Dirección)) RM Memoria CP (RM) RD (RI(Dirección)) RM Memoria Si s 0 = 1 CP (RM) c 14 c 0 c 9 c 14 c 10 c 1 c 15 c 8 c 11 c 14 c 0 c 8 c 11 c 14 c 0 c 2 c 0 c 8 c 11 c 14 c 0 c 8 c 12 c 14 c 0 c 4 c 14 c 0 c 4 Tabla Tabla de microoperaciones y de señales de control 9

28 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 (b 2 b 1 b 0 ) y el otro de 2 bits (a 1 a 0 ), utilizando para ello módulos de memoria ROM de capacidad 2 4 palabras 4 bits/palabra (véase la Figura ). Bus de direcciones ROM 16 4 CS Bus de datos 4 4 Selección de circuito Figura 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

29 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 (= ) 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 b 1 b 0 a 1 a 0 Módulo 1 ROM 16 4 CS Módulo 2 ROM 16 4 CS p 3 p 2 p 1 p 0 p 4 Módulo 3 Módulo 4 ROM ROM p 3 p 2 p 1 p 0 p 4 p 3 p 2 p 1 p 0 CS CS b p 4 2 b 2 Figura 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

30 Estructura y Tecnología de Computadores II ellas habrá que ser coherente con la misma. Sean los 5 bits del producto p 4 p 3 p 2 p 1 p 0. En adelante supondremos que los 4 bits menos significativos (p 3 p 2 p 1 p 0 ) se almacenan en los módulos de la derecha de la Figura (módulos 2 y 4) y que p 4 se almacena en los módulos de la izquierda (módulos 1 y 3). El producto de b 2 b 1 b 0 por a 1 a 0 se encontrará almacenado en la dirección b 2 b 1 b 0 a 1 a 0. Así, por ejemplo, el producto de 101 por 01 estará en la dirección de memoria La selección de los módulos de arriba o de abajo se puede realizar utilizando como señal de selección b 2 (complementada, ya que CS utiliza lógica negativa). De esta manera, los productos 0b 1 b 0 a 1 a 0 se almacenarán en los módulos 1 y 2, y los productos 1b 1 b 0 a 1 a 0 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 , en la que se muestran todos los productos posibles. b 2 b 1 b 0 a 1 a 0 p 4 p 3 p 2 p 1 p Tabla Tabla con todos los resultados posibles de la multiplicación 12

31 95 Problemas de los exámenes del curso 94/95 b 2 b 1 b 0 a 1 a 0 p 4 p 3 p 2 p 1 p Tabla 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 ). C) Como se puede apreciar en la Tabla , los módulos 1 y 3 se 13

32 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 = 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 / = 62.5% Dir. Módulo 1 Módulo 2 Módulo 3 Módulo 4 xxxp 4 p 3 p 2 p 1 p 0 xxxp 4 p 3 p 2 p 1 p xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx0 xxx1 xxx0 xxx0 xxx0 xxx 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 Tabla 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)

33 95 Problemas de los exámenes del curso 94/95 fijarse en que p 4 es siempre 0 salvo en dos ocasiones. Por tanto se pueden utilizar dos módulos de ROM para almacenar p 3 p 2 p 1 p 0, a la manera en que se ha venido realizando, y utilizar puertas lógicas para generar p 4. Por simple inspección de la Tabla se comprueba que p 4 es únicamente 1 en los productos y Es decir, la expresión lógica de p 4 será p 4 = b 2 b 1 b 0 a 1 a 0 + b 2 b 1 b 0 a 1 a 0 = b 2 b 1 a 1 a 0 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

34 .

35 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª 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 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 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 la decodificació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 10 8 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. A) 10 7 palabras/seg. B) palabras/seg. C) 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 2 5 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.

36 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 de microinstrucciones frente al formato horizontal. Ventajas: utiliza longitudes de palabra más pequeñas y, por tanto, requiere de memorias de control más pequeñas. 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 (x 2 x 1 x 0 ) e Y (y 2 y 1 y 0 ) de 3 bits cada uno, siendo su salida S (s 3 s 2 s 1 s 0 ). El funcionamiento de la unidad viene descrito por: c = 0 : suma S = X + Y c = 1 : comparación Si X > Y entonces S = Si X = Y entonces S = Si X < Y entonces S = Para resolver el problema, seguir obligatoriamente los siguientes apartados: x 2 x 1 x 0 y 2 y 1 y 0 A) (1 punto) Diseñar un comparador de números de 1 bit utilizando únicamente puertas lógicas. B) (1.5 puntos) Utilizando comparadores como el diseñado en el apartado A) y puertas lógicas, diseñar un comparador de números de 3 bits. C) (0.5 puntos) Utilizando únicamente sumadores binarios completos (SBC), diseñar un sumador binario de números de 3 bits. c UAL 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. s 3 s 2 s 1 s 0

37 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª 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 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 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 del bus siempre son sí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 2 12 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) 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.

38 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 un semisumador 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 x i e y i de forma serie, comenzando por los más significativos. El circuito genera sus salidas de acuerdo con la siguiente tabla: M I m X > Y X = Y X < Y Comparador secuencial x n-1 x n-2... x 0 y n-1 y n-2... y 0 Para ello: A) (1.5 puntos) Indique el diagrama de estados del circuito, especificando claramente cuál es el significado de cada uno de los estados. M I m B) (0.5 puntos) Indique cómo codifica los estados y obtenga la tabla de transición de estados correspondiente. C) (1 punto) Suponiendo que sólo dispone de biestables tipo D para el diseño del circuito, calcular las funciones de excitación de los biestables. D) (1 punto) Implemente el circuito con biestables tipo D y puertas lógicas NAND únicamente. Reloj X Y

39 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre Original) INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tipo de Examen : A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima 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.- Indique cuál de las siguientes afirmaciones es verdadera: A) Todas las interrupciones se atienden de forma inmediata. B) El programa de tratamiento de una interrupción no puede ser a su vez interrumpido, bajo ningún concepto. C) En la arquitectura de von Neumann, instrucciones y datos se guardan en áreas diferentes de memoria. D) Todas las afirmaciones anteriores son falsas. 2.- Indique si las siguientes afirmaciones son verdaderas: I. La memoria principal de un computador no se diseña utilizando la misma tecnología que la empleada por los registros internos de la UCP, ya que la mejora que se obtendría en el tiempo de ciclo de memoria sería despreciable. II. Al acceder a una memoria de acceso directo, se pregunta si existe una posición de memoria que contenga una palabra determinada. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- Indique si las siguientes afirmaciones son verdaderas: I. Los computadores que poseen entrada/salida (E/S) localizada en memoria pueden usar instrucciones del tipo referencia a memoria para acceder a datos de E/S. II. Un computador siempre tiene tantas líneas de petición de interrupción como el número de periféricos que pueden solicitar interrupción. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 4.- Indique cuál de las siguientes afirmaciones es verdadera: A) Los puntos de control se realizan mediante circuitos cuya naturaleza depende de las características de los dispositivos conectados a los caminos de datos sobre los que actúan. B) Los puntos de control constituyen la parte de un sistema en que se almacenan y transforman los datos. C) Las señales de control son salidas de la Unidad de Procesamiento que se utilizan por la Unidad de Control para determinar las señales de condición. D) Todas las afirmaciones anteriores son falsas. 5.- Indique si las siguientes afirmaciones son verdaderas: I. Las Unidades de Control se pueden clasificar en dos grandes grupos: de lógica microprogramada y de lógica combinacional. II. Las entradas de la Unidad de Procesamiento que reciben las señales de condición se denominan puntos de condición. A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Utilizando microinstrucciones con formato vertical, un subcampo de j bits puede especificar un máximo de: A) 2 j señales de control. B) j señales de control. C) 2 j -1 señales de control.d) Ninguna de las anteriores. 7.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento y del contenido de la memoria, cuántos de los registros de máscara propuestos a continuación producirían ese registro de marca en el acceso a memoria? ARGUMENTO???????? MÁSCARA MARCA Máscara Máscara Máscara Máscara Máscara 5 A) 1 B) 2 C) 3 D) Ninguna de los anteriores 8.- Sea una UCP con 4 líneas de interrupción PI 3, PI 2, PI 1 y PI 0, de las cuales son enmascarables las tres primeras mediante 3 bits del registro de estado RE de la UCP, de forma que una petición de interrupción en PI j enmascara las líneas PI i con i<j e i 0. Se supone que se producen 4 peticiones de interrupción en este orden: PI 3, PI 2, PI 0 y PI 1. Teniendo en cuenta que las tres últimas se producen mientras se está ejecutando el programa de servicio de PI 3, en qué orden se tratan las interrupciones? A) PI 3, PI 0, PI 2 y PI 1 B) PI 3, PI 0, PI 3, PI 2 y PI 1 C) PI 3, PI 1, PI 0 y PI 2 D) PI 3, PI 1, PI 3, PI 2 y PI 0

40 9.- Utilizando el método de la suma condicional para sumar 2 números de 16 bits cada uno, cuántos bits del resultado se conocen de forma correcta al finalizar el paso 4? A) 2 B) 4 C) 8 D) Todos 10.- Un computador tiene una unidad de memoria de 4096 (2 12 ) palabras y una memoria caché de 256 (2 8 ) palabras. La memoria caché es asociativa por conjuntos, con 16 conjuntos y 2 particiones cada conjunto. Cuando se produce un fallo en la caché, en el conjunto correspondiente se reemplaza la partición más antigua. Suponiendo que inicialmente la memoria caché está vacía, cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal, , , , , y ? A) 3 B) 4 C) 5 D) Ninguna de las anteriores Cuestiones Teóricas :Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.6 puntos): Para qué sirven los algoritmos de reemplazamiento en una memoria caché? Cuando un nuevo bloque se transfiere a la memoria caché debe sustituir a uno de los ya existentes. En las técnicas de tipo asociativo es necesario definir un algoritmo de reemplazamiento que decida qué bloque, de entre todos los posibles que puede sustituir el nuevo bloque, debe abandonar la memoria caché. Libro de Teoría, página 102. Cuestión 2 (0.6 puntos): Describa cuándo y por qué realizaría una Unidad de Control utilizando elementos de retardo. Esta técnica de diseño se caracteriza por su sencillez al ser una transcripción directa del diagrama de estados pero, a cambio, al no codificar los estados utiliza un gran número de elementos de memoria: uno por cada estado. Por tanto, cuando el número de estados no sea excesivamente alto es un buen método para diseñar una Unidad de Control. Libro de Problemas, página 172. Cuestión 3 (0.8 puntos): Ventajas e inconvenientes de la realización de una pila como un conjunto de registros frente a una pila formada por una zona de la memoria principal. Pila realizada como un conjunto de registros: Ventajas: velocidad alta Desventajas: utiliza hardware propio de la UCP, coste alto y capacidad limitada Pila formada por una zona de memoria principal: Ventajas: utiliza memoria principal, coste bajo y gran capacidad Desventajas: Velocidad baja Libro de Teoría, página 109. Problema (NO conteste en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada operación de un sistema digital, siendo C(0) el bit menos significativo del registro C. En el desplazamiento a la derecha se introduce un 0. Utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una y un contador módulo-8; además 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). 1: Declaración de registros : A[8], B[8], C[8], Contador[3] 2: A Bus 3: B Bus 4: C Bus 5: for Contador = 0 to 7 do 6: begin 7: if C(0) C(1) then A A / B 8: else A A + B endif 9: Desplazar derecha (C) 10: end 11: Parar; E D E Reg. Desp. Q c 0 c 1 A UAL R B c 0 c 1 Contador c 1 c 0 Q c 1 c 0 R c 1 c 0 Q 00 Nada 00 A+B 00 Q(t) 01 Carga 01 A-B Des. Dcha. 10 A*B 10 Q(t)+1 mod 8 11 Nada 11 A/B 11 Q(t) Q c 0 c 1

41 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 96 Junio 96 (1ª semana) (2ª semana) Septiembre 96 1 B D D 2 A D D 3 C D B 4 B A A 5 B D D 6 B C C 7 C A C 8 C A B 9 D D C 10 C D C

42 .

43 96 Problemas de los exámenes del curso 95/96 Problema 96-1: 1ª semana de junio de 1996 Se desea realizar una Unidad Aritmético Lógica que realice dos operaciones, suma y comparación de dos números X (x 2 x 1 x 0 ) e Y (y 2 y 1 y 0 ) de 3 bits cada uno, siendo su salida S (s 3 s 2 s 1 s 0 ). x 2 x 1 x 0 y 2 y 1 y 0 c UAL s 3 s 2 s 1 s 0 Figura Diagrama de bloques de la UAL El funcionamiento de la unidad viene descrito por: c = 0 : suma S = X + Y c = 1 : comparación Si X > Y entonces S = Si X = Y entonces S = Si X < Y entonces S =

44 Estructura y Tecnología de Computadores II Para resolver el problema, seguir obligatoriamente los siguientes apartados: A)(1 punto) Diseñar un comparador de números de 1 bit utilizando únicamente puertas lógicas. B) (1.5 puntos) Utilizando comparadores como el diseñado en el apartado A) y puertas lógicas, diseñar un comparador de números de 3 bits. C) (0.5 puntos) Utilizando únicamente sumadores binarios completos (SBC), diseñar un sumador binario de números de 3 bits. D)(1 punto) Utilizando únicamente los módulos diseñados en B) (comparador de números de 3 bits) y C) (sumador binario de números de 3 bits) y los circuitos combinacionales que considere necesarios, diseñe la UAL pedida. Solución A) El módulo comparador de dos bits que se quiere diseñar viene representado en la Figura , donde x e y son las entradas de datos, y M, I y m son las tres salidas del comparador. x y x>y x=y x<y M I m Figura Diagrama de bloques de un comparador de dos bits Como el enunciado sólo permite utilizar puertas lógicas vamos a implementarlo mediante un circuito combinacional. La Tabla muestra la tabla de verdad del comparador de 2 bits. 2

45 96 Problemas de los exámenes del curso 95/96 x y M I m Tabla Tabla de verdad del comparador de 1 bit A partir de la Tabla se deducen las siguientes funciones lógicas para M, I y m: M = x y I = x y + x y = x y + x y m = x y y el circuito lógico correspondiente se muestra en la Figura x M I y m Figura Comparador de 2 bits solicitado en el apartado A) B) Para comparar X e Y es necesario comparar cada bit de uno de ellos con el bit de igual peso del otro. Para hacer estas comparaciones utilizamos comparadores de 1 bit como el diseñado en el apartado anterior. Si el resultado de la comparación de x i e y i es: M i, I i y m i, se cumple que: M i =1 si x i > y i 3

46 Estructura y Tecnología de Computadores II I i =1 si x i = y i m i =1 si x i < y i A partir de M i, I i y m i se generan las salidas M, I y m del comparador de 3 bits mediante las siguientes funciones booleanas: M = M 2 + I 2 M 1 + I 2 I 1 M 0 I = I 2 I 1 I 0 m= m 2 + I 2 m 1 + I 2 I 1 m 0 La explicación de estas expresiones es inmediata: x > y si (x 2 > y 2 ) ó ((x 2 = y 2 ) y (x 1 > y 1 )) ó ((x 2 = y 2 ) y (x 1 = y 1 ) y (x 0 > y 0 )) x = y si (x 2 = y 2 ) y (x 1 = y 1 ) y (x 0 = y 0 ) x < y si (x 2 < y 2 ) ó ((x 2 = y 2 ) y (x 1 < y 1 )) ó ((x 2 = y 2 ) y (x 1 = y 1 ) y (x 0 < y 0 )) La Figura muestra el circuito lógico pedido en este apartado obtenido a partir de las expresiones anteriores. x 2 y 2 x 1 y 1 x 0 y 0 x>y x=y x<y x>y x=y x<y x>y x=y x<y M 2 I 2 m 2 M 1 I 1 m 1 M 0 I 0 m 0 M I m Figura Circuito lógico de un comparador de dos números de 3 bits 4

47 96 Problemas de los exámenes del curso 95/96 C) Sobre este apartado no hay ningún comentario a hacer, y directamente la solución es la mostrada en la Figura x 2 y 2 x 1 y 1 x 0 y 0 c 2 SBC c 1 SBC c 0 SBC c -1 s 2 s 1 Figura Sumador paralelo de números de 3 bits D) En la Figura se muestra la estructura de la UAL pedida en el enunciado del problema, donde además de los módulos diseñados en los apartados anteriores, se han empleado 4 multiplexores con 2 entradas de datos y una salida. La entrada de selección de la c del la UAL está conectada directamente a la entrada de seleccion de los cuatro multiplexores de forma que: si c = 0 la salida de la UAL S = M I m 0 si c=1 la salida de la UAL S = X+Y Hay que observar como el acarreo de salida del sumador de 3 bits se ha conectados a la salida más significativa de la UAL, ya que esa es realmente su función. El resultado de la suma de 2 números de 3 bits requiere un máximo de 4 bits. s 0 NOTA Este problema tiene ciertas similitudes con los problemas 4-29, 4-30, 4-31 y 4-39, propuestos el texto base teórico y resueltos en el texto base práctico. 5

48 Estructura y Tecnología de Computadores II X Y UAL x 2 x 1 x 0 y 2 y 1 y 0 x 2 x 1 x 0 y 2 y 1 y 0 COMPARADOR c 2 SUMADOR M I m s 2 s 1 s 0 c c 0 MUX c 0 MUX c 0 MUX c 0 MUX s 3 s 2 s 1 s 0 Figura Estructura de la UAL pedida en el problema Problema 96-2: 2ª semana de junio de 1996 Diseñar el circuito de comparación secuencial que se muestra en la figura. El circuito posee dos entradas de datos X e Y, una entrada de señal de reloj y una salida Z = {M, I, m}. Recibe los bits x i e y i de forma serie, comenzando por los más significativos. El circuito genera sus salidas de acuerdo con la siguiente tabla: M I m X > Y X = Y X < Y Tabla Salidas del comparador 6

49 96 Problemas de los exámenes del curso 95/96 Para ello: A)(1.5 puntos) Indique el diagrama de estados del circuito, especificando claramente cuál es el significado de cada uno de los estados. B) (0.5 puntos) Indique cómo codifica los estados y obtenga la tabla de transición de estados correspondiente. C) (1 punto) Suponiendo que sólo dispone de biestables tipo D para el diseño del circuito, calcular las funciones de excitación de los biestables. D)(1 punto) Implemente el circuito con biestables tipo D y puertas lógicas NAND y NOT únicamente. Reloj Comparador secuencial X Y x n-1 x n-2... x 0 y n-1 y n-2... y 0 M I m Solución Figura Diagrama de bloques del comparador S0 / 010 S1 / xx 01 S2 / 001 xx Figura Diagrama de estados del circuito Un posible diagrama de transición de estados para el comparador secuecial 7

50 Estructura y Tecnología de Computadores II propuesto es el de la Figura Los símbolos utilizados en este diagrama son los mostrados en la Figura donde: S i es el estado, x i y i son los bits de la entrada, y MIm son los tres bits de la salida. S i / MIm x i y i Figura Significado de los símbolos utilizados en el diagrama de estados La explicación del diagrama de estados de la Figura es la siguiente. Al comparar dos números binarios X e Y, comenzando por sus bits de más peso, en cuanto lleguen al comparador dos bits distintos ya es posible indicar cuál de ellos es menor y cuál es mayor, independientemente del valor de los siguientes bits. Por ejemplo: X = Y = a partir del bit marcado ya se sabe que X>Y. El sistema parte de un estado S0 que significa que los dos números a comparar son iguales. Si los bits de igual peso de X y de Y que van llegando son iguales, el sistema no cambia de estado, pero en el instante en que lleguen dos distintos, pasa al estado S1 si x i >y i o al estado S2 si x i <y i. A partir de ese momento, independientemente del valores de las siguientes entradas al comparador, el sistema no cambia de estado. Luego el significado de los estados es el siguiente: S0 X = Y S1 X > Y S2 X < Y A partir del diagrama de estados de la Figura se obtiene directamente la tabla de estados mostrada en la Tabla

51 96 Problemas de los exámenes del curso 95/96 Estado presente Entradas x i y i Salida M I m S0 (igual) S0 S2 S1 S S1 (mayor) S1 S1 S1 S S2 (menor) S2 S2 S2 S Próximo estado Tabla Tabla de estados del comparador secuencial B) Una posible codificación de los estados es la mostrada en la Tabla Estado Q 1 Q 0 S0 (igual) 0 0 S1 (mayor) 0 1 S2 (menor) 1 0 Tabla Codificación de los estados A partir de esta codificación y de la Tabla se obtiene directamente la tabla de transición de estados (Tabla ). 9

52 Estructura y Tecnología de Computadores II Estado pres. Entradas x i y i Q 1 Q 0 Salida M I m Próximo estado Tabla 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 D 1 y D 0 a los dos elementos de memoria necesarios para almacenar el estado del comparador (ver Figura ). Q 1 Q 0 x i y i x 1 Q 1 Q 0 x i y i x 01 1 x x 11 x x 10 x x D 1 = x i y i Q 0 + Q 1 D 0 = x i y i Q 1 + Q 0 Figura 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

53 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 y i Q 0 + Q 1 = x i y i Q 0 Q 1 D 0 = x i y i Q 1 + Q 0 = x i y i 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 Q 1 Q 0 M I m x x x Tabla Valor de la salida en función del estado Las expresiones lógicas para la salida que se obtienen de la Tabla son: M = Q 0 I = Q 1 Q 0 = Q 1 Q 0 m = Q 1 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

54 Estructura y Tecnología de Computadores II x i D 1 Q 1 m Ck Q 1 I y i D 0 Q 0 M Reloj Ck Q 0 Figura 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 : Declaración de registros : A[8], B[8], C[8], Contador[3] 2: A Bus 3: B Bus

55 96 Problemas de los exámenes del curso 95/96 4: C Bus 5: for Contador = 0 to 7 do 6: begin 7: if C(0) C(1) then A A / B 8: else A A + B endif 9: Desplazar derecha (C) 10: end 11: Parar; Utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una y un contador módulo-8; además de biestables tipo D, puertas lógicas y los módulos combinacionales que considere necesarios: A)Diseñar la Unidad de Procesamiento que permita realizar este algoritmo. B) Diseñar la Unidad de Control, utilizando la técnica de elementos de retardo, que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A). E A B E D c 0 Reg. despl. c 1 UAL c 0 c 1 Contador c 0 c 1 Q R Q c1c0 Q c1c0 R c1c0 Q 0 0 Nada 0 0 A+B 0 0 Q(t) 0 1 Carga 0 1 A-B Desp. Dcha 1 0 A*B 1 0 Q(t)+1 mod Nada 1 1 A/B 1 1 Q(t) Figura 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

56 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 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 por lo que se puede fijar una de ellas, la más significativa c 1, directamente a c 1 c 0 Q 0 0 Nada 0 1 Carga

57 96 Problemas de los exámenes del curso 95/96 Bus 0 E D 0 1 MUX c 0 c Reg. des. 0 c c c1 E Reg. des. 0 c c 1 2 D c1 E Reg. des. 0 c D c1 c 4 A B C(1) C(0) C A UAL c 0 c B c 0 c 7 5 Contador c1 c 8 c1 c 6 s 1 s 0 = C(0) C(1) Inicio Fin Reloj Circuito de Control Figura Diagrama de bloques, puntos de control (c 0 a c 9 ) y señales de condición (s 0 y s 1 ) 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 ). c 0 c 1 c 8 Unidad de Procesamiento Unidad de Control 15

58 Estructura y Tecnología de Computadores II Señal de Control c 0 c 1 c 2 Operación controlada Entrada de selección del multiplexor Cargar A desde la salida del multiplexor Cargar B desde el Bus c 4 y c 3 Cargar C desde el Bus (01), desplazamiento derecha de C (10) o nada (00) c 6 y c 5 Control de la UAL: suma (00), resta (01), producto (10) o división (11) c 8 y c 7 Control del contador: nada (00 y 11), reset (01) o incremento (10) Tabla 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 , es el mostrado en la Figura La Tabla 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. S 7 S 4 s 1 S 0 S 1 S 2 S 3 s 0 S 6 s 1 S 8 s 0 S 5 Figura Diagrama de estados de la Unidad de Control 16

59 96 Problemas de los exámenes del curso 95/96 Estado de la Unidad de Control Microoperaciones efectuadas Señales de control a activar S 0 A Bus contador 0 c 0, c 1, c 7 S 1 B Bus c 2 S 2 C Bus c 3 S 3 Ninguna Ninguna S 4 A A / B c 1, c 6, c 7 S 5 A A + B c 1 S 6 Desplazar derecha C c 4 S 7 Incrementar contador c 8 S 8 Ninguna Ninguna Tabla 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 se muestra la Unidad de Control diseñada utilizando este método, junto con el diagrama de estados de la Figura , redibujado en vertical, para servir de apoyo en el diseño. 17

60 Estructura y Tecnología de Computadores II 0 S 0 S 0 S 1 S 2 S 1 S 2 c 0, c 1, c 7 c 2 c 3 S 3 S 3 s 0 s 0 = 0 S 4 s 0 = 1 S 4 S 5 c 1, c 6, c 5 c 1 S 5 S 6 s 1 S 6 c 4 s 1 = 1 S 7 s 1 = 0 S 7 c 8 S 8 S 8 Reloj Clear Figura Unidad de Control 18

61 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª 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 10 8 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 palabras/seg. II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos es de 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.

62 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 2 5 palabras x 27 bits/palabra. B) Un registro de 13 bits, un MUX 4:1 y una ROM de 2 5 palabras x 23 bits/palabra. C) Un registro de 4 bits, un MUX 4:1 y una ROM de 2 5 palabras x 23 bits/palabra. D) Ninguna de las anteriores es cierta 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. y i =0 y i =1 x i =0 - p x i =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 Problema (NO conteste en el dorso de la hoja de lectura óptica):[prg15] Periféricos La figura muestra el diagrama de estados de una Unidad de Control donde S i es el estado, s i son las condiciones externas y, además, se supone que en cada estado S i se activa únicamente la señal de control c i.. 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. S 1 s 1 s 0 =01 s 1 s 0 =00,10 S 0 Clear Salidas paralelo s 1 s 0 =11 s 1 s 0 =00,01,10 s 1 =0 s 1 =1 s 0 =1 S 4 S 2 S 3 S 5 s 1 s 0 =11 s 0 =0 Carga Reloj Cl L H Habilitación Q 2 Q 1 Q 0 Contador módulo 8 E 2 E 1 E 0 Entradas paralelo

63 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª 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 (2 13 ) palabras y una memoria cache, asociativa por conjuntos, de 128 (2 7 ) palabras. Suponiendo que la UCP genera la dirección memoria principal , 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 10 6 bytes/seg., y las de cinta de 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) log 2 n C) log 2 n + 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 2 8 palabras 5 bits/palabra. A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

64 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 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; E D Ck E Reg. Desp. Q c 0 c 1 A UAL R B c 0 c 1 Contador c 1 c 0 Q(t+1) c 1 c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 00 A+B 00 Q(t) 0-01 Carga 01 A-B E 10 Des. Dcha. 10 A*B 10 Q(t)+1 mod 8 11 Q(t) 11 A/B 11 Q(t) Ck Q c 0 c 1 E S c 0

65 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre 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 (2 8 ) palabras y una memoria caché de 32 (2 5 ) palabras. La memoria caché es totalmente asociativa, con un tamaño de partición de 8 (2 3 ) 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: , , , , , , y Indicar si las siguientes afirmaciones son verdaderas:[prg35] I. Si se leyera la dirección , se produciría un acierto en la memoria caché.[prg36] II. Si se leyera la dirección , 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 2 N/2 salidas. B) Un decodificador de N entradas y 2 N salidas. C) Dos decodificadores de N/2 entradas y N/2 salidas. D) Un decodificador de N/2 entradas y 2 N/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].

66 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 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: 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 uno de los estados. 1: Declaración de registros: A[8], X[8]; 2: Declaración de buses: Bus-Entrada[8], Bus-Salida[8]; 3: Inicio: X Bus-Entrada; 4: A Bus-Entrada; 5: Test: if X = 255 then go to Sumar; 6: Restar: A A 1; 7: go to Sacar; 8: Sumar: A A + 1; 9: Sacar: Bus-Salida A; 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.

67 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 97 (1ª semana) Junio 97 (2ª semana) Septiembre 97 1 A C A 2 A B D 3 D B B 4 B D A 5 C C C 6 A A B 7 D D B 8 B B D 9 A B B 10 A C B

68 97 Problemas de los exámenes del curso 96/97 Problema 97-1: 1ª semana de Junio de 1997 La Figura muestra el diagrama de estados de una Unidad de Control donde S i es el estado, s i son las condiciones externas y, además, se supone que en cada estado S i se activa únicamente la señal de control c i. 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. S 1 s 1 s 0 =01 S 0 s 1 s 0 =00,10 s 1 s 0 =11 s 1 s 0 =00,01,10 s 1 =0 s 1 =1 s 0 =1 S 4 S 2 S 3 S 5 s 1 s 0 =11 s 0 =0 Figura Diagrama de estados de la Unidad de Control 1

69 Estructura y Tecnología de Computadores II Clear Salidas paralelo Carga Reloj L > Cl Q 2 Q 1 Q 0 Contador módulo 8 H E 2 E 1 E 0 Habilitación Entradas paralelo Figura 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 ).. Estados Predecesores S i S j Reloj D S i S j Q Determinado por las condiciones S i S j S k Estados Sucesores a) b) Variables de Condición Reloj S i Demultiplexor Figura 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 Hemos de recordar que, según se indica en el enunciado, en el estado S i se genera únicamente la señal de control c i, por lo que la propia salida de cada biestable sirve como señal de control c i. La puesta en marcha del circuito se realiza poniendo a 0 la señal Set de S 0 (lo que hace que la salida de este biestable se ponga a 1) y, simultáneamente, 2

70 97 Problemas de los exámenes del curso 96/97 poniendo a 0 las señales Clear de S 1 a S 5 (con lo que estos biestables se ponen a 0). > S 0 Set s 1 s 0 s 1 s 0 s 1 s 0 s 1 s 0 c 0 > S 1 c 1 > S 2 S c > 4 2 s 1 > S 3 c 3 s 0 s 0 s 1 c 4 CK Clear s 0 s 1 > S 5 c 5 Figura U.C. mediante elementos de retardo 3

71 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 , 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 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 S i --> S i+1 se realiza incrementando la cuenta ( contando ) del contador: H=1 y L=0. 2) La ruptura de secuencia S i --> S j se realiza con la carga en paralelo: L=1 y H=0, poniendo en la entrada E del contador la codificación elegida para S j. 3) Permanecer en el mismo estado (S i --> S i ) 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 S i. 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 ) se producirán numerosas rupturas de secuencia, lo 4

72 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 existe una secuencia natural : S 0 --> S 1 --> S 4 --> S 2 --> S 3 --> S 5 Por esta razón, es mejor utilizar la codificación propuesta en la Tabla , ya que minimiza el número de rupturas.. S S S S S S Tabla Una posible codificación del estado S S S S S S Tabla Codificación alternativa del estado para minimizar las rupturas de secuencia Aquí resolveremos el problema utilizando la codificación propuesta en la Tabla El alumno puede repetirlo, como ejercicio conveniente, utilizando la codificación de la Tabla y comparar la complejidad de los circuitos que resultan con cada una de ellas. Hechas estas observaciones, la Tabla recoge el valor de las entradas 5

73 Estructura y Tecnología de Computadores II H, L, E 2, E 1 y E 0 del contador que se han de activar en cada estado. Estado actual s 1 s 0 Próx. estado H L E 2 E 1 E 0 S. cont. S S 0 S 1 S 0 S * 1 x x x x x x x x x c 0 S S x x x c 1 S S x x x c 2 S S 4 0 S x x x c 3 S S 4 0 S 2 1 0* 0 x x x x x x c 4 S S 0 S 0 S 0 S * x x x c 5 Tabla 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 se obtienen fácilmente las funciones lógicas de los controles del contador. Las entradas E 2 E 1 E 0 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: E 2 =0; E 1 =S 0 +S 3 ; E 0 =S 0 ; L=S 0 s 1 s 0 +S 3 s 0 +S 5 (s 1 +s 0 ); H=S 0 s 1 s 0 +S 1 +S 2 +S 3 s 0 +S 4 s 1. A partir de estas expresiones se construye la U.C. que se muestra en la Figura Las señales de control c i se generan mediante un decodificador 6

74 97 Problemas de los exámenes del curso 96/97 a partir del estado Q 2 Q 1 Q 0, teniendo en cuenta que hemos elegido la codificación dada en la Tabla S 0 s 1 s 0 Inicio H Decodificador S 5 c 5 S 3 c 3 S 2 c 2 S 4 c 4 S 1 c 1 S 0 c 0 S 3 s 0 S 3 (s 1 +s 0 ) CK L > Cl Q 2 Q 1 Q 0 Contador módulo 8 H E 2 E 1 E 0 0 S 0 S 0 S 3 S 0 s 1 s 0 S 1 S 2 S 3 s 0 S 4 s 1 Figura 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

75 Estructura y Tecnología de Computadores II a) b) Figura 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

76 97 Problemas de los exámenes del curso 96/97 7: if C(3) = C(5) then A A * B 8: else A A - B endif; 9: Desplazar derecha (C); 10: end; 11: Bus A; 12: Parar; Ck E A B Ck E E D Reg. Desp. Q c 0 c 1 UAL R c 0 c 1 Contador Q c 1 c 0 Q(t+1) c 1 c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 00 A+B 00 Q(t) 0-01 Carga 01 A-B E 10 Des. Dcha. 10 A*B 10 Q(t)+1 mod 8 11 Q(t) 11 A/B 11 Q(t) c 0 c 1 S c 0 Figura 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

77 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 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 Sobre este diseño conviene hacer una observación. Los registros A y B sólo 10

78 97 Problemas de los exámenes del curso 96/97 van a utilizar dos valores de sus entradas de control c 1 c 0 Q(t+1) 0 0 Q(t) 0 1 Carga por lo que se puede fijar su entrada de control c 1 directamente a 0. Bus 0 c 0 E D 0 1 MUX c 9 c Reg. des. 0 c 1 c c1 E Reg. des. 0 c 2 c D c1 E Reg. des. 0 c D c1 c 4 A B C(3) C(5) C A UAL B c 0 c1 c 5 c 6 Contador c 0 c 1 c 7 c 8 s 1 s 0 = C(3) C(5) Reloj Inicio Fin Circuito de Control Figura Diagrama de bloques, puntos de control (c 0 a c 9 ) y señales de condición (s 0 y s 1 ) 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 ). c 0 c 1 c 9 Unidad de Control Unidad de Procesamiento 11

79 Estructura y Tecnología de Computadores II Señal de Control c 0 c 1 c 2 Operación controlada Entrada de selección del multiplexor Cargar A desde la salida del multiplexor Cargar B desde el Bus c 4 y c 3 Cargar C desde el Bus (01), desplazamiento derecha de C (10) o nada (00) c 6 y c 5 Control de la UAL: suma (00), resta (01), producto (10) o división (11) c 8 y c 7 Control del contador: nada (00 y 11), reset (01) o incremento (10) c 9 Control del circuito triestado: Bus A (1), A aislado del bus (0) Tabla 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 , es el mostrado en la Figura La Tabla 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 s 1 S 4 s 1 S 0 S 1 S 2 S3 s 0 S 6 S 7 s 0 S 5 s 1 s 1 Figura Diagrama de estados de la Unidad de Control 12

80 97 Problemas de los exámenes del curso 96/97 Estado de la Unidad de Control S 0 Microoperaciones efectuadas A Bus contador 0 Señales de control a activar c 0, c 1, c 7 S 1 B Bus c 2 S 2 C Bus c 3 S 3 Ninguna Ninguna S 4 A A - B c 1, c 5, c 4, c 8 Desplazar derecha C Incrementar contador S 5 A A * B c 1, c 6, c 4, c 8 Desplazar derecha C Incrementar contador S 6 Bus A c 9 S 7 Ninguna Ninguna Tabla 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

81 Estructura y Tecnología de Computadores II Estado Q 2 Q 1 Q 0 S S S S S S S S Tabla Codificación de los estados La Figura 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 2 4 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

82 97 Problemas de los exámenes del curso 96/ s 0 3 s 1 s MUX A 0 A 1 A A 3 Inicio Reloj Estado futuro Cl Registro Estado presenteq 2 Q 1 Q 0 p 12 p 11 p 10 p 9 p 8 ROM 16 palabras 13 bits c 9 c 8 p 7 p 6 c 7 c 6 c 5 p 5 p 4 p 3 p 2 p 1 c 4 c 3 c 2 c 1 p 0 c 0 Figura Unidad de Control diseñada con una memoria ROM Estado Presente Dirección de la ROM A 3 A 2 A 1 A 0 Estado presente + Cond. Q 2 Q 1 Q 0 s i Contenido de la ROM p 12 p 11 p 10 p 9 p 8 p 7 p 6 p 5 p 4 p 3 p 2 p 1 p 0 Próximo Estado Control Q 2 Q 1 Q 0 c 9 c 8 c 7 c 6 c 5 c 4 c 3 c 2 c 1 c S S S S (si s 0 = 0) (si s 0 = 1) S (si s 1 = 0) (si s 1 = 1) S (si s 1 = 0) (si s 1 = 1) S S Tabla Contenido de la memoria ROM 15

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

84 97 Problemas de los exámenes del curso 96/97 8 Bus-Entrada c MUX c 1 CK c 4 LD LD A X > CK > 1 8 c 2 S/R 0 s 0 (X=255) c 3 8 Bus-Salida Figura 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 c 3. 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 s 0. 17

85 Estructura y Tecnología de Computadores II B) Señal Descripción c 0 c 1 Selecciona una de las entradas del multiplexor Carga del registro A c 2 Suma (1) o resta (0) c 3 c 4 Salida del registro A al bus de salida Carga del registro X Tabla Descripción de las señales de control utilizadas C) s 0 S 0 S 1 S 2 s 0 S 4 S 5 S 3 Figura Diagrama de estados Estado Microoperación Señales de control S 0 X Bus-Entrada c 4 S 1 A Bus-Entrada c 0,c 1 S 2 A A + 1 c 0,c 1, c 2 S 3 A A - 1 c 0,c 1, c 2 Tabla Descripción de los estados y sus microoperaciones asociadas 18

86 97 Problemas de los exámenes del curso 96/97 Estado Microoperación Señales de control S 4 Bus-Salida A c 3 S 5 Parar Tabla 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 Estado Q 2 Q 1 Q 0 S S S S S S Tabla Tabla de codificación de los estados Del diagrama de estados de la Figura y la codificación elegida en la Tabla se obtiene directamente la tabla de transición de estados (Tabla ), y a partir de ella las funciones lógicas de las entradas de los biestables mediante mapas de Karnaugh. 19

87 Estructura y Tecnología de Computadores II Est. actual Q 2 Q 1 Q 0 Condición Próx. estado Q 2 Q 1 Q 0 S. control c s 0 s c 0,c c 0,c 1, c c 0,c 1, c c Tabla Tabla de transición de estados D Q 1 Q 0 s 0 Q Q 1 Q 0 s 0 Q Q 1 Q 0 s 0 Q X X D X X D X X X X X X X X D 2 =Q 2 +Q 1 ; D 1 =Q 2 Q 1 Q 0 ; D 0 =Q 2 +s 0 Q 1 Q 0. A partir de aquí se construye fácilmente la Unidad de Control siguiendo la técnica de diseño correspondiente (Figura ). Para general las señales de control se puede utilizar un decodificador, a partir de la codificación del estado Q 2 Q 1 Q 0. 20

88 97 Problemas de los exámenes del curso 96/97 Q 2 s 0 Q 1 Q 0 Q 1 Q 2 Q 1 Q 0 Q 2 CK CK CK D 2 Q 2 > Q 2 D 1 Q 1 > Q 1 D 0 Q 0 > Cl Cl Cl Inicio Inicio Q H Decodificador c 3 c 0,c 1 c 0,c 1,c 2 c 1 c 4 Inicio Figura Unidad de Control 21

89 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª semana) INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para superarlo. Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. 1.- Sea una UCP con 4 líneas de interrupción PI 1, PI 2, PI 3 y PI 4, numeradas en orden creciente de prioridad, es decir, PI 1 tiene la prioridad mínima y PI 4 la máxima. El sistema no permite anidamiento de interrupciones. Se supone que se producen 4 peticiones de interrupción en este orden: PI 3, PI 1, PI 4 y PI 2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está ejecutando el programa de servicio de PI 3, en qué orden se tratan las interrupciones? A) PI 3, PI 4, PI 3, PI 2 y PI 1 B) PI 3, PI 4, PI 2 y PI 1 C) PI 3, PI 1, PI 4 y PI 2 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? ARGUMENTO MÁSCARA ? ? ? MARCA ? ? 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 10 6 bytes/seg., y las de cinta de 10 3 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 ( es la OR exclusiva). 1 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: I. Un subcampo de j bits puede especificar un máximo de 2 j 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.

90 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 2 6 palabras 35 bits/palabra. B) Un registro de 18 bits, un MUX 8:1 y una ROM de 2 5 palabras 48 bits/palabra. C) Un registro de 5 bits, un MUX 8:1 y una ROM de 2 6 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 (x 2 x 1 x 0 ) e Y (y 1 y 0 ), una entrada de control C (c 1 c 0 ) y una salida de datos S (s 3 s 2 s 1 s 0 ). El funcionamiento de la UAL viene descrito por la siguiente tabla: c 1 c 0 = 00 : suma S = X + Y c 1 c 0 = 01 : resta S = X - Y c 1 c 0 = 10 : comparación Si X > Y entonces S = Si X = Y entonces S = Si X < Y entonces S = c 1 c 0 = 11 : sacar X S = X (s 3 =0, s 2 s 1 s 0 =x 2 x 1 x 0 ) 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). c 1 c x 2x 1x 0 y 1y 0 UAL s 3 s 2 s 1 s 0 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.

91 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Junio ª semana) INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para superarlo. Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. 1.- Sea una UCP con 5 líneas de interrupción PI 4, PI 3, PI 2, PI 1 y PI 0 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 PI i con i<j. Se supone que se producen 4 peticiones de interrupción en este orden: PI 2, PI 4, PI 3 y PI 1. Teniendo en cuenta que las interrupciones son anidables y que las tres últimas se producen simultáneamente y antes de finalizar la ejecución del programa de servicio de PI 2, en qué orden se tratan las interrupciones? A) PI 2, PI 4, PI 3, PI 2 y PI 1 B) PI 2, PI 4, PI 2, PI 3 y PI 1 C) PI 2, PI 4, PI 3 y PI 1 D) Ninguna de las anteriores 2.- Una arquitectura con bus: I. Su característica clave es que se trata de un medio de transmisión compartido. II. Tiene la ventaja de permitir ampliar el sistema fácilmente. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- Un computador tiene una unidad de memoria de 512 (2 9 ) palabras y una memoria caché de 32 (2 5 ) palabras. La memoria caché utiliza correspondencia totalmente asociativa, con un tamaño de partición de 8 (2 3 ) palabras. Suponiendo que inicialmente la memoria caché está vacía, cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal , , , , , , y ? A) 3 B) 4 C) 5 D) Ninguna de las anteriores 4.- Las memorias de almacenamiento dinámico: I. Deben ser refrescadas cada cierto tiempo debido a que la información que contienen se va deteriorando con el tiempo. II. Son memorias no volátiles. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Un computador dispone de un canal selector que controla 3 unidades de disco y 5 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de bytes/seg., y las de cinta de 10 5 bytes/seg. Si para la transferencia de un byte del canal selector a memoria principal se utiliza el bus del sistema durante 50 nseg., qué porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos a través de este canal selector?. A) 0.25 % B) 2.5 % C) 25 % D) Ninguna de las anteriores. 6.- En el mecanismo de E/S mostrado en la figura: I. Hay un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S. II. Se pueden utilizar instrucciones del tipo referencia a memoria para acceder a datos de E/S. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Se desea comparar dos números binarios de 4 bits cada uno: X=x 3 x 2 x 1 x 0 con Y=y 3 y 2 y 1 y 0. Utilizando comparadores de un bit se compara cada pareja de bits, x i con y i, obteniéndose: M i (x i >y i ), I i (x i =y i ) y m i (x i <y i ). Entonces: I. La función lógica M (X>Y) es M = M 3 + I 3 M 2 + I 3 I 2 M 1. II. La función lógica m (X<Y) es m = m 0 + I 0 m 1 + I 0 I 1 m 2 + I 0 I 1 I 2 m 3. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- Cuando en una operación de suma en coma flotante de dos mantisas del mismo signo se produce un arrastre del bit más significativo hay que realizar una operación de renormalización consistente en: I. Desplazar la mantisa un bit a la derecha y ajustar el exponente. II. Desplazar el exponente a la derecha un número determinado de bits dependiendo del desbordamiento de la mantisa. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 9.- En una unidad de control microprogramada: I. El secuenciamiento de las microinstrucciones consiste en obtener la próxima microinstrucción de la memoria de control. II. La ejecución de la microinstrucción consiste en generar las señales de control necesarias. A) sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Memoria Principal UCP Perif. 1 Controlador E/S... Bus de datos Bus de direcciones Leer Escribir Perif. n

92 10.- A la hora de diseñar una Unidad de Control con 32 estados, que genere 4 señales de control, reciba 2 señales de condición y en un estado se puedan consultar las dos condiciones simultáneamente, decir si las siguientes afirmaciones son ciertas: A) Diseñándola con elementos de retardo sería necesario utilizar 5 biestables (2 5 =32). B) Diseñándola con memoria ROM haría falta un módulo de 2 7 palabras 5 bits/palabra. C) Diseñándola con un contador haría falta un contador módulo-5. D) Ninguna de las anteriores es cierta. Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.6 puntos): En una memoria asociativa, explicar qué función tiene el registro etiqueta. (OUHJLVWURHWLTXHWDHVXQUHJLVWURHVSHFLDOTXHVLUYHSDUDGLVWLQJXLUODVSDODEUDVDFWLYDV FRQWLHQHQ GDWRV YiOLGRV H LQDFWLYDV QR FRQWLHQHQ GDWRV YiOLGRV (VWH UHJLVWUR WLHQH WDQWRV ELWVFRPRSDODEUDVKD\HQODPHPRULD3DUDFDGDSDODEUDDFWLYDDOPDFHQDGDHQODPHPRULDHOELW FRUUHVSRQGLHQWHGHOUHJLVWURHWLTXHWDVHSRQHD8QDSDODEUDVHERUUDGHPHPRULDSRQLHQGRD VXELWGHOUHJLVWURHWLTXHWD3DUDDOPDFHQDUXQQXHYRGDWRHQXQDPHPRULDDVRFLDWLYDKD\TXH EXVFDUXQDSDODEUDTXHWHQJDDVXELWGHOUHJLVWURHWLTXHWD 3iJLQDGHOOLEURGHWHRUtD HGLFLyQ Cuestión 2 (0.6 puntos): En una Unidad de Control microprogramada con formato de microinstrucciones vertical, explicar cuántas señales de control se pueden especificar con un subcampo de j bits. Por qué? 8QVXEFDPSRGHMELWVSXHGHHVSHFLILFDUXQPi[LPRGH M VHxDOHVGHFRQWURO\DTXHKD\TXH UHVHUYDUXQDGHODVFRGLILFDFLRQHVSDUDHOFDVRGHTXHQLQJXQDVHxDOGHFRQWUROHVWpDFWLYD 3iJLQDGHOOLEURGHWHRUtD HGLFLyQ Cuestión 3 (0.8 puntos): Cuáles son los dos tipos de Procesador de Entrada/Salida (PE/S) más comunes que se suelen emplear? Explicar brevemente sus características. &DQDOVHOHFWRU&RQWURODP~OWLSOHVGLVSRVLWLYRVGHDOWDYHORFLGDG(QFXDOTXLHULQVWDQWHGHWLHPSR HVWiGHGLFDGRDODWUDQVIHUHQFLDGHGDWRVFRQXQRVyORGHHVWRVGLVSRVLWLYRV &DQDOPXOWLSOH[RU&RQWURODP~OWLSOHVGLVSRVLWLYRV GH EDMD YHORFLGDG 3XHGH FRQWURODU GH IRUPD VLPXOWiQHDRSHUDFLRQHVGH(6FRQP~OWLSOHVGLVSRVLWLYRV 3iJLQDV\GHOOLEURGHWHRUtD HGLFLyQ Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada operación de un sistema digital. A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos. B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A) empleando cualquiera de los métodos propuestos en la asignatura. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. Ck E A B Ck E 1: Declaración: A[8], B[8], Cont[3]; 2: A Bus; 3: B Bus; 4: for Cont = 0 to 7 do 5: if Cont es par then 6: A A + B; A A / 2 7: else 8: B B - A; B B * 2 9: endif; 10: endfor; 11: Bus A; 12: Bus B; 13: Parar; ED c0 EI Reg. Desp. UAL Contador c1 c1 Q R Q S c 1 c 0 Q(t+1) c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 0 A+B 00 Q(t) 0-01 Des. Dcha. 1 A-B E 10 Des. Izq. 10 Q(t)+1 mod 8 11 Carga 11 Q(t) c0 c0 c0

93 ESTRUCTURA Y TECNOLOGÍA DE LOS COMPUTADORES II (Septiembre Original) INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tipo de Examen: A - Tiempo: 2 horas. NO SE PERMITE EL USO DE NINGÚN MATERIAL. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para superarlo. Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. 1.- Sea una UCP con 4 líneas de interrupción enmascarables PI 1, PI 2, PI 3 y PI 4, numeradas en orden creciente de prioridad, es decir, PI 1 tiene la prioridad mínima y PI 4 la máxima. El sistema permite anidamiento de interrupciones. Se supone que se producen 4 peticiones de interrupción en este orden: PI 3, PI 1, PI 4 y PI 2. Teniendo en cuenta que las tres últimas se producen simultáneamente mientras se está ejecutando el programa de servicio de PI 3, en qué orden se tratan las interrupciones? A) PI 3, PI 4, PI 3, PI 2 y PI 1 B) PI 3, PI 4, PI 2 y PI 1 C) PI 3, PI 1, PI 4 y PI 2 D) Ninguna de las anteriores 2.- A la hora de diseñar un bus hay que tener en cuenta ciertas consideraciones prácticas como puede ser el fan out. III. El fan out de un circuito lógico especifica el número mínimo de entradas a las que puede conectarse su salida. IV. El fan out depende de la tecnología de fabricación de los circuitos integrados que se utilicen. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento, del registro de máscara y del registro de marca, cuál podría ser el contenido de la sexta columna de la memoria? ARGUMENTO MÁSCARA ? ? ? MARCA ? ? A) B) C) D) Ninguna de las anteriores 4.- Las memorias de almacenamiento estático: III. Deben ser refrescadas cada cierto tiempo debido a que la información que contienen se va deteriorando con el tiempo. IV. Consumen menos energía que sus equivalentes de almacenamiento dinámico. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 10 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de 10 3 bytes/seg. La velocidad máxima de transferencia agregada a este sistema es de: B) bytes/seg. B) bytes/seg. C) bytes/seg. D) Ninguna de las anteriores 6.- En un semisumador binario (SSB) de dos números binarios de un bit, x e y: III. Una posible función lógica del resultado de la suma es s = ( x + y) xy IV. Una posible función lógica del acarreo de salida es c = x + y A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Sean dos números binarios de 12 bits representados en código BCD: X = , Y = El resultado de su suma, representado en BCD, es: A) B) C) D) Ninguno de los anteriores 8.- Utilizando microinstrucciones con formato horizontal: III. No se puede ejecutar simultáneamente cualquier subconjunto de señales de control. IV. Cada señal de control tiene un subcampo independiente de un bit que indica el correspondiente valor de la señal de control. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 9.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos. Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no requiere el acceso al bus. Si la frecuencia de reloj del computador es de ciclos/seg., cuántas instrucciones por segundo deja de ejecutar la UCP cuando el controlador de DMA está realizando una transmisión? A) Ninguna instrucción B) 10 7 C) D) Ninguna de las anteriores.

94 10.- A la hora de diseñar una Unidad de Control con 64 estados, que genere 30 señales de control totalmente independientes, reciba 5 señales de condición que pueden ser consultadas simultáneamente en cualquier estado, decir si las siguientes afirmaciones son ciertas: A) Diseñándola con elementos de retardo sería necesario utilizar 6 biestables (2 6 =64). B) Diseñándola con memoria ROM haría falta un módulo de 2 11 palabras 30 bits/palabra. C) Diseñándola con un contador haría falta un contador módulo-64. D) Ninguna de las anteriores es cierta. Cuestiones teóricas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.6 puntos): Justifique su respuesta a la pregunta 9 del test. (Q '0$ FRQ HVWUDWHJtD SRU URER GH FLFORV FXDQGR HO '0$ WRPD HO FRQWURO GH EXV OR UHWLHQH GXUDQWHXQVyORFLFORWUDQVPLWHXQDSDODEUD\OLEHUDHOEXV/XHJRHQQXHVWURFDVRHOUHVXOWDGR HVTXHFDGD FLFORVVHHMHFXWDXQDLQVWUXFFLyQ,QVWUVHJHMHFXWDGDVVLQ'0$ FLFORVVHJFLFORVLQVWU LQVWUVHJ,QVWUVHJHMHFXWDGDVFRQ'0$ FLFORVVHJFLFORVLQVWU LQVWUVHJ 'LIHUHQFLD LQVWUVHJ² LQVWUVHJ LQVWUVHJ LQVWUVHJ 3iJLQDGHOOLEURGHWHRUtD HGLFLyQ\SiJLQDV\GHOOLEURGHSUREOHPDV Cuestión 2 (0.6 puntos): Justifique su respuesta a la pregunta 10 del test. $ )DOVR6HUtDQQHFHVDULRVELHVWDEOHV B) )DOVR6HUtDQHFHVDULRXQPyGXORGH SDODEUDV ELWVSDODEUD SDODEUDV ELWVSDODEUD C) 9HUGDGHUR 3iJLQDV\GHOOLEURGHSUREOHPDV Cuestión 3 (0.8 puntos): Explique brevemente las distintas estrategias de escritura en una memoria caché. (VFULWXUD GLUHFWD ZULWH WKURXJK &RQVLVWH HQ HIHFWXDU WRGDV ODV RSHUDFLRQHV GH HVFULWXUD WDQWRHQODPHPRULDSULQFLSDOFRPRHQODPHPRUtDFDFKp 3RVWHVFULWXUDZULWHEDFN6HUHDOL]DQODVDFWXDOL]DFLRQHVHQODPHPRUtDFDFKp6yORFXDQGRVH UHHPSOD]D XQD SDUWLFLyQ HQ OD FDFKp TXH KD VLGR PRGLILFDGD VH DFWXDOL]D HQ FRQWHQLGR GH OD SDUWLFLyQFRUUHVSRQGLHQWHHQODPHPRULDSULQFLSDO 3iJLQDV\GHOOLEURGHWHRUtD HGLFLyQ Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): Se desea construir un sumador binario con aceleración de arrastres (SBAA) para 2 números binarios X e Y de 3 bits cada uno. Para ello, el diseño se realizará siguiendo los siguientes pasos: A) (1.5 puntos) La figura de la izquierda muestra un sumador binario completo modificado (SBC modificado) con dos entradas de datos x i e y i y un acarreo de entrada c i-1. Exprese la función lógica de sus cuatro salidas: s i (suma), c i (acarreo de salida), g i (generación de acarreo) y p i (propagación de acarreo). A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este SBC modificado. B) (1.5 puntos) La figura central muestra un circuito de aceleración de arrastres (CAA) de 3 bits con tres entradas de generación de acarreo g i, tres entradas de propagación de acarreo p i y un acarreo de entrada c -1. Exprese las funciones lógicas de los acarreos c 2, c 1 y c 0 generados por este módulo. A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este CAA. C) (1 punto) Utilizando únicamente 3 SBC modificados como los diseñados en A) y el CAA diseñado en B), construya razonadamente el sumador binario con aceleración de arrastre de 3 bits (SBAA) solicitado en el enunciado y mostrado en la figura de la derecha. x i y i g 2 p 2 g 1 p 1 g 0 p 0 x 2 y 2 x 1 y 1 x 0 y 0 c i SBC modificado c i-1 CAA c -1 c 2 SBAA de 3 bits c -1 s i g i p i c 2 c 1 c 0 s 2 s 1 s 0

95 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 98 (1ª semana) Junio 98 (2ª semana) Septiembre 98 (original) 1 B A A 2 A A C 3 D A B 4 D B D 5 D C C 6 B A B 7 C D B 8 B B C 9 D A B 10 A D C

96 1998 Problemas de los exámenes del curso 1997/1998 3UREOHPD Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la Figura , con dos entradas de datos X (x 2 x 1 x 0 ) e Y (y 1 y 0 ), una entrada de control C (c 1 c 0 ) y una salida de datos S (s 3 s 2 s 1 s 0 ). El funcionamiento de la UAL viene descrito por la siguiente tabla: Señal de control c 1 c 0 = 0 0 c 1 c 0 = 0 1 c 1 c 0 = 1 0 S = X + Y S = X - Y S = S = S = Operación Si X > Y Si X = Y Si X < Y c 1 c 0 = 1 1 S = X (S 3 = 0, S 2 S 1 S 0 = x 2 x 1 x 0 ) Tabla : Tabla de funcionamiento de la UAL Para resolver el problema, seguir obligatoriamente los siguientes apartados: A) (0.5 puntos) Utilizando únicamente puertas lógicas, diseñar un Sumador Binario Completo (SBC). B) (0.5 puntos) Diseñar un sumador/restador binario de números de tres bits utilizando SBC s como el diseñado en el apartado A) y las puertas lógicas necesarias. C) (1.5 puntos) Diseñar un comparador de números de tres bits utilizando únicamente un módulo de memoria ROM. Cuál es el tamaño necesario para este módulo de memoria ROM? Indique claramente el significado de cada una de sus entradas y cada una de sus salidas. Escriba el contenido de la memoria ROM en forma de tabla. 1

97 2 Estructura y Tecnología de Computadores II D) (1.5 puntos) Utilizando únicamente los módulos diseñados en los apartados anteriores y los módulos combinacionales necesarios, diseñe la UAL pedida. 3 2 c 1 c 0 2 x 2 x 1 x 0 y 1 y 0 UAL S 3 S 2 S 1 S 0 Figura : Módulo UAL 6ROXFLyQ A) Las expresiones que vamos a utilizar para implementar el SBC son: S i = x i y i c i-1 c i = x i y i + (x i y i ) c i-1 donde x i e y i son los datos de entrada, c i-1 es el acarreo de entrada, S i es el resultado de la suma y c i es el acarreo de salida. El diseño resultante se muestra en la Figura c i-1 x i y i S i c i Figura : Sumador Binario Completo B) Como x - y = x + (-y), si se dispone de un circuito que calcula la suma de números negativos se puede efectuar la operación de restar. En el caso de la representación de números negativos en complemento a 2 la resta resulta especialmente sencilla, porque el valor negativo es muy simple de realizar. En efecto, si y = y n-1 y n-2... y 1 y 0 es un número entero representado en complemento a 2, entonces -y se calcula directamente: -y = y n-1 y n-2... y 1 y Así pues, para obtener -y a partir de y, se efectúan las dos operaciones siguientes: 1) Sustituir todos los bits de y por su complemento (es decir, cambiar 0 1 y 1 0) 2) Sumar 1 al bit menos significativo

98 Problemas de los exámenes del curso 97/98 3 Teniendo esto en cuenta, se puede diseñar fácilmente un único circuito sumador-restador (ver Figura ) donde la señal de control M gobierna la función a realizar: Si M = 0: S = x + y Si M = 1: S = x - y y 2 x 2 y 1 x 1 y 0 x 0 M x 2 x 1 x 0 y 2 y 1 y 0 c 2 Sumador/restador M c 2 SBC c 1 SBC c 0 SBC c -1 S 2 S 2 S 1 S 0 S 1 S 0 Figura : Sumador-restador binario paralelo con propagación de arrastre C) Este comparador consiste en un circuito con 6 entradas (x 2 x 1 x 0 y 2 y 1 y 0 ) y tres salidas (MIm). El módulo de memoria ROM necesario tiene que tener un tamaño mínimo de 2 6 x3. El contenido de las 16 primeras posiciones de memoria se muestra en la Tabla x 2 A 5 x 1 x 0 A 4 A 3 ROM x 2 x 1 x 0 y 2 y 1 y 0 y 2 y 1 A 2 A 1 64 palabras 3 bits Comparador M I m y 0 A 0 b 2 b 1 b 0 M I m Figura : Comparador diseñado con memoria ROM

99 4 Estructura y Tecnología de Computadores II Dirección memoria (x 2 x 1 x 0 y 2 y 1 y 0 ) Contenido (M I m) A 5 A 4 A 3 A 2 A 1 A 0 b 2 b 1 b Tabla : Contenido de las 16 primeras posiciones de memoria D) En la Figura se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4 multiplexores para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas c 1 y c 0. También la entrada de control de la UAL c 0 se utiliza para seleccionar la operación a realizar por el Sumador/Restador.

100 Problemas de los exámenes del curso 97/98 5 x 2 x 1 x 0 y 1 y x 2 x 1 x 0 y 2 y 1 y 0 x 2 x 1 x 0 y 2 y 1 y 0 Comparador c 2 Sumador/restador M M I m S 2 S 1 S MUX MUX MUX MUX c 0 c 1 S 3 S 2 S 1 S 0 Figura : UAL pedida en el problema 3UREOHPD El siguiente algoritmo describe una determinada operación de un sistema digital. A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos. B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A) empleando cualquiera de los métodos propuestos en la asignatura. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. 1: Declaración: A[8], B[8], Cont[3]; 2: A Bus;

101 6 Estructura y Tecnología de Computadores II 3: B Bus; 4: for Cont = 0 to 7 do 5: if Cont es par then 6: A Α + Β; Α Α / 2 7: else 8: B Β Α; Β Β 2 9: endif 10: endfor 11: Bus A; 12: Bus Β; 13: Parar; Ck E A B Ck E ED EI Reg. Desp. Q c0 c1 UAL R c0 Contador Q c0 c1 S c0 Figura : Módulos del problema con sus tablas de funcionamiento 6ROXFLyQ A) En la Figura se muestra un posible diseño de la Unidad de Procesamiento y la Tabla el significado de todas la señales de control utilizadas. Repasando en algoritmo vemos que permite realizar todos y cada uno de sus pasos: Los registros A y B pueden cargar valores desde el bus del sistema o desde la salida de la UAL. Un multiplexor a la entrada de cada uno de estos registros permite seleccionar qué dato es el que se va a cargar. Los registros A y B pueden volcar sus valores en el bus mediante sendos circuitos triestado de conexión unidireccional con control de 8 bits. Existe camino de los registros A y B a la entrada de la UAL. Un contador módulo 8 permite gobernar el bucle for del algoritmo. A partir del valor del contador se generan dos condiciones cuyo valor puede ser consultado por la Unidad de Control en cualquier instante: s o : es la suma lógica de todos los bits del sumador. Su valor es cero cuando el contador está a cero.

102 Problemas de los exámenes del curso 97/98 7 s 1 : es el bit menos significativo del contador. Su valor es 0 cuando el contador tiene valor par, y es 1 cuando el contador tiene valor impar. Bus c MUX c 7 c MUX c 6 0 E D A Reg. des. c 0 c1 c 1 c E Reg. des. 0 c 0 3 c I c1 2 c 4 B A UAL B c 0 c 0 Contador c 0 c 1 c 9 c 10 s 1 (=1 Contador es impar) s 0 (=0 Contador es 0) Reloj Inicio Fin Circuito de Control c 0 c 1 c 10 Figura : Diseño de la Unidad de Procesamiento Unidad de Procesamiento Unidad de Control

103 8 Estructura y Tecnología de Computadores II Señal de Control Operación controlada c 0 Control de la UAL: Suma (0) y Resta (1), c 2 y c 1 Control registro A: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11) c 4 y c 3 Control registro B: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11) c 5 Selección MUX entrada de A: UAL (0) y Bus (1) c 6 Selección MUX entrada de B: UAL (0) y Bus (1) c 7 Puerta triestado que conecta la salida de A con el Bus: Nada (0) y Conexión (1) c 8 Puerta triestado que conecta la salida de B con el Bus: Nada (0) y Conexión (1) c 10 y c 9 Contador: Nada (00), Reset (01), Incrementar (10) y Nada (11) Tabla : Descripción de la señales de control de la Unidad de Procesamiento B) Para describir el funcionamiento de la Unidad de Control, diseñamos el diagrama de transición de estados de la Figura donde la descripción detallada de las acciones a realizar en cada un de estos estados viene dada en la Tabla 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. Inicio s 0 s 1 S 4 S 5 s 0 S 0 S 1 S 2 S 3 S 8 S 9 S 10 s 1 S 6 S 7 s 0 s 0 Figura : Diagrama de estados de la Unidad de Control

104 Problemas de los exámenes del curso 97/98 9 Estado de la Unidad de Control Microoperaciones efectuadas Señales de control a activar S 0 Ninguna Ninguna S 1 A Bus Reset Cont c 1, c 2, c 5, c 9, (c 10 =0) S 2 B Bus c 3, c 4, c 6 S 3 Ninguna Ninguna S 4 A A + B Incrementar Cont (c 0 =0), c 1, c 2, (c 5 =0), c 10, (c 9 =0) S 5 Desplazar Derecha A (c 2 =0), c 1 S 6 B B - A Incrementar Cont S 7 Desplazar Izquierda B c 4, (c 3 =0) S 8 Bus A c 7 S 9 Bus B c 8 S 10 Ninguna Ninguna c 0, c 3, c 4, (c 6 =0), c 10, (c 9 =0) Tabla : 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

105 10 Estructura y Tecnología de Computadores II Inicio=0 S 0 Set S 0 Inicio=1 Inicio S 1 S 1 S 2 c 1, c 2, c 5, c 9 c 3, c 4, c 6 S 2 S 3 s 1 = 1 S 3 s 1 = 0 S 4 s 0 = 1 s 1 s 0 S 4 S 5 c 1, c 2, c 10 c 1 S 5 s 0 = 1 S 6 S 7 s 0 = 0 s 0 S 6 S 7 c 0, c 3, c 4,c 10 c 4 s 0 = 0 S 8 S 9 S 8 S 9 c 7 c 8 S 10 S 10 Reloj Clear Figura : Unidad de Control

106 Problemas de los exámenes del curso 97/ UREOHPD Se desea construir un sumador binario con aceleración de arrastres (SBAA) para 2 números binarios X e Y de 3 bits cada uno. Para ello, el diseño se realizará siguiendo los siguientes pasos: A) (1.5 puntos) La figura de la izquierda muestra un sumador binario completo modificado (SBC modificado) con dos entradas de datos x i e y i y un acarreo de entrada c i-1. Exprese la función lógica de sus cuatro salidas: s i (suma), c i (acarreo de salida), g i (generación de acarreo) y p i (propagación de acarreo). A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este SBC modificado. B) (1.5 puntos) La figura central muestra un circuito de aceleración de arrastres (CAA) de 3 bits con tres entradas de generación de acarreo g i, tres entradas de propagación de acarreo p i y un acarreo de entrada c -1. Exprese las funciones lógicas de los acarreos c 2, c 1 y c 0 generados por este módulo. A partir de estas funciones lógicas, y empleando únicamente puertas lógicas, diseñe este CAA. C) (1 punto) Utilizando únicamente 3 SBC modificados como los diseñados en A) y el CAA diseñado en B), construya razonadamente el sumador binario con aceleración de arrastre de 3 bits (SBAA) solicitado en el enunciado y mostrado en la figura de la derecha. x i y i g 2 p 2 g 1 p 1 g 0 p 0 x 2 y 2 x 1 y 1 x 0 y 0 c i SBC modificado c i-1 CAA c -1 c 2 SBAA de 3 bits c -1 s i g i p i c 2 c 1 c 0 s 2 s 1 s 0 Figura : Módulos del problema 6ROXFLyQ A) Las expresiones que vamos a utilizar para implementar el SBC modificado son: p i = x i y i g i = x i y i S i = x i y i c i-1 = p i c i-1 c i = x i y i + (x i y i ) c i-1 = g i + p i c i-1 y el circuito correspondiente es el mostrado en la Figura

107 12 Estructura y Tecnología de Computadores II c i-1 y i x i y i x i S B C c i modificado c i-1 s i g i p i Figura : SBC modificado B) Para construir las expresiones de c 2, c 1 y c 0 generados por este módulo a partir de las entradas de generación de acarreo g i (i=1,2,3), las entradas de propagación de acarreo p i (i=1,2,3) y el acarreo de entrada c -1, se comienza por la expresión de c 0 y luego se va sustituyendo su valor en las siguientes. c 0 = g 0 + p 0 c -1 g i c i s i p i c 1 = g 1 + p 1 c 0 = g 1 + p 1 (g 0 + p 0 c -1 ) = g 1 + p 1 g 0 + p 1 p 0 c -1 c 2 = g 2 + p 2 c 1 = g 2 + p 2 (g 1 + p 1 g 0 + p 1 p 0 c -1 )=g 2 + p 2 g 1 + p 2 p 1 g 0 +p 2 p 1 p 0 c -1 El circuito resultante se muestra en la Figura C) Los tres SBC modificados y el CAA los podemos conectar según se muestra en la Figura En este diseño se puede observar cómo los arrastres que se introducen en los SBC modificados son los generados directamente por el módulo CAA y que, sin embargo, los arrastres generados por estos SBC modificados se quedan sin utilizar. Esta es la idea fundamental de esta técnica.

108 Problemas de los exámenes del curso 97/98 13 p 2 g 2 p 1 g 1 p 0 g 0 c -1 p 2 g 2 p 1 g 1 p 0 g 0 CAA c -1 c 2 c 1 c 0 c 2 c 1 c 0 Figura : Circuito de aceleración de arrastres (CAA) x 2 y 2 x 1 y 1 x 0 y 0 c 2 S B C Modificado c 1 S B C Modificado c 0 S B C Modificado c -1 s 2 g 2 p 2 c 1 g 1 p 1 s 1 c 0 s 0 g 0 p 0 c 2 CAA y 2 x 2 y 1 x 1 y 0 x 0 c 2 SBAA c -1 s 2 s 1 s 0 Figura : Sumador binario de 3 bits con aceleración de arrastre

109 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Junio ª semana INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: A INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas ÚNICO MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores II y Problemas de estructura y tecnología de computadores II, ambos de la editorial Sanz y Torres. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. 1.- Una UCP que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con un formato único compuesto por un campo de 5 bits, para el código de operación, y otro campo de 11 bits para los operandos. Todos los 16 códigos de operación comienzan por un 0 y, por tanto, van del al I. Si en una dirección de memoria nos encontramos el valor , necesariamente es una instrucción máquina. II. Si en una dirección de memoria nos encontramos el valor , necesariamente es un dato. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 2.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La memoria caché utiliza correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal , , y Indicar si de las afirmaciones siguientes son ciertas: I. Si se leyeran las direcciones de memoria principal se y , sucesivamente, se producirían dos fallos en la memoria caché y sería necesario reemplazar dos de los bloques existentes en la caché. II. Si se leyera la dirección de memoria principal se produciría un acierto en la memoria caché y sería necesario reemplazar un bloque existente en la caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro de máscara y del contenido de la memoria, cuántos de los argumentos propuestos a continuación producirían ese registro de marca????????? ARGUMENTO MÁSCARA MARCA A) 1 B) 2 C) 3 D) Ninguno de los anteriores Argumento Argumento Argumento Argumento Argumento Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos con una capacidad de 256 Kb. En un instante determinado inicia una operación de E/S con una impresora a una velocidad de transferencia de 256 Kb/seg. Si el controlador de E/S recibe la información que debe enviar a la impresora a una velocidad de 1Mb/seg, cuánto tiempo tardará en llenarse por primera vez el buffer suponiendo que inicialmente está vacío, y que recibe y envía información simultáneamente de forma continua? A) 3 seg. B) 1 seg. C) 1/3 seg. D) Ninguna de las anteriores 5.- Si llamamos VP, VI y VD a las velocidades máximas de transferencia empleando E/S controlada por programa, E/S con interrupciones y E/S con DMA, respectivamente, se verifica la relación: A) VP<VI>VD B) VP<VI<VD C) VP>VI>VD D) Ninguna de las anteriores 6.- Sean dos números de 12 bits representados en binario puro: X= , Y= El resultado de su suma, expresado en BCD, es: A) B) C) D) Ninguno de los anteriores. 7.- Se desea diseñar con memoria ROM una Unidad de Control con 200 estados, que genere 37 señales de control totalmente independientes, y que reciba 9 señales de condición pero en cada estado va a ser consultada como máximo una de ellas. Si en el diseño interesa minimizar, sobre todo, el tamaño del multiplexor a utilizar, se emplearía. I. Un MUX con selección por estado. II. Un MUX con selección por campo. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- Un computador utiliza microinstrucciones de formato vertical. El formato tiene 5 subcampos codificados de 1 bit, 5 subcampos codificados de 3 bits y 3 subcampos codificados de 4 bits. Cuál es el número máximo de señales de control que puede tener este computador? A) 13 B) 32 C) 85 D) Ninguno de los anteriores.

110 Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.8 puntos): Se desea diseñar una Unidad de Control con 18 estados, que genere 30 señales de control totalmente independientes y reciba 4 señales de condición, utilizando memoria ROM pero minimizando la capacidad necesaria de ésta, ya que en cada estado se utiliza, como máximo, una única condición. Utilizando un multiplexor con selección por campo para diseñar esta Unidad de Control, explicar razonadamente el tamaño del registro, del multiplexor y de la memoria ROM que sería necesario utilizar. HVWDGRVELWV VFRQGLFLyQELWV 5HJLVWURHVWDGRFDPSRVFRQGLF ELWV 0XOWLSOH[RUGHDHQWUDGDVGHFRQWUROSDUDVHOHFFLRQDUODVHxDOGHFRQGLFLyQ 520(QWUDGDVGHGLUHFFLRQHVHVWDGR08; ELWV 3DODEUDV /RQJLWXGGHSDODEUDHVWDGRFDPSRVFRQGLFFRQWURO ELWV Cuestión 2 (0.6 puntos): Explicar razonadamente cómo afectan a la velocidad de ejecución de la UCP las siguientes modalidades de transferencia de datos mediante DMA: por ráfagas, por robo de ciclos y transparente. 3RU UiIDJDV /D 8&3 SHUPDQHFH LQDFWLYD SDUDGD GHO SURFHVDGRUµ SXHV HO '0$ UHWLHQH HO EXV PLHQWUDVGXUDODWUDQVIHUHQFLD 3RUURERGHFLFORV(O'0$UHWLHQHHOEXVGXUDQWHXQFLFORFDGDYH]/DYHORFLGDGGHWUDQVIHUHQFLD HVEDMDSHURVHUHGXFHODLQWHUIHUHQFLDVREUHODDFWLYLGDGGHOD8&3 7UDQVSDUHQWH6yORVHUREDQORVFLFORVHQORVTXHOD8&3QRXWLOL]DHQEXVSRUORTXHOD8&3QRHV LQWHUIHULGD Cuestión 3 (0.6 puntos): Explique cuántos módulos de memoria ROM de 2 n palabras n bits/palabra serían necesarios para diseñar un circuito combinacional que multiplique dos números de n bits. (O SURGXFWR GH GRV Q~PHURV GH Q ELWV GD FRPR UHVXOWDGR XQ Q~PHUR GH Q ELWV +D\ Q SURGXFWRV SRVLEOHV /XHJR KDFHQ IDOWD Q SDODEUDV GH Q ELWV FDGD XQD &RPR ORV PyGXORV GLVSRQLEOHVVRQGH Q SDODEUDVGHQELWVSDODEUDKDUiQIDOWD Q Q Q Q Q Q PyGXORV Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada operación de un sistema digital. A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 bidireccional y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos. B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A) empleando la técnica de los elementos de retardo. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. Ck E A B Ck E 1: Declaración: A[8], B[8], Cont[3]; Bus[8] 2: A Bus; 3: B Bus, Cont=0; 4: while Cont 7 5: if A es par then 6: A A B, Cont = (Cont +1) mod 8; 7: else 8: B B + A, Cont = (Cont -1) mod 8; 9: endif; 10: endwhile; 11: Bus B; 12: Bus A; 13: Parar; ED c0 EI Reg. Desp. UAL Contador c1 c1 Q R Q S c 1 c 0 Q(t+1) c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 0 A+B 00 Q(t) 0-01 Des. Dcha. 1 A-B 01 Q(t) -1 mod 8 1 E 10 Des. Izq. 10 Q(t)+1 mod 8 11 Carga 11 0 c0 c0 c0

111 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Junio ª semana INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: E INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas ÚNICO MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores II y Problemas de estructura y tecnología de computadores II, ambos de la editorial Sanz y Torres. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica. En caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es E. 1.- La memoria de un ordenador consta de 10 módulos independientes conectados a un bus de memoria común. En una operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación y durante un 20% del tiempo total del ciclo de escritura. El 80% del tiempo de ciclo de escritura restante el módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse, en cuánto se ve incrementada la velocidad máxima de almacenamiento de la memoria del ordenador en relación a la velocidad de un único modulo? A) 10 veces B) 5 veces C) Nada D) Ninguna de las anteriores 2.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 128 palabras. La memoria caché utiliza correspondencia totalmente asociativa, con un tamaño de partición de 16 palabras. El algoritmo de reemplazamiento es FIFO (se reemplaza la partición más antigua). Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal , , y Indicar si las afirmaciones siguientes son ciertas: I. En estas cuatro lecturas se ha producido un total de tres fallos en la memoria caché. II. Si a continuación se leyera la dirección de memoria principal se produciría un nuevo fallo en la caché y se tendrá que reemplazar uno de los bloques de la caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento y del contenido de la memoria, cuántos de los registros de máscara propuestos a ARGUMENTO continuación producirían ese registro de marca en el acceso a memoria????????? MÁSCARA Máscara MARCA Máscara Máscara Máscara Máscara 5 A) 1 B) 2 C) 3 D) Ninguno de los anteriores 4.- Un ordenador con 32 líneas de direcciones tiene una memoria de 32 Mb y utiliza entrada/salida aislada de memoria. Cuál es el número máximo de periféricos que pueden conectarse a este ordenador, suponiendo que cada uno ocupa 16 direcciones? A) B) C) D) Ninguna de las anteriores. 5.- En un ordenador cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 1 de ellos no requieren el acceso al bus. La frecuencia de reloj del computador es de ciclos/seg. Si se tarda un ciclo en transmitir una palabra empleando DMA, indicar si las siguientes afirmaciones son ciertas: I. Empleando DMA por robo de ciclos se consigue la misma velocidad de transferencia que con DMA transparente. II. La velocidad de ejecución del procesador se reduce más con DMA por robo de ciclos que con DMA transparente. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Se desea construir un multiplicador binario para dos números de 8 bits, utilizando puertas lógicas tipo AND y sumadores binarios completos (SBC). El número de puertas AND que hay que utilizar es: A) 8 B) 16 C) 32 D) Ninguno de los anteriores. 7.- Se desea diseñar con memoria ROM una Unidad de Control con 200 estados, que genere 37 señales de control totalmente independientes, y que reciba 9 señales de condición pero en cada estado va a ser consultada como máximo una de ellas. Utilizando en el diseño un multiplexor con selección por campo haría falta una memoria ROM con tamaño de: A) 2 8 palabras 45 bits B) 2 9 palabras 45 bits C) 2 9 palabras 49 bits D) Ninguna de la anteriores 8.- Un computador digital tiene 114 señales de control diferentes, siendo 6 de ellas mutuamente excluyentes. Indique si las siguientes afirmaciones son verdaderas: I. Si se utilizan microinstrucciones de formato vertical el tamaño del campo codificado sería de 3 bits. II. Al existir señales de control mutuamente excluyentes nunca se puede utilizar el formato de microinstrucción horizontal. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

112 Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.6 puntos): Un computador tiene una unidad de memoria de con 16 líneas de dirección, y una memoria caché de 1K palabras. La memoria caché utiliza correspondencia asociativa por conjuntos, con un tamaño de partición de 16 palabras y 4 particiones por conjunto. Explicar razonadamente en qué campos se divide la dirección de memoria principal e indique el valor de cada uno de estos campo en decimal. 0FDFKpOtQHDVGHGLUHFFLyQSDUWFWR SDOSDUW SDOFWR SDO SDOFWR FRQMXQWRV 'LUHFFLyQPSULQFLSDO& ELWV3$/$%5$ELWV (7,48(7$ELWV ²² 'LUHFFLyQ(7,48(7$ & $/$%5$ Cuestión 2 (0.8 puntos): Un computador dispone de un canal multiplexor que controla 3 unidades de disco y 5 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de bytes/seg., y las de cinta de 10 5 bytes/seg. Si para la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 50 nseg., explique razonadamente qué porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos a través de este canal multiplexor. &DQDOPXOWLSOH[RUODPi[LPDYHORFLGDGGHWUDQVIHUHQFLDHVODVXPDGHODVYHORFLGDGHVGHWRGRV ORVGLVSRVLWLYRV E\WHVVHJ E\WHVVHJ QVHJE\WH VHJE\WHVHJXQGRVHQWUDQVIHULUXQE\WH /XHJRHQWUDQVIHULUODWRWDOLGDGGHORVE\WHVTXHSXHGHQFLUFXODUHQXQVHJXQGRVHWDUGDUi VHJXQGRV (VGHFLUHOEXVHVWDUiRFXSDGRFRPRPi[LPRXQGHOWLHPSR Cuestión 3 (0.6 puntos): A partir de las expresiones de S (resultado de la suma) y C (acarreo de la suma) de un sumador binario completo SBC, desarrolle las expresiones del resultado de la suma (S 1 y S 0 ) y del acarreo (C 1 ) de la suma de los números binarios de dos bits x 1 x 0 e y 1 y 0. 6 L [ L \ L & L & L [ L \ L [ L \ L & L 6 [ \ & & [ \ [ \ & 6 [ \ & & [ \ [ \ & (QODVH[SUHVLRQHVGH6 \& EDVWDILQDOPHQWHVXVWLWXLU& SRUODH[SUHVLyQREWHQLGDHQHOSDVR DQWHULRU Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): El siguiente algoritmo describe una determinada operación de un sistema digital. A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos. B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A) empleando un registro de desplazamiento. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. Ck E A B Ck E E 1: Declaración: A[8], B[8], Cont[3]; Bus[8] 2: A Bus; 3: B Bus, Cont=0; 4: while A < 128 5: if Cont < 4 then 6: A A + Cont; 7: else 8: A B + A; 9: endif; 10: Cont = (Cont +1) mod 8; 11: endwhile; 12: Bus B; 13: Bus A; 15: Parar; ED c0 EI Reg. Desp. UAL Contador c1 c1 Q R Q S c 1 c 0 Q(t+1) c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 0 A+B 00 Q(t) 0-01 Des. Dcha. 1 A-B E 10 Des. Izq. 10 Q(t)+1 mod 8 11 Carga 11 Carga c0 c0 c0

113 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Septiembre 1999 Original INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 109 Tipo de Examen: A INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 109 Tiempo: 2 horas ÚNICO MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores II y Problemas de estructura y tecnología de computadores II, ambos de la editorial Sanz y Torres. Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A. 1.- Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 80 nseg. y un tiempo de ciclo de 100 nseg.? A) 10 7 seg -1 B) 10-7 seg. C) seg -1 D) Ninguna de las anteriores 2.- Para diseñar un módulo de memoria de 256 palabras de 4 bits I. Utilizando organización 2D, para seleccionar la palabra haría falta un decodificador de 8 entradas y 2 8 salidas. II. Utilizando organización 2 ½ D, para seleccionar la palabra harían falta dos decodificadores de 4 entradas y 2 4 salidas. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- En una memoria caché en la que se realizan 2 30 accesos con una tasa de aciertos del 75%, el número de fallos producido es: A) 2 28 B) 2 18 C) Faltan datos para calcularlos D) Ninguna de las anteriores 4.- Para multiplicar dos números binarios sin signo de 3 y 4 bits, respectivamente, se podría utilizar, por ejemplo: I. Una memoria ROM de 2 7 palabras con 7 bits por palabra. II. 12 puertas AND y 8 sumadores binarios completos (SBC). A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Un computador utiliza microinstrucciones de formato horizontal con direccionamiento explícito. Las microinstrucciones deben gobernar 135 señales de control y codificar un repertorio de 50 instrucciones máquina, para lo cual la Unidad de Control Microprogramada dispone una memoria de control de 2048 palabras. Cuántos bits tiene el campo de dirección de cada microinstrucción? A) 11 B) 8 C) 7 D) Ninguno de los anteriores. 6.- Indique cuál de las siguientes características NO pertenece a un computador de von Neumann: A) La secuencia de ejecución de las instrucciones se modifica mediante una instrucción de ruptura. B) En la memoria del computador se almacenan simultáneamente datos e instrucciones. C) A una posición de memoria principal se accede especificando bien su dirección o bien su contenido. D) Ninguna de las anteriores. 7.- Cuál es la política de reemplazamiento óptima para una memoria caché con correspondencia directa? A) Partición elegida de forma aleatoria. B) Partición más antigua en la memoria caché (FIFO, First In, First Out). C) La política de correspondencia directa no necesita política de reemplazamiento. D) Ninguna de las anteriores. 8.- Indicar cuál de las siguientes afirmaciones es verdadera: A) La principal desventaja de las interrupciones vectorizadas consiste en que la UCP ha de comprobar, uno por uno, el estado de todos los controladores de E/S de los dispositivos que tiene conectados[db38]. B) La UCP recibe el vector de interrupción a través del bus de datos o del bus de direcciones, indistintamente[db39]. C) Las interrupciones multinivel no permiten la identificación de la fuente de interrupción mediante un vector de interrupción[db40]. D) Ninguna de las anteriores. (Continúa a la vuelta)

114 Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.6 puntos): Un computador utiliza microinstrucciones de formato vertical. El formato tiene 5 subcampos codificados de 1 bit, 5 subcampos codificados de 3 bits y 3 subcampos codificados de 4 bits. Explicar razonadamente cuál es el número máximo de señales de control que puede tener este computador. &DGDVXEFDPSRFRGLILFDGRGHMELWVSXHGHFRGLILFDUXQPi[LPRGH M VHxDOHVGHFRQWURO3RU WDQWR ² ² 7RWDOVHxDOHVGHFRQWURO Cuestión 2 (0.6 puntos): Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 10 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de 10 3 bytes/seg. Razonar cuál es la velocidad máxima de transferencia agregada a este sistema. (O FDQDO PXOWLSOH[RU DWLHQGH VLPXOWiQHDPHQWH D WRGRV ORV GLVSRVLWLYRV 3RU WDQWR OD Pi[LPD YHORFLGDGGHWUDQVIHUHQFLDDJUHJDGDGHHVWHVLVWHPDHVODVXPDGHODVYHORFLGDGHVGHWRGRVORV GLVSRVLWLYRV E\WHVVHJXQGR Cuestión 3 (0.8 puntos): Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La memoria caché es totalmente asociativa, con un tamaño de partición de 8 palabras y cuando se produce un fallo en la caché se reemplaza la partición más antigua. Suponiendo que inicialmente la memoria caché está vacía, explicar razonadamente cuántos fallos se producirían en la caché si se leyeran sucesivamente las direcciones de memoria principal: , , , , , , y (OIRUPDWRGHGLUHFFLyQGHPHPRULDSULQFLSDOWLHQHXQFDPSR(7,48(7$GHELWV\XQFDPSR 3$/$%5$GHELWV/DPHPRULDFDFKpWLHQHSDUWLFLRQHVGHSDODEUDVSDUWLFLyQ 7RWDOIDOORV ) $ $ ) $ ) $ $ 3$57,& 7,&,Ð1 0 &$&+e (7,48(7$ 7$ Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): Se dispone de una UCP con una única línea de petición de interrupción (INTR) y una única línea de aceptación de interrupción (INTA). Se desea diseñar para esta UCP un controlador de interrupciones como el mostrado en la figura, de manera que pueda atender interrupciones generadas por 4 dispositivos externos mediante las líneas de petición de interrupción INTR3, INTR2, INTR1 e INTR0. Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más prioritaria (la máxima prioridad la tiene INTR3 y la mínima INTR0). Además, cada una de estas líneas de interrupción se ha de poder enmascarar de manera individual mediante un registro de máscara del controlador de interrupciones (el mecanismo de acceso a este registro por parte de la UCP no es relevante para este problema). Cuando la UCP activa su línea de aceptación INTA se debe informar al periférico correspondiente, de manera individual, de que su petición ha sido aceptada, mediante las líneas de aceptación INTA3, INTA2, INTA1 e INTA0. A) (0.75 puntos) Obtener la tabla de verdad de las 4 líneas INTAi (i=0..3) en función de las 4 líneas INTRi (i=0..3) e INTA, suponiendo que ninguna de las líneas de petición está enmascarada. B) (0.75 puntos) Diseñar un circuito lógico que implemente el mecanismo de enmascaramiento de las 4 líneas INTRi (i=0..3). C) (0.75 puntos) Diseñar un circuito lógico que implemente el esquema de prioridades de las 4 líneas INTRi (i=0..3). D) (0.75 puntos) Diseñar el circuito que genere las señales INTAi (i=0..3). Controlador de interrupciones E) (1 punto) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados obtenidos en los apartados anteriores. INTR0 INTR1 INTR2 INTR3 INTA0 INTA1 INTA2 INTA3 INTR INTA UCP

115 SOLUCIONES DE LOS TESTS Nº Pregunta Junio 99 Junio 99 (1ª semana) (2ª semana) Septiembre 99 1 C B A 2 D D A 3 B C A 4 C B A 5 B C A 6 B D C 7 C C C 8 C B D

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

117 2 Estructura y Tecnología de Computadores II 6ROXFLyQ a) A la vista del algoritmo propuesto, la Unidad de Control ha de tener dos registros A y B capaces de ser cargados bien desde el bus o bien desde la UAL. Estos registros deben poder enviar su contenido a la UAL para realizar operaciones aritméticas con ellos. El ciclo while se controlará mediante un contador bidireccional módulo-8; cuando la cuenta alcance el valor 7 ( ) se deberá abandonar el bucle. La condición A es par se evalua comprobando el bit menos significativo de A. La Figura muestra el diagrama de una posible Unidad de Procesamiento que cumple todos los requisitos. La carga de los registros A y B se realiza a través de sendos multiplexores que seleccionan el bus o la salida de la UAL. Estos registros se vuelcan al bus a través de puertas triestado que evitan posibles conflictos eléctricos. Las entradas E D y E I de los registros no se utilizan en este problema. s 0 es una señal de condición que está a 1 cuendo se verifica la condición CONT=7. Por su parte, s 1 está a 0 cuando el contenido de A es par y a 1 en caso contrario. El significado de las señales de control se da en la Tabla BUS C 0 0 MUX 1 C 1 0 MUX 1 C 2 C 3 C E D 0 4 C E D 0 6 CK A CK C 5 B C 7 E I 1 E I 1 8 CK CONT C 10 C 9 A B C 8 UAL 1 1 s 1 (=A 0 ) s 0 Figura : Unidad de Procesamiento Señales de Control Operación C 0 Selecciona BUS (0) o UAL (1) C 1 Selecciona BUS (0) o UAL (1) C 2 A BUS Tabla : Significado de las señales de control

118 Problemas de los exámenes del curso 97/98 3 Señales de Control Operación C 3 B BUS C 4, C 5 Control del registro de desplazamiento A (según Figura ) C 6, C 7 Control del registro de desplazamiento B (según Figura ) C 8 Suma (0) o resta (1) C 9, C 10 Control del contador CONT (según Figura ) Tabla : Significado de las señales de control b) En la Figura se muestra el diagrama de estados de la Unidad de Control que permite realizar el algoritmo solicitado en la Unidad de Procesamiento propuesta. (Este diagrama no es único. Así, por ejemplo, si la redución del número de estados es un objetivo fundamental entonces se puede eliminar el estado S 2, que no realiza ninguna microoperación, a cambio de evaluar la condición s 0 en S 3 y S 4 ). El significado de cada uno de los estados se indica en la Tabla Estado Microoperaciones Señales de control S 0 A BUS C 0, C 4, C 5 S 1 B BUS CONT = 0 C 1, C 6, C 7 C 9, C 10 S S 3 A A - B CONT = (CONT + 1) mod 8 C 8, C 0, C 4, C 5 C 9, C 10 S 4 A B + A CONT = (CONT - 1) mod 8 C 8, C 1, C 6, C 7 C 9, C 10 S 5 BUS B C 3 S 6 BUS A C 2 S 7 (Parar) Tabla : Significado de los estados

119 4 Estructura y Tecnología de Computadores II S 0 S 1 S 2 s 0 s S 3 0 s 1 s 0 s 1 S 4 S 5 S 6 S 7 Figura : Diagrama de estados de la Unidad de Control propuesta A partir del diagrama de estados la implementación de la Unidad de Control es inmediata mediante la técnica de los elementos de retardo (Figura ).

120 Problemas de los exámenes del curso 97/98 5 > S 0 Set C 0 C 4 C 5 > S 1 C 1 C 6 C 7 > S s 0 s 1 > S 3 C 8 C 0 C 4 C 5 C 9 C 10 > S 4 C 8 C 1 C 6 C 7 C 9 C 10 > S 5 C 3 > S 6 C 2 > S 7 CK Clear Figura : Unidad de Control mediante elementos de retardo

121 6 Estructura y Tecnología de Computadores II 3UREOHPD El siguiente algoritmo describe una determinada operación de un sistema digital. a) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos dibujados abajo (Figura ): registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos y evitar en su diseño posibles conflictos eléctricos entre ellos. b) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado a) empleando un registro de desplazamiento. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. Figura : Módulos del problema y debajo su tabla de funcionamiento 6ROXFLyQ a) A la vista del algoritmo propuesto, la Unidad de Control ha de tener dos registros A y B. Se debe poder cargar el registro A bien desde el bus o bien desde la UAL; sólo es necesario poder cargar el registro B desde el bus. Ambos registros deben poder enviar su contenido a la UAL para realizar operaciones aritméticas con ellos. El ciclo while se controlará mediante el valor del registro A y el bucle if mediante un contador módulo-8. La Figura muestra el diagrama de una posible Unidad de Procesamiento que cumple todos los requisitos. La carga del registro A se realiza a través de un multiplexor que selecciona el bus o la salida de la UAL. Los registros A y B se vuelcan al bus a través de puertas triestado que evitan posibles conflictos eléctricos. Las entradas E D y E I de los registros no se utilizan en este problema. La señal de condición s 0 indica A 128, lo que implica que el bit más significativo de A (A 7 ) sea 1. La señal de condición s 1 indica CONT 4, lo que implica que el bit más significativo de CONT (CONT 2 ) sea 1. La salida de CONT es de 3 bits. Por este motivo, para introducir CONT en la UAL, hay que completarlo con 5 ceros en las posiciones más significativas: CONT 2 CONT 1 CONT 0

122 Problemas de los exámenes del curso 97/ BUS C 9 C 0 0 MUX 1 C 10 CK E D E I A C 1 C E D 0 3 CK C 2 B C 4 E I 1 CK CONT C 7 C MUX 1 C 8 1 s 0 (=A 7 ) s 1 (=CONT 2 ) A UAL B C 5 Figura : Unidad de Procesamiento El significado de las señales de control se muestra en la Tabla Señales de Control Operación C 0 Selecciona BUS (1) o UAL (0) C 1, C 2 Control del registro de desplazamiento A (según Figura ) C 3, C 4 Control del registro de desplazamiento B (según Figura ) C 5 Suma (0) o resta (1) C 6, C 7 Control del contador(según Figura ) C 8 Selecciona B (0) o CONT (1) Tabla : Significado de las señales de control

123 8 Estructura y Tecnología de Computadores II Señales de Control Operación C 9 A BUS C 10 B BUS Tabla : Significado de las señales de control b) El diagrama de estados de la Unidad de Control que realiza el algoritmo pedido en la Unidad de Procesamiento propuesta se muestra en la Figura (la solución no es única y no se ha buscado minimizar el número de estados). El significado de cada uno de sus estados se detalla en la Tabla Estado Microoperaciones Señales de control S 0 A BUS C 0, C 1, C 2 S 1 B BUS CONT = 0 C 3, C 4 C 6, C 7 S S S 4 A A + CONT C 0, C 1, C 2, C 5, C 8 S 5 A B + A C 0, C 1, C 2, C 5, C 8 S 6 CONT (CONT + 1) mod 8 C6, C7 S 7 BUS B C10 S 8 BUS A C9 S 9 (Parar) Tabla : Significado de los estados

124 Problemas de los exámenes del curso 97/98 9 S 0 S 1 S 2 s 0 s 0 S 3 s 1 s 1 S 4 S 5 S 6 S 7 S 8 S 9 Figura : Diagrama de estados de la Unidad de Control propuesta La tabla de transición de estados corespondiente para una Unidad de Control basada en un registro de desplazamiento se muestra en la Tabla La codificación de los estados se ha realizado procurando minimizar el número de cargas en paralelo del registro. La Tabla está más detallada, y tiene en cuenta la codificación de los estados.

125 10 Estructura y Tecnología de Computadores II Estado Código Condición Transición Operación E D S (0) --- S 0 S 1 DD 1 S (8) --- S 1 S 2 DD 1 S (12) s 0 s0 S 2 S 3 S 2 S 7 DD L 1 - S (14) s 1 s1 S 3 S 4 S 3 S 5 DD L 1 - S (15) --- S 4 S 6 L - S (5) --- S 5 S 6 DD 1 S (10) --- S 6 S 2 L - S (7) --- S 7 S 8 DD 1 S (11) --- S 8 S 9 DD 1 S (13) --- S 9 S Tabla : Tabla de transición de estados Estado Condición Próximo estado w 1 w 0 E 3 E 2 E 1 E 0 Operación E D S. de control S 0 = (0) --- S 1 = DD 1 C 0, C 1, C 2 S 1 = (8) --- S 2 = DD 1 C 3, C 4, C 6, C 7 S 2 = (12) s 0 S 3 = s 0 S 7 = DD L Tabla : Tabla de transición de estados teniendo en cuenta la codificación de los mismos

126 Problemas de los exámenes del curso 97/98 11 Estado Condición Próximo estado w 1 w 0 E 3 E 2 E 1 E 0 Operación E D S. de control S 3 = (14) s 1 S 4 = s 1 S 5 = DD L S 4 = (15) --- S 6 = L - C 0, C 1, C 2, C 5, C 8 S 5 = (5) --- S 6 = DD 1 C 0, C 1, C 2, C 5, C 8 S 6 = (10) --- S 2 = L - C6, C7 S 7 = (7) --- S 8 = DD 1 C10 S 8 = (11) --- S 9 = DD 1 C9 S 9 = (13) --- S 9 = Tabla : Tabla de transición de estados teniendo en cuenta la codificación de los mismos El esquema de la Unidad de Control se muestra en la Figura Las expresiones lógicas de sus entradas se obtienen de la Tabla : w 1 = S 2 s 0 + S 3 s 1 + S 4 + S 6 w 2 = S 9 E 3 = S 4 + S 6 E 2 = S 2 s 0 + S 3 s 1 + S 6 E 1 = S 2 s 0 + S 4 E 0 = S 2 s 0 + S 3 s 1 Estas expresiones se implememtan fácilmente en la Unidad de Control (Figura ) mediante puertas lógicas. La entrada E D del registro está fija a 1 y la entrada E I no se utiliza.

127 12 Estructura y Tecnología de Computadores II 1 E D E I > CK Q 3 Q 2 Q 1 Q 0 w 0 Reg. Desp. w 1 E 3 E 2 E 1 E Decodificador S 0 (C 0, C 1, C 2 ) S 5 (C 0, C 1, C 2, C 5, C 8 ) S 7 (C 10 ) S 1 (C3, C4, C 6, C7) S 6 (C 6, C 7 ) S 8 (C 9 ) S2 (---) S 9 (---) S 3 (---) S 4 (C 0, C 1, C 2, C 5, C 8 ) Figura : Unidad de Control mediante un registro de desplazamiento (faltan por implementar las señales E i y w i ) 3UREOHPD Se dispone de una UCP con 8 líneas de datos (D 7..D 0 ), 16 líneas de direcciones (A 15..A 0 ), una única línea de petición de interrupción (INTR) y una única línea de aceptación de interrupción (INTA). Se desea diseñar para esta UCP un controlador de interrupciones, de manera que se puedan atender interrupciones generadas por 4 dispositivos externos mediante las líneas de petición de interrupción (INTR 3..INTR 0 ) (ver Figura ). Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más prioritaria (la máxima prioridad la tiene INTR 3 y la mínima INTR 0 ). Además, cada una de estas líneas de interrupción se ha de poder enmascarar de manera individual mediante un registro de máscara del controlador de interrupciones (el mecanismo de acceso a este registro por parte de la UCP no es relevante para este problema). Cuando la UCP activa su línea de aceptación INTA, se debe informar al periférico correspondiente, de manera individual, de que su petición ha sido aceptada, mediante unas líneas de aceptación INTA 3..INTA 0. a) (0.75 puntos) Obtener la tabla de verdad de las 4 líneas INTA i en función de las 4 líneas INTR i e INTA, suponiendo que ninguna de las líneas de petición está enmascarada. b) (0.75 puntos) Diseñar un circuito lógico que implemente el mecanismo enmascaramiento de las 4 líneas INTR i. c) (0.75 puntos) Diseñar un circuito lógico que implemente el esquema de prioridades de las 4 líneas INTR i. d) (0.75 puntos) Diseñar el circuito que genere las señales INTA i. e) (1 punto) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados obtenidos en los apartados anteriores.

128 Problemas de los exámenes del curso 97/98 13 Figura : Diagrama de la conexión del controlador de interrupciones a la UCP 6ROXFLyQ Antes de contestar los apartados pedidos, conviene hacer un resumen de cómo ha de funcionar el controlador de interrupciones solicitado: 1) De todas las peticiones de interrupción INTR i se filtrarán y eliminarán las que estén enmascaradas. 2) Si después del paso 1) todavía existe alguna petición activada se activará INTR y se seleccionará cuál es la petición más prioritaria. 3) Cuando la UCP conceda la interrupción activando INTA, se informará al periférico cuya petición de interrupción se a seleccionado en 2) que su petición va a ser atendida, mediante su línea de aceptación INTA i correspondiente. Obsérvese que los puntos 1) y 2) no son intercambiables, es decir, se han de ejecutar necesariamente en ese orden. En caso contrario se podrían ocasionar situaciones anómalas. (Por ejemplo, si INTR2 e INTR3 están activas pero ambos niveles de interrupción están enmascarados, INTR no se debe activar. Pero se se genera INTR y luego se comprueba qué niveles están enmascarados se habría producido una petición de interrupción cuando debería haber sido filtrada por el controlador de interrupciones.). a) Para cualquier señal INTA j, suponiendo que ninguna petición está enmascarada, se verifica: Si INTA=0 entonces INTA j =0, independientemente de los valores de INTR i (i=0..3). Si INTA=1 e INTR j corresponde a la solicitud de petición activada de mayor prioridad, entonces INTA j =1. Si INTA=1 e INTR j =1, pero existe un INTR k de mayor prioridad que también está activado, entonces INTA j =0.

129 14 Estructura y Tecnología de Computadores II A partir de aquí se obtiene de forma inmediata la tabla de verdad solicitada (Tabla ). INTA INTR 3 INTR 2 INTR 1 INTR 0 INTA 3 INTA 2 INTA 1 INTA 0 0 X X X X X X X X X X Tabla : Tabla de verdad de INTA i (X representa 0 ó 1, indistintamente) b) El controlador de interrupciones posee un registro interno de máscara MASK cuyos bits individuales M3..M0 enmascaran selectivamente las líneas de petición de interrupción. (El contenido de este registro es escrito por la UCP mediante algún mecanismo que según el enunciado no hay que considerar en este problema.) Así, cuando M j =0 la correspondiente señal INTR j está enmascarada y no deberá ser atendida. Esto se realiza fácilmente con una puerta AND. El enmascaramiento de las cuatro líneas de petición será, por tanto, el que se muestra en la Figura INTR 3 INTR 3 INTR 2 INTR 2 INTR 1 INTR 1 INTR 0 INTR 0 M 3 M 2 M 1 M 0 MASK Figura : Mecanismo de enmascaramiento de las interrupciones c) En este apartado hay que seleccionar, a partir de las líneas de petición que ya han pasado por el mecanismo de enmascaramiento INTR i, la petición activa más prioritaria. Una posible solución consiste en utilizar un codificador de prioridad seguido de un decodificador (Figura ; obsérvese que ambos dispositivos tienen sus entradas de habilitación H activadas).

130 Problemas de los exámenes del curso 97/ INTR INTR 3 3 H A H 3 I 3 INTR 2 INTR Codificador de prioridad Decodificador 2 1 I 2 I 1 INTR I 0 Figura : Mecanismo de gestión de prioridades El codificador de prioridad genera la codificación binaria de la línea INTR j más prioritaria que está activa. A partir de aquí, por medio de un decodificador se consigue que se active únicamente la línea I j ; las restantes líneas I i menos prioritarias se encuentran a 0, independientemente de cómo se encuentren las correspondientes líneas INTR i. Esto se recoge en la Tabla INTR 3 INTR 2 INTR 1 INTR 0 I 3 I 2 I 1 I 0 1 X X X X X X Tabla : Tabla de verdad del mecanismo de gestión de prioridades (X representa 0 ó 1, indistintamente) La salida A del codificador de prioridad indica que alguna de sus entradas está a 1. Es decir, cuando alguna de las líneas INTR i esté a 1 significa que hay alguna petición no enmascarada activa, y que por tanto hay que activar la línea INTR; para esto se utiliza la salida A. d) Cuando la UCP concede la interrupción activa su única línea INTA. Para generar las cuatro líneas de aceptación INTA i, y dado que sólo una de las líneas I i puede estar activada en cada momento, la correspondiente a la petición no enmascarada de mayor prioridad, basta con hacer la Y-lógica entre I i e INTA, según la Figura

131 16 Estructura y Tecnología de Computadores II I 3 INTA 3 I 2 INTA 2 I 1 INTA 1 I 0 INTA 0 INTA Figura : Generación de las señales de aceptación INTA i e) Para construir el controlador de interrupciones solicitado tan solo hay que encadenar los módulos implementados en los apartados b), c) y d), según se muestra en la Figura CONTROLADOR DE INTERRUPCIONES INTR De los periféricos { INTR 3 INTR 2 INTR 1 INTR 0 Enmascaramiento (b) INTR 3 INTR 2 INTR 1 INTR 0 Prioridades (c) I 3 I 2 I 1 I 0 Concesión (d) INTA UCP A los periféricos { INTA 3 INTA 2 INTA 1 INTA 0 Figura : Controlador de interrupciones

132 2000 Exámenes de Junio 7HVW Test 1ª semana de Junio de Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de bytes/seg. Si para la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg. Qué porcentaje máximo de tiempo estaría ocupado el bus del sistema en una transferencia de datos del canal multiplexor a memoria principal? A) 30% B) 20 % C) 14 % D) Ninguna de las anteriores 2.- Un circuito de aceleración de arrastres (CAA) de 3 bits tiene las siguientes entradas: g 2 g 1 g 0 (generación de acarreo), p 2 p 1 p 0 (propagación de acarreo) y c -1 (acarreo de entrada); y las siguientes salidas: c 2 c 1 c 0 (acarreos). En este circuito la expresión lógica g 2 + p 2 (g 1 + p 1 (g 0 + p 0 c -1 ) ) se corresponde a: A) c3 B) c2 C) c1 D) Ninguna de las anteriores 3.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento, del registro de máscara, del registro etiqueta y del contenido de la memoria, cuál sería el valor del registro de marca? ARGUMENTO MÁSCARA ? ? ETIQUETA ? MARCA ? ? A) B) C) D) Ninguna de las anteriores 1

133 2 Estructura y Tecnología de Computadores II 4.- Se desea diseñar un circuito sumador/restador de dos números de cuatro bits cada uno, x 3 x 2 x 1 x 0 e y 3 y 2 y 1 y 0, con una señal de control M adicional para indicar la operación a realizar. I. Con una memoria ROM de 2 8 palabras con 5 bits por palabra se podría construir. II. Con una memoria ROM de 2 10 palabras con 9 bits por palabra se podría construir. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La memoria caché es totalmente asociativa, con un tamaño de partición de 8 palabras. Cuando se produce un fallo en la caché se reemplaza la partición más antigua. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal: , , , , , , y Si se leyera la dirección I. Se produciría un acierto en la memoria caché. II. Se produciría un fallo en la memoria caché y sería necesario reemplazar uno de los bloques existentes en la caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son mutuamente excluyentes entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son verdaderas: I. Utilizando formato vertical, el tamaño de los subcampos codificados sería de 4 y 5 bits, respectivamente. II. Al existir señales mutuamente excluyentes no puede utilizarse el formato vertical de microinstrucciones. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Un sistema jerárquico de memoria está compuesto por una memoria caché de 256 palabras, dividida en particiones de 8 palabras y con un tiempo de acceso de 10 nseg, y por una memoria principal de 1024 Kpalabras con un tiempo de acceso de 100 nseg. Cuando se produce un fallo, se mueve el dato a la UCP y, simultáneamente, se mueve el bloque a la memoria caché. Si la tasa de acierto de la caché es del 90%, cuál será el tiempo de acceso medio del conjunto? A) 20 nseg B) 19 nseg C) 89 nseg D) Ninguna de las anteriores 8.- Sean dos números binarios de 16 bits representados en código BCD: X = , Y = El resultado de su suma, representado en BCD, es: A) B) C) D) Ninguna de las anteriores 6ROXFLyQ 1.- La máxima velocidad de transferencia del canal multiplexor es la suma de las velocidades máximas de todos los dispositivos que están conectados a él: ( )bytes/seg. = bytes/seg. Como en transferir cada byte se tardan 200 nseg., en transferir los bytes se tardarían ( bytes) ( seg./byte) = 1.4 segundos. Es decir, en transferir los bytes que puede transmitir el canal multiplexor en un segundo se tardaría 1.4 segundos. Por tanto, el bus del sistema estaría saturado al 100% de su capacidad ( Ojo, no al 140%!) y aún así no sería capaz de transferir todos los datos que puede proporcionarle el canal multiplexor. Respuesta correcta: D (100%, Ninguna de las anteriores). 2.- Aplicando de manera iterativa la expresión c i = g i + p i c i-1 se obtiene:

134 Problemas de los exámenes del curso 99/00 3 Respuesta correcta: B (c 2 ). g 2 + p 2 (g 1 + p 1 (g 0 + p 0 c -1 )) = g 2 + p 2 (g 1 + p 1 c 0 ) = g 2 + p 2 c 1 = c A la hora de calcular el valor del registro de marca sólo hay que tener en cuenta las palabras activas, es decir, aquellas cuyo bit de etiqueta está a 1. Y de éstas, sólo se consideran los bits del argumento cuyo correspondiente bit de máscara está a ARGUMENTO MÁSCARA ETIQUETA MARCA La marca correcta es, por tanto, la que corresponde a la respuesta C. Respuesta correcta: C. 4.- La ROM que se utilice para realizar este circuito tendrá al menos 9 entradas (4 por cada operando más 1 para la entrada de control M) y, ya que la suma o la resta de dos números de 4 bits tiene un máximo de 5 bits, deberá tener al menos 5 bits/palabra. El tamaño mínimo es pues 2 9 palabras de 5 bits/palabra. La ROM propuesta en la afirmación I tiene capacidad insuficiente, pero la propuesta en II vale al ser su capacidad superior a la mínima necesaria. Respuesta correcta: C (I: no; II: sí). 5.- La cache tiene 32 / 8 = 4 (0..3) particiones. Una dirección de memoria principal se descompone como: etiqueta(5) + palabra(3). De este modo, la caché se llena de la siguiente manera: Dirección : Partición 0, etiqueta Dirección : Partición 0, etiqueta Dirección : Partición 0, etiqueta Dirección : Partición 1, etiqueta Dirección : Partición 1, etiqueta Dirección : Partición 2, etiqueta Dirección : Partición 2, etiqueta Dirección : Partición 0, etiqueta Obsérvese que la caché no se a llenado y que por tanto no ha sido necesario realizar ninguna operación de reemplazamiento. Por tanto, la dirección se encuentra en la partición 1. La afirmación I es verdadera y la II, falsa. Respuesta correcta: B (I: sí; II: no).

135 4 Estructura y Tecnología de Computadores II 6.- La afirmación I es falsa ya que un subcampo codificado de i bits puede codificar a lo sumo 2 i -1 señales de control diferentes. Por este motivo harían falta dos subcampos de 5 bits cada uno. La afirmación II es falsa ya que el formato vertical de microinstrucciones saca partido precisamente del hecho de que existan señales de control mútuamente excluyentes. Respuesta correcta: D (I: no; II: no). 7.- El tiempo medio de acceso viene dado por la expresión t A = H (tiempo de acceso en caso de acierto) + (1-H) (tiempo de acceso en caso de fallo), donde H es la tasa de acierto. Cuando se produce un fallo, según el enunciado, hay que mover un bloque de 8 palabras desde la memoria principal a la memoria caché, operación que es simultánea al envío directo a la UCP de la palabra que ha producido el fallo. Por tanto, el tiempo de acceso en caso de fallo es el tiempo necesario para mover el bloque de 8 palabras: nseg = 800 nseg. Luego t A = nseg nseg = 89 nseg. Respuesta correcta: C (89 nseg). Nota: La expresión que figura en la página 55 de la segunda edición del texto básico de teoría, o en la página 70 de la primera edición de dicho texto, t A = t A1 + t A2 - Tt A2 /100, no es aplicable directamente, ya que sólo considera el movimiento de una palabra en caso de fallo, pero no de un bloque de palabras. 8.- La manera más sencilla de obtener la solución es pasar ambos números a decimal. Para ello se agrupan los bits de cuatro en cuatro: = 3954 y = Su suma es 7860, cuya representación en código BCD es Respuesta correcta: C ( ). &XHVWLRQHV WHyULFRSUiFWLFDV 1ª semana de Junio de Se desea diseñar un controlador de interrupciones con las siguientes características. Tiene un módulo de gestión de prioridades de forma que cuando se reciban peticiones de interrupción simultáneas por más de una línea sólo se reconozca la más prioritaria. Tiene un módulo de enmascaramiento que permite enmascarar de manera individual cualquiera de las líneas de petición. En qué orden se colocarían estos dos módulos? Por qué? 2.- Explicar el resultado de la pregunta 1 del test. 3.- Explicar el resultado de la pregunta 2 del test. 6ROXFLyQ 1.- El orden correcto es en primer lugar el módulo de enmascaramiento y a continuación el de gestión de prioridades. Si el orden fuera el inverso (primero el módulo de gestión de prioridades y luego el de enmascaramiento), y si hubiera varias líneas de petición activas simultáneamente, el módulo de gestión de prioridades podría dejar pasar sólo una petición muy prioritaria, que se encuentra enmascarada posteriormente en el módulo de enmascaramiento y que por tanto no debe ser atendida. Así ninguna de las peticiones sería atendida, lo que daría lugar a una situación anómala. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

136 Problemas de los exámenes del curso 99/00 5 3UREOHPD 1ª semana de Junio de 2000 Un programa tiene dos bucles anidados, un bucle interior menor que se ejecuta 20 veces y un bucle exterior mucho mayor que se ejecuta 10 veces. La estructura general del programa se muestra en la Figura , donde las direcciones mostradas se corresponden con el principio y final de cada uno de estos bucles, y el principio y final del programa. Las direcciones se muestran en formato decimal(hexadecimal), por ejemplo 165(H00A5). Todas las direcciones de memoria de las diferentes secciones, 17-22, , , etc., contienen instrucciones que deben ejecutarse en secuencia de línea recta. El programa se ejecuta en un computador con una memoria principal de 64k palabras y una memoria caché con correspondencia directa de 1k palabras y un tamaño de bloque de 128 palabras. El tiempo de acceso a la memoria principal es de 10τ y el tiempo de acceso a la memoria caché es de 1τ. 17(H0011) (H0017) - 165(H00A5) (H00EF) (H04B0) 1500(H05DC) Figura : Estructura del programa propuesto a) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de este sistema. b) (0.75 puntos) Calcule cuánto tiempo se tardaría en ejecutar este programa si este computador no tuviera memoria caché. c) (2 puntos) Calcule cuántos fallos se producen en la caché a la hora de ejecutar este programa. Explique claramente su razonamiento. (Sugerencia: diferencie entre la primera ejecución del bucle exterior y las nueve restantes.) d) (1 punto) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo se tardaría en ejecutar este programa en este computador. 6ROXFLyQ a) En primer lugar se calcula el número de bits necesarios para direccionar una palabra de memoria principal: 64k = = Hacen falta, por tanto, 16 bits. (Obsérvese que en la Figura las direcciones se expresan con 4 dígitos hexadecimales, o sea, con 16 bits.)

137 6 Estructura y Tecnología de Computadores II La caché tiene un total de 1k (2 10 ) palabras repartidas en bloques de128 (2 7 ) palabras/bloque; el número de bloques es por tanto 2 10 / 2 7 = 2 3 bloques. El campo etiqueta tendrá 16 - (3 + 7) = 6 bits. Resumiendo: etiqueta, 6 bits; partición, 3 bits; palabra, 7 bits. b) En este apartado se pide calcular el tiempo que tardaría en ejecutarse el programa si el computador no tuviera caché. Ya que no se indica el tiempo que tardan en ejecutarse las instrucciones, se ha de suponer que es despreciable frente al tiempo de acceso a memoria (la memoria es muy lenta comparada con la velocidad de la UCP). Por tanto, el tiempo de ejecución total será el tiempo de acceso a memoria, que será el número total de accesos a memoria multiplicado por el tiempo que lleva cada acceso. En este caso, el tiempo de acceso a tener en cuenta es el de la memoria principal (10τ), ya que se supone que no hay caché. Para saber cuántas veces se accede a la memoria principal basta con contar cuántas instrucciones hay en cada sección del programa, y tener en cuenta cuántas veces se ejecuta cada una de estas secciones, tal como se muestra en la Tabla Sección Nº instrucciones Veces que se ejecuta Total instrucciones Nº total de accesos a memoria principal: Tabla : Cálculo del número total de accesos a memoria principal El tiempo total de ejecución del programa es por tanto: T P = τ = τ. c) Dado que el computador utiliza una caché con correspondencia directa, a cada palabra de la memoria principal le corresponde un único bloque de la memoria caché, según el formato de los campos que se dedujo en el apartado a). En la Tabla se muestra la correspondencia entre las distintas direcciones de la memoria principal y sus campos etiqueta, partición y palabra. Estos campos se obtienen haciendo grupos de 6, 3 y 7 bits, respectivamente, con la representación en binario puro de la dirección. La representación binaria se ha obtenido, a

138 Problemas de los exámenes del curso 99/00 7 su vez, fácilmente a partir de la representación hexadecimal. Dirección Formato dirección memoria principal (16 bits) Etiqueta (6 bits) Partición (3 bits) Palabra (7 bits) 17: 22: : 164: : 239: : 1200: : 1500: Tabla : Formato de las direcciones de memoria principal A partir de la Tabla es fácil calcular el número de fallos que se producen en el acceso a la memoria caché. Para ello, basta con ir ejecutando el programa, tal como se muestra en la Figura , con lápiz y papel y llevar en cuenta cómo se va ocupando la memoria caché. 1) Direcciones 17-22: Estas direcciones corresponden, según la Tabla , a la partición 000 (etiqueta ). La caché inicialmente está vacía, por lo que se produce el primer fallo. Esto hace que se traiga la partición entera desde la memoria principal. 2) Primera ejecución del bucle exterior: 2.1) Direcciones : La dirección 23 corresponde a la partición 000 (etiqueta ); la 164, a la partición 001 (etiqueta ). La partición 000 ya se encontraba en la caché. En la dirección 128 se produjo el segundo fallo, por lo que se trajo completa la partición 001 (etiqueta ) desde la memoria principal. 2.2) Direcciones : Estas direcciones corresponden a la partición 001 (etiqueta ), que ya se encuentra en la caché. El bucle interior se ejecuta 20 veces sin que se produzca ningún fallo. 2.3) Direcciones : Estas direcciones abarcan desde la partición 001 (etiqueta ) hasta la partición 001 (etiqueta ). Se han producido 8 fallos, que corresponden desde la partición 010 (etiqueta ) hasta la partición 111

139 8 Estructura y Tecnología de Computadores II (etiqueta ), y las particiones 000 y 001 (etiqueta ). Obsérvese que estas dos últimas particiones han reemplazado a las particiones 000 y 001 (etiqueta ). Con esto finaliza la primera ejecución del bucle exterior. Se ha producido un total de 10 fallos ( ). El estado de la caché ha quedado como se muestra en la Tabla Partición Etiqueta Tabla : Estado de la caché al finalizar la primera ejecución del bucle exterior 3) Segunda a décima ejecución del bucle exterior: Como se ha visto anteriormente, el bucle exterior comienza referenciando las particiones 000 y 001 correspondientes a la etiqueta Estas particiones han sido reemplazadas por las correspondientes a la etiqueta Se producen por tanto dos fallos y se reemplazan las particiones. El bucle sigue referenciando las particiones 010 a 111 (etiqueta ), que como se comprueba en la Figura se encuentran en la caché. Estas particiones no producen fallos. El bucle termina referenciando las particiones 000 y 001 con etiqueta , pero éstas han sido sustituídas al comienzo del bucle por las correspondientes a la etiqueta Se producen, por tanto, otros dos fallos, y se reemplazan las particiones. La segunda ejecución del bucle ha terminado con cuatro fallos y el contenido de la caché es el mismo que había al comenzar, es decir, el mostrado en la Figura Cada subsiguiente ejecución del bloque exterior producirá otros cuatro fallos y dejará la caché con el mismo contenido que había al comenzar. En total, en las nueve ejecuciónes se producirán 9 4 = 36 fallos, y el contenido de la caché al finaliar será el mostrado en la Figura ) Direcciones : La salida del bucle exterior hace que se referencien las particiones 1, 2 y 3 correspondientes a la etiqueta La 1 ya se encuentra cargada en la caché, pero la 2 y la 3 no; por tanto se producen otros 2 fallos.

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

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

142 2 Estructura y Tecnología de Computadores II 4.- Se desea diseñar un circuito comparador de dos números de tres bits y cuatro bits, respectivamente (x 2 x 1 x 0 e y 3 y 2 y 1 y 0 ), que tenga 2 salidas M (x>y) e I (x=y). I. Con una memoria ROM de 2 7 palabras con 5 bits por palabra se podría construir. II. Con una memoria ROM de 2 10 palabras con 5 bits por palabra se podría construir. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de bytes/seg. Si para la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg. Cuál es la velocidad máxima de transferencia agregada a este sistema? A) A bytes/seg B) bytes/seg C) 10 6 bytes/seg D) Ninguna de las anteriores 6.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La memoria caché utiliza correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal , , y Indicar si al finalizar estas cuatro operaciones de lectura las afirmaciones siguientes son ciertas: I. La palabra de dirección se encuentra almacenada en el conjunto 0 de la caché. II. El conjunto 1 de la caché tiene asociada la etiqueta A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Un computador de von Neumann tiene una longitud de palabra de 16 bits. Sus instrucciones máquina ocupan una longitud de 16 ó 32 bits (1 ó 2 palabras). En ambos casos, el código de operación de las instrucciones máquina ocupa un campo de 7 bits. Indique si las siguientes afirmaciones son verdaderas: I. La memoria principal deberá estar dividida en dos bancos distintos: uno para datos y otro para instrucciones. II. Este computador tendrá, como máximo, señales de control diferentes. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- Se considera un procesador que dispone de 12 líneas de direcciones A 11 -A 0. Para la construcción de su unidad de memoria se dispone de módulos de 1K palabras, utilizándose las líneas más significativas (A 11 -A 10 ) para la selección de cada módulo. En el mapa de memoria, la dirección base (primera dirección de cada módulo) en notación hexadecimal de los sucesivos bloques de memoria es: 6ROXFLyQ 1.- El tiempo medio de acceso viene dado por la expresión: t A = H (tiempo de acceso en caso de acierto) + (1-H) (tiempo de acceso en caso de fallo) donde H es la tasa de acierto. Cuando se produce un fallo, según el enunciado, hay que mover un bloque de 8 palabras desde la memoria principal a la memoria caché y, posteriormente, leer el dato desde la memoria caché. Por tanto, el tiempo de acceso en caso de fallo es el tiempo necesario para mover el bloque de 8 palabras más el tiempo empleado en leer el dato desde la caché: nseg + 10 nseg. = 810 nseg.

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

144 4 Estructura y Tecnología de Computadores II La caché tiene en total 64 palabras y un tamaño de partición de 16 palabras. El número total de particiones es: (64 palabras) / (16 palabras/partición) = 4 particiones. Según estos datos una dirección de memoria principal se descompone como etiqueta(6) + partición(2) + palabra(4). De este modo la caché se va llenando de la siguiente forma cuando se leen sucesivamente las direcciones de memoria principal , , y : Dirección : Partición 01, etiqueta Dirección : Partición 01, etiqueta Dirección : Partición 00, etiqueta Dirección : Partición 11, etiqueta A la dirección de memoria principal propuesta en la afirmación I, le corresponde la partición 11. Esta partición tiene la etiqueta que es el mismo valor que tiene el campo etiqueta de la dirección propuesta. Por tanto, la dirección propuesta en la afirmación I, , se encuentra ya almacenada en la partición 11 de la memoria caché. Respuesta correcta: D (I: No; II: no). 7.- Una de las características de la arquitectura de von Neumann es precisamente el tener un único espacio de memoria utilizado tanto para almacenar datos como para almacenar instrucciones. La afirmación I es falsa. Cuando se habla de instrucciones máquina no tiene sentido hablar de señales de control, sino de códigos de operación, formato de instrucciones, etc. Sin embargo, si nos referimos a microinstrucciones, sí tiene sentido. La afirmación II es falsa. Respuesta correcta: D (I: No; II: no). 8.- La dirección base de un módulo es la dirección de memoria principal que hay que emplear para acceder a la primera posición de dicho módulo. En este caso concreto las sucesivas direcciones base de cada módulo las generaremos con valores sucesivos de los bits A 11 A 10, que son los empleados para seleccionar cada módulo, y el resto de los bits de la dirección, A 9..A 0, con el valor cero. En la tabla siguiente se muestra el resultado. Dirección base en binario A 11 A 10 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 Dir. base en hexadecimal Módulo Módulo Módulo Módulo C 0 0 Respuesta correcta: C ( C00). &XHVWLRQHV WHyULFRSUiFWLFDV 2ª semana de Junio de Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de DMA transparente.

145 Problemas de los exámenes del curso 99/00 5 Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas, pero en uno de ellos no hace uso del bus. El controlador de DMA tarda un ciclo de reloj en transmitir una palabra. Explicar razonadamente qué reducción en la velocidad de la UCP supone la transferencia de DMA. 2.- Explicar el resultado de la pregunta 1 del test. 3.- Explicar el resultado de la pregunta 2 del test. 6ROXFLyQ 1.- La utilización de esta técnica no supone ninguna reducción en la velocidad de la UCP ya que el controlador de DMA hace uso del bus únicamente cuando la UCP no lo necesita utilizar. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3UREOHPD 2ª semana de Junio de 2000 Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la figura, con dos entradas de datos X (x 1 x 0 ) e Y (y 1 y 0 ), una entrada de control C (c 1 c 0 ) y una salida de datos R (r 3 r 2 r 1 r 0 ). El funcionamiento de la UAL viene descrito por la siguiente tabla: Señal de control Operación c 1 c 0 = 0 0: suma c 1 c 0 = 0 1: producto R = X + Y R = X * Y c 1 c 0 = 1 0: comparación Si X > Y entonces R = Si X = Y entonces R = Si X < Y entonces R = c 1 c 0 = 1 1: sacar X, Y R = X, Y (r 3 = x 1, r 2 = x 0, r 1 = y 1, r 0 = y 0 ) Tabla : Tabla de funcionamiento de la UAL 2 2 x 1 x 0 y 1 y 0 c 1 c 0 2 UAL r 3 r 2 r 1 r 0 Figura : Módulo UAL Para resolver el problema, seguir obligatoriamente los siguientes apartados:

146 6 Estructura y Tecnología de Computadores II a) (1 punto) Diseñar un comparador de números de dos bits utilizando únicamente comparadores de números de un bit y puertas lógicas. b) (2 puntos) Diseñar un sumador/multiplicador de dos números de 2 bits utilizando únicamente un módulo de memoria ROM. Cuál es el tamaño necesario para este módulo de memoria ROM? Indique claramente el significado de cada una de sus entradas y cada una de sus salidas. Escriba todo el contenido de la memoria ROM en forma de tabla. c) (1 punto) Utilizando únicamente los módulos diseñados en los apartados anteriores, los módulos combinacionales necesarios y puertas lógicas, diseñe la UAL pedida. 6ROXFLyQ a) Para comparar X e Y es necesario comparar cada bit de uno de ellos con el bit de igual peso del otro. Para hacer estas comparaciones utilizamos los comparadores de 1 bit propuestos. Si el resultado de la comparación de x i e y i es: M i, I i y m i, se cumple que: M i =1 si x i > y i I i =1 si x i = y i m i =1 si x i < y i A partir de M i, I i y m i se generan las salidas M, I y m del comparador de 2 bits mediante las siguientes funciones booleanas: M = M 1 + I 1 M 0 I = I 1 I 0 m = m 1 + I 1 m 0 La explicación de estas expresiones es inmediata: x > y si (x 1 > y 1 ) o ((x 1 = y 1 ) y (x 0 > y 0 )) x = y si (x 1 = y 1 ) y (x 0 = y 0 ) x < y si (x 1 < y 1 ) o ((x 1 = y 1 ) y (x 0 < y 0 )) La Figura muestra el circuito lógico pedido en este apartado obtenido a partir de las expresiones anteriores.

147 Problemas de los exámenes del curso 99/00 7 x 1 y 1 x 0 y 0 x>y x=y x<y M 1 I 1 m 1 x>y x=y x<y M 0 I 0 m 0 x 1 x 0 y 1 y 0 Comparador M I m M I m Figura : Circuito lógico de un comparador de dos números de 2bits b) Para calcular el tamaño de la memoria ROM necesaria hay que saber el número entradas y salidas del circuito. Entradas. Este circuito tiene 5 entradas: 2 para la entrada de datos X (x 1 x 0 ), 2 para la entrada de datos Y (y 1 y 0 ) y una entrada de control (c) para la selección de la operación a realizar por el circuito. Esta última entrada de control va a tener el siguiente significado: c = 0: Suma c = 1: Producto Salidas: Este circuito tiene 4 salidas. El resultado de la suma de dos números de dos bits tiene tan sólo 3 bits pero, para el resultado del producto de dos números de dos bits se requieren 4 bits. Como el circuito a diseñar tiene que poder hacer ambas operaciones, su salida ha de tener, necesariamente, 4 bits. Por tanto, el tamaño de la memoria ROM necesario para implementar el sumador es de: 2 5 palabras 4 bits/palabra. El significado de cada una de sus entradas y salidas se muestra claramente en la Figura Finalmente, en la Tabla se muestra el contenido que debería tener la memoria ROM.

148 8 Estructura y Tecnología de Computadores II c A 4 x 1 x 0 y 1 A 3 A 2 A 1 ROM 32 palabras 4 bits x 1 x 0 y 1 y 0 Sumador / Multiplicador c b 3 b 2 b 1 b 0 c y 0 A 0 b 3 b 2 b 1 b 0 Figura : Sumador/Multiplicador diseñado con memoria ROM Dirección memoria c x 1 x 0 y 1 y 0 Contenido Dirección memoria c x 1 x 0 y 1 y 0 Contenido A 4 A 3 A 2 A 1 A 0 b 3 b 2 b 1 b 0 A 4 A 3 A 2 A 1 A 0 b 3 b 2 b 1 b Tabla : Contenido de la memoria ROM c) En la Figura se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4 multiplexores para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas de control c 1 y c 0. También la entrada de control de la UAL c 0 se utiliza para seleccionar la operación a realizar por el Sumador/Multiplicador.

149 Problemas de los exámenes del curso 99/00 9 x 1 x 0 y 1 y 0 x 1 x 0 y 1 y 0 x 1 x 0 y 1 y 0 Comparador M I m Sumador/Multiplicador b 3 b 2 b 1 b 0 c MUX MUX MUX MUX c 0 c 1 r 3 r 2 r 1 r 0 Figura : UAL pedida en el problema

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

151 2 Estructura y Tecnología de Computadores II si las siguientes afirmaciones son verdaderas: I. El coste por palabra de la caché primaria será menor que el coste por palabra de la caché secundaria. II. La caché primaria será de menor tamaño que la secundaria y contendrá la copia de algunos bloques de ésta. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- En un sistema de memoria caché con correspondencia totalmente asociativa: I. No es necesario definir una política de reemplazamiento. II. Un posible algoritmo de reemplazamiento consiste en reemplazar particiones escogidas de forma aleatoria. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Se considera un procesador que dispone de 12 líneas de direcciones A 11 -A 0. Para la construcción de su unidad de memoria se dispone de módulos de 1K palabras, utilizándose las líneas menos significativas (A 1 -A 0 ) para la selección de cada módulo. Indique cuál de las siguientes afirmaciones es verdadera: A) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en el mismo módulo de memoria. B) Las direcciones hexadecimales C89 y C8A se encuentran almacenadas en diferentes módulos de memoria. C) El módulo en que se encuentra almacenada una dirección de memoria queda determinado por el valor de D) Ninguna de las anteriores es verdadera. 8.- Un computador tiene una unidad de memoria de 4096 palabras y una memoria caché de 64 palabras. La memoria caché utiliza correspondencia directa, con un tamaño de partición de 16 palabras. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal , , y Indicar si al finalizar estas cuatro operaciones de lectura las afirmaciones siguientes son ciertas: I. La palabra de dirección se encuentra almacenada en el bloque 3 de la caché. II. El bloque 1 de la caché tiene asociada la etiqueta A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6ROXFLyQ 1.- Este ejercicio es una simplificación al Problema 1.3 del libro de problemas. En este caso la situación es la que muestra la Figura Uso del bus Almacenamiento del dato 25 nseg 75 nseg Figura : Ciclo de escritura de los módulos de memoria De forma inmediata se ve que si cada 100 nseg. el módulo de memoria ocupa 25 nseg., es decir, 1/4 del tiempo, vamos a poder solapar, cómo máximo, 4 operaciones de escritura con 4 módulos de memoria distintos aunque nuestro sistema disponga de 20 módulos. Para aclarar este punto en la Figura se muestra el

152 Problemas de los exámenes del curso 99/00 3 solapamiento máximo que se puede conseguir utilizando todos los módulos de memoria. En el instante de tiempo t únicamente están realizando parte de una operación de escritura 4 módulos: módulos 2, 3, 4 y 5. 1 Módulo t Figura : Máximo solapamiento utilizando los 20 módulos Por tanto, en una operación de escritura continua en este sistema de memoria, se pueden llegar a iniciar y acabar 4 operaciones de escritura cada 100 nseg. La velocidad resultante es: 4 palabras / (100 nseg.) = 4 palabras / ( seg.) = 4 / 10-7 palabras/seg. = palabras/seg. Respuesta correcta: B (4 x 10 7 palabras/seg.) (x 100 nseg.) 2.- Este controlador de DMA aprovecha los dos ciclos de reloj consecutivos en los que la UCP no utiliza el bus cuando ejecuta una instrucción, para transmitir una palabra. Por tanto, en los 4 ciclos de reloj que la UCP tarda en ejecutar una instrucción, el controlador de DMA transmite una palabra. La velocidad de transferencia resultante, si el reloj del computador tiene una frecuencia de ciclos/ seg., es de: ( ciclos/seg.) / (4 ciclos/palabra) = palabras/seg. Con esta velocidad de transferencia, para mover un bloque de palabras el controlador de DMA tardará: ( palabras) / ( palabras/seg) = 2 seg. Respuesta correcta: B (2 seg.). 3.- En esta pregunta hay que comprobar la equivalencia de la expresión propuesta con alguna de las respuestas. La forma más sencilla de hacerlo consiste en generar una tabla de verdad. La tabla de verdad de ( x+ y)xy se muestra en la Tabla De forma inmediata se comprueba que es equivalente a la tabla de verdad del bit de suma.

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

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

155 6 Estructura y Tecnología de Computadores II Partición Fallo Partición 1 Fallo Fallo Partición Partición Fallo Tabla : Evolución de la memoria caché en las sucesivas lecturas 3UREOHPD Septiembre de 2000 Un computador tiene una memoria principal de 32k palabras de 16 bits/palabra. También tiene una memoria caché asociativa por conjuntos de 4k palabras, con 4 bloques por conjunto y 64 palabras por bloque. Considérese que la memoria caché está inicialmente vacía y que utiliza el algoritmo FIFO para el reemplazo de los bloques. Supóngase que la UCP accede a 4352 palabras de las direcciones 0, 1, , en orden. Después repite esta secuencia nueve veces más. La memoria caché es 10 veces más veloz que la memoria principal. Se pide: a) (0.50 puntos) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de este sistema. b) (0.25 puntos) Calcule cuánto tiempo se tardaría en realizar estos accesos a memoria principal si este computador no tuviera memoria caché. c) (2 puntos) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria principal. Explique claramente su razonamiento. d) (1.25 puntos) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la UCP en realizar estos accesos a memoria. 6ROXFLyQ a) Como se trata de una caché asociativa por conjuntos el formato de dirección de la memoria principal se divide en tres campos: Etiqueta, Conjunto y Palabra. Para direccionar las 32k palabras de la memoria principal hacen falta 15 bits (32k = = 2 15 ). 15 bits es, por tanto, el ancho de una dirección de memoria principal.

156 Problemas de los exámenes del curso 99/00 7 La memoria caché tendrá (4 bloques/conjunto) (64 palabras/bloque) = 256 (2 8 ) palabras/conjunto. La caché tendrá, por tanto, un total de (4096 palabras) / (256 palabras/conjunto) = 16 conjuntos. Así, la caché tendrá 2 6 palabras/bloque y 2 4 conjuntos. Por tanto, los campos Conjunto y Palabra tendrán 4 y 6 bits, respectivamente. Esto hace un total de 10 bits, de los 15 de una dirección de memoria principal. Los 5 bits restantes constituyen el campo Etiqueta. ETIQUETA CONJUNTO PALABRA Figura : Formato de dirección de memoria principal (Nota: Los términos bloque y partición son intercambiables en este problema.) 15 b) Si el computador no tiene memoria caché todas las palabras se han de leer de la memoria principal. El tiempo necesario para hacerlo será el tiempo necesario para leer una palabra multiplicado por el numero total de palabras a las que se accede. Como las 4352 palabras se leen un total de 10 veces, el número total de palabras que se leen es Si el tiempo necesario para acceder a una palabra de memoria principal es 10τ (frente a τ que sería el tiempo necesario para acceder a una palabra de caché), el tiempo total es T P = τ = τ. c) Para resolver esta cuestión conviene distinguir entre la primera lectura del bucle y las nueve restantes: Primera lectura: Corresponde a la primera lectura secuencial de las palabras 0 a Se considera que la caché está inicialmente vacía. Dado que el tamaño de la memoria caché es de 4096 palabras y el número de palabras a las que se accede es de 4352, es claro que la caché no puede almacenar simultáneamente todas estas palabras. Como se ha visto en a), la caché está organizada en 16 conjuntos de 4 particiones por conjunto, lo que hace un total de 64 particiones. Cada una de estas particiones tiene 64 palabras, lo que hace el total de las 4096 palabras de la caché. Las 4352 palabras consecutivas que hay que leer corresponden a (4352 palabras) / (64 palabras/partición) = 68 particiones, 4 más que las 64 de la caché. Cada vez que se produzca un fallo se traerá un bloque completo desde la memoria principal, es decir, 64 palabras. Se lee la palabra de dirección 0: Como la caché está vacía se producirá un fallo y se traerán las palabras 0 a 63 que, según el formarto de dirección de la memoria principal de la Figura , corresponden al conjunto 0. Como las cuatro particiones de este conjunto se encuentran vacías se puede suponer que se almacenarán en la partición 0 del conjunto 0. La lectura de las palabras 1 a 63 no origina fallos, pues estas palabras ya se encuentran en la caché. Se lee la palabra 64: Un nuevo fallo. Se traen las direcciones 64 a 127, que corresponden al conjunto 1, según el formato de la Figura Se supone que se utiliza la partición 0 de este conjunto. Así, los primeros 16 bloques de la memoria principal irán a la partición 0 de sus respectivos conjuntos. Los 16 bloques siguientes irán a la partición 1 de sus conjuntos. Se suceden las lecturas, hasta haber leído los primeros 64

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

158 Problemas de los exámenes del curso 99/00 9 Conjunto Contenido particiones (nº bloque) Tabla : Contenido de la memoria caché después del primer ciclo de lecturas

159 10 Estructura y Tecnología de Computadores II Conjunto Contenido particiones (nº bloque) Tabla : Contenido de la memoria caché después del segundo ciclo de lecturas

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

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

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

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

164 4 Estructura y Tecnología de Computadores II Entradas: X(8), Y(8), e d (1), e i (1), C(1), d 1 d o (2). Total 21 entradas Salidas: R(8). Total 8 salidas Por tanto parece que sería necesaria una memoria ROM de 2 21 palabras 8 bits y, evidentemente, los tamaños propuestos en las dos afirmaciones son insuficientes. Pero si se lee atentamente el enunciado se observa que se trata de dos circuitos independientes, por un lado un comparador y por otro un desplazador. Tratándolos de forma separada, se puede hacer el diseño con las memorias ROM propuestas en la primera afirmación: Comparador: Tiene 16 entradas (X(8) e Y(8)) y 3 salidas (r 7 r 6 r 5 ). Con una memoria ROM de 2 16 palabras 3 bits se podría implementar, tamaño compatible con el propuesto en los módulos de la primera afirmación. Desplazador. Tiene 12 entradas (X(8), e d (1), e i (1), d 1 d o (2)) y 8 salidas (R(8)). Con una memoria ROM de 2 12 palabras 8 bits se podría implementar, tamaño también compatible con el propuesto en los módulos de la primera afirmación. El inversor se va a utilizar, junto con la señal de control C(1), para habilitar uno de los dos módulos de memoria. El diseño que haría cierta la primera afirmación se muestra en la Figura 1. Y 8 H ROM X C 1 H e d e i d ROM R d 0 1 Figura 1: Conexión para la primera afirmación de la pregunta 6. Respuesta correcta: B (I: sí, II: no.) 7.- Las dos afirmaciones hacen referencia a la técnica de DMA. Afirmación I: Cierta. Ver la página 172 de la primera edición del texto base de teoría o la página 166 de su segunda edición. Afirmación II: Falsa. La técnica de transferencia por ráfagas mantiene inactiva a la UCP durante periodos

165 Problemas de los exámenes del curso 2000/ relativamente grandes. Ver la página 173 de la primera edición del texto base de teoría o la página 166 de su segunda edición. Respuesta correcta: B (I: sí, II: no.) 8.- Las dos afirmaciones hacen referencia al diseño de Sumadores Binarios Completos (SBC). Afirmación I: Cierta. Ver la página 196 de la primera edición del texto base de teoría o la página 186 de su segunda edición. Afirmación II: Cierta. Ver la página 196 de la primera edición del texto base de teoría o la página 186 de su segunda edición. Respuesta correcta: A (I: sí, II: sí.) &XHVWLRQHV WHyULFRSUiFWLFDV 6HPDQD 1.- Explicar el resultado de la pregunta 1 del test. 2.- Explicar el resultado de la pregunta 2 del test. 3.- Explicar el resultado de la pregunta 3 del test. 6ROXFLyQ 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3UREOHPD 6HPDQD Un computador tiene una memoria principal de 64k palabras de 16 bits/palabra. También tiene una memoria caché totalmente asociativa de 2k palabras y 256 palabras por bloque. Considérese que la memoria caché está inicialmente vacía y que, cuando la caché está llena, se reemplaza el bloque que se haya utilizado más recientemente. Supóngase que la UCP ejecuta un bucle 5 veces, en el que accede a 2301 palabras, desde la dirección 0 hasta la dirección La memoria caché es 7 veces más veloz que la memoria principal. Se pide: A) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de este sistema. B) (0.25 puntos) Calcule cuánto tiempo se tardaría en realizar estos accesos a memoria principal si este computador no tuviera memoria caché. C) (1.5 puntos) Realice una tabla con 5 columnas, una columna por cada vez que se ejecuta el bucle, y tantas filas como bloques tenga la memoria caché. En cada columna ponga el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los cinco ciclos. Expresar el valor de la etiqueta en hexadecimal. D) (1.00 puntos) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria principal. Explique claramente su razonamiento.

166 6 Estructura y Tecnología de Computadores II E) (1.00 puntos) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la UCP en realizar estos accesos a memoria. 6ROXFLyQ a) En primer lugar se calcula el número de bits necesarios para direccionar una palabra de memoria principal: 64k = = Hacen falta, por tanto, 16 bits. La caché tiene un total de 2k (2 11 ) palabras repartidas en bloques de 256 (2 8 ) palabras/bloque. El campo palabra tiene un tamaño de 8 bits. Por tanto, el campo etiqueta tendrá 16-8 = 8 bits. Resumiendo, la dirección de memoria principal se descompone en dos campos: campo etiqueta de 8 bits y campo palabra de 8 bits. Para expresar los 16 bits de la dirección en hexadecimal se utilizarían 4 dígitos, los dos más significativos serían el campo etiqueta y los otros dos serían el campo palabra. El número de bloques, aunque para este apartado no es necesario, es 2 11 / 2 8 = 2 3 = 8 bloques. b) En este problema no se especifica el tiempo de acceso concreto a memoria caché por lo que vamos a suponer que es τ y, por tanto, el tiempo de acceso a la memoria principal es 7τ. El tiempo total en realizar los accesos a memoria pedidos sería el número total de accesos a memoria (5 2301) multiplicado por el tiempo que lleva cada acceso (7τ). Tiempo de acceso sin memoria caché: τ. c) La memoria caché tiene un tamaño de 2k = 2024 palabras por lo que las 2301 direcciones propuestas no caben en la memoria caché y habrá que realizar reemplazamientos. El sistema va a acceder a direcciones desde la 0 a la 2300, y cada vez que se produzca un fallo se cargarán en memoria caché bloques de 256 palabras. Todas estas direcciones están incluidas en 9 bloques de memoria, y como la caché tan sólo tiene 8, en cada ciclo habrá que realizar un único reemplazamiento del bloque más recientemente utilizado. La Tabla 1 muestra los rangos de direcciones de memoria principal correspondientes a los 9 primeros bloques, los que intervienen en el problema, con las etiquetas que tendrían al ser cargados en la memoria caché. En el apartado a) se vio que los 8 bits más significativos de la dirección se corresponden con el campo etiqueta, esto equivale a decir que los 2 dígitos más significativos en hexadecimal son la etiqueta. Esta tabla no se pide en el enunciado del problema pero se ha añadido aquí para intentar aclarar la explicación y facilitar la comprensión de la Tabla 2. Rango de direcciones (Decimal) Rango de direcciones (Hexadecimal) Etiqueta en la caché FF FF FF 02 Tabla 1: Rango de direcciones y etiqueta correspondiente en la caché

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

168 8 Estructura y Tecnología de Computadores II Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Partición Partición Partición Partición Partición Tabla 2: Etiquetas en los bloques de la caché después de la ejecución de cada ciclo d) Para contestar este apartado se va a utilizar la Tabla 2 creada en el apartado anterior. Allí se ha visto que la ejecución del ciclo la primera vez sigue un patrón distinto a la ejecución del ciclo las 4 veces siguientes. Estudiando por separado ambos casos: Primera ejecución del ciclo. Se producen un fallo en cada uno de los nueve bloques de los consta el programa, produciéndose una sustitución del bloque 07 cuando se accede al bloque 08, tal y como se ha mencionado en el apartado anterior. Segunda ejecución del ciclo y sucesivas. Se produce un único fallo en cada ciclo. El número total de fallos será: = 13 fallos. e) El enunciado propone los eventos que ocurren cuando sucede un fallo: primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché. Luego para calcular el tiempo que la UCP tarda en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la memoria caché y sumarle el tiempo que se emplea en gestionar los fallos. Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos Suponiendo que el tiempo que se tarda en acceder una palabra en la memoria caché es τ y el tiempo en acceder a una palabra en la memoria principal es 7τ, nos queda que: Tiempo de acceso a la caché = número de accesos τ = 5 ciclos 2301 palabras/ciclo τ. Tiempo de gestión de fallos = 256 palabras/fallo 13 fallos 7τ. Sumando ambas cantidades, nos queda que la UCP tardaría en ejecutar estos accesos: Tiempo total = τ τ. 7HVW 6HPDQD 1.- En una memoria caché en la que se realizan 2 20 accesos se producen 2 17 fallos. La tasa de aciertos correspondiente es: A) 87.5%. B) 12.5 %. C) Faltan datos para calcularla. D) Ninguna de las anteriores. 2.- En un sumador binario de dos números de dos bits, x 1 x 0 e y 1 y 0, respectivamente, donde S 1 S 0 es el resultado de la suma, C 1 es el acarreo de la suma y C -1 es el acarreo de entrada, las expresiones x 1 y 1 (x 0 y 0 +(x 0 y 0 )C -1 )

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

170 10 Estructura y Tecnología de Computadores II A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6ROXFLyQ 1.- La tasa de aciertos viene dada por la expresión: Núm. accesos - Num. fallos T. Aciertos Num. fallos = 100 = = 87.5 % Núm. accesos Núm. accesos Respuesta correcta: A (87.5 %) 2.- Recordando las expresiones de un SBC: Resultado de la suma: S i = x i y i C i 1 Acarreo de la suma: C i = x i y i + ( x i y i )C i 1 Se puede observar directamente que en las dos expresiones propuestas aparece, entre paréntesis, el acarreo de la suma de x 0 e y 0 : C 0 = x 0 y 0 + ( x 0 y 0 )C 1. Haciendo la correspondiente sustitución en las dos expresiones propuestas, nos queda que: x 1 y 1 ( x 0 y 0 + ( x 0 y 0 )C 1 ) = x 1 y 1 C 0 = S 1 x 1 y 1 + ( x 1 y 1 )( x 0 y 0 + ( x 0 y 0 )C 1 ) = x 1 y 1 + ( x 1 y 1 )C 0 = C 1 Respuesta correcta: A (S 1 y C 1, respectivamente). 3.- En la memoria caché se almacena una copia de parte del contenido de la memoria principal del sistema. Cuando se carga en memoria principal Prog2, en la memoria caché no hay ninguna copia del código de este nuevo programa por lo que la primera referencia a su código necesariamente va a producir un fallo en la memoria caché. La memoria principal tiene un tamaño de 8192 Kpalabras = 2 23 palabras, por lo que las direcciones tienen una longitud de 23 bits. Por otro lado, tiene particiones de 64 palabras y conjuntos con 4 particiones, por lo que cada conjunto tendrá un tamaño de 64 4 = 256 palabras. Como la caché tiene un tamaño total de 2 Kpalabras, habrá un total de 2048 / 256 = 8 conjuntos. Por tanto, una dirección de memoria principal estará descompuesta en los siguientes campos: Palabra: 6 bits (2 6 = 64 palabras por partición). Conjunto: 3 bits (2 3 = 8 conjuntos). Etiqueta: = 14 bits. Como ya se ha mencionado, el tamaño de partición de la memoria caché es de 64 palabras. Estudiemos los rangos de direcciones de memoria que se corresponden con los primeros bloques: Bloque 0: direcciones de la 0 a la 63. Van al conjunto 0 de la caché. Bloque 1: direcciones de la 64 a la 127. Van al conjunto 1 de la caché. Bloque 2: direcciones de la 128 a la 191. Van al conjunto 2 de la caché. Etc.

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

172 12 Estructura y Tecnología de Computadores II Afirmación II. Falso. Es justamente al revés. Ver la página 40 de la primera edición del texto base de teoría o la página 34 de su segunda edición. Respuesta correcta: D ( I: no, II: no.) &XHVWLRQHV WHyULFRSUiFWLFDV 6HPDQD 1.- Explicar el resultado de la pregunta 1 del test. 2.- Explicar el resultado de la pregunta 2 del test. 3.- Explicar el resultado de la pregunta 3 del test. 6ROXFLyQ 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3UREOHPD 6HPDQD Se dispone de una UCP con una única línea de petición de interrupción (INTR) y una única línea de aceptación de interrupción (INTA). Se desea diseñar para esta UCP un controlador de interrupciones como el mostrado en la figura, de manera que pueda atender interrupciones generadas por 8 dispositivos externos mediante las líneas de petición de interrupción INTR7, INTR6,..., INTR1 e INTR0. Cuando se reciben peticiones de interrupción simultáneas por más de una línea sólo se reconoce la más prioritaria (la máxima prioridad la tiene INTR7 y la mínima INTR0). Este controlador no permite enmascaramiento. Cuando la UCP activa su línea de aceptación INTA se debe informar al periférico correspondiente, de manera individual, de que su petición ha sido aceptada, mediante las líneas de aceptación INTA7, INTA6,..., INTA1 e INTA0. A) (1.00 puntos) Obtener la tabla de verdad de las 8 líneas INTAi (i=0..7) en función de las 8 líneas INTRi (i=0..7) e INTA. B) (1.00 puntos) Diseñar un circuito lógico que implemente el esquema de prioridades de las 8 líneas INTRi (i=0..7). C) (0.75 puntos) Diseñar el controlador de interrupciones solicitado utilizando para ello los resultados obtenidos en los apartados anteriores. D) (1.25 puntos) Indique razonadamente cómo conectaría 2 controladores de interrupciones de 8 entradas, como el diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 15 dispositivos externos. (Se valorará positivamente la simplicidad del diseño.)

173 Problemas de los exámenes del curso 2000/ INTR0 INTR1 Controlador de interrupciones INTR UCP INTR7 INTA INTA0 INTA1 INTA7 6ROXFLyQ a) La tabla de verdad solicitada se muestra en la Tabla 3, donde se puede observar el comportamiento solicitado: Si INTA = 0, no se activa ninguna de las líneas de aceptación, aunque haya peticiones pendientes. Si INTA = 1, se activa la línea de aceptación de la petición INTR i más prioritaria. ENTRADAS SALIDAS INTA INTR 7 INTR 6 INTR 5 INTR 4 INTR 3 INTR 2 INTR 1 INTR 0 INTA 7 INTA 6 INTA 5 INTA 4 INTA 3 INTA 2 INTA 1 INTA 0 0 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Tabla 3: Tabla de verdad de INTA i (X representa 1 ó 0, indistintamente) b) En este apartado hay que seleccionar, a partir de las líneas INTR i la petición más prioritaria. Una posible solución consiste en utilizar un codificador de prioridad seguido de un decodificador. En la Figura 2 se muestra el diseño propuesto, donde se puede observar que tanto el codificador de prioridad como el decodificador tienen sus

174 14 Estructura y Tecnología de Computadores II entradas de habilitación H activadas. 1 1 INTR H A H INTR 7 INTR I 7 I 6 INTR 5 INTR 4 INTR Codificador de prioridad 1 1 Decodificador I 5 I 4 I 3 INTR I 2 INTR 1 INTR I 1 I 0 Figura 2: Mecanismo de gestión de prioridades El codificador de prioridad genera la codificación binaria de la línea INTR i más prioritaria. A partir de aquí, por medio del decodificador se consigue que únicamente se active la línea I i, y que las restantes salidas I j, menos prioritarias, se encuentren a cero, independientemente de cómo se encuentren las correspondientes líneas INTR j. Esto se recoge en la Tabla 4. INTR 7 INTR 6 INTR 5 INTR 4 INTR 3 INTR 2 INTR 1 INTR 0 INTR I 7 I 6 I 5 I 4 I 3 I 2 I 1 I X X X X X X X X X X X X X X X X X X X X X X X X X X X Tabla 4: Tabla de verdad del mecanismo de gestión de prioridades (X representa 1 ó 0, indistintamente)

175 Problemas de los exámenes del curso 2000/ INTR 7 INTR 6 INTR 5 INTR 4 INTR 3 INTR 2 INTR 1 INTR 0 INTR I 7 I 6 I 5 I 4 I 3 I 2 I 1 I X Tabla 4: Tabla de verdad del mecanismo de gestión de prioridades (X representa 1 ó 0, indistintamente) Cuando alguna de las líneas INTR i esté a 1 significa que hay alguna petición de interrupción activa y que, por tanto, hay que activar la línea INTR conectada a la UCP para transmitir la petición. Para esto se utiliza la salida A del codificador de prioridad que se activa cuando alguna de sus entradas está a 1. El comportamiento de esta línea se puede ver también en la Tabla 4. c) Cuando la UCP concede la interrupción activa su única línea INTA. El controlador de interrupciones tiene que activar en ese instante la línea de aceptación INTA i correspondiente al dispositivo más prioritario que tenga pendiente una petición. Esta información se generó en el apartado anterior mediante las salidas Ii. Entonces, para generar las funciones lógicas de las ocho INTA i que tiene el controlador de interrupciones que se está diseñando, basta con hacer la Y-lógica entre cada I i y la línea INTA de aceptación generada por la UCP (ver Figura 3). I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 INTA 7 INTA 6 INTA 5 INTA 4 INTA 3 INTA 2 INTA 1 INTA 0 INTA Figura 3: Generación de las señales de aceptación INTA i Para construir ahora el controlador de interrupciones solicitado tan solo hay que encadenar los módulos implementados en el apartado B (ver Figura 2) con el de la Figura 3, tal y como muestra la Figura 4.

176 16 Estructura y Tecnología de Computadores II INTR INTR 7 INTR 6 INTR 5 INTR 4 INTR 3 INTR 2 INTR 1 INTR Módulo de gestión de prioridades (Figura 2) I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 Módulo de aceptación (Figura 3) INTA UCP Controlador de Interrupciones INTA 7 INTA 6 INTA 5 INTA 4 INTA 3 INTA 2 INTA 1 INTA 0 Figura 4: Controlador de interrupciones solicitado en el problema Otra posible solución consiste en conectar la salida INTA de la UCP a la entrada de habilitación H del decodificador de la Figura 2 de la página 14. De esta manera, las salidas del decodificador son ahora las señales INTA i, tal como se muestra en la Figura 5.

177 Problemas de los exámenes del curso 2000/ INTR INTA H A H INTR 7 INTR INTA 7 INTA 6 INTR 5 INTR 4 INTR Codificador de prioridad 1 1 Decodificador INTA 5 INTA 4 INTA 3 INTR INTA 2 INTR 1 INTR INTA 1 INTA 0 Figura 5: Diseño alternativo INTR 7 7 INTR INTA 7 INTA 7 INTR INTA 6 INTR 5 INTR 4 INTR Controlador de Interrupciones INTA 5 INTA 4 INTA 3 INTR INTA 2 INTR INTA 1 INTR INTA 0 Figura 6: Representación del módulo controlador de interrupciones d) En este apartado se va a representar el controlador de interrupciones como el módulo representado en la Figura 6. La forma de conectar dos de estos módulos para poder atender las peticiones de 15 dispositivos externos se muestra en la Figura 7. Denominando CI 1 al controlador de interrupciones 1 y CI 2 al controlador de interrupciones 2, el diseño tiene las siguientes características: Es capaz de atender peticiones de 15 dispositivos, tal y como requiere el enunciado del problema.

178 18 Estructura y Tecnología de Computadores II La salida de petición de interrupción INTR del CI 2 se ha conectado con la entrada INTR 0 del CI 1, y la salida de aceptación INTA 0 del CI 1 se ha conectado con la entrada INTA del CI 2. De esta forma, las peticiones INTR 7 a INTR 0, solicitadas al CI 2, sólo se atenderán cuando no haya peticiones activas en las líneas INTR 8 a INTR 14. Por tanto, la línea más prioritaria es la INTR 14 y la menos prioritaria es la INTR 0. De esta manera se pueden encadenar tantos controladores de interrupciones como sean necesarios para atender a cualquier número arbitrario de peticiones. UCP INTR INTA INTR 14 7 INTR INTA 7 INTA 14 INTR INTA 13 INTR 12 INTR 11 INTR 10 INTR Controlador de Interrupciones INTA 12 INTA 11 INTA 10 INTA 9 INTR INTA INTR 7 7 INTR INTA 7 INTA 7 INTR INTA 6 INTR 5 INTR 4 INTR 3 INTR Controlador de Interrupciones INTA 5 INTA 4 INTA 3 INTA 2 INTR INTA 1 INTR INTA 0 Figura 7: Controlador de interrupciones de 15 entradas Nota importante: A la hora de corregir este problema, el equipo docente de la asignatura se ha encontrado con bastante

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

180 2001 Septiembre 7HVW 6HSWLHPEUH 1.- En un sistema cuando la UCP dispone en exclusiva del bus las instrucciones emplean 3 ciclos de reloj en ser ejecutadas, aunque en 1 de ellos, el segundo, no requiere el acceso al bus. Si el controlador de DMA tarda dos ciclos de reloj consecutivos en transmitir una palabra, decir si las siguientes afirmaciones son ciertas: I. I. Se puede implementar la estrategia de DMA por ráfagas. I. II. Se puede implementar la estrategia de DMA transparente. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 2.- Decir cuál es el retardo que se obtiene al calcular la suma de dos números de 4 bits cada uno: I. I. Si el sumador se ha implementado usando lógica combinacional con 2 niveles y cada puerta tarda 5 µs en generar el resultado, el retardo es de 20 µs. II. II. Si el sumador se ha implementado usando 4 SBC's (Sumador Binario Completo) y cada uno de ellos tarda 10 (s en generar sus salidas si y ci, el retardo es de 40 µs. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- Se desea comparar el valor de dos números binarios, uno de 5 bits: X= x 4 x 3 x 2 x 1 x 0, y otro de 4 bits: Y=y 3 y 2 y 1 y 0. Utilizando comparadores de un bit se compara cada pareja de bits, x i con y i, i=0..3, obteniéndose: M i (x i >y i ), I i (x i =y i ) y m i (x i <y i ). Entonces: I. I. La función lógica M (X>Y) es M = x 4 + M 3 + I 3 M 2 + I 3 I 2 M 1 + I 3 I 2 I 1 M 0. II. II. La función lógica I (X=Y) es I = x 4 I 0 I 1 I 2 I 3. 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

181 2 Estructura y Tecnología de Computadores II continuación producirían ese registro de marca en el acceso a memoria? ARGUMENTO???????? MÁSCARA ETIQUETA MARCA Máscara Máscara Máscara Máscara Máscara 5 A) 1 B) 3 C) 5 D) Ninguno de los anteriores 5.- Se desea diseñar con una memoria ROM una unidad de control con 128 estados, que genere 244 señales de control totalmente independientes y que reciba 20 señales de condición pero en cada estado van a ser consultadas como máximo una de ellas. La memoria ROM usada tiene un coste de 10 ptas/kbit. Entonces: I. I. Si se utiliza un diseño con selección por estado el coste de la ROM es de 640 ptas. II. II. Si se utiliza un diseño con selección por campo el coste de la ROM es de 640 ptas. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Una memoria caché por correspondencia directa utiliza particiones de 64 palabras y su capacidad total son 1024 palabras. La memoria principal tiene capacidad para 220 palabras. Decir si las siguientes afirmaciones son ciertas: I. I. Las direcciones de memoria principal 1D45F y 02075, expresadas en hexadecimal, se corresponden con la partición 4 de la memoria caché. II. II. La dirección de memoria 2A23B, expresada en hexadecimal, se corresponde con la partición 8 de la memoria caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 7.- Cuántos SSB y puertas OR hacen falta para construir un sumador binario paralelo capaz de sumar números de 8 bits? A) 8 SSB y 8 OR B)12 SSB y 16 OR C)16 SSB y 8 OR D)Ninguna de las anteriores. 8.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 5 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 6(106 bytes/seg., y las de cinta de 105 bytes/seg. Si para la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 50 nseg, la máxima velocidad de transferencia agregada a este sistema es de: A) bytes/seg. B) bytes/seg. C) 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 de la primera edición del texto base de teoría o las páginas de su segunda edición.]

182 Problemas de los exámenes del curso 2000/ 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 = M 4 + M 3 + I 3 M 2 + I 3 I 2 M 1 + I 3 I 2 I 1 M 0 I = I 4 I 3 I 2 I 1 I 0 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 y 4 = 0. Como M 4 = x 4 y 4, esta expresión queda entonces reducida a M 4 = x 4. Y ya que I 4 = x 4 y 4 + x 4 y 4, en este caso se tiene que I 4 = x 4. (Recuérdese que si y 4 = 0 entonces y 4 = 1.) Por tanto: M = x 4 + M 3 + I 3 M 2 + I 3 I 2 M 1 + I 3 I 2 I 1 M 0 I = x 4 I 3 I 2 I 1 I 0 o dicho con palabras, para este caso particular: Si x 4 es 1 entonces X es mayor que Y, independientemente del valor del resto de los bits. X e Y son iguales si x 4 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 ARGUMENTO MÁSCARA 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. En este caso, como se ve en la figura, si un bit del argumento y el correspondiente MARCA bit de la palabra coinciden, el bit de máscara puede ser 0 ó 1, indistintamente. Ahora bien, si no coinciden, el bit de máscara debe ser 0 necesariamente para que la marca sea 1. Este criterio se puede aplicar a las dos palabras cuya marca es 1: Palabra 2 Máscara = 0???? 0 0? (? representa 0 ó 1, indistintamente). Palabra 5 Máscara = 0???? 0??.

183 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? ARGUMENTO MÁSCARA ARGUMENTO MÁSCARA 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, al menos uno de los correspondientes bits de máscara MARCA MARCA ha de ser 1 para que la marca sea 0, según se muestrea en la figura. Apliquemos este criterio, teniendo en cuenta que ya sabemos que 3 de los bits de la máscara han de ser 0 necesariamente (la palabra 1 no se considera al tener el bit de etiqueta a 0): Palabra 3 Máscara = 0A??A00? (los bits marcados como A indican que uno, u otro, o los dos han de ser 1). Palabra 4 Máscara = 0B??B00? (los bits marcados como B indican que uno, u otro, o los dos han de ser 1). De aquí se sigue que la máscara es de la forma 0A??A00?. Los bits marcados como? pueden ser 0 ó 1, indistintamente. Al menos uno de los bits marcados como A debe ser 1. Es fácil comprobar que las 5 máscaras propuestas son de la forma indicada en el párrafo anterior. Por tanto, las 5 máscaras producirían el valor indicado de la marca. Respuesta: C (5) 5.- [Ver la página 338 y ss. de la primera edición del texto base de teoría o la página 307 y ss. de su segunda edición.] Para codificar los 128 estados harán falta 7 bits. Las 244 señales de control, al ser totalmente independientes, no pueden ser codificadas. De las 20 señales de condición sólo se consulta, a lo sumo, una de ellas, por lo que la salida del multiplexor será de un único bit. Harán falta, por tanto, = 8 bits para seleccionar una palabra de la ROM. La capacidad de esta será de 2 8 = 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á = 251 bits. La capacidad de la ROM es de 256 palabras x 251 bits/palabra = bits = Kbits. Su coste será de ptas. La afirmación es falsa. II. En este caso habrá tres campos: uno de selección de 5 bits (2 5 = 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 = 256 bits. La capacidad de la ROM es de 256 palabras x 256 bits/palabra = 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 de la primera edición del texto base de teoría o las páginas 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 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 2 6 (= 64) palabras. Como su capacidad es de 2 10 (= 1024) palabras, habrá un total de 2 10 palabras / (2 6 palabras/partición) = 2 4 particiones. De aquí que el campo Partición tenga una anchura de 4 bits y el campo Palabra, 6. El campo Etiqueta tendrá, finalmente, = 10 bits de anchura.

184 Problemas de los exámenes del curso 2000/ Para contestar a esta pregunta basta con descomponer las direcciones proporcionadas en sus respectivos 3 campos: I. 1D45F = Partición = 0001 = = Partición = 0001 = La afirmación es falsa. II. 2A23B = Partición = 1000 = 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 de la primera edición del texto base de teoría o las páginas 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 ( bytes/s) + 5 (10 5 bytes/s) = ( ) 10 5 bytes/s = bytes/s = bytes/s. Ahora bien, si para transferir un byte hacen falta 50 ns = s, en 1 segundo sólo se podrán transferir un máximo de 1 s / ( s/byte) = (1 / 50) 10 9 bytes = (100 / 50) 10 7 bytes = bytes, en lugar de los 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 ( 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.

185 6 Estructura y Tecnología de Computadores II 3UREOHPD 6HSWLHPEUH El siguiente algoritmo describe una determinada operación de un sistema digital. A) (2 puntos) Diseñar la Unidad de Procesamiento que permita realizar este algoritmo utilizando los módulos de la Figura 1: registros de desplazamiento de 8 bits, una UAL con dos entradas de 8 bits cada una, un contador módulo-8 y circuitos triestado de conexión unidireccional con control de 8 bits; además de puertas lógicas y los módulos combinacionales (MUX, DMUX, codificadores y decodificadores) que considere necesarios. Debe tener en cuenta que al bus vuelcan datos múltiples dispositivos. B) (2 puntos) Diseñar la Unidad de Control que ejecute este algoritmo con la Unidad de Procesamiento diseñada en el apartado A) empleando un elemento de memoria tipo D por estado. Detalle y explique claramente todos y cada uno de los pasos seguidos hasta obtener la solución. 1: Declaración: A[8], B[8], Cont[3]; 2: A Bus; 3: B 0; 4: for Cont = 0 to 7 do 5: if A[0] es 1 then 6: B B + 1; 7: endif; 8: Despl.CerradoDcha(A); 9: endfor 10: Bus Β; 11: Parar; Ck E A B Ck E ED E Reg. Desp. Q c0 c1 UAL R 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

186 Problemas de los exámenes del curso 2000/ 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 (E D o E I ). 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 E I 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 c 0 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 Q 2,Q 1 y Q 0. 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: s 0, 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 s 0 de la unidad de control. s 1, señal de condición de fin de bucle. Se genera conectando la salida de la puerta AND a la entrada de condición s 1 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.

187 8 Estructura y Tecnología de Computadores II Bus 0 c MUX c E D E I Reg. desp. B c 0 c1 c 4 c E D c 0 c 2 E Reg. desp. I c1 c 3 A[0] A UAL B c 0 0 Contador c0 c1 c 6 c 7 s 1 (=1 Contador es 7) s 0 (valor del bit A[0]) Reloj Inicio Fin Circuito de Control c 0 c 1 Figura 2: Diseño de la Unidad de Procesamiento c 7 Unidad de Control Unidad de Procesamiento Señal de Control Operación controlada c 0 Puerta triestado que conecta la salida de B con el Bus: Nada (0) y Conexión (1) c 1 Selección MUX entrada de B: UAL (0) y valor 0 (1) c 3 y c 2 Control registro A: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11) c 5 y c 4 Control registro B: Nada (00), Des. Dcha. (01), Des. Izq. (10) y Carga (11) c 7 y c 6 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.

188 Problemas de los exámenes del curso 2000/ 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 S 4 consulta por la condición de finalización y, en caso de no verificarse, incrementa el contador y realiza otra iteración. En total el bucle se realiza para todos los valores del contador, desde el 0 hasta el 7. Inicio S 5 s 1 S 0 S 1 S 2 s 0 S 3 S 4 s 1 S 6 s 0 Figura 3: Diagrama de estados de la Unidad de Control Estado de la Unidad de Control Microoperaciones efectuadas S 0 Ninguna Ninguna S 1 A Bus B 0 Reset Cont c 3, c 2 c 1, c 5, c 4 (c 7 =0), c 6 S 2 Ninguna Ninguna S 3 B B + 1 (c 1 =0), c 5, c 4 S 4 Despl.CerradoDcha(A) (c 3 =0), c 2 S 5 Incrementar Cont c 7, (c 6 =0) S 6 Bus B c 0 Señales de control a activar 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.

189 10 Estructura y Tecnología de Computadores II Inicio=0 S 0 Set S 0 Inicio=1 Inicio S 1 S 1 c 1, c 2, c 3, c 4, c 5, c 6 S 2 s 0 = 1 s 0 = 0 s 0 S 2 S 3 S 3 c 4, c 5 s 1 = 0 S 4 s 1 = 1 s 1 S 4 c 2 S 5 S 5 c 7 S 6 S 6 c 0 Reloj Clear Figura 4: Unidad de Control

190 2002 Junio - 1ª semana Test - Junio 1ª Semana : 1.- A un bus dedicado a E/S se han conectado la memoria principal y cinco discos iguales. El tiempo de ciclo de la memoria principal es 400 nseg. La velocidad de transferencia de cada disco es B. La longitud de palabra es 32 bits. Cada transmisión sobre el bus necesita 500 nseg para enviar el dato y las diferentes órdenes del protocolo. En cuál de las siguientes situaciones estaría más justificado el uso de un bus con temporización síncrona? A) B = 10 6 bits/seg B) B = bits/seg C) B = 10 7 bits/seg D) B = 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 2 20 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) palabras / seg B) palabras / seg C) 10 7 palabras / seg D) Ninguna de las anteriores 1

191 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= , Y= El resultado de la resta X-Y, expresado en código BCD, es: A) B) C) 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 5 palabras/seg = palabras/seg

192 Problemas de los exámenes del curso 2001/ Como el tamaño de palabra es de 32 bits, esta velocidad de transferencia expresada en bits/segundo es: palabras/seg 32bits/palabra= bits/seg = 8 10 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 = 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 (2 10 = 1024). Según el enunciado, la memoria se construye con módulos de 128 palabras que tienen, evidentemente, 7 líneas de direcciones (2 7 = 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 2 24 existentes, es posible conectar hasta un máximo de 2 24 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 (f A ) se mide como el número de palabras/segundo que pueden ser accedidas. En el caso de memorias de acceso aleatorio f A es: 1 fa = t donde t c es el tiempo de ciclo de memoria. En el enunciado de la pregunta se dice que t c = 200 nseg, con lo que la f A en este caso queda: fa = = = palabras/seg = 5 10 palabras/seg 9 t 200 nseg/palabra Respuesta: B ( palabras / seg) c 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) c

193 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 = BCD X = Y = BCD X = X-Y = X-Y = BCD Respuesta: A ( ) 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, t A, viene dado por la expresión: t A = 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 µ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 = 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: ta = µ seg µ seg = 9.9µ seg µ 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í.)

194 Problemas de los exámenes del curso 2001/ Cuestiones teórico-prácticas - Junio 1ª semana: 1.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 1 del test. 2.- (0.75 puntos) Justificar razonadamente el resultado de la pregunta 2 del test. 3.- (0.5 puntos) Justificar razonadamente el resultado de la pregunta 3 del test. Solución 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema - Junio 1ª semana: A) (1.5 puntos) Diseñar el registro de desplazamiento de 4 bits de la figura de la izquierda. E0, E1, E2, E3 representan la entrada paralelo; S0, S1, S2, S3 la salida paralelo; C1, C2 las líneas de control; y CK la señal de reloj. El registro debe ser capaz de realizar los dos desplazamientos siguientes: LICS (Lógico-Izquierda- Cerrado-Simple) y LDCS (Lógico-Derecha-Cerrado-Simple). Además, el circuito debe permitir la carga en paralelo de la entrada y mantener la información almacenada sin modificar (no operación: NOP). La codificación de las entradas de control se muestra en la tabla adjunta. B) (1 punto) Diseñar el mismo registro del apartado A) pero con la estructura entrada serie / salida serie que se muestra en la figura de la derecha. C) (1.5 puntos) Diseñar el mismo registro del apartado A) pero de modo que en lugar de realizar desplazamientos lógicos (LICS y LDCS) realice desplazamientos algebraicos (también llamados aritméticos) cerrados simples: AICS (Algebraico-Izquierda-Cerrado-Simple) y ADCS (Algebraico- Derecha - Cerrado - Simple). En los diseños deben utilizarse multiplexores y elementos de memoria D. Explicar detalladamente cada paso. E3 E2 E1 E0 E C2 C1 Paralelo/ Paralelo CK C2 C1 Serie/Serie CK S3 S2 S1 S0 S Figura 1: Registros de desplazamiento

195 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 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: donde Q(t) representa el vector de salidas (Q 3, Q 2, Q 1, Q 0 ) del registro en el instante t. Análogamente Q(t +1) representa el vector de salidas (Q 3, Q 2, Q 1, Q 0 ) 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. LICS Qt () si Control = NOP ( Q2, Q1, Q0, Q3) si Control = LICS Qt ( + 1) = ( Q0, Q3, Q2, Q1) si Control = LDCS ( E3, E2, E1, E0) si Control = CARGA

196 Problemas de los exámenes del curso 2001/ C1 C2 E MUX D Q MUX E2 E1 E0 D Q MUX D Q MUX D Q0 Reloj C2 C1 E3 E2 E1 E0 Paralelo/ Paralelo S3 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 Q 3 Q 2 Q 1 Q 0 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: Qt ( ) si Control = NOP ( Q2, Q1, Q0, Q3) si Control = LICS Qt ( + 1) = ( Q0, Q3, Q2, Q1) si Control = LDCS ( EQ, 3, Q2, Q1) si Control = CARGA Haciendo las modificaciones oportunas en el diseño de la Figura 3 para contemplar los cambios pedidos, el resultado se muestra en la Figura 5.

197 8 Estructura y Tecnología de Computadores II C1 C2 E E MUX MUX MUX MUX C2 Serie/Serie Reloj C1 D D D D Q3 Q2 Q1 Q0 S S Figura 5: Registro LDCS y LICS con entrada serie / salida serie CK 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: Qt () si Control = NOP ( Q3, Q1, Q0, Q2) si Control = AICS Qt ( + 1) = ( Q3, Q0, Q2, Q1) si Control = ADCS ( E3, E2, E1, E0) si Control = CARGA

198 Problemas de los exámenes del curso 2001/ Siguiendo el mismo procedimiento de antes, la Figura 7 contiene el diseño pedido. C1 C2 E MUX D Q MUX E2 E1 E0 D Q MUX D Q MUX D Q0 C2 C1 Reloj E3 E2 E1 E0 Paralelo/ Paralelo S3 S2 S1 S0 CK S3 S2 S1 S0 Figura 7: Registro LDCS y LICS con entrada paralelo / salida paralelo

199 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 A 15 -A 0. 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 CS ROM = A 15 A 14. II. Los dos bits menos significativos de la dirección, A 1 -A 0, se pueden utilizar para distinguir si una dirección de memoria corresponde a ROM o a RAM. 1

200 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 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 10 3 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= , Y= El resto de la división entera X / Y, expresado en código binario, es: A) B) C) D) Ninguno de los anteriores. Solución 1.- [Ver las páginas 81 y ss. del texto base de teoría.] La memoria principal de 64 Kpalabras necesita 16 bits para su direccionamiento (2 16 = 64K). La memoria caché tiene 2 10 (= 1K) palabras, luego hay (2 10 palabras) / (2 3 palabras / bloque) = 2 7 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 , por lo que agrupando sus bits en los tres campos resulta Etiqueta = , Bloque = y Palabra = 001. Por tanto: I. Bloque = (2 = 107 (10. II. La dirección 675E se puede expresar como Obsérvese que el campo Bloque de ambas direcciones es igual, por lo que la correspondencia directa asigna a ambas direcciones el mismo

201 Problemas de los exámenes del curso 2001/ 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 M p ) 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 M p ) = (Dirección M p ) \ (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 M p (6B59) = 6B59 \ 8 = 3435 (10 ; 675E: Bloque M p (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 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 Capacidad Costo Velocidad 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

202 4 Estructura y Tecnología de Computadores II contenido de un bloque de caché de nivel 1 no siempre será igualal contenido del bloque correspondiente en la caché de nivel 2. Respuesta: D (I: no, II: no.) [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 - A 14 ) 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á A 15 A 14. II. Como se ha visto, las direcciones de ROM son siempre de la forma 00..., mientras que las de RAM pueden ser 01..., ó Por tanto, los dos bits menos significativos (A 1 - A 0 ) 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. Suponiendo la cabeza ya posicionada, en transferir 10 3 bytes, que son bits, se tardará ( bits) / ( bits/seg) = 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: t A = 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 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 nseg nseg = 180 nseg. Respuesta: B (180 nseg) 20 nseg) + ( nseg) = [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]

203 Problemas de los exámenes del curso 2001/ 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 / = 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úmero binario de 12 bits es Respuesta: C ( ) 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

204 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; ED Ck E c0 A B c0 EI Reg. Desp. UAL Contador c0 c1 c1 Q R Q S c 1 c 0 Q(t+1) c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 0 A+B 00 Q(t) 0-01 D. Dcha. 1 A-B 01 Q(t)-1 mod 16 1 E 10 D. Izq. 10 Q(t)+1 mod Carga 11 0 Ck c0 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.

205 Problemas de los exámenes del curso 2001/ Los registros volcarán su contenido al bus a través de sendas puertas 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: s 0, 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: A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 4: : : : : 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 s 0 = A 1 A 0. 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: s 0 = (A 7 + A 6 + A 5 + A 4 + A 3 + A 2 ) A 1 A 0. Otra manera de ver cómo son los números múltiplos de 4 es la siguiente: Un número binario a n a n-1 a n-2...a 1 a 0 tiene el valor decimal a n 2 n + a n-1 2 n-1 + a n-2 2 n a a Para dividir este número entre 4 lo multiplicamos por 2-2, con lo que resulta: a n 2 n-2 + a n-1 2 n-3 + a n-2 2 n a a a 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 es a a 0 2-2, pues 2-1 = 0.5 y 2-2 = Ya que a 1 y a 0 sólo pueden tomar los valores 0 ó 1 ( 0), la única forma de que la parte fraccionaria sea 0 es que a 1 = a 0 = 0. s 1, que indica si el contador vale 14. Con cuatro dígitos binarios, 14 se expresa como , 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

206 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 c 0 y c 1. La Figura 4 muestra cómo se realizarían estas modificaciones. (Este diseño, al hacer uso de menos componentes y menos señales de control, es más económico.) En lo que sigue, el problema se resolverá haciendo uso del diseño de la Figura 3. BUS c 9 c 0 MUX c 1 MUX c 10 E D Reg. desp. A c 0 c 2 E c1 I c 3 8 E D Reg. desp. B c 0 c 4 E c1 I c 5 Contador 4 c 0 c 1 c 6 c 7 A 1 A Cont 0 3 Cont 0 A B UAL c 8 Inicio s 0 s 1 Circuito c 0 c1 Unidad de Procesamiento Fin de Reloj Control c 10 Unidad de Control Figura 3: Diseño de la Unidad de Procesamiento

207 Problemas de los exámenes del curso 2001/ BUS 8 c MUX Reloj E D Reg. desp. A c 0 c 2 E c1 I 8 E D E I Reg. desp. B c 0 c1 c 4 A UAL B c 8 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 la Figura 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.) s 1 Inicio s 1 s 0 S 0 S 1 S 2 S 3 S 4 S 5 S 7 S 8 Inicio s 1 s 0 S 6 Figura 5: Diagrama de estados de la Unidad de Control

208 10 Estructura y Tecnología de Computadores II Estado de la Unidad de Control Microoperaciones efectuadas S 0 Ninguna Ninguna S 1 A Bus (c 0 =0), c 2, c 3 S 2 B Bus Cont 0 (c 1 =0), c 4, c 5 c 6, c 7 S 3 Ninguna Ninguna S 4 S 5 A A - B Cont (Cont + 1) mod 16 Cont (Cont + 1) mod 16 c 0, c 2, c 3, c 8 (c 6 =0), c 7 (c 6 =0), c 7 S 6 B B + A c 1, c 4, c 5, (c 8 =0) S 7 Bus B c 10 S 8 Bus A c 9 Señales de control a activar 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 bucle while mientras el valor del contador sea distinto de 14, ya que de verificarse esta condición (s 1 = 1) del estado S 3 se salta al estado S 7. En caso contrario, en S 3 se comprueba si A es múltiplo de 4 (s 0 ) o no (s 0 ) 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 S 4 y S 5. 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 6. Para evaluar las condiciones en 3, S en lugar de utilizar un demultiplexor de dos entradas de control s 1 ( y s 0 ) 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].

209 Problemas de los exámenes del curso 2001/ Inicio S 0 S 0 Set Inicio Inicio Demux 0 1 S 1 S 1 c 2, c 3 S 2 S 2 c 4, c 5, c 6, c 7 s 1 s 0 S 3 s 1 s 0 s 1 s 1 s 0 S 3 Demux S 4 S 4 c 0, c 2, c 3, c 7, c 8 S 5 S 5 c 7 S 6 S 6 c 1, c 4, c 5 S 7 S 7 c 10 S 8 S 8 c 9 CK Clear c 0 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 Figura 6: Unidad de Control mediante elementos 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

210 12 Estructura y Tecnología de Computadores II Entrada Entrada Entrada V 0 V 1 V 0 Demux 1 Salida 0 Salida 1 Salida 0 Salida 1 Salida 0 Salida 1 Figura 7: Bloque de decisión (izquierda) visto como un demultiplexor (centro) y su realización equivalente con puertas lógicas (derecha)

211 Test Septiembre: 1.- En la figura se muestra la Tabla de Transición de Estados de un circuito secuencial síncrono con 2 estados (S 0 y S 1 ) y dos entradas (x, y). Q es la variable de estado necesaria para la representación de los 2 estados del circuito. El circuito se diseña empleando un elemento de memoria tipo D. Indicar cuál de las siguientes expresiones de entrada al elemento de memoria es correcta: Estado Entrada x y A) D= Q x y+ Q x y Presente Q B) D Q ( ) = y + x + x y C) D= Q x y D) Ninguna de las anteriores 2.- En una memoria caché en la que se realizan accesos se producen 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 = 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) B) C) 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

212 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 3A5 16 al contenido de la dirección de memoria 3B9 16 y almacena el resultado en la dirección de memoria 3A5 16. A) 33A5 16, 63B9 16, 53A5 16 B) 33B9 16, 63A5 16, 53A5 16 C) Los anteriores son correctos D) Ninguno de los anteriores 8.-Indique cuántos módulos de memoria ROM de 2 n palabras 1 bit/palabra serían necesarios para diseñar un circuito combinacional que sume un número n bits y otro de 2n bits. A) 2 2n (2n+1). B) 2 3 (2n+1). C) 2 3 (2n). D) Ninguno de las anteriores. Solución 1.- [Ver las secciones 5.5.5, B.3.3, B.6.5, B.6.6 y B.6.11 del texto base de teoría, así como el problema 5-2 de cualquiera de las dos ediciones del libro de problemas]. La forma más adecuada de resolver este ejercicio consiste en construir la tabla de la verdad de cada una de las soluciones propuestas y compararlas con los valores de D(t) obtenidos de la tabla de estados del enunciado. Se observa que la solución correcta es la B). Q x y () t D, de la tabla de estados xy Qxy Q + ( y + x ) + x y Q Qx y 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

213 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 = Qy( x + x) + Qx + xy = Qyx + Qyx + Qx + xy ). Q \ x y xy () = Qy + Qx Q ( y x) x y D t = + (Solución B) + + x y Qy Qx 2.- [Ver la página 79 del texto base de teoría]. La tasa de acierto, expresada en tanto por cien, se define de la forma siguiente: Número de veces que la palabra solicitada se encuentra en M ca h( %) = 100 Número total de referencias De acuerdo con el enunciado, de cada 10 referencias se producen 10 fallos. Esto es equivalente a afirmar que la palabra solicitada se encuentra en memoria caché ( ) veces por cada referencias. Sustituyendo en la expresión anterior, se obtiene el tanto por ciento de tasa de aciertos: h( %) = 100 = 100 = 100 = 99% (Respuesta B: %) (Nota: ) 3.- [Ver la sección 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: 7 Puesto que son necesarios 7 bits para especificar el conjunto, la caché dispone de 2 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 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: conjuntos 2 bloques/conjunto 2 palabras/bloque 1 byte/palabra = 2 byte = 8 ( ) ( ) ( ) ( ) Kbyte 5 2 3

214 Por tanto, la solución correcta es: D) Ninguna de las anteriores 4.- [Ver la sección 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 = se obtiene: (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 del libro base de teoría]. Tanto el fragmento de programa de la opción A (33A5 16, 63B9 16, 53A5 16 ), como el fragmento de la opción B (33B9 16, 63A5 16, 53A5 16 ), suma el contenido de la dirección de memoria 3A5 16 al contenido de la dirección de memoria 3B9 16 y almacena el resultado en la dirección de memoria 3A5 16. De acuerdo al programa de la opción A, se carga el contenido de 3A5 16 en el acumulador (33A5 16 ), se suma el contenido del acumulador al contenido de 3B9 16 (63B9 16 ) y se almacena el resultado en 3A5 16 (53A5 16 ). De acuerdo con el programa de la opción B, se carga el contenido de 3B9 16 en el acumulador (33B9 16 ), se suma el contenido del acumulador al contenido de 3A5 16 (63A5 16 ) y se almacena el resultado en 3A5 16 (53A5 16 ). 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 2 n palabras 1 bit/palabra como sean necesarios. El tamaño total de la ROM necesaria, resultante 4

215 de la conexión de estos módulos, se calcula teniendo en cuenta que: La memoria ROM resultante deberá tener n + 2 n = 3n líneas de dirección, es decir, palabras. Dado que el resultado de sumar un número de n bits, con otro de 2 n bits, es un número de 2 n +1 bits, cada palabra de la ROM resultante deberá tener 2 n + 1 bits. A consecuencia de lo anterior, la ROM resultante debe tener la siguiente capacidad total: 2 3 n palabras ( 2n + 1) bits/palabra Puesto que esta memoria debe construirse usando módulos de 2 n palabras/módulo 1 bit/palabra, es preciso emplear: 3n 2 palabras ( 2n + 1) bits/palabra n 2 palabras/módulo 1 bits/palabra 2n = 2 ( 2n + 1)módulos Respuesta correcta: A) 2 2n (2n+1). 3n 2 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: A 0 es el bit menos significativo de A. 1: Declaración: A[8], B[8], Cont[3]; 2: A Bus; 3: B 1; 4: for Cont=0 to 3 do 5: if A 1 A 0 01 then 5

216 6: B 0; 7: endif; 8: Despl.CerradoDcha(A); 9: Despl.CerradoDcha(A); 10: endfor; 11: Bus B; 12: Parar; Ck E A B Ck E E D E I Reg. Desp. Q c 0 c 1 UAL R c 0 Contador Q c 0 c 1 S c 0 c 1 c 0 Q(t+1) c 0 R c 1 c 0 Q(t+1) c 0 S 00 Q(t) 0 A+B 00 Q(t) 0-01 Des. Dcha. 1 A-B E 10 Des. Izq. 10 Q(t)+1 mod 8 11 Carga 11 Q(t) Figura 1: Módulos secuenciales del problema con sus tablas de funcionamiento. Solución a) Del análisis de las operaciones del algoritmo propuesto se puede concluir que: Es necesario un registro de 8 bits llamado A. Este registro debe poder realizar dos operaciones: - Carga de 8 bits de datos desde el bus, correspondiente a la operación A Bus. El tipo de registro disponible es capaz de cargar en paralelo, y puede realizar esta operación. - Desplazamiento cerrado a la derecha, correspondiente a la operación Despl.CerradoDcha(A). En este caso el tipo de registro sólo realiza la operación Despl.Dcha, con lo que se hace necesario conectar el bit menos significativo de A (llamado A 0 ), a la entrada E D 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

217 Es necesario generar una señal de condición, correspondiente a la operación if A 1 A 0 01 then, que se llamará s 1. Para ello se puede usar la expresión equivalente NOT ( A de 1 A0 ) = A1 + A0 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 s 1. Otra opción podría ser generar la condición s 1 como _ 1 AND A0 y tenerlo en cuenta a la hora de realizar el diagrama de estados considerando la operación if A1A 0 01 then verdadera cuando no se cumple s 1 (es decir, NOT s 1 ). 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 C LOADB, 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. A Figura 4: Diagramas de conexiones para el registro A. 7

218 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 Cont 2 Cont 1 Cont 0 ) con lo que se hará necesario detectar el fin de cuenta (Cont=3) usando una señal de condición s 0. Esta señal de condición se puede generar usando la condición Cont 1 Cont 0 =11 o bien usar la señal Cont 2 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 Cont 1 y Cont 0. El diagrama de conexiones quedaría tan simple como el que se muestra en la Figura 5. Figura 5: Diagramas de conexiones para el registro A. Una vez definidos los recursos necesarios para implementar la unidad de procesamiento y las señales de condición que debe generar, sólo quedan por definir las señales de control que la unidad de control debe generar. En la Tabla 1 se muestran las definiciones de cada una de las señales de control, la operación que realizan y el valor de las señales de control para dicha operación. Señal de Operación a realizar Valor control C A0, C A1 Cargar registro A 11 C A0, C A1 Desplazamiento cerrado a la derecha de A 10 C B, Cargar registro B con 0 1 C B, C LOADB Cargar registro B con 1 11 C C0, C C1 Resetear contador 10 C C0, C C1 Incrementar módulo 8 una unidad el contador. 01 C BUS Volcar el contenido del registro B en el bus 1 Tabla 1: Señales de control que debe generar la Unidad de Control para cada operación. De esta tabla se puede deducir que las variables de control del registro A y el contador se corresponden con las entradas c 1 y c 0 de los mismos, pero en el caso del registro B solo es necesario usar una señal de control, c B, asociada a la carga (si c B =1 c 1 c 0 =11) y a la conservación el estado (si c B =0 c 1 c 0 =00). La señal C BUS 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

219 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

220 Estado de la unidad de control Microoperaciones efectuadas Señales de control a activar S 0 Ninguna (Estado inicial) Ninguna S 1 A Bus, Cont 0 C A0, C A1, C C0 S 2 B 1 C B, C LOADB S 3 Ninguna (Comprobamos condiciones s 1 y s 0 ) Ninguna S 4 B 0 C B S 5 Despl.CerradoDcha(A) C A0 S 6 Despl.CerradoDcha(A), C A0, C C1 Cont Cont+1 (mod 8) S 7 Bus B C BUS 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 s 0 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 A 1 A 0 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

221 Figura 8: Unidad de Control mediante elementos de retardo. 11

222

223

224 Estructura y Tecnología de Computadores II Septiembre 2002 Solución de los tests Original Reserva A B C D E F G H 1 B B B B A A A A 2 B B B B D D D D 3 D D D D A A A A 4 C C A C D B B B 5 A A A A D B B B 6 B C A A B A A D 7 C A C A B D D A 8 A C C C B D D D

225

226

227 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 x i e y i de forma serie, comenzando por los bits menos significativos, los estados S1, S2 y S3 se corresponden con: A) S1:x=y, S2:x<y, S3:x>y. Inicio 00,11 S S3 S ,11,01 B) S1:x<y, S2:x>y, S3:x=y. C) S1:x>y, S2:x<y, S3:x=y. 00,11,10 D) Ninguno de los anteriores. 2.- Un computador dispone de una unidad de disco con una velocidad de lectura de 2 21 palabras por segundo y con un buffer interno de 2 20 palabras que cuando se llena transfiere su contenido a la memoria principal utilizando DMA por ráfagas. El controlador de DMA tarda 4 ciclos de reloj en transmitir cada palabra. Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 8 ciclos de reloj en ser ejecutadas. Si la frecuencia de reloj del computador son ciclos/s, en una operación de lectura del disco Cuántas instrucciones por segundo dejan de ser ejecutadas por la UCP? A) 2 21 B) 2 23 C) Ninguna D) Ninguna de las anteriores 3.- Considérese el diagrama de estados, correspondiente a una unidad de control, mostrado en la figura adjunta. Señale cuál de las siguientes afirmaciones es correcta: A) Puede realizarse la síntesis de la unidad de control empleando un registro de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra. 1

228 2 Estructura y Tecnología de Computadores II I B) Puede realizarse la sìntesis de la unidad de control empleando un registro de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 8 palabras, con 8 bits por palabra. C) Las dos anteriores son correctas. D) Todas las anteriores son falsas. 4.- La memoria de un computador consta de 4 módulos conectados a un bus de memoria común. Cuando se realiza una petición de escritura, el bus está ocupado por las señales de datos, dirección y control durante 50 ns. En esos mismos 50ns y en los 200 ns siguientes, el módulo de memoria direccionado ejecuta 1 ciclo aceptando y almacenando el dato. Las operaciones de los módulos pueden solaparse, pero sólo puede haber una petición por instante de tiempo. Si escritura: representa el tiempo de ciclo de escritura, indique cuál es la velocidad máxima de A) 1/ t B) 4/ t C) palabras/s D) Ninguna de las anteriores C 5.- Un disco magnético con 1024 pistas, numeradas del 0 al 1024, tiene la siguiente cola de peticiones de acceso: 850, 25, 308, 400, 632, 168, 720 y 302. Utilizando la planificación SCAN en qué orden se atienden las solicitudes de acceso si inicialmente la cabeza se halla en la pista 500? A) 632, 720, 850, 25, 168, 302, 308, 400 B) 632, 720, 850, 400, 308, 302, 168, 25 C) 400, 168, 302, 308, 25, 632, 720, 850 D) 632, 25, 720, 168, 850, 302, 400, Considere una memoria asociativa de n palabras y 4 bits/palabra. Indique cuál de los siguientes valores de los registros de argumento (A) y máscara (K) proporcionan un 1 en todos aquellos bits del registro de marca cuya celda de memoria contenga un número par, y un 0 en caso contrario. (Se considera que el cero es un número par). A) A=0010, K=0010 B) A=0011, K=0011 C) A=1000, K=0001 D) Ninguna de las anteriores 7.- Dada la siguiente tabla de funciones de una ALU, y suponiendo que se dispone de conexiones a 0 lógico y a 1 lógico, decir si las siguientes afirmaciones son ciertas. I. Se pueden implementar simultáneamente todas las funciones usando dos puertas XOR y una puerta NOT. II. Se pueden implementar simultáneamente todas las funciones usando una ROM de 4 palabras de 3 bits. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- En un procesador con instrucciones de cero direcciones (procesador con pila), qué secuencia de instrucciones calcula la expresión X = Y 2 (X+Z)? t C A) Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X]; B) Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult;Mult; Pop[X]; C) Push[Y]; Push[Y]; Mult; Push[X]; Push[Z]; Add; Mult; Pop[X]; D) Todas las anteriores C f1 f2 f3 f4 x y x y x y + x y S 0 I c, c 0 3 S 1 s 0 0 s 0 c 1 S 2 s 1 c 2, c 3 s 1 c 2, c 3

229 Examen junio Solución 1.- El resultado de la comparación de dos números X e Y puede ser: X=Y, X>Y, Y>X. Por eso el diagrama de estados tiene tres estados. Los bits de los números a comparar se reciben en serie y comenzando por los menos significativos. Mientras los bits de ambos números sean iguales (00 ó 11) se permanecerá en el estado S1. Luego este estado corresponde obviamente con x=y. En el momento en que alguno de los bits recibidos sea distinto se pasará al estado S2 ó S3 y ya no se podrá regresar, sea cual sea la entrada al S1 (será imposible que los números sean iguales). Si estando en S1 se recibe como entrada 01, se pasa a S2, estado que indica por lo tanto que Y>X. Análogamente, si estando en S1 se recibe como entrada 10, se pasa a S3, estado que implica que X>Y. Obsérvese que estando en el estado S2 se permanecerá en él mientras no se reciba como entrada x=1, y=0, en cuyo caso se pasaría al estado S3. Análogamente, estando en S3 sólo se puede acceder a S2 si se recibe como entrada x=0, y=1. Respuesta: A ( S1:x=y, S2:x<y, S3:x>y) 2.- El buffer no se usa en los cálculos pero se llena y vacía 2 veces por segundo. En un segundo la unidad de disco lee 2 21 palabras que se transfieren a memoria en 2 21 palabras x 4 ciclos/palabra = 2 23 ciclos. Estos 2 23 ciclos suponen 2 23 /8 = 2 20 instrucciones que la UCP no ejecutan en un segundo. Respuesta: D (Ninguna de las anteriores) 3.- [Ver apartado 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.

230 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 2 n = 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.

231 Examen junio 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: t c = =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, t c >(#módulos)*(t acceso bus). Durante un tiempo igual a t c -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: t C Respuesta: B(4/ ) V = 4 palabras / t max t c 5.- [Ver el apartado 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: c

232 6 Estructura y Tecnología de Computadores II Si el movimiento es en la dirección de las pistas decrecientes: Si el movimiento es en la dirección de las pistas crecientes: Respuesta: B ( 632, 720, 850, 400, 308, 302, 168, 25) 6.- [Ver apartado 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= Respuesta: C (A=1000, K=0001) 7.- Las cuatro funciones que se tienen que implementar simultáneamente son: f1 f2 f3 f4 x y x y x y + 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

233 Examen junio Respuesta: A ( I: sí, II: sí) 8.- [Ver apartado del texto base de teoría y el problema 6-4 del libro de problemas] A) Contenido de la Pila Push [X]; X Push [Z]; X, Z Add; X+Z Push [Y]; X+Z, Y Push [Y]; X+Z,Y, Y Mult; X+Z, YxY Mult; (X+Z)x(YxY) Pop [X]; B) Contenido de la Pila Push [Y]; Y Push [Y]; Y, Y Push [X] Y, Y, X Push [Z]; Y, Y, X, Z Add; Y, Y, X+Z Mult; Y, Yx(X+Z) Mult; YxYx(X+Z) Pop [X]; C) Contenido de la Pila Push [Y]; Y Push [Y]; Y Mult; YxY Push [X]; YxY, X Push [Z]; YxY, X, Z Add; YxY, X+Z Mult; (YxY)x(X+Z) Pop [X]; Por lo tanto las tres secuencias de instrucciones calculan la expresión X=Y 2 (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.

234 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 INTR 0 y la mínima INTR 2. 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 (M 2 M 1 M 0 ) 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 INTA 2 INTA 0. INTR 2 INTR 1 INTR CONTROLADOR DE INTERRUPCIONES Máscara: [ MMM ] INTR INTA INTR INTA CPU INTA 2 INTA 1 INTA 0 A) Obtenga la tabla de la verdad del controlador de interrupciones. B) Obtenga la función lógica de las tres líneas INTA 2, INTA 1, INTA 0 en función de las líneas INTR 0, INTR 1, INTR 2, 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.

235 Examen junio 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 = INTR i M i donde i: 0, 1, 2 La señal INTR es el or lógico de las señales INTR 1, INTR 2 e INTR 3. De esta forma en cuanto haya una petición de interrupción por una línea no enmascarada, se genera una petición a la CPU. INTA INTR 0 INTR 1 INTR 2 INTR INTA 0 INTA 1 INTA 2 0 X X X X X X X 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, M 1, M 2, INTR 0, INTR 1 e INTR 2 que lo producen. Para ello se tiene en cuenta que: M i INTR i INTR i X 0 X 0 0 La tabla de la verdad obtenida realizando las sustituciones anteriormente indicadas se muestra en la Tabla 2.

236 10 Estructura y Tecnología de Computadores II INTA M 0 M 1 M 2 INTR 0 INTR 1 INTR 2 INTR INTA 0 INTA 1 INTA 2 0 X X X X X X X X X 1 X X X X 1 X X 1 X 0 1 X X X X 1 X X X X X X X X X X X X 0 X 0 X X X X X X X X 0 X 0 X X X X X X X 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 INTA 2, INTA 1, INTA 0 en función de las líneas INTR 0, INTR 1, INTR 2, INTA y de los bits del registro de máscara. De la Tabla 1, se deduce que: INTA 0 = INTA INTR 0 INTA 1 = INTA INTR 1 INTR 0 INTA 2 = INTA INTR 2 INTR 1 INTR 0 Sustituyendo INTR i por (M i INTR i ), se obtienen las tres funciones lógicas pedidas (que igualmente podían haber sido obtenidas de la Tabla 2): INTA 0 = INTA M 0 INTR 0 INTA 1 = INTA M 1 INTR 1 (M 0 INTR 0 ) INTA 2 = INTA M 2 INTR 2 (M 1 INTR 1 ) (M 0 INTR 0 ) 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.

237 Examen junio 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 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 INTR i, é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 INTA 0.

238 12 Estructura y Tecnología de Computadores II Figura 9: Controlador de interrupciones capaz de atender a 6 periféricos.

239 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR (6758&785$<7(&12/2*,$'(&20387$'25(6,, -XQLR2ULJLQDO7LSRGH([DPHQ%,1)250$7,&$ '( 6,67(0$6 &RG &DUUHUD 3ODQ DQWLJXR 3ODQ QXHYR &RG $VLJQDWXUD DPERV 3ODQHV,1)250$7,&$'(*(67,21&RG&DUUHUD3ODQDQWLJXR54 3ODQQXHYR&RG$VLJQDWXUDDPERV3ODQHV 81,&2 0$7(5,$/3(50,7,'2ORVOLEURV(VWUXFWXUD\WHFQRORJtDGHFRPSXWDGRUHV\3UREOHPDVGHHVWUXFWXUD\ WHFQRORJtDGHFRPSXWDGRUHVHGLWRULDO6DQ]\7RUUHV126(3(50,7((/862'(&$/&8/$'25$ 7LHPSRKRUDV $SHOOLGRV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1RPEUHBBBBBBBBBBBBBBBBBBBBBBB '1, BBBBBBBBBBBBBB &HQWUR$VRFLDGRHQHOTXHHVWD0$75,&8/$'2 BBBBBBBBBBBBBBBBBBBBBBBBBB (VSHFLDOLGDGBBBBBBBBBBBBBBBBBBBBBB,16758&&,21(6Complete sus datos personales en la cabecera de esta hoja, y (175(*8(/$2%/,*$725,$0(17(con el resto de hojas de su examen. &XDOTXLHU H[DPHQ TXH QR YHQJD DFRPSDxDGR GH HVWD KRMD GH HQXQFLDGRV QR VHUi FRUUHJLGR Complete 72'26ORVdatos que se piden en la hoja de lectura óptica o HQFDVRFRQWUDULRVXH[DPHQQRVHUiFRUUHJLGRLa puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test GHVFXHQWDQSXQWRVEl test es HOLPLQDWRULRdebiendo obtener una calificación mínima de SXQWRVpara superarlo (con 4 preguntas correctas se supera). 7HVW&RQWHVWHH[FOXVLYDPHQWHHQXQD+2-$'(/(&785$237,&$QRROYLGDQGRPDUFDUTXHVXWLSRGHH[DPHQHV% 1.- Dada la siguiente implementacón secuencial de un comparador de dos números de bits sin signo X e Y, donde éste recibe los bits xi e yi de forma serie, comenzando por los bits menos significativos, los estados SI, S2 y S3 se corresponden con: A) 6O:x= y, 6:x< y, 6:x> y. B) 6:x< y, 6:x> y, 6:x= y. C) 6:x> y, 6:x< y, 6:x= y. D) Ninguno de los anteriores. 6ROXFLyQ S1 No sale de S1 mientras 00, 11 ; esto es mientras x = y. S2 A S2 se entra cuando x = 0 e Y = 1 x < y. Nos quedamos en S2 mientras (x = y) o (x < y). Salimos a S3 cuando (x > y ). Van entrando bits más significativos y nos quedamos en S2 hasta que un bit (x > y). Por lo tanto S2 ( x < y ). S3 A S3 se entra cuando (x>y) desde el inicio (bits iguales). A S3 se entra cuando ( x > y ) desde un ( x < y ). En S3 se mantiene mientras ( x = y ) o ( x > y ). Por lo tanto S3 ( x > y ). Ejemplo: Bit menos significativo X Y x = y Secuencia 7º 6º 5º 4º 3º 2º 1º S1 S1 S1 S1 S1 S1 S1 1/12

240 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR Bit menos significativo X Y x < y Secuencia 7º 6º 5º 4º 3º 2º 1º S2 S2 S2 S2 S3 S3 S3 Bit menos significativo X Y x > y Secuencia 7º 6º 5º 4º 3º 2º 1º S3 S2 S2 S2 S2 S2 S1 6ROXFLyQOD$ 2/12

241 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 2.- Un computador dispone de una unidad de disco con una velocidad de lectura de 2 21 palabras por segundo y con un buffer interno de 2 20 palabras que cuando se llena transfiere su contenido a la memoria principal utilizando DMA por ráfagas. El controlador de DMA tarda 4 ciclos de reloj en transmitir cada palabra. Cuando la UCP dispone en exclusiva del bus las instrucciones emplean, en promedio, 8 ciclos de reloj en ser ejecutadas. Si la frecuencia de reloj del computador son 500 x 10 6 ciclos/ s, en una operación de lectura del disco. Cuántas instrucciones por segundo dejan de ser ejecutadas por la UCP? A) 2 21 B) 2 23 C) Ninguna D) Ninguna de las anteriores 6ROXFLyQ Cuando no existe comunicación con DMA el número de instrucciones por segundo es: 6 FLFORV / VHJXQGR ,QVWUXFFLR QHV / VHJXQGR = = = LQVWU / VHJ FLFORV / LQVWUXFFLyQ 8 Cuando existe comunicación con DMA: Se tarda en llenar el buffer: 20 FDSDFLGDG _ EXIIHU 2 WLHPSR _ HQ _ OOHQDU _ HO _ EXIIHU = = = 0, 5VHJXQGRV 21 YHORFLGDG _ OHFWXUD _ GLVFR 2 FLFORV _ WUDQVPLWLHQGR _ HO _ EXIIHU = _ FLFORV _ SDODEUD = WLHPSR _ WUDQVPLWLHQGR _ HO _ EXIIHU = = 8, PVHJ FLFORV _ UHORM LQVWUXFFLRQHV _ 6LQ _ '0$ _ HQ _ 0,5 _ VHJ = = LQVWUXFFLRQHV 2 8 FRQB'0$HQHMHFXWDULQVWUXFFLRQHVVHJPVHJ VHJXQGRV LQVWUXFFLRQHVVHJXQGRV [LQVWUXFFLRQHVVHJXQGR [ = = LQVWUXFFLRQHV 0, 'HMDQGHHMHFXWDUVH = = _ LQVWUXFFLRQHV 6ROXFLyQOD'1LQJXQDGHODVDQWHULRUHV 3/12

242 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 3.- Considérese el diagrama de estados, correspondiente a una unidad de control, mostrado en la figura adjunta. Señale cual de las siguientes afirmaciones es correcta: A) Puede realizarse la síntesis de la unidad de control empleando un registro de 2 bits y una memoria ROM de 32 palabras, con 8 bits por palabra. B) Puede realizarse la síntesis de la unidad de control empleando un registro de 2 bits, un multiplexor de 4 a 1, y una memoria ROM de 8 palabras, con 8 bits por palabra. C) Las dos anteriores son correctas. D) Todas las anteriores son falsas. 6ROXFLyQ Utilizando una ROM con selección por estado: Entradas,VV Bus de direcciones ROM 5 bits Estados Salidas de control F 3 F 2 F 1, F 0 Estados Bus de datos ROM 6 bits ROM se puede implementar con una ROM de 32 palabras y 8 bits por palabra, aún incluso si se considerase I (inicio) como una señal de control al registro, ya que en este caso la ROM sería más pequeña todavía (2 4 6). Esto implica que la opción A es correcta. Utilizando una ROM con registro y multiplexor: Entradas I V V Multiplexor de 4 canales 1 bit (V ) en el bus de direcciones de la ROM Estados 4 Q1 Q0 2 bits Bus direcciones de la ROM 3 bits Salidas F F F F Estados bit en el bus de direcciones de la ROM 4 2 bits Bus datos de la ROM 6 bits ROM se puede implementar con un multiplexor de 4 a 1 y una ROM de 8 palabras y 8 bits por palabra, aún incluso si se considerase I (inicio) como una señal de control al registro, ya que en este caso el multiplexor necesario podría ser de 2 a 1. Esto implica que la opción B es correcta. 6ROXFLyQOD&/DVGRVDQWHULRUHVVRQFRUUHFWDV 4/12

243 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 4.- Dada la siguiente tabla de funciones de una ALU, y suponiendo que se dispone de conexiones a "0" lógico y a "1" lógico, decir si las siguientes afirmaciones son ciertas. I. Se pueden implementar simultáneamente todas las funciones usando dos puertas XOR y una puerta NOT. II. Se pueden implementar simultáneamente todas las funciones usando una ROM de 4 palabras de 3 bits. A) I: si, II: si. B) I: si, II: no. C) I: no, II:si. D) I: no, II: no. 6ROXFLyQ I) f1 f2 f3 f4 [ \ [ \ [ \ + [ \ f1= [ \ Es una XOR f2 = [ \ I 1 a la salida de f1 una NOT f3 = [ \ + [ = [( 1 + \) = [ f4 = \ aplicar una NOT a y, pero como ya no quedan se puede usar la XOR que sobra usándola como inversora colocando una de las entradas a 1. La opción I) verdadera. II) Implementación con ROM. Entradas Salidas x y f1 f2 f3 f Hace falta una ROM de 4 palabras de 4 bits. Pero como la f3 = x no hace falta implementarla por lo que con una ROM de 4 palabras de 3 bits es suficiente. La opción II) verdadera. 6ROXFLyQOD$,VL,,VL 5/12

244 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 5.- La memoria de un computador consta de 4 módulos conectados a un bus de memoria común. Cuando se realiza una petición de escritura, el bus esta ocupado por las señales de datos, dirección y control durante 50 ns. En esos mismos 50 ns y en los 200 ns siguientes, el módulo de memoria direccionado ejecuta 1 ciclo aceptando y almacenando el dato. Las operaciones de los módulos pueden solaparse, pero solo puede haber una petición por instante de tiempo. Si t c representa el tiempo de ciclo de escritura, indique cual es la velocidad máxima de escritura: A) 1/ t c B) 4/ t c C) 2 x 10 7 palabras/ s D) Ninguna de las anteriores 6ROXFLyQ Módulo 1 50 nseg 200nseg 50 nseg Módulo 2 50 nseg 200nseg 50 nseg Módulo 3 50 nseg 200nseg 50 nseg Módulo 4 50 nseg 200nseg Espera En escribir 4 palabras tarda 250 nseg. Si WFes 250 nseg la máxima velocidad de escritura será 4/WF 6ROXFLyQOD% 6.- En un procesador con instrucciones de cero direcciones (procesador con pila), qué secuencia de instrucciones calcula la expresión X = Y 2 (X+Z)? A) Push[X]; Push[Z]; Add; Push[Y]; Push[Y]; Mult; Mult; Pop[X]; B) Push[Y]; Push[Y]; Push[X]; Push[Z]; Add; Mult; Mult; Pop[X]; C) Push[Y]; Push[Y]; Mult; Push[X]; Push[Z]; Add; Mult; Pop[X]; D) Todas las anteriores. 6ROXFLyQ A) Instrucción Estado de la pila Push [X] X Push [Z] X Z Add X+Z Push [Y] X+Z Y Push [Y] X+Z Y Y Mult X+Z Y 2 Mult (X+Z) Y 2 Pop[X] X = (X+Z) Y 2 B) Instrucción Estado de la pila Push [Y] Y Push [Y] Y Y Push [X] Y Y X Push [Z] Y Y X Z Add Y Y X+Z Mult Y Y(X+Z) Mult Y 2 (X+Z) Pop[X] X = (X+Z) Y 2 6/12

245 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR C) Instrucción Estado de la pila Push [Y] Y Push [Y] Y Y Mult Y 2 Push [X] Y 2 X Push [Z] Y 2 X Z Add Y 2 (X+Z) Mult Y 2 (X+Z) Pop[X] X = Y 2 (X+Z) 6ROXFLyQOD'7RGDVODVDQWHULRUHV 7.- Considere una memoria asociativa de palabras y 4 bits/ palabra. Indique cuál de los siguientes valores de los registros de argumento (A) y mascara (K) proporcionan un 1 en todos aquellos bits del registro de marca cuya celda de memoria contenga un número par, y un 0 en caso contrario. (Se considera que el cero es un número par). A) A= 0010, K= 0010 B) A= 0011, K=0011 C) A= 1000, K= 0001 D) Ninguna de las anteriores 6ROXFLyQ Un número par es el tiene el bit menos significativo (LSB) a 0 e impar si el LSB=1. Para que la marca en un número par de 1 se tiene que cumplir que el LSB de la máscara sea 1 y que el LSB del argumento también sea 1. De entre las diferentes opciones: A) No dará marca 1 porque el LSB de la máscara es 0 y por lo tanto no se comprueba el LSB del argumento. B) Dará un 1 en el LSB de la marca para número impares porque el LSB del argumento y de la máscara son 1. C) Dará un 1 en el LSB de marca porque el LSB de la máscara es 1 (testea el LSB del argumento) y el LSB del argumento es 0. Por lo tanto el número es par y la marca será 1. Debido a que la máscara es 0001 y el argumento es 1000 testea y da bits de marca 1 en todas las posiciones que en el bit LSB (debido al 0 de la máscara) es 0 (debido al 0 del argumento). 6ROXFLyQOD& 7/12

246 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 8.- Un disco magnético con 1024 pistas, numeradas del 0 al 1024, tiene la siguiente cola de peticiones de acceso: 850, 25, 308, 400, 632, 168, 720 y 302. Utilizando la planificación SCAN En qué orden se atienden las solicitudes de acceso si inicialmente la cabeza se halla en la pista 500? A) 632, 720, 850, 25, 168, 302, 308, 400 B) 632, 720, 850, 400, 308, 302, 168, 25 C) 400, 168, 302, 308, 25, 632, 720, 850 D) 632, 25, 720, 168, 850, 302, 400, 308 6ROXFLyQ Página 120 del libro de teoría. Recorre todas las pistas en una dirección atendiendo todas las peticiones que encuentra en el camino, hasta alcanzar la última pista o si no hay más solicitudes en esa dirección. En este punto invierte el sentido del recorrido y la búsqueda prosigue en la misma forma. También conocido como el algoritmo del ascensor. Empieza en la 500 : 632, 720, 850, 400, 308, 302, 168, 25. La opción A 632, 720, 850, 25, 168, 302, 308, 400. Es el algoritmo C-SCAN. 6ROXFLyQOD% 8/12

247 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 3UREOHPD Una CPU dispone de una única línea de petición de interrupción,175 y de una única línea de aceptación de interrupción. Diseñe para esa CPU un controlador de interrupciones, de manera que se puedan atender interrupciones generadas por 3 dispositivos externos mediante líneas de petición de interrupción (ver la Figura adjunta). Cuando se reciben peticiones de interrupción simultaneas, solo se reconoce la más prioritaria. La máxima prioridad la tiene,175 la mínima,175 Además, cada una de estas líneas de interrupción se ha de poder enmascarar de manera individual mediante un registro de mascara 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,175 j está enmascarada y no debe ser atendida. Cuando la CPU activa su línea de aceptación,,17$se debe informar al periférico correspondiente, de manera individual, que su petición ha sido aceptada, mediante las líneas de aceptación,17$,17$ a) (1 punto) Obtenga la tabla de la verdad del controlador de interrupciones. b) (1 punto) Obtenga la función lógica de las tres líneas,17$,17$,17$ en funcón de ]as líneas,175,175,175,17$y de los bits del registro de mascara. c) (1 punto) Diseñe el circuito lógico del controlador de interrupciones, usando para ello puertas AND, OR y NOT. d) (1 punto) Explique razonadamente como podrían conectarse varios controladores de interrupciones de 3 entradas, como el diseñado en el apartado anterior, para poder atender las peticiones de interrupción de 6 periféricos externos. 9/12

248 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR 6ROXFLyQ Tabla de la verdad Tabla de la verdad Entradas Salidas Entradas Salidas INTA INTR2 INTR1 INTR0 M2 M1 M0 INTA2 INTA1 INTA0 INTR INTA INTR2 INTR1 INTR0 M2 M1 M0 INTA2 INTA1 INTA0 INTR Bits que provocan la activación de los,17$l y de,175 10/12

249 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR b) Para obtener las funciones lógicas se puede recurrir a confeccionar la tabla de Karnaugh y proceder a simplificar, pero debido al alto número de variables saldría una tabla demasiado grande y compleja. Para obtener las funcionas vamos a emplear la deducción. INTA0 se activará cuando la CPU entregue la señal de INTA y además esté activada la interrupción INTR0 y desenmascarada (M0=1).,17$ 0 =,17$, INTA1 se activará cuando la CPU entregue INTA y además esté activada la interrupción INTR1 y desenmascarada (M1=1), pero ha de estar desactivada o desenmascarada INTR0 porque de lo contrario al tener mayor prioridad se activaría INTA0. Por lo tanto la señal INTA1 es:,17$ 1=,17$, , INTA2 se activará cuando la CPU entregue INTA y además esté activada la interrupción INTR2 y desenmascarada (M2=1), pero ha de estar desactivada o desenmascarada INTR0 porque de lo contrario al tener mayor prioridad se activaría INTA0 y lo mismo ha de ocurrir con INTR1. Por lo tanto la señal INTA2 es:,17$ 2 =,17$, , , La señal de INTR estará activada siempre que esté activa alguna interrupción,175l y su máscara correspondiente0l también esté activada.,175 = 0 0, , ,1752 c) Circuito lógico: &%! '( #" &%!" ')"!$ &%$ '($ &% 11/12

250 (6758&785$<7(&12/2*,$'(&20387$'25(6,,-XQLR d) Controlador para 6 interrupciones: *,+ - : ; & ! #+ - : ; >0 - : ; >?+ - : ;. + 6(0 1 23&5! !7 1 23&5 - : ; > A@CB!DAE - : ;. 7 6)+ 1 23& * !0 6(7 1 23& #+ -. /&0 6(0 1 23&5! !7 1 23&5 1 23&5C@CBFDGE *87 6)+ - : ; & ! #+ - : ; >9 - : ; > < 1 23&57 6(7 - : ;. < 6(0 1 23&5! !7 1 23&5 - : ; >= -. /&0 - : ;. = 6)+ 1 23&57 6(7 -. /&0 12/12

251

252

253

254

255 2003 Septiembre Test: 1.- De acuerdo con un estudio realizado sobre la utilización de las instrucciones de un computador, que no dispone de caché, se ha determinado que en media ejecuta 50 millones de instrucciones por segundo. Las distintas instrucciones (todas ellas almacenadas en memoria principal) y los porcentajes de utilización de las mismas son los siguientes: LOAD Acum M[dir] 30% STORE M[dir] Acum 10% MOVE R[1] Acum 10% Operaciones aritméticas R[1] R[1] operación aritmética R[2] 24% Operaciones lógicas R[1] R[1] operación lógica R[2] 6% Bifurcaciones PC Acum 20% donde Acum es el acumulador, M[dir] una posición de memoria principal, R[1] y R[2] registros internos y PC el contador de programa. Si todas las instrucciones ocupan una palabra de memoria, el número medio de accesos a memoria por segundo que se ejecutan en este computador es: A) B) C) D) Ninguna de las anteriores 2.- Una Unidad de Control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción, tiene una memoria de control con 35 bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control, el número máximo de palabras de la memoria de control de esta Unidad de Control microprogramada es de: 1

256 2 Estructura y Tecnología de Computadores II A) 2 10 palabras B) 2 20 palabras C) 2 17 palabras D) Ninguna de las anteriores 3.- Suponga una CPU que dispone de 8 líneas de interrupción PI i, i = 1...8, con PI 1 >PI 2 >PI 3 >...>PI 8, que son enmascarables mediante 8 bits del registro de estado RE de la CPU (si el bit es 1 la petición está enmascarada y si es 0 está activa). El bit más significativo del registro corresponde a la petición de interrupción de mayor prioridad, el siguiente al segundo,... hasta el menos significativo que corresponde al de menor prioridad. La máscara de interrupciones es 6C, expresada en hexadecimal. Con esta máscara se solicita interrupción por las líneas 2 y 4 respectivamente (suponga que no está siendo atendida ninguna interrupción). La petición atendida en ese momento es: A) 2 B) 4 C) Cualquiera de las anteriores D) Ninguna de las anteriores. 4.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10 para la dirección del operando. Suponiendo que una instrucción de bifurcación, con direccionamiento relativo al contador de programa, almacenada en la posición 530 (en decimal), origina un salto a la posición 620 (en decimal). Si el código de operación de la instrucción de salto es , cuál es la codificación en binario de dicha instrucción? A) B) C) D) Un disco magnético con 256 pistas, numeradas del 0 al 255, tiene la siguiente cola de peticiones de acceso: 80, 130, 151, 31, 20, 200. Utilizando planificación SCAN, en qué orden se atienden las solicitudes de acceso si inicialmente la cabeza se halla en la pista 150 y en dirección de las pistas crecientes? A) 151, 130, 80, 31, 20, 200 B) 80, 130, 151, 31, 20, 200 C) 151, 200, 130, 80, 31, 20 D) Ninguna 6.- Se tiene una memoria caché con 32 bloques con capacidad para 256 palabras cada uno. Si la función de correspondencia es totalmente asociativa y las direcciones de memoria principal tienen 24 bits, indique en qué bloque (expresado en decimal) se ubicará la palabra con dirección de memoria principal 001FFF expresada en hexadecimal: A) 31 B) 11 C) Podría utilizarse cualquier bloque D) Ninguna de las anteriores 7.- En un procesador con instrucciones de cero direcciones (procesador con pila), qué expresión calcula la secuencia de instrucciones: Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; Pop M[A];? A) A = (C+D) 2 B) A = (C+D+D)C C) A = D(C+D) D) Ninguna de las anteriores. 8.- La memoria principal de un computador utiliza módulos de memoria RAM de 64 Kpalabras 16 bits/palabra de capacidad. Decir si las siguientes afirmaciones son ciertas: I. Se necesitan 8 módulos para proporcionar una capacidad de 256 Kpalabras 32 bits/palabra. II. Se necesitan 2 módulos para proporcionar una capacidad de 128 Kpalabras 8 bits/palabra. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución 1.- El computador ejecuta 50 millones de instrucciones por segundo. La ejecución de cada instrucción siempre supone un acceso a memoria para la lectura de la propia instrucción. Además, de todo el repertorio de instrucciones propuesto, el 40% (correspondientes a las instrucciones LOAD y STORE) implican un acceso adicional a memoria principal para la lectura del operando. Por lo tanto, en un segundo se realizan 50 millones de

257 ETC2 - Examen septiembre accesos a memoria para la lectura de las instrucciones y 20 millones de accesos más (un 40% de 50) para las instrucciones LOAD y STORE. Por tanto, el número total de accesos a memoria es de 70 millones de accesos por segundo. Respuesta: B ( ) 2.- [Ver apartado del texto base de teoría y los problemas 7-1 y 7-2 del libro de problemas]. De los 35 bits, como 15 son para los campos de control, quedan 20 bits para las dos direcciones, 10 para cada una de ellas. Por tanto, el tamaño máximo de la memoria de control es de 2 10 palabras. Respuesta: A (2 10 palabras) 3.- [Ver apartado del texto base de teoría]. Pasando la máscara a hexadecimal, 6C= , se observa, aplicando el criterio propuesto en el enunciado, que la petición del 2 está enmascarada (bit de la máscara a 1) y la petición 4 no está enmascarada (bit de la máscara a 0). Por tanto, aunque la petición 2 es más prioritaria no se atiende por estar enmascarada, atendiéndose la petición 4. Respuesta: B (4) 4.- El operando de la instrucción codifica el valor del salto a realizar. Como se salta de la posición 530 a la posición 620, el valor del salto es 90 ( = ). Codificando 90 en binario con 10 bits se obtiene: En resumen, la instrucción tiene el código de operación , propuesto en el enunciado, y como operando el valor calculado antes Respuesta: A ( ) 5.- [Ver apartado del texto base de teoría y el problema 3-32 del libro de problemas]. En la planificación SCAN (rastreo) se van recorriendo todas las pistas en una dirección y satisfaciendo todas las peticiones que se encuentra en el camino, hasta que alcanza la última pista o no hay más solicitudes en esa dirección. En este punto se invierte el sentido del recorrido y la búsqueda prosigue de la misma forma. Respuesta: C (151, 200, 130, 80, 31, 20) 6.- [Ver apartado del texto base de teoría]. Utilizando correspondencia totalmente asociativa cualquier bloque de la memoria principal se puede ubicar en cualquier bloque de la memoria caché. Respuesta: C (Podría utilizarse cualquier bloque) 7.- [Ver apartado del texto base de teoría y el problema 6-4 del libro de problemas]. La evolución del contenido de la pila según se van ejecutando las instrucciones se muestra en la tabla siguiente: Contenido de la pila Push M [C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; C C, D C+D C+D, C C+D, C, D C+D, C+D (C+D) (C+D) Pop M[A];

258 4 Estructura y Tecnología de Computadores II Respuesta: A (A = (C+D) 2 ) 8.- [Ver primera parte del problema 2.3 del libro de problemas] Afirmación I: Para aumentar el número de palabras de 64K a 256K hacen falta 4 módulos. Para aumentar el tamaño de palabra de 16 a 32 bits hacen falta 2 módulos. Por tanto, para proporcionar una capacidad de 256 Kpalabras 32 bits/palabra hacen falta 8 ( = 4 2) módulos de 64 Kpalabras 16 bits/palabra. Afirmación II: Para aumentar el número de palabras de 64K a 128K hacen falta 2 módulos. Con módulos con una longitud de 16 bits/palabra, se pueden diseñar sistemas de memoria con longitudes de palabra inferiores, simplemente no empleando todas las salidas. Por tanto, para proporcionar una capacidad de 128 Kpalabras 8 bits/palabra hacen falta 2 módulos de 64 Kpalabras 16 bits/palabra. Respuesta: A (I: sí, II: sí.). Cuestiones teórico-prácticas: 1.- Justificar el resultado de la pregunta 1 del test. 2.- Justificar el resultado de la pregunta 2 del test. 3.- Justificar el resultado de la pregunta 3 del test. Solución 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

259 ETC2 - Examen septiembre Problema: Un computador dispone de una memoria principal de 64 K palabras y una memoria caché asociativa por conjuntos de 4 K palabras, 4 conjuntos y 2 bloques por conjunto. Considérese que la memoria caché está inicialmente vacía y que cuando se llena utiliza el algoritmo de reemplazamiento FIFO. El tiempo de acceso a memoria principal es de 10 t y el tiempo de acceso a memoria caché es de t. Si la CPU ejecuta un bucle 4 veces, en el que accede a 4901 palabras, desde la dirección 600 a la dirección 5500: A) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de este sistema. B) Calcule cuánto tiempo se tardan en realizar estos accesos a memoria principal si este computador no tuviera memoria caché. C) Realice una tabla con 4 columnas, una columna por cada vez que se ejecuta el bucle, y tantas filas como bloques tenga la memoria caché. En cada columna ponga el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los cuatro ciclos. Expresar el valor de la etiqueta en hexadecimal. D) Calcule cuántos fallos se producen en la caché a la hora de realizar estos accesos a memoria principal. Explique claramente su razonamiento. E) Si cada vez que se produce un fallo primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché, calcule cuánto tiempo tardaría la CPU en realizar estos accesos a memoria Solución Este problema es similar a los problemas 2-8, 2-10, 2-11, 2-12 y 2-13 del texto Problemas de Estructura y Tecnología de Computadores, 2ª edición. Se recomienda consultar la solución de estos problemas con el fin de facilitar la comprensión de las explicaciones dadas a continuación. A) La memoria principal tiene un tamaño de 64K palabras por lo que para direccionarla hacen falta un total de 16 bits (2 16 = = 64K). La memoria caché está dividida en 4 conjuntos, cada uno de ellos con 2 bloques, lo que hace un total de 8 bloques. Como la memoria caché tiene una capacidad total de 4K palabras, cada uno de los bloques tiene un tamaño de 4K / 8 = 0,5K = 512 palabras. Después de estos sencillos cálculos, ya se puede determinar el tamaño de cada uno de los campos en los que se descompone una dirección de memoria principal: Campo palabra: 9 bits. Para direccionar las 512 ( = 2 9 ) palabras de cada bloque. Campo conjunto: 2 bits. Para seleccionar uno de los 4 ( = 2 2 ) conjuntos posibles. Campo etiqueta: 5 bits. Los restantes 5 ( = ) bits de la dirección forman parte del campo etiqueta. B) Al ejecutar el bucle propuesto un total de 4 veces se producen un total de = accesos a memoria. Sin memoria caché todos estos accesos se hacen directamente a la memoria principal con un tiempo de acceso de 10 t. Por tanto, el tiempo total en realizar estos accesos si el computador no tuviera memoria caché sería de t = t.

260 6 Estructura y Tecnología de Computadores II Rango direcciones (Decimal) Rango direcciones (Binario) Rango direcciones (Hexadecimal) Conjunto Etiqueta en caché (Binario) Etiqueta en caché (Hexadecimal) FF FF FF FF FF A00-0BFF C00-0DFF E00-0FFF FF FF FF Tabla 1: Rango de direcciones, conjunto y etiqueta correspondiente en la caché C) La memoria caché tiene un tamaño total de 4K = 4096 palabras, por lo que las 4901 direcciones del bucle no caben en la memoria caché y necesariamente habrá que realizar reemplazamientos. El sistema va a acceder a direcciones desde la 600 a la 5500, y cada vez que se produzca un fallo se cargarán en memoria caché bloques de 512 palabras. Todas estas direcciones están incluidas en 10 bloques de memoria caché, y como ésta tan sólo tiene 8, en cada ciclo habrá que realizar necesariamente reemplazamientos siguiendo el algoritmo FIFO, es decir, eligiendo como candidato a ser reemplazado el bloque que entró antes, o que lleva más tiempo, en la memoria caché. La Tabla 1 muestra cómo el sistema de memoria propuesto en el enunciado del problema asigna conjunto y etiqueta en la memoria caché a las primeras 5632 direcciones, aunque de la 0 a la 512 no se referencian en este problema. Esta tabla no se pide en el enunciado del problema pero se ha añadido aquí para intentar aclarar la explicación y facilitar la comprensión de este apartado. Por ejemplo, se puede ver directamente que hay tres bloques que acceden al conjunto 1 ( , y ) que van a estar compitiendo por los dos bloques de este conjunto. Lo mismo ocurre con el conjunto 2, donde también otros

261 ETC2 - Examen septiembre tres bloques ( , y ) van a competir por los dos bloques este conjunto. Sin embargo en los conjuntos 0 y 3 este problema no existe, ya que en el bucle sólo se referencian dos bloques a los que les corresponde estar alojados en estos dos conjuntos de la memoria caché. A la hora de explicar qué ocurre cuando se acceden a las direcciones del enunciado del problema, se va a distinguir el primer ciclo, cuando la memoria caché está vacía, del resto de los ciclos. Esta es la forma habitual de abordar este tipo de problemas. Acceso a dirección Conjunto Etiqueta en caché (Hexadecimal) Comentarios Fallo - Etiqueta 00 en el bloque 0 del conjunto Fallo - Etiqueta 00 en el bloque 0 del conjunto Fallo - Etiqueta 00 en el bloque 0 del conjunto Fallo - Etiqueta 01 en el bloque 0 del conjunto Fallo - Etiqueta 01 en el bloque 1 del conjunto Fallo - Etiqueta 01 en el bloque 1 del conjunto Fallo - Etiqueta 01 en el bloque 1 del conjunto Fallo - Etiqueta 02 en el bloque 1 del conjunto Fallo - Reemplazar bloque 0 del conjunto Fallo - Reemplazar bloque 0 del conjunto 2 Tabla 2: Primera ejecución del bucle. Primera ejecución del ciclo. La Tabla 2 muestra qué va ocurriendo en la caché según se va ejecutando por primera vez el ciclo. Como la caché está inicialmente vacía, al referenciar la primera dirección de cada bloque se produce un fallo, que hace que el sistema copie el contenido del bloque completo en la memoria caché. Cuando se referencia la dirección de memoria 4608 se vuelve a producir un fallo, y el bloque correspondiente hay que copiarlo en memoria caché. A este bloque le corresponde el conjunto 1 que ya está lleno, por lo que hay que proceder a reemplazar uno de los ya existentes utilizando el algoritmo de reemplazamiento FIFO. El bloque a sustituir es el que entró primero y se corresponde con el que tiene etiqueta 00, almacenado en el bloque 0 de este conjunto. Lo mismo ocurre cuando se referencia la dirección de memoria 5120 que se vuelve a producir un fallo. A este bloque le corresponde el conjunto 2 que ya está lleno. El bloque a sustituir es el que tiene etiqueta 00 y se encuentra almacenado en el bloque 0 de este conjunto.

262 8 Estructura y Tecnología de Computadores II Acceso a dirección Conjunto Etiqueta en caché (Hexadecimal) Comentarios Fallo. Reemplazar bloque 1 del conjunto Fallo. Reemplazar bloque 1 del conjunto Acierto. Se encuentra en el bloque 0 del conjunto Acierto. Se encuentra en el bloque 0 del conjunto Fallo. Reemplazar bloque 0 del conjunto Fallo. Reemplazar bloque 0 del conjunto Acierto. Se encuentra en el bloque 1 del conjunto Acierto. Se encuentra en el bloque 1 del conjunto Fallo. Reemplazar bloque 1 del conjunto Fallo. Reemplazar bloque 1 del conjunto 2 Tabla 3: Segunda ejecución del bucle. Segunda ejecución del ciclo. Siguiendo el mismo razonamiento de antes, la Tabla 3 muestra qué va ocurriendo en la caché según se va ejecutando por segunda vez el ciclo. En esta Tabla se puede observar que no se producen fallos en las direcciones almacenadas en los conjuntos 0 y 3, y que siempre se producen fallos en los conjuntos 1 y 2, ya que el bloque que se reemplaza es referenciado a continuación. Resto de ciclos. La situación es parecida a la segunda ejecución del ciclo, produciéndose continuos fallos en los conjuntos 1 y 2. La Tabla 4 muestra como van evolucionando las etiquetas en estos dos conjuntos según se van ejecutando los 4 ciclos. A partir de la Tabla 4 se obtiene directamente la Tabla 5 que es la solicitada en el enunciado del problema. En la Tabla 5 se muestra el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los 4 ciclos. D) Para calcular el número de fallos hay que utilizar los resultados del apartado anterior y, especialmente, la Tabla 4. Primer ciclo: 10 fallos, uno por cada bloque del ciclo. Resto de ciclos: 6 fallos en cada ciclo, los producidos en los conjuntos 1 y 2. Por tanto, el número total de fallos es: = 28 fallos.

263 ETC2 - Examen septiembre Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Conjunto 0 Conjunto 1 Conjunto 2 Conjunto 3 Bloque Bloque Bloque Bloque Bloque Bloque Bloque Bloque Tabla 4: Evolución de las etiquetas según se va ejecutando cada ciclo (en negrita bloques reemplazados) Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Conjunto 0 Conjunto 1 Conjunto 2 Conjunto 3 Bloque Bloque Bloque Bloque Bloque Bloque Bloque Bloque Tabla 5: Etiquetas en los bloques de la caché después de la ejecución de cada ciclo E) El enunciado propone los eventos que ocurren cuando sucede un fallo: primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché. Luego para calcular el tiempo que la CPU tarda en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la memoria caché y sumarle el tiempo que se emplea en gestionar los fallos. Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos Suponiendo que el tiempo que se tarda en acceder una palabra en la memoria caché es τ y el tiempo en acceder

264 10 Estructura y Tecnología de Computadores II a una palabra en la memoria principal es 10τ, nos queda que: Tiempo de acceso a la caché = número de accesos τ = 4 ciclos 4901 palabras/ciclo τ Tiempo de gestión de fallos = 512 palabras/fallo 28 fallos 10τ Sumando ambas cantidades, nos queda que la CPU tardaría en ejecutar estos accesos: Tiempo total = ( τ) + ( τ )= ( ) τ = t

265 ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES II Septiembre 2003 Reserva. Tipo de Examen: E INFORMÁTICA DE SISTEMAS Cód. Carrera 40 (Plan antiguo), 53 (Plan nuevo) Cód. Asignatura 109 (ambos planes) INFORMÁTICA DE GESTIÓN Cód. Carrera 41 (Plan antiguo), 54 (Plan nuevo) Cód. Asignatura 109 (ambos planes) ÚNICO MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores y Problemas de estructura y tecnología de computadores, (editorial Sanz y Torres). NO SE PERMITE EL USO DE CALCULADORA. Tiempo: 2 horas Apellidos: Nombre: DNI: Centro Asociado en el que está MATRICULADO: Especialidad: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es E. 1.- Cierto procesador tiene instrucciones de 16 bits y direcciones de 6 bits. El procesador admite dos formatos de instrucciones, un formato con una dirección y otro con dos direcciones. Si hay n instrucciones de dos direcciones, el número máximo de instrucciones de una dirección es: A) (2 6 -n) 2 4 B) (2 6 -n) 2 16 C) (2 4 -n) 2 6 D) Ninguna de las anteriores 2.- Suponga que las instrucciones de un determinado procesador ocupan una dirección y que se encuentran almacenadas en memoria principal. El número de lecturas que realiza la CPU a memoria cuando lee y ejecuta una instrucción con modo de direccionamiento indirecto son: I. 3 si la instrucción es una operación de carga del acumulador. II. 2 si la instrucción es una bifurcación. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no 3.- Una Unidad de Control microprogramada con direccionamiento implícito con dos formatos de microinstrucción, tiene una memoria de control con 26 bits de longitud de palabra. Si en el formato de bifurcación se emplean 5 bits para especificar la condición que se utiliza para efectuar la bifurcación, el número máximo de palabras de la memoria de control de esta Unidad de Control microprogramada es de: A) 2 25 palabras B) 2 19 palabras C) 2 21 palabras D) Ninguna de las anteriores 4.- Un disco magnético con 256 pistas, numeradas del 0 al 255, tiene la siguiente cola de peticiones de acceso: 50, 130, 151, 31, 20, 200. Utilizando planificación SSTF, en qué orden se atienden las solicitudes de acceso si inicialmente la cabeza se halla en la pista 150? A) 151, 130, 200, 50, 31, 20 B) 50, 130, 151, 31, 20, 200 C) 151, 200, 130, 50, 31, 20 D) Ninguna de las anteriores. 5.- Se tiene un sistema con una memoria principal de 64 Kpalabras y una memoria caché de 16 Kpalabras con bloques de 8 palabras, siendo el tamaño de la palabra de 1 byte. Si se sabe que la palabra de la dirección 4620, expresado en hexadecimal, se encuentra en el bloque C4 de la caché, expresado en hexadecimal. Decir cuál de las siguientes afirmaciones es cierta: A) Ninguna función de correspondencia asignaría dicho bloque a tal dirección. B) La función de correspondencia solamente puede estar implementada mediante correspondencia directa. C) La función de correspondencia solamente puede ser totalmente asociativa. D) La función de correspondencia puede ser directa o bien totalmente asociativa. 6.- Se quiere diseñar una memoria para un computador que tiene una arquitectura basada en palabras de 16 bits y un bus de direcciones de 20 líneas de manera que disponga de 500 Kpalabras de memoria RAM y 240 Kpalabras de memoria ROM. Sabiendo que se disponen de módulos de memoria RAM de 128 Kpalabras 8 bits/palabra, 128 Kpalabras 16 bits/palabra; y de módulos de memoria ROM de 128 Kpalabras 8 bits/palabra, 128 Kpalabras 16 bits/palabra, I. Sí es posible realizar el diseño que se solicita. II. El menor número de módulos necesarios para realizar el circuito con las especificaciones requeridas es 4 módulos RAM de 128 Kpalabras 16 bits/palabra y 2 módulos ROM de 128 Kpalabras 16 bits/palabra. A) I: sí, II: sí B) I: sí, II: no C) I: no, II: sí D) I: no, II: no 7.- Considere una CPU que realiza un enmascaramiento individual de las interrupciones. El registro de estado de interrupción y el registro de máscara de interrupciones son de 8 bits. Si un bit del registro de estado es 1 la petición está enmascarada y si es 0 está activa. En un determinado instante se activan las 8 posibles peticiones de interrupción simultáneamente, lo que produce que el valor del registro de estado de interrupción sea: A partir de los datos anteriores, se deduce que el contenido del registro de máscara de interrupciones es: A) B) C) Las dos anteriores son falsas D) No hay datos suficientes para deducirlo

266 8.- En un procesador con instrucciones de cero direcciones (procesador con pila), qué expresión calcula la secuencia de instrucciones: Push M[C]; Push M[D]; Add; Push M[C]; Push M[D]; Add; Mult; Pop M[A];? A) A = (C+D) 2 B) A = (C+D+D)C C) A=D(C+D) D) Ninguna de las anteriores Cuestiones teórico-prácticas: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Cuestión 2 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Problema (No se corregirá ningún problema contestado en el dorso de la hoja de lectura óptica): Diseñar un subsistema de memoria de 16 palabras 4 bits/palabra utilizando módulos de memoria 8 palabras 2 bits/palabra para un computador que dispone de un bus de direcciones de 8 bits, en los dos casos siguientes: a) (2 puntos) Con entrelazado de orden superior. b) (2 puntos) Con entrelazado de orden inferior. Nota: Se dice que un entrelazado es de orden superior, cuando todas las posiciones de memoria dentro de un módulo son contiguas en el subsistema de memoria diseñado. Se dice que un entrelazado es de orden inferior, cuando las posiciones contiguas en el subsistema diseñado se van alternando entre los diferentes módulos que constituyen el subsistema.

267

268

269 Test 1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes afirmaciones, acerca de las señales de control (c i ), es correcta. I A) c1 = S1 s0/c1 S2 s1/c4,c5 B) c5 = S2 s1 I/c0 s1/0 s2/c6 C) Las dos afirmaciones anteriores son correctas. S0 S1 S4 S5 s1/c3 D) Todas las afirmaciones anteriores son falsas. s0/c1,c2 S3 s1/c5 Solución: Del diagrama de estados se deduce que: c1 = S1 s0 + S1 s0 = S1 c5 = S2 s1 + S3 s1 = ( S2 + S3) s1 Respuesta: A ( c1 = S1 ) 2.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y control durante 20 nseg. Durante los 80 nseg siguientes, el módulo de memoria direccionado completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. Indique cuál es el número de módulos de memoria (N) conectados al bus si la velocidad máxima posible con la que se pueden escribir los datos en memoria es 0.05 palabras/nseg. A) N = 2 B) N = 4 C) N > 4 D) Ninguna de las anteriores Solución: Esta pregunta está basada en el Problema 1-3. El ciclo de escritura en los módulos de memoria se muestra gráficamente en la Figura 1. El tiempo de ciclo de escritura es 100 nseg. El módulo de memoria usa el bus en exclusiva durante los primeros 20 nseg del ciclo, mientras que durante los restantes 80 nseg cualquier otro módulo puede hacer uso del bus. Según se indica en el enunciado, la velocidad máxima de escritura de datos en memoria es 0.05 palabras/nseg. Considerando que los ciclos de escritura se solapan al máximo, esa velocidad máxima corresponde con un número de módulos de memoria mayor que 4 (ver la Figura 2). Si el número de módulos fuera N=2, N=3 ó N=4, la velocidad máxima sería 0.02, 0.03 ó 0.04 palabras/nseg respectivamente. Cuando el número de módulos es N>4, la velocidad máxima es 0.05 palabras/nseg. Control Dirección Datos Almacenamiento del dato 20 nseg 80 nseg Figura 1: Ciclo de escritura de los módulos de memoria

270 Módulos 100 nseg Vmax = 2 palabras / 100 nseg = 0.02 palabras/nseg ( 20 nseg) Módulos 100 nseg Vmax = 3 palabras / 100 nseg = 0.03 palabras/nseg ( 20 nseg) Módulos 100 nseg Vmax = 4 palabras / 100 nseg = 0.04 palabras/nseg ( 20 nseg) Módulos 100 nseg Vmax = 5 palabras / 100 nseg = 0.05 palabras/nseg ( 20 nseg) Módulos 120 nseg Vmax = 6 palabras / 120 nseg = 0.05 palabras/nseg ( 20 nseg) Módulos 140 nseg Vmax = 7 palabras / 140 nseg = 0.05 palabras/nseg ( 20 nseg) Figura 2: Operaciones de escritura en 2, 3, 4, 5, 6 y 7 módulos Respuesta: C ( N > 4 )

271 3.- Un disco formateado con entrelazado doble, tiene 16 sectores de 4 Kbytes y una velocidad de rotación de 6000 rpm. Cuánto tardará en leer, en su orden, todos los sectores de una pista suponiendo que la cabeza de lectura se encuentra en la pista correcta y sobre el punto de comienzo del sector 0? A) 562,5 ms. B) 33,75 ms. C) 28,75 ms. D) Ninguna de las anteriores Solución: Esta pregunta está basada en el problema Por el mismo razonamiento que se hace en dicho problema (quitando la media vuelta inicial que ahora no se tiene en cuenta), el disco tiene que dar (2 + 7/8) vueltas = 2,875 vueltas. A 6000 rpm se tarda en dar una vuelta 60/6000= 0.01 seg. Por tanto, en leer consecutivamente todos los sectores de una pista se tarda: 2,875 vueltas 0,01 seg/vuelta = 0,02875 seg = 28,75 ms. Respuesta: C (28,75 ms) 4.- Indique cuál de las siguientes afirmaciones es verdadera: A) El controlador de DMA determina el sentido, lectura o escritura, de la operación de E/S. B) La CPU interviene activamente en la transmisión de la información en las operaciones de E/S mediante DMA. C) Un procesador de E/S no es capaz de interrumpir a la CPU. D) Ninguna de las anteriores. Solución: La respuesta A) es falsa porque es la CPU quién realiza esas funciones (véase la página 165 del libro de Teoría). La respuesta B) también es falsa porque precisamente la utilización del DMA permite evitar que la CPU intervenga de forma activa en las operaciones de E/S (véase la página 165 y ss. del libro de Teoría). La respuesta C) es falsa porque es necesario que el procesador de E/S comunique a la CPU la finalización de la operación, por ejemplo mediante el uso de interrupciones (véase la página 174 del libro de Teoría). Por tanto, todas son falsas y la solución es la D). Respuesta: D (Ninguna de las anteriores) 5.- Una unidad de control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción y microprogramación horizontal tiene una memoria de control con 1K palabras 32 bits/palabra de capacidad. Indicar el número máximo de puntos de control en la ruta de datos asociada. A) 10 B) 12 C) 22 D) Ninguna de las anteriores Solución: Al tratarse de una unidad de control con dos direcciones por microinstrucción y direccionamiento explícito microprogramada (véanse los apartados y del texto base de teoría), el formato de microinstrucción será el siguiente (para direccionar 1K palabras se necesitan 10 bits): Control: 12 bits Dirección 1: 10 bits Dirección 2: 10 bits Al ser microprogramación horizontal, cada bit del campo de control se conecta con un punto físico de control (véase la página 396 del libro de teoría). Por lo tanto, se pueden usar hasta 12 puntos de control. Respuesta: B (12) 6.- Dado el diagrama ASM de la figura, y suponiendo que para cada estado se debe generar una sola señal de control (c 0 en S 0, c 1 en S 1 y c 2 en S 2 ). Indicar cuál de las siguientes afirmaciones es verdadera. I. Para implementarlo se puede usar un registro de 4 bits y una ROM de 16 de palabras de 4 bits. II. Para implementarlo se puede usar la técnica de selección por estado con lo que el multiplexor asociado tiene 4 entradas con 2 entradas de selección y la ROM un tamaño de 8 palabras de 5 bits. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

272 Solución: Para el diagrama ASM tenemos que el número de estados son 3 (S 1, S 2 y S 3 ) por lo que necesitamos 2 bits para codificar dichos estados (por tanto, n=2). Hay dos variables de condición: Inicio y Cond1 (q=2) y tres señales de control: c 1, c 2 y c 3 (m = 3). Para verificar que es posible realizar las implementaciones se debe analizar cada una de ellas I) Implementación con ROM y registro. Si se usa esta forma, para implementar el diagrama ASM se necesita un registro de estado de 2 bits y una ROM de 2 (n+q) = 2 4 = 16 palabras de n+m = 2+3 = 5 bits. Por tanto la implementación I es falsa porque no disponemos del ancho de palabra necesario (se nos dan 4 bits en vez de 5). II) Implementación con la técnica de selección por campo. Primero se debe analizar si es posible usarla, comprobando si solo se evalúa una condición en cada estado, cosa que es cierta. De esta forma, las dos entradas de codificación de estado se realimentan como entradas de selección del multiplexor de la condición. El multiplexor necesario tendrá dos entradas de selección y cuatro entradas a las que se conectarán las tres señales de condición del circuito. Si se usa este multiplexor el tamaño de la ROM se reduce a 2 (n+1) = 2 3 = 8 palabras de n+m = 2+3 = 5 bits (tamaño que coincide con el que se da en el enunciado). Por lo tanto es posible implementar el diagrama ASM. Respuesta: C (I: no, II: sí) 7.- Un computador dispone de una memoria principal de 2 32 palabras y 8 bits/palabra. Cuántos bits se requieren para diseñar en este computador una caché con correspondencia directa que pueda almacenar 64 Kpalabras, con 4 palabras por bloque y estrategia de escritura write back?. Nota: el total de bits son los bits del directorio mas los de almacenaje de palabras. A) B) C) D) Solución: En primer lugar es necesario determinar los bits de etiqueta, bloque y palabra. Como el tamaño de la caché es de 64 Kbytes y se tienen 4 bytes/bloque, el nº de bloques de la memoria caché es de (64Kbytes)/(4 bytes/bloque)= bloques. Por lo tanto de los 32 bits de dirección, 14 se corresponden al campo bloque, 2 al campo palabra (según el enunciado hay 4 palabras en cada bloque) y = 16 al campo etiqueta. Además como la estrategia de escritura es write back (véase la página 93 del texto base de teoría), se precisa 1 bit de actualización asociado a cada bloque de la memoria caché. Por lo tanto la estructura de la memoria caché es de la forma (ver figura 2.34 del texto de teoría): Actualización (1) Etiqueta (16 bits) Kbytes.. Luego para cada uno de los 2 14 bloques, se almacenan 32 bits (correspondientes a las 4 palabras del bloque) mas los 16 de la etiqueta y uno más, correspondiente al bit de actualización. Por lo tanto se necesitan 49 bits de ancho de palabra. Respuesta: D ( ) 8.- El siguiente diagrama muestra el contenido de una memoria asociativa: Palabra 0? Palabra 1? ETIQUETA Palabra 2? MARCA Palabra 3? Palabra 4? Palabra 5? I. Si la máscara K= y el argumento A= el único bit de marca que valdría 1 corresponde a la Palabra 2. II. Si la máscara K= y el argumento A= entonces sólo hay un bit del registro de marca que valdría 1. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución: En primer lugar (véase la página 105 y ss. de la primera edición del texto base de teoría o la página 96 y ss. de su segunda edición), hay que recordar que las palabras cuyo bit de etiqueta es 0 son palabras no válidas, por lo que su bit

273 de marca siempre será 0, independientemente de la máscara. Por este motivo la Palabra 0 y la Palabra 4 de la memoria asociativa no aportan ninguna información útil para contestar la pregunta y en adelante no se tendrán en cuenta. Utilizando los datos de la afirmación I, es decir, la marca y el argumento propuesto se puede observar que hay dos palabras (la 2 y la 5) que originan el bit de marca a 1, luego es falsa. La afirmación II también es falsa por no originar ninguna palabra el bit de marca a 1. Respuesta: D (I: no, II: no) Cuestiones teórico-prácticas Cuestión 1 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test.

274 Problema En la Fig. 1 se muestra el diagrama de bloques de un sumador binario de dos números de 2 bits. Las entradas al sumador son los dos bits de cada sumando (X=x 1 x 0, Y=y 1 y 0 ). Las salidas son los dos bits de suma (s=s 1 s 0 ) y el bit de arrastre (c 1 ). c 1 y 1 x 1 y 0 s1 s0 Fig. 1 Fig. 2 x 0 c 1 y 1 x 1 y 0 s1 s0 x 0 c 1 A) (0.75 puntos) Obtenga la tabla de la verdad de las salidas (c 1, s 1, s 0 ) del sumador de la Fig. 1 en función de las entradas (y 1, y 0, x 1, x 0 ). B) (1 punto) Obtenga las funciones lógicas simplificadas de las tres salidas (c 1, s 1, s 0 ) del sumador de la Fig. 1 en función de las entradas (y 1, y 0, x 1, x 0 ). Emplee para ello mapas de Karnaugh. C) (0.75 puntos) A partir de las funciones lógicas calculadas en el apartado anterior, realizar el sumador binario de 2 bits mostrado en la Fig. 1 mediante un circuito combinacional de dos niveles (AND-OR). D) (1.5 puntos) Si al sumador binario de la Fig. 1 se le añade una nueva entrada, bit de arrastre de la etapa anterior (c -1 ), se obtiene el sumador representado en la Fig. 2. Empleando módulos sumadores como el mostrado en la Fig.2, multiplexores y puertas lógicas, diseñe una ALU aritmética de 4 bits que realice las cinco operaciones siguientes sobre dos números A y B de 4 bits: suma (Z=A+B), resta (Z=A-B), transfiere A (Z=A), incrementa A en 1 (Z=A+1) y decrementa A en 1 (Z=A-1). Solución Los apartados A), B) y C) son similares a las cuestiones planteadas en los problemas 4-1, 4-2 y 4-3, en los que se pide obtener la tabla de la verdad, la función lógica y diseñar el circuito AND-OR de diferentes circuitos sumadores y restadores. El apartado D) es análogo al problema A) Obtenga la tabla de la verdad de las salidas (c 1, s 1, s 0 ) del sumador de la Fig. 1 en función de las entradas (y 1, y 0, x 1, x 0 ). y 1 y 0 x 1 x 0 c 1 s 1 s B) Obtenga las funciones lógicas simplificadas de las tres salidas (c 1, s 1, s 0 ) del sumador de la Fig. 1 en función de las entradas (y 1, y 0, x 1, x 0 ). Emplee para ello mapas de Karnaugh.

275 yy xx x x y x y y x y 1 1 c1 = x1 x0 y0 + x0 y1 y0 + x1 y1 yy xx 1 0 x1 x0 y1 y x y y x x y x1 x0 y1 y0 s = x x y y + x x y + x y y x y y + x x y + x x y y x1 x0 y1 x1 y1 y0 yy xx x y 0 0 x y 0 0 s0 = x0 y0 + x0 y0 C) A partir de las funciones lógicas calculadas en el apartado anterior, realizar el sumador binario de 2 bits mostrado en la Fig. 1 mediante un circuito combinacional de dos niveles (AND-OR). x1 x0 y1 y0 c1 = x1 x0 y0 + x0 y1 y0 + x1 y1 s = x x y y + x x y x y y + x y y x x y + x x y y s0 = x0 y0 + x0 y0

276 D) Si al sumador binario de la Fig. 1 se le añade una nueva entrada, bit de arrastre de la etapa anterior (c -1 ), se obtiene el sumador representado en la Fig. 2. Empleando módulos sumadores como el mostrado en la Fig.2, multiplexores y puertas lógicas, diseñe una ALU aritmética de 4 bits que realice las cinco operaciones siguientes sobre dos números A y B de 4 bits: suma (Z=A+B), resta (Z=A-B), transfiere A (Z=A), incrementa A en 1 (Z=A+1) y decrementa A en 1 (Z=A- 1). En el apartado del texto de teoría se explica cómo realizar la conexión de circuitos sumadores con bit de acarreo y bit de arrastre de la etapa anterior, con el fin de obtener sumadores de un mayor número de bits. Puede conseguirse un sumador de 4 bits, conectando dos sumadores de 2 bits como el de la Fig. 2, de la forma siguiente: y 3 x 3 y 2 x 2 y 1 x 1 y 0 x 0 c 3 c 1 y 1 x 1 y 0 s1 s0 x 0 c 1 c 1 c 1 y 1 x 1 y 0 s1 s0 x 0 c 1 s3 s2 s1 s0 En el problema 4-30 se explica cómo realizar una ALU, empleando un sumador de 4 bits y multiplexores, que proporciona la funcionalidad pedida en el enunciado del apartado D) del examen. El diseño se realiza de la forma siguiente: m m 2 m 1 0 B 3 A 3 B 2 A 2 B 1 A 1 B 0 A MUX MUX MUX MUX Y3 X 3 Y 2 X 2 Y 1 X 1 Y 0 X 0 c 3 y 1 c 1 x 1 y 0 s1 s0 x 0 c 1 c 1 y 1 c 1 x 1 y 0 s1 s0 x 0 c 1 Z3 Z2 Z1 Z0 La ALU tiene tres señales de control: m 0, m 1 y m 2. La selección de las entradas de datos de los multiplexores se hace mediante m 0 y m 1. La entrada m 2 se conecta al arrastre de entrada del primer sumador. Las operaciones aritméticas pedidas en el enunciado pueden generarse de la manera siguiente: Señales de control Entradas al sumador Salida m 2 m 1 m 0 X Y Z A B A+B A B A+B+1=A-B A 0000 A A 0000 A A 1111 A-1

277

278

279 Test 1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes afirmaciones es correcta. A) Puede realizarse la síntesis de la unidad de control empleando un registro de 3 bits y una memoria ROM de 27 palabras, con 16 bits por palabra. B) Puede realizarse la síntesis de la unidad de control empleando un registro de 3 bits, un multiplexor de 8 a 1, y una memoria ROM de 16 palabras, con 16 bits por palabra. C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas. I S0 I/c0 s0/c1 S1 s0/c1,c2 S2 s1/c3 S3 s1/c4,c5 s1/0 s2/c6 Solución: La síntesis de la unidad de control empleando un registro y una memoria ROM se explica en el Apartado del texto de teoría. Respuesta A. La unidad de control posee 6 estados, con lo cual el estado puede codificarse mediante una palabra de n=3 bits, que puede ser almacenada en un registro de 3 bits. Existen q=4 entradas a la unidad de control (I, s 0, s 1 y s 2 ) y m=7 salidas de la unidad de control (c 0,..., c 6 ). Por tanto, la información de las transiciones entre estados y de la activación de las señales de control puede almacenarse en una ROM de 2 n+q =2 7 =32 palabras, con n+m=10 bits/palabra. En el enunciado de la afirmación se propone una ROM de 27 palabras que es más pequeña que la que se necesita (32 palabras). Por tanto es falsa. Respuesta B. Puesto que la transición entre los estados está regida por una única señal de condición en cada caso, la unidad de control puede realizarse empleando un multiplexor de 2 n :1 (es decir, de 2 3 :1 8 a 1) y una memoria ROM de 2 n+1 =2 4 =16 palabras, con n+m=10 bits/palabra, que es justamente lo que propone la respuesta B), y por tanto, es cierta. Respuesta: B 2.- Una Unidad de Control microprogramada con direccionamiento implícito tiene una memoria de control con 24 bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control y se pueden evaluar 8 condiciones en el caso de microinstrucciones de bifurcación, el tamaño máximo de la memoria de control de esta Unidad de Control microprogramada es de: A) 2 8 palabras B) 2 20 palabras C) 2 24 palabras D) Ninguna de las anteriores S4 s1/c5 S5

280 Solución: En el caso de direccionamiento implícito, se definen dos formatos de instrucciones diferenciadas por el primer bit. En caso de ser 0 tienen formato de control y se usan 15 bits adicionales para el control, es decir, se usan 16 bits y quedan 8 libres sin usar. En el caso de formato de bifurcación (primer bit a 1) se debe evaluar la condición que sea necesaria. Puesto que dice que como máximo se tienen en cuenta 8 condiciones (por ejemplo, las mostradas en la tabla), se pueden usar 3 bits para codificar que condición se usa. Por lo que nos quedan =20 bits para el campo dirección, con lo que se pueden direccionar 2 20 palabras. Respuesta: B (2 20 palabras) Código (3 bits) Condición Saltar siempre El bit N del registro de estado vale El bit N del registro de estado vale El bit Z del registro de estado vale El bit Z del registro de estado vale El bit C del registro de estado vale El bit V del registro de estado vale No saltar 3.- El formato de instrucción de un procesador hipotético es el siguiente: los 4 bits más significativos almacenan el código de operación y los restantes 12 bits contienen la dirección de memoria. El formato de almacenamiento de los números enteros es el siguiente: el bit más significativo contiene el signo (0: positivo; 1: negativo), y los 15 bits restantes la magnitud. La CPU contiene tres registros internos: el contador de programa (PC), el registro de instrucción (IR) y el acumulador (AC). La lista de los códigos de operación incluye los siguientes: (cargar AC desde memoria), (almacenar AC en memoria), (restar al AC de memoria), (sumar al AC de memoria). Si las posiciones de memoria y contienen respectivamente: y , señale cuál es el contenido de la posición de memoria una vez ejecutadas las tres instrucciones siguientes: , F804 16, A) B) C) D) Ninguna de las anteriores. Solución: Esta pregunta es análoga al Problema 1-1. Las tres instrucciones , F804 16, realizan las operaciones siguientes: Instrucción Código de operación Dirección (hexadecimal) (binario) (hexadecimal) Operación Carga el contenido de la dirección de memoria en el acumulador. Como resultado, el acumulador contiene: F Suma el contenido de la dirección de memoria al contenido del acumulador, y almacena el resultado ( = ) en el acumulador Almacena el contenido del acumulador ( ) en la dirección de memoria Respuesta: B ( ) 4.- Una unidad de control, cuya tabla de estados del modelo de Huffman-Mealy se muestra a continuación, se implementa usando dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados siguiente: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Indique si las siguientes afirmaciones, acerca de las funciones de entrada a los elementos de memoria, son correctas: D = Q + Q s A) B) D0 = Q0 s0 + Q1 s0 + Q0 Q1 I C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas. Estado presente I s 0 S0 S0 S 1 S 2 Próximo estado I s I s 0 0 I s0 S 3 S 0 S0 S1 S1 S2 S3 S2 S3 S0 S3 S S3 S3 S3 S3 3

281 Solución: La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado del texto de teoría. Realizando la asignación de estados indicada en el enunciado, se obtiene la tabla de transición de estados siguiente: Estado presente Próximo estado I s I s 0 0 I s0 I s Las funciones de entrada a los elementos de memoria tipo D son las siguientes: QQ 1 0 Is D1 = Q0 + Q1 s0 Q 0 Q s 1 0 QQ Is D0 = Q0 s0 + Q1 s0 + Q0 Q1 I Q Q I Q 0 1 Q s 1 0 s 0 0 Respuesta: C (Las dos afirmaciones anteriores son correctas) 5.- Un computador dispone de varios dispositivos muy rápidos de Entrada/Salida. Se desea que las operaciones de E/S se realicen con el máximo rendimiento y que la intervención de la UCP sea mínima. Para ello se dotaría al sistema de: A) Un Procesador de E/S (PE/S) de tipo canal selector. B) E/S controlada por programa. C) Un Procesador de E/S (PE/S) de tipo canal multiplexor. D) Ninguna de las anteriores. Solución: Para que la intervención de la UCP sea mínima hay que utilizar un PE/S (véase la página 172 del texto base de teoría). Puesto que los periféricos son muy rápidos, el adecuado es el canal selector. Respuesta: A (Un Procesador de E/S (PE/S) de tipo canal selector) 6.- Un computador con una longitud de palabra de 16 bits tiene un bus de direcciones de 24 bits (A 23 -A 0 ). Se desea diseñar su unidad de memoria para que tenga una capacidad de 2,5M palabras 16 bits/palabra. Se dispone para ello de módulos RAM de 1M 1 bits/palabra. Suponiendo que las direcciones de memoria son consecutivas empezando en la dirección 0, I. Una expresión lógica que sirve para detectar direcciones no válidas es: A 23 +A 22 +A 21 (A 20 +A 19 ) II. Bastan 32 módulos de RAM para obtener la capacidad deseada A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución: La memoria que se debe diseñar es de 2'5 Mpalabras. Como los módulos son de 1 M 1 bits/palabra, en cada fila hay que colocar 16 módulos para tener el ancho de palabra solicitado (cada fila tendrá de capacidad 1 M palabra). Para dar la capacidad requerida habrá que colocar 3 filas, dando una capacidad de 3 Mpalabras. Por lo tanto, habrá que "prohibir" el acceso a la mitad de las palabras de la última fila.

282 1ª Fila 2ª Fila 3ª Fila (uso) 3ª Fila (prohibido) Resto de mapa de memoria A 23...A Direcciones superiores a 2'5 M => aquellas con A 23 =1 ó A 22 =1, o bien si A 21 =1 no podrá serlo A 20 ó A 19. Por lo tanto las direcciones "prohibidas" son : A 23 +A 22 +A 21 (A 20 +A 19 ). Teniendo en cuenta lo anterior la afirmación I es verdadera y la afirmación II es falsa ya que se necesitan 16*3=48 módulos (y no 32 como se indica en dicha afirmación). Respuesta: B (I: sí, II: no) 7.- Un disco magnético con 1024 pistas, numeradas del 0 al 1023, tiene la siguiente cola de peticiones de acceso: 2, 35, 46, 23, 90, 102, 10 y 34. Si se utiliza la planificación SCAN e inicialmente la cabeza se halla en la pista 29: I. La longitud media de búsqueda es la misma tanto si el movimiento de la cabeza, desde la posición inicial, se realiza en la dirección de las pistas crecientes como decrecientes. II. Las solicitudes de acceso se podrían atender en el orden 34, 35, 46, 90, 102, 23, 10, 2 A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución: En el algoritmo SCAN (véase el apartado del texto base de teoría y el problema 3-32 del libro de problemas) se van recorriendo todas las pistas en una dirección y satisfaciendo todas las peticiones que se encuentran en el camino hasta alcanzar la última pista. En ese punto se invierte el sentido del recorrido y la búsqueda prosigue de la misma forma. De esta manera con el algoritmo SCAN hay dos opciones según sea el movimiento de la cabeza desde la posición inicial: Si el movimiento en la dirección de las pistas crecientes: Próxima pista a la que se accede Nº de pistas que se atraviesan LMB= Si el movimiento en la dirección de las pistas crecientes: Próxima pista a la que se accede Nº de pistas que se atraviesan LMB= Respuesta: C (I: no, II: sí)

283 8.- Supóngase una memoria RAM de 2048 palabras 8 bits/palabra construida utilizando módulos de memoria RAM de 128 palabras 8 bits/palabra. A fin de permitir el direccionamiento de las palabras de memoria, el bus de direcciones: A) Tiene 11 líneas, 4 de ellas para seleccionar cada módulo y 7 comunes a todos ellos. B) Tiene 11 líneas, 3 de ellas para seleccionar cada módulo y 8 comunes a todos ellos. C) Tiene 12 líneas, 5 de ellas para seleccionar cada módulo y 7 comunes a todos ellos. D) Ninguna de las anteriores es verdadera. Solución: La memoria RAM tiene un total de 2048 palabras por lo que el bus de direcciones tiene un total de 11 líneas (2 11 =2048). Según el enunciado, la memoria se construye utilizando módulos de 128 palabras que tienen 7 líneas de direcciones (2 7 =128). Por lo tanto, a fin de permitir el direccionamiento de las palabras de memoria, de las 11 líneas del bus de direcciones, 7 de ellas son comunes a todos los módulos y las otras 4 se emplean para seleccionar los distintos módulos. Para más detalles de construcción de sistemas de memoria, véase las pp. 68 y ss. del texto base de teoría y los problemas 2-1, 2-2 y 2-3 de cualquiera de las dos ediciones del libro de problemas. Respuesta: A (Tiene 11 líneas, 4 de ellas para seleccionar cada módulo y 7 comunes a todos ellos) Cuestiones teórico-prácticas Cuestión 1 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Se dispone de 3 módulos de memoria con entradas de selección activa a nivel bajo. Dos módulos son de 8K palabras y el tercero de 32 K palabras. Estos módulos de memoria van a estar direccionados por un procesador que posee un bus de direcciones con 16 líneas (A 15-0 ). Se requiere que los circuitos de 8K ocupen las direcciones de memoria menores y las mayores, y que las palabras de direcciones sobrantes se repartan en dos áreas del mismo tamaño. A) (2 puntos) Proponga un mapa de memoria que utilice los tres módulos con las especificaciones indicadas anteriormente. Diseñe un circuito que realice ese mapa. B) (2 puntos) Indique el módulo de memoria y la posición en dicho módulo que se activa con cada una de las siguientes direcciones (A 15-0, en hexadecimal):0123, 2345, 4567, 6789, 89AB, ABCD, CDEF, EF01. Solución: Este problema es similar a problema 2-6 del texto Problemas de Estructura y Tecnología de Computadores, 2ª edición. Se recomienda consultar la solución a este problema con el fin de facilitar la comprensión de las explicaciones dadas a continuación. A) Mapa de memoria y circuito. Descomponemos las 64K direcciones del bus de direcciones (2 16 ) en grupos de 8K, cada uno de los cuales está definido por uno de los posibles valores de A 15, A 14 y A 13. La Tabla 1 muestra la solución con las especificaciones dadas en el enunciado: el módulo de 32 K debe ocupar forzosamente las posiciones intermedias (ya que no se puede partir un módulo de memoria físicamente) para que, estando los dos módulos de 8K situados en las direcciones mayores y menores, las palabras de direcciones sobrantes se repartan en dos áreas del mismo tamaño.

284 A 15 A 14 A 13 Direcciones (Hexadecimal) K de M FFF LIBRE FFF K de M BFFF LIBRE C000-DFFF K de M 2 E000-FFFF Tabla 1. Mapa de memoria. Como M 1 y M 2 son de 8K, para direccionar una palabra dentro de estos módulos se necesitan 13 líneas de dirección (a 12-0). En el caso de M 3, de 32K se necesitan 15 líneas (a 14-0 ). Se supone que los tres circuitos tienen de señal de selección CS, M 1 CSM 2 y CSM 3. A partir de la Tabla 1, se sigue que las señales de selección son: CSM CSM CSM = A A 15 = A 15 = ( A A 14 A A A ) + ( A 14 A CSM 15 CSM ) 1 2 = A = A CSM + A A A + A 13 = ( A Se dan dos soluciones para la habilitación de los módulos de memoria con las señales CS, M 1 CSM 2 y CSM 3 a partir de las funciones anteriores. La primera (Figura 1) utiliza un decodificador. La segunda (Figura 2) es un diseño a nivel de puertas A 15 ) ( A 14 + A 15 ) A 13 CS M 1 A 14 A 15 CS M 3 CS M 2 Figura 1. Lógica de selección de módulos utilizando un decodificador A 15 A 14 CS M 1 A 13 CS M 2 CS M 3 Figura 2. Lógica de selección de módulos utilizando puertas Las líneas de dirección de M 1 y M 2 (a 12-0 ) se conectan directamente a las líneas A Para M 3 se necesitan 15 líneas A i. En principio hay dos soluciones (en todo caso además de A 13-0 hay que utilizar A 15 ó A 14 ):

285 a 14-0 = A 14-0 ó a 14-0 = A 15 A Se elige la primera solución (Figura 3), pues es la que cubre el mapa de memoria. CS M1 CS M 2 CS M3 M A a K A M a K A M a K Figura 3. Lógica de direccionamiento B) A partir de las direcciones A 15-0 que se nos indican se tendrán que deducir los valores de A 15, A 14 y A 13 para determinar si se selecciona algún módulo y cuál es. También se tiene que analizar los valores de las líneas de dirección del módulo seleccionado (a 12-0 para M 1 y M 2 ; a 14-0 para M 3 ) para determinar qué dirección interna es la que se activa. En la Tabla 2 se muestran los resultados de dicho análisis: A 15 A 14 A 13 A 12 (binario) A 11 -A 8 (hexadecimal ) A 7 -A 4 (hexadecimal) A 3 A 0 (hexadecimal) Memoria Palabra de memoria (hexadecimal) M 1 a 12 a 11-8 a 7-4 a 3-0 = Libre M 3 a a 11-8 a 7-4 a 3-0 = M 3 a a 11-8 a 7-4 a 3-0 = A B M 3 a a 11-8 a 7-4 a 3-0 = 0 9 A B B C D M 3 a a 11-8 a 7-4 a 3-0 = 2 B C D D E F Libre F 0 1 M 2 a 12 a 11-8 a 7-4 a 3-0 = 0 F 0 1 Tabla 2. Módulo y palabra que se activan

286

287

288 2004 Septiembre Test: 1.- En la figura adjunta se muestra el diagrama de estados de una unidad de control. Indique cuál de las siguientes afirmaciones, acerca de las señales de control (c i ), es correcta.. I S0 I/c0,c3 S1 s0/c1,c2 s2/0 S2 s0/c1 s1/c3 S3 s1/c2,c4 S4 s1/c5 s2/c5 S5 A) c3 = S3 s1 B) c5 = S4 s2 + S3 s1 C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas 2.- Una unidad de disco tiene 4 superficies, 128 cilindros, 16 sectores por pista y 4 Kbytes por sector. Si el disco gira a 6000 rpm y tiene un formato con entrelazado simple cuál es su velocidad de transferencia? A) 3200 Kbytes/seg. B) 6400 Kbytes/seg. C) 6,4 Mbytes D) Ninguna de las anteriores 3.- Un computador utiliza microinstrucciones de formato vertical. El formato tiene 15 subcampos codificados de 2 bits, 5 subcampos codificados de 3 bits y 2 subcampos codificados de 5 bits. Cuál es el número máximo de señales de control que puede tener este computador? A) 55 B) 85 C) 164 D) Ninguno de los anteriores. 1

289 2 Estructura y Tecnología de Computadores II 4.- Si al número binario X = le aplicamos la siguiente secuencia de operaciones de desplazamiento: 5 operaciones LICS seguidas de 12 operaciones LDCS, cuál es el resultado de la operación? A) B) C) D) Ninguna de las anteriores. 5.- En un computador con una frecuencia de 10 8 ciclos/segundo una instrucción emplea, en promedio, 4 ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 1 ciclo en la transferencia de una palabra. I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de palabras/seg. II. Utilizando DMA por robo de ciclos la máxima velocidad de transferencia de datos es de palabras/seg. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Dado el diagrama ASM de la Figura, indicar cuántos elementos de memoria tipo J-K son necesarios para implementarlo si se usa la técnica de diseño con un elemento de memoria por estado. A) 3 B) 2 C) No se puede deducir del diagrama D) Ninguna de las anteriores 7.- Se tiene una memoria caché con 256 bloques de 16 palabras cada uno. Si la función de correspondencia es directa y las direcciones de memoria principal (Mp) tienen 32 bits, I. Las direcciones de Mp A y A se ubican en el mismo bloque de la memoria caché. II. La dirección de Mp A se ubicará en el bloque 18 de la memoria caché (expresado en decimal). A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- De acuerdo con un estudio realizado sobre la utilización de las instrucciones de un computador, que no dispone de caché, se ha determinado que en media ejecuta 100 millones de instrucciones por segundo. Las distintas instrucciones (todas ellas almacenadas en memoria principal) y los porcentajes de utilización de las mismas son los mostrados en la tabla, donde Acum. es el acumulador, M[dir] una posición de memoria principal, R es un registro interno y PC el contador de programa. LOAD Acum M[dir] 20% STORE M[dir] Acum 20% MOVE R Acum 20% Operaciones aritméticas Acum R operación aritmética Acum 35% Bifurcaciones PC Acum 5% Si las instrucciones LOAD y STORE ocupan dos palabras de memoria y el resto sólo una, el número medio de millones de accesos a memoria por segundo que se ejecutan en este computador es: A) 140 B) 100 C) 200 D) Ninguna de las anteriores

290 ETC2 - Examen septiembre Solución 1.- Del diagrama de estados se deduce que: c3 = S0 I + S3 s1 c = S s + S s Respuesta: D (Todas las afirmaciones son falsas) 2.- [Ver problemas 3-26 y 3-28 del libro de problemas]. Sin entrelazado la velocidad de transferencia sería: 16 sectores/pista 4 Kbytes/sector (6000/60) pistas/seg = 6400 Kbytes/seg. Con entrelazado simple, en cada vuelta lee la mitad de los sectores y, por lo tanto, la velocidad de transferencia es la mitad de la calculada antes: 3200 Kbytes/seg. Respuesta: A (3200 Kbytes/seg.) 3.- En la microprogramación vertical con un subcampo de j bits se pueden especificar 2j-1 señales de control (una de las codificaciones hay que reservarla para el caso en que ninguna señal de control esté activa). En el caso propuesto en el enunciado de la pregunta: Campos de 2 bits: 3 señales de control. Campos de 3 bits: 7 señales de control. Campos de 5 bits: 31 señales. Siendo el total: = 142 señales de control. Respuesta: D (Ninguna de las anteriores) 4.- [Ver la sección del texto base de teoría]. Si analizamos la secuencia de operaciones de desplazamiento propuesta, las 5 operaciones LICS se ven contrarrestadas por otras 5 operaciones LDCS. Por ello, la secuencia de desplazamientos del enunciado equivale a aplicar 7 operaciones LDCS sobre el número binario. El resultado es , que no coincide con ninguna de las respuestas propuestas. Respuesta: D (Ninguna de las anteriores) 5.- [Ver problemas 3-15 y 3-16 del libro de problemas]. I. DMA Transparente. El controlador de DMA hace uso del Bus en los ciclos en los que la UCP no lo utiliza. En la situación planteada en el enunciado, en promedio el controlador de DMA emplea 2 ciclos de cada 4 para efectuar transmisiones de datos. En cada uno de estos ciclos transfiere una palabra, es decir, 2 palabras cada 4 ciclos. La velocidad de transferencia resultante es: 10 8 (2/4) = palabras/seg. II. DMA por robo de ciclos. En este caso el controlador de DMA añade un ciclo cuando la UCP finaliza la ejecución de una instrucción, es decir, transfiere una palabra cada 4+1 = 5 cliclos de reloj. La velocidad de transferencia resultante es: 10 8 (1/5) = palabras/seg. Respuesta: A (I:sí, II:sí) 6.- [Ver problemas 5-1 y 5-4 del libro de problemas y el apartado del texto base de teoría]. Empleando la técnica de diseño de un elemento de memoria por estado y como el diagrama ASM posee 3 estados, serían necesarios 3 biestables J-K. Los biestables J-K se pueden emplear para reproducir el comportamiento de un biestable D [Ver apartado B.3.3 de apéndice B del texto base de teoría]. Respuesta: A (3)

291 4 Estructura y Tecnología de Computadores II 7.- [Ver problemas 2-10 y 2-11 del libro de problemas y el apartado del texto base de teoría]. Como la caché utiliza correspondencia directa, una dirección de memoria principal se compone de los campos etiqueta, bloque y palabra. Con la memoria caché propuesta, los 32 bits de dirección de memoria principal se descomponen en los siguientes campos: Campo palabra: 4 bits. La caché tiene bloques de 16 = 2 4 palabras. Campo bloque: 8 bits. La caché tiene 256 = 2 8 bloques. Campo etiqueta: 20 bits = 20 bits. ETIQUETA BLOQUE PALABRA 20 bits 8 bits 4 bits I. Las direcciones de Mp A y A se ubican en el bloque de la memoria caché. II. La dirección de Mp A se ubicará en el bloque = de la memoria caché. Respuesta: A (I:sí, II:sí) 8.- El computador ejecuta 100 millones de instrucciones por segundo. En el repertorio propuesto la ejecución de la instrucción MOVE, de las instrucciones arítmeticas y de las instrucciones de bifurcación, necesita un único acceso a memoria para la lectura de la propia instrucción. Sin embargo, las instrucciones LOAD y STORE, requieren de 2 accesos a memoria para la lectura de la instrucción y un acceso más para leer/escribir el operando. Por lo tanto, empleando los porcentajes de utilización de las instrucciones propuestos en la tabla del enunciado de la pregunta, el número de accesos promedio por instrucción es: (LOAD) (STORE) (MOVE) (Arit.) (Bif.) = 1.8 accesos/intruc.. Esto supone que el computador realiza: instruc./seg. 1.8 accesos/instruc. = accesos/seg. Respuesta: D (Ninguna de las anteriores) Cuestiones teórico-prácticas: 1.- Justificar el resultado de la pregunta 1 del test. 2.- Justificar el resultado de la pregunta 2 del test. 3.- Justificar el resultado de la pregunta 3 del test. Solución 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test.

292 ETC2 - Examen septiembre Problema: Se desea realizar una Unidad Aritmético Lógica (UAL) como la mostrada en la figura, con dos entradas de datos, X (x 1 x 0 ) e Y (y 1 y 0 ), que representan números enteros positivos sin signo, una entrada de control C (c 1 c 0 ) y una salida de datos R (r 3 r 2 r 1 r 0 ). 2 2 x 1 x 0 y 1 y 0 c 1 c 0 2 UAL r 3 r 2 r 1 r 0 El funcionamiento de la UAL viene descrito por la siguiente tabla: c 1 c 0 = 00 : resta R = X Y (R=0 si Y>X) c 1 c 0 = 01 : div. entera R = X / Y (cociente entero) si Y=0 R=0 c 1 c 0 = 10 : comparación Si X > Y entonces R = Si X = Y entonces R = Si X < Y entonces R = c 1 c 0 = 11 : sacar X, Y R = X Y ( r = x, r = x, r = y, r = ) Para resolver el problema, seguir obligatoriamente los siguientes apartados: A) (1 punto) Diseñar un comparador de números de dos bits., y 0 B) (2 puntos) Diseñar un restador/divisor de dos números de 2 bits utilizando únicamente un módulo de memoria ROM. Cuál es el tamaño necesario para este módulo de memoria ROM? Indique claramente el significado de cada una de sus entradas y cada una de sus salidas. Escriba todo el contenido de la memoria ROM en forma de tabla. C) (1 punto) Utilizando únicamente los módulos diseñados en los apartados anteriores, los módulos combinacionales necesarios y puertas lógicas, diseñe la UAL pedida. Solución A) El enunciado no propone ninguna técnica concreta para implementar el comparador de dos números de dos bits. Una forma de hacerlo consiste en emplear 2 comparadores de 1 bit. Si el resultado de la comparación de x e y es: M, I y m, se cumple que: M =1 si x > y I =1 si x = y m =1 si x < y La tabla de verdad que describe el funcionamiento del comparador de 2 bits se muestra en la Tabla 1.

293 6 Estructura y Tecnología de Computadores II x y M I m Tabla 1: Tabla de verdad de un comparador de 1 bit De la Tabla 1 se deducen las siguientes expresiones booleanas para M, I y m: M = x y I = x y + x y = x y + x y m = x y y el correspondiente circuito lógico (ver Figura 1). x M I y m Figura 1: Circuito lógico de un comparador de 1 bit Utilizando dos comparadores de este tipo con salidas M i, I i y m i se generan las salidas M, I y m del comparador de 2 bits mediante las siguientes funciones booleanas: M = M 1 + I 1 M 0 I = I 1 I 0 m = m 1 + I 1 m 0 La explicación de estas expresiones es inmediata: x > y si (x 1 > y 1 ) o ((x 1 = y 1 ) y (x 0 > y 0 )) x = y si (x 1 = y 1 ) y (x 0 = y 0 ) x < y si (x 1 < y 1 ) o ((x 1 = y 1 ) y (x 0 < y 0 )) La Figura 2 muestra el circuito lógico solicitado en este apartado obtenido a partir de las expresiones anteriores.

294 ETC2 - Examen septiembre x 1 y 1 x 0 y 0 x>y x=y x<y M 1 I 1 m 1 x>y x=y x<y M 0 I 0 m 0 x 1 x 0 y 1 y 0 Comparador M I m M I m Figura 2: Circuito lógico de un comparador de dos números de 2 bits B) Para calcular el tamaño de la memoria ROM necesaria hay que saber el número entradas y salidas del circuito. Entradas. Este circuito tiene 5 entradas: 2 para la entrada de datos X (x 1 x 0 ), 2 para la entrada de datos Y (y 1 y 0 ) y una entrada de control (c) para la selección de la operación a realizar por el circuito. Esta última entrada de control va a tener el siguiente significado: c = 0: resta c = 1: división entera Salidas: Este circuito tiene 2 salidas: el resultado de la diferencia y de la división entera de dos números de dos bits tiene tan sólo 2 bits. Por tanto, el tamaño de la memoria ROM necesario para implementar el sumador es de: 2 5 palabras 2 bits/palabra. El significado de cada una de sus entradas y salidas se muestra en la Figura 3. Finalmente, en la Tabla 2 se muestra el contenido completo que debería tener la memoria ROM 1. Para realizar esta tabla se ha tenido en cuenta que se trata de números enteros sin signo y las condiciones propuestas en la tabla del enunciado: Resta: R=X-Y (R=0 si Y>X) División entera: R=X/Y (Cociente entero) si Y=0 -> R=0 1. Para realizar esta tabla tan sólo se requiere tener claros los conceptos elementales de resta y de división entera, y no es necesario emplear nada de lo tratado en Sección 4.6: Divisores binarios del texto base de teoría, sección que no es materia de examen.

295 8 Estructura y Tecnología de Computadores II c A 4 x 1 x 0 y 1 A 3 A 2 A 1 ROM 32 palabras 2 bits x 1 x 0 y 1 y 0 Restador / Divisor c b 1 b 0 c y 0 A 0 b 1 b 0 Figura 3: Sumador/Multiplicador diseñado con memoria ROM Dirección memoria c x 1 x 0 y 1 y 0 Contenido Dirección memoria c x 1 x 0 y 1 y 0 Contenido A 4 A 3 A 2 A 1 A 0 b 1 b 0 A 4 A 3 A 2 A 1 A 0 b 1 b Tabla 2: Contenido de la memoria ROM C) En la Figura 4 se muestra el diseño de la UAL pedida en el problema donde se han utilizado 4 multiplexores para seleccionar el valor adecuado a colocar en la salida, gobernados por las entradas de control c 1 y c 0. También la entrada de control de la UAL c 0 se utiliza para seleccionar la operación a realizar por el Restador/Divisor.

296 ETC2 - Examen septiembre x 1 x 0 y 1 y 0 x 1 x 0 y 1 y 0 x 1 x 0 y 1 y 0 Comparador M I m Restador / Divisor b 1 b 0 c MUX MUX MUX MUX c 0 c 1 r 3 r 2 r 1 r 0 Figura 4: UAL pedida en el problema

297

298

299 ETC2 - SEPTIEMBRE 2004 A B C D E F G 1 D D D D C C C 2 A A A A B B B 3 D D D D B B B 4 D A D A C B C 5 A D A D A C A 6 A D D A B C B 7 A A A A C A C 8 D A A D B B B

300 .

301

302

303 Test 1.- El ciclo de instrucción de una máquina usa 4 ciclos de reloj para las instrucciones de operaciones entre registros (cálculo) y 8 ciclos para el resto de las instrucciones. Si la frecuencia de reloj del computador es 8x10 6 ciclos/s, I. Cuánto tardará en ejecutarse un programa de 1000 instrucciones en el que no hay instrucciones de salto y hay un 20% de instrucciones de cálculo? II. Cuántos millones de instrucciones por segundo se pueden ejecutar como máximo? A) I: 1000 µs, II: 1 B) I: 900 µs, II: 2 C) I: 450 µs, II: 10 D) Ninguna de las anteriores 2.- A continuación se muestra la tabla de estados del modelo de Huffman-Mealy de una unidad de control. Dicha unidad de control se implementa usando dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados siguiente: S0:{Q1=0,Q0=0}, S1:{Q1=0,Q0=1}, S2:{Q1=1,Q0=0} y S3:{Q1=1,Q0=1}. Indique si las siguientes afirmaciones, acerca de las funciones de entrada a los elementos de memoria, son correctas. (Nota: el biestable Di almacena Qi). Estado presente I s 0 S0 S0 S 1 S 3 Próximo estado I s I s 0 0 I s0 S0 S1 S1 S2 S3 S2 S 2 S3 S1 S3 S1 S3 S3 S 0 S3 S0 A) D1 = Q1 Q0 + Q1 s 0 B) D0 = Q0 s0 + Q0 ( s0 + I) C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas. 3.- Se desea diseñar un comparador de 2 números de 2 bits cada uno, A(a1,a0) y B(b1,b0), que genere las salidas M (= 1 si A > B, = 0 si A B), m (= 1 si A < B, = 0 si A B) e I (= 1 si A = B, =0 si A B), empleando una memoria ROM y una puerta NOR. La memoria ROM necesaria tiene un tamaño mínimo de: A) 2 4 palabras 3 bits/palabra B) 2 2 palabras 2 bits/palabra C) 2 4 palabras 2 bits/palabra D) Ninguna de las anteriores 4.- Un bus con arbitraje centralizado por encadenamiento (daisy-chaining) y con un único nivel de prioridad tiene conectados 4 dispositivos (d1, d2, d3, d4). El dispositivo d1 es el que se encuentra conectado más próximo al árbitro, a continuación está conectado d2, seguidamente d3 y finalmente d4. La fracción de la capacidad utilizada por los dispositivos d1, d2, d3 y d4 es 0.2, 0.35, 0.1 y 0.25 respectivamente. Indique cuál es la capacidad sobrante del dispositivo d3. (Nota: Se define la capacidad sobrante de un dispositivo como 1 menos la suma de las fracciones de las capacidades utilizadas por todos los dispositivos que tienen una prioridad superior). A) 0.75 B) 0.35 C) 0.45 D) Ninguna de las anteriores. 5.- El siguiente diagrama representa una memoria ARGUMENTO

304 asociativa y su contenido. A la vista de los valores de los registros argumento, máscara, etiqueta y marca, y del contenido de la memoria, en una operación de escritura en esta memoria, en qué palabra se escribiría el nuevo dato? A) Palabra 0 B) Palabra 1 C) Palabra 4 D) Ninguna de las anteriores MÁSCARA Palabra Palabra 1 1 ETIQUETA Palabra 2 0 MARCA Palabra Palabra En la figura se presenta un diagrama con el circuito de gestión de prioridades de un sistema de E/S (Prioridad P 0 >P 1 >P 2 >P 3 ). La expresión lógica que define INTR es: A) INTR = INTR3 + INTR2 + INTR1 + INTR0 B) INTR = INTR + INTR3 INTR + INTR2( INTR + INTR1 ) C) 0 D) Dos de las anteriores son ciertas. ( INTR INTR = INTR3 INTR 2 INTR1 INTR INTR 3 INTR 2 INTR 1 INTR 0 SISTEMA DE GESTIÓN DE INTERRUPCIONES INTA 3 INTA 2 INTA 1 INTA 0 INTR INTA CPU 7.- Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué operación calcula la secuencia de instrucciones: Load A; Add B; Add C; Mult D, Add A, Store R1, Mult R1, Div A, Store C. A) C = ((A+B+C)D+A) 2 /A B) C = (A+B+CD+A) 2 /A C) C = ((A+B+C)(D+A)) 2 /A D) Ninguna de las anteriores 8.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 50 bits. La parte de control del formato de una microinstrucción emplea 21 bits para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una de las 13 señales de condición posibles. Cuál es el tamaño máximo de la memoria de control? A) 2 50 B) 2 21 C) 2 23 D) Ninguna de las anteriores Solución: 1.- Afirmación I: De las 1000 instrucciones, el 20% son instrucciones de cálculo que emplean 4 ciclos en ejecutarse, por lo que el número de ciclos que necesita dicho 20% es de = 800 ciclos. El 80 % restante, 800, son instrucciones de 8 ciclos de duración, con lo que el número de ciclos necesarios para ejecutarlas son = 6400 ciclos. Si se suman los ciclos empleados por los dos tipos de instrucciones se obtiene el número de ciclos necesarios para ejecutar el programa, es decir, 7200 ciclos. Si la frecuencia del reloj es de ciclos/seg., el tiempo invertido por el programa en ejecutarse será de: 7200 ciclos 6 t p = = 900x10 seg. = 900 µ s 6 8x10 ciclos / seg. Afirmación II: Como interesa el número máximo de instrucciones a ejecutar se deben considerar aquellas que se ejecuten en menos ciclos de reloj, en este caso las instrucciones de cálculo. De esta forma el número máximo de instrucciones se puede calcular como: 6 8x10 ciclos / seg 6 Número máximo instrucciones = = 2x10 instr / seg. = 2 MIPS 4 ciclos / instr Respuesta: B (I: 900 µs, II: 2) 2.- La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado del texto de teoría. Realizando la asignación de estados indicada en el enunciado, se obtiene la tabla de transición de estados siguiente:

305 Las funciones de entrada a los elementos de memoria tipo D son las siguientes: Q1Q 0 Q1 D 1 = Q1Q0 + soq1 s o Q1Q 0 Q 0 s0 IQ0 D 0 = 1 ( Q I ) Q0so + Q0Q1 + Q0I = Q0so + Q0 + De esta forma la función D 1 mostrada en la respuesta A) es correcta mientras que la función D 0 mostrada en B) no lo es. Respuesta: A ( D1 = Q1 Q0 + Q1 s0) 3.- [Véase Problema 4-44 y el comentario del primer párrafo de la página 185 del libro de problemas]. Se pretende diseñar un comparador de números de dos bits, por lo que el número de palabras que debe poseer la ROM se corresponde con el número de combinaciones posibles de números de dos bits, es decir, 2 4 palabras. El ancho de palabra de la ROM se corresponde con el número de salidas que genera el comparador, es decir, tres: I (igual), M(mayor) y m(menor). Sin embargo la salida I se puede calcular a partir de las otras dos salidas, ya que se activará cuando el primer número comparado con el segundo no sean ni mayor (M=0) ni menor (m=0). De esta forma, la función lógica correspondiente a la salida I es I= M NOR m y por lo tanto se puede emplear la puerta NOR propuesta en el enunciado para minimizar el ancho de palabra de la ROM a 2 bits. De esta forma la ROM mínima necesaria tiene 4 entradas y 2 salidas, es decir, un tamaño de 2 4 palabras x 2 bits/palabra. Respuesta: C (2 4 palabras 2 bits/palabra) 4.- [Véase el problema 1-5 del libro de problemas, y la Sección del texto de teoría]. En este caso en un bus con arbitraje distribuido se debe tener en cuenta la prioridad definida para los dispositivos. Los dispositivos d 1 y d 2 tienen mayor prioridad que d 3. Por tanto, la capacidad sobrante de d 3 será: Respuesta: C (0.45) Cs 3 = = [Véase la página 102 del libro de teoría]. En una operación de escritura, se selecciona como dirección a almacenar la primera palabra que tenga su bit de etiqueta a 0, que en este caso es la palabra 1. Respuesta: B (Palabra 1) 6.- El diagrama de la figura representa un sistema de gestión de prioridades, que debe generar una entrada INTR al procesador. Puesto que se tienen cuatro interrupciones, se debe enviar una señal INTR a 1 cuando cualquiera de las INTR i (i=1..4) esté activa. De esta forma la función lógica asociada a INTR es la suma lógica de todas las INTR i :

306 INTR = INTR INTR2 + INTR1 INTR0 Por lo que la respuesta A es cierta. La respuesta B) también es cierta ya que aplicando implicación algebraica a la función propuesta en el enunciado se puede ver que es equivalente a la función lógica propuesta en A). INTR = INTR INTR = INTR 3 _ aplicando a + a xb = a + b INTR3( INTR + INTR3( INTR INTR + INTR ( INTR 0 1 ( INTR INTR = INTR3 + INTR3( INTR2 + ( INTR1 + INTR0 )) INTR = INTR3 + ( INTR2 + ( INTR1 + INTR0 )) INTR = INTR + INTR + INTR + INTR 1 + INTR + INTR 1 0 INTR También se puede comprobar generando la tabla de verdad de la función y simplificando mediante mapas de Karnaugh, obteniéndose idéntico resultado. La respuesta C) es falsa ya que si no hay activación de una de las INTR i el resto de peticiones quedan enmascaradas y por tanto no se transmite la petición de interrupción a la CPU. Por tanto la solución final es la D) Dos de las anteriores son ciertas. Respuesta: D (Dos de las anteriores son ciertas) 7.- [Véase el problema 6-5 del libro de problemas]. En el caso de un procesador con acumulador y un registro R1 las instrucciones propuestas en el enunciado realizan las operaciones mostradas en la siguiente tabla. Se muestra en dicha tabla la operación, su significado y el contenido del acumulador y el registro R1. Operación Acumulador R1 Significado Load A A Carga el contenido de la posición de memoria A en el acumulador Add B A+B Suma el contenido del acumulador con el contenido de la posición de memoria B y el resultado queda almacenado en el acumulador Add C A+B+C Suma el contenido del acumulador con el contenido de la posición de memoria C y el resultado queda almacenado en el acumulador Mult D (A+B+C)D Multiplica el contenido del acumulador con el contenido de la posición de memoria D y el resultado queda almacenado en el acumulador Add A (A+B+C)D+A Suma el contenido del acumulador con el contenido de la posición de memoria A y el resultado queda almacenado en el acumulador Store R1 (A+B+C)D+A (A+B+C)D+A Mueve el contenido del acumulador al registro R1 Mult R1 ((A+B+C)D+A) 2 (A+B+C)D+A Multiplica el contenido del acumulador con el contenido de R1 y el resultado queda almacenado en el acumulador Div A ((A+B+C)D+A) 2 /A (A+B+C)D+A Divide el contenido del acumulador entre el contenido de la posición de memoria A y el resultado queda almacenado en el acumulador Store C ((A+B+C)D+A) 2 /A (A+B+C)D+A Se almacena el contenido del acumulador en la posición de memoria C La última operación almacena en C el valor ((A+B+C)D+A) 2 /A, por lo que la solución de la pregunta es la A. Respuesta: A (C= ((A+B+C)D+A) 2 /A) 8.- [Véase el Problema 7.2 del libro de problemas]. La micro-instrucción tiene 50 bits de longitud, de los cuales 21 bits se emplean para seleccionar las micro-operaciones y 2 bits se usan para codificar el tipo de bifurcación. Para la selección de la condición se emplea un solo campo que elegirá una de las 13 posibles señales de condición, con lo que se necesitan 4 )) 0 ), 1 La información contenida en el registro R1 no es relevante.

307 bits (2 4 =16>13) para el campo de selección de condición. Por lo tanto para el campo Dirección quedan disponibles =23 bits. De esta forma el tamaño máximo de la memoria de control es 2 23 palabras. Respuesta: C (2 23 ) Cuestiones teórico-prácticas Cuestión 1 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Una memoria caché con correspondencia directa consta de 128 bloques. La memoria principal contiene 16K bloques con 16 palabras/bloque. El tiempo de acceso de la memoria caché es de 10 ns y el tiempo requerido para llenar un bloque de la memoria caché es de 200 ns. Cuando una palabra a la que se desea acceder no se encuentra en la memoria caché, en primer lugar se trae el bloque entero desde la memoria principal a la memoria caché y a continuación se accede a la palabra desde la caché. Inicialmente la memoria caché está vacía. Se pide: a) (1 punto) Dar el formato de la dirección de memoria. b) (2 puntos) Calcular la tasa de acierto para un programa que realiza 10 veces un bucle que va desde las posiciones de memoria 15 a 200. c) (1 punto) Calcular el tiempo de acceso efectivo o medio para este programa. Solución a) La memoria caché tiene una correspondencia directa por lo que la dirección de memoria principal está divida en tres campos: Etiqueta, Bloque y Palabra. Por lo tanto es necesario calcular la longitud en bits de estos campos, para ello necesitamos: palabras/bloque = 16 nº de bits del campo de palabra p = 4. tamaño de la memoria principal M p = 16K bloques 16 palabras/bloque = 256K palabras = 2 18 palabras nº de bits para direccionar M p es n = 18. nº de bloques de la memoria caché = 128 = 2 7 nº de bits del campo de bloque es b = 7. nº de bits del campo etiqueta e = n - p - b = = 7 b) De los datos del enunciado se conoce el número de accesos por bucle ( ) = 186 y se realizan en un bucle de 10 iteraciones, por lo que el número global de accesos es = 1860 accesos. En la Tabla siguiente se muestra la correspondencia entre direcciones de comienzo de bloque de la Mp, los accesos del bucle, y el bloque que le corresponde en Mc. Se puede observar en dicha tabla que, cómo la Mc tiene 128 bloques, en la ejecución del programa sólo se emplean los 13 primeros, con lo que no se producirán reemplazamientos de bloques una vez ejecutada la primera iteración y en el resto se encontrarán todas las referencias cargadas en Mc. Por lo tanto, para calcular la tasa de aciertos se necesita saber el número de fallos que se producen en la primera iteración.

308 Dirección bloque Mp (decimal) Campo Etiqueta (binario) Bloque caché (decimal) En el primer acceso, la dirección 15 de Mp, se produce un fallo y se traerá el bloque 0 de Mp a Mc. El siguiente acceso a la dirección 16 de Mp producirá un nuevo fallo, por lo que se traerá el bloque 1 a Mc. Los siguientes quince accesos del bloque 1 se encontrarán en caché por lo que no se producirán fallos hasta la dirección 32. A partir de las direcciones 32 hasta la 192 se producirán fallos al acceder al comienzo de cada bloque, en concreto 11 fallos, y 15 aciertos por bloque exceptuando el último, el bloque 12, que sólo producirá 8 aciertos (se lee hasta la dirección 200). De esta forma se producen 13 fallos y 173 aciertos en la primera iteración. En el resto de iteraciones, al estar cargados todos los bloques en Mc, no habrá fallos y por tanto se producirán 186x9= 1674 aciertos. Contabilizando el número de aciertos de la primera iteración (173) más los del resto de iteraciones (1674) se obtiene un total de 1847 aciertos en la ejecución del bucle. Para calcular la tasa de aciertos aplicamos la fórmula: número de aciertos 1847 h = x100 = x100 = 99,3 número de accesos 1860 c) Para calcular el tiempo de acceso medio t a se debe aplicar la formula 2.1 (página 79 del libro de teoría): t = ht + ( 1 h) t a caché fallo dónde: h es la tasa de aciertos (0.993) t caché es el tiempo de acceso a memoria caché (10 ns) t fallo es el tiempo invertido en gestionar un fallo. En este caso se dice que se trae el bloque de memoria principal a memoria caché (200 ns) y se lee luego el dato de la memoria caché (10 ns) con lo que se obtiene t a = 0.993x10 + ( )( ) ns = ns = ns También se puede calcular el tiempo de acceso medio como número aciertos tcaché + número fallos t ta = número accesos t a = ns = ns 1860 fallo

309

310

311 Test 1.- Un computador posee 4 módulos de memoria RAM y un único módulo de memoria ROM. Todos ellos tienen una longitud de palabra de 8 bits. El bus de direcciones de la memoria tiene 16 bits. El mapa de direcciones de la memoria del computador es el mostrado en la tabla adjunta. Indique si son correctas las dos afirmaciones siguientes: Componente RAM 1 RAM 2 RAM 3 RAM 4 ROM Dirección hexadecimal F FF F FF FF I. Cada módulo de memoria RAM tiene 128 palabras. II. El módulo de memoria ROM tiene 512 palabras. A) I: sí, II: sí B) I: sí, II: no C) I: no, II: sí D) I: no, II: no 2.- Un computador tiene una unidad de memoria de 256 palabras y una memoria caché de 32 palabras. La memoria caché es totalmente asociativa, con un tamaño de bloque de 8 palabras. Cuando se produce un fallo en la caché se reemplaza el bloque más antiguo. Suponer que inicialmente la memoria caché está vacía y que se leen sucesivamente las direcciones de memoria principal: , , , , , , y Si se leyera la dirección I. Se produciría un acierto en la memoria caché. II. Se produciría un fallo en la memoria caché y sería necesario reemplazar uno de los bloques existentes en la caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- Se desea diseñar un circuito combinacional, que sea un sumador de 11 números de 1 bit de longitud, utilizando únicamente módulos SBC. Cuál es el número mínimo de módulos SBC necesarios? A) 8 B) 11 C) 1 D) Ninguna de las anteriores 4.- Un computador dispone de un canal multiplexor que controla 5 unidades de disco y 10 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg, y las de cinta de bytes/seg. Si para la transferencia de un byte del canal multiplexor a memoria principal se utiliza el bus del sistema durante 200 nseg. Cuál es la velocidad máxima de transferencia de E/S agregada en este sistema? A) bytes/seg B) bytes/seg C) 10 6 bytes/seg D) Ninguna de las anteriores 5.- En el diseño de una Unidad de Control de 20 estados con una memoria ROM, un registro y un multiplexor, empleando el método de selección por campo, es necesario que el registro tenga una capacidad de: A) 5 bits B) 6 bits C) Faltan datos para calcularlo D) Ninguna de las anteriores

312 6.- En un procesador con instrucciones de cero direcciones, indicar cuantos accesos a memoria principal se necesitan para completar la secuencia Y = Y(X+Z). Para el cálculo de accesos a memoria se supondrá que el ancho de palabra es suficiente para que cada instrucción ocupe una única palabra de memoria. También se supondrá que la pila es cableada. A) 20 B) 8 C) 13 D) Ninguna de las anteriores. 7.- Un computador tiene un formato de instrucciones de 20 bits, donde los 6 más significativos (I 19,I 18,..,I 14 ) son el código de operación y el resto (I 13,I 12,..,I 0 ) hacen referencia a los operandos. La Unidad de Control Microprogramada que implementa el repertorio de instrucciones del computador asigna 16 palabras consecutivas de la memoria de control para el microprograma de cada una de estas instrucciones. A partir de una instrucción máquina, indicar una salida posible de la lógica de transformación de RI en RDC para acceder directamente al comienzo de cada microprograma. A) I 19 I 18 I 14 B) I 19 I 18 I C) I 13 I 12 I D) Ninguna de las anteriores 8.- La suma de X= e Y= , representados en complemento a 1, es: A) B) C) D) Ninguna de las anteriores Solución: 1.- [Véase problema 2-6] El formato de direcciones, que se obtiene a partir del mapa de direcciones que se muestra en el enunciado, es: A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 RAM X X X X X X X RAM X X X X X X X RAM X X X X X X X RAM X X X X X X X ROM 1 X X X X X X X X X A la vista de la tabla anterior, se comprueba que todas las direcciones en las que A 9 = 0 son direcciones RAM, mientras que cuando A 9 = 1 son de ROM. En el caso de direcciones de memoria RAM, A 8 y A 7 seleccionan uno de los módulos de RAM. En el caso de la RAM, A 6 -A 0 direccionan una palabra dentro del módulo seleccionado por las líneas de más peso, mientras que en el caso de la ROM se utilizan A 8 -A 0 para el direccionamiento dentro del módulo. Por lo tanto hay 2 7 = 128 palabras en cada módulo RAM y 2 9 = 512 palabras en el módulo ROM. Esto mismo se puede deducir fácilmente a partir del cálculo de las direcciones en decimal. Componente Dirección hexadecimal Dirección en decimal RAM F RAM FF RAM F RAM FF ROM FF Respuesta: A (I: sí, II: sí) 2.- La caché tiene 32 / 8 = 4 bloques. Una dirección de memoria principal se descompone como: etiqueta (5) + palabra (3). De este modo, la caché se llena de la manera siguiente: Dirección : Bloque 0, etiqueta Dirección : Bloque 0, etiqueta Dirección : Bloque 0, etiqueta Dirección : Bloque 1, etiqueta Dirección : Bloque 1, etiqueta Dirección : Bloque 2, etiqueta Dirección : Bloque 2, etiqueta Dirección : Bloque 0, etiqueta Por tanto, la dirección se encuentra en el bloque 1. La afirmación I es verdadera y la II es falsa. Obsérvese que la caché no se ha llenado y que por lo tanto no ha sido necesario realizar ninguna operación de reemplazamiento. Respuesta: B (I: sí; II: no)

313 3.- [Véase problema 4-13]. Se define un contador paralelo CP(p;d) como un circuito combinacional con d salidas y p (2 d -1) entradas, donde el número binario representado por las d salidas es igual al número de unos presentes en las entradas. Teniendo en cuenta esta definición, el objetivo es sintetizar un CP(11;4) (ver Figura 1), utilizando como componente básico elemental un CP(3;2) (ver Figura 2). El contador paralelo (3;2) corresponde a un SBC. En la Figura 3 se muestra la síntesis del contador paralelo CP(11;4) con contadores paralelos CP(3;2). La estructura del circuito correspondiente se da en la Figura 4. x 0 x 1 x 2 CP(11;4) s 0 s 1 s 2 x 0 x 1 x 2 CP(3;2) SBC s c x 9 s 3 Figura 1: Diagrama funcional Figura 2: Módulo SBC y diagrama de puntos Figura 3: Organización de sumadores utilizando notación de puntos

314 x 0 x 1 SBC 1 s c x 2 s s SBC SBC s 0 4 c x 9 6 c x 10 x 3 SBC s x 4 2 c s x 5 s SBC 7 c s 1 x 6 SBC s SBC 5 c s SBC s 2 x 7 3 c 8 c s 3 x 8 Figura 4: Estructura del circuito Como se puede observar en las Figuras 3 y 4 son necesarios 8 SBC como mínimo. Respuesta: A 4.- [Véase el apartado del texto base de teoría y el problema 3.25]. El canal multiplexor es capaz de atender a varios dispositivos simultáneamente. La máxima velocidad agregada se logrará cuando todos ellos estén transmitiendo. En este caso, la máxima velocidad de transferencia sería: 5x x2x10 5 =7x10 6 bytes/segundo. Ahora bien, si para transferir un byte hacen falta 200 ns = 200 x 10-9 s, en un segundo sólo se podrá transferir un máximo de (1 s) / (200 x 10-9 s/byte) = (1/200) x 10 9 bytes = 5 x 10 6 bytes, en lugar de los 7x10 6 bytes/segundo que cabría esperar. Por lo tanto, el bus no es capaz de proporcionar el ancho de banda suficiente. Es decir, la máxima velocidad agregada viene dada por la limitación en la velocidad de transferencia entre el canal multiplexor y la memoria. Respuesta: B 5.- [Véanse el Problema 5.22 y el apartado del texto base de teoría]. El registro almacena el estado y unos bits adicionales para seleccionar la(s) condicion(es). Falta saber cuántas variables de condición hay. Respuesta: C 6.- [Véase el Problema 6.4 y el apartado del texto de teoría] En el caso de un procesador de cero direcciones el cálculo de la expresión dada se puede realizar mediante uno de los conjuntos de 6 instrucciones siguientes: I. Push[X]; Push[Z]; Add; Push[Y]; Mult; Pop[Y] II. Push[Y]; Push[X]; Push[Z]; Add; Mult; Pop[X] Puesto que la pila está realizada en hardware (cableada) y no está simulada en una memoria RAM (ver apartado del texto de teoría), entonces serán necesarios 6 accesos a memoria para leer el código de operación de cada instrucción; además en el caso de las instrucciones Push y Pop se necesita un acceso adicional a memoria para acceder a los operandos, ya que las operaciones aritméticas se realizan con operandos que se encuentran ya en la pila. En total son 6 instrucciones, tres de las cuales son Push y una Pop: = 10 accesos. Respuesta: D

315 7.- [Véase Problema 7-3] Los 6 bits del código de operación sirven para identificar un máximo de 2 6 =64 instrucciones máquina diferentes. Asignando a cada código de operación la dirección I 19 I 18 I se cumple el requisito de que el comienzo de cada microprograma esté separado por 16 palabras. Respuesta: B 8.- Esta pregunta se puede resolver de varias formas, pero como lo que interesa es el resultado de la operación, un método sencillo es pasar los dos números de complemento a 1 a decimal, realizar la operación en decimal y, finalmente, convertir de nuevo el resultado a complemento a 1. En complemento a 1, la representación de un número negativo se obtiene invirtiendo los bits en su representación binaria; esto es, los 0 s se cambian por 1 s y los 1 s por 0 s. El bit situado más a la izquierda indica el signo del número, que es 0 si el número es positivo y 1 si es negativo. X = C1 X = Y = C1 Y = X+Y = X+Y = C1 Otra forma de resolverlo es sumar los dos números y el acarreo volverlo a sumar, puesto que en este caso los dos números X e Y tienen distinto signo [Véase el Problema 4.6]. Respuesta: B Cuestiones teórico-prácticas Cuestión 1 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Un disco magnético tiene dos superficies. El área de almacenamiento en cada superficie tiene un radio interior de 1 cm y un radio exterior de 5 cm. Si bien el tamaño de cada pista es diferente, cada una de ellas almacena el mismo número de bits. La densidad de almacenamiento máximo que soporta este disco es de bits/cm. El espaciado entre puntos correspondientes en pistas adyacentes es de 0.1 mm lo que incluye además, el espaciado entre pistas. Supóngase despreciable el espaciado entre sectores. Se pide: a) (2.5 puntos) Cuál es el máximo número de bits que se puede almacenar en el disco? b) (1.5 puntos) Suponiendo que el disco tiene la capacidad de almacenamiento anteriormente calculada, cuál es la velocidad de transferencia de datos desde el disco a la cabeza de lectura/escritura en bits/seg si el disco gira con una velocidad de rotación de 3600 rpm? Para realizar este cálculo suponga que el disco no tiene entrelazado y que en un determinado instante sólo se puede acceder a una de las superficies del disco. Solución Este problema es similar al Problema 3.26, que se encuentra resuelto en el texto de problemas. Asimismo, los conceptos para resolver el problema planteado en el examen están expuestos en el Apartado del texto de teoría. a) Desde el punto de vista del almacenamiento de la información, se considera que cada superficie del disco está constituida por un conjunto de pistas (ver la Figura 1), a lo largo de las cuales se va almacenando la información con una densidad lineal de almacenamiento de bits/cm.

316 Figura 1: Superficie de un disco magnético constituido por pistas y sectores Cada pista del disco magnético se divide en sectores (ver la Figura 1). Como el enunciado indica explícitamente que se supone despreciable el espaciado que hay entre los sectores, no hay que considerar en lo que sigue la subdivisión de las pistas en sectores, y por lo tanto, la información se distribuye regularmente a lo largo de cada pista con la densidad lineal dada. Los pasos a seguir para el cálculo de la capacidad son los siguientes: 1. Número de pistas que contiene cada superficie. Para calcular este número se dispone de la anchura de la zona de almacenamiento (ver Figura 2), que es r2 - r1 = 4 cm / superficie = 40 mm / superficie, y del espaciado entre pistas adyacentes, que es 0.1 mm (lo que equivale a 10 pistas/mm). Número de pistas de almacenamiento: 40 mm / superficie 10 pistas / mm = 400 pistas / superficie (se ha dado por buena tanto la respuesta 401 pistas / superficie como 400 pistas / superficie) 2. El enunciado señala que cada pista contiene el mismo número de bits. La pista más interna tiene la menor capacidad de almacenamiento, así pues todas las pistas no almacenarán más datos que la pista más interna. El número de bits que almacena dicha pista es: bits / cm 2 π 1 cm / pista = π bits / pista = bits / pista 3. El almacenamiento por superficie es: bits / pista 400 pistas / superficie = 8 π 10 6 bits / superficie = 25, bits / superficie 4. El almacenamiento en el disco es: 2 superficies / disco 25, bits / superficie = 16 π 10 6 bits / disco = 50,26 Mbits / disco Figura 2: Zona de almacenamiento de la superficie del disco magnético del problema b) En el segundo apartado del problema, se pregunta cuál es la velocidad de transferencia de datos desde el disco a la cabeza de lectura/escritura en bits/seg. El disco gira con una velocidad de rotación de 3600 rpm, que es equivalente a 60 rps. La velocidad de transferencia es igual al número de bits que hay en una pista (P = bits / pista) multiplicado por la velocidad de rotación en rps (f = 60 rps). V t = P f = π 60 = = 3,77 Mbits/seg

317 ETC2 - JUNIO 2005 A B C D E F G H 1: B B B B A A A A 2: A A A A B B B B 3: C C C C A A A A 4: C B D A B C D B 5: B D A C C D B B 6: D A C C D B B B 7: A C C B B B B C 8: C C B D B B C D

318 .

319

320

321 Test 1.- Considérese una memoria caché asociativa por conjuntos, con 4 bloques por conjunto. En ella se aplica el algoritmo de reemplazamiento LRU, modificado para evitar el rebosamiento de los contadores. A cada bloque del conjunto se le asocia un contador de 2 bits. Los cuatro contadores de dos bits son C 0, C 1, C 2 y C 3. En la tabla adjunta se muestra el valor de los contadores al realizar la inicialización y tres determinados accesos. Indique cuál es el valor de los contadores (X 0 X 1 X 2 X 3 ) una vez realizado el acceso número 4. Nº acceso Acierto/Fallo C 0 C 1 C 2 C 3 Acciones Inicialización 1 Fallo Bloque 0 rellenado 2 Fallo Bloque 1 rellenado 3 Acierto Bloque 1 accedido 4 Acierto X 0 X 1 X 2 X 3 Bloque 0 accedido A) B) C) D) Ninguna de las anteriores. 2.- Considere un codificador de prioridad con 4 entradas (I 0, I 1, I 2, I 3 ) y 3 salidas (S 0, S 1, PI) cuyo funcionamiento viene descrito por la tabla de la verdad adjunta. Indique cuál de las afirmaciones siguientes es correcta. I 0 I 1 I 2 I 3 S 0 S 1 PI 1 X X X X X X X X 0 A) S0 = I0 + I1 B) S1 = I0 + I2 I1 C) Las dos anteriores son correctas. D) Ninguna de las anteriores. 3.- La Unidad de Control microprogramada de un computador tiene un tamaño de microinstrucción de 42 bits. La parte de control del formato de una microinstrucción emplea 20 bits para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de condición de las 16 señales disponibles. Cuál es el tamaño máximo de la memoria de control? A) 2 16 B) 2 20 C) 2 42 D) Ninguna de las anteriores 4.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia transparente. Cuando la CPU dispone en exclusiva del bus las instrucciones emplean, en promedio, 4 ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no se requiere el acceso al bus. El controlador de DMA tarda 1 ciclo de reloj en transmitir una palabra. Si la frecuencia de reloj del computador es de 10 6 ciclos/seg, cuánto tiempo tardará el controlador de DMA en mover un bloque de datos compuesto por 10 6 palabras? A) 0.1 seg. B) 1 seg. C) 10 seg. D) Ninguna de las anteriores. 5.- Un circuito de comparación secuencial que permita comparar dos números binarios de 8 bits de forma serie, si se diseña empleando biestables Tipo D. Cuál es el número mínimo de biestables Tipo D necesarios?. A) 1 B) 2 C) 3 D) Ninguna de las anteriores 6.- En el diseño de una Unidad de Control de 32 estados con una memoria ROM, un registro y un multiplexor, empleando

322 el método de selección por campo, y siendo posible consultar en cada estado una única condición de las 10 existentes, es necesario que el registro tenga una capacidad de: A) 5 bits B) 10 bits C) Faltan datos para calcularlo D) Ninguna de las anteriores 7.- Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué operación calcula la secuencia de instrucciones: Load A; Add B; Mult D, Add A, Store R1, Mult R1, Mult R1; Mult A; Div B; Add A; Store C. A) C=((((A+B)D+A) 3 A)/B) + A B) C=(((A+B)D+A) 3 A)/(B + A) C) C=((((A+B)(D+A)) 3 A)/B) + A D) Ninguna de las anteriores 8.- Indique cuál es el resultado de la suma de los dos números siguientes, X 1 y X 2, que están expresados en código BCD. X 1 = , X 2 = A) B) C) D) Ninguna de las anteriores. Solución: 1.- [Véase la Sección del texto de teoría] En las memorias caché de tipo asociativo es necesario utilizar un algoritmo de reemplazamiento, para determinar qué bloque se debe sustituir cuando un nuevo bloque se transfiere a la memoria caché. En este caso, el algoritmo de reemplazamiento que se utiliza es el LRU. En este algoritmo el bloque que se sustituye es aquel que no se ha referenciado durante un periodo de tiempo más largo. En el acceso número 4 ocurre un acierto. En caso de acierto, el contador asociado a ese bloque se inicializa a cero. Todos los contadores que tienen un valor más pequeño que el que tenía el contador del bloque accedido se incrementan en uno. Todos los contadores que tienen un valor mayor que el que tenía el contador del bloque accedido no se modifican. De esta manera, cuando se accede al bloque 0, el contador de ese bloque se pone a cero: X 0 = 0. Todos los contadores que tenían un valor más pequeño que el que tenía el contador del bloque accedido se incrementan en uno: X 1 = 1. Todos los contadores que tienen un valor mayor que el que tenía el contador del bloque accedido no se modifican: X 2 = X 3 = 2. Respuesta: B 2.- Esta pregunta está basada en el apartado Identificación de la fuente de interrupción mediante hardware paralelo, que se encuentra en la Sección del texto de teoría. En el enunciado se da la tabla de verdad del codificador de prioridad de 4 entradas. Las x s de la tabla representan que el valor puede ser indistintamente 0 ó 1. Obsérvese que PI se pone a 1 cuando una o más entradas valen 1. Si todas las entradas son 0 s entonces PI=0 y las otras salidas del codificador no se usan (por lo que están marcadas en la tabla con x s). En la siguiente figura se muestran los diagramas de Karnaugh que simplifican las salidas. I 2 I 3 I 2 I 3 I 0 I I 0 I Respuesta: C S + 0 = I 0 I1 S + 1 = I 0 I 2 I1 3.- [Véase el Problema 7.2 del libro de problemas]. La microinstrucción tiene 42 bits de longitud, de los cuales 20 bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 4 (2 4 =16) para seleccionar una única señal de condición. Por lo tanto, para la dirección quedan disponibles =16 bits. De esta forma, el tamaño máximo de la memoria de control es 2 16 palabras. Respuesta: A 4.- [Véase la Sección 3-5 del texto base de teoría]. El controlador de DMA aprovecha los dos ciclos de reloj en los que la CPU no utiliza el bus cuando ejecuta una instrucción, para transmitir una palabra. Por tanto, en los 4 ciclos de reloj que tarda la CPU en ejecutar una instrucción, el controlador de DMA transmite 2 palabras. La velocidad de transferencia

323 resultante, si el reloj del computador tiene una frecuencia de 10 6 ciclos/seg, es de: (10 6 ciclos/seg) (2/4 palabras/ciclo) = 0, palabras/seg Con esta velocidad de transferencia, para mover un bloque de 10 6 palabras el controlador de DMA tardará: (10 6 palabras) / (0, palabras/seg)= 2 seg Respuesta: D 5.- [Véase el Problema 4-42]. El circuito secuencial que indica el enunciado posee dos entradas x e y y una salida z y se representa en la siguiente figura: x 0..x 6 x 7 y 0..y 6 y 7 Comparador secuencial M I m Los conjuntos de entrada y salida son respectivamente: Comparador secuencial de dos números de 8 bits X ={0, 1}, Y = {0, 1} Z = {M, I, m} Donde M = Mayor, I = Igual y m = menor. El comparador recibe los bits x i e y i de forma serie, comenzando por los más significativos (i=7,6,, 0). El diagrama de estados del comparador secuencial se muestra en la figura siguiente: 11/I 10/M Mayor xx/m Igual Inicio 00/I 01/m La tabla de estados correspondiente al comparador secuencial es: Menor xx/m Estado Entrada x i y i Presente Mayor Mayor/M Mayor/M Mayor/M Mayor/M Igual Igual/I Menor/m Mayor/M Igual/I Menor Menor/m Menor/m Menor/m Menor/m Próximo Estado/Salida Se necesitan dos variables de estado (2 2 = 4 estados) para la representación de los tres estados del comparador. Por lo tanto como mínimo se necesitan dos biestables. Respuesta: B 6.- [Véanse los problemas 5-10 y 5-22, o la página 311 del texto de teoría]. El registro almacena el estado y unos bits adicionales para seleccionar la(s) condicion(es). Para codificar el estado hacen falta 5 bits (2 5 =32). Para seleccionar la condición son necesarios otros 4 bits (2 4 =16>10). Por lo tanto, el registro tiene que tener 5+4=9 bits. Respuesta: D 7.- [Véase el problema 6-5 del libro de problemas]. En el caso de un procesador con acumulador y un registro R1 las instrucciones propuestas en el enunciado realizan las operaciones mostradas en la siguiente tabla. Se muestra en dicha tabla la operación, su significado y el contenido del acumulador y del registro R1.

324 Operación Acumulador R1 Significado Load A A Carga el contenido de la posición de memoria A en el acumulador Add B A+B Suma el contenido del acumulador con el contenido de la posición de memoria B y el resultado queda almacenado en el acumulador Mult D (A+B)D Multiplica el contenido del acumulador con el contenido de la posición de memoria D y el resultado queda almacenado en el acumulador Add A (A+B)D+A Suma el contenido del acumulador con el contenido de la posición de memoria A y el resultado queda almacenado en el acumulador Store R1 (A+B)D+A (A+B)D+A Mueve el contenido del acumulador al registro R1 Mult R1 ((A+B)D+A) 2 (A+B)D+A Multiplica el contenido del acumulador con el contenido de R1 y el resultado queda almacenado en el acumulador Mult R1 ((A+B)D+A) 3 (A+B)D+A Multiplica el contenido del acumulador con el contenido de R1 y el resultado queda almacenado en el acumulador Mult A ((A+B)D+A) 3 A (A+B)D+A Multiplica el contenido del acumulador con el contenido de la posición de memoria A y el resultado queda almacenado en el acumulador Div B (((A+B)D+A) 3 A)/B (A+B)D+A Divide el contenido del acumulador con el contenido de la posición de memoria B y el resultado queda almacenado en el acumulador Add A ((((A+B)D+A) 3 A)/B)+A (A+B)D+A Suma el contenido del acumulador con el contenido de la posición de memoria A y el resultado queda almacenado en el acumulador Store C ((((A+B)D+A) 3 A)/B)+A (A+B)D+A Se almacena el contenido del acumulador a la posición de memoria C La última operación almacena en C el valor((((a+b)d+a) 3 A)/B) + A, por lo que la solución de la pregunta es la A. Respuesta: C=((((A+B)D+A) 3 A)/B) + A 8.- Esta pregunta está basada en las explicaciones de la Sección 4.3 del texto de teoría. La manera más sencilla de obtener la solución es pasar ambos números a decimal. Para ello se agrupan los bits de cuatro en cuatro: X 1 = = 331, X 2 = = 549. Su suma es 880, cuya representación en código BCD es: Respuesta: A Cuestiones teórico-prácticas Cuestión 1 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica): Una memoria caché con correspondencia totalmente asociativa tiene 16 bloques con 8 palabras/bloque. El tamaño de la memoria principal es 2 16 palabras y la caché está inicialmente vacía. El tiempo de acceso de la caché es de 40 ns y el tiempo requerido para transferir 8 palabras entre la memoria principal y la memoria caché es de 1 µs. Se pide: 1 La información contenido en el registro R1 no es relevante.

325 A) (0,5 puntos) Dar el formato de la dirección de memoria. B) (2,5 puntos) Calcular la tasa de acierto para un programa que ejecuta las instrucciones que están localizadas desde las posiciones de memoria que van de la 20 a la 45 y luego efectúa cuatro veces un bucle entre las posiciones de memoria 28 a 45 antes de parar. Supóngase que cuando hay un fallo, el bloque de la memoria caché se carga en 1 µs y la primera palabra no la ve la CPU hasta que se ha cargado todo el bloque entero en la memoria caché. C) (1 punto) Calcular el tiempo de acceso efectivo o medio para este programa. Solución a) El número de bloques en memoria principal es de 2 16 /8 = Por lo tanto, el campo etiqueta tiene 13 bits y el campo palabra 3 bits. Dirección M p Etiqueta = 13 Palabra = 3 b) Las direcciones de memoria que van desde la 20 a la 45 se encuentran localizadas en cuatro bloques (2, 3, 4 y 5) diferentes de la memoria principal, tal y como se muestra en la siguiente tabla. Debido a que la memoria caché es asociativa, cuando se referencie la primera dirección (20) se almacenará el bloque 2 en cualquier bloque no usado de M caché y se producirá un fallo. Lo mismo ocurrirá con las direcciones 24 (bloque 3), 32 (bloque 4) y 40 (bloque 5). Se habrán ocupado 4 de los 2 13 bloques posible y en las siguientes cuatro iteraciones ya no se producirán más fallos. Por lo tanto, en toda la ejecución ocurrirán cuatro fallos. Número de bloque Mp Direcciones El número total de accesos es: Primera iteración : = 26 Resto de iteraciones: ( ) x 4 = 72 98, de los cuales 94 aciertos y 4 son fallos. Por tanto, la tasa de acierto es: h = 94/98 = 95.9 %. c) Cuando se produce un fallo primero se mueve el bloque de memoria principal a memoria caché (1 µs = 1000 ns) y luego se lee la palabra de memoria caché (40 ns). Por tanto, en un fallo la CPU tarda en disponer de la palabra solicitada un total de 1040 ns. El tiempo de acceso total para todo el programa es: 4 fallos 1040 ns/fallos + 94 aciertos 40 ns/aciertos = 7920 ns. El tiempo de acceso medio para este programa es t a = 7920/98 = 80,82 ns.

326 .

327

328

329 TABLA DE MODELOS DEL EXAMEN DE SEPTIEMBRE-05-ETC2 A B C D E F G H J 1 B B B B B B B B A 2 C C C C D D D D D 3 A A A A C C C C A 4 D A A D B A D B D 5 B D A A A B A A D 6 D B D A A A B A B 7 A D B D D A A D B 8 A A D B A D A A B

330 .

331

332

333 Test 1.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique si las siguientes afirmaciones son verdaderas: I s1 s1/c1,c3 S0 S1 S2 s0/c2 I/c0 s0/c1 I. La unidad de control se puede implementar usando un registro de 2 bits y una memoria ROM de 2 5 palabras, con 6 bits por palabra. II. La unidad de control se puede implementar usando un MUX (2 2 ), un registro de 2 bits y una memoria ROM de 2 3 palabras, con 6 bits por palabra. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 2.- Se tiene un sistema con una memoria principal de 256 Kpalabras y una memoria caché de 32 Kpalabras con bloques de 16 palabras, siendo el tamaño de la palabra de 2 bytes. Se sabe que el sistema de memoria caché tiene asignada una función de correspondencia de tipo directo. Indicar cuál de las siguientes direcciones provocaría un reemplazamiento del bloque de memoria caché ocupado por el bloque de memoria principal asociado a la dirección A) B) C) D) Ninguna de las anteriores 3.- La memoria de un ordenador consta de 20 módulos independientes conectados a un bus de memoria común. En una operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación y durante un 12,5% del tiempo total del ciclo de escritura. El 87,5 % del tiempo de ciclo de escritura restante el módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse, en cuánto se ve incrementada la velocidad máxima de almacenamiento de la memoria del ordenador en relación a la velocidad de un único módulo? A) 10 veces B) 5 veces C) Nada D) Ninguna de las anteriores 4.- Considere una CPU en la que tanto las instrucciones como los datos tienen una longitud de 12 bits. El formato de las instrucciones es el siguiente: los 4 bits más significativos de la instrucción representan el código de operación y los otros 8 bits representan la dirección de memoria. A continuación, se muestra una lista parcial de los códigos de operación: 0111: Cargar el registro acumulador desde memoria. 1101: Almacenar en memoria el contenido del registro acumulador. 1110: Restar al acumulador el contenido de una dirección de memoria. El resultado se almacena en el acumulador. Indique cual de los siguientes fragmentos de programa resta al contenido de la dirección de memoria 3B 16 el contenido de la dirección de memoria 3A 16 y almacena el resultado en la dirección de memoria 3A 16. A) 73A 16, E3B 16, D3A 16 B) 73B 16, E3A 16, D3A 16 C) Los anteriores son correctos D) Ninguno de los anteriores 5.- Un disco magnético con 64 pistas, numeradas del 0 al 63, tiene la siguiente cola de peticiones de acceso: 1, 3, 63, 47, 2, 46. Indique si las siguientes afirmaciones son verdaderas. I. La LMB (Longitud Media de Búsqueda) asociado a una planificación SCAN es de Se supone que se parte de la pista 0 en el sentido ascendente de numeración de las pistas. II. La planificación FCFS mejora ostensiblemente la LMB de la planificación SCAN de la afirmación anterior, es decir, se obtiene una LMB mucho menor.

334 A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no 6.- Un controlador de DMA está transmitiendo, mediante robo de ciclos, caracteres a memoria desde un periférico. La CPU realiza la búsqueda de las instrucciones a una velocidad de 1 millón de instrucciones por segundo. Si el porcentaje en que se reduce la velocidad del procesador debido al controlador DMA es de 0.89%, a qué velocidad estará transmitiendo el DMA? Suponga una longitud de palabra de 8 bits y que la CPU emplea en promedio 2 ciclos para ejecutar una instrucción. A) bits/seg B) bits/seg C) bits/seg D) Ninguna de las anteriores 7.- Indique el número mínimo de SBC s de 1 bit que hacen falta para: I. Diseñar un circuito combinacional que sea un sumador de 7 números de 1 bit de longitud. II. Diseñar un circuito combinacional que sea un sumador de 5 números de 2 bits de longitud. A) I: 3, II: 6. B) I: 4, II: 5. C) I: 4, II: 6. D) Ninguna de las anteriores. 8.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S 0, S 1, S 2, S 3 ) y dos señales de condición (I, s 0 ). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y se ha realizado la asignación de estados siguiente: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Las funciones de entrada de los elementos de memoria son las siguientes: D0 = Q1 + Q0 I + Q0 s0 D1 = s0 Q1 + Q1 Q0 + Q1 Q0. Indique si las siguientes afirmaciones son verdaderas: I. Cuando el estado presente es S 2, entonces el próximo estado es S 3. II. Cuando el estado presente es S 1 y se verifica s 0 =1, entonces el estado siguiente es S 2. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución: 1.- Véase el apartado del texto base de teoría] El diagrama tiene 3 estados, luego necesita n=2 bits para su codificación, q=3 señales de condición como entradas a la unidad de control: I, s0, s1, m=4 salidas de la unidad de control: c0, c1, c2, c3. I. Por lo tanto sí se puede diseñar la unidad de control utilizando una ROM de 2 n+q = 32 palabras de (n+m) = 6 bits/palabra y un registro de n=2 bits. El esquema del diseño se muestra en la Figura 1. De esta manera la afirmación I es cierta. I s 0 s 1 ROM 32 palabras x 6 bits Próximo estado Registro Estado presente c 3 c 2 c 1 c 0 Figura 1: Diseño de la unidad de control utilizando ROM y registro. II. Si se utiliza para el diseño el método de selección por estado, se necesitaría una ROM de 2 n+1 = 8 palabras de n+m = 6 bits por palabra; un registro de n= 2 bits y un multiplexor de 2 n = 4 a 1. El diseño es el que se muestra en la Figura 2. Por tanto, la afirmación II es correcta.

335 I s 0 s M U X Próximo estado Registro Estado presente c 3 c 2 c 1 c 0 Respuesta: A (I: sí, II: sí) Figura 2: Diseño de la unidad de control utilizando el método de selección por estado. 2.- Véase el apartado del libro de teoría. Las direcciones de memoria principal tendrán una anchura de n=18 bits, ya que el número total de palabras de ésta es de 256 Kpalabras=2 18 palabras. Como la caché utiliza correspondencia directa, una dirección de memoria principal se compondrá de los campos Etiqueta, Bloque y Palabra. La capacidad de la memoria caché es de 32 Kpalabras= 2 15 palabras. Como se tienen 16 palabras/bloque, el número de bloques en la memoria caché=2 15 palabras/(2 4 palabras/bloque) =2 11 bloques. Por lo tanto el campo Bloque tiene una anchura de b=11 bits. Como hay 2 4 palabras/bloque, se necesitan 4 bits para el campo Palabra. Finalmente, el campo etiqueta tendrá 18-(11+4)= 3 bits de anchura. Resumiendo, una dirección estará compuesta por 18 bits correspondiendo los tres primeros bits a la etiqueta, los 11 siguientes al bloque y los 4 últimos a la palabra. Para responder a esta pregunta basta con descomponer las direcciones proporcionadas en sus respectivos 3 campos: 8560 = Opción A) 8575= Está en el mismo bloque y tiene igual etiqueta, y por lo tanto no implica reemplazamiento. Opción B) 8688= Es otro bloque y no se corresponde con el ocupado por el bloque asociado a la direción 8560 Opción C) = Tiene el mismo número de bloque y distinta etiqueta. Si se hiciera una referencia a memoria, éste bloque sustituiría al actual (el asociado al 8560). Respuesta: C 3.- Véase problema 1-3 del libro de problemas. La situación planteada por el problema se ilustra en la Figura 3, donde los M i representan los módulos de memoria propuestos. M 1 M 2.. M 20 BUS Figura 3: Esquema de los módulos de memoria. El ciclo de escritura en los módulos de memoria se muestra gráficamente en la Figura 4. En la primera parte del ciclo (línea más gruesa) el módulo de memoria utiliza el bus en exclusiva, pero en la segunda parte (línea más fina) cualquier otro módulo puede hacer uso del bus. Según el enunciado, para todo el problema el tiempo de ocupación del bus (primera parte del ciclo) es constante e igual al 12,5% del tiempo total del ciclo de escritura.

336 Control Dirección Datos Almacenamiento del dato 12,5 % 87,5% Figura 4: Ciclo de escritura de los módulos de memoria. El tiempo empleado en el almacenamiento del dato corresponde al 87,5% restante del tiempo de ciclo de escritura. Utilizando los veinte módulos disponibles, y solapando al máximo los ciclos de escritura para intentar que en todo momento uno de los módulos esté accediendo al bus, se llega a la situación representada en la Figura 5. Módulos (% ciclo escritura) Figura 5: Máximo solapamiento. Como se observa, cada ciclo de escritura empiezan ocho operaciones de escritura. Es capaz por lo tanto de simultanear 8 operaciones de escritura (100/12,5=8). Luego mejora en 8 veces la velocidad de un único módulo. Respuesta: D 4.- Véase el ejemplo del libro de teoría. En primer lugar se expresa cada uno de los códigos de operación que se indica en el enunciado en hexadecimal, codificando la operación que se efectúa con cada uno: 0111 = 7 16 : AC [MEM] 1101 = D 16 : [MEM] AC 1110 = E 16 : AC AC [MEM] La operación que se pide es restar al contenido de la dirección de memoria 3B 16 el contenido de la dirección de memoria 3A 16 y almacena el resultado en la dirección de memoria 3A 16, o lo que es lo mismo: [3A 16 ] [3B 16 ] - [3A 16 ] Por tanto las instrucciones son: 73B 16 E3A 16 D3A 16 Respuesta: B 5.- Véase el apartado del libro teoría y el problema 3-32 del libro de problemas. En la planificación SCAN se restringe el rastreo a una única dirección. Así, cuando se ha visitado la última pista en una dirección, la cabeza vuelve al extremo opuesto del disco y comienza otra vez la exploración. La planificación FCFS es tipo cola, por lo que en general tendrá una LMB mayor que el resto de planificaciones. El único momento en que son iguales los LMB para SCAN y FCFS se produce cuando la secuencia de peticiones está ordenada inicialmente. Planificación SCAN: Atención de las peticiones: 1, 2, 3, 46, 47, 63 LMB = 63/6=10.5 Próxima pista Pistas recorridas Planificación FCFS: Atención de las peticiones: 1, 3, 62, 47, 2, 46

337 LMB = 166/6=27.7 Respuesta: B Próxima pista Pistas recorridas Véase el problema 3-15 del libro de problemas. Si v es la velocidad pedida, el número de palabras que se transmiten por segundo es: (v bits/s)/(8 bits/palabra)=v/8 palabras/s. Como el DMA utiliza la estrategia de robo de ciclos, en cada ciclo el DMA transmite 1 palabra completa, luego el nº de robo de ciclos es v/8 ciclos/s. Estos ciclos suponen un número de instrucciones que la CPU deja de ejecutar en cada segundo. Estas son: [(v/8)/2]=v/16 instrucciones/s La penalización que este número de instrucciones no ejecutadas supone para la CPU es del 0.89%, por lo tanto: 0.89=[(v/16)/(1*10^6)]*100, de donde: v=0.89*16*10^4= bits/s Respuesta: B 7.- Véase el problema 4-13 del libro de problemas. Se define un contador paralelo CP(p;d) como un circuito combinacional con d salidas y p (2 d -1) entradas, donde el número binario representado por las d salidas es igual al número de unos presentes en las entradas. Teniendo en cuenta esta definición, el objetivo es sintetizar un CP(6;3) (ver Figura 6, utilizando como componente básico elemental un CP(3;2) (ver Figura 7). El contador paralelo (3;2) corresponde a un SBC. En la Figura 8 se muestra la síntesis del contador paralelo CP(6;3) con contadores paralelos CP(3;2). La estructura del circuito correspondiente se da en la Figura 7. CP(6;3) CP(3;2) x 0 x 1 s 0 x 0 x 1 SBC s c x 2 s 1 x 2 s 2 x 5 Figura 6: Diagrama funcional Figura 7: Módulo SBC y diagrama de puntos Figura 8: Organización de sumadores utilizando notación de puntos

338 x 0 x 1 x 2 x 3 x 4 x 5 SBC 1 SBC 2 s c s c x 6 SBC 3 c s 0 s 1 SBC 4 s 2 Figura 9: Estructura del circuito Como se puede observar en las Figuras 8 y 9 son necesarios 4 SBC como mínimo. II. Resolviendo esta cuestión de manera análoga se concluye que son necesarios 6 SBC como mínimo. En la Figura 10 se representa la organización de sumadores utilizando la notación de puntos. Respuesta: C Figura 10: Organización de sumadores utilizando notación de puntos. 8.- La síntesis de la unidad de control mediante elementos de memoria tipo D se explica en el apartado del libro de teoría. Teniendo en cuenta las funciones de entrada a los elementos de memoria tipo D que se dan en el enunciado, y realizando la asignación de estados que se especifica, se obtiene la siguiente tabla de transición de estados: Estado presente Próximo estado I s0 Is0 I s0 Is

339 A partir de esta tabla se verifican ambas afirmaciones: Cuando el estado presente es S 2, entonces el próximo estado es S 3 ; y cuando el estado presente es S 1 y se verifica s 0 =1, entonces el estado siguiente es S 2. Respuesta: A Cuestiones teórico-prácticas Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Un periférico con una velocidad de transferencia de bytes/segundo se conecta mediante un DMA a un procesador que tarda una media de 200 nanosegundos en ejecutar una instrucción. El DMA requiere 10 instrucciones de inicialización y en la transferencia de un byte mantiene ocupados los buses durante 100 nanosegundos. Se quieren transferir 500 bytes. Calcular para el peor de los casos (el procesador está parado mientras el DMA ocupa el bus): A) (2 puntos) El tiempo que dedica el procesador a la transferencia de los 500 bytes. B) (2 puntos) El número de instrucciones de otro proceso que puede ejecutar el procesador mientras se realiza la transferencia del bloque de datos. Solución Los conceptos para resolver este problema están expuestos en la Sección del libro de texto donde se explica la transferencia de datos mediante DMA. A) El tiempo que dedica el procesador a la transferencia será el tiempo de inicialización del DMA más el tiempo que pierde en los robos de ciclo de DMA. El tiempo de inicialización del DMA es: El tiempo de robo de ciclo del DMA es: El tiempo total será: t ini = 10 instr 200 nseg/instr = nseg = 2 µseg t robo = 500 bytes 100 nseg/bytes = nseg = 50 µseg T total = t ini + t robo = 52 µseg B) El tiempo que tarda en realizarse la transferencia del bloque de datos una vez que se ha inicializado el DMA es: t transf = 500 bytes 1/ bytes/seg = nseg = 333 µseg Durante este tiempo, 50 µseg se pierden en robos de ciclo del DMA, luego el tiempo que podrá dedicar la CPU a la ejecución de otro proceso será de 283 µseg. En 283 µseg, la CPU puede ejecutar el siguiente número de instrucciones: N instr = 283 µseg 1/200 nseg/instr = 1415 instrucciones

340 .

341

342

343 Test 1.- Sea un procesador de 32 bits capaz de ejecutar 4 millones de instrucciones por segundo (4 MIPS). El procesador precisa 1,25 μs (equivalente a la ejecución de 5 instrucciones) para realizar un cambio de contexto y comenzar un programa de servicio de interrupciones (y el mismo tiempo para realizar el cambio de contexto en sentido inverso). A este computador está conectado un periférico, que es una línea serie por la que se reciben bloques de datos de 512 bytes con una velocidad de transferencia de 1Kbyte/s. El módulo de entrada/salida interrumpe cada vez que se recibe un byte y en la rutina de tratamiento de interrupción de este periférico se ejecutan 20 instrucciones. Qué tanto por ciento de instrucciones puede dedicar el procesador a otros procesos durante la transferencia de un bloque del periférico? A) 99,23% B) 95,25% C) 89,21% D) Ninguna de la anteriores. 2.- Una unidad de disco tiene 40 superficies, 1024 cilindros, 128 sectores por pista y 32 Kbytes por sector. Además se sabe que el disco gira a 7200 rpm y tiene un formato con entrelazado cuádruple. Indique si las siguientes afirmaciones son verdaderas. I. La capacidad de la unidad de disco es de 160 GB. II. La velocidad de transferencia es de 480 Mbytes/s. A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no 3.- Un dispositivo de entrada/salida tiene como dirección base la El bus de direcciones del dispositivo utiliza las dos líneas de direcciones menos significativas A 0 y A 1 del bus de direcciones del sistema para seleccionar registros internos del dispositivo. A su vez, la selección del dispositivo CS está conectada a un circuito que implementa la lógica de selección y cuyas entradas son A 2, A 5, A 6 y A 7. Con cuál de las siguientes direcciones se puede acceder al mismo registro de este dispositivo que con la dirección ? A) 41B 16 B) C) D) Ninguna de las anteriores. 4.- Indique si las siguientes afirmaciones son verdaderas. I. Una transferencia de datos en un bus que utiliza la técnica de multiplexación en el tiempo de direcciones y datos se realiza de la forma siguiente: se coloca la dirección en el Bus de Direcciones y se mantiene mientras el dato se sitúa en el Bus de Datos. II. Cuando las salidas de varias puertas triestado se encuentran conectadas a una misma línea de un bus, sólo una de ellas puede estar en estado de alta impedancia. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- En una memoria caché en la que se realizan 2 12 accesos se producen 2 10 fallos. La memoria caché tiene un tiempo de acceso medio de 5 ns, mientras que el tiempo de acceso medio de la memoria principal es de 100 ns. Indique si las siguientes afirmaciones son verdaderas. I. La tasa de aciertos es del 25%. II. El tiempo de acceso medio al sistema conjunto memoria principal-memoria caché es de 87.5 ns. A) I:sí; II:sí B) I:sí; II:no C) I:no; II:sí D) I:no; II:no 6.- Una unidad de control, cuyo diagrama de estados de Huffman-Mealy se muestra en la figura, se implementa usando dos elementos de memoria tipo D. Para ello, se realiza la asignación de estados siguiente: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Indique si las siguientes afirmaciones, acerca de la función de

344 entrada al segundo elemento de memoria, son verdaderas: I s0/c5 s0/0 s1/c2 I/c0,c3 s0/c1 S0 S1 S2 S3 s1/c4 A) D1 = s0 Q1 + Q1 Q0 + Q1 Q0 B) D1 = s0 Q0 + Q1 Q0 + Q1 Q0 C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas. s0/0 7.- Sean dos números binarios de 16 bits representados en código BCD: X = e Y = El resultado de su suma, representado en código exceso-3, es: A) B) C) D) Ninguna de las anteriores. 8.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique cuál de las siguientes opciones puede sustituir al símbolo interrogación (? ), que se muestra en la transición entre S 2 y S 3, de tal modo que esta unidad de control pueda ser implementada usando un MUX (2 2 ), un registro de 2 bits y una memoria ROM de 2 3 palabras, con 6 bits por palabra: I s0/c3 S0 S1 S2 s0/c2 I/c0,c1? S3 A) s2 / c2, c3 B) s1 / c4 C) Las dos anteriores son correctas. D) Ninguna de las anteriores es correcta. s1/c3 Solución: 1. Como la velocidad de transferencia indicada en el enunciado es 1 Kbyte/s y un bloque ocupa 512 bytes, se tarda 512/2 10 = 0.5 segundos en enviar un bloque. Además, cómo la velocidad de ejecución del procesador es 4 MIPS, en 0.5 segundos puede ejecutar, si no se producen interrupciones, instrucciones. Cada vez que se recibe 1 byte el periférico interrumpe, por lo tanto habrá 512 interrupciones/bloque. Teniendo en cuenta que cada interrupción equivale a la ejecución de =30 instrucciones, se necesitarán instrucciones de interrupción por bloque transmitido. De esta manera, el porcentaje de instrucciones que puede dedicar el procesador a otros procesos durante la transferencia de un bloque del periférico es: = 99.23% 2 10 Respuesta: A (99.23%) 2. Véase la solución de los Problemas 3-26 y Afirmación I. El cálculo de la capacidad del disco se realiza de la forma siguiente: 40 superficies 1024 pistas/superficie 128 sectores/pista 32 Kbytes/sector = 40 superficies 2 10 pistas/superficie 2 7 sectores/pista 2 5 Kbytes/sector = 40 superficies 2 22 Kbytes/superficie = bytes = bytes = 160 GB Por tanto, la afirmación I es cierta. Afirmación II. La velocidad de transferencia (V t ) puede calcularse a partir del número de bytes en una pista (P) y de la velocidad de rotación (f) de la manera siguiente: V t = P f = (2 7 sectores/pista 2 5 Kbytes/sector) (7200/60 revoluciones/s) = 2 12 Kbytes/pista 120 revoluciones/s = 480 Mbytes/s Puesto que el entrelazado es cuádruple, se lee una cuarta parte de los sectores por vuelta. Por ello, la velocidad de transferencia real para este disco es 120 Mbytes/s. La afirmación II es falsa. Respuesta: B (I: sí; II: no) 3. Véase el Apartado b del Problema Mediante A 0 y A 1 se selecciona el registro interno del dispositivo y mediante A 2, A 5, A 6 y A 7 se selecciona el dispositivo. La dirección escrita en binario es: Obsérvese que los valores de A 2, A 5, A 6 y A 7 son 0, 0, 0 y 0 respectivamente. A continuación, se muestra el valor binario de las direcciones dadas en las respuestas A, B y C: A) B)

345 C) De estas tres direcciones, la única en la cual los valores de los bits A 0, A 1, A 2, A 5, A 6 y A 7 coinciden con los de la dirección es 41B 16. Por ello la respuesta correcta es la A. Respuesta: A (41B 16 ) 4. Afirmación I. Véase el Apartado del libro de teoría. No tiene sentido hablar de multiplexación y mantener datos y direcciones simultáneamente en el bus, por lo que esta afirmación es falsa. Afirmación II. Véase el Apartado del libro de teoría. Tal como se menciona en el texto, es justamente al revés. La afirmación II es falsa. Respuesta: D (I: no; II: no) 5. Afirmación I. La tasa de aciertos h puede calcularse de la forma siguiente (véase el apartado del texto de teoría): Numero de veces que la palabra solicitada de encuentra en la Mca 2 2 h = = = % 12 Numero total de referencias 2 La afirmación I es falsa. Afirmación II. Para el cálculo del tiempo de acceso medio t a al sistema conjunto de memoria (M p +M ca ) se puede emplear la expresión siguiente (véase el Apartado del libro de teoría): t = h t + 1 h t = = ns a ca p ( ) ( ) La afirmación II es falsa. Respuesta: D (I: no; II: no) 6. Véase el Apartado del libro de teoría. A partir del diagrama de estados de Huffman-Mealy dado en el enunciado, puede construirse la tabla de transición de estados mostrada en la Figura 6.1. En la Figura 6.2 se muestra la misma tabla, pero sustituyendo cada estado por el correspondiente valor de los elementos de memoria, de acuerdo con la asignación indicada en el enunciado: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Estado presente I s 0 S0 S0 S 1 S 3 S 2 S 3 Próximo estado I s I s 0 0 I s0 S0 S1 S1 S2 S3 S2 S3 S3 S3 S3 S S 1 3 S S 1 3 Estado presente S 0 S 1 S 2 S 3 Próximo estado I s I s 0 0 I s0 I s Figura 6.1: Tabla de transición de estados. Figura 6.2: Tabla de transición de estados. Finalmente, en las Figuras 6.3 y 6.4 se muestran dos posibles maneras de agrupar los términos del mapa de Karnaugh de la función de entrada al elemento de memoria D 1. Puede comprobarse que las respuestas A) y B) son ambas correctas. QQ 1 0 Is s Q Q 0 0 Q0 Q 0 1 Q 1 QQ 1 0 Is Q Q 0 1 Q0 s Q 0 1 Q 1 D = s Q + Q Q + Q Q D = s Q + Q Q + Q Q Figura 6.3: Función de entrada al elemento D 1. Figura 6.4: Función de entrada al elemento D 1. Respuesta: C (Las dos afirmaciones anteriores son correctas) 7. Véase la solución al Problema 4-16 en el libro de problemas. La representación decimal de los números X e Y es 1954 y La suma de estos dos números, expresada en decimal, es La representación de un número en el código

346 exceso a 3 se obtiene sumándole 3 a cada dígito de su correspondiente representación en BCD (vea la tabla mostrada en la solución del Problema 4-16, en el texto de problemas). La representación en exceso a 3 de la suma es Respuesta: B ( ) 8. Véase el Apartado del libro de teoría. Si se analiza el diagrama de transición de estados se puede comprobar que, puesto que hay 4 estados, se necesitan n=2 bits para codificar el siguiente estado en la memoria ROM que se emplee para implementar dicho diagrama. La propuesta de memoria ROM de la pregunta indica que se debe usar una ROM con un ancho de palabra de 6 bits, por lo que hay m=4 bits para almacenar las señales de control. Si se observa el diagrama se puede ver que hay cuatro señales de control que se deben generar (c 0, c 1, c 2 y c 3 ), por lo que la única solución factible para implementar el diagrama de estados es emplear una aproximación basada en selección por estado, con un MUX de 4 entradas en el que se emplee el estado para seleccionar la variable de condición. Puesto que la ROM tiene 6 bits/palabra y n=2, no puede haber más de 4 señales de control (es decir, m=6-2=4). En el diagrama se muestran 4 señales de control (c 0, c 1, c 2 y c 3 ), con lo cual la respuesta B es falsa, ya que introduce otra señal de control (c 4 ). Dado que la respuesta B es falsa, la respuesta C también lo es. Por otra parte, si se empleara en la definición de la transición? la señal de condición s 2, habría que considerar dos variables de condición diferentes (s 1 y s 2 ) para realizar la transición desde el estado S2. La consecuencia de ello sería que no se podría usar la selección por estado con un único MUX, ya que para ello es requisito imprescindible que haya una única variable de condición por estado (vea la solución al Problema 5-22 en el libro de problemas). De esta forma la respuesta A es incorrecta y la solución es la respuesta D. Respuesta: D (Ninguna de las anteriores es correcta) Cuestiones teórico-prácticas Cuestión 1 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Un computador tiene una memoria principal (Mp) de 64k palabras de 16 bits/palabra con un tiempo de acceso Ta. También tiene una memoria caché (Mc) totalmente asociativa de 4k palabras y 512 palabras por bloque. Considérese que la memoria caché está inicialmente vacía y que, cuando la caché está llena, se reemplaza el bloque que se haya utilizado menos recientemente. Supóngase que la UCP ejecuta un bucle 5 veces, en el que accede a 4101 palabras, desde la dirección 0 hasta la dirección La Mc es 8 veces más veloz que la Mp. Se pide: A) (0.25 puntos) Especifique el número de bits de los campos en que se descompone una dirección de Mp de este sistema y calcule cuánto tiempo se tardaría en realizar estos accesos a Mp si este computador no tuviera Mc. B) (2 puntos) Realice una tabla con 5 columnas, una columna por cada vez que se ejecuta el bucle, y tantas filas como bloques tenga la Mc. En cada columna ponga el valor de la etiqueta existente en cada bloque de la Mc al finalizar cada uno de los cinco ciclos. Expresar el valor de la etiqueta en hexadecimal. C) (0.75 puntos) Calcule cuántos fallos se producen en la Mc. Explique claramente su razonamiento. D) (1 punto) Cada vez que se produce un fallo, primero se mueve el bloque completo de Mp a Mc y después se lee el dato de la Mc. Calcule cuánto tiempo tardaría la UCP en realizar estos accesos a memoria. Solución: Este problema es similar a los Problemas 2-8, 2-10, 2-11, 2-12 y 2-13 del texto Problemas de Estructura y Tecnología de Computadores, 2ª edición. Se recomienda consultar la solución de estos problemas con el fin de facilitar la comprensión de las explicaciones dadas a continuación. A) La memoria principal tiene un tamaño de 64K palabras por lo que para direccionarla hacen falta un total de 16 bits (2 16 = = 64K). La memoria caché con 4K palabras es totalmente asociativa con bloques de 512 palabras, lo que hace

347 un total de 8 bloques. Después de estos sencillos cálculos, ya se puede determinar el tamaño de cada uno de los campos en los que se descompone una dirección de memoria principal: Campo palabra: 9 bits. Para direccionar las 512 ( = 2 9 ) palabras de cada bloque. Campo etiqueta: 7 bits. Los restantes 7 ( = ) bits de la dirección forman parte del campo etiqueta. Al ejecutar el bucle propuesto 5 veces se producen un total de = accesos a memoria. Sin Mc todos estos accesos se hacen directamente a la Mp, que tiene un tiempo de acceso Ta. Por lo tanto, el tiempo total en realizar estos accesos si el computador no tuviera Mc sería Ta. Teniendo en cuenta que Ta = 8 Tc (donde Tc es el tiempo de acceso a la memoria caché), se puede calcular el tiempo total de realización como Tc = Tc. B) Como en la tabla de evolución del contenido de la Mc se pide poner el valor de la etiqueta que al finalizar la ejecución de cada uno de los cinco ciclos, en la Tabla 1 se han calculado dichas etiquetas. La primera ejecución del ciclo se muestra en la Tabla 2: Primera ejecución del ciclo (ver Tabla 2). Los bloques se van llenando de uno en uno, hasta llenar la memoria caché. Cuando se accede a la dirección 4096 se vuelve a producir un fallo pero la memoria caché ya está llena. El enunciado propone como técnica de reemplazamiento sustituir el bloque que se haya utilizado menos recientemente, que es el 0. Segunda ejecución del ciclo (ver Tabla 3). Siguiendo el mismo razonamiento de antes, la Tabla 3 muestra qué va ocurriendo en la caché según se va ejecutando por segunda vez el ciclo. En esta Tabla se puede observar que siempre se producen fallos. Al finalizar el ciclo anterior hubo que sustituir el bloque 0 con etiqueta 0 que es el primero en ser referenciado al comenzar la ejecución de este segundo ciclo. Para resolver este fallo sustituye el contenido del bloque 1 de la caché, que será el siguiente en ser referenciado. Y así sucesivamente con todos. Resto de ciclos. La situación es parecida a la segunda ejecución del ciclo, produciéndose continuos fallos. En la Tabla 4 se muestra el valor de la etiqueta existente en cada bloque de la caché al finalizar cada uno de los 5 ciclos. Tabla 1: Rango de direcciones y etiqueta correspondiente en la caché.

348 Tabla 2: Primera ejecución del bucle. Tabla 3: Segunda ejecución del bucle. Tabla 4: Etiquetas de cada bloque de la caché al finalizar cada ciclo. C) Para calcular el número de fallos hay que utilizar los resultados del apartado anterior y, especialmente, la Tabla 4. Primer ciclo: 9 fallos, uno por cada bloque del ciclo. Resto de ciclos: 9 fallos, uno por cada bloque del ciclo. Por tanto, el número total de fallos es: 9 5 = 45 fallos.

349 D) El enunciado propone los eventos que ocurren cuando sucede un fallo: primero se mueve el bloque completo de memoria principal a memoria caché y después se lee el dato de la caché. Luego para calcular el tiempo que la CPU tarda en hacer todos estos accesos, habrá que tener en cuenta que todos ellos se hacen a la memoria caché y sumarle el tiempo que se emplea en gestionar los fallos. Tiempo total = Tiempo de acceso a la caché + tiempo de gestión de fallos Como el tiempo que se tarda en acceder una palabra en la memoria principal es Ta, el tiempo en acceder a una palabra en la memoria caché es Ta/8. Entonces nos queda que: Tiempo de acceso a la caché = número de accesos Ta = 5 ciclos 4101 palabras/ciclo (Ta/8) Tiempo de gestión de fallos = 512 palabras/fallo 45 fallos Ta Sumando ambas cantidades, nos queda que la CPU tardaría en ejecutar estos accesos: Tiempo total = ( (Ta/8)) + ( Ta ) = 25603,125 Ta

350 .

351

352

353 Test 1.- Un computador tiene una memoria principal de 128 K palabras de 16 bits por palabra y una memoria caché con correspondencia directa de 2 K palabras y 512 palabras por bloque. En un momento determinado comienza a ejecutar 1000 veces un bucle en el que accede a 2200 posiciones de memoria consecutivas. En la novena ejecución del bucle: I. El número mínimo de fallos posible es 2. II. El número máximo de fallos posible es 4. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 2.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S 0, S 1, S 2, S 3 ) y dos señales de condición (I, s 0 ). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y se ha realizado la asignación de estados siguiente: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Estado presente Próximo estado Q I s0 I s I s 0 0 I s 1 Q A la izquierda, se muestra la tabla de transición de estados. Indique si las siguientes afirmaciones, acerca de las funciones de entrada de los elementos de memoria, son verdaderas: I. D0 = Q1+ I ( s0 + Q0) II. D1 = Q1 Q0 + Q1 s0 A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 3.- Un procesador dispone de ocho líneas de interrupción (numeradas del 0 al 7) y una política en la que las interrupciones con un número bajo tienen mayor prioridad sobre aquellas de número más alto. El procesador comienza sin interrupciones pendientes y se produce la siguiente secuencia de interrupciones: 4, 7, 1, 3, 0, 5, 6, 4, 2, 1. Suponga que la gestión de una interrupción tarda el tiempo suficiente para que se produzcan dos nuevas interrupciones y que las interrupciones no se pueden interrumpir entre sí. El orden en que se gestionan las interrupciones es: A) B) C) D) Todas las afirmaciones anteriores son falsas. 4.- Un computador con una longitud de palabra de 16 bits tiene un bus de direcciones de 24 bits (A 23 -A 0 ). Se desea diseñar mediante módulos RAM de 2Mpalabras 4 bits/palabra su unidad de memoria, con una capacidad de 9 Mpalabras 16 bits/palabra. Además se debe reservar el direccionamiento asociado al primer Mpalabras para una ROM de 1Mpalabras x 16 bits que contendrá el arranque del sistema operativo, mientras que el resto de direcciones se ubicarán de manera consecutiva después de ese primer Mpalabras (hasta los 10 Mpalabras). Indicar cuál de las siguientes afirmaciones es cierta: (Nota: 1Mpalabra=2 20 palabras) I. Una expresión lógica que sirve para detectar direcciones RAM válidas es: A 23 ( A22 + A21 + A20 ) + A A22 A21 23

354 II. Bastan 19 módulos de RAM y 1 módulo de ROM para obtener la capacidad deseada. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Indique si las siguientes afirmaciones son verdaderas. En un bus con arbitraje distribuido: I. La posición de conexión de los dispositivos a la línea de arbitraje no determina la prioridad de aquellos en el uso del bus. II. El uso del bus por un dispositivo se interrumpe cuando otro dispositivo con mayor prioridad solicita el uso del bus. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Un computador usa un formato de microinstrucción mixto, parte horizontal y parte vertical. La parte con formato horizontal de codificación tiene una longitud de k bits y la parte con formato vertical de codificación posee m campos codificados de n bits cada uno. Cuál es el máximo número de señales de control que pueden usarse en este computador? A) k + n 2 m B) k + n m C) k + n (2 m -1) D) Ninguna de las anteriores. 7.- Cuántos módulos de memoria ROM de 2 n palabras n bits/palabra serán necesarios para diseñar un circuito combinacional que eleve al cuadrado un número X de 2n bits A) 2 n+1 B) 2 n+2 C) 2 n D) Ninguna de las anteriores. 8.- Si al número binario X = le aplicamos la siguiente secuencia de operaciones de desplazamiento: 14 operaciones LDCS seguidas de 2 operaciones LICS, cuál es el resultado de la operación? A) B) C) D) Ninguno de los anteriores. Solución: 1. La organización de la memoria caché con correspondencia directa se explica en el Apartado del texto de teoría. Existen dos posibilidades. La primera posibilidad es que las 2200 posiciones consecutivas de memoria estén en 5 bloques de memoria principal. La segunda posibilidad es que estén en 6 bloques, es decir, que ocupen completamente 4 bloques y que las restantes = 152 posiciones estén repartidas en dos bloques. A partir de la segunda ejecución del bucle, en el primer caso (5 bloques) se producen 2 fallos por bucle y en el segundo caso (6 bloques) se producen 4 fallos por bucle. Así pues, en la novena ejecución del bucle el número mínimo de fallos posible es 2 y el número máximo de fallos posible es 4. Respuesta: A (I: sí, II: sí) 2. Ver el Apartado del texto de teoría. La afirmación I es falsa. Hay varias formas de justificarlo. Una de las más sencillas es la siguiente. La función D0 = Q1+ I ( s0 + Q0) implica que si Q 1 vale 1 entonces D 0 vale 1, lo cual no corresponde con lo mostrado en la tabla de transición de estados del enunciado (véase la última fila de la tabla). La afirmación II es verdadera. En la Figura 2.1 se muestra el valor de D 1, calculado evaluando la función D1 = Q1 Q0 + Q1 s0, para los posibles valores del estado presente y de las señales de condición. Puede comprobarse que corresponde con la tabla de transición de estados mostrada en el enunciado. Estado presente Próximo estado Q I s0 I s I s 0 0 I s 1 Q Respuesta: C (I: no, II: sí) Figura 2.1: Valores de la función D1 = Q1 Q0 + Q1 s0. 3. Una forma de resolver este problema es crear una lista de interrupciones pendientes. Cada vez que el procesador queda libre se gestiona la interrupción pendiente de mayor prioridad (que es la de menor número), eliminándola de la lista. En la Tabla 3.1 se muestra el orden en que van siendo atendidas las interrupciones, así como las interrupciones solicitadas y pendientes en cada momento. La interrupción 4 es la que se gestiona en primer lugar, ya que es la primera en llegar. Cuando el procesador termina de gestionar la interrupción 4, están pendientes las interrupciones 7 y 1, por lo que se gestiona la interrupción 1. Repitiendo

355 dicho proceso, se obtiene el orden de gestión de las interrupciones siguiente: 4, 1, 0, 3, 2 (vea la Tabla 3.1). Después de atender la interrupción 2 quedan cinco interrupciones pendientes (7, 5, 6, 4, 1), que se atenderán según su prioridad. Es decir, en el orden: 1, 4, 5, 6, 7. Por lo tanto, el orden en el que se gestionan las interrupciones es el siguiente: 4, 1, 0, 3, 2, 1, 4, 5, 6, 7. Tabla 3.1: Gestión de las interrupciones. Interrupción atendida Interrupciones solicitadas Interrupciones pendientes 4 7, 1 7, 1 1 3, 0 7, 3, 0 0 5, 6 7, 3, 5, 6 3 4, 2 7, 5, 6, 4, , 5, 6, 4, 1 Respuesta: A 4. El sistema de memoria a diseñar consta de un módulo ROM de 1Mpalabras x 16 bits/palabra y de una memoria RAM de 9 Mpalabras 16 bits/palabra. Dicha memoria RAM debe componerse empleando módulos RAM de 2Mpalabras 4 bits/palabra. El número de módulos RAM necesarios puede calcularse teniendo en cuenta que: a) Para conseguir un ancho de palabra de 16 bits hacen falta 4 módulos RAM de 4 bits/palabra. Así pues, se necesitan 4 módulos RAM en cada fila de la estructura de memoria a diseñar. b) Para obtener 9 Mpalabras se necesitan 5 filas de 2Mpalabras cada una. Se obtiene un total de 10 Mpalabras direccionables, de las cuales el último Mpalabra no se emplea. Son necesarios 1 módulo de ROM y 20 módulos de RAM para diseñar la estructura de memoria. Por consiguiente, la afirmación II es falsa. A partir de la descripción dada en el enunciado acerca de la forma en que se realiza el direccionamiento, puede construirse la Tabla 4.1. En ella se indica qué fila de módulos de RAM es seleccionada para cada valor de los 4 bits A 23,, A 20 del bus de direcciones. También se indica mediante qué valores de estos 4 bits puede accederse a direcciones RAM válidas. Se comprueba que la expresión dada en la afirmación I del enunciado, A 23 ( A22 + A21 + A20 ) + A23 A22 A21, no permite detectar las direcciones RAM válidas. Para demostrarlo basta con que la función devuelva el mismo valor para una dirección válida y para una no válida. Por ejemplo, la función toma el valor 1 para A 23 =A 22 =A 21 =A 20 =0, que es una dirección no válida, y para A 23 =A 22 =A 21 =0, A 20 =1, que es una dirección válida. En consecuencia, la afirmación I es falsa. Tabla 4.1: Direccionamiento de la estructura de memoria. A 23 A 22 A 21 A 20 Fila RAM direccionable Válida Pertenece a la ROM No F1 Sí F1 Sí F2 Sí F2 Sí F3 Sí F3 Sí F4 Sí F4 Sí F5 Sí F5 No No hay RAM o ROM asociada No No hay RAM o ROM asociada No No hay RAM o ROM asociada No No hay RAM o ROM asociada No No hay RAM o ROM asociada No Si bien no es necesario para responder a la pregunta, veamos cómo puede obtenerse una función lógica para detectar direcciones RAM válidas. En concreto, una función que devuelva el valor 1 para las direcciones válidas y 0 para las no válidas. En la Figura 4.1 puede verse el mapa para la obtención de dicha función.

356 A A A23A A23 A A A A A A A A Figura 4.1: Función para la detección de direcciones RAM válidas. Respuesta: D (I: no, II: no) 5. El funcionamiento de un bus con arbitraje distribuido se explica en el Apartado del texto de teoría. De dichas explicaciones se deduce que ambas afirmaciones son falsas. Respuesta: D (I: no, II: no) 6. La organización de la memoria de control se explica en el Apartado del texto de teoría. La parte con formato horizontal de codificación tiene una longitud de k bits, por tanto pueden usarse k señales de control. La parte con formato vertical de codificación posee m campos codificados de n bits cada uno. Cada campo de n bits codifica 2 n -1 señales. Así pues, el número máximo de señales de control que puede usarse en este computador es k+m (2 n -1). Respuesta: D (Ninguna de las anteriores) 7. Si sólo se fuera a utilizar una única memoria ROM, ésta tendría que tener una capacidad de 2 2n palabras 4n bits/palabra. Como el módulo de memoria ROM del que se dispone es de 2 n palabras n bits/palabra, serán necesarios 2 n 4 módulos = 2 n+2 módulos. Respuesta: B 8. Las operaciones de desplazamiento se explican en la Sección 4.9 del texto de teoría. La secuencia de operaciones indicada en el enunciado deja el resultado inalterado. Respuesta: B ( ) A A + A + A + A A A Cuestiones teórico-prácticas Cuestión 1 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0,75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0,5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene 142 instrucciones en su repertorio de instrucciones. En un determinado programa el 20% de las instrucciones tienen un registro de entrada y un registro de

357 salida, el 30% tienen dos registros de entrada y uno de salida, el 25% tiene un registro de entrada, un registro de salida y un operando inmediato y el 25% restante tiene un operando inmediato y un registro de salida a) (2 puntos) Cuantos bits se necesitan para cada uno de los cuatro tipos de instrucciones? Supóngase que se impone que todas las instrucciones tengan una longitud múltiplo de 8 bits. b) (2 puntos) Cuánta memoria menos ocupa el programa cuando se utiliza una codificación del repertorio de instrucciones de longitud variable que cuando se utiliza una codificación de longitud fija? Nota: Un repertorio de instrucciones es de longitud fija cuando todas las instrucciones tienen la misma longitud y es de longitud variable si la longitud de las instrucciones no es igual para todas las instrucciones del repertorio. Solución: a) Con 142 instrucciones, se necesitan 8 bits para identificar una instrucción (128 < 142 < 256). 32 registros significa que hacen falta 5 bits para codificar el identificador del registro y sabemos que se necesitan 16 bits por cada dato inmediato. Con estos datos, es sólo cuestión de sumar los campos necesarios en cada tipo de instrucción. Un registro de entrada y un registro de salida: bits = 18 bits que se redondean a 24 bits. Dos registros de entrada y un registro de salida: bits = 23 bits que se redondean a 24 bits. Un registro de entrada, un registro de salida y un operando inmediato: bits = 34 bits que se redondean a 40 bits. Un operando inmediato y un registro de salida: bits = 29 bits, que se redondean a 32 bits. b) Dado que el tipo de instrucción mayor precisa 40 bits, la codificación de longitud fija tendrá 40 bits por instrucción. En la codificación de longitud variable cada tipo de instrucción usará el número de bits dados en el apartado a). Para saber el número promedio de bits de la codificación de longitud variable, se multiplica el número de bits de cada tipo de instrucción por la frecuencia de ese tipo y se suman los resultados. Este cálculo da: 0,2 24 bits + 0,3 24 bits + 0,25 40 bits + 0,25 32 bits = 30 bits en promedio Por tanto, la codificación de longitud variable necesita un 25% menos de espacio que la codificación de longitud fija para este programa.

358

359

360 Yo no tengo las soluciones oficiales. Sólo la plantilla del examen de reserva tipo G, que creo que es el que yo hice: CCCDDDAC Ojo, la pregunta número 5, creo que la plantilla está mal. La respuesta correcta creo recordar que es la C. Yo puse la D, en qué estaría pensando, pero afortunadamente me la dieron como buena y gracias a eso saqué un notable.

361

362

363 Test 1.- Una CPU con bus de direcciones de 16 bits y un bus de datos de 8 bits tiene un registro de 8 bits conectado al bus de datos y a la unidad de control. Este registro puede ser uno de los siguientes: A) Contador de programa (PC). B) De instrucción (IR). C) De direcciones de memoria (MAR). D) Ninguna de las anteriores. 2.- Una unidad de control microprogramada con direccionamiento implícito tiene una memoria de control con 24 bits de longitud de palabra. Si las microinstrucciones emplean 15 bits para los campos de control y el tamaño máximo de la memoria de control de esta Unidad de Control microprogramada es de 2 20 palabras, cuántas condiciones como máximo se pueden evaluar en el caso de microinstrucciones de bifurcación? A) 3 B) 16 C) 4 D) Ninguna de las anteriores. 3.- Una memoria caché con correspondencia directa utiliza 2048 palabras/bloque y su capacidad total es de 64K palabras. La memoria principal tiene una capacidad de 4096M palabras. En un determinado instante, la dirección B3A972E0, expresada en hexadecimal, de la memoria principal se encuentra en la caché. Decir si las siguientes afirmaciones son ciertas: I. Esta dirección se corresponde con el bloque 14, expresado en decimal, de la memoria caché. II. Del enunciado puede deducirse que la dirección 629E72E9, expresada en hexadecimal, no está en la caché. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 4.- La memoria de un computador consta de N módulos independientes conectados a un bus de memoria común. Al comienzo de una operación de escritura en memoria, el bus está ocupado por las señales de datos, dirección y control durante 20 nseg. Durante los 80 nseg siguientes, el módulo de memoria direccionado completa el ciclo de escritura, aceptando y almacenando el dato. Las operaciones de los módulos de memoria pueden solaparse, pero sólo puede haber una petición en un instante de tiempo. Indique si las siguientes afirmaciones son ciertas: I. Si el número de módulos N = 3 la velocidad máxima de transferencia es de 0.03 palabras/nseg II. Cuando el número de módulos N > 4, la velocidad máxima de transferencia es de 0.06 palabras/nseg A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Indique si las siguientes afirmaciones sobre E/S localizada en memoria son verdaderas: I. Sería posible realizar operaciones directamente sobre los puertos de E/S de datos sin necesidad de moverlos explícitamente por programa a algún registro de la CPU. II. Puede evitar gastar espacio de direcciones empleando una señal de control especial para indicar que está realizando una operación de E/S localizada en memoria.

364 A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- En la figura se muestra un circuito lógico con tres entradas (x 1, x 2, x 3 ) y dos salidas (y 1, y 2 ). Indique cuál de las siguientes afirmaciones acerca de este circuito es correcta. x 1 x 2 x 3 y 1 y 2 A) Es un elemento de memoria D. B) Es un sumador binario completo. C) Las dos anteriores son correctas. D) Ninguna de las anteriores es correcta. 7.- En un procesador con instrucciones de cero direcciones, indicar cuantos accesos a memoria se necesitan para completar la secuencia Y = (X+Y)+Z. A) 10. B) 6. C) 12. D) Ninguna de las anteriores. 8.- A continuación, se muestra el diagrama de bloques y la tabla de operaciones de una ALU lógica. Tiene dos entradas de cuatro bits (A=a 3 a 2 a 1 a 0, B=b 3 b 2 b 1 b 0 ), una entrada de control de dos bits (C=c 1 c 0 ) y una salida de cuatro bits (Z=z 3 z 2 z 1 z 0 ). Suponiendo que se dispone de conexiones a 0 lógico y a 1 lógico, indique cuál de las siguientes afirmaciones acerca de esta ALU es correcta. A ALU Z B C c 1 c 0 Operación 0 0 Z = A B 0 1 Z = A B 1 0 Z = A B 1 1 Z = A B A) Esta ALU puede sintetizarse empleando únicamente cuatro MUX(4), ocho puertas XOR de dos entradas, cuatro puertas AND de dos entradas y cuatro puertas OR de dos entradas. B) Esta ALU puede sintetizarse empleando una ROM de 2 10 palabras, 4 bits/palabra. C) Las dos anteriores son correctas. D) Ninguna de las anteriores. Solución: 1.- Los diferentes registros que se mencionan en esta pregunta son los siguientes: - El contador de programa (PC), que contiene la dirección de la instrucción a ejecutar. - El registro de instrucción (IR), en el que se carga (se transfiere desde memoria) la instrucción a ejecutar, es decir, la instrucción señalada por el PC. - El registro de direcciones de memoria (MAR) que contiene la dirección de memoria en la que se va a leer o a escribir. Como el bus de direcciones tiene 16 bits, las respuestas A y C no pueden ser ya que el PC y el MAR deberían tener necesariamente una longitud de 16 bits. El registro IR cumpliría las especificaciones de la pregunta al tener 8 bits y estar conectado al bus de datos y a la Unidad de Control Respuesta: B 2.- [Ver sección 6-2 del libro de teoría.] En el caso de direccionamiento implícito, se definen dos formatos de instrucciones diferenciadas por el primer bit. En caso de ser 0 tienen formato de control y se usan 15 bits adicionales para el control, es decir, se usan 16 bits y quedan 8 libres sin usar. En el caso de formato de bifurcación (primer bit a 1) se debe evaluar la condición que sea necesaria. Como el número de palabras de 2 20, 20 es número de bits necesarios para el campo dirección. Por lo tanto, el número de bits utilizados para codificar el número máximo de condiciones de bifurcación será: = 3 bits. Siendo por lo tanto 8 el número máximo de condiciones. Respuesta: D

365 3.- [Ver las páginas 81 y siguientes del libro de teoría.] La memoria principal de 4096M palabras (= palabras) necesita 32 bits para su direccionamiento (2 32 = 4096M). La memoria caché tiene 2 16 (= 64K) palabras. Como la correspondencia directa utiliza 2048 (= 2 11 ) palabras/bloque, hay (2 16 palabras) / (2 11 palabras / bloque) = 2 5 bloques en la caché. Al tratarse de correspondencia directa, una dirección de memoria principal se divide en tres campos: Etiqueta, Bloque y Palabra. El campo Bloque tendrá una longitud de 5 bits y el de Palabra 11. Por tanto, el campo Etiqueta tendrá una longitud de 32 - (5 + 11) = 16 bits. La dirección hexadecimal B3A972E0 se expresa en binario como: por lo que agrupando sus bits en los tres campos resulta: Etiqueta = Bloque = Palabra = Por tanto: I. Bloque = = II. La dirección 629E72E9 se puede expresar como Obsérvese que el campo Bloque de ambas direcciones es igual, por lo que la correspondencia directa asigna a ambas direcciones el mismo bloque de caché. Ahora bien, dado que sus campos Etiqueta son diferentes, es imposible que ambas palabras se encuentren simultáneamente en la caché. Como el enunciado afirma que la palabra de dirección B3A972E0 se encuentra en la caché, es imposible que también se encuentre la de dirección 629E72E9. Respuesta: A (I: sí, II: sí.) 4.- Esta pregunta está basada en el Problema 1-3. El ciclo de escritura en los módulos de memoria se muestra gráficamente en la Figura 1. El tiempo de ciclo de escritura es 100 nseg. El módulo de memoria usa el bus en exclusiva durante los primeros 20 nseg del ciclo, mientras que durante los restantes 80 nseg cualquier otro módulo puede hacer uso del bus. Control Dirección Datos Almacenamiento del dato 20 nseg 80 nseg Figura 1: Ciclo de escritura de los módulos de memoria Considerando que los ciclos de escritura se solapan al máximo, en la Figura 2 se muestra la velocidad máxima para el caso de N=3 y para N>4.

366 Módulos 100 nseg Vmax = 3 palabras / 100 nseg = 0.03 palabras/nseg ( 20 nseg) Módulos 100 nseg Vmax = 5 palabras / 100 nseg = 0.05 palabras/nseg ( 20 nseg) Módulos 120 nseg Vmax = 6 palabras / 120 nseg = 0.05 palabras/nseg ( 20 nseg) Módulos 140 nseg ( 20 nseg) Vmax = 7 palabras / 140 nseg = 0.05 palabras/nseg Figura 2: Operaciones de escritura en 3, 5, 6 y 7 módulos Respuesta: B (I: sí, II: no.) 5.- La afirmación I es verdadera. Ver ventaja b) de la página 59 del Problema 3-1. La afirmación II es verdadera. Ver desventaja a) de la página 60 del Problema 3-1. Respuesta: A (I: sí, II: sí) 6.- Este circuito realiza las ecuaciones. 4.1 y 4.2 del texto de teoría. Se trata de la Figura 4.8 del texto de teoría, pero sustituyendo cada SSB por su circuito. Respuesta: B 7.- [Ver el problema 6-4 y el apartado del texto de teoría.] En el caso de un procesador de cero direcciones el cálculo de la expresión dada se puede realizar mediante el conjunto de 6 instrucciones siguientes: Push[X]; Push[Y]; Add; Push[Z]; Add; Pop[Y] Serán necesarios 6 accesos a memoria para leer el código de operación de cada instrucción; además en el caso de las instrucciones Push y Pop se necesita un acceso adicional a memoria para acceder a los operandos, ya que las operaciones aritméticas se realizan con operandos que se encuentran ya en la pila. En total son 6 instrucciones, tres de las cuales son Push y una Pop: = 10 accesos.

367 Respuesta: A 8.- [Ver el problema 4-31] La estructura de la ALU según la opción A (ver la Figura 3) tiene dos entradas A (ai: i = 1..3) y B (bi: i = 1..3) que se conectan al conjunto de puertas lógicas que realizan las operaciones que se indican en la tabla del enunciado. Los cuatro multiplexores permiten elegir la operación deseada. La selección de las entradas de datos de los multiplexores se controla mediante c 0 y c 1 tal y como se muestra en la tabla del enunciado. c 1 c 0 b 3 a 3 b 2 a 2 b 1 a 1 b 0 a y 3 y 2 y 1 y 0 y 3 y 2 y 1 y 0 y 3 y 2 y 1 y 0 y 3 y 2 y 1 y 0 c 0 MUX (4) c 0 MUX (4) c 0 MUX (4) c 0 MUX (4) c 1 c 1 c 1 c 1 z 3 z 2 z 1 z 0 Figura 3: Estructura de la ALU lógica de 4 bits utilizando multiplexores y puertas En este diseño se ha tenido en cuenta que 1 x x Por lo tanto la opción A es cierta. En la Figura 4 se muestra el diseño según la opción B, que también es correcta: A B C ROM Z Figura 4: Estructura de la ALU lógica de 4 bits utilizando una ROM Respuesta: C

368 Cuestiones teórico-prácticas Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema Se está diseñando un computador, y se quiere estudiar la posibilidad de dotarle de una unidad de control microprogramada con un formato de microinstrucción horizontal, o bien con un formato de microinstrucción vertical. El secuenciador de microprograma que se va a utilizar, proporciona una dirección de 12 bits. Los respectivos formatos de microinstrucción son los que se muestran en las figuras 1 y 2. En el formato horizontal, Ai (i=1,2,3), Bj (j=1,2,3), Ck (k=1,..,4), Dm (m=1,2,3) y En (n=1,,8) son señales de control. En el formato vertical campo 4 se decodifica como sel-b o sel-d a partir del campo 2, que es un campo de selección. A1 A2 A3 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 E1. E8 Figura 1: Formato de microinstrucción horizontal. sel-a x Sel-C sel-b o sel D sel-e campo 1 campo 2 campo 3 campo 4 campo 5 Figura 2: Formato de microinstrucción vertical. A) (1.5 pto) Comparar el tamaño de la memoria de control para ambas alternativas. B) (1.5 pto) Comparar el tiempo de activación de las señales de control para los dos tipos de memoria de control. C) (1 pto) Comentar y razonar los resultados obtenidos en los apartados anteriores. Solución Para resolver este problema se puede consultar la sección del libro de teoría. A) - Cálculo del tamaño de la memoria de control con formato de microinstrucción horizontal: El campo de control se muestra en la siguiente figura: A1 A2 A3 B1 B2 B3 C1 C2 C3 C4 D1 D2 D3 E1. E8 3 bits 3 bits 4 bits 3 bits 8 bits De donde es fácil comprobar que el tamaño del campo de control con el formato horizontal es de 21 bits Como el campo de dirección de la microinstrucción, según el enunciado, tiene 12 bits, el número de microinstrucciones es de Por lo tanto, el tamaño de la memoria de control utilizando formato horizontal es de bits - Cálculo del tamaño de la memoria de control con formato de microinstrucción vertical: Teniendo en cuenta que en este caso con un subcampo de j bits se pueden especificar 2 j -1 señales de control (una de las codificaciones hay que reservarla para el caso de que ninguna señal de control esté activa), el formato de los subcampos de control de la microinstrucción con formato vertical es el que se muestra en la

369 siguiente figura: sel-a x sel-c sel-b o sel D sel-e Luego en este caso el número de bits utilizados en los subcampos de control de la microinstrucción vertical es de 12 bits Como el número de microinstrucciones es de 2 12, el tamaño de la memoria de control utilizando formato vertical es de bits Ambas memorias tienen el mismo número de palabras, pero la horizontal necesita un ancho de palabra casi el doble que la vertical, luego su tamaño será prácticamente el doble que la vertical. B) En el diseño vertical las señales de control se activan un cierto tiempo después respecto al diseño horizontal, igual al tiempo de decodificación. Según se puede apreciar en la figura siguiente, la decodificación impone un retardo igual al decodificador más lento, es decir, al decodificador sel-a X sel-c sel-b o sel-d sel-e DEC 2x4 DEC 3x8 DEC 2x4 DEC 2x4 DEC 4x16 A1 A2 A3 No C1 C2 C3 C4... No B1 B2 B3 No D1 D2 D3 No E1 E2... E8... No C) El ahorro de memoria del diseño vertical es lógico, puesto que las señales de control están codificadas, mientras que en el caso de la horizontal tenemos un bit para activar directamente cada señal. Por la misma razón, esta ventaja del caso vertical produce el inconveniente de introducir un retraso en la activación de las señales, puesto que se ha de realizar la decodificación. En el diseño habría que estudiar si lo que se prima más es un diseño rápido (en cuyo caso nos inclinaríamos por la memoria horizontal), o bien se valora más la optimización del tamaño de la memoria de control y la posibilidad de reducir errores de microcodificación (es este caso sería mejor el diseño vertical).

370

371

372

373 Test 1.- Un sistema jerárquico de memoria tiene una memoria caché de 4K palabras, dividida en bloques de 128 palabras y con un tiempo de acceso de 15 nseg, y una memoria principal de 128K palabras con un tiempo de acceso de 150 nseg. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y después se lee el dato desde la caché. Si la tasa de acierto de la caché es del 95%, cuál es el tiempo de acceso medio de este sistema? A) 315 nseg. B) 165 nseg. C) 975 nseg. D) Ninguna de las anteriores. 2.- Un disco formateado con entrelazado cuádruple, tiene 8 sectores por pista y una velocidad de rotación de 6000 rpm. Cuánto tardará en leer, en su orden, todos los sectores de una pista suponiendo que la cabeza de lectura se encuentra en la pista correcta y sobre el punto de comienzo del sector 4? A) 10 ms. B) 45 ms. C) 50 ms. D) Ninguna de las anteriores. 3.- En la figura se muestra el diagrama de bloques de un circuito y las expresiones lógicas que permiten calcular sus salidas a partir de sus entradas. Indique cuál de las afirmaciones siguientes acerca de este circuito es correcta: xi yi si = xi yi ci 1 p ci 1 c = c y + x p+ x p y + c ( )( ) i i 1 i i i i i 1 si ci A) Cuando p = 0, es un restador binario completo. B) Cuando p = 1, es un sumador binario completo. C) Las dos afirmaciones anteriores son correctas. D) Ninguna de las anteriores es correcta. 4.- En un bus con arbitraje centralizado: A) Cualquier dispositivo puede decidir en qué momento toma el control del bus. B) La temporización debe ser asíncrona. C) Todos los dispositivos actúan de forma cooperativa para compartir el bus. D) Todas las afirmaciones anteriores son falsas.

374 5.- Considere una memoria asociativa de n palabras y 8 bits/palabra. Indique cuál de los siguientes valores de los registros de argumento (A) y máscara (K) proporcionan un 1 en todos aquellos bits del registro de marca (M) cuya celda de memoria contenga un número impar, y un 0 en caso contrario. (Se considera que el cero es un número par). A) A= , K= B) A= , K= C) A= , K= D) Ninguna de las anteriores 6.- Se dispone de un computador que funciona a una velocidad de 10 8 ciclos por segundo y en el que, en promedio, una instrucción emplea 10 ciclos máquina y cada operación de lectura o escritura de una palabra de memoria tarda 2 ciclos máquina. Determinar la máxima velocidad de transferencia de datos si en este sistema se emplea DMA con estrategia de transferencia por ráfagas. A) 10 7 palabras/seg. B) palabras/seg. C) palabras/seg. D) Ninguna de las anteriores. 7.- El contenido inicial de un registro de desplazamiento de 4 bits es Entonces, se realiza una operación de desplazamiento, tras lo cual el contenido del registro pasa a ser Señale cuál de las afirmaciones siguientes es correcta. A) La operación de desplazamiento podría ser AIAS. B) La operación de desplazamiento podría ser AICS. C) Las dos anteriores son correctas. D) Ninguna de las anteriores. 8.- Dado el diagrama ASM de la figura, y suponiendo que para cada estado se debe generar una sola señal de control (c 0 en S 0, c 1 en S 1 y c 2 en S 2 ). Indique cuál de las siguientes afirmaciones es verdadera. I. Para implementarlo se puede usar un registro de 2 bits y una ROM de 8 de palabras de 8 bits. II. Para implementarlo se puede usar la técnica de selección por estado con lo que el multiplexor asociado tiene 4 entradas con 2 entradas de selección y la ROM un tamaño de 8 palabras de 8 bits. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

375 Solución al test 1. Véase el Apartado del texto base de teoría. El tiempo medio de acceso al sistema de memoria viene dado por la expresión siguiente: donde t acierto t fallo h t a = h t acierto + ( 1 h ) t fallo es el tiempo de acceso en caso de acierto es el tiempo de acceso en caso de fallo es la tasa de acierto Es decir, el tiempo medio de acceso es la media ponderada del tiempo medio de acceso en caso de acierto y del tiempo medio de acceso en caso de fallo. En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria caché, 15 nseg. La probabilidad de acierto es del 95 % (h = 0.95). En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde la memoria principal a la memoria caché y luego, según el enunciado, se mueve la palabra que ha producido el fallo desde la caché a la CPU. Luego en caso de fallo hay que mover 128 palabras (un bloque) desde la memoria principal, lo que tarda un tiempo de nseg = nseg; después se mueve una palabra desde la caché, lo que emplea otros 15 nseg. Luego en caso de fallo se tarda nseg. La probabilidad de un fallo de referencia es del 100 % 95 % = 5 % (h = 0.05). Por tanto, el tiempo medio de acceso de este sistema de memoria es: nseg nseg = nseg nseg = 975 nseg. Respuesta: C (975 nseg) 2. Véase el problema La numeración de los sectores es la mostrada en la figura. Como la cabeza de lectura ésta al comienzo del sector 4, en la primera vuelta lee el sector 0. En la segunda vuelta lee los sectores 1 y 2. En la tercera vuelta lee el sector 3. En la cuarta vuelta lee los sectores 4 y 5. Finalmente, en la quinta vuelta lee los sectores 6 y 7. Así pues, necesita dar 5 vueltas para leer los 8 sectores. 6 Respuesta: C (50 mseg) El tiempo empleado en dar una vuelta es: 60 / 6000 = 0.01 seg Con lo cual, el tiempo empleado en dar 5 vueltas es: seg = 0.05 seg

376 3. Véase el problema 4.4. Cuando p = 0, las expresiones del enunciado corresponden con un restador binario completo: si = xi yi ci 1 c = c y + x y + c ( ) i i 1 i i i i 1 Cuando p = 1, corresponden con un sumador binario completo: si = xi yi ci 1 c = c y + x y + c ( ) i i 1 i i i i 1 Respuesta: C (Las dos afirmaciones anteriores son correctas) 4. Véase el apartado del texto base de teoría. La primera afirmación, cualquier dispositivo puede decidir en qué momento toma el control del bus, es falsa, puesto que es el árbitro el responsable de asignar el tiempo de utilización. La segunda afirmación, la temporización debe ser asíncrona, también es falsa, ya que el método de arbitraje no condiciona el tipo de temporización. La tercera afirmación, todos los dispositivos actúan de forma cooperativa para compartir el bus, es cierta para buses con arbitraje distribuido, no centralizado, con lo cual también es falsa. Respuesta: D (Todas las afirmaciones anteriores son falsas) 5. Véase el apartado del texto base de teoría. Un número binario es impar cuando su bit menos significativo es igual a 1. Es decir, en el caso de números de 8 bits, cuando es de la forma XXXX XXX1, donde X puede ser 0 ó 1. Según se indica en el enunciado, cuando la celda de memoria contenga un número impar (es decir, un número con el bit menos significativo igual a 1) en el correspondiente bit del registro de marca debe obtenerse un 1. Por el contrario, cuando el número sea par (su bit menos significativo sea 0), el correspondiente bit del registro de marca debe ser 0. Para ello, los registros de argumento (A) y máscara (K) deben tomar los valores siguientes: A = XXXX XXX1 (donde X puede valer 0 ó 1) K = En particular, los valores dados en la respuesta B son válidos: A = K = Respuesta: B (A = , K = )

377 6. Véase el apartado del texto de teoría y el problema El DMA por ráfagas no libera el bus hasta haber transmitido el bloque de datos. Así pues, la velocidad máxima es: (10 8 ciclos/seg) / (2 ciclos/palabra) = palabras/seg. Respuesta: D (Ninguna de las anteriores) 7. Véase el apartado del texto base de teoría. El contenido inicial del registro de desplazamiento es Tras la operación de desplazamiento pasa a ser La respuesta A, la operación de desplazamiento podría ser AIAS, es correcta. El bit más significativo se mantiene, y se produce un desplazamiento hacia la izquierda de los tres bits menos significativos, introduciendo un 0 en el bit menos significativo. La respuesta B, la operación de desplazamiento podría ser AICS, es falsa. En caso de haberse producido este desplazamiento, los tres bits menos significativos deberían seguir siendo 1, cosa que no sucede. Por lo anterior, las respuestas C y D son falsas. Respuesta: A (La operación de desplazamiento podría ser AIAS) 8. Véase el apartado del texto base de teoría. El diagrama mostrado en el enunciado tiene 3 estados, 2 condiciones (que se consultan de manera excluyente) y 3 señales de control. Por tanto, es necesario usar 2 bits para la codificación del estado (n=2), dos señales de condición (q=2) y tres señales de control (m=3) La afirmación I, para implementarlo se puede usar un registro de 2 bits y una ROM de 8 de palabras de 8 bits, es falsa. Para diseñar la unidad de control usando únicamente una memoria ROM y un registro sería necesario un registro de al menos 2 bits y una ROM de al menos 2 n+q palabras (n+m) bits, es decir, de al menos 16 palabras con 5 bits/palabra. (Véase la Figura 5.31 del texto base de teoría) La afirmación II, para implementarlo se puede usar la técnica de selección por estado con lo que el multiplexor asociado tiene 4 entradas con 2 entradas de selección y la ROM un tamaño de 8 palabras de 8 bits, es cierta. Esto es debido a que en cada estado sólo se necesita una señal de condición, a que el multiplexor es MUX(2 n ), y a que la ROM tiene al menos 8 palabras (2 n+1 ), con 5 bits/palabra (n+m). Respuesta: C (I: no, II: sí) Cuestiones teórico-prácticas Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

378 Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema A) (2 puntos) Diseñe un registro de desplazamiento de 4 bits como el mostrado en la Figura 1. En la columna Operación R-4 de la Tabla 1 se muestran las operaciones que debe realizar el registro y qué codificación de las entradas de control (C 2 C 1 C 0 ) corresponde a cada una de estas operaciones. En el diseño deben emplearse multiplexores y elementos de memoria D. B) (2 puntos) Diseñe un registro de desplazamiento de 8 bits empleando dos registros de 4 bits como el diseñado en el apartado anterior y las puertas lógicas necesarias. En la columna Operación R-8 de la Tabla 1 se indica la operación que debe realizar el registro de 8 bits para cada valor de las entradas de control. QQQQ Salida paralelo E D Entrada serie Salida serie S I Reloj CK REGISTRO DE DESPLAZAMIENTO Entrada paralelo Figura 1: Diagrama de un registro de desplazamiento. 4 4 EEEE E I S D Entrada serie Salida serie CCC Control CCC Operación R-4 Operación R NOP NOP LDAS LDAD LIAS LIAD LDCS LDCD LICS LICD Carga paralelo Carga paralelo NOP NOP NOP NOP Tabla 1: Codificación de las entradas de control.

379 Solución al problema A) El diseño puede realizarse de manera análoga al mostrado en el Apartado del texto base de teoría. En la Tabla 2 se indica cuál es la salida del circuito en el instante t+1, Q(t+1), para cada uno de los valores de las entradas de control (C 2 C 1 C 0 ). La salida en t+1 está expresada en función del vector de salidas en el instante t, (Q 3,Q 2,Q 1,Q 0 ), del vector de entradas paralelo, (E 3,E 2,E 1,E 0 ), y de las entradas serie, E D y E I. El diseño del registro de desplazamiento se muestra en la Figura 2. CCC Operación R-4 Q(t+1) NOP (Q 3,Q 2,Q 1,Q 0 ) LDAS (E D,Q 3,Q 2,Q 1 ) LIAS (Q 2,Q 1,Q 0,E I ) LDCS (Q 0,Q 3,Q 2,Q 1 ) LICS (Q 2,Q 1,Q 0,Q 3 ) Carga paralelo (E 3,E 2,E 1,E 0 ) NOP (Q 3,Q 2,Q 1,Q 0 ) NOP (Q 3,Q 2,Q 1,Q 0 ) Tabla 2: Descripción de la salida del circuito. Q3 Q2 Q1 Q0 SI Q Q Q Q SD D D D D CK C2 C1 C0 MUX MUX MUX MUX ED EI E3 E2 E1 E0 Figura 2: Diseño del registro de desplazamiento de 4 bits.

380 B) A partir de la tabla de operaciones mostrada en el enunciado, se obtiene el valor de la salida del registro de desplazamiento de 8 bits en el instante t+1. Se muestra en la Tabla 3. CCC Operación R-8 Q(t+1) NOP (Q 7,Q 6,Q 5,Q 4,Q 3,Q 2,Q 1,Q 0 ) LDAD (E D,Q 7,Q 6,Q 5,Q 4,Q 3,Q 2,Q 1 ) LIAD (Q 6,Q 5,Q 4,Q 3,Q 2,Q 1,Q 0,E I ) LDCD (Q 0,Q 7,Q 6,Q 5,Q 4,Q 3,Q 2,Q 1 ) LICD (Q 6,Q 5,Q 4,Q 3,Q 2,Q 1,Q 0,Q 7 ) Carga paralelo (E 7,E 6,E 5,E 4,E 3,E 2,E 1,E 0 ) NOP (Q 7,Q 6,Q 5,Q 4,Q 3,Q 2,Q 1,Q 0 ) NOP (Q 7,Q 6,Q 5,Q 4,Q 3,Q 2,Q 1,Q 0 ) Tabla 3: Descripción de la salida del registro de desplazamiento de 8 bits. Para diseñar el registro de desplazamiento de 8 bits, se emplean 2 registros de desplazamiento de 4 bits, que llamaremos R1 y R0 (véase la Figura 3). El registro R1 proporcionará los 4 bits más significativos de la salida del registro de 8 bits. El registro R0 los 4 bits menos significativos. Llamamos: C 12 C 11 C 10 entradas de control al registro de 4 bits R1. C 02 C 01 C 00 entradas de control al registro de 4 bits R0. C 2 C 1 C 0 entradas de control al registro de 8 bits. A continuación, se explica paso a paso cómo realizar el diseño. Q 7 Q 6 Q 5 Q4 Q 3 Q 2 Q 1 Q0 E D SI CCC E D1 S I1 CK R1 E I1 S D1 C C C E D0 S I0 CK R0 EI0 S D0 C C C E I SD CK EEEE EEEE Figura 3: Entradas y salidas de los registros de 4 bits y del registro de 8 bits. Operaciones NOP. Cuando las entradas de control al registro de 8 bits valen CCC 2 1 0=000, CCC 2 1 0=110 o CCC 2 1 0=111, no debe realizarse ninguna operación. Para esos mismos valores de sus entradas de control, los registros de 4 bits no realizan ninguna operación. Por tanto, los valores de las señales de control para cada uno de los registros de 4 bits serán las siguientes:

381 CCC Operación R C 12 C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R NOP NOP NOP NOP NOP NOP NOP NOP NOP Operación Carga paralelo : Cuando la entrada de control al registro de 8 bits vale CCC 2 1 0=101, debe producirse la carga de los bits de entrada paralelo. Para ese mismo valor de sus entradas de control, los registros de 4 bits realizan la carga paralelo. Por ello: CCC Operación R-8 C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R Carga paral Carga paral Carga paral. Operación LDAD: El desplazamiento LDAD del registro de 8 bits puede realizarse mediante un desplazamiento LDAS de los dos registros de 4 bits. Para ello, la salida S D1 debe estar conectada a la entrada E D0 (véase la Figura 3). Asimismo, la entrada E D debe estar conectada a E D1 y la salida S D0 debe estar conectada a S D. CCC Operación R-8 C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R LDAD LDAS LDAS Operación LIAD: El desplazamiento LIAD del registro de 8 bits puede realizarse mediante un desplazamiento LIAS de los dos registros de 4 bits. Para ello, la salida S I0 debe estar conectada a la entrada E I1 (véase la Figura 3). Asimismo, la entrada E I debe estar conectada a E I0 y la salida S I1 debe estar conectada a S I. CCC Operación R-8 C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R LIAD LIAS LIAS Operación LDCD: El desplazamiento LDCD del registro de 8 bits puede realizarse mediante un desplazamiento LDAS de los dos registros de 4 bits. Para ello, la salida S D1 debe estar conectada a la entrada E D0 (véase la Figura 3). Asimismo, la entrada E D1 debe estar conectada a Q 0 (o, equivalentemente, a S D0 ). CCC Operación R-8 C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R LDCD LDAS LDAS Operación LICD: El desplazamiento LICD del registro de 8 bits puede realizarse mediante un desplazamiento LIAS de los dos registros de 4 bits. Para ello, la salida S I0 debe estar conectada a la entrada E I1 (véase la Figura 3). Asimismo, la entrada E I0 debe estar conectada a Q 7 (o, equivalentemente, a S I1 ). CCC Operación R-8 C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R LICD LIAS LIAS De las explicaciones anteriores, se deduce que el registro de desplazamiento puede diseñarse de la forma mostrada en la Figura 4, donde los bloques C0, C1, C2 mostrados en la figura representan circuitos combinacionales.

382 Q 7 Q 6 Q 5 Q4 Q 3 Q 2 Q 1 Q0 E D SI CCC CK 3 C1 E D1 S I1 R1 E I1 S D1 E D0 S I0 R0 EI0 S D0 C12C11C10 C02C01C00 C2 C0 E I SD EEEE EEEE Figura 4: Diseño del registro de desplazamiento de 8 bits. Para obtener los 2 puntos con que se califica el apartado B) del problema, es suficiente con haber llegado de manera razonada a obtener el diseño mostrado en la Figura 4. Por completitud, a continuación se explica cómo puede realizarse el diseño de los circuitos C0, C1 y C2. Los bloques C1 y C0 de la Figura 4 representan los circuitos mostrados en las Figuras 5 y 6 respectivamente. El diseño de estos circuitos se ha realizado de la forma descrita a continuación. Diseño de C1. Pueden darse dos posibles desplazamientos hacia la derecha: 1. LDAD ( CCC 2 1 0=001), en cuyo caso E D1 = E D 2. LDCD ( CCC 2 1 0=011), en cuyo caso E D1 = Q 0 Por consiguiente, E D1 puede calcularse de la expresión siguiente: E = C C C E + C C C Q D D Diseño de C0. Pueden darse dos posibles desplazamientos hacia la izquierda: 1. LIAD ( CCC 2 1 0=010), en cuyo caso E I0 = E I 2. LICD ( CCC 2 1 0=100), en cuyo caso E I0 = Q 7 Por consiguiente, E I0 puede calcularse de la expresión siguiente: E = C C C E + C C C Q I I E D E I E D1 E I0 Q 0 Q 7 C 2 C 1 C 0 C 2 C 1 C 0 Figura 5: Circuito C1. Figura 6: Circuito C0.

383 El circuito C2 convierte las señales de control del registro de 8 bits a las correspondientes señales de control de los registros de 4 bits. Las funciones lógicas de las tres salidas del circuito C2, y por tanto de las señales de control de los registros de 4 bits, pueden obtenerse de la Tabla 4. CCC Operación R- C C 11 C 10 Operación R1 C 02 C 01 C 00 Operación R NOP NOP NOP LDAD LDAS LDAS LIAD LIAS LIAS LDCD LDAS LDAS LICD LIAS LIAS Carga paral Carga paral Carga paral NOP NOP NOP NOP NOP NOP Tabla 4: Entradas de control de los registros de 4 bits y de 8 bits para cada operación. Las funciones lógicas son las siguientes: C = C = C C C + C C C + C C C C = C = C C C + C C C + C C C + C C C C = C = C C C + C C C + C C C + C C C Simplificándolas, empleando mapas de Karnaugh, se obtiene: C = C = C C + C C C = C = C C + C C + C C C = C = C El circuito C2, síntesis de estás funciones lógicas, es mostrado en la Figura 7. C = C C = C C 2 C 1 C 0 Figura 7: Circuito C2. C = C 10 00

384

385

386

387 2007 Septiembre Test: 1.- Cuál es la velocidad máxima de transferencia que se puede conseguir con un disco formateado con entrelazado doble y 8 sectores de 16 Kbytes por pista, y una velocidad de rotación de 4500 rpm.? A) 9600 Kbytes/seg. B) 4800 Kbytes/seg. C) 3490,91 Kbytes/seg. D) Ninguna de las anteriores 2.- Cuál es el tamaño en bytes de una memoria caché con correspondencia asociativa por conjuntos que tiene la siguiente longitud de sus tres campos: ETIQUETA 24 bits, CONJUNTO 8 bits y PALABRA 8 bits. La caché tiene 4 bloques por conjunto y su longitud de palabra es de 2 bytes. A) 256 Kbytes B) 512 Kbytes C) 1024 Kbytes D) Ninguna de las anteriores 3.- El formato de instrucción de un procesador hipotético es el siguiente: los 4 bits más significativos almacenan el código de operación y los restantes 12 bits contienen la dirección de memoria. El formato de almacenamiento de los números enteros es el siguiente: el bit más significativo contiene el signo (0: positivo; 1: negativo), y los 15 bits restantes la magnitud. La CPU contiene tres registros internos: el contador de programa (PC), el registro de instrucción (IR) y el acumulador (AC). La lista de los códigos de operación incluye los siguientes: (cargar AC desde memoria), (almacenar AC en memoria), (restar al AC de memoria), (sumar al AC de memoria). Si las posiciones de memoria A0F 16 y 3A0 16 contienen respectivamente: X e Y, señale cuál es el contenido de la posición de memoria 3A0 16 una vez ejecutadas las cuatro instrucciones siguientes: 13A0 16, 9A0F 16, 93A0 16, 2A0F 16. A) Y B) X+2Y C) 2X+Y D) X 4.- Empleando un procesador de una dirección (procesador con acumulador) con un banco de registro Ri, indicar qué operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store R1, Mult R1, Div X, Store X. 1

388 2 Estructura y Tecnología de Computadores II A) X = ((X+Y+Z) 2 )X 2 B) X = ((X+Y+Z) 2 )X C) X = (X+Y+Z) 2 D) Ninguna de las anteriores 5.- Cuál es la representación en complemento a 2, con una longitud de palabra de 8 bits, de x = 56 10? A) x = B) x = C) x = D) Ninguna de los anteriores 6.- Empleando únicamente una ROM, se pretende diseñar un comparador de dos números de 4 bits que genere las funciones mayor que, menor que e igual que. Indique cuál de las siguientes ROM podría emplearse. A) 2 4 palabras, 4 bits/palabra B) 2 8 palabras, 4 bits/palabra C) Las dos anteriores D) Ninguna de las anteriores 7.- Si TP, TI y TD denotan el tiempo de CPU que se necesita para realizar una transferencia de una sola palabra empleando E/S controlada por programa, con interrupciones y con DMA respectivamente, se verifica la relación: A) TP<TI<TD B) TP<TD<TI C) TD<TI<TP D) Ninguna de las anteriores 8.- El tamaño máximo de la memoria de control de un computador es de 2 20 palabras. La parte de control del formato de una microinstrucción (de la unidad de control microprogramada) de este computador emplea 8 bits para seleccionar independientemente las microoperaciones que se llevan a cabo. Esta unidad de control tiene un campo para indicar el tipo de bifurcación a realizar (condicional, incondicional o no bifurcar) y un campo para seleccionar una única señal de condición de las 32 señales disponibles. Cuál es el tamaño de las microinstrucciones en bits? A) 20 B) 35 C) 52 D) Ninguna de las anteriores Solución 1.- La velocidad máxima de lectura del disco se consigue cuando se lee un único sector del disco. Tamaño del sector: 16 Kbytes Velocidad de giro: 4500/60 rev/seg Tiempo necesario en dar un giro completo el disco: 60/4500 seg Tiempo de lectura del sector: (60/4500)/8 seg. = 9,375 seg. Velocidad máxima: 16 Kbytes / ((60/4500)/8) seg = 9600 Kbytes/seg Respuesta: A (9600 Kbytes/seg) 2.- [Ver la sección del libro base de teoría]. El enunciado indica que la memoria caché interpreta la dirección de la memoria principal de la forma siguiente: ETIQUETA 24 bits, CONJUNTO 8 bits, PALABRA 8 bits El tamaño de la memoria caché se calcula haciendo las siguientes consideraciones: Puesto que son necesarios 8 bits para especificar el conjunto, la caché dispone de 2 8 conjuntos. Según se indica en el enunciado, tiene 4 bloques por conjunto. Son necesarios 8 bits para direccionar una palabra dentro del bloque, con lo cual tiene 2 8 palabras en cada bloque.

389 ETC2 - Examen septiembre El enunciado indica que la longitud de cada palabra es de 2 bytes. De todo lo anterior se sigue que el tamaño de la caché es el siguiente: (2 8 conjuntos) (4 bloques/conjunto) (2 8 palabras/bloque) (2 bytes/palabra) = 2 19 bytes = 512K bytes Respuesta: B (512K bytes) 3.- Las instrucciones realizan las siguientes acciones: 13A0 16 : Carga el contenido de la posición de memoria 3A0 16 en el AC (AC=Y) 9A0F 16 : Suma el contenido de la posición de memoria A0F 16 en el AC. Como resultado, en el AC se obtiene: X+Y. 93A0 16 : Suma el contenido de la posición de memoria 3A0 16 en el AC. Como resultado, en el AC se obtiene: X+2Y. 2A0F 16 : Almacena el contenido de AC en la posición de memoria A0F 16. Por tanto: Contenido de A0F: X + 2Y Contenido de 3A0: Y Respuesta: A(Y) 4.- El resultado de la ejecución de la secuencia de instrucciones propuesta es: ((( X + Y + Z ) X ) 2 ) / X = (( X + Y + Z ) 2 X 2 ) / X = ( X + Y + Z ) 2 X Respuesta: B( X= (( X + Y + Z ) 2 ) X ) 5.- En el apartado del libro de teoría se explica cómo calcular el complemento a 2. En el problema 4-46 se convierten varios números de representación decimal a complemento a = Para calcular el complemento a 2 de ese número, se complementan todos los bits del número y al resultado se le suma la unidad: = C2 Respuesta: B( x = ) 6.- La pregunta está basada en el problema En un caso general para se necesitará una memoria ROM de un tamaño mínimo: (2 núm. entradas ) palabras (núm. salidas) bits/palabra En el caso del comparador propuesto el número de entradas es = 8, y el número de salidas es 3, por lo que se necesitará una memoria ROM de un tamaño mínimo de 2 8 palabras 3 bits/palabra. La respuesta A propone una capacidad con un número de palabras inferior al necesario y no vale. Sin embargo la respuesta B tiene capacidad mayor que la necesaria por lo que se podría emplear para diseñar el comparador. Respuesta: B( 2 8 palabras 4 bits/palabra) 7.- El tiempo de CPU es mayor en la E/S controlada por programa, inferior en la E/S por interrupciones y la técnica que emplea menos tiempo de la CPU es la E/S por DMA. Respuesta: C(TD<TI<TP)

390 4 Estructura y Tecnología de Computadores II 8.- [Ver problema 7.2 del libro de problemas]. Como el tamaño máximo de la memoria de control es de palabras, se necesitan reservar 20 bits para la dirección. Si la microinstrucción tiene X bits de longitud, de los cuales 8 bits se emplean para seleccionar las microoperaciones, 2 bits para codificar el tipo de bifurcación y 5 (2 5 =32) para seleccionar una única señal de condición, y por lo tanto, X-8-2-5=20 -> X= =35 De esta forma, el tamaño de las microinstrucciones es de 35 bits. Respuesta: B (35) Cuestiones teórico-prácticas: 1.- Justificar el resultado de la pregunta 1 del test. 2.- Justificar el resultado de la pregunta 2 del test. 3.- Justificar el resultado de la pregunta 3 del test. Solución 1.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 2.- Esta pregunta ya ha sido contestada a la hora de resolver el test. 3.- Esta pregunta ya ha sido contestada a la hora de resolver el test. Problema: Se desea construir un sistema de memoria con las siguientes características: Palabra de memoria de 16 bits. 512K palabras de espacio direccionable. 64K palabras de sólo lectura en las direcciones más bajas; el resto del espacio direccionable será de lectura/escritura. Para ello se dispone de los siguientes módulos en cantidad suficiente: RAM de 64K x 8 bits. RAM de 128K x 16 bits. ROM de 16K x 16 bits. Decodificadores varios. Cada uno de los módulos de memoria y los decodificadores cuentan con una entrada de selección SC, activa en alta (SC = 1), que permite habilitar su funcionamiento. Se pide lo siguiente:

391 ETC2 - Examen septiembre A) Diseñar el sistema de memoria requerido, indicando detalladamente la conexión de las líneas de datos, de dirección y de control. Justificar las decisiones de diseño adoptadas. B) Indicar en qué módulos de memoria se encuentra almacenada la palabra con la siguiente dirección en hexadecimal 186A0. Solución A) La Figura 1 muestra el número de líneas de datos y de dirección que pueden entrar a cada uno de los chips de memoria del problema. Dado que las primeras 64K palabras deberán ser de ROM, parece claro que ese espacio de memoria deberá construirse utilizando cuatro módulos de ROM de 16K x 16 bits. Las 448K palabras restantes deberán construirse utilizando módulos de RAM. Aunque existen diferentes posibilidades, la más razonable parece colocar dos módulos de RAM de 64K x 8 bits a continuación de los módulos de ROM. Entre ambos tipos de memoria se han completado 128K palabras de 16 bits. Una vez hecho esto, se colocan tres módulos de RAM de 128K palabras x 16 bits para completar el resto del espacio hasta las 512K palabras. Figura 1: Módulos de memoria del problema La Figura 2 muestra la distribución de los módulos de memoria, la conexión de las líneas del bus de datos y de direcciones, así como la lógica de selección de dichos módulos. Se utiliza un primer decodificador de 2 a 4 para seleccionar uno de entre cuatro módulos de 128K palabras, haciendo uso de las líneas A 18 y A 17. Las tres salidas de más peso se conectan a las entradas de selección SC de los tres módulos de RAM de 128K palabras. La salida de menos peso se usa para habilitar un segundo decodificador, de 1 a 2 (también podrían usarse puertas lógicas), que permite seleccionar entre las 64K palabras superiores (las de RAM) o las inferiores (de ROM), haciendo uso de la línea A 16. Si se activa la salida de menos peso del decodificador, dicha salida habilita a su vez a un tercer decodificador, de 2 a 4, que permite seleccionar uno de los cuatro módulos ROM de 16K palabras haciendo uso de las señales de control A 15 y A 14. Las líneas de dirección de menos peso entran directamente a cada uno de los chips correspondientes. Puede observarse que todas las líneas de dirección intervienen de una u otra manera en la selección de datos dentro de cada chip.

392 6 Estructura y Tecnología de Computadores II Figura 2: Esquema de la unidad de memoria y su lógica de selección B) La palabra con dirección hexadecimal 186A0 es, en binario, la dirección siguiente (representándola en 19 bits, ya que hay 19 líneas de direcciones): Puede verse que esta dirección habilita la salida 0 del decodificador inferior, con lo que se activa el decodificador intermedio. A su vez, la línea A 16 está a 1, por lo que se habilita la pareja de módulos RAM de 64K x 8. En consecuencia, el dato está en estos módulos. Puede verse también que la dirección hexadecimal 186A0 es en decimal la dirección , lo que se corresponde con el rango de direcciones almacenado en dicha pareja de módulos, que va desde 64K palabras a (128K palabras-1).

393

394

395

396

397 Test 1.- La memoria de un ordenador consta de 15 módulos independientes conectados a un bus de memoria común. En una operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación durante un 20% del tiempo total del ciclo de escritura. El 80% restante del tiempo de ciclo de escritura, el módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse (pero sólo puede haber una petición en un instante de tiempo), en cuánto se ve incrementada la velocidad máxima de almacenamiento de la memoria de este ordenador en relación a la velocidad de un único modulo? A) En nada B) En 5 veces C) En 10 veces D) Ninguna de las anteriores. 2.- Un sistema jerárquico de memoria tiene una memoria caché de 512 palabras, dividida en bloques de 16 palabras y con un tiempo de acceso de 15 nseg, y una memoria principal de 4096K palabras con un tiempo de acceso de 150 nseg. Cuando se produce un fallo, primero se mueve el bloque completo a la memoria caché y después se lee el dato desde la caché. Si la tasa de acierto de la caché es del 95%, cuál es el tiempo de acceso medio de este sistema? A) 135 nseg B) 150 nseg C) 180 nseg D) Ninguna de las anteriores. 3.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique si las siguientes afirmaciones son verdaderas: I s 0 /c 3 S0 S1 S2 s 0 /c 2 I/c 0, c 1 s 2 /c 2,c 3 S3 s 1 /c 3

398 I. La unidad de control se puede implementar usando dos MUX (2 2 ), un registro de cuatro bits y una memoria ROM de 2 4 palabras con 16 bits por palabra. II. La unidad de control se puede implementar usando un MUX (2 2 ), un registro de dos bits y una memoria ROM de 2 3 palabras con 16 bits por palabra. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 4.- Una memoria caché asociativa por conjuntos dispone de 8 conjuntos y utiliza bloques de 32 palabras, siendo su capacidad total de 4096 palabras. La memoria principal tiene una capacidad de 8192K palabras. Cuántos bits hay en los diferentes campos del formato de dirección? A) Etiqueta: 10, Conjunto: 8, Palabra: 5 B) Etiqueta: 12, Conjunto: 8, Palabra: 5 C) Etiqueta: 15, Conjunto: 3, Palabra: 5 D) Ninguna de las respuestas anteriores. 5.- Un multiplicador binario de 2 números de 8 bits cada uno se puede realizar con una memoria ROM de la siguiente capacidad: A) 2 9 palabras 16 bits/palabra B) 2 16 palabras 8 bits/palabra C) 2 16 palabras 16 bits/palabra D) 2 16 palabras 9 bits/palabra 6.- Un computador dispone de un canal multiplexor que controla 3 unidades de disco y 2 unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 500 Kbytes/seg, y las de cinta de 250 Kbytes/seg. Si en lugar de un canal multiplexor se utilizase un canal selector con esos mismos dispositivos, la velocidad máxima de transferencia de este canal con respecto al multiplexor sería: A) 4 veces mayor. B) 4 veces menor. C) Igual. D) Ninguna de las anteriores. 7.- Determinar el número mínimo de palabras que podría tener una instrucción que especifica dos direcciones en un computador cuya memoria es de 16M palabras. Las palabras de memoria son de 8 bits. Los operandos pueden direccionar todo el mapa de memoria. El código de operación es de 8 bits y emplea para ambos operandos un direccionamiento directo o absoluto. A) 3 B) 6 C) 9 D) Ninguna de las anteriores. 8.- Indique si las siguientes afirmaciones son verdaderas: I. El formato horizontal de microinstrucciones permite que existan microinstrucciones de bifurcación condicional. II. El formato horizontal de microinstrucciones permite tener memorias de control más pequeñas que el formato vertical. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no.

399 Solución al test 1. Si se tuviese un único módulo, la velocidad máxima se calcularía como el número de accesos entre el tiempo empleado para ello. Si sólo hay un módulo se realizará un acceso cada 100 unidades de tiempo, es decir, en el 100% del ciclo de escritura, independientemente de qué parte de ese tiempo se emplee en el uso del bus, dado que se sólo se tiene un módulo para realizar todas las operaciones. Con 15 módulos se podrían dar hasta 15 accesos, pero como se invierte un 20% del tiempo de acceso (1/5 del tiempo total), en que el módulo de memoria utilice el bus, solamente se podrán solapar 5 módulos al mismo tiempo (cada 100 unidades de tiempo se pueden gestionar como máximo 5 accesos). Luego para gestionar los 15 accesos se necesitan 300 unidades de tiempo. Conclusión: con 15 módulos la velocidad es 5 veces mayor. Con 10 también sería 5 veces y con 50 también. Respuesta: B (En 5 veces) 2. [Ver el apartado del libro de teoría]. El tiempo medio de acceso t a viene dado por la expresión: t a = h t ca + (1-h) t p donde: h es la tasa de acierto. t ca es el tiempo medio de acceso a la M ca. t p es el tiempo medio de acceso a la M p. En caso de acierto, el tiempo medio de acceso es el tiempo de acceso a la memoria caché, 15 nseg. La probabilidad de acierto es del 95 % (0,95). En caso de fallo, primero se mueve el bloque completo que ha producido el fallo desde la memoria principal a la memoria caché y luego, según el enunciado, se mueve la palabra que ha producido el fallo desde la caché a la CPU. Luego en caso de fallo: 1. Hay que mover 16 palabras (un bloque) desde la memoria principal, lo que lleva nseg = 2400 nseg. 2. Después se mueve una palabra desde la caché, lo que emplea otros 15 nseg. Luego en caso de fallo se tarda 2415 nseg. La probabilidad de un fallo de referencia es del 100 % - 95 % = 5 % (0,05). El tiempo medio de acceso de este sistema de memoria será por tanto: (0,95 15 nseg) + (0, nseg) = 14,25 nseg + 120,75 nseg = 135 nseg. Respuesta: A (135 nseg)

400 3. [Ver el apartado del libro de teoría y problema 5-22 del libro de problemas]. Como la transición entre los estados no está regida por una única señal de condición en cada caso (véase la transición desde S2 en la que se tienen en cuenta dos condiciones diferentes), la unidad de control no puede realizarse empleando un único Mux de 2 n que es lo que se propone en la afirmación II. Empleando la generalización de la selección por campo que aparece en el problema 5-22, se tiene que: n = 2, puesto que hay 4 estados. q = 4, puesto que hay 4 señales de condición (I, s 0, s 1, s 2 ). m = 4, puesto que hay 4 señales de control que se deben generar (c 0, c 1, c 2 y c 3 ). p = 2, puesto que la transición desde S2 depende de dos condiciones. Por lo tanto sería suficiente con utilizar: p=2 MUX de 4 entradas 1 registro de log 2 q+n=2+2=4 bits 1 memoria ROM de 2 n+p palabras (p log 2 q+n+m) bits = 2 4 palabras (2 log )=2 4 palabras 10 bits por palabra. Este razonamiento conlleva a que la afirmación I es válida, puesto que la ROM tiene tamaño suficiente. Respuesta: B (I: sí, II: no) 4. Se tiene una memoria caché asociativa por conjuntos donde el número de conjuntos q = 8 (=2 3 ). La capacidad total de la memoria caché es de 4096 palabras (o sea 2 11 palabras) estructurada en bloques de 32 (=2 5 ) palabras cada uno de ellos. La capacidad de la memoria principal es de 8192K palabras (es decir 2 13 x 2 10 = 2 23 ), por tanto el formato de la dirección de una palabra de memoria necesita 23 bits. Como la memoria caché utiliza una correspondencia asociativa por conjuntos, el formato de la dirección se divide en: Bits de etiqueta (los más significativos de la dirección). Bits de conjunto (los centrales de la dirección) Bits de palabra (los menos significativos de la dirección). Como hay 32 palabras en cada bloque de memoria principal, se necesitan 5 bits para el campo de palabra. Como se tienen 8 conjuntos, son 3 los bits que se dedican al campo de conjunto. Por tanto = 15 son los bits que se dedican al campo de etiqueta. Respuesta: C (Etiqueta: 15, Conjunto: 3, Palabra: 5) 5. Para conocer el tamaño adecuado de la memoria ROM que se necesita, hay que darse cuenta de que el producto de un número binario de 8 bits con otro número binario de otros 8 bits, da como resultado un número binario de 16 bits. Por tanto la memoria ROM pedida debe ser capaz de almacenar todos los resultados de multiplicar 2 números

401 binarios de 8 bits. Si el resultado de cada multiplicación ocupa 16 bits, serán 2 16 los posibles resultados de llevar a cabo estas multiplicaciones. Por tanto la ROM necesaria debe tener una capacidad igual a la descrita en la respuesta C. Respuesta: C (2 16 palabras 16 bits/palabra) 6. [Véase el apartado del libro de teoría]. La máxima velocidad de transferencia del canal multiplexor es la suma de las velocidades máximas de todos los dispositivos que están conectados a él. Por tanto un canal multiplexor que controla 3 discos y 2 cintas tendría una velocidad de: V = 3*Vdisco + 2*Vcinta = = 2000 Kbytes/segundo. Por otro lado, el canal selector tendrá como velocidad máxima la del elemento más rápido conectado a él, puesto que en cada momento sólo puede transmitir con un dispositivo. En nuestro caso el elemento más rápido es el disco, que tiene una velocidad de transferencia de 500 Kbytes/segundo. Por tanto, la velocidad del canal selector será 4 veces menor que la del multiplexor. Respuesta: B (4 veces menor) 7. [Ver el apartado del texto de teoría] Como el tamaño de memoria es de 16M palabras = palabras = 2 24 palabras, cada campo de dirección de la instrucción necesitaría 24 bits, de forma que una instrucción con dos direcciones necesitaría = 56 bits (24 correspondientes a cada uno de los campos de dirección y 8 correspondiente al código de operación). Como las palabras de memoria según el enunciado son de 8 bits, para cada instrucción se necesitarán como mínimo 7 palabras de memoria. Respuesta: D (Ninguna de las anteriores) 8. [Ver apartados 7.2 y 7.3 del libro de teoría]. Afirmación I: Si. El hecho de que existan microinstrucciones de bifurcación condicional es independiente del formato que tenga la microinstrucción. Afirmación II: No. Es justo lo contrario. El formato vertical utiliza longitudes de palabra más reducidas y por lo tanto requiere memorias de control más pequeñas. Respuesta: B (I: si, II: no) Cuestiones teórico-prácticas Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

402 Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema Un procesador que opera a 200 MHz y en el que en promedio una instrucción emplea 4 ciclos máquina (CPI = 4) dispone de un sistema de interrupciones con un tiempo de reconocimiento de interrupción de 100 ns. Este procesador se conecta a un disco magnético con 128 sectores/pista y 1024 bytes/sector a través del sistema de interrupciones. En cada interrupción se transmiten 8 bytes utilizando una rutina de servicio que ejecuta 20 instrucciones. Se desea determinar lo siguiente: A) (1 pto) Capacidad de entrada de datos (ancho de banda) máxima en bytes/segundo a través del sistema de interrupciones. B) (1 pto) Velocidad de rotación máxima a la que podrá operar el disco en r.p.m. (revoluciones por minuto). C) (1 pto) Si el disco se conecta a través de DMA operando por robo de ciclo y cada vez que se le concede el bus transmite 8 bytes, calcular el tiempo que el DMA roba a la CPU durante la lectura de un sector. D) (1 pto) Porcentaje de tiempo que la CPU dedica a la E/S durante la operación del DMA si el disco opera a la velocidad determinada en el apartado B). Nota: Considerar que 1Mbyte = 10 6 bytes. Solución al problema En la figura se muestran los elementos que intervienen en el problema: Memoria CPU E/S 1024 bytes RSI INT MHz ó - CPI=4 DMA 128 sectores ω rpm Solución apartado A) A partir de la frecuencia del procesador se calcula el tiempo de ciclo (t c ) del mismo, que es la inversa de la frecuencia. Por tanto con una frecuencia de 200 MHz t c = 5 ns. El tiempo que dura una operación de E/S por interrupción (t int ) es la suma del tiempo que se emplea en el reconomiento de la interrupción (100 ns) más el tiempo empleado en ejecutar la rutina que gestiona dicha interrupción. Esta rutina consta de 20 instrucciones, cada una de ellas de 4 ciclos y sabemos que el tiempo empleado por ciclo

403 es de 5 ns, (dato que se obtiene a partir de la frecuencia del procesador). Por tanto, el tiempo de una operación de E/S por interrupción es el siguiente: t int = 100 ns + 20 instrucciones 4 ciclos/instrucción 5 ns/ciclo = 500 ns. Durante este tiempo se transmiten 8 bytes, por lo que el ancho de banda (bytes/seg) a través del sistema de interrupciones será el número de bytes transmitido entre el tiempo que se tarda en transmitir: Ancho de banda = 8 bytes / ( sg )= bytes/sg = 16 MB/sg (Recuérdese que se ha tomado 1MByte=10 6 bytes, tal y como se indica en el enunciado) Solución apartado B) El disco magnético tiene 128 sectores/pista y bytes/sector. Por tanto, el número de bytes/pista se calcula como: bytes/sector 128 sectores/pista = (2 10 x2 7 ) bytes/pista = 2 17 bytes/pista Por otro lado, para calcular la velocidad máxima de rotación es necesario conocer el ancho de banda del disco. Como el disco está conectado al procesador a través del sistema de interrupciones, su ancho de banda debe ser menor o igual que el ancho de banda del sistema de interrupciones (calculado en el apartado A) del problema). Para calcular el ancho de banda del disco se debe multiplicar el número de bytes/ pista por la velocidad a la que se opera con cada una de esas pistas, por tanto: Ancho de banda (disco) = 2 17 bytes/pista ω pistas/min = 2 17 ω bytes/min = = 2 17 ω / 60 bytes/segundo Donde ω = velocidad angular en rpm (pistas/min) Como el Ancho de banda (E/S interrupción) Ancho de banda (disco) bytes/seg 2 17 ω / 60 bytes/seg ω / 2 17 = 7324,21 rpm = 122 rps Solución apartado C) Nuestro sistema dispone de: Un disco magnético donde cada sector = 1024 bytes Las operaciones de DMA durante la lectura de un sector son: (1024 bytes/sector) / (8 bytes/operación) = 128 operaciones/sector Cada operación ocupa 1 ciclo y el tiempo empleado por ciclo es de 5 ns Tiempo robado a la CPU = 128 operaciones 5 ns/operación = 640 ns

404 Solución apartado D) Se tiene que: Tiempo de lectura de una pista es equivalente a la inversa de la velocidad angular de lectura de cada pista calcula en el apartado B), es decir, (1/122) sg = 8157 µs. Como se tienen 128 sectores / pista, el tiempo de lectura de un sector será igual al tiempo de lectura de una pista dividido entre el número de sectores por pista que tiene el disco, es decir, 8157 µs / 128 = 64 µs Por último, el porcentaje de tiempo que la CPU dedica a la E/S se calculará como el tipo robado a la CPU entre el tiempo empleado en leer un sector, todo ello expresado en porcentajes, por tanto, ns / ns = 1 %

405

406

407 Test 1.- Indique cuántos módulos de memoria ROM de 2n palabras 1 bit/palabra serían necesarios para diseñar un circuito combinacional que sume un número de n bits y otro de 2n bits. A) 2 2n (2n+1). B) 2 3 (2n+1). C) 2 3 (2n). D) Ninguna de las anteriores. 2.- El diagrama de Huffman-Mealy de una unidad de control tiene cuatro estados (S 0, S 1, S 2, S 3 ) y dos señales de condición (I, s 0 ). Para implementar esta unidad de control, se han usado dos elementos de memoria tipo D y se ha realizado la asignación de estados siguiente: S 0 :{Q 1 =0,Q 0 =0}, S 1 :{Q 1 =0,Q 0 =1}, S 2 :{Q 1 =1,Q 0 =0} y S 3 :{Q 1 =1,Q 0 =1}. Estado presente Próximo estado Q I s0 I s I s 0 0 I s 1 Q A la izquierda, se muestra la tabla de transición de estados. Indique si las siguientes afirmaciones, acerca de la función de entrada al segundo elemento de memoria, son verdaderas: A) D1 = s0 Q1+ Q1 Q0 + Q1 Q0 B) D1 = s0 Q0 + Q1 Q0 + Q1 Q0 C) Las dos afirmaciones anteriores son correctas. D) Todas las afirmaciones anteriores son falsas. 3.- Un computador posee un registro índice Ri cuyo contenido en un momento dado es, (Ri)=A01 (expresado en hexadecimal). El computador tiene una memoria de 4K palabras de 12 bits. Cada palabra de memoria contiene un valor igual a su dirección desplazada a la izquierda tres posiciones (desplazamiento LICD de tres posiciones). Por

408 ejemplo: el contenido de la dirección 000 es 000, el de la 001 es 008, el de C03 es 01E, etc, todos ellos expresados en hexadecimal. La próxima instrucción que va a ejecutar el computador contiene un operando referenciado a través de un modo de direccionamiento indexado respecto al mencionado registro índice Ri. Sabiendo que el contenido del campo de dirección de la instrucción es 3AB, indicar cuál es el valor, en hexadecimal, del operando referenciado: A) D46 B) DAC C) D66 D) Ninguna de las anteriores 4.- En el sistema de la figura, BR representa la línea de petición de bus y BG la de autorización. En un momento dado, mientras CONT3 está haciendo uso del bus, CONT4 activa su línea de petición, y a continuación lo hace CONT2 y por último CONT1. Cuando CONT3 deje de utilizar el bus, cuál será el próximo dispositivo que asumirá el control del bus? BR BUS ARBITRO BG TERMINADOR DEL BUS CONT1 CONT2 CONT3 CONT4 A) CONT1 B) CONT2 C) CONT4 D) Ninguna de las anteriores. 5.- En un computador que funciona a una velocidad de 10 8 ciclos/segundo, una instrucción emplea, en promedio, 4 ciclos máquina en ser ejecutada y en 2 de esos ciclos no hace uso del bus. Este computador tiene un controlador de DMA que emplea 1 ciclo en la transferencia de una palabra. Indique si las afirmaciones precedentes son verdaderas: I. Utilizando DMA transparente la máxima velocidad de transferencia de datos es de palabras/seg. II. Empleando DMA por robo de ciclos la máxima velocidad de transferencia de datos es de palabras/seg A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- El siguiente diagrama representa una memoria asociativa y su contenido. A la vista de los valores del registro argumento, del registro de máscara, del registro etiqueta y del contenido de la memoria, cuál sería el valor del registro de marca? A) B) C) D) Ninguna de las anteriores

409 ARGUMENTO MÁSCARA ? ? ETIQUETA ? MARCA ? ? 7.- Se desea construir un multiplicador binario que multiplique dos números de 8 y 16 bits, respectivamente. Para ello se utilizarán exclusivamente dos módulos ROM de 64K palabras 16 bits/palabra y sumadores binarios paralelos de 8 bits. Cuál es el mínimo número necesario de sumadores de este tipo? A) 4 B) 3 C) 1 D) Indique si las siguientes afirmaciones son verdaderas: I. El formato horizontal de microinstrucciones permite tener las señales de control ya decodificadas, por lo que su ejecución es más rápida que el formato vertical. II. El formato horizontal de microinstrucciones permite tener varias señales de control de un mismo subcampo activas a la vez. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. Solución al test 1. Se desea diseñar un circuito combinacional que sume un número n bits y otro de 2n bits empleando para ello tantos módulos de memoria ROM de 2n palabras 1 bit/palabra como sean necesarios. El tamaño total de la ROM necesaria, resultante de la conexión de estos módulos, se calcula teniendo en cuenta que: La memoria ROM resultante deberá tener n + 2n = 3n líneas de dirección, es decir, 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 ) / (2n palabras/módulo 1 bit/palabra) = (2 3n /2n) (2n+1) módulos = 2 3n-1 ((2n+1)/n) módulos. Se debe tener en cuenta que el número de módulos resultantes debe ser entero.

410 Respuesta: D) Ninguna de las anteriores. 2. [Ver el apartado del texto de teoría]. Tal y como se aprecia en los diagramas de Karnaugh correspondientes a la implementación del diagrama de estados de la pregunta se puede apreciar que las dos soluciones propuestas en A) y en B) son correctas. Por lo que la respuesta correcta es la C. Respuesta: C (Las dos afirmaciones anteriores son correctas). 3. [Ver el apartado 6.2 y sección 4.9 del texto de teoría]. En el direccionamiento indexado el campo de dirección de la instrucción especifica la dirección de comienzo denominada base, mientras que el índice se encuentra en un registro índice específico. El cálculo de la dirección efectiva se efectúa sumando el contenido del registro índice al valor de la base. En nuestro caso la base es 3AB = y el índice es A01 = Si se suman ambos números se tiene como resultado Ahora bien, el operando, que es sobre el que pregunta el enunciado, será esta dirección de memoria desplazada mediante desplazamiento LICD tres posiciones. Esto es: = D66 Respuesta: C (D66).

411 4. [Ver el apartado del texto de teoría]. Como es un sistema daisy-chaning con interrupciones encadenadas, el periférico más cercano al árbitro es prioritario porque se le pregunta primero a la hora de conceder el bus, independientemente de cuando haya solicitado su uso. Aunque CONT1 es el último en solicitar el bus, mientras lo haga antes de que CONT3 acabe de usarlo, como está más próximo al árbitro, tomará el bus antes que CONT4 y que CONT2. Respuesta: A (CONT1). 5. [Ver el apartado del texto de teoría]. Datos del problema: V = 10 8 ciclos/s. 4 ciclos/instr. 2 ciclos sin uso del bus. 1 ciclo/pal_transf. I. DMA transparente, transmite cuando la CPU no está utilizando el bus. ((10 8 ciclos/s)/(1 ciclo/pal_transf.)) / ((4 ciclos/instr.)/(2 ciclos/intr.) = pal_transf./s. Por tanto la primera afirmación es cierta. II. Por robo de ciclo: Cuando el DMA toma el control del bus lo retiene durante un sólo ciclo. Por tanto, el DMA por robo de ciclos transmite en el ciclo de instrucción más el tiempo que se tarda en transmitir una palabra: (10 8 ciclos/s) / (4 ciclos/instr. + 1 ciclo/palabra) = pal_transf. /seg. Por tanto la segunda afirmación es falsa. Respuesta: B (I. si, II. no). 6. [Ver el apartado del texto de teoría]. A la hora de calcular el valor del registro de marca sólo hay que tener en cuenta las palabras activas, es decir, aquellas cuyo bit de etiqueta está a 1. Y de éstas, sólo se consideran los bits del argumento cuyo correspondiente bit de máscara está a 1. Primero se deben tachar las columnas de la memoria asociativa cuyo bit del registro de máscara está a cero. Es decir, el argumento a comparar sería en nuestro caso 1xx1x0x0 (donde las x representan los bits que no se han de comparar) ARGUMENTO MÁSCARA ? ? ETIQUETA ? MARCA ? ?

412 A partir de ahí se consideran sólo las palabras cuyo bit de etiqueta sea 1 y se comparan los bits no tachados del registro argumento con los bits no tachados de cada una de las filas de la matriz asociativa. Si son iguales se pone un 1 el correspondiente bit de marca, en caso contrario se pone un 0. La marca correcta es, por tanto, Respuesta: C (01100). 7. [Ver el apartado 4.20 del libro de teoría]. Se deben multiplicar dos números binarios, uno de 8 bits y otro de 16. El resultado de la operación necesita 24 bits para poder ser expresado. Se dispone de dos módulos ROM de 64Kpalabras de 16 bits/palabra y de sumadores binarios paralelos de 8 bits. Como los módulos ROM utilizados almacenan 2 16 palabras de 16 bits, pueden almacenar la multiplicación de dos números binarios de 8 bits. Para llevar a cabo la multiplicación se supone que el multiplicando es el número de 16 bits Y = (Y15, Y14,, Y1, Y0), que se puede dividir en dos de 8 bits que sean Ysup =(Y15, Y14,..,Y8) e Yinf = (Y7, Y6,, Y0). El multiplicador será un X = (X7,, X0). El primer modulo ROM tendrá como entradas Yinf y X almacenando el producto de ambos. Y el segundo tendrá como entradas Ysup y X almacenando igualmente su producto. Cada módulo ROM guarda palabras de 16 bits. En el primer módulo los 8 bits menos significativos de la palabra serán ya parte del resultado de multiplicar de forma completa el número de 16 por el de 8 bits, pero los 8 más significativos se deben sumar a los 8 menos significativos del segundo módulo ROM, para lo cual se debe usar el primer sumador binario. La salida de este sumador serán 8 bits más del resultado. Los 8 bits más significativos del segundo módulo ROM deben sumarse al acarreo del sumador anterior, proporcionando los 8 bits restantes del resultado de la multiplicación. El esquema se muestra en la figura adjunta. Yinf X ROM 64Kx SBP Ysu X ROM 64Kx SBP C 8 Respuesta: D (2)

413 8. [Ver el apartado del libro de teoría]. Respuesta: B (I: sí, II: no) Cuestiones teórico-prácticas Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema Un computador dispone de un sistema de memoria central constituido por una memoria principal M p de 64 Kbytes y una memoria cache M c asociativa por conjuntos de 2 Kbytes organizada en 2 conjuntos y 4 bloques por conjunto. Se pide lo siguiente: 1) (0.75 pto.) Especifique el número de bits de los campos en que se descompone una dirección de memoria principal de este sistema. 2) (1.5 pto.) Esquema de correspondencia entre M p y M c. 3) (1.75 pto.) Si en un determinado instante el conjunto 0 contiene las etiquetas (10, 8, 9, 11) y el conjunto 1 las etiquetas (8, 9, 10, 11) Qué bloques de M p están cargados en M c? Solución al problema [Ver el apartado del texto de teoría] Solución apartado 1) La memoria principal tiene un tamaño de 64Kbytes por lo que para direccionarla hacen falta un total de 16 bits (2 16 = = 64Kbytes). La memoria caché está dividida en 2 conjuntos, cada uno de ellos con 4 bloques, lo que hace un total de 8 bloques. Como la memoria caché tiene una capacidad total de

414 2Kbytes, cada uno de los bloques tiene un tamaño de 2Kbytes / 8 bloque = 256 bytes/bloque. M c 256 bytes 256 bytes 256 bytes C bytes 256 bytes 256 bytes 256 bytes C bytes A partir de aquí se puede determinar el tamaño de cada uno de los campos en los que se descompone una dirección de memoria principal, teniendo en cuenta que la correspondencia que utiliza la caché es asociativa por conjuntos y que por lo tanto el formato de la dirección consta de un campo etiqueta, un campo conjunto y un campo palabra: Campo palabra: 8 bits. Para direccionar los 256 ( = 2 8 ) bytes de cada bloque. Campo conjunto: 1 bit. Para seleccionar uno de los 2 ( = 2 1 ) conjuntos posibles. Campo etiqueta: 7 bits. Los restantes 7 ( = ) bits de la dirección forman parte del campo etiqueta. Solución apartado 2) El número de bloques que hay en M p es igual a 64Kbytes/256 bytes/bloque = 2 16 /2 8 = 2 8 = 256 bloques. El número conjuntos de la caché es 2 y en cada uno se almacenan hasta 4 bloques de la memoria principal. De esta forma si una dirección D de memoria principal se expresa como (D15, D14,, D0), los bits de D0 a D7 indicarán la palabra dentro del bloque y el bit D8 el conjunto, cuando esté a cero irán al conjunto cero, y cuando esté a 1 al conjunto uno. Por eso las primeras 256 palabras (B 0, bloque 0 de memoria principal irán al conjunto 0 de la caché. Este bloque tendrá el campo de etiqueta con todos los bits a 0). Las siguientes 256 palabras, el bloque B 1 de memoria principal irá al conjunto 1 de la caché y también tendrá el campo de etiqueta con todos los bits a 0. El siguiente bloque B 2 irá al conjunto cero y tendrá los bits del campo de etiqueta a , y así sucesivamente. Por tanto a los conjuntos C 0 y C 1 de la M c se aplican los siguientes bloques de la M p : Conjunto C 0 B 0, B 2, B 4,., B 254 Conjunto C 1 B 1, B 3, B 5,., B 255 Solución apartado 3) Lo primero es analizar a que bloque de memoria principal corresponde cada etiqueta dada. Supongamos la etiqueta 10 del conjunto cero, ese bloque tendrá los bits del campo de etiqueta a , el bit del campo conjunto a 0 y el resto irán desde el al

415 Por tanto, como es la etiqueta 10 y en este conjunto sólo se quedan los bloques pares será el bloque 20 de la memoria principal. Por el mismo razonamiento, la etiqueta 8 de este mismo conjunto nos dará el bloque 16, la 9 el 18 y la 11 el 22. En el caso del conjunto 1, el razonamiento es el mismo pero como los bloques que se quedan en él son los impares, será el número de la etiqueta por dos, mas uno. Así a la etiqueta 8 en el conjunto uno le corresponde el bloque 17 de memoria principal, a la 9 el 19, a la 10 el 21 y a la 11 el 23. Por tanto: Conjunto C 0 Dirección de bloque en decimal Etiqueta Conjunto B B B B 22 Conjunto C 1 Dirección de bloque en decimal Etiqueta Conjunto B B B B 23

416 SOLUCIONES TEST ETC -II JUNIO 2008 A B C D 1 B B D D 2 A A C C 3 B B C C 4 C B A B 5 C C B A 6 B C C D 7 D B D C 8 B D B B

417

418

419 Test 1.- Se tiene un microprocesador con 24 líneas en el bus de direcciones y una memoria caché que utiliza correspondencia directa y que dispone de 2048 bloques de 64 palabras. Cuántos bloques de memoria principal compiten por el mismo bloque de la memoria caché? A) 64 B) 32 C) 256 D) Ninguna de las anteriores. 2.- Se desea diseñar con una memoria ROM una unidad de control con 64 estados, que genere 26 señales de control totalmente independientes y que reciba 8 señales de condición pero en cada estado van a ser consultadas como máximo una de ellas. La memoria ROM usada tiene un coste de 0,20 euros/kbit. Indicar cuál de las siguientes afirmaciones es cierta: A) Si se utiliza un diseño con selección por estado el coste de la ROM es de 1 euro. B) Si se utiliza un diseño con selección por campo el coste de la ROM es de 1,5 euros. C) Ambos diseños tienen el mismo coste. D) Ninguna de las anteriores. 3.- Un computador utiliza microinstrucciones de formato vertical. Sabiendo que el número máximo de señales de control que puede tener este computador es de 67 y que el formato de microinstrucción tiene 4 subcampos codificados de 1 bit, 6 subcampos codificados de 2 bits y otros 3 subcampos codificados de n bits cuál es este número n de bits? A) 2 B) 3 C) 4 D) Ninguna de las anteriores. 4.- Un computador de von Neumann tiene una longitud de palabra de 16 bits. Sus instrucciones máquina ocupan una longitud de 16 o 32 bits (es decir 1 o 2 palabras). En ambos casos, el código de operación de las instrucciones máquina ocupa un campo de 7 bits. Indique si las siguientes afirmaciones son verdaderas: I. La memoria principal tendrá un único espacio de direcciones para datos y para instrucciones.

420 II. El computador tendrá como máximo señales de control distintas. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 5.- Una planta industrial utiliza 4 sensores para poder ser controlada. Cada uno de ellos puede estar apagado o encendido. Se desea conectar dichos sensores a un computador que dispone de una memoria de 4K palabras, cada una de las cuales consta de 8 bits. Un interfaz de comunicación apropiado entre la CPU y los sensores, para que el estado de dichos sensores pueda leerse desde la CPU como si se tratase del contenido de una celda de memoria y dicha celda estuviese comprendida entre la dirección 800 y la 9FF, ambas en hexadecimal, sería: A) A11 A10 A9 B) 11 A10 A9 A C) 11 A10 A9 A8 A D) A11 A10 A9 A8 6.- Sean dos números binarios de 16 bits representados en código BCD: X = , Y = El resultado de su suma, representado en código exceso a 3, es: A) B) C) D) Ninguna de las anteriores. 7.- Cuántos módulos de memoria ROM de 2 n-1 palabras 2n bits/palabra serían necesarios para diseñar un circuito combinacional que multiplique dos números de 2n bits? A) 2 n-1 B) 2 2n+1 C) 2 3n+2 D) Ninguna de las anteriores. 8.- En una máquina con 16 registros y un registro de instrucción (RI) de 16 bits cuál sería el número máximo de instrucciones que podríamos tener si todas las instrucciones tienen un tamaño de una sola palabra y un único formato cod_op r1, r2, donde r1 y r2 son dos registros y cod_op el código de operación de la instrucción? A) 256 B) 516 C) 128 D) Ninguna de las anteriores.

421 Solución al test 1. [Ver el apartado del libro de texto]. El número de bloques de memoria principal que compiten por el mismo bloque de la memoria caché se calcula de la siguiente manera: Nº de bloques de M ca = 2048 bloques = 2 11 bloques Nº de bloques de M p = (2 24 palabras de M p )/(2 6 palabras/bloque) = 2 18 bloques (Nº de bloques de M p )/( Nº de bloques de M ca ) = 2 18 /2 11 = 2 7 = 128 bloques de la memoria principal compiten por el mismo bloque de memoria caché. Respuesta: D (Ninguna de las anteriores) 2. [Ver el apartado 5.8 del libro de texto]. De los datos de enunciado se concluye que: Como hay 64 estados: n = 6 Como hay 26 señales de control: m = 26 Señales de condición: q = 8 = 2 3 Afirmación A: Si se diseña la unidad de control por selección por estado se utiliza la memoria ROM, un registro y un multiplexor de selección por estado. La capacidad de la ROM es: 2 n+1 palabras (n+m) bits/palabra = bits = ( bits)/(2 10 bits/1kbit) = 4 Kbits Luego el coste es 4 Kbits 0,20 euros/kbit = 0,8 euros. La afirmación A es falsa. Afirmación B: Se tiene en este caso la unidad de control diseñada con memoria ROM, con un registro y un multiplexor de selección por campo. La capacidad de la ROM es: 2 n+1 palabras (log 2 q+n+m) bits/palabras =2 7 (3+6+26)=(2 7 35)/2 10 Kbits= (35/8) Kbits Luego el coste es de (35/8) Kbits 0,20 euros/kbit = 0,875 euros. La afirmación B es falsa. La afirmación C es falsa, pues el coste en A y B no es el mismo. Respuesta: D (Ninguna de las anteriores) 3. [Ver el apartado del libro de teoría]. El número total de subcampos es de 13 (4+6+3=13), cada uno de los cuales requiere de un decodificador que sólo puede tener una de sus salidas activadas en un determinado instante de tiempo. Por lo tanto, el computador podrá tener activadas como máximo 13 señales de control o microórdenes simultáneamente. En general, un subcampo de control de j bits de una microinstrucción de formato vertical puede codificar un total de 2 j -1 señales de control. Una codificación se reserva para especificar el caso en que ninguna de las señales de control de ese subcampo se encuentre activa. En nuestro caso: 4 subcampos de 1 bit: 4 (2 1-1) = 4 señales de control

422 6 subcampos de 2 bits: 6 (2 2-1) = 18 señales de control 3 subcampos de n bits: 3 (2 n -1) señales de control Luego se debe verificar que: 4+18+(3 (2 n -1)) = 67, de donde: 3 (2 n -1) = 45, o bien (2 n -1) = 15, de donde n = 4 Respuesta: C (4) 4. Afirmación I: [Ver el apartado 1.1 del libro de teoría]. La primera afirmación es cierta porque precisamente una de las características de la arquitectura von Neumann es que la memoria tiene un único espacio de direcciones para datos e instrucciones. Afirmación II: Cuando se habla de instrucciones máquina no tiene sentido hablar de señales de control, sino de códigos de operación. Si estuviésemos hablando de microinstrucciones si tendría sentido hablar de señales de control. Por tanto la segunda afirmación es falsa. Respuesta: B (I: sí, II: no). 5. La memoria tiene un tamaño de 4K palabras = palabras = 2 12 palabras, luego tiene direcciones de memoria de 12 bits. Los sensores funcionan como una celda de memoria, por tanto se tendrá que direccionar las celdas comprendidas entre la 800 ( ) y la 9FF ( ). En este espacio de direcciones de memoria los tres bits más significativos de la dirección están fijos (100) y el resto de bits puede ser indistintamente 0 ó 1. Por tanto, si se numeran las líneas de dirección desde la A 0 a la A 11, siendo A 0 la menos significativa los A9 bits con direccionamiento común equivalen a la expresión lógica A A A9 Respuesta: B ( A A ) 6. Los números X e Y dados en el enunciado en BCD expresados en decimal son X = 3954, Y = La suma en decimal X+Y= Si se codifica esta suma en el código exceso-3 se tiene que: X+Y = Respuesta: B ( ). 7. El producto de dos números de 2n bits da como resultado un número de 4n bits. Hay 2 4n productos posibles. Luego hacen falta 2 4n palabras de 4n bits cada una. Como los módulos disponibles son de 2 n-1 palabras de 2n bits/palabra, harán falta: (2 4n 4n)/( 2 n-1 2n) = 2 3n+1 2 = 2 3n+2 módulos Respuesta: C (2 3n+2 módulos) 8. El registro de instrucción (RI) es el registro en el que se carga la instrucción leída.

423 Por lo tanto, el número de bits del RI coincide con el número de bits del formato de la instrucción, 16 según el enunciado. Como hay 16 registros se precisan como mínimo 4 bits para poder direccionar cualquiera de ellos. Se tiene dos campos de dirección de la instrucción por lo que se precisan 4+4= 8 bits. Por lo tanto, para el código de operación se tienen 16-8 =8, siendo 2 8 =256 el número máximo de instrucciones con este formato que se pueden tener. Respuesta: A (256) Cuestiones teórico-prácticas Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema Un computador dispone de un sistema de memoria central constituido por una memoria principal M p y una cache M c. La M p tiene una capacidad de 128K palabras y está estructurada como un conjunto de módulos de 256 palabras. La M c que utiliza una correspondencia directa tiene un tamaño de 2K palabras con bloques de 256 palabras. Se pide lo siguiente: A) (0.5 pto) Número de módulos de M p. B) (1 pto) Interpretación de los bits de la dirección física del sistema de memoria para la M p C) (1 pto) Interpretación de los bits de la dirección física del sistema de memoria para la M c. D) (1.5 ptos) Correspondencia de los bloques de la M p con los bloques de la M c. Solución al problema [Ver el apartado del libro de teoría] A) Número de módulos de M p = 128K palabras/ 256 palabras/modulo = /2 8 módulos = 2 9 módulos = 512 módulos.

424 B) La memoria principal tiene un tamaño de 128K palabras por lo que para direccionarla hacen falta un total de 17 bits (2 17 = = 128K palabras). En la Figura 1 se muestra la interpretación de los bits de la dirección física de memoria para la M p. Está dividida en dos campos: Para direccionar las 256 (= 2 8 ) palabras de cada módulo de M p hacen falta 8 bits. Los restantes 9 (= 17-8) bits de la dirección especifican el número de módulo de M p. 9 8 nº de módulo Palabra dentro del módulo 17 Figura1 C) En la Figura 2 se muestra la interpretación de los bits de la dirección física de memoria para la M c. Como la memoria caché utiliza una función de correspondencia directa, está dividida en tres campos: Campo palabra: 8 bits. Para direccionar las 256 (= 2 8 ) palabras de cada bloque. Campo bloque: 3 bits. Para seleccionar uno de los 2K palabras / 256 palabras/bloque = 8 = 2 3 bloques de la M c. Campo etiqueta: 6 bits. Los restantes 6 (= ) bits de la dirección forman parte del campo etiqueta etiqueta línea 17 Figura 2 palabra D) En la correspondencia directa cada bloque de la memoria principal se transforma en un único bloque de la memoria caché siguiendo la función de transformación siguiente: i = j modulo C donde i es el número de bloque asignado en la M c al bloque de la M p ; j es el número de bloque de M p y C el número de bloques que tiene la M c. Según lo anterior, la correspondencia de los bloques de la M p con los bloques de la M c se muestra a continuación: M c M p MB 0 B 0, B 8,, B 496, B 504 MB 1 B 1, B 9,, B 497, B 505 MB 2 B 2, B 10,, B 498, B 506 MB 3 B 3, B 11,, B 499, B 507 MB 4 B 4, B 12,, B 500, B 508 MB 5 B 5, B 13,, B 501, B 509 MB 6 B 6, B 14,, B 502, B 510 MB 7 B 7, B 15,, B 503, B 511

425

426

427

428

429 Test 1.- Un computador de 13 líneas de direcciones tiene una memoria de M palabras y utiliza una entrada/salida localizada en memoria. Si se supone que cada uno de los periféricos que puede conectarse ocupa 4 direcciones y que el número máximo de periféricos de estas características que se conectan es de Cual es el tamaño de la memoria del computador? A) 2 13 palabras. B) 2 10 palabras. C) 2 12 palabras. D) Ninguna de las anteriores. 2.- El formato de instrucción de un procesador de una dirección tiene 6 bits para el código de operación y 10 para la dirección del operando. Si la codificación en binario de una instrucción de bifurcación, con direccionamiento relativo al contador de programa, es , y está originando un salto a la posición 600 (en decimal) cuál es el contenido del contador de programas (en decimal) antes de la ejecución de dicha instrucción? A) 688 B) 512 C) 490 D) Ninguna de las anteriores. 3.- Los valores del registro de argumento y de máscara de una memoria asociativa son los siguientes: ARGUMENTO MASCARA Si en la primera posición de la memoria está almacenado el valor 0 y las siguientes celdas de memoria tienen el valor de la celda inmediatamente anterior incrementado en 1, siendo el valor de la última celda el 7, cuál sería el valor del registro de marca? A) B) C) D) Ninguno de los anteriores.

430 4.- Cuántos sumadores binarios completos de 1 bit (SBCs) harían falta para construir un sumador binario serie de n bits? A) n B) 2n C) log 2 n D) Ninguna de las anteriores. 5.- Un computador digital tiene 88 señales de control diferentes, siendo 5 de ellas mutuamente excluyentes. Indique si las siguientes afirmaciones son verdaderas: I. Si se utilizan microinstrucciones de formato vertical el tamaño del campo codificado sería de 3 bits como mínimo. II. Al existir señales de control mutuamente excluyentes se puede utilizar el formato de microinstrucción horizontal. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 6.- Se tienen dos ordenadores. La memoria del primer ordenador consta de 20 módulos independientes conectados a un bus de memoria común y la del segundo consta de 15 módulos de las mismas características. En una operación de escritura cada uno de estos módulos únicamente ocupa el bus del sistema al comienzo de la operación durante un 20% del periodo del tiempo total del ciclo de escritura. El tiempo de ciclo de escritura restante, el módulo lo emplea para almacenar el dato internamente. Si las operaciones de escritura de dichos módulos de memoria pueden solaparse (pero sólo puede haber una petición en un instante de tiempo), indique cual de las siguientes afirmaciones es cierta. A) la velocidad máxima de acceso del ordenador con 15 módulos es superior al de 20. B) la velocidad máxima de acceso del ordenador con 20 módulos es superior al de 15. C) la velocidad máxima de acceso de los dos ordenadores es la misma. D) Ninguna de las anteriores. 7.- Tenemos un disco magnético con 100 pistas, se han realizado las peticiones de las pistas 20, 80, 46, 15, 75. La posición inicial de la cabeza lectora es 50. Si se emplea la planificación SSTF, cual es la longitud media de búsqueda. A) 5 B) 20 C) 30 D) Se desea diseñar una unidad de control mediante un registro de estado y una memoria ROM. Si se necesita emplear q señales de condición, n bits para la codificación del estado y m señales de control. El tamaño de la memoria ROM será: A) 2 n+q palabras (n+m) bits B) 2 q palabras m bits C) m palabras n bits D) Ninguna de las anteriores.

431 Solución al test 1. Se utiliza E/S localizada en memoria, lo que significa que las líneas de control de lectura y escritura son compartidas entre la memoria y el controlador de E/S. Por tanto: Nº total direcciones = Nº direcciones de palabras de memoria + Nº de direcciones de palabras en periféricos Donde: Nº total direcciones = 2 13 (pues el número de líneas de dirección del computador que son 13) Nº direcciones de palabras de memoria = M palabras. Nº de direcciones de palabras en periféricos = P direcciones. Por tanto 2 13 = M + P. Por otro lado, cada periférico ocupa 4 direcciones y el número máximo de periféricos es de Por tanto: 2 10 periféricos = (P direcciones) / (4 direcciones/periférico). Entonces P = 2 12 direcciones. Con lo que M = = 2 12 palabras. Respuesta: C (2 12 palabras) 2. Se tiene como formato de instrucción: Código de operación (6 bits) Dirección[operando] (10 bits) Una instrucción de bifurcación con direccionamiento relativo al contador de programa (CP) se puede expresar: Código de operación (6 bits) Desplazamiento (10 bits) donde la dirección final del operando se obtiene como [CP]+Desplazamiento. Del enunciado el Desplazamiento es = = = 88. Como la dirección a la que se llega después del salto es la 600: 600=[CP]+Desplazamiento=[CP]+88, de donde [CP] = 512

432 Respuesta: B (512) 3. En la figura siguiente se muestran los valores que, según el enunciado, están almacenados en las distintas celdas de memoria, así como los registros de argumento y máscara. En una memoria asociativa sólo se consideran los bits del argumento cuyo correspondiente bit de mascara está a 1. Por lo tanto, las columnas sombreadas de la memoria asociativa no se consideran porque no van a ser comparadas. El argumento a comparar de acuerdo con el registro de máscara es: 0X0X10. Por lo tanto las únicas palabras que darán un 1 en su bit del registro de máscara serán la Palabra 1 y la Palabra 6. Por lo tanto el registro de marca contiene Respuesta: A ( ) ARGUMENTO MASCARA Palabra Palabra Palabra Palabra 0 MARCA Palabra Palabra Palabra Palabra 0 Registros de memoria 4. El diseño de un sumador binario serie requiere la utilización de un único SBC (ver Apartado y Figura 4.9 del libro de texto - página 193) Respuesta: D (Ninguna de las anteriores) 5. I. Como de las 88 señales de control diferentes, 5 son mutuamente excluyentes, esas 5 señales se deben codificar en un mismo subcampo. Este subcampo debe tener como mínimo 3 bits. Con este subcampo se tendrían 8 (2 3 ) codificaciones: 5 asociadas a cada una de las 5 señales de control, 1 codificación para indicar el caso en que no se active ninguna de las señales de control codificadas en este subcampo y las 2 codificaciones restantes no se utilizarían. La afirmación I es cierta. II. Esta afirmación es cierta. En el formato de microinstrucción horizontal hay un subcampo asignado a cada señal de control, independientemente de que sean excluyentes o no. Respuesta: A (I: sí, II: sí.)

433 6. Con un único módulo, la velocidad máxima se calcula como el número de accesos entre el tiempo empleado para ello. Por tanto, con un sólo módulo se realizará un acceso cada 100 unidades de tiempo, es decir, en el 100% del ciclo de escritura, independientemente de que parte de ese tiempo se emplee en el uso del bus, dado que sólo se tiene un módulo para realizar todas las operaciones. Con 20 módulos se podrían dar hasta 20 accesos, pero como se invierte un 20% del tiempo de acceso en que el módulo de memoria utilice el bus, o sea 20/100 del tiempo total (=1/5), solamente se pueden solapar 5 módulos al mismo tiempo, independientemente que tengamos 10, 15 ó 20 módulos. Lo que conlleva 400 unidades de tiempo para gestionar los 20 accesos (100 unidades de tiempo cada 5 accesos). Conclusión con 20 módulos la velocidad es 5 veces mayor que si se tiene un único módulo. Y con 15 también. Respuesta: C (la velocidad máxima de acceso de los dos ordenadores es la misma.) 7. La planificación SSTF Shortest Service Time First) consiste en atender la petición que requiere el menor movimiento de la cabeza de lectura/escritura desde su posición actual. La tabla siguiente resume los resultados de esta estrategia de planificación, teniendo en cuenta que la posición inicial es la pista 50. Próxima pista a la que se accede Número de pistas que se atraviesan El número total de saltos de pista es de 100 ( ). Por lo tanto la longitud media de búsqueda es LMB = Total de saltos de pista / número de lecturas = 100 / 5 = 20 Respuesta: B (20) 8. En la estructura básica de una unidad de control que emplea una memoria ROM y un registro, el número de palabras de la dirección es el número de señales de condición más el número de bits necesarios para codificar el estado (q+n). Como la salida de la memoria ROM corresponden con el estado y las señales de control, el tamaño de la palabra en la memoria ROM será la suma de los dos (n+m). Respuesta: A ( 2 n+q palabras (n+m) bits) Cuestiones teórico-prácticas Cuestión 1 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

434 Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 3 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema Sea un disco de cabezas móviles con 16 superficies, 5000 pistas por superficie, 40 sectores por pista y 640 bytes cada sector. De toda esta información el 80% es información neta. La velocidad de rotación es de 6000 rpm. A) (2 pto) Calcule la capacidad neta del disco y su velocidad de transferencia. B) (1 pto) Calcule el tiempo que transcurre entre interrupción e interrupción si el disco interrumpe a la CPU por cada envío de 32 bits. C) (1 pto) Si se supone que el disco está conectado a una CPU que ejecuta 1000 MIPS (millones de instrucciones por segundo), determine el número de instrucciones que puede tener como máximo la rutina de tratamiento de interrupciones (RTI) para que no se pierda ningún dato. Suponga que la secuencia de reconocimiento de interrupción (SRI) tiene una duración de 20 ns, y que todas las instrucciones tienen el mismo tiempo de ejecución. Nota: Considerar que 1Mbyte = 10 6 bytes Solución al problema Solución apartado A) Puesto que el 80% de un sector es información neta, su capacidad neta será de: 640 (bytes/sector ) 0,8 = 512 bytes/sector. El número de sectores de que dispone el disco es: 16 superficies 5000 pistas/superficie 40 sectores/pista = sectores Por lo tanto, la capacidad neta del disco es = bytes (1.638,4 Mb). La velocidad de transferencia la proporciona el número de bytes que se puede transferir en una vuelta completa. Cada pista contiene

435 40 sectores/pista 640 bytes/sector = bytes de información en cada pista. La velocidad de transferencia viene determinada por transmitir esta información en el tiempo que tarda el disco en dar una vuelta (t rot ). Como la velocidad de rotación es de 6000 rpm y en un minuto caben 60 segundos, el tiempo de rotación será la inversa de la velocidad de rotación pero expresada en segundos. Y la velocidad de transferencia asociada: Solución apartado B) t rot = (60/6.000) = 0,01 s v transf = (25.600/0,01) = bytes/s Ya que el módulo de E/S del disco solicita una interrupción cada 32 bits (4 bytes), el tiempo que transcurre entre interrupcon e interrupción es : Solución apartado C) 4/ = 1, s = 1.562,5 ns. Para que no se pierda ningún dato, la RTI debe haber concluido antes de la llegada de una nueva solicitud de interrupción; por tanto, la CPU dispone de 1562,5 ns para ejecutar la SRI y la RTI, quedando para esta última 1.562,5 20 = 1542,5 ns. Como se está suponiendo que todas las instrucciones tienen el mismo tiempo de ejecución, la ejecución de cada una de ellas son 1/ segundos = 1 ns y la RTI puede ejecutar un máximo de instrucciones.

436

437

438

439 Test 1.- Un computador emplea un sistema con memoria principal de 128 palabras y una memoria caché de 32 palabras. La organización de la memoria caché es totalmente asociativa y el tamaño del bloque es de 8 palabras. Se emplea el algoritmo de reemplazamiento FIFO. Si inicialmente la memoria caché está totalmente vacía, calcular el número de fallos cuando se lee la secuencia de direcciones de la memoria principal: , , , , , , A) 3 fallos. B) 4 fallos. C) 5 fallos. D) Ninguna de las anteriores. 2.- Un controlador de DMA está transmitiendo palabras a memoria mediante la estrategia de robo de ciclos. Cuando la CPU dispone en exclusiva del bus, las instrucciones emplean, en promedio, C ciclos de reloj en ser ejecutadas, aunque en 2 de ellos no requieren el acceso al bus. La frecuencia de reloj del computador es de ciclos/seg. Si la CPU deja de ejecutar 10 7 instrucciones por segundo cuando el controlador de DMA está realizando una transmisión, Cuántos ciclos de reloj tarda en promedio en ejecutarse cada instrucción? A) 2 B) 3 C) 4 D) Ninguna de las anteriores. 3.- Cierto procesador tiene 32 registros, utiliza operandos inmediatos de 16 bits y tiene 142 instrucciones en su repertorio de instrucciones. Un determinado programa emplea instrucciones de dos tipos: el primer tipo utiliza un registro de entrada y un registro de salida y el segundo tipo un registro de salida y un operando inmediato. Suponiendo que se impone que todas las instrucciones tengan una longitud múltiplo de 8 bits: I. El número de bits que se necesitan para el primer tipo de instrucciones es de 24 bits. II. El número de bits que se necesitan para el segundo tipo de instrucciones es de 32 bits. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 4.- Considere una CPU en la que tanto las instrucciones como los datos tienen una longitud de 12 bits. El formato de las instrucciones es el siguiente: los 4 bits más significativos de la instrucción representan el código de operación y los otros 8 bits representan la dirección de memoria. A continuación, se muestra una lista parcial de los

440 códigos de operación: 0111: Cargar el registro acumulador desde memoria. 1101: Almacenar en memoria el contenido del registro acumulador. 1100: Sumar al acumulador el contenido de una dirección de memoria. El resultado se almacena en el acumulador. Indique cual de los siguientes fragmentos de programa suma al contenido de la dirección de memoria 3B 16 el contenido de la dirección de memoria 3C 16 y almacena el resultado en la dirección de memoria 3C 16 : A) 73C 16, C3B 16, D3C 16 B) 73B 16, C3C 16, D3B 16 C) Los anteriores son correctos. D) Ninguno de los anteriores. 5.- Un computador dispone de un canal multiplexor que controla 2 unidades de disco y C unidades de cinta. Las unidades de disco tienen una velocidad de transferencia de 10 6 bytes/seg., y las de cinta de 10 2 bytes/seg. Si la velocidad máxima de transferencia agregada a este sistema es de bytes/seg. De cuantas unidades de cinta disponemos? A) 1000 B) C) D) Ninguna de las anteriores. 6.- El número máximo de palabras de la memoria de control de una unidad de control microprogramada con direccionamiento explícito con dos direcciones por microinstrucción es 2 12 palabras. Si las microinstrucciones emplean 13 bits para los campos de control, cuál es la longitud de palabra, en bits, de la memoria de control? A) 24 B) 30 C) 37 D) Ninguna de las anteriores. 7.- Sean dos números de 12 bits representados en código BCD: X = e Y = El resultado de la resta X Y expresado en código exceso a 3, es: A) B) C) D) Ninguno de los anteriores. 8.- Un bloque de decisión de un diagrama ASM puede ser sustituido en un circuito secuencial mediante: A) Una memoria tipo D. B) Una puerta OR. C) Una puerta AND. D) Ninguna de las anteriores. Solución al test 1. La caché emplea correspondencia totalmente asociativa. El algoritmo utilizado es FIFO (First-In First-Out). Se sustituye el bloque más antiguo en caché. De los datos del enunciado se puede calcular el número de bloques de la memoria caché: C Mc = Palabras de M c / Tamaño del bloque = 32 / 8 = 4 bloques. Como la memoria principal es de 128 palabras, el número de bits de cada dirección de memoria principal es:

441 n = log = 7 bits Como el tamaño del bloque es de 8 palabras, el campo palabra de la dirección de Mp tendrá p = log 2 8 = 3 bits y por lo tanto, el número de bits que definen la etiqueta viene determinado por: e = n p = 7 3 = 4 bits Por lo tanto, la dirección desde el punto de vista de la M c tendría los siguientes campos: n = 7 bits Etiqueta (4 bits) Palabra (3 bits) En la siguiente tabla se recoge la secuencia de direcciones leídas y los resultados que producen al ir a buscarlas a M c. Dirección de memoria principal leída Fallo o Acierto Explicación Fallo Se carga el bloque j=0 en el bloque i= Fallo Se carga el bloque j=8 en el bloque i= Acierto ---- El bloque j=0 de la M p ya está cargado Fallo Se carga el bloque j=2 en el bloque i= Fallo Se carga el bloque j=4 en el bloque i= Acierto ---- El bloque j=8 de la M p ya está cargado Acierto ---- El bloque j=0 de la M p ya está cargado - La respuesta por lo tanto es de 4 fallos Respuesta: B (4 fallos) 2. Se debe calcular la velocidad de ejecución sin DMA y con DMA por robo de ciclos. La velocidad de ejecución es el número de instrucciones que el computador es capaz de ejecutar en un segundo. Si no hay DMA el computador tarda en promedio C ciclos en ejecutar cada instrucción. Por lo tanto la velocidad de ejecución es: V sin DMA = frecuencia (ciclos/seg.) / (nº ciclos / instrucción) = / C = (120 / C) 10 6 instrucciones/seg. Con una estrategia de DMA con robo de ciclos, cada vez que se ejecuta una instrucción se cede el bus al controlador de DMA para que realice la transferencia de una palabra. Por tanto, en este caso, son C+1 ciclos los que se requieren de instrucción a instrucción. Luego la velocidad de ejecución es:

442 V con DMA = frecuencia (ciclos/seg.) / (nº ciclos / instrucción) = / (C+1) = (120 / (C+1)) 10 6 instrucciones/seg. El número de instrucciones que dejan de ejecutarse por segundo viene dado por: V sin DMA V con DMA = (120 / C) 10 6 (120 / (C+1)) 10 6 = [(12 / C) (12 / (C+1))] 10 7 Que según el enunciado son 10 7, por lo tanto [(12 / C) (12 / (C+1))] 10 7 =10 7 Por tanto: 12(C+1) 12 C = C(C+1), por lo que C 2 + C 12 = 0. Por tanto C = 3 o a 4. Como estamos hablando de número de ciclos por instrucción C = 3 Respuesta: B (3) 3. Como se tienen 142 instrucciones, se necesitan 8 bits para identificar una instrucción (2 7 = 128 < 142 < 256 = 2 8 ). Que el procesador tenga 32 registros significa que hacen falta 5 bits para codificar el identificador del registro y sabemos que se necesitan 16 bits por cada operando inmediato. Con estos datos, sólo se tienen que sumar los campos necesarios para cada tipo de instrucción. Un registro de entrada y un registro de salida: bits = 18 bits que se redondean a 24 bits. Un operando inmediato y un registro de salida: bits = 29 bits, que se redondean a 32 bits. Respuesta: A (I: sí, II: sí.) 4. El formato de la instrucción son 4 bits de código de operación y 8 de dirección de memoria con la que se trabaja. Los códigos son: 7 16 es la carga del registro acumulador desde memoria, D 16 es el almacenaje en memoria del contenido del acumulador y C 16 es la suma del acumulador con una dirección de memoria, guardando el resultado en el acumulador. Para realizar la suma de esas dos direcciones de memoria se debe: - cargar el contenido de 3C 16 en el acumulador. Por tanto es la instrucción 73C 16 - sumar la dirección 3B 16 con 3C 16. Como la segunda ya está en el acumulador, usando el código de suma se guarda en el acumulador el resultado de la operación, por tanto C3B 16 - Se guarda el valor del acumulador en 3C 16, se usa la instrucción con código de operación D 16. Por tanto D3C 16 Respuesta: A (73C 16, C3B 16, D3C 16 ) 5. La velocidad máxima de un canal multiplexor viene dada por la suma de las velocidades de los distintos dispositivos que controla. Por lo tanto,

443 V canal = C 10 2 = bytes/seg. Lo que supone que C = ( ) / 10 2 = 10 4 cintas. Respuesta: B (10000) 6. La memoria de control almacenará las posibles microinstrucciones que se puedan ejecutar. Como el número máximo de palabras que tendrá la memoria de control es de 2 12, significa que una dirección de memoria de control requiere para especificarse 12 bits. Como se utiliza direccionamiento explícito con 2 direcciones por microinstrucción, 12 2 = 24 bits que son los necesarios para almacenar dos direcciones de memoria de control. A estos 24 bits hay que sumarle los 13 que se emplean para los campos de control. Por lo tanto la anchura de la memoria es de 24+13=37 bits. Respuesta: C (37) 7. Pasamos cada cifra BCD codificada en binario a decimal y realizamos la resta: X BCD = = Y BCD = = X BCD -Y BCD = que si la expresamos en BCD resulta: Para expresar este resultado en código exceso-3 se tiene que sumar 3, es decir 0011, a cada cifra expresada en BCD. Realizando esta operación el resultado es: exceso a 3 Respuesta: A ( ) 8. El bloque de decisión más sencillo de un diagrama ASM, compuesto por una entrada, una condición V y dos salidas puede ser sustituido en un circuito secuencial mediante dos puertas AND y un inversor, tal y como se puede ver en la figura. Respuesta: D (Ninguna de las anteriores) Cuestiones teórico-prácticas Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test.

444 Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema Un computador tiene las siguientes características: una memoria M. un acumulador A. un registro de estado de un solo bit: el bit N. tres instrucciones de longitud fija y direccionamiento directo: STA D : M[D] <A> SUB D : A <A> - M[D] JNB D: IF N=1 THEN CP D ELSE CP <CP> + 1 Codificar tres programas que realicen las siguientes funciones: A) (1.25 pto) Carga el acumulador con el contenido de la posición de memoria X. B) (1.25 pto) Suma el contenido de la posición de memoria X al contenido del acumulador. C) (1.5 pto) Implementación de un salto incondicional a la posición Y.

445 Solución al problema Solución apartado A) Carga el acumulador con el contenido de la posición de memoria X. Esta instrucción se puede representar como: LDA X A M[X] La única forma de llevar M[X] a A es con la instrucción SUB D: A <A> - M[D], llevando previamente 0 a A y M[X] cambiado de signo a M[D]. Inicialmente el acumulador A contiene a, la dirección de memoria M[X] contiene x y la dirección de memoria M[Y] contiene y. Las microoperaciones necesarias, los contenidos de A, M[X] y M[Y] y el significado de cada microoperación se muestran en la tabla siguiente: Microoperación Contenido Significado A M[X] M[Y] inicial a x y Contenido inicial STA Y: M[Y] <A> a x a Puesta a cero del acumulador SUB Y: A <A>-M[Y] 0 x a (*) SUB X: A <A>-M[X] -x x a Cargamos en A M[X] STA Y: M[Y] <A> -x x -x Se replica el contenido de M[X] en memoria SUB Y: A <A>-M[Y] 0 x -x Puesta a cero del acumulador SUB Y: A <A>-M[Y] x x -x Almacenamiento del contenido de M[X] en el acumulador (*) Para poner a cero el acumulador se replica su contenido en memoria (STAY) y se resta de si mismo (SUB Y) Solución apartado B) Suma el contenido de la posición de memoria X al contenido del acumulador. Esta instrucción se puede representar como: ADD X A <A> + M[X]

446 Inicialmente el acumulador A contiene a, la dirección de memoria M[X] contiene x y la dirección de memoria M[Y] contiene y. Las microoperaciones necesarias, los contenidos de A, M[X] y M[Y] y el significado de cada microoperación se muestran en la tabla siguiente: Microoperación Contenido Significado A M[X] M[Y] inicial a x y Contenido inicial STA Y: M[Y] <A> a x a Puesta a cero del SUB Y: A <A>-M[Y] 0 x a acumulador SUB Y: A <A>-M[X] -a x a Cambio de signo el contenido del acumulador SUB X: A <A>-M[X] -a-x x a Se almacena en el acumulador a-x, que es el resultado deseado cambiado de signo. STA Y: M[Y] <A> -a-x x -a-x Se replica el contenido del acumulador en M[Y] SUB Y: A <A>-M[Y] 0 x -a-x Puesta a cero del acumulador SUB Y: A <A>-M[Y] a+x x -a-x Resta el contenido del acumulador al contenido de M[Y] y lo almacena en el acumulador. Solución apartado C) Implementación de un salto incondicional a la posición Y. Esta instrucción se puede representar como: JMP Y PC Y Las microoperaciones necesarias son las siguientes: JNB Y: IF a < 0 salta a Y, esto es, en el caso en que el contenido del acumulador A sea negativo, N=1 en cuyo caso se salta directamente a la posicióny, estando por lo tanto almacenado Y en el contador de programa (CP). En caso contrario, las microoperaciones necesarias se recogen en la tabla siguiente: Microoperación Contenido Significado A M[X] N CP inicial a x Contenido inicial STA X: M[X] <A> a a SUB X: A <A>-M[X] 0 a 0 SUB X: A <A>-M[X] -a a 1 JNB Y 0 1 Y Salta a Y Fuerzo que N=1 para que salte a Y

447 MATERIAL PERMITIDO: los libros "Estructura y tecnología de computadores" y "Problemas de estructura y tecnología de computadores", ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS. Apellidos: Nombre: DNI: INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La puntuación del examen es la siguiente: el test vale 4 puntos, las cuestiones teóricas 2 puntos y el problema 4 puntos. Las respuestas correctas del test puntúan 0.5 puntos y las respuestas erróneas del test descuentan 0.1 puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1.6 puntos para superarlo (con 4 preguntas correctas se supera). Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A. 1.- A un bus dedicado a E/S se han conectado una memoria principal y tres discos iguales. La velocidad de transferencia de cada disco es de 4 x 1 O 7 bits/seg. La longitud de palabra es de 16 bits. Cada transmisión sobre el bus necesita 500 nseg para enviar el dato y las diferentes órdenes del protocolo. Cuál es el tiempo de ciclo de la memoria principal si se usa un bus con temporización síncrona? A) 100 nseg B) 200 nseg C) 400 nseg D) 800 nseg 2.- Indique cuantos módulos de memoria ROM de 2 2 n palabras x 1 bit/palabra serán necesarios para diseñar un circuito combinacional que sume un número de 2n bits y otro de 4n bits: A) 2 4 x 6n C) 2 4 x ( 6n+ 1) D) Ninguna de las anteriores. 3.- Se dispone de un computador cuyo tiempo de acceso medio al sistema de memoria caché y memoria principal es de 18 nseg. Si la tasa de fallo de dicha caché es 0.2 y el tiempo de acceso a la memoria principal es 50 nseg. Cual es el tiempo de acceso medio a esa memoria caché? A) 6 nseg B) 10 nseg C) 24.4 nseg D) Ninguna de las anteriores. 4.- El modelo de Glushkov es un modo de representación de sistemas digitales que utiliza un nivel de abstracción por el cual un sistema digital se descomponen en: A) Un conjunto de posiciones de memoria, un interfaz con el exterior, una ALU, un buses de datos y una unidad de control. B) Una unidad de procesamiento y una unidad de control. C) Un conjunto de posiciones de memoria, una ALU y un interfaz con el exterior. D) Ninguna de las anteriores. 5.- Empleando un procesador de una dirección (procesador con acumulador) con un registro Rl, indicar qué operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store Rl, Mult Rl, Mult Z, Div Y, Store X. A) X= (((X+Y+Z)X) 2 /Y)Z C) X= (((X+Y+Z)X) 2 Z)/Y B) X= (((X+Y+Z) 2 X) Z)/Y D) Ninguna de las anteriores. 6.- Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de operación diferentes. I. Con un formato de instrucción de 6 bits para el código de operación y 12 bits para el campo de dirección es posible direccionar posiciones de memoria directamente. II. Si la palabra de memoria es de 32 bits se podrán direccionar 2 32 direccionamiento indirecto. A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. posiciones de memoria utilizando 7.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son mutuamente excluyentes entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son verdaderas: I. Utilizando formato vertical, el tamaño de los subcampos codificados serían para ambos grupos de señales de 5 bits. II. Al existir dos grupos de señales de control mutuamente excluyentes no puede utilizarse el formato de microinstrucción vertical.

448 A) I: sí, II: sí. B) I: sí, II: no. C) I: no, II: sí. D) I: no, II: no. 8.- Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos con una capacidad de 64 Kb. En un instante determinado inicia una operación de E/S con una impresora a una velocidad de transferencia de 128 Kb/seg. Si el controlador de E/S recibe la información que debe enviar a la impresora a una velocidad de lmb/seg, cuánto tiempo tardará en llenarse por primera vez el buffer suponiendo que inicialmente está vacío, y que recibe y envía información simultáneamente de forma continua? A) seg. B) seg. C) No se puede calcular. D) Ninguna de las anteriores. Cuestiones: Conteste únicamente en el espacio disponible debajo del enunciado de la pregunta. Cuestión 1 (0. 75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Cuestión 2 (0. 75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Problema (Contestar el problema en hoja de examen aparte, no en la hoja de lectura óptica): El mapa de memoria de un procesador con bus de direcciones de 16 bits y bus de datos de 8 bits está ocupado por 2 módulos de memoria RAM de 8Kx8 y uno de memoria ROM de 16Kx8. Se desea que las posiciones de memoria más bajas estén ocupadas por la memoria ROM y las más altas por la memoria RAM. Diseñar el circuito de decodificación necesano. A) (2 puntos) Proponga un mapa de memoria que utilice los módulos y especificaciones indicadas en el enunciado. B) (2 puntos) Diseñar el circuito de decodificación pedido, indicando que función realiza cada uno de los elementos que lo componen.

449 Test 1.- A un bus dedicado a E/S se han conectado una memoria principal y tres discos iguales. La velocidad de transferencia de cada disco es de bits/seg. La longitud de palabra es de 16 bits. Cada transmisión sobre el bus necesita 500 nseg para enviar el dato y las diferentes órdenes del protocolo. Cuál es el tiempo de ciclo de la memoria principal si se usa un bus con temporización síncrona? 2.- Indique cuantos módulos de memoria ROM de 2 2n palabras 1 bit/palabra serán necesarios para diseñar un circuito combinacional que sume un número de 2n bits y otro de 4n bits: 3.- Se dispone de un computador cuyo tiempo de acceso medio al sistema de memoria caché y memoria principal es de 18 nseg. Si la tasa de fallo de dicha caché es 0.2 y el tiempo de acceso a la memoria principal es 50 nseg. Cual es el tiempo de acceso medio a esa memoria caché? 4.- El modelo de Glushkov es un modo de representación de sistemas digitales que utiliza un nivel de abstracción por el cual un sistema digital se descomponen en: A) Un conjunto de posiciones de memoria, un interfaz con el exterior, una ALU, un buses de datos y una unidad de control. B) Una unidad de procesamiento y una unidad de control. C) Un conjunto de posiciones de memoria, una ALU y un interfaz con el exterior. D) Ninguna de las anteriores. 5.- Empleando un procesador de una dirección (procesador con acumulador) con un registro R1, indicar qué operación calcula la secuencia de instrucciones: Load X; Add Y; Add Z; Mult X, Store R1, Mult R1, Mult Z, Div Y, Store X. 6.- Considérese un computador con un microprocesador cuyo juego de instrucciones permite 60 códigos de operación diferentes. I. Con un formato de instrucción de 6 bits para el código de operación y 12 bits para

450 el campo de dirección es posible direccionar posiciones de memoria directamente. II. Si la palabra de memoria es de 32 bits se podrán direccionar 2 32 posiciones de memoria utilizando direccionamiento indirecto. 7.- Un computador microprogramado tiene un total de 132 señales de control. De ellas, un grupo de 16 son mutuamente excluyentes entre sí y otro grupo de 30 son mutuamente excluyentes entre sí. Indique si las siguientes afirmaciones son verdaderas: I. Utilizando formato vertical, el tamaño de los subcampos codificados serían para ambos grupos de señales de 5 bits. II. Al existir dos grupos de señales de control mutuamente excluyentes no puede utilizarse el formato de microinstrucción vertical. 8.- Un controlador de E/S posee un buffer para el almacenamiento temporal de los datos con una capacidad de 64 Kb. En un instante determinado inicia una operación de E/S con una impresora a una velocidad de transferencia de 128 Kb/seg. Si el controlador de E/S recibe la información que debe enviar a la impresora a una velocidad de 1Mb/seg, cuánto tiempo tardará en llenarse por primera vez el buffer suponiendo que inicialmente está vacío, y que recibe y envía información simultáneamente de forma continua? Solución al test 1. En un bus con temporización síncrona todos los dispositivos conectados a él lo hacen con una frecuencia de reloj fija. Se suele usar cuando los dispositivos conectados tienen velocidades de transferencia similares. Partiremos pues de la base que la velocidad de transferencia de la memoria principal es similar a la de los discos propuestos. V MP = V disco = bits/seg. La V MP vendrá definida a su vez como la inversa del tiempo de ciclo de dicha memoria, suponiendo que es de acceso aleatorio, por tanto si X es el tiempo de ciclo de la memoria principal, 1/X palabras/seg sería la velocidad de transferencia de la memoria principal. Con lo que: Por tanto: V MP = [1 / X (pal./seg.)] (nº bits/pal.) = 16 / X (bits/seg.) X = 16 / V MP = 16 / ( ) = 400 nseg. Respuesta: C (400 nseg) 2. El número de módulos se calcula teniendo en cuenta que: La memoria ROM resultante deberá tener 2n + 4n = 6n líneas de dirección, es decir 2 6n palabras

451 Que el resultado de sumar un número de 2n bits con otro de 4n bits es un número de 4n + 1 bits por lo que cada palabra de la ROM resultante deberá tener 4n + 1 bits. Como consecuencia de lo anterior la ROM resultante debe tener la siguiente capacidad total: 2 6n palabras (4n + 1) bits/palabra Puesto que esta memoria debe construirse usando módulos de 2 2n palabras/módulo 1 bit/palabra, es preciso emplear: (2 6n palabras (4n + 1) bits/palabra) / (2 2n palabras/módulo 1 bit/palabra) = 2 4n (4n + 1) módulos Respuesta: B (2 4n (4n + 1) módulos) 3. La formula que calcula el tiempo de acceso medio de un sistema de memoria caché y memoria principal viene dada por la siente expresión: t a = h t ca + (1-h) t p t ca es el tiempo de acceso medio de la memoria caché y t p el tiempo de acceso medio de la memoria principal. h es la tasa de acierto de la memoria caché, por lo tanto en nuestro caso tendrá el valor de: Por lo tanto: Respuesta: B (10 nseg) h = = 0.8 t ca = [t a -(1-h) t p ] / h t ca = [ ] / 0.8 = 10 ns 4. Véase el apartado del texto de teoría, donde se especifica que según el modelo de Glushkov los sistemas digitales están compuestos únicamente por dos tipos de componentes: - Una unidad de procesamiento o ruta de datos, que comprenden elementos de memoria, la interfaz con el exterior, el conjunto de operadores aritméticos y lógicos y los caminos de transferencia de datos. - Una unidad de control, que conociendo el estado de las operaciones, controla la secuencia de ejecución. Respuesta: B (Una Unidad de Procesamiento y una de Control)

452 5. En la tabla siguiente se muestran las instrucciones a ejecutar, su significado, el contenido del acumulador y el contenido del registro. Ac representa el acumulador, M[X] representa la posición de memoria de X y R1 representa al registro. Instrucción Significado Acumulador (Ac) Registro (R1) 1 Load X Ac M[X] X Add Y Ac Ac+M[Y] X+Y Add Z Ac Ac+M[Z] X+Y+Z Mult X Ac Ac M[X] (X+Y+Z)X Store R1 R1 Ac (X+Y+Z)X (X+Y+Z)X 6 Mult R1 Ac Ac R1 ((X+Y+Z)X) 2 (X+Y+Z)X 7 Mult Z Ac Ac M[Z] ((X+Y+Z)X) 2 Z (X+Y+Z)X 8 Div Y Ac Ac/M[Y] (((X+Y+Z)X) 2 Z)/Y (X+Y+Z)X 9 Store X M[X] Ac (((X+Y+Z)X) 2 Z)/Y (X+Y+Z)X Luego X = (((X+Y+Z)X) 2 Z)/Y Respuesta: C ( X = (((X+Y+Z)X) 2 Z)/Y) 6. La afirmación I indica que para poder disponer de un juego de instrucciones con 60 códigos de operación diferentes es necesario un campo para el código de operación de 6 bits, ya que 2 6 = 64 > 60. Por otro lado, para poder direccionar posiciones de memoria directamente es necesario un campo de dirección de 14 bits, ya que 2 14 = Por tanto, el formato de instrucción debería ser: Código de operación (6 bits) Dirección (14 bits) Siendo falsa la afirmación I. La afirmación II es cierta. En el direccionamiento indirecto la dirección efectiva se encuentra en la posición de memoria referenciada en el campo de dirección de la instrucción. Por tanto, dado que la palabra de memoria es de 32 bits, se podrán direccionar 2 32 posiciones de memoria utilizando direccionamiento indirecto. Respuesta: C (I: no, II: sí.) 7. La afirmación I es verdadera. Un subcampo codificado con i bits puede codificar a lo sumo 2 i -1 señales de control diferentes. Por este motivo harían falta dos subcampos de 5 bits cada uno. La afirmación II es falsa. El formato vertical de microinstrucciones saca partido precisamente del hecho de que existan señales de control mutuamente excluyentes. Respuesta: B (I: si, II: no.) 8. El buffer recibe datos a una velocidad más elevada de la que transmite, por tanto su

453 velocidad será: V = 1Mb/seg 128Kb/seg. = = (8 1) 2 17 = bytes/seg. T llenado = Capacidad / V = 2 16 / ( ) = 1/14 seg = seg. Respuesta: A (0.071 seg) Cuestiones teórico-prácticas Cuestión 1 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 1 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 2 (0.75 puntos): Justificar razonadamente el resultado de la pregunta 2 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Cuestión 3 (0.5 puntos): Justificar razonadamente el resultado de la pregunta 3 del test. Solución: Esta pregunta ya ha sido contestada al resolver el test. Problema El mapa de memoria de un procesador con bus de direcciones de 16 bits y bus de datos de 8 bits está ocupado por 2 módulos de memoria RAM de 8K 8 y uno de memoria ROM de 16K 8. Se desea que las posiciones de memoria más bajas estén ocupadas por la memoria ROM y las más altas por la memoria RAM. Diseñar el circuito de decodificación necesario. A) (2 puntos) Proponga un mapa de memoria que utilice los módulos y especificaciones indicadas en el enunciado. B) (2 puntos) Diseñar el circuito de decodificación pedido, indicando que función realiza cada uno de los elementos que lo componen. Solución al problema El espacio de direccionamiento consta de direcciones de 16 bits y se subdivide, a partir de los bits más significativos del bus de direcciones (A 15, A 14, A 13, ), en regiones más pequeñas hasta que se alcancen las capacidades de los chips de memoria (ver Figura)

454 Figura Mapa de memoria Se determinan las expresiones de las entradas de selección de chip (CSx) de los diferentes módulos en función de los bits del bus de direcciones que delimitan la región del espacio de direccionamiento donde se sitúa el contenido del módulo de memoria de acuerdo con las especificaciones del problema.

455 Del mapa de memoria de la figura se sigue lo siguiente: CS ROM = A 15 A 14 CS RAM1 =A 15 A 14 A 13 CS RAM2 = A 15 A 14 A 13 Se implementa el sistema de decodificación usando los bits más significativos del bus de direcciones para activar las líneas de control de selección de chip. El bus de direcciones de los módulos de memoria se conectan a los bits menos significativos del bus de direcciones del procesador. El bus de datos de los módulos se conectan al del procesador. Circuito de decodificación

456

457

Arquitectura de Computadores. Apellidos, Nombre:

Arquitectura de Computadores. Apellidos, Nombre: No se considerarán como válidas las respuestas en las que no se justifiquen los cálculos realizados No se permite el uso de ningún tipo de documentación, ni de calculadora Sólo existe una única opción

Más detalles

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

PROBLEMAS TEMA 3: Unidad de Entrada/Salida PROBLEMAS TEMA 3: Unidad de Entrada/Salida Problemas propuestos en examen 3.1 Un computador dispone de un canal multiplexor que controla 2 unidades de disco y 2 unidades de cinta. Las unidades de disco

Más detalles

Ejercicios. Arquitectura de Computadoras. José Garzía

Ejercicios. Arquitectura de Computadoras. José Garzía jercicios de rquitectura de Computadoras José Garzía n la figura se representa el diagrama de flujo de un algoritmo. B X Y +B í + 7=? No B B+ C +B Los registros, B y C tienen una longitud de 8 bits. 7

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal.

CPU MEMORIAS CACHE. Memorias caché. Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. MEMORIAS CACHE Memoria caché = memoria de tamaño pequeño y acceso rápido situada entre la CPU y la memoria principal. Tiempo ciclo memoria > tiempo de ciclo del procesador la CPU debe esperar a la memoria

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Memoria. Organización de memorias estáticas.

Memoria. Organización de memorias estáticas. Memoria 1 Memoria Organización de memorias estáticas. 2 Memoria En memoria físicas con bus de datos sea bidireccional. 3 Memoria Decodificación en dos niveles. 4 Necesidad de cantidades ilimitadas de memoria

Más detalles

SISTEMAS OPERATIVOS Arquitectura de computadores

SISTEMAS OPERATIVOS Arquitectura de computadores SISTEMAS OPERATIVOS Arquitectura de computadores Erwin Meza Vega emezav@unicauca.edu.co Esta presentación tiene por objetivo mostrar los conceptos generales de la arquitectura de los computadores, necesarios

Más detalles

1) Se dispone de un computador de 32 bits con la siguiente estructura:

1) Se dispone de un computador de 32 bits con la siguiente estructura: 1) Se dispone de un computador de 32 bits con la siguiente estructura: MP CPU CACHE DISCO1 DISCO2... DISCO n El sistema de memoria está formado por una Memoria principal cuyo tiempo de acceso es de 550nseg

Más detalles

TEMA III: OPERACIONES CON LOS DATOS

TEMA III: OPERACIONES CON LOS DATOS CUESTIONES A TRATAR: Cual es la función de la unidad operativa? Es necesaria? Qué tipos de circuitos implementan la unidad operativa? Unidad operativa frente a ALU Qué es una operación de múltiple precisión?

Más detalles

Tema: Microprocesadores

Tema: Microprocesadores Universidad Nacional de Ingeniería Arquitectura de Maquinas I Unidad I: Introducción a los Microprocesadores y Microcontroladores. Tema: Microprocesadores Arq. de Computadora I Ing. Carlos Ortega H. 1

Más detalles

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A.

Test: Conteste exclusivamente en HOJA DE LECTURA ÓPTICA. No olvide marcar que su tipo de examen es A. MATERIAL PERMITIDO: los libros Estructura y tecnología de computadores y Problemas de estructura y tecnología de computadores, ed. Sanz y Torres, y calculadora. NO SE PERMITEN FOTOCOPIAS. INSTRUCCIONES:

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos

INDICE Control de dispositivos específicos Diseño asistido por computadora Simulación Cálculos científicos INDICE Parte I. La computadora digital: organización, operaciones, periféricos, lenguajes y sistemas operativos 1 Capitulo 1. La computadora digital 1.1. Introducción 3 1.2. Aplicaciones de las computadoras

Más detalles

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores UNIDAD DE ENTRADA SALIDA Conceptos Unidad de entrada-salida (E/S): Elemento que proporciona un método de comunicación eficaz entre el sistema central y el periférico. Funciones Control y temporización

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU) INDICE Capitulo 1. Qué es un computador? 1.1. Introducción 1 1.2. El computador como dispositivo electrónico 2 1.3. Cómo se procesa la información? 3 1.4.Diagrama de bloques de un computador 1.4.1. Información

Más detalles

Tema IV. Unidad aritmético lógica

Tema IV. Unidad aritmético lógica Tema IV Unidad aritmético lógica 4.1 Sumadores binarios 4.1.1 Semisumador binario (SSB) 4.1.2 Sumador binario completo (SBC) 4.1.3 Sumador binario serie 4.1.4 Sumador binario paralelo con propagación del

Más detalles

Estructura del Computador

Estructura del Computador Estructura del Computador 1 definiciones preliminares Estructura: es la forma en que los componentes están interrelacionados Función: la operación de cada componente individual como parte de la estructura.

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

Examen de Estructura de Computadores ( ) Solución teoría

Examen de Estructura de Computadores ( ) Solución teoría Eamen de Estructura de Computadores (--) teoría ) Calcula las funciones de selección que determinan la ubicación de una ROM de K a partir de la dirección (CSrom), una RAM de 8K a partir de la dirección

Más detalles

MEMORIA EJERCICIO 1 EJERCICIO 2

MEMORIA EJERCICIO 1 EJERCICIO 2 MEMORIA EJERCICIO 1 Determinar el mapa de memoria de un procesador con 16 señales de bus de direcciones, una señal de asentimiento de bus de direcciones AS, una señal de lectura R, otra de escritura W

Más detalles

Registros de desplazamiento

Registros de desplazamiento Registros de desplazamiento Definición de registro de desplazamiento básico Tipos de registro de desplazamiento Configuraciones específicas Aplicaciones más típicas VHDL Ejercicio propuestos Definición

Más detalles

Tema 3. 2 Sistemas Combinacionales

Tema 3. 2 Sistemas Combinacionales Tema 3. 2 Sistemas Combinacionales Índice Circuitos combinacionales: concepto, análisis y síntesis. Métodos de simplificación de funciones lógicas. Estructuras combinacionales básicas Multiplexores Demultiplexores

Más detalles

Ejercicios de Arquitectura de Computadoras

Ejercicios de Arquitectura de Computadoras Ejercicios Arquitectura Computadoras José Garzía 9 En este tipo ejercicios bemos tener siempre presentes estas tres ecuaciones: MP ( en Memoria Principal ) Cantidad en la Memoria Principal por Cantidad

Más detalles

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI Guía de preparación para el examen ELECTRONICA CxTx En esta materia básicamente se evalúan temas tales como son: MULTIVIBRADORES, MEMORIAS, CONTADORES Y COMPUERTAS LOGICAS, SUMADOR RESTADOR Y MICROPOCESADORES

Más detalles

Memoria Cache. Departamento de Arquitectura de Computadores

Memoria Cache. Departamento de Arquitectura de Computadores Memoria Cache Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características físicas

Más detalles

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Subsistemas de memoria. Departamento de Arquitectura de Computadores Subsistemas de memoria Departamento de Arquitectura de Computadores Índice Introducción. Conceptos básicos Características de los sistemas de memoria Jerarquías de memoria Memoria Principal Características

Más detalles

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos INDICE Prólogo XI 1. Operación del Computador 1 1.1. Calculadoras y Computadores 2 1.2. Computadores digitales electrónicos 5 1.3. Aplicación de los computadores a la solución de problemas 7 1.4. Aplicaciones

Más detalles

Bloques Aritméticos - Multiplicadores

Bloques Aritméticos - Multiplicadores Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas

INDICE Capitulo 1. Álgebra de variables lógicas Capitulo 2. Funciones lógicas INDICE Prefacio XV Capitulo 1. Álgebra de variables lógicas 1 1.1. Variables y funciones 1 1.2. Variables lógicas 2 1.3. Valores de una variable lógica 2 1.4. Funciones de una variable lógica 3 1.5. Funciones

Más detalles

Representación de números enteros: el convenio exceso Z

Representación de números enteros: el convenio exceso Z Representación de números enteros: el convenio exceso Z Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior d

Más detalles

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema SUBSISTEMA DE ENTRADA-SALIDA Arquitectura de Computadores I 4º tema 1 Descripción de la interfaz de E/S Objetivo - Cómo se comunica la CPU con el exterior (periféricos de E/S) - Cómo se controla esta comunicación.

Más detalles

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable.

Fecha de Introducción. Velocidad de reloj. Anchura del bus. Número de transistores. (microns) Memoria direccionable. Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Fecha de Introducción Velocidad de reloj Anchura del bus Número de transistores (microns) Memoria direccionable Evolución

Más detalles

Jerarquía de memoria - Motivación

Jerarquía de memoria - Motivación Jerarquía de memoria - Motivación Idealmente uno podría desear una capacidad de memoria infinitamente grande, tal que cualquier. palabra podría estar inmediatamente disponible Estamos forzados a reconocer

Más detalles

DIAGRAMA A BLOQUES DE UNA COMPUTADORA

DIAGRAMA A BLOQUES DE UNA COMPUTADORA DIAGRAMA A BLOQUES DE UNA COMPUTADORA BUS DE DATOS: Interconecta los dispositivos de entrada/salida, la memoria RAM y el CPU. BUS DE DIRECCIONES: Se utiliza para direccional las localidades de memoria

Más detalles

Velocidades Típicas de transferencia en Dispositivos I/O

Velocidades Típicas de transferencia en Dispositivos I/O Entradas Salidas Velocidades Típicas de transferencia en Dispositivos I/O Entradas/Salidas: Problemas Amplia variedad de periféricos Entrega de diferentes cantidades de datos Diferentes velocidades Variedad

Más detalles

Funcionamiento de la computadora

Funcionamiento de la computadora Funcionamiento de la computadora La computadora es una maquina destinada a procesar datos. Este procesamiento involucra dos flujos de información: el de datos y el de instrucciones. Se parte del flujo

Más detalles

Subsistemas aritméticos y lógicos. Tema 8

Subsistemas aritméticos y lógicos. Tema 8 Subsistemas aritméticos y lógicos Tema 8 Qué sabrás al final del capítulo? Diseño de Sumadores Binarios Semisumadores Sumador completo Sumador con acarreo serie Sumador con acarreo anticipado Sumador /

Más detalles

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son: 3. Circuitos aritméticos ticos Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Introducción La realización de operaciones aritméticas y lógicas

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

1.2.- EL MICROPROCESADOR.

1.2.- EL MICROPROCESADOR. 1.2.- EL MICROPROCESADOR. El microprocesador es un circuito integrado que contiene algunos o todos los elementos necesarios para conformar una (o más) unidad central de procesamiento UCP, también conocido

Más detalles

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos Estructura de Computadores 7.- E/S y dispositivos periféricos Contenido Clasificación y tipos de periféricos Módulos de E/S. Instrucciones de E/S. Técnicas de E/S. E/S programada. E/S mediante interrupciones.

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador PROBLEMAS TEMA 1: Estructuras de interconexión de un computador Problemas propuestos en examen PROBLEMA 1. Una CPU que emplea un tamaño de palabra de 16 bits tiene un repertorio de 16 instrucciones con

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

ESTRUCTURA BÁSICA DE UN ORDENADOR

ESTRUCTURA BÁSICA DE UN ORDENADOR ESTRUCTURA BÁSICA DE UN ORDENADOR QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... QUÉ ES UN ORDENADOR? Un ordenador es una máquina... Qué son los

Más detalles

Tema 15 ELECTRÓNICA DIGITAL. PROCESADORES DIGITALES (PARTE 2A) Arquitecturas Harvard y Von Neumann. Tipos de procesadores digitales

Tema 15 ELECTRÓNICA DIGITAL. PROCESADORES DIGITALES (PARTE 2A) Arquitecturas Harvard y Von Neumann. Tipos de procesadores digitales ELECTRÓNICA DIGITAL Tema 5 PROCESADORES DIGITALES (PARTE 2A) Arquitecturas Harvard y Von Neumann. Tipos de procesadores digitales SISTEMA FÍSICO DE LA DE CONTROL DE CONTROL ARQUITECTURA HARVARD CTR G M

Más detalles

Arquitectura (Procesador familia 80 x 86 )

Arquitectura (Procesador familia 80 x 86 ) Arquitectura (Procesador familia 80 x 86 ) Diseño de operación Basada en la arquitectura Von Newman Memoria CPU asignadas direcciones I / O BUS: Es un canal de comunicaciones Bus de direcciones: Contiene

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Memoria Virtual. Memoria Virtual

Memoria Virtual. Memoria Virtual Memoria Virtual DISEÑO DE SISTEMAS DIGITALES EL-3310 I SEMESTRE 2008 Memoria Virtual Define la relación entre memoria principal y memoria secundaria Permite crear la ilusión de una memoria principal de

Más detalles

SISTEMAS ELECTRÓNICOS DIGITALES

SISTEMAS ELECTRÓNICOS DIGITALES SISTEMAS ELECTRÓNICOS DIGITALES PRÁCTICA 6 SISTEMA DE ENCRIPTACIÓN 1. Objetivos - Estudio del funcionamiento de memorias RAM y CAM. - Estudio de métodos de encriptación y compresión de datos. 2. Enunciado

Más detalles

PROBLEMA VHDL. 7 dig1. dig2. Entradas : Señales a[3..0] y b [3..0] en código GRAY Salida : Señales Dig1[6..0] y Dig2[6..0] para los visualizadores

PROBLEMA VHDL. 7 dig1. dig2. Entradas : Señales a[3..0] y b [3..0] en código GRAY Salida : Señales Dig1[6..0] y Dig2[6..0] para los visualizadores LAB. Nº: 4 HORARIO: H-441 FECHA: 2/10/2005 Se tienen 2 números en Código GRAY de 4 bits. Se requiere diseñar un circuito que obtenga la suma de estos 2 números y que muestre el resultado en formato BCD

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

TEMA 8. REGISTROS Y CONTADORES.

TEMA 8. REGISTROS Y CONTADORES. TEMA 8. REGISTROS Y CONTADORES. TECNOLOGÍA DE COMPUTADORES. CURSO 2007/08 8.1. Registros. Tipos de registros. Registros de desplazamiento. Los registros son circuitos secuenciales capaces de almacenar

Más detalles

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN CUESTIONES A TRATAR: Existe un tipo único tipo de memoria en un determinado computador? Todas las memorias de un computador tienen la misma función?. Qué es la memoria interna de un computador? Por qué

Más detalles

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1 1. Cuál de los siguientes componentes no forma parte del esquema general de un ordenador? A Memoria Principal B Disco Duro C Unidad de Control D Unidad Aritmético

Más detalles

Manejo de Entrada-Salida. Arquitectura de Computadoras

Manejo de Entrada-Salida. Arquitectura de Computadoras Manejo de Entrada-Salida Arquitectura de Computadoras Agenda 1.2.3.1Módulos de entrada/salida. 1.2.3.2Entrada/salida programada. 1.2.3.3Entrada/salida mediante interrupciones. 1.2.3.4Acceso directo a memoria.

Más detalles

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf 1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para

Más detalles

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema Arquitectura de Computadoras Anexo Clase 8 Buses del Sistema Estructuras de interconexión Todas las unidades han de estar interconectadas. Existen distintos tipos de interconexiones para los distintos

Más detalles

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas

Soluciones a los problemas impares. Tema 5. Memorias. Estructura de Computadores. I. T. Informática de Gestión / Sistemas Tema 5. Soluciones a los problemas impares Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 28-29 Tema 5 Hoja: 2 / 36 Tema 5 Hoja: 3 / 36 Base teórica La memoria es el lugar en

Más detalles

Organización lógica Identificación de bloque

Organización lógica Identificación de bloque Cómo se encuentra un bloque si está en el nivel superior? La dirección se descompone en varios campos: Etiqueta (tag): se utiliza para comparar la dirección requerida por la CPU con aquellos bloques que

Más detalles

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Arquitectura de una Computadora Componentes de un Sistema de Cómputo Un sistema está

Más detalles

Diseño del procesador MIPS R2000

Diseño del procesador MIPS R2000 Diseño del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice 1.

Más detalles

La Máquina de Acceso Aleatorio (Random Access Machine)

La Máquina de Acceso Aleatorio (Random Access Machine) La Máquina de Acceso Aleatorio (Random Access Machine) Nuestro modelo de cómputo secuencial es la máquina de acceso aleatorio (RAM, Random Access Machine) mostrada en la Figura 2.1, y que consiste de:

Más detalles

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales

Dispositivos Digitales. EL-611 Complemento de Diseño Lógico y. Dispositivos Digitales EL-611 Complemento de Diseño Lógico y Objetivos y Evaluación Segundo Curso de Sistemas Digitales Complementar Materia Enfoque Diseños de Mayor Envergadura 1 Control + Examen y 6 Ejercicios (aprox.) Tareas

Más detalles

Estructura de Computadores Tema 1. Introducción a los computadores

Estructura de Computadores Tema 1. Introducción a los computadores Estructura de Computadores Tema 1. Introducción a los computadores Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido

Más detalles

Representación de datos y aritmética básica en sistemas digitales

Representación de datos y aritmética básica en sistemas digitales Representación de datos y aritmética básica en sistemas digitales DIGITAL II - ECA Departamento de Sistemas e Informática Escuela de Ingeniería Electrónica Rosa Corti 1 Sistemas de Numeración: Alfabeto:

Más detalles

La memoria del ordenador

La memoria del ordenador La memoria del ordenador Alberto Molina Coballes David Sánchez López Fundamentos de Hardware Diciembre 2011 La memoria Desde el punto de vista informático, memoria es todo dispositivo que es capaz de:

Más detalles

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM Unidad 1 Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES Grado en Ingeniería Informática EPS - UAM Índice 1. Sistemas digitales basados en microprocesador. 1.1. Arquitectura

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014.

Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014. Universidad Central de Venezuela Facultad de Ciencias Escuela de Computación Organización y Estructura del Computador II Semestre I-2014 Práctica #3 1) Qué es un latch? Qué es un flip-flop? 2) Si se aplican

Más detalles

Fundamentos de Hardware: Arquitectura de un ordenador

Fundamentos de Hardware: Arquitectura de un ordenador Fundamentos de Hardware: Arquitectura de un ordenador Jesús Moreno León Alberto Molina Coballes jesus.moreno.edu @juntadeandalucia.es Septiembre 2011 Estas diapositivas son una obra derivada de las transparencias

Más detalles

Arquitectura de Computadores II Clase #7

Arquitectura de Computadores II Clase #7 Arquitectura de Computadores II Clase #7 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Memoria virtual 1 Recordemos: Jerarquía de Memoria Registros Instr.

Más detalles

Guía práctica de estudio 05: Diagramas de flujo

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Ejercicios Jerarquía de Memoria

Ejercicios Jerarquía de Memoria Ejercicios Jerarquía de Memoria Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Memoria caché CPU cache Memoria principal 2. Memoria

Más detalles

Diseño de una calculadora

Diseño de una calculadora DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Diseño de una calculadora Sistemas Digitales Avanzados 1. Introducción y objetivos El propósito general de esta

Más detalles

Test 1.- 2.- 3.- 4.-

Test 1.- 2.- 3.- 4.- Test.- En la figura se muestra el diagrama de estados de Huffman-Mealy de una unidad de control. Indique si las siguientes afirmaciones son verdaderas: I s s/c,c3 S S S2 s/c2 I/c s/c I. La unidad de control

Más detalles

5.2. Sistemas de codificación en binario

5.2. Sistemas de codificación en binario 5.2. Sistemas de codificación en binario 5.2.1. Sistemas numéricos posicionales [ Wakerly 2.1 pág. 26] 5.2.2. Números octales y hexadecimales [ Wakerly 2.2 pág. 27] 5.2.3. Conversión general de sistemas

Más detalles

Introducción a los Sistemas Operativos

Introducción a los Sistemas Operativos Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto

Más detalles

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior. 6.1. El subsistema de E/S Qué es E/S en un sistema computador? Aspectos en el diseño del subsistema de E/S: localización

Más detalles

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6 DOCENTE(S) DEL AREA:NILSON YEZID VERA CHALA COMPETENCIA: USO Y APROPIACION DE LA TECNOLOGIA NIVEL DE COMPETENCIA: INTERPRETATIVA

Más detalles

DISEÑO CURRICULAR ELECTRÓNICA DIGITAL

DISEÑO CURRICULAR ELECTRÓNICA DIGITAL DISEÑO CURRICULAR ELECTRÓNICA DIGITAL FACULTAD (ES) CARRERA (S) Ingeniería Computación y Sistemas. CÓDIGO HORAS TEÓRICAS HORAS PRÁCTICAS UNIDADES DE CRÉDITO SEMESTRE 116243 02 02 03 VI PRE-REQUISITO ELABORADO

Más detalles

Electrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas

Electrónica Digital. Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas Electrónica Digital Fco. Javier Expósito, Manuel Arbelo, Pedro A. Hernández 2001 Dpto. de Física Fundamental y Experimental, Electrónica y Sistemas UNIVERSIDAD DE LA LAGUNA ii ÍNDICE Lección 0. Introducción...1

Más detalles

Diagrama a bloques de una computadora

Diagrama a bloques de una computadora Diagrama a bloques de una computadora Memoria Primaria Bus de Datos Bus de Dato s Bus de Direccione s Procesador Bus de Direcciones Memoria Secundaria Unidad de Control ALU Bus Interno Registros Bus de

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente

Más detalles

EIE SISTEMAS DIGITALES Tema 8: Circuitos Secuenciales (Síntesis) Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas

EIE SISTEMAS DIGITALES Tema 8: Circuitos Secuenciales (Síntesis) Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas EIE 446 - SISTEMAS DIGITALES Tema 8: Circuitos Secuenciales (Síntesis) Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas OBJETIVOS DE LA UNIDAD Entender el concepto de Máquina de estados

Más detalles

INDICE. XVII 0 Introducción 0.1. Historia de la computación

INDICE. XVII 0 Introducción 0.1. Historia de la computación INDICE Prefacio XVII 0 Introducción 0.1. Historia de la computación 1 0.1.1. Los inicios: computadoras mecánicas 0.1.2. Primeras computadoras electrónicas 0.1.3. Las primeras cuatro generaciones de computadoras

Más detalles

ASIGNATURA: Estructura de Computadores

ASIGNATURA: Estructura de Computadores ASIGNATURA: Estructura de Computadores I. T. Informática de Sistemas Gestión Universidad de Alcalá Curso Académico 09/10 Curso 1º Cuatrimestre 1º GUÍA DOCENTE Nombre de la asignatura: Estructura de Computadores

Más detalles

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción

Discusión. Modelo de una compuerta. Arquitecturas de Computadores Prof. Mauricio Solar. Temario. ...Introducción 0-06-200 Temario Arquitecturas de Computadores Prof. Mauricio Solar 5 Componentes igitales Estructurados Introducción 2 Registros 3 Multiplexores 4 Codificadores y ecodificadores 5 Archivos de Registros

Más detalles

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria

Organización del Sistema de Memoria. 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria Organización del Sistema de Memoria 1. Tipos de memoria 2. Jerarquía de memoria 3. El principio de localidad 4. Organización de la memoria 1. Tipos de memoria La memoria se puede clasificar de acuerdo

Más detalles

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con

Más detalles

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Tutoría 2. Banco de memoria de 8 y 16 bits (8086) Tutoría 2. Banco de memoria de 8 y 16 bits (8086) RESUMEN Cuando el procesador opera en modo mínimo, éste genera las señales de control para la memoria y los dispositivos de E/S. [1, pág. 292]. Para utilizar

Más detalles

Programación en java. Estructuras algorítmicas

Programación en java. Estructuras algorítmicas Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica

Más detalles