网络接口设计探讨

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

网络接口设计探讨

摘要:与总线架构相比,片上网络具有支持并行通信、良好的可

扩展性、规则的结构、可重用性等优点。网络接口是片上网络中处理

器核与路由节点之间的接口,网络接口的数据转化和传输效率影响整

个片上网络的工作效率。研究的NoC系统采用3×3二维mesh的结构,DSP核采用AMBA总线结构,路由节点采用包交换方式,为了实现二者

之间的数据转换与交换,设计了网络接口。为了提升传输效率,网络

接口设计支持数据批传输,批传输不需DSP核参与,节省处理器资源。在完成网络接口的RTL设计后,实行了仿真验证,保证了网络接口的

功能准确性。

关键词:片上网络;网络接口;路由节点;数据包

1引言

随着片上可集成的晶体管数目越来越庞大,设计者能够在一个单

片上集成越来越多的处理器核及配套的复杂系统。但是随着处理器核

数量的增加,传统基于总线架构的SoC显现出局限性:带宽限制、可

扩展性差、设计复杂等,于是片上网络1架构应运而生。NoC2架构由

瑞典皇家技术学院率先提出,随后斯坦福大学提出了包交换技术代替

连线结构的思想3。国内参与NoC研究的高校也越来越多,如西安电子科技大学在路由算法4~5方面的研究,南京大学、哈尔滨工业大学、

合肥工业大学等都在NoC领域有所建树。针对NoC架构系统规模大、

功耗相对较高的问题,合肥工业大学提出采用总线翻转(BI)编码算法

和格雷码编码组成联合编码的方法来降低功耗6。经过十几年的发展与论证,对于NoC架构的研究也趋于成熟。片上网络的关键技术研究大

致能够分为三个方向:拓扑结构,路由器和网络接口(NetworkInterface)。从结构上来说,不管什么形式的片上网络都是

由路由模块和网络接口模块所构成的7。网络接口是NoC系统的重要组成部分,是本地子系统(处理器核)和路由节点之间的转接口,网络

接口的数据转化和传输效率影响整个片上网络的工作效率。网络接口

的主要作用是:(1)让处理器核承担最小的通讯服务任务;(2)将

处理器核与网络通信部分分离,即计算和通讯间的分离,使计算资源

对网络透明,从而实现处理器资源间的互连,且能提升设计的重用性。网络接口在处理器一侧实现了总线接口,在网络一侧实现了网络接口。网络接口主要考虑地址信号、数据的打包、解包、编码、同步等问题。本文设计的网络接口主要功能包括:对AHB总线上的数据和路由节点(Router)上的数据包(Packet)实行数据格式转化和交换;实现本

地内核到其他核存储空间的数据读写;实现本地存储空间和其他核存

储空间之间的大批量数据传输。数据批传输主要负责大规模的数据传输,由网络接口控制,不需要处理器核参与,处理器核能够继续处理

其他程序,极大地提升了处理器的效率。

2网络接口设计

本文设计的网络接口集成在一个3×3二位mesh结构的NoC中,

如图1所示,NoC系统中包含9个DSP核。网络接口(NI)连接本地DSP

系统和路由节点,负责两者之间的数据交换。网络接口负责把本地DSP 系统发过来的数据打包后发送到相连的路由节点中,数据包通过路由

网络传送到目的路由节点,再通过目的地的网络接口解析后,取出传

输的有效数据存入目的存储空间中。本文设计的网络接口支持三种数

据传输模式:(1)本地DSP写异地存储器:由本地DSP发起写数据请求,数据通过网络接口打包后发送到异地存储器;(2)本地网络接口

搬运本地存储器的数据到异地存储器:由本地DSP配置本地网络接口

的控制寄存器,本地网络接口根据相关配置读入本地存储器的数据,

打包后传输到指定的异地存储器中,支持数据批传输,传输过程中不

需要DSP参与;(3)本地DSP读异地存储器:由本地DSP配置异地网

络接口,异地网络接口根据相关配置,搬运异地存储器的数据到本地

存储器中,支持数据批传输。网络接口包括控制寄存器组、数据打包

模块、数据包解析模块、输入输出FIFO、数据选择判定模块等。其中,控制寄存器组包含目的地址寄存器、源地址寄存器、搬运控制寄存器、写控制寄存器、中断状态寄存器、中断使能寄存器、中断屏蔽寄存器,主要负责生成数据传输地址、传输控制信息、中断信息、数据包信息。写打包模块主要负责把本地DSP直接往异地存储器写的数据打包,其

接收本地DSP直接发过来的目的地址、包个数信息、待传输数据,分

别打包生成头包和中间包,然后发送到输出FIFO。搬运打包模块主要

根据控制寄存器组生成的相关控制信息,从本地存储器中读入待传输

数据,打包后发送到输出FIFO,支持数据批传输,传输过程中不需要

本地DSP参与。输出数据缓冲、输入数据缓冲是数据FIFO,主要负责

数据发送和接收时的缓冲。数据包解析模块包括VC0解析模块和VC1

解析模块,主要接收输入FIFO送过来的数据包,VC0解析模块接收来

自虚拟通道0的数据包,VC1解析模块接收来自虚拟通道1的数据包,数据解析模块对接收到的数据包实行解析后,根据数据包中的目的地

址信息,把数据写入本地存储器的对应地址中,并根据数据包中的中

断信息更新中断状态寄存器,产生相对应的中断给本地DSP。数据选择判定模块根据数据解析模块生成的控制信号,把来自虚拟通道0和虚

拟通道1的数据存入各自的目的地址。

2.1数据包结构

本地处理器系统中的数据通过AHB总线传输,而片上网络中的数

据以数据包的形式传输,数据的打包与数据包的解析由网络接口完成。网络接口将AHB总线的数据和地址格式转化为Router能识别的数据包

格式。头Flit主要包含标志位、控制信息和目的存储器地址信息,数

据Flit主要用来存储需要传输的数据。

2.2数据发送逻辑

根据功能,网络接口主要划分为以下几个部分:AHB数据输出到Router的数据发送逻辑;Router数据包输入到AHB的数据接收逻辑;

网络接口直接读存储器并发送数据到Router的数据搬运逻辑。数据发

送逻辑负责把数据打包后发送到路由节点,主要通过以下三个步骤实

现数据发送:(1)配置写目的地址寄存器;(2)配置写控制寄存器;(3)DSP核通过AHB总线发送数据给网络接口。数据发送逻辑整体结

构如图5所示。MUX根据读使能信号选择将Core发送的数据或者网络

接口读自MEM的数据发送到数据打包模块中。只要网络接口有读请求,则输入数据选择AHBRDDATA,否则选择AHBWRDATA。数据打包模块主要

相关文档
最新文档