Was ist der Overhead eines Kontextwechsels?
Ursprünglich glaubte ich, dass der Overhead für einen Kontextwechsel darin bestand, dass der TLB gelöscht wurde. Allerdings habe ich gerade auf Wikipedia gesehen:
http://en.wikipedia.org/wiki/Translation_lookaside_buffer
Im Jahr 2008 haben sowohl Intel (Nehalem) [18] als auch AMD (SVM) [19] Tags als Teil des TLB-Eintrags und dedizierte Hardware eingeführt, die das Tag während der Suche überprüft. Obwohl diese nicht vollständig ausgenutzt werden, ist vorgesehen, dass diese Tags in Zukunft den Adressraum identifizieren, zu dem jeder TLB-Eintrag gehört.Somit führt ein Kontextwechsel nicht zum Leeren des TLB - aber ändern Sie einfach das Tag des aktuellen Adressraums in das Tag des Adressraums der neuen Aufgabe.
Bestätigt das oben Gesagte, dass bei neueren Intel-CPUs der TLB nicht bei Kontextwechseln gelöscht wird?
Bedeutet das, dass es jetzt keinen wirklichen Overhead in einem Kontextwechsel gibt?
(Ich versuche die Performance-Beeinträchtigung eines Kontextwechsels zu verstehen)