[发明专利]微处理器及其执行方法有效
申请号: | 201010185596.9 | 申请日: | 2010-05-19 |
公开(公告)号: | CN101866280A | 公开(公告)日: | 2010-10-20 |
发明(设计)人: | 杰拉德·M·卡尔;罗德尼·E·虎克;布莱恩·W·伯格 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 钱大勇 |
地址: | 中国台*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 及其 执行 方法 | ||
技术领域
本发明涉及非循序执行的微处理器领域,特别涉及其分支指令的执行。
背景技术
超标量微处理器(superscalar microprocessors)具有多个执行单元(execution units),用以执行微处理器的指令集(instruction set)。超标量微处理器通过多重执行单元(multiple execution unit)来改善处理效能,因此超标量微处理器能够在每一个时钟周期中同时地执行多重指令。使得超标量微处理器具有这种潜在效能改善的关键是必须让指令持续地供应给执行单元来执行;否则,超标量微处理器的效能并不会比标量微处理器的效能更好,并且超标量微处理器会比标量微处理器花费更多的硬件成本。举例而言,执行单元用以载入并存储指令运算元(instruction operands)、计算地址、执行逻辑和计算操作,以及解析(resolve)分支指令(branch instructions)。如果使用愈多数量及类型的执行单元,在每一个时钟周期,微处理器要为每一个执行单元找回指令的程序指令串流(program instruction stream)的范围也愈大。这通常称为微处理器的预寻找能力(lookahead capability)。
有一种方法已经被用来改善微处理器的预寻找能力,其允许指令不依照程序的顺序执行,并且通称为非循序执行微处理器(out-of-order executionmicroprocessor)。虽然指令可以非循序地执行,但是多数微处理器架构仍需将指令依照程序顺序引退(retired in program order)。换句话说,被指令结果影响的微处理器架构的状态仅能依照程序顺序被更新。
非循序执行暨循序引退微处理器通常包括相当多的管线级(pipelinestages),所以有时候称为超级管线化(super-pipelining)。微处理器具有这么多管线级的原因之一是:若微处理器的指令集架构允许指令改变长度,则在管线前端通常便需要相当多的管线级,用以将未差异化指令字节(undifferentiated instruction bytes)的串流作语法分析(parse),并且将已语法分析的指令(parsed instructions)转译成微指令。
虽然在微处理器设计领域,使用分支预测器对效能是有助益的,但在超级管线化的微处理器中,发生分支指令对效能的不利影响是众所皆知的。具体而言,在用以根据分支预测器所提供的预测分支目标地址(predictedbranch target address)提取指令的级,与使得提取器(fetcher)在不同于预测分支目标地址的解析出的目标地址(resolved target address)开始提取指令的级之间,如果管线级的数量越多,则相关于分支错误预测(branch mispredictions)的效能损失(penalty)也越大。
因此,亟需一种有效的执行方法,用以在非循序执行暨循序引退的微处理器内执行分支指令。
发明内容
本发明一实施例提供一种管线化非循序执行暨循序引退的微处理器,包括:分支预测器、提取单元以及至少一执行单元。分支预测器用以预测分支指令的预测目标地址。提取单元耦接于分支预测器,用以从上述预测目标地址提取分支指令。执行单元,耦接于提取单元,用以:解析分支指令的目标地址,并且预测目标地址与所解析出的目标地址是否不同;当预测目标地址与所解析出的目标地址不同时,判断是否具有程序顺序较旧于分支指令且需要被校正的未引退指令;若没有程序顺序较旧于分支指令且需要被校正的未引退指令,则清除由预测目标地址所提取的错误预测的分支指令,并使得提取单元由所解析出的目标地址进行提取,以便执行分支指令;以及若有程序顺序较旧于上述分支指令且需要被校正的指令,则暂缓执行分支指令。
本发明另一实施例提供一种执行方法,用以在管线化非循序执行暨循序引退微的处理器中执行分支指令,包括:预测分支指令将被解析至第一提取路径且根据上述预测由第一提取路径提取分支指令;在上述预测和提取步骤之后,解析分支指令至第二提取路径,第二提取路径不同于第一提取路径;判断是否具有程序顺序较旧于分支指令且需要被校正的未引退指令;若没有程序顺序较旧于分支指令且需要被校正的未引退指令,则清除由第一提取路径所提取的错误预测分支指令,并改由第二提取路径提取分支指令,以执行分支指令;以及若有程序顺序较旧于分支指令且需要被校正的未引退指令,则暂缓执行分支指令。
附图说明
图1为根据本发明的微处理器的方块图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010185596.9/2.html,转载请声明来源钻瓜专利网。