【《分布存储架构的硬件实现案例》2000字】_第1页
【《分布存储架构的硬件实现案例》2000字】_第2页
【《分布存储架构的硬件实现案例》2000字】_第3页
【《分布存储架构的硬件实现案例》2000字】_第4页
【《分布存储架构的硬件实现案例》2000字】_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

分布存储架构的硬件实现案例目录TOC\o"1-3"\h\u12080分布存储架构的硬件实现案例 1317001.1输入特征图数据缓存的设计 1186401.2权重缓存设计 334801.3临时缓存设计 5119601.4输出特征图数据缓存设计 6在整个卷积神经网络系统中分布式存储按照功能可以分为四部分缓存:输入特征图数据缓存、权重缓存、临时数据缓存以及输出特征图数据缓存。设计输入特征图数据缓存和输出特征图数据缓存是因为DDR是半双工的,无法实时对DDR进行读写操作,由于本文采用的是N个输入特征图通道和M个输出特征图通道并行计算,因此在输入缓存中设置了N个输入特征图数据缓存,在输出通道设置了M个输出特征图缓存,以便实时读写DDR中的数据,达到网络高速运行;在权值缓存设计中,本文的权重数据与图像数据分布存储在PS端DDR以及PL端DDR中,读写PS端口的DDR数据需使用AXI-HP高速接口,本文在设计接口短接,为了保证权重数据能够实时提供,设置了权重缓存;临时缓存模块的数量与输出通道特征图个数一致,为M个临时缓存。1.1输入特征图数据缓存的设计进行卷积运算时,输入图像应按顺序处理,故将输入特征图数据缓存设计成FIFO,由于片外存储基本为DDR系列,DDR读取数据采用的是猝发模式,设片外DDR的位宽为Xb(基本为32、64、128),在进行读取DDR时,在核心频率为f,预读取个数为P,即一个时钟周期读取的位数为Xb×P,在输入特征图通道设置了N个输入缓存,为了不浪费DDR的带宽,设计的缓存FIFO为输入位宽和输出位宽不同,输入为Xb×P图1.1输入缓存依次写入结构图在卷积层的输入通道个数小于N时,卷积过程不需要循环,卷积结果需要马上写出DDR到,此时如果输入特征通道小于N会导致ni为1,采用图1.1所示模型卷积对带宽的需求变为下式1. Q总=(M此时系统的带宽的需求较高,此时输入特征特征图的通道小于N,设输入3通道数据时,读取DDR数据的利用率只有3/N,会浪费读取的数据,浪费带宽,因此本文为了不浪费系统的带宽,在轮流输入到输入缓存中进行了指令控制,结构变为如图1.2,指令中用五位数据(最大32输入通道)进行表示输入特征图通道的个数,该方法将3输入通道数据的带宽需求变为下式1.2,此方法提高了带宽的利用率,减少带宽对系统性能的影响。图1.2控制器控制输入缓存结构图 Q总=MN模块的仿真图如图1.3所示,图中采用的是输入特征图通道N为8,卷积层输入通道为3时的仿真,数据根据指令控制依次轮流写入设计的前3个FIFO中。图1.3输入缓存仿真图1.2权重缓存设计权重缓存主要是为卷积操作以及偏置准备权重数据,本文在权重的存储采用的是PS端DDR数据,图像数据和权重分开存储,采用PS端的DDR存储数据,读取数据时需要通过ARM核,本文通过四个AXI-HP高速接口读取权重数据,其中系统的模块图如图1.4。图1.4AXI-HP的模块图权重数据是利用了片上PS端的DDR,其中通讯采用的是高速AXI-HP接口,在片内设置四个FIFO缓存进行缓存数据,由于并行度为N个输入特征图通道,K×K大小的卷积核,以及M个输出特征图通道,在一层卷积完成时需要更换N×K×K×M个16位数权重数据,在卷积层换层时,瞬间的带宽需求很高,本文采用寄存器进行缓存数据,如图1.5所示将权重数据缓存到寄存器中等卷积完成一起传递给卷积层,然后开始准备下次的权重。图1.5权重预准备结构图权重模块的仿真如图1.6,图中仿真采用的卷积核大小为3×3,模块在换层卷积后,进行多个时钟周期进行数据的缓存,将数据保存到寄存器中,等待下次卷积换层的请求,一个周期进行N×K×K×M个16位权重数据的更换,随后该模块准备下批次权重数据。图1.6权重缓存仿真图1.3临时缓存设计临时缓存也是被设计成FIFO,系统中设置了M个输出特征通道临时缓存模块,主要是进行卷积数据临时缓存,等后续卷积结果进行累加操作,减少对DDR的读取,临时缓存仿真如图1.7,图中仿真图是输出特征图通道为16时,随着最后一批次卷积完成,临时缓存数据与本批次卷积结果累加后将结果输出给激活函数模块。图1.7临时缓存仿真图1.4输出特征图数据缓存设计输出特征图数据缓存主要是进行缓存M个输出特征图通道的数据,输出缓存对与输入缓存是一个相反的过程,卷积结果输出位宽为16位,但是DDR一次读写的位宽为Xb×P,因此设置的M个输出缓存FIFO写数据位宽为16位,读数据位宽位Xb×P,由于输出为M个通道,为了保持与输入读取数据一致,输出也是采用M个输出依次轮流输出,如图图1.8控制器控制输入缓存结构图模块仿真如图1.9所示,图中设置输出通道数为16,依次从0-15个缓存中输出数据到DDR中,如图所示

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论