Quelle est la quantité maximale de RAM que vous pourriez théoriquement mettre dans un ordinateur 64 bits?
La plupart des gens passent de l’informatique 32 bits à l’informatique 64 bits pour dépasser la limite de 4 Go de RAM, mais comment loin pouvez-vous souffler à travers cette limite une fois que vous êtes entré dans le royaume des ordinateurs 64 bits?
La session de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté. Image de Petr Kratochvil.
La question
Lecteur superutilisateur KingNestor est curieux de savoir combien de RAM un ordinateur 64 bits peut contenir:
Je lis mon livre d'architecture d'ordinateur et je vois que dans un processeur x86 32 bits, le compteur de programme est 32 bits.
Ainsi, le nombre d'octets qu'il peut adresser est de 2 ^ 32 octets, ou 4 Go. Il est donc logique pour moi que la plupart des machines 32 bits limitent la quantité de RAM à 4 Go (en ignorant PAE).
Ai-je raison de supposer qu'une machine 64 bits pourrait théoriquement traiter 2 ^ 64 octets, ou 16 exaoctets de bélier?!
Exabytes vous dites? Maintenant, maintenant, ne soyons pas gourmands. Nous serions heureux de commencer avec un téraoctet ou deux.
La réponse
Les réponses à l'enquête de KingNestor constituent un mélange intéressant de considérations pratiques et théoriques. Matt Ball entre directement dans la réponse théorique:
Théoriquement: 16,8 millions de téraoctets. En pratique: le boîtier de votre ordinateur est un peu trop petit pour contenir toute la mémoire vive.
http://en.wikipedia.org/wiki/64-bit#Limitations_of_practical_processors
Conrad Dean a expliqué à quel point il serait totalement impraticable de maximiser la limite de RAM théorique en utilisant la technologie actuelle:
Pour compléter la réponse de Matt Ball, le plus gros stick de RAM que je puisse trouver sur un détaillant en ligne donné est de 32 Go. Il en faudrait 32 pour atteindre 1 téraoctet. À environ un demi-pouce par bâton, cela nous amène à un espace consacré de 16 pouces sur votre carte mère pour un téraoctet de bélier commercial. Pour atteindre 16,8 millions de téraoctets, il faudrait une carte mère de 4 242,42 milles. La distance entre LA et NYC est d’environ 2141 miles, donc la carte mère devrait s’étendre à travers le pays et inversement pour accueillir autant de RAM..
Clairement, ce n'est pas pratique.
Que diriez-vous de ne pas mettre notre RAM en rangée comme sur la plupart des cartes mères, mais plutôt de les placer côte à côte. Je veux dire que le bâtonnet de bélier a en moyenne six pouces de long. Par conséquent, si nous admettons un demi-pouce pour la largeur, vous pouvez avoir une unité carrée de 12 bâtonnets de bélier dans un carré de 6 pouces. Appelons ce carré une tuile RAM. Une tuile de RAM contient alors 384 Go de RAM. Pour atteindre les 16,8 millions de téraoctets nécessaires sur des tuiles de 384 Go, il faudrait 44,8 millions de tuiles. Soyons en désordre et utilisons la racine carrée de ce mot pour conclure que celui-ci ira bien dans un carré de 6693 par 6694 dalles, ils n'avaient pas déjà assez pour se plaindre.
Enfin, David Schwartz note que même la limite théorique est dépassée par l'architecture actuelle du processeur:
Notez qu'aucun processeur x86 64 bits existant ne peut réellement le faire. Leurs caches n'ont pas assez de bits de balises, leurs bus d'adresses n'ont pas assez de largeur, etc. 46 bits (8 To) est le nombre maximal de processeurs x86 modernes.
Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.