2013-08-29 11 views
5

Czy pamięć podręczna procesora obsługuje adresy fizyczne lub wirtualne? A jeśli dotyczy adresów wirtualnych, oznacza to, że należy opróżnić przełącznik kontekstowy, zakładając, że nowy wątek pochodzi z innego procesu.Czy pozycja pamięci podręcznej CPU zawiera adres fizyczny lub wirtualny?

+0

Nie trzeba opróżniać (jeśli dotyczy adresów wirtualnych) na przełącznikach wątku, tylko jego wpisy stają się nieaktualne i zostaną ostatecznie nadpisane i ponownie użyte. BTW, twoje pytanie jest tylko zależne od sprzętu (i nie ma nic wspólnego z 'C',' Linux' lub 'gcc' ....) –

Odpowiedz

1

CPU może zrozumieć tylko adresy wirtualne. MMU Sprzęt jest odpowiedzialny za tłumaczenie adresów wirtualnych na fizyczne. Oczywiście adresy wirtualne są powiązane z konkretnym procesem.

+2

Zależy to od modelu procesora. –

3

Zależy to od modelu procesora. Some processors use both. (Zobacz "SPARC" w sekcji "Wirtualne znaczniki i vhints").

Oznaczyłeś to pytanie na x86-64, a odpowiedź na wszystkie modele x86-64 może zostać udzielona do tej pory, ale nie jestem upewnić się, czy specyfikacja architektury określa, czy procesory zgodne ze specyfikacją muszą używać tych lub innych informacji o pamięci podręcznej.

Powiązane problemy