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

文档序号:6383162阅读:421来源:国知局
专利名称:可动态重构的多级并行单指令多数据阵列处理系统的制作方法
技术领域
本发明涉及可编程视觉芯片、并行视觉图像处理器、人工神经网络等视觉图像处理技术领域,尤其涉及一种用于高速视觉图像特征提取和特征识别的、可动态重构为自组织映射神经网络的可动态重构的多级并行单指令多数据阵列处理系统。
背景技术
传统的视觉图像处理系统包括分立的摄像头和通用处理器(或数字信号处理器(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的按位取反、求和功能并配合Sflag标志寄存器的操作来实现;每个分量的绝对差值计算完成之后再累加就得到了最终的距离,这是一个16比特无符号定点数;之后将每个神经元计算得到的距离以行并行方式输入RP阵列进行大小比较,最终提取出参考向量和输入向量距离最小的神经元所在的坐标用于最终分类判断或参考向量调整;对于仅存在于训练过程中的参考向量调整阶段,首先系统外部处理器根据获胜神经元坐标和当前训练邻域半径,将处于获胜邻域内所有神经元的Wflag标志寄存器置1,并将所有神经元的Wflag作为后续操作的执行条件,该执行条件即为存储器写使能信号,这样只有处于获胜邻域内的神经元才能更新参考向量;更新时,对每个参考向量的分量,根据本次分类的结果正确与否,面向或背向输入向量方向进行调整,调整的大小与输入向量和参考向量在该分量上的差成正比,比例系数限制为2的负整数次幂,以利于通过硬件移位快速实现所需乘法操作,而硬件移位是通过映射为神经元相邻比特位的PE单元的重构后拓扑连接关系来完成的;参考向量调整过程涉及到的加法和减法操作是利用ALU42的按位取反、求和功能并配合Sflag标志寄存器来实现;调整后的参考向量若不处于O 256之间,需要截断归一化操作,该截断归一化操作是将所有负数强制置为为O,而所有大于等于256的数强制置为(256-1/16),这样才能保证下一轮获胜判断阶段的SAD求和结果不会超过16比特,截断归一化操作需要Sflag和OVflag标志寄存器的配合。上述方案中,所述RP阵列5用于实现灰度形态学操作,图像特征提取,以及配合重构后的SOM神经元阵列提取获胜神经元坐标,包括一个8比特-ALU46、一个8比特缓冲移位寄存器43、两个操作数选择器(44-45)、一个基于二输入与门的条件生成器47、以及一个深度为V位宽为8比特的通用寄存器文件48。上述方案中,在该RP阵列5中,每个行并行的行处理器RP单元10用于完成8比特的算术操作,包括加法、减法、求绝对值、算术/逻辑移位、以及比较大小,大于8比特的数据操作能够被分解为若干个小于或等于8比特的操作以“字节串行”方式完成;RP单元支持条件操作,条件标志来自于上一次ALU46的计算结果标志,并作为寄存器文件48的写使能信号。上述方案中,在该RP阵列5中,每个RP单元均能够与其上下方的RP单元进行数据交互,其中有些RP单元还能够与其上下方相隔S行的行RP单元进行数据交互,这些RP单元构成RP跳跃链,以快速完成广域处理功能。上述方案中,每个RP中的8比特缓冲移位寄存器43串联起来能够实现十字移位,该十字移位是垂直方向的字并行移位和水平方向的比特串行移位,从而与PE阵列和系统外部交互实现数据的输入输出。(三)有益效果从上述技术方案可以看出,本发明具有以下有益效果1、本发明提供的这种可动态重构的多级并行单指令多数据阵列处理系统,以像素级并行图像处理单元阵列为核心,同时具备局域处理和广域处理功能,支持灵活快速的低、中级图像处理以实现图像特征提取;该系统还能以极小的性能和面积开销动态重构为二维SOM神经网络,该神经网络支持高速并行在线训练和特征识别等高级图像处理功能。对于大多数典型视觉图像处理应用,使用该系统完成包括图像特征提取和特征识别在内的完整视觉图像处理过程的速度可以超过1000帧/秒。2、本发明提供的这种可动态重构的多级并行单指令多数据阵列处理系统,重构后的SOM神经网络支持高速并行在线训练和特征识别等高级图像处理功能,首次实现了高级处理所消耗的时间接近低、中级处理,为低成本、单芯片的视觉芯片和视觉处理器实现完整、高速的视觉图像处理过程提供了解决方案;3、本发明提供的这种可动态重构的多级并行单指令多数据阵列处理系统,具有高速度、高集成、低功耗、低成本、可重构的优势,可应用于多种嵌入式高速实时视觉图像处理系统,实现包括高速目标追踪、自然人机交互、环境监控、智能交通、机器人视觉等在内的各种高速智能视觉图像应用。4、本发明提供的这种可动态重构的多级并行单指令多数据阵列处理系统,PE阵列还能以极小的性能和面积开销,动态重构为二维SOM神经网络,该神经网络可以在RP的配合下实现高速并行在线训练和特征识别等高级图像处理功能,彻底克服了在现有可编程视觉芯片和并行视觉处理器中像素级并行处理阵列无法实现高级图像处理的缺陷,促进了功能完整的低成本、低功耗、智能便携式高速实时片上视觉图像系统的实现。


图1是依照本发明实施例的可动态重构的多级并行单指令多数据阵列处理系统的示意图。图2是本发明实施例中4X4PE子阵列重构前后的拓扑连接示意图。图3是本发明实施例中PE单元的结构示意图。图4a是本发明实施例中像素级并行模式下的PE单元等效电路视图。图4b是本发明实施例中SOM模式下的神经元(4X4PE子阵列)等效电路视图。图5是本发明实施例中行处理器RP结构的示意图。图6是本发明实施例中基于可重构PE/S0M阵列系统的高速智能视觉芯片体系架构的示意图。图7是本发明实施例中视觉芯片上IOOOfps高速手势追踪及识别算法的流程图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。在附图中,未绘示或描述的元件或实现方式,为所属技术领域中普通技术人员所知的形式。另夕卜,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。在本发明的一个示例性实施例中,提供了一种可动态重构的多级并行单指令多数据阵列处理系统。如图1所示,该可动态重构的多级并行单指令多数据阵列处理系统支持像素级并行处理单元阵列动态重构为自组织映射SOM神经网络,从而能够应用于高速片上视觉系统中高速视觉图像特征提取和特征识别,该架构包括可配置图像传感器接口1、可重构PE/S0M阵列2、行并行的行处理器(Row Processor, RP)阵列5和阵列控制器8。在图1所示的实施例中,可配置图像传感器接口 I用于并行或串行接收来自图像传感器的像素数据,再以行并行的方式输出到后续多级并行处理模块进行处理。该接口可通过参数配置灵活实现对原始图像数据流的区域选择和亚采样。可重构PE/S0M阵列2用于在图像处理的不同阶段动态重构为MXM像素级并行的处理单元(Processing Element, PE)阵列或(M/4) X (M/4)自组织映射(SOM)神经网络,前者可完成低、中级图像处理(图像特征提取),而后者可完成高级图像处理(图像特征识别)。行并行的RP阵列5用于辅助配合可重构PE/S0M阵列完成各阶段图像处理任务中适于以行并行完成的部分,具有快速非线性处理和广域处理功能,该阵列还可与系统外部进行数据交互。阵列控制器8用于在系统外部驱动控制下,从系统内部变长-超长单指令多数据(Variable VLIff-SIMD, VVS)指令存储器中取出控制所述可重构PE/S0M阵列2和所述行并行的RP阵列5的控制指令,并连同该控制器中的某些特殊寄存器的值,一起译码后输出到所述可重构PE/S0M阵列2和所述行并行的RP阵列5作为阵列控制信号;这些指令可以是32bit的PE/SOM阵列或RP阵列单独工作的指令序列,也可以是64bit的PE/S0M阵列和RP阵列协同工作的超长指令字(Very Long Instruction Word, VLIff)序列,其类型可以在程序执行过程中动态切换以满足各种算法需求。在图1所示的实施例中,所述可重构PE/S0M阵列2包括MXM个细粒度处理单元(PE) 3,这些PE单元以像素级并行方式工作在单指令多数据(SMD)模式下,也可以动态重构为(M/4) X (M/4)的自组织映射(SOM)人工神经网络。所述可重构PE/S0M阵列2中的每一块4X4 二维PE子阵列4可重构为SOM神经网络的一个神经元,重构后邻近PE单元的拓扑连接关系由图1中的实线双向箭头变为虚线双向箭头所示。如图2所示,所述重构前的4X4PE子阵列10中,每一个PE单元11都和其最邻近的4个PE单元连接(子阵列边界上的PE单元与相邻子阵列的最近PE单元相连)进行数据通信,带宽为lbit。每个PE单元主要包含一个Ibit算术逻辑单元(ALU) 13,一个进位寄存器(Creg) 12和一个位宽lbit、深度W的本地存储器14,其中ALU的操作数来自自身所在PE单元或相邻PE单元的存储器,运算过程中产生的进位输出存储到所在PE单元的进位寄存器中,作为下一次运算的ALU进位输入,从而以“位串”的方式实现多比特运算。所述基于4X4PE子阵列重构后的SOM神经元15中,各个PE单元16之间的拓扑连接关系发生改变,每个PE单元代表所在重构后的神经元的一个“比特位切片(bit-slice) ”,即每个PE单元都向所在神经元的某个比特位贡献相应的运算资源和存储资源,因而可映射为神经元的某一比特位,此时PE单元只能与映射为邻近比特位的两个PE单元连接(代表所在神经元最高bit和最低bit的PE单元与左右相邻神经元的相应PE单元连接)进行数据交互,但带宽升为2比特,包括Ibit存储器数据交互和Ibit进位数据交互,这种连接方式可以独立于ALU之外实现移位操作,从而实现快速乘除运算以及参考向量和识别结果载入/载出整个神经网络。另外,每个“比特位切片"PE单元中的进位输出也不再存储到所在PE单元的进位寄存器中,而是直接作为相邻“高位” PE单元中ALU的进位输入,这样所有16个PE单元的ALU就连接在一起形成了一个16bit ALU,该16bit ALU的最终进位输出被保存到该神经元的符号标志寄存器(Sflag) 17中,并作为后续步骤的进位输入或条件操作标志;由于该16bit的各bit操作数同时来自于所有PE单元的存储器,因此该神经元就相当于拥有一个位宽16bit、深度W的本地存储器;所述由4X4PE子阵列重构得到的整个SOM神经元可以等效为图2右下方的结构视图该神经元包含一个16bit ALU 18,一个移位控制单元19,一个位宽16bit、深度W的本地存储器20,以及少量标志寄存器(比如符号标志寄存器Sflag);该神经元可以和左右两侧的神经元进行数据通信,通信带宽仍为lbit。图2中,所述PE单元21的具体电路结构包括一个lbit ALU单元23,一个第一操作数选择器26,一个第二操作数选择器25,一个深度W、位宽Ibit的局部双端口存储器28,一个条件选择器29,一个进位寄存器(Creg) 22,一个临时寄存器(Treg) 24,以及多个与重构有关的二输入多路选择器,这些重构多路选择器的两个输入端分别被标记为“PE”和“S0M”,表示可实现与重构相关的数据选择功能,具体如图3PE单元中灰色部分(27、30等)所示。为了重构实现SOM神经网络功能,每个4X4PE子阵列还共享一个额外的标志寄存器文件31,该寄存器文件由4个Ibit标志寄存器构成,分别为重构标志(Rflag) 32、获胜标志(Wflag) 33,符号标志(Sflag) 34和溢出标志(OVflag) 35,该寄存器文件的标志输出到PE单元作为某些选择控制信号,而其本身的值也可被某些PE单元的输出和/或外部控制信号所更新;其中,Rflag通过控制重构多路选择器改变PE之间的拓扑连接关系来实现动态重构,当Rflag为O时,各重构多路选择器选择“PE”端的输入数据,此时整个阵列工作在像素级并行处理器模式下,而当Rflag为I时,各重构多路选择器选择“S0M”端的输入数据,此时整个阵列工作在二维SOM神经网络模式下,Wflag、Sflag和OVflag只有在SOM神经网络模式下才能起作用;PE单元和标志寄存器文件的控制信号(图3中的斜体字)来自于阵列控制器中的指令存储器和某些特殊寄存器的组合输出译码。由于PE单元中和重构有关的多路选择器所占的总面积只有整个PE的4%,因此重构的面积开销是很小的。其中,所述PE单元的数据输入输出依赖于其所在SOM神经元比特位切片的不同比特位置索引k而有所不同,具体体现在I)在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k = 15,算术高位应接本PE单元自身的输出,而逻辑高位应接其所在神经元的西侧神经元最低有效位(LSB)输出(如图2所示),而对于其它k值,算术高位和逻辑高位均接向所在神经元的相邻高bit位切片PE的输出;2)在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k = 0,逻辑低位应接其所在神经元的东侧神经元最高有效位(MSB)输出(如图2所示),而对于其它k值,逻辑高位均接向所在神经元的相邻低bit位切片PE的输出;3)在第二操作数选择器所连接的重构相关的二输入多路选择器27中,若k小于12,则其“S0M”端的输入数据为OVf lag,否则为O ;4)对于k = 12,其ALU的结果可用于更新OVflag的值,而对于其它k值则不能;5)对于k= 15,其ALU输出进位可用于更新Sflag的值,而对于其它k值,ALU进位输出均作为所在神经元的相邻高bit位切片PE单元在SOM模式下的ALU进位输入;6)对于k = 0,其SOM模式下的ALU进位输入为Sf lag,而对于其它k值,该进位输入为所在神经元的相邻低bit位切片PE单元ALU的进位输出。所述PE单元根据重构标志寄存器Rflag的不同值,可以使整个PE/S0M阵列工作在像素级并行处理器模式或二维SOM神经网络模式下,在这两种模式下的等效电路视图分别如图4a和图4b所示。其中,图4a是在像素级并行处理器模式下的单个PE单元的等效电路视图,此时的“等效”PE单元阵列工作在像素级并行的单指令多数据(SIMD)方式下,每个PE单元接收相同的控制指令,但处理本地Ibit位宽存储器40中的不同数据,PE单元可在单个时钟周期中基于read-modify-write的存储器访问方式完成基本的I比特求和、求反、求与、求或等算术逻辑操作,低中级图像处理中的定点多比特算术逻辑运算正是通过分解为上述基本I比特运算在像素级并行处理PE单元的Ibit-ALU 37上快速实现的,运算过程中的进位存储在Creg寄存器38中,若运算所需的两个操作数均来自与本地存储器,则需要在每一 bit数据进行运算之前将其中一个复制(可以通过将该bit数据和立即数I在IbitALU中相与来实现,此时ALU的第一操作数选择该bit数据,而第二操作数选择立即数1,ALU功能选择“相与”,同时存储器写使能置为0,而Treg写使能置为I)到临时寄存器(Treg) 39之中,以便使其作为ALU的第二操作数参与运算;PE单元的数据可与其东、南、西、北的相邻的PE单元以lbit带宽进行通信,通过多次的邻近处理单元数据通信,阵列中的任意两个PE单元之间可以传递任意bit的数据;在像素级并行处理模式下,所有PE单元功能都是完全一致的,与“比特位切片”索引k无关,且相关标志寄存器文件31不起作用。所述PE/S0M阵列在SOM神经网络模式下由4X4PE子阵列及相应的共享标志寄存器文件构成的SOM神经元的等效电路视图如图4b。该神经元的操作方式非常类似于重构前PE单元的操作,只不过运算和存储数据的位宽是16bit,同时需要更复杂的基于标志位的操作,典型情况下,每个神经元内部存储的参考向量和外部输入向量包括8bit整数部分和4bit小数部分,均为无符号定点数,当参考向量存储在16bit位宽的存储器中41时,高位多出的部分被置为0,为了不使运算中间结果溢出,规定所支持的最高向量维数为16。输入向量由系统外部按分量顺序依次给,每个分量都同时广播到所有的神经元。下面结合具体的SOM神经网络的训练和识别过程来详细说明该神经元的工作原理,假设每个神经元通过某种方式已经获得了参考向量并存储在16bit位宽的存储器41中,则对于在SOM神经网络训练和识别过程中共有的神经元获胜判断阶段,首先每个神经元同时计算输入向量和自身参考向量之间的街区距离,即这两个向量每个对应分量之间绝对差值之和(SAD),计算绝对差值可利用ALU的按位取反、求和功能并配合Sflag标志寄存器的操作来实现;每个分量的绝对差值计算完成之后再累加就得到了最终的距离,这是一个16比特无符号定点数;之后将每个神经元计算得到的距离以行并行方式输入RP阵列进行大小比较,最终提取出参考向量和输入向量距离最小的神经元所在的坐标用于最终分类判断或参考向量调整。对于仅存在于训练过程中的参考向量调整阶段,首先系统外部处理器根据获胜神经元坐标和当前训练邻域半径,将处于获胜邻域内所有神经元的Wflag标志寄存器置1,并将所有神经元的Wflag作为后续操作的执行条件,该执行条件即为存储器写使能信号,这样只有处于获胜邻域内的神经元才能更新参考向量;更新时,对每个参考向量的分量,根据本次分类的结果正确与否,面向或背向输入向量方向进行调整,调整的大小与输入向量和参考向量在该分量上的差成正比,比例系数限制为2的负整数次幂,以利于通过硬件移位快速实现所需乘法操作,而硬件移位是通过映射为神经元相邻比特位的PE单元的重构后拓扑连接关系来完成的;参考向量调整过程涉及到的加法和减法操作可利用ALU42的按位取反、求和功能并配合Sflag标志寄存器来实现;调整后的参考向量若不处于0 256之间,需要截断归一化操作即把所有负数强制置为为0,而所有大于等于256的数强制置为(256-1/16),这样才能保证下一轮获胜判断阶段的SAD求和结果不会超过16比特,截断归一化操作需要Sflag和OVflag标志寄存器的配合。所述RP行处理器的电路结构如图5所示,包括一个8比特ALU46、一个8比特缓冲移位寄存器43、两个操作数选择器44-45、一个基于二输入与门的条件生成器47、以及一个深度为V位宽为8比特的通用寄存器文件48。每个行并行的行处理器RP单元10用于完成8比特的算术操作,包括加法、减法、求绝对值、算术/逻辑移位、以及比较大小,大于8比特的数据操作可被分解为若干个小于/等于8比特的操作以“字节串行”方式完成;RP单元支持条件操作,条件标志来自于上一次ALU46的计算结果标志,并作为寄存器文件48的写使能信号。每个RP单元均能够与其上下方的RP单元进行数据交互,其中有些RP单元还能够与其上下方相隔S行的行RP单元进行数据交互,这些RP单元构成RP跳跃链,以快速完成广域处理功能。每个RP中的8比特缓冲移位寄存器43串联起来能够实现十字移位(即垂直方向的字并行移位和水平方向的比特串行移位),从而与PE阵列和系统外部交互实现数据的输入输出。RP阵列主要用于实现灰度形态学操作,图像特征提取,以及配合重构后的SOM神经元阵列提取获胜神经元坐标。下面进一步结合高速智能视觉芯片和IOOOfps高速手势追踪及识别对本发明提供的这种可动态重构的多级并行单指令 多数据阵列处理系统进一步详细说明。(一 )高速智能视觉芯片参照图1是所述的实施例,其中PE阵列大小为64X64(等效的,SOM神经元阵列大小为16 X 16),每个PE单元包含一个64 X Ibit (即W = 64)的本地存储器,RP阵列大小为64X1,每个RP处理器包含一个16X8bit的通用寄存器文件(即V = 16),阵列控制器中的VVS指令存储器容量为1024X64bit。图6是集成了本发明所述系统的高速智能视觉芯片,它除了包含图1所示的可重构PE/S0M阵列、RP阵列、图像传感器接口和VVS阵列控制器外,还有相应的CMOS图像传感器(包括256X256大小的4管像素单元阵列、256 X I高速并行模数转换器(ADC)阵列、图像传感器控制器)、嵌入式双核系统(包括双RISC核以及相应的数据存储器和RISC程序存储器)以及定时器/随机数发生器(用于双核RISC进程监控、进程切换以及随机初始化SOM神经元参考向量)。该视觉芯片能满足绝大多数高速智能视觉图像处理应用的图像分辨率和性能要求。在本实施例中,高速CMOS图像传感器以低于80 μ s的帧间隔高速捕获图像数据,并转化为8bit或IObit数字信号后以行并行方式输入到PE阵列,然后在PE阵列和RP阵列中以全像素并行和行并行方式快速完成低、中级处理提取图像特征,之后PE阵列重构为SOM神经网络,以矢量并行方式处理所获得的特征向量(学习和识别),最后将计算结果输入到双核处理系统进一步处理后以得到最终的识别结果。双核处理系统工作在线程级并行方式下,主要用于特征识别以外的高级处理、反馈调整图像传感器参数、以及协调控制全系统各部分同步工作。数字处理部分所消耗的时间,在IOOMHz的时钟频率下,对不同的应用,一般在20 μ s 800 μ s之间(其中SOM神经网络上的特征识别过程不超过15 μ s),因此整个系统可以工作在IOOOfps以上,对于某些较简单的应用甚至可以达到IOOOOfps以上。( _. ) IOOOfps闻速手势追踪及识别如图7所示,是基于本实施例视觉芯片的高速手势追踪及识别算法流程。本发明所提出的手势识别算法可实现四类手势的识别,主要用于基于自然人机交互的PPT手势控制系统。该手势识别算法中,手势追踪部分包括从背景更新到二值形态学修整这六步,可以在像素级并行PE阵列和行并行RP阵列上快速完成,其中二值形态学修整是指在PE阵列中利用二值形态学区域修整算法去除小的杂散区域和填补大块区域中小的孔洞,最后的大块完整区域就是待识别手势所在的区域。之后属于手势识别阶段,重构后的SOM神经网络必须经过充分的训练才能用于识别,训练时首先由RP阵列提取手势识别区域的归一化致密度特征,具体算法为将手势所在区域平均分为若干行和若干列,分别统计每一行和每一列激活像素(即二值图像中值为I的像素)的个数占该区域总面积的比值,这些比值组成一组向量,学习过程可以在SOM神经网络上高速在线完成(对于16维的特征向量,每轮训练不超过5ms)。学习完成之后就是识别过程,注意到待识别手势中的两种特殊情况(即没有待识另Ij区域的“空白”手势和只有一根指头的特殊鼠标移动手势),为了加快特征识别速度,算法采用了基于简单区域特征结合SOM神经网络的级联分类器,该分类器首先提取待识别区域的简单特征(比如激活像素总数、形状参数、顶点坐标等)在RISC核上尝试识别出上述特殊手势,若不成功再进一步提取较复杂的完整归一化致密度特征并利用SOM神经网络进行统一识别,最后输出识别出的手势类别代码以及手势顶点坐标(顶点坐标用于具体控制鼠标移动的位置和方向)。由于典型应用过程中的大部分时间都是所述两种特殊手势,因此整个处理速度可以得到很大提升,该系统的平均帧率可以达到1000帧以上。高帧率有利于进一步采用RISC核对识别结果进行基于软件的时域低通滤波,抑制环境噪声和手势抖动对识别结果造成的干扰。实际上,可以定义更多的手势类别以满足更加丰富的应用需求,并且不会增加识别过程所消耗的时间,这是由SOM神经网络运行的本质所决定的。更进一步的,该性质实际上决定了对不同的应用,其特征识别过程所消耗的时间只和特征向量的维数成正比。由于低、中级处理的时间一般较短,因此对于不同的应用,都能够很好地预测其最终的帧率,而不必事先知道具体的算法。综上所述,本发明提供的这种可动态重构的多级并行单指令多数据阵列处理系统,以像素级并行图像处理单元阵列为核心,同时具备局域处理和广域处理功能,支持灵活快速的低、中级图像处理以实现图像特征提取;该系统还能以极小的性能和面积开销动态重构为二维SOM神经网络,该神经网络支持高速并行在线训练和特征识别等高级图像处理功能。对于大多数典型视觉图像处理应用,使用该系统完成包括图像特征提取和特征识别在内的完整视觉图像处理过程的速度可以超过1000帧/秒。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种可动态重构的多级并行单指令多数据阵列处理系统,应用于高速片上视觉系统中的高速视觉图像特征提取和特征识别,其特征在于,包括可配置图像传感器接口(I),用于并行或串行接收来自图像传感器的像素数据,再以行并行的方式将该像素数据输出到后续的可重构并行图像处理单元及自组织映射阵列(2);可重构并行图像处理单元及自组织映射阵列(2),用于在图像处理的不同阶段动态被重构为MXM像素级并行的处理单元PE阵列或(M/4) X (M/4)自组织映射SOM神经网络,完成图像特征提取和图像特征识别,其中M为自然数;行处理器RP阵列(5),用于辅助可重构并行图像处理单元及自组织映射阵列(2)完成各阶段图像处理任务中适于以行并行完成的部分,能够进行快速非线性处理和广域处理, 并在系统外部控制下串行移入数据和输出处理结果;以及阵列控制器(8),用于在系统外部驱动控制下,从系统内部变长-超长单指令多数据 WS指令存储器中取出控制所述可重构并行图像处理单元及自组织映射阵列(2)和所述RP 阵列(5)的控制指令,并连同其自身某些特殊寄存器的值,一起译码后输出到所述可重构并行图像处理单元及自组织映射阵列(2)和所述RP阵列(5)作为阵列控制信号。
2.根据权利要求1所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述可重构并行图像处理单元及自组织映射阵列(2)包括MXM个细粒度并行图像处理单元PE (3),这些PE单元以像素级并行方式工作在单指令多数据SMD模式下。
3.根据权利要求2所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述可重构并行图像处理单元及自组织映射阵列(2)中的每一块4X4 二维PE子阵列(4)能被重构为SOM神经网络的一个神经元。
4.根据权利要求3所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述4X4 二维PE子阵列(4)在被重构前,其中的每一个PE单元(11)都与其最邻近的4个PE单元连接并进行数据通信,带宽为I比特。
5.根据权利要求4所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述4X4 二维PE子阵列⑷边界上的PE单元与相邻的4X4 二维PE子阵列的PE 单元连接并进行数据通信。
6.根据权利要求4或5所述的可动态重构的多级并行单指令多数据阵列处理系统, 其特征在于,所述每个PE单元包含一个I比特算术逻辑单元ALU(13),一个进位寄存器 Creg(12)和一个位宽I比特、深度W的本地存储器(14),其中W为自然数,算术逻辑单元 (13)的操作数来自自身所在PE单元或相邻PE单元的存储器,运算过程中产生的进位输出存储到所在PE单元的进位寄存器中,作为下一次运算的算术逻辑单元的进位输入,从而以 “位串”的方式实现多比特运算。
7.根据权利要求3所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述4X4 二维PE子阵列(4)在被重构后成为SOM神经网络的一个神经元(15),在该神经元(15)中各个PE单元之间的拓扑连接关系发生改变,每个PE单元代表所在重构后的神经元的一个“比特位切片(bit-slice)”,即每个PE单元都向所在神经元的某个比特位贡献相应的运算资源和存储资源,因而可映射为神经元的某一比特位,此时PE单元只能与映射为邻近比特位的两个PE单元连接并进行数据交互,但带宽升为2比特,包括Ibit存储器数据交互和Ibit进位数据交互。
8.根据权利要求7所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述每个作为“比特位切片”的PE单元中的进位输出不再存储到自身的进位寄存器中,而是直接作为重构后SOM神经元中相邻高位“比特位切片^PE单元中算术逻辑单元的进位输入,这样所有16个PE单元的算术逻辑单元就连接在一起形成了一个16比特算术逻辑单元,该16比特算术逻辑单元的最终进位输出被保存到该神经元的符号标志寄存器(17)中,并作为后续操作的进位输入或条件操作标志。
9.根据权利要求8所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,该16比特算术逻辑单元的各比特操作数同时来自于所有PE单元的存储器,因此该神经元(15)相当于拥有一个位宽16比特、深度W的本地存储器(20)。
10.根据权利要求9所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述由4X4 二维PE子阵列(4)重构得到的该神经元(15)能够与左右两侧的神经元进行数据通信,通信带宽为I比特,该神经元(15)包含一个16比特ALU(IS)、一个移位控制单元(19)、一个位宽16比特深度W的第二本地存储器(20)以及多个附加的标志寄存器。
11.根据权利要求1所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述PE单元的具体电路结构包括一个I比特ALU单元(23),—个第一操作数选择器(26)、一个第二操作数选择器(25)、一个深度W位宽I比特的本地双端口存储器(28)、一个条件选择器(29)、一个进位寄存器(22)、一个临时寄存器(24),以及多个与重构有关的二输入多路选择器,这些与重构有关的二输入多路选择器的两个输入端分别被标记为PE和S0M,表示可实现与重构相关的数据选择功能。
12.根据权利要求11所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,为了重构实现自组织映射神经网络,每个4X4 二维PE子阵列(4)中的各PE单元还共享一个额外的标志寄存器文件(31),该标志寄存器文件(31)由4个I比特标志寄存器构成,分别为重构标志寄存器Rflag(32)、获胜标志寄存器Wflag(33)、符号标志寄存器Sflag(34)和溢出标志寄存器0Vflag(35),该标志寄存器文件(31)的标志输出到PE单元作为某些选择控制信号,而其本身的值能够被某些PE单元的输出和/或外部控制信号所更新。
13.根据权利要求12所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述重构标志寄存器Rflag (32)通过控制重构多路选择器改变PE单元之间的拓扑连接关系来实现动态重构,当Rflag为O时,各重构多路选择器选择“PE”端的输入数据,此时整个阵列工作在像素级并行处理器模式下,而当Rflag为I时,各重构多路选择器选择“S0M”端的输入数据,此时整个阵列工作在二维SOM神经网络模式下。
14.根据权利要求12所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述获胜标志寄存器Wflag (33)、符号标志寄存器Sflag (34)和溢出标志寄存器OVflag (35)只有在二维SOM神经网络模式下才能起作用。
15.根据权利要求12、13或14所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述PE单元和标志寄存器文件(31)的控制信号来自于阵列控制器中的指令存储器和某些特殊寄存器的组合输出译码。
16.根据权利要求12、13或14所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述PE单元的数据输入输出依赖于其所在SOM神经元比特位切片的不同比特位置索引k而有所不同,具体体现在在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k= 15,算术高位应接本PE单元自身的输出,而逻辑高位应接其所在神经元的西侧神经元最低有效位 (LSB)输出,而对于其它k值,算术高位和逻辑高位均接向所在神经元的相邻高比特位切片 PE的输出;在第一操作数选择器所连接的重构相关的二输入多路选择器中,对于k = 0,逻辑低位应接其所在神经元的东侧神经元最高有效位(MSB)输出,而对于其它k值,逻辑高位均接向所在神经元的相邻低比特位切片PE的输出;在第二操作数选择器所连接的重构相关的二输入多路选择器(27)中,若k小于12,则其SOM端的输入数据为OVf lag,否则为O ;对于k = 12,其ALU的结果可用于更新OVflag的值,而对于其它k值则不能;对于k = 15,其ALU输出进位可用于更新Sflag的值,而对于其它k值,ALU进位输出均作为所在神经元的相邻高比特位切片PE单元在SOM模式下的ALU进位输入;对于k = 0,其SOM模式下的ALU进位输入为Sf lag,而对于其它k值,该进位输入为所在神经元的相邻低比特位切片PE单元ALU的进位输出。
17.根据权利要求12或13所述的可动态重构的多级并行单指令多数据阵列处理系统, 其特征在于,所述PE单元根据重构标志寄存器Rflag(32)的不同值,使整个可重构并行图像处理单元及自组织映射阵列(2)工作在像素级并行处理器模式或二维SOM神经网络模式。
18.根据权利要求17所述的可动态重构的多级并行单指令多数据阵列处理系统, 其特征在于,所述可重构并行图像处理单元及自组织映射阵列(2)工作在像素级并行处理器模式下时,每个PE单元接收相同的控制指令,但处理本地I比特位宽存储器(40) 中的不同数据,PE单元可在单个时钟周期中基于“读取数据-操作数据-写回数据 (read-modify-write) ”的存储器访问方式完成基本的I比特求和、求反、求与、求或算术逻辑操作,低中级图像处理中的定点多比特算术逻辑运算正是通过分解为上述基本I比特运算在像素级并行处理PE单元的I比特_ALU(37)上快速实现的,运算过程中的进位存储在 Creg寄存器(38)中,若运算所需的两个操作数均来自与本地存储器,则需要在每一比特数据进行运算之前将其中一个复制到临时寄存器Treg(39)之中,以便使其作为ALU的第二操作数参与运算;PE单元的数据可与其东、南、西、北的相邻的PE单元以I比特带宽进行通信,通过多次的邻近处理单元数据通信,阵列中的任意两个PE单元之间可以传递任意比特的数据;在像素级并行处理模式下,所有PE单元功能都是完全一致的,与比特位切片索引k 无关,且相关标志寄存器文件(31)不起作用。
19.根据权利要求17所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述可重构并行图像处理单元及自组织映射阵列(2)工作在二维SOM神经网络模式下时,每个神经元内部存储的参考向量和外部输入向量包括8比特整数部分和4比特小数部分,均为无符号定点数,当参考向量存储在16比特位宽的存储器中(41)时,高位多出的部分被置为0,为了不使运算中间结果溢出,所支持的最高向量维数为16;输入向量由系统外部按分量顺序依次给出,每个分量都同时广播到所有的神经元。
20.根据权利要求19所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,假设每个神经元通过某种方式已经获得了参考向量并存储在16比特位宽的存储器(41)中,对于在SOM神经网络训练和识别过程中共有的神经元获胜判断阶段,首先每个神经元同时计算输入向量和自身参考向量之间的街区距离,即这两个向量每个对应分量之间绝对差值之和(SAD),计算绝对差值可利用ALU的按位取反、求和功能并配合Sflag标志寄存器的操作来实现;每个分量的绝对差值计算完成之后再累加就得到了最终的距离,这是一个16比特无符号定点数;之后将每个神经元计算得到的距离以行并行方式输入RP阵列进行大小比较,最终提取出参考向量和输入向量距离最小的神经元所在的坐标用于最终分类判断或参考向量调整; 对于仅存在于训练过程中的参考向量调整阶段,首先系统外部处理器根据获胜神经元坐标和当前训练邻域半径,将处于获胜邻域内所有神经元的Wflag标志寄存器置1,并将所有神经元的Wflag作为后续操作的执行条件,该执行条件即为存储器写使能信号,这样只有处于获胜邻域内的神经元才能更新参考向量;更新时,对每个参考向量的分量,根据本次分类的结果正确与否,面向或背向输入向量方向进行调整,调整的大小与输入向量和参考向量在该分量上的差成正比,比例系数限制为2的负整数次幂,以利于通过硬件移位快速实现所需乘法操作,而硬件移位是通过映射为神经元相邻比特位的PE单元的重构后拓扑连接关系来完成的;参考向量调整过程涉及到的加法和减法操作是利用ALU(42)的按位取反、求和功能并配合Sflag标志寄存器来实现;调整后的参考向量若不处于O 256之间,需要截断归一化操作,该截断归一化操作是将所有负数强制置为为0,而所有大于等于256的数强制置为(256-1/16),这样才能保证下一轮获胜判断阶段的SAD求和结果不会超过16比特,截断归一化操作需要Sflag和OVflag标志寄存器的配合。
21.根据权利要求1所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,所述RP阵列(5)用于实现灰度形态学操作,图像特征提取,以及配合重构后的SOM神经元阵列提取获胜神经元坐标,包括一个8比特-ALU(46)、一个8比特缓冲移位寄存器(43)、两个操作数选择器(44-45)、一个基于二输入与门的条件生成器(47)、以及一个深度为V位宽为8比特的通用寄存器文件(48)。
22.根据权利要求21所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,在该RP阵列(5)中,每个行并行的行处理器RP单元(10)用于完成8比特的算术操作,包括加法、减法、求绝对值、算术/逻辑移位、以及比较大小,大于8比特的数据操作能够被分解为若干个小于或等于8比特的操作以“字节串行”方式完成;RP单元支持条件操作,条件标志来自于上一次ALU(46)的计算结果标志,并作为寄存器文件(48)的写使能信号。
23.根据权利要求21所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,在该RP阵列(5)中,每个RP单元均能够与其上下方的RP单元进行数据交互,其中有些RP单元还能够与其上下方相隔S行的行RP单元进行数据交互,这些RP单元构成RP跳跃链,以快速完成广域处理功能。
24.根据权利要求21所述的可动态重构的多级并行单指令多数据阵列处理系统,其特征在于,每个RP中的8比特缓冲移位寄存器(43)串联起来能够实现十字移位,该十字移位是垂直方向的字并行移位和水平方向的比特串行移位,从而与PE阵列和系统外部交互实现数据的输入输出 。
全文摘要
本发明公开了一种可动态重构的多级并行单指令多数据阵列处理系统,包括像素级并行的处理单元PE阵列和行并行的行处理器RP阵列,其中PE阵列主要完成低、中级图像处理中适于以全像素并行执行的线性运算部分,而RP阵列完成低、中级处理中适合以行并行方式完成的运算或者较复杂的非线性运算。特别地,PE阵列还能以极小的性能和面积开销,动态重构为二维自组织映射SOM神经网络,该神经网络可以在RP的配合下实现高速并行在线训练和特征识别等高级图像处理功能,彻底克服了在现有可编程视觉芯片和并行视觉处理器中像素级并行处理阵列无法用于高级图像处理的缺陷,促进了功能完整的低成本、低功耗、智能便携式高速实时片上视觉图像系统的实现。
文档编号G06F9/38GK103019656SQ201210512880
公开日2013年4月3日 申请日期2012年12月4日 优先权日2012年12月4日
发明者石匆, 吴南健, 龙希田, 杨杰, 秦琦 申请人:中国科学院半导体研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1