1 Circuitos Combinatórios Adão de Melo Neto
1
Circuitos Combinatórios
Adão de Melo Neto
2
Executar programas
armazenados na memória
Armazena programas a
serem executados pelo
processador
UNIDADE LÓGICA ARITMÉTICA
Executar operaçõe lógicas e aritméticas
Requeridas pelas instruções lidas da
Memória principal
Relembrando .......
3
Circuitos Digitais Circuitos Digitais
– Os circuitos digitais podem ser de dois tipos: combinatórios e
sequenciais.
– Ambos tipos de circuitos são constituídos por portas que admitem
uma ou várias entradas, cada uma delas podendo assumir o valor 0
ou 1.
Circuitos Combinatórios – São circuitos digitais cuja saída depende apenas de uma
combinação de entradas.
– Iremos ver alguns circuitos combinatórios que são utilizados na
implementação da ULA e unidade de controle da UCP.
4
Portas Lógicas Básicas
Relembrando .......
5
Circuitos Combinatórios Multiplexador (MUX)
– Seleciona como saída F uma das entradas Di com
base em sinais de controle
Demultiplexador (DEMUX)
– Permite habilitar uma das saídas habilitadoras Di com
base em sinais de controle
Comparador
– Compara duas palavras (por exemplo, verificando se
são iguais)
Shifter (deslocador)
– Desloca os bits para a esquerda ou direita
Somador
6
MULTIPLEXADOR
– Seleciona como saída F uma das entradas Di
MULTIPLEXADOR
D0
D1
D2
D3
D4
D5
D6
D7
F
controle
ENTRADAS
A B C F
0 0 0 D0
0 0 1 D1
0 1 0 D2
0 1 1 D3
1 0 0 D4
1 0 1 D5
1 1 0 D6
1 1 1 D7
7
MULTIPLEXADOR
– Seleciona como saída F uma das entradas Di
8
Quando A=0, B= 0 e C = 0, teremos:
Saída da 1a porta AND D0.1.1.1 = D0
Saída de todas as outras portas AND 0
Portanto, a saída F = D0 +0+0+0+0+0+0
F = D0
9
Quando A=1, B= 0 e C = 0, teremos:
Saída da 5a porta AND D4.1.1.1 = D4
Saída de todas as outras portas AND 0
Portanto, a saída F = 0+0+0+0+D4+0+0+0
F = D4
10
DEMULTIPLEXADOR com 04 entradas
11
Circuito demultiplexador com 4 entradas. Observe a tabela
verdade abaixo
MULTIPLEXADOR
D0
D1
D2
D3
F
Controle (A e B)
ENTRADAS
A B F
0 0 D0
0 1 D1
1 0 D2
1 1 D3
12
13
0 0
1
1
D0
1
0
D1
0
1
D2
0
0
D3
D0
0
0
0
F = D0 + 0 + 0 + 0
F = D0
14
0 1
1
0
D0
1
1
D1
0
0
D2
0
1
D3
0
D1
0
0
F = 0 +D1 + 0 + 0
F = D1
15
1 0
0
1
D0
0
0
D1
1
1
D2
1
0
D3
0
0
D2
0
F = 0 + 0 + 0 + D2
F = D2
16
1 1
0
0
D0
0
1
D1
1
0
D2
1
1
D3
0
0
0
D3
F = 0 + 0 + 0 + D3
F = D3
DEMULTIPLEXADOR
– Permite habilitar uma das saídas habilitadoras Di com base
em sinais de controle
17
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
D0 D1 D2 D3 D4 D5 D6 D7
1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1
DEMULTIPLEXADOR
18
19
Quando A=0, B= 0 e C = 0, teremos:
Na1a porta AND D0=1.1.1 =1
Nas outras AND Di= 0
20
Quando A=0, B= 1 e C = 0, teremos:
Na 3a porta AND D2=1.1.1 =1
Nas outras AND Di= 0
21
MULTIPLEXADOR com 04 entradas
Circuito multiplexador com 4 entradas. Observe a tabela
verdade abaixo
22
A B
0 0
0 1
1 0
1 1
D0 D1 D2 D3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Circuito multiplexador com 4 entradas. Observe a tabela
verdade abaixo
23
A B
0 0
0 1
1 0
1 1
D0 D1 D2 D3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 0
1
1
1
0
0
1
0
0
1
0
0
0
Circuito multiplexador com 4 entradas. Observe a tabela
verdade abaixo
24
A B
0 0
0 1
1 0
1 1
D0 D1 D2 D3
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 1
0
0
0
1
1
0
1
1
0
0
0
1
25
COMPARADOR
– Compara duas palavras de entrada (por exemplo,
verificando se são iguais)
– Exemplo 1:
• A = A3A2A1A0 = 1110 e B = B3B2B1B0 = 1110
26
A = 1110
B = 1110
27
COMPARADOR
– Compara duas palavras de entrada (por exemplo,
verificando se são iguais)
– Exemplo 1:
• A = A3A2A1A0 = 1110 e B = B3B2B1B0 = 1100
28
A = 1110
B = 1100
29
Construa um circuito comparador de palavras de 8 bits usando
dois circuitos comparadores de palavras de 4 bits.
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
0
A = 01010110
B = 01110110
30
Construa um circuito comparador de palavras de 8 bits usando
dois circuitos comparadores de palavras de 4 bits.
A = 01010110
B = 01110110
1
0
0
0
0
1
0
0
0
0
0 São diferentes
31
SHIFTER (DESLOCADOR)
– Desloca os bits para a esquerda (C=0) ou direita (C=1)
– D = D0D1D2D3 D4D5D6D7 = 01101010
– S = = 11010100
32
SHIFTER (DESLOCADOR)
– Desloca os bits para a esquerda (C=0) ou direita (C=1)
– D = D0D1D2D3 D4D5D6D7 = 01101010
– S = = 00110101
33
SHIFTERS (DESLOCADORES)
– D
• 01101010 (10610)
– Deslocar para esquerda (multiplicar por 2)
• 11010100 (21210)
– Deslocar para direita (dividir por 2)
• 00110101 ( 5310)
34
SOMADOR
– Soma dois valores
– Você sabe construir um somador de bits A e B ?
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 ( e vai 1)
35
SOMADOR
1 1
1 1 0 1
1 1 1 1
0 0
VAI UM (entrada)
VAI UM (saída)
A
B
36
0
1
0
1
1
0
1
1
37
1
1
1
0
1
1
0
1
38
Unidade Lógica Aritmética (ULA) Objetivo
– Iremos mostrar como construir uma ULA com 01 bit usando os circuitos
explicados anteriormente.
ULA (de 01 bit) – Executa de acordo com a entradas E do DEMULTIPLEXADOR as operações
AND, OR, NOT e A+B
• E = E0E1
• E = 00 ==> A AND B
• E = 01 ==> A OR B
• E = 10 ==> NOT B
• E = 11 ==> SOMA A e B
39
40
E = 00
41
E = 00 e A =0 e B=1
0
1
=0.1 =0
= 0
42
E = 00 e A =1 e B=1
1
1
= 1.1 = 1
= 1
43
E = 01
0 OU (A OU B) OU 0 OU 0 =
A OU B
44
E = 01 e A=0 e B=0
0
0
= 0 OU 0 = 0
0 OU (A OU B) OU 0 OU 0 =
A OU B = 0
45
E = 01 e A=0 e B=1
0
1
= 0 OU 1 = 1
0 OU (A OU B) OU 0 OU 0 =
A OU B = 1
46
Objetivo A partir de uma ULA de 1 bit obter uma ULA de 8 bits
47
Considerando E = E0E1=00, obtenha o valor da saída
01001101=A7A6A5A4A3A2A1A0 00110110=B7B6B5B4B3B2B1B0 00000100=O7O6O5O4O3O2O1O0
0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0
0 0 0 0 0 1 0 0
48
Considerando E = E0E1=11, obtenha o valor da saída
11111
01001101=A7A6A5A4A3A2A1A0 00110110=B7B6B5B4B3B2B1B0 10000011=O7O6O5O4O3O2O1O0
0 0 1 0 0 1 0 1 1 0 1 1 0 1 1 0
1 0 0 0 0 0 1 1
1 1 1 1 1 0 0