[发明专利]针对基于块的处理器的调试支持有效
申请号: | 201680054433.2 | 申请日: | 2016-09-13 |
公开(公告)号: | CN108027731B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | D·C·伯格;A·L·史密斯 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F11/00;G06F11/36;G06F9/30 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 基于 处理器 调试 支持 | ||
1.一种处理器,包括:
多个基于块的处理器核,包括第一基于块的处理器核,用于执行包括指令头部和多个指令的指令块,所述第一基于块的处理器核包括:
执行控制逻辑,被配置为在默认执行模式期间调度所述多个指令中的相应指令用于按照动态顺序执行,并且在调试模式期间调度所述相应指令用于按照静态顺序执行,所述动态顺序是在所述指令块的执行期间并且基于所述多个指令的操作数何时准备好而被确定的,所述静态顺序是基于在所述指令块被执行之前可用的信息而被确定的;以及
与所述执行控制逻辑通信的核状态访问逻辑,所述核状态访问逻辑被配置为读取所述基于块的处理器核的中间状态并且仅在所述调试模式期间在所述基于块的处理器核外部提供所述中间状态;以及
硬件控制单元,包括耦合至所述多个基于块的处理器核的调试控制模块,所述调试控制模块被配置为从所述核状态访问逻辑接收所述中间状态并且基于来自用户的输入更新所述中间状态中的至少一项。
2.根据权利要求1所述的处理器,其中所述静态顺序是编译器生成的顺序。
3.根据权利要求1所述的处理器,其中所述静态顺序基于所述指令块的依赖图的宽度优先遍历。
4.根据权利要求1所述的处理器,其中所述静态顺序与编译器生成的顺序不同,并且其中所述执行控制逻辑还被配置为接收指示要执行所述指令块的哪个指令的信息。
5.根据权利要求1所述的处理器,其中所述处理器核的所述中间状态包括所述处理器核的指令窗口的操作数缓冲器。
6.根据权利要求1所述的处理器,还包括:
与所述执行控制逻辑通信的头部译码逻辑,所述头部译码逻辑被配置为对所述指令块的所述指令头部进行译码,并且其中所述调试模式响应于对所述指令头部的声明的标志进行译码而被发起。
7.根据权利要求1所述的处理器,其中所述基于块的处理器核的所述中间状态是所述基于块的处理器核本地的未提交结果。
8.一种在第一基于块的处理器核上执行第一指令块和在第二基于块的处理器核上执行第二指令块的方法,所述第一指令块包括第一指令头部和第一多个指令,所述第二指令块包括第二指令头部和第二多个指令,所述方法包括:
在默认执行模式期间调度所述第一多个指令用于按照动态顺序执行,所述动态顺序是在所述第一指令块的执行期间并且基于所述第一多个指令的操作数何时准备好而被确定的;
通过在所述第一基于块的处理器核和所述第二基于块的处理器核之间共享的硬件控制单元的调试控制模块,基于在所述第二指令块被执行之前可用的信息,确定用于执行所述第二多个指令的静态顺序,所述静态顺序不同于用于执行所述第二多个指令的编译器生成的顺序;
在调试模式期间调度所述第二指令块的所述第二多个指令用于按照所述静态顺序执行;
读取所述第二基于块的处理器核的中间状态;以及
仅在所述调试模式期间在所述第二基于块的处理器核外部提供所述中间状态。
9.根据权利要求8所述的方法,其中所述静态顺序基于所述指令块的依赖图的宽度优先遍历。
10.根据权利要求8所述的方法,其中所述方法还包括:
在所述第二基于块的处理器核处,从所述调试控制模块接收指示要执行所述第二指令块的哪个指令的信息。
11.根据权利要求8所述的方法,其中所述第二基于块的处理器核的所述中间状态包括所述第二基于块的处理器核的指令窗口的操作数缓冲器。
12.根据权利要求8所述的方法,还包括:
对所述第二指令头部进行译码,以及
响应于对所述第二指令头部的声明的标志进行译码而发起所述调试模式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680054433.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:集尘器的控制系统和控制方法
- 下一篇:一种手术显微镜