| Módulo IV - Aritmética do Complemento de dois | pag. 4/5 | ||||||||||||||||||||||||
|
Na seção anterior, você viu que números com sinal são representados em microprocessadores em complemento de dois. Nesta seção você verá a razão. Na eletrônica digital de dispositivos tais como computadores, circuitos simples custam menos e operam mais rápido do que circuitos mais complexos. Logo números em complementos de dois são usados na aritmética pois eles permitem os circuitos mais simples, baratos e rápidos.
Observe o exemplo anterior. Se você assumir que as entradas são números com sinal em complemento de dois, então:
Isto comprova um ponto muito importante. O somador na ALU sempre soma padrões de bits como se eles fossem números binários sem sinal. É a nossa interpretação destes padrões que decide se números com ou sem sinal estão sendo indicados. O bom do complemento de dois é que os padrões de bits podem ser interpretados de qualquer maneira. Isto nos permite trabalhar como números com e sem sinal sem requerer diferentes circuitos para cada padrão. A aritmética de complemento de dois também simplifica a ALU em outro ponto. Todo o microprocessador tem uma instrução de subtração. Assim, a ALU deve ser capacitada a subtrair um número de outro. Entretanto, se isto necessitar de um circuito de subtração separado, a complexidade e o custo da ALU seria aumentado. Felizmente, a aritmética de complemento de dois permite a ALU, realizar operações de subtração usando um circuito somador. Ou seja, a CPU usa o mesmo circuito tanto para soma como para subtração. A CPU realiza a subtração por processo de adição binária. Para ver como isto funciona, será útil estudar um processo similar com o sistema numérico decimal. O equivalente decimal do complemento de dois é chamado complemento de dez. Desde que você está mais familiarizado com o sistema numérico decimal, examinaremos conjuntamente a aritmética do complemento de dez. SUBTRAÇÃO EM COMPLEMENTO DE DOIS Como na aritmética de complemento de dez, você pode formar o complemento de dois subtraindo o número de uma potência da base (dois). Entretanto, como a CPU não pode subtrair diretamente, ela usa o método dado anteriormente para achar o complemento de dois. Uma vez que o complemento de dois foi formado, a CPU pode realizar uma subtração indiretamente pela adição do complemento de dois do Subtraendo com Minuendo.
Enquanto este método funciona muito bem no papel, ele é de pouca utilidade para o microprocessador desde que a CPU não tem circuitaria de subtração. Entretanto a CPU pode realizar subtração pelo método indireto de adicionar o complemento de dois do subtraendo ao minuendo. Jogue fora o transporte
final Isto ilustra o principal motivo para o uso do sistema do complemento de dois para representar números com sinal. Ele permite a CPU realizar subtração e adição com o mesmo circuito.O método que a CPU usa para realizar subtração é de pouca importância para o uso de microprocessadores. A maioria dos microprocessadores tem uma instrução de subtração. Esta instrução é usada como qualquer outra sem preocupação de como ela é realizada internamente. Quando a subtração é implementada, a CPU automaticamente toma conta de operações como complementar o subtraendo, adição e desprezar o transporte. O procedimento foi explicado aqui apenas para você entender a importância da aritmética do complemento de dois. ARITMÉTICA DE NÚMEROS COM SINAL Existem muitas aplicações nas quais o microprocessador deve trabalhar com números com sinal. Nestes casos, eles são representados na forma de complemento de dois. Enquanto isto simplifica grandemente a circuitaria da CPU, força um trabalho extra ao programador que deve se assegurar que todos os números com sinal são colocados no microcomputador em complemento de dois. Também, os dados resultantes produzidos pela CPU devem ser em complemento de dois. Mostraremos como a CPU de 8 bits manipula números com sinal. Assuma que a CPU vai somar dois números positivos +7 e +3. Como uma CPU de 8 bits está sendo suposta, a operação aritmética será:
Enquanto esta operação parece suficientemente direta,
é fácil cometer um erro quando se soma números positivos.
Lembre-se que o maior número positivo que se pode representar em
complemento de dois é +12710. Se a soma exceder este
valor, um erro ocorre.
O ponto positivo do sistema de complemento de dois é ilustrado quando você soma números com sinais diferentes. Por exemplo, assuma que um microprocessador de 8 bits vai somar +7 e -3. Lembre-se que desde que estes são números com sinal eles devem ser representados em complemento de dois. Ou seja, +7 é representado por 000001112 enquanto -3 é representado por 111111012.
O último caso envolve dois números negativos. Se ambos os números são negativos, então a soma deve ser negativa. Por exemplo, suponha a CPU somando -3 e -4. Obviamente o resultado deve ser -7. Os dois números com sinal devem ser representados em complemento de dois. Ou seja; -3 deve ser representado como 111111012 enquanto -4 deve ser representado como 111111002. A CPU soma estes dois padrões de bits como se eles fossem números binários sem sinal. Assim, o resultado é:
|
|||||||||||||||||||||||||
| |
ICEA/EAD
© 2005 |