Ok muistin sitten tuon väärin, miten hän asiaa oli kommentoinut, enkä tähän hätään löydä sitä mitä hän tarkasti sanoi.
Tarkistin juuri spcesit. Yhdellä täydellä piirillä
1. ja 2. gen ryzeneissä L1 cachea 768 KB L2 cachea 4 MB ja L3 cachea 16 MB
Noista markkinointihuuhaasukupolvista ei kannata puhua, vaan kannattaa puhua ihan teknisistä mikroarkkitehtuureista.
Tämä on zen1.
Lisäksi tällainen välimuistien kokojen yhteenlaskeminen on typerää. Softa pystyy lataamaan dataa vain sen ytimen välimuistiin, jossa se ajautuu. Osumatarkkuuteen ja siten suorituskykyyn vaikuttaa yksittäisten välimustien koko, ei niiden yhteenlaskettu koko.
L0I (micro-op)-kakun koko zen1llä on 2048 micro-operaatiota.
L1D-kakun koko zen1llä on 32kiB, ei 768 kiB. L1I-kakun koko on 64 kiB, ei 768 kiB. Se, että niitä on monta kappaletta ei tee niistä isompia.
L2-kakun koko on 512 kiB.
L3-kakun koko on 8 MiB (työpöytä/HEDT/palvelinmallit) tai 4 MiB (mobiili-/APU-mallit). Ei 16 MiB.
3. gen ryzenissä L1 cachea 512 KB L2 cachea 4 MB ja L3 cachea 32 MB, tosin yhdellä ytimellä käytettävissä maksimissaan 16 MB koska CCX
Tämä on zen2.
L0I (micro-op)-kakun koko zen1llä on 4096 micro-operaatiota, tuplat zen1stä, melkein 3x skylakesta (1536).
Ja L1D-kakun koko on 32kiB, L1I-kakun koko 32kiB,
L2-kakun koko on 512 kiB, ei 4 MiB.
Ja L3-kakun koko on 16 MiB, ja niitä on yhdellä CCD-piilastulla 2kpl.
Ja APU-malleissa L3-kakku on edelleen 4 MiB, ei kasvanut.
5. gen ryzenissä L1 cachea ei ilmoiteta
L2 cachea 4 MB ja L3 cachea 32 MB, nyt yhdellä ytimellä koko cache käytettävissä ja tämä tuonut parannusta
Tämä on zen3.
L0I (micro-op) kakun kapasiteetti teoriassa sama 4096 micro-operaatiota mutta sen organisaatiota on muutettu siten että sen käytännön osumatarkkuus on silti paljon parempi
L1D- ja L1I-kakut samat 32 kiB sekä L2-kakut samat 512 kiB, mutta:
L3-kakku on isompi (työpöydällä/servereissä 16 => 32 MiB, APU-piireissä 4 => 16 MiB).
Mutta joo, näköjään cachen lisääntyminen on IPC: parantumisessa auttanut vain 5. gen ryzenissä nähden 3. gen ryzeniin ja mun muisteluilla/mutulla ei ollutkaan kovin paljoa totuuspohjaa. Kiitos korjauksesta.
Väärin.
L0I-cachen lisääntyminen on auttanut myös zen2ssa zen1een nähden, toisaalta L1I-kakun pienemisellä ollut vaikutusta toiseen suuntaan. AMD kuitenkin selvitti, että L0I:n n tuplauksen vaikutus suorituskykyyn on selvästi merkittävämpi kuin L1I:n puolitus, minkä takia tämä muutos tehtiin.
Lisäksi L3-kakun lisääntyminen on auttanut hyvin merkittävästi zen2ssa zen1een nähden.
Jiipee sanoi:
No ei se pelkästään cachesta ole tullut edelleenkään.
En ole koskaan sanonut, että se on tullut
pelkästään cachestä vaan että välimuistiin suurentaminen on ollut
merkittävä tekijä parannukseen, siinä missä Intel ei ole välimuistien suurentamiseen samassa mittakaavassa lähtenyt, ja intelillä IPC-kehitys ollut AMDtä pienempää sen takia että Intelillä välimuisteja kasvatettu
vähemmän.
Ja tosiaan alkuperäisessä zen1ssä/zeppelinissä L3-kakun pinta-ala oli n. puolet siitä mitä siihen kytkettyjen ytimien+L2n pinta-ala, zen2ssa(Matisse) n. yhtä paljon.
Rocket Lake on ehkä Intel-puolella ääriesimerkki tästä välimuistissa säästämisestä. Siinä on Comet Lakea uudempi ja parempi mikroarkkitehtuuri, mutta se ei ole peleissä käytännössä yhtään sen parempi, kun L3-välimuistin määrä putosi 20 => 16 megaan. Kun vanhalla "14nm" prosessilla ei vaan ollut varaa kasvattaa sitä L3-välimuistia. Samaan aikaan läppäreissä Tiger Lakessa L3-kakkua oli 24 megaa, joka oli jo parempi määrä, mutta sillä ei taas saavutettu yhtä suuria kelloja.
Alder Lakessa tosin alkoi L3-kakku (30 MiB) lähestyä AMDn kokoja, mutta nyt sitten 5800X3D:ssä AMD menee 96 megaan. Ja mikäli AMD Zen4ssa siirtää kaiken L3n erilliselle piilastulle 3d-paketoinnilla, sitten sitä on todennäköisesti vähintään 64 megaa/CCD.
Tässä on kyse selvästi erilaisesta filosofiasta firmojen välillä.
Intel pyrkii aggressiivisesti kehittämään järeämpiä ytimiä, mutta toisaalta pyrkii melko konservatiivisesti tekemään hyvin "tasapainoisia kokoonpanoja" jossa suuren ydinmäärän kanssa tuodaan sitten myös enemmän muistikaistaa jne. Ja alustoja menee uusiksi vähän väliä kun halutaan uuden prossusukupolven myötä viilata myös jotain pientä siinä alustassa jotta homma pysyy "tasapainossa". Ja välimuisteja kasvatetaan maltillisesti koska ne maksaa paljon pinta-alaa.
AMD taas aggressiivisemmin kasvattaa välimuisteja jotta saa vähemmän järeästä ytimestä enemmän suorituskykyä irti, sekä julkaisee suurempia ydinmääriä kasvattamatta muistikaistaa jne (koska moni softa kuitenkin hyötyy suuremmasta ydinmäärästä vaikka kaistaa ei tulisikaan lisää). AMD Ottaa paremmin kaiken irti siitä tekniikasta ja siitä alustasta mikä on käytettävissä, sen sijaan että pyrkisi aina tekemään "tasapainoisen juuri siihen tilanteeseen optimoidun alustan".