Universidad de Magallanes Facultad de Ingeniera Departamento de

  • Slides: 51
Download presentation
Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación [ Sistemas Operativos

Universidad de Magallanes Facultad de Ingeniería Departamento de Ingeniería en Computación [ Sistemas Operativos ] MIC 3181 Algebra de Boole … continuación Eduardo Peña J. Präsentat ion Edopena 1 Microprocesadores

[ Algebra de Boole ] Indice Temario: Métodos de minimización Método mapas de Karnaugh

[ Algebra de Boole ] Indice Temario: Métodos de minimización Método mapas de Karnaugh Método tabular Quine Mc. Cluskey Información extraída de: http: //www. cic. unb. br/docentes/jacobi/ensino/circuitos/Dois. Niveis/sld 001. htm Edopena 2 Microprocesadores Präsentat ion

[ Algebra de Boole ] Suma de Productos SUMA DE PRODUCTOS Suma de productos

[ Algebra de Boole ] Suma de Productos SUMA DE PRODUCTOS Suma de productos es una forma de representación de funciones booleanas constituida por operaciones lógicas o sobre un conjunto de términos formados por la operación. Edopena 3 Microprocesadores

[ Algebra de Boole ] Producto de Suma PRODUCTO DE SUMA El producto de

[ Algebra de Boole ] Producto de Suma PRODUCTO DE SUMA El producto de sumas es otra forma de representación de funciones booleanas caracterizadas por la aplicación de operación sobre un conjunto de operaciones o sobre las entradas Edopena 4 Microprocesadores

[ Algebra de Boole ] Minterms MINTERMS • Un minterm es un término producto

[ Algebra de Boole ] Minterms MINTERMS • Un minterm es un término producto que vale 1 en al menos un punto del dominio de una función booleana. • Es definido por un producto (AND) donde cada variable aparece al menos una vez directa o complementada. Edopena 5 Microprocesadores

[ Algebra de Boole ] Maxterms MAXTERMS • Un maxterm es un término suma

[ Algebra de Boole ] Maxterms MAXTERMS • Un maxterm es un término suma que vale 0 en al menos un punto del dominio de la función. • Es determinado por una adición (OR) donde cada variable aparece al menos una vez, directa o complementada. Edopena 6 Microprocesadores

[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS • Una tabla de verdad

[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS • Una tabla de verdad es una firma que identifica inequívocamente una función booleanas. • Expresiones booleanas diferentes pueden representar una misma función booleana. Edopena 7 Microprocesadores

[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS DE DOS NIVELES • Las

[ Algebra de Boole ] Formas canónicas FORMAS CANÓNICAS DE DOS NIVELES • Las formas canónicas son representaciones únicas de funciones booleanas. Ej. Una suma de productos es una forma canónica. Edopena 8 Microprocesadores

[ Algebra de Boole ] Formas canónicas • Las formas canónicas son representaciones únicas

[ Algebra de Boole ] Formas canónicas • Las formas canónicas son representaciones únicas de funciones booleanas. Ej. Un producto de sumas es otra forma canónica. Edopena 9 Microprocesadores

[ Algebra de Boole ] Formas canónicas • Notación para suma de minterms. •

[ Algebra de Boole ] Formas canónicas • Notación para suma de minterms. • Notación para producto de maxterms. Edopena 10 Microprocesadores

[ Algebra de Boole ] Formas canónicas SIMPLIFICACION DE SUMAS DE MINTERMS Edopena 11

[ Algebra de Boole ] Formas canónicas SIMPLIFICACION DE SUMAS DE MINTERMS Edopena 11 Microprocesadores

[ Algebra de Boole ] Formas canónicas MINTERMS X MAXTERMS • Es posible obtener

[ Algebra de Boole ] Formas canónicas MINTERMS X MAXTERMS • Es posible obtener un producto de maxterms a partir de una suma de minterms o viceversa aplicando De Morgan sobre el complemento de la función. Edopena 12 Microprocesadores

[ Algebra de Boole ] Funciones Incompletas FUNCIONES INCOMPLETAS • Estas son las funciones

[ Algebra de Boole ] Funciones Incompletas FUNCIONES INCOMPLETAS • Estas son las funciones para las cuales algunas combinaciones de valores de entrada nunca ocurren. Ej. Decodificador de display de 7 segmentos para dígitos BCD. Edopena 13 Microprocesadores

[ Algebra de Boole ] Funciones Incompletas • Las funciones incompletas mapean puntos del

[ Algebra de Boole ] Funciones Incompletas • Las funciones incompletas mapean puntos del dominio de una función en tres valores posibles. • Los dominios de puntos donde F vale {0 , 1 X} son denominados, respectivamente, de: • F puede ser descrita definiendo dos de sus tres conjuntos. Edopena 14 Microprocesadores

[ Algebra de Boole ] Minimización lógica de dos niveles MINIMIZACIÓN LÓGICA DE DOS

[ Algebra de Boole ] Minimización lógica de dos niveles MINIMIZACIÓN LÓGICA DE DOS NIVELES Manipulación Algebraica: • Difícil de determinar un orden y qué transformaciones aplicar. • Cómo sabes si se localizó una mejor solución. Herramientas de auxilio: • No consiguen tratar problemas de forma exacta. • Se basan en heurísticas y criterios de costo. Métodos manuales, al menos para fines didácticos y funciones muy simples Edopena 15 Microprocesadores

[ Algebra de Boole ] Minimización lógica de dos niveles • Idea base: Aplicación

[ Algebra de Boole ] Minimización lógica de dos niveles • Idea base: Aplicación de distribución y complemento. Edopena 16 Microprocesadores

[ Algebra de Boole ] Cubos CUBOS • Un espacio booleano n-dimensional puede ser

[ Algebra de Boole ] Cubos CUBOS • Un espacio booleano n-dimensional puede ser visualizado espacialmente. • Los productos de literales son llamados cubos. Edopena 17 Microprocesadores

[ Algebra de Boole ] Cubos VISUALIZACIÓN DE CUBOS • Puntos adjacentes difieren en

[ Algebra de Boole ] Cubos VISUALIZACIÓN DE CUBOS • Puntos adjacentes difieren en un bit. • Todos los puntos de la función están en una cara. • Y y Z varían mientras que X permanece inalterable: Y y Z pueden ser eliminados de la expresión. Edopena 18 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh MAPAS DE KARNAUGH • Visualización del

[ Algebra de Boole ] Mapas de Karnaugh MAPAS DE KARNAUGH • Visualización del dominio de una función en forma matricial. • Puntos del dominio están dispuestos siguiendo el código Gray, pares adjacentes difieren en un bit. Edopena 19 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh ADJACENCIA DEL MAPA DE KARNAUGH •

[ Algebra de Boole ] Mapas de Karnaugh ADJACENCIA DEL MAPA DE KARNAUGH • Los elementos extremos de las columnas y filas son adjacentes. Edopena 20 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh • El cubo obtenido es definido

[ Algebra de Boole ] Mapas de Karnaugh • El cubo obtenido es definido por las variables que no cambian de cara en todos sus minterms. Edopena 21 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh • La agrupación obtenida es definida

[ Algebra de Boole ] Mapas de Karnaugh • La agrupación obtenida es definida por las variables que no cambian de cara en todos sus minterms. Edopena 22 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 23 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 23 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh COMPLEMENTO DE UNA FUNCIÓN Edopena 24

[ Algebra de Boole ] Mapas de Karnaugh COMPLEMENTO DE UNA FUNCIÓN Edopena 24 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 25 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 25 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh KARNAUGH DE CUATRO VARIABLES Edopena 26

[ Algebra de Boole ] Mapas de Karnaugh KARNAUGH DE CUATRO VARIABLES Edopena 26 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 27 Microprocesadores

[ Algebra de Boole ] Edopena Mapas de Karnaugh 27 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN CON IRRELEVANTES • Los puntos

[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN CON IRRELEVANTES • Los puntos irrelevantes pueden ser considerados como un 1 o un 0 en el mapa de Karnaugh. • Son utilizados para formar agrupaciones mayores, simplificando una función. Edopena 28 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 29 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 30 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena

[ Algebra de Boole ] Mapas de Karnaugh EJEMPLO COMPARADOR DE DOS BITS Edopena 31 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN LÓGICA EN DOS NIVELES •

[ Algebra de Boole ] Mapas de Karnaugh MINIMIZACIÓN LÓGICA EN DOS NIVELES • La minimización de dos niveles busca obtener las sumas del producto con un número mínimo de productos y literales. • Minimizándose el número de productos se está reducido la altura de la implementación y, por consiguiente, su área. • Estando reducido el número de literales, se reduce el número de transistores de la implementación digital, lo que minimiza la potencia disipada. Ej Sumador de 1 bit Edopena 32 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Conceptos Básicos • Implicante: una agrupación

[ Algebra de Boole ] Mapas de Karnaugh Conceptos Básicos • Implicante: una agrupación c es un implicante de una función f si para todo vector x donde c(x) = 1, tenemos que f(x) = 1. O sea c Æ f • En álgebra Booleana “²” es una relación de orden parcial, análoga a relación "está contenido en" entre conjuntos. Puede ser definida como “un conjunto de minterms de c está contenido en f”. Edopena 33 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Conceptos Básicos • Implicante primo: es

[ Algebra de Boole ] Mapas de Karnaugh Conceptos Básicos • Implicante primo: es una agrupación que no está contenida en ninguna otra agrupación de la función (o, no puede ser mas expandido) • Implicante primo esencial: es un implicante primo que contiene al menos un minterm que no está contenido en ningún otro implicante de la función. Edopena 34 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh • Una cobertura de una función

[ Algebra de Boole ] Mapas de Karnaugh • Una cobertura de una función f y una suma de productos que contienen todos los minterms de f (cobre f) Una cobertura prima es aquella compuesta apenas por implicantes primos • Una cobertura irredundante es aquella en que ninguno de las dos agrupaciones puede ser removida sin alterar la función. Edopena 35 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Ejemplos Edopena 36 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Ejemplos Edopena 36 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh COBERTURA MÍNIMA CON MAPA DE KARNAUGH

[ Algebra de Boole ] Mapas de Karnaugh COBERTURA MÍNIMA CON MAPA DE KARNAUGH 1. Seleccione un minterm mi de la función. 2. Expanda mi en todas las direcciones posibles, generando así todos los implicantes primos que cubren mi. 3. Repita los pasos anteriores para todos los minterms de la función, generando todos los implicantes primos posibles. 4. Identifique y separe los implicantes esenciales. Los minterms cubiertos por ellos pueden ser considerados como puntos irrelevantes. 5. Seleccione un conjunto mínimo de implicantes que cubra los minterms restantes. Edopena 37 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Ejemplo Edopena 38 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Ejemplo Edopena 38 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Continuación Ejemplo Edopena 39 Microprocesadores

[ Algebra de Boole ] Mapas de Karnaugh Continuación Ejemplo Edopena 39 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky MÉTODO DE QUINE Mc. CLUSKY •

[ Algebra de Boole ] Quine Mc. Clusky MÉTODO DE QUINE Mc. CLUSKY • Tome los minterms de la función y expanda sucesivamente los minterms en todas direcciones posibles (variables en espacio Booleano). • Obtener así todos los implicantes primos de la función. • Seleccione un subconjunto que cubra la función que tenga un costo mínimo. • Detección y remoción de primos esenciales. • Dominancia de línea y de columna. • Branch and bound cuando no hay dominancia. Edopena 40 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Mc. Cluskey: • Representar los implicantes

[ Algebra de Boole ] Quine Mc. Clusky Mc. Cluskey: • Representar los implicantes en notación binaria : X= {x 1, x 2, x 3} x 1·x 3' -> 1 -0 x 3 -> --1 x 1'·x 2'·x 3 -> 001 • Tabular los implicantes en grupos de mismo peso (1's) para reducir el número de comparaciones. Edopena 41 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Expansión de minterms Ejemplo: F =

[ Algebra de Boole ] Quine Mc. Clusky Expansión de minterms Ejemplo: F = S (1, 2, 3, 5, 7, 8, 10, 11, 12, 13, 15) Expansión de los minterms de los implicantes. Edopena 42 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Implicantes Primos: Edopena p 1 =

[ Algebra de Boole ] Quine Mc. Clusky Implicantes Primos: Edopena p 1 = x 1·x 0 p 3 = x 2'·x 1 p 5 = x 3·x 1'·x 0' p 2 = x 2·x 0 p 4 = x 3'·x 0 p 6 = x 3·x 2'·x 0' 43 p 7 = x 3·x 2·x 1' Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función Edopena 44 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función Edopena 44 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función • Dominancia de

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función • Dominancia de Línea: si todos los minterms de una línea lx están contenidos en una línea ly, entonces ly domina a lx y lx puede ser removida de la tabla esto indica que el implicante py cubre al implicante px Edopena 45 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función • Dominancia de

[ Algebra de Boole ] Quine Mc. Clusky Cobertura de función • Dominancia de columna: si todos los minterms de una columna cx están contenidos en una columna cy, entonces cy domina a cx y cy puede ser removida de la tabla cubriendo el minterm mx automáticamente se cubre my Edopena 46 Microprocesadores

[ Algebra de Boole ] Quine Mc. Clusky CAD PARA MINIMIZACIÓN Problemas con el

[ Algebra de Boole ] Quine Mc. Clusky CAD PARA MINIMIZACIÓN Problemas con el método de Quine: • Computacionalmente es ineficiente • Genera todos los implicantes primos Complejidad de: (3 ^ n)/n • Parte de los minterms de la función Complejidad de: 2 n-1 Edopena 47 Microprocesadores

[ Algebra de Boole ] Resumen RESUMEN • Punto de partida: una suma de

[ Algebra de Boole ] Resumen RESUMEN • Punto de partida: una suma de productos (no mintermos) • Respete iterativamente la secuencia de operaciones: Expande los implicantes hasta su tamaño máximo Extraer esenciale primos Cobertura Irredundante: generar una cobertura irredundante Reducir: reduzca los implicantes hasta su tamaño mínimo Respete los pasos anteriores hasta no obtener ganancias Last gasp: la inserción de un primo cualquiera no puede llevar a eliminación de dos primos de la cobertura Edopena 48 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 49 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 49 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 50 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 50 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 51 Microprocesadores

[ Algebra de Boole ] Edopena Resumen 51 Microprocesadores