本申请公开了保护共享的互连以用于虚拟机。一种处理系统包括互连和耦合到互连的执行多个虚拟机的处理核,每一虚拟机都通过相应的标识符来标识,并通过第一虚拟机的标识符来标记由第一虚拟机启动的访问互连的第一事务。
【技术实现步骤摘要】
本专利技术的各实施例一般涉及处理系统,更具体而言,涉及保护执行虚拟机的处理 系统的共享的互连。 背景 处理系统可包括共享的互连,通过该共享的互连,处理单元(诸如中央处理单元 (CPU)和图形处理单元(GPU))、主控设备(在下文中,被称为总线主控器)以及从属设备 (在下文中,被称为总线受控器)可以相互进行通信。总线受控器可包括外围设备和存储 器。外围设备和存储器可以通过互连与处理系统和总线主控器进行通信。处理单元可以执 行可包括一个或多个虚拟机的虚拟化系统,以提供进一步的资源共享。然而,共享的互连可 能使总线受控器暴露于来自隐秘的总线主控器的恶意攻击。进一步,虚拟化系统会使总线 受控器遭受来自隐秘的虚拟机的恶意攻击。 附图简述 通过下面给出的详细描述以及本专利技术的各实施例的各个附图,将可更加完全地理 解本专利技术。然而,附图不应该被理解为将本专利技术限制于特定实施例,而只是为了说明和理解 的目的。 图1示出了根据本专利技术的一实施例的处理系统。 图2A示出了根据本专利技术的一实施例的用于保护存储器的防火墙规则。 图2B示出了根据本专利技术的一实施例的用于保护外围设备的防火墙规则。 图3A示出了根据本专利技术的一实施例的设置处理系统的操作。 图3B示出了根据本专利技术的一实施例的CPU事务和总线主控器事务的访问控制。 图4是示出了根据本专利技术的一实施例的如图1所示的处理系统的方法的流程图。 图5A是示出了其中可以使用本专利技术的一个实施例的处理器的微架构的框图。 图5B是示出了根据本专利技术的至少一个实施例实现的有序流水线和寄存器重命名 级、无序发布/执行流水线的框图。 图6示出了根据本专利技术的一个实施例的处理器的微架构的框图。 图7是示出了其中可以使用本专利技术的实施例的系统的框图。图8是示出了本专利技术的实施例可以在其中操作的系统的框图。图9是示出了本专利技术的实施例可以在其中操作的系统的框图。 图10是根据本专利技术的一个实施例的芯片上系统(SoC)的框图。 图11是根据本专利技术的SoC设计的实施例的框图。 图12示出了计算机系统的一个实施例的框图。【具体实施方式】 为通过共享的互连保护总线受控器免受恶意攻击,本专利技术的各实施例包括处理系 统,该处理系统将访问总线受控器的每一事务与标识执行该事务所针对的虚拟机的标识符 相关联。进一步,各实施例可以提供到互连的一个或多个防火墙,以使用该虚拟机的标识符 来验证打算访问该总线受控器的事务。 虽然可以参考特定集成电路(诸如在计算平台或微处理器中)来描述下列实施 例,但其他实施例也适用于其他类型的集成电路和逻辑设备。可以将此处所描述的各实施 例的类似的技术和原理应用于其他类型的电路或半导体器件。例如,所公开的各实施例不 仅限于台式计算机系统或超极本(Ultrabooks?)。也可以用于诸如手持式设备、平板、其他 薄的笔记本、芯芯片上系统(S0C)设备以及嵌入式应用之类的其他设备中。手持式设备的 某些示例包括蜂窝电话、网际协议设备、数码相机、个人数字助理(PDA)以及手持式PC。嵌 入式应用通常包括微控制器、数字信号处理器OSP)、芯芯片上系统、网络计算机(NetPC)、 机顶盒、网络集线器、广域网(WAN)交换机或能够执行下面教导的功能和操作的任何其他 系统。 虽然将处理器参考来描述下列各实施例,但是,其他实施例也适用于其他类型的 集成电路和逻辑设备。可以将本专利技术的各实施例的类似的技术和原理应用于可以得益于较 高流水线吞吐量和改善的性能的其他类型的电路或半导体器件。本专利技术的各实施例的原理 适用于执行数据操纵的任何处理器或机器。然而,本专利技术不仅限于执行512位、256位、128 位、64位、32位或16位数据操作的处理器或机器,并可以应用于其中执行对数据的操纵或 管理的任何处理器和机器。另外,下列描述提供了示例,为便于说明,各个附图示出了各种 示例。然而,这些示例不应该以限制的方式来解释,因为它们只是提供本专利技术的各实施例的 示例,而并非提供本专利技术的各实施例的所有可能的实现的详细清单。 图1示出了根据本专利技术的一实施例的处理系统100。在一个实施例中,处理设备 100可以是可以在单一半导体封装内的单一管芯(同一衬底)上实现的芯片上系统硬件电 路。处理系统可包括中央处理单元(CPU)模块102、总线主控器(#1到_) 106、总线受控 器(#1到#M) 108、存储器设备110以及互连112。CPU模块102还可以包括中央处理单元(CPU) (#1到#K) 104,每一CPU都可包括一 个或多个处理核(未示出)。CPU104和/或处理核可以执行虚拟化系统114,以允许一个 或多个操作系统的多个实例在被称为主机处理设备("主机")的处理系统1〇〇上运行。如 此,处理系统100可以是主控虚拟化系统114的主机。虚拟化系统114可以在硬件中实现 (也称为硬件辅助的虚拟化)。CPU104的指令集可以被扩展,以包括启动和退出虚拟机的 指令,以便虚拟化系统114可以以硬件辅助的方式来实现。在硬件辅助的虚拟化中,被称为 虚拟机管理器("VMM",也被称为系统管理程序)118的软件模块可以被用来创建和管理一 个或多个虚拟机116(也被称为"访客机")。VMM118可以给每一虚拟机呈现访客操作系 统,并管理访客操作系统的执行。应用程序软件(也被称为"访客软件")可以在虚拟机116 上执行。如此,通过经由虚拟化系统114来共享处理系统100的硬件资源,应用程序软件的 多个实例可以在虚拟机116上执行。VMM118可以通过控制处理系统100的硬件组件来直接在主机的硬件上运行,并 管理虚拟机116的访客操作系统。这通常被称为类型-IVMM。可另选地,VMM118可以在 处理系统100的操作系统(也被称为主机操作系统)内运行。这通常被称为类型-IIVMM。 在任一类型的VMM下,在虚拟机上执行的访客操作系统和访客应用程序软件的指令可以被 转换为CPU104的指令并由这些CPU执行。 CPU104中的每一个都可包括执行指令的处理核(未示出)和本地存储指令和与 指令相关联的数据用于快速存储和检索的缓存存储器("缓存")。通常,每一CPU都可以具 有不同级别的缓存。通常,每一处理核都可以具有其自己的L1和L2缓存,虽然L1缓存比 L2缓存较小并且更快,多个核可以共享比L1或L2缓存较大并且较慢的L3缓存。CPU104 可以在VMM或主机操作系统的控制下代表虚拟机来执行操作。由CPU104执行的将数据和 指令移进和移出CPU模块102到互连112、然后到外围设备108或到存储器110的操作被称 为CPU事务。由L1/L2缓存来缓存的CPU事务被称为被缓存的事务。例如,如果缓存的事 务将访问外围设备108和/或存储器110,则它们也可以被称为缓存的CPU访问。相比之 下,不由L1/L2缓存来缓存的CPU事务被称为未被缓存的事务。 互连112可以是总线系统,通过该总线系统,不同的硬件组件(诸如处理单元104、 总线主控器106、外围设备108、存储器110)相互进行通信。通信的内容可以包括指向存 储器110和外围设备108的CPU事务。CPU事务可包括指令和与要为虚拟机执行的指令相 关联的数据。除提供链接这些硬件组件的共享的通信织状结构之本文档来自技高网...
【技术保护点】
一种处理系统,包括:互连;以及处理核,耦合到所述互连,用于:执行多个虚拟机,每一虚拟机都通过相应的标识符来标识;以及通过所述第一虚拟机的标识符来标记由第一虚拟机启动的访问所述互连的第一事务。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:T·W·洛,G·N·什雅,S·J·鲁滨逊,R·弗塔斯,H·王,H·莱尼格,P·哈马伦德,D·A·马泰科蒂,C·厄尔本,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。