【技术实现步骤摘要】
在传输过程中提取流数据特征的流处理器及其实现方法
本专利技术是关于一种在传输过程中提取流数据特征的流处理器及其实现方法,属于传感器数据处理器领域。
技术介绍
智能传感器将人工智能与传感结合,采用人工智能方法对传感器输出的信号和数据进行分析和识别,实现智能感知,例如:基于雷达传感的手势识别系统,采用人工智能方法对雷达信号进行特征提取和模式识别,得到目标(手)的运动和姿态信息,实现手势识别。在基于人工特征的智能感知算法中,从传感器数据流中提取特征是智能传感器数据感知过程的关键步骤,其计算量在整个计算过程中占有很大比重。在智能传感器芯片(片上系统)中,高效的特征提取模块可以明显提高芯片的能量效率。特征提取本质上是一系列的流运算,即被处理的数据是一个或多个非常长(可以近似看作无限长)的时间数据序列,它们具有固定的到达速率,要接受相似的处理。传感器流数据的计算一般具有以下几个特点:1)运算源操作数据是时间序列,数据串行输入;2)执行的是向量运算,或是每个序列元素执行相同的操作,或是对序列元素进行归约性质的运算(如序列求和),且这些时间序列往往具有较大的长度;3)数据以固定的到达率持续输入,因此,必须在限定的截止时间前完成当前数据的处理,即具有实时性要求,要保证一个和输入数据到达率匹配的吞吐率,否则数据将会积压,最终导致存储器溢出;4)部分计算任务是分层次的,即需要对一组数据进行逐步分层运算。此外,也存在对同一组数据同时进行多种运算的情况。目前,可以用于执行传感器数据流特征提取的硬件处理器方案主要有支持DSP(数字信号处 ...
【技术保护点】
1.一种在传输过程中提取流数据特征的流处理器,其特征在于,包括实时流输入端口、指令缓存器、译码器、数据准备模块、执行模块、写回模块和本地存储器;/n所述实时流输入端口用于输入实时流数据,得到数据序列;/n所述指令缓存器用于缓存指令序列,并取出当前需执行的指令;/n所述译码器用于对当前需执行的指令进行分析,提取出当前需执行指令的关键字段;/n所述数据准备模块用于根据关键字段提取所述本地存储器内存储的源操作数向量元素并输入至所述执行模块,将到达的实时流数据转发至所述执行模块,以及存储当前需执行指令中的立即数;/n所述执行模块用于对实时流数据、当前需执行指令的立即数或本地存储器内存储的向量进行单目运算或双目运算,得到运算结果;/n所述写回模块用于根据关键字段指定的地址,将运算结果写入所述本地存储器内;/n所述本地存储器用于存储原始实时流数据、运算过程产生的中间结果和运算结果。/n
【技术特征摘要】
1.一种在传输过程中提取流数据特征的流处理器,其特征在于,包括实时流输入端口、指令缓存器、译码器、数据准备模块、执行模块、写回模块和本地存储器;
所述实时流输入端口用于输入实时流数据,得到数据序列;
所述指令缓存器用于缓存指令序列,并取出当前需执行的指令;
所述译码器用于对当前需执行的指令进行分析,提取出当前需执行指令的关键字段;
所述数据准备模块用于根据关键字段提取所述本地存储器内存储的源操作数向量元素并输入至所述执行模块,将到达的实时流数据转发至所述执行模块,以及存储当前需执行指令中的立即数;
所述执行模块用于对实时流数据、当前需执行指令的立即数或本地存储器内存储的向量进行单目运算或双目运算,得到运算结果;
所述写回模块用于根据关键字段指定的地址,将运算结果写入所述本地存储器内;
所述本地存储器用于存储原始实时流数据、运算过程产生的中间结果和运算结果。
2.如权利要求1所述的一种在传输过程中提取流数据特征的流处理器,其特征在于,所述指令序列支持包括V型指令和M型指令;
V型指令为向量运算指令,其源操作数至少包括一个向量或实时流数据,其运算按照源操作数的个数分为单目和双目运算两种,单目运算输入一个向量或实时流数据,输出至少一个标量值;双目运算输入两个等长向量、一个实时流数据和一个向量、一个向量和一个常数标量或一个实时流数据和一个常数标量,输出一个等于输入向量长度的结果向量;
M型指令只包括一个用于数据搬移的M型指令,将源操作数移动到目的存储器地址。
3.如权利要求1所述的一种在传输过程中提取流数据特征的流处理器,其特征在于,所述数据准备模块包括读地址生成器、常数寄存器和数据提取单元;
所述读地址生成器用于根据关键字段中的寻址方式和源操作数地址信息,生成本地存储器中的源操作数元素的读取地址;
所述常数寄存器用于存储当前需执行指令中的立即数,实现立即数寻址;
所述数据提取单元用于将到达的实时流数据转发至所述执行模块,实现实时数据流寻址;以及在指令指示直接寻址和二维阵列寻址时,按照所述读地址生成器生成的源操作数元素读取地址,提取所述本地存储器内存储的源操作数向量元素并输入至所述执行模块。
4.如权利要求3所述的一种在传输过程中提取流数据特征的流处理器,其特征在于,所述读地址生成器实现的寻址方式包括直接寻址和二维阵列寻址;
所述直接寻址用于寻址所述本地存储器中的向量,源操作数的地址信息包括向量的首地址、步长和向量长度,所述读地址生成器输出的源操作数元素的读取地址从首地址开始每次累加一个步长,当累计产生的读取地址总数等于向量长度时,则停止地址累加并通知所述数据提取单元停止数据读取;
所述二维阵列寻址用于矩阵或是相同长度的向量序列,源操作数的地址信息包括起始地址、子序列长度和子序列数目,所述读地址生成器从起始地址开始以1为步长累加,当累计产生的地址个数等于子序列长度和子序列数目的乘积时,则停止地址累加并通知所述数据提取单元停止数据读取。
5.如权利要求3所述的一种在传输过程中提取流数据特征的流处理器,其特征在于,所述执行模块包括两个操作数输入端口、一个操作码输入端口、至少一个单目运算单元、至少一个双目运算单元、一个单目输出端口和一个双目输出端口;
各所述单目运算单元的输入端均通过多路选择器连接一所述操作数输入端口和每一所述双目运算单元的输出端,各所述单目运算单元的输出端均通过并串转换单元连接所述单目输出端口;每一所述双目运算单元的输入端均连接对应所述操作数输入端口,每一所述双目运算单元的输出端均连接所述双目输出端口;所述操作码输入端口连接所述执行模块中的各多路选择器;
一所述操作数输入端口用于在每一时钟周期输入源操作数向量或实时流数据的一个元素,另一所述操作数输入端口用于在每一时钟周期输入另一源操作数向量的一个元素或常数标量;
所述操作码输入端口用于控制各所述单目运算单元和双目运算单元是否执行运算,选择各所述单目运算单元和双目运算单元的操作数,以及选择执行运算的所述单目运算单元和双目运算单元中的多功能运算;
所述单目运算单元用于对每一周期输入的源操作数向量或实时流数据的元素以及内部存储的当前值执行某种运算,并将执行运算的结果替换当前值,当输入向量结束将当前值作为单目运算结果输出;
所述双目运算单元用于对两所述操作数输入端口每一周期输入的两个源操作数向量元素进行相同的双目运算,其中,如果一个源操作数为常数标量,则在每一周期通过对应操作数输入端口重复读取所述数据准备模块中的常数寄存器值,双目运算结果作为结果序列的一个新元素输出;
所述单目输出端口用于输出所有所述单目运算单元的单目运算结果;
所述双目输出端口用于输出所述双目运算单元的双目运算结果向量序列或输出M型指令输出的向量序列。
6.如权利要求5所述的一种在传输过程中提取流数据特征的流处理器,其特征在于,所述执行模块通过所述操作码输入端口输入的操作码的控制,采用普通模式、多操作单数据流模式、级联操作模式或连续操作模式,对实时流数据、当前需执行指令的立即数或本地存储器内存储的向量进行单目运算或双目运算;
其中,所述执行模块的多操作单数据流模式为:
通过指令操作码配置若干所述单目运算单元并行处理同一向量或实时流数据,产生的多个单目运算结果依次通过并串转换单元从所述单目输出端口输出;
级联操作模式为:
通过指令操作码配置所述双目运算单元先对两个向量执行双目运算,然后通过所述单目运算单元对双目运算结果向量执行单目运算,双目运算结果传输至所述单目运算单元,最终的运算结果通过所述单目运算单元的输出端输出;
连续操作模式为:
通过指令操作码配置,所述单目运算单元将在每次累计处理的元素个数到达子序列长度时,将当前结果的值输出至所述并串转换单元进行缓存,并同时将内部中间值寄存器复位,待所有数据计算完毕时,再将所述并串转换单元中的运算结果串行输出。
7.如权利要求1所述的一种在传...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。