具有预取装置的数据处理系统、数据预取方法制造方法及图纸

技术编号:2854515 阅读:197 留言:0更新日期:2012-04-11 18:40
预测删除预期不被继续使用的缓存数据,而不是预测未来的I/O操作,接下来从主存储器中取出数据以代替高速缓冲存储器中被删除的数据。因此,首先识别高速缓冲存储器中包含预期不被继续使用的数据的一个位置,接着执行预取操作以便请求新数据来再填充高速缓冲存储器中的上述位置。因此,数据处理系统包括:至少一个用于处理流式数据的处理器(12);至少一个具有多个高速缓存块(210)的高速缓冲存储器(200),其中所述高速缓冲存储器(200)之一与每个所述处理器(12)连接;以及至少一个高速缓存控制器(300),用于将数据预取到所述高速缓冲存储器(200),其中所述高速缓存控制器(300)之一与每个所述高速缓冲存储器(200)连接。所述高速缓存控制器(300)包括:确定装置(350),用于识别所述高速缓冲存储器(200)中包含第一数据的至少一个位置,所述第一数据是被预测为无需代价就可被删除的数据;以及预取装置(320),用于发出一个预取操作来用适合所述位置的第二数据代替在所述位置处的所述第一数据。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种被优化以用于处理数据流应用的数据处理系统,一种被优化以用于处理数据流应用的、在数据处理环境中将数据预取到高速缓冲存储器的方法,以及一种被优化以用于处理数据流应用的供数据处理环境中使用的半导体装置。由于对数据流应用的需求日益增长,因此特别是被装备以用于数据流应用的数据处理系统的设计成果,例如高清晰度数字TV、具有时间移位功能的机顶盒、3D游戏、视频会议、MPEG-4应用等在最近几年中已逐渐增多。在流式处理中,由不同的处理器对数据流执行连续的操作。例如,第一数据流可能包括图像的像素值,该像素值由第一处理器进行处理以产生DCT(离散余弦变换)系数为8×8像素块的第二块流。第二处理器可以处理DCT系数块以产生为每个DCT系数块已选定和已压缩系数的块流。为了实现数据流处理,提供了多个处理器,每个处理器能够重复执行一个特定操作,每次都使用来自数据对象流的下一个数据对象的数据和/或在这个数据流中产生下一个数据对象。数据流从一个处理器传递到另一个处理器,以使由第一处理器产生的数据流能够由第二处理器处理等等。将数据从第一处理器传递到第二处理器的一种方法是将第一处理器产生的数据块写入存储器中。网络中的数据流被缓冲。每个缓冲器被实现为FIFO,确切地说有一个写入器和一个或多个读出器。由于这个缓冲,写入器和读出器不必在通道(channel)上相互同步各个读出和写入动作。典型的数据处理系统包括完全可编程处理器的混合以及分别专门用于单个应用的专用子系统。这种体系结构的一个例子示于Rutten等人的“EclipseAHeterogeneous Multiprocessor Architecture for Flexible MediaProcessing”,IEEE Design and Test of ComputersEmbedded 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的方法是更低效的。因此,本专利技术的目的在于提供将数据预取到高速缓冲存储器,同时减少由于删除有用的数据而引起的高速缓本文档来自技高网...

【技术保护点】
数据处理系统,包括:-至少一个用于处理流式数据的处理器(12);-至少一个具有多个高速缓存块(210)的高速缓冲存储器(200),其中所述高速缓冲存储器(200)之一与每个所述处理器(12)连接,以及-至少一个用于将数据预取到所述高速缓冲存储器(200)的高速缓存控制器(300),其中所述高速缓存控制器(300)之一与每个所述高速缓冲存储器(200)连接;所述高速缓存控制器(300)包括:-确定装置(350),用于识别所述高速缓冲存储器(200)中包含第一数据的至少一个位置,所述第一数据是被预测为无需代价就可被删除的数据;以及-预取装置(320),用于发出一个预取操作来用适合所述位置的第二数据代替在所述位置处的所述第一数据。

【技术特征摘要】
【国外来华专利技术】EP 2003-3-6 03100554.91.数据处理系统,包括-至少一个用于处理流式数据的处理器(12);-至少一个具有多个高速缓存块(210)的高速缓冲存储器(200),其中所述高速缓冲存储器(200)之一与每个所述处理器(12)连接,以及-至少一个用于将数据预取到所述高速缓冲存储器(200)的高速缓存控制器(300),其中所述高速缓存控制器(300)之一与每个所述高速缓冲存储器(200)连接;所述高速缓存控制器(300)包括-确定装置(350),用于识别所述高速缓冲存储器(200)中包含第一数据的至少一个位置,所述第一数据是被预测为无需代价就可被删除的数据;以及-预取装置(320),用于发出一个预取操作来用适合所述位置的第二数据代替在所述位置处的所述第一数据。2.根据权利要求1所述的系统,其中所述数据处理系统被优化以用于处理具有任务和数据流的数据流应用,其中不同的数据流竞争共享的高速缓存资源。3.根据权利要求2所述的系统,其中所述确定装置(350)适于对限制在预定的地址范围内的所述位置执行识别。4.根据权利要求2或3所述的系统,其中所述确定装置(350)适于确定高速缓存块(210)中第一数据字的最后一个数据字是否已被访问;以及所述预取装置(320)适于从存储器(32)中预取第二数据字,该第二数据字代替所述高速缓存块(210)中的所述第一数据字。5 、根据权利要求4所述的系统,其中所述预取装置(320)进一步适于从所述存储器(32)中的第二地址预取所述第二数据块的所述第二数据字,其中所述第二地址是存储器(32)中与所述第一数据的前一地址相对应的第一地址的下一个较高地址,并且其中所述第二数据字适合所述第一数据的所述选定位置。6.根据权利要求2所述的系统,其中所述确定装置(350)适于使所述高速缓存块(210)中的第一数据字当中的数据字无效,以及...

【专利技术属性】
技术研发人员:JTJ范埃恩德霍文MJ鲁坦EJD波尔
申请(专利权)人:NXP股份有限公司
类型:发明
国别省市:NL[荷兰]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1