O documento descreve os componentes e operação de uma unidade lógica aritmética, incluindo registradores, somadores binários paralelos e completos. É explicado como os números binários são somados de forma paralela e como o carry é propagado através dos circuitos.
2. Unidade Lógica Aritmética
• O objetivo principal de uma ALU é receber dados binários
armazenados na memória e executar operações aritméticas e
lógicas sobre eles, de acordo com as instruções provenientes
da unidade de controle.
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
2
3. Unidade Lógica Aritmética
• Dois registradores:
• ACUMULADOR: acumula o resultado da soma quando realiza
sucessivas adições entre um novo número e a soma previamente
acumulada
• REGISTRADOR B
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
3
4. Unidade Lógica Aritmética
• Sequência típica de
operações pode ocorrer da
seguinte maneira:
• A unidade de controle recebe
as instruções provenientes da
memória RAM
• A unidade de controle
especifica que o número
binário armazenado em
determinada posição da
memória será somado ao
número armazenado no
registrador acumulador
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
4
• O número a ser
somado é transferido
da memória RAM para
o REGISTRADOR B
5. Unidade Lógica Aritmética
• Os números do
REGISTRADOR B e do
ACUMULADOR são
somados no circuito
lógico
• O resultado da soma é
enviado ao
ACUMULADOR para ser
armazenado
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
5
• Se a operação
aritmética tiver
terminado, então o
número resultante
pode ser enviado à
memória
6. Unidade Lógica Aritmética
• Se a operação
aritmética não tiver
terminado, então o
número resultante
permanece no
ACUMULADOR para que
possa ser somado ao
próximo número.
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
6
7. Somador Binário Paralelo
• As operações aritméticas são realizadas sobre apenas dois
números binários de cada vez.
• Cada número binário pode ter vários digitos binários.
• Exemplo: somando dois números de 5 bits (10101 + 00111)
• Primeira parcela é armazenada no acumulador
• Segunda parcela é armazenada no registrador B
• Cada um dos registradores deve ter 5 flip flips para
conseguir manipular os 5 bits
• O processo começa pelo bit menos significativo, portanto 1
+ 1 = 10, que gera um CARRY
• O CARRY deve ser somado às próximas posições
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
7
8. Somador Binário Paralelo
• A conta ficará como mostrada abaixo:
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
8
9. Somador Binário Paralelo
• Na segunda posição, tem-se 1 + 0 + 1 = 10, em que soma-se os
dois bits com o carry da posição anterior, e assim
sucessivamente
• Em cada passo do processo de adição, 3 bits são somados, 2
bits do número binário + 1 bit do carry
• O mesmo processo é seguido para cada posição de bit
• Um circuito projeto para realizar essa operação, pode se
replicado para a quantidade de bits necessários
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
9
10. Somador Binário Paralelo
• Exemplo de circuito em diagrama de bloco
• A1 e B1 são colocados nas entradas do somador completo
juntamente com C1
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
10
11. Somador Binário Paralelo
• A0 e B0 são colocados nas entradas do somador completo
juntamente com C0. Neste circuito, na posição zero nunca haverá
carry e C0 sempre terá o valor zero.
• A0, B0 e C0 são as entradas do somador completo FA0, que gera
duas saídas, S0 e C1 (soma e carry)
• Lembrem-se que nos computadores a faixa de bits de um número
binário pode variar de 8 a 64 bits
• Neste circuito, todos os bits relativos às parcelas são colocados
simultaneamente na entrada do somador, por isso o nome de
somador binário paralelo.
• A adição do bit de cada posição é realizada ao mesmo tempo
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
11
12. Somador Completo
• Um somador completo tem 3 entradas e 2 saídas, sendo 2 números
de entrada para serem adicionados e carry in e a soma e o carry out
como saída
• A expressão booleana resultante da soma é A xor B ( B xor Cin)
• A expressão booleana resultante do carry out é BCin + ACin + AB
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
12
14. Somador Paralelo Completo
com Registradores
• Exemplo: somador completo de 4 bits com registradores de
armazenamento
• Os registradores são construídos com flips flops do tipo D
• O acumulador A armazena os bits de A3 à A0 (primeira parcela)
• O registrador B armazena os bits de B3 à B0 (segunda parcela)
• O acumulador A é somado com o registrador B
• S3 à S0 são os bits de saída, resultado da soma entre A e B
• C4 é o bit de carry do quarto F.A. O C4 pode ser usado como CARRY
de entrada para um QUINTO F.A., ou ainda, como bit de OVERFLOW,
indicado um estouro do número.
19/05/2015Prof.ªM.ªEn
g.ªElaineCecíliaGatto
14
15. Somador Paralelo Completo
com Registradores
• TRANSFER: transfere os bits do resultado da conta, de forma
PARALELA, para o registrador A na borda de subida deste pulso
• O registrador B recebe dados da MEMÓRIA
• Os dados da MEMÓRIA são transferidos de forma PARALELA para
o registrador B na borda de subida do pulso LOAD
• LOAD: sinal (pulso) de transferência de carregamento de bits da
MEMÓRIA para o registrador
• CLEAR: sinal para “limpar” o circuito
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
15
17. Somador Paralelo Completo
com Registradores
• NOTAÇÕES:
• [A] = 1011 o registrador A contém este valor
• [B] = 1111 o registrador B contém este valor
• [B] [A]: o conteúdo do registador B foi copiado para o
registrador acumulador
• [A] [B]: o conteúdo do registador acumulador foi
copiado para o registrador B
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
17
18. Somador Paralelo Completo
com Registradores
• Sequencia de Operações
• CONSIDERE [A] = 1001, [B] = 0101 E [C0] = 0
• Instante t1: um pulso CLEAR é aplicado na entrada de cada Flip
Flop do registrador A, portanto, [A] = 0000
• Instante t2: um número binário é transferido da memória para o
registrador B na vorda de subida do pulso LOAD; portanto, [M]
[B]
• Instante t3: neste momento [B] = 1001 e [A] = 0000, portanto,
1001 + 0000 = 1001. O resultado dessa soma é transferido para o
registrador acumulador A na borda de subida do pulso
TRANSFER, gerando [A] = 1001, portanto, [S]’ [A]
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
18
19. Somador Paralelo Completo
com Registradores
• Sequencia de Operações
• Instante t4: o segundo número binário é transferido da
memória para o registrador B na borda de subida do
segundo pulso de LOAD. [B] = 0101, portanto, [M] [B]
• Instante 5: [B] = 0101 e [A] = 1001, portanto, 0101 + 1001 =
1110. O resultado dessas saídas é transferido para o
registrador A no segundo pulso de TRANSFER. [A] = 1110,
portanto, [S] [A]
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
19
20. Somador Paralelo Completo
com Registradores
• Sequencia de Operações
• A soma dos dois número binários está agora armazenada
no registrador A
• O conteúdo do registrador acumulador é transferido para a
memória, de modo a liberar o circuito somador para a
realização de outra operação aritmética
• Portanto, [A] [M]. O circuito não está implementado
neste exemplo.
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
20
21. Exercícios
1. Quantas entradas tem um somador completo?
2. Quantas saídas tem um somador completo?
3. Considere os seguintes níveis nas entradas do circuito do
somador binário paralelo: [A] = 01001, [B] = 00111, [C] =
0. Qual é o nível lógico na saída do somador completo
(FA#2)? Qual o nível lógico na saída C5?
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
21
22. Exercícios
1. Considere que quatro números diferentes de quatro bits,
provenientes da memória, são somados pelo circuito do
somador paralelo completo com registradores. Quantos
pulsos CLEAR serão necessários? Qantos pulsos
TRANSFER? Quantos pulsos LOAD?
2. Determine o conteúdo do registrador A após a seguinte
sequencia de operações:
1. [A] = 0000
2. [0110] [B]
3. [S] [A]
4. [1110] [B]
5. [S] [A]
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
22
23. Propagação do Carry
• A velocidade com que o somador paralelo completo com
registradores realiza operações é relativamente alta, sendo
limitada apenas pelo efeito de PROPAGAÇÃO DO CARRY OU
ONDULAÇÃO DO CARRY (CARRY RIPPLE)
• SITUAÇÃO PROBLEMA: A soma do bit gerado na última
posição depende do carry que foi gerado na adição da
primeira posição
• O bit S3 depende do bit C1, portanto, o sinal do primeiro carry
tem que passar por todos os FA’s antes de gerar a Saída final
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
23
24. Propagação do Carry
• A saída final não alcançará o valor correto até que o sinal do
primeiro carry tenha sido propagado pelos FA’s intermediários
• Suponha que os FA’s tenham propagação de 40 ns. Como o
sinal de C1 precisa passar por três FA’s, então, 40ns * 3FA’s =
120ns. Portanto, a saída final só alcançará seu valor correto
após 120ns.
• Considerando o tempo de geração do sinal de carry (40ns) que
ocorre no primeiro FA, então, o pulso do comando de
execução da soma NÃO pode ocorrer, ou ser aplicado, antes
de 160ns (120 + 40)
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
24
25. Propagação do Carry
• Para solucionar este problema em CPUs, foi desenvolvido o
CARRY ANTECIPADO (look-ahead carry)
• Nesse esquema, portas lógicas são utilizadas para monitorar
os bits de baixa ordem (LSB) das parcelas, para verificar se um
carry de ALTA ORDEM (MSB) será gerado
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
25
26. Somador Paralelo em Circuito
Integrado
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
26
27. Somador Paralelo em Circuito
Integrado
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
27
28. Somador Paralelo em Circuito
Integrado
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
28
• Exercícios
• Determine os níveis lógicos nas entradas e saídas do somador
de oito bits em que 72(10) é somado com 137(10)
• Quantos Cis 74283 são necessários para somar dois números
de 20 bits?
30. Sistema de Complemento de 2:
SUB
• Lembre-se:
• o número a ser subtraído é transformado para sua forma de
complemento a 2 (subtraendo)
• em seguida, o subtraendo é SOMADO ao minuendo
• O circuito anterior pode ser ADAPTADO para ser usado como
um somador.
• É necessário, portanto, obter o complemento a 2 do número
armazenado no registrado B
• OU, para testar a subtração usando ESTE circuito, faça a
conversão no papel e COLOQUE nas entradas, o valor
correspondente, a saída será a mesma
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
30
31. Sistema de Complemento de 2:
SUB
• Usa-se as saídas invertidas do registrador B ao invés das saídas
normais. Dessa forma temos o complemento de 1
• C0 é colocado com o valor 1 para realizar a soma de 1 no LSB,
simulando a soma de 1 ao número que já está em
complemento de 1
• O resultado é o complemento de 2
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
31
32. Sistema de Complemento de 2:
SUB
• EXEMPLO: SUBTRAIR +6 DE +4
• +4 é armazenado no registrador A como 0100
• +6 é armazenado no registrador B como 0110
• As saídas invertidas dos FLIP FLOPS do
registrador B são colocadas na entrada do
somador (1001)
• O circuito somador paralelo soma [A] = 0100
com [B] = 1001 e C0 = 1
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
32
33. Sistema de Complemento de 2:
SUB
• O resultado da soma nas saídas é 1110
• Essa é a DIFERENÇA entre [A] e [B] que é 2
• O resultado é NEGATIVO e está na forma de
COMPLEMENTO A 2
• Para verificar a resposta, faça a conversão novamente.
• Pegue 1110 e encontre o seu complemento a 2. verá
que o resultado é exatamente 2.
• Portanto, um circuito somador paralelo pode ser
usado para ADIÇÃO ou SUBTRAÇÃO, dependendo se o
número B é mantido inalterado ou convertido para sua
forma de complemento a 2
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
33
36. Sistema de Complemento de 2:
ADD e SUB
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
36
• O circuito apresentado anteriormente tem a
capacidade de SOMAR ou SUBTRAIR
• O sinal ADD quando ativo em 1 realizará a SOMA
• O sinal SUB quando ativo em 1 realizará a SUBTRAÇÃO
• Quando ADD = 1 E SUB = 0
• SUB DESABILITA as portas AND 2, 4, 6 e 8 e mantém
suas saídas em 0
• ADD HABILITA as portas AND 1, 3, 5 e 7, permitindo
passar, em suas saídas, os níveis lógicos (0 ou 1) de
cada valor de B (B0, B1, B2 e B3)
37. Sistema de Complemento de 2:
ADD e SUB
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
37
• Quando ADD = 1 E SUB = 0
• B0 à B3 passam pelas portas OR
• Entram no somador paralelo
• São somados com os bits de A0 à A3
• O resultado aparece nas saídas E0 à E3
• Essa situação gera SUB = 0 E C0 = 0
38. Sistema de Complemento de 2:
ADD e SUB
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
38
• Quando ADD = 0 E SUB = 1
• ADD DESABILITA as portas AND 1, 3, 5 e 7
• SUB HABILITA as portas AND 2, 4, 6 e 8
• Nas saídas aparecem os níveis lógicos de B0 à B3
INVERTIDOS
• B0 à B3 invertidos passam pelas portas OR
• Entram para o somador
• São somados com os bits de A0 à A3
• C0 = 1
• O número armazenado no registrador B é
convertido para a forma de complemento a 2
• A DIFERENÇA aparece nas saídas de E0 à E3
39. Exercícios
19/05/2015
Prof.ªM.ªEng.ªElaineCecília
Gatto
39
• Por que C0 tem de ser nível 1 para que o circuito
somador seja usado como subtrator?
• Considere que [A] = 0011 e [B] = 0010. Se ADD = 1 e SUB
= 0, determine os níveis lógicos nas saídas das portas OR
• Repita a questão anterior para Add=0 e SUB=1
• Quando o circuito somador/subtrator é usado para
subtração, o complemento de 2 do subtraendo aparece
na saída do somador? SIM OU NÃO?