Changes between Version 9 and Version 10 of FAQ-oct19-S2


Ignore:
Timestamp:
Jun 28, 2020, 5:36:02 PM (4 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FAQ-oct19-S2

    v9 v10  
    4545>* soit écrire dans le registre de masque de l'ICU dont l'adresse est "mappée" (placée) au-delà de 0x80000000.[[BR]] Or y écrire est interdit en mode user, cela provoque une exception.
    4646
     47== Rappel de cours sur les caches
     48
     49Je 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)]).
     50
     51{{{
     52#!comment
     53* Le processeur dispose d'un espace d'adressage 32bits.
     54  Cela veut dire qu'il peut donc former des adresses de 32bits et accéder à 2^32^ octets.
     55* Quand le processeur accède à la mémoire, il lit ou il écrit le plus souvent des mots de 4 octets. \\
     56  Un mot peut être vu comme un segment d'adresse de 4 octets.\\
     57  Les mots sont alignés, ce qui signifie que l'adresse du premier octet est un multiple de sa taille, donc multiple de 4.
     58* Les caches de niveau 1 (L1) sont placés entre le processeur et la mémoire. \\
     59  Il y a un cache pour les instructions et un cache pour les données.
     60* Les caches permettent de réduire le nombre d'accès à la mémoire en faisant une copie locale des instructions ou des données lues.\\
     61  L'efficacité des caches repose sur deux propriétés des programmes : la localité spatiale et temporelle des accès à la mémoire.
     62  * La localité temporelle, c'est le fait que si un programme accède à une donnée (ou à une instruction),\\
     63    il y a une forte probabilité qu'il y accède à nouveau dans peu de temps.
     64  * La localité spatiale, c'est le fait que si un programme accède à une donnée (ou à une instruction),\\
     65    il y a une forte probabilité qu'il accèdes aux adresses voisine.|i
     66* Pour profiter de ces propriétés, quand le processeur demande une donnée, il la demande au cache et si c'est la première fois\\
     67  le cache va lire la donnée demandée et les données voisines (localité spatiale)\\
     68  et les copier localement pour éviter de nouveaux accès à la mémoire lors ques prochain accès (localité temporelle).
     69* Le cache lit des petits segments d'adresses que l'on nomme des lignes de cache.\\
     70  Une ligne de cache a une taille puissance de deux octets et forcément plus grande qu'un mot, donc 8, 16, 32, voire 64 octets (rarement plus).\\
     71  Les lignes sont alignées (adresse du premier octet est multiple de sa taille).
     72* Le cache stocke les lignes de cache dans des cases de caches.
     73* Donc, quand le processeur fait une lecture de donnée le cache détermine le numéro de la ligne dans laquelle se trouve cette données
     74}}}