Organización del Computador 1 Lógica Digital 1: álgebra Compuertas...
Transcript of Organización del Computador 1 Lógica Digital 1: álgebra Compuertas...
Introducción Circuitos Bloques
Organización del Computador 1Lógica Digital 1: álgebra de Boole y compuertas
Dr. Ing. Marcelo Risk
Departamento de ComputaciónFacultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires
Septiembre 2009
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Lógica digital
La computadoras necesitan almacenar datos e instruccionesen memoria.
Sistema binario: solo dos estados posibles.
Porqué?Es mucho más sencillo identificar entre sólo dos estados.Es menos propenso a errores
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Diseño de circuitos
Circuitos que operan con valores lógicos:Verdadero = 1Falso = 0
Idea: realizar diferentes operaciones lógicas y matemáticascombinando circuitos.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Álgebra de Boole
Figura: George Boole (1815-1864).
George Boole, desarrolló unsistema algebraico paraformular proposiciones consímbolos.
Su álgebra consiste en unmétodo para resolver problemasde lógica que recurre solamentea los valores binarios:
verdadero y falso.on y off.1 y 0.
tres operadores:AND (y).OR (y).NOT (no).
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Álgebra de Boole
Las variables Booleanas sólo toman los valores binarios: 1 ó 0.
Una variable Booleana representa un bit que quiere decir:Binary digIT
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Álgebra de Boole
Las variables Booleanas sólo toman los valores binarios: 1 ó 0.
Una variable Booleana representa un bit que quiere decir:Binary digIT
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Operadores básicos: AND
Un operador booleano puede ser completamente descriptousando tablas de verdad.
El operador AND es conocido como producto booleano (.):
X Y X AND Y0 0 00 1 01 0 01 1 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Operadores básicos: OR
El operador OR es conocido como producto booleano (+):
X Y X OR Y0 0 00 1 11 0 11 1 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Operadores básicos: NOT
El operador NOT se nota con una barra X :
X X0 11 0
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Funciones booleanas
Tabla de verdad de esta función F(x,y,z) = xz+y
El NOT tiene mayor precedencia que todos
El AND mayor que el OR
x y z z xz xz+y0 0 0 1 0 00 0 1 0 0 00 1 0 1 0 10 1 1 0 0 11 0 0 1 1 11 0 1 0 0 01 1 0 1 1 11 1 1 0 0 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Identidades
Identidad 1.A = A 0+A = ANula 0.A = 0 1+A = AIdempotencia A.A = A A+A = AInversa A.A = 0 A+A = 1Conmutativa A.B = B.A A+B = B+AAsociativa (A.B).C = A.(B.C) (A+B)+C = A+ (B+C)Distributiva A+B.C = (A+B).(A+C) A.(B+C) = A.B+A.CAbsorción A.(A+B) = A A+A.B = Ade Morgan A.B = A+B A+B = A.B
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Identidades: ejemplo de aplicación
Usando identidades booleanas podemos reducir esta función:F(x,y,z) = (x+y).(x+y).(x.z)
(x+y)(x+y)(x+z) de Morgan(xx+xy+yx+yy)(x+z) Distributiva(x+xy+yx+0)(x+z) Idempotencia e inversa(x+x(y+y))(x+z) Nula y distributiva(x)(x+z) Inversa, identidad y nulaxx+xz Distributivaxz Inversa e identidad
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Fórmulas equivalentes
Varias fórmulas pueden tener la misma tabla de verdad:Son lógicamente equivalentes.
En general se suelen elegir las formas canónicasSuma de productos:
F1(x,y,z) = xy+zx+yz
Producto de sumas:F2(x,y,z) = (x+y)(z+x)(y+z)
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques Álgebra de Boole
Suma de productos
Es fácil convertir una función auna suma de productos usandola tabla de verdad.
Elegimos los valores que dan 1 yhacemos un producto (AND) dela fila (negando si aparece un0)?.
Luego sumamos todo (OR):
x y z xz+y0 0 0 00 0 1 0
→ 0 1 0 1 ←→ 0 1 1 1 ←→ 1 0 0 1 ←
1 0 1 0→ 1 1 0 1 ←→ 1 1 1 1 ←
F(x,y,z) = (xyz)+ (xyz)+ (xyz)+ (xyz)+ (xyz)
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Circuitos booleanos
Las computadores digitales contienen circuitos queimplementan funciones booleanas.
Cuando más simple la función más chico el circuito:Son más baratos, consumen menos, y son mas rápidos!
Podemos usar las identidades del algebra de Boole parareducir estas funciones.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Compuertas lógicas
Una compuerta es un dispositivo electrónico que produce unresultado en base a un conjunto de valores de valores deentrada:
En realidad, están formadas por uno o varios transitores, perolo podemos ver como una unidad.Los circuitos integrados contienen colecciones de compuertasconectadas con algún propósito.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Compuertas lógicas
Las más simples: AND, OR, y NOT:
Se corresponden exactamente con las funciones booleanasque vimos.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Compuertas lógicas
Una compuerta muy útil: el OR exclusivo => XOR
La salida es 1 cuando los valores de entrada difieren.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Implementación de funciones booleanas
Combinando compuertas se pueden implementar funcionesbooleanas.
Este circuito implementa la siguiente función: F(x,y,z) = x+yz
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Ejemplo: función mayoría
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Compuertas lógicas combinadas
NAND y NOR son doscompuertas lógicascombinadas.
Con la identidad deMorgan se puedenimplementar con AND uOR.
Son más baratas ycualquier operaciónbásica se puederepresentar usándolascualquiera de ellas (sinusar la otra)?.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
NAND y NOR
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Ejemplos
NOT usando NAND: simplemente unir las dos entradas.
Utilizando solo NAND o NOR realizar circuitos con la mismafuncionalidad que el AND y OR.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Circuitos combinatorios
Producen una salida específica al (casi) instante que se leaplican valores de entrada.
Implementan funciones booleanas.
La aritmética y la lógica de la CPU se implementan con estoscircuitos.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Sumador
Como podemos construir uncircuito que sume dos bits X e Y?
F(X ,Y ) = X +Y (sumaaritmética)
Que pasa si X = 1 e Y = 1?
X Y Suma carry0 0 0 00 1 1 01 0 1 01 1 0 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Semi-Sumador
Podemos usar un XOR para lasuma y un AND para el carry.
A este circuito se lo llamasemi-sumador.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Sumador
Co 1X 1Y 1
1 0
sumadorX
Y
Ci
Co
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Sumador: estructura interna
Semisumador
X
Y
Ci
Co
Semisumador
C
C
X
Y
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Sumador: estructura interna y tabla de verdad
X Y Ci Suma Co0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Sumador de 4 bits
A4 A3 A2 A1
+ B4 B3 B2 B1
C5 C4 C3 C2 C1
A1
B1
AsSS
AsS
AsS
Ae
AsS
Ae
AeA2B2
A3B3
A4B4
C1
C2
C3
C4
C5
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Decodificadores
Los decodificadores de n entradas pueden seleccionar una de2n salidas.
Son ampliamentes utilizados.
Por ejemplo:Seleccionar una locación en una memoria a partir de unadirección colocada en el bus memoria.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Decodificadores: ejemplo
Decodificador 2-a-4:
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Multiplexores
Selecciona una salida a de variasentradas.
La entrada que es seleccionadacomo salida es determinada porlas líneas de control.
Para seleccionar entre nentradas, se necesitan log2nlíneas de control.
DemultiplexorExactamente lo contrario almultiplexor.Dada una entrada ladirecciona entre n salidas,usando log2n líneas decontrol.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Multiplexor: ejemplo
Multiplexor 4-a-1:
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Función mayoría
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Función mayoría con multiplexor
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Ejemplo
Construir una ALU de 1 bit.
3 entradas:A, B, carry.
4 operaciones:A.B, A+B, NOT B, Suma(A,B,Carry).
Salidas:Resultado, Carry out.
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
ALU de 1 bit
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
ALU de 8 bits
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
Memoria ROM
Entradas SalidasI4 I3 I2 I1 I0 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 1 0 1 1 0 1 1 00 0 0 0 1 0 0 0 1 1 1 0 10 0 0 1 0 1 1 0 0 0 1 0 10 0 0 1 1 1 0 1 1 0 0 1 0
. .
. .
. .1 1 1 1 0 0 1 1 1 0 1 0 11 1 1 1 1 0 0 1 1 0 0 1 1
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas
Introducción Circuitos Bloques
ROM con decoder
Dr. Ing. Marcelo Risk Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas