1.一种高速缓存刷新的方法,用于将高速缓存刷新至计算系统中的系统存储器,其特征在于,包含:
经由第一处理器接收信号,用以向所述系统存储器刷新所述高速缓存的至少一部分,其中所述高速缓存耦接至所述计算系统中的多个激活处理器,其中所述多个激活处理器包括所述第一处理器;
基于所述信号中指示的刷新长度及运行环境,在多个候选刷新机制中确定目标刷新机制,以及从所述多个激活处理器中确定用于执行所述目标刷新机制的一个或多个激活处理器,所述运行环境包括所述激活处理器的数量;以及
根据所述目标刷新机制将所述高速缓存刷新至所述系统存储器。
2.如权利要求1所述的方法,其特征在于,所述候选刷新机制至少包括:完全刷新所述高速缓存中的所有内容、经由所述多个激活处理器中的一个激活处理器刷新特定地址范围以及经由所述多个激活处理器中的两个以上的激活处理器并行刷新特定地址范围。
3.如权利要求1所述的方法,其特征在于,所述经由第一处理器接收所述信号还包含:
接收不包括地址范围的所述信号,所述信号指示刷新所述高速缓存中的所有内容;以及
所述基于所述信号中指示的刷新长度及运行环境,在多个候选刷新机制中确定目标刷新机制,以及从所述多个激活处理器中确定用于执行所述目标刷新机制的一个或多个激活处理器,还包含:所述第一处理器通知所述多个激活处理器中的所有激活处理器完全刷新所述高速缓存。
4.如权利要求1所述的方法,其特征在于,所述经由第一处理器接收所述信号还包含:
接收包括待刷新的虚拟地址范围的所述信号;以及
所述基于所述信号中指示的刷新长度及运行环境,在多个候选刷新机制中确定目标刷新机制,以及从所述多个激活处理器中确定用于执行所述目标刷新机制的一个或多个激活处理器,还包含:
基于所述虚拟地址范围以及所述激活处理器的数量,确定所述目标刷新机制以及所述多个激活处理器中的用于执行所述目标刷新机制的一个或多个激活处理器。
5.如权利要求1所述的方法,其特征在于,所述经由第一处理器接收所述信号还包含:
接收包括待刷新的虚拟地址范围的所述信号;以及
所述基于所述信号中指示的刷新长度及运行环境,在多个候选刷新机制中确定目标刷新机制,以及从所述多个激活处理器中确定用于执行所述目标刷新机制的一个或多个激活处理器,还包含:
响应于所述虚拟地址范围除以所述激活处理器的数量之商大于第一预定阈值,所述第一处理器通知所述多个激活处理器中的所有激活处理器完全刷新所述高速缓存。
6.如权利要求5所述的方法,其特征在于,还包含:
响应于所述虚拟地址范围除以所述激活处理器的数量之商大于第二预定阈值以及不大于所述第一预定阈值,分配所述多个激活处理器中的每个激活处理器刷新所述虚拟地址范围的不同子集。
7.如权利要求6所述的方法,其特征在于,还包含:
响应于确定所述虚拟地址范围除以所述激活处理器的数量之商大于第二预定阈值,所述第一处理器刷新所述虚拟地址范围。
8.如权利要求1至7中任一项所述的方法,其特征在于,所述高速缓存至少包括层1高速缓存及层2高速缓存。
9.如权利要求1至7中任一项所述的方法,其特征在于,还包含:
在刷新所述高速缓存之前,禁止所述多个激活处理器的热插拔及抢占;以及
完成所述刷新之后,使能所述多个激活处理器的热插拔及抢占。
10.如权利要求1或2所述的方法,其特征在于,所述信号指示用于刷新的虚拟地址范围,所述方法还包含:
将所述虚拟地址转译为物理地址;
通过检查存储在侦测控制单元中的标签,识别所述计算系统中的一个或多个其它激活处理器,所述一个或多个其它激活处理器至少缓存所述物理地址的一部分;以及
请求所述一个或多个其它激活处理器分别刷新其高速缓存。
11.一种高速缓存刷新的系统,用于将高速缓存刷新至计算系统中的系统存储器,其特征在于,包含:
多个处理器,所述多个处理器包括多个激活处理器;
多个高速缓存,耦接至所述多个激活处理器;以及
系统存储器,耦接至所述多个高速缓存,
其中,所述多个激活处理器中的每个激活处理器用于:
接收信号,用以向所述系统存储器刷新所述高速缓存的至少一部分;
基于所述信号中指示的刷新长度及运行环境,从多个候选刷新机制中确定目标刷新机制以及确定用于执行所述目标刷新机制的一个或多个激活处理器,所述运行环境包括所述激活处理器的数量;以及
指示所述一个或多个激活处理器根据所述目标刷新机制,向所述系统存储器刷新所述高速缓存。
12.如权利要求11所述的系统,其特征在于,所述候选刷新机制至少包括:完全刷新所述高速缓存中的所有内容、经由所述多个激活处理器中的一个激活处理器刷新特定地址范围以及经由所述多个激活处理器中的两个以上的激活处理器并行刷新特定地址范围。
13.如权利要求11所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
接收不包括地址范围的所述信号,所述信号指示刷新所述高速缓存中的所有内容;以及
通知所有激活处理器完全刷新所述高速缓存。
14.如权利要求11所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
接收包括待刷新的虚拟地址范围的所述信号;以及
基于所述虚拟地址范围以及所述激活处理器的数量,确定所述目标刷新机制以及所述多个激活处理器中的用于执行所述刷新机制的一个或多个激活处理器。
15.如权利要求11所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
接收包括待刷新的虚拟地址范围的所述信号;以及
响应于所述虚拟地址范围除以所述激活处理器的数量之商大于第一预定阈值,通知所述多个激活处理器中的所有激活处理器完全刷新所述高速缓存。
16.如权利要求15所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
响应于所述虚拟地址范围除以所述激活处理器的数量之商大于第二预定阈值以及不大于所述第一预定阈值,分配每个所述激活处理器刷新所述虚拟地址范围的不同子集。
17.如权利要求16所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
响应于确定所述虚拟地址范围除以所述激活处理器的数量之商大于第二预定阈值,刷新所述虚拟地址范围。
18.如权利要求11至17中任一项所述的系统,其特征在于,所述高速缓存至少包括层1高速缓存及层2高速缓存。
19.如权利要求11至17中任一项所述的系统,其特征在于,所述多个处理器中的每个处理器还用于:
在刷新所述高速缓存之前,禁止所述多个激活处理器的热插拔及抢占;以及
完成所述刷新之后,使能所述多个激活处理器的热插拔及抢占。
20.如权利要求11或12所述的系统,其特征在于,所述信号指示用于刷新的虚拟地址范围,所述多个处理器中的每个处理器还用于:
将所述虚拟地址转译为物理地址;
通过检查存储在侦测控制单元中的标签,识别所述计算系统中的一个或多个其它激活处理器,所述一个或多个其它激活处理器至少缓存所述物理地址的一部分;以及
请求所述一个或多个其它激活处理器分别刷新其高速缓存。