Geheugenhiërarchie en prestaties
Wat is de belangrijkste reden dat VIPT (virtuele index, fysieke tag) vaak wordt gebruikt voor de L1-cache?
- AOmdat het fysieke adres niet nodig is, kan de TLB worden weggelaten
- BOmdat uitsluitend op het virtuele adres wordt beslist, kan de cache bij elke proceswisseling worden geleegd
- COmdat de set van de cache kan worden gelezen terwijl de TLB het adres vertaalt
Antwoord en toelichting tonen
Antwoord: C. Omdat de set van de cache kan worden gelezen terwijl de TLB het adres vertaalt
Bij VIPT wordt de set van de cache geselecteerd met bits binnen de pagina die niet vertaald hoeven te worden, zodat het lezen van de set tegelijk met de vertaling naar een fysiek adres door de TLB kan beginnen. Doordat uiteindelijk met de fysieke tag wordt vergeleken, worden gelijke virtuele adressen van verschillende processen niet verward. De TLB is nodig om de fysieke tag te verkrijgen en kan niet worden weggelaten. De noodzaak de cache bij elke proceswisseling te legen is een nadeel van tagging met virtuele adressen.