Az ARM Holdings és harmadik fél által kifejlesztett processzorok és mikrovezérlők mikroarchitektúráinak ARM családjának listája . Az ARM utasításkészlet verziója szerint rendelve.
Az ARM felsorolta azokat a cégeket, amelyek maguk implementálták az ARM architektúrákat [1] . Néhány információt Keil is közöl [2] .
Az ARM saját magjainak listáját a honlapjukon is közzéteszik [3] .
ARM család | ARM architektúra | Sejtmag | Kiegészítők | Gyorsítótárak (I/D), MMU | Tipikus MIPS @ MHz |
---|---|---|---|---|---|
ARM1 | ARMv1 | ARM1 | Első megvalósítás | Nem | |
ARM2 | ARMv2 | ARM2 | MUL (multiply) utasítás került az ARMv2-be | Nem | 4 MIPS @ 8 MHz 0,33 DMIPS /MHz |
ARMv2a | ARM250 | Integrált MEMC (MMU), GPU és I/O társprocesszor. SWP és SWPB utasítások hozzáadva az ARMv2a-hoz (csere) | Nem, MEMC1a | 7 MIPS @ 12 MHz | |
ARM3 | ARMv2a | ARM3 | Az első integrált gyorsítótár | 4 KB egységes | 12 MIPS @ 25 MHz 0,50 DMIPS/MHz |
ARM6 | ARMv3 | ARM60 | Az ARMv3 támogatja a 32 bites memóriacímzést (korábban 26 bites) | Nem | 10 MIPS @ 12 MHz |
ARM600 | Az ARM60-hoz hasonlóan - gyorsítótár és társprocesszor busz (az FPA10 lebegőpontos feldolgozó egységhez) | 4 KB egységes | 28 MIPS @ 33 MHz | ||
ARM610 | Mint az ARM60-ban, gyorsítótár, nincs társprocesszor busz | 4 KB egységes | 17 MIPS @ 20 MHz 0,65 DMIPS/MHz | ||
ARM7 | ARMv3 | ARM700 | 8 KB egységes | 40 MHz | |
ARM710 | Az ARM700-hoz hasonlóan nincs társprocesszor busz | 8 KB egységes | 40 MHz | ||
ARM710a | Mint az ARM710 | 8 KB egységes | 40MHz 0,68DMIPS /MHz | ||
ARM7TDMI | ARMv4T | ARM7TDMI(-S) | 3 fokozatú szállítószalag, hüvelykujj. Az ARMv4 elhagyta a 26 bites címzést | Nem | 15 MIPS @ 16,8 MHz 63 DMIPS @ 70 MHz |
ARM710T | Az ARM7TDMI-hez hasonlóan gyorsítótárral is rendelkezik | 8 KB, egységes, MMU | 36 MIPS @ 40 MHz | ||
ARM720T | Az ARM7TDMI-hez hasonlóan gyorsítótárral rendelkezik | 8 KB, egységes, MMU ( FCSE -vel - Fast Context Switch Extension ) | 60 MIPS @ 59,8 MHz | ||
ARM740T | Az ARM7TDMI-hez hasonlóan gyorsítótárral rendelkezik | MPU | |||
ARM7EJ | ARMv5TEJ | ARM7EJ-S | 5 Stage Pipeline, Thumb, Jazelle DBX, Advanced DSP Instructions | Nem | |
ARM8 | ARMv4 | ARM810 [4] [5] | 5 fokozatú csővezeték, statikus elágazás előrejelző, megduplázza a memória sávszélességét | 8 KB, egységes, MMU | 84 MIPS @ 72 MHz 1,16 DMIPS/MHz |
ARM9 TDMI | ARMv4T | ARM9TDMI | 5 fokozatú szállítószalag, hüvelykujj | Nem | |
ARM920T | Mint az ARM9TDMI, gyorsítótárak | 16 KB / 16 KB MMU FCSE-vel ( Fast Context Switch Extension ) [6] | 200 MIPS @ 180 MHz | ||
ARM922T | Mint az ARM9TDMI, gyorsítótárak | 8 KB / 8 KB, MMU | |||
ARM940T | Mint az ARM9TDMI, gyorsítótárak | 4 KB / 4 KB MPU | |||
ARM9E | ARMv5TE | ARM946E-S | Hüvelykujj, DSP, gyorsítótárak | Különféle, szorosan csatolt memória (TCM), MPU | |
ARM966E-S | Hüvelykujj, DSP | TCM gyorsítótár és memória nélkül | |||
ARM968E-S | Mint az ARM966E-S | Gyorsítótár és TCM nélkül | |||
ARMv5TEJ | ARM926EJ-S | Hüvelykujj, Jazelle DBX, DSP | Különféle, TCM, MMU | 220 MIPS @ 200 MHz | |
ARMv5TE | ARM996HS | Processzor órajel nélkül, a többi ugyanaz, mint az ARM966E-S | Nincs gyorsítótár, TCM, MPU | ||
ARM10E | ARMv5TE | ARM1020E | 6 lépcsős csővezeték, hüvelykujj, DSP, (VFP) | 32 KB / 32 KB MMU | |
ARM1022E | Mint az ARM1020E | 16 KB / 16 KB, MMU | |||
ARMv5TEJ | ARM1026EJ-S | Thumb, Jazelle DBX, DSP, (VFP) | Különféle, MMU vagy MPU | ||
ARM11 | ARMv6 | ARM1136J(F)-S [7] | 8 fokozatú csővezeték, SIMD , hüvelykujj, Jazelle DBX, (VFP), DSP | Különféle, MMU | 740 @ 532-665MHz (i.MX31 SoC), 400-528MHz |
ARMv6T2 | ARM1156T2(F)-S | 8 fokozatú csővezeték, SIMD , Thumb-2, (VFP), DSP | Különféle, MPU | ||
ARMv6Z | ARM1176JZ(F)-S | Mint az ARM1136EJ(F)-S | Különféle, MMU + TrustZone | 965 DMIPS @ 772 MHz, akár 2600 DMIPS 4 processzorral [8] | |
ARMv6K | ARM11MPCore | Mint ARM1136EJ(F)-S, SMP 1-4 maggal | Különféle, MMU | ||
SecurCore | ARMv6-M | SC000 | 0,9DMIPS/MHz | ||
ARMv4T | SC100 | ||||
ARMv7-M | SC300 | 1,25 DMIPS/MHz | |||
Cortex-M | ARMv6-M | Cortex-M0 [9] | Mikrokontroller profil, hüvelykujj + hüvelykujj-2 részhalmaz (BL, MRS, MSR, ISB, DSB, DMB), [10] hardveres szorzás, opcionális rendszeridőzítő és bitsávos memória | Opcionális gyorsítótár, nincs TCM, nincs MPU | 0,84DMIPS/MHz |
Cortex-M0+ [11] | Mikrokontroller, a hüvelykujj és a hüvelykujj-2 részhalmaza (BL, MRS, MSR, ISB, DSB, DMB), [10] hardveres szorzás, opcionális rendszeridőzítő és bitsávos memória | Opcionális gyorsítótár, nincs TCM, választható 8 régiós MPU | 0,93 DMIPS/MHz | ||
Cortex-M1 [12] | Mikrokontroller, hüvelykujj és hüvelykujj-2 részhalmaza (BL, MRS, MSR, ISB, DSB, DMB), [10] hardveres szorzó, SVC opció/bank a veremmutatóhoz, opcionális rendszeridőzítő, nincs "bitsávos" memória | Opcionális gyorsítótár, 0-1024 KB I-TCM, 0-1024 KB D-TCM, nincs MPU | 136 DMIPS @ 170 MHz [13] (0,8 DMIPS/MHz FPGA-függő) [14] | ||
ARMv7-M | Cortex-M3 [15] | Mikrokontroller, Thumb / Thumb-2, hardveres szorzás és osztás, opcionális bitsávos memória | Opcionális gyorsítótár, nincs TCM, választható 8 régiós MPU | 1,25 DMIPS/MHz | |
ARMv7E-M | Cortex-M4 [16] | Mikrokontroller, Thumb / Thumb-2 / DSP / opcionális FPv4 bővítmény az egyszeri pontossághoz, hardveres szorzáshoz és osztáshoz, opcionális bitsávos memória | Opcionális gyorsítótár, nincs TCM, választható 8 régiós MPU | 1,25 DMIPS/MHz (1,27 FPU FPv4-el) | |
ARMv7E-M | Cortex-M7 [17] | Mikrokontroller, Thumb / Thumb-2 / DSP / opcionális egyszeres és dupla precíziós FPU, hardveres szorzás és osztás | 0-64 KB I-gyorsítótár, 0-64 KB D-gyorsítótár, 0-16 MB I-TCM, 0-16 MB D-TCM (mindegyik opcionális ECC-vel), Opcionális 8 vagy 16 régiós MPU | 2.14DMIPS/MHz | |
ARMv8-M alapvonal | Cortex-M23 | ARM TrustZone | 0,98DMIPS/MHz
2,5 CoreMark /MHz | ||
ARMv8-M fővonal | Cortex-M33 | ARM TrustZone | 1,5DMIPS/MHz
3,86 CoreMark/MHz | ||
Cortex-R | ARMv7-R | Cortex-R4 [18] | Valós idejű profil, Thumb / Thumb-2 / DSP / opcionális VFPv3 FPU, hardveres szorzás és opcionális osztás, opcionális paritás és ECC belső buszokhoz, gyorsítótár, TCM, 8 fokozatú csővezeték, két mag lockstep módban hibakezelési logikával | 0-64 KB / 0-64 KB, 0-2 / 0-8 MB TCM, opcionális 8 vagy 12 MPU | |
Cortex-R5 (MPCore) [19] | Valós idejű profil, Thumb / Thumb-2 / DSP / opcionális VFPv3 FPU, hardveres szorzás és opcionális felosztás, opcionális paritás és ECC belső buszokhoz, gyorsítótár, TCM, 8 fokozatú csővezeték, két mag lockstep módban hibakezelési logikával. Opcionálisan két mag is működhet függetlenként. Alacsony késleltetésű periféria port (LLPP), gyorsító koherencia port (ACP) [20] | 0-64 KB / 0-64 KB, 0-2 / 0-8 MB TCM, op. MPU 12 vagy 16 | |||
Cortex-R7 (MPCore) [21] | Valós idejű profil, Thumb / Thumb-2 / DSP / opcionális VFPv3 FPU, hardveres szorzás és opcionális felosztás, opcionális paritás és ECC a belső buszokhoz, gyorsítótár, TCM, 11 fokozatú csővezeték, két mag lockstep módban hibakezelési logikával. A kernelek rendetlenek, dinamikus regiszter átnevezéssel. Opcionálisan két mag is működhet függetlenként. Alacsony késleltetésű periféria port (LLPP), gyorsító koherencia port (ACP) [20] | 0-64 KB / 0-64 KB, ? 0-128 KB TCM, op. MPU 16-nál | |||
Cortex-A | ARMv7-A | Cortex-A5 [22] | Alkalmazásprofil, ARM / Thumb / Thumb-2 / DSP / SIMD / opcionális VFPv4-D16 FPU / opcionális NEON / Jazelle RCT és DBX, 1-4 mag, opcionális MPCore, SCU, snoop vezérlőegység, General Interrupt Controller (GIC), Accelerator Coherence Port (ACP) | 4-64 KB / 4-64 KB L1, MMU + TrustZone | 1,57 DMIPS/MHz magonként |
Cortex-A7 MPCore [23] | Alkalmazásprofil, ARM / Thumb / Thumb-2 / DSP / VFPv4-D16 FPU / NEON / Jazelle RCT és DBX / hardveres virtualizáció, rendelésen belüli végrehajtás, szuperskalár, SMP 1-4 maghoz, nagy fizikai cím kiterjesztések (LPAE), Snooping Control Unit (SCU), General Interrupt Controller (GIC), Accelerator Coherence Port (ACP). Az architektúra és a bővítmények készlete megegyezik a Cortex-A15-tel. 8-10 szakasz egy csővezetékben, csökkentett energiafogyasztás [24] | 32 KB / 32 KB L1, 0-4 MB L2, MMU + TrustZone | 1,9 DMIPS/MHz magonként | ||
Cortex-A8 [25] | Alkalmazásprofil, ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT és DAC, 13 fokozatú szuperskalár | 16-32 KB / 16-32 KB L1, 0-1 MB L2 opt. ECC, MMU + TrustZone | 2000-ig (2,0 DMIPS/MHz 600 MHz-től 1 GHz felett ) | ||
Cortex-A9 MPCore [26] | Alkalmazásprofil, ARM / Thumb / Thumb-2 / DSP / opcionális VFPv3 FPU / opcionális NEON / Jazelle RCT és DBX, soron kívüli végrehajtás spekulatív, szuperskaláris, SMP-vel 1-4 maghoz, vezérlőegység snooping (SCU), közös megszakításvezérlő (GIC), gyorsító koherencia port (ACP). | 16-64 KB / 16-64 KB L1, 0-8 MB L2 opt. paritás, MMU + TrustZone | 2,5 DMIPS/MHz magonként, 10 000 DMIPS @ 2 GHz TSMC 40G folyamattechnológián (két mag) | ||
A Cortex-A12 [27] később egyesült az A17 -tel | Alkalmazásprofil, ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / hardveres virtualizáció, soron kívüli spekulatív végrehajtás, szuperskalár, 1-4 magos SMP, nagy fizikai címkiterjesztések (LPAE), snoop vezérlőegység (SCU), vezérlő közös megszakításai (GIC), gyorsító koherencia portja (ACP). | 32-64KB/32KB L1, 256KB-8MB L2 | 3,0 DMIPS/MHz magonként | ||
Cortex-A15 MPCore [28] | Alkalmazásprofil, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / integer division / MAC (kombinált szorzás-összeadás) / Jazelle RCT / hardveres virtualizáció, soron kívüli spekulatív végrehajtás, szuperskalár, SMP 1-4 magok, nagy fizikai címkiterjesztések (LPAE), leskelődő vezérlőegység (SCU), általános megszakításvezérlő (GIC), gyorsító koherencia port (ACP). 15-24 szakaszos csővezeték [24] | 32 KB paritás / 32 KB ECC L1, 0-4 MB L2 ECC, MMU + TrustZone | Legalább 3,5 DMIPS/MHz magonként (a megvalósítástól függően akár 4,01 DMIPS/MHz) [29] | ||
Cortex-A17MPCore | Alkalmazásprofil, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / integer division / MAC (kombinált szorzás-összeadás) / Jazelle RCT / hardveres virtualizáció, soron kívüli spekulatív végrehajtás, szuperskalár, SMP 1-4 magok, nagy fizikai címkiterjesztések (LPAE), leskelődő vezérlőegység (SCU), általános megszakításvezérlő (GIC), gyorsító koherencia port (ACP). | MMU + TrustZone | |||
Cortex-A50 | ARMv8-A | Cortex-A53 [30] | Alkalmazásprofil, AArch32 és AArch64, SMP 1-4 maghoz, Trustzone, továbbfejlesztett NEON SIMD, VFPv4, hardveres virtualizáció, ciklusonként akár két utasítás futtatása, soron belüli folyamatvégrehajtás | 8-64 KB paritás / 8-64 KB ECC L1 magonként, 128 KB-2 MB megosztott L2, 40 bites fizikai címek | 2,3DMIPS/MHz |
Cortex-A57 [31] | Alkalmazásprofil, AArch32 és AArch64, SMP 1-4 mag, Trustzone, továbbfejlesztett NEON SIMD, VFPv4, hardveres virtualizáció, többutasításos hurok, mély, rendellenes végrehajtás | 48 KB dupla paritás (DED) / 32 KB L1 magonként ECC-vel, 512 KB-2 MB megosztott L2, 44 bites fizikai címek | Legalább 4,1 DMIPS/MHz magonként (a megvalósítástól függően akár 4,76 DMIPS/MHz) | ||
Cortex-A72 [32] | |||||
ARM család | ARM architektúra | Sejtmag | Kiegészítők | Gyorsítótárak (I/D), MMU | Tipikus MIPS @ MHz |
Harmadik felek fejlesztették ki, akik rendelkeztek az ARM építészeti engedélyével, amely lehetővé tette a védett utasítások végrehajtását.
Család | Parancskészlet | mikroarchitektúra | Hosszabbító készlet | Gyorsítótár I/D), MMU | Tipikus Tipikus MIPS @ MHz |
---|---|---|---|---|---|
Erős kar | ARMv4 | SA-110 | 5 fokozatú szállítószalag | 16 KB / 16 KB, MMU | 100-206MHz 1.0DMIPS /MHz |
SA-1100 | SA-110 fejlesztés | 16 KB / 8 KB, MMU | |||
Faraday [33] | ARMv4 | FA510 | 6 fokozatú szállítószalag | Akár 32 KB / 32 KB gyorsítótár, MPU | 1,26 DMIPS/MHz 100-200 MHz |
FA526 | Akár 32 KB / 32 KB gyorsítótár, MMU | 1,26 MIPS/MHz 166-300 MHz | |||
FA626 | 8 fokozatú szállítószalag | 32 KB / 32 KB gyorsítótár, MMU | 1,35DMIPS/MHz 500MHz | ||
ARMv5TE | FA606TE | 5 fokozatú szállítószalag | Nincs gyorsítótár, nincs MMU | 1,22DMIPS/MHz 200MHz | |
FA626TE | 8 fokozatú szállítószalag | 32 KB / 32 KB gyorsítótár, MMU | 1.43MIPS/MHz 800MHz | ||
FMP626TE | 8 lépcsős csővezeték, SMP | 1.43MIPS/MHz 500MHz | |||
FA726TE | 13 fokozatú csővezeték, óránként két utasítás fut | 2,4DMIPS/MHz 1000MHz | |||
Xscale | ARMv5TE | Xscale | 7 fokozatú csővezeték, hüvelykujj, DSP | 32 KB / 32 KB MMU | 133-400 MHz |
Bulverde | Opcionális: W MMX bővítmények , Wireless SpeedStep | 32 KB / 32 KB MMU | 312-624 MHz | ||
Monahans [34] | Opcionális: WMMX2 bővítmény | 32 KB / 32 KB (L1), opcionális L2 gyorsítótár 512 KB-ig, MMU | 1,25 GHz-ig | ||
Marvell Sheeva | ARMv5 | Feroceon | 5-8 folyamatszakasz, ciklusonként egy utasítás futtatása | 16 KB / 16 KB, MMU | 600-2000 MHz |
Jolteon | 5-8 folyamatszakasz, ciklusonként két utasítás futtatása | 32 KB / 32 KB MMU | |||
PJ1 (Mohawk) | 5-8 folyamatszakasz, ciklusonként két utasítás futtatása, WMMX2 | 32 KB / 32 KB MMU | 1,46DMIPS/MHz 1,06GHz | ||
ARMv6 / ARMv7-A | PJ4 | 6-9 folyamatszakasz, ciklusonként két utasítás futtatása, WMMX2, SMP | 32 KB / 32 KB MMU | 2,41 DMIPS/MHz 1,6 GHz | |
tátika | ARMv7-A | Skorpió [35] | 1 vagy 2 mag. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (128 bit széles) | 256 KB L2 magonként | 2,1 DMIPS/MHz magonként |
[ 35] | 1, 2 vagy 4 mag. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (128 bit széles) | 4 KB / 4 KB L0, 16 KB / 16 KB L1, 512 KB L2 magonként | 3,3 DMIPS/MHz magonként | ||
Apple A6 , Apple A6X |
ARMv7-A | Swift [36] | 2 mag. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON | L1: 32KB / 32KB, L2: 1MB | 3,5 DMIPS/MHz magonként |
Apple A7 | ARMv8-A | Ciklon | 2 mag. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 | L1: 64 KB / 64 KB, L2: 1 MB | 1,3 GHz |
Apple A8 | ARMv8-A | Ciklon | 2 mag. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 | L1: (n/a);KB, L2: (n/a);MB | 1,4 GHz |
X gén | ARMv8-A | X gén | 64 bites, ciklusonként akár 4 utasítás futtatása, SMP, 64 mag [37] | gyorsítótár, MMU, virtualizáció | 3 GHz |
Denver | ARMv8-A | Denver | 64 bites, 2 SMP mag, hardveres dekóder ciklusonként legfeljebb 2 utasításig, vagy szoftveres dinamikus újrafordítás széles utasításokra | 128 KB I / 64 KB D | 2,5 GHz-ig |
ThunderX | ARMv8-A | ThunderX | 64 bites, 2 modell: 8-16 vagy 24-48 mag (2 chip kombinálható) | 2,5 GHz-ig |