数据处理系统中的安全推测性指令执行技术方案

技术编号:22330520 阅读:54 留言:0更新日期:2019-10-19 12:21
数据处理系统包括处理器、高速缓冲存储器、推测性高速缓冲存储器和控制电路。所述处理器用于执行指令。所述高速缓冲存储器耦合到所述处理器且用于存储所述指令和相关数据。推测性高速缓存耦合到所述处理器且用于仅存储推测性指令和相关数据。所述控制电路耦合到所述处理器、所述高速缓冲存储器和所述推测性高速缓存。所述控制电路用于响应于从所述处理器接收到指示而使推测性指令存储在所述高速缓存中。并且,提供一种用于所述数据处理系统中的推测性执行的方法。

【技术实现步骤摘要】
数据处理系统中的安全推测性指令执行
本公开大体上涉及数据处理,且更具体地说,涉及在数据处理系统中安全地执行推测性指令执行。
技术介绍
为了实现更快的指令执行,处理器可使用例如分支预测和推测性执行。分支指令允许根据条件执行不同代码部分。可能的情况是评估条件所必需的所有数据尚不可用。举例来说,可能需要计算数据或可能需要从存储器提取数据。在此情况下,接下来将执行哪一程序部分可能并不确定。为了取得速度优势,处理器可启动执行程序的可能路径中的一个。处理器通过预测接下来可能执行哪一路径而启动且开始执行。此类执行可被称为推测性执行。许多系统中的高速缓存设计以不安全方式与推测性执行的指令交互。不幸的是,在被称为Spectre和Meltdown的最新一类攻击中,攻击者已得知如何采用高速缓冲存储器与推测性执行之间的交互。通常,此类攻击使用各种技术来通过测量贯穿推测性执行的访问时序恢复高速缓存中存储的机密。对这些攻击的现有对策不会抵抗每个变化。而且,现有对策通常实施于会降低处理器性能的软件中。因此,需要一种防止推测性执行用于从高速缓存发现机密数据,同时仍提供推测性执行的性能优点的对策。
技术实现思路
根据本专利技术的第一方面,提供一种用于数据处理系统中的推测性执行的方法,所述方法包括:接收待由所述数据处理系统的处理器执行的指令,其中所述指令用于访问存储器以根据所述指令读取或写入数据;确定访问是推测性的;确定所述数据不在所述数据处理系统的高速缓冲存储器中;从主存储器检索所述数据;将所述数据存储在推测性高速缓存中,其中所述推测性高速缓存用于仅存储推测性指令和与所述推测性指令相关的数据;和执行所述推测性指令。在一个或多个实施例中,访问存储器以读取或写入进一步包括访问所述存储器以读取数据,且进一步包括将所述数据传送到寄存器。在一个或多个实施例中,访问存储器以读取或写入进一步包括访问所述存储器以写入数据,且进一步包括通过来自寄存器的新数据覆写所述推测性高速缓存中的所述数据。在一个或多个实施例中,所述方法进一步包括收回所述推测性指令。在一个或多个实施例中,所述方法进一步包括:收回所述推测性指令;确定所述推测性高速缓存存在改变;和将数据从所述推测性高速缓存传送到所述高速缓冲存储器。在一个或多个实施例中,访问存储器以读取或写入进一步包括访问所述存储器以读取数据,且其中确定所述数据不在高速缓冲存储器中进一步包括确定所述数据不在所述高速缓冲存储器或所述推测性高速缓存中。在一个或多个实施例中,所述方法进一步包括防止在所述推测性执行期间对所述高速缓冲存储器的写入操作。根据本专利技术的第二方面,提供一种数据处理系统,包括:处理器,其用于执行指令;高速缓冲存储器,其耦合到所述处理器以用于存储所述指令和相关数据;推测性高速缓存,其耦合到所述处理器以用于仅存储推测性指令和相关数据;和控制电路,其耦合到所述处理器、所述高速缓冲存储器和所述推测性高速缓存,所述控制电路用于响应于从所述处理器接收到指示而使所述推测性指令存储在所述推测性高速缓存中。在一个或多个实施例中,所述处理器进一步包括分支预测器,其中推测性执行响应于来自所述分支预测器的关于推测性指令的预测而被执行。在一个或多个实施例中,所述处理器的指令收回电路响应于所述预测被确定为正确而收回所述推测性指令。在一个或多个实施例中,推测性高速缓存和所述高速缓冲存储器是同一存储器阵列的单独部分。在一个或多个实施例中,所述处理器进一步包括用于在推测性指令被执行之后收回所述推测性指令的指令收回电路。在一个或多个实施例中,所述控制电路防止在所述推测性执行期间对所述高速缓冲存储器的写入操作且仅允许在所述推测性执行期间对所述推测性高速缓存的写入操作。根据本专利技术的第三方面,提供一种用于数据处理系统中的推测性执行的方法,所述方法包括:接收待由所述处理器执行的指令,其中所述指令用于访问存储器以根据所述指令读取或写入数据;确定访问是推测性的;防止在所述推测性执行期间对所述高速缓冲存储器的写入操作;确定所述数据不在所述数据处理系统的高速缓冲存储器中;从主存储器检索所述数据;将所述数据存储在推测性高速缓存中,其中所述推测性高速缓存用于仅存储推测性指令和与所述推测性指令相关的数据;和执行所述推测性指令。在一个或多个实施例中,所述指令用于读取访问,且其中所述数据被传送到所述处理器的寄存器。在一个或多个实施例中,所述指令用于写入访问以将来自所述处理器的寄存器的数据写入到所述推测性高速缓存,且进一步包括用来自所述寄存器的所述数据覆写所述推测性高速缓存中的数据,和将所述推测性高速缓存中的所述数据标记为无效。在一个或多个实施例中,所述方法进一步包括收回所述推测性指令。在一个或多个实施例中,所述方法进一步包括:确定所述推测性高速缓存中的所述数据存在改变;和将数据从所述推测性高速缓存传送到所述高速缓冲存储器。在一个或多个实施例中,访问存储器以读取或写入进一步包括访问所述存储器以读取数据,且其中确定所述数据不在高速缓冲存储器中进一步包括确定所述数据不在所述高速缓冲存储器或所述推测性高速缓存中。在一个或多个实施例中,确定所述数据不在高速缓冲存储器中进一步包括确定所述数据不在所述高速缓冲存储器或所述推测性高速缓存中。本专利技术的这些和其它方面将根据下文中所描述的实施例显而易见,且参考这些实施例予以阐明。附图说明本专利技术借助于例子示出且不受附图的限制,在附图中的类似标记指示类似元件。图式中的元件为简单和清楚起见被示出并且不必按比例绘制。图1示出根据一实施例的数据处理系统。图2示出根据一实施例的一种用于从存储器读取数据的方法。图3示出根据一实施例的一种用于将数据写入到存储器的方法。图4示出根据一实施例的一种用于推测性指令收回的方法。具体实施方式通常,提供一种数据处理系统和数据处理系统中用于安全推测性指令执行的方法。除普通高速缓冲存储器之外,数据处理系统还包括推测性高速缓冲存储器。推测性高速缓冲存储器功能像普通高速缓冲存储器,除了推测性高速缓存仅用于执行推测性指令之外。在处理器提交推测性指令后,推测性高速缓存的内容可被传送到普通高速缓冲存储器。所述方法和数据处理系统允许处理器中的推测性执行,同时不会在普通高速缓冲存储器中留下可能被攻击者采用的痕迹,同时仍提供由推测性执行提供的速度增益。根据一实施例,提供一种用于数据处理系统中的推测性执行的方法,所述方法包括:接收待由数据处理系统的处理器执行的指令,其中所述指令用于访问存储器以根据所述指令读取或写入数据;确定访问是推测性的;确定数据不在数据处理系统的高速缓冲存储器中;从主存储器检索数据;将所述数据存储在推测性高速缓存中,其中所述推测性高速缓存用于仅存储推测性指令和与推测性指令相关的数据;和执行推测性指令。访问存储器以读取或写入可进一步包括访问存储器以读取数据,且进一步包括将数据传送到寄存器。访问存储器以读取或写入可进一步包括访问存储器以写入数据,且可进一步包括通过来自寄存器的新数据覆写推测性高速缓存中的数据。所述方法可进一步包括收回推测性指令。所述方法可进一步包括:收回推测性指令;确定推测性高速缓存存在改变;和将数据从推测性高速缓存传送到高速缓冲存储器。访问存储器以读取或写入可进一步包括访问存储器以读取数据,且其中确定本文档来自技高网...

【技术保护点】
1.一种用于数据处理系统中的推测性执行的方法,其特征在于,所述方法包括:接收待由所述数据处理系统的处理器执行的指令,其中所述指令用于访问存储器以根据所述指令读取或写入数据;确定访问是推测性的;确定所述数据不在所述数据处理系统的高速缓冲存储器中;从主存储器检索所述数据;将所述数据存储在推测性高速缓存中,其中所述推测性高速缓存用于仅存储推测性指令和与所述推测性指令相关的数据;和执行所述推测性指令。

【技术特征摘要】
2018.04.04 US 15/945,0471.一种用于数据处理系统中的推测性执行的方法,其特征在于,所述方法包括:接收待由所述数据处理系统的处理器执行的指令,其中所述指令用于访问存储器以根据所述指令读取或写入数据;确定访问是推测性的;确定所述数据不在所述数据处理系统的高速缓冲存储器中;从主存储器检索所述数据;将所述数据存储在推测性高速缓存中,其中所述推测性高速缓存用于仅存储推测性指令和与所述推测性指令相关的数据;和执行所述推测性指令。2.根据权利要求1所述的方法,其特征在于,访问存储器以读取或写入进一步包括访问所述存储器以读取数据,且进一步包括将所述数据传送到寄存器。3.根据权利要求1所述的方法,其特征在于,访问存储器以读取或写入进一步包括访问所述存储器以写入数据,且进一步包括通过来自寄存器的新数据覆写所述推测性高速缓存中的所述数据。4.根据权利要求1所述的方法,其特征在于,进一步包括收回所述推测性指令。5.根据权利要求1所述的方法,其特征在于,进一步包括:收回所述推测性指令;确定所述推测性高速缓存存在改变;和将数据从所述推测性高速缓存传送到所述高速缓冲存储器。6.根据权利要求1所述的方法,其特征在于,访问存储器以读取或写入进一步包括访问所述存储器以读取数据,且其中确定所述数...

【专利技术属性】
技术研发人员:尼基塔·韦希科夫
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰,NL

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

1