【技术实现步骤摘要】
一种基于缓存划分及回滚的处理器瞬态攻击防御方法
本专利技术涉及计算机
,具体来说涉及改善处理器安全性的机制和技术,更具体地说,涉及一种基于缓存划分及回滚的处理器瞬态攻击防御方法。
技术介绍
为了让处理器获得最佳性能,存储器的速度必须能够跟上处理器的速度。也就是说,当处理器在执行指令时,我们并不期望它因为等待指令或者操作数而暂停执行。因此,现代处理器的寄存器和主存之间引入了高速缓存(Cache)。这样,计算机的存储器被组织成层次结构。最顶层(最靠近处理器的一层)是处理器内的寄存器,接下来是一级或者多级高速缓存,当使用多级缓存时,通常第一、第二、第三级高速缓存等依次被标记为L1、L2、L3等,再往下则是主存(通常也称主存储器或者内存),它通常由动态随机存取存储器(DRAM)构成,例如,参见图1,该图示出了现代处理器的一种常见的架构。沿着存储器层次结构自上到下,存储器成本也逐层下降,容量在变大,但存取时间在变长。全都使用最快的存储器的思路固然好,但是这样的成本也是最昂贵的,难以让大众能够消费,因此,通过使用更多较慢的存储器, ...
【技术保护点】
1.一种缓存管理方法,用于包含一级或者多级缓存的处理器,每级缓存包括至少一个缓存组;其特征在于,/n所述缓存管理方法包括:/n将每个缓存组的缓存空间划分为持续小组和临时小组,所述持续小组和临时小组包括一个或者多个缓存行;/n在所述缓存中持续小组的数据块被投机的访存装载指令装载进来的数据块踢出持续小组时,将被踢出的数据块装入与该持续小组位于同一缓存组的临时小组;/n在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出持续小组的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。/n
【技术特征摘要】
1.一种缓存管理方法,用于包含一级或者多级缓存的处理器,每级缓存包括至少一个缓存组;其特征在于,
所述缓存管理方法包括:
将每个缓存组的缓存空间划分为持续小组和临时小组,所述持续小组和临时小组包括一个或者多个缓存行;
在所述缓存中持续小组的数据块被投机的访存装载指令装载进来的数据块踢出持续小组时,将被踢出的数据块装入与该持续小组位于同一缓存组的临时小组;
在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出持续小组的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。
2.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在所述缓存中存储每个缓存行对应的投机状态标记,其中,投机状态标记的第一状态值指示该缓存行的数据块是由投机的访存装载指令装载进来的,投机状态标记的第二状态值指示该缓存行的数据块由非投机的访存装载指令装载进来的;
在投机的访存装载指令投机成功的情况下,将由该投机的访存装载指令装载进来的数据块所在的缓存行对应的投机状态标记由第一状态值修改为第二状态值。
3.根据权利要求2所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在所述缓存中存储临时小组内每个缓存行对应的原始位置标记,所述原始位置标记用于指示该缓存行的数据块在被踢到临时小组前位于持续小组内的原始位置;
在所述缓存中存储临时小组内每个缓存行对应的重排序索引标记,所述重排序索引标记用于指示将该缓存行的数据块由持续小组踢到临时小组的投机的访存装载指令在重排序缓冲器中对应的重排序索引;
其中,在投机的访存装载指令投机成功时,根据该投机的访存装载指令在重排序缓冲器中对应的重排序索引,寻找重排序索引标记中记录的值等于该重排序索引的缓存行,将该缓存行对应的重排序索引标记清空,
或者,在投机的访存装载指令投机失败时,根据该投机的访存装载指令在重排序缓冲器中对应的重排序索引,寻找重排序索引标记中记录的值等于该重排序索引的缓存行,根据该缓存行对应的原始位置标记将该缓存行的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。
4.根据权利要求3所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在临时小组内相应的缓存行对应的重排序索引标记不为空但该缓存行的数据块将要被踢出临时小组的情况下,根据该缓存行对应的原始位置标记将该缓存行的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置,让将其踢出持续小组的数据块被踢到下一级存储介质,下一级存储介质是下一...
【专利技术属性】
技术研发人员:武成岗,王喆,唐博文,贾力陈,谢梦瑶,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。