一种指令执行方法及装置制造方法及图纸

技术编号:26348643 阅读:38 留言:0更新日期:2020-11-13 21:45
一种指令执行方法及装置,用于实现有效的防御基于推测访存的Cache时延侧信道攻击的目的。本申请实施例中该方法包括:获取第一指令,第一指令为读取内存的指令,确定出满足预设条件的各第二指令,第二指令为乱序执行的分支指令,预设条件包括与第一指令存在控制依赖关系,在确定满足预设条件的各第二指令解析完成后,执行第一指令。由于在满足预设条件的各第二指令解析完成后,就可以避免误推测执行]第一指令,进而不会出现因为误推测执行第一指令导致的Cache微结构状态变化,因此,攻击者无法通过Cache的微结构状态变化窃取受保护区域的数据,从而可以实现有效防御基于推测访存的Cache时延侧信道攻击。

【技术实现步骤摘要】
【国外来华专利技术】一种指令执行方法及装置
本申请涉及通信领域,尤其涉及一种指令执行方法及装置。
技术介绍
目前,推测乱序执行是现代处理器开发指令级并行性的基本技术。任何指令的正确执行必须满足两点:第一点,满足控制依赖,即该指令处在正确的分支路径上;第二点,满足数据依赖,即该指令的源操作数正确获得。推测乱序执行是指在某条指令的控制依赖尚未解析的情况下,只要判定其数据依赖满足,则投机执行这条指令。当然,如果推测错误,则该指令可能处于错误的分支路径上。此后当处理器检测到推测错误,则撤销误推测执行的指令、并从正确的路径上重新执行,从而保证程序语义的正确。在推测乱序执行的处理器上,误推测执行的指令不会改变任何结构定义的软件可见的状态(architecturalvisiblestate),但是会改变微结构状态(micro-architecturalstate),例如物理寄存器(physicalregisterfile)和缓存(Cache),并且这种微结构状态改变不会随着误推测执行的指令的撤销而撤销。在系统的正常使用中,由于任何微结构状态都是软件不使用且不可见的,所以误推测执本文档来自技高网...

【技术保护点】
一种指令执行方法,其特征在于,包括:/n获取第一指令;所述第一指令为读取内存的指令;/n确定出满足预设条件的各第二指令;所述第二指令为乱序执行的分支指令;/n在确定所述满足预设条件的各第二指令解析完成后,执行所述第一指令。/n

【技术特征摘要】
【国外来华专利技术】一种指令执行方法,其特征在于,包括:
获取第一指令;所述第一指令为读取内存的指令;
确定出满足预设条件的各第二指令;所述第二指令为乱序执行的分支指令;
在确定所述满足预设条件的各第二指令解析完成后,执行所述第一指令。


如权利要求1所述的方法,其特征在于,所述预设条件包括与所述第一指令存在控制依赖关系。


如权利要求2所述的方法,其特征在于,所述预设条件包括与所述第一指令存在预设类型的控制依赖关系。


如权利要求1所述的方法,其特征在于,确定所述满足预设条件的各第二指令解析完成之前,还包括:
根据所述满足预设条件的各第二指令的序号,确定第一变量的值;
根据所述满足预设条件的各第二指令中未解析的第二指令的序号或所述第一变量的值,确定第二变量的值;
所述确定所述满足预设条件的各第二指令解析完成,包括:
若所述第一变量的值小于所述第二变量的值,则确定所述满足预设条件的各第二指令解析完成。


如权利要求4所述的方法,其特征在于,所述根据所述满足预设条件的各第二指令的序号,确定第一变量的值,包括:
确定出所述满足预设条件的各第二指令中序号最大的第二指令的序号,作为第一变量的值;
所述根据所述满足预设条件的各第二指令中未解析的第二指令的序号或所述第一变量的值,确定第二变量的值,包括:
确定出所述满足预设条件的各第二指令中序号最小且未解析的第二指令的序号,作为第二变量的值;或者,若确定出所述满足预设条件的各第二指令中不存在未解析的第二指令,则将所述第一变量的值加一,作为所述第二变量的值。


如权利要求5所述的方法,其特征在于,所述确定出所述满足预设条件的各第二指令中序号最小且未解析的第二指令的序号,作为第二变量的值,包括:
在所述序号最小且未解析的第二指令解析之后,将位于所述序号最小且未解析的第二指令之后的未解析的第二指令的序号,作为所述第二变量的值。


一种指令执行装置,其特征在于,包括取指器、译码器、预执行缓冲器、调度器和执行器;
所述取指器,用于指令缓存中取出指令;
所述译码器,用于译码所述指令,得到所述指令的译码结果;所述译...

【专利技术属性】
技术研发人员:李国柱孙涛
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1