Question

Je ne parviens pas à comprendre la différence entre un processeur 32 bits et 64 bits processeur. Je sais que un processeur de 32 bits peut accéder à 32 bits à la fois pendant un processeur 64 bits peut accéder à 64 bits à la fois. Mais qu'est-ce que cela signifie exactement pour accéder à un certain nombre de bits à un moment donné?

Était-ce utile?

La solution

Je suppose que la vraie réponse est que c'est compliqué. Métaphore est la seule chose en plus étude dédiée qui va vous donner une idée de base. Wallyk est sur la bonne voie.

Quelques choses conduisent un processeur. L'un est le nombre d'opérations qu'il peut faire par seconde (mesurée en Hertz). Bien que l'architecture empêche une réponse simple, un processeur single-core 1Ghz effectue 1000000000 opérations par seconde. Grossièrement. Bien qu'il soit possible d'obtenir une réponse plus concrète, il ne serait pas clarifier ce cas.

Un processeur est aussi d'autres choses, comme un contrôleur de mémoire (en Core i7), ALU et FPU, et d'autres circuits spécialisés, ce qui est ce qui fait même qu'une question difficile à répondre.

Pour vos fins utiles que, chaque processeur dispose de registres. Les registres sont comme espace de travail (plus rapide que la mémoire) pour un processeur pour stocker de petites quantités de données pendant qu'il travaille. Ceux-ci sont sauvegardés par L1 et L2 caches (parfois L3), qui sont aussi ridiculement rapide. Fondamentalement, 64 bits se réfère à la taille de l'espace de travail (et par procuration, le tuyau qui relie le registre à la mémoire cache, les données sont chargées dans et hors tout à la fois).

Plus grand espace de travail signifie plus peut être fait sans lire de nouvelles informations à partir du cache ou de la mémoire. Cependant, juste parce que cela peut être fait ne signifie pas qu'il sera toujours. Un programme doit généralement être compilé avec le support 64 bits pour profiter de la vitesse, et même alors vous généralement pas voir une différence à moins que vous manipuler des données de plus de 32 bits peuvent stocker. C'est plus une question pour un programmeur de systèmes bien.

Un processeur doit également garder un œil sur ce qui est en mémoire (comme dans, ce qui est utilisé et ce qui est pas.) Elle le fait au moyen d'un registre spécial. La raison pour laquelle un processeur 32 bits ne peut pas traiter normalement plus de 4 Go de RAM a à voir avec la taille de ce registre. Alors que les extensions de processeurs tels que les systèmes permettent de PAE exploitation 32 bits sur les processeurs 32 bits pour traiter jusqu'à 64 giga-octets de RAM, la plupart des systèmes d'exploitation ne prennent généralement pas.

TL; DR, les processeurs 64 bits donnent la possibilité d'une programmation correcte pour effectuer des opérations sur de plus grandes quantités de données à la fois, et l'adresse de la mémoire. A part ça, il n'y a pas une énorme différence.

EDIT: De peur que les gens la mauvaise idée, par « opérations » Je ne parle pas spécifiquement aux opérations (addition, multiplication, etc.). Mon mal, je me concentrais sur la réponse à la question plutôt que de donner une introduction complète à l'architecture de microprocesseur.

Autres conseils

Fondamentalement, cela signifie être en mesure d'effectuer des opérations sur le nombre de ces dimensions (les ajouter par exemple). Bien qu'il y ait plus de différences entre les architectures 32bits et 64bits que cela.

Je remarque que vous avez taguée la mémoire, alors je vais avec cette réponse:

Dans un processeur de 32 bits, le processeur ne peut utiliser 32 bits pour adresser la mémoire. Cela signifie qu'il ya 2 ^ 32 combinaisons uniques, par conséquent, le processeur ne peut répondre à 2 ^ 32 octets. (4Go)

Dans un processeur de 64 bits, le processeur peut (en théorie) en utilisant 64 bits pour adresser la mémoire, ou 2 ^ 64 octets de mémoire adressable. Je crois que les montants à 16 octets EXO, ce qui est une énorme quantité qui est presque au point de compter la quantité de molécules dans votre machine. En pratique cependant, la plupart des processeurs sur la ligne aujourd'hui que vous adressons à 42 bits de mémoire physique et 48 bits de mémoire virtuelle en raison de contraintes matérielles jour actuelles.

Le entrée Wikipedia pour 64 bits brille une belle lumière sur le thème

Il est une mesure de puissance de traitement. Plutôt comme un véhicule qui peut transporter des passagers, 4 ou 12, pour à peu près la même quantité d'énergie.

Par exemple, 32 bits contient 4 octets, ou 4 caractères ordinaires et 64 bits est 8 octets et pour les langues romanes huit caractères. Ceux-ci peuvent être manipulés à la fois pour de nombreux types d'opérations pour la largeur des données architecturales correspondant.

Une autre façon de regarder est la taille d'un entier peut une architecture travailler directement avec. Pour chacune de ces largeurs, la plage correspondante est

8 bits: 0 à 255 / -128 à 127
16 bits: 0 à 65535 / -32768 à 32767
32 bits: 0 à 4294967295 / -2147483648 à 2147483647
64 bits: 0 à 18,446,744,073,709,551,615 / -9,223,372,036,854,775,808 à 9.223.372.036.854.775.807

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top