ARM的工作模式

 ARM的几种工作模式

  • User : 非特权模式,大部分任务执行在这种模式
  • FIQ : 当一个高优先级(fast) 中断产生时将会进入这种模式
  • IRQ : 当一个低优先级(normal) 中断产生时将会进入这种模式

 

  • Supervisor(SVC) : 当复位或软中断指令执行时将会进入这种模式
  • Abort : 当指令存取异常时将会进入这种模式
  • Undef : 当执行未定义指令时会进入这种模式
  • System : 使用和User模式相同寄存器集的特权模式

Cortex-A特有模式:

  • Monitor : 是为了安全而扩展出的用于执行安全监控代码的模式

 

user模式(User Mode)

ARM架构中的用户模式(User Mode)是指处理器运行在一种受限的模式下,用于执行用户级的应用程序。在用户模式下,处理器只能访问用户空间的资源,而无法直接访问操作系统或其他特权级的资源。

用户模式提供了一种安全和隔离的环境,以保护操作系统和其他特权级别的资源免受用户应用程序的非法访问或破坏。用户模式下的应用程序只能访问自己的内存空间和限定的设备资源,不能直接进行特权级操作。

用户模式下的应用程序运行在用户空间,可以执行常见的计算和应用逻辑,但对于一些需要特权级别的操作,如访问硬件设备、进行系统调用、执行特权指令等,需要通过操作系统提供的接口或中断来进行。操作系统会在合适的时机切换处理器到特权模式,执行相应的特权操作,然后再切换回用户模式,将控制权交还给应用程序。

用户模式的优点在于提供了一种受限的执行环境,可以有效保护系统的稳定和安全性。用户模式下的应用程序无法直接影响操作系统和其他应用程序,从而提高了系统的可靠性和安全性。

FIQ模式(Fast Interrupt Request)

FIQ模式是ARM处理器的一种特殊工作模式。在ARM架构中,有两种类型的中断:IRQ(Interrupt Request,普通中断)和FIQ(快速中断)。FIQ模式是为了处理实时要求更高、优先级更高的中断而设计的。

在FIQ模式下,处理器会自动执行一系列的操作,以提高中断的处理速度。FIQ模式具有以下特点:

  1. 单独的FIQ中断向量表:与普通中断的向量表相分离,可以独立管理和处理优先级更高的中断。
  2. 快速中断服务:相比于普通中断,FIQ模式下的中断服务处理速度更快。
  3. 优先级更高:FIQ中断的优先级高于普通中断,可以在处理普通中断时屏蔽FIQ中断,但无法屏蔽普通中断。
  4. 寄存器保护:进入FIQ模式后,处理器会自动保存一些关键的寄存器,以便在中断处理完成后恢复现场。

总之,FIQ模式是ARM处理器针对实时要求更高、优先级更高的中断而提供的一种特殊工作模式,可以加速中断处理速度,并提供更好的中断管理能力。

IRQ模式(Interrupt Request)

 IRQ模式是ARM处理器的一种工作模式,用于处理普通的中断请求。在ARM架构中,IRQ模式是默认的工作模式。

在IRQ模式下,处理器会响应外部设备发送的中断请求,并执行相应的中断服务程序。IRQ模式具有以下特点:

  1. 中断优先级:处理器可以配置中断的优先级,优先级高的中断会被优先处理。
  2. 中断嵌套:当处理器正在处理一个中断时,如果更高优先级的中断请求发生,处理器会中断当前的中断处理,转而处理更高优先级的中断。
  3. 中断屏蔽:处理器可以通过设置中断屏蔽位,屏蔽或允许特定的中断请求。
  4. 寄存器保护:进入IRQ模式后,处理器会自动保存一些关键的寄存器,以便在中断处理完成后恢复现场。

总之,IRQ模式是ARM处理器的默认工作模式,用于处理普通的中断请求。它提供了中断优先级管理、中断嵌套和中断屏蔽等功能,以满足不同中断需求的处理。

 SVC模式(Supervisor Call)

SVC 模式是 ARM 处理器的一种特权执行模式,也被称为异常模式。

在 SVC 模式下,处理器可以执行特权指令,如访问特权寄存器和执行特权操作。SVC 模式通常用于处理异常和系统调用。当处理器接收到一个异常或系统调用时,它会从当前执行模式切换到 SVC 模式,并根据异常类型或系统调用号执行相应的操作。SVC 模式是 ARM 处理器中最高权限的模式,只有从 SVC 模式才能切换到更高特权模式,如 IRQ (Interrupt Request) 或 FIQ (Fast Interrupt Request) 模式。

Abort模式

 在 ARM 架构中,Abort 模式(也称为 Data Abort 模式)是一种异常执行模式。当ARM处理器执行数据访问指令(例如读取或写入内存)时发生数据异常(例如访问无效的内存地址或访问权限错误),处理器会进入 Abort 模式。

在 Abort 模式下,处理器会暂停当前的执行流程,并切换到运行在特权级别更高的模式(通常是 Supervisor 模式)。进入 Abort 模式后,操作系统或异常处理程序可以处理异常情况,通常会执行一些错误处理操作,例如记录错误信息、释放相关资源等。

Abort 模式给系统提供了一种处理数据访问异常的机制,以确保系统能够侦测和处理这些异常,从而避免对系统的稳定性和安全性造成影响。

Undef模式(Undefined)

 在 ARM 架构中,Undef 模式是一种异常执行模式。当ARM处理器执行遇到未定义的指令或指令序列时,处理器会进入 Undefined 模式。

在 Undefined 模式下,处理器会暂停当前的执行流程,并切换到运行在特权级别更高的模式(通常是 Supervisor 模式)。进入 Undefined 模式后,操作系统或异常处理程序可以处理这些未定义指令的异常,通常会执行一些特定的处理操作,例如打印错误信息、记录错误日志等。

Undefined 模式允许系统在遇到未定义的指令时采取适当的措施,以保证系统的稳定性和安全性。它还为系统开发人员提供了一种机制,在处理器不支持的指令或指令序列上实现自定义的行为。

 System模式

ARM 的 System 模式是一种特权级别更高的处理器执行模式,主要用于操作系统内核的运行。System 模式具有以下功能:

  1. 访问特殊的寄存器:System 模式可以访问特权级别更高的寄存器,如控制寄存器、系统寄存器等。这些寄存器通常用于配置和控制处理器的特权级别、中断处理、内存管理等。

  2. 执行特权指令:System 模式允许执行特权级别更高的指令,这些指令通常用于进行特权级别更高的操作,如切换进程、访问受限资源、进行系统调度等。

  3. 设置异常向量:System 模式允许设置异常向量表,用于处理异常和中断。异常处理程序通常在 System 模式下执行,可以进行特权级别更高的操作,如保存上下文、切换内存映射等。

  4. 进行内核级别的资源管理:作为操作系统内核的运行模式,System 模式可以进行内核级别的资源管理,包括对进程、线程、内存、设备等资源的管理和调度。

  5. 进行中断处理:System 模式可以处理外部中断、异常和硬件错误,对于需要特权级别更高的操作,如改变处理器状态、执行特殊指令等,System 模式是必需的。

总之,System 模式提供了一种特权级别更高的执行环境,使操作系统能够执行特权级别更高的任务和操作,确保系统的安全性和稳定性。

Monitor模式

ARM 的 Monitor 模式是Cortex-A内核的特有模式,是一种特权级别更高的处理器执行模式,通常用于安全扩展和虚拟化。Monitor 模式具有以下功能:

  1. 虚拟化支持:Monitor 模式可以在虚拟化环境中提供硬件辅助支持,例如处理虚拟化扩展指令(Virtualization Extensions Instructions)和虚拟中断控制器。

  2. 安全扩展:Monitor 模式可以通过提供额外的安全功能来增强系统的安全性,例如处理安全相关的事件和访问安全相关的寄存器。

  3. 监控特权级别更低的执行模式:Monitor 模式可以监控其他特权级别(如用户模式或系统模式)下程序的执行,并根据需要进行干预和处理。例如,监控模式可以对用户模式下的操作进行审计、阻止访问受限资源等。

  4. 管理和处理异常和中断:Monitor 模式可以处理特权级别更低的执行模式中发生的异常和中断,例如对异常和中断进行过滤、记录和处理。

总之,Monitor 模式提供了一种特权级别更高的执行环境,可以用于增强系统的安全性和管理特权级别更低的执行模式。它在虚拟化和安全领域扮演着重要的角色。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/681927.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用短视频平台,轻松引流获客:自动私信评论策略全解析

在数字化时代,短视频已成为互联网流量的新蓝海,其独特的视觉吸引力和高度的用户粘性为各行各业提供了前所未有的营销机遇。无论是初创企业还是成熟品牌,都能通过短视频平台有效触达目标客户,实现高效引流与获客。本文将深入探讨如…

高通开发系列 - 借助libhybris库实现Linux系统中使用Andorid库(2)

By: fulinux E-mail: fulinuxsina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 返回:专栏总目录 目录 参考上一篇文章:高通开发系列 - 借助libhybris库实现Linux系统中使用And…

高并发短视频系统设计:架构、存储与性能优化全解

1. 系统概况与需求分析 1.1 短视频系统简介 当前短视频行业的快速发展,加上用户对高清、流畅观看体验的需求不断提升,对系统的并发处理能力、视频处理速度、存储效率等多方面都提出了极高的要求。那么,我们首先需要了解一个完整的短视频系统…

美国年轻人热衷床上“摆烂”,沃尔玛发掘床上用品新商机!

美国年轻人近年来热衷于床上“摆烂”生活方式,这反映了他们对舒适放松的追求和现代生活的压力。沃尔玛作为零售业巨头,敏锐地捕捉到这一市场变化,发现了床上用品的新商机。 美国年轻人忙碌中渴望宁静空间。床成为他们放松、逃离现实压力的理想…

十二、配置注解执行SQL

简化一下流程,主要可以分为下面几步: 1.解析配置,写入配置项 2.执行SQL 3.封装结果 通过注解配置SQL主要体现在解析部分,这部分要分别做解析XML还是配置注解的接口,拿到sql以后,select的处理和insert/upda…

【C++】手动模拟String底层与深浅拷贝

在string类:版本、组件、构造、操作及应用和 C中string的一些超常用函数 (附习题)这两篇文章中我们已经了解到了string,现在让我们再来手动实现模拟一下吧~ 模拟实现string是为了更好的理解string函数的使用和深浅拷贝方面的知识~ 总体整理了两张思维导…

深度学习——TensorBoard的使用

官方文档torch.utils.tensorboard — PyTorch 2.3 documentation TensorBoard简介 TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如&#xff1…

本轮牛市新趋势,跟随The First捕捉牛市Alpha

与以往牛市“百花齐放”的繁荣景象相比,本轮牛市颇具独特走势,呈现出了资金集中度高、财富聚集效应小的特点,绝大部分加密资产甚至跑不赢BTC的涨幅幅度。而以往大放色彩的公链币价值币的走势,甚至比不过牛尾才爆发的MEME币。这使得…

Python03:python代码初体验2

1、变量命名规范 1)字母(Unicode字符)、数字、下划线,不能使用特殊字符,数字不能开头 2)变量名是区分大小写的(大小写敏感,x和X是两个不同的变量名) 3)不能使…

centos安装部署Mysql8详细教程

文章目录 一、下载安装1.下载2.安装 二、常见问题1.You must reset your password using ALTER USER statement before executing this statement2.IP is not allowed to connect to this mysql 结尾 提示:以下是本篇文章正文内容,下面案例可供参考 一、…

文件批量改名工具软件NO.104

该工具基于 .Net 7.0 X86 编写,所以运行该软件就需要安装对应的环境,如果你在使用的时候弹出如上图所示的提示,就直接点击“是”前往官网下载吧 软件主要分为两块,上面是文件名规则,用于设置文件名;下方是文…

常见的Web漏洞——CORS

渗透做了多年的朋友都知道,大洞小洞都是漏洞。因此也学习、沉淀一下以前没重视的漏洞。 简介 CORS(Cross-Origin Resource Sharing,跨源资源共享)是一种由Web浏览器实现的安全策略,用于控制一个Web页面(服…

vs2019 c++20 规范的头文件 <future> 源码注释和几个结论

(1 探讨一)在多线程中,需要线程返回值的可以用该头文件中的类。该头文件中模板类和模板函数定义很多,用一幅图给出模板类之间的关系,方便从整体上把握和记忆: (2)

618数码好物推荐!精选便宜又实用的数码产品推荐!

着618购物盛宴的脚步日益临近,你是否已经锁定了心仪的宝贝?那些曾让你心动不已的数码产品,现在正是以最低价收入囊中的绝佳时机。618不仅是一场购物狂欢,更是各大电商平台竞相推出优惠政策的盛宴。为了满足大家的需求,…

右键Open with VSCode打开Vue3项目

之前看到一些同事能够对项目根目录进行右键打开项目到 Microsoft VS Code ,当时觉得挺不错的,于是乎今天自己折腾了一遍。 目录 1、创建vue3项目 2、更改注册表 # 打开注册表编辑器(Registry Editor) # 导航到以下注册表路径 …

宜选影票api接口如何申请密钥和授权呢?

宜选影票API接口的密钥申请和授权过程一般包括以下步骤,以下将按照清晰的格式分点表示和归纳相关信息: 注册开发者账号: 前往宜选影票的官方网站或开发者平台。注册一个开发者账号,填写必要的个人信息和联系方式。申请API访问权限…

使用apifox进行并发测试

1.普通的接口测试就不说了,非常简单 2.自动化测试

<网络安全>《88 国内主要企业网络安全公司概览(四)》

9 杭州迪普科技股份有限公司(简称联软科技) 信息内容LOGO成立日期创始于2008年总部浙江省杭州市滨江区月明路595号迪普科技18楼背景民营企业是否上市300768注册资本64,382.9039万主要产品网络安全数据安全交换机简介安全大数据处理引擎与AI智能分析引擎…

webgl_decals

ThreeJS 官方案例学习&#xff08;webgl_decals&#xff09; 1.效果图 2.源码 <template><div><div id"container"></div></div> </template> <script> // 光线投射相关代码 https://threejs.org/docs/index.html#api/z…

电路方案分析(十九)快速响应过流事件检测电路

快速响应过流事件检测电路 1.设计需求2.设计方案3.设计说明4.仿真验证 tips&#xff1a;方案参考来自TI参考设计&#xff0c;仅供学习交流使用。 1.设计需求 2.设计方案 这是一种快速响应单向电流检测解决方案&#xff0c;通常称为过流保护 (OCP)&#xff0c;可提供 < 2μ…