[ARM入门]ARM模式及其切换、异常

这篇具有很好参考价值的文章主要介绍了[ARM入门]ARM模式及其切换、异常。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ARM技术特征

  • ARM处理器有如下特点
    • 体积小、功耗低、成本低、性能高
    • 支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件
    • 大量使用寄存器,指令执行速度更快
    • 大多数数据操作都在寄存器中完成
    • 寻址方式灵活简单,执行效率高
    • 指令长度固定

ARM的基本数据类型

ARM采用的是32位架构,ARM的基本数据类型有以下三种

  • Byte:字节,8bit
  • Halfword:半字,16bit(半字必须与2字节边界对齐)
  • word:字,32bit(字必须与4字节边界对齐)

存储器可以看作是序号为0-2^32-1的线性字节阵列,每一个字节都有唯一的地址

ARM处理器工作模式

Cortex-A系列的ARM处理器工作模式有8种:
arm 用户模式切换到系统模式,系统安全,arm开发

  • 用户模式
    用户模式是用户程序的工作模式
    他运行在OS的用户态,没有权限去操作其他硬件资源,只能执行处理自己的数据
    也不能切换到其他模式下,想要访问硬件资源或切换到其他模式只能通过软中断(SWI)或产生异常

  • 系统模式
    系统模式是特权模式,不受用户模式的限制
    用户模式和系统模式共用一套寄存器
    操作系统在该模式下可以方便的访问用户模式的寄存器,而且操作系统的一些特权任务可与使用这个模式访问一些受控的资源

  • 一般中断模式
    一般中断模式也叫普通中断模式,用于处理一般的中断请求
    通常在硬件产生中断信号之后自动进入该模式
    该模式为特权模式,可以自由访问系统硬件资源

  • 快速中断模式
    是相对于一般中断模式而言的,它是用来处理对时间要求比较紧急的中断请求
    主要用于高速数据传输及通道处理中

  • 管理模式(SVC)
    是CPU上电后默认模式
    因此在该模式下主要用来做系统的初始化
    软中断处理也在该模式下,当用户模式下的用户程序请求使用硬件资源时通过软件中断进入该模式

  • 中止模式
    用于支持虚拟内存或存储器保护
    当用户程序访问非法地址,没有权限读取的内存地址时,会进入该模式
    linux下编程时经常出现的segment fault通常都是在该模式下抛出返回的

  • 未定义模式
    用于支持硬件协处理器的软件方针,CPU在指令的译码阶段不能识别该指令操作时,会进入未定义模式

  • Monitor
    是为了安全而扩展出的用于执行安全监控代码的模式
    也是一种特权模式

模式切换

ARM微处理器的运行模式可以通过软件改变,也可以通过外部中断或异常处理改变
应用程序运行在用户模式下
当处理器运行在用户模式下时,某些被保护的系统资源是不能被访问的

异常(Exception)

指由处理器执行指令导致原来运行程序的种植
异常与指令运行相关,是CPU执行程序产生的,是同步的,可分为精确异常和非精确异常
异常处理遵守严格的程序顺序,不能嵌套,只有当第一个异常处理完并返回后才能处理后续的异常文章来源地址https://www.toymoban.com/news/detail-846976.html

  • ARM中的异常源
    arm 用户模式切换到系统模式,系统安全,arm开发
  • 异常源与模式关系
    • 快速中断请求异常进入快速中断模式,支持高速数传输及通道处理(FIQ异常响应时进入此模式)
    • 中断请求异常进入中断模式,用于通用中断处理
    • 欲取指中止,数据中止异常进入中止模式,用于支持虚拟内存和/或存储器保护
    • 未定义指令异常进入未定义模式
    • 支持硬件协处理器的软件仿真软件中断(swi),复位异常(reset)进入管理模式,操作系统保护代码

到了这里,关于[ARM入门]ARM模式及其切换、异常的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ARM简介及其发展历史

    ARM名声很大,最近在学习STM32,也借机梳理一下关于ARM的各种概念和信息。 本文主要内容:ARM一词的含义,ARM的发展历史,ARM cortex系列处理器简介与ARM在不同市场的应用情况。 1.1 ARM公司 ARM第一种意思是指ARM公司。 ARM公司成立于1990年,是一家英国半导体设计公司,总部位于

    2023年04月10日
    浏览(47)
  • 【ARM】-异常与中断

    中断(Interrupt)机制,即处理器在顺序执行程序指令流的过程中突然被别的请求打断而中止执行当前的程序,转而去处理别的事情,待其处理完了别的事情,然后重新回到之前程序中断的点继续执行之前的程序指令流,其要点如下 中断请求、中断源 打断处理器执行程序指令流的

    2024年02月12日
    浏览(40)
  • ARM异常处理详解

    前言: 学习一门处理器最重要的就是掌握该处理器的 指令集 和 异常处理。 异常概念:         处理器在正常执行程序时可能会遇到一些不正常的事件发生,这时处理器就要将 当前的程序 暂停 下来 转去 处理这个异常的事件 ,异常处理后再 返回到被异常打断的点 继续

    2024年02月13日
    浏览(45)
  • ARM异常处理

    概念 处理器在正常执行程序的过程中可能会遇到一些不正常的事件发生 这时处理器就要将当前的程序暂停下来转而去处理这个异常的事件 异常事件处理完成之后再返回到被异常打断的点继续执行程序 不同的处理器对异常的处理的流程大体相似,但是不同的处理器在具体实现

    2024年02月02日
    浏览(30)
  • ARM异常模型

    快速链接: . 👉👉👉 个人博客笔记导读目录(全部) 👈👈👈 付费专栏-付费课程 【购买须知】: 【精选】ARMv8/ARMv9架构入门到精通-[目录] 👈👈👈 — 适合小白入门 【目录】ARMv8/ARMv9架构高级进阶-[目录]👈👈👈 — 高级进阶、小白勿买 【加群】ARM/TEE/ATF/SOC/芯片/安全-学习交

    2024年01月16日
    浏览(34)
  • 12.4 ARM异常处理

    目录 ARM异常处理(一) 异常 概念 异常处理机制 ARM异常源 概念 ARM异常源 ARM异常模式 ARM异常处理(二) ARM异常响应 异常向量表 异常返回 IRQ异常举例​编辑 ARM异常处理(三 ) 异常优先级 FIQ和IRQ ARM微架构 流水线 指令流水线 ARM指令流水线 PC的作用(取指) 多核处理器 多

    2024年02月14日
    浏览(35)
  • ARM异常处理(异常源的分类、异常的响应流程)

    目录 一、异常的概念 1、什么是异常? 2、处理异常时,处理器要考虑哪些问题? 二、ARM异常源 1、异常源的分类 2、异常模式 三、ARM异常响应 1、CPSR寄存器内容备份(自动执行) 2、修改CPSR的值(自动执行) (1) 修改模式 (2) 修改中断禁止位 (3) 修改状态位 3、保存返回地址(

    2023年04月15日
    浏览(36)
  • 【ARM】-进入和退出异常中断的过程

    ARM 指令为三级流水线:取地,译码和执行 进入中断的时候 LR = PC -4 当出现异常时,ARM 内核自动执行以下操作 将 cpsr 寄存器的值保存到 spsr_mode 寄存器中,备份寄存器指明了当前处理器的操作模式 将程序返回地址存放在 lr_mode 寄存器中 将CPSR模式位修改为与异常类型相关联的

    2024年02月14日
    浏览(63)
  • 【ARM Linux 系统稳定性分析入门及渐进12 -- GDB内存查看命令 “x“(examine)】

    请阅读 【ARM Linux 系统稳定性分析专栏导读】 上篇文章:ARM Linux 系统稳定性分析入门及渐进11 – GDB( print 和 p 的使用| @ 和 ::的使用|ptype|{<type>} <addr> ) examine 是GDB中x命令的全称,用于检查内存中的内容。这个命令非常强大,可以以多种格式显示内存内容。 examine 命令

    2024年02月12日
    浏览(37)
  • ARM-进入和退出异常中断的过程(六)

    ARM 指令为三级流水线:取地,译码和执行 进入中断的时候 LR = PC -4 当出现异常时,ARM 内核自动执行以下操作 将 cpsr 寄存器的值保存到 spsr_mode 寄存器中,备份寄存器指明了当前处理器的操作模式 将程序返回地址存放在 lr_mode 寄存器中 将CPSR模式位修改为与异常类型相关联的

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包