Hardware

Canaux et « rank » mémoire ? Explications de ces deux attributs de la RAM

Rédigé par le

Canaux et « rank » mémoire ? Explications de ces deux attributs de la RAM

Les configurations de canaux mémoire et la fonction des « rank »

 

Aujourd’hui, j’ai décidé de vous parler de la RAM. Alors il y aurait des tonnes de choses à expliquer. Par exemple, comment les données y sont stockées, ou comment le processeur y accède. Mais pour cette fois-ci, je vais me concentrer sur deux attributs qui reçoivent moins d’attention. Premièrement, je vais faire un petit rappel de ce qu’est la RAM et de son utilité. Passé cette introduction, je rentre directement dans le vif du sujet. Dans la première partie, je vous parle des canaux mémoire, et de leur connexion physique au processeur. En deuxième partie, j’aborde les rank mémoire, là aussi, en expliquant pourquoi ils existent et comment ils sont construits.

 

canaux-rank-mémoire-ram-hardware-vonguru

 

C’est quoi la RAM ?

Pour commencer, RAM est l’acronyme de « Random Access Memory ». Sur un ordinateur fixe, il s’agit de barrettes d’environ treize centimètres de long. Elles peuvent être au nombre de une à quatre sur les cartes mères consommateurs et rentrent dans des emplacements spécifiques en haut à droite de la carte mère (image ci-dessous). Sur ces barrettes se trouvent des puces mémoires qui stockent des données. En effet, la RAM n’est qu’un espace de stockage. Mais la RAM diffère de votre classique disque dur par sa vitesse très élevée et sa latence très faible. Une autre différence importante, c’est que la RAM ne stocke pas éternellement des données. Dès que vous éteignez votre ordinateur, la RAM se vide de toutes ses informations. C’est pour cette raison que vous ne pourrez pas enregistrer votre jeu favori dessus.

 

canaux-rank-mémoire-ram-img-1-hardware-vonguru

 

À quoi sert-elle alors, si elle ne peut pas stocker des données une fois la machine hors tension ? La RAM existe parce que votre processeur lui n’a quasiment aucun espace de stockage interne (quelques Mo). Donc dès que votre processeur doit exécuter une tâche, il doit récupérer des données dans votre disque dur. Mais comme un disque dur est lent, le processeur stocke dans la RAM les données qu’il utilise pour ses calculs.

Pour ceux que j’aurais perdu, voici une analogie. Imaginez que le processeur est un ouvrier qui doit réparer votre toiture et que les données dont le processeur se sert sont les outils de cet ouvrier. Le tout petit stockage interne au processeur (le cache de quelque Mo), ce sont les deux outils que l’ouvrier a à sa ceinture. Si l’ouvrier a besoin d’un troisième outil, il doit descendre de son échelle et aller jusqu’à sa camionnette, ce qui est long. Une autre solution s’offre à lui : prendre avec lui une caisse à outils qu’il laisse en haut de l’échelle. Certes il mettra un peu plus de temps à ouvrir sa caisse qu’à prendre l’outil à sa ceinture. Mais ce sera bien plus rapide que de redescendre. La RAM remplit le même rôle que cette caisse de proximité.

 

Les configurations de canaux mémoire

Vous l’avez vu sur l’image précédente, sur les cartes mères « classiques » pour consommateur, il y a quatre emplacements pour barrette de mémoire. Mais voilà, il y a un « problème », les processeurs modernes pour consommateur n’ont que deux contrôleurs mémoire. Il existe bien des processeurs avec quatre contrôleurs mémoire, mais les cartes mères associées ont huit emplacements mémoire ! Alors comment sont branchés les emplacements restants ? Il existe trois solutions à ce problème.

 

Première solution : enlever les emplacements supplémentaires

Oui, la première solution est la plus simple. On enlève les emplacements additionnels, et ainsi il est inutile de savoir comment les brancher. Cela étant, cette solution a un coût. En effet, en enlevant 50% des emplacements mémoire, on divise aussi par deux la quantité maximale de RAM supportée par la carte mère. Mais pourquoi voudrait-on se limiter à 32 Go de RAM ? Une des raisons peut être la place. De fait, il existe quatre tailles pour les cartes mères : EATX, ATX, mATX et ITX. Pour la plus petite d’entre elles, ITX, il se trouve qu’on ne peut tout simplement pas mettre plus de deux emplacements. Le deuxième type de cas où l’on rencontre deux emplacements de RAM sur une carte mère concerne l’overclocking. Les « câbles » (pistes) supplémentaires nécessaires pour relier quatre emplacements au lieu de deux créent des interférences. Ces interférences sont faibles et ne sont pas un problème pour la majorité des utilisateurs. Mais dans le cadre de l’overclocking, où l’on pousse la fréquence mémoire le plus haut possible, réduire les interférences est crucial.

Les images ci-dessous illustrent ce paragraphe. De gauche à droite : une représentation simplifiée du câblage d’une carte mère avec deux emplacements mémoire. Au centre, vous avez les quatre formats de carte mère. Enfin à droite, un exemple de carte mère dédiée à l’overclocking.

 

 

Deuxième solution : branchement en série

C’est la première méthode qui permet de garder les quatre emplacements mémoire. Elle est aussi appelée daisy chain en anglais. Des deux méthodes « conservatives », elle est la plus simple. Il y a simplement deux emplacements, en série, branchés sur un seul canal mémoire. Comme vous pouvez le voir sur le schéma simplifié ci-dessous, la piste connecte le processeur à l’emplacement numéro un, puis continue jusqu’au second emplacement.

 

canaux-rank-memoire-ram-img-18-hardware-vonguru

 

Malheureusement, vous vous en doutez, ce branchement n’est pas parfait. L’un des emplacements se trouve défavorisé, car il n’est pas égal à son voisin (piste plus longue et second à être desservi). Alors pas de quoi paniquer non plus, mais la différence est mesurable. Pour illustrer la situation, je vais vous donner des valeurs. Mais attention, celles-ci sont arbitraires et servent uniquement d’exemple. Admettons que vous avez un kit de RAM de deux barrettes de 8 Go. Sur une carte mère avec un emplacement par canal, vous allez pouvoir faire tourner votre kit à 4400 MHz. Avec le même kit sur une carte avec quatre emplacements en série, vous allez être limité à 4200 MHz. Ça ne s’arrête pas là. Vous avez quatre emplacements à disposition, donc que se passe-t-il si vous utilisez quatre barrettes de 8 Go ? Vous seriez limité à 3600 MHz.

Donc si vous voulez mettre 32 Go de RAM sur une carte mère avec un câblage en série, vous avez tout intérêt à le faire avec deux barrettes de 16 Go, et non quatre de 8 Go.

 

Troisième solution : branchement en parallèle

Ceux qui ont encore des souvenirs des cours sur l’électricité ont dû le voir venir. La deuxième configuration « conservative » est le branchement en parallèle, aussi appelé T-topology en anglais. Cette manière de câbler les emplacements mémoire consiste à avoir des pistes de taille identique entre les emplacements d’un même canal mémoire. Mais pour parvenir à ce résultat, il est nécessaire de faire des détours. Ces détours sont ainsi conçus que même l’emplacement mémoire le plus proche est plus loin que l’emplacement le plus éloigné sur un branchement en série. Cette distance supplémentaire a évidemment une conséquence : la vitesse maximale de votre RAM sera plus basse. Pour continuer dans l’exemple chiffré, le maximum avec deux barrettes de 8 Go sera de 4000 MHz. En revanche, là où le branchement en parallèle brille, c’est avec quatre barrettes. Les quatre emplacements étant tous égaux en distance avec le processeur, il n’y a pas de « défavorisé » qui tire la moyenne vers le bas. Le passage de deux à quatre barrettes vous donc fera chuter, mais uniquement à 3800 MHz. Une chute bien plus petite que la configuration en parallèle qui avait perdu 600 MHz une fois les quatre emplacements occupés.

Ci-dessous, vous avez à gauche l’illustration simplifiée de ce type de câblage, et à droite une photo réelle des détours que font les pistes pour conserver une longueur commune.

 

 

Conclusion sur les configurations de canaux mémoire

Il faut prendre tout cela pour ce que c’est : des informations. Il ne faut pas que vous vous disiez qu’il vous faut absolument l’une ou l’autre des configurations. Je vous ai donné des valeurs, mais en vous précisant bien qu’elles sont là à titre d’exemple. Dans la réalité, la configuration ne fait pas tout. Il existe des cartes mères avec branchement en parallèle qui permettent des fréquences plus hautes que certaines cartes mères branchées en série. Les raisons à cela sont multiples mais il y en a deux principales. La première est que BIOS joue un grand rôle et que certaines cartes ont un BIOS tellement bon qu’il peut faire la différence. La deuxième raison est qu’il y a énormément de pistes à relier à chaque emplacement mémoire. Je n’en ai dessiné qu’une par emplacement, mais dans la réalité chaque barrette mémoire possède 288 pins ! Sans compter que les emplacements mémoire ne sont pas les seuls éléments reliés au processeur. Cela fait donc énormément de pistes dans la carte mère. Pistes qui se superposent, se gênent, se croisent, et tout ceci influe sur la vitesse maximale possible pour votre RAM.

 

Les ranks mémoire

Commençons par le début, qu’est-ce qu’un rank mémoire ? Les ranks sont la solution qui a été choisie au problème suivant : comment augmenter la capacité des barrettes mémoire ? Pour expliquer comment ce problème est apparu, il faut parler un peu du processeur. Je vous l’ai dit plus haut, un processeur a généralement deux contrôleurs mémoire. Et il se trouve que chaque contrôleur mémoire a une interface 64 bits. C’est quoi cette histoire de bits ? Voyez ça comme un tuyau qui transporte des pommes de terre (ce choix étrange fera sens plus loin). Le nombre de bits représente simplement le diamètre de ce tuyau. Maintenant, cette interface doit être reliée à votre barrette de mémoire, et sur ces barrettes se trouvent plusieurs puces mémoire. C’est là que surgit un nouveau problème, les puces mémoires n’existent qu’en trois tailles d’interface : quatre, huit et seize bits. Les configurations possibles sont donc de quatre par seize, huit par huit et seize par quatre bits. Le dernier facteur à prendre en compte est la capacité des puces mémoire. Celle-ci est limitée et les avancées technologiques sont lentes.

On a donc une barrette de RAM complètement saturée de puces mémoire, mais comme nous en voulons toujours plus, comment faire ? Nous devons rajouter des puces auxquelles on fait partager l’interface 64 bits. Pour reprendre mon analogie du tube : vous ne pouvez pas faire passer plus de x patates à la seconde parce que le diamètre du tube est limité. Comment procéder ? Vous rajoutez un deuxième distributeur de patates à votre tube mais vous alternez entre le premier et le deuxième distributeur.

Et c’est ça le principe de base des ranks mémoire. Mettre deux sets de puces mémoire sur la même barrette de RAM et leur faire partager l’interface 64 bits. Pourquoi cette méthode et pas une autre ? Parce que rajouter des canaux mémoire à un processeur est très complexe et coûteux. Alors que souder un plus grand nombre de puces sur un circuit imprimé est bien moins cher. De plus cette solution apporte d’autres avantages. Comme nous avons deux sets de puces « indépendants », nous pouvons paralléliser les instructions. Vous n’avez que quelques gigaoctets de RAM par système. Donc à intervalles réguliers, le processeur doit réécrire la RAM pour y stocker de nouvelles informations. Mais avec deux ranks, votre processeur peut effectuer une opération et simultanément en préparer une autre. Ou alors autre possibilité, le processeur peut effectuer des opérations avec deux sets de données, chacun stocké dans un rank.

Mais, cette solution n’est pas parfaite non plus. Augmenter le nombre de ranks impacte négativement la fréquence maximale de votre set de RAM. Par exemple, sur un processeur Ryzen, passer de simple à double rank fait perdre 200 à 400 MHz (on passe souvent de 3600 à 3200 MHz). Le deuxième désavantage, ce sont les timings (réglages qui gèrent le temps d’accès à la mémoire) qui eux aussi sont plus « larges ».

 

Les arrangements possibles de ranks mémoire

Maintenant que je vous ai expliqué ce qu’étaient les ranks, pourquoi ils existent et quels sont leurs avantages et inconvénients, il reste à savoir comment les « construire ». Car pour rappel, la première partie de l’article parlait des canaux mémoire, alors comment tout cela fonctionne-t-il ensemble ? Pour commencer, une règle simple : les ranks ne peuvent pas s’additionner à travers plusieurs canaux. L’endroit où vous mettez vos barrettes de RAM a donc son importance. Comme un dessin vaut mille explications, je vous ai illustré tout ça. Les barrettes mémoires sont en gris avec leurs puces en noir. De gauche à droite, nous avons un canal occupé et un seul rank, deux canaux occupés mais toujours une configuration avec un seul rank, et finalement un seul canal occupé et deux ranks.

 

 

Maintenant, le cas avec des barrettes à deux ranks qui ont donc des puces mémoires sur les deux faces. Toujours de gauche à droite : un canal occupé et deux ranks (cette configuration est du coup équivalente à la troisième configuration juste au-dessus), ensuite deux canaux occupés et deux ranks, et pour le dernier, nous avons un seul canal occupé mais quadruple ranks !

 

 

Pour terminer, il est possible de faire des hybrides tels que ceux représentés ci-dessous. À gauche, nous avons une configuration qui est possible mais un peu particulière vu qu’un canal a un rank et l’autre canal deux ranks. Quant à la configuration de droite, il y a un seul canal occupé et donc du triple ranks.

 

 

Bien sûr, ces principes sont valables avec autant de canaux mémoire que vous le voulez. Pour cette raison, vous pourrez même trouver de l’octuple ranks dans le milieu des serveurs.

 

Conclusion sur les ranks mémoire

On l’a vu, les ranks mémoire ont leurs avantages et inconvénients, mais quel est le poids de ces arguments ? La conclusion simple et dure est que les ranks ne sont pas très intéressants pour un consommateur moyen. Oui ils font gagner du temps au processeur en lui permettant de paralléliser les cycles d’écriture et de rafraîchissement de la RAM. Mais l’impact négatif sur la vitesse et les timings réduit ce gain à néant. C’est donc une technologie intéressante pour quiconque ayant l’utilité d’une grande quantité de mémoire, mais inutile voire désavantageuse pour ceux qui cherchent les performances.

 

Pour terminer cet article, j’aimerais remercier Buildzoid de la chaîne Actually Hardcore Overclocking pour son excellent contenu vidéo, sans lequel cet article n’existerait pas.

Voir commentaires (5)
5 Comments

      Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

      Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.