Circuito aritmético: diferenças entre revisões
+refs. |
|||
(Há 38 revisões intermédias de 26 utilizadores que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
{{Mais fontes|data=dezembro de 2020}} |
|||
'''Circuito Aritmético''' é um tipo de [[circuito eletrônico| |
'''Circuito Aritmético''' é um tipo de [[circuito eletrônico|circuito]] combinatório que executa operações de subtração, adição, multiplicação, divisão, operações lógicas (and/or) ou qualquer outra função que possa ser implementada em um circuito combinatório. |
||
São chamadas de ULA (unidade lógica aritmética) ou ALU do inglês. |
|||
São chamadas de ULA (unidade lógica aritmética) ou ALU do inglês.<ref>{{citar web|url=http://paginapessoal.utfpr.edu.br/nikolaslibert/et52c/slides/Aula%2008%20-%20Circuitos%20Aritmeticos.pdf/at_download/file|título=Circuito Aritmético|publicado=Universidade Tecnológica Federal do Paraná|autor=Nikolas Libert|acessodata=1 de dezembro de 2020|língua=português}}</ref><ref name="Burgess_2011">{{citar web|título=Fast Ripple-Carry Adders in Standard-Cell CMOS VLSI|autor=Neil Burgess|páginas=103–111|data=2011|url=http://ieeexplore.ieee.org/Xplore/login.jsp?url=https%3A%2F%2Frp.liu233w.com%3A443%2Fhttp%2Fieeexplore.ieee.org%2Fiel5%2F5991607%2F5992089%2F05992115.pdf%3Farnumber%3D5992115&authDecision=-203|acessodata=1 de dezembro de 2020|língua=inglês}}</ref> |
|||
==Circuito Somador== |
== Circuito Somador == |
||
⚫ | '''Adição Binária''' é a operação mais simples de Circuitos Aritméticos. A adição binária (0 1) é executada da mesma forma que a decimal (0 1 2 3 4 5 6 7 8 9), inclusive no "vai um" (Carry Out, de saída, e Carry In, de entrada) como pode ser entendida no exemplo dado abaixo. Quando somamos dois números binários começamos pela coluna menos significativa e continuamos na ordem crescente de significatividade (analogamente aos números decimais, em que começamos com a unidade e continuamos com a dezena, centena, e assim por diante). |
||
⚫ | |||
'''Adição Binária''' |
|||
⚫ | é a operação mais simples de |
||
<math>0+0=0</math> |
<math>0+0=0</math> |
||
Linha 13: | Linha 14: | ||
<math>1+0=1</math> |
<math>1+0=1</math> |
||
<math>1+1=10</math> e "vai" 1 |
<math>1+1=10</math> (0 e "vai" 1) |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
<table border="1" cellpadding="10"> |
<table border="1" cellpadding="10"> |
||
<caption>'''Meio Somador'''</caption> |
<caption>'''Meio Somador'''</caption> |
||
Linha 33: | Linha 30: | ||
</table> |
</table> |
||
⚫ | |||
⚫ | O circuito Meio Somador tem este nome porque não leva em consideração os resultados de somas menos significativas. Para casos em que a entrada menos significativa (denominada carry) seja considerada, usamos a denominação de circuitos de Somador Completo. Esses circuitos executam a soma dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este somador tem as mesmas saídas do Meio Somador (Soma e Carry). |
||
⚫ | |||
⚫ | O circuito Meio Somador tem este nome porque |
||
[[Imagem:Meio_-_Somador.JPG |thumb| Bloco Meio Somador]] |
[[Imagem:Meio_-_Somador.JPG |thumb| Bloco Meio Somador]] |
||
⚫ | |||
⚫ | |||
[[Imagem:Somador_Completo.JPG |thumb| Bloco Somador Completo]] |
[[Imagem:Somador_Completo.JPG |thumb| Bloco Somador Completo]] |
||
O Somador Completo como citado acima possui Carry In. Ele é utilizado para somar números de pelo menos 2 casas. Isso é possível Cascateando um |
O Somador Completo como citado acima possui Carry In. Ele é utilizado para somar números de pelo menos 2 casas. Isso é possível Cascateando um semi-Somador com Somadores Completos. |
||
<table border="1" cellpadding="10"> |
<table border="1" cellpadding="10"> |
||
<caption>'''Somador Completo'''</caption> |
<caption>'''Somador Completo'''</caption> |
||
Linha 60: | Linha 53: | ||
</table> |
</table> |
||
As expressões 'X' e 'Y' são os valores de entrada. |
As expressões 'X' e 'Y' são os valores de entrada. 'C' é o Carry In ("vai um" do bit anterior). 'A' é o "vai um" para o próximo bit e expressa uma operação '(X and Y) or (X and C) or (Y and C)'. 'S' é o bit menos significativo da soma e expressa a operação XOR entre X e Y. |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
<math>0-0=0</math> |
<math>0-0=0</math> |
||
Linha 74: | Linha 67: | ||
<math>1-0=1</math> |
<math>1-0=1</math> |
||
<math>1-1=0</math> |
<math>1-1=0</math> |
||
⚫ | |||
⚫ | |||
⚫ | O circuito subtrator é o circuito que executa a subtração binária, porém este tipo de circuito não possui o Carry In (apesar de ter Carry Out). É utilizado para subtrações de apenas dois bits ou inícios de cascateamento de circuitos subtratores completos. O circuito Meio Subtrator consiste em 2 entradas e 2 saídas. Podemos designar as 2 entradas pelos 2 bits a serem de entrada que serão subtraídos e as 2 saídas que são a Subtração e o Carry Out. |
||
⚫ | |||
⚫ | |||
⚫ | O circuito |
||
⚫ | |||
<table border="1" cellpadding="10"> |
<table border="1" cellpadding="10"> |
||
<caption>'''Meio Subtrator'''</caption> |
<caption>'''Meio Subtrator'''</caption> |
||
Linha 91: | Linha 82: | ||
<tr><th>1</th><th>1</th><th>0</th><th>0</th></tr> |
<tr><th>1</th><th>1</th><th>0</th><th>0</th></tr> |
||
</table> |
</table> |
||
⚫ | |||
⚫ | |||
⚫ | O circuito Meio Subtrator tem este nome porque ele não leva em consideração os resultados de subtração menos |
||
⚫ | O circuito Meio Subtrator tem este nome porque ele não leva em consideração os resultados de subtração menos significativas igual no Meio Somador. Para casos em que a entrada menos significativa, denominada carry seja considerada, usamos a denominação de circuitos de Subtrator Completo. Esses circuitos executam a subtração dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este subtrator tem as mesmas saídas do Meio Subtrator, (Subtração e Carry). |
||
===Subtrador Completo=== |
|||
O Subtrator Completo como citado acima possui Carry |
=== Subtrator Completo === |
||
O Subtrator Completo como citado acima possui Carry In. Ele é utilizado para subtrair números de pelo menos 2 casas. Isso é possível Cascateando um Meio-Subtrator com Subtradores Completos. |
|||
<table border="1" cellpadding="10"> |
<table border="1" cellpadding="10"> |
||
<caption>'''Subtrador Completo'''</caption> |
<caption>'''Subtrador Completo'''</caption> |
||
Linha 114: | Linha 103: | ||
</table> |
</table> |
||
As expressões 'X' e 'Y' são os valores de entrada. |
As expressões 'X' e 'Y' são os valores de entrada. 'C' expressa o Carry In ("empréstimo" do bit anterior). 'A' é o "empréstimo" para o próximo bit e expressa uma operação '(¬X and Y) or (¬X and C) or (Y and C)'. 'S' é o bit menos significativo da diferença e expressa a operação XOR entre X, Y e C. |
||
⚫ | |||
⚫ | |||
⚫ | |||
VLW E FLWS |
|||
⚫ | |||
⚫ | |||
⚫ | |||
{{Referências}} |
|||
{{Controle de autoridade}} |
|||
{{esboço-eletrônica}} |
{{esboço-eletrônica}} |
||
[[Categoria:Eletrônica digital]] |
[[Categoria:Eletrônica digital]] |
||
{{seminterwiki}} |
Edição atual tal como às 21h43min de 1 de dezembro de 2020
Circuito Aritmético é um tipo de circuito combinatório que executa operações de subtração, adição, multiplicação, divisão, operações lógicas (and/or) ou qualquer outra função que possa ser implementada em um circuito combinatório. São chamadas de ULA (unidade lógica aritmética) ou ALU do inglês.[1][2]
Circuito Somador
[editar | editar código-fonte]Adição Binária é a operação mais simples de Circuitos Aritméticos. A adição binária (0 1) é executada da mesma forma que a decimal (0 1 2 3 4 5 6 7 8 9), inclusive no "vai um" (Carry Out, de saída, e Carry In, de entrada) como pode ser entendida no exemplo dado abaixo. Quando somamos dois números binários começamos pela coluna menos significativa e continuamos na ordem crescente de significatividade (analogamente aos números decimais, em que começamos com a unidade e continuamos com a dezena, centena, e assim por diante).
Aqui podemos ver uma adição de 2 bits que acaba resultando em 4 possibilidades.
(0 e "vai" 1)
Meio Somador
[editar | editar código-fonte]O circuito combinacional que executa a soma de 2 bits é denominado de semi-Somador. O circuito semi-Somador consiste em 2 entradas e 2 saídas. Podemos designar as 2 entradas pelos 2 bits a serem de entrada que serão somados e as 2 saídas que são a Soma.
Abaixo temos a tabela verdade de um Circuito semi-Somador:
X | Y | S | A |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
As expressões 'X' e 'Y' são os valores de entrada. 'A' é o "vai um" e expressa uma operação AND entre X e Y. 'S' é o bit menos significativo da soma e expressa a operação XOR entre X e Y.
O circuito Meio Somador tem este nome porque não leva em consideração os resultados de somas menos significativas. Para casos em que a entrada menos significativa (denominada carry) seja considerada, usamos a denominação de circuitos de Somador Completo. Esses circuitos executam a soma dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este somador tem as mesmas saídas do Meio Somador (Soma e Carry).
Somador Completo
[editar | editar código-fonte]O Somador Completo como citado acima possui Carry In. Ele é utilizado para somar números de pelo menos 2 casas. Isso é possível Cascateando um semi-Somador com Somadores Completos.
X | Y | C | S | A |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
As expressões 'X' e 'Y' são os valores de entrada. 'C' é o Carry In ("vai um" do bit anterior). 'A' é o "vai um" para o próximo bit e expressa uma operação '(X and Y) or (X and C) or (Y and C)'. 'S' é o bit menos significativo da soma e expressa a operação XOR entre X e Y.
Circuito Subtrator
[editar | editar código-fonte]Subtração Binária
[editar | editar código-fonte]Na subtração procede-se da mesma maneira que na subtração decimal, porém o "vai um" é colocado no algarismo de baixo.
Aqui podemos ver uma subtração de 2 bits que acaba resultando em 4 possibilidades.
e "empresta" 1
Meio Subtrator
[editar | editar código-fonte]O circuito subtrator é o circuito que executa a subtração binária, porém este tipo de circuito não possui o Carry In (apesar de ter Carry Out). É utilizado para subtrações de apenas dois bits ou inícios de cascateamento de circuitos subtratores completos. O circuito Meio Subtrator consiste em 2 entradas e 2 saídas. Podemos designar as 2 entradas pelos 2 bits a serem de entrada que serão subtraídos e as 2 saídas que são a Subtração e o Carry Out.
Abaixo temos a tabela verdade de um Circuito Meio Subtrator:
X | Y | S | A |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 0 |
As expressões 'X' e 'Y' são os valores de entrada. 'A' é o "empréstimo" e expressa uma operação AND entre X e Y com a entrada X negada (¬X). 'S' é o bit menos significativo da diferença e expressa a operação XOR entre X e Y.
O circuito Meio Subtrator tem este nome porque ele não leva em consideração os resultados de subtração menos significativas igual no Meio Somador. Para casos em que a entrada menos significativa, denominada carry seja considerada, usamos a denominação de circuitos de Subtrator Completo. Esses circuitos executam a subtração dos 2 bits levando em consideração as entradas menos significativas de bit de carry. Este subtrator tem as mesmas saídas do Meio Subtrator, (Subtração e Carry).
Subtrator Completo
[editar | editar código-fonte]O Subtrator Completo como citado acima possui Carry In. Ele é utilizado para subtrair números de pelo menos 2 casas. Isso é possível Cascateando um Meio-Subtrator com Subtradores Completos.
X | Y | C | S | A |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
As expressões 'X' e 'Y' são os valores de entrada. 'C' expressa o Carry In ("empréstimo" do bit anterior). 'A' é o "empréstimo" para o próximo bit e expressa uma operação '(¬X and Y) or (¬X and C) or (Y and C)'. 'S' é o bit menos significativo da diferença e expressa a operação XOR entre X, Y e C.
Somadores de Palavras Binárias 2 bits
[editar | editar código-fonte]A soma de palavras binárias necessita ‘N’ somadores inteiros estejam em paralelo sendo que as palavras possuem ‘N’ bits.
O somador para duas palavras binárias que possua "n" bits é formado pela ligação de "N" somadores completos sendo que o "vai um" de uma posiçao é usado como o "vem um" da esquerda da posição seguinte. O "vem um" da direita será aterrado.
Referências
- ↑ Nikolas Libert. «Circuito Aritmético» (PDF). Universidade Tecnológica Federal do Paraná. Consultado em 1 de dezembro de 2020
- ↑ Neil Burgess (2011). «Fast Ripple-Carry Adders in Standard-Cell CMOS VLSI» (PDF) (em inglês). pp. 103–111. Consultado em 1 de dezembro de 2020