Geheugenhiërarchie en prestaties

In een cache met regelgrootte 64 byte en 64 sets: welk setnummer krijgt het adres 0x1234?

  1. A4
  2. B52
  3. C8
Antwoord en toelichting tonen

Antwoord: C. 8

De offset is 64 = 2⁶, dus de onderste 6 bits; de index is het aantal sets 64 = 2⁶, dus de 6 bits daarboven. 0x1234 = 4660; 4660 ÷ 64 = 72 rest 52, dus het regelnummer is 72. Het setnummer is het regelnummer modulo het aantal sets: 72 mod 64 = 8. 52 is de rest na deling door 64 en geeft de positie binnen de regel (offset) aan. 4 is slechts het laatste hexadecimale cijfer van het adres en heeft niets met de set te maken.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Geheugenhiërarchie en prestaties

  1. Wat is de belangrijkste reden dat write-back voordeliger is dan write-through bij het herhaaldelijk schrijven naar dezelfde regel?
  2. LRU verdringt wat het langst niet is gebruikt. Welke uitspraak is juist over de methode die verdringt wat in de toekomst het langst niet wordt gebruikt (optimale vervanging, OPT)?
  3. Wat gebeurt er in het algemeen met de hittijd wanneer de capaciteit van de cache wordt vergroot, en welke combinatie met de reden is juist?
  4. Waarom is het doorlopen van bovenstaande gekoppelde lijst doorgaans veel trager dan het sequentieel lezen van een array met evenveel elementen?
  5. 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.)

Vergelijkingen bij dit onderwerp