Set associative mapping: ik snap iets niet helemaal

Pagina: 1
Acties:

  • Teun_2
  • Registratie: Oktober 2003
  • Laatst online: 21-05 21:51
Ik ben aan het leren voor een tweede zit examen voor het vak uitbatingssytemen.

Een geheugenadres bestaat bij set associative mapping uit drie delen:

Het eerste deel s-d bits: de tag
Het tweede deel: d bits: de setidentificatie
Het derde deel (w bits): het woord, dus de offset die bij een bloknummer moet worden opgeteld om het te zoeken woord te bekomen

Het totaal anatal bits voor een geheugenadres is dus s + w, waarbij s het bloknummer aangeeft en w de offset voor het woord.

Bij set associative mapping, wordt een blok (dus de eerste s bits) gemapt op een set. hiervoor worden de least significant bits van het bloknummer gebruikt. (de middelste d bits)

Stel bijvoorbeeld s = 6, d= 3, w =2, (#tagbits = 3, #'setbits=3, #'woordbits'=2, dus 2³ sets, een lijn bestaat uit 2² woorden)

Dan wordt het blok met adressen 001 111 xx en het blok met adressen 010 111 xx dus op dezelfde set gemapt aangezien ze beiden het setnummer 111 hebben.

Wat ik niet snap is dat er in de cursus staat dat:
Anderzijds merken we op dat de blokken die mappen op dezelfde set dichter bij elkaar gelegen zijn in het main geheugen.
Als twee blokken op dezelfde set gemapt worden, dan moeten die toch minstens 1 000 00 geheugenplaatsen uit elkaar liggen in dit voorbeeld? De setnummer moet immers dezelfde zijn, dus enkel de tagnummer (de s-d bits) kan anders zijn, en dat zijn de meest significante bits, en dus moeten deze toch ver uit elkaar liggen?

Google kan me ook geen duidelijk antwoord geven. Iemand met meer kennis hiervan?
meer info

[ Voor 8% gewijzigd door Teun_2 op 21-08-2008 16:09 ]