Onko täällä kenelläkään CPU gurulla tarkempaa näkemystä miten tuo IO-chip vaikuttaa muisti latensseihin?
Lähinnä siis eihän se kuitenkaan ole sama asia kuin vanhan ajan north bridge, joka on emolla vaan tuo matka on kuitenkin vaan muutaman millimetrin.
Loogisesti se on tasan sama asia kuin vanhan ajan pohjoissiltapiiri, oleellisin ero on ainoastaan se, että se sijaitsee nyt samassa paketissa CPUn kanssa.
Se lyhyempi matka kuitenkin mahdollistaa siihen välille selvästi nopeamman väylän kuin jos se olisi kaukana emolevyllä.
Mutta vaikka matka on vain millimetrejä, piilastulta ulos menevät johtimet käyttäytyvät kuitenkin sähklöisesti aivan eri tavalla kuin piilastun sisäiset, joten chiplet-ratkaisussakin niitä pitää vähintään ajaa hyvin erilaisilla transistoreilla kuin piilastun sisäisiä johtoja, eikä sama väylä voi käytännössä mennä sekä piilastujen sisällä moneen paikkaan, että piilastujen välillä. (tai siis voi mennä, mutta silloin se on melko epäoptimaalinen niiden piilastujen sisäisten osien väliseen kytkemiseen, hidas ja virtasyöppö suhteessa nopeuteensa)
Viiveiden kannalta oleellista on, millainen se väylähierarkia on välissä. Jokainen välissä oleva silta eri väylien välillä käytännössä lisää viivettä,
Esim. intelin nykyprossuilla on se rengasväylä, jossa on samassa väylässä kaikki ytimet, L3-kakut ja muistiohjaimet. Ytimen (L2-kakun) ja muistiohjaimen välissä ei tarvita yhtään eri väylien välistä siltaa, mutta rengasväylässä viive renkaan toiselle puolle on hiukan hitaampi kuin lähelle.
Zenissä taas 4 ydintä ja L3-kakku on samassa CCXssä jonka sisällä on nopea crossbar(liikenne kaikkien välillä on nopeaa), mutta muistiohjaimet ovat tämän ulkopuolella. Ja CCXien välillä on sitten toinen crossbar, johon on kytketty CCXt, muistiohjaimet ja IO-puoli.
Zen2n rakennetta ei vielä tiedetä varmasti, vaihtoehtoja on käytännössä kaksi:
1) CCX on laajennettu 8 ytimeen, Tällöin chipletin sisälle ei tarvita mitään CCXien välistä väylää/crossbaria. CCXltä ulos kohti IO-piiriä lähtevä linkki kytketään (melkein) suoraan IO-piirin sisäiseen crossbariin (jossa on siis kiinni linkit chipletteihin, muistiohjaimet, sekä IO-puoli). Tällöin väylähierrarkia CCXien välillä voi olla melkein sama kuin nykyisissä ryzeneissä, tarvitaan vain yksi hyvin yksinkertainen silta lisää siihen IO-piirin puolelle.
Tässä kuitenkin L3-välimuistille tulee todennäköisesti hiukan lisäviivettä(joka sitten kumuloituu myös muistiviiveeseen) siitä,että CCXn sisäinen crossbar voisi käydä liian isoksi sen takia, että sen porttimäärä kasvaa huomattavasti, ja CCXn sisällä voidaan käyttää jotain hitaampaa väylätyyppiä crossbarin sijaan. Tai sitten chiplettien melko suurta kokoa (suhteessa valmistustekniikkaparannukseen) selittää juuri se, että siellä on se massiivinen crossbar.
2) CCX on edelleen 4 ydintä, ja jokaisella chipletillä on 2 CCXää. Tällöin sinne chipletille tarvitaan oma crossbarinsa joka yhdistää keskenään ne 2 CCXää sekä IO-piirille lähtevän linkin. Ja sitten IO-piirllle tarvii kuitenkin sen crossbarin joka yhdistää eri chipleteiltä tulevat linkti sekä muistiohjaimet ja IO-puolen keskenään.
Eli väylähierarkiassa on tällöin yksi taso enemmän, ja molemmille puolille piilastuja yhdistävää linkkiä tarvitaan jonkinlaiset sillat. Ja tämä lisätaso lisää viiveitä. Toisaalta tällöin L3-viivettä ei ainakaan pitäisi tarvia kasvattaa.
Ja oleellinen kysymys on, että miten selvitetään, onko joku tarvittava data (likaisena) toisen CCXn välimuisteissa vai ei. Tehdäänkö se hitaasti kommunoiden sinne toiselle CCXlle enenn muistiaccessia, onko jossain ylimääräistä kirjanpitoa välimuistien sisällöstä, vai aloitetaanko muistiaccessi aikaisin rinnakkain tämän tarkastuksen kanssa(potentiaalisesti tuhlaten virtaa ja kaistaa) ja kesken sen muistiaccessin kun saadaan tulos löytyikö se jostain välimuistista, tarvittaessa haetaan se sieltä muualta ja heitetään muistiaccessin tulos roskiin (itse musitiaccessia ei todennäköisesti enää voi peruuttaa).
Jos samalla siirrytään 8-ytimiseen CCXään, tämä vaihe voi poistua välistä yhden chipletin tapauksessa. Toisaalta, jos kuitenkin tuetaan usean chipletin ja sen myötä usean CCXn kokoonpanoja, pitää sen toteuttava rauta kuitenkin olla olemassa.
Summa summarum: Riippuu erittiäin paljon toteutusyksityiskohdfista, että
paljonko sitä lisäviivettä tulee, mutta käytännössä varmasti sitä tulee ainakin hiukan.
Ja jossain oli spekulaatiota, että tuo olisi desktop optimized ja mahdollistaisi todella nopeat muistit, tyyliin lähemmäs 4Ghz, riittääkö tuo nopeus jo neutralisoimaan vähän kasvaneet latenssit?
Kuulostaa vain Höpöhöpöltä että tuo millään tavalla mahdollistaisi nopeampia muisteja.