Geheugenhiërarchie en prestaties

Bij een miss wordt een regel van 64 byte gelezen en de wachttijd van het hoofdgeheugen is 100 ns. Als slechts één miss tegelijk kan worden afgehandeld, blijft de leesbandbreedte beperkt tot ongeveer 0,64 GB/s. Hoeveel bedraagt de bandbreedte ongeveer wanneer 10 misses tegelijk kunnen worden afgehandeld? (Andere beperkingen worden buiten beschouwing gelaten.)

  1. A0,064 GB/s
  2. B0,64 GB/s
  3. C6,4 GB/s
Antwoord en toelichting tonen

Antwoord: C. 6,4 GB/s

De bandbreedte volgt uit de hoeveelheid gelijktijdig in behandeling zijnde data gedeeld door de wachttijd (wet van Little). Bij één miss is dat 64 B ÷ 100 ns = 0,64 GB/s; bij 10 gelijktijdige misses is het 10 × 64 B ÷ 100 ns = 6,4 GB/s. Om de bandbreedte van het hoofdgeheugen volledig te benutten is niet alleen een kortere wachttijd nodig, maar ook memory-level parallelism, het gelijktijdig afhandelen van veel misses. 0,64 GB/s blijft de waarde bij één gelijktijdige miss, en 0,064 GB/s is de waarde na ten onrechte door 10 delen.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. Wat is het belangrijkste voordeel van stores die de cache omzeilen (non-temporal stores) bij het wegschrijven van grote data die eenmaal worden geschreven en daarna een tijd niet worden teruggelezen?
  2. Wat is de missratio wanneer de hitratio van de cache 95% is?
  3. Welke techniek stuurt, bij het inlezen van een gemiste regel uit het hoofdgeheugen, eerst het woord dat de CPU nodig heeft en pas daarna de rest?
  4. Waarom wordt het samenvoegen van de twee bovenstaande lussen tot één lus (loop fusion) bij grote N vaak sneller?
  5. Waarom treden bij het transponeren van een grote matrix (b[j][i] = a[i][j]) vaak veel cachemisses op, en welke combinatie met een gangbare oplossing is juist?

Vergelijkingen bij dit onderwerp