Examen Final B IC-07-08-Q2 Apellidos y Nombre: .......................................................................................................................DNI: ......................... Examen final IC parte B • • • • • • • Duración de esta parte del examen: 2 horas. Presentarse a este examen significa renunciar a la nota de evaluación continua de los objetivos de nivel B. Cada ejercicio se tiene que resolver en el espacio reservado para ello a continuación de su enunciado. No podéis utilizar calculadora, móvil, apuntes, etc. La solución del examen se publicará en el Racó de la FIB y en Atenea mañana por la mañana. Las notas se publicarán en el Racó de la FIB el día 27 de junio. La revisión será el 1 de julio a las 12:00 en el aula C6-E106. Las notas definitivas se publicarán en el Racó de la FIB el día 2. Para algunos de los ejercicios son útiles las figuras y tablas que se muestran en la hoja aparte: Estructura a bloques del SISP-I-1, SISP-I-1 CONTROL LOGIC, Tabla resumen del formato y codificación de las instrucciones SISA-I y Funcionalidades de la ALU. Ejercicio 1 (Objetivo 2.4) (0.5 puntos) Dado el esquema lógico del siguiente circuito combinacional (incluida la tabla de verdad del bloque F), completad la tabla de verdad del circuito. Respuesta Bloque F x1 x0 w1 w0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 a x1 b x0 w1 F d w0 e c a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 d e Ejercicio 2 (Objetivo 2.13) (0.5 puntos) Dado el esquema lógico del siguiente circuito combinacional y sabiendo que los tiempos de propagación de las puertas son: TNot = 10, TOr = 20; completad el siguiente cronograma. e a g b f c d Copyright © 2008, Facultad de Informática de Barcelona. UPC 1/5 Examen Final B IC-07-08-Q2 Apellidos y Nombre: .......................................................................................................................DNI: ......................... Ejercicio 3 (Objetivo 3.1, 4.5, 3.4.2, 4.8.1 y 4.10) (0.5 puntos) Escribid el valor lógico de los bits de salida del siguiente circuito para los siguientes valores de las entradas: X = 10110111, Y = 01010011 y Z = 10000101. X Y Z Respuesta: c v ADD NOT a c v ADD b c d SRA-2 W7 W6 W5 W4 W3 W2 W1 W0 a b c d W Ejercicio 4 (Objetivos 5.10, 5.9 y 5.14) (2 puntos) Dado el grafo de estados de un circuito secuencial de Moore, se pide lo siguiente. 1 1 0 x q1q0 x 00 000 w2w1w0 0 01 100 10 101 11 110 0 1 a) Completad el cronograma simplificado que muestra el comportamiento del circuito (valor lógico del estado y de las salidas) para la secuencia de valores de la entrada que se indica. (Objetivo 5.10) (0.5 puntos) úm. Ciclo 00 Estado: q1q0 00 Entrada: x 1 Salida: w2w1w0 01 02 03 04 05 06 07 08 09 10 0 1 0 0 0 1 0 0 1 1 000 b) Escribid la tabla del estado siguiente (tabla de transiciones) y la tabla de salidas del circuito. (Objetivo 5.9) (0.5 puntos) Tabla de transiciones: Copyright © 2008, Facultad de Informática de Barcelona. UPC Tabla de salidas: 2/5 Examen Final B IC-07-08-Q2 Apellidos y Nombre: .......................................................................................................................DNI: ......................... c) Dibujad el esquema lógico que implementa el circuito con el mínimo número de biestables D y dos memorias ROM. Indicad claramente: (Objetivo 5.14) (1 punto) - El nombre de todas las señales de entrada y salida del circuito. - Los bits de dirección de las dos ROMs, para saber el peso de los mismos, la dirección (en decimal) de la primera y última palabra de la ROM y el contenido de cada palabra dentro del símbolo de cada ROM (codificad las x de las tablas como 0 en las ROMs). - La entrada D y la salida Q de cada biestable. Ejercicio 5 (Objetivo 5.15) (1.5 puntos) Indicad cuál es el camino crítico (o uno de ellos si hay varios) y el tiempo de ciclo mínimo del circuito secuencial formado por la unidad de control y la unidad de proceso que se muestran a continuación. Considerad que: • El tiempo de propagación de cada uno de los dispositivos es: TNot = 10, TAnd = 20, TOr = 20, TF1 = 30, TF2 = 60, TF3 = 60, TMUX =50, TBiestable = 90, TREG1 = 110 y TREG2 = 100 u.t. • La señal de entrada X está estable pasadas 120 u.t. desde que se produce el flanco ascendente de cada ciclo de reloj. • La salida W debe estar estable 10 u.t. antes del flanco ascendente de cada ciclo de reloj. X f 1 0 MUX Mx Respuesta: REG1 Camino crítico: F1 F2 REG2 D Clk Tiempo de ciclo mínimo: Q f Mx F3 Clk W Copyright © 2008, Facultad de Informática de Barcelona. UPC 3/5 Examen Final B IC-07-08-Q2 Apellidos y Nombre: .......................................................................................................................DNI: ......................... Ejercicio 6 (Objetivo 7.9) (1 punto) Para cada uno de los dos apartados siguientes, completad el grafo de estados de la unidad de control para que junto con la UPG realice la funcionalidad descrita mediante un fragmento de código en C. Considerad que los datos son enteros en complemento a dos. Indicad las etiquetas de los arcos y los mnemotécnicos de las palabras de control que faltan. a) RD-IN 1 0 MUX In/Alu WrD WrD Clk @A 3 if (R3 > -1) R2 = R4 * 8; else R5 = 0x00FF; R1 = R0 - R3; D 3 @D @D REGFILE @A b) 3 @B @B A B WR-OUT N 1 0 MUX Rb/N F OP 3 2 X F OP while (R2 < 33) { R2 = R2 + 1; R3 = R3 / 2; } R7 = R3 & R6; Y z z ALU Respuesta: Ejercicio 7 (Objetivo 10.2) (1 punto) Indicad cómo queda modificado el estado del computador después de la ejecución del siguiente fragmento de código SISA-I, almacenado a partir de la dirección 0x73BC de la memoria de instrucciones. El estado inicial es: PC = 0x73BC, R0=0xFB3D, R1=0x0004, R2=0xF000, R3=0x0077 y el resto de registros, posiciones de memoria de datos y puertos de entrada y de salida valen 0x0000. MOVI R3, -86 SHA R1, R2, R1 BZ R1, 2 Respuesta: Copyright © 2008, Facultad de Informática de Barcelona. UPC 4/5 Examen Final B IC-07-08-Q2 Apellidos y Nombre: .......................................................................................................................DNI: ......................... Ejercicio 8 (Objetivo 11.3) (1.5 puntos) Completad las filas y columnas sombreadas en la siguiente tabla que representa en forma compacta el contenido de la ROM de la lógica de control del SISP-I-1 (ROM-SISP-I-1-CTRL). Poned x siempre que un bit pueda valer tanto 0 como 1. Tened en cuenta que cuando se ejecuta una instrucción con un código de operación que no coincide con ninguno del SISA-I no se debe modificar el estado del computador, excepto el PC que se debe incrementar para pasar a ejecutar la siguiente instrucción (podemos decir que estos códigos de operación no usados hacen referencia a instrucciones NOP). e 0 0 0 0 x 0 0 0 1 x 0 0 1 0 x Bnz Bz WrMem RdIn WrOut WrD InLd/Alu In/Ld Rb/N OP1 OP0 Mx@A MxF Mx@B MxN CO I15 I14 I13 I12 I8 Contenido de la ROM Not used Dirección ROM AND, OR, XOR, NOT ADD, SUB, SHA, SHL CMPLT, CMPLE, -, CMPEQ CMPLTU, CMPLEU, -, ADDI 0 0 1 1 x 0 1 0 0 x LD ST 0 1 0 1 0 MOVI 0 1 0 1 1 0 1 1 0 0 MOVHI BZ 0 1 1 0 1 BNZ 0 1 1 1 0 IN 0 1 1 1 1 OUT 1 x x x x Not Used Ejercicio 9 (Objetivo: 11.4) (1.5 puntos) Escribid sobre la siguiente tabla el valor de los bits que tiene la palabra de control del SISP-I-1 durante el ciclo en que se ejecuta cada una de las instrucciones SISA-I que se indican. Poned x siempre que no se pueda saber el valor de un bit (al no saber cómo se han implementado las x en la ROM de la lógica de control) o cuando no importe el valor de ese bit para la ejecución correcta de la instrucción (aunque se pueda saber el valor codificando la instrucción). Suponed que antes de ejecutar cada instrucción el contenido de los registros, de los puertos de entrada y salida y de la memoria de datos es cero. ST 15(R3), R7 BZ R0, -16 CMPLEU R3, R2, R1 IN R5, 129 OP @D @A F b2 b1 b0 b2 b1 b0 b1 b0 b2 b1 b0 Copyright © 2008, Facultad de Informática de Barcelona. UPC Rb/N WrD In/Ld InLd/Alu Rd-In Wr-Out Wr-Mem Instrucción SISA-I TknBr Palabra de Control del SISP-I-1 ADDR -IO N (hexa) @B (hexa) b2 b1 b0 D3 D2 D1 D 0 D1 D0 5/5