Pourquoi etre passé de 32bits à 64bits et pas
Résolu/Fermé
A voir également:
- Pourquoi etre passé de 32bits à 64bits et pas
- Piratage facebook changer mot de passe - Guide
- Identifiant et mot de passe - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Mettre un mot de passe sur un dossier - Guide
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
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).
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).
_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
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.
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.
14 mars 2012 à 19:05
je ne connaissais pas cette notion d'alignement. pourtant très importante