[发明专利]处理器、分支预测器及其数据处理方法、分支预测方法有效
| 申请号: | 201910522607.9 | 申请日: | 2019-06-17 |
| 公开(公告)号: | CN110347432B | 公开(公告)日: | 2021-09-14 |
| 发明(设计)人: | 杜朝晖;应志伟 | 申请(专利权)人: | 海光信息技术股份有限公司 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F21/14 |
| 代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 潘彦君;李丽 |
| 地址: | 300384 天津市滨海新区天津华苑*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 处理器 分支 预测 及其 数据处理 方法 | ||
处理器、分支预测器及其分支预测数据处理方法、分支预测方法,其中,所述分支预测器包括:目标地址获取单元,适于获取分支指令的预测目标地址;混淆变量获取单元,适于获取采用预设规则生成的特征信息,所述特征信息包含随机特征信息和非随机特征信息其中至少一种;混淆处理单元,适于将所述目标地址获取单元所获取的所述预测目标地址与所述混淆变量获取单元所获取的特征信息进行混淆处理,生成预测目标地址的混淆值;目标地址存储单元,适于存储所述预测目标地址的混淆值。采用上述方案可以提高处理器的安全性。
技术领域
本发明实施例涉及处理器技术领域,尤其涉及处理器、分支预测器及其分支预测数据处理方法、分支预测方法。
背景技术
现代处理器一般采用流水线技术并行处理指令,以加速指令处理效率;在处理分支指令时,为避免等待分支指令执行结果而决定分支方向的情况,大多数现代处理器均采用分支预测(Branch Prediction)技术。分支预测可对分支指令的分支方向等结果进行预测,从而推动处理器进行下一步取指,避免等待分支指令执行结果而导致的流水线延迟。
现代处理器中分支预测器的设计通常只考虑性能而忽略了安全因素。例如,谷歌零项目组(Google Project Zero,GPZ)爆出的幽灵(Spectre)和熔断(Meltdown)漏洞,其中幽灵漏洞的攻击者甚至逆向出了部分处理器的分支预测算法,从而可以轻松地通过产生一个和待攻击目标产生碰撞的跳转地址来影响被攻击跳转的预测目标地址。
发明内容
有鉴于此,本发明实施例提供一种处理器、分支预测器及其分支预测数据处理方法、分支预测方法,通过增加逆向分支预测算法的难度来提高处理器的安全性。
本发明实施例提供了一种分支预测器,包括:
目标地址获取单元,适于获取分支指令的预测目标地址;
混淆变量获取单元,适于获取采用预设规则生成的特征信息,所述特征信息包含随机特征信息和非随机特征信息其中至少一种;
混淆处理单元,适于将所述目标地址获取单元所获取的所述预测目标地址与所述混淆变量获取单元所获取的特征信息进行混淆处理,生成预测目标地址的混淆值;
目标地址存储单元,适于存储所述预测目标地址的混淆值。
可选地,所述混淆变量获取单元包括以下至少一种:
第一混淆变量获取子单元,适于获取预设的指令特征信息;
第二混淆变量获取子单元,适于获取预设的处理器状态信息;
第三混淆变量获取子单元,适于获取预设的系统模式信息;
第四混淆变量获取子单元,适于获取所生成的随时间变化的随机特征信息。
可选地,所述第一混淆变量获取子单元包括以下至少一种:
第一混淆变量获取模块,适于获取所述指令对应的进程信息;
第二混淆变量获取模块,适于获取所述指令对应的特权信息。
可选地,所述混淆变量获取单元适于获取系统启动或重启时生成的特征信息,或者按照预设频率生成的特征信息。
可选地,所述混淆处理单元包括以下至少一种:
第一混淆处理子单元,适于将所述预测目标地址与所述采用预设规则生成的特征信息按照预设的线性运算方式进行混淆处理;
第二混淆处理子单元,适于将所述预测目标地址与所述采用预设规则生成的特征信息按照预设的非线性运算方式进行混淆处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于海光信息技术股份有限公司,未经海光信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910522607.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电池液冷系统及电池
- 下一篇:一种在路基上布设电缆槽的方法





