CN1757018B - 具有预取装置的数据处理系统、数据预取方法 - Google Patents

具有预取装置的数据处理系统、数据预取方法 Download PDF

Info

Publication number
CN1757018B
CN1757018B CN2004800058948A CN200480005894A CN1757018B CN 1757018 B CN1757018 B CN 1757018B CN 2004800058948 A CN2004800058948 A CN 2004800058948A CN 200480005894 A CN200480005894 A CN 200480005894A CN 1757018 B CN1757018 B CN 1757018B
Authority
CN
China
Prior art keywords
data
cache
data block
cache memory
processor
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.)
Expired - Fee Related
Application number
CN2004800058948A
Other languages
English (en)
Other versions
CN1757018A (zh
Inventor
J·T·J·范埃恩德霍文
M·J·鲁坦
E·-J·D·波尔
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1757018A publication Critical patent/CN1757018A/zh
Application granted granted Critical
Publication of CN1757018B publication Critical patent/CN1757018B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control

Abstract

一种数据处理系统包括:用于处理流式数据的处理器;具有多个高速缓存块的高速缓冲存储器,其中所述高速缓冲存储器之一与每个所述处理器连接;以及高速缓存控制器,所述高速缓存控制器之一与每个所述高速缓冲存储器连接。所述高速缓存控制器包括:确定装置,用于识别所述高速缓冲存储器中包含第一数据块的至少一个位置,所述第一数据块是被预测为无需代价就可被删除的数据;以及预取装置,用于发出预取操作来用适合所述位置的第二数据块代替在所述位置处的所述第一数据块。本发明提供了将数据预取到高速缓冲存储器,同时减少由于删除有用的数据而引起的高速缓存未命中的情况的发生。

Description

具有预取装置的数据处理系统、数据预取方法
技术领域
本发明涉及一种被优化以用于处理数据流应用的数据处理系统,一种被优化以用于处理数据流应用的、在数据处理环境中将数据预取到高速缓冲存储器的方法,以及一种被优化以用于处理数据流应用的供数据处理环境中使用的半导体装置。
背景技术
由于对数据流应用的需求日益增长,因此特别是被装备以用于数据流应用的数据处理系统的设计成果,例如高清晰度数字TV、具有时间移位功能的机顶盒、3D游戏、视频会议、MPEG-4应用等在最近几年中已逐渐增多。
在流式处理中,由不同的处理器对数据流执行连续的操作。例如,第一数据流可能包括图像的像素值,该像素值由第一处理器进行处理以产生DCT(离散余弦变换)系数为8×8像素块的第二块流。第二处理器可以处理DCT系数块以产生为每个DCT系数块已选定和已压缩系数的块流。
为了实现数据流处理,提供了多个处理器,每个处理器能够重复执行一个特定操作,每次都使用来自数据对象流的下一个数据对象的数据和/或在这个数据流中产生下一个数据对象。数据流从一个处理器传递到另一个处理器,以使由第一处理器产生的数据流能够由第二处理器处理等等。将数据从第一处理器传递到第二处理器的一种方法是将第一处理器产生的数据块写入存储器中。网络中的数据流被缓冲。每个缓冲器被实现为FIFO,确切地说有一个写入器和一个或多个读出器。由于这个缓冲,写入器和读出器不必在通道(channel)上相互同步各个读出和写入动作。典型的数据处理系统包括完全可编程处理器的混合以及分别专门用于单个应用的专用于系统。
这种体系结构的一个例子示于Rutten等人的“Eclipse:AHeterogeneous Multiprocessor Architecture for Flexible Media Processing”,IEEE Design and Test of Computers:Embedded Systems,pp.39-50,July-August 2002。所需要的处理应用被指定为Kahn处理网络,也就是一组当前正在执行的任务利用单向数据流交换数据。每个应用任务被映射到一个特定可编程处理器或专用处理器之一。专用处理器由协处理器实现,该协处理器只是稍微可编程的。每个协处理器能够在分时的基础上执行来自单个Kahn网络或来自多个网络的多个任务。例如媒体处理应用的数据流特性导致访问的高度局部性,也就是对相邻数据的存储地址的连续访问。而且,分布式协处理器的命令解释器(shell)在协处理器和通信网络即总线和主存储器之间实施。它用于解决诸如多任务处理、数据流同步和数据传输之类的许多系统级别的问题。由于其分布式的特性,命令解释器能够在其相关的协处理器附近实施。在每个命令解释器中,处理随着任务而来的数据流所需的所有数据被存储在命令解释器的数据流表中,该任务被映射到与命令解释器相关的协处理器上。
命令解释器包括高速缓冲存储器,以便减少在读出或写入存储器时发生的数据访问等待时间。执行未来的处理步骤所需的数据被高速缓存,也就是存储在较小的存储器中,所述较小的存储器与主存储器分离并被安排在使用所存储的数据的处理器附近。换句话说,一个高速缓冲存储器被用作一个中间存储设备。通过减少存储器访问的等待时间,处理器的处理速度能够被提高。如果数据字只由处理器从其高速缓冲存储器中而不是从主存储器中访问,则访问时间将显著减少。
为了进一步减少数据访问的等待时间,使用预取方法来预测即将进行的输入和输出操作。这里,预取意味着在从处理器接收到对数据的请求之前,该数据被高速缓存或从主存储器被传输到高速缓冲存储器。
一般而言,当涉及预取技术时会出现两个主要问题。第一,为了预测未来对存储器的输入/输出访问,必须通过观测一系列输入/输出(I/O)操作的地址来识别数据处理的访问模式,并在检查上述特性之后进行推断以便预测对存储器即将进行的I/O访问。在流式数据应用的情况中,该推断由于以下事实而变得非常复杂,即系统中的其他过程或数据流可以访问所述存储器中的数据,从而使得来自其他数据流的交叉访问的I/O操作阻碍正确的预测。
第二,如果预测的是,某一数据字要在接下来的处理步骤期间被处理并且该特定的数据字当前未被存储在高速缓冲存储器中,则不得不对其进行取出,也就是说从存储器将其传送或取回到高速缓冲存储器中。然而,存在这种情况,即该预取的数据字被传送到高速缓冲存储器以在其中存储,由此替换了当前存储在该位置的数据字,而该数据字可能仍然有用,也就是在未来的处理步骤中仍然需要该数据字。因此,该预取技术可能导致不希望有的高速缓存未命中的情况,也就是未来的处理步骤中所需的数据被删除。
US 5,590,390涉及一种在一个环境中的高速缓冲存储器预取技术,在所述环境中主存储器是一个大容量存储器(例如磁盘),而高速缓冲存储器用于存储从大容量存储器中预取的数据。特别是它公开了一种预取技术,其中通常会被解除高速缓存(decached)或被删除的某些高速缓存数据可以被保留或再循环。用于解除高速缓存的数据的一个例子是最近最少使用(LRU)方法,其中最近最少使用的数据被删除或解除高速缓存,以便在高速缓冲存储器中为新数据腾出空间。换句话说,LRU方法确定哪些数据没有被访问的时间最长或确定当前被高速缓存的数据。根据该方法的结果,某些高速缓存的数据从高速缓冲存储器中被释放,以便能够重新使用当前由那些数据占据的高速缓冲存储器空间以用于高速缓存一些当前需要而未高速缓存的数据。而且,根据其更高的重新使用的可能性,确定最近最少使用的哪些数据应该被保留在高速缓冲存储器中,以及哪些数据具有更小的被重新使用的可能性从而应该被解除高速缓存以便满足处理器对数据的需要。
实际的预取或提前高速缓存是通过确定在接下来的处理器处理步骤中将要使用的在高速缓冲存储器中存在的数据段的数量而实现的。如果该数量被超出,则没有从主存储器预取数据的必要。然而,如果不是这种情况,则立即初始化预取过程。要被预取的数据是紧跟在当前数据之后的数据或是紧跟在当前数据之前的数据。通常当前数据之后的数据是要被预取的数据。根据该预取方法,首先确定哪个数据段要从主存储器中预取出来,并接着将预取的数据存储在高速缓冲存储器中的一个位置,该位置是由上述改进的最近最少使用方法确定的。然而,尽管使用了改进的LRU方法,但是由于重写高速缓冲存储器中处理器仍然需要的数据而导致高速缓存未命中的危险依然存在。
US 5,787,472公开了一种用于在高速缓冲存储器中高速缓存顺序数据流的系统和方法。特别是它涉及一种分布式视频服务器,每个服务器基于视频数量(video-on-amount)服务多个用户。视频数据存储于盘上,同时应用一个高速缓冲存储器以便缓冲所述视频数据。在消耗过程读取了数据块后,确定这个数据块是否应该从高速缓冲存储器中被删除。首先,确定空闲位置是否可用,否则根据LRU方法来确定适合的位置。
以高时钟速度运行高速缓冲存储器对于具有高结合性的高速缓冲存储器来说是困难的。另一方面,低结合性导致可供选择的牺牲位置(victim location)更少,从而增加了删除有用数据的危险。对于这些高速缓冲存储器来说基于LRU的方法是更低效的。
发明内容
因此,本发明的目的在于提供将数据预取到高速缓冲存储器,同时减少由于删除有用的数据而引起的高速缓存未命中的情况的发生。
该目的由根据本发明的数据处理系统、根据本发明的将数据预取到高速缓冲存储器的方法、以及根据本发明的被优化以用于处理数据流应用的供数据处理环境中使用的半导体装置来实现。
本发明基于这样的思想:预测预期不被继续使用的高速缓存数据的删除,而不是预测未来的I/O操作。接下来,从主存储器预取数据以代替高速缓冲存储器中删除的数据。因此,首先识别高速缓冲存储器中包含预期不被继续使用的数据的位置(也就是牺牲位置),接着执行预取操作以便请求新数据来再次填充高速缓冲存储器中的上述位置。
因此,数据处理系统包括:至少一个用于处理流式数据的处理器12;至少一个具有多个高速缓存块的高速缓冲存储器200,其中所述高速缓冲存储器200之一与每个所述处理器12连接;以及至少一个用于将数据预取到所述高速缓冲存储器200的高速缓存控制器300,其中所述高速缓存控制器300之一与每个所述高速缓冲存储器200连接。所述高速缓存控制器300包括:确定装置350,用于识别所述高速缓冲存储器200中包含第一数据块的至少一个位置,所述第一数据块是被预测为无需代价就可被删除的数据;以及预取装置320,用于发出一个预取操作来用适合所述位置的第二数据块代替在所述位置处的所述第一数据块。因此,降低了由于重写高速缓存中仍需要的高速缓存数据所引起的高速缓存未命中的概率。
在本发明的另一个方面,所述数据处理系统被优化以用于处理具有任务和数据流的数据流应用,其中不同的数据流竞争共享的高速缓存资源。
在本发明的另一个方面,执行对位置的识别限制在具体预定的地址范围之内。
在本发明的优选方面中,所述确定装置确定在高速缓冲存储器中高速缓存块的所述第一数据块的最后一个数据字是否已被访问,以及所述预取装置从存储器中预取第二数据块的数据字,该第二数据决的数据字代替所述高速缓存块中的所述第一数据块的数据字。
如果这是在被设计来处理流式数据的数据处理系统中执行的,则后续对单个数据流的读取操作与存储器中的连续线性范围相对应。因此,当高速缓存块中第一数据块的最后一个数据字已被读取操作访问时,可以假设高速缓存块中第一数据块的所有数据字都已被使用并且在接下来的处理器操作中不被需要。因此,存储空间和高速缓存块能够用于来自主存储器的将用于后续操作的数据。现在将数据块从存储器中的新位置或地址预取出来,其中该数据块必须适合被删除的高速缓存数据的高速缓存位置。
在本发明的又一个方面,所述确定装置使所述高速缓存块中在第一数据块中存在的数据字无效,并且所述预取装置从存储器中预取第二数据块的数据字,所述第二数据块的数据字适合所述高速缓存决中所述被无效的第一数据块的数据字的所述位置。
因此,一旦预取的第二数据块到达高速缓冲存储器,则它将被自动存储在被删除的数据的位置。读取操作预期在不久的将来会访问该预取的数据,因为对流式数据的访问是以线性顺序执行的。
在另外的优选方面,被无效的第一数据块的数据从所述存储器重新加载。因为对于流式数据而言,读取操作预期在不久的将来会访问该数据,所以这将减少数据访问的等待时间。
本发明也涉及一种用于将数据预取到高速缓冲存储器中的方法,其中所述高速缓冲存储器包括多个高速缓存块。识别所述高速缓冲存储器200中包含被预测为无需代价就可被删除的第一数据块的至少一个位置。然后,发出一个预取操作来用适合所述选定位置的第二数据块代替在所述位置的所述第一数据块。
本发明还涉及一种用于数据处理环境中的半导体装置,其被优化以用于处理具有任务和数据流的数据流应用,其中不同的数据流竞争共享的高速缓存资源。所述设备包括一个具有多个高速缓存块的高速缓冲存储器200,以及一个用于将数据预取到所述高速缓冲存储器200的高速缓存控制器300,其中所述高速缓存控制器300与所述高速缓冲存储器200连接。所述高速缓存控制器300包括:确定装置350,用于识别所述高速缓冲存储器200中包含第一数据块的至少一个位置L,所述第一数据块是被预测为无需代价就可被删除的数据;以及预取装置320,用于发出一个预取操作来用适合所述位置的第二数据块代替在所述位置处的所述第一数据块。
本发明的另外一些方面在优选实施方式中被描述。
附图说明
参考附图将更详细地描述本发明的这些和其他方面,附图示出如下:
图1是根据本发明的基于流式的处理系统的结构的示意框图,以及
图2是根据本发明的协处理器、高速缓存和高速缓存控制器的框图。
具体实施方式
图1显示根据本发明优选实施例的一种用于处理数据对象流的处理系统。该系统可以被分为不同的层,即计算层1、通信支持层2和通信网络层3。计算层1包括一个CPU11和两个处理器或协处理器12a、12b。这只是举例说明,显然该系统可以包含更多的处理器。通信支持层2包括一个与CPU11连接的命令解释器21以及分别与处理器12a、12b连接的命令解释器22a、22b。通信网络层3包括一个通信网络31和一个存储器32。
处理器12a、12b优选为专用处理器;每个处理器专门用于执行有限范围的流处理功能。每个处理器被安排来对数据流的连续数据对象重复实施相同的处理操作。处理器12a、12b可以各自执行一个不同的任务或功能,例如可变长度解码、游程长度解码、运动补偿、图像缩放或执行DCT变换。在操作中,处理器12a、12b的每个对一个或多个数据流执行操作。该操作可以涉及,例如接收一个数据流并生成另一个数据流,或者接收一个数据流而不生成新数据流,或者生成一个数据流而不接收数据流,或者修改接收到的数据流。处理器12a、12b能够处理由其他处理器12b、12a或由CPU11生成的数据流,乃至能处理由处理器自身生成的数据流。数据流包括连续的数据对象,该数据对象通过所述存储器32在处理器12a、12b之间来回传送。
命令解释器22a、22b包括作为通信层的面向通信网络层的第一接口。该层对于所有的命令解释器是一致的或通用的。而且,命令解释器22a、22b包括面向分别与命令解释器22a、22b连接的处理器12a、12b的第二接口。第二接口是任务级接口,并且是为相应的处理器12a、12b定制的,以便能够处理所述处理器12a、12b的特定需求。因此,命令解释器22a、22b具有一个处理器专用的接口以作为第二接口,但是命令解释器的整体结构对于所有处理器而言是通用并一致的,以便有利于整个系统体系结构中命令解释器的重用,同时允许对特定应用的参数化和采用。
命令解释器22a、22b包括一个用于数据传输的读/写单元,一个同步单元和一个任务切换单元。这三个单元与相关的处理器以主/从方式进行通信,其中处理器作为主控制器(master)。因此,三个单元分别由处理器的请求初始化。优选地,处理器和所述三个单元之间的通信由请求-应答握手机制实现以便移交变元值并等候要返回的所请求的值。因此,通信被阻塞,也就是各个控制线程等待它们的完成。
命令解释器22a、22b是分布式的,以使每个命令解释器能够在与其相关的处理器12a、12b附近实现。每个命令解释器在本地包含与映射在其处理器上的任务相关联的数据流的配置数据,并且在本地执行所有控制逻辑以适当地处理该数据。因此,本地数据流表可以在命令解释器22a、22b中实现,所述命令解释器22a、22b对于每个数据流,或换句话说对于每个访问点包含一行区域(field)。
而且,命令解释器22包括一个数据高速缓存以用于数据传输,也就是在处理器12和通信网络31以及存储器32之间的读操作和写操作。在命令解释器22中实施的数据高速缓存提供了对数据总线宽度的透明转换,对全局互连即通信网络31的排列限制的解决,以及在全局互连上I/0操作数量的减少。
优选地,命令解释器22包括在读取和写入接口中的高速缓存,然而根据应用功能的观点,这些高速缓存是不可见的。所述高速缓存对将处理器读取和写入端口从通信网络3的全局互连分离开起着重要的作用。这些高速缓存对与速度、功率和面积相关的系统性能有较大影响。
对根据图1的体系结构的更为详细的描述,请参考Rutten等人的“Eclipse:A Heterogeneous Multiprocessor Architecture for Flexible Media Processing”,IEEE Design and Test of Computers:Embedded Systems,pp.39-50,July-August2002。
图2显示根据图1的体系结构的一部分。特别是显示了处理器12b、命令解释器22b、总线31和存储器32。命令解释器22b包括高速缓冲存储器200和高速缓存控制器300以作为其数据传输单元的部分。高速缓存控制器300包括确定装置350、预取装置320和可选地标记装置360。高速缓冲存储器200可以被分为不同的高速缓存块210。
系统中的预取操作由命令解释器22控制,但由协处理器12b的读取请求或无效请求初始化,由于协处理器12b被设计为处理流式数据,所以假设来自由单个数据流的处理所发起的协处理器12b的后续的读取请求在连续的线性存储地址范围内执行。
确定装置350确定高速缓存块210中第一数据块的最后一个数据字是否已被处理器12b的读取操作访问。如果已被访问,就可以假设在上述读取操作过程中高速缓存块210中第一数据块的所有数据字都已被访问过,因此在即将进行的处理步骤中不再需要所述高速缓存块210中第一数据块的所有数据字。因此,这些数据字可以被删除,并且所述预取装置320从存储器32预取数据块。新预取的数据块必须适合高速缓存决210,也就是要被预取的数据块必须与可以被删除的数据块大小相同。特别是,从所述存储器32中一个地址的位置上找到要被预取的数据块,所述地址是在所述存储器32中第一地址的下一个较高地址,所述第一地址与要被删除的第一数据块的数据字的前一地址相对应。换句话说,要预取的数据块必须适合高速缓存块210的存储空间和要被删除的数据块的空间。另外,预取操作必须根据高速缓存组织的限制进行。
可选地,当确定装置350确定高速缓存块210中第一数据块的最后一个数据字已被处理器12b的读取操作访问时,高速缓存块210中第一数据块的所有数据字都可以被删除并因此由所述标记装置360标记为删除。其后,所述预取装置320从存储器32预取数据块。新预取的数据块必须适合高速缓存块210,也就是要预取的数据块必须与标记为删除的数据块的大小相同。特别是,从所述存储器32中一个地址的位置上找到要被预取的数据块,所述地址是所述存储器32中第一地址的下一个较高地址,所述第一地址与在标记为删除的第一数据块的数据字的前一地址相对应。
根据本发明的预取技术是有利的,因为从所述存储器32一找到预取的数据块并到达高速缓冲存储器200,则预取的数据块就将被自动存储在高速缓存块210,也就是要被删除的数据块的位置。该预取操作是合理的:由于数据处理是对流式数据执行的,并且相应的读取操作和存储器访问以线性顺序进行,因此所述处理器12b期望在接下来的处理步骤中访问预取的数据块。
一种确定所述高速缓冲存储器200中能被删除的数据的可选技术要检查被无效的数据。在根据图1包含几个处理器的数据处理系统中,重要的是执行高速缓存的一致性,以确保每个处理器只访问来自被正确更新的共享存储器的那些数据值。当处理器12b通过其高速缓冲存储器200访问来自存储器的数据时,必须确认读取数据的有效性。然而,用于数据无效的技术不属于本发明,而是为现有技术所公知的。
确定装置350确定被无效的数据字是否存在于高速缓存块210的数据字中。如果确定装置350找到了任何被无效的数据字,则所述预取装置320从存储器32中预取与被删除的高速缓存数据即被无效的数据的地址对应的数据字。换句话说,预取是通过在所述高速缓冲存储器中重新加载被无效数据而实现的。可选地,被无效的数据字在被重新加载之前被标记装置360标记为删除。
预取操作是合理的,因为读取处理器预期在接下来的处理步骤中访问该数据,也就是被无效的数据。另外,预取只针对处于流式缓冲器的地址范围内的高速缓存位置执行。

Claims (4)

1.数据处理系统,优化用于处理具有任务和数据流的数据流应用,其中不同的流竞争共享的高速缓存资源,所述系统包括:
-至少一个用于处理流式数据的处理器(12);
-至少一个具有多个高速缓存块(210)的高速缓冲存储器(200),其中所述高速缓冲存储器(200)之一与每个所述处理器(12)连接,以及
-至少一个用于将数据预取到所述高速缓冲存储器(200)的高速缓存控制器(300),其中所述高速缓存控制器(300)之一与每个所述高速缓冲存储器(200)连接;
所述高速缓存控制器(300)包括:
-确定装置(350),用于识别所述高速缓冲存储器(200)中包含第一数据块的至少一个位置,所述第一数据块是被预测为无需代价就可被删除的数据;
-预取装置(320),用于发出一个预取操作来用适合所述位置的第二数据块代替在所述位置处的所述第一数据块,
所述确定装置(350)适于确定高速缓存块(210)中、所述第一数据块的最后一个数据字是否已被访问;以及
所述预取装置(320)适于从存储器(32)中预取所述第二数据块的数据字,该第二数据块的数据字代替所述高速缓存块(210)中所述第一数据块的数据字。
2.根据权利要求1所述的系统,其中所述确定装置(350)适于对限制在预定的地址范围内的所述位置执行识别。
3.根据权利要求1所述的系统,其中
所述预取装置(320)进一步适于从所述存储器(32)中的第二地址预取所述第二数据块的数据字,其中所述第二地址是存储器(32)中的第一地址的下一个较高地址,所述第一地址与所述第一数据块的数据字的前一地址相对应,并且其中所述第二数据块的数据字适合所述第一数据块的数据字的选定位置。
4.用于将数据预取到高速缓冲存储器(200)的方法,在优化用于处理具有任务和数据流的数据流应用的数据处理系统中执行所述方法,其中不同的流竞争共享的高速缓存资源,所述高速缓冲存储器(200)包括多个高速缓存块(210),该方法包括以下步骤:
a)通过确定高速缓存块(210)中、第一数据块的最后一个数据字是否已被访问,识别所述高速缓冲存储器(200)中包含被预测为无需代价就可被删除的第一数据块的至少一个位置;并且然后
b)通过用适合所述位置的第二数据块代替在所述位置处的所述第一数据块来发出预取操作。
CN2004800058948A 2003-03-06 2004-02-25 具有预取装置的数据处理系统、数据预取方法 Expired - Fee Related CN1757018B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP03100554.9 2003-03-06
EP03100554 2003-03-06
PCT/IB2004/050151 WO2004079489A2 (en) 2003-03-06 2004-02-25 Data processing system with prefetching means

Publications (2)

Publication Number Publication Date
CN1757018A CN1757018A (zh) 2006-04-05
CN1757018B true CN1757018B (zh) 2010-09-08

Family

ID=32946917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800058948A Expired - Fee Related CN1757018B (zh) 2003-03-06 2004-02-25 具有预取装置的数据处理系统、数据预取方法

Country Status (6)

Country Link
US (1) US7526613B2 (zh)
EP (1) EP1604285A2 (zh)
JP (1) JP2006520045A (zh)
KR (1) KR20050116810A (zh)
CN (1) CN1757018B (zh)
WO (1) WO2004079489A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060143401A1 (en) * 2004-12-27 2006-06-29 Jacob Doweck Method and apparatus for prefetching based on cache fill buffer hits
JP2006190389A (ja) 2005-01-06 2006-07-20 Sanyo Electric Co Ltd データ処理用集積回路
US7283418B2 (en) * 2005-07-26 2007-10-16 Micron Technology, Inc. Memory device and method having multiple address, data and command buses
JP4846306B2 (ja) * 2005-09-09 2011-12-28 富士通セミコンダクター株式会社 半導体記憶装置及びそれを用いた半導体集積回路システム並びに半導体記憶装置の制御方法
JP4983160B2 (ja) * 2006-09-04 2012-07-25 富士通株式会社 動画像処理装置
US7934058B2 (en) * 2006-12-14 2011-04-26 Microsoft Corporation Predictive caching of assets to improve level load time on a game console
US8433854B2 (en) * 2008-06-25 2013-04-30 Intel Corporation Apparatus and method for cache utilization
US8943273B1 (en) * 2008-08-14 2015-01-27 Marvell International Ltd. Method and apparatus for improving cache efficiency
US8918588B2 (en) * 2009-04-07 2014-12-23 International Business Machines Corporation Maintaining a cache of blocks from a plurality of data streams
US9444737B2 (en) * 2009-04-27 2016-09-13 Intel Corporation Packet data processor in a communications processor architecture
US9076239B2 (en) * 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
CN103077129B (zh) * 2012-12-31 2016-07-13 上海算芯微电子有限公司 信息处理方法与装置
US9280474B2 (en) 2013-01-03 2016-03-08 Intel Corporation Adaptive data prefetching
US10042773B2 (en) 2015-07-28 2018-08-07 Futurewei Technologies, Inc. Advance cache allocator
CN107168660A (zh) * 2016-03-08 2017-09-15 成都锐成芯微科技股份有限公司 图像处理缓存系统及方法
US10073775B2 (en) * 2016-04-01 2018-09-11 Intel Corporation Apparatus and method for triggered prefetching to improve I/O and producer-consumer workload efficiency
CN106484334A (zh) * 2016-10-20 2017-03-08 郑州云海信息技术有限公司 一种释放预读资源的方法及装置
US11294812B2 (en) 2020-08-04 2022-04-05 International Business Machines Corporation Obtaining cache resources for expected writes to tracks in a write set after the cache resources were released for the tracks in the write set

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035375A (en) * 1992-06-04 2000-03-07 Emc Corporation Cache memory with an allocable micro-cache

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01230152A (ja) * 1988-03-10 1989-09-13 Mitsubishi Electric Corp キヤツシユ記憶装置
JPH02112039A (ja) * 1988-10-21 1990-04-24 Nec Corp バッファ記憶装置
EP0394642A3 (en) * 1989-04-28 1992-07-15 International Business Machines Corporation Data prefetching in caches
JPH06110780A (ja) * 1992-09-28 1994-04-22 Fuji Xerox Co Ltd バッファ記憶装置
JPH08272687A (ja) * 1995-04-03 1996-10-18 Nec Corp 入出力キャッシュメモリ
US5696985A (en) * 1995-06-07 1997-12-09 International Business Machines Corporation Video processor
US5787472A (en) * 1995-07-31 1998-07-28 Ibm Corporation Disk caching system for selectively providing interval caching or segment caching of vided data
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
TW501011B (en) * 1998-05-08 2002-09-01 Koninkl Philips Electronics Nv Data processing circuit with cache memory
US7039766B1 (en) * 2000-10-12 2006-05-02 International Business Machines Corporation Prescheduling sequential data prefetches in a preexisting LRU cache
US20030105926A1 (en) * 2001-12-03 2003-06-05 International Business Machies Corporation Variable size prefetch cache
US7089228B2 (en) * 2002-04-18 2006-08-08 International Business Machines Corporation Computer apparatus and method for caching results of a database query
US6990558B2 (en) * 2002-06-18 2006-01-24 Ip-First, Llc Microprocessor, apparatus and method for selective prefetch retire

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035375A (en) * 1992-06-04 2000-03-07 Emc Corporation Cache memory with an allocable micro-cache

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rutten M J ET AL.Eclipse:heterogeneousMultiprocessor Architecture for Flexible Media Processing.Parallel and Distributed Processing Symposium.,Processing International, IPDPS 2002.2002,1-8. *

Also Published As

Publication number Publication date
EP1604285A2 (en) 2005-12-14
WO2004079489A2 (en) 2004-09-16
US7526613B2 (en) 2009-04-28
JP2006520045A (ja) 2006-08-31
WO2004079489A3 (en) 2005-07-28
KR20050116810A (ko) 2005-12-13
CN1757018A (zh) 2006-04-05
US20060190688A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
CN1757018B (zh) 具有预取装置的数据处理系统、数据预取方法
US7167954B2 (en) System and method for caching
JP4652344B2 (ja) 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ
US4933837A (en) Methods and apparatus for optimizing instruction processing in computer systems employing a combination of instruction cache and high speed consecutive transfer memories
US7512750B2 (en) Processor and memory controller capable of use in computing system that employs compressed cache lines' worth of information
US8544008B2 (en) Data processing system and method for cache replacement using task scheduler
US9430393B2 (en) System and method for managing cache
US20100293339A1 (en) Data processing system, processor and method for varying a data prefetch size based upon data usage
US11599483B2 (en) Dedicated cache-related block transfer in a memory system
US9916251B2 (en) Display driving apparatus and cache managing method thereof
KR20090063401A (ko) 라이트 백 동작을 수행하는 캐시 메모리와 이를 포함하는시스템
US20020078061A1 (en) Set address correlation address predictors for long memory latencies
CN107851064A (zh) 高速缓冲存储器系统中的地址转换和数据预取
EP1604286B1 (en) Data processing system with cache optimised for processing dataflow applications
EP1552396B1 (en) Data processing system having a hierarchical memory organization and method for operating the same
US20010032297A1 (en) Cache memory apparatus and data processing system

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: NXP CO., LTD.

Free format text: FORMER OWNER: KONINKLIJKE PHILIPS ELECTRONICS N.V.

Effective date: 20070928

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20070928

Address after: Holland Ian Deho Finn

Applicant after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Applicant before: Koninklijke Philips Electronics N.V.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: KALAI HANXILE CO., LTD.

Free format text: FORMER OWNER: KONINKL PHILIPS ELECTRONICS NV

Effective date: 20120209

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120209

Address after: American Delaware

Patentee after: NXP BV

Address before: Holland Ian Deho Finn

Patentee before: Koninkl Philips Electronics NV

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20160225

CF01 Termination of patent right due to non-payment of annual fee