一种可扩展向量运算簇制造技术

技术编号:5310143 阅读:219 留言:0更新日期:2012-04-11 18:40
一种可扩展向量运算簇,包括向量处理阵列、支持压缩指令的向量译码器、用于存放多种数据类型的局部向量寄存器文件/累加器以及支持行列访问的矩阵寄存器文件,所述向量处理阵列包括2~64个同构向量处理单元,所述每个向量处理单元拥有独立的局部向量寄存器文件/累加器并共享矩阵寄存器;所述局部向量寄存器文件/累加器和矩阵寄存器文件提供指令操作的数据来源和目的。本发明专利技术具有原理简单、适用范围广、处理效果好、能够有效支持最前沿各类数字信号处理算法等优点。

【技术实现步骤摘要】

本专利技术主要涉及到执行大规模并行数据处理的数字信号处理器领域,特指一种 可扩展向量运算簇,即一种支持向量压缩指令、内部集成紧耦合扩展功能单元、且向量 宽度可配置的可扩展向量运算簇。
技术介绍
当前快速发展的无线通信、视频图像、雷达信号处理应用中,算法对微处理器 的性能要求越来越高。针对算法程序中大量数据的并行性,当前数字信号处理器结构在 灵活性、功耗和性能方面采取不同的折中策略,提出了各种解决方案。如流处理器,阵 列处理器,向量处理器等。单指令流多数据流(SIMD)流处理器的代表Imagine,内部包 含了 8个算术簇,具有较强的计算能力,但在SIMD簇数目、功能部件类型设置、数据通 路等方面,未针对数字信号处理领域进行专门优化,且包含了大量对浮点运算的支持, 功耗显得过高。阵列处理器集成了大量运算阵列,同样提供了强大的运算潜力,但在算 法并行分解,算法映射和数据流优化上难度较大。向量处理器集成向量运算簇,以SIMD 的方式在每始终周期同时对多组源操作数进行处理,能够在低频下提供强的运算能力, 缺点是增加向量运算簇的宽度,使得处理器中的数据流数目增多,能够利用硬件资源实 现大的数据处理量。但若并行性不足够大,小宽度的向量操作会导致硬件利用率低。另,针对数字信号处理算法中涉及的各类运算,除基础运算外,涉及各类复杂 运算类型,诸如复数运算,矩阵运算,除法运算,高精度浮点运算等,若用基础运算结 构支持,需反复占用大量的处理器资源,且编码长度较大,需使用通用指令的较长序列 计算特定任务的必要结果。为此,对于运算结构,已有研究广泛采用了集成专用增强型 指令集合,耦合可重配置功能单元等方法。但也因此带来了以下问题紧耦合可重配置 功能单元,扩展的功能单元与基础功能单元的操作缺少并行性,扩展操作类型较少,不 适用于SIMD向量操作,两者之间接口复杂不灵活;松耦合可重配置功能单元,数据交 互带宽低,延迟时间大。综上所述,需针对数字信号处理中各类高密集运算子任务,如矩阵乘,矩阵求 逆,快速傅里叶变换算法FFT/IFFT等,提供一种易进行算法分解映射,可充分利用可并 行运算资源,能够实时处理大规模数据的运算簇,以满足应用需求。
技术实现思路
本专利技术要解决的技术问题就在于针对现有技术存在的技术问题,本专利技术提供 一种原理简单、适用范围广、处理效果好、能够有效支持最前沿各类数字信号处理算法 的可扩展向量运算簇。为解决上述技术问题,本专利技术采用以下技术方案—种可扩展向量运算簇,其特征在于包括向量处理阵列、支持压缩指令的向 量译码器、用于存放多种数据类型的局部向量寄存器文件/累加器以及支持行列访问的矩阵寄存器文件,所述向量处理阵列包括2 64个同构向量处理单元,所述每个向量处 理单元拥有独立的局部向量寄存器文件/累加器并共享矩阵寄存器文件;所述局部向量 寄存器文件/累加器和矩阵寄存器文件提供指令操作的数据来源和目的。作为本专利技术的进一步改进所述向量处理单元包括三个紧耦合可扩展的向量功能单元,作为所述可扩展向 量运算簇三条可配置的功能执行流水线。所述三个紧耦合可扩展的向量功能单元由三个基础向量功能单元和三个扩展功 能单元一一对应紧耦合而成,每一对功能单元拥有相同的数据通路。所述三条功能执行流水线的功能分别为第一条执行流水线,完成诸如定点乘 加、浮点乘加类指令;第二条执行流水线,完成定点、浮点算术逻辑运算;第三条执行 流水线完成位操作类指令。与现有技术相比,本专利技术可大规模并行执行不同向量长度、不同粒度、不同类 型、不同周期的基础和复杂数据处理,能高效实现各类数字信号处理算法,并有自己独 有的优点(1)降低编程代码空间。该向量运算簇(VPU),可执行压缩的16/32位格式指 令,同时结合VLIW架构和向量操作特征,支持高代码密度。在有限的硬件开销下,提 高应用性能。(2)功能流水线可配置,支持复杂数据类型的深流水线化处理。可配置的执行流 水线,无需增加附加的寄存器和宽数据路径,只需根据应用需求的不同,选择不同的功 能部件(基础功能单元或紧耦合的扩展功能单元)填充流水线,同一执行流水所对应的功 能部件共享相同的数据通路。扩展功能单元包含特定的状态寄存器,扩展功能单元与基 础功能单元之间采用旁路和互锁机制,保证数据的正确性和运算的并行性。(3)提高编码效率。VPU基于基础结构,针对数字信号处理算法的运算特点, 直接支持复数乘法、定点和浮点矩阵乘法、定点除法等复合操作,从而减少常用数字信 号处理算法的动态指令条数。(4)提供丰富的操作数类型,支持多种精度数据的处理。操作数来源可为向量 累加器,向量局部寄存器文件,全局矩阵寄存器文件等,能够支持8/16/32/40位定点数 据,及32位或64位浮点数据的高效运算。(5)应用更灵活性。每个VPE内部提供多条功能执行流水线,扩充指令的并行 开发;SIMD功能部件,扩充数据的并行开发;从而支持更小粒度的数据并行处理。附图说明图1是具有本专利技术可扩展向量运算簇的微体系结构总体框架示意图;图2是可扩展向量运算簇支持的压缩指令包的实例示意图;图3是紧耦合可扩展的向量功能单元数据通路示意图;图4是基于基础结构支持复杂运算的IMAC单元结构示意图;图5是基于可扩展向量运算簇高效完成2048点FFT算法实例示意图;图6是在具体实例中算法中每一级系数使用情况列表;图7是在具体实例中算法在硬件结构上的映射实例示意图。具体实施例方式以下将结合说明书附图和具体实施例对本专利技术做进一步详细说明。如图1所示,为构建具有本专利技术可扩展向量运算簇的微体系结构总体框架示意 图。处理器以开发许多信号处理器中丰富的数据并行性为目的。整个结构包括标量处理 单元102、本专利技术的可扩展向量运算簇、地址产生单元AGU及向量存储器107。指令派 发单元派发出的标量或向量指令,派发到相应的处理单元中。本专利技术的可扩展向量运算 簇(VPU)是和标量单元(SPU)同级的数据处理单元。两者接收由指令派发部件派发的 指令,其中VPU接收派发部件派发的向量运算类指令,同时获取向量长度信息VL,配置 VPE的状态,每个VPE可配置为两种状态,激活状态和关闭状态,以满足数据处理中不 同并行度的需求。本专利技术可扩展向量运算簇包括向量处理阵列101、支持压缩指令的向量译码器 104、用于存放多种数据类型的局部向量寄存器文件/累加器105以及支持行列访问的矩 阵寄存器文件106,向量处理阵列101包括2 64个同构向量处理单元103,每个向量处 理单元103拥有独立的局部向量寄存器文件/累加器105并共享矩阵寄存器文件106 ;局 部向量寄存器文件/累加器105和矩阵寄存器文件106提供指令操作的数据来源和目的。 向量译码器104用于支持不能长度的向量指令的译码执行。局部向量寄存器文件/累加 器105和全局矩阵寄存器文件106用来提供指令操作的数据来源和目的。支持压缩指令 的向量译码器104,能够同时进行16位向量压缩指令或32位常规向量指令的译码,支持 混合长度向量指令的执行,从而有效降低代码空间。局部向量寄存器文件/累加器105 可作为VPE内功能单元的操作数来源,具有局部性,每个VPE访问向量寄存器或累加器 的一组元素。不可交叉访问,寄存器间的数据交互,可通过混洗网本文档来自技高网
...

【技术保护点】
一种可扩展向量运算簇,其特征在于:包括向量处理阵列(101)、支持压缩指令的向量译码器(104)、用于存放多种数据类型的局部向量寄存器文件/累加器(105)以及支持行列访问的矩阵寄存器文件(106),所述向量处理阵列(101)包括2~64个同构向量处理单元(103),所述每个向量处理单元(103)拥有独立的局部向量寄存器文件/累加器(105)并共享矩阵寄存器文件(106);所述局部向量寄存器文件/累加器(105)和矩阵寄存器文件(106)提供指令操作的数据来源和目的。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈书明杨惠万江华刘衡竹郭阳孙永节刘宗林龚国辉鲁建壮许邦建刘蓬侠
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43

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

1