[发明专利]微处理器以及快速执行条件分支指令的方法有效
申请号: | 201210407639.2 | 申请日: | 2010-01-28 |
公开(公告)号: | CN102929589A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | G·葛兰·亨利;泰瑞·派克斯;布兰特·比恩 | 申请(专利权)人: | 威盛电子股份有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/32 |
代理公司: | 北京林达刘知识产权代理事务所(普通合伙) 11277 | 代理人: | 刘新宇 |
地址: | 中国台湾新北*** | 国省代码: | 中国台湾;71 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 微处理器 以及 快速 执行 条件 分支 指令 方法 | ||
本申请是申请日为2010年1月28日、申请号为201010111901.X、发明名称为“微处理器以及快速执行条件分支指令的方法”的申请的分案申请。
技术领域
本发明主要关于微处理器的技术,特别有关于一种执行条件分支指令的微处理器与方法。
背景技术
当没有控制流程指令时,微处理器依序地提取指令并执行该指令。换言之,预设动作就是让微处理器先提取一指令,接着再提取下一个循序指令,然后再提取下一个循序指令,以此类推。然而,控制流程指令会命令微处理器脱离此循序提取制度。微处理器在其指令集架构(instruction set architecture)中包括某种型式的条件分支指令,用以指定一分支条件状态(通常是一条件旗标(condition flag)或是一通用暂存器中的数值)及一分支条件(举例而言,位设定、位清除、等于零或大于一定值)。条件分支指令也指定一分支目标地址(branch target address)。微处理器根据分支条件检查分支条件状态,用以决定分支条件状态是否满足被条件分支指令所指定的分支条件。若分支条件状态满足分支条件,微处理器开始提取分支目标地址上的指令,而不是提取下一个循序指令。
正如众所皆知的微处理器技术,现今的微处理器包括一具有多个阶段的管线(pipeline),每一阶段执行有关程序指令的不同的工作。在标准的管线式微处理器中,阶段包括指令提取(instruction fetch)、指令解码(instruction decode-)、运算元提取(operand fetch)、执行(execute)以及写回结果(result write-back)这五个阶段。一程序中的条件分支指令会大大地增加微处理器执行程序所需的时间。这是因为在传统上,执行阶段(execute stage)用以分析条件分支指令,即决定分支条件状态是否满足分支条件。其中一个原因是程序中的指令在程序顺序(program order)中的顺序可能会比条件分支指令还要老旧(older),而这些比条件分支指令还要老旧的指令用以更新分支条件状态。因此,在运算元提取阶段可以提取条件分支指令的来源运算元(source operands)之前,微处理器必须等待直到执行单元产生上述比较老旧的指令的结果(这些比较老旧的指令的结果为条件分支指令中用以构成(constitute)分支条件状态的来源运算元),以便发出条件分支指令用以执行。然而,特别是在高度管线化(deeply pipelined)及/或乱序执行(out-of-order execution)微处理器中,微处理器可能已经提取以及处理许多程度不同的下一个循序指令(位于条件分支指令之后),并且在执行单元分析条件分支指令时,这些循序指令在程序顺序中的顺序要比条件分支指令还要新(newer)。若执行单元决定分支条件状态满足分支条件(即代表条件分支指令将会被取用(taken)),微处理器必须清除所有位于条件分支指令之后依序提取的指令,并开始提取分支目标地址上的指令。这大大地增加了微处理器执行程序所需的时间。
为了解决此问题,现今的微处理器包括分支预测器(branch predictors)用以预测方向(direction)(即分支条件状态满足分支条件(称为“被取用”),或不满足分支条件(称为“不被取用(not taken)”))。然而,分支预测器可能会误预测(mispredict)方向,在此情况下,因为微处理器必须清除管线中错误提取的指令,并开始提取正确地址上的指令(即根据是否发生正确的方向来决定该正确地址为下一个地址或分支目标地址),所以微处理器需要承担一分支误预测代价(branch misprediction penalty)。再者,这会大大地增加程序执行时间,特别是在程序中具有一些难以准确预测的条件分支指令的情况下。因此,需要一种能够及早正确地分析管线中的条件分支指令的方法,用以置换(override)分支预测器的分支预测信息。举例而言,该方法已揭露于Bose et al.所获得的美国专利第5,805,876号“一种适用于一处理器的方法与系统,用以减少平均分支解析时间及有影响的误预测代价”。然而,Bose et al.所提出的微处理器有一个缺点,就是该微处理器会选择性地(条件性地)提早分析条件分支指令。换言之,该微处理器只在分支指令满足一组特定的条件时,才会提早分析条件分支指令,例如第一个侦测到的条件分支指令设置在一指令缓冲器中的第一可配送位置(dispatchable position)中。
因此,需要一种具有一改良技术的微处理器,用以允许程序条件性地分支。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于威盛电子股份有限公司,未经威盛电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210407639.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:齿轮磨削方法
- 下一篇:一种抗旱高产小麦的育种方法