CN101821717A - 采用高速缓存一致性负荷测试控制的电路和方法 - Google Patents
采用高速缓存一致性负荷测试控制的电路和方法 Download PDFInfo
- Publication number
- CN101821717A CN101821717A CN200880111554A CN200880111554A CN101821717A CN 101821717 A CN101821717 A CN 101821717A CN 200880111554 A CN200880111554 A CN 200880111554A CN 200880111554 A CN200880111554 A CN 200880111554A CN 101821717 A CN101821717 A CN 101821717A
- Authority
- CN
- China
- Prior art keywords
- message traffic
- task
- circuit
- cache
- speed cache
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明提供了一种包含共享存储器(12)的电路,所述共享存储器(12)由多个处理单元(10)来使用,所述处理单元(10)包含用于对来自共享存储器(12)的数据进行高速缓存的高速缓存电路(102)。处理单元执行多个协作任务,每个协作任务包括对来自共享存储器(12)的数据进行高速缓存以及发送高速缓存消息业务量。通过经由通信网络传输高速缓存一致性请求来维持不同任务的高速缓存数据之间的一致性。对来自针对所有所述任务而产生的高速缓存一致性请求的信息进行缓冲。一个处理单元提供指示信号,所述指示信号指示在至少一个处理单元处的当前任务阶段。产生根据指示信号和来自高速缓存一致性请求的缓冲信息来适配的附件高速缓存消息业务量。可以创建高速缓存业务量负荷测试的条件,以验证电路的可操作性,或者可以对高速缓存消息业务量进行延迟以避免负荷测试。
Description
技术领域
本发明涉及一种具有共享存储器和数据处理电路的电路,所述数据处理电路限定了多个处理单元,每个处理单元包括高速缓存电路,所述高速缓存电路用于对来自共享存储器的数据进行高速缓存。
背景技术
WO 2006090328提供了一种具有测试设备的数据处理电路,所述测试设备具有缓冲器,所述缓冲器针存储来自与共享存储器相耦合的处理单元的高速缓存一致性请求的信息。高速缓存一致性请求的典型示例是:监听发布的请求信号,以确定在不同高速缓存电路中是否存在数据的不一致拷贝;针对所选的高速缓存线的无效信号;针对高速缓存线中的数据的更新信号等。WO 2006090328的电路可以是实际包含这样的共享存储器电路和具有高速缓存电路的多个处理单元在内的电路,或者WO 2006090328的电路可以是利用多个处理单元对电路的操作进行仿真的电路,其中每个处理单元包括用于对来自共享存储器的数据进行高速缓存的高速缓存电路。例如,可以通过使用被编程为执行与所有处理单元的操作相对应的操作的可编程计算机,来得到仿真电路。
WO 2006090328的测试设备用在在电路的验证期间,即,当研究电路在极端环境下是否会发生故障时。测试设备被设计为通过发出附加的高速缓存一致性请求来对电路进行负荷测试。使用缓冲器中来自高速缓存一致性请求的信息来选择地址(针对这些地址将产生高速缓存一致性请求)和/或预测时间(在这些时间处期望有大量的高速缓存请求),以便在这样的时间处选择性地产生高速缓存一致性请求。相应地,测试电路被设计为使用缓冲器的内容来适配高速缓存一致性请求的发出。
WO 2006090328的测试设备包含配置寄存器,所述配置寄存器使得可以在不同操作模式之间切换该所测试设备。模式可以限定对高速缓存一致性请求进行滤波(即,选择可以忽略的请求)的方法。例如,模式可以包括:突发模式,在该突发模式下,忽略来自所选地址范围的高速缓存一致性请求,以避免所有请求都在相同的地址范围之内;另一突发模式,在该另一突发模式下,产生具有连续地址的高速缓存业务量;或忽略不是特殊需要类型的高速缓存一致性请求的模式。
WO 2006090328提到了对于模式之间的切换进行判定的多种方法。例如,测试设备可以通过切换至另一模式来对过多无效请求的出现作出反应。还注意到,可以通过外部配置1来限定操作模式。因此,可以在设计者的控制下仿真不同的负荷测试情况。
WO 2006090328的电路具有的缺点是,该电路仅可以反应于先前的高速缓存一致性请求或通过外部重新配置来适配所仿真的高速缓存一致性请求的发出。以这种方式,测试设备可能无法提供最大负荷测试。测试设备也不可能利用低负荷测试的时间段。
发明内容
本发明的目的是提供一种具有共享存储器的电路,该电路限定了多个处理单元,每个处理单元包括用于对来自共享存储器的数据进行高速缓存的高速缓存电路,其中,可以实现对高速缓存一致性请求负荷测试的更精确适配。
提供了根据权利要求1所述的电路。该电路用于在不同的处理单元上协作执行相应的任务,其中每个处理单元具有其自己的高速缓存电路。这里,使用高速缓存消息业务量产生器,该高速缓存消息业务量产生器根据以下信息对高速缓存消息业务量的产生进行适配:来自一致性请求缓冲器的信息以及来自所有处理单元的高速缓存一致性请求的信息,以及由至少一个处理单元的指示当前执行任务阶段的信号。在实施例中,高速缓存消息业务量产生器仅产生高速缓存一致性消息。由于所述至少一个处理单元的任务阶段是与其他处理单元中的任务协作执行的,所以这使得可以对高速缓存消息业务量的类型进行更精细的隐式或显示预测,这将比仅基于所缓冲的高速缓存一致性请求纯粹反应式预测更有可能出现。相应地,高速缓存消息业务量的更精细适配是可能的。
在实施例中,所缓冲的信息包括在高速缓存一致性请求中使用的地址。在本实施例中,根据指示信号和来自高速缓存一致性请求缓冲器的地址来适配在所产生的高速缓存消息业务量中使用的地址。在实施例中,所述地址是从缓冲器中的地址中选择的。
在实施例中,提供滤波器以选择将被传送至缓冲器的高速缓存一致性请求。在该实施例中,根据与执行任务阶段有关的指示信号将滤波器切换至滤波器模式。从而,当基于所缓冲的信息来适配高速缓存消息业务量时,将通过对滤波器模式的选择将所述高速缓存消息业务量非直接地进行适配到执行任务阶段。
在实施例中,高速缓存消息业务量产生器可以被配置为通过经由附加缓冲器消息的产生对电路进行负荷测试来验正操作,所述附加高速缓存消息可以包括由于任务的执行而导致的也出现在高速缓存一致性请求中的地址。使用例如包含对多个处理单元进行限定并使处理器对处理单元执行任务期间的事件进行仿真的程序在内的可编程处理器电路,可以在包括具有高速缓存电路多个处理单元在内的电路中进行该操作,或可以在对这样的具有多个处理单元的电路进行仿真的电路中进行该操作。
在实施例中,根据指示信号和所缓冲的信息隐式地或显式地确定高速缓存消息业务量的预测频率。在本实施例中,当所述预测频率在阈值以上时,高速缓存消息业务量产生器可以对包括产生高速缓存消息业务量的操作执行延迟,。在实施例中,基于当前执行任务阶段以及来自一致性请求缓冲器的信息,隐式地或显式地对高速缓存一致性请求中使用的地址进行预测。在该实施例中,当所述预测预测了具有预定范围内的地址的高速缓存消息业务量时,可以对操作的执行进行延迟。
在实施例中,所述至少一个处理单元包括指令处理器,所述指令处理器被配置为执行指令程序以执行其任务和高速缓存消息业务量产生器的功能。因此,不同程序部件之间的通信可以用于提供对高速缓存消息产生的更精细适配。
在实施例中,所述任务包括:由所述至少一个处理单元来执行的图像数据格式化和/或去格式化任务,以及由一个处理单元而不是至少一个处理单元来执行用于处理像素数据图像数据系数的像素数据和/或变换系数的任务。例如,这可以包括MPEG编码和/或解码。不同的像素数据和/或变换系数处理任务(如,DCT系数计算和其逆变换、可变长度编码和解码、运动估计、运动补偿等)将与格式化任务或用于从格式化的数据中提取数据的任务协作执行。通过使用该格式化或提取任务来提供有助于基于自适应一致性请求来产生高速缓存消息的信号,高速缓存消息产生可以适于所有子任务。
附图说明
使用以下附图,通过示例实施例的描述,这些和其他对象以及有利方面将变得显而易见,附图中:
图1示出了多处理器电路。
图2、2a示出了处理单元。
图3、4示出了任务执行的流程图。
具体实施方式
图1示出了多处理电路,包括多个处理单元10、共享存储器12以及将处理单元10耦合至共享存储器12的通信电路14。每个处理单元10包括处理电路100、高速缓存电路102和通信接口104。在至少一个处理单元中,处理电路100是用于执行由指令构成的程序的指令处理器,然而其他处理单元的处理电路100可以是专用硬件电路,这些专用硬件电路不需要程序控制它们的操作。高速缓存电路102耦合在处理电路100和通信接口104之间,所述通信接口104耦合至通信电路14。
每个高速缓存电路102执行传统的高速缓存功能:将来自共享存储器12的数据的拷贝保留在高速缓存电路102中的高速缓存存储器中,在本地处理来自处理电路100的读取操作,如果拷贝是可用的,则处理电路100对共享存储器12进行寻址,否则处理电路100查阅共享存储器12。高速缓存电路102管理高速缓存数据的替换、更新和无效。这种高速缓存电路的操作是已知的并例如在WO 2006090328描述了。因此,这里将仅讨论操作的几个方面。
当处理电路100执行对共享存储器中的存储器位置进行寻址的写入操作,并且在另一处理单元的高速缓存电路102中还存储了针对相同共享存储器位置的数据的拷贝时,可能发生高速缓存数据之间的不一致。高速缓存电路可以以不同方式来校正这一点。具有数据地址的消息可以从更新了数据的处理单元10发送到数据肯定是无效的或更新的(如果存在)所有高速缓存电路102发送。可以将这样的消息选择性地发送至已知具有数据拷贝的处理单元10,或者可以将这样的消息广播至所有处理单元10。
备选地,可以出于监控目的经由通信电路14向处理单元10提供用于在共享存储器12中寻址的写入存取消息,当高速缓存电路102检测到另一处理单元10向与高速缓存数据相关的范围内的地址写入数据时,高速缓存电路102可以对高速缓存数据进行无效或更新。
可以从其他处理单元10返回监听应答消息,以指示高速缓存数据的存在。
这里,可以被处理单元10用来维持一致性的在通信电路14上的任何消息称作高速缓存一致性请求。高速缓存消息业务量消息包括高速缓存一致性请求和其他业务量(如,用于从共享存储器12向高速缓存电路102中加载数据的消息,如果该消息没有影响一致性则该消息不是高速缓存一致性请求)。
图2示出了处理单元,所述处理单元具有高速缓存电路102和通信接口104,所述处理单元还具有指令处理器20、程序存储器22、高速缓存一致性缓冲器24以及配置数据存储器26。尽管出于说明的目的示出了单独的配置数据存储器26,然而应理解,该存储器可以是更大存储器(如,处理单元的便签式存储器)的一部分。此外或取而代之地,处理单元可以具有IO接口电路,所述IO接口电路作为存储器映射的IO空间是可以从指令处理器20来访问的。
配置数据存储器26还可以与共享存储器12中的位置相对应。类似地,指令存储器22可以是任何更大存储器的一部分。指令处理器20耦合至高速缓存电路102、程序存储器22、高速缓存一致性缓冲器24以及配置数据存储器26。高速缓存电路102、程序存储器22、高速缓存一致性缓冲器24和配置数据存储器26被示为耦合至通信接口104。
在操作中,高速缓存一致性缓冲器24对已经由通信电路14发送的高速缓存一致性请求或信息(如,从这些请求中得到的地址)进行高速缓存,如针对WO 2006090328的测试设备而描述的。应当强调,高速缓存一致性缓冲器24可以与针对未决请求的任何缓冲器不同,使得缓冲与旧的请求是否已经过处理无关。在该不同的缓冲器中,即使相应的请求不再未决或当存在许多请求时也可以保留信息,可以在相应请求仍然未决的同时重写该信息。
指令处理器20被编程为以时分复用的方式来执行多个处理任务。用于将指令处理器20配置为执行该操作的程序可以存在于指令存储器22中。不同任务使用配置数据存储器26来进行通信。这些任务包括第一任务,所述第一任务包括对于在共享存储器12中寻址的数据进行处理。例如,该任务可以是图像信号处理任务、音频信号处理任务、视频和/或音频编码或解码任务。
典型地,第一任务仅实现图像信号处理操作、音频信号处理操作、视频和/或音频编码或解码操作的一部分,其他部分由其他任务来实现,例如由除了执行第一任务的处理单元10以外的其他处理单元10与第一任务相结合而执行的其他任务。
第一任务包括:产生触发处理单元10中其他任务的事件,和/或写入供其他任务使用的状态信息。处理单元10中的第二任务包括经由通信电路14产生消息业务量。
图3示出了执行第一任务的流程图和这种第二任务的第一实施例。示出了第一任务的多个阶段30a-c,其中,指令处理器20执行实现这些不同阶段的指令。第一任务在第一阶段30a中和第二阶段30b中对高速缓存数据进行不同的使用。例如,第一阶段可以是以高速率对来自共享存储器12的数据进行首次加载或更新的阶段(例如,在图像解压缩中的运动补偿期间),第二阶段可以是没有对共享存储器12中的数据进行频繁更新的阶段(例如,在DCT变换的计算期间)。在第一阶段和第二阶段30a、b之间,指令处理器20执行第三阶段30c以向配置数据存储器26写入状态信息,所述状态信息指示下一阶段30a、b的类型。
在第二任务的第一步骤31中,指令处理器20执行从配置数据存储器26读取状态信息的指令。在第二步骤32中,指令处理器20执行将状态信息与预定的信息进行比较的指令。
如果状态信息指示执行第一阶段30a,则第二任务继续进行至第三步骤33,在第三步骤33中指令处理器20以预定的速率并使用所选地址范围(例如,已知用于第一阶段30a中的或预测要使用的范围内的地址)中的地址执行产生高速缓存业务量消息(如,通信电路14上的一致性请求)的指令。可选地,仅产生特定类型的高速缓存消息业务量消息。
如果状态信息指示执行第二阶段30b,则第二任务继续进行至第四步骤34,在第四步骤34中指令处理器20执行从高速缓存一致性缓冲器24读取信息的指令。在第二任务的第五步骤35中,指令处理器20以基于高速缓存一致性缓冲器24中的信息统计量结果的速率和/或使用从高速缓存一致性缓冲器24中的信息得到的地址执行产生高速缓存消息业务量消息(如,通信电路14上的一致性请求)的指令。可选地,仅产生特定类型的高速缓存消息业务量消息。第二任务从第三和第五步骤33、35返回第一步骤31。
如将意识到的,这具有的效果是根据第一任务的执行阶段和实际高速缓存一致性消息来适配高速缓存消息业务量消息的产生,所述适配在于适配高速缓存消息业务量消息中的地址和/或适配消息类型的频率。然而,应意识到,图3所示的第二任务仅是以自适应产生高速缓存消息业务量消息的简单示例的形式给出的。在其他实施例中,产生高速缓存消息业务量的速率可以是第一任务的状态与(如第二任务所限定的)从高速缓存一致性缓冲器24得到的信息的组合的预定函数。
图2a示出了实施例,在该实施例中提供了滤波器28,所述滤波器28耦合在通信电路14与高速缓存一致性请求缓冲器24之间。指令处理器20具有与滤波器28的控制输入相耦合的输出。例如可以通过将滤波器28的控制寄存器映射到指令处理器20的寄存器来实现这一点。
通信电路14被配置为将高速缓存一致性请求的拷贝或来自所述拷贝的信息传送至滤波器28。滤波器28被配置为将所选的高速缓存一致性请求或来自所述高速缓存一致性请求的信息传送至高速缓存一致性请求缓冲器24。滤波器被配置为在不同的可选的滤波器模式下工作。如这里所使用的,不同的滤波器模式限定了选择高速缓存一致性请求或来自所述高速缓存一致性请求的信息的不同方式,从而产生了由所选的高速缓存一致性请求或来自所述高速缓存一致性请求的信息组成的不同集合。在实施例中,一种滤波器模式是全通过模式,另一种滤波器模式是地址滤波器模式,在地址滤波器模式下,具有所选范围内地址的高速缓存一致性请求不被传送至高速缓存一致性请求缓冲器24。另一滤波器模式可以是重复滤波器模式,在所述重复滤波器模式下,高速缓存一致性请求在以下情况下被阻止:所述高速缓存一致性请求包括与在预定数目的先前接收到的高速缓存一致性请求内使用的地址相同的、或者与在预定数目的先前接收到的高速缓存一致性请求内使用的地址处于相同的地址范围内的地址。
在操作中,指令处理器20根据第一任务的程序状态来选择滤波器模式。从而可以通过选择高速缓存一致性请求来非直接适配高速缓存消息业务量的产生。
在实施例中,第二任务可以包括高速缓存一致性请求的统计量的计算。关于观测到的高速缓存一致性请求,统计量的计算可以包括计算如在配置数据存储器26中指示的程序状态之间的相关性。因此,例如,可以针对多个程序状态中的每个状态,分别地计算请求中共享存储器地址的请求频率、或地址范围、平均地址等。相应地,第二任务可以包括:使指令处理器20根据第一任务的状态以及针对该状态而收集的统计量,来选择所产生的高速缓存消息业务量消息中的地址、和/或高速缓存消息业务量消息的速率、和/或高速缓存消息业务量消息的类型。可以在延伸至之前的高速缓存一致性请求的时间段上采集统计量,所述之前的高速缓存一致性请求已不在高速缓存一致性缓冲器24中。此外或者取而代之地,使用这种之前的统计量,第二任务可以使用来自高速缓存一致性缓冲器24中的高速缓存一致性的当前信息或当前信息的统计量来控制高速缓存消息业务量。
在实施例中,指令处理器20在指令的控制下从高速缓存一致性缓冲器24中读取来自独立的高速缓存一致性请求的信息,并且指令处理器20在其他指令的控制下计算统计量。在备选实施例中,专用的统计量计算电路(未示出)可以耦合在高速缓存一致性缓冲器24与指令处理器20之间,用于从高速缓存一致性缓冲器收集信息以及计算统计量。统计量计算电路可以是处理单元的一部分或通信电路14的一部分。在该实施例中,指令处理器20耦合至专用的统计量计算电路,以便例如通过从专用统计量计算电路中的寄存器中读取请求计数、平均地址值或地址范围的边界,来读取统计量计算结果。在这种情况下,降低了指令处理器20的计算量。
然而,指令处理器20执行的统计量计算具有的优点是,可以计算出更适于第二任务需要的统计量。
图4示出了另外的流程图,其中示出了由多个处理单元来执行的任务。在示例中,第一附加处理单元10包括专用的DCT计算电路,以便例如用于对像素值块进行变换。
可以为电路提供另外的附加处理单元以执行其他任务,如,DCT系数量化、游程长度编码或解码、运动补偿任务(搜索匹配的像素块、或从运动矢量所限定的位置拷贝像素块)等。在该示例中,执行处理任务(包括以时分复用的方式来产生高速缓存消息业务量的任务)的处理单元10例如可以执行对视频流进行格式化或从格式化的视频流提取信息的任务。
如图所示,第一附处理单元10所执行的任务的阶段41经由第一存储位置42与第一任务的阶段30a-c通信信息。类似地,第二附加处理单元10所执行的任务的阶段43经由第二存储位置44与第一任务的阶段30a-c通信信息。处理单元10被配置为(即,这些处理单元具有程序或硬件设计)对它们的操作进行排序,使得仅在所通信的信息产生之后使用所通信的信息。通信具有的效果是,仅在执行第一任务的阶段30a-c的处理单元10中的相应步骤之后,执行附加处理单元的特定步骤41、43。第二任务在于,处理单元使用状态信息,与从所缓冲的高速缓存一致性请求的信息中得到的统计信息相结合,来控制高速缓存信息业务量的量。因此,与来自附加处理单元的未来高速缓存一致性业务量有关的预测可以用于控制由第二任务执行的高速缓存消息业务量的产生。在实施例中,关于滤波器28,可以根据这些预测来适配滤波器模式。
在实施例中,仅出于验证目的来提供第二任务,以在正常使用之前对电路进行负荷测试,以便确定该电路是否会在极端环境下正常工作。在该实施例中,在正常使用期间可以省略第二任务的执行。
在另一实施例中,出于验证目的以外的其他目的来提供第二任务。在该实施例中,在正常使用期间激活第二任务。在该实施例的情况下,该任务可以被设计为避免负荷测试而不是进行负荷测试。例如,第二任务可以被配置为:对于在通信电路14上需要大量消息业务量的操作进行延迟,直到高速缓存一致性请求或高速缓存消息业务量的预测频率在阈值以下(即,推迟这种操作的开始,或暂停这些操作的执行)。这样的预测可以是隐式的,并且这样的预测可以基于程序状态和实际观测到的高速缓存一致性请求。备选地,可以利用被第二任务延迟了的操作所使用的预定地址范围中的地址,来使用高速缓存一致性请求或高速缓存消息业务量的(隐式的或显示的)预测。
出于这种目的的预测可以基于例如在不同程序状态期间观测到的请求或地址的统计,当第一任务指示程序状态时,针对程序状态的统计用作预测。还可以通过使用最近高速缓存一致性业务量的统计来提供预测,使用与程序状态有关的信息来修改预测,例如通过根据程序状态的预定值来在统计上添加增加统计频率的确定的地址来修改。
作为另一备选,可以基于程序状态和实际观测到的高速缓存一致性请求,利用预定地址范围内的地址,来使用高速缓存一致性请求的频率的(隐式或显示的)预测。
备选地,第二任务可以被配置为:当高速缓存一致性请求的频率高,或者程序状态指示任务是活动的(这将引起繁重业务量)时,触发在通信电路14上需要很少消息业务量的其他任务。作为另一示例,第二任务自身可以相应地执行引起繁重业务量或低业务量的操作。例如,第二任务或被第二任务触发的任务可以包括在共享存储器12中写入数据块的步骤,该步骤是在所预测的业务量低时开始的。作为另一示例,第二任务或被第二任务触发的任务可以开始以下步骤:在所预测的业务量高时,以很少的高速缓存消息业务量来进行大量的寄存器至寄存器计算。
尽管示出了经由配置数据存储器26在第一和第二任务之间交换状态信息的示例,然而应意识到,可以以其他方式来交换状态信息,例如,通过在第一任务中的一个或更多个可编程点处从第一任务开始第二任务,来交换状态信息。
作为备选实施例,可以在互不相同的处理单元10中实现第一和第二任务,其中每个处理单元10都具有至通信电路14的接口。在该备选实施例中,需要处理单元之间的通信优选地经由与通信电路的并联连接来交换状态信息。例如,两个处理器都可以耦合至配置数据存储器26。将意识到,这使得更难对程序状态与高速缓存一致性业务量的组合作出响应。
通过研究附图、说明书以及所附的权利要求,要求保护的本发明所属技术领域的技术人员可以理解并实现所公开的实施例的其他变型。在权利要求中,词语“包括”不排除其他单元或步骤。单个处理器或其他单元可以实现权利要求中阐述的若干项的功能。在互不相同的从属权利要求中阐述特定措施并不表示不能有利地使用这些措施的组合。计算机程序可以存储/分布在合适的介质(如,与其他硬件一起或作为其他硬件的一部分而提供的光学存储介质或固态介质)上,然而也可以以其他形式分布,如,经由互联网或其他有限或无线通讯系统来分布。权利要求中的任何参考标记不应被解释为限制范围。
Claims (9)
1.一种电路,包括共享存储器(12)和数据处理电路,所述数据处理电路包括:
-通信电路(14);
-经由通信电路(14)耦合至共享存储器(12)的多个处理单元(10),每个处理单元(10)包括对来自共享存储器(12)的数据进行高速缓存以及用于在通信电路(14)上发送高速缓存消息业务量的高速缓存电路(102),每个处理单元(10)被配置为执行相应任务,所述相应任务包括在其他相应任务的任务阶段(30a-c,41,43)完成之后开始按顺序执行的任务阶段(30a-c,41,43),至少一个处理单元(10)被配置为提供指示信号,所述指示信号指示所述至少一个处理单元(10)当前正在执行的任务阶段(30a-c,41,43);
-耦合至通信电路(14)的高速缓存一致性请求缓冲器(24),被配置为在相应任务的执行期间对来自高速缓存一致性请求的信息进行缓冲,其中所述高速缓存一致性请求是在通信电路(14)上传送并来自所有所述处理单元的高速缓存电路(102);
-高速缓存消息业务量产生器(20),经由通信电路(14)产生高速缓存消息业务量、根据指示信号以及来自一致性请求缓冲器(24)的信息对高速缓存消息业务量的产生进行适配。
2.根据权利要求1所述的电路,其中,来自高速缓存一致性请求的信息包括在高速缓存一致性请求中使用的地址,高速缓存消息业务量产生器(20)被配置为根据指示信号以及来自高速缓存一致性请求缓冲器(24)的地址来适配在所产生的高速缓存消息业务量中使用的地址。
3.根据权利要求1所述的电路,包括滤波器(28),所述滤波器(28)用于从经由通信电路(14)传送的高速缓存一致性请求中进行选择,一致性请求缓冲器(24)用于仅对来自所述滤波器(28)所传送的高速缓存一致性请求的信息进行缓冲,滤波器(28)在相互不同的滤波模式之间可切换,高速缓存消息业务量产生器(20)被配置为根据指示信号来控制滤波器模式。
4.根据权利要求1所述的电路,被配置为执行包括高速缓存消息业务量的产生在内的操作,其中,高速缓存消息业务量产生器(20)被配置为根据指示信号以及来自一致性请求缓冲器(24)的信息来计算对高速缓存消息业务量的预测频率加以限定的数据,并且高速缓存消息业务量产生器(20)被配置为当预测频率在阈值以上时对所述操作的执行进行延迟。
5.根据权利要求1所述的电路,被配置为执行包括产生具有预定地址范围内的地址的高速缓存消息业务量在内的操作,其中,来自高速缓存一致性请求的信息包括在高速缓存一致性请求中使用的地址,高速缓存消息业务量产生器(20)被配置为确定对关于高速缓存消息业务量频率中的地址是否会在预定范围内的预测加以限定的数据,所述预测依赖于指示信号以及来自一致性请求缓冲器的信息,并且高速缓存消息业务量产生器(20)被配置为当根据预测将会出现具有预定范围内的地址的高速缓存消息业务量时,对所述操作的执行进行延迟。
6.根据权利要求1所述的电路,其中,至少一个处理单元(10)包括指令处理器(20),所述指令处理器(20)被配置为执行指令程序,所述指令程序包括相应的指令组,所述指令组用于执行由所述至少一个指令处理器(20)来执行的任务的相应任务阶段以及用于提供指示信号,所述指令程序还包括用于使充当高速缓存消息业务量产生器的指令处理器(20)根据所采集的统计量以及由相应的指令组提供的指示信号来对高速缓存消息业务量产生进行适配的指令。
7.根据权利要求1所述的电路,其中,任务包括:由至少一个处理单元(10)来执行的图像数据格式化和/或去格式化任务,以及由一个处理单元而不是所述至少一个处理单元(10)执行对像素数据图像数据系数的像素数据和/或变换系数进行处理的任务。
8.一种对包括共享存储器(12)的电路进行操作的方法,所述方法包括:
-执行多个协作任务,每个任务包括对来自共享存储器(12)的数据进行高速缓存以及发送高速缓存消息业务量;
-提供指示信号,所述指示信号指示至少一个处理单元的当前任务阶段;
-通过传输高速缓存一致性请求来维持针对不同任务的高速缓存数据之间的一致性;
-对来自针对所有所述任务而产生的高速缓存一致性请求的信息进行缓冲;
-除了来自所述任务的高速缓存消息业务量外还产生高速缓存消息业务量,高速缓存消息业务量的产生是根据指示信号以及来自高速缓存一致性请求的所缓冲的信息来适配的。
9.一种计算机程序产品,包括指令程序,所述指令程序在由可编程计算机来执行时,使所述计算机执行如权利要求8所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP07118763.7 | 2007-10-18 | ||
EP07118763 | 2007-10-18 | ||
PCT/IB2008/054251 WO2009050665A2 (en) | 2007-10-18 | 2008-10-16 | Circuit and method with cache coherence stress control |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101821717A true CN101821717A (zh) | 2010-09-01 |
Family
ID=40460252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880111554A Pending CN101821717A (zh) | 2007-10-18 | 2008-10-16 | 采用高速缓存一致性负荷测试控制的电路和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8732408B2 (zh) |
EP (1) | EP2203822B1 (zh) |
CN (1) | CN101821717A (zh) |
AT (1) | ATE516542T1 (zh) |
WO (1) | WO2009050665A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109073350A (zh) * | 2016-04-29 | 2018-12-21 | 思科技术公司 | 应用性能数据的预测性汇总和缓存 |
CN112702228A (zh) * | 2020-12-18 | 2021-04-23 | 平安普惠企业管理有限公司 | 服务限流响应方法、装置、电子设备及可读存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327666B2 (en) | 2009-02-19 | 2012-12-11 | Corning Incorporated | Method of separating strengthened glass |
US8347651B2 (en) | 2009-02-19 | 2013-01-08 | Corning Incorporated | Method of separating strengthened glass |
US8771532B2 (en) | 2009-03-31 | 2014-07-08 | Corning Incorporated | Glass having anti-glare surface and method of making |
US8795812B2 (en) | 2010-02-24 | 2014-08-05 | Corning Incorporated | Oleophobic glass substrates |
US9085484B2 (en) | 2010-04-30 | 2015-07-21 | Corning Incorporated | Anti-glare surface treatment method and articles thereof |
US8992786B2 (en) | 2010-04-30 | 2015-03-31 | Corning Incorporated | Anti-glare surface and method of making |
US8778496B2 (en) | 2010-11-30 | 2014-07-15 | Corning Incorporated | Anti-glare glass sheet having compressive stress equipoise and methods thereof |
US9446979B2 (en) | 2011-11-02 | 2016-09-20 | Corning Incorporated | Method for sparkle control and articles thereof |
US9359251B2 (en) | 2012-02-29 | 2016-06-07 | Corning Incorporated | Ion exchanged glasses via non-error function compressive stress profiles |
US10540284B2 (en) * | 2014-07-29 | 2020-01-21 | Nxp Usa, Inc. | Cache-coherent multiprocessor system and a method for detecting failures in a cache-coherent multiprocessor system |
US11915065B2 (en) * | 2022-01-20 | 2024-02-27 | Vmware, Inc. | Brokerless reliable totally ordered many-to-many interprocess communication on a single node that uses shared memory and multicast |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778438A (en) * | 1995-12-06 | 1998-07-07 | Intel Corporation | Method and apparatus for maintaining cache coherency in a computer system with a highly pipelined bus and multiple conflicting snoop requests |
US6332178B1 (en) * | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
US6253291B1 (en) | 1998-02-13 | 2001-06-26 | Sun Microsystems, Inc. | Method and apparatus for relaxing the FIFO ordering constraint for memory accesses in a multi-processor asynchronous cache system |
US6112283A (en) | 1998-08-06 | 2000-08-29 | Intel Corporation | Out-of-order snooping for multiprocessor computer systems |
US6463509B1 (en) * | 1999-01-26 | 2002-10-08 | Motive Power, Inc. | Preloading data in a cache memory according to user-specified preload criteria |
US6467032B1 (en) * | 1999-06-04 | 2002-10-15 | International Business Machines Corporation | Controlled reissue delay of memory requests to reduce shared memory address contention |
US6760812B1 (en) * | 2000-10-05 | 2004-07-06 | International Business Machines Corporation | System and method for coordinating state between networked caches |
US6745299B2 (en) * | 2001-11-19 | 2004-06-01 | Hewlett-Packard Development Company, L.P. | Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms |
US6871268B2 (en) * | 2002-03-07 | 2005-03-22 | International Business Machines Corporation | Methods and systems for distributed caching in presence of updates and in accordance with holding times |
US7000079B2 (en) * | 2003-04-17 | 2006-02-14 | International Business Machines Corporation | Method and apparatus for verification of coherence for shared cache components in a system verification environment |
US7024521B2 (en) * | 2003-04-24 | 2006-04-04 | Newisys, Inc | Managing sparse directory evictions in multiprocessor systems via memory locking |
WO2006090328A2 (en) | 2005-02-28 | 2006-08-31 | Koninklijke Philips Electronics N.V. | Multiprocessor system, testing device and method for generating cache coherence testing traffic |
US7392351B2 (en) | 2005-03-29 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for filtering snoop requests using stream registers |
-
2008
- 2008-10-16 EP EP08840774A patent/EP2203822B1/en active Active
- 2008-10-16 AT AT08840774T patent/ATE516542T1/de not_active IP Right Cessation
- 2008-10-16 US US12/682,789 patent/US8732408B2/en active Active
- 2008-10-16 WO PCT/IB2008/054251 patent/WO2009050665A2/en active Application Filing
- 2008-10-16 CN CN200880111554A patent/CN101821717A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109073350A (zh) * | 2016-04-29 | 2018-12-21 | 思科技术公司 | 应用性能数据的预测性汇总和缓存 |
CN112702228A (zh) * | 2020-12-18 | 2021-04-23 | 平安普惠企业管理有限公司 | 服务限流响应方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2009050665A3 (en) | 2009-07-23 |
ATE516542T1 (de) | 2011-07-15 |
US20100299485A1 (en) | 2010-11-25 |
WO2009050665A2 (en) | 2009-04-23 |
EP2203822B1 (en) | 2011-07-13 |
EP2203822A2 (en) | 2010-07-07 |
US8732408B2 (en) | 2014-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101821717A (zh) | 采用高速缓存一致性负荷测试控制的电路和方法 | |
CN102483703B (zh) | 计算机线程至异构资源的映射 | |
CN100524251C (zh) | 采用压缩缓存线信息价值的计算系统、处理器及方法 | |
JP4822598B2 (ja) | キャッシュメモリ装置およびそれを含むデータ処理装置 | |
US9390012B2 (en) | Multi-core processor system, cache coherency control method, and computer product | |
KR101378270B1 (ko) | Sas 확장기를 포함하는 저장 시스템에서 데이터 판독을 가능하게 하기 위한 방법, 시스템 및 sas 확장기 디바이스 | |
CN101593161B (zh) | 确保微处理器的快取存储器层级数据一致性的装置与方法 | |
CA2680601C (en) | Managing multiple speculative assist threads at differing cache levels | |
US8930629B2 (en) | Data cache block deallocate requests in a multi-level cache hierarchy | |
CN103270470B (zh) | 多核系统能耗优化 | |
CN105159844A (zh) | 数据处理装置中的动态缓存分配策略调适 | |
CN101595460A (zh) | 用于收集非托管存储空间的实现 | |
CN105138473B (zh) | 管理高速缓冲存储器的系统和方法 | |
CN101868786A (zh) | 虚拟化环境中的地址转换缓存和i/o高速缓存性能改进 | |
US6711651B1 (en) | Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching | |
CN105095495B (zh) | 一种分布式文件系统缓存管理方法和系统 | |
US6587922B2 (en) | Multiprocessor system | |
KR20070086246A (ko) | 처리 시스템, 캐시 시스템 및 프리페치 데이터 전송 방법 | |
CN105209988A (zh) | 监视控制系统以及控制装置 | |
CN109154912A (zh) | 根据另一个高速缓存中条目的可用性替换高速缓存条目 | |
CN104364776A (zh) | 使用缓存缺失请求提供缓存替换通知 | |
CN113316794A (zh) | 基于人工神经网络的数据位置用数据缓存支持高速人工神经网络操作的数据管理设备 | |
CN101005446A (zh) | 选择操作的广播范围的数据处理系统、方法和处理单元 | |
CN104508640A (zh) | 高速缓冲存储器控制器和高速缓冲存储器控制方法 | |
WO2023173991A1 (en) | Cache line compression prediction and adaptive compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: NITAI SOFTWARE CO., LTD. Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV Effective date: 20120330 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20120330 Address after: Delaware Applicant after: Nytell Software LLC Address before: Holland Ian Deho Finn Applicant before: Koninkl Philips Electronics NV |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100901 |