sd 10 - circuitos aritméticos 10... · 11/5/10 1 mário serafim nunes guilherme silva arroz...

16
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.

Upload: hathien

Post on 17-Dec-2018

218 views

Category:

Documents


0 download

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