Changes between Version 11 and Version 12 of FAQ-oct19-S2


Ignore:
Timestamp:
Jun 29, 2020, 6:04:43 PM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FAQ-oct19-S2

    v11 v12  
    4949Je vous recommande de revoir les transparents des 2 cours sur les caches ([htdocs:cours/ALMO-2019-5_Cache.pdf Hiérarchie mémoire et techniques de cache] et [htdocs:cours/ALMO-2019-6_Cache-suite.pdf Caches (suite)]).
    5050
    51 1. ligne de cache et case de cache.\\
     511. Ligne de cache et case de cache.\\
    5252     Je vais faire l'hypothèse que vous avez compris ce qu'est une ligne de cache et une case de cache.\\
    5353     Le cache lit des lignes en mémoire et il les copie dans ces cases.\\
    5454
    55552. Numéro de ligne\\
    56      Les lignes sont des segments d'adresse de 8 ou 16 ou 32 ou 64 octets alignés en mémoire  (l'adresse du premier octet est un multiple de sa taille).\\
     56     Les lignes sont des segments d'adresse de 8 ou 16 ou 32 ou 64 octets alignés en mémoire (l'adresse du premier octet est un multiple de sa taille).\\
    5757     Les lignes sont numérotées et pour connaitre dans quelle numéro de ligne se trouve un octet quelconque, il suffit de diviser l'adresse de l'octet par la taille d'une ligne.
    5858
    59 3. Case de cache et correspondance directe.
     593. Case de cache.
    6060     Quand le cache lit une ligne en mémoire, il doit la placer dans l'une de ces cases.\\
    61      Dans un cache à correspondance directe, le numéro de la case choisie ne dépend que du numéro de la ligne.\\
     61     Le numéro de la case utilisé pour ranger une ligne se nomme index de ligne.\\
     62     Comme le nombre de cases est une puissance de 2, le nombre de bit de l'index est juste le log2 du nombre de cases.\\
     63     Par exemple, pour 16 cass il faut 4bits pour l'index, pour 128 cases il faut 7 bits, pour 256 cases il faut 8 bits.\\
     64     
     654. Correspondance directe
     66     Dans un cache à correspondance directe, la case choisie pour une ligne ne dépend que de son numéro (de ligne).\\
     67     Plus précisement, on utilise comme index les bits de poids faible du numéro de ligne.\\
     68     
     69Quand on pose la question suivante : quels éléments d'un tableau sera rangé dans une case d'index C du cache ?
     70* Il faut commencer par regarder quelles lignes en mémoire utilisent le tableau. C'est possible de savoir ça, parce qu'on connait l'adresse du tableau en mémoire et la taille des lignes. 
     71* Puis quand on connait les lignes, il faut regarder dans quelles cases du cache, elles sont rangées.
     72* Puis enfin, vous pouvez en déduire ce qu'il y a dans une case en particulier.
    6273
    63 
     74Attention si le tableau est plus grand que le cache, alors une case du cache, est utilisé pour plusieurs éléments du tableau.
    6475
    6576{{{