sd 10 - circuitos aritméticos 10... · 11/5/10 1 mário serafim nunes guilherme silva arroz...
TRANSCRIPT
11/5/10
1
Mário Serafim Nunes Guilherme Silva Arroz
Circuitos aritméticos
Mário Serafim Nunes Guilherme Silva Arroz
Circuitos aritméticos é o nome porque são conhecidos os circuitos lógicos que realizam operações aritméticas.
Repare-se que quando se faz a operação de soma sobre dois números, por exemplo
2010/2011
Sistemas Digitais - Taguspark
2
os 0s e os 1s têm um duplo significado. Por um lado olhando para a soma, são algarismos em base 2. Por outro, quando definirmos as funções lógicas a utilizar são vistos como elementos lógicos.
11/5/10
2
Mário Serafim Nunes Guilherme Silva Arroz
O somador é um circuito que soma dois operandos em código binário natural
2010/2011
Sistemas Digitais - Taguspark
3
Há muitas formas de implementar um somador deste tipo que permitem optar por privilegiar a velocidade de operação ou a simplicidade de projecto e implementação. Far-se-á apenas uma introdução ao tema.
Barramento de n bits
Mário Serafim Nunes Guilherme Silva Arroz
Barramento é um grupo de linhas que, no conjunto, têm um significado próprio, por exemplo, por darem suporte a um número de n bits.
Note que o barramento de saída do somador é representado com n +1 bits. Incluiu-se o bit de transporte da soma das posições mais significativas dos números.
2010/2011
Sistemas Digitais - Taguspark
4
11/5/10
3
Mário Serafim Nunes Guilherme Silva Arroz
Uma forma de projectar este circuito é obter para cada bit de saída a função lógica de 2n bits de entrada. Para um somador de 64 bits, esta abordagem é possível teoricamente, mas inexequível na prática.
A solução clássica é a abordagem modular construindo o somador de n bits a partir de somadores de um bit seguindo o mesmo método que utilizamos na soma manual de dois números.
2010/2011
Sistemas Digitais - Taguspark
5
Mário Serafim Nunes Guilherme Silva Arroz
A soma é feita coluna a coluna. Considere-se o exemplo
A coluna do bit menos significativo é tratada somando os dois bits, um de cada número e obtendo a soma (S) e o transporte (C do inglês Carry)
2010/2011
Sistemas Digitais - Taguspark
6
11/5/10
4
Mário Serafim Nunes Guilherme Silva Arroz
Considere-se apenas a coluna do bit menos significativo. É possível definir duas funções booleanas S e C das variáveis A e B que simulem a tabela da soma numérica.
2010/2011
Sistemas Digitais - Taguspark
7
Índice 0 por se tratar do bit menos significativo correspondente ao peso 20
Mário Serafim Nunes Guilherme Silva Arroz
É fácil concluir que
E que o circuito respectivo é
2010/2011
Sistemas Digitais - Taguspark
8
Este circuito é designado por semi-somador por razões perceptíveis na continuação-
11/5/10
5
Mário Serafim Nunes Guilherme Silva Arroz
Para todos os outros bits do resultado será necessário ter conta, não só os bits dos números A e B, como também do transporte anterior.
2010/2011
Sistemas Digitais - Taguspark
9
Mário Serafim Nunes Guilherme Silva Arroz
Os mapas de Karnaugh resultantes e as expressões das funções são
2010/2011
Sistemas Digitais - Taguspark
10
11/5/10
6
Mário Serafim Nunes Guilherme Silva Arroz
Manipulando estas expressões obtém-se:
2010/2011
Sistemas Digitais - Taguspark
11
Mário Serafim Nunes Guilherme Silva Arroz 2010/2011
Sistemas Digitais - Taguspark
12
11/5/10
7
Mário Serafim Nunes Guilherme Silva Arroz
A este circuito chama-se somador completo. É agora evidente a razão da designação de
semi-somador.
2010/2011
Sistemas Digitais - Taguspark
13
Números a somar
Entrada de transporte Saída de
transporte
Soma
Mário Serafim Nunes Guilherme Silva Arroz
Um somador de n bits pode ser facilmente construído a partir de somadores de 1 bit numa perspectiva de modularidade.
2010/2011
Sistemas Digitais - Taguspark
14
11/5/10
8
Mário Serafim Nunes Guilherme Silva Arroz
O símbolo deste somador de 4 bits é o seguinte (circuito 74HCT283)
2010/2011
Sistemas Digitais - Taguspark
15
Mário Serafim Nunes Guilherme Silva Arroz
O somador construído desta forma é conhecido por somador em cascata.
Este tipo de modularidade em que se ligam em cascata módulos todos iguais, com linhas de entrada e de saída e com linhas que passam informação de um módulo para o adjacente dá origem aos denominados circuitos iterativos.
2010/2011
Sistemas Digitais - Taguspark
16
11/5/10
9
Mário Serafim Nunes Guilherme Silva Arroz
Repare-se que o módulo menos significativo poderia ser um semi-somador. No entanto esta solução facilita que dois somadores de 4 bits possam ser interligados para realizar um somador de 8 bits e por aí adiante.
2010/2011
Sistemas Digitais - Taguspark
17
Mário Serafim Nunes Guilherme Silva Arroz
Este circuito construído em cascata tem, como é natural, um tempo de reacção muito maior que um somador construído com 5 funções de 9 entradas. A vantagem é que é muito mais simples.
Há técnicas que permitem construir circuitos somadores que, não gastando tanto material como exige a abordagem de implementar independentemente as funções, não são tão lentos como o somador em cascata simples.
Não iremos abordar esse assunto, mas fica o alerta.
2010/2011
Sistemas Digitais - Taguspark
18
11/5/10
10
Mário Serafim Nunes Guilherme Silva Arroz
Tal como se projectou um circuito somador, pode ser projectado um circuito subtractor.
2010/2011
Sistemas Digitais - Taguspark
19
Mário Serafim Nunes Guilherme Silva Arroz
Como se viu quando se estudou a notação de complemento para 2, a operação A – B pode ser realizada fazendo a soma de A com –B, isto é A + (- B).
A obtenção de –B a partir de B, como se viu, faz-se realizando a operação de complemento para 2 de B.
A forma mais simples de o fazer consiste em negar todos os bits de B e somar (soma aritmética) 1.
2010/2011
Sistemas Digitais - Taguspark
20
11/5/10
11
Mário Serafim Nunes Guilherme Silva Arroz
O circuito para realizar a subtracção é o seguinte:
2010/2011
Sistemas Digitais - Taguspark
21
… a negação de B…
… mais 1.
Soma-se A com…
Mário Serafim Nunes Guilherme Silva Arroz
É possível fazer evoluir o circuito anterior para um circuito que, sob comando de uma variável de controlo, faça a soma ou a subtracção.
Para fazer isso ter-se-á de possibilitar que a entrada B seja negada (como se fez no circuito anterior) ou não (para fazer a soma).
Do mesmo modo, para fazer a soma o primeiro transporte terá de ser 0 enquanto que, para fazer a subtracção terá de ser 1.
2010/2011
Sistemas Digitais - Taguspark
22
11/5/10
12
Mário Serafim Nunes Guilherme Silva Arroz
Tendo em conta as propriedades do XOR obtem-se o circuito somador/subtractor:
2010/2011
Sistemas Digitais - Taguspark
23
M = 0 - soma M = 1 – subtracção
Mário Serafim Nunes Guilherme Silva Arroz
Um outro circuito aritmético interessante é o comparador.
O comparador compara dois números e tem três saídas das quais uma está a 1 e as outras a 0: A > B A = B A < B
A realização mais simples é a de um circuito iterativo
2010/2011
Sistemas Digitais - Taguspark
24
11/5/10
13
Mário Serafim Nunes Guilherme Silva Arroz
Um ponto importante nos circuitos iterativos é a definição das linhas entre módulos. No caso dos somadores essa linha é o transporte.
No caso dos comparadores há várias soluções possíveis mas opta-se por passar três linhas de designações óbvias A>B, A=B e A<B.
Optou-se por partir do bit mais significativo.
2010/2011
Sistemas Digitais - Taguspark
25
Mário Serafim Nunes Guilherme Silva Arroz
A primeira célula irá comparar os bits mais significativos dos dois números. Se eles forem iguais, a informação a transmitir é a de que, até àquele bit, os números não diferem (A=B) =1.
Se o bit A = 1 e B = 0, então (A>B) =1 porque então A > B.
Se o bit A = 0 e B = 1, então (A<B) =1 porque então A < B.
2010/2011
Sistemas Digitais - Taguspark
26
11/5/10
14
Mário Serafim Nunes Guilherme Silva Arroz
O módulo i irá informar o módulo i-1 que A > B se tiver sido informado disso pelo módulo mais significativo ou se sendo até ali os bits correspondentes dos dois número iguais, se verificar que A = 1 e B = 0.
Do mesmo modo é fácil de ver que
2010/2011
Sistemas Digitais - Taguspark
27
Mário Serafim Nunes Guilherme Silva Arroz
O circuito de cada módulo será, portanto
2010/2011
Sistemas Digitais - Taguspark
28
11/5/10
15
Mário Serafim Nunes Guilherme Silva Arroz
O comparador de 4 bits será, portanto
Repare-se que para o circuito funcionar bem, o primeiro módulo terá de ter nas suas entradas os valores assinalados.
Na figura exemplifica-se a comparação de A = 1100 com B = 1010.
2010/2011
Sistemas Digitais - Taguspark
29
Mário Serafim Nunes Guilherme Silva Arroz 2010/2011
Sistemas Digitais - Taguspark
30
74HCT85
11/5/10
16
Mário Serafim Nunes Guilherme Silva Arroz
Livro recomendado, Capítulo 5, secções 5.1 e 5.3; Secção 4.6
Existem muitos livros com capítulos sobre o assunto.
A Internet é, como de costume, uma fonte que, explorada com espírito crítico, tem muito para dar.
2010/2011
Sistemas Digitais - Taguspark
31