Por que não temos CPUs de 128 bits

Passamos de 8 bits para 16 bits, para 32 bits e terminamos em 64 bits. Veja por que não existem CPUs de 128 bits.

Entre as palavras do vocabulário de informática, bit é certamente uma das mais conhecidas. Gerações inteiras de consoles de videogame e seus estilos de arte pixelados são definidos por bits (como 8 e 16 bits) e muitos aplicativos oferecem versões de 32 e 64 bits.

Se você observar esse histórico, verá que nossa capacidade de lidar com bits aumentou ao longo dos anos. No entanto, embora os chips de 64 bits tenham sido introduzidos pela primeira vez na década de 90 e se tornassem populares na década de 2000, nós ainda não tenho CPUs de 128 bits. Embora 128 possa parecer um passo natural depois de 64, é qualquer coisa mas.

O que é um pouco?

Antes de falar sobre por que não existem CPUs de 128 bits, precisamos falar sobre o que é um bit par. Essencialmente, refere-se às capacidades da CPU. Formado pelas palavras binário e dígito, é a menor unidade da computação e o ponto de partida de toda programação. Um bit só pode ser definido como 1 ou 0 (portanto, binário), embora esses números possam ser interpretados como verdadeiros ou falsos, ativados ou desativados e até mesmo como um sinal de mais ou de menos.

Por si só, um único bit não é muito útil, mas usar mais bits é uma história diferente porque uma combinação de uns e zeros pode ser definida como algo, como um número, letra ou outro caractere. Para computação de 128 bits, estamos interessados ​​apenas em números inteiros (números que não possuem ponto decimal), e quanto mais bits houver, mais números um processador pode definir. Ele usa uma fórmula 2 ^ x bastante simples, com x sendo quantos bits existem. Na computação de 4 bits, o maior número inteiro que você pode contar é 15, que é um número menor que o 16 fornecido pela fórmula, mas os programadores começam a contar a partir de 0 e não de 1.

Se 4 bits podem armazenar apenas 16 números inteiros diferentes, então pode não parecer que ir para 8 ou 32 ou mesmo 128 bits seria um grande negócio. Mas estamos lidando com números exponenciais aqui, o que significa que as coisas começam devagar, mas depois decolam muito rapidamente. Para demonstrar isso, aqui está uma pequena tabela que mostra os maiores números inteiros que você pode calcular em binário de 1 a 128 bits.

Pedaço

Número inteiro máximo

1 bit

1

2 bits

3

4 bits

15

8 bits

255

16 bits

65,535

32 bits

4,294,967,295

64 bits

18,446,744,073,709,551,615

128 bits

340,282,366,920,938,463,463,374,607,431,768,211,455

Então agora você provavelmente pode ver por que dobrar a quantidade de bits resulta na capacidade de lidar com números que não apenas dobram de tamanho, mas são ordens de magnitude maiores. No entanto, embora a computação de 128 bits nos permita trabalhar com números muito maiores do que a computação de 64 bits, ainda não a utilizamos.

Como passamos de 1 bit para 64 bits

Fonte: AMD

Está bem claro por que as CPUs passaram de 1 bit para mais bits: queríamos que nossos computadores fizessem mais coisas. Não há muito que você possa fazer com um, dois ou quatro bits, mas na marca dos 8 bits, máquinas de fliperama, consoles de jogos e computadores domésticos tornaram-se viáveis. Com o tempo, os processadores ficaram mais baratos e fisicamente menores, portanto, adicionar o hardware necessário para aumentar o número de bits que a CPU poderia suportar foi um movimento bastante natural.

A natureza exponencial dos bits torna-se aparente muito rapidamente quando comparamos consoles de 16 bits como o SNES e o Sega Genesis com seus antecessores de 8 bits, principalmente o NES. Super Mário Bros 3 foi um dos jogos mais complexos do NES em termos de mecânica e gráficos, e foi completamente ofuscado por Super Mário Mundo, que foi lançado apenas dois anos depois (embora as melhorias na tecnologia GPU também tenham sido um fator chave aqui).

Ainda não temos CPUs de 128 bits, embora já tenham se passado quase três décadas desde que os primeiros chips de 64 bits chegaram ao mercado.

Não se trata apenas de videogames; praticamente tudo estava melhorando com mais bits. Passar de 256 números em 8 bits para 65.356 números em 16 bits significou rastrear o tempo com mais precisão, mostrar mais cores nos monitores e endereçar arquivos maiores. Esteja você usando o computador pessoal da IBM, equipado com a CPU 8088 de 8 bits da Intel, ou construindo um servidor para uma empresa que está pronta para ficar on-line, mais bits são melhores.

A indústria mudou rapidamente de 16 bits para 32 bits e, finalmente, para a computação de 64 bits, que se tornou popular no final dos anos 90 e início dos anos 2000. Algumas das primeiras CPUs de 64 bits mais importantes foram encontradas no Nintendo 64 e em computadores equipados com Athlon 64 e Opteron da AMD. CPUs. No lado do software, 64 bits começaram a receber suporte convencional de sistemas operacionais como Linux e Windows no início Década de 2000. Porém, nem todas as tentativas de computação de 64 bits foram bem-sucedidas; As CPUs de servidor Itanium da Intel foram uma falha de alto perfil e são alguns dos piores processadores da empresa de todos os tempos.

Hoje, as CPUs de 64 bits estão por toda parte, de smartphones a PCs e servidores. Chips com menos bits ainda são fabricados e podem ser desejáveis ​​para aplicações específicas que não lidam com números maiores, mas são bastante específicos. No entanto, ainda não temos CPUs de 128 bits, embora já tenham se passado quase três décadas desde que os primeiros chips de 64 bits chegaram ao mercado.

A computação de 128 bits está procurando um problema para resolver

Você pode pensar que 128 bits não é viável porque é difícil ou mesmo impossível de fazer, mas na verdade não é o caso. Muitas peças em processadores, CPUs e outros, são de 128 bits ou maiores, como barramentos de memória em GPUs e SIMDs em CPUs que habilitam instruções AVX. Estamos falando especificamente sobre a capacidade de lidar com números inteiros de 128 bits e, embora protótipos de CPU de 128 bits tenham sido criados em laboratórios de pesquisa, nenhuma empresa lançou realmente uma CPU de 128 bits. A resposta pode ser anticlimática: uma CPU de 128 bits simplesmente não é muito útil.

Uma CPU de 64 bits pode lidar com mais de 18 quintilhões de números exclusivos, de 0 a 18.446.744.073.709.551.615. Por outro lado, uma CPU de 128 bits seria capaz de lidar com mais de 340 undecilhões de números, e garanto que você nunca viu “undecilhões” em toda a sua vida. Encontrar um uso para calcular números com tantos zeros é bastante desafiador, mesmo se você estiver usando um dos os bits para assinar o número inteiro, que teria seu intervalo de 170 undecilhões negativos a 170 positivos undecilhão.

Os únicos casos de uso significativos para números inteiros de 128 bits são endereços IPv6, identificadores universalmente exclusivos (ou UUID) usados ​​para criar IDs exclusivos para usuários (Minecraft é um caso de uso de alto perfil para UUID) e sistemas de arquivos como ZFS. O problema é que CPUs de 128 bits não são necessárias para lidar com essas tarefas, que conseguem funcionar perfeitamente em hardware de 64 bits. Em última análise, a principal razão pela qual não temos CPUs de 128 bits é que não há demanda por um ecossistema de hardware e software de 128 bits. A indústria certamente poderia conseguir se quisesse, mas simplesmente não consegue.

A porta está ligeiramente aberta para 128 bits

Fonte: Siemens

Embora CPUs de 128 bits não sejam uma coisa hoje, e pareça que nenhuma empresa irá lançar uma tão cedo, eu não iria tão longe a ponto de dizer que CPUs de 128 bits nunca acontecerão. A especificação para o RISC-V ISA deixa a possibilidade de um futuro de 128 bits arquitetura na mesa, mas não detalha o que realmente seria, provavelmente porque simplesmente não havia uma necessidade urgente de projetá-lo.

Trezentos e quarenta undecilhões, o maior número possível de criar com 128 bits, também não é tanto como existem átomos no universo, que é considerado o maior número que existe no mundo real significado. Se você quiser simular uma boa parte do universo até o nível atômico, talvez uma CPU de 128 bits seja realmente útil para isso. Além disso, é difícil dizer para que seria usada uma CPU de 128 bits, mas há muitos anos também nos perguntamos para que você poderia querer um terabyte de RAM.