CN101938409B - 数据处理装置和数据处理方法 - Google Patents

数据处理装置和数据处理方法 Download PDF

Info

Publication number
CN101938409B
CN101938409B CN201010215191.5A CN201010215191A CN101938409B CN 101938409 B CN101938409 B CN 101938409B CN 201010215191 A CN201010215191 A CN 201010215191A CN 101938409 B CN101938409 B CN 101938409B
Authority
CN
China
Prior art keywords
grouping
transmission
data processing
module
identifying information
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.)
Active
Application number
CN201010215191.5A
Other languages
English (en)
Other versions
CN101938409A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN101938409A publication Critical patent/CN101938409A/zh
Application granted granted Critical
Publication of CN101938409B publication Critical patent/CN101938409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

提供一种数据处理装置和数据处理方法,在该数据处理装置中,多个模块相互连接并且处理具有信息的分组,所述模块包含:存储单元,用于存储第一信息和第二信息,所述第一信息表示由其自身模块执行的处理的次序,所述第二信息表示执行处理的模块的次序;接收单元,用于接收第一分组,并且传输包含与第一信息对应的信息的第一分组;处理单元,用于处理包含于第一分组中的数据;产生单元,用于产生包含处理后的数据和第二信息的第二分组;以及传输单元,用于将包含于第一分组中的信息与包含于第二分组中的第二信息相比较,并且传输具有靠后的处理次序的分组。

Description

数据处理装置和数据处理方法
技术领域
本发明涉及用于根据模块的使用次序而高效率传输分组(packet)的数据处理装置的结构和控制方法。
背景技术
其中多个模块可通信地相互连接并且执行并行处理的数据处理装置可通过根据分组的优先级传送分组而在各模块中实现高效率的数据处理。
日本专利申请特开No.11-167560讨论了一种数据处理装置,在该数据处理装置中,包含具有一级或更多级的缓冲器或存储器的多个模块以环形形状相互连接以形成环形总线,在环形总线中布置与模块的数量相同数量的分组,并且,在并行地传送在模块之间布置的分组的同时执行数据处理。在日本专利申请特开No.11-167560中,可通过借助集中管理确定优先级,实现根据优先级的传送。
日本专利申请特开No.2007-316699讨论了用于根据对于各模块布置的优先级传送分组的方法。更具体而言,两个环形总线即数据传送总线和响应传送总线连接这些模块。当确定已被传送到环形总线的分组具有比要由模块传输的分组低的优先级时,已被传送到环形总线的分组被丢弃。然后,具有更高的传输优先级的分组被传输到环形总线。由于当前传送的分组被丢弃,因此,模块使用响应传送总线向另一模块通知该分组的舍弃。被通知该分组的舍弃的另一模块向传输源传输另一分组。如上所述,实现了根据优先级的分组传送。
根据在日本专利申请特开No.11-167560中讨论的方法,当通过集中管理实现根据优先级的数据传送时,控制电路变得复杂,并且其尺寸与模块的数量的增大成比例地增大。
根据在日本专利申请特开No.2007-316699中讨论的方法,直到在模块能够确定它所传输的分组不被其它的模块丢弃之前,所有的模块要复制它们所传输的所有分组,并将复制的分组存储于其中。因此,用于存储传输的分组的复制品的缓冲器的容量与模块的数量的增大成比例地显著增大。
发明内容
根据本发明的一个方面,提供一种装置,在所述装置中,多个模块相互连接并且处理具有信息的分组,所述模块包含:存储单元,被配置为存储第一信息和第二信息,所述第一信息表示由其自身模块执行的处理的次序,所述第二信息表示执行处理的模块的次序;接收单元,被配置为接收第一分组并传输包含与第一信息对应的信息的第一分组;处理单元,被配置为处理包含于第一分组中的数据;产生单元,被配置为产生包含处理后的数据和第二信息的第二分组;以及传输单元,被配置为将包含于第一分组中的信息与包含于第二分组中的第二信息相比较,并且传输具有靠后的处理次序的分组。
参照附图阅读示例性实施例的以下的详细描述,本发明的其它特征和方面将变得清晰。
附图说明
并入说明书中并构成说明书的一部分的附图示出本发明的示例性实施例、特征和方面,与描述一起用于说明本发明的原理。
图1A和图1B分别示出一个模块和以环形形状相互连接的多个模块的示意性配置。
图2A、图2B和图2C示出分组和传输源ID的数据结构。
图3A和图3B示出用于改变分组的操作。
图4是示出模块的示意性配置的框图。
图5A和图5B示出用于改变分组的操作。
图6A和图6B示出用于改变分组的操作。
图7示出数据处理装置的示意性配置。
具体实施方式
以下,将参照附图详细描述本发明的各示例性实施例、特征和方面。
参照图1A和图1B,将描述由包含于根据本发明的示例性实施例的数据处理装置中的处理模块执行的示意性操作。图中的箭头表示信号被传输的方向。由箭头连接的块代表:所述块通过信号线相互连接,以在箭头方向上传输信号。
图1A示出可通信地以环形形状相互连接的多个模块中的一个模块的结构。模块101以环形形状被连接以构成环形总线102。分组接收单元106经由环形总线102从上游模块接收分组。ID确定单元111基于接收分组的ID和存储于等待ID寄存器107(第二存储单元)中的值(等待ID),确定被设为要被自身模块的处理单元103处理的分组。
当ID确定单元111检测到被设为要被处理单元103处理的分组,并且可由自身模块处理存储于该分组中的数据时,接收控制单元108向处理单元103传输存储于该分组中的数据。在以上情况以外的情况下,更具体而言,当ID确定单元111没有确定处理单元103会处理该数据时,或者当处理单元103在处理其它的数据时,ID确定单元111将分组转送到传输控制单元109。
处理单元103对于来自接收控制单元108的数据执行预定的数据处理。分组产生单元105把由处理单元103处理过的数据和存储于传输源ID寄存器104(第一存储单元)中的传输源ID(识别信息)存储在分组中。
传输控制单元109(传输单元)控制向缓冲器112(第一缓冲器单元)传输由分组产生单元105产生的分组和从接收控制单元108转送的分组中的哪一个。缓冲器112存储该分组。分组传输单元110在每个循环时间向下游的模块传输存储于缓冲器112中的分组。
ID确定单元111产生由接收控制单元108和传输控制单元109使用的控制信息。
如图1B所示,处理模块包含通信单元120和处理单元103。各处理模块的通信单元120以环形形状相互连接,并且,在沿一个方向传送从输入/输出单元140输入的数据的同时处理该数据。通信单元120包含如图1A所示的传输源ID寄存器104、分组产生单元105、分组接收单元106、等待ID寄存器107、接收控制单元108、传输控制单元109、分组传输单元110、ID确定单元111和缓冲器112。与输入/输出单元140连接的通信单元120配备有输入/输出单元140而不是处理单元103。
根据本示例性实施例的数据处理装置包含以环形形状相互连接以形成环形网络拓扑结构的多个模块101,并且对于要被连接的模块的数量没有限制。缓冲器112可具有两个或更多个级的容量。在本示例性实施例中,缓冲器具有两个级。
来自缓冲器的输出成为下一模块的输入。在一个循环中,一个分组被传送到下一模块。当该装置包含数量“N”个模块时,在环形总线中可同时存在2N个数据。但是,本发明不将所有的模块限制为包含具有两个或更多个级的缓冲器。
各模块在每个循环中将一个分组传送到下一模块,以并行地执行数据传送。等待ID寄存器107和传输源ID寄存器104被适当地设定,以使所述多个处理模块以希望的次序处理一个数据。
图7示出根据本示例性实施例的数据处理装置的示意性配置。数据处理单元820包含以环形形状相互连接的处理模块。系统控制单元800包含用于计算和控制的中央处理单元(CPU)801、用于存储固定数据或程序的只读存储器(ROM)802、用于暂时存储数据或用于加载程序的随机存取存储器(RAM)803、以及用于存储外部数据的外部存储装置804。数据输入单元810从系统的外部取入要被处理的数据。数据输出单元830把被系统处理过的数据输出到其外部。
数据处理单元820被设为在系统控制单元800的控制下执行数据处理。数据处理单元820被供给各种类型的要被处理的数据,根据设定处理所供给的数据,并且将处理后的数据输出到系统控制单元800和数据输出单元830。
系统控制单元800对于数据处理单元820中的模块中所包含的各寄存器设定等待ID和传输源ID,使得包含于数据处理单元820中的所述多个模块可按希望的次序对输入数据执行处理。因此,可由所述多个模块并行地执行诸如管线处理(pipeline processing)之类的一系列的处理。
例如,如果系统控制单元800如图1B所示的那样设定等待ID(表示为“wID”)和传输源ID(表示为“ID”),那么可以按照处理单元B、处理单元A和处理单元C的次序执行管线处理。例如,在图1B中,通信单元120-1被设为[wID:4,ID:1]。类似地,其它的通信单元被设定如下。通信单元120-2被设为[wID:2,ID:3],通信单元120-3被设为[wID:1,ID:2],通信单元120-n被设为[wID:3,ID:4]。
系统控制单元800在外部存储装置804、ROM 802或RAM 803中存储每个处理的方案(scenario)。该方案可被用于识别,在系统控制单元根据用户或应用的指令使数据处理单元820执行一系列的处理时,数据处理单元820中的哪个处理模块被排在第几个进行处理。系统控制单元800基于该方案解释处理模块执行处理的次序,根据该次序确定各模块的传输源ID,并然后基于确定的传输源ID和方案确定各模块的等待ID。
简单地,对于每个系列的处理(管线处理),根据处理次序的各模块的设定值(传输源ID和等待ID)可作为表而被事先存储在系统控制单元800中。
如上所述,以各模块按照与预定的数据处理对应的次序传输和接收分组的方式设定传输源ID寄存器104和等待ID寄存器107的值。
根据本示例性实施例,系统控制单元800在管线处理的较后级设定较大的传输源ID的值,使得各模块可识别分组(数据)的优先级。因此,具有较大的传输源ID的值的分组可被传输。这是因为,为了提高整个数据处理装置的处理效率,要传送已在按照处理次序的阶段的较后级中被处理过的数据。
图2A示出对于包含图1所示的模块的数据处理装置中的模块之间的数据传送要使用的分组的格式。字段201是表示分组是否有效的有效标记(“1”表示有效,“0”表示无效)。字段202是在分组中存储数据的模块的标识符。字段202存储传输源ID,所述传输源ID还表示存储在分组中的数据的优先级。字段203存储数据。
字段202的传输源ID被赋予用于使得能够识别要使用的模块的次序关系并且用于确定存储于各分组中的数据的优先级的值。
参照图2B,将详细描述存储在字段202中的传输源ID。次序302是对于各模块独有的传输源ID,当来自输入/输出单元140或处理单元103的数据通过分组产生单元而被存储到分组中时,所述传输源ID被一起存储。模式301是关于要被使用的模块当中的包含可能成为处理性能的瓶颈的处理单元的模块的分组、当不管传输源ID如何都要以高的优先级处理数据时设定的字段。例如,当优先级为普通时,存储“0”,并且,当优先级为高时,存储“1”。
当数据处理装置并行地执行多种类型的一系列的数据处理(例如,多个管线处理)时,如图2C所示,用于识别各系列的数据处理的路径的标识符被存储为路径303。图2A~2C所示的分组的配置仅是例子,并且不限制字段的布置。此外,只要分组的传输源模块和要用于处理的模块之间的次序关系可被识别,传输源ID 202就可包含任何值。模式301可被省略。
以下,将详细描述用于传送分组的操作。将描述被处理单元处理过的数据被传输到要通过图2A~2C所示的分组处理该数据的下一模块的操作。分组产生单元105在字段203中存储被处理单元103处理过的数据、在字段202中存储传输源ID寄存器104的值,并且将字段201中的有效标记设为有效。
多个通信单元120可并行地执行用于通过模块传送分组的处理。另一方面,传输控制单元109要确定通过模块的分组或存储由该模块中的处理单元103处理过的数据的分组中的哪个分组被优先化。
参照图3A和图3B,将详细描述由传输控制单元109执行的处理。分组401被接收控制单元108(与分组接收单元106对应)接收。由分组产生单元105产生分组402。分组403在先前的循环期间被留在缓冲器112内。
如果接收的分组401的有效标记表示无效(在字段201中存储“0”),那么分组401是空的分组,因而接收控制单元108向缓冲器112输出分组402。当有效标记为无效时,分组401被分组402盖写(overwritten)。作为盖写的替代,分组产生单元105可操作分组401中的各字段的值,以在分组401中存储数据。
另一方面,如果有效标记为有效(在字段201中存储“1”),那么传输控制单元109基于分组401和分组402的各优先级(次序302)以及缓冲器112的可用容量,执行传输控制。信号线(未示出)从缓冲器112连接到传输控制单元109,使得缓冲器112使用该信号线向传输控制单元109通知可用容量。
为了在每一个循环中将一个分组传送到下一模块,基本上在缓冲器112中使用一个可用容量。根据本示例性实施例,如图3A所示,当只有一个容量可用时,在分组402之前传送有效标记为有效的分组401。此外,如图3B所示,当在缓冲器中有两个或更多个容量可用时,基于由ID确定单元111获得的确定结果,以在下一循环中传输具有更高优先级的分组的方式控制对于缓冲器112的输出。
当把由分组接收单元106接收的分组(与分组401对应)的优先级与由分组产生单元105产生的分组(与分组402对应)的优先级相比较时,ID确定单元111对于各分组的传输源ID 202执行简单的计算。根据本示例性实施例,可以简单地比较分组的传输源ID 202的大小以确定优先级。此外,对于分组接收单元106的分组的传输源ID202,可赋予比分组产生单元105的分组的传输源ID 202更大的权重。然后,可相互比较传输源ID 202的大小,以确定优先级。
由于分组402的传输源ID与由传输源ID寄存器104存储的值对应,因此,ID确定单元111可将传输源ID寄存器104的值与被分组接收单元106接收的分组的传输源ID相比较,并向传输控制单元109通知结果。
作为传输控制单元109获知分组401的有效标记是否为有效的方法,传输控制单元109可直接检查分组的有效标记,或者,ID确定单元111可向传输控制单元109通知该值。
下面,将描述用于接收分组的操作。本示例性实施例的ID确定单元111根据由分组接收单元106接收的分组是否存储要被自身模块103的处理单元103处理的数据,或者,存储在接收的分组中的传输源ID与等待ID寄存器107的值的比较,执行确定。例如,ID确定单元111可在ID的值相互匹配时执行该确定。当ID的值相互匹配时,接收控制单元108向处理单元103输出存储在通过ID确定单元111被确定为ID与等待ID寄存器107的值匹配的分组中的数据。当ID的值不相互匹配时,接收控制单元108将数据转送到传输控制单元109。
如上所述,根据本示例性实施例,直到完成一系列的数据处理之前的循环数可减少,并且,可在整个数据处理装置中提高处理效率。此外,可通过单一传输源ID实现根据用于执行预定的数据处理的次序的分组传送和考虑数据的优先级的分组传送。由于可通过所述单一传输源ID实现两种类型的分组传送,因此各模块可容易地一次确定是否取入接收的分组以及存储处理后的数据的分组和通过模块的分组中的哪个分组被传输。因此,确定机构可被简化。由于分组不需要与其ID分开地具有数据的优先级,因此分组的位数可减少。此外,由于不需要在各模块中布置用于使ID与优先级相关联的存储单元和用于集中管理的布线,因此模块的电路尺寸可被减小。
根据本示例性实施例,系统控制单元800为管线处理的较后级处的处理单元的传输源ID寄存器设定较大的值,并且,ID确定单元111确定对包含具有较大的值的次序302的分组给予优先级。但是,本发明不限于此。系统控制单元800可为管线处理的较后级处的处理单元设定传输源ID寄存器的较小的值,并且,ID确定单元111可确定对包含具有较小的值的次序302的分组给予优先级。因此,可以获得类似的效果。此外,可以在分组中的多个位置处设置与分组的ID对应的字段,以对具有较高或较低位的ID给予较高的优先级。
如果使用如图2C所示的路径303(多个路径)那样包含不同的值的多个分组,那么可与分组的数量对应地多次地执行管线处理。在这种情况下,等待ID寄存器107要使等待ID与各路径303的值相关联,并且存储与执行管线处理的次数一样多的等待ID。此外,传输源ID寄存器104要使传输源ID与各路径303的值相关联,并且存储与执行管线处理的次数一样多的传输源ID。
例如,当多个处理模块混合地包含要由管线处理“1”[图1B:以B、A和C的次序]处理的分组和要由管线处理“2”[以C、B和A的次序]处理的分组时,考虑用于赋予优先级的多种方法。
这些方法中的一种是在分别包含三个阶段的管线处理“1”和管线处理“2”中等同地处理相同阶段中的分组。另一种方法是对管线处理“1”或管线处理“2”中的一个给予比另一个更高的优先级。
例如,当由管线处理“1”处理的数据被写入RAM 803,并且使用该数据作为要被管线处理“2”处理的数据时,如果RAM 803的区域要被保存,那么由管线处理“2”处理过的分组可被传输。
当管线处理“2”比管线处理“1”优先时,系统控制单元向各模块分配传输源ID,使得在比管线处理“1”靠后的级处执行管线处理“2”。在上述的次序的例子中,各连接ID被设定如下。通信单元120-1被设为[路径1 ID:1,路径2 ID:5]。类似地,其它的通信单元也被设定。通信单元120-2被设为[路径1 ID:3,路径2 ID:8],通信单元120-3被设为[路径1 ID:2,路径2 ID:7],通信单元120-n被设为[路径1 ID:4,路径2 ID:6]。等待ID被省略,但是,要对于每个路径分配可按上述的处理次序进行处理的等待ID。
以下,将参照图4描述根据第二示例性实施例的数据处理装置。对于具有与第一示例性实施例相同的功能的配置和处理给予相同的附图标记。不重复对具有相同的配置或功能的部分的描述。
根据第二示例性实施例,设置具有至少一个或更多个级的容量的缓冲器A 501(第一缓冲器单元)和缓冲器B 502(第二缓冲器单元)。缓冲器B 502暂时存储从分组接收单元106传输的分组,并且经由接收控制单元108和传输控制单元109将存储的数据传输到缓冲器A501。ID确定单元111比较要从缓冲器B 502输出到缓冲器A 501的分组的优先级、缓冲器B 502从分组接收单元106接收的分组的优先级、和要由分组产生单元105输出的分组的优先级。因而,ID确定单元111可确定要传输哪个分组。将确定的结果通知给接收控制单元108和传输控制单元109。与第一示例性实施例类似,ID确定单元111简单地将多个目标分组的ID相互比较(比较大小)以确定优先级。
参照图5A、图5B、图6A和图6B,将描述用于传输分组的操作。从接收控制单元108传输分组601。通过分组产生单元105产生分组602。由缓冲器B 502存储分组603。
当这三个分组中的至少一个分组的有效标记为有效时,传输控制单元109执行控制,使得向缓冲器A 501传输有效标记为有效的分组。
另一方面,当两个或更多个分组的有效标记为有效时,传输控制单元109基于由ID确定单元111确定的结果执行控制。以下将描述在两个或更多个分组的有效标记为有效时的由ID确定单元111进行的优先级确定和基于该确定的操作。
当分组602在三个分组中具有最高的优先级时,ID确定单元111向传输控制单元109传输控制信息,以将分组602传输到缓冲器A501。
即使分组601的有效标记为有效,当缓冲器B 502如图5A所示的那样可用时,接收控制单元108也将分组601传输到缓冲器B 502。但是,当缓冲器B 502如图5B所示的那样不可用时,接收控制单元108将分组601传输到缓冲器A 501。
如图6A所示,当分组601的有效标记为有效,并且ID确定单元111确定分组603具有比分组601和602高的优先级时,接收控制单元108将分组603传输到缓冲器A 501。此时,接收控制单元108将分组601传输到缓冲器B 502。
另一方面,如图6B所示,当分组601的有效标记为无效,并且分组602具有比分组603低的优先级时,分组603被输出到缓冲器A501。相反,当分组602具有比分组603高的优先级时,分组602被输出到缓冲器A 501。
但是,本示例性实施例仅描述了一个例子。分组产生单元105和缓冲器B 502可由信号线连接。分组602可被传输到缓冲器B 502,并随后与上述的分组603类似地被处理。
当缓冲器B 502被布置为具有“N”个级(“N”是2或更大的自然数)时,ID确定单元111可以对包含于缓冲器B 502中的最大数量“N”个分组603的优先级、接收控制单元108的分组601的优先级、和分组产生单元105的分组602的优先级进行相互比较。当控制复杂时,可以以先进先出(FIFO)构造形成缓冲器B 502,以比较输出侧的数量“M”个分组的优先级。
如上所述,根据第二示例性实施例,基于确定数据的优先级的结果,包含具有低的优先级的数据的分组被存储在模块中的缓冲器中,并在下一循环中被再次用作比较目标。因此,与第一示例性实施例相比,优先级被比较的分组增多。通过该布置,由于用于确定优先级的准则在各模块中增多,因此,可以更精细地执行用于提高分组传送效率的确定。
在以上描述的示例性实施例中,作为例子描述了其中各处理模块具有环形形状拓扑结构的配置。但是,本发明不限于环形形状拓扑结构。例如,如果处理模块中的每一个以总线拓扑结构或网状拓扑结构的形式相互连接,那么本发明可被应用于其中分割并且依次通过多个模块并行执行一系列的处理(管线处理)的任何配置,并可由此提高传送效率。
也可通过读出并执行记录在存储设备上的程序以执行上述的实施例的功能的系统或装置的计算机(或诸如CPU或MPU之类的设备),并且通过由系统或装置的计算机通过例如读出并执行记录在存储设备上的程序以执行上述的实施例的功能执行其步骤的方法,实现本发明的各方面。出于这种目的,例如经由网络或从用作存储设备的各种类型的记录介质(例如,计算机可读存储介质)向计算机提供程序。
虽然已参照示例性实施例描述了本发明,但应理解,本发明不限于公开的示例性实施例。以下的权利要求的范围应被赋予最宽的解释,以包含所有这些变更方式和等同的结构和功能。

Claims (19)

1.一种具有多个模块的数据处理装置,该多个模块相互连接并且处理包括作为传输源ID的识别信息的分组,所述模块包含:
存储单元,被配置为存储作为等待ID的第一识别信息和作为传输源ID的第二识别信息,所述等待ID表示由其自身模块执行的处理的次序;
接收单元,被配置为接收第一分组;
处理单元,被配置为处理包含于第一分组中的数据,第一分组具有与所述存储单元中存储的等待ID相同的传输源ID;
产生单元,被配置为产生第二分组,所述第二分组包含处理后的数据,并且所述第二分组包含存储于所述存储单元中的传输源ID作为识别信息;以及
传输单元,被配置为传输分组,其中所述传输单元通过将包含于接收单元接收到的第一分组中的传输源ID与包含于所述产生单元所产生的第二分组中的传输源ID相比较,来传输具有靠后的处理次序的分组,
其中所述传输源ID表示用于使得能够识别所述多个模块的次序关系的分配值。
2.根据权利要求1所述的数据处理装置,还包含第一缓冲器单元,所述第一缓冲器单元被配置为暂时缓存第二分组,
其中,当第一缓冲器单元不可用时,传输单元传输第一分组。
3.根据权利要求1所述的数据处理装置,还包含第二缓冲器单元,所述第二缓冲器单元被配置为暂时缓存不被传输的第三分组。
4.根据权利要求3所述的数据处理装置,其中,传输单元比较存储于第一分组中的传输源ID、存储于第二分组中的传输源ID和存储于第三分组中的传输源ID,以确定具有靠后的次序的分组。
5.根据权利要求1所述的数据处理装置,还包含控制单元,所述控制单元被配置为对于存储单元设定识别信息。
6.根据权利要求5所述的数据处理装置,其中,控制单元对于具有靠后的次序的模块的识别信息设定较大的值,并且,传输单元确定包含具有较大的值的识别信息的分组是具有靠后的次序的分组。
7.根据权利要求5所述的数据处理装置,其中,控制单元对于具有靠后的次序的模块的识别信息设定较小的值,并且,传输单元确定包含具有较小的值的识别信息的分组是具有靠后的次序的分组。
8.根据权利要求1所述的数据处理装置,其中,所述多个模块以环形形状相互连接,并且,在各模块沿单一方向传输数据的同时,所述多个模块对于所述数据执行处理。
9.根据权利要求1所述的数据处理装置,其中,所述分组包含表示存储的数据是否有效的有效标记,并且,当第一分组的有效标记表示有效时,传输单元比较存储于第一分组中的识别信息与存储于第二分组中的识别信息,以确定具有靠后的次序的分组。
10.根据权利要求1所述的数据处理装置,其中,传输单元传输包含不与存储于存储单元中的等待ID一致的识别信息的分组。
11.一种由具有多个模块的装置执行的数据处理方法,所述多个模块相互连接并且处理包括作为传输源ID的识别信息的分组,该数据处理方法包括:
存储第一识别信息作为等待ID和存储第二识别信息作为传输源ID,所述等待ID表示由其自身模块执行的处理的次序;
接收第一分组,并且处理第一分组中所包含的数据,所述第一分组具有与所存储的等待ID相同的传输源ID;
产生第二分组,所述第二分组用于存储处理后的数据,并且所述第二分组用于存储所存储的传输源ID作为识别信息;以及
传输分组,其中所述传输步骤通过将包含于所述接收步骤接收到的第一分组中的传输源ID与包含于所述产生步骤所产生的第二分组中的传输源ID相比较,来传输具有靠后的处理次序的分组,
其中所述传输源ID表示用于使得能够识别所述多个模块的次序关系的分配值。
12.根据权利要求11所述的数据处理方法,还包括:通过第一缓冲器单元暂时缓存第二分组,
其中,当第一缓冲器单元不可用时,所述传输的步骤传输第一分组。
13.根据权利要求11所述的数据处理方法,还包括:通过第二缓冲器单元暂时缓存不被传输的第三分组。
14.根据权利要求13所述的数据处理方法,还包括:比较存储于第一分组中的传输源ID、存储于第二分组中的传输源ID和存储于第三分组中的传输源ID,以确定具有靠后的次序的分组。
15.根据权利要求11所述的数据处理方法,还包括对于存储单元设定识别信息。
16.根据权利要求15所述的数据处理方法,还包括:对于具有靠后的次序的模块的识别信息设定较大的值,并且,确定包含具有较大的值的识别信息的分组是具有靠后的次序的分组。
17.根据权利要求15所述的数据处理方法,还包括:对于具有靠后的次序的模块的识别信息设定较小的值,并且,确定包含具有较小的值的识别信息的分组是具有靠后的次序的分组。
18.根据权利要求11所述的数据处理方法,其中,所述多个模块以环形形状相互连接,并且,在各模块沿单一方向传输数据的同时,所述多个模块对于所述数据执行处理。
19.根据权利要求11所述的数据处理方法,其中,所述分组包含表示存储的数据是否有效的有效标记,并且,当第一分组的有效标记表示有效时,所述传输的步骤比较存储于第一分组中的识别信息与存储于第二分组中的识别信息,以确定具有靠后的次序的分组。
CN201010215191.5A 2009-06-29 2010-06-24 数据处理装置和数据处理方法 Active CN101938409B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009153314A JP5460143B2 (ja) 2009-06-29 2009-06-29 データ処理装置、データ処理方法およびプログラム
JP2009-153314 2009-06-29

Publications (2)

Publication Number Publication Date
CN101938409A CN101938409A (zh) 2011-01-05
CN101938409B true CN101938409B (zh) 2015-07-29

Family

ID=43380669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010215191.5A Active CN101938409B (zh) 2009-06-29 2010-06-24 数据处理装置和数据处理方法

Country Status (4)

Country Link
US (1) US8799536B2 (zh)
EP (1) EP2312457B1 (zh)
JP (1) JP5460143B2 (zh)
CN (1) CN101938409B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5600492B2 (ja) * 2010-06-28 2014-10-01 キヤノン株式会社 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
TWI433507B (zh) * 2011-08-09 2014-04-01 Nat Univ Tsing Hua 環狀網路及其建構方法
US8793442B2 (en) * 2012-02-08 2014-07-29 International Business Machines Corporation Forward progress mechanism for stores in the presence of load contention in a system favoring loads
JP6481427B2 (ja) * 2015-03-10 2019-03-13 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法
US10466903B2 (en) 2017-03-24 2019-11-05 Western Digital Technologies, Inc. System and method for dynamic and adaptive interrupt coalescing
US10452278B2 (en) 2017-03-24 2019-10-22 Western Digital Technologies, Inc. System and method for adaptive early completion posting using controller memory buffer
US10387081B2 (en) 2017-03-24 2019-08-20 Western Digital Technologies, Inc. System and method for processing and arbitrating submission and completion queues
US10509569B2 (en) 2017-03-24 2019-12-17 Western Digital Technologies, Inc. System and method for adaptive command fetch aggregation
US10725835B2 (en) 2017-05-03 2020-07-28 Western Digital Technologies, Inc. System and method for speculative execution of commands using a controller memory buffer
US10466904B2 (en) 2017-03-24 2019-11-05 Western Digital Technologies, Inc. System and method for processing and arbitrating submission and completion queues
US10296249B2 (en) 2017-05-03 2019-05-21 Western Digital Technologies, Inc. System and method for processing non-contiguous submission and completion queues

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61182161A (ja) * 1985-02-08 1986-08-14 Hitachi Ltd マルチプロセツサ処理方式
JPS63155253A (ja) * 1986-12-18 1988-06-28 Fujitsu Ltd 並列コンピユ−タ通信制御方式
CA1318409C (en) * 1988-10-27 1993-05-25 Dennis L. Debruler Multiprocessor load sharing arrangement
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
JPH02219165A (ja) * 1989-02-21 1990-08-31 Matsushita Electric Ind Co Ltd データ転送方式
JPH07239835A (ja) * 1994-02-25 1995-09-12 Hitachi Ltd 並列計算機のネットワーク内データ転送制御方式
JPH11167560A (ja) * 1997-12-03 1999-06-22 Nec Corp データ転送システム、このシステムに用いるスイッチング回路、アダプタ及びこのシステムを有する集積回路並びにデータ転送方法
JP2000285081A (ja) * 1999-03-31 2000-10-13 Fuji Xerox Co Ltd ノード間データ通信方法
US6934250B1 (en) * 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US20020191601A1 (en) * 2001-06-15 2002-12-19 Alcatel, Societe Anonyme On-chip communication architecture and method
US20030200342A1 (en) * 2001-07-02 2003-10-23 Globespan Virata Incorporated Communications system using rings architecture
JP2004287811A (ja) * 2003-03-20 2004-10-14 Fujitsu Ltd データ処理回路
JP4271987B2 (ja) * 2003-05-15 2009-06-03 パナソニック株式会社 パケット通信端末
US7551561B2 (en) * 2003-05-15 2009-06-23 Panasonic Corporation Packet communication terminal
US20050138324A1 (en) * 2003-12-19 2005-06-23 International Business Machines Corporation Processing unit having a dual channel bus architecture
JP2006295690A (ja) * 2005-04-13 2006-10-26 Canon Inc 情報処理装置
JP2007316699A (ja) * 2006-05-23 2007-12-06 Olympus Corp データ処理装置
TWI362860B (en) * 2008-06-27 2012-04-21 Realtek Semiconductor Corp Network system with quality of service management and associated management method
JP5406558B2 (ja) * 2009-02-24 2014-02-05 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5460088B2 (ja) * 2009-03-17 2014-04-02 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
CN101938409A (zh) 2011-01-05
EP2312457B1 (en) 2018-11-14
EP2312457A3 (en) 2011-11-02
US8799536B2 (en) 2014-08-05
JP5460143B2 (ja) 2014-04-02
JP2011008658A (ja) 2011-01-13
US20100329261A1 (en) 2010-12-30
EP2312457A2 (en) 2011-04-20

Similar Documents

Publication Publication Date Title
CN101938409B (zh) 数据处理装置和数据处理方法
US7752349B2 (en) Apparatus and method for performing DMA data transfer
JP4777994B2 (ja) マルチコアプロセッサ
CN102047619B (zh) 用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质
EP2116938B1 (en) Operation apparatus and control method
CN101841471B (zh) 具有连接成多维矩阵的节点的系统及其控制方法以及设备
US9965187B2 (en) Near-memory data reorganization engine
US20120084482A1 (en) Semiconductor data processing device and data processing system
JP2007026435A (ja) 時間起動型システムにおける通信コントローラを介して交換されるデータフレームの処理
CN213024387U (zh) 一种基于RapidIO总线的数据冗余传输装置
CN102567258A (zh) 多维dma传输装置与方法
CN102147776B (zh) 数据处理装置和数据处理方法
CN112650705A (zh) 路由控制方法及人工智能处理器
KR20200111939A (ko) 신경망 가속 장치 및 그것의 동작 방법
US8045573B2 (en) Bit ordering for packetised serial data transmission on an integrated circuit
JP4372110B2 (ja) データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
CN112084131A (zh) 用于数字货币的计算装置和计算系统
JP2005346164A (ja) データ処理装置およびデータ転送制御方法
JP6235259B2 (ja) 通信制御装置、通信制御方法及び通信制御システム
CN116527439B (zh) 数据通信方法、装置、计算机设备及计算机可读存储介质
CN117032579B (zh) 一种从机启动方法、装置及存储介质
KR102674194B1 (ko) Mac계층의 전송채널 매핑과 다중화를 통한 초저지연 데이터 전송방법
JP2012205142A (ja) データ転送装置、データ転送方法および情報処理装置
CN104424102B (zh) 一种数据拷贝方法、设备和系统
CN117748556A (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