Cálculo decimal: quando as CPUs não computam em binário

quando CPUs não computam em binário

Associamos a base 2 ou código binário aos computadores que usamos diariamente, tratando-os com sinais digitais e não analógicos; no entanto, na história da computação, existiram processadores com a capacidade de operar com números de base 10 como nós. Caminho natural. Para que serve a computação decimal e quais são as características desse tipo de processador?

A computação decimal consiste em processadores com a capacidade de operar figuras na base 10, e portanto nos quais seus valores são armazenados em significantes que variam de 0 a 9 em vez de 0 a 1. Apesar de o sistema de representação Binário ser bom o suficiente para o tarefas do dia a dia, nem sempre é assim e há aplicações em que é necessário que um processador possa operar na base 10.

Por que a computação decimal é necessária?

Computação financeira decimal

No caso da computação decimal, o mesmo acontece com a computação científica, onde unidades de ponto flutuante de 64 bits são necessárias, uma vez que menos uso pode dar resultados imprecisos com consequências catastróficas tanto economicamente quanto no campo da experimentação.

No campo do hardware, quanto mais complexa é uma representação em termos de número de transistores para representá-la, também é complexo operar com ela. É por isso que quando falamos de um sistema de precisão específico, sistemas de representação numérica mais precisos são usados ​​em computadores para representar e operar esses valores para ter a precisão necessária.

Servicios finncieros computación decimal

Pois bem, existe uma série de aplicações, principalmente relacionadas a finanças, e-commerce e alguns web services que processam dados que requerem a precisão de uma unidade que é capaz de trabalhar diretamente com valores decimais, seja em ponto flutuante ou em inteiros. E você deve ter adivinhado que devido aos mercados para essas mesmas aplicações, estamos falando de setores muito específicos que usam CPUs para servidores.

Quais são as limitações do sistema binário? Se tomarmos o sistema de ponto flutuante binário convencional, veremos que, por exemplo, se quisermos representar algo tão simples como 0.1 em binário, precisaremos de uma fração binária recorrente que tende ao infinito. Por outro lado, se o fizermos com um sistema decimal, podemos representá-lo como uma fração simples de 1/10. Pense por um momento o que aconteceria no mercado financeiro se por falta de precisão os números não batessem.

Binário e decimal na mesma CPU

Renderização da CPU

A computação decimal pura não ocorre nos processadores hoje, nem mesmo na escala do servidor. Isso ocorre porque a base na qual um computador opera define muito bem a maneira como não apenas suas unidades de execução processam os dados, mas também como as instruções são decodificadas e como o sistema RAM a memória é acessada. Em outras palavras, estaríamos diante de um sistema completamente diferente e cujo código não seria compatível de forma alguma.

É por isso que, por padrão, as seguintes regras foram atribuídas para combinar o poder de trabalhar em binário e decimal:

  • A codificação das instruções é sempre feita em binário
  • Os dados são armazenados em binário ou decimal, conforme necessário.
  • Cada tipo de dado na base ou tipo, ponto flutuante ou inteiro, é operado por um tipo diferente de unidade.
  • O endereçamento da memória é sempre feito em binário, para evitar conflitos de acesso e que a CPU tenha que trabalhar com dois espaços diferentes.

Isso é feito para ter uma unidade de controle universal, encarregada de capturar e decodificar as instruções. Afinal, o que nos interessa é poder operar com números na base 10 e não como.

Sistema binário

Aos poucos o sistema binário começou a ser padronizado nos processadores de computador por ser o mais simples e fácil de implementar, pois requeria menos transistores. Isso relegou o uso da computação decimal a unidades especificamente especializadas projetadas para operar dessa forma ou a simples instruções de conversão de dados binários em decimais.

Em outras palavras, os computadores podem operar com números decimais e até conceitos mais abstratos, como números complexos e imaginários. Claro, fazer um processador que funciona em binário requer muito menos complicações do que fazer um decimal a partir do zero. E é que os sistemas mais bem projetados escalam desde o mais simples, que nada mais é do que trabalhar em binário.

Não disponível em tablets ou PC

Tablet de finanças

Unidades decimais não têm sido comuns nas CPUs de PC que usamos em nosso dia a dia, mas em uma grande variedade de setores é necessário usar unidades capazes de trabalhar em base 10 em alta velocidade para realizar seus cálculos. Na verdade, os primeiros computadores foram projetados para trabalhar com números decimais, pois ainda não eram digitais, mas analógicos, e eram as versões eletrônicas das primeiras calculadoras mecânicas.

Atualmente não CPU arquitetura com ISA ARM e x86 têm o hardware que permite operar nativamente com números de base 10, mas incluem algumas instruções que permitem a conversão de dados escritos em decimal em binário com uma compensação e que é a perda de precisão dos dados, então os processadores x86 nós O uso em nossos PCs não é válido para determinados aplicativos e determinados mercados.

Como isso é possível se muitas pessoas no PC trabalham com aplicativos de contabilidade, por exemplo, diariamente? A explicação é que o nível de precisão de que necessitam para funcionar não requer uma unidade que opere diretamente com decimais e esses aplicativos utilizam as instruções de conversão do ISA do PC e do tablet para realizar seu trabalho.

IBM é a rainha da computação decimal

ibm power10

A empresa mais antiga do mundo do hardware não é Intel, mas IBM. Empresa histórica no mundo da computação que desde a década de 1950 sempre teve grandes contratos com os grandes bancos dos Estados Unidos. Desde então, seus mainframes com capacidade de operar com números decimais carregavam lançamentos contábeis e diversas operações bancárias e financeiras, todas elas operavam em uma base 10.

É por isso que os processadores planejados do gigante azul original para uso comercial em grande escala incluem unidades especializadas para computação decimal ainda hoje. Sem ir mais longe, os processadores POWER das últimas gerações incluíram uma unidade com capacidade para trabalhar com decimais, e sem sair das International Business Machines temos os seus System Z10 que constituem uma unidade deste tipo.

Assim, o sistema bancário e financeiro da Europa e dos Estados Unidos tornou-se um mercado extremamente lucrativo para a gigante azul nas últimas décadas, um caso muito semelhante ao da Fujitsu no Japão que, com seus processadores ISA SP ARC, inventados pela Sun Microsystems, tem sido a rainha por anos nas margens do país japonês e continua a sê-lo até hoje.