一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种支持可变长向量处理的可配置处理器及其实现方法与流程

2021-11-03 10:58:00 来源:中国专利 TAG:

技术特征:
1.一种支持可变长向量处理的可配置处理器,包括指令获取单元、指令译码与重命名单元、指令定序与分派单元、指令发射与执行单元、寄存器文件以及高速指令与数据缓存,所述指令获取单元、指令译码与重命名单元、指令定序与分派单元、指令发射与执行单元、寄存器文件依次相连,所述高速指令与数据缓存分别与指令获取单元、指令发射与执行单元相连,其特征在于,所述支持可变长向量处理的可配置处理器包括用于初始或实时对是否支持可变长向量处理的选项进行配置的可配置单元;所述指令译码与重命名单元中包括可变长向量拆分模块,用于在可配置单元中支持可变长向量处理的选项被配置为支持可变长向量处理的情况下,针对可变长向量处理操作进行拆分,使其实现对现有固定长度向量处理的执行单元的重用;所述指令发射与执行单元中包含用于执行向量指令的向量发射队列和向量执行单元,且向量执行单元支持固定长度向量和可变长向量部分或者全部的执行,且针对可变长向量通过一次或多次完成可变长向量的执行。2.根据权利要求1所述的支持可变长向量处理的可配置处理器,其特征在于,所述可配置单元中还用于初始或实时对分支预测选项进行配置,所述分支预测选项包括静态分支预测模式和动态分支预测模式两种模式;所述指令获取单元在向高速指令与数据缓存中获取指令时,若分支预测选项被配置为静态分支预测模式,则所述指令获取单元根据指令中携带的静态预测地址向高速指令与数据缓存中获取更多的待执行的指令;若分支预测选项被配置为动态分支预测模式,则所述指令获取单元根据指令中携带的动态预测地址向高速指令与数据缓存中获取更多的待执行的指令。3.根据权利要求2所述的支持可变长向量处理的可配置处理器,其特征在于,所述可配置单元中还用于初始或实时对取指宽度m进行配置;所述指令获取单元在向高速指令与数据缓存中获取指令时,每次从高速指令与数据缓存中获取m条指令并存入本地缓存。4.根据权利要求3所述的支持可变长向量处理的可配置处理器,其特征在于,所述可配置单元中还用于初始或实时对译码宽度n进行配置;所述指令译码与重命名单元在进行译码时每次从本地预译码微指令缓存中取出n条指令微指令进行译码。5.根据权利要求4所述的支持可变长向量处理的可配置处理器,其特征在于,所述可配置单元中还用于初始或实时对指令分派宽度p进行配置;所述指令定序与分派单元在进行指令分派的时候,每次从本地待分派缓存中获取最多p条指令进行分派。6.根据权利要求5所述的支持可变长向量处理的可配置处理器,其特征在于,所述可配置单元中还用于初始或实时对乱序资源大小进行配置,所述乱序资源大小包括发射队列大小、重定序缓存大小以及寄存器文件大小;所述指令发射与执行单元基于可配置单元配置的发射队列大小存储待发射的指令,所述指令定序与分派单元基于可配置单元配置的重定序缓存大小执行重定序操作。7.根据权利要求6所述的支持可变长向量处理的可配置处理器,其特征在于,所述指令发射与执行单元包括发射队列和执行单元两个部分,其中发射队列包括分支发射队列、单周期整数发射队列、多周期整数发射队列、向量/浮点发射队列以及访存发射队列,其中执行单元包括分支执行单元、单周期整数执行单元、多周期整数执行单元、向量/浮点执行单元以及访存执行单元,所述向量发射队列是指向量/浮点发射队列,所述向量执行单元是指向量/浮点执行单元,且每种类型的指令独立选择发射与执行。8.根据权利要求7所述的支持可变长向量处理的可配置处理器,其特征在于,所述寄存
器文件包括整数寄存器文件、向量/浮点寄存器文件、标志位寄存器文件、断言寄存器文件以及系统寄存器文件。9.一种权利要求1~8中任意一项所述的支持可变长向量处理的可配置处理器的实现方法,其特征在于,包括:在应用程序运行过程中实时检测应用程序中是否存在可变长向量处理需求的指令标识,如果检测到存在可变长向量处理需求的指令标识,则通过可配置单元对是否支持可变长向量处理的选项进行配置为支持可变长向量处理,并指定最大支持的向量长度,进入支持可变长向量处理模式,否则通过可配置单元对是否支持可变长向量处理的选项进行配置为不支持可变长向量处理,进入传统的固定长度向量处理模式;在支持可变长向量处理模式下,指令译码与重命名单元中的可变长向量拆分模块针对可变长向量处理操作进行拆分,使其实现对现有固定长度向量处理的执行单元的重用,且所述指令译码与重命名单元中的可变长向量拆分模块针对可变长向量处理操作进行拆分具体是指根据可变长向量的长度l和预设的固定向量长度cl之间的关系在译码阶段对可变长向量处理操作按需进行拆分,将可变长向量拆分为一个或多个固定向量长度cl长度的指令;指令发射与执行单元的向量执行单元针对可变长向量通过一次或多次完成可变长向量的执行,使其实现对现有固定长度向量处理的向量执行单元的重用。10.根据权利要求9所述的支持可变长向量处理的可配置处理器的实现方法,其特征在于,所述支持可变长向量处理模式下的指令执行步骤包括:s1)指令获取:指令获取单元根据配置的取指宽度m,每次从高速指令缓存获取m条指令,并存入本地缓存;如果配置为支持静态预测或动态分支预测,那么指令预取器将从静态或者动态预测地址处获取更多要执行的指令;s2)指令译码与重命名:指令译码与重命名单元首先根据微指令拆分方式每次对一条或多条指令进行预译码,实现对指令进行拆分为一个或多个微指令,对拆分得到的微指令指定全局的id,并存入本地预译码微指令缓存当中;然后根据配置的指令译码宽度n每次从本地预译码微指令缓存中取n条微指令进行译码,并对微指令中的寄存器操作数进行重命名处理;s3)指令定序与分派:指令定序与分派单元根据配置的指令分派宽度p,每次从本地待分派缓存中获取最多p条指令基于指令的类型分派发送到指令发射与执行单元,对于所有已经分配有唯一id的微指令,都会在重定序缓存中分配一项,用于管理该微指令的生命周期状态;当对应id的微执行在执行部件执行完后,会返回一个已完成状态给指令定序与分派单元,并修改微指令状态为“待提交”;当连续的多个id的微指令全部处于“待提交”状态时,以组为单位直接将多条微指令进行提交;s4)指令发射与执行:指令发射与执行单元针对分派的指令类型进行不同的处理:来自指令定序与分派单元的分支指令缓存在分支发射队列当中,发射后在分支执行单元进行执行,分支指令的执行结果包括指定下一条要执行的指令的pc地址,分支预测是否失效;来自指令定序与分派单元的单周期指令缓存在单周期发射队列当中,发射后在单周期整数执行单元进行执行,单周期指令的执行结果包括修改目的整数寄存器或者修改标志寄存器;来自指令定序与分派单元的多周期指令缓存在多周期发射队列当中,发射后在多周期执行单元进行执行,多周期指令的执行结果包括修改目的整数寄存器或者修改标志寄存器或者修改目的系统寄存器;来自指令定序与分派单元的向量/浮点指令缓存在向量/浮点发射队列
当中,发射后在向量/浮点执行单元进行执行,向量浮点指令的执行结果包括修改目的向量/浮点寄存器或者修改标志寄存器;来自指令定序与分派单元的访存指令缓存在访存发射队列当中,发射后在访存执行单元进行执行,访存指令的执行行为分为从存储器载入数据或者写数据到存储器,执行结果分别为载入数据到目的寄存器和存储数据到存储器。

技术总结
本发明公开了一种支持可变长向量处理的可配置处理器及其实现方法,本发明支持可变长向量处理的可配置处理器包括指令获取单元、指令译码与重命名单元、指令定序与分派单元、指令发射与执行单元、寄存器文件、高速指令与数据缓存以及用于初始或实时对是否支持可变长向量处理的选项进行配置的可配置单元,指令译码与重命名单元、指令发射与执行单元两者均包含复用的用于处理变长向量、固定长度向量处理的执行单元。本发明能够支持可变长向量处理,可复用现有通用微处理器的数据通路,最小化设计复杂度和实现代价,同时兼顾可配置和灵活性,在提供足够可配置的条件下还能够不让芯片面积显著增加。面积显著增加。面积显著增加。


技术研发人员:雷国庆 隋兵才 王俊辉 郭维 郭辉 邓全 孙彩霞 倪晓强 郑重 黄立波 王永文
受保护的技术使用者:中国人民解放军国防科技大学
技术研发日:2021.07.30
技术公布日:2021/11/2
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献