[发明专利]分段式指令块在审
申请号: | 201680054052.4 | 申请日: | 2016-09-13 |
公开(公告)号: | CN108027729A | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | D·C·伯格;A·L·史密斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38;G06F9/46 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;杜波 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 段式 指令 | ||
1.一种包括基于块的处理器核的处理器,所述基于块的处理器核用于执行包括指令头部和一条或多条指令的指令块,所述基于块的处理器核包括:
头部译码逻辑,其被配置为对所述指令块头部进行译码以确定所述指令块内的多个子块的指定的起始位置;以及
与所述头部译码逻辑通信的取回逻辑,所述取回逻辑被配置为针对所述多个子块中的一个或多个子块的多条指令发起并行取回和译码操作。
2.根据权利要求1所述的基于块的处理器核,其中所述指令块包括具有两个或更多个不同长度的指令,并且其中所述多个子块中的给定子块内的所有指令具有相同的长度。
3.根据权利要求2所述的基于块的处理器核,还包括:
指令译码逻辑,其被配置为对所述多个子块的指令进行译码,并且其中在给定时钟周期期间,针对所述多个子块中的第一子块,第一数目的指令被译码,并且针对所述多个子块中的第二子块,第二数目的指令被译码,所述第一数目不同于所述第二数目。
4.根据权利要求1所述的基于块的处理器核,其中所述指令块包括不同长度的指令,并且所述多个子块中的给定子块包括具有两个或更多个不同长度的指令。
5.根据权利要求4所述的基于块的处理器核,还包括:
指令译码逻辑,其被配置为确定与所述给定子块的下一指令的起始位置相对应的取回地址。
6.根据权利要求1-5中的任一项所述的基于块的处理器核,其中所述一个或多个子块中的相应子块具有不同数目的指令。
7.根据权利要求1-5中的任一项所述的基于块的处理器核,其中所述指令块的所述多个子块中没有子块具有多于最大数目的指令,指令的所述最大数目由所述基于块的处理器核的指令集架构预定义。
8.根据权利要求1-7中的任一项所述的基于块的处理器核,其中所述指令块是通过包括以下步骤的方法生成的:
将指令分组到以在所述基于块的处理器上执行为目标的多个指令块中;
将相应指令块的指令分组到所述相应指令块的多个分段中;
生成用于所述相应指令块的指令块头部,所述头部包括用于确定所述多个分段中的分段的起始位置的信息;以及
在计算机可读存储器或存储设备中发射所述多个指令块以供所述基于块的处理器执行。
9.一种利用基于块的处理器核取回和译码指令的方法,所述方法包括:
接收指令块的指令块头部,所述指令块包括第一分段和第二分段,所述第一分段和所述第二分段中的每一个包括一条或多条指令;
至少基于对所述指令块头部进行译码来确定所述第一分段的地址;
并行地取回来自所述第一分段的第一指令和来自所述第二分段的第二指令;以及
并行地对所述第一指令和所述第二指令进行译码。
10.根据权利要求9所述的方法,其中所述第一分段的所述一条或多条指令中的每条指令具有第一长度,并且所述第二分段的所述一条或多条指令中的每条指令具有不同于所述第一长度的第二长度。
11.根据权利要求9或10中的任一项所述的方法,其中取回所述第一指令和所述第二指令包括:将与所述第一指令相关联的第一读取地址和与所述第二指令相关联的第二读取地址提供给所述基于块的处理器核的指令高速缓存。
12.根据权利要求9所述的方法,其中所述指令块包括不同长度的指令,并且对所述第一指令进行译码包括:确定所述第一指令的第一长度,并且对所述第二指令进行译码包括:确定所述第二指令的第二长度。
13.根据权利要求9或12中的任一项所述的方法,其中所述指令块包括不同长度的指令,并且对所述第一指令和所述第二指令进行译码包括:基于所述第一指令的长度确定第三指令的地址,以及基于所述第二指令的长度确定第四指令的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680054052.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于由重烃进料生产芳烃的方法
- 下一篇:阻尼器