Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
Practicas/FCpracticas4-cuaderno.pdf Facultad de Informática Universidad Complutense de Madrid Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 4 / pág. 1 Este cuaderno debe traerse relleno el día de realización de la práctica y debe presentarse al profesor al principio de la sesión. Ningún estudiante podrá montar la práctica si el cuaderno está incompleto o incorrecto. FUNDAMENTOS DE COMPUTADORES CUADERNO DE LA PRÁCTICA 4 Diseño Indíquese para cada elemento y puerto el número de chip y pin correspondiente D Q Q S C I0 I1 S0 I2 I3 S1 E Q2 D Q Q S C I0 I1 S0 I2 I3 S1 E Q1 D Q Q S C I0 I1 S0 I2 I3 S1 E Q0 Practicas/FCguionpracticas1.pdf Facultad de Informática Universidad Complutense de Madrid Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 1 FUNDAMENTOS DE COMPUTADORES PRÁCTICA 1: MONTAJE DE UN CIRCUITO COMBINACIONAL USANDO PUERTAS LÓGICAS El objetivo de esta primera práctica es tomar contacto con el puesto de laboratorio, aprender a realizar el montaje de un circuito combinacional y conseguir que funcione correctamente. Cada una de las prácticas constará de dos fases: 1. Diseño del circuito que se pide en el enunciado. 2. Montaje y depuración de dicho diseño hasta conseguir que funcione correctamente. La fase de diseño consiste en realizar, en papel, el diseño (tabla de verdad, expresiones de conmutación,…) del problema que se plantea en el enunciado de cada una de las prácticas. Para realizar esta fase hay que aplicar los conocimientos de circuitos combinacionales explicados en las clases de teoría y problemas. La fase de montaje se realizará en el entrenador que hay en cada puesto del laboratorio. El material que se necesita para el montaje del circuito se encuentra en el maletín de laboratorio. Este maletín se debe pedir una vez el alumno se haya dado de alta en laboratorios, a partir del 1 de noviembre. En esta práctica hay que diseñar y montar en el laboratorio un sistema combinacional que realice la conversión de código Gray de 4 bits a binario (véase figura 1). El Código Gray es un caso particular de código binario (patentado por Frank Gray en 1953). Consiste en una ordenación de 2n códigos binarios de tal forma que cada código sólo tenga un dígito binario distinto a su predecesor. Un código Gray de 2 bits sería el de la figura 2: Una forma sencilla de construir un código Gray de n bits es utilizar un código Gray de n-1 bits y añadirle un cero por la izquierda. A continuación para completar el código Gray Figura 2: Código Gray de 2 bits Figura 1 CONVERSOR DE CODIGO GRAY A BINARIO X 4 Z 4 Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 2 añadiremos un 1 por la izquierda al código Gray de n-1 bits empezando por el último elemento. Por ejemplo, para obtener un código Gray de 3 bits partimos del código Gray de 2-bits que se muestra en la figura 2. Se añade un “0” a la izquierda del código Gray de 2-bits. Con esto tenemos los 4 primeros códigos del total de 8. Luego se añade un “1” en la columna de la izquierda y se colocan los códigos Gray de 2 bits en orden inverso. El resultado se muestra en la figura 3. En ella se puede ver que la línea roja hace de espejo para las dos columnas de menor peso. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. En la actualidad, el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh, ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente, a pesar de que los problemas de ruido y potencia se hayan reducido. A modo de ejemplo, a continuación se desarrolla un sistema combinacional que realiza la conversión de código Gray de 3 bits a binario siguiendo las fases descritas anteriormente. 1. Fase de diseño Tabla de verdad: X2 X1 X0 Z2 Z1 Z0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 0 1 1 1 1 0 1 Figura 3: Código Gray de 3 bits Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 3 Mapas de Karnaugh y expresiones simplificadas: Z2 = X2 Para la salida Z1: Para la salida Z0: Z1 = X2 X1 Z0 = X2 X1 X0 = (X2 X1) X0 Implementación lógica: La figura 4 muestra la implementación (una representación gráfica del diseño hecha mediante componentes lógicas, conexiones entre ellos, entradas y salidas) del conversor de código usando puertas XOR. En esta práctica el alumno tendrá que diseñar el conversor de código Gray de 4 bits a binario: obtener la tabla de verdad y la implementación del sistema usando puertas XOR de dos entradas. Se tiene que traer en el hecho de casa y reflejado en el correspondiente cuadernillo que debe presentarse al profesor de laboratorio al principio de la sesión. 2. Fase de montaje y depuración El montaje de un circuito se realiza en el entrenador (véase figura 5) que hay en cada uno de los puestos del laboratorio. Dicho entrenador está compuesto de varias zonas, cada una de las cuales está destinada a una función. En las prácticas de esta asignatura se van a usar las siguientes funciones del entrenador: A. “DC POWER”. Es el módulo de alimentación y contiene: Un generador de tensión fijo (5 V, -5 V) Un generador de tensión variable (0 ~15 V, 0 ~ -15 V). Girando el potenciómetro “+V” en sentido horario el rango del voltaje varía entre 0 y 15 V. Girando el potenciómetro “-V” observamos que dicha variación se produce entre 0 y –15 V. X2 X1 X0 Z2 Z1 Z0 Figura 4: Implementación lógica del conversor de código Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 4 El terminal “GND” es el terminal de tierra (0 V). B. “8 BITS LEDS DISPLAYS” Estos LEDS se van a usar para mostrar el valor de las salidas del circuito. Para conectar cada salida del circuito a un led hay que pinchar un cable en el terminal correspondiente Si el led está apagado representa salida “0” y encendido salida “1” C. “8 BITS DATA SWITCHES” Estos switches (interruptores) se van a usar para las entradas del circuito. Para conectar cada entrada del circuito a un interruptor hay que pinchar un cable en el terminal que hay encima Con el interruptor hacia abajo la entrada vale “0” y hacia arriba “1” D. ZONA CENTRAL Esta zona es donde se coloca la placa base (figura 6) que es el lugar donde se monta el circuito. La placa base está compuesta de terminales de conexión. En estos terminales hay que pinchar: Las distintas componentes del circuito. Cables para conectar dichas componentes. Cables para conectar el circuito con la fuente de alimentación y tierra. Cables para conectar las entradas del circuito con los interruptores y las salidas con los leds. Figura 5: Entrenador Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 5 Para poder montar el circuito en la placa primero hay que conocer el interconexionado de dicha placa, es decir cuáles de sus terminales de conexión están conectados entre sí (son el mismo punto, están cortocircuitados). El interconexionado de las placas que hay en el laboratorio es como se muestra en la figura 6. Los terminales de conexión sobre los que se ha trazado una línea de color rojo están cortocircuitados. Esto implica que no se pueden poner en la misma línea dos o más patillas de un mismo componente. Para montar estos circuitos se necesitan puertas lógicas. Estas se presentan encapsuladas en un circuito integrado denominado coloquialmente “cucaracha” o “chip”. Estos chips se encuentran en el maletín del laboratorio. El único “chip” que se necesita en esta práctica es el 7486 que contiene 4 puertas XOR de 2 entradas (véase figura 7). Para saber cómo funcionan estos “chips” y cómo están interconectados por dentro hay que usar las llamadas hojas de características que proporciona el fabricante, las cuales contienen una especificación completa del “chip”. Estas se encuentran en el laboratorio dentro de la carpeta de electrónica. A modo de ejemplo, la figura 7 muestra el interconexionado del “chip” 7486 que proporciona la hoja de características de este circuito integrado. Figura 6: Placa base Figura 7: Contenido del circuito integrado 7486 Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 6 Como se puede ver en la figura 7, este circuito integrado tiene en su interior cuatro puertas XOR de dos entradas cada una y en el exterior 14 patillas, cada una de las cuales tiene una función. Las patillas 14 y 7 son las encargadas de alimentar al circuito (darle energía) para que funcione: Conectar Vcc a 5V (normalmente) y GND a tierra. El resto de las patillas son las entradas y salidas de las cuatro puertas XOR tal y como indican los dibujos Para saber la numeración de las patillas en un “chip” hay que buscar una muesca como la que se ve en el dibujo de la figura 7. Colocando el “chip” en la misma dirección que en dicha figura, la numeración siempre empieza por la patilla inferior izquierda y continúa en sentido antihorario. Implementación física: Una vez se sabe qué “chips” se necesitan para montar el circuito, debe completarse el diseño lógico realizado con anterioridad indicando en qué “chip” se ubicará cada puerta del diseño (en caso de haber más de un “chip”) y qué pin del “chip” se utilizará para cada entrada/salida de cada puerta. Asimismo deberá indicarse qué switch/led del entrenador se utilizará para cada entrada/salida primaria del circuito. El resultado, que llamaremos implementación física, puede verse en la figura 8. El alumno tendrá que hacer lo mismo con el circuito que haya obtenido para el conversor de código Gray de 4 bits a binario. El dibujo del circuito implementado se tiene que hacer en casa y en el correspondiente cuadernillo. Montaje: Llegados a este punto hay que montar el circuito. Con el entrenador apagado, se pincharán en la placa cada uno de los chips necesarios y a continuación, tomando como base la implementación física, se irán pinchando los cables necesarios uno a uno. Para no olvidar ninguno se recomienda que cada vez que se ponga un cable se tachen del dibujo los correspondientes números de pin que han quedado interconectados. La figura 9 muestra esquemáticamente como quedaría montado el conversor de 3 bits en el entrenador. Para que un chip funcione adecuadamente debe tenerse en cuenta que: Tiene que estar alimentado (Vcc = +5V y GND = 0V). Puede tener salidas que no estén interconectadas a nada. Si se está utilizando una puerta lógica todas sus entradas se utilicen o no deben estar conectadas a un valor. Las puertas lógicas que no se estén utilizando no necesitan tener sus entradas conectadas a un valor. X2 X1 X0 Z2 Z1 Z0 SW2 SW1 SW0 LED2 LED1 LED0 1 2 3 4 5 6 A A lista de componentes: ‐ A: 7486 (GND – 7, +5V – 14) Figura 8: Implementación física del conversor de código Prácti Prue Una entre valor corre Si la la esp conti comb Depu Si al salid entra i) ii icas de Fundam Fi eba: vez montad enador y se res de la ta esponde. tabla de ve pecificación inuación s binacionale uración de l comproba das no se co adas, se deb ) Se debe un erro i) Una ve hardwa binaria mentos de Co igura 9: El do el circui irán introd abla de verd erdad calcul n, el circuito e explican s. un circuito ar el funcio orresponde e buscar la e repasar el or en la fase ez que se are o física de entrada omputadores (v l conversor ito hay que duciendo me dad y se irá lada por el c o es correct n los paso o combinac onamiento d con el esp causa del er l diseño que de diseño. está seguro a del circui a que produ versión 08/07 r de código comprobar ediante los á comproba circuito es l to. En otro c os a segui cional del circuito perado para rror. Para el e se está im En caso con o que el er ito, se debe uce la salid /13) montado e r que funcio switches la ando en los la misma qu caso será in ir para en o se detecta la configu llo se proce mplementand ntrario, se d rror se enc e introduci da incorrect en el entren ona. Para el as diferentes leds si el ue la tabla d correcto y d ncontrar err a que el est uración bina ede del sigui do para ver debe pasar a cuentra en r al circuit ta. A contin Práctica nador llo, se ence s combinac resultado e de verdad fi deberá depu rrores en tado de un aria present iente modo r si se ha pr al punto ii. la implem to la config nuación, se a 1 / pág. 7 enderá el iones de es el que ijada por urarse. A circuitos na de las te en las : roducido mentación guración e aísla la Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 8 salida incorrecta S. Para ello se desconecta esta salida de todos los puntos del circuito donde estuviera conectada. En este momento pueden ocurrir dos cosas: a. La salida S cambia y da el valor correcto. Luego esta salida seguramente esté conectada a otra salida del circuito que la está “forzando”, pasar a la fase iii. b. La salida S sigue dando un valor incorrecto, luego hay un módulo que produce una salida incorrecta, pasar a la fase iv. iii) La salida S está siendo “forzada” por la salida de otro módulo, está conectada a tierra o está conectada a polarización. Para localizar donde está el error, hay dos procedimientos: a. Seguir en la implementación de donde viene cada uno de los cables conectados a la salida S. b. Aislar la salida S e ir conectando, uno por uno, los cables a la salida. En el momento en el que el valor de la salida S vuelva a ser incorrecto se habrá identificado la conexión errónea. Corregir la conexión errónea. iv) Se ha localizado un módulo M que produce una salida incorrecta. Si la salida del módulo lógico se corresponde con el valor de sus entradas significa que el módulo está funcionando correctamente. Por tanto, alguna de las entradas debe tener un valor lógico incorrecto. Esta entrada se corresponde con una salida de otro módulo lógico. Repítase el proceso a partir del paso II para esta nueva salida. Si la salida del módulo M no se corresponde con el de las entradas, entonces la puerta no está funcionando correctamente debido a que el “chip” está mal polarizado o está estropeado. El procedimiento de depuración de sistemas combinacionales se presenta esquemáticamente en el siguiente organigrama: Practicas/FCguionpracticas3.pdf Facultad de Informática Universidad Complutense de Madrid Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 1 FUNDAMENTOS DE COMPUTADORES PRÁCTICA 3: DISEÑO Y MONTAJE DE UN RECONOCEDOR DE PATRÓN El objetivo de esta práctica es diseñar y montar en el laboratorio un circuito secuencial que reconozca el patrón “010”, modelando su comportamiento como una máquina de Moore. Un circuito tendrá los puertos mostrados en la figura: Una entrada binaria, X, por la que reciben los bits en serie. Una salida binaria, Z, que tomará el valor lógico “1” cuando los últimos tres bits de entrada formen la secuencia “010”, y “0” en cualquier otro caso. Una entrada, clk, de reloj. Una entrada, clear, de inicialización asíncrona activa a baja. Desarrollo de la práctica 1. Fase de diseño El diseño del circuito debe realizarse en casa y quedar reflejado en el cuadernillo correspondiente. El circuito deberá diseñarse como máquina de Moore usando biestables D, puertas NAND e inversores. 2. Fase de montaje y depuración Utilizar los siguientes chips para montar el circuito: o 7474: 2 biestables D (disparados por flanco de subida y señales de inicialización asíncrona a 0 ó 1 activas a baja). o 7400: 4 puertas NAND de 2 entradas. o 7410: 3 puertas NAND de 3 entradas. o 7404: 6 puertas NOT. Conectar las entradas X y clear a switches. Conectar la entrada clk a un pulsador. Conectar la salida Z a un led. RECONOCEDOR DEL PATRÓN "010" X Z clear clk Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 2 Comprobar que el circuito reconoce el patrón “010” con solapamiento, para ello hay que introducir por la entrada X una secuencia que presente varios patrones solapados en algún momento, como por ejemplo: Si el circuito no funciona correctamente hay que depurarlo para encontrar los fallos y corregirlos. Para depurar circuitos secuenciales hay que seguir los pasos explicados en el siguiente apartado. Cuando se haya comprobado que funciona correctamente, enseñar la práctica al profesor del laboratorio. Depuración de un circuito secuencial A continuación se va a explicar un procedimiento para determinar de un modo sistemático a que son debidos los errores que se producen en el comportamiento de un sistema secuencial que se ha diseñado e implementado. Para facilitar esta tarea es conveniente que los valores del estado actual (aunque NO SON SALIDAS del circuito) se conecten a los LEDs o al display para comprobar de manera rápida cual es la transición de estado que falla. Si al comprobar el funcionamiento del circuito se detecta que el valor de una de las salidas no se corresponde con el esperado para el estado del circuito y la configuración binaria presente en las entradas, se debe buscar la causa del error. Para ello se procede del siguiente modo: i) Repasar el diseño que se está implementando buscando errores. a. Si en la simulación el circuito funcionaba correctamente podemos asegurar que el error no se encuadra en el diseño. ii) Una vez que se está seguro que el error se encuentra en la implementación hardware o física del circuito, se debe analizar la secuencia de estados que sigue la máquina, para la secuencia de entradas en la que se ha detectado el error. a. Si la secuencia es correcta entonces el error se encuentra en la red combinacional que produce la salida (SC1). Aplicar los pasos de depuración de una red combinacional sobre este módulo. b. Si la secuencia no es correcta entonces falla o la red combinacional que genera el siguiente estado (SC2) o el conjunto de biestables. Pasar al punto iii. iii) Llevar el circuito al estado en el que se produce una transición incorrecta. A continuación se plantea un ejemplo de cómo depurar un circuito secuencial cuando se observa un error en la secuencia de las salidas: Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 3 En este ejemplo se aprecia que el circuito que debería haber realizado la transición de estados 2 3, ha efectuado en realidad la transición 2 1. Lo primero es identificar el biestable o biestables que han efectuado una transición de estado incorrecta. En este ejemplo el biestable que realiza una transición incorrecta sería Q1 (es el único biestable que tiene un bit incorrecto). Una vez identificado el biestable que falla: Si teniendo en cuenta los valores actuales de las entradas y la tabla de verdad del biestable que falla, se deduce que el próximo estado ha de ser el de la secuencia incorrecta observada, entonces el biestable está funcionando correctamente. El fallo se encuentra en la red combinacional (SC2) que genera el estado futuro. Aplicar los pasos de depuración de una red combinacional sobre esta red. Si las entradas del biestable que falla determinan que el próximo estado ha de ser el de la secuencia correcta entonces el biestable no funciona. Las posibles razones que no funcionen son: o No llega la señal de reloj. o Entradas asíncronas activadas. o Biestable sin polarizar o mal polarizado. o Chip estropeado. A continuación se resume todo este proceso en forma de organigrama: Practicas/FCguionpracticas2.pdf Facultad de Informática Universidad Complutense de Madrid Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 1 FUNDAMENTOS DE COMPUTADORES PRÁCTICA 2: DISEÑO Y MONTAJE DE UN SUMADOR BINARIO DE 2 BITS El objetivo de esta práctica es diseñar y montar en el laboratorio un sumador binario de números de 2 bits. La práctica está dividida en dos partes: a) Diseñar un sumador completo de un bit e implementar el circuito usando puertas NAND y XOR. Figura 1: Sumador completo de un bit b) Diseñar un sumador binario de números de 2 bits e implementar el circuito encadenando dos sumadores completos de un bit (implementado cada uno a su vez con puertas NAND y XOR). Figura 2: Sumador binario de números de 2-bits Desarrollo de la práctica 1. Fase de diseño El diseño de los circuitos debe realizarse en casa y quedar reflejado en el cuadernillo correspondiente. Sumador completo de 1 bit A B S Cout Cin Sumador completo de 1 bit A1 B1 S1 Cout Sumador completo de 1 bit A0 B0 S0 CinCoutCin Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 2 Ambos sumadores deberán diseñarse con puertas NAND de 2 entradas y XOR de 2 entradas. 2. Fase de montaje y depuración Utilizar los siguientes chips para montar el circuito: o 7486: 4 puertas XOR de 2 entradas. o 7400: 4 puertas NAND de 2 entradas. Conectar todas las entradas a switches y todas las salidas a leds, según el orden usado en las tablas de verdad del cuadernillo. Una vez montado, comprobar toda la tabla de verdad del circuito para verificar que funciona correctamente. Si no es así, hay que depurarlo para encontrar los fallos y corregirlos. Cuando se haya comprobado que funciona correctamente, enseñar la práctica al profesor del laboratorio. Practicas/FCpracticas3-cuaderno.pdf Facultad de Informática Universidad Complutense de Madrid Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 1 Este cuaderno debe traerse relleno el día de realización de la práctica y debe presentarse al profesor al principio de la sesión. Ningún estudiante podrá montar la práctica si el cuaderno está incompleto o incorrecto. FUNDAMENTOS DE COMPUTADORES CUADERNO DE LA PRÁCTICA 3 . Diagrama de estados Estado Significado S0 estado inicial S1 ha llegado el subpatrón (0) S2 ha llegado el subpatrón (01) S3 ha llegado el patrón (010) Codificación de estados Estado s1 s0 S0 S1 S2 S3 Tabla de verdad de la función de transición de estados s1 s0 x s1’ s0’ 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Tabla verdad de la función de salida s1 s0 z 0 0 0 1 1 0 1 1 Mapas de Karnaugh S0 S1 S3 S2 0 1 3 2 4 5 7 6 x s0 s1 s1’ = 0 1 3 2 4 5 7 6 x s0 s1 s0’ = 0 1 2 3 s0 s1 z = Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 3 / pág. 2 Diseño Indíquese para cada elemento y puerto el número de chip y pin correspondiente D Q Q S C D Q Q S C Practicas/FCpracticas5-cuaderno.pdf Facultad de Informática Universidad Complutense de Madrid Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 5 / pág. 1 Este cuaderno debe traerse relleno el día de realización de la práctica y debe presentarse al profesor al principio de la sesión. Ningún estudiante podrá montar la práctica si el cuaderno está incompleto o incorrecto. FUNDAMENTOS DE COMPUTADORES CUADERNO DE LA PRÁCTICA 5 Diseño Indíquese para cada elemento y puerto el número de chip y pin correspondiente CONT + c0c4 A4 A3 A2 A1 B4 B3 B2 B1 ∑4 ∑3 ∑2 ∑1 P3 P2 P1 P0 Q3Q2Q1Q0 TC U/D CEP CET Q2Q1Q0 PE Practicas/FCpracticas1-cuaderno.pdf Facultad de Informática Universidad Complutense de Madrid Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 1 / pág. 1 Este cuaderno debe traerse relleno el día de realización de la práctica y debe presentarse al profesor al principio de la sesión. Ningún estudiante podrá montar la práctica si el cuaderno está incompleto o incorrecto. FUNDAMENTOS DE COMPUTADORES CUADERNO DE LA PRÁCTICA 1 . Código Gray de 4 bits N x3 x2 x1 x0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Tabla de verdad del conversor x3 x2 x1 x0 z3 z2 z1 z0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Mapas de Karnaugh Diseño Indíquese para cada elemento y puerto el número de chip y pin correspondiente 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 x0 x1 x2 x3 z3 = 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 x0 x1 x2 x3 z2 = 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 x0 x1 x2 x3 z1 = 0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10 x0 x1 x2 x3 z0 = Practicas/FCguionpracticas5.pdf Prácti El ob síncr El cir Tanto indic La sa que i Desa 1. F Facu Unive icas de Fundam PRÁ CIR bjetivo de e rono que se rcuito tendr Una sali Una entr Una entr Una entr o Q como X ca la primer alida valdrá ini valga 1, Si Q = X se desea Si Q > ascensor la que se Si Q < X debe sub desea ir. arrollo de la Fase de dise El diseñ correspo ultad de In ersidad Complu mentos de Co FU ÁCTICA RCUITO esta práctic comporte c rá los puerto ida de 3 bits rada de 3 bi rada, clk, de rada, ini, de X codifican a planta y a á (000) en t el comporta X, la salida a ir y por tan X, la salid r debe bajar e desea ir. X, la salida d bir porque . a práctica eño ño del circu ondiente. nformática utense de Mad omputadores ( UNDAMEN A 5: DI O EMUL ca es diseña como el asce os mostrado s, Q, que ind its, X, por la e reloj. e inicializaci la planta e así sucesivam odos aquell amiento del conservará nto no se mu da debe ir c r porque la debe ir ciclo la planta en uito debe re a drid (versión 08/07 NTOS DE C ISEÑO LADOR ar y montar ensor de un os en la figu dica el piso a que se indi ión síncrona en binario, e mente hasta los ciclos en l sistema ser su valor: el ueve. ciclo a cicl planta en la o a ciclo inc n la que se e ealizarse en 7/13) COMPUTA Y MON R DE UN r en el labo na vivienda d ura: en el que se ica en binar a a (000) act es decir: (00 a (111) que n los que in rá como sig l ascensor se lo decremen a que se enc rementándo encuentra es casa y que ADORES NTAJE N ASCE oratorio un de 7 plantas e encuentra e io el piso al tiva a baja. 00) indica l indica la sé ni valga 0. E gue: e encuentra ntándose ha cuentra es su ose hasta que s inferior a l edar reflejad Práctica DE UN ENSOR circuito se s. el ascensor. l que se dese la planta baj éptima plant En los ciclo en el piso e asta que Q uperior a la ue Q = X: el la planta a l do en el cua a 5 / pág. 1 N ecuencial ea ir. ja, (001) ta. os en los en el que = X: el planta a ascensor la que se adernillo Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 5 / pág. 2 Para emular el ascensor se utilizará un contador ascendente/descendente módulo 16 con carga paralela (chip 74169). Los 3 bits menos significativos de este contador equivalen a la salida Q del sistema. Para comparar la entrada X y la salida Q (y así determinar si el contador debe contar y en su caso si debe hacerlo ascendentemente o descendentemente) deberá usarse un sumador completo de 4 bits (chip 7483), inversores y puertas NAND de 3 entradas. 2. Fase de montaje y depuración Utilizar los siguientes chips para montar el circuito: o 74169: 1 contador síncrono bidireccional módulo 16 (con señal de carga paralela activa a baja y prioritaria a las 2 señales de capacitación de cuenta activas a baja). o 7483: 1 sumador completo de 4 bits. o 7410: 3 puertas NAND de 3 entradas. o 7404: 6 puertas NOT. Conectar la salida Q a un display de 7 segmentos derecho (que internamente incluye un conversor de código binario a código 7 segmentos). Conectar la entrada X a switches y adicionalmente al otro display de 7 segmentos izquierdo. Conectar la entrada ini a un switch adicional. Conectar la entrada clk a un pulsador. Comprobar distintas combinaciones de planta solicitada y planta actual para verificar que el sistema funciona correctamente. Si no es así, hay que depurarlo para encontrar los fallos y corregirlos. 3. Puesta en marcha Regular el generador de funciones del entrenador para que genere una onda cuadrada de 1 Hz de frecuencia. Conectar la entrada clk a la salida TTL mode del generador de funciones. Conectar la entrada de ini a un pulsador Cuando se haya comprobado que funciona correctamente, enseñar la práctica al profesor del laboratorio. Practicas/FCpracticas2-cuaderno.pdf Facultad de Informática Universidad Complutense de Madrid Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 1 Este cuaderno debe traerse relleno el día de realización de la práctica y debe presentarse al profesor al principio de la sesión. Ningún estudiante podrá montar la práctica si el cuaderno está incompleto o incorrecto. FUNDAMENTOS DE COMPUTADORES CUADERNO DE LA PRÁCTICA 2 . Tabla de verdad del sumador completo de 1 bit Cin A B Cout S 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Mapas de Karnaugh Diseño del sumador completo de 1 bit 0 1 3 2 4 5 7 6 B A Cin S = 0 1 3 2 4 5 7 6 B A Cin Cout = Indíquese para cada elemento y puerto el número de chip y pin correspondiente Cuaderno de prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 2 / pág. 2 Tabla de verdad del sumador de 2 bits Cin A1 A0 B1 B0 Cout S1 S0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 Cin A1 A0 B1 B0 Cout S1 S0 1 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 Diseño del sumador de 2 bits Indíquese para cada elemento y puerto el número de chip y pin correspondiente Practicas/FCguionpracticas4.pdf Prácti El ob como El cir Desa 1. F Facu Unive icas de Fundam PRÁ bjetivo de e o el que se m rcuito tendr Una sali Una entr Una en desplaza Una entr Una entr Una entr arrollo de la Fase de dise El diseñ correspo El circu ultad de In ersidad Complu mentos de Co FU ÁCTICA RE esta práctica muestra en C1 C0 0 0 0 1 (Q 1 0 (Q 1 1 rá los puerto ida paralela rada paralel ntrada serie amiento a la rada de 2 bi rada, clk, de rada, clear, a práctica eño ño del circu ondiente. ito deberá d nformática utense de Mad omputadores (v UNDAMEN A 4: DI EGISTR a es diseñar la figura ca Q(t+1) E(t) Q0(t),Q2(t), Q1(t),Q0(t), Q(t) os siguiente de datos de la de datos d de datos, a izquierda. its, C, para s e reloj. de inicializ uito debe re diseñarse usa a drid versión 08/07 NTOS DE C ISEÑO RO MUL r y montar apaz de reali ) Q1(t)) Ro esi(t)) D es: e 3 bits, Q, q de 3 bits, E, esi, por la seleccionar zación asíncr ealizarse en ando biestab /13) COMPUTA Y MON LTIFUN en el labora izar las func Fun Carga p otación hac Desplaza a Conserv que muestra por la que i a que introd el modo de rona a (000) casa y que bles D y mu ADORES NTAJE NCIÓN atorio un re ciones descr ción paralela cia la derec la izquierd a el valor el contenid introducir el ducir el bit funcionami ) activa a ba edar reflejad ultiplexores Práctica DE UN egistro mult ritas en la ta cha da do del registr l valor a car t necesario iento. aja. do en el cua 4 a 1. a 4 / pág. 1 N tifunción abla. ro. rgar. para el adernillo Prácticas de Fundamentos de Computadores (versión 08/07/13) Práctica 4 / pág. 2 2. Fase de montaje y depuración Utilizar los siguientes chips para montar el circuito: o 7474: 2 biestables D (disparados por flanco de subida y señales de inicialización asíncrona a 0 ó 1 activas a baja). o 74153: 2 multiplexores 4 a 1 (con señales de control comunes y señales de capacitación activas a baja separadas). Conectar las entradas E, C, esi y clear a switches. Conectar la entrada clk a un pulsador. Conectar la salida Q a leds. Comprobar cada uno de los modos de funcionamiento del registro para verificar que funciona correctamente. Si no es así, hay que depurarlo para encontrar los fallos y corregirlos. 3. Puesta en marcha Regular el generador de funciones del entrenador para que genere una onda cuadrada de 1 Hz de frecuencia. Conectar la entrada clk a la salida TTL mode del generador de funciones. Conectar la entrada de clear a un pulsador Cuando se haya comprobado que funciona correctamente, enseñar la práctica al profesor del laboratorio. Examenes finales/2012Junio_FC_parcial-1.pdf Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 1 EXAMEN DE FUNDAMENTOS DE COMPUTADORES CURSO 2011-12, EXAMEN FINAL (1ER. PARCIAL), 11 DE JUNIO DE 2012 1. (1.5 puntos) Dados los números A = -(25)10, B = +(101)10, C = -(64)16 y D = +(79)16 a) (0.6 puntos) Represéntelos en complemento a 2 y usando 8 bits. b) (0,6 puntos) Efectúe las operaciones (A-B) y (-C+D) indicando si hay desbordamiento o acarreo y el por qué. c) (0,3 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 2. (3 puntos) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control (Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 11 01 Dec/IncsiX Dec/IncsiX Z La salida también está codificada en Gray de 3 bits. Se pide: a) (1 punto) Obtener la tabla de verdad. b) (2 puntos) Implementar el sistema usando multiplexores 4 a 1. Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) 3. (1.5 puntos) Sea el siguiente sistema secuencial: contrariocasoen abbóbba=t1,t2,tx )t(z 0 1 a) (0.5 puntos) Dibuje su diagrama de estados. b) (1 punto) Complete el siguiente cronograma: x clk estado a S0 z 1 0 b Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 2 4. (4 puntos) Se desea diseñar un sistema que permita fotografiar las matrículas de aquellos coches que circulen con exceso de velocidad por una carretera. El sistema tendrá 2 entradas (A y B) conectadas a sensores de presión ubicados debajo del pavimento y una salida (F) conectada al disparador de una cámara. En ausencia de coches las entradas valdrán 0 y cada vez que un coche pase por encima de un sensor la correspondiente entrada se activará (valdrá 1 durante un ciclo de reloj). Supóngase que nunca ambas entradas valdrán simultáneamente 1 y que los pulsos en A y en B se irán alternando (es decir, tras un pulso en A vendrá siempre un pulso en B y viceversa). Un coche irá a más velocidad de la permitida si el número de ciclos de reloj que transcurren desde la activación de A hasta la activación de B es menor que 3, en cuyo caso deberá ser fotografiado (véase la figura). Se pide: a) (2 puntos) Especificar el sistema como máquina de Mealy. b) (2 puntos) Implementarlo utilizando 2 biestables D y el menor número de puertas lógicas. Examenes finales/2011Junio_FC_parcial-2.pdf Facultad de Informática UCM I.Informática FUNDAMENTOS DE COMPUTADORES 13 de Junio de 2011. 2º Cuatrimestre. Nombre DNI . Apellidos Grupo . Ejercicio 1. Responde a las cuestiones suponiendo que el vector V está almacenado a partir de la dirección de memoria 0x00000000, que el código se encuentra a continuación de los datos y que las pseudoinstrucciones ocupan el mismo espacio que las instrucciones: # Codigo 1 .global start V: .word 1,2,3,4,5,9,17,15,20,12 N: .word 10 CuentaTotal: .space 4 start: ldr R0,=V ldr R2,=N ldr R1,[R2] mov R2,#0 mov R3,#0 bucle: cmp R2,R1 beq fin_bucle ldr R4,[R0] and R4,R4,#1 cmp R4,#0 bne No_contar mov R5,#1 b Contar No_contar: mov R5,#0 Contar: add R3,R3,R5 add R2,R2,#1 add R0,R0,#4 b bucle fin_bucle: ldr R1,=CuentaTotal str R3,CuentaTotal b . .end #Código 2 .global start V: .word 1,2,3,4,5,9,17,15,20,12 N: .word 10 CuentaTotal: .space 4 start: ldr R0,=V ldr R2,=N ldr R1,[R2] bl Cuenta ldr R2,=CuentaTotal str R0,[R2] b . Cuenta: PRÓLOGO_1 mov R4,#0 mov R5,#0 mov R6,R0 bucle: cmp R4,R1 beq fin_bucle ldr R0,[R6] bl Averigua add R5,R5,R0 add R4,R4,#1 add R6,R6,#4 b bucle fin_bucle: mov R0,R5 EPÍLOGO_1 mov pc,lr Averigua: PRÓLOGO_2 mov R4,#1 and R0,R0,R4 cmp R0,#0 bne No_contar mov R0,#1 b Contar No_contar: mov R0,#0 Contar: EPÍLOGO_2 mov pc,lr Facultad de Informática UCM I.Informática a) (0,5 ptos.) ¿En qué dirección de memoria del código 1 está almacenada la primera instrucción del bucle para el código 1? Razona la respuesta. b) (0,5 ptos.) ¿Cuál es el contenido final de la variable de memoria CuentaTotal en el código 1? ¿Y del registro R5? Razona la respuesta. c) (1 pto.) Supongamos que queremos estructurar el código con subrutinas, y lo rescribimos en código 2. Completa el prólogo y epílogo de cada una de las dos subrutinas, explicando por qué incluyes cada instrucción. Ejercicio 2. En la ruta de datos monociclo tenemos los siguientes tiempos: - Lectura en memoria de datos e instrucciones: 500ps - Acceso al banco de registros: 100ps - Cálculo en la ALU: 50ps - Sumadores: 40ps - Multiplexores: 10ps - Generación de señales de control: - Señales de control de los multiplexores: 20ps - AluCtr y branch: 150ps - RegWrite, MemWrite y MemRead: 160ps - Resto de elementos retardo despreciable a) (0,5 ptos) Calcular el tiempo necesario para ejecutar una instrucción de load b) (0,5 ptos.) Indicar el valor de las señales de control para la ejecución de una instrucción de salto (en el caso de salto tomado) c) (0,5 ptos.) ¿Qué señal de control deberíamos acelerar para que la instrucción de load se ejecute en menos tiempo? Ejercicio 3. Dado el siguiente código del MIPS: sub r1, r1, r1 addi r2, r1, 4 addi r3, r1, 16 addi r4, r1, 24 lw r5, 0(r3) lw r6, 0(r4) lw r2, 4(r2) add r7, r5, r6 add r8, r6, r2 sub r8, r8, r7 sw r8, 4(r3) a) (0.25 ptos.) Indicar las dependencias de datos b) (0,25 ptos.) Añadir al código con las instrucciones nop necesarias c) (0,5 ptos.) ¿Cuántos ciclos tarda en ejecutarse? Facultad de Informática UCM I.Informática Ejercicio 4. Sea un computador con memoria cache con las características siguientes: Memoria principal: 16 KB; Memoria cache de 512 bytes organizada en 16 bloques. a) (0,5 ptos.) Indicar el formato de la dirección para MP y para la MC b) (0,5 ptos.) En un momento dado los contenidos del array de etiquetas de la cache (en hexadecimal) son los indicados en la tabla (los bloques cache no especificados se encontrarán vacíos). Expresar en hexadecimal el rango de direcciones de memoria principal ubicadas en cada bloque de la memoria cache que aparece en la tabla. c) (0,5 ptos.) Supongamos que un programa realiza la siguiente cadena de referencias en lectura (en hexadecimal): 3E2A, 022E, 2411, 1AA8, 3E34. Indicar en cada acceso si se produce un acierto o un fallo, y modificar la tabla indicando como sería su nuevo contenido después de cada acceso. Etiqueta Bloque 0D 0 1F 1 14 8 0D 5 Examenes finales/2011Febrero_FC.pdf Facultad de Informática Departamento de Arquitectura de Computadores y Automática Examen de Fundamentos de Computadores 4 de febrero de 2011 Apellidos ……………………………………………………………… Nombre …………………………………………D.N.I. ………………………… Puntuación: Preguntas 1 y 5: 1,25 puntos cada una; preguntas 2, 3, 4: 0,5 puntos cada una; pregunta 6: 2 puntos. Total: 6 puntos. 1) Dados los siguientes números: A= +31 (en decimal), B= -16 (en decimal), C=+7 (en octal), D=+F (en hexadecimal). a) Exprese los cuatro números con el mismo número de bits en representación en complemento a dos. b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el valor decimal que se produce cuando no haya desbordamiento: A+D, B-C c) ¿Cuáles serían el menor y el mayor número representables usando este convenio y el mismo número de bits? 2) Implemente la siguiente función de conmutación usando un multiplexor de 4 a 1 e inversores: Z(x3,x2,x1,x0) =∑m(0,1,3,11,13)+∑d(4,7,9,15). 3) Dado el diagrama de estados del sistema secuencial representado en la figura, rellene el siguiente cronograma: Dado el diagrama de estados del sistema secuencial representado en la figura, rellena el siguiente cronograma 4) Implemente, usando biestables D y una ROM, el sistema descrito mediante el diagrama de estados de la cuestión 3. 5) Sea un sistema combinacional cuya función es multiplicar por 3 un número X entero positivo en el rango {0 a 7}. La salida es un número Z entero positivo en el rango {0 a 15}. Además el sistema tiene un bit de salida D que indica si hay desbordamiento. Cuando hay desbordamiento la salida Z queda indefinida. Se pide: a) Especificar el sistema mediante la tabla de verdad. b) Utilizar un decodificador de tamaño mínimo y puertas OR para implementar las salidas Z. c) Implementar la salida D con puertas NAND e inversores. 6) Diseñe un sistema secuencial para controlar el funcionamiento de un lavaplatos. El sistema tiene 2 entradas, la tecla start/stop, y la tecla de ciclo_rápido y 5 salidas como muestra la figura. En el estado inicial, todas las salidas valen 0. Desde cualquier estado se va inmediatamente al estado inicial siempre que la tecla start/stop vale 0, y allí se permanece hasta que start/stop vale 1, que comienza a funcionar desde el principio. Durante el funcionamiento el aparato pasa por 3 etapas: lavado (2 ó 4 ciclos dependiendo del valor de la tecla ciclo_rápido), aclarado (1 ó 2 ciclos dependiendo del valor de la tecla ciclo_rápido) y secado (1 ciclo). Después del secado se pasa siempre al estado inicial. Durante el lavado entra agua durante el primer ciclo, y durante el mismo se calienta. En el segundo ciclo se abre el cajetín del detergente. Todos los ciclos del lavado se mueven las aspas. Durante el aclarado entra agua el primer ciclo. Se mueven las aspas todos los ciclos del aclarado. Durante el secado se activa la salida secar. Se pide: a) Especifique el sistema mediante un diagrama de estados como máquina de Moore. b) Diseñe la parte de transición de estados usando un contador y el mínimo número de puertas posible. c) Diseñe la función de salida utilizando los módulos combinacionales que considere necesarios. Examenes finales/2012Junio_FC_parcial-2.pdf Facultad de Informática UCM FUNDAMENTOS DE COMPUTADORES 11 de Junio de 2012. 2º Cuatrimestre. Nombre DNI . Apellidos Grupo . Ejercicio 1 (3 puntos). Dado el siguiente código escrito en lenguaje C: a) Traduzca el código C de la función principal, incluyendo las directivas para reservar memoria y declarando las secciones (.data, .bss y .text) correspondientes. Para la llamada a función, respete el convenio de llamadas de ARM visto en clase. b) Complete el prólogo, epílogo y el código necesario en la rutina mult_cuatro, respetando el convenio de llamadas de ARM visto en clase. La rutina mult_cuatro devuelve un uno si el argumento recibido es múltiplo de 4 y un cero en caso contrario. int i=0, N=4; int A[4]={8,1,12,5}; while (i<N){ if(mult_cuatro(A[i])==1){ A[i]=-A[i]; } else{ A[i]=A[i]+1; } i++; } mult_cuatro: @ PRÓLOGO mov r6,#3 mov r8,#0 and r7,r6,r0 cmp r7,r8 bne no_mult mov r3,#1 b salir no_mult: mov r3,#0 salir: @Completar código @ + EPÍLOGO mov pc,lr Ejercicio 2 (2 puntos). Deseamos que el procesador segmentado ejecute el siguiente código: lw r1, 0(r0) addi r2, r1, 5 sub r3, r10, r1 sw r2, 20(r0) sw r3, 0(r0) lw r4, 4(r0) addi r5, r4, 6 sub r6, r10, r4 sw r5, 24(r0) sw r6, 4(r0) lw r7,8(r0) addi r8, r7, 7 sub r9,r10,r7 sw r8, 28(r0) sw r9,8(r0) a) Inserte las NOP necesarias para la correcta ejecución del código y determine en cuántos ciclos de reloj se ejecuta. b) Reordene el código para que no sea necesario insertar NOPs. Facultad de Informática UCM Ejercicio 3 (3 puntos). Dado un array de enteros (representados con 4 bytes) de 20 elementos (V[0], V[1], …, V[19]) con el elemento V[4] almacenado en la dirección 0x124 de un sistema de memoria de 2KB de memoria principal y 64B de memoria cache organizados en 4 bloques. a) Indicar el formato de la dirección para MP y para la MC b) Indicar las posiciones de memoria (en hexadecimal) de cada uno de los elementos del vector. c) Supongamos que se recorre el array completo empezando por el elemento V[0]. Indicar si los accesos producen fallo o acierto. Determinar el contenido del array de etiquetas de la cache al final del proceso. Suponer la cache inicialmente vacía. Ejercicio 4 (2 puntos). a) Modificar la ruta de datos del procesador monociclo para poder ejecutar la instrucción mov ri, #inmediato (ri SignExt(inmediato)). b) Dados los siguientes tiempos de conmutación, calcular el tiempo de ejecución para esta instrucción, el tiempo de generación de las señales de control se considera despreciable. I-Mem Add Mux ALU Reg D-Mem Tiempo en ps 200 50 20 50 100 200 Examenes finales/2012Febrero_FC.PDF Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2011-12, primer parcial / pág. 1 EXAMEN DE FUNDAMENTOS DE COMPUTADORES CURSO 2011-12, PRIMER PARCIAL, 30 DE ENERO DE 2012 1. (1 punto) Dados los siguientes números A = +35 (en decimal), B = -27 (en decimal), C = +22 (en octal) y D = +28 (en hexadecimal): a) (0,4 puntos) Expréselos en representación en complemento a dos con 8 bits. b) (0,4 puntos) Efectué las operaciones (A-B) y (-C-D) indicando si hay desbordamiento o acarreo y el por qué. c) (0,2 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 2. (1 punto) Considere las siguientes expresiones de conmutación: , , , ∑ 0,1,8,10,11 ∑ 2,3,6,7 x, y, z, w yz yz Obtenga la forma simplificada de f x, y, z, w AND g x, y, z, w . 3. (3 puntos) Se desea diseñar un sistema combinacional automático para controlar el funcionamiento de un aparato de calefacción y aire acondicionado. El sistema tiene 2 entradas: D, que indica si es de día o de noche (D=0 noche, D=1 día) y T, que indica en qué rango de valores está la temperatura de la habitación según la tabla: Temp < 15 16 < Temp < 22 23 < Temp < 26 27 < Temp < 32 Temp > 33 T 0 1 2 3 4 El sistema tiene 3 salidas: C, que enciende la calefacción, A, que enciende el aire acondicionado y Turbo, que hace que la calefacción o el aire acondicionado funcionen a doble potencia. El funcionamiento del sistema es el siguiente: Durante el día la calefacción se enciende en modo Turbo si la temperatura es menor de 15 y se enciende en modo normal si la temperatura está entre 16 y 22. Durante el día el aire acondicionado se enciende en modo Turbo si la temperatura es superior a 33 y se enciende en modo normal si está entre 27 y 32. Durante la noche no se enciende el Turbo. Sólo se enciende la calefacción si la temperatura es menor que 15 y el aire acondicionado si la temperatura es mayor de 33. Cuando la temperatura está entre 23 y 26 grados no se enciende nada. Se pide: a) (1 punto) La tabla de verdad del sistema. b) (2 puntos) Diseñarlo utilizando multiplexores 4 a 1 e inversores. Exam 4. (2 5. S u s q su E d tr fu S in a/0 men de Fundam 2 puntos) E a) (0,2 p b) (0,2 p c) (1,6 p Sea un tren e un sensor de istema que, que el tren uperior, dos El sistema ti durante un c rayectos cir función del v Cuando Cuando Cuando Cuando Suponiendo ndicados en a) (1,5 p b) (1,5 p de pu S0 S3 b/0 b/0 a/1 in mentos de Com El diagrama puntos) ¿Q puntos) ¿Q puntos) Co eléctrico de e presencia , leyendo el realice ind s vueltas por iene como e ciclo de rel culares supe valor en las C1=0 y C2 C1=1 y C2 C1=0 y C2 C1=1 y C2 que el tre n la figura, s puntos) Esp puntos) Im uertas lógica S1 S2 a/0 a/0 b/0 nicial mputadores de estados d ué tipo de s ué patrón re mplete el cr juguete con (P) y dos l valor del definidament r el tramo in entrada P y oj) cuando erior e infer salidas C1 y 2=0, el tren r 2=1, el tren r 2=1, el tren p 2=0, el tren p en se encue e pide: pecificar el mplementarlo as. b/0 0 entrada clk estado salida de la figura istema secu econoce? ronograma. n un trazado cambios de sensor y co nte la siguie nferior, una como salida el tren pas rior. Por su y C2: realiza recor realiza recor pasa del tram pasa del tram entra en la sistema com o utilizando b a S0 1 0 c representa u uencial es: M o de vías en e agujas (C ontrolando l ente secuen vuelta en oc as C1 y C2 sa por el tra parte el tren rridos circul rridos circul mo superior mo inferior posición i mo máquina un contado curso 2011-12 un reconoce Mealy o Moo n forma de o 1 y C2). S los cambios ncia: dos vu cho. . La entrada amo de vía n seguirá un lares por el t lares por el t r al inferior. al superior. nicial y cir de Moore or módulo-7 2, primer parci edor de patr ore? ocho que dis Se desea di s de agujas, ueltas por e a P se activa a que compa na trayectori tramo super tramo inferi rcula en el 7 y el menor ial / pág. 2 rón. spone de señar un permita el tramo a (vale 1 arten los ia que es rior. ior. l sentido r número Examenes finales/2011Junio_FC_parcial-1.pdf Facultad de Informática Departamento de Arquitectura de Computadores y Automática Examen de Fundamentos de Computadores 13 de junio de 2011 Apellidos ……………………………………………………………… Nombre …………………………………………D.N.I. ………………………… 1) Dados los siguientes números: A= -28 (en decimal) y B= +3C (en hexadecimal). a) Exprese los dos números con el mismo número de bits en representación en complemento a dos. b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el valor decimal que se produce cuando no haya desbordamiento: A+B, A-B. (1,5 puntos) 2) Un sistema combinacional tiene una entrada X, que es un dígito BCD. La salida Z vale 1 si el número es mayor que 1 y múltiplo de 3. a) Obtenga la tabla de verdad. b) Diseñe el sistema usando un multiplexor de 4 a 1 e inversores. (1,5 puntos) 3) Implemente un sistema secuencial que genere cíclicamente la secuencia 1,2,3,6,7 usando un contador módulo 8 como el que se describe en la figura y el menor número de puertas lógicas. Borrar Cargar Contar Q(t+1) 0 - - 0 1 1 - E(t) 1 0 1 Q(t)+1 1 0 0 Q(t) (1 punto) 4) Un sistema secuencial síncrono tiene una entrada serie X y una salida de un bit Z. La salida vale 1 cuando detecta el tercer 0 consecutivo en la entrada. Desde el momento en que detecta el 000 la salida vale 1 durante dos ciclos de reloj, independientemente del valor de la entrada durante esos dos ciclos. Después se pasa al estado inicial. Se pide: a) Especifique el sistema mediante un diagrama de estados como máquina de Moore. b) Implemente el sistema usando un descodificador, puertas y biestables D. (2 puntos) Examenes finales/2011Septiembre_FC_parcial-2.pdf Facultad de Informática UCM I.Informática FUNDAMENTOS DE COMPUTADORES 6 de septiembre de 2011 Nombre DNI . Apellidos Grupo . Ejercicio 1.- (1’5 ptos.) Dado el siguiente código escrito en lenguaje C int v[16]; // Dirección de comienzo 0x0000. Cada entero ocupa 4 bytes. int mask[4]; // Dirección de comienzo 0x0040 1 for(i=0; i<12; i++) { 2 tmp = 0; 3 for(j=0; j<4; j++){ 4 tmp = tmp+mask[j]*v[i]; 5 } 6 v[i]=tmp; 7 } Programe una subrutina en lenguaje ensamblador del ARM que implemente el bucle interno (líneas 2-5). Esta rutina recibirá como parámetros de entrada la dirección del vector mask y la posición i-ésima del vector v y devolverá el valor de tmp: int for2(int mask[], int vi[]); Nota: Respete el convenio estándar de paso de parámetros de entrada y salida, así como de salvaguarda de registros utilizados. Ejercicio 2.- Suponga los siguientes tiempos de conmutación para los elementos funcionales de la ruta de datos mono-ciclo: I-Mem Add Mux ALU BReg D-Mem Control 450 150 35 140 210 380 90 a) (1 pto.) Determine, justificando la respuesta, el tiempo de ciclo mínimo para ejecutar la instrucción beq (salta si igual). b) (1 pto.) Considere la instrucción add $13, $2, $3. Indique cuál es el valor de las señales de control RegDst, MemWrite, ALUSrc y MemtoReg; así como el valor de las entradas RA, RB y RW del Banco de Registros y la salida del extensor de signo. Ejercicio 3.- Dado el siguiente código del MIPS: lw r2,4(r4) Facultad de Informática UCM I.Informática lw r6,8(r0) subi r5,r0,12 slt r7,r10,r11 add r4,r2,r3 lw r9,0(r5) add r1,r7,r4 sw r5,12(r1) a) (0’5) Considerando la implementación del procesador segmentada, determine los conflictos de datos. b) (0’5) Reescriba el programa introduciendo operaciones NOP para eliminar los posibles conflictos. Ejercicio 4.- Se va a ejecutar el código del ejercicio 1 en una máquina con direcciones de 16 bits que dispone de una memoria cache de acceso directo con 4 bloques de 16 bytes cada uno. a) (0’75) Indique en qué (marco de) bloque de la memoria cache se encontrará el elemento v[1]. ¿Qué etiqueta tendrá el (marco de) bloque 2 de la cache tras la ejecución del código? Justifique las respuestas. b) (0’75) Ignorando los accesos a la variable tmp, ¿cuántos fallos de cache se producirán? Justifique la respuesta, indicando además cuántos reemplazamientos se producen (y en qué iteraciones). Examenes finales/2011Septiembre_FC_parcial-1.pdf Facultad de Informática Departamento de Arquitectura de Computadores y Automática Examen de Fundamentos de Computadores 6 de Septiembre de 2011 Apellidos ……………………………………………………………… Nombre …………………………………………D.N.I. ………………………… 1) (1,5) Dados los siguientes números: A=+35 (en decimal) y B=-2D (en hexadecimal). a) Exprese los dos números con el mismo número de bits en representación en complemento a dos. b) Efectúe las siguientes operaciones (operando en complemento a 2) indicando el valor decimal que se produce cuando no haya desbordamiento: A+B, A-B. 2) (1,5) Un sistema combinacional tiene como entrada un número positivo del 0 al 15. La salida Z vale 1 si el número de la entrada cumple alguno de estos requisitos: o Es un número primo o Es menor de 4 y par (considerar el 0 como par) o Es mayor de 8 e impar. Se pide: a) Especifique el sistema mediante la tabla de verdad. b) Implemente el sistema con un multiplexor de 4 a 1 e inversores. 3) (2) Diseñe un sistema secuencial para controlar el funcionamiento de un túnel de lavado de coches. El sistema tiene 2 entradas, la tecla start/stop (asíncrona) y la tecla DarCera que permite la opción de encerar el coche, y 5 salidas como muestra la figura. En el estado inicial, todas las salidas valen 0. Desde cualquier estado se va inmediatamente al estado inicial siempre que la tecla start/stop vale 0. El túnel de lavado empieza a funcionar cuando start/stop vale 1. El funcionamiento es el siguiente: durante 1 ciclo rocía el coche con jabón, luego activa los rodillos durante 2 ciclos, después activa el agua para aclarar (1 ciclo) y el aire para secar (1 ciclo). Si la tecla DarCera está activada, antes de acabar está 2 ciclos dando cera. En caso contrario vuelve al estado inicial. Se pide: a) Especifique el sistema mediante un diagrama de estados como máquina de Moore. b) Diseñe la parte de transición de estados usando un contador y el mínimo número de puertas posible. c) Diseñe la función de salida utilizando los módulos combinacionales que considere necesarios. FClabs.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Laboratorios 1er. cuatrimestre Fundamentos de computadores 2 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s los 5 orificios de cada columna están conectados los orificios de columnas contiguas no están conectados ídem para las filas, que se usan para distribuir alimentación/tierra los chips se colocan a caballo de este hueco 5 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s 1. Solicitar por internet una cuenta de usuario de laboratorios: http://informatica.ucm.es/cuenta‐labs/ 2. Solicitar individualmente por internet el material de prácticas de FC: http://informatica.ucm.es/prestamo‐material‐labs/ 3. Recoger el material en la Sala de técnicos 2. 4. Revisar en el laboratorio que todos chips funcionan. o Se cambian el primer día de prácticas. o Si se rompen con posterioridad, el alumno debe comprar nuevos. o El cable entregado no se repone: reúsalo 5. El material se devuelve al finalizar el cuatrimestre. o Los cables y los chips defectuosos no. 6 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s 8 switches (entrada de datos) 8 leds (salida de datos) 2 displays BCD (salida de datos) 2 pulsadores (reloj manual) generador de funciones (reloj) fuente de alimentación encendido FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Pelacables Multímetro Chip Tester 8 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Uso del chip tester: o Encender el tester o Mover la palanca para abrir el zócalo o Insertar el chip justificado abajo y con la marca hacia arriba o Mover la palanca para cerrar el zócalo o Pulsar AUTO para que detecte el chip o Pulsar TEST Uso del multímetro para medir voltajes o Encender el multímetro y alimentar el circuito. o Situar la rueda en medida de voltaje (corriente continua) para un rango justo superior a 5V. o Conectar la sonda NEGRA a TIERRA (GND, terminal – de la pila). o Usar la sonda ROJA para tomar medidas: • Para TTL: '0' = (V < 0,5V) y '1' = (V > 2.7) FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Pinzas de cocodrilo Multímetro Pila de petaca (opcional) Alicates de corte –+ FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO en c as a en c as a y/ o la bs Estudiar el enunciado Rellenar el cuadernillo Enseñar al profesor de labs: o El cuadernillo o El circuito funcionando FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO CONVERSOR DE CODIGO GRAY A BINARIOx 3 z 3 Gray de 3 bits 0 000 1 001 2 011 3 010 4 110 5 111 6 101 7 100 Binario de 3 bits 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO x2 x1 x0 z2 z1 z0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 1 3 0 1 1 0 1 0 4 1 0 0 1 1 1 5 1 0 1 1 1 0 6 1 1 0 1 0 0 7 1 1 1 1 0 1 CONVERSOR DE CODIGO GRAY A BINARIOx 3 z 3 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s x1x0 1 23 0 1 00 01 4 5 67 11 10x2 0 x2 x0 x1x1x0 1 23 0 1 00 01 4 5 67 11 10x2 0 x2 x0 x1x1x0 1 23 0 1 00 01 4 5 67 11 10x2 0 x2 x0 x1 ⨁ ⨁ ⨁ Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO ⨁ ⨁ ⨁ x2 x1 x0 z2 z1 z0 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO x2 x1 x0 z2 SW2 SW1 SW0 LED2 LED1 LED0 1 2 3 4 5 6 A A Lista de componentes: ‐ A: 7486 (GND – 7, +5V – 14) z0 z1 FC ve rs ió n 12 /0 9/ 14 La bo ra to rio s Especificación binaria Implementación lógica Implementación física Montaje Prueba Depuración ¿Correcto? NO SW7 SW6 SW5 SW4 SW3 SW2 SW1 SW0 8 BITS DATA SWITCHES +5V GND ‐5V DC POWER 4 5 6 7 0 1 2 3 8 BITS LED DISPLAYS FCpresentacion.pdf Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Fundamentos de computadores Presentación 2 FC Pr es en ta ci ón Teoría y problemas 1er. cuatrimestre o José Manuel Mendías Cuadros • Despacho 3.31 (Facultad de Informática) • teléfono: 91 394 76 13 • e‐mail: mendias@dacya.ucm.es • Web: www.dacya.ucm.es/mendias • Tutorías (se recomienda pedir cita): LM 11:30‐12:30, V:12‐13 2do. cuatrimestre o Julio Septién del Castillo • Despacho 3.35 (Facultad de Informática) • teléfono: 91 394 76 17 • e‐mail: jseptien@dacya.ucm.es • Tutorías: véase web de la Facultad 3 FC Pr es en ta ci ón Laboratorio 1er. cuatrimestre o Rafael Moreno Vozmediano • Despacho 3.33 (Facultad de Informática) • teléfono: 91 394 76 15 • e‐mail: rmoreno@dacya.ucm.es 2do. cuatrimestre o Katzalin Olcoz Herrero • Despacho 3.18 (Facultad de Informática) • teléfono: 91 394 76 55 • e‐mail: katzalin@dacya.ucm.es 4 FC Pr es en ta ci ón Funciones del computador: o Procesamiento de datos o Almacenamiento de datos / instrucciones (programa) o Transferencia de datos entre el computador y el exterior o Control programado de las anteriores operaciones La especialización funcional de un computador ocurre cuando se programa y no cuando se diseña. Máquina de cálculo electrónica de alta velocidad que acepta información digitalizada, la procesa atendiendo a una lista de instrucciones que almacena internamente, y produce la correspondiente información de salida Hamacher, Vranesic y Zaky. Organización de computadores 5 FC Pr es en ta ci ón Sus principales componentes estructurales son: o Procesador: controla el funcionamiento del computador y procesa los datos según las instrucciones de un programa almacenado o Subsistema de memoria: almacena datos/instrucciones (programa) o Subsistema de entrada/salida: transfiere datos entre el computador y el entorno externo o Subsistema de interconexión: proporciona un medio de comunicación entre el procesador, la memoria y la E/S. E/S Bus CPU Periféricos Memoria FC Pr es en ta ci ón Micro‐ electrónica Sistema Digital Estructura del computador Arquitectura del computador Sistema Operativo Lenguaje de alto nivel Aplicación Registros Registro Estado Contador Programa R0 R7 ••• Loop move #$10, R0 load R1(dir1), R2 add R2, R0 sub #1, R1 beq Loop Gestión de memoria, de procesos, de ficheros, intérprete de comandos, etc. Ofimática, Comunicaciones, Juegos, Multimedia... E/S Bus CPU Periféricos Memoria Programación estructurada, orientada a objetos, complejidad, etc. 7 FC Pr es en ta ci ón Mostrar los fundamentos del funcionamiento, estructura y diseño de un computador. o Todos los computadores, con independencia de su tipo, se basan en un conjunto de conceptos básicos comunes. Aproximación ascendente (bottom‐up) o Partiendo de puertas lógicas, estudiaremos sistemas de complejidad creciente hasta alcanzar un computador elemental completo. o Estudiaremos la estructura básica de un computador y aprenderemos a programarlo a nivel máquina. o Estudiaremos cómo un programa en un lenguaje de alto nivel (C) termina ejecutándose como una serie de instrucciones máquina. En otras asignaturas de este y sucesivos cursos: o Se estudiarán el computador en mayor profundidad y a otros niveles. 8 FC Pr es en ta ci ón Tema teoría labs 1 Representación digital de la información 4 h ‐‐‐ 2 Especificación de sistemas combinacionales 4 h ‐‐‐ 3 Implementación de sistemas combinacionales 4 h 2 h 4 Módulos combinacionales básicos 4 h 2 h 5 Especificación de sistemas secuenciales síncronos 2 h ‐‐‐ 6 Implementación de sistemas secuenciales síncronos 4 h 2 h 7 Módulos secuenciales básicos 4 h 4 h 8 Diseño del procesador 8 h ‐‐‐ 9 Lenguaje máquina y ensamblador 14 h 8 h 10 Sistema de memoria de un computador 5 h ‐‐‐ 11 El subsistema de entrada/salida 3 h 2 h 2d o. c ua tr im es tr e Ar qu ite ct ur a/ es tr uc tu ra de c om pu ta do re s 1e r. cu at rim es tr e Si st em as d ig ita le s 9 FC Pr es en ta ci ón Asistencia obligatoria Clases: o Teoría en aula (30h/cuatrimestre) o Problemas en aula (20h/cuatrimestre) o Prácticas en laboratorio (10h/cuatrimestre) Elementos evaluables: o Prácticas: 25% de la nota • 1er. cuatrimestre: 5 sesiones de 2 horas (no recuperables) • 2do. cuatrimestre: 5 sesiones de 2 horas (no recuperables) o Exámenes: 75% de la nota • Febrero (temario del 1er. cuatrimestre) • Junio (temario del 2do. cuatrimestre o temario completo) • Septiembre (temario del 1er./2do. cuatrimestre o temario completo) 10 FC Pr es en ta ci ón En jun/sep el alumno/a puede elegir evaluarse: o Por exámenes parciales liberatorios (temario cuatrimestral) o Por examen final (temario completo) Según el caso, la calificación final se calcula, a elegir: o Evaluación por exámenes parciales: • Notafinal = (Nota1er cuatrimestre + Nota2do cuatrimestre) / 2 • Notacuatrimestre = 0,75∙Notaexamen parcial + 0,25∙Notaprácticas • La nota de ambos cuatrimestres debe ser mayor que 4. • La nota del cuatrimestre se guarda hasta septiembre. o Evaluación por examen final: • Notafinal = 0,75∙Notaexamen final + 0,25∙Notaprácticas 11 FC Pr es en ta ci ón 1er. cuatrimestre Octubre 2014 Noviembre 2014 29 30 1 2 3 4 5 1 2 6 7 8 9 10 11 12 3 4 5 6 7 8 9 13 14 15 16 17 18 19 10 11 12 13 14 15 16 20 21 22 23 24 25 26 17 18 19 20 21 22 23 27 28 29 30 31 24 25 26 27 28 29 30 Diciembre 2014 Enero 2015 1 2 3 4 5 6 7 1 2 3 4 8 9 10 11 12 13 14 5 6 7 8 9 10 11 15 16 17 18 19 20 21 12 13 14 15 16 17 18 22 23 24 25 26 27 28 19 20 21 22 23 24 25 29 30 31 26 27 28 29 30 31 TEORIA LABORATORIO PROBLEMAS Tabla sistemas de bases.docx Decimal Binario 0ctal ( Hexadecimal ( 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 suma resta Multiplicación 0+0=0 0 -0=0 0x0=0 0+1=1 0-1=1 Me llevo 1 0x1=0 1+0=1 1-0=1 1x0=0 1+1=0 Me llevo 1 1-1=0 1x1=1 Laboratorios Mesas.pdf Laboratorio de Fundamentos de Computadores Grupo B Laboratorio 7 Laboratorio 8 Laboratorio 9 Prof. José Jaime Ruz Ortiz Prof. Rafael Moreno Vozmediano Prof. Mª Carmen Molina Prego Alumno Mesa AMBITE VARONA, DIEGO 1 BRAOJOS GARCÍA, DAVID 2 CAMPOS DELGADO, MIGUEL ANGEL 3 CARRERES RIOS SAMUEL 4 Alumno Mesa GOMEZ AMADOR, CARLOS 1 GOMEZ HERRERA, TOMAS 2 GÓMEZ MOCHALES, DAVID 3 GONZALEZ ALVAREZ SALVADOR 4 Alumno Mesa LOPEZ CARRION, FERNANDO 1 LOPEZ MILLAN, GUILLERMO 2 LORENZO FERNANDEZ, BORJA 3 MAESTRE VIDAL DIEGO 4CARRERES RIOS, SAMUEL 4 CASAS TORRES, LAURA 5 CORTINA FERNANDEZ, GUILLERMO 6 DATO CARDO, JESUS 7 DE LA FUENTE COSGAYA, PABLO 8 DIETTAMARTÍN ALEJANDRO 9 GONZALEZ ALVAREZ, SALVADOR 4 GONZALEZ AREVALO, JUAN 5 GONZALEZ PEREZ, MARCO 6 GU , RAN 7 GUOFENG , LI 8 GURDON BALLEN LUIS ALEJANDRO 9 MAESTRE VIDAL, DIEGO 4 MARTÍN GUTIÉRREZ, CARLOS 5 MARTIN VELASCO, DARIO 6 MEIROMENDOZA, GERARDO 7 MENA FERNANDEZ, ALBERTO 8 MENDOZA REYNA LUIS ALBERTO 9DIETTAMARTÍN, ALEJANDRO 9 ESPINOZAMELENDEZ, JULIO 10 FAJARDO VIZUETE, JORGE 11 FERNÁNDEZ SAN SOTERO, HÉCTOR 12 FIRA , CATALIN EMANUEL 13 FUERTES FRANCO ENRIQUE 14 GURDON BALLEN, LUIS ALEJANDRO 9 GUTIERREZ FERNANDEZ, PEDRO JESUS 10 HARJANI RAMCHANDANI, ARUN 11 HERNÁNDEZ CAÑAVATE, DIEGO 12 HERNANDEZ GARCIA, FRANCISCO 13 HERNANDEZ JIMENEZ SERGIO 14 MENDOZA REYNA, LUIS ALBERTO 9 MENÉNDEZ LÓPEZ, ADRIÁN 10 MORA GOMEZ, MIGUEL 11 MORAIS MANRIQUE, SWAMY 12 MORAL CASTILLO, ALFREDO 13 MOUCHILI LARDIN ADRIEN EPHREM 14FUERTES FRANCO, ENRIQUE 14 GALLARDOMUÑOZ, MARIAM 15 GARCIA BAAMEIRO, DANIEL 16 GARCIA HERNANDEZ, PABLO 17 GARCÍA ROS, JOSÉ RAMÓN 18 GARCIA TOLEDO ALVARO 19 HERNANDEZ JIMENEZ, SERGIO 14 HERVAS RODRIGUEZ, DAVID 15 HUERTAS SMOLIS, MARTA 16 KALOYANOVA POPOVA, ELENA 17 LABORDA GARCÍA, DAVID 18 LALAGUNA SANCHEZ JAVIER 19 MOUCHILI LARDIN, ADRIEN EPHREM 14 MUDARRA CASTAÑO, HECTOR DANIEL 15 MUÑOZ GARCÍA, DANIEL 16 MUÑOZMARIA, LUIS 17 RODRIGUEZMARTINEZ, GONZALO 18 SANTIYAN GARCÍA LISON JUAN 19GARCIA TOLEDO, ALVARO 19 GARRIDO ROMAN, VICTOR MANUEL 20 LALAGUNA SANCHEZ, JAVIER 19 LIEBANA CABELLO, JORGE 20 SANTIYAN GARCÍA‐LISON, JUAN 19 TORRES ALONSO, ALEJANDRO 20 karnaugh interactivo.txt http://www.ee.calpoly.edu/media/uploads/resources/KarnaughExplorer_1.html Ejercicios/FCproblemas3.pdf Proble Prob 1. Im c in d d (p m e u 2. A Prob 3. D s 4. U c c c 2 5. E h n m in d s u D p fi s Facu Unive emas de Fund P blemas bá mplemente controle el m ndicando el de monedas dos salidas, u p.ej. cambia monedas deb el retardo de utilizando lo Analice el s blemas ad Demuestre iguiente exp Un sistema c complement complement codificar la s 2 entradas. El sistema n hecho de cé neurona tien muestra en nhibición. U de sinapsis d inapsis de i umbral de la Determine l pulsos a trav figura, para alida 1 si e ultad de In ersidad Complu damentos de C PROBLEMA ásicos: con el me mecanismo d l tipo de mo que se dese una de error ar una mon be entregar e propagaci os datos de la iguiente circ dicionales que el blo presión de c combinacion to a 2, en el to a 2 de for salida. Impl nervioso hu élulas espec ne sinapsis la figura ad Una neurona de excitació nhibición co a neurona. a función b vés del cana un valor de l número d a c nformática utense de Mad Computadores AS DE FU enor número de una máqu oneda introd ea obtener: 0 r que se acti eda de 0.50 la máquina ión (máxim a biblioteca cuito y dé u s: oque combi conmutación nal tiene po rango -3≤x≤ rma que z(x lemente el s umano, incl cializadas ll (puntos de djunta) de a produce u n con pulso on pulsos 1 booleana f( l de salida ( e umbral 1. e sinapsis d a b c a c b a drid (versión 7-10 NDAMENT TEMA o de puerta uina de cam ducida: 0.20 0.05€, 0.10€ ivará cuand 0€ en mone a a cambio d mo) y el reta a de celdas p una descripc inacional cu n es conjunt or entrada un ≤3. La salid x) = -2x. D sistema usan luyendo el lamadas ne interconex excitación una salida 1 os 1 excede por al men (a,b,c,d,e) d (axón) en el Es decir, se de excitació c b a 0-14) TOS DE C A 3 as NAND u mbio de mon 0€, 0.50€, 1€ €, 0.20€, 0.5 o la operaci das de 0.20 de la moned ardo contam presentada e ión de alto n uyo compo to universal: n número bi da del sistem etermine el ndo el meno cerebro, es euronas. Ca xión, como y sinapsis si el núme el número nos el valor de emisión l modelo de e produce u ón a 1, exce OMPUTAD un sistema nedas. Posee €, 2€ y otra 50€. A su ve ión solicitad 0€), y otra q da introducid minación (m n teoría. nivel de la f ortamiento : xxyP inario de 3 b ma es tambié número de or número d stá da se de ero de de de la na de f Tema DORES combinacio erá dos entra a para indica ez, el sistem da no se pue que indicará da. Calcule mínimo) del función que viene dado x . bits represe én un núme e bits necesa de puertas N a 3 / pág. 1 onal que adas, una ar el tipo ma tendrá eda hacer á cuántas el coste, l circuito realiza: o por la ntado en ero (z) en ario para NAND de Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 2 por al menos en uno el número de sinapsis de inhibición a 1. Minimice f(a,b,c,d,e) y obtenga una implementación usando el menor número de puertas lógicas de no más de 3 entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 6. Sea un sistema de seguridad para 2 puertas, tal que para que una de ellas se abra, el usuario debe haber insertado una tarjeta válida que identifique a la puerta y tecleado un cierto código de acceso. El sistema lee la información generada por un lector de tarjetas y por un lector de teclado. El sistema generará como salida las señales de apertura de cada una de las puertas y de activación de una alarma. Las salidas del lector de tarjetas son: no se ha insertado tarjeta, tarjeta válida para puerta 1, tarjeta válida para la puerta 2, tarjeta no válida. La salida del lector de teclado es el código introducido codificado con 2 bits. Los códigos autorizados para la puerta 1 son 01 y 10 y los códigos autorizados para la puerta 2 son 01 y 11. El código 00 indica que no se ha tecleado nada. La alarma deberá sonar si la tarjeta insertada no es válida o si la tarjeta insertada es válida, pero el código tecleado no está autorizado para la correspondiente puerta. Una puerta se abrirá cuando la tarjeta y el código tecleado asociados a ella sean válidos. En el resto de casos, las puertas permanecerán cerradas y la alarma sin activar. Implemente el sistema usando el menor número de puertas AND y NAND de no más de 3 entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 7. Utilizando el menor número de puertas NAND implemente un sistema combinacional que tiene dos entradas de 2 bits cada una X{0,1,2,3} e Y{1,2}, y una salida Z que realiza la función: Z = 2*(X + Y - 1)/Y. 8. Se quiere un diseñar un radar. El sistema recibirá como entrada el ángulo que forma el objeto con la horizontal. Los ángulos se miden en sentido antihorario a partir de las 3 horas con una resolución de 30º. Si un objeto se encuentra en la frontera entre dos cuadrantes se considera que pertenece al mayor de los dos. La salida del radar estará compuesta por 3 bits (A,B,C): A se activa cuando la entrada está en el 1er o en el 3er cuadrante, no se activa en caso contrario. B se activa cuando la entrada está entre 0 y 29º o entre 60º y 119º o entre 210º y 299º, no se activa en caso contrario. C se activa cuando sólo se activa una de las salidas anteriores y sólo una. Se pide: a) Obtener la tabla de verdad de A, B, C. b) Sintetizar la expresión de conmutación de cada una de las salidas del sistema requerido, mediante una red NAND de 2 niveles con el menor número de puertas. c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 9. Utilizando el mínimo número posible de puertas NAND de 2 entradas, implemente las siguientes funciones de conmutación: f(a,b,c,d)=Σm(0,1,6,7,9,13) Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 3 g(a,b,c,d)=Σm(0,3,5,6,8,11,13,14) h(a,b,c,d)=Σm(4,5,6,7,9,11,12,14) 10. Se desea implementar el mecanismo de control y aviso de una presa. El sistema tiene una entrada L que indica la cantidad de lluvia que está cayendo (ver tabla) y dos entradas provenientes de sensores: uno ubicado a mitad de la presa M, que devolverá 1 cuando la presa esté completa al 50% o más y 0 en caso contrario; y otro R, que devolverá 1 cuando el 90% de la presa o más esté completa. Se desea implementar un sistema de alarma con una salida A codificada (según tabla) que se comporte de la siguiente manera: Siempre que el nivel de la presa esté por debajo de la mitad y la lluvia no sea fuerte estaremos en alerta amarilla, y en caso de lluvia fuerte estaremos en el alerta naranja. Siempre que el nivel este por encima del 50% pero por debajo del 90% esteremos en alerta naranja si y sólo si la lluvia es moderada o fuerte, en cualquier otro caso estaremos en alerta amarilla. Siempre que el nivel esté por encima del 90% y haya lluvia estaremos en el alerta roja, si no, estaremos en alerta naranja. Además el sistema tiene un tiene una salida C que será igual a 1 cuando las compuertas de la presa estén abiertas, estas compuertas se abrirán siempre que estemos en las condiciones de la entrada que generan alerta roja, se abrirán también siempre que estemos por encima del 50%, con condiciones de alerta naranja y haya lluvia. Además en caso de que los sensores de nivel de la presa den señales inconsistentes se abrirán las compuertas y se fijará el nivel de alerta a amarillo. Se pide: a) Escribir la tabla de verdad que describe el sistema. b) Implementar la salida C utilizando el menor número de puertas lógicas de 2 entradas. c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. Entrada L1L0 Salida A1A0 No llueve 00 Amarilla 01 Débil 01 Naranja 10 Moderado 10 Roja 11 Fuerte 11 11. En un restaurante de la compañía FAST-FOOD se elaboran distintos platos de comida a partir de los componentes: ensalada de lechuga (E), patatas fritas (F), pescado (P) y carne (C). Estos componentes pesan 100, 150, 250 y 200 gramos, respectivamente. Las comidas se transportan por medio de una banda hasta una báscula. Si el peso indicado en la báscula es más de 350 gramos, entonces el cliente deberá pagar 3 euros de suplemento. No es posible que lleguen a la báscula ni platos vacíos, ni platos que sólo contengan ensalada y patatas, ni platos que contengan pescado y carne. Todas las demás combinaciones sí pueden llegar hasta la báscula. El sistema tiene 2 salidas: Suplemento (S), que vale 1 cuando debe pagar suplemento, y Báscula (B), que indica el peso del plato medido por la báscula medido en múltiplos de 50 gramos. Por ejemplo, si un plato pesa 300gr la salida Báscula vale 6. Se pide: a) Obtenga la tabla de verdad de la salida S, que calcula el suplemento y de la salida B, que indica el peso. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 4 b) Realice el circuito usando el menor número de inversores y puertas NAND. c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 12. Se desea diseñar un sistema combinacional para controlar el motor de un reproductor de cintas de audio. El circuito dispone de 5 entradas y 3 salidas. Las señales de entrada son las siguientes: PL, vale 1 cuando se pulsa el botón de reproducción. RE, vale 1 cuando se pulsa el botón de rebobinado. FF, vale 1 cuando se pulsa el botón de avance rápido. ST, vale 1 cuando se pulsa el botón de parada. M es una señal que proviene de un sensor especial de música que detecta música en la actual posición de la cinta. Las salidas son: P, si vale 1 la cinta avanza R, si vale 1 se rebobina F, si vale 1 se avanza rápido. Sólo puede haber una salida activa y cuando las 3 valen 0, el motor está parado. Especificaciones de diseño: Si se pulsa el botón de reproducción, el reproductor reproduce la cinta. Si estando pulsado el botón de reproducción se pulsa el de rebobinado, el reproductor de cintas rebobinará si estamos en medio de una canción. Si no, reproducirá la cinta Si estando pulsado el botón de reproducción se pulsa el de avance rápido, el reproductor de cintas avanzará rápido si estamos en medio de una canción. Si no, reproducirá la cinta Si se presiona el botón de avance rápido o el de rebobinado estando el botón de reproducción sin apretar, el reproductor rebobinara o avanzara rápido. Si se pulsa el botón de parada, se detiene el reproductor de cintas Se pide: a) Obtener una implementación simplificada con puertas NOT, AND, OR de 2 entradas. b) Ídem con puertas NAND y AND de 2 entradas. c) Calcule en ambos casos el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 13. Un operador de avionetas para rutas turísticas desea instalar un climatizador inteligente, para lo cual añade a los aeroplanos un sistema de calefacción (C) y un sistema de refrigeración (R) y los siguientes sensores: un sensor de temperatura (T) con la codificación que muestra la tabla, un altímetro que indica si la altura es superior a 350 metros (A = 1) y un interruptor que enciende la calefacción (I=1). El operador encarga al fabricante las siguientes especificaciones: La calefacción se encenderá automáticamente cuando haya temperaturas inferiores a 15º y el altímetro sea superior a 350 metros. La refrigeración se encenderá automáticamente cuando haya temperaturas superiores a 25º si el avión vuela con una altura inferior a 350 metros. El interruptor de calefacción deshabilita la refrigeración (en su caso) y enciende la calefacción si la temperatura es inferior a 25º. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 5 Temperatura Menos de 5º De 5º a 15º De 16º a 25º Más de 25º T 00 01 10 11 a) Halle la tabla de verdad que describe el funcionamiento del circuito. b) Implemente el sistema utilizando el menor número posible de puertas lógicas. c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 14. Sea un sistema que controla el riego automático de un parque. El sistema tiene como entradas las señales E y D que provienen de un reloj-calendario y la señal L que viene de un sensor de lluvia, tales que: E D L verano 1 mañana 0 llueve 1 no verano 0 mediodía 1 no llueve 0 tarde 2 noche 3 El sistema tiene una única salida Z que vale 1 cuando el riego debe activarse y 0 cuando debe desactivarse. Dicha salida viene determinada de la siguiente manera: Si es invierno y mediodía, el riego se activa Si es verano, el riego se activa por la mañana, mediodía y noche Si llueve, el riego se desactiva Implemente el sistema utilizando el menor número de puertas lógicas de no más de 3 entradas. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 15. Un sistema combinacional que controla una carrera de regatas tiene 4 entradas y 2 salidas. Las entradas indican las características del barco: B (1=extranjero; 0=nacional) E (1=eslora mayor de 8 metros; 0=eslora menor o igual a 8 metros) M (1=manga mayor de 5 metros; 0=manga menor o igual a 5 metros) S (1=equipamiento superior; 0=equipamiento convencional) Las dos salidas indican la categoría en la que participa el barco en función de sus características: C (1=clase I; 0=clase II) I (1=instrucciones de tipo A; 0=instrucciones de tipo B) Para organizar a los barcos se usan las siguientes condiciones: Los barcos de bandera extranjera y eslora mayor de 8 metros navegan en Clase II junto a los de bandera española. Los demás, en Clase I. Para los barcos pertenecientes a Clase II el conjunto de instrucciones depende del tipo de equipamiento: los barcos con equipamiento superior usan el conjunto de instrucciones A, mientras que los de equipamiento convencional usan el conjunto de instrucciones B. Todos los barcos de Clase I usan el conjunto de instrucciones B, salvo que tengan una manga mayor de 5 metros o equipamiento superior, en cuyo caso usan el conjunto de instrucciones A. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 3 / pág. 6 Se pide: a) Obtenga una especificación del sistema en forma de tabla de verdad. b) Obtenga la implementación con puertas de su suma de productos mínima. c) Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) del circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 16. Obtenga una circuito con el menor número de puertas lógicas equivalente al circuito mostrado en la figura, siendo M un bloque combinacional cuya salida vale 1 cuando en sus entradas hay más unos que ceros (función mayoría). Problemas de examen: 17. (Febrero 2013) Se desea realizar un circuito combinacional que permita clasificar, según su forma, las piezas que se sitúan en un receptáculo. Para ello, las entradas del sistema están conectadas a una matriz de 4 células fotoeléctricas dispuestas como se muestra en la figura. Cuando no hay pieza en el receptáculo, todas las células generan valor 0. Cuando la hay, unas células generan valor 0 y otras 1 según la forma de la pieza (véanse algunos ejemplos en la figura). El sistema generará un vector de 2 bits indicando si la pieza es cuadrada (00), triangular (01), en forma de L (10) o defectuosa (11), es decir, no es una de las anteriores. Considérese que todas las piezas encajan en el receptáculo pero que podrán estar rotadas 90º, 180 ó 270º. Se pide: a) Indicar la tabla de verdad del sistema. b) Diseñarlo utilizando el menor número de puertas NAND e inversores. 18. (Febrero 2014) Se desea implementar un sistema combinacional que regule el tiempo que debe estar en funcionamiento una secadora industrial. La secadora funcionará durante más o menos tiempo de acuerdo con la cantidad de ropa introducida y el nivel de humedad que tenga. A = 0 D = 0 C = 0 B = 0 A B C D A = 1 D = 0 C = 1 B = 1 A B C D A = 0 D = 1 C = 1 B = 0 A B C D A = 1 D = 1 C = 1 B = 1 A B C D clasificador F A D C B 2 A B C D M M M M A B 1 A D C D C F Proble E d b S E s S emas de Fund El sistema re de volumen: baja (0), med Si, por ejemp El sistema, d ecado codif Menor o Mayor d Mayor o Se pide: a) Indic b) Diseñ damentos de C ecibe estos poca ropa dia (1), alta tiempo( vo plo, hay poc tiem de acuerdo ficado en bin o igual que 3 de 30’ y men o igual a 60’ car la tabla d ñarlo utiliza Computadores datos codifi (0), cantida (2). El tiem olumen, hum ca ropa y su mpo( 0, 2 ) = con el tiem nario que de 30’, program nor que 60’ ’, programa de verdad de ando el men (versión 7-10 ficados en b ad media (1) mpo de secad medad ) = 30 u humedad e 30’ + (0+2) mpo calculad ebe realizar ma corto (0) , programa a largo (2). el sistema. nor número d 0-14) binario por 2 ), mucha rop do se calcula 0’ + (volume es alta, el tie )×10’ = 30’ do, indicará la secadora ); normal (1) de puertas N 2 entradas q pa (2); y el a con la sigu en+humedad mpo de seca + 20’ = 50’ por una sa . Si el tiemp NAND e inv Tema que indican tramo de h uiente funció d)×10’ ado será: ’ alida el prog po es: versores. a 3 / pág. 7 el tramo humedad: ón: grama de Ejercicios/FCproblemas2.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores Tema 2 / pág. 1 PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES TEMA 2 Problemas básicos: 1. Usando los mapas de Karnaugh, obtenga expresiones como mínima SDP de las funciones: a) f(A,B,C,D) = m(0,4,6,10,11,13) b) f(w,x,y,z) = m(3,4,7,11,12,14,15) c) f(V,W,X,Y,Z) = m(0,2,3,4,5,11,18,19, 20, 23, 24,28 ,29,31) 2. Empleando los mapas de Karnaugh, encuentre expresiones como suma de minterms de las funciones: f1(a,b,c,d) = f(a,b,c,d) . f(a,b,c,d) f2(a,b,c,d) = f(a,b,c,d) + f(a,b,c,d) f3(a,b,c,d) = f1(a,b,c,d) . f2(a,b,c,d) siendo: 3. Un sistema combinacional tiene una entrada X, que es un dígito BCD. La salida Z vale 1 si el número es mayor que 1 y múltiplo de 3. Obtenga la tabla de verdad. 4. Se desea diseñar el control de un detector de situaciones de alarma en el hogar. El sistema tiene como entradas: FU (se activa cuando el detector de humos reconoce un fuego) IN (se activa cuando el detector de agua reconoce una inundación) AT (se activa cuando el detector de intrusos identifica movimiento en la terraza) AP (se activa cuando el detector de intrusos identifica movimiento en la puerta) Las salidas que debe proporcionar el sistema son: PO (llama a la policía) BO (llama a los bomberos) El comportamiento de la alarma es: El sistema debe llamar a la policía cuando se detecta movimiento en la terraza o en la puerta pero no hay inundación ni fuego (ya que en estos casos los detectores de movimiento no son fiables) El sistema debe llamar a los bomberos cuando se detecte inundación o fuego Describa el sistema mediante expresiones de conmutación simplificadas. cb a+bd+ab = f db+ba = f Problemas de Fundamentos de Computadores Tema 2 / pág. 2 Problemas adicionales: 5. Obtenga una SDP simplificada equivalente a cada una de las siguientes expresiones de conmutación: a) b) 6. Dadas las funciones de conmutación: g1(a,b,c,d) = m(0,1,2,4,6,8,10,13,15) g2(b,c,d) = m(2,4,5,6,7) g3(a,b,c,d) = m(0,2,3,4,6,10,11,12,14) g4(a,b,c,d) = m(1,2,4,6,12) g5(a,b,c,d) = m(2,3,5,6,13) complete las siguientes cadenas de igualdades: a) f1(a,b,c,d) = g1 . g2 = m(.....) b) f2(a,b,c,d) = g1 g3 = m(.....) c) f3(a,b,c,d) = g4 NAND g5 = m(.....) 7. Dadas las funciones de conmutación f1(a,b,c,d) = m(0,2,4,5,7,12,13,15) f2(a,b,c,d) = m(0,3,6,7,10,11,12,13) obtenga expresiones como sumas de mintérminos de las siguientes funciones: a) f3 = f1 . f2 b) f4 = f1 f2 8. Obtenga expresiones de conmutación como sumas de minterms de las funciones: a) f3 (x,y,z,w) = f1 f2 b) f4 (x,y,z,w) = f1 NOR f2 siendo: 9. Obtenga la suma de productos canónica equivalente a la expresión de conmutación: Z(x3, x2, x1, x0) = )xx(x)xx( 10123 10. Obtenga una especificación mediante una EC simplificada de un sistema combinacional que acepta como entrada dos números binarios de dos bits, X e Y, y da salida uno si y solo si XY. 11. Obtenga la especificación mediante ECs simplificadas de un conversor de código BCD a Exceso-3. 12. Especifique mediante ECs simplificadas un sistema combinacional capaz de detectar números primos. El sistema admite como entrada números enteros en el rango 0 a 31. 13. Un sistema combinacional tiene una entrada, X, que representa un dígito decimal. La salida, Z, es la entrada dividida entre 2 si X>4. En caso contrario, la salida es el doble de ecdbadbaceecedcbaf )())((),,,,( )()()(),,,( zyzxxwzyxwf w)zz)(xy)(xy(xf1 w)zx)(yzx)(wzyz)(xy(xf2 Problemas de Fundamentos de Computadores Tema 2 / pág. 3 la entrada. Obtenga una especificación mediante ECs simplificadas del sistema suponiendo: a) que la entrada y la salida se codifican en BCD b) ídem en Exceso-3. 14. Una escalera tiene cuatro pisos y un conmutador por piso para controlar la luz. Si todos los conmutadores están apagados la luz está apagada, pero cualquier cambio en un con- mutador modifica el estado de la luz. Describa mediante una EC simplificada el sistema combinacional necesario para controlar la luz. 15. Un estudiante será seleccionado para participar en un programa experimental si pertenece, al menos, a uno de los grupos siguientes: Varón, no de 2º ciclo, español De 2º ciclo, español, no sabe programar Varón, de 2º ciclo, español Mujer, de 2º ciclo, sabe programar No de 2º ciclo, español, no sabe programar Mujer, no de 2º ciclo, española Se pide: a) Especifique mediante una función de conmutación un sistema digital tal que conocidas las características de un estudiante permita determinar automáticamente si será seleccionado para el programa. b) Halle un conjunto de requerimientos equivalente, pero más simple, para ser seleccionado. 16. El ayuntamiento de Madrid quiere eliminar el peligro que suponen las fuentes ornamentales los días de fuerte viento para el tráfico que circula por los alrededores, para lo cual ha encargado un sistema digital con dos entradas T y V y una salida F, que cumpla las siguientes especificaciones: Sensor de tráfico (T1, T0): codificado según la tabla adjunta Sensor de viento (V1, V0): codificado según tabla adjunta. Siempre que la fuerza del viento sea alta se apaga la fuente (F = 0). Siempre que no haya viento o la fuerza de éste sea pequeña se mantendrá la fuente encendida (F = 1). Sólo en el caso de viento moderado y densidad de tráfico media o alta se apagará la fuente. Escribir la tabla de verdad que refleja el funcionamiento del sistema. T1 T0 Tráfico V1 V0 Fuerza del Viento 0 0 Bajo 0 0 Sin viento 0 1 Medio 0 1 Pequeña 1 0 Alto 1 0 Moderado 1 1 Alta 17. Un sistema para el control de un paso a nivel de la vía férrea Madrid-Segovia tiene tres salidas: B indica si la barrera del paso a nivel está bajada o subida, y las otras dos indican si está verde o rojo el semáforo que permite pasar trenes en cada uno de los dos sentidos (si Pm es 1 pasan trenes desde Madrid y si Ps es 1 pasan trenes desde Segovia). El sistema debe garantizar que sólo pasa un tren a la vez y nunca está subida la barrera cuando pasa un tren. Problemas de Fundamentos de Computadores Tema 2 / pág. 4 El sistema tiene como entrada dos conjuntos de tres variables: las variables Mt, Mm y Mr valen 1 cuando viene un talgo procedente de Madrid, viene un mercancías procedente de Madrid y cuando el tren que viene de Madrid está retrasado respectivamente (sólo vale 1 si viene algún tren y además está retrasado). Las variables St, Sm y Sr tienen el mismo significado pero para los trenes procedentes de Segovia. El funcionamiento del sistema cuando más de un tren quiere pasar es el siguiente: si sólo uno de los trenes lleva retraso pasa ese en primer lugar y espera el otro. En caso contrario, si sólo uno de los trenes es talgo, el talgo pasa primero; si ninguno es talgo, pasa primero el que va a Madrid y si ambos son talgo, primero pasa el que viene de Madrid. Obtenga una especificación binaria del sistema. 18. Se desea diseñar un sistema que descodifique el rumbo de un barco. El sistema recibe el rumbo actual por cuatro entradas, N, S, E y W, que se activan cuando el barco lleva el rumbo correspondiente, de manera que, por ejemplo, la entrada NSEW=1010 se corresponde con el rumbo noreste (NE). La salida del sistema debe mostrar el rumbo de la siguiente forma codificado en binario puro: 0 7 1 6 2 5 3 4 Especifique el sistema mediante una tabla de verdad y obtenga las expresiones de conmutación simplificadas como suma de productos. 19. Un sistema combinacional para controlar el aparcamiento de una empresa de transportes tiene 4 entradas y 3 salidas. Las entradas indican las características del vehículo: C (1=Camión; 0=Furgoneta), F (1=Aislamiento con cámara frigorífica; 0=Aislamiento convencional), R (1 = Remolque mayor de 5 metros de longitud; 0=Remolque reducido o no remolque), P (1=mercancías peligrosas; 0=mercancías convencionales). Las salidas indican la seguridad, lugar de aparcamiento y turno en función de estas características descritas: Z (1=Zona amplia; 0=Zona convencional), S (1=Seguridad reforzada; 0=Seguridad convencional). T (1=Turno de salida prioritario, 0=Turno de acuerdo al programa). Las condiciones que debe de cumplir el sistema son las siguientes: Los vehículos pesados (camiones con o sin remolque y furgonetas con remolque mayor de 5 metros) se aparcan en zona amplia siempre que no transporten mercancías peligrosas. El resto en zona convencional. Para los vehículos que transporten mercancías peligrosas la seguridad se verá reforzada. También si el vehículo considerado es un camión y lleva un remolque mayor de 5 metros, además de cámara frigorífica. El resto llevará seguridad convencional. Todos los vehículos cuya seguridad esté reforzada, estén aparcados en zona convencional y tengan cámara frigorífica saldrán de forma prioritaria. El resto de vehículos saldrá de acuerdo al programa. Problemas de Fundamentos de Computadores Tema 2 / pág. 5 Se pide: a) Obtenga una especificación del sistema en forma de tabla de verdad. b) Obtenga la implementación como suma de productos mínima. 20. Un sistema combinacional que controla una carrera de regatas tiene 4 entradas y 2 salidas. Las entradas indican las características del barco: B (1=extranjero; 0=nacional) E (1=eslora mayor de 8 metros; 0=eslora menor o igual a 8 metros) M (1=manga mayor de 5 metros; 0=manga menor o igual a 5 metros) S (1=equipamiento superior; 0=equipamiento convencional) Las dos salidas indican la categoría en la que participa el barco en función de sus características: C (1=clase I; 0=clase II) I (1=instrucciones de tipo A; 0=instrucciones de tipo B) Para organizar a los barcos se usan las siguientes condiciones: Los barcos de bandera extranjera y eslora mayor de 8 metros navegan en Clase II junto a los de bandera española. Los demás, en Clase I. Para los barcos pertenecientes a Clase II el conjunto de instrucciones depende del tipo de equipamiento: los barcos con equipamiento superior usan el conjunto de instrucciones A, mientras que los de equipamiento convencional usan el conjunto de instrucciones B. Todos los barcos de Clase I usan el conjunto de instrucciones B, salvo que tengan una manga mayor de 5 metros o equipamiento superior, en cuyo caso usan el conjunto de instrucciones A. Se pide: a) Obtenga una especificación del sistema en forma de tabla de verdad. b) Obtenga la implementación como suma de productos mínima. 21. Obtener las expresiones de conmutación que especifican un sistema para controlar la temperatura de una sala de computadores. El sistema tiene las siguientes entradas: Temperatura ºC T1 T0 V D Modo M de 5 a 14º 0 0 Verano 1 Día 1 Ahorro 1 de 15 a 24º 0 1 Invierno 0 noche 0 Normal 0 de 25 a 34º 1 1 de 35 a 44º 1 0 El sistema tiene dos salidas: Una enciende el aire acondicionado y otra enciende la calefacción. La salida Enfriar (E) sólo puede valer 1 en verano y la salida Calentar (C) sólo en invierno. El funcionamiento del sistema es el siguiente: Si está en modo ahorro de energía sólo enfría si T * 35º y sólo calienta si es de día y T < 15º. Si no está en modo ahorro de energía, el sistema debe garantizar que la temperatura se mantiene entre 5 y 34º por la noche y entre 15 y 24º por el día. Problemas de Fundamentos de Computadores Tema 2 / pág. 6 Problemas de examen: 22. (Febrero 2011) Considere las siguientes expresiones de conmutación: f x, y, z, w ∑ m 0,1,8,10,11 g x, y, z, w yz yz Obtenga la forma simplificada de f x, y, z, w AND g x, y, z, w . 23. (Junio 2012) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control (Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 11 01 Dec/IncsiX Dec/IncsiX Z La salida también está codificada en Gray de 3 bits. Se pide: a) Obtener la tabla de verdad. b) Obtener expresiones simplificadas de las salidas. Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) Ejercicios/FCproblemas1.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 1 / pág. 1 PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES TEMA 1 Problemas básicos: 1. Usando aritmética binaria, realice las siguientes operaciones (todos los operandos están expresados en decimal): 695 + 272 695 – 272 272 × 23 159 10 Compruebe que el resultado binario concuerda con el que se obtendría operando en decimal. 2. Realice los siguientes cambios de base: (10110110)2 a hexadecimal, a decimal y a octal (73)8 a hexadecimal, a decimal y a binario (137)10 a hexadecimal, a octal y a binario (AF3)16 a decimal, a octal y a binario 3. Exprese en octal y hexadecimal las siguientes secuencias de 16 bits: A = 0000 0110 0000 0111 B = 0000 0000 1101 0110 C = 1100 0001 1111 0011 D = 1001 0000 0000 1010 Calcule también el número que representan suponiendo que lo codifican en binario puro, en MyS, en C2 y en C1. 4. Dados los números A = (+36)10 y B = (+54)10 determine el número de bits mínimo para representar ambos en el convenio C2. Realice las operaciones A+B y A-B usando aritmética en C2. En cada caso indique razonadamente si se produce desbordamiento. Exprese el resultado de la operación A-B en hexadecimal de 8 bits. 5. Extienda a 16 bits las siguientes secuencias de 8 bits: A = 01110010 B = 11010110 C = 00001101 D = 11110101 suponiendo que representan números codificados en binario puro, MyS, C2 o C1. Exprese en hexadecimal el resultado de cada una de las extensiones. 6. Considere las siguientes secuencias de 8 bits: A = 01001001 B = 00010001 C = 10111101 D = 11110011 a) Suponiendo que codifican números en C2, represéntelos en MyS de 8 bits. b) Suponiendo que codifican números en MyS, represéntelos en C2 de 8 bits. 7. Exprese los siguientes números decimales en códigos BCD y EX-3 de 16 bits. A = 1486 B = 0 C = 349 D = 37 Problemas adicionales: 8. Halle el valor decimal de los siguientes secuencias de 8 bits: A = 11100111 B = 10111111 C = 00010110 D = 11111111 suponiendo que representan números codificados en binario puro, MyS, C2 o C1. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 1 / pág. 2 9. Considere las siguientes secuencias de 8 bits: A = 00101101 B = 00011011 C = 11101101 D = 11010000 c) Suponiendo que representan números codificados en C2, realice las operaciones: A– B, -C–D, -A–B+C indicando si se produce desbordamiento. Calcule también el valor decimal de los resultados d) Ídem, suponiendo que representan números codificados en MyS. 10. Calcule el número mínimo de bits necesarios para representar en binario puro, MyS, C2 y C1 cada uno de los números siguientes, así como su representación binaria en dichas codificaciones: A = -100 B = +240 C = +15 D = +16 E = -16 11. Usando aritmética en C2, primero, y en MyS, después, realice las siguientes operaciones: 10110111 – 10000111 00001000 + 11100001 Indique para cada caso si se produce desbordamiento. 12. Halle el valor decimal de las siguientes secuencias de 16 bits suponiendo que codifican números en BCD: A = 0000 0100 1000 0010 B = 1001 0101 0111 0000 Problemas de examen: 13. (Febrero 2011) Dados los siguientes números A = +35 (en decimal), B = -27 (en decimal), C = +22 (en octal) y D = +28 (en hexadecimal): a. Expréselos en representación en complemento a dos con 8 bits. b. Efectué las operaciones (A-B) y (-C-D) indicando si hay desbordamiento o acarreo y el por qué. c. Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 14. (Septiembre 2012) Dados los números A = (11101010)C2, B = (00111101)C2, C = -(523)8 y D = +(543)8 a. Determinar el valor de los números en decimal. b. Representar C y D en notación en complemento a 2 de 10 bits. c. Utilizando únicamente notación en complemento a 2 de 10 bits efectuar las operaciones (A-B) y (-C+D), indicando si hay desbordamiento o acarreo y el por qué. Ejercicios/FCproblemas5.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 1 PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES TEMA 5 Problemas básicos: 1. Especifique como máquina de Moore un sistema secuencial cuya salida z se comporta, en función del valor su entrada x, de la forma siguiente: Si x = ‘1’, entonces z sigue cíclicamente la siguiente secuencia de 4 valores: 0, 3, 7, 7. La salida pasa de un valor de la secuencia al siguiente cada vez que el sistema recibe un pulso de reloj. Si x = ‘0’, entonces la llegada de un pulso de reloj no altera el valor de la salida. Por tanto, z(t+1) = z(t). Obtenga una descripción binaria del sistema codificando las salidas en binario puro y exprese las funciones de transición de estados y salida en forma de sumas de productos mínimas. 2. Sea un sistema secuencial con una entrada binaria x, una salida binaria z y el siguiente comportamiento temporal: 1 3… "0111" 0 Especifique el sistema como máquina de Mealy, y exprese las funciones de transición de estados y salida en forma de sumas de productos mínimas. 3. Considere el diagrama de estados del sistema secuencial especificado como máquina de Mealy mostrado en la figura. Se pide: a) Obtener el diagrama de estados equivalente como máquina de Moore. b) Completar el cronograma. 4. Sea un sistema secuencial con una entrada x{a,b}, una salida z{s,n} y el siguiente comportamiento temporal: 3… 1 " " " " S0 S1 S2 b/n a/n a/n b/n a/mb/ninicial entrada clk estado a S0 salida s n b estado S0 salida s n m á q u in a d e M o o re m á q u in a d e M ea ly Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 2 Se pide: a) Completar el cronograma b) Expresar las funciones de transición de estados y salida en forma de sumas de productos mínimas. Problemas adicionales: 5. Un contador reversible módulo p, es un sistema secuencial capaz de contar en sentido ascendente o descendente, en función del valor de una entrada de control que denominamos "Sentido". Especifique un contador reversible módulo 6 tal que: Si Sentido = ‘0’, entonces cuente en sentido ascendente. Si Sentido = ‘1’, entonces cuente en sentido descendente. Exprese las funciones de transición de estados y salida en forma de sumas de productos mínimas. 6. Obtenga el diagrama de estados como máquina de Mealy de un sistema secuencial con una entrada x{a,b} y una salida z{m,n}, tal que z(t)=m, si y solo si la secuencia formada por x(t-2), x(t-1), x(t) comienza o termina con "aa". 7. Un sistema secuencial posee una entrada x{0,1,2} y una salida z{0,1}. La salida toma el valor ‘1’ si y sólo si la secuencia de entradas contiene un número impar de ceros y un número par de unos. Se pide: a) Especificar el sistema como una máquina de Mealy usando un diagrama de estados. b) Realizar una implementación del sistema con un registro de estado y una ROM. 8. Especifique como máquina de Mealy un sistema secuencial con una entrada x{a,b,c} y una salida z{0,1}, de forma que la salida toma el valor ‘1’ si por la entrada se reciben secuencialmente un número impar de ‘a’, una ‘c’ y un número par de ‘b’. La salida toma valor ‘0’ en cualquier otro caso. Por ejemplo, para la secuencia de entrada “aaacbbbbaccbb...”, la salida toma los valores “0000010100000...”. 9. Especifique como máquina de Mealy un sistema secuencial con una entrada binaria x y una salida binaria z. Inicialmente la salida vale ‘0’ y pasa a valer ‘1’ cuando el sistema detecta el tercer ‘0’ consecutivo en la entrada. Desde ese momento, la salida sigue valiendo ‘1’ hasta que se reciben por la entrada dos 1 consecutivos. Una vez recibido el par de ‘1’ el sistema vuelve a su estado inicial. x clk estado a S0 z s n b Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 3 10. Especifique como máquina de Mealy un sistema secuencial con una entrada binaria y una salida binaria, tal que la salida vale ‘1’ siempre que, tomando las entradas en bloques de 3 bits consecutivos, el sistema detecta el patrón “111” en uno de dichos bloques. Por ejemplo: x(t) = 011 111 101 110 111 111 011 z(t) = 000 001 000 000 001 001 000 11. El funcionamiento de un semáforo está regulado por un sistema secuencial cuyas entradas y salidas se muestran en la figura y tiene el comportamiento siguiente: Inicialmente el sistema se encuentra en el estado S0 y continúa en él mientras que no se detecte la presencia de un peatón dispuesto a cruzar la calle, es decir, mientras peatón valga ‘0’. La salida del sistema en el estado S0 es “100” (en correspondencia a las señales Verde, Ámbar y Rojo). Cuando la señal peatón vale ‘1’ el sistema pasa al estado S1. En el estado S1 la salida es “010”. Del estado S1 el sistema pasa al estado S3 si la señal de parpadeo vale ‘1’, en caso contrario el sistema pasa al estado S2. En el estado S3 la salida es “000”, e independientemente de los valores de las señales de entrada el sistema vuelve al estado S1. En S2 la salida del sistema es “001”. El sistema permanece en el estado S2 mientras que la señal peatón valga ‘1’. En caso contrario vuelve al estado inicial S0. Considerando la especificación anterior: a) Especifique el sistema anterior mediante su diagrama de estados. b) Obtenga expresiones de conmutación mínimas para las funciones de transición de estados y de salida. 12. Mi perro puede estar contento (C), tranquilo (T), nervioso (N) o asustado (A). Si está contento y le doy un hueso lo agradece moviendo el rabo (r). Cuando está tranquilo si le doy un hueso (h) se pone contento y lo indica moviendo el rabo; sin embargo si está nervioso o asustado se tranquiliza y ladra (l). Si le tocan (t) estando tranquilo o contento se pone nervioso y ladra, estando nervioso se asusta y ladra, pero si está asustado muerde (m). Modele el comportamiento del animal como una máquina de Mealy. 13. Realice el diagrama de estados como máquina de Moore del sistema de apertura de una puerta de garaje controlada por un mando a distancia. El sistema tiene 3 entradas binarias, M, S1 y S2. M vale ‘1’ cuando recibe la orden del mando, y ‘0’ en caso contrario. Las entradas S1 y S2 valen ‘1’ cuando la puerta está, respectivamente, completamente cerrada o completamente abierta y valen ‘0’ durante las operaciones de apertura o cierre. Controlador de un semáforo Peatón Parpadeo Verde Ámbar Rojo r h l h/t PERRO Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 4 El sistema tiene 2 salidas, F1 y F2. Si F1 vale ‘1’ el motor se pone en marcha, mientras que si vale ‘0’ se detiene. Si el motor está en marcha, lo hace en sentido apertura cuando F2 vale ‘1’ y en sentido contrario cuando F2 vale ‘0’. El sistema de apertura tiene el siguiente comportamiento: Cuando la puerta está cerrada y recibe una orden del mando, el motor se pone en marcha abriendo la puerta hasta que la entrada S2 indique que está totalmente abierta. Cuando la puerta está abierta y recibe una orden del mando, el motor se pone en marcha cerrando la puerta hasta que la entrada S1 indique que está totalmente abierta. Si durante la apertura o cierre de la puerta, y antes de que se haya completado la operación, se recibe una nueva orden del mando, ésta será ignorada. 14. En una estación de tren se va a instalar una máquina automática de venta de billetes con el siguiente modo de funcionamiento: Sólo existen dos tipos de billetes: sencillo e ida-y-vuelta, cuyos precios son respectivamente 1 y 2 euros. El usuario pulsa el botón correspondiente al tipo de billete que desea y, a continuación, aparece en un display la cantidad de monedas de 1 euro necesarias para su adquisición. Esta cantidad va disminuyendo a medida que el usuario introduce monedas de 1 euro. Cuando se completa el importe, la máquina emite el billete correspondiente. Una vez elegido el tipo de billete no se puede cambiar a otro. Si se introduce una moneda antes de seleccionar el tipo de billete, la máquina devuelve la moneda. El sistema que implementa este dispositivo tiene 1 entrada y 4 salidas. La entrada, X, vale “00” cuando no hay ningún botón pulsado ni se introduce moneda “01” cuando se introduce una moneda de 1 euro “10” cuando se pulsa el botón de billete sencillo “11” cuando se pulsa el botón de billete de ida-y-vuelta. Las salidas son las siguientes: IS – Imprime billete sencillo IV – Imprime billete ida-y-vuelta DM – Devuelve moneda de 1 euro P – Cantidad pendiente (codificada en binario) Se pide: a) Especificar el sistema como una máquina de Mealy. b) Especificar el sistema como una máquina de Moore. 15. Especifique un sistema secuencial que controle los intermitentes de un coche. El vehículo dispone de dos bombillas, una izquierda (BI) y otra derecha (BD), que lucen de forma intermitente cuando se activan. El sistema se controla a partir de una palanca con tres posiciones, izquierda (I), derecha (D) y centro (C) y la llave de encendido (LL). El intermitente de cada lado debe activarse cuando el usuario indique dicha dirección con la palanca, siempre y cuando se haya accionado la llave de encendido del vehículo. Además, el sistema incorporará un botón de emergencia (E), que hará que las luces de los lados izquierdo y derecho parpadeen de forma simultánea mientras esté pulsado. El sistema de emergencia funcionará incluso si se retira la llave de encendido. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 5 16. Obtener el diagrama de estados como máquina de Moore de un sistema secuencial que controla el funcionamiento de un coche teledirigido. El sistema tiene 2 entradas de 1 bit: izquierdo (I) y derecho (D) que valen ‘1’ cuando se presionan los correspondientes pulsadores del mando a distancia. El sistema tiene una salida, Z, de 2 bits para indicar al coche el tipo de movimiento que debe hacer: “00” parar “01” girar a la derecha “10” girar a la izquierda “11” avanzar recto. Si el coche está parado y se pulsa cualquier botón empieza a moverse: si se presiona I, va hacia la izquierda; si se presiona D, va a la derecha y si se presionan ambos pulsadores a la vez, avanza recto. Si el coche va en una dirección no cambia su movimiento cuando se presiona el pulsador correspondiente a esa dirección o no se presiona ningún pulsador. En cambio, cambia el movimiento en los siguientes casos: Si el coche va hacia la derecha y se pulsa I, el coche avanzará recto. Si el coche va hacia la izquierda y se pulsa D, el coche avanzará recto. Si el coche avanza recto y se pulsan I o D el coche girará hacia la izquierda o derecha respectivamente. El coche se parará independientemente de la dirección que llevara si apretamos I y D simultáneamente. Problemas de examen: 17. (Febrero 2012) El diagrama de estados de la figura representa un reconocedor de patrón. a) ¿Qué tipo de sistema secuencial es: Mealy o Moore? b) ¿Qué patrón reconoce? c) Complete el cronograma. 18. (Junio 2012) Sea el siguiente sistema secuencial: contrariocasoen abbóbba=t1,t2,tx )t(z 0 1 a) Dibuje su diagrama de estados. S0 S1 S2S3 a/0 b/0 b/0 a/0 b/0 a/1 a/0 b/0 inicial entrada clk estado b a S0 salida 1 0 Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 5 / pág. 6 b) Complete el siguiente cronograma: 19. (Septiembre 2012) Sea el siguiente sistema secuencial: contrariocasoen bbbóaaa=ttx tz 0 t1,2,1 )( a) Dibuje su diagrama de estados como máquina Mealy. b) Complete el siguiente cronograma: x clk estado a S0 z 1 0 b x clk estado a S0 z 1 0 b Ejercicios/FCproblemas4.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 1 FUNDAMENTOS DE COMPUTADORES TEMA 4 Problemas básicos: 1. Los computadores disponen de un circuito combinacional capaz de realizar las ope- raciones más elementales AND, OR, Suma Aritmética, etc. sobre dos configuraciones binarias de n bits. Dicho circuito se denomi- na Unidad Aritmético Lógica (UAL). Diseñe una UAL como la mostrada en la figura, capaz de realizar las siguientes funciones: A AND B, A OR B, C1 B, A+B (suma aritmética), desplazamiento de B un bit a la derecha, desplazamiento de B un bit a la izquierda. El diseño se realizará para n=4 bits. La función que en cada caso realiza la UAL se selec- ciona mediante las entradas de control s2, s1, s0. 2. Diseñe un multiplexor de 8 a 1 usando: a) 4 multiplexores de 2 a 1 y el mínimo número de puertas. b) 1 decodificador 3 a 8 y el menor número de puertas. 3. Considere la implementación en una ROM de un sumador de números naturales codificados en binario puro con 3 bits que codifica el resultado en BCD. Discuta razonadamente el tamaño mínimo de la ROM e indique el contenido de la ROM en las direcciones (3E)16 y (1D)16. 4. Usando un sumador y puertas lógicas diseñe un conversor de MyS a C2 de 8 bits. Ídem para un conversor de C2 a MyS. Usando un multiplexor vectorial 2 a 1 adicional haga que el tipo de conversión sea seleccionable por una entrada de control binaria. Problemas adicionales: 5. Para la construcción de un teclado de 24 teclas (T0, T1, ... T23) se dispone de codificadores de prioridad de 8 entradas. Diseñe el circuito de codificación del teclado usando dichos codificadores más las puertas lógicas que se consideren necesarias, teniendo en cuenta que el circuito funcionará de la siguiente forma: Si sólo se pulsa la tecla Ti, entonces la salida tomará el valor i. Si se pulsan simultáneamente varias teclas, entonces la salida tomará el valor correspondiente al mayor subíndice de las teclas pulsadas. 6. Implemente un sistema que tiene 6 entradas de datos (x5…x0), 2 entradas de control (s1,s0), 4 salidas de datos (z3...z0) y cuyo comportamiento viene descrito de la forma siguiente: (z3…z0) = (x5…x2) si (s1,s0) = (01) = (x3…x0) si (s1,s0) = (10) = (x4…x1) si (s1,s0) = (11) = (0000) si (s1,s0) = (00) n bits n bits n bits carry UAL s2 s1 s0 A B F(A,B) Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 2 7. Diseñe un conversor de código BCD a código Exceso-3 usando: a) Un codificador y un descodificador. b) Un descodificador y puertas OR. c) Multiplexores de 16 a 1. d) Multiplexores de 4 a 1 y puertas lógicas. e) Una ROM de tamaño mínimo. 8. Un sistema combinacional tiene una entrada X de 4 bits y una salida Z de 4 bits. Los datos, tanto a la entrada como a la salida, son números enteros codificados en C2. El sistema tiene otra entrada de control C que determina la función del sistema de acuerdo con la siguiente tabla: C Z 0 X+1 1 X+2 2 X-1 3 X-2 Diseñe el circuito que tenga la estructura mostrada en la figura y use únicamente un sumador binario de 4 bits, multiplexores e inversores. Se valorará que el número y tamaño de los multiplexores sea el menor posible. 9. Se desea implementar un conversor de números de 8 bits en binario puro a números en BCD mediante una memoria ROM: a) Determine el tamaño mínimo necesario de la memoria, y el esquema de implementación. Indicando claramente el significado de las líneas de direcciones y salida de la ROM. b) Obtenga el contenido de la ROM en las direcciones (41)10 y (2F)16 10. Dado el circuito de la figura, obtenga la especificación de Z en función de X. Justifique la respuesta. 11. Calcule el número de puertas AND, OR y NOT necesarias para diseñar implementaciones directas de un: a) Decodificador 3 a 8. b) Multiplexor 8 a 1. c) Codificador de prioridad 16 a 4. 12. Calcule el número de: a) Multiplexores 4 a 1 necesarios para implementar en árbol uno de 256 a 1. b) Multiplexores 2 a 1 necesarios para implementar en árbol uno de 16 a 1. 0 1 2 E 0 1x0 x 1 x 2 2 3 4 5 7 6 1 0 1 2 E z 0 z 1 z 2 0 1 2 3 4 5 7 6 1 0 1 2 E 0 1x0 x 0 x 1 x 1 x 2 x 2 2 3 4 5 7 6 1 0 1 2 E z 0 z 0 z 1 z 1 z 2 z 2 0 1 2 3 4 5 7 6 0 1 2 3 4 5 7 6 1 Z + X C Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 4 / pág. 3 c) Multiplexores 2 a 1 necesarios para implementar uno vectorial de 4 a 1 de 8b. d) Decodificadores 1 a 2 necesarios para implementar en árbol uno de 4 a 16. e) Decodificadores 2 a 4 necesarios para implementar en árbol uno de 8 a 256. 13. Diseñe una ROM de 210×16 bits (2 KiB) usando un decodificador 2 a 4 y el número de módulos ROM de 28×8 bits (256 B) que estime necesarios. 14. Diseñe 3 módulos combinacionales que calculen el máximo de 2 números de 8 bits considerando, en cada caso, que ambos números están codificados: a) En binario puro. b) En MyS. c) En C2. En todos ellos se utilizará un multiplexor vectorial 2 a 1, un restador binario y el menor número posible de puertas lógicas. 15. Diseñe un multiplicador combinacional de números binarios sin signo de 4 bits. El multiplicador tiene 2 entradas de 4 bits para los operandos y una salida de 8 bits para el resultado. Use únicamente puertas AND de 2 entradas para calcular los productos parciales y sumadores completos de 4 bits para sumar en cascada dichos productos. 16. Diseñe un conversor de códigos BCD y EX3 usando un sumador/restador de 4 bits, un multiplexor 2 a 1 y las puertas que estime necesarias. El conversor tendrá una entrada de datos de 4 bits, una señal de control para seleccionar si el dato a la entrada debe convertirse de BCD a EX3 o de EX3 a BCD, una salida de datos de 4 bits y una salida de error para indicar si el código que hay a la entrada no puede convertirse por ser inválido. Es decir, esta salida de error deberá activarse cuando habiendo seleccionado una conversión BCD a EX3, en la entrada de datos haya, por ejemplo, 1011 (dado que no es un código BCD válido), sin embargo no deberá hacerlo si la conversión EX3 a BCD ha sido seleccionada (dado que representa a un 8 en EX3). 17. Diseñe un módulo combinacional que ordene 3 números enteros codificados en binario puro con 8 bits. El modulo tendrá 3 entradas de 8 bits para los operandos y 3 salidas de 8 bits para los resultados (por una de ellas siempre saldrá el mayor de los tres operandos, por otra siempre el intermedio y por la última siempre el menor). Utilice el menor número posible de comparadores de magnitud, multiplexores vectoriales 2 a 1 de 8 bits y puertas lógicas. 18. Calcule el coste, el retardo de propagación (máximo) y el retardo contaminación (mínimo) de un sumador binario de 4 bits utilizando los datos de la biblioteca de celdas presentada en teoría. Ídem para un sumador de 8 bits. Obtenga expresiones genéricas de coste y retardo para un sumador de n bits. Ejercicios/FCproblemas6.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 1 PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES TEMA 6 Problemas básicos: 1. Los dispositivos USB transmiten los datos en serie utilizando un formato denominado non-return-to-zero inverted (NRZI). Se desea diseñar un circuito secuencial con una entrada, x, y una salida, z, ambas de 1 bit, que convierta una secuencia binaria en una secuencia equivalente en formato NRZI. Lo hará de la siguiente manera: Si x vale ‘1’, la salida conservará su valor anterior. Si x vale ‘0’, la salida cambiará de polaridad, es decir, si valía ‘1’ pasará a ‘0’ y si valía ‘0’ pasará a ‘1’. Por ejemplo, asumiendo que el valor inicial de la salida es ‘1’, la secuencia de entrada “10001110011010...” deberá transformarse en la secuencia “10100001000110...” Se pide: a) Especificar el sistema como máquina de Mealy. b) Implementar el conversor usando biestables D y puertas lógicas. c) Encontrar una implementación equivalente como máquina de Moore. 2. Un sistema secuencial síncrono tiene una entrada, x, y una salida, z, ambas de 1 bit. Inicialmente la salida vale ‘0’ y no pasa a valer ‘1’ hasta que no recibe tres ‘0’ consecutivos. Desde ese momento, la salida vale 1 durante dos ciclos de reloj con independencia del valor que tome la entrada. Después vuelve al estado inicial. Implemente el sistema como máquina de Moore usando el menor número de puertas y biestables D. Calcule el coste y la frecuencia de reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 3. Implemente un sistema secuencial que realice el complemento a 2 de números de longitud variable recibidos en serie y en orden creciente de pesos (primero el bit menos significativo). El sistema tiene una entrada de datos, x, una salida de datos, z, y una entrada de control, inicio, que se pone a 1 para indicar el comienzo y el final del número a complementar. El comportamiento esperado es el siguiente: t 0 1 2 3 4 5 6 7 8 9 10 11 12 inicio(t) 1 1 0 0 0 0 0 1 0 0 0 0 1 x(t) - - 0 0 1 0 1 - 0 1 1 1 - z(t) 0 0 0 0 1 1 0 0 0 1 0 0 0 4. Usando el menor número de puertas lógicas y series de biestables D encadenados, diseñe como máquina de Mealy un reconocedor de secuencias que responda a las siguientes especificaciones: Tiene una entrada, x de 3 bits, por la que en cada ciclo de reloj llega un dígito decimal del conjunto {0,1,...,7} codificado en binario. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 2 La salida binaria, z de 1 bit, toma el valor ‘1’ si y solo si los últimos 4 dígitos recibidos forman la secuencia (0,3,4,7). Problemas adicionales: 5. Un circuito secuencial con dos biestables D, dos entradas, x e y, y una salida, z, está definido por las siguientes ecuaciones lógicas: ⋅ ⋅ ̅ ⋅ ⋅ ̅ ⋅ Se pide: a. Dibuje el circuito. b. Obtenga la tabla de transición de estados. c. Dibuje el diagrama de estados que lo define. d. Convierta el diagrama Mealy a un diagrama Moore equivalente. Obtenga la tabla de transición de estados y el circuito resultante. 6. Diseñe un circuito secuencial síncrono que genere la secuencia “00000001” cada vez que su entrada, x, valga ‘1’. Una vez que la secuencia comienza, debe completarse con independencia del valor que tome la entrada. Si la entrada vale 0, la salida debe mantenerse constantemente a ‘1’. Se pide: a. Especificar el sistema como máquina de Moore. b. Diseñe el circuito utilizando biestables D y puertas lógicas. No olvide distribuir adecuadamente la señal de reset para que el circuito se inicialice al estado inicial (en donde lee el valor de la entrada para determinar si debe comenzar a generar la secuencia o debe mantener a ‘1’ la salida). 7. Usando el menor número de puertas lógicas y series de biestables D encadenados, diseñe un circuito con una entrada de 4 bits, x, por la que en cada ciclo de reloj recibe un dígito BCD y una salida, z, que puede tomar, codificados en binario, los siguientes valores: 0 si {x(t-2), x(t-1), x(t)} forman un número múltiplo de 5. 1 si {x(t-2), x(t-1), x(t)} forman un número mayor o igual que 400. 2 si se cumplen las dos anteriores condiciones a la vez. 3 en cualquier otro caso. Para el diseño se utilizarán biestables y puertas lógicas. Calcule el coste y la frecuencia de reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 8. Se desea diseñar un sistema secuencial síncrono con una entrada x{Norte, Sur, Este, Oeste} y una salida z{0,1}. La salida z(t) tomará el valor ‘1’ si: { x(t-2), x(t-1), x(t) } = { Norte, Este, Este } o { Sur, Este, Este } En todos los demás casos el valor de z(t) será ‘0’. Se pide: a) Construir el diagrama de estados del sistema en la forma de una máquina Mealy. Explique el significado de cada estado. b) Implemente el sistema con el menor número posible de biestables D y puertas lógicas. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 3 9. Implemente un sistema secuencial que realice la suma de 2 de números de longitud variable recibidos en serie y en orden creciente de pesos (primero el bit menos significativo). El sistema tiene dos entradas de datos, x e y, una salida de datos, z, y una entrada de control, inicio, que se pone a ‘1’ para indicar el comienzo y el final de los números sumar. El comportamiento esperado es el siguiente: t 0 1 2 3 4 5 6 7 8 9 10 11 12 inicio(t) 1 1 0 0 0 0 0 1 0 0 0 0 1 x(t) - - 0 0 1 0 1 - 0 1 1 1 - y(t) - - 0 1 1 0 1 - 0 1 1 1 - z(t) 0 0 0 1 0 1 0 1 0 0 1 1 1 10. Diseñe un comparador para números de números binarios de n bits sin signo, A y B, según el esquema mostrado en la figura. Los números llegan en serie por las entradas x e y, comenzando por el bit menos significativo. El circuito es capaz de analizar diversas relaciones de comparación entre A y B, mediante las entradas de control (a, b, c) de acuerdo con la tabla. La salida, z, toma el valor ‘1’ si la relación es cierta y ‘0’ en otro caso. Use puertas y biestables D. Calcule el coste y la frecuencia de reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 11. Un sistema secuencial tiene una entrada, x, de 2 bits y dos salidas, z y m. La salida z vale ‘1’ cuando el valor actual de la entrada es igual al valor anterior de la misma. Cuando el valor actual y anterior de x no coinciden, la salida m vale ‘1’ si el valor actual de la entrada es mayor que el anterior. En el resto de casos z y m valen ‘0’. Implemente el sistema como máquina de Mealy usando el menor número de biestables D y puertas lógicas. Ídem como máquina de Moore. Calcule en cada caso el coste y la frecuencia de reloj máxima a la que podría funcionar el circuito utilizando los datos de la biblioteca de celdas presentada en teoría. 12. Se desea diseñar el sistema de control de una escalera mecánica bidireccional que puede estar parada, subiendo o bajando. El sistema tiene 2 entradas conectadas a dos sensores de presión, P1 y P2, situados en las posiciones mostradas en la figura. Cuando se activa un sensor, la escalera empieza a moverse en sentido al otro sensor y no para hasta que dicho sensor se active. No se considera la situación de que se activen simultáneamente ambos sensores ya que cuando se activa uno, se desactiva automáticamente y no vuelve a activarse hasta que se ha activado el contrario y viceversa. x y Ck a b cClear z abc relación analizada 000 001 010 011 100 101 A=B A#B A>B A>=B A<B A<=B Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 4 El sistema tiene 2 salidas: encendido, E, (si E vale ‘1’ la escalera se mueve) y sentido, S, (si S vale ‘1’ la escalera sube y si vale ‘0’ la escalera baja). Diseñe el sistema como máquina de Moore usando el menor número de biestables D y puertas lógicas. 13. Diseñe como máquina de Moore un sistema capaz de detectar los flancos de una señal digital que transmite a baja velocidad datos en serie (es decir, el tiempo transcurrido entre dos cambios sucesivos de polaridad es bastante superior al periodo del reloj del sistema). El sistema tendrá una entrada, x, y dos salidas, up y down. La salida up valdrá 1 durante un ciclo de reloj cada vez que detecte una transición de 0 a 1 en la entrada. La salida down valdrá 1 durante un ciclo de reloj cada vez que detecte una transición de 1 a 0 en la entrada. 14. Despreciando los retardos, complete el cronograma mostrado en la figura para un latch D (biestable D síncrono por nivel en alta) y un flip-flop D (biestable D síncrono por flanco de subida). Suponga que el valor inicial de la salida de ambos biestables es ‘0’. 15. Usando un biestable D disparado por flanco y las puertas necesarias, implemente un biestable T cuyo comportamiento coincida con el de la tabla siguiente: T(t) Q(t+1) 0 Q(t) 1 Q(t) 16. Usando un biestable D disparado por flanco y las puertas necesarias, implemente un biestable JK cuyo comportamiento coincida con el de la tabla siguiente: J(t) K(t) Q(t+1) 0 0 Q(t) 0 1 0 1 0 1 1 1 Q(t) Problemas de examen: 17. (Junio 2012) Se desea diseñar un sistema que permita fotografiar las matrículas de aquellos coches que circulen con exceso de velocidad por una carretera. El sistema tendrá 2 entradas (A y B) conectadas a sensores de presión ubicados debajo del pavimento y una salida (F) conectada al disparador de una cámara. En ausencia de D Q QG D Q Q D clk / G QA QB B A Proble c c n a U tr c S a b 18. (F fu e S c e S emas de Fund coches las en correspondie nunca ambas alternando (e Un coche ir ranscurren d caso deberá Se pide: a) Especific b) Impleme Febrero 201 fuentes (llam encienden de Si el va encendi encendi Si el val Siempre que correspondie están apagad Se pide: a) Espe b) Indic estad c) Impl mínim damentos de C ntradas vald ente entrada s entradas v es decir, tras rá a más v desde la act ser fotograf car el sistem entarlo utiliz 13) Se quier madas a, b, epende de u alor de S e das; c y d das; a y b: a lor de S es ‘ e cambia el ente. El sist das y desde ecificar el sis car las tablas dos del sistem ementar el mo. Computadores drán ‘0’ y ca a se activará valdrán simu s un pulso e velocidad de tivación de fiado (véase ma como má zando 2 bies re diseñar el c y d) que h una señal de es ‘1’, la se d: apagadas apagadas)... 0’, la secuen l valor de tema tiene a el que salta stema media s de verdad ma. sistema me (versión 7-10 ada vez que á (valdrá ‘1’ ultáneament en A vendrá e la permit A hasta la la figura). áquina de M stables D y e l sistema qu hay en un p control S. ecuencia es s), (b y c: ncia es: ad, S, se empie además un a la corresp ante un diag que especif ediante biest 0-14) e un coche p ’ durante un te ‘1’ y que siempre un tida si el n activación Mealy. el menor nú ue controla e parque. La s : ab, bc, cd encendidas bc, ad, bc… eza por el estado inic pondiente se grama de est fican las fun tables D y u pase por enc n ciclo de re e los pulsos pulso en B número de de B es me úmero de pu el encendido ecuencia en d, ab, bc… s; a y d: … primer esta ial en el qu ecuencia seg tados como nciones de sa una memor Tema cima de un s eloj). Supón en A y en B y viceversa ciclos de r enor que 3, uertas lógica o y apagado n la que se a … Es decir apagadas), ado de la s ue todas las gún el valor máquina de alida y trans ria ROM de a 6 / pág. 5 sensor la gase que B se irán a). reloj que en cuyo as. o de las 4 apagan y r (a y b: (c y d: ecuencia s fuentes de S. e Moore. sición de e tamaño Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 6 19. (Junio 2013) Se quiere diseñar un circuito digital que controle el funcionamiento de una máquina expendedora de caramelos. Dicho controlador recibe una señal de entrada S procedente de un sensor que toma el valor (00)2 mientras no se introduzca ninguna moneda en la máquina, o la moneda introducida no sea de 5 o 10 céntimos. Cuando se introduce una moneda de 5 o 10 céntimos la señal S toma los valores (01)2 y (10)2 respectivamente. Para expender un caramelo el controlador deberá activar la señal de salida z. La máquina se comporta de la siguiente manera: Cada caramelo cuesta 15 céntimos. El cliente puede ir introduciendo monedas en el orden que quiera. Cuando el saldo introducido alcanza o supera los 15 céntimos la máquina expende un caramelo, quedando almacenado el saldo restante por si el cliente quiere comprar otro caramelo. Por ejemplo, si un cliente introduce dos monedas de 10 céntimos seguidas, al introducir la segunda moneda la máquina expende un caramelo y deja almacenados los 5 céntimos sobrantes por si el cliente quiere seguir comprando. El cliente puede pulsar en cualquier momento un botón de reinicio, la máquina le devolverá entonces el saldo actual y quedará a la espera de que algún nuevo cliente comience a usar la máquina. Se pide: a) Especificar el sistema mediante un diagrama de estados como máquina de Moore. b) Indicar las tablas de verdad que especifican las funciones de salida y transición de estados del sistema. c) Implementar el sistema mediante biestables D y una memoria ROM de tamaño mínimo. 20. (Septiembre 2013) Se quiere diseñar un circuito digital para arbitrar el acceso de tres dispositivos a un bus, con el interfaz indicado en la figura. El árbitro recibirá una señal de petición por cada canal, X = (x2, x1, x0): si xi vale ‘1’ hay petición por el canal i, si vale ‘0’ no la hay. El canal 0 es más prioritario que el 1, que a su vez es más prioritario que el 2. El árbitro concederá el bus activando la correspondiente señal de grant: G = (g2, g1, g0): si gi vale ’1’ se concede el uso del bus al dispositivo conectado al canal i, si vale ‘0’ el dispositivo no puede hacer uso del bus. El comportamiento del árbitro debe ser el siguiente: Mientras no haya petición por ninguno de los canales el árbitro permanece Inactivo, dejando las tres señales de grant a ‘0’. Si estando Inactivo se recibe petición por alguno de los canales (puede haber varias peticiones simultáneas), el árbitro debe conceder el uso del bus al canal más prioritario, activando su señal de grant. Una vez concedido el bus a un dispositivo, la señal de grant correspondiente debe permanecer activa hasta que el dispositivo que está siendo atendido desactive la petición (incluso si otro dispositivo más prioritario solicita el uso del bus). Por ejemplo, si se ha concedido el bus al dispositivo del canal 1, la señal g1 debe permanecer activa hasta que x1 se ponga a ‘0’. Cuando el dispositivo desactiva la petición el árbitro pasará a estado Inactivo para iniciar un nuevo ciclo de bus. Se pide: a) Especificar el sistema mediante un diagrama de estados como máquina de Moore. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 6 / pág. 7 b) Indicar las tablas de verdad que especifican las funciones de salida y transición de estados del sistema. c) Implementar el sistema usando biestables D y puertas. 21. (Febrero 2014) Se desea diseñar un sistema secuencial para controlar la velocidad de circulación en un túnel por el que únicamente pueden circular coches y camiones (ambos vehículos de dos ejes). Para ello se instala un sensor de presión que ofrece tres lecturas: eje de coche detectado, eje de camión detectado y eje no detectado. Para comprobar si un vehículo circula a la velocidad permitida el sistema mide los ciclos de reloj que transcurren entre la detección del eje delantero y el trasero aplicando las siguientes reglas: En caso de que se haya detectado el eje delantero de un coche, deberá transcurrir al menos 1 ciclo de reloj hasta la detección del trasero. En caso de detección de eje delantero de un camión, deberán transcurrir al menos 2 ciclos de reloj hasta la detección del eje trasero. En caso de que no se cumplan los márgenes de tiempo el sistema activará una señal de salida multa (M) y volverá al estado inicial. En caso de que la detección del eje trasero no corresponda al mismo tipo de vehículo que el delantero activará una señal de error (E) y volverá al estado inicial. La figura muestra un ejemplo del comportamiento esperado. Se pide: a) Especifique el sistema mediante un diagrama de estados como máquina de Mealy, definiendo las entradas, salidas y estados. b) Implemente el sistema utilizando biestables D y una memoria ROM. clk sensor M 1 0 no eje eje coche no eje no eje no eje no eje eje coche eje coche eje coche detectado eje delantero coche 1 detectado eje trasero coche 1 detectado eje delantero coche 2 detectado eje trasero coche 2 ha transcurrido 1 ciclo: no hay multa no ha transcurrido 1 ciclo: hay multa Ejercicios/FCproblemas7.pdf Facultad de Informática Universidad Complutense de Madrid Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 1 PROBLEMAS DE FUNDAMENTOS DE COMPUTADORES TEMA 7 Problemas básicos: 1. Utilizando un contador con carga paralela módulo 8 y el menor número de puertas lógicas, diseñe un dado electrónico cuyo diagrama de bloques se muestra en la figura siguiente: El sistema tiene una entrada, J, conectada a un pulsador. Cuando esta entrada vale ‘1’, el contador sigue cíclicamente una secuencia de 6 valores distintos cada uno codificando una cara diferente del dado; cuando vale ‘0’, el contador se detiene. La salida del contador está conectada a un conversor que, para cada valor de la secuencia, enciende los leds que correspondan según la cara del dado representada. Para evitar que el usuario pueda averiguar cuál es el valor que está marcando el dado mientras mantiene presionado el pulsador, la frecuencia de la señal de reloj debe ser lo suficientemente alta (por ejemplo, 1 KHz). Así, como el valor final del dado está determinado por el tiempo que la entrada permanece a ‘1’ y este no puede ser controlado con exactitud por un humano, se consigue la deseada sensación de aleatoriedad. 2. Complete un cronograma, como el mostrado en la figura, para cada uno de los diseños basados en contadores mostrados en la misma. 3. Utilizando un contador con carga en paralelo y el mínimo número de puertas lógicas, implemente un sistema secuencial cuya salida repita la secuencia: 0, 1, 4, 4, 7, 7. 4. Utilizando un contador con carga en paralelo y el menor número de puertas lógicas, implemente un sistema secuencial con una entrada binaria que se comporte de acuerdo con el diagrama de la figura siguiente: S clk ld cl 1 0 1 0 5 6 4 CONT MOD 16 ld cl 0 4 3 0 4 CONT MOD 16 ld cl 0 4 3 1 conversor de código contadorJ 3 7 0 1 4 5 6 0 7 2 3 1 0 1 Proble 5. U p v 1 6. D e re 7. D ti s S emas de Fund Usando pue paralela cone vale 1 duran 1 KHz. Diseñar un r en paralelo, E ealizar segú Diseñe un si iene las 2 e iguientes es En el est inicial si ‘1’, mom Durante dependie del valor siempre Durante En el seg mueven Durante del aclar Durante Se pide: a) Esp Mo b) Dis damentos de C rtas lógicas ectados a un nte un ciclo d registro de d E1 y E2. El ún la siguien stema secue entradas y specificacion tado inicial, iempre que mento en com su funcion endo del va r de la tecl al estado ini el lavado en gundo ciclo las aspas. el aclarado ado. el secado se pecifique el oore. señe el sistem Computadores s y contado n reloj de 60 de cada 60). desplazamie l registro ten nte tabla: S 000 00 010 01 100 10 110 11 encial que c 5 salidas m nes: todas las sa la tecla on/ mienza desd namiento, e lor de la te a ciclo rápi icial. ntra agua du o se abre el entra agua e activa la sa sistema m ma usando u (versión 7-10 ores módulo 0 Hz, diseñ . Ídem para ento bidirec ndrá una en Q(t+ 0 Q(t 1 Q(t) 0 Q(t) 1 C1( Q 0 E1( 1 E2( 0 Q(t) and 1 not Q ontrole el fu mostradas en alidas valen /off vale ‘0’ de el princip el aparato p cla ciclo rá ido) y seca urante el pr cajetín del el primer c alida secar. mediante un un contador 0-14) o 16 con c ñe un tempor el caso de q ccional de 3 ntrada de con +1) t) × 2 2 Q(t) ) (t) (t) d E2(t) Q(t) uncionamien n la figura ‘0’. Desde , y allí se p pio el ciclo d pasa por 3 ápido), aclar ado (1 ciclo imer ciclo, detergente. ciclo. Se mu n diagrama r y el mínim apacitación rizador de 1 que la frecue bits con do ntrol, S, que nto de un la y debe com cualquier es ermanece h de lavado. etapas: lav rado (1 ó 2 ). Después y durante el Todos los ueven las as de estados mo número d Tema n de cuenta 1 segundo ( encia de rel os entradas e indica la f avaplatos. El mportarse s stado se va a hasta que on vado (2 ó ciclos depe del secado l mismo se ciclos del la spas todos lo como máq de puertas po a 7 / pág. 2 y carga su salida oj sea de de datos función a l sistema egún las al estado n/off vale 4 ciclos endiendo o se pasa calienta. avado se os ciclos quina de osible. Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 3 Problemas adicionales: 8. Utilizando como bloque básico un contador con carga paralela módulo 16, implemente un contador ascendente programable módulo m (siendo 1 < m < 16). El sistema tendrá una entrada de capacitación de cuenta, una entrada de 4 bits por la que se indicará el valor máximo alcanzable en la cuenta y una salida de saturación que tomará el valor ‘1’ cuando el contador alcance dicho valor máximo y adicionalmente su entrada de capacitación valga ‘1’. 9. Diseñe un cronómetro digital que visualiza sobre 5 displays 7-segmentos los minutos, segundos y décimas de segundo transcurridos. El cronómetro tiene una entrada asíncrona, reset, para puesta a cero y una entrada, stop, que cuando toma el valor ‘0’ detiene la cuenta y cuando vale ‘1’ la reanuda. En su diseño use contadores como los desarrollados en el ejercicio anterior y conversores de BCD a 7-segmentos. Suponga que la frecuencia del reloj del sistema es de 100 Hz. 10. Se desea implementar un sistema secuencial que controle un rótulo luminoso formado por 8 leds. El sistema tendrá una señal de control C. Si C vale ‘0’, los 4 leds permanecerán apagados. Si C vale ‘1’, el sistema hará que los leds se iluminen siguiendo cíclicamente la secuencia mostrada en la figura, al ritmo fijado por la frecuencia del reloj del sistema. Se pide: a) Implemente el sistema usando un contador y una ROM 16×8. b) Amplíe el sistema para que los leds puedan iluminarse siguiendo 4 secuencias distintas, seleccionables a través de una entrada de 2 bits. c) Amplíe el sistema para que el usuario, a través de un entrada de 2 bits, pueda seleccionar la velocidad a la que se sigue la secuencia (normal, ×2, ×4 y ×8). 11. La luminosidad de un led puede regularse digitalmente mediante la técnica conocida como led dimming. Dado que la intensidad suministrada por la salida de un sistema digital es fija para encender un led y nula para apagarlo, esta técnica consiste modificar al porcentaje de tiempo durante el que sistema digital suministra intensidad al led cuando éste debe estar encendido. Así, el sistema digital en lugar de enviar una señal constante para encender el led (que daría lugar a un encendido de máxima luminosidad) envía una señal periódica de anchura de pulso variable cuyo factor de trabajo (el tiempo que está a ‘1’) determina la luminosidad del led. Diseñe un circuito con una señal de carga paralela, una entrada para el valor de luminosidad (0-100) codificado en binario y una salida por la que generar la señal que regula la luminosidad de un led. Para diseñar el circuito t t+1 t+2 t+8 t+9 t+10 ... t+13 t+14 t+15 ... control de luces C leds 8 Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 4 utilícese un contador, un registro y un comparador. La frecuencia de reloj es de 100 Hz (frecuencias inferiores hacen que el ojo humano detecte el parpadeo). 12. Diseñe un circuito secuencial que elimine los rebotes de un pulsador. El circuito funcionará a 1 MHz, tendrá una entrada, x, por la que entra la señal con rebotes y una salida, z, por la que sale la señal filtrada. Su comportamiento, que se muestra en la figura, será el siguiente: En reposo, mientras la entrada valga ‘1’ (es decir, mientras el pulsador no se presione), la salida debe valer ‘1’. Tras la detección del primer flanco de bajada (provocado por la presión del pulsador), la salida debe permanecer estable a ‘0’ durante 100 ms con independencia de los valores que tome la entrada durante ese intervalo. Transcurridos los 100 ms y mientras que la entrada valga ‘0’ (es decir, mientras se mantenga el pulsador presionado), la salida debe valer ‘0’. Tras la detección del primer flanco de subida (provocado por la depresión del pulsador), la salida debe permanecer estable a ‘1’ durante 100 ms con independencia de los valores que tome la entrada durante ese intervalo. Transcurridos los 100 ms, el sistema volverá al estado de reposo. Para medir un intervalo de 100 ms utilícese un temporizador formado por un contador y un comparador. El sistema constará de una máquina de estados que convenientemente lea la entrada, escriba la salida, arranque el temporizador y espere su finalización. 13. Se desea ampliar la funcionalidad de un banco de 4 registros de 8 bits añadiéndole una función de copia. Para ello, dispondrá de una entrada de control adicional, copy. Cuando vale ‘0’ el banco de registros debe comportarse normalmente y cuando vale ‘1’ (y we también vale ‘1’) debe copiar el contenido del registro indicado por ra en el registro indicado por rw ignorando el valor presente en di. 14. Un watchdog es un temporizador que se utiliza para la detección y recuperación de posibles errores de funcionamiento en un computador. Durante un funcionamiento normal, el computador reinicia regularmente el watchdog para evitar que este consuma su tiempo. Si el watchdog alcanza el time-out, activa una señal que dispara una acción correctiva (típicamente el reinicio del computador). Diseñe un watchdog con time-out REG FILE di do 8 8 we clk ra 2 wa 2 copy < 100 ms x < 100 ms z Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 5 seleccionable (1s, 500ms, 250ms, 125ms) a través de una entrada de 2 bits. Además el sistema tendrá una entrada para reiniciar la cuenta y una salida que se activará al alcanzar el time-out. El sistema funcionará a 50 KHz y se diseñará usando un contador, un comparador y un multiplexor 4 a 1. 15. Diseñe el sistema para controlar la apertura y cierre de una caja fuerte mostrado en la figura. Las entradas, code y newCode, están conectadas a un teclado, la salida trials a un display y la salida lock al motor del cerrojo. El sistema debe comportarse según las siguientes especificaciones: El cerrojo permanece abierto mientras lock vale ‘0’ y cerrado en caso contrario. Inicialmente la caja fuerte debe estar abierta. Cada vez que el usuario teclee una clave de 4 dígitos, el teclado pondrá en code un código de 16 bits (codificando en BCD las 4 teclas pulsadas) y pondrá la señal newCode a ‘1’ durante un único ciclo de reloj para que el sistema lea en paralelo la clave introducida. El primer código enviado hará que el sistema almacene la clave y cierre el cerrojo. Los sucesivos códigos permitirán abrir el cerrojo siempre y cuando la clave leída coincida con la clave almacenada. Se tendrán un máximo de 3 intentos para acertar la clave almacenada. Tras fallar los 3 intentos el cerrojo quedará indefinidamente cerrado. El sistema indicará a través de trials el número de intentos restantes hasta el bloqueo del cerrojo. Para diseñar el sistema utilícese un registro de 16 bits, un comparador de igualdad de 16 bits y una máquina de estados. 16. Una UART (Universal Asynchronous Receiver-Transmitter) es uno de los dispositivos de E/S serie más comunes. Consta de un transmisor que serializa los datos paralelos que se quieren enviar, un receptor que paraleliza los datos serie que se reciben y un controlador que comunica ambos elementos con el computador. Se desea diseñar el circuito que efectúa la transmisión serie asíncrona de datos de 8 bits. El circuito tiene las entradas y salidas mostradas en la figura y debe comportarse según las siguientes especificaciones: En inactividad, la señal Tx debe valer ‘1’. Los datos se transmitirán en una trama de 11 bits que comenzará con un bit de start a ‘0’, los 8 bits de datos comenzando por el bit menos significativo, un bit de paridad impar (el patrón formado por este bit y los 8 bits de datos debe tener siempre un número impar de ‘1’) y un bit de stop a ‘1’. El sistema, cada vez que detecte que la señal start vale ‘1’, cargará de data el dato a transmitir y comenzará a transmitirlo en serie. La señal ready debe valer ‘0’ mientras que se esté transmitiendo el dato y ‘1’ en caso contrario La frecuencia de reloj es de 5 MHz y los datos deberán transmitirse a 9600 baudios (bits/segundo). Para diseñar el circuito utilícese un registro de desplazamiento de 11 bits (para la conversión paralelo-serie de los datos), un contador 0-11 (para la cuenta controlador de caja fuerte newCode lock trials 2 code 16 Problemas de Fundamentos de Computadores (versión 7-10-14) Tema 7 / pág. 6 del número de bits desplazados), un contador del tamaño que considere oportuno (para la cuenta del número de ciclos que deben transcurrir entre un desplazamiento y otro calculados como el cociente entre la frecuencia de reloj y la velocidad de transmisión) y las puertas lógicas que estime necesarias. 17. Un buffer LIFO (last in, first out) es un almacén de datos no accesibles por dirección sino legibles en orden inverso al orden en que se escribieron (es decir, el primer dato que se puede leer es siempre el último que se ha escrito). Usando un contador ascendente/descendente, 2 RAM 256×8 bits y otros componentes que estime necesarios, diseñe una LIFO capaz de almacenar un máximo de 256 datos de 16 bits. El sistema tendrá una entrada/salida de datos, d, de 16 bits, 3 señales de control, ce, we y oe, para capacitar el módulo, la escritura y la lectura respectivamente y 2 señales de estado, full y empty, para indicar cuándo la LIFO está llena y cuándo está vacía. 18. Usando un sumador/restador y un registro, diseñe un acumulador genérico que opere con números enteros con signo codificados en C2 con n bits. El sistema acepta un operando, y lo suma/resta al resultado calculado en con anterioridad. El sistema tiene un puerto de datos de entrada, x, un puerto de datos de salida, z, dos entradas de control, ld y op, y una salida de estado, ov. Si ld vale ‘1’, el dato en la entrada x debe acumularse; si vale ‘0’, no. Si la entrada op vale ‘0’, el dato debe sumarse; si vale ‘1’, restarse. La salida ov debe activarse cuando el resultado no sea representable en C2 con n bits. 19. Usando multiplicadores, sumadores, multiplexores y registros, diseñe 3 rutas de datos sin controlador tal que cada una pueda realizar una de las siguientes expresiones, donde x, a y b son puertos de entrada de n bits y z es un puerto de salida de n bits: a) z ∑ a ∙ x ≡ 1 a ∙ x b) z ∑ a ∙ x b ≡ 1 a ∙ x b c) z ∑ x x b ≡ 1 x x b Rediseñe las rutas de datos b) y c) de modo que utilicen un único sumador. Discuta por qué estos diseños con solo un sumador requieren tener controlador y no pueden aceptar datos nuevos y generar resultados en todos los ciclos. 20. Diseñar un circuito secuencial capaz de calcular iterativamente el elemento i-ésimo de la serie de Fibonacci. El circuito tendrá una entrada, i de 5 bits, para indicar el elemento de la serie; una entrada, inicio, para indicar el comienzo del cálculo; una salida, fin, para indicar el fin del cálculo y una salida z de 20 bits, para indicar el valor del elemento de la serie indicado. La serie de Fibonacci se define recursivamente de la siguiente manera: fib(0)=0, fib(1)=1, fib(i)=fib(i-1) + fib(i-2). El sistema deberá diseñarse usando circuito realizará el cálculo iterativamente. Tendrá 1 sumador de 20 bits, 2 registros para almacenar los 2 últimos elementos de la serie y un contador que llevará la cuenta del índice. transmisor serie start ready data 8 Tx LIFO d 16 empty we full oe ce Proble 21. D c E p s fi Prob 22. (F q d p tr E d tr fu S in emas de Fund Diseñar un s codificados e begin Div Div Co wh end C : R : end; El sistema te para indicar alidas, c y figura y utili blemas de Febrero 201 que dispone diseñar un si permita que ramo superi El sistema ti durante un c rayectos cir función del v Cuando Cuando Cuando Cuando Suponiendo ndicados en a) Espe damentos de C sistema secu en binario u videndo := D visor := Dvs ociente := 0; hile Dividen Dividendo Cociente d while; := Cociente := Dividend endrá dos en el comienzo r de 8 bits, izará 2 regis e examen: 12) Sea un t de un senso istema que, el tren rea ior, dos vuel ene como e ciclo de rel culares supe valor en las C1=’0’ y C C1=’1’ y C C1=’0’ y C C1=’1’ y C que el tre n la figura, s ecificar el sis Computadores uencial que utilizando el Dvnd; sr; ndo >= Divis o := Dividen := Cociente ; do; ntradas, dvn o del cálcul para result stros, 1 cont : tren eléctric or de presen leyendo el alice indefin ltas por el tr ntrada P y c oj) cuando erior e infer salidas C1 y C2=’0’, el tre C2=’1’, el tre C2=’1’, el tre C2=’0’, el tre en se encue e pide: stema como (versión 7-10 implemente algoritmo d sor do begin ndo - Diviso e + 1; d y dvsr de lo; una salid tados. El si ntador y 1 re co de juguet ncia (P) y do valor del se nidamente l ramo inferio como salida el tren pas rior. Por su y C2: en realiza re en realiza re en pasa del en pasa del entra en la o máquina d 0-14) e la división de restas suc n or; 8 bits, para da, fin, para stema tendr estador. e con un tra os cambios ensor y cont la siguiente or, una vuelt as C1 y C2. sa por el tra parte el tren ecorridos cir ecorridos cir tramo super tramo infer posición i de Moore D n entera de 2 cesivas sigu operandos; indicar el f rá los puert azado de vía de agujas ( trolando los secuencia: ta en ocho. La entrada P amo de vía n seguirá un rculares por rculares por rior al inferi ior al superi nicial y cir Divisor Dvnd C 8 8 Tema 2 números n uiente: ; una entrad fin del cálcu tos mostrad as en forma C1 y C2). s cambios de dos vuelta P se activa a que compa na trayectori r el tramo su r el tramo in ior. ior. rcula en el r Dvsr 8 R 8 a 7 / pág. 7 naturales da, inicio, ulo y dos dos en la a de ocho Se desea e agujas, as por el (vale ‘1’ arten los ia que es uperior. nferior. l sentido inicio fin Proble 23. ( s h p ig U e c “ te “ m “ S emas de Fund b) Impl lógic Septiembre istema tiene haya ruido y parte, la salid gual a ‘1’) o Una vez enc estímulos, n chupete (hay “dormida”. ener el chu “asustada”. mantenga. C “tranquila” e Se pide: a) Esp b) Imp lógi damentos de C ementarlo u cas. 2012) Se d e 2 entradas y la entrada C da G habilit o bien algun cendida, la i habla, ni l ya o no ruid En el estad upete puesto En el est Cuando el r en función d pecificar el s plementarlo icas. Computadores utilizando u desea diseña s y 2 salidas C lo hará cu ta un genera nas palabras muñeca se llora. Si se h do), dejará d do “dormida o, se escuch tado “asust ruido desapa de si tiene o sistema com utilizando (versión 7-10 un contador ar el sistema s, todas ella uando haya u ador de soni (si L es igu e encontrará hace ruido, de hablar (s a” no hace he un ruido tada” perm arezca deja o no el chup mo máquina un contado 0-14) módulo-8 a de control as binarias. L un chupete idos que rep ual a ‘0’). á en estado sigue “tran i lo estuvier nada y per o. En ese c manecerá llo ará de llorar pete puesto. de Mealy. or mod-4 y y el menor l de una mu La entrada R en la boca d produce o bi o “tranquila nquila” y hab ra haciendo rmanecerá e caso llorará orando mie r y pasará a y el menor Tema r número de uñeca intera R valdrá ‘1 de la muñec ien un llanto a” donde, si abla. Si se le o) y pasará a en él hasta y pasará a entras el r a estar “dor número de a 7 / pág. 8 e puertas activa. El ’ cuando a. Por su o (si L es i no hay e pone el al estado que, sin al estado ruido se rmida” o e puertas Chips/74LS83(SUMADOR-7483).pdf 5-81 FAST AND LS TTL DATA 4-BIT BINARY FULL ADDER WITH FAST CARRY The SN54 /74LS83A is a high-speed 4-Bit binary Full Adder with internal carry lookahead. It accepts two 4-bit binary words (A1–A4, B1–B4) and a Carry Input (C0). It generates the binary Sum outputs ∑1–∑4) and the Carry Output (C4) from the most significant bit. The LS83A operates with either active HIGH or active LOW operands (positive or negative logic). The SN54/74LS283 is recommended for new designs since it is identical in function with this device and features standard corner power pins. 14 13 12 11 10 9 1 2 3 4 5 6 B4 7 16 15 8 Σ4 C4 C0 GND B1 A1 Σ1 A4 Σ3 A3 Σ2 B2 A2 CONNECTION DIAGRAM DIP (TOP VIEW) B3 VCC NOTE: The Flatpak version has the same pinouts (Connection Diagram) as the Dual In-Line Package. PIN NAMES LOADING (Note a) HIGH LOW A1–A4 B1–B4 C0 Σ1–Σ4 C4 Operand A Inputs Operand B Inputs Carry Input Sum Outputs (Note b) Carry Output (Note b) 1.0 U.L. 1.0 U.L. 0.5 U.L. 10 U.L. 10 U.L. 0.5 U.L. 0.5 U.L. 0.25 U.L. 5 (2.5) U.L. 5 (2.5) U.L. NOTES: a) 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW. b) The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74) Temperature Ranges. SN54/74LS83A 4-BIT BINARY FULL ADDER WITH FAST CARRY LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 620-09 N SUFFIX PLASTIC CASE 648-08 16 1 16 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 16 1 D SUFFIX SOIC CASE 751B-03 LOGIC SYMBOL 10 11 8 7 3 4 1 16 9 6 2 15 14 13 14C0 B1 A2 B2 A3 B3 A4 B4 C4 ∑1∑2 ∑3∑4 C4 LOGIC DIAGRAM VCC = PIN 5 GND = PIN 12 = PIN NUMBERS C1 C2 C3 C0 A1 B1 A2 B2 A3 B3 A4 B4 C4∑1 ∑2 ∑3 ∑4 15 3 410 11 161 26 7 9 13 8 14 5-82 FAST AND LS TTL DATA SN54/74LS83A FUNCTIONAL DESCRIPTION The LS83A adds two 4-bit binary words (A plus B) plus the incoming carry. The binary sum appears on the sum outputs (∑1–∑4) and outgoing carry (C4) outputs. C0 + (A1+B1)+2(A2+B2)+4(A3+B3)+8(A4+B4) = ∑1+2∑2+4∑3+8∑4+16C4 Where: (+) = plus Due to the symmetry of the binary add function the LS83A can be used with either all inputs and outputs active HIGH (positive logic) or with all inputs and outputs active LOW (negative logic). Note that with active HIGH Inputs, Carry Input can not be left open, but must be held LOW when no carry in is intended. Example: C0 A1 A2 A3 A4 B1 B2 B3 B4 ∑1 ∑2 ∑3 ∑4 C4 Logic Levels L L H L H H L L H H H L L H Active HIGH 0 0 1 0 1 1 0 0 1 1 1 0 0 1 (10+9 = 19) Active LOW 1 1 0 1 0 0 1 1 0 0 0 1 1 0 (carry+5+6 = 12) Interchanging inputs of equal weight does not affect the operation, thus C0, A1, B1, can be arbitrarily assigned to pins 10, 11, 13, etc. FUNCTIONAL TRUTH TABLE C (n–1) An Bn ∑n Cn L L L L L L L H H L L H L H L L H H L H H L L H L H L H L H H H L L H H H H H H C1 — C3 are generated internally C0 — is an external input C4 — is an output generated internally GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA 5-83 FAST AND LS TTL DATA SN54/74LS83A DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for All InputsVIL Input LOW Voltage 74 0.8 V Guaranteed Input LOW Voltage for All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH per Truth TableVOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH per Truth TableVOH Output HIGH Voltage 74 2.7 3.5 V VCC = MIN, IOH = MAX, VIN = VIH per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIH per Truth Table VOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current C0 A or B 20 40 µA VCC = MAX, VIN = 2.7 V IIH C0 A or B 0.1 0.2 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current C0 A or B –0.4 –0.8 mA VCC = MAX, VIN = 0.4 V IOS Output Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current All Inputs Grounded All Inputs at 4.5 V, Except B All Inputs at 4.5 V 39 34 34 mA VCC = MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions tPLH tPHL Propagation Delay, C0 Input to any Σ Output 16 15 24 24 ns VCC = 5.0 V CL = 15 pF Figures 1 and 2 tPLH tPHL Propagation Delay, Any A or B Input to Σ Outputs 15 15 24 24 ns VCC = 5.0 V CL = 15 pF Figures 1 and 2tPLH tPHL Propagation Delay, C0 Input to C4 Output 11 15 17 22 ns CL = 15 pF Figures 1 and 2 tPLH tPHL Propagation Delay, Any A or B Input to C4 Output 11 12 17 17 ns Figure 1 Figure 2 AC WAVEFORMS VIN VOUT 1.3 V tPHL 1.3 V 1.3 V 1.3 V tPLH VIN VOUT 1.3 V tPLH 1.3 V 1.3 V 1.3 V tPHL This datasheet has been download from: www.datasheetcatalog.com Datasheets for electronics components. http://www.datasheetcatalog.com http://www.datasheetcatalog.com http://www.datasheetcatalog.com Chips/74LS74(BIESTABLES-7474).pdf 5-72 FAST AND LS TTL DATA DUAL D-TYPE POSITIVE EDGE-TRIGGERED FLIP-FLOP The SN54/74LS74A dual edge-triggered flip-flop utilizes Schottky TTL cir- cuitry to produce high speed D-type flip-flops. Each flip-flop has individual clear and set inputs, and also complementary Q and Q outputs. Information at input D is transferred to the Q output on the positive-going edge of the clock pulse. Clock triggering occurs at a voltage level of the clock pulse and is not directly related to the transition time of the positive-going pulse. When the clock input is at either the HIGH or the LOW level, the D input signal has no effect. LOGIC DIAGRAM (Each Flip-Flop) SET (SD) 4 (10) CLEAR (CD) 1 (13) CLOCK 3 (11) D 2 (12) Q 5 (9) Q 6 (8) MODE SELECT — TRUTH TABLE OPERATING MODE INPUTS OUTPUTS OPERATING MODE SD SD D Q Q Set Reset (Clear) *Undetermined Load “1” (Set) Load “0” (Reset) L H L H H H L L H H X X X h l H L H H L L H H L H * Both outputs will be HIGH while both SD and CD are LOW, but the output states are unpredictable if SD and CD go HIGH simultaneously. If the levels at the set and clear are near VIL maximum then we cannot guarantee to meet the minimum level for VOH. H, h = HIGH Voltage Level L, I = LOW Voltage Level X = Don’t Care i, h (q) = Lower case letters indicate the state of the referenced input (or output) one set-up time i, h (q) = prior to the HIGH to LOW clock transition. SN54/74LS74A DUAL D-TYPE POSITIVE EDGE-TRIGGERED FLIP-FLOP LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 632-08 N SUFFIX PLASTIC CASE 646-06 14 1 14 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 14 1 D SUFFIX SOIC CASE 751A-02 LOGIC SYMBOL VCC = PIN 14 GND = PIN 7 2 3 5D Q CP QCD 1 4 6 12 11 9D Q CP QCD 13 10 8 SD SD 5-73 FAST AND LS TTL DATA SN54/74LS74A GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for All InputsVIL Input LOW Voltage 74 0.8 V Guaranteed Input LOW Voltage for All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH or VIL per Truth Table VOH Output HIGH Voltage 74 2.7 3.5 V VCC = MIN, IOH = MAX, VIN = VIH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIH per Truth Table VOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input High Current Data, Clock Set, Clear 20 40 µA VCC = MAX, VIN = 2.7 V IIH Data, Clock Set, Clear 0.1 0.2 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current Data, Clock Set, Clear –0.4 –0.8 mA VCC = MAX, VIN = 0.4 V IOS Output Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current 8.0 mA VCC = MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C, VCC = 5.0 V) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions fMAX Maximum Clock Frequency 25 33 MHz Figure 1 VCC = 5.0 V CL = 15 pF tPLH tPHL Clock, Clear, Set to Output 13 25 ns Figure 1 VCC = 5.0 V CL = 15 pF tPLH tPHL Clock, Clear, Set to Output 25 40 ns Figure 1 CL = 15 pF AC SETUP REQUIREMENTS (TA = 25°C) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions tW(H) Clock 25 ns Figure 1 VCC = 5.0 V tW(L) Clear, Set 25 ns Figure 2 VCC = 5.0 V ts Data Setup Time — HIGH Data Setup Time — LOW 20 ns Figure 1 VCC = 5.0 V ts Data Setup Time — HIGH Data Setup Time — LOW 20 ns Figure 1 CC = 5.0 V th Hold Time 5.0 ns Figure 1 5-74 FAST AND LS TTL DATA SN54/74LS74A Figure 1. Clock to Output Delays, Data Set-Up and Hold Times, Clock Pulse Width Figure 2. Set and Clear to Output Delays, Set and Clear Pulse Widths AC WAVEFORMS tW 1.3 V 1.3 V tW 1.3 V 1.3 V 1.3 V 1.3 V1.3 V 1.3 V tPLH tPHL tPLHtPHL SET CLEAR Q Q *The shaded areas indicate when the input is permitted to change for predictable output performance. D * CP Q Q 1.3 V 1.3 V 1.3 V1.3 V 1.3 V 1.3 V1.3 V tPLH tPHL tPLH tPHL th(L) ts(L) tW(H) tW(L) ts(H) th(H) 1 fMAX 1.3 V This datasheet has been download from: www.datasheetcatalog.com Datasheets for electronics components. http://www.datasheetcatalog.com http://www.datasheetcatalog.com http://www.datasheetcatalog.com Chips/74LS153(MULTIPLEXOR-74153).pdf 5-1 FAST AND LS TTL DATA DUAL 4-INPUT MULTIPLEXER The LSTTL/MSI SN54/74LS153 is a very high speed Dual 4-Input Multiplexer with common select inputs and individual enable inputs for each section. It can select two bits of data from four sources. The two buffered outputs present data in the true (non-inverted) form. In addition to multiplexer operation, the LS153 can generate any two functions of three variables. The LS153 is fabricated with the Schottky barrier diode process for high speed and is completely compatible with all Motorola TTL families. • Multifunction Capability • Non-Inverting Outputs • Separate Enable for Each Multiplexer • Input Clamp Diodes Limit High Speed Termination Effects CONNECTION DIAGRAM DIP (TOP VIEW) NOTE: The Flatpak version has the same pinouts (Connection Diagram) as the Dual In-Line Package. 14 13 12 11 10 9 1 2 3 4 5 6 7 16 15 8 VCC Ea Eb S0 I3b I2b I0bI1b Zb S1 I3a I2a I1a I0a Za GND PIN NAMES LOADING (Note a) HIGH LOW S0 E I0, I1 Z Common Select Input Enable (Active LOW) Input Multiplexer Inputs Multiplexer Output (Note b) 0.5 U.L. 0.5 U.L. 0.5 U.L. 10 U.L. 0.25 U.L. 0.25 U.L. 0.25 U.L. 5 (2.5) U.L. NOTES: a) 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW. b) The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74) Temperature Ranges. LOGIC DIAGRAM Ea I0a I1a I2a I3a S1 S0 I0b I1b I2b I3b Eb Za Zb 141 26 7 345 9 11 1210 13 15 VCC = PIN 16 GND = PIN 8 = PIN NUMBERS SN54/74LS153 DUAL 4-INPUT MULTIPLEXER LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 620-09 N SUFFIX PLASTIC CASE 648-08 16 1 16 1 ORDERING INFORMATION SN54LSXXXJ Ceramic SN74LSXXXN Plastic SN74LSXXXD SOIC 16 1 D SUFFIX SOIC CASE 751B-03 LOGIC SYMBOL VCC = PIN 16 GND = PIN 8 1 6 5 4 3 10 11 12 13 15 14 2 7 9 Za Zb Sa S0 Ea I0a I1a I2a I3a I0b I1b I2b I3b Eb 5-2 FAST AND LS TTL DATA SN54/74LS153 FUNCTIONAL DESCRIPTION The LS153 is a Dual 4-input Multiplexer fabricated with Low Power, Schottky barrier diode process for high speed. It can select two bits of data from up to four sources under the control of the common Select Inputs (S0, S1). The two 4-input multi- plexer circuits have individual active LOW Enables (Ea, Eb) which can be used to strobe the outputs independently. When the Enables (Ea, Eb) are HIGH, the corresponding outputs (Za, Zb) are forced LOW. The LS153 is the logic implementation of a 2-pole, 4-posi- tion switch, where the position of the switch is determined by the logic levels supplied to the two Select Inputs. The logic equations for the outputs are shown below. Za = Ea ⋅ (I0a ⋅ S1 ⋅ S0 + I1a ⋅ S1 ⋅ S0 + I2a ⋅ S1 ⋅ S0 + I3a ⋅ S1 ⋅ S0) Zb = Eb ⋅ (I0b ⋅ S1 ⋅ S0 + I1b ⋅ S1 ⋅ S0 + I2b ⋅ S1 ⋅ S0 + I3b ⋅ S1 ⋅ S0) The LS153 can be used to move data from a group of regis- ters to a common output bus. The particular register from which the data came would be determined by the state of the Select Inputs. A less obvious application is a function genera- tor. The LS153 can generate two functions of three variables. This is useful for implementing highly irregular random logic. TRUTH TABLE SELECT INPUTS INPUTS (a or b) OUTPUT S0 S1 E I0 I1 I2 I3 Z X X H X X X X L L L L L X X X L L L L H X X X H H L L X L X X L H L L X H X X H L H L X X L X L L H L X X H X H H H L X X X L L H H L X X X H H H = HIGH Voltage Level L = LOW Voltage Level X = Don’t Care GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA 5-3 FAST AND LS TTL DATA SN54/74LS153 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for VIL Input LOW Voltage 74 0.8 V p g All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V CC , OH , IN IH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIHVOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current 20 µA VCC = MAX, VIN = 2.7 V IIH Input HIGH Current 0.1 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current 10 mA VCC = MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions tPLH tPHL Propagation Delay Data to Output 10 17 15 26 ns Figure 2 V 5 0 VtPLH tPHL Propagation Delay Select to Output 19 25 29 38 ns Figure 1 VCC = 5.0 V CL = 15 pF tPLH tPHL Propagation Delay Enable to Output 16 21 24 32 ns Figure 2 AC WAVEFORMS Figure 1 Figure 2 VIN VOUT 1.3 V tPHL 1.3 V 1.3 V 1.3 V tPLH VIN VOUT 1.3 V tPHL 1.3 V 1.3 V tPLH 1.3 V Chips/74LS169(CONTADOR-74169).pdf 5-1 FAST AND LS TTL DATA BCD DECADE/MODULO 16 BINARY SYNCHRONOUS BI-DIRECTIONAL COUNTERS The SN54/74LS168 and SN54/74LS169 are fully synchronous 4-stage up/down counters featuring a preset capability for programmable operation, carry lookahead for easy cascading and a U/D input to control the direction of counting. The SN54/74LS168 counts in a BCD decade (8, 4, 2, 1) sequence, while the SN54/74LS169 operates in a Modulo 16 binary sequence. All state changes, whether in counting or parallel loading, are initiated by the LOW-to-HIGH transition of the clock. • Low Power Dissipation 100 mW Typical • High-Speed Count Frequency 30 MHz Typical • Fully Synchronous Operation • Full Carry Lookahead for Easy Cascading • Single Up/Down Control Input • Positive Edge-Trigger Operation • Input Clamp Diodes Limit High-Speed Termination Effects NOTE: The Flatpak version has the same pinouts (Connection Diagram) as the Dual In-Line Package. 14 13 12 11 10 9 1 2 3 4 5 6 7 16 15 8 VCC U/D TC Q0 Q1 Q2 CETQ3 PE CP P0 P1 P2 P3 CEP GND CONNECTION DIAGRAM DIP (TOP VIEW) PIN NAMES LOADING (Note a) HIGH LOW CEP CET CP PE U/D P0–P3 Q0–Q3 TC Count Enable Parallel (Active LOW) Input Count Enable Trickle (Active LOW) Input Clock Pulse (Active positive going edge) Input Parallel Enable (Active LOW) Input Up-Down Count Control Input Parallel Data Inputs Flip-Flop Outputs Terminal Count (Active LOW) Output 0.5 U.L. 1.0 U.L. 0.5 U.L. 0.5 U.L. 0.5 U.L. 0.5 U.L. 10 U.L. 10 U.L. 0.25 U.L. 0.5 U.L. 0.25 U.L. 0.25 U.L. 0.25 U.L. 0.25 U.L. 5 (2.5) U.L. 5 (2.5) U.L. NOTES: a. 1 TTL Unit Load (U.L.) = 40 µA HIGH/1.6 mA LOW. b. The Output LOW drive factor is 2.5 U.L. for Military (54) and 5 U.L. for Commercial (74) b. Temperature Ranges. SN54/74LS168 SN54/74LS169 BCD DECADE/MODULO 16 BINARY SYNCHRONOUS BI-DIRECTIONAL COUNTERS LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 620-09 N SUFFIX PLASTIC CASE 648-08 16 1 16 1 ORDERING INFORMATION SN54LSXXXJ Ceramic SN74LSXXXN Plastic SN74LSXXXD SOIC 16 1 D SUFFIX SOIC CASE 751B-03 LOGIC SYMBOL 9 3 4 5 6 7 10 2 15 14 13 12 11 PE P0 P1 P2 P3 CEP CET CP Q0 Q1 Q2 Q3 TC VCC = PIN 16 GND = PIN 8 1 U/D 5-2 FAST AND LS TTL DATA SN54/74LS168 • SN54/74LS169 STATE DIAGRAMS SN54/74LS168 UP/DOWN DECADE COUNTER 0 1 2 3 4 5 6 7 89101112 13 14 15 0 1 2 3 4 5 6 7 89101112 13 14 15 SN54/74LS169 LOGIC DIAGRAMS TC PE CEP CET U/D CP P0 P1 P2 P3 Q0 Q1 Q2 Q3 CP D SN54/74LS168 SN54/74LS168 UP: TC = Q0 ⋅ Q3 ⋅ (U /D) DOWN: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D) SN54/74LS169 UP: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D) DOWN: TC = Q0 ⋅ Q1 ⋅ Q2 ⋅ Q3 ⋅ (U /D) Count Up Count Down 5-3 FAST AND LS TTL DATA SN54/74LS168 • SN54/74LS169 LOGIC DIAGRAMS (continued) SN54/74LS169 TC PE CEP CET U/D CP P0 P1 P2 P3 Q0 Q1 Q2 Q3 CP D GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA 5-4 FAST AND LS TTL DATA SN54/74LS168 • SN54/74LS169 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for VIL Input LOW Voltage 74 0.8 V p g All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V CC , OH , IN IH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIHVOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current Other Inputs CET Input 20 40 µA VCC = MAX, VIN = 2.7 V IIH Other Input CET Input 0.1 0.2 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current Other Input CET Input –0.4 –0.8 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current 34 mA VCC = MAX Note 1: Not more than one output should be shorted at one time, nor for more than 1 second. FUNCTIONAL DESCRIPTION The SN54/74LS168 and SN54/74LS169 use edge- triggered D-type flip-flops that have no constraints on changing the control or data input signals in either state of the Clock. The only requirement is that the various inputs attain the desired state at least a set-up time before the rising edge of the clock and remain valid for the recommended hold time thereafter. The parallel load operation takes precedence over the other operations, as indicated in the Mode Select Table. When PE is LOW, the data on the P0–P3 inputs enters the flip-flops on the next rising edge of the Clock. In order for counting to occur, both CEP and CET must be LOW and PE must be HIGH. The U/D input then determines the direction of counting. The Terminal Count (TC) output is normally HIGH and goes LOW, provided that CET is LOW, when a counter reaches zero in the COUNT DOWN mode or reaches 15 (9 for the SN54/74LS168) in the COUNT UP mode. The TC output state is not a function of the Count Enable Parallel (CEP) input level. The TC output of the SN54/74LS168 decade counter can also be LOW in the illegal states 11, 13 and 15, which can occur when power is turned on or via parallel loading. If illegal state occurs, the SN54/74LS168 will return to the legitimate sequence within two counts. Since the TC signal is derived by decoding the flip-flop states, there exists the possibility of decoding spikes on TC. For this reason the use of TC as a clock signal is not recommended. MODE SELECT TABLE PE CEP CET U/D Action on Rising Clock Edge L X X X Load (Pn → Qn) H L L H Count Up (increment) H L L L Count Down (decrement) H H X X No Change (Hold) H X H X No Change (Hold) H = HIGH Voltage Level L = LOW Voltage Level X = Immaterial 5-5 FAST AND LS TTL DATA SN54/74LS168 • SN54/74LS169 AC CHARACTERISTICS (TA = 25°C, VCC = 5.0 V) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions fMAX Maximum Clock Frequency 25 32 MHz V 5 0 V tPLH tPHL Propagation Delay, Clock to TC 23 23 35 35 ns V 5 0 V tPLH tPHL Propagation Delay, Clock to any Q 13 15 20 23 ns VCC = 5.0 V CL = 15 pF tPLH tPHL Propagation Delay, CET to TC 15 15 20 20 ns CL = 15 pF tPLH tPHL Propagation Delay, U /D to TC 17 19 25 29 ns AC SETUP REQUIREMENTS (TA = 25°C) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions tW Clock Pulse Width 25 ns V 5 0 V ts Setup Time, Data or Enable 20 ns V 5 0 V ts Setup Time PE 25 ns VCC = 5.0 V ts Setup Time U/D 30 ns th Hold Time Any Input 0 ns 5-6 FAST AND LS TTL DATA SN54/74LS168 • SN54/74LS169 AC WAVEFORMS Figure 1. Clock to Output Delays, Count Frequency, and Clock Pulse Width Figure 2. Count Enable Trickle Input To Terminal Count Output Delays Figure 3. Clock to Terminal Delays Figure 4. Setup Time (t s) and Hold (t h) for Parallel Data Inputs 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V CP Q OR TC tPHL tPLH tPLH tPHL CET TC 1/fmax tW 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V ts(H) ts(L) th(L) = 0th(H) = 0 Q0 • Q1 • Q2 • Q3 CP TC tPLH tPHL 1.3 V 1.3 V1.3 V1.3 VP0 • P1 • P2 • P3 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V SR OR PE CP U/D TC ts(L) ts(H) th(L) = 0th(H) = 0 ts(H) th(H) = 0 th(L) = 0 ts(H) ts(L) tPLH tPHL 1.3 V 1.3 V 1.3 V 1.3 V 1.3 V1.3 V 1.3 V 1.3 V 1.3 V 1.3 V1.3 V1.3 V ts(L) th(L) = 0 th(H) = 0 Figure 5. Setup Time and Hold Time for Count Enable and Parallel Enable Inputs, and Up-Down Control Inputs Figure 6. Up-Down Input to Terminal Count Output Delays The shaded areas indicate when the input is permitted to change for predictable output performance. CP CEP CET CP Chips/74LS10(NAND-7410).pdf 5-1 FAST AND LS TTL DATA TRIPLE 3-INPUT NAND GATE 14 13 12 11 10 9 1 2 3 4 5 6 VCC 8 7 GND GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA SN54/74LS10 TRIPLE 3-INPUT NAND GATE LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 632-08 N SUFFIX PLASTIC CASE 646-06 14 1 14 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 14 1 D SUFFIX SOIC CASE 751A-02 5-2 FAST AND LS TTL DATA SN54/74LS10 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for VIL Input LOW Voltage 74 0.8 V p g All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V CC , OH , IN IH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIHVOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current 20 µA VCC = MAX, VIN = 2.7 V IIH Input HIGH Current 0.1 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current Total, Output HIGH 1.2 mA VCC = MAXICC p Total, Output LOW 3.3 mA VCC MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V tPHL Turn-On Delay, Input to Output 10 15 ns CC CL = 15 pF Chips/74LS86(XOR-7486).pdf 5-88 FAST AND LS TTL DATA QUAD 2-INPUT EXCLUSIVE OR GATE 14 13 12 11 10 9 1 2 3 4 5 6 VCC 8 7 GND TRUTH TABLE IN OUT A B Z L L L L H H H L H H H L GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA SN54/74LS86 QUAD 2-INPUT EXCLUSIVE OR GATE LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 632-08 N SUFFIX PLASTIC CASE 646-06 14 1 14 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 14 1 D SUFFIX SOIC CASE 751A-02 5-89 FAST AND LS TTL DATA SN54/74LS86 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for All InputsVIL Input LOW Voltage 74 0.8 V Guaranteed Input LOW Voltage for All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIH or VIL per Truth Table VOH Output HIGH Voltage 74 2.7 3.5 V VCC = MIN, IOH = MAX, VIN = VIH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIH per Truth Table VOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current 40 µA VCC = MAX, VIN = 2.7 V IIH Input HIGH Current 0.2 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current –0.8 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current 10 mA VCC = MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) Symbol Parameter Limits Unit Test ConditionsSymbol Parameter Min Typ Max Unit Test Conditions tPLH tPHL Propagation Delay, Other Input LOW 12 10 23 17 ns VCC = 5.0 V CL = 15 pFtPLH tPHL Propagation Delay, Other Input HIGH 20 13 30 22 ns VCC = 5.0 V CL = 15 pF This datasheet has been download from: www.datasheetcatalog.com Datasheets for electronics components. http://www.datasheetcatalog.com http://www.datasheetcatalog.com http://www.datasheetcatalog.com Chips/74LS00(NAND-7400).pdf 5-2 FAST AND LS TTL DATA QUAD 2-INPUT NAND GATE • ESD > 3500 Volts 14 13 12 11 10 9 1 2 3 4 5 6 VCC 8 7 GND GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA SN54/74LS00 QUAD 2-INPUT NAND GATE LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 632-08 N SUFFIX PLASTIC CASE 646-06 14 1 14 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 14 1 D SUFFIX SOIC CASE 751A-02 5-3 FAST AND LS TTL DATA SN54/74LS00 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for VIL Input LOW Voltage 74 0.8 V p g All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V CC , OH , IN IH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIHVOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current 20 µA VCC = MAX, VIN = 2.7 V IIH Input HIGH Current 0.1 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current Total, Output HIGH 1.6 mA VCC = MAXICC Total, Output LOW 4.4 mA VCC MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V tPHL Turn-On Delay, Input to Output 10 15 ns CC CL = 15 pF Chips/74LS04(INVERSORES-7404).pdf 5-1 FAST AND LS TTL DATA HEX INVERTER 14 13 12 11 10 9 1 2 3 4 5 6 VCC 8 7 GND GUARANTEED OPERATING RANGES Symbol Parameter Min Typ Max Unit VCC Supply Voltage 54 74 4.5 4.75 5.0 5.0 5.5 5.25 V TA Operating Ambient Temperature Range 54 74 –55 0 25 25 125 70 °C IOH Output Current — High 54, 74 –0.4 mA IOL Output Current — Low 54 74 4.0 8.0 mA SN54/74LS04 HEX INVERTER LOW POWER SCHOTTKY J SUFFIX CERAMIC CASE 632-08 N SUFFIX PLASTIC CASE 646-06 14 1 14 1 ORDERING INFORMATION SN54LSXXJ Ceramic SN74LSXXN Plastic SN74LSXXD SOIC 14 1 D SUFFIX SOIC CASE 751A-02 5-2 FAST AND LS TTL DATA SN54/74LS04 DC CHARACTERISTICS OVER OPERATING TEMPERATURE RANGE (unless otherwise specified) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions VIH Input HIGH Voltage 2.0 V Guaranteed Input HIGH Voltage for All Inputs VIL Input LOW Voltage 54 0.7 V Guaranteed Input LOW Voltage for VIL Input LOW Voltage 74 0.8 V p g All Inputs VIK Input Clamp Diode Voltage –0.65 –1.5 V VCC = MIN, IIN = –18 mA VOH Output HIGH Voltage 54 2.5 3.5 V VCC = MIN, IOH = MAX, VIN = VIHVOH Output HIGH Voltage 74 2.7 3.5 V CC , OH , IN IH or VIL per Truth Table VOL Output LOW Voltage 54, 74 0.25 0.4 V IOL = 4.0 mA VCC = VCC MIN, VIN = VIL or VIHVOL Output LOW Voltage 74 0.35 0.5 V IOL = 8.0 mA VIN = VIL or VIH per Truth Table IIH Input HIGH Current 20 µA VCC = MAX, VIN = 2.7 V IIH Input HIGH Current 0.1 mA VCC = MAX, VIN = 7.0 V IIL Input LOW Current –0.4 mA VCC = MAX, VIN = 0.4 V IOS Short Circuit Current (Note 1) –20 –100 mA VCC = MAX ICC Power Supply Current Total, Output HIGH 2.4 mA VCC = MAXICC p Total, Output LOW 6.6 mA VCC MAX Note 1: Not more than one output should be shorted at a time, nor for more than 1 second. AC CHARACTERISTICS (TA = 25°C) S b l P Limits U i T C di iSymbol Parameter Min Typ Max Unit Test Conditions tPLH Turn-Off Delay, Input to Output 9.0 15 ns VCC = 5.0 V tPHL Turn-On Delay, Input to Output 10 15 ns CC CL = 15 pF Temas/FCtema3-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 3: Implementación de sistemas combinacionales Fundamentos de computadores 2 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Puertas lógicas. Conjuntos universales de puertas. Síntesis con puertas AND‐OR‐NOT. Síntesis con puertas NAND. Análisis de redes de puertas. Aspectos tecnológicos. Espacio de diseño y trade‐offs. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Dispositivo que realiza físicamente una función de conmutación sencilla. Puerta NOR A B Z = A + B A B Z = A ∙ B Puerta NAND Puerta XOR A B Z = A B Puerta XNOR A B Z = A B Puerta NAND (símbolo alternativo) A ∙ B = A + B A B Z = A ∙ B A B Z = A + B Puerta NOR (símbolo alternativo) A + B = A ∙ B Puerta OR A B Z = A + B A B Z = A ∙ B Puerta AND A Puerta NOT (Inversor) Z = A 4 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Existen puertas con mayor número de entradas: Puerta OR de n entradas xn‐1 x0 z = xn‐1 ∙ ... ∙ x0 Puerta AND de n entradas ... xn‐1 x0 ... z = xn‐1 + ... + x0 Puerta NOR de n entradas xn‐1 x0 z = xn‐1 ∙ ... ∙ x0 Puerta NAND de n entradas ... xn‐1 x0 ... z = xn‐1 + ... + x0 Puerta XNOR de n entradas (z=1 si el número de xi=1 es par) xn‐1 x0 ... z = xn‐1 ... x0 Puerta XOR de n entradas (z=1 si el número de xi=1 es impar) xn‐1 x0 ... z = xn‐1 ... x0 5 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Todas ellas son conmutativas: AND, OR, XOR y XNOR son asociativas: X Y Z = X ∙ Y Y X Z = Y ∙ X = x2 x1 x0 z = (x2 ∙ x1) ∙ x0 x2 x1 x0 z = x2 ∙ (x1 ∙ x0) x2 x1 x0 z = x2 ∙ x1 ∙ x0 = 6 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Pero NAND y NOR no son asociativas. x2 x1 x0 z = (x2 ∙ x1) ∙ x0 = (x2 ∙ x1) + x0 = ∑ m(0,2,4,6,7) x2 x1 x0 z = x2 ∙ (x1 ∙ x0) = x2 + (x1 ∙ x0) = ∑ m(0,1,2,3,7) x2 x1 x0 z = x2 ∙ x1 ∙ x0 = x2 + x1 + x0 = ∑ m(0,1,2,3,4,5,6) ≠ 7 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 En la práctica no es común encontrar puertas con un número elevado de entradas. o Solución: implementaciones en árbol. Implementación en árbol Puerta AND de 8 entradas Implementación en árbol Puerta NAND de 8 entradas 8 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Existen puertas compuestas: y algunas más... A B Puerta AOI 2/2 C D Z = (A∙B) + (C∙D) Puerta OAI 2/2 Z = (A + B) ∙ (C + D) A B C D A B Puerta AO 2/2 C D Z = (A∙B) + (C∙D) A B Puerta AOI 2/1 C Z = (A∙B) + C C D Puerta AOI 2/2/2 E F Z = (A∙B) + (C∙D) + (E∙F) A B 9 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Existen otros dispositivos sin funcionalidad lógica: o Buffer no inversor: permite compensar la atenuación eléctrica de una señal. o Buffer triestado: permite desconectar selectivamente una señal. A Buffer no inversor Y = A A Buffer triestado Y E E A Y 0 0 Z 0 1 Z 1 0 0 1 1 1 A Y 0 0 1 1 Alta impedancia (desconecta Y de A) 10 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Módulo: dispositivo que realiza físicamente una función conocida de cualquier complejidad. o Los hay combinacionales y secuenciales Puerto: cada una de las líneas de entrada/salida que comunica un módulo con el exterior. Interconexión: unión de 2 o más puertos entre sí. Red: colección de módulos interconectados de manera que toda entrada solo está conectada a una salida (una salida sí puede estar conectada a varias entradas). o Las interconexiones 1:1 y 1:n están permitidas. o Las interconexiones n:1 están prohibidas (a menos que se utilicen buffers triestado). 11 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Red combinacional: red de módulos combinacionales en las que no existen realimentaciones. o no hay ningún camino dentro de la red que pase 2 veces por el mismo punto. o toda red combinacional es un módulo combinacional. Nivel de una red: número máximo de módulos que atraviesa cualquier camino que conecte una entrada con una salida o cuando la red es de puertas no se suelen contar los inversores. 12 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Al dibujar el esquema de un circuito usaremos alguna notación adicional para las interconexiones: n interconexiones en paralelo se dividen en 2 ramas n y m interconexiones en paralelo se unen en una única rama interconexión de 1 bit A interconexión de 1 bit con un terminal desconectado A n interconexiones de 1 bit en paralelo n A n n+m m + – C = (An‐1..0, Bm‐1..0) A B n-m n m + – la parte más significativa de A viene por aquí B = An‐m‐1..m C = Am‐1..0 A 13 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Se dice que un conjunto de módulos combinacionales es universal si permite implementar cualquier FC o Un conjunto lo es, si con sus módulos pueden implementarse todos los operadores del algebra de conmutación. o El conjunto de puertas {AND, OR, NOT} es universal. Otros conjuntos universales de puertas : o { AND, NOT } ∙ o { NAND } ∙ ↑ ∙ ∙ ↑ ↑ ↑ ↑ ∙ ↑ = ↑ ↑ ↑ o { OR, NOT }, { NOR }, { XOR, AND } ... X Y Z = X ∙ Y X X Z = X + YY X 14 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Dada una especificación de una conducta combinacional implementarla usando puertas. Implementaciones a 2 niveles o Implementación canónica: implementa la SPC con 2 niveles AND‐OR. o Implementación mínima: implementa una ECmin con 2 niveles AND‐OR. • La red resultante tiene un número mínimo de puertas y éstas tienen un número mínimo de entradas. Implementaciones multinivel o Tienen un número arbitrario de niveles y se reutilizan cálculos intermedios. o Para obtenerlas, se parte de un conjunto de SP y se factorizan heurísticamente . CodificaciónEspecificación de alto nivel Simplificación Descripción binaria Proyección EC simplificada Red de puertas 15 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 comparadorz c a b a, b 0, 1 c, z aM, IG, bM aM si a b o a b y c aM z IG si a b y c ig bM si a b o a b y c bM Codificación: aM 100 , IG 010 , bM 001 comparadorz c a b 3 3 16 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z1 c2 a b c1 z0 c0 Implementación a 2 niveles 17 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z0 z1 c2 c1 c0 a b Implementación multinivel 18 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 2 niveles AND‐OR equivalen a 2 niveles NAND‐NAND Método: o Obtener una red AND‐OR. o Añadir pares de inversores a las salidas de las puertas AND (o a las entradas de las puertas OR). o Uniformizar la notación de las puertas NAND. o Eliminar dobles inversores donde sea posible. o Remplazar inversores por su implementación con NAND. == 19 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z0 z1 c2 c1 c0 a b 20 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z0 z1 c2 c1 c0 a b 21 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z0 z1 c2 c1 c0 a b 22 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Dada una red de puertas obtener una descripción de su conducta Método: o Dar nombre a cada una de las interconexiones intermedias. o En dirección de entradas a salidas, obtener una EC de cada una de dichas interconexiones como función de las entradas. o Simplificar las expresiones obtenidas. Análisis Red de puertas Expresión de conmutación 23 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z0 z1 x3 x4 x1 x2 T4 T2 T1 T3 T5 T6 T7 T8 T9 24 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z0 z1 x3 x4 x1 x2 T4 T2 T1 T3 T5 T6 T7 T8 T9 25 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 2 niveles NAND‐NAND equivalen a 2 niveles AND‐OR Método: o Cambiar al símbolo alternativo las puertas NAND de los niveles pares de la red. o Eliminar dobles inversores donde sea posible. o Analizar la red AND‐OR normalmente. == 26 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z x0 x1 x2 x3 x4 x5 x6 x4 27 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z x0 x1 x2 x3 x4 x5 x6 x4 28 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z x0 x1 x2 x3 x4 x5 x6 x4 29 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z x0 x1 x2 x3 x4 x5 x6 x4 30 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Implementación de puertas lógicas Un inversor CMOS está formado por un transistor pmos en serie con un transistor nmos con sus puertas unidas: o la entrada del inversor es la puerta común y la salida, el punto de unión de los transistores. o el transistor pmos (pull‐up) tiene un terminal conectado a Vdd y se encarga de poner la salida a ‘1’ cuando conduce (cuando la entrada vale ‘0’). o el transistor nmos (pull‐down) tiene un terminal conectado a Vss y se encarga de poner la salida a ‘0’ cuando conduce (cuando la entrada vale ‘1’). ‘0’ ‘1’ ‘1’ ‘0’X Z = X transistor pMOS transistor nMOS alimentación tierra 31 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Implementación de puertas lógicas Puertas más complejas tienen una estructura análoga: o Dos árboles de transistores duales con entradas comunes y salida común: o Árbol de pull‐up, formado únicamente por transistores pMOS, que conectan condicionalmente (en función de las entradas) la salida a Vdd. o Árbol de pull‐down, formado únicamente por transistores nMOS, que conectan condicionalmente (en función de las entradas) la salida a Vss. x0 x1 10 xxy Puerta NAND CMOS ‘0’ ‘1’ ‘1’ ‘1’ ‘1’ ‘0’ 32 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Señalización Niveles lógicos: el comportamiento de un sistema digital electrónico se expresa en términos de niveles de tensión medidos en voltios. o Físicamente las puertas se implementan para que solo puedan generar 2 niveles de tensión: alta (H) y baja (L) • Los sistemas lógicos positivos asignan el valor '0' a 'L' y '1' a 'H' • Los sistemas lógicos negativos asignan el valor '1' a L y '0' a 'H' o CMOS y TTL son sistemas de lógica positiva. Márgenes de ruido: las puertas se diseñan para tolerar variaciones en los voltajes de las entradas/salidas. o El máximo nivel se denomina margen de ruido. 33 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Señalización rangos de voltajes de salida rango garantizado de voltajes nivel‐alto VOH (min) = 2.7 V VIH (min) = 2 V VOL (max) = 0.5 V VIL (max) = 0.8 V Vdd = 5.0 V Vss = 0.0 V rango de voltajes reconocibles como nivel‐alto rango garantizado de voltajes nivel‐bajo rango de voltajes reconocibles como nivel‐bajo margen nivel‐alto rangos de voltajes de entrada margen nivel‐bajo márgenes de ruido 74LSXX '1' '0' re gi ón in de fin id a 34 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Conectividad Conectividad de salida (fan‐out): indica el número máximo de puertas que pueden conectarse a una salida sin degradar los niveles de tensión o cociente entre la intensidad máxima que puede suministrar/absorber un puerto de salida y la intensidad máxima que absorbe/suministra un puerto de entrada. • 74LSXX (TTL) = 20 • CMOS teóricamente ilimitado (impedancia de entrada muy alta), pero mucha conectividad degrada el retardo de conmutación. 0 IOH IIH 1 1 IOL IIL 0 IOH / IIH = 400 A / 20 A = 20 IOL / IIL = 8 mA / 0,4 mA = 2074LSXX 35 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Retardo El retardo de conmutación de una puerta es proporcional a su impedancia y a las capacidades parásitas de los elementos que estimula (otras puertas e interconexiones). o Mayor cuanto menos intensidad pueda circular por los transistores. o Mayor cuanto mayor sea la carga que tiene que circular. • más elementos conectados, interconexiones más largas, etc.. 1 0 0 1 se carga 0 1 1 0 se descarga 36 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Retardo En una conmutación, las señales no cambian de voltaje instantáneamente. VX VZ retardo de H a L 50% retardo de L a H retardo de bajada retardo de subida X Z 90% 50% 10% 50% 37 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Retardo El retardo es distinto según: o la entrada que provoca la conmutación de la salida. o la polaridad de la conmutación. o del valor del resto de entradas. o factores ambientales. El máximo se denomina retardo de propagación y el mínimo, retardo de contaminación. o Periodo de incertidumbre: intervalo comprendido entre ambos retardo de contaminación retardo de propagación periodo de incertidumbre X Z X Z 38 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Retardo La salida solo cambia dentro del periodo de incertidumbre y puede tomar valores inconsistentes con la FC/EC que implementa. o Fuera de ese periodo las salidas permanecen estables. x y z 1 0 0 1 1 1 1 0 0 1 1 1 1 1 glitches 39 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Consumo El consumo de una puerta depende de o la cantidad de corriente que por ella circule o el voltaje de alimentación Consumo estático: ocurre con el dispositivo en régimen permanente (conectado pero en reposo) o En tecnología CMOS es muy pequeño Consumo dinámico: ocurre con el dispositivo en régimen transitorio (realizando cálculos) o Por conmutación: al cargar y descargar los condensadores de carga. o Por cortocircuito: a través del camino directo que momentáneamente existe entre alimentación y tierra cada vez que el dispositivo conmuta • los transistores no son conmutadores perfectos. • las señales no cambian instantáneamente. 40 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Coste El coste de un circuito depende del área que ocupe: o el área de las difusiones de los transistores. o el área del interconexionado. z x VssVdd Layout de un inversor CMOS Vista cenital Sección verticalpolisilicio óxido fino silicio cristalizadosilicio dopado aluminio óxido grueso X Z = X transistor pMOS transistor nMOS X Z 41 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación El proceso de fabricación de un circuito VLSI: o Parte de un lingote (ingot) de silicio cristalizado. o Que se corta en discos (wafer) que se pulen. o Sobre el que se depositan distintos materiales mediante una serie de procesos fotolitográficos: • Difunden materiales sobre la oblea. • Protegen secciones de material usando máscaras trazadas por el diseñador. • Eliminan, dopan o metalizan las secciones no protegidas. silicio cristalizado Óxido grueso polímero fotosensible O2 Oxide GrowthWafer (tipo p) Photoresist Coating 42 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación Luz ultravioleta Ácido Chemical EtchingPhotolitography (mask #1) solubleinsoluble Soluble Photoresist Removing Si / H2O2 Chemical Vapor Deposition óxido fino polisicilicio (SiH4) Acetona Photoresist Removing Oxide Growth 43 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación Photoresist Coating Photolitography (mask #2) Ácido Soluble Photoresist Removing Plasma Etching Photoresist Removing Photoresist Coating Acetona 44 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación Photolitography (mask #3) Ácido Soluble Photoresist Removing Chemical Etching Iones n+ n+ n+ Ion Implantation (mask #4) Acetona Photoresist Removing Chemical Etching 45 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación O2 Oxide Growth Photolitography (mask #5)Photoresist Coating Acetona Photoresist Removing Ácido Soluble Photoresist Removing Chemical Etching 46 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación Al Metal Vapor Deposition Photoresist Coating Photolitography (mask #6) Ácido Soluble Photoresist Removing Chemical Etching Acetona Photoresist Removing 47 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación El fabricante extrae las máscaras a usar durante el proceso de fabricación a partir del layout trazado por el diseñador. Mask #1, #3, #4 Layout de un inversor CMOS transistor n‐mos Mask #5 Mask #6 Mask #2 48 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación El trazado del layout (forma y ubicación de cada capa de material) es un proceso muy complejo que puede hacerse: o Desde cero: diseño full‐custom o Ubicando y/o interconectando celdas prediseñadas a nivel físico o incluso ya prefabricadas: diseño semi‐custom Existen distintas tecnologías semi‐custom • Standard cells, Gate arrays, Sea of gates, FPGA, etc. Pero una muy popular es la basada en standard cells: o El fabricante facilita bibliotecas de celdas prediseñadas a nivel físico. • Cada celda realiza una función lógica simple. • Geométricamente es un rectángulo de altura fija y anchura variable (+ancha cuanto +compleja es su función lógica). o El diseñador implementa circuitos usando solo celdas de la biblioteca. o El layout se traza ubicando las celdas en filas e interconectándolas. 49 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Fabricación La geometría de un layout se define en términos de un único parámetro λ Su valor absoluto disminuye en cada generación tecnológica: o 2004: 90nm , 2006: 65nm, 2008: 45nm, 2010: 32nm, 2012: 22nm Conforme λ disminuye, la densidad de integración aumenta. o Evolución de las NAND Flash (Samsung): • 2 Gb (90nm), 8 Gb (65nm), 16 Gb (50nm), 32Gb (32nm), 64 Gb (22nm) o Representa la dimensión más pequeña definible en un proceso tecnológico, típicamente es la mitad de la longitud mínima de canal. o Todas las dimensiones se expresan como múltiplos enteros de λ, permitiendo el escalado proporcional de todo el circuito. 2λ 50 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Puerta # transistores Área (m2) Retardo (ps) Consumo estático (nW) Consumo dinámico (nW/MHz) 2 6.4512 100 52 618 6 7.3728 180 56 6545 6 7.3728 171 58 6859 4 5.5296 132 78 5208 4 6.4512 132 49 6190 14 13.8240 237 89 8702 12 13.8240 136 82 16372 Biblioteca de celdas: CMOS 90 nm fu en te : S yn op sy s (S A E D E D K 9 0 nm ) Vdd = 1.2V, T=25ºC, CL = 13 fF 51 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Biblioteca de celdas: CMOS 90 nm Puerta # transistores Área (m2) Retardo (ps) C. estático (nW) C. dinámico (nW/MHz) 8 8.2944 206 59 8222 10 10.1376 214 63 8557 8 9.2160 184 62 7396 10 10.1376 199 64 7698 6 11.9808 192 102 12200 8 12.9024 178 161 15214 6 11.9808 153 104 16521 8 15.6672 126 119 14991 fu en te : S yn op sy s (S A E D E D K 9 0 nm ) 52 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Biblioteca de celdas: CMOS 90 nm Puerta # transistores Área (m2) Retardo (ps) Consumo estático (nW) Consumo dinámico (nW/MHz) 6 11.9808 181 86 13912 8 12.9024 204 89 13290 12 15.6672 221 109 13982 10 11.9808 238 63 10662 8 12.9024 174 98 10666 fu en te : S yn op sy s (S A E D E D K 9 0 nm ) 53 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Biblioteca de celdas: CMOS 90 nm 2,88 m 2,24 m 8 m CMOS 90nm (2002) CMOS 32nm (2010) Área de un inversor: 6.4512 m2 (CMOS 90 nm), 1.27072 m2 (CMOS 32 nm) o Área de un glóbulo rojo ( 8m): 50.26 m2 Anchura de una interconexión: 140 nm o Longitud de un cromosoma X: 7000 nm, diámetro de un virus de gripe: 130 nm Retardo medio de un inversor: 100 ps (CMOS 90 nm), 38 ps (CMOS 32 nm) o La luz en 100 ps recorre 3 cm Consumo de un inversor: 670 nW (CMOS 90 nm, conmutando a 1 MHz) o Una pila alcalina AA (2890 mAh) alimentando al inversor duraría 740 años fu en te : L ea rn .G en et ic s (U TA H U ni v. ) virus de gripe vs. interconexión 54 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Evolución tecnológica fu en te s: N V D IA , I N TE L 24 mm 24 m m Intel 4004 (1971) 2.300 transistores (full custom, MOSFET 10 m) 1.400.000.000 transistores (standard cells, CMOS 65 nm) NVIDIA GT200 GPU (2008) 55 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Entrada/salida elemental Un LED (Light‐Emitting Diode) es el dispositivo más simple por el que un sistema digital puede mostrar su estado. o Típicamente se ilumina cuando entre cátodo (‐) y ánodo (+) hay una diferencia de potencial superior a 1.7 V. o La máxima luminosidad se consigue cuando por él circula una intensidad de entre 10 y 20 mA. o Se conecta a un puerto de salida de un circuito a través de una resistencia limitadora. R x R (TTL) = (5V ‐ 1.7V) / 10 mA = 330 lógica inversa (se ilumina con X=0) +‐ 56 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Entrada/salida elemental Un display 7‐segmentos es un banco de 7/8/9 leds que comparten uno de los terminales. o Cada led debe disponer de su propia resistencia limitadora. Existen un gran número de displays basados en leds 8x ánodo común, lógica inversa R 57 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Entrada/salida elemental Un switch/pulsador es el dispositivo más simple por el que introducir datos a un sistema digital. o Se conecta a un puerto de entrada de un circuito a través de una resistencia de pull‐up (o pull‐down) • Asegura un nivel lógico por defecto cuando no hay pulsación. • Evita el cortocircuito se crearía en su ausencia cuando hay pulsación. • Debe ser alta para limitar la corriente que circula por el pulsador (y así reducir el consumo) cuando este se cierra. lógica inversa (al pulsar, X=0) R x R ≥ 10 K I (TTL) = 5 V / 10 K = 0.5 mA 58 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Entrada/salida elemental No obstante, cuando un sistema digital lee el estado de un interruptor encuentra los siguientes problemas: o Cada cambio de estado del interruptor, genera un vaivén transitorio en la señal de entrada (rebote). • Una pulsación puede interpretarse erróneamente como una serie de ellas o Los cambios de estado del interruptor son asíncronos. Por ello, los sistemas digitales incorporan mecanismos de sincronización y filtrado de rebotes en sus entradas externas. 10‐100 ms ~ µs 100 ms (min) rebote de depresiónrebote de presión x 10‐100 ms 59 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 El diseño digital es un proceso de ingeniería: o Debe elegirse el mejor circuito posible que realice una función. o Pero ... ¿cuál es el mejor cuando infinidad hacen lo mismo? Las métricas de calidad permiten tomar la decisión: o Coste, velocidad, consumo, robustez, reusabilidad, time‐to‐market... o Dado que la mejora en una métrica afecta al resto, hay que llegar a un compromiso (trade‐off). • por ejemplo, típicamente una mejora en velocidad implica un aumento del coste o La importancia relativa de las mismas varía en cada producto. • por ejemplo, una misma funcionalidad se implementará de forma distinta si se integra en una lavadora o si lo hace en un satélite El conjunto de implementaciones posibles de una misma especificación se denomina espacio de diseño o el diseño digital es un problema de optimización multi‐objetivo 60 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 1: coste (CMOS 90 nm) z2 z1 c2 a b c1 z0 c0 2 2 8 8 6 8 8 8 8 6 8 8 6 núm. transistores: 2×2 + 6×8 + 2×6 + 2×8 + 1×6 = 86 área: 2×6.4512 + 6×8.2944 + 2×7.3728 + + 2×9.21.60 + 1×7.3728 = 103.2 m2 61 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 1: retardo (CMOS 90 nm) z2 z1 c2 a b c1 z0 c0 100 100 206 206 180 184 206 206 206 180 206 184 171 td = 100+206+184 = 490 ps tc = 180 + 184 = 364 ps td = 100+206+171 = 477 ps tc = 206+171 = 377 ps td = 100+206+184 = 490 ps tc = 180 + 184 = 364 ps 62 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 2: coste (CMOS 90 nm) c2 a b c1 c0 6 6 4 8 6 6 6 4 6 6 6 4 86 núm. transistores: 5×4 + 8×6 = 68 área: 5×5.5296 + 8×11.9808 = 123.3 m2 4 4 z2 z1 z0 63 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 2: retardo (CMOS 90 nm) c2 a b c1 c0 192 192 132 8 192 192 192 132 192 6 192 132 8192 132 132 td = 132+192+192 = 516 ps tc = 132+192 = 324 ps td = 132+192+132= 456 ps tc = 192+132 = 324 ps td = 132+192+192 = 516 ps tc = 132+192 = 324 ps z2 z1 z0 64 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 3: coste (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 2 2 6 6 6 6 6 6 6 6 6 6 núm. transistores: 7×6 + 3×6 + 2×2 = 64 área: 7×7.3728 + 3×7.3728 + 2×6.4512 = 86.63 m2 65 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 3: retardo (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 100 100 180 180 171 180 180 171 180 180 171 180 z2: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps z1: td = 100+180+171+180 = 631 ps tc = 180 ps z0: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps 66 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 3: retardo (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b z2: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps z1: td = 100+180+171+180 = 631 ps tc = 180 ps z0: td = 100+180+171+180+171 = 802 ps tc = 180 + 171 = 315 ps 100 100 180 180 171 180 180 171 180 180 171 180 67 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 z2 z0 z1 c2 c1 c0 a b 2 2 6 6 6 6 6 6 6 12 diseño 4: coste (CMOS 90 nm) núm. transistores: 1×12 + 5×6 + 2×6 + 2×2 = 58 área: 1×13.824 + 5×7.3728 + 2×7.3728 + 2×6.4512 = 78.35 m2 68 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 4: retardo (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b z2: td = 100+180+171 = 451ps tc = 180 + 171 = 315 ps z1: td = 132+180 = 312 ps tc = 180 ps z0: td = 100+180+171 = 451ps tc = 180 + 171 = 315 ps 100 100 180 180 171 180 180 171 180 132 69 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 5: coste (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 4 4 4 4 4 4 4 4 4 4 4 4 4 núm. transistores: 13×4 = 52 área: 13×5.5296 = 71.88 m2 70 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 5: retardo (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 132 132 132 132 132 132 132 132 132 132 132 132 132 z2: td = 5×132 = 660 ps tc = 2×132 = 264 ps z1: td = 5×132 = 660 ps tc = 2×132 = 264 ps z0: td = 5×132 = 660 ps tc = 2×132 = 264 ps 71 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 6: coste (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 2 2 6 10 10 10 núm. transistores: 3×10 + 6 + 2×2 = 40 área: 3×11.9808 + 7.3728 + 2×6.4512 = 56.22 m2 72 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 diseño 6: retardo (CMOS 90 nm) z2 z0 z1 c2 c1 c0 a b 180 238 238 238 100 100 z2: td = 100+238+238 = 576 ps tc = 238 ps z1: td = 100+238+180 = 518 ps tc = 180 ps z0: td = 100+238+238 = 576 ps tc = 238 ps 73 FC te m a 3: Im pl em en ta ci ón d e si st em as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Espacio de diseño (CMOS 90 nm) 100 200 300 400 500 600 700 800 10 0 50 15 0 retardo (ps) ár ea ( m 2 ) 1 2 3 4 5 6 implementaciones subóptimas óptimos de Pareto para cualquier métrica hay algún circuito mejor son los mejores según alguna métrica (según las restantes pueden ser peores) Temas/FCpensar1.pdf Facultad de Informática Universidad Complutense de Madrid Cuestiones para pensar de Fundamentos de Computadores Tema 1 / pág. 1 CUESTIONES PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES TEMA 1 1. La notación posicional no se limita a representar cantidades enteras sino que puede extenderse fácilmente para representar números racionales. La notación posicional que permite incluir un punto decimal en una cadena de dígitos (para distinguir la parte entera de la parte fraccionaria) se denomina notación de punto fijo. Investiga: a. La expresión matemática que permite calcular el valor de un número representado en punto fijo (Pista: los dígitos a la derecha del punto tienen pesos que son potencias negativas de la base). b. El procedimiento para sumar 2 números que tienen el punto en distintas posiciones de la cadena de dígitos (Pista: tal como lo haces en decimal). c. ¿Seguirían siendo válidas las notaciones de MyS y C2 en el caso de que incluyeran un punto decimal? 2. Encuentra una expresión polinomial que permita calcular el valor de un número representado en C2 (Pista: el peso del bit de signo es negativo). 3. La suma binaria (y en general la aritmética binaria) no es directamente aplicable cuando se opera con números codificados en decimal, por ejemplo: (12+18)10 = (30)10 (00010010 + 00011000)BCD = (00110000)BCD Sin embargo: (00010010 + 00011000)2 = (00101010)2 a. Investiga el algoritmo para sumar 2 cantidades codificadas en BCD (Pista: las cadenas de bits deben sumarse en binario en bloques de 4 bits y el resultado de la suma de cada bloque corregirse cuando no representa a un dígito decimal válido). b. Ídem para sumar 2 cantidades codificadas en decimal Ex3. 4. Las representaciones redundantes tienen por objetivo la detección y/o recuperación de la información codificada frente a errores de almacenamiento o transmisión. El código detector de errores más simple es el que añade a cada dato un bit adicional de paridad. Investiga en qué consiste. ¿Cómo generalizarías la idea para que además se pudieran corregir los errores simples (en donde solo un bit cambia)? (Pista: tras cada cierto número de datos se añade una palabra de paridad) 5. Una de las codificaciones más comunes del color de un pixel en un sistema digital es la RGB. Investiga en qué consiste. ¿Cómo convertirías una imagen cuyos píxeles están codificados en escala de grises a RGB? 6. Las codificaciones convencionales suelen ser de longitud fija, es decir, todo dato se representa con el mismo número de bits. Sin embargo, cuando han de transmitirse/almacenarse un gran volumen de datos y estos no son equiprobables estas codificaciones dan lugar a un gran desperdicio de ancho de banda/espacio. La codificación de Huffman, es una representación de longitud variable que cuanto más frecuente es un dato, lo codifica con un código más corto. Investiga cómo funciona. Temas/FCtemario.pdf Facultad de Informática Universidad Complutense de Madrid Temario de Fundamentos de Computadores 1er. cuatrimestre / pág. 1 FUNDAMENTOS DE COMPUTADORES TEMARIO – 1ER. CUATRIMESTRE 1 Representación digital de la información (4 clases) Introducción de conceptos. Sistemas de numeración: binario, octal y hexadecimal. Aritmética binaria. Conversión entre bases. Representación de números enteros: Magnitud y signo, complemento a 1, complemento a 2. Aritmética entera: Magnitud y signo, complemento a 2. Otras codificaciones. 2 Especificación de sistemas combinacionales (4 clases) Especificación de alto nivel, especificación binaria. Codificación. Funciones de conmutación. Tablas de verdad. Expresiones de conmutación. Algebra de Boole. Transformaciones algebraicas. Forma canónica. Suma de productos. Mapas de Karnaugh. Simplificación. 3 Implementación de sistemas combinacionales (4 clases + 1 lab) Puertas lógicas. Conjuntos universales de puertas. Síntesis con puertas AND-OR-NOT. Síntesis con puertas NAND. Análisis de redes de puertas. Aspectos tecnológicos (no entra en examen). Espacio de diseño y trade-offs (no entra en examen). 4 Módulos combinacionales básicos (4 clases + 1 lab) Descodificador. Multiplexor. Bus. Codificador. ROM (Read Only Memory). Sumador/restador. Comparador. ALU (Arithmetic Logic Unit). Temario detallado de Fundamentos de Computadores 1er. cuatrimestre / pág. 2 5 Especificación de sistemas secuenciales síncronos (2 clases) Especificación basada en estados. Diagramas de estados. Máquinas de Mealy y Moore. 6 Implementación de sistemas secuenciales síncronos (4 clases + 1 lab) Biestable RS. Biestable D. Síntesis con biestables D. Inicialización de sistemas secuenciales. Aspectos tecnológicos (no entra en examen). 7 Módulos secuenciales básicos (4 clases + 2 labs) Registro. Registro de desplazamiento. Contadores. Banco de registros. RAM (Ramdom-Access Memory) Rutas de datos y controladores. Temas/FCtema5-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 5: Especificación de sistemas secuenciales síncronos Fundamentos de computadores 2 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Especificación basada en estados. Diagramas de estados. Máquinas de Moore y Mealy. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 La salida en cada instante depende del valor de la entrada en ese instante y de todos los valores que la entrada ha tomado con anterioridad. o En ocasiones, a misma entrada, distinta salida. Para especificar su comportamiento deberán definirse: o Los conjuntos discretos de valores de entrada/salida: E, S o ¿Cómo especificar la función F? z(ti) = F( x( [0, ti] ) ), con x(ti)E, z(ti)S Fx(t) z(t) 4 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Estado: clase de equivalencia formada por todas las secuencias de valores de entrada que producen una misma salida actual y futura. x(t) E = { A, B, C }, z(t) S = { 0, 1 } x(t) A B C B B A C B A A C C A B B z(t) 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 Fx(t) z(t) tiempo 5 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 A B C z(t+t)x(t+t) 1 0 0 z(t) 0 0 0 B B A B C C C B A A B A A B C x( [0...t] ) A A C B A B A A A A C A x( [0...t] ) z(t) 1 1 1 A B C z(t+t)x(t+t) 0 1 1 Estado IMPAR: Han llegado un número impar de Aes Estado PAR: Han llegado un número par de Aes 6 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Especificación del dominio: E o Conjunto discreto de valores que puede tomar la entrada. Especificación del codominio: S o Conjunto discreto de valores que puede tomar la salida. Especificación del conjunto de estados: Q o Conjunto discreto de estados en los que puede estar el sistema. Función de transición de estados: G: Q×E Q o Define cuál será el estado siguiente del sistema para cada posible par (estado del sistema, valor de la entrada). Función de salida: H: Q×E S o Define cuál será la salida para cada posible par (estado del sistema, valor de la entrada) 7 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 x(t) E = { A, B, C }, z(t) S = { 0, 1 } q(t) Q = { par, impar } Fx(t) z(t) q x q' par A impar par B par par C par impar A par impar B impar impar C impar q x z par A 0 par B 1 par C 1 impar A 1 impar B 0 impar C 0 Función de transición de estados Función de salida 8 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 C/1 par B/1 impar A/0 A/1 C/0 B/0 q x q' z par A impar 0 par B par 1 par C par 1 impar A par 1 impar B impar 0 impar C impar 0 Representa un de sistema secuencial mediante un grafo: o Cada estado se representa por un nodo. o Cada transición de estado por un arco dirigido y etiquetado: • Cada arco une un estado origen con estado destino. • La etiqueta indica el valor de entrada que provoca la transición y el valor de la salida para el par (estado origen, entrada). • Esto NO quiere decir que la salida se calcule durante la transición. 9 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 La entrada es un vector de n bits o x { 0, 1 }n es decir, x = (xn‐1... x0) con xi {0, 1} La salida es un vector de m bits o z { 0, 1 }m es decir, z = (zm‐1... z0) con zi {0, 1} El estado es un vector de p bits o q { 0, 1 }p es decir, q = (qp‐1... q0) con qi {0, 1} Función de transición de estados: o p funciones de conmutación de p+n variables o G = { gi : { 0, 1 }p+n { 0, 1 } / qi = gi(q, x), con 0 ≤ i ≤ p‐1 } Función de salida: o m funciones de conmutación de p+n variables o H = { hi : { 0, 1 }p+n { 0, 1 } / zi = hi(q, x), con 0 ≤ i ≤ m‐1 } 10 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Codificación domino: { A (00), B (01), C (10) } Codificación codomino: { 0 0, 1 1 } Codificación estados: { par 0, impar 1 } q x1 x0 q' 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 ‐ 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 ‐ q x1 x0 z 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 ‐ 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 ‐ Función de transición de estados Función de salida 11 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Sistema secuencial asíncrono: o El estado del sistema puede cambiar en cualquier instante en respuesta a un cambio de la entrada. Sistema secuencial síncrono: o El estado del sistema solo puede cambiar en un conjunto discreto de instantes indicados por una señal de reloj. o Un cambio en la entrada no provoca por sí mismo un cambio de estado. o Sólo el valor existente en la entrada en los instantes marcados por el reloj afectan al estado. clk La señal de reloj es cuadrada y periódica de frecuencia, fclk, fija. Los cambios de 1 a 0 (flanco subida) ó 0 a 1 (flanco de bajada) marcan los instantes. 12 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 G H lógica combinacional de generación del estado siguiente x(t) z(t) q'(t) lógica combinacional de generación de salidas registro de estado q(t) n mp p Estructura de una Máquina de Moore La salida en todo instante depende exclusivamente del estado en que se encuentra el sistema. clk 13 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 G H lógica combinacional de generación del estado siguiente x(t) z(t) q'(t) registro de estado q(t) n mp p Estructura de una Máquina de Mealy La salida en cada instante depende del estado en que se encuentra el sistema y del valor de la entrada en ese instante. clklógica combinacional de generación de salidas 14 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Mealy: Moore: q x q' par A impar par B par par C par impar A par impar B impar impar C impar q z par 1 impar 0 C par 1 B impar 0 A A C B q x q' par A impar par B par par C par impar A par impar B impar impar C impar C/1 par B/1 impar A/0 A/1 C/0 B/0 q x z par A 0 par B 1 par C 1 impar A 1 impar B 0 impar C 0 15 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 A B A C A impar par impar par impar par parimparpar impar imparpar par par imparimpar clk x(t) q'(t) q(t) z(t) q x q' par A impar par B par par C par impar A par impar B impar impar C impar q z par 1 impar 0G Hx(t) z(t)q'(t) q(t) 16 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 A B A C A impar par impar par impar par parimparpar impar imparpar par par imparimpar clk x(t) q'(t) q(t) z(t) C par 1 B impar 0 A A C B 17 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 A B A C A impar par impar par impar par parimparpar impar imparpar par par imparimpar G Hx(t) z(t)q'(t) q(t) q x q' z par A impar 0 par B par 1 par C par 1 impar A par 1 impar B impar 0 impar C impar 0 clk x(t) q'(t) q(t) z(t) 18 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 A B A C A impar par impar par impar par parimparpar impar imparpar par par imparimpar clk x(t) q'(t) q(t) z(t) C/1 par B/1 impar A/0 A/1 C/0 B/0 19 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Las salidas de las máquinas Moore y Mealy son notablemente diferentes. o Pero como, típicamente, son leídas por otro sistema sincronizado con el mismo reloj, solo son relevantes los valores existentes en los flancos de reloj. Por ello, a efectos prácticos, la salida de la máquina de Moore equivale a la de Mealy pero con un ciclo de retraso. A B A C A impar par impar par impar par clk x(t) q(t) z(t) Mealy z(t) Moore 1 0 1 1 1 1 0 1 A A A B C C A A 0 1 0 1 1 1 1 0 20 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Estado S0: no ha llegado ningún elemento del patrón Estado S1: ha llegado el subpatrón "a" Estado S2: ha llegado el subpatrón "ab" a/NO b/NO S1S0 Máquina de Mealy a/NO S2 b/NO b/SI a/NO z(t) = SI si x(t‐2)=a y x(t‐1)=b y x(t)=b NO en caso contrario Estado inicial 21 FC te m a 5: Es pe ci fic ac ió n de s is te m as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Estado S0: no ha llegado ningún elemento del patrón Estado S1: ha llegado el subpatrón "a" Estado S2: ha llegado el subpatrón "ab" Estado S3: ha llegado el patrón "abb" Máquina de Moorez(t) = SI si x(t‐3)=a y x(t‐2)=b y x(t‐1)=b NO en caso contrario a b S0 a bEstado inicial b b a a NO S1 NO S2 NO S3 SI Temas/FCpensar2.pdf Facultad de Informática Universidad Complutense de Madrid Temas para pensar de Fundamentos de Computadores Tema 2 / pág. 1 TEMAS PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES TEMA 2 1. La especificación de una FC mediante una suma de mintérminos tiene una formulación dual en forma de producto de maxtérminos. Mientras que un mintérmino de n variables es un término producto de n literales en donde cada variable aparece una única vez y representa a una FC que vale 0 en todos los puntos de su dominio menos en uno, un máxtermino de n variables es un término suma de n literales en donde cada variable aparece una única vez y representa una FC que vale 1 en todos los puntos de su dominio menos en uno. Así, si una FC genérica puede expresarse como la suma de un conjunto de mintérminos (que determinan los 1s de la FC), esa misma función también puede expresarse como el producto de un conjunto de maxtérminos (que determinan los 0s de la función). Investiga: a. Cuál es el valor de un maxtérmino Mi para una asignación de variables dada. b. Cómo obtener la EC que representa un maxtérmino de n variables Mi. c. Cómo obtener el producto de sumas canónico (PSC) equivalente a una SPC dada. 2. El método de simplificación usando mapas de Karnaugh permite tanto obtener EC simplificadas en forma de suma de términos producto, como EC simplificadas en forma de producto de términos suma (un término suma es una EC compuesta únicamente por una suma de literales). Mientras que para obtener los términos producto que sumados forman la EC simplificada agrupamos los 1s, para obtener los términos suma que multiplicados forman la EC dual agrupamos los 0s. Investiga cómo obtener la EC de los términos suma que forman una cobertura de un MK. 3. Los mapas de Karnaugh solo son un medio eficaz para simplificar FC de conmutación de pocas variables, ya que cuando el número de variables crece la representación gráfica deja de ser manejable. Un método alternativo es el conocido como Quine-McCluskey que reproduce tabularmente y de manera más sistemática un método análogo al que se sigue informalmente al simplificar por MK. Investiga cómo funciona. 4. Los métodos de simplificación exactos (encuentran siempre EC mínimas) tipo Quine- McCluskey adolecen de tener una complejidad exponencial (el tiempo requerido para encontrar la EC mínima crece exponencialmente conforme aumenta el número de variables de la FC a simplificar), por ello, si el número de variables es demasiado elevado es necesario utilizar métodos de simplificación heurísticos (encuentran EC “razonablemente” simplificadas pero no mínimas) de menor complejidad. Uno de los primeros y más conocidos métodos heurísticos de simplificación es el algoritmo Espresso. Investiga cómo funciona. Temas/FCtema6-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 6: Implementación de sistemas secuenciales síncronos Fundamentos de computadores 2 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Biestable SR. Biestable D. Síntesis con biestables D. Inicialización de sistemas secuenciales. Aspectos tecnológicos. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Dispositivo capaz de almacenar físicamente un bit de información (tener 2 estados estables). o mediante un circuito combinacional realimentado R S Q Q Biestable SR asíncrono R(t) S(t) Q(t+t) 0 0 Q(t) 0 1 1 1 0 0 1 1 prohibido R S Q Q 4 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 R(t) S(t) Q(t) Q(t) R(t) S(t) Q(t+∆t) 0 0 Q(t) 0 1 1 1 0 0 1 1 prohibido R S Q Q 132 ps 264 ps 264 ps 132 ps 132 132 5 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 R S Q Q Biestable SR asíncrono (implementación con NOR) R S Q Q Biestable SR asíncrono (implementación con NAND) R S Q R S Q Q Q R(t) S(t) Q(t+t) 0 0 Q(t) 0 1 1 1 0 0 1 1 prohibido R(t) S(t) Q(t+t) 0 0 prohibido 0 1 0 1 0 1 1 1 Q(t) R S Q Q 6 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 G(t) R(t) S(t) Q(t+t) 0 X X Q(t) 1 0 0 Q(t) 1 0 1 1 1 1 0 0 1 1 1 prohibido R S Q Q G Biestable SR síncrono disparado por nivel (Latch SR) R S Q QG Rb Sb Q Q G R Rb 0 0 0 0 1 0 1 0 0 1 1 1 G S Sb 0 0 0 0 1 0 1 0 0 1 1 1 Rb = G·R Sb = G·S R S G Rb/Sb = 0 si G=0 R/S si G=1 7 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 R S Q Q G Biestable SR síncrono disparado por nivel (Latch SR) R S Q Q G G(t) R(t) S(t) Q(t+t) 0 X X Q(t) 1 0 0 Q(t) 1 0 1 1 1 1 0 0 1 1 1 prohibido R S Q QG 8 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 R(t) S(t) G(t) Q(t+t) X X 0 Q(t) 0 0 1 Q(t) 0 1 1 1 1 0 1 0 1 1 1 prohibido R S Q Q G G(t) S(t) R(t) Q(t) 444 ps 312 ps 444 ps 312 ps 180 132 132 180 9 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 R S Q Q D D R 0 1 1 0 R = D S = D D Q QG G(t) D(t) Q(t+t) 0 X Q(t) 1 0 0 1 1 1 Q Q Biestable D síncrono disparado por nivel (Latch D) D G D S 0 0 1 1G 10 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 G(t) D(t) Q(t) Q Q D G 444 ps 312 ps 444 ps 412 ps G(t) D(t) Q(t+t) 0 X Q(t) 1 0 0 1 1 1 180 132 100 180 132 11 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 D Q Q D(t) CLK Q(t+1) 0 0 1 1 resto Q(t) Biestable D síncrono disparado por flanco de subida (Flip‐flop D, implementación con NAND) Q Q S R CLK D Latch de salida Latch de puesta a 1 Latch de puesta a 0 Q Q S R Q Q Q QR S 12 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 CLK(t) D(t) Q(t) 264ps 396 ps 264 ps Q Q D 0→1 1→0 0→1 1→01 CLK 1 0 1 Q D 0→1 1 1→0 0→11→0 CLK 0 1 0 132 132 132 132 132 Q 13 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 D Q Q D(t) CLK Q(t+1) 0 0 1 1 resto Q Q Q CLK D Biestable D síncrono disparado por flanco de bajada (Flip‐flop D, implementación con NOR) 14 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Dada una especificación de una conducta secuencial implementarla como una red de módulos combinacionales y biestables D, en donde: o Todos los biestables se conectan a una señal de reloj periódica. o Todos los biestables se disparan por flancos de la misma polaridad. o Toda realimentación incluye al menos un biestable. Implementación canónica: realización directa de un diagrama de estados: o El registro de estado se implementa como un array de biestables D disparados por flanco (todos de la misma polaridad) con reloj común. o 2 bloques de lógica combinacional implementan las funciones de salida y de transición de estados. 15 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Este método de síntesis sigue un modelo de temporización síncrona por flanco de reloj global, en donde: o Los cálculos que realiza el sistema se realizan ciclo a ciclo. o Las fronteras del ciclo están marcadas por las transiciones de igual polaridad en el reloj común. o Al comienzo del ciclo, el sistema hace un cambio de estado mediante la actualización simultánea de todos los biestables. o El nuevo estado provoca transiciones en las entradas de los módulos combinacionales que a su vez provocarán transiciones en sus salidas. o El cálculo a realizar en el ciclo finaliza cuando todos los sistemas combinacionales han alcanzado su régimen permanente. o Los valores permanentes a la salida de los módulos combinacionales son utilizados para actualizar los biestables al comienzo del ciclo siguiente. 16 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 a b S0 a bEstado inicial b b a a NO S1 NO S2 NO S3 SI reconocedor del patrón "abb"x z Codificación domino: { a 0, b 1 } Codificación codominio: { NO 0, SI 1 } Codificación estados: { S0 (00), S1 (01), S2 (10), S3 (11) } x q1 q0 q1' q0' 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 q1 q0 z 0 0 0 0 1 0 1 0 0 1 1 1 Fu nc ió n de tr an si ci ón de e st ad os Fu nc ió n de s al id a Máquina de Moore ′ ̅ ′ ⊕ 17 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 D Q Q D Q Q CLK x z ′ ′ Función de salida Función de transición de estados ′ ̅ ′ ⊕ 18 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Codificaciones distintas dan lugar a implementaciones diferentes de la misma máquina de estados. o Por ello es interesante elegir aquella codificación que reduzca al máximo el coste/retardo de los circuitos de transición y salida. x q1 q0 q1' q0' 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 1 0 1 q1 q0 z 0 0 0 0 1 0 1 0 0 1 1 1 Fu nc ió n de tr an si ci ón de e st ad os Fu nc ió n de s al id a ′ ′ Codificación domino: { a 0, b 1 } Codificación codominio: { NO 0, SI 1 } Codificación estados: { S0 (01), S1 (00), S2 (10), S3 (11) } requiere 2 puertas menos 19 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 D Q Q D Q CLK ′ ′ Función de transición de estados ′ ′ Q x z Función de salida 20 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 ¿Cual es el estado de un biestable al encenderlo? o Cualquiera de los 2 posibles. ¿Cual es el estado de un sistema secuencial al encenderlo? o Cualquiera de los posibles (incluyendo prohibidos). Todos los sistemas secuenciales tienen una entrada de inicialización para llevarlos asíncronamente a un estado inicial. o Esta entrada global de reset deberá conectarse según la codificación del estado inicial a la entrada de inicialización que corresponda de cada uno de los biestables del circuito. 21 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Q Q D G CL ST D G Q QST CL G(t) D(t) CL(t) ST(t) Q(t+t) X X 0 0 prohibido X X 0 1 0 X X 1 0 1 0 X 1 1 Q(t) 1 0 1 1 0 1 1 1 1 1 Biestable D síncrono disparado por nivel con inicialización asíncrona 22 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Q Q CLK D ST CL D CLK CL ST Q' X X 0 0 prohibido X X 0 1 0 X X 1 0 1 0 1 1 0 1 1 1 1 resto 1 1 Q D Q QST CL Biestable D síncrono disparado por flanco de subida con inicialización asíncrona 23 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 El reset se distribuye según la codificación del estado inicial: D Q Q D Q Q CLK x z ′ ′ CL CL RST S0 Estado inicial NO Codificación: { S0 (00)... } ST 1 ST 1 ′ ̅ ′ ⊕ 24 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 El reset se distribuye según la codificación del estado inicial. D Q Q D Q CLK ′ ′ ′ ′ Q x z S0 Estado inicial NO Codificación: { S0 (01)... } 1 1 CL CL ST ST RST 25 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Implementación de biestables Un biestable CMOS suele implementarse realimentando parejas de inversores a través de puestas de paso. D Q CLK = ‘1’ D CLK = ‘0’ Qs s x y = x D QCLK x y = x Latch D CMOS 26 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Retardo En un biestable disparado por flanco, las salidas cambian en respuesta al flanco del reloj y NO al cambio de la entrada. o los retardos se miden desde dicho flanco, el máximo se denomina retardo de propagación y el mínimo, retardo de contaminación. Además, para que tenga un comportamiento predecible, la entrada debe estar estable en las proximidades del flanco: o Como mínimo debe estar estable durante el tiempo de setup (antes del flanco) y durante tiempo de hold (después del flanco). D Q clk x x retardo de contaminación retardo de propagación tiempo de setup tiempo de hold D Q 27 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Metaestabilidad Cuando se viola el tiempo de hold o el de setup, el biestable entra en un estado metaestable caracterizado por: o El retardo de propagación del biestable no está acotado. o El valor de salida del biestable es impredecible y, por tanto, se propagan en cadena valores inconsistentes por todo el circuito. D Q clk t periodo de apertura (hold+setup) el voltaje inicial alcanzado se amplifica exponencialmente La salida del biestable todavía no es ni 0 ni 1 la salida hace un cambio de voltaje proporcional a la anchura de este intervalo La salida converge a 0 ó a 1 en un tiempo no predecible 28 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Reglas de diseño Por tanto, un sistema secuencial con temporización por flanco tendrá un comportamiento correcto si: o El tiempo de ciclo del reloj es lo suficientemente largo para que todos los sistemas combinacionales alcancen su régimen permanente. o Las entradas de todos los biestables permanecen estables durante su periodo de apertura (hold+setup). ligadura de retardo máximo: )ttt(t ffs lc d ff dCLK 21 ligadura de retardo mínimo: 21 ff h lc c ff c t)tt( ff1 ff2 Dff2 Qff1 clk D QD Q lógica combinacional 2ff st 2 ff ht lc c ff c tt 1 lc d ff d tt 1 x f(x) CLKt f x f(x) El ff2 carga f(x) clk 29 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Reglas de diseño No obstante, un sistema correctamente temporizado puede fallar si la señal de reloj no se distribuye adecuadamente: o Si la señal de reloj llega con retraso (skew) a las entradas de reloj de algunos flip‐flops, el sistema se desincroniza. o Ídem si la frecuencia del reloj no es perfectamente regular (jitter). ff1 ff2 Dff2 Qff1 clkff1 D QD Q CLKt clkff2 skewt x Los valores que carga ff2 son impredecibles lógica combinacional f tskew f(x) f(x) • Distinta longitud de cable • Ruido (interferencias) • Diferente carga local • Variaciones locales de temperatura • etc... clk 30 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Reglas de diseño Asimismo, un sistema también puede fallar si sus entradas cambian asíncronamente porque están conectadas a: o Las salidas de otro sistema con distinto reloj. o Un dispositivo puramente asíncrono (i.e pulsador) En ambos casos es necesario utilizar sincronizadores. o El más básico consiste en conectar varios biestables D en cascada. R pulsador D QD Q sistema secuencial sincronizador de 2 etapas clk entrada asíncrona entrada síncrona 31 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Generación de reloj La señal de reloj primaria se genera externamente usando: o Cristal de cuarzo o Oscilador integrado con frecuencia fija o programable Dentro del chip esta señal se acondiciona y se multiplica/divide para obtener la frecuencia deseada. XTAL C C clk R clkOSC clkOSC n 32 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Generación de reloj La frecuencia (periodo) de reloj aumenta (disminuye) en cada generación tecnológica Evolución de las frecuencia de reloj de procesadores Intel o 4004 (1971): 108 KHz (periodo 9.25 s) o 8086 (1978): 4.77 MHz (periodo 0.21 s) o 80386 (1985): 16 MHz (periodo 62.5 ns) o Pentium (1993): 66 MHz (periodo 15.2 ns) o Pentium 4 (2000): 1.5 GHz (periodo 667 ps) o Intel Core 2 Quad (2007): 2.4 GHz (periodo 417 ps) o Intel Core I7‐4770 (2013): 3.4 GHz (periodo 294 ps) Si la velocidad de los coches hubiera crecido tan rápido: o Coche (1971): 100 Km/h (Madrid‐Barcelona 6h aprox.) o Coche (2013): 3 150 000 Km/h (Madrid‐Barcelona en menos de 1s) 33 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Generación de reloj El diseño (físico) de una la red de distribución de reloj en un chip es un proceso complejo: o La señal de reloj tiene mucha conectividad (tiene mucha carga) y las interconexiones son largas (muy resistivas y vulnerables al ruido). o Requiere trazar un árbol /red equilibrada de interconexiones, buffers y otros elementos correctores de desfase (PLL, DLL). En general es mala práctica que el reloj atraviese lógica: o Introduce un skew variable debido a la incertidumbre de la red. o Puede producir glitches que provoquen cambios espurios de estado. • Esto también es aplicable al reset, si se desea evitar inicializaciones espurias. D Qf NOclk x 34 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Generación de reset La señal de reset se genera externamente usando: o Un circuito RC o Generador de reset integrado rst R C power‐onmanual rstRST 35 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Biblioteca de celdas: CMOS 90 nm Biestable Área (m2) Retardo (ps) Consumo estático (nW) Consumo dinámico (nW/MHz) 10.1376 221 (Q)386 (QN) 621 2359 22.1184 219 (Q)234 (QN) 144 463 24.8832 217 (Q)193 (QN) 140 284 32.2560 167 (Q)326 (QN) 164 281 31.3344 412 (Q)372 (QN) 152 161 35.0208 212 (Q)365 (QN) 167 215 fu en te : S yn op sy s (S A E D E D K 9 0 nm ) R Q QS D Q QG D Q Q D Q Q CL D Q QST D Q QST CL 36 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) D Q Q D Q Q CLK x z ′ ′ CL CL RST 180 180 180 237 171 100 167 326 167 326 suponiendo: thold = tsetup = 0 camino retardo xD1 180 ps xD0 271 ps CLK1z 347 ps CLK0z 347 ps CLK1D1 584 ps CLK1D0 518 ps CLK0D1 584 ps CLK0D0 677 ps max 677 ps ⇒ 1 1 677 ∙ 10 s . 37 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) +167 +271 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps +417 584 clk (1.43 MHz) x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) 38 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) clk (1.43 MHz) x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) 271 +167 +167 +180 +271 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 39 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) 518 +167 +167 +180 +351 x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) clk (1.43 MHz) 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 40 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) 677 +167 +167 +510 x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) clk (1.43 MHz) 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 41 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) 347 +167 +347 +180 clk (1.43 MHz) x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 42 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) 584 +167 +347 +417 +271 clk (1.43 MHz) x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 43 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) +167 +167 clk (1.43 MHz) x(t) q1(t) q0(t) z(t) q1'(t) q0'(t) 0 ps 700 ps 1400 ps 2100 ps 2800 ps 3500 ps 4200 ps 44 FC te m a 6: Im pl em en ta ci ón d e si st em as s ec ue nc ia le s sí nc ro no s ve rs ió n 12 /0 9/ 14 Cálculo de la frecuencia máx. de reloj (CMOS 90 nm) clk x(t) q(t) z(t) q'(t) 0 1 (00) 0 1Estado inicial 1 1 0 0 0 (01) 0 (10) 0 (11) 1 00 01 10 01 10 11 01 10 01 00 10 00 01 11 10 11 01 00 10 0 10 0 0 0 0 0 1 0 1 1 0 1 (00) (01) (10) (01) (10) (11) (01) Temas/FCtema1-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 1: Representación digital de la información Fundamentos de computadores 2 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Introducción de conceptos. Sistemas de numeración: binario, octal y hexadecimal. Aritmética binaria. Conversión entre bases. Representación de números enteros: MyS, C1 y C2. Aritmética entera: MyS y C2. Otras codificaciones. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Sistema: caja "negra" que a lo largo del tiempo: o Recibe información por sus entradas, x(t). o Procesa dicha información según una cierta función, F. o Genera información por sus salidas, z(t). Fx(t) z(t) z(t) = F( x(t) ) z(ti) x(ti) ti 4 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Sistema analógico o Los valores que pueden tomar las entradas/salidas pertenecen a un espectro continuo de valores. Sistema digital o Los valores que pueden tomar las entradas/salidas están restringidos a un conjunto discreto de valores. Los sistemas analógicos establecen semejanzas, los digitales numerizan 5 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Sistema combinacional o La salida en cada instante depende exclusivamente del valor de la entrada en ese instante. Sistema secuencial o La salida en cada instante depende del valor de la entrada en ese instante y de todos los valores que la entrada ha tomado con anterioridad. z(ti) = F( x(ti) ) z(ti) = F( x(t) ), con t[0, ti] C om bi na ci on al Caudal deentrada Caudal de salidaMemoria Se cu en ci al Ángulo del volante Ángulo de las ruedas 6 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Asíncronos o Las entradas/salidas pueden cambiar en cualquier momento. Síncronos o Las entradas/salidas solo pueden cambiar en un conjunto discreto de instantes definidos por una señal de reloj. asíncrono síncrono 7 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Especificación (¿qué hace?) o Descripción del comportamiento de un sistema sin precisar cómo está constituido. Implementación (¿cómo está hecho?) o Descripción de un sistema en base a un conjunto de elementos más simples interconectados. Coche (RAE):Vehículo automóvil de tamaño pequeño o mediano, destinado al transporte de personas y con capacidad no superior a nueve plazas. 8 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Síntesis (o diseño) o Proceso de obtener una implementación que tenga el comportamiento definido por una especificación dada. Análisis o Proceso de obtener el comportamiento de una implementación dada. Para una especificación dada existen multitud de implementaciones válidas. 9 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 1. Representación digital de la información. 2. Especificación de sistemas combinacionales. 3. Implementación de sistemas combinacionales. 4. Módulos combinacionales básicos. 5. Especificación de sistemas secuenciales síncronos. 6. Implementación de sistemas secuenciales síncronos. 7. Módulos secuenciales básicos. 10 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Mecanismo que permite dar una representación gráfica a cada número. Se define por: o Un conjunto discreto de símbolos (dígitos) cada uno de los cuales representa directamente un número. • la cardinalidad de este conjunto se llama BASE. o Un conjunto discreto de reglas de generación (notación) que permiten representar números mayores usando más de un dígito. o Un conjunto de reglas de manipulación de símbolos (aritmética) que permite realizar coherentemente operaciones con números. 11 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Cada cantidad se representa utilizando una cadena de dígitos distinta (an‐1, an‐2.... a1, a0)r • an‐1 es el dígito más significativo • a0 es el dígito menos significativo • r es la base del sistema de numeración El valor de cada dígito es función de la posición que ocupa en la cadena (peso). El peso de la posición i en un sistema de base r es ri (valor dígito)i = (valor digito) × ri El valor de una cadena es la suma del valor de cada uno de los dígitos que la forman. 12 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Cada cantidad se representa por un polinomio cuya resolución permite conocer el valor representado Notación posicional Notación polinomial Cantidad representada (17)10 1×101 + 7×100 17 (10001)2 1×24 + 0×23 + 0×22 + 0×21 + 1×20 17 (21)8 2×81 + 1×80 17 (11)16 1×161 + 1×160 17 13 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Decimal Binario Octal Hexadecimal 0 0 0 0 1 1 1 1 2 10 2 2 3 11 3 3 4 100 4 4 5 101 5 5 6 110 6 6 7 111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 16 10000 20 10 computadores binario compacto 14 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Aritmética de símbolos o Las tablas de sumar, restar, multiplicar... dígitos. Aritmética de notación o El mecanismo para sumar, restar, multiplicar... cadenas de dígitos. Suma 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 y me llevo 1 Multiplicación 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 1 × 1 = 1 Resta 0 ‐ 0 = 0 0 ‐ 1 = 1 y me llevo 1 1 ‐ 0 = 1 1 ‐ 1 = 0 15 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 1 1 1 1 acarreos 9 1 0 0 1 sumando 1 + 1 1 1 0 1 1 sumando 2 2 0 1 0 1 0 0 suma S = 9 + 11 16 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 R = 83 - 21 8 3 1 0 1 0 0 1 1 minuendo 2 1 1 0 1 0 1 sustraendo 1 1 1 1 acarreos 6 2 0 1 1 1 1 1 0 diferencia 17 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 1 1 1 0 1 1 multiplicando 5 1 0 1 multiplicador 5 5 1 0 1 1 0 0 0 0 productos parciales 1 0 1 1 1 1 0 1 1 1 resultado P = 11 x 5 18 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 dividendo divisor 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 1 cociente 1 0 0 1 0 0 1 0 0 1 1 0 0 1 0 0 0 0 resto C = 117 / 9 19 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Sustitución en serie base R → base S, usando la aritmé ca de base S otra → base 10 o Se evalúa la representación polinomial del número usando la aritmética de base S. (2A)16 = 2×161 + 10×160 = 32 + 10 = (42)10 (1010)2 = 1×23 + 0×22 + 1×21 + 0×20 = 8 + 0 + 2 + 0 = (10)10 20 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 División por la base base R → base S, usando la aritmética en base R base 10 → otra o Se divide sucesivamente el número por S reservando los restos hasta que el cociente sea menor que S. 1 2 7 0 1 6 ‐ 1 1 2 7 9 1 6 1 5 0 ‐ 6 4 4 ‐ 1 4 4 1 5 6 (1270)10 = (4F6)16 + peso (12)10 = (1100)2 1 2 2 ‐1 2 6 2 0 ‐ 6 3 2 0 ‐2 1 1 + peso 21 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Conversión entre potencias de la misma base base R → base S=Ri base 2→ base 8=23 o base 16=24 o Los dígitos de base R se agrupan de derecha a izquierda en de bloques de i elementos. o Cada bloque se remplaza por el correspondiente dígito de base S. (10011110110)2 = (2366)8 (100111101)2 = (13D)16 22 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Conversión entre potencias de la misma base base R=Si → base S base 8=23 o base 16=24 → base 2 o Cada dígito de base R se remplaza por el correspondiente bloque de dígitos en base S. (713)8 = (111001011)2 (A5C)16 = (101001011100)2 23 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Un sistema digital solo procesa información digital codificada en binario. o Una codificación es un convenio que asocia a cada elemento de información una representación binaria diferente. o Un mismo dato puede tener distintas representaciones en distintos códigos. Cada código usa un número de dígitos binarios fijo (bits de anchura) que limita el número de datos representable. o Con n bits como máximo se representan 2n datos diferentes. El problema del desbordamiento: o En las codificaciones numéricas, se produce cuando el resultado de una operación aritmética no es representable (no hay un código que represente al resultado). o Deben detectarse porque el resultado es incorrecto. 24 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Codifica números naturales Notación n bits: o n bits codifican la magnitud en binario. Rango representable: [ 0, 2n‐1 ] Aritmética: o Extensión (pasar n a m bits, con m>n) • Completar con ceros por la izquierda. 610 = (00110)2-5bits 1 0 1 1 + 0 1 1 1 1 0 0 1 0 (11) (7) (2≠18) o Suma • Suma binaria • Hay desbordamiento si al sumar el bit más significativo se produce un acarreo. 25 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Codifica números enteros Notación n bits: o 1 bit codifica el signo (el bit más significativo, bit de signo) o n‐1 codifican la magnitud en binario. • Positivos: + N = 0 (N)2 • Negativos: – N = 1 (N)2 Rango representable: [–(2n‐1‐1), +(2n‐1‐1)] o el cero tiene doble representación (000..00) y (100..00) (+ 610) = (00110)MyS-5bits (– 610) = (10110)MyS-5bits 610 = (0110)2 26 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Procedimiento de codificación (n bits) o Codificar el signo '+' ≡ '0' , ' – ' ≡ '1' o Codificar la magnitud en binario de n‐1 bits usando división por la base. Procedimiento de decodificación: o Decodificar el signo '0' ≡ '+', '1' ≡ '‐' o Decodificar la magnitud usando sustitución en serie. –2610 → MyS de 8 bits signo ≡ (1) magnitud ≡ (0011010) –2610 = (10011010)MyS +11510 → MyS de 8 bits signo ≡ (0) magnitud ≡ (1110011) +11510 = (01110011)MyS (10010010)MyS→ decimal signo ≡ '–' magnitud ≡ 1810 (10010010)MyS = –1810 (01011010)MyS→ decimal signo ≡ '+' magnitud ≡ 9010 (01011010)MyS = +9010 27 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Cambio de signo (cambiar un número por su opuesto) o Cambiar el bit de signo Extensión (pasar n a m bits, con m>n) o Manteniendo el signo, completar la magnitud con ceros por la izquierda. Suma / Resta o Signo y magnitud de manipulan por separado. o El signo del resultado depende de las magnitudes y signos de los operandos. o Las magnitudes se suman o restan en función de la magnitud y signo de los operandos. (– 610) = (10110)MyS-5bits = (10000110)MyS-8bits – (00110)MyS-5bits = (10110)MyS-5bits 28 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Signo (A) = signo (B) o Signo (R) = signo (A) = signo (B) o Magnitud (R) = magnitud (A) + magnitud (B) Signo (A) = positivo, signo (b) = negativo, |A| ≥ |B| o Signo (R) = signo (A) = positivo o Magnitud (R) = magnitud (A) ‐magnitud (B) 0 1 0 0 + 0 0 1 0 0 1 1 0 1 1 0 0 + 1 0 1 0 1 1 1 0 + 4 + + 2 + 6 - 4 + - 2 - 6 4 - 2 2 0 1 0 0 + 1 0 1 0 0 1 0 0 - 0 1 0 0 1 0 + 4 + - 2 + 29 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Signo (A) = positivo, signo (b) = negativo, |A| < |B| o Signo (R) = signo (B) = negativo o Magnitud (R) = magnitud (B) ‐magnitud (A) Resto de casos / Resta o Equivalente a alguno de los anteriores si se aplica conmutatividad. Desbordamiento o Hay desbordamiento si al operar con el bit más significativo de la magnitud se produce un acarreo. + 2 + - 4 - 0 0 1 0 + 1 1 0 0 1 4 - 2 2 1 0 0 - 0 1 0 0 1 0 30 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Codifica números enteros Notación n bits: o Positivos: + N = 0 (N)2 o Negativos: – N = (2n – N)2 = C2( (N)2) • el bit más significativo se denomina bit de signo Rango representable: [–(2n‐1), +(2n‐1‐1) ] o el cero tiene una única representación (000..00) o el rango es asimétrico, hay un negativo de más (100..00) 610 = (0110)2 (+ 610) = (00110)C2-5bits (25 – 6)10 = (26)10 = (11010)2 (– 610) = (11010)C2-5bits 31 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Procedimiento de codificación (n bits) o Si el número es positivo, codificar en binario de n bits usando el método de división por la base. o Si el número es negativo, codificar el número prescindiendo del signo en binario de n bits usando el método de división por la base y realizar el complemento a dos del resultado. +9310 → C2 de 8 bits +9310 = (01011101)C29310 = (01011101)2 –7810 → C2 de 8 bits –7810 = (10110010)C2 7810 = (01001110)2 C2(01001110) = (10110010) 32 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Procedimiento de decodificación: o Si el bit de signo es positivo (vale '0'), decodificarlo usando el método de sustitución en serie. o Si el bit de signo es negativo (vale '1'), realizar su complemento a dos y decodificar el resultado usando el método de sustitución en serie. (01110001)C2 → decimal (01110001)C2 = +11310(01110001)2 = (113) 10 (10110100)C2 → decimal (10110100)C2 = –7610 C2(10110100) = (01001100) (01001100)2 = (76)10 33 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Cambio de signo (cambiar un número por su opuesto) o Complementar a dos el número o Para realizar la operación C2 hay varias opciones: • Restar el número a 2n • Invertir todos los bits y sumar 1 • Copiar los bits de derecha a izquierda hasta encontrar el primer 1, invertir el resto. Extensión (pasar n a m bits, con m>n) o Replicar el bit de signo hacia la izquierda (– 610) = (11010)C2-5bits = (11111010)C2-8bits – (00110)C2-5bits = C2(00110) = (11010)C2-5bits 34 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Signo (A) = signo (B) o R = A + B Signo (A) = positivo, signo (b) = negativo, |A| ≥ |B| o R = A + B 0 1 0 0 + 0 0 1 0 0 1 1 0 1 1 0 0 + 1 1 1 0 1 1 0 1 0 + 4 + + 2 + 6 - 4 + - 2 - 6 + 4 + - 2 + 2 0 1 0 0 + 1 1 1 0 1 0 0 1 0 35 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Signo (A) = positivo, signo (b) = negativo, |A| < |B| o R = A + B Resto de casos / Resta o Equivalente a alguno de los anteriores si se aplica conmutatividad. Resumen suma/resta o Para sumar/restar números en C2 basta con hacerlo en binario, ignorando el acarreo del bit más significativo. o No obstante, es común realizar la resta como la suma del opuesto • A – B = A + (– B) =C2 A + C2( B) + 2 + - 4 - 2 0 0 1 0 + 1 1 0 0 1 1 1 0 36 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Desbordamiento o En la suma, solo puede producirse si ambos operandos son del mismo signo. En la resta, solo si son de distinto signo. o Se detecta chequeando si el signo del resultado es coherente con el signo de los operandos. o NO se tiene en cuenta el acarreo del bit más significativo. 0 0 1 1 + 0 1 1 0 1 0 0 1 (+3) (+6) (-7≠+9) 1 0 1 1 + 1 0 1 0 1 0 1 0 1 (-5) (-6) (+5≠-11) el rango representable con 4 bits es: [ ‐8, +7 ] 37 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Codifica números enteros Notación n bits: o Positivos: + N = 0 (N)2 o Negativos: – N = (2n – 1 – N)2 = C1( (N)2) • el bit más significativo se denomina bit de signo Rango representable: [–(2n‐1‐1), +(2n‐1‐1) ] o el cero tiene doble representación (000..00) y (111..11) 610 = (0110)2 (+ 610) = (00110)C1-5bits (25 – 1 – 6)10 = (25)10 = (11001)2 (– 610) = (11001)C1-5bits 38 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Procedimiento de codificación (n bits) o Si el número es positivo, codificar en binario de n bits usando el método de división por la base. o Si el número es negativo, codificar el número prescindiendo del signo en binario de n bits usando el método de división por la base y realizar el complemento a uno del resultado. +4010 → C1 de 8 bits +4010 = (00101000)C14010 = (00101000)2 –6210 → C1 de 8 bits –6210 = (11000001)C1 6210 = (00111110)2 C1(00111110) = (11000001) 39 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Procedimiento de decodificación: o Si el bit de signo es positivo (vale '0'), decodificarlo usando el método de sustitución en serie. o Si el bit de signo es negativo (vale '1'), realizar su complemento a uno y decodificar el resultado usando el método de sustitución en serie. (00100010)C1 → decimal (00100010)C1 = +3410(00100010)2 = (34)10 (11001001)C1 → decimal (11001001)C1 = –5410 C1(11001001) = (00110110) (00110110)2 = (54)10 40 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Cambio de signo (cambiar un número por su opuesto) o Complementar a uno el número o Para realizar la operación C1 hay varias opciones: • Restar el número a 2n ‐ 1 • Invertir todos los bits Extensión (pasar n a m bits, con m>n) o Replicar el bit de signo hay la izquierda (– 610) = (11001)C1-5bits = (11111001)C2-8bits – (00110)C1-5bits = C1(00110) = (11001)C1-5bits 41 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 Decimal MyS C2 C1 +7 0111 0111 0111 +6 0110 0110 0110 +5 0101 0101 0101 +4 0100 0100 0100 +3 0011 0011 0011 +2 0010 0010 0010 +1 0001 0001 0001 +0 0000 0000 0000 ‐0 1000 ‐‐‐‐ 1111 ‐1 1001 1111 1110 ‐2 1010 1110 1101 ‐3 1011 1101 1100 ‐4 1100 1100 1011 ‐5 1101 1011 1010 ‐6 1110 1010 1001 ‐7 1111 1001 1000 ‐8 ‐‐‐‐ 1000 ‐‐‐‐ 42 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 BCD (Binary Coded Decimal) o Cada dígito decimal se representa por un bloque de 4 bits (nibble) que lo codifica en binario. Exceso‐3 o Cada dígito decimal se representa por un bloque de 4 bits que codifica en binario el valor del dígito + 3. (375)10 = (001101110101)BCD (375)10 = (011010101000)EX-3 Simplifican la conversión decimal-binario y evitan pérdidas de precisión en la conversión de números con parte fraccionaria 43 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 ASCII (American Standard Code for Information Interchange) o Codifica el alfabeto latino occidental con 7 bits. o Los códigos 00h‐1Fh (0‐31) y el 7Fh (127) son de control. o Los códigos 20h‐7Eh (32‐126) son imprimibles. o Hay diferentes extensiones de 8 bits (1 byte) para soportar más caracteres imprimibles. EBCDIC (Extended Binary Coded Decimal Interchange Code) o Codifica el alfabeto latino occidental con 8 bits 44 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 45 FC te m a 1: Re pr es en ta ci ón d ig ita l d e la in fo rm ac ió n ve rs ió n 12 /0 9/ 14 es la codificación usada la que le da sentido 10001001 ¿? 89 ‐9137 ê ‐119 BCD bin MyS ASCII8‐bits C2 Una cadena de bits por sí misma no significa nada Temas/FCtema2-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 2: Especificación de sistemas combinacionales Fundamentos de computadores 2 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Especificación de alto nivel / binaria. Codificación. Funciones de conmutación. Tablas de verdad. Expresiones de conmutación. Algebra de Boole. Transformaciones algebraicas. Forma canónica. Suma de productos. Mapas de Karnaugh. Simplificación. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 La salida en cada instante depende exclusivamente del valor de la entrada en ese instante. o En todo momento, a misma entrada, misma salida. Para especificar su comportamiento deberán definirse: o Los conjuntos discretos de valores de entrada/salida: E, S o La función F: E S z(ti) = F( x(ti) ), con x(ti)E, z(ti)S Fx(t) z(t) 4 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 x(t) E = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 } z(t) S = { 0, 1, 2 } F: E S / z(t) = f( x(t) ) = x(t) mod 3 x(t) 0 1 5 1 1 2 8 1 9 0 z(t) 0 1 2 1 1 2 2 1 0 0 Fx(t) z(t) Simulación de su comportamiento: tiempo 5 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Especificación del dominio: o Conjunto discreto de valores que puede tomar la entrada. Especificación del codominio: o Conjunto discreto de valores que puede tomar la salida. Función de entrada/salida: o Definición del comportamiento del sistema: qué valor toma la salida para cada posible valor de la entrada o Mediante tabla, expresión aritmética, condicional, lógica... o una composición de todas ellas. Sin embargo, la información debe estar codificada en binario para que sea implementable en un sistema digital 6 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 La entrada es un vector de n bits o x { 0, 1 }n es decir, x = (xn‐1... x0) con xi {0, 1} La salida es un vector de m bits o z { 0, 1 }m es decir, z = (zm‐1... z0) con zi {0, 1} Función de entrada/salida o m funciones de conmutación de n variables definiendo cada una el comportamiento de un bit de la salida o F = { fi : { 0, 1 }n { 0, 1 } / zi = fi(x), con 0 ≤ i ≤ m‐1 } Fx(t) z(t) n m 7 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Proceso de obtener una especificación binaria partiendo de una especificación de alto nivel: 1. Codificar el dominio (elegir una representación binaria de cada elemento). 2. Codificar el codominio. 3. Traducir la función de E/S. Para una misma especificación de alto nivel existen infinidad de especificaciones binarias válidas. o Cada una con distinta codificación del dominio/codominio La cardinalidad del dominio/codomino determina la longitud mínima del vector de bits x / z o Para que todos los puntos del dominio/codominio puedan estar representados por una cadena de bits distinta: • n ≥ log2( |E| ) y m ≥ log2( |S| ) [ log2(x) = ln(x) / ln(2) ] • casi siempre quedarán codificaciones sin usar 8 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Codificación domino: BCD (4 bits) – usando solo 10 códigos Codificación codominio: one‐hot (3 bits) o { 0 (001), 1 (010), 2 (100) } Traducción de la función de E/S o F = { (0000) (001), (0001) (010), (0010) (100), (0011) (001), (0100) (010), (0101) (100), (0110) (001), (0111) (010), (1000) (100), (1001) (001) } x(t) 0000 0001 0101 0001 0001 0010 1000 0001 1001 0000 z(t) 001 010 100 010 010 100 100 010 001 001 Simulación de su comportamiento: tiempo 9 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Una función de conmutación de n variables es una aplicación f : { 0, 1 }n { 0, 1 } Cuando es total (todo punto del dominio está asociado a uno del codominio) se dice que está completamente especificada x2 x1 x0 f(x2,x1,x0) 0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 0 7 1 1 1 1 Se suele definir mediante una tabla de verdad que indica el valor que toma la función en cada punto del dominio. 10 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 El número de funciones de conmutación distintas de n variables es finito: o Para 2 variables existen únicamente 16 distintas x1 x0 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 nula and x 1 x 0 xor or nor nxor notx 0 notx 1 nand unidad 11 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 A veces las funciones de conmutación son parciales (no están definidas para ciertos puntos del dominio). o Típicamente porque existen códigos que no representan ningún valor de alto nivel. Una función de conmutación incompletamente especificada de n variables es una aplicación: f : { 0, 1 }n { 0, 1, ‐ } o Donde '‐' (don´t care) denota indiferencia: da igual que la función valga 0 ó 1 en aquellos puntos del dominio asociados a este valor. 12 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 x3 x2 x1 x0 z2 z1 z0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 2 0 0 1 0 1 0 0 3 0 0 1 1 0 0 1 4 0 1 0 0 0 1 0 5 0 1 0 1 1 0 0 6 0 1 1 0 0 0 1 7 0 1 1 1 0 1 0 8 1 0 0 0 1 0 0 9 1 0 0 1 0 0 1 10 1 0 1 0 ‐ ‐ ‐ 11 1 0 1 1 ‐ ‐ ‐ 12 1 1 0 0 ‐ ‐ ‐ 13 1 1 0 1 ‐ ‐ ‐ 14 1 1 1 0 ‐ ‐ ‐ 15 1 1 1 1 ‐ ‐ ‐ E = { 0, ..., 9 } la codificación es BCD nunca aparecerán estos códigos 13 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Forma alternativa de definir FC completamente especificadas o Compacta, manipulable y directamente sintetizable. Alfabeto: { xi, 0, 1, +, ∙, —, (, ) } o Variables lógicas: xi (puede usarte cualquier letra con o sin subíndice) o Constantes: 0, 1 o Operadores : +, ∙, — o Símbolos auxiliares: (, ) Reglas de generación: 1. Toda variable lógica es una EC válida. 2. 0 y 1 son EC válidas. 3. Si A es una EC válida, A también lo es. 4. Si A y B son EC válida, (A), A+B y A∙B también lo son. 5. Solo son EC válidas las generadas usando las reglas 1 a 4. 14 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Semántica: el álgebra de conmutación { {0,1}, and, or, not) Valor de una EC, E, para una asignación, a: v( E, a ) o Resultado de sustituir las variables de E por los valores indicados en a y realizar las operaciones de acuerdo con el álgebra de conmutación. x y x · y 0 0 0 0 1 0 1 0 0 1 1 1 x x 0 1 1 0 x y x + y 0 0 0 0 1 1 1 0 1 1 1 1 operador and operador or operador not v( x2 + x2·x1 + x1·x0, (0,1,0) ) = 0 + 0·1 + 1·0 = 0 + 1·1 + 1·0 = 1 — — 15 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Para una expresión de conmutación dada, el conjunto de todos los pares f = { ( a, v( E, a ) ) / a {0,1}n } es una función de conmutación. En ese caso diremos que E representa a f Dos EC son equivalentes si representan a la misma función de conmutación. o Toda FC tiene infinitas EC equivalentes que la representan. o Habrá unas más convenientes que otras, en particular las más simples. 16 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 x1 x0 f(x1, x0) 0 0 0 1 1 0 1 1 2 1 0 0 3 1 1 1 ∙ v( ∙ , (0,0) ) = 0 0 ∙ 0 = 1 v( ∙ , (0,1) ) = 0 0 ∙ 1 = 1 v( ∙ , (1,0) ) = 1 1 ∙ 0 = 0 v( ∙ , (1,1) ) = 1 1 ∙ 1 = 1 v( , (0,0) ) = 0 0 = 1 v( , (0,1) ) = 0 1 = 1 v( , (1,0) ) = 1 0 = 0 v( , (1,1) ) = 1 1 = 1 x1 x0 f(x1, x0) 0 0 0 1 1 0 1 1 2 1 0 0 3 1 1 1 SON EQUIVALENTES 17 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 El álgebra de conmutación es un álgebra de Boole por lo que dadas 2 EC, A y B, se cumplen las siguientes propiedades: Propiedad Versión “+” Versión “∙” Conmutativa A B B A A ∙ B B ∙ A Distributiva A B ∙ C A B ∙ A C A ∙ B C A ∙ B A ∙ C Elemento neutro 0 A A 1 ∙ A A Elem. complementario A A 1 A ∙ A 0 Idempotencia A A A A ∙ A A Asociativa A B C A B C A ∙ B ∙ C A ∙ B ∙ C Elemento dominante 1 A 1 0 ∙ A 0 Involución A A Absorción A A ∙ B A A ∙ A B A Leyes de Morgan A B A ∙ B A ∙ B A B 18 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Las anteriores propiedades permiten transformar algebraicamente una EC en otra/s equivalente/s. distributiva elem. complementario distributiva elem. dominante elem. neutro 19 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Además de los operadores primitivos del álgebra de conmutación es muy común referirse a otros operadores derivados: Todos ellos son conmutativos. NAND y NOR no son asociativos. XOR y NXOR sí lo son. x y ↑ ⋅ 0 0 1 0 1 1 1 0 1 1 1 0 x y ↓ x 0 0 1 0 1 0 1 0 0 1 1 0 operador nand operador nor x y ⨁∙ ∙ 0 0 0 0 1 1 1 0 1 1 1 0 operador xor x y ⨁∙ ∙ 0 0 1 0 1 0 1 0 0 1 1 1 operador nxor 20 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 En muchos casos es posible obtener directamente una EC desde un enunciado en lenguaje natural o Codificando los sucesos en "lógica directa" • L=1 Se detecta luz (es de día) • P=1 Se detecta coche • A=1 Se ha presionado el pulsador • M=1 Se activa el motor que abre la barrera o La formulación del enunciado queda: Sistema digital L (sensor de luz) A (pulsador de apertura) P (sensor de presencia) M (al motor) La barrera debe abrirse si es de día y hay un coche esperando o si el vigilante presiona un pulsador M = 1 si L=1 y P=1 o A=1 0 en caso contrario M = L∙P + A 21 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Hasta el momento tenemos: o Dada una FC, existen infinidad de EC que la representan. o Dada una FC, no sabemos cómo obtener una EC que la represente. o Dada una EC, es tedioso obtener la tabla de verdad de la FC que representa. o Dada una EC, es complejo obtener una EC simplificada equivalente. La definición de una forma canónica permitirá: o Que toda FC tenga asociada una única EC normalizada. o Que ésta pueda obtenerse fácilmente a partir de una tabla de verdad. o Que el mecanismo de obtención de la tabla de verdad de la FC que representa una cierta EC sea más simple. o Abrir las puertas a un mecanismo de simplificación de EC. 22 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Literal: EC compuesta por una única variable natural o complementada. Término producto: EC compuesta únicamente por un producto de literales. Mintérmino de n variables: termino producto de n literales, en donde cada variable aparece una y solo una vez. Suma de productos: EC compuesta únicamente por sumas de términos producto. 23 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Notación: Un mintérmino de n variables se representará por mi o m(i), siendo i el número cuya representación binaria se obtiene sustituyendo en el mintérmino ordenado (variables de mayor a menor peso): o Cada variable complementada por un 0. o Cada variable sin complementar por un 1 3 2 1 0 m5 m 5 ( 0 1 0 1 )2 = 510 3 2 1 0 m7 m 7 ( 0 1 1 1 )2 = 710 24 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Propiedad: El valor de un mintérmino para una asignación dada es: o es decir, el mintérmino mi representa a una FC que vale 0 en todos sus puntos del dominio excepto en el i, en donde vale 1. v( mi, a ) = 1 si i = (a)10 0 en otro caso v( ∙ , (0,0) ) = 0 ∙ 0 = 0 v( ∙ , (0,1) ) = 0 ∙ 1 = 1 v( ∙ , (1,0) ) = 1 ∙ 0 = 0 v( ∙ , (1,1) ) = 1 ∙ 1 = 0 x1 x0 f(x1, x0) 0 0 0 0 1 0 1 1 2 1 0 0 3 1 1 0 e x1, x0 ∙ = m1 25 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Suma de productos canónica (SPC): EC compuesta únicamente por sumas de mintérminos en la que no hay mintérminos repetidos. Propiedad: Toda SPC representa a una FC que vale 1 en cada uno de los puntos del dominio asociados a cada uno de los mintérminos que forman la SPC y 0 en el resto. o Y viceversa, toda FC de n variables puede representarse como una SPC compuesta por la suma de todos los mintérminos de n variables asociados a cada uno de los puntos del dominio para los cuales la FC vale 1. o Además, toda FC, tiene una y solo una representación como SPC (por eso se llama canónica). 2 1 0 7 3 1 26 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 2 1 0 x2 x1 x0 m7 m3 m1 m7 + m3 + m1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 2 0 1 0 0 0 0 0 3 0 1 1 0 1 0 1 4 1 0 0 0 0 0 0 5 1 0 1 0 0 0 0 6 1 1 0 0 0 0 0 7 1 1 1 1 0 0 1 27 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Notación: La comodidad de la notación compacta de una SPC como sumatorio de mintérminos suele usarse para describir FC incompletamente especificadas. e x2, x1, x0 ∑m 7,3,1 ∑d 5,6 x2 x1 x0 f(x2,x1,x0) 0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 ‐ 6 1 1 0 ‐ 7 1 1 1 1 Téngase en cuenta que es un abuso de notación, ya que las EC solo pueden representar FC completamente especificadas. 28 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Dos EC son equivalentes si representan a la misma FC. o Dado que toda FC tiene una única SPC que la representa: dos EC son equivalentes si ambas son equivalentes a una misma SPC. Método 1: o Evaluando la EC punto a punto hasta obtener la tabla de verdad de la FC que representa. Método 2: o Trasformando la EC en una suma de productos: • Aplicando ley de Morgan • Aplicando la distributividad del producto o Multiplicando cada término producto que no contenga una cierta variable por 1 y aplicando distributividad. o Eliminando los mintérminos repetidos. 29 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 x2 x1 x0 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 2 0 1 0 0 1 0 0 3 0 1 1 1 0 0 1 4 1 0 0 0 1 1 1 5 1 0 1 0 1 1 1 6 1 1 0 0 1 1 1 7 1 1 1 1 0 0 1 ∑ m(3, 4, 5, 6, 7) e( x2, x1, x0 ) 30 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 ley de Morgan distributiva elem. neutro e idempotencia m5 + m4 + m6 + m4 + m7 + m3 eliminación de repetidos ∑ m(3, 4, 5, 6, 7) distributiva 31 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Mapa de Karnaugh: tabla de verdad de doble entrada que permite obtener de manera gráfica una EC mínima en forma de suma de productos que la represente. o EC mínima que tenga el menor número de términos producto y éstos el menor número de literales. Un mapa de Karnaugh de n variables tiene las siguientes propiedades: o Como la tabla de verdad que es, tiene 2n casillas cada una de ellas asociada a un mintérmino. o Los mintérminos asociados a casillas adyacentes solo se diferencian en la polaridad de una de las variables. • Dos mintérminos adyacentes pueden representarse por un término producto en donde no aparece la variable con diferente polaridad. 32 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 0 1 2 3 x x1 0 (00) (01) (10) (11) 0 1 0 1 x1 x 0 1 23 0 1 00 01x 2 4 5 67 11 10 x1x 0 0 x2 x 0 x 1 2 variables 3 variables 33 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 0 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 4 variables x 0 x 1 x 2 x 3 34 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 1 23 00 01 00 01 4 5 67 11 10 x1 x0 x3 x2 11 10 12 13 1415 8 9 1011 16 17 1819 00 01 20 21 2223 11 10 28 29 3031 24 25 2627 x = 14x = 04 0 x 0 x 1 x 0 x 1 x 4 x 2 x 3 5 variables 35 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 16 17 1819 00 01 20 21 2223 11 10 28 29 3031 24 25 2627 x = 04 x = 14 32 33 3435 00 01 36 37 3839 11 10 44 45 4647 40 41 4243 48 49 5051 52 53 5455 60 61 6263 56 57 5859 x = 05 x = 15 0 ¡6 variables! 36 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Para obtener el mapa de Karnaugh de una SPC basta con marcar los mintérminos que la forman. 1 23 0 1 00 01 4 5 67 11 10 x2 x1x0m = 0 x2 x1x0m = 3 x2 x1x0 0 f(x2,x1,x0) = m(0,3,7) m3 + m7 = = = m3 y m7 son adyacentes luego: x2 x 0 x 1 x2 x1x0m = 7 37 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Procedimiento de simplificación: o Construir el mapa de Karnaugh de la FC o Cubrir todos los mintérminos con el menor número posible de rectángulos de tamaño en casillas múltiplo de 2 (1, 2, 4, 8, 16...) • Cada rectángulo se corresponde con un término producto, más simple conforme mayor es el rectángulo. • La EC simplificada será la suma de los términos producto obtenidos. o Si hay don't cares, pueden tomarse como 0 ó 1 según convenga 38 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Estrategias: o Los rectángulos deberán ser lo mayor posible, así los términos producto tendrán un menor número de literales. o Si es necesario, una misma casilla puede ser cubierta varias veces por distintos rectángulos (para que éstos puedan ser más grandes). o Si una casilla puede cubrirse de distintos modos, empezar cubriendo aquellas que solo puedan hacerlo de una manera. o Las casillas frontera pueden cubrirse junto con las del otro extremo. o Las casillas de las esquinas pueden cubrirse todas juntas. 39 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 f(x3,x2,x1,x0) = m(0,2,6,7,8,9,10,14,15) 0 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 x 0 x 1 x 2 x 3 = 40 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 f(x2,x1,x0) = m(1,3,4,5) 0 1 23 0 1 00 01 4 5 67 11 1 0 x2 x1x0x1x0 1 23 0 1 00 01 4 5 67 11 10x2 0 x2 x 0 x 1 x2 x 0 x 1 = = 41 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 f(x3,x2,x1,x0) = m (5,6,8,12,14) + d (0,1,2,9,10,11) 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 0 x 0 x 1 x 2 x 3 = m (1,2,5,6,8,10,12,14) = 42 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Las distintas EC obtenidas al simplificar una misma FC incompletamente especificada pueden no ser equivalentes entre sí. Dos EC son equivalentes algebráicamente si representan a la misma FC en todos los puntos del dominio. Dos EC son equivalentes lógicamente si representan a la misma FC en todos los puntos del dominio para los que está definida. fA = = m (0,1,2,3,7,11,15) 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 0 x 0 x 1 x 2 x3 1 23 00 01 00 01 4 5 67 11 10 x1x0 x3x2 11 10 12 13 1415 8 9 1011 0 x 0 x 1 x 2 x3 f(x3,x2,x1,x0) = m (1,3,7,11,15) + d (0,2,5) fB = = m (1,3,5,7,11,15) 43 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 f(x4,x3,x2,x1,x0) = m (5,8,9,10,11,18,21,22,24,25,26,27) 1 23 4 5 67 12 13 1415 8 9 1011 16 17 1819 20 21 2223 28 29 3031 24 25 2627 x 0 x 1 x 0 x 1 x 4 x 2 x 3 = 0 44 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Adicionalmente los mapas de Karnaugh pueden usarse para obtener: o La SPC de una EC (en forma de suma de productos). o Una EC mínima equivalente a una EC dada. ∑ m(3, 4, 5, 6, 7) 1 23 4 5 67 0 x2 x 0 x 1 45 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 Especificación de alto nivel SPC FC MK SP EC SPmínima Red de puertasROM álgebra sim plificar equivalentes álgebra 46 FC te m a 2: Es pe ci fic ac ió n de s is te m as c om bi na ci on al es ve rs ió n 12 /0 9/ 14 FC de n variablesEC de n variablesCircuitos de n entradas 22 n EC equivalentes SPC SPmínima circuitos equivalentes + rápido + barato + fiable + eco Temas/FCtema7-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 7: Módulos secuenciales básicos Fundamentos de computadores 2 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Registro. Registro de desplazamiento. Contadores. Banco de registros. RAM (Random‐Access Memory). Rutas de datos y controladores. Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s REG Registro de n bits si la entrada ld vale 1, almacena la entrada, si no, conserva el valor almacenado x 1 entrada de datos de n bits q 1 salida de datos de n bits ld 1 entrada de carga paralela cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj x q cl n n ld clk si cl(t) = 1 q(t+t) = 0 si cl(t) = 0 q(t+1) = q(t) si ld(t)=0 x(t) si ld(t)=1 4 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q 10 x3 q2 D Q 10 x2 q1 D Q 10 x1 q0 D Q ld 10 x0 Implementación directa Registro de 4 bits 5 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s x FF 8A 17 23 ld cl z XX 8A 17 00 23 clk REG x q cl 8 8 ld clk 6 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s SHIFT REG Registro de desplazamiento de n bits x 1 entrada paralela de datos de n bits q 1 salida de datos de n bits srsi 1 entrada serie de datos para desplazamiento a la derecha slsi 1 entrada serie de datos para desplazamiento a la izquierda op 1 entrada de selección de operación cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj x q cl n n op clk si cl(t) = 1 q(t+t) = 0 q(t+1) = q(t) si op(t)=(00) sin cambio si cl(t) = 0 (srsi, qn‐1(t)... q1(t)) si op(t)=(01) desplaza a la derecha (qn‐2(t)... q0(t), slsi) si op(t)=(10) desplaza a la izquierda x(t) si op(t)=(11) carga paralela slsisrsi 2 7 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s D Q D Q D Qsrsi clk cl qn-1 qn-2 q0 DQDQDQ slsi clk cl q0q1qn-1 Desplazamiento a la derecha Desplazamiento a la izquierda 8 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q 30 x3 q2 D Q x2 q1 D Q x1 q0 D Q op x0 1 2 srsi 30 1 230 1 2 30 1 2 slsi Implementación directa Registro de desplazamiento de 4 bits 9 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Aplicaciones al diseño: 1. Convertir datos serie en datos paralelo y viceversa. 2. Implementar reconocedores de patrones. 2 Reconocedor del patrón = "011" como máquina de Moore DQDQDQ x clk cl z Reconocedor del patrón = "011" como máquina de Mealy DQDQ x clk cl z 10 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CONT ASC Contador ascendente módulo 2n q cl n ce clk tc si cl(t) = 1 q(t+t) = 0 si cl(t) = 0 q(t+1) = [q(t)+1] mod 2n si ce(t)=1 q(t) en caso contrario si cl(t) = 1 tc(t+t) = 0 si cl(t) = 0 tc(t+t) = 1 si q(t)=2n‐1 y ce(t)=1 0 en caso contrario q 1 salida de datos de n bits ce 1 entrada de capacitación de cuenta tc 1 salida de fin de cuenta cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj 11 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s cico di HA qi qi ci co di 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 di = qi ci co = qi·ci + 0 n n n array biestables D q cl clk tc ce 12 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q q2 D Q q1 D Q q0 D Q Implementación directa Contador ascendente módulo 16 HAHAHAHA cetc 13 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CONT DESC Contador descendente módulo 2n q cl n ce clk tc si cl(t) = 1 q(t+t) = 0 si cl(t) = 0 q(t+1) = [q(t)‐1] mod 2n si ce(t)=1 q(t) en caso contrario si cl(t) = 1 tc(t+t) = 0 si cl(t) = 0 tc(t+t) = 1 si q(t)=0 y ce(t)=1 0 en caso contrario q 1 salida de datos de n bits ce 1 entrada de capacitación de cuenta tc 1 salida de fin de cuenta cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj 14 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s - 0 n n n array biestables D q cl clk tc qi ci co di 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 co = qi·ci di = qi ci cico di HS qi ce 15 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q q2 D Q q1 D Q q0 D Q Implementación directa Contador descendente módulo 16 HSHSHSHS cetc 16 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CONT ASC/DES Contador ascendente/descendente módulo 2n q cl n opclk tc q 1 salida de datos de n bits op 1 entrada de selección de operación ce 1 entrada de capacitación de cuenta tc 1 salida de fin de cuenta cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj ce si cl(t) = 1 q(t+t) = 0 si cl(t) = 0 q(t+1) = [q(t)+1] mod 2n‐1 si op(t)= 0 y ce(t)=1 [q(t)‐1] mod 2n‐1 si op(t)= 1 y ce(t)=1 q(t) en otro caso si cl(t) = 1 tc(t+t) = 0 si cl(t) = 0 tc(t+t) = 1 si ( q(t)=2n‐1 y op(t)= 1 y ce(t)=1 ) ó ( q(t)=0 y op(t)= 0 y ce(t)=1 ) 0 en caso contrario 17 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s ci di HAS qi op co +/- 0 op n n n array biestables D q cl clk tc di = qi ci co = op·qi·ci+ op·qi·ci op qi ci co di 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 0 0 ce 18 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q q2 D Q q1 D Q q0 D Q Implementación directa Contador ascendente/descendente módulo 16 HASHASHASHAS cetc op 19 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CONT Contador ascendente con carga paralela módulo 2n x q cl n n ce clk ld tc si cl(t) = 1 q(t+t) = 0 si cl(t) = 0 q(t+1) = x(t) si ld(t)=1 [q(t)+1] mod 2n‐1 si ld(t)=0 y ce(t)=1 q(t) en caso contrario si cl(t) = 1 tc(t+t) = 0 si cl(t) = 0 tc(t+t) = 1 si q(t)=2n‐1 y ld(t)=0 y ce(t)=1 0 en caso contrario x 1 entrada de datos de n bits q 1 salida de datos de n bits ld 1 entrada de carga paralela ce 1 entrada de capacitación de cuenta tc 1 salida de fin de cuenta cl 1 entrada de inicialización asíncrona clk 1 entrada de reloj 20 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s q3 cl clk D Q 10 x3 q2 D Q 10 x2 q1 D Q 10 x1 q0 D Q ld 10 x0 HAHAHAHA cetc Implementación directa Contador ascendente con carga paralela módulo 16 21 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Varios contadores se pueden componer en serie para para comportarse como un contador de mayor anchura. Implementación serie Contador ascendente con carga paralela módulo 256 CONT ce CONT 4 q3..0 4 q7..4tc 4 x3..0 4 x7..4 clk cl ld ld cetc tc ld ce 22 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Aplicaciones al diseño: 1. Generar secuencias (secuenciador). 2. Generar patrones. CONT 0 cl clk ld ce ce cl q3 q2 q1 q0 x3 x2 x1 x0 0 00 tcContador ascendente BCD CONT ASC ce cl q1 q0 z 1 cl clk Generador del patrón "0001" 1 2 z3 z2 z1 z0 23 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Aplicaciones al diseño: 3. Dividir frecuencias. 4. Medir tiempo (temporizador). CONT ASC ce q3 q2 q1 q0 3 4 1 fCLK = 200 MHz 100 MHz 0 50 MHz 25 MHz 12,5 MHz cl CONT 0 cl 26 ld ce q e 1 cl = 49.999.999 fCLK = 50 MHz (tCLK = 20 ns) 20 ns 1 s 26 (num. ciclos) = tiempo / tclk tiempo × fclk 1 s 1·109 ns (1·109 ns) / (20 ns/ciclo) = 50.000.000 ciclos 24 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s REG FILE Banco de 2k registros de n bits di do n n weclk ra k di 1 entrada de datos de n bits do 1 salida de datos de n bits wa 1 entrada de dirección de escritura de k bits ra 1 entrada de dirección de lectura de k bits we 1 entrada de capacitación de escritura clk 1 entrada de reloj wa k 25 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s 0 3 1 21 0 wa1 wa0 REG0 REG1 REG2 REG3 di n clk 0 3 1 2 n do 1 0 ra1 ra0we E ld ld ld ld n n n n n n n n Implementación directa Registro de 4 registros de n bits 26 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s R A M CE RAM 2k×n (2k palabras de n bits) da k n WE OE d 1 entrada/salida de datos de n bits a 1 entrada de dirección de k bits CE 1 entrada de capacitación OE 1 entrada de capacitación de lectura WE 1 entrada de capacitación de escritura memoria volátil de capaz de almacenar 2k palabras de n bits cada una 27 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s SRAM (Static RAM) – Cada bit se almacena en un latch. – No requiere refresco. DRAM (Dynamic RAM) – Cada bit se almacena en un condensador. – Requiere refresco. SDRAM (Synchronous Dynamic RAM) – Cada bit se almacena en un condensador. – Requiere refresco. – El interfaz de lectura/escritura es síncrono. D Q G I O W S celda elemental de SRAM 28 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s 0 3 1 2 1 0 a1 a0 I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW I O SW CE OE d0d1d3 d2 WE RAM 4×4 29 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Varias RAM se pueden componer para comportarse como una RAM de mayor anchura de palabra. a k k k n ...RAM 2k×n RAM 2k×n n RAM 2k×n n ... n·m m Implementación multimódulo RAM 2k×(n∙m) usando m RAM 2k×n ce we oe 30 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Varias RAM se pueden componer para comportarse como una RAM de mayor profundidad. ak-1..0 k k k n ...RAM 2k×n RAM 2k×n n RAM 2k×n n n 2m-k 0 2m‐k‐1 am-1...k ... 1 m-k Implementación multimódulo RAM 2m×n usando 2m‐k RAM 2k×n bus CE CE CE we oe 31 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Cuando un sistema secuencial realiza un algoritmo complejo no es viable especificarlo mediante un diagrama de estados. Diseño algorítmico: implementa un algoritmo en hardware. o Ruta de datos: realiza las operaciones y almacena resultados parciales. o Controlador: secuencia la realización de las operaciones según lo indicado por el algoritmo. Ruta de datos Controlador Señales de controlSeñales deestado Entrada de datos Salida de datos Salida de control Entrada de control módulos aritméticos lógica discreta registros contadores ... máquina de estados 32 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Especificación de alto nivel: interfaz Multiplicador A B inicio fin clk R 64 32 32 rst 110 101 000110 000000 + 011000 011110 a2a1a0 b2b1b0 (000a2a1a0) b0 (00a2a1a00) b1 + (0a2a1a000) b2 1. Especificación de alto nivel XXXXXXXX 0000001E 00000006 00000005 A B inicio fin R clk r5r4r3r2r1r0 Algoritmo para operandos de 3 bits carga operandos vuelca resultado 33 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Especificación de alto nivel: algoritmo begin 1. A := Ain; 2. B := Bin; 3. R := 0; for C:=0 to 2 do begin 4. if B0=1 then R := R+A; 5. A := A << 1; 6. B := B >> 1; end for; 7. Rout := R; end; C R5 R4R3R2R1R0 A5 A4A3A2A1A0 B2B1B0 1. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 ‐ ‐ ‐ 2. ‐ ‐ ‐ ‐ ‐ ‐ ‐ 0 0 0 1 1 0 1 0 1 3. ‐ 0 0 0 0 0 0 0 0 0 1 1 0 1 0 1 4. 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 5. 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 6. 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 4. 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 5. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 1 0 6. 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 4. 2 0 1 1 1 1 0 0 1 1 0 0 0 0 0 1 5. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 1 6. 2 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 2. Especificación del algoritmo Algoritmo para operandos de 3 bits Para operandos de 32 bits el bucle sería de 0 to 31 34 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Diseño de la ruta de datos REG R SHT REG A SHT REG B ld ld cl cl cl ld 64 64 32 lsh rsh begin 1. A := Ain; 2. B := Bin; 3. R := 0; for C:=0 to 31 do begin 4. if B0=1 then R := R+A; 5. A := A << 1; 6. B := B >> 1; end for; 7. Rout := R; end; 64 64 64 + 32 32 A B 0 R 64 10 0 64 B0 32 31 ce cl = 0 5 5C C=0 3. Diseño de la ruta de datos CONT ASC 0‐31 Algoritmo para operandos de 32 bits 35 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Señales de control 6464 64 REG R 64 SHT REG A 10 64 64 32 32 SHT REG B 32 ld ld cl cl cl A B 0 0 R lsh rsh 64 + ld ldB ldA selR ldR lshA rshB B0 32 31 ceCce cl = 0 5 4. Identificación de las señales de control CONT ASC 0‐31 36 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Señales de estado 6464 64 REG R 64 SHT REG A 10 64 64 32 32 SHT REG B 32 ld ld cl cl cl A B 0 0 R lsh rsh 64 + ld ldB ldA selR ldR lshA rshB B0 32 31 B0 Cz ceCce cl = 0 5 5. Identificación de las señales de estado CONT ASC 0‐31 37 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CONT ASC 0‐31 Estructura del sistema completo CO N TR O LA DO R 6464 64 REG R 64 SHF REG A 10 64 64 32 32 SHT REG B ldB 32 ld ld cl cl cl A B 0 0 R ldA selR ldR lsh lshA B0 rsh rshB B0 Cz clk rst cl inicio fin 64 + ld RUTA DE DATOS 32 31 ceCce cl = 0 5 38 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Formalismo ASM (Algorithmic State Maquine) Para facilitar la expresión del algoritmo como una FSM usaremos un diagrama ASM como formalismo intermedio. Un diagrama ASM es un grupo de bloques interconectados. o Cada bloque se corresponde con un estado de la FSM e indica las acciones que se realizan en paralelo en dicho estado. Todo bloque (recuadro azul) esta formado por: o 1 caja de estado (rectangular): que indica las transferencias entre registros que se realizan incondicionalmente en el estado. o 0..n cajas de selección (romboidales): indican las condiciones bajo las cuales se que se determina el estado siguiente del sistema o se realizan ciertas transferencias entre registros. o 0..n cajas condicionales (ovaladas): indica las trasferencias entre registros que se realizan condicionalmente en un estado. 39 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Algoritmo en ASM 6. Reformulación del algoritmo como una secuencia de transferencias entre registros RR RA + RR RA RA << 1 RB RB >> 1 RC RC + 1 fin 0 RA RA << 1 RB RB >> 1 RC RC + 1 fin 0 (Cz,B0) fin 0 10 0100 1X 1 0S0 S1 S3S2 S4 RR 0 fin 0 inicio RA Ain RB Bin fin 1 B0 begin 1. A := Ain; 2. B := Bin; 3. R := 0; for C:= 0 to 31 do begin 4. if B0=1 then R := R+A; 5. A := A << 1; 6. B := B >> 1; end for; 7. Rout := R; end; 40 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Algoritmo en ASM RR RA + RR RA RA << 1 RB RB >> 1 RC RC + 1 fin 0 RA RA << 1 RB RB >> 1 RC RC + 1 fin 0 (Cz,B0) fin 0 10 0100 1X 1 0 S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0; si (inicio=1) ir a S1; S1 RR 0; fin 0; si (B0=0) ir a S2; si (B0=1) ir a S3; S2 RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S4 fin 0; si (Cz=1) ir a S0; si (Cz=0 y B0=0) ir a S2; si (Cz=0 y B0=1) ir a S3; S0 S1 S3S2 S4 RR 0 fin 0 inicio RA Ain RB Bin fin 1 B0 tiempo de cálculo: 2+32×2 = 66 ciclos 41 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Algoritmo como una FSM S2 S3 S0 S1 S4 estado ldB rshB ldA lshA ceC selR ldR fin S0 1 0 1 0 0 ‐ 0 1 S1 0 0 0 0 0 0 1 0 S2 0 1 0 1 1 ‐ 0 0 S3 0 1 0 1 1 1 1 0 S4 0 0 0 0 0 ‐ 0 0 Estado inicial (1,X,X) (X,X,1)(X,X,0) (X,1,X) (X,0,1)(X,0,0) (X,X,X) (X,X,X) estado inicio Cz B0 estado' S0 0 X X S0 S0 1 X X S1 S1 X X 0 S2 S1 X X 1 S3 S2 X X X S4 S3 X X X S4 S4 X 0 0 S2 S4 X 0 1 S3 S4 X 1 X S0 (0,X,X) entradas del controlador: (inicio, Cz, B0) 7. Especificación del controlador como FSM Función de transición de estados Función de salida 42 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s ROM + registro de estado REG R SHT REG A 10 SHT REG B ld ld cl cl cl A B 0 0 R lsh rsh + ld inicio fin REG cl ROM 64×11 3 3 a5 a0 d10 d0 . . . . . . 6464 64 64 64 64 32 32 32 64 32 31 B0 S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0; si (inicio=1) ir a S1; S1 RR 0; fin 0; si (B0=0) ir a S2; si (B0=1) ir a S3; S2 RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S4 fin 0; si (Cz=1) ir a S0; si (Cz=0 y B0=0) ir a S2; si (Cz=0 y B0=1) ir a S3; CONT ASC ce cl = 0 5 8. Diseño del controlador 43 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Generación del contenido de la ROM q 2 q 1 q 0 in ic io Cz B0 q 2 ' q 1 ' q 0 ' ld B rs hB ld A lsh A ce C se lR ld R fin a5 a4 a3 a2 a1 a0 DIR. d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 2 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 3 0 0 0 1 0 1 0 0 1 1 1 0 0 0 1 0 0 4 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 0 1 5 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 6 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 7 0 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 0 8 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 9 0 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 10 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 11 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 12 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 13 0 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 14 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 15 0 1 1 0 0 0 0 0 0 1 0 ... ... ... 1 1 1 1 1 1 63 estado ldB rshB ldA lshA ceC selR ldR fin S0 1 0 1 0 0 ‐ 0 1 S1 0 0 0 0 0 0 1 0 S2 0 1 0 1 1 ‐ 0 0 S3 0 1 0 1 1 1 1 0 S4 0 0 0 0 0 ‐ 0 0 estado inicio Cz B0 estado' S0 0 X X S0 S0 1 X X S1 S1 X X 0 S2 S1 X X 1 S3 S2 X X X S4 S3 X X X S4 S4 X 0 0 S2 S4 X 0 1 S3 S4 X 1 X S0 ROM 64×11 8. Diseño del controladordirección 44 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s A B inicio fin R clk estado RB RC RA 000 000 XXXXXX 110 101 000 00 101 000000 000110 S0 S1 S3 S4 S2 S4 S3 S4 S0 010 001 000 001100 011000 110000 01 10 00 000110 011110 101 000110 000000 S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0; si (inicio=1) ir a S1; S1 RR 0; fin 0; si (B0=0) ir a S2; si (B0=1) ir a S3; S2 RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S3 RR RA + RR; RA RA << 1; RB RB >> 1; RC RC + 1; fin 0; ir a S4; S4 fin 0; si (Cz=1) ir a S0; si (Cz=0 y B0=0) ir a S2; si (Cz=0 y B0=1) ir a S3; tiempo de cálculo: 2+3×2 = 8 ciclos 45 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Otro posible controlador: ROM + contador S2 S3 S0 S1 S4 Estado inicial (1,X,X) (X,X,1)(X,X,0) (X,1,X) (X,0,1)(X,0,0) (X,X,X) (X,X,X) (0,X,X) entradas del controlador: (inicio, Cz, B0) ROM 64×13 a5 a2 ldr selR ceC lshA ldA rshB ldB fin d0 d1 d2 d3 d4 d5 d6 a4 a3 a0a1 in ic io B 0 C z d10 d7 d8 d9 d12 d11 CONT cl e2 e1 e0 q2 q1 q0 ce ld q inicio Cz B0 e ld ce S0 0 X X ‐ 0 0 S0 1 X X ‐ 0 1 S1 X X 0 ‐ 0 1 S1 X X 1 S3 1 0 S2 X X X S4 1 0 S3 X X X ‐ 0 1 S4 X 0 0 S2 1 0 S4 X 0 1 S3 1 0 S4 X 1 X S0 1 0 46 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Cálculo del coste y tiempo de ciclo + 6464 64 10 64 64 64 FAFA 64 64 área: 64×29.49 = 1887 m2 retardo: 64×226 = 14464 ps área: 64×11.05 = 707.2 m2 retardo: 1×223 = 223 ps REG cl ld n n n n área: n×11.05 + n×32.26 = n×43.31 m2 retardo CLKQ: 1×167 = 167 ps retardo inD: 1×223 = 223 ps ROM 64×11 CONT ASC ce cl tc 5 SHT REG ld cl n sh n 64 área: n×23.04 + n×32.26 = n×55.3 m2 retardo CLKQ: 1×167 = 167 ps retardo inD: 1×250 = 250 ps HAHA 5 5 área: 5×15.77 + 5×32.26 = 240.6 m2 retardo CLKQ: 1×167 = 167 ps retardo inD: 5×114 = 570 ps área: 971 m2 retardo: 573 ps = 0 área: 15,67 m2 retardo: 126 ps 47 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Cálculo del tiempo de ciclo REG R SHT REG A 10 SHT REG B ld ld cl cl cl A B 0 0 R lsh rsh + ld inicio fin REG cl ROM 64×11 3 3 a5 a0 d10 d0 . . . . . . 6464 64 64 64 64 32 32 32 64 32 31 B0 14464 573 167 250 167 250 167 223 223 167 223 transferencia retardo RA Ain 990 ps RB Bin 990 ps fin X 740 ps RR 0 1186 ps RA RA << 1 990 ps RB RB >> 1 990 ps RR RA + RR 15077ps RC RC + 1 1350 ps cálculo de estado 1089 ps máximo 15077ps 1 1 15077 ∙ 10 s CONT ASC ce cl = 0 5 167 570 126 tiempo de cálculo: 1 s (66 ciclos × 15077 ps/ciclo) 48 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Cálculo del coste REG R SHT REG A 10 SHT REG B ld ld cl cl cl A B 0 0 R lsh rsh + ld inicio fin REG cl ROM 64×11 3 3 a5 a0 d10 d0 . . . . . . 6464 64 64 64 64 32 32 32 64 32 31 B0 1770 transferencia retardo RA Ain 990 ps RB Bin 990 ps fin X 740 ps RR 0 1186 ps RA RA << 1 990 ps RB RB >> 1 990 ps RR RA + RR 15077ps RC RC + 1 1350 ps cálculo de estado 963 ps máximo 15077ps 1 1 15077 ∙ 10 s 3539 1887 707 2772 241 130 971 área: 12033 m2 CONT ASC ce cl = 0 5 16 tiempo de cálculo: 1 s (66 ciclos × 15077 ps/ciclo) 49 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s Máximo común divisor A B inicio fin clk R n n n rst algoritmo de Euclides begin 1. A := Ain; 2. B := Bin; 3. R := 0; if (A<>0 and B<>0) then begin while (A<>B) do if A>B then 4. A := A – B; else 5. B := B – A; 6. R := A; end if; 7. Rout := R; end; A3A2A1A0 B3 B2B1B0 R3R2R1 R0 1. 1 0 0 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ 2. 1 0 0 1 0 1 1 0 ‐ ‐ ‐ ‐ 3. 1 0 0 1 0 1 1 0 0 0 0 0 4. 0 0 1 1 0 1 1 0 0 0 0 0 5. 0 0 1 1 0 0 1 1 0 0 0 0 6. 0 0 1 1 0 0 1 1 0 0 1 1 50 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s CO N TR O LA DO R - 01 1 0 REG A ld cl n n 01 REG B ld cl n n 0 1 REG R n cl R ld A B A ? B A<>0 y B<>0 n n selA cmp ldA seli selR nz selB cl ldB seld 2 01 0 n ldR fin inicio RUTA DE DATOS 51 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s RR 0 fin 0 nz 1 0 inicio 1 0 S0 S1 fin 0 cmp 0110 S2 RB RB-RARA RA-RB RR RA S3 00 RA Ain RB Bin fin 1 begin 1. A := Ain; 2. B := Bin; 3. R := 0; if (A<>0 and B<>0) then begin while (A<>B) do if A>B then 4. A := A – B; else 5. B := B – A; 6. R := A; end if; 7. Rout := R; end; 52 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s RR 0 fin 0 nz 1 0 inicio 1 0 S0 S1 fin 0 cmp 0110 S2 RB RB-RARA RA-RB RR RA S3 00 RA Ain RB Bin fin 1 S0 RA Ain; RB Bin; RR 0; fin 1; si (inicio=0) ir a S0; si (inicio=1) ir a S1; S1 fin 0; si (nz=0) ir a S0; si (nz=1) ir a S2; S2 fin 0; si (cmp=00) ir a S3; si (cmp=10) RA RA-RB, ir a S2; si (cmp=01) RB RB-RA, ir a S2; S3 RR RA; ir a S0; 53 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s entradas del controlador: S2 S0 S1 Estado inicial (1,X,X) (X,0,X) (inicio, nz, cmp) estado inicio nz cmp1 cmp0 estado' S0 0 X X X S0 S0 1 X X X S1 S1 X 0 X X S0 S1 X 1 X X S2 S2 X X 0 0 S0 S2 X X 0 1 S2 S2 X X 1 0 S2 S3 X X X X S0 (0,X,X) (X,1,X) S3 (X,X,10) (X,X,X) (X,X,00) (X,X,01) estado cmp1 cmp0 selA selB ldA ldB seli seld selR ldR fin S0 X X 0 0 1 1 ‐ ‐ ‐ 0 1 S1 X X ‐ ‐ 0 0 ‐ ‐ 1 1 0 S2 0 0 ‐ ‐ 0 0 ‐ ‐ ‐ 0 0 S2 0 1 ‐ 1 0 1 0 0 ‐ 0 0 S2 1 0 1 ‐ 1 0 1 1 ‐ 0 0 S2 1 1 ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ S3 X X 0 0 0 0 ‐ ‐ 0 1 0 compatibles compatibles 54 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s entradas del controlador: S2 S0 S1 Estado inicial (1,X,X) (X,0,X) (inicio, nz, cmp) estado inicio nz cmp1 cmp0 estado' S0 0 X X X S0 S0 1 X X X S1 S1 X 0 X X S0 S1 X 1 X X S2 S2 X X 0 0 S0 S2 X X 0 1 S2 S2 X X 1 0 S2 S3 X X X X S0 (0,X,X) (X,1,X) S3 (X,X,10) (X,X,X) (X,X,00) (X,X,01) estado cmp1 cmp0 selA selB selR ldA seli seld ldB ldR fin S0 X X 0 1 1 0 1 S1 X X 1 0 0 1 0 S2 0 0 ‐ 0 0 0 0 S2 0 1 1 0 1 0 0 S2 1 0 1 1 0 0 0 S2 1 1 ‐ ‐ ‐ ‐ ‐ S3 X X 0 0 0 1 0 55 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s - 01 1 0 REG A ld cl n n 01 REG B ld cl n 0 1 REG R n cl R ld A B A ? B A<>0 y B<>0 n n 2 01 0 n REG cl 2 3 ROM 64×7 a5 a0 d6 d0 . . . . . . fin inicio n selA cmp ldA seli selR nz selB ldB seld ldR 56 FC ve rs ió n 12 /0 9/ 14 te m a 7: M ód ul os s ec ue nc ia le s bá si co s A B inicio clk estado RB RA 0000 0000 1001 0110 0000 0110 0000 1001 S0 S1 S2 S3 S0 0011 0110 0011 1001 S0 RA Ain; RB Bin; fin 1; si (inicio=0) ir a S0; si (inicio=1) ir a S1; S1 RR 0; fin 0; si (nz=0) ir a S0; si (nz=1) ir a S2; S2 fin 0; si (cmp=00) ir a S3; si (cmp=10) RA RA-RB, ir a S2; si (cmp=01) RB RB-RA, ir a S2; S3 RR RA; ir a S0; fin R XXXX 00110000 cmp 00 00 1010 01 Temas/FCtema4-imprimible.pdf José Manuel Mendías Cuadros Dpto. Arquitectura de Computadores y Automática Universidad Complutense de Madrid Tema 4: Módulos combinacionales básicos Fundamentos de computadores 2 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Decodificador. Multiplexor. Bus. Codificador. ROM (Read Ony Memory). Sumador/Restador. Comparador. ALU (Arithmetic Logic Unit). Transparencias basadas en los libros: • R. Hermida, F. Sánchez y E. del Corral. Fundamentos de computadores. • D. Gajsky. Principios de diseño digital. 3 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s E 2n-1 0 z0 z2 -1 0 n-1xn-1 x0 ... ... n si la entrada toma la configuración binaria p, la salida (p)10‐ésima se activa zi = E·mi(x) Decodificador n a 2n x n entradas de datos z 2n salidas de datos E 1 entrada de capacitación (op) zi = 1 si E=1 y (x)10 = i 0 en caso contrario 4 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Implementación directa x1 x0 E z0 z1 z2 z3 Decodificador 2 a 4 5 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s 30 21 z0 z1 z2 z3 0 1 x0 x1 30 21 z4 z5 z6 z7 0 1 30 21 z8 z9 z10 z11 0 1 30 21 z12 z13 z14 z15 0 1 E 30 21 0 1 x2 x3 Implementación en árbol Decodificador 4 a 16 6 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Aplicaciones al diseño: 1. Habilitar selectivamente 1 de n subcomponentes cada uno asociado a un índice (dirección) binaria. 2. Implementar directamente SPC usando puertas OR adicionales (que sumen cada unos de los mintérminos de la FC). 3 0 2 10 1 x0 x1 x1 x0 x1 x0 2 7 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s ... Multiplexor 2n a 1 z = xi si E=1 y (s)10 = i 0 en caso contrario 2n-1 0x0 x2 -1 z n E 0n-1 ... s0sn-1 si la entrada de control toma la configuración binaria p, la salida equivale a la entrada (p)10‐ésima z = E·( xi·mi(s) ) x 2n entradas de datos s n entradas de control E 1 entrada de capacitación (op) z 1 salida de datos 8 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s x0 x1 x2 x3 s0s1 E z Implementación directa Multiplexor 4 a 1 9 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s 01010101 0101 01 z x2x3 s0 s1 s2 x0x1x6x7 x4x5 Implementación en árbol Multiplexor 8 a 1 10 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Aplicaciones al diseño: 1. Conectar selectivamente varias entradas una misma salida. 2. Implementar directamente FC que tengan el mismo número de variables que entradas de control (transcribiendo su tabla de verdad). 3. Implementar funciones de manera que las EC a simplificar tengan menos variables. x1x0 x3x2 0 1 23 00 01 00 01 4 5 67 11 10 11 10 12 13 1415 8 9 1011 0 1 f2 31 0 0 1 0 2 3 1 1 0 x0x1 x1 x01 0 2 3 x3 x2 01 x0x1f0 f1 f3 f2 f0 f1 f2 f3 11 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s ... Multiplexor 2n a 1 de k bits 2n-1 0x0 x2 -1 z n 0n-1 ... s0sn-1 k k k si la entrada de control toma la configuración binaria p, la salida equivale a la entrada (p)10‐ésima x 2n entradas de datos de k bits s n entradas de control E 1 entrada de capacitación (op) z 1 salida de datos de k bits E z = xi si E=1 y (s)10 = i 0 en caso contrario zj = E·( xij·mi(s) ) 12 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s 01010101 b1a1 s b0a0b3a3 b2a2 z3 z2 z1 z0 Multiplexor 2 a 1 de 4 bits s a z 01 b 4 4 4 13 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s a C2 43 91 7D b 01 AB 77 A8 68 z C2 43 AB 77 A8 91 7D retardo propagación s b z 01 a 8 8 8 s 14 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s k k k ... 0 0n-1 sn-1 s0 2n-1 x0 x2 -1n z ... ... si la entrada de control toma la configuración binaria p, la salida equivale a la entrada (p)10‐ésima x 2n entradas de datos de k bits s n entradas de control z 1 salida de datos de k bits 15 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s ...... Codificador 2n a n x 2n entradas de datos z n salidas de datos E 1 entrada de capacitación (op) A 1 salida de actividad z = (i)2 si E=1 y xi = 1 y j, j≠i, xj=0 0 en caso contrario A = 1 si E=1 y i, xi=1 0 en caso contrario A 2n‐1 0x0 x2 -1 0 n‐1 zn-1 z0 n E zi = E·( xj ) con j { (an-1...a0)2 / ai = 1 } A = E·( xi ) si se activa la entrada p‐ésima y solo esa, la salida codifica p en binario 16 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s x0x7 E z0 z1 z2 A entrada activada z2 z1 z0 x0 0 0 0 x1 0 0 1 x2 0 1 0 x3 0 1 1 x4 1 0 0 x5 1 0 1 x6 1 1 0 x7 1 1 1 Implementación directa Codificador 8 a 3 17 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s ...... Codificador de prioridad 2n a n A 2n-1 0x0 x2 ‐1 0 n-1 zn‐1 z0 n Ei Eo x 2n entradas de datos z n salidas de datos Ei 1 entrada de capacitación (op) Eo 1 salida de capacitación (op) A 1 salida de actividad la salida codifica en binario la entrada activa de más peso z = (i)2 si Ei=1 y xi = 1 y j, j>i, xj=0 0 en caso contrario A = 1 si Ei=1 y i, xi=1 0 en caso contrario Eo = 1 si Ei=1 y j, xj = 0 0 en caso contrario 18 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s 0 1 n-1 E 0 1 2 -1 n z0 z1 zn-1 v2 -1n x0 x1 x2 -1n R es ol uc ió n de pr io rid ad es Ei A Eo A v1 v0 vi = xi·( xj ) con j > xi 19 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s x0 x1 x2 x3 v0 v1 v2 v3 Implementación directa Resolución de prioridades Codificador 4 a 2 20 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s A 3 02 1 x0x1x2x3 01 A 3 02 1 x4x5x6x7 01 A 3 02 1 x8x9x10x11 01 A 3 02 1 x12x13x14x15 01 A 3 02 1 01 z2z3 3 02 1 0 1 A z0z1 2 2 2 2 Implementación en árbol Codificador 16 a 4 21 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s 3 02 1 x8x9x10x11 3A 7 46 5 x12x13x14x15 01 z2z3 z1 Implementación en cascada Codificador 16 a 4 Ei EoE 3 02 1 x0x1x2x3 3A 7 46 5 x4x5x6x7 01 Ei Eo z0A 22 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Aplicaciones al diseño: 1. Asociar un código a cada componente de un vector de entrada. A 3 0 2 1 0 1 RSW0 RSW1 RSW2 RSW3 Te cl ad o lin ea l código de la tecla pulsada indica si hay alguna tecla pulsada 23 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s R O M d OE a a 1 entrada de dirección de k bits d 1 salida de datos de n bits CE 1 entrada de capacitación (op) OE 1 entrada de capacitación de lectura (op) dispositivo programable capaz de implementar n FC de k variables almacenando sus tablas de verdad Array de 2k puertas AND de k entradas fijas Array de n puertas OR de 2k entradas programables 2k n a d k k n ROM 2k×n (2k palabras de n bits) memoria no volátil de capaz de almacenar 2k palabras de n bits cada una CE 24 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s CE Array de puertas OR Array de puertas AND OE fija programable d0d1d2 a1 a0 ROM 4×3 25 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s fija programable 0 3 1 21 0 Decodificador 2 a 4 d0d1d2 a1 a0 ROM 4×3 26 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Aplicaciones al diseño: o Implementar directamente FC almacenando su tabla de verdad. a1 a0 d2 d1 d0 0 0 0 1 1 0 1 0 1 1 1 0 2 1 0 0 1 1 3 1 1 1 0 0 d0d1d2 0 3 1 21 0 a1 a0 110110 011 100 d0d1d2 a1 a0 ROM d0 = a1∙a0 d1 = a1 + a0 d2 = a1 + a0 27 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Mask Programmable ROM o Se programa durante la fabricación del chip. o No puede borrarse/reprogramarse. PROM (Programmable ROM) o Se programa eléctricamente usando un programador. o No puede borrarse/reprogramarse. EPROM (Erasable Programmable ROM) o Se programa eléctricamente usando un progamador. o Se borra (chip completo) exponiéndola a luz ultravioleta. EEPROM (Electrically Erasable Programmable ROM) o Se programa/borra (palabra) eléctricamente usando un programador. Flash memory o Se programa/borra (bloque) eléctricamente sin requerir programador. 28 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s La capacidad de las memorias se mide en bytes (8 bits) o Cuando el número de bytes es alto, se utilizan prefijos. Históricamente, los prefijos indican cantidades potencias de 2 • Kilobyte (KB) = 210 bytes = 1.024 bytes • Megabyte (MB) = 220 bytes = 1.048.576 bytes • Gigabyte (GB) = 230 bytes = 1.073.741.824 bytes Sin embargo, desde hace algunos años su significado se ha homogeneizado con el definido en el Sistema Internacional de unidades (potencias de 10) • Kilobyte (kB) = 103 bytes = 1.000 bytes • Megabyte (MB) = 106 bytes = 1.000.000 bytes • Gigabyte (GB) = 109 bytes = 1.000.000.000 bytes o Y se han definido nuevos prefijos para indicar las potencias de 2 • Kibibyte (KiB) = 210 bytes = 1.024 bytes • Mebibyte (MiB) = 220 bytes = 1.048.576 bytes • Gibibyte (GiB) = 230 bytes = 1.073.741.824 bytes o No obstante, todavía no está generalizado el uso de los nuevos prefijos . 29 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Varias ROM se pueden componer para comportarse como una ROM de mayor anchura de palabra. a 10 10 8 ROM 210×8 8 ROM 210×8 10 8 ROM 210×8 10 8 ROM 210×8 32 dImplementación multimódulo ROM 210×32 (4 KiB) usando 4 ROM 210×8 (1 KiB) 30 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Varias ROM se pueden componer para comportarse como una ROM de mayor profundidad. 10 8 ROM 210×8 8 ROM 210×8 10 8 ROM 210×8 10 8 ROM 210×8 bus OE OE OE OE a9..0 8 a11..10 0 1 2 32 10 d Implementación multimódulo ROM 212×8 (4 KiB) usando 4 ROM 210×8 (1 KiB) 31 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s PLA ROM PAL CPLD interconexiones (re)programables 32 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s + ba s cico nn n a, b 2 entradas de datos de n bits ci 1 entrada de acarreo s 1 salida de datos de n bits co 1 salida de acarreo realiza la suma binaria de a + b + ci s = (a + b + ci) mod 2n co = 1 (a + b + ci) ≥ 2n 0 en caso contrario 33 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Implementación con propagación de acarreos FA s0 b0a0 Sumador de 4 bitsciFA s1 b1a1 FA s2 b2a2 FA s3 b3a3 co s0 biai ci co si FA (*) a·b + a·c + b·c = a·b + (a·b·c + a·b·c) + (a·b·c + a·b·c) = = a·b + a·b·c + a·b·c = a·b + (a·b + a·b)·c si = (ai bi) ci co = ai·bi + ai·ci + bi·ci = ai·bi + (ai bi )·ci (*) ci ai bi co si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 34 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Varios sumadores se pueden componer en serie para para comportarse como un sumador de mayor anchura. + b3..0a3..0 s3..0 ci+ b7..4a7..4 s7..4 4 4 4 4 44 cO Implementación serie Sumador de 8 bits 35 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s - ba r cico nn n a, b 2 entradas de datos de n bits ci 1 entrada de acarreo r 1 salida de datos de n bits co 1 salida de acarreo realiza la resta binaria de a ‐ b ‐ ci s = (a ‐ b ‐ ci) mod 2n co = 1 (a ‐ b ‐ ci) < 0 0 en caso contrario 36 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Implementación con propagación de acarreos Restador de 4 bits ri = (ai bi) ci co = ai·bi + ai·ci + bi·ci biai ci co si FSci ai bi co ri 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 = ai·bi + (ai bi )·ci FS s0 b0a0 ciFS s1 b1a1 FS s2 b2a2 FS s3 b3a3 co 37 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Varios restadores se pueden componer en serie para para comportarse como un restador de mayor anchura. - b3..0a3..0 s3..0 ci- b7..4a7..4 s7..4 4 4 4 4 44 cO Implementación serie Restador de 8 bits 38 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s a, b 2 entradas de datos de n bits Gi, Li 2 entrada de acarreo Go, Lo 2 salidas de comparación compara 2 números binarios =/</> ba nn Go Lo Gi Li Go = 1 si (a>b) o (a=b y Gi>Li) 0 en caso contrario Lo = 1 si (a<b) o (a=b y Gi<Li) 0 en caso contrario a = b a ≠ ba > b a < b 39 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s ai bi Gi Li Go Lo 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 1 1 1 0 0 biai Go Lo LiGi CMP 40 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Implementación en serie CMP b0a0 Comparador de 4 bitsCMP b1a1 CMP b2a2b3a3 Go Lo CMP b0a0b1a1 CMP b2a2b3a3 CMPGoLo Implementación en árbol Comparador de 4 bits 41 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s a, b 2 entradas de datos de n bits op 1 entrada de selección de operación s 1 salida de datos de n bits ov 1 salida de overflow realiza la suma/resta en a y b (interpretados en C2) +/- ba s op nn n ov s = a + b si op = 0 = a + (b op) + op a + b + 1 si op = 1 ov = 1 (bn‐1 op)=0 y an‐1=0 y sn‐1=1 ó (bn‐1 op)=1 y an‐1=1 y sn‐1=0 0 en caso contrario a – b = a + (– b) =C2 a + C2(b) = a + C1(b) + 1 = a + b + 1 42 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s FA s0 b0a0 FA s1 b1a1 FA s2 b2a2 FA s3 b3a3 op ov Implementación con propagación de acarreos Sumador/restador de 4 bits 43 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s FA s0 b0a0 FA s1 b1a1 FA s2 b2a2 FA s3 b3a3 op Implementación con propagación de acarreos Sumador/restador de 4 bits ov 44 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s a, b 2 entradas de datos de n bits m 1 entrada de selección de modo op 1 entrada de selección de operación s 1 salida de datos de n bits c 1 salida de acarreo v 1 salida de overflow z 1 salida de detección de cero n 1 salida de detección de negativo ba s m nn n c op v z ALU 2 m op1 op0 z 1 0 0 a + b 1 0 1 a – 1 = a + (‐1) =C2 a + 1 1 1 0 a – b 1 1 1 a + 1 = a – (‐1) =C2 a – 1 m op1 op0 z 0 0 0 not( a ) 0 0 1 and( a, b ) 0 1 0 a 0 1 1 or( a, b ) operaciones aritméticasoperaciones lógicas n 45 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s +/- op1 m s 10 n 30 21 0 1op1 op0 n n nn n n a b z ov c n n op0 n n = sn-1 46 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Los módulos presentan algunas características interesantes: o Tienen estructuras genéricas fácilmente escalables. o Procesan palabras de datos y no solo bits individuales. o Pueden realizar distintas funciones según el valor de ciertas entradas de control. o Tienen funcionalidades abstractas que permiten diseñar/describir de manera estructurada sistemas complejos sin tener recurrir a EC/FC: • Basta con interconectarlos sin crear realimentaciones • Y usar discrecionalmente puertas (glue logic) para adaptar señales. 47 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s En muchos casos es posible obtener directamente una red de módulos combinacionales desde un enunciado. x z n n valor absoluto de un número en C2 + 10 n n n x n 0 1 z n-1 z = abs( x ) =C2 x si xn‐1 = 0 C2(x) = not(x)+1 si xn‐1 = 1 z = abs( x ) = x si x ≥ 0 ‐x si x < 0 n 48 FC ve rs ió n 12 /0 9/ 14 te m a 4: M ód ul os c om bi na ci on al es bá si co s Biblioteca de celdas: CMOS 90 nm Módulo Área (m2) Retardo (ps) Consumo estático (nW) Consumo dinámico (nW/MHz) 11.0592 223 84 8639 23.0400 250 163 15169 29.4912 191 (z0) 189 (z1) 132 (z2) 127 (z3) 23 543 29.4912 205 (s)226 (c) 159 5374 (s) 713 (c) fu en te : S yn op sy s (S A E D E D K 9 0 nm ) Temas/FCpensar4.pdf Facultad de Informática Universidad Complutense de Madrid Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 1 TEMAS PARA PENSAR DE FUNDAMENTOS DE COMPUTADORES TEMA 4 1. En un codificador de prioridad convencional, la prioridad relativa de cada una de las entradas (la que determina el valor que codifica la salida cuando uno o varias entradas se activan) es fija. Algunas aplicaciones requieren que la prioridad pueda cambiar dinámicamente para dar un acceso a los recursos más equilibrado. Un codificador de prioridad 8 a 3 programable, aparte de las 8 entradas de solicitud convencionales, ri, tiene una entrada de control, c, que indica la petición de mayor prioridad. Por ejemplo, si c = “011”, la prioridad relativa de las entradas será r3, r2, r1, r0, r7,..., r4. En la figura se muestra un esquema de su estructura. El diseño utiliza la señal c para generar 2 máscaras de 8 bits que se usan para eliminar respectivamente la parte baja y alta de la palabra de solicitud. Aplicando ambas máscaras a la palabra de solicitud original y pasando ambos resultados por sendos codificadores de prioridad obtendremos 2 códigos, uno de los cuales deberá ser seleccionado en función de si existe o no una petición en la parte baja de la solicitud. Por ejemplo, si c es “011” y r es “11010101”, la máscara a usar para eliminar los bits menos significativos de la solicitud será “00001111” y la máscara a usar para eliminar los bits más significativos de la solicitud será su inversa, es decir, “11110000”. Aplicando ambas máscaras a r, tenemos “00000101” y “11010000” que generan respectivamente los códigos “010” y “111”. Finalmente “010” es seleccionado ya que la parte baja de la solicitud contiene algún ‘1’. Diséñese el circuito generador de máscara. 2. Diseñar un codificador de prioridad 8 a 3 dual. El sistema funcionará como un codificador de prioridad convencional con la diferencia de que tiene 2 salidas de 3 bits para códigos y 2 salidas de activación por las que indicará, cuando corresponda, los códigos de las 2 entradas de mayor peso que se activen. 3. Se define la distancia Hamming entre 2 palabras binarias del mismo tamaño como el número de posiciones en las que ambas palabras difieren e indica el número de bits que deben invertirse para convertir una palabra en la otra. Un circuito que calcule la distancia Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 2 Hamming debe hacerlo en 2 fases. La primera, debe calcular una palabra que marque mediante ‘1’ los bits en los que difieren las palabras de entrada. La segunda, debe contar el número de ‘1’ resultantes en la anterior fase mediante un circuito conocido como contador de población. Por ejemplo, dadas las palabras “00010011” y “10010010”, cuya distancia Hamming es 2 ya que difieren en las posiciones 7 y 0, el resultado de la primera fase será “10000001” y el de la segunda “0010”. Diseñar un circuito combinacional que calcule la distancia Hamming entre 2 palabras de 8 bits (Pista: La primera fase se implementa usando puertas XOR. La segunda fase se implementa mediante un árbol de sumadores completos de 3 etapas en donde los sumadores son respectivamente de 1, 2 y 3 bits y en cada etapa se suman 2 a 2 los resultados obtenidos en la anterior etapa. Téngase en cuenta que en cada etapa el carry-out de la suma debe concatenarse con el resultado de la suma para formar el operando que se sumará en la etapa siguiente). 4. Diseñe un circuito combinacional que cuente el número de ceros consecutivos que hay a la izquierda de un vector de 16 bits dado. (Pista: Usar un contador de población que tenga una etapa previa que marque mediante ‘1’ los bits que valen ‘0’ a la izquierda del primer ‘1’ de la palabra de entrada). 5. La multiplicación por constantes aparece en una multitud de aplicaciones de procesado digital de señal. Para evitar el uso de un multiplicador, que es un recurso muy costoso, en ocasiones se utiliza una implementación basada en ROM y sumadores que se basa en la siguiente idea. Supongamos que deseamos multiplicar por una constante un número entero sin signo codificado en binario con 8 bits, x. Dado que dicho número puede representarse como 2 dígitos hexadecimales (los nibbles superior e inferior del byte), su valor en notación polinomial en base 16 es: 1016×(x7..4) + (x3..0). Si multiplicamos dicha expresión por la constante el valor nos queda una expresión que permite calcular el valor del producto como: 1016×Cte×(x7..4) + Cte×(x3..0). Obsérvese que esta expresión requiere 2 ROM (16×12) conteniendo el resultado de multiplicar la constante por los valores del 0 al 15 (es decir, por los 16 dígitos hexadecimales posibles), un sumador de 12 bits (para sumar los productos parciales) y 1 desplazador a derechas de 4 bits (para implementar el producto por 1016). Diseñe un circuito que multiplique un número entero sin signo codificado en binario con 8 bits por 47 (2F16). 6. Diseñe un conversor de código genérico que dado un número entero con signo codificado en C2 con n bits, lo represente en MyS con n bits. (Pista: Usar un sumador binario completo de n bits). 7. Diseñe un conversor de código genérico que dado número entero con signo codificado en MyS con n bits, lo represente en C2 con n bits. (Pista: Usar un sumador binario completo de n bits). 8. Diseñe un módulo genérico que calcule el valor absoluto de un número entero con signo codificado en C2 con n bits. El resultado deberá codificarse en binario de n-1 bits. (Pista: Usar un sumador binario completo de n bits). 9. Diseñe un sumador genérico de 2 números enteros con signo codificados en MyS de n bits. (Pista: El circuito tendrá 2 etapas. La primera ordena los números según su magnitud y la segunda examina los signos para decidir si debe sumar o restar las magnitudes para obtener el resultado). 10. En algunas aplicaciones de procesado digital de señal es conveniente usar sumadores con saturación para reproducir lo que sucedería en el correspondiente circuito analógico cuando los voltajes de salida de los amplificadores se saturan (es decir, llegan al máximo o mínimo valor posible). Un sumador saturado se comporta como un sumador Temas para pensar de Fundamentos de Computadores Tema 4 / pág. 3 convencional excepto cuando se desborda. En ese caso, genera a su salida el mayor o menor valor representable en la codificación escogida según corresponda. Diseñe un sumador saturado genérico de números enteros con signo codificados en C2 con n bits. (Pista: El circuito tendrá 2 etapas. La primera suma normalmente los números y la segunda deja pasar el resultado o el valor saturado que corresponda). 11. Diseñe un sumador de 2 números enteros sin signo codificados usando n dígitos BCD. El sistema se realizará componiendo n módulos sumadores de 2 dígitos BCD, cada uno de los cuales tendrá 2 entradas de 4 bits de datos, 1 entrada binaria de acarreo, 1 salida de 4 bits de datos y 1 salida binaria de acarreo. (Pista: La suma deberá calcularse dígito a dígito usando sumadores binarios completos de 4 bits de manera que si el resultado excede 9 se sume 6, lo que equivale a restar 10, y usar el acarreo resultante en la suma del siguiente dígito). 12. Diseñe un incrementador de números enteros sin signo codificados usando n dígitos BCD. El sistema tendrá una entrada y una salida de datos ambas de 4·n bits. (Pista: El sistema deberá realizarse componiendo módulos de 4 bits). Examenes/examenFebrero12-13.pdf Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2012-13, primer parcial / pág. 1 EXAMEN DE FUNDAMENTOS DE COMPUTADORES CURSO 2012-13, PRIMER PARCIAL, 13 DE FEBRERO DE 2013 1. (1 punto) Dados los siguientes números A = +43 (en decimal), B = -64 (en decimal), C= +57 (en octal) y D = +7F (en hexadecimal): a) (0,2 puntos) Indique el número mínimo de bits necesario para representar A y B en C2. b) (0,4 puntos) Exprese A, B, C y D en complemento a dos con 8 bits. c) (0,4 puntos) En la anterior representación, efectúe las operaciones (A-B) y (C-D) indicando si hay desbordamiento o acarreo y el por qué. 2. (1 punto) Dadas las funciones: , , , ∑m 1,3,10,11,12,13 , , Obtenga una expresión de conmutación de la función x , x , x , x ∙ en forma de suma de mintérminos canónica. 3. (3 puntos) Se desea realizar un circuito combinacional que permita clasificar, según su forma, las piezas que se sitúan en un receptáculo. Para ello, las entradas del sistema están conectadas a una matriz de 4 células fotoeléctricas dispuestas como se muestra en la figura. Cuando no hay pieza en el receptáculo, todas las células generan valor 0. Cuando la hay, unas células generan valor 0 y otras 1 según la forma de la pieza (véanse algunos ejemplos en la figura). El sistema generará un vector de 2 bits indicando si la pieza es cuadrada (00), triangular (01), en forma de L (10) o defectuosa (11), es decir, no es una de las anteriores. Considérese que todas las piezas encajan en el receptáculo pero que podrán estar rotadas 90º, 180 ó 270º. Se pide: a) (1 punto) Indicar la tabla de verdad del sistema. b) (2 puntos) Diseñarlo utilizando el menor número de puertas NAND e inversores. A = 0 D = 0 C = 0 B = 0 A B C D A = 1 D = 0 C = 1 B = 1 A B C D A = 0 D = 1 C = 1 B = 0 A B C D A = 1 D = 1 C = 1 B = 1 A B C D clasificador F A D C B 2 A B C D Exam 4. (2 e S 5. (3 fu e S c e S men de Fundam 2 puntos) S en la tabla. Se pide comp 3 puntos) S fuentes (llam encienden de Si el va encendi encendi Si el val Siempre que correspondie están apagad Se pide: a) (1,5 máqu b) (0,5 p trans c) (1 pu tama mentos de Com Sea el regist pletar el sig Se quiere d madas a, b, c epende de u alor de S e das; c y d das; a y b: a lor de S es 0 e cambia el ente. El sist das y desde puntos) E uina de Moo puntos) Ind sición de est unto) Imple año mínimo. mputadores tro multifun guiente crono diseñar el si c y d) que h una señal de es 1, la sec d: apagadas apagadas)... 0, la secuenc l valor de tema tiene a el que salta specificar e ore. dicar las tabl tados del sis ementar el si . nción de la ograma: istema que hay en un p control S. cuencia es: s), (b y c: cia es: ad, b S, se empie además un a la corresp el sistema las de verda stema. istema med c figura, que controla el parque. La s ab, bc, cd encendidas bc, ad, bc… eza por el estado inic pondiente se mediante u ad que espec iante biestab C1C0 Mo 00 01 De 10 11 curso 2012-13 realiza las encendido ecuencia en d, ab, bc… s; a y d: primer esta ial en el qu ecuencia seg un diagrama cifican las fu bles D y una odo de funcio Carga en pa esplazar a la Rotar a la d Mantener e 3, primer parci funciones d y apagado n la que se a … Es decir apagadas), ado de la s ue todas las gún el valor a de estado funciones de na memoria onamiento aralelo izquierda derecha el valor ial / pág. 2 definidas de las 4 apagan y (a y b: (c y d: ecuencia s fuentes de S. os como e salida y ROM de Examenes/examenSept11-12 (primer parcial).pdf Exam 1. ( a b c 2. ( a b 3. (3 ti ru p e Facu Unive men de Fundam EXA CURSO 2 1 punto) Da A a) (0.4 pun b) (0.3 pun c) (0.3 pun las opera qué. 1 punto) Se a) (0.25 pu b) (0.75 pu 3 puntos) S iene 2 entra uido y la en parte, la sali es igual a 1) x clk estado z ultad de In ersidad Complu mentos de Com AMEN D 2011-12, EX ados los núm = (1110101 ntos) Determ ntos) Repres ntos) Utiliza aciones (A-B ea el siguien z untos) Dibuj unto) Comp Se desea dis adas y 2 sa ntrada C lo ida G habili o bien algu x k o a S0 z 1 0 b nformática utense de Mad mputadores E FUND XAMEN FIN meros: 10)C2, B = (0 minar el val sentar C y D ando únicam B) y (-C+D nte sistema s x tz 0 1 )( je su diagram plete el sigui señar el siste alidas, todas hará cuand ita un gener unas palabra a drid AMENTO NAL (1ER. PA 00111101)C lor de los nú D en notació mente notaci D), indicando secuencial: casoen tt t1,2, ma de estad iente cronog ema de con s ellas bina do haya un rador de son as (si L es ig curso 2011-1 OS DE C ARCIAL), 6 D C2, C = -(523 úmeros en d n en comple ión en comp o si hay des contrarioo óaaa= dos como má grama: ntrol de una arias. La en chupete en nidos que re gual a 0). 2, examen fin OMPUTA DE SEPTIEM 3)8 y D = +( decimal. emento a 2 d plemento a 2 bordamient bbb áquina Meal muñeca int ntrada R val n la boca de eproduce o nal (1er. parcia ADORES MBRE DE 20 (543)8 de 10 bits. 2 de 10 bits to o acarreo aly. teractiva. El ldrá 1 cuan e la muñeca bien un llan al) / pág. 1 12 efectuar y el por l sistema ndo haya a. Por su nto (si L Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 2 Una vez encendida, la muñeca se encontrará en estado “tranquila” donde, si no hay estímulos, ni habla, ni llora. Si se hace ruido, sigue “tranquila” y habla. Si se le pone el chupete (haya o no ruido), dejará de hablar (si lo estuviera haciendo) y pasará al estado “dormida”. En el estado “dormida” no hace nada y permanecerá en él hasta que, sin tener el chupete puesto, se escuche un ruido. En ese caso llorará y pasará al estado “asustada”. En el estado “asustada” permanecerá llorando mientras el ruido se mantenga. Cuando el ruido desaparezca dejará de llorar y pasará a estar “dormida” o “tranquila” en función de si tiene o no el chupete puesto. Se pide: a) (1.5 puntos) Especificar el sistema como máquina de Mealy. b) (1.5 puntos) Implementarlo utilizando un contador mod-4 como el de la figura y el menor número de puertas lógicas. Contador mod-4 Load Cuenta Q1 Q0 E1 E0 Reloj Examenes/examenJunio12-13 (primer parcial).pdf Exam 1.- (0, D= 77 a b c 2.- (1, de la f 3.- (3 expen toma de 5 o (10)2 máqu Se pid (1,5 p (0,5 p sistem (1 pun Facu Unive men de Fundam ,5 puntos) Da 7 (en hexadec a) Indique el b) Exprese A ) Efectué la ,5 puntos) An función F(x0, 3 puntos) Se ndedora de ca el valor (00)2 o 10 céntimos respectivame ina se compor Cada caram El cliente Cuando el quedando si un clien máquina e seguir com El cliente entonces e máquina. de: puntos) Espec puntos) Indica ma. nto) Impleme ultad de In ersidad Complu mentos de Com FU PR ados los sigui imal): número de bi A,B,C y D en as operaciones nalizar el sigu x1,x2). Supon e quiere dise aramelos. Dich mientras no s s. Cuando se i ente. Para exp rta de la siguie melo cuesta 1 puede ir intro l saldo introd almacenado e nte introduce expende un ca mprando. e puede pulsa el saldo actu cificar el sistem ar las tablas d entar el sistem nformática utense de Mad mputadores UNDAMEN EXAM RIMER PAR entes número its necesarios complemento (A-B) y (C-D iente circuito ner activa la p ñar un circu ho controlado se introduzca n introduce una pender un car ente manera: 5 céntimos. duciendo mon ducido alcanza el saldo restan dos monedas aramelo y deja ar en cualqui al y quedará ma mediante u de verdad que ma mediante bi a drid NTOS DE C EN FINAL RCIAL 18 s A=+34 (en para represen o a dos con 8 b D) indicando s combinaciona patilla de enab uito digital qu or recibe una ninguna mone moneda de 5 ramelo el con nedas en el or a o supera lo nte por si el c s de 10 céntim a almacenado ier momento a la espera un diagrama d e especifican l iestables D y u c COMPUTA L DE JUNI DE JUNIO decimal), B= ntar A y B en C bits. si hay desbord al y obtener la le de todas las ue controle e señal de entr eda en la máq o 10 céntimo ntrolador deb rden que quier os 15 céntimo liente quiere c mos seguidas, os los 5 céntim un botón de de que algún de estados com las funciones una memoria R curso 2012-13 ADORES IO O 2013 -46 (en decim C2 damiento o aca a expresión de s componente el funcionami rada S proced quina, o la mon os la señal S t erá activar la ra. s la máquina comprar otro al introducir mos sobrantes e reinicio, la n nuevo clien mo máquina de de salida y tr ROM de tama 3, primer parci mal), C= 75 (e arreo y el por e conmutación es. miento de una dente de un s neda introduc toma los valor a señal de sa a expende un caramelo. Po r la segunda m s por si el clie máquina le nte comience e Moore. ransición de e año mínimo. ial / pág. 1 en octal) y qué. n canónica a máquina sensor que cida no sea res (01)2 y lida z. La caramelo, r ejemplo, moneda la ente quiere devolverá a usar la estados del Examenes/examenFebrero13-14.pdf Exam 1. ( h 2. ( O su 3. (3 d m h E d b S E s S Facu Unive men de Fundam EXA 1 punto) D hexadecimal a) (0,4 comp b) (0,6 indic A+B 1 punto) Da Obtenga la e uma de prod 3 puntos) S debe estar e más o meno humedad qu El sistema re de volumen: baja (0), med Si, por ejemp El sistema, d ecado codif Menor o Mayor d Mayor o Se pide: a) (1 pu b) (2 pu ultad de In ersidad Complu mentos de Com AMEN D CURSO 20 Dados los s l). puntos) Ex plemento a d puntos) Efe cando el va B, A-B. adas las fun , , , , ∑m expresión de ductos canó Se desea im en funcionam os tiempo d e tenga. ecibe estos poca ropa dia (1), alta tiempo( vo plo, hay poc tiem de acuerdo ficado en bin o igual que 3 de 30’ y men o igual a 60’ unto) Indica untos) Diseñ nformática utense de Mad mputadores E FUND 13-14, PRIM siguientes n xpréselos c dos. fectúe las sig alor decima nciones: ∑m 0, m 0,2 e conmutaci ónica. mplementar miento una de acuerdo datos codifi (0), cantida (2). El tiem olumen, hum ca ropa y su mpo( 0, 2 ) = con el tiem nario que de 30’, program nor que 60’ ’, programa ar la tabla de ñarlo utiliza a drid AMENTO MER PARCIA números: A con el mism guientes op al que se p ,1,3,4,5,8,9, ión de la fun un sistema secadora i con la can ficados en b ad media (1) mpo de secad medad ) = 30 u humedad e 30’ + (0+2) mpo calculad ebe realizar ma corto (0) , programa a largo (2). e verdad del ando el men c OS DE C AL, 4 DE FE A = +4F (en mo número eraciones (o produce cua ,10 nción x , a combinaci ndustrial. L ntidad de r binario por 2 ), mucha rop do se calcula 0’ + (volume es alta, el tie )×10’ = 30’ do, indicará la secadora ); normal (1) l sistema. nor número d curso 2013-14 OMPUTA EBRERO DE 2 n hexadecim de bits en operando en ando no hay x , x , x onal que re La secadora ropa introdu 2 entradas q pa (2); y el a con la sigu en+humedad mpo de seca + 20’ = 50’ por una sa . Si el tiemp de puertas N 4, primer parci ADORES 2014 mal) y B = n representa n compleme ya desbord ∙ en f egule el tiem funcionará ucida y el que indican tramo de h uiente funció d)×10’ ado será: ’ alida el prog po es: NAND e inv ial / pág. 1 -1B (en ación en ento a 2) amiento: forma de mpo que á durante nivel de el tramo humedad: ón: grama de versores. Exam 4. (2 S 5. (3 c v ej P d s E s c v S men de Fundam 2 puntos) E Se pide: a) (1 pu b) (1 pu 3 puntos) circulación e vehículos de eje de coche Para compro de reloj que iguientes re En caso menos 1 En caso ciclos de En caso de q alida multa corresponda volverá al es Se pide: a) (2 p máqu b) (1 pu clk senso M mentos de Com El diagrama unto) Obten unto) Comp Se desea en un túnel p e dos ejes). detectado, obar si un ve e transcurren eglas: o de que se h 1 ciclo de re o de detecció e reloj hasta que no se cu (M) y volve al mismo ti stado inicial puntos) Esp uina de Mea unto) Imple k or M 1 0 no eje mputadores de estados d ner un diagra pletar el cron diseñar un por el que ú Para ello se eje de camió ehículo circu n entre la d haya detecta eloj hasta la ón de eje de a la detecció umplan los erá al estado ipo de vehíc . La figura m pecifique el aly, definien mente el sis eje coche o e detectado eje delante coche 1 no ha 1 cicl de la figura ama de tran nograma. sistema se únicamente p e instala un ón detectad ula a la velo detección de ado el eje d detección d elantero de ón del eje tra márgenes d o inicial. En culo que el muestra un e l sistema m ndo las entra stema utiliza no eje no eje eje coche o ero detectado eje trasero coche 1 a transcurrido lo: hay multa c representa u nsición de es ecuencial p pueden circ sensor de p o y eje no d ocidad perm el eje delan delantero de del trasero. un camión, asero. de tiempo e n caso de qu delantero a ejemplo del mediante un adas, salidas ando biestab no eje d eje curso 2013-14 un reconoce stados equiv ara control ular coches presión que detectado. mitida el sist ntero y el tr un coche, d deberán tra el sistema ac e la detecció ctivará una l comportam n diagrama s y estados. bles D y una eje coche detectado e delantero coche 2 ha tran 1 ciclo: no 4, primer parci edor de patr valente (tipo lar la veloc y camiones ofrece tres tema mide l rasero aplic deberá trans anscurrir al ctivará una ón del eje tr señal de err miento esper a de estado a memoria R no eje e co detect eje tras coche nscurrido o hay multa ial / pág. 2 rón. o Mealy). cidad de s (ambos lecturas: os ciclos cando las scurrir al menos 2 señal de rasero no ror (E) y rado. os como ROM. eje che ado sero e 2 Examenes/examenJunio11-12 (primer parcial).pdf Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2011-12, examen final (1er. parcial) / pág. 1 EXAMEN DE FUNDAMENTOS DE COMPUTADORES CURSO 2011-12, EXAMEN FINAL (1ER. PARCIAL), 11 DE JUNIO DE 2012 1. (1.5 puntos) Dados los números A = -(25)10, B = +(101)10, C = -(64)16 y D = +(79)16 a) (0.6 puntos) Represéntelos en complemento a 2 y usando 8 bits. b) (0,6 puntos) Efectúe las operaciones (A-B) y (-C+D) indicando si hay desbordamiento o acarreo y el por qué. c) (0,3 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 2. (3 puntos) Un sistema combinacional recibe como entrada (X) un número del 1 al 6 codificado usando el código Gray de 3 bits. El sistema tiene otra entrada de control (Inc/Dec) que indica si la salida Z es la entrada + 1 o la entrada – 1, es decir: 11 01 Dec/IncsiX Dec/IncsiX Z La salida también está codificada en Gray de 3 bits. Se pide: a) (1 punto) Obtener la tabla de verdad. b) (2 puntos) Implementar el sistema usando multiplexores 4 a 1. Nota: La siguiente tabla muestra la codificación Gray de 3 bits: 0 = (000) 1 = (001) 2 = (011) 3 = (010) 4 = (110) 5 = (111) 6 = (101) 7 = (100) 3. (1.5 puntos) Sea el siguiente sistema secuencial: contrariocasoen abbóbba=t1,t2,tx )t(z 0 1 a) (0.5 puntos) Dibuje su diagrama de estados. b) (1 punto) Complete el siguiente cronograma: x clk estado a S0 z 1 0 b Exam 4. ( a E d c c n a U tr c S a b men de Fundam (4 puntos) aquellos coc El sistema te del pavimen coches las en correspondie nunca amba alternando (e Un coche ir ranscurren d caso deberá Se pide: a) (2 punto b) (2 punto lógicas. mentos de Com Se desea ches que cir endrá 2 entr nto y una sa ntradas vald ente entrada s entradas v es decir, tras rá a más v desde la act ser fotograf os) Especific os) Impleme mputadores diseñar un culen con e radas (A y alida (F) con drán 0 y cad a se activará valdrán simu s un pulso e velocidad de tivación de fiado (véase car el sistem entarlo utili n sistema qu exceso de ve B) conectad nectada al d da vez que á (valdrá 1 multáneamen en A vendrá e la permit A hasta la la figura). ma como má izando 2 bi curso 2011-1 ue permita elocidad por das a sensor disparador d un coche p durante un nte 1 y que siempre un tida si el n activación áquina de M estables D 2, examen fin fotografiar r una carret res de presi de una cám ase por enc ciclo de rel los pulsos e n pulso en B número de de B es me Mealy. y el menor nal (1er. parcia r las matríc tera. ión ubicado mara. En aus cima de un s loj). Supóng en A y en B y viceversa ciclos de r enor que 3, r número de al) / pág. 2 culas de os debajo sencia de sensor la gase que B se irán a). reloj que en cuyo e puertas Examenes/examenJunio13-14 (primer parcial).pdf Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2013-14, primer parcial / pág. 1 FUNDAMENTOS DE COMPUTADORES EXAMEN FINAL DE JUNIO PRIMER PARCIAL 18 DE JUNIO 2014 1.- (0,5 puntos) Dados los siguientes números A=+54 (decimal), B= -37 (hex.) y C= +101 (binario): a) Exprese los tres números con el mimo número de bits en complemento a 2 b) Efectué las operaciones (A-B) y (B-C) indicando si hay desbordamiento o acarreo y el por qué. 2.- (1,5 puntos) El diagrama de estados de la Figura representa un reconocedor de patrón. Se pide: a) Obtener un diagrama de transición de estados equivalente (tipo Mealy). b) Completar el cronograma. S0 ‐‐‐‐‐‐‐‐ 0 S1 ‐‐‐‐‐‐‐‐ 0 S2 ‐‐‐‐‐‐‐‐ 0 S3 ‐‐‐‐‐‐‐‐ 1 a b S0 S0 Estados Moore Estados Mealy Salida Moore Salida Mealy b a a b b a a b 3.- (2.5 puntos) Se desea diseñar un sistema secuencial para controlar el funcionamiento de una máquina de café que sirve café sólo o con leche. El sistema tiene dos entradas, la tecla Inicio y la tecla (CCL), y cinco salidas como se observa en la figura. En el estado inicial todas las salidas valen 0. El sistema permanece en este estado mientras la entrada Inicio valga 0. Al activar la señal Inicio el sistema atravesará cinco etapas: preparar café (1 ciclo), servir café (2 ciclos), servir leche (2 ciclos), enfriamiento (1 ciclo) y notificación al usuario (1 ciclo). Solo se servir ́ leche en el café si el usuario ha activado la señal CCL. En caso de no activarse esta señal, el sistema pasará directamente a la fase de enfriamiento tras servir el café. Durante la fase de preparación de café se activarán las salidas PC y PV. Para servir café y posteriormente leche el sistema activará las señales SC y SL durante los ciclos pertinentes. En la fase de enfriamiento, todas las salidas valdrán 0. Finalmente, se notificar ́ al usuario de que su café está listo activando la señal L durante un ciclo de reloj, y a continuación se volverá al estado inicial. Se pide: a) (1 punto) Especificar el sistema secuencial como máquina de Moore. b) (1 puntos) Diseñar la lógica de transición de estados haciendo uso de un contador módulo 8 y el mínimo número de puertas lógicas. c) (0.5 puntos) Diseñar la función de salida usando el mínimo número de puertas lógicas. Examenes/examenFebrero11-12.pdf Facultad de Informática Universidad Complutense de Madrid Examen de Fundamentos de Computadores curso 2011-12, primer parcial / pág. 1 EXAMEN DE FUNDAMENTOS DE COMPUTADORES CURSO 2011-12, PRIMER PARCIAL, 30 DE ENERO DE 2012 1. (1 punto) Dados los siguientes números A = +35 (en decimal), B = -27 (en decimal), C = +22 (en octal) y D = +28 (en hexadecimal): a) (0,4 puntos) Expréselos en representación en complemento a dos con 8 bits. b) (0,4 puntos) Efectué las operaciones (A-B) y (-C-D) indicando si hay desbordamiento o acarreo y el por qué. c) (0,2 puntos) Represente (-B) en complemento a uno y en magnitud y signo ambos con 8 bits. 2. (1 punto) Considere las siguientes expresiones de conmutación: , , , ∑ 0,1,8,10,11 ∑ 2,3,6,7 x, y, z, w yz yz Obtenga la forma simplificada de f x, y, z, w AND g x, y, z, w . 3. (3 puntos) Se desea diseñar un sistema combinacional automático para controlar el funcionamiento de un aparato de calefacción y aire acondicionado. El sistema tiene 2 entradas: D, que indica si es de día o de noche (D=0 noche, D=1 día) y T, que indica en qué rango de valores está la temperatura de la habitación según la tabla: Temp < 15 16 < Temp < 22 23 < Temp < 26 27 < Temp < 32 Temp > 33 T 0 1 2 3 4 El sistema tiene 3 salidas: C, que enciende la calefacción, A, que enciende el aire acondicionado y Turbo, que hace que la calefacción o el aire acondicionado funcionen a doble potencia. El funcionamiento del sistema es el siguiente: Durante el día la calefacción se enciende en modo Turbo si la temperatura es menor de 15 y se enciende en modo normal si la temperatura está entre 16 y 22. Durante el día el aire acondicionado se enciende en modo Turbo si la temperatura es superior a 33 y se enciende en modo normal si está entre 27 y 32. Durante la noche no se enciende el Turbo. Sólo se enciende la calefacción si la temperatura es menor que 15 y el aire acondicionado si la temperatura es mayor de 33. Cuando la temperatura está entre 23 y 26 grados no se enciende nada. Se pide: a) (1 punto) La tabla de verdad del sistema. b) (2 puntos) Diseñarlo utilizando multiplexores 4 a 1 e inversores. Exam 4. (2 5. S u s q su E d tr fu S in a/0 men de Fundam 2 puntos) E a) (0,2 p b) (0,2 p c) (1,6 p Sea un tren e un sensor de istema que, que el tren uperior, dos El sistema ti durante un c rayectos cir función del v Cuando Cuando Cuando Cuando Suponiendo ndicados en a) (1,5 p b) (1,5 p de pu S0 S3 b/0 b/0 a/1 in mentos de Com El diagrama puntos) ¿Q puntos) ¿Q puntos) Co eléctrico de e presencia , leyendo el realice ind s vueltas por iene como e ciclo de rel culares supe valor en las C1=0 y C2 C1=1 y C2 C1=0 y C2 C1=1 y C2 que el tre n la figura, s puntos) Esp puntos) Im uertas lógica S1 S2 a/0 a/0 b/0 nicial mputadores de estados d ué tipo de s ué patrón re mplete el cr juguete con (P) y dos l valor del definidament r el tramo in entrada P y oj) cuando erior e infer salidas C1 y 2=0, el tren r 2=1, el tren r 2=1, el tren p 2=0, el tren p en se encue e pide: pecificar el mplementarlo as. b/0 0 entrada clk estado salida de la figura istema secu econoce? ronograma. n un trazado cambios de sensor y co nte la siguie nferior, una como salida el tren pas rior. Por su y C2: realiza recor realiza recor pasa del tram pasa del tram entra en la sistema com o utilizando b a S0 1 0 c representa u uencial es: M o de vías en e agujas (C ontrolando l ente secuen vuelta en oc as C1 y C2 sa por el tra parte el tren rridos circul rridos circul mo superior mo inferior posición i mo máquina un contado curso 2011-12 un reconoce Mealy o Moo n forma de o 1 y C2). S los cambios ncia: dos vu cho. . La entrada amo de vía n seguirá un lares por el t lares por el t r al inferior. al superior. nicial y cir de Moore or módulo-8 2, primer parci edor de patr ore? ocho que dis Se desea di s de agujas, ueltas por e a P se activa a que compa na trayectori tramo super tramo inferi rcula en el 8 y el menor ial / pág. 2 rón. spone de señar un permita el tramo a (vale 1 arten los ia que es rior. ior. l sentido r número