Cet article est uneébauche concernant lamicroélectronique.
ARM Cortex-M est une famille de processeurRISC32-bits d'architecture ARM servant à la fois demicroprocesseur et demicrocontrôleur à destination de l'embarqué. Elle implémente d'abord lejeu d'instructions ARMv6-M (Cortex-M0, Cortex-M0+ et Cortex-M1) puis le ARMv7-M (Cortex-M3, Cortex-M4 et Cortex-M7)[1]. Cette famille a été développée parARM Ltd parallèlement à la familleCortex-A (ARMv7-A) destinée au marché dessmartphones ettablettes tactiles et à la familleCortex-R (ARMv7-R) destinée autemps réel.
La carte enmatériel libreArduino Due est équipée d'un Cortex-M3[2].
La cartesynthétiseur audio enmatériel libreAxoloti utilise un Cortex-M4F, leSTM32 F4 deSTMicroelectronics[3].
Le cœur Cortex-M0 est optimisé pour une petite taille de puce desilicium, il est notamment utilisé dans les puces de bas prix.
Caractéristique du cœur Cortex-M0 :
Options de silicium :
Les microcontrôleurs suivants sont basés sur le cœur Cortex-M0 :
PSoC 4, 4M, 4L, Infineon XMC1000, Nordic nRF51, NXP LCP1100, LCP1200, Famille NuvoTon NuMicro M0, Sonix SN32F700,STMicroelectronicsSTM32 F0,Toshiba TX00, Vorago VA10800 (température extrême), VA10820 (trempé aux radiations).
Les puces suivantes ont un Cortex-M0 comme cœur secondaire :
NXP LPC4300(un Cortex-M4F + un Cortex-M0)Les microcontrôleurs sans fil CC1310, CC1312, CC1352 et CC2650 deTexas Instruments, avec unprocesseur réseau Cortex-M3+ (CC1310) ou Cortex-M4 (CC1312 et CC1352) ainsi qu'un processeur réseau Cortex-M0 programmable plus un moteur de contrôleur de capteur breveté.
Le Cortex-M3 est d'architecture ARMv7-M, il possède 3 bus AMBA 3 AHB-Lite et une unité de protection mémoire[4] :
Il est notamment utilisé dans lesSTMicroelectronicsSTM32 F1 etF2, lesRockchipRKnanoC etRKnanoD,Realtek RTL8710.
Le Cortex-M4 ajoute unDSP et, dans sa version Cortex-M4F, comporte également une unité de calcul flottant[5] :
Optionnel :
Il est notamment utilisé dans lesSTMicroelectronicsSTM32 F3 etF4 en version M4F.
C'est le plus performant des processeurs de la série Cortex-M[6]
Il est notamment utilisé dans lesSTMicroelectronicsSTM32 F7 etH7.
Dans le domaine des microcontrôleurs, l'architecture ARMv8 reste en 32 bits, contrairement aux domaine des Applications (Cortex-A) où l'on trouve à la fois quelques 32 bits et une majorité de 64 bits (AARCH64).
Le Cortex-M23 est annoncé en il est basé sur la nouvelle architecture ARMv8-M (un sous-ensemble des instructionsARMv8 ne comportant pas d'instructions 64 bits d'AArch64).
Il a les caractéristiques du Cortex-M0+, mais comporte, en plus des instructions de division d'entier, des fonctionnalités de sécurité TrustZone et un pipeline d'instruction en 2 étapes[7] :
Il a les caractéristiques du Cortex-M4, comporte en plus les fonctionnalités de sécurité TrustZone et un pipeline d'instruction en 3 étapes[8] :
Optionnel :
Sur les autres projets Wikimedia :
CPU |
| ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GPU | |||||||||||||||
VPU | |||||||||||||||
SoC |
| ||||||||||||||
Bus |
| ||||||||||||||
Systèmes d'exploitation |
|