Prosessori kahdeksanytiminen armv7 3 GHz. ARM-lisenssinhaltijat ja likimääräiset lisenssikustannukset. Johtopäätöksenä

Viime aikoina jo kysymyksen muotoilu tuntui mahdottomalta, mutta tekniikan kehitys ja markkinoiden omituisuudet ovat johtaneet tilanteeseen, jossa todellinen kilpailu on mahdollista.

Aivan äskettäin kysymyksen muotoilu tuntui mahdottomalta: onko "puhelin"-prosessoria edes mahdollista verrata "henkilökohtaisissa tietokoneissa", palvelimissa ja jopa supertietokoneissa käytettyihin siruihin? Samaan aikaan tekniikan kehitys ja markkinaohut ovat johtaneet tilanteeseen, jossa asiantuntijat keskustelevat vakavasti ARM-prosessorien ja x86-sirujen välisen kilpailun mahdollisuudesta, vaan niiden välisestä kiivasta taistelusta.

Ensinnäkin määritellään käsitteet ja tutustutaan mahdollisiin kilpailijoihin.

x86-keskusprosessorit ovat mikroprosessoreita, jotka tukevat samannimistä käskysarjaa ja joiden mikroarkkitehtuuri on johdettu IA-32:sta, eli Intel Architecture 32-bitistä. Sirut on rakennettu CISC-arkkitehtuurille (Complex Instruction Set Computing, eli kanssa täysi setti ohjeet"), jossa kukin käsky voi suorittaa useita matalan tason operaatioita kerralla.

Historiallisesti x86-perhe juontaa juurensa 16-bittiseen Intelin mallit 8086, julkaistu vuonna 1978. Näistä prosessoreista tuli 32-bittisiä vasta vuonna 1985, kun ensimmäinen "386." esiteltiin. Vuonna 1989 vuoden Intel julkaisi ensimmäisen skalaarin (eli suorittaen yhden toiminnon kelloa kohti) i486-sirun (80486), jossa oli ensimmäistä kertaa sisäänrakennettu välimuisti ja liukulukuyksikkö FPU. Pentium-prosessorit, jotka esiteltiin vuonna 1993, olivat ensimmäiset superskalaarit (eli ne suorittavat useita operaatioita kellojaksoa kohden) ja superpipeline (näillä siruilla oli kaksi liukuhihnaa).

Niin, nykyaikaiset x86-yhteensopivat sirut ovat superskalaarisia superpipeline-mikroprosessoreita, jotka on rakennettu CISC-arkkitehtuuriin.

ARM-prosessorit ovat 32-bittisiä siruja, jotka perustuvat RISC-arkkitehtuuriin (Reduced Instruction Set Computer), toisin sanoen rajoitetulla käskyjoukolla. Tämä arkkitehtuuri perustuu ajatukseen parantaa suorituskykyä maksimoimalla ohjeiden yksinkertaistaminen ja rajoittamalla niiden pituutta.

ARM-prosessorien historia alkoi vuonna 1978, kun brittiläinen yritys Acorn Computers perustettiin. Acorn-tuotemerkki tuotti paikallisilla markkinoilla useita erittäin suosittuja henkilökohtaisia ​​tietokonemalleja, jotka perustuivat kahdeksanbittisiin MOS Tech 6502 -siruihin. Sama CPU löytyi muuten Apple I:stä ja II:sta sekä Commodore PET:stä.

Edistyneemmän 6510-mallin tultua käyttöön, jota alettiin asentaa Commodore 64:ään vuonna 1982, Acorn-tietokonesarja, mukaan lukien suosittu opetusohjelma BBC Micro, menetti merkityksensä. Tämä sai Acornin omistajat luomaan oman prosessorin, joka perustuu 6502-arkkitehtuuriin, mikä antaisi heille mahdollisuuden kilpailla tasavertaisesti IBM PC-luokan koneiden kanssa.

Ensimmäinen tuotanto ARM2-malli, joka kehitettiin osana Acorn RISC Machine -projektia, julkaistiin vuonna 1986, ja siitä tuli tuolloin rakenteellisesti yksinkertaisin ja edullisin 32-bittinen prosessori: siitä ei puuttunut vain välimuisti, mikä oli normi siruille. tuolloin, mutta myös mikroohjelmat: toisin kuin CISC-prosessorit, mikrokoodi suoritettiin kuten muutkin konekoodi, muuntamalla se yksinkertaisiksi ohjeiksi. ARM2-suutin koostui 30 000 transistorista, ja tämä kompakti rakenne säilyi ominaispiirre tästä perheestä: ARM6:ssa on vain 5000 transistoria lisää.

Toisin kuin Intel tai AMD, ARM ei tuota prosessoreita itse, vaan myy mieluummin lisenssejä muille. Yrityksistä, joilla on tällaisia ​​lisenssejä, ovat samat Intel ja AMD sekä VIA Technologies, IBM, NVIDIA, Nintendo, Texas Instruments, Freescale, Qualcomm ja Samsung. Ohjeellinen tosiasia: kun AMD, toinen x86-prosessorimarkkinoiden yritys, juhli 500 miljoonannen CPU:n julkaisua vuonna 2009, niin pelkästään vuonna 2009 markkinoille toimitettiin lähes kolme miljardia ARM-prosessoria!

Nykyaikaiset ARM-prosessorit ovat superskalaarisia superpipeline-siruja, jotka on rakennettu RISC-arkkitehtuuriin.

Näiden kahden määritelmän perusteella lähes ainoa muodollinen ero ARM- ja x86-perheiden välillä on RISC- ja CISC-mikroarkkitehtuurit. Tätä ei kuitenkaan voida enää pitää perustavanlaatuisena erona: i486DX-modifikaatiosta lähtien x86-sirut alkoivat muistuttaa enemmän RISC-prosessoreita. Tästä sukupolvesta alkaen sirut, säilyttäen yhteensopivuuden kaikkien aikaisempien ohjesarjojen kanssa, osoittavat maksimaalista suorituskykyä vain rajoitetulla sarjalla yksinkertaiset ohjeet, joka näyttää epäilyttävän RISC-käskyjoukolta. Siksi tämän päivän x86:ta voidaan turvallisesti pitää RISC-ytimiä sisältävinä CISC-prosessoreina: siruun rakennettu laitteistokääntäjä purkaa monimutkaiset CISC-käskyt joukoksi yksinkertaisia ​​sisäisiä RISC-käskyjä. Vaikka jokainen CISC-käsky voidaan jakaa useiksi RISC-käskyiksi, jälkimmäisen suoritusnopeus parantaa merkittävästi suorituskykyä. Lisäksi meidän ei pidä unohtaa nykyaikaisten sirujen superskalariteettia ja superpipeliningiä.

Toinen ero on paljon tärkeämpi: leijonanosa x86:sta on yleiskäyttöiset prosessorit, joka on "riitetty" useilla erilaisilla lohkoilla ja moduuleilla, jotka on suunniteltu selviytymään menestyksekkäästi melkein kaikista tehtävistä - web-selaamisesta ja käsittelystä tekstitiedostoja ennen videokoodausta korkea resoluutio ja työskentele kanssa kolmiulotteinen grafiikka. ARM-siruille, jotka on tarkoitettu käytettäväksi älypuhelimissa ja muissa kannettavat laitteet, täysin erilaiset tavoitteet ja mahdollisuudet.

Mihin tällaiset erilaiset tuotteet sitten pitäisi jakaa? Tietysti on naurettavaa vertailla neliytiminen i5 ja "puhelin" Qualcomm MSM7201A, joka löytyy HTC Dream- ja Hero -kommunikaattoreista, mutta on olemassa asteikkoja, joissa ARM- ja i86-markkinat menevät nykyään päällekkäin. Nämä ovat toisaalta uusimmat ARM-sirut, kuten Cortex-A8 (ARMv7-A-arkkitehtuuri), ja toisaalta matalajännitteiset x86-luokan prosessorit Intel Atom. Cortex-A8:aan perustuva muodikas omena tabletti iPad ja Intel Atom toimivat suurimmassa osassa netbookeista.

Näillä siruilla on toinen tärkeä asia yleinen ominaisuus: Molemmat prosessorit toimivat peräkkäisen käskyn suorittamisen periaatteella, kun taas useimmat x86-prosessorit ovat epäjärjestyksessä. Tämä piiri on suunniteltu saavuttamaan maksimaalinen suorituskyky virrankulutuksen wattia kohden poistamalla moduulit, jotka ovat vastuussa ohjeiden virheellisestä suorittamisesta.

Atomilla on myös useita perustavanlaatuisia eroja Cortex-A8:aan. Ensinnäkin melkein kaikki tämän perheen sirut tukevat Hyper-Threading-rinnakkaislaskentatekniikkaa, jonka avulla voit edustaa yhtä fyysinen ydin kuin kaksi virtuaalista. Tämä on erittäin merkittävä etu, joka lisää merkittävästi tuottavuutta, eikä vain suhteellisen harvinaisissa sovelluksissa. monisäikeiset sovellukset, mutta myös suoritettaessa komentoja I/O-järjestelmien intensiivisessä käytössä. Esimerkiksi Atom, jossa on Hyper-Threading, lataa Windowsin huomattavasti nopeammin kuin vastaava yksiytiminen VIA Nano ilman tämän tilan tukea.

Atomin ja Cortex-A8:n suorituskyvyn käytännön vertailun suoritti Van Smith, OpenSourceMark- ja miniBench-testipakettien kirjoittaja ja yksi SiSoftware Sandran kirjoittajista. Testasimme prosessoreihin Atom N450, Freescale i.MX515 (Cortex-A8), VIA Nano L3050 ja vertailun vuoksi Barton-ytimellä Athlon XP-M:ään perustuvia koneita. Koska aloituspisteeksi otettiin Cortex-A8:n ominaisuudet kellotaajuudella 800 MHz, VIA Nanon ja Athonin toimintataajuudet laskettiin samaan arvoon ja Atom - 1000 MHz:iin (lisävähennys oli mahdotonta). Samaan aikaan Cortex-A8:ssa on edelleen useita ilmeisesti heikkoja kohtia: tuki hitaalle 32-bittiselle DDR2-200-muistille ja enemmän kuin vaatimattomalle integroidulle grafiikalle, jonka enimmäisresoluutio on 1024 x 768 ja kuusitoista bitin värisyvyys. Kaikki testit suoritettiin toiminnassa olevilla järjestelmillä Ubuntu järjestelmät 9.04 Linux.

Testitulokset osoittautuivat enemmän kuin mielenkiintoisiksi: Cortex-A8 osoitti melko kilpailukykyistä suorituskykyä kokonaislukulaskelmissa huomattavasti pienemmällä virrankulutuksella kilpailijoihinsa verrattuna. Kuten odotettiin, vain muistin kaistanleveyden ja liukulukulaskennan testit, ARM-sirujen perinteinen "akilleskantapää", osoittautuivat epäonnistuneiksi. ARM-prosessoreista puuttui pitkään FPU-moduuleja, ja vaikka Cortex-A8:ssa on kaksi tällaista moduulia (Neon 32-bittinen SP ja VFP), niiden teho ei selvästikään riitä. Liukulukulaskelmat ovat 3D pelejä ja tieteellinen mallinnus sekä tietyntyyppiset videon ja äänen käsittelyt ja koodaukset. Joten jos ARM-prosessorivalmistajat todella tähtäävät netbookiin, nettopiin ja tablettiin, heidän on parannettava huomattavasti FPU-suorituskykyä. Kaikkien testien yksityiskohtaiset tulokset löytyvät täältä (http://www.brightsideofnews.com/news/2010/4/7/the-coming-war-arm-versus-x86.aspx).

Pitäisikö meidän odottaa taistelua niin erilaisten ja niin samankaltaisten ARM- ja x86-prosessorien perheiden välillä? Toistaiseksi massaviihdesovellusten suorituskyvyn suhteen "käsivarret" ovat huomattavasti huonompia jopa "atomit". Näkymät ovat kuitenkin rohkaisevia: uusin Cortex-A9-arkkitehtuuri on suunniteltu luomaan yhdestä neljään ydintä sisältäviä prosessoreita, ja ARM Limitedin mukaan ne ovat parantaneet liukulukujen suorituskykyä merkittävästi. Ensimmäiset Cortex-A9:ään perustuvat sirut - NVIDIA Tegra 2 - ovat kaksiytimistä siruja, joiden grafiikkaydin tukee Full HD 1080p -videota ja kolmiulotteista grafiikkaa. ohjelmiston käyttöliittymä OpenGL ES 2.0. Tällaisilla ominaisuuksilla varustettu tabletti tai netbook voi helposti kilpailla minkä tahansa Atom-pohjaisen laitteen kanssa. Lisätään tähän poikkeuksellinen tehokkuus, mikä tarkoittaa pitkää akun kestoa. Joten Apple iPadista voi hyvinkin tulla symboli ARM-sirujen ja x86-prosessorien välisen taistelun alkamisesta omalla alallaan.

ARM-prosessori on mobiiliprosessori älypuhelimille ja tableteille.

Tämä taulukko näyttää kaikki tällä hetkellä tunnetut ARM-prosessorit. ARM-prosessorien taulukkoa täydennetään ja päivitetään uusien mallien ilmaantuessa. Tämä taulukko käyttää ehdollista järjestelmää suorittimen ja grafiikkasuorittimen suorituskyvyn arvioimiseen. ARM-prosessorin suorituskykytiedot otettiin eniten eri lähteistä, perustuu pääasiassa testien tuloksiin, kuten: PassMark, Antutu, GFXBench.

Emme vaadi ehdotonta tarkkuutta. Täysin tarkasti arvostella ja arvioi ARM-prosessorien suorituskykyä mahdotonta siitä yksinkertaisesta syystä, että jokaisella niistä on jollain tapaa etuja, mutta se on jollain tapaa jäljessä muista ARM-prosessoreista. ARM-prosessorien taulukon avulla voit nähdä, arvioida ja mikä tärkeintä, vertaa eri SoC:ita (System-On-Chip) ratkaisuja. Pöytäämme käyttämällä voit vertaa mobiiliprosessoreita ja riittää, kun saat selville, miten tulevan (tai nykyisen) älypuhelimesi tai tablettisi ARM-sydän on sijoitettu.

Tässä olemme vertailleet ARM-prosessoreja. Tarkastelimme ja vertasimme CPU:n ja GPU:n suorituskykyä eri SoC:issa (System-on-Chip). Mutta lukijalla voi olla useita kysymyksiä: Missä ARM-prosessoreita käytetään? Mikä on ARM-prosessori? Miten ARM-arkkitehtuuri eroaa x86-prosessoreista? Yritetään ymmärtää tämä kaikki menemättä liian syvälle yksityiskohtiin.

Ensin määritellään terminologia. ARM on arkkitehtuurin nimi ja samalla sen kehitystä johtavan yrityksen nimi. Lyhenne ARM tarkoittaa (Advanced RISC Machine tai Acorn RISC Machine), joka voidaan kääntää seuraavasti: Advanced RISC Machine. ARM-arkkitehtuuri yhdistää 32- ja 64-bittisten mikroprosessoriytimien perheen, jonka on kehittänyt ja lisensoinut ARM Limited. Haluan heti huomauttaa, että ARM Limited -yhtiö harjoittaa yksinomaan ytimien ja niille tarkoitettujen työkalujen kehittämistä (virheenkorjaustyökalut, kääntäjät jne.), mutta ei itse prosessorien tuotantoa. Yritys ARM Limited myy lisenssejä ARM-prosessorien tuotantoon kolmansille osapuolille. Tässä on osittainen luettelo yrityksistä, joilla on lupa tuottaa ARM-prosessoreita tänään: AMD, Atmel, Altera, Cirrus Logic, Intel, Marvell, NXP, Samsung, LG, MediaTek, Qualcomm, Sony Ericsson, Texas Instruments, nVidia, Freescale... ja monet muut.

Jotkut yritykset, jotka ovat saaneet lisenssin tuottaa ARM-prosessoreita, luovat omia versioitaan ytimistä ARM-arkkitehtuuriin perustuen. Esimerkkinä voimme mainita: DEC StrongARM, Freescale i.MX, Intel XScale, NVIDIA Tegra, ST-Ericsson Nomadik, Qualcomm Snapdragon, Texas Instruments OMAP, Samsung Hummingbird, LG H13, Apple A4/A5/A6 ja HiSilicon K3.

Nykyään ne toimivat ARM-pohjaisilla prosessoreilla lähes mikä tahansa elektroniikka: PDA, matkapuhelimia ja älypuhelimia, digitaaliset soittimet, kannettavat pelikonsolit, laskimet, ulkoiset kovalevyt ja reitittimet. Ne kaikki sisältävät ARM-ytimen, joten voimme sanoa sen ARM- mobiili prosessoritälypuhelimille ja tabletit.

ARM prosessori edustaa SoC, tai "järjestelmä sirulla". SoC-järjestelmä tai "järjestelmä sirulla" voi sisältää yhdessä sirussa itse suorittimen lisäksi muita osia täysikokoinen tietokone. Tämä on muistiohjain, I/O-portin ohjain ja grafiikan ydin ja geopaikannusjärjestelmä (GPS). Se voi sisältää myös 3G-moduulin sekä paljon muuta.

Jos tarkastelemme erillistä ARM-prosessoriperhettä, esimerkiksi Cortex-A9 (tai mikä tahansa muu), ei voida sanoa, että kaikki yhden perheen prosessorit olisivat yhtä tehokkaita tai kaikki varustettuja. GPS-moduuli. Kaikki nämä parametrit riippuvat voimakkaasti sirun valmistajasta ja siitä, mitä ja miten hän päätti toteuttaa tuotteessaan.

Mitä eroa on ARM- ja X86-prosessorien välillä?? RISC-arkkitehtuuri (Reduced Instruction Set Computer) itsessään edellyttää supistettua käskyjen määrää. Mikä siis johtaa erittäin kohtuulliseen energiankulutukseen. Loppujen lopuksi minkä tahansa ARM-sirun sisällä on paljon vähemmän transistoreja kuin sen vastine x86-linjasta. Älä unohda, että SoC-järjestelmässä kaikki oheislaitteet sijaitsevat yhden sirun sisällä, mikä mahdollistaa ARM-prosessorin entistä energiatehokkaamman. ARM-arkkitehtuuri oli alun perin suunniteltu laskemaan vain kokonaislukuoperaatioita, toisin kuin x86, joka voi toimia liukulukulaskujen tai FPU:n kanssa. Näitä kahta arkkitehtuuria on mahdotonta verrata selkeästi. Jollain tapaa ARM:lla on etu. Ja jossain se on toisinpäin. Jos yrität vastata kysymykseen yhdellä lauseella: mitä eroa on ARM- ja X86-prosessorien välillä, vastaus on tämä: ARM-prosessori ei tiedä x86-prosessorin tuntemien komentojen määrää. Ja ne, jotka tietävät, näyttävät paljon lyhyemmiltä. Tällä on sekä hyvät että huonot puolensa. Oli miten oli, viime aikoina kaikki viittaa siihen, että ARM-prosessorit alkavat hitaasti mutta varmasti kuroa umpeen ja jopa ylittävät jollain tapaa perinteiset x86-prosessorit. Monet ilmoittavat avoimesti, että ARM-prosessorit korvaavat pian x86-alustan kotitietokoneiden segmentissä. Kuten jo tiedämme, vuonna 2013 useat maailmankuulut yritykset luopuivat kokonaan netbookien jatkotuotannosta tablet PC:iden hyväksi. No, mitä tapahtuu, aika näyttää.

Seuraamme jo markkinoilla olevia ARM-prosessoreja.

Vastaus on sovelluksille, joiden toimintaturvallisuus on parantunut. Tekijä: vähintään ytimiä ARM Cortex-R Tähän tarkoitukseen käytetään Texas Instrumentsin korkean suorituskyvyn "reaaliaikaisia" mikrokontrollereita.


Vaikka Cortex-R-prosessorit ovat lähes täysin yhteensopivia Cortex-A- ja Cortex-M-suorittimien kanssa käskysarjan suhteen, niiden välillä on silti merkittäviä eroja. Erityisesti Cortex-R-ydin tarjoaa paremman suorituskyvyn kuin Cortex-M, mutta pystyy silti suorittamaan deterministisiä operaatioita, joita on vaikea saavuttaa Cortex-A-sovellusprosessoreissa. Joten suorituskyvyn suhteen Cortex-R sijoittuu Cortex-M:n ja Cortex-A:n väliin, mutta samalla sitä voidaan käyttää sekä mikro-ohjaimissa että prosessoreissa.


Cortex-R-ydin on rakennettu Harvardin arkkitehtuuriin ja tarjoaa korkeat kellotaajuudet 8-vaiheisen liukuhihnan ja superskalaarikäskyn suorittamisen ansiosta. Laitteiston SIMD-ohjeet mahdollistavat tehokkaan digitaalisen signaalinkäsittelyn ja mediankäsittelyn. Cortex-M sisältää myös suorituskykyä parantavia ominaisuuksia, kuten ohjeiden esihaun, haaran ennustajan ja laitteiston jakajan. Tällaiset arkkitehtoniset komponentit auttavat Cortex-R4- ja Cortex-R5-prosessoreja saavuttamaan korkea suorituskyky suorituskyky DMIPS/MHz. Toinen mielenkiintoinen ominaisuus Cortex-R-ytimissä on IEEE-754-yhteensopiva liukulukuputki, joka tukee sekä yhden tarkkuuden (32-bittinen) että kaksinkertaisen tarkkuuden (64-bittinen) muotoja ja toimii rinnakkain kiinteän pisteen liukuhihnan kanssa.



Kun matalaviiveinen muisti on kytketty tiiviisti prosessoriin, reaaliaikaisiin tapahtumiin vastataan mahdollisimman nopeasti ja keskeytyskäsittely suoritetaan mahdollisimman nopeasti. Nämä ominaisuudet yhdistettynä Cortex-R-ytimen korkeaan suorituskykyyn ja määrätietoisuuteen auttavat täyttämään reaaliaikaisten sovellusten vaatimukset, jotka edellyttävät myös toiminnallista turvallisuutta.


Jos työskentelet laiteturvallisuutta ja luotettavuutta käsittelevällä alalla, olet todennäköisesti kuullut ohjelmoitavien laitteiden toiminnallisesta turvallisuudesta. elektroniset komponentit, ja ensimmäinen standardi, joka saattaa tulla mieleen, on IEC 61508. Se on tärkeä kansainvälinen turvallisuusstandardi, joka on ollut olemassa noin 20 vuotta ja jota monet teollisuudenalat noudattavat. Toiminnallisesta turvallisuudesta huolehditaan liikenteessä (ilmailu, rautatie ja autoteollisuus), teollisuudessa, lääketieteessä, uusiutuvassa energiassa ja muilla aloilla. Nämä teollisuudenalat ovat joko kehittäneet omia turvallisuusstandardejaan tai mukautettuja kansainvälisiä standardeja, kuten IEC 61508. Erityisen huomionarvoista on, että autoteollisuus otti käyttöön oman toiminnallisen turvallisuusstandardinsa ISO 26262 vuonna 2012.


Mitä hyvää Cortex-R:ssä on toiminnallisen turvallisuuden kannalta? Ensinnäkin ainutlaatuiset konfigurointiominaisuudet, jotka mahdollistavat virheiden korjaamisen. Nämä ominaisuudet ovat vaihtoehtoja, jotka ARM on rakentanut suoraan ytimeen, mukaan lukien virheiden havaitsemis- ja korjaustoiminnot, väylä- ja L1-muistin suojaus, käyttäjä- ja etuoikeutetut toimintatilat. ohjelmisto muistisuojausyksiköllä (MPU) ja tuella dual-core Lock Step (DCLS) -konfiguraatiolle.


Mikä on DCLS ja miksi sitä tarvitaan? Jos olet ohjelmistosuunnittelija, joka työskentelee projektin parissa, joka vaatii luotettavaa ja turvallista työtä DCLS tekee elämästäsi paljon helpompaa. Tämä on erityisen hyödyllistä, jos käytät kahta mikro-ohjainta tai kahta itsenäistä ydintä virheiden diagnosointiin yhdessä ytimessä.


Riippumattoman ytimen kanssa työskentelyssä on pari erityistä ongelmaa. Ensin sinun on kirjoitettava "ylimääräinen" koodi jokaiselle mikro-ohjaimelle, joka valvoo toista mikro-ohjainta. Toiseksi, nyt sinun on tehtävä tästä koodista moduulisi pääosa järjestelmän turvallisuus, tämä tarkoittaa, että sinun on tarjottava luotettavuus ja suojaus tämän koodin jokaisella rivillä jatkotyötä. DCLS:n myötä tästä "ylimääräisestä" koodista ja sen suojaustarpeesta tulee menneisyyttä. Tietenkin kehittäjän on silti kirjoitettava paljon rivejä turvallisuuteen liittyvää koodia, mutta tämä mekanismi silti helpottaa hänen elämäänsä.


Ymmärtämisen helpottamiseksi DCLS-mekanismia voidaan pitää pääprosessorin ja vahvistusmoduulin yhdistelmänä. Ohjelmoijan näkökulmasta tällaisen järjestelmän ohjelmointi ei eroa tavanomaisen yksiytimisen mikro-ohjaimen ohjelmoinnista. Toinen ydin eli vahvistusmoduuli, yhdessä vertailulogiikan kanssa, suorittaa yllä kuvatun "ylimääräisen" koodin työn sekä paljon muuta. Vertailulogiikka voi havaita virheen muutamassa prosessorijaksossa, kun taas erillinen ydin voi kestää satoja tai jopa tuhansia syklejä. Siksi DCLS havaitsee virheet paljon nopeammin ja voi säästää arvokasta aikaa luotettavan koodin kehittämisessä.

Ensimmäiset ARM-sirut ilmestyivät kolme vuosikymmentä sitten brittiläisen Acorn Computersin (nykyisin ARM Limited) ponnistelujen ansiosta, mutta pitkään aikaan olivat kuuluisempien veljiensä - x86-prosessorien - varjossa. Kaikki kääntyi päälaelleen IT-alan siirtyessä tietokoneiden jälkeiseen aikakauteen, jolloin ei enää PC:t hallinneet pihaa, vaan mobiililaitteet.

ARM-arkkitehtuurin ominaisuudet

Ehkä kannattaa aloittaa siitä tosiasiasta, että tällä hetkellä käytetyssä x86-prosessoriarkkitehtuurissa Intel ja AMD:ssä käytetään CISC-komentosarjaa (Complex Instruction Set Computer), vaikkakaan ei puhdas muoto. Näin ollen suuri määrä monimutkaisia ​​komentoja, jotka ovat pitkään olleet CISC:n tunnusmerkki, puretaan ensin yksinkertaisiksi ja vasta sitten käsitellään. On selvää, että tämä koko toimintaketju vie paljon energiaa.

Energiatehokas vaihtoehto ovat ARM-arkkitehtuuripiirit, joissa on RISC (Reduced Instruction Set Computer) -käskysarja. Sen etu on aluksi pieni setti yksinkertaiset komennot, jotka käsitellään pienellä vaivalla. Tämän seurauksena kaksi prosessoriarkkitehtuuria - x86 ja ARM - elävät rauhanomaisesti (itse asiassa, ei kovin rauhanomaisesti) rinnakkain, joilla jokaisella on omat etunsa ja haittansa.


x86-arkkitehtuuri on sijoitettu universaalimmaksi tehtävissä, joita se pystyy käsittelemään, mukaan lukien jopa resurssiintensiiviset tehtävät, kuten valokuvien, musiikin ja videon editointi sekä tietojen salaus ja pakkaus. ARM-arkkitehtuuri puolestaan ​​"poistuu" erittäin alhaisesta virrankulutuksesta ja yleensä riittävä suorituskyky tämän päivän tärkeimpiin tarkoituksiin: web-sivujen piirtämiseen ja mediasisällön toistamiseen.


ARM Limitedin liiketoimintamalli

Tällä hetkellä ARM Limited harjoittaa vain refkehittämistä ja niiden lisensointia. Tiettyjen sirumallien luominen ja niiden myöhempi massatuotanto on ARM-lisenssinhaltijoiden tehtävä, joita on paljon. Heidän joukossaan on vain suppeissa piireissä tunnettuja yrityksiä, kuten STMicroelectronics, HiSilicon ja Atmel, sekä IT-jättiläisiä, joiden nimet ovat hyvin tunnettuja - Samsung, NVIDIA ja Qualcomm. KANSSA täydellinen lista lisenssiyhtiöt löytyvät ARM Limitedin virallisen verkkosivuston vastaavalta sivulta.


Näin suuri lisenssinhaltijoiden määrä johtuu ensisijaisesti ARM-prosessorien runsaudesta sovelluksista, ja mobiililaitteet ovat vain jäävuoren huippu. Halpoja ja energiatehokkaita siruja käytetään sulautetuissa järjestelmissä, verkkolaitteissa ja instrumenteissa. Maksupäätteet, ulkoiset 3G-modeemit ja urheilullinen sykemittari– Kaikki nämä laitteet perustuvat ARM-prosessoriarkkitehtuuriin.


Analyytikkojen mukaan ARM Limited ansaitsee itse 0,067 dollaria rojalteja jokaisesta tuotetusta sirusta. Mutta tämä on erittäin keskimääräinen määrä, koska hintaan uusin moniytimiset prosessorit huomattavasti parempi kuin vanhentuneen arkkitehtuurin yksiytiminen siru.

Yksisiruinen järjestelmä

Tekniseltä kannalta katsottuna ARM-arkkitehtuurin siruprosessoriksi kutsuminen ei ole täysin oikein, koska ne sisältävät yhden tai useamman laskentaytimen lisäksi useita toisiinsa liittyviä komponentteja. Sopivampi sisään tässä tapauksessa ovat termit single-chip system ja system-on-a-chip (englanninkielisestä system on a chip).

Siten älypuhelimien ja tablet-tietokoneiden uusimmat yksisiruiset järjestelmät sisältävät ohjaimen RAM, grafiikkakiihdytin, videodekooderi, audiokoodekki ja valinnaiset langattomat viestintämoduulit. Erittäin erikoistuneet sirut voivat sisältää lisäohjaimia vuorovaikutuksessa oheislaitteet esimerkiksi anturit.


Yksisiruisen järjestelmän yksittäisiä komponentteja voidaan kehittää joko suoraan ARM Limitedin toimesta tai kolmannen osapuolen toimesta. Näyttävä esimerkki tästä ovat näytönohjaimet, joita ARM Limitedin (Mali-grafiikka) lisäksi kehittävät Qualcomm (Adreno-grafiikka) ja NVIDIA (GeForce ULP -grafiikka).

Emme saa unohtaa Imagination Technologies -yritystä, joka ei tee muuta kuin suunnittelee PowerVR-grafiikkakiihdyttimiä. Mutta hän omistaa melkein puolet globaaleilla markkinoilla mobiili grafiikka: Apple- ja Amazon-gadgetit, tabletit Samsung Galaxy Välilehti 2 ja myös edullisia älypuhelimia perustuu MTK-prosessoreihin.

Vanhentuneet sirujen sukupolvet

Moraalisesti vanhentuneet, mutta edelleen laajalti käytetyt prosessoriarkkitehtuurit ovat ARM9 ja ARM11, jotka kuuluvat ARMv5- ja ARMv6-perheisiin.

ARM9. ARM9-sirut voivat ulottua kellotaajuus 400 MHz ja todennäköisesti ne on asennettu sisään langaton reititin ja vanha, mutta silti luotettava matkapuhelin, kuten Sony Ericsson K750i ja Nokia 6300. ARM9-sirujen kannalta kriittistä on Jazelle-ohjesarja, jonka avulla voit työskennellä mukavasti Java-sovellusten kanssa (Opera Mini, Jimm, Foliant jne.).

ARM11. ARM-prosessorit 11 voi ylpeillä laajennetulla ohjesarjalla ARM9:ään verrattuna ja paljon korkeammalla kellotaajuudella (jopa 1 GHz), vaikka niiden teho ei myöskään riitä nykyaikaisiin tehtäviin. Kuitenkin alhaisen virrankulutuksen ja, mikä ei ole vähemmän tärkeää, kustannusten vuoksi, ARM11-siruja käytetään edelleen älypuhelimissa lähtötaso: Samsung Galaxy Pocket ja Nokia 500.

Nykyaikaiset sirujen sukupolvet

Kaikki enemmän tai vähemmän uudet ARM-arkkitehtuuripiirit kuuluvat ARMv7-perheeseen, jonka lippulaivaedustajat ovat saavuttaneet jo kahdeksan ytimen ja yli 2 GHz:n kellotaajuuden. ARM Limitedin suoraan kehittämät prosessoriytimet kuuluvat Cortex-linjaan ja useimmat yksisiruisten järjestelmien valmistajat käyttävät niitä ilman merkittäviä muutoksia. Vain Qualcomm ja Apple ovat luoneet omat ARMv7:ään perustuvat muunnelmansa - ensimmäinen nimeltään Scorpion ja Krait, ja toinen - Swift.


ARM Cortex-A8. Historiallisesti ARMv7-perheen ensimmäinen prosessoriydin oli Cortex-A8, joka muodosti perustan sellaisille aikansa kuuluisille SoC:ille kuin Apple A4 (iPhone 4 ja iPad) ja Samsung Hummingbird (Samsung Galaxy S ja Galaxy Tab). Se näyttää noin kaksi kertaa enemmän korkea suorituskyky verrattuna edelliseen ARM11:een. Lisäksi Cortex-A8-ydin sai NEON-apuprosessorin korkearesoluutioisen videon käsittelyyn ja tukeen Adobe-laajennus Flash.

Totta, kaikki tämä vaikutti negatiivisesti Cortex-A8:n virrankulutukseen, joka on huomattavasti korkeampi kuin ARM11:n. Huolimatta siitä, että ARM Cortex-A8 -siruja käytetään edelleen budjettitableteissa (Allwiner Boxchip A10 -yksisirujärjestelmä), niiden päivät markkinoilla ovat ilmeisesti luetut.

ARM Cortex-A9. Cortex-A8:n jälkeen ARM Limited esitteli uuden sukupolven siruja - Cortex-A9:n, joka on nyt yleisin ja jolla on keskihintainen markkinarako. Cortex-A9-ytimien suorituskyky on kasvanut noin kolminkertaiseksi Cortex-A8:aan verrattuna, ja niitä on myös mahdollista yhdistää kaksi tai jopa neljä yhdelle sirulle.

NEON-apuprosessorista on tullut valinnainen: NVIDIA poisti sen yksisiruisesta Tegra 2 -järjestelmästään ja päätti vapauttaa sen enemmän tilaa grafiikkakiihdytintä varten. Totta, tästä ei seurannut mitään hyvää, koska useimmat videosoitinsovellukset luottivat edelleen aika-testattuihin NEONeihin.


Juuri Cortex-A9:n "hallituksen" aikana ilmestyivät ensimmäiset toteutukset ARM Limitedin ehdottamasta big.LITTLE-konseptista, jonka mukaan yksisiruisissa järjestelmissä tulisi olla sekä tehokkaita että heikkoja, mutta energiatehokkaita prosessoriytimiä. Big.LITTLE-konseptin ensimmäinen toteutus oli NVIDIA Tegra 3 system-on-chip, jossa on neljä Cortex-A9-ydintä (jopa 1,7 GHz) ja viides energiatehokas lisäydin (500 MHz) yksinkertaisten taustatehtävien suorittamiseen.

ARM Cortex-A5 ja Cortex-A7. Suunnitellessaan Cortex-A5- ja Cortex-A7-prosessoriytimiä ARM Limited pyrki samaan tavoitteeseen - saavuttamaan kompromissi ARM11:n minimaalisen virrankulutuksen ja Cortex-A8:n hyväksyttävän suorituskyvyn välillä. He eivät ole unohtaneet mahdollisuutta yhdistää kaksi tai neljä ydintä - moniytiminen Cortex-A5- ja Cortex-A7-sirut ilmestyvät vähitellen myyntiin (Qualcomm MSM8625 ja MTK 6589).


ARM Cortex-A15. Prosessorin ytimet Cortex-A15:stä tuli looginen jatko Cortex-A9:lle - tuloksena ARM-arkkitehtuurisirut onnistuivat ensimmäistä kertaa historiassa verrata suorituskykyä karkeasti Intel Atomiin, ja tämä on jo suuri menestys. Ei turhaan ole Canonical järjestelmävaatimukset Ubuntu Touch OS -versioon, jossa on täydellinen moniajo kahden ytimen prosessori ARM Cortex-A15 tai vastaava Intel Atom.


Hyvin pian tulee myyntiin lukuisia NVIDIA Tegra 4:ään perustuvia vempaimia, joissa on neljä ARM Cortex-A15-ytimistä ja viides Cortex-A7-ydin. NVIDIAn jälkeen Samsung otti big.LITTLE-konseptin: "sydämellään" Galaxy älypuhelin S4 on Exynos 5 Octa -siru, jossa on neljä Cortex-A15-ydintä ja sama määrä energiatehokkaita Cortex-A7-ytimiä.


Tulevaisuuden näkymät

Cortex-A15-siruihin perustuvia mobiililaitteita ei ole vielä ilmestynyt myyntiin, mutta ARM-arkkitehtuurin jatkokehityksen päätrendit ovat jo tiedossa. ARM Limited on jo virallisesti esitellyt seuraavan ARMv8-prosessoriperheen, jonka edustajat ovat välttämättä 64-bittisiä. Avata uusi aikakausi RISC-prosessorit Cortex-A53- ja Cortex-A57-ytimet: ensimmäinen on energiatehokas ja toinen korkean suorituskyvyn, mutta molemmat pystyvät toimimaan suurilla määrillä RAM-muistia.

Kulutuselektroniikan valmistajat eivät ole vielä erityisen kiinnostuneita ARMv8-prosessoriperheestä, mutta uudet lisenssinhaltijat suunnittelevat tuovansa ARM-siruja palvelinmarkkinat: AMD ja Calxeda. Idea on innovatiivinen, mutta sillä on oikeus elämään: samat NVIDIA Teslan näytönohjaimet, jotka koostuvat suuri määrä yksinkertaiset ytimet ovat osoittaneet tehokkuutensa käytännössä palvelinratkaisuina.

Nykyään on olemassa kaksi suosituinta prosessoriarkkitehtuuria. Tämä on x86, joka kehitettiin jo 80-luvulla ja jota käytetään henkilökohtaiset tietokoneet ja ARM - nykyaikaisempi, jonka avulla voit tehdä prosessoreista pienempiä ja taloudellisempia. Sitä käytetään useimmissa mobiililaitteissa tai tableteissa.

Molemmilla arkkitehtuureilla on hyvät ja huonot puolensa sekä sovellusalueet, mutta niissä on myös yhteisiä piirteitä. Monet asiantuntijat sanovat, että ARM on tulevaisuus, mutta sillä on silti joitain haittoja, joita x86:lla ei ole. Tämän päivän artikkelissamme tarkastelemme, kuinka varren arkkitehtuuri eroaa x86:sta. Tarkastellaan peruseroja ARM:n ja x86:n välillä ja yritetään myös määrittää, kumpi on parempi.

Prosessori on minkä tahansa pääkomponentti laskentalaite, oli se sitten älypuhelin tai tietokone. Sen suorituskyky määrittää, kuinka nopeasti laite toimii ja kuinka kauan se voi toimia akkuvirralla. Yksinkertaisesti sanottuna prosessoriarkkitehtuuri on joukko ohjeita, joita voidaan käyttää ohjelmien muodostamiseen ja jotka toteutetaan laitteistotaso käyttämällä tiettyjä prosessoritransistorien yhdistelmiä. Niiden avulla ohjelmat voivat olla vuorovaikutuksessa laitteiston kanssa ja määrittää, kuinka tiedot siirretään muistiin ja miten tiedot luetaan muistista.

Päällä tällä hetkellä Arkkitehtuureja on kahdenlaisia: CISC (Complex Instruction Set Computing) ja RISC (Reduced Instruction Set Computing). Ensimmäinen olettaa, että prosessori toteuttaa ohjeita kaikkiin tilanteisiin, toinen, RISC, asettaa kehittäjille tehtäväksi luoda prosessori, joka sisältää joukon toimintaan vaadittavia vähimmäisohjeita. RISC-ohjeissa on pienempi koko ja yksinkertaisempaa.

x86 arkkitehtuuri

X86-prosessoriarkkitehtuuri kehitettiin vuonna 1978, ja se ilmestyi ensimmäisen kerran Intel-prosessoreihin ja on CISC-tyyppinen. Sen nimi on otettu ensimmäisen tällä arkkitehtuurilla varustetun prosessorin mallista - Intel 8086. Ajan myötä, paremman vaihtoehdon puuttuessa, muut prosessorivalmistajat, esimerkiksi AMD, alkoivat tukea tätä arkkitehtuuria. Se on nyt standardi pöytätietokoneet, kannettavat tietokoneet, netbookit, palvelimet ja muut vastaavat laitteet. Mutta joskus tableteissa käytetään x86-prosessoreita, tämä on melko yleinen käytäntö.

Ensimmäisessä Intel 8086 -prosessorissa oli 16-bittinen kapasiteetti, sitten vuonna 2000 julkaistiin 32-bittinen arkkitehtuuriprosessori, ja vielä myöhemmin ilmestyi 64-bittinen arkkitehtuuri. Keskustelimme tästä yksityiskohtaisesti erillisessä artikkelissa. Tänä aikana arkkitehtuuri on kehittynyt erittäin paljon, ja siihen on lisätty uusia ohjeita ja laajennuksia, jotka voivat parantaa huomattavasti prosessorin suorituskykyä.

x86:lla on useita merkittäviä haittoja. Ensinnäkin tämä on komentojen monimutkaisuus, niiden hämmennys, joka syntyi pitkän kehityshistorian vuoksi. Toiseksi tällaiset prosessorit kuluttavat liikaa virtaa ja tuottavat paljon lämpöä tämän vuoksi. x86-insinöörit valitsivat alun perin parhaan mahdollisen suorituskyvyn, ja nopeus vaatii resursseja. Ennen kuin tarkastelemme arm x86:n eroja, puhutaan ARM-arkkitehtuurista.

ARM-arkkitehtuuri

Tämä arkkitehtuuri esiteltiin hieman myöhemmin x86:n jälkeen - vuonna 1985. Sen kehitti kuuluisa brittiläinen yritys Acorn, sitten tätä arkkitehtuuria kutsuttiin nimellä Arcon Risk Machine ja se kuului RISC-tyyppiin, mutta sitten julkaistiin sen parannettu versio Advanted RISC Machine, joka tunnetaan nykyään nimellä ARM.

Tätä arkkitehtuuria kehittäessään insinöörit asettivat tavoitteekseen poistaa kaikki x86:n puutteet ja luoda täysin uuden ja tehokkaimman arkkitehtuurin. ARM-sirut vastaanotettu pienin virrankulutus Ja alhainen hinta, mutta niiden suorituskyky oli heikko verrattuna x86:een, joten ne eivät alun perin saavuttaneet suurta suosiota henkilökohtaisissa tietokoneissa.

Toisin kuin x86, kehittäjät yrittivät aluksi saada minimikustannukset resursseja, niissä on vähemmän prosessoriohjeita, vähemmän transistoreita, mutta myös vastaavasti vähemmän lisäominaisuuksia. Mutta varten viime vuosina ARM-prosessorien suorituskyky on parantunut. Kun tämä otetaan huomioon, ja alhainen virrankulutus niitä alettiin käyttää laajasti mobiililaitteet, kuten tabletit ja älypuhelimet.

Erot ARM:n ja x86:n välillä

Ja nyt kun olemme tarkastelleet näiden arkkitehtuurien kehityshistoriaa ja niiden perustavanlaatuisia eroja, niin tehdään yksityiskohtainen vertailu ARM ja x86, niiden eri ominaisuuksien perusteella, jotta voidaan määrittää, kumpi on parempi, ja ymmärtää tarkemmin niiden erot.

Tuotanto

Tuotanto x86 vs arm on erilainen. Vain kaksi yritystä tuottaa x86-prosessoreita: Intel ja AMD. Aluksi tämä oli yksi yritys, mutta se on täysin erilainen tarina. Vain näillä yrityksillä on oikeus tuottaa tällaisia ​​prosessoreita, mikä tarkoittaa, että vain he hallitsevat infrastruktuurin kehittämisen suuntaa.

ARM toimii hyvin eri tavalla. ARM:ia kehittävä yritys ei julkaise mitään. He yksinkertaisesti myöntävät luvan kehittää tämän arkkitehtuurin prosessoreita, ja valmistajat voivat tehdä mitä tahansa, esimerkiksi tuottaa tiettyjä siruja tarvitsemillaan moduuleilla.

Ohjeiden määrä

Nämä ovat tärkeimmät erot arm- ja x86-arkkitehtuurin välillä. x86-prosessorit kehittyivät nopeasti tehokkaammiksi ja tuottavammiksi. Kehittäjät ovat lisänneet suuren määrän prosessoriohjeita, ja niitä on enemmän kuin vain perus setti, ja siellä on melko paljon komentoja, joita voitaisiin tehdä ilman. Aluksi tämä tehtiin levyllä olevien ohjelmien käyttämän muistin vähentämiseksi. Myös monia suojaus- ja virtualisointivaihtoehtoja, optimointia ja paljon muuta on kehitetty. Kaikki tämä vaatii lisätransistoreja ja energiaa.

ARM on yksinkertaisempi. Tässä on paljon vähemmän prosessoriohjeita, vain ne, joita käyttöjärjestelmä tarvitsee ja joita todella käytetään. Jos vertaamme x86:ta, vain 30% kaikista käytetään siellä mahdolliset ohjeet. Ne on helpompi oppia, jos päätät kirjoittaa ohjelmia käsin, ja niiden toteuttamiseen tarvitaan myös vähemmän transistoreita.

Energiankulutus

Toinen johtopäätös käy ilmi edellisestä kappaleesta. Mitä enemmän transistoreita kortilla on, sitä suurempi on sen pinta-ala ja energiankulutus, ja myös päinvastoin.

x86-prosessorit kuluttavat paljon enemmän virtaa kuin ARM. Mutta virrankulutukseen vaikuttaa myös itse transistorin koko. Esimerkiksi Intel i7 -prosessori kuluttaa 47 wattia, ja mikä tahansa ARM-älypuhelimen prosessori kuluttaa enintään 3 wattia. Aikaisemmin tuotettiin levyjä, joiden yhden elementin koko oli 80 nm, sitten Intel saavutti pienenemisen 22 nm:iin, ja tänä vuonna tutkijat pystyivät luomaan levyn, jonka elementtikoko oli 1 nanometri. Tämä vähentää huomattavasti virrankulutusta menettämättä suorituskykyä.

Viime vuosina x86-prosessorien, esimerkiksi uusien prosessorien, energiankulutus on vähentynyt huomattavasti Intel Haswell voi kestää pidempään akulla. Nyt ero arm vs x86 välillä on vähitellen häviämässä.

Lämmön hajoaminen

Transistorien lukumäärä vaikuttaa toiseen parametriin - lämmöntuotantoon. Nykyaikaiset laitteet ei voi muuntaa kaikkea energiaa tehokasta toimintaa, osa siitä haihtuu lämpönä. Levyjen hyötysuhde on sama, mikä tarkoittaa, että mitä vähemmän transistoreita ja mitä pienempi niiden koko, sitä vähemmän prosessori tuottaa lämpöä. Tässä ei enää herää kysymys, tuottaako ARM vai x86 vähemmän lämpöä.

Prosessorin suorituskyky

ARM:a ei alun perin suunniteltu maksimaaliseen suorituskykyyn, vaan tässä x86 loistaa. Tämä johtuu osittain pienemmästä transistorien määrästä. Mutta viime aikoina ARM-prosessorien suorituskyky on lisääntynyt, ja niitä voidaan jo käyttää täysin kannettavissa tietokoneissa tai palvelimissa.

Johtopäätökset

Tässä artikkelissa tarkastelimme, miten ARM eroaa x86:sta. Erot ovat melko vakavia. Mutta viime aikoina raja molempien arkkitehtuurien välillä on hämärtynyt. ARM-prosessorit ovat yhä tuottavampia ja nopeampia, ja x86-prosessorit alkavat kuluttaa vähemmän virtaa ja tuottaa vähemmän lämpöä levyn rakenneosan koon pienentymisen ansiosta. Palvelimista ja kannettavista tietokoneista löytyy jo ARM-prosessorit ja tableteista ja älypuhelimista x86-prosessorit.

Mitä mieltä olette näistä x86:sta ja ARM:sta? Millainen teknologia on mielestäsi tulevaisuus? Kirjoita kommentteihin! Muuten,.

ARM-arkkitehtuurin kehitystä käsittelevän videon päätteeksi: