CN101488923A - 一种片上网络数据包编码优化的实现方法 - Google Patents

一种片上网络数据包编码优化的实现方法 Download PDF

Info

Publication number
CN101488923A
CN101488923A CNA2009100953497A CN200910095349A CN101488923A CN 101488923 A CN101488923 A CN 101488923A CN A2009100953497 A CNA2009100953497 A CN A2009100953497A CN 200910095349 A CN200910095349 A CN 200910095349A CN 101488923 A CN101488923 A CN 101488923A
Authority
CN
China
Prior art keywords
network
address
data
packet
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.)
Granted
Application number
CNA2009100953497A
Other languages
English (en)
Other versions
CN101488923B (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2009100953497A priority Critical patent/CN101488923B/zh
Publication of CN101488923A publication Critical patent/CN101488923A/zh
Application granted granted Critical
Publication of CN101488923B publication Critical patent/CN101488923B/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

一种片上网络数据包编码优化的实现方法
技术领域
本发明涉及片上多处理器核间通信技术领域,提出了一种片上网络数据包编码优化的实现方法,用于解决片上网络通信。
背景技术
随着计算机制造和集成电路技术的发展,单位硅片上的晶体管数量成倍增长,也就意味着单位硅片面积上可以集成更多的处理器核。片上多核,即在单个硅片上实现多个处理器核的体系结构,由于其设计和验证的简单性,同时在性能和能耗上的优势,逐步受到工业界的青睐。
在单芯片多处理器中一个重要的问题就是处理器间的通信问题。传统的方式是采用共享总线的方式,即多个处理器连接在一条总线上,当多个处理器需使用总线访问内存时,通过总线仲裁器来决定访问权。共享总线方式实现简单,发展成熟,并可以通过使用IP核来简化设计,因此,共享总线方式在传统的片上多核体系结构中得到广泛应用。
但是,随着集成制造技术的进一步发展,片上多核的处理器核数将进一步增加。由此,传统总线方式将遇到瓶颈:总线是一种共享介质的互连结构,某一时刻只允许一个设备使用总线。在总线被占用期间,所有其他的请求被阻塞,直到总线空闲。假设存在成千上百个处理器争用一条总线,就会造成极大的延迟。
由于上述原因,共享总线方式无法满足片上处理器数目增多时的通信需求。借鉴互连网络,在片上实现网络路由节点,解决片上组件之间的通信问题,这就是片上网络。片上网络(NoC-Network On Chip)技术以其支持同时访问、可靠性高、可拓展性强等特点而被广泛用于片上多处理器互连。
片上网络中常用的拓扑结构为mesh结构。在mesh结构中,每个节点通过四个端口:东,南,西和北与其他的网络节点相连,组成一个二维的网络结构。数据包在此互联的网络中进行传输。
片上网络中传送的数据包主要由连接在路由器上的组件产生,数据包(packet)被划分成数据片(flit),每个flit一般包括数据包的源地址、目的地址、数据和数据类型。当一个flit进入网络后,路由器通过分析flit中的目的地址,确定flit的转发方向,并完成flit的转发。
当网络中的通信密度较大时,即在单位时间网络中的flit的数量超过网络可以处理的上限时,网络就会出现拥塞。在这样的情况下,可以对flit的编码进行改进,对于相同量的数据信息,可以用尽量少的flit进行传输,从而减小要发送的数据片,到达减小通信流量的目的。
为了精简flit编码,减少单位数据包的数据片数量,本发明提出了一种优化数据片地址编址的方法。此方法将二维平面互联平面网络沿X正方向和Y正方向分解为大小相等的多个逻辑网络。当发送数据包时,发送端分析数据包的源地址和目的地址,如果当前的收发节点在同一个逻辑网络中,则采用精简的编码方式对数据地址进行编码;否则采用一般的格式对数据包地址进行编码。
为了区分上述两种不同的编码方式,需在地址编码中增加特殊的一个标识位区分当前采用的数据地址编码方式。同时,路由器需在处理流程中加入专门的处理部件对数据标识位进行处理,从而选择处理流程。网络中的路由器接收到新的数据包,提取出其中的地址信息后,首先通过分析其中的标识位来判断当前的数据包采用何种地址编码方式;确定了编码方式后,再分别根据相应的设置对数据包进行解析和转发。
通过本发明的方法,可以有效地减小数据片的长度,减小占用的带宽,加快数据通信的速度,解决片上网络通信的拥塞问题。
发明内容
本发明的主要目的在于解决片上网络通信的拥塞问题,提出一种片上网络数据包编码优化的实现方法。
本发明提供了一种片上网络数据包编码优化的实现方法,包括以下步骤:
1)基于数据通信局部性的网络划分:
定义片上网络是一个大小为N×N的二维平面mesh网络,二维平面由横向X坐标和纵向Y坐标进行定位。其中N为X方向和Y方向的节点数量,选定网络中的某个节点作为逻辑网络中的原点,然后沿这个节点在X正方向和Y正方向各延伸N/4得到一个(N/4)×(N/4)的逻辑网络;在每个逻辑网络中,节点的地址编址从(0,0)到(N/4,N/4);
2)针对逻辑分块网络的地址编码:
数据包的发送节点分析目的地址是否在同一逻辑分块网络中;
如果收发节点不在同一逻辑网络块中,则根据N×N的网络大小对数据包进行编码。如果数据包的收发节点在同一个逻辑分块网络中,则根据N/4×N/4的网络大小对数据包进行编址,此处采用相对地址对地址进行编码,得到精简后的地址编码:
3)路由器对优化地址编码的支持:
在路由器中增加选择电路和移位电路;选择电路通过检查数据片中的标识位,选择相应的处理方式;移位电路将精简后的地址编码通过移位,补齐数据长度,使得两种编码方式的地址长度相同,便于后续的逻辑器件对其进行统一处理。
作为一种改进,所述针对逻辑分块网络的地址编码的过程通过以下方式实现:
xs和ys分别为节点A在网络中的地址,xd和yd分别为节点B的地址。节点A向节点B发送数据,如果0≤xd-xs<N/4并且0≤yd-ys<N/4,则此时按照X=xd-xs和Y=yd-ys的方式对地址进行编码;其他的情况,则按照X=xd和Y=yd的方式对地址进行编码;每个待发送的数据包被分解为数据片,每个数据包里均包含数据包目的地址的x地址和y地址、数据本身以及数据类型;为了区分两种不同的编址方式,在数据片中增加一个标识位:当此标识位为1时,表示当前的地址编码根据逻辑网络大小编码;当标识位为0时,表示当前的地址编码根据实际网络大小编码;路由器通过分析上述的标识位对不同的数据地址格式进行处理。
本发明的有益效果在于:
通过以上基于通信局部性的网络分块模型,针对网络分块的数据包地址编码和路由器对优化地址编码的支持等步骤就可以实现数据片的优化编码,从而减小网络中的数据通信量。本发明最大的特色在于提出了一种片上网络数据包地址编址优化的设计方法,精简数据片长度,减少网络数据通信量,并且未增加硬件复杂度。
附图说明
图1是本发明的设计流程图;
图2是本发明的是数据包格式图;
图3是本发明的逻辑网络分块图;
图3中:虚线框表示分块逻辑网络、实线框表示网路节点。
具体实施方式
本发明提出了一种片上网络数据包编码优化的实现方法,用于精简数据包的长度,减小片上网络的通信量。整个的设计流程,如图1所示。本发明分别对网络的逻辑划分,优化网络地址的编码和路由器对优化编码的支持。
1)基于数据通信局部性的网络划分
在片上网络中,节点之间的数据传输具有一定的局部性。主要的原因是设计人员将一些通信频繁的节点映射到网络中的局部地区。经过这样的处理,相邻节点之间的数据通信量远远大于不相邻节点之间的通信。因此,可以对相邻节点的通信进行优化的话,可以实现对整个网络的优化。
根据网络通信的这种局部性,本发明提出了一种基于数据通信局部性的逻辑网络划分。每个节点不仅是整个网络中的一个部分,也是划分后的逻辑网络中的一部分。当数据通信发生在逻辑网络中时,就可以通过精简地址编码,完成通信优化。
假设网络是一个大小为N×N的二维平面mesh网络,通过将最左下方的节点作为原点(0,0),沿X正方向和Y正方向对网络中的每个节点定位。具体的划分过程:首先,选定网络中的某个节点作为逻辑网络中的原点,然后沿这个节点在X正方向和Y正方向各延伸(N/4)就得到一个(N/4)×(N/4)的逻辑网络。如图3中,图中的每个虚线网格就是一个逻辑网络块。因此在每个逻辑网络中,节点的地址编址从(0,0)到(N/4,N/4)。对于边缘的节点,依然可以构建上述的逻辑网络,只不过在逻辑网络中包含的节点数量并未达到N/4×N/4,但依然可以利用逻辑网络的局部性特点,实现通信的优化。
2)针对逻辑分块网络的地址编码
片上网络进行逻辑分块后,对于数据包的地址编码会采用的不同的格式。一种是针对逻辑分块后的精简编码格式,还有一种就是一般的地址编码格式。具体地址编码产生的方式如下所述。
将N大小的网络划分为N/4×N/4大小的网络时,数据包的发送节点会分析目的地址是否在同一逻辑分块网络中。如果数据包的收发节点在同一个逻辑分块网络中,则根据N/4×N/4的网络大小对数据包进行编址,此处采用相对地址对地址进行编码;如果收发节点不在同一逻辑网络块中,则采用一般的方式对数据包进行编码。
具体的编码过程如下:节点A(xs,ys)向节点B(xd,yd)发送数据时,如果0≤xd-xs<N/4并且0≤yd-ys<N/4,则此时按照X=xd-xs和Y=yd-ys的方式对地址进行编码;其他的情况,则按照X=xd和Y=yd的方式对地址进行编码。第一种方式数据包的地址占用的数据位数为
Figure A200910095349D0007110611QIETU
;第二种方式数据包地址占用的数据位数为
Figure A200910095349D0007110621QIETU
,由此可见,优化后的编码明显缩减了编码长度。
每个待发送的数据包(packet)被分解为数据片(flit),每个数据包里包含数据包目的地址的x地址和y地址,数据本身以及数据类型。为了区分上述两种不同的编址方式,在flit中增加一个标识位:当此标识位为1时,表示当前的地址编码为优化后的编码格式;当标识位为0时,表示当前的地址编码采用N×N网络大小的编码格式,具体的flit格式见图2所示。路由器通过分析上述的标识位对不同的数据地址格式进行处理。
3)路由器对优化地址编码的支持
数据发送节点对地址进行优化编码后,将数据片(flit)发送到网络中。网络中的路由器必须具备能力区分地址编码,对不同的地址编码进行不同的操作,才能将数据片转发到正确的目的地。
为了达到这一目的,需要在路由器中增加专门的选择电路和移位电路。选择电路的功能是通过检查数据片(flit)中的标识位,选择相应的处理方式。移位电路的主要任务是将精简后的地址编码通过移位,补齐数据长度,使得其的长度总体上与常规的地址长度相同。相同的数据长度,便于后续的逻辑器件对上述的地址进行统一的处理,从而优化资源使用,减小硬件复杂度。

Claims (2)

1、一种片上网络数据包编码优化的实现方法,包括以下步骤:
1)基于数据通信局部性的网络划分:
定义片上网络是一个大小为N×N的二维平面mesh网络,二维平面由横向X坐标和纵向Y坐标进行定位,其中N为X方向和Y方向的节点数量;选定网络中的某个节点作为逻辑网络中的原点,然后沿这个节点在X正方向和Y正方向各延伸N/4得到一个(N/4)×(N/4)的逻辑网络;在每个逻辑网络中,节点的地址编址从(0,0)到(N/4,N/4);
2)针对逻辑分块网络的地址编码:
数据包的发送节点分析目的地址是否在同一逻辑分块网络中;如果收发节点不在同一逻辑网络块中,则根据N×N的网络大小对数据包进行编码;如果数据包的收发节点在同一个逻辑分块网络中,则根据N/4×N/4的网络大小对数据包进行编址,此处采用相对地址对地址进行编码,得到精简后的地址编码;
3)路由器对优化地址编码的支持:
在路由器中增加选择电路和移位电路;选择电路通过检查数据片中的标识位,选择相应的处理方式;移位电路将精简后的地址编码通过移位,补齐数据长度,使得两种编码方式的地址长度相同,便于后续的逻辑器件对其进行统一处理。
2、根据权利要求1所述的片上网络数据包编码优化的实现方法,其特征在于,所述针对逻辑分块网络的地址编码的过程通过以下方式实现:
节点A(xs,ys)向节点B(xd,yd)发送数据时,如果0≤xd-xs<N/4并且0≤yd-ys<N/4,则此时按照X=xd-xs和Y=yd-ys的方式对地址进行编码;其他的情况,则按照X=xd和Y=yd的方式对地址进行编码;每个待发送的数据包被分解为数据片,每个数据包里均包含数据包目的地址的x地址和y地址、数据本身以及数据类型;为了区分两种不同的编址方式,在数据片中增加一个标识位:当此标识位为1时,表示当前的地址编码根据逻辑网络大小编码;当标识位为0时,表示当前的地址编码根据实际网络大小编码;路由器通过分析上述的标识位对不同的数据地址格式进行处理。
CN2009100953497A 2009-01-08 2009-01-08 一种片上网络数据包编码优化的实现方法 Expired - Fee Related CN101488923B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100953497A CN101488923B (zh) 2009-01-08 2009-01-08 一种片上网络数据包编码优化的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100953497A CN101488923B (zh) 2009-01-08 2009-01-08 一种片上网络数据包编码优化的实现方法

Publications (2)

Publication Number Publication Date
CN101488923A true CN101488923A (zh) 2009-07-22
CN101488923B CN101488923B (zh) 2011-07-20

Family

ID=40891605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100953497A Expired - Fee Related CN101488923B (zh) 2009-01-08 2009-01-08 一种片上网络数据包编码优化的实现方法

Country Status (1)

Country Link
CN (1) CN101488923B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834797A (zh) * 2010-05-06 2010-09-15 复旦大学 一种针对片上网络的低复杂度和可扩展的容错路由算法
CN103200090A (zh) * 2013-04-03 2013-07-10 清华大学 采用四分之一冗余结构的片上网络容错方法
CN104270327A (zh) * 2014-10-15 2015-01-07 重庆大学 一种基于集群的共享射频片上网络及映射方法
CN106059592A (zh) * 2016-05-19 2016-10-26 合肥工业大学 一种应用于片上网络的低功耗联合的编解码电路及其编解码方法
CN107894963A (zh) * 2017-11-27 2018-04-10 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
CN114726580A (zh) * 2022-03-08 2022-07-08 支付宝(杭州)信息技术有限公司 数据处理方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100675850B1 (ko) * 2005-10-12 2007-02-02 삼성전자주식회사 AXI 프로토콜을 적용한 NoC 시스템
CN101232456B (zh) * 2008-01-25 2010-09-08 浙江大学 一种分布式可测试片上网络路由器
CN100550003C (zh) * 2008-06-03 2009-10-14 浙江大学 嵌入式异构多核体系片上通信互连组织层次的实现方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101834797A (zh) * 2010-05-06 2010-09-15 复旦大学 一种针对片上网络的低复杂度和可扩展的容错路由算法
CN103200090A (zh) * 2013-04-03 2013-07-10 清华大学 采用四分之一冗余结构的片上网络容错方法
CN103200090B (zh) * 2013-04-03 2016-12-07 清华大学 采用四分之一冗余结构的片上网络容错方法
CN104270327A (zh) * 2014-10-15 2015-01-07 重庆大学 一种基于集群的共享射频片上网络及映射方法
CN106059592A (zh) * 2016-05-19 2016-10-26 合肥工业大学 一种应用于片上网络的低功耗联合的编解码电路及其编解码方法
CN106059592B (zh) * 2016-05-19 2019-03-08 合肥工业大学 一种应用于片上网络的低功耗联合的编解码电路及其编解码方法
CN107894963A (zh) * 2017-11-27 2018-04-10 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
CN114726580A (zh) * 2022-03-08 2022-07-08 支付宝(杭州)信息技术有限公司 数据处理方法和装置
CN114726580B (zh) * 2022-03-08 2024-01-30 支付宝(杭州)信息技术有限公司 数据处理方法和装置

Also Published As

Publication number Publication date
CN101488923B (zh) 2011-07-20

Similar Documents

Publication Publication Date Title
CN111104775B (zh) 一种片上网络拓扑结构及其实现方法
US7940788B2 (en) System for transmitting data within a network between nodes of the network and flow control process for transmitting the data
CN103109248B (zh) 中继器以及芯片电路
US9294403B2 (en) Mechanism to control resource utilization with adaptive routing
CN101488923B (zh) 一种片上网络数据包编码优化的实现方法
CN101834789B (zh) 面向包-电路交换片上路由器的回退转向路由算法及所用路由器
CN102685017A (zh) 一种基于fpga的片上网络路由器
CN101488922B (zh) 具备自适应路由能力的片上网络路由器及其实现方法
CN104158738A (zh) 一种低缓冲区片上网络路由器及路由方法
CN103618673A (zh) 一种保障服务质量的片上网络路由方法
CN1798102A (zh) 在交换结构网络中仲裁虚拟信道传输队列
CN114844827B (zh) 一种用于片上网络芯片的基于共享存储的生成树路由硬件架构及方法
CN104683242A (zh) 一种二维片上网络的拓扑结构以及路由方法
CN112367279A (zh) 一种基于二维mesh结构多核芯片组的路由方法及系统
Mortazavi et al. A fault-tolerant and congestion-aware architecture for wireless networks-on-chip
CN106027397B (zh) 一种星型拓展的分布式测量设备网络通信方法
CN105530206A (zh) 一种基于Torus网络的双接入结构及其工作方式
CN105049362A (zh) 一种二维环绕网格片上网络的拓扑结构以及路由方法
Göhringer et al. Heterogeneous and runtime parameterizable star-wheels network-on-chip
Kumar On packet switched networks for on-chip communication
CN113203940B (zh) 3D NoC测试规划中的并行测试方法
CN102158380B (zh) 一种基于统计时分复用技术的多簇片上网络架构
Bouhraoua et al. Improved modified fat-tree topology network-on-chip
Behbehani et al. Energy efficient distributed processing in vehicular cloud architecture
CN110943939B (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: 20110720

Termination date: 20120108