相互节流的通信预取器的制造方法_3

文档序号:8487746阅读:来源:国知局
到微处理器100中,并且微处理器100自己使用程序识别信息来检测被分析的程序之一当前正在运行并且使得第一预取器142和/或第二预取器144使用与被识别的程序相关联的阈值。
[0036]在另一个实施例中,阈值是由微处理器100基于对总线148的利用率来动态确定的。在一个实施例中,总线148利用率被测量为在最近N个总线148的时钟周期中总线事务的数量,其中,N是可编程值。在另一个实施例中,总线148利用率被测量为等待请求访问总线148(如在总线接口单元122中的队列中)的总线事务的数量。额外地,总线148利用率可以基于总线148的时钟速率和/或第一预取器142和第二预取器144的时钟速率来计算。
[0037]虽然已经描述了第二预取器144对第一预取器142进行节流的实施例,但是设想到了预取器142/144中的任一个可以对另一个进行节流的其它实施例。类似的,设想到了预取器142/144中的任一个可以额外地告诉预取器142/144中的另一个停止从存储区域预取的其他实施例。另外,虽然已经描述了微处理器100包括单个处理核心(如,指令高速缓存102、指令译码器104、RAT 106、保留站108、执行单元112、回退单元114、LI数据高速缓存116)的实施例,但是仍设想到了多核实施例。
[0038]尽管这里已经描述了本发明的各种实施例,但应该理解它们是作为例子而非作为限制被展示的。对于相关计算机领域的技术人员来说很明显,在不脱离本发明的范围的情况下,可以在其中做出形式和细节上的各种变化。例如,软件可以使能这里描述的装置和方法的例如函数、构造、建模、仿真、描述和/或测试。这可以通过利用一般的编程语言(如,C,C++)、包括Verilog HDL、VHDL等等的硬件描述语言(HDL)或其它可用的程序实现。这样的软件可以安排在任何已知的计算机可用的介质中,如磁带、半导体、磁盘或光盘(如,⑶-ROM、DVD-ROM、等)、网络、导线或其它通信介质。这里描述的装置和方法的实施例可以被包括在半导体知识产权核心中,如微处理器核心(如,以HDL具体实现或被指定)并被转变成在集成电路的生产中的硬件。另外,这里描述的装置和方法可以具体实现为硬件和软件的结合。因此,本发明不应该受限于这里描述的任何示例实施例,但应该仅依照下述权利要求及它们的等价物来被定义。特别地,本发明能在通用计算机中可以使用的微处理器设备内执行。最后,本领域技术人员应该理解在不脱离所附的权利要求书所定义的本发明的范围的情况下,他们可以容易地使用该公开的构思和特定的实施例作为设计或修改完成本发明的同样目的的其它结构的基础。
【主权项】
1.一种微处理器,包括: 一第一硬件数据预取器,其被配置为根据一第一算法将数据预取到该微处理器;以及 一第二硬件数据预取器,其被配置为根据一第二算法将数据预取到该微处理器,其中该第一算法与该第二算法不同; 其中,该第二预取器被配置为检测到其正在以一超过第一预定速率的速率根据该第二算法将数据预取到微处理器,并且作为响应,向该第一预取器发送节流指示;并且 其中,第一预取器被配置为响应于从该第二预取器接收到该节流指示而以一低于第二预定速率的速率根据该第一算法将数据预取到微处理器。
2.如权利要求1所述的微处理器,其中,该第二预取器还被配置为向该第一预取器提供恢复指示,其中,该第一预取器还被配置为响应于从该第二预取器接收到该恢复指示而与该第二预定速率无关地根据该第一算法将数据预取到微处理器。
3.如权利要求2所述的微处理器,其中,该第二预取器还被配置为在该第二预取器连续检测到其不再以一超过第三预定速率的速率根据该第二算法将数据预取到微处理器时,向该第一预取器提供恢复指示。
4.如权利要求1所述的微处理器,其中,该第一和/或第二预定速率包括每个微处理器的时钟周期的预取请求的分别的第一和/或第二预定数量。
5.如权利要求1所述的微处理器,其中,该第一和/或第二预定速率是可经由微处理器的熔丝编程的。
6.如权利要求1所述的微处理器,其中,该第一和/或第二预定速率是可经由微处理器可执行的指令来编程的。
7.如权利要求1所述的微处理器,其中,该第一和/或第二预定速率是与当前在微处理器上执行的程序相关联的,其中,该第一和/或第二预定速率是基于对在该程序的当前执行实例之前的该程序的之前执行实例的分析来确定的。
8.如权利要求1所述的微处理器,其中,该第一和/或第二预定速率基于对将微处理器接口到一系统存储器的总线的利用率来动态确定,该第一硬件数据预取器和第二硬件数据预取器从该系统存储器将数据预取到微处理器。
9.如权利要求8所述的微处理器,其中,该利用率基于在该总线上未解决的事务的数量来确定。
10.如权利要求8所述的微处理器,其中,该利用率基于等待在该总线上启动的事务的队列的深度来确定。
11.如权利要求8所述的微处理器,其中,该利用率基于该总线的时钟速率与该第一数据预取器和第二数据预取器的时钟速率的比率来确定。
12.—种方法,包括: 由一第一硬件数据预取器根据一第一算法将数据预取到微处理器; 由一第二硬件数据预取器根据一第二算法将数据预取到微处理器,其中该第一算法与该第二算法不同; 由该第二预取器检测到其正在以一超过第一预定速率的速率根据该第二算法将数据预取到微处理器,并且作为响应,向该第一预取器发送节流指示;以及 由该第一预取器响应于从该第二预取器接收到该节流指示而以一低于第二预定速率的速率根据该第一算法将数据预取到微处理器。
13.如权利要求12所述的方法,还包括: 由该第二预取器向该第一预取器提供恢复指示;以及 由该第一预取器响应于从该第二预取器接收到该恢复指示而与该第二预定速率无关地根据该第一算法将数据预取到微处理器。
14.如权利要求12所述的方法,其中,该第一和/或第二预定速率包括每个微处理器的时钟周期的预取请求的分别的第一和/或第二预定数量。
15.如权利要求12所述的方法,其中,该第一和/或第二预定速率可经由微处理器的熔丝编程。
16.如权利要求12所述的方法,其中,该第一和/或第二预定速率可经由微处理器可执行的指令来编程。
17.如权利要求12所述的方法,其中,该第一和/或第二预定速率与当前在微处理器上执行的程序相关联,其中,该第一和/或第二预定速率基于对在该程序的当前执行实例之前的该程序的之前执行实例的分析来确定。
18.如权利要求12所述的方法,其中,该第一和/或第二预定速率基于对将微处理器接口到一系统存储器的总线的利用率而动态确定,该第一硬件数据预取器和第二硬件数据预取器从该系统存储器将数据预取到微处理器。
19.一种在供与计算设备一起使用的至少一个非瞬时计算机可用介质中编码的计算机程序产品,该计算机程序产品包括: 在所述介质中具体实现的计算机可用程序代码,用于指定微处理器,该计算机可用程序代码包括: 一第一程序代码,用于指定一第一硬件数据预取器,其被配置为根据一第一算法将数据预取到微处理器;以及 一第二程序代码,用于指定第二硬件数据预取器,其被配置为根据一第二算法将数据预取到微处理器的,其中第一算法与第二算法不同; 其中,该第二预取器被配置为检测到其正在以一超过第一预定速率的速率根据该第二算法将数据预取到微处理器,并且作为响应,向该第一预取器发送节流指示;并且 其中,该第一预取器被配置为响应于从该第二预取器接收到该节流指示而以一低于第二预定速率的速率根据该第一算法将数据预取到微处理器。
20.如权利要求19所述的计算机程序产品,其中,该至少一个非瞬时计算机可用介质从以下各项的集合中选择:盘、带、或者其它磁、光、电存储介质以及网络或有线通信介质。
【专利摘要】本发明涉及一种相互节流的通信预取器。一种微处理器包括根据第一算法将数据预取到微处理器的第一硬件数据预取器。该微处理器还包括根据第二算法将数据预取到微处理器的第二硬件数据预取器,其中第一算法与第二算法不同。第二预取器检测到其正在以超过第一预定速率的速率根据第二算法将数据预取到微处理器,并且作为响应,向第一预取器发送节流指示。第一预取器响应于从第二预取器接收到节流指示而以低于第二预定速率的速率根据第一算法将数据预取到微处理器。
【IPC分类】G06F12-08
【公开号】CN104809080
【申请号】CN201510278099
【发明人】罗德尼.E.虎克, 约翰.M.吉尔
【申请人】威盛电子股份有限公司
【公开日】2015年7月29日
【申请日】2015年5月27日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1