首页 > 范文大全 > 正文

基于OCP接口的片上网络性能评估平台

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于OCP接口的片上网络性能评估平台范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:针对片上网络性能评估的通用性问题,提出将OCP协议运用到片上网络性能评估平台中,设计与实现了一个具有OCP接口的片上网络资源节点,该资源节点通过OCP协议与片上网络路由节点进行通信。以资源节点为主要构成单元,构建了片上网络性能评估平台。该评估平台采用集成化的设计方式,将流量产生机制、接收机制和性能分析逻辑单元集成在资源节点内部,使得平台易于灵活配置。本文结合具体的片上网络实例验证了该平台的正确性。

关键词:片上网络;资源节点;OCP协议;性能评估

中图分类号:TP302.1 文献标识码:A

A network on chip performance evaluation platform

based on OCP interface

LUO Dan,WU Ning

(College of Information Technology Science, Nanjing University

of Aeronautics and Astronautics, Nanjing 210016,China)

Abstract: Aiming at the generality of NoC performance evaluation, the OCP protocol is proposed using on the NoC performance evaluation platform in this paper, a resource IP core with OCP interface is designed and realized. The resource IP core communicates with the router IP core with OCP protocol .On the basis of this resource IP core, we build up a NoC performance evaluation platform. Based on the integration designing method, the traffic injection mechanism, traffic receiver mechanism and performance accessing logic are integrated in the resource IP core. That makes the platform easy to configure. We verify the correctness of the platform through evaluating a specific NoC instance.

Key words: NoC; Resource IP core; OCP protocol; performance evaluation

1引言

片上网络(Network on Chip,NoC)以一种新的片上通信方式被提出[1],它将网络的结构引入到片上系统中,用于处理IP核间的异步通信。目前,NoC的研究已经涵盖各个方面,从拓扑结构[2]的选择,路由算法[3]的设计,通讯规约的制定,到各个部件的设计。不同的片上网络设计在性能上存在巨大差异,因而构建一个通用的片上网络性能评估平台显得尤为重要。文献[4]中设计与实现了一个片上网络性能评估平台,但并没有考虑该平台的通用性问题,且结构复杂,配置不够灵活。

开放式核协议(Open Core Protocol, OCP)是与总线独立、以IP核为中心的通信协议[5],能满足IP核通信机制的所有要求。它支持从简单的请求―响应到流水线以及多线程对象的高性能数据传输模型。OCP信号具有同步和单向的特征,简化了核的实现、综合和时序分析,适用于多种形式的片上通信。本文设计的片上网络性能评估平台采用OCP接口规范与具体的片上网络实例进行通信,大大提高了平台的通用性。此外,该平台将流量产生机制和各种评估逻辑器件都集成在一个资源节点IP核内部,使得平台层次简单、结构清晰,可灵活配置。

2片上网络性能评估平台构建

本文设计的片上网络性能评估平台采用Verilog语言实现,能够测试片上网络的各种性能指标,为片上网络设计者提供功能验证。该平台主要分为三个层次:操纵层、主体层、测试层,如图1所示。下面分别介绍平台的各个部分。

操纵层:用户通过操纵层的Manager模块与平台进行交互,按需要配置网络参数,如包长、网络注入率、微片大小等。还可以选择网络测试流量的时间分布和空间分布,测试网络在不同流量下的各种性能指标。评估结果也通过Manager模块显示。

网络注入率以每个周期每个节点注入网络的微片数来度量。用户控制网络注入率的方式有两种,一种是设置发送数据的节点个数,另一种是控制数据包的发送间隔。在Manager模块中设计有控制寄存器,其数据位宽对应于使用的资源节点数目,在某次测试中,控制寄存器的某一位为高电平,表示与之对应的资源节点可以发送数据。数据包的发送间隔通过设置各种分布的期望值,即平均发送间隔时间来实现。

主体层:由资源节点S构成,资源节点的具体形式是各种各样的,典型的资源节点有嵌入式微处理器、IP核的专用硬件资源及可重构硬件资源或者是上述各种硬件的组合。本文设计的资源节点是各种具体形式的抽象,也可以被认为是一个只执行通信任务的特殊IP核,能够产生用于测试片上网络性能指标的各种网络流量,根据网络的通信状况进行性能分析,计算各种性能指标。

用户可以根据网络的大小配置S的数目,图1所示是对一个4×4大小的2D-Mesh结构的片上网络进行性能评估,与之相应地配置了16个资源节点。需要注意的是当用户需要测试固定路径的几对节点进行通信时,不进行数据发送和接收的节点不用配置资源节点,这样可以减小主体层的规模。

测试层:放置用户需要测试的片上网络实例。图1中使用的片上网络是一个4×4的2D-Mesh网络,其主要构成部分是路由节点R和网络适配单元NI,每个路由节点R与相邻的路由节点进行通信,并通过NI与资源节点S进行通信。

3资源节点设计

本文提出的片上网络评估平台架构的主要特点之一是:将流量产生机制与注入机制以及性能评估逻辑器件封装在一个统一的资源节点内部,通过配置资源节点来构建该平台,使得平台结构简单,易于操作。资源节点内部结构设计如图2所示。

资源节点内部采用模块化的设计方法,当在节点中添加某种分布的测试流量时,只需要改变与之相应的模块,而不影响节点的其他部分。资源节点应尽可能多地集成各种分布的流量模型[4],采用的流量模型越多,对网络的评估更加全面。

资源节点S主要由时间间隔控制模块(Time interval)、地址产生模块(Addr_gen)、数据流注入模块(Inject)、数据接收模块(Receiver)、性能分析模块(Access)以及接口模块(Interface)组成。

资源节点产生的网络流量的时间分布和空间分布分别由两个多路选择器来指定。时间间隔产生模块Time interval集成了各种随机分布的运算逻辑,可以控制网络流量在时间上服从多种分布。该模块在平台运行时重复执行以下过程:首先产生一个指定分布的随机数,然后对时钟周期进行计数,当到达产生的随机数大小的时间间隔时,WR_en发出一个高电平,控制 Inject模块将数据注入到网络,在下一个时钟周期WR_en自动置为低电平。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

Inject模块按照用户指定的微片长度产生待发送的数据包,在包中携带发送的起始时间,以便接收方进行延时分析。接收Addr_gen模块产生的服从特定分布的地址,在Wr_en为高电平时将数据和地址同时传送给Interface模块。

接口模块包括主机接口(Master)和从机接口(Slave)。Master按照OCP协议将命令和数据发送给与之相邻的网络适配器NI,并接收NI的反馈,只有NI空闲时Master中的数据才能传输到网络中,否则Master处于等待状态,保持数据和地址不变。资源节点作为数据接收端时,Slave模块按照OCP时序接收数据,并将数据传送给Receiver模块,同时发出反馈信号给发送方。

资源节点接收到的数据首先存储在Receiver模块,Receiver统计收到包的个数并提取包的发送时间,传输给性能分析模块Access。Access由包的接收时间、网络运行时间,以及运行时间内收到的包的数目等信息计算各种网络性能指标,计算结果传送给操纵层的Manager模块显示。

4OCP接口的实现

本文设计的片上网络性能评估平台的另一个重要特点:资源节点S采用OCP接口协议与用户需要评估的片上网络实例进行通讯。由于OCP协议的通用性,使得片上网络设计人员不用在意与平台的交互问题,完全集中于网络内部结构的设计。这样大大增强了平台的通用性。

资源节点S通过总线接口模块对网络适配单元NI进行读写操作。由于资源节点的实现细节对于具体的片上网络实例来说是不可见的。总线接口模块必须尽可能与绝大多数片上系统总线协议兼容,才能使得平台具有通用性,OCP接口协议就是这样一种协议,它采用同步数据传输方式,支持可配置的数据带宽,除基本传输模式外它还支持突发的读写方式、线程以及中断,适用于多种形式的片上通信[7]。基于ocp协议的片上网络通信模型如图3所示。

IP核的性质决定了它是否需要主从设备,还是兼有两者的功能。对于每一个连接实体,总线包装的接口模块必须是互补的,即一个是Master,另一个必须是Slave。系统的传输按照如下方式发生:通信发起的核实体通过片上网络与目标IP核进行通信时,由通信发起端Master模块发出的命令、控制信号或者数据首先传输到与它直接相连的网络通信接收端模块的Slave处。网络通信接收模块将OCP命令、控制信号或者数据按照网络的传输模式进行包装和转发,传递给与目标IP核互补的网络通信发起端进行解析,再由其Master将这些信息传输给目标IP核的Slave处。目标IP核接收命令并实现操作,完成一次片上网络中IP核之间的通信传输。本文采用的OCP接口时序如图4所示。

主机将Mcmd信号置为WR发起一次数据包长为MBurstLength的通信。将MBurstPrecise置为高电平,并将MBurstSeq置为INCR,表明这是地址依次递增的传输,当MBurstSeq置为STRM,则表明地址不变。MReqLast保持低电平直到最后一个数据进行传输。从机准备好接收数据,则置SCmdAccept为高电平,否则保持低电平。主机通过置MBurstLast为高电平,通知接收方当前传输的是最后一个数据。

接口模块以同步时序状态机的方式来实现。状态机包括以下状态:起始状态Start、开始写状态Write、连续写状态Write_WAITE、开始读状态Read、连续读状态Read_WAITE。状态流程图如图5所示。

状态机开始处于Start状态,MCmd输出为Idle,当接口模块接收到Inject模块的读写命令时,转到开始读/写状态中去。在开始写状态时,MCmd输出为Write,将数据和地址同时挂到总线上。当传输的数据包长度等于1且ScmdAccept为1时,表明当前传输的数据包长度为1,且被与之相邻的NI接收,下一个时钟周期进入Start,等待下一次数据传输。否则表示数据包长度大于1或从机没有做好接收准备,在下一时钟周期转入Write_WAIT状态。

处于连续写状态时,只有当ScmdAccept为高电平时,才能传下一组数据,此时,Mcmd输出为Write,MAddr和MData分别挂上下一组要传输的数据和地址。否则,表明从机没有准备好接收本次数据,主机接口模块必须在下一个时钟周期保持数据、地址不变。通过Count计数器对传输数据计数,数据传输完毕Count清零,状态机返回Start状态。

读开始状态MCmd输出为Read,同时将地址挂到总线上,下一个时钟周期进入连续读状态。连续读状态中,一方面根据ScmdAccept是否为高电平,判断从机是否接受本次命令,只有检测到从机的SCmdAccept置1时,才发送新的地址。另一方面检测从机的反馈信号SResp,当检测到从机将数据挂到SData上时,通知Receiver模块读取数据。

5一个NoC实例的性能分析

片上网络的性能指标[1]主要有吞吐率和网络延迟。吞吐率(Throughput Rate)可由每节点每个时钟周期内传输多少微片来度量,公式(1)是它的理论计算公式。

TR=■LEN■ /Num■×Time■(1)

其中,Time■ 是总的模拟时间,Num■ 为网络中的节点数量, S指的是在时间Time■ 内从Num■个节点接收到或者发送出的消息的总数,指的是第个消息的长度。

网络延迟:从消息的头微片在源节点注入网络到该消息的尾微片被目标节点接收所经历的时间。

以文献[9]中的片上网络为实例,对该网络进行性能评估,验证所设计的片上网络性能评估平台的正确性。该片上网络参数如表1所示。

图6和图7为两种不同流量分布下的性能曲线图。本文测试的两种网络流量分别为空间上和时间上均服从均匀分布的网络流量,以及空间上服从均匀分布,时间上服从泊松分布的网络流量。

由图6可以看出,网络注入率较小时,随着注入率增大,吞吐率呈直线增加,注入率增大到一定的程度后,吞吐率基本上保持不变。这是因为负载较小时,片上网络比较空闲,资源节点的所有通信请求基本上都能保证。但片上网络的处理能力不可能无限增加,当注入率增大到一定程度,网络达到饱和,单位时间内注入网络中的数据量再增加,也不能得到及时传输。

由图7可知在网络注入率没有达到饱和时,随着注入率的增大,网络延迟接近呈抛物线急剧增加,当网络达到饱和时基本保持不变。这是因为负载较小时,网络能够在短时间内处理资源节点的通信请求,随着注入率增大,要求通信的数据量大大增加,网络的处理时间也相应增长。当网络达到饱和,网络适配器NI会通知资源节点S已经没有空间接收多余的数据,因此,网络中传输的流量为饱和值,平均网络延迟也保持为网络流量饱和时的平均延迟时间。

由图6和图7可以看出本文所测试的片上网络的吞吐率饱和值约为0.3微片/周期/节点,平均网络延迟最小27个时钟周期,网络饱和时的延迟时间接近为60个时钟周期。

6结束语

采用模块化的设计方法设计与实现了一个资源节点IP核,以这个资源节点IP核为主要构成单元构建了一个结构简单清晰、配置灵活的片上网络性能评估平台。使用同步时序状态机实现了资源节点的接口模块,该接口通过OCP协议与片上网络实例的网络适配单元NI进行通信,解决了片上网络性能评估平台的通用性问题。用所设计的片上网络性能评估平台对一个具体的NoC实例进行性能评估,得到了与理论情况符合的性能曲线,验证了该平台的正确性。在保障片上网络评估平台功能的基础上,本文所设计的平台架构结构简洁,配置灵活,且具有通用性。

参考文献

[1] Song Chai,Chang Wu,Yubai Li. A NoC Simulation & Verification Platform based on SystemC[C]. CSSE,2008 ,423-426.

[2] 欧阳一鸣,朱兵,梁国华,冯伟.基于对角线互联网格拓扑结构的片上网络[J].计算机工程,2009,(35)100-102.

[3] 谢佩博,顾华玺,贾林.片上网络路由算法的研究[J]计算机工程与设计,2009, (30)3078-3081.

[4] 付方发,张庆利,王进祥.支持多种流量分布的片上网络性能评估技术研究[J]哈尔滨工业大学学报,2007,(5)830-834.

[5] 饶云华,鄢媛媛,朱小虎,曹阳.面向SoC的开放式IP核接口协议(OCP)研究[J].中国集成电路,2007,16(2)39-43.

[6] Zhonghai Lu,Axel Jantsch.Traffic Configuration for Evaluating Networks on chips[C],IDEAS,2005,39-41.

[7] 王荆林,施俊武,蔡理金.FPGA上SCA组件的OCP接口实现[J].技术交流,2007,(10)20-23.

[8] 周小练,王忆文,李平.AMBA总线SoC系统IP核的即插即用研究[J]单片机与嵌入式系统应用, 2009,(02)7-10 .

[9] 丁帅. 片上网络通信节点的研究与设计[D].南京:南京航空航天大学,2009.

作者简介

罗丹,硕士研究生,研究方向为集成电路设计与片上网络;

吴宁,教授,博士生导师,研究方向为数字系统理论与技术、电子系统集成、专用集成电路设计等。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文