[go: up one dir, main page]

Ero sivun ”ARM” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ipr1 (keskustelu | muokkaukset)
 
(31 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä)
Rivi 20:
| avoimuus = suljettu, kaupallinen
}}
'''ARM''' ({{Lyhenne|lyhenne aluksi sanoista ''Acorn RISC Machine'', myöhemmin sanoista ''Advanced RISC Machines}}Machine''<ref name="historylevy" />) on [[mikroprosessori]]arkkitehtuuri, jonka [[Yhdistynyt kuningaskunta|brittiläinen]] tietokonevalmistaja [[Acorn Computers]] kehitti 1980-luvun puolivälissä.<ref>{{Verkkoviite | osoite = https://spectrum.ieee.org/25-microchips-that-shook-the-world | nimeke = 25 Microchips That Shook the World | tekijä = Brian Santo | ajankohta = 1.5.2009 | viitattu = 23.10.2021 | kieli = {{en}} }}</ref> Arkkitehtuuriin kuuluu 32- ja 64-[[bitti]]siä [[suoritin|suorittimia]]. ARM on pitkäikäisimpiä [[RISC]]-arkkitehtuureja ja nykyisin suosittu etenkin [[kämmenmikrokämmentietokone]]jeniden, [[matkapuhelin|matkapuhelimien]] ja [[sulautettu järjestelmä|sulautettujen järjestelmien]] [[suoritin|suorittimissa]]. Se on maailman eniten valmistettu 32-bittinen suoritinarkkitehtuuri: alkuvuodesta 2007 ARM-suorittimia oli valmistettu viisi miljardia kappaletta, ja mm. 90&nbsp;% matkapuhelimista käyttää niitä.<ref>http://www.arm.com/about/newsroom/16535.php </ref><ref>http://www.technologyreview.com/web/21675/?a=f {{VanhentunutWayback|1=http://www.technologyreview.com/web/21675/?a=f linkki|botpäiväys=InternetArchiveBot20081207044741 }}</ref> Vuonna 2014 luku oli kymmenkertaistunut yli viiteenkymmeneen miljardiin.<ref>{{Verkkoviite | Osoite = http://financialreports.arm.com/pdfs/ARM_FullReport_2013.pdf | Nimeke = ARM Holdings plc Annual Report 2013: Strategic Report | Kieli = {{en}} | Tiedostomuoto = PDF | Selite = Sivu 3 | viitattu = 1.6.2016 | arkisto = https://web.archive.org/web/20140829142829/http://financialreports.arm.com/pdfs/ARM_FullReport_2013.pdf | arkistoitu = 29.8.2014 }}</ref>
 
== Historia ==
ARM-suoritin kehitettiin korvaamaan [[MOS 6502]], jota Acorn Computers käytti [[Acorn Atom]]issa ja [[BBC Micro]]ssa.<ref name="arsarm">{{Verkkoviite | osoite = https://arstechnica.com/features/2020/12/how-an-obscure-british-pc-maker-invented-arm-and-changed-the-world/ | nimeke = How an obscure British PC maker invented ARM and changed the world | tekijä = Jason Torchinsky | ajankohta = 20.12.2020 | viitattu = 18.7.2022 | kieli = {{en}} }}</ref> Prosessorin suunnittelivat [[Sophie Wilson]] ja [[Steve Furber]].<ref>{{Verkkoviite | osoite = https://www.theregister.com/2012/05/02/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/ | nimeke = ARM creators Sophie Wilson and Steve Furber | tekijä = Chris Bidmead | ajankohta = 2.5.2012 | viitattu = 21.8.2022 | kieli = {{en}} }}</ref><ref name="theregunsungarmpart2">{{Verkkoviite | osoite = https://www.theregister.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/ | nimeke = ARM creators Sophie Wilson and Steve Furber - Part Two: the accidental chip | tekijä = Chris Bidmead | ajankohta = 3.5.2012 | viitattu = 21.8.2022 | kieli = {{en}} }}</ref>
ARM-suorittimet ovat olleet 32-bittisiä (32-bittinen leveys ja osoiteavaruus) ARMv3:sta lähtien: tätä edeltävät mallit käyttivät 26-bittistä osoiteavaruutta.<ref name="lmagarm">{{Verkkoviite | osoite = https://www.linux-magazine.com/Issues/2013/156/ARM-Architecture/(offset)/3/(tagID)/80 | nimeke = The ARM architecture – yesterday, today, and tomorrow | viitattu = 11.10.2020 | kieli = {{en}} }}</ref>
Acorn Computersin Hauser ja Curry olivat vakuuttuneita, että [[mikropiiri]]suunnitteluun kannatti panostaa vaikka niitä ei valmistaisi itse vaan jotta yrityksellä olisi paremmin tietoa liiketoiminnan kannalta oleellisesta asiasta.<ref name="theregunsungarmpart2" /> Yritykseen hankittiin mikropiirien suunnitteluun kolme henkilöä sekä työkalut ja [[työasema]]t.<ref name="theregunsungarmpart2" /> Lisäksi Hauser esitti Wilsonille ja Furberille [[IBM]]:n esittämiä ideoita.<ref name="theregunsungarmpart2" /> Wilson ja Furber vierailivat [[Western Design Centre]]ssä, jossa Bill Mensch työskenteli piirisuunnitelman parissa: projektin pieni mittakaava rohkaisi Wilsonia ja Furberia kehittämään prosessorin itse.<ref name="theregunsungarmpart2" /><ref name="theregunsungarmpart2p2">{{Verkkoviite | osoite = https://www.theregister.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=2 | nimeke = ARM creators Sophie Wilson and Steve Furber - Part Two: the accidental chip | selite = sivu 2 | tekijä = Chris Bidmead | ajankohta = 3.5.2012 | viitattu = 21.8.2022 | kieli = {{en}} }}</ref> Wilson suunnitteli käskykannan ja Furber muodosti siitä tehtaalle valmistukseen lähetettävän tiedon (''tape-out'').<ref name="theregunsungarmpart2p2" /> 18 kuukautta myöhemmin heillä oli toimiva ARM.<ref name="theregunsungarmpart2p2" /><ref name="theregunsungarmpart2p3">{{Verkkoviite | osoite = https://www.theregister.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=3 | nimeke = ARM creators Sophie Wilson and Steve Furber - Part Two: the accidental chip | selite = sivu 3 | tekijä = Chris Bidmead | ajankohta = 3.5.2012 | viitattu = 21.8.2022 | kieli = {{en}} }}</ref> Virran käyttö ei aluksi ollut tärkeää, mutta halpa hinta oli ja käytettyjen materiaalien johdosta virrankäyttö piti olla alle yhden [[watti|watin]].<ref name="theregunsungarmpart2p3" /> Pienen transistorimäärän myötä piiri ei käyttänyt paljoa virtaa ja toimi viileämpänä kuin monet muut, joista tuli myöhemmin hyödyllisiä ominaisuuksia mobiililaitteiden kannalta.<ref name="arsarm" />
 
Prosessori alkoi tutkimusprojektina, jonka ensimmäiset näytekappaleet saatiin 26. huhtikuuta 1985.<ref name="theregunsungarmpart2p3" /><ref name="historylevy">{{Verkkoviite | osoite = https://reds.heig-vd.ch/share/cours/ReCo/documents/TheHistoryOfTheARMArchitecture.pdf | nimeke = The History of The ARM Architecture: From Inception to IPO | tekijä = Markus Levy | tiedostomuoto = PDF | viitattu = 21.8.2022 | kieli = {{en}} }}</ref> Ensimmäiset mallit valmistettiin 3 [[mikrometri]]n [[VLSI]]-tekniikalla ja se tarvitsi alle {{luku|25000|[[transistori]]a}}.<ref name="historylevy" /> ARM1:n korvasi nopeasti ARM2, joka oli ensimmäinen tuotantoversio ja vain {{luku|30000|transistoria}}.<ref name="historylevy" /> ARM2:n käskykanta oli parempi suorituskyvyn maksimoimiseen ja siinä oli 32-bittinen dataväylä, 26-bittinen osoiteväylä ja 16 rekisteriä.<ref name="historylevy" /> ARM2:ssa ei ollut piirillä [[välimuisti]]a.<ref name="historylevy" />
[[#ARM 64-bit|64-bittinen]] ARM-suoritinsarja on julkaistu lokakuussa 2011.<ref name="arm64" >{{Verkkoviite | osoite = https://www.arm.com/about/newsroom/arm-discloses-technical-details-of-the-next-version-of-the-arm-architecture.php | nimeke = ARM Discloses Technical Details Of The Next Version Of The ARM Architecture | julkaisija = ARM | julkaistu = 27.10.2011 | viitattu = 24.1.2017}}</ref>
 
Ensimmäinen ARM-prosessoria käyttävä tuote oli ARM Development System (BBC Micron laajennus<ref name="theregunsungarmpart2p3" />), jota seurasi [[Acorn Archimedes]] vuonna 1987.<ref name="historylevy" /><ref name="theregunsungarmpart2p4" />
Armv9-arkkitehtuuriversio on julkaistu maaliskuussa 2021.<ref name="theregv9">{{Verkkoviite | osoite = https://www.theregister.com/2021/03/30/arm_v9_chips/ | nimeke = Arm pulls the sheets off its latest Armv9 architecture with added AI support, Realms software isolation | ajankohta = 30.3.2021 | kieli = {{en}} }}</ref> Edeltävä Armv8 julkaistiin vuonna 2011.<ref name="theregv9" /> Uutena Armv9:ssä on [[koneoppiminen|koneoppimisen]] käyttöön suunnattu eri tarkkuuksien [[liukuluku|liukuluvut]] (kuten ''bfloat16'') matriisien laskentaan sekä digitaalisen signaalikäsittelyn parannukset.<ref name="theregv9" />
Vuonna 1990 kehitys siirtyi Acornilta uuteen yhtiöön.<ref>{{Verkkoviite | osoite = https://www.theguardian.com/business/2020/sep/14/arm-holdings-sale-nvidia-uk-us-security-job-losses | nimeke = Arm Holdings: what is it and does its sale to Nvidia matter? | ajankohta = 14.9.2020 | viitattu = 9.10.2020 | kieli = {{en}} }}</ref>
 
ARMista tuli [[järjestelmäpiiri]]lle sopiva: koska varsinainen prosessori ei tarvitse paljoa tilaa voidaan samalle piirille jäävä tila käyttää muihin tarkoituksiin.<ref name="theregunsungarmpart2p4">{{Verkkoviite | osoite = https://www.theregister.com/2012/05/03/unsung_heroes_of_tech_arm_creators_sophie_wilson_and_steve_furber/?page=4 | nimeke = ARM creators Sophie Wilson and Steve Furber - Part Two: the accidental chip | selite = sivu 4 | tekijä = Chris Bidmead | ajankohta = 3.5.2012 | viitattu = 21.8.2022 | kieli = {{en}} }}</ref> [[Apple]] käytti ARMia [[Apple Newton]]in prototyyppeihin ja päätyi ostamaan osuuden yhtiöstä.<ref name="theregunsungarmpart2p4" />
 
ARM-suorittimet ovat olleet 32-bittisiä (32-bittinen leveys ja osoiteavaruus) ARMv3:sta lähtien: tätä edeltävät mallit käyttivät 26-bittistä osoiteavaruutta.<ref name="lmagarm">{{Verkkoviite | osoite = https://www.linux-magazine.com/Issues/2013/156/ARM-Architecture/(offset)/3/(tagID)/80 | nimeke = The ARM architecture – yesterday, today, and tomorrow | viitattu = 11.10.2020 | kieli = {{en}} }}</ref> [[Nokia (yritys)|Nokian]] tarpeita varten ARM:iin suunniteltiin 16-bittinen ''Thumb''-käskykanta, jolloin 32-bittistä suoritinta voitiin käyttää vähemmän muistia vaativilla käskyillä: tämä julkaistiin ARM7-versiossa, josta tuli menestystuote.<ref name="arsp2">{{Verkkoviite | osoite = https://arstechnica.com/gadgets/2022/11/a-history-of-arm-part-2-everything-starts-to-come-together/ | nimeke = A history of ARM, part 2: Everything starts to come together | tekijä = Jeremy Reimer | ajankohta = 21.11.2022 | viitattu = 1.12.2022 | kieli = {{en}} }}</ref>
 
[[#ARM 64-bit|64-bittinen]] ARM-suoritinsarja on julkaistu lokakuussa 2011.<ref name="arm64" >{{Verkkoviite | osoite = https://www.arm.com/about/newsroom/arm-discloses-technical-details-of-the-next-version-of-the-arm-architecture.php | nimeke = ARM Discloses Technical Details Of The Next Version Of The ARM Architecture | julkaisija = ARM | julkaistu = 27.10.2011 | viitattu = 24.1.2017}}</ref> Armv8 toi uuden käskykannan lisäksi muutoksia rekistereihin sekä 64-bittisen virtuaalisen osoiteavaruuden.<ref name="atarmv9">{{Verkkoviite | osoite = https://www.anandtech.com/show/16584/arm-announces-armv9-architecture | nimeke = Arm Announces Armv9 Architecture: SVE2, Security, and the Next Decade | tekijä = Andrei Frumusanu | ajankohta = 30.3.2021 | viitattu = 17.2.2022 | kieli = {{en}} }}</ref>
 
Armv9-arkkitehtuuriversio on julkaistu maaliskuussa 2021.<ref name="theregv9">{{Verkkoviite | osoite = https://www.theregister.com/2021/03/30/arm_v9_chips/ | nimeke = Arm pulls the sheets off its latest Armv9 architecture with added AI support, Realms software isolation | ajankohta = 30.3.2021 | kieli = {{en}} }}</ref> EdeltäväArmv9 jatkaa Armv8:n tuoman 64-bittisen käskykannan kanssa julkaistiinja vuonnalisää 2011laajennuksia.<ref name="theregv9atarmv9" /> Uutena Armv9:ssä on [[koneoppiminen|koneoppimisen]] käyttöön suunnattu eri tarkkuuksien [[liukuluku|liukuluvut]] (kuten ''bfloat16'') matriisien laskentaan sekä digitaalisen signaalikäsittelynsignaalinkäsittelyn parannukset.<ref name="theregv9" />
Armv9:ssä on [[SIMD]]-tyyppisen vektoriyksikön Scalable Vector Extensions toinen versio (SVE2).<ref name="atarmv9" /><ref>{{Verkkoviite | osoite = https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/new-technologies-for-the-arm-a-profile-architecture | nimeke = New Technologies for the Arm A-Profile Architecture | tekijä = Berenice Mann | ajankohta = 18.4.2019 | viitattu = 17.2.2022 | kieli = {{en}} }}</ref>
 
== Valmistajat ==
ARM-suorittimia suunnitteleva [[Arm (yritys)|Arm]] ei valmista ARM-suorittimia, vaan on keskittynyt vain niiden suunnittelemiseen ja lisensoi niiden arkkitehtuurin ja valmistusoikeudet useille muille yrityksille kuten [[Samsung]]ille (katso [[Exynos]]), [[Texas Instruments]]ille (katso [[OMAP]]), [[Motorola]]lle (katso [[I.MX|DragonBall MX]]), [[Qualcomm]]ille (katso [[Qualcomm Snapdragon]]) ja [[Apple]]lle (katso [[Apple M1]]).
 
[[Ampere Computing]] suunnittelee [[pilvipalvelu]]ita tarjoaville yrityksille suunnattuja Altra-suorittimia, jotka perustuvat ARM-suorittimille.<ref>{{Verkkoviite | osoite = https://www.allaboutcircuits.com/news/ampere-altra-max-128-core-processor-challenges-intel-and-amd-in-a-cloud-based-processor-showdown/ | nimeke = Ampere’s 128-Core Processor Challenges Intel and AMD in a Cloud-Based Processor Showdown | tekijä = Antonio Anzaldua Jr. | ajankohta = 26.6.2020 | viitattu = 26.6.2023 | kieli = {{en}} }}</ref>
 
Suuret pilvipalveluja tuottavat yritykset [[Amazon.com|Amazon]] ja [[Google]] ovat kertoneet omista ARM-suorittimistaan. Yritykset ovat kertoneet paremmasta suorituskyvystä ja pienemmästä virrankulutuksesta omissa testeissään. Amazonin ja Googlen ARM-suorittimet perustuvat Armin Neoverse-suunnitteluun.<ref>{{Verkkoviite | osoite = https://www.theregister.com/2022/11/30/aws_amd_intel_chips/ | nimeke = AWS follows AMD and Intel down the specialized chips path | tekijä = Dylan Martin | ajankohta = 30.11.2022 | viitattu = 2.12.2022 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://www.theregister.com/2021/12/06/graviton_3_aws/ | nimeke = Graviton 3: AWS attempts to gain silicon advantage with latest custom hardware | tekijä = Tim Anderson | ajankohta = 6.12.2021 | viitattu = 10.4.2024 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://www.theregister.com/2024/04/09/google_custom_cpu/ | nimeke = Google joins the custom server CPU crowd with Arm-based Axion chips | tekijä = Tobias Mann | ajankohta = 9.4.2024 | viitattu = 10.4.2024 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://arstechnica.com/gadgets/2024/04/google-cloud-rolls-out-self-designed-arm-chips-in-its-data-centers/ | nimeke = Google Cloud rolls out self-designed Arm chips in its data centers | tekijä = Ron Amadeo | ajankohta = 10.4.2024 | viitattu = 10.4.2024 | kieli = {{en}} }}</ref>
 
== ARM-käskykannan ominaisuuksia ==
Rivi 50 ⟶ 65:
Monien muiden suorittimien tavoin ARM tukee eri toimintamoodeja: käyttäjätila tavallisille ohjelmille ja järjestelmätila (''system mode'') käyttöjärjestelmän koodille.<ref name="lmagarm" /> ARMv7:stä lähtien mukana on laitteistotuki ''hypervisor''-[[virtualisointi|virtualisoinnille]], joka ARMv8:ssa on osa arkkitehtuuria suoritustasonimellä EL2.<ref name="lmagarm" /><ref name="emunvi">{{Verkkoviite | osoite = https://www.embedded.com/understanding-virtualization-facilities-in-the-armv8-processor-architecture/ | nimeke = Understanding virtualization facilities in the ARMv8 processor architecture | ajankohta = 20.9.2018 | viitattu = 11.11.2020 | kieli = {{en}} }}</ref> EL1-suoritustaso on käyttöjärjestelmän ytimelle ja EL0-taso ilman eritysoikeuksia suoritettavalle koodille.<ref name="emunvi" /> Lisäksi on toimintojen avuksi on kehitetty uusia keskeytyskäsittelijöitä (GIC) sekä [[IOMMU]]-tuki (SMMU ARM-arkkitehtuurissa).<ref name="emunvi" />
 
VFP [[apusuoritin]] sisältää tuen [[liukuluku]]aritmetiikalle.<ref name="armvfp">{{Verkkoviite | osoite = https://developer.arm.com/documentation/dui0473/c/overview-of-the-arm-architecture/vfp-coprocessor?lang=en | nimeke = VFP coprocessor | viitattu = 12.2.2022 | kieli = {{en}} }}</ref> VFP sisältääja eri rekisteritNEON-laajennus senjakavat käyttöönrekistereitä.<ref name="armvfp" /><ref>{{Verkkoviite | osoite = https://developer.arm.com/documentation/dui0473/c/neon-and-vfp-programming/vfp-views-of-the-extension-register-bank?lang=en | nimeke = VFP views of the extension register bank | viitattu = 12.2.2022 | kieli = {{en}} }}</ref><ref>{{Verkkoviite | osoite = https://developer.arm.com/documentation/dui0473/c/neon-and-vfp-programming/extension-register-bank-mapping?lang=en | nimeke = Extension register bank mapping | viitattu = 12.2.2022 | kieli = {{en}} }}</ref>
 
ARM-suorittimien big.LITTLE-arkkitehtuuri yhdistää kahden tyyppistä erikoistunutta prosessoria, jossa "LITTLE" tähtää energiatehokkuuteen (pieneen virrankäyttöön) ja "big" laskentatehoon. Arkkitehtuuri on suunnattu tilanteisiin, joissa käyttö vaihtelee kuten mobiililaitteissa, joissa on pitkiä vähäisen virrankäytön jaksoja ja hetkittäisiä suuremman suorituskyvyn tarpeita.<ref>{{Verkkoviite | osoite = https://www.arm.com/technologies/big-little | nimeke = Processing Architecture for Power Efficiency and Performance | viitattu = 3.10.2022 | kieli = {{en}} }}</ref>
 
== ARM-suoritinytimiä ==
Rivi 56 ⟶ 73:
* ARM1 (1985), [[prototyyppi]]
* ARM2 (1986), jota käytettiin [[Acorn Archimedes]] -mikrotietokoneissa
* ARM3
* ARM6 (1991), jota käytettiin [[Apple Newton]] -PDA-laitteessa
* ARM7, jota käytettiin muun muassa [[Game Boy Advance|GameBoy Advance]]ssa
Rivi 81 ⟶ 99:
Sarjan ensimmäinen malli on ARMv8-A, johon on kaksi päivitysversiota: ARMv8.1-A ja ARMv8.2-A.
 
64-bittinen ARM-arkkitehtuuri tunnetaan nimellä AArch64 ja se käyttää A64-käskykantaa.<ref>{{Verkkoviite | osoite = https://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf | nimeke = ARMv8 Instruction Set Overview | julkaisija = ARM | julkaistu = 11.11.2011 | viitattu = 16.2.2017 | arkisto = https://web.archive.org/web/20170217062857/https://www.element14.com/community/servlet/JiveServlet/previewBody/41836-102-1-229511/ARM.Reference_Manual.pdf | arkistoitu = 17.2.2017 }}</ref>
 
Lokakuussa 2020 kerrottiin että Cortex-A-sarjan suorittimet ovat vuodesta 2022 alkaen vain 64-bittisiä ja tuki 32-bittiselle ARM32-käskykannalle jää niistä pois.<ref name="thereg64">{{Verkkoviite | osoite = https://www.theregister.com/2020/10/08/arm_32bit_support/ | nimeke = Heads up: From 2022, all new top-end Arm Cortex-A CPU cores for phones, slabtops will be 64-bit-only, snub 32-bit | ajankohta = 8.10.2020 | viitattu = 11.10.2020 | kieli = {{en}} }}</ref> Cortex-R- ja Cortex-M-sarjojen suorittimet ovat vielä 32-bittisiä.<ref name="thereg64" />
Rivi 93 ⟶ 111:
{{Pääartikkeli|[[Mali (grafiikkasuoritin)]]}}
 
'''Mali''' on [[Arm (yritys)|ARM HoldingsHoldingsin]]in [[grafiikkasuoritin]]sarja (GPU).
 
==Lähteet==
{{viitteet|sarakkeet}}
 
== Aiheesta muualla ==
Noudettu kohteesta ”https://fi.wikipedia.org/wiki/ARM