2 Go, 4 Go ou… 3.25 ?
Qui peut le plus peut le mieux ? Pas vraiment. Quand bien même vos moyens financiers seraient illimités, il ne servirait à rien d’ajouter démesurément de la mémoire. Il existe en effet des limitations techniques qui peuvent être de deux types : limitation logicielle et limitation hardware. Pour ce qui est de la restriction logicielle, il faut par exemple se souvenir que dès la série des Windows 95/98 et Millenium, Microsoft émettait des bulletins concernant les instabilités que pouvait provoquer la présence de plus de 512 Mo de mémoire. Plus proche de nous, Windows XP en version 32 bits ne reconnaîtra pas les 4 Go que vous voudriez lui faire avaler. Au mieux, Windows verra 3,25 ou 3.3 Go de mémoire. Avec Windows Vista, le problème semble disparaître puisque même en version 32 bit, ce dernier reconnait bien les 4 Go de mémoire mais il n’en reste pas moins que seuls 3.3 Go sont adressables.
4 Go physiquement installés mais seulement 3.25 Go reconnus par un Windows 32-bit
Il y a une autre limitation qui est que seuls 2 Go pourront être alloués par processus/application. Il est possible via une manipulation d’éviter cette limitation mais il faudra alors utiliser des applications 32 bits capable d’adresser plus de 2 Go de mémoire et il faut avouer qu’elles sont plutôt rares. Cette manipulation s’effectue dans le fichier boot.ini localisé à la racine de votre partition « système ». Vous pouvez y rajouter le paramètre « /3GB » qui va permettre d’allouer 3 Go de mémoire par application au lieu de deux. Mais pour que cela soit profitable, il faudra que l’application « 32-bit » ait été programmée pour exploiter des pointeurs larges. Il faut en outre spécifier l’application qui doit bénéficier de ce « changement » de gestion de la mémoire. En résumé, cela contourne une limitation mais les cas seront rares où ce changement sera exploité et sera « visible » en termes de performances.
4 Go ? 64-bit only…
Pour pouvoir gérer correctement 4 Go de mémoire et plus, il faudra avoir recours à un système d’exploitation 64 bits comme Linux, Windows 2003 64-bit Edition, Windows XP 64-bit Edition ou Windows Vista 64-bit, capable d’adresser jusqu’à 128 Go de mémoire. Là aussi, la difficulté sera de trouver des applications 64-bit gérant correctement autant de mémoire sans oublier qu’il sera parfois compliqué de trouver des drivers 64-bit pour certains de vos composants et périphériques. Car installer un système d’exploitation 64-bit pour utiliser des applications 32-bit est inutile pour ce qui est de la gestion de la mémoire. La problématique reste la même que sous un système d’exploitation 32-bit. Dernier mot concernant Windows Vista : selon la version, la quantité de mémoire supportée n’est pas la même. Si toutes les versions 32-bit ne supportent que 4 Go maximum, il en va autrement des versions 64-bit. Ainsi, la version Familiale basique supporte 8 Go, la version Familiale Premium 16 Go et enfin les versions Professionnelle, Intégrale et Entreprise 128 Go.
Sous un OS 64-bit, les 4 Go de mémoire sont correctement reconnusCependant, même avec un système d’exploitation 64-bit, vous ne pouvez pas ajouter de la mémoire sans tenir compte de ce qu’est capable de supporter votre carte mère ou votre processeur. Concernant les processeurs, ce fut AMD qui fut le premier sur les processeurs 64 bits, capable en théorie de supporter jusqu’à 128 Go de mémoire. Intel n’a suivi que plus tard avec les Pentium 4 6xx qui ont apporté eux aussi le support des instructions x86-64. En résumé, si votre processeur ne dispose pas du jeu d’instructions 64-bit, vous ne pourrez pas pleinement profiter de 4 Go de mémoire ou plus.
Influence du contrôleur mémoire
Le chipset a également un rôle dans le support de la quantité de mémoire puisque la plupart du temps, c'est lui qui intègre le contrôleur mémoire sauf dans le cas des processeurs AMD Athlon 64 et dérivés. Par exemple le chipset Intel 845 pour Pentium 4 socket 478 ne supportait que 3 Go de RAM maximum. En plus de cette quantité totale maximale, chaque slot ne pouvait pas contenir des barrettes de plus d’un Go. Les chipsets 865P et 875P sont de leurs côtés passés au support de 4 Go de mémoire. Ce fut le cas de nombreux chipsets Intel qui ont suivi : 915, 925, 945 mais pas le 910 qui ne supportait que 2 Go de mémoire au plus. Il a fallu attendre la sortie du chipset 955X pour voir la quantité maximale supportée passer de 4 à 8 Go.
Le cas des chipsets AMD est quelque peu différent puisqu’à partir des Athlon 64 et des Sempron sur socket 754 (pas les Athlon XP renommés en Sempron), le contrôleur mémoire est passé du chipset à une intégration au sein du processeur. La limite ne venait dès lors plus du chipset mais bien du CPU. C’est la raison pour laquelle les chipsets NVIDIA à partir du nForce 3 ne spécifient plus de caractéristiques à propos du support de la RAM, sauf bien évidemment pour les versions Intel Edition. Pour revenir aux processeurs AMD, les Sempron et Athlon 64 sur socket 754 et 939 supportent jusqu’à 4 Go de mémoire (DDR1) tandis que les Athlon 64 et Sempron sur socket AM2 peuvent supporter jusque 8 Go de DDR2.
D’autres limitations matérielles peuvent parfois survenir et qui sont à imputer à des incompatibilités. Il ne s’agit donc pas de spécifications techniques intrinsèquement restreintes mais de limitations constatées. L’exemple récent le plus célèbre est la difficulté de faire fonctionner 4 barrettes de mémoire sur certaines révisions d’Athlon 64 monocore (avant la révision Venice) avec le célèbre temps de latence « 1T ». Dans certains cas, il était même nécessaire de faire fonctionner de la DDR1 400 double face en DDR1 333 pour parvenir à un système stable. Si là aussi les dernières révisions ont permis de faire fonctionner ces barrettes en DDR1 400, elles ne permettaient cependant pas l’utilisation du timing « 1T », le « 2T » restant obligatoire.
On se rappellera également lors de l’apparition de la gestion de la mémoire en double canal de la quasi obligation d’avoir deux barrettes identiques sous peine d’instabilité. Depuis lors, les chipsets et les contrôleurs mémoire sont devenus plus permissifs et il est souvent possible de faire fonctionner en dual channel deux barrettes différentes, la plus véloce se calquant sur la plus modeste. Il reste cependant conseillé d’utiliser des barrettes aux spécifications identiques. De la même manière, il est parfaitement possible de combiner 2x2 kits de barrettes différentes si vous comptez utiliser 4 barrettes sur votre carte mère. Il faudra cependant veiller à connecter les barrettes aux mêmes spécifications sur le même canal, reconnaissable par la couleur des slots mémoire.