CN102893268B - 总线控制装置以及向总线控制装置输出指示的控制装置 - Google Patents
总线控制装置以及向总线控制装置输出指示的控制装置 Download PDFInfo
- Publication number
- CN102893268B CN102893268B CN201180024086.6A CN201180024086A CN102893268B CN 102893268 B CN102893268 B CN 102893268B CN 201180024086 A CN201180024086 A CN 201180024086A CN 102893268 B CN102893268 B CN 102893268B
- Authority
- CN
- China
- Prior art keywords
- transmission
- bus
- path
- control device
- route
- 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
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 107
- 238000004891 communication Methods 0.000 claims abstract description 25
- 238000009826 distribution Methods 0.000 claims abstract description 17
- 238000011156 evaluation Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 13
- 238000009827 uniform distribution Methods 0.000 claims description 3
- 230000015654 memory Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 21
- 238000000034 method Methods 0.000 description 20
- 238000012546 transfer Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 9
- 102100020800 DNA damage-regulated autophagy modulator protein 1 Human genes 0.000 description 8
- 101000931929 Homo sapiens DNA damage-regulated autophagy modulator protein 1 Proteins 0.000 description 8
- 235000019800 disodium phosphate Nutrition 0.000 description 5
- 239000012634 fragment Substances 0.000 description 5
- 230000006872 improvement Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/50—Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Bus Control (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本发明提供一种总线控制装置以及向总线控制装置输出指示的控制装置,通过有效地抑制路径切换时的资源争夺,可缩短路径切换延迟,提高总线的平均利用效率。总线控制装置设置在总线主控器与被网络化的通信总线之间,并对在通信总线上流动的数据包的发送路径进行控制。总线控制装置具备:路径表管理部,其对多个发送路径以及多个发送路径的每一个的发送状况进行管理;参数生成部,其生成符合规定的概率分布的参数、或者符合预先确定的规则的参数;决定部,其基于多个发送路径的每一个的发送状况和参数,决定发送路径;和中继部,其进行在通信总线上流动的数据包的中继处理。
Description
技术领域
本发明涉及用于在具备被网络化的通信总线的半导体芯片中进行通信总线的控制的装置、方法以及程序。
背景技术
近年来,伴随着SoC(SystemonChip)或处理器的高功能化,取代通常的通信总线,关注着作为网络型总线的NoC(NetworkonChip)。在NoC中,可以相互连接多个总线主控器(master)或存储器。
例如,图1(a)以及(b)表示NoC总线的一部分结构。图1(a)是表示硬件连接结构例的图,图1(b)表示其示意图。图1(a)以及(b)示出:设置在芯片10上的总线主控器1a~1c分别经由总线控制装置(R)2而与总线3连接。其中,以下的本申请附图的NoC总线以图1(b)所示的示意图进行描述。
图2表示以2维网格(mesh)型结合了总线主控器的NoC总线的结构例。针对每个微型处理器或DSP、存储器、输入输出电路等总线主控器,配置进行数据传送路径的控制的中继节点R,以短布线连接(link)中继节点R之间。在本申请说明书中,中继节点R也被称作中继装置或总线控制装置。
在这种构成中,存在多个用于从发送源的总线主控器向接收目的地的总线主控器进行数据传送的通信路径。例如,图3表示从发送源到发送目的地为止的3条路径(1)~(3)。
与总线的负荷状况相匹配地从多个选择候选路径之中选择最佳路径,从而传送数据有效地分散在芯片整体中,能够预料总线的平均利用效率的提高。因而,总线整体的吞吐量(throughput)得以提高,可以降低设计时或工作时的总线的工作频率,能够降低芯片的功耗。另外,由于总线主控器之间的数据传送用的等待时间(延迟时间)得以改善,因而能够最大限度地提升总线主控器的性能(performance),也涉及芯片整体的处理能力的提高。
在专利文献1中公开了与总线的状态相匹配地在相互连接总线主控器的总线上选择多个数据传送路径的方法。根据专利文献1的技术,从发送源的总线主控器到接收目的地的总线主控器,以帧为单位对传送对象的数据进行传送。在接收目的地正常地接收了帧的情况下,返回应答(acknowledge)数据,否则不返回应答数据。发送源的总线主控器根据没有返回应答数据来检测帧传送的不良情况,并通过选择其他发送路径来再次发送帧,从而继续进行通信。在接收到的帧的头部(header)中检测到错误的情况下,因为在接收目的地的总线主控器中帧被废弃,所以在发送源的总线主控器中不会接收应答数据。另外,在利用中的数据传送路径中,帧的传送延迟会变大,在规定时间内帧仍未到达接收目的地的情况下,在规定时间内也无法接收应答数据,从而发生路径的切换。与数据传送路径的状态相匹配地动态地切换路径,从而可以利用传送延迟和错误少的路径进行通信。
现有技术文献
专利文献
专利文献1:日本发明第3816531号说明书
发明内容
(发明所要解决的技术问题)
在采用作为现有技术的多个路径控制技术的情况下,发送源的总线主控器通过检测传送延迟时间的恶化来判定为有必要切换数据传送路径,以本身的数据传送状态最优的方式进行路径的选择(利己的路径选择)。换言之,发送源的总线主控器想要通过将使用路径从高负荷的路径切换为低负荷的路径来改善传送延迟时间。
然而,在存在独立工作的多个总线主控器这样的一般NoC中,即便各总线主控器采用现有方法进行路径切换,也未必能达成数据传送性能的改善。其理由在于,独立工作的多个总线主控器想要彼此争夺来选择最优路径,所以会发生数据传送路径以及链路资源的争夺,在几个链路中会集中来自多个发送源的传送数据。其结果,在各路径间流动的传送数据流量的偏差会扩大。
由于该传送数据流量的偏差所引起的传送延迟时间的恶化,使得各总线主控器反复进行路径的再次选择,因而路径切换所需的延迟时间会增大。另外,数据传送所需的等待时间也会增大,由此各总线主控器的工作速度受到限制。例如,在进行处理器与存储器之间的数据传送时,与存储器访问等待时间对应的处理器的等待周期(weightcycle)数会增大,从而关系到处理性能的下降。另外,由于争夺而导致吞吐量下降,在总线上消耗的电力也会增加。这是因为,如果不提高总线的工作频率,则无法获得所期望的总线传送能力。若由构成总线的晶体管的功耗P表示总线的功耗,并设开关速率为α、电路的电容为C、电源电压为V、工作频率为f,则可由数学式1表示功耗P。
[数学式1]
P=α·C·V2·f
其中,在此提及的“构成总线的晶体管”包括:在发送数据的网络要素、与接收该数据的网络要素之间存在的网络要素(例如,中继节点)的晶体管。
另外,通过抑制工作频率,从而电源电压也以数学式2所示的关系降低。
[数学式2]
数学式2中的η是晶体管的工作阈值(threshold)电压与电源电压之比,γ为依赖于进程规则(processrule)的常数。例如,在γ=2的情况下,工作频率的降低以3次方影响功耗P,因而在用于容纳高传送速率的链路上,吞吐量的偏差所引起的功耗变得非常大。
本发明正是为了解决上述技术问题而提出的,其目的在于提供一种通过有效地抑制路径切换时的总线的资源争夺来能够缩短路径切换延迟并提高总线的平均利用效率的总线控制装置(中继装置)。
(用于解决技术问题的技术方案)
本发明的总线控制装置设置在总线主控器与被网络化的通信总线之间,并对在所述通信总线上流动的数据包的发送路径进行控制,所述总线控制装置具备:路径表管理部,其对多个发送路径以及所述多个发送路径的每一个的发送状况进行管理;参数生成部,其生成符合规定的概率分布的参数、或者符合预先确定的规则的参数;决定部,其基于所述多个发送路径的每一个的发送状况和所述参数,决定发送路径;和中继部,其进行在所述通信总线上流动的数据包的中继处理。
所述总线控制装置也可以还具备切换部,所述切换部将所述数据包的发送路径切换为由所述决定部决定的新的发送路径,所述中继部利用由所述切换部切换后的所述新的发送路径来发送所述数据包。
所述决定部也可以根据所述参数是否被包括在基于表示所述发送状况的评价值计算出的选择概率的范围内,决定是否切换为与所述选择概率对应的发送路径。
所述决定部也可以使用与各路径的发送状况的良好程度成比例的概率分布来进行路径的选择。
所述决定部也可以针对传输速率比基准值高的速率的数据包的数据流,修正已经在使用中的路径的选择概率,并限制路径切换概率。
所述路径表管理部也可以将发送状况低于预先确定的基准的路径确定为切换对象的路径,所述参数生成部利用以热噪声为基准的随机数、或者基于均匀分布、泊松分布或正态分布的伪随机数来生成所述参数,关于在所述切换对象的路径上传输的数据包的数据流,所述决定部计算出随着所述发送状况的恶化而变大的评价值,根据所述参数是否被包括在所述评价值的范围内,决定是否切换为与所述评价值对应的发送路径。
所述路径表管理部也可以将发送状况低于预先确定的基准的路径确定为切换对象的路径,所述参数生成部利用规则性变化的计数器来生成所述参数,关于在所述切换对象的路径上传输的数据包的数据流,所述决定部计算出随着所述发送状况的恶化而变大的评价值,根据所述参数是否被包括在所述评价值的范围内,决定是否切换为与所述评价值对应的发送路径。
本发明的控制装置,向设置在总线主控器与被网络化的通信总线之间的总线控制装置输出指示,并对在所述通信总线上流动的数据包的发送路径进行控制,所述控制装置具备:路径表管理部,其对多个发送路径以及所述多个发送路径的每一个的发送状况进行管理;参数生成部,其生成符合规定的概率分布的参数、或者符合预先确定的规则的参数;和决定部,其基于所述多个发送路径的每一个的发送状况和所述参数,决定发送路径,并向所述总线控制装置输出与所决定出的所述发送路径相关的指示。
(发明效果)
根据本发明,生成符合规定的概率分布的参数、或者符合预先确定的规则的参数,并基于该参数和多个发送路径的每一个的发送状况来决定新的发送路径。由此,在连接了独立工作的多个总线主控器的一般性网络总线中,可以防止各总线主控器仅以利己性判断来变更发送路径而产生的资源争夺所相伴的吞吐量的下降,能够抑制争夺所引起的等待时间的恶化。另外,由于吞吐量的改善,能够将总线自身的工作频率设定得较低,因而还可以将总线中的功耗抑制得较低。
附图说明
图1(a)以及(b)是表示NoC总线的部分结构的图。
图2是表示以2维网格型结合了总线主控器的NoC总线的结构例的图。
图3是表示从发送源到接收目的地为止的3条路径(1)~(3)的图。
图4是表示使用蝶形(butterflytype)多级连接网、即NoC总线构成了搭载于组装设备中的系统半导体的存储器间接口的例子的图。
图5是作为从CPU访问DRAM0的路径而表示存在路径000102和路径001102的2条路径的图。
图6是表示CPU所执行的OS或请求(application)是使用路径000102访问DRAM0的状况的图。
图7是表示在图6的状况下进一步由作为CPU的外围设备的DMAC0使用路径000102开始了向DRAM0的数据传送的图。
图8是表示进行了路径切换的结果为各总线主控器的存储器访问负荷集中在中继节点R11、R00中的情况的图。
图9是表示通过概率性的路径切换处理,使得CPU止于路径000102、且DMAC0进行了向路径001102的切换的情况的图。
图10是表示本发明的实施方式的总线控制装置100的结构例的图。
图11是表示用于进行对存储器的写入访问的数据包的结构例的图。
图12是表示头部片段(flit)的结构例的图。
图13是表示有效载荷(payload)片段的结构例的图。
图14是表示物理地址空间与DRAM0以及DRAM1之间的对应关系的图。
图15是表示描述图14的对应关系的地址对应表的例子的图。
图16是表示由总线控制装置R00上的路径表管理部102所管理的路径表的例子的图。
图17是表示数据流表的一例的图。
图18是在图17的数据流表示出的通信状况下,切换了数据流ID为2的数据流路径时的数据流表。
图19是表示路径切换部104的处理顺序的流程图。
图20是表示对总线控制装置指示发送路径的切换的控制装置的结构例的图。
具体实施方式
以下,参照附图来说明本发明的总线控制装置的实施方式。
(实施方式1)
在具体说明本实施方式的总线控制装置之前,说明被称作NoC(NetworkonChip)的通信总线、在该通信总线上可利用的发送路径、以及本实施方式的总线控制装置的工作原理。
图4是使用作为蝶形多级连接网的NoC总线构成了被搭载于组装设备中的系统半导体的存储器间接口的例子。在图4中,通过2输入2输出的中继节点Rxy(x=0、1,y=0、1、2),多级连接相当于总线主控器的CPU、DMAC、DSP和作为存储控制器的DRAM0、DRAM1。该构成是从总线主控器侧向存储控制器侧的一方向性的总线。但是,实际上,除了从总线主控器向存储器侧的访问之外,还存在从存储器侧向总线主控器的反方向的传送。然而,关于该构成,只要与本例相同的蝶形网在去程和回程中被重叠即可,所有网在工作原理上都是相同的。因此,在此,使用从总线主控器向存储器的去程的网进行说明,省略回程的动作。
在图4中,无论从各总线主控器向哪一个存储控制器传送数据都可以利用不同的2个传送路径。作为从CPU向DRAM0进行访问的路径,图5表示了存在路径000102和路径001102这2条路径的情形。虽然在图中被省略,但是同样地对于从其他总线主控器向任何存储器,都分别存在2条可利用的路径。
在本实施方式的说明中,通过连结被分配给路径上的中继节点的编号,从而表示各路径。例如,从图5的CPU朝向DRAM0的路径之中,由中继节点R00、R01、R02中继的路径被表现为“路径000102”。另外,由中继节点R00、R11、R02中继的路径被表现为“路径001102”。
图6表示CPU所执行的OS或请求使用路径000102向DRAM0进行访问的状况。同样地,示出在DSP上工作的微代码使用路径101102向DRAM0进行访问的状况。在这些状况下,通过任何存储器访问数据流,都能在所容许的平均访问等待时间的时间内实现存储器访问。
图7示出在图6的状况下进一步由作为CPU的外围设备的DMAC0使用路径000102开始了向DRAM0的数据传送的情形。由于新产生的存储器访问数据流的影响,若CPU以及DMAC0的平均访问等待时间超过容许值,则CPU以及DMAC0进行数据传送路径的切换。
现在,假定在不存在负荷的状态下数据传送数据包通过NoC总线所需的固定传送延迟为12周期,将从CPU或者DMAC0向DRAM0进行访问时的平均等待时间在路径000102中是112周期、在路径001102中是62周期。等待时间随着流动的数据量和中继节点的输出级中的访问的争夺强度而增大。因此,路径000102的等待时间比路径001102的等待时间大。
若采用现有技术中的路径切换方法,则CPU、DMAC0均一并从平均等待时间高的路径000102向平均等待时间低的路径001102进行路径切换。图8示出进行了路径切换的结果为各总线主控器的存储器访问负荷集中于中继节点R11、R00的情形态。由于在中继节点R11、R00处导致负荷的集中,因而基于各数据流的存储器访问状况进一步恶化。
在本实施方式中,在进行路径切换工作时,通过附加概率性举动(概率性进行路径的切换),来解决这种路径争夺所引起的问题。例如,在图7的事例中,根据与路径000102的平均等待时间112周期、路径001102的平均等待时间62周期的比率成反比的比例,概率性选择路径。即,无论在CPU还是在DMAC0中,选择路径000102的概率都为0.4,选择路径001102的概率都为0.6。其结果,总线主控器想要同时进行路径切换时的、成为切换对象的路径以概率分布分散。由此,不会陷入图8所示的路径资源的争夺所引起的争夺状态。
图9表示利用概率性路径的切换处理而使得CPU止于路径000102、且DMAC0进行了向路径001102的切换的情形。虽然CPU的访问路径000102没有变化,但是DMAC0的访问移动到路径001102。因此,从CPU向DRAM0的路径的等待时间从112周期提高至62周期。另外,由于DMAC0的访问路径从路径000102向路径001102移动,因而等待时间从112周期提高至62周期。进而,DSP也利用路径101102在62周期的等待时间内向DRAM0进行访问。由此可知,访问数据流分散在去往DRAM0的路径上的中继节点间链路的全部中,从而可有效地利用数据传送带。
以下,参照图10来说明用于进行上述动作的总线控制装置的结构例。
图10表示本实施方式的总线控制装置100的结构例。
总线控制装置具备:中继部101、路径表管理部102、参数生成部103和路径切换部104。以下,说明各构成要素的功能。
(中继部101)
网络总线上的存储器访问是以数据包为单位进行的。中继部101接受数据包,参照在该数据包中所描述的目标地址,向相邻的中继装置或DRAM等存储器发送该数据包。
图11表示用于进行向存储器的写入访问的数据包的结构例。本例的数据包由4个场构成,具体而言由FLOWID、ADDR、RW、DATA的各场构成。
在FLOWID场中,保存了用于对发行向存储器访问的主体进行确定的标识符。该值意味着路径的切换单位,使用相同的路径发送具有同一值的数据包组。若按每个请求管理存储器访问,则可以针对请求来保存固有的ID,若按构成请求的每个进程进行管理,则也可保存进程ID。若以更细致的任务为单位进行管理,则也可保存任务ID。
在ADDR场中保存了进行数据写入的存储器地址的信息。在RW场中保存了用于区分是读出命令还是写入命令的信息。在DATA场中保存了要写入的数据的位模式(bitpattern)。
数据包的尺寸依赖于所使用的存储器或请求一次所访问的数据的长度等。因而,1个数据包被分割成比被称作每个总线时钟可传送的片段更小的单位。一般而言,数据包由一个头部片段和多个有效载荷片段构成。
图12表示头部片段的结构例。本例的头部片段由4个场构成。在MARKER场中保存了表示是头部片段的信息。在LENGTH场中保存了与片段数相关的信息。在SRC场中保存了发送源的节点的ID信息。在DST场中保存了用于对访问目的地的存储器进行识别的信息、以及与所使用的路径相关的信息。
图13表示有效载荷片段的结构例。在MARKER场中保存了表示是有效载荷片段的信息。在PACKETPAYLOAD场中,图11所示的数据包被分割成适当的个数之后保存。
作为设计信息,在地址映射图上定义物理地址空间、和用于对数据包的发送目的地即DRAM0或DRAM1进行识别的信息之间的对应关系。图14表示物理地址空间与DRAM0以及DRAM1之间的对应关系。另外,图15表示描述该对应关系的地址对应表的例子。该地址对应表例如被保持在总线主控器的内部存储器(未图示)中,并在该内部存储器中被管理。总线主控器参照该地址对应表来决定数据包的发送目的地。
如图15所示,向描述了位于0x00000000~0x3FFFFFFF的范围内的地址的访问数据包分配00的存储器ID,并向DRAM0发送数据包。另外,向描述了位于0x40000000~0x7FFFFFFF的范围内的地址的访问数据包分配10的存储器ID,并向DRAM1发送数据包。在图12的DST场中,保存了路径切换部104所管理的路径序号和发送目的地的存储器的标识符。例如,在从CPU使用路径000102向DRAM0进行访问的情况下,在DST中保存000。另外,在从DMAC0使用路径001102向DRAM0进行访问的情况下,保存100。各中继节点读出在头部片段中保存的DST场的各位的值,决定片段的传送目的地的端口,由此向DRAM0中继数据包。
(路径表管理部102)
图16表示由总线控制装置R00上的路径表管理部102所管理的路径表的例子。作为从中继节点R00向DRAM0的路径,存在路径000102以及路径001102。另外,作为向DRAM1的路径,存在路径000112以及路径001112。因此,路径表管理部102在路径表上与路径评价值一同管理4条路径的各个路径。
在此,“路径评价值”是表示各路径的传输品质(发送状况)的值,例如,可以将路径的通信等待时间用作路径评价值。各路径的通信等待时间能够通过测量经过了该路径的数据包的收发所需的周期数来获得。或者,也可以具备收发用于对路径的等待时间进行测量的测量用数据包的协议。
在路径的等待时间超过了预先确定的阈值的情况下,换言之,在路径的传输品质(发送状况)低于根据阈值预先确定的基准的情况下,路径表管理部102向路径切换部104发行路径切换请求。在将等待时间的阈值设为50的情况下,路径000102和路径001102成为切换对象路径,并向路径切换部104进行通知。
(参数生成部103)
参数生成部103生成符合规定的概率分布的参数、或者符合预先确定的规则的参数。在本实施方式中,参数生成部103随机地产生0.0至1.0的范围上的值。例如,参数生成部103由以热噪声为基准的随机数产生用的硬件构成。或者,参数生成部103也可由基于均匀分布、泊松分布或正态分布等概率分布的产生伪随机数的软件构成。另外,也可以准备通过上述方法所产生的概率表格,并分别读出该概率表格。这些是符合概率分布的参数的生成例。
另一方面,参数生成部103也能够生成符合预先确定的规则的参数。在此所说的“预先确定的规则”是指,准备例如从0.01至1规则性递增或递减的计数器,且每隔恒定时间以0.01为单位规则性递增的规则。通过将计数器所示的各值用作参数,由此成为总线主控器想要同时进行路径切换时的切换对象的路径被分散。由此,不会陷入图8所示的路径资源的争夺所引起的争夺状态。
(路径切换部104)
路径切换部104具备决定部106以及切换部108。决定部106与总线的负荷状况相匹配地决定选择哪条路径。切换部108将一直到现在所采用的路径切换为由决定部106决定了数据的传输路径的路径。该“切换路径”是指,变更发送数据包(或片段)的中继装置、或者变更在发送路径上中继的中继装置。决定部106以及切换部108可不以硬件的形式存在,也可作为被模块化的程序来实现。
决定部106对图17所示的数据流表进行管理。决定部106针对以从路径表管理部102接受了路径切换请求的路径正向存储器进行访问的各数据流,决定切换为哪条路径。切换部108执行向由决定部106决定的路径的切换。图18表示切换了数据流ID为2的数据流的路径时的数据流表。以下,参照图19来说明对数据流的路径进行切换的详细处理。以下,说明从图17的数据流表示出的状态重写为图18的数据流表示出的状态的例子。在图17中,假设数据流ID为1以及2的各数据流使用路径000102来进行传输,数据流ID为3的数据流使用路径101102来进行传输。
图19表示路径切换部104的处理顺序。
路径切换部104的决定部106从路径表管理部102接收针对路径000102的路径切换请求(步骤S1)。此时,决定部106参照图17的数据流表,进行针对接受了请求的各路径的迭代(步骤S2)。其结果,图17中所管理的数据流1以及数据流2被识别为路径切换对象的数据流(步骤S3)。决定部106对各切换对象数据流i进行迭代(步骤S4)。
决定部104从由路径表管理部102所管理的路径表之中读出与存储器ID为00的DRAM0对应的切换候选路径、即路径000102和路径001102的路径评价值E1、E2(步骤S5)。
如图16所示,若设路径评价值为E1=112、E2=62,则决定部106求出这些值的倒数比率、即E1波浪线(tilde)以及E2波浪线(步骤S6)。该例子的情况下:E1波浪线=62/(112+62)=0.4,E2波浪线=112/(112+62)=0.6。其次,作为与路径切换的对象数据流、即数据流1和数据流2分别对应的概率值,从参数生成部103中取得2个概率值P1以及P2(步骤S7)。现在假设各个概率值分别为P1=0.2以及P2=0.7,则看到以下关系能够决定切换对象的路径(步骤S8)。即,关于数据流1,根据以下的基准来切换路径。
如果0<=P1<0.6→P1小于0.6(=E2波浪线),则切换为路径000102;
如果0.6<=P1<=1.0→P1在0.6(E2波浪线)以上且在1.0(=E1波浪线+E2波浪线)以下,则切换为路径001102。
另外,关于数据流2,根据以下的基准来切换路径。
如果0<=P2<0.6→P2小于0.6(=E2波浪线),则切换为路径000102;
如果0.6<=P2<=1.0→P2在0.6(E2波浪线)以上且在1.0(=E1波浪线+E2波浪线)以下,则切换为路径001102。
根据上述说明可以理解,可以说上述的E2波浪线被用作选择概率。
其结果,如图18所示那样,决定部106更新数据流表。即,数据流1止于路径000102,数据流2被切换为路径001102(步骤S11)。其结果,切换部108将数据流2切换为路径001102。然后,决定部106对各切换对象数据流i进行迭代(步骤S12),对接受了请求的各路径进行迭代(步骤S13)。根据以上处理,由于数据流概率性地分散在可利用的多个路径上,因而路径的争夺被抑制。其中,上述的将数据流2切换为路径001102的处理相当于将发送数据包(或片段)的中继装置从图5所示的R00变更为R11的处理。
上述的处理是候选路径数为2条时的最简单的例子。因此,以下示出候选路径较多时的一般性处理的例子。以下,在存在N条候选路径、且各候选路径的路径评价值为Ei的情况下,为了计算出概率值的范围判定的比率,在步骤S6中也可以按照其次的数学式3来求出被归一化之后的值Ei波浪线。
[数学式3]
使用上述的Ei波浪线,在步骤S8中生成的概率值Pi位于下述数学式4所示的概率范围时,将候选路径j选择为切换目的地的路径。
[数学式4]
其中,假设满足下述数学式5的条件。
[数学式5]
另外,如果可以利用各数据流的平均速率等速率信息,则也可如下述数学式6那样修正相对于当前正在使用的路径的Ei波浪线的值。
[数学式6]
其中,w为修正系数,u(·)为步幅函数,r为该数据流的平均速率值,rth为表示是否进行修正的阈值。
由此,速率大的数据流向其他路径移动的概率变低,速率小的数据流移动的概率变高。在总线上流动的多个存储器访问数据流的速率的偏差大、且高速率和低速率同时存在的用途中,由于高速率的数据流彼此在概率性地在切换目的地路径上竞争时,对其他数据流的影响大,因而使低速率的数据流优先进行路径切换更能够使芯片工作稳定。通过进行概率性的路径选择,从而避免了始终选择低负荷的路径的情形。因此,可以防止如现有技术那样利己的路径选择所引起的、与资源争夺相伴的吞吐量的下降。
另外,在修正中所用到的式子并不限于数学式6。例如,也可使用S型函数(sigmoidfunction)如数学式7那样进行定义。也可利用除此之外的更复杂方法来进行加权。
[数学式7]
K是用于对rth附近处的修正的变化程度进行调整的系数。
另外,在步骤S6中,虽然从所读出的路径评价值Ei变换为Ei波浪线,但是该部分也可以预先作为变换表格来准备。在步骤S6中,将在步骤S5中读出的路径评价值Ei作为检索的关键来搜索变换表格,取得预先被保存于表格中的Ei波浪线的值。通过使用变换表格,从而能够削减变换处理所需的运算时间。
以上,说明了本发明的实施方式。在本实施方式中,假设在决定路径之后,切换为所决定的路径来传输发送数据。然而,本发明涉及的装置无需进行一直到实际切换路径的处理,只要进行一直到决定新路径的处理即可。切换路径的处理例如可以由从本发明的装置接受了指示的已有总线控制装置来进行。因此,例如也可省略图10示出的切换部108、中继部101。
关于上述变形例,应该注意以下几点。
在本申请说明书中,由于总线控制装置说明了为中继节点的情形,因而在省略了中继部101的情况下,严格意义上并不相当于总线控制装置。然而,这只是单纯的表现问题。省略了中继部101的构成在对数据传送路径的切换进行控制的意义上是指总线控制装置的范畴。或者,该构成也能够视作向一般性总线控制装置指示发送路径的切换的“控制装置”。
图20示出控制装置110的结构例。控制装置110的路径切换部104从一般性总线控制装置111接受数据包(接收数据),进行上述的处理(省略说明),由此决定该数据包的输出路径。并且,路径切换部104按照在所决定的发送路径中进行发送的方式,发送与发送路径相关的指示,并且将该数据包(发送数据)发送给一般性总线控制装置111。
在上述的实施方式中,存储器被设成了DRAM,但是也可以是SRAM等片上存储器(on-chipmemory)或高速缓冲存储器。另外,不仅适用于总线主控器与存储器之间,也适用于处理器彼此之间的通信网。另外,也可以是拓扑网、网格网、环形网、其他多级连接网。另外,也可在芯片设计时所使用的用于估计传输性能或功耗等的软件·模拟器(simulator)上,作为算法(algorithm)来安装。通过在设计工具中适用本实施方式,能够在掩蔽(masking)前的评价阶段验证芯片的性能提高。
(产业上的可利用性)
本发明可利用于面向组装设备的SoC中的片上总线(on-chipbus)、通用处理器、DSP上的局部总线上的具备数据传送路径的控制技术的网络总线控制装置、控制方法、控制程序。
符号说明
100总线控制装置
101中继部
102路径表管理部
103参数生成部
104路径切换部
110控制装置
111一般性总线控制装置
Claims (8)
1.一种总线控制装置,其设置在连接分别发送数据包的多个总线主控器与发送来自各总线主控器的数据包的至少一个节点且被网络化的多个通信总线上,并对在所述多个通信总线上流动的数据包的发送路径进行控制,所述总线控制装置具备:
路径表管理部,其对从所述各总线主控器到所述至少一个节点的多个发送路径、以及所述多个发送路径的每一个的发送状况进行管理;
参数生成部,其生成符合规定的概率分布的参数、或者符合预先确定的规则的参数;
决定部,其基于所述多个发送路径的每一个的发送状况和所述参数,按照来自各总线主控器的数据包分散在所述多个发送路径中的方式,决定从各总线主控器到所述至少一个节点的发送路径;和
中继部,其基于由所述决定部决定的所述发送路径,进行在所述多个通信总线上流动的数据包的中继处理。
2.根据权利要求1所述的总线控制装置,其中,
所述总线控制装置还具备:切换部,其将所述数据包的发送路径切换为由所述决定部决定的新的发送路径,
所述中继部利用由所述切换部切换后的所述新的发送路径来发送所述数据包。
3.根据权利要求1所述的总线控制装置,其中,
所述决定部根据所述参数是否被包括在基于表示所述发送状况的评价值计算出的选择概率的范围内,决定是否切换为与所述选择概率对应的发送路径。
4.根据权利要求1所述的总线控制装置,其中,
所述决定部使用与各路径的发送状况的良好程度成比例的概率分布来进行路径的选择。
5.根据权利要求4所述的总线控制装置,其中,
所述决定部针对传输速率比基准值高的速率的数据包的数据流,修正已经在使用中的路径的选择概率,并限制路径切换概率。
6.根据权利要求3所述的总线控制装置,其中,
所述路径表管理部将发送状况低于预先确定的基准的路径确定为切换对象的路径,
所述参数生成部利用以热噪声为基准的随机数、或者基于均匀分布、泊松分布或正态分布的伪随机数来生成所述参数,
关于在所述切换对象的路径上传输的数据包的数据流,所述决定部计算出随着所述发送状况的恶化而变大的评价值,根据所述参数是否被包括在所述评价值的范围内,来决定是否切换为与所述评价值对应的发送路径。
7.根据权利要求3所述的总线控制装置,其中,
所述路径表管理部将发送状况低于预先确定的基准的路径确定为切换对象的路径,
所述参数生成部利用规则性变化的计数器来生成所述参数,
关于在所述切换对象的路径上传输的数据包的数据流,所述决定部计算出随着所述发送状况的恶化而变大的评价值,根据所述参数是否被包括在所述评价值的范围内,决定是否切换为与所述评价值对应的发送路径。
8.一种控制装置,其向设置在连接分别发送数据包的多个总线主控器与发送来自各总线主控器的数据包的至少一个节点的、被网络化的多个通信总线上的总线控制装置输出指示,从而对在所述多个通信总线上流动的数据包的发送路径进行控制,所述控制装置具备:
路径表管理部,其对从所述各总线主控器到所述至少一个节点的多个发送路径、以及所述多个发送路径的每一个的发送状况进行管理;
参数生成部,其生成符合规定的概率分布的参数、或者符合预先确定的规则的参数;和
决定部,其基于所述多个发送路径的每一个的发送状况和所述参数,按照来自各总线主控器的数据包分散在所述多个发送路径中的方式,决定从各总线主控器到所述至少一个节点的发送路径,并向所述总线控制装置输出与所决定的所述发送路径相关的指示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010-121899 | 2010-05-27 | ||
JP2010121899 | 2010-05-27 | ||
PCT/JP2011/002681 WO2011148583A1 (ja) | 2010-05-27 | 2011-05-13 | バス制御装置およびバス制御装置に指示を出力する制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102893268A CN102893268A (zh) | 2013-01-23 |
CN102893268B true CN102893268B (zh) | 2015-11-25 |
Family
ID=45003584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180024086.6A Active CN102893268B (zh) | 2010-05-27 | 2011-05-13 | 总线控制装置以及向总线控制装置输出指示的控制装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9075747B2 (zh) |
JP (1) | JP5276220B2 (zh) |
CN (1) | CN102893268B (zh) |
WO (1) | WO2011148583A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5723806B2 (ja) * | 2012-02-24 | 2015-05-27 | エヌ・ティ・ティ・コムウェア株式会社 | 通信システム、経路制御装置、経路制御方法及び経路制御プログラム |
US8885510B2 (en) * | 2012-10-09 | 2014-11-11 | Netspeed Systems | Heterogeneous channel capacities in an interconnect |
US9054977B2 (en) * | 2013-08-05 | 2015-06-09 | Netspeed Systems | Automatic NoC topology generation |
US9742630B2 (en) * | 2014-09-22 | 2017-08-22 | Netspeed Systems | Configurable router for a network on chip (NoC) |
US9866476B2 (en) * | 2014-12-17 | 2018-01-09 | Intel Corporation | Parallel direction decode circuits for network-on-chip |
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 |
DE112016005087B4 (de) * | 2015-11-05 | 2024-08-29 | Hitachi Astemo, Ltd. | Relaisvorrichtung, elektronische Steuervorrichtung und fahrzeugmontiertes Netzsystem |
US10452124B2 (en) | 2016-09-12 | 2019-10-22 | Netspeed Systems, Inc. | Systems and methods for facilitating low power on a network-on-chip |
US20180159786A1 (en) | 2016-12-02 | 2018-06-07 | Netspeed Systems, Inc. | Interface virtualization and fast path for network on chip |
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 |
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 |
US10547514B2 (en) | 2018-02-22 | 2020-01-28 | Netspeed Systems, Inc. | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation |
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 |
CN108449269A (zh) * | 2018-04-12 | 2018-08-24 | 重庆邮电大学 | 基于sdn的数据中心网络负载均衡方法 |
US20200234396A1 (en) * | 2019-01-22 | 2020-07-23 | Black Sesame International Holding Limited | Heterogeneous computation and hierarchical memory image sensing pipeline |
JP7496937B2 (ja) | 2021-06-17 | 2024-06-07 | 三菱電機株式会社 | データ処理装置及びデータ処理方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0753979A1 (en) | 1995-07-13 | 1997-01-15 | International Business Machines Corporation | Routing method and system for a high speed packet switching network |
US5959995A (en) | 1996-02-22 | 1999-09-28 | Fujitsu, Ltd. | Asynchronous packet switching |
JP2002247087A (ja) * | 2001-02-15 | 2002-08-30 | Nippon Telegr & Teleph Corp <Ntt> | Ipネットワーク負荷分散方法、ipネットワーク、ipルーティング装置及びルートサーバ装置 |
KR100601881B1 (ko) * | 2004-01-28 | 2006-07-19 | 삼성전자주식회사 | 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법 |
KR100674933B1 (ko) * | 2005-01-06 | 2007-01-26 | 삼성전자주식회사 | 온 칩 버스(On Chip Bus)에서 최적화된코어-타일-스위치(core-tile-switch)맵핑(mapping) 구조를 결정하는 방법 및 그 방법을기록한 컴퓨터로 읽을 수 있는 기록 매체 |
JP2008532408A (ja) * | 2005-02-28 | 2008-08-14 | エヌエックスピー ビー ヴィ | ルータ、ルータを具えたネットワーク、及びネットワーク内のデータルーティング方法 |
JP4074310B2 (ja) * | 2005-09-05 | 2008-04-09 | 日本電信電話株式会社 | トラヒック分散制御装置、パケット通信ネットワークおよびプログラム |
JP4681507B2 (ja) * | 2006-06-01 | 2011-05-11 | 日本電信電話株式会社 | 要求解釈方法、および、要求解釈装置 |
JP5102831B2 (ja) * | 2006-07-05 | 2012-12-19 | シノプシス・インコーポレーテッド | 電子デバイス、システムオンチップ、及びデータフロー監視方法 |
US20090323540A1 (en) * | 2006-07-05 | 2009-12-31 | Nxp B.V. | Electronic device, system on chip and method for monitoring data traffic |
KR100785472B1 (ko) * | 2006-09-19 | 2007-12-13 | 삼성전자주식회사 | 긴급 NoC 패킷 대기시간 관리 장치 및 그 방법 |
WO2008041292A1 (fr) * | 2006-09-29 | 2008-04-10 | Fujitsu Limited | Circuit intégré |
US20090067343A1 (en) * | 2007-06-04 | 2009-03-12 | David Fritz | Method for the synthesis of optimal asynchronous on-chip communication networks from system-level constraints |
US7772880B2 (en) * | 2007-09-12 | 2010-08-10 | Neal Solomon | Reprogrammable three dimensional intelligent system on a chip |
FR2925187B1 (fr) * | 2007-12-14 | 2011-04-08 | Commissariat Energie Atomique | Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees |
JP5387918B2 (ja) * | 2008-04-30 | 2014-01-15 | 日本電気株式会社 | ルータ、そのルータを有する情報処理装置及びパケットのルーティング方法 |
EP2288086B1 (en) * | 2008-06-12 | 2018-03-21 | Panasonic Intellectual Property Management Co., Ltd. | Network monitoring device, bus system monitoring device, method and program |
JP4958242B2 (ja) * | 2008-08-28 | 2012-06-20 | Kddi株式会社 | リンクの可用率に基づく経路制御方法、装置及びプログラム |
JP4971292B2 (ja) | 2008-11-25 | 2012-07-11 | 日本電信電話株式会社 | オーバーレイネットワーク経路選択システムと方法およびプログラム |
US8270316B1 (en) * | 2009-01-30 | 2012-09-18 | The Regents Of The University Of California | On-chip radio frequency (RF) interconnects for network-on-chip designs |
-
2011
- 2011-05-13 WO PCT/JP2011/002681 patent/WO2011148583A1/ja active Application Filing
- 2011-05-13 CN CN201180024086.6A patent/CN102893268B/zh active Active
- 2011-05-13 JP JP2012517116A patent/JP5276220B2/ja active Active
-
2012
- 2012-11-19 US US13/680,268 patent/US9075747B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2011148583A1 (ja) | 2011-12-01 |
CN102893268A (zh) | 2013-01-23 |
JP5276220B2 (ja) | 2013-08-28 |
US20130080671A1 (en) | 2013-03-28 |
US9075747B2 (en) | 2015-07-07 |
JPWO2011148583A1 (ja) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102893268B (zh) | 总线控制装置以及向总线控制装置输出指示的控制装置 | |
US7706275B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
US8819616B2 (en) | Asymmetric mesh NoC topologies | |
US9264371B2 (en) | Router, method for controlling the router, and computer program | |
JP4820466B2 (ja) | 半導体システム、中継器およびチップ回路 | |
US9379983B2 (en) | Router, method for controlling router, and computer program | |
US8031614B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
CN102035723A (zh) | 一种片上网络路由及实现方法 | |
CN101123576A (zh) | 一种基于带宽约束和最小负载的移动自组网路径选择方法 | |
CN104919763A (zh) | 通信装置、具有通信装置的路由器、总线系统以及具有总线系统的半导体电路的电路基板 | |
US9436642B2 (en) | Bus system for semiconductor circuit | |
WO2022213817A1 (zh) | 路由方法和路由装置 | |
Somisetty et al. | Congestion aware negative first routing with fair arbitration for network on chip | |
CN112491605B (zh) | 路由仿真方法和装置 | |
Alimi et al. | Network-on-Chip Topologies: Potentials, Technical Challenges | |
JP2006287919A (ja) | 通信ネットワーク、コンテンツ配信ノード、ツリー構築方法、コンテンツ配信制御プログラム | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
Behrouz et al. | Fault-tolerant routing algorithms in networks on-chip | |
CN115714748B (zh) | 公有云平台弹性ip的流量控制方法、装置和系统 | |
WO2024174588A1 (zh) | 转发路径确定方法、装置、电子设备以及存储介质 | |
Kanduri et al. | Predictable application mapping for manycore real-time and cyber-physical systems | |
Avudaiammal et al. | QoS-driven AODV algorithm for WSN | |
WO2025050889A1 (zh) | 通信方法及装置 | |
US9928204B2 (en) | Transaction expansion for NoC simulation and NoC design |
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 |