CN101587434A - 在推测多线程计算系统中处理访存请求的方法及其设备 - Google Patents

在推测多线程计算系统中处理访存请求的方法及其设备 Download PDF

Info

Publication number
CN101587434A
CN101587434A CNA2008100985934A CN200810098593A CN101587434A CN 101587434 A CN101587434 A CN 101587434A CN A2008100985934 A CNA2008100985934 A CN A2008100985934A CN 200810098593 A CN200810098593 A CN 200810098593A CN 101587434 A CN101587434 A CN 101587434A
Authority
CN
China
Prior art keywords
memory access
request
access request
supposition
memory
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.)
Pending
Application number
CNA2008100985934A
Other languages
English (en)
Inventor
侯锐
常晓涛
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CNA2008100985934A priority Critical patent/CN101587434A/zh
Publication of CN101587434A publication Critical patent/CN101587434A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Advance Control (AREA)

Abstract

本发明公开了一种在推测多线程系统中处理访存请求存储模块中的访存请求的方法、访存请求处理器以及使用该访存请求处理器的存储器控制器。所述方法包括步骤:在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理;以及在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理。本发明通过每一定程度地满足非推测请求之后,即使非推测队列非空,也响应若干次推测队列中的请求,来克服现有技术中存在的缺陷,从而提高了访存带宽的利用率。此外,本发明还可以与现有产品兼容,从而降低产品的成本。

Description

在推测多线程计算系统中处理访存请求的方法及其设备
技术领域
本发明涉及推测多线程计算技术,更具体地,涉及一种在推测多线程计算系统中处理对存储器的访问请求的方法和设备以及使用该方法和设备的存储器控制器。
背景技术
为了提高处理器的处理速度,使用推测多线程计算技术。推测多线程也被称为线程级推测(TLS),它是一种依赖于乱序执行(Out ofOrder)来实现多处理器CPU加速的动态并行化技术。也就是说,推测多线程是一种在线程级发生的推测执行,它与指令级发生的推测执行相对。
推测多线程计算技术包括推测并行化、辅助线程和事务存储器等,该技术在多内核芯片中的使用变得越来越普及,并且近年来已经成为计算机架构中的热门话题之一。这些推测线程迅速用于增强性能。实质上,在推测线程真正违反原始语义之前,推测线程可以不服从原始语义。直到推测线程真正违反了原始语义,才中断这些推测线程并重新执行。在推测并行化技术中,线程由顺序程序产生,尽管它们可能具有数据或控制依赖。在使用专用硬件机制在运行时检测到数据或控制违背时,这些推测线程应当被中断并重新执行。此外,事务存储器系统使程序员调用事务,并且依赖于系统使事务的执行看起来象是原子的和独立的。成功的事务将被提交,而与并发事务冲突的不成功事务将被中断。
在当今的多内核设计中存储器带宽问题变得越来越严重。在多内核芯片上越来越紧密的集成给对存储器系统的芯片外访问施加了更高的压力。这是由于存在需要访问芯片外存储器系统的内核的数量不断增长,并且这些内核可能会竞争有限的芯片管脚。
通常,当前的多内核系统支持并发运行的多个应用,每一个应用具有包括推测线程和非推测线程的多个线程。实质上,在芯片存储器系统中非推测线程应当具有比推测线程高的优先级。应当重新考虑芯片存储器接口的设计以便利用推测线程和非推测线程的不同,从而在推测多线程计算系统中减轻越来越严重的存储器带宽问题。
例如,2003年5月20日公布的美国专利US 6,567,901B1内已经公开了一种指令级的推测执行技术。具体地,该专利公开了:使用一个或多个队列来存储存储器请求,在使用多个队列的情况下,一个队列用于存储非推测请求,而另一个队列用于存储推测请求;仅在队列中不存在非推测请求时,才读取队列中的推测请求;以此方式,在清空队列中的推测请求之前清空队列中的非推测请求;使用优先级化的不同队列可以允许从单个处理器系统到多处理器系统的适当转换。也就是说,在该专利中,给予非推测请求比推测请求高的优先级。此外,该专利申请公开的技术方案仅仅适用于单处理系统。对于推测多线程系统,这可能带来严重后果,例如,使得线程根本无法继续执行。
如果象美国专利US 6,567,901B1中那样只要队列中存在非推测请求就不满足队列中的推测请求,那么在推测多线程系统中将严重影响推测请求的执行,并且使得不能有效地利用存储器带宽。
因此,需要一种在推测多线程系统中适当地处理非推测请求和推测请求以便有效地利用访存带宽的方法、装置和存储器控制器。
发明内容
考虑到现有技术中存在的上述问题,本发明通过适当地调整推测请求和非推测请求被执行的次序,来克服现有技术中存在的缺陷,从而提高了访存带宽的利用率。此外,本发明可以使用现有的部件,还可以节省成本。
为了实现上述目的,提供了一种在推测多线程系统中处理访存请求存储模块中的访存请求的方法,包括步骤:在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理;以及在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理。
为了实现上述目的,提供了一种在推测多线程系统中处理访存请求的访存请求处理器,包括:访存请求存储模块,用于存储非推测访存请求和推测访存请求;输入选择控制单元,用于将非推测访存请求和推测访存请求放入访存请求存储模块;输出选择控制单元,用于在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理,而在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理;以及请求取出单元,用于在输出选择控制单元的控制下从访存请求存储模块中取出非推测访存请求或推测访存请求。
为了实现上述目的,提供了一种存储器控制器,包括上述访存请求处理器。
通过使用本发明,能够考虑非推测请求和推测请求的状况,而选择性地读取非推测请求和推测请求,从而提高访存带宽的利用率。此外,由于本发明能够利用现有的部件,诸如FIFO队列等,能够降低产品的成本。
附图说明
从下面结合附图的详细描述中,本发明将会更易于理解,其中,相同的附图标记表示相同的结构元素,并且,附图中:
图1是示出了根据本发明实施例的在推测多线程系统中处理访存请求的方法的流程图;
图2是示出了根据本发明实施例的在推测多线程系统中处理访存请求的访存请求处理器的示例配置的框图;和
图3是示出了实现根据本发明实施例的在推测多线程系统中处理访存请求的访存请求处理器的框图,其中使用计数器来作为输出选择控制单元;和
图4是示出了实现根据本发明实施例的在推测多线程系统中处理访存请求的访存请求处理器的框图,其中使用计时器来作为输出选择控制单元。
具体实施方式
现在将以具体、示例性实施例描述本发明。应该理解,本发明不限于所披露的示例性实施例。还应该理解,目前所披露的在推测多线程系统中处理访存请求的方法、处理器和存储器控制器的每一个特征,并非都是实现所附权利要求任一具体项要求保护的发明必不可少的。描述设备的多个元件和特征是为了使本发明完全能够得以实现。还应该理解的是,在本说明书中,在表示或者描述处理或方法之处,方法的步骤可以按照任何顺序执行或者同时执行,除非从上下文中显然可以看出一个步骤依赖于先前执行的另一步骤。
图1是示出了根据本发明实施例的在推测多线程系统中处理访存请求的方法的流程图。
在步骤100,该操作开始。
在步骤102,判断访存请求存储模块中是否存在非推测请求。如果存在非推测请求,则该处理前进到步骤104。如果不存在非推测请求,则该处理前进到步骤108。
在步骤104,判断从访存请求存储模块中取非推测访存请求是否满足第一预定条件。如果判断的结果是从访存请求存储模块取非推测访存请求满足了第一预定条件,则该处理前进到步骤108。如果判断的结果是从访存请求存储模块取非推测访存请求未满足第一预定条件,则该处理前进到步骤106。
在步骤106,从访存请求存储模块中取非推测访存请求。然后,该处理返回到步骤102。
在步骤108,判断访存请求存储模块中是否存在推测请求。如果存在推测请求,则该处理前进到步骤110。如果不存在非推测请求,则该处理返回到步骤102。
在步骤110,判断从访存请求存储模块中取推测访存请求是否满足第二预定条件。如果判断的结果是从访存请求存储模块取非推测访存请求满足了第二预定条件,则该处理返回到步骤102。如果判断的结果是从访存请求存储模块取非推测访存请求未满足第二预定条件,则该处理前进到步骤112。
在步骤112,从访存请求存储模块中取推测访存请求。然后,该处理返回到步骤108。
值得注意的是,在本文中提及的访存请求可以是对存储器的读(加载)请求,也可以是对存储器的写(存储)请求。
此外,上述访存请求存储模块可以被实现为仅仅一个队列,用来既存储非推测请求,也存储推测请求。例如,通过将该队列中的奇数地址分配给非推测请求,并且将该队列中的偶数地址分配给推测请求,或者将固定的区域分别分配给非推测请求和推测请求来区别非推测请求和推测请求。当然,也可以通过给存储在队列中的非推测请求和推测请求添加标记,来区别非推测请求和推测请求。
但是上述访存请求存储模块也可以被实现为多个队列,例如,两个队列,一个用于存储非推测请求,而另一个用于存储推测请求。当然,也可以根据诸如优先级、要访问的存储器块是否相同等等,使用多个队列来分别存储非推测请求和推测请求。
其中,第一预定条件是用于判断从取非推测请求处理切换为取推测请求处理的条件,例如,可以是已经从访存请求存储模块中取了预定次(例如,30次)非推测访存请求;已经从访存请求存储模块中取非推测访存请求达到了一定时间(例如,1000周期);访存请求存储模块中的推测访存请求数比访存请求存储模块中的非推测访存请求数高预定程度(例如,高5%或多8个);推测请求占用的容量,例如,在使用多个队列的情况下系统监测到推测队列中的存储容量达到临界状态(例如,占用了90%);或者根据设计要求、需要等而由管理员或制造商设定的其它条件。
其中,所述第二预定条件是用于判断从取推测请求处理切换为取非推测请求处理的条件,例如,可以是已经从访存请求存储模块中取了预定次推测访存请求,该预定次默认的是1次,或者进而当系统监测到访存请求存储模块中的相邻的多个推测访存请求针对的是存储器中的同一存储块时,可以从访存请求存储模块中连续取出这些推测访存请求;已经从访存请求存储模块中取推测访存请求达到了一定时间(例如,100周期);访存请求存储模块中的非推测访存请求数比访存请求存储模块中的推测访存请求数高预定程度(例如,高1%或多8个);非推测请求占用的容量,例如,在使用多个队列的情况下系统监测到非推测队列中的存储容量达到临界状态(例如,占用了50%);或者根据设计要求、需要等而由管理员或制造商设定的其它条件。
图2是示出了根据本发明实施例的在推测多线程系统中处理访存请求的访存请求处理器的示例配置的框图。
如图2所示,根据本发明实施例的访存请求处理器包括输入选择控制单元200、访存请求存储模块202、请求取出单元206和输出选择控制单元208。
输入选择控制单元200接收各个线程的访存请求,并将其放入访存请求存储模块202。访存请求可以是推测访存请求,也可以是非推测访存请求。对于系统而言,在执行线程的同时,各个访存请求是推测的还是非推测的是已知的。
访存请求存储模块202用于存储非推测和推测访存请求。在访存请求存储模块202被实现为一个队列的情况下,输入选择控制单元200按照特定模式将访存请求放入一个队列中。如上面已经说明的那样,将非推测请求放到该队列中的奇数地址,而将推测请求放到该队列中的偶数地址。或者,将非推测请求放到该队列中的一个固定区域,而将推测请求放到该队列中的另一个固定区域。再者,也可以通过给存储在队列中的非推测请求和推测请求添加标记,使得非推测请求和推测请求在队列中可以相邻放置。
虽然在图2中未示出,但是访存请求处理器中还可以包括一个寄存器。每当一个访存请求输入到访存请求处理器中,先将该访存请求存储在该寄存器中。然后,根据访存请求是推测的还是非推测的,在该寄存器中给该访存请求的首部添加一个标志位。例如,“1”指示推测请求,而“0”指示非推测请求,反之亦然。输入选择控制单元200从该寄存器中读取加了标志位的访存请求,然后根据标志位,将该访存请求放入访存请求存储模块中。
在访存请求存储模块202被实现为多个队列的情况下,输入选择控制单元200按照FIFO(先进先出)方式将访存请求放入相应的一个队列中。访存请求存储模块202可以使用现有的FIFO队列构造。如上所述,也可以使用两个或更多个队列来分别存储非推测请求和存储推测请求。
请求取出单元206用于在输出选择控制单元208的控制下从访存请求存储模块202中的非推测队列或推测队列取出访存请求。
输出选择控制单元208根据预设的条件控制请求取出单元206取出访存请求存储模块202中的非推测访存请求或推测访存请求。
具体而言,当进行对非推测请求的输出控制时,输出选择控制单元208首先判断访存请求存储模块202中是否存在非推测请求。如果输出选择控制单元208确定访存请求存储模块202不存在非推测请求,则输出选择控制单元208开始进行对推测请求的输出控制。如果输出选择控制单元208确定访存请求存储模块202存在非推测请求,则输出选择控制单元208继续判断从访存请求存储模块中取非推测访存请求是否满足第一预定条件。如果输出选择控制单元208确定从访存请求存储模块取非推测访存请求满足了第一预定条件,则输出选择控制单元208开始进行对推测请求的输出控制。如果输出选择控制单元208确定从访存请求存储模块取非推测访存请求未满足第一预定条件,则输出选择控制单元208控制请求取出单元206开始取出访存请求存储模块202中的非推测访存请求。然后,输出选择控制单元208重复上述对非推测请求的输出控制。
当进行对推测请求的输出控制时,输出选择控制单元208首先判断访存请求存储模块202中是否存在推测请求。如果输出选择控制单元208确定访存请求存储模块202不存在推测请求,则输出选择控制单元208开始进行对非推测请求的输出控制。如果输出选择控制单元208确定访存请求存储模块202存在推测请求,则输出选择控制单元208继续判断从访存请求存储模块中取推测访存请求是否满足第二预定条件。如果输出选择控制单元208确定从访存请求存储模块取推测访存请求满足了第二预定条件,则输出选择控制单元208开始进行对非推测请求的输出控制。如果输出选择控制单元208确定从访存请求存储模块取推测访存请求未满足第二预定条件,则输出选择控制单元208控制请求取出单元206开始取出访存请求存储模块202中的推测访存请求。然后,输出选择控制单元208重复上述对推测请求的输出控制。
当第一预定条件是已经从非推测队列中取访存请求的预定次数时,可以使用计数器实现输出选择控制单元208;当第一预定条件是已经从非推测队列中取访存请求的一定时间时,可以使用计时器实现输出选择控制单元208。
输出选择控制单元208还可以从系统接收对访存请求存储模块202中的非推测访存请求数比访存请求存储模块202中的推测访存请求数高预定数量的系统监控信号,或者在使用多个队列时对推测队列中的存储容量达到临界状态的系统监控信号,而对请求取出单元206进行控制。
图3给出了在访存请求存储模块302包括2个FIFO队列312和322、第一预定条件是从非推测队列中取访存请求的预定次数(例如,128次)且第二预定条件也是预定次数(例如,默认值1次)时访存请求处理器的具体实现。
图3所示的访存请求处理器包括输入选择控制单元300、访存请求存储模块302、请求取出单元306和计数器308。下面具体说明图3所示的访存请求处理器。
如图3所示,访存请求存储模块302用两个现有的FIFO队列实现,FIFO队列312用于存储非推测请求而FIFO队列322用于存储推测请求。
输入选择控制单元300用于将到来的访存请求放入访存请求存储模块302中,以供进一步处理。当有访存请求到来时,如果是非推测访存请求,则输入选择控制单元300将其放入到非推测请求队列312,而如果是推测访存请求,则输入选择控制单元300将其放入到推测请求队列322。
请求取出单元306在计数器308的控制下,从访存请求存储模块302中的非推测请求队列312或推测请求队列322中取出访存请求。
输出选择控制单元208是用计数器308实现的。计数器308从0至127进行计数。每当请求取出单元306从非推测请求队列312取出一个非推测访存请求时,计数器308将其计数值加1。当计数器308的计数值达到127时,则计数器308给请求取出单元306一个触发信号,以控制其从推测请求队列322中取一次推测访存请求,然后计数器308将其计数值重置为0,并给请求取出单元306另一个触发信号,以控制其从非推测请求队列312中取非推测访存请求,并重复上述过程。
图4给出了在访存请求存储模块202包括2个FIFO队列312和322、第一预定条件是从非推测队列中取访存请求的预定时间(例如,1000周期)且第二预定条件也是预定时间(例如,200周期)时访存请求处理器的具体实现。
图4所示的访存请求处理器的结构与图3所示的结构基本相同,除了图4所示的输出选择控制单元是用计时器408实现的,而不是图3所示的计数器308。对于其他与图3所示相同的部件,在此省略对其的描述。下面具体说明输出选择控制单元408。
当请求取出单元206首次开始从非推测请求队列312取出非推测访存请求时,计时器408开始计时。计时器408从0至1000周期进行计时。当计时器408的计时值到达1000周期时,则计时器408给请求取出单元206一个触发信号,以控制其从推测请求队列322中开始取推测访存请求。同时,计时器408将其计时值重置为0,并开始从0至200周期进行计时。当计时器408的计时值到达200周期时,则计时器408给请求取出单元206另一个触发信号,以控制其开始从非推测请求队列312中取非推测访存请求,并重复上述过程。
图3和4中给出的具体实现仅仅是示例性。本领域技术人员应当理解可以以其他方式用诸如集成芯片或逻辑门等的其他硬件逻辑来实现本发明的各组成部分。
此外,本领域技术人员应当理解输出选择控制单元208和请求取出单元206可以被集成在一个模块中。并且,由于在本发明中的访存请求存储模块202可以是现有技术中的FIFO队列,本领域技术人员应当知道,可以将输出选择控制单元208单独实现为一个模块以对现有技术中的访存请求存储队列进行控制。
需要说明的是,根据本发明的访存请求处理器可以被集成在存储器中,也可以与存储器相分离。在本文中,存储器指的是高速缓存、ROM(只读存储器)、RAM(随机存取存储器)等等。
对本领域的技术人员来说将显而易见的是,可在本发明中作出各种修改,而不会背离本发明的精神和范围。由此,意图使本发明涵盖此发明的修改和变化,只要它们在所附权利要求及其等价物的范围内即可。

Claims (21)

1.一种在推测多线程系统中处理访存请求存储模块中的访存请求的方法,包括步骤:
在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理;以及
在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理。
2.如权利要求1所述的方法,其中,
所述在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理的步骤包括:
判断从访存请求存储模块取非推测访存请求的处理是否满足第一预定条件,
如果判定未满足第一预定条件,则进行控制以从访存请求存储模块取非推测访存请求,以及
如果判定满足了第一预定条件,则进行控制以执行取推测访存请求的处理。
3.如权利要求1所述的方法,其中,
所述在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理的步骤包括:
判断从访存请求存储模块取推测访存请求是否满足第二预定条件,
如果判定未满足第二预定条件,则进行控制以从访存请求存储模块取推测访存请求,以及
如果判定满足了第二预定条件,则进行控制以执行取非推测访存请求的处理。
4.如权利要求1或2所述的方法,其中,所述在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理的步骤还包括:
判断访存请求存储模块中是否存在非推测请求,并且如果判定访存请求存储模块中不存在非推测请求,则进行控制以进行取推测访存请求的处理。
5.如权利要求1或3所述的方法,其中,所述在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理的步骤还包括:
判断访存请求存储模块中是否存在推测请求,并且如果判定访存请求存储模块中不存在推测请求,则进行控制以取非推测访存请求的处理。
6.如权利要求1-5任一项所述的方法,其中,访存请求是读请求或写请求。
7.如权利要求1-5任一项所述的方法,其中,访存请求存储模块包括一个或多个队列,在使用多个队列的情况下,将非推测请求和推测请求分别放入不同的队列中。
8.如权利要求1-5任一项所述的方法,其中,所述第一预定条件是已经从访存请求存储模块中取了预定次非推测访存请求、已经从访存请求存储模块中取非推测访存请求达到了一定时间、访存请求存储模块中的推测访存请求数比访存请求存储模块中的非推测访存请求数高预定程度、推测请求所占用的容量达到临界状态中的至少一个。
9.如权利要求1-5任一项所述的方法,其中所述第二预定条件是已经从访存请求存储模块中取了预定次推测访存请求、已经从访存请求存储模块中取推测访存请求达到了一定时间、访存请求存储模块中的非推测访存请求数比访存请求存储模块中的推测访存请求数高预定程度、非推测请求所占用的容量达到临界状态中的至少一个。
10.一种在推测多线程系统中处理访存请求的访存请求处理器,包括:
访存请求存储模块,用于存储非推测访存请求和推测访存请求;
输入选择控制单元,用于将非推测访存请求和推测访存请求放入访存请求存储模块;
输出选择控制单元,用于在进行取非推测访存请求的处理期间,根据第一预定条件确定是否应切换至进行取推测访存请求的处理,而在进行取推测访存请求的处理期间,根据第二预定条件确定是否应切换至进行取非推测访存请求的处理;以及
请求取出单元,用于在输出选择控制单元的控制下从访存请求存储模块中取出非推测访存请求或推测访存请求。
11.如权利要求10所述的访存请求处理器,其中,输出选择控制单元包括:
判断从访存请求存储模块取非推测访存请求的处理是否满足第一预定条件的部件;
在判定未满足第一预定条件时进行控制以从访存请求存储模块取非推测访存请求的部件;
在判定满足了第一预定条件时进行控制以执行取推测访存请求的处理的部件。
12.如权利要求10所述的访存请求处理器,其中,所述输出选择控制单元包括:
判断从访存请求存储模块取推测访存请求是否满足第二预定条件的部件,
在判定未满足第二预定条件时进行控制以从访存请求存储模块取推测访存请求的部件;以及
在判定满足了第二预定条件时进行控制以执行取非推测访存请求的处理的部件。
13.如权利要求10或11所述的访存请求处理器,其中,所述输出选择控制单元包括:
在进行取非推测访存请求的处理期间,还判断访存请求存储模块中是否存在非推测请求,并且在判定访存请求存储模块中不存在非推测请求时进行控制以进行取推测访存请求的处理的部件。
14.如权利要求10或12所述的访存请求处理器,其中,所述输出选择控制单元还包括:
在进行取推测访存请求的处理期间,还判断访存请求存储模块中是否存在推测请求,并且在判定访存请求存储模块中不存在推测请求时进行控制以取非推测访存请求的处理的部件。
15.如权利要求10-14任一项所述的访存请求处理器,还包括:
寄存器,用于给接收的访存请求的首部添加用于标记访存请求是推测访存请求或非推测访存请求的标志位,以提供给输入选择控制单元。
16.如权利要求10-14任一项所述的访存请求处理器,其中访存请求是读请求或写请求。
17.如权利要求10-14任一项所述的方法,其中,访存请求存储模块包括一个或多个队列,在使用多个队列的情况下,将非推测请求和推测请求分别放入不同的队列中。
18.如权利要求10-14任一项所述的访存请求处理器,其中,输出选择控制单元是计数器或计时器。
19.如权利要求10-14任一项所述的访存请求处理器,其中,所述第一预定条件是已经从访存请求存储模块中取了预定次非推测访存请求、已经从访存请求存储模块中取非推测访存请求达到了一定时间、访存请求存储模块中的推测访存请求数比访存请求存储模块中的非推测访存请求数高预定程度、推测请求所占用的容量达到临界状态中的至少一个。
20.如权利要求10-14任一项所述的访存请求处理器,其中,所述第二预定条件是已经从访存请求存储模块中取了预定次推测访存请求、已经从访存请求存储模块中取推测访存请求达到了一定时间、访存请求存储模块中的非推测访存请求数比访存请求存储模块中的推测访存请求数高预定程度、非推测请求所占用的容量达到临界状态中的至少一个。
21.一种存储器控制器,包括如权利要求10-20中的任一项所述的访存请求处理器。
CNA2008100985934A 2008-05-22 2008-05-22 在推测多线程计算系统中处理访存请求的方法及其设备 Pending CN101587434A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008100985934A CN101587434A (zh) 2008-05-22 2008-05-22 在推测多线程计算系统中处理访存请求的方法及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008100985934A CN101587434A (zh) 2008-05-22 2008-05-22 在推测多线程计算系统中处理访存请求的方法及其设备

Publications (1)

Publication Number Publication Date
CN101587434A true CN101587434A (zh) 2009-11-25

Family

ID=41371691

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100985934A Pending CN101587434A (zh) 2008-05-22 2008-05-22 在推测多线程计算系统中处理访存请求的方法及其设备

Country Status (1)

Country Link
CN (1) CN101587434A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014111758A1 (en) * 2013-01-15 2014-07-24 International Business Machines Corporation Confidence threshold-based opposing branch path execution for branch prediction
CN104111868A (zh) * 2013-04-22 2014-10-22 华为技术有限公司 一种推测多线程调度方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014111758A1 (en) * 2013-01-15 2014-07-24 International Business Machines Corporation Confidence threshold-based opposing branch path execution for branch prediction
CN104919418A (zh) * 2013-01-15 2015-09-16 国际商业机器公司 用于分支预测的基于置信度阈值的相对路径执行
US9348599B2 (en) 2013-01-15 2016-05-24 International Business Machines Corporation Confidence threshold-based opposing branch path execution for branch prediction
US9519485B2 (en) 2013-01-15 2016-12-13 International Business Machines Corporation Confidence threshold-based opposing branch path execution for branch prediction
CN104919418B (zh) * 2013-01-15 2018-01-02 国际商业机器公司 用于分支预测的系统、方法及存储介质
CN104111868A (zh) * 2013-04-22 2014-10-22 华为技术有限公司 一种推测多线程调度方法及装置
CN104111868B (zh) * 2013-04-22 2017-08-11 华为技术有限公司 一种推测多线程调度方法及装置

Similar Documents

Publication Publication Date Title
JP4859616B2 (ja) 縮小命令セット・コンピュータ・マイクロプロセッサーの構造
US8725953B2 (en) Local cache power control within a multiprocessor system
US8473723B2 (en) Computer program product for managing processing resources
JP2005182825A5 (zh)
US8127153B2 (en) Memory power profiling
US20050108711A1 (en) Machine instruction for enhanced control of multiple virtual processor systems
US10831494B2 (en) Event triggered programmable prefetcher
JP2007241918A (ja) プロセッサ装置
US8356143B1 (en) Prefetch mechanism for bus master memory access
US5805883A (en) Interrupt process distributing system
JP6244916B2 (ja) 演算処理装置,演算処理装置の制御方法及び情報処理装置
JP2011150422A (ja) データ処理装置
WO2016092344A1 (en) Pattern detector for detecting hangs
WO2021091649A1 (en) Super-thread processor
WO2016092347A1 (en) Distributed hang recovery logic
CN101587434A (zh) 在推测多线程计算系统中处理访存请求的方法及其设备
US20160350167A1 (en) Conditional pattern detector for detecting hangs
KR101892273B1 (ko) 스레드 프로그레스 트래킹 방법 및 장치
EP3066559B1 (en) Logic analyzer for detecting hangs
CN108388498B (zh) 内存中计算的功率建模方法及功率管理方法
EP1766510A1 (en) Microprocessor output ports and control of instructions provided therefrom
JP4631442B2 (ja) プロセッサ
US20220229662A1 (en) Super-thread processor
CN100561439C (zh) 使用于多处理器系统的同步方法与装置
JP2012168725A (ja) マルチスレッド・プロセッサ

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20091125