La mémoire
Sur l’architecture x86_64, les adresses sont codées sur 64 bits : la taille maximale de la mémoire adressable est donc 2 puissance 64 = 18446744073709551616 soit environ 18 milliards de milliards de cases mémoire.
Il s’agit bien sûr d’une limite théorique : il n’existe pas encore de machine disposant d’autant de mémoire !
L’architecture x86_32 supporte quant à elle des adresses allant jusqu’à 2 puissance 32 = 4294967296, c’est à dire 4 GiO : cette taille mémoire paraissait encore énorme il y a quelques années, mais c’est devenu maintenant une taille courante sur la plupart des machines grand public, et même insuffisante pour de gros serveurs de calcul.
Le bus de données de l’architecture x86_64 est aussi sur 64 bits, mais on peut accéder à des données sur 64, 32, 16 et 8 bits : on devra donc systématiquement préciser la taille des données manipulées.
L’architecture x86_32 fonctionne de façon similaire, avec une taille maximum de donnée de 32 bits bien sûr.
L’architecture Intel est conçue pour des processeurs little-endian, ce qui signifie que dans un mot mémoire, les bits de poids faibles sont stockés en premier. Par exemple, si la valeur (sur 32 bits) 0x12345678 est stockée à l’adresse 0x1000, on trouve en mémoire :
Partager