Pourquoi n'avons-nous pas de CPU 33 bits? [fermé]

9

J'ai vu que les processeurs et les systèmes d'exploitation ont augmenté en termes de bits de 8 bits à 16 bits, à 32 bits et actuellement à 64 bits. Je comprends que ce changement vise à augmenter la quantité maximale de mémoire adressable par le CPU.

Ce que je ne comprends pas, c'est pourquoi il y a toujours un doublement de la taille du bus. Est-ce simplement une décision arbitraire / commerciale de doubler la taille du bus ou y a-t-il une autre raison?

Pourquoi ne pouvons-nous pas avoir un processeur 33 bits? Ou si cela ne suffisait pas, un processeur 34 bits? Le 64 bits semble être un saut aussi massif et inutile (cher?) Dans l'espace d'adressage et vraisemblablement la complexité du silicium sous-jacent.

localhost
la source
3
@sawdust - Pourtant, il n'y a rien de sacré à avoir un chemin de données qui est un multiple de 8 bits, et encore moins, en avoir un qui est une puissance de deux multiples de 8 bits.
Daniel R Hicks
7
En fait, cette question n'est pas si mauvaise, et ce n'est pas aussi simple que "eh bien, apprenez le derp binaire!", Comme Daniel (et ma réponse) le fait remarquer. Je vais le remettre à zéro pour cette raison.
Marshall Eubanks
1
Votre question contient une fausse prémisse. L'augmentation de la largeur de bits était principalement destinée à augmenter la largeur des registres à usage général. L'augmentation de la largeur des pointeurs était historiquement secondaire.
David Schwartz
1
@sawdust J'ai une assez bonne idée du fonctionnement du binaire, ce qui ressort assez clairement de ma question. Non merci pour votre réponse inutile et plutôt grossière.
localhost
1
@marshaul: Cette question a en fait été inférieure à zéro? Pourquoi?? C'est une bonne question! Je pense que les downvoters avaient probablement encore moins de compréhension des nombres binaires que l'auteur de la question.
HelloGoodbye

Réponses:

7

J'ai vu des processeurs 12, 14, 15, 17, 18, 20, 24 et 48 bits. Mais avec la technologie VLSI moderne (ou est-ce ULSI maintenant?), Ajouter plus de bits au chemin de données n'est pas si cher. Les développeurs de puces entassent autant de largeur que possible sur la puce, car cela augmente le débit avec un coût supplémentaire relativement faible et avec seulement une légère pénalité de temps de cycle.

Atteindre plus de vitesse / débit avec un chemin de données étroit et un temps de cycle plus rapide est beaucoup plus difficile.

Daniel R Hicks
la source
(Oublié de mentionner les processeurs 60 bits - L'ancienne série CDC 6600.)
Daniel R Hicks
Même si c'est une réponse intéressante, elle n'explique toujours pas pourquoi les pouvoirs de deux semblent être préférés dans les PC modernes, ce qui, à mon avis, est ce à quoi la question vise vraiment, même si elle n'était pas pleinement réalisée au moment de sa création.
HelloGoodbye
@HelloGoodbye Ce n'est pas tant des puissances de deux que des multiples de 8. Un bus de données 32 bits peut écrire exactement 4 octets dans une instruction.
jiggunjer
4

Contrairement à de nombreuses circonstances dans un ordinateur, par exemple l'adressage, où l'augmentation de la longueur d'adresse d'un bit augmente la quantité de mémoire adressable d'une puissance de 2 (et pourquoi les puissances de 2 sont si courantes en mémoire), la longueur réelle des mots du CPU peut être n'importe quelle valeur pratique.

Les longueurs de mot courantes pour les processeurs (16, 32 et 64 bits) sont apparues en fait comme des multiples de 8 (plutôt que des puissances de 2, bien que bien sûr ces multiples particuliers de 8 se trouvent également être des puissances de 2), 8 bits étant le la taille minimale pour un seul charbon , même le plus petit type de données primitif couramment utilisé.

Étant donné que 8 bits est lui-même trop imprécis pour être très utile pour les valeurs numériques (ou même pour les jeux de caractères étendus tels que UTF-16), les mots supérieurs à 8 bits permettent une efficacité beaucoup plus grande lorsque vous travaillez avec des valeurs utilisant plus que ce nombre de bits de précision. et les multiples de 8 bits (le plus petit type de données couramment utilisé) restent le choix naturel, permettant de stocker un quantifié entier de (par exemple 2, 4 ou 8) caractères dans un mot sans laisser de bits inutilisés gaspillés.

L'article wikipedia sur les mots a une section Choix de la taille des mots avec toujours plus de détails.

Marshall Eubanks
la source
1
Tous les multiples de 8 ne sont pas des puissances de 2.
cpast
Excellent point, je voulais vraiment dire "ces pouvoirs de 2". Je ferai le correctif.
Marshall Eubanks
Il y a eu des ordinateurs construits avec des "caractères" 6 et 10 bits.
Daniel R Hicks
Bien sûr, et encore une fois, la longueur du mot peut être n'importe quel nombre commode, qui n'a pas besoin d'être basé sur la longueur des caractères ou quoi que ce soit en particulier. Par exemple, une ALU qui opérait rarement sur des "caractères" aurait probablement une longueur de mot basée sur l'entier de moindre précision couramment utilisé. Je ne voulais pas suggérer quoi que ce soit de prescriptif, simplement pour expliquer la raison fondamentale des choix les plus courants (et ceux qu'il a interrogés).
Marshall Eubanks