用于支持数据推测式执行的微处理器与方法技术

技术编号:2859186 阅读:177 留言:0更新日期:2012-04-11 18:40
一微处理器(100)可包含数个执行单元(124)、以及耦合而将作业发出到至少一个该等执行单元(124)的一排程器(118)。该排程器(118)可包含数个资料项(320)。可将第一资料项分配给第一作业。该第一资料项包含该第一作业的每一操作数的来源状态指示(330A,330B)。每一个来源状态指示(330A,330B)系指示该第一作业的一各别操作数的值是否是推测的。该排程器(118)的组态设定成:响应接收到第二作业的结果的值是非推测的值的指示,而更新该第一资料项的其中一个来源状态指示(330A,330B),以便指示该第一作业的各别操作数的值是非推测的。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术有关微处理器的领域,尤其有关微处理器中执行的排程作业。
技术介绍
超纯量微处理器藉由同时执行多个指令,并使用与其设计一致的可行的最短时脉周期,而获致高效能。然而,各指令间的资料相依性及控制流相依性可能限制了在任何特定时间可发出的指令数目。因此,某些微处理器支持推测式执行(speculative execution),以便获致额外的效能增益。其中一种类型的推测是控制流推测。控制流推测预测程控将进行的方向。例如,可利用分支预测来预测将采取的一分支。可使用许多类型的分支预测,其范围自每次只作相同的预测的方法至维护程序中各先前分支的复杂历史以便进行基于历史的预测的方法。可经由硬件最佳化、编译器最佳化、或以上两者来帮助分支预测。根据分支预测机制,可以推测方式提取及执行各指令。当最后评估分支指令时,可验证该分支预测。如果该预测是错误的,则可使根据该错误的预测而以推测方式执行的任何指令无效。另一种类型的推测是预测资料值的资料推测。某些数据推测涉及预测将响应一加载指令而提供的值。可藉由追踪响应存储指令而存储的值而执行上述的资料推测,而且如果一后续的加载作业使用相同的缓存器及(或)位移,而指定一地址如同其中一个先前存储作业所使用,则推测地使用先前存储的值。另一种类型的资料推测,值预测,是预测数据项的值。值预测可能涉及检视资料型样并根据这些型样而进行预测。例如,可检视一索引计数器变量的各先前值的递增或递减方式,而预测该变量的值。另一种类型的资料推测是地址预测,而地址预测涉及数据位置的预测。另一种类型的资料推测被称为内存系统乐观式存取(memorysystem optimism)。在多处理器系统中,当一处理器在高速缓存一致性检查完成之前,即使用来自该处理器的自身高速缓存的数据来推测式的执行一指令时,即发生内存系统乐观式存取。同样地,另一种类型的资料推测可容许下列的情形在执行一加载作业时有而存储作业的地址尚未计算出来之前,即推测式执行加载作业,纵使该存储作业可能将资料存储到该加载作业所存取的相同地址。在所有这些类型的资料推测中,最后要评估潜在的状况,而可证实或取消该推测。如果该推测最后确认是错误的,则可重新执行(诸如利用更新的和(或)非推测的资料)先前使用该推测的数据执行的指令。因为推测式执行可在无须等候相依性检查完成的情形下继续执行,所以如果因正确的推测而得到的效能超过因错误的推测而失掉的效能,则可获致可观的效能增益。当一推测的结果是错误的,即取消以推测方式执行的指令,并以非推测方式重新开始执行。为了取消推测式执行,可记录每一推测,以便在推测证实是错误预测时可识别以推测方式执行的各指令。推测式执行的一个结果是排程器(在整份说明书中,系将诸如排程器及指令保留区(reservation station)等的排程装置整体地称为“排程器”)在执行之后可能无法解除推测式作业的分配,这是因为若潜在的推测是错误的,则需要重新发出这些作业。在数个时脉周期中可能无法作出潜在的推测是否正确的决定,而且可能无法决定为了作出上述决定而要耗用多少的时脉周期。此种不确定性可能将难以确定自排程器解除作业的时机。因此,排程器的资料项可能在比所需要还长的一段时间中保持被分配给推测式作业,而造成了排程器中空间的浪费。
技术实现思路
本专利技术揭示在微处理器中多种排程作业的方法及系统的实施例。在一实施例中,一微处理器可包含数个执行单元、以及耦合而将作业发出到至少一个该等执行单元的一排程器。该排程器可包含一具有数个资料项的作业存储单元、以及一排程器控制单元。可将该作业存储单元中的一第一资料项分配给一第一作业。该第一资料项包含该第一作业的各操作数的来源状态指示。每一来源状态指示系指示该第一作业的各别操作数的值是否是推测的。该排程器控制单元的组态设定成响应接收到一第二作业的结果的值是非推测的指示,而更新该第一资料项的其中一个来源状态指示,以便指示该第一作业的操作数中对应的那个操作数的值是非推测的。一种方法的实施例可涉及下列步骤一第一来源状态指示指示一第一作业的第一操作数的值是推测的,其中该第一操作数是一第二作业的结果;响应接收到用来指示该第二作业的结果的值不是推测的的一第一结果状态指示,而更新该第一来源状态指示,以便指示该第一操作数的该值不是推测的;以及一第二结果状态指示响应该第一来源状态指示的更新,而指示该第一作业的结果的值不是推测的。一种方法的另一实施例可涉及下列步骤对应于一第一分支作业的第一操作数的第一来源状态指示指示该第一操作数的值是推测的;接收一第二作业的结果的值是非推测的指示,其中该第二作业的结果是该第一操作数;响应接收到该指示,而更新该第一来源状态指示,以便指示该第一操作数的该值是非推测的;以及将该第一来源状态指示更新而指示该第一操作数是非推测的操作数,延迟响应该第一分支作业结果的值的指令预先提取机制改向以及处理管线的清除,直到第一来源状态指示已更新完成指示第一运元为非推测。计算机系统的一实施例包含一系统内存、以及耦合到该系统内存的一微处理器。该微处理器可包含数个执行单元、以及耦合而将作业发出到至少一个该等执行单元的一排程器。该排程器可包含数个资料项。将一第一资料项分配给一第一作业。该第一资料项可包含该第一作业的各操作数的来源状态指示,且每一来源状态指示可指示该第一作业的各别操作数的值是否是推测的。该排程器的组态可被设定成响应接收到一第二作业的结果的值是非推测的指示,而更新该第一资料项的其中一个来源状态指示,以便指示该第一作业的操作数中对应的那个操作数的值是非推测的。附图说明若参阅前文中的详细说明,并配合下列图式,将可更易于了解本专利技术,这些图式有第1图标出一微处理器的一实施例。第2图是一排程器实施例的方块图。第3图是操作一微处理器的方法的实施例的流程图。第4图标出一计算机系统的实施例。第6图标出一计算机系统的另一实施例。虽然本专利技术易于作出各种修改及替代形式,但是该等图式中系以举例方式示出本专利技术的一些特定实施例,且已在本文中详细说明了这些特定实施例。然而,我们当了解,该等图式及本文对该等图式的详细说明的用意并非将本专利技术限制在所揭示的特定形式,相反地,本专利技术将涵盖最后的申请专利范围所界定的本专利技术的精神及范围内的所有修改、等效物、及替代。请注意,各标题只是用于组织的目的,且该等标题的用意并非在用来限制或诠释说明或申请专利范围。此外,请注意,在本申请案的全文中系以容许的意义(亦即有可能、能够)而非以强制的意义(亦即必须)使用词语“可能”(“may”)。术语“包括”(“include”)及其衍生词语意指“包括但不限于”(“including,but not limited to”)。术语“被连接”(“connected”)意指“直接地或间接地被连接”,且术语“被耦合”(“coupled”)意指“直接地或间接地被耦合”。具体实施例方式第1图--微处理器第1图是一微处理器(100)的实施例的方块图。微处理器(100)的组态设定成执行一系统内存(200)中存储的指令。许多这些指令对系统内存(200)中存储的数据执行运算。请注意,可在实体上将系统内存(200)分布到整个计算机系统,且可由一个或多个微处理器(100)存取该系统内存(200)。微处理器(10本文档来自技高网
...

【技术保护点】
一种微处理器(100),包含:多个执行单元(124);以及耦合而将作业发出到该等多个执行单元中的至少一个执行单元的一排程器(118),其中该排程器包含:包含多个资料项(320)的作业存储单元(302),其中系将第一资 料项分配给第一作业,其中该第一作业系对一个或多个操作数执行作业,其中该第一资料项包含一个或多个来源状态指示(330A,330B),其中每一来源状态指示系指示该等一个或多个操作数中的各别操作数的一值是否是推测的;以及耦合到该作业存储单 元(302)的排程器控制单元(304),且该排程器控制单元(304)的组态被设定成:响应接收到第二作业的结果的值是非推测的值的指示,而更新该第一资料项中包含的该等一个或多个来源状态指示中的一个来源状态指示(330A,330B),以便指示该等一个或多个操作数中的各别操作数的一值是非推测的。

【技术特征摘要】
US 2002-8-28 10/229,5631.一种微处理器(100),包含多个执行单元(124);以及耦合而将作业发出到该等多个执行单元中的至少一个执行单元的一排程器(118),其中该排程器包含包含多个资料项(320)的作业存储单元(302),其中系将第一资料项分配给第一作业,其中该第一作业系对一个或多个操作数执行作业,其中该第一资料项包含一个或多个来源状态指示(330A,330B),其中每一来源状态指示系指示该等一个或多个操作数中的各别操作数的一值是否是推测的;以及耦合到该作业存储单元(302)的排程器控制单元(304),且该排程器控制单元(304)的组态被设定成响应接收到第二作业的结果的值是非推测的值的指示,而更新该第一资料项中包含的该等一个或多个来源状态指示中的一个来源状态指示(330A,330B),以便指示该等一个或多个操作数中的各别操作数的一值是非推测的。2.如权利要求1所述的微处理器,其中该等多个执行单元中的一第一执行单元的组态被设定成执行该第一作业以产生该第一作业的结果,其中该第一作业的结果包含一个结果指示,其中该结果指示系指示如果该第一资料项中包含的该等一个或多个来源状态指示中的任何来源状态指示系指示该等一个或多个操作数中的各别操作数是推测的,则该第一作业的该结果的值是推测的。3.如权利要求1所述的微处理器,其中对应于该第二作业的结果的一标记等于对应于该等一个或多个操作数中的操作数的标记,其中将该排程器控制单元的组态设定成响应在标记总线上接收到对应于该第二作业的结果的标记,而更新该第一资料项中包含的该等一个或多个来源状态指示中的一来源状态指示。4.如权利要求3所述的微处理器,其中将该排程器控制单元的组态被设定成响应接收到在该标记总线提供了对应于该第一操作数的标记以更新推测式的状态指示的指示,而更新该等一个或多个来源状态指示中的来源状态指示。5.如权利要求1所述的微处理器,其中将该排程器控制单元的组态设定成如果该第一资料项中...

【专利技术属性】
技术研发人员:BT桑德M阿尔萨普M菲利波
申请(专利权)人:先进微装置公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1