Geheugenhiërarchie en prestaties
Wat is het belangrijkste voordeel van een non-blocking cache (een cache die tijdens het afhandelen van een miss andere toegangen blijft accepteren)?
- AHet aantal cachemisses zelf kan worden verlaagd ten opzichte van een blocking cache
- BGemiste data kunnen sneller uit het hoofdgeheugen worden gelezen
- CDe wachttijden van meerdere misses overlappen elkaar en hits kunnen ondertussen worden afgehandeld
Antwoord en toelichting tonen
Antwoord: C. De wachttijden van meerdere misses overlappen elkaar en hits kunnen ondertussen worden afgehandeld
Bij een blocking cache moeten alle volgende toegangen wachten tot de afhandeling van één miss is voltooid. Een non-blocking cache heeft speciale registers (MSHR) om missinformatie vast te leggen, kan tijdens de afhandeling hits beantwoorden en kan gelijktijdig andere misses bij het hoofdgeheugen aanvragen. Zo overlappen en verbergen wachttijden, maar het aantal misses zelf neemt niet af en ook de leestijd uit het hoofdgeheugen per miss verandert niet. Het effect is het grootst in combinatie met out-of-order uitvoering.