Prosessorin nopeus ja markkinaosuus sama asia, "OK".
Puhutko nyt ytimien välisestä liikenteestä vai yhden prosessoriytimen osien välisestä liikenteestä? Ensimmäisestä arvelen. Siinä onkin varmasti kehittämisen varaa. Infinity Fabric on enemmän helppo kuin nopea ratkaisu ja Intelin ring bus tukehtuu suurilla määrillä.
Jälleen puhdasta mutupaskaa ymmärtämättä yhtään mistä puhut.
Mesh yrittää ottaa molemmista hyvät puolet muttei sekään ole mikään täydellinen.
Mesh ja ring bus ovat väylätopologioita, tieteellisiä geneerisiä termejä eikä mitään tiettyjä intelin toteutuksia kuvaavia nimiä.
Pelkkä termi "Indinity fabric" taas on AMDn markkinointinimi omalle väylälleen, joka on jollain tasolla ilmeisesti crossbar-pohjainen, mutta josta voidaan muodostaa useampitasoinen hierarkia erilaisilla topologioilla.
Se on täysin eri tason asia kuin nuo kaksi muuta käyttämääsi termiä.
Yksinkertainen crossbar nimenomaan skaalautuu hyvin huonosti suurelle määrälle portteja, koska sen monimutkaisuus menee suoraan toiseen potenssiin kytkettävien asioiden määrään nähden. Jos yritetään tehdä crossbaria, jossa on paljon portteja siitä tulee iso, virtasyöppö eikä siitä voi tehdä kovin nopeaa.
Jotta yksittäiset crossbarit infinity fabricissa AMDn piireillä pysyy pieninä, siinä on sitten monitasoinen hierarkia. Eli sen sijaan, että jokainen ydin on kytketty siihen crossbariin omalla portillaan, neljä ydintä on laitettu samaan ryppääseen CCXksi (ja CCXn sisällä on paikallinen pieni crossbar) ja näillä on yhteinen portti siihen koko piirin crossbariin. Tämä hierarkinen monitasoinen ratkaisu sitten kivasti lisää viiveitä heti kun mennään sen oman CCn L3-välimusitin ulkopuolellle, ja se myös negatoi huomattavan osan sitä crossbarin tyypillisetä etua/pointtia - että mitkä kaksi tahansa porttia voivat kommunikoida täydellä nopeudella yhtä aikaa. Kun useampi ydin on saman portin takana, niiden pitää jakaa sen portin kaista keskenään.
Muistiohjaimen nopeuden merkitys vähenee sitä mukaa kun prosessorille laitetaan enemmän kakkua.
Muistilatenssien pienentämisessä tulee jossakin vaiheessa raja vastaan eikä kanavien lisääminen auta loputtomiin.
Kanavien lisäämisen vaikutus viiveeseen on käytännössä olematon. Sillä saadaan kaistaa lisää.
Ja ajattelet asiaa väärinpäin. Muistiviive ei ole "voitettava taistelu joka voidaan korjata" vaan "hävitty pitkitystaistely", suhteessa ytimen nopeuteen muistiviive käy jatkuvasti hitaammaksi.
Vaikka muistiväylän ulkoiset kellotaajuudet ja datansiirtonopeudet kasvavat jatkuvasti, itse muistin sisäinen kellotaajuus ei ole juurikaan kasvanut, eikä muistien viiveet pienentyneet. Käytännössä joka kerta, kun uusi muistityyppi otetaan käyttöön, muistin sisäinen kellotaajuus (samalla ulkoisella kellotaajuudella) puolitetaan.
Ja niitä suurempia välimuisteja tarvitaan nimenomaan sen takia, kun se muistiviive on käynyt niin pahaksi. Jotta kärsittäisiin mahdollisimman vähän siitä pahasta muistiviiveestä.
90-luvun puolivälissä jollain 120 MHz peruspenalla muistiviive oli n. 10 kellojaksoa, nyt se on yli 100 kellojaksoa, ja nykyaikainen prosessori tekee yli tuplasti enemmän työtä kellojaksossa.
PC puolen vahvuus on juuri siinä ettei ohjelmistojen tarvitse tukea n+1 erilaista prosessoria tai olla optimoituja tarkalleen tietylle raudalle vaan pitkälle pääsee kun tukee yhtä x86 tai x86-64 yhteensopivaa CPU:ta. Nykyprosessoreista saisi paljon enemmän irti kunnollisella optimoinnilla, josta päästään siihen kuka viitsii optimoida kun prosessoreita on satoja erilaisia.
AMD antoi ymmärtää heterogenous prosessorien suurimmaksi ongelmaksi ohjelmistopuolen ja siksipä yrittävätkin saada aikaan prosessorin joka jakaa kuormaa automaattisesti näytönohjaimelle tarvittaessa. Ts ei tarvita erillistä ohjelmistotukea.
Nyt olet kyllä jälleen aivan totaalisen pihalla. Näytönohjain ajaa aivan eri käskykantaa eikä AMD ole koskaan missään ilmaissut mitään intressiä tehdä x86sta ajavaa näyttistä.
Intelillä sen sijaan tällaisen suuntaista on ollut tekeillä, Larrabee ja sen seuralaiset Knights-linja, mutta niissäkin tarvii vähintään käyttiksen sekduloida säikeet eri ytimille.
Se on kova juttu jos/kun saavat tehtyä. Hiljaista on ollut vaikka siitä puhuivat vuosia sitten.
Eivät ole koskaan puhuneet mitään tuollaista. Olet ymmärtänyt täysin väärin, mitä HSAlla tarkoittetaan.
HSAssa on ollut kyse vain
1) välimuistikoherenttiudesta näyttiksen ja CPUn välillä, mahdollistaa saman muistin käytön molemmille
2) yhteisestä tavukoodista CPUlle ja GPUlle.
Käyttiksen/ajoympäristön/ajurien pitää edelleen kääntää se tavukoodi sille prosessorille, millä se ajetaan, ja skeduloida koodi pyörimään siellä missä se sitä haluaa ajaa. Täysin softan hallinnassa oleva systeemi.