CN102866980B - 用于多核微处理器片上互连网络的网络通信胞元 - Google Patents
用于多核微处理器片上互连网络的网络通信胞元 Download PDFInfo
- Publication number
- CN102866980B CN102866980B CN201210271049.1A CN201210271049A CN102866980B CN 102866980 B CN102866980 B CN 102866980B CN 201210271049 A CN201210271049 A CN 201210271049A CN 102866980 B CN102866980 B CN 102866980B
- Authority
- CN
- China
- Prior art keywords
- data
- micro
- message
- station
- bag
- 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
Abstract
本发明公开了一种用于多核微处理器片上互连网络的网络通信胞元,包含至少一个物理通道,该物理通道包括通信接口单元和两级流水线结构,通信接口单元包括接口寄存器和不超过8个双向通信接口,两级流水线结构包括用于仲裁输入的报文微包数据请求及缓存输入报文微包数据的仲裁站和用于将被仲裁许可的报文微包数据进行选择输出的数据选择站,仲裁站、数据选择站分别通过接口寄存器与双向通信接口相连,仲裁站、数据选择站之间设有用于缓存被仲裁选择的报文微包数据的站间寄存器。本发明具有可重用性好、配置扩展简单、能够降低微处理器互连网络的设计难度、缩短设计时间、应用范围广的优点。
Description
技术领域
本发明涉及面向多核微处理器的片上互连网络体系结构,具体涉及一种用于多核微处理器片上互连网络的网络通信胞元。
背景技术
多核微处理器中使用的片上互连网络的基本形式有:总线、交叉开关、环、二维mesh(2D-mesh)、二维环网(2D-torus)和多维mesh等。
总线通过多个接口连接多个处理器核(每个核作为一个结点)并对其进行分时服务,每次通信只能有一个源结点和目的结点连通,其它结点断开。总线具有简洁实用,所需的设备量小的特点,但是能够连接的结点数和总线工作频率与总线接口电路的速度和驱动能力以及总线长度和负载大小都有关,一般适合对通信能力要求不高且规模较小的系统。斯坦福大学的Hydra多核处理器是采用总线进行片上多核处理器的互连的典型实例。
交叉开关选址方便、控制简单、连接特性好,但是所需的设备量大,一般适合对通信能力要求较高且规模中等的系统,但是线路的利用率较低。典型的采用交叉开关作为片上互连的多核处理器有:Piranha、Sun公司的Niagara处理器、Niagara-2处理器和IBM的Cyclops64等。
环是将线性阵列两个端结点的空闲链路对接而形成的一种网络拓扑结构。环网能够支持相邻结点间并行通信而不像总线同时只支持一对结点的通信,因此它具有比总线更高的网络带宽。与线性阵列相比,环的链路可以采用单向通道达到结点间通信的目的,单向通道比半双工和全双工通道结构简单、代价低。但是环与线性阵列一样,当有任两个结点间的链路故障时就不能完成所有结点间通信,因此其可靠性相对较低。Sony、Toshiba、IBM三家联合研制的Cell处理器是典型的采用环网作为片上互连的多核微处理器。
二维mesh结构互连网络具有结点度高、扩展性好,控制简单、有一定冗余通路和易大规模实现等特点。二维mesh网络的一种扩展的拓扑结构是二维环网,通过将2D-mesh中相距最远的两结点进行环接,网络直径更小,等分带宽提高了一倍。典型的使用mesh互连结构的多核处理器有RAW和Tile64。
多维mesh是二维mesh通过维度扩展而形成的一种具有立体结构的互连拓扑结构。该结构比二维mesh能够容纳更多的结点。
在桌面处理器、嵌入式处理器等领域,一般处理器芯片集成的核数为4~8个,采用传统的交叉开关作为片上互连网络能够满足要求。在面向高性能计算的处理器领域,主流芯片中集成的处理器核心数目处于8~16个的水平,具有几十个处理器核的众核处理器也正在研制并逐渐市场化。当片上集成更多的处理器核时,采用传统的总线和交叉开关作为片上互连网络面临很多问题。传统总线每次通信时只有一对源和目的结点连通,不能支持多个处理器核心同时传输数据的需求,造成数据传输带宽远远不能满足要求。传统的交叉开关如果要支持16核以上的处理器核通信,开关的设备量级会成指数增加,物理实现变得非常困难。在具有16或更多核的高性能处理器中,采用环网、二维mesh和多维mesh等是发展趋势。
综上所述,现有技术的微处理器片上互连网络设计与实现存在以下问题:第一,不同的应用领域对处理器芯片中集成的核的数目的需求不同,因此对片上互连网络的拓扑结构的要求不同;第二,传统的多核处理器片上网络设计属于定制设计,通过专用的电路结构实现,不同的处理器研制厂商在设计各自的处理器产品时采用专用的片上互连网络电路设计,设计难度大,周期长,可重用性不强。
发明内容
本发明要解决的技术问题是提供一种可重用性好、配置扩展简单、能够降低微处理器互连网络的设计难度、缩短设计时间的用于多核微处理器片上互连网络的网络通信胞元。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于多核微处理器片上互连网络的网络通信胞元,包含至少一个物理通道,所述物理通道包括通信接口单元和两级流水线结构,所述通信接口单元包括接口寄存器和不超过8个双向通信接口,所述两级流水线结构包括用于仲裁输入的报文微包数据请求及缓存输入报文微包数据的仲裁站和用于将被仲裁许可的报文微包数据进行选择输出的数据选择站,所述仲裁站、数据选择站分别通过接口寄存器与双向通信接口相连,所述仲裁站、数据选择站之间设有用于缓存所述被仲裁选择的报文微包数据的站间寄存器。
作为上述技术方案的进一步改进:
所述仲裁站包括用于缓存输入报文微包数据请求的检查板、用于仲裁输入的报文微包数据请求的仲裁控制器和用于缓存输入报文微包数据的微包数据队列,所述检查板通过第一2路选择器与接口寄存器相连,所述仲裁控制器的输入端通过第二2路选择器分别与检查板、第一2路选择器相连,所述仲裁控制器的输出端通过站间寄存器分别与接口寄存器、数据选择站相连,所述微包数据队列的输出端与数据选择站相连;所述仲裁控制器在每一次仲裁后向数据选择站发送微包选择信号、通过站间寄存器向第一2路选择器发送未被许可的报文微包数据请求、通过站间寄存器向通信接口单元发送被许可报文微包数据请求的信用释放信号、通过通信接口单元以及一个路由控制器输出报文有效信号,所述数据选择站则根据微包选择信号从所述微包数据队列中选择缓存的报文微包数据并通过通信接口单元输出。
所述数据选择站包括用于将被仲裁许可的报文微包数据进行选择输出的多路选择器,所述多路选择器的输入端分别与微包数据队列的输出端相连,所述多路选择器的输出端与接口寄存器相连。
所述检查板包括依次相连的写控制器、存储模块和选择模块,所述存储模块包括多个存储单元,所述选择模块包括多个第一级选择逻辑和一个第二级选择逻辑,所述写控制器的输入端与第一2路选择器相连,所述第一级选择逻辑的输入端分别与多个存储单元相连,所述第二级选择逻辑的输入端分别与第一级选择逻辑以及第一2路选择器相连。
所述存储模块还包括用于保存每个报文微包数据请求信息的三个存储表,第一个存储表用于存储来自各个双向通信接口的报文微包数据的有效信号以及所述仲裁控制器仲裁的方向信息;第二个存储表用于存储各个双向通信接口的报文微包数据请求的请求报文长度;第三个存储表用于存储各个双向通信接口的报文微包数据请求的路由场信息,所述路由控制器根据站间寄存器输出的路由场信息控制报文有效信号输出到对应的双向通信接口。
本发明具有下述优点:
1、本发明包含通信接口单元和两级流水线结构,设计人员只需要根据所设计微处理器的片上网络拓扑结构进行通信胞元的配置和组合就能够快速实现包括交叉开关、环网、二维和多维mesh等在内的多种微处理器主流片上网络,而且该网络能够随处理器核数目的增加进行扩展,具有配置扩展简单、能够降低微处理器互连网络的设计难度、缩短设计时间的优点。
2、本发明的网络通信胞元不仅可以灵活地搭建适合多种高性能微处理器片上网络拓扑结构的片上互连网络,而且具有良好的重用性和可扩展性,能够适应多核处理器体系结构片上互连网络的发展需求,具有可重用性好、应用范围广泛的优点,不仅适用于目前的多核处理器片上网络,还能够通过扩展在众核处理器片上网络中使用。
附图说明
图1为本发明实施例的结构示意图。
图2为本发明实施例一个物理通道的结构示意图。
图3为本发明实施例的接口报文格式示意图。
图4为本发明实施例中检查板的结构示意图。
图5为本发明实施例检查板中存储模块的存储表结构示意图。
图6为基于本实施例构建的8核处理器交叉开关片上互连网络的拓扑结构示意图。
图7为基于本实施例构建的16核处理器一维线性互连网络的拓扑结构示意图。
图8为基于本实施例构建的16核处理器环互连网络的拓扑结构示意图。
图9为基于本实施例构建的2维mesh片上互连网络的拓扑结构示意图。
图10为基于本实施例构建的3维mesh片上互连网络的拓扑结构示意图。
图例说明:1、通信接口单元;11、接口寄存器;12、双向通信接口;2、两级流水线结构;21、仲裁站;211、检查板;2111、写控制器;2112、存储模块;2113、选择模块;2114、存储单元;2115、第一级选择逻辑;2116、第二级选择逻辑;212、仲裁控制器;213、微包数据队列;214、第一2路选择器;215、第二2路选择器;216、路由控制器;22、数据选择站;221、多路选择器;3、站间寄存器。
具体实施方式
如图1和图2所示,本实施例用于多核微处理器片上互连网络的网络通信胞元包含至少一个物理通道,该物理通道包括通信接口单元1和两级流水线结构2,通信接口单元1包括接口寄存器11和不超过8个双向通信接口12,两级流水线结构2包括用于仲裁输入的报文微包数据请求及缓存输入报文微包数据的仲裁站21和用于将被仲裁许可的报文微包数据进行选择输出的数据选择站22,仲裁站21、数据选择站22分别通过接口寄存器11与双向通信接口12相连,仲裁站21、数据选择站22之间设有用于缓存被仲裁选择的报文微包数据的站间寄存器3。
如图1所示,本实施例的网络通信胞元具体包含4个物理通道(物理通道0~物理通道3),每一个物理通道的通信接口单元1包括8个双向通信接口12(即图1中的接口0~接口7),因此4个物理通道上共32个双向通信接口12。当设备需要使用双向端口时,每个物理通道最大可配置连接8个设备,最小可以配置为连接2个设备。当设备仅需要使用单向端口时,一个双向通信接口12可以分解为2个独立的单向接口,每个物理通道最大可支持16个单向接口,配置连接16个设备,8个设备作为输入设备、8个设备作为输出设备,最小可以配置为连接2个设备,1个设备作为输入设备、1个设备作为输出设备。如图2所示,双向通信接口12既可以充当输入接口,用于输入来自各接口的请求有效信号以及输入报文微包数据,此外双向通信接口12又可以充当输出接口,输出到各接口的信用释放信号、报文有效信号以及报文微包数据。每个双向通信接口12可以与处理器中的一个部件相连,例如一个二级Cache、一个Cache一致性控制器、一个IO控制器等,也可以作为一个级联接口和另外一个网络通信胞元互连,构建更加复杂的网络拓扑结构。本实施例的网络通信胞元在应用时通信端口数、物理通道数、端口数据位宽均可根据需要进行调整,网络通信胞元是构建片上通信网络的核心,它直接与需要进行片上通信的处理器各部件互连。有通信要求的部件一般包括:处理器核、片上Cache、Cache一致性控制器、IO控制器、片间互连控制器和存储控制器等。所有部件的接口使用统一的通信报文格式,简化设计的同时增强了可重用性。
如图2所示,仲裁站21包括用于缓存输入报文微包数据请求的检查板211、用于仲裁输入的报文微包数据请求的仲裁控制器212和用于缓存输入报文微包数据的微包数据队列213,检查板211通过第一2路选择器214(MUX-A)与接口寄存器11相连,仲裁控制器212的输入端通过第二2路选择器215(MUX-B)分别与检查板211、第一2路选择器214相连,仲裁控制器212的输出端通过站间寄存器3分别与接口寄存器11、数据选择站22相连,微包数据队列213的输出端与数据选择站22相连;仲裁控制器212在每一次仲裁后向数据选择站22发送微包选择信号、通过站间寄存器3向第一2路选择器214发送未被许可的报文微包数据请求、通过站间寄存器3向通信接口单元1发送被许可报文微包数据请求的信用释放信号、通过通信接口单元1以及一个路由控制器216(属于数据选择站22)输出报文有效信号,数据选择站22则根据微包选择信号从微包数据队列213中选择缓存的报文微包数据并通过通信接口单元1输出。除路由控制器216以外,数据选择站22还包括用于将被仲裁许可的报文微包数据进行选择输出的多路选择器221(MUX-C),多路选择器221的输入端分别与微包数据队列213的输出端相连,多路选择器221的输出端与接口寄存器11相连。
由于每个时钟周期可能存在多个双向通信接口12同时请求通过交叉开关的情况,因此将同一个时钟周期内各输入接口发出的到同一个输出接口的多个请求称为一个“请求组”,请求组最多包含8个请求有效信号,分别来自8个输入接口。仲裁站21对来自各个请求源的请求所构成的“请求组”中的请求进行仲裁,仲裁控制器212按照公平轮转的仲裁算法产生仲裁许可信号。当“请求组”内的有效信号超过1个时,由于每个时钟周期只能有一个请求能够获得仲裁许可,允许发出该请求源的输入接口的微包数据传到输出接口,未被许可的请求则需要在后续的时钟周期继续请求以获得许可,因此一个“请求组”可能需要多次通过仲裁站21才能完全完成对组内各请求的仲裁许可。如果正在被仲裁控制器212仲裁的“请求组”中某个请求被仲裁许可,则将产生一个到产生该请求的部件的信用释放信号,该信号首先寄存到仲裁站21与数据选择站22的站间寄存器3,然后再作为到被许可的接口的信用释放信号,寄存到输入接口和仲裁站21之间的接口寄存器11,最后返回给被许可接口,作为信用释放信号,用于释放该部件的请求发送信用。当一个“请求组”占用仲裁控制器212、需要多个时钟周期内才能通过本实施例的网络通信胞元时,来自双向通信接口12的新的“请求组”由于仲裁控制器212忙而无法被立即进行仲裁,这些新的“请求组”被记录到检查板211中以避免丢失,等待仲裁控制器212之后按照仲裁算法进行调度。当检查板211为空时,新的“请求组”可以通过第一2路选择器214和第二2路选择器215之间的检查板旁路直接被仲裁控制器212进行仲裁。对于从输入接口到仲裁站21的来自各接口的输入报文微包数据,仲裁站21不做任何处理,直接送入微包数据队列213。本实施例的双向通信接口12为基于信用机制的通信接口,检查板211的深度能够根据输入接口的数目和每个输入接口发送微包的信用值进行配置。在数据选择站22,输出报文有效信号和微包选择信号由来自仲裁站21的仲裁结果产生。输出报文有效信号在路由控制器216的控制下,经过接口寄存器11寄存后发送给输出接口中某个接收设备或者级联的网络通信胞元。微包选择信号用于控制微包选择器(MUX-C),选择从微包数据队列213输出的多个报文微包数据,输出的微包经过接口寄存器11寄存后,发送给输出接口中某个接收设备或者级联的网络通信胞元。
如图3所示,网络通信胞元的一个完整的接口报文由一个报文头微包和N个报文数据微包组成,报文数据微包的位宽(PKG_WIDTH)可根据通信端口数据位宽进行配置,其中第WIDTH-1位表示微包数据是否有不可纠错(E)。报文头微包中至少保存两项内容:报文的长度(PKG_LEN)信息和报文在片上网络中传输的路由信息。PKG_LEN为报文中所包含的微包数即N+1,其中N可根据报文携带的数据的大小进行配置。每个微包携带3位的控制信息:微包有效信号(V)、微包头标识(H)和微包尾(T)标识,分别表示微包是否有效、是否是报文头微包和报文尾微包,报文有效信号在微包有效信号和微包头标识同时有效时被置为有效。
如图4所示,检查板211包括依次相连的写控制器2111、存储模块2112和选择模块2113,存储模块2112包括多个存储单元2114,选择模块2113包括多个第一级选择逻辑2115和一个第二级选择逻辑2116,写控制器2111的输入端与第一2路选择器214相连,第一级选择逻辑2115的输入端分别与多个存储单元2114相连,第二级选择逻辑2116的输入端分别与第一级选择逻辑2115以及第一2路选择器214相连。存储模块2112中每一个存储单元2114的输入来自检查板211的输入,每一个存储单元2114的输出与第一级选择逻辑2115相连。所有第一级选择逻辑2115总的输入端口数与所有存储单元2114总的输出端口数相同,第一级选择逻辑2115的每一个输入端与存储单元2114对应的一个输出端相连。第二级选择逻辑2116除了包含一个用于连接检查板旁路信息的输入端,剩余的每一个输入端均与一个对应的第一级选择逻辑2115的输出端相连,第二级选择逻辑2116的输出作为检查板211的输出。本实施例的选择模块2113采用两级选择逻辑电路实现,能够降低选择地址的负载、提高读取检查板211的速度。第一级选择逻辑2115使用第一级选择地址,第一级选择出的结果信号再通过第二级选择逻辑2116进行选择,使用第二级选择地址和旁路使能信号进行选择。旁路使能信号有效时第二级选择逻辑2116选择检查板旁路输入作为输出。本实施例的多个存储单元2114构成深度为8的存储阵列,检查板211则由多个深度最大为8的存储阵列构成,第一级选择逻辑2115最多同时选择8路信号。第二级选择逻辑2116的路数配置为8,其中1路用于旁路,剩余的7路用于7个第一级选择逻辑215的输出,因此检查板211的深度最大支持56(7路*8深度/路=56)深度。读地址(Read Address,简称RA)的低三位用于第一级选择地址,最高位为RAmax-1,写地址(Write Address,简称WA)最高位为WAmax-1,RAmax和WAmax均根据检查板的实际深度配置。写控制器2111负责根据写地址将输入内容写入到检查板211的对应项中。
如图5所示,存储模块2112包括用于保存每个报文微包数据请求信息的三个存储表,第一个存储表用于存储来自各个双向通信接口12的报文微包数据的有效信号以及仲裁控制器212仲裁的方向信息;第二个存储表用于存储各个双向通信接口12的报文微包数据请求的请求报文长度;第三个存储表用于存储各个双向通信接口12的报文微包数据请求的路由场信息,路由控制器216根据站间寄存器3输出的路由场信息控制报文有效信号输出到对应的双向通信接口12。本实施例中第一存储表被命名为VD表、第二存储表被命名为PL表、第三存储表被命名为RI表。三个存储表中每一项对应一个“请求组”的相关信息:VD表保存每个等待仲裁的“请求组”的请求有效信号(valid,简称v)和仲裁方向信息(dir),VD表每个表项中最多可保存8个请求源的请求有效信号(v0~v7),另外还保存了仲裁方向信号dir,该信息为1时仲裁控制器按照从v0到v7的优先级次序依次产生仲裁许可信号,为0时按照从v7到v0的优先级次序依次产生仲裁许可信号,dir信号随机产生0或者1,保证每个请求源具有公平的机会;PL表保存每个请求源的请求报文长度(len),PL表每个表项保存最多8个请求源发送报文的长度信息,该信息用于控制一个完整报文的所有微包能够不被打断地通过仲裁器;RI表保存每个请求源的路由信息(rt),RI表每个表项保存最多8个请求源发送报文的路由场信息,每一个请求源的路由场信息占用3位,路由控制器使用路由场信息将微包发往正确的目的地。
在利用本实施例的网络通信胞元构建具体的片上互连网络时,具体可根据微处理器片上核心数目选定合适的片上互连网络拓扑结构,根据网络带宽需求及传输协议特点确定通信胞元的配置信息和连接方式,具体包括对所要使用的通信胞元的数目、通道数目、接口数目、接口位宽、接口数据传输方向等进行配置,规划通信胞元的级联方式和在芯片上的物理布局及布线方法等。随着处理器片上核心数目的增加,片上互连网络进一步扩展为采用二维以及三维mesh的片上互连网络拓扑结构,并仍可以进一步扩展。图6~图10为使用本实施例的通信胞元构建各种拓扑结构的片上互连网络的实例。
如图6所示,在通过本实施例的网络通信胞元构建8核处理器交叉开关片上互连网络的实例中:8核处理器芯片中集成了8个处理器核心,通过片上互连网络共享片上二级Cache(L2 Cache)。二级Cache分为8个独立的体:L2Cache0~L2Cache7。使用具有两个物理通道的网络通信胞元可实现所需互连网络。物理通道0用于实现从处理器核心0~7到L2Cache0~7的数据通信,物理通道1用于实现从L2Cache0~7到处理器核心0~7到的数据通信。通信胞元的8个双向通信接口12(接口0~接口7)可以配置成两个单向接口,总共可以扩展出16个单向接口。每个物理通道具有8个单向输入接口和8个单向输出接口,利用通信胞元中8个双向通信接口12(接口0~接口7)实现。所有的处理器核心到L2Cache体的通信报文使用物理通道0,所有的L2Cache体到处理器核心的通信报文使用物理通道1。例如:处理器核心0的输出连接物理通道0的接口0的输入接口,L2Cache0的输入连接物理通道0的接口0的输出接口,处理器核心1的输出连接物理通道0的接口1的输入接口,L2Cache1的输入连接物理通道0的接口1的输出接口,以此类推。
如图7所示,在通过本实施例的网络通信胞元构建16核处理器一维线性互连网络的实例中:16个处理器核每4个构成一个处理簇,每个处理簇包含一个网络通信胞元,实现处理器核心、Cache一致性控制器以及其它功能部件如片外互连控制器或IO控制器等之间的数据通信。三级Cache(L3Cache)分为四个体(L3Cache0~L3Cache3),分别与四个一致性控制器相连。每个网络通信胞元配置为使用7个双向接口,配置使用4个物理通道分别传送请求、响应、监听和应答四类Cache一致性报文,实现基于目录的Cache一致性协议。4个网络通信胞元(网络通信胞元0~网络通信胞元3)使用接口5和接口6进行级联,实现所有处理器核心与所有L3Cache体之间的数据通信。
如图8所示,在通过本实施例的网络通信胞元构建16核处理器环互连网络的实例中: L3Cache集中到芯片中间位置。每个网络通信胞元配置为8个双向通信接口12(接口0~接口7),配置使用4个物理通道,实现基于目录的Cache一致性协议。4个网络通信胞元(网络通信胞元0~网络通信胞元3)使用接口5和接口7进行级联,构成环网通信网络。
如图9所示,在通过本实施例的网络通信胞元构建2维mesh片上互连网络的实例中:2维mesh片上互连网络共有27个处理器核,9个存储器单元。2维mesh片上互连网络的每一个处理簇包含一个本实施例的网络通信胞元(网络通信胞元0~网络通信胞元8)、三个处理器核和一个存储器单元。网络通信胞元根据位置的不同配置为使用6~8个双向通信接口12,最多可配置使用4个物理通道,该互连结构可以根据处理簇数目的增加线性扩展,从而能够构建更大规模的2维mesh片上互连网络。
如图10所示,在通过本实施例的网络通信胞元构建3维mesh片上互连网络的实例中:对于具有更多处理器核心的众核处理器,通过本实施例的网络通信胞元的多维扩展可以实现3维堆叠片上互连网络。如图所示,每个处理簇包含一个本实施例的网络通信胞元,1~2个处理器核和一个存储器单元。网络通信胞元根据所处的位置配置为6~8个双向通信接口12。对于位于边角的处理簇,3个双向通信接口12用于通信胞元的互连;对于位于边棱的处理簇,4个双向通信接口12用于通信胞元的互连;对于位于面上的处理簇,5个双向通信接口12用于通信胞元的互连;对于位于内部的处理簇,6个双向通信接口12用于通信胞元的互连。对于具有更多核的众核处理器芯片,3维堆叠的互连网络系统可以在三个维度上同时扩展,通过网络通信胞元的级联,能够方便地构建更大规模的片上网络及处理器系统。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种用于多核微处理器片上互连网络的网络通信胞元,其特征在于:包含至少一个物理通道,所述物理通道包括通信接口单元(1)和两级流水线结构(2),所述通信接口单元(1)包括接口寄存器(11)和不超过8个双向通信接口(12),所述两级流水线结构(2)包括用于仲裁输入的报文微包数据请求及缓存输入报文微包数据的仲裁站(21)和用于将被仲裁许可的报文微包数据进行选择输出的数据选择站(22),所述仲裁站(21)、数据选择站(22)分别通过接口寄存器(11)与双向通信接口(12)相连,所述仲裁站(21)、数据选择站(22)之间设有用于缓存所述被仲裁选择的报文微包数据的站间寄存器(3);所述仲裁站(21)包括用于缓存输入报文微包数据请求的检查板(211)、用于仲裁输入的报文微包数据请求的仲裁控制器(212)和用于缓存输入报文微包数据的微包数据队列(213),所述检查板(211)通过第一2路选择器(214)与接口寄存器(11)相连,所述仲裁控制器(212)的输入端通过第二2路选择器(215)分别与检查板(211)、第一2路选择器(214)相连,所述仲裁控制器(212)的输出端通过站间寄存器(3)分别与接口寄存器(11)、数据选择站(22)相连,所述微包数据队列(213)的输出端与数据选择站(22)相连;所述仲裁控制器(212)在每一次仲裁后向数据选择站(22)发送微包选择信号、通过站间寄存器(3)向第一2路选择器(214)发送未被许可的报文微包数据请求、通过站间寄存器(3)向通信接口单元(1)发送被许可报文微包数据请求的信用释放信号、通过通信接口单元(1)以及一个路由控制器(216)输出报文有效信号,所述数据选择站(22)则根据微包选择信号从所述微包数据队列(213)中选择缓存的报文微包数据并通过通信接口单元(1)输出。
2.根据权利要求1所述的用于多核微处理器片上互连网络的网络通信胞元,其特征在于:所述数据选择站(22)包括用于将被仲裁许可的报文微包数据进行选择输出的多路选择器(221),所述多路选择器(221)的输入端分别与微包数据队列(213)的输出端相连,所述多路选择器(221)的输出端与接口寄存器(11)相连。
3.根据权利要求2所述的用于多核微处理器片上互连网络的网络通信胞元,其特征在于:所述检查板(211)包括依次相连的写控制器(2111)、存储模块(2112)和选择模块(2113),所述存储模块(2112)包括多个存储单元(2114),所述选择模块(2113)包括多个第一级选择逻辑(2115)和一个第二级选择逻辑(2116),所述写控制器(2111)的输入端与第一2路选择器(214)相连,所述第一级选择逻辑(2115)的输入端分别与多个存储单元(2114)相连,所述第二级选择逻辑(2116)的输入端分别与第一级选择逻辑(2115)以及第一2路选择器(214)相连。
4.根据权利要求3所述的用于多核微处理器片上互连网络的网络通信胞元,其特征在于:所述存储模块(2112)还包括用于保存每个报文微包数据请求信息的三个存储表,第一个存储表用于存储来自各个双向通信接口(12)的报文微包数据的有效信号以及所述仲裁控制器(212)仲裁的方向信息;第二个存储表用于存储各个双向通信接口(12)的报文微包数据请求的请求报文长度;第三个存储表用于存储各个双向通信接口(12)的报文微包数据请求的路由场信息,所述路由控制器(216)根据站间寄存器(3)输出的路由场信息控制报文有效信号输出到对应的双向通信接口(12)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210271049.1A CN102866980B (zh) | 2012-07-31 | 2012-07-31 | 用于多核微处理器片上互连网络的网络通信胞元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210271049.1A CN102866980B (zh) | 2012-07-31 | 2012-07-31 | 用于多核微处理器片上互连网络的网络通信胞元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102866980A CN102866980A (zh) | 2013-01-09 |
CN102866980B true CN102866980B (zh) | 2015-02-25 |
Family
ID=47445858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210271049.1A Active CN102866980B (zh) | 2012-07-31 | 2012-07-31 | 用于多核微处理器片上互连网络的网络通信胞元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102866980B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486208B (zh) * | 2014-12-11 | 2017-08-04 | 中国人民解放军国防科学技术大学 | 面向板级多通道并行总线的报文边界定位方法及装置 |
CN104484286B (zh) * | 2014-12-16 | 2017-10-31 | 中国人民解放军国防科学技术大学 | 片上Cache网络中基于位置感知的数据预取方法 |
DE102015223331A1 (de) * | 2015-11-25 | 2017-06-01 | Robert Bosch Gmbh | Mikrocontroller |
CN110460530B (zh) * | 2019-08-15 | 2021-08-10 | 电子科技大学 | 一种面向数据采集系统的阻塞疏导旁路型路由器设计方法 |
CN110865951B (zh) * | 2019-11-05 | 2021-03-23 | 中国人民解放军国防科技大学 | 一种支持单根双处理器中断通信的方法和装置 |
CN112181493B (zh) * | 2020-09-24 | 2022-09-13 | 成都海光集成电路设计有限公司 | 寄存器网络架构和寄存器访问方法 |
CN112241390B (zh) * | 2020-10-22 | 2022-08-30 | 上海兆芯集成电路有限公司 | 主机互连装置及其方法 |
CN114928578B (zh) * | 2022-07-19 | 2022-09-16 | 中科声龙科技发展(北京)有限公司 | 芯片结构 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
-
2012
- 2012-07-31 CN CN201210271049.1A patent/CN102866980B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132336A (zh) * | 2007-10-17 | 2008-02-27 | 中国人民解放军国防科学技术大学 | 异构多核处理器高速异步互连通信网络 |
Non-Patent Citations (2)
Title |
---|
一种多核微处理器互连接口的设计与性能分析;周宏伟等;《国防科技大学学报》;20101231;第32卷(第04期);全文 * |
一种异构多核处理器的并行流存储结构;邓让钰等;《电子学报》;20090215;第37卷(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN102866980A (zh) | 2013-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
US11947798B2 (en) | Packet routing between memory devices and related apparatuses, methods, and memory systems | |
CN101753388B (zh) | 适用于多核处理器片上和片间扩展的路由及接口装置 | |
CN100595720C (zh) | 用于基于集线器的存储系统中直接存储器访问的设备和方法 | |
CN109783410A (zh) | 执行并行运算处理的存储器设备和包括其的存储器模块 | |
CN103246625B (zh) | 一种数据与地址共用引脚自适应调整访存粒度的方法 | |
CN101739241A (zh) | 一种片上多核dsp簇和应用扩展方法 | |
CN109086228A (zh) | 具有多个独立访问通道的高速存储器芯片 | |
CN112965689B (zh) | 一种基于源同步的分布式异步fifo数据交互方法及fifo结构 | |
CN102129418A (zh) | 一种高端容错计算机系统及实现方法 | |
CN102929329B (zh) | 片上系统间互连网络的动态重构方法 | |
CN111630487A (zh) | 用于神经网络处理的共享存储器的集中式-分布式混合组织 | |
CN103365795A (zh) | 分布式重排序缓冲器 | |
CN104360982A (zh) | 一种基于可重构芯片技术的主机系统目录结构实现方法和系统 | |
US20150026418A1 (en) | System and method for increased capacity and scalability of a memory topology | |
CN109564562A (zh) | 大数据运算加速系统和芯片 | |
CN113704171B (zh) | 一种软件定义的数据存储系统 | |
CN112506824A (zh) | 一种芯片和数据交互方法 | |
Duan et al. | Research on Double-Layer Networks-on-Chip for Inter-Chiplet Data Switching on Active Interposers | |
CN112148653A (zh) | 数据传输装置、数据处理系统、数据处理方法和介质 | |
CN103279448A (zh) | 基于数据缓存重配置的多核间数据交换方法及装置 | |
CN203276275U (zh) | 基于数据缓存重配置的多核间数据交换装置 | |
CN115834602A (zh) | 一种异步数据流通信交互系统 | |
Daneshtalab et al. | Pipeline-based interlayer bus structure for 3D networks-on-chip | |
CN100517272C (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 |