该处理器采用了基于冯诺依曼架构(单总线接口),使用32位的精简指令集(RISC)。该指令集被称为Thumb(首次使用在ARM7TDMI上)。Thumb-2指令扩展了Thumb的应用,允许所有的操作都可以在同一种CPU状态下执行。Thumb-2集既包括16位的指令,也包括32位的指令。C编译器生成的指令大都是16位的,而当16位指令无法实现所需要的操作时,32位的指令就会发挥作用了。该优点是---在代码密度提高的同时,还避免了两套指令集之间进行切换所带来的开销。
处理器的核心包括寄存器组、算术逻辑单元(ALU)、数据总线和控制逻辑。流水线根据设计可以分为三种状态:取指、译码、执行。寄存器组包含16个32位寄存器,其中的一些寄存器具有特殊的用途。/***********************************************************************************************************************************************************/
2.2.2应用特性
@中断数量可以配置(1·32个)。
@快速乘法器(单周期)和小型乘法器(较小的硅片面积,低功耗,32周期)可供选择。
@支持大端或小端存储器。
@可选择的唤醒中断控制器(WIC),处理器可以在休眠状态下掉电以降低功耗,而WIC可以在中断发生时唤醒系统。
@极低的门数量,可用于混合信号半导体工艺。
/******************************************************************************************************************************************/
2.2.4 其他特性
@与Cortex-M1处理器相兼容,CortexM1的用户很容易将他们在FPGA上的设计移植到ASIC上。
@向上兼容Cortex-M3和Cortex-M4处理器,他们支持Cortex-M0的所有指令。
/*************************************************************************************************************************
Cortex-M0的优势
与Cortex-M0处理器相比,传统的8位机和16位机有许多架构上的局限性:
@其一,是其存储器容量,而程序空间和内存大小直接影响着嵌入式产品的功能。
@其二,倘若8位机和16位机也使用较大的存储区域,由于地址总线宽度的限制,只有将存储器空间进行分页访问。这样会到来编写程序的难度增加。 而ARM微控制器使用32位线性地址空间,无需使用分页访问,这样使得操作更加容易,同时效率也会更高。
@其三,8位机的另外一个局限性是他所使用的指令集,如8051在进行数据处理和内存传输时,严重依赖累加寄存器。
@其四,寻址方式也是制约8位机的因素之一。
/*******************************************************************************************************************************