Seznam architektur ARM

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 16. října 2021; kontroly vyžadují 3 úpravy .

Seznam mikroarchitektur procesorů a mikrokontrolérů rodiny ARM , vyvinutých společností ARM Holdings a skupinami třetích stran. Seřazeno podle verze instrukční sady ARM.

Společnost ARM poskytla seznam firem, které samy implementovaly architektury ARM [1] . Některé informace poskytuje i Keil [2] .

Na jejich webu je zveřejněn i seznam vlastních jader ARM [3] .

ARM jádra

Navrženo v ARM

Rodina ARM Architektura ARM Jádro Doplňky Mezipaměti (I/D), MMU Typický MIPS @ MHz
ARM1 ARMv1 ARM1 První implementace Ne
ARM2 ARMv2 ARM2 Do ARMv2 byla přidána instrukce MUL (multiply). Ne 4 MIPS při 8 MHz
0,33 DMIPS /MHz
ARMv2a ARM250 Integrovaný MEMC (MMU), GPU a I/O koprocesor. Pokyny SWP a SWPB přidány do ARMv2a (výměna) Ne, MEMC1a 7 MIPS při 12 MHz
ARM3 ARMv2a ARM3 První integrovaná mezipaměť Jednotně 4 kB 12 MIPS @ 25 MHz
0,50 DMIPS/MHz
ARM6 ARMv3 ARM60 ARMv3 přidává podporu pro 32bitové adresování paměti (dříve 26bitové) Ne 10 MIPS při 12 MHz
ARM600 Stejně jako v ARM60, navíc - mezipaměť a sběrnice koprocesoru (pro jednotku FPA10 s plovoucí desetinnou čárkou) Jednotně 4 kB 28 MIPS při 33 MHz
ARM610 Stejně jako v ARM60, mezipaměť, žádná sběrnice koprocesoru Jednotně 4 kB 17 MIPS při 20 MHz
0,65 DMIPS/MHz
ARM7 ARMv3 ARM700 8 KB sjednocených 40 MHz
ARM710 Stejně jako ARM700 žádná koprocesorová sběrnice 8 KB sjednocených 40 MHz
ARM710a Jako ARM710 8 KB sjednocených 40 MHz 0,68 DMIPS
/MHz
ARM7TDMI ARMv4T ARM7TDMI(-S) 3-stupňový dopravník, Palec. ARMv4 opustil 26bitové adresování Ne 15 MIPS při 16,8 MHz
63 DMIPS při 70 MHz
ARM710T Stejně jako ARM7TDMI má navíc mezipaměť 8 KB, unifikovaný, MMU 36 MIPS při 40 MHz
ARM720T Stejně jako ARM7TDMI má mezipaměť 8 KB, unifikovaný, MMU (s rozšířením FCSE - Fast Context Switch Extension ) 60 MIPS při 59,8 MHz
ARM740T Stejně jako ARM7TDMI má mezipaměť MPU
ARM7EJ ARMv5TEJ ARM7EJ-S 5 Stage Pipeline, Thumb, Jazelle DBX, Advanced DSP Instructions Ne
ARM8 ARMv4 ARM810 [4] [5] 5-stupňové potrubí, prediktor statické větve, zdvojnásobení šířky pásma paměti 8 KB, unifikovaný, MMU 84 MIPS při 72 MHz
1,16 DMIPS/MHz
ARM9 TDMI ARMv4T ARM9TDMI 5-stupňový dopravník, Palec Ne
ARM920T Stejně jako ARM9TDMI, mezipaměti 16 KB / 16 KB MMU s FCSE ( Fast Context Switch Extension ) [6] 200 MIPS @ 180 MHz
ARM922T Stejně jako ARM9TDMI, mezipaměti 8 KB / 8 KB, MMU
ARM940T Stejně jako ARM9TDMI, mezipaměti 4 KB / 4 KB MPU
ARM9E ARMv5TE ARM946E-S Palec, DSP, mezipaměti Různé, pevně spojené paměti (TCM), MPU
ARM966E-S Palec, DSP Bez mezipaměti a paměti TCM
ARM968E-S Jako ARM966E-S Bez mezipaměti a TCM
ARMv5TEJ ARM926EJ-S Palec, Jazelle DBX, DSP Různé, TCM, MMU 220 MIPS @ 200 MHz
ARMv5TE ARM996HS Procesor bez taktu, zbytek shodný s ARM966E-S Žádná mezipaměť, TCM, MPU
ARM10E ARMv5TE ARM1020E 6stupňové potrubí, Thumb, DSP, (VFP) 32 KB / 32 KB MMU
ARM1022E Jako ARM1020E 16 KB / 16 KB, MMU
ARMv5TEJ ARM1026EJ-S Palec, Jazelle DBX, DSP, (VFP) Různé, MMU nebo MPU
ARM11 ARMv6 ARM1136J(F)-S [7] 8stupňové potrubí, SIMD , Thumb, Jazelle DBX, (VFP), DSP Různé, MMU 740 @ 532-665 MHz (i.MX31 SoC), 400-528 MHz
ARMv6T2 ARM1156T2(F)-S 8-stupňové potrubí, SIMD , Thumb-2, (VFP), DSP Různé, MPU
ARMv6Z ARM1176JZ(F)-S Jako ARM1136EJ(F)-S Různé, MMU + TrustZone 965 DMIPS @ 772 MHz, až 2600 DMIPS se 4 procesory [8]
ARMv6K ARM11MPCore Jako ARM1136EJ(F)-S, SMP s 1-4 jádry Různé, MMU
SecurCore ARMv6-M SC000 0,9 DMIPS/MHz
ARMv4T SC100
ARMv7-M SC300 1,25 DMIPS/MHz
Cortex-M ARMv6-M Cortex-M0 [9] Profil mikrokontroléru, podmnožina Thumb + Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] hardwarové násobení, volitelný systémový časovač a paměť s bitovým pásmem Volitelná mezipaměť, bez TCM, bez MPU 0,84 DMIPS/MHz
Cortex-M0+ [11] Mikrokontrolér, podmnožina Thumb a Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] hardwarové násobení, volitelný systémový časovač a bit-banding memory Volitelná mezipaměť, žádný TCM, volitelný 8 region MPU 0,93 DMIPS/MHz
Cortex-M1 [12] Mikrokontrolér, podmnožina Thumb a Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] hardwarový násobič, možnost/banka SVC pro ukazatel zásobníku, volitelný systémový časovač, žádná paměť „bit-banding“ Volitelná mezipaměť, 0-1024 KB I-TCM, 0-1024 KB D-TCM, bez MPU 136 DMIPS při 170 MHz [13] (závisí na FPGA 0,8 DMIPS/MHz) [14]
ARMv7-M Cortex-M3 [15] Mikrokontrolér, Thumb / Thumb-2, hardwarové násobení a dělení, volitelná bit-banding memory Volitelná mezipaměť, žádný TCM, volitelný 8 region MPU 1,25 DMIPS/MHz
ARMv7E-M Cortex-M4 [16] Mikrokontrolér, Thumb / Thumb-2 / DSP / volitelné rozšíření FPv4 pro jednoduchou přesnost, hardwarové násobení a dělení, volitelná paměť bit-banding Volitelná mezipaměť, žádný TCM, volitelný 8 region MPU 1,25 DMIPS/MHz (1,27 s FPU FPv4)
ARMv7E-M Cortex-M7 [17] Mikrokontrolér, Thumb / Thumb-2 / DSP / volitelná jednoduchá a dvojitá přesnost FPU, hardwarové násobení a dělení 0-64 KB I-cache, 0-64 KB D-cache, 0-16 MB I-TCM, 0-16 MB D-TCM (vše s volitelným ECC), volitelný 8 nebo 16 region MPU 2,14 DMIPS/MHz
Základní linie ARMv8-M Cortex-M23 ARM TrustZone 0,98 DMIPS/MHz

2,5 CoreMark /MHz

Hlavní řada ARMv8-M Cortex-M33 ARM TrustZone 1,5 DMIPS/MHz

3,86 CoreMark/MHz

Cortex-R ARMv7-R Cortex-R4 [18] Profil v reálném čase, Thumb / Thumb-2 / DSP / volitelný FPU VFPv3, hardwarové násobení a volitelné dělení, volitelná parita a ECC pro interní sběrnice, mezipaměť, TCM, 8stupňové potrubí, dvě jádra v režimu lockstep s logikou zpracování chyb 0-64 KB / 0-64 KB, 0-2 z 0-8 MB TCM, volitelně 8 nebo 12 MPU
Cortex-R5 (MPCore) [19] Profil v reálném čase, Thumb / Thumb-2 / DSP / volitelně VFPv3 FPU, hardwarové násobení a volitelné dělení, volitelná parita a ECC pro interní sběrnice, mezipaměť, TCM, 8stupňové potrubí, dvě jádra v režimu lockstep s logikou zpracování chyb. Volitelně mohou dvě jádra pracovat jako nezávislá. Periferní port s nízkou latencí (LLPP), koherenční port akcelerátoru (ACP) [20] 0-64 KB / 0-64 KB, 0-2 z 0-8 MB TCM, opt. MPU na 12 nebo 16
Cortex-R7 (MPCore) [21] Profil v reálném čase, Thumb / Thumb-2 / DSP / volitelný VFPv3 FPU, hardwarové násobení a volitelné dělení, volitelná parita a ECC pro interní sběrnice, mezipaměť, TCM, 11-stupňové potrubí, dvě jádra v režimu lockstep s logikou zpracování chyb. Jádra mimo provoz, s dynamickým přejmenováním registrů. Volitelně mohou dvě jádra pracovat jako nezávislá. Periferní port s nízkou latencí (LLPP), koherenční port akcelerátoru (ACP) [20] 0-64 KB / 0-64 KB, ? od 0-128 KB TCM, opt. MPU v 16
Cortex-A ARMv7-A Cortex-A5 [22] Aplikační profil, ARM / Thumb / Thumb-2 / DSP / SIMD / volitelně VFPv4-D16 FPU / volitelně NEON / Jazelle RCT a DBX, 1-4 jádro, volitelně MPCore, SCU, snoop control unit, General Interrupt Controller (GIC), Accelerator Coherence Port (ACP) 4-64 KB / 4-64 KB L1, MMU + TrustZone 1,57 DMIPS/MHz na jádro
Cortex-A7 MPCore [23] Aplikační profil, ARM / Thumb / Thumb-2 / DSP / VFPv4-D16 FPU / NEON / Jazelle RCT a DBX / hardwarová virtualizace, provádění v pořadí, superskalární, SMP pro 1-4 jádra, rozšíření velkých fyzických adres (LPAE), Snooping Control Unit (SCU), General Interrupt Controller (GIC), Accelerator Coherence Port (ACP). Architektura a sada rozšíření jsou stejné jako u Cortex-A15. 8-10 stupňů v potrubí, snížená spotřeba energie [24] 32 KB / 32 KB L1, 0–4 MB L2, MMU + TrustZone 1,9 DMIPS/MHz na jádro
Cortex-A8 [25] Aplikační profil, ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT a DAC, 13stupňový superskalární 16-32 KB / 16-32 KB L1, 0-1 MB L2 opt. ECC, MMU + TrustZone až 2000 (2,0 DMIPS/MHz od 600 MHz do více než 1 GHz )
Cortex-A9 MPCore [26] Aplikační profil, ARM / Thumb / Thumb-2 / DSP / volitelně VFPv3 FPU / volitelně NEON / Jazelle RCT a DBX, provedení mimo pořadí se spekulativním, superskalárním, SMP pro 1-4 jádra, snooping řídicí jednotky (SCU), společný řadič přerušení (GIC), akcelerátor koherenční port (ACP). 16-64 KB / 16-64 KB L1, 0-8 MB L2 opt. parita, MMU + TrustZone 2,5 DMIPS/MHz na jádro, 10 000 DMIPS @ 2 GHz na procesní technologii TSMC 40G (dvě jádra)
Cortex-A12 [27] se později spojil s A17 Aplikační profil, ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / hardwarová virtualizace, spekulativní provádění mimo pořadí, superskalární, 1-4 jádrový SMP, rozšíření velkých fyzických adres (LPAE), snoop řídící jednotka (SCU), běžná přerušení řadiče (GIC), koherenční port akcelerátoru (ACP). 32-64KB/32KB L1, 256KB-8MB L2 3,0 DMIPS/MHz na jádro
Cortex-A15 MPCore [28] Profil aplikace, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / celočíselné dělení / MAC (kombinované multiply-add) / Jazelle RCT / hardwarová virtualizace, spekulativní provádění mimo pořadí, superskalární, SMP pro 1-4 jádra, Large Physical Address Extensions (LPAE), Snooping Control Unit (SCU), General Interrupt Controller (GIC), Accelerator Coherence Port (ACP). 15-24stupňové potrubí [24] 32 KB parita / 32 KB ECC L1, 0–4 MB L2 ECC, MMU + TrustZone Alespoň 3,5 DMIPS/MHz na jádro (až 4,01 DMIPS/MHz v závislosti na implementaci) [29]
Cortex-A17MPCore Profil aplikace, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / celočíselné dělení / MAC (kombinované multiply-add) / Jazelle RCT / hardwarová virtualizace, spekulativní provádění mimo pořadí, superskalární, SMP pro 1-4 jádra, Large Physical Address Extensions (LPAE), Snooping Control Unit (SCU), General Interrupt Controller (GIC), Accelerator Coherence Port (ACP). MMU + TrustZone
Cortex-A50 ARMv8-A Cortex-A53 [30] Aplikační profil, AArch32 a AArch64, SMP pro 1-4 jádra, Trustzone, vylepšený NEON SIMD, VFPv4, virtualizace hardwaru, spouštění až dvou instrukcí za cyklus, spouštění potrubí v pořadí 8–64 KB parita / 8–64 KB ECC L1 na jádro, 128 KB–2 MB sdílená L2, 40bitové fyzické adresy 2,3 DMIPS/MHz
Cortex-A57 [31] Aplikační profil, AArch32 a AArch64, SMP 1-4 jádra, Trustzone, vylepšený NEON SIMD, VFPv4, virtualizace hardwaru, cyklování více instrukcí, provádění hlubokého out-of-order 48 KB dvojitá parita (DED) / 32 KB L1 s ECC na jádro, 512 KB-2 MB sdílená L2, 44bitový fyz. adresy Alespoň 4,1 DMIPS/MHz na jádro (až 4,76 DMIPS/MHz v závislosti na implementaci)
Cortex-A72 [32]
Rodina ARM Architektura ARM Jádro Doplňky Mezipaměti (I/D), MMU Typický MIPS @ MHz

Vývoj jiných skupin

Vyvinuto třetími stranami, které měly architektonickou licenci od ARM, která umožňovala implementaci proprietárních instrukcí.

Rodina Sada příkazů mikroarchitektura Sada rozšíření Cache I/D), MMU Typický typický MIPS @ MHz
StrongARM ARMv4 SA-110 5stupňový dopravník 16 KB / 16 KB, MMU 100-206 MHz 1,0 DMIPS
/MHz
SA-1100 Vývoj SA-110 16 KB / 8 KB, MMU
Faraday [33] ARMv4 FA510 6-stupňový dopravník Mezipaměť až 32 KB / 32 KB, MPU 1,26 DMIPS/MHz
100-200 MHz
FA526 Mezipaměť až 32 KB / 32 KB, MMU 1,26 MIPS/MHz
166-300 MHz
FA626 8-stupňový dopravník 32 KB / 32 KB mezipaměť, MMU 1,35 DMIPS/MHz
500 MHz
ARMv5TE FA606TE 5stupňový dopravník Žádná mezipaměť, žádná MMU 1,22 DMIPS/MHz
200 MHz
FA626TE 8-stupňový dopravník 32 KB / 32 KB mezipaměť, MMU 1,43 MIPS/MHz
800 MHz
FMP626TE 8-stupňové potrubí, SMP 1,43 MIPS/MHz
500 MHz
FA726TE 13-stupňová pipeline, běžící dvě instrukce na takt
2,4 DMIPS /MHz 1000 MHz
Xscale ARMv5TE Xscale 7-stupňové potrubí, Thumb, DSP 32 KB / 32 KB MMU 133-400 MHz
Bulverde Volitelné: W MMX ​​​​rozšíření , Wireless SpeedStep 32 KB / 32 KB MMU 312-624 MHz
Monahans [34] Volitelné: rozšíření WMMX2 32 KB / 32 KB (L1), volitelná mezipaměť L2 až 512 KB, MMU Až 1,25 GHz
Marvell Sheeva ARMv5 Feroceon 5-8 fází potrubí, běh jedné instrukce na cyklus 16 KB / 16 KB, MMU 600-2000 MHz
Jolteon 5-8 fází potrubí, běh dvou instrukcí na cyklus 32 KB / 32 KB MMU
PJ1 (Mohawk) 5-8 fází potrubí, běh dvou instrukcí na cyklus, WMMX2 32 KB / 32 KB MMU 1,46 DMIPS/MHz
1,06 GHz
ARMv6 / ARMv7-A PJ4 6-9 fází potrubí, běh dvou instrukcí za cyklus, WMMX2, SMP 32 KB / 32 KB MMU 2,41 DMIPS/MHz
1,6 GHz
hledík ARMv7-A štír [35] 1 nebo 2 jádra. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (128bitová šířka) 256 KB L2 na jádro 2,1 DMIPS/MHz na jádro
[ 35] 1, 2 nebo 4 jádra. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (128bitová šířka) 4 KB / 4 KB L0, 16 KB / 16 KB L1, 512 KB L2 na jádro 3,3 DMIPS/MHz na jádro
Apple A6 ,
Apple A6X
ARMv7-A Swift [36] 2 jádra. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON L1: 32 kB / 32 kB, L2: 1 MB 3,5 DMIPS/MHz na jádro
Apple A7 ARMv8-A Cyklón 2 jádra. 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 Cyklón 2 jádra. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 L1: (n/a); KB, L2: (n/a); MB 1,4 GHz
X Gene ARMv8-A X Gene 64-bit, spustit až 4 instrukce za cyklus, SMP, 64 jader [37] cache, MMU, virtualizace 3 GHz
Denver ARMv8-A Denver 64bitová, 2 SMP jádra, hardwarový dekodér až 2 instrukce za cyklus nebo softwarová dynamická rekompilace na široké instrukce 128 KB I / 64 KB D až 2,5 GHz
ThunderX ARMv8-A ThunderX 64-bit, 2 modely: 8-16 nebo 24-48 jader (lze kombinovat 2 čipy) Až 2,5 GHz

Viz také

Poznámky

  1. Line Card (PDF)  (nedostupný odkaz) (2003). Datum přístupu: 6. ledna 2011. Archivováno z originálu 5. června 2011.
  2. ARM Ltd a ARM Germany GmbH. Databáze zařízení . Keil. Staženo: 6. ledna 2011.
  3. Procesory . ARM (2011). Staženo: 6. ledna 2011.
  4. ARM Holdings (7. srpna 1996), ARM810 – Tanec do rytmu jiného bubnu , Hot Chips , < http://www.dlhoffman.com/publiclibrary/software/hot_chips_papers/hc96/hc8_pdf/4.1.pdf > . Získáno 21. září 2013. Archivováno 23. září 2015 na Wayback Machine 
  5. VLSI Technology Now Shipping ARM810 , EE Times  (26. srpna 1996). Staženo 21. září 2013.
  6. Registr 13, FCSE PID registr ARM920T Technical Reference Manual
  7. ARM1136J(F)-S - Procesor ARM . arm.com. Získáno 18. dubna 2009. Archivováno z originálu 21. března 2009.
  8. Rodina procesorů ARM11 . PAŽE. Staženo: 12. prosince 2010.
  9. Souhrn specifikace Cortex-M0; Holdings ARM.
  10. 1 2 3 Cortex-M0/M0+/M1 Instrukční sada; Holding A.R.M. (nedostupný odkaz) . Získáno 14. října 2014. Archivováno z originálu 18. dubna 2013. 
  11. Souhrn specifikace Cortex-M0+; Holdings ARM.
  12. Souhrn specifikace Cortex-M1; Holdings ARM.
  13. ARM Holdings (19. března 2007). ARM rozšiřuje rodinu Cortex o první procesor optimalizovaný pro FPGA . Tisková zpráva . Získáno 11. dubna 2007 .
  14. ARM Cortex-M1 . Webové stránky produktu ARM. Staženo 11. dubna 2007.
  15. Souhrn specifikace Cortex-M3; Holdings ARM.
  16. Souhrn specifikace Cortex-M4; Holdings ARM.
  17. Souhrn specifikace Cortex-M7; Holdings ARM.
  18. Souhrn specifikace Cortex-R4; Holdings ARM. (nedostupný odkaz) . Získáno 14. října 2014. Archivováno z originálu 7. července 2011. 
  19. Souhrn specifikace Cortex-R5; Holdings ARM. (nedostupný odkaz) . Získáno 14. října 2014. Archivováno z originálu 6. července 2012. 
  20. 1 2 Tisková zpráva Cortex-R5 & Cortex-R7; ARM Holdings; 31. ledna 2011.
  21. Souhrn specifikace Cortex-R7; Holdings ARM.
  22. Souhrn specifikace Cortex-A5; Holdings ARM.
  23. Souhrn specifikace Cortex-A7; Holdings ARM.
  24. 1 2 Hluboko uvnitř nového Intel zabijáka ARM , The Register (20. října 2011).
  25. Souhrn specifikace Cortex-A8; Holdings ARM.
  26. Souhrn specifikace Cortex-A9; Holdings ARM.
  27. Souhrn Cortex-A12; Holdings ARM. Archivováno z originálu 7. června 2013.
  28. Souhrn specifikace Cortex-A15; Holdings ARM.
  29. Exkluzivně: ARM Cortex-A15 „40 procent“ rychlejší než Cortex-A9 // ITProPortal.com
  30. Procesor Cortex-A53 . Holdings ARM . Staženo: 13. října 2012.
  31. Procesor Cortex-A57 . Holdings ARM . Staženo: 13. října 2012.
  32. Procesor Cortex-A72 . Holdings ARM . Staženo: 13. března 2016.
  33. [1]  (odkaz dolů)
  34. Mikroarchitektura Intel XScale 3. generace: Příručka pro vývojáře . download.intel.com . Intel (květen 2007). Staženo: 2. prosince 2010.
  35. 1 2 Nový Snapdragon S4 od Qualcommu: MSM8960 & Krait Architecture Explore; anandtech.
  36. Lal Shimpi, Anand SoC A6 pro iPhone 5: Ne A15 nebo A9, místo toho vlastní jádro Apple . AnandTech (15. září 2012). Staženo: 15. září 2012.
  37. 64jádrový čip AppliedMicro by mohl rozpoutat válku jader ARM | PC svět

Literatura