[发明专利]用于RISC-V架构的中断系统在审
申请号: | 201910198363.3 | 申请日: | 2019-03-15 |
公开(公告)号: | CN110007964A | 公开(公告)日: | 2019-07-12 |
发明(设计)人: | 胡振波 | 申请(专利权)人: | 芯来科技(武汉)有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32;G06F9/30 |
代理公司: | 苏州中合知识产权代理事务所(普通合伙) 32266 | 代理人: | 赵晓芳 |
地址: | 430000 湖北省武汉市东湖新*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 寄存器 向量中断 中断系统 中断响应 指令 中断 堆栈 架构 子程序入口地址 子程序入口 指令响应 指令运行 基地址 使能 条数 跳转 储存 保存 全局 | ||
本发明公开了一种用于RISC‑V架构的中断系统,所述系统包括:CLIC中原有的寄存器,还包括有:pushmcause寄存器、pushmepc寄存器、中断响应寄存器和mtvt2寄存器;pushmcause寄存器,用于通过指令将mcause中的值存入堆栈中;pushmepc寄存器,用于通过指令将mepc中的值存入堆栈中;中断响应寄存器,用于通过指令响应CLIC发出的非向量中断请求,获取中断子程序入口地址和修改全局中断使能;mtvt2寄存器,用于储存CLIC模式下的非向量中断的基地址,通过增加寄存器或改变部分指令,减少指令运行条数,以达到提高寄存器中的值保存的速度,缩短跳转到相应中断子程序入口的时间,提高效率的目的。
技术领域
本发明涉及低功耗内核中断处理技术领域,具体涉及一种用于RISC-V架构的中断系统。
背景技术
中断机制(Interrupt),即处理器核在顺序执行程序指令流的过程中突然被别的请求打断而中止执行当前的程序,转而去处理别的事情,待其处理完了别的事情,然后重新回到之前程序中断的点继续执行之前的程序指令流。其中,打断处理器执行程序指令流的“别的请求”便称之为中断请求(Interrupt Request),而中断请求的来源则称之为中断源(Interrupt Source),通常情况下,中断源主要来自外围硬件设备。而处理器转去处理“别的事情”便称之为中断服务程序(Interrupt Service Routine,ISR)。
中断处理是一种正常的机制,而非一种错误。处理器收到中断请求之后,需要保护当前程序现场,简称为保护现场。等到处理完中断服务程序之后,处理器需要恢复之前的现场,从而继续执行之前被打断的程序,简称为恢复现场。
为了在RISC-V系统中加入低延时、支持向量模式和支持嵌套的中断机制,RISC-V官方已经将CLIC中断机制(Core-Local Interrupt Controller)加入了RISC-V的标准当中。CLIC可以兼容和替换之前存在的CLINT中断机制(Core-Local Interrupt)。相比CLINT中断机制,CLIC中断机制涉及的CSR寄存器如下:
mstatus寄存器,用于存储中断或异常处理模式状态;
medeleg寄存器,用于将异常重定向对应的特权模式下处理;
mideleg寄存器,用于将中断重定向对应的特权模式下处理;
mie寄存器,用于屏蔽非CLIC模式下的对应中断;
mtvec寄存器,用于存储异常或者中断入口地址;
mtvt寄存器,用于存储CLIC模式向量中断的基地址;
mscratch寄存器,用于机器模式下的程序临时保存某些数据;
mepc寄存器,用于存储异常或者中断的返回地址;
mcause寄存器,用于查询中断等待状态;
mtval寄存器,用于存储导致出现异常的地址或者指令;
mip寄存器,用于查询中断等待状态;
mnxti寄存器,用于获取中断入口地址和修改全局中断使能;
mintstatus寄存器,包括了mil、sil和uil这三个域,分别用于查询机器模式、管理者模式和用户模式下的对应中断的level;
mscratchcsw寄存器,用于特权模式切换时的数据交换;
mscratchcsw1寄存器,用于中断level切换时的数据交换;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯来科技(武汉)有限公司,未经芯来科技(武汉)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910198363.3/2.html,转载请声明来源钻瓜专利网。