ARM

Wikipedia
Loikkaa: valikkoon, hakuun
Tämä artikkeli käsittelee mikroprosessoriarkkitehtuuria. Lyhenne ARM voi tarkoittaa myös Animal Rights Militiaa. ARM on myös Armenian maatunnus.

ARM (lyhenne sanoista Advanced RISC Machines) on 32-bittinen mikroprosessoriarkkitehtuuri, jonka kehitti brittiläinen tietokonevalmistaja Acorn 1980-luvun puolivälissä. ARM on pitkäikäisimpiä RISC-arkkitehtuureja ja nykyisin suosittu etenkin kämmenmikrojen, matkapuhelimien ja sulautettujen järjestelmien suorittimissa. Se on maailman eniten valmistettu 32-bittinen suoritinarkkitehtuuri: alkuvuodesta 2007 ARM-suorittimia oli valmistettu viisi miljardia kappaletta, ja mm. 90 % matkapuhelimista käyttää niitä.[1][2] Vuonna 2014 luku oli kymmenkertaistunut yli viiteenkymmeneen miljardiin.lähde?

ARM soveltuu pienikokoisiin laitteisiin hyvin, koska sen voi toteuttaa suhteellisen vähäisellä logiikkamäärällä tehokkuuteensa nähden. Esimerkiksi ARM2:ssa oli vain noin 30 000 transistoria, mutta se oli silti nopeampi kuin samalla kellotaajuudella ajettu Motorola 68000, jossa transistoreja oli noin 68 000. Pienestä koostaan huolimatta ARM-prosessorit ovat varteenotettavia prosessoreita, koska ne voivat sisältää esimerkiksi muistinhallintayksikön, joka mahdollistaa kehittyneiden käyttöjärjestelmien ajamisen.

Acornista erkaantunut ARM Holdings ei enää valmista ARM-suorittimia, vaan on keskittynyt vain niiden suunnittelemiseen ja myy niiden valmistusoikeuksia useille muille yrityksille kuten Samsungille, Texas Instrumentsille (katso OMAP) ja Motorolalle (katso DragonBall MX).

ARM-käskykannan ominaisuuksia[muokkaa | muokkaa wikitekstiä]

ARM-käskykanta on RISC-tyyppinen, eli sen käskyt ovat melko yksinkertaisia ja symmetrisiä. Operaatiot tehdään rekisterien välillä. Muistia käsittelevät vain muistinlataus- ja tallennuskäskyt. ARM sisältää kuitenkin myös joukon RISC-kantaa ilmaisuvoimaisempia käskyjä, kuten käskyt pinon käyttämiseen. Lisäksi normaaleihin aritmeettisiin käskyihin voidaan liittää toisen parametrin bittien siirto (shiftaus). Miltei jokainen käsky voi olla ehdollinen, eli käsky voidaan joko suorittaa tai olla suorittamatta riippuen jonkun ehtorekisterin arvosta. Sen avulla voidaan välttää osa ohjelmakoodin ehdollisista haarautumisista, millä saadaan pidettyä suorittimen liukuhihnat täynnä ja parannettua välimuistin osumatarkkuutta, mikä parantaa suorituskykyä.

Normaalit ARM-käskyt ovat 32 bitin mittaisia. Uusissa ARM-prosessoreissa on myös toinen toimintatila, Thumb, jossa käskyt ovat 16 bitin mittaisia. Tällöin ohjelmamuistia sekä ohjelmamuistin ja prosessorin välistä muistiväylää tarvitaan vähemmän. Thumb-moodissa prosessorin toiminta on rajoittunutta: esimerkiksi vapaasti käytettävien rekisterien määrä on rajoitettu kahdeksaan, eikä muiden kuin hyppykäskyjen suoritus voi olla ehdollista.

Yleiskäyttöisiä rekistereitä ARMissa on 16 kappaletta, mikä on melko vähän RISC-prosessorille.

ARM-suoritinytimiä[muokkaa | muokkaa wikitekstiä]

  • ARM1 (1985), prototyyppi
  • ARM2 (1986), jota käytettiin Acorn Archimedes -mikrotietokoneissa
  • ARM6 (1991), jota käytettiin Apple Newton -PDA-laitteessa
  • ARM7, jota käytettiin muun muassa GameBoy Advancessa
  • StrongARM, jota valmisti aluksi DEC, ja jonka valmistusoikeudet myytiin sittemmin Intelille
  • Intel XScale
  • ARM9, joka on mm. hyvin monessa PDA:ssa käytetyn OMAP1xxx-piirin sisällä
  • ARM11, löytyy mm. OMAP2xxx-piirin sisältä.
  • Cortex A8, sisältää haarautumisenennustuksen, käytössä mm. iPhone 3GS:ssä ja Nokia N900ssa.
  • Cortex A9, ensimmäinen käskyjä uudelleenjärjestelevä ARM-suoritin. Löytyy mm. nvidian Tegra 2 -piirin sisältä.
  • Scorpion, Qualcommin suunnittelema ARM-ydin. Suorittaa kahta käskyä rinnakkain ja uudelleenjärjestelee käskyjä rajoitetusti. Käytössä mm. useimmissa Windows Phone 7-puhelimissa olevissa SnapDragon-piireissä.
  • Cortex A5, uudempi pienempi, vähävirtaisempi ja suorituskyvyltään heikompi malli.
  • Cortex A7, korvasi Cortex A8n, vähävirtaisempi mutta nopeampi.
  • Cortex A15, selvästi järeämpi ydin, pystyy suorittamaan kolmea käskyä rinnakkain ja pystyy uudelleenjärjestelemään käskyjä.
  • Krait, Qualcommin uudempi ARM-ydin. Suorittaa kolmea käskyä rinnakkain ja uudelleenjärjestelee käskyjä. Käytössä mm. useimmissa Windows Phone 8-puhelimissa olevissa SnapDragon-piireissä.
  • Swift, Applen suunnittelema ARM-ydin. Käytössä mm. iPhone 5:ssa. Suorittaa kolmea käskyä rinnakkain. [3]
  • Cortex A12, korvasi Cortex A9n, rakenteeltaan samantyylinen mutta suorituskyvyltään parempi.
  • Cortex A17, paranneltu Cortex A12.
  • Cyclone, Applen suunnittelema ja käyttämä ARM-ydin. Käytössä mm. iPhone 5S:ssä, pystyy suorittamaan jopa kuutta käskyä rinnakkain. [3]

Lähteet[muokkaa | muokkaa wikitekstiä]

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]