reset什么意思,reset是什么意思翻译成中文

reset什么意思,reset是什么意思翻译成中文 本期内容如下:机器模式特权指令reset非屏蔽中断阅读本文时应当注意,理解的时候把他当做是一个设计要求来读,由于时直接翻译的相关文档叙述方式均是按照如何实现具体RI

我们一起学RISC-V——03-特权指令,Reset和NMI

本期内容如下:

  1. 机器模式特权指令
  2. reset
  3. 非屏蔽中断

阅读本文时应当注意,理解的时候把他当做是一个设计要求来读,由于时直接翻译的相关文档叙述方式均是按照如何实现具体RISC-V处理器的标准来描述的。


一、机器模式特权指令


1.1 环境调用和断点 ECALL/EBREAK

我们一起学RISC-V——03-特权指令,Reset和NMI

图1 ecall、ebreak指令格式

ECALL被用于向当前执行环境发出一个调用请求,当以u -模式、s -模式或m-模式执行时,它分别生成用户模式系统调用(environment-call-from-U-mode)异常、管理员模式系统调用(environment-call-from-S-mode)异常或机器模式系统调用(environment-call-from-M-mode)异常,并且不执行其他操作。

EBREAK指令被调试器用于将控制转移回调试环境,它生成一个断点异常,并且不执行任何其他操作。

ECALL和EBREAK将会引起特权程序计数器(epc)被设定为ECALL和EBREAK指令本身所处的地址。由于ECALL和EBREAK会导致同步异常,因此它们不会被认为是重复执行,所以minstret数值不会增加。

1.2 Trap返回指令MRET/SRET

我们一起学RISC-V——03-特权指令,Reset和NMI

图2 mret、sret指令格式

为了从trap函数中返回,每个特权模式有它自己的trap返回指令,MRET和SRET。

MRET总是被支持的,SRET只有当处理器支持supervisor模式的时候才被支持,如果不这样做会引发指令异常。当mstatus中的TSR=1时,SRET也应该抛出非法指令异常。可以在特权模式x或更高特权模式下执行xRET指令,其中执行低特权的xRET指令时,将弹出相关的低特权中断使能和特权模式堆栈。另外除了操作特权模式堆栈相关操作外,程序计数器(pc)的值也会被设置为xepc的值。

如果支持A扩展,则允许xRET指令清除任何未完成的LR保留地址,但这不是必需的。如果需要,trap处理程序应该在执行xRET之前显式地清除保留地址(例如,通过使用虚拟SC)。

1.3 中断等待(WFI)

等待中断指令(WFI)向实现提供了一个提示,即当前hart可以被暂停,直到需要服务的中断为止。WFI指令的执行还可以用来通知硬件平台,要实现这一功能,应该优先将合适的中断路由到这个hart。WFI可用于所有特权模式,也可用于u模式。当在mstatus中TW=1时,此指令可能会引发非法指令异常。

Hart指的就是硬件线程在RISC-V中

我们一起学RISC-V——03-特权指令,Reset和NMI

图3 WFI指令格式

如果在hart停止时,一个启用的中断出现或稍后出现,中断异常将根据下面的指令执行,即,在trap处理程序中继续执行,mepc = pc 4。

WFI指令的目的是为实现提供提示,因此合法的实现只是将WFI作为NOP实现。

当中断禁用时, WFI也应当是可以执行的,WFI操作必须不被mstatu中的全局中断位(MIE和SIE)和托管寄存器影响。WFI也可以用来唤醒本地中断已经被使能且挂起的任意进程。

二、Reset


RISC-V处理器在被Reset后,应当满足如下条件。

1.处理器在reset时,hart的特权模式被设置为机器模式(M模式)。

2.mstatus字段MIE和MPRV应被设置为0。

3.如果支持小端内存访问,则mstatus/mstatush字段MBE应重置为0。reset misa寄存器应启用最大的支持扩展集和最大MXLEN位宽。

4.pc应被设置为一个实现定义的reset向量。

5.mcause寄存器应被设置为指示reset原因的值。可写PMP寄存器“A”和“L”字段设置为0,除非平台要求某些PMP寄存器“A”和“L”字段设置不同的重置值。

6.所有其他硬件状态未指明。

Reset后的mcause值具有特定于实现的解释,但是在不区分不同的重置条件的实现上应该返回值0。区分不同重置条件的实现应该只使用0来表示最完整的重置(例如,硬重置)。

一些设计可能有多种原因导致复位(例如开机复位,外部硬复位,检测到断电,看门狗定时器流逝,睡眠模式唤醒),这可能是机器模式软件和调试器想要区分的。

mcause重置值的名称可能会和在同步异常mcause值的名称不同。在这个重叠应该没有分歧,因为在重置时pc设定值和其它Trap中的PC是不一样的。

三、不可屏蔽中断


不可屏蔽中断(NMIs)仅用于硬件错误的情况下,不用关心hart的中断启用位的状态,NMI异常会导致立即跳转到实现定义的NMI向量地址运行同时切换处理器模式为机器模式(M模式)。NMI执行时要执行的下一条指令的地址将被写入mepc寄存器,mcause被设置为一个指示NMI源的值。因此,NMI可以覆盖当前所处的机器模式中断处理程序中的状态。

在NMI上写入mcause的值是由实现定义的。mcause的高中断位应该被设置来表示这是一个中断。异常代码0是保留的,意思是“未知原因”,实现不区分来源的NMIs, 在异常代码中,mcause寄存器应该被设置为0。

与Reset不同,NMIs不重置处理器状态,开启诊断、报告,NMI可能包含硬件错误。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/49543.html

(0)

相关推荐

  • 蚕丝被和棉花被哪个更好?,蚕丝被比棉花被好在哪里

    人们1/3的时间在睡眠中度过,除了睡眠环境外,寝具也影响着人们的睡眠,尤其是被子。生活中常见的被子是

    科技 2022年5月27日
  • 寻仙怎么洗坐骑成长,寻仙坐骑技能怎么学

    寻仙 捉妖技能怎么 升级 网友分享: 1级捉妖抓10-20级的 2级捉妖抓20-30级的 依次类推,每抓一个100熟练值 按K键点生活看到满了之后,去壬阳子那里升级 答案补充 狐狸...

    阅读 2022年7月8日
  • 葡萄和什么榨汁好喝,葡萄和哪些水果搭配一起吃

    葡萄和什么榨汁好喝,葡萄和哪些水果搭配一起吃 夏季正是葡萄的产期,葡萄汁多甜美,价格也更为亲民,是吃葡萄的好时节。葡萄富含铁元素与多种营养元素,不只对身体好处多多,更是女性生理期的好朋友。除了吃葡萄外,安全无毒的葡萄

    攻略 2021年11月1日
  • 地铁逃生黑科技2022v1.0.1(2022最新版下载)

    地铁逃生黑科技2022v1.0.1(2022最新版下载)地铁逃生黑科技2022是一款十分优秀的pubg绝地求生辅助,玩家们可以在敌方跳伞之前就开启这款辅助,直接降落后到地面一键拾取地面的武器和装甲还有头盔,会比别人更加抢占先机,可以快速的进行击杀敌人,令敌人没有还击的可能。地铁逃生黑科技2022特色1.真人游戏是火爆的枪战,惊心动魄的吃鸡异常激烈,全方位近战针对不同的敌人;2.瞄准敌人自由射击,随

    2022年9月16日
  • CTF入门学习3-Web通信基础

    技术CTF入门学习3-Web通信基础 CTF入门学习3-Web通信基础本篇文章主要介绍WEB通信的机制,主要介绍了URL协议和HTTP协议。Web安全基础
    01 Web通信
    这个部分重点介绍浏览器与We

    礼包 2021年11月20日
  • 快乐双人房免费模式怎么解锁?自由模式解锁方法

    幸福的两个人的自由模式解锁方法是什么? 这是一款非常有趣的休闲冒险型游戏,虽然在游戏中很多玩家还不知道如何解锁幸福的两个人的自由模式,但其实并不难找到。 下面的柠檬朋友有编辑幸福的...

    教程 2022年10月5日