- Liittynyt
- 22.10.2016
- Viestejä
- 12 621
Siirretty muualta:
Zen tukee TLB coalescingia (kutsuu nimellä PTE coalescing). Zenissä yksi TLB-entry pystyy säilömään kahdeksan peräkkäisen virtuaalimuistisivun mäppäyksen, jos nämä osoittavat peräkkäisiin fyysisiin sivuihin.
Mainitaan esim. tuolla sivulla 16:
Ja modernien käyttisten muistinhallinta tyypillisesti mäppää muistin siten että ne kahdeksan virtuaaliosoitteeltaan peräkkäistä sivua päätyvät peräkkäisille fyysisielle sivuille, kun ne pyydetään käyttikseltä kerralla, jos vaan fyysinen muisti ei ole todella pahasti fragmentoitunut, tai melko pahasti fragmentoitunut sekä hyvin vähissä.
Ja voi olla varma, aika varma, että noita benchmarkkeja ei ole ajettu systeemillä jossa muisti on vähissä tai todella pahasti fragmentoitunut.
Zen3n L1DTLBssä on 64 entryä, eli mikäli coalescing toimii kuten Zen1/Zen2ssa, sinne mahtuu siis 512 entryä.
Zenin L1D-kakussa on 32kB / 64B = 512 linjaa.
Zenin L1DTLB siis riittää kattamaan koko L1D-kakun, silloin TLB coalescing toimii(eli yleensä).
"Todisteesi" taitaakin tosiasiassa todistaa sen, että TLB coalescing toimii noilla Anandtechin testisetupeilla.
Tässä kun olen jonkun aikaa höpissyt mahdollisesta L1-cachen virtuaalisesta accessoinnnista niin tässä on itseasiassa todiste, ei satavarma kun en tiedä käytettyä TLB-trash algoritmiä. Mutta sekä L1 että TLB ovat erillisiä cacheja ja L1 TLB:n koko ei riitä kattamaan koko L1-cachea TLB-trashissä, eli jossa joka L1-linja varataan eri TLB-sivulta. TLB ei missaa L1:ssä -> L1 accessoidaan virtuaalisesti ja mahdollinen TLB-tarkistus tehdään vaiheessa jossa sen käännös ehtii tulla myös L2-tlb:stä. Tai koko TLB-käännöstä ei tehdä L1-accessissa.
Zen tukee TLB coalescingia (kutsuu nimellä PTE coalescing). Zenissä yksi TLB-entry pystyy säilömään kahdeksan peräkkäisen virtuaalimuistisivun mäppäyksen, jos nämä osoittavat peräkkäisiin fyysisiin sivuihin.
Mainitaan esim. tuolla sivulla 16:
Ja modernien käyttisten muistinhallinta tyypillisesti mäppää muistin siten että ne kahdeksan virtuaaliosoitteeltaan peräkkäistä sivua päätyvät peräkkäisille fyysisielle sivuille, kun ne pyydetään käyttikseltä kerralla, jos vaan fyysinen muisti ei ole todella pahasti fragmentoitunut, tai melko pahasti fragmentoitunut sekä hyvin vähissä.
Ja voi olla varma, aika varma, että noita benchmarkkeja ei ole ajettu systeemillä jossa muisti on vähissä tai todella pahasti fragmentoitunut.
Zen3n L1DTLBssä on 64 entryä, eli mikäli coalescing toimii kuten Zen1/Zen2ssa, sinne mahtuu siis 512 entryä.
Zenin L1D-kakussa on 32kB / 64B = 512 linjaa.
Zenin L1DTLB siis riittää kattamaan koko L1D-kakun, silloin TLB coalescing toimii(eli yleensä).
"Todisteesi" taitaakin tosiasiassa todistaa sen, että TLB coalescing toimii noilla Anandtechin testisetupeilla.
