280 likes | 409 Views
一个关于嵌入式视频片上网络设计方法的研究. A Case Study in Networks-on-Chip Design for Embedded Video. 摘要.
E N D
一个关于嵌入式视频片上网络设计方法的研究 A Case Study in Networks-on-Chip Design for Embedded Video
摘要 • 这篇文章我们学习了基于总线和基于片上网络的一个嵌入式视频应用。一个小巧的摄像片上系统(SOC)。我们分析了网络性能和整个系统的全部详细性能。我们采用了大小不同的框架和固定大小但不同数目的端口,和不同数目的共享存储器。我们发现网络是个性能瓶颈在我们的设计中,这个系统用了一个优化的NoC可以输出132%的性能。我们仿真了是基于录制真实通信路径。我们研究发现对于小巧的照相系统。一个16位带有两个共享的存储器显示了85.7%的性能改进。相比于基于总线的模式。同时也有更少的最大网络吞吐量。这个设计的例子说明了一个快速而准确的估计NoC在结构水平上的性能的一种方法。
介绍 • 这篇文章研究了不同的NoC的(片上网络)为一个实际的多核SoC系统。普林斯顿精巧摄像系统。我们用了一个SoC设计的录制的实际通信系统来进行了一个详细的NoC的设计。我们完成了开发总线和不同尺寸的交叉门。我们采用了一个电信网仿真器OPNET,为我们的研究和发展我们自己的仿真方法来设计NoC。对于一个精巧摄像系统而言,我们发现一个16位带有两个共享的存储器显示了85.7%的性能改进。相比于基于总线的模式。同时也有更少的最大网络吞吐量。
第二部分描述了相关的工作,第三部分,我们介绍了精致的摄像SoC那里我们用了例子。第四部分显示了一些模式我们在试验中用的。我们的仿真方法在第五部分被描述并且仿真结果和分析被显现在第六部分,第七部分我们得出了结论。第二部分描述了相关的工作,第三部分,我们介绍了精致的摄像SoC那里我们用了例子。第四部分显示了一些模式我们在试验中用的。我们的仿真方法在第五部分被描述并且仿真结果和分析被显现在第六部分,第七部分我们得出了结论。
相关工作 • 一个关键问题对于SoC设计来说是克服片上通讯结构的设计困难。人们给出了一些片上网络的调查研究。一些片上通讯结构是建立在总线之上的。例如,IBM公司的CoreConnect和ARM公司的AMVA。其它的还有微网络来自于Sonics公司的。其它的片上通信结构主要是由多处理器网络计算机网络和电信网之上的
精巧的摄像SoC • 我们相信片上通信结构的研究应该是基于真正的SoC设计之上的。这个设计应该有多IP核,它们为了达到高性能所以离得很近。我们选择了精巧的摄像系统为我们的研究。因为它是一个多核并且相对大和复杂的SoC。由于我们产生了路径从这个设计中。
这个普林斯顿精巧的摄像系统是一个高性能的视频处理应用系统,它可以每秒处理150个框架。为了达到这种高性能传输我们用了双道计算结构。如图一所示,每个框架可以通过五个过程来处理。分别处理P0,P2,p4和P1,P3,P5在两个管道里,P6为两个管道公用。基于工作量P0主要是处理第一个处理阶段。P2处理第二个处理阶段P4处理第三阶段和第四阶段。P6处理第五阶段对于每个管道。在精致的摄像系统。两个控制函数被采用。首先是一个处理控制函数来决定一个处理器是否应该处理一个新的框架。取决于它自身的状态和前一个阶段。这个普林斯顿精巧的摄像系统是一个高性能的视频处理应用系统,它可以每秒处理150个框架。为了达到这种高性能传输我们用了双道计算结构。如图一所示,每个框架可以通过五个过程来处理。分别处理P0,P2,p4和P1,P3,P5在两个管道里,P6为两个管道公用。基于工作量P0主要是处理第一个处理阶段。P2处理第二个处理阶段P4处理第三阶段和第四阶段。P6处理第五阶段对于每个管道。在精致的摄像系统。两个控制函数被采用。首先是一个处理控制函数来决定一个处理器是否应该处理一个新的框架。取决于它自身的状态和前一个阶段。
片上网络模型 • 使用一个共享的存储器给我们更多的灵活性比我们使用分配存储。对于双通道计算结构而言,一个共享的存储器对每个通道也是一个好的选择。强制函数使用了同样优先的目录在所有的模式里。出入有最高优先级。从第一到第五个处理阶段每一个都有一个更低的优先级。对于同一个阶段在不同管道而言,第一管道的有更高的优先级。
基于总线的模式 • 我们使用了两个基于总线的模式,处理器控制模式和强制控制模式.在处理控制模式下,一个总线强制器处理强制函数。处理器和输入处理过程控制函数。如图二。处理器和输入被连在了总线总线强制器上通过相互链接。这样形成了一个明星网络。交互连接器被用来传送申请和接收来自于总线强制器的。总线包括一个32位的数据总线一个21位地址总线和一个2位的控制总线。在存储器中有两个字节来记录每个处理阶段的状态和输入。
一个转换使用了包来实现进程间,输入,输出,和存储器的通信。数据,地址和控制信息被封装在一个数据包里。有四种类型的数据包:写包,读数据包,转换响应包,和读响应包。一个写包有3位控制和21位地址和32位数据。一个读报包括3位控制21位地址。在一个读响应包只有32位数据为一个读操作。在3位的控制信息里,一位是用于发出申请信号,一位是存储器控制信息来显示这个包是用于读还是写操作。并且另一位是申请位来显示是否一个处理阶段将被完成在申请之后。在一个转换响应包里,这里只有一位信息来告诉一个处理器或者是输入切换器传送他的包在当前时钟循环下。一个转换使用了包来实现进程间,输入,输出,和存储器的通信。数据,地址和控制信息被封装在一个数据包里。有四种类型的数据包:写包,读数据包,转换响应包,和读响应包。一个写包有3位控制和21位地址和32位数据。一个读报包括3位控制21位地址。在一个读响应包只有32位数据为一个读操作。在3位的控制信息里,一位是用于发出申请信号,一位是存储器控制信息来显示这个包是用于读还是写操作。并且另一位是申请位来显示是否一个处理阶段将被完成在申请之后。在一个转换响应包里,这里只有一位信息来告诉一个处理器或者是输入切换器传送他的包在当前时钟循环下。
我们也建立了基于转换的模型使用了两个共享的存储器。为了使用两个共享的存储器。10*10的交叉开关被一个11*11交叉开关代替。在图3中,进程0,2,4,6共享存储0,而且1,3,5共享存储器1。这个输入传输图像去存储器1,如果仅仅若是存储器0有一个未被处理的框架。我们也建立了一个基于切换模式使用了一个3*3的交叉开关并且一个输入队列。这个队列大小是550位当使用一个存储器和605位当使用两个共享的存储器。我们也建立了基于转换的模型使用了两个共享的存储器。为了使用两个共享的存储器。10*10的交叉开关被一个11*11交叉开关代替。在图3中,进程0,2,4,6共享存储0,而且1,3,5共享存储器1。这个输入传输图像去存储器1,如果仅仅若是存储器0有一个未被处理的框架。我们也建立了一个基于切换模式使用了一个3*3的交叉开关并且一个输入队列。这个队列大小是550位当使用一个存储器和605位当使用两个共享的存储器。
仿真环境和方法 • 我们采用了OPNET为片上通信结构仿真。OPENT是一个成熟的电信系统仿真环境。并且,我们发现它可以被使用来仿真片上系统用一些适配器。OPENT有一些优点对于片上通信分析。首先,它仿真很多的现象在通信系统里。其次,它有很快的仿真的速度。速度对于片上通信结构是非常重要的。可以被仿真到百万个时钟周期来达到应用水平结果。第三,它是一个基于包的仿真器。这个特性是特别的有用对于我们的研究因为我们正在仿真包切换。
因为片上网络不能和计算结构共同仿真在OPNET上。所以我们记录了一个实际的通信路径。我们记录了每一个通信路径阶段和每一个框架。这么说,我们假设一个理想的片上网络。一个处理阶段仅仅作用于其它的阶段在开始或者是一个框架的结尾。但是不在一个框架的过程中。每个处理器和视频输入有他们自己的路径。一个路径已经整体去记录一个网络路径对于每个框架因为片上网络不能和计算结构共同仿真在OPNET上。所以我们记录了一个实际的通信路径。我们记录了每一个通信路径阶段和每一个框架。这么说,我们假设一个理想的片上网络。一个处理阶段仅仅作用于其它的阶段在开始或者是一个框架的结尾。但是不在一个框架的过程中。每个处理器和视频输入有他们自己的路径。一个路径已经整体去记录一个网络路径对于每个框架
电路模型 • 我们设计了一些电路模型来确定时间约束。一个NoC包括两个类型的电路:逻辑电路和互联电路。总线仲裁器和转换控制单元是逻辑电路。总线和点对点互联在交换中的是互联电路。其它互联在仲裁器和处理器之间和视频输入。一个互联电路包括一个输入驱动,一个金属线和一个输出驱动。这个输入驱动通常是一系列的转换器。传送门将被用于链接输入驱动到一个金属线。如果多输入驱动被使用了。总线和点对点交互都有多输入缓存。
仿真结果分析 • 我们仿真了每个模型在OPNET中,使用了记录通信路径3*108 个时钟周期。我们假设了片上通信结构是同步的并且运行在和处理器相同的速度之下。这是一个优化的假设对于一个总线。当一个切换可以被轻松的对这个假设进行仿真。对于转换器,点对点的交互器更短更小比起总线交互链接。而且它可以运行在和处理器相同的速度之下。
系统性能 • 这个仿真结果在表2中表明仲裁控制模型处理了56个框架。当处理器控制模型小狐狸了仅仅49个框架。有12.5%的性能降低。虽然使用了同样的总线。在处理器控制系统里,处理器和输入需要去通信和存储器来处理处理控制函数,并且那些控制通信减少了数据通信的总线吞吐量。
如果共享的存储器的数目是相同的,那么转换模型带有更宽的端口的有更高的系统性能,更高的最大吞吐量和更高的平均吞吐量。和更低的传送时钟周期。除了5位和8位的10*10交叉开关之外。所有的模型使用了交叉开关的有更高的性能比那些使用总线的。高效的吞吐量和低潜能使得基于转换模型有更工的性能比起基于总线的模型的。如果共享的存储器的数目是相同的,那么转换模型带有更宽的端口的有更高的系统性能,更高的最大吞吐量和更高的平均吞吐量。和更低的传送时钟周期。除了5位和8位的10*10交叉开关之外。所有的模型使用了交叉开关的有更高的性能比那些使用总线的。高效的吞吐量和低潜能使得基于转换模型有更工的性能比起基于总线的模型的。
在所有的模型中我们看到了有最大吞吐量的是一个围绕55位每时钟周期的,3*3交叉开关带有两个共享存储器的有最高的系统性能和最低的最大吞吐量。3*3交叉开关模型带一个存储器的有同样的性能正如仲裁控制模型。而5位的10*10交叉开关模型带一个共享存储器的有最低的性能在所有的模型中我们看到了有最大吞吐量的是一个围绕55位每时钟周期的,3*3交叉开关带有两个共享存储器的有最高的系统性能和最低的最大吞吐量。3*3交叉开关模型带一个存储器的有同样的性能正如仲裁控制模型。而5位的10*10交叉开关模型带一个共享存储器的有最低的性能
结论 • 我们的研究显示:NoC是一个性能瓶颈在我们的例子中。它也可能被用在其它的类似通信结构的设计中。使用小巧的摄像SoC作为一个例子的研究。这个研究开发了总线和交叉开关带有不同的大小和不同的端口宽度和不同数目的共享存储器。更大的交叉开关有更高的平均吞吐量和更高的系统性能。高的平均吞吐量通常连着好的最大吞吐量和高的系统系统。但是带有低的网络利用率。
我们的研究显示:NoC是一个性能瓶颈在我们的例子中。它也可能被用在其它的类似通信结构的设计中。使用小巧的摄像SoC作为一个例子的研究。这个研究开发了总线和交叉开关带有不同的大小和不同的端口宽度和不同数目的共享存储器。更大的交叉开关有更高的平均吞吐量和更高的系统性能。高的平均吞吐量通常连着好的最大吞吐量和高的系统系统。但是带有低的网络利用率。我们的研究显示:NoC是一个性能瓶颈在我们的例子中。它也可能被用在其它的类似通信结构的设计中。使用小巧的摄像SoC作为一个例子的研究。这个研究开发了总线和交叉开关带有不同的大小和不同的端口宽度和不同数目的共享存储器。更大的交叉开关有更高的平均吞吐量和更高的系统性能我们的研究显示:NoC是一个性能瓶颈在我们的例子中。它也可能被用在其它的类似通信结构的设计中。使用小巧的摄像SoC作为一个例子的研究。这个研究开发了总线和交叉开关带有不同的大小和不同的端口宽度和不同数目的共享存储器。更大的交叉开关有更高的平均吞吐量和更高的系统性能。高的平均吞吐量通常连着好的最大吞吐量和高的系统系统。但是带有低的网络利用率。我们的研究显示:NoC是一个性能瓶颈在我们的例子中。它也可能被用在其它的类似通信结构的设计中。使用小巧的摄像SoC作为一个例子的研究。这个研究开发了总线和交叉开关带有不同的大小和不同的端口宽度和不同数目的共享存储器。更大的交叉开关有更高的平均吞吐量和更高的系统性能