[发明专利]基于处理器指令快速完成的精确异常维护方法及装置有效
申请号: | 201410582418.8 | 申请日: | 2014-10-27 |
公开(公告)号: | CN104461468B | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 李春强;尚云海;陈红灯 | 申请(专利权)人: | 杭州中天微系统有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F11/07 |
代理公司: | 杭州斯可睿专利事务所有限公司33241 | 代理人: | 王利强 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 处理器 指令 快速 完成 精确 异常 维护 方法 装置 | ||
1.一种基于处理器指令快速完成的精确异常维护方法,其特征在于:实现所述精确异常维护方法的精确异常维护装置包括:
取指单元,处于流水线的最前级,负责从存储器中读取指令并送入流水线;
指令译码单元,连接取指单元的输出端,负责对取指单元送入的指令进行译码,得到指令的类型、是否需要回写寄存器堆、源寄存器号、目的寄存器号,执行周期等信息;
指令发射单元,连接指令译码单元的输出端,负责检测指令的相关性,根据译码得到的指令类型,将相关性已消除的指令发射到相应的执行单元,相关性包括数据相关、控制相关、执行单元资源冲突;
执行单元,连接指令发射单元的输出端,包括定点执行单元、浮点执行单元、矢量执行单元、装载存储单元,负责各类指令的流水执行,各执行单元均需要多个周期执行完毕;
寄存器堆,连接结果缓冲单元的输出端,包括定点寄存器堆、浮点寄存器堆、矢量寄存器堆、控制寄存器堆,负责保存变量的值;
退休单元,连接执行单元快速完成的输出端,负责维护最后一级流水线的程序计数器并查询指令快速完成时是否检测到异常,若检测到异常,则该指令执行结束并同步于退休响应精确异常,否则该指令正常退休并缓存指令的地址与处理器状态信息,最后一级流水线的程序计数器将指向下一条指令;
结果缓冲单元,连接执行单元执行完成的输出端,将指令退休与指令回写分开,负责保存指令的执行结果并查询指令正常退休后的执行过程中是否检测到异常,若检测到异常,则根据缓存的指令地址与处理器状态信息恢复处理器现场,并异步于退休响应精确异常,否则该指令正常回写执行结果,结果缓冲单元通过队列缓存计算结果或停顿执行流水线,阻止后面的指令回写寄存器堆,直到该退休指令整个执行完毕且没有检测到异常;
指令地址和处理器状态缓冲单元,连接退休单元以及异常/中断/调试优先级仲裁单元的输出端,负责在快速完成指令正常退休时保存该指令的地址和此时处理器的状态信息,处理器的状态信息包括处理器是否响应了中断请求或调试请求,用于正确恢复处理器现场;
所述精确异常维护方法包括如下步骤:
1)查询处理器指令快速完成时是否检测到异常,若检测到异常则执行步骤2),否则跳到步骤3)执行;
2)该指令执行结束并同步于退休响应精确异常,返回到步骤1)检测下一条指令;
3)该指令正常退休并缓存指令的地址与处理器状态信息,执行步骤4);
4)查询指令正常退休后的执行过程中是否检测到异常,若检测到异常则执行步骤5),否则跳到步骤6)执行;
5)根据缓存的指令地址与处理器状态信息恢复处理器现场,并异步于退休响应精确异常,返回到步骤1)检测下一条指令;
6)该指令正常回写执行结果,返回到步骤1)检测下一条指令。
2.如权利要求1所述的基于处理器指令快速完成的精确异常维护方法,其特征在于:步骤1)中,所述的快速完成包括三种情况:①指令处于译码阶段尚未执行时从流水线中退休、②多执行周期指令处于执行阶段尚未得到最终计算结果时从流水线中退休、③装载/存储指令尚未完成对存储器的读/写时从流水线中退休。
3.如权利要求1或2所述的基于处理器指令快速完成的精确异常维护方法,其特征在于:步骤1)中,所述的处理器指令包括定点指令、矢量指令、浮点指令,装载/存储指令。
4.如权利要求1或2所述的基于处理器指令快速完成的精确异常维护方法,其特征在于:步骤1)中,指令执行周期长度大于或等于1。
5.如权利要求1或2所述的基于处理器指令快速完成的精确异常维护方法,其特征在于:步骤3)中,将指令的退休与回写分开,若指令快速完成时尚未检测到异常,则允许该指令从整条流水线中正常退休,最后一级流水线的程序计数器将指向下一条指令,并在此时缓存该指令的地址与处理器状态信息,所述的处理器状态信息包括处理器在指令退休时是否响应了中断请求或调试请求。
6.如权利要求1或2所述的基于处理器指令快速完成的精确异常维护方法,其特征在于:步骤5)中,所述的处理器现场包括异常现场、中断现场、调试现场的影子地址寄存器以及影子状态寄存器;步骤5)所述的处理器现场恢复不对寄存器堆进行恢复更新,寄存器堆包括定点寄存器堆、矢量寄存器堆、浮点寄存器堆和控制寄存器堆。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州中天微系统有限公司,未经杭州中天微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410582418.8/1.html,转载请声明来源钻瓜专利网。