Examen Parcial IC Problema 1 (2.5 punts) a) (Objetivo 4) Realiza las siguientes operaciones referidas a diferentes bases, sólo en el caso de que las cifras estén correctamente expresadas en dicha base. Si no lo están, indícalo de forma justificada. • Indica explícitamente los acarreos parciales y el acarreo final, además del resultado. • Realiza, en cada caso, todas las operaciones en la base indicada. 2E417 FG817 + CA817 G5IA20 J1CH20 + JHC720 55B12 AC812 + 9AB12 40325 1435 + 21345 Supón los siguientes valores decimales para las letras representadas: Letra A – F G H I J Valor decimal Como en hexadecimal 16 17 18 19 b) (Objetivo 5) Se dispone de una ALU que opera con números de 10 bits capaz de sumar, restar y proporcionar dos bits que indican overflow (irrepresentabilidad) en naturales (C) y en enteros (V). 10 bits 10 bits X Y C ALU Z V 10 bits Se desea saber cuáles de las siguientes operaciones (expresadas en decimal) pueden realizarse en la ALU. Para ello se debe responder, para cada operación, a las tres preguntas siguientes justificando brevemente la respuesta: 748 10 -226 10 + 276 10 + -286 10 - +1024 10 +1023 10 - + 512 10 + 700 10 + 1023 10 + - 512 10 1) Calcula el resultado e indica si es representable en 10 bits. 2) ¿Podrá realizar la ALU la operación? Justifica la respuesta. 3) En caso de que la operación fuera realizable en la ALU, indica en cada caso qué bit habría que mirar para confirmarlo (C o V), y si valdría 1 ó 0. c) (Objetivo 4) Sea un número D, cuya representación en las bases a y b son las siguientes: D = 113 a D = 53 b Determina el valor decimal de D, sabiendo que b = 2 a. Observación: No se puede utilizar el método de ensayo y error. Indica todos los pasos realizados. SOLUCIÓN PROBLEMA 1 (2.5 punts) a) 121 G5IA20 J1CH20 + JHC720 Acarreos parciales Resultado + acarreo final 2F53E20 21 2E417 FG817 + CA817 + 1E7317 021 40325 1435 + 21345 55B12 AC812 9AB12 Representacion Incorrecta 114145 En base 12 la representación del dígito C no tiene sentido, puesto que en esta base sólo tienen cabida los siguientes dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A y B. b) Bus de 10 bits rango(n=10) Naturales = [0,210-1] = [0,1023] rango(n=10) Ca2 = [-2n-1,2n-1-1] = [-512,511] 74810 + 27610 102410 - 22610 + - 28610 1)El resultado 1024 no es representable en 10 bits 2)La ALU podrá realizar la operación de suma en naturales, pero el resultado produce overflow. 3)Habría que mirar el bit C, el cual estaría activo (=1). 1)El resultado -512 es representable en Ca2 con 10 bits 2)La ALU podrá realizar la operación de suma en Ca2, sin overflow 3)Habría que mirar el bit V, el cual no estaría activo. - 51210 - + 102410 + 102310 110 - + 51210 + 102310 -51110 + 70010 + - 51210 18810 1)El resultado 1 es representable en 10 bits (Ca2 y natural) 2)La ALU no podrá realizar la operación de resta puesto que un operando (1024) no es representable en binario natural. 3)Operación no realizable 1)El resultado -511 es representable en 10 bits en Ca2 2)Como los operandos no son representables en Ca2 la operación no es realizable. Desde el punto de vista de los naturales, los operandos son representables, pero la operación produce overflow, puesto que no se puede representar un número negativo. 3)Operación no realizable en Ca2. En naturales habría que mirar el bit C, el cual estaría activo. 1)El resultado 182 es representable en 10 bits (Ca2 y natural) 2)La ALU no podrá realizar la operación de suma, puesto que los operandos no son representables en el mismo sistema de representación para 10 bits 3)Operación no realizable c) D = 113a = a2 + a + 3 D = 53b = 5b + 3 } a22 a a2 a + a + 3 = 5b + 3 donde b = 2 a + a + 3 = 10a + 3 – 9a = 0 a=0 No posible (a – 9) = 0 a=9 → b = 18 Así pues: D = 92 + 9 + 3 = 93 ó D = 5 * 18 + 3 = 93 { Problema 2 (4 punts) a) (Objectiu 6.3) Doneu l’expressió algebraica de la sortida d’un multiplexor 4 a 1 (per exemple, el que hi ha al xuletari). Donat el circuit de la figura: a b x • • • z • y • 0 1 f 2 3 + c d b) (Objectiu 6.2) Obteniu l’expressió algebraica de f(a,b,c,d) del circuit de la figura. Nota: No cal simplificar. Doneu l’expressió que surti directament d’analitzar el circuit anterior. c) (Objectiu 6.2, 6.4) Calculeu la forma canònica en suma de minterms a partir de la taula de veritat d’f(a,b,c,d). d) (Objectiu 6.4) D’acord amb la implementació interna del multiplexor que heu obtingut a l’apartat a): • Indiqueu el nombre de portes que es necessitarien en la implementació interna de f(a,b,c,d) amb un multiplexor 16 a 1. • Indiqueu també el nombre de portes utilitzades en el circuit de la figura (incloent les portes que hi ha dintre del multiplexor 4 a 1 de la figura) Nota: les portes lògiques poden tenir les entrades que calguin. e) (Objectiu 6.2) Sabem que per al circuit de la figura tenim els següents retards: NOR=15ns, AND=10ns, XOR=20ns, Multiplexor=25ns, i que els retards del circuit de l’apartat d) són: NOT=5ns, AND=15ns i OR=20ns. Quin circuit és el millor pel que fa a retard? Perquè? g) (Objectiu 6.2) Ompliu el cronograma del full adjunt tenint en compte els retards indicats a l’apartat e) per al circuit de la figura. Indiqueu sota cada transició l’instant de temps (en ns) en el que es produeix. SOLUCIÓ PROBLEMA 2: a) D’acord amb la notació utilitzada per a entrades i sortides al xuletari, l’expressió algebraica és: O = c1’·c0’·I0 + c1’·c0·I1 + c1·c0’·I2 + c1·c0·I3 b) Analitzant el circuit veiem que, x = a·b y = (a+b)’ z = (a·b) ⊕ (a+b)’ i d’acord amb l’expressió de l’apartat a) f = c’·d’·z + c’·d·y + c·d’·x + c·d·z Per tant, si ho expressem en funció d’a, b, c i d. f(a,b,c,d) = c’·d’·((a·b) ⊕ (a+b)’) + c’·d·(a+b)’ + c·d’·(a·b) + c·d·((a·b) ⊕ (a+b)’) c) a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 d (a+b)’ a·b (a+b)’⊕(a·b) f(a,b,c,d) 0 1 0 1 1 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 0 1 1 1 Per tant, l’expressió en suma de minterms és: f(a,b,c,d) = a’·b’·c’·d’ + a’·b’·c’·d + a’·b’·c·d + a·b·c’·d’ + a·b·c·d’ + a·b·c·d d) En un multiplexor 16 a 1 tenim 4 entrades de control. Si tenim en compte l’expressió de l’apartat a), però ara amb 4 entrades de control, veurem que necessitem: 1 OR de 16 entrades 16 ANDs de 5 entrades i 4 NOTs per poder negar cadascuna de les entrades de control En total, 21 portes lògiques. Respecte al circuit de la figura necessitem: 1 AND de 2 entrades 1 NOR de 2 entrades 1 XOR de 2 entrades i les portes de dins del multiplexor, que, seguint un raonament similar al que hem fet per a l’altre circuit, són: 1 OR de 4 entrades 4 ANDs de 3 entrades 2 NOTs per poder negar cadascuna de les entrades de control En total, 10 portes lògiques. e) Si agafem el camí més llarg, per al circuit de la figura és el que passa per NOR-XOR-Multiplexor. El seu retard és: 15+20+25=60ns Si agafem el camí més llarg, per al circuit de l’apartat d) (multiplexor 16 a 1) haurem de passar per NOT-ANDOR. El seu retard és: 5+15+20=40ns Per tant, el millor circuit pel que fa a retard és el multiplexor 16 a 1. Cognoms: ______________________________________________________________________ Nom: _______________________ DNI: ___________________ x 210 110 310 510 y 40 z 230 130 60 f 225 100 200 530 330 255 355 300 400 500 t(ns) Problema 3 (3.5 punts) Se dispone de un circuito de control de acceso basado en un código secreto de cuatro dígitos decimales (similar al de un cajero automático). La figura siguiente muestra el esquema de bloques del circuito. ok 0 1 2 3 4 5 6 7 8 9 ok C num ero 4 4 D in + teclad o ok C 1 1 SL 2 SE 1 PE BANCO DE R E G IS T R O S D o ut 4 clk inic io 1 S IS T E M A L Ó G IC O S E C U E N C IA L S2 S1 clk S0 S IS T E M A LÓ G IC O C O M B IN A C IO N A L 4 A 1 2 3 4 V IS U A L IZ A D O R El objetivo de este diseño es almacenar los 4 dígitos introducidos por el teclado en un banco de registros. El circuito dispone de los siguientes bloques: teclado, banco de registros, sistema lógico secuencial, sistema lógico combinacional y visualizador. La descripción del funcionamiento de cada bloque es la siguiente: Teclado: Cuando se pulsa la tecla <ok>, el teclado proporciona en el bus de salida numero el último dígito pulsado por el usuario y se activa a 1 la señal de salida ok. Banco de registros: Contiene cuatro registros de cuatro bits cada uno y los siguientes buses: entrada de datos (Din), salida de datos (Dout), dirección de lectura (SL), dirección de escritura (SE) y permiso de escritura (PE). La lógica combinacional que hay conectada a la entrada del permiso de escritura del banco de registro se encarga de que el registro adecuado se escriba únicamente cuando la señal ok vale 1 y no se ha finalizado la secuencia. Sistema Lógico Secuencial (SLS): La señal inicio es una entrada asíncrona controlada por un sistema externo que sirve para inicializar el SLS. El SLS (junto con el teclado) se encarga de gestionar la escritura de los cuatro dígitos que integran la secuencia a reconocer en el Banco de Registros, de forma que éstos queden memorizados en el orden introducido. Tras escribirlos, el sistema queda en espera hasta que un sistema externo vuelva a reiniciarlo. Sistema Lógico Combinacional (SLC): A partir de la señal de entrada S, el SLC se encarga de generar adecuadamente la señal de activación A de 4 bits que enciende las luces del sistema visualizador. La señal S codifica en binario natural (de 0 a 4) el número de dígitos introducidos. No puede encenderse más de una luz simultáneamente. La posición de la luz encendida, de izquierda a derecha, indica el número de dígitos introducidos. Inicialmente, todas las luces están apagadas. Visualizador: Es una agrupación de cuatro luces, cada una de ellas controlada por un bit distinto. Mientras el bit Ai vale uno, la luz i-ésima está encendida. Mientras vale cero, está apagada. El bit A3 controla la luz de la derecha. El bit A0 controla la luz de la izquierda. El funcionamiento general del circuito de control de acceso es el siguiente: El usuario introduce los dígitos de uno en uno, hasta completar un total de 4. Después de cada dígito debe pulsar la tecla <ok> (confirmar). (atención, su funcionamiento es distinto del de un cajero automático). Supóngase que el usuario nunca aprieta la tecla <ok> antes de introducir el dígito. Por tanto, siempre tiene lugar la secuencia <dígito>, <ok>, <dígito>, <ok>, .... no siendo posibles situaciones del tipo <ok>, <ok> consecutivamente. Después de pulsar la tecla <ok> se encenderá en el visualizador una luz que indique el número de dígitos introducidos hasta el momento. La luz de la izquierda indica que se ha introducido 1 dígito. La luz de la derecha indica que se han introducido los 4. Cada dígito introducido y confirmado se memorizará en el banco de registros en su posición correspondiente (el primer dígito en la posición 0, el último dígito en la posición 3). Si el usuario desea corregir la secuencia introducida, debe presionar la tecla corregir <C>. Si se aprieta varias veces la tecla <C>, el sistema cancela tantos dígitos introducidos como veces se haya apretado dicha tecla (siendo posible cancelar dígito a dígito hasta regresar al estado inicial). Si se sigue apretando la tecla <C> en el estado inicial, el sistema permanece en ese estado. Sin embargo, una vez introducido el cuarto dígito y apretada la tecla <ok>, ya no puede corregirse la secuencia hasta que llegue una señal de inicio desde el exterior y el reconocimiento de secuencia comience de nuevo. Las señales ok y C permanecen a 1 una vez han sido pulsadas las teclas correspondientes hasta que llega el siguiente flanco de reloj. El tiempo de ciclo del reloj del sistema es mucho menor que el tiempo de introducción de dígitos por parte del usuario. Si se aprietan simultáneamente las teclas <ok> y <C>, el sistema actúa como si sólo se hubiese pulsado <C>. Contesta a los siguientes apartados: a) (Objetivo 6.3) Usando un único bloque del chuletario del tamaño necesario, diseña el SLC para que cumpla la funcionalidad de activar la luz adecuada en función del número de dígitos que se hayan introducido hasta el momento. Indica claramente cómo se conectan las entradas y salidas del bloque a las señales del SLS y del visualizador. b) (Objetivo 6) Indica las entradas y salidas de cada uno de los estados del SLS según el modelo de Moore (leyenda del grafo) c) (Objetivo 6) Especifica el número de estados necesarios del SLS, la funcionalidad realizada en cada estado y la salida de cada uno de ellos. d) (Objetivo 6.5) Dibuja el diagrama de estados (grafo) del SLS según el modelo de Moore. SOLUCIÓN PROBLEMA 3 a) Basta usar un decodificador 3 a 8: A0 S0 A1 S1 A2 DEC S2 A3 o un decodificador 2 a 4, teniendo en cuenta que únicamente debe activarse la luz que indica “4 dígitos introducidos” cuando S2=1: S0 A0 DEC S1 A1 A2 S2 A3 b) Las entradas son ok (avanza un estado) y C retrocede un estado. Estado Ok,C S2,S1,S0 c) Usando una codificación adecuada de estados, el número de estados coincide con la cantidad de variables memorizadas y número de LEDS a activar. Estado E0 E1 E2 E3 E4 Codificación 000 001 010 011 100 Salida 000 001 010 011 100 Descripción Ningún número memorizado y esperando el 1º 1 número memorizado y esperando el 2º 2 número memorizados y esperando el 3º 3 número memorizados y esperando el 4º 4 números memorizados d) inicio E0 000 Ok=0,C=X Ok=1,C=1 Ok=1,C=0 Ok=X,C=1 E1 001 Ok=0,C=0 Ok=1,C=0 Ok=X,C=1 E2 010 Ok=0,C=0 Ok=1,C=0 Ok=X,C=1 E3 Ok=1,C=0 011 Ok=0,C=0 E4 100 Ok=X,C=X