- Liittynyt
- 22.10.2016
- Viestejä
- 12 619
Esimerkiksi Intelin prossuissa on ollut enabloituna iät ja ajat "adjacent cache line prefetch" eli järjestelmä lataa aina myös seuraavan cachelinjan muistista - tilanne vastaa täysin 128-bittisiä cachelinjoja muistin näkökannasta. Tuonhan saa toki disabloitua mutta se vain huonontaa muistien suorituskykyä melkein kaikkialla koska efektiivistä kaistaa saadaan muisteista enemmän ulos 128-bittisillä luvuilla.
Seuraavan vai viereiseen? Nämä on eri asioita.
jos tehdään accessi osoitteeseen 80, niin:
1) ilman mitään pretetchiä 64-tavuisella välimuistilinjalla se lataa välimusitilinjan, jolla on osoitteet 64-127.
2) ilman mitään prefetchiä 128-tavuisella välimuistilinjalal se lataa välimuistilinja, jolla osoitteet 0-127
3) Seuraavan välimuistilinjan prefetchillä 64-tavuisella välimuistilinjalla ladataan välimuistilinjat, joilla on osoitteet 64-127 sekä 128-191.
Kahta peräkkäistä välimuistilinjaa ei voi järkevästi/tehokkaasti ladata samalla purskeella vaikka väylä levennettäisiin, jos ensimmäinen lohkoista on indeksiltään pariton, koska alignment menee väärin.
Viimeksi muokattu: