Comparadores e ALUs: Fundamentos em Sistemas Digitais
Tutorial: Somadores e Subtratores com Complemento de 2
Este tutorial tem como foco os somadoresCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. (meio somador e somador completo
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação.) e a implementação de subtratores
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. usando o complemento de 2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.. A ideia é explicar, de maneira narrativa e acessível, como esses circuitos funcionam e por que são tão importantes em sistemas digitais.
Visão Geral🔗
Os sistemas digitais lidam constantemente com operações de adição e subtração de dados. Por exemplo:
- Em um microcontrolador
Microcontroladores e Microprocessadores: Diferenças e Aplicações PráticasDescubra as principais diferenças, arquiteturas e aplicações de microcontroladores e microprocessadores para projetos digitais modernos. que soma valores lidos de sensores.
- Em um computador realizando operações aritméticas em sua Unidade Lógica e Aritmética (ALU).
Para possibilitar essas operações, utilizamos circuitos combinacionaisFerramentas de Simulação: Simulação prática: construção e teste de circuitos combinacionaisAprenda a simular circuitos combinacionais com ferramentas como Logisim, Proteus e Multisim. Teste, valide e otimize seus projetos digitais. Confira! especializados. A seguir, veremos como construir e entender:
- O Meio Somador
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. (Half Adder
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação.).
- O Somador Completo
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. (Full Adder
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação.).
- O uso do Complemento de 2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias. para realizar subtrações.
Meio Somador (Half Adder)🔗
Definição: O Meio SomadorCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. é o bloco mais simples para a soma de dois bits. Ele produz dois sinais de saída:
1. Soma (S)
2. Carry (ou “vai-um”, que indicará se houve excedente para o próximo bitSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos.)
Tabela-Verdade do Meio Somador
A | B | S (Soma) | C (Carry) |
---|---|---|---|
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
- A saída S é 1 quando somente um dos bits
Sistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de entrada é 1 (função XOR).
- A saída C é 1 quando ambos os bits
Sistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de entrada são 1 (função AND).
Expressões Booleanas
Podemos representar as saídas com expressões lógicas:
- Soma (S):
S = A \oplus B
\]- Carry (C):
C = A \cdot B
\]Em notação booleana simplificada, às vezes encontramos:
- \( S = A \oplus B \)
- \( C = A \wedge B \)
Somador Completo (Full Adder)🔗
Definição: O Somador CompletoCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. permite somar três bits de uma só vez: dois bits
Sistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de dados e mais o “carry in” que pode vir de um estágio anterior. Ele produz dois sinais de saída:
1. Soma (S)
2. Carry Out (Cout)
Entrada: Três bitsSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. (A, B e Cin).
Tabela-Verdade do Somador Completo
A | B | Cin | S (Soma) | Cout |
---|---|---|---|---|
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 |
Construção a partir de Dois Meio Somadores
Uma maneira didática de entender o Somador CompletoCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. é construí-lo a partir de dois Meio Somadores
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. e uma porta OR adicional para combinar os "carrys":
1. Use um Meio SomadorCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. para somar A e B, gerando uma soma parcial (S1) e um carry parcial (C1
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.).
2. Some a soma parcial (S1) com Cin em outro Meio SomadorCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação., obtendo a S final e mais um carry parcial (C2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.).
3. Combine C1 e C2Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias. (OR) para obter o carry out (Cout).
Expressões Booleanas
- Para a Soma (S):
S = (A \oplus B) \oplus C_{in}
\]- Para o Carry Out (C_{out}):
C_{out} = (A \cdot B) \;+\; (A \oplus B) \cdot C_{in}
\]Subtratores utilizando Complemento de 2🔗
Conceito de Subtração em Binário
Para subtrair um número binário de outro, podemos recorrer à lógica de somadoresCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. e usar o complemento de 2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.. A relação é a seguinte:
1. Invertemos todos os bitsSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de B (isso gera o complemento de 1
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.).
2. Somamos 1 ao resultado (obtemos o complemento de 2Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias.).
Por exemplo, se queremos subtrair \( B \) de \( A \) (ambos com n bitsSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos.):
2. Some \( B' + 1 \).
3. Some então \( A + (B' + 1) \), usando um somadorCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação..
4. O resultado dessa soma é equivalente a \( A - B \).
Implementação em Circuito
Em circuitos combinacionaisFerramentas de Simulação: Simulação prática: construção e teste de circuitos combinacionaisAprenda a simular circuitos combinacionais com ferramentas como Logisim, Proteus e Multisim. Teste, valide e otimize seus projetos digitais. Confira!, podemos aproveitar a estrutura de um somador completo
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. de n bits
Sistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos.. Para subtrair um valor, fazemos:
1. Inversão dos bitsSistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de B: passe cada bit de B por portas NOT
Portas Lógicas Fundamentais: AND, OR, NOT, NAND, NOR, XOR e XNORDescubra as funções das portas lógicas (AND, OR, NOT, NAND, NOR, XOR, XNOR) por meio de exemplos e tabelas-verdade para eletrônica digital..
2. Entrada de Carry In igual a 1 na posição menos significativa (LSB), para adicionar o “+1” que falta.
3. A soma resultante no barramento de saída representará \( A - B \), se considerarmos complemento de 2Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias..
Considerações Finais🔗
- Somadores
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. são blocos fundamentais na construção de qualquer dispositivo que realize operações aritméticas: desde contadores
Registradores e Contadores: Contadores síncronos e assíncronos: sequências personalizadasAprenda as diferenças entre contadores assíncronos e síncronos, e descubra como utilizar sequências personalizadas para otimizar sistemas digitais. simples até grandes processadores.
- O Meio Somador
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. lida apenas com dois bits
Sistemas de Numeração e Conversão: Binário, Decimal, Octal e HexadecimalAprenda conversões de sistemas numéricos em eletrônica digital. Descubra métodos para converter entre decimal, binário, octal e hexadecimal com exemplos. de entrada e não considera carry in. Já o Somador Completo
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. gerencia também o carry in, o que possibilita somas em cadeia para palavras
Introdução à Eletrônica Digital: Conceitos básicos: bits, bytes, palavras, sinais de clock e sua importânciaDomine fundamentos da eletrônica digital: bits, bytes, palavras e clock que impulsionam o desempenho e eficiência de sistemas modernos. (bytes, words, etc.) de maior tamanho.
- A subtração em binário geralmente é tratada como soma com o complemento de 2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias., pois isso simplifica muito a implementação de hardware.
Esses conhecimentos são a base para Avançar em circuitos aritméticos mais complexos, como unidades lógico-aritméticas (ALUsCircuitos Combinacionais: Comparadores de magnitude e unidades lógicas/aritméticas (ALUs) básicasExplore o funcionamento dos comparadores de magnitude e ALUs, componentes essenciais em circuitos combinacionais. Descubra suas aplicações em sistemas digitais) e processadores inteiros. Entender bem Meio Somador
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação., Somador Completo
Circuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. e Complemento de 2
Sistemas de Numeração e Códigos: Representação de números negativos: complemento de 1 e complemento de 2Aprenda a representar números negativos em sistemas digitais utilizando os métodos de Complemento de 1 e Complemento de 2, essenciais para operações binárias. forma o alicerce para quem deseja projetar ou analisar sistemas digitais de maior complexidade.
Próximo passo? Praticar a montagem de um somador/subtratorCircuitos Combinacionais: Somadores, Subtratores e MultiplexadoresExplore as funções essenciais dos circuitos combinacionais, abrangendo somadores, subtratores e multiplexadores, e aprenda seus princípios de operação. em um simulador (ex.: Logisim, Proteus), testando diferentes valores de entrada para verificar o comportamento do circuito. Assim, fica mais claro o poder e a utilidade desses conceitos no desenvolvimento de sistemas digitais.
Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.
Referências🔗
- Ben Eater: www.youtube.com/c/BenEater
- Hub de Eletrônica: www.electronicshub.org
- Stack Exchange de Eletrônica: electronics.stackexchange.com
- Tudo Sobre Circuitos: www.allaboutcircuits.com
- Tutoriais de Eletrônica: www.electronics-tutorials.ws