CN1306643A - 用各种数据处理器进行数据处理 - Google Patents

用各种数据处理器进行数据处理 Download PDF

Info

Publication number
CN1306643A
CN1306643A CN00800935A CN00800935A CN1306643A CN 1306643 A CN1306643 A CN 1306643A CN 00800935 A CN00800935 A CN 00800935A CN 00800935 A CN00800935 A CN 00800935A CN 1306643 A CN1306643 A CN 1306643A
Authority
CN
China
Prior art keywords
data
data processor
configuration
processor
processing equipment
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
CN00800935A
Other languages
English (en)
Other versions
CN1262922C (zh
Inventor
M·杜兰顿
L·格斯林
V·维尔
B·布鲁
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.)
Koninklijke Philips NV
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 CN1306643A publication Critical patent/CN1306643A/zh
Application granted granted Critical
Publication of CN1262922C publication Critical patent/CN1262922C/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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Abstract

数据处理装置包括各种数据处理器(P)和将输入数据(Di)加到数据处理器(P)和将从数据处理器(P)输出的数据(Do)存储起来的存储器结构(MA)。下面的步骤交替地执行:配置步骤(CS)和处理步骤(PS)。在配置步骤(CS)中,配置数据处理装置以便各个不同的数据处理器(P)处理存放在存储器结构(MA)中的不同数据块(B)。在处理步骤(PS)中,数据块(B)实际被处理,而当数据处理器(P)处理了其数据块(B)时它就停止操作。这种数据处理装置提供巨大的通用性,因为能实现不同的数据处理链而不需要比较复杂的软件。

Description

用各种数据处理器进行数据处理
本发明涉及数据处理的装置,它包括各种数据处理器和将输入的数据加给数据处理器并将从数据处理器输出的数据存储起来的存储器结构。这种数据处理装置可用于,例如,多媒体产品。
EP-A-0,373,714描述了有多个并行操作的处理器部件的数据处理器。连接网络将数据处理器的输出连接到它的输入端。该连接网络包含下列部件:一个或多个闩开关(cross-bar switch)和一个或多个思洛(silo)阵列。形成串行连接,其中这些部件用至少三个元件连续地交替排列。
本发明的目的是使数据处理装置能有更大的通用性(如开始那一段所定义的那样)。
本发明考虑了如下方面情况。假定数据处理装置用下面方式处理数据。第一数据处理器处理数据以便获得处理过的数据,它被写入存储器结构。随后,第二数据处理器读处理过的数据;处理它以便获得二次处理过的数据并写入存储器装置,等等。即,数据处理器形成一个数据处理链。存储器装置则在数据处理链中的两个连续的数据处理器间提供缓冲的存储容量。
数据处理(如在前面描述的那样)涉及潜在的同步问题。数据处理器可能要求来自存储器装置的数据,而该数据尚未被数据处理链中的前面数据处理器写入该存储器装置。同步问题是由于各种数据处理器的处理延迟造成的,或由于不同的处理速度造成的,或两者都有。
在背景技术中,同步问题明显涉及下面方式。给每个数据处理器作这样的编程:使它考虑到前面数据处理器的处理延迟量和处理速度。即,数据处理器的编程包括与前面数据处理器中的数据处理相关的数据处理器中正确数据处理时序。
对同步问题的这种解决办法(如前面所述)有下面的缺点。假定需要不同的数据处理链。这意味着数据处理器处理数据的顺序需要改变或一个或多个数据处理器需要执行不同类型的处理或两者。在这种情况下,一个或多个数据处理器的处理延迟将改变或一个或多个数据处理器的处理速度将改变或两者都改变。结果是,为了避开同步问题,将需要给几乎每个数据处理器重新编程。一般这种重新编程是非常复杂的,因为一个数据处理器必须考虑其他各个数据处理器的处理延迟和处理速度。即便只有一个数据处理器在执行不同的数据处理,这种情况也存在。因此,背景技术的数据处理装置不太适合于实现不同的数据处理链因为它需要比较复杂的软件。
按照本发明,数据处理装置(如开头那一段定义的那样)用下面方式控制。交替执行配置步骤和处理步骤。在配置步骤中,数据处理装置配置成使各个不同的数据处理器处理存放在存储器结构中的不同数据块。在处理步骤中,数据块实际被处理而当数据处理器处理了它的数据块时它就停止。
因此,按照本发明可防止出现在数据处理器处理数据时,一个数据处理器要求来自另一个数据处理器尚未写入该存储器结构的数据。因而,解决了同步问题。而且,数据处理器处理数据时,一个数据处理器不需要知道其他数据处理器的处理延迟和处理速度。结果是,如果数据处理器处理数据的顺序改变了,将不需要因为同步的原因重新编制几乎所有数据处理器的程序。再者,如果某个数据处理器要执行不同类型的处理而重新编程时,也不需要给各种其他的数据处理器重新编程。因此,按照本发明的数据处理装置能够实现不同的数据处理链而不需要比较复杂的软件。所以,本发明提供较大的通用性。
本发明和附加特性(这些可有选择地用来实施本发明以达到某种好处)是明显的并参照此后描述的附图作了说明。
图1是一幅原理图,说明了本发明的基本特性,如权利要求1要求的那样。
图2和3是原理图,分别说明了附加特性(如权利要求2和3要求的那样)。
图4是一幅框图,按照本发明说明数据处理装置举例。
图5是一个表,说明图3说明的数据处理装置中数据流通举例。
图6是一幅框图,用图说明图4中说明的数据处理装置中的控制寄存器举例。
图7是一幅流程图,用图说明图4中说明的数据处理装置操作的方法。
图8是一幅时序图,用图说明与图7说明的方法有关的信号。
图9是一幅框图,用图说明图4中说明的数据处理装置中存储器块的举例。
图10是一幅二进制字图,用图说明图9中说明的存储器块的读存储器控制字。
首先,对一些标号进行说明。所有附图中类似的项用一致的字母代码标注。各个类似的项可示在一个单一附图中。在那种情况下,给该字母代码增加数字以便类似的项彼此区分开来。如果类似项的数字是一个运行参数则该数字将在括号间。在说明和权利要求中,如果适宜可省略标号中的任何数字。
图1说明本发明的基本特性。数据处理装置包含各种数据处理器P和将输入数据Di加给数据处理器P并将来自数据处理器P的输出数据Do存储起来的存储器结构MA。交替执行下列步骤:配置步骤CS和处理步骤PS。在配置步骤CS中,数据处理装置是这样配置的:使各个不同的数据处理器P处理包含在存储器结构MA中的不同数据块B。在处理步骤PS中,数据块B实际被处理;而当数据处理器P处理了它的数据块时它就停止。图1附加说明,当每个数据处理器P处理了它的数据决B时一般将执行随后的配置步骤CS(P:B=PROCCS)。
为了有助于执行图1说明的特性,考虑了下列情况。能达到下面目的的有各种方式:仅当每个数据处理器P处理了它的数据一般将执行配置步骤CS。基本方式如下。配置步骤在初步的配置步骤后执行固定数目的时钟周期。即,在这些配置步骤间有固定的处理步骤时隙。数据处理装置可以这样配置:在固定的时隙里每个数据处理器P肯定能够执行其数据处理。
为了可靠性,固定时间间隔如上面描述最好包含一定的余量。这样做是要保证在执行新的配置步骤前最后的数据处理器完成了其处理。可能该余量对有些处理步骤比较大。即,可能每个数据处理器早在执行配置步骤前就完成了其处理。在这种情况下,该数据处理装置在一定数目的时钟周期期间实际上将是空闲的。时钟周期实际上浪费了。因此,前面描述的方法在处理速度方面有缺点。
图2说明了任意加到参照图1讨论的特性的以下特性。在处理步骤PS中,当数据处理器P处理了其数据块(B=PROC)时,该数据处理器P提供一个处理结束标志PEI,用来监视是否每个处理数据块的数据处理器P都提供了处理结束标志PEI(P:PEI?)。如果提供了(P:PEI),则执行新的配置步骤CS。
图2说明的特性提供下面的优点。每个数据处理器P完成了其数据处理后马上就可执行配置步骤。例如,可在紧接着提供了处理结束标志PEI时刻的第一个时钟周期执行配置步骤。不需要有固有余量(如图2说明之前所描述的方法那样)。因此,图2的特性允许有更大的时钟周期百分比有效地用于数据处理。所以,图2说明的特性为满意的处理速度作出了贡献。
为便利地实现图1说明的特性,还考虑了下面的情况,在实际应用中,数据处理装置将包含一组可控的电路它包括数据处理器。一般一个可控的电路包括控制寄存器,其内容定义了该可控电路的操作。在配置步骤中,有可能将配置参数串行写入各个控制寄存器为的是随后的处理步骤获取所希望的配置。然而,如果有比较多的可控电路并因此可能有许多要写的控制寄存器则可能比较费时。在那种情况下,则该配置步骤将比较长。结果是,该数据处理装置实际处理数据的时间的百分比将是比较低的;因为在配置步骤期间数据处理装置不处理数据。因此,该数据处理装置将有比较慢的处理速度。
图3说明了下面的特性,这些特性可任意加到参照图1讨论过的特性。在处理步骤PS中,将配置数据CD写入与可控电路CC相关的前端寄存器FREG。在配置步骤CS中,将配置数据CD从前端寄存器FREG转移到影像寄存器SREG,由影像寄存器SREG的内容定义可控电路CC的操作。
图3说明的特性提供下面的优点。前端寄存器FREG中的配置数据CD不立即影响与前端寄存器FREG相关的可控电路CC的操作。因此,处理步骤PS[i]期间,一个处理步骤PS[i+1]的配置数据CD可预先送到各个可控电路的前端寄存器FREG’。配置数据CD的这种传送可通过总线系统串行进行,这样做从电路复杂性角度来讲是有好处的。通过将前端寄存器FREG中含有的配置数据CD转移到影像寄存器SREG可为下一个处理步骤PS[i+1]配置数据处理装置。这些转移可并行进行,例如,在一个时钟周期内。因此,图3说明的特性允许较快地执行配置步骤;这样实际上可有较高的时间比率用于数据处理。所以,图3说明的特性为满意的处理速度做出了贡献。
图4说明了数据处理装置的举例,其中包括图1、2和3说明的特性。数据处理装置通过双向总线HGHWY接收要处理的数据并通过同一总线输出处理过的数据。数据处理装置包括主控制处理器MCP和一组功能部件:总线接口IF、存储器块MB、写交叉XB/W、读交叉XB/R和数据处理器P。写交叉XB/W和读交叉XB/R一方面定义了总线接口IF和数据处理器P之间的连接,另一方面定义了存储器块MB。
图5说明了图4说明的数据处理装置操作方法的举例。在图5中,每一列表示一个处理步骤PS,每一行代表要处理的数据块B。在处理步骤PS[i]中,总线接口IF从双向总线HGHWY那里取出要处理的数据块B[j]并将该数据写入存储器块MB中的一个,例如存储器块MB1(PS[i]/B[j]:HGHWY→IF→MB1)。在处理步骤PS[i+1]中,该数据块由一个数据处理器P,例如数据处理器P1读并由该数据处理器处理。因此,获得两次处理的数据块,该数据块被写入一个存储器块,例如存储器块MB3(PS[i+2]/B[j]:MB2→P2→MB3)。该处理可以用同样的方式继续进行直至数据块B[j]处理了N次,N为整数。然后总线接口IF可将处理过N次的数据块放在双向总线HGHWY上。
在处理步骤PS[i+1]中,总线接口IF从双向总线HGHWY那里取出新的数据块B[j+1]并将该数据写入一个存储器决MB中,例如存储器块MB1(PS[i+1]/B[j+1]:HGHWY→IF→MB1)。在处理步骤PS[i+2]中,数据块由一个数据处理器P,例如数据处理器P1读,并由该数据处理器处理。因此,获得处理过一次的数据块,并将该数据块写入一个存储器块MB,例如存储器块MB1(PS[i+2]/B[j+2]:MB→P1→MB2)。因此,适用于数据块B[j]的同一数据处理链也适用于数据块B[j+1]。可是,图1说明的数据处理装置也允许不同的数据处理链应用于数据块B[j+1]。
主控制处理器MCP确定哪个数据处理链适用于从双向总线HGHWY取出的某个数据块。主控制处理器MCP还确定处理器P在处理步骤PS期间应处理的数据量。为此目的,主控制处理器MCP应用配置数据CD于各种功能部件。例如,主控制处理器MCP应用于读交叉XB/R的配置数据CD一方面定义了存储器块MB输出端间的连接,另一方面定义了处理器P和总线接口间的连接。
主控制处理器MCP应用于处理器P的配置数据CD定义了由处理器P执行的数据处理类型。例如,假定处理器P是一个卷积滤波器。在这种情况下,该配置数据CD定义了该滤波器的特点,即,它定义了该滤波器内核的尺寸和该滤波器的系数。该配置数据CD还定义了数据单元数,例如像素;这是处理器P在处理步骤PS期间必须处理的。此后会对它作更详细的说明。
图6说明主控制处理器MCP可写入配置数据CD的控制寄存器。每个功能部件都有一个或多个这种控制寄存器。这些控制寄存器通过内部的控制数据总线ICB和内部的地址总线IAB连到主控制处理器MCP。控制寄存器包括地址译码器ADEC、正面的寄存器FREG和影像寄存器SREG。该控制寄存器可有选择地包括一个选择器SEL(用虚线示出)。前端寄存器FREG让输入端I连到内部控制数据总线ICB上,输出端O连到影像寄存器SREG的输入端。影像寄存器SREG的输出端O连到该控制寄存器所属的功能部件中一个或多个可控制的元件。因此,影像寄存器SREG的内容确定了该功能部件的操作。
主控制处理器MCP将配置数据CD用下面的方式写入控制寄存器。主控制处理器MCP将控制寄存器的配置数据CD放在内部控制数据总线ICB上。它还将地址数据AD放在内部地址总线IAB上。控制寄存器的地址译码器ADEC在该地址数据AD的基础上确定该配置数据CD是否打算给该控制寄存器。如果是,则该地址译码器ADEC将一个使能信号EN加给该前端寄存器FREG。该前端寄存器FREG响应该使能信号装载出现在内部控制数据总线ICB上的配置数据CD。配置数据CD利用一个装载配置命令LC进一步转移到影像寄存器SREG。如果该装载配置命令LC加给影像寄存器SREG,则该寄存器接过以前存储在前端寄存器FREG中的配置数据CD。
应注意,选择器SEL(用虚线表示)允许将影像寄存器SREG的内容转移回下面寄存器FREG。即,如果将交换命令SWP加给选择器SEL,则前端寄存器FREG接过影像寄存器SREG的内容或反过来也一样。上述特性允许功能部件用交替方式执行两种不同类型的操作而不要求每次交替时通过内部控制数据总线ICB转移配置数据CD。
图7说明图4说明的数据处理装置的操作方法。有两个交替执行的步骤:配置步骤CS和处理步骤PS。从双向总线HGHWY取出的数据仅在处理步骤PS期间处理,而不在配置步骤CS中处理。属于各个功能部件的影像寄存器SREG的内容只能在配置步骤CS期间修改,而不在处理步骤PS期间修改。
在配置步骤CS中,主控制处理器MCP提供一个装载配置命令LC给功能部件的控制寄存器CREG。如参考图6说明的那样,存放在前端寄存器FREG中的配置数据CD将转移到影像寄存器SREG(CD:FREG→SREG)。结果是,每个功能部件都将按照主控制处理器以前曾转移给该功能部件的控制寄存器CREG的配置数据CD配置。
在处理步骤PS中,各功能部件对以前从双向总线HGHWY取出的数据进行处理。一般,存放在存储器块MB中的数据块B通过读交叉XB/R转移到数据处理器P。数据处理器P处理该数据并通过写交叉XB/W将这样处理过的数据转移给存储器块MB的某部分(B:MB→XB/R→P→XB/W→MB)。与此同时,主控制处理器MCP可将配置数据CD写入一个或多个功能部件的前端寄存器FREG(CD:MCP→FREG)。即,在处理步骤PS期间,主控制处理器MCP好象能为下一个处理步骤PS准备新的配置。
图8说明了处理步骤PS[i-1]是如何通过配置步骤CS[i]和新的处理步骤PS[i]获得成功的。在图8中,出现了4个二进制信号:启动信号STS、完成配置信号CDS、装载配置信号LCS和操作结束信号EOS。启动信号STS出自主控处理器MCP并加给数据处理器P(MCP→P:STS)。完成配置信号CDS出自功能部件,例如,处理器P。每个有控制寄存器的功能部件都产生一个完成配置的信号CDS并将该信号加给主控制处理器MCP(P,XB,MB,IF→MCP:CDS)。装载配置信号LCS出自主控制处理器MCP并加给各种各样的功能部件(MCP→P,XB,MP,IF:LCS)。操作结束信号EOS出自数据处理器P。每个数据处理器P都产生一个操作结束信号EOS并将该信号加给主控制处理器MCP(P→MCP:EOS)。图8还示出了一个时钟信号CLK和上升沿的1-8。数据处理装置中的时钟控制部件用每个上升沿可改变其状态。
假定图8说明的信号在主控制处理器MCP和数据处理器P1间交换。在时钟信号CLK的上升沿1时,数据处理器P1完成了其任务。为了向主控制处理器MCP报告上述情况,数据处理器P1使它的操作结束信号EOS由‘0’变成‘1’。例如,通过在配置步骤中装载的计数器并对在处理步骤中处理过的每个数据单元向下计数一个单位数据处理器P可以知道它已完成了它的任务。当该计数器到了0时,数据处理器处理了要求数目的数据单元并因此停止处理并使其结束操作信号EOS由‘0’变成‘1’。
假定在时钟信号CLK的上升沿3处所有结束操作信号EOS都是‘1’。主控制处理器MCP从这里推定,好像所有数据处理器P都完成了它们的任务。主控制处理器MCP响应此现象使装载配置信号LCS在时钟信号CLK的上升沿4处从‘0’变成‘1’。在前端寄存器FREG中的配置数据CD响应变成‘1’的装载配置信号LCS转移到影像寄存器SREG。这在前面参考图4和5做了说明。
数据处理器P1在上升沿5使其完成配置信号CDS都从‘0’变成‘1’。通过这样做,数据处理器P1向主控制处理器MCP确认配置数据CD已经转移,因此已准备好执行它的新任务。假定在上升沿5时所有完成配置信号CDS都从‘0’变成了‘1’。
主控制处理器MCP使装载配置信号LCS在上升沿5时从‘1’变回到‘0’。每个数据处理器P在上升沿6时响应变成‘0’的装载配置信号LCS使它的结束操作信号EOS从‘1’变回到‘0’。即,装载配置信号LCS的复位在时钟信号CLK的下一个上升沿处触发结束操作信号EOS的复位。
假定在上升沿6时所有完成配置信号CDS为‘1’。主控制处理器MCP据此推定,好像所有功能部件都准备好了执行新的处理步骤。因此,主控制处理器MCP使启动信号STS在上升沿6时从‘0’变成‘1’。换句话说,在上升沿6时主控制处理器MCP给新的处理步骤以启动信号。各功能部件响应该变成‘1’的启动信号STS将开始执行通过配置数据CD分配给它们去执行的任务。
主控制处理器MCP在上升沿7处使启动信号STS由‘1’变回‘0’。每个功能部件在上升沿8时响应变回‘0’的启动信号使其完成配置信号CDS由‘1’变回‘0’。即,启动信号STS的复位在时钟信号CLK的下一个上升沿时触发完成配置信号CDS的复位。
图9说明图4说明的数据处理装置中的存储器块MB。该存储器块MB包含一个存储控控器MCTRL和一个多存储器结构MMA,MMA由5个静态随机存取存储器SRAM1→SRAM5组成。多存储器结构MMA有一个输入口用来通过写交叉XB/W接收从数据处理器P[i]输出的数据Do。多存储器结构还有一个输出口用来通过读交叉XB/R将输入的数据Di加到数据处理器P[j]。
存储器块MB的操作基本上按后面方式进行。存储控制器MCTRL指示多存储器结构MMA须将输出的数据Do写到哪一个SRAM和哪一个地址。它用写页选择信号PG/W和写地址AD/W来这样做。存储控制器MCTRL还指示多存储器结构MMA须从哪个SRAM读输入的数据Di和从哪个地址读。静态存储器SRAM在给定的瞬间既可以写也可以读。因此,在静态存储器SRAM中不能同时执行写和读。存储控制器MCTRL保证,为写选择的SRAM与为读选择的SRAM不是相同的。
在配置步骤期间,主控制处理器MCP将配置数据CD加给存储控制器MCTRL。可将存储控制器MCTRL的配置数据CD看作一套预置命令允许它自动地在紧接的处理步骤期间产生PG/W、AD/W、PG/R和AD/R信号。因此,在存储控制器MCTRL的配置数据CD表示应在哪里开始读、读哪个SRAM和哪个地址以及读应怎样继续。配置数据CD还指示应在何处开始写、写哪个SRAM和哪个地址以及应如何继续写。
在处理步骤期间,数据处理器P[i]将下一个写命令NXT/W加给存储控制器MCTRL。下一个写命令NXT/W表示该数据处理器P[i]已准备好将数据单元写入多存储器结构MMA。该数据处理器P[i]将下一个读命令NXT/R加给存储控制器MCTRL。下一个读命令NXT/R表示该数据处理器P[j]已准备好从多存储器结构MMA那里读数据单元。存储控制器MC TRL分别响应下一个写命令NXT/W和下一个读命令NXT/R给写地址AD/W和读地址AD/R加1。为此目的,存储控制器MCTRL可包含两个可装载的计数器:一个用于写地址AD/W和一个用于读地址AD/R;这些计数器分别接收下一个写命令NXT/W和下一个读命令NXT/R作增量指令。
图10说明存储器读控制字MRCW,它可形成图9说明的存储器块MB的配置数据CD的组成部分。假定存储控制器MCTRL包含一个读地址计数器。存储器读控制字MRCW包含8位:b[7]-b[0]。这些位的功能现在将说明。
b[7]位是一个读保持页标志KPF。当读地址计数器溢出且当该标志置成‘0’时,读页选择PG/R自动加1。当读地址计数器溢出且当读页选择PG/R有其最大值时,这时读页选择PG/R置成其最小值。这可认为是一种返转。当保持页标志KPF置成‘1’,读页选择PG/R在处理步骤期间没有改变。
B[6]位没有特别功能。
b[5]-b[3]位构成一个三位的读页值PRV。读页值PRV表示读页选择PG/R的起始值,因此表示该数据的读应从哪个SRAM开始。
b[2]和b[1]位构成读方式值RMV。读方式值RMV确定要应用哪种读方式。有四种读方式。在第一种读方式中,读地址计数器的内容响应装载配置命令LC复位。在第二种读方式中,读始于主控制处理器MCP已加给存储控制器MCTRL的地址。在第三种读方式中,读始于当前存放在读地址计数器中的地址。读页选择PG/R维持其当前的值;即,读页值PRV被忽略。在第四种读方式中,读始于当前存放在读地址计数器中的地址,但读页选择按读页值PRV设置。
位b[0]是一个读使能标志ENF。当该标志置成‘0’时,允许读。当读使能档志ENF置成‘1’时,8位的计数器不增量,即便存储控制器MCTRL接收到了下一个读命令NXT/R也不增量。而且,读存储器控制字MRCW的其他位,位b[7]-b[1],也被略去了。
不消说,图9说明的存储器块MB的配置数据CD可能包含一个类似于图10说明的读存储器控制字MRCW的写存储器控制字。
总之,图4说明的处理结构操作如下。在配置步骤中,主控制处理器MCP配置每个数据处理器P以执行一定类型的处理。例如,在视频处理应用中数据处理器P可以是一个横向(horizental)滤波器或一个纵向(Vertical)滤波器;它的特点诸如滤波器的抽头和滤波器的系数数目由配置数据CD定义。而且,主控制处理器MCP配置每个数据处理器P以处理给定数目的数据单元,例如,给定数目的象元。因此,主控制处理器MCP配置数据处理器P是为了提供必要的下一个读和下一个写命令NXT/R、NXT/W数目。
主控制处理器MCP还配置写交叉XB/W和读交叉XB/R。因此,它为每个数据处理器P定义该数据处理器P将从哪个存储器块MB读输入数据Di,该数据处理器P将输出数据Do写入哪个存储器块MB。主控制处理器MCP还配置每个存储器块MB。因此为要从该存储器块MB读输入数据Di的数据处理器P,主控制处理器MCP定义了读将开始的SRAM和地址。即,主控制处理器MCP为数据处理器P定义了,例如,存放在存储器块MB中要处理的哪部分数据,该数据处理器P将输出数据Do写入存储器块MB中;主控制处理器MCP还定义了将开始写的SRAM和地址。即,主控制处理器MCP定义了,例如,处理过的数据要写入存储器块MB的哪部分。
一旦主控制处理器MCP配置了各功能部件如以前描述过的,它就提供一个启始命令,该命令标着处理步骤的开始。在处理步骤中,各功能部件自主地操作。维持它们的配置,如在配置步骤中定义的那样。主控制处理器MCP等待,例如,直至每个数据处理器P处理了指示它要处理的数据量。当每个数据处理器P完成了其任务时(它标志着处理步骤的结束),主控制处理器MCP就可执行新的配置步骤。
因此,主控制处理器MCP可以被看作是一个交响乐队的指挥,它给各个功能部件分配任务,它让各功能部件执行它们的任务并等待最后一个功能部件完成了其任务后再分配新任务。主控制处理器MCP跟踪,例如,从双向总线HGHWY取出的数据块。即,对每一个配置步骤,主控制处理器MCP都知道该数据块已经经历了什么处理、迄今处理过的数据块存储在哪里以及尚需执行什么处理才可通过双向总线输出该数据块。
附图和上面对它们的描述说明了本发明而不是限制了。显然本发明还有许多其他解决方案,这些解决方案也属所附权利要求的范围。在这方面,作了下面的结束性说明。
参照图1已经说过,当数据处理器处理了其数据块时就停止。然而,这不意味着在新的处理步骤开始前它将永远是完全空闲。例如,该数据处理器在等待其他数据处理器处理它们的数据块时,可处理存放在存储器结构中的不属于要处理的数据的内部数据或任何其他数据。
按照本发明有各种方式配置数据处理装置。在配置步骤中,可以配置数据处理装置以便在紧接着的处理步骤中所有数据处理器都处理一个数据块。然而,也可以将数据处理装置配置成有些数据处理器处理数据块而其余的数据处理器不处理数据块。因此,在配置步骤中,可以定义一组数据处理器在紧接着的处理步骤中才积极主动。这组主动的数据处理器在组成中从一个处理步骤到另一个处理步骤可以变化。例如,假定一个数据处理装置包含三个数据处理器:A、B和C。可以在一个处理步骤中所有三台数据处理器都是活动的,而在随后的处理步骤中只有数据处理器A和B是活动的,然而在随后的处理步骤中数据处理器B和C是活动的。
有各种方式可用来实现存储器结构。图4只说明了一种可能的实施办法,用此法通过多个存储器块形成该存储器结构。这决不排除其他可能的实施方法诸如,例如,一种实施方法是用一种物理存储电路形成存储结构。
使数据处理器结构按照图1说明的基本原理操作的方法有多种。例如,参照图4说明的实施方案,存储在计算机可用介质诸如,磁盘上的一组指令可装入主控制处理器MCP的程序存储器。这组指令使主控制处理器MCP执行参考图5-10描述的操作。
有许多物理地分布功能或在各部件上物理地分布功能部件的方法。在这方面,附图是非常原则性的,每个只表示本发明的一种可能的实施方案。因此,虽然一个附图示出了不同的功能部件作为不同的块,但这决不排除有些功能部件或所有功能部件可以作为一个单一的物理部件来实现。
权利要求中的任何标号不应被解释为限制该权利要求。

Claims (7)

1.一种控制数据处理装置的方法,该数据处理装置包含各种数据处理器(P)和将输入数据(Di)加给数据处理器和将来自数据处理器(P)的输出数据(Do)存储起来的存储器结构(MA)),其特征在于交替执行下列步骤:
配置步骤(CS)用以配置数据处理装置以便各个不同的数据处理器(P)处理存放在存储器结构(MA)中的不同数据块(B);和
处理步骤(PS)用以实际处理数据块(B),而当某数据处理器(P)处理了其数据块时它就停止。
2.权利要求1中要求的方法,其特征在于处理步骤(PS)包含下列分步骤:
当数据处理器(P)已处理了数据块(B)时提供一个处理结束标志(PEI);和
监视是否各个不同的数据处理器(P)全都提供了处理结束标志(PEI),如果都提供了则着手进行新的配置步骤(CS)。
3.权利要求1中要求的方法,其特征在于处理步骤(PS)包含下面的分步骤:
将配置参数(CD)写入与可控电路(CC)相关的前端寄存器(FREG);
和在于配置步骤(CS)包含下面的分步骤:
将配置参数(CD)从前端寄存器(FREG)转移到影像寄存器(SREG),该影像寄存器(SREG)的内容定义了可控电路(CC)的操作。
4.一种数据处理装置,它包括各种数据处理器(P)和将输入数据(Di)加到数据处理器及将来自数据处理器(P)的输出数据(Do)存储起来的存储器结构(MA),其特征在于该数据处理装置包括一个交叉执行下列步骤的控制器(MCP):
配置步骤(CS),用以配置数据处理器结构以便各个不同的数据处理器(P)处理存放在存储器结构(MA)中的不同数据块(B);和
一个初始步骤(INIT),在此步骤中各个不同的数据处理器开始处理不同的数据块(B)。
5.如权利要求4的数据处理装置,其特点在布置各个不同的数据处理器(P)在该数据处理器(P)已处理了其数据块(B)时提供一个处理结束标志(PEI),控制器用于在各个不同的数据处理器(P)都提供了处理结束标志(PEI)时继续新的配置步骤(CS)。
6.如权利要求4的数据处理装置,其特征在于该数据处理装置包含多个可控制电路(CC)、一个有前端寄存器(FREG)和影像寄存器(SREG)的可控制电路,影像寄存器(SREG)的内容定义可控制电路(CC)的操作,该控制处理器(MCP)布置成在处理数据块(B)期间将配置参数(CD)写入前端寄存器(FREG)并在配置步骤(C5)期间使配置参数(CD)从前端寄存器(FREG)转移到影像寄存器(SREG)。
7.一种计算机程序产品控制包含有各种数据处理器(P)和将输入数据(Di)加给数据处理器并将从数据处理器输出的数据(Do)存储起来的存储器结构(MA)的数据处理装置,其特征在于该计算机程序产品包含一套指令,该指令当装入数据处理装置时使该数据处理装置执行如权利要求1要求的方法。
CNB00800935XA 1999-03-31 2000-03-09 数据处理装置及控制数据处理装置的方法 Expired - Fee Related CN1262922C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/282,325 1999-03-31
US09/282,325 US6349378B1 (en) 1999-03-31 1999-03-31 Data processing using various data processors

Publications (2)

Publication Number Publication Date
CN1306643A true CN1306643A (zh) 2001-08-01
CN1262922C CN1262922C (zh) 2006-07-05

Family

ID=23080992

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB00800935XA Expired - Fee Related CN1262922C (zh) 1999-03-31 2000-03-09 数据处理装置及控制数据处理装置的方法

Country Status (7)

Country Link
US (1) US6349378B1 (zh)
EP (1) EP1082659A1 (zh)
JP (1) JP2002541547A (zh)
KR (1) KR100744862B1 (zh)
CN (1) CN1262922C (zh)
TW (1) TW459198B (zh)
WO (1) WO2000060461A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043755B (zh) * 2009-10-22 2012-12-05 财团法人工业技术研究院 可重组态处理装置及其系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681341B1 (en) * 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
DE602004031409D1 (de) * 2003-02-27 2011-03-31 Nxp Bv Datenverarbeitungssystem mit mehreren verarbeitungselementen, verfahren zur steuerung eines datenverarbeitungssystems mit mehreren verarbeitungselementen
ATE452408T1 (de) * 2003-07-14 2010-01-15 Fulcrum Microsystems Inc Asynchroner statischer direktzugriffspeicher
US7757073B2 (en) * 2006-10-25 2010-07-13 Nvidia Corporation System configuration data sharing between multiple integrated circuits
US8370557B2 (en) * 2008-12-19 2013-02-05 Intel Corporation Pseudo dual-port SRAM and a shared memory switch using multiple memory banks and a sideband memory

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR920006283B1 (ko) * 1988-02-19 1992-08-03 미쯔비시덴끼 가부시끼가이샤 디지탈신호 처리방식
NL8803079A (nl) 1988-12-16 1990-07-16 Philips Nv Koppelnetwerk voor een dataprocessor, voorzien van een serie-schakeling met ten minste een herconfigureerbare schakelmatrix en ten minste een batterij silo's alsmede dataprocessor voorzien van zo een koppelnetwerk.
US5280620A (en) 1988-12-16 1994-01-18 U.S. Philips Corporation Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos
JP2658397B2 (ja) * 1989-06-13 1997-09-30 日本電気株式会社 マルチプロセッサシステム
US5127092A (en) * 1989-06-15 1992-06-30 North American Philips Corp. Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5361367A (en) * 1991-06-10 1994-11-01 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Highly parallel reconfigurable computer architecture for robotic computation having plural processor cells each having right and left ensembles of plural processors
JPH05324583A (ja) * 1992-05-26 1993-12-07 Dainippon Screen Mfg Co Ltd 画像データ処理装置
DE4416881C2 (de) * 1993-05-13 1998-03-19 Pact Inf Tech Gmbh Verfahren zum Betrieb einer Datenverarbeitungseinrichtung
JPH07234842A (ja) 1994-02-22 1995-09-05 Fujitsu Ltd 並列データ処理システム
EP0693737A3 (en) * 1994-07-21 1997-01-08 Ibm Method and apparatus for managing tasks in a multiprocessor system
US5742180A (en) * 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors
US5956518A (en) * 1996-04-11 1999-09-21 Massachusetts Institute Of Technology Intermediate-grain reconfigurable processing device
US5768538A (en) * 1996-04-30 1998-06-16 International Business Machines Corporation Barrier synchronization method wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each new phase
JP3532037B2 (ja) * 1996-07-31 2004-05-31 富士通株式会社 並列計算機
US6085303A (en) * 1997-11-17 2000-07-04 Cray Research, Inc. Seralized race-free virtual barrier network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102043755B (zh) * 2009-10-22 2012-12-05 财团法人工业技术研究院 可重组态处理装置及其系统

Also Published As

Publication number Publication date
KR20010052448A (ko) 2001-06-25
JP2002541547A (ja) 2002-12-03
TW459198B (en) 2001-10-11
US6349378B1 (en) 2002-02-19
KR100744862B1 (ko) 2007-08-01
EP1082659A1 (en) 2001-03-14
CN1262922C (zh) 2006-07-05
WO2000060461A1 (en) 2000-10-12

Similar Documents

Publication Publication Date Title
EP0248906B1 (en) Multi-port memory system
CN1050917C (zh) 带有数据传送用可编程门限先入先出寄存器的个人计算机
US7941614B2 (en) External memory controller node
EP0432978A2 (en) Apparatus for conditioning priority arbitration in buffered direct memory addressing
CN101872335B (zh) Cpu控制台重定向方法、系统及cpu
DE3741850A1 (de) Ausfuehrungseinheit fuer einen i/o-prozessor
CN1875339A (zh) 驱动设备及相关计算机程序
CN102402422A (zh) 处理器组件及该组件内存共享的方法
CN1262922C (zh) 数据处理装置及控制数据处理装置的方法
US20060069897A1 (en) Information processing device and information processing method
CN101421705B (zh) 具有高储存容量的多媒体卡
CN1088209C (zh) 带有主单元和从属单元的装置
CN1214321C (zh) 信号处理设备
CN1585373A (zh) 一种乒乓缓冲装置
CN1017837B (zh) 具有单比特置位和复位功能的主存储器插板
CN115994115B (zh) 芯片控制方法、芯片组及电子设备
CN1016652B (zh) 能以直接变换方式和存贮体变换方式动作的情报处理装置
CN1287314A (zh) 带有具用于一个共用存储器的接口的多个处理器的装置
CN1331096C (zh) 用于处理不同类型数据的数据处理装置及其控制方法
CN1191530C (zh) 多命令部件共用主控器的pci主桥
CN1477519A (zh) 一种处理器的地址空间优化方法
CN1508672A (zh) 微控制器ip核
CN1164900A (zh) 存储器件中存储数据的方法和系统
CN1269045C (zh) 一种实现多个数据队列处理时动态分配存储器的方法
CN1197519A (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
ASS Succession or assignment of patent right

Owner name: NXP CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20070831

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

Effective date of registration: 20070831

Address after: Holland Ian Deho Finn

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

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

Granted publication date: 20060705

Termination date: 20140309