CN101075961B - 片上网络设计用的一种自适应打包方法 - Google Patents

片上网络设计用的一种自适应打包方法 Download PDF

Info

Publication number
CN101075961B
CN101075961B CN2007101177189A CN200710117718A CN101075961B CN 101075961 B CN101075961 B CN 101075961B CN 2007101177189 A CN2007101177189 A CN 2007101177189A CN 200710117718 A CN200710117718 A CN 200710117718A CN 101075961 B CN101075961 B CN 101075961B
Authority
CN
China
Prior art keywords
buffering area
packing
data
data source
packing device
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
CN2007101177189A
Other languages
English (en)
Other versions
CN101075961A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN2007101177189A priority Critical patent/CN101075961B/zh
Publication of CN101075961A publication Critical patent/CN101075961A/zh
Application granted granted Critical
Publication of CN101075961B publication Critical patent/CN101075961B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

片上网络设计用的自适应打包方法属于片上互连网络技术领域,其特征在于,在IP块设立一个数据源缓冲区,在网络接口设立一个打包器和一个打包缓冲区,系统初始化后,打包器处于空闲状态,当数据源缓冲区不空且打包缓冲区不满时,打包器插入头尾片和体微片,进入忙碌状态;在忙碌状态下,若:数据源缓冲区不空,打包缓冲区不满,且数据的目的地址不变,打包器插入体微片;若:数据源缓冲区中数据的目的地址改变或者数据源缓冲区和打包缓冲区均为空,则打包器在打包缓冲区不满的情况下插入尾微片,进入空闲状态;其他情况打包器不做任何操作。本方法能有效的提高网络通信性能,节省功耗并同时减少实现面积。

Description

片上网络设计用的一种自适应打包方法
技术领域
本发明属于片上互连网络设计领域。
背景技术
集成电路一直按照摩尔定律推进,单芯片所集成的TP(Intellectual Property)块数目越来越多,传统的基于总线的片上互连结构已经在带宽、功耗、可靠性、扩展性等方面表现处越来越多的局限性,片上通信已经取代计算成为集成电路设计的瓶颈。片上网络(Network-on-Chip,NoC)作为集成电路设计领域的一项关键技术,用于解决芯片规模增大所带来的片上互连问题。
包交换方式由于其具有较高的链路利用率等优点在片上网络设计中被广泛采用。虫孔路由方式也因其在面积和延迟方面的优势被片上网络研究者一致推荐。在虫孔路由方式中,数据包被切割成一系列微片(基本的数据传输单元),数据包格式如图1所示,包括头微片、体微片和尾微片。头微片包含地址信息,数据包的其他微片只是紧跟在头微片的后面在网络中传输。体微片中包含的是传输的数据。尾微片主要包含一些校验码。每个微片的前两个比特作为标签来区分不同类型的微片。
目前,片上网络研究者们普遍采用定长打包方式。在定长打包方式中,当数据源数据的目的地址改变或数据源没有数据时,当前处于打包过程的数据包必须被强行结束,此时,如果该数据包的包体仍没有被填满,那么数据包包体的剩余空间将被填入无效数据。这些无效数据在网络中传输,将在某种程度上浪费网络的容量同时也增加了通信功耗。如果包长设置不当,将导致无效数据的增多,网络容量的进一步浪费,通信功耗的进一步增加。如何根据业务的特点选择最合适的包长是一个比较复杂的问题,目前仍没得到很好解决。
发明内容
本发明的目的在于提出一种片上网络设计用的自适应打包方法,以克服当前定长打包方法存在的浪费网络容量和增加片上网络功耗的缺点。
本发明的特征在于,依次按以下步骤执行基于虫孔路由方式的自适应打包方法:
步骤(1).初始化
在IP块中设定一个数据源缓冲区,内含:数据的目的地址以及空标志信号;
在网络接口,用硬件电路分别设定一个打包器和打包缓冲区,该打包器的数据输入端与所述的数据源缓冲区的数据输出端相连,打包器的读控制信号输出端与数据源缓冲区的读控制信号输入端相连;所述打包缓冲区的数据输入端与该打包器的数据输出端相连,该打包缓冲区的写控制信号输入端与打包器的写控制信号输出端相连,所述打包器还有一个第一空标志信号输入端,对应于该数据源的空标志信号输出端,所述打包器还分别设有一个第二空标志信号输入端和一个满标志信号输入端,分别对应于该打包缓冲区的空标志信号输出端与满标志信号输出端;所述打包缓冲区的数据输入/输出端与片上网络中的网络路由器互连;
步骤(2).依次按以下步骤执行自适应打包方法:
步骤(2.1).在系统刚初始化,数据源缓冲区未产生数据,该打包器处于空闲状态;
步骤(2.2).在每个时钟周期,打包器检测数据源缓冲区的空标志信号和打包缓冲区的满标志信号,当数据源缓冲区不空且打包缓冲区不满,打包器根据数据源缓冲区中数据的目的地址插入头微片,并在下个打包缓冲区不满的时钟周期插入内含数据的体微片,进入忙碌状态;
步骤(2.3).在忙碌状态下,若:数据源缓冲区不空,打包缓冲区仍不满,且数据的目的地址不变,打包器继续插入体微片;若:数据源缓冲区中数据的目的地址改变,则在打包缓冲区不满的情况下执行下一步骤(2.4);若数据源缓冲区和打包缓冲区均为空,则打包器直接执行下一步骤(2.4);其他情况打包器不做任何操作;
步骤(2.4).打包器在体微片后插入内含校验码的尾微片,转入步骤(2.2),根据新的数据目的地址插入新的头微片。
仿真实验表明,该自适应打包方式能有效的提高网络的吞吐量,减少数据传输平均延迟,节省功耗并同时减少打包器的实现面积。
附图说明
图1.虫孔路由的数据包格式。
图2.与本发明所述相关的硬件框图。
图3.本发明所述方法的流程框图。
具体实施方式
针对定长打包方法存在的浪费网络容量和增加片上网络功耗的缺点,我们提出了自适应的打包方法。
打包过程相关的硬件框图如图2所示,主要包括3部分:数据源缓冲区、打包器和打包缓冲区。在自适应打包方式中,数据包没有固定的包长,打包器根据数据源缓冲区中数据的目的地址、数据源缓冲区和打包缓冲区的空满情况,自由的结束数据包,因此,数据包中不存在无效数据,避免了网络容量的浪费,而且,由于数据包没有固定的包长,也不存在包长选择的问题。
下面我们重点介绍自适应打包方式的打包规则:
1)当系统刚初始化,打包器处于空闲状态。
2)当打包器处于空闲状态,等待数据源缓冲区有数据且打包缓冲区不满时才开始一个新的数据包,进入忙碌状态。
3)当打包器处于忙碌状态,当数据源数据的目的地址改变或者数据源缓冲区和打包缓冲区均为空时,结束当前的数据包,进入空闲状态。
实施方式:图3为打包器的打包过程流程图。打包器初始化后,打包器处于空闲状态。在空闲状态下,在每个时钟周期,打包器检测数据源缓冲区的空标志信号和打包缓冲区满标志信号,如果数据源缓冲区不空且打包缓冲区不满,则打包器根据数据源缓冲区中数据的目的地址插入头微片,并在下个打包缓冲区不满的时钟周期插入内含数据的体微片,打包器进入忙碌状态。在忙碌状态下,若数据源缓冲区不空,打包缓冲区不满,且数据源缓冲区中数据的目的地址不变,则打包器继续插入体微片;若数据源数据的目的地址改变,则在打包缓冲区不满的情况下插入尾微片,进入空闲状态;若数据源缓冲区和打包缓冲区均为空,则插入尾微片,进入空闲状态;在其他情况打包器不进行任何操作并停留在忙碌状态。

Claims (1)

1.片上网络设计用的一种自适应打包方法,其特征在于,依次按以下步骤执行基于虫孔路由方式的自适应打包方法:
步骤(1).初始化
在IP块中设定一个数据源缓冲区,内含:数据的目的地址以及空标志信号;
在网络接口,用硬件电路分别设定一个打包器和打包缓冲区,该打包器的数据输入端与所述的数据源缓冲区的数据输出端相连,打包器的读控制信号输出端与数据源缓冲区的读控制信号输入端相连;所述打包缓冲区的数据输入端与该打包器的数据输出端相连,该打包缓冲区的写控制信号输入端与打包器的写控制信号输出端相连,所述打包器还有一个第一空标志信号输入端,对应于数据源缓冲区的空标志信号输出端,所述打包器还分别设有一个第二空标志信号输入端和一个满标志信号输入端,分别对应于该打包缓冲区的空标志信号输出端与满标志信号输出端;所述打包缓冲区的数据输入/输出端与片上网络中的网络路由器互连;
步骤(2).依次按以下步骤执行自适应打包方法:
步骤(2.1).在系统刚初始化,数据源缓冲区未产生数据,该打包器处于空闲状态;
步骤(2.2).在每个时钟周期,打包器检测数据源缓冲区的空标志信号和打包缓冲区的满标志信号,当数据源缓冲区不空且打包缓冲区不满,打包器根据数据源缓冲区中数据的目的地址插入头微片,并在下个打包缓冲区不满的时钟周期插入内含数据的体微片,进入忙碌状态;
步骤(2.3).在忙碌状态下,若:数据源缓冲区不空,打包缓冲区仍不满,且数据的目的地址不变,打包器继续插入体微片;若:数据源缓冲区中数据的目的地址改变,则在打包缓冲区不满的情况下执行下一步骤(2.4);若数据源缓冲区和打包缓冲区均为空,则打包器直接执行下一步骤(2.4);其他情况打包器不做任何操作;
步骤(2.4).打包器在体微片后插入内含校验码的尾微片,转入步骤(2.2),根据新的数据目的地址插入新的头微片。
CN2007101177189A 2007-06-22 2007-06-22 片上网络设计用的一种自适应打包方法 Expired - Fee Related CN101075961B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101177189A CN101075961B (zh) 2007-06-22 2007-06-22 片上网络设计用的一种自适应打包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101177189A CN101075961B (zh) 2007-06-22 2007-06-22 片上网络设计用的一种自适应打包方法

Publications (2)

Publication Number Publication Date
CN101075961A CN101075961A (zh) 2007-11-21
CN101075961B true CN101075961B (zh) 2011-05-11

Family

ID=38976787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101177189A Expired - Fee Related CN101075961B (zh) 2007-06-22 2007-06-22 片上网络设计用的一种自适应打包方法

Country Status (1)

Country Link
CN (1) CN101075961B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227298B (zh) * 2008-01-09 2010-06-02 南京大学 基于片上网络的路由器功耗确定方法
CN101227486B (zh) * 2008-02-03 2010-11-17 浙江大学 适合于多处理器片上网络的传输协议
CN101252513B (zh) * 2008-04-07 2010-09-29 哈尔滨工业大学 保障服务质量的片上网络带宽资源调度方法
CN101625673B (zh) * 2008-07-07 2012-06-27 中国科学院计算技术研究所 一种二维网格片上网络的任务映射方法
CN102387080A (zh) * 2011-10-21 2012-03-21 上海交通大学 片上网络虫洞路由容错方法
CN103618673A (zh) * 2013-11-15 2014-03-05 中国航空无线电电子研究所 一种保障服务质量的片上网络路由方法
US9787571B2 (en) * 2014-12-22 2017-10-10 Intel Corporation Link delay based routing apparatus for a network-on-chip
CN113504448A (zh) * 2021-07-26 2021-10-15 电子科技大学长三角研究院(湖州) 一种片上系统的老化检测系统及其检测方法
CN113552190A (zh) * 2021-07-26 2021-10-26 电子科技大学长三角研究院(湖州) 面向老化监测的传感器总成积分筛选系统及其筛选方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157512A (zh) * 1995-11-09 1997-08-20 国际商业机器公司 用于多节点虫孔网络的自适应动态信息路由选择系统
CN1250295A (zh) * 1998-10-02 2000-04-12 汤姆森消费电子有限公司 分组传输速率转换系统中的输出符号率控制
CN1703682A (zh) * 2002-10-08 2005-11-30 皇家飞利浦电子股份有限公司 用于建立事务的集成电路和方法
WO2006018753A1 (en) * 2004-08-12 2006-02-23 Koninklijke Philips Electronics N.V. Integrated circuit and method for packet switching control
WO2006109207A1 (en) * 2005-04-13 2006-10-19 Koninklijke Philips Electronics N.V. Electronic device and method for flow control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1157512A (zh) * 1995-11-09 1997-08-20 国际商业机器公司 用于多节点虫孔网络的自适应动态信息路由选择系统
CN1250295A (zh) * 1998-10-02 2000-04-12 汤姆森消费电子有限公司 分组传输速率转换系统中的输出符号率控制
CN1703682A (zh) * 2002-10-08 2005-11-30 皇家飞利浦电子股份有限公司 用于建立事务的集成电路和方法
WO2006018753A1 (en) * 2004-08-12 2006-02-23 Koninklijke Philips Electronics N.V. Integrated circuit and method for packet switching control
WO2006109207A1 (en) * 2005-04-13 2006-10-19 Koninklijke Philips Electronics N.V. Electronic device and method for flow control

Also Published As

Publication number Publication date
CN101075961A (zh) 2007-11-21

Similar Documents

Publication Publication Date Title
CN101075961B (zh) 片上网络设计用的一种自适应打包方法
CN111131091B (zh) 一种面向片上网络的片间互连方法和系统
CN101753388B (zh) 适用于多核处理器片上和片间扩展的路由及接口装置
CN100416534C (zh) 基于PCI Express的包结合方法、设备和系统
CN101552733B (zh) 一种基于spi实现数据传输的方法和系统
US8165120B2 (en) Buffering architecture for packet injection and extraction in on-chip networks
CN100445977C (zh) 数据处理系统以及用于处理数据的方法
CN106953853B (zh) 一种片上网络千兆以太网资源节点及其工作方法
US20080144670A1 (en) Data Processing System and a Method For Synchronizing Data Traffic
CN110837486B (zh) 一种基于FPGA的FlexRay-CPCIe通信系统
WO2022166427A1 (zh) 用于互联裸芯的数据传输事件
CN104158738A (zh) 一种低缓冲区片上网络路由器及路由方法
CN109165178B (zh) 一种基于RapidIO的弹上系统SoC芯片间高速通信方法
JP2008546298A (ja) 電子装置及び通信リソース割り当ての方法
KR20120040535A (ko) 버스 시스템 및 그것의 동작 방법
EP2173066A1 (en) "Method of exchanging information in a communication network, corresponding communication network and computer program product"
CN101227297B (zh) 用于设计片上网络的一种服务质量保证方法
Carara et al. Communication models in networks-on-chip
CN101122894A (zh) 一种异步串行通讯控制器件
CN101764795A (zh) Ieee1394总线的链路层控制器
Yang et al. NISAR: An AXI compliant on-chip NI architecture offering transaction reordering processing
CN101655825B (zh) 一种使用fpga实现lpc-usb双向通信的装置及lpc-usb和usb-lpc数据转换方法
CN1507285A (zh) 用fpga器件实现机群交换网络路由芯片的方法
CN108650160B (zh) 一种基于链式端口的总线桥接器及其工作方法
US5748917A (en) Line data architecture and bus interface circuits and methods for dual-edge clocking of data to bus-linked limited capacity devices

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: 20110511

Termination date: 20120622