TLB: Comme un cache L1, mais ça garde les dernières mapping entre adresses virtuel et physique
L1 (I,O): Cache le plus rapide d’accès, ça stocke les dernière variables utilisés et leurs valeurs.
L2: Comme L1 mais un peu moins rapide, mais plus gros donc on le sollicite ne deuxieme
L3, L4: Plus gros, moins rapide
Quand on met dans le cache, on met toujours un peu plus.
Quand on déréference un case d’un tableau y’a de fortes chances qu’on deréference la deuxieme…
Rappel de la pipeline:
Fetch: Récupère une insctruction
Decode: Savoir quels registre nous interesse etc.
Execute: On commence a executer
Memory : on ecrit dans la mémoire si besoin
Writeback: Remet a jour les registres si besoin
Cela permet d’aller plus vite que si on faisait l’execution d’un coup car comme ça, on peut découper les tâches.
Les étapes qui sont touchés par le cache sont le fetch et memory.
Du coup c’est fetch et memory qui vont ralentir la pipeline car ils utilisent tous les deux L2 -> Solution: L1I et L1D
L2 est partagé entre les coeurs.
Gaby a expliqué au dernier cours que c’est L3 qui est entre les coeurs. A vérifier.
TLB: Lien entre adresse physique et virtuelle.
Comment améliorer l’algo du round robin ?
Pour le moment on a une queue, et on rentre des process IO-Bound et CPU-Bound.
IO-BOUND: Quantum plus petit mais plus fréquemment
CPU-Bound: Plus long mais moins fréquement
On a deux queue: IO Bound prgram et CPU bound program
Quand on passe de run a waiting -> Queue des IO Bound
Quand on passe de run a ready -> Queue des CPU Bound
CFS (Completly fair scheduler): Il faut minimiser le waiting time. On considère que chaque programmes a son propre cpu et on va compter leurs temps passer sur le cpu. Dans le CFS on a 4 scheduler différent. (plus d’info sur kernel.org)
SYS2 4
Résumé de la dernière fois
Deux types de tâches:
Waiting time
Type de caches
Quand on met dans le cache, on met toujours un peu plus.
Quand on déréference un case d’un tableau y’a de fortes chances qu’on deréference la deuxieme…
Rappel de la pipeline:
Cela permet d’aller plus vite que si on faisait l’execution d’un coup car comme ça, on peut découper les tâches.
Les étapes qui sont touchés par le cache sont le fetch et memory.
Du coup c’est fetch et memory qui vont ralentir la pipeline car ils utilisent tous les deux L2 -> Solution: L1I et L1D
L2 est partagé entre les coeurs.
Gaby a expliqué au dernier cours que c’est L3 qui est entre les coeurs. A vérifier.
TLB: Lien entre adresse physique et virtuelle.
Comment améliorer l’algo du round robin ?
Pour le moment on a une queue, et on rentre des process IO-Bound et CPU-Bound.
IO-BOUND: Quantum plus petit mais plus fréquemment
CPU-Bound: Plus long mais moins fréquement
On a deux queue: IO Bound prgram et CPU bound program
Quand on passe de run a waiting -> Queue des IO Bound
Quand on passe de run a ready -> Queue des CPU Bound
CFS (Completly fair scheduler): Il faut minimiser le waiting time. On considère que chaque programmes a son propre cpu et on va compter leurs temps passer sur le cpu. Dans le CFS on a 4 scheduler différent. (plus d’info sur kernel.org)
Cours d’alex