[发明专利]一种基于缓存划分及回滚的处理器瞬态攻击防御方法有效
申请号: | 202010053240.3 | 申请日: | 2020-01-17 |
公开(公告)号: | CN111241010B | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 武成岗;王喆;唐博文;贾力陈;谢梦瑶 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F12/0897 | 分类号: | G06F12/0897;G06F12/0877;G06F12/084 |
代理公司: | 北京泛华伟业知识产权代理有限公司 11280 | 代理人: | 王勇 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 缓存 划分 处理器 瞬态 攻击 防御 方法 | ||
1.一种缓存管理方法,用于包含一级或者多级缓存的处理器,每级缓存包括至少一个缓存组;其特征在于,
所述缓存管理方法包括:
将每个缓存组的缓存空间划分为持续小组和临时小组,所述持续小组和临时小组包括一个或者多个缓存行;
在所述缓存中持续小组的数据块被投机的访存装载指令装载进来的数据块踢出持续小组时,将被踢出的数据块装入与该持续小组位于同一缓存组的临时小组;
在投机的访存装载指令投机失败时,将被该投机的访存装载指令装载进来的数据块踢出持续小组的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。
2.根据权利要求1所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在所述缓存中存储每个缓存行对应的投机状态标记,其中,投机状态标记的第一状态值指示该缓存行的数据块是由投机的访存装载指令装载进来的,投机状态标记的第二状态值指示该缓存行的数据块由非投机的访存装载指令装载进来的;
在投机的访存装载指令投机成功的情况下,将由该投机的访存装载指令装载进来的数据块所在的缓存行对应的投机状态标记由第一状态值修改为第二状态值。
3.根据权利要求2所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在所述缓存中存储临时小组内每个缓存行对应的原始位置标记,所述原始位置标记用于指示该缓存行的数据块在被踢到临时小组前位于持续小组内的原始位置;
在所述缓存中存储临时小组内每个缓存行对应的重排序索引标记,所述重排序索引标记用于指示将该缓存行的数据块由持续小组踢到临时小组的投机的访存装载指令在重排序缓冲器中对应的重排序索引;
其中,在投机的访存装载指令投机成功时,根据该投机的访存装载指令在重排序缓冲器中对应的重排序索引,寻找重排序索引标记中记录的值等于该重排序索引的缓存行,将该缓存行对应的重排序索引标记清空,
或者,在投机的访存装载指令投机失败时,根据该投机的访存装载指令在重排序缓冲器中对应的重排序索引,寻找重排序索引标记中记录的值等于该重排序索引的缓存行,根据该缓存行对应的原始位置标记将该缓存行的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置。
4.根据权利要求3所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在临时小组内相应的缓存行对应的重排序索引标记不为空但该缓存行的数据块将要被踢出临时小组的情况下,根据该缓存行对应的原始位置标记将该缓存行的数据块回滚到其在被踢到临时小组前位于持续小组内的原始位置,让将其踢出持续小组的数据块被踢到下一级存储介质,下一级存储介质是下一级缓存或者主存。
5.根据权利要求1至4任一项所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:在所述缓存中持续小组的数据块被非投机的访存装载指令装载进来的数据块踢出持续小组时,将被踢出的数据块踢到下一级存储介质。
6.根据权利要求1至4任一项所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
在所述缓存中存储每个缓存行对应的线程号标记,通过线程号标记指示装载数据块到该缓存行的线程ID;
在装载数据块到缓存行的投机的访存装载指令的投机过程还未确定而与装载数据块到该缓存行的线程ID不一致的其他线程要访问该缓存行时,延迟访问结果的传输直到该投机的访存装载指令的投机过程已经确定,其中,在确定该投机的访存装载指令投机成功时,传输的访问结果为命中,在确定该投机的访存装载指令投机失败时,传输的访问结果为未命中。
7.根据权利要求1至4任一项所述的缓存管理方法,其特征在于,所述缓存管理方法还包括:
通过计数器分别统计每个持续小组和临时小组发生缓存未命中的次数;
当同一缓存组的持续小组和临时小组中任一小组发生缓存未命中次数超过预设次数阈值且两个小组发生缓存未命中的比例差超过预设比例差阈值时,动态调整该组中持续小组和临时小组所包含的缓存行的数量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010053240.3/1.html,转载请声明来源钻瓜专利网。