[发明专利]推测版本控制高速缓存内的检查点有效
申请号: | 201080036698.2 | 申请日: | 2010-07-19 |
公开(公告)号: | CN102473156A | 公开(公告)日: | 2012-05-23 |
发明(设计)人: | A·埃钦伯格;A·加拉;M·格什温;M·奥赫马特 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F15/00 | 分类号: | G06F15/00;G06F9/00 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 申发振 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 推测 版本 控制 高速缓存 检查点 | ||
1.一种数据处理系统(100)中的方法,用于在所述数据处理系统(100)的推测版本控制高速缓存(310)中产生检查点,该方法包括:
由所述数据处理系统(100)的至少一个处理器(106、370-376、1270-1276)执行所述数据处理系统(100)内的代码,其中所述代码访问所述推测版本控制高速缓存(310、1210)中的高速缓存行;
由所述数据处理系统(100)确定指示需要在所述推测版本控制高速缓存(310、1210)中产生检查点(1030)的第一条件是否发生(1350),其中所述检查点(1030)是一个或更多个推测高速缓存行,所述推测高速缓存行出于响应于发生第二条件执行回滚操作以便使对与所述一个或更多个推测高速缓存行对应的高速缓存行的改变无效的目的,存储状态信息;和
响应于确定发生了第一条件,在推测版本控制高速缓存(310、1210)中产生(1370)所述检查点(1030)。
2.如权利要求1所述的方法,还包括:在所述数据处理系统(100)中存储与所述推测版本控制高速缓存(310、1210)相关联的一个或更多个版本压力阈值,其中确定指示需要在所述推测版本控制高速缓存(310、1210)中产生所述检查点(1030)的第一条件是否发生包括:在代码执行时确定所述推测版本控制高速缓存(310、1210)的版本压力是否达到或超过所述一个或更多个版本压力阈值(1340)。
3.如权利要求2所述的方法,其中所述一个或更多个版本压力阈值(1340)包括推测版本控制高速缓存级别、相关联的高速缓存行级别集合和单独的线程级别之一的一个或更多个阈值。
4.如权利要求1所述的方法,其中所述推测版本控制高速缓存(310、1210)包括用于存储与读/加载操作相关联的非推测高速缓存行的第一部分和用于存储与写/存储操作相关联的推测高速缓存行的第二部分。
5.如权利要求4所述的方法,其中第二部分具有基于所述推测版本控制高速缓存(310、1210)的总容量的最大大小限制,并且其中确定指示需要在所述推测版本控制高速缓存(310、1210)中产生检查点的第一条件是否发生(1350)包括:确定所述推测版本控制高速缓存(310、1210)中的第二部分中的高速缓存行数目是否达到或超过基于所述最大大小限制的版本压力阈值。
6.如权利要求1所述的方法,其中第二条件是对所述推测版本控制高速缓存(310、1210)中的缓存数据中的软错误的检测。
7.如权利要求2所述的方法,其中由与所述推测版本控制高速缓存(310、1210)相关联的全局版本压力模块(320、405、1220)或线程版本压力模块(330-336、460-462、1230-1236)确定所述推测版本控制高速缓存(310、1210)的版本压力是否达到或超过所述一个或更多个版本压力阈值。
8.如权利要求1所述的方法,其中在所述推测版本控制高速缓存(310、1210)中产生检查点(1370)包括:
响应于确定已经发生第一条件,向所述操作系统产生中断(1360);和
由所述操作系统启动用于将推测版本控制高速缓存(310、1210)中的推测高速缓存行提升到非推测状态(1420),并且启动所述推测版本控制高速缓存(1370、1430)中的所述检查点创建的中断处理器。
9.如权利要求8所述的方法,其中提升所述推测版本控制高速缓存(310、1210)中的所述推测高速缓存行包括将与所述推测版本控制高速缓存(310、1210)中的所述推测高速缓存行相关联的版本标识符标记为非推测性的,并且使得对应的高速缓存行的以前的非推测版本无效。
10.如权利要求1所述的方法,其中确定指示需要在所述推测版本控制高速缓存(310、1210)中产生检查点(1340)的第一条件是否发生包括:确定代码的执行是否进入代码的不可重放部分(1020),并且其中响应于确定代码的执行进入代码的不可重放部分(1020),产生检查点(1030、1370)。
11.如权利要求10所述的方法,其中所述不可重放代码(1020)是执行输入或输出操作、读或写文件、在网络上发送或接收消息、与另一个线程共享数据、或访问资源上的锁中的一个的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201080036698.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:半导体装置的制造方法
- 下一篇:镀膜装置