Por que não temos CPUs de 33 bits? [fechadas]

9

Vi que as CPUs e os sistemas operacionais subiram em termos de bits, de 8 para 16 bits, para 32 bits e atualmente para 64 bits. Entendo que essa alteração é aumentar a quantidade máxima de memória endereçável pela CPU.

O que não entendo é por que sempre há uma duplicação do tamanho do ônibus. É apenas uma decisão arbitrária / comercial dobrar o tamanho do barramento ou há outro motivo?

Por que não podemos ter uma CPU de 33 bits? Ou se isso não bastasse, uma CPU de 34 bits? O de 64 bits parece um salto enorme e desnecessário (caro?) No espaço de endereço e presumivelmente na complexidade do silício subjacente.

localhost
fonte
3
@sawdust - No entanto, não há nada de sagrado em ter um caminho de dados que é múltiplo de 8 bits, e menos ainda, ter um que é uma potência de dois múltiplos de 8 bits.
Daniel R Hicks
7
Na verdade, essa pergunta não é tão ruim e não é tão simples como "oh, aprenda derp binário!", Como Daniel (e minha resposta) aponta. Vou votar novamente de volta a zero por esse motivo.
Marshall Eubanks
11
Sua pergunta contém uma premissa falsa. O aumento na largura do bit foi principalmente para aumentar a largura dos registros de uso geral. O aumento na largura dos ponteiros foi historicamente secundário.
David Schwartz
11
@sawdust Eu tenho uma boa idéia de como o binário funciona, o que é bastante óbvio na minha pergunta. Não, obrigado pela sua resposta inútil e bastante rude.
localhost
11
@ marshaul: Esta questão foi realmente votada abaixo de zero? Por quê?? É uma boa pergunta! Eu acho que os que recusaram provavelmente tinham ainda menos compreensão dos números binários do que o autor da pergunta.
hellogoodbye

Respostas:

7

Eu já vi CPUs de 12, 14, 15, 17, 18, 20, 24 e 48 bits. Mas com a moderna tecnologia VLSI (ou já é ULSI?), Adicionar mais bits ao caminho dos dados não é tão caro. Os desenvolvedores de chips colocam o máximo de largura possível no chip, pois isso aumenta a produtividade com relativamente pouco custo adicional e com apenas uma pequena penalidade no tempo de ciclo.

Alcançar mais velocidade / taxa de transferência com um caminho de dados estreito e tempo de ciclo mais rápido é muito mais difícil.

Daniel R Hicks
fonte
(Esqueceu mencionar CPUs 60 bits -. A antiga série CDC 6600)
Daniel R Hicks
Embora essa seja uma resposta interessante, ainda não explica por que os poderes de dois parecem preferidos nos PCs modernos, que eu acho que é o que a pergunta realmente visa, embora ainda não tenha sido totalmente realizada no momento de sua criação.
HelloGoodbye
@HelloGoodbye Não são tantos os poderes de dois quanto os múltiplos de 8. Um barramento de dados de 32 bits pode gravar exatamente 4 bytes em uma instrução.
precisa saber é o seguinte
4

Ao contrário de muitas circunstâncias em um computador, por exemplo, endereçamento, em que aumentar o tamanho do endereço em um bit aumenta a quantidade de memória endereçável em uma potência de 2 (e por que as potências de 2 são tão comuns na memória), o tamanho real da palavra da CPU pode ser qualquer valor conveniente.

Os comprimentos comuns de palavras para processadores (16, 32 e 64 bits) surgiram na verdade como múltiplos de 8 (em vez de potências de 2, embora, é claro, esses múltiplos particulares de 8 também sejam potências de 2), sendo 8 bits o tamanho mínimo para um único caractere , o menor tipo de dados primitivo comumente usado.

Como 8 bits é impreciso demais para ser muito útil para valores numéricos (ou mesmo para conjuntos de caracteres estendidos como UTF-16), palavras maiores que 8 bits permitem uma eficiência muito maior ao trabalhar com valores que utilizam mais do que muitos bits de precisão , e múltiplos de 8 bits (o menor tipo de dados comumente usado) ainda são a escolha natural, permitindo armazenar uma quantificação inteira de (por exemplo, 2, 4 ou 8) caracteres em uma palavra sem deixar bits desperdiçados e não utilizados.

O artigo da wikipedia sobre palavras possui uma seção Escolha de tamanho de palavra com um pouco mais de detalhes.

Marshall Eubanks
fonte
11
Nem todos os múltiplos de 8 são potências de 2.
cpast
Ponto excelente, eu realmente quis dizer "esses poderes de 2". Eu vou fazer a correção.
Marshall Eubanks
Houve computadores criados com "caracteres" de 6 e 10 bits.
#Revista
Claro, e novamente, o comprimento da palavra pode ser qualquer número conveniente, que não precisa se basear no tamanho dos caracteres ou em qualquer coisa em particular. Por exemplo, uma ULA que raramente operava com "caracteres" provavelmente teria um comprimento de palavra com base no número inteiro de menor precisão comumente usado. Não tive a intenção de sugerir nada prescritivo, apenas de explicar o motivo básico das escolhas mais comuns (e as que ele perguntou).
Marshall Eubanks