Это не официальный сайт wikipedia.org 01.01.2023

Список архитектур ARM — Википедия

Список архитектур ARM

(перенаправлено с «Cortex»)

Список процессорных и микроконтроллерных микроархитектур семейства ARM, разработанных ARM Holdings и сторонними группами. Упорядочено по версии набора команд ARM.

Компания ARM предоставляла список фирм, реализовавших архитектуры ARM самостоятельно[1]. Некоторую информацию также предоставляет компания Keil[2].

Список ядер собственной разработки ARM также опубликован на их интернет-сайте[3].

Ядра ARMПравить

Разработанные в ARMПравить

Семейство ARM Архитектура ARM Ядро Дополнения Кэши (I / D), MMU Типичные MIPS @ МГц
ARM1 ARMv1 ARM1 Первая реализация Нет
ARM2 ARMv2 ARM2 В ARMv2 была добавлена инструкция MUL (умножение) Нет 4 MIPS @ 8 МГц
0,33 DMIPS/МГц
ARMv2a ARM250 Встроенный MEMC (MMU), графический процессор и сопроцессор ввода-вывода. В ARMv2a добавлены инструкции SWP и SWPB (обмен) Нет, MEMC1a 7 MIPS @ 12 МГц
ARM3 ARMv2a ARM3 Первая интегрированная кэш память 4 КБ, унифицированный 12 MIPS @ 25 МГц
0,50 DMIPS/МГц
ARM6 ARMv3 ARM60 В ARMv3 добавлена поддержка 32-битной адресации памяти (ранее — 26 бит) Нет 10 MIPS @ 12 МГц
ARM600 Как в ARM60, дополнительно — кэш и шина сопроцессора (для блока FPA10 обработки числе с плавающей запятой) 4 КБ, унифицированный 28 MIPS @ 33 МГц
ARM610 Как в ARM60, кэш, без шины сопроцессора 4 КБ, унифицированный 17 MIPS @ 20 МГц
0,65 DMIPS/МГц
ARM7 ARMv3 ARM700 8 КБ, унифицированный 40 МГц
ARM710 Как ARM700, без шины сопроцессора 8 КБ, унифицированный 40 МГц
ARM710a Как ARM710 8 КБ, унифицированный 40 МГц
0,68 DMIPS/МГц
ARM7TDMI ARMv4T ARM7TDMI(-S) 3-стадийный конвейер, Thumb. В ARMv4 отказались от 26-битной адресации Нет 15 MIPS @ 16,8 МГц
63 DMIPS @ 70 МГц
ARM710T Как ARM7TDMI, дополнительно имеет кэш 8 КБ, унифицированный, MMU 36 MIPS @ 40 МГц
ARM720T Как ARM7TDMI, имеет кэш 8 КБ, унифицированный, MMU (с FCSEFast Context Switch Extension) 60 MIPS @ 59,8 МГц
ARM740T Как ARM7TDMI, имеет кэш MPU
ARM7EJ ARMv5TEJ ARM7EJ-S 5-стадийный конвейер, Thumb, Jazelle DBX, Расширенные DSP-команды Нет
ARM8 ARMv4 ARM810[4][5] 5-стадийный конвейер, статический предсказатель ветвлений, удвоение пропускной способности памяти 8 КБ, унифицированный, MMU 84 MIPS @ 72 МГц
1,16 DMIPS/МГц
ARM9TDMI ARMv4T ARM9TDMI 5-стадийный конвейер, Thumb Нет
ARM920T Как ARM9TDMI, кэши 16 КБ / 16 КБ, MMU с FCSE (Fast Context Switch Extension)[6] 200 MIPS @ 180 МГц
ARM922T Как ARM9TDMI, кэши 8 КБ / 8 КБ, MMU
ARM940T Как ARM9TDMI, кэши 4 КБ / 4 КБ, MPU
ARM9E ARMv5TE ARM946E-S Thumb, DSP, кэши Различные, тесно связанная память (TCM), MPU
ARM966E-S Thumb, DSP Без кэша и памяти TCM
ARM968E-S Как ARM966E-S Без кэша и TCM
ARMv5TEJ ARM926EJ-S Thumb, Jazelle DBX, DSP Различные, TCM, MMU 220 MIPS @ 200 МГц
ARMv5TE ARM996HS Процессор без тактовой частоты, остальное как у ARM966E-S Без кэша, TCM, MPU
ARM10E ARMv5TE ARM1020E 6-стадийный конвейер, Thumb, DSP, (VFP) 32 КБ / 32 КБ, MMU
ARM1022E Как ARM1020E 16 КБ / 16 КБ, MMU
ARMv5TEJ ARM1026EJ-S Thumb, Jazelle DBX, DSP, (VFP) Различные, MMU или MPU
ARM11 ARMv6 ARM1136J(F)-S[7] 8-стадийный конвейер, SIMD, Thumb, Jazelle DBX, (VFP), DSP Различные, MMU 740 @ 532—665 МГц (i.MX31 SoC), 400—528 МГц
ARMv6T2 ARM1156T2(F)-S 8-стадийный конвейер, SIMD, Thumb-2, (VFP), DSP Различные, MPU
ARMv6Z ARM1176JZ(F)-S Как ARM1136EJ(F)-S Различные, MMU + TrustZone 965 DMIPS @ 772 МГц, до 2600 DMIPS с 4 процессорами[8]
ARMv6K ARM11 MPCore Как ARM1136EJ(F)-S, SMP с 1-4 ядрами Различные, MMU
SecurCore ARMv6-M SC000 0,9 DMIPS/МГц
ARMv4T SC100
ARMv7-M SC300 1,25 DMIPS/МГц
Cortex-M ARMv6-M Cortex-M0[9] Microcontroller profile, Thumb + Thumb-2 subset (BL, MRS, MSR, ISB, DSB, DМB),[10] аппаратное умножение, опциональный системный таймер и память «bit-banding» Опциональный кэш, без TCM, без MPU 0,84 DMIPS/МГц
Cortex-M0+[11] Микроконтроллер, подмножество Thumb и Thumb-2 (BL, MRS, MSR, ISB, DSB, DМB),[10] аппаратное умножение, опциональный системный таймер и память «bit-banding» Опциональный кэш, без TCM, опциональный MPU на 8 регионов 0,93 DMIPS/МГц
Cortex-M1[12] Микроконтроллер, подмножество Thumb и Thumb-2 (BL, MRS, MSR, ISB, DSB, DMB),[10] аппаратное умножение, опция SVC / банк для указателя стека, опциональный системный таймер, без памяти «bit-banding» Опциональный кэш, 0-1024 КБ I-TCM, 0-1024 КБ D-TCM, без MPU 136 DMIPS @ 170 МГц,[13] (0,8 DMIPS/МГц FPGA-dependent)[14]
ARMv7-M Cortex-M3[15] Микроконтроллер, Thumb / Thumb-2, аппаратные умножение и деление, опциональная память «bit-banding» Опциональный кэш, без TCM, опциональный MPU на 8 регионов 1,25 DMIPS/МГц
ARMv7E-M Cortex-M4[16] Микроконтроллер, Thumb / Thumb-2 / DSP / опциональное расширение FPv4 для одинарной точности, аппаратные умножение и деление, опциональная память «bit-banding» Опциональный кэш, без TCM, опциональный MPU на 8 регионов 1,25 DMIPS/МГц (1,27 с FPU FPv4)
ARMv7E-M Cortex-M7[17] Микроконтроллер, Thumb / Thumb-2 / DSP / опциональный блок FPU для чисел одинарной и двойной точности, аппаратные умножение и деление 0-64 КБ I-кэш, 0-64 КБ D-кэш, 0-16 МБ I-TCM, 0-16 МБ D-TCM (все — с опциональным ECC), Опциональный MPU на 8 или 16 регионов 2,14 DMIPS/МГц
ARMv8-M Baseline Cortex-M23 ARM TrustZone 0,98 DMIPS/МГц

2,5 CoreMark/МГц

ARMv8-M Mainline Cortex-M33 ARM TrustZone 1,5 DMIPS/МГц

3,86 CoreMark/МГц

Cortex-R ARMv7-R Cortex-R4[18] Профиль реального времени, Thumb / Thumb-2 / DSP / опциональный VFPv3 FPU, аппаратные умножение и опциональное деление, опциональные четность и ECC для внутренних шин, кэша, TCM, 8-стадийный конвейер, два ядра в режиме «lockstep» с логикой обработки ошибок 0-64 КБ / 0-64 КБ, 0-2 из 0-8 МБ TCM, опционально MPU на 8 или 12
Cortex-R5 (MPCore)[19] Профиль реального времени, Thumb / Thumb-2 / DSP / опциональный VFPv3 FPU, аппаратные умножение и опциональное деление, опциональные четность и ECC для внутренних шин, кэша, TCM, 8-стадийный конвейер, два ядра в режиме «lockstep» с логикой обработки ошибок. Опционально допускается работа двух ядер как независимых. Периферийный порт с низкими задержками (LLPP), порт когерентности для ускорителя (ACP)[20] 0-64 КБ / 0-64 КБ, 0-2 из 0-8 МБ TCM, опц. MPU на 12 или 16
Cortex-R7 (MPCore)[21] Профиль реального времени, Thumb / Thumb-2 / DSP / опциональный VFPv3 FPU, аппаратные умножение и опциональное деление, опциональные четность и ECC для внутренних шин, кэша, TCM, 11-стадийный конвейер, два ядра в режиме «lockstep» с логикой обработки ошибок. Ядра out-of-order, с динамическим переименованием регистров. Опционально допускается работа двух ядер как независимых. Периферийный порт с низкими задержками (LLPP), порт когерентности для ускорителя (ACP)[20] 0-64 КБ / 0-64 КБ, ? из 0-128 КБ TCM, опц. MPU на 16
Cortex-A ARMv7-A Cortex-A5[22] Профиль «Application», ARM / Thumb / Thumb-2 / DSP / SIMD / опциональный VFPv4-D16 FPU / опциональный NEON / Jazelle RCT и DBX, 1-4 ядро, опционально MPCore, блок управления снупированием (SCU, snoop control unit), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP) 4-64 КБ / 4-64 КБ L1, MMU + TrustZone 1,57 DMIPS/МГц на ядро
Cortex-A7 MPCore[23] Профиль «Application», ARM / Thumb / Thumb-2 / DSP / VFPv4-D16 FPU / NEON / Jazelle RCT и DBX / аппаратная виртуализация, очередное исполнение команд (in-order), суперскаляр, SMP на 1-4 ядра, Large Physical Address Extensions (LPAE), блок управления снупированием (SCU), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP). Архитектура и набор расширений совпадают с Cortex-A15. 8-10 стадий в конвейере, пониженное энергопотребление[24] 32 КБ / 32 КБ L1, 0-4 МБ L2, MMU + TrustZone 1,9 DMIPS/МГц на ядро
Cortex-A8[25] Профиль «Application», ARM / Thumb / Thumb-2 / VFPv3 FPU / NEON / Jazelle RCT и DAC, 13-стадийный суперскаляр 16-32 КБ / 16-32 КБ L1, 0-1 МБ L2 опц. ECC, MMU + TrustZone до 2000 (2,0 DMIPS/МГц с частотами от 600 МГц до превышающих 1 ГГц)
Cortex-A9 MPCore[26] Профиль «Application», ARM / Thumb / Thumb-2 / DSP / опционально VFPv3 FPU / опционально NEON / Jazelle RCT и DBX, внеочередное исполнение (out-of-order) со спекулятивностью, суперскаляр, SMP на 1-4 ядра, блок управления снупированием (SCU), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP). 16-64 КБ / 16-64 КБ L1, 0-8 МБ L2 опц. контроль четности, MMU + TrustZone 2,5 DMIPS/МГц на ядро, 10,000 DMIPS @ 2 ГГц на техпроцессе TSMC 40G (два ядра)
Cortex-A12[27] позже объединен с A17 Профиль «Application», ARM / Thumb-2 / DSP / VFPv4 FPU / NEON / аппаратная виртуализация, внеочередное спекулятивное исполнение, суперскаляр, SMP на 1-4 ядра, Large Physical Address Extensions (LPAE), блок управления снупированием (SCU), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP). 32-64 КБ / 32 КБ L1, 256 КБ-8 МБ L2 3,0 DMIPS/МГц на ядро
Cortex-A15 MPCore[28] Профиль «Application», ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / целочисленное деление / MAC (объединенное умножение-сложение) / Jazelle RCT / аппаратная вирутализация, внеочередное спекулятивное исполнение, суперскаляр, SMP на 1-4 ядра, Large Physical Address Extensions (LPAE), блок управления снупированием (SCU), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP). 15-24 стадийный конвейер[24] 32 КБ с четностью / 32 КБ с ECC L1, 0-4 МБ L2 с ECC, MMU + TrustZone Не менее 3,5 DMIPS/МГц на ядро (до 4,01 DMIPS/МГц в зависимости от реализации)[29]
Cortex-A17 MPCore Профиль «Application», ARM / Thumb / Thumb-2 / DSP / VFPv4 FPU / NEON / целочисленное деление / MAC (объединенное умножение-сложение) / Jazelle RCT / аппаратная виртуализация, внеочередное спекулятивное исполнение, суперскаляр, SMP на 1-4 ядра, Large Physical Address Extensions (LPAE), блок управления снупированием (SCU), контроллер общих прерываний (GIC), порт когерентности для ускорителя (ACP). MMU + TrustZone
Cortex-A50 ARMv8-A Cortex-A53[30] Профиль «Application», AArch32 и AArch64, SMP на 1-4 ядра, Trustzone, улучшенный NEON SIMD, VFPv4, аппаратная виртуализация, запуск до двух команд в цикл, очередное (in-order) конвейерное исполнение 8-64 КБ с четностью / 8-64 КБ с ECC L1 на каждое ядро, 128 КБ-2 МБ общий L2, 40-битные физические адреса 2,3 DMIPS/МГц
Cortex-A57[31] Профиль «Application», AArch32 и AArch64, SMP на 1-4 ядра, Trustzone, улучшенный NEON SIMD, VFPv4, аппаратная виртуализация, запуск множества команд в цикл, глубокое внеочередное исполнение 48 КБ с двойной четностью (DED) / 32 КБ L1 с ECC на ядро, 512 КБ-2 МБ общий L2, 44-битные физ. адреса Не менее 4,1 DMIPS/МГц на ядро (до 4,76 DMIPS/МГц в зависимости от реализации)
Cortex-A72[32]
Семейство ARM Архитектура ARM Ядро Дополнения Кэши (I / D), MMU Типичные MIPS @ МГц

Разработки других группПравить

Разработаны сторонними компаниями, владевшими архитектурной лицензией от ARM, которая разрешала реализацию запатентованных инструкций.

Семейство Набор команд Микроархитектура Набор расширение Кэш I / D), MMU Типичные Typical MIPS @ МГц
StrongARM ARMv4 SA-110 5-стадийный конвейер 16 КБ / 16 КБ, MMU 100-206 МГц
1,0 DMIPS/МГц
SA-1100 Развитие SA-110 16 КБ / 8 КБ, MMU
Faraday[33] ARMv4 FA510 6-стадийный конвейер До 32 КБ / 32 КБ кэш, MPU 1,26 DMIPS/МГц
100—200 МГц
FA526 До 32 КБ / 32 КБ кэш, MMU 1,26 MIPS/МГц
166—300 МГц
FA626 8-стадийный конвейер 32 КБ / 32 КБ кэш, MMU 1,35 DMIPS/МГц
500 МГц
ARMv5TE FA606TE 5-стадийный конвейер Без кэша, без MMU 1,22 DMIPS/МГц
200 МГц
FA626TE 8-стадийный конвейер 32 КБ / 32 КБ кэш, MMU 1,43 MIPS/МГц
800 МГц
FMP626TE 8-стадийный конвейер, SMP 1,43 MIPS/МГц
500 МГц
FA726TE 13-стадийный конвейер, запуск двух инструкций в такт 2,4 DMIPS/МГц
1000 МГц
XScale ARMv5TE XScale 7-стадийный конвейер, Thumb, DSP 32 КБ / 32 КБ, MMU 133-400 МГц
Bulverde Дополнительно: расширения WMMX, Wireless SpeedStep 32 КБ / 32 КБ, MMU 312-624 МГц
Monahans[34] Дополнительно: расширение WMMX2 32 КБ / 32 КБ (L1), опциональный L2 кэш до 512 КБ, MMU Up to 1,25 ГГц
Marvell Sheeva ARMv5 Feroceon 5-8 стадий конвейера, запуск одной инструкции за цикл 16 КБ / 16 КБ, MMU 600-2000 МГц
Jolteon 5-8 стадий конвейера, запуск двух инструкций за цикл 32 КБ / 32 КБ, MMU
PJ1 (Mohawk) 5-8 стадий конвейера, запуск двух инструкций за цикл, WMMX2 32 КБ / 32 КБ, MMU 1,46 DMIPS/МГц
1,06 ГГц
ARMv6 / ARMv7-A PJ4 6-9 стадий конвейера, запуск двух инструкций за цикл, WMMX2, SMP 32 КБ / 32 КБ, MMU 2,41 DMIPS/МГц
1,6 ГГц
Snapdragon ARMv7-A Scorpion[35] 1 или 2 ядра. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv3 FPU / NEON (ширина 128-бит) 256 КБ L2 на ядро 2,1 DMIPS/МГц на ядро
Krait[35] 1, 2, или 4 ядра. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON (ширина 128-бит) 4 КБ / 4 КБ L0, 16 КБ / 16 КБ L1, 512 КБ L2 на ядро 3,3 DMIPS/МГц на ядро
Apple A6,
Apple A6X
ARMv7-A Swift[36] 2 ядра. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON L1: 32 КБ / 32 КБ, L2: 1 МБ 3,5 DMIPS/МГц на ядро
Apple A7 ARMv8-A Cyclone 2 ядра. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 L1: 64 КБ / 64 КБ, L2: 1 МБ 1,3 ГГц
Apple A8 ARMv8-A Cyclone 2 ядра. ARM / Thumb / Thumb-2 / DSP / SIMD / VFPv4 FPU / NEON / TrustZone / AArch64 L1: (н/у);КБ, L2: (н/у);МБ 1,4 ГГц
X-Gene ARMv8-A X-Gene 64-разрядный, запуск до 4 инструкций за цикл, SMP, 64 ядра[37] кэш, MMU, виртуализация 3 ГГц
Denver ARMv8-A Denver 64-разрядный, 2 ядра SMP, аппаратный декодер до 2 инструкций за цикл, либо программная динамическая рекомпиляция в широкие инструкции 128 КБ I / 64 КБ D до 2,5 ГГц
ThunderX ARMv8-A ThunderX 64-разрядный, 2 модели: 8-16 или 24-48 ядер (возможно объединение двух чипов) До 2,5 ГГц

См. такжеПравить

ПримечанияПравить

  1. Line Card  (неопр.) (PDF) (2003). Дата обращения: 6 января 2011. Архивировано из оригинала 5 июня 2011 года.
  2. ARM Ltd and ARM Germany GmbH. Device Database  (неопр.). Keil. Дата обращения: 6 января 2011.
  3. Processors  (неопр.). ARM (2011). Дата обращения: 6 января 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>. Проверено 21 сентября 2013.  Архивная копия от 23 сентября 2015 на Wayback Machine
  5. VLSI Technology Now Shipping ARM810, EE Times (26 August 1996). Дата обращения: 21 сентября 2013.
  6. Register 13, FCSE PID register ARM920T Technical Reference Manual
  7. ARM1136J(F)-S – ARM Processor  (неопр.). Arm.com. Дата обращения: 18 апреля 2009. Архивировано 21 марта 2009 года.
  8. ARM11 Processor Family  (неопр.). ARM. Дата обращения: 12 декабря 2010.
  9. Cortex-M0 Specification Summary; ARM Holdings.
  10. 1 2 3 Cortex-M0/M0+/M1 Instruction set; ARM Holding.  (неопр.) Дата обращения: 14 октября 2014. Архивировано из оригинала 18 апреля 2013 года.
  11. Cortex-M0+ Specification Summary; ARM Holdings.
  12. Cortex-M1 Specification Summary; ARM Holdings.
  13. ARM Holdings (19 March 2007). ARM Extends Cortex Family with First Processor Optimized for FPGA. Пресс-релиз. Проверено 11 April 2007.
  14. ARM Cortex-M1  (неопр.). ARM product website. Дата обращения: 11 апреля 2007.
  15. Cortex-M3 Specification Summary; ARM Holdings.
  16. Cortex-M4 Specification Summary; ARM Holdings.
  17. Cortex-M7 Specification Summary; ARM Holdings.
  18. Cortex-R4 Specification Summary; ARM Holdings.  (неопр.) Дата обращения: 14 октября 2014. Архивировано из оригинала 7 июля 2011 года.
  19. Cortex-R5 Specification Summary; ARM Holdings.  (неопр.) Дата обращения: 14 октября 2014. Архивировано из оригинала 6 июля 2012 года.
  20. 1 2 Cortex-R5 & Cortex-R7 Press Release; ARM Holdings; 31 January 2011.
  21. Cortex-R7 Specification Summary; ARM Holdings.
  22. Cortex-A5 Specification Summary; ARM Holdings.
  23. Cortex-A7 Specification Summary; ARM Holdings.
  24. 1 2 Deep inside ARM's new Intel killer, The Register (20 October 2011).
  25. Cortex-A8 Specification Summary; ARM Holdings.
  26. Cortex-A9 Specification Summary; ARM Holdings.
  27. Cortex-A12 Summary; ARM Holdings. Архивировано 7 июня 2013 года.
  28. Cortex-A15 Specification Summary; ARM Holdings.
  29. Exclusive : ARM Cortex-A15 «40 Per Cent» Faster Than Cortex-A9 // ITProPortal.com
  30. Cortex-A53 Processor  (неопр.). ARM Holdings. Дата обращения: 13 октября 2012.
  31. Cortex-A57 Processor  (неопр.). ARM Holdings. Дата обращения: 13 октября 2012.
  32. Cortex-A72 Processor  (неопр.). ARM Holdings. Дата обращения: 13 марта 2016.
  33. [1] (недоступная ссылка)
  34. 3rd Generation Intel XScale Microarchitecture: Developer’s Manual  (неопр.). download.intel.com. Intel (май 2007). Дата обращения: 2 декабря 2010.
  35. 1 2 Qualcomm’s New Snapdragon S4: MSM8960 & Krait Architecture Explored; Anandtech.
  36. Lal Shimpi, Anand The iPhone 5's A6 SoC: Not A15 or A9, a Custom Apple Core Instead  (неопр.). AnandTech (15 сентября 2012). Дата обращения: 15 сентября 2012.
  37. AppliedMicro's 64-core chip could spark off ARM core war | PCWorld

ЛитератураПравить

  • Digital Signal Processing and Applications Using the ARM Cortex M4; 1st Edition; Donald Reay; Wiley; 250 pages; 2014; ISBN 978-1118859049.
  • Assembly Language Programming : ARM Cortex-M3; 1st Edition; Vincent Mahout; Wiley-ISTE; 256 pages; 2012; ISBN 978-1848213296.
  • The Definitive Guide to the ARM Cortex-M3 and Cortex-M4 Processors; 3rd Edition; Joseph Yiu; Newnes; 600 pages; 2013; ISBN 978-0124080829.
  • The Definitive Guide to the ARM Cortex-M0; 1st Edition; Joseph Yiu; Newnes; 552 pages; 2011; ISBN 978-0-12-385477-3. [2]