AMD paljasti ensimmäisiä tietoja Zen 3 -arkkitehtuurin muutoksista

  • Keskustelun aloittaja Keskustelun aloittaja Kaotik
  • Aloitettu Aloitettu

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
22 620
amd-zen-server-roadmap-20191007.jpg



AMD on paljastanut HPC-AI Advisory Council UK -konferenssissa uusia tietoja tulevasta Zen 3 -arkkitehtuurista ja Milan-palvelinprosessoreista. Zen 3 ja Milan tullaan julkaisemaan ensi vuonna.

AMD:n esittelemissä uusissa dioissa saatiin ensimmäistä kertaa tietoa arkkitehtuuritason muutoksista Zen 3:ssa. Vielä tässä vaiheessa tiedonjyväset ovat harvassa, mutta yhtiön mukaan Milan tulee käyttämään samaa paketointia, kuin Rome-palvelinsirut, eli siinä tulee olemaan kahdeksan prosessorisirua (CCD, Core Complex Die) ja I/O-siru (IOD, I/O die).

Prosessori tulee sopimaan tuttuun SP3-kantaan, siinä on kahdeksan DDR4-muistikanavaa ja TDP-arvot tulevat osumaan 120 – 225 watin haarukkaan kuten ennenkin. Dia ampuu lisäksi alas huhut, joiden mukaan Zen 3 -arkkitehtuuri kykenisi suorittamaan neljää säiettä per ydin.



Arkkitehtuuritasolla paljastunut muutos koskee prosessoreiden välimuistia. AMD kertoi tapahtumassa tehneensä merkittäviä muutoksia arkkitehtuurin välimuistirakenteisiin. Siinä missä tähän astisisissa Zen-arkkitehtuureissa kullakin CCX:llä (CPU CompleX, 4 ytimen rypäs) on ollut oma välimuistinsa, tulee Zen 3:ssa saman CCD:n CCX:llä olemaan yhteinen L3-välimuisti. L3-välimuistia tulee olemaan vähintään 32 Mt per CCD, eli ainakin yhtä paljon kuin tällä hetkellä. Yhteinen L3-välimuisti pienentää viiveitä verrattuna tilanteisiin, jossa ydin joutuisi hakemaan tietoa toisen CCX:n L3-välimuistista. Toistaiseksi ei ole tiedossa, onko Zen 3:ssa viilailtu myös muita välimuistirakenteita L3:n lisäksi.
AMD paljasti tapahtumassa lisäksi, että Milan-prosessoreiden tapeout tapahtui jo kuluvan vuoden toisella neljänneksellä. Tämän hetkisen roadmapin mukaan Milan-koodinimelliset palvelinprosessorit saapuvat markkinoille ensi vuonna kuukautta tai paria myöhemmin, kuin Rome tänä vuonna.

Lisäksi tapahtumassa varmistettiin jälleen kerran jo käytännössä tiedetyt seikat Zen 4:stä. Zen 4 -arkkitehtuuriin perustuvan palvelinprosessorin nimi tulee olemaan Genoa ja se on parhaillaan suunnitteluvaiheessa. Genoa tulee sopimaan uuteen SP5-prosessorikantaan ja tukemaan uusia muisteja, mikä tarkoittaa käytännössä varmuudella DDR5-muisteja.

Lähde: Tom's Hardware

Linkki alkuperäiseen uutiseen (io-tech.fi)
 
Dia ampuu lisäksi alas huhut, joiden mukaan Zen 3 -arkkitehtuuri kykenisi suorittamaan neljää säiettä per ydin.
Huhut ovat olleet että joko zen3 tai zen4 tukee useampaa säiettä per ydin. Nyt vahvistus sille ettei ainakaan zen3 tue, mutta voi myös miettiä miksi sitä on diassa "korostettu" x2 merkinnällä eikä vain suoraan 64/128 kuten tähän asti merkattu.
 
Eli käytännässä uusissa piireissä on kahdeksan ytimen CCX. AMD piiriarkkitehtuuri alkaa hiljalleen näyttämään ARM piireiltä.
 
Tuo CCXn koon tuplaus tarkoittaa myös sitä, että se määrä välimuistia, mitä yksi säie (tai muutama säie) voi maksimissaan saada käyttöönsä nousee 16 MiB => 32 MiB.

Voi jälleen tuntua pelisuorituskyvyssä ihan mukavasti.

Nuo slidet myös vähän vihjaa siihen suuntaan, että IO-piiri voisi pysyä täysin samana.
 
Nuo slidet myös vähän vihjaa siihen suuntaan, että IO-piiri voisi pysyä täysin samana.
Mitäpä siinä muutettavaa, ellei sitten jotain IF-linkkejä nopeammiksi. 2020 on liian aikaista PCIe5:lle ja DDR5:lle (joka vaatisi muutenkin uudet emot)
 
Nuo slidet myös vähän vihjaa siihen suuntaan, että IO-piiri voisi pysyä täysin samana
Mitäpä siinä muutettavaa, ellei sitten jotain IF-linkkejä nopeammiksi. 2020 on liian aikaista PCIe5:lle ja DDR5:lle (joka vaatisi muutenkin uudet emot)
Sinänsä kätevää erottaa IO erilleen itse laskentayksiköistä. Voi toteuttaa päivityksen päivittämättä kaikkea uudelleen. Halvempaa ja mahdollistaa myös useampaa erilaista konffia. Zen4 voisi hyvinkin tulla kahdella eri IO piirillä. Yksi ddr4 ja toinen ddr5. Ainakin jos itse olisin amd niin käyttäisin tuonkin mahdollisuuden.
 
Huhut ovat olleet että joko zen3 tai zen4 tukee useampaa säiettä per ydin. Nyt vahvistus sille ettei ainakaan zen3 tue, mutta voi myös miettiä miksi sitä on diassa "korostettu" x2 merkinnällä eikä vain suoraan 64/128 kuten tähän asti merkattu.

Juuri siksi ettei kenellekään jää asia (2 threadia per core) epäselväksi? Yksi tapa dumpata paikkaansapitämättömät huhut.

Eli käytännässä uusissa piireissä on kahdeksan ytimen CCX. AMD piiriarkkitehtuuri alkaa hiljalleen näyttämään ARM piireiltä.

Tuo CCXn koon tuplaus tarkoittaa myös sitä, että se määrä välimuistia, mitä yksi säie (tai muutama säie) voi maksimissaan saada käyttöönsä nousee 16 MiB => 32 MiB.

Voi jälleen tuntua pelisuorituskyvyssä ihan mukavasti.

Nuo slidet myös vähän vihjaa siihen suuntaan, että IO-piiri voisi pysyä täysin samana.

Ei noissa slideissä sanota CCX:n koon tuplauksesta. Pikemminkin annetaan ymmärtää ytimien olevan edelleen neljän ryppäissä. Poikkeuksena nykyiseen L3 välimuisti jaetaan CCX:n kesken jolloin mikä tahansa ydin saa selvästi suuremman (ja hyvin todennäköisesti hitaamman) L3 cachen käyttöönsä.
 
Ei noissa slideissä sanota CCX:n koon tuplauksesta. Pikemminkin annetaan ymmärtää ytimien olevan edelleen neljän ryppäissä. Poikkeuksena nykyiseen L3 välimuisti jaetaan CCX:n kesken jolloin mikä tahansa ydin saa selvästi suuremman (ja hyvin todennäköisesti hitaamman) L3 cachen käyttöönsä.
Alkuperäisestä uutisesta
AMD currently splits its chiplets into two four-core Compute Complexes (CCX), each armed with 16MB of L3 cache. For Milan, that changes to eight cores connected to a unified 32MB slice of L3 cache, which should eliminate a layer of latency within the compute die.
Toki tämäkin on vain toimittajan tulkinta, koska ei tainnut olla missään transkriptiä tai videota AMDn sanomisista. Oliko sinulla joku parempi lähde?
 
Alkuperäisestä uutisesta
Toki tämäkin on vain toimittajan tulkinta, koska ei tainnut olla missään transkriptiä tai videota AMDn sanomisista. Oliko sinulla joku parempi lähde?

Tuossa lähteessä sanotaan kahdeksan ytimen olevan yhteydessä yhteiseen L3 cacheen ottamatta kantaa siihen miten ytimet on järjestelty. Ainoa "layer of latency within compute die" joka tuossa järjestelyssä varmasti poistuu on kahden CCX:n välinen L3 cachen latenssi, joten siihen todennäköisesti viitataan.
 
Tuossa lähteessä sanotaan kahdeksan ytimen olevan yhteydessä yhteiseen L3 cacheen ottamatta kantaa siihen miten ytimet on järjestelty. Ainoa "layer of latency within compute die" joka tuossa järjestelyssä varmasti poistuu on kahden CCX:n välinen L3 cachen latenssi, joten siihen todennäköisesti viitataan.

Kun tarkoitus on laskea latensseja niin liekköhän L3 pysyy edelleen victim cachena, koska jos lukuoperaatiot ruvetaan ajamaan ensin siihen, se osiltaan nostaa vaikkakin lopputulos voisi olla silti pienempi latenssi kuin nyt.
 
Ei noissa slideissä sanota CCX:n koon tuplauksesta.

No ei sanota sanallisesti kun se on hyvin selvästi piirretty noihin kaaviokuviin.

Zen2-kuvassa on yhdellä chipletillä kaksi 16 MB L3-kakkua, zen3-kuvassa yhdellä chipletillä yksi "32MB+" L3-kakku.
 
Mitähän tapahtui HBCC paradigmalle, jota GPU puolella hehkutettiin? Olisikohan välimuistien arkkitehtuurin siivoamisella jotain tekemistä tämän kanssa? Aika monta vuotta sitten esiteltiin HSA suunnitelmia joissa pikkuhilljaa siirrytään kohti laskentayksiköiden liitäntöjen yhdenmukaistamista ja vapaata räätälöintiä piirien suoritusyksikköjen tyyppien valinnassa.
Jokohan kohta alkaa maali häämötää?
 
Niin tuossa SOC ARCHITECTURE otsikoidussa diassa kyllä melko selvästi näytetään chipletin olevan zen3/milan:issa 8 corea yhteen L3 liitettynä, eli ccx olisi siis 8 corea.
 
No ei sanota sanallisesti kun se on hyvin selvästi piirretty noihin kaaviokuviin.

Zen2-kuvassa on yhdellä chipletillä kaksi 16 MB L3-kakkua, zen3-kuvassa yhdellä chipletillä yksi "32MB+" L3-kakku.
Mitähän tuo plussa tuossa 32MB+:ssa mahtaa tarkoittaa. Jos tulisi vaihtelevia cachemääriä, niin sehän tarkoittaisi, että yhdentyyppisen chipletin ratkaisulla ei enää pärjättäisi.
 
Mitähän tuo plussa tuossa 32MB+:ssa mahtaa tarkoittaa. Jos tulisi vaihtelevia cachemääriä, niin sehän tarkoittaisi, että yhdentyyppisen chipletin ratkaisulla ei enää pärjättäisi.
Tarkoittaa sitä, että AMD ei halua kertoa paljonko L3-välimuistia tulee olemaan mutta että sitä on ainakin sen verran kuin tälläkin hetkellä yhteensä.
 
Juurikin Zen3 on teipattu, mutta amd voi vielä muuttaa asioita ennen ensi kesän julkaisua. Olettaisin että heillä on ainakin alkukevät aikaa hioa noita prossia, ehkä jopa loppukevätkin, missä vaiheessa pitää lyödä speksit kiinni ja alkaa työntämään chippejä ulos tehtaalta varastoon alkusyksyn myynnin aloittamista varten.
Joku paremmin asioista perillä oleva osaa sanoa varmaan, kuinka kauan ennen tuotteen julkaisua viimeiset viilaukset tehdään?
 
Viimeksi muokattu:
Juurikin Zen3 on teipattu, mutta amd voi vielä muuttaa asioita ennen ensi kesän julkaisua. Olettaisin että heillä on ainakin alkukevät aikaa hioa noita prossia, ehkä jopa loppukevätkin, missä vaiheessa pitää lyödä speksit kiinni ja alkaa työntämään chippejö ulos tehtaalta varastoon alkusyksyn myynnin aloittamista varten.
Joku paremmin asioista perillä oleva osaa sanoa varmaan, kuinka kauan ennen tuotteen julkaisua viimeiset viilaukset tehdään?
Tapeout on se kohta kun lähetetään "valmis" piiri tuotettavaksi. Tämän jälkeen voidaan tehdä "respinnejä" tarpeen mukaan missä korjataan vasta valmiista piiristä löytyneitä vikoja, muutella metallikerroksia jne, mutta ei mitään yksiköiden määrän tai muistin koon muutoksia (paitsi tietenkin kytkemällä niitä pois käytöstä, eli "pois" saa mutta fyysisesti ne on siellä)
 
Juurikin Zen3 on teipattu, mutta amd voi vielä muuttaa asioita ennen ensi kesän julkaisua. Olettaisin että heillä on ainakin alkukevät aikaa hioa noita prossia, ehkä jopa loppukevätkin, missä vaiheessa pitää lyödä speksit kiinni ja alkaa työntämään chippejö ulos tehtaalta varastoon alkusyksyn myynnin aloittamista varten.
Joku paremmin asioista perillä oleva osaa sanoa varmaan, kuinka kauan ennen tuotteen julkaisua viimeiset viilaukset tehdään?

Tapeout kyllä tarkoittaa aivan koko piirin lyömistä lukkoon sellaisenaan, täysin valmiina valmistukseen MUTTA:

Usein piiristä ensimmäisen varsinaisen tapeoutin jälkeen tulee uusia revisioita joiden tapeout on myöhemmin. Syynä bugikorjaukset tai optimoinnut parempien kellotaajuuksien tai pienemmän virrankulutuksen saavuttamiseksi. Nämä on tyypillisesti kuitenkin inkrementaalisia pikkuparannuksia eikä esim. piirin layouttia tehdä uudestaan.
 
Juurikin Zen3 on teipattu, mutta amd voi vielä muuttaa asioita ennen ensi kesän julkaisua. Olettaisin että heillä on ainakin alkukevät aikaa hioa noita prossia, ehkä jopa loppukevätkin, missä vaiheessa pitää lyödä speksit kiinni ja alkaa työntämään chippejö ulos tehtaalta varastoon alkusyksyn myynnin aloittamista varten.
Joku paremmin asioista perillä oleva osaa sanoa varmaan, kuinka kauan ennen tuotteen julkaisua viimeiset viilaukset tehdään?

Ensin 3-6 kk tuottaa 7nm viimeinen koeversio ja seuraavat 3-6kk aloittaa massavalmistus. Nämä uudet teknologiat ovat vain entistä hitaampia valmistaa. Mihin kohtaan tuota haarukkaa tarkalleen osutaan tuskin on kovinkaan julkista tietoa. Suoraan massavalmistukseen meneminen vaadituilla tuotantomäärillä kuulostaa pähkähullulta.
 
Ensin 3-6 kk tuottaa 7nm viimeinen koeversio ja seuraavat 3-6kk aloittaa massavalmistus. Nämä uudet teknologiat ovat vain entistä hitaampia valmistaa. Mihin kohtaan tuota haarukkaa tarkalleen osutaan tuskin on kovinkaan julkista tietoa. Suoraan massavalmistukseen meneminen vaadituilla tuotantomäärillä kuulostaa pähkähullulta.
Itseasiassa 7nm+:lla pitäisi nopeutua valmistuksen, koska EUV vähentää valotuskertojen määrää.
 
Tapeout kyllä tarkoittaa aivan koko piirin lyömistä lukkoon sellaisenaan, täysin valmiina valmistukseen MUTTA:

Usein piiristä ensimmäisen varsinaisen tapeoutin jälkeen tulee uusia revisioita joiden tapeout on myöhemmin. Syynä bugikorjaukset tai optimoinnut parempien kellotaajuuksien tai pienemmän virrankulutuksen saavuttamiseksi. Nämä on tyypillisesti kuitenkin inkrementaalisia pikkuparannuksia eikä esim. piirin layouttia tehdä uudestaan.
Paras kuvaus tapeoutille lienisi se, että siinä kokeillaan/testataan suunnitellun piirin fyysisen/"rauta"toteutuksen toimivuus.
Jos kaikki meni hyvin voidaan jatkaa testausta ja valmistusprosessinkin viilausta pikkuhiljaa massatuotantoa kohti.
Ongelman tapauksessa edessä taas on "paluu piirustuspöydän ääreen"...
Palaten sitten siihen uuteen tapeouttiin haluttujen korjausten/viilausten jälkeen.
 
Paras kuvaus tapeoutille lienisi se, että siinä kokeillaan/testataan suunnitellun piirin fyysisen/"rauta"toteutuksen toimivuus.
Jos kaikki meni hyvin voidaan jatkaa testausta ja valmistusprosessinkin viilausta pikkuhiljaa massatuotantoa kohti.
Ongelman tapauksessa edessä taas on "paluu piirustuspöydän ääreen"...
Palaten sitten siihen uuteen tapeouttiin haluttujen korjausten/viilausten jälkeen.

Tapeout on ihan kirjaimellisesti "tape out". Alunperin ensimmäiset piirit piirrettiin käsin valoitusfilmille. Tape out tarkoittaa tuon valoitusfilmin siirtämistä tuotantolaitokseen. Nykyään ei toki enää toimiteta käsinpiirrettyä filmejä vaan transistoritason ja eri metallikerrosten kuvaus.

Tapeout tapahtuu joka ainoa kerta kun tehtaalle lähetetään uusi kuvaus, oli se sitten tuotantopiiri tai testipiiri tai tuotantopiirin uudempi versio.
 
No ei sanota sanallisesti kun se on hyvin selvästi piirretty noihin kaaviokuviin.

Zen2-kuvassa on yhdellä chipletillä kaksi 16 MB L3-kakkua, zen3-kuvassa yhdellä chipletillä yksi "32MB+" L3-kakku.

Kuten siinä sanotaan, Chipletillä on 32MB+ cachea ja ainakin yksi CCX. Miten tuo ottaa kantaa CCX:n kokoon? Tuo 32MB+ yhteinen cache on mahdollista toteuttaa vaikkapa:

8-core CCX - L3

tai

4-core CCX - L3 - 4-Core CCX

Kuva viittaa selkeästi alempaan vaihtoehtoon.

Niin tuossa SOC ARCHITECTURE otsikoidussa diassa kyllä melko selvästi näytetään chipletin olevan zen3/milan:issa 8 corea yhteen L3 liitettynä, eli ccx olisi siis 8 corea.

Samaisessa kuvassa esitetään hyvin selvästi kahden 4 ytimen ryppään olevan eri puolilla L3 cachea, joka viittaa samankaltaiseen rakenteeseen kuin Zenissä ja Zen2:ssa sillä erolla ettei CCX enää sisällä "omaa" L3 cachea.
 
Kuten siinä sanotaan, Chipletillä on 32MB+ cachea ja ainakin yksi CCX. Miten tuo ottaa kantaa CCX:n kokoon? Tuo 32MB+ yhteinen cache on mahdollista toteuttaa vaikkapa:

8-core CCX - L3

tai

4-core CCX - L3 - 4-Core CCX

Kuva viittaa selkeästi alempaan vaihtoehtoon.

Samaisessa kuvassa esitetään hyvin selvästi kahden 4 ytimen ryppään olevan eri puolilla L3 cachea, joka viittaa samankaltaiseen rakenteeseen kuin Zenissä ja Zen2:ssa sillä erolla ettei CCX enää sisällä "omaa" L3 cachea.

:facepalm:

"CCXssä joka ei sisällä omaa L3-cacheä" ei ole mitään järkeä.

Sen koko CCXn pointti on se, että ne neljä ydintä jakaa sen L3-välimuistin. Se ei ole mikään CCX ilman sitä omaa välimuistia.

Ja katsoppas sitä ylempää(Zen2/Rome)-kuvaa tarkemmin.

Se L3-välimuisti on siinä kuvassa jaettu siinä pystysuunnassa.

Ylimmät 4 ydintä on yhtä CCXää jolla ylemmät 16 megaa L3staä, alemmat 4 ydintä on toista CCXää joilla on alempi 16 meggaa L3sta.

Ja niin se on myös oikeasti zen1/zen2-CCX:ssä fyysisesti; kaksi ydintä on välimuistin toisella puolella, kaksi toisella puolella. Ja tähän on hyvä syy; Näin minimoidaan datansiirtoviive L3-välimuistin ja ytimen välillä.
 
:facepalm:

"CCXssä joka ei sisällä omaa L3-cacheä" ei ole mitään järkeä.

Sen koko CCXn pointti on se, että ne neljä ydintä jakaa sen L3-välimuistin. Se ei ole mikään CCX ilman sitä omaa välimuistia.

On siinä se järki että edelleen on ytimien L1 ja L2 cachet CCX:ssa.

Ei se myöskään ole CCX ellei siinä ole kahta L3 välimuistin yhdistävää liitäntää jota ei ole mikäli "CCX" on 8-ytiminen. Tarvitaan uusi termi tällekin.

Ja katsoppas sitä ylempää(Zen2/Rome)-kuvaa tarkemmin.

Se L3-välimuisti on siinä kuvassa jaettu siinä pystysuunnassa.

Mikäli kuvassa tehtäisiin toisin, eli L3 välimuistiosan keskelle laitettaisiinkin pystysuora viiva niin olisi hyvin vähän tilaa vaakasuunnassa kirjoittaa 16MB L3.

Ylimmät 4 ydintä on yhtä CCXää jolla ylemmät 16 megaa L3staä, alemmat 4 ydintä on toista CCXää joilla on alempi 16 meggaa L3sta.

Ja niin se on myös oikeasti zen1/zen2-CCX:ssä fyysisesti; kaksi ydintä on välimuistin toisella puolella, kaksi toisella puolella. Ja tähän on hyvä syy; Näin minimoidaan datansiirtoviive L3-välimuistin ja ytimen välillä.

Nimenomaan. Eli koska Zenissä/Zen2:ssa välimuisti on kahden CCX:n välissä ja sama tilanne on myös Milanissa kuvan perusteella, niin eihän tuosta voi millään tehdä johtopäätöstä CCX:n koon muuttumisesta. Siitä voi tehdä johtopäätöksen jossa L3 cacheen on koskettu mutta CCX:n kokoon ei ei.

Mikäli CCX olisi 8-ytiminen, se olisi esitetty muuten kuin laittamalla L3 cache kahden CCX:n väliin, esim jotakuinkin seuraavasti:

ccx.png


Tuossa olisi "8-ytiminen CCX" jolla 32MB+ cache.
 
On siinä se järki että edelleen on ytimien L1 ja L2 cachet CCX:ssa.

Ei se myöskään ole CCX ellei siinä ole kahta L3 välimuistin yhdistävää liitäntää jota ei ole mikäli "CCX" on 8-ytiminen. Tarvitaan uusi termi tällekin.

Mikäli kuvassa tehtäisiin toisin, eli L3 välimuistiosan keskelle laitettaisiinkin pystysuora viiva niin olisi hyvin vähän tilaa vaakasuunnassa kirjoittaa 16MB L3.

Nimenomaan. Eli koska Zenissä/Zen2:ssa välimuisti on kahden CCX:n välissä ja sama tilanne on myös Milanissa kuvan perusteella, niin eihän tuosta voi millään tehdä johtopäätöstä CCX:n koon muuttumisesta. Siitä voi tehdä johtopäätöksen jossa L3 cacheen on koskettu mutta CCX:n kokoon ei ei.

Mikäli CCX olisi 8-ytiminen, se olisi esitetty muuten kuin laittamalla L3 cache kahden CCX:n väliin, esim jotakuinkin seuraavasti:

ccx.png


Tuossa olisi "8-ytiminen CCX" jolla 32MB+ cache.

Tällä hetkellä CCX:n määrittelee yhteinen L3-välimuisti. Olettaen että se jatkuu myös tulevaisuudessa, se muuttuisi 8-ytimiseksi CCX:ksi, mutta ei tuolla tavalla kuin sinä merkkasit.
upload_2019-10-8_19-22-20.png
 
On siinä se järki että edelleen on ytimien L1 ja L2 cachet CCX:ssa.

:facepalm:

L1- ja L2-välimuistit on jokaisella ytimellä omansa. Niillä ei ole mitään tekemistä minkään CCX-rakenteen kanssa.

Koko CCX-termi piti nimenomaan keksiä kuvaamaan sellaista loogista kokonaisuutta, jolla on yhteinen L3-välimuisti.

Ei se myöskään ole CCX ellei siinä ole kahta L3 välimuistin yhdistävää liitäntää jota ei ole mikäli "CCX" on 8-ytiminen. Tarvitaan uusi termi tällekin.

Mitähän ihmettä nyt oikein horiset.

Ei millekään tarvita yhtään mitään uusia termejä, kun vaan tajutaan mitä CCX oikeasti tarkoittaa eikä aleta keksiä sille omia todella typeriä merkityksiä.
 
Tällä hetkellä CCX:n määrittelee yhteinen L3-välimuisti. Olettaen että se jatkuu myös tulevaisuudessa, se muuttuisi 8-ytimiseksi CCX:ksi, mutta ei tuolla tavalla kuin sinä merkkasit.
upload_2019-10-8_19-22-20.png

Tuolla tavalla tehtynä kuvassa on virhe koska C2 ja C4 eivät ole toisiinsa yhteydessä kuin L3 välimuistin kautta, sama pätee C3:n ja C5:n.

Otetaan sen verran takaisin ettei CCX:n määritelmään voi sisältyä L3 välimuistien välinen linkki koska Raven Ridgessä sitä ei ole.

Joka tapauksessa toisen kuvan perusteella L3 välimuisti yhdistää kaksi 4 ytimen rypästä eikä siitä ilmene mitään väylää prosessoriytimien välillä, joten sillä perusteella prosessorissa on edelleen kaksi 4 ytimen rypästä, olivat ne sitten CCX:a tai eivät.

:facepalm:

L1- ja L2-välimuistit on jokaisella ytimellä omansa. Niillä ei ole mitään tekemistä minkään CCX-rakenteen kanssa.

Koko CCX-termi piti nimenomaan keksiä kuvaamaan sellaista loogista kokonaisuutta, jolla on yhteinen L3-välimuisti.

CCX ei määrittele L3 välimuistin määrää, joka jo Raven Ridgessä oli eri kuin Zenissä. Ja kyllä, L3 välimuistiton CCX olisi monessa tilanteessa hyvinkin järkevä.

Loogista kokonaisuutta jossa ytimet ovat yhteydessä toisiinsa ja joilla on yhteinen L3 välimuisti. Ensimmäinen kohtahan ei toteudu Milanissa, mikäli kuvaa uskoo.

Mitähän ihmettä nyt oikein horiset.

Ei millekään tarvita yhtään mitään uusia termejä, kun vaan tajutaan mitä CCX oikeasti tarkoittaa eikä aleta keksiä sille omia todella typeriä merkityksiä.

No nimenomaan. CCX:lla tarkoitetaan prosessoriytimien ryhmää jotka ovat yhteydessä toisiinsa ja ovat yhteydessä jaettuun L3 välimuistiin: CPU Complex (CCX) - AMD - WikiChip

CPU Complex or Core Complex (CCX) is a term used by AMD to describe a cluster of physical cores along with the shared level 3 cache and the crossbar that interlinks them.

Zen3/Milan kuvassa on täysin selvästi 4 ytimen clustereita kaksi kappaletta ja 4-ytimen clusterit ovat toisiinsa yhteydessä L3 välimuistin kautta.

Koska vain 4 ydintä on "clusterina", CCX ei voi olla tuolla määritelmällä 8-ytiminen mikäli kuva pitää paikkaansa.
 
Tuolla tavalla tehtynä kuvassa on virhe koska C2 ja C4 eivät ole toisiinsa yhteydessä kuin L3 välimuistin kautta, sama pätee C3:n ja C5:n.

Otetaan sen verran takaisin ettei CCX:n määritelmään voi sisältyä L3 välimuistien välinen linkki koska Raven Ridgessä sitä ei ole.

Joka tapauksessa toisen kuvan perusteella L3 välimuisti yhdistää kaksi 4 ytimen rypästä eikä siitä ilmene mitään väylää prosessoriytimien välillä, joten sillä perusteella prosessorissa on edelleen kaksi 4 ytimen rypästä, olivat ne sitten CCX:a tai eivät.



CCX ei määrittele L3 välimuistin määrää, joka jo Raven Ridgessä oli eri kuin Zenissä. Ja kyllä, L3 välimuistiton CCX olisi monessa tilanteessa hyvinkin järkevä.

Loogista kokonaisuutta jossa ytimet ovat yhteydessä toisiinsa ja joilla on yhteinen L3 välimuisti. Ensimmäinen kohtahan ei toteudu Milanissa, mikäli kuvaa uskoo.



No nimenomaan. CCX:lla tarkoitetaan prosessoriytimien ryhmää jotka ovat yhteydessä toisiinsa ja ovat yhteydessä jaettuun L3 välimuistiin: CPU Complex (CCX) - AMD - WikiChip



Zen3/Milan kuvassa on täysin selvästi 4 ytimen clustereita kaksi kappaletta ja 4-ytimen clusterit ovat toisiinsa yhteydessä L3 välimuistin kautta.

Koska vain 4 ydintä on "clusterina", CCX ei voi olla tuolla määritelmällä 8-ytiminen mikäli kuva pitää paikkaansa.
Lopeta jo hyvän sään aikana, ennen kuin olet kaulaasi myötä suossa.
 
Lopeta jo hyvän sään aikana, ennen kuin olet kaulaasi myötä suossa.

Jep, tässä nähdään kuinka jotkut saatuaan päähänsä jotain eivät millään voi myöntää olevansa väärässä.

Jopa AMD käyttää termiä cluster (sivu 6): https://www.amd.com/system/files/2018-03/AMD-Optimizes-EPYC-Memory-With-NUMA.pdf

While AMD has the advantage of raw bandwidth per socket, Anandtech found the amount of bandwidth to each CCX (four core cluster)...

Ja sitten kuvasta voidaan katsoa montako "four core clusteria" siinä on:

ccx2.png


:think:
 
Eihän tuo ole AMD:n julkaisu vaan jonkun Tirias Researchin?

Myöskin lopussa huomautetaan seuraavasti:

"The information contained in this report was believed to be reliable when written but is not guaranteed as to its accuracy or completeness."

Niin, AMD:n sponsoroima:

Paper sponsored by AMD

Ja:

The contents of this report represent the interpretation and analysis of statistics and information that is either generally available to the public or released by responsible agencies or individuals.

Eiköhän tuollaiset paperit lueta moneen kertaan läpi ennen julkaisua.

Muutenkaan itse uutinen, ei linkin takana oleva uutinen eikä AMD:n dia kerro sanaakaan "8 ytimen CCX:sta".

Mikä merkitys sillä on onko se nyt 4 vai 8 ytiminen jos L3 on yhteinen?
Eikö tässä ollut pää pointti juuri se?

Latenssi 4 ytimen ryppäästä toiseen 4 ytimen ryppääseen on lähes takuuvarmasti suurempi kuin latenssi 8-ytimisen ryppään sisällä.
 
Tuolla tavalla tehtynä kuvassa on virhe koska C2 ja C4 eivät ole toisiinsa yhteydessä kuin L3 välimuistin kautta, sama pätee C3:n ja C5:n.

Otetaan sen verran takaisin ettei CCX:n määritelmään voi sisältyä L3 välimuistien välinen linkki koska Raven Ridgessä sitä ei ole.

Joka tapauksessa toisen kuvan perusteella L3 välimuisti yhdistää kaksi 4 ytimen rypästä eikä siitä ilmene mitään väylää prosessoriytimien välillä, joten sillä perusteella prosessorissa on edelleen kaksi 4 ytimen rypästä, olivat ne sitten CCX:a tai eivät.
Ei ole virhettä.
Tuossa on Zen2 CCD dieshottiin maalattu sulle missä mitäkin on. Sinisellä ympyröity CCX, keltaisella L3-välimuisti ja vihreällä ydinten ja L3-palasten rajat, oranssilla L2
upload_2019-10-8_20-51-33.png


Ihan sama järjestys on ollut alusta asti.
Jos haluaa vielä pienempiin palasiin niin tässä on Zen1:n CCX vielä tarkemmin, mutta sama rakenne toistuu Zen2:ssa pienin muutoksin (kuten se L3:n tuplaaminen)
upload_2019-10-8_20-53-22.png


AMD:n määritelmä nykyiselle CCX:lle on "Four cores connected to a L3 cache", neljä koska niitä sattuu olemaan neljä kytkettynä siihen oleelliseen osaan eli yhdistävään L3:een. Zen3:n myötä tämä muuttuu kahdeksaan ytimeen jotka ovat yhteydessä samaan L3:een, tai koko CCX pitää määritellä täysin uudelleen.
 
@Threadripper ille tiedoksi vielä, että Zen ytimet keskustelevat keskenään cachen läpi, eikä millään maagisilla erillisväylillä.
 
Ei ole virhettä.
Tuossa on Zen2 CCD dieshottiin maalattu sulle missä mitäkin on. Sinisellä ympyröity CCX, keltaisella L3-välimuisti ja vihreällä ydinten ja L3-palasten rajat, oranssilla L2
upload_2019-10-8_20-51-33.png


Ihan sama järjestys on ollut alusta asti.
Jos haluaa vielä pienempiin palasiin niin tässä on Zen1:n CCX vielä tarkemmin, mutta sama rakenne toistuu Zen2:ssa pienin muutoksin (kuten se L3:n tuplaaminen)
upload_2019-10-8_20-53-22.png

Viivat taitavat sittenkin olla oikein koska näemmä CCD keskustelee toisen CCD:n kanssa erillisellä väylällä eikä tainnutkaan olla mitään omaa L3 välimuistien välistä väylää joka tarvitsisi kapeamman viivan. Ellei CCD-CCD väylä mene juurikin L3:n kautta...

AMD:n määritelmä nykyiselle CCX:lle on "Four cores connected to a L3 cache", neljä koska niitä sattuu olemaan neljä kytkettynä siihen oleelliseen osaan eli yhdistävään L3:een. Zen3:n myötä tämä muuttuu kahdeksaan ytimeen jotka ovat yhteydessä samaan L3:een, tai koko CCX pitää määritellä täysin uudelleen.

Näitä määritelmiä on useita:

- A Core Complex (CCX) is a group of CPU cores which share L3 cache resources ( https://developer.amd.com/wordpress/media/2013/12/User_Guide.pdf )

- Within each Zeppelin there are 2 Compute Complexes (CCX). Each CCX has its own L3 cache. Each core has its own L2 and L1i and L1d caches •up to 4 cores per CCX ( http://developer.amd.com/wp-content/resources/56420.pdf )

- Core Complex where more than one core shares L3 resources. ( http://developer.amd.com/wordpress/media/2017/11/54945_PPR_Family_17h_Models_00h-0Fh.pdf )

Mikäli joko "upto 4 cores" tai "group of CPU cores" pidetään käytössä, ei tarvitse CCX:n määritelmää muuttaa.

Mikä on olennaista, on latenssi ytimien välillä. AMD on jauhanut vuosia "4 ytimen sisällä pieni latenssi, kahden 4 ytimen ryppään välillä suuri, tehkää ohjelmat sen mukaan" asiaa, joka tietenkin pitääkin paikkaansa. 8-ytimen ryppäässä hyvin todennäköisesti "1-8" latenssi pienenisi mutta "1-4" latenssi kasvaisi. Tämä on olennainen asia. Huomattavasti olennaisempi kuin jaettu tai jakamaton L3 välimuisti. Juuri sen takia en usko AMD:n luopuvan 4 ytimen ryppäästä, kuten diakin antaa ymmärtää. Riippumatta siitä tuleeko uusi CCX määrittely vai ei.

Voi sitä shitstormia kehittäjien suunnalta jos AMD antaisi vihjeen "2*4" luopumisesta vain muutama vuosi sen jälkeen kun AMD sitä ehdottomasti halusi.

@Threadripper ille tiedoksi vielä, että Zen ytimet keskustelevat keskenään cachen läpi, eikä millään maagisilla erillisväylillä.

Oli CCX-CCX ja L3-L3 keskusteluista kyse. Ei core-core.
 
Juuri niin. Mielestäni lainaat väärin, väittäessäsi AMD:n sponsoroiman ulkopuolisen tahon tekstiä AMD:n sanomisiksi.

Olisi oikeammin sanoa "jopa AMD:n sponsoroima taho käyttää termiä x". Mutta olkaamme asiasta eri mieltä.

Oikeassa olet. Vaihdetaan cluster groupiksi ja sitten on AMD:n sanoma :)
 
Viivat taitavat sittenkin olla oikein koska näemmä CCD keskustelee toisen CCD:n kanssa erillisellä väylällä eikä tainnutkaan olla mitään omaa L3 välimuistien välistä väylää joka tarvitsisi kapeamman viivan. Ellei CCD-CCD väylä mene juurikin L3:n kautta...
Älä sekoita CCD:tä (Core Complex Die, 2x CCX Zen 2:ssa, se prosessorichiplet siis) ja CCX:ää.

Näitä määritelmiä on useita:

- A Core Complex (CCX) is a group of CPU cores which share L3 cache resources ( https://developer.amd.com/wordpress/media/2013/12/User_Guide.pdf )
Tämä on vähän löyhempi tosiaan, mahdollistaisi 8 coren CCX:n sellaisenaan jo, mutta taas toistuu se oleellinen, CCX on samaan L3:een kytketyt ytimet, mikä tarkottaisi Zen3:ssa tuon kaavion mukaan 8 coren CCX:ää. Nappaamani määritelmä oli AMD:n jostain Epyc-diapaketista, en muista tähän hätään oliko Zen1 vai 2 mutta se on irrelevanttia, CCX:n rakenne ei ole muuttunut.
- Within each Zeppelin there are 2 Compute Complexes (CCX). Each CCX has its own L3 cache. Each core has its own L2 and L1i and L1d caches •up to 4 cores per CCX ( http://developer.amd.com/wp-content/resources/56420.pdf )
Tämä on Zeppelin-kohtainen eikä mitenkään ristiriidassa muiden kanssa
Tämä on tuo sama löyhempi kuin ensimmäinen, eli edelleen se sama mistä minä ja @hkultala olemme puhuneet.
Mikäli joko "upto 4 cores" tai "group of CPU cores" pidetään käytössä, ei tarvitse CCX:n määritelmää muuttaa.
Ei vaan "up to 4 cores" pitää poistaa jotta se toimisi.
 
Viimeksi muokattu:
Oli CCX-CCX ja L3-L3 keskusteluista kyse. Ei core-core.
Juu ja L3-L3 sekä CCX-CCX keskustelua tapahtuu aivan hirveästi ilman niitä ytimiä...
Kaikki toi noiden välinen kommunikaatio lähtee siitä että joku yksittäinen ydin tekee muistihaun tai tallennuksen. Päällekkäisyyksiä tarkistetaan ensin CCX:n sisällä yhteisen L3 välimuistin kautta ja useamman CCX:n prosessoreissa vielä IF:n läpi muidenkin CCX:ien L3 välimuisteista. Mitään muuta kommunikaatiokanavaa tai tapaa ytimien välillä ei käsittääkseni zen arkkitehtuurissa ole.
 
Älä sekoita CCD:tä (Core Complex Die, 2x CCX Zen 2:ssa, se prosessorichiplet siis) ja CCX:ää.

Meni CCX ja CCD sekaisin tai sitten en enää muista mitä katsoin. Eipä tosin viivan paksuudella suuremmin merkitystä ole tällaisissa esityksissä.

Tämä on vähän löyhempi tosiaan, mahdollistaisi 8 coren CCX:n sellaisenaan jo, mutta taas toistuu se oleellinen, CCX on samaan L3:een kytketyt ytimet, mikä tarkottaisi Zen3:ssa tuon kaavion mukaan 8 coren CCX:ää. Nappaamani määritelmä oli AMD:n jostain Epyc-diapaketista, en muista tähän hätään oliko Zen1 vai 2 mutta se on irrelevanttia, CCX:n rakenne ei ole muuttunut.

Tuosta määritelmästä saa kaksi eri ääripäätä helposti:

- CCX on yksittäinen ryhmä ytimiä jotka jakavat keskenään L3 välimuistin.

Mikäli ytimiä ei ole yksi ryhmä vaan on kaksi erillistä ryhmää (tai useampia), silloin ei ole kyseessä CCX.

- CCX on ryhmä ytimiä joilla on yhteinen L3 välimuisti.

Tällä tavalla CCX:n kokoa rajoittaa vain se montako ydintä on yhteydessä samaan L3 välimuistiin.

Valitettavasti tuossa ei tarpeeksi tarkkaan rajata asioita jolloin jaetun L3 cachen ansiosta voidaan tulkita Milanissa olevan 4-core tai 8-core CCX.

Tämä on Zeppelin-kohtainen eikä mitenkään ristiriidassa muiden kanssa

Kyllä ja ei. Tuossa rajataan CCX 4 ytimeen. Siinä myös puhutaan Compute Complexista.

AMD:n sivuilta CCX:sta löytyy ainakin 3 eri versiota: Core Complex, Compute Complex ja CPU Complex :rolleyes:

Tämä on tuo sama löyhempi kuin ensimmäinen, eli edelleen se sama mistä minä ja @hkultala olemme puhuneet.

Niin on, siinä ei tosin oteta kantaa siihen mikä on Core Complex. Juuri siihen asiaan josta on kyse.

Ei vaan "up to 4 cores" pitää poistaa jotta se toimisi.

Noin jotta toimisi Milanissa 8-core CCX mielipiteeseen. Minä taas pitäisin mainitut käytössä jotta määritelmää ei tarvitsisi muuttaa.

Veikkaan vahvasti tämän asian kiinnostavan ohjelmistokehittäjiä siinä määrin etten AMD:n virallista kommenttia tarvitse kauaa odottaa. Kun asia selviää, voidaan katsoa oliko dian tekijä hereillä vai oliko joku amatööri asialla.

Juu ja L3-L3 sekä CCX-CCX keskustelua tapahtuu aivan hirveästi ilman niitä ytimiä...
Kaikki toi noiden välinen kommunikaatio lähtee siitä että joku yksittäinen ydin tekee muistihaun tai tallennuksen. Päällekkäisyyksiä tarkistetaan ensin CCX:n sisällä yhteisen L3 välimuistin kautta ja useamman CCX:n prosessoreissa vielä IF:n läpi muidenkin CCX:ien L3 välimuisteista. Mitään muuta kommunikaatiokanavaa tai tapaa ytimien välillä ei käsittääkseni zen arkkitehtuurissa ole.

Tässä on koko ajan haettu sitä mikä rajaa CCX:n. Eli ollaan ytimien ulkopuolella muttei L3 välimuistista päästy IF väylään saakka. CCX:n sisällä kaikissa tapauksissa vai ei? Siinä kohtaa eivät enää ytimet itsessään kiinnosta.
 
Meni CCX ja CCD sekaisin tai sitten en enää muista mitä katsoin. Eipä tosin viivan paksuudella suuremmin merkitystä ole tällaisissa esityksissä.

Tuosta määritelmästä saa kaksi eri ääripäätä helposti:

- CCX on yksittäinen ryhmä ytimiä jotka jakavat keskenään L3 välimuistin.

Mikäli ytimiä ei ole yksi ryhmä vaan on kaksi erillistä ryhmää (tai useampia), silloin ei ole kyseessä CCX.

- CCX on ryhmä ytimiä joilla on yhteinen L3 välimuisti.

Ei sitä "ryhmääsi" ole järkevää määritellä miksikään ryhmäksi mitenkään muuten kuin että ne jakavat sen L3-kakun.

Että nämä ovat kaksi täysin samaa asiaa.

Tällä tavalla CCX:n kokoa rajoittaa vain se montako ydintä on yhteydessä samaan L3 välimuistiin.

Valitettavasti tuossa ei tarpeeksi tarkkaan rajata asioita jolloin jaetun L3 cachen ansiosta voidaan tulkita Milanissa olevan 4-core tai 8-core CCX.

:facepalm:

Ei siellä ole mitään eri CCXien kanssa jaettuja L3-kakkuja, vaan kaikki ytimet jotka ovat yhteydessä samaan L3-välimuistiin ovat osa samaa CCXää.

Kuinka vaikeaa näin yksinkertaista asiaa on tajuta?
 
Viimeksi muokattu:
Tässä on koko ajan haettu sitä mikä rajaa CCX:n. Eli ollaan ytimien ulkopuolella muttei L3 välimuistista päästy IF väylään saakka. CCX:n sisällä kaikissa tapauksissa vai ei? Siinä kohtaa eivät enää ytimet itsessään kiinnosta.
Kerro lisää CCX:n sisäisistä rakenteista, jotka siihen kuuluvat ytimet jakavat keskenään.

Käsittääkseni näitä ovat:
1. L3 välimuisti
2. L3 välimuistista lähtevä IF linkki
3. ?

Lisäksi saattaa olla joku esim. lämpötilatietojen keräämiseen käytetty erillisväylä, mutta siitäkään en olisi kovin varma.
 
Ei sitä "ryhmääsi" ole järkevää määritellä miksikään ryhmäksi mitenkään muuten kuin että ne jakavat sen L3-kakun.

Että nämä ovat kaksi täysin samaa asiaa.

Eivät todellakaan ole kuorman jakamisen kannalta. Ryhmän sisällä core-core latenssi on selvästi pienempi kuin ryhmästä 1 ryhmään 2 koska niiden välillä on (vähintään) L3 cache.

Miksi on hyvin järkevää määritellä ryhmät eri CCX:ksi, siihen riittää yksi kuva:

David_McAfee-Next_Horizon_Gaming-3rd_Gen_Ryzen_06092019-page-008%20-%20Copy2_575px.jpg


Tuota AMD on sanonut alusta saakka. Täytä CCX ennen kuin käytät toista.

8-ytimisellä CCX:lla tuo toimii mikäli latenssit ovat suunnilleen samat ryhmän sisällä ja toiseen ryhmään. Tuskin ovat.

:facepalm:

Ei siellä ole mitään eri CCXien kanssa jaettuja L3-kakkkuja, vaan kaikki ytimet jotka ovat yhteydessä samaan L3-välimuistiin ovat osa samaa CCXää.

Kuinka vaikeaa näin yksinkertaista asiaa on tajuta?

Se on sinun tulkintasi. Se ei kovin hyvin toimi tuota AMD:n diaa katsoessa. Toimii jos ytimien välinen kommunikointi on yhtä nopeaa riippumatta siitä kummalla puolella L3 cachea ne ovat. Niin se ei ole ellei sitä tahallisesti hidasteta samaan tahtiin kuin L3 cachen toiselle puolelle kestää kommunikointi. Ja siinä taas ei ole mitään järkeä.

Kerro lisää CCX:n sisäisistä rakenteista, jotka siihen kuuluvat ytimet jakavat keskenään.

Käsittääkseni näitä ovat:
1. L3 välimuisti
2. L3 välimuistista lähtevä IF linkki
3. ?

Lisäksi saattaa olla joku esim. lämpötilatietojen keräämiseen käytetty erillisväylä, mutta siitäkään en olisi kovin varma.

Tässä on kyse siitä mikä tekee CCX:n jos ytimiä on selvästi kahdessa eri paikassa. Karkeasti sanoen:

Ytimiä-L3-IF-L3-Ytimiä

vs

Ytimiä-L3-Ytimiä
 
Eivät todellakaan ole kuorman jakamisen kannalta. Ryhmän sisällä core-core latenssi on selvästi pienempi kuin ryhmästä 1 ryhmään 2 koska niiden välillä on (vähintään) L3 cache.

Miksi on hyvin järkevää määritellä ryhmät eri CCX:ksi, siihen riittää yksi kuva:

David_McAfee-Next_Horizon_Gaming-3rd_Gen_Ryzen_06092019-page-008%20-%20Copy2_575px.jpg


Tuota AMD on sanonut alusta saakka. Täytä CCX ennen kuin käytät toista.

8-ytimisellä CCX:lla tuo toimii mikäli latenssit ovat suunnilleen samat ryhmän sisällä ja toiseen ryhmään. Tuskin ovat.
Voi pyhä yksinkertaisuus.
Ne "ryhmät" eli yhteen CCX:ään kuuluvat ytimet määrittyvät juuri sen L3-välimuistin jakamisesta eikä mistään muusta. Ei ole mitään muuta syytä tämän hetkisiin neljän ytimen "ryhmiin" kuin se että niitä nyt vain sattuu olemaan neljä kytkettynä siihen yhteen L3-välimuistiin. Ihan yhtä hyvin niitä voisi olla eri määrä, kuten nyt näyttäisi tulevan kahdeksan Zen3:een.
Tuolla "täytä yksi CCX ennen kuin käytät toista" ei ole yhtään mitään tekemistä prosessoriydinten määrän kanssa, vaan siitä jaetusta L3-välimuistista.
 
Tässä on kyse siitä mikä tekee CCX:n jos ytimiä on selvästi kahdessa eri paikassa.
Lopeta jo. CCX on looginen kokonaisuus joka määräytyy jaettujen resurssien mukaan. Et näköjään keksinyt mitään sellaisia resursseja joita ytimet muka jakaisivat keskenään noiden L3 cachen ja IF linkin lisäksi. Se on aivan yks ja hailee miten ne ytimet on sinne piille piirretty, sillä ne keskustelevat joka tapauksessa aivan saman L3 cachen yhteydessä olevan kirjanpidon kanssa ja mitään muita väyliä ytimien välillä ei ole. AMD on piirtänyt ytimet noin eri puolille sitä välimuistia, jotta latenssit sinne kirjanpitoon olisi mahdollisimman identtiset ytimien välillä.
 
Voi pyhä yksinkertaisuus.
Ne "ryhmät" eli yhteen CCX:ään kuuluvat ytimet määrittyvät juuri sen L3-välimuistin jakamisesta eikä mistään muusta. Ei ole mitään muuta syytä tämän hetkisiin neljän ytimen "ryhmiin" kuin se että niitä nyt vain sattuu olemaan neljä kytkettynä siihen yhteen L3-välimuistiin. Ihan yhtä hyvin niitä voisi olla eri määrä, kuten nyt näyttäisi tulevan kahdeksan Zen3:een.
Tuolla "täytä yksi CCX ennen kuin käytät toista" ei ole yhtään mitään tekemistä prosessoriydinten määrän kanssa, vaan siitä jaetusta L3-välimuistista.

Miksi tehdä asiasta liian vaikeaa? AMD on sanonut tuota "täytä CCX ennen toisen käyttöä" aika monta vuotta. Mikäli CCX määritellään 8-ytimiseksi, ohje pitäisi muuttaa seuraavasti: Täytä CCX ennen toisen käyttöä, mikäli CCX:a on vain yksi, täytä (tähän joku uusi termi ytimien ryhmälle) ensin ja sitten täytä (se toisen ryhmän termi) sitten.

Tai sitten ei keksitä uutta termiä vaan todetaan sen neljän ytimen ryhmän olevan CCX ja mitään muutosta ei tarvita. Edelleen täytetään toinen CCX ensin.

Katsotaan miten käy.

Lopeta jo. CCX on looginen kokonaisuus joka määräytyy jaettujen resurssien mukaan. Et näköjään keksinyt mitään sellaisia resursseja joita ytimet muka jakaisivat keskenään noiden L3 cachen ja IF linkin lisäksi. Se on aivan yks ja hailee miten ne ytimet on sinne piille piirretty, sillä ne keskustelevat joka tapauksessa aivan saman L3 cachen yhteydessä olevan kirjanpidon kanssa ja mitään muita väyliä ytimien välillä ei ole. AMD on piirtänyt ytimet noin eri puolille sitä välimuistia, jotta latenssit sinne kirjanpitoon olisi mahdollisimman identtiset ytimien välillä.

Siitähän tässä onkin kyse ettei esim. tuossa sanota CCX:n määräytyvän jaettujen resurssien mukaan:

A Core Complex (CCX) is a group of CPU cores which share L3 cache resources

Kaikki on yksikössä, ei monikossa. Joten on täysin turha alkaa selittämään minun olevan yksiselitteisesti väärässä. Jos se olisi noin:

A Core Complex (CCX) is formed from groups of CPU cores that share L3 cache resources

Ei tässä olisi mitään keskustelemista. Mutta kun se ei ole.

Luepa keskustelua taaksepäin. Tässä on kyse juurikin siitä miten ne on piirretty. Eli kommunikaatio vasemman puolen ytimen ja oikean puolen ytimen välillä vaatii koko L3 cachen läpäisyä. Siinä ei ole järisyttävää eroa nykyiseen ratkaisuun.
 

Uusimmat viestit

Statistiikka

Viestiketjuista
261 423
Viestejä
4 537 245
Jäsenet
74 796
Uusin jäsen
Kummila

Hinta.fi

Back
Ylös Bottom