[发明专利]基于块大小将指令块映射到指令窗口有效
申请号: | 201680036642.4 | 申请日: | 2016-06-23 |
公开(公告)号: | CN107771318B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | D·C·伯格;A·史密斯;J·格雷 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;姚杰 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 小将 指令 映射 窗口 | ||
1.一种用于管理在处理器中设置的指令窗口中的指令块的方法,包括:
维持指令块大小的大小表;
读取在指令块的头部中编码的索引,其中所述指令块包括一个或多个指令;
使用所述索引从所述大小表中查找指令块大小;以及
基于大小查找来将所述指令块映射到指令窗口中的可用槽中,以便于最大化所述指令窗口内的指令封装。
2.根据权利要求1所述的方法,还包括将所述指令窗口分段为子窗口。
3.根据权利要求2所述的方法,还包括配置经分段的所述子窗口以共享通常的大小或者使用两个以上的不同的大小来实现。
4.根据权利要求3所述的方法,其中经分段的所述子窗口根据指令块大小的分布来动态地调整大小。
5.根据权利要求1所述的方法,还包括将所述大小表维持为使用逻辑、寄存器、存储器或代码流中的一种来表达的逻辑大小表。
6.根据权利要求1所述的方法,还包括设置所述大小表中的所述大小以与在与程序相关联的指令块大小的分布之间的通常地使用的大小相匹配。
7.一种基于指令块的处理器,包括:
控制单元;
一个或多个操作数缓冲区;以及
指令窗口,被配置为存储与程序相关联的解码的指令块,所述程序在所述控制单元控制下,其中所述控制包括以下操作:
使用逻辑、寄存器、存储器、或代码流中的一种来实现大小表,其中所述大小表包括与在所述程序中使用的指令块的分布内的通常利用的大小相对应的两个以上的不同的大小,
检查指令块的头部中的指针,其中所述指针引用所述大小表中标识的指令块大小,以及
基于从所述表中标识的所述大小来确定指令块在所述指令窗口中的放置。
8.根据权利要求7所述的基于指令块的处理器,还包括用于为每个指令块执行批量分配以获得与所述块中的指令相关联的资源的配置。
9.根据权利要求7所述的基于指令块的处理器,还包括用于基于在所述指令块的头部中指定的限制来映射所述指令块的配置,其中指定的所述限制包括所述指令窗口的对齐限制或指令块容量限制中的一种。
10.根据权利要求7所述的基于指令块的处理器,还包括用于跟踪所述指令窗口中的所述指令块的顺序并且无序地提交指令块的配置。
11.根据权利要求7所述的基于指令块的处理器,还包括用于显式地跟踪当前在所述指令窗口中映射的指令块的年龄并且基于显式跟踪的年龄来提交指令块的配置。
12.根据权利要求7所述的基于指令块的处理器,还包括用于当所述指令窗口中的槽可用于适配所述指令块时将指令块映射到所述指令窗口的配置。
13.根据权利要求7所述的基于指令块的处理器,还包括用于使用循环缓冲区来将指令块映射到所述指令窗口的配置。
14.根据权利要求7所述的基于指令块的处理器,还包括用于刷新所述指令块而不从指令高速缓存重新取回所述指令块的配置。
15.一种设置在处理器上的控制单元,所述控制单元被布置为执行用于指令块管理的方法,所述方法包括:
将指令窗口配置为具有多个分段,其中分段具有两个或更多个不同的大小;
针对在其中编码的索引检查指令块的头部,其中所述指令块包括一个或多个指令;
使用所述索引从大小表中查找指令块大小;以及
基于大小查找来将所述指令块放置到所述指令窗口的分段中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680036642.4/1.html,转载请声明来源钻瓜专利网。