与例外处理结合的猜测执行指令取消装置的利记博彩app

文档序号:6571643阅读:415来源:国知局
专利名称:与例外处理结合的猜测执行指令取消装置的利记博彩app
技术领域
本发明涉及微处理器体系结构,特别涉及一种与例外处理结合的猜测执行指令取消装置。
背景技术
当前各种微处理器在解决分支转移一般采取如下两种方案(1)暂停取指,直到分支结果出来。这种办法为了减少延迟,通常会采取加延迟槽的方法,但不管转移是否成功一般都会引起一定延迟。如MIPS的R4000微处理器,见Joe Heinrich,MIPS R4000 MicroprocessorUser’s manual,MIPS Technology,Inc.。
(2)采取一定程度的猜测,在分支结果出来之前,就按猜测的地址取指。这种方法当猜测正确时,并不引起延时,但当猜测错误时,就要取消已经取进的指令并重新取指,从而引起流水线断流,增加了延时。如MIPS的R10000等微处理器,见Kenneth C.Yeager,The Mips R10000Superscalar Microprocessor,IEEE Micro 1996 Apr。
第二种方案为当前流行方案,被大多数微处理器采用,且通常与流水线的动态调度技术结合在一起。在这种方案中有两个核心问题一是提高猜测准确度,从而减小取消指令的几率。二是采取有效的指令取消机制,从而减小猜错时对流水线引起的影响。
在当前的处理器中,为了避免顺序发射带来的流水线阻塞(因为分支指令通常要等操作数准备好才发射),有的会采取动态发射,如SGI/MIPS公司的MIPS R10000微处理器。在R10000中,分支指令仍然可以动态发射,但由此在猜测错误取消指令时,带来了一些问题(1)R10000在遇到分支指令时,将可选的地址和各寄存器备份到分支堆栈(branch stack)中,以备以后恢复,这种做法不可避免地带来控制逻辑和设计的复杂性;如图1所示,当译码时发现转移指令,将寄存器的映射表以及有关的控制位保存到转移栈中。当预测错误时,就从转移栈中恢复这些信息。但某些Cache操作是不可恢复的。
(2)R10000的这种取消机制可能会带来一些副作用(side effects),如非一致性Cache操作(non-coherent cached operations)带来的Cache的状态和数据的变化是不可恢复的,从而使恢复现场不精确,因此要靠遵守一些规范来减少这种情况,见Joe Heinrich,MIPS R10000Microprocessor User’s manual,MIPS Technology,Inc.。

发明内容
本发明的目的是提供一种与例外处理结合的猜测执行指令取消装置,将分支错误作为一种特殊中断处理,如发生预测错误,则置起一种特殊的中断,通知各部件进行恢复现场处理。
为实现上述目的,与例外处理结合的猜测执行指令取消装置包括操作队列,发出控制信号,执行转移指令的部件,其根据转移条件进行判断,并将结果写回到操作队列。
本发明采用的中断处理具有精确性,保证了现场恢复的精确性;同时因为将分支错误与中断处理结合起来,又减少了逻辑的复杂度,更利于实现和提高主频。与其它处理器的指令取消机制比起来,本发明具有结构简单现场精确的特点。


图1是现有技术分支恢复结构图。
图2是本发明的分支恢复结构图。
发明的实施方式转移指令由ALU(算术与逻辑部件)或浮点FALU(浮点部件)执行,并把转移成功与否等信息写回到操作队列,转移指令结束时再根据转移指令执行的结果决定是否取消后续已经猜测执行的操作。因此在发射时不用等待操作数准备好。如果转移指令所需的操作数没有准备好,像普通操作一样在保留站等待。ALU或FALU执行条件转移指令时,根据转移条件进行判断,并将结果写回到操作队列(对于条件转移指令,结果为1表示转移成功)。目标转移地址在寄存器中的转移指令JR,JALR等也通过ALU,利用ALU的保留站等待所需的目标地址。
当条件转移的转移条件确定时,后面的操作可能已经发射到功能部件执行,有的操作可能已经写回。如果转移指令猜错,我们巧妙地利用了例外处理的取消逻辑对猜错的转移指令后的指令进行取消。即在转移指令写回时,要根据结果形成例外向量并写入操作队列相应项的ex(ex=1表示发生例外)和excode(在ex=1时,excode表示例外原因)域,把转移指令猜错作为一种特殊的例外,在转移指令结束时利用例外处理的通路通知各功能部件取消当前正在执行的操作,并取消后面已经取进来的指令。从而解决了指令取消问题。图2给出一个具体实施例,当译码时发现转移指令,不做单独处理;当预测错误时,按照中断的处理方式产生一个特殊中断,进行指令取消和现场恢复。因为中断是精确的,所以,所有的现场都是精确的,同时恢复了中断的逻辑(本例中,用EX=1表示有中断发生,用Excode=111111表示此中断是由转移引起的)。
权利要求
1.一种与例外处理结合的猜测执行指令取消装置,包括通用寄存器及其映射表、浮点寄存器及其映射表,其特征在于还包括操作队列,发出控制信号;执行转移指令的部件,其根据转移条件进行判断,并将结果写回到操作队列。
2.根据权利要求1所述的装置,其特征在于所述的转移指令部件包括算术与逻辑部件和浮点部件。
3.根据权利要求1所述的装置,其特征在于当转移指令结束时,利用例外处理的通路通知各功能部件取消当前正在执行的操作,并取消后面已经取进来的指令。
全文摘要
一种与例外处理结合的猜测执行指令取消装置包括通用寄存器及其映射表、浮点寄存器及其映射表,还包括执行转移指令的部件,其根据转移条件进行判断,并将结果写回到操作队列。本发明采用的中断处理具有精确性,保证了现场恢复的精确性;同时因为将分支错误与中断处理结合起来,又减少了逻辑的复杂度,更利于实现和提高主频。与其它处理器的指令取消机制比起来,本发明具有结构简单现场精确的特点。
文档编号G06F9/30GK1410884SQ0114149
公开日2003年4月16日 申请日期2001年9月27日 优先权日2001年9月27日
发明者胡伟武, 王海洋 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1