CN100573444C - 用于臆测分支预测优化的系统及其方法 - Google Patents

用于臆测分支预测优化的系统及其方法 Download PDF

Info

Publication number
CN100573444C
CN100573444C CNB2006800110452A CN200680011045A CN100573444C CN 100573444 C CN100573444 C CN 100573444C CN B2006800110452 A CNB2006800110452 A CN B2006800110452A CN 200680011045 A CN200680011045 A CN 200680011045A CN 100573444 C CN100573444 C CN 100573444C
Authority
CN
China
Prior art keywords
branch prediction
instruction
speculative branch
processor
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2006800110452A
Other languages
English (en)
Other versions
CN101156133A (zh
Inventor
E·谢哈德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of CN101156133A publication Critical patent/CN101156133A/zh
Application granted granted Critical
Publication of CN100573444C publication Critical patent/CN100573444C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3848Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

决定代表处理器的臆测分支预测效率的值,并因而调整该臆测分支预测深度。该处理器的臆测分支预测效率可以通过每一指令的时钟(CPI)的平均数来表示,藉此,平均CPI的增加指示由于不正确预测的臆测分支预测,该处理器变得效率较差,而相反地,平均CPI的减少指示该处理器具有适当预测的臆测分支预测得较高的比率。因此,当该处理器较有效率地预测臆测分支预测时,可增加对该处理器的可用的臆测分支预测深度,以利用此增加效率,而当处理器较无效率地预测臆测分支预测时,可减少该可用的臆测分支预测深度,以降低或最小化该处理器于进行错误的臆测分支预测中所使用的处理周期及电力。

Description

用于臆测分支预测优化的系统及其方法
技术领域
本发明是关于臆测分支预测技术,尤指用于适应性臆测分支预测优化的技术。
背景技术
为了提升处理器的效能,分支预测技术经常使用于处理器与其它处理装置。一种类型的分支预测包括臆测分支预测,藉的在第一条件分支预测完成后,在该第一条件分支预测的解析之前完成一个或多个臆测分支预测,其中完成的臆测分支预测的数目系归为可用的臆测分支预测深度。臆测分支预测通常是有利的,在于若采用臆测分支预测前的条件分支预测,则该臆测分支预测成为条件分支预测,且与该新的条件分支预测有关的指令系已预取的(pre-fetched)且可用于处理器的管线进行的执行。这导致处理器的管线的完全利用,因而防止处理器的停滞(stall)。然而,臆测分支预测可能是不利的,在于若不采用第一条件分支预测,则该管线在预取及加载与臆测分支预测有关的指令进入高速缓存及/或该管线本身中已浪费掉时间与电力。结果,该处理器也必须扩大能量与时间推进该管线,并且移除或忽略起因于错误预测分支的执行的资料。
因此,习知的处理装置可利用预定可用的臆测分支预测深度以尝试达成臆测分支预测的优点与缺点间的最理想的平衡。然而,当臆测分支预测命中/失误率(hit/miss rate)以及条件分支的平均数系有高度应用程序特定性(highly application specific)时,用于处理器所执行的某些或全部的应用程序的任何特定预先定义可用的臆测分支预测深度的选择通常证实是次佳的。于是,用于适应性臆测分支预测深度优化的系统与方法会是有利的。
发明内容
本发明提供一种用于臆测分支预测优化的方法,包含:定量发生在处理器执行一个或多个指令的期间的周期脉冲数;以及根据该周期脉冲数与预先定义值的比较,调整分支预测的可用深度。
本发明亦提供一种处理装置,包含:可操作以定量处理器的指令执行效率的预测效率模块;以及根据该指令执行效率以调整可用臆测分支预测深度的深度调整模块,其中,该预测效率模块包含时钟计数器、时钟计数寄存器、指令计数器、比较模块、除法器、及要计数的指令寄存器,该时钟计数器包括接收管线时钟的输入、以及耦合于该时钟计数寄存器的输入的输出,该时钟计数寄存器包含耦合于该比较模块的输出的第二输入、以及耦合于该除法器的输入的输出,该指令计数器包括接收被确认指令信号的输入、以及耦合于该比较模块的第一输入的输出,该比较模块包含耦合于该要计数的指令寄存器的输出的第二输入,而该深度调整模块可根据在来自该预测效率模块的臆测预测效率信号输出的平均每一指令的时钟而决定是否增加或减少可用于预取模块的臆测分支预测深度。
本发明又提供一种处理装置,包含:管线,该管线包含:预取模块,该预取模块包括耦合于指令高速缓存的第一输入、以及第一寄存器以储存代表可用分支预测深度的值,其中该可用分支预测深度代表该预取模块所要执行的臆测分支预测的最大数;以及执行模块,该执行模块可操作以执行一个或多个指令,该执行模块具有响应指令的执行以提供宣告信号的输出;臆测分支预测模块,该臆测分支预测模块包括:第一计数器,该第一计数器具有耦合于周期信号的输入、以及提供该周期信号的脉冲计数的表示的输出;第二计数器,该第二计数器具有耦合于该执行模块的输出的输入、以及提供被执行指令的计数的表示的输出;第二寄存器,该第二寄存器具有接收要计数的执行数的表示的输入、以及提供要计数的执行数的表示的输出;比较器,该比较器具有耦合于该第二计数器的第一输入、耦合于该第二寄存器的输出之第二输入、以及当该第一输入与该第二输入实质上相等时提供宣告信号的输出;第三寄存器,该第三寄存器具有耦合于该第一计数器的输出的第一输入、耦合于该比较器的输出的第二输入、以及响应该比较器提供的该宣告信号以提供该脉冲计数的表示的输出;移位器,该移位器具有接收该要计数的执行数的表示的第一输入、耦合于该第三寄存器的输出的第二输入、以及根据该要计数的执行数的表示与该脉冲计数的表示以提供对每个指令的脉冲数的表示的输出;以及深度调整模块,该深度调整模块具有耦合于该移位器的输出的第一输入、以及耦合于该第一寄存器的输入的输出,其中该深度调整模块可操作以在该输出提供第一值用于储存于该第一寄存器中,该第一值代表该可用臆测分支预测深度,其中深度调整模块进一步可操作根据用于指令的第一周期的对从该移位器接收的每一指令的脉冲的第一数与用于在该指令的第一周期后的指令的第二周期的对从该移位器接收的每一指令脉冲的第二数的比较,以调整指令的周期间的该第一值。
附图说明
图1是根据本发明的至少一个实施例的利用适应性臆测分支预测深度优化的例示处理装置的方块图;
图2是说明根据本发明至少一个实施例的图1的处理装置的例示臆测分支预测状态机的方块图;
图3是说明根据本发明的至少一个实施例的例示预测效率模块的方块图;以及
图4是说明根据本发明的至少一个实施例的用于决定最佳臆测分支预测深度的例示方法的流程图。
具体实施方式
图1至4说明用于处理器及其它处理装置中的臆测分支预测的适应性优化的各种系统与技术。根据本发明的至少一个实施例,决定了代表处理器的臆测分支预测效率的值,且根据该效率值调整臆测分支预测深度。可以如对每一指令的时钟(clocks per instruction,CPI)的数来表示该处理器的臆测分支预测效率,藉此,CPI的增加指示由于不正确预测的臆测分支预测,该处理器变的较无效率,而相反地,CPI的减少指示该处理器具有适当预测的臆测分支预测的较高比率。因此,当该处理器正在执行应用程序而使该处理器更有效率地预测臆测分支预测时,可增加该处理器的可用的臆测分支预测深度以利用此增加的效率,而当该处理器较无效率地预测臆测分支预测时,可减少可用的臆测分支预测深度以降低或最小化该处理器于进行错误的臆测分支预测中所用的处理周期及电力。
现参考图1,说明根据本发明的至少一个实施例的利用适应性臆测分支预测深度优化技术的例示处理装置100。该处理装置100包含具有耦合于指令高速缓存106的预取(pre-fetch)模块104的管线102。如图所示,该管线102复可包含指令译码模块108、指令队列、地址计算模块112、执行模块114、回写(write back)模块115等。该处理装置100复包含耦合于至少该预取模块104及该执行模块114的臆测分支预测状态机120。
在至少一个实施例中,臆测分支预测状态机120系可操作以根据决定要代表处理器的臆测分支预测效率的一个或多个值而动态调整可用于预取模块104的可用的臆测分支预测深度。在一个实施例中,平均的对每一指令的时钟或CPI为该臆测分支预测状态机120所利用作为该处理器的臆测分支预测效率的表示,并且从此CPI值,该状态机120可决定供该预取模块104使用的新臆测分支预测深度或可调整预先存在的臆测分支预测深度供该预取模块104使用。
现参考图2,该状态机120将以更详细方式说明。在例示的实例中,该状态机120包含耦合于深度调整模块206之预测效率模块202。该预测效率模块202包括接收例如管线时钟124之周期信号的输入、接收用于目前的指令周期之要计数之指令(ITC)之数的指示或表示(ITC信号123)的输入、以及从执行模块114接收到的信号126,其中当执行模块114已确认(committed)指令时,该执行模块114宣告该信号126或提供作为信号126之特定值。藉由使用该时钟信号124之脉冲以及从信号126取得被确认的指令之计数,该预测效率模块202可决定由该ITC信号123所定义之用于指令周期之平均CPI。此平均CPI可输出为信号204至深度调整模块206以作为用于该指令周期之处理器的臆测分支预测效率的指示。根据在信号204输出之平均CPI,该深度调整模块206可决定是否增加或减少可用于该预取模块104之臆测分支预测深度,其中当用于目前指令周期之平均CPI大于用于先前指令周期之平均CPI时,可减少可用的深度,而相反地,当目前指令周期之平均CPI小于先前指令周期之平均CPI时,该深度调整模块206可增加可用的臆测分支预测深度供预取模块104使用。另一种方式为,该深度调整模块206可根据CPI值与一个或多个临界值之比较来决定新的可用之臆测分支预测深度值供预取模块104使用。因此,该深度调整模块206可根据用于一个指令周期之平均CPI与先前指令周期之平均CPI的比较来动态调整可用的臆测分支预测深度,以在给定的应用程序之使用上测定该臆测分支预测深度之有效性。
现参考图3,说明根据本发明之至少一个实施例之预测效率模块202之例示的实施方式。该模块202包含时钟计数器302、时钟计数寄存器304、指令计数器306、比较模块308、除法器312、延迟组件322、或门(OR gate)320、及ITC寄存器122。该时钟计数器302包括接收该管线时钟124之输入、以及耦合于该时钟计数寄存器304之输入的输出。该时钟计数寄存器304复包含耦合于该比较模块308之输出的第二输入、以及耦合于该除法器312之输入的输出。该指令计数器306包括接收被确认指令信号126之输入、以及耦合于该比较模块308之第一输入的输出。该比较模块复包含耦合于该ITC寄存器122之输出之第二输入。如以上所注意到的,该ITC寄存器122可加载有ITC值,该ITC值可透过如软件驱动程序或操作系统提供为ITC信号123。
操作上,在指令周期开始时,藉由透过如OR闸320提供的重新设定信号重新设定时钟计数器302与指令计数器306。该时钟计数器302然后根据管线时钟124之各脉冲增加计数量。同样地,该指令计数器306每次于该执行模块114宣告被确认的指令信号126时增加计数量,因此,该指令计数器306代表在目前的指令期间该执行模块114所确认的指令之目前数目。指令计数器306之目前值系提供给该比较模块308,如同储存于ITC寄存器122之ITC值。当这些值相等或实质上相等时,该比较模块308宣告相等信号310,因而指示该执行模块114所确认的指令之数目系相等于或实质上相等于操作系统或软件驱动程序所指示之要计数之指令数。在一个实施例中,该时钟计数寄存器304储存在目前的指令周期期间来自管线时钟124由时钟计数器302所决定之时钟周期或脉冲之目前数目。响应该相等信号310之宣告,该时钟计数寄存器304输出目前的时钟计数至该除法器312。该除法器312将用于目前指令周期的时钟计数除以要计数的指令(ITC)之数以决定在目前指令周期期间用于执行模块114所确认的那些指令之对每一指令之时钟(CPI)之平均数。在一个实施例中,实施该除法器312如同具有向右移位输入该ITC信号123之移位器。所决定之平均CPI之表示可输出为信号204。
现参考图4,说明根据本发明的至少一个实施例之根据用于一个或多个指令周期之平均CPI以调整可用的臆测分支预测深度供处理器100使用之例示的方法。该方法400在步骤402开始,其中ITC值或代表对特定指令周期要被计数之指令数的值系被加载至如ITC寄存器122。在步骤404中,对目前的指令周期计数由执行模块114所确认之指令的数目。在步骤406中,计数管线时钟124之时钟或周期之数目。在步骤408中,用于指令周期的平均CPI系根据在步骤406中计数之周期数对在步骤404中计数之被确认指令数的比率来决定。在步骤410中,目前指令周期之平均CPI系与先前指令周期的平均CPI做比较。出现目前指令周期的平均CPI少于先前指令周期的平均CPI的情况,可诠释为该处理器110之臆测分支预测系更有效率或变成更有效率的指示,并且该预取模块104所利用之可用的臆测分支预测深度因而可在步骤412中增加某一值。举例来说,可使该深度增加一固定增加量(如增加一个深度)、特定百分比(如增加20%的臆测分支预测)等。
要计数之指令数(即,ITC之值)系代表所计算平均CPI的一段持续时间(duration),因此可以是所产生之平均CPI的因素(factor)。举例来说,若ITC值小于如小循环(tight loop)中的指令之数目,则由于小循环之执行,所计算之平均CPI值可能被人为地压低。同样地,太大的ITC值可能造成估计的平均CPI值未完全反应处理器分支预测效率。因此,若目前平均CPI少于先前平均CPI,则在步骤414中可降低该ITC值以推敲(refine)用于下一个指令周期所计算之平均CPI的持续时间。用以说明,在确认目前的ITC值大于预先定义之最小ITC值后,可降低该ITC值为一半,举例来说,藉由移位在ITC寄存器122中的值往右一个位。
在步骤416中,发生目前指令周期之平均CPI大于先前指令周期之平均CPI的情况,可诠释为处理器于其臆测分支预测中系较无效率或变成较无效率的指示。因此,该可用分支预测深度可在步骤418中减少某一量以减少预取模块104可采用之臆测分支预测之数,因而减少或最小化起因于失误的臆测分支预测所浪费之处理器周期时间及电力消耗。此外,有可能目前的ITC值代表可对其决定适当平均CPI值之指令的不足数目。因此,在步骤420中,可增加目前的ITC值以增加在下一个周期期间所计数的指令数。举例来说,在确认该ITC值小于预先定义之最大ITC值后,可增加目前的ITC值至两倍其大小,举例来说,藉由移位在ITC寄存器122中的值往左一个位。
对下一个指令周期而言,在步骤422中,该曾经为目前平均CPI被设定成先前的平均CPI,且可重复该方法400用于该下一个指令周期。因此,将会了解,方法400之反复的重复造成预取模块104使用的可用臆测分支预测深度的动态转变,以便调整由处理器做出的臆测分支预测的有效性的改变,以及调整常为应用程序高度依赖的错误臆测分支预测之成本的变化。
以上所揭露之本发明仅视为例示之用,而非限制性的,且所附加的实施例是为了要涵盖所有的修改、改良及落于本发明之精神与范畴内之其它实施例。因此,在法律所允许的最大程度下,本发明之范畴系以后面的权利要求书之最广泛可允许的诠释来决定,并且将不会受先前详细的说明所局限或限制。

Claims (10)

1.一种用于臆测分支预测优化的方法,包含:
定量发生在处理器执行一个或多个指令的期间的周期脉冲数;以及
根据该周期脉冲数与预先定义值的比较,调整分支预测的可用深度。
2.如权利要求1所述的方法,其中,定量该周期脉冲数包含决定发生在处理器执行一个或多个指令的期间的周期脉冲数相对于在该处理器执行一个或多个指令的期间该处理器所执行的指令数的比率。
3.如权利要求1所述的方法,其中,定量该周期脉冲数包含决定用于执行预先定义的指令数的周期脉冲数。
4.如权利要求1所述的方法,还包含响应调整该分支预测的可用深度而调整该预先定义的指令数。
5.如权利要求4所述的方法,其中,调整该预先定义的指令数包括响应减少该分支预测的可用深度而增加该预先定义的指令数。
6.如权利要求5所述的方法,其中,调整该预先定义的指令数包括响应增加该分支预测的可用深度而减少该预先定义的指令数。
7.如权利要求6所述的方法,其中,该预先定义的指令数维持在由预先定义的最小指令数及预先定义的最大指令数所设定的范围内。
8.如权利要求1所述的方法,其中,该分支预测包含臆测分支预测。
9.一种处理装置,包含:
可操作以定量处理器的指令执行效率的预测效率模块(202);以及
根据该指令执行效率以调整可用臆测分支预测深度的深度调整模块(206),
其中,该预测效率模块包含时钟计数器、时钟计数寄存器、指令计数器、比较模块、除法器、及要计数的指令寄存器,该时钟计数器包括接收管线时钟的输入、以及耦合于该时钟计数寄存器的输入的输出,该时钟计数寄存器包含耦合于该比较模块的输出的第二输入、以及耦合于该除法器的输入的输出,该指令计数器包括接收被确认指令信号的输入、以及耦合于该比较模块的第一输入的输出,该比较模块包含耦合于该要计数的指令寄存器的输出的第二输入,而该深度调整模块可根据在来自该预测效率模块的臆测预测效率信号输出的平均每一指令的时钟而决定是否增加或减少可用于预取模块的臆测分支预测深度。
10.如权利要求9所述的处理装置,其中,该预测效率模块(202)具有第一输入以接收周期信号(124);第二输入(126)以接收指令计数讯号,该指令计数讯号被宣告以响应指令的执行;以及输出(204)以提供与被执行指令数比较的周期信号的脉冲数的第一信号,其中该第一信号代表该指令执行效率。
CNB2006800110452A 2005-04-04 2006-03-21 用于臆测分支预测优化的系统及其方法 Active CN100573444C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/098,153 US8001363B2 (en) 2005-04-04 2005-04-04 System for speculative branch prediction optimization and method thereof
US11/098,153 2005-04-04

Publications (2)

Publication Number Publication Date
CN101156133A CN101156133A (zh) 2008-04-02
CN100573444C true CN100573444C (zh) 2009-12-23

Family

ID=36696018

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006800110452A Active CN100573444C (zh) 2005-04-04 2006-03-21 用于臆测分支预测优化的系统及其方法

Country Status (8)

Country Link
US (1) US8001363B2 (zh)
EP (1) EP1866747B1 (zh)
JP (1) JP2008538251A (zh)
KR (1) KR20070116848A (zh)
CN (1) CN100573444C (zh)
DE (1) DE602006006429D1 (zh)
TW (1) TWI403953B (zh)
WO (1) WO2006107581A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI258078B (en) * 2003-10-07 2006-07-11 Via Tech Inc Pre-fetch controller and method thereof
US9304773B2 (en) * 2006-03-21 2016-04-05 Freescale Semiconductor, Inc. Data processor having dynamic control of instruction prefetch buffer depth and method therefor
US7711935B2 (en) * 2007-04-30 2010-05-04 Netlogic Microsystems, Inc. Universal branch identifier for invalidation of speculative instructions
KR100957241B1 (ko) * 2008-03-14 2010-05-12 손영전 조작 신호 빈도수에 의한 집단 명령 제어 방법 및 장치
GB2461902B (en) * 2008-07-16 2012-07-11 Advanced Risc Mach Ltd A Method and apparatus for tuning a processor to improve its performance
CN102750219B (zh) * 2011-04-22 2015-05-20 清华大学 基于cpu硬件性能监控计数器的cpi精确测量方法
US9582284B2 (en) * 2011-12-01 2017-02-28 International Business Machines Corporation Performance of processors is improved by limiting number of branch prediction levels
KR101711388B1 (ko) 2013-01-28 2017-03-02 삼성전자주식회사 파이프라인에서 블럭을 스케줄하는 컴파일 방법 및 장치
CN104966228B (zh) * 2015-06-15 2018-05-25 昆明理工大学 一种基于arima与lssvm模型的cpi组合预测方法
US10255100B2 (en) * 2015-12-03 2019-04-09 International Business Machines Corporation Performance optimization engine for processor parameter adjustment
US10318303B2 (en) 2017-03-28 2019-06-11 Oracle International Corporation Method and apparatus for augmentation and disambiguation of branch history in pipelined branch predictors
US11507380B2 (en) * 2018-08-29 2022-11-22 Advanced Micro Devices, Inc. Branch confidence throttle
CN110825442B (zh) * 2019-04-30 2021-08-06 成都海光微电子技术有限公司 一种指令预取方法及处理器
US11163683B2 (en) 2019-08-01 2021-11-02 International Business Machines Corporation Dynamically adjusting prefetch depth
US11301386B2 (en) 2019-08-01 2022-04-12 International Business Machines Corporation Dynamically adjusting prefetch depth

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IE940855A1 (en) * 1993-12-20 1995-06-28 Motorola Inc Data processor with speculative instruction fetching and¹method of operation
JPH10240526A (ja) * 1997-02-27 1998-09-11 Fujitsu Ltd 分岐予測装置
US6092187A (en) 1997-09-19 2000-07-18 Mips Technologies, Inc. Instruction prediction based on filtering
US6523110B1 (en) * 1999-07-23 2003-02-18 International Business Machines Corporation Decoupled fetch-execute engine with static branch prediction support
JP3452246B2 (ja) * 1999-09-17 2003-09-29 日本電気株式会社 投機実行命令例外制御方式
US6574727B1 (en) 1999-11-04 2003-06-03 International Business Machines Corporation Method and apparatus for instruction sampling for performance monitoring and debug
US6691220B1 (en) 2000-06-06 2004-02-10 International Business Machines Corporation Multiprocessor speculation mechanism via a barrier speculation flag
US6728873B1 (en) 2000-06-06 2004-04-27 International Business Machines Corporation System and method for providing multiprocessor speculation within a speculative branch path
US7865747B2 (en) * 2000-10-31 2011-01-04 International Business Machines Corporation Adaptive issue queue for reduced power at high performance
US6748522B1 (en) 2000-10-31 2004-06-08 International Business Machines Corporation Performance monitoring based on instruction sampling in a microprocessor
US7024545B1 (en) * 2001-07-24 2006-04-04 Advanced Micro Devices, Inc. Hybrid branch prediction device with two levels of branch prediction cache

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Algorithm for Instruction Cache ArbitrationAmong Multiple Instruction Streams. McGarity.R, Potter.T, Thomas.T.IBM Technical Disclosure Bulletin,Vol.39 No.8. 1996
Algorithm for Instruction Cache ArbitrationAmong Multiple Instruction Streams. McGarity.R, Potter.T,Thomas.T.IBM Technical Disclosure Bulletin,Vol.39 No.8. 1996 *

Also Published As

Publication number Publication date
TW200703093A (en) 2007-01-16
WO2006107581A3 (en) 2007-02-22
EP1866747B1 (en) 2009-04-22
CN101156133A (zh) 2008-04-02
JP2008538251A (ja) 2008-10-16
DE602006006429D1 (de) 2009-06-04
KR20070116848A (ko) 2007-12-11
WO2006107581A2 (en) 2006-10-12
EP1866747A2 (en) 2007-12-19
TWI403953B (zh) 2013-08-01
US8001363B2 (en) 2011-08-16
US20060224872A1 (en) 2006-10-05

Similar Documents

Publication Publication Date Title
CN100573444C (zh) 用于臆测分支预测优化的系统及其方法
CN101373427B (zh) 程序执行控制装置
US7725684B2 (en) Speculative instruction issue in a simultaneously multithreaded processor
CN1133924C (zh) 用于改进的判定预测的方法与装置
EP0057788B1 (en) Data processing system with external microcode control unit
KR100319600B1 (ko) 셀프-타임드시스템의전력소모감소장치및방법
US20130346727A1 (en) Methods and Apparatus to Extend Software Branch Target Hints
US7877587B2 (en) Branch prediction within a multithreaded processor
US7203826B2 (en) Method and apparatus for managing a return stack
EP3767462A1 (en) Detecting a dynamic control flow re-convergence point for conditional branches in hardware
US6918033B1 (en) Multi-level pattern history branch predictor using branch prediction accuracy history to mediate the predicted outcome
CN116048627B (zh) 指令缓冲方法、装置、处理器、电子设备及可读存储介质
Michaud et al. An exploration of instruction fetch requirement in out-of-order superscalar processors
CN101133390A (zh) 单循环低功率中央处理单元架构
US7130991B1 (en) Method and apparatus for loop detection utilizing multiple loop counters and a branch promotion scheme
CN100380316C (zh) 硬件环路
CN116113940A (zh) 一种图计算装置、处理方法及相关设备
US6055620A (en) Apparatus and method for system control using a self-timed asynchronous control structure
US20090313455A1 (en) Instruction issue control wtihin a multithreaded processor
CN100514283C (zh) 基于缓冲的流水线无停顿控制机制
US6920547B2 (en) Register adjustment based on adjustment values determined at multiple stages within a pipeline of a processor
Trivedi et al. Reduced-hardware Hybrid Branch Predictor Design, Simulation & Analysis
US11900121B2 (en) Methods and apparatus for predicting instructions for execution
CN101615114A (zh) 完成两次乘法两次加法两次位移的微处理器实现方法
Briejer et al. Extending the Cell SPE with energy efficient branch prediction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: GLOBALFOUNDRIES INC.

Free format text: FORMER OWNER: ADVANCED MICRO DEVICES INC.

Effective date: 20100730

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: CALIFORNIA STATE, USA TO: CAYMAN ISLANDS GRAND CAYMAN ISLAND

TR01 Transfer of patent right

Effective date of registration: 20100730

Address after: Grand Cayman, Cayman Islands

Patentee after: Globalfoundries Semiconductor Inc.

Address before: American California

Patentee before: Advanced Micro Devices Inc.

TR01 Transfer of patent right

Effective date of registration: 20201208

Address after: California, USA

Patentee after: Lattice chip (USA) integrated circuit technology Co.,Ltd.

Address before: Greater Cayman Islands, British Cayman Islands

Patentee before: GLOBALFOUNDRIES Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210402

Address after: No.1, Duhang 1st Road, Hsinchu City, Hsinchu Science Park, Taiwan, China

Patentee after: MEDIATEK Inc.

Address before: California, USA

Patentee before: Lattice chip (USA) integrated circuit technology Co.,Ltd.

TR01 Transfer of patent right