25
1 Arquitetura Arquitetura e e Organização Organização de de Computadores Computadores Álgebra Álgebra Booleana Booleana

Álgebra Booleanaprofessor.unisinos.br/jcgluz/arq-org-comp/arqorgcomp... · 2011-08-15 · Funçıes Booleanas sªo criadas se atribuindo uma expressªo booleana a um identificador

  • Upload
    ngonhu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

1

Arquitetura Arquitetura ee OrganizaçãoOrganização de de ComputadoresComputadores

ÁlgebraÁlgebra BooleanaBooleana

2

Histórico e Propriedades� Formalizada por George Boole em 1854� Usada por Shannon em 1938 para provar propriedades de

circuitos de chaveamento

Conjunto deelementos

{0, 1}

Operadoreslógicos

E (.), OU (+) e

complemento (¯)

Axiomas epropriedades

idempotência,comutatividade,associatividade,distributividade

VariáveisBooleanas

A, B, C, ...

3

Operações Básicas

Operação OU (�adição lógica� - OR)

Regra: Resultado é 1 se ao menos uma das variáveis de entrada valer 1

A B A+B0 0 00 1 11 0 11 1 1

A B C A+B+C0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 11 0 1 11 1 0 11 1 1 1

4

Operações Básicas

Operação E (�multiplicação lógica� - AND)

Regra: Resultado é 0 se ao menos uma das variáveis de entrada valer 0

A B A⋅B0 0 00 1 01 0 01 1 1

A B C A⋅B⋅C0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 1 01 1 0 01 1 1 1

5

Operações Básicas

Complementação (ou negação ou inversão - NOT)

é um operador unário (i.e., só é aplicável a uma variável por vez)

A A0 11 0

6

Expressões Booleanas

Variáveis, operadores e constantes podem ser combinadas para formar Expressões Booleanas.

Exemplos:

A.B + A.C A+B.C A.B + B.C A.C.D + B.A

7

Expressões Booleanas (cont.)

Podem ser usados parênteses em expressões booleanas.Tanto para alterar a precedência natural quanto paradeixar uma expressão mais legível.Exemplos:

(A+B).C (A+B) . (B+C)

O operador de multiplicação lógica (.) pode ser omitido:

AB + AC A+BC

8

Expressões e Funções Booleanas

A ordem de precedência natural dos operadores é a seguinte:

1. Parênteses2. Complementação (negação)3. Multiplicação Lógica4. Soma Lógica

Funções Booleanas são criadas se atribuindo uma expressão booleana a um identificador de funçãoF, G, H, ...:

F = A.B + A.CG = (A+B) . (B+C)

9

Avaliação de Expressões Booleanas

1. Criar colunas para as variáveis de entrada e listar todas as combinações possíveis, utilizando a fórmula:

Número de combinações = 2n

(onde n é o número de variáveis de entrada)

2. Criar uma coluna para cada variável de entrada que apareça complementada na equação e anotar os valores resultantes

3. Avaliar a equação seguindo a ordem de precedência, a partir do nível de parênteses mais interno

10

Propriedades da Álgebra Booleana

Seja A uma variável Booleana.

Então:

Se A ≠ 0 ⇒ A = 1Se A ≠ 1 ⇒ A = 0

(espaço de uma variável Booleana)

Propriedade das Variáveis Booleanas

11

Propriedades da Álgebra Booleana

Propriedades da adição lógica(1) A 0 A+ =(2) A 1 1+ =(3) A A A+ =(4) A A 1+ =

(5) A ⋅ 0 = 0(6) A ⋅1 = A(7) A ⋅ A = A(8) A ⋅ A = 0

Propriedades da multiplicação lógica

Propriedade da complementação

(9) A A=

12

Propriedades da Álgebra Booleana

Propriedade comutativa

(10) A B B A+ = +(11) A ⋅ B = B ⋅ A

Propriedade associativa(12) A (B C (A B C A C B+ =+ ) + )+ = ( + )+(13) A ⋅ (B ⋅ C) = (A ⋅B) ⋅ C = (A ⋅ C) ⋅B

Propriedade distributiva

(14) C)B).(A(ABCA ++=+ (15) A ⋅ (B + C) = A ⋅B + A ⋅C

13

Teoremas de De Morgan

A ⋅ B ⋅ C ⋅ ... = A + B + C + ...

A ⋅ B = A + B

Para 2 variáveis:

Para n variáveis:

A + B + C + ... = A ⋅ B ⋅ C ⋅ ...

A + B = A ⋅ B

14

Portas Lógicas

Portas OU (OR)

B

A A+BBA

A+B+C

C

(a) (b)

2 entradas 3 entradas

15

Portas Lógicas

Portas E (AND)

A

(a)

A.B

B

A

C

A.B.CB

(b)

2 entradas 3 entradas

16

Portas Lógicas

Inversor (NOT)

AA

17

Desenho de Circuitos Lógicos

Para desenhar um circuito a partir da equação Booleana, seguir a ordem de avaliaçãode expressões:1. Parêntesis (dos mais internos para os mais externos);2. Operações E para portas AND3. Operações OU para portas OR

W = X + Y ⋅ ZExemplo:

X

Z

WY

18

Derivação de Expressões Booleanas

Tabela verdade

2 Possibilidades:

equação

Produto de SomasSoma de Produtos (SdP)

Lista todas as combinações das variáveis de entrada para os quais a função vale 1

Produto de Somas (PdS)

Lista todas as combinações das variáveis de entrada para os quais a função vale 0

ou

19

Soma de Produtos (SdP)

Dada uma função Booleana de n variáveis (=n entradas) há 2n

combinações possíveis dessas variáveis

Para cada combinação pode-se associar um produto entre as variáveis de entrada A B C mintermo

0 0 0 A ⋅ B ⋅ C 0 0 1 A ⋅ B ⋅C0 1 0 A ⋅ B ⋅ C 0 1 1 A ⋅ B ⋅C1 0 0 A ⋅ B ⋅ C 1 0 1 A ⋅ B ⋅ C1 1 0 A ⋅ B ⋅ C 1 1 1 A ⋅ B ⋅ C

cada produto é chamado mintermo

20

ABC ABC ABC ABC

Soma de Produtos (SdP)

Exemplo: encontrar a equação em soma de produtos (SdP) para a função F, descrita pela seguinte tabela verdade:

A B C F0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

F= ABC + ABC + ABC + ABC

21

Produto de Somas (PdS)

Para cada combinação pode-se associar uma soma lógica (�OU�) entre as variáveis de entrada

Cada soma é chamada maxtermo

A B C maxtermos

0 0 0 A B C+ + 0 0 1 A B+ +C 0 1 0 A C+ +B 0 1 1 A + +B C 1 0 0 A + +B C 1 0 1 A C+ +B 1 1 0 A B C+ + 1 1 1 A B C+ +

22

Exemplo: encontrar a equação em soma de produtos (SdP) para a função F, descrita pela seguinte tabela verdade:

Produto de Somas (PdS)

A + B + C A + B + C

A + B + C

F= (A + B + C) ⋅ (A + B + C) ⋅(A + B + C) ⋅(A + B + C)

A + B + C

A B C F0 0 0 00 0 1 00 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0

23

Formas Canônicas ou Padrão

Soma de mintermos:É a toda a equação em soma de produtos em que cada produto é um mintermo

Produto de maxtermos:É a toda a equação em produto de somas em que cada produto é um mintermo

24

SimplificaçãoRedução do número de literais ou de operações na equaçãoBooleana, através da aplicação das propriedades da ÁlgebraBooleana

CABCBABCACBAF +++=

CABCBAC)CB(AF +++=

CABCBABAF ++=

F = A B ⋅1+ AB C + ABC

Soma de Produtossimplificada

Pela prop. (6), A B ⋅1 = A B

C+ C = 1Pela prop. (4),

Pela prop. (14), A ⋅ (B + C) = A ⋅ B+ A ⋅ C

25

Relações entre Expressões, Circuitos e Tabela-Verdade

ExpressãoBooleana

TabelaVerdade

CircuitoLógico

Avaliação

Derivação

Desenho(Projeto)

Análise