Qualcomm ja Google kehittävät RISC-V-alustaa puettaviin laitteisiin

Liittynyt
22.10.2016
Viestejä
11 127
Käytännössä syynä tähän lienee ARM Holdingsin perseily Nuvian ARM-lisenssien kanssa.

Teknisesti ARMv8 on risc-v:tä selvästi parempi käskykanta, mutta ARM Holdingsiin ei voi enää luottaa yhteistyökumppanina.
 
Liittynyt
22.10.2016
Viestejä
11 127
Kerroppa esimerkki tästä selvästi paremmasta käskykannasta.
* csel-käsky jolla voidaan valita kahden arvon välillä ilman haarautumista (vastaa Cn ?-operaattoria).

Risc-V MELKEIN sai tämän bitmanip-laajennokseensa, mutta se poistettiin standardista viime metreillä, koska jotkut standardointikomitean 1980-luvun RISC-dinosaurukset vastustivat käskyä, jolla on 3 rekisteriparametria.

* Ehdolliset vertailukäskyt joilla voi kätevästi evaluoida moniosaisia ehtolausekkeita (Cn && ja || -operaattorit yhdistettynä vertailukäskyyn)

* Paljon paremmat muistiosoitusmoodit, esim base + index * size, sekä postmodify, näillä säästää aika paljon käskyjä ihan normaaleissa loopeissa jotka läpikäy taulukoita verrattuna risc-v:n pelkkään base+offset-osoitusmuotoon
Jotkut RISC-V-prossuja suunnittelevat firmat ovat tehneet omia proprietary-laajennoksiaan, joilla näitä osoitusmuotoja parannetaan, mutta ne jäävät hyödyntämättä, kun käytetään standardikääntäjiä, nämä saadaan käyttöön vain kun koodi käännetään niiden omalla kääntäjällä (jolla käännetty koodi ei sitten toimi standardi-RISC-Vllä)

* Käskyt joilla voidaan ladata tai tallettaa kaksi rekisteriä kerralla. Tekee rekisterien spillaamisesta funktiokutsujen yhteydessä selvästi nopeampaa

* Tuki 4kiB lisäksi myös 16 ja 64 kiB virtuaalimuistisivuille.

4kiB oli hyvä koko 1980-luvulla kun 386sta speksattiin kun muisti oli aika paljon kalliimpaa ja ohjelmien käsittelemät datamäärät pienempiä, mutta nykyään se ei vaan enää ole optimaalinen. x86lla joudutaan sitä yhteensopivuussyistä toki edelleen käyttämään, mutta RISC-V:llä olisi voinut valita nykyaikaan optimaalisempia kokoja kun tehtiin uusi käskykanta jossa ei olisi tarvinnut piitata taaksepäinyhteensopivuudesta. RISC-V kuitenkin vaan ilmeisesti vaan kopioi tämän koon x86sta ja joistain 1980-luvun RISCeistä, piittaamatta yhtään, että tietokoneet ja niiden käyttökohteet ovat kehittyneet 30 vuodessa

* Kokonaislukujen multiply-accumulate-käsky

* Lisäksi on monia muita näppäriä käskyjä jotka ARMv8:ssa on osa peruskäskykantaa ja siten aina saatavilla mutta RISC-Vssä vaatii "bitmanip"-laajennoksen, eli jos kääntää peruskäskykannalle, nämä jää käyttämättä, jos kääntää bitmanip-laajennokselle, koodi ei toimi kaikilla riscv-prossuilla

* SIMD-käskykantalaajennokset on ARMv8ssa paljon paremmat, NEON on oikein käyttökelpoinen ja SVE (joka on optionaalinen) on todella kehittynyt ja näppärä. RISC-Vssä ei mitään vakiona, ja P-laajennos on hyvin yksinkertainen ja tarjoaa vain hyvin pienen suorituskykylisän ja harvoin, V-laajennos, vaikkakin teoriassa tehokas, on hyvin monimutkainen, hankala implementoida raudalla ja kääntäjälle hankala hyödyntää tehokkaasti. Se useimpiin tilanteisiin toimiva järkevä kompromissi puuttuu RISC-Vstä kokonaan.


RISC-V suunniteltiin yksinkertaiseksi opetustyökaluksi, ARMv8 käskykannaksi jolla ajaa todellisen maailman workloadeja nopeasti ja energiatehokkaasti, ja tämän huomaa käskykantojen ominaisuuksista.
 
Viimeksi muokattu:
Toggle Sidebar

Uusimmat viestit

Statistiikka

Viestiketjut
240 885
Viestejä
4 212 403
Jäsenet
70 972
Uusin jäsen
JackV

Hinta.fi

Ylös Bottom