Circuitos Aritméticos
-
Upload
elaine-cecilia-gatto -
Category
Education
-
view
42 -
download
0
Transcript of Circuitos Aritméticos
Unidade Lógica Aritmética
• O objetivo principal de uma ALU é receber dados bináriosarmazenados na memória e executar operações aritméticas elógicas sobre eles, de acordo com as instruções provenientesda unidade de controle. 1
9/0
5/2
01
5P
rof.ª
M.ª
En
g.ª
Elai
ne
Cec
ília
Gat
to
2
Unidade Lógica Aritmética
• Dois registradores:
• ACUMULADOR: acumula o resultado da soma quando realizasucessivas adições entre um novo número e a soma previamenteacumulada
• REGISTRADOR B
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
3
Unidade Lógica Aritmética
• Sequência típica deoperações pode ocorrer daseguinte maneira:
• A unidade de controle recebeas instruções provenientes damemória RAM
• A unidade de controleespecifica que o númerobinário armazenado emdeterminada posição damemória será somado aonúmero armazenado noregistrador acumulador
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
4
• O número a sersomado é transferidoda memória RAM parao REGISTRADOR B
Unidade Lógica Aritmética
• Os números doREGISTRADOR B e doACUMULADOR sãosomados no circuitológico
• O resultado da soma éenviado aoACUMULADOR para serarmazenado
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
5
• Se a operaçãoaritmética tiverterminado, então onúmero resultantepode ser enviado àmemória
Unidade Lógica Aritmética
• Se a operaçãoaritmética não tiverterminado, então onúmero resultantepermanece noACUMULADOR para quepossa ser somado aopróximo número.
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
6
Somador Binário Paralelo
• As operações aritméticas são realizadas sobre apenas doisnú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 paraconseguir 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
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
7
Somador Binário Paralelo
• A conta ficará como mostrada abaixo:
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
8
Somador Binário Paralelo
• Na segunda posição, tem-se 1 + 0 + 1 = 10, em que soma-se osdois bits com o carry da posição anterior, e assimsucessivamente
• Em cada passo do processo de adição, 3 bits são somados, 2bits 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 sereplicado para a quantidade de bits necessários
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
9
Somador Binário Paralelo
• Exemplo de circuito em diagrama de bloco
• A1 e B1 são colocados nas entradas do somador completojuntamente com C1
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
10
Somador Binário Paralelo
• A0 e B0 são colocados nas entradas do somador completojuntamente 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 geraduas saídas, S0 e C1 (soma e carry)
• Lembrem-se que nos computadores a faixa de bits de um númerobinário pode variar de 8 a 64 bits
• Neste circuito, todos os bits relativos às parcelas são colocadossimultaneamente na entrada do somador, por isso o nome desomador binário paralelo.
• A adição do bit de cada posição é realizada ao mesmo tempo
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
11
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 outcomo 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
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
12
Somador Completo
• Implementando as expressões em um circuito
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
13
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 CARRYde entrada para um QUINTO F.A., ou ainda, como bit de OVERFLOW,indicado um estouro do número.
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
14
Somador Paralelo Completo com Registradores
• TRANSFER: transfere os bits do resultado da conta, de formaPARALELA, 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 parao registrador B na borda de subida do pulso LOAD
• LOAD: sinal (pulso) de transferência de carregamento de bits daMEMÓRIA para o registrador
• CLEAR: sinal para “limpar” o circuito
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
15
Somador Paralelo Completo com Registradores• x
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
16
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 oregistrador acumulador
• [A] [B]: o conteúdo do registador acumulador foicopiado para o registrador B
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
17
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 FlipFlop do registrador A, portanto, [A] = 0000
• Instante t2: um número binário é transferido da memória para oregistrador 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 oregistrador acumulador A na borda de subida do pulsoTRANSFER, gerando [A] = 1001, portanto, [S]’ [A]
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
18
Somador Paralelo Completo com Registradores• Sequencia de Operações
• Instante t4: o segundo número binário é transferido damemória para o registrador B na borda de subida dosegundo 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 oregistrador A no segundo pulso de TRANSFER. [A] = 1110,portanto, [S] [A]
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
19
Somador Paralelo Completo com Registradores• Sequencia de Operações
• A soma dos dois número binários está agora armazenadano registrador A
• O conteúdo do registrador acumulador é transferido para amemória, de modo a liberar o circuito somador para arealização de outra operação aritmética
• Portanto, [A] [M]. O circuito não está implementadoneste exemplo.
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
20
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 dosomador 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
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
21
Exercícios
1. Considere que quatro números diferentes de quatro bits,provenientes da memória, são somados pelo circuito dosomador paralelo completo com registradores. Quantospulsos CLEAR serão necessários? Qantos pulsosTRANSFER? Quantos pulsos LOAD?
2. Determine o conteúdo do registrador A após a seguintesequencia de operações:
1. [A] = 0000
2. [0110] [B]
3. [S] [A]
4. [1110] [B]
5. [S] [A]
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
22
Propagação do Carry
• A velocidade com que o somador paralelo completo comregistradores realiza operações é relativamente alta, sendolimitada apenas pelo efeito de PROPAGAÇÃO DO CARRY OUONDULAÇÃO DO CARRY (CARRY RIPPLE)
• SITUAÇÃO PROBLEMA: A soma do bit gerado na últimaposição depende do carry que foi gerado na adição daprimeira posição
• O bit S3 depende do bit C1, portanto, o sinal do primeiro carrytem que passar por todos os FA’s antes de gerar a Saída final
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
23
Propagação do Carry
• A saída final não alcançará o valor correto até que o sinal doprimeiro carry tenha sido propagado pelos FA’s intermediários
• Suponha que os FA’s tenham propagação de 40 ns. Como osinal 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 corretoapós 120ns.
• Considerando o tempo de geração do sinal de carry (40ns) queocorre no primeiro FA, então, o pulso do comando deexecução da soma NÃO pode ocorrer, ou ser aplicado, antesde 160ns (120 + 40)
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
24
Propagação do Carry
• Para solucionar este problema em CPUs, foi desenvolvido oCARRY ANTECIPADO (look-ahead carry)
• Nesse esquema, portas lógicas são utilizadas para monitoraros bits de baixa ordem (LSB) das parcelas, para verificar se umcarry de ALTA ORDEM (MSB) será gerado
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
25
Somador Paralelo em Circuito Integrado
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
26
Somador Paralelo em Circuito Integrado
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
27
Somador Paralelo em Circuito Integrado
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
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?
Sistema de Complemento de 2: SUB• Lembre-se:
• o número a ser subtraído é transformado para sua forma decomplemento a 2 (subtraendo)
• em seguida, o subtraendo é SOMADO ao minuendo
• O circuito anterior pode ser ADAPTADO para ser usado comoum somador.
• É necessário, portanto, obter o complemento a 2 do númeroarmazenado no registrado B
• OU, para testar a subtração usando ESTE circuito, faça aconversão no papel e COLOQUE nas entradas, o valorcorrespondente, a saída será a mesma
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
30
Sistema de Complemento de 2: SUB
• Usa-se as saídas invertidas do registrador B ao invés das saídasnormais. 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á emcomplemento de 1
• O resultado é o complemento de 2
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
31
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 doregistrador B são colocadas na entrada dosomador (1001)
• O circuito somador paralelo soma [A] = 0100com [B] = 1001 e C0 = 1
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
32
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 deCOMPLEMENTO 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 serusado para ADIÇÃO ou SUBTRAÇÃO, dependendo se onúmero B é mantido inalterado ou convertido para suaforma de complemento a 2
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
33
Sistema de Complemento de 2: ADD e SUB
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
35
Sistema de Complemento de 2: ADD e SUB
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
36
• O circuito apresentado anteriormente tem acapacidade 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émsuas saídas em 0
• ADD HABILITA as portas AND 1, 3, 5 e 7, permitindopassar, em suas saídas, os níveis lógicos (0 ou 1) decada valor de B (B0, B1, B2 e B3)
Sistema de Complemento de 2: ADD e SUB
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
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
Sistema de Complemento de 2: ADD e SUB
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
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
Exercícios
19
/05
/20
15
Pro
f.ª M
.ª E
ng.
ª El
ain
e C
ecíli
a G
atto
39
• Por que C0 tem de ser nível 1 para que o circuitosomador 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 parasubtração, o complemento de 2 do subtraendo aparecena saída do somador? SIM OU NÃO?