Pourquoi etre passé de 32bits à 64bits et pas

Résolu/Fermé
bit - Modifié par bit le 12/03/2012 à 19:47
 bit - 14 mars 2012 à 19:05
Bonjour,

je n'ai pas vraiment besoin d'aide, je me pose juste une question sans trouver réponse :

Pourquoi est on passé des architectures 32bits à 64bits ?

pourquoi pas 40 ou 50 bits ?

pourquoi 64 (=2*32) ce n'est pas un hasard non ?

Vous me direz avec 6bits on peut coder un nombre de 0 à 63, alors qu'avec 5bits de 0 à 31. Mais je ne vois vraiment pas le rapport puisque le but c'est d'adresser de la mémoire.


Avez vous la réponse?
Merci
:o)
A voir également:

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
12 mars 2012 à 20:31
En fait si tu regardes l'évolutions des consoles de jeu ou des PCs, tu t'apercevras que cette valeur est toujours un multiple de 8 (car il y a 8 bits dans un octet)

Cette valeur correspond au nombre de bits sur lesquels sont encodés une adresse mémoire

- 16 bits : 2 octets
- 32 bits : 4 octets
- 64 bits : 8 octets

Selon le théorème du chausse pied, plus tu as de bits pour encoder une information, plus celle ci peut prendre une grande plage de valeur. Ainsi encoder une adresse 32 bits permet de gérer jusqu'à ~4Go de RAM (c'était typiquement le cas dans windows xp et avec les noyaux linux x86). À cette époque les micro processeurs étaient donc conçus pour manipuler des adresses 32 bits.

Or de nos jours les machines ont souvent 4 Go de RAM voire plus, et donc 32 bits ne suffisent plus. Des rustines ont été conçues dans un premiers temps (cf extensions bigmem ou pae pour les noyaux linux 32 bits) mais rapidement il a fallu se rendre à l'évidence et augmenter l'espace pour représenter une mémoire et on est donc passé à 64 bits. Pourquoi 64 ?

- déjà c'est sensiblement plus large que 32 pour 32 bits, (2^32 fois plus de valeurs) autant dire qu'on est tranquille pour un moment

- ça devait être un multiple de 4 pour les histoires d'alignements :
https://fr.wikipedia.org/wiki/Alignement_en_m%C3%A9moire

- c'est la première valeur après 32 qui est à la fois multiple de 8 (pour être en octet) * 4 (pour être aligné) et 128 aurait été un peu démesuré (les opérations sur les adresses mémoires étant ultra fréquentes, il ne faut pas que sa représentation soit coûteuse à manipuler).
4
merci beaucoup! J'ai bien fait de poser la question,
je ne connaissais pas cette notion d'alignement. pourtant très importante
0
_Tawal_ Messages postés 644 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 juillet 2012 73
12 mars 2012 à 20:20
Bonjour,

Comme tu le dis : le but c'est d'adresser de la mémoire !

Donc,avec 64 bits, tu as accès à une mémoire bien plus vaste.
Tout simplement.
0