一种建立处理器Cache检查点的方法、装置及系统制造方法及图纸

技术编号:11596903 阅读:165 留言:0更新日期:2015-06-12 07:23
本发明专利技术实施例公开了一种建立处理器Cache检查点的方法、装置及系统,以保证建立Cache检查点不存在影响处理器运行,该方法包括:在Cache中内容逐行导出过程中,当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分,执行处理器写Cache操作,同时将写Cache操作写入Cache行中内容导出;当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的未导出部分,执行处理器写Cache操作,暂停Cache中内容导出;当接收到处理器读Cache信号时,执行处理器读Cache操作,暂停Cache中内容导出。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及一种建立处理器Cache检查点的方法、装置及系统
技术介绍
在计算机系统中,处理器高速缓冲存储器(CPU Cache)是用于减少处理器访问内存所需平均时间的部件,其容量远小于内存,但速度却可以接近处理器的频率。同时,某个进程周期性地保存执行程序的状态至稳定存储器,系统在失效后能够根据这些信息得以恢复,每一个被保存的程序状态称为检查点,目前检查点技术广泛用于系统的容错设计中。则Cache检查点就是针对Cache建立的检查点,它保存了某一时刻的整个Cache状态,在故障迁移和状态恢复中,如果可以使用Cache检查点恢复Cache状态,那么处理器就不用初始化Cache,节约了大量的Cache重建时间,加快了系统故障恢复和状态迁移的速度。在现有技术中,建立Cache检查点的方法,是在处理器工作的过程中,利用Cache的空闲时间导出建立过程开始时刻的Cache状态到压缩器中,从而建立Cache检查点。在Cache检查点建立过程中,如果没有对Cache的更新操作,所有的Cache内容会按照Cache地址顺序依次导出到压缩器中。但是如果有对Cache的更新操作,并且更新操作对应的Cache行中的原有内容尚未导出,就需要暂停处理器操作,将此Cache行原有的内容先导出到压缩器,然后再启动处理器更新该Cache行,即在需要更新未导出区域的数据时,需要首先保存原有数据,也就需要延迟处理器更新数据的操作,暂停流水线或者暂停访存操作。因此,现有技术建立处理器Cache检查点的方法存在影响处理器运行的情况,影响系统的正常运行。
技术实现思路
有鉴于此,本专利技术实施例的主要目的是提供一种建立处理器Cache检查点的方法、装置及系统,以解决现有技术中建立处理器Cache检查点的方法存在影响处理器运行的情况,影响系统的正常运行的问题。为解决上述问题,本专利技术提供的技术方案如下:第一方面,本专利技术提供了一种建立处理器Cache检查点的方法,所述方法包括:在将Cache中的内容逐行导出的过程中,当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分,则执行处理器写Cache操作,并同时将所述写Cache操作写入Cache行中的内容进行导出;当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的未导出部分,则执行处理器写Cache操作,并暂停将Cache中的内容进行导出;当接收到处理器读Cache信号时,执行处理器读Cache操作,并暂停将Cache中的内容进行导出。在第一方面的第一种可能的实现方式中,所述方法还包括:当接收到的处理器读Cache信号时,检测确定处理器读Cache操作对应的Cache行是下一被导出的Cache行,则执行处理器读Cache操作,并同时将所述读Cache操作对应的Cache行中的内容进行导出。结合第一方面或者第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述方法还包括:控制地址生成器由Cache行地址范围的一端开始生成第一地址。结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述将Cache中的内容逐行导出的过程具体为:将所述第一地址所对应的Cache行中的内容导出到压缩器内存储,每导出一Cache行后则控制所述地址生成器将第一地址变化为下一Cache行地址。结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述判断所述写操作对应的Cache行是否是已导出的Cache行,包括:所述检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分,包括:接收比较器的比较结果,所述比较器用于比较处理器写Cache操作对应的Cache行地址与当前第一地址的大小;当所述地址生成器由Cache行地址范围的低地址端开始生成第一地址时,所述比较结果为处理器写Cache操作对应的Cache行地址小于当前第一地址,确定处理器写Cache操作对应的Cache行在Cache的已导出部分;当所述地址生成器由Cache行地址范围的高地址端开始生成第一地址时,所述比较结果为处理器写Cache操作对应的Cache行地址大于当前第一地址,确定处理器写Cache操作对应的Cache行在Cache的已导出部分。结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述检测确定处理器写Cache操作对应的Cache行在Cache的未导出部分,包括:接收比较器的比较结果,所述比较器用于比较处理器写Cache操作对应的Cache行地址与当前第一地址的大小;当所述地址生成器由Cache行地址范围的低地址端开始生成第一地址时,所述比较结果为处理器写Cache操作对应的Cache行地址大于或等于当前第一地址,确定处理器写Cache操作对应的Cache行在Cache的未导出部分;当所述地址生成器由Cache行地址范围的高地址端开始生成第一地址时,所述比较结果为处理器写Cache操作对应的Cache行地址小于或等于当前第一地址,确定处理器写Cache操作对应的Cache行在Cache的未导出部分。结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述检测确定处理器读Cache操作对应的Cache行是下一被导出的Cache行,包括:接收比较器的比较结果,所述比较器还用于比较所述处理器读Cache操作对应的Cache行地址与当前第一地址的大小;所述比较结果为处理器读Cache操作对应的Cache行地址等于当前第一地址,确定处理器读Cache操作对应的Cache行是下一被导出的Cache行。第二方面,本专利技术提供了一种建立处理器Cache检查点的装置,所述装置包括:接收单元,用于在将Cache中的内容逐行导出的过程中,接收处理器写Cache信号或者接收处理器读Cache信号;第一确定单元,用于在所述接收单元接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分;第一处理单元,用于在所述第一确定单元检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分时,执行处理器写Cache操作;第一导出单元,用于在所述第一确定单元检测确定处理器写Cache操作对应的Cache行在本文档来自技高网
...
一种建立处理器Cache检查点的方法、装置及系统

【技术保护点】
一种建立处理器Cache检查点的方法,其特征在于,所述方法包括:在将Cache中的内容逐行导出的过程中,当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分,则执行处理器写Cache操作,并同时将所述写Cache操作写入Cache行中的内容进行导出;当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的Cache行在Cache的未导出部分,则执行处理器写Cache操作,并暂停将Cache中的内容进行导出;当接收到处理器读Cache信号时,执行处理器读Cache操作,并暂停将Cache中的内容进行导出。

【技术特征摘要】
1.一种建立处理器Cache检查点的方法,其特征在于,所述方法包括:
在将Cache中的内容逐行导出的过程中,当接收到处理器写Cache信号
时,检测确定处理器写Cache操作对应的Cache行在Cache的已导出部分,
则执行处理器写Cache操作,并同时将所述写Cache操作写入Cache行中的
内容进行导出;
当接收到处理器写Cache信号时,检测确定处理器写Cache操作对应的
Cache行在Cache的未导出部分,则执行处理器写Cache操作,并暂停将Cache
中的内容进行导出;
当接收到处理器读Cache信号时,执行处理器读Cache操作,并暂停将
Cache中的内容进行导出。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到的处理器读Cache信号时,检测确定处理器读Cache操作对应
的Cache行是下一被导出的Cache行,则执行处理器读Cache操作,并同时
将所述读Cache操作对应的Cache行中的内容进行导出。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
控制地址生成器由Cache行地址范围的一端开始生成第一地址。
4.根据权利要求3所述的方法,其特征在于,所述将Cache中的内容逐
行导出的过程具体为:将所述第一地址所对应的Cache行中的内容导出到压
缩器内存储,每导出一Cache行后则控制所述地址生成器将第一地址变化为
下一Cache行地址。
5.根据权利要求4所述的方法,其特征在于,所述检测确定处理器写
Cache操作对应的Cache行在Cache的已导出部分,包括:
接收比较器的比较结果,所述比较器用于比较处理器写Cache操作对应
的Cache行地址与当前第一地址的大小;
当所述地址生成器由Cache行地址范围的低地址端开始生成第一地址

\t时,所述比较结果为处理器写Cache操作对应的Cache行地址小于当前第一
地址,确定处理器写Cache操作对应的Cache行在Cache的已导出部分;
当所述地址生成器由Cache行地址范围的高地址端开始生成第一地址
时,所述比较结果为处理器写Cache操作对应的Cache行地址大于当前第一
地址,确定处理器写Cache操作对应的Cache行在Cache的已导出部分。
6.根据权利要求4所述的方法,其特征在于,所述检测确定处理器写
Cache操作对应的Cache行在Cache的未导出部分,包括:
接收比较器的比较结果,所述比较器用于比较处理器写Cache操作对应
的Cache行地址与当前第一地址的大小;
当所述地址生成器由Cache行地址范围的低地址端开始生成第一地址
时,所述比较结果为处理器写Cache操作对应的Cache行地址大于或等于当
前第一地址,确定处理器写Cache操作对应的Cache行在Cache的未导出部
分;
当所述地址生成器由Cache行地址范围的高地址端开始生成第一地址
时,所述比较结果为处理器写Cache操作对应的Cache行地址小于或等于当
前第一地址,确定处理器写Cache操作对应的Cache行在Cache的未导出部
分。
7.根据权利要求4所述的方法,其特征在于,所述检测确定处理器读
Cache操作对应的Cache行是下一被导出的Cache行,包括:
接收比较器的比较结果,所述比较器还用于比较所述处理器读Cache操
作对应的Cache行地址与当前第一地址的大小;
所述比较结果为处理器读Cache操作对应的Cache行地址等于当前第一
地址,确定处理器读Cache操作对应的Cache行是下一被导出的Cache行。
8.一种建立处理器Cache检查点的装置,其特征在于,所述装置包括:
接收单元,用于在将Cache中的内容逐行导出的过程中,接收处理器写

\tCache信号或者接收处理器读Cache信号;
第一确定单元,用于在所述接收单元接收到处理器写Cache信号时,检
测确定处理器写Cache操作对应的Cache行在Cache的已导出部分;
第一处理单元,用于在所述第一确定单元检测确定处理器写Cache操作
对应的Cache行在Cache的已导出部分时,执行处理器写Cache操作;
第一导出单元,用于在所述第一确定单元检测确定处理器写Cache操作
对应的Cache行在Cache的已导出部分时,将所述写Cache操作写入Cache
行中的内容进行导出;
第二确定单元,...

【专利技术属性】
技术研发人员:程云李华伟李晓维
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1