在虚拟机中避免高速缓存行共享的制作方法

文档序号:6455491阅读:228来源:国知局
专利名称:在虚拟机中避免高速缓存行共享的制作方法
在虛拟机中避免髙速缓存行共享
背景
最近的文章,如Daniel Bernstein的Cac/2e-"w/"g a"acfo ow O^^ES 游/^^"^#定好攻击>> ,2005,禾B Colin Percival的Cac/ze M/肌'"g/or 尸ra^ C^意^7存意游/^^^存末^^ , 2005,和Dag Arne Osvik、 Adi Shamir、 Eran Tromer的CacAe爿加由朋d CoM她,eoswms"/2e o/f裔遂缓存攻 击浙^/枭.'爿五S游獰况J , 2005,以及Joseph Bo皿eau、 Ilya Mironov的 Cac/ze-Co〃/w'o" 77w/"gv4"ac^ ^ga/"W ^五SO!7^^;S游/^^^^V^^"定^/"攻击义 2006,公开了可能影响运行虚拟机的系统的潜在安全漏洞。简言之,在多个客 机操作系统共享单个或多个处理器而处理器又共享存储器总线的情况下,恶意 的客机可能发现一个或多个其它客机的私钥。
这可通过1、将数据加载到高速缓存;2、以某种方式使受害的客机运行 将要填充存储器的代码;以及3、随后在尝试检索加载到高速缓存中的数据的 同时测量其这样做所耗的时间来实现。通过测量其检索加载到高速缓存中的数 据所耗的时间,恶意的客机发现这些数据实际上是否仍在高速缓存中。如果数 据不在高速缓存中,将花更多时间来检索。如果数据不在高速缓存中,则可以 推断受害的客机使用了该高速缓存位置。通过确定受害的客机使用了哪些高速 缓存位置,恶意的客机可以对受害者的操作有所了解,且可能足以危及受害者 的安全。
如在上述参考文献中所提供的对高速缓存线密码分析的现有的推荐解决 方案建议改变加密算法来屏蔽存储器访问。这有若干限制。首先,其要求重写 加密算法,这是代价高昂的任务。其次,其假定可以将算法做得抗分析。第三, 重写算法可能显著地影响其性能。
当在虚拟机上运行时,诸如隔离操作系统中的存储器以保护加密过程等其 它缓和措施也可能处于危险中。这是因为以下事实虚拟化的客机操作系统可 能不能控制其存储器是如何分配给它的以及其它存储器是如何分配给其它可 能不友好的分区的。虚拟机技术在当今的技术领域中日益重要。例如,可能涌现其中多个客机 操作系统由商业主存服务来主存的业务模型。在这种设置中不能容许安全威 胁。本发明解决上述漏洞,并且还提供可以保证本发明也可用于非安全相关目 的的性能增益。
概述
考虑到以上标识的现有技术的缺点,本发明提供用于在虚拟机中避免高速 缓存行共享的系统和方法。例如,在运行主机和多个客机操作系统的系统中,
主机帮助客机操作系统的硬件访问。具体地,主机可以监督客机操作系统的存 储器访问。因为高速缓存行与以规则间隔隔开的存储器页相关联,所以主机可 以将客机存储器访问只定向到选择的存储器页,并且因而将客机高速缓存使用 限制到一个或多个高速缓存行。通过将存储器访问定向到单独的一组存储器 页,可以将其它客机限制到不同的高速缓存行。以下将描述本发明的其它优点 和特征。
附图简述
将参考附图进一步描述根据本发明的用于在虚拟机中避免高速缓存行共 享的系统和方法,在附图中


图1示出向多个客机分区分配存储器的现有技术方法。第一客机可以使用 例如分区A110中的存储器,其是与高速缓存行l、 2、 3和4相关联的存储器 页的连续块。如果执行了上下文切换,则另一客机可以使用同一高速缓存行和 存储器页。
图2示出包括处理器210、 220,高速缓存行211、 212、 221、 222,主机 203,客机201、 202和存储器230的设备200。客机存储器访问被定向到与某 些高速缓存行相关联而不与其它高速缓存行相关联的存储器页。其它客机可以 使用与不同的高速缓存行相关联的存储器页。
图3示出根据本发明的实施例向客机分区分配存储器。第一客机可以使用 分区A310,其是存储器页的按规则间隔隔开的非连续块,故只与高速缓存行
61相关联。如果执行了上下文切换,则其它客机可以使用与诸如高速缓存行2
等不同的高速缓存行相关联的存储器页。
图4示出用于管理客机的存储器访问的方法。
图5示出用于将上下文从第一客机切换到第二客机的方法。
图6示出用于将客机从第一处理器转移到第二处理器的方法。
图7示出用于为例如共同实体所拥有的一组客机等一组相关客机保留高
速缓存行和/或存储器地址的方法。 详细描述
在以下描述和附图中描述了某些具体细节,以提供对本发明的各个实施例 的全面理解。然而,通常与计算和软件技术相关联的某些公知细节将不在以下 公开中描述,来避免对本发明的各实施例的不必要的混淆。此外,相关领域的 普通技术人员可以理解,他们可以无需以下描述的细节中的一个或多个而实现 本发明的其它实施例。最后,尽管在以下公开中参考了步骤和序列来描述各个 方法,但是如此的描述是为了提供本发明的实施例的清楚实现,且步骤以及步 骤序列不应被认为是实现本发明所必需的。
图1表示简化的高速缓存模型。图1构想了包含具有4个高速缓存行150 的处理器和16页的物理存储器100的示例性系统。有三个客机分区110、 120、 130,其每一个都被分配了4页存储器。主机140被分配了1页。
图1示出高速缓存行分配的传统方法,其导致在背景一节所讨论的安全漏 洞以及某些消极性能暗示。可以理解,现有的计算机处理器(有时被称为中央 处理单元(CPU))包含内部存储器高速缓存以改进数据访问和指令读取的性 能。这些高速缓存通常内部地专用于特定存储器部分以在处理器管芯中限制其 大小和复杂度。这一安排通常被称为"关联"给定的高速缓存缓冲区只可以相 关联于或被用来高速缓存预定义的存储器地址。例如,如果CPU寻址4K字节 页中的存储器且该CPU包含4个高速缓存行,则每第16K字节存储器将与同 一高速缓存行相关联。这意味着来自存储器地址OK的读将填充在第一高速缓 存行中。来自存储器地址16K、 32K、 48K等的任何后续读也可填充在第一高 速缓存行中而驱逐先前的读,即在该示例中是来自地址OK的读。在图1中,假想处理器在被称为1、 2、 3和4的4个高速缓存行150中存 储信息。在该示例中,每一高速缓存行具有由每一高速缓存行标识符下的4个 框所表示的4个"字(word)"。每一高速缓存行都与系统物理存储器页100 中的多个存储器页相关联。例如,如从图1中使用的阴影可以推出的,高速缓 存行1中的第一个字指的是系统物理存储器页100中的0K存储器页。高速缓 存行1中的第二个字指的是系统物理存储器页100中的16K存储器页。高速缓 存行1中的第三个字指的是系统物理存储器页100中的32K存储器页。高速缓 存行1中的第四个字指的是系统物理存储器页100中的48K存储器页。
类似地,高速缓存行2中的各个字指的是系统物理存储器页100中的4K、 20K、 36K和52K存储器页。高速缓存行3中的各个字指的是系统物理存储器 页100中的8K、 24K、 40K和56K存储器页。高速缓存行4中的各个字指的 是系统物理存储器页100中的12K、 28K、 44K和60K存储器页。这一安排是 本领域技术人员所理解的公知且标准的硬件实现。
应当注意,高速缓存行150可以是一级(Ll)高速缓存、二级(L2)高 速缓存、三级(L3)高速缓存、或任何其它级的高速缓存。尽管本发明不限于 任何特定高速缓存级的操作,但此处所讨论的示例性实现是针对L2和/或L3 高速缓存的。这是因为L2和L3高速缓存通常用相同的n向组关联(n-way set associativity)和行大小来配置,这有助于本发明的各实施例的操作。
返回图1,右栏示出用于向包括客机操作系统和/或相关联的仿真软件在内 的应用程序分配高速缓存行的传统方法。该方法涉及分配高速缓存行以最大化 特定应用程序对连续存储器页的利用。因为客机操作系统的硬件资源通常被称 为"分区",所以图l示出对三个假想客机分区110、 120、和130,以及虚拟机 监控程序(VMM)分区140的存储器分配。
一般而言,虚拟机技术将计算机中的硬件资源分配到与客机操作系统相关 联的各个分区。某些资源专用于单独的分区。其它则通常以时间片的方式共享。 硬件资源分配的选择最终由诸如VMM等主机来实施。此处所使用的术语"主 机"一般指的是具有对物理设备硬件的主要访问和控制的软件。VMM是主机, 也是系统管理程序、主机操作系统等。主系统存储器是由VMM管理的一个硬件资源。哪些存储器页分配给哪些分区的选择可由VMM本身或被委托该任务 的服务分区来做出。在任一情况下,都是VMM来实施该分配。
如图1所示,可以向每一客机分配包括连续的一组存储器页的分区。例如, 分区A存储器110包括0K、 4K、 8K和12K存储器页。分区B存储器120包 括16K、 20K、 24K和28K存储器页。分区C存储器130包括32K、 36K、 40K 和44K存储器页。VMM存储器140包括48K存储器页。如从将存储器页和高 速缓存行进行关联的阴影可以推出的,作为存储器分配的结果,每一客机操作 系统都使用所有四个高速缓存行1、 2、 3和4。 VMM只使用高速缓存行1,因 为在该示例中其只使用单个存储器页。然而,VMM所使用的高速缓存行仍然 由客机操作系统所共享,从而使VMM受到背景中所述的威胁。
图1因此示出对各分区和VMM本身的系统物理页的传统的、顺序的分配。 使用这种技术,分区A中的存储器访问可以驱逐分区B、 C和VMM的高速缓 存。如果分区B在存储器中保持加密表,则分区A可能能够推断访问。这受 到背景部分中描述的安全威胁,g卩, 一个分区可以观察另一分区或主机的存储 器访问行为并推断关于其加密处理的信息,从而可能泄露其私钥的各个位。
图1中示出的高速缓存行共享的一个附加结果是在具有多个执行上下文 的系统上,处理器必须对高速缓存条目加标签以了解哪些条目对该上下文是有 效的。在处理器确定高速缓存行是否与其当前执行上下文相关时,其使用每一 高速缓存行条目的、具有该高速缓存行相关的页目录的引用的标签。如果两个 执行上下文具有冲突的标签,则高速缓存行可能在其不应对执行上下文有效时 却看似对其有效。
与图1的高速缓存行模型相关联的消极性能暗示之一是多处理器系统必 须提供对各处理器的高速缓存进行同步的方式。在一个处理器读取存储器位置 并高速缓存其内容而另一处理器写入该位置而使第一处理器的高速缓存的内 容无效的情况下,这是必要的。
同样,在图1中,高速缓存行实际上同时在多个分区和主机之间共享,因 为多个处理器可以在两个或多个分区中同时执行。其存储器读或写可能使彼此 的高速缓存行无效。由于各分区可以在多个真实CPU上同时执行,所以其可 以连续地驱逐彼此的高速缓存行。这可导致高速缓存抖动,在这种情况下,每一分区由于冷高速缓存(cold cache)而必须从主系统存储器读入,从而使其它 分区对相同的高速缓存行的使用无效,而这些分区随后也必须从主存储器读入 并驱逐先前的读取者。如果不检查这一过程,则其可以显著地影响系统性能。
如可从图2和图3理解的,通过提供各个系统和方法,本发明提供对参考 图l和在背景部分所讨论的问题的解决方案,以及多个可能的性能增益,在这 些系统和方法中,主机203 (图2中的VMM)或被授权向各分区指定存储器 分配的代表可以检查系统CPU 210、 220的存储器高速缓存布局并向各分区分 配存储器230以最小化或完全避免多个客机操作系统201、 202和/或主机203 的高速缓存行共享。
简要地参考图3,通过有策略地将存储器分配给各分区来避免高速缓存行 共享,分区A的所有存储器访问310都落入一个高速缓存行一在此,为高速缓 存行l。高速缓存行1可以是单个高速缓存行或一组高速缓存行。结果,分区 A读或写将不会降低分区B、 C或VMM的高速缓存性能。分区A也不能推断 出其它分区或VMM的存储器访问行为。
图2提供用于向多个客机操作系统201、 202提供硬件访问的系统,其包 括存储器230、含有至少两个高速缓存行,例如221、 222的高速缓存,其中每 一高速缓存行都与以规则间隔隔开的多个存储器页相关联。在图2中,高速缓 存行221与存储器页232、 234、 236和238相关联。高速缓存行222与存储器 页231、 233、 235和237相关联。因此,与高速缓存行221相关联的存储器页 的规则间隔是2,因为存储器230中每隔一个高速缓存存储器页与高速缓存行 221相关联。类似地,高速缓存行222与以规则间隔2隔开的多个存储器页相 关联,因为存储器230中每隔一个高速缓存存储器页与高速缓存行221相关联。 "规则间隔"因而在此被用来指与前一或后一间隔相同的间隔。
图2还包括至少一个客机201和被配置为以所述规则间隔分配所述至少一 个客机201所使用的存储器页的主机203,以便所述至少一个客机201所使用 的所有存储器页与所述至少两个高速缓存行221或222的受限子集相关联。例 如,如果主机203以规则间隔2从230开始分配客机201所使用的存储器页, 则客机将只从例如页232、 234、 236和238读取或向其写入。结果,客机201 所使用的所有存储器页将与高速缓存行221和222的受限子集相关联-在该示例中,受限子集只包括高速缓存行221。此处所使用的"受限子集"指的是小于 可用高速缓存行的整个数量的子集。
高速缓存行221和222被示为处于L2高速缓存中,但如前所述,本发明 不限于任何特定的高速缓存级。L3高速缓存也被认为尤其适于本发明的某些 实施例。
在其中高速缓存行221和222与处理器220相关联的实施例中,可以执行 上下文切换以允许至少一个第二客机202在所述至少一个处理器220上执行。 主机203可被配置为分配单独的一组存储器页,例如231、 233、 235和237, 以供所述第二客机202使用。这将类似地导致所述第二客机202所使用的所有 存储器页与所述至少两个高速缓存行221或222的受限子集相关联。在这种情 况下,客机202被限于高速缓存行222,即与客机201所使用的高速缓存行不 同的高速缓存行。任何数量的客机都可以主存在设备200上,且主机203可被 配置为分配单独的一组存储器页以供每一客机使用。
分配存储器以便客机202使用与客机201的高速缓存行不同的高速缓存行 222的性能好处是,客机202将不会盖写201所高速缓存的信息,且类似地将 不会盖写201放在存储器中的信息。上下文切换可以更快地完成且有更少的高 速缓存未中。安全好处是解决了背景部分中所讨论的漏洞。
在一种配置中,除处理器220之外,设备200还可以包括多个处理器,例 如处理器210。如图所示,与处理器210相关联的高速缓存行211、 212可以类 似地与以规则间隔隔开的多个存储器页相关联。例如,如之前一样,高速缓存 行211可以与存储器页231、 233、 235和237相关联,而高速缓存行212可以 与存储器页232、 234、 236和238相关联。
这种多处理器实施例允许客机201从第一处理器220转移到第二处理器 210。在完成时,主机203可以确保客机201使用与其在分配给处理器220时 所使用的相同的一组通用存储器页,例如232、 234、 236和238。因此,在多 处理器系统中,诸如221等客机可以实际上拥有保留的高速缓存行和对应的一 组存储器页,而不管其所要转移到的处理器。这导致降低的高速缓存未中和降 低的存储器未中方面的性能增益。安全漏洞也减少了。应当强调,正如各客机201、 202可被分配从230开始的存储器以便将其限制到高速缓存行的受限子集一样,主机203可以类似地分配其自己的存储器使用。因此,性能和安全增益还可在涉及主机的上下文切换中实现。主机203因此可被配置为以适当的规则间隔从230开始分配所述主机203所使用的存储器页,以便主机203所使用的所有存储器页都与所述至少两个高速缓存行的至少一个,例如221或222相关联。
在另一可能的实施例中,相关的多个客机可被分配存储器以便在该相关的多个客机之间共享高速缓存行而不与该相关的多个客机之外的任何客机共享高速缓存行。例如,考虑关于由多个银行拥有的客机的主存服务。第一银行可能不在乎其操作系统是否互相共享高速缓存行,但可能不想与竞争银行共享高速缓存行。在这种情况下,供每一相关的客机使用的单独的一组存储器页与保留的多个高速缓存行的至少一个相关联。例如,考虑其中共同拥有客机201和202的场景。同样,想象多个附加高速缓存行是可用的,其未在图2中示出且其指的是同样未示出的某些假想存储器页。客机201和202可被分配为使用存储器页231-238的任一页,并且因而在必要时在其被从处理器210上下文切换到220以及从220切换到210时共享存储器页211、 212、 221和222。还可以向其保证无关的客机将不会侵入其高速缓存行或存储器页。
图3被设计来提供本发明的高速缓存模型和图1示出的传统高速缓存模型之间的清楚的并置。如上所述,从300开始的存储器可被有策略地分配给客机/分区以避免高速缓存行共享。因此,第一客机被分配为使用0K、 16K、 32K和48K处的存储器页。结果,第一客机被限于350中的高速缓存行的受限子集,在此,为包括高速缓存行1的子集。类似地,第二客机可被限于页4K、 20K、36K和52K,第三客机可被限于页8K、 24K、 40K和56K,而主机可被分配与第四高速缓存行相关联的页,在此,为12K和/或28K、 44K和60K。
图4示出用于管理第一客机的存储器访问的方法,包括确定与高速缓存行相关联的多个存储器页401,重新映射客机存储器访问402,以及将所述客机存储器访问定向到所述多个存储器页的至少一个,以便所述第一客机所使用的所有存储器页都与所述高速缓存行相关联403。还示出了可任选步骤,包括在执行上下文切换时转储清除高速缓存行/存储器页404。在一实施例中,图4中的所有步骤可由主机来执行。当启动或转移客机以在处理器上运行时,主机可以确定客机要使用的存储器页。如果客机是首次启动的,则主机可以选择与单个高速缓存行或与高速缓存行的受限子集相关联的任何页。另选地,主机可以根据一个或多个相关的客机所使用的一组高速缓存行/存储器页来选择存储器页。如果客机是先前启动的且仅仅是上下文切换到处理器,则主机可以参考所存储的关于客机先前使用的存储器页/高速缓存行的受限子集的信息,并继续使用该受限子集。
在客机执行时,主机或主机控制下的存储器子系统可以重新映射客机存储
器访问402,并将其重新定向到所确定的多个存储器页。因此,客机可能永远
不知道其存储器访问被重定向。主机可被配置为向客机呈现人工存储器视图,以便客机只看到与其分配的高速缓存行子集相关联的存储器部分。
可以执行转储清除高速缓存行或存储器页的可任选步骤404,例如在主机被迫允许多个不相关的客机的高速缓存行共享时。转储清除指的是驱逐和/或盖写诸如高速缓存或相关联的存储器页等存储器位置中的所有信息。
图4中示出的方法可由图5、图6和图7中示出的方法步骤来扩充。例如,参考图5,可以执行从第一客机到第二客机的第一上下文切换501。第二客机的存储器访问随后可被定向到与第二高速缓存行相关联的存储器页502,例如通过为第二客机基本上重复图4的步骤确定与第二高速缓存行相关联的第二多个存储器页,重新映射第二客机存储器访问,以及将所述第二客机存储器访问定向到所述第二多个存储器页的至少一个,以便所述第二客机所使用的所有存储器页都与所述第二高速缓存行相关联。
在另一实施例中,如图6所示,第一(现有)客机被转移到不同的处理器。现有客机指的是当前活动且正在运行的客机。这种客机可被上下文切换到第二处理器601,且客机存储器访问可被定向到与同先前相同的高速缓存行相关联的页602。
图4还可由图7中示出的步骤来扩充,如为例如同一实体所拥有的多个客机等相关的多个客机保留多个存储器页701,以及允许相关的客机的任一个使用任何所保留的高速缓存行或存储器页702。在此,"保留的"应被理解为暗示在这些存储器页或高速缓存行保持保留时,这些存储器页和高速缓存行不能由
13任何不相关的客机使用。然而,取决于实施例,主机可以被允许或不被允许使用所保留的存储器页和高速缓存行。
除了此处明确阐述的具体实现之外,考虑此处所公开的说明书,其它方面和实现将对本领域的技术人员是显而易见的。本说明书和所示的实现旨在被认为仅仅是具有所附权利要求书的真正范围和精神的示例。
权利要求
1. 一种用于向多个客机操作系统提供硬件访问的系统,包括存储器230;包括至少两个高速缓存行221、222的高速缓存,其中每一高速缓存行都与以规则间隔隔开的多个存储器页231-238相关联;至少一个客机201;主机203,其被配置为按所述规则间隔分配所述至少一个客机所使用的存储器页231-238,以便所述至少一个客机201所使用的所有存储器页231、233、235、237都与所述至少两个高速缓存行221、222的受限子集222相关联。
2. 如权利要求1所述的系统,其特征在于,所述高速缓存是二级高速缓存。
3. 如权利要求l所述的系统,其特征在于,还包括至少一个处理器220, 其中可以执行上下文切换以允许至少一个第二客机202在所述至少一个处理器 220上执行,并且其中所述主机203被配置为分配单独的一组存储器页232、 234、 236、 238以供所述第二客机202使用。
4. 如权利要求l所述的系统,其特征在于,还包括多个处理器210、 220, 其中所述至少一个客机201可被从第一处理器210转移到第二处理器220。
5. 如权利要求1所述的系统,其特征在于,所述至少一个客机201包括 多个客机,并且所述主机203被配置为分配单独的一组存储器页231-238以供 每一客机使用。
6. 如权利要求5所述的系统,其特征在于,所述多个客机是相关的多个 客机,并且所述供每一相关的客机使用的单独的一组存储器页与保留的多个高 速缓存行的至少一个相关联。
7. 如权利要求l所述的系统,其特征在于,所述主机203还被配置为 按所述规则间隔分配所述主机203所使用的存储器页231-238,以便所述主 机203所使用的所有存储器页231-238都与所述至少两个高速缓存行221、 222的受限子集相关联。
8. —种用于管理第一客机201的存储器230访问的方法,包括 确定与高速缓存行的受限子集212、 222相关联的多个存储器页231、, 233、 235、 237;重新映射客机201存储器230访问;将所述客机201存储器230访问定向到所述多个存储器页231、 233、 235、 237的至少一个,以便所述第一客机201所使用的所有存储器页231、233、235、 237都与所述高速缓存行的受限子集212、 222相关联。
9. 如权利要求8所述的方法,其特征在于,还包括执行从所述第一客机 201到第二客机202的第一上下文切换。
10. 如权利要求9所述的方法,其特征在于,还包括 确定与高速缓存行的第二受限子集211、 221相关联的第二多个存储器页232、 234、 236、 238;重新映射第二客机202存储器230访问;将所述第二客机202存储器230访问定向到所述第二多个存储器页232、234、 236、 238的至少一个,以便所述第二客机202所使用的所有存储器页232、 234、 236、 238都与所述高速缓存行的第二受限子集211、 221相关联。
11. 如权利要求9所述的方法,其特征在于,还包括在与所述第一上下文 切换不同的处理器210上执行第二上下文切换,从而所述第一客机201被转移 到所述不同的处理器210。
12. 如权利要求11所述的方法,其特征在于,还包括将所述客机201存 储器230访问定向到相同的多个存储器地址231、 233、 235、 237,以便所述第 一客机201所使用的所有存储器页231、 233、 235、 237保持与所述高速缓存 行的受限子集212、 222相关联。
13. 如权利要求8所述的方法,其特征在于,所述高速缓存行的受限子集 212、 222处于二级高速缓存中。
14. 如权利要求8所述的方法,其特征在于,还包括为相关的多个客机保 留多个存储器页。
15. 如权利要求14所述的方法,其特征在于,所述相关的多个客机是由 于被同一实体所拥有而相关的。
16. 如权利要求14所述的方法,其特征在于,用于相关的多个客机的所 述多个存储器页与多个高速缓存行相关联。
17. 如权利要求16所述的方法,其特征在于,与所述多个高速缓存行的 任一个相关联的存储器页可由所述相关的多个客机的任一个来使用。
18. 如权利要求8所述的方法,其特征在于,还包括在执行上下文切换之前转储清除所述高速缓存行的受限子集。
19. 如权利要求8所述的方法,其特征在于,还包括在执行上下文切换之前转储清除所述多个存储器页。
20. —种用于向多个客机操作系统提供硬件访问的系统,包括-多个处理器210、 220;包括多个高速缓存行221、 222的二级高速缓存,其中每一高速缓存行都 与以规则间隔隔开的多个存储器页231-238相关联; 存储器230;多个客机操作系统201、 202;主机203,其被配置为按所述规则间隔分配客机操作系统201所使用 的存储器页231-238,以便所述客机操作系统201所使用的所有存储器页 231、 233、 235、 237都与单个高速缓存行222相关联。
全文摘要
在虚拟机中避免高速缓存行共享可在运行主机和多个客机操作系统的系统中实现。主机帮助客机操作系统的硬件访问并监督客机的存储器访问。因为高速缓存行与以规则间隔隔开的存储器页相关联,所以主机可以将客机存储器访问只定向到选择的存储器页,并且因而将客机高速缓存使用限制到一个或多个高速缓存行。通过将存储器访问定向到单独的一组存储器页,可以将其它客机限制到不同的高速缓存行。
文档编号G06F12/00GK101490654SQ200780027173
公开日2009年7月22日 申请日期2007年7月20日 优先权日2006年7月21日
发明者B·S·贝克 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1