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

多客户机间共享物理设备制造技术

技术编号:2842047 阅读:200 留言:0更新日期:2012-04-11 18:40
一种物理设备具有要执行计算机系统的核心I/O功能的核心功能电路。本发明专利技术提供了多客户机接口电路,它们每个将其自身作为完整的设备提供给所述系统中的软件客户机,以访问核心功能电路。复用电路把所述客户机接口耦合到核心I/O功能。本文还描述了其他实施例并要求其权利。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
本专利技术的实施例一般涉及计算机系统,具体地说涉及允许多个程序共享物理设备的虚拟化技术。随着不同计算机操作系统(OS)程序(如LINUX、MACINTOSH、微软的WINDOWS)的盛行,消费者们被提供了大量不同种类的应用程序,遗憾的是这些应用程序并未设计成可运行于同一OS上。虚拟化技术使运行虚拟机监控程序(“VMM”)的单个主机可以提供主机的多个抽象体,使得主机的基本硬件看起来好像是一个或多个独立操作的虚拟机(“VM”)。各个VM可用作自包含的平台,它运行其自己的操作系统(“OS”)和/或一个或多个软件应用。VMM管理主机上的资源分配,并在需要时根据循环法或其他预定方案执行任务转换以在各种虚拟机之间进行多路复用。例如,在VM环境中,每个OS均有在其自己的硬件平台或“裸露金属”上运行的假相。每个OS可“看到”全套可用I/O设备,如键盘控制器、硬盘驱动控制器、网络接口控制器和图形显示适配器。当操作系统要与I/O设备进行通信时会用到以下技术。如果OS实际正运行于裸露金属上,那么物理I/O设备的硬件客户机接口便展现在总线上。客户机接口可以是一组映射到存储器的寄存器(映射到存储器的I/O、MMIO)或I/O端口(IOP),并可分别通过映射到存储器的I/O地址空间或通过计算机系统的I/O地址空间而被寻址。随后处理器可通过在总线上发出OS事务处理来读或写物理设备中指向已分配的地址空间的单元。另一方面,利用虚拟化技术可以有多个VM(用于运行多客户OS)。在此情况下,采用两种基本技术来给客户提供I/O能力。第一种技术是,VM只能访问该设备。VMM安排VM对要直接发送到目标I/O设备的MMIO或IOP的全部访问。这样,VM具有与设备通信的最大执行路径。此技术有时也称为设备分配。其主要局限性在于I/O设备只能被指配给单个VM。如果希望I/O设备以某种形式在多VM间共享,那么常规的技术便是VMM模拟物理I/O设备成为一个或多个“虚拟设备”。随后由VMM截取来自特定OS的物理设备的事务处理。VMM然后可选择模拟设备(例如通过采用网络接口来模拟串行端口)或者它可以多路传输单个I/O设备上的各种客户机VM的请求(例如把硬盘驱动分成多个虚拟驱动)。以下是虚拟化处理的另一种方法。VM需要访问一组可包括虚拟和物理设备的I/O设备。如果物理设备被分配给单个VM,那么它对于其他虚拟机就是不可用的。因此,如果物理设备需要由超过一个VM共享,那么通常VMM为每个VM提供虚拟设备。然后,VMM通过虚拟设备来仲裁物理设备的相同硬件客户机接口的访问。附图说明在附图的几个图中通过举例而不是限制的方式说明本专利技术实施例,附图中类似的标号指示类似的部件。应当注意本专利技术的实施例在本公开中并不一定指相同的实施例,它们意指至少一个实施例。图1说明“通过设计可共享”的物理设备的框图。图2描述了含有可共享设备以及其正运行虚拟化过程的计算机系统的框图。图3显示了涉及发现计算机系统中可共享I/O设备的虚拟化过程的流程图。具体实施例方式图1说明“通过设计可共享”的物理设备的框图。可共享设备100具有执行计算机系统的核心I/O功能(在本示例中)的核心功能电路104。核心I/O功能的例子包括在图形适配器情况下的图像再现、网络接口控制器的传输控制协议/互联网协议(TCP/IP)分组卸载。核心I/O功能电路可实现为硬连线和/或可编程逻辑与已编程序的处理器或本领域技术人员公知的任何其他技术的组合。在本系统中,软件虚拟机(VM)客户机108将经由多个客户机接口电路112(或简单地说是客户机接口112)中的任何一个访问核心功能电路104。VM客户机108可以是操作系统,如包含设备驱动的微软的WINDOWS或LINUX。客户机接口112经由复用电路116耦合到核心功能电路104,以使得由VM客户机经由客户机接口共享核心功能。复用电路116可包括需要在某个时刻把核心功能电路连接到任何一个客户机接口112上的信号线和复用器逻辑。每个客户机接口112把其自身作为完整和单独的设备提供给系统中的软件客户机,如VM客户机108。接口112可实现其驻留的总线所要求功能的各个方面。客户机接口112可包括在设备中的逻辑信令和外部总线信令之间转换的模拟电路。如果外部总线是串行点对点类型的话,那么可增加复用开关电路以便在任何时刻把寄存器组中的一个寄存器连接到总线的传输媒介上。在本专利技术的一些实施例中,每个客户机接口112可在(连接物理设备的)相同总线上支持相同外围部件互连(PCI)兼容的配置机制和相同功能发现机制。然而在这种实施例中,每个客户机接口将提供不同的PCI设备标号(因为各有效地代表不同的设备)。此外,每个客户机接口将识别一组独立的PCI兼容的功能。当然客户机接口也可设计成遵循其他类型的I/O或例如用于连接计算机系统的部件的总线通信协议。每个客户机接口可包括由软件客户机使用的独立的寄存器组,以获得有关接口的信息并配置接口。那么每寄存器组便可从它外部访问,而不管它是串行或并行、多支路或点对点的。例如,即插即用子系统可采用PCI配置寄存器来定义MMIO区的基地址。PCI兼容的配置寄存器组可包括以下公知寄存器中的一些或全部供应商ID、设备ID(确定配置寄存器地址的偏移量)、修订ID、类码、子系统供应商ID和子系统ID。这些寄存器的组合通常由操作系统用来确定要为设备装载哪个驱动。当在可共享设备中实现时,(给定客户机接口的)每个寄存器组可具有相同的地址范围,除了偏移量不同。设置基地址寄存器(BAR)可用来指定设备所用的基地址。当客户试图设置BAR时,VMM可设计成截取此请求并可修改它。这是出于几种原因。第一,两个VM中的每个VM可不知觉地试图把接口中的BAR设定成相同的值。VMM可设计成保证这种情况不发生。其次,每个VM可相信它正运行在基于零的地址空间(所谓的客户物理地址或GPA)中。当BAR由客户设置时,基零的GPA应在载入到BAR之前被转换成实际主机物理地址(HPA)。此外,VMM应修改客户VM的存储器管理表,以反映这种转换。在核心功能电路104相当复杂和/或大,使得复制这种电路将太昂贵(并且也不需要复制带来的并行处理性能)的情况下,可共享设备100可以是更理想的解决方案。另一有利用处将在I/O虚拟实施例(如以下参照图2所述)。在此情况下,可共享设备100允许虚拟机监控程序(VMM)不参与每个事务处理,由此缩短了(对等待时间特别敏感的)图形和网络事务处理的等待时间。此外,在一些实施例中,VMM的设计和实现基本上可以不怎么复杂,使得软件可以更稳定的操作。这可能是因为具有多客户机接口将不需要VMM来支持对应的虚拟设备(如VMM不需要模拟设备本身,也不需要为每个虚拟设备提供PCI配置空间。)软件客户机可利用任何一个客户机接口112来调用可共享设备的同一主要功能。这种主要功能可以是I/O设备(如显示图形适配器)的功能,例如产生位图显示图像的图像再现。在此情况下,可共享设备可实现为计算机系统芯片组的图形I/O区的一部分,或实现为单个的图形适配卡。后一种情况下的客户机接口也可包括用于可拆卸式地把卡连接到计算机系统总线的电气连接器。此情况下的所有接口可通过相同连接器来访问。另一主要功能可以是网络接口控本文档来自技高网...

【技术保护点】
一种物理设备,包括:核心功能电路,用于执行计算机系统的核心功能;多个客户机接口电路,各将它自身作为完整的设备提供给所述系统中的软件客户机以访问所述核心功能电路;以及复用电路,用于把所述多个客户机接口电路耦合到所述核心 功能电路。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:MA戈德史密斯
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1