ARM1
ARM1
Optimized for code density from C code (~65% of ARM code size)
TCM is fast SRAM located close to the core and guarantees the
clock cycles required to fetch instructions or data—critical for
real-time algorithms requiring deterministic behavior.
این نی از بهوس یلهی “معم اری ام نیت پلتف رم” ت أمین میش ود.
یکی از فناوریهای بسیار مؤثر در این زمینه ،فناوری Trustzone
ARM Processor Features
Trustzone Technology
راهکار TrustZoneجداسازی سختافزاری محیط امن از محیط
ناامن اس ت .بهطوریک ه نرمافزاره ای ناامن امک ان دسترس ی
مستقیم به منابع محافظتشده را نداشته باشند.
نرمافزارها یا در محیط امن قرار دارند یا در محیط غیر امن،
امک ان س وییچ بین این دو بهوس یله نرماف زار دیگ ری ب ه ن ام
secure monitorفراهم میشود.
ARM7 ARM10
Cortex family
ARM processor family
Architecture Core bit-width Cores Profile
ARMv1 32 ARM1 Classic
ARMv2 32 ARM2, ARM250, ARM3 Classic
ARMv3 32 ARM6, ARM7 Classic
ARMv4 32 ARM8 Classic
ARMv4T 32 ARM7TDMI, ARM9TDMI, SecurCore SC100 Classic
ARMv5TE 32 ARM7EJ, ARM9E, ARM10E Classic
ARMv6 32 ARM11 Classic
ARMv6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1, SecurCore SC000 Microcontroller
ARMv7-A 32 ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17 Application
ARMv7-M 32 ARM Cortex-M3, SecurCore SC300 Microcontroller
ARMv7-R 32 ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7, ARM Cortex-R8 Real-time
ARMv7E-M 32 ARM Cortex-M4, ARM Cortex-M7 Microcontroller
ARMv8-A 32 ARM Cortex-A32 Application
ARMv8-A 64/32 ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73 Application
ARMv8-A 64 ARM Cortex-A34 Application
ARMv8-M 32 ARM Cortex-M23, ARM Cortex-M33 Microcontroller
ARMv8-R 32 ARM Cortex-R52 Real-time
ARMv8-R 64 ARM Cortex-R82 Real-time
ARMv8.1-A 64/32 TBA Application
ARMv8.2-A 64/32 ARM Cortex-A55, ARM Cortex-A75, ARM Cortex-A76, ARM Cortex-A77, ARM Cortex-A78, ARM Cortex-X1, ARM Neoverse N1 Application
ARM Cortex-A65, ARM Neoverse E1 with simultaneous multithreading (SMT), ARM Cortex-A65AE (also having e.g. ARMv8.4 Dot
ARMv8.2-A 64 Application
Product; made for safety critical tasks such as advanced driver-assistance systems (ADAS))
ARMv8.3-A 64/32 TBA Application
ARMv8.3-A 64 TBA Application
ARMv8.4-A 64/32 TBA Application
ARMv8.4-A 64 ARM Neoverse V1 Application
ARMv8.5-A 64/32 TBA Application
ARMv8.5-A 64 TBA Application
ARMv8.6-A 64 TBA Application
ARMv8.7-A 64 TBA Application
ARMv9-A 64 ARM Cortex-A510, ARM Cortex-A710, ARM Cortex-A715, ARM Cortex-X2, ARM Cortex-X3, ARM Neoverse N2 Application
ARM Processor Families
Summary of Processors’ Characteristics
The Cortex-M processor family
The Cortex-M processor family
Cortex-M0
A very small processor (starting from 12K gates) for low cost, ultra low
power microcontrollers and deeply embedded applications
Cortex-M0+
The most energy-efficient processor for small embedded system.
Similar size and programmer’s model to the Cortex-M0 processor, but with
additional features like single cycle I/O interface and vector table relocations
Cortex-M1
A small processor design optimized for FPGA designs and provides Tightly
Coupled Memory (TCM) implementation using memory blocks on the
FPGAs. Same instruction set as the Cortex-M0
The Cortex-M processor family
Cortex-M3
In addition, it also have an optional single precision floating point unit that
support IEEE 754 floating point standard
The Cortex-M processor family
Cortex-M7
It has all the ISA features available in Cortex-M4, with additional support
for double-precision floating point, as well as additional memory features
like cache and Tightly Coupled Memory (TCM)
ARM Cortex-M optional components
Arm Core Cortex M0 Cortex M1 Cortex M3 Cortex M4 Cortex M7
decoding: A
B
169
208
4
6
16
32
C 48 8 64
STM32 xx ww y z F 20 B 128
G 28
Z 192
H 40
STM32 L4 76 V G I 176
C
D
256
384
J 8/72
E 512
K 32
F 768
M 81
G 1024
N 216
Cortex-M4F Q 132 H 1536
I 2048
LQFP100 package R 64
T 36
U 63
V 100
Z 144
1 Mbyte of Flash