登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
9月20日,Gitee × 模力方舟来成都了!聚焦 AI 应用在开发范式、算力架构、交互设计、硬件选型等跨场景创新实践,点击立即报名~
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
13
Star
201
Fork
63
华中科技大学操作系统团队
/
pke-doc
代码
Issues
7
Pull Requests
9
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
关于 chapter1_riscv.md 文档第 1.4 节中断的一些问题
待办的
#I5D337
toplaya
创建于
2022-06-20 11:57
1. RISC-V 没有除0异常,不论是整数除法还是浮点除法,均不存在除0异常。这样做的好处在于,所有的计算操作均不会产生异常,CPU里逻辑运算单元的设计会简化不少;坏处则是软件的处理会更加复杂。这是RISC-V很重要的一个特点,也是它做出的取舍:尽量简化硬件设计,以确保硬件的可靠性和稳定性,就算会增加软件复杂度也可以接受。 2. 根据RISC-V的规范,有三个名词:Exception(异常),Interrupt(中断),Trap(不做翻译) 异常 = 同步trap 。 异常是由当前正在执行的指令所触发,因此叫做同步trap。 中断 = 异步trap 。 中断和当前正在执行的指令无关,因此叫做异步trap。 如果我们想描述异常和中断同时具备的特点时,就用trap这个名字。 3. 关于中断处理历程的描述,有下面这句话: “1)保存(发生中断前的)pc(如果是trap或者interrupt,则保存下一条指令的pc)到mepc寄存器;” 保存的并不是 **发生中断前的** PC值,而是 **进入中断处理历程之前的** PC值。因为中断发生时,该中断有可能被禁用了,此时CPU不会响应该中断,而是继续执行当前的指令,直到该中断被启用后,才会进入该进入该中断的处理历程。同样的,MPIE和MPP都是如此。
1. RISC-V 没有除0异常,不论是整数除法还是浮点除法,均不存在除0异常。这样做的好处在于,所有的计算操作均不会产生异常,CPU里逻辑运算单元的设计会简化不少;坏处则是软件的处理会更加复杂。这是RISC-V很重要的一个特点,也是它做出的取舍:尽量简化硬件设计,以确保硬件的可靠性和稳定性,就算会增加软件复杂度也可以接受。 2. 根据RISC-V的规范,有三个名词:Exception(异常),Interrupt(中断),Trap(不做翻译) 异常 = 同步trap 。 异常是由当前正在执行的指令所触发,因此叫做同步trap。 中断 = 异步trap 。 中断和当前正在执行的指令无关,因此叫做异步trap。 如果我们想描述异常和中断同时具备的特点时,就用trap这个名字。 3. 关于中断处理历程的描述,有下面这句话: “1)保存(发生中断前的)pc(如果是trap或者interrupt,则保存下一条指令的pc)到mepc寄存器;” 保存的并不是 **发生中断前的** PC值,而是 **进入中断处理历程之前的** PC值。因为中断发生时,该中断有可能被禁用了,此时CPU不会响应该中断,而是继续执行当前的指令,直到该中断被启用后,才会进入该进入该中断的处理历程。同样的,MPIE和MPP都是如此。
评论 (
3
)
登录
后才可以发表评论
状态
待办的
待办的
进行中
已完成
已关闭
负责人
未设置
标签
未设置
标签管理
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
未关联
master
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
参与者(1)
1
https://gitee.com/hustos/pke-doc.git
[email protected]
:hustos/pke-doc.git
hustos
pke-doc
pke-doc
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册