【读书】《RISC-V 体系结构编程与实践(第2版)》-- 中断
<div class='showpostmsg'> 本帖最后由 zsy-s 于 2025-1-14 22:27 编辑<p>异常</p>
<p> 类型分为中断,异常,系统调用。</p>
<p> 中断在任何时候都可以发生,与cpu运行的指令无关,是异步的。</p>
<p> 异常分为 指令访问异常和数据访问异常。可以更改cpu的运行模式,属于同步异常。</p>
<p> 系统调用,属于逻辑上主动触发的异常。</p>
<p> </p>
<p>返回地址</p>
<p> 中断:当前没执行的指令或者下一条指令</p>
<p> 异常:触发异常的指令</p>
<p> 系统调用:下一条指令</p>
<p> </p>
<p>中断</p>
<p> 中断分类有 处理器间中断 定时器中断 外设中断 调试中断。</p>
<p>中断处理过程</p>
<p> 由cpu保存上下文,跳转到中断处理函数,恢复中断上下文,返回中断现场的下一条指令执行。</p>
<p>中断委派</p>
<p>中断优先级</p>
<p> m模式优先级高于s模式,多个s模式的优先级由PLIC管理。</p>
<p> </p>
<p>PLIC</p>
<p> 主要用来管理外部中断。支持7级中断优先级</p>
<p>中断寄存器</p>
<p> 使能寄存器:用于关闭或者开启中断源</p>
<p> 待定寄存器</p>
<p> 中断优先级阈值寄存器:用于屏幕中断</p>
<p> 请求/完成寄存器:用于判断中断源 和 中断完成标记</p>
<p> </p>
<p> </p>
<p> </p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>还可以再多写点吧<img height="63" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/victory.gif" width="61" /></p>
页:
[1]