当前位置: 首页 > news >正文

深圳网站建设电话咨询室内设计网页

深圳网站建设电话咨询,室内设计网页,沈阳网站开发制作,友情链接页 wordpress这里写目录标题 一#xff0c;同步异常的分析1.1 同步异常分析-异常链接寄存器ELR1.2 同步异常分析-异常综合寄存器ESR#xff0c;Exception Syndrome Register1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register 二#xff0c; 同步异常的处理示例 Synchronous ex… 这里写目录标题 一同步异常的分析1.1 同步异常分析-异常链接寄存器ELR1.2 同步异常分析-异常综合寄存器ESRException Syndrome Register1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register 二 同步异常的处理示例 Synchronous exception handling三 异步异常的处理示例 Asynchronous exception handling 一同步异常的分析 在文章ARMv8-AArch64 的异常处理模型详解之异常类型 Exception types中提到过同步异常是处理器在执行指令时产生的异常是一种精确的可以具体定位到是哪条指令导致异常的产生。下面笔者将介绍三个用于定位并分析同步异常产生的寄存器。 1.1 同步异常分析-异常链接寄存器ELR 在文章ARMv8-AArch64 的异常处理模型详解之异常向量表vector tables中提到过同步异常发生时会将产生同步异常的那条指令的地址写入ELR所以如果想知道是哪条指令导致异常的产生软件在处理异常时可以读取ELR中的值进行分析。 1.2 同步异常分析-异常综合寄存器ESRException Syndrome Register ESR寄存器里保存着一些异常的诊断信息比如异常产生的原因。在进入异常后我们可以读取对应异常等级的ESRESR_EL1,ESR_EL2或者ESR_EL3通过解析各个字段的数值所表示的含义来分析出当前异常产生的原因。 拿ESR的EC, bits [31:26]举例这个EC字段指示了当前异常产生的原因比如当EC 0b100010时按照ARM文档的描述我们可知当前异常是因为PC未对齐地址不以0x0 0x4 0x8 0xc结尾。 除了EC字段还有IL字段从该字段可知是32-bit长度还是16bit 长度的指令导致的异常 1.3 同步异常分析-错误地址寄存器FAR,Fault Address Register FAR寄存器将为一些同步异常保存导致异常发生的地址包括如下同步异常 指令中止异常Instruction Abort exceptions, 此时ESR寄存器的EC 值为0x20 或者0x21 数据中止异常Data Abort exceptions, 此时ESR寄存器的EC 值为0x24 或者 0x25 PC对齐错误异常PC alignment fault exceptions此时ESR寄存器的EC 值为0x22。 调试异常的观察点异常Watchpoint exceptions此时ESR寄存器的EC 值0x34 或者0x35 FAR寄存器中的保存的地址是指令获取或数据访问时导致指令或数据中止的异常的地址。 二 同步异常的处理示例 Synchronous exception handling 假设有这么一个场景执行在EL0的AArch32 应用程序需要向执行在EL1的AArch64 操作系统请求一个堆的内存分配它需要执行一个SVC指令产生一个SVC同步异常这将发生如下事件 当前的处理器状态PSTATE将会保存到SPSR_EL1中。产生异常指令SVC的下一条指令的地址将会被写入到ELR_EL1中。异常诊断信息导致异常发生的原因将会被记录到ESR_EL1寄存器中。目标执行状态取决于HCR_EL2.RW 位。当前的处理器状态PSTATE将会被更新异常等级将会切到EL1执行状态更行到AArch64PC将会跳转到VBAR_EL1 600的异常向量因为是同步异常有来自低异常等级的异常等级切换并且低的异常等级为AArch32所以根据异常向量的选择要求将选择VBAR_EL1 600处的异常向量作为异常处理器。在top exception handler中在进行异常处理前当前处理器的寄存器上下文将会被压入到SP_EL1中。在top exception handler中根据ESR中的信息知道当前异常为SVC异常所以跳转到指定的SVC异常处理函数中。在SVC异常处理函数执行完成后回到top exception handler。在top exception handler中将之前压入到SP_EL1中的寄存器上下文恢复并执行ERET指令。ERET指令包括两个步骤将SPSR_EL1的值恢复到PSTATE中包括异常等级为EL0执行状态为AArch32然后将ELR_EL1中的值写入到PC中。 以上就是执行SVC指令从EL0进入到EL1进行异常处理然后返回的一般流程。 上述场景还尚未考虑到安全状态的切换如果是EL0AArch32Non-secure状态下要进入到EL1AArch64secure状态进行某些操作则处理流程将更加复杂。之前的文章提到过Secure状态的切换必须经过EL3所以要想实现此操作中间还需要执行SMC指令进入到EL3。 三 异步异常的处理示例 Asynchronous exception handling 异步异常比如中断是来自处理器外部的信号或者SError来自内存系统的的错误反馈。ARM没有规定异步异常应该什么时候发生并且关于异步异常与同步异常的优先级问题如果同步异常和异步异常同时发生那么处理器先处理哪一个这个是由处理器的具体实现定义的。 假设有这么一个场景当处理器在EL0 AArch32状态下执行用户程序时发生了一个IRQ中断假设HCR_EL2 和 SCR_EL3都以及被配置成将当前IRQ中断路由到EL1 AArch64状态下处理下图为该中断的处理流程 当前的处理器状态PSTATE将会保存到SPSR_EL1中。中断发生时第一条未被执行完成的指令的地址将会被写入到ELR_EL1中。异常诊断信息导致异常发生的原因将会被记录到ESR_EL1寄存器中。目标执行状态取决于HCR_EL2.RW 位。当前的处理器状态PSTATE将会被更新异常等级将会切到EL1执行状态更行到AArch64PC将会跳转到VBAR_EL1 0x680的异常向量因为是IRQ中断有来自低异常等级的异常等级切换并且低的异常等级为AArch32所以根据异常向量的选择要求将选择VBAR_EL1 0x680处的异常向量作为异常处理器。在top exception handler中在进行异常处理前当前处理器的寄存器上下文将会被压入到SP_EL1中。在top exception handler中跳转到指定的IRQ异常处理函数中。在IRQ处理函数执行完成后回到top exception handler。在top exception handler中将之前压入到SP_EL1中的寄存器上下文恢复并执行ERET指令。ERET指令包括两个步骤将SPSR_EL1的值恢复到PSTATE中包括异常等级为EL0执行状态为AArch32然后将ELR_EL1中的值写入到PC中。 以上就是进行IRQ中断异常处理然后返回的一般流程。需要注意的是处理器或者说是IRQ handler并没有能力判断中断源只是收到了IRQ中断信号并开始IRQ中断处理。至于具体的中断源判断、中断优先级以及中断属性edge/level, secure/non-sercure配置的工作由GIC来完成。通过读取GIC的IARInterrupt Acknowledge Registers寄存器处理器可以知道当前中断源的中断号。一旦中断被处理完成处理器可以配置GIC的EOIREnd of Interrupt Register寄存器来通知GIC当前中断已经被处理完成并且该中断的状态也随即会变成inactive。
http://www.hkea.cn/news/14583629/

相关文章:

  • 网站大专朝阳区seo搜索引擎优化介绍
  • 站长网站被跳转怎么办手工做皮具国外的网站
  • 漯河装修公司网站建设网络培训资格证书如何获得
  • 石家庄电子商务网站建设青岛建设网站设计公司
  • 当今做啥网站致富南昌地宝网二手房
  • 哪个网站是专做宝宝饭的在哪个网站上做实验仪器比较好
  • 药物研发网站怎么做新冠排名前十名
  • 男女做羞羞视频网站青岛电子商务的网站建设
  • 唐山市建设网站上海建设工程 U盘登录哪个网站
  • 廊坊高端品牌网站建设网站建设的内部风险分析
  • 凡科网站怎么做python做公司网站
  • 游戏推荐网站怎么做网站建设中倒计时模板下载
  • 秒收录网站有哪些网址大全下载安装
  • 免费建站团队网站开发图片多打开速度慢
  • 网站建设价格组成小程序开发费用明细
  • 给别人做网站做什么科目建设银行租房平台网站
  • 网站开发硬件环境网站的域名在哪里看
  • 网站制作哪家实惠深圳网站建设hi0755
  • 市桥网站建设培训学校做电脑网站宽度
  • 昆明做网站外包自己怎么做一个小程序
  • 旅游网站开发的流程杭州设计公司老总
  • 广西建设职业技术学校官方网站网站建设实录
  • 中咨城建设计有限公司 网站下载app免费下载安装下载
  • 郑州高新区网站建设百度无广告搜索引擎
  • phpcms v9 网站建设设计制作网络科技模板沈阳建设工程信息网和辽宁建设工程信息网
  • 服装线上结合线下的推广方案优化手机性能的软件
  • 汕头网站建设制作报价wordpress 手机访问不了
  • 网站信息系统建设做网站前端工资
  • 定制东莞网站制作公司网站兼容性
  • 东方城乡与住房建设部网站移动平台