Descargar la presentación
La descarga está en progreso. Por favor, espere
1
Organización del Computador 1
Lógica Digital 1 Algebra de Boole y compuertas
2
Representación de la Información
La computadoras necesitan almacenar datos e instrucciones en memoria Sistema binario (sólo dos estados posibles) Por qué? Es mucho más sencillo identificar entre sólo dos estados Es menos propenso a errores
3
Lógica digital Los circuitos operan con valores [0, 1], que pueden ser interpretados lógicamente como [Falso, Verdadero]. Idea: implementar las operaciones lógicas y matemáticas combinando circuitos
4
Algebra de Boole George Boole 1815-1864
George Boole, desarrolló un sistema algebraico para formalizar la lógica proposicional. El libro se llama “Análisis matemático de la lógica”. El sistema consiste en un cálculo para resolver problemas de lógica proposicional (dos valores posibles [0, 1] y tres operaciones: AND (y) OR (o) NOT (no) ) George Boole
5
Algebra de Boole Las variables Booleanas sólo toman los valores binarios: 1 ó 0. Una variable Booleana representa un el balor que puede tomar un bit, que como vimos quiere decir: Binary digIT
6
Operadores básicos Un operador booleano puede ser completamente descripto usando tablas de verdad. El operador AND es conocido como producto booleano (.) y el OR como co-producto booleano (+) El operador NOT (¬ ó una barra encima de la expresión) conocido como complemento.
7
Funciones booleanas Tabla de verdad de esta función:
El NOT tiene más precedencia que el resto de los operadores Y el AND más que el OR
8
Identidades del Algebra de Boole
1.A=A 0+A=A Nula 0.A=0 1+A=1 Idempotencia A.A=A A+A=A Inversa A.˜A=0 A+˜A=1 Conmutativa A.B=B.A A+B=B+A Asociativa (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.C Absorción A.(A+B)=A A+A.B=A De Morgan ˜(A.B) = ˜A+˜B ˜(A+B) = ˜A.˜B
9
Ejemplo Usando identidades booleanas podemos reducir esta función:
(X+Y)(X+Y)(X+Z) DeMorgan (XX + XY+YX+YY)(X+Z) Distributiva (X + XY+YX + 0) (X+Z) Indempotencia e Inversa (X + X(Y+Y)) (X+Z) Nula y Distributiva (X) (X+Z) Inversa, Identidad y Nula XX+XZ XZ Inversa e Identidad
10
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ónicas” Suma de productos: F(x,y,z) = xy + xz +yz Producto de sumas: F(x,y,z) = (x+y) . (x+z) .(y+z)
11
Suma de Productos Es fácil convertir una función a una suma de productos usando la tabla de verdad. Elegimos los valores que dan 1 y hacemos un producto (AND) de la fila (negando si aparece un 0) Luego sumamos todo (OR) F(x,y,z) = (¬xy¬z)+(¬xyz)+(x¬y¬z)+(xy¬z)+(xyz)
12
Circuitos booleanos Las computadores digitales contienen circuitos que implementan funciones booleanas Cuando más simple la función más chico el circuito Son más baratos, consumen menos, y en ocasiones son mas rápidos! Podemos usar las identidades del algebra de Boole para reducir estas funciones.
13
Compuertas lógicas Una compuerta es un dispositivo electrónico que produce un resultado en base a un conjunto de valores de valores de entrada En realidad, están formadas por uno o varios transitores, pero lo podemos ver como una unidad. Los circuitos integrados contienen colecciones de compuertas conectadas con algún propósito
14
Compuertas Lógicas Las más simples: AND, OR, y NOT.
Se corresponden exactamente con las funciones booleanas que vimos
15
Compuertas lógicas Una compuerta muy útil: el OR exclusivo (XOR)
La salida es 1 cuando los valores de entrada difieren. Usamos el simbolo para el XOR.
16
Componentes digitales
Combinando compuertas se pueden implementar funciones booleanas Este circuito implementa la siguiente función: Simplificando las funciones se crean circuitos más chicos!
17
Ejemplo: La función Mayoría
B C M 1
18
Compuertas lógicas NAND y NOR son dos compuertas muy importantes.
Con la identidad de De Morgan se pueden implementar con AND u OR. Son más baratas y ambas por sí solas son un conjunto adecuado para la lógica proposicional. Es decir que cualquier operador se puede escribir usando cualquiera de ellas.
19
NAND y NOR
20
Ejercicio Ejemplo: NOT usando NAND
Utilizando solo NAND o NOR realizar circuitos con la misma funcionalidad que el AND y OR
21
Circuitos combinatorios
Producen una salida específica (casi) al instante que se le aplican valores de entrada Implementan funciones booleanas La aritmética y la lógica de la CPU se implementan con estos circuitos
22
Sumadores Como podemos construir un circuito que sume dos bits X e Y?
F(X,Y) = X + Y (suma aritmética) Que pasa si X=1 e Y=1?
23
Half-Adder Podemos usar un XOR para la suma y un AND para el acarreo
A este circuito se lo llama Half-Adder X Y C Half Adder
24
Full Adders ¿Cómo se suman números de dos bits? Ej: 1 1 + 1 1
1 1 ___________________
25
Full Adders ¿Cómo se suman números de dos bits? Ej: 1 1 1 + 1 1
1 1 ___________________
26
Full Adders ¿Cómo se suman números de dos bits? Ej: 1 1 1 1 + 1 1
1 1 ___________________
27
Full Adders ¿Cómo se suman números de dos bits? Ej: 1 1 1 1 + 1 1
1 1 ___________________
28
Full Adders Full Adder ¿Cómo se suman números de dos bits? Ej: 1 1 Ci
1 1 ___________________ Full Adder X Y Ci Co En el caso de los Full Adders se asume que poseen una entrada más, el acarreo.
29
Full-Adder Cómo es la tabla de verdad de un Full Adder?
Podemos mejorar nuestro half-adder para considerar un “acarreo” en la entrada.
30
Full Adders ¿Podemos adaptar nuestro half-adder para convertirlo en un full adder?
31
Full Adders Ci X Half Adder Y C X Half Adder Co C Y Full Adder
32
Full Adders He aquí el full adder
33
Adders A4 A3 A2 A1 Ejercicio: diseñar un sumador de cuatro bits +
usando half y/o full adders. + B4 B3 B2 B1 C5 C4 C3 C2 C1 A B As Half Adder Ae B As Full Adder A
34
Adders Sumador de cuatro bits: A4 A3 A2 A1 + B4 B3 B2 B1
As HA FA Ae A2 B2 A3 B3 A4 B4 C1 C2 C3 C4 C5 Sumador de cuatro bits: A4 A3 A2 A1 B4 B3 B2 B1 + C5 C4 C3 C2 C1
35
Decodificadores Son muy importantes, por ejemplo:
Decodificadores de n entradas pueden seleccionar una de 2n salidas Son muy importantes, por ejemplo: Seleccionar una locación en una memoria a partir de una dirección colocada en el bus memoria
36
Decodificadores - Ejemplo
Decodificador 2-a-4 Si x = 0 e y = 1, que línea de salida queda habilitada?
37
Multiplexores Selecciona una salida a de varias entradas
La entrada que es seleccionada como salida es determinada por las líneas de control Para seleccionar entre n entradas, se necesitan log2n líneas de control. Demultiplexor Exactamente lo contrario Dada una entrada la direcciona entre n salidas, usando log2n líneas de control.
38
Multiplexor - Ejemplo Así luce un multiplexor 4-a-1
Si S0 = 1 y S1 = 0, que entrada es transferida a la salida?
39
Función Mayoría
40
Ejercicio: Implementar la función Mayoría con un Multiplexor
41
Ejercicio: Implementar la función Mayoría con un Multiplexor
42
Ejercicio Construir una ALU de 1 bit 3 entradas: Cuatro operaciones:
A, B, Carry Cuatro operaciones: A.B, A+B, NOT B, Suma(A,B,Carry) Salidas Resultado, CarryOut
43
Alu de 1bit Full Adder Decoder
44
Alu de 1bit
45
Un ALU de 8 bits
46
Memoria ROM
47
ROM usando un decoder
48
Links Libro Tanenbaum Demo compuertas: Para ver Compuertas logicas en detalle:
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.