[发明专利]具有重叠执行的流处理器在审
申请号: | 201710527119.8 | 申请日: | 2017-06-30 |
公开(公告)号: | CN109213527A | 公开(公告)日: | 2019-01-15 |
发明(设计)人: | 陈佳升;王庆成;邹云晓;何斌;杨建;迈克尔·J·曼托尔;布莱恩·D·恩贝林 | 申请(专利权)人: | 超威半导体公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海胜康律师事务所 31263 | 代理人: | 李献忠;张华 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 流处理器 时钟周期 操作数 流水线 并行处理单元 读取 矢量寄存器 矢量指令 指令 临时存储器 矢量元素 指令发布 共享 吞吐量 存储 访问 | ||
1.一种系统,其包括:
第一执行流水线;
与所述第一流水线并行的第二执行流水线;和
由所述第一执行流水线和所述第二执行流水线共享的矢量寄存器堆;
其中所述系统被配置为:
在所述第一执行流水线上在第一时钟周期中启动对第一矢量的第一矢量元素执行第一类型指令;
在所述第一执行流水线上在第二时钟周期中启动对所述第一矢量的第二矢量元素执行所述第一类型指令,其中所述第二时钟周期在所述第一时钟周期之后;和
在所述第二执行流水线上在所述第二时钟周期中启动对第二矢量的多个矢量元素执行第二类型指令。
2.如权利要求1所述的系统,其中所述矢量寄存器堆包括单个读取端口以在每个时钟周期将操作数传送到仅一个执行流水线,并且其中所述系统被配置为:
在单个时钟周期内从所述矢量寄存器堆中检索第一矢量指令的多个第一操作数;
将所述多个第一操作数存储在临时存储器中;和
从所述临时存储器访问所述多个第一操作数,以在随后的时钟周期中启动对在所述第一执行流水线上的多个矢量元素执行所述第一矢量指令。
3.根据权利要求2所述的系统,其中所述系统被配置为在所述后续时钟周期期间从所述矢量寄存器堆中检索多个第二操作数,以启动在所述第二执行流水线上执行一个或多个第二矢量指令。
4.根据权利要求1所述的系统,其中所述第一执行流水线是先验流水线,并且其中所述先验流水线包括查找阶段,随后是第一乘法阶段和第二乘法阶段,之后是加法阶段,随后是归一化阶段,以及随后是舍入阶段。
5.根据权利要求4所述的系统,其中,所述系统还被配置为响应于确定所述一个或多个第二矢量指令与所述第一矢量指令之间没有相关性来启动在所述第二执行流水线上执行所述一个或多个第二矢量指令。
6.如权利要求1所述的系统,其中:
所述第一类型指令是矢量先验指令;
所述第一执行流水线是标量先验流水线;
所述第二类型指令是矢量融合乘加指令;以及
所述第二执行流水线是矢量算术逻辑单元。
7.如权利要求1所述的系统,其中所述系统还被配置为:
检测第一矢量指令;
确定所述第一矢量指令的指令类型;
响应于确定所述第一矢量指令是所述第一类型指令而在所述第一执行流水线上发布所述第一矢量指令;和
响应于确定所述第一矢量指令是所述第二类型指令而在所述第二执行流水线上发布所述第一矢量指令。
8.一种方法,其包括:
在第一执行流水线上在第一时钟周期中启动对第一矢量的第一矢量元素执行第一类型指令;
在所述第一执行流水线上在所述第二时钟周期中启动对所述第一矢量的第二矢量元素执行所述第一类型指令,其中所述第二时钟周期在所述第一时钟周期之后;和
在所述第二执行流水线上在第二时钟周期中启动对第二矢量的多个矢量元素执行第二类型指令。
9.根据权利要求8所述的方法,其中所述矢量寄存器堆包括单个读取端口以在每个时钟周期将操作数传送到仅一个执行流水线,并且其中所述方法还包括:
在单个时钟周期内从所述矢量寄存器堆中检索第一矢量指令的多个第一操作数;
将所述多个第一操作数存储在临时存储器中;和
从所述临时存储器访问所述多个第一操作数,以在随后的时钟周期中在所述第一执行流水线上启动对多个矢量元素执行所述第一矢量指令。
10.根据权利要求9所述的方法,还包括在所述后续时钟周期期间从所述矢量寄存器堆中检索多个第二操作数,以启动所述第二执行流水线上的一个或多个第二矢量指令的执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于超威半导体公司,未经超威半导体公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710527119.8/1.html,转载请声明来源钻瓜专利网。