CN101383712B - 一种片上网络的路由节点微结构 - Google Patents

一种片上网络的路由节点微结构 Download PDF

Info

Publication number
CN101383712B
CN101383712B CN2008100462876A CN200810046287A CN101383712B CN 101383712 B CN101383712 B CN 101383712B CN 2008100462876 A CN2008100462876 A CN 2008100462876A CN 200810046287 A CN200810046287 A CN 200810046287A CN 101383712 B CN101383712 B CN 101383712B
Authority
CN
China
Prior art keywords
data
output
module
input
routing node
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
CN2008100462876A
Other languages
English (en)
Other versions
CN101383712A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN2008100462876A priority Critical patent/CN101383712B/zh
Publication of CN101383712A publication Critical patent/CN101383712A/zh
Application granted granted Critical
Publication of CN101383712B publication Critical patent/CN101383712B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种片上网络的路由节点微结构,该片上网络的路由节点微结构由头部译码模块、输入缓存模块、输入控制模块、输出仲裁模块、输出缓存模块和输出控制模块组成,头部译码模块对从上一级路由节点进行本级路由节点的数据进行头部分析,并将数据输入至输入缓存模块,输入缓存模块用于数据的临时存储,并在输入控制模块的作用下向输出仲裁模块输入数据;数据进入输出仲裁模块后,输出仲裁模块根据输出缓存模块的状态来决定是否向输出缓存模块输出数据,而输出控制模块则对整个输出链路进行控制,以实现对下一级路由接点传输数据。通过本发明所述的路由节点微结构,不仅可以实现片上网络的路由节点间的数据传输,还能大大提高传输效率。

Description

一种片上网络的路由节点微结构
技术领域
本发明涉及一种路由节点微结构,具体地说,涉及一种片上网络的路由节点微结构。
背景技术
随着电子技术的发展,复杂SoC受到越来越多的关注。在目前的技术条件下,复杂SoC需要的物理基础——单片上集成十亿个以上的门成为可能;同时,其广泛的应用范围,使得市场对复杂SoC的需求大大增加。复杂SoC的应用领域很多,从安全系统、控制系统、个人健康系统,到主流消费品领域,如多媒体处理、个人通信、个人的计算、娱乐、视频/图象等等。事实上,目前针对这些应用的专用IC中,大部份已经有了很高的复杂度。但是,随着科学研究和实现应用的逐渐深入,现有的专用IC越来越不能满足人们对具有更强大功能的器件的需求,更加复杂的SoC的实现技术便成为研究热点,一些新的理念和关键技术被提出来,并开始影响处理器的设计和复杂SoC的研发。
目前最复杂的SoC,在一个芯片上所包含的处理器数目也不超过十数个,更多数量的处理器的设计会面临一系列困难。另一方面,是电子设计和制造技术的发展,可以在一个IC芯片上设计与集成足够多的晶体管。但是,设计者常常不能够充分开发和使用IC中所有的晶体管。到了2003年,各类实时处理SoC的复杂性,已经远远落后 于现在的硅技术发展的水平。复杂SoC设计的生产力缺口已经较大,并有继续扩大的趋势。
在目前的技术和需求的推动作用下,使用越来越多的处理器核和大量可重复使用的IP模块,将它们集成在一个硅芯片上,将是未来复杂SoC设计的基础。当处理器或IP数量达到上百或数百、甚至上千时,芯片内部采用什么通信结构就变得越来越重要。当前在SoC设计中,如SOPC技术、多处理器技术、SIMD技术等,总线是连接芯片上的各个IP或处理器的主要方式。但是,现有的总线结构却有如下的困难:
一.总线能有效连接的部件数量较少,而且随着总线连接部件的数量增加,各个部件之间的冲突也会增加,这就会使得SoC的复杂性受到限制;
二.随着总线连接部件数量的增加,总线长度也会随之增长,但是在SoC设计中,长的全局总线会造成SoC中的部件通信的瓶颈效应,从而降低通信效率,甚至引发阻塞;
三.将较多部件挂接在同一总线上,就要求所有的部件都具有标准统一的总线接口,这会为各个部件的设计带来额外的开销;
四.总线结构造成的通信瓶颈也会使得SoC的规模受到限制,由于不能提供高效的通信模式,使得能利用的芯片中的晶体管数量受到限制,从而造成SoC芯片性能受到限制。
五.由于连接SoC中各个部件的是单一的总线,在进行扩展的时候,必须为需扩展的部件设计能用于总线的接口,且各个部件的接口必须统一,这就降低了SoC的设计灵活性和可扩展性。
因此在复杂SoC设计中,随着越来越多的IP被集成在单个硅芯片上,可编程和可定制的片上通信结构越来越占据主导地位。由于有相当丰富且价格便宜的特定功能的IP核,设计的重心就会集中在:如何实现有效的片上通信。而在片上网络体系结构中,其各个部件的片上通信是通过部件所连接的路由节点来实现的,所以,路由节点是片上网络通信的关键部分。
发明内容
本发明的目的是提供一种片上网络的路由节点微结构,取代现有技术中片上网络采用的总线结构,解决现有技术中存在的缺陷,提高片上网络的通信效率和性能。
为了实现上述目的,本发明所采用的技术方案如下:
一种片上网络的路由节点微结构,由输入模块和输出模块组成,其中,输入模块包括:
头部译码模块,负责对进入路由节点的数据进行头部分析,并将数据输入至输入缓存模块;输入缓存模块,用于缓存数据;输入控制模块,用于翻译握手协议和对数据写入输入缓存模块的过程进行控制;
而输出模块包括:输出仲裁模块,主要作用是控制数据向输出缓存模块输入;输出缓存模块,用来存储输入端口传入的数据,并在输出控制模块的控制下输出数据;输出控制模块,用于实现对输出链路的控制。
所述头部译码模块进行头部分析的步骤包括:
首先根据路由算法确定数据的输出端口;再向与输出端口对应的VOQ发送请求信号;头部译码模块接受到VOQ发回的允许信号后,通过虚拟通道选择器选择一个非空通道将数据输入至输入缓存模块。
所述虚拟通道选择器通过RR调度算法来实现非空通道的选择,以及将数据输入至输入缓存模块。
所述RR调度算法包括如下步骤:
首先将CPU处理一个数据包的传输时间等分为若干个时间片,并为每个虚拟通道分配若干个时间片;然后将所有虚拟通道排成一个队列,并从队列的起点开始选择一个含有数据的虚拟通道作为第一个向输入缓存模块输入数据的非空通道;当第一个非空通道使用完自身所有的时间片后,若第一个非空通道内的数据尚未输入完毕,则停止输入,并将第一个非空通道排列至原队列的末尾,同时,按队列的先后顺序选择第二个非空通道,并进行数据输入;当第二个非空通道使用完自身所有的时间片后,若其数据尚未输入完毕,则停止输入,并将第二个非空通道排列至第一个非空通道之后,同时,按照新队列的先后顺序选择第三个非空通道,并进行数据输入;按照上述方法依次选择队列中所有的非空通道进行数据输入,直到所有的非空通道将数据全部输入至输入缓存模块。
所述输入缓存模块由至少一组虚输出队列组成,每组虚输出队列又由至少一个虚拟通道组成,所有虚拟通道结构相同。
所述时间片为在两个相邻路由节点之间传输一个完整数据包所需时间。
所述输出仲裁模块根据状态机的状态来控制数据向输出缓存模块输入。
所述输出仲裁模块控制数据向输出缓存模块输入的步骤包括:
首先在状态机的初始状态,判断输出FIFO是否为空,若输出FIFO为空,则状态机状态保持不变;反之,则从输出FIFO中读出一个数据,状态机从其初始状态转移到头部检测状态,并进行头部检测;头部检测状态如检测到数据包头,那么状态机转移到数据传输状态进行数据传输;否则,状态机转回其初始状态,并从输出FIFO中读出下一个数据进行头部检测;状态机处于数据传输状态时,状态机根据下一级路由接点的信息进行数据传输,直到数据传输完毕;数据传输完毕后,若输出FIFO为非空,状态机直接转移至头部检测状态,进行数据包头检测,并进行数据传输;反之,则回到状态机的初始状态等待新数据到来。
所述输出控制模块根据本级输出缓存模块的状态对下级路由节点的输入端口提出请求,并接受下级路由节点的输入端口发回的响应信号,根据响应信号来判断是否输出数据。
对于具有多处理器的复杂SoC系统来说,路由节点的主要作用是能独立于处理器完成并行的数据交换和通信,实现片上的网络通信,并尽可能的提高通信效率,保证通信质量。
本发明将路由节点之间的微结构分为输入模块和输出模块,并对输入模块和输出模块进行分别设计,并在数据传输过程中采用特殊的 调度算法进行控制,使数据传输效率得到提高,下面对输入模块和输出模块进行详细说明。
一.输入模块
输入模块包括头部译码模块(HD)、输入缓存模块(IB)和输入控制模块(IC)。
1.头部译码模块(HD)
头部译码模块负责对进入路由节点的数据进行头部分析,以确定数据的路由。经过路由分析后,就可以确定数据将从路由节点的哪一个输出端口输出,并将数据发送到输入缓存中对应输出端口的VOQ中。如果该组VOQ有多个虚通道,则通过虚拟通道选择器选择一个非空通道输入数据包,然后,向相应方向的VOQ发送请求信号,并接收VOQ传回的允许信号,将输入送入VOQ中进行缓存。其中,虚通道选择器通过RR(Round Robin)调度算法来实现,在后面将详细介绍这种调度算法。
下面详细介绍RR调度算法。
RR调度算法,又称时间片轮循法,是一种经典的调度算法。在分时系统中,现有的RR调度算法是将CPU的处理时间分为若干时间片,一个时间片从几毫秒到几百毫秒不等。系统给每一个进程分配若干个时间片,被调度选中的进程使用完系统分配的时间片之后,系统就会发生调度。如果该进程还未完成要求的任务,则调度程序暂时停止该进程的执行,将它排到就绪对列的末尾,等待下一次调度。同时,调度程序会调度当前就绪队列中的下一个进程。这样,就可以保证就 绪队列中的所有进程在一个给定的时间内均能得到执行。
在本发明中,对RR调度算法稍作修改,将它作为片上网络路由节点的仲裁算法用在虚拟通道选择以及输出端口对输入端口请求的响应上。在设计中,时间片比较固定,一般为传输一个完整数据包所需要的时间,而各个数据包所在的不同虚拟通道相当于分时系统的进程。图3说明了本发明中采用的RR调度算法的调度方式,图中,假设系统有8个需调度的虚拟通道,调度的起点在A通道,通道中的数据包数目各不相同。首先,由于A通道有数据包可发送,故第1轮调度A通道,然后在第2轮调度中,先检查B通道,由于B通道没有数据包可发送,所以跳过B通道,检查C通道,发现C通道有数据包,因而C被选出。第3轮调度,先检查D通道,从而调度D通道,以此类推,其中第6轮调度完成了对所有通道的检查,重新从A通道开始检查;第8轮调度由于D通道在第3轮调度中把一个数据包发送出去后,处于无数据包可发状态,从而调度E通道。从图中可以看出要实现Round Robin算法,关键是从起始的通道开始,找到第一个存有数据包的虚拟通道。
具体实现RR调度算法的实际逻辑结构如图4所示。通道状态寄存器用来存放需调度虚拟通道(即该虚拟通道内是否有数据包)的状态,它是Round Robin调度的基础,准备好的虚拟通道才可以被调度,没准备好的(即没有数据包的虚拟通道)不能被调度。以4个虚拟通道为例,通道状态寄存器就是4位的寄存器,通道状态由前一级FIFO的empty信号给出,按照虚拟通道排列的先后顺序,哪一位排在前面 的通道为“1”则表示哪一个虚拟通道非空,有数据包可传输,则该虚拟通道第一个被调度。
桶式移位器根据调整逻辑送过来的移位次数在一个时钟周期内对通道状态寄存器完成移位操作。它是现代高速RISC微处理芯片中采用的结构,具有使各种位数的移位操作都能在单个周期内完成的能力,这对RR算法的实现很关键。
桶式移位器完成移位操作后,将所得的结果送到优先编码器进行优先编码。
调整逻辑主要是一个累加器,它把优先级编码器的编码结果加1后进行累加,这就相当于把每次Round Robin调度的开始点保存在累加器中。累加器的位数由调度通道数决定,例如4个通道需要2位累加器。
2.输入缓存模块(IB)
数据缓存模块用于缓存数据,主要是由M组虚输出队列组成,每一组虚输出队列(VOQ)对应一个方向。每一组虚输出队列中又可以有N(N≥1)个虚拟通道,当N=1的时候,是最简单的形式。此处的虚拟通道并不对应的代表每个输出端口,所有的虚拟通道结构都相同。虚拟通道的宽度就是数据包的宽度,虚拟通道的深度可以变化。输入缓存模块是输入模块与输出模块通信的接口,输出模块通过检测输入缓存的状态来获得从输入端口传入的数据,从而实现数据在片上网络路由节点内部的传送。
3.输入控制模块(IC)
输入控制模块的作用是翻译握手协议和有选择的写入输入缓存的虚通道。valid表示上级路由节点有效数据来临,请求输入,当一个完整的数据包传输完毕,上级的请求信号放弃请求;ack信号是输入确认信号,当来自IB模块的Full信号不全为高电平1时,说明至少有l组VOQ还有剩余存储空间,可以接收数据包,此时IC将ack响应信号置高电平,通知上级路由节点可以开始传输数据;若数据包传输过程中,所使用的虚拟通道达到满状态,则停止响应,并记录当前数据包与所使用的虚通道标号,以备下次使用。同时,转换到下一个非满的虚拟通道,准备开始新的数据包传输。
二.输出模块
输出模块采用分布式仲裁方式,各个输出端口都有对应的独立仲裁器。仲裁器采用RR算法,以公平轮循的方式对各个输入请求进行响应,并产生多路复用器的选择信号sel。当测到包尾eop信号时,说明一个完整的数据包已经传输完成,需要释放gnt信号,并使用数据包尾部eop信号来触发下一次轮循。输出模块包括输出缓存模块(OB)、输出控制模块(OC)和输出仲裁模块(OA)三个部分。
1.输出仲裁模块(OA)
输出仲裁模块较复杂,它的主要作用是实现数据写入到输出缓存中。输出仲裁通过状态信号线获取输入缓存的信息,并产生读信号反馈给输入端口。当有多个端口同时请求一个输出端口时,输出仲裁根据设定好的仲裁方式(即RR算法)对输入端口进行仲裁,最终选择一个输入端口输入数据。根据输出缓存模块的状态以及下级路由节点 的状态,通过状态机的方式来实现,其状态转移情况如图5所示。
在图5中,IDLE空闲状态为状态机的初始状态,如果在此状态下,输出FIFO始终为空,那么状态机就在此状态下等待,直到输出FIFO非空,从FIFO中读出一个数据,然后转移到头部检测状态。在头部检测状态(Header Detector)如检测到数据包头,那么状态机转移到数据传输状态(Data Transfer)进行数据传输;否则,状态机转回IDLE,再从FIFO中读出下一个数据进行头部检测。在数据传输状态(Data Transfer)下,状态机就根据下一级路由节点的信息进行数据传输,直到包尾到来,如果此时输出FIFO为非空,就说明FIFO中还有数据可以传输,状态机直接转移到头部检测状态;否则,如果FIFO为空,就转移到IDLE,以等待数据的到来。
2.输出缓存模块(OB)
输出缓存用来存储输入端口传入的数据,并在输出控制模块的控制下输出数据。仲裁器根据其内部的仲裁结果,以及输出缓存的full信号,产生写信号,控制数据从输入端口的写入。
3.输出控制模块(OC)
输出控制模块主要进行输出链路的控制。它根据本级输出缓存的状态对下级路由节点的输入端口提出请求,并接收响应信号,从而控制数据输出。其产生的各输出信号的时序关系如图6所示。
通过对上述模块的设计,本发明实现了一种片上网络的通信结构,取代现有技术中的总线结构,解决了因总线结构带来的通信瓶颈问题,不仅保证了路由节点之间的通信质量,而且提高了通信效率。 本发明主要应用于片上网络的内部路由节点通信。
附图说明
图1为本发明的结构框图。
图2为本发明中RR调度算法示意图。
图3为本发明中RR调度算法的逻辑结构图。
图4为本发明中输出仲裁模块的输出仲裁状态转移图。
图5为本发明中输出控制模块的相关信号时序关系图。
图6为本发明-实施例的Mesh结构示意图。
图7为实施本发明实施例的现有技术的总线结构示意图。
图8为本发明与总线结构在相同环境下实施本发明的实施例的延时性能比较图。
图9为本发明与总线结构在相同环境下实施本发明的实施例的归一化吞吐性能比较图。
具体实施方式
下面以由标准的5个输出端口和5个输入端口组成的输入模块和输出模块为例,对本发明作具体说明。
在硬件上,输入模块由5个输入端口组成,5个输入端口分别代表东、南、西、北和本地5个方向,本地方向与本地处理器相连。
图1中虚线部分表示输入端口北向输出端口西传输的结构示意图,其他端口之间的传输与图1中虚线部分结构相同。
如图1所示,在本发明中,当一个数据包要从上一级节点传向当前节点时,首先会将数据包的携带有路由信息的头部flit作为请求 信号发往当前节点。在当前节点收到头部flit之后,由头部解析模块根据所采用的路由算法进行头部解析,则可以知道此数据包将要发往的方向。若此方向的虚拟通道有足够剩余的空间接收数据包,当前节点就会拉高确认信号以便让上一级节点开始此次传输,并选通DEMUX,确定对应的虚拟通道。上一级节点收到为高的确认信号后,拉高有效信号,并将数据包以flit为单位从FIFO中读出,并发送到当前节点对应的虚拟通道中。自此,数据包就从上一级节点发送到了当前节点输入模块的虚拟通道中。当虚拟通道检测到其中有数据包时,就会发送一个为高的请求信号到输出模块。输出模块可能同时收到来自不同方向的几个请求信号,在这种情况下,输出模块就会根据RR仲裁器,从中选择一个方向进行响应——将其它方向的允许信号拉低,将所选中方向的允许信号拉高并选通MUX为此方向。当虚拟通道收到为高的允许信号时,就会从FIFO中以flit为单位将数据包读出,并发送到输出端口的FIFO中,这样就完成了两级节点之间的数据包传输。在采用本结构的NOC中,数据包就是以这样一种方式,从源节点,一级一级的发送到目的节点。
如图7所示,在传统的总线结构中,所有的节点都挂在一条总线上,并由一个总线仲裁器来控制它们之间的通信。在总线结构中,如果一个节点要发起通信(一般称此节点为Master,接收通信的节点为Slave),它首先会检测此时总线是否已经被占用,如果没有被占用,则将包含slave地址的请求发到总线上;如果总线已经被占用了,则等待至总线被释放时,再发送请求。总线控制器收到了不同的请求之 后,会根据其仲裁算法选择一个master/slave对,允许其通信,并阻止其它master/slave对的通信。当一个master收到允许之后,就会将数据放到总线上,而对应的slave就会从总线上获取该数据。在这一次通信完成之前,总线都是被此master/slave对所独享。其它节点若要发起通信就只有等总线被释放之后,再发起请求。
下面对本发明所设计的片上网络路由节点微结构所构成的片上网络与现有技术中总线结构的性能进行比较。片上网络和总线结构的大小都为16个节点。本发明设计的片上网络采用Mesh结构,如图6所示;现有技术的总线结构如图7所示。在图6中,IP表示处理器核,R为片上网络中的路由器,NI为IP与路由器的接口。在图7中,IP表示处理器核,I表示处理器核与总线的接口。在将等数量的IP连接成片上网络结构和总线结构后,分别对两者的性能进行仿真,结果表明本发明所设计的路由节点构成的片上网络,性能要大大优于传统的总线结构。上述性能分析是在均匀通信模式的情况下得到的,在这种模式中,所有的IP都按照相等的数量向其他的IP传送数据包,但是每次传送的数据的目的地址是随机的。分析性能时主要考虑了多处理器核通信中的两个重要指标:平均延时和归一化吞吐率。平均延时是指数据通过片上网络(或总线)所消耗的平均时间,它反应了整个结构对数据传输时间的影响,可以用总的延时除以总的数据量的平均值来得到。归一化吞吐率反应的是数据在片上网络(或总线)中能被正确传送的概率,它可以用在一段时间内正确收到的数据包除以注入的数据包的比值来表示。在同样的注入率(单位时间内注入的数据量) 情况下,延时越低,归一化吞吐率越高,表示性能越好。图8和图9分别为片上网络与总线结构的延时和归一化吞吐率性能的仿真比较结果。

Claims (9)

1.一种片上网络的路由节点微结构,其特征在于,所述片上网络的路由节点微结构包括输入模块和输出模块,其中,输入模块包括:
头部译码模块,负责对进入路由节点的数据进行头部分析,并将数据输入至输入缓存模块;
输入缓存模块,用于缓存数据;
输入控制模块,用于翻译握手协议和对数据写入输入缓存模块的过程进行控制;
而输出模块包括:
输出仲裁模块,主要作用是控制数据向输出缓存模块输入;
输出缓存模块,用来存储输入端口传入的数据,并在输出控制模块的控制下输出数据;
输出控制模块,用于实现对输出链路的控制。
2.根据权利要求1所述的片上网络的路由节点微结构,其特征在于,所述头部译码模块进行头部分析的步骤包括:
首先通过路由算法确定数据的输出端口;
再向与输出端口对应的VOQ发送请求信号;
头部译码模块接受到VOQ发回的允许信号后,通过虚拟通道选择器选择一个非空通道将数据输入至输入缓存模块。
3.根据权利要求2所述的片上网络的路由节点微结构,其特征在于,所述虚拟通道选择器通过RR调度算法来实现非空通道的选择,以及将数据输入至输入缓存模块。
4.根据权利要求3所述的片上网络的路由节点微结构,其特征在于,所述RR调度算法包括如下步骤:
首先将CPU处理一个数据包的传输时间等分为若干个时间片,并为每个虚拟通道分配若干个时间片;
然后将所有虚拟通道排成一个队列,并从队列的起点开始选择一个含有数据的虚拟通道作为第一个向输入缓存模块输入数据的非空通道;
当第一个非空通道使用完自身所有的时间片后,若第一个非空通道内的数据尚未输入完毕,则停止输入,并将第一个非空通道排列至原队列的末尾,同时,按队列的先后顺序选择第二个非空通道,并进行数据输入;
当第二个非空通道使用完自身所有的时间片后,若其数据尚未输入完毕,则停止输入,并将第二个非空通道排列至第一个非空通道之后,同时,按照新队列的先后顺序选择第三个非空通道,并进行数据输入;
按照上述方法依次选择队列中所有的非空通道进行数据输入,直到所有的非空通道将数据全部输入至输入缓存模块。
5.根据权利要求1所述的片上网络的路由节点微结构,其特征在于,所述输入缓存模块由至少一组虚输出队列组成,每组虚输出队列又由至少一个虚拟通道组成,所有虚拟通道结构相同。
6.根据权利要求4所述的片上网络的路由节点微结构,其特征在于,所述时间片为在两个相邻路由节点之间传输一个完整数据包所需时间。
7.根据权利要求1所述的片上网络的路由节点微结构,其特征在于,所述输出仲裁模块根据状态机的状态来控制数据向输出缓存模块输入。
8.根据权利要求6所述的片上网络的路由节点微结构,其特征在于,所述输出仲裁模块控制数据向输出缓存模块输入的步骤包括:
首先在状态机的初始状态,判断输出FIFO是否为空,若输出FIFO为空,则状态机状态保持不变;反之,则从输出FIFO中读出一个数据,状态机从其初始状态转移到头部检测状态,并进行头部检测;
头部检测状态如检测到数据包头,那么状态机转移到数据传输状态进行数据传输;否则,状态机转回其初始状态,并从输出FIFO中读出下一个数据进行头部检测;
状态机处于数据传输状态时,状态机根据下一级路由接点的信息进行数据传输,直到数据传输完毕;
数据传输完毕后,若输出FIFO为非空,状态机直接转移至头部检测状态,进行数据包头检测,并进行数据传输;反之,则回到状态机的初始状态等待新数据到来。
9.根据权利要求1所述的片上网络的路由节点微结构,其特征在于,所述输出控制模块根据本级输出缓存模块的状态对下级路由节点的输入端口提出请求,并接受下级路由节点的输入端口发回的响应信号,根据响应信号来判断是否输出数据。
CN2008100462876A 2008-10-16 2008-10-16 一种片上网络的路由节点微结构 Expired - Fee Related CN101383712B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100462876A CN101383712B (zh) 2008-10-16 2008-10-16 一种片上网络的路由节点微结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100462876A CN101383712B (zh) 2008-10-16 2008-10-16 一种片上网络的路由节点微结构

Publications (2)

Publication Number Publication Date
CN101383712A CN101383712A (zh) 2009-03-11
CN101383712B true CN101383712B (zh) 2010-12-22

Family

ID=40463353

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100462876A Expired - Fee Related CN101383712B (zh) 2008-10-16 2008-10-16 一种片上网络的路由节点微结构

Country Status (1)

Country Link
CN (1) CN101383712B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778049A (zh) * 2010-03-04 2010-07-14 南京大学 包-电路交换片上路由器及其传输方法
CN102013984B (zh) * 2010-10-14 2012-05-09 西安电子科技大学 二维网状片上网络系统
CN102158403B (zh) * 2011-03-24 2014-03-05 山东大学 一种适用于片上网络的高效数据流传输通信系统及其工作方法
CN103036818B (zh) * 2011-09-30 2015-05-20 无锡江南计算技术研究所 片上网络及其通信控制器
CN102880762A (zh) * 2012-10-18 2013-01-16 电子科技大学 基于NoC架构的多核处理器平台及其设计方法
CN103150216B (zh) * 2013-02-27 2015-12-02 东南大学 一种SoC集成的多端口DDR2/3调度器及调度方法
CN104102473B (zh) * 2013-04-12 2017-08-11 杭州迪普科技股份有限公司 一种实现数据高速分发的装置
CN103389962B (zh) * 2013-07-29 2016-01-20 电子科技大学 基于标准正交基的cdma片上网络架构及其实现方法
CN104333516A (zh) * 2014-10-20 2015-02-04 东南大学成贤学院 用于组合输入交叉点缓存交换结构的旋转轮训调度方法
CN104486221B (zh) * 2014-12-12 2017-06-06 合肥工业大学 一种基于二维网格片上网络的双接入结构
CN104506310B (zh) * 2015-01-09 2018-05-18 中国人民解放军信息工程大学 一种多核密码处理器的片上网络拓扑结构及路由算法
CN105871742B (zh) * 2016-03-24 2018-12-21 合肥工业大学 一种片上网络中基于虚拟输出队列机制的自适应路由器
CN107370743B (zh) * 2017-08-01 2019-08-20 华南理工大学 针对众核芯片上篡改数据包的恶意木马的检测及防御方法
CN109408257B (zh) * 2018-11-09 2021-04-13 北京灵汐科技有限公司 用于片上网络noc的数据传输方法、装置及电子设备
CN109918043B (zh) * 2019-03-04 2020-12-08 上海熠知电子科技有限公司 一种基于虚拟通道的运算单元共享方法和系统
CN110532062B (zh) * 2019-08-13 2022-05-20 南京芯驰半导体科技有限公司 一种虚拟化SoC总线系统及配置方法
CN110460523B (zh) * 2019-08-15 2021-06-11 电子科技大学 一种用于实现片上网络跨层路由机制的路由控制单元
CN111245730B (zh) * 2020-01-15 2021-10-08 中山大学 一种片上网络的路由系统及通信方法
CN112597719A (zh) * 2020-12-28 2021-04-02 海光信息技术股份有限公司 数据网络设计验证方法、装置以及验证设备
CN113220627B (zh) * 2021-04-23 2023-05-30 西安微电子技术研究所 一种二维片上网络路由节点结构
CN113490293B (zh) * 2021-06-13 2022-04-12 复旦大学 一种双层自适应重配置环簇片上网络硬件结构
CN114064562A (zh) * 2022-01-17 2022-02-18 苏州浪潮智能科技有限公司 一种片上网络的esl建模的方法、装置、设备及介质
CN114826930B (zh) * 2022-04-20 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种实现扁平式蝴蝶型网络拓扑的系统及方法
CN114760241B (zh) * 2022-04-28 2023-06-02 中国科学院计算技术研究所 一种用于数据流架构的计算设备中的路由方法
CN114978859A (zh) * 2022-05-13 2022-08-30 海光信息技术股份有限公司 片上网络架构及相关设备、数据传输系统
CN115118677A (zh) * 2022-06-24 2022-09-27 无锡中微亿芯有限公司 一种fpga中的片上网络的路由节点调度方法
CN117156006B (zh) * 2023-11-01 2024-02-13 中电科申泰信息科技有限公司 一种片上网络的数据路由控制架构
CN117278356A (zh) * 2023-11-22 2023-12-22 中电科申泰信息科技有限公司 一种可复用可拓展的chi链路层路由器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102232A (zh) * 2006-07-07 2008-01-09 中国科学院计算技术研究所 一种测试外壳电路及其设计方法
CN101141261A (zh) * 2007-10-10 2008-03-12 山东大学 片上网络数字路由器及其并行数据传输方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102232A (zh) * 2006-07-07 2008-01-09 中国科学院计算技术研究所 一种测试外壳电路及其设计方法
CN101141261A (zh) * 2007-10-10 2008-03-12 山东大学 片上网络数字路由器及其并行数据传输方法

Also Published As

Publication number Publication date
CN101383712A (zh) 2009-03-11

Similar Documents

Publication Publication Date Title
CN101383712B (zh) 一种片上网络的路由节点微结构
Bainbridge et al. Chain: a delay-insensitive chip area interconnect
US7940666B2 (en) Communication node architecture in a globally asynchronous network on chip system
CN100454885C (zh) 流水线调度方法和调度装置
JP5793690B2 (ja) インタフェース装置、およびメモリバスシステム
EP1950932A1 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting said data
US20080215786A1 (en) Electronic Device And A Method For Arbitrating Shared Resources
US7439763B1 (en) Scalable shared network memory switch for an FPGA
CN103530245B (zh) 一种基于fpga的srio互联交换装置
CN101283548B (zh) 在FlexRay通信组件和FlexRay用户之间的用户接口和用于通过这种接口传输消息的方法
CN113114593B (zh) 一种片上网络中双信道路由器及其路由方法
CN102063408A (zh) 一种多核处理器片内数据总线
Chen et al. ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission
US7568074B1 (en) Time based data storage for shared network memory switch
Song et al. Asynchronous spatial division multiplexing router
CN102497316B (zh) Clos交换网络中基于信元的正交多子调度方法
US7254139B2 (en) Data transmission system with multi-memory packet switch
CN113490293B (zh) 一种双层自适应重配置环簇片上网络硬件结构
CN105049377B (zh) 基于Crossbar架构的AFDX交换机数据总线结构及数据交换方法
CN107332789B (zh) 基于click控制器的全异步人工神经元网络的通讯方法
CN103270490B (zh) 网络处理器及其与外部网络协处理器连接的方法
CN102158380A (zh) 一种基于统计时分复用技术的多簇片上网络架构
US7047284B1 (en) Transfer request bus node for transfer controller with hub and ports
CN102984088A (zh) 应用于afdx交换机确保帧转发顺序一致性的方法
CN117156006B (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101222

Termination date: 20121016