当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于跨不同执行领域的运行时存储器隔离的方法和装置制造方法及图纸

技术编号:33947951 阅读:17 留言:0更新日期:2022-06-29 21:46
本发明专利技术涉及用于跨不同执行领域的运行时存储器隔离的方法和装置。描述了一种方法。该方法包括执行针对软件进程或线程的存储器访问指令。该方法包括对存储器访问指令的存储器访问请求,该存储器访问请求具有物理存储器地址和该软件进程或线程从其中执行的领域的第一标识符。该方法包括接收该存储器访问请求并根据物理存储器地址确定领域的第二标识符。该方法包括为存储器访问请求提供服务,因为第一标识符与第二标识符匹配。标识符与第二标识符匹配。标识符与第二标识符匹配。

【技术实现步骤摘要】
用于跨不同执行领域的运行时存储器隔离的方法和装置


[0001]本专利技术的领域总体上涉及计算科学,并且更具体地涉及一种用于跨 不同执行领域的运行时存储器隔离的方法和装置。

技术介绍

[0002]计算机系统设计者正越来越多地寻求处理越来越多信息的方法。 然而,一种挑战是确保分配给由计算机系统执行的各种软件程序的主存储器空 间与其他软件程序作出的不想要的访问充分隔离。
附图说明
[0003]在所附附图中以示例方式而非限制方式来图示本专利技术,在附图中, 类似的附图标记指示类似的要素,其中:
[0004]图1示出高性能计算环境;
[0005]图2a示出具有确认软件进程或线程正在访问它被允许在其之外操 作的领域的电路的处理器半导体芯片;
[0006]图2b示出具有确认软件进程或线程正在访问它被允许在其之外操 作的领域的电路的存储器控制器;
[0007]图3a示出由图2a的处理器半导体芯片执行的方法;
[0008]图3b示出可由图2a的处理器半导体芯片的(多个)实施例执行的 方法;
[0009]图3c示出可由图2a的处理器半导体芯片的(多个)实施例执行的 方法;
[0010]图3d示出可由图2a的处理器半导体芯片的(多个)实施例执行的 方法;
[0011]图4是示例性计算机架构的框图;
[0012]图5是根据一些实施例的第一更具体的示例性系统的框图;
[0013]图6是根据一些实施例的第二更具体的示例性系统的框图;
[0014]图7是根据一些实施例的芯片上系统(SoC)的框图;
[0015]图8是根据一些实施例的对照使用软件指令转换器将源指令集中的 二进制指令转换成目标指令集中的二进制指令的框图。
具体实施方式
[0016]图1示出高性能计算环境100,该高性能计算环境100包括用于确 保计算环境执行的各种软件程序的多种隔离技术。在此,计算环境的安全性 在很大程度上取决于可以防止不同软件程序篡改和/或观察彼此的执行的程度。
[0017]隔离的一种形式是通过使用虚拟机来实现。在此,如本领域所知, 虚拟机监控器(VMM)101或管理程序例如作为最低级别的软件(例如,仅高 于硬件设备驱动器(诸如DIMM设备驱动器、SSD设备驱动器、和其他固件) 在一个或多个硬件CPU 102上执行。VMM 101完全理解底层CPU硬件102 的执行资源(例如,核、指令执行流水线等)和主存储器硬件103的
容量和地 址空间,并将这些硬件资源分配给在VMM 101上运行的多个虚拟机(VM) 104。
[0018]每个虚拟机是模拟硬件处理器(和硬件平台的其他组件)的程序代 码的实例。然后,操作系统(OS)软件105的实例被配置成用于在它们自己 的专用VM上执行。也就是说,例如,每个唯一的OS实例均由它自己的专 用底层VM支持。由此,每个此类OS实例以及在其上执行的任何应用软 件106将其特定的底层VM视为包括其自己的专用CPU。
[0019]各个CPU制造商已经增强了他们的处理器,以便根据上述 VMM/VM/OS结构部署软件。例如,CPU制造商已经利用特殊的有VM或 VMM意识的指令来增强他们的CPU。此类增强可以被称为“VM”增强。
[0020]另一种类型的隔离(称为受信任执行环境(TEE))试图隔离主存 储器的区域。主存储器103被用作主要的存储库,执行的程序从该存储库中 读取指令并且读取和写入数据。
[0021]参考图1,根据一个实现方式,传统的主存储器空间109_1由VMM 分配给在其上执行的任一个或多个VM/OS/应用实例。也就是说,按照传统 的软件实现方式,主存储器空间109_1是专门针对每个单独的软件实例(例如, 每个VM实例)而分配的。
[0022]然而,如上文所述,如果主存储器103中的程序的指令和/或数据的 内容/状态能够被另一个程序篡改和/或观察到,则该程序的安全性就会被损害。 在各个实现方式中,上述对VM、OS和应用实例中的每一者分配不同的存储 器空间本身并不能保证彼此之间有足够的隔离来充分保护它们。
[0023]由此,另一种类型的隔离(称为受信任执行环境(TEE))试图隔 离主存储器的区域。具体地,为了将程序的主存储器内容与其他程序隔离, TEE解决方案通常将加密/解密单元107_1、107_2嵌入CPU 102内(通常嵌入 CPU的(多个)主存储器控制器109内)。为了便于讨论,下面的讨论假 设TEE包括加密/解密,但普通技术人员会认识到加密/解密并不是针对TEE的 严格要求。
[0024]在指令/数据被写入主存储器103之前,指令/数据被加密成使得即 使该指令/数据被不应该访问它们的另一程序从主存储器103访问,该另一程序 也不能对它们产生任何意义(它们是被加密的)。当此类指令/数据被应该具 有对其的访问权的程序从主存储器103中读取时,它们被解密并且随后被正常 地使用。
[0025]因此,根据第一种TEE方法,可以通过向应用软件106的单独实例 分配特殊的存储器空间108_2来保护应用软件106的单独实例,该特殊的存储 器空间108_2利用如上文所述的加密/解密107_1来保护。在该情况下,应用 对其保护的区域108_2的任何存储器访问均会调用加密/解密单元107_1。任 何其他程序对同一受保护区域108_2做出的存储器访问不会调用加密/解密单 元107_2保护,从而使访问无用。
[0026]另一种较新的TEE技术通过在VM和VMM之间放置软件层来将 VM与VMM隔离。在此,以这种方式保护的每个VM均被提供有主存储器 108_3的受TEE保护的区域,该区域对VM来说是私有的(只有VM可以访 问它)。当VM访问其私有存储器区域108_3时,加密/解密单元107_2正在 进行。还向VM提供与其他软件进程共享的另一存储器空间区域,并且例 如VM通过该另一存储器空间区域接收输入数据并提供输出数据。
[0027]与VMM扩展一样,各种CPU制造商已经增强了他们的处理器, 以用于部署具有TEE技术的软件(例如,英特尔公司的软件防护扩展(SGX)和 信任域扩展(TDX),以及超微半导体(AMD)公司的安全加密的虚拟化(SEV))。 此外,虽然上文对图1的讨论指示,VMM 101在没
存储器访问不被执行)。由此,存储器控制器204不是向发出存储器请求的 软件实例发送“完成”确认性响应,而是发送请求未被执行的消息,因为目标物 理地址和软件实例已被分配访问的物理地址空间之间存在失配。
[0037]下面将提供对被添加到处理核201以生成请求和被添加到存储器控 制器204以处理这些请求的功能的更详细讨论。
[0038]如本领域所知,每个CPU处理核201包括多个指令流水线(为易 于说明,未在图2a中示出)。存储器访问指令的执行包括流水线(具体地, 流水线内的存储器访问单元)将指令中指定的逻辑存储器地址转换为主存储器 中已被分配给流水线的软本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器,包括:存储器控制器逻辑电路,所述存储器控制器逻辑电路用于实施存储器中的多个领域,所述多个领域具有不同的隔离机制;处理核逻辑电路,所述处理核逻辑电路用于发出包括软件进程或线程所针对的物理地址的存储器访问请求,所述软件进程或线程由所述处理核逻辑电路执行,所述存储器访问请求还包括所述多个领域中的领域的标识符;信息保持空间,用于将所述存储器的物理地址与所述不同领域中的不同领域相关,如果所述标识符与从所述信息保持空间针对所述物理地址所标识的领域相对应,则所述存储器控制器逻辑电路用于为所述存储器访问请求提供服务。2.如权利要求1所述的处理器,进一步包括所述处理核逻辑电路与所述存储器控制器逻辑电路之间的高速缓存,所述高速缓存具有对第三寄存器空间的访问权,以将所述存储器的所述物理地址与不同领域中的不同领域相关,如果所述物理地址与所述高速缓存中的条目的物理地址匹配,并且如果所述标识符与从所述第三寄存器空间针对所述物理地址所标识的领域相对应,则所述高速缓存用于为所述存储器访问请求提供服务。3.如权利要求2所述的处理器,其特征在于,所述高速缓存是L2、L3或L4高速缓存中的一者。4.如权利要求1所述的处理器,其特征在于,所述处理器包括用于将软件进程或线程与所述不同领域中的一个领域相关的寄存器空间,并且,所述寄存器空间是所述处理核逻辑电路的一部分。5.如权利要求1所述的处理器,其特征在于,所述信息保持空间是所述存储器控制器逻辑电路的一部分。6.如权利要求1所述的处理器,其特征在于,所述不同的领域包括:第一领域;第二领域。7.如权利要求6所述的处理器,其特征在于,所述不同的隔离机制包括:针对所述第一领域和所述第二领域中的一者的第一加密/解密访问进程;针对所述第一领域和所述第二领域中的另一者的第二加密/解密访问进程。8.如权利要求6所述的处理器,其特征在于,所述不同的隔离机制包括虚拟机监视器和所述第一领域或所述第二领域中的一者的虚拟机之间的软件层。9.一种计算系统,包括:网络接口;大容量存储接口;主存储器;处理器,包括以下i)、ii)、iii)和iv):i)存储器控制器逻辑电路,所述存储器控制器逻辑电路用于实施所述主存储器内的多个不同领域,所述不同领域具有不同的隔离机制;ii)寄存器空间,用于将软件进程或线程与所述不同领域中的一个领域相关;iii)处理核逻辑电路,所述处理核逻辑电路用于发出包括所述软件进程或线程所针对的物理地址的存...

【专利技术属性】
技术研发人员:T
申请(专利权)人:英特尔公司
类型:发明
国别省市:

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

1