首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

《Cortex-M0权威指南》之Cortex-M0技术综述

《Cortex-M0权威指南》之Cortex-M0技术综述

本帖最后由 yuchengze 于 2016-12-27 12:27 编辑

Cortex-M0 处理器简介  1. Cortex-M0 处理器基于冯诺依曼架构(单总线接口),使用32位精简指令集(RISC),该指令集被称为Thumb指令集。与之前相比,新的指令集增加了几条ARMv6架构的指令,并且加入了eThumb-2指令集的部分指令。Thumb-2技术扩展了Thumb的应用,允许所有的操作都可以在同一种CPU状态下执行。Thumb指令集既包括16位指令,也包括32位指令。C编译器生成的指令大部分是16位的,当16位的指令无法实现所需要的操作时,32位指令就会发挥作用。这样以来,在代码密度得到提升的同时,还避免了两套指令集之间进行切换带来的开销
  2. Cortex-M0总共支持56个基本指令,其中某些指令可能会有多种形式。相对于Cortex-M0较小的指令集,其处理器的能力可不一般,因为Thumb是经过高度优化的指令集。从理论来说,由于读写存储是的指令是相互独立的,而且算数或逻辑操作的指令使用寄存器,Cortex-M0处理器可以被归到加载-存储(load-store)结构中。

   3. 处理器核心包括:
  • 寄存器组 包含16个32位寄存器,其中有一些特殊寄存器
  • 算术逻辑单元
  • 数据总线
  • 控制逻辑
  流水线根据设计可分为三种状态: 取指、译码、执行。


  4. 嵌套向量中断控制器(NVIC)可以处理最多32个中断请求和一个不可屏蔽中断(NMI)输入。
  5. NVIC需要比较这个在执行中断和请求中断的优先级,,然后自动执行高优先级的中断。
  6. 如果要处理一个中断,NVIC会和处理器进行通信,通知处理器执行中断处理程序。
  7. 唤醒中断控制器(WIC)为可选的单元,在低功耗应用中,在关闭了处理器大部分模块后,微控制器会进入待机装填,此时,WIC可以在NVIC和处理器处于休眠的情况下,执行中断屏蔽功能。当WIC检测到一个中断时,会通知电源管理部分给系统商店,让NVIC和处理器内核执行剩余的中断处理。
  8. 关于调试子系统,当调试事件发生时,处理器内核会被置于暂停状态,这是开发人员可以检查当前处理器的状态。硬件调试工具有JTAG和SWD(串行线调试)。



ARM Cortex-M0 处理器的特性系统特性

    thumb指令集,具有高效和高代码密度
    高性能,最高达到0.9DMIPS/MHz
    内置的嵌套向量中断控制器(NVIC),中断配置和异常处理容易
    确定的中断响应事件,中断等待事件可以被设定为固定值或最短事件(最小16个时钟周期)
    不可屏蔽中断(NMI),对高可靠性系统非常重要
    内置的系统节拍定时器(systick)。24位定时器,可被操作系统使用,或者用作通用定时器,架构中已经包含专用的异常类型
    请求管理调用,具有SVC异常和PendSV异常(可挂起的管理服务),支持嵌入式os的多种操作
    架构定义的休眠模式和进入休眠的指令,休眠特性能大大降低能量的消耗。由于进入休眠状态需要使用特定的指令,而不是使用寄存器,架构定义的休眠模式也提高了软件的可移植性。
    异常处理可以捕获到系统中的多种错误。

应用特性

    中断数量可配置
    支持大端或小端存储器
    可选择的唤醒中断控制器(WIC),处理器可以在休眠状态下掉电以降低功耗,而WIC可以在中断发生时唤醒系统
返回列表