CN101753388B - 适用于多核处理器片上和片间扩展的路由及接口装置 - Google Patents
适用于多核处理器片上和片间扩展的路由及接口装置 Download PDFInfo
- Publication number
- CN101753388B CN101753388B CN2008102275183A CN200810227518A CN101753388B CN 101753388 B CN101753388 B CN 101753388B CN 2008102275183 A CN2008102275183 A CN 2008102275183A CN 200810227518 A CN200810227518 A CN 200810227518A CN 101753388 B CN101753388 B CN 101753388B
- Authority
- CN
- China
- Prior art keywords
- data
- chip
- input
- output
- unit
- 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 59
- 238000001514 detection method Methods 0.000 claims abstract description 36
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims description 26
- 125000004122 cyclic group Chemical group 0.000 claims description 20
- 238000000547 structure data Methods 0.000 claims description 10
- 230000003139 buffering effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000002955 isolation Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 230000006399 behavior Effects 0.000 claims description 3
- 238000013524 data verification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种适用于多核处理器片上和片间扩展的路由及接口装置,包括:路由器,用于对接收的逻辑微片数据进行路由计算、交换和转发,该路由器具有:多个路由器接口,用于与其他片上路由器直接相连接;1或2个本地网络接口,用于隔离片上网络与片内处理单元,进行数据类型的转换,并连接路由器与片内处理单元;以及1个或多个片间网络接口,用于对片外数据和路由网络数据进行转换,并通过高速串化解串模块与片外的第三方芯片相连接,或者与同类型的片外网络芯片上的片间网络接口对接。利用本发明,对于不同的接口或协议类型,只需要对网络接口单元进行配置即可实现连接,易于多核处理器片上和片间以统一的方法进行扩展,可以实现对收发数据进行校验检测,提高了传输的可靠性。
Description
技术领域
本发明涉及多核处理器的扩展技术领域,尤其是一种适用于多核处理器片上和片间扩展的路由及接口装置。
背景技术
随着大规模集成电路的不断发展以及各种高端应用对系统性能要求的不断提高,仅仅依靠单一内核处理器的性能已经显得力不从心,于是多核处理器的发展越来越为人们所关注。随着工艺水平的不断提高,处理器技术已经逐渐向拥有更多内核的处理器结构上发展。
然而随着系统中处理器数量的不断增长,现在普遍采用的总线结构将无法满足系统内部的通信要求,取而代之的是一种NOC(片上网络)技术。NOC技术是在一个基于路由结构的网络上进行包交换来支持片上核之间的通信。由于处理器的应用环境不是唯一和固定的,处理器除了要和片上其他处理器核通信外,还需要和外部各种设备通信,因此要求多核处理器的结构具有很强的可扩展的能力。另一方面,信息传输的可靠性也是决定通信效率高低的重要因素,而这些信息的传递都是由NOC的路由装置完成的。
目前常用的NOC路由装置为传统的具有5个双向端口路由器,5个端口分别是东、南、西、北和本地接口。前四个端口分别和四个方向相邻的路由器相接,本地端口和本地的处理器接口相连。5个端口使用相同的信号定义。通常所采用的路由方法是把需要传输的数据打包,加上头尾信息以后分成若干flit(逻辑微片)发送出去,再由路由装置按照一定的路由策略对逻辑微片进行传输。
传统的路由装置只负责数据包的传递,而不管数据的格式和类型。但是通常情况下,片上处理器核之间的数据包传递协议和芯片与芯片间的数据包传递协议往往是不同的,为了满足这不同的数据协议就要求片上的处理器节点在设计时依照协议要求进行设计。一旦传输协议有所不同,那就意味着需要重新设计处理器节点以满足应用,从而带来大量的额外工作。另一方面,传统的片上网络中的数据打包只是简单的对数据进行分段,并加上头尾信息后便发送出去,一旦传输过程中发生错误,接收端也无从得知,影响了传输的可靠性。因此需要探索一种新的传输方法和装置来克服传统路由中的这些缺点,从而达到能高可靠的、便于应用于多核处理器片上和片间扩展的路由及接口装置。
发明内容
(一)要解决的技术问题
有鉴于此,本发明主要解决了现有NOC中路由结构可靠性低,不易于多核处理器片上和片间以统一的方法进行扩展的问题,提出了一种可靠的适用于多核处理器片上和片间扩展的路由及接口装置,该装置主要1个到两个本地网络接口单元、一个或多个可以配置的片间网络接口(NI)单元和一个可以和各个方向连通的路由器组成,在内部增加了循环冗余(CRC)检测机制。
(二)技术方案
为达到上述目的,本发明采用的技术方案如下:
一种适用于多核处理器片上和片间扩展的路由及接口装置,该装置包括:
路由器,用于对接收的逻辑微片数据进行路由计算、交换和转发,该路由器具有:多个路由器接口,用于与其他片上路由器直接相连接;
1或2个本地网络接口,用于隔离片上网络与片内处理单元,进行数据类型的转换,并连接路由器与片内处理单元;
1或多个片间网络接口,其数目根据片间扩展所需要的最大传输通道数确定;用于对片外数据和路由网络数据进行转换,并通过高速串化/解串(SerDes)模块与片外的第三方芯片相连接,或者与同类型的片外网络芯片上的片间网络接口对接,从而实现片间网络扩展。
上述方案中,当本地节点有数据要送出,则数据经过本地网络接口打包后送至路由器,再通过路由器的多个路由器接口中的某一个路由器接口发送到片上网络或者片间网络;当片上网络上若干个方向上有数据要送到本地节点上,则数据通过路由器送到本地网络接口,再由本地网络接口进行解析拆包后送到本地片内处理单元。
上述方案中,所述路由器包括多个输入通道、多个虚拟通道、多个仲裁单元、一个交叉开关、多个输出通道、一个分配单元、一个路由计算单元、一个路由器状态寄存器与控制器和一个信用量计算单元;其中,
路由器通过多个输入通道接收到逻辑微片数据,将接收的逻辑微片数据存放在不同的虚拟通道内,每个输入通道被分配若干个虚拟通道,用于提高网络效率;
路由计算单元使用某种路由算法对虚拟通道里的逻辑微片数据进行路由计算,并通知路由器状态寄存器与控制器控制路由器里逻辑微片数据的转发;
仲裁单元控制与每个输入通道对应的若干虚拟通道的输出,该输出与交叉开关相连接;
交叉开关根据分配单元确定的某种分配算法交换输入的逻辑微片数据,最后通过多个输出通道输出;
信用量计算单元根据路由器状态寄存器与控制器的信息,输出信用量数据,并把输入信用量数据处理信息提供给路由状态寄存器与控制器;
路由器状态寄存器与控制器接收信用量计算单元的信息和路由计算单元的信息,控制仲裁单元与分配单元的行为。
上述方案中,所述本地网络接口是本地节点数据类型与片上网络传输数据类型转换的一个桥梁,由输入通道和输出通道构成,输出通道用于将片上处理器传来的传输层数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片数据输出到网络;输入通道用于将片上网络传输所用的逻辑微片数据按照一样的规则转化成本地节点数据类型。
上述方案中,所述本地网络接口包括:
配置及状态寄存器,用于存放控制信息、协议解析信息和中断信息;
输入队列单元,用于进行数据缓冲和不同时钟域的隔离;
输入及输出数据包双端口存储单元,用于储存需要进行传送的一个完整数据包的数据信息;
输入及输出状态机和控制逻辑单元,用于解析协议和接收到逻辑微片类型;
输入及输出检错校验单元,用于对输出的数据进行加扰,以及对接收的数据进行循环冗余检测校验;以及
总线控制单元,用于完成总线控制。
上述方案中,输入通道由输入队列单元、输入数据包双端口存储器单元、输入检错校验单元、输入状态机和控制逻辑单元、配置及状态寄存器,以及总线控制单元构成,从片上网络输入进来的逻辑微片经过通道选择输出到虚通道的数据队列,队列给输入状态机和控制逻辑输出空满的信号,读写输入信号由输入状态机和控制逻辑输出,控制队列的数据输入输出,并输出给输入数据存储器;输入数据存储器是异步的,用来缓存数据包并隔离不同的时钟域,存储过程由输入状态机和控制逻辑的输出控制,输入存储器并把自身的状态输出给输入状态机和控制逻辑,同时存储器还能输出给输入检错校验单元数据,进行循环冗余的校验;当校验完毕后,输入检错校验会输出状态信号给输入状态机和控制逻辑,以通知校验正确或者数据包有错;输入状态机和控制逻辑,接收各个模块的状态信号并控制各个模块传输数据,当有校验完成信号时,将通过和总线控制单元完成总线控制,若接收是控制信号或操作应答信号,则启动中断信号int_n使得处理器读取数据并操作;如果是大块数据,接收完毕后通知总线控制单元启动DMA传输数据;输入状态机和控制逻辑同时会根据输入队列的状态向本地网络接口单元外部输出信用量信号给外接的路由单元。
上述方案中,所述输出通道由总线控制单元、输出数据包存储器、输出检错单元、输出状态机和控制逻辑,以及配置及状态寄存器构成;输出状态机和控制逻辑收到总线控制单元的输入,当有数据传输的命令时,若本地网络接口目前空闲,则可以接收数据,输出状态机控制逻辑按照配置及状态寄存器中输入的协议信息和状态信息对数据进行打包,产生内部控制信号输出给数据包存储器,控制存储器读入数据,输入端发起传输命令的控制器能够继续发送传输,输出状态机和控制逻辑还根据各个模块输入的状态以及由外接的路由单元所输入的信用量信号控制存储器控制器发送允许读命令,另外输出状态机和控制逻辑将存储器输入给自身的数据和输出检测校验单元输入的数据经过位合并转化为逻辑微片向外接片上路由器发送,同时发送数据的有效位给外接片上路由器;存储器同时具有对校验单元的输出,并向输出状态机输出状态,用来缓存数据包和时钟域隔离,存储器输出的数据将会输出给输出状态机和控制逻辑;存储器数据同时输出给输出检测校验单元加扰后将加扰数据缓存至存储器单元并输出给输出状态机空转逻辑,并向状态机和控制逻辑输出状态。
上述方案中,所述片间网络接口由输入通道和输出通道构成,输出通道将片外传来的传输层数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片数据输出到网络;输入通道将片上网络传输所用的逻辑微片数据按照一样的规则转化成片外的数据类型。
上述方案中,所述片间网络接口的内部结构与本地网络接口基本相同,其输出通道将串化解串模块传来的数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片结构数据输出到网络;输入通道则相反,是将片上网络传输所用的逻辑微片结构数据按照一样的规则转化成一定的片外的数据类型;片间网络接口与本地网络接口的区别是本地网络接口的总线控制单元变成外部第三方转换接口单元,该转换接口单元是可配置的;如果片外连接的是同类的带片间网络接口单元的芯片,则通过配置在输出端不进行输入和输出检错校验,直接将数据包在输出端送高速串化解串模块发送,而在输入端对高速串化解串模块输入的数据组成数据包;如果片外连接的是第三方芯片,则通过配置在输出端使用输出检错单元进行数据校验,并将其转换为第三方芯片的协议数据,经输出端送高速串化解串模块发送,在输入端将高速串化解串模块输入的第三方芯片的协议数据转换为片上网络的数据包;因此,片间网络接口单元的功能结构能够根据片外连接芯片的不同类型配置成兼容第三方芯片接口的传送模式或配置成兼容同类芯片接口的传送模式。片间网络接口单元的可配置结构,简化了芯片间的互连扩展。同时由于同类芯片间的互连扩展协议采用相同协议的路由交换方式,提高了数据传送的效率。
(三)有益效果
从上述方案可以看出,本发明具有以下有益效果:
1、本发明提供了适用于多核处理器片上和片间扩展的路由及接口装置,该装置主要由1到2个本地网络接口单元、一个或多个可以配置的片间网络接口接口单元和一个可以和各个方向联通的路由器构成,对于不同的接口或协议类型,只需要对片间网络接口单元进行配置即可实现连接,易于多核处理器片上和片间以统一的方法进行扩展。
2、本发明中,由于片上和片间网络接口单元内部还增加了循环冗余(CRC)检测和校验单元,可以实现对收发数据进行校验检测,提高了基于路由传输数据的可靠性。
3、利用本发明,当和第三方芯片相连接,路由转发的数据在片间网络接口单元自动转换成第三方芯片所能支持的数据包和协议,提高本装置的兼容性和易扩展性;同时当和同类的包含本装置的芯片相连时,采用相同协议的路由交换方式,且路由转发的数据在片间网络接口单元不需要进行CRC校验,从而提高了数据传送的效率。
附图说明
图1是本发明提供的适用于多核处理器片上和片间扩展的路由及接口装置的结构示意图;
图2是本发明中路由器结构框图,用于对微片进行路由和交换;
图3是本发明中路由及接口装置所采用的包结构和类型;
图4是本发明中本地网络接口的结构框图,把逻辑微片数据转化为本地可用的数据并把本地的数据转化为逻辑微片;
图5是本发明中片间网络接口单元的结构框图,把网络微片数据转化为片外可用的数据并把片外的数据转化为网络微片;
图6是本发明中路由及接口装置节点在二维平面上进行网格拓扑片内扩展的一种实施例;
图7是本发明中路由及接口装置在片间扩展的一种实施例;
图8是本发明中带网络接口接口的路由及接口装置在三维空间扩展应用中和本地处理器相连形成的节点结构;
图9是基于图8中所述的节点在三维平面上进行立体mesh拓扑扩展的一种实施例。
具体实施方式
本发明主要包括两个部分:一部分是一种带有自定义网络接口(NI)单元的路由装置,该装置在传统的路由基础上增加了若干个网络接口单元,通过对网络接口单元的配置和定义使得本发明的路由装置可以方便的实现多核处理器片上和片间的扩展,使得处理器核的设计和对内对外的接口设计相对独立开,降低了开发难度。另外一部分是在路由协议层引入校验逻辑微片(check flit),在数据打包算法中增加了一些校验信息,即在本路由装置中增加了循环冗余(CRC)校验单元来检测传输的正确性,循环冗余校验码(CRC)是一种系统缩短循环码,广泛应用于帧校验。它是利用除法及余数的原理来作错误侦测的。实际应用时,发送装置计算出循环冗余值并随数据一同发送给接收装置,接收装置对收到的数据重新计算循环冗余并与收到的循环冗余相比较,若两个循环冗余值不同,则说明数据通讯出现错误。
本路由及接口装置引入校验逻辑微片和循环冗余校验码检测机制后,使得基于路由传输的可靠性得到提高,从而解决了目前片上网络(NoC)数据传送不可靠的问题。
为了不混淆本发明,本发明叙述中将不对传统路由所采用的一些通用名词和概念做过多解释,这些概念包括但不限于以下内容:虚通道、网格(mesh)拓扑结构、数据包(packet)。本领域技术人员将能明白。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明提供的适用于多核处理器片上和片间扩展的路由及接口装置的结构示意图,每个路由器有多个和其他路由器直接相连的接口,还具有1到2个本地网络接口,该本地网络接口用来隔离片上网络和片内处理单元,并进行数据类型的转换,路由器经由本地网络接口后与片内处理单元相连,该片内处理单元可以是片上处理器但不限于这一种,它同样也可以是其他类型的处理单元,根据该片内处理单元的不同,本地网络接口的配置寄存器内容也不同。如果本地节点有数据要送出,数据经过本地网络接口打包后送至路由器,再通过路由器的若干个接口中的某一个接口发送到网络上;同样的当网络上若干个方向上有数据要送到本地节点上,则数据通过路由器送到本地网络接口,再由本地网络接口进行解析拆包后送到本地片内处理单元(例如片上处理器)。同时当路由器与片外进行通信的时候,可以通过片间网络接口进行片间的互连,片间网络接口的作用主要是对片外数据和路由网络数据进行转换,用于对片外数据和路由网络数据进行转换,并通过高速串化/解串(SerDes)模块与片外的第三方芯片相连接,或者与同类的片外网络芯片上的外部网络接口对接,从而实现片间网络扩展。
图2是本发明中路由器结构框图,路由器主要用来对接收到的逻辑微片数据进行路由计算和交换并转发。路由器的输入都是逻辑微片形式的数据,可以是网络接口输出给路由器的逻辑微片数据,也可以是其它路由器向该路由器发送的逻辑微片数据。接收的数据可以存放在不同的虚拟通道内,每个输入通道允许分配若干个虚拟通道,用来提高网络效率。同时路由计算单元使用某种路由算法对虚拟通道里的微片进行路由计算并通知路由器状态寄存器与控制器控制路由器里逻辑微片数据的转发。仲裁单元控制每个通道的虚拟通道的输出,这些输出与交叉开关相连。交叉开关根据分配单元确定的某种分配算法交换输入的逻辑微片数据,最后输出给路由器的输出。信用量(Credit)计算单元根据路由器状态寄存器与控制器的信息,输出信用量数据,并把输入信用量数据处理信息提供给路由状态寄存器与控制器。路由器状态寄存器与控制器接收信用量计算单元的信息和路由计算单元的信息,控制仲裁单元与分配单元的行为,是路由器中主要的状态控制单元。
图3为本发明路由装置所采用的包(packet)结构和微片(flit)类型,包的类型主要分为2类:请求包和响应包。请求包和响应包主要在传输层上用来传输从终端发出的数据处理的请求和响应。请求包和响应包可以被分解成flit(微片)传输,又分为头微片(head flit)、体微片(body flit)、尾微片(tail flit)和校验微片(check flit)。分别用来告诉路由装置一串数据的头和尾的位置以及这些数据需要送达的目的地址。校验微片用来对数据进行循环冗余检测完成后的比对,从而确定本次数据包传送是否正确。
图4是本发明中本地网络接口的结构框图。本地网络接口单元是本地节点数据类型和片上网络传输数据类型转换的一个桥梁,它主要由2个通道组成,即输入和输出通道。其主要功能是输出通道把片上处理器传来的传输层数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片结构数据输出到网络;输入通道则相反,是把片上网络传输所用的逻辑微片结构数据按照一样的规则转化成本地节点数据类型。为了提高传输的可靠性,本发明的路由装置中加入了循环冗余检测机制,因此在本地网络接口单元中有一个检错校验单元,用来对输出的数据做加扰及对接收的数据做校验。本地网络接口单元主要包括输入和输出两大部分。
参照图4,本地网络接口单元各个功能模块的作用如下:配置及状态寄存器用来存放一些控制信息、协议解析信息和中断信息等。该寄存器中的内容可以根据协议的不同或用户需要的不同自行进行定义和配置。输入队列单元用来做数据缓冲和不同时钟域的隔离,数据包双端口存储单元储存需要进行传送的一个完整数据包的数据信息。传输状态机和控制逻辑单元用来解析协议和接收到逻辑微片类型。检错校验单元进行拆包以后的数据循环冗余检测。总线控制单元接口单元完成总线控制等。
参照图4,本地网络接口单元的输入部分主要包括以下几个模块:输入队列单元,输入数据包存储器,输入检错单元,输入状态机和控制逻辑,配置及状态寄存器以及总线控制单元等。从片上网络输入进来的逻辑微片经过通道选择输出到虚通道的数据队列,队列给输入状态机和控制逻辑输出空满的信号,读写输入信号由输入状态机和控制逻辑输出,控制队列的数据输入输出,并输出给输入数据存储器。输入数据存储器可以是异步的,用来缓存数据包并隔离不同的时钟域,存储过程由输入状态机和控制逻辑的输出控制,输入存储器并把自身的状态输出给输入状态机和控制逻辑,同时存储器还能输出给输入检错校验单元数据,进行诸如循环冗余的校验。当校验完毕后,输入检错校验会输出状态信号给输入状态机和控制逻辑,以通知校验正确或者数据包有错。输入状态机和控制逻辑,接收各个模块的状态信号并控制各个模块传输数据,当有校验完成信号时,会通过和总线控制单元完成总线控制,比如若接收是控制信号或操作应答信号,则启动中断信号int_n使得处理器读取数据并操作;如果是大块数据,接收完毕后通知总线控制单元启动DMA传输数据。输入状态机和控制逻辑同时会根据输入队列的状态向本地网络接口单元外部输出信用量信号给外接的路由单元。配置及状态寄存器和输入与输出状态机和控制逻辑有连接,主要用来存放一些控制信息、协议解析信息和中断信息等,该寄存器中的内容可以根据协议的不同或用户需要的不同自行进行定义和配置。总线控制单元接收输入数据存储器的数据输入,并向输入状态机和控制逻辑输出状态,和片内的处理单元相连。
参照图4,本地网络接口单元的输出部分主要由总线控制单元,输出数据包存储器,输出检错单元,输出状态机和控制逻辑以及配置及状态寄存器等模块构成。输出状态机和控制逻辑收到总线控制单元的输入,当有数据传输的命令时,若本地网络接口目前空闲,则可以接收数据,输出状态机控制逻辑按照配置及状态寄存器中的输入的协议信息和状态信息对数据进行打包,产生内部控制信号输出给数据包存储器,控制存储器读入数据,输入端发起传输命令的控制器能够继续发送传输,输出状态机和控制逻辑还根据各个模块输入的状态以及由外接的路由单元所输入的信用量信号控制存储器控制器发送允许读命令,另外输出状态机和控制逻辑还能把存储器输入给自身的数据和输出检测校验单元输入的数据经过位合并转化为逻辑微片向外接片上路由器发送,同时发送数据的有效位给外接片上路由器。存储器同时具有对校验单元的输出,并向输出状态机输出状态,用来缓存数据包和时钟域隔离,存储器输出的数据将会输出给输出状态机和控制逻辑,。存储器数据同时输出给输出检测校验单元加扰后将加扰数据缓存至存储器单元并输出给输出状态机空转逻辑,并向状态机和控制逻辑输出状态。
图5是本发明中片间网络接口单元的结构框图。它的内部结构和本地网络接口单元类似(或者说基本相同),其主要功能是输出通道把串化解串模块传来的数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片结构数据输出到网络;输入通道则相反,是把片上网络传输所用的逻辑微片结构数据按照一样的规则转化成一定的片外的数据类型。片间网络接口单元的结构和本地网络接口单元类似,但和本地网络接口单元的区别是本地网络接口的总线控制单元变成外部第三方转换接口单元,该转换接口单元是可配置的。如果片外连接的是同类的带片间网络接口单元的芯片,则通过配置在输出端不进行输入和输出检错校验,直接将数据包在输出端送高速串化解串模块发送,而在输入端对高速串化解串模块输入的数据组成数据包;如果片外连接的是第三方芯片,则通过配置在输出端使用输出检错单元进行数据校验,并将其转换为第三方芯片的协议数据,经输出端送高速串化解串模块发送,在输入端将高速串化解串模块输入的第三方芯片的协议数据转换为片上网络的数据包。因此,片间网络接口单元的功能结构可以根据片外连接芯片的不同类型配置成兼容第三方芯片接口的传送模式或配置成兼容同类芯片接口的传送模式。片间网络接口单元的可配置结构,简化了芯片间的互连扩展。同时由于同类芯片间的互连扩展协议采用相同协议的路由交换方式,提高了数据传送的效率。
图6为本发明中路由及接口装置节点在二维平面上进行网格拓扑片内扩展的一种实施例。在这种结构中,逻辑微片数据可以通过各个节点中的路由器进行二维平面上东南西北4个方向的传输,并在片内进行扩展。
图7为本发明中路由及接口装置在片间扩展的一种实施例。在这种结构中片间网络接口单元可以通过高速串化/解串(Serdes)等模块与片外的第三方芯片相连,也可以通过高速串化/解串(Serdes)等模块与片外的另一块NoC芯片中的片间网络接口单元相连。通过片间扩展,提高了NoC芯片扩展的灵活性和通用性。
图8为本发明的另外一种路由装置,该装置适合在三维立体扩展中进行应用。主要包括一个路由器和两个网络接口单元。整个路由装置有8个端口,除了具有二维平面扩展的东、南、西、北4个端口外,还增加了三维立体的上、下方向端口。另外还有2本地接口,每个本地接口都经由一个网络接口单元和节点单元相连,同样的,这个单元可以是片上处理器单元或片间通信接口但不限于这两种,根据该单元的不同,网络接口的配置寄存器内容不同。如果某一个本地端口或者两个本地端口有数据要送出,数据经过各自网络接口打包后送至路由器,再通过路由器的东、西、南、北、上和下6个端口中的某一个或2个发送到网络上;同样的当网络上6个方向上的某个或某2个方向上有数据要送到本地节点上,则数据通过路由器送到相应的网络接口单元,再由网络接口进行解析拆包后送到本地片上处理器或接口。
图9为基于图8中所述的节点在三维平面上进行立体网格拓扑扩展的一种实施例,在这种结构中,逻辑微片数据可以通过各个节点中的路由器进行三维平面上东、南、西、北、上和下6个方向的传输。这样的结构使得网络可以进行立体的扩展,集成电路工艺的不断发展已经使得立体布线成为可能,因此这样的立体扩展方式可以大大的提高集成度。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,该装置包括:
路由器,用于对接收的逻辑微片数据进行路由计算、交换和转发,该路由器具有:多个路由器接口,用于与其他片上路由器直接相连接;
1或2个本地网络接口,用于隔离片上网络与片内处理单元,进行数据类型的转换,并连接路由器与片内处理单元;
1或多个片间网络接口,其数目根据片间扩展所需要的最大传输通道数确定,用于对片外数据和路由网络数据进行转换,并通过高速串化/解串SerDes模块与片外的第三方芯片相连接,或者与同类型的片外网络芯片上的片间网络接口对接,实现片间网络扩展。
2.根据权利要求1所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,
当本地节点有数据要送出,则数据经过本地网络接口打包后送至路由器,再通过路由器的多个路由器接口中的某一个路由器接口发送到片上网络或者片间网络;
当片上网络上若干个方向上有数据要送到本地节点上,则数据通过路由器送到本地网络接口,再由本地网络接口进行解析拆包后送到本地片内处理单元。
3.根据权利要求1所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述路由器包括多个输入通道、多个虚拟通道、多个仲裁单元、一个交叉开关、多个输出通道、一个分配单元、一个路由计算单元、一个路由器状态寄存器与控制器和一个信用量计算单元;其中,
路由器通过多个输入通道接收到逻辑微片数据,将接收的逻辑微片数据存放在不同的虚拟通道内,每个输入通道被分配若干个虚拟通道,用于提高网络效率;
路由计算单元使用某种路由算法对虚拟通道里的逻辑微片数据进行路由计算,并通知路由器状态寄存器与控制器控制路由器里逻辑微片数据的转发;
仲裁单元控制与每个输入通道对应的若干虚拟通道的输出,该输出与交叉开关相连接;
交叉开关根据分配单元确定的某种分配算法交换输入的逻辑微片数据,最后通过多个输出通道输出;
信用量计算单元根据路由器状态寄存器与控制器的信息,输出信用量数据,并把输入信用量数据处理信息提供给路由状态寄存器与控制器;
路由器状态寄存器与控制器接收信用量计算单元的信息和路由计算单元的信息,控制仲裁单元与分配单元的行为。
4.根据权利要求1所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述本地网络接口是本地节点数据类型与片上网络传输数据类型转换的一个桥梁,由输入通道和输出通道构成,输出通道用于将片上处理器传来的传输层数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片数据输出到网络;输入通道用于将片上网络传输所用的逻辑微片数据按照一样的规则转化成本地节点数据类型。
5.根据权利要求1所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述本地网络接口包括:
配置及状态寄存器,用于存放控制信息、协议解析信息和中断信息;
输入队列单元,用于进行数据缓冲和不同时钟域的隔离;
输入及输出数据包双端口存储单元,用于储存需要进行传送的一个完整数据包的数据信息;
输入及输出状态机和控制逻辑单元,用于解析协议和接收到逻辑微片类型;
输入及输出检错校验单元,用于对输出的数据进行加扰,以及对接收的数据进行循环冗余检测校验;以及
总线控制单元,用于完成总线控制。
6.根据权利要求4所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述输入通道由输入队列单元、输入数据包双端口存储器单元、输入检错校验单元、输入状态机和控制逻辑单元、配置及状态寄存器,以及总线控制单元构成,从片上网络输入进来的逻辑微片经过通道选择输出到虚通道的数据队列,队列给输入状态机和控制逻辑输出空满的信号,读写输入信号由输入状态机和控制逻辑输出,控制队列的数据输入输出,并输出给输入数据存储器;输入数据存储器是异步的,用来缓存数据包并隔离不同的时钟域,存储过程由输入状态机和控制逻辑的输出控制,输入存储器并把自身的状态输出给输入状态机和控制逻辑,同时存储器还能输出给输入检错校验单元数据,进行循环冗余的校验;当校验完毕后,输入检错校验会输出状态信号给输入状态机和控制逻辑,以通知校验正确或者数据包有错;输入状态机和控制逻辑,接收各个模块的状态信号并控制各个模块传输数据,当有校验完成信号时,将通过和总线控制单元完成总线控制,若接收是控制信号或操作应答信号,则启动中断信号int_n使得处理器读取数据并操作;如果是大块数据,接收完毕后通知总线控制单元启动DMA传输数据;输入状态机和控制逻辑同时会根据输入队列的状态向本地网络接口单元外部输出信用量信号给外接的路由单元。
7.根据权利要求4所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述输出通道由总线控制单元、输出数据包存储器、输出检错单元、输出状态机和控制逻辑,以及配置及状态寄存器构成;输出状态机和控制逻辑收到总线控制单元的输入,当有数据传输的命令时,若本地网络接口目前空闲,则可以接收数据,输出状态机控制逻辑按照配置及状态寄存器中输入的协议信息和状态信息对数据进行打包,产生内部控制信号输出给数据包存储器,控制存储器读入数据,输入端发起传输命令的控制器能够继续发送传输,输出状态机和控制逻辑还根据各个模块输入的状态以及由外接的路由单元所输入的信用量信号控制存储器控制器发送允许读命令,另外输出状态机和控制逻辑将存储器输入给自身的数据和输出检测校验单元输入的数据经过位合并转化为逻辑微片向外接片上路由器发送,同时发送数据的有效位给外接片上路由器;存储器同时具有对校验单元的输出,并向输出状态机输出状态,用来缓存数据包和时钟域隔离,存储器输出的数据将会输出给输出状态机和控制逻辑;存储器数据同时输出给输出检测校验单元加扰后将加扰数据缓存至存储器单元并输出给输出状态机空转逻辑,并向状态机和控制逻辑输出状态。
8.根据权利要求1所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述片间网络接口由输入通道和输出通道构成,输出通道将片外传来的传输层数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片数据输出到网络;输入通道将片上网络传输所用的逻辑微片数据按照一样的规则转化成片外的数据类型。
9.根据权利要求8所述的适用于多核处理器片上和片间扩展的路由及接口装置,其特征在于,所述片间网络接口的内部结构与本地网络接口基本相同,其输出通道将串化解串模块传来的数据根据一定的协议和规则进行分割,转化成片上网络传输所用的逻辑微片结构数据输出到网络;输入通道则相反,是将片上网络传输所用的逻辑微片结构数据按照一样的规则转化成一定的片外的数据类型;片间网络接口与本地网络接口的区别是本地网络接口的总线控制单元变成外部第三方转换接口单元,该转换接口单元是可配置的;如果片外连接的是同类的带片间网络接口单元的芯片,则通过配置在输出端不进行输入和输出检错校验,直接将数据包在输出端送高速串化解串模块发送,而在输入端对高速串化解串模块输入的数据组成数据包;如果片外连接的是第三方芯片,则通过配置在输出端使用输出检错单元进行数据校验,并将其转换为第三方芯片的协议数据,经输出端送高速串化解串模块发送,在输入端将高速串化解串模块输入的第三方芯片的协议数据转换为片上网络的数据包;因此,片间网络接口单元的功能结构能够根据片外连接芯片的不同类型配置成兼容第三方芯片接口的传送模式或配置成兼容同类芯片接口的传送模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102275183A CN101753388B (zh) | 2008-11-28 | 2008-11-28 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102275183A CN101753388B (zh) | 2008-11-28 | 2008-11-28 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101753388A CN101753388A (zh) | 2010-06-23 |
CN101753388B true CN101753388B (zh) | 2011-08-31 |
Family
ID=42479823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102275183A Active CN101753388B (zh) | 2008-11-28 | 2008-11-28 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101753388B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185751B (zh) * | 2010-12-13 | 2013-07-17 | 中国人民解放军国防科学技术大学 | 一种基于快速通道技术的单周期片上路由器 |
US8909979B2 (en) | 2011-06-27 | 2014-12-09 | Huawei Technologies Co., Ltd. | Method and system for implementing interconnection fault tolerance between CPU |
CN102301364B (zh) | 2011-06-27 | 2013-01-02 | 华为技术有限公司 | Cpu互联装置 |
CN102387080A (zh) * | 2011-10-21 | 2012-03-21 | 上海交通大学 | 片上网络虫洞路由容错方法 |
US9210039B2 (en) | 2012-05-10 | 2015-12-08 | Intel Corporation | Generating and/or receiving at least one packet to facilitate, at least in part, network path establishment |
WO2013169258A1 (en) * | 2012-05-10 | 2013-11-14 | Intel Corporation | Network routing based on resource availability |
CN104052663B (zh) * | 2013-03-14 | 2017-11-17 | 中国人民解放军信息工程大学 | 一种大规模片上芯片互联方法及实现互联结构的路由算法 |
CN103761211A (zh) * | 2014-02-14 | 2014-04-30 | 河南城建学院 | 面向片上网络结构多核芯片组的路由地址变换方法 |
US9460012B2 (en) | 2014-02-18 | 2016-10-04 | National University Of Singapore | Fusible and reconfigurable cache architecture |
CN104008084B (zh) * | 2014-06-02 | 2017-01-18 | 复旦大学 | 一种可拓展的2.5d多核处理器架构 |
CN104079491B (zh) * | 2014-07-07 | 2018-04-27 | 中国科学院计算技术研究所 | 一种面向高维度网络的路由器及路由方法 |
US9608935B2 (en) * | 2014-09-08 | 2017-03-28 | Qualcomm Technologies, Inc. | Tunneling within a network-on-chip topology |
US9904645B2 (en) | 2014-10-31 | 2018-02-27 | Texas Instruments Incorporated | Multicore bus architecture with non-blocking high performance transaction credit system |
CN104780122B (zh) * | 2015-03-23 | 2018-09-11 | 中国人民解放军信息工程大学 | 基于缓存再分配的层次化片上网络路由器的控制方法 |
CN105095150B (zh) * | 2015-08-14 | 2018-03-02 | 中国电子科技集团公司第五十八研究所 | 一种支持片上网络的网络接口 |
CN105207957B (zh) * | 2015-08-18 | 2018-10-30 | 中国电子科技集团公司第五十八研究所 | 一种基于片上网络多核架构的系统 |
CN105528311A (zh) * | 2015-12-11 | 2016-04-27 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于数据包的存储器读写电路及方法 |
CN105721355A (zh) * | 2016-01-29 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种片上网络路由传输报文的方法及片上网络路由 |
CN107317773B (zh) * | 2017-07-03 | 2020-03-27 | 辽宁科技大学 | 一种片上网络通信接口及通信方法 |
CN108259344B (zh) * | 2017-11-29 | 2020-12-29 | 新华三技术有限公司 | 遥测Telemetry方法和装置 |
CN108427584B (zh) * | 2018-03-19 | 2021-07-30 | 清华大学 | 快速启动的具有并行计算核的芯片及该芯片的配置方法 |
CN111382117A (zh) * | 2018-12-29 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 发送装置、神经网络处理器芯片、组合装置以及电子设备 |
CN110691043B (zh) * | 2019-09-11 | 2021-10-29 | 无锡江南计算技术研究所 | 一种支持多源多虚通道非连续传输的插花整理方法 |
CN112825101B (zh) * | 2019-11-21 | 2024-03-08 | 广州希姆半导体科技有限公司 | 芯片架构及其数据处理方法、电子设备及存储介质 |
CN112988653B (zh) * | 2019-12-16 | 2024-04-12 | 广州希姆半导体科技有限公司 | 数据处理电路、装置以及方法 |
CN113138955B (zh) * | 2020-01-20 | 2024-04-02 | 北京灵汐科技有限公司 | 一种众核系统的片上网络互联结构和数据传输方法 |
CN115777184B (zh) * | 2020-06-29 | 2024-07-30 | 华为技术有限公司 | 一种数据重传方法和装置 |
CN111786894B (zh) * | 2020-07-01 | 2021-08-10 | 无锡中微亿芯有限公司 | 实现片上网络传输带宽扩充功能的fpga装置 |
CN111917526B (zh) * | 2020-07-31 | 2022-12-23 | 许继集团有限公司 | 一种可扩展交叉冗余通信接口装置及方法 |
CN114448882B (zh) * | 2020-11-04 | 2024-07-05 | 国家计算机网络与信息安全管理中心 | 一种实现高性能大容量路由设备的设计方法 |
CN116711281A (zh) * | 2020-12-30 | 2023-09-05 | 华为技术有限公司 | 一种片上系统及相关方法 |
CN112817905A (zh) * | 2021-02-05 | 2021-05-18 | 中国电子科技集团公司第五十八研究所 | 互联裸芯、互联微组件、互联微系统及其通信方法 |
CN112817906B (zh) * | 2021-02-05 | 2023-03-07 | 中国电子科技集团公司第五十八研究所 | 互联裸芯的时钟域系统及其管理方法 |
CN112817908B (zh) * | 2021-02-05 | 2023-06-20 | 中国电子科技集团公司第五十八研究所 | 裸芯间高速扩展系统及其扩展方法 |
CN114615215B (zh) * | 2022-03-25 | 2024-04-09 | 中国电子科技集团公司第五十八研究所 | 一种支撑片上片间一体化路由的数据包编码方法 |
CN115051948B (zh) * | 2022-05-19 | 2023-10-13 | 天翼云科技有限公司 | 一种vpc分布式网元数据传输方法及装置、电子设备 |
CN115827532B (zh) * | 2022-12-26 | 2023-10-13 | 无锡众星微系统技术有限公司 | 一种PCIe HBA IOC内部总线网络互联方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567187A (zh) * | 2003-06-11 | 2005-01-19 | 华为技术有限公司 | 数据处理系统及方法 |
CN101252535A (zh) * | 2008-03-28 | 2008-08-27 | 杭州华三通信技术有限公司 | 集中式转发网络设备及方法 |
-
2008
- 2008-11-28 CN CN2008102275183A patent/CN101753388B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567187A (zh) * | 2003-06-11 | 2005-01-19 | 华为技术有限公司 | 数据处理系统及方法 |
CN101252535A (zh) * | 2008-03-28 | 2008-08-27 | 杭州华三通信技术有限公司 | 集中式转发网络设备及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440219A (zh) * | 2013-08-23 | 2013-12-11 | 上海航天测控通信研究所 | 一种新型的通用总线转换桥ip核 |
CN103440219B (zh) * | 2013-08-23 | 2016-06-08 | 上海航天测控通信研究所 | 一种通用总线转换桥ip核 |
Also Published As
Publication number | Publication date |
---|---|
CN101753388A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101753388B (zh) | 适用于多核处理器片上和片间扩展的路由及接口装置 | |
CN112860612B (zh) | 互联裸芯与mpu的接口系统及其通信方法 | |
Bainbridge et al. | Chain: a delay-insensitive chip area interconnect | |
KR100687659B1 (ko) | Axi 프로토콜에 따른 락 오퍼레이션을 제어하는네트워크 인터페이스, 상기 네트워크 인터페이스가 포함된패킷 데이터 통신 온칩 인터커넥트 시스템, 및 상기네트워크 인터페이스의 동작 방법 | |
US8006024B2 (en) | Multi-port system and method for routing a data element within an interconnection fabric | |
CN112905520B (zh) | 用于互联裸芯的数据传输事件 | |
CN108234337B (zh) | 一种支持主机接口的SpaceWire总线路由器 | |
US20150188847A1 (en) | STREAMING BRIDGE DESIGN WITH HOST INTERFACES AND NETWORK ON CHIP (NoC) LAYERS | |
US20150103822A1 (en) | Noc interface protocol adaptive to varied host interface protocols | |
US20200081850A1 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
CN106953853B (zh) | 一种片上网络千兆以太网资源节点及其工作方法 | |
JP2004525449A (ja) | 相互接続システム | |
JP2006502642A (ja) | トランザクションを確立するための集積回路および方法 | |
JP2008546298A (ja) | 電子装置及び通信リソース割り当ての方法 | |
CN112148651B (zh) | 一种增强型rapidio互联装置及设备 | |
CN114185840A (zh) | 一种三维多裸片互连网络结构 | |
Carara et al. | Communication models in networks-on-chip | |
JP2008520119A (ja) | 電子デバイスおよび通信資源割り当て方法 | |
US8885673B2 (en) | Interleaving data packets in a packet-based communication system | |
CN110311814B (zh) | 可编程NoC万兆以太网资源网络接口系统 | |
US8645557B2 (en) | System of interconnections for external functional blocks on a chip provided with a single configurable communication protocol | |
CN103412849A (zh) | ARM处理器的NoC资源网络接口及其驱动方法 | |
CN115982071A (zh) | 一种面向ddr3控制器的片上网络转换接口 | |
US8468287B2 (en) | Information processor and information processing method | |
CN107317773B (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 |