[发明专利]多线程处理器中的指令高速缓存有效
申请号: | 201910559689.4 | 申请日: | 2019-06-25 |
公开(公告)号: | CN111381883B | 公开(公告)日: | 2023-09-29 |
发明(设计)人: | 艾伦·格雷汉姆·亚历山大;西蒙·克里斯蒂安·诺尔斯;马杜拉·戈尔;乔纳森·路易斯·弗格森 | 申请(专利权)人: | 图核有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 深圳鹰翅知识产权代理有限公司 44658 | 代理人: | 周婧;黃幸兒 |
地址: | 英国布*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多线程 处理器 中的 指令 高速缓存 | ||
1.一种处理器,包括:
执行单元,其配置为执行指令集中定义的指令类型的实例,其中所述执行单元是配置为运行多个并发线程的桶型线程执行单元,每个并发线程在重复序列的交错时隙的相应一个中运行;和
具有相关状态的重复高速缓存,所述相关状态记录重复高速缓存当前是否被其中一个线程要求;
其中所述指令集中定义的指令类型包括采用重复计数操作数的重复指令,所述执行单元配置为:
a) 当重复高速缓存当前不被要求,根据该状态,并且所述重复指令的相应实例在第一个相应的所述线程中执行时,将来自第一线程的代码部分高速缓存到重复高速缓存中,修改所述状态以将重复高速缓存记录为被要求,以及执行所述代码部分相应的次数,每次所执行的所述代码部分取自重复高速缓存,和
b) 当重复高速缓存当前被要求,根据该状态,并且然后作为任何其他相应的所述线程的一部分,执行所述重复指令的另一个实例直至所述状态之后被重置以再次将重复高速缓存记录为不被要求,执行已经高速缓存的所述代码部分相应的次数,每次来自重复高速缓存;和
其中对于第一个线程中重复指令的每个实例和另一个线程中重复指令的另一个实例,相应重复指令中的重复计数操作数指定执行所述代码部分的相应次数,所述重复计数操作数能够为执行所述代码部分的相应次数指定多个正整数值中的任何一个。
2.如权利要求1所述的处理器,其中所述代码部分是跟随第一线程中的所述重复指令的实例之后的部分。
3.如权利要求2所述的处理器,其中所述重复指令采用重复大小操作数,用于指定所述代码部分的大小,并且其中所述代码部分从跟随第一线程中的所述重复指令的实例之后的预定点运行至由第一线程中的所述重复指令的相应实例的大小操作数定义的后续点。
4.如权利要求1、2或3所述的处理器,其中所述重复计数操作数附加地能够采用零值,并且如果重复计数是零,则所述重复指令使执行单元跳过执行相应线程中的所述代码部分,这包括第一线程的情况。
5.如权利要求1、2或3所述的处理器,其中如果重复计数是一,则所述重复指令使执行单元执行所述代码部分,作为相应线程的一部分,仅一次而没有重复。
6.如权利要求1、2或3所述的处理器,其中所述重复计数操作数是立即操作数,和/或所述重复大小操作数是立即操作数。
7.如权利要求1、2或3所述的处理器,其中:
所述重复计数操作数通过参考从中读取执行所述代码部分的相应次数的寄存器来指定所述相应次数,和/或
所述重复大小操作数通过参考从中读取所述大小的寄存器来指定所述大小。
8.如权利要求1、2或3所述的处理器,包括硬件机构,用于:一旦第一线程和其他线程中的至少一个已经完成执行高速缓存的所述代码部分其相应的次数,则自动地重置所述状态以将重复高速缓存再次记录为不被要求。
9.如权利要求8所述的处理器,其中所述机构配置为在第一线程已经完成执行高速缓存的所述代码部分其相应的次数时,自动地重置所述状态。
10.如权利要求8所述的处理器,其中所述机构配置为在第一线程和其他线程全部已经完成执行高速缓存的所述代码部分其相应的次数时,自动地清除对重复高速缓存的要求。
11.如权利要求1、2或3所述的处理器,包括多组上下文寄存器,每组布置为保持相应一个并发线程的程序状态;
其中所述执行单元配置为:响应于第一线程和其他线程中的每一个中的所述重复指令,执行同一所述代码部分,但以一个或多个相应线程自己的相应上下文寄存器组上保持的一个或多个相应操作数值操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于图核有限公司,未经图核有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910559689.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:挡位确定方法、系统及车辆
- 下一篇:不锈钢嵌入式农业灌溉专用磁化装置