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)?

  1. AHet aantal cachemisses zelf kan worden verlaagd ten opzichte van een blocking cache
  2. BGemiste data kunnen sneller uit het hoofdgeheugen worden gelezen
  3. 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.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. De missratio van de L1-cache (als aandeel van alle toegangen) is 4% en de globale missratio van de L2-cache (aandeel van alle toegangen dat ook in L2 mist) is 1%. Wat is de lokale missratio van L2?
  2. Wat is het bereik dat zonder TLB-miss kan worden benaderd (TLB reach) bij een TLB met 64 entries en een paginagrootte van 4 KB?
  3. Welke combinatie van het belangrijkste voordeel en nadeel van het gebruik van grote pagina's (huge pages) is juist?
  4. Wanneer een rij van een tweedimensionale array 4096 byte (een macht van 2) groot is, kunnen er bij het langs de kolom doorlopen van elementen veel misses optreden, ook als de cache voldoende capaciteit heeft. Welke maatregel is daartegen effectief?
  5. Hoeveel keer zo lang duurt een toegang tot het hoofdgeheugen (DRAM) ongeveer in vergelijking met een hit in de L1-cache? (Voor de CPU van een gangbare pc of server.)

Vergelijkingen bij dit onderwerp