piste LA RAM : définition, timings, réglages

Statut
La discussion n'est pas ouverte à d'autres réponses

Aurelya

Expert
La RAM

PCXXXX

La nomenclature PCXXXX (où XXXX représente un nombre) est utilisée par la majorité des fabricants pour représenter le débit d'une mémoire. Ce débit est directement lié à la fréquence du bus mémoire. Actuellement, une barrette mémoire transfère ses données en 64 bits (8 octets par cycle). Avec une fréquence de bus de 200 MHz, elle est donc capable de transférer 200 x 8 soit 1600 Mo par seconde. En utilisant de la mémoire DDR (Double Data Rate), la quantité d'information transmise est double, soit 3200 Mo/s. C'est cette valeur que l'on retrouve au niveau de la nomenclature de la RAM.
Suivant les modèles de processeur et de carte mère utilisés, la fréquence de la mémoire pourra être désynchronisée de la fréquence du bus du processeur. Petit rappel : la fréquence d'un processeur est obtenue à l'aide de la fréquence de son bus. Ainsi, un modèle actuel à 3 GHz fonctionnant sur un bus à 200 MHz a un coefficient multiplicateur de 15. Avec une barrette mémoire cadencée à 250 MHz et un processeur à 200 MHz, les deux fréquences de fonctionnement sont désynchronisées. Sans changer le multiplicateur, on tombe dans l'overclocking du processeur qui voit alors sa fréquence de fonctionnement grimper à 3,75 MHz. De plus en plus de processeurs étant limités dans l'intervalle de leur fréquence de fonctionnement, il sera impossible d'utiliser des barrettes mémoire ayant elles-mêmes des fréquences trop élevées. Notez également que la notation PCXXXX ne tient pas compte non-plus de la RAM Dual-Channel qui permet de doubler le débit théorique de la mémoire en utilisant deux barrettes simultanément.

Définition de la latence
On définit la latence par le temps nécessaire à la récupération et à la transmission d'une information sur le bus mémoire. Le processeur peut avoir accès à certaines informations plus ou moins rapidement suivant les réglages de timing utilisés.
Comme vu précédemment, le XXXX de la nomenclature PCXXXX correspond au débit qu'est capable de supporter une barrette mémoire. Ce débit, exprimé en Mo/s, représente un certain nombre de 0 et de 1 transmis par seconde. Plus ce débit est important, plus la quantité d'informations traitées est grande. Les informations sont arrangées en mémoire sous la forme de lignes et de colonnes (notion à se souvenir pour les notions de RAS to CAS delay énoncées plus bas).


Définition du Timing
Plus on cherche à obtenir une grande quantité d'informations rapidement et plus on risque de rencontrer une erreur. Les fameux timing sont là pour définir la vitesse à laquelle la RAM sera autorisée à aller chercher les informations demandées par le processeur. Ces valeurs ne concernent que la mémoire, même si elles sont directement liées à la fréquence du bus mémoire.
Lorsque le processeur a besoin d'une information, il adresse sa demande au contrôleur mémoire. Ce dernier ne sait pas précisément où est stockée cette information en RAM. Il transmet donc la demande au contrôleur de mémoire qui va se charger de parcourir la ou les barrettes mémoire pour trouver la donnée demandée.
La RAM organise ses informations en lignes et colonnes. C'est le numéro de ligne et de colonne qui est transmise à cette RAM par le contrôleur mémoire. Cette RAM part chercher l'information et la transmet au processeur via le bus mémoire. Plus on demande d'informations, plus le risque d'erreur augmente. Pour éviter cela, on règle la vitesse à laquelle les colonnes et les lignes peuvent être explorées. Cette vitesse dépendra de la mémoire en place et de la fréquence à laquelle fonctionne le bus. Pour régler tout cela, on dispose alors de plusieurs paramètres différents que l'on peut régler de manière plus ou moins agressive.


tRAS, tRCD, tRP, CAS, CPC...

Les paramètres associés à la RAM sont nombreux, ce qui en fait un composant plutôt complexe à appréhender. Chaque barrette de mémoire dispose de paramètres par défaut qui lui correspondent (les fameux réglages notés SPD dans les bios) garantissant un bon fonctionnement avec un bus à 200 MHz. Dans tous les cas, on retrouvera les quatre valeurs de timing les plus importantes dans les bios. Pour trouver une information dans la mémoire, une série d'événements se succèdent :
  1. ROW Activate : signal envoyé par le contrôleur à la RAM indiquant que l'adresse physique a été déterminée.
  2. RAS to CAS Delay (tRCD) : premier paramètre important du timing mémoire. Il correspond au temps qui doit s'écouler après que l'on a identifié le numéro de colonne (donc que le signal Row Activate a été transmis) et avant que la mémoire ne soit prête à le recevoir. Il est intéressant d'utiliser une valeur assez faible (valeurs 2 ou 3, pouvant monter jusqu'à 4 voire 6 dans certains cas - plus la valeur est petite, plus aggressif est le comportement de la mémoire).
  3. CAS Latency Control (Column Address Strobe - CAS Latency Control) : il s'agit du temps mis entre le moment de réception du signal CAS (la mémoire est prête à recevoir le numéro de colonne à rechercher - information transmise par le contrôleur mémoire) et le moment où cette information est placée dans le buffer de sortie afin d'être effectivement transmise au processeur (le signal CAS est alors stoppé). Plus la valeur est faible, plus la RAM est sollicitable rapidement, pouvant provoquer des latences (voire des plantages). Dans ce cas, il faut remonter la valeur du signal CAS.
  4. RAS Precharge (Row Precharge Time) : il arrive très souvent que l'information demandée ne se trouve pas dans la rangée sur laquelle la mémoire est en train de travailler à un instant T. Le RAS Precharge mesure le temps nécessaire à la RAM pour passer d'une rangée à l'autre.
  5. Min RAS Active Time (tRAS) : ce signal correspond au temps qui doit s'écouler entre l'ouverture de deux rangées, autrement dit, le temps entre l'émission de deux signaux d'accès successifs. Il dépend donc des paramètres précédents. Contrairement aux autres signaux, il n'est pas forcément très judicieux de choisir ici un nombre de cycles trop bas car on risque de se retrouver avec un embouteillage gênant au niveau de la RAM si ce signal est envoyé trop tôt. De même opter pour une valeur trop élevée oblige l'ensemble à attendre plus longtemps que nécessaire. En général, on considère qu'une valeur entre 6 et 8 cycles est cohérente (tRAS = tRCD + CAS + 2). C'est en quelque sorte le temps de récupération entre deux recherches.
  6. DRAM Command RATE : cette commande correspond au délai qui s'écoule entre la réception d'une demande et son exécution. Certains bios parlent de CPC (Cycle Per Clock). Il est préférable d'opter pour la valeur la plus faible possible.


Quel est le bon réglage ?
Ce n'est pas évident de choisir les réglages optimaux à la première tentative. En fonction de la fréquence du bus mémoire ainsi que de la qualité de la barrette, les valeurs du timing pourront être différentes. La plupart des constructeurs indiquent les timings recommandés pour les paramètres les plus importants : CAS, tRAS, tRCD, tRP. En général, elles sont données pour des bus à 200 MHz.

Source : http://www.lagooncp.com/doc_ram.php
 
Dernière édition:
Salut l'ami, :sourire-4e62:

Merci pour l'article vraiment très intéressant mais je pense que tu devrais citer la source !!! :sourire1:
 
Oui surtout que j'ai déjà fait un TUTO il y a pas longtemps en citant un topic du forum qui explique tout...
 
Statut
La discussion n'est pas ouverte à d'autres réponses
Retour
Haut