主权项 |
1.一种微处理器,包括:一记忆体,其系用来储存可被执行之指令;一提取阶层,其系用来自该记忆体中提取指令,而该指令系包括具有一现行程式段基础与偏移量之一现行远跳跃指令;一远跳跃-呼叫分支目标缓冲器,位于该提取阶层中,其系包括有一测试机制以决定该缓冲器中是否命中该现行远跳跃-呼叫分支指令,而该缓冲器系可储存该现行程式段基础与偏移量以纪录前面所执行过之远跳跃-呼叫指令的目标位址;以及一退回的推测性目标位址产生器,其系耦接至该远跳跃-呼叫分支目标缓冲器,并可于该缓冲器发生未中情形时,自于该现行远跳跃呼叫分支指令相关之该现行程式段基础与偏移量中产生一退回的远跳跃呼叫推测性目标位址。2.如申请专利范围第1项所述之微处理器,其中该退回的推测性目标位址产生器系可将该现行程式段基础与该现行跳跃呼叫指令之偏移量相加总,以算得该退回的远跳跃呼叫推测性目标位址。3.如申请专利范围第1项所述之微处理器,其中该微处理器系包括一索引产生器,该索引产生器系耦接至该远跳跃呼叫分支目标缓冲器且可用来产生一远索引资料,其方法系于该现行远跳跃-呼叫指令之位址中移除一高阶位元的预设数字。4.如申请专利范围第2项所述之微处理器,其中该推测性目标位址产生器更包括有耦接至该远跳跃呼叫分支目标缓冲器之一程式段基础输入,以便该推测性目标位址产生器可自其中接收到程式段基础资讯。5.如申请专利范围第2项所述之微处理器,其中该推测性目标位址产生器更包括有耦接至该远跳跃呼叫分支目标缓冲器之一偏移量输入,以便该推测性目标位址产生器可自其中接收到偏移量资讯。6.如申请专利范围第2项所述之微处理器,其中该推测性目标位址产生器更包括有耦接至该远跳跃呼叫分支目标缓冲器之一未中输入,而该推测性目标位址产生器系可于其中接收到未中资讯。7.如申请专利范围第1项所述之微处理器,其中该微处理器更包括有耦接至该提取阶层之一多层指令管线,其系可用来处理被提取之指令。8.如申请专利范围第7项所述之微处理器,其中该指令管线更包括有一执行阶层以用来于管线中执行指令。9.如申请专利范围第8项所述之微处理器,其中该执行阶层系可执行该现行远跳跃呼叫分支指令以决定一实际远跳跃呼叫目标位址。10.如申请专利范围第9项所述之微处理器,其中该执行阶层系包括远跳跃分解逻辑,其系可用来比较该退回的远跳跃呼叫推测性目标位址与该实际远跳跃呼叫目标位址。11.如申请专利范围第10项所述之微处理器,其中该远跳跃分解逻辑系可于该退回的远跳跃呼叫推测性目标位址与该实际远跳跃呼叫目标位址不相同时清洗该管线,而若两者相同,则该远跳跃分解逻辑系可允许指令之继续执行。12.如申请专利范围第1项所述之微处理器,其中该远跳跃呼叫分支目标缓冲器系储存有一程式段基础及偏移量,以供N个各别的推测性已执行之远跳跃呼叫分支指令使用,而其中N为整数。13.一种用于微处理器中之分支预测方法,该微处理器系具有一指令管线以执行指令,而该方法系包括:自一记忆体中提取一现行远跳跃呼叫分支指令,该现行远跳跃呼叫分支指令系包括一现行程式段基础及偏移量。测试一远跳跃呼叫分支目标缓冲器以决定该缓冲器是否命中该现行远跳跃呼叫分支指令,而该缓冲器系可储存该现行程式段基础与偏移量以纪录前面所执行过之远跳跃呼叫指令的目标位址;以及当该缓冲器发生未中情况时,依据该现行远跳跃呼叫分支指令之该现行程式段基础与偏移量产生一退回的远跳跃呼叫推测性目标位址。14.如申请专利范围第13项所述之方法,其中该远跳跃呼叫分支目标缓冲器系储存有一程式段基础及偏移量,以供N个各别的已执行之推测性远跳跃呼叫分支指令使用,而其中N为整数。15.如申请专利范围第13项所述之方法,于该缓冲器发生未中情况时更包括有一步骤,其系可于该退回的推测性目标位址中提取一目标指令,并开始执行该目标指令。16.如申请专利范围第15项所述之方法,更包括有一步骤,其系于不清洗该指令管线之情况下继续该目标指令之执行。17.如申请专利范围第16项所述之方法,更包括有一步骤,其系继续执行该现行跳跃呼叫分支指令,直到该现行跳跃呼叫分支指令决定出该现行跳跃呼叫分支指令之实际目标位址为止。18.如申请专利范围第17项所述之方法,更包括有一比较该现行跳跃呼叫分支指令之实际目标位址与该退回的推测性目标位址是否为相同之步骤。19.如申请专利范围第18项所述之方法,更包括有一步骤,当发现该现行跳跃呼叫分支指令之实际目标位址与该退回的推测性目标位址系为相同时,则该微处理器系继续执行后续指令。20.如申请专利范围第18项所述之方法,更包括有一步骤,当发现该现行跳跃呼叫分支指令之实际目标位址与该退回的推测性目标位址系为不同时,则该微处理器系进行指令管线之清洗动作。21.如申请专利范围第13项所述之方法,当该缓冲器发生现行远跳跃呼叫分支指令命中情况时,可自该现行程式段基础与偏移量中决定一主要推测性目标位址,其系储存于该缓冲器中并与该现行远跳跃呼叫分支指令相关。22.如申请专利范围第21项所述之方法,更包括有一步骤,其系于该主要推测性目标位址中提取一目标指令。23.如申请专利范围第22项所述之方法,更包括有一步骤,其系于不清洗该指令管线之情况下,由该微处理器继续执行后续之指令。图式简单说明:图一系为一方块图,说明一传统微处理器中之各项管线阶层。图二系为本发明所揭露之微处理器的一方块示意图。图三系为一流程图,其说明本发明所揭露之微处理器管线中远跳跃分解逻辑之操作流程。 |