本发明属于noc传输协议领域,具体涉及一种noc传输方法。
背景技术:
随着单芯片内集成的处理器核(简称ip核)数目的增多,传统的以总线方式实现ip核之间互连与通信的结构已经不能彻底解决复杂的片上通信所面临的严峻挑战,如性能、功耗、延时和可靠性等方面。而noc结构采用分布式计算机系统的通信方式,用路由和分组交换技术代替传统的总线通信方式,具有数据处理量大、多任务并行计算、架构易扩展、灵活性强等特点,在通信方式、时钟同步等方面具有很多优越性,已经成为普遍采用的一种多核处理器互连与通信实现结构。
在计算密集型处理器核中,集成多个高性能dsp和高速外设接口,采用dsp并行执行的方式提高处理器整体性能。目前随着dsp计算性能的提升和任务复杂度的增加,noc通信效率已经成为影响处理器性能提升的主要影响参数之一。
目前,国内外学者从noc(networkonchip:片上网络)拓扑结构、路由算法、交换机制、仲裁机制、全局异步局部通信结构等方面出发,分别从noc物理层、数据链路层、网络层和应用层角度开展noc性能研究工作。如从noc体系结构考虑性能提升,部分专利中提出的noc路由器结构、拓扑结构。如从noc系统建模方面分析影响noc传输性能的影响因子,部分文献中提出的采用opnet、ns_2等仿真工具,通过建立通信延迟模型、流量控制模型等方式开展noc性能研究工作。如从任务划分、任务调度等系统应用角度考虑提升noc传输性能,部分专利中提出的映射方法和调度方法等。
以上这些研究工作分别从noc不同层次开展noc传输性能研究,分析影响noc传输性能的影响参数。但noc传输性能除了受以上因素影响外,还依赖于noc传输协议。在目前研究最广泛的以虫孔交换机制+虚通道机制的noc体系结构中,定义了任务→包→微片的传输协议。即noc接收ip核发起的传输任务后,将任务划分为多个包进行传输,每个包以符合noc传输协议的包格式进行组包和解包。而在noc网络中,以微片为基本传输单位,通过头微片建立通路,尾微片释放通路的方式实现微片在noc网络中的传输。
目前针对这种noc传输协议的研究,经查阅相关参考文献和专利,没有系统的、全面的定义和介绍。
技术实现要素:
本发明的目的在于克服上述不足,提供一种noc传输方法,既具有系统性、全面性,又提高了noc传输效率,为不同应用场合下noc传输协议定义提供有效的解决方案。
为了达到上述目的,本发明包括源至目的传输方法和目的至源传输方法;
源至目的传输方法以下步骤:
s11,源noc节点将接收到的ip核发起的传输任务,首先将任务划分为包,输出组包信息;
s12,源noc节点按包格式进行组包并将数据包发送至noc网络中;
s13,noc网络根据头微片信息、路由和仲裁,建立传输通路;
noc网络根据尾微片或头微片释放传输通路,直至到达目的noc节点;
s14,目的noc节点接收来自noc网络的数据包,并进行解包;
s15,目的noc节点解包完成后,根据任务类型进行组包;
目的至源传输协议遵循如下传输流程:
s21,目的noc节点按包格式进行组包并将数据包发送至noc网络中;
s22,noc网络根据头微片信息、路由和仲裁,建立传输通路;
noc网络根据尾微片或头微片释放传输通路,直至到达源noc节点;
s23,源noc节点接收数据包,并进行解包;
s24,源noc节点解包完成,包传输结束。
s11中,当为写任务时,按数据类包格式进行组包;当为读任务时,按请求类包格式进行组包。
s15中,当为写任务时,对于带回复包写任务,按回复包格式进行组包;对于不带回复包写任务,不组包,包传输结束;当为读任务时,按数据类包格式进行组包。
源至目的传输方法和目的至源传输方法均包括微片传输协议,微片传输协议将微片类型分为头微片、体微片和尾微片;
头微片用于建立noc节点接收端到发送端的传输通路及访问目的noc节点ip核的信息;
体微片用于根据头微片建立好的传输通路进行传输;
尾微片用于根据头微片建立好的传输通路进行传输,传输完成后释放传输通路。
头微片包括源节点号、目的节点号、任务类型、目的地址和传输长度信息。
头微片只有1个微片时,为头尾微片,头尾微片用于建立noc节点接收端到发送端的传输通路,传输完成后释放传输通路。
写数据类包格式为源noc节点ip核发起一次写传输后,在源noc节点组包时的包格式;
读数据类包格式为源noc节点ip核发起一次读传输后,在目的noc节点组包时的包格式。
请求类包格式为源noc节点ip核发起一次读传输后,在源noc节点组包时的包格式;
回复类包格式为源noc节点ip核发起一次写传输后,在目的noc节点组包时的包格式;
写传输是将源noc节点ip核本地数据经noc传输后写入目的noc节点ip核中的一次传输任务。
读传输是将目的noc节点ip核本地数据经noc传输后写入源noc节点ip核中的一次传输任务。
与现有技术相比,本发明将包格式分为数据类包格式、请求类包格式和回复类包格式。任务传输协议将任务分为写传输和读传输。写传输协议又划分为带回复包写传输和不带回复包写传输。同时,定义了任务传输协议的包长度可配置。本发明既具有系统性、全面性,又有效提高了noc传输效率,为不同应用场合下noc传输协议定义提供有效的解决方案。
附图说明
图1为本发明的流程图;
图2为本发明的noc传输时间计算图。
具体实施方式
下面结合附图对本发明做进一步说明。
图1为本发明提出的noc任务传输协议,其传输协议分为源至目的传输协议和目的至源传输协议。
源至目的传输协议遵循如下传输流程:
step1:源noc节点接收到ip核发起的传输任务后,首先将任务划分为包,输出组包信息;当为写任务时,按数据类包格式进行组包;当为读任务时,按请求类包格式进行组包。
step2:源noc节点按包格式进行组包并将数据包发送至noc网络中;
step3:noc网络根据头微片信息、路由和仲裁,建立传输通路。根据尾微片(或头微片)释放传输通路,直至到达目的noc节点;
step4:目的noc节点接收来自noc网络的数据包,并进行解包;
step5:目的noc节点解包完成后,当为写任务时,对于带回复包写任务,按回复包格式进行组包;对于不带回复包写任务,不组包,包传输结束。当为读任务时,按数据类包格式进行组包。
目的至源传输协议遵循如下传输流程:
step1:目的noc节点按包格式进行组包并将数据包发送至noc网络中;
step2:noc网络根据头微片信息、路由和仲裁,建立传输通路。根据尾微片(或头微片)释放传输通路,直至到达源noc节点;
step3:源noc节点接收数据包,并进行解包;
step4:源noc节点解包完成,包传输结束。
通过以上步骤,完成一包的传输,重复以上包传输流程,当任务中所有包传输完成后,传输结束。
图2(a)是写传输时间计算图,源noc节点组包长度为k,各传输流程之间平均延迟为d,目的noc节点组包长度为m,带回复包传输时间为t0,不带回复包传输时间为t1。
图2(b)是读传输时间计算图,源noc节点组包长度为m,各传输流程之间平均延迟为d,目的noc节点组包包长度为k,包传输时间为t0。
由图1看出,对于读传输或带回复包写传输,其传输流程为源组包→传输→目的解包→目的组包→传输→源解包。假设包长度为l,源组包和目的组包的头微片长度为h,则:k=l+h,m=h,读传输或带回复包写传输的传输效率p0为:
由公式(1)看出,当h、l为常数时,p0随着d的增大而减小;当h、d为常数时,p0随着l的增大而增大。
由图1看出,对于不带回复包写传输,其传输流程为源组包→传输→目的解包。由图2(a)可计算出不带回复包写传输效率p1为:
由公式(2)看出,当h、l为常数时,p1随着d的增大而减小;当h、d为常数时,p1随着l的增大而增大。
由此看出,本发明提出的任务传输协议的包长度可配置,能够提升noc传输效率。
同时,由公式(1)和公式(2)看出,不带回复包写传输时间p1小于带回复包写传输时间p0,即p1<p0,其性能提升比值p为:
由公式(3)看出,p>1,即不带回复包写传输效率比带回复包写传输效率高。且当h、l为常数时,p随着d的增大而增大;当h、d为常数时,p随着l的增大而减小。由此看出,本发明提出的不带回复包写传输协议,能够提升noc传输效率。
本发明提出了一种高效的noc传输协议,noc传输协议分为微片传输协议、包传输协议和任务传输协议。
noc传输协议中,微片传输协议将微片类型分为头微片、体微片和尾微片。
头微片分为头微片0,头微片1,…,头微片h-1(h≥1)。头微片主要包含源节点号、目的节点号、任务类型、目的地址、传输长度等信息,用于建立noc节点接收端到发送端的传输通路及访问目的noc节点ip核的信息。
头微片只有1个微片时,称为头尾微片。头尾微片建立noc节点接收端到发送端的传输通路,传输完成后释放传输通路。
体微片分为体微片0,体微片1,…,体微片l-1(l≥1)。该微片为有效负载,根据头微片建立好的传输通路进行传输。
尾微片为最后一个有效负载,根据头微片建立好的传输通路进行传输,传输完成后释放传输通路。
noc传输协议包传输协议将包格式分为数据类包格式、请求类包格式和回复类包格式。
数据类包格式分为写数据类包格式和读数据类包格式。写数据类包格式是指源noc节点ip核发起一次写传输后,在源noc节点组包时的包格式。读数据类包格式是指源noc节点ip核发起一次读传输后,在目的noc节点组包时的包格式。数据类包包含头微片、体微片和尾微片。
请求类包格式是指源noc节点ip核发起一次读传输后,在源noc节点组包时的包格式。请求类包包含头微片和尾微片或头尾微片。
回复类包格式是指源noc节点ip核发起一次写传输后,在目的noc节点组包时的包格式。回复类包包含头微片和尾微片或头尾微片。
noc传输协议,任务传输协议将任务分为写传输和读传输。
写传输是将源noc节点ip核本地数据经noc传输后写入目的noc节点ip核中的一次传输任务。
读传输是将目的noc节点ip核本地数据经noc传输后写入源noc节点ip核中的一次传输任务。
写传输分为带回复包写传输和不带回复包写传输。
带回复包写传输是指目的noc节点解包完成后,组回复包发送至源noc节点。
不带回复包写传输是指目的noc节点解包完成后,不组回复包。
noc传输协议,任务传输协议的包长度可配置。
本发明基于虫孔交换机制,将传输协议分为微片传输协议、包传输协议和任务传输协议。其中,微片传输协议将微片类型分为头微片、体微片和尾微片。包传输协议将将包格式分为数据类包格式、请求类包格式和回复类包格式。任务传输协议将任务分为写传输和读传输。写传输协议又划分为带回复包写传输和不带回复包写传输。同时,定义了任务传输协议的包长度可配置。该传输协议与目前已有文献或专利涉及到的noc传输协议相比,既具有系统性、全面性,又提高了noc传输效率,为不同应用场合下noc传输协议定义提供有效的解决方案。