书签 分享 收藏 举报 版权申诉 / 29

数据处理设备及其控制方法.pdf

  • 上传人:a1
  • 文档编号:5868541
  • 上传时间:2019-03-26
  • 格式:PDF
  • 页数:29
  • 大小:1.21MB
  • 摘要
    申请专利号:

    CN201110038530.1

    申请日:

    2011.02.14

    公开号:

    CN102163181A

    公开日:

    2011.08.24

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 13/38申请日:20110214|||公开

    IPC分类号:

    G06F13/38

    主分类号:

    G06F13/38

    申请人:

    佳能株式会社

    发明人:

    井上博夫; 石川尚

    地址:

    日本东京都大田区下丸子3-30-2

    优先权:

    2010.02.17 JP 2010-032902

    专利代理机构:

    北京怡丰知识产权代理有限公司 11293

    代理人:

    迟军

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供了一种数据处理设备及其控制方法,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使包在环形总线上循环,该数据处理设备包括:多个数据处理模块,每个数据处理模块连接到多个通信模块中的对应的一个通信模块,以对包中保持的数据进行处理;输入/输出模块,连接到多个通信模块中的至少一个通信模块,以从通信模块接收数据/向通信模块输出数据;获取单元,获取直到数据完成预定处理且由输入/输出模块接收到数据为止的、数据通过环形总线的循环的数目,数据从输入/输出模块输入到通信模块中的一个通信模块;以及改变单元,根据循环的数目来改变周期信号的频率。

    权利要求书

    1.一种数据处理设备,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在所述环形总线上循环,该数据处理设备包括:多个数据处理模块,每个数据处理模块连接到所述多个通信模块中的对应的一个通信模块,以对所述包中保持的数据进行处理;输入/输出模块,连接到所述多个通信模块中的至少一个通信模块,以从所述通信模块接收数据/向所述通信模块输出数据;获取单元,被配置成获取直到数据完成预定处理且由所述输入/输出模块接收到所述数据为止的、所述数据通过所述环形总线的循环的数目,所述数据从所述输入/输出模块输入到所述通信模块中的一个通信模块;以及改变单元,被配置成根据所述循环的数目来改变所述周期信号的频率。2.根据权利要求1所述的数据处理设备,其中,随着所述循环的数目增加,所述改变单元将所述频率改变为更高的频率。3.根据权利要求1所述的数据处理设备,其中,随着所述循环的数目减小,所述改变单元将所述频率改变为更低的频率。4.根据权利要求1所述的数据处理设备,所述数据处理设备还包括时钟提供单元,所述时钟提供单元被配置成将用作基准的所述周期信号提供给所述多个通信模块,其中,所述改变单元基于用作基准的所述周期信号和所述获取单元获取的所述循环的数目,来改变所述周期信号的频率。5.根据权利要求1所述的数据处理设备,其中,所述输入/输出模块将数据打包,并将所述包发送到所述环形总线,并且接收由所述多个数据处理模块进行了所述预定处理的所述数据。6.根据权利要求1所述的数据处理设备,其中,所述获取单元根据使用顺序和所述多个数据处理模块的配置顺序,来计算所述循环的数目。7.根据权利要求1所述的数据处理设备,其中,所述获取单元对所输入的数据通过所述环形总线的所述循环的数目进行计数。8.根据权利要求1所述的数据处理设备,其中,所述改变单元通过将决定周期的所述频率设定成乘以所述循环的数目的频率,来缩短所述周期。9.一种数据处理设备,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在环形总线上循环,该数据处理设备包括:多个数据处理模块,每个数据处理模块连接到所述多个通信模块中的对应的一个通信模块,以对所述包中保持的数据进行处理;输入/输出模块,连接到所述多个通信模块中的至少一个通信模块,以从所述通信模块接收数据/向所述通信模块输出数据;测量单元,被配置成测量流过所述环形总线的数据量;以及改变单元,被配置成基于由所述测量单元测量的数据量,来改变所述周期信号的频率。10.一种数据处理设备的控制方法,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在环形总线上循环,该控制方法包括:多个数据处理步骤,使各自连接到所述多个通信模块中的对应的一个通信模块的数据处理模块,对所述包中保持的数据进行处理;输入/输出步骤,从所述多个通信模块中的至少一个通信模块接收数据/向其输出数据;获取步骤,获取直到所述数据完成预定处理且输出所述数据为止的、在所述输入/输出步骤中输入的数据通过所述环形总线的循环的数目;以及改变步骤,根据所述循环的数目来改变所述周期信号的频率。

    说明书

    数据处理设备及其控制方法

    技术领域

    本发明涉及一种使用环形总线的数据处理设备及其控制方法。

    背景技术

    传统上存在一种使用通过并列布置处理电路而形成的总线型管线(pipeline)连接来执行数据处理的数据处理方法。在这种连接方案中,按连接顺序处理从外部存储器或外部I/F输入到输入终端的数据,且将其从输出终端输出到外部存储器等。在这种情况下,即使用户希望改变处理顺序,也不可能改变处理顺序。

    为此,日本特开平01-023340号公报提出了一种使用环形总线连接数据处理电路的方法。日本特开昭63-247858号公报提出了一种并行执行图像滤波处理的技术。这种技术将带有附着的控制代码的数据发送到环形总线并基于控制代码控制数据接收,使得多个处理器可接收在数据处理电路之间的数据传送中交叠的数据。因此,提出了各种方法来改变环形总线中的顺序。

    然而,传统上,如果在环形总线连接中设置了不符合连接顺序的数据处理顺序,则环形总线中的处理模块之间的通信路径中的数据流可能具有交叠部分,且处理模块中的一个的通信可能被强制等待。在交叠部分中,由于发送数据的量增加,因此通信处理的性能差。

    发明内容

    本发明的一方面用于消除传统技术中的上述问题。

    本发明提供一种数据处理技术,其即使在环形总线中设置了不符合处理模块的连接顺序的数据处理顺序时,也防止处理性能的下降。

    本发明在其第一方面提供一种数据处理设备,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在所述环形总线上循环,该数据处理设备包括:多个数据处理模块,每个数据处理模块连接到所述多个通信模块中的对应的一个通信模块,以对所述包中保持的数据进行处理;输入/输出模块,连接到所述多个通信模块中的至少一个通信模块,以从所述通信模块接收数据/向所述通信模块输出数据;获取单元,被配置成获取直到数据完成预定处理且由所述输入/输出模块接收到所述数据为止的、所述数据通过所述环形总线的循环的数目,所述数据从所述输入/输出模块输入到所述通信模块中的一个通信模块;以及改变单元,被配置成根据所述循环的数目来改变所述周期信号的频率。

    本发明在其第二方面提供一种数据处理设备,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在环形总线上循环,该数据处理设备包括:多个数据处理模块,每个数据处理模块连接到所述多个通信模块中的对应的一个通信模块,以对所述包中保持的数据进行处理;输入/输出模块,连接到所述多个通信模块中的至少一个通信模块,以从所述通信模块接收数据/向所述通信模块输出数据;测量单元,被配置成测量流过所述环形总线的数据量;以及改变单元,被配置成基于由所述测量单元测量的数据量,来改变所述周期信号的频率。

    本发明在其第三方面提供一种数据处理设备的控制方法,该数据处理设备通过将多个通信模块连接到环形总线、并使各个通信模块与预定周期信号同步地将包发送到相邻的通信模块,来使所述包在环形总线上循环,该控制方法包括:多个数据处理步骤,使各自连接到所述多个通信模块中的对应的一个通信模块的数据处理模块,对所述包中保持的数据进行处理;输入/输出步骤,从所述多个通信模块中的至少一个通信模块接收数据/向其输出数据;获取步骤,获取直到所述数据完成预定处理且输出所述数据为止的、在所述输入/输出步骤中输入的数据通过所述环形总线的循环的数目;以及改变步骤,根据所述循环的数目来改变所述周期信号的频率。

    即使在环形总线中设置了不符合处理模块的连接顺序的数据处理顺序时,也能够抑制处理性能的下降。

    通过以下参照附图对示例实施例的说明,本发明的其他特征将变得明显。

    附图说明

    图1是示出连接到环形总线的模块的配置的框图;

    图2A是示出包(packet)数据的格式的图;

    图2B是示出环形总线及使用其的模块的配置的框图;

    图3是示出数据处理系统的配置的框图;

    图4是示出根据符合连接顺序的处理顺序的、通过环形总线的数据传送的图;

    图5A和5B是示出根据不符合连接顺序的处理顺序的、通过环形总线的数据传送的图;

    图6A和6B是示出当环形总线的工作速度加倍时、根据不符合连接顺序的处理顺序的、通过环形总线的数据传送的图;

    图7A和7B是示出环形总线工作频率设置处理的处理过程的流程图;

    图8A是示出环形总线的配置的框图;

    图8B是示出包数据的格式的图;

    图9是示出环形总线的数据循环计数测量单元的处理过程的流程图;

    图10是示出环形总线和连接到其的模块的配置的框图;以及

    图11是示出环形总线的数据量测量单元的处理过程的流程图。

    具体实施方式

    以下参照附图详细说明本发明的优选实施例。应理解,以下实施例不旨在限制本发明的权利要求,并且对于根据本发明的解决问题的手段,不是根据以下实施例所述的方面的所有组合都是必须的。相同的附图标记表示相同的构成元素,且不重复其说明。

    <第一实施例>

    图1示出了根据第一实施例的模块的配置。

    单个模块100连接到环形总线。环形总线110使数据在单个方向上循环。通信单元120在环形总线和模块之间发送/接收数据,且还保持在环形总线上流动的数据包。数据处理单元130处理通信单元120接收的数据。

    在通信单元120中,接收单元121接收在环形总线上流动的数据包中的、要由模块处理的数据。对于由数据处理单元130处理的数据或将经过通信单元120进行的一些处理的数据,发送单元122生成传送包并输出该传送包。选择器123基于发送单元122的确定选择和输出从环形总线110输入的包和由发送单元122生成的包中的一个。

    缓冲器124临时保持来自选择器123的输出。由缓冲器124进行要连接到环形总线的数据的临时保持。通信单元时钟提供单元125提供通信单元120的操作所需的时钟。通信单元时钟提供单元125向通信单元120提供具有工作频率指定单元126指定的频率的时钟,工作频率指定单元126根据外部设置指定工作频率。

    注意,时钟频率通常是特定原始振荡频率的整数倍的多倍或振荡频率的整数分之一,这是惯用技术。另外,一般来说,为了避免与通信路径同步相关联的问题,预先提高原始振荡频率,且进行控制以将频率切换到与整数分之一或2的幂数分之一相对应的低的频率。然而,实现生成的频率的限制不直接与本发明的意图和效果有关。因此,在对本发明的说明中,关于振荡频率和可特别指定的频率不施加限制。

    如果在对实施例的说明中计算的频率不作为实际可选择的频率而存在,则选择且指定高于或最接近计算的频率的频率。这用于通过提高通信路径的工作频率,因此增加通信路径上可保持的明显(apparent)数据量,来抑制通信路径上的数据延迟。

    除了图1所示的通信单元时钟提供单元125以外,还存在向数据处理单元和其他部件适当地提供时钟的单元。然而,因为这些单元不在本发明中提供显著的效果,所以没有示出这些单元。这些时钟提供单元提供具有特定周期(频率)的工作时钟(用于进行驱动的周期信号;以下简称为时钟)。将不在本实施例中提及与处理单元相对应的各个时钟提供单元如何决定工作频率。然而,与处理单元相对应的各个时钟提供单元与通信单元时钟提供单元相独立地提供时钟。

    图2A示出了通过环形总线循环的包的结构。附图标记200表示整个包。有效(valid)标记201表示包是否有效。拖延(stall)标记202表示包不能被接收,因此被搁置。节点ID(node ID)203指示数据的发送源。计数值204表示数据发送顺序。附图标记205表示发送数据。

    以下将说明图像处理模块100的示例中的环形总线的操作。当将数据输出到环形总线时,首先,检测环形总线的缓冲器124中保持的各个输入包的有效标记201,以搜索无效包(空包)。如果输入的包的有效标记201指示“有效”,则将输入的包存储在缓冲器124中,且在下一时钟输出到环形总线。

    另一方面,如果输入的包的有效标记201指示“无效”,并存在由模块的数据处理单元处理的可输出数据,则生成以下包,将其保持在缓冲器124中,并输出到环形总线。更具体地,该包通过将有效标记201(“有效”)、拖延标记202(“无效”)、其自身的模块ID(节点ID)和输出数据的数目的计数值,添加到可输出数据来生成。当将包输出到环形总线时,使输出计数器增加。

    在数据接收侧,监视输入包的有效标记201、节点ID 203和计数值204。假定包具有指示“有效”的有效标记201、与预设备用ID匹配的节点ID 203以及与输入计数器值匹配的计数值204。如果数据处理单元130可接收数据,则由数据处理单元130接收输入包。在将有效标记201改变为“无效”之后,包被输出到下一缓冲器。此时,使用于对输入数据的数目进行计数的计数器增加,且更新输入的计数器值。

    如果模块中的数据处理单元130不能接收数据,则在仅将输入包的拖延标记202改变为“有效”(即数据接收被搁置)而不改变其他域之后,将包输出到缓冲器124。注意,在开始数据传送之前,输入计数器和输出计数器被初始化成同一值,以确保同步。

    图2B示出了通过连接参照图1所述的各个模块而形成环形总线的配置示例。附图标记300表示环形总线。终端模块310将通过连接360接收的外部数据打包到外部数据总线,并将包提交给环形总线300。终端模块310还具有在连接到环形总线的模块中提取进行了包处理的数据且通过连接350在外部将包输出到外部数据总线的功能。

    模块320、330和340连接到环形总线。相邻模块310、320、330和340分别包括各自用作向环形总线发送数据/从环形总线接收数据的通信模块的通信单元311、321、331和341,以及对各个模块进行处理的数据处理单元312、322、332和342。数据处理单元可对各个模块进行不同的处理或对若干模块进行相同的处理。

    在此示例了由四个模块形成的环形总线。然而,不特别限制构成环形总线的模块的数目;可使用四个或更多个模块形成环形总线。通信单元时钟提供单元125根据工作频率指定单元126预设的工作频率,将时钟提供给通信单元311、321、331和341。时钟的提供使得通信单元311、321、331和341以及连接通信单元的数据总线能够与提供的时钟同步地进行数据通信。

    图3示出了布置了数据处理设备的系统的配置的示例。系统控制单元400包括用于计算和控制的CPU 401、存储永久数据和程序的ROM402、用于临时存储数据或加载程序的RAM 403以及保持外部数据的外部存储装置404。

    数据输入单元410从系统外部或从系统控制单元接收要处理的数据。数据输入单元410可以是由诸如图像扫描器和A/D转换器的装置形成的图像读取设备,或是由诸如麦克风和A/D转换器的装置形成的语音输入设备。当然,数据输入单元410可以是从系统控制单元或布置在外部的存储器读出数据的DMA(直接存储器访问)模块。

    附图标记420表示数据处理设备。数据输出单元430将系统处理后的数据输出到外部或系统控制单元。例如,数据处理设备420可以是包括将图像数据转换成点模式并输出的打印机装置的图像输出设备,或通过D/A转换器等输出语音数据的语音输出设备。数据输出单元430可以是将数据写在系统控制单元或布置在外部的存储器中的DMA模块。

    输入到数据输入单元410的数据可被发送到系统控制单元且由CPU401处理,或可直接临时存储在RAM 403或外部存储装置404中。因此,数据处理设备420可直接从数据输入单元410接收输入数据并处理该输入数据,或根据来自系统控制单元400的指令和数据提供进行处理。

    来自数据处理设备420的输出可再次被发送到系统控制单元400,或直接发送到数据输出单元430。数据处理设备420在系统控制单元400的控制下,基于设置的各种数据处理内容和提供的各种处理数据工作。

    接着参照图4说明工作频率计算方法的示例。参照图4,“a”表示八个模块连接到环形总线的状态。在具有该连接的环形总线中,首先由数据处理模块502(以下称为“模块PE1”)处理从数据输入/输出模块501(以下称为“模块TE0”)提交到环形总线的数据。在该处理后,数据处理模块503(以下称为“模块PE2”)处理和输出数据。因而,预先设置了处理模块使用顺序。注意,如图4所示,数据从“a”移动到“b”所需的时间被定义为T。图4所示的各个数据模块的数据处理时间被统一假定为2T。

    也就是说,在这种情况下,处理顺序符合连接顺序。模块TE0对应于图2B中的模块310。模块502和503对应于图2B中的模块320、330和340。为了说明环形总线中的数据操作,简单地示出了这些处理模块。

    在作为本实施例的说明图的图4中,数据在一个方向上逆时针地通过环形总线传送。首先在图4的“b”中提交数据504,然后通过环形总线逆时针地循环,如图4的“c”和“d”所示。在图4的“d”中,模块PE1 502接收数据505以进行处理。

    在对本实施例的说明中,模块PE1和PE2在2T中结束处理。因此,在从图4的“d”开始、经过了2T之后的图4的“f”中,模块PE1将处理后的数据506发送到环形总线,代而接收下一处理数据507。此后,从模块PE1发送的处理后的数据506通过环形总线依次从图4的“f”移动到“h”。在图4的“h”中,根据处理顺序轮到其进行处理的模块PE2接收处理数据508。相似地,从模块TE0输入数据,然而未示出在图4的“g”和“h”之间的两个移动。

    模块PE2也在2T中结束处理。此后,在图4的“j”中,模块PE2将处理后的数据509发送到环形总线,代而接收下一处理数据510。然后,发送的处理后的数据509通过环形总线从图4的“j”移动到“l”。当到达模块TE0时,处理后的数据作为输出数据511被输出到外部。

    如上所述,当基于连接顺序设置处理顺序时,在一个循环中处理和输出数据。如图4的“m”至“u”所示,然后以时间间隔2T输出数据。另外,环形总线总是具有不传送数据的四个空包,如包512。从此可看到,环形总线可在保留容量的同时,稳定地传送数据。

    在这种情况下,一个数据流稳定地占据八个包中的四个。因此,当在环形总线中形成与上述PE组合不同的另一数据流时,环形总线使用其100%的容量。也就是说,环形总线可传送两个不同的数据流。

    接着,参照图5A和5B说明根据本发明的工作频率计算方法的另一示例。参照图5A,“5a”表示八个模块连接到环形总线的状态。假定具有该连接的环形总线以与图4不同的处理顺序进行处理。更具体地,首先由模块603(以下称为“模块PE2(图5A和5B)”)处理从数据输入/输出模块601(以下称为“模块TE0(图5A和5B)”)提交到环形总线的数据。此后,模块602(以下称为“模块PE1(图5A和5B)”)处理和输出数据。因而,预先指定了处理顺序。

    首先在图5A的“5b”中提交数据604,然后使该数据通过环形总线逆时针地循环,如图5A的“5c”至“5h”所示。在图5A的“5h”中,模块PE2(图5A)接收数据605以进行处理。如上所述,模块在2T中结束处理。因此,在从图5A的“5h”开始、经过了2T之后的图5A的“5j”中,模块PE2将处理后的数据606发送到环形总线,代而接收下一处理数据607。

    此后,从模块PE2发送的处理后的数据606通过环形总线从图5A的“5k”移动到“5n”。在图5A的“5n”中,根据处理顺序轮到其进行处理的模块PE1(图5A)接收处理数据608。模块PE1(图5A)也在2T中结束处理。此后,在图5A的“5p”中,模块PE1(图5A)将处理后的数据609发送到环形总线,代而接收下一处理数据610。

    然后,发送的处理后的数据609通过环形总线从图5A和图5B的“5q”移动到“5v”。当到达模块TE0(图5A和5B)时,处理后的数据609作为输出数据611被输出到外部。当通过该路径处理数据时,由在时间T中将数据传送到紧挨着的相邻处理模块的速度,给出环形总线的数据传送时钟。此时,在稳定状态,仅存在一个空传送包,如图5B的“5ah”中的612所示。从此可明显看到,对于环形总线,留出很少的数据传送容量。

    如参照图4所述的,当指定了符合连接顺序的处理顺序,且各个处理模块在2T中执行处理时,环形总线上的数据每隔一个包地存在。然而,在通过改变处理顺序而指定了逆顺序的图5A和5B所示的示例中,数据通过环形总线循环两次,且利用环形总线的几乎所有数据保持容量存在。在该状态下,几乎不可能处理其他数据流。也就是说,由于在改变处理顺序时环形总线的频带占用增加,因此数据处理设备的处理能力减半。也就是说,该设备仅可处理单个数据流。

    本发明采取措施,使得即使当通过改变处理顺序而指定了逆顺序时,也可像使用正常处理顺序时一样处理两个数据流。作为措施,第一实施例公开了改变时钟频率的技术,时钟频率决定了环形总线的工作速度。更具体地,随着直到处理结束时通过环形总线的数据循环的数目增加,数据传送时钟频率提高。也就是说,传送周期变得更短。

    图6A和6B示出了环形总线的数据传送速率加倍的示例。基于如下分析结果设置加倍的传送速率,该分析结果表示当处理顺序被设为在方向上与从处理模块PE1到模块PE2的数据流相反时,输入数据通过环形总线循环两次。当传送速率加倍时,由双倍速度表示图7A和7B中的时间轴。例如,在图4至5B中,从“6a”到“6b”经过的时间是T。然而,在图6A中,传送所需的时间是T/2,也就是说图4中的传送时间T的1/2,这是因为环形总线的传送速率加倍。然而,由于要提供给处理模块的时钟频率不受控制,因此环形总线以传统处理模块四倍的速度工作。

    参照图6A,如在图4、5A和5B中,“6a”表示八个模块连接到环形总线的状态。在具有该连接的环形总线中,首先由模块703(以下称为“模块PE2(图6A)”)处理从数据输入/输出模块701(以下称为“模块TE0(图6A)”)提交到环形总线的数据。此后,模块702(以下称为“模块PE1(图6A)”)处理和输出数据。因而,预先指定了处理顺序。

    首先在图6A的“6b”中提交数据704,然后使该数据通过环形总线逆时针地循环,如图6A的“6c”至“6h”所示。在图6A的“6h”中,处理模块PE2(图6A)接收数据705以进行处理。如上所述,处理模块在2T中结束处理。然而,在这种情况下,由于数据传送所需的时间是T/2,因此在从图6A的“6h”开始、经过了2T之后,获得图6A的“6l”所示的状态。在该时间点,处理模块PE2将处理后的数据706发送到环形总线,代而接收下一处理数据707。

    此后,从处理模块PE2(图6A)发送的处理后的数据706通过环形总线从图6A的“6m”移动到“6p”。在图6A的“6p”中,根据处理顺序轮到其进行处理的模块PE1(图6A)接收处理数据708。处理数据708与处理后的数据706具有相同的内容。

    处理模块PE1(图6A)702也在2T中结束处理。此后,在图6A的“6t”中,处理模块PE1(图6A)将处理后的数据709发送到环形总线,代而接收下一处理数据710。然后,发送的处理后的数据709通过环形总线从图6A和6B的“6u”移动到“6z”。当到达输入/输出模块TE0(图6A和6B)时,处理后的数据作为输出数据711被输出到外部。

    注意,如在图4、5A和5B中,输入/输出模块TE0(图6A和6B)以时间间隔2T提交数据。这产生了如下情况:与模块PE1和PE2(图6A和6B)的处理同步地提供数据。然而,在图6A的“6n”中,处理后的数据712正好在模块TE0(图6A和6B)输出数据的定时通过。由于不可能将两个数据放在一个包中,因此来自模块TE0(图6A和6B)的数据提交延迟T/2。该延迟导致图6B的“6am”中的输出比正常时间间隔2T延迟T/2。然而,由于几乎总是存在例如图6B的“6aa”中所示的四个空包713,因此数据在环形总线上的占用可被视为与图4的示例相同。

    如上所述,当指定了作为连接顺序的逆顺序的处理顺序,且数据通过环形总线循环两次时,决定环形总线的工作速度的时钟加倍,从而提高了环形总线的数据传送容量,因此获得了处理其他数据流的容量。

    以上说明了如下示例:预先设置与连接顺序相反的处理顺序,以通过环形总线使数据循环两次。然而,即使当更多的数据处理模块加入处理,且设置与连接顺序相反的处理顺序以通过环形总线使数据循环N次时,也可提高环形总线的数据传送容量,如图6A和6B所示。也就是说,当通过环形总线使数据循环N次时,环形总线的工作速度增加到N倍,从而获得与参照图4至6B所述相同的效果。基于通过环形总线的数据循环的数目来决定环形总线的工作速度的原因之一是节省能量。更具体地,如果速度不需要更高,则环形总线的工作速度保持低,从而节省了整个系统的功率消耗。例如,当循环的数目小时,频率变得更低(周期变得更长)。循环的数目是自然数。

    在实际的电路实现中,如果时钟提高到基本原始振荡频率(作为基准的周期信号)的N倍,则时钟的波形可能减弱。为了防止这种情况,例如,通过设置循环数目的上限,预先将基本时钟设计为正常时钟的N倍。如果循环数目小,则可划分和提供时钟,以将操作控制为低速。本实施例公开了根据循环数目来改变环形总线的处理速度。然而,原始振荡频率被设为N倍还是1/N取决于实施方式。

    图7A和7B示出了当设置了与连接顺序相反的处理顺序时,使诸如图3中的CPU的控制装置指令设置在数据处理设备中的图1的工作频率指定单元126的处理过程。在步骤S801,处理开始。在步骤S802,CPU读出处理模块的连接顺序信息O[n]。例如,基于连接顺序,O[j]保持第j连接模块的ID。

    在步骤S803,CPU读出预先指定的处理顺序P[n]。例如,P[i]保持被指定为按处理顺序进行处理的第i模块的模块的ID。在步骤S804,CPU将处理顺序搜索计数器i初始化成0。在步骤S805,CPU将变量pos初始化成0,变量pos保持基于连接顺序的当前处理模块的序号。注意,表示连接顺序或处理顺序的序号是0或更大的整数。一般,当由0表示首先连接的模块时,{0、1、2、3、4,…}被定义为表示连接顺序的序列。

    在步骤S806,CPU将循环的数目N初始化成0。在步骤S807,CPU将连接顺序搜索计数器j初始化成0。在步骤S808,CPU确定由P[i]表示的处理模块是否与由O[j]表示的处理模块匹配。如果处理模块匹配,则处理进行到步骤S810。如果处理模块不匹配,则处理进行到步骤S809。在步骤S809,CPU将j加一,处理返回步骤S808。在步骤S810,CPU将保持当前处理模块的顺序的变量pos与j进行比较。如果pos≥j,则处理进行到步骤S811。否则,处理进行到步骤S812。

    在步骤S811,CPU将循环的数目N加一。在步骤S812,CPU将j代入pos。在步骤S813,CPU将i加一。在步骤S814,CPU检查是否对符合预先指定的处理顺序的所有模块,进行了处理顺序搜索计数器i的搜索。如果搜索结束,则处理进行到步骤S815。否则处理返回步骤S807。

    在步骤S815,CPU基于获得的循环的数目N设置工作频率指定单元126的频率。例如,如果工作频率指定单元126被实现成将频率设为原始振荡频率的N倍,则设置N。如果工作频率指定单元126被实现成通过划分原始振荡频率来设置低频率,则设置频率N/M,其中,M是在说明书中定义的最大循环数目。如果工作频率指定单元被实现成指定采取离散值的频率,则指定不小于且最接近N/M的可指定频率。此后,处理进行到步骤S816以结束设置处理。

    如上所述,在本实施例中,使用获得的循环的数目N,将决定环形总线的数据传送速率的工作频率乘以N,或使用最大循环数目M以及N将该工作频率划分成N/M。如上所述,循环数目的值根据如何实现图1中的工作频率指定单元126或原始振荡频率的设置而改变。也就是说,循环数目的值取决于工作频率指定单元126的实现。

    在第一实施例中,说明了控制决定数据传送速率的工作频率的示例。然而,显然通过控制各个数据处理模块侧的处理速度可获得同样的效果。更具体地,当数据循环的数目是2时,环形总线的传送速率加倍。相反,各个数据处理模块侧的处理速度可在不改变环形总线的传送速率的情况下减半。在有限的情况下进行数据处理模块的速度的减小,然而在防止整个环形总线中的数据处理的任何延迟方面,产生了与上述相同的效果。注意,尽管在本实施例中,循环的数目被初始化成0以便于处理,但是基本上作为自然数来处理循环的数目。

    <第二实施例>

    图8A示出了根据第二实施例的连接到环形总线的处理模块的配置。除了图2B所示的配置之外,图8A中的配置还包括两个新的功能单元。一个是数据循环计数测量单元901,其连接到环形总线,且监视环形总线上的有效数据,从而对在单个数据流中在数据进行预先指定的处理的路线中、通过环形总线的循环的数目进行计数。另一个是工作频率指定值计算单元902,其基于数据循环计数测量单元901检测和获取的循环的数目N,获得对工作频率指定单元126的设置值。

    该配置还可包括控制信号连接903,其根据数据流的开始或结束的定时,向数据循环计数测量单元901发送触发初始化的复位信号和要用于初始化的数据流识别信息。根据通常的实现,可在整个数据处理设备中存在初始化整个数据处理设备等的复位信号。在该复位控制中,可进行用于在复位整个数据处理设备时复位所有数据循环的数目的实现。数据循环计数测量单元901可直接从图3所示的系统控制单元400或CPU 401接收初始化指令。同样在这种情况下,系统控制单元400或CPU 401可进行控制,以选择性地仅初始化开始的数据流的循环的数目,或初始化所有循环的数目。作为另选方案,可选择性地指定两个初始化方法中的一个。

    图8B示出了数据包的示例,该数据包保持数据循环计数测量单元901检测属于单个数据流的数据循环的数目所需的信息。除了参照图2A所述的信息之外,该数据包还保持数据流识别信息F 1001,数据流识别信息F 1001用作用于识别不同数据处理的数据流的信息。

    将参照图9解释使数据循环计数测量单元901使用数据流识别信息F1001和用作各个模块的节点的识别标签的节点ID 203检测和决定循环的数目的处理。在步骤S1101,处理开始。在步骤S1102,数据循环计数测量单元将针对数据路径f的循环的数目N[f]初始化成0。在步骤S1103,该单元将所有数据处理模块N的所有有效数据处理模块计数COUNT[f][N]初始化成0。

    在步骤S1104,该单元等待数据处理开始触发信号。当数据处理开始时,处理进行到步骤S1105。在步骤S1105,该单元检查输入数据。在步骤S1106,该单元确定数据是否有效。如果数据有效,则处理进行到步骤S1107。否则处理返回步骤S1105。

    在步骤S1107,数据循环计数测量单元基于节点ID 203和用作数据流的识别标签的数据流识别信息F 1001,参照COUNT[F][node ID]。如果值是0,则处理进行到步骤S1108。否则处理进行到步骤S1109。

    在步骤S1108,该单元将循环的数目N[F]加一。在步骤S1109,该单元将1代入COUNT[F][node ID],且处理返回步骤S1105。

    在该处理中,在数据处理设备工作期间,总是监视环形总线的状态。因此,重复上述处理,直到数据处理设备停止或再次初始化为止。可在例如数据输入/输出单元开始或结束特定数据处理的定时进行初始化。也就是说,不需总是在整个系统或整个数据处理设备复位以被激活的定时进行初始化。

    当然,图8A中的数据循环计数测量单元901监视多个数据流。由于该原因,当在数据输入/输出单元310中的特定数据流的开始或结束处,进行初始化,即步骤S1102中的循环的数目N的初始化时,使得能够针对各个流进行初始化。

    在图9所示的处理过程中,通过将来自特定数据处理模块的具有数据流识别号F 1001的特定数据的循环的数目加一,来检测各个数据流独有的循环的数目。当然,在数据处理中,从单个数据处理模块输出的数据量根据处理后的数据的量而增加。因此,如稍后说明的第三实施例的图11的流程图所示,当对曾经计数的来自模块的连续的处理后的数据进行计数时,计数值指示处理后的数据量。

    为了防止这种情况,例如,通过如在图9中公开的处理,基于通过环形总线的数据路径并再次返回上游的数据的节点ID 203,对循环的数目进行计数。这使得能够测量数据如何通过环形总线稳定地循环。

    在图9所示的处理示例中,针对数据流识别信息F 1001单独地获得循环的数目。将与所有信息F对应的数目的总和、转换成整个环形总线中的数据循环的数目、并使用该值以进行控制也是有效的。可通过去除图9中的[f]和[F]来实现该技术。然而,在这种情况下,对节点ID 203指派在连接到环形总线的所有数据处理模块中不造成冲突的值。因而,需要进行控制以防止由于在计数中重复另一数据处理模块的节点ID 203而导致的对循环的数目进行计数时的任何误差。

    如上所述,本发明公开了图9所示的处理,作为检测循环的数目的方式的示例。当不能接收数据的特定处理模块设置拖延位且循环被搁置的数据时,还可添加对循环的数目进行计数的处理。通过例如监视图2A所示的拖延位,并在检测位的设置时、将循环的数目N[F]增加预定值或比率,可容易地实现该处理。作为另选方案,在检测拖延位的设置时,保持包的流ID、节点ID和计数器值。当具有相同的流ID、节点ID和计数器值的包以其拖延位被设置的状态返回时,进一步增加循环的数目N[F],从而容易并且准确地检测循环的数目。

    <第三实施例>

    图10示出了根据第三实施例的连接到环形总线的处理模块的配置。

    图10中的配置除了图2B所示的配置之外,还包括两个新的功能单元。一个是数据量测量单元1201,其连接到环形总线,且监视环形总线上的有效数据,从而测量通过环形总线的每预定时间的有效数据量。另一个是工作频率指定值计算单元1202,其基于数据量测量单元1201检测的数据量M,获得决定环形总线的传送速率的设置值。该设置值被发送到工作频率指定单元126。

    如在其他实施例中,根据通常的实现,在整个数据处理设备中可能存在将整个数据处理设备等初始化的复位信号。在该复位控制中,可进行用于在复位整个数据处理设备时甚至复位保持的数据量的实现。数据量测量单元1201可从图3所示的系统控制单元400或CPU 401直接接收初始化指令。

    图11示出了根据实施例的测量数据量的处理过程。在步骤S1301,处理开始。在步骤S1302,数据量测量单元读出数据环绕环形总线的时间L。在步骤S1303,该单元初始化表示环形总线上的数据量的变量M。

    在步骤S1304,该单元等待数据处理开始触发信号。在接收到数据处理开始触发信号时,处理进行到步骤S1305。在步骤S1305,该单元检查输入数据。在步骤S1306,该单元确定在检查到输入数据有效之前对于输入数据是否经过了预定时间。如果经过了该时间,则处理进行到步骤S1309。否则,处理进行到步骤S1307,以检查输入数据是否有效。可通过检查图2A所示的有效标记201来确定数据是否有效。在确定数据无效时,处理返回步骤S1305。如果数据有效,则处理进行到步骤S1308。

    在步骤S1308,该单元将有效数据量M加一。然后,处理返回步骤S1305。另一方面,如果在步骤S1306经过了预定时间,则在步骤S1309该单元保持测量的值M作为输出值。在步骤S1310,该单元初始化环形总线上的数据量M,且处理返回步骤S1305。

    该处理还继续,直到数据处理设备半途停止或复位为止。在步骤S1309,除了保持每预定时间测量的有效数据量M作为输出的处理之外,还可执行通过例如对保持的若干过去的有效数据量M的值取平均来抑制测量值中的变化的统计处理。作为另选方案,可使用特定预测系数等根据过去的测量值,预测一个或两个周期之后的测量值,且作为输出保持该测量值。

    工作频率指定值计算单元1202读出如此保持的输出,且将该输出与每预定时间给予环形总线的标准数据量进行比较。通过根据数据量测量值M的大小、将工作频率增加到整数倍或将其减小到整数分之一,来设置工作频率。例如,当有效数据量测量值M落入从正常状态中的值(不包括)到正常状态中的值的两倍(包括)的范围内时,将工作频率加倍。一般来说,当测量数据量超过标准数据量或其(N-1)(N是大于或等于2的整数)倍,且等于或小于标准数据量的N倍时,工作频率指定值计算单元1202设置工作频率,以将通过环形总线的进行处理的处理模块之间的数据传送速率乘以整数N。相反,当测量的数据量低于标准数据量或标准数据量的1/N(N是大于或等于1的整数),且大于或等于1/(N+1)倍时,工作频率指定值计算单元1202设置工作频率,以将通过环形总线的进行处理的处理模块之间的数据传送速率除以整数N。这使得能够提高数据处理效率。注意,到N或1/N倍的频率转换仅仅是示例。从硬件配置的角度来说,到例如2N或1/2N倍的转换更容易。如上所述,本发明旨在在数据量增加时增大频率,或在数据量减小时降低频率。任何简单的增大或降低函数可用作运算表达式。

    在实际操作中,波形可能由于频繁的工作频率切换而失真,这导致数据处理中的误差。为了防止这种情况,工作频率指定值计算单元1202可立即执行工作频率的提高,而使用预定滞后(hysteresis)处理等来控制工作频率降低指令,从而抑制频繁的工作频率切换。

    <第四实施例>

    在本实施例中,将说明如下示例:当针对工作频率指定单元126指定工作频率时,系统控制单元400基于指示数据处理设备420同时执行的数据流的数目F,来获得和指定设置值。

    如第一实施例的图6A和6B所示,当环形总线的数据传送速率加倍时,包的一半变空,且可保留环形总线的数据保持容量。如从此可明显看到的,提高工作频率使得能够增加流过环形总线的数据的量。

    另一方面,当然,当在环形总线中设置了多个数据流时,流过环形总线的数据的量增加。系统控制单元可掌握要由数据处理单元同时执行的数据流的数目F。因此,系统控制单元可基于掌握的数据流的数目F,进行控制,以例如将环形总线的工作频率设置为之前频率的F倍。

    实际上,如参照图4或图5所述,当处理顺序与连接顺序相反时,流过环形总线的数据的量改变。由于该原因,不能仅基于数据流的数目F来确定如何设置频率。然而,当针对操作使用环形总线时,在不符合连接顺序的处理中指定通过环形总线的循环的数目,允许与流的数目F成比例地进行控制。

    例如,如第一实施例的图6A和6B所示,当处理顺序仅逆反一次,且要同时处理通过环形总线循环两次的两个数据流时,可基于数据流的数目F和数据循环的数目“2”,将决定传送速率的频率设为例如2×F次。这使得能够实现考虑数据循环的数目N和数据流的数目F两者的传送速率变化。

    在图6A和6B所示的示例中,由于数据处理模块702和703两者都需要处理时间2T,因此可通过将第四实施例中描述的2F除以2,来将工作频率设为F倍。在第四实施例中,可通过组合包括数据循环的数目N、要同时处理的数据流的数目F以及数据处理模块的处理时间2T的参数,来决定适当的工作频率的设置值,由此获得针对工作频率指定单元的设置值。

    <其他实施例>

    本发明的各方面还能够通过读出并执行记录在存储装置上的用于执行上述实施例的功能的程序的系统或设备的计算机(或诸如CPU或MPU的装置)、以及由系统或设备的计算机例如读出并执行记录在存储装置上的用于执行上述实施例的功能的程序来执行步骤的方法来实现。鉴于此,例如经由网络或者从用作存储装置的各种类型的记录介质(例如计算机可读介质)向计算机提供程序。

    虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围符合最宽的解释,以使其涵盖所有这种变型、等同结构及功能。

    关 键  词:
    数据处理 设备 及其 控制 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:数据处理设备及其控制方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5868541.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1