[发明专利]一种面向高性能处理器的防Spectre攻击的架构优化方法有效

专利信息
申请号: 202110788878.6 申请日: 2021-07-13
公开(公告)号: CN113392407B 公开(公告)日: 2022-11-01
发明(设计)人: 凌明;曾琴;刘昊 申请(专利权)人: 东南大学
主分类号: G06F21/57 分类号: G06F21/57;G06F21/62;G06F9/38;G06F3/06
代理公司: 南京瑞弘专利商标事务所(普通合伙) 32249 代理人: 任志艳
地址: 214115 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 性能 处理器 spectre 攻击 架构 优化 方法
【权利要求书】:

1.一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,所述优化方法主要针对DCache进行优化设计,具体包括如下步骤:

步骤1,检查访存操作的安全性

设置两个检查模块用于检查访存操作的安全性,两个检查模块分别为第一检查模块和第二检查模块;

所述第一检查模块用于对所有发送到DCache的访存操作进行检查,判断当前的访存操作是否为处于推测执行状态;

当前访存操作处于推测执行状态时,通过第二检查模块跟踪处于推测执行的访存操作,判断当前访存操作是否在DCache中产生数据缺失,如果当前访存操作在DCache中产生数据缺失,进入步骤2;

反之,当前访存操作不属于危险操作,不进入步骤2;

步骤2,跟踪缺失数据的填充

设置缺失状态处理寄存器MSHR用于处理数据缺失;缺失状态处理寄存器MSHR包括多个硬件寄存器,其中每个寄存器记录缺失数据的地址信息、缺失数据的有效位、返回数据标志位、以及危险标记位;

对产生DCache数据缺失的访存操作标记为危险访存,危险访存产生数据缺失请求;MSHR中危险标记位用于标记来自于危险访存操作产生的数据缺失请求;

所述缺失状态处理寄存器MSHR按数据缺失请求先后顺序将危险数据填充回DCache中缺失数据的数据缓存行,同时对缺失状态处理寄存器MSHR中的返回数据标志位进行置位,进入步骤3;

步骤3,在每个Tag行中增加两个额外的位域,分别是清除位域和清除倒计时位域;

清除位域占用一位,用于标记当前缓存行是否存储了被标记为危险的访存数据,当缺失状态处理寄存器MSHR将被标记为危险的数据填充回DCache中缺失数据的数据缓存行时,对该数据所在缓存行对应的标记Tag阵列中的清除位域做置位处理,清除倒计时随着系统时钟开始从预设值做自减操作,当清除倒计时数值减到0时,DCache将清除该缓存行的数据。

2.根据权利要求1所述一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,步骤1中第一检查模块判断当前的访存操作是否为处于推测执行状态,具体方法为:通过检查DCache接收到的访存操作的分支掩码是否有效来确定访存操作是否处于推测执行状态;如果当前访存操作存在分支掩码,与0异或的结果将为1,则该访存操作仍处于推测执行状态;反之,如果当前访存操作不存在分支掩码,则当前操作属于正常的访存操作。

3.根据权利要求1所述一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,步骤1中,第二检测模块判断当前访存操作是否在DCache中产生数据缺失,具体方法为:来自CPU的虚拟地址被同时发送到DCache和内存管理单元MMU;当内存管理单元MMU将虚地址转换成实地址时,DCache也通过哈希算法从虚拟地址得到索引开始查找操作,DCache读取被索引到的缓存行的内容;当内存管理单元MMU将虚地址转换成实地址后,把所述实地址发送给DCache;随后,DCache把所述实地址和缓存行对应的Tag阵列里保存的地址进行比较,相匹配时则缓存命中,不匹配时则缓存缺失;

如果当前访存数据在缓存行中命中,对该类操作不做任何追踪。反之,当缓存行不存在任何相匹配的标记Tag时,当前访存操作在Cache中产生数据缺失。

4.根据权利要求1所述一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,步骤2中,所述缺失状态处理寄存器MSHR按数据缺失请求先后顺序将危险数据填充回DCache中缺失数据的数据缓存行,具体过程为:

缺失状态处理寄存器会按照危险标记位被标记的先后顺序,发送数据缺失请求至下游缓存或者内存,当所述下游缓存或者内存中存在所需数据时,响应数据缺失请求并将数据通过数据总线填充回DCache。

5.根据权利要求1所述一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,步骤3中清除倒计时位域的宽度可调。

6.根据权利要求1所述一种面向高性能处理器的防Spectre攻击的架构优化方法,其特征在于,步骤3中当清除倒计时数值减到0时,DCache将清除该缓存行的数据,具体分为如下两种情况:

该缓存行中的数据是普通缓存,即该数据对应的脏位未置位的数据,直接将该数据所在的缓存行置为无效;而针对待清除数据对应的脏位已置位,则对缓存行数据进行驱逐操作,包含数据写回操作并缓存行无效操作。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110788878.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top