[发明专利]寄存器读取/写入排序有效
| 申请号: | 201680054181.3 | 申请日: | 2016-09-13 |
| 公开(公告)号: | CN108027767B | 公开(公告)日: | 2022-08-09 |
| 发明(设计)人: | D·C·伯格;A·L·史密斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
| 主分类号: | G06F12/0806 | 分类号: | G06F12/0806;G06F9/38;G06F9/30 |
| 代理公司: | 北京世辉律师事务所 16093 | 代理人: | 李峥宇 |
| 地址: | 美国华*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 寄存器 读取 写入 排序 | ||
1.一种装置,包括处理器,所述处理器包括一个或多个处理器核,所述核中的每个核可配置为执行一个或多个指令,所述核中的每个核包括:
执行单元,被配置为执行寄存器读取和写入指令来分别从寄存器文件进行读取和/或向所述寄存器文件进行写入,所述寄存器文件包括多个寄存器,
存储数据的硬件结构,所述硬件结构包括:
寄存器写入掩码,存储指示当前指令组要写入所述寄存器文件中的哪些寄存器的数据;以及
寄存器读取掩码,存储指示下一指令组要读取所述寄存器文件中的哪些寄存器的数据;以及
控制单元,被配置为通过以下方式来控制所述下一指令组的个体寄存器读取和写入指令向所述执行单元的发出:将所述寄存器写入掩码数据与所述寄存器读取掩码数据进行比较并且当所述寄存器写入掩码指示相应的个体指令所依赖的任意寄存器已经由所述当前指令组写入时,允许所述个体寄存器读取和写入指令的所述相应的个体指令的执行。
2.根据权利要求1所述的装置,其中所述硬件结构还包括以下中的至少一个:寄存器写入掩码、寄存器写入向量寄存器、内容可寻址存储器(CAM)或查找表。
3.根据权利要求1所述的装置,其中存储在所述硬件结构中的数据指示所述寄存器中的哪个寄存器要由执行指令块的所述指令中的至少一个指令的核来写入。
4.根据权利要求1所述的装置,其中存储在所述硬件结构中的所述数据指示所述寄存器中的哪些寄存器已经在执行指令块的所述指令中的至少一个指令的实例期间被所述核写入。
5.根据权利要求1所述的装置,其中存储在所述硬件结构中的所述数据由译码所述寄存器读取和写入指令的指令译码器生成。
6.根据权利要求1所述的装置,其中存储在所述硬件结构中的所述数据是通过从编码在指令块中的指令头部读取写入掩码数据来生成的。
7.根据权利要求1所述的装置,其中所述写入指令包括显式寄存器写入指令。
8.根据权利要求7所述的装置,其中所述控制单元还被配置为将写入向量寄存器数据与来自所述硬件结构的写入掩码数据进行比较,以确定哪些寄存器写入指令已经被执行。
9.根据权利要求1所述的装置,其中所述控制单元还被配置为将写入向量寄存器数据与来自所述硬件结构的写入掩码数据进行比较以确定针对被排序为要在下一指令块之前执行的指令块的所有寄存器写入指令将执行,并且基于所述确定来向所述执行单元发出所述指令块的一个或多个指令。
10.根据权利要求1所述的装置,其中所述控制单元包括计数器,所述计数器在针对先前的指令块的寄存器写入指令被执行时递增,并且其中在所述计数器达到针对在所述先前的指令块中执行的寄存器写入的数目的预定值时,所述控制单元指示所述指令块就绪执行。
11.一种操作处理器以执行包括多个寄存器访问指令的当前指令块的方法,所述方法包括:
通过以下方式来选择要执行的所述多个寄存器访问指令中的寄存器访问指令:将用于先前的指令块的寄存器写入数据与计数器进行比较,所述计数器指示用于所述当前指令块的寄存器访问指令的执行状态;以及
执行所选择的所述寄存器访问指令。
12.根据权利要求11所述的方法,其中数据被存储在写入向量寄存器中,并且其中所述选择包括将来自编码在所述先前的指令块的头部中的寄存器写入掩码的数据与写入向量寄存器数据进行比较。
13.根据权利要求11所述的方法,其中:
数据被存储在写入向量寄存器中;以及
所述选择包括评估针对所述先前的指令块中的一个或多个断言的条件,并且基于所述评估来使所述写入向量寄存器中的一个或多个条目无效。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680054181.3/1.html,转载请声明来源钻瓜专利网。





