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