[发明专利]一种面向标量和向量指令混合执行的发射方法及装置有效
申请号: | 201810668398.4 | 申请日: | 2018-06-26 |
公开(公告)号: | CN109062604B | 公开(公告)日: | 2021-07-23 |
发明(设计)人: | 袁媛;张承义;游柏青;高军;苑佳红;王玉姣;刘晓燕;丁哲;王晓凤 | 申请(专利权)人: | 飞腾技术(长沙)有限公司;飞腾信息技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 谭武艺 |
地址: | 410003 湖南省长沙市东风路街道芙蓉*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 标量 向量 指令 混合 执行 发射 方法 装置 | ||
1.一种面向标量和向量指令混合执行的发射方法,其特征在于实施步骤包括:
1)接收标量指令和向量指令并存储在共用的发射队列中;
2)从发射队列中选取一条具备发射条件的待发射指令,判断待发射指令的类型,如果待发射指令为可拆分的向量指令,则将向量指令拆分成向量微指令并存储到单独的向量缓冲部件中;对发射队列中具备发射条件的标量指令、向量缓冲部件中的向量微指令仲裁发射;
3)将发射完毕的指令从发射队列或向量缓冲部件中删除;
步骤2)的详细步骤包括:
2.1)从发射队列中选取一条具备发射条件的待发射指令;
2.2)判断待发射指令是否是可拆分的向量指令,如果不是可拆分的向量指令则跳转执行步骤2.3);否则,跳转执行步骤2.5);
2.3)判断向量缓冲部件中是否有向量微指令需要发射,如果有则在指令队列中继续等待,跳转执行步骤2.1);否则,跳转执行步骤2.4);
2.4)判定待发射指令为标量指令,将标量指令送入功能部件的流水线,标量指令发射到功能部件流水线后如果重启,则跳转执行步骤2.1)重新发射,如果没有重启则标量指令执行完成后从发射队列中清除,标量指令执行完毕;跳转执行步骤2.1);
2.5)将可拆分的向量指令拆分成向量微指令并存储在向量缓冲部件中;
2.6)判断是否遇到取消发射信号,如果拆分成向量微指令并存储在向量缓冲部件中后如果遇到取消发射信号,则将向量缓冲部件中的向量微指令作废掉,跳转执行步骤2.1)将待发射指令在指令队列中重新排序等待发射;否则,跳转执行下一步;
2.7)将向量缓冲部件中的向量微指令送入功能部件的流水线,在向量微指令的执行过程中如果遇到重启则跳转执行步骤2.7)将该向量微指令在向量缓冲部件中重新等待发射;跳转执行步骤2.3)直至最后一条向量微指令送入功能部件的流水线时跳转执行步骤2.8);
2.8)判定待发射指令执行完成,将待发射指令的向量微指令从向量缓冲部件中删除。
2.根据权利要求1所述的面向标量和向量指令混合执行的发射方法,其特征在于,步骤2.1)从发射队列中选取一条具备发射条件的待发射指令时具体是指根据乱序发射机制选择具备发射条件的所有未发射指令中最老的指令作为待发射指令。
3.根据权利要求1所述的面向标量和向量指令混合执行的发射方法,其特征在于,步骤2.1)从发射队列中选取一条具备发射条件的待发射指令时具体是指判断发射队列中最老的指令是否具备发射条件,如果具备发射条件则将最老的指令作为待发射指令。
4.根据权利要求1所述的面向标量和向量指令混合执行的发射方法,其特征在于,步骤2.7)将向量缓冲部件中的向量微指令送入功能部件的流水线时,如果向量缓冲部件某一拍的向量微指令具备发射条件,则阻塞发射队列的发射标量指令、且在当前向量指令的向量微指令未全部发送完毕之前阻塞向量缓冲部件接收其他向量指令;如果向量缓冲部件某一拍的向量微指令由于自身的原因不能发射,那么这一拍不阻塞发射队列的发射标量指令,则将发射队列中最老的一条具备发射条件的标量指令送入功能部件的流水线,所述发射队列中具备指针a和指针b两套指针,指针a记录的是所有准备好了未发射的指令间的新老关系,指针b只记录未发射标量指令间的新老关系。
5.一种面向标量和向量指令混合执行的发射装置,其特征在于包括:
指令队列,用于接收标量指令和向量指令并存储;
向量缓冲部件,用于从发射队列中选取一条具备发射条件的待发射指令,判断待发射指令的类型,如果待发射指令为可拆分的向量指令,则将向量指令拆分成向量微指令并存储到单独的向量缓冲部件中;
仲裁部件,用于对发射队列中具备发射条件的标量指令、向量缓冲部件中的向量微指令仲裁发射,并将发射完毕的指令从发射队列或向量缓冲部件中删除;所述仲裁部件从发射队列中选取一条具备发射条件的待发射指令,判断待发射指令的类型,如果待发射指令为可拆分的向量指令,则将向量指令拆分成向量微指令并存储到单独的向量缓冲部件中;对发射队列中具备发射条件的标量指令、向量缓冲部件中的向量微指令仲裁发射的步骤包括:
2.1)从发射队列中选取一条具备发射条件的待发射指令;
2.2)判断待发射指令是否是可拆分的向量指令,如果不是可拆分的向量指令则跳转执行步骤2.3);否则,跳转执行步骤2.5);
2.3)判断向量缓冲部件中是否有向量微指令需要发射,如果有则在指令队列中继续等待,跳转执行步骤2.1);否则,跳转执行步骤2.4);
2.4)判定待发射指令为标量指令,将标量指令送入功能部件的流水线,标量指令发射到功能部件流水线后如果重启,则跳转执行步骤2.1)重新发射,如果没有重启则标量指令执行完成后从发射队列中清除,标量指令执行完毕;跳转执行步骤2.1);
2.5)将可拆分的向量指令拆分成向量微指令并存储在向量缓冲部件中;
2.6)判断是否遇到取消发射信号,如果拆分成向量微指令并存储在向量缓冲部件中后如果遇到取消发射信号,则将向量缓冲部件中的向量微指令作废掉,跳转执行步骤2.1)将待发射指令在指令队列中重新排序等待发射;否则,跳转执行下一步;
2.7)将向量缓冲部件中的向量微指令送入功能部件的流水线,在向量微指令的执行过程中如果遇到重启则跳转执行步骤2.7)将该向量微指令在向量缓冲部件中重新等待发射;跳转执行步骤2.3)直至最后一条向量微指令送入功能部件的流水线时跳转执行步骤2.8);
2.8)判定待发射指令执行完成,将待发射指令的向量微指令从向量缓冲部件中删除。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞腾技术(长沙)有限公司;飞腾信息技术有限公司,未经飞腾技术(长沙)有限公司;飞腾信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810668398.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种微端的生成方法
- 下一篇:面向滑动窗口向量处理的方法及装置