向量处理器中支持SIMT的向量访存装置和控制方法制造方法及图纸

技术编号:11572597 阅读:62 留言:0更新日期:2015-06-10 03:19
本发明专利技术公开一种向量处理器中支持SIMT的向量访存装置和控制方法,该装置包括基址向量寄存器单元、偏移向量寄存器单元以及向量地址计算单元,基址向量寄存器单元、偏移向量寄存器单元分别包括多组向量寄存器,每组向量寄存器由多个寄存器构成;向量地址计算单元包括多个地址计算子单元,每个地址计算子单元分别与向量处理器中各存储体一一对应连接;各线程的基址、偏移地址分别通过一组向量寄存器进行获取后,分别输出至各地址计算子单元进行计算,得到各线程的访存地址输出至对应的存储体;该方法为向量访存装置的控制方法。本发明专利技术具有向量访存灵活性强、并行访存效率高且功耗低,且能够支持SIMT线程级并行的优点。

【技术实现步骤摘要】
向量处理器中支持SIMT的向量访存装置和控制方法
本专利技术涉及微处理器体系结构设计的
,尤其涉及一种向量处理器中支持SIMT的向量访存装置和控制方法。
技术介绍
无线通信、图像处理等流媒体应用的发展需要微处理器在有限的功耗预算下提供更高的实时运算能力,单指令流多数据流(SingleInstructionMultipleData,SIMD)技术因其可共享硬件控制结构、能开发大量的数据级并行,可在相对较低的功耗下实现高数据吞吐量的计算能力等特性迅速成为各类微处理器的重要扩展。向量处理器片内集成向量运算单元(VectorProcessingUnits,VPU)和向量访存单元VMU,向量运算单元VPU内集成了多个并行的运算单元PE,按SIMD方式执行运算操作。为满足向量运算单元VPU的向量运算需求,向量访存单元VMU按SIMD方式执行向量访存操作,为向量访存单元VPU提供高带宽的向量访存数据。但随着SIMD宽度即按SIMD方式操作的并行运算单元个数的增加,全局异常导致的全局停顿的代价越来越大,向量处理器在获得更高的理论运算峰值的同时,实际运算效率却并未按预期增加。因此在SIMD方式开发的数据级并行的基础上,迫切需要开发更高的并行性即线程级并行,提高系统的运算效率。但目前的向量访存操作只提供地址连续或等地址跨步等具有特定地址变化规律的一组向量数据的访存,不能满足向量访存单元VPU多线程并行执行的需求,从而无法支持SIMT单指令流多线程(SingleInstructionMultipleThread,SIMT)的向量访存。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有技术存在的技术问题,本专利技术提供一种向量访存灵活性强、能够支持线程级并行且并行访存效率高、功耗低的向量处理器中支持SIMT的向量访存装置和控制方法。为解决上述技术问题,本专利技术提出的技术方案为:一种向量处理器中支持SIMT的向量访存装置,包括基址向量寄存器单元、偏移向量寄存器单元以及向量地址计算单元,所述基址向量寄存器单元、偏移向量寄存器单元分别包括多组向量寄存器,每组向量寄存器由对应向量处理器中各线程的多个寄存器构成;所述向量地址计算单元包括多个地址计算子单元,每个地址计算子单元分别与向量处理器中各存储体一一对应连接;各线程的基址、偏移地址分别通过所述基址向量寄存器单元、偏移向量寄存器单元中一组向量寄存器进行获取,分别输出至各地址计算子单元进行计算,得到各线程的访存地址并输出至对应的存储体。作为本专利技术装置的进一步改进:还包括通用向量寄存器单元,所述通用向量寄存器单元包括多组向量寄存器,每组向量寄存器由对应向量处理器中各线程的多个寄存器构成;所述通用向量寄存器单元通过一组向量寄存器存储各线程的访存数据。作为本专利技术装置的进一步改进:所述通用向量寄存器单元包括m组通用向量寄存器,其中m=log2t,且t是通用向量寄存器的位数。作为本专利技术装置的进一步改进:所述基址寄存器单元包括k1组基址向量寄存器,其中k1=log2s1,且s1为基址向量寄存器的位数;所述偏移向量寄存器单元包括k2组偏移向量寄存器,其中k2=log2s2,且s2为偏移向量寄存器的位数;所述通用向量寄存器单元包括m组通用向量寄存器,其中m=log2t,且t是通用向量寄存器的位数。作为本专利技术装置的进一步改进:还包括相互连接的SIMT指令生成单元以及指令译码单元,所述指令译码单元分别与所述基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元连接;所述SIMT指令生成单元用于根据各线程的访存指令指定读写访问类型以及所述基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元中对应组的向量寄存器,并生成对应的SIMT访存指令;所述指令译码单元用于对所述SIMT指令生成单元生成的SIMT访存指令进行译码,得到所指定的读写访问类型以及所述基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元中对应组的向量寄存器。作为本专利技术装置的进一步改进:基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元均包括寄存器组选择器,寄存器组选择器与所述指令译码单元连接。本专利技术还提供一种基于上述向量访存装置的控制方法,步骤包括:1)将向量处理器中n个线程对应的n路存储体进行统一编址,并根据各存储体的访问地址范围配置所述基址向量寄存器单元、所述偏移向量寄存器单元中对应组的向量寄存器;2)获取各线程的访存指令并进行指令译码,得到访存指令中所指定的读写访问类型以及所述基址向量寄存器单元、所述偏移向量寄存器单元中对应组的向量寄存器;3)选取访存指令中所指定的所述基址向量寄存器单元、所述偏移向量寄存器单元对应组的向量寄存器,并根据选取得到的向量寄存器的值计算向量访存地址,得到对应n个线程的n路向量访存地址;4)将n路向量访存地址分别输出至对应的向量存储体进行访存,若为写指令,则根据所述向量访存地址将各线程对应的n路数据分别写入到向量存储体中;若为读指令,则根据所述向量访存地址从向量存储体中读出n路数据。作为本专利技术方法的进一步改进,所述步骤2)的具体实施步骤为:2.1)获取各线程的访存指令,根据所述访存指令指定读写访问类型以及所述基址向量寄存器单元、偏移向量寄存器单元中对应组的向量寄存器,以及指定用于通过一组向量寄存器存储各线程的访存数据的通用向量寄存器单元中对应组的向量寄存器,并生成对应的SIMT访存指令;2.2)对所述SIMT访存指令进行译码,得到各线程的访存指令所指定的读写访问类型以及基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元中对应组的向量寄存器。作为本专利技术方法的进一步改进,所述SIMT访存指令的数据位包括访存粒度、寻址模式、读写访问类型有效位、符合位扩展、基址向量寄存器编号、偏移向量寄存器编号以及通用向量寄存器编号,所述基址向量寄存器编号、偏移向量寄存器编号以及通用向量寄存器编号分别用于指定基址向量寄存器单元、偏移向量寄存器单元、通用向量寄存器单元中对应组的向量寄存器。作为本专利技术方法的进一步改进,所述步骤3)的具体实施步骤为:3.1)将n路向量访存地址分别转化得到n路行地址、存储体BANK地址和偏移地址,并结合访存指令中所指定的访存粒度、寻址模式信息一起传给向量存储体;3.2)如果是向量写指令,则根据访存指令获取所指定的通用向量寄存器单元中对应组的向量寄存器,并根据转化得到的n路行地址、存储体BANK地址和偏移地址将所指定的所述通用向量寄存器单元中对应组寄存器的值分别写入对应的存储体;如果是向量读指令,则根据所述n路行地址、存储体BANK地址和偏移地址从存储体中读出n路数据,并返回给通用向量寄存器单元。与现有技术相比,本专利技术的优点在于:1)本专利技术通过向量化的基址向量寄存器单元、偏移向量寄存器单元获取各线程访存地址的基址、偏移地址,结合向量化的地址计算子单元分别对应计算各线程的访存地址,使得每个线程的向量处理单元均有自己独立的访存地址,不同线程的向量处理单元访问地址之间不具有相关性,从而能够支持SIMT的线程级并行,有效提高了访存的灵活性和并行性;2)本专利技术通过对应各线程的向量寄存器计算向量地址,使各线程对应的向量处理单元能够有自己独立的访存空间,从而在一次访存中不同线程的向量处本文档来自技高网...
向量处理器中支持SIMT的向量访存装置和控制方法

【技术保护点】
一种向量处理器中支持SIMT的向量访存装置,其特征在于:包括基址向量寄存器单元(2)、偏移向量寄存器单元(3)以及向量地址计算单元(5),所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)分别包括多组向量寄存器,每组向量寄存器由对应向量处理器中各线程的多个寄存器构成;所述向量地址计算单元(5)包括多个地址计算子单元(51),每个地址计算子单元(51)分别与向量处理器中各存储体一一对应连接;各线程的基址、偏移地址分别通过所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)中一组向量寄存器进行获取后,分别输出至各地址计算子单元(51)进行计算,得到各线程的访存地址输出至对应的存储体。

【技术特征摘要】
1.一种向量处理器中支持SIMT的向量访存装置,其特征在于:包括基址向量寄存器单元(2)、偏移向量寄存器单元(3)以及向量地址计算单元(5),所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)分别包括多组向量寄存器,每组向量寄存器由对应向量处理器中各线程的多个寄存器构成;所述向量地址计算单元(5)包括多个地址计算子单元(51),每个地址计算子单元(51)分别与向量处理器中各存储体一一对应连接;各线程的基址、偏移地址分别通过所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)中一组向量寄存器进行获取后,分别输出至各地址计算子单元(51)进行计算,得到各线程的访存地址输出至对应的存储体;还包括通用向量寄存器单元(4),所述通用向量寄存器单元(4)包括多组向量寄存器,每组向量寄存器由对应向量处理器中各线程的多个寄存器构成;所述通用向量寄存器单元(4)通过一组向量寄存器存储各线程的访存数据;所述通用向量寄存器单元(4)包括m组通用向量寄存器,其中m=log2t,且t是通用向量寄存器的位数。2.根据权利要求1所述的向量处理器中支持SIMT的向量访存装置,其特征在于:所述基址向量寄存器单元(2)包括k1组基址向量寄存器,其中k1=log2s1,且s1为基址向量寄存器的位数;所述偏移向量寄存器单元(3)包括k2组偏移向量寄存器,其中k2=log2s2,且s2为偏移向量寄存器的位数。3.根据权利要求2所述的向量处理器中支持SIMT的向量访存装置,其特征在于:还包括相互连接的SIMT指令生成单元以及指令译码单元(1),所述指令译码单元(1)分别与所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)、通用向量寄存器单元(4)连接;所述SIMT指令生成单元用于根据各线程的访存指令指定读写访问类型以及所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)、通用向量寄存器单元(4)中对应组的向量寄存器,并生成对应的SIMT访存指令;所述指令译码单元用于对所述SIMT指令生成单元生成的SIMT访存指令进行译码,得到所指定的读写访问类型以及所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)、通用向量寄存器单元(4)中对应组的向量寄存器。4.根据权利要求3所述的向量处理器中支持SIMT的向量访存装置,其特征在于:所述基址向量寄存器单元(2)、偏移向量寄存器单元(3)、通用向量寄存器单元(4)均包括寄存器组选择器,所述寄存器组选择器与所述指令译码单元(1)连接。5.一种基于权利要求1~4中任意一项所述的向量访存装置的控制方法,其特征在于,步骤包括:1)将向量处理器中n个线...

【专利技术属性】
技术研发人员:陈海燕陈书明刘胜徐沛文万江华郭阳刘仲马胜孔宪停卫鹏飞
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

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

1