CN102523764B - 中继装置 - Google Patents

中继装置 Download PDF

Info

Publication number
CN102523764B
CN102523764B CN201180003054.8A CN201180003054A CN102523764B CN 102523764 B CN102523764 B CN 102523764B CN 201180003054 A CN201180003054 A CN 201180003054A CN 102523764 B CN102523764 B CN 102523764B
Authority
CN
China
Prior art keywords
relay
destination
pseudo channel
channel
microplate
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
CN201180003054.8A
Other languages
English (en)
Other versions
CN102523764A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN102523764A publication Critical patent/CN102523764A/zh
Application granted granted Critical
Publication of CN102523764B publication Critical patent/CN102523764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Abstract

在NoC上的中继装置中,若全部的虚拟信道由向着同一目的地的分组占有,则向着其他目的地的分组将不能通过中继装置,从而分组的传输性能(吞吐量或延迟时间)下降。本发明的中继装置具备:输入缓冲器,其接收数据单位,该数据单位包含附加了多个目的地的信息的报头、以及与报头关联的数据;多个虚拟信道,它们容纳与目的地的信息对应的数据单位;目的地比较部,其根据目的地是否相同,来决定在多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序;和输出部,其从决定了发送目的地的中继装置的虚拟信道的分配后的虚拟信道,输出所容纳的数据单位。

Description

中继装置
技术领域
本发明涉及在具备分布式的总线的半导体的集成电路中,对在连接总线间的多个中继器间流过的多个业务的发送调度进行调整的技术。
背景技术
图1(A)表示集中式的总线控制的例子。在进行集中式的总线控制的现有的集成电路中,主要在多个总线主控器(BM)和存储器(MEM)之间由1个总线连接,并由仲裁器调解从各总线主控器到存储器的访问。然而,由于集成电路的高功能化、多核化,电路的规模会增大,业务也会在复杂地变动的同时流过总线,基于集中式的总线控制的集成电路的设计变得困难起来。
另一方面,近年,采用了基于并行计算机的连接技术、ATM(异步传输模式)网等的网络控制的技术的具有分布式的总线的半导体集成电路的开发不断发展。图1(B)表示分布式的总线控制的例子。具有分布式的总线的半导体集成电路构成为由多个总线来连接多个中继装置(R)。近年,存在一种通过使用图1(B)所示的分布式的总线,将经大规模化的集成电路内的业务分布于多个总线来进行传输的片上网络(Network onChip)的机制。
图2是表示在Noc(片上网络)或并行计算机、ATM网等所利用的、中继装置的基本的构成的概略。在这些中继装置中,将业务数据划分为分组或信元的单位,并发送到目的地的节点。并将送往中继装置的数据临时存储在缓冲器中。
另外,为了按每输入端口来将不同的分组并行来进行发送处理,具备按每输入端口将多个缓冲器并行化后的虚拟的信道(也称为“虚拟通道”或者“VC(虚拟信道)”)。尽管虚拟通道的实体是中继装置的缓存,但可以按每输入端口、且对各输入端口物理性地安装多个缓冲器,或者,通过按照存在多个缓冲器的方式来管理缓存上的数据,从而能实现虚拟的信道。
交叉开关是决定各输入端口和输出端口之间的独占性的连接的开关。另外,由交叉开关进行的输入端口和输出端口之间的独占性的连接由仲裁器决定。
如此,在中继装置中,通过由仲裁器切换交叉开关的连接,将容纳于缓冲器内的数据向作为目标的目的地中继。
接下来,针对中继装置的输入端口和输出端口之间的连接的切换进行说明。中继器的输入端口和输出端口分别由交叉开关独占性地连接。在此,将“独占性的连接”定义为在同时连接多个输入端口和多个输出端口的情况下,对于一个输出端口最多只连接一个输入端口的状态。
图3(A)是表示从中继装置内的输入端口向输出端口的连接请求(发送请求)的一例的图。在此,每个输入端口有2个虚拟信道,输入端口0的虚拟信道0向输出端口0,输入端口0的虚拟信道1向输出端口2,输入端口1的虚拟信道0向输出端口0,输入端口1的虚拟信道1向输出端口1,输入端口2的虚拟信道0向输出端口2,输入端口2的虚拟信道1向输出端口3,输入端口3的虚拟信道0向输出端口0,输入端口3的虚拟信道1向输出端口2请求分组的发送。
仲裁器从多个输入信道向输出信道的连接请求中,选择独占性地连接输入端口和输出端口的组合,来进行交叉开关的切换。对图3(A)所示的连接请求,作为仲裁器选择的独占性的输入端口和输出端口的组合,例如,如图3(B)所示,选择独占性地连接输入端口0和输出端口2、输入端口1和输出端口1、输入端口2和输出端口3、输入端口3和输出端口0的组合。
交叉开关进行的输入端口和输出端口之间的独占性的连接中,能同时连接输入端口和输出端口的数量越多,能同时发送的分组就越多。
因此,一般而言,在并行计算机或ATM中,使用在从输入端口和输出端口的所有组合中搜索最佳组合的波前分配器(波前分配器),或者使用在输入端口侧和输出端口侧,分别独立求取部分最佳解,并对其反复来提高精度的并行迭代匹配(Parallel Iterative Matching)等方法(例如,非专利文献1)。
另外,提出了一种基于Age-Based方式,即在多个虚拟信道请求向相同的输出端口的连接的情况下,维持发送分组的顺序,另外,为了抑制分组间的延迟时间的增加或偏差,基于从发送起的经过时间的长度或已中继的跳数,定义被称为Age的值,且首先发送Age最大(或者最小)的分组(例如专利文献1)。
现有技术文献
专利文献
专利文献1:美国专利第6674720号说明书
非专利文献
非专利文献1:W.DALLY,B.TOWLES,“PRINCIPLES ANDPRACTICES OF INTERCONNETION NETWORKS”,MORGANKAUFMANN PUBLISHERS
发明要解决的课题
与此相对,由于在NoC中需要在集成电路上构成多个中继装置,因此与并行计算机或ATM网的中继装置相比,不能将能构成在各中继装置上的虚拟信道的数量或尺寸设置得较多。例如,1个虚拟信道的尺寸为1个分组左右。
因此,在NoC中,在更短的延迟时间内,必须有效地利用有限的虚拟信道,不仅在中继装置内使输入端口和输出端口的连接数最大,还在发送目的地的中继装置中考虑了使输入端口和输出端口的连接数变大的发送调度的控制是重要的。
另外,对于在NoC上构成的中继装置,受集成电路的规模、能容许的延迟时间、消耗功率等的制约。因此,不优选在NoC上的各中继装置中直接设置波前分配器这样的从大规模的组合中搜索最优组合的算法、或像并行匹配迭代器那样进行反复处理的算法。在将并行计算机或ATM所使用的一般的中继装置的机制直接应用到NoC的中继装置的情况下,存在仲裁器的电路规模及处理时间、消耗功率变大,从而引起NoC的性能的下降、处理时间的增加的课题。
以下,更加具体地说明该课题。
图4是说明本发明要解决的课题的具体的一例的图。
中继装置401经由4个输入端口与成为分组的发送源的4个中继装置(中继装置A、中继装置B、中继装置C、中继装置D)连接,接收发送来的分组。另外,中继装置401经由4个输入端口与成为分组的发送源的4个中继装置(中继装置E、中继装置F、中继装置G、中继装置H)连接,进行分组的发送。
中继装置401的输入端口分别具备2个虚拟信道,按每个输入端口最大能对2处的输出端口进行发送请求。
然而,若从发送源的中继装置向着同一目的地连续发送分组,则例如像Age-Based那样,在简单地维持已发送的顺序来中继分组的情况下,由于1.连续发送向着相同的目的地的分组,2.在相同目的地的分组占有输入端口内的全部虚拟信道(VC)的情况产生、3.在虚拟信道(VC)间的输出端口的获得中,未能获得输出端口的输入端口在别的输出端口空闲的情况下也不能发送分组,因此,将使中继装置的传输性能下降。进而,若在中继装置401中产生发送等待,则4.在发送源的中继装置中也产生发送等待,即使有向着与发送等待的分组的目的地不同的目的地的分组,也不能超越中继装置401内的分组而先发送。
例如,在图4中,中继装置401通过从发送源的中继装置连续接收特定的目的地的分组,从而处于在中继装置401的输入端口0和输入端口1的全部的虚拟信道中容纳有向输出端口0发送的分组,另外,在中继装置401的输入端口2和输入端口3的全部的虚拟信道中容纳有向输出端口2发送的分组的状态。此时,各虚拟信道对输出端口进行分组的发送请求的结果是,若设为输入端口0的虚拟信道0获得输出端口0,另外,输入端口2的虚拟信道0获得输出端口2,则输入端口1和输入端口3即使在输出端口1和输出端口3空闲的情况下,也没有向着这些输出端口发送的分组,因此成为发送等待的状态。
另外,即使设为在发送源的中继装置B或中继装置D中容纳有向着输出端口1或输出端口3的分组,也不能超越中继装置401内的输入端口1和输入端口3的虚拟信道内的分组而先发送。
如此,针对每输入端口,全部的虚拟信道由特定的分组占有的情况会引起中继装置的传输性能的下降。
对于并行计算机或ATM,由于对虚拟信道的数目和尺寸的制约、对延迟时间的制约较小,因此即使连续发送向着相同的目的地的分组,中继装置内的虚拟信道全部由向着相同的目的地的分组占有的状况也难以发生。另外,即使由向着相同的目的地的分组占有全部的虚拟信道,与占有状态持续的时间相比,在并行计算或ATM中能容许的分组的延迟时间长,因此对传输性能的影响少。
另一方面,在NoC中,由于在半导体电路上实现中继装置,因此对虚拟信道的数目及尺寸、延迟时间的制约大,易于产生中继装置内的虚拟信道的不足的情况,对NoC整体的传输性能影响大。
发明内容
本发明为了解决上述课题而提出,其目的在于,提供一种抑制分组的传输性能(吞吐量或延迟时间)的下降,使NoC整体的传输性能提高的中继装置。
(用于解决课题的手段)
本发明的中继装置具备:输入缓冲器,其接收数据单位,该数据单位包含附加了多个目的地的信息的报头、以及与所述报头关联的数据;多个虚拟信道,其容纳与所述目的地的信息对应的数据单位;目的地比较部,其根据所述目的地是否相同,来决定在所述多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序;和输出部,其从决定了所述发送目的地的中继装置的虚拟信道的分配后的虚拟信道,输出所容纳的数据单位。
可以是,所述目的地比较部区别数据单位的目的地,并按照如下方式来决定所述分配顺序:对于向未分配发送目的地的中继装置的虚拟信道的目的地发送的数据,优先分配发送目的地的中继装置的虚拟信道。
可以是,所述目的地比较部针对所述目的地相同的数据单位,基于赋予在所述报头中的时间信息,来决定所述发送目的地的中继装置的虚拟信道的分配顺序。
可以是,所述目的地比较部使用从发送数据起的经过时间来作为所述时间信息,并从所述经过时间长的数据起,优先地分配所述发送目的地的中继装置的虚拟信道。
可以是,所述目的地比较部使用到达目的地的截止时刻来作为所述时间信息,并从到所述截止时刻的剩余时间少的数据起,优先地分配所述发送目的地的中继装置的虚拟信道。
可以是,所述中继装置还具备:多个输入端口,它们各自接受确定了目的地的数据,所述输出部具备:多个输出端口,其各自输出数据;多个虚拟信道,其对应各输入端口而设置,容纳已接受的数据;和交叉开关,其通过针对所述虚拟信道中所容纳的数据的每个目的地,将容纳基于时间信息的优先级最高的数据的虚拟信道、和与可到达所述优先级最高的数据的目的地的总线连接的输出端口进行连接,来从各输出端口输出所述数据。
可以是,从发送虚拟信道中所容纳的数据起的经过时间越长,基于所述时间信息的优先级越高。
可以是,离虚拟信道中所容纳的数据到达目的地的截止时刻的剩余时间越短,基于所述时间信息的优先级越高。
可以是,所述数据的分组由多个微片构成,所述数据以微片单位在所述总线上传输,所述中继装置还具备:负载测量部,其测量通过本中继装置的数据的负载,在由所述负载测量部测量出的负载大于预先规定的阈值的情况下,所述交叉开关在每发送1微片时,切换虚拟信道和输出端口之间的连接,在负载为阈值以下的情况下,在每完成1个分组的微片的发送时,切换虚拟信道和输出端口之间的连接。
可以是,所述负载测量部对本中继装置内的虚拟信道内所容纳的微片的量进行测量来作为通过所述中继装置的数据的负载。
可以是,所述交叉开关在每发送1微片时,始终切换虚拟信道和输出端口之间的连接。
可以是,所述中继装置还具备:传输路径解析部,其在目的地不同的分组间,确定到重复的目的地的传输路径;和输出信道选择部,其基于所述时间信息,针对所述虚拟信道的每个目的地,选择与容纳基于所述时间信息的优先级最高的数据的虚拟信道连接的输出信道,所述输出信道选择部基于由所述传输路径解析部确定的传输路径,从容纳彼此间传输路径的重复相对较少的目的地的分组的中继装置起,依次分配发送目的地的中继器的虚拟信道。
可以是,所述目的地比较部根据在到所述目的地的路径上通过的所述中继装置是否相同,决定在所述多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序。
可以是,本发明的其他中继装置具备:多个虚拟信道,其各自容纳数据单位,该数据单位包含附加了到达目的地的截止时间信息的报头、以及与所述报头关联的数据;和目的地比较部,其根据所述时间信息所示的时刻,来决定所述多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序,其中,所述中继装置从决定了所述发送目的地的中继装置的虚拟信道的分配后的虚拟信道输出所容纳的数据单位,并在集成电路内中继所传输的数据单位。
发明效果
根据本发明,通过在不增加中继装置内的虚拟信道的尺寸和数目的前提下对目的地不同的分组更加均匀地分配虚拟信道,从而避免同一目的地的分组占有中继装置内的虚拟信道。由此,由于在各中继装置中能对更多的目的地同时地发送分组,因此能防止数据在下一中继装置中变得难以流动。其结果是,能使NoC整体的传输性能(吞吐量、延迟时间、抖动)提高。
附图说明
图1的(A)是表示集中式的总线控制的例子的图,(B)是表示分布式的总线控制的图。
图2是中继装置的基本构成的概略图。
图3的(A)是表示从中继装置内的输入端口向输出端口的连接请求(发送请求)的一例的图,(B)是表示独占性地连接输入端口和输出端口的组合的例子的图。
图4是说明本发明要解决的课题的具体的一例的图。
图5是表示本发明的中继装置501的动作的概要的图。
图6是在实施方式1中假定的分布式的总线的构成图。
图7是表示分组1100的传输格式的一例、以及将分组1000划分为多个微片的例子的图。
图8是实施方式1中的中继装置1201的构成图。
图9是表示由虚拟信道信息管理部1207管理并保持的虚拟信道信息1301的一例的图。
图10是表示中继装置1201的动作的过程的流程图。
图11的(A)是表示在中继装置1201还未接收到微片的状态下与输入端口0相关的虚拟信道信息1301的图,(B)是表示各缓冲器的样子的图。
图12的(A)是表示在中继装置1201接收到头微片1104的情况下的虚拟信道信息1301的图,(B)是表示将在输入端口0处接收到的头微片1104容纳于虚拟信道0的情况下的各缓冲器的样子的图。
图13的(A)是表示在中继装置1201中设定了虚拟信道的输出端口后的虚拟信道信息1301的图,(B)是表示各信道的样子的图。
图14的(A)是表示在中继装置1201中决定了输出信道后的虚拟信道信息1301的图,(B)是表示各信道的样子的图。
图15的(A)是表示中继装置1201正在发送微片的状态的虚拟信道信息1301的图,(B)是表示各信道的样子的图。
图16的(A)是表示在发送了尾微片1106后的虚拟信道信息1301的图,(B)是表示各信道的样子的图。
图17是表示针对虚拟信道1216的输出缓冲器1206的分配的过程的流程图。
图18的(A)和(B)是表示在中继装置1201内容纳了构成多个分组的微片时的、缓冲器管理信息1301以及各缓冲器的状态的一例的图。
图19是表示独占性地连接输入端口和输出端口的交叉开关的切换处理方法的流程图。
图20是表示时间信息、以及时间信息的比较基准的例子的图。
图21(A)和(B)是表示从中继装置R1来看的各种目的地的定义以及能符合各定义的目的地的具体例的图。
图22的(A)和(B)分别是表示在经由中继器1~3对4个接收节点A~D发送分组的情况下的、各中继装置的发送调度的方法、与通过各总线的微片的发送顺序的关系的图。
图23是说明在将分组的发送调度按每分组进行的情况、与按每微片进行的情况的总线的利用效率和交叉开关的切换次数的相对比较的图。
图24是表示实施方式2的中继装置的构成的图。
图25是表示实施方式2的中继装置进行的虚拟信道和输出端口之间的连接的切换处理动作的流程图。
图26是表示在实施方式3中,由多级连接网式的拓扑构成的NoC中的重复的总线的例子的图。
图27是表示实施方式3中的中继装置的构成的图。
图28是表示实施方式3的中继装置的处理的过程的流程图。
图29的(A)~(C)是表示集成电路的拓扑的例子的图。
图30是说明在存储器总线中利用了本发明的中继装置的例子的图。
图31是说明在多核处理器上利用了本发明的中继装置的例子的图。
具体实施方式
以下,参照附图来说明本发明的中继装置的动作原理、以及实施方式。
图5示出了本发明的中继装置501的动作的概要。
在并行计算机或ATM等所利用的中继装置中,以更多地发送虚拟信道内的分组为主要目标来进行分组的发送调度。在上述使用环境中,与NoC相比,对虚拟信道的数目及尺寸的制约、对延迟时间的制约少,因此不需要考虑发送目的地的中继装置的虚拟信道全部由向相同的目的地发送的分组占有的情况。实际上,未进行考虑了在虚拟信道中容纳目的地不同的分组的虚拟信道的分配控制。
与此相对,在本发明中,设想了在受到对虚拟信道的数目及尺寸的制约、另外受到延迟时间的制约的NoC那样的通信环境下所利用的中继装置。具体而言,本发明的中继装置在中继装置内存在多个目的地不同的分组的情况下,不是简单地维持已发送分组的顺序来进行中继,而是按照使标地址不同的分组在发送目的地的中继装置的虚拟信道中尽可能均匀地容纳的方式来进行分组的发送调度。
例如,如图5所示,1.发送源的中继装置选择目的地不同的分组,按照在中继装置501的虚拟信道中均匀地容纳目的地不同的分组的方式来发送分组,2.避免目的地相同的分组占有全部的虚拟信道(VC)的状态。由此,3.增加输入端口和输出端口之间的独占性的连接组合,削减发送等待状态,由此,抑制传输性能的下降。
以下,说明本发明的各实施方式的中继装置。
(实施方式1)
图6是在本实施方式中假定的分布式的总线的构成图。
在本实施方式中,以经由多个中继装置来连接作为发送节点的多个总线主控器(BM)、和作为接收节点的多个存储器的构成(多级连接网、MIN:Multistage Interconnection Network)为例进行说明。将各中继装置设为2输入和2输出。
在图6中,示出了由总线来连接8个总线主控器(BM0~BM7)、12个中继装置(R0~R11)、8个存储器(存储器0~7)的电路的样子。
将12个中继装置按照每4个一组的方式划分为3个组。3个组是与8个总线主控器连接的组(R0、R1、R2、R3)、与8个存储器连接的组(R8、R9、R10、R11)、以及连结与总线主控器或存储器连接的中继装置的组(R4、R5、R6、R7)。
构成多级连接网的各中继装置具备2输入2输出的交叉开关。如图6(b)所示,通过切换开关来变更输入和输出的组合,能将业务的流动向2种传输路径切换来进行发送。此外,若输出目的地的传输路径不同,则中继装置能同时将2个业务输出到各传输路径。
在多级连接网中,通过在各中继装置中的开关的切换,能在所有总线主控器和所有存储器间,构筑必定1个以上的传输路径。
一般而言,为了通过交叉开关来连接所有的N个总线主控器和M个存储器,开关需要N×M个。而且,随着总线主控器和存储器的数目增加,开关的数目会急剧增加。与此相对,在多级连接网(MIN)中,具有通过对输入输出数目小的交叉开关进行分级连接而能以少的开关来切换总线主控器和存储器间的连接的特征。
此外,尽管在本实施方式中列举了多级连接网的例子来说明,但这是一例。即使集成电路的构成是其他的拓扑构成,也能应用本发明。另外,在本实施方式中,说明的是从总线主控器向存储器的数据转发是通过分组交换方式经由多个中继装置进行的情况。
分组如图6(a)所示,被分割为称作微片的、能使用总线以1周期传输的尺寸,并向相邻的中继装置发送。
图7示出了分组1100的传输格式的一例、以及将分组1000分割为多个微片的例子。
分组1100具备:报头字段1101、数据字段1102以及控制码字段1103。
在报头字段1101中例如描述发送目的地的地址、发送源的地址、从发送分组起经过的时刻的信息(时间信息)。时间信息的描述方法是任意的,只要是能在从将其分组由总线主控器发送起的经过时间与其他分组之间进行比较的值即可。例如,可以是直接记载由总线主控器发送的时刻的方法、或者可以记载从发送起的经过时刻、或者到当前为止通过的中继装置的跳数等。
在数据字段1102中例如描述影像数据、声音数据。在控制码字段1103中例如描述预先规定的分组1100的结束码。
基于上述报头字段1101的数据中的、发送目的地的地址、以及发送源的地址,来进行分组1100的中继处理、以及在接收侧的接收处理。
发送侧的总线主控器将分组1100分解为称作微片的小的分组单位来传输。1微片是能使用总线以1周期传输的数据,其尺寸由总线宽度的大小决定。将分割了分组1100而得到的微片中最初发送的微片称作头微片1104。在头微片1104中赋予了表示是分组的排头的标志信息、以及分组的发送目的地的地址信息。
此外,头微片1104后的接下来的各微片未容纳确定发送目的地的地址信息。其理由是,头微片1104后接着的微片被送往与头微片1104相同的目的地。若由头微片1104决定目的地,并决定输出其业务的微片的输出缓冲器,则其后接着的微片利用与头微片1104相同的输出缓冲器而被传输到头微片1104所示的目的地。
另外,将分组的最后的微片称作尾微片1106。在尾微片1106中赋予了表示其微片构成分组的最后的微片的标志信息。另外,头微片1104和尾微片1106以外的微片主要是传输数据的微片,称作数据微片1105。
接收侧的存储器若检测出控制码字段1103中所描述的结束码,则基于该结束码,将所传输的微片重构为分组。
例如,1分组的尺寸是128字节,1微片的尺寸是32比特或64比特。在此,需要留意的是,由于1分组的尺寸以及1微片的尺寸根据应用而不同,因此上述的尺寸只不过是一例。微片的长度可以以发送目的地的地址、发送源的地址等能描述控制数据的长度为基准。
在各中继装置中准备了用于蓄积所送来的微片的缓冲器。微片一旦被蓄积在缓冲器后,通过开关的切换向作为目的的路径接续的中继装置、目的地的存储器发送。此外,尽管图6假定了将微片从总线主控器发送到存储器的例子,但这仅是一例。微片的目的地不限于存储器,例如还可以是其他总线主控器、或用于与周边设备连接的输入输出端口。
图8是本实施方式的中继装置1201的构成图。
中继装置1201具有:输入缓冲器1204、开关1205、输出缓冲器1206、虚拟信道信息管理器1207、时间信息比较部1210、目的地比较部1211、输出信道选择部1212、发送信道选择部1213、开关切换部1214、以及竞争检测部1215。
以下,说明各构成要素的功能。
输入端口1218接收从相邻的中继装置、或者其他发送节点发送来的微片。
输入缓冲器1204是对从在输入端口侧相邻的中继装置(或者发送节点)发送来的微片进行蓄积的缓冲器。
构成输入缓冲器1204的临时缓冲器可以按中继装置1201的每个输入设置1个,或者按照能针对每个不同的分组来利用单独的信道进行发送调度控制的方式,按每个输入设置多个虚拟信道1216。在本实施方式中,如图8所示,设为每个输入缓冲器1204具备4个虚拟信道1216。
交叉开关1205是切换中继装置1201的输入端口和输出端口之间的独占性的连接的开关。
输出端口1219是从中继装置向相邻的中继装置、或者接收节点发送微片的发送部。
输出缓冲器1206是在向输出端口目的地的中继装置群1203发送微片时利用的临时缓冲器。
在输出缓冲器1206中还设置有多个输出信道1217。将输出信道1217设置为与输出端口1219的目的地连接的中继装置1203的输入缓冲器内的虚拟信道相同的数目,从而确定了与相邻的中继装置群1203的虚拟信道为1对1的对应关系。
将从中继装置1201发送的微片蓄积于与在发送中利用的输出信道对应的输出端口的目的地所连接的中继装置群1203的虚拟信道。即,中继装置1201通过选择在微片的发送中利用的输出信道,能指定容纳了向与输出端口的目的地连接的中继装置1203发送的微片的中继装置1203的虚拟信道。
虚拟信道信息管理部1207管理各虚拟信道1216中所容纳的微片的信息。关于由虚拟信道信息管理部1207管理的信息的内容,使用图9在后说明。
输出端口选择部1208在将新的头微片送入输入缓冲器1204时,接受其,并基于头微片中所描述的目的地信息,确定下一个进行接收的中继装置。
时间信息比较部1210比较基于各虚拟信道内所容纳的分组中所赋予的时间信息的优先级,并从优选度从高到低的顺序对虚拟信道排序。
此外,在本实施方式中,作为赋予在分组中的时间信息,假定分组的发送时刻,另外,将基于时间信息的优先级设为:从发送分组起的经过时间越长即分组的发送时刻越早,优先级越高。
目的地比较部1211使用各虚拟信道内所容纳的分组的目的地来对虚拟信道进行分组,并按容纳在每组中的分组的经过时间从长到短的顺序来决定虚拟信道的分配顺序。
输出信道选择部1212从各虚拟信道内所容纳的微片中,基于发送时刻比较部1210得到的发送时刻的比较结果、以及目的地比较部1211得到的目的地的差异的比较结果,选择未被输出缓冲器1206利用的输出信道1217。
发送信道选择部1213按每个输入端口从多个虚拟信道中选择1个发送微片的虚拟信道。
开关切换部1214控制交叉开关1205,按照由发送信道选择部1213按每输入端口对所选出的1个的虚拟信道分配独占性的输出端口的方式,切换交叉开关1205。
竞争检测部1215对于1个输出端口,在多个虚拟信道中产生了微片发送的竞争的情况下,由开关切换部1214对未分配输出端口的输入端口指示选择发送到其他输出端口的虚拟信道。是否产生了竞争能根据开关切换部1214是否切换了交叉开关1205来判断。
此外,在本发明中,将参加在虚拟信道中容纳由中继装置接收到的微片的处理的、输入端口1218、输入缓冲器1204、虚拟信道1216合起来定义为输入部120a。另外,将参加从中继装置输出虚拟信道中所容纳的微片的处理的、交叉开关1205、发送信道选择部1213、开关切换部1214、输出缓冲器1206、输出信道1217、输出端口1219合起来定义为输出部120b。
图9是由虚拟信道信息管理部1207管理且保持的虚拟信道信息1301的一例。
作为虚拟信道信息,为了区别各虚拟信道,分配了输入端口和虚拟信道的标识编号,进而在虚拟信道中容纳分组时,管理用于确定该分组的目的地的地址信息、表示从发送分组起的经过时间的时间信息、用于将微片发送到目的地的输出端口的编号、以及输出信道的编号。此外,时间信息可以不是经过时间,例如可以是分组的发送时刻。
接下来,使用图10的流程图、以及图11~图18来说明各中继装置1201的动作的概要。此外,在图11~图18中,对与图8、图9相同的构成赋予相同的编号并省略说明。
当启动电路整体时,中继装置1201成为对经由输入端口1218从相邻的中继装置1202、或者发送节点发送的微片的接收等待状态。
图11(A)示出了中继装置1201在未接收到微片的状态下与输入端口0相关的虚拟信道信息1301,图11(B)示出了各缓冲器的样子。以下,在本说明书中,对于与输入端口0相关的虚拟信道信息仅例示1301。用于参考,在图11(B)中,示出了头微片(H)1104、数据微片(D)1105以及尾微片(T)1106。
由于微片还未到达,因此虚拟信道成为未使用状态。
在图10的步骤1400中,输入端口1218判断是否接收到微片。在接收到微片的情况下,处理前进到步骤1401,在未接收到微片的情况下,处理前进到步骤1402。在步骤1401中,输入端口1218在虚拟信道1216中容纳接收到的微片。此外,容纳目的地的虚拟信道1216由相邻的中继装置1202决定。
在步骤1402中,虚拟信道1216判断是否在输入缓冲器中存在微片。在存在微片的情况下,处理前进到步骤1403,在不存在微片的情况下,处理返回到步骤1400。
在步骤1403中,中继装置内的虚拟信道1216判定所容纳的微片是否为头微片1104。在排头的微片是头微片的情况下,前进到步骤1404,否则,前进到步骤1407。此外,从步骤1403向步骤1407前进的例子中,即使在分组的发送途中,也有需要切换虚拟信道和输出端口之间的连接的状况。例如,存在发送时刻早的微片从其他发送节点推迟到达的情况。因此,构成为从步骤1103前进到步骤1407。在已确保了独占连接的情况下,在形式上不进行步骤1407的处理而前进到步骤1408。
在步骤1404中,在所容纳的微片是头微片的情况下,虚拟信道信息管理部1207将头微片中所记录的目的地的地址、以及表示从发送节点发送分组起经过的时间的时间信息记录于虚拟信道信息1301中。
图12(A)表示在中继装置1201中接收到头微片1104的情况下的虚拟信道信息1301。
图12(B)示出了在输入端口0接收到的头微片1104通过步骤1402而容纳于虚拟信道0的情况下的各缓冲器的样子。
在头微片1104到达虚拟信道时,将头微片1104中所记载的目的地的地址、发送分组(以及构成分组的头微片1401)的时刻信息记录于虚拟信道信息1301中。
图12(A)示出了头微片1104中所赋予的目的地的地址、以及在记录了发送时刻信息后的虚拟信道信息1301的样子。
在此,将作为分组的目的地的存储器0的地址000、以及发送的时刻20(周期)记录于虚拟信道信息1301。
在图12的步骤1405中,输出端口选择部1208接受头微片,并对还未设定虚拟信道管理信息1207的输出端口的编号的虚拟信道决定输出端口。
例如,在图6所示的多级连接网的情况下,以3位的2进制数对各存储器分配地址,并在各分组的头微片中以3位2进制数赋予了作为目的地的存储器的地址。
各中继装置的输出端口选择部1208从对头微片赋予的3位地址中,从左读取与中继装置的级数相同的位数的数字。而且,若该值为0,则向图5中右上的中继装置发送微片,若值为1,则向图5中右下的中继装置发送微片,按照这种方式来决定路径。
例如,在从总线主控器BM2向存储器5(地址:101)发送数据的情况下,依照地址中所记载的3位数字,首先,用中继装置R1向右下的中继装置R7发送微片,接着用中继装置R7向右上的中继装置R10发送微片,最后用中继装置R10向右下的存储器5发送微片。由此,从总线主控器BM5向存储器2传输微片。
此外,作为输出端口选择部1208进行的输出端口的选择方法,只要是根据分布总线的拓扑结构来将微片适当地送往目的地的方法,就可以是上述以外的方法。
图13(A)示出了在中继装置1201中设定了虚拟信道的输出端口后的虚拟信道信息1301,图13(B)示出了各信道的样子。
在图13(A)中,由于在输入端口0的虚拟信道0中容纳有向目的地的地址为000的存储器0发送的微片,因此,虚拟信道1216为了从向着存储器0的输出端口0发送微片,将输出端口编号设定为0。
在图10的步骤1406中,时间信息比较部1210、目的地比较部1211、输出信道选择部1212在虚拟信道信息管理部1207中,对于未设定输出信道的的虚拟信道,基于微片的目的地、以及作为基于时间信息的优先级的分组的发送时刻的早晚,按每个目的地对分组的发送时刻最早的虚拟信道进行输出信道的分配。
图14(A)示出了在中继装置1201中决定了输出信道后的虚拟信道信息1301,图14(B)示出了各信道的样子。
在图14(B)中,输出端口0的输出信道均未使用。在本实施方式中,为了使输入端口0的虚拟信道0使用输出信道0,在图14(A)中将输出信道编号设定为0。
此外,关于在中继装置内存在多个分组的情况下的输出信道的分配的细节,使用图17在后说明。
在图10的步骤1407中,发送信道选择部1213参照虚拟信道信息1301,按每输入端口选择1个输出信道设定完成的虚拟信道。
另外,开关切换部1214参照虚拟信道信息1301,判定在由发送信道选择部1213选择出的虚拟信道所设定的输出端口中是否存在竞争,在产生了竞争的情况下,选择处于竞争中的虚拟信道的任意一个。
由此,在输入端口和输出端口之间选择独占性的连接,开关切换部1214基于该结果,切换交叉开关1205。
在步骤1408中,在交叉开关的切换结束时,由发送信道选择部1213选择出的虚拟信道1216利用各自所决定的输出端口的输出信道1206来发送微片。
图15(A)示出了中继装置1201正在发送微片的状态的虚拟信道信息1301,图15(B)示出了各信道的样子。
在图15(A)以及(B)中,在中继装置内分组只有1种,因此在输入端口0的虚拟信道0内的微片依次通过记录在虚拟信道信息1301中的输出端口的输出信道,被发送到存储器0。
在图10的步骤1409中,虚拟信道1216在发送微片时,判定所发送的微片是否为构成分组的最后的微片。
在步骤1410中,在所发送的微片是构成分组的最后的微片的情况下,需要进行释放以使其他分组能利用该虚拟信道。为此,虚拟信道信息管理部1207对相应的虚拟信道的信息进行初始化。
图16(A)示出了在发送尾微片1106后的虚拟信道信息1301,图16(B)示出了各信道的样子。
在图16(A)以及(B)中,通过发送尾微片1106,输入端口0的虚拟信道0内的微片全部被发送,成为未使用状态。因此,虚拟信道信息1301对虚拟信道0的内容进行初始化。
以上,通过反复从步骤1401到步骤1410的处理,中继装置1201能向着目的地的接收节点发送送来的分组。
以下,一边参照图17,一边说明步骤1406中的处理,即在虚拟信道中容纳了头微片1104时利用的输出信道的详细的分配处理。另外,一边参照图19,一边详细地说明步骤1407中的、独占性地切换输入端口和输出端口之间的连接的处理。
图17示出了针对虚拟信道1216的输出缓冲器1206的分配的顺序。
在此,以在中继装置1201内容纳有构成多个分组的微片,且缓冲器管理信息1301、以及各缓冲器的状态分别处于图18(A)、图18(B)所示的状态的情况为例进行说明。在图18(B)中,示出了头微片H、数据微片D、尾微片T。这表示多个分组分别由输入端口0和1并行地接收,并且各自输出。
在步骤1501中,中继装置1201的输出信道选择部1212确认在各虚拟信道中是否存在虽设定了输出端口但未设定输出信道的虚拟信道。
在图18(A)所示的缓冲管理信息1301中,对于输入端口0的虚拟信道1、以及输入端口1的虚拟信道1,输出信道处于未设定的状态。
在步骤1502中,在存在虽设定了输出端口但未设定输出信道的虚拟信道的情况下,在缓冲器管理信息1301中所记录的输出端口中确认输出信道是否有空闲。
在图18(A)的虚拟信道信息1301中,输入端口0的虚拟信道1、以及输入端口1的虚拟信道1均设定了输出端口1。
另外,输出端口的输出信道中,通过图18(A)的虚拟信道信息1301,仅输出信道2被利用于输入端口1的虚拟信道2,其余的未被利用因此处于空闲状态。
在步骤1503中,时间信息比较部1201比较未设定输出信道的虚拟信道内的基于时间信息的优先级(从总线主控器BM发送的时刻的早晚),从优先级高(发送时刻早)的虚拟信道起排序,选择1个发送时刻最早的未设定输出信道的虚拟信道。
在图18(A)的缓冲器管理信息1301中,发送时刻小的输入端口1的虚拟信道1的一方在输出信道处于未设定状态的虚拟信道中容纳有最早的分组,并作为设定输出信道的候选而选择。
在步骤1504中,目的地比较部1211判定在与所选择的虚拟信道的目的地相同的目的地是否存在已分配了输出信道1217的虚拟信道1216。在存在的情况下,处理前进到步骤1505,在不存在的情况下,前进到步骤1507。
在图18(A)所示的虚拟信道信息1301中,由于与输入端口1的虚拟信道1相同的目的地地址的输入端口1的虚拟信道2已被分配了输出端口,因此处理前进到步骤1505。
接着,在图17的步骤1505中,输出信道选择部1212容纳选择中的虚拟信道的下一个发送时刻早的分组,进而判定是否存在未设定输出信道的虚拟信道。在存在的情况下,处理前进到步骤1506,在不存在的情况下,处理前进到步骤1508。
在图18(A)所示的虚拟信道信息1301中,容纳选择中的输入端口1的虚拟信道1的下一个发送时刻早的分组,进而由于存在未设定输出信道的虚拟信道,因此处理前进到步骤1506。
在步骤S1506中,输出信道选择部1212在选择中的虚拟信道中容纳下一发送时刻早的分组,并新选择未设定输出信道的虚拟信道作为要设定输出信道的候选。
在图18(A)所示的虚拟信道信息1301中,将作为当前设定输出信道的候选而处于选择中的输入端口1的虚拟信道1的下一个发送时刻早、且未设定输出端口的输入端口0的虚拟信信道1选择为新的候选。输出信道选择部1212反复确认在对向与已选择的虚拟信道所容纳的分组相同的目的地发送的分组进行容纳的虚拟信道中是否未设定输出信道(步骤1504)。
在步骤1504中,在不存在设定了相同目的地的虚拟信道的情况下,处理前进到步骤1507,输出信道选择部1212将空闲的输出信道分配给选择中的虚拟信道。
在图18(A)所示的虚拟信道信息1301中,由于不存在分组的目的地与成为要新设定输出信道的候选的未设定输出端口的输入端口0的虚拟信道1相同、且输出信道设定完成的虚拟信道,因此转移到步骤1507,分配输出信道。
另外,反复步骤1504至步骤1506的结果是:在步骤1505中,在判定为不存在其他未设定输出信道的虚拟信道的情况下,转移到步骤1508,对最初选择的(发送时刻最早、未设定输出信道)虚拟信道分配空闲的输出信道。这是因为,由于对全部的目的地分配了一个以上的输出信道,因此相比在不同的目的地间均匀地分配输出信道,优选对发送时刻早的分组分配输出信道。
在步骤1508中,输出信道选择部1212对最初选择的虚拟信道设定空闲的输出信道。
通过进行步骤1504至步骤1508,从而在图18(A)的虚拟信道信息1301中,若仅比较经过时间,则输入端口1的虚拟信道1在未设定输出信道的虚拟信道中,容纳有发送时刻最早的微片。然而,该微片的目的地(地址011)与输入端口1的虚拟信道2中所容纳的微片的目的地相同。而且,对于输入端口1的虚拟信道2已分配有输出信道2。因此,对于输入端口0的虚拟信道1分配输出端口1的空闲信道。
如上所述,通过反复进行图17所示的步骤1501至步骤1508,能针对每一目的地仅对容纳最早的分组的虚拟信道分配输出信道。因此,能避免全部的输出信道即与其对应的输出端口目的地的虚拟信道全部由相同的目的地的分组占有。
图19示出了独占性地连接输入端口和输出端口的交叉开关的切换方法。
中继装置1201维持分组的发送时的顺序,另外,为了抑制传输延迟的增加,在多个虚拟信道1216中所容纳的分组(微片)中,从由发送节点发送起经过时间早的分组起依次发送。
通过交叉开关的切换,在独占性地连接输入端口和输出端口的情况下,对于多个输入端口和输出端口的请求,通过同时连接更多的输入端口和输出端口,能转发更多的微片。
因此,在并行计算机或ATM网等中,采用了像非专利文献1那样,在交叉开关的1次切换中,从输入端口和输出端口的全部的组合中搜索更优的组合的波前分配器、或者通过反复多次进行在输入端口侧和输出端口侧独立决定发送微片的虚拟信道的选择的处理,来决定更优的组合的并行迭代匹配等方法。
然而,对于NoC,由于在集成电路中构成中继装置,因此,由于安装面积或所容许的延迟时间、消耗功率的制约,难以直接应用并行计算机或ATM等所使用的处理量或重复次数多的方法,因此期望以更简单的构成和处理量来连接更多的输入端口和输出端口。
因此,在本发明的实施例中,在输入端口侧和输出端口侧分别独立地仅决定1次发送微片的虚拟信道的选择,并使输出端口侧的选择结果反馈到下一次输入切换的结果中,由此来决定交叉开关进行的输入端口和输出端口的连接变得更多的组合。
因此,发送信道选择部1213在步骤1601中,按每输入端口,选择1个容纳从发送起的经过时间最早的分组的虚拟信道。
接着,在步骤1602中,开关切换部1214在步骤1601中,在由发送信道选择部1213选择的各输入端口的虚拟信道间,在输出端口的利用中产生了竞争的情况下,按每输出端口选择1个容纳经过时间最早的分组的虚拟信道,并按照将所选择出的虚拟信道与输出端口连接的方式来进行交叉开关1205的切换。
在步骤1603中,在交叉开关的切换结束时,由开关切换部1214选择出的虚拟信道发送容纳的微片。
在步骤1604中,竞争检测部1215在步骤1602中判定虽由发送信道选择部1213选择出但在虚拟信道间,在输出端口的获得是否产生了竞争。具体而言,竞争检测部1215从开关切换部1214接受是否能进行开关的切换的信息。可以说,在能进行开关的切换的时不产生竞争。反之,可以说在未能进行开关的切换时产生了竞争。基于该基准,竞争检测部1215判定是否产生了竞争。
在步骤1605中,在虚拟信道间,输出端口的获得中产生了竞争的情况下,竞争检测部1215将未被开关切换部1214选择出的虚拟信道通知给发送信道选择部1213,发送信道选择部1213对于未能获得输出端口的输入端口,在向其他输出端口发送的虚拟信道中选择1个发送时刻最早的虚拟信道,返回步骤1602。
通过反复进行从步骤1601至步骤1605的处理,进行交叉开关的切换,以使更多的输入端口和输出端口的独占性的连接数变多,从而传输性能得以提高。
如此,在实施方式1的中继装置1201中,通过区别分组的目的地,并在NoC的中继装置中对不同目的地的分组分配有限的虚拟信道,从而相同目的地的分组占有一部分的中继装置的虚拟信道,避免不能发送要向其他目的地发送的分组的状况,抑制传输性能(吞吐量、延迟时间、抖动)的下降。
在本实施方式中,在时间信息比较部1201中,作为基于赋予分组的时间信息的优先级,将发送分组的时刻的早晚定义为优先级,从发送时刻早的分组起优先进行输出信道的分配。但是,也可以以发送时刻以外的时间信息为基准来定义优先级,并分配输出信道。
图20是表示时间信息、以及基于时间信息的优先级的比较基准的例子。
作为时间信息,例如可以使用从发送分组起的经过时间。
为了管理作为时间信息的发送时刻,需要足以能表现半导体系统进行动作的期间的位数。因此,在半导体系统长时间动作的情况下,时间信息的位数变大。
与此相对,在使用从发送分组起的经过时间作为时间信息的情况下,只要是足以表现分组从发送起到接收为止所花的时间的位数即可,能使时间信息的位数较小。若作为时间信息处理的值的位数小,则能使时间信息比较部1210中的时间信息的比较电路较小,因此对于半导体系统的资源削减是有效的。
另外,即使使用发送时刻,也能通过使用由年月日时分秒表现的发送时刻的一部分(例如,从M位的发送时刻的位小的一方起n位的值(n:M>n的整数)),来减小作为时间信息处理的位数。作为n位的值,例如能使用足以表现分组从发送起到接收为止所花的时间的位数。
在此情况下,在时间信息比较部1201中,作为基于对分组赋予的时间信息的优先级,从发送分组起的经过时间大的分组起优先进行输出信道的分配。
另外,可以使用分组到达接收节点的截止时刻来作为时间信息,并从截止时刻近的分组起依次分配输出信道。
一般而言,分组到达接收节点前所能容许的延迟时间因总线主控器的种类或处理的内容而不同。因此,在从发送节点发送了多个到截止时刻为止的时间较长的分组后,若假定要发送到截止时刻为止的时间短的分组的状况,则在中继装置中,较之从发送时刻早的分组起依次分配输出信道来发送分组,从到截止时刻为止的剩余时间短的分组起分配输出信道来发送分组,能对更多的分组遵守能容许的延迟时间。
在此情况下,在时间信息比较部1201中,作为基于对分组赋予的时间信息的优先级,从分组到接收节点为止的截止时刻离当前时刻近的分组起优先地进行输出信道的分配。
另外,作为时间信息,可以取代截止时刻而使用到截止时刻为止的剩余时间。
在此情况下,在时间信息比较部1201中,作为基于对分组赋予的时间信息的优先级,从分组到达接收节点的截止时刻为止的剩余时间短的分组起优先进行输出信道的分配。
在本实施方式中,在目的地比较部1211中,以接收节点的地址为例说明了目的地的区别。然而,目的地的区别的定义不限于接收节点的地址。
例如,作为目的地,可以指定中继器。图21(A)以及(B)示出了从中继装置R1来看的各种目的地的定义以及能符合各定义的目的地的具体例。例如,在图21(A)的构成中,将在分组到达接收节点之前的传输路径上通过的中途的中继装置定义为目的地。
对于图21(A)的中继装置R1,若将目的地的定义设为接收节点(存储器),则对中继装置R1而言,从存储器0到存储器7这8个成为目的地,而若将目的地的定义设为到后两个的目的地的中继装置,则4个中继装置R8~R11能成为目的地。进而,若将目的地的定义设为后一个的中继装置,则2个中继装置R5以及R7能成为目的地。
通过像这样将目的地的定义设为传输路径上的中途的中继装置,较之以作为接收节点的存储器为目的地的情况,能削减在目的地比较部1211中比较的目的地数目,从而能削减在虚拟信道间进行的目的地的比较的处理。
在分组到达被设为目的地的中继装置的情况下,该中继装置再次依照图21(B)的任一个的定义来设定目的地并送出分组即可。
(实施方式2)
在实施方式1中,在虚拟信道的数目或尺寸限制多的NoC中,通过在目的地不同的分组间均匀地分配中继装置内的虚拟信道的调度控制,使虚拟信道的利用高效化,从而使NoC整体的传输性能得以提高。
与此相对,在本实施方式的中继装置中,进一步通过在每次发送比分组的尺寸小的1微片时进行连接输入端口和输出端口的交叉开关的切换,来使NoC整体的总线的利用高效化,从而使NoC的传输性能提高。
利用图22来说明本实施方式的中继装置的动作的概要。
图22(A)以及(B)分别示出了在对4个接收节点(接收节点A、接收节点B、接收节点C、接收节点D)经由中继器1、中继装置2、中继装置3发送了分组的情况下,各中继装置中的发送调度的方法、以及通过各总线的微片的发送顺序的关系。图22(A)示出了总线的利用率产生了不均的状态。图22(B)示出了使总线的利用率均匀化的状态。
图22(A)示出了各中继装置在每次发送1分组时进行了交叉开关的切换的情况下,在各总线上流过的微片的发送顺序。
在对每1分组进行发送调度的情况下,由于到完成构成1分组的全部的微片的发送为止都利用相同的总线,因此如图22(A)所示,分为微片的流动拥塞的总线、以及微片的流动空闲的(未被利用)的总线,从而总线的利用率易于产生不均。
另外,图22(B)示出了各中继装置在每发送1微片时进行交叉开关的切换的情况下,在各总线上流动的微片的发送顺序。
在每发送1微片时进行了发送调度的情况下,由于能按每1周期轮换目的地不同的分组并同时进行发送,因此在向着不同的目的地的总线间,利用负载均匀,从而易于高效地利用总线整体。
图23示出了将分组的发送调度按每分组执行的情况、以及按每微片执行的情况下的总线的利用效率和交叉开关的切换次数的相对的比较。
在按每微片进行图22(B)所示那样的交叉开关的切换的情况下,与按每分组进行的情况比较,交叉开关的切换的次数变多。因此,交叉开关的切换所需的处理量会增加。另一方面,由于能同时利用向着不同的目的地的总线,因此NoC整体的总线的利用效率得以提高,从而能使传输性能提高。
因此,本实施方式的中继装置基于虚拟信道的利用负载,在负载低的情况下,为了省功耗化,在每次发送开关的切换次数少的分组时进行交叉开关的切换,而在负载高于给定的阈值的情况下,在每次发送能预见总线的传输性能的提高的微片时进行交叉开关的切换。
图24表示实施方式2的中继装置的构成。
对与实施方式1相同的构成赋予与图8相同的编号,并省略说明。此外,尽管图8所示的“输入部120a”和“输出部120b”未在图24中示出,但在图24的构成中也能同样地定义。
负载测量部2301进行输入缓冲器1204的传输负载是否超过了给定的阈值的判定。作为在输入缓冲器1204中的传输负载的测量方法,例如通过在输入缓冲器1204内使用当前正使用的虚拟信道1216的数目、虚拟信道1216内所容纳的微片数、微片的滞留时间等,能定量地测量负载的大小。
图25示出了实施方式2的中继装置进行的虚拟信道和输出端口之间的连接的切换动作。
对与实施方式1相同的处理赋予与图19相同的编号,并省略说明。图25在追加了步骤2401~2404这一点上与图19不同。
在步骤2401中,负载测量部2301测量输入缓冲器1204的负载。然后,在步骤2402中,判定所测量的负载是否为阈值以下。
若负载为阈值以下,则转移到步骤1601,选择容纳了经过时间最早的分组的虚拟信道。在负载大于阈值的情况下,转移到步骤2403。
在步骤2403中,若负载为阈值以下,则发送信道选择部1213按每输入端口以循环方式依次选择1个设定了输出信道的虚拟信道。
在步骤2404中,进而,开关切换部1214在由发送信道选择部1213选择出的虚拟信道中存在与输出端口相同的虚拟信道的情况下,以循环方式依次选择1个。
此外,步骤2403、步骤2404只要是在每次从中继装置发送1微片时发送目的地不同的微片的方法,也可以是例如随机选择虚拟信道等其他的方法。
如上所述,实施方式2的中继装置根据中继装置的传输负载的大小,能自动地在低负载时切换到开关的切换所需的处理量少的模式、而在负载高的情况下切换到传输性能高的模式来进行发送。
此外,在本实施方式中,设为根据输入缓冲器的负载来选择是按每分组进行虚拟信道的切换,还是按每微片进行。然而,也可以始终按每微片进行虚拟信道的切换。即,中继装置可以以微片单位来对多个分组进行交错,并在表现上对多个分组并行地输出。这对存在多个输出缓冲器的情况特别有效。
(实施方式3)
在实施方式1中,按每目的地对容纳发送时刻最早的分组的虚拟信道分配了输出信道。
在本实施方式中,通过从输出信道已经设定完成的分组、以及在到目的地的传输路径上重复的中继装置的数目更少的分组起优先分配输出信道,从而削减传输路径上的分组间的干扰,从而使NoC整体的传输性能得以提高。
图26示出了本实施方式的概要。
假定如下状况:在多级连接网的中继装置R3中,发往存储器0、存储器1、存储器3的分组处于被容纳于虚拟信道的状态,容纳了向存储器0发送的分组的虚拟信道已经设定完成了输出信道,并对容纳了发往存储器1和存储器3的分组的虚拟信道分配输出信道。
对于发往已分配了输出信道的存储器0的分组的传输路径,发往存储器1的分组在中继装置5中也利用相同的输出端口,与此相对,发往存储器3的分组在中继装置R5中利用其它的输出端口。
因此,在实施方式3的中继装置中,为了在传输路径上抑制输出端口中的竞争,在分组的发送时刻的早晚的基础上,对向已分配了输出信道的目的地和向在到目的地的传输路径上重复的总线的数目少的目的地发送的分组进行容纳的虚拟信道,优先分配输出信道。
图27示出了本实施方式的中继装置的构成,另外,图28示出了本实施方式的中继装置的处理的过程。
在图27以及图28中,对与实施方式1相同的构成以及处理赋予与图8以及图17相同的编号,并省略说明。此外,尽管图8所示的“输入部120a”以及“输出部120b”在图27中未被示出,但在图27的构成中也能同样地定义。
在图28的步骤3301中,传输路径解析部3201判定是否存在输出信道设定完成的虚拟信道。在存在的情况下,处理前进到步骤3302,在不存在的情况下,处理前进到步骤1503。在步骤3302中,传输路径解析部3201在从中继装置起到各目的地为止的接收节点的传输路径上,解析重复的总线的数目,并选择到达输出信道设定完成的目的地的路径、以及重复的总线的数目最少的目的地的虚拟信道。
例如,在由图26的多级连接网型的拓扑构成的NoC中,将由想比较的目的地的2进制数所示的地址的各位的数值从左起比较,数值相同的位数成为总线重复的数目。在图26中,在存储器0(地址000)和存储器1(地址001)中,由于从左起到第2位为止一致,因此总线在各自的传输路径上的2处重复。在存储器0(存储器000)和存储器3(地址011)中,由于从左起到第1位为止一致,因此能确定总线在各自的传输路径上的1处重复。
图28示出了实施方式3的中继装置进行的输出信道的分配的动作。对与实施方式1相同的动作赋予与图15相同的编号,并省略说明。
在步骤3301中,传输路径解析部3201判定是否存在输出信道设定完成的虚拟信道。在不存在的情况下,前进到步骤1503,在存在的情况下,转移到步骤3302。
在图26的中继装置R3的例子中,由于中继装置R3对于容纳向着存储器0的分组的虚拟信道处于输出信道设定完成,因此前进到步骤3302。
接着,在步骤3302中,传输路径解析部3201确定在到输出信道设定完成的目的地的路径上重复的总线的数目最少的目的地,并选择容纳向着该目的地的分组的虚拟信道来作为分配输出信道的候选。其后,处理前进到步骤1507。
在图26的中继装置R3的例子中,中继装置R3针对在到输出信道已经设定完成的存储器0为止的路径上重复的总线的数目,比较在向着存储器1的路径和向着存储器3的路径的哪一个上少。
在图26的例子中,在向着存储器0的路径和向着存储器1的路径上,总线的重复是2次,在向着存储器0的路径和向着存储器3的路径上,总线的重复是1次。因此,中继装置R3选择容纳发往存储器3的分组的虚拟信道来作为分配输出信道的候选。
通过具有以上的图27的构成,且进行图28的处理,实施方式3的中继装置从已设定了输出信道的分组、以及到目的地的传输路径上重复的总线少的分组起优先地设定输出信道,因此能减少传输路径上的输出端口中的竞争,从而使传输性能得以提高。
此外,传输路径解析部3201可以实时地进行重复的路径的解析。但是,从各中继装置到各存储器的路径能在设计阶段确定。因此,预先求取重复的路径的数目,将该信息例如以表格形式预先保持到传输路径解析部3201中即可。由此,传输路径解析部3201可以通过参照该表格来确定重复的路径的程度。
以上说明了本发明的实施方式。
在实施方式1~3中,说明了在各中继装置的输出缓冲器1206中,使用具备多个输出信道1217的构成,来对于各虚拟信道1216中所容纳的分组,由输出信道选择部1212进行输出信道1217的分配的例子。
如在图8的构成中说明的那样,多个输出信道1217被设定为与经由输出端口1219而连接的发送目的地的中继装置1203内的虚拟信道相同的数目,从而与中继装置1203的虚拟信道之间确定了1对1的对应关系。因此,输出信道选择部1212选择输出信道1217与间接地选择发送目的地的中继装置1203的输入端口的虚拟信道同义。
若进一步发展该思路,则可以理解,本实施方式1~3的中继装置通过由输出信道选择部1212直接选择发送目的地的中继装置1203的虚拟信道,还能由不具有输出信道1217或输出缓冲器1206的构成来实现。在此情况下,输出信道选择部1212(1)例如,从发送目的地的中继器1203取得虚拟信道的状态的信息,并参照发送目的地的中继装置1203内的虚拟信道的空闲状态,(2)对于自身的虚拟信道1216中所容纳的各分组选择在发送目的地的中继装置1203中容纳的虚拟信道,(3)进而在从虚拟信道发送微片时,对中继装置1203进行容纳微片的中继装置1203的虚拟信道的指示即可。根据这样的不具有输出信道1217或输出缓冲器1206的构成,能减少中继装置1201内的缓冲器,因此能期待安装面积的削减、控制电路的简化等效果。
另外,尽管在实施方式1~3中,以集成电路的拓扑结构为多级连接网的情况为例进行了说明,但本发明的中继装置不限于多级连接网下的利用。例如,如图29(A)所示,可以将中继装置排列成格子状来构成网孔式拓扑。另外,如图29(B)所示,可以构成将中继装置上下左右连接成环状的圆环式拓扑。进而,可以如图29(C)所示,可以构成分级连接总线的分级式拓扑等。只要是将多个总线主控器经由分布式的总线进行连接的拓扑,就能同样地应用本发明的中继装置。
图30是说明将本发明的中继装置利用于存储器总线的例子的图。
在图30中,示出了利用分布式的总线来使便携式电话或PDA(个人数字助理)、电子书籍阅读器等便携式终端、TV、录像机、摄像机、监控摄像机等中所使用的半导体电路上的总线主控器(CPU、DSP、传输处理部、图像处理部等)和多个存储器连接的利用例。
在同时利用多个影像或音乐等的再现、记录、译码、书籍或照片、地图的阅览或编辑、游戏的操作等多个应用或服务的情况下,从各总线主控器向存储器的访问增加。在从各总线主控器访问的存储器的数目只有1个的情况下,访问会集中在1处。为了解决访问集中,需要拓宽存储器侧的输入输出的传输频带,从而成本变高。
作为避免该存储器访问的集中的方法,根据应用或服务等的种类来物理性地划分由总线主控器利用的存储器,并使这些总线主控器和存储器由分布式的总线连接,从而能避免存储器访问的集中。
然而,例如在图30中,在某总线主控器为了保存影像数据而对存储器A以高的速率发送了数据分组的情况下,若各中继装置简单的维持已送来的数据分组的顺序来进行中继,则传输路径上的虚拟信道全部由发往存储器A的分组占有的频度变多。其结果是,数据难以向其他存储器流动,会产生其他应用或服务的性能下降以及处理时间的增加。
与此相对,在使用了本发明的中继装置的情况下,在各中继装置的虚拟信道中,由于对目的地不同的分组均匀地分配虚拟信道,因此避免向着特定的存储器的分组对虚拟信道的占有,从而能实现半导体电路上的全部的应用或服务的性能的提高、以及处理时间的缩短。
此外,上述存储器可以是易失性的DRAM,也可以是非易失性的闪存。还可以易失性存储器和非易失性存储器混合。
图31是说明在多核处理器(multi-core processor)上利用了本发明的中继装置的例子的图。多核处理器内的核例如是CPU、GPU、DSP等。
在图31中,为了提高CPU或GPU、DSP等核心处理器的处理能力,将多个核处理器排列成网孔状,并是以分布总线连接它们的多核处理器。
在多核处理器上,在各核心处理器间进行通信,例如,在各核心处理器中具备存储有运算处理所需的数据的高速缓存,并能在核心处理器间交换、共享相互的高速缓存的信息,由此能使性能提高。
但是,在多核处理器上产生的核心处理器间的通信的配置或距离(中继跳数)、通信频度各不相同。因此,若简单地维持数据分组的顺序来进行中继,则虚拟信道全部由发往特定的核心处理器的分组占有,从而产生分组数据难以流动的中继装置,引起多核处理器的性能的下降、以及处理时间的增加。
与此相对,在使用了本发明的中继装置的情况下,在各中继装置的虚拟信道中,由于对目的地不同的分组均匀地分配虚拟信道,因此避免虚拟信道由向着特定的核心处理器的分组占有的中继装置的产生,从而能实现各核心处理器的性能的提高、以及处理时间的缩短。
(工业实用性)
本发明的中继装置在具备分布式的总线的集成电路中,通过高效地进行针对发送分组的各中继装置中的虚拟信道的分配顺序的的调度,从而能够提高NoC整体的传输性能(吞吐量、传输延迟、抖动)。根据该中继装置,不需要增加安装时的制约大的虚拟信道。因此,在使用分布总线来在1个SoC(片上系统)上对例如多个介质处理用的DSP、或进行高速的文件转发的CPU等进行集成时,在实现安装所需资源的省资源化、以及处理的低延迟化这两方面是有用的。
另外,由于资源的省资源化及处理的低延迟化,还对集成电路整体的省电化是有用的。
(符号说明)
1100  分组
1101  报头字段
1102  数据字段
1103  控制码字段
1201  中继装置
1202  输入端口目的地的相邻的中继装置
1203  输出端口目的地的相邻的中继装置
1204  输入缓冲器
1205  交叉开关
1206  输出缓冲器
1207  虚拟信道信息管理部
1208  输出端口选择部
1210  时间信息比较部
1211  目的地比较部
1212  输出信道选择部
1213  发送信道选择部
1214  开关切换部
1215  竞争检测部
1216  虚拟信道
1217  输出信道
1218  输入端口
1219  输出端口
1301  缓冲器管理信息
2301  负载测量部
3201  传输路径解析部

Claims (12)

1.一种中继装置,具备:
输入缓冲器,其接收数据单位,该数据单位包含附加了多个目的地的信息的报头、以及与所述报头关联的数据;
多个虚拟信道,其容纳与所述目的地的信息对应的数据单位;
目的地比较部,其根据所述目的地是否相同,来决定在所述多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序;和
输出部,其从决定了所述发送目的地的中继装置的虚拟信道的分配后的虚拟信道,输出所容纳的数据单位,
其中,所述目的地比较部区别数据单位的目的地,并按照如下方式来决定所述分配顺序:对于向未分配发送目的地的中继装置的虚拟信道的目的地发送的数据,优先分配发送目的地的中继装置的虚拟信道。
2.根据权利要求1所述的中继装置,其中,
所述目的地比较部针对所述目的地相同的数据单位,基于赋予在所述报头中的时间信息,来决定所述发送目的地的中继装置的虚拟信道的分配顺序。
3.根据权利要求2所述的中继装置,其中,
所述目的地比较部使用从发送数据起的经过时间来作为所述时间信息,并从所述经过时间长的数据起,优先地分配所述发送目的地的中继装置的虚拟信道。
4.根据权利要求2所述的中继装置,其中,
所述目的地比较部使用到达目的地的截止时刻来作为所述时间信息,并从到所述截止时刻的剩余时间少的数据起,优先地分配所述发送目的地的中继装置的虚拟信道。
5.根据权利要求1所述的中继装置,其中,
所述中继装置还具备:多个输入端口,其各自接受确定了目的地的数据,
所述输出部具备:
多个输出端口,其各自输出数据;和
交叉开关,其通过针对所述虚拟信道中所容纳的数据的每个目的地,将容纳基于时间信息的优先级最高的数据的虚拟信道、和与可到达所述优先级最高的数据的目的地的总线连接的输出端口进行连接,来从各输出端口输出所述数据。
6.根据权利要求5所述的中继装置,其中,
从发送虚拟信道中所容纳的数据起的经过时间越长,基于所述时间信息的优先级越高。
7.根据权利要求5所述的中继装置,其中,
离虚拟信道中所容纳的数据到达目的地的截止时刻的剩余时间越短,基于所述时间信息的优先级越高。
8.根据权利要求5所述的中继装置,其中,
所述数据的分组由多个微片构成,所述数据以微片单位在所述总线上传输,
所述中继装置还具备:负载测量部,其测量通过本中继装置的数据的负载,
在由所述负载测量部测量出的负载大于预先规定的阈值的情况下,所述交叉开关在每发送1微片时,切换虚拟信道和输出端口之间的连接,在负载为阈值以下的情况下,在每完成1个分组的微片的发送时,切换虚拟信道和输出端口之间的连接。
9.根据权利要求8所述的中继装置,其中,
所述负载测量部对本中继装置内的虚拟信道内所容纳的微片的量进行测量来作为通过所述中继装置的数据的负载。
10.根据权利要求8所述的中继装置,其中,
所述交叉开关在每发送1微片时,始终切换虚拟信道和输出端口之间的连接。
11.根据权利要求1所述的中继装置,其中,
所述中继装置还具备:
传输路径解析部,其在目的地不同的分组间,确定到重复的目的地的传输路径;和
输出信道选择部,其基于赋予在所述报头中的时间信息,针对所述虚拟信道的每个目的地,选择与容纳基于所述时间信息的优先级最高的数据的虚拟信道连接的输出信道,
所述输出信道选择部基于由所述传输路径解析部确定的传输路径,从容纳彼此间传输路径的重复相对较少的目的地的分组的中继装置起,依次分配发送目的地的中继器的虚拟信道。
12.根据权利要求1所述的中继装置,其中,
所述目的地比较部根据在到所述目的地的路径上通过的所述中继装置是否相同,决定在所述多个虚拟信道的每一个中所容纳的数据单位的发送目的地的中继装置的虚拟信道的分配顺序。
CN201180003054.8A 2010-09-03 2011-05-31 中继装置 Active CN102523764B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010197604 2010-09-03
JP2010-197604 2010-09-03
PCT/JP2011/003020 WO2012029215A1 (ja) 2010-09-03 2011-05-31 中継装置

Publications (2)

Publication Number Publication Date
CN102523764A CN102523764A (zh) 2012-06-27
CN102523764B true CN102523764B (zh) 2015-02-18

Family

ID=45772342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003054.8A Active CN102523764B (zh) 2010-09-03 2011-05-31 中继装置

Country Status (5)

Country Link
US (1) US8234435B2 (zh)
EP (1) EP2613479B1 (zh)
JP (1) JP4880802B1 (zh)
CN (1) CN102523764B (zh)
WO (1) WO2012029215A1 (zh)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5838365B2 (ja) 2012-07-24 2016-01-06 パナソニックIpマネジメント株式会社 バスシステムおよび中継器
CN103858117B (zh) 2012-08-13 2017-09-15 松下知识产权经营株式会社 访问控制装置、中继装置、访问控制方法
US9130885B1 (en) 2012-09-11 2015-09-08 Mellanox Technologies Ltd. End-to-end cache for network elements
US9229895B2 (en) * 2012-09-13 2016-01-05 Intel Corporation Multi-core integrated circuit configurable to provide multiple logical domains
US9526285B2 (en) 2012-12-18 2016-12-27 Intel Corporation Flexible computing fabric
WO2014141678A1 (ja) 2013-03-12 2014-09-18 パナソニック株式会社 バスシステムおよびコンピュータプログラム
US9237093B2 (en) * 2013-03-14 2016-01-12 Silicon Graphics International Corp. Bandwidth on-demand adaptive routing
US9473388B2 (en) 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
US9325641B2 (en) * 2014-03-13 2016-04-26 Mellanox Technologies Ltd. Buffering schemes for communication over long haul links
US9584429B2 (en) 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
US9742630B2 (en) 2014-09-22 2017-08-22 Netspeed Systems Configurable router for a network on chip (NoC)
US9812873B2 (en) 2014-12-01 2017-11-07 Hamilton Sundstrand Corporation Virtual channel abstraction layer for solid state power controls
US9660942B2 (en) 2015-02-03 2017-05-23 Netspeed Systems Automatic buffer sizing for optimal network-on-chip design
US10348563B2 (en) 2015-02-18 2019-07-09 Netspeed Systems, Inc. System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US10218580B2 (en) 2015-06-18 2019-02-26 Netspeed Systems Generating physically aware network-on-chip design from a physical system-on-chip specification
JP6583029B2 (ja) * 2016-02-03 2019-10-02 株式会社デンソー 中継装置
JP6586666B2 (ja) * 2016-02-23 2019-10-09 富士通株式会社 並列処理装置、ノード情報採取方法、およびノード情報採取プログラム
JP6805562B2 (ja) * 2016-06-14 2020-12-23 株式会社デンソー データ処理システム
CN106161254B (zh) * 2016-07-18 2019-06-18 中国科学院计算技术研究所 一种多目的数据传输网路路由装置、方法、芯片、路由器
US10452124B2 (en) 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
JP6633499B2 (ja) * 2016-11-28 2020-01-22 日本電信電話株式会社 通信装置
US20180159786A1 (en) 2016-12-02 2018-06-07 Netspeed Systems, Inc. Interface virtualization and fast path for network on chip
US10721185B2 (en) 2016-12-06 2020-07-21 Hewlett Packard Enterprise Development Lp Age-based arbitration circuit
US10944694B2 (en) 2016-12-06 2021-03-09 Hewlett Packard Enterprise Development Lp Predictive arbitration circuit
US10452573B2 (en) 2016-12-06 2019-10-22 Hewlett Packard Enterprise Development Lp Scripted arbitration circuit
US10237198B2 (en) 2016-12-06 2019-03-19 Hewlett Packard Enterprise Development Lp Shared-credit arbitration circuit
US10063496B2 (en) 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10469337B2 (en) 2017-02-01 2019-11-05 Netspeed Systems, Inc. Cost management against requirements for the generation of a NoC
US10298485B2 (en) 2017-02-06 2019-05-21 Netspeed Systems, Inc. Systems and methods for NoC construction
JP6418291B1 (ja) * 2017-07-27 2018-11-07 日本電気株式会社 中継装置
US10498631B2 (en) * 2017-08-15 2019-12-03 Hewlett Packard Enterprise Development Lp Routing packets using distance classes
US10374943B2 (en) 2017-08-16 2019-08-06 Hewlett Packard Enterprise Development Lp Routing packets in dimensional order in multidimensional networks
US10547514B2 (en) 2018-02-22 2020-01-28 Netspeed Systems, Inc. Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
US10896476B2 (en) 2018-02-22 2021-01-19 Netspeed Systems, Inc. Repository of integration description of hardware intellectual property for NoC construction and SoC integration
US11144457B2 (en) 2018-02-22 2021-10-12 Netspeed Systems, Inc. Enhanced page locality in network-on-chip (NoC) architectures
US10983910B2 (en) 2018-02-22 2021-04-20 Netspeed Systems, Inc. Bandwidth weighting mechanism based network-on-chip (NoC) configuration
US11023377B2 (en) 2018-02-23 2021-06-01 Netspeed Systems, Inc. Application mapping on hardened network-on-chip (NoC) of field-programmable gate array (FPGA)
US11176302B2 (en) 2018-02-23 2021-11-16 Netspeed Systems, Inc. System on chip (SoC) builder
CN108650160B (zh) * 2018-04-26 2020-07-17 西安微电子技术研究所 一种基于链式端口的总线桥接器及其工作方法
US10693811B2 (en) 2018-09-28 2020-06-23 Hewlett Packard Enterprise Development Lp Age class based arbitration
US10951549B2 (en) 2019-03-07 2021-03-16 Mellanox Technologies Tlv Ltd. Reusing switch ports for external buffer network
KR20220102160A (ko) 2021-01-11 2022-07-20 삼성전자주식회사 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법
US11558316B2 (en) 2021-02-15 2023-01-17 Mellanox Technologies, Ltd. Zero-copy buffering of traffic of long-haul links
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359861B1 (en) * 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
US6760328B1 (en) * 1999-10-14 2004-07-06 Synchrodyne Networks, Inc. Scheduling with different time intervals
US7391786B1 (en) * 2002-11-27 2008-06-24 Cisco Technology, Inc. Centralized memory based packet switching system and method
CN101341698A (zh) * 2005-11-14 2009-01-07 康宁股份有限公司 减少互连等待时间的方法和系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6674720B1 (en) 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
FR2883117B1 (fr) * 2005-03-08 2007-04-27 Commissariat Energie Atomique Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone.
JP4566261B2 (ja) 2006-03-03 2010-10-20 株式会社日立製作所 クロスバスイッチ
JP5246158B2 (ja) 2007-06-08 2013-07-24 日本電気株式会社 半導体集積回路及びフィルタ制御方法
JP5387918B2 (ja) * 2008-04-30 2014-01-15 日本電気株式会社 ルータ、そのルータを有する情報処理装置及びパケットのルーティング方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6359861B1 (en) * 1997-10-08 2002-03-19 Massachusetts Institute Of Technology Method for scheduling transmissions in a buffered switch
US6760328B1 (en) * 1999-10-14 2004-07-06 Synchrodyne Networks, Inc. Scheduling with different time intervals
US7391786B1 (en) * 2002-11-27 2008-06-24 Cisco Technology, Inc. Centralized memory based packet switching system and method
CN101341698A (zh) * 2005-11-14 2009-01-07 康宁股份有限公司 减少互连等待时间的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《QNoC:QoS architecture and design process for network on chip》;Evgeny Bolotin et al.;《JOURNAL OF SYSTEM ARCHITECTURE》;20040229;第50卷;全文 *

Also Published As

Publication number Publication date
EP2613479A4 (en) 2013-08-28
JP4880802B1 (ja) 2012-02-22
JPWO2012029215A1 (ja) 2013-10-28
EP2613479A1 (en) 2013-07-10
US20120072635A1 (en) 2012-03-22
CN102523764A (zh) 2012-06-27
WO2012029215A1 (ja) 2012-03-08
EP2613479B1 (en) 2015-09-30
US8234435B2 (en) 2012-07-31

Similar Documents

Publication Publication Date Title
CN102523764B (zh) 中继装置
CN103348640B (zh) 中继装置
US9426099B2 (en) Router, method for controlling router, and program
US8774176B2 (en) High-capacity data switch employing contention-free switch modules
JP5462412B2 (ja) マルチディメンションメッシュトポロジに対してバッファレス転送方法を提供する方法
CN101291546B (zh) 核心路由器交换结构协处理器
CN103238302A (zh) 中继器、中继器的控制方法、以及程序
US9634960B2 (en) Petabits-per-second packet switch employing cyclically interconnected switch units
CN103460654B (zh) 中继装置、中继装置的控制方法
CN103828312A (zh) 总线系统以及中继器
CN102111327B (zh) 信元调度方法和系统
CN104079490B (zh) 多层次的dragonfly互连网络及自适应路由方法
CN115277429B (zh) 基于灵活以太网的电力通信业务资源分配方法及装置
CN101631070A (zh) 三级交换系统及其调度方法
CN101222422A (zh) 一种公平可扩展网络调度方法
US20090028140A1 (en) Switching device, switching method, and switch control program
CN115086185B (zh) 一种数据中心网络系统及数据中心传输方法
Ji et al. Scheduling with per-link queues and no per-flow information in multi-hop wireless networks
CA2570834C (en) Scalable router-switch
CA2572009C (en) Scalable router-switch
CN116981007A (zh) 一种Mesh网络联合路由选择及资源调度方法

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