[发明专利]复杂指令集体系结构中的深度优先异常处理方法有效
申请号: | 200610088939.3 | 申请日: | 2006-07-27 |
公开(公告)号: | CN101114218A | 公开(公告)日: | 2008-01-30 |
发明(设计)人: | 段振中;范东睿 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 中科专利商标代理有限责任公司 | 代理人: | 朱进桂 |
地址: | 100080北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 复杂 指令 集体 结构 中的 深度 优先 异常 处理 方法 | ||
技术领域
本发明涉及到计算机系统领域,具体地说,涉及处理器内部异常处理领域。本发明提出了一种复杂指令集体系结构中的深度优先异常处理方法。
背景技术
在复杂指令集的计算机系统中,大部分指令都翻译为多条微指令,处理器中的指令流水线处理的是这些微指令,而不是翻译前的操作系统可见指令。这些微指令通常可以操作比复杂指令更多的寄存器资源,比如在复杂指令集中有8个可见的通用寄存器,在微指令集中可能会有32个或64个以上的可见通用寄存器。以32个可见的通用寄存器为例,其中的8个可以作为复杂指令集的通用寄存器,而剩下的24个寄存器则保留给微指令集的译码器作为临时寄存器或用作其它用途。当然,对于微指令集可见的通用寄存器之间还存在一个数据相关的问题。这个问题通常通过寄存器重命名来解决。在一条复杂的指令翻译成的多条微指令中,一些微指令在某种情况下会发生异常,在发生异常后,首先会执行若干条预处理微指令,预处理微指令保存寄存器现场,获取跳转的目标地址,然后跳转到操作系统可见的异常处理程序。这种机制存在一个问题,在发生异常后的预处理微指令中又可能发生异常,这样就形成了微指令异常的多层嵌套。这样就需要一种方法保证这些异常的顺序,正确的修复。另外,对于复杂指令集的指令,它们通常翻译为多个微指令,这多个微指令每一个都有可能发生异常,这些异常如何得到处理,而又不至于导致指令流程混乱甚至异常的死循环,本发明提出了一种在修复所有这些异常后返回到正常指令执行流程的方法。
发明内容
本发明提供了一种深度优先异常处理的方法,可以解决在异常预处理过程中又发生异常的问题,而且可以保证寄存器之间依赖关系的恢复,异常的正常修复,从而可以从断点处继续执行指令。
为了实现上述目的,根据本发明,提出了一种复杂指令集体系结构中的深度优先异常处理方法,包括以下步骤:在发生异常时,1)指令重排序缓冲器发出异常信息给各个模块,各个模块将自身寄存器置为无效,从而刷空流水线;2)译码部件将所述异常信息转换为预先定义的指令;3)译码部件根据所述预先定义的指令,索引只读存储器,找出与之相应的微指令,并将所述微指令送入发射部件;4)发射部件将没有数据相关的微指令送入执行部件执行;5)执行部件执行所述微指令,并将执行结果写入指令重排序缓冲器;6)检查指令重排序缓冲器中的第一条微指令是否异常;7)如果指令重排序缓冲器中的第一条微指令异常,则返回1)流水线刷空步骤;8)如果指令重排序缓冲器中的第一条微指令未发生异常,则指令重排序缓冲器将已经写回的第一条微指令提交,完成处理。
优选地,所述3)微指令查找步骤还包括:对所述预先定义的指令进行解码,并根据解码结果,索引只读存储器。
优选地,所述3)微指令查找步骤还包括:将所述微指令按序存放在指令重排序缓冲器中。
优选地,所述执行部件包括多个执行部件。
优选地,在所述6)异常检查步骤中,检查指令重排序缓冲器中排序靠前的多条微指令是否异常。
优选地,指令重排序缓冲器中排序靠前的多条微指令是指令重排序缓冲器中的第一条和第二条微指令。
优选地,指令重排序缓冲器中排序靠前的多条微指令是指令重排序缓冲器中的第一条到第四条微指令。
优选地,对于数据相关微指令,等待相关数据的产生,当已经产生所有相关数据时,将该数据相关微指令标记为没有数据相关的微指令。
附图说明
下面将参照附图,对本发明的优选实施例进行详细的描述,其中:
图1示出了应用本发明的微处理器的基本框图。
图2是预处理微指令异常嵌套时的处理流程图。
图3是ROQ的内部结构图,它是一个循环队列。
图4是未发生异常预处理的嵌套时指令的执行过程。
图5是发生异常预处理的嵌套时指令的执行过程。
图6描述了重命名模块中微指令对应的目标逻辑寄存器和物理寄存器之间的依赖关系。
图7是实现本发明的译码器的结构框图。
具体实施方式
下面结合附图说明本发明的具体实施方式。应该指出,所描述的实施例仅是为了说明的目的,而不是对本发明范围的限制。所描述的各种数值并非用于限定本发明,这些数值可以根据本领域普通技术人员的需要进行任何适当的修改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610088939.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防伪方法及实现该方法的防伪系统和装置
- 下一篇:火炬塔的燃烧方法和装置