news 2026/9/25 23:50:00

Armv7的寄存器介绍

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Armv7的寄存器介绍

一、介绍

ARMv7 架构下核心寄存器分为通用寄存器、程序状态寄存器、专用寄存器三类,不同模式下部分寄存器有备份(banked),作用如下:

1. 通用寄存器 (R0-R15)

- R0-R7:未备份通用寄存器,所有处理器模式共享,用于临时数据存储、函数参数传递与返回值传递。

- R8-R12:部分备份寄存器,FIQ 模式有独立备份(R8_fiq-R12_fiq),避免 FIQ 中断处理破坏原有数据。

- R13 (SP):栈指针寄存器,各模式有独立备份,存放当前模式下栈顶地址。

- R14 (LR):链接寄存器,各模式有独立备份,保存函数调用的返回地址或异常处理的返回地址。

- R15 (PC):程序计数器,存储下一条要执行的指令地址,ARM 状态下指向当前指令 + 8 字节。

2. 程序状态寄存器 (CPSR/SPSR)

- CPSR:当前程序状态寄存器,记录 ALU 运算标志(N/Z/C/V)、中断屏蔽位(I/F)、处理器模式位(M[4:0])等,所有模式共享。

- SPSR:备份程序状态寄存器,仅异常模式拥有,用于保存进入异常前的 CPSR 值,异常返回时恢复 CPSR。

3. 专用寄存器

- 包括 CP15 协处理器寄存器(用于存储系统控制、内存管理、缓存配置等信息)、TPIDRPRW(线程 ID 寄存器)等,负责架构的底层控制与扩展功能。

二、不同模式下的寄存器

ARMv7 支User/System/IRQ/FIQ/SVC/Abort/Undefined 7 种模式,其中 User/System 为非异常模式,其余为异常模式,不同模式下寄存器的 banked(备份)情况不同,映射如下:

说明:

1. System 模式与 User 模式寄存器完全相同,无 SPSR,用于运行特权级系统任务。

​

2. FIQ 模式对 R8-R12 额外备份,目的是减少中断处理时的寄存器入栈开销,提升响应速度。

​

3. 所有异常模式均有独立的 R13/R14 和 SPSR,避免异常处理破坏原模式的运行上下文

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 19:40:30

智能笔记管理:如何高效组织你的每日任务与灵感

智能笔记管理:如何高效组织你的每日任务与灵感 【免费下载链接】DailyNotes App for taking notes and tracking tasks on a daily basis 项目地址: https://gitcode.com/gh_mirrors/da/DailyNotes 每天面对繁杂的任务和零散的灵感,你是否也曾感到…

作者头像 李华
网站建设 2026/9/25 19:40:31

终极指南:如何快速掌握 My Mind 免费在线思维导图工具

终极指南:如何快速掌握 My Mind 免费在线思维导图工具 【免费下载链接】my-mind Online Mindmapping Software 项目地址: https://gitcode.com/gh_mirrors/my/my-mind My Mind 是一款功能强大的免费在线思维导图应用,专为需要高效整理思维的用户设…

作者头像 李华
网站建设 2026/9/26 9:07:08

Vim插件管理器VAM终极指南:从零开始构建高效开发环境

作为一名Vim用户,你是否曾经为插件管理而烦恼?插件依赖冲突、手动更新困难、启动速度缓慢……这些痛点正在阻碍你享受Vim带来的高效开发体验。今天,让我们一起来探索Vim插件管理器VAM,这款能够彻底改变你Vim使用方式的强大工具。 …

作者头像 李华
网站建设 2026/9/25 19:46:03

AgentWeb终极指南:Android混合开发的一站式解决方案

AgentWeb终极指南:Android混合开发的一站式解决方案 【免费下载链接】AgentWeb AgentWeb is a powerful library based on Android WebView. 项目地址: https://gitcode.com/gh_mirrors/ag/AgentWeb 还在为Android应用中WebView与原生组件的割裂体验而烦恼吗…

作者头像 李华
网站建设 2026/9/25 19:46:03

事件循环机制

浏览器的进程模型何为进程?程序运行需要有它自己专属的内存空间,可以把这块内存空间简单理解为进程每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。何为线程?有了进程后,…

作者头像 李华
网站建设 2026/9/26 1:00:05

TikTok 电商全球新棋局:从野蛮生长到精耕细作,谁能站稳脚跟?

全球电商版图正在被内容平台重塑,TikTok以其庞大的全球用户基础,已经成为品牌出海不可忽视的“新货架”,当市场进入爆发期,真正的挑战已转向商家能否在内容创新、本土化运营与敏捷供应链上构建系统性能力。一、市场与规则&#xf…

作者头像 李华