总线系统和产生高速缓存利用率数据的方法.pdf

上传人:00062****4422 文档编号:647521 上传时间:2018-03-01 格式:PDF 页数:17 大小:907.44KB
返回 下载 相关 举报
摘要
申请专利号:

CN200310120600.3

申请日:

2003.12.15

公开号:

CN1508707A

公开日:

2004.06.30

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 13/36申请日:20031215授权公告日:20070418终止日期:20100115|||授权|||实质审查的生效|||公开

IPC分类号:

G06F13/36; G06F12/08

主分类号:

G06F13/36; G06F12/08

申请人:

国际商业机器公司

发明人:

拉姆·拉格哈文

地址:

美国纽约

优先权:

2002.12.17 US 10/322,075

专利代理机构:

中国国际贸易促进委员会专利商标事务所

代理人:

李德山

PDF下载: PDF下载
内容摘要

本发明提供了具有连接到远程总线环的本地总线环的总线系统。处理单元连接到本地总线节点并可用于数据请求。高速缓存通过命令总线连接到处理单元。高速缓存调查器连接到高速缓存,可用于确定高速缓存是否包含请求的数据。高速缓存调查器还可用于产生和广播高速缓存利用率参数,其包含关于其它高速缓存,它自身的相关处理单元等等访问高速缓存的程度的信息。在一方面,高速缓存是本地高速缓存。在另一方面,高速缓存是远程高速缓存。

权利要求书

1: 一种具有本地总线环的总线系统,包括: 远程总线节点,连接到本地总线节点; 处理单元,连接到本地总线节点,可用于请求数据; 高速缓存,连接到处理单元; 高速缓存调查器,连接到高速缓存,可用于确定高速缓存是否 包含所请求的数据,高速缓存调查器还可用于产生和广播高速缓存利 用率参数。
2: 如权利要求1所述的总线系统,其中高速缓存是本地高速缓 存。
3: 如权利要求1所述的总线系统,其中高速缓存是远程高速缓 存。
4: 如权利要求1所述的总线系统,还包括连接到第一总线节点 和第二总线节点的系统存储器。
5: 如权利要求1所述的总线系统,还包括可用于处理和评估高 速缓存利用率数据的组合逻辑。
6: 如权利要求5所述的总线系统,其中应答控制逻辑使用评估 的高速缓存利用率数据以传送数据。
7: 如权利要求6所述的总线系统,其中应答控制逻辑可用于从 高速缓存传送数据到与请求方处理器单元相关的高速缓存。
8: 如权利要求6所述的总线系统,其中应答控制逻辑可用于从 系统存储器传送数据到与请求方处理器单元相关的高速缓存。
9: 如权利要求1所述的总线系统,其中高速缓存利用率数据包 括高速缓存执行的共享存储器访问的频率。
10: 如权利要求1所述的总线系统,其中高速缓存利用率数据包 括相关高速缓存向其它高速缓存请求数据的频率。
11: 如权利要求1所述的总线系统,其中高速缓存利用率数据包 括数据从高速缓存发送到相连的处理器单元的频率。
12: 如权利要求1所述的总线系统,还包括系统存储器调查器, 可用于确定系统存储器的使用参数。
13: 一种用于产生高速缓存利用率数据的方法,包括: 产生对数据的请求; 在命令总线上广播该请求; 高速缓存调查器接收该请求; 确定与高速缓存调查器相关的高速缓存的高速缓存利用率参 数;以及 在命令总线上发送高速缓存利用率参数。
14: 如权利要求13所述的方法,还包括确定相关高速缓存内的 数据的状态。
15: 如权利要求13所述的方法,还包括由高速缓存调查器发送 忙信号。
16: 如权利要求13所述的方法,还包括确定所请求的数据是否 在与数据请求的产生方相关的高速缓存中。
17: 如权利要求13所述的方法,其中确定利用率参数还包括确 定高速缓存执行的共享存储器访问的频率。
18: 如权利要求13所述的方法,其中确定利用率参数还包括确 定相关高速缓存向其它高速缓存请求数据的频率。
19: 如权利要求13所述的方法,其中确定利用率参数还包括确 定从高速缓存发送数据到相连请求方的频率。
20: 一种使用利用率参数的方法,包括: 接收多组利用率参数; 比较从多个数据源传送数据到数据目的地的相对速度; 根据所述比较选择多个数据源中将被用作数据源的数据源;和 从选择的源发送数据到数据目的地。
21: 如权利要求20所述的方法,其中多个数据源中的至少一个 包括高速缓存。
22: 如权利要求21所述的方法,其中多个数据源中的至少一个 还包括系统存储器。
23: 一种用于产生高速缓存利用率数据的计算机程序产品,该 计算机程序产品具有在其上体现有计算机程序的媒体,该计算机程序 包括: 用于产生针对数据的请求的计算机代码; 用于在命令总线上广播该请求的计算机代码; 用于由高速缓存调查器接收该请求的计算机代码; 用于确定与高速缓存调查器相关的高速缓存的高速缓存利用率 参数的计算机代码;以及 用于在命令总线上发送高速缓存利用率参数的计算机代码。
24: 一种使用利用率参数的处理器,该处理器包含计算机程 序,该计算机程序包括: 用于接收多组利用率参数的计算机代码; 用于比较从多个数据源传送数据到数据目的地的相对速度的计 算机代码; 用于根据所述比较选择多个数据源中将被用作数据源的数据源 的计算机代码;和 用于从选择的源发送数据到数据目的地的计算机代码。

说明书


总线系统和产生高速缓存利用率数据的方法

    【技术领域】

    本发明通常涉及多个总线环上的数据传送,并且尤其涉及访问远程高速缓存中的数据。

    背景技术

    计算机总线通常用于在计算机系统中的两个或更多个单元之间传送数据,例如在微处理器和随机存取存储器之间,或者从软盘驱动器到高速缓存。随着连接到总线的单元的处理速度的不断增长,有效的总线架构设计正日益受到关注。

    总线架构的一种形式包括环形拓扑。通常,在环形拓扑中,可包括针对处理单元(PE)的指令和PE使用的数据的信息以环行、管道方式被从PE传送到PE。而且,多个环形拓扑可以被连接在一起,并共享信息。换句话说,可以从本地总线环传送数据到远程总线环。

    总线环通常还具有多个高速缓存,其存储和发送要通过总线环形拓扑转发的信息。总线环的每个高速缓存可以有相关的处理器单元(PU)和相关的高速缓存调查器。通常,高速缓存调查器响应其从本地总线环接收到的数据传送请求,尽管请求可以源于远程总线环。通常,高速缓存调查器确定其相关高速缓存有无所请求的数据,以及此数据地状态。状态通常可以被定义为:数据是否为“独占的”(仅此高速缓存具有来自系统存储器的数据副本),是否为“共享的”(此高速缓存和可能的一个或多个其他高速缓存具有来自系统存储器的数据副本),或者是否为“修改的”(自其从系统存储器加载后数据已被修改)。然后,作为应答的一部分,广播状态到本地总线环,并从本地总线环广播到任何相连的远程总线环。

    数据传送逻辑评估此状态信息,以确定针对数据传送请求所采取的适当动作。如果高速缓存中的数据已被修改,不管包含已修改数据的高速缓存是在本地总线环还是在远程总线环上,此修改的数据被传送到请求方PE。

    在常规系统中,如果在高速缓存中的数据没有被修改,则在源高速缓存和目的高速缓存都在相同总线环(“节点”)上的情况下,数据传送逻辑通常命令总线环执行未修改数据的高速缓存到高速缓存的传送,因为这通常被认为比从共享存储器到本地节点的传送更快。如果未被修改的高速缓存数据在远程节点上,传送逻辑通常命令总线环从共享存储器而不是远程高速缓存下载信息,因为这通常被认为比从远程节点到本地节点的数据传送更快。

    然而,存在与此设计方案相关的问题。针对本地高速缓存的数据传送所需要的时间和资源对于有效利用总线环而言会是巨大的阻碍。因此,需要一种总线数据传送系统,其至少解决传统总线数据传送系统的某些问题。

    【发明内容】

    本发明提供了具有本地总线节点和连接到本地总线节点的远程总线节点的总线系统。处理单元被连接到本地总线节点,并且可用于请求数据。高速缓存被连接到处理单元。连接到高速缓存的高速缓存调查器可用于确定高速缓存是否包含所请求的数据。高速缓存调查器还可用于产生和广播高速缓存利用率参数。在一个方面,高速缓存是本地高速缓存。在另一方面,高速缓存是远程高速缓存。

    【附图说明】

    为了更完整地理解本发明及其优点,现在参考以下结合附图的详细说明,其中:

    图1示意图解了相连的本地和远程总线环,双方均包括至少一个高速缓存和相关的高速缓存调查器;

    图2图解了用于产生和广播高速缓存状态,和高速缓存与系统存储器利用率信息的方法;而

    图3图解了使用高速缓存状态和高速缓存与系统存储器利用率信息的方法。

    【具体实施方式】

    在以下讨论中,阐明了各种具体详细以供对本发明的全面理解。然而,本领域的技术人员会理解,可以在不具备这些具体细节的情况下实施本发明。在其它的实例中,以示意图或模块图的形式示出了熟知的部分,以便不使不必要的细节模糊本发明。另外,对于大部分而言,涉及网络通信,电磁信号技术等等的细节被省略,因为这些细节不被认为是全面理解本发明所必需的,并被认为在相关领域普通技术人员的所知范围内。

    还注意到,除非另外指明,可通过硬件或者软件,或者微处理器执行的固件,或者它们的组合来执行这里描述的全部功能。在一个实施例中,使用专用集成逻辑电路,其被编码以执行这样的功能。在其他的实施例中,通过处理器,例如计算机或电子数据处理器,按照例如计算机程序代码,软件,和/或被编码以执行这种功能的集成电路的代码来执行各种功能,除非另外指明。

    现在参照图1,其中公开了总线系统100。系统100包括连接到远程节点120的本地节点110。本地节点110和远程节点120各自还包括标明为数据总线130和命令总线140的两个部件总线环。命令总线140还包括两个子总线。它们是查询总线和应答总线(没有示出)。通常,可使用查询总线来传递数据传送请求,并可使用应答总线来传递和数据传送请求相关的状态和利用率参数到系统100的单元。在数据总线130和命令总线140的本地节点110和远程节点120之间还有双向连接141,142。

    本地节点110和远程节点120还各自包括多个MPU 160及其相关的高速缓存170。高速缓存170连接到本地节点110和远程节点120的数据总线130和命令总线140。通常,每个MPU 160连接到其相关高速缓存170。高速缓存调查器180还与各个高速缓存170相关,并且连接到各个节点110,120的高速缓存170和命令总线140。

    通常,高速缓存调查器180确定相关高速缓存170内的所请求信息的状态。当高速缓存调查器180接收到针对特定信息片段的请求时,高速缓存调查器180通常确定相关高速缓存170是否具有此段信息。如本领域的技术人员所明白的,高速缓存170中数据副本的相关状态可以被标明为“独占的”(也就是说,在系统100的其它高速缓存170中不存在其它副本),“修改的”(也就是说,数据在相关高速缓存170中被修改,但还没有被复制进第二个高速缓存170)或“共享的”(也就是说,此数据的副本会存在于另一个高速缓存170中)。还可使用高速缓存调查器180测量相关高速缓存170的利用率的各个方面,并且发送这些测量结果到本地和远程节点110,120的应答总线上。

    在系统100中,多个高速缓存170可以具有未修改数据的副本,此副本也位于共享存储器150中。然而,当要修改存储在高速缓存170中的信息副本时,在任何给定点时间,高速缓存170中只容许存在一个副本。因此在高速缓存170中的数据副本被修改之前,任何其它数据副本均是无效的(也就是说,不会被任何MPU 160使用)。

    通常,当MPU 160请求数据时,作为请求的一个功能,MPU160检查其相关高速缓存170以确定相关高速缓存170是否具有处于合适状态,即期望状态的期望数据的副本。例如,如果请求是读请求,那么合适的状态可以是共享,独占或修改。处理器160使用相关高速缓存170中的数据,而不用在相连的命令总线140上发出数据请求。然而,如果在相关高速缓存170中没有发现具有合适状态的数据,高速缓存调查器180在命令总线140上发送针对此信息的请求。请求还包括涉及请求方MPU 160要执行的功能的信息。也就是说,请求方MPU160是否要读数据,修改数据,或者两者都做。

    本地命令总线140的请求总线传递数据请求和其它的相关信息,例如请求者标识,被请求的存储器地址,请求的类型(读或写),等等。然后此请求经由双向连接141和142被广播到本地节点110和远程节点120上的每个高速缓存调查器180,也同样被广播到系统存储器150。在图解的实施例中,系统存储器150连接在本地节点110和远程节点120之间。系统存储器150被连接到本地节点110和远程节点120的命令总线140和数据总线130。在另一实施例中,系统存储器150被分割到多个节点(本地节点和远程节点)上。系统存储器具有相关的系统存储器调查器155,其与高速缓存调查器180相似。系统存储器调查器155也连接到本地节点110和远程节点120的命令总线140。

    接收数据传送请求后,每个速缓存调查器180会发现在其相关高速缓存170中没有所请求数据的副本。可选地,每个高速缓存调查器180会发现在其相关高速缓存170中存在数据的副本,并且所请求数据是共享数据,独占数据或修改数据。可使用高速缓存调查器180根据相关高速缓存170内数据的状态的函数来选择几个数据传送选项中的一个。

    此外,可使用高速缓存调查器180为其相关高速缓存170产生高速缓存利用率参数。这些高速缓存利用率参数可以包括这样的测量,例如它的相关MPU 160访问相关高速缓存170的频率,从其它高速缓存170到相关高速缓存170的数据传送请求的频率,从相关高速缓存170到其它高速缓存170的传送频率,相关高速缓存170的系统存储器150请求的频率,接收到请求时处理等待的请求的数量,等等。

    在一个实施例中,如果高速缓存调查器180太忙,以至于对接收到的数据请求不能采取任何动作,其在命令总线140的应答环上发出“重试”应答。“重试”通常表示请求方MPU 160将在稍后重发数据传送请求。然而,如果高速缓存调查器180不太忙,它用有关相关高速缓存170内所请求信息的状态的信息和高速缓存利用率参数响应该请求。

    如果高速缓存170没有所请求的数据,相关高速缓存调查器180发送有关此情况的通知到命令总线上。然而,如果相关高速缓存170中有所请求的数据,有关此情况的信息连同数据的状态也被发送到命令总线140上。例如,如果请求方MPU 160要读或修改数据,并且相关高速缓存170中的数据的副本处于修改状态,高速缓存调查器180在应答总线上发送应答以指示修改的高速缓存状态。在此例中,没有其它高速缓存170具有数据的副本。因此,每一个其它的高速缓存调查器180将应答:其相关高速缓存170没有所请求的数据。

    高速缓存调查器180还收集和广播高速缓存利用率参数到命令总线140上。包括请求方MPU 160的相同节点的组合逻辑145使用高速缓存利用率参数。组合逻辑145使用来自与多个MPU 160相关的全部高速缓存调查器180的应答。然后根据某些标准,例如从远程节点的高速缓存170到本地节点的高速缓存170的数据传送的相对时间与从系统存储器150得到相同信息所花费时间的对比,来评估这些高速缓存调查器的应答。应答组合逻辑145可用于作出此决定并发送此决定到应答控制逻辑149。

    通常,应答控制逻辑149控制处理器中间,以及处理器和共享存储器之间的地址和数据流。然后应答控制逻辑149广播点对点(PTP)传送请求到节点110,120中的全部高速缓存170。PTP请求传递信息,例如有关哪一个缓冲存储器调查器180负责发送数据到请求方MPU 160的信息。PTP请求也可以传递有关复制的数据的最终状态的信息到源高速缓存170。换句话说,如果请求方MPU 160将要读数据,从高速缓存170复制的数据将被标明为共享的,或者如果请求方MPU 160将要写数据,从高速缓存170复制的数据将被标明为修改的。

    在一个示例中,请求方MPU 160要读数据,但数据不在其相关高速缓存170中。因此高速缓存调查器180在命令总线140的请求总线上发送针对此信息的请求,其被广播到本地节点110和远程节点120上的全部高速缓存调查器180。高速缓存调查器180均确定其相关高速缓存170的高速缓存利用率参数,以及数据状态。

    然后,在命令总线140的应答总线上发送此信息,并且找出其回到与请求相关的节点110,120的组合逻辑145的路径。如果来自高速缓存的状态指示为未修改状态,那么组合逻辑145对高速缓存利用率参数进行排序和评估,并作出是发送来自高速缓存170的数据的未修改副本还是获取来自共享存储器150的数据的选择。如果组合逻辑145确定,对于高速缓存170和系统存储器150的利用率参数,从系统存储器150传送数据比较快,那么组合逻辑145通知应答控制逻辑149。然后控制逻辑149发送适当的应答,该应答指示共享存储器150发送数据到请求方。如果组合逻辑145确定从高速缓存170获得所请求数据比较快,它通知应答控制逻辑149从高速缓存170获得所请求数据。根据应答控制逻辑149接收到的结果,高速缓存170可以是本地高速缓存或远程高速缓存。

    在另一实施例中,当系统存储器150首先在命令总线140上接收到数据请求时,系统存储器调查器155以与系统存储器150的利用率参数相关的标记作为应答。然后,系统存储器调查器155等待来自应答控制逻辑149的广播指令以确定是否从系统存储器150获取所请求信息。系统存储器调查器155可以进行这样的测量,例如任何相连的MPU 160访问系统存储器150的频率,等待处理的请求的数量,等等。

    现在参照图2,其中图解了用于产生和广播高速缓存状态,和高速缓存与系统存储器利用率参数信息的方法200。在步骤210中,MPU 160请求数据以便处理。在步骤215中,相关高速缓存调查器180确定所请求数据是否在相关高速缓存170中。如果数据在相关高速缓存170中,在步骤220中,高速缓存调查器确定相关高速缓存170中的数据是否是“独占的”数据。如果高速缓存170中的数据是“独占的”数据,那么在步骤227中,数据从其相关高速缓存被发送到MPU160,并且方法200终止于步骤250。

    然而,如果所请求数据不在MPU 160的相关高速缓存170中,那么在步骤223中,相关高速缓存调查器180在命令总线140上广播针对数据的请求。可选地,尽管在相关高速缓存170发现所请求数据,然而如果数据不具有独占状态,同样执行步骤223,并且针对数据的请求在命令总线140上广播到与其它高速缓存170相关的其它高速缓存调查器180。还通过使用双向连接142将此数据传送请求传送到其它命令总线140。

    在步骤224中,接收数据请求的第二高速缓存调查器180确定其是否有能力响应请求以对其相关高速缓存170(也就是说,第二高速缓存170)进行调查。如果第二高速缓存调查器180不具有此能力,第二高速缓存调查器180在命令总线140上广播消息,表明它当前不能为此信息检查其相关高速缓存170。在被通知第二高速缓存调查器180缺乏响应能力之后,MPU 160再一次在步骤210中请求数据。

    在步骤225中,第二高速缓存170被其相关高速缓存调查器180,即第二高速缓存调查器180查询,以确定第二高速缓存170是否具有所请求的数据。在一个实施例中,第二高速缓存170可以位于本地节点110或者远程节点120上。如果第二高速缓存170没有所请求的信息,在步骤240中,在命令总线140上发出此确定的标记,并且方法终止于步骤250。

    然而,如果第二高速缓存170确实有所请求的信息,在步骤230中,它的相关高速缓存调查器180确定此信息是否被标明为独占的,修改的或共享的。在步骤235中,高速缓存调查器180测量其相关高速缓存170,即第二高速缓存170的高速缓存利用率参数。这些高速缓存利用率参数可以包含这样的测量,例如相连MPU 160的访问频率,从其它高速缓存170到第二高速缓存170的数据传送请求的频率,从第二高速缓存170到其它高速缓存170的传送频率,系统存储器150请求的频率,等待处理的请求的数量,等等。在步骤240中,第二高速缓存调查器180广播高速缓存状态信息和高速缓存控制参数到它的命令总线140上,命令总线140通过双向连接142连接到本地总线110和远程总线120。在步骤250终止方法200。换句话说,对于给定的数据请求,其相关高速缓存170的第二高速缓存调查器180没有更多的调查要执行。

    现在参照图3,其中公开的是使用所请求数据的状态标记和利用率参数的方法300。在步骤310中,请求方MPU 160所处的相同节点的组合逻辑145接收来自不同高速缓存170的数据状态和利用率参数。在一个实施例中,利用率参数包含高速缓存170利用率参数。在另一个实施例中,利用率参数包括系统存储器150利用率参数。

    在步骤320中,组合逻辑145确定高速缓存中的所请求数据是否被各个高速缓存调查器180确定为独占的,共享的或修改的。如果所请求数据是修改的数据,在步骤350中,组合逻辑145通知应答控制逻辑149。然后在步骤360中,应答控制逻辑149命令从源高速缓存向数据目的地进行数据传送。在一个实施例中,数据目的地是与请求方MPU 160相关的高速缓存。然后在步骤370发生PTP数据传送。

    然而,如果系统100的与高速缓存170相关的应答被标明为独占或者共享,组合逻辑145使用利用率参数确定数据传送的指标(merit)的计算。这些指标的计算可以包括从数据源,例如第二高速缓存170或系统存储器150到请求方的数据传送的相对时间,等等。

    在步骤340中,组合逻辑145根据在步骤330中使用的利用率参数的函数选择未修改数据的源。如果从系统存储器150到数据目的地传送所请求数据所需要的时间少于从第一高速缓存170到数据目的地所需的时间,组合逻辑145产生这样的标记,并命令应答控制逻辑149命令较快的数据传送。然而,如果从第一高速缓存170传送数据到数据目的地的传送时间少于从系统存储器150传送数据到数据目的地的传送时间,组合逻辑145产生这样的标记。然后在步骤360中,应答控制逻辑149命令进行从源高速缓存170到数据目的地,例如目的高速缓存的数据传送。在一个实施例中,数据目的地是与请求方MPU 160相关的高速缓存。然后在步骤370中发生PTP数据传送。PTP数据传送可以是从共享存储器150到数据目的地,或者从高速缓存170到数据目的地,如在步骤340中所确定的。

    可以理解,本发明能够采用许多形式和实施例。因此,在不违背本发明精神或范围的前提下,在以上实施例中可以采取几种变化。已经通过参考其某些优选实施例描述了本发明,然而应当注意,所公开的实施例只是说明性的,而不是限制性的,并且还应注意,在前述公开内容中考虑到广泛的变化,修改,改变,以及替代,并且在若干实例中,可以在没有相应使用其它特征的情况下使用本发明的某些特征。参考上述对实施例的描述,许多这样的变化和修改对于本领域的技术人员会是明显的和希望得到的。因此,附加权利要求应当被广义地,并且以与本发明的范围相一致的方式来解释。

总线系统和产生高速缓存利用率数据的方法.pdf_第1页
第1页 / 共17页
总线系统和产生高速缓存利用率数据的方法.pdf_第2页
第2页 / 共17页
总线系统和产生高速缓存利用率数据的方法.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《总线系统和产生高速缓存利用率数据的方法.pdf》由会员分享,可在线阅读,更多相关《总线系统和产生高速缓存利用率数据的方法.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明提供了具有连接到远程总线环的本地总线环的总线系统。处理单元连接到本地总线节点并可用于数据请求。高速缓存通过命令总线连接到处理单元。高速缓存调查器连接到高速缓存,可用于确定高速缓存是否包含请求的数据。高速缓存调查器还可用于产生和广播高速缓存利用率参数,其包含关于其它高速缓存,它自身的相关处理单元等等访问高速缓存的程度的信息。在一方面,高速缓存是本地高速缓存。在另一方面,高速缓存是远程高速缓存。。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1