Logica Digital: Circuitos Aritméticos
En grupos por mesa resolvimos un ejercicio a partir de un enunciado:
Se necesita fabricar el circuito 1de4, que teniendo 4 entradas, su salida valga 1 solo si hay exactamente 1 entrada en 1
- Dibujar la “caja negra” del circuito 1de4
- Armar la tabla de verdad
- Deducir la fórmula de verdad con SOP
- graficar las compuertas dentro del circuito
Los circuitos aritméticos son circuitos que resuelven tareas específicas, relacionadas a las operaciones aritméticas entre números. Esos números están representados en forma binaria dentro del sistema de cómputos y por lo tanto los circuitos aritméticos operan sobre dos cadenas binarias. Estos circuitos implementan algunas de las funciones de la ALU (Unidad Aritmetico Logica).
Half Adder: Se necesita un circuito que pueda sumar dos cadenas de un bit (BSS(1)) y que calcule el resultado (en BSS(1)) e indique en otra salida si hubo ó no acarreo.![HA](http://orga.blog.unq.edu.ar/wp-content/uploads/sites/5/2015/04/HA.png)
Cuando ejercitamos la suma binaria, distinguimos cuatro casos que nos dan lugar a la siguiente tabla de verdad:
A cada salida le corresponde una expresión booleana o formula de verdad. Entonces las de este circuito son:
De esta manera, se construye el circuito:
![HAcmpleto](http://orga.blog.unq.edu.ar/wp-content/uploads/sites/5/2015/04/HAcmpleto.png)
Full Adder: Supongamos ahora que debemos sumar 2 cadenas de 2 bits cada una (bss(2)). Sería interesante poder usar lo que tenemos en la caja de herramientas: usar dos HA. Sin embargo, el HA no permite arrastrar un acarreo entre las dos columnas. Por ejemplo:01+01 = 10
Pensemos entonces un circuito que sume cadenas en bss(1), pero que también tenga una señal de entrada que indique si hay un acarreo pendiente. La caja negra del circuito es:
y la tabla de verdad es como sigue (notar que la primera parte es como el HA, pues este no consideraba acarreo o éste valía 0)
![tdvFA](http://orga.blog.unq.edu.ar/wp-content/uploads/sites/5/2015/04/tdvFA-300x177.png)
A partir de esto, la expresión SOP de cada salida es:
- r= noCAnt.(a xor b)+CAnt. no(a xor b)
- s= noCAnt.a.b+a.CAnt+b.CAnt
Sumar múltiples bits: no nos olvidemos que queremos sumar dos cadenas en bss(2). ¿cómo usar el circuito FA que se acaba de definir?
¿En que parte de la computadora se usan estos circuitos? en la ALU. ¿Que/como se alimentan las entradas de la ALU? De eso se encarga la unidad de control.
Ejecucion de programas en la arquitectura Von Neumann
Escribimos una receta en el pizarrón. Vemos que es una secuencia de instrucciones.
El programador es quien escribe la receta según las reglas del manual. ¿eso es todo, el robot (que sigue la arquitectura VN ) de cocina ya puede cocinar? ¿como? Relacionándolo con temas que vieron en clases anteriores: sabemos que el sistema de cómputos trabaja con circuitos digitales que a su vez se construyen con compuertas binarias, que trasforman entradas digitales.
Surge la necesidad de tener alguna clase de codificación. Proponemos un nuevo manual de cocina ahora si con la codificación.Explicamos que fue necesario traducir cada instrucción.
Si escribimos la receta en código máquina, es una tarea muy engorrosa y propensa a errores con lo cual necesitamos automatizar el proceso. Contamos con un disopsitivo ensamblador cuya tarea es traducir el código fuente a código máquina y cargarlo en memoria. Las computadoras tienen la capacidad de traducir una cadena binaria en una acción determinada, a través de circuitos digitales!. Eso implica que entre el código fuente y el código máquina hay un ensamblador.
¿y ahora? El usuario pide la ejecución del programa y la cpu ejecuta el mismo con esto tenemos el ciclo de vida de un programa.
Ahora analicemos en detalle cómo ejecutar una instrucción. Alu es el dispositivo que realiza las operaciones aritmeticas y logicas ¿Hay algún equivalente a la ALU en el juego de la cocina?
Veamos las siguientes etapas:
- La UC (unidad de control) suministra los operandos a la ALU
- La UC indica a la ALU la operación a llevar a cabo.
- La ALU realiza la operaciónn.
- La UC toma el resultado sobre los datos de entrada que se le proveen
Finalmente presentamos un ciclo de ejecución de instrucciones (reducido)
A continuación armamos cajitas con 3 o 4 figuras de huevos dentro, e intentamos volver a preparar una receta pero con las siguientes directivas.
- Tomar los huevos que hay en la huevera (los que haya ahí)
- Agregar 1 taza azucar
- Agregar 1 taza harina
- Mezclar
- Hornear medio 10
- Ensamblar la receta anterior , deben imaginar un mecanismo para representar la primera instrucción para incorporar al manual.(Ojo que no dejamos ya ocupamos todas las combinaciones con lo cual tienen que imaginar la forma de meter el modo de direccionamiento)
¿Que diferencias hay entre la forma de obtener los ingredientes en la primera instrucción y la segunda? (Vemos que una es variable y otra constante)
Entrega
Construir el circuito restador para BSS(1) (con carry, ejercicio 17):
- Dibujar la caja negra del circuito
- Construir la tabla (3 entradas)
- Construir SOP
- Dibujar circuito