Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Circuitos combinacionales Universidad Nacional de Salta Facultad de Ciencias Exactas Departamento de Informática Los operadores lógicos de Boole se pueden implementar eléctricamente mediante circuitos. 0 : voltaje bajo (Ej.: 0 volts). 1 : voltaje alto (Ej.: 5 volts). Ej. Circuito AND entrega como salida un voltaje alto sólo cuando sus entradas son voltajes altos. Los circuitos que implementan los operadores lógicos se denominan compuertas lógicas. Circuitos Símbolo NOT Símbolo AND Símbolo OR Símbolo XOR Compuertas Lógicas Símbolo NAND Símbolo NOR Compuertas Lógicas Estas compuertas se pueden combinar para crear circuitos digitales. Por ej zy y x w x y z w x y z xy yz w 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 1 1 Circuitos Se denominan circuitos digitales a todos los circuitos eléctricos cuyas entradas y salidas pueden tomar uno de dos valores posibles. Circuitos Digitales Circuitos Combinacionales Vs. Secuenciales Se denominan circuitos combinacionales a todos los circuitos digitales cuya salida depende exclusivamente de las entradas. Circuitos Combinacionales Circuitos No depende de la salida No depende del tiempo Recordemos que: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Entradas Salidas A B CARRY SUM 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Corresponde a una compuerta AND Corresponde a una compuerta XOR Se denomina Semi Sumador pues sus entradas son SOLO los 2 sumandos (no el carry anterior) y entrega en su salida el resultado de la suma y el acarreo Semi Sumador Se lo denomina sumador completo ya que toma en sus entradas los 2 sumandos y el Carry de la suma anterior. Sumador Completo Half Adder A B Ae As Full Adder implementado utilizando 2 circuitos half Adder Half Adder As As A B Sumador Completo Digital Works Digital Works • Ejemplos: - Diseño de semi sumador (half adder) - Diseño de sumador completo (full adder) con base en dos circuitos semisumadores (guardarlo como macro) Suma decimal 11010 (acarreos) 9874 7219 --------- 17093 1001 1101 + 1001 1001 011 01100 Para sumar dos números binarios se opera de igual forma que para sumar números decimales. 1+1=2 1*21+0*20=(10)2 1 carry Suma binaria ¿Qué pasa si el largo de la suma sobrepasa el largo de los sumandos? 1001 1101 + 1001 1001 1 0011 0110 A este bit se le llama carry-out Suma binaria Cy3 Cy2 Cy1 Cy0 + X3 X2 X1 X0 Y3 Y2 Y1 Y0 Cy3 S3 S2 S1 S0 Primer sumando Segundo sumando Carry Resultado Ejemplo de la suma de 2 números binarios de 4 Bits Sumador con propagación de acarreo Carry out Sumador de cuatro bits HA – Half Adder FA – Full Adder FA 4 bits Cin A7-4 B7-4 S7-4 Cout FA 4 bits Cin A3-0 B3-0 S3-0 Cout Sumador de ocho bits En realidad para realizar la resta, lo que haremos será, sumar un número negativo (que obtendremos como el complemento a la base del número) Recordemos que para obtener el complemento a la base, lo que hacemos es invertir (negar) el número y luego sumarle 1 Ejemplo 1: 9 + -6 3 9= 1001 6= 0110 -6= 1001 + 1= 1010 1001 1010 + 10011 Carry -6 Restador indica signo positivo Ejemplo 2 : 6 + -9 -3 6= 0110 9= 1001 -9= 0110 + 1= 0111 0110 0111 + 01101 Restador 1101 = 0010+1 = 0011 Acarreo 1. Se niega cada bit de Y 2. Se suma 1, mediante el CARRY IN 3. Se suma, bit a bit, X y el complemento de Y Sumamos 1 Se invierte Y Restamos utilizando módulos sumadores Restador I0 4 x 1 MUX s1 s0 0 1 2 3 F 0 0 0 I1 I2 I3 I0 Multiplexor Recibe múltiples señales de entrada y selecciona una como salida. I1 4 x 1 MUX s1 s0 0 1 2 3 F 0 1 1 I0 I2 I3 I1 Multiplexor Recibe múltiples señales de entrada y selecciona una como salida. I1 4 x 1 MUX s1 s0 0 1 2 3 F 1 0 2 I0 I2 I3 I2 Multiplexor Recibe múltiples señales de entrada y selecciona una como salida. I1 4 x 1 MUX s1 s0 0 1 2 3 F 1 1 3 I0 I2 I3I3 Multiplexor Recibe múltiples señales de entrada y selecciona una como salida. MUX 2X1X1 MUX 4X2X1 MUX 4X2X1 a partir de MUX 2X1X1 Representación binaria de un valor entre 0 y 7 Saldrá del AND el valor de D3 cuando A,B,C valgan 0,1,1… Solo un AND estará activo, entonces F tomará el valor de ese Di Multiplexor de 8 entradas 2n entradas n líneas de selección 1 salida MUX 8X3X1 a partir de MUX 4X2X1 s2 s0 s1 0 1 2 3 4 5 6 7 0 0 1 0 1 0 0 0 0 0 0 Decodificador Recibe n señales que representan un número i en binario (i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1. n 2n salidas s2 s0 s1 0 1 2 3 4 5 6 7 0 1 1 0 0 0 1 0 0 0 0 Decodificador Recibe n señales que representan un número i en binario (i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1. s2 s0 s1 0 1 2 3 4 5 6 7 1 1 1 0 0 0 0 0 0 0 1 Decodificador Recibe n señales que representan un número i en binario (i<2n). Entrega 2n salidas, donde sólo la i-esima tiene valor 1. Decodificador de 2 a 4 Decodificador de 2 a 4 con línea de habilitación Decodificador de 3 a 8 1 1 1 1 decodificador de 3x8 a partir de decodificador de 2x4 A0-n B0-n R0-n s0 s1 s2 ALU CC zs c ov Una ALU o Unidad Aritmética Lógica es un circuito digital capaz de realizar las siguientes operaciones: Operaciones aritméticas como adición, substracción, etc Operaciones lógicas como OR, AND, etc entre dos números. Operaciones de desplazamiento Shift, Rotate ALU • Los bit S0, S1, S2 permiten seleccionar la operación. • El resultado de la operación corresponde a los bits R0 a Rn A0-n B0-n R0-n s0 s1 s2 ALU CC zs c ov ALU Operando A Operando B Selector Códigos de condición • Condition Codes: almacenan información adicional sobre el resultado de la operación. A0-n B0-n R0-n s0 s1 s2 ALU CC zs c ov z : vale 1 si el resultado fue 0. s: vale 1 si el resultado fue negativo. c: vale 1 si hubo carry, es decir, el resultado de la operación fue mayor al máximo número representable. ov: vale 1 si hubo overflow. Muy similar a carry pero para operaciones con signo. ALU Ejemplo: • ALU de 1 bit • 3 entradas: A, B, Carry • Cuatro operaciones: A.B, A+B, NOT B, Suma(A,B,Carry) • Salidas Resultado, CarryOut ALU ALU de 1 bit F1F0 - Operación 00 - A.B (AND) 01 - A+B (OR) 10 - NOT B 11 - Suma(A,B,Carry) ALU de 1 bit ALU de 8 bits Fuentes • STRUCTURED COMPUTER ORGANIZATION. Andrew S. Tanenbaum & Todd Austin. Prentice Hall, 6th edition, august 2012. ISBN: 9780132916523 • FUNDAMENTOS DE COMPUTADORES. Montse Peiron Guàrdia, Lluís Ribas Xirgo, Fermín Sánchez Carracedo, A. Josep Velasco González. Oberta Publishing. 1ra edición, Septiembre 2011. ISBN: 978-84-693-9186-0 • Arquitectura de Computadores. Rubén Mitnik. Escuela de ingeniería. Universidad Católica de Chile. • Apuntes de Organización del computador I. Universidad de Buenos Aires.
Compartir