STM32嵌入式微控制器 | 复习二 | Cortex - M3体系结构

一、Cortex-M3处理器主要特点

  1. 内核是ARMv7-M体系结构
  2. 哈佛结构
  3. 内核支持低功耗模式
  4. 引入分组堆栈指针机制,把系统程序使用的堆栈和用户程序使用的堆栈分开。
  5. 支持非对齐数据访问
  6. 定义了统一的存储器映射
  7. 位绑定操作
  8. 高效的Thumb-2指令集
  9. 32位硬件除法和单周期乘法
  10. 三级流水线和转移预测
  11. 内置嵌套向量中断控制器
  12. 拥有先进的故障处理机制
  13. 支持串行调试
  14. 极高性价比

二、Cortex-M3的工作模式及状态

CM3中提供一种存储器访问的保护机制,使得普通的用户程序代码不能意外地或恶意地执行涉及要害的操作,因此处理器为程序赋予两种权限,分别为特权级和用户级。

1、访问级别:特权级和用户级,出于安全考虑,防止意外、恶意访问破坏重要数据。

2、工作模式:处理模式和线程模式,分别用于处理异常和普通程序。

线程模式:在复位时处理器进入线程模式;异常返回时处理器进入线程模式;在线程模式下,所有代码可由特权级和用户级访问;

处理模式:出现异常时处理器进入处理模式;在处理模式中,所有代码只能由特权级访问;

3、工作状态:Thumb状态和调试状态

Thumb状态:16位和32位“半字对齐”的Thumb和Thumb-2指令的执行状态。

调试状态:处理器停止并进行调试的状态。

三、ARM数据存储格式(数据类型、大端小端格式)

1、ARM数据类型
ARM处理器支持以下6种数据类型:
字节(Byte)数据: 8位有符号、无符号。
半字(Halfword)数据:16位有符号、无符号
(Word)数据:32位有符号、无符号
(不要求半字对齐、字对齐。)

2、大端格式
在这种格式中,字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。
数据0x12345678的存储情况如下: 78 | 56 | 34 | 12
在这里插入图片描述

3、小端格式
在小端存储格式中,低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。
数据0x12345678的存储情况如下: 12 | 34 | 56 | 78
在这里插入图片描述

四、Cortex-M3的流水线

三级流水线:取指、译码、执行

五级流水线:取指、译码、运算、写存储器、写寄存器

五、异常和中断的概念

异常:在正常的程序执行过程中发生非正常情况(包括访问存储器(含取指)失败、遇到未定义指令、执行中断指令、数据溢出、调试程序、软复位等非正常情况)使CPU停止正在执行的程序,并转去执行相应的处理程序,这样的情况叫作异常。

中断:是指各种设备请求CPU处理特定的操作,包括传输信息、处理故障等。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值