Examen Final d’Introducció als Computadors 21 de Juny de 2000, 8:30 del matí Durada de l’examen: 2.5 hores -No es poden fer servir apunts ni calculadora. -Només es poden usar els xuletaris de circuits lògics i MR. Problema 1 (2.5 punts) Un circuit combinacional té les entrades i sortides següents: A 4 4 S. L. C. c1 R V c0 A i R són números enters codificats en complement a 2. El valor del resultat R ve determinat per la taula següent: C1 C0 R 0 0 A 0 1 2A 1 0 -2A 1 1 -A El senyal V indica si s’ha produït sobreeiximent (overflow) en calcular el resultat. a) Per quins valors dels senyals d’entrada es produirà sobreeiximent? Per què? b) Dissenyeu el circuit que calcula R (no cal implementar V) a nivell de blocs, fent servir un únic sumador i altres blocs, del tamany que cregueu convenient. Problema 2 (2 punts) En la entrada E de un sistema secuencial puede aparecer varias veces una secuencia de 5 bits que consiste en: 2 bits de comienzo (los dos bits con valor 1) seguidos de 3 bits de datos (cada uno de ellos puede tener el valor 0 ó 1) 1 1 bits de comienzo 1 1 0 1 0 0 S.L.S. E F 1 1 bits de datos clk Si la suma de los unos dentro de los 3 bits de datos es impar, en la salida F del sistema secuencial aparece el valor 1 en el ciclo siguiente al que ha llegado el tercer bit de datos y sólo durante un ciclo. En todos los demás casos, la salida F tiene el valor 0 (ver el cronograma ejemplo). Entre secuencias puede haber otros bits. Los bits de datos no se utilizan como bits de comienzo de otra secuencia de información. Cronograma ejemplo (con 3 secuencias): clk E F a) Dibujad el grafo de estados del SLS tipo Moore con el mínimo número de estados. b) Cuál es el tamaño mínimo de una ROM para que, usándola junto con biestables D, se pueda implementar el SLS? Justifica la respuesta sin implementarlo. APELLIDOS: NOMBRE: Problema 3 (2.5 punts) RESPON TOTS ELS APARTATS D’AQUEST PROBLEMA EN AQUEST FULL a) Traduïu a llenguatge màquina de la MR les instruccions del següent programa escrit en assemblador de la MR. Llenguatge Màquina (binari) Programa a: .dw -4,2 b: .rw 3 Llenguatge Màquina (hexadecimal) N=-10 .begin inici inici: LOAD a(R0),R1 ADDI R1,#N,R2 SUB R1,R0,R0 BGE salt ASR R2,R2 salt: STORE R2,b(R0) .end b) Construïu la Taula de Símbols que es crea en el procés d’assemblatge del programa. Símbol Valor c) En quina posició de memòria guarda el resultat aquest programa? Quin és el valor que s’hi acaba guardant? Descriviu breument els passos que heu seguit per obtenir aquest valor. Indiqueu també els resultats intermitjos de cada pas. d) Indiqueu quin és el contingut (en hexadecimal) de les posicions de memòria 00h a 07h quan s’ha acabat d’executar el programa anterior. Posició 00 01 02 03 04 05 06 07 Contingut (en hexadecimal) APELLIDOS: NOMBRE: Problema 4 (3 punts) RESPON TOTS ELS APARTATS D’AQUEST PROBLEMA EN AQUEST FULL a) La Máquina Rudimentaria posee 7 instrucciones de salto. Rellena la siguiente tabla indicando qué valores deben tener los bits de condición N y Z para que se realice el salto en cada una de las instrucciones. Instrucción Condición de salto BR BEQ BL BLE BNE BGE BG b) Los tiempos de respuesta (en nanosegundos) de los diferentes bloques de la MR son los siguientes: Operación o bloque Tiempo Operación o bloque Tiempo Escritura de un registro 0 Incrementador del PC 20 Lectura de un registro 0 EXT 0 Escritura de un registro del BR 0 ALU 25 Lectura de un registro del BR 10 Lectura y/o escritura de memoria 50 Multiplexor 5 Evaluación de la condición 10 Sumador 20 Indica una cota inferior del tiempo que tardan en realizarse los estados del grafo FETCH, LOAD y ARIT. Razona la respuesta describiendo qué acciones se realizan en la Unidad de Proceso en cada uno de estos estados y cuánto tiempo tarda en realizarse cada una de ellas. Utiliza la notación que se muestra en el ejemplo para el estado de FETCH (fíjate que falta por rellenar el tiempo de cada acción y el tiempo total del estado). Escribe la respuesta en el cuadro adjunto, rellenando todas las casillas necesarias. Alguna de las filas puede quedar vacía. Estado FETCH Acciones Bloques Implicados PC <- PC + 1 PC, Seladr, Memoria, Incrementador IR <- M[PC] PC, Seladr, Memoria, IR Tiempo Acciones Tiempo Total ARIT LOAD c) En el supuesto que éstos son los estados que más tardan en realizarse, indica a continuación cual es la máxima frecuencia a la que puede funcionar de forma correcta la MR, y justifica la respuesta. d) Realizando las siguientes suposiciones: - El tiempo de ciclo de la MR es de 100 ns. - Se ejecutan las siguientes instrucciones (no importa el orden): 25 instrucciones aritméticas, 20 instrucciones LOAD, 6 instrucciones STORE y 10 instrucciones de salto - En las instrucciones de salto, en 7 ocasiones se realiza el salto y en 3 ocasiones se sigue ejecutando en secuencia. - La última instrucción del fragmento que se ejecuta es una instrucción STORE Indica cuánto tiempo (en segundos) tarda en ejecutarse el fragmento descrito, justificando la respuesta.