1
CIRCUITOS COMBINATÓRIOS DE UM COMPUTADOR
Adão de Melo Neto
2
Executar programas armazenados na memória
Armazena programas a serem executados pelo
processador
UNIDADE LÓGICA ARITMÉTICAExecutar operações lógicas e aritméticasRequeridas pelas instruções lidas da Memória principal
FUNCIONAMENTO BÁSICO DE UM COMPUTADORFUNCIONAMENTO BÁSICO DE UM COMPUTADOR
UNIDADE DE CONTROLEControlar o funcionamento do computador,Ou seja, controlar para que o processador Execute a sua função que foi descrita.
3
FUNCIONAMENTO BÁSICO DE UM COMPUTADORFUNCIONAMENTO BÁSICO DE UM COMPUTADOR
Os circuitos combinatórios circuitos combinatórios tem como finalidade implementar as atividades de uma Unidade Lógica Aritmética Unidade Lógica Aritmética e algumas funções da Unidade de ControleUnidade de Controle.
4
Circuitos Combinatórios Circuitos Combinatórios
– São circuitos digitais* circuitos digitais* cuja saída depende apenas de uma combinação de entradas.
– Iremos verificar o funcionamento de alguns circuitos combinatórios que são utilizados na implementação da ULA e unidade de controle da UCP.
– *Circuitos Digitais• São circuitos constituídos por portas que admitem uma ou várias
entradas, cada uma delas podendo assumir o valor 0 ou 1.
5
Circuitos Combinatórios
SOMADOR DE 01 BIT MULTIPLEXADOR (MUX) DEMULTIPLEXADOR (DEMUX) COMPARADOR SHIFTER (deslocador) SOMADOR COMPLETO de 04 BITS SOMADOR/SUBTRADOR de 04 BITS MULTIPLICADOR de 02 BITS
SOMADOR COMPLETO (FULL ADDER) DE 01 BIT
Como o circuito é obtido ?
7
SOMADOR– Soma dois valores– Você sabe construir um somador de dois bits A e B ?
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 ( e vai 1)
SOMADOR COMPLETO DE 01 BIT
11 0 1 0
11 101 111 000
X Y /X.Y X./Y /X.Y+X./Y XY
0 0 0 0 0 0
0 1 1 0 1 1
1 0 0 1 1 1
1 1 0 0 0 0
X Y /X./Y X.Y /X./Y+X.Y /(XY)
0 0 1 0 1 1
0 1 0 0 0 0
1 0 0 0 0 0
1 1 0 1 1 1
IGUALDADES
OBTENÇÃO DO COUT(VAI UM DE SAÍDA)
A B Cin AB (A+B) (A+B).Cin (AB) (AB).Cin (A+B).Cin + A.B(A+B).Cin + A.B (A(AB).Cin+ A.BB).Cin+ A.B
0 0 0 0 0 0 0 0 00 00
0 0 1 0 0 0 0 0 00 00
0 1 0 0 1 0 1 0 00 00
0 1 1 0 1 1 1 1 11 11
1 0 0 0 1 0 1 0 00 00
1 0 1 0 1 1 1 1 11 11
1 1 0 1 1 0 0 0 11 11
1 1 1 1 1 1 0 0 11 11
IGUALDADES
SOMADOR COMPLETO DE 01 BIT
14
01
0
1
1
0
1
1
15
SOMADOR
1 1
1 1 0 1
1 1 1 1
0 0
VAI UM (entrada)
VAI UM (saída)
A
B
16
11
1
0
1
1
0
1
SOMADOR COMPLETO DE 04 BITS
18
SOMADOR COMPLETO DE 04 BITS
FULL ADDER (FAD)
B A
S
CARRY OUT
CARRY OUT
CARRY IN
CARRY IN
S
SOMADOR COMPLETO DE 04 BITS
SOMADOR COMPLETO DE 04 BITS
BA
SOMADOR/SUBTRATOR DE 4 BITS
SOMADOR/SUBTRATOR 4 BITS
POSSO OBTER A – B UTILIZANDO A ARITMÉTICA EM COMPLEMENTO DE 2
- B = /B + 1 e PORTANTO A – B = A+ (-B) = A+(/B +1)
EXEMPLOEXEMPLO: A = 64 e B = 120 => A-B = -56 A = 64 => 01000000 B = 120 => 01111000-B = /B + 1 = 10000111 + 1 = 10001000 (-128 + 1 =-120) A-B = A+(/B +1) = = 01000000 10001000 11001000 (-128+64+8 = -56)
SOMADOR/SUBTRATOR 4 BITS
SOMADOR/SUBTRATOR 4 BITS
Sel2 = 1 → inverte BSel1 = 1 → soma + 1
MULTIPLEXADOR Seleciona como saída S uma das entradas
Di com base em entradas de controle
26
MULTIPLEXADOR com 04 entradas
27
MULTIPLEXADOR
D0D1D2D3
S
Controle (A e B)
A B S
0 0 D0
0 1 D1
1 0 D2
1 1 D3
28
29
0 0
11D0
10D1
01D2
00D3
D0000
S = D0 + 0 + 0 + 0S = D0
S
30
0 1
10D0
11D1
00D2
01D3
0D100
S = 0 +D1 + 0 + 0S = D1
S
31
1 0
01D0
00D1
11D2
10D3
00D20
S = 0 + 0 + 0 + D2S = D2
S
32
1 1
00D0
01D1
10D2
11D3
000D3
S = 0 + 0 + 0 + D3S = D3
S
33
A B DO D1 D2 D3 S (saída)
0 0 0 X X X 0
0 0 1 X X X 1
0 1 X 0 X X 0
0 1 X 1 X X 1
1 0 X X 0 X 0
1 0 X X 1 X 1
1 1 X X X 0 0
1 1 X X X 1 1
PROVA
entradas
DEMULTIPLEXADORPermite habilitar uma das saídas habilitadoras Di com base em sinais de controle
34
DEMULTIPLEXADOR– Permite habilitar uma das saídas habilitadoras Di com base
em sinais de controle
35
A B D0 D1 D2 D3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
entradas
Circuito demultiplexador com 4 entradas.
36
0 0
11
10
01
00
1
0
0
0
A B D0 D1 D2 D3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
Circuito demultiplexador com 4 entradas.
37
1 1
00
01
10
11
0
0
0
1
A B D0 D1 D2 D3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
38
COMPARADOR– Compara duas palavras de entrada (por exemplo,
verificando se são iguais)– Exemplo 1:
• A = A3A2A1A0 = 1110 e B = B3B2B1B0 = 1110
A = 1110B = 1110
39
COMPARADOR– Compara duas palavras de entrada (por exemplo,
verificando se são iguais)– Exemplo 1:
• A = A3A2A1A0 = 1110 e B = B3B2B1B0 = 1100
A = 1110B = 1100
40
Construa um circuito comparador de palavras de 8 bits usando dois circuitos comparadores de palavras de 4 bits.
00
11
01
11
00
11
11
00
A = 01010110B = 01110110
41
Construa um circuito comparador de palavras de 8 bits usando dois circuitos comparadores de palavras de 4 bits.
A = 01010110B = 01110110
1
0
0
0
0
1
0
0
0
0
0 São diferentes
42
SHIFTER (DESLOCADOR)– Desloca os bits para a esquerda (C=0) ou direita (C=1)
– D = D0D1D2D3 D4D5D6D7 = 01101010
– S = = 11010100
43
SHIFTER (DESLOCADOR)– Desloca os bits para a esquerda (C=0) ou direita (C=1)
– D = D0D1D2D3 D4D5D6D7 = 01101010
– S = = 00110101
44
SHIFTERS (DESLOCADORES)
– D
• 01101010 (10610)
– Deslocar para esquerda (multiplicar por 2)
• 11010100 (21210)
– Deslocar para direita (dividir por 2)
• 00110101 ( 5310)
MULTIPLICADOR DE 2 BITS
MULTIPLICADOR DE 2 BITS
MULTIPLICADOR DE 2 BITS 1 1 1 0
0 0 0 1 11 0 1 1
AB