Latence, influence sur la vitesse de la RAM


Hardware / mardi, janvier 1st, 2019

La latence est comme nous l’avons précédemment vu, le délai qui s’écoule entre la requête envoyée et sa réponse reçue. Le délai est donc un laps de temps qui au lieu d’être exprimé en temps de type seconde, l’est en cycle d’horloge. Les données de l’adresse mémoire sont arrangées en lignes et colonnes comme dans un tableau. Donc pour lire une adresse mémoire il faut pointer l’intersection entre une ligne et une colonne. Alors supposons que nous ayons une puce de la barrette de RAM dont la taille est de 16 Mb. Cette puce aurait un tableau composé de 2048 lignes et 2048 colonnes. A l’intersection de chaque ligne et colonne se trouve une adresse mémoire. Cette puce contiendrait alors 2048*2048 : 4.194.304 cellules.

Les adresses mémoire

Chaque cellule comprend 4 bits de données. Pour rappel les bits sont constitués de 0 et de 1. L’ordinateur est binaire parce que l’on traduit les 0 et les 1 par un voltage. Voici un exemple de ce pourrait être une partie de ce tableau :

AdresseColonne 1Colonne 2Colonne 3Colonne 4
Ligne 11101100101000110
Ligne 21011100011000000
Ligne 31111101001011100
Ligne 41011001110101100

Mais ce tableau n’est pas invariant dans le temps, il est fréquemment actualisé selon les niveaux de tension du condensateur de la puce. Pour lire les données d’une cellule (ou adresse) l’ordinateur doit donc donner sa ligne puis sa colonne. Il émet une adresse codée sur 11 bits car il faut une succession de 11 0 et de 1 pour écrire 4.194.304 en binaire.

RAS, CAS et tCRD

Cependant il faut une latence entre l’émission de l’adresse de la ligne et celle de la colonne, puisque les données sont représentées par des tensions. Car sans latence entre les deux émissions, la tension de l’une serait corrompue par la tension résiduelle de l’autre dans le condensateur. Alors l’adresse résultante serait donc erronée. Afin d’éviter cette corruption, les adresses de ligne et de colonne sont verrouillées par des signaux appelés “strobes”. Le strobe d’adresse de ligne est noté RAS, tandis que le strobe d’adresse de colonne est noté CAS. La latence entre les deux est donc appelée RAS-CAS ou plus souvent TRCD (Time Row Column Delay).

CL : la latence de colonne

Généralement, mais cela n’est nullement obligatoire, les informations nécessaires se trouvent sur la même ligne mais pas dans la même colonne. Aussi le pointeur doit il se déplacer sur la colonne correcte, mettant en lumière une nouvelle latence. En conséquence il faut que les tensions correspondantes à la précédente colonne puissent être remplacées par celles de la nouvelle, tout en se stabilisant. Ainsi ce laps de temps est la Latence CAS notée CL (CAS Latency).

Puis dès que toutes les données d’une ligne ont été lues, il faut passer à la suivante. La lecture est séquentielle. Dans ces conditions il se produit une nouvelle latence que l’on définit comme le temps de pré-charge RAS noté tRP (time Row Precharge).

Cependant un nouveau délai fait son apparition. En effet non seulement la mémoire n’est pas toujours active mais aussi pour limiter la surchauffe des condensateurs et des puces, il faut des interruptions. D’où une nouvelle latence nécessaire à la réactivation des puces notée tRAS (time Row Active).  Alors on obtient la formule suivante :
tRAS >= tCL + tRCD + tRP

En somme on comprend que parler de latence est impropre. Puisqu’il s’agit de sommes de diverses latences, qui toutes ont leur importance dans l’accès à la mémoire. Enfin il faut introduire une dernière notion de latence. C’est celle qui est nécessaire à l’ordinateur pour sélectionner une autre puce de mémoire. Elle est nommée Taux de commande, mais aucun acronyme ne lui est associé. Souvent ce taux de commande est omis car il est le plus souvent égal à 1T. Pourtant on a remarqué que la modification pour l’overclocking de la mémoire du 1T par le 2T donnait de bons résultats.

La latence en pratique

Puisque nous avons défini les différentes latences entrant en jeu, examinons dans un exemple à quoi elles servent.

2-3-2-6-1T

D’abord le premier 2 est celui de la latence CAS : CL. C’est cette valeur qui a le plus d’importance sur les performances du système. On trouve généralement des valeurs de 2 ; 2.5 ou 3.

Ensuite le 3 c’est celui de la latence tRCD, généralement 2 ; 3 ou 4.

Puis le second 2 qui est la valeur de tRP, dont l’influence est quasi équivalente au précédent.

Enfin le 6 est le tRAS, dont la valeur impacte davantage la stabilité que les performances. Sa valeur est le plus souvent comprise entre 5 et 8.

Dans l’article précédent sur la RAM à la fin, il était noté que plus les valeurs sont basses meilleurs sont les résultats. Cependant vous n’avez sans doute jamais eu besoin de vous en servir, car le BIOS lit automatiquement les valeurs de l’EEPROM SPD du module de RAM.

Si vous disposez de deux (ou plus) barrettes de RAM et que celles-ci ont des synchronisations différentes, alors votre ordinateur choisira la valeur la plus élevée donc celle étant la plus lente, augmentant ainsi la latence et préservant la RAM de tout dommage. Cependant il est possible d’ajuster manuellement les paramètres de la RAM pour faire correspondre exactement les paramètres de latence indiqués sur votre barrette avec ceux identifiés dans votre BIOS. Cette partie étant réservée à l’expérimentation et à l’overclocking, elle ne sera susceptible de servir que dans moins de 1% des cas, et ne sera pas exposée ici.

Un prochain article sera dédié à l’identification des barrettes de RAM

Laisser un commentaire

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.