Cortex-M0微控制器概述及性能分析.pdf
文本预览下载声明
Cortex-M0微控制器概述及性能
分析
目录
• NXP 微控制器介绍
• Cortex-M0介绍
• LPC111x系列产品介绍
• LPC111x微控制器性能分析
• 开发工具
NXP 微控制器介绍
NXP微控制器
所有的微控制器都是不同的
ARM公司提供了同样的物理IP
– 处理器核、内部总线和中断控制器等
– 但最终的结果是不一样的
架构选择、实现、性能优化及电源管理等带来很大的不同
– 微控制器厂商的实现将会影响到芯片的性能、功耗和应用难度等
例如:
– Flash存储器性能
– 外设稳定性
– 集成度
– 调试功能
改变微控制器世界
Cortex-M0介绍
ARM Cortex-M0处理器
32为ARM RISC处理器
– 16位Thumb指令集
功耗与面积高度优化
– 设计专用于低成本、低功耗场合
中断现场自动保存
– 极低的进入与退出中断的软件开销
确定的指令执行时间
– 指令总是同时执行
Thumb指令集
32位的操作码,16位的指令系统
– 应用于ARM7TDMI (‘T’代表Thumb )
– 自ARM处理器问世以来都支持Thumb指令集
– 更小的代码规模
Thumb2指令集
– 处理器所有的操作都能在Thumb状态下完成
– 16位指令与32位指令并存
– Cortex系列处理器都能支持
指令集系统
基于ARM7TDMI 的16位Thumb指令系统
– 仅56条指令,且指令执行时间都是确定的
– 完成8、16或32位的数据传输只需一条指令
Dhrystone – 0.9DMIPS/MHz
内部寄存器
所有的寄存器都是32位的
– 特殊指令能够支持对8/16/32位数据的处理
13个通用寄存器(R0 ~ R12)
– R0 – R7 (低位寄存器)
– R8 – R12 (高位寄存器)
3个特殊功能寄存器(R13 ~ R15)
– 堆栈指针R13 (SP )
– 连接寄存器R14 (LR)
– 程序计数器R15 (PC)
程序状态寄存器组(xPSR )
指令行为
绝大多数指令占用2字节的存储空间
指令执行占用确定的时间
– 数据处理(例如加,移位,逻辑或)1个时钟周期内完成
– 数据传送(例如加载,存储)需2个时钟周期
– 分支转移指令只需3个时钟周期
指令都是基于32位的数值操作
– 处理器的寄存器和算术逻辑单元(ALU )都是32位宽的!
示例:16位乘法
下面以对一个设备的10位模数转换器(ADC )操作处理
的来作比较
– 转换数据基本的滤除处理操作需一次16位的乘法操作
– 对16位乘法操作对比如下
嵌套向量中断控制器(NVIC)
NVIC更有效地处理异常中 – “咬尾中断”机制和晚到异常
断 处理
– 集成于处理器内部,与CPU 完全确定的异常处理时间
内核紧密耦合 – 异常处理花销的周期总是保
– 高效处理系统异常( 持一定
Exceptions)和中断( – 16
显示全部