
ARM, tidligere Advanced RISC Machines og endnu tidligere Acorn RISC Machine, er en RISC-mikroprocessorarkitektur. ARM-arkitekturen er den mest anvendte 32-bit-arkitektur efter antal producerede enheder. I 2011 blev ARMv8-A arkitekturen udgivet med support for 64-bit adresserum og 64-bit aritmetik med dets nye 32-bit instruktionssæt med fast længde.
ARM-processoren var en af de første RISC-processorer og var fra starten kraftfuld; det var muligt at udføre en instruktion for hver anden klokcyklus. ARM-processoren har en særlig "ren" RISC-implementation og den anses for at være en af de mest elegante moderne mikroprocessorer. Den bliver også anvendt i de udbredte ARM mikrocontrollere.
En af meddesignerne af ARM-arkitekturen er Steve Furber, som har fået en Britisk ærestitel.
ARM1 og ARM2 var og er sikkert de mindste CPUer med 32 bit databus der findes. De blev udviklet i perioden 1984-1987. ARM1 og ARM2 har kun hhv. 25.000 og 30.000 transistorer, hvilket er medvirkende til det særligt lave energiforbrug. Motorolas ældre 16/32-bit-processor 68000 har til sammenligning 68.000 transistorer.
ARM2 blev anvendt i Acorn Archimedes PCen, som kunne købes fra 1987.
Intels xScale anvender ARM-arkitekturen.
| Arkitektur | Kerne bit-bredde |
Kerneapplikation | Profil | Refe- rencer | |
|---|---|---|---|---|---|
| Arm Ltd. | Tredjepart | ||||
ARMv1 | ARM1 | Klassisk | |||
ARMv2 | 32 | ARM2, ARM250, ARM3 | Amber, STORM Open Soft Core | Klassisk | |
ARMv3 | 32 | ARM6, ARM7 | Klassisk | ||
ARMv4 | 32 | ARM8 | StrongARM, FA526, ZAP Open Source Processor Core | Klassisk | |
ARMv4T | 32 | ARM7TDMI, ARM9TDMI, SecurCore SC100 | Klassisk | ||
ARMv5TE | 32 | ARM7EJ, ARM9E, ARM10E | XScale, FA626TE, Feroceon, PJ1/Mohawk | Klassisk | |
ARMv6 | 32 | ARM11 | Klassisk | ||
ARMv6-M | 32 | ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1, SecurCore SC000 | |||
ARMv7-M | 32 | ARM Cortex-M3, SecurCore SC300 | Apple M7 motion coprocessor | Mikrocontroller | |
ARMv7E-M | 32 | ARM Cortex-M4, ARM Cortex-M7 | Mikrocontroller | ||
ARMv8-M | 32 | ARM Cortex-M23, ARM Cortex-M33 | Mikrocontroller | ||
ARMv8.1-M |
32 |
ARM Cortex-M55, ARM Cortex-M85 | Microcontroller |
||
ARMv7-R | 32 | ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7, ARM Cortex-R8 | |||
ARMv8-R | 32 | ARM Cortex-R52 | Realtid | ||
64 |
ARM Cortex-R82 | Realtid |
|||
ARMv7-A | 32 | ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17 | Qualcomm Scorpion/Krait, PJ4/Sheeva, Apple Swift (Apple A6, Apple A6X) | ||
ARMv8-A | 32 | ARM Cortex-A32 | Applikation | ||
64/32 | ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73 | X-Gene, Nvidia Denver 1/2, Cavium ThunderX, AMD K12, Apple Cyclone (Apple A7)/Typhoon (Apple A8, Apple A8X)/Twister (Apple A9, Apple A9X)/Hurricane+Zephyr (Apple A10, Apple A10X), Qualcomm Kryo, Samsung M1/M2 ("Mongoose") /M3 ("Meerkat") | Applikation |
| |
| ARM Cortex-A34 | Applikation |
||||
ARMv8.1-A | 64/32 | Cavium ThunderX2 | Applikation | ||
ARMv8.2-A | 64/32 | ARM Cortex-A55, ARM Cortex-A75, ARM Cortex-A76, ARM Cortex-A77, ARM Cortex-A78, ARM Cortex-X1, ARM Neoverse N1 | Nvidia Carmel, Samsung M4 ("Cheetah"), Fujitsu A64FX (ARMv8 SVE 512-bit) | Applikation | |
64 | ARM Cortex-A65, ARM Neoverse E1 med samtidig multithreading (SMT), ARM Cortex-A65AE | Apple Monsoon+Mistral (Apple A11) (September 2017) | Applikation | ||
ARMv8.3-A |
64/32 | Applikation |
|||
64 | Apple Vortex+Tempest (Apple A12, Apple A12X, Apple A12Z), Marvell ThunderX3 (v8.3+) | Applikation | |||
ARMv8.4-A | 64/32 | Applikation | |||
64 | ARM Neoverse V1 | Apple Lightning+Thunder (Apple A13), Apple Firestorm+Icestorm (Apple A14, Apple M1) | Applikation | ||
ARMv8.5-A |
64/32 | Applikation |
|||
64 | Applikation |
||||
ARMv8.6-A |
64 | Apple Avalanche+Blizzard (Apple A15, Apple M2), Apple Everest+Sawtooth (Apple A16), Apple Coll (Apple A17), Apple Ibiza/Lobos/Palma (Apple M3) | Applikation |
||
ARMv8.7-A |
64 | Applikation |
|||
ARMv8.8-A |
64 |
Applikation |
|||
ARMv8.9-A |
64 |
Applikation |
|||
ARMv9.0-A |
64 |
ARM Cortex-A510, ARM Cortex-A710, ARM Cortex-A715, ARM Cortex-X2, ARM Cortex-X3, ARM Neoverse E2, ARM Neoverse N2, ARM Neoverse V2 | Applikation |
||
ARMv9.1-A |
64 |
Applikation |
|||
ARMv9.2-A |
64 |
ARM Cortex-A520, ARM Cortex-A720, ARM Cortex-X4, ARM Neoverse V3, ARM Cortex-X925, ARM Cortex-A320 | Apple Donan/BravaChop/Brava (Apple M4), Apple Tupai/Tahiti (Apple A18) | Applikation |
|
ARMv9.3-A |
64 |
TBA | Applikation |
||
ARMv9.4-A |
64 |
TBA | Applikation |
||
ARMv9.5-A |
64 |
TBA | Applikation |
||
ARMv9.6-A |
64 |
TBA | Applikation |
||
ARMv8 SVE (Scalable Vector Extension) chip, which uses 512bit floating point.
can execute two-threads in parallel on each cycle. Each thread can be at different exception levels and run different operating systems.
| Wikimedia Commons har medier relateret til: |