Czy trafienie TLB może prowadzić do błędu strony w pamięci?

W wideo wykładach UC Berkley na temat OS autorstwa Johna Kubiatowicza (Prof. Kuby) dostępnych w sieci wspomniał, że trafienie TLB nie oznacza, że odpowiednia strona jest w pamięci głównej. Błąd strony może nadal wystąpić.
Technicznie TLB są buforem dla wpisów tabeli stron, a ponieważ wszystkie wpisy tabeli stron nie mają odpowiedniej strony dostępnej w pamięci głównej. To samo może być prawdą dla TLBs. Trafienie TLB może prowadzić do błędu strony.

Ale według algorytmów podanych w podręcznikach jestem nie mogę znaleźć takiej sprawy. W przypadku jądra TLB miss zajrzyj do tabel stron i zaktualizuj pamięć podręczną TLB dla odpowiedniego tłumaczenia adresów. Następne trafienie TLB nie może prowadzić do błędu strony. Gdy jądro zamienia stronę, aktualizuje odpowiednie bity dla tego wpisu w tabeli stron i unieważnia odpowiedni TLB, więc nie może być trafienia TLB następnym razem, dopóki strona nie zostanie załadowana do pamięci głównej.

Więc może ktoś stanąć za poprawnością twierdzenia prof. kuby i wskazać przypadek, gdy zamiast TLB hit (the przetłumaczony adres fizyczny dla odpowiedniego adresu wirtualnego w found in TLB), może wystąpić błąd strony?

Author: VividD, 2011-06-18

3 answers

Przykładem jest sytuacja, gdy dostęp do pamięci jest inny niż dozwolony.

Np. chcesz zapisać do pamięci, która jest chroniona przed zapisem. TLB istnieje, jest hitem i adres jest tłumaczony. Ale przy dostępie dostajesz pułapkę, ponieważ próbujesz zapisać do pamięci, która jest tylko do odczytu

 13
Author: Lyke,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-18 21:42:30

Błąd strony nie oznacza brakującej strony w pamięci. Strona może być nadal obecna i być brudna. Jest to również Błąd strony. Ogólnie rzecz biorąc, Błąd strony odnosi się do scenariusza, w którym uzyskane tłumaczenie nie może być skutecznie wykorzystane. Może to być brakująca strona lub brudna strona lub niedopasowanie uprawnień dostępu. Więc trafienie TLB może nadal prowadzić do błędu strony.

 2
Author: AcidBurn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-30 18:53:53

Patterson mówi: "nie można mieć tłumaczenia w TLB, jeśli strona nie jest obecna w pamięci" [computer organization and design,4th ed revised, page 507]

 -2
Author: Ali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-08 14:44:24