Lista de arquitecturas ARM

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de octubre de 2021; las comprobaciones requieren 3 ediciones .

Lista de la familia ARM de microarquitecturas de procesadores y microcontroladores , desarrollada por ARM Holdings y grupos de terceros. Ordenado por versión del conjunto de instrucciones ARM.

ARM proporcionó una lista de empresas que implementaron arquitecturas ARM ellas mismas [1] . Keil [2] también proporciona cierta información .

También se publica una lista de los propios núcleos de ARM en su sitio web [3] .

Núcleos ARM

Diseñado en ARM

familia ARM arquitectura BRAZO Núcleo Complementos Cachés (I/D), MMU MIPS típicos a MHz
ARM1 ARMv1 ARM1 Primera implementación No
ARM2 ARMv2 ARM2 Se agregó la instrucción MUL (multiplicar) a ARMv2 No 4 MIPS a 8 MHz
0,33 DMIPS /MHz
ARMv2a ARM250 Coprocesador integrado de MEMC (MMU), GPU y E/S. Se agregaron instrucciones SWP y SWPB a ARMv2a (intercambio) No, MEMC1a 7 MIPS a 12 MHz
ARM3 ARMv2a ARM3 Primera memoria caché integrada 4 KB unificados 12 MIPS a 25 MHz
0,50 DMIPS/MHz
BRAZO6 ARMv3 ARM60 ARMv3 agrega soporte para direccionamiento de memoria de 32 bits (anteriormente de 26 bits) No 10 MIPS a 12 MHz
ARM600 Al igual que en ARM60, además: caché y bus de coprocesador (para la unidad de procesamiento de coma flotante FPA10) 4 KB unificados 28 MIPS a 33 MHz
ARM610 Como en ARM60, caché, sin bus de coprocesador 4 KB unificados 17 MIPS a 20 MHz
0,65 DMIPS/MHz
ARM7 ARMv3 ARM700 8 KB unificados 40 MHz
ARM710 Como ARM700, sin bus de coprocesador 8 KB unificados 40 MHz
ARM710a Me gusta ARM710 8 KB unificados 40 MHz 0,68 DMIPS
/MHz
ARM7TDMI ARMv4T ARM7TDMI(-S) Transportador de 3 etapas, Pulgar. ARMv4 abandonó el direccionamiento de 26 bits No 15 MIPS a 16,8 MHz
63 DMIPS a 70 MHz
ARM710T Al igual que ARM7TDMI, también tiene un caché 8 KB, unificado, MMU 36 MIPS a 40 MHz
ARM720T Como ARM7TDMI, tiene un caché 8 KB, unificado, MMU (con FCSE - extensión de cambio de contexto rápido ) 60 MIPS a 59,8 MHz
ARM740T Como ARM7TDMI, tiene un caché MPU
ARM7EJ ARMv5TEJ ARM7EJ-S Pipeline de 5 etapas, pulgar, Jazelle DBX, instrucciones DSP avanzadas No
ARM8 ARMv4 ARM810 [4] [5] Tubería de 5 etapas, predictor de rama estática, duplicación del ancho de banda de la memoria 8 KB, unificado, MMU 84 MIPS a 72 MHz
1,16 DMIPS/MHz
ARM9 TDMI ARMv4T ARM9TDMI Transportador de 5 etapas, Pulgar No
ARM920T Como ARM9TDMI, cachés MMU de 16 KB/16 KB con FCSE ( extensión de cambio de contexto rápido ) [6] 200 MIPS a 180 MHz
ARM922T Como ARM9TDMI, cachés 8 KB/8 KB, MMU
ARM940T Como ARM9TDMI, cachés MPU de 4 KB/4 KB
ARM9E ARMv5TE ARM946E-S Pulgar, DSP, cachés Varios, memoria estrechamente acoplada (TCM), MPU
ARM966E-S Pulgar, DSP Sin caché y memoria TCM
ARM968E-S Como ARM966E-S Sin caché y TCM
ARMv5TEJ ARM926EJ-S Pulgar, Jazelle DBX, DSP Varios, TCM, MMU 220 MIPS a 200 MHz
ARMv5TE BRAZO996HS Procesador sin velocidad de reloj, el resto es igual que ARM966E-S Sin caché, TCM, MPU
ARM10E ARMv5TE ARM1020E Tubería de 6 etapas, pulgar, DSP, (VFP) MMU de 32 KB/32 KB
ARM1022E Me gusta ARM1020E 16 KB/16 KB, MMU
ARMv5TEJ ARM1026EJ-S Pulgar, Jazelle DBX, DSP, (VFP) Varios, MMU o MPU
BRAZO11 ARMv6 BRAZO1136J(F)-S [7] Tubería de 8 etapas, SIMD , pulgar, Jazelle DBX, (VFP), DSP Varios, MMU 740 a 532-665 MHz (SoC i.MX31), 400-528 MHz
ARMv6T2 ARM1156T2(F)-S Canalización de 8 etapas, SIMD , Thumb-2, (VFP), DSP Varios, MPU
ARMv6Z BRAZO1176JZ(F)-S Como ARM1136EJ(F)-S Varios, MMU + TrustZone 965 DMIPS @ 772 MHz, hasta 2600 DMIPS con 4 procesadores [8]
ARMv6K ARM11MPCore Como ARM1136EJ(F)-S, SMP con 1-4 núcleos Varios, MMU
SecurCore ARMv6-M SC000 0.9DMIPS/MHz
ARMv4T SC100
ARMv7-M SC300 1,25 DMIPS/MHz
Cortex-M ARMv6-M Corteza-M0 [9] Perfil de microcontrolador, subconjunto Thumb + Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicación de hardware, temporizador de sistema opcional y memoria de banda de bits Caché opcional, sin TCM, sin MPU 0,84 DMIPS/MHz
Corteza-M0+ [11] Microcontrolador, subconjunto de Thumb y Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicación de hardware, temporizador de sistema opcional y memoria de banda de bits Caché opcional, sin TCM, MPU de 8 regiones opcional 0.93DMIPS/MHz
Corteza-M1 [12] Microcontrolador, subconjunto de Thumb y Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB), [10] multiplicador de hardware, opción/banco SVC para puntero de pila, temporizador de sistema opcional, sin memoria de "bandas de bits" Caché opcional, 0-1024 KB I-TCM, 0-1024 KB D-TCM, sin MPU 136 DMIPS a 170 MHz [13] (0,8 DMIPS/MHz dependiente de FPGA) [14]
ARMv7-M Corteza-M3 [15] Microcontrolador, Thumb / Thumb-2, multiplicación y división de hardware, memoria de banda de bits opcional Caché opcional, sin TCM, MPU de 8 regiones opcional 1,25 DMIPS/MHz
ARMv7E-M Corteza-M4 [16] Microcontrolador, Thumb / Thumb-2 / DSP / extensión FPv4 opcional para precisión simple, multiplicación y división de hardware, memoria de banda de bits opcional Caché opcional, sin TCM, MPU de 8 regiones opcional 1,25 DMIPS/MHz (1,27 con FPU FPv4)
ARMv7E-M Corteza-M7 [17] Microcontrolador, Thumb / Thumb-2 / DSP / FPU de precisión simple y doble opcional, multiplicación y división de hardware 0-64 KB I-cache, 0-64 KB D-cache, 0-16 MB I-TCM, 0-16 MB D-TCM (todos con ECC opcional), MPU opcional de 8 o 16 regiones 2,14 DMIPS/MHz
Línea base ARMv8-M Corteza-M23 Zona de confianza de ARM 0.98DMIPS/MHz

2,5 CoreMark /MHz

Línea principal ARMv8-M Corteza-M33 Zona de confianza de ARM 1,5 DMIPS/MHz

3,86 marca de núcleo/MHz

Cortex-R ARMv7-R Corteza-R4 [18] Perfil en tiempo real, Thumb / Thumb-2 / DSP / VFPv3 FPU opcional, multiplicación de hardware y división opcional, paridad y ECC opcionales para buses internos, caché, TCM, canalización de 8 etapas, dos núcleos en modo lockstep con lógica de manejo de errores 0-64 KB / 0-64 KB, 0-2 de 0-8 MB TCM, opcional 8 o 12 MPU
Cortex-R5 (MPCore) [19] Perfil en tiempo real, Thumb/Thumb-2/DSP/FPU VFPv3 opcional, multiplicación de hardware y división opcional, paridad y ECC opcionales para buses internos, caché, TCM, canalización de 8 etapas, dos núcleos en modo lockstep con lógica de manejo de errores. Opcionalmente, dos núcleos pueden funcionar como independientes. Puerto periférico de baja latencia (LLPP), puerto de coherencia del acelerador (ACP) [20] 0-64 KB / 0-64 KB, 0-2 de 0-8 MB TCM, opt. MPU en 12 o 16
Cortex-R7 (MPCore) [21] Perfil en tiempo real, Thumb/Thumb-2/DSP/FPU VFPv3 opcional, multiplicación de hardware y división opcional, paridad y ECC opcionales para buses internos, caché, TCM, canalización de 11 etapas, dos núcleos en modo lockstep con lógica de manejo de errores. Kernels desordenados, con cambio de nombre de registro dinámico. Opcionalmente, dos núcleos pueden funcionar como independientes. Puerto periférico de baja latencia (LLPP), puerto de coherencia del acelerador (ACP) [20] 0-64 KB / 0-64 KB, ? de 0-128 KB TCM, opt. MPU a los 16
Corteza-A ARMv7-A Corteza-A5 [22] Perfil de aplicación, ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4-D16 FPU opcional / NEON / Jazelle RCT y DBX opcionales, 1-4 núcleos, MPCore opcional, SCU, unidad de control snoop, controlador de interrupción general (GIC), Puerto de coherencia del acelerador (ACP) 4-64 KB / 4-64 KB L1, MMU + TrustZone 1,57 DMIPS/MHz por núcleo
Cortex-A7 MPCore [23] Perfil de aplicación, ARM / Thumb / Thumb-2 / DSP / VFPv4-D16 FPU / NEON / Jazelle RCT y DBX / virtualización de hardware, ejecución en orden, superescalar, SMP para 1-4 núcleos, extensiones de direcciones físicas grandes (LPAE), Unidad de control de indagación (SCU), Controlador de interrupción general (GIC), Puerto de coherencia del acelerador (ACP). La arquitectura y el conjunto de extensiones son los mismos que Cortex-A15. 8-10 etapas en una tubería, consumo de energía reducido [24] 32 KB/32 KB L1, 0-4 MB L2, MMU + TrustZone 1,9 DMIPS/MHz por núcleo
Corteza-A8 [25] Perfil de aplicación, ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT y DAC, superescalar de 13 etapas 16-32 KB / 16-32 KB L1, 0-1 MB L2 opcional ECC, MMU + TrustZone hasta 2000 (2,0 DMIPS/MHz de 600 MHz a más de 1 GHz )
Cortex-A9 MPCore [26] Perfil de aplicación, ARM / Thumb / Thumb-2 / DSP / VFPv3 FPU opcional / NEON / Jazelle RCT y DBX opcionales, ejecución fuera de orden con SMP especulativo, superescalar para 1-4 núcleos, indagación de la unidad de control (SCU), controlador de interrupción común (GIC), puerto de coherencia del acelerador (ACP). 16-64 KB / 16-64 KB L1, 0-8 MB L2 opcional paridad, MMU + TrustZone 2,5 DMIPS/MHz por núcleo, 10 000 DMIPS a 2 GHz en tecnología de proceso TSMC 40G (dos núcleos)
Cortex-A12 [27] luego se fusionó con A17 Perfil de aplicación, ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / virtualización de hardware, ejecución especulativa fuera de orden, superescalar, SMP de 1-4 núcleos, extensiones de direcciones físicas grandes (LPAE), unidad de control snoop (SCU), interrupciones comunes del controlador (GIC), puerto de coherencia del acelerador (ACP). 32-64 KB/32 KB L1, 256 KB-8 MB L2 3,0 DMIPS/MHz por núcleo
Cortex-A15 MPCore [28] Perfil de aplicación, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / división de enteros / MAC (multiplicación y suma combinadas) / Jazelle RCT / virtualización de hardware, ejecución especulativa fuera de orden, superescalar, SMP para 1-4 núcleos, extensiones de direcciones físicas grandes (LPAE), unidad de control de indagación (SCU), controlador de interrupción general (GIC), puerto de coherencia del acelerador (ACP). Tubería de 15-24 etapas [24] 32 KB de paridad/32 KB ECC L1, 0-4 MB L2 ECC, MMU + TrustZone Al menos 3,5 DMIPS/MHz por núcleo (hasta 4,01 DMIPS/MHz según la implementación) [29]
Cortex-A17MPCore Perfil de aplicación, ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / división de enteros / MAC (multiplicación y suma combinadas) / Jazelle RCT / virtualización de hardware, ejecución especulativa fuera de orden, superescalar, SMP para 1-4 núcleos, extensiones de direcciones físicas grandes (LPAE), unidad de control de indagación (SCU), controlador de interrupción general (GIC), puerto de coherencia del acelerador (ACP). MMU + Zona de Confianza
Cortex-A50 ARMv8-A Corteza-A53 [30] Perfil de aplicación, AArch32 y AArch64, SMP para 1-4 núcleos, Trustzone, NEON SIMD mejorado, VFPv4, virtualización de hardware, ejecución de hasta dos instrucciones por ciclo, ejecución de canalización en orden 8-64 KB de paridad/8-64 KB ECC L1 por núcleo, 128 KB-2 MB L2 compartida, direcciones físicas de 40 bits 2.3DMIPS/MHz
Corteza-A57 [31] Perfil de aplicación, AArch32 y AArch64, SMP de 1 a 4 núcleos, Trustzone, NEON SIMD mejorado, VFPv4, virtualización de hardware, bucle de instrucciones múltiples, ejecución fuera de orden profunda 48 KB de doble paridad (DED) / 32 KB L1 con ECC por núcleo, 512 KB-2 MB compartidos L2, 44 bits phys. direcciones Al menos 4,1 DMIPS/MHz por núcleo (hasta 4,76 DMIPS/MHz según la implementación)
Corteza-A72 [32]
familia ARM arquitectura BRAZO Núcleo Complementos Cachés (I/D), MMU MIPS típicos a MHz

Desarrollos de otros grupos

Desarrollado por terceros que poseían una licencia arquitectónica de ARM que permitía la implementación de instrucciones propietarias.

Familia conjunto de comandos microarquitectura conjunto de extensión I/D de caché), MMU Típico Típico MIPS @ MHz
Brazo fuerte ARMv4 SA-110 transportador de 5 etapas 16 KB/16 KB, MMU 100-206 MHz 1,0 DMIPS
/MHz
SA-1100 Desarrollo SA-110 16 KB/8 KB, MMU
faraday [33] ARMv4 FA510 transportador de 6 etapas Hasta 32 KB/32 KB de caché, MPU 1,26 DMIPS/MHz
100-200 MHz
FA526 Hasta 32 KB/32 KB de caché, MMU 1,26 MIPS/MHz
166-300 MHz
FA626 transportador de 8 etapas 32 KB/32 KB de caché, MMU 1.35DMIPS/MHz
500MHz
ARMv5TE FA606TE transportador de 5 etapas Sin caché, sin MMU 1.22DMIPS/MHz
200MHz
FA626TE transportador de 8 etapas 32 KB/32 KB de caché, MMU 1,43 MIPS/MHz
800 MHz
FMP626TE Tubería de 8 etapas, SMP 1,43 MIPS/MHz
500 MHz
FA726TE Tubería de 13 etapas, ejecutando dos instrucciones por reloj 2.4DMIPS/MHz
1000MHz
Xescala ARMv5TE Xescala Tubería de 7 etapas, pulgar, DSP MMU de 32 KB/32 KB 133-400 MHz
bulverde Opcional: Extensiones W MMX , Wireless SpeedStep MMU de 32 KB/32 KB 312-624 MHz
Monahan [34] Opcional: extensión WMMX2 32 KB/32 KB (L1), caché L2 opcional hasta 512 KB, MMU Hasta 1,25 GHz
Marvell Sheeva ARMv5 Feroceon 5-8 etapas de tubería, ejecutando una instrucción por ciclo 16 KB/16 KB, MMU 600-2000 MHz
Jolteon 5-8 etapas de canalización, ejecutando dos instrucciones por ciclo MMU de 32 KB/32 KB
PJ1 (mohicano) 5-8 etapas de tubería, ejecutando dos instrucciones por ciclo, WMMX2 MMU de 32 KB/32 KB
1,46 DMIPS /MHz 1,06 GHz
ARMv6 / ARMv7-A PJ4 6-9 etapas de tubería, ejecutando dos instrucciones por ciclo, WMMX2, SMP MMU de 32 KB/32 KB 2,41 DMIPS/MHz 1,6
GHz
boca de dragón ARMv7-A Escorpión [35] 1 o 2 núcleos. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (128 bits de ancho) 256 KB L2 por núcleo 2,1 DMIPS/MHz por núcleo
[ 35] 1, 2 o 4 núcleos. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (128 bits de ancho) 4 KB/4 KB L0, 16 KB/16 KB L1, 512 KB L2 por núcleo 3,3 DMIPS/MHz por núcleo
Manzana A6 ,
Manzana A6X
ARMv7-A rápido [36] 2 núcleos. BRAZO / Pulgar / Pulgar-2 / DSP / SIMD / VFPv4 FPU / NEON L1: 32 KB/32 KB, L2: 1 MB 3,5 DMIPS/MHz por núcleo
manzana a7 ARMv8-A Ciclón 2 núcleos. BRAZO / Pulgar / Pulgar-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 L1: 64 KB / 64 KB, L2: 1 MB 1,3 GHz
manzana a8 ARMv8-A Ciclón 2 núcleos. BRAZO / Pulgar / Pulgar-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 L1: (n/a);KB, L2: (n/a);MB 1,4 GHz
Gen X ARMv8-A Gen X 64 bits, ejecuta hasta 4 instrucciones por ciclo, SMP, 64 núcleos [37] caché, MMU, virtualización 3 GHz
denver ARMv8-A denver 64 bits, 2 núcleos SMP, decodificador de hardware de hasta 2 instrucciones por ciclo o recompilación dinámica de software para instrucciones amplias 128 KB I / 64 KB D hasta 2,5 GHz
TruenoX ARMv8-A TruenoX 64 bits, 2 modelos: 8-16 o 24-48 núcleos (se pueden combinar 2 chips) Hasta 2,5 GHz

Véase también

Notas

  1. Line Card (PDF)  (enlace no disponible) (2003). Fecha de acceso: 6 de enero de 2011. Archivado desde el original el 5 de junio de 2011.
  2. ARM Ltd y ARM Alemania GmbH. Base de datos de dispositivos . Keil. Recuperado: 6 de enero de 2011.
  3. Procesadores . BRAZO (2011). Recuperado: 6 de enero de 2011.
  4. ARM Holdings (7 de agosto de 1996), ARM810 – Bailando al ritmo de un tambor diferente , Hot Chips , < http://www.dlhoffman.com/publiclibrary/software/hot_chips_papers/hc96/hc8_pdf/4.1.pdf > . Consultado el 21 de septiembre de 2013. Archivado el 23 de septiembre de 2015 en Wayback Machine . 
  5. VLSI Technology Now Shipping ARM810 , EE Times  (26 de agosto de 1996). Consultado el 21 de septiembre de 2013.
  6. Registro 13, registro FCSE PID ARM920T Manual de referencia técnica
  7. ARM1136J(F)-S - Procesador ARM . brazo.com. Consultado el 18 de abril de 2009. Archivado desde el original el 21 de marzo de 2009.
  8. Familia de procesadores ARM11 . BRAZO. Recuperado: 12 de diciembre de 2010.
  9. Resumen de especificaciones de Cortex-M0; Participaciones ARM.
  10. 1 2 3 Conjunto de instrucciones Cortex-M0/M0+/M1; Holding A.R.M. (enlace no disponible) . Consultado el 14 de octubre de 2014. Archivado desde el original el 18 de abril de 2013. 
  11. Resumen de especificaciones de Cortex-M0+; Participaciones ARM.
  12. Resumen de especificaciones de Cortex-M1; Participaciones ARM.
  13. ^ Participaciones ARM (19 de marzo de 2007). ARM amplía la familia Cortex con el primer procesador optimizado para FPGA . Comunicado de prensa . Consultado el 11 de abril de 2007 .
  14. BRAZO Cortex-M1 . Sitio web del producto ARM. Consultado el 11 de abril de 2007.
  15. Resumen de especificaciones de Cortex-M3; Participaciones ARM.
  16. Resumen de especificaciones de Cortex-M4; Participaciones ARM.
  17. Resumen de especificaciones de Cortex-M7; Participaciones ARM.
  18. Resumen de especificaciones de Cortex-R4; Participaciones ARM. (enlace no disponible) . Consultado el 14 de octubre de 2014. Archivado desde el original el 7 de julio de 2011. 
  19. Resumen de especificaciones de Cortex-R5; Participaciones ARM. (enlace no disponible) . Consultado el 14 de octubre de 2014. Archivado desde el original el 6 de julio de 2012. 
  20. 1 2 Comunicado de prensa de Cortex-R5 y Cortex-R7; Participaciones ARM; 31 de enero de 2011.
  21. Resumen de especificaciones de Cortex-R7; Participaciones ARM.
  22. Resumen de especificaciones de Cortex-A5; Participaciones ARM.
  23. Resumen de especificaciones de Cortex-A7; Participaciones ARM.
  24. 1 2 Deep inside ARM's new Intel killer , The Register (20 de octubre de 2011).
  25. Resumen de especificaciones de Cortex-A8; Participaciones ARM.
  26. Resumen de especificaciones de Cortex-A9; Participaciones ARM.
  27. Resumen de Cortex-A12; Participaciones ARM. Archivado desde el original el 7 de junio de 2013.
  28. Resumen de especificaciones de Cortex-A15; Participaciones ARM.
  29. Exclusivo: ARM Cortex-A15 "40 por ciento" más rápido que Cortex-A9 // ITProPortal.com
  30. Procesador Cortex-A53 . Participaciones ARM . Consultado: 13 de octubre de 2012.
  31. Procesador Cortex-A57 . Participaciones ARM . Consultado: 13 de octubre de 2012.
  32. Procesador Cortex-A72 . Participaciones ARM . Recuperado: 13 de marzo de 2016.
  33. [1]  (enlace descendente)
  34. Microarquitectura Intel XScale de tercera generación: Manual del desarrollador . descargar.intel.com . Intel (mayo de 2007). Recuperado: 2 de diciembre de 2010.
  35. 1 2 Nuevo Snapdragon S4 de Qualcomm: exploración de la arquitectura MSM8960 y Krait; anandtech.
  36. Lal Shimpi, Anand El SoC A6 del iPhone 5: no A15 o A9, sino un Apple Core personalizado . AnandTech (15 de septiembre de 2012). Consultado: 15 de septiembre de 2012.
  37. El chip de 64 núcleos de AppliedMicro podría desencadenar una guerra de núcleos ARM | Mundo PC

Literatura