[发明专利]处理器的事务寄存器文件在审
申请号: | 201780047328.0 | 申请日: | 2017-07-21 |
公开(公告)号: | CN109564508A | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | A·L·史密斯;J·S·格雷 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华;姚杰 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 寄存器 字段 寄存器文件 处理器核 指令 状态时 事务 处理器架构 写入寄存器 读寄存器 处理器 更新 可用 发送 配置 | ||
1.一种用于执行指令块的基于块的处理器核,所述处理器核包括:
事务寄存器文件,包括多个寄存器,每个寄存器包括前一值字段和下一值字段,所述前一值字段用于存储与在所述处理器核上的所述指令块的执行之前的状态相对应的值,所述下一值字段用于存储与在所述处理器核上的所述指令块的执行之后的状态相对应的值,所述下一值字段在寄存器写消息被接收到并且所述处理器核正在非推测地执行时被更新,并且所述前一值字段在寄存器写消息被接收到并且所述处理器核正在推测地执行时被更新;以及
执行单元,被配置为执行所述指令块的指令,所述执行单元被配置为从所述事务寄存器文件的所述前一值字段读寄存器值,并且使得寄存器写消息在所述指令块的所述指令写到所述寄存器时从所述处理器核被发送。
2.根据权利要求1所述的处理器核,其中所述事务寄存器文件还可以包括针对所述多个寄存器中的每个寄存器的未决状态,并且所述未决状态响应于接收到写掩码消息被断言,所述写掩码消息指示所述寄存器是由在程序顺序中比在所述处理器核上正被执行的所述指令块更早的指令块的指令写的。
3.根据权利要求2所述的处理器核,还包括:
指令调度器逻辑,被配置为至少部分地基于针对所述事务寄存器文件的每个寄存器的所述未决状态来以数据流顺序向所述执行单元发布所述指令块的所述指令。
4.根据权利要求1-3中任一项所述的处理器核,还包括:
译码逻辑,被配置为确定要由所述指令块的所述指令写的寄存器,并且使得写掩码消息从所述处理器核被发送,所述写掩码消息至少指示要由所述指令块的所述指令写的所述寄存器。
5.根据权利要求1-4中任一项所述的处理器核,其中所述执行单元还被配置为检测所述指令块的指令的中止条件,并且当所述中止条件被检测到时,使得暂停消息从所述处理器核被发送。
6.根据权利要求5所述的处理器核,还包括:
中止管理逻辑,被配置为确定由所述指令块的所述指令推测地写的所述事务寄存器文件的所有寄存器,并执行回滚动作,所述回滚动作恢复由所述指令块的所述指令推测地写的每个寄存器的值。
7.根据权利要求6所述的处理器核,其中所述中止管理逻辑还被配置为在所述中止条件被检测之后并且在由所述指令块的所述指令推测地写的每个寄存器的所有所述寄存器写消息从所述处理器核被发送之后,使得所述中止消息从所述处理器核被发送。
8.根据权利要求1所述的处理器核,其中所述执行单元还被配置为:响应于无效指令被执行,使得寄存器写消息从所述处理器核被发送,所述无效指令指示未由所述指令块写的寄存器,所述寄存器写消息包括针对未由所述指令块写的所述寄存器的所述前一值字段中存储的所述值。
9.一种执行指令块的方法,该方法包括:
在处理器核处接收第一寄存器写消息,所述第一寄存器写消息包括寄存器值;
基于所述处理器核的状态来选择事务寄存器文件的条目的前一寄存器值字段或下一寄存器值字段以进行更新;以及
用所述寄存器值来更新所述事务寄存器文件的所述条目的所选的所述寄存器值字段。
10.根据权利要求9所述的方法,其中所述前一寄存器值字段在所述处理器核的所述状态不是非推测执行状态时被选择用于更新。
11.根据权利要求9或10中任一项所述的方法,还包括:
在所述处理器核处接收写掩码消息,所述写掩码消息指示所述事务寄存器文件的所述寄存器将由在程序顺序中比所述指令块更早的一个或多个指令块写;以及
至少部分地基于所接收的所述写掩码消息,以数据流顺序发布所述指令块的所述指令以用于执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780047328.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法、系统和存储介质
- 下一篇:外积引擎