[发明专利]在乱序处理器中具有一个或多个摘要位的可扩展依赖矩阵在审
申请号: | 201880066923.3 | 申请日: | 2018-11-09 |
公开(公告)号: | CN111226196A | 公开(公告)日: | 2020-06-02 |
发明(设计)人: | J·西尔贝曼;B·辛哈罗伊 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 酆迅;姚杰 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 具有 一个 摘要 扩展 依赖 矩阵 | ||
1.一种计算机实现的方法,包括:
跟踪发布队列中的指令之间的依赖,其中,跟踪包括对于发布队列中的每一个指令:
识别所述指令是否依赖于在所述指令之前添加到发布队列的阈值数目的指令的每一个,其中,分别跟踪所述指令和所述阈值数目的指令的每一个之间的依赖;和
识别所述指令是否依赖于在未包括在所述阈值数目的指令的每一个的指令之前添加到发布队列的一个或多个其他指令,其中,将所述指令和所述其他指令的每一个之间的依赖作为一个组或多个组进行跟踪,跟踪通过基于识别所述指令和至少一个所述其他指令或所述多个组的组中的至少一个指令之间的依赖指示所述指令和所述一个组或多个组中的一个组之间存在依赖,所述一个组的其他指令包括发布队列中未包括在分别跟踪的阈值数目的指令中的所有指令,并且其中所述其他指令的每一个被分配给所述多个组中的至少一个组;并且
至少部分地基于跟踪从发布队列发布指令。
2.根据权利要求1所述的计算机实现的方法,包括:识别所述指令是否依赖于在未包括在所述阈值数目的指令的每一个的指令之前添加到发布队列的一个或多个其他指令,其中将所述指令和其他指令之间的依赖作为一个单个组进行跟踪,跟踪通过基于识别所述指令和至少一个其他指令之间的依赖指示所述指令和其他指令的该单个组之间存在依赖,其他指令的该单个组包括发布队列中未包括在分别跟踪的所述阈值数目的指令中的所有指令。
3.根据权利要求1所述的计算机实现的方法,包括:识别所述指令是否依赖于在未包括在所述阈值数目的指令的每一个的指令之前添加到发布队列的一个或多个其他指令,其中将所述指令和其他指令的每一个之间的依赖作为多个组进行跟踪,跟踪通过基于识别所述指令和组中的至少一个指令之间的依赖指示所述指令和多个组中的一个之间存在依赖,其中其他指令的每一个被分配给至少一个组。
4.根据权利要求1或2所述的计算机实现的方法,其中使用单个摘要位跟踪所述指令与其他指令的单个组之间的依赖性。
5.根据权利要求1或3所述的计算机实现的方法,其中为多个组的每一个使用不同的摘要位跟踪所述指令与多个组的每一个之间的依赖性。
6.根据权利要求4所述的计算机实现的方法,其中设置单个摘要位以指示所述指令与其他指令的单个组中的至少一个指令之间存在依赖,并且在设置所述单个摘要位之后重置摘要位,以至少部分地基于检测到其他指令的单个组中的所有其他指令都已经从发布队列发布以指示所述指令和其他指令的组之间不再存在依赖。
7.根据权利要求5所述的计算机实现的方法,其中设置用于多个组的每一个的摘要位以指示所述指令和该组中的至少一个指令之间存在依赖,并且在设置所述摘要位之后重置摘要位,以至少部分的基于检测到分配给该组的所有指令都已经从发布队列发布以指示所述指令和该组之间不再存在依赖。
8.根据权利要求1所述的计算机实现的方法,其中为所述阈值数目的质量的每一个用一个单独的位跟踪所述指令和所述阈值数目的指令的每一个之间的依赖性。
9.根据权利要求1所述的计算机实现的方法,其中发布队列是先进先出(FIFO)队列并且发布队列中的指令基于他们被添加到发布队列的顺序进行排序。
10.跟据权利要求1所述的计算机实现的方法,其中发布队列中的指令来乱序处理器执行的单个线程。
11.根据权利要求1所述的计算机实现的方法,其中发布队列保持N个指令并且所述阈值数目的指令为N/2。
12.根据权利要求1所述的计算机实现的方法,其中所述阈值数目的指令的每一个的指令包括对应于多线程环境中的单个线程的发行队列中的所有指令。
13.根据权利要求1所述的计算机实现的方法,其中所述阈值数目是可编程的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880066923.3/1.html,转载请声明来源钻瓜专利网。