IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> ARM的工作模式以及寄存器组织(回顾复习) -> 正文阅读

[嵌入式]ARM的工作模式以及寄存器组织(回顾复习)

一、ARM处理器主要分为A系列处理器以及M系列处理器,不同的处理器工作模式也不相同,现在就A系类以及M系列的工作模式来做一下总结。

1、关于cortex-A系列工作模式

2.关于cortex-M系列工作模式

?总结:对于不同的处理器,都是在特定的模式下执行特定的代码,完成特定的功能。

二、ARM的寄存器组织(ARM-v7)

1、在了解寄存器的组织之前,先来了解一下ARM处理器的大致框图

?

icache:高速指令缓存

dcache:高速数据缓存

控制器:负责控制程序的运行

运算器:处理数据运算以及将运行的结果写回寄存器中

寄存器:存储数据(注:空间有限,只有100多字节,而且不能取地址操作(后面介绍为什么不能取地址))

对于他们读写数据的快慢来说,内核中的寄存器是速度最快的,其次就是缓存,然后就是内存,最后是硬盘

2、ARM-v7寄存器组织

1、寄存器是没有地址的,只能通过编号进行访问,对于ARM-v7架构来说,每个寄存器都是32位的(一条汇编指令首先被编译生成32位的机器码,这个机器码中需要包含指令中的信息,如果在加上地址信息就存不上了(采用压缩可以吗?答案:不可以,如果采用压缩的方式,岂不是更加麻烦了))。

2、banked(灰底)是属于对应模式私有的寄存器,其他的都属于公有的寄存器,如果对应的模式下,有私有的寄存器,那么它就不能访问公有的寄存器(比如说在FIQ模式下,不能访问公有r8寄存器,只能访问自己私有的r8_fiq寄存器),浅色字体代表只能访问到用户模式下的寄存器(比如说在IRQ模式下只能访问用户模式下的r0寄存器)

3、用户模式和系统模式公用一套寄存器组织

4、特殊寄存器介绍:

? ? ? ? sp寄存器(r13寄存器):栈指针寄存器--->用来压栈保存现场的

? ? ? ? lr寄存器(r14寄存器):链接寄存器--->用来保存返回地址的

? ? ? ? pc寄存器(r15寄存器):程序计数寄存器--->存放当前指令的地址(完成取指操作,pc的值? ? ? ? ? ? ? 会自动加4指向下一条指令)

? ? ? ? cpsr寄存器:当前程序状态寄存器--->保存当前程序的运行状态

????????(1)N[31]位 ----> 指令的运算结果为负数,N位被自动置1, 否则清0.

????????(2)Z[30]位 ----> 指令的运算结果为零,Z位被自动置1,否则清0.

????????(3)C[29]位 ---->加法:进行加法运算时,如果产生进位,C位被自动置1,否则清0.

?? ? ? ? ? ? ? ? ? ? ?进位:低32位向高32位进位(溢出的标志位)。

?? ? ? ? ? ? ? ? ? ? ?减法: 进行减法运算时,如果产生借位,C位被自动清0,否则置1.

?? ? ? ? ? ? ? ? ? ? ?借位:低32位向高32位借位。

????????(4)V[28]位 ----> 如果符号位发生变化,V位被自动置1,否则清0.

????????(5)I[7]位 ----> IRQ的屏蔽位;I = 1表示屏蔽IRQ类型的中断;I = 0表示不屏蔽IRQ类型的中断

????????(6)F[6]位 ----> FIQ的屏蔽位;F = 1表示屏蔽FIQ类型的中断;F = 0表示不屏蔽FIQ类型的中断

????????(7)T[5]位 ----> 状态位;T = 0:?ARM状态,执行的是ARM指令集,ARM指令的宽度是4个字节。

?? ? ? ? ? ? ? ? ? ? ? ? ? T = 1:Thumb状态,执行的是Thumb指令集,Thumb指令的宽度是2个字节。

????????(8)M[4:0]位 ---> 模式位

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10000 User mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10001 FIQ mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10011 SVC mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10111 Abort mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?11011 Undfined mode;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 11111 System mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10110 Monitor mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10010 IRQ mode;

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ?注:其他的值保留。

? ? ? ? spsr寄存器:保存程序状态寄存器--->主要对cpsr寄存器进行备份

三、ARM的寄存器组织(ARM-v8)

?

?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-07-20 19:03:54  更:2022-07-20 19:04:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 16:59:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计