ARM

From WikiDevi.Wi-Cat.RU
Jump to navigation Jump to search

ARM Architecture

ARM developed by Advanced RISC Maсhines (UK)
Manuf
Processors
Apple A4, A5, A5X, A6, A6X, A7, A8, A8X, A9, ...

ARM Cores (Family)

Architecture Core
bit-width
Cores Profile References
Arm Holdings Third-party
ARMv1 32-bit ARM1 N/A Classic
ARMv2 32-bit ARM2, ARM250, ARM3 Amber, STORM Open Soft Core Classic
ARMv3 32-bit ARM6, ARM7 N/A Classic
ARMv4 32-bit ARM8 StrongARM, FA526, ZAP Open Source Core Classic
ARMv4T 32-bit ARM7TDMI, ARM9TDMI, SecurCore SC100 Classic
ARMv5TE 32-bit ARM7EJ, ARM9E, ARM10E XScale, Feroceon, FA626TE, PJ1 / Mohawk Classic
ARMv6 32-bit ARM11 N/A Classic
ARMv6-M 32-bit ARM Cortex-M0, ARM Cortex-M0+,
ARM Cortex-M1, SecurCore SC000
Microcontroller
ARMv7-M 32-bit ARM Cortex-M3, SecurCore SC300 Microcontroller
ARMv7E-M 32-bit ARM Cortex-M4, ARM Cortex-M7 Microcontroller
ARMv8-M 32-bit ARM Cortex-M23, ARM Cortex-M33 Microcontroller
ARMv7-R 32-bit ARM Cortex-R4, ARM Cortex-R5,
ARM Cortex-R7, ARM Cortex-R8
Real-time
ARMv8-R 32-bit ARM Cortex-R52 Real-time
64-bit ARM Cortex-R82 Real-time
ARMv7-A 32-bit ARM Cortex-A5, ARM Cortex-A7,
ARM Cortex-A8, ARM Cortex-A9,
ARM Cortex-A12, ARM Cortex-A15,
ARM Cortex-A17
Apple A4 - 1x ARM (Cortex-A8),
Apple A5 - 2x ARM (Cortex-A9),
Apple A6 (Swift), PJ4 / Sheeva,
Qualcomm Scorpion / Krait
Application
ARMv8-A 32-bit ARM Cortex-A32 Application
32/64-bit ARM Cortex-A35, ARM Cortex-A53,
ARM Cortex-A57, ARM Cortex-A72,
ARM Cortex-A73
Applied Micro X-Gene, nVIDIA Denver 1/2,
Qualcomm Kryo, Cavium ThunderX, AMD K12,
Apple A7 (Cyclone), Apple A8 (Typhoon),
Apple A9 (Twister), Apple A10 (Hurricane / Zephyr),
Samsung M1/M2 ("Mongoose"), M3 ("Meerkat")
Application
64-bit ARM Cortex-A34 Application
ARMv8.1-A 32/64-bit N/A Cavium ThunderX2 Application
ARMv8.2-A 64/32-bit ARM Cortex-A55, ARM Cortex-A75,
ARM Cortex-A76, ARM Cortex-A77,
ARM Cortex-A78, ARM Cortex-X1,
ARM Neoverse N1
nVIDIA Carmel, Samsung M4 ("Cheetah"),
Fujitsu A64FX (ARMv8 SVE 512-bit)
Application
64-bit ARM Cortex-A65, ARM Cortex-A65AE,
ARM Neoverse E1 (SMT)
Apple A11 (Monsoon / Mistral) Application
ARMv8.3-A 64/32-bit N/A Application
64-bit N/A Apple A12 (Vortex / Tempest)
Marvell ThunderX3 (v8.3+) 96C/384TC
Application
ARMv8.4-A 64/32-bit N/A Application
64-bit N/A Apple A13 (Lightning / Thunder) Application
ARMv8.5-A 64/32-bit N/A Application
ARMv8.6-A 64/32-bit N/A Apple A14 (Firestorm / Icestorm) Application

Example applications of ARM cores

ARM cores are used in a number of products, particularly PDAs and smartphones. Some computing examples are Microsoft's Surface (2012 tablet), Surface 2

and Pocket PC devices (following Pocket PC 2002), Apple's iPads and Asus's Eee Pad Transformer tablet computers, and several Chromebook laptops.

Others include Apple's iPhone smartphones and iPod portable media players, Canon PowerShot digital cameras, Nintendo Switch hybrid and Nintendo 3DS

handheld game consoles, and TomTom turn-by-turn GPS navigation systems.

In 2005, Arm Holdings took part in the development of Manchester University's computer SpiNNaker,

which used ARM cores to simulate the human brain.

ARM chips are also used in Raspberry Pi, BeagleBoard, BeagleBone, PandaBoard and other SBCs,

because they are very small, inexpensive and consume very little power.
Tronsmart MK908, a Rockchip-based quad-core Android "mini PC", with a microSD card next to it for a size comparison

processorarm.gif

ARM Cores
Core	     MIPS/MHz	S/mm²	mW/MHz	Freq/MHz	Cache	MMU

25nm
ARM7TDMI	0,9	1,02	0,78	60–70	 	 
ARM7TDMI-S	0,9	1,20	1,10	60–70	 	 

18nm
ARM7TDMI	0,9	0,59	0,30	80–110	 	 
ARM7TDMI-S	0,9	0,62	0,39	80–110	 	 
ARM7EJ-S	1,0	0,85	0,40	80–110	 	 
ARM940T		1,1	4,2	0,75	180–200		4K/4K	MPU
ARM946E-S	1,1	5,0	1,00	150–170		 0/1М	MPU
ARM966E-S	1,1	4,0	0,90	150–170	 	 
ARM720T		1,1	3,5	0,65	60–80		 8K	 +
ARM920T		1,1	6,0	0,25	220–270		16K/16K	 +
ARM922T		1,1	3,5	0,25	220–270		180/200	 +
ARM926EJ-S	1,0	6,5	1,40	180–200		4К/128К	 +

13nm
ARM7TDMI	0,9	0,30	0,08	100–133	 	 
ARM7TDMI-S	0,9	0,32	0,11	100–133	 	 
ARM7EJ-S	1,0	0,42	0,12	100–133	 	 
ARM940T		1,1	2,1	0,20	220–250		4K/4K	MPU
ARM946E-S	1,1	2,5	0,25	180–210		 0/1М	MPU
ARM966E-S	1,1	2,0	0,22	180–210	 	 
ARM720T		0,9	1,8	0,20	100–120		 8K	 +
ARM920T		1,1	6,0	0,25	220–270		16K/16K	 +
ARM922T		1,1	3,5	0,25	220–270		 8K/8K	 +
ARM926EJ-S	1,0	3,2	0,35	220–270		4К/128К	 +
ARM1020E	1,23	10,3	0,60	270–325		32K/32K	 +
ARM1022E	1,23	6,7	0,60	270–325		16K/16K	 +

List of ARM Microarchitectures

These cores implement the ARM instruction set, and were developed independently by companies with an architectural license from ARM.

Core
(Family)
Instruction
set
Micro
architecture
Feature Cache (I/D),
MMU
Typical MIPS
MHz (per core)
StrongARM
(Digital / Intel)
ARMv4 SA-110 5-stage pipeline 16 KB / 16 KB, MMU 100-233 MHz
1.0 DMIPS/MHz
SA-1100 derivative of the SA-110 16 KB / 8 KB, MMU -
Faraday
(Faraday
Technology)
ARMv4 FA510 6-stage pipeline Up to 32 KB / 32 KB, MPU 1.26 DMIPS/MHz
100-200 MHz
FA526 Up to 32 KB / 32 KB, MMU 1.26 MIPS/MHz
166-300 MHz
FA626 8-stage pipeline 32 KB / 32 KB, MMU 1.35 DMIPS/MHz
500 MHz
ARMv5TE FA606TE 5-stage pipeline No cache, no MMU 1.22 DMIPS/MHz
200 MHz
FA626TE 8-stage pipeline 32 KB / 32 KB, MMU 1.43 MIPS/MHz
800 MHz
FMP626TE 8-stage pipeline, SMP 1.43 MIPS/MHz
500 MHz
FA726TE 13 stage pipeline, dual issue 2.4 DMIPS/MHz
1000 MHz
XScale
(Intel / Marvell)
ARMv5TE XScale 7-stage pipeline, Thumb,
enhanced DSP instructions
32 KB / 32 KB, MMU 133-400 MHz
Bulverde Wireless MMX, SpeedStep added 32 KB / 32 KB, MMU 312-624 MHz
Monahans
XScale (3 Gen)
Wireless MMX2 added 32 KB / 32 KB L1, optional
L2 cache up to 512 KB, MMU
1.25 GHz
Sheeva
(Marvell)
ARMv5 Feroceon 5–8 stage pipeline, single-issue 16 KB / 16 KB, MMU 600-2000 MHz
Jolteon 5–8 stage pipeline, dual-issue 32 KB / 32 KB, MMU
PJ1 (Mohawk) 5–8 stage pipeline, single-issue,
Wireless MMX2
32 KB / 32 KB, MMU 1.46 DMIPS/MHz
1.06 GHz
ARMv6 /
ARMv7-A
PJ4 6–9 stage pipeline, dual-issue,
Wireless MMX2, SMP
32 KB / 32 KB, MMU 2.41 DMIPS/MHz
1.6 GHz
Snapdragon
(Qualcomm)
ARMv7-A Scorpion
(QSD S4 )
1 or 2 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv3 FPU / NEON (128-bit wide)
256 KB L2 per core 2.1 DMIPS/MHz
Krait
(QSD S4 )
1, 2, or 4 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv4 FPU / NEON (128-bit wide)
4 KB / 4 KB L0,
16 KB / 16 KB L1,
512 KB L2 per core
3.3 DMIPS/MHz
ARMv8-A Kryo
(QSD 820)
4 cores ? 2.2 GHz
6.3 DMIPS/MHz
ThunderX
(Cavium)
ARMv8-A ThunderX 64-bit, with two models with 8–16
or 24–48 cores (×2 w/two chips)
? 2.2 GHz
AMD K12
(AMD)
ARMv8-A K12 K12 Core: 64-bit ARM (2016) ? ?
X-Gene
(Applied Micro)
ARMv8-A X-Gene 64-bit, quad issue, SMP, 64 cores Cache, MMU, virtualization 3.0 GHz
4.2 DMIPS/MHz
Denver
(nVIDIA)
ARMv8-A Denver
(Tegra K1/X2)
2 cores, AArch64, 7-wide superscalar, in-order,
dynamic code optimization, 128 MB cache,
Denver1: 28nm, Denver2:16nm
128 KB I-cache/
64 KB D-cache
2.5 GHz
Carmel
(nVIDIA)
ARMv8.2-A Carmel
(Drive Xavier)
2 cores, AArch64, 10-wide superscalar, in-order,
dynamic code optimization, ? MB cache,
functional safety, dual execution, parity & ECC
? KB I-cache
? KB D-cache
? GHz
Exynos
(Samsung)
ARMv8-A M1
("Mongoose")
4 cores, AArch64, 4-wide, quad-issue,
superscalar, out-of-order (Exynos 8890)
64 KB I-cache / 32 KB D-cache,
L2: 16-way shared 2 MB
2.6 GHz
5.1 DMIPS/MHz
ARMv8-A M2
("Mongoose")
4 cores, AArch64, 4-wide, quad-issue,
superscalar, out-of-order
64 KB I-cache / 32 KB D-cache,
L2: 16-way shared 2 MB
2.3 GHz
ARMv8-A M3
("Meerkat")
Exynos-M3
4 cores, AArch64, 6-decode, 6-issue,
6-wide. superscalar, out-of-order
64 KB I-cache / 32 KB D-cache,
L2: 8-way private 512 KB,
L3: 16-way shared 4 MB
2.7 GHz
ARMv8.2-A M4
("Cheetah")
2 cores, AArch64, 6-decode, 6-issue,
6-wide. superscalar, out-of-order
64 KB I-cache / 32 KB D-cache,
L2: 8-way private 512 KB,
L3: 16-way shared 4 MB
2.73 GHz
ARMv8.2-A M5
("Lion")
2 cores, AArch64, 6-decode, 6-issue,
6-wide. superscalar, out-of-order
64 KB I-cache / 64 KB D-cache,
L2: 8-way shared 2 MB,
L3: 12-way shared 3 MB
2.73 GHz
Apple Ax
(Apple)
ARMv7-A Swift
(Apple A6, A6X)
2 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv4 FPU / NEON
L1: 32 KB / 32 KB,
L2: 1 MB
3.5 DMIPS/MHz
ARMv8-A Cyclone
(Apple A7)
2 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv4 FPU / NEON /
TrustZone / AArch64, superscalar
L1: 64 KB / 64 KB,
L2: 1 MB,
SLC: 4 MB
1.3 GHz
1.4 GHz
ARMv8-A Typhoon
(Apple A8, 8X)
2 or 3 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv4 FPU / NEON /
TrustZone / AArch64
L1: 64 KB / 64 KB,
L2: 1 MB or 2 MB,
SLC: 4 MB
1.4 GHz
1.5 GHz
ARMv8-A Twister
(Apple A9, 9X)
(iPhone 6s / 6s Plus)
2 cores, ARM / Thumb / Thumb-2 /
DSP / SIMD / VFPv4 FPU / NEON /
TrustZone / AArch64
L1: 64 KB / 64 KB,
L2: 2 MB,
SLC: 4 MB or 0 MB
1.85 GHz
2.26 GHz
ARMv8.1-A Hurricane / Zephyr
(Apple A10, 10X)
(iPhone 7 / 7 Plus)
Hurricane: 2 or 3 cores, AArch64, 6-decode,
6-issue, 9-wide, out-of-order, superscalar
Zephyr: 2 or 3 cores, AArch64,
out-of-order, superscalar
L1: 64 KB / 64 KB,
L2: 3 MB or 8 MB
L1: 32 KB / 32 KB, L2: none,
SLC: 4 MB or 0 MB
2.34 GHz
or 2.38 GHz
1.05 GHz
ARMv8.2-A Monsoon / Mistral
(Apple A11 Bionic)
Monsoon: 2 cores, AArch64, 7-decode,
?-issue, 11-wide, superscalar, out-of-order
Mistral: 4 cores, AArch64, out-of-order,
superscalar, based on Swift
L1I: 128 KB, L1D: 64 KB,
L2: 8 MB
L1: 32 KB / 32 KB, L2: 1 MB,
SLC: 4 MB
2.39 GHz
.
1.70 GHz
ARMv8.3-A Vortex / Tempest
(Apple A12,A12X,A12Z)
(iPhone XS / XS Max)
Vortex: 2 or 4 cores, AArch64, 7-decode,
?-issue, 11-wide, superscalar, out-of-order
Tempest: 4 cores, AArch64, 3-decode,
out-of-order, superscalar, based on Swift
L1: 128 KB / 128 KB,
L2: 8 MB
L1: 32 KB / 32 KB, L2: 2 MB,
SLC: 8 MB
2.49 GHz
.
1.59 GHz
ARMv8.4-A Lightning / Thunder
(Apple A13 Bionic)
(iPhone 11 / 11 Pro /
11 Pro Max / SE2)
Lightning: 2 cores, AArch64, 7-decode,
?-issue, 11-wide, superscalar, out-of-order
Thunder: 4 cores, AArch64, out-of-order,
superscalar, 8x GPU, 7nm (TSMC)
L1: 128 KB / 128 KB,
L2: 8 MB
L1: 32 KB / 48 KB, L2: 4 MB,
SLC: 16 MB
2.66 GHz
.
1.73 GHz
ARMv8.5-A Firestorm / Icestorm
(Apple A14 Bionic)
(iPhone 12 /
iPad Air (4 Gen))
Firestorm: 2 cores. AArch64, 7-decode,
?-issue, 11-wide, superscalar, out-of-order
Icestorm: 4 cores, AArch64, out-of-order,
superscalar, 16x Neural Engine, 5nm (TSMC)
L1: 192 KB / 128 KB,
L2: 8 MB
L1: 128 KB / 64 KB, L2: 4 MB,
SLC: 16 MB
3.00 GHz
.
1.82 GHz
ARMv8.5-A Avalanche / Blizzard
(Apple A15)
Avalanche: 2 cores, AArch64, out-of-order,
superscalar, 8-decode, ?-issue, 14-wide
Blizzard: 4 cores, AArch64, out-of-order,
superscalar, 4-decode, ?-issue, 8-wide
L1: 192 KB / 128 KB,
L2: 12 MB
L1: 128 KB / 64 KB, L2: 4 MB,
SLC: 32 MB
2.93 GHz
or 3.23 GHz
2.02 GHz
ARMv8.5-A Everest / Sawtooth
(Apple A16)
Everest: 2 cores, AArch64, out-of-order,
superscalar, 8-decode, ?-issue, 14-wide
Sawtooth: 4 cores, AArch64, out-of-order,
superscalar, 4-decode, ?-issue, 8-wide
L1: 192 KB / 128 KB,
L2: 16 MB
L1: 128 KB / 64 KB, L2: 4 MB,
SLC: 24 MB
3.46 GHz
.
2.02 GHz
ARMv8.5-A Firestorm / Icestorm
(Apple M1)
Firestorm: 4, 6, 8, 16 cores, AArch64, out-of-order,
superscalar, 8-decode, ?-issue, 14-wide
Icestorm: 2 or 4 cores, AArch64, out-of-order,
superscalar, 4-decode, ?-issue, 7-wide
L1: 192 KB / 128 KB,
L2: 12, 24 or 48 MB
L1: 128 / 64 KB, L2: 4 or 8 MB,
SLC: 8, 24, 48 or 96 MB
3.2 GHz
or 3.23 GHz
2.06 GHz
ARMv8.5-A Avalanche / Blizzard
(Apple M2)
Avalanche: 4, 6, 8 cores, AArch64, out-of-order,
superscalar, 8-decode, ?-issue, 14-wide
Blizzard: 4 cores, AArch64, out-of-order,
superscalar, 4-decode, ?-issue, 8-wide
L1: 192 KB / 128 KB,
L2: 16 or 32 MB
L1: 128 KB / 64 KB, L2: 4 MB,
SLC: 8, 24 or 48 MB
3.49 GHz
.
2.42 GHz

Timeline

The following table lists each core by the year it was announced.  • List of ARM processors on Wikipedia

Year Classic cores Cortex cores Neoverse cores
ARM1-6 ARM7/8 ARM9 ARM10 ARM11 MCU ARM
(Cortex-M)
Real-time
(Cortex-R)
Application
(Cortex-A)
(32-bit)
Application
(Cortex-A)
(64-bit)
Application
(64-bit)
1985 ARM1
1986 ARM2
1989 ARM3
1992 ARM250
1993 ARM60
ARM610
ARM700
1994 ARM710
ARM7DI
ARM7TDMI
1995 ARM710a
1996 ARM810
1997 ARM710T
ARM720T
ARM740T
1998 ARM9TDMI
ARM940T
1999 ARM9E-S
ARM966E-S
2000 ARM920T
ARM922T
ARM946E-S
ARM1020T
2001 ARM7EJ-S
ARM7TDMI-S
ARM9EJ-S
ARM926EJ-S
ARM1020E
ARM1022E
2002 ARM1026EJ-S ARM1136J(F)-S
2003 ARM968E-S ARM1156T2(F)-S
ARM1176JZ(F)-S
2004 Cortex-M3
2005 ARM11MPCore Cortex-A8
2006 ARM996HS
2007 Cortex-M1 Cortex-A9
2008
2009 Cortex-M0 Cortex-A5
2010 Cortex-M4(F) Cortex-A15
2011 Cortex-R4
Cortex-R5
Cortex-R7
Cortex-A7
2012 Cortex-M0+ Cortex-A53
Cortex-A57
2013 Cortex-A12
2014 Cortex-M7(F) Cortex-A17
2015 Cortex-A35
Cortex-A72
2016 Cortex-M23
Cortex-M33(F)
Cortex-R8
Cortex-R52
Cortex-A32 Cortex-A73
2017 Cortex-A55
Cortex-A75
2018 Cortex-M35P(F) Cortex-A65AE
Cortex-A76
Cortex-A76AE
2019 Cortex-A77 Neoverse E1
Neoverse N1
2020 Cortex-M55(F) Cortex-R82 Cortex-A78
Cortex-X1
2021 Cortex-A510
Cortex-A710
Cortex-X2
Neoverse N2
2022 Cortex-M85(F) Cortex-A715
Cortex-X3

Application ARM-based chips


Devices

CPU: Intel StrongARM GDS1110BD @206MHz
MPU: SA-1110 RISC 32-bit (256-pin BGA)
GDS1110BC

See also