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.
Cortex-M0 Características As principais características do núcleo Cortex-M0 são:Cortex-M0 r0p0 Technical Reference Manual; ARM Holdings. Arquitetura ARMv6-MARMv6-M Architecture Reference Manual; ARM Holdings. 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
Implementação Os seguintes fornecedores desenvolvem microcontroladores baseados no núcleo Cortex-M0: Energy Micro EFM32 família Zero Gecko NXP família LPC11xx, LPC12xx nuvoTon família NuMicro STMicroelectronics STM32 família F0 Cypress Semiconductor PSoC 4 Freescale família Kinetis L (Cortex M0+)
Cortex-M1 Características As principais características do núcleo Cortex-M1 são:Cortex-M1 r1p0 Technical Reference Manual; ARM Holdings. Arquitetura ARMv6-M 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)
Implementações Os seguintes fornecedores de FPGAs dão suporte ao Cortex-M1: Actel FPGAs Altera FPGAs Xilinx FPGAs
Cortex-M3
Características As principais características do núcleo Cortex-M3 são:Cortex-M3 r2p0 Technical Reference Manual; ARM Holdings.
Arquitetura ARMv7-MARMv7-M Architecture Reference Manual; ARM Holdings. 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)
Implementações Vários modelos de PCB com sistema SoCs são implementados com o núcleo Cortex-M3, incluindo: Actel família SmartFusion Atmel família SAM3S, SAM3U, e SAM3N. NXP famílias 17xx e 13xx; STMicroelectronics família STM32; Texas Instruments família Stellaris e também incluído em alguns SoCs OMAPs 4; Toshiba Série TX03
Cortex-M4 Características 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:Cortex-M4 r0p1 Technical Reference Manual; ARM Holdings. Arquitetura ARMv7-ME 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
Implementações Os seguintes fornecedores desenvolvem microcontroladores baseados no núcleo Cortex-M4: Atmel família SAM4 (Cortex-M4) Freescale famílias Kinetis (Cortex-M4 and Cortex-M4F) STMicroelectronics STM32 família F4 (Cortex-M4F) Texas Instruments família Stellaris LM4F (Cortex-M4F)
Ver também RISC
Ligações externas
ARM Cortex-M Website, arm.com Cartões de Referência Rápida para Instruções "(em inglês)": Thumb, ARM and Thumb-2, Vector Floating Point ARM Cortex-M3 - ARM Processor RISC vs. CISC in the mobile era Cortex-M3/STM32 JTAG Embedded Test
Categoria:Arquitetura ARM