organización del computador 1 lógica digital 1: álgebra compuertas...

Post on 27-Feb-2018

222 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related