ARM是一种体系结构标准,从ARM7,ARM9到ARM11,再到Cortex-M0、Cortex-M3等系列,不同系列的处理器具有不同的指令集架构,如果只看指令集架构,M0和M3基本基于不同的指令集架构。ARM Cortex-M0处理器采用了ARMv6-M指令集架构,而ARM Cortex-M3处理器则采用了ARMv7-M指令集架构。
因此,M3进行位运算时可以一条指令完成,而M0要用两条指令。M3的指令集支持乘法和除法,而M0不支持这两个操作,这也是它更适合应用于只需要基本操作的低功耗应用的原因。
在性能方面,Cortex-M3处理器性能远超Cortex-M0。以频率为50MHz为例,Cortex-M3单周期执行指令所需时间只有33.3ns左右,而Cortex-M0则需要70ns左右,性能差异非常明显。
在功耗方面,Cortex-M0在相同的效率下需要更少的功耗,这使它成为低成本低功耗应用中的理想芯片。
在调试支持方面,Cortex-M3处理器与Cortex-M0处理器相比,有更完整的调试支持。Cortex-M3处理器支持JTAG、SWD等多种调试接口,调试工具丰富,而Cortex-M0仅支持SWD调试接口,对于调试M0的工程来说会有一定的局限性。
根据ARM官方的说明,Cortex-M3更适合于高性能应用,如家电、建筑自控、医疗和汽车等智能化应用,而Cortex-M0则更适合于低成本、低功耗应用。对于需要长时间待机的传感器应用、物联网、家庭自控等应用场景,Cortex-M0是一种理想的处理器选择。