Intel on haudannut x86S-suunnitelmat

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
22 654
Onko missään esitetty arvioita siitä, että paljonko nuo vanhat tuet haittaavat uusissa prosessoreissa ja miksi? GPU-piireihin lisätään kaikenlaisia enkoodereita, dekoodereita ja äänikiihdytyksiä, mutta prosessorissa muutama transistori perinteen vuoksi on jotain sellaista, mistä pitää pyrkiä eroon.
 
Onko missään esitetty arvioita siitä, että paljonko nuo vanhat tuet haittaavat uusissa prosessoreissa ja miksi? GPU-piireihin lisätään kaikenlaisia enkoodereita, dekoodereita ja äänikiihdytyksiä, mutta prosessorissa muutama transistori perinteen vuoksi on jotain sellaista, mistä pitää pyrkiä eroon.
Oma arvaus on että tuon edut liittyy enemmän tietoturvaan kun nopeuteen, eli pääsisi eroon vanhoista "väliaikaisista ratkaisuista" jotka ovat olleet hyviä ideoita 30-40v sitten.
 
GPU-piireihin lisätään kaikenlaisia enkoodereita, dekoodereita ja äänikiihdytyksiä
Näytönohjaimissa on se ero, että niitä käytetään ajurien kautta. Eli niissä riittää API-yhteensopivuus. Suorittimissa sen sijaan pitää olla käskykantayhteensopivuus, jos siis haluaa että kaikki aiemmin julkaistut ohjelmat toimivat samalla tavalla.
 
Näytönohjaimissa on se ero, että niitä käytetään ajurien kautta. Eli niissä riittää API-yhteensopivuus. Suorittimissa sen sijaan pitää olla käskykantayhteensopivuus, jos siis haluaa että kaikki aiemmin julkaistut ohjelmat toimivat samalla tavalla.
Tuosta taas päästään eroon käskykantatulkkauksella, kuten vaikkapa apple on näyttänyt todeksi. Luultavasti olisi ihan toimiva ratkaisu joidenkin vähän käytettyjen x86 käskyjen kanssa mitä tästä x86s:stä on karsittu pois. Taitaa jo suurin osa x86 käskyistä olla sellaisia että moderni prosessori mikrokoodilla pyörittää niitä johonkin settiin muita käskyjä ja ns. natiivitukea ei enää ole juuri millekkään roskalle mitä x86 käskykantaan on aikojen saatossa lisäilty. Tämä x86s olisi vaan kätevästi pakottanut tuon muunnoksen pois prossuista, samalla uudistaen jotain patentteja sun muita kivasti.
 
Viimeksi muokattu:
Ikävä kyllä x86-koodattuja softia on tehty jo 80-luvulta saakka niin järjettömiä määriä jotta x86s-idea taisi kuolla jo alkuunsa siihen. Onneksi. Kukahan newbie-neropatti Intelillä idean keksikään :(
Kaikki mikrokontrollerit, teollisuuden ohjaimet jne jne joita on käytössä uskomattomin määrin. Meneppä ehdottamaan kaikkien moisten vaihtamista vaikka kymmenien miljardien liikevaihtoa pyörittäville raaka-aineita tuottaville firmoille? Sekoitat samalla kätevästi miljoonien laitteiden yhteensopivuuden. Nice idea you moron!
Intelin ehdotus sai varmasti kylmää kyytiä niiltä firmoilta jotka oikeasti pyörittävät _fyysistä_ talouttamme. Pieninkin epäyhteensopivuus nykyisten järjestelmien kanssa olisi edellyttänyt merkittävää hyötyä verrattuna aikaisempiin järjestelmiin. Itsekin jo liian pitkään IT-hommia tehneenä "Jos se toimii - älä koske siihen!".
 
Intel kertoi viime vuonna suunnittelevansa uutta x86S-arkkitehtuuria, joka jättäisi menneiden aikojen haamujen vuoksi ylläpidetyt, ylimääräisiksi todetut ominaisuudet pois rajapinnasta ja keskittyisi nykypäivään.
Nyt yhtiö on varmistanut Tom's Hardwarelle, että nämä suunnitelmat on haudattu.

Lähde: Intel terminates x86S initiative — unilateral quest to de-bloat x86 instruction set comes to an end
Mitä vanhoja ominaisuuksia tässä olisi karsittu? Arvaan, että segmentoitu muistinosoitus olisi ollut tulilinjalla. Sitähän ei ole toteutettu 64-bittiseen tilaan oikeastaan lainkaan.

Tietoturva on oikeastaan asia, joka puoltaisi segmentoidun muistiosoituksen säilyttämistä ja laajentamista myös 64-bittiseen tilaan. Sillä voidaan toteuttaa näennäinen Harvard-arkkitehtuuri, jossa prosessien koodi ja data on eri muistiavaruuksissa. Segmentit on alusta pitäen tukeneet segmenttikohtaisia IOPL-oikeustarkistuksia (Ring 0-Ring 3), eli jos prosessi yrittää päästä käsiksi renkaille, joihin sillä ei ole oikeutta, niin yritykseksi jää - rautatasolla. Sivutetulle muistille voi määritellä vastaavaa mutta vain kaksitasoisesti User/System.
 
Mitä vanhoja ominaisuuksia tässä olisi karsittu? Arvaan, että segmentoitu muistinosoitus olisi ollut tulilinjalla. Sitähän ei ole toteutettu 64-bittiseen tilaan oikeastaan lainkaan.

Tietoturva on oikeastaan asia, joka puoltaisi segmentoidun muistiosoituksen säilyttämistä ja laajentamista myös 64-bittiseen tilaan. Sillä voidaan toteuttaa näennäinen Harvard-arkkitehtuuri, jossa prosessien koodi ja data on eri muistiavaruuksissa. Segmentit on alusta pitäen tukeneet segmenttikohtaisia IOPL-oikeustarkistuksia (Ring 0-Ring 3), eli jos prosessi yrittää päästä käsiksi renkaille, joihin sillä ei ole oikeutta, niin yritykseksi jää - rautatasolla. Sivutetulle muistille voi määritellä vastaavaa mutta vain kaksitasoisesti User/System.
Linkkejä seuraamalla olisi selvinnyt paljonkin. Suurin idea oli tehdä siitä puhtaasti 64-bittinen, eli 16- ja 32-bit tilat poistettu kokonaan myös käynnistyksestä, Ring 3 32-bit softat toimii, Ring 0 ei.
 
Linkkejä seuraamalla olisi selvinnyt paljonkin. Suurin idea oli tehdä siitä puhtaasti 64-bittinen, eli 16- ja 32-bit tilat poistettu kokonaan myös käynnistyksestä, Ring 3 32-bit softat toimii, Ring 0 ei.
Tämä tarkoittaisi mm. kuoliniskua kaikelle vanhalle raudalle, jolle ei ole kirjoitettu 64-bittistä ajuria. Samoin 16-bittisiä legacy-ohjelmia ei voisi enää ajaa edes virtuaalikoneella.

Vanhojen tilojen ylläpito voi toki tuntua turhalta mutta kuluttaako ne oikeasti merkittävästi resursseja? Arkkitehtuuri toteutettiin pitkälti jo 80286:lla ja kokonaan 80386:lla (134k/275k transistoria kaikkeen toiminnallisuuteen).
 
Samoin 16-bittisiä legacy-ohjelmia ei voisi enää ajaa edes virtuaalikoneella.
Eikö muka tuollasta "sata vuotta" vanhaa 486-rautaa voisi emuloida kokonaisuudessaan tarpeeksi nopeasti jollain QEMU:lla tms. x86S prosessorilla vaikka se itse uusi X86S ei tukisikaan/ymmärtäisi 16 bittisiä osoitteita?
 
Yli 99%:iin kaikista uusista myydyistä PC:istä ei koskaan asenneta käyttöjärjestelmää, joka mahdollistaisi siirtymisen sellaiseen toimintamoodin, joka ei toimisi x86S:llä:

16-bittinen v86-tila ei ole käytettävissä 64-bittisen käyttiksen päällä, 64-bittisen käyttiksen päällä voi x86S-prossulla ajaa kaikkea samaa kamaa kuin normaalilla x86-64-prossulla.

x86s vaan käytännössä pudottaa pois mahdollisuuden ajaa 16-bittisiä tai 32-bittisiä käyttiksiä.
 
Viimeksi muokattu:
Tämä tarkoittaisi mm. kuoliniskua kaikelle vanhalle raudalle, jolle ei ole kirjoitettu 64-bittistä ajuria.

Kuten?

Ei 32-bittiset ajurit muutenkaan toimi 64-bittisissä käyttiksissä.

Jos taas se softa mitä kutsut "ajuriksi" ei ole oikea ajuri vaan usermode-softaa , se toimii x86s-prossulla 64-bittisen käyttiksen päällä aivan samalla tavalla kuin normaalilla x86-64-prossulla 64-bittisen käyttiksen päällä.

Ne koneet joissa ajetaan 32-bittistä käyttistä sen takia että jollekin raudalle ei löyty 64-bittistä ajuria on hyvin harvinaisia.
Ne UUDET/uuden prossun sisältävät koneet joissa ajetaan 32-bittistä käyttistä sen takia että jollekin koneen sisältämälle raudalle ei löyty 64-bittistä ajuria on vielä harvinaisempia.

Ainoat merkitykselliset ja potentiaalisesti yleiset yhteensopivuusongelmat mitä keksin on, että
1) BIOSin bootloader-koodi pitää muokata toimimaan kokonaan 64-bittisessä tilassa.
2) joissain koneissa BIOSin päivitys voi vaatia boottausta DOSiin, mutta tämäkin on melko harvinaista, ja tämä ei x86s-prossulla ole mahdollista. Että joku emolevyvalmistaja voi joutua koodaamaan firmwarenpäivityssoftansa uusiksi että saa emolevynsä yhteensopiviksi x86s-prossujen kanssa.

Molemmat on lähinnä että emolevyvalmistajille (kertaluontoisesti) vähän lisätyötä, mutta kun työ on tehty, mitään ongelmia ei näistä ole.

Samoin 16-bittisiä legacy-ohjelmia ei voisi enää ajaa edes virtuaalikoneella.

16-bittisiä legacy-ohjelmia on jo vuosikaudet ajettu Dosbox-softalla, joka on ihan täysi emulaattori, ei virtuaalikone.

Vanhojen tilojen ylläpito voi toki tuntua turhalta mutta kuluttaako ne oikeasti merkittävästi resursseja? Arkkitehtuuri toteutettiin pitkälti jo 80286:lla ja kokonaan 80386:lla (134k/275k transistoria kaikkeen toiminnallisuuteen).

Ei näiden ominaisuuksien tuen hintaa lasketa niinkään transistoreissa vaan piirin kehittämisen monimutkaisuudessa, tuotekehitysajassa, luotettavuudessa ja siinä, millainen suorituskyky siihen uuteen tuotteeseen saadaan.

Kun prossua kehitettäessä pitää huomioida se, että uudenkin ytimen pitää toistaa identtisesti 45 vuotta vanhan prossun muistinosoitusbugi, koska maailmassa on paljon softaa joka väärinkäyttää tätä bugia käyttääkseen suurempaa määrää muistia kuin mitä 45 vuotta vanhalla prossulla muuten voi muuten accessoida, sitä aikaa mikä tähän prossun kehittäjältä menee ei voida käyttää jonkun uuden suorituskykyä parantavan ominaisuuden kehittämiseen ja testaamiseen.

Ja kun sen bugin toistamisen takia ei voida osoitteenlaskentayksikössä käyttää optimaalista yhteenlaskuyksikköä vaan sen sisällä pitää vetää muutama linja hassusti ja tarvitaan niiden valintaan ylimääräinen mux, pahimmillaan tästä voi tulla vaikka kellojakso lisää viivettä joihinkin latausoperaatioihin (ei toki todennäköistä).
 
Viimeksi muokattu:
Eikö muka tuollasta "sata vuotta" vanhaa 486-rautaa voisi emuloida kokonaisuudessaan tarpeeksi nopeasti jollain QEMU:lla tms. x86S prosessorilla vaikka se itse uusi X86S ei tukisikaan/ymmärtäisi 16 bittisiä osoitteita?

Juuri näin nykyäänkin tehdään; Steamissa on esim, myynnissä ziljoona vanhaa DOS-peliä jotka on paketoitu Dosbox-emulaattorin sisään. Eikä kukaan valita että ne pyörivät liian hitaasti.
 
1) BIOSin bootloader-koodi pitää muokata toimimaan kokonaan 64-bittisessä tilassa.

Voi olla että hallusinoin mutta muistaakseni UEFI ei edes tue 16-bittistä moodia, ilman CSMää tai vastaavaa ei pysty DOSia boottaamaan.

Legacy BIOSia ei toivottavasti ole yhdessäkään x86 laitteessa käytetty hetkeen.
 
Voisikohan tämä sattumoisin liittyä puolustusteollisuuteen, siellä ei olla vielä valmiita siirtymään tulevaisuuteen. :hmm: Tai yksinkertaisesti heittivät niin paljon porukkaa pihalle etteipä ole enää riittävästi tekijöitä. Jännä homma kuitenkin.
 
Eikö muka tuollasta "sata vuotta" vanhaa 486-rautaa voisi emuloida kokonaisuudessaan tarpeeksi nopeasti jollain QEMU:lla tms. x86S prosessorilla vaikka se itse uusi X86S ei tukisikaan/ymmärtäisi 16 bittisiä osoitteita?
Kaikkea voi varmasti emuloida mutta miksi pitäisi? Jos nykyinen ratkaisu _TOIMII_ niin sen korvaaminen uudemmalla ei monestikaan kannata koskei moisesta ole mitään hyötyä. Valtavassa osassa tuotantojärjestelmissä ei ole mitään *itunkaan hyötyä jostain x86-kannan uudistuksista. Kaikki on jo tehty/optimoitu aikanaan, eikä pikkuruinen uudistus CPU-tasolla tekisi kuin enintään haittaa jo toimiville systeemeille. Teollisuudessa kun onneksi vielä toimii perinteinen "Alä saatana koske siihen jos se toimii."
 
Kaikkea voi varmasti emuloida mutta miksi pitäisi? Jos nykyinen ratkaisu _TOIMII_ niin sen korvaaminen uudemmalla ei monestikaan kannata koskei moisesta ole mitään hyötyä. Valtavassa osassa tuotantojärjestelmissä ei ole mitään *itunkaan hyötyä jostain x86-kannan uudistuksista. Kaikki on jo tehty/optimoitu aikanaan, eikä pikkuruinen uudistus CPU-tasolla tekisi kuin enintään haittaa jo toimiville systeemeille. Teollisuudessa kun onneksi vielä toimii perinteinen "Alä saatana koske siihen jos se toimii."
 
Ikävä kyllä x86-koodattuja softia on tehty jo 80-luvulta saakka niin järjettömiä määriä jotta x86s-idea taisi kuolla jo alkuunsa siihen. Onneksi. Kukahan newbie-neropatti Intelillä idean keksikään :(
Kaikki mikrokontrollerit, teollisuuden ohjaimet jne jne joita on käytössä uskomattomin määrin. Meneppä ehdottamaan kaikkien moisten vaihtamista vaikka kymmenien miljardien liikevaihtoa pyörittäville raaka-aineita tuottaville firmoille? Sekoitat samalla kätevästi miljoonien laitteiden yhteensopivuuden. Nice idea you moron!
Intelin ehdotus sai varmasti kylmää kyytiä niiltä firmoilta jotka oikeasti pyörittävät _fyysistä_ talouttamme. Pieninkin epäyhteensopivuus nykyisten järjestelmien kanssa olisi edellyttänyt merkittävää hyötyä verrattuna aikaisempiin järjestelmiin. Itsekin jo liian pitkään IT-hommia tehneenä "Jos se toimii - älä koske siihen!".

Tämä tarkoittaisi mm. kuoliniskua kaikelle vanhalle raudalle, jolle ei ole kirjoitettu 64-bittistä ajuria. Samoin 16-bittisiä legacy-ohjelmia ei voisi enää ajaa edes virtuaalikoneella.

Vanhojen tilojen ylläpito voi toki tuntua turhalta mutta kuluttaako ne oikeasti merkittävästi resursseja? Arkkitehtuuri toteutettiin pitkälti jo 80286:lla ja kokonaan 80386:lla (134k/275k transistoria kaikkeen toiminnallisuuteen).

Hkultala jo hyvin vastasikin teille tekniikan osalta.

Ja siis vaikka Intel olisikin tehnyt valmiiksi ja siirtynyt x86S-arkkitehtuuriin, niin eipä se nyt sitä tarkoittaisi että perinteinen x86-sarja lopetettaisiin samantien, varmasti niitä olisi tehty siinä rinnalla vielä vuosikaudet.
 

Uusimmat viestit

Statistiikka

Viestiketjuista
262 346
Viestejä
4 553 385
Jäsenet
74 959
Uusin jäsen
sorjonen

Hinta.fi

Back
Ylös Bottom