当前位置: 首页 > 专利查询>清华大学专利>正文

在传输过程中提取流数据特征的流处理器及其实现方法技术

技术编号:29330064 阅读:38 留言:0更新日期:2021-07-20 17:47
本发明专利技术涉及一种在传输过程中提取流数据特征的流处理器及其实现方法,其特征在于,包括实时流输入端口、指令缓存器、译码器、数据准备模块、执行模块、写回模块和本地存储器;实时流输入端口用于输入实时流数据;指令缓存器用于缓存指令序列,并取出当前需执行的指令;译码器用于提取出当前需执行指令的关键字段;数据准备模块用于提取本地存储器内存储的源操作数向量元素并输入至执行模块,将到达的实时流数据转发至执行模块;执行模块用于对实时流数据、当前需执行指令的立即数或本地存储器内存储的向量进行单目运算或双目运算,得到运算结果,本发明专利技术可以广泛应用于传感器数据处理器领域中。

【技术实现步骤摘要】
在传输过程中提取流数据特征的流处理器及其实现方法
本专利技术是关于一种在传输过程中提取流数据特征的流处理器及其实现方法,属于传感器数据处理器领域。
技术介绍
智能传感器将人工智能与传感结合,采用人工智能方法对传感器输出的信号和数据进行分析和识别,实现智能感知,例如:基于雷达传感的手势识别系统,采用人工智能方法对雷达信号进行特征提取和模式识别,得到目标(手)的运动和姿态信息,实现手势识别。在基于人工特征的智能感知算法中,从传感器数据流中提取特征是智能传感器数据感知过程的关键步骤,其计算量在整个计算过程中占有很大比重。在智能传感器芯片(片上系统)中,高效的特征提取模块可以明显提高芯片的能量效率。特征提取本质上是一系列的流运算,即被处理的数据是一个或多个非常长(可以近似看作无限长)的时间数据序列,它们具有固定的到达速率,要接受相似的处理。传感器流数据的计算一般具有以下几个特点:1)运算源操作数据是时间序列,数据串行输入;2)执行的是向量运算,或是每个序列元素执行相同的操作,或是对序列元素进行归约性质的运算(如序列求和),且这些时间序列往往具有较大的长度;3)数据以固定的到达率持续输入,因此,必须在限定的截止时间前完成当前数据的处理,即具有实时性要求,要保证一个和输入数据到达率匹配的吞吐率,否则数据将会积压,最终导致存储器溢出;4)部分计算任务是分层次的,即需要对一组数据进行逐步分层运算。此外,也存在对同一组数据同时进行多种运算的情况。目前,可以用于执行传感器数据流特征提取的硬件处理器方案主要有支持DSP(数字信号处理)指令或向量指令的通用处理器方案、数字信号处理器、向量处理器和针对传感器数据流特征提取做过指令集扩展的通用处理器。支持DSP指令或向量指令的通用处理器方案是指常规的带有单指令多数据流(SingleInstructionMultipleData,SIMD)指令扩展的处理器,例如高通Snapdragon400带有的DSP指令、ARMCortex-A系列处理器的Neon是一种128位SIMD的扩展指令序列,它与无此类指令的普通处理器相比具有明显的性能优势。采用普通SIMD扩展通用处理器方案意味着在系统芯片层面采用运行在CPU(中央处理器)上的软件实现特征提取,其它计算和控制任务和特征提取任务共同运行在一个处理器上。但是,现有常见处理器支持的向量长度相对较短,而传感器数据流的源操作向量长度通常很长——典型值达到数百至数千,处理这样的长向量运算时必须将向量分割为多个子向量,而增加向量指令所支持的向量长度又会降低其他指令和短向量的执行效率。因此将不同类型的指令混合在一个处理器中互相拖累了彼此的性能。至于专用处理器方案,即在系统中配置一个专门用于特征提取的专用指令序列处理器,可以克服通用处理器的缺点,实现效率更高。现有的适用于特征提取的处理器包括数字信号处理器和向量处理器,前者包含信号处理中常用的运算,包括向量运算,向量处理能力强,但是却不能支持长向量处理。面向图像或视频处理的向量处理器和GPU(图形处理器),往往使用多个通道来挖掘数据并行性,然而物联网系统中传感器数据通常以较低的速率串行到达,不能充分利用并行的运算资源,且这些向量处理器的向量长度也相对较短,不适用于流处理的长向量运算。此外,也有人在通用处理器基础上面向物联网智能传感器场景提出一些针对流处理的指令集优化方法,例如:使用流存储器(StreamingMemory,SM)扩展数据存储空间,以克服有限的寄存器堆(RegisterFile,RF)对向量长度的限制;也有使用便签式存储器(ScratchPadMemory,SPM)的方法实现对长向量的支持。研究人员还实现了用于计算机视觉图像特征提取的垂直和水平SIMD向量处理器体系结构,垂直向量处理器顺序访问数据,而水平向量处理器并行访问数据,可以支持在图像中的各种处理形式。PULP处理器添加了后递增的加载及存储指令和硬件循环,在访问流数据时可以由硬件自动递增地址。此外,它还采用紧密耦合的内存,以节省访问延迟和能量。这些面向传感器数据分析的处理器在传感器数据流计算方面提高了性能。然而,上述分析的3大类处理器均需要从存储器中读取数据才能开始处理,到达的原始数据必须先被缓存到内存之中再被逐个读取,这样的过程造成了大量的存储器访问能耗和延时。
技术实现思路
针对上述问题,本专利技术的目的是提供一种能够减少存储器访问能耗和延时的在传输过程中提取流数据特征的流处理器及其实现方法。为实现上述目的,本专利技术采取以下技术方案:一种在传输过程中提取流数据特征的流处理器,包括实时流输入端口、指令缓存器、译码器、数据准备模块、执行模块、写回模块和本地存储器;所述实时流输入端口用于输入实时流数据,得到数据序列;所述指令缓存器用于缓存指令序列,并取出当前需执行的指令;所述译码器用于对当前需执行的指令进行分析,提取出当前需执行指令的关键字段;所述数据准备模块用于根据关键字段提取所述本地存储器内存储的源操作数向量元素并输入至所述执行模块,将到达的实时流数据转发至所述执行模块,以及存储当前需执行指令中的立即数;所述执行模块用于对实时流数据、当前需执行指令的立即数或本地存储器内存储的向量进行单目运算或双目运算,得到运算结果;所述写回模块用于根据关键字段指定的地址,将运算结果写入所述本地存储器内;所述本地存储器用于存储原始实时流数据、运算过程产生的中间结果和运算结果。进一步地,所述指令序列支持包括V型指令和M型指令;V型指令为向量运算指令,其源操作数至少包括一个向量或实时流数据,其运算按照源操作数的个数分为单目和双目运算两种,单目运算输入一个向量或实时流数据,输出至少一个标量值;双目运算输入两个等长向量、一个实时流数据和一个向量、一个向量和一个常数标量或一个实时流数据和一个常数标量,输出一个等于输入向量长度的结果向量;M型指令只包括一个用于数据搬移的M型指令,将源操作数移动到目的存储器地址。进一步地,所述数据准备模块包括读地址生成器、常数寄存器和数据提取单元;所述读地址生成器用于根据关键字段中的寻址方式和源操作数地址信息,生成本地存储器中的源操作数元素的读取地址;所述常数寄存器用于存储当前需执行指令中的立即数,实现立即数寻址;所述数据提取单元用于将到达的实时流数据转发至所述执行模块,实现实时数据流寻址;以及在指令指示直接寻址和二维阵列寻址时,按照所述读地址生成器生成的源操作数元素读取地址,提取所述本地存储器内存储的源操作数向量元素并输入至所述执行模块。进一步地,所述读地址生成器实现的寻址方式包括直接寻址和二维阵列寻址;所述直接寻址用于寻址所述本地存储器中的向量,源操作数的地址信息包括向量的首地址、步长和向量长度,所述读地址生成器输出的源操作数元素的读取地址从首地址开始每次累加一个步长,当累计产生的读取地址总数等于向量长度时,则停止地址累加并通知所述数据提取单元停止数据读取;所述二维阵列寻址用于矩阵或是相同长度的向量序列,源本文档来自技高网
...

【技术保护点】
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所述的一种在传...

【专利技术属性】
技术研发人员:李翔宇
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1