AMD kertoi lisää yksityiskohtia tulevista Ryzen-prosessoreista (Matisse)

Liittynyt
22.10.2016
Viestejä
7 583
Mikään ei estä toisia säikeitä ronkkimasta niitä toisen säikeen paikallisia muuttujia, ja se on aivan sallittua koodia C-kielellä, niin kauan kun sen paikallisen muuttujan sisältävästä funktiosta ei ole poistuttu.
Entäs moderneilla ohjelmointikielillä?

Tälläinen ei kyllä kuulosta joltain, mitä kukaan tuottavaa ohjelmointityötä tekevä haluaisi tehdä. Itseasiassa C-koodin käyttäminen johonkin muuhun kuin sulautettuun järjestelmään ei kuulosta joltain, mitä kukaan haluaa nykypäivänä tehdä työasema tai palvelinympäristössä :)
 
Liittynyt
22.10.2016
Viestejä
11 151
Toinen meistä kuitenkin tuntee MESI-protokollan :D
Ainakin minä tunnen sen, mutta minä tiedän myös että MESI on viime vuosituhatta, ja nykyisin on käytössä selvästi kehittyneempiä välimuistikoherenttiusprotokollia-

Kuinkahan hyvin tuo sun efekti kuvaa prosessorisuunnittelijaa jolta moinen menee yli hilseen ja jaksaa selittää selvästä aiheesta vaikka ja mitä samalla muita solvaten :D
MESI ei mene minulta yhtään yli hilseen.

Käy vaan ärsyttämään kun tyyppi joka on aivan perusasioista aivan pihalla, mutta on opetellut muutaan kehittyneen nippelitiedon (muttei ymmärrä, mikä niiden merkitys on, koska ei ymmärrä perusasioita niden ympäriltä) tulee inttämään ihan typeriä.
 
Liittynyt
22.10.2016
Viestejä
11 151
Entäs moderneilla ohjelmointikielillä?

Tälläinen ei kyllä kuulosta joltain, mitä kukaan tuottavaa ohjelmointityötä tekevä haluaisi tehdä. Itseasiassa C-koodin käyttäminen johonkin muuhun kuin sulautettuun järjestelmään ei kuulosta joltain, mitä kukaan haluaa nykypäivänä tehdä työasema tai palvelinympäristössä :)
Kaikkein normaalien käyttöjärjestelmien muistinsuojausmallit yms. perustuvat C-kieleen. Käyttikset eivät suojaa saman prosessin eri säikeiden pinoja toisiltaan, jotta rumasti kirjoitetut C-kieliset ohjelmat toimivat.

Toki monissa "kehittyneemmissä kielissä" ei edes ole normaalia monisäikeistystä ollenkaan. Suorituskyky kiittää.
 
Liittynyt
03.01.2018
Viestejä
576
Ainakin minä tunnen sen, mutta minä tiedän myös että MESI on viime vuosituhatta, jha nykyisin on käytössä selvästi kehittyneempiä välimuistikoherenttiusprotokollia-
MESIF, MOESI jne, sanoinhan tuolla aikaisemmin että välimuistikoherenttiusprotokollista voi turista vaikka mitä. Kaikki ne tekevät kuitenkin sen mitä MESI:kin, eli merkataan jaettu data ja pidetään privaatti nopeana jotta ei tarvii tehdä sitä kaikkien cachejen snooppausta jokaisen muistihaun yhteydessä, ainoastaan jaettujen.

MESI ei mene minulta yhtään yli hilseen.

Käy vaan ärsyttämään kun tyyppi joka on aivan perusasioista aivan pihalla, mutta on opetellut muutaan kehittyneen nippelitiedon (muttei ymmärrä, mikä niiden merkitys on, koska ei ymmärrä perusasioita niden ympäriltä) tulee inttämään ihan typeriä.
Kuten että jokaisen muistihaun yhteydessä snoopataan kaikki cachet? Ymmärrätkö edelleenkään että jos käytetty data on privaattia, eli se on luettu vain yhden ytimen cacheen sitä luettaessa ja kirjoitettaessa ei tarvitse välittää yhtään mitä muut ytimet tekevät? Tämähän oli se pointti jota vastaan vänkäät henkeen ja vereen.
 
Liittynyt
22.10.2016
Viestejä
7 583
Kaikkein normaalien käyttöjärjestelmien muistinsuojausmallit yms. perustuvat C-kieleen. Käyttikset eivät suojaa saman prosessin eri säikeiden pinoja toisiltaan, jotta rumasti kirjoitetut C-kieliset ohjelmat toimivat.

Toki monissa "kehittyneemmissä kielissä" ei edes ole monisäikeistystä ollenkaan. Suorituskyky kiittää.
Mutta modernit pelimoottorit ja käytännön softa eivät perustu C-kieleen eivätkä sisällä suurella todennäköisyydellä rumasti kirjoitettua C-kieltä. C++:lla toki saa edelleen tehdä kaikki C-kielen idioottimaisuudet, mutta kaupallisessa ohjelmistotuotannossa nuo idiotismit (esim. muistin sörkkiminen pointtereilla) löytyvät erittäin suurella tödennäköisyydellä tyylioppaan ehdottomasti kielletyt osiosta.
 
Liittynyt
22.10.2016
Viestejä
11 151
Mutta modernit pelimoottorit ja käytännön softa eivät perustu C-kieleen eivätkä sisällä suurella todennäköisyydellä rumasti kirjoitettua C-kieltä.
Jopas sinulla on ruusuinen kuva maailmasta.

Melkein kaikki sisältää pellin alla paljon rumasti kirjoitettua C-kieltä. Niitä "uudempia kehittyneempiä kieliä" ajetaan virtuaalikoneissa tai tulkeissa, jotka on kirjoitetu (rumasti) Cllä/C++lla.

Ja ne uudet "kehittyneemmät kielet" kutsuvat monien suorituskykykriittisten rutiiniensa toteutuksessa (rumia) C/C++-kielellä koodattuja natiivirutiineita.

Ja ainakin niitä ajetaan käyttöjärjestelmällä, jonka muistimalli on tehty C/C++aa silmälläpitäen. Ja se käyttöjärjestelmän ydin on ainakin koodattu Cllä tai C++lla.

C++:lla toki saa edelleen tehdä kaikki C-kielen idioottimaisuudet, mutta kaupallisessa ohjelmistotuotannossa nuo idiotismit löytyvät erittäin suurella tödennäköisyydellä tyylioppaan ehdottomasti kielletyt osiosta.
Mitä suorituskykykriittempää koodi on, sitä enememän siellä rikotaan tyylioppaita vastaan. Kernelit, virtuaalikoneet/tulkit, pelimoottoreiden graffanpiirtorutiinit.
 
Liittynyt
22.10.2016
Viestejä
11 151
MESIF, MOESI jne, sanoinhan tuolla aikaisemmin että välimuistikoherenttiusprotokollista voi turista vaikka mitä. Kaikki ne tekevät kuitenkin sen mitä MESI:kin, eli merkataan jaettu data ja pidetään privaatti nopeana jotta ei tarvii tehdä sitä kaikkien cachejen snooppausta jokaisen muistihaun yhteydessä, ainoastaan jaettujen.
Voi huoh.

Ei siinä MESIssä merkata mitenkään kaikkea "jaettua dataa" eri prosessien tai säikeiden välillä , vaan vain niiden välimuistilinjojen tilaa, jotka on siellä (omassa) välimuistissa.

Eli et ymmärrä miten MESI toimii, koska vieläkin perusymmärrys välimuistin toiminnasta kirjanpidon osalta on hukassa.


Siinä MESIssä se kirjanpito jokaisella välimuistilla on vain niistä välimuistilohkoista, jotka sieltä omasta välimuistista löytyy. Kaiken prosessorin tukeman fyysisen muistin kirjanpito veisi zenillä sen 4 tai 8 gigaa tilaa (4 jos vain yksi bitti, että muualla on/ei ole likaisena, 8 jos 2 bittiä)

MESIn mikään tila ei ole "ei ole minulla, muttei ole muillakaan".

M = Modified = minä olen muuttanut, minulla on likainen. Muut ei saa käyttää hakematta ensi minulta. Minun pitää kirjoittaa tämä ulospäin ennen kuin voin poistaa tämän itseltäni.
E = Exclusive = Vain minulla, mutta en ole vielä muuttanut. Muut saa käyttää, mutta sitten minun tilani muuttuu Sharediksi. Minä saan kirjoittaa, jolloin tila muuttuu modifiediksi. Exclusive-tilassa data on tässä välimuistissa, eikä sitä tarvi ladata mistään muualta että tämän välimuistin kautta sitä käytetään.
S = Shared, monella yhtä aikaa, kaikki saa lukea. kirjoitus invalidoi muilta.
I = Invalid. Tätä ei saa käyttää, vaan pitää uudelleenladata ennen käyttämistä

Jos se lohko löytyy sieltä välimuistista, ei sitä tarvi ladata yhtään mistään ulommasta muistista.

Jos taas se tarvii ladata ulommasta muistista, siitä ei (MESIssä) ole meillä kirjanpitotietoa.

MESIssä ei ole mitään sellaista tilannetta, että dataa ei ole omassa välimuistissa, ja se pitää ladata DRAMIlta, mutta tiedetään, että sitä ei ole muussa välimuistissa

Kuten että jokaisen muistihaun yhteydessä snoopataan kaikki cachet?
Ymmärrätkö edelleenkään että jos käytetty data on privaattia, eli se on luettu vain yhden ytimen cacheen sitä luettaessa ja kirjoitettaessa ei tarvitse välittää yhtään mitä muut ytimet tekevät? Tämähän oli se pointti jota vastaan vänkäät henkeen ja vereen.
Koko ajan olet höpissyt privaateista muisteista (ja selittänyt kuinka niiden takia ei tarvita mitään välimusitin koherenttiusprotokollaa) ja nyt sitte kerrot, että tarkoitat sillä MESI-protokollan E- ja M-tiloja

Vaikuttaa melko vahvalta maalitopllien siirtelyltä, tai joko hyvin huonolta selittämiseltä yhdistettynä huomattavaan väärinymmärrykseen välimuistin krijanpidon toiminnasta


Jos välimuisti osuu, ei tietenkään tarvi tarkastaa mitään muista välimuisteista. Mutta jos välimusti osuu, ei olla lataamassa mitään DRAM-muistista.

Jos välimuisti ei osu, ei meillä ole myöskään MESI-protokollassa ole mitään kirjanpitotietoa siitä, onko sitä kyseistä osoitetta muissa välimuisteissa, ja pitää tarkastaa, onko sitä muissa välimuisteissa.

Kaikissa tilanteissa, jossa voidaan joutua lataamaan jotain DRAMilta, pitää myös tarkastaa muut välimuistit.
 
Viimeksi muokattu:
Liittynyt
22.10.2016
Viestejä
7 583
Jopas sinulla on ruusuinen kuva maailmasta.

Melkein kaikki sisältää pellin alla paljon rumasti kirjoitettua C-kieltä. Niitä "uudempia kehittyneempiä kieliä" ajetaan virtuaalikoneissa tai tulkeissa, jotka on kirjoitetu (rumasti) Cllä/C++lla.

Ja ne uudet "kehittyneemmät kielet" kutsuvat monien suorituskykykriittisten rutiiniensa toteutuksessa (rumia) C/C++-kielellä koodattuja natiivirutiineita.

Ja ainakin niitä ajetaan käyttöjärjestelmällä, jonka muistimalli on tehty C/C++aa silmälläpitäen. Ja se käyttöjärjestelmän ydin on ainakin koodattu Cllä tai C++lla.

Mitä suorituskykykriittempää koodi on, sitä enememän siellä rikotaan tyylioppaita vastaan. Kernelit, virtuaalikoneet/tulkit, pelimoottoreiden graffanpiirtorutiinit.
Nykyään noissa tehdään just-in-time käännös ei tulkata. Javalla nyt tosin ei kukaan pelejä kirjoita. Unity on ainakin ulospäin C#, sisällä toki voi löytyä C++ rutiineja. Pointti nyt oli, että tuotantosofta ei aina ole optimoitu viimeisen päälle ja vähintäänkin kaikenlaista pointteriaritmetiikkaa vältelllään kuin ruttoa, koska se aiheuttaa kalliita bugeja (rauta on usein halvempaa kuin kalliit bugit).
 
Liittynyt
22.10.2016
Viestejä
11 151
Nykyään noissa tehdään just-in-time käännös ei tulkata.
Tai hotspot-käännös. Ja rutiineita, joita ajetaan enemmän, käännetään uudestaan järeämmät optimoinnit päällä. Ja se (C/C++lla koodattu) ajoympäristö joka sen kääntäjän sisältää, ehkä vielä profiloi sitä, mitkä on niitä kriittisiä rutiineita, jotka kannattaa kääntää uudestaan järeämmät optimoinnit päällä. Ja tämä profilointi voi olla melkoisen rumaa toisen säikeen pinon ronkkimista. Ja sen profiloinnin takia sinne generoituun koodiin saatetaan myös lisätä kaikkea "rumaa" joka tekee hassuja temppuja esim. juuri sillä pinolla.

Ja jos jit-käännöstä tehdään funktio kerrallaan, ja erityisesti vielä jos käytössä on dynaamista sitomista, funktiokutsuihin voi tulla hyvin jännää koodia.

Se jit- tai hotspot-käännetyn "kehittyneemmän kielen" natiivikoodi sisältä helposti paljon enemmän kaikkia "rumia temppuja" kuin mitä keskimääräinen C-ohjelma, koska se jit-/hotspot-kääntäjä on kikkaillut sinne vaikka mitä. C/C++-kieli taas määrittelee hyvin tarkkaan esimerkiksi suurimman osin muistiaccesseista ja niiden järjestyksen, eikä kääntäjä voi kikkailla kovin paljoa, vaikka siinä itse lähdekoodissa kikkailuita voikin olla enemmän.

Javalla nyt tosin ei kukaan pelejä kirjoita. Unity on ainakin ulospäin C#, sisällä toki voi löytyä C++ rutiineja. Pointti nyt oli, että tuotantosofta ei aina ole optimoitu viimeisen päälle ja vähintäänkin kaikenlaista pointteriaritmetiikkaa vältelllään kuin ruttoa, koska se aiheuttaa kalliita bugeja (rauta on usein halvempaa kuin kalliit bugit).
Mutta sitä tuotantosoftaa ajetaan ympäristöissä, joissa alla on palasia, jotka sisältää sitä rumaa tappiin asti optimoitua koodia. Ja sitä ajetaan sen tuotantosoftan prosessissa.
 
Viimeksi muokattu:
Liittynyt
22.10.2016
Viestejä
7 583
Mutta sitä tuotantosoftaa ajetaan ympäristöissä, joissa alla on palasia, jotka sisältää sitä rumaa tappiin asti optimoitua koodia. Ja sitä ajetaan sen tuotantosoftan prosessissa.
Toki on, mutta perffiä rajoittaa todennäköisesti kummatkin. Pelit eivät koskaan pyöri yhtä nätisti kuin karkkimarkit, koska siellä on sitä tuotantosoftaa, ei pelkästään 10 vuotta optimoituja grafiikkarutiineja. Ja jos kummatkin rajoittaa suorituskykyä, myös sen ei-optimoitu-c-rutiini koodin suorituskyky on oleellista.
 

svk

Apua, avatarini on sormi!
Liittynyt
14.12.2016
Viestejä
2 810
D

Deleted member 4604

Vieras (tunnus poistettu)
Intel reported to have a new 5GHz chip that’s literally priceless

Intelin paniikkiveto noihin tuleviin AMD:n Ryzeneihin taisi ilmaantua: 14 corea ja vie vaatimattomat 255W. Kulkee 4-5GHz ja saannot ovat niin heikot, että ostajat joutuvat Intelin huutokauppaan jos noita haluavat. Pientä epätoivon makua on ilmassa siltä suunnalta.
Jos kyseessä olisi paniikkiveto, niin kyseessä olisi joku 9900K variantti josta on niistetty viimeisetkin löysät pois.
9990XE vaikuttaa enemmän mallilta, jolla on tarkoitus lypsää ylikellottajilta ja tietynlaisia työasemakuormia ajavilta käyttäjiltä (vieläkin) enemmän rahaa.
Intelillä taisi olla mm. korkeimmalle kellotetut Haswell-E:t saatavilla vain Xeoneina.

Prosessorin mallinimi on kyllä uskomattoman typerä.
Loogisesti nimettynä tuo olisi 9940XE tms.
 

Nerkoon

Se ainoa oikea
Platinum-jäsen
Liittynyt
18.10.2016
Viestejä
5 660
Jos kyseessä olisi paniikkiveto, niin kyseessä olisi joku 9900K variantti josta on niistetty viimeisetkin löysät pois.
9990XE vaikuttaa enemmän mallilta, jolla on tarkoitus lypsää ylikellottajilta ja tietynlaisia työasemakuormia ajavilta käyttäjiltä (vieläkin) enemmän rahaa.
Intelillä taisi olla mm. korkeimmalle kellotetut Haswell-E:t saatavilla vain Xeoneina.

Prosessorin mallinimi on kyllä uskomattoman typerä.
Loogisesti nimettynä tuo olisi 9940XE tms.
Ja tuostako ei sinusta ole niistetty viimeisiäkin pois? Kellot ovat kutakuinkin prosessin ylärajassa ja piirin ilmoitettu kulutus suorastaan karsealla tasolla.
 
D

Deleted member 4604

Vieras (tunnus poistettu)
Ja tuostako ei sinusta ole niistetty viimeisiäkin pois? Kellot ovat kutakuinkin prosessin ylärajassa ja piirin ilmoitettu kulutus suorastaan karsealla tasolla.
Siis tuosta 9990XE:stäkö?
Tottakai on, mutta sen relevanssi kuluttajapuolella on nolla.
Matisse sen sijaan on kuluttajaprosessori.
 

Nerkoon

Se ainoa oikea
Platinum-jäsen
Liittynyt
18.10.2016
Viestejä
5 660
Siis tuosta 9990XE:stäkö?
Tottakai on, mutta sen relevanssi kuluttajapuolella on nolla.
Matisse sen sijaan on kuluttajaprosessori.
Matisse on kuluttajaprosessori, mutta sille puolelle Intelillä ei käsittääkseni ole heittää mitään, koska 9900K kolkuttaa sekin jo prosessin rajoja. Ja jostain heidän on saatava sitä toivottavasti positiivista pöhinää, että AMD ei vie kaikkea huomiota.
 
Toggle Sidebar

Statistiikka

Viestiketjut
242 265
Viestejä
4 231 303
Jäsenet
71 186
Uusin jäsen
pymehry

Hinta.fi

Ylös Bottom