CN102326158B - 信息处理装置及其操作方法 - Google Patents

信息处理装置及其操作方法 Download PDF

Info

Publication number
CN102326158B
CN102326158B CN201080008604.0A CN201080008604A CN102326158B CN 102326158 B CN102326158 B CN 102326158B CN 201080008604 A CN201080008604 A CN 201080008604A CN 102326158 B CN102326158 B CN 102326158B
Authority
CN
China
Prior art keywords
bag
data
module
mark
value
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.)
Expired - Fee Related
Application number
CN201080008604.0A
Other languages
English (en)
Other versions
CN102326158A (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
Priority to CN201310409255.9A priority Critical patent/CN103441915B/zh
Publication of CN102326158A publication Critical patent/CN102326158A/zh
Application granted granted Critical
Publication of CN102326158B publication Critical patent/CN102326158B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/72Routing based on the source address
    • 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/14Handling requests for interconnection or transfer
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Labeling Devices (AREA)

Abstract

在其中多个模块与环形总线连接的信息处理系统中,通过从环形总线删除不必要的包,提高数据传送效率。本发明涉及其中执行数据处理的多个模块与环形总线连接的信息处理系统。更具体而言,本发明涉及通过监视包的标记并且从环形总线去除不必要的包来允许有效的数据传送的环形总线操作技术。

Description

信息处理装置及其操作方法
技术领域
本发明涉及信息处理装置及其操作方法、计算机程序和存储介质。 
背景技术
各种环形通信网络(电路网络)已被提出并且盛行。例如,LAN(局域网)规范包括所谓的令牌环(参见ISO/IEC 8802-5:1998)。 
以下将简要描述令牌环系统中的数据传输。想要传送数据的节点获取没有被任何节点占据并且正在环形总线上流传(go around)的被称为自由令牌的令牌。获取了自由令牌的节点将目的地标识符和处理数据复制到该令牌,并且将该令牌输出到环形总线上以将其传送到目的地模块。如上所述,在令牌环系统中,被称为令牌的帧从一个节点依次被传送到另一个节点,并然后被传送到下一个节点(这些节点被部署于环形总线上),由此将该帧传送到目标端。 
另一方面,当接收节点接收到以自身节点作为目的地的令牌时,该接收节点复制处理数据并且将所接收的令牌再次投放到环形总线上,所述接收的令牌是用指示接收完成的接收完成标记被设定的。完成该投放,以将成功的数据传输通知给传送源节点,并且,如果返回的是没有设定有接收完成标记的令牌,那么传送源节点重新传送同样的令牌。以这种方式,接收节点在令牌中设定接收完成标记,并且使该令牌返回传送源节点,由此实现数据传输。 
发明内容
当其中执行数据处理的多个模块与环形总线连接的信息处理系统采用上述的令牌环总线系统时,不管接收是成功还是失败,令牌都必须返回到传送源。即,即使当接收成功时,也不能在传送源释放返回的令牌之前将数据复制到令牌,从而导致效率低下。 
本发明在其中执行数据处理的多个模块与环形总线连接的信息处理系统中实现高效的包(packet)传送。 
本发明的实施例的一个方面涉及信息处理装置,所述信息处理装置包含多个模块,所述多个模块与环形总线连接,并且所述多个模块中的每一个被配置为从一个相邻模块接收存储了数据的包并且在预定的处理之后将该包传送给另一个相邻模块,其特征在于,每个模块包含:识别部件,用于识别从另一个模块接收的包以确定所接收的包是否是要被自身模块处理的包;接收部件,用于当所述识别部件确定所接收的包是要被自身模块处理的包时从该包提取要被处理的数据;处理部件,用于处理所提取的数据;修改部件,用于当所述处理部件处理数据时将所接收的包中的指示数据的有效性的第一标记设定为具有指示所述数据无效的值;以及传送部件,用于将该包传送到另一模块。 
(参照附图)阅读示例性实施例的以下描述,本发明的其它特征将变得清晰。 
附图说明
图1是表示数据处理系统的布置的例子的框图; 
图2是表示数据处理器104的布置的例子的框图; 
图3是表示模块的布置的例子的框图; 
图4是表示包的格式的例子的示图; 
图5是表示处理数据传送单元303和接收单元311中的处理的例子的流程图; 
图6是表示处理数据接收单元305和传送单元312中的处理的例子的流程图; 
图7是表示模块的布置的例子的框图;以及 
图8是表示处理数据传送单元303和接收单元311中的处理的例子的流程图。 
具体实施方式
以下将描述本发明的实施例。本实施例涉及其中执行数据处理的多个模块与环形总线连接的数据处理系统。当然,下面要描述的实施例提供便于本领域技术人员实现本发明的公开,并且仅是包含于由权利要求的范围划定的本发明的技术范围中的一些实施例。因此,本领域技术人员明白,即使对于没有在本发明的说明书中直接描述的实施例,只要它们具有共同的技术思想,那么它们也包含于本发明的技术范围中。 
注意,为了方便起见,将描述多个实施例。但是,本领域技术人员容易理解的是,不仅这些实施例可形成独立的发明,而且多个实施例也可根据需要被组合来形成发明。 
以下将参照图1来描述根据与本发明的一个方面对应的实施例的信息处理系统的布置。CPU 101是具有控制数据处理系统的总体操作的功能的控制单元。RAM 102是存储要被CPU 101处理的输入数据、处理之后的输出数据和对于数据处理器104的预设参数数据等的可读/可写存储器。ROM 103是可保持CPU 101的处理序列和诸如预设参数的常数等的可读存储器。数据处理器104包含本发明所公开的布置和模块。各模块与环形总线连接。可编程自定义(custom)IC芯片可实现数据处理器104。所述芯片包含例如ASIC(专用集成电路)或FPGA(现场可编程门阵列)。 
以下将参照图2来描述数据处理器104的布置。数据处理器104包含多个模块201~204。环形总线205被用于在模块之间传送包。模块201~204与环形总线205连接。各模块被配置为从一个相邻模块接收数据包,并且在预定的处理之后将该数据包传送给另一个相邻模块。通过模块交换的包在环形总线上沿一个方向移动。在以下的描述中,数据(或包)在其上沿单方向流传的环状总线将被简称为环形总线。 
输入/输出缓冲器206被用于输入/输出数据。本实施例的模块201~204中的每一个具有被用于识别自身模块的数据处理器识别信息,并且为了简化起见,在图2中被标记为“ID”。在对于本发明的 实施例的以下描述中,该信息也被描述为“ID”。注意,ID=1的模块201与输入/输出缓冲器206连接以管理输入和输出数据。 
以下将参照图3来描述数据处理器中的各模块201~204的布置。参照图3,包识别单元301检查是否要取得来自另一模块的包。当包识别单元301接收到保存了与自己等待的ID匹配的传送源ID的包时,它将该包输出到包接收单元302。 
包接收单元302执行包接收处理。处理数据传送单元303将处理数据传送到处理单元304。处理单元304执行实际的数据处理。处理数据接收单元305从处理单元304接收处理后的数据。包产生单元306基于从处理单元304接收的处理后的数据和来自包修改单元308的输出而产生包。 
包传送单元307将包输出到环形总线上。包修改单元308根据来自包接收单元302的指令而修改将在后面参照图4描述的包的数据有效标记401和保留(stall)标记404的值。选择器309基于来自包传送单元307的指令而选择来自包传送单元307的包和来自包修改单元308的包中的一个。如果没有来自包传送单元307的指令,那么选择器309选择从包修改单元308输出的包并且输出该包。缓冲器310被用于接连地(one after another)传送包。 
在上面的布置中,模块201、202、203和204中的每一个包含处理单元304和通信单元313。通信单元313包含处理数据传送单元303、处理数据接收单元305、选择器309、缓冲器310、接收单元311和传送单元312。此外,接收单元311包含包识别单元301、包接收单元302和包修改单元308。此外,传送单元312包含包产生单元306和包传送单元307。 
在以下的描述中,本实施例将解释处理单元304通过处理一个输入数据而输出一个输出数据的情况。在这种情况下,假定从输入数据被输入到处理单元304到获得输出数据为止不能输入另一输入数据。出于该原因,包接收单元302必须根据处理单元304的状态来暂停包的接收。 
图4表示在模块之间交换数据所需的包格式。数据有效标记401是用于检查包中的数据的有效性的第一标记信息。例如,如果数据有效标记401是“1”,那么数据是有效的;如果数据有效标记401是“0”,那么数据是无效的。 
传送源ID 402是存储传送包的模块的标识符的传送源的标识符。数据存储字段403存储处理数据主体。保留标记404是当模块暂停包处理时被设定为“1”的第二标记信息。即,如果保留标记404是“1”,那么它指示包处理被暂停。注意,例如,当某模块接收到数据但由于处理单元304繁忙而使得该模块不能处理所述数据时,处理被暂停。保留标记404作为初始值被设定为“0”。即,当保留标记具有初始值时,这意味着要接收该包的环形总线上的模块还没有处理相应的包。 
各模块可设定等待包ID。当等待包ID与流过环形总线的包的传送源ID 402匹配时,包识别单元301取得该包。例如,以下将考虑以模块1、模块4、模块2、模块3和模块1的次序配置数据路径的情况。在这种情况下,模块1的等待包ID被设定为“3”,模块2的等待包ID被设定为“4”,模块3的等待包ID被设定为“2”,模块4的等待包ID被设定为“1”。通过以这种方式分别设定模块的等待包ID,可以形成数据路径。假定对于各模块事先设定等待包ID,并且其信息被存储于包识别单元301中。 
以下将描述通信单元313中的数据接收方法。例如,以下将考虑图2中的从ID=1的模块1到ID=3的模块3执行数据传送的情况。此时,模块3的包识别单元301获取数据有效标记401有效的包,并且将该包的传送源ID 402与自己的等待包ID相比较。如果这两个ID彼此相等,那么包识别单元301将该包传送到包接收单元302。 
处理数据传送单元303确定处理单元304是否准备好执行处理。如果处理数据传送单元303确定处理单元304已准备好,那么包接收单元302从所获取的包中提取要被处理的数据,并且将要被处理的数据传送到处理数据传送单元303。在这种情况下,由于该包已没有用,因此包接收单元302指令包修改单元308将包的数据有效标记401设 定为无效(0)。 
另一方面,如果处理数据传送单元303确定处理单元304繁忙,那么包接收单元302指令包修改单元308将包的保留标记404设定为“1”。包修改单元308根据来自包接收单元302的指令来修改数据有效标记401或保留标记404,并且将该包传送到选择器309。选择器309选择从包修改单元308输入的包和从包传送单元307输入的包中的一个,并且将其传送到缓冲器310。 
以下将参照图5来描述处理数据传送单元303和接收单元311中的处理。在步骤S501中,包识别单元301从位于前一级的模块获取包。包识别单元301在步骤S502中检查包的数据有效标记401是否有效(1)。如果数据有效标记401有效(在步骤S502中为“是”),那么处理前进到步骤S503。另一方面,如果数据有效标记401无效(在步骤S502中为“否”),那么该处理结束。 
包识别单元301在步骤S503中检查包的传送源ID 402是否等于在模块中设定的等待包ID。如果确定两个ID彼此相等(在步骤S503中为“是”),那么处理前进到步骤S504。另一方面,如果确定两个ID彼此不相等(在步骤S503中为“否”),那么该处理结束。 
处理数据传送单元303在步骤S504中检查处理单元304是否准备好交换数据。如果确定处理单元304准备好交换数据(在步骤S504中为“是”),那么处理前进到步骤S505。另一方面,如果确定处理单元304没有准备好接收数据(在步骤S504中为“否”),那么处理前进到步骤S506。 
在步骤S505中,包接收单元302从包中提取处理数据,并且将其传送到处理数据传送单元303,处理数据传送单元303将数据转送到处理单元304。处理然后前进到步骤S507。在步骤S506中,包接收单元302指令包修改单元308将包的保留标记404设定为“1”。然后,保留标记404从初始值(0)被修改为(1)。在步骤S507中,包接收单元302指令包修改单元308将包的数据有效标记401设定为“0”。 
以下将描述处理数据接收单元305和传送单元312中的数据传送 序列。例如,以下将解释图2中的从ID=1的模块1到ID=3的模块3执行数据传送的情况。此时,模块1的包产生单元306从包修改单元308获取其中数据有效标记401无效(0)的包。 
然后,包产生单元306在该包的数据存储字段303中存储从处理数据接收单元305获得的传送数据,并且在传送源ID 402中存储作为模块1的ID的“1”。此外,包产生单元306将保留标记404设定为初始值(0),并且将数据有效标记401设定为“1”。然后,包产生单元306将该包传送到包传送单元307。包传送单元307将从包产生单元306获取的包输出到选择器309。此时,包传送单元307同时将选择信号输出到选择器309以选择其输出。 
包产生单元306监视包的保留标记404。当由自己输出的包在没有将保留标记设定为“1”的情况下返回时,数据有效标记401被设定为“0”以避免没有接收模块的包占据环形总线。相反,当保留标记404被设定为“1”时,该包被原样输出到环形总线上。 
以下将参照图6来描述处理数据接收单元305和传送单元312中的处理。参照图6,包产生单元306在步骤S601中获取来自接收单元311的包修改单元308的包。包产生单元306在步骤S602中检查所接收包的数据有效标记401是否为“0”。如果确定数据有效标记401不是“0”(在步骤S602中为“否”),那么处理前进到步骤S603。另一方面,如果确定数据有效标记401为“0”(在步骤S602中为“是”),那么处理前进到步骤S606。 
包产生单元306在步骤S603中检查包的保留标记404是否为“1”。如果确定保留标记404为“1”(在步骤S603中为“是”),那么处理结束。在这种情况下,来自包修改单元308的包经由选择器309和缓冲器310被传送到下一个模块。另一方面,如果确定保留标记404不是“1”,即,它仍具有初始值(在步骤S603中为“否”),那么处理前进到步骤S604。 
包产生单元306在步骤S604中检查包的传送源ID 402是否等于自身模块的ID。如果确定这两个ID彼此相等(在步骤S604中为“是”), 那么处理前进到步骤S605。在步骤S605中,包产生单元306将包的数据有效标记401设定为“0”,并且处理然后跳到步骤S611。另一方面,如果确定这两个ID彼此不相等(在步骤S604中为“否”),那么该处理结束。在这种情况下,同样,来自包修改单元308的包经由选择器309和缓冲器310被传送到下一个模块。 
包产生单元306在步骤S606中检查是否从处理单元304获得有效的处理数据。如果获得了有效的处理数据(在步骤S606中为“是”),那么处理前进到步骤S607。另一方面,如果没有获得有效的处理数据(在步骤S606中为“否”),那么该处理结束。 
在步骤S607中,包产生单元306将从处理单元304获取的处理数据复制到包的数据存储字段403。在步骤S608中,包产生单元306将包的数据有效标记401设定为“1”。此外,在步骤S609中,包产生单元306将包的保留标记404设定为初始值(0)。此外,在步骤S610中,包产生单元306在包的传送源ID 402中设定自身ID。在步骤S611中,包产生单元306指令选择器309优先选择来自包传送单元307的输入。 
如上所述,根据本实施例,当接收模块可处理所接收包的数据时,它使包无效;当接收模块不能处理数据时,它将包的保留标记404设定为“1”并且将该包重新投放到环形总线上。接收模块可管理要被接收的包,以防止对于传送模块的重新传送请求包被输出到环形总线上。由于传送模块监视输出包的保留标记404并且根据需要使包无效,因此可以防止不必要的包在环形总线上流传,由此提高模块之间的数据传送效率。 
在本实施例中,包的目的地模块的数量是1。但是,目的地的数量不限于1,数据路径可以分岔(branch)。例如,在图2中,当模块3和4等待来自模块2的输出包时,就是这种情况。即,模块2之后的数据路径分岔。 
在以上的实施例中,当数据被成功地传送到处理单元304时,所接收的包被无效化。但是,如果由于模块3成功地接收到包而类似地 使包无效化,那么模块4不能再接收包。 
由此,根据与本发明的另一个方面对应的实施例的各模块的特征在于,还包括包无效化处理指令寄存器,所述包无效化处理指令寄存器可指定当数据被成功传送到处理单元304时是否允许包的无效化。 
图7是表示根据本实施例的模块的布置的例子的框图。图7所示的模块框图基本上与图3所示的相同。但是,与图3不同的是,接收单元311还包含无效化指令寄存器701。在本实施例中,当该寄存器的预设值为“1”时,允许通过在处理单元304成功接收时设定数据有效标记401的值来使接收的包无效化。另一方面,如果预设值为“0”,那么,不允许通过在处理单元304成功接收时设定数据有效标记401的值来使接收的包无效化。但是,包无效化处理指令寄存器的设定规范不限于以上情况。 
无效化指令寄存器701被设定如下。当假定数据路径不分岔时,所有模块的包无效化处理指令寄存器被设定为“1”。在这种情况下,在成功接收时,包被无效化。 
另一方面,当多个模块等待来自某模块的输出包时,先规定输出所述多个模块等待的包的传送源模块,并且,类似地规定等待该包的多个目的地模块。 
在所述多个目的地模块中,规定被部署在沿环形总线最远离传送源模块的位置处的模块,并且,该模块的无效化指令寄存器701被设定为“1”。除该模块以外的模块的无效化指令寄存器701被设定为“0”。 
例如,当如图2中的模块3和4等待来自模块2的输出包的情况那样,数据路径在一个位置处分岔时,沿正向(forward)方向从作为传送源模块的模块2追踪环形总线。在等待包的模块3和模块4中,模块4被部署在最远离模块2的位置处。由此,模块3的无效化指令寄存器701被设定为“0”,并且,模块4的无效化指令寄存器701被设定为“1”。 
以下将参照图8来描述本实施例中的处理数据传送单元303和接收单元311中的处理。参照图8,包识别单元301在步骤S801中从位 于前一级中的模块获取包。包识别单元301在步骤S802中检查包的数据有效标记401是否为“1”。如果数据有效标记401是“1”(在步骤S802中为“是”),那么处理前进到步骤S803。另一方面,如果数据有效标记401不为“1”(在步骤S802中为“否”),那么该处理结束。 
包识别单元301在步骤S803中检查包的传送源ID 402是否等于预设的等待包ID。如果确定这两个ID彼此相等(在步骤S803中为“是”),那么处理前进到步骤S804。另一方面,如果确定这两个ID彼此不相等(在步骤S803中为“否”),那么该处理结束。 
处理数据传送单元303在步骤S804中检查处理单元304是否准备好交换数据。如果确定处理单元304准备好交换数据(在步骤S804中为“是”),那么处理前进到步骤S805。另一方面,如果确定处理单元304没有准备好交换数据(在步骤S804中为“否”),那么处理前进到步骤S806。 
在步骤S805中,包接收单元302从包中提取处理数据,并且将其传送到处理数据传送单元303,处理数据传送单元303将该数据转送到处理单元304。然后,处理前进到步骤S807。在步骤S806中,包接收单元302指令包修改单元308将包的保留标记404设定为“1”。 
另一方面,包接收单元302在步骤S807中检查无效化指令寄存器701的预设值是否为“1”。如果确定预设值为“1”(在步骤S807中为“是”),那么处理前进到步骤S808。另一方面,如果确定预设值不为“1”(在步骤S807中为“否”),那么该处理结束。在步骤S808中,包接收单元302指令包修改单元308将数据有效标记401设定为“0”。 
如上所述,即使当数据路径分岔时,由于模块包含根据需要被设定的无效化指令寄存器701,因此包可被传送到所有的多个等待模块。 
其它的实施例 
也可通过读出并执行记录在存储设备上的程序以执行上述实施例的功能的系统或装置的计算机(或诸如CPU或MPU的设备),以及 通过由系统或装置的计算机通过例如读出并执行记录在存储设备上的程序以执行上述实施例的功能来执行其各个步骤的方法,实现本发明的各方面。出于这种目的,例如经由网络或从用作存储设备的各种类型的记录介质(例如,计算机可读存储介质)向计算机提供程序。 
虽然已参照示例性实施例描述了本发明,但应理解,本发明不限于所公开的示例性实施例。所附权利要求的范围应被赋予最宽的解释以包含所有这样的变更方式以及等同的结构和功能。 
本申请要求在2009年2月25日提交的日本专利申请No.2009-043148的权益,在此以引用方式将其全部内容并入本文。 

Claims (13)

1.一种信息处理装置,所述信息处理装置包含多个模块,所述多个模块与环形总线连接,并且所述多个模块中的每一个被配置为从一个相邻模块接收存储数据的包并且在预定的处理之后将该包传送到另一个相邻模块,其特征在于,
各模块包含:
识别部件,用于识别从另一个模块接收的包以确定所接收的包是否是要被自身模块处理的包;
接收部件,用于当所述识别部件确定所接收的包是要被自身模块处理的包时从包中提取要被处理的数据;
处理部件,用于处理所提取的数据;
设定部件,用于当所述处理部件处理数据时将所接收的包中的指示数据的有效性的第一标记设定为具有指示数据无效的值;以及
传送部件,用于将包传送到其他的模块,
其中,当所述处理部件没有准备好处理数据时,所述设定部件设定指示所述处理部件没有准备好处理数据的第二标记,并且所述传送部件将具有所述第二标记的包传送到其他的模块,
其中,当所述第一标记被设定时,所述传送部件将包括经所述处理部件处理的数据和所述第一标记的包传送到其他的模块,以及
其中,当所述第二标记被设定时,所述传送部件将包括未经所述处理部件处理的数据和所述第二标记的包传送到其他的模块。
2.根据权利要求1的装置,其特征在于,各模块还包含寄存器,所述寄存器具有指示自身模块是否被允许设定第一标记的预设值,以及
当所述处理部件准备好处理数据并且所述寄存器的预设值具有允许设定第一标记的值时,所述设定部件将第一标记设定为具有指示包的数据无效的值。
3.根据权利要求1的装置,其特征在于,所述识别部件与所接收的包相关联地进一步确定第一标记和第二标记的值以及包的传送源是否是自身模块,以及
当所述识别部件确定第一标记被设定为具有指示所接收的包的数据有效的值、第二标记被设定为具有初始值、并且所接收的包的传送源是自身模块时,
所述设定部件将所接收的包中的第一标记设定为具有指示数据无效的值,以及
所述传送部件向其他的模块传送所述设定部件将所接收的包中的第一标记设定为具有指示包的数据无效的值的包。
4.根据权利要求1或3的装置,其特征在于,各模块还包含产生部件,所述产生部件用于产生包含被所述处理部件处理的数据的包,
所述识别部件进一步确定所接收的包中的第一标记的值,以及
当所述识别部件确定第一标记被设定为具有指示所接收的包中的数据无效的值时,
所述产生部件通过以下步骤产生包:
在所接收的包的数据存储字段中存储被所述处理部件处理的数据,
将第一标记设定为具有指示包中的数据有效的值,
将第二标记设定为具有初始值,以及
在要产生的包的传送源中设定用于规定自身模块的标识符,以及
所述传送部件将由所述产生部件产生的包传送到其他的模块。
5.一种信息处理装置的操作方法,所述信息处理装置包含多个模块,所述多个模块与环形总线连接,并且所述多个模块中的每一个被配置为从一个相邻模块接收存储数据的包并且在预定的处理之后将该包传送到另一个相邻模块,其特征在于,
各模块执行以下步骤:
识别从另一个模块接收的包以确定所接收的包是否是要被自身模块处理的包;
当在所述识别步骤中确定所接收的包是要被自身模块处理的包时,从包中提取要被处理的数据;
控制处理部件以处理所提取的数据;
当所述处理部件准备好处理数据时,将所接收的包中的指示数据的有效性的第一标记设定为具有指示数据无效的值,并将包括经所述处理部件处理的数据和所述第一标记的包传送到其他的模块;
当所述处理部件没有准备好处理数据时,设定指示所述处理部件没有准备好处理数据的第二标记,并将包括未经所述处理部件处理的数据和所述第二标记的包传送到其他的模块。
6.根据权利要求5的方法,其特征在于,各模块还包含寄存器,所述寄存器具有指示自身模块是否被允许设定第一标记的预设值,并且,
在各模块中,
在所述操作方法的设定步骤中,当处理部件准备好处理数据并且所述寄存器的预设值具有允许设定第一标记的值时,第一标记被设定为具有指示包的数据无效的值。
7.根据权利要求5的方法,其特征在于,在识别步骤中,进一步与所接收的包相关联地确定第一标记和第二标记的值以及包的传送源是否是自身模块,以及
当在识别步骤中确定第一标记被设定为具有指示所接收的包的数据有效的值、第二标记被设定为具有初始值、并且所接收的包的传送源是自身模块时,
在设定步骤中,所接收的包中的第一标记被设定为具有指示数据无效的值,以及
在传送步骤中,所接收的包中的第一标记在设定步骤中被设定为具有指示包的数据无效的值的包被传送给其他的模块。
8.根据权利要求5或7的方法,其特征在于,各模块还执行产生包含被处理部件处理的数据的包的步骤,
在识别步骤中,进一步确定所接收的包中的第一标记的值,以及
当在识别步骤中确定第一标记被设定为具有指示所接收的包中的数据无效的值时,
在产生步骤中,通过以下步骤产生包:
在所接收的包的数据存储字段中存储经所述处理部件处理的数据,
将第一标记设定为具有指示包中的数据有效的值;
将第二标记设定为具有初始值,以及
在要产生的包的传送源中设定用于规定自身模块的标识符,以及
在传送步骤中,在产生步骤中产生的包被传送到其他的模块。
9.一种信息处理装置,所述信息处理装置包含多个模块,所述多个模块与环形总线连接,并且所述多个模块中的每一个被配置为从一个相邻模块接收存储数据的包并且在预定的处理之后将该包传送到另一个相邻模块,其特征在于,
各模块包含:
识别部件,用于识别从另一个模块接收的包以确定所接收的包是否是要被自身模块处理的包;
接收部件,用于当所述识别部件确定所接收的包是要被自身模块处理的包时从包中提取要被处理的数据;
处理部件,用于处理所提取的数据;
修改部件,用于当所述处理部件没有准备好处理数据时将所接收的包中的保留标记的值从初始值进行修改;以及
传送部件,用于将包括未经所述处理部件处理的数据和所述保留标记的包传送到其他的模块。
10.根据权利要求9的装置,其特征在于,在所接收的包由自身模块输出并且具有所述保留标记的情况下,所述传送部件没有改变地传送所接收的包。
11.根据权利要求9或10的装置,其特征在于,当所述处理部件处理数据时,所述修改部件将所接收的包中的指示数据的有效性的有效标记设定为具有指示数据无效的值。
12.根据权利要求11的装置,其特征在于,当所述接收部件接收到包含由自身模块处理的数据和具有初始值的保留标记的包时,所述修改部件将所接收的包中的指示数据的有效性的有效标记设定为具有指示数据无效的值。
13.一种信息处理装置的操作方法,所述信息处理装置包含多个模块,所述多个模块与环形总线连接,并且所述多个模块中的每一个被配置为从一个相邻模块接收存储数据的包并且在预定的处理之后将该包传送到另一个相邻模块,其特征在于,
各模块执行以下步骤:
识别从另一个模块接收的包以确定所接收的包是否是要被自身模块处理的包;
当在所述识别步骤中确定所接收的包是要被自身模块处理的包时,从包中提取要被处理的数据;
控制处理部件以处理所提取的数据;
当所述处理部件没有准备好处理数据时,将所接收的包中的保留标记的值从初始值进行修改;以及
将包括未经所述处理部件处理的数据和所述保留标记的包传送到其他的模块。
CN201080008604.0A 2009-02-25 2010-02-17 信息处理装置及其操作方法 Expired - Fee Related CN102326158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310409255.9A CN103441915B (zh) 2009-02-25 2010-02-17 信息处理装置及其操作方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009043148A JP5014362B2 (ja) 2009-02-25 2009-02-25 情報処理装置及びその制御方法、コンピュータプログラム
JP2009-043148 2009-02-25
PCT/JP2010/052805 WO2010098330A1 (en) 2009-02-25 2010-02-17 Information processing apparatus and operation method thereof, computer program, and storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201310409255.9A Division CN103441915B (zh) 2009-02-25 2010-02-17 信息处理装置及其操作方法

Publications (2)

Publication Number Publication Date
CN102326158A CN102326158A (zh) 2012-01-18
CN102326158B true CN102326158B (zh) 2014-11-19

Family

ID=42232761

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201080008604.0A Expired - Fee Related CN102326158B (zh) 2009-02-25 2010-02-17 信息处理装置及其操作方法
CN201310409255.9A Active CN103441915B (zh) 2009-02-25 2010-02-17 信息处理装置及其操作方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201310409255.9A Active CN103441915B (zh) 2009-02-25 2010-02-17 信息处理装置及其操作方法

Country Status (6)

Country Link
US (2) US8761013B2 (zh)
EP (2) EP2401682B1 (zh)
JP (1) JP5014362B2 (zh)
KR (1) KR101262751B1 (zh)
CN (2) CN102326158B (zh)
WO (1) WO2010098330A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5014362B2 (ja) * 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP5538798B2 (ja) * 2009-03-17 2014-07-02 キヤノン株式会社 データ処理装置およびデータ処理方法またはプログラム
JP5600492B2 (ja) * 2010-06-28 2014-10-01 キヤノン株式会社 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
US8706936B2 (en) 2011-11-14 2014-04-22 Arm Limited Integrated circuit having a bus network, and method for the integrated circuit
FR3040992B1 (fr) * 2015-09-11 2017-10-06 Saint Gobain Vitrage lumineux de vehicule et sa fabrication.
JP6465843B2 (ja) 2016-09-13 2019-02-06 キヤノン株式会社 リング型バスシステム
DE102021119467A1 (de) 2021-07-27 2023-02-02 Lenze Se Verfahren zur gleichzeitigen Überwachung einer Übertragung und Verarbeitung von Nutzdaten und Antriebssystem

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1504913A (zh) * 2002-12-05 2004-06-16 国际商业机器公司 数据访问环系统及采用环形总线的方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4779087A (en) * 1985-02-13 1988-10-18 Fujitsu Limited Loop transmission system with frame synchronization control
JPS61187445A (ja) * 1985-02-15 1986-08-21 Fujitsu Ltd パケツト再送制御方式
JPH0720122B2 (ja) * 1986-06-27 1995-03-06 富士通株式会社 リング型伝送路を用いたパケット通信システム
JPH04192942A (ja) * 1990-11-27 1992-07-13 Fujitsu Ltd ループ型ネットワーク通信方式
JP2001511971A (ja) * 1997-02-17 2001-08-14 コミュニケイション アンド コントロール エレクトロニクス リミテッド ローカル通信システム
US7480706B1 (en) * 1999-12-30 2009-01-20 Intel Corporation Multi-threaded round-robin receive for fast network port
US7292597B2 (en) * 2000-09-28 2007-11-06 Teridian Semiconductor Corp. Method and apparatus for transparent implementation of link-suspend capabilities in network devices
US20020191601A1 (en) 2001-06-15 2002-12-19 Alcatel, Societe Anonyme On-chip communication architecture and method
GB2378610B (en) * 2001-08-09 2004-06-02 Cambridge Broadband Ltd Communications network
US7641131B2 (en) 2002-10-02 2010-01-05 Sbr Investments Company Llc Vehicle windshield cleaning system
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US7239645B2 (en) * 2003-01-21 2007-07-03 Applied Micro Circuits Corporation Method and apparatus for managing payload buffer segments in a networking device
EP1692823A1 (en) * 2003-11-19 2006-08-23 Honeywell International Inc. High integrity data propagation in a braided ring
US6996647B2 (en) * 2003-12-17 2006-02-07 International Business Machines Corporation Token swapping for hot spot management
US7414984B2 (en) 2004-08-27 2008-08-19 General Instrument Corporation System and method for efficient addition of network resources
US7631131B2 (en) * 2005-10-27 2009-12-08 International Business Machines Corporation Priority control in resource allocation for low request rate, latency-sensitive units
US8438239B2 (en) * 2006-05-11 2013-05-07 Vocollect, Inc. Apparatus and method for sharing data among multiple terminal devices
US7710904B2 (en) * 2006-12-27 2010-05-04 Intel Corporation Ring network with variable token activation
US8004966B2 (en) * 2008-04-25 2011-08-23 Calix, Inc. Efficient management of ring networks
KR101340763B1 (ko) * 2008-11-19 2013-12-12 엘에스아이 코포레이션 신호 송신 방법 및 전송 유닛
US8300535B2 (en) * 2009-02-24 2012-10-30 Canon Kabushiki Kaisha Information processing apparatus, method thereof, and storage medium
JP5014362B2 (ja) * 2009-02-25 2012-08-29 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
JP4869369B2 (ja) * 2009-03-13 2012-02-08 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP5538798B2 (ja) * 2009-03-17 2014-07-02 キヤノン株式会社 データ処理装置およびデータ処理方法またはプログラム
JP5528001B2 (ja) * 2009-04-08 2014-06-25 キヤノン株式会社 情報処理装置、情報処理方法
JP5432587B2 (ja) 2009-05-14 2014-03-05 キヤノン株式会社 データ処理装置、その制御方法およびプログラム
JP5361567B2 (ja) * 2009-06-25 2013-12-04 キヤノン株式会社 データ処理装置、データ処理方法およびプログラム
JP5414506B2 (ja) 2009-12-18 2014-02-12 キヤノン株式会社 データ処理装置、データ処理方法、及びプログラム
JP5600492B2 (ja) 2010-06-28 2014-10-01 キヤノン株式会社 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN1504913A (zh) * 2002-12-05 2004-06-16 国际商业机器公司 数据访问环系统及采用环形总线的方法

Also Published As

Publication number Publication date
CN103441915A (zh) 2013-12-11
WO2010098330A1 (en) 2010-09-02
US8761013B2 (en) 2014-06-24
KR20110127689A (ko) 2011-11-25
CN102326158A (zh) 2012-01-18
EP2401682A1 (en) 2012-01-04
EP2401682B1 (en) 2017-05-03
KR101262751B1 (ko) 2013-05-09
US9237097B2 (en) 2016-01-12
EP3037978A3 (en) 2016-07-20
CN103441915B (zh) 2017-03-01
JP5014362B2 (ja) 2012-08-29
JP2010200034A (ja) 2010-09-09
US20140241350A1 (en) 2014-08-28
EP3037978A2 (en) 2016-06-29
US20110255547A1 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
CN102326158B (zh) 信息处理装置及其操作方法
US8774234B2 (en) Data processing apparatus, data processing method, and computer-readable storage medium
JP5922898B2 (ja) 情報処理装置、通信方法およびプログラム
US7613849B2 (en) Integrated circuit and method for transaction abortion
CN105511954A (zh) 一种报文处理方法及装置
JP6627571B2 (ja) プログラマブルコントローラ、プログラマブルコントローラの制御方法、プログラマブルコントローラの制御プログラム
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN105939312A (zh) 一种数据的传输方法和装置
CN106059964B (zh) 报文转发方法及装置
US7206889B2 (en) Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes
CN113986969A (zh) 数据处理方法、装置、电子设备和存储介质
JP2004207891A (ja) データ通信装置、データ通信方法、データ通信プログラム及びデータ通信プログラムを記録した記録媒体
CN102308538A (zh) 报文处理方法及装置
CN106372013A (zh) 远程内存访问方法、装置和系统
CN107733695A (zh) 一种issu过程中的vxlan隧道优化方法及装置
JP2013196509A (ja) 情報処理装置及びその制御方法
CN105471726A (zh) 转发参数传递的方法及设备
US9069625B2 (en) Method of parallel processing of ordered data streams
JP5528001B2 (ja) 情報処理装置、情報処理方法
CN100373888C (zh) 并行处理路由选择装置
EP1476986B1 (en) Information communication controller interface apparatus and method
CN111052682A (zh) 总线系统的主设备
CN116886463B (zh) 级联通信方法、装置、设备以及介质
KR101073479B1 (ko) 분할 프로토콜 전송 방법 및 프로세싱 시스템
CN114465952B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141119

Termination date: 20200217