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