• AgoraVox sur Twitter
  • RSS
  • Agoravox TV
  • Agoravox Mobile


Commentaire de tytouf

sur Puce multi-cœur contre programmeur


Voir l'intégralité des commentaires de cet article

tytouf 27 août 2008 16:53

@ fb,

reprenons les cours d’architecture et de système d’exploitation :

On appelle généralement thread ou fil d’exécution, le contexte processeur. À côté il y a ce qu’on appelle un contexte mémoire qui permet d’isoler (au niveau données) les fils d’éxécution les uns des autres. Par exemple sous Linux, un processus c’est un contexte mémoire plus un ou plusieurs fil d’éxécution. Effectivement, lors d’un changement de contexte mémoire, il faut invalider le TLB et les caches. Suivant les processeurs cette opération est plus ou moins explicite et plus ou moins couteuse (sur les derniers ARM par exemple ça coute presque rien car le cache est indexé sur les adresses physiques)

Par exemple, le scheduling de Linux travaille sur les threads, lors d’un changement de thread il vérifie si les espaces mémoires sont les mêmes. Si c’est le cas, Linux n’effectue qu’un changement de contexte processeur, sinon il change les deux contextes.


Voir ce commentaire dans son contexte





Palmarès