好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

可动态重构的多级并行单指令多数据阵列处理系统的制作方法.docx

9页
  • 卖家[上传人]:ting****789
  • 文档编号:309536946
  • 上传时间:2022-06-13
  • 文档格式:DOCX
  • 文档大小:30.20KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 可动态重构的多级并行单指令多数据阵列处理系统的制作方法专利名称:可动态重构的多级并行单指令多数据阵列处理系统的制作方法技术领域:本发明涉及可编程视觉芯片、并行视觉图像处理器、人工神经网络等视觉图像处理技术领域,尤其涉及一种用于高速视觉图像特征提取和特征识别的、可动态重构为自组织映射神经网络的可动态重构的多级并行单指令多数据阵列处理系统背景技术:传统的视觉图像处理系统包括分立的摄像头和通用处理器(或数字信号处理器(DSP)),摄像头使用图像传感器获取图像,并在通用处理器或DSP中利用软件对图像进行处理由于在通用处理器或DSP中利用软件对图像进行处理往往是逐个像素串行进行的,存在串行处理的瓶颈,因此传统的视觉图像系统一般只能达到30帧/秒的速度,远远无法满足高速实时性需求,比如某些工业控制系统中经常要求1000帧/秒的速度而视觉芯片和并行视觉处理器的出现有效满足了高速实时处理的需求,其中视觉芯片是在单一芯片上同时集成有图像传感器和图像处理电路的新型片上视觉系统在可编程视觉芯片和高速并行视觉处理器中,图像处理电路经常采用像素级并行图像处理体系架构,该架构是由相同处理单元组成的二维处理单元阵列,并且工作在单指令多数据模式下,使得低中级图像处理速度得到大幅提升,从而实现1000帧/秒以上的视觉图像特征提取速度。

      但是,这种单一的像素级并行处理体系架构存在严重不足,主要表现在I)该像素级并行图像处理体系架构中的像素级并行图像处理单元排列成二维阵列,可实现全像素并行的局域处理,但无法实现快速灵活的广域处理;2)该像素级并行图像处理体系架构支持低级图像处理和部分中级图像处理,因而能实现1000帧/秒的图像特征提取,但缺乏高级图像处理功能,尤其缺乏类似人类脑神经的简单直观的快速特征识别能力,因此仍须借助外部通用处理器才能组成完整的视觉图像系统,而这又会再次引入串行处理瓶颈,完全掩盖了像素级并行处理架构在低中级图像处理中获得的高速实时性,使得视觉图像处理整体过程(包括图像特征提取和图像特征识别)仍无法满足1000帧/秒的高速实时要求发明内容(一 )要解决的技术问题针对以上现有像素级并行图像处理体系架构存在的问题,本发明提供了一种用于高速视觉图像特征提取和特征识别的、可动态重构为自组织映射(SelfOrganizing Map,SOM)神经网络的多级并行单指令多数据(Single Instruction Multiple Data, SIMD)阵列处理系统 二 )技术方案为达到上述目的,本发明提供了一种可动态重构的多级并行单指令多数据阵列处理系统,应用于高速片上视觉系统中的高速视觉图像特征提取和特征识别,包括可配置图像传感器接口 1,用于并行或串行接收来自图像传感器的像素数据,再以行并行的方式将该像素数据输出到后续的可重构并行图像处理单元及自组织映射阵列2 ;可重构并行图像处理单元及自组织映射阵列2,用于在图像处理的不同阶段被动态重构为MXM像素级并行的处理单元PE阵列或(M/4) X (M/4)自组织映射SOM神经网络,完成图像特征提取和图像特征识别,其中M为自然数;行处理器RP阵列5,用于辅助可重构并行图像处理单元及自组织映射阵列2完成各阶段图像处理任务中适于以行并行完成的部分,能够进行快速非线性处理和广域处理,并在系统外部控制下串行移入数据和输出处理结果;以及阵列控制器8,用于在系统外部驱动控制下,从系统内部变长-超长单指令多数据WS指令存储器中取出控制所述可重构并行图像处理单元及自组织映射阵列2和所述RP阵列5的控制指令,并连同其自身某些特殊寄存器的值,一起译码后输出到所述可重构并行图像处理单元及自组织映射阵列2和所述RP阵列5作为阵列控制信号。

      上述方案中,所述可重构并行图像处理单元及自组织映射阵列2包括MXM个细粒度并行图像处理单元PE3,这些PE单元以像素级并行方式工作在单指令多数据SMD模式下所述可重构并行图像处理单元及自组织映射阵列2中的每一块4X4 二维PE子阵列4能被重构为SOM神经网络的一个神经元所述4X4 二维PE子阵列4在被重构前,其中的每一个PE单元11都与其最邻近的4个PE单元连接并进行数据通信,带宽为I比特所述4X4 二维PE子阵列4边界上的PE单元与相邻的4X4 二维PE子阵列的PE单元连接并进行数据通信上述方案中,所述每个PE单元包含一个I比特算术逻辑单元ALU13,一个进位寄存器Cregl2和一个位宽I比特、深度W的本地存储器14,其中W为自然数,算术逻辑单元13的操作数来自自身所在PE单元或相邻PE单元的存储器,运算过程中产生的进位输出存储到所在PE单元的进位寄存器中,作为下一次运算的算术逻辑单元的进位输入,从而以“位串”的方式实现多比特运算上述方案中,所述4X4 二维PE子阵列4在被重构后成为SOM神经网络的一个神经元15,在该神经元15中各个PE单元之间的拓扑连接关系发生改变,每个PE单元代表所在重构后的神经元的一个“比特位切片(bit-slice) ”,即每个PE单元都向所在神经元的某个比特位贡献相应的运算资源和存储资源,因而可映射为神经元的某一比特位,此时PE单元只能与映射为邻近比特位的两个PE单元连接并进行数据交互,但带宽升为2比特,包括Ibit存储器数据交互和Ibit进位数据交互。

      上述方案中,所述每个作为“比特位切片”的PE单元中的进位输出不再存储到自身的进位寄存器中,而是直接作为重构后SOM神经元中相邻高位“比特位切片’TE单元中算术逻辑单元的进位输入,这样所有16个PE单元的算术逻辑单元就连接在一起形成了一个16比特算术逻辑单元,该16比特算术逻辑单元的最终进位输出被保存到该神经元的符号标志寄存器17中,并作为后续操作的进位输入或条件操作标志其中,每个SOM神经元都是由16个PE单元重构而成的,一个SOM神经元可以操作16bit数据,相当于位宽16bit,而每个PE单元位宽只有lbit因此I个SOM神经元相当于16个PE单元在逻辑上依次排列而成,每个PE单元相当于SOM神经元中特定的“ lbit”,因此某个PE单元的“相邻高位” PE单元,就是相对于SOM神经元中该PE单元所在bit的相邻下一个“较高bit位”所在的PE单元上述方案中,该16比特算术逻辑单元的各比特操作数同时来自于所有PE单元16的存储器,因此该神经元15相当于拥有一个位宽16比特、深度W的本地存储器20,并且PE单元16的存储器数据通信功能可等效为神经元15的数据移位功能所述由4X4 二维PE子阵列4重构得到的该神经元15能够与左右两侧的神经元进行数据通信,通信带宽为I比特,该神经元15的等效视图包含一个16比特ALU18、一个移位控制单元19、一个位宽16比特深度W的第二本地存储器20以及多个附加的标志寄存器,如Sflag寄存器等。

      上述方案中,所述PE单元的具体电路结构包括一个I比特ALU单元23,一个第一操作数选择器26、一个第二操作数选择器25、一个深度W位宽I比特的本地双端口存储器28、一个条件选择器29、一个进位寄存器22、一个临时寄存器24,以及多个与重构有关的二输入多路选择器,这些与重构有关的二输入多路选择器的两个输入端分别被标记为PE和S0M,表示可实现与重构相关的数据选择功能 上述方案中,为了重构实现自组织映射神经网络,每个4X 4 二维PE子阵列4中的各PE单元还共享一个额外的标志寄存器文件31,该标志寄存器文件31由4个I比特标志寄存器构成,分别为重构标志寄存器Rflag32、获胜标志寄存器Wflag33、符号标志寄存器Sflag34和溢出标志寄存器0Vflag35,该标志寄存器文件31的标志输出到PE单元作为某些选择控制信号,而其本身的值能够被某些PE单元的输出和/或外部控制信号所更新上述方案中,所述重构标志寄存器Rf lag32通过控制重构多路选择器改变PE单元之间的拓扑连接关系来实现动态重构,当Rflag为0时,各重构多路选择器选择“PE”端的输入数据,此时整个阵列工作在像素级并行处理器模式下,而当Rflag为I时,各重构多路选择器选择“S0M”端的输入数据,此时整个阵列工作在二维SOM神经网络模式下。

      上述方案中,所述获胜标志寄存器Wf lag33、符号标志寄存器Sflag34和溢出标志寄存器0Vflag35只有在二维SOM神经网络模式下才能起作用上述方案中,所述PE单元和标志寄存器文件31的控制信号来自于阵列控制器中的指令存储器和某些特殊寄存器的组合输出译码上述方案中,所述PE单元的数据输入输出依赖于其所在SOM神经元比特位切片的不同比特位置索引k而有所不同,具体体现在在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k = 15,算术高位应接本PE单元自身的输出,而逻辑高位应接其所在神经元的西侧神经元最低有效位(LSB)输出,而对于其它k值,算术高位和逻辑高位均接向所在神经元的相邻高比特位切片PE的输出;在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k = 0,逻辑低位应接其所在神经元的东侧神经元最高有效位(MSB)输出,而对于其它k值,逻辑高位均接向所在神经元的相邻低比特位切片PE的输出;在第二操作数选择器所连接的重构相关的二输入多路选择器27中,若k小于12,则其SOM端的输入数据为OVf lag,否则为0 ;对于k = 12,其ALU的结果可用于更新OVflag的值,而对于其它k值则不能;对于k= 15,其ALU输出进位可用于更新Sflag的值,而对于其它k值,ALU进位输出均作为所在神经元的相邻高比特位切片PE单元在SOM模式下的ALU进位输入;对于k = 0,其SOM模式下的ALU进位输入为Sf lag,而对于其它k值,该进位输入为所在神经元的相邻低比特位切片PE单元ALU的进位输出。

      上述方案中,所述PE单元根据重构标志寄存器Rflag32的不同值,使整个可重构并行图像处理单元及自组织映射阵列2工作在像素级并行处理器模式(等效视图见图4a)或二维SOM神经网络模式(等效视图见图4b)上述方案中,所述可重构并行图像处理单元及自组织映射阵列2工作在像素级并行处理器模式下时,每个PE单元接收相同的控制指令,但处理本地I比特位宽存储器40中的不同数据,PE单元可在单个时钟周期中基于“读取数据-操作数据-写回数据(read-modify-write) ”的存储器访问方式完成基本的I比特求和、求反、求与、求或算术逻辑操作,低中级图像处理中的定点多比特算术逻辑运算正是通过分解为上述基本I比特运算在像素级并行处理PE单元的I比特-ALU 37上快速实现的,运算过程中的进位存储在Creg寄存器38中,若运算所需的两个操作数均来自与本地存储器,则需要在每一比特数据进行运算之前将其中一个复制到临时寄存器Treg39之中,以便使其作为ALU的第二操作数参与运算;PE单元的数据可与其东、南、西、北的相邻的PE单元以I比特带宽进行通信,通过多次的邻近处理单元数据通信,阵列中的任意两个PE单元之间可以传递任意比特的数据;在像素级并行处理模式下,所有PE单元功能都是完全一致的,与比特位切片索引k无关,且相关标志寄存器文件31不起作用。

      上述方案中,所述可重构并行图像处理单元及自组织映射阵列2工作在二维SOM神经网络模式下时,每个神经元内部存储的参考向量和外部输入向量包括8比特整数部分和4比特小数部分,均为无符号定点数,当参考向量存储在16比特位宽的存储器中41时,高位多出的部分被置为0,为了不使运算中间结果溢出,所支持的最高向量维数为16 ;输入向量由系统外部按分量顺序依次给出,每个分量都同时广播到所有的神经元上述方案中,假设每个神经元通过某种方式已经获得了参考向量并存储在16比特位宽的存储器41中,对于在SOM神经网络训练和识别过程中共有的神经元获胜判断阶段,首先每个神经元同时计算输入向量和自身参考向量之间的街区距离,即这两个向量每个对应分量之间绝对差值之和(SAD),计算绝对差值可利用ALU的按。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.