ARM Cortex-M é uma família de núcleos de processador RISC de 32-bit licenciados pela ARM Holdings , principalmente usados em microcontroladores . Os núcleos que compõem a família são Cortex-M0, Cortex-M1, Cortex-M3, Cortex-M4.[ 1] [ 2] [ 3] [ 4]
Circuitos integrados ARM Cortex-M0 / Cortex-M3 da NXP e Energy Micro
As principais características do núcleo Cortex-M0 são:[ 1]
Arquitetura ARMv6-M[ 5]
Conjunto de Instruções
Thumb (maioria), sem CBZ, CBNZ, IT.
Thumb-2 (subconjunto), apenas BL, DMB, DSB, ISB, MRS, MSR.
Multiplicação de hardware (32-bit), 3 ciclos ou 32 ciclos (silicon option )
Pipeline de 3 estágios
Os seguintes fornecedores desenvolvem microcontroladores baseados no núcleo Cortex-M0:
As principais características do núcleo Cortex-M1 são:[ 2]
Arquitetura ARMv6-M[ 5]
Conjunto de Instruções
Thumb (maioria), sem CBZ, CBNZ, IT.
Thumb-2 (subconjunto), apenas BL, DMB, DSB, ISB, MRS, MSR.
Multiplicação de hardware (32-bit), 3 ciclos ou 33 ciclos (silicon option )
Os seguintes fornecedores de FPGAs dão suporte ao Cortex-M1:
mbed com microcontrolador NXP LPC1768
As principais características do núcleo Cortex-M3 são:[ 3] [ 6]
Arquitetura ARMv7-M[ 7]
Suporte a instruções Thumb e Thumb-2
Pipeline de 3 estágios com branch predictor
1 a 240 interrupções de hardware , mais NMI
Latência de interrupções de 12 ciclos
Modos sleep integrados
MPU com 8 regiões
1.25 DMIPS/MHz
0,19 mW/MHz
0,86 mm2 (núcleo + periféricos)
Vários modelos de PCB com sistema SoCs são implementados com o núcleo Cortex-M3, incluindo:
Conceitualmente, o Cortex-M4 é um Cortex-M3 com Instruções DSP, e uma Unidade de Ponto Flutuante opcional. Se o núcleo contém a unidade de ponto flutuante, é conhecido como Cortex-M4F. As principais características do núcleo Cortex-M4 são:[ 4]
Arquitetura ARMv7-ME[ 7]
Suporte a instruções:
Thumb (total)
Thumb-2 (total)
Multiplicador de hardware de 1 ciclo (32-bit), divisão de hardware de 2-12 ciclos (32-bit)
Extensão DSP: 16/32-bit MAC de único ciclo, 16-bit MAC duplo de único ciclo, aritmética 8/16-bit SIMD.
Extensão de ponto flutuante (silicon option ): Unidade de ponto flutuante de precisão simples, chamada FPv4-SP.
Pipeline de 3 estágios com branch predictor
1 a 240 interrupções de hardware , mais NMI
Latência de interrupções de 12 ciclos
Modos sleep integrados
MPU com 8 regiões (silicon option )
1,25 DMIPS/MHz
Os seguintes fornecedores desenvolvem microcontroladores baseados no núcleo Cortex-M4:
Referências