CN104598430B - 一种cpu互联扩展***的网络接口互联设计与控制*** - Google Patents
一种cpu互联扩展***的网络接口互联设计与控制*** Download PDFInfo
- Publication number
- CN104598430B CN104598430B CN201510065608.7A CN201510065608A CN104598430B CN 104598430 B CN104598430 B CN 104598430B CN 201510065608 A CN201510065608 A CN 201510065608A CN 104598430 B CN104598430 B CN 104598430B
- Authority
- CN
- China
- Prior art keywords
- message
- module
- cache
- messages
- serdes
- 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
- 238000013461 design Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims description 17
- 238000011282 treatment Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 230000006855 networking Effects 0.000 claims description 11
- 230000008521 reorganization Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 6
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 102000057593 human F8 Human genes 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 229940047431 recombinate Drugs 0.000 claims description 3
- 230000009471 action Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 7
- 230000003993 interaction Effects 0.000 abstract description 3
- 208000018721 fetal lung interstitial tumor Diseases 0.000 description 15
- 238000000034 method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000009413 insulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明特别涉及一种CPU互联扩展***的网络接口互联设计与控制***。该CPU互联扩展***的网络接口互联设计与控制***,通过各自板上带有网络接口进行互联,实现多个CPU互联扩展***之间内部协议报文的交互,并将经过CACHE一致性处理模块处理后的报文封装成网络链路层报文并发送到链路上,同时从网络链路上接收到来的报文并转化成内部报文格式送给CACHE一致性处理模块处。该CPU互联扩展***的网络接口互联设计与控制***,充分利用了传输媒体的信道容量,减少了所需的传输信道和器件引脚数目,不仅实现了多个CPU互联扩展***之间内部协议报文的交互,还大大降低了通信成本。
Description
技术领域
本发明涉及通信技术和CPU CACHE互联处理技术领域,特别涉及一种CPU互联扩展***的网络接口互联设计与控制***。
背景技术
服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话。同理,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作***的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。
随着CPU的主频越来越高,CPU对外接口QPI、KTI等,其速度都达到6.4G到10G或者更高。但是其单个CPU输出的告诉对外接口数量很少,不适合大规模CPU集成组合成一个大的CPU集群工作,传统并行接口技术成为进一步提高数据传输速率的瓶颈。正在取代传统并行总线而成为高速接口技术的主流。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简约、高效的CPU互联扩展***的网络接口互联设计与控制***。
本发明是通过如下技术方案实现的:
一种CPU互联扩展***的网络接口互联设计与控制***,其特征在于:按照网络层次划分,将CPU互联扩展***通过各自板上带有网络接口从上到下分为4个层次,分别为应用层、协议层、链路层和物理层;所述应用层,对CACHE一致性处理模块、CACHE非一致性处理模块收发报文进行分类处理后交由协议层处理;所述协议层包含了N个路由表模块、发送请求仲裁器模块,将应用层收发的报文填充或剔除路由场信息;所述链路层,根据内部报文有M个不同的消息类型设置M个不同的虚信道,同时完成M个虚信道到T路高速serdes的映射;所述物理层,用于实现serdes的初始化及基础编码操作。M、N、T均为自然数。
所述应用层具体包括CACHE一致性报文提交模块、CACHE非一致性报文提交模块、应用层信用处理模块、错误检查模块、CACHE一致性报文发送模块、CACHE非一致性报文发送模块和消息报文封装模块;
所述CACHE一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述CACHE非一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述应用层信用处理模块:从协议层接收到的网络报文根据其报文头中信息来区分是CACHE一致性报文、CACHE非一致性报文或者容错指令报文,并将其分别提交给所述CACHE一致性报文提交模块、所述CACHE非一致性报文提交模块和所述错误检查模块;
所述CACHE一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE一致性报文,并将CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述CACHE非一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE非一致性报文,并将CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述消息报文封装模块,根据报文类型的不同封装到不同的报文头信息。
所述报文类型包括6六大类,其中HOME报文包括请求报文和监听应答报文、SNP报文代表监听报文、NDR报文代表请求、应答、读写操作完成报文、DRS报文代表携带数据报文、NCB代表不带数据的写报文、NCS不带数据的读报文;
所述消息报文类型的报文头封装信息分别为128位的寄存器,其低6位,即:6’b000001代表HOME报文,6’b000010代表SNP报文,6’b000100代表NDR报文,6’b001000代表DRS报文,6’b010000代表NCB报文,6’b100000代表NCS报文,此消息报文头信息和网络报文头信息合并在一起组成整的报文头信息。
所述应用层信用处理模块从协议层接收到的网络报文头信息为128位宽度的寄存器,其低3位,分别是3’b001代表CACHE一致性报文、3’b010代表CACHE非一致性报文、3’b100代表容错指令报文;
所述错误检查模块:若接收到所述应用层信用处理模块提交的信号,所述错误检查模块直接提交错误信息,并修改128位的网络报文头信息的4到6位为3’b111,同时添加报文封装格式传递给协议层处理。
所述协议层具体包括路由表访问控制逻辑模块和发送请求仲裁器模块;
所述路由表访问控制逻辑模块:将路由查找结果放入消息报文头的8到64位区域,需要在组织消息报文的时搭载返回给远端链路,同时对发送到自身的报文进行错误处理、必要时丢包、处理链路等待超时;
所述发送请求仲裁器模块由一组状态机组成,根据路由表访问控制逻辑模块得到的路由信息和消息报文类型及错误检查模块传递的错误信息来调度仲裁报文流向T路高速serdes的映射其中之一。
所述T路高速serdes的映射各自拥有一个链路层,所述链路层具体包括虚拟信道划分及消息存储模块,虚拟信道发送请求仲裁器。
所述虚拟信道划分及消息存储模块:根据T路高速serdes的映射建立T个虚信道,同时将报文头信息,CACHE一致性报文信息和CACHE非一致性报文信息根据T路高速serdes的映射打包到各自的虚信道站内,并将使能信号发送到虚拟信道发送请求仲裁器;
所述虚拟信道发送请求仲裁器:根据虚拟信道划分及消息存储模块提供的使能信号,对T路高速serdes的映射循环转发。
所述物理层是一个具有高带宽、低延迟、高可靠和高灵活特点的物理编码子层,用于将链路层的数据,经过最多T路高速serdes传播到接收端,并进行数据的对齐和重组,链路层具体包括derdes复位处理模块、serdes极性、同步对齐和重组处理模块,crc处理模块加解扰处理模块;
所serdes复位处理模块:产生全局复位,用以控制整个网络接口复位。另外根据所述serdes极性、同步对齐和重组处理模块产生的失步信号产生serdes自复位信号,控制serdes重新启动;
所述serdes极性、同步对齐和重组处理模块:对serdes正负极性判断,根据同步头的对齐来重组有效数据包;
所述crc处理模块:对数据报文做32bit的CRC校验,用以判断链路的传输正确性验证;
所述加解扰处理模块:根据64/66编解码原理产生加解扰算法程序,对数据报文加扰、解扰。
本发明的有益效果是:该CPU互联扩展***的网络接口互联设计与控制***,充分利用了传输媒体的信道容量,减少了所需的传输信道和器件引脚数目,不仅实现了多个CPU互联扩展***之间内部协议报文的交互,还大大降低了通信成本。
附图说明
附图1为发明逻辑层次结构中协议层、链路层和物理层结构示意图。
附图2为发明逻辑层次结构中应用层结构示意图。
具体实施方式
下面结合附图对本发明进行详细的说明。
该CPU互联扩展***的网络接口互联设计与控制***,按照网络层次划分,将CPU互联扩展***通过各自板上带有网络接口从上到下分为4个层次,分别为应用层、协议层、链路层和物理层;所述应用层,对CACHE一致性处理模块、CACHE非一致性处理模块收发报文进行分类处理后交由协议层处理;所述协议层包含了N个路由表模块、发送请求仲裁器模块,将应用层收发的报文填充或剔除路由场信息;所述链路层,根据内部报文有M个不同的消息类型设置M个不同的虚信道,同时完成M个虚信道到T路高速serdes的映射;所述物理层,用于实现serdes的初始化及基础编码操作。
所述应用层具体包括CACHE一致性报文提交模块、CACHE非一致性报文提交模块、应用层信用处理模块、错误检查模块、CACHE一致性报文发送模块、CACHE非一致性报文发送模块和消息报文封装模块;
所述CACHE一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述CACHE非一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述应用层信用处理模块:从协议层接收到的网络报文根据其报文头中信息来区分是CACHE一致性报文、CACHE非一致性报文或者容错指令报文,并将其分别提交给所述CACHE一致性报文提交模块、所述CACHE非一致性报文提交模块和所述错误检查模块;
所述CACHE一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE一致性报文,并将CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述CACHE非一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE非一致性报文,并将CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述消息报文封装模块,根据报文类型的不同封装到不同的报文头信息。
所述报文类型包括6六大类,其中HOME报文包括请求报文和监听应答报文、SNP报文代表监听报文、NDR报文代表请求、应答、读写操作完成报文、DRS报文代表携带数据报文、NCB代表不带数据的写报文、NCS不带数据的读报文;
所述消息报文类型的报文头封装信息分别为128位的寄存器,其低6位,即:6’b000001代表HOME报文,6’b000010代表SNP报文,6’b000100代表NDR报文,6’b001000代表DRS报文,6’b010000代表NCB报文,6’b100000代表NCS报文,此消息报文头信息和网络报文头信息合并在一起组成整的报文头信息。
所述应用层信用处理模块从协议层接收到的网络报文头信息为128位宽度的寄存器,其低3位,分别是3’b001代表CACHE一致性报文、3’b010代表CACHE非一致性报文、3’b100代表容错指令报文;
所述错误检查模块:若接收到所述应用层信用处理模块提交的信号,所述错误检查模块直接提交错误信息,并修改128位的网络报文头信息的4到6位为3’b111,同时添加报文封装格式传递给协议层处理。
所述协议层具体包括路由表访问控制逻辑模块和发送请求仲裁器模块;
所述路由表访问控制逻辑模块:将路由查找结果放入消息报文头的8到64位区域,需要在组织消息报文的时搭载返回给远端链路,同时对发送到自身的报文进行错误处理、必要时丢包、处理链路等待超时;
所述发送请求仲裁器模块由一组状态机组成,根据路由表访问控制逻辑模块得到的路由信息和消息报文类型及错误检查模块传递的错误信息来调度仲裁报文流向T路高速serdes的映射其中之一。
所述T路高速serdes的映射各自拥有一个链路层,所述链路层具体包括虚拟信道划分及消息存储模块,虚拟信道发送请求仲裁器。
所述虚拟信道划分及消息存储模块:根据T路高速serdes的映射建立T个虚信道,同时将报文头信息,CACHE一致性报文信息和CACHE非一致性报文信息根据T路高速serdes的映射打包到各自的虚信道站内,并将使能信号发送到虚拟信道发送请求仲裁器;
所述虚拟信道发送请求仲裁器:根据虚拟信道划分及消息存储模块提供的使能信号,对T路高速serdes的映射循环转发。
所述物理层是一个具有高带宽、低延迟、高可靠和高灵活特点的物理编码子层,用于将链路层的数据,经过最多T路高速serdes传播到接收端,并进行数据的对齐和重组,链路层具体包括derdes复位处理模块、serdes极性、同步对齐和重组处理模块,crc处理模块加解扰处理模块;
所serdes复位处理模块:产生全局复位,用以控制整个网络接口复位。另外根据所述serdes极性、同步对齐和重组处理模块产生的失步信号产生serdes自复位信号,控制serdes重新启动;
所述serdes极性、同步对齐和重组处理模块:对serdes正负极性判断,根据同步头的对齐来重组有效数据包;
所述crc处理模块:对数据报文做32bit的CRC校验,用以判断链路的传输正确性验证;
所述加解扰处理模块:根据64/66编解码原理产生加解扰算法程序,对数据报文加扰、解扰。
以下为本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CPU互联扩展***的网络接口装置包括接收设备和发送设备,两个设备之间实现全双工通信,支持环型、星型、链型连接。
如图1,图2所示,CPU互联扩展***的网络接口装置报文发送过程其处理过程如下:所示在应用层中的根据105CACHE一致性报文发送模块中的data_valid信号从CACHE处理模块的接收接收到236位的FLIT,因为105中的数据缓存接口为256位,固接收的236位数据以上的bit为填0,以保持数据通路的一致性。根据收到FLIT类型,即:权力要求3所述的报文类型,将报文类型输入到寄存器(last_flit_type[5:0])中,同时将当前FLIT的类型(H/T)打入当前FLIT类型寄存器(current_flit_type[127:0][5:0])中,之所以选择寄存器组,是为了保证报文在可能会存在传输速度和处理速度不匹配的情况下能正确的运行。在每个时钟上升沿且data_valid信号有效时,将current_flit_type中时间最远的一个有效保温类型属性移到last_flit_type中,同时将当前的FLIT的类型H/T信号送入current_flit_type中寄存。
根据current_flit_type的属性经所述报文的内容存入相关报文寄存器组,例如current_flit_type的属性是b000001,即home类型报文,该报文内容的寄存器组为home_data_reg[31:0][229:0],该寄存器组去除了6bit报文类型属性。之所以选择寄存器组,是为了保证报文在可能会存在传输速度和处理速度不匹配的情况下能正确的运行。以上述过程为例,分别定义snp_data_reg[31:0][229:0]、ndr_data_reg[31:0][229:0]、drs_data_reg[31:0][229:0]、ncb_data_reg[31:0][229:0]、ncs_data_reg[31:0][229:0]。
在每个时钟上升沿,如果last_flit_type中存在有效属性,则将有效FLIT报文送往如图1所示201路由表访问控制逻辑模块模块。
106CACHE非一致性报文发送模块中的data_valid信号从CACHE处理模块的接收接收到115位的FLIT,因为101中的数据缓存接口为128位,固接收的115位数据以上的bit为填0,以保持数据通路的一致性。根据收到FLIT类型,将报文类型输入到寄存器(last_flit_type[5:0])中,同时将当前FLIT的类型(H/T)打入当前FLIT类型寄存器(current_flit_type[127:0][5:0])中,之所以选择寄存器组,是为了保证报文在可能会存在传输速度和处理速度不匹配的情况下能正确的运行。在每个时钟上升沿且data_valid信号有效时,将current_flit_type中时间最远的一个有效保温类型属性移到last_flit_type中,同时将当前的FLIT的类型H/T信号送入current_flit_type中寄存。
根据current_flit_type的属性经所述报文的内容存入相关报文寄存器组,例如current_flit_type的属性是b000001,即home类型报文,该报文内容的寄存器组为home_data_reg[31:0][108:0],该寄存器组去除了6bit报文类型属性。之所以选择寄存器组,是为了保证报文在可能会存在传输速度和处理速度不匹配的情况下能正确的运行。以上述过程为例,分别定义snp_data_reg[31:0][108:0]、ndr_data_reg[31:0][108:0]、drs_data_reg[31:0][108:0]、ncb_data_reg[31:0][108:0]、ncs_data_reg[31:0][108:0]。
在每个时钟上升沿,如果last_flit_type中存在有效属性,则将有效FLIT报文送往如图1所示201路由表访问控制逻辑模块模块。
在201中根据flit_type==last_flit_type和snp_data_c[229:0],ndr_data_c[229:0],drs_data_c[229:0],ncb_data_c[229:0],ncs_data_c[229:0],home_data_c[229:0],这个六个寄存器分别代表CACHE一致性报文;snp_data_nc[108:0],ndr_data_nc[108:0],drs_data_nc[108:0],ncb_data_nc[108:0],ncs_data_nc[108:0],home_data_nc[108:0],这个六个寄存器分别代表CACHE非一致性报文;他们分别对应前段所述的对应寄存器组last_flit_type有效时的输出值。同时在201中以home_data_c[229:0],home_data_nc[108:0]报文为例介绍一下路由生成过程,其他报文表述形式与其一致。
以***内存为256G的空间,以板卡有T=7个网络接口为例来介绍,需要特别注意的是我们实际工作过程中的内存容量必须和网络接口要远大于此数量。网络接口的分配公式:(内存容量物理地址/T+1),即将内存分为T+1份,每一份对应相应的网络接口。如256G的物理地址为2^38,它所对应home_data_c[229:166]和home_data_nc[108:45],所在寄存器的0-(32G-1)的地址空间分配给T=0的网络接口;32G-(64G-1)的地址空间分配给T=1的网络接口;一直到224G-(256G-1)的地址空间分配给T=7的网络接口。综合上述得知home_data_c[229:166]和home_data_nc[108:45]地址为0-(32G-1)的地址空间要交如图1所示T=0的203和204处理。
在203和204中将FLIT报文按照last_flit_type的属性存储到对应的虚信道中,将报文送入107报文封装模块封装后经205提交TX串行输出。
如图1、图2所示,CPU互联扩展***的网络接口装置报文接收过程其处理过程如下: 从205物理层几口处获得报文头、尾、报文数据以及有效信号,按照消息报文类型分块保存在数据RAM中,数据RAM深度为128,宽度为256(包含1位头标志和1位尾标志)。当接收到201路由表访问控制逻辑模块的rd_en或rd_done信号后,从相应的消息报文类型存储块的相应地址中取出数据,每读出一个数据,就发送相应的free信号给图2所示102应用层处理模块。只要报文计数器不为0,即可置位输出数据的avail信号,每接收到一个rd_done信号,强制令avail信号失效一拍。当报文计数器为0,对于其它情况,则是直接从RAM中读取。
如图2中所示103错误检测模块处理来自如图1所示205物理层的错误信息,并将err_reset(错误)信号和错误数据包的flit_type返回仲裁结果给链路层。同时传送给102应用层处理模块,当从应用层接收一个err_reset(错误)信号和flit_type时,如果正在发送一个报文的一部分数据体,则继续发送,当该报文的最后一个FLIT发送完毕后,将err_reset信号置位,发送到自身的报文的错误处理通过判断目的节点号等信息到物理层处理,告知远端接收装置实施补救措施。图1所示链路层203、204中虚信道不可用或者接收到err_reset信号时,计数器开始计数,在虚信道重新有效时或err_reset信号变低时,计数器清零。如果计数器超过某个阈值(阈值由外部信号输入)或者此时接收到err_reset信号,则开始进入丢包状态。如果:
1)虚信道重新可用,且在丢包状态中其实没有丢掉报文,而且err_reset信号不为高;
2)已经丢掉一个完整报文,此时,虚信道重新可用,且err_reset信号不为高;
3)超时计数器小于阈值(表示是在进行接收到rework时的丢包处理,只丢一个报文),且在丢包状态中其实没有丢掉报文或者已经丢掉一个完整报文,则丢包状态结束。丢包状态时,报文处理过程与正常状态只有一处不同,即不把发送valid信号置位。
如图2所示102信用处理模块中根据上述处理直接从RAM中读取报文信息存储到flit_data_reg[255:0]中,并根据flit_data_reg [235:230]对应的flit_type的类型和FLIT报文头的128bit报文的低3bit,即flit_data_reg[131:128],区分报文是CACHE非一致性报文或CACHE一致性报文,分别存储到相关RAM中。当如图2所示102应用层处理模块接收到101或104模块的rd_en或rd_done信号后,从相应的消息报文类型存储块的相应地址中取出数据,每读出一个数据,就发送相应的free信号给图2所示101或104模块。只要各自(CACHE非一致性报文或CACHE一致性报文)的报文计数器不为0,即可置位输出数据的avail信号,每接收到一个rd_done信号,强制令avail信号失效一拍。当报文计数器为0,对于其它情况,则是直接从RAM中读取。
以***内存为256G的空间,以板卡有T=7个网络接口为例来介绍,需要特别注意的是我们实际工作过程中的内存容量必须和网络接口要远大于此数量。网络接口的分配公式:(内存容量物理地址/T+1),即将内存分为T+1份,每一份对应相应的网络接口。如256G的物理地址为2^38,它所对应flit_data_reg [229:166]和flit_data_reg [235:230]及flit_data_reg[131:128]的属性来判断报文来自那个网络接口及是何种类型的报文。CACHE非一致性报文提交给104模块处理;CACHE一致性报文提交给 104模块处理。
Claims (6)
1.一种CPU互联扩展***的网络接口互联设计与控制***,其特征在于:按照网络层次划分,将CPU互联扩展***通过各自板上带有网络接口从上到下分为4个层次,分别为应用层、协议层、链路层和物理层;所述应用层,对CACHE一致性处理模块、CACHE非一致性处理模块收发报文进行分类处理后交由协议层处理;所述协议层包含了N个路由表模块、发送请求仲裁器模块,将应用层收发的报文填充或剔除路由场信息;所述链路层,根据内部报文有M个不同的消息类型设置M个不同的虚信道,同时完成M个虚信道到T路高速serdes的映射;所述物理层,用于实现serdes的初始化及基础编码操作;
所述应用层具体包括CACHE一致性报文提交模块、CACHE非一致性报文提交模块、应用层信用处理模块、错误检查模块、CACHE一致性报文发送模块、CACHE非一致性报文发送模块和消息报文封装模块;
所述CACHE一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述CACHE非一致性报文提交模块:将经过应用层信用处理模块、错误检查模块处理后的来自所述协议层的CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据CACHE一致性处理模块处理的需求提交与处理;
所述应用层信用处理模块:从协议层接收到的网络报文根据其报文头中信息来区分是CACHE一致性报文、CACHE非一致性报文或者容错指令报文,并将其分别提交给所述CACHE一致性报文提交模块、所述CACHE非一致性报文提交模块和所述错误检查模块;
所述CACHE一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE一致性报文,并将CACHE一致性报文存储到一个深度为128、宽度为256的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述CACHE非一致性报文发送模块:接收CACHE一致性处理模块输出的CACHE非一致性报文,并将CACHE非一致性报文存储到一个深度为128、宽度为128的FIFO内,根据所述报文封装模块的需求提交与其处理;
所述消息报文封装模块,根据报文类型的不同封装到不同的报文头信息。
2.根据权利要求1所述的CPU互联扩展***的网络接口互联设计与控制***,其特征在于:所述报文类型包括6六大类,其中HOME报文包括请求报文和监听应答报文、SNP报文代表监听报文、NDR报文代表请求、应答、读写操作完成报文、DRS报文代表携带数据报文、NCB代表不带数据的写报文、NCS不带数据的读报文;
所述消息报文类型的报文头封装信息分别为128位的寄存器,其低6位,即:6’b000001代表HOME报文,6’b000010代表SNP报文,6’b000100代表NDR报文,6’b001000代表DRS报文,6’b010000代表NCB报文,6’b100000代表NCS报文,此消息报文头信息和网络报文头信息合并在一起组成整的报文头信息。
3.根据权利要求1或2所述的CPU互联扩展***的网络接口互联设计与控制***,其特征在于:所述应用层信用处理模块从协议层接收到的网络报文头信息为128位宽度的寄存器,其低3位,分别是3’b001代表CACHE一致性报文、3’b010代表CACHE非一致性报文、3’b100代表容错指令报文;
所述错误检查模块:若接收到所述应用层信用处理模块提交的信号,所述错误检查模块直接提交错误信息,并修改128位的网络报文头信息的4到6位为3’b111,同时添加报文封装格式传递给协议层处理。
4.根据权利要求1所述的CPU互联扩展***的网络接口互联设计与控制***,其特征在于:所述协议层具体包括路由表访问控制逻辑模块和发送请求仲裁器模块;
所述路由表访问控制逻辑模块:将路由查找结果放入消息报文头的8到64位区域,需要在组织消息报文的时搭载返回给远端链路,同时对发送到自身的报文进行错误处理、必要时丢包、处理链路等待超时;
所述发送请求仲裁器模块由一组状态机组成,根据路由表访问控制逻辑模块得到的路由信息和消息报文类型及错误检查模块传递的错误信息来调度仲裁报文流向T路高速serdes的映射其中之一。
5.根据权利要求1所述的CPU互联扩展***的网络接口互联设计与控制***,其特征在于:所述T路高速serdes的映射各自拥有一个链路层,所述链路层具体包括虚拟信道划分及消息存储模块,虚拟信道发送请求仲裁器;
所述虚拟信道划分及消息存储模块:根据T路高速serdes的映射建立T个虚信道,同时将报文头信息,CACHE一致性报文信息和CACHE非一致性报文信息根据T路高速serdes的映射打包到各自的虚信道站内,并将使能信号发送到虚拟信道发送请求仲裁器;
所述虚拟信道发送请求仲裁器:根据虚拟信道划分及消息存储模块提供的使能信号,对T路高速serdes的映射循环转发。
6.根据权利要求1所述的CPU互联扩展***的网络接口互联设计与控制***,其特征在于:所述物理层是一个具有高带宽、低延迟、高可靠和高灵活特点的物理编码子层,用于将链路层的数据,经过最多T路高速serdes传播到接收端,并进行数据的对齐和重组,链路层具体包括derdes复位处理模块、serdes极性、同步对齐和重组处理模块,crc处理模块 加解扰处理模块;
所serdes复位处理模块:产生全局复位,用以控制整个网络接口复位;另外根据所述serdes极性、同步对齐和重组处理模块产生的失步信号产生serdes自复位信号,控制serdes重新启动;
所述serdes极性、同步对齐和重组处理模块:对serdes正负极性判断,根据同步头的对齐来重组有效数据包;
所述crc处理模块:对数据报文做32bit的CRC校验,用以判断链路的传输正确性验证;
所述加解扰处理模块:根据64/66编解码原理产生加解扰算法程序,对数据报文加扰、解扰。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065608.7A CN104598430B (zh) | 2015-02-09 | 2015-02-09 | 一种cpu互联扩展***的网络接口互联设计与控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510065608.7A CN104598430B (zh) | 2015-02-09 | 2015-02-09 | 一种cpu互联扩展***的网络接口互联设计与控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598430A CN104598430A (zh) | 2015-05-06 |
CN104598430B true CN104598430B (zh) | 2017-08-11 |
Family
ID=53124234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510065608.7A Active CN104598430B (zh) | 2015-02-09 | 2015-02-09 | 一种cpu互联扩展***的网络接口互联设计与控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598430B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407144B (zh) * | 2015-07-31 | 2019-10-11 | 龙芯中科技术有限公司 | 一致性消息的传输方法、***、总线接口控制器和芯片 |
CN105511992A (zh) * | 2015-12-09 | 2016-04-20 | 浪潮电子信息产业股份有限公司 | 一种用于节点互连芯片验证的全局检测模块方法 |
KR20200065929A (ko) * | 2018-11-30 | 2020-06-09 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 컨트롤러 및 이를 포함하는 저장 장치 |
CN111682966B (zh) * | 2020-05-26 | 2022-08-19 | 中国人民解放军国防科技大学 | 带故障主动报告功能的网络通信装置,***及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101320361A (zh) * | 2008-02-27 | 2008-12-10 | 中兴通讯股份有限公司 | 一种多cpu通讯方法及*** |
US8020163B2 (en) * | 2003-06-02 | 2011-09-13 | Interuniversitair Microelektronica Centrum (Imec) | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
-
2015
- 2015-02-09 CN CN201510065608.7A patent/CN104598430B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020163B2 (en) * | 2003-06-02 | 2011-09-13 | Interuniversitair Microelektronica Centrum (Imec) | Heterogeneous multiprocessor network on chip devices, methods and operating systems for control thereof |
CN101320361A (zh) * | 2008-02-27 | 2008-12-10 | 中兴通讯股份有限公司 | 一种多cpu通讯方法及*** |
Non-Patent Citations (2)
Title |
---|
A survey of research and practices of Network-on-chip;Bjerregaard;《ACM Computing Surveys》;20060331;第38卷(第1期);第1-51页 * |
处理器片间直连接口技术对比分析;班冬松 等;《第十八届计算机工程与工艺年会暨第四届微处理器技术论坛论文集》;20141231;第521-526页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104598430A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105359468B (zh) | 用于传送数据的装置、方法、***和介质 | |
Birrittella et al. | Intel® omni-path architecture: Enabling scalable, high performance fabrics | |
CN104769570B (zh) | 控制多时隙链路层微片中的消息收发 | |
US20210243247A1 (en) | Service mesh offload to network devices | |
DE60219047T2 (de) | Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zum aufbau virtueller kanäle darin | |
US9213666B2 (en) | Providing a sideband message interface for system on a chip (SoC) | |
Boden et al. | Myrinet: A gigabit-per-second local area network | |
US7830905B2 (en) | Speculative forwarding in a high-radix router | |
US8711875B2 (en) | Aggregating completion messages in a sideband interface | |
CN103532807B (zh) | 一种用于pcie数据服务质量管理的方法 | |
US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
CN104598430B (zh) | 一种cpu互联扩展***的网络接口互联设计与控制*** | |
CN101320361B (zh) | 一种多cpu通讯方法及*** | |
CN105814828B (zh) | 利用隐式确收的高效的链路层重试协议 | |
CN105207794B (zh) | 统计计数设备及其实现方法、具有统计计数设备的*** | |
CN105357147B (zh) | 一种高速高可靠的片上网络适配单元 | |
JP2006502642A (ja) | トランザクションを確立するための集積回路および方法 | |
TWI236251B (en) | A switching I/O node for connection in a multiprocessor computer system | |
CN102868604B (zh) | 一种应用于片上网络的二维Mesh双缓冲容错路由单元 | |
CN110442534A (zh) | 用于相干消息的高带宽链路层 | |
EP0964550A2 (en) | Method and apparatus for providing a network interface | |
Carara et al. | Communication models in networks-on-chip | |
Scott | The SCX channel: A new, supercomputer-class system interconnect | |
CN106230738B (zh) | 块发送通信网络数据的传输方法 | |
Nejad et al. | An FPGA bridge preserving traffic quality of service for on-chip network-based systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |