CN101741727A - 使用三重缓冲来处理数据的方法 - Google Patents

使用三重缓冲来处理数据的方法 Download PDF

Info

Publication number
CN101741727A
CN101741727A CN200910221275A CN200910221275A CN101741727A CN 101741727 A CN101741727 A CN 101741727A CN 200910221275 A CN200910221275 A CN 200910221275A CN 200910221275 A CN200910221275 A CN 200910221275A CN 101741727 A CN101741727 A CN 101741727A
Authority
CN
China
Prior art keywords
data
memory area
handling system
memory
time interval
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.)
Granted
Application number
CN200910221275A
Other languages
English (en)
Other versions
CN101741727B (zh
Inventor
英戈·休特尔
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101741727A publication Critical patent/CN101741727A/zh
Application granted granted Critical
Publication of CN101741727B publication Critical patent/CN101741727B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及处理数据的方法。在第一时间间隔(t1,t2,t3,...)中,将要被处理的数据块写入至存储器区域(A、B、C)。在第二时间间隔(t2,t3,t4,...)中,在相同的存储器区域(A、B、C)中处理该数据块。在第三时间间隔(t3,t4,t5,...)中,从相同的存储器区域(A、B、C)返回处理后的数据块。

Description

使用三重缓冲来处理数据的方法
技术领域
本发明涉及使用三重缓冲(triple buffering)来处理数据的方法,具体地涉及在第二数据处理系统中处理来自第一数据处理系统的数据的方法。
背景技术
数据处理中的一个已知原理为保持执行例如数学操作的特定数据操作的特殊硬件就绪(ready)的实践,所述具体数据操作。这用于减轻中央处理单元(CPU)上的负荷。与此相联系,经常出现在不同的单元之间必须互换数据的要求。典型地将在第二系统中处理的数据从第一系统向第二系统传送,并且其后将其从第二系统再次传送回第一系统。系统的特殊配置决定传送数据的方式。例如可以使用网络或借助于直接存储器存取(DMA)来传送数据。
为了能够达到尽可能高的数据处理速度,以如此方式组织数据的传送以使得在正在处理之前传输的数据的同时,在后台发生数据的传送。为了该目的,在作为目标系统的第二系统中保持两个存储器区域就绪。在两个存储器区域中的一个中的数据正在被处理的同时,将要被处理的下面的数据写入至另一存储器区域。
一旦另一存储器区域中的数据的处理已经结束,这些数据可用于处理。因为数据总可用于处理,所以可以对处理部件进行高效的使用。理论上,不出现因为处理部件必须等待数据而造成的其不能操作的暂停。这尤其(interalia)预先假定了该数据传输介质具有足够宽的带宽。对于在称为双重缓冲(double buffering)的领域中的技术人员来说,这样的方法是已知的。
IBM,Cell Broadband Engine-Programming Tutorial-Version 3.0示出了一种双重缓冲方法。该方法描述了从第一系统到目标系统的一个方向的数据的传送。为了从目标系统向第一系统传送回已经被处理的数据,需要实施第二双重缓冲方法。
图1示出了在目标系统1中实施双重缓冲方法的存储器区域的安排,所述安排允许数据的双向传送。为了该目的,在目标系统1中保持四个具有相同尺寸的存储器区域A、B、C、D可用。两个第一存储器区域A、B形成输入缓冲,并且实施输入数据流的双重缓冲方法。两个第二存储器区域C、D形成输出缓冲,并且实施用于作为已经被处理的数据的输出数据流的双重缓冲方法。在第一时间间隔t1中,在输入缓冲A、B中的第一存储器区域A中接收数据。这由示出存储器区域A在时间间隔t1上的填充的(fill)锲形(wedge)来象征性地指示。在时间间隔t1的开始处,该存储器区域为空,而接近时间间隔t1的结束,该存储器区域被填充了数据。在时间间隔t1中,在该第二存储器区域B中将输入缓冲A、B中的第二存储器区域B中的以前已经接收的数据保持可用于数据处理。在该第一时间间隔t1中,由目标系统1处理这些数据,并且在输出缓冲C、D中的第二存储器区域D中存储结果数据。在第一时间间隔t1的结束处,在输出缓冲C、D中的第二存储器区域D中,该结果是可用的。使用阴影来图示在第一时间间隔t1中被保持可用于数据处理的存储器区域B和D中的每一个。相似地,用锲形来象征性地图示时间间隔t1期间存储器区域C的清空(emptying)。在时间间隔t1的开始处,该存储器区域被要返回(return)的数据填充,而接近时间间隔t1的结束,来自存储器区域C的数据已经返回。指示存储器区域的清空和填充的图示在图形上是相反的。在第二时间间隔t2中,向这里未示出的第一数据处理系统返回来自输出缓冲C、D中的第二存储器区域D的处理后的数据。输出缓冲C、D中的第一存储器区域C现在可用于接收在第二时间间隔t2中处理的数据。在第二时间间隔t2中,将在第一时间间隔t1中在第一存储器区域A中接收、并且在等待处理的数据在输入缓冲A、B中的该存储器区域A中保持可用。在第二时间间隔t2中,在输入缓冲A、B中的第二存储器区域B中接收输入数据。在该方法中,从而用于接收数据的存储器区域和包含将被处理的数据的存储器区域分别在每个时间间隔中在输入缓冲A、B中可用。用于返回已经被处理的数据的存储器区域和用于处理数据的存储器区域分别在每个时间间隔中在输出缓冲C、D中可用。
发明内容
本发明的目标为改善这样一种方法。
本发明提供了处理数据以执行下列步骤的方法:在第一时间间隔中向存储器区域写入将被处理的数据块。在第二时间间隔中,在相同的存储器区域中处理该数据块。从那里读取将被处理的数据,并且也将处理后数据写入至相同的存储器区域。在第三时间间隔中,从相同的存储器区域转移(transfer)现在已经被处理的数据块。然后,在下一时间间隔中,该存储器区域再次可用于接收数据。这具有分别只需要相同数目的存储器区域来接收、处理和转移数据的优势。相反,在双重缓冲方法的情况中,所提供的用于接收和转移数据的存储器区域是所提供的用于处理数据的存储器区域的两倍。在处理步骤期间,不需要将数据从一个存储器区域移动至另一存储器区域。总体来说,与双重缓冲方法比较,根据本发明的方法允许处理部件的相同利用而同时减少该目的所需的存储器区域的数目。
本发明提供了将被分组以形成存储器区域的组的存储器中的三个存储器区域。从而清楚地构造可用的存储器,并且如果需要,可用于处理数据的方法。
在处理数据的方法中,本发明提供了将被用于该方法的一个或更多组的存储器区域。存储器区域组中的一个存储器区域在每个时间间隔中分别用于接收、处理和发送数据。作为使用一个或更多组的存储器区域传输和处理数据的事实的结果,该方法是灵活的,并且可以对于可用和所要求的存储器来使该方法适配于相应的任务。该方法是普遍的。因为在每个时间间隔中在每个存储器区域组中分别只提供一个数据块来保持数据可用,所以分别使用每个存储器区域组中的一个存储器区域来接收、处理和传递数据的实践具有减少所要求的存储器区域的数目的优势。而这样的结构使得能够进行双向数据互换。
在图像处理中有利地使用根据本发明的方法。在图像处理期间,特别在高分辨率视频图像的实时处理期间,发送大量的数据。这样的使用对处理部件的存储器要求和计算能力上施加了高要求。在该使用中,处理部件的等待时间的减少和存储器要求的减少具有尤其有优势的效果。
在处理数据的方法中,本发明提供了不一定要随机存取以前已经被处理以在处理数据块的步骤期间使用的数据的算法。利用这样的算法,从而不需要保持相应的存储器区域可用于输出数据,并且可以用存储器中的结果数据来覆盖(overwrite)该结果,所述结果即已经在该算法中使用的数据。如果该算法要求对以前已经被处理的单独数据的确定性(deterministic)的存取(例如在数字横向(horizontal)滤波器的情况中),这些值可以被缓冲,并且因此仍然对算法可用,尽管原始数据已经被覆盖。
在第二数据处理系统中处理来自第一数据处理系统的数据的方法中,本发明提供了在第一时间间隔中将被写入至第二数据处理系统的存储器区域的数据。在第二时间间隔中在第二数据处理系统中的相同存储器区域中处理该数据。在第三时间间隔中从第二数据处理系统的该存储器区域向第一数据处理系统返回该数据。使用根据本发明的方法利用来自第一数据处理系统的数据、在第二数据处理系统中处理数据,并且将结果数据再次返回至第一数据处理系统,使用所提出的方法的优势,并且使得能够在具有第二数据处理系统中的减少对存储器的要求的情况下、进行第一数据处理系统和第二数据处理系统之间的双向数据通信。
在处理数据的方法中,本发明提供了作为第一数据处理系统的子系统的第二数据处理系统。在主系统和子系统之间频繁地互换数据。因此,在该情况中利用可能的最低存储器要求来对子系统进行可能的最好利用是一个具体的要求。
在处理数据的方法中,本发明提供了作为中央处理单元的第一数据处理系统和作为协处理器(coprocessor)的第二数据处理系统。在IBM,CellBroadband Engine-Programming Tutorial-Version 3.0中,中央处理单元对应于PowerPC处理器元件(PPE),而协处理器对应于协作(synergistic)处理器元件(SPE)。
本发明提供了将在全部被分配至相同的中央处理单元的多个协处理器中实施的处理数据的方法。
进一步地,本发明涉及已知本质上执行根据本发明的方法的存储器的使用。
进一步地,本发明涉及执行根据本发明的方法、或包含根据本发明的存储器的数据处理系统。
也可以从下面的对示范实施例的描述来了解(gather)本发明的优势。毋庸赘言,除了那些明显地陈述的组合之外的其他组合、以及在本领域技术人员的实践范围之内的修改,也同样地在本发明的范围之内。
附图说明
图1示出了双向数据互换的已知方法,以及在子系统中其对存储器的要求;
图2示出了根据本发明的双向数据互换的方法,以及其在子系统中的减少的存储器要求;
图3示出了依照根据本发明的方法的存储器的存储区域的分配。
具体实施方式
图2示出了实施根据本发明的方法的存储器区域的安排,其通过目标系统2中的三重缓冲来进行第一数据处理系统和目标系统2之间的双向数据互换。为了该目的,在目标系统2中保持三个存储器区域A、B、C可用。对于每个时间间隔t1,t2,...,t5,t6,每个存储器区域A、B、C的功能用途改变。对于每个时间间隔图示了在相应的时间间隔t1,t2,...,t5,t6中怎样使用这些存储器区域,所述时间间隔的长度典型地从处理数据所需的时段产生。在第一时间间隔t1中,在第一存储器区域A中接收数据。在第二时间间隔t2中,在第一存储器区域A中处理这些数据。在第三时间间隔t3中,从第一存储器区域A向第一数据处理系统返回数据。借助存储器区域B、C来执行的任务的相同轮换(rotation)在两个其他存储器区域B、C中发生。以一个时间间隔的偏移发生该轮换,其结果为在每个时间间隔t1,t2,...,t5,t6中,精确地保持一个存储器区域A、B、C可用于接收数据、处理数据以及返回数据。
如果使用多个具有三个相应的存储器区域的组,那么以相似的方式发生轮换。于是也总有相同数目的存储器区域可用于接收数据、处理数据和返回数据。
对于本领域技术人员来说,也从图形卡(graphics card)的生产中已知术语三重缓冲。就此而论,意图提供三个存储器。在该情况中,在时间间隔中,一个存储器保持当前所显示的图像就绪,而在该时间间隔中,第二存储器保持用于下一时间间隔的图像就绪。在该时间间隔中,第三存储器接收用于下一时间间隔之后的时间间隔的图像。这使得在光束(light beam)的返回阶段(return phase)期间内可以总是改变将要显示的图像数据,以便从而能够重现无颤抖(judder)的图像。与根据本发明的方法对比,这不是双向方法。
在根据本发明的三重缓冲方法中,在相应的不同的时间间隔中,每个存储器区域执行三个任务。每个存储器区域被用于发送、处理和转移数据。在双重缓冲方法中,如同从现有技术已知的那样,存储器区域执行两个任务。存储器区域被用于接收数据和处理数据。其他存储器区域被用于处理数据和转移数据。
换言之,本发明涉及处理数据的方法。在第一时间间隔t1,t2,t3,...中向存储器区域A、B、C写入将被处理的数据块。在第二时间间隔t2,t3,t4,...中在相同的存储器区域A、B、C中处理该数据块。在第三时间间隔t3,t4,t5,...中从相同的存储器区域A、B、C返回处理后的数据块。
图3概略地示出了目标系统2的存储器3的细分(subdivision)。存储器3的一个部分31用于目标系统2和第一数据处理系统之间的双向数据传输,而存储器3的另一部分30用于其他任务。用于双向数据传输的存储区域31被细分为存储区域A、B、C的组32,33,34...。每个组32,33,34...包括具有相同尺寸、并且用于执行根据本发明的方法的三个存储器区域A、B、C。该细分使得按照根据本发明的方法可以同时地执行多个双向数据传输操作,存储器区域A、B、C的一个或更多的组32,33,34...分别用于所述数据传输操作。为了双向数据传输操作可以组合存储器区域A、B、C的多个组32,33,34...。根据用于该数据传输操作的存储器区域A、B、C的组32,33,34...的数目而增加用于该双向传输操作的、分别可用于接收数据、处理数据和返回数据的存储器的容量。

Claims (11)

1.处理数据的方法,将要被处理的数据块:
-在第一时间间隔(t1)中写入至存储器区域中,并且
-在第二时间间隔(t2)中在相同的存储器区域中进行处理,其特征在于:在第三时间间隔(t3)中从相同的存储器区域转移处理后的数据块。
2.根据权利要求1的方法,其特征在于:将存储器中的三个存储器区域进行分组以形成存储器区域的组。
3.根据权利要求2的方法,其特征在于:
-存储器区域的一个或多个组被用于所述方法,并且
-在每个时间间隔(t1,t2,...,t6)中,分别使用存储器区域的组中的一个存储器区域来接收、处理和转移数据。
4.根据权利要求1至3中的任一项的方法,其特征在于:该方法被用于图像处理。
5.根据权利要求1至4中的任一项的方法,其特征在于:在处理数据块的步骤期间执行不对已经被处理的数据进行随机存取的算法。
6.根据权利要求1至5中的任一项的方法,其特征在于:在第二数据处理系统中处理来自第一数据处理系统的数据,将要被处理的数据块:
-在第一时间间隔(t1)中写入至第二数据处理系统的存储器区域中,
-在第二时间间隔(t2)中在第二数据处理系统中的相同的存储器区域中进行处理,并且
-在第三时间间隔(t3)中从第二数据处理系统中的该存储器区域中返回至第一数据处理系统。
7.根据权利要求6的方法,其特征在于:第二数据处理系统为第一数据处理系统的子系统。
8.根据权利要求6或7的方法,其特征在于:第一数据处理系统为中央处理单元,第二数据处理系统为协处理器。
9.根据权利要求6至8中的任一项的方法,其特征在于:第一数据处理系统为PowerPC处理器元件,第二数据处理系统为协作处理器元件。
10.存储器,其特征在于它用于执行根据权利要求1至9中的任一项的方法。
11.数据处理系统,其特征在于它执行根据权利要求1至9中的任一项的方法,或包含根据权利要求10的存储器。
CN200910221275.7A 2008-11-11 2009-11-11 使用三重缓冲来处理数据的方法 Expired - Fee Related CN101741727B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08305796.8 2008-11-11
EP08305796A EP2192495A1 (de) 2008-11-11 2008-11-11 Verfahren zur Bearbeitung von Daten mittels Dreifach-Pufferung

Publications (2)

Publication Number Publication Date
CN101741727A true CN101741727A (zh) 2010-06-16
CN101741727B CN101741727B (zh) 2015-01-21

Family

ID=40546437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910221275.7A Expired - Fee Related CN101741727B (zh) 2008-11-11 2009-11-11 使用三重缓冲来处理数据的方法

Country Status (4)

Country Link
US (1) US8359446B2 (zh)
EP (2) EP2192495A1 (zh)
JP (1) JP2010118058A (zh)
CN (1) CN101741727B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5680466B2 (ja) * 2011-03-29 2015-03-04 三菱重工業株式会社 並列処理システム及び並列処理システムの動作方法
JP6009902B2 (ja) * 2012-10-23 2016-10-19 株式会社東芝 共有メモリアクセスシステムおよび共有メモリアクセス方法
JP2015072629A (ja) * 2013-10-03 2015-04-16 富士通株式会社 データ処理プログラム及びデータ処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
EP1262939A1 (en) * 2001-05-31 2002-12-04 Nokia Corporation Method and apparatus for updating a frame buffer with reduced power consumption
CN101183459A (zh) * 2006-12-19 2008-05-21 威盛电子股份有限公司 于计算机环境中共享缓冲器的系统及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03119484A (ja) * 1989-10-03 1991-05-21 Canon Inc 画像処理装置
JP3416246B2 (ja) * 1994-02-14 2003-06-16 シャープ株式会社 画像処理装置
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5651136A (en) * 1995-06-06 1997-07-22 International Business Machines Corporation System and method for increasing cache efficiency through optimized data allocation
US6405282B1 (en) * 1997-10-06 2002-06-11 Emc Corporation Method for analyzine disk seek times in a disk array storage device
US6519286B1 (en) * 1998-04-22 2003-02-11 Ati Technologies, Inc. Method and apparatus for decoding a stream of data
US6327305B1 (en) * 1998-04-22 2001-12-04 Ati Technologies, Inc. Method and apparatus for encoding a stream of data blocks
US7038109B1 (en) * 2001-03-29 2006-05-02 Pioneer Hi-Bred International, Inc. Enzymatic methods for modulating the levels of organic sulfur compounds in plants
US7779212B2 (en) * 2003-10-17 2010-08-17 Micron Technology, Inc. Method and apparatus for sending data from multiple sources over a communications bus
JP4271602B2 (ja) * 2004-03-04 2009-06-03 富士通株式会社 転送データの正当性を判定する装置および方法
KR20070005729A (ko) * 2004-04-27 2007-01-10 코닌클리케 필립스 일렉트로닉스 엔.브이. 전력 소모를 줄이기 위해 캐시 관리 정책을 이용하는디스크 드라이브를 구비한 장치
TW200739427A (en) * 2006-04-04 2007-10-16 Iner Aec Executive Yuan Method for accessing a dual port memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418478B1 (en) * 1997-10-30 2002-07-09 Commvault Systems, Inc. Pipelined high speed data transfer mechanism
EP1262939A1 (en) * 2001-05-31 2002-12-04 Nokia Corporation Method and apparatus for updating a frame buffer with reduced power consumption
CN101183459A (zh) * 2006-12-19 2008-05-21 威盛电子股份有限公司 于计算机环境中共享缓冲器的系统及方法

Also Published As

Publication number Publication date
US8359446B2 (en) 2013-01-22
EP2199919B1 (en) 2012-09-26
JP2010118058A (ja) 2010-05-27
EP2199919A1 (en) 2010-06-23
EP2192495A1 (de) 2010-06-02
US20100122045A1 (en) 2010-05-13
CN101741727B (zh) 2015-01-21

Similar Documents

Publication Publication Date Title
US20070016732A1 (en) Data transfer arbitration apparatus and data transfer arbitration method
US9015380B2 (en) Exchanging message data in a distributed computer system
CN102566958B (zh) 一种基于sgdma的图像分割处理装置
CN102314400B (zh) 一种分散聚合式dma方法及装置
CN112035388B (zh) 一种基于PCI-e通道的高性能加解密方法
JPH09224044A (ja) 配信システム
EP1880277A2 (en) Command execution controlling apparatus, command execution instructing apparatus and command execution controlling method
CN101303685B (zh) 可提升通用序列总线储存设备的读写数据速率的方法
CN101004674B (zh) 数据处理系统和包括数据处理系统的高清晰度电视机
CN101741727A (zh) 使用三重缓冲来处理数据的方法
CN103455468A (zh) 一种多gpu运算卡及多gpu之间的数据传输方法
CN102566959B (zh) 一种基于sgdma的图像分割处理方法及装置
CN102541769B (zh) 一种存储器接口访问控制方法及装置
CN111240853A (zh) 一种节点内大块数据双向传输方法及系统
US5574931A (en) Interconnection process and system for the control of messages in an array of processors having a parallel structure
US10078602B2 (en) Information processing apparatus, memory controller, and memory control method
US7657711B2 (en) Dynamic memory bandwidth allocation
WO2011059574A2 (en) Directly providing data messages to a protocol layer
CN104991745A (zh) 一种存储系统数据写入方法和系统
US20150199298A1 (en) Storage and network interface memory share
TWI548988B (zh) 記憶體控制器及單一指令多重資料處理器
CN108984148B (zh) 一种基于同步fifo存储器的数据存储的方法及存储器
CN100561567C (zh) 一种图像数据转换系统和方法
CN102750244B (zh) 分级缓冲的dma传送装置及传送方法
CN104461967A (zh) 一种支持同步和异步传输模式的并行数据接口

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150121

Termination date: 20151111

EXPY Termination of patent right or utility model