[发明专利]用于在程序指令的控制下处理数据的装置和方法有效
申请号: | 201480063809.7 | 申请日: | 2014-10-14 |
公开(公告)号: | CN105745619B | 公开(公告)日: | 2019-01-04 |
发明(设计)人: | 史鲁提·帕特曼纳哈;安德鲁·鲁克法尔;力图帕那·达斯;斯科特·马科 | 申请(专利权)人: | 密执安大学评议会 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 桑敏 |
地址: | 美国密*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 机制 之间 切换 控制 | ||
1.一种用于在程序指令的控制下处理数据的装置,所述装置包括:
第一执行电路,所述第一执行电路被配置为执行程序指令;
第二执行电路,所述第二执行电路被配置为执行所述程序指令,所述第二执行电路在执行所述程序指令时比所述第一执行电路具有更低的能量消耗,以及所述第二执行电路比所述第一执行电路需要更长的时间来执行所述程序指令;以及
控制电路,所述控制电路被配置为控制所述程序指令由所述第一执行电路执行还是由所述第二执行电路执行,其中
所述控制电路包括预测电路,所述预测电路被配置为:
(i)根据最近执行的程序指令序列来预测待执行的下一程序指令序列的预测标识;以及
(ii)根据所述预测标识,预测与所述下一程序指令序列应由所述第一执行电路执行还是应由所述第二执行电路执行相对应的预测执行目标;以及
所述控制电路被配置为根据所述预测执行目标选择所述第一执行电路或所述第二执行电路来执行所述下一程序指令序列。
2.如权利要求1所述的装置,其中,所述程序指令具有相关联的地址和默认程序流,所述默认程序流以与在默认方向顺序向前通过所述地址相对应的顺序执行指令,以及所述预测电路根据以下各项将所述程序指令划分为程序指令序列,所述程序指令序列包括所述下一程序指令序列和所述最近执行的程序指令序列:
(i)所述程序指令序列包含多于阈值数目的程序指令;以及
(ii)所述程序指令序列受非顺序指令约束,在所述非顺序指令处程序流在与所述默认方向相反的方向移动。
3.如权利要求2所述的装置,其中,所述非顺序指令包括以下各项中的一个或多个:分支指令、调用指令以及返回指令。
4.如权利要求2和3中任一项所述的装置,其中,所述默认方向相应于与所述程序指令相关联的顺序增加地址。
5.如权利要求2所述的装置,其中,所述程序指令序列在约束所述程序指令序列的所述非顺序指令之间包含一个或多个非顺序指令。
6.如权利要求2所述的装置,其中,所述程序指令序列在其执行开始受所述程序流内之前程序指令序列内的非顺序指令约束。
7.如权利要求2所述的装置,其中,所述预测电路包括散列生成电路,所述散列生成电路被配置为根据程序指令序列内所述非顺序指令中的至少一些非顺序指令的地址值生成散列值,所述散列值被用作所述程序指令序列的标识符值的至少一部分。
8.如权利要求7所述的装置,其中,所述散列生成电路被配置为使用散列函数生成所述散列值,所述散列函数给所述程序指令序列内在程序流顺序中较后的非顺序程序指令的地址值较大的权重。
9.如权利要求7所述的装置,其中,所述散列生成电路被配置为使用散列函数生成所述散列值,所述散列值取决于所述程序指令序列内的程序流顺序中最近的N个非顺序程序指令,其中N是等于15的整数值。
10.如权利要求7所述的装置,其中,所述预测电路被配置为使用程序指令的目标地址值的至少一部分作为程序指令序列的所述标识符值的至少一部分,所述程序指令将在终止所述程序指令序列的非顺序程序之后被执行。
11.如权利要求2所述的装置,其中,所述阈值数目在100和10000之间。
12.如权利要求2所述的装置,其中,所述阈值数目为300。
13.如权利要求1所述的装置,其中,所述预测电路被配置为生成所述最近执行的程序指令序列的标识符值,以及所述预测电路包括标识符预测表电路,所述标识符预测表电路被配置为使用所述最近执行的程序指令序列的所述标识符值作为到所述标识符预测表电路的索引,以预测所述下一程序指令序列的标识符值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于密执安大学评议会,未经密执安大学评议会许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480063809.7/1.html,转载请声明来源钻瓜专利网。