Memory Timing
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Memory Timing



  1. #1
    invite9baef2b4

    Question Memory Timing


    ------

    Bonjour,

    J'arrive pas à comprendre l'ordre des "timings" d'access à la RAM, on a le RAS, CAS, RAS to CAS et enfin cycle time. Est-ce que le cycle time c'est la somme de ces dèlais? Ou bien c'est seulement le temps de réponse de la mémoire c'est-à-dire le temps nécessaire pour qu'elle soit prête à un nouveau accès? En plus j'ai lu que ces délais sont dans l'ordre suivant:
    -CAS.
    -RAS to CAS.
    -RAS.
    -Cycle time.
    Cet ordre ne me parrait pas compréhensible

    J'attendends vos explications. Merci beaucoup. Cordialement!

    -----

  2. #2
    DAUDET78

    Re : Memory Timing

    Citation Envoyé par mathsloveer Voir le message
    En plus j'ai lu que ces délais sont dans l'ordre suivant:
    Donne un lien WEB sur ce que tu as lu ....
    J'aime pas le Grec

  3. #3
    jiherve

    Re : Memory Timing

    Bonsoir,
    Là tu t'attaques à du lourd.Comme les contrôleurs DRAM furent l'une de mes spécialités je devrais pouvoir t’éclairer mais de même que ce que demande Daudet, lien sur la data sheet, car il y a quelques subtilités entre les différentes générations de DDR.
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    invite9baef2b4

    Re : Memory Timing

    Merci pour votre attention, bah, j'ai lu ceci dans mon cours qui traite de l'architecture des ordinateurs et non sur une page web..

  5. A voir en vidéo sur Futura
  6. #5
    invite9baef2b4

    Re : Memory Timing

    Et les DRAM que nous étudions maintenant sont: synchrone pour pouvoir parler du memory timing et j'éspère des explications globales s'il vous plaît !

  7. #6
    jiherve

    Re : Memory Timing

    Bonjour,
    Le fait quelles soient synchrones ne fait pas apparaitre les timings, cela existait déjà sur les anciennes et car les timing principaux sont basiquement exprimés en nS et ensuite converti en nombre de cycles d'horloge.
    Donc tu parts de zéro , là c'est un challenge. Il faut que je fasse quelques dessins.
    @+
    JR
    l'électronique c'est pas du vaudou!

  8. #7
    mp3dux

    Re : Memory Timing

    En synchrone les timings sont indiqués en "Cycle Time", ce dernier = 1/fréquence.

    Y'a pas de somme de quoi que ce soit dans les timings, probablement une optimisation des constructeurs pour approcher le délai d'attente ce celle de la durée des ces opérations.
    Les mémoires sont de petits condensateurs qui stockent électricité '1' et se vident '0', les timings délais contribuent à aider le bios à gérer ces contraintes physiques.

    La mémoire est considérée comme une matrice ligne colonne :
    -on sélectionne une ligne, la durée d'activation, tRP
    - avant de sélectionner les colonnes (suite à un choix de ligne) faut attendre un délai minimum tRCD
    - ensuite l’accès à chaque donnée des différentes colonnes de la ligne choisie dure CL (en nombre de cycle) CL10 = 10 cycles, par exemple
    -denier timing le plus gros tRAS est le délai minium qu'il faut attendre entre l'activation de deux lignes différentes.

    C'est pour ça que dans la mémoire les données doivent être bien organisées pour enchaîner les lectures sur la même ligne, car le changement de ligne est plutôt lourd.
    Lorsqu'on lit sur une même ligne l'accès à la donnée ne vaut que CL, 10 cycles pour CL10, sauf pour la toute première lecture quand on vient de changer de ligne il faut en plus attendre tRCD une fois.

    CL-tRCD-tRP-tRAS , CL est le plus important car les données sont généralement alignées en mémoire, et chaque accès consécutif dure CL...
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  9. #8
    invite9baef2b4

    Re : Memory Timing

    Merci jiherve, J'attends votre prochaine réponse.

    mp3dux merci pour votre explication, donc si je ne me trompe pas si je vais faire correspandance entre les notations que j'ai fait au début et ceux que tu as fait on dirait que:

    RAS --> tRP.
    RAS to CAS --> tRCD.
    CAS--> CL.
    Cycle time --> tRAS. (C'est le temps entre de séléctions consécutifs de lignes c'est ça?)

    J'ai une autre question qui est un peu banal s'il vous plaît...C'est à prpopos du choix des lignes et colonnes par exemple on veut la case mémoire (4,7) de la RAM (selon la convention matrice de la mémoire). Est-ce-qu'on part directement vers la ligne et colonne voulue ou on parcours une par une jusqu'à l'atteindre.

  10. #9
    jiherve

    Re : Memory Timing

    Bonsoir
    En synchrone les timings sont indiqués en "Cycle Time", ce dernier = 1/fréquence.
    non il faut calculer à partir de la valeur indiquée en ns
    tiré d'une data sheet Micron DDR2 512 M
    Nom : timing512.jpg
Affichages : 190
Taille : 7,5 Ko
    Lorsqu'on lit sur une même ligne l'accès à la donnée ne vaut que CL, 10 cycles pour CL10, sauf pour la toute première lecture quand on vient de changer de ligne il faut en plus attendre tRCD une fois.
    ou plus si il faut refermer le bank et CL çà c'est la latence (comme le nom l'indique) avec un contrôleur bien fait on anticipe la prochaine lecture et c'est transparent car pipeliné et on obtient un flux continu de données.Toute l'astuce consiste à repartir de façon intelligente les adresses du µC sur celle de la mémoire, petit piège possible avec les caches du processeur.
    Est-ce-qu'on part directement vers la ligne et colonne voulue ou on parcours une par une jusqu'à l'atteindre.
    oui on atteint directement la bonne case mais avec des mémoires optimisées pour un fonctionnement en mode burst l’accès simple n'est pas efficace.
    JR
    l'électronique c'est pas du vaudou!

  11. #10
    mp3dux

    Re : Memory Timing

    Citation Envoyé par mathsloveer Voir le message
    RAS --> tRP.
    RAS to CAS --> tRCD.
    CAS--> CL.
    Cycle time --> tRAS. (C'est le temps entre de séléctions consécutifs de lignes c'est ça?)
    L'ordre c'est ça : CL-tRCD-tRP-tRAS
    tRAS, c'est à chaque fois que tu actives une ligne y a un tempo qui doit s’écouler avant de pouvoir activer une autre ligne, pendant ce temps t'es obligé soit d'attendre soit de lire sur une même ligne...

    Citation Envoyé par mathsloveer Voir le message
    J'ai une autre question qui est un peu banal s'il vous plaît...C'est à prpopos du choix des lignes et colonnes par exemple on veut la case mémoire (4,7) de la RAM (selon la convention matrice de la mémoire). Est-ce-qu'on part directement vers la ligne et colonne voulue ou on parcours une par une jusqu'à l'atteindre.
    RAM = Random Acces Memory, comme on sait, le Random veut dire que tu peux accéder à n'importe quel case sans forcement passer les précédentes .

    Pour le reste il y a des subtilités entre différentes types de mémoire et différentes générations comme jiherve l'a dit précédemment, par exemple tu peux avoir des mémoires organisées sous forme de BANK, de chips etc quand tu programmes en bas niveau t'es obligé de faire attention à ces caractéristiques. On trouve aussi les mémoires GDDR utilisées dans les cartes graphiques qui sont organisées differement.
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  12. #11
    mp3dux

    Re : Memory Timing

    Citation Envoyé par jiherve Voir le message
    Bonsoir
    non il faut calculer à partir de la valeur indiquée en ns
    tiré d'une data sheet Micron DDR2 512 M
    JR
    Bonjour jiherve, si on part du principe que la fréquence de la ram est variable, je ne vois pas ce dont tu parles en citant "valeur indiquée en ns".
    pourrais-tu donner plus d'explication ?
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  13. #12
    jiherve

    Re : Memory Timing

    Re
    Ben c'est simple le timing est exprimé en ns et c'est au concepteur/configurateur du contrôleur de faire un petit calcul tel que (cas Trc):
    periode clock * nb cycles >= Trc en général pour ne pas taquiner Murphy on prend nb cycles =Ceil(Trc/periode clock +0.5)
    Cela explique pourquoi le fait d'augmenter la fréquence d'horloge d'un bus mémoire peut se traduire par une diminution des performances toujours avec Trc avec Trc# = Ceil(Trc/periode clock) :

    Trc = 55 ns Fclk = 125Mhz => Trc# = 7ck = 56ns
    Trc = 55 ns Fclk = 150Mhz => Trc# = 9ck = 60ns
    En fait pour optimiser un timing en jouant avec l'horloge il faut faire une petite feuille excel qui recalcule tout et regarder les résultats en graphique, ce sont de jolies dents de scies croissantes.
    Bien sur cela ne change pas les paramètres directement exprimés en coups d'horloges car correspondant à de la logique synchrone.
    Une SDRAM (DDR ou autre) est basiquement une DRAM classique avec de la tripaille logique/architecture particulière et coté caractéristiques intrinsèques du bloc DRAM cela n'a pas tellement évolué, environ un facteur 2 sur les temps de cycles des meilleures DRAM d'y il a 30 ans.
    JR
    Dernière modification par jiherve ; 09/01/2017 à 20h45.
    l'électronique c'est pas du vaudou!

  14. #13
    mp3dux

    Re : Memory Timing

    Citation Envoyé par jiherve Voir le message
    Re
    Ben c'est simple le timing est exprimé en ns...
    JR
    ok, par exemple
    Ballistix 1 Go DDR2-SDRAM PC2-6400 4-4-4-12 - BL12864AA80A

    4-4-4-12 : en fait je parlais de ces timings, exprimés en Cycle time plus précisément "clock cycle time" = 1/fréquence, si je ne me trompe.
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

  15. #14
    jiherve

    Re : Memory Timing

    Bonjour,
    Oui là c'est exprimé en cycles mais pour une fréquence particulière
    PC2-6400 => DDR2-800 => fclock = 400Mhz
    4 : CL là cela reste des cycles
    4 :Trcd donc environ 10ns
    4 : Precharge environ 10ns
    12 : temps de cycle min environ 30ns
    tiré de la même data sheet
    Nom : timing512_1.jpg
Affichages : 171
Taille : 93,3 Ko
    la conf correspondante serait c'est 3-3-3-8 mais attention burst 4
    En burst 8 il faudrait 3-3-3-10 ,il faut 2 coups de plus pour sortir les 4 data supplémentaires
    JR
    l'électronique c'est pas du vaudou!

  16. #15
    mp3dux

    Re : Memory Timing

    Oui, pour les précisions. Heureusement que tout ça est transparent pour le commun des développeurs
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

Discussions similaires

  1. timing simulation xilinx ISE
    Par invitea0c4ca07 dans le forum Électronique
    Réponses: 0
    Dernier message: 29/03/2013, 16h05
  2. Logiciel de timing
    Par invitea0c4ca07 dans le forum Électronique
    Réponses: 7
    Dernier message: 04/03/2013, 13h41
  3. PIC : timing des sorties
    Par invite333d6beb dans le forum Électronique
    Réponses: 0
    Dernier message: 05/11/2007, 15h50
  4. Timing Analysis : critical warning ! aidez moi SVP !
    Par invite4ecbcd40 dans le forum Électronique
    Réponses: 3
    Dernier message: 06/04/2006, 17h02
  5. Explications d'un schéma de timing
    Par invitef3e52c30 dans le forum Électronique
    Réponses: 1
    Dernier message: 21/10/2003, 08h47
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...