Lista arhitecturilor ARM

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 16 octombrie 2021; verificările necesită 3 modificări .

Lista de microarhitecturi ale familiei ARM de procesoare și microcontrolere , dezvoltate de ARM Holdings și grupuri terțe. Comandat de versiunea set de instrucțiuni ARM.

ARM a furnizat o listă de firme care au implementat arhitecturile ARM în sine [1] . Unele informații sunt furnizate și de Keil [2] .

O listă a nucleelor ​​proprii ale ARM este de asemenea publicată pe site-ul lor [3] .

nuclee ARM

Proiectat în ARM

Familia ARM Arhitectura ARM Nucleu Suplimente Cache (I/D), MMU MIPS tipic @ MHz
ARM1 ARMv1 ARM1 Prima implementare Nu
ARM2 ARMv2 ARM2 Instrucțiunea MUL (multiplicare) a fost adăugată la ARMv2 Nu 4 MIPS @ 8 MHz
0,33 DMIPS /MHz
ARMv2a ARM250 MEMC (MMU), GPU și coprocesor I/O integrat . Instrucțiuni SWP și SWPB adăugate la ARMv2a (schimb) Nu, MEMC1a 7 MIPS la 12 MHz
ARM3 ARMv2a ARM3 Prima memorie cache integrată 4 KB unificat 12 MIPS la 25 MHz
0,50 DMIPS/MHz
ARM6 ARMv3 ARM60 ARMv3 adaugă suport pentru adresarea memoriei pe 32 de biți (anterior pe 26 de biți) Nu 10 MIPS la 12 MHz
ARM600 Ca și în ARM60, în plus - cache și magistrală de coprocesor (pentru unitatea de procesare în virgulă mobilă FPA10) 4 KB unificat 28 MIPS la 33 MHz
ARM610 Ca și în ARM60, cache, fără magistrală de coprocesor 4 KB unificat 17 MIPS la 20 MHz
0,65 DMIPS/MHz
ARM7 ARMv3 ARM700 8 KB unificat 40 MHz
ARM710 La fel ca ARM700, fără magistrală de coprocesor 8 KB unificat 40 MHz
ARM710a Ca ARM710 8 KB unificat 40MHz 0,68DMIPS
/MHz
ARM7TDMI ARMv4T ARM7TDMI(-S) Transportor în 3 trepte, Thumb. ARMv4 a abandonat adresarea pe 26 de biți Nu 15 MIPS la 16,8 MHz
63 DMIPS la 70 MHz
ARM710T La fel ca ARM7TDMI, are în plus un cache 8 KB, unificat, MMU 36 MIPS la 40 MHz
ARM720T La fel ca ARM7TDMI, are un cache 8 KB, unificat, MMU (cu FCSE - Fast Context Switch Extension ) 60 MIPS la 59,8 MHz
ARM740T La fel ca ARM7TDMI, are un cache MPU
ARM7EJ ARMv5TEJ ARM7EJ-S Pipeline în 5 etape, Thumb, Jazelle DBX, instrucțiuni avansate DSP Nu
ARM8 ARMv4 ARM810 [4] [5] Conductă în 5 etape, predictor de ramificație static, dublarea lățimii de bandă a memoriei 8 KB, unificat, MMU 84 MIPS @ 72 MHz
1,16 DMIPS/MHz
ARM9 TDMI ARMv4T ARM9TDMI Transportor în 5 trepte, Thumb Nu
ARM920T Ca ARM9TDMI, cache-urile 16 KB / 16 KB MMU cu FCSE ( Extensie de comutare rapidă a contextului ) [6] 200 MIPS la 180 MHz
ARM922T Ca ARM9TDMI, cache-urile 8 KB / 8 KB, MMU
ARM940T Ca ARM9TDMI, cache-urile 4 KB / 4 KB MPU
ARM9E ARMv5TE ARM946E-S Thumb, DSP, cache Memorie variată, strâns cuplată (TCM), MPU
ARM966E-S Degetul mare, DSP Fără cache și memorie TCM
ARM968E-S Ca ARM966E-S Fără cache și TCM
ARMv5TEJ ARM926EJ-S Degetul mare, Jazelle DBX, DSP Diverse, TCM, MMU 220 MIPS la 200 MHz
ARMv5TE ARM996HS Procesor fără viteză de ceas, restul este la fel ca ARM966E-S Fără cache, TCM, MPU
ARM10E ARMv5TE ARM1020E Conductă în 6 etape, Thumb, DSP, (VFP) 32 KB / 32 KB MMU
ARM1022E Ca ARM1020E 16 KB / 16 KB, MMU
ARMv5TEJ ARM1026EJ-S Degetul mare, Jazelle DBX, DSP, (VFP) Diverse, MMU sau MPU
ARM11 ARMv6 ARM1136J(F)-S [7] Conductă în 8 etape, SIMD , Thumb, Jazelle DBX, (VFP), DSP Diverse, MMU 740 @ 532-665MHz (i.MX31 SoC), 400-528MHz
ARMv6T2 ARM1156T2(F)-S Conductă în 8 etape, SIMD , Thumb-2, (VFP), DSP Diverse, MPU
ARMv6Z ARM1176JZ(F)-S Ca și ARM1136EJ(F)-S Diverse, MMU + TrustZone 965 DMIPS la 772 MHz, până la 2600 DMIPS cu 4 procesoare [8]
ARMv6K ARM11MPCore Ca ARM1136EJ(F)-S, SMP cu 1-4 nuclee Diverse, MMU
SecurCore ARMv6-M SC000 0,9DMIPS/MHz
ARMv4T SC100
ARMv7-M SC300 1,25DMIPS/MHz
Cortex-M ARMv6-M Cortex-M0 [9] Profil de microcontroler, subset Thumb + Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicare hardware, temporizator de sistem opțional și memorie de bandă de biți Cache opțional, fără TCM, fără MPU 0,84DMIPS/MHz
Cortex-M0+ [11] Microcontroler, subset de Thumb și Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicare hardware, temporizator de sistem opțional și memorie de bandă de biți Cache opțional, fără TCM, MPU opțional cu 8 regiuni 0,93DMIPS/MHz
Cortex-M1 [12] Microcontroler, subset de Thumb și Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicator hardware, opțiune SVC/bancă pentru pointer de stivă, temporizator de sistem opțional, fără memorie „bit-banding” Cache opțional, 0-1024 KB I-TCM, 0-1024 KB D-TCM, fără MPU 136 DMIPS la 170 MHz [13] (0,8 DMIPS/MHz dependent de FPGA) [14]
ARMv7-M Cortex-M3 [15] Microcontroler, Thumb / Thumb-2, multiplicare și divizare hardware, memorie opțională de bandă de biți Cache opțional, fără TCM, MPU opțional cu 8 regiuni 1,25DMIPS/MHz
ARMv7E-M Cortex-M4 [16] Microcontroler, Thumb / Thumb-2 / DSP / extensie opțională FPv4 pentru precizie unică, multiplicare și divizare hardware, memorie opțională de bandă de biți Cache opțional, fără TCM, MPU opțional cu 8 regiuni 1,25 DMIPS/MHz (1,27 cu FPU FPv4)
ARMv7E-M Cortex-M7 [17] Microcontroler, Thumb / Thumb-2 / DSP / opțional FPU de precizie simplă și dublă, multiplicare și divizare hardware 0-64 KB I-cache, 0-64 KB D-cache, 0-16 MB I-TCM, 0-16 MB D-TCM (toate cu ECC opțional), MPU opțional pentru 8 sau 16 regiuni 2,14DMIPS/MHz
Linia de bază ARMv8-M Cortex-M23 ARM TrustZone 0,98DMIPS/MHz

2,5 CoreMark /MHz

ARMv8-M Mainline Cortex-M33 ARM TrustZone 1,5DMIPS/MHz

3,86 CoreMark/MHz

Cortex-R ARMv7-R Cortex-R4 [18] Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU, multiplicare hardware și divizare opțională, paritate opțională și ECC pentru magistralele interne, cache, TCM, conductă în 8 etape, două nuclee în modul lockstep cu logica de gestionare a erorilor 0-64 KB / 0-64 KB, 0-2 din 0-8 MB TCM, opțional 8 sau 12 MPU
Cortex-R5 (MPCore) [19] Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU, multiplicare hardware și divizare opțională, paritate opțională și ECC pentru magistralele interne, cache, TCM, conductă în 8 etape, două nuclee în modul lockstep cu logica de gestionare a erorilor. Opțional, două nuclee pot funcționa ca altele independente. Port periferic cu latență scăzută (LLPP), Port de coerență a acceleratorului (ACP) [20] 0-64 KB / 0-64 KB, 0-2 din 0-8 MB TCM, opt. MPU pe 12 sau 16
Cortex-R7 (MPCore) [21] Profil în timp real, Thumb / Thumb-2 / DSP / opțional VFPv3 FPU, multiplicare hardware și divizare opțională, paritate opțională și ECC pentru magistralele interne, cache, TCM, conductă în 11 etape, două nuclee în modul lockstep cu logica de gestionare a erorilor. Kernel-uri necomandate, cu redenumire dinamică a registrului. Opțional, două nuclee pot funcționa ca altele independente. Port periferic cu latență scăzută (LLPP), Port de coerență a acceleratorului (ACP) [20] 0-64 KB / 0-64 KB, ? de la 0-128 KB TCM, opt. MPU la 16
Cortex-A ARMv7-A Cortex-A5 [22] Profil aplicație, ARM / Thumb / Thumb-2 / DSP / SIMD / opțional VFPv4-D16 FPU / opțional NEON / Jazelle RCT și DBX, 1-4 nuclee, opțional MPCore, SCU, unitate de control snoop, General Interrupt Controller (GIC), Portul de coerență al acceleratorului (ACP) 4-64 KB / 4-64 KB L1, MMU + TrustZone 1,57 DMIPS/MHz per nucleu
Cortex-A7 MPCore [23] Profil de aplicație, ARM / Thumb / Thumb-2 / DSP / VFPv4-D16 FPU / NEON / Jazelle RCT și DBX / virtualizare hardware, execuție în ordine, superscalar, SMP pentru 1-4 nuclee, Extensii mari de adrese fizice (LPAE), Snooping Control Unit (SCU), General Interrupt Controller (GIC), Accelerator Coherence Port (ACP). Arhitectura și setul de extensii sunt aceleași cu Cortex-A15. 8-10 etape într-o conductă, consum redus de energie [24] 32 KB / 32 KB L1, 0-4 MB L2, MMU + TrustZone 1,9 DMIPS/MHz per nucleu
Cortex-A8 [25] Profil de aplicație, ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT și DAC, superscalar în 13 trepte 16-32 KB / 16-32 KB L1, 0-1 MB L2 opt. ECC, MMU + TrustZone până la 2000 (2,0 DMIPS/MHz de la 600 MHz la peste 1 GHz )
Cortex-A9 MPCore [26] Profil de aplicație, ARM / Thumb / Thumb-2 / DSP / opțional VFPv3 FPU / opțional NEON / Jazelle RCT și DBX, execuție necorespunzătoare cu speculativ, superscalar, SMP pentru 1-4 nuclee, control unit snooping (SCU), controler comun de întrerupere (GIC), port de coerență a acceleratorului (ACP). 16-64 KB / 16-64 KB L1, 0-8 MB L2 opt. paritate, MMU + TrustZone 2,5 DMIPS/MHz per nucleu, 10.000 DMIPS la 2 GHz pe tehnologia de proces TSMC 40G (două nuclee)
Cortex-A12 [27] a fuzionat ulterior cu A17 Profil de aplicație, ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / virtualizare hardware, execuție speculativă în afara ordinului, superscalar, SMP cu 1-4 nuclee, extensii mari de adrese fizice (LPAE), unitate de control snoop (SCU), întreruperi comune controler (GIC), portul de coerență al acceleratorului (ACP). 32-64KB/32KB L1, 256KB-8MB L2 3,0 DMIPS/MHz per nucleu
Cortex-A15 MPCore [28] Profil aplicație, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / diviziune întreagă / MAC (combinat multiplicare-adăugați) / Jazelle RCT / virtualizare hardware, execuție speculativă în afara ordinului, superscalar, SMP pentru 1-4 nuclee, extensii mari de adresă fizică (LPAE), unitate de control al scrutinului (SCU), controler general de întrerupere (GIC), port de coerență a acceleratorului (ACP). conductă în 15-24 etape [24] 32 KB Paritate / 32 KB ECC L1, 0-4 MB L2 ECC, MMU + TrustZone Cel puțin 3,5 DMIPS/MHz per nucleu (până la 4,01 DMIPS/MHz în funcție de implementare) [29]
Cortex-A17MPCore Profil aplicație, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / diviziune întreagă / MAC (combinat multiplicare-adăugați) / Jazelle RCT / virtualizare hardware, execuție speculativă în afara ordinului, superscalar, SMP pentru 1-4 nuclee, extensii mari de adresă fizică (LPAE), unitate de control al scrutinului (SCU), controler general de întrerupere (GIC), port de coerență a acceleratorului (ACP). MMU + TrustZone
Cortex-A50 ARMv8-A Cortex-A53 [30] Profil de aplicație, AArch32 și AArch64, SMP pentru 1-4 nuclee, Trustzone, NEON SIMD îmbunătățit, VFPv4, virtualizare hardware, rulare până la două instrucțiuni pe ciclu, execuție în ordine a conductei 8-64 KB paritate / 8-64 KB ECC L1 per nucleu, 128 KB-2 MB partajat L2, adrese fizice pe 40 de biți 2,3DMIPS/MHz
Cortex-A57 [31] Profil de aplicație, AArch32 și AArch64, SMP 1-4 nuclee, Trustzone, NEON SIMD îmbunătățit, VFPv4, virtualizare hardware, buclă cu mai multe instrucțiuni, execuție profundă în afara ordinului 48 KB dublă paritate (DED) / 32 KB L1 cu ECC per nucleu, 512 KB-2 MB partajat L2, 44 de biți phys. adrese Cel puțin 4,1 DMIPS/MHz per nucleu (până la 4,76 DMIPS/MHz în funcție de implementare)
Cortex-A72 [32]
Familia ARM Arhitectura ARM Nucleu Suplimente Cache (I/D), MMU MIPS tipic @ MHz

Evoluții ale altor grupuri

Dezvoltat de terți care dețineau o licență de arhitectură de la ARM care permitea implementarea instrucțiunilor proprietare.

Familie Set de comenzi microarhitectura Set extensie Cache I/D), MMU MIPS tipic tipic @ MHz
Braț puternic ARMv4 SA-110 transportor cu 5 trepte 16 KB / 16 KB, MMU 100-206MHz 1.0DMIPS
/MHz
SA-1100 Dezvoltarea SA-110 16 KB / 8 KB, MMU
Faraday [33] ARMv4 FA510 Transportor în 6 trepte Până la 32 KB / 32 KB cache, MPU 1,26 DMIPS/MHz
100-200 MHz
FA526 Până la 32 KB / 32 KB cache, MMU 1,26 MIPS/MHz
166-300 MHz
FA626 Transportor cu 8 trepte 32 KB / 32 KB cache, MMU 1,35DMIPS/MHz
500MHz
ARMv5TE FA606TE transportor cu 5 trepte Fără cache, fără MMU 1.22DMIPS/MHz
200MHz
FA626TE Transportor cu 8 trepte 32 KB / 32 KB cache, MMU 1,43 MIPS/MHz
800MHz
FMP626TE Conductă în 8 trepte, SMP 1,43 MIPS/MHz
500MHz
FA726TE Conductă în 13 etape, care rulează două instrucțiuni pe ceas 2,4DMIPS/MHz
1000MHz
Xscale ARMv5TE Xscale Conductă în 7 etape, Thumb, DSP 32 KB / 32 KB MMU 133-400 MHz
Bulverde Opțional: extensii W MMX , Wireless SpeedStep 32 KB / 32 KB MMU 312-624 MHz
Monahans [34] Opțional: extensie WMMX2 32 KB / 32 KB (L1), cache L2 opțional de până la 512 KB, MMU Până la 1,25 GHz
Marvell Sheeva ARMv5 Feroceon 5-8 etape de conductă, rulând o instrucțiune pe ciclu 16 KB / 16 KB, MMU 600-2000 MHz
Jolteon 5-8 etape de conductă, rulând două instrucțiuni pe ciclu 32 KB / 32 KB MMU
PJ1 (Mohawk) 5-8 etape de conductă, rulând două instrucțiuni pe ciclu, WMMX2 32 KB / 32 KB MMU 1,46DMIPS/MHz
1,06GHz
ARMv6 / ARMv7-A PJ4 6-9 etape de conductă, rulând două instrucțiuni pe ciclu, WMMX2, SMP 32 KB / 32 KB MMU 2,41DMIPS/MHz
1,6GHz
mucusul ARMv7-A Scorpion [35] 1 sau 2 miezuri. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (lată de 128 de biți) 256 KB L2 per nucleu 2,1 DMIPS/MHz per nucleu
[ 35] 1, 2 sau 4 nuclee. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (128 de biți lățime) 4 KB / 4 KB L0, 16 KB / 16 KB L1, 512 KB L2 per nucleu 3,3 DMIPS/MHz per nucleu
Apple A6 ,
Apple A6X
ARMv7-A Swift [36] 2 miezuri. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON L1: 32KB / 32KB, L2: 1MB 3,5 DMIPS/MHz per nucleu
Apple A7 ARMv8-A Ciclon 2 miezuri. 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 Ciclon 2 miezuri. 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 de biți, rulați până la 4 instrucțiuni pe ciclu, SMP, 64 de nuclee [37] cache, MMU, virtualizare 3 GHz
Denver ARMv8-A Denver 64 de biți, 2 nuclee SMP, decodor hardware până la 2 instrucțiuni pe ciclu sau recompilare dinamică software la instrucțiuni largi 128 KB I / 64 KB D până la 2,5 GHz
ThunderX ARMv8-A ThunderX 64 de biți, 2 modele: 8-16 sau 24-48 de nuclee (2 cipuri pot fi combinate) Până la 2,5 GHz

Vezi și

Note

  1. Line Card (PDF)  (link indisponibil) (2003). Data accesului: 6 ianuarie 2011. Arhivat din original pe 5 iunie 2011.
  2. ARM Ltd și ARM Germany GmbH. Baza de date dispozitiv . Keil. Preluat: 6 ianuarie 2011.
  3. Procesoare . ARM (2011). Preluat: 6 ianuarie 2011.
  4. ARM Holdings (7 august 1996), ARM810 – Dancing to the Beat of a Different Drum , Hot Chips , < http://www.dlhoffman.com/publiclibrary/software/hot_chips_papers/hc96/hc8_pdf/4.1.pdf > . Preluat la 21 septembrie 2013. Arhivat la 23 septembrie 2015 la Wayback Machine 
  5. VLSI Technology Now Shipping ARM810 , EE Times  (26 august 1996). Preluat la 21 septembrie 2013.
  6. Registrul 13, Registrul FCSE PID ARM920T Manual de referință tehnică
  7. ARM1136J(F)-S - Procesor ARM . arm.com. Consultat la 18 aprilie 2009. Arhivat din original pe 21 martie 2009.
  8. Familia de procesoare ARM11 . BRAŢ. Preluat: 12 decembrie 2010.
  9. Rezumatul specificațiilor Cortex-M0; ARM Holdings.
  10. 1 2 3 Cortex-M0/M0+/M1 Set de instrucțiuni; Holding A.R.M. (link indisponibil) . Consultat la 14 octombrie 2014. Arhivat din original la 18 aprilie 2013. 
  11. Rezumatul specificațiilor Cortex-M0+; ARM Holdings.
  12. Rezumatul specificațiilor Cortex-M1; ARM Holdings.
  13. ARM Holdings (19 martie 2007). ARM extinde familia Cortex cu primul procesor optimizat pentru FPGA . Comunicat de presă . Consultat la 11 aprilie 2007 .
  14. ARM Cortex-M1 . Site-ul web al produsului ARM. Recuperat la 11 aprilie 2007.
  15. Rezumatul specificațiilor Cortex-M3; ARM Holdings.
  16. Rezumatul specificațiilor Cortex-M4; ARM Holdings.
  17. Rezumatul specificațiilor Cortex-M7; ARM Holdings.
  18. Rezumatul specificațiilor Cortex-R4; ARM Holdings. (link indisponibil) . Consultat la 14 octombrie 2014. Arhivat din original la 7 iulie 2011. 
  19. Rezumatul specificațiilor Cortex-R5; ARM Holdings. (link indisponibil) . Consultat la 14 octombrie 2014. Arhivat din original la 6 iulie 2012. 
  20. 1 2 Comunicat de presă Cortex-R5 & Cortex-R7; ARM Holdings; 31 ianuarie 2011.
  21. Rezumatul specificațiilor Cortex-R7; ARM Holdings.
  22. Rezumatul specificațiilor Cortex-A5; ARM Holdings.
  23. Rezumatul specificațiilor Cortex-A7; ARM Holdings.
  24. 1 2 În adâncul noului Intel killer de la ARM , The Register (20 octombrie 2011).
  25. Rezumatul specificațiilor Cortex-A8; ARM Holdings.
  26. Rezumatul specificațiilor Cortex-A9; ARM Holdings.
  27. Cortex-A12 Rezumat; ARM Holdings. Arhivat din original pe 7 iunie 2013.
  28. Rezumatul specificațiilor Cortex-A15; ARM Holdings.
  29. Exclusiv: ARM Cortex-A15 „40%” mai rapid decât Cortex-A9 // ITProPortal.com
  30. Procesor Cortex-A53 . ARM Holdings . Preluat: 13 octombrie 2012.
  31. Procesor Cortex-A57 . ARM Holdings . Preluat: 13 octombrie 2012.
  32. Procesor Cortex-A72 . ARM Holdings . Preluat: 13 martie 2016.
  33. [1]  (link descendent)
  34. Microarhitectura Intel XScale de a treia generație: Manualul dezvoltatorului . download.intel.com . Intel (mai 2007). Preluat: 2 decembrie 2010.
  35. 1 2 Noul Snapdragon S4 al Qualcomm: MSM8960 și arhitectura Krait explorată; anandtech.
  36. Lal Shimpi, Anand SoC A6 al iPhone 5: Nu A15 sau A9, un Apple Core personalizat . AnandTech (15 septembrie 2012). Preluat: 15 septembrie 2012.
  37. Cipul cu 64 de nuclee al AppliedMicro ar putea declanșa războiul nucleului ARM | PCWorld

Literatură