一种基于矢量处理器的数据处理装置和方法制造方法及图纸

技术编号:33700901 阅读:13 留言:0更新日期:2022-06-06 08:09
本发明专利技术涉及一种基于矢量处理器的数据处理装置及方法,包括矢量读入单元、矢量处理器、矢量写出单元、尾部处理单元和内部数据存储单元;尾部处理单元,用于获取内部数据存储单元中的恢复数据,并启动矢量读入单元读入恢复数据至矢量处理器的寄存器中,并当矢量实际输出数据存储至内部数据存储单元中对应的位置后,启动矢量写出单元将恢复数据写入到内部数据存储单元中对应的位置。可见,通过尾部处理单元的使用,在矢量写出单元写出输出数据之前,先保存可能被错误覆盖的数据,再在矢量写出单元写出输出数据之后,恢复被错误覆盖的数据,不需要条件判断模块,大大提升了矢量处理器的数据处理能力。数据处理能力。数据处理能力。

【技术实现步骤摘要】
一种基于矢量处理器的数据处理装置和方法


[0001]本专利技术涉及矢量数据处理领域,特别是涉及一种基于矢量处理器的数据处理装置和方法。

技术介绍

[0002]当前随着科学技术的发展,各种高科技领域的应用场景层出不穷,由此推动硬件运算能力的不断提高。特别是在数字信号处理领域,由于大数据量需要及时快速地处理,相较于处理速度较慢的标量处理器,应运而生的矢量处理器正在越来越多的应用场合发挥着巨大的作用。
[0003]所谓矢量处理器就是一种成组数据处理技术,即在单位时间周期内能够处理比标量处理器多得多的数据。例如一般的标量处理器在一个指令周期内只能计算一到两个乘累加运算,而矢量处理器却可以计算16或32或64个乘累加运算,这个具体数值与矢量处理器的硬件性能相关。这种硬件运算能力的大幅度提高,使得一些需要快速计算的应用场景如人工智能AI、5G无线通信以及图像处理领域都能得到高速发展。然而,矢量处理器的大规模应用,也带来了一些难以解决的负面问题。其中,最主要的一个问题是目前矢量处理器在一个指令周期内处理的数据长度是固定不变的,它虽然可以选配在一定范围内的某个确定值,但不能是变量值。而我们需要处理的数据长度总是个变量,它是个不确定的值,在使用它之前,我们一般是不知道这个具体的数据长度数值。一般来说,我们在选配矢量处理器的硬件处理能力时,先要弄清楚需要处理的数据长度大体范围,然后选配矢量处理器的运算能力总是大于或等于需要处理数据长度的运算负荷。如果想要更精确地求出这个运算负荷,减少矢量处理器的运算能力冗余,就需要增加条件判断模块来查清楚这个运算负荷,然后再根据具体的运算负荷,选配相对应的矢量处理器硬件运算能力。但是这个条件判断模块不但增加了硬件成本,也由于判断时间较长,导致硬件运算流水线被打断,严重延缓了整个数据处理的时间,这样就大大减弱了矢量处理器的快速运算能力。

技术实现思路

[0004]本专利技术的目的是提供一种基于矢量处理器的数据处理装置和方法,通过设置尾部处理单元,能够恢复内部数据存储单元中被矢量输出数据覆盖的数据,舍弃了现有的条件判断模块,大大提升了矢量处理器的快速运算能力,提高了矢量处理器处理数据的效率。
[0005]为实现上述目的,本专利技术提供了如下方案:一种基于矢量处理器的数据处理装置,包括矢量读入单元、矢量处理器、矢量写出单元、尾部处理单元和内部数据存储单元;所述矢量读入单元的输入端连接所述内部数据存储单元,所述矢量读入单元的输出端连接所述矢量处理器;所述矢量写出单元的输入端连接所述矢量处理器,所述矢量写出单元的输出端连接所述内部数据存储单元;所述尾部处理单元分别与所述矢量读入单元和所述矢量写出单元连接;
所述内部数据存储单元,用于存放参与矢量运算的矢量输入数据和矢量运算后的矢量实际输出数据;所述矢量处理器,用于对所述矢量读入单元读入的所述矢量输入数据进行矢量运算;所述尾部处理单元,用于获取所述内部数据存储单元中的恢复数据,并启动所述矢量读入单元读入所述恢复数据至所述矢量处理器的寄存器中,并当所述矢量实际输出数据存储至所述内部数据存储单元中对应的位置后,启动所述矢量写出单元将所述恢复数据写入到所述内部数据存储单元中对应的位置;所述恢复数据为在所述内部数据存储单元中,所述矢量实际输出数据的超出数据所覆盖的数据;所述超出数据和所述矢量理论输出数据组成所述矢量实际输出数据。
[0006]可选的,所述矢量处理器的寄存器包括第一寄存器、第二寄存器和第三寄存器;所述第一寄存器,与所述矢量读入单元连接,用于存储所述矢量读入单元读入的所述矢量输入数据;所述第二寄存器,与所述矢量写出单元连接,用于存储矢量运算后的所述矢量输出数据;所述第三寄存器,分别与所述矢量读入单元和所述矢量写出单元连接,用于存储所述矢量读入单元读入的恢复数据。
[0007]可选的,所述尾部处理单元包括恢复数据地址和长度获取子单元和恢复数据获取子单元;所述恢复数据地址和长度获取子单元,用于计算所述恢复数据在所述内部数据存储单元中的起始地址和长度;所述恢复数据获取子单元,用于根据恢复数据的起始地址和长度获取所述恢复数据。
[0008]可选的,所述恢复数据地址和长度获取子单元,用于计算所述恢复数据在所述内部数据存储单元中的起始地址和长度具体包括:获取所述矢量输入数据的长度和所述矢量实际输出数据的起始地址;根据所述矢量输入数据的长度和所述矢量输入数据的矢量运算方式确定所述矢量理论输出数据的长度;根据所述矢量理论输出数据的长度和所述矢量实际输出数据的起始地址确定所述恢复数据的起始地址;根据所述矢量实际输出数据的长度和所述矢量理论输出数据的长度确定所述恢复数据的长度。
[0009]可选的,所述恢复数据的长度等于所述矢量实际输出数据的长度与所述矢量理论输出数据的长度之差。
[0010]一种基于矢量处理器的数据处理方法,包括:利用矢量读入单元读入矢量输入数据至矢量处理器的寄存器中;利用矢量处理器对所述矢量输入数据进行矢量运算,得到矢量实际输出数据;利用尾部处理单元获取恢复数据;所述恢复数据为在内部数据存储单元中,所述矢量实际输出数据的超出数据所覆盖的数据;所述超出数据和所述矢量理论输出数据组成
所述矢量实际输出数据;利用所述尾部处理单元启动所述矢量读入单元读入所述恢复数据至所述矢量处理器的寄存器中;利用所述尾部处理单元启动矢量写出单元将所述矢量实际输出数据写出到所述内部数据存储单元对应的位置;利用所述矢量写出单元将所述恢复数据写出到所述内部数据存储单元对应的位置。
[0011]可选的,所述利用尾部处理单元获取恢复数据具体包括:利用所述尾部处理单元计算所述恢复数据在内部数据存储单元中的起始地址和长度;根据恢复数据的起始地址和长度获取所述恢复数据。
[0012]可选的,所述利用所述尾部处理单元计算所述恢复数据在内部数据存储单元中的起始地址和长度,具体包括:利用所述尾部处理单元获取所述矢量输入数据的长度和所述矢量实际输出数据的起始地址;根据所述矢量输入数据的长度和所述矢量输入数据的矢量运算方式确定所述矢量理论输出数据的长度;根据所述矢量理论输出数据的长度和所述矢量实际输出数据的起始地址确定所述恢复数据的起始地址;根据所述矢量实际输出数据的长度和所述矢量理论输出数据的长度确定所述恢复数据的长度。
[0013]根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术提供一种基于矢量处理器的数据处理装置及方法,包括矢量读入单元、矢量处理器、矢量写出单元、尾部处理单元和内部数据存储单元;矢量读入单元的输入端连接所述内部数据存储单元,所述矢量读入单元的输出端连接所述矢量处理器;所述矢量写出单元的输入端连接所述矢量处理器,所述矢量写出单元的输出端连接所述内部数据存储单元;所述尾部处理单元分别与所述矢量读入单元和所述矢量写出单元连接;内部数据存储单元,用于存放参与矢量运算的矢量输入数据和矢量运算后的矢量实际输出数据;矢量处理器,用于对所述矢量读入单元读入的所述矢量输入数据进行矢量运算;尾部处理单元,用于获取所述内部数据存储单本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于矢量处理器的数据处理装置,其特征在于,包括矢量读入单元、矢量处理器、矢量写出单元、尾部处理单元和内部数据存储单元;所述矢量读入单元的输入端连接所述内部数据存储单元,所述矢量读入单元的输出端连接所述矢量处理器;所述矢量写出单元的输入端连接所述矢量处理器,所述矢量写出单元的输出端连接所述内部数据存储单元;所述尾部处理单元分别与所述矢量读入单元和所述矢量写出单元连接;所述内部数据存储单元,用于存放参与矢量运算的矢量输入数据和矢量运算后的矢量实际输出数据;所述矢量处理器,用于对所述矢量读入单元读入的所述矢量输入数据进行矢量运算;所述尾部处理单元,用于获取所述内部数据存储单元中的恢复数据,并启动所述矢量读入单元读入所述恢复数据至所述矢量处理器的寄存器中,并当所述矢量实际输出数据存储至所述内部数据存储单元中对应的位置后,启动所述矢量写出单元将所述恢复数据写入到所述内部数据存储单元中对应的位置;所述恢复数据为在所述内部数据存储单元中,所述矢量实际输出数据的超出数据所覆盖的数据;所述超出数据和所述矢量理论输出数据组成所述矢量实际输出数据。2.根据权利要求1所述的装置,其特征在于,所述矢量处理器的寄存器包括第一寄存器、第二寄存器和第三寄存器;所述第一寄存器,与所述矢量读入单元连接,用于存储所述矢量读入单元读入的所述矢量输入数据;所述第二寄存器,与所述矢量写出单元连接,用于存储矢量运算后的所述矢量输出数据;所述第三寄存器,分别与所述矢量读入单元和所述矢量写出单元连接,用于存储所述矢量读入单元读入的恢复数据。3.根据权利要求1所述的装置,其特征在于,所述尾部处理单元包括恢复数据地址和长度获取子单元和恢复数据获取子单元;所述恢复数据地址和长度获取子单元,用于计算所述恢复数据在所述内部数据存储单元中的起始地址和长度;所述恢复数据获取子单元,用于根据恢复数据的起始地址和长度获取所述恢复数据。4.根据权利要求3所述的装置,其特征在于,所述恢复数据地址和长度获取子单元,用于计算所述恢复数据在所述内部数据存储单元中的起始地址和长度具体包括:获取所述矢量输入数据的长...

【专利技术属性】
技术研发人员:ꢀ七四专利代理机构
申请(专利权)人:上海擎昆信息科技有限公司
类型:发明
国别省市:

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

1