ARM vs. x86, miksi toinen on energiatehokkaampi kuin toinen?

ARM vs. x86

Tämän viikon ilmoituksella ensimmäinen omena Macintosh, joka perustuu ISA-prosessoreihin ARM, ilmoitettuaan muutoksesta Apple muutama kuukausi sitten, aihe ARM vs x86 on ilmestynyt ja kysymys miksi ei ole ISA x86 -prosessoreita pienitehoisissa laitteissa, se on ilmestynyt uudelleen. Mutta mitkä ovat aiheen motiivit ja myytit?

Jos olet koskaan miettinyt, miksi et näe älypuhelimia, tabletteja ja kaikenlaisia ​​laitteita, jotka käyttävät x86-prosessoreita, joiden kulutus on alle 10 W ja jopa 5 W. Intel or AMD, mutta tähän on useita syitä, sarja ylittämättömiä esteitä, jotka liittyvät x86-arkkitehtuurin luonteeseen.

ARM vs. x86 tai CISC vs. RISC

RISC vs. CISC

ARM tarkoittaa edistyneitä RISC-koneita, kun taas jokainen x86-pohjainen prosessori sanotaan olevan CISC: n kaltainen käskyjoukko. Mutta mitä tämä tarkoittaa? RISC tarkoittaa supistettua käskyjoukon laskemista tai laskentaa pienennetyllä käskyjoukolla, kun taas CISC tarkoittaa lyhyttä käskyjoukon laskemista, joten se on tapa luokitella eri prosessoreiden käyttämät ohjeet.

Tärkein ero on, että koska RISC: llä on supistettu käskyjoukko, monimutkaisemman suorittamiseksi on välttämätöntä käyttää useita yksinkertaisempia käskyjä, kun taas CISC-yksikön tapauksessa monet monimutkaiset ohjeet voidaan suorittaa yhdellä käskyllä , joten CISC-asemat säästävät tilaa muistin määrän suhteen.

Prosessori Render Genérico

Esimerkiksi summan konekoodi RISC: ssä olisi seuraava:

  1. Tallentaa akkurekisterin ensimmäisen operandin
  2. Lataa toinen operandi ja tee lisäys.
  3. Tallentaa tuloksen akkujen rekisteriin.

Sen sijaan CISC-prosessorilla:

  1. Lisää ensimmäinen ja toinen operandi.

Konekoodin osalta a RISC-binaari on enemmän ohjeita ja siksi vie paljon enemmän muistia , kun taas CISC-binaarissa koodi on paljon kevyempi.

Suorittimien ohjesykli

Hae dekoodaa Suorita

Jokaisen prosessorin, riippumatta siitä, onko kyseessä CISC vai RISC, on käytävä läpi neljä erilaista vaihetta, jotka ovat:

Hae: Seuraava ohje noudetaan muistista.

Dekoodaa: Käsky dekoodataan ja valmistellaan suoritettavaksi.

Suorittaa: Käskyn suorittaa yksi CPU: n suoritusyksiköistä. ja käskyn tulos kirjoitetaan vastaavaan muistipankkiin tai rekisteriin.

In RISC-prosessorit CPU: n suorittama käsky vastaa binäärikoodin käskyä, kun taas CISC: ssä konekoodin käsky voidaan jaettu useisiin mikro-ohjeisiin, mikä tarkoittaa, että Dekoodaa yksikkö CISC-prosessorit ovat paljon monimutkaisempi ja on toinen tärkeimmistä tekijöistä, jotta x86: lla on suurempi kulutus.

Segmentointi x86 vs. ARM

Jakautuminen

Yksi erityispiirteistä, joita kaikilla keskusyksiköillä on 90-luvun alusta lähtien, on segmentointi, joka koostuu siitä, että sen sijaan, että odottaisit prosessorin suorittaman käskyn täysimääräistä suorittamista seuraavalle, niitä kehotetaan jokaisessa käskyn vaiheessa jakso, joka voidaan jakaa useisiin alivaiheisiin.

Koska RISC-prosessoreilla on suora korrelaatio binäärikoodissa olevien ja CPU: n suorittamien ohjeiden määrän välillä, ohjeiden segmentointi useisiin vaiheisiin on erittäin helppoa. Mutta x86: ssa se on erittäin vaikeaa , koska segmentointi tehdään dekoodausvaiheessa tuotetuille mikro-ohjeille, mikä tarkoittaa vielä enemmän lisäpiirit juokseva ja kuluttava virtaa jatkuvasti.

Ei vain sitä, mutta vaikka esimerkiksi jokaisen ARM: n käskyn opkoodit ovat kiinteän kokoisia x86: n tapauksessa, ne ovat muuttuvia, mikä tekee mikro-ohjeiden ohjeiden dekoodaamisesta paljon monimutkaisemman x86-prosessorien tapauksessa.

Vähemmän tietoja vastaa vähemmän energiatehokkuutta

asiakirjat

ISA x86: lla on paljon vähemmän rekistereitä sen sisällä kuin muissa ISAS-järjestelmissä, tämä tarkoittaa, että muistille tai välimuistille on suoritettava monia ohjeita, mikä saa sinut lopulta kuluttaa paljon enemmän energiaa suoritettaessa. Tämä on x86-arkkitehtuurin klassinen ongelma eikä siksi, että se olisi CISC-arkkitehtuuri.

Sen ymmärtämiseksi on tarpeen ottaa huomioon energiankulutus kunkin operaation määrä riippuu datan ja prosessorin välinen etäisyys .

x86 vs ARM erittäin pienitehoisissa laitteissa.

Intel-älypuhelin

Intel kokeili sitä muutama vuosi sitten epäonnistuneella Intel Medfield -prosessorilla.

Lisäksi yksi harkituista mahdollisuuksista on sekalaiset suorittimet , joka koostuu x86: sta, joka dekoodaa ohjeet sisäisesti ARM-käskyiksi ja mahdollistaa täydellisen yhteensopivuuden kahden ISAS: n välillä, mikä olisi lopullinen prosessori.

Mutta valitettavasti kumpikaan ARM eikä Intel ja AMD, varsinkaan jälkimmäiset, eivät ole kiinnostuneita tekemään tätä sekaprosessoria siitä lähtien työskennellä molemmissa moodeissa, olisi vaikea saavuttaa, lukuun ottamatta x86-käskyjen dekoodaus olisi edelleen ongelma, joten meillä olisi prosessori, joka voisi toimia vain yhdellä tavalla ja jossa suurin osa piiristä menisi hukkaan.