Vaikka tuo selittääkin tietyt perusasiat oikein, se tekee melkoisia yksinkertaistuksia ja sisältää myös täysin virheellisiä väitteitä, ja jättää sanomatta sen nykyaikana tärkeimmän pointin.
Tuo on risc-fanaatikkojen propagandaa, ei järkevä ja reilu vertailu, ja kymmeniä vuosia aikaansa jäljessä.
Ensinnäkin, kertolaskun suorittaminen yleisessä tapauksessa ilman kertolaskukäskyä on todella hidasta. 64-bittisillä luvuilla tarkoittaa satoja käskyjä. 64-bittinen kokonaislukujen kertolaskukäsky suoritetaan nykyaikaisilla prosessoreilla 3-4 kellojaksossa, eli suuruusluokkaa 100 kertaa nopeammin.
Tämän takia kaikkiin yleisiin risc-arkkitehtuureihin lisättiin kertolaskukäskyt jo kolmisenkymmentä vuotta sitten eikä väite "risc-prossulla kaikki käskyt suoriutuu yhdessä kellojaksossa" pidä paikkaansa.
Väite, että CISC-prossulla käsky myös ylikirjoittaa toisen lähderekisterinsä on virheellinen. Tämä on x86-käskykannan, ei CISCn yleinen ominaisuus, ei pitänyt paikkaansa 68k:lla, eikä se x86-prossullakaan (enää) pidä paikkaansa, koska
1) joistain käskyistä on myös versiot, jotka eivät ylikirjoita lähderekisteriään.
2) nykyaikaiset rekistereitä uudelleennimeävät prossut eivät KOSKAAN oikeasti ylikirjoita fyysisiä lähderekistereitään matalalla tasolla. Kun ne suorittavat käskyn, joka muka ylikirjoittaa lähderekisterinsä, tulos menee kuitenkin eri rekisteriin ja kirjanpito siitä, missä tämän arkkitehtuurillisen rekisterin arvo on, vaihdetaan. Tämä rekisterien uudeennimeäminen kuitenkin myös mahdollistaa sen, että se siirtokäsky mikä tarvitaan sen arvon kopioimiseen "turvaan" pois sen tuhoavan käskyn alta on suorituspään kannalta ilmainen, se on pelkkä kirjanpidon päivitys jonka efektiivinen viive on 0 kellojaksoa.
Ei se risc mihinkään "monimutkaistu" koska arkkitehtuurien fundamentaaliset lähestymismallit on erilaiset.
Kyllä se monimutkaistuu, mutta vähemmän.
Ja ARM on hyvin kaukana "puhtaasta" RISCistä, siellä on esim käskyjä jotka lataavat tai tallettavat kaksi rekisteriä kerrallaan.
Lisäksi
skaalautuvuus on ihan eri luokkaa kehittää tehokkaampia piirejä.
Mikään mistä tuo linkki puhuu ei oikeasti liity tähän mitenkään.
Oikeasti se merkittävä ero tämän kannalta on se käskyenkoodaus, jota tuo linkki ei mainitse ollenkaan.
Jotka varmasti helppo skaalata hardware moduuli päivitettäviksi.
Mitä ihmettä yrität tällä oikein sanoa?
Oikeasti merkittävimmät erot ARMv8in ja x86n välillä on)
1) käskyenkoodaus. ARMv8ssa kaikki on 4 tavua, x86ssa mutä tahansa 1-15 tavua. Tämä on se ainoa asia missä ARM on paljon yksinkertaisempi.
2) ARM tukee myös 16 kiB ja 64 kiB virtuaalimuistisivuja.
3) ziljoona pientä pikkunäppäryyttä ARMissa, nämä on kaikki hyvin epä-RISCiä.
Esim muistinosoitusmuotojen suhteen ARMv8 on hyvin kaukana perinteisistä RISCeistä, mikä on hyvä asia, perinteisten RISCein base+offset on aivan liian rajoittunut osoitusmuoto
ARMv8ssa on myös tuplamäärä arkkitehtuurillisia rekistereitä, mutta tämä ei nykyisellä OoOE-aikakaudella ole tärkeä asia, kun kääntäjän ei tarvi haaskata arkkitehtuurillisia rekistereitä esim. sw-pipelinetykseen tai aggressiiviseen unrollaukseen, ja oikeasti siellä on kuitenkin molemmissa samat parisataa fyysistä rekisteriä uudelleennimeämisen käytössä.
Ja ARM tosiaan vaatii erilliset lataus- ja tallennuskäskyt, mutta tämä ei ole enää merkittävä ero, prosessorin etupään on triviaalia pätkiä integroidun muistiaccessin sisältävä x86-käsky useammaksi erilliseksi käskyksi.