实施黑名单分页结构指示值的处理器、方法,以及系统的制作方法

文档序号:9252392阅读:437来源:国知局
实施黑名单分页结构指示值的处理器、方法,以及系统的制作方法
【专利说明】实施黑名单分页结构指示值的处理器、方法,从及系统 【背景技术】 技术领域
[0001] 各实施例设及处理器领域。具体而言,各实施例设及使用分页的处理器的领域。
[000引背景信息
[0003] 许多处理器W及系统支持虚拟存储器W及分页。分页可W允许软件限制并控制进 程或任务对被称为页面的存储器的区域的访问。分页可W被用来为每一个进程或任务创建 单独的或独立的虚拟地址空间。该可W被用来防止一个进程或任务修改其他进程或任务的 存储器。
[0004] 通常,可W通过分页结构层次结构或分页结构的组,诸如页面目录和页面表,访问 页面。页面目录可W具有若干个页面目录条目。每一个页面目录条目都可W存储页面表的 指示(例如,指针)。页面表可W表示用于将虚拟地址映射到物理地址的数据结构。进程或 任务可W访问带有虚拟地址的页面表,并使用页面表来确定它寻求的数据的物理地址。每 一个页面表都可W具有若干个页面表条目。每一个页面表条目都可W存储页面的物理地址 的指示(例如,指针)。
[0005] 许多处理器具有控制寄存器,该控制寄存器用于存储定位适合于每一个进程或任 务的独立虚拟地址空间和/或分页结构的信息。例如,页面目录基址寄存器(PDBR)可W被 用来存储页面目录基址和/或页面目录条目的物理地址。当调度进程或任务时,当发生进 程或任务切换时等等,进程或任务可W修改存储对应页面目录基址的进程或任务的PDBR。
[0006] 通常,为安全目的,监测对PDBR或其他控制寄存器的企图的修改。然而,对PDBR 修改的无效率的监测往往可能会导致显著的性能下降。
[0007] 附图的若干视图的简要说明
[000引通过参考用来说明本发明的实施例的W下描述和附图,可最好地理解本发明。在 附图中:
[0009] 图1是适用于实现本发明的各实施例的虚拟机设备的实施例的框图。
[0010] 图2是虚拟机设备的实施例的框图。
[0011] 图3是判断是否允许虚拟机修改分页结构标识(PSI)存储位置的企图的方法的实 施例的流程框图。
[0012] 图4是处理试图修改分页结构标识(PSI)存储位置的指令的方法的实施例的流程 框图。
[0013] 图5是虚拟机设备的详细示例实施例的框图。
[0014] 图6是配置虚拟机设备的方法的实施例的流程框图。
[0015] 图7是CR3控制寄存器的实施例的框图。
[0016] 图8A是示出根据本发明的各实施例的示例性有序流水线和示例性的寄存器重命 名的无序发布/执行流水线的框图。
[0017] 图8B是示出根据本发明的各实施例的要包括在处理器中的有序架构核的示例性 实施例和示例性的寄存器重命名的无序发布/执行架构核的框图。
[0018] 图9A是根据本发明实施例的单处理器核连同其到管巧上互连网络的连接W及其 2级(L2)高速缓存的本地子集的框图。
[0019] 图9B是根据本发明的各实施例的图9A中的处理器核的一部分的展开图。
[0020] 图10是根据本发明的实施例的可具有超过一个的核、可具有集成的存储器控制 器、并且可具有集成图形的处理器的框图。
[0021] 图11所示为根据本发明的一个实施例的系统的框图。
[0022] 图12所示为根据本发明的实施例的第一更具体示例性系统的框图。
[0023] 图13示出根据本发明的实施例的第二更具体的示例性系统1300的框图。
[0024] 图14所示为根据本发明的一实施例的SoC的框图。
[0025] 图15是根据本发明的多个实施例的对照使用软件指令转换器将源指令集中的二 进制指令转换成目标指令集中的二进制指令的框图。 【具体实施方式】
[0026] 在W下描述中,阐述了大量具体细节(例如,特定操作序列、逻辑实现、处理器配 置、微架构细节、逻辑分区/集成细节、系统组件的类型和相互关系,等等)。然而应理解,本 发明的实施例在没有该些具体细节的情况下也可实践。在其它实例中,未详细示出公知的 电路、结构W及技术,W免模糊对本描述的理解。
[0027] 图1是适用于实现本发明的各实施例的虚拟机设备100的实施例的框图。虚拟机 设备包括多个虚拟机(VM) 101、虚拟机监视器(VMM) 104W及平台硬件105。
[002引平台硬件105可包括在台式计算机、膝上型计算机、手持式计算机、蜂窝电话、手 持式设备、服务器、网络元件、机顶盒,或其他类型的电子设备中发现的那些。平台硬件包括 至少一个处理器106、至少一个存储器109W及可任选的一个或多个输入和/或输出(I/O) 设备112。处理器可W是能够执行软件的任何类型的处理器。在某些实施例中,处理器可W 是通用处理器(例如,用于台式机、膝上型计算机等计算机的类型的)。替换地,处理器可W 是专用处理器。合适的专用处理器的示例包括但不限于,网络处理器、通信处理器、加密处 理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器值SP)W及控制器(例如,微 控制器),仅列举数例。还可W可任选地使用相同或者不同类型的两个或更多处理器。至少 一个存储器可包括硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪存或可由处理 器读取的任何其他类型的机器可读取的介质,或其组合。存储器可W存储指令和/或数据 W执行本文其它位置所公开的一个或多个实施例。
[0029] 虚拟机设备也包括虚拟机监视器(VMM) 104。VMM可软件、硬件、固件、或其组 合来实现。在示图中,示出了单一VMM,虽然在其他实施例中,可W使用两个或更多VMM。VMM 可W仿真并输出到较高级别的软件的裸机接口。该样的较高级别的软件可包括,例如,标准 或实时操作系统(0巧、具有有限的0S功能的高度精简的操作设备,不一定包括传统的0S 功能和/或设施的软件等等。VMM可W向其他软件(例如,在VM上和/或内运行的来宾软 件)介绍虚拟机(VM) 101的抽象。
[0030] 所示出的实施例包括第一虚拟机(VMi) 101-1到第N虚拟机(VMw) 101-N,其中,数字 N可W是任何合适的数字。每一个VM都具有其自己的来宾软件。如图所示,第一VM可W 具有第一来宾操作系统(OSi) 102-1和可任选的第一来宾应用程序(APPi) 103-1,而第NVM可W具有第N操作系统(0Sw)102-N和可任选的第N来宾应用程序(APPw)103-N。每一个VM 上的来宾软件可W预期访问平台硬件中的至少某些(例如,处理器106、存储器109、1/0设 备112等等)。VMM可W促进来宾软件对平台硬件的访问,而保持对平台硬件和/或某些事 件(例如,中断)的最后控制,W帮助提供来宾软件的正确操作,W及帮助提供来自来宾软 件W及在来宾软件之间的保护。
[003U 可W说VMM在根操作模式下运行,而可W说VM(例如,来宾软件)在非根操作模式 下运行。VM和/或非根操作模式特权没有VMM和/或根操作模式那么大。可W防止VMM免 于全部来宾软件。VM中的来宾软件可能不必须知道VMM存在和/或它正在与其他VM共享 平台硬件。VMM可W彼此隔离不同的VM的来宾软件堆找。VMM还可W在发生某些类型的事 件时接管控制。
[0032] 转换到VM操作和/或将控制从VMM转移到VM(例如,到来宾软件)被称为VM进 入。在一个实施例中,VM进入通过执行特殊指令来实现,虽然该不是必需的。从VM操作转换 回到VMM操作和/或将控制从VM转移到VMM在本文中被称为VM退出。VM退出的潜在的原 因包括,但不仅限于,某些类型的有特权的异常、平台事件或虚拟化事件。如下面进一步说 明的,在某些实施例中,VM退出可能由修改控制寄存器的非法尝试导致。在一个实施例中, 当发生VM退出时,在特定入口点(例如,指令指针值),例如,在虚拟机控制结构(VMC巧110 中指出的,将控制传递到VMM。
[0033] 在另一个实施例中,在通过重定向结构矢量化之后,将控制传递到VMM。可另选地, 可W使用任何其他合适的机制来将将控制从VM或来宾软件转移到VMM。
[0034] 再次参考图1,存储器存储至少一个虚拟机控制结构(VMC巧110。VMCS可W控制与 虚拟机设备的操作相关联的某些方面(例如,VM操作和/或VM操作和VMM操作之间的转 换的某些方面)。应该理解,有许多不同的可能的实现VMCS的方式。在某些实施例中,不 同的VMCS可W用于每一个不同的VM,或在其他实施例中,VMCS可W用于多个VM。在某些 实施例中,不同的VMCS可W用于VM内的每一个不同的逻辑或虚拟处理器,或在其他实施例 中,VMCS可W用于多个逻辑或虚拟处理器和/或多个VM。可构想其他示例。
[0035] 处理器具有一组一个或多个控制寄存器107W控制与处理器的操作相关联的某 些方面。如图所示,在某些实施例中,控制寄存器可包括页面目录基址寄存器(PDBR) 108。 PDBR可操作,W页面目录基址的形式存储分页结构标识信息。可另选地,分页结构标识信 息和/或页面目录基址可W被存储在另一位置,诸如,存储在存储器109中。在某些实施例 中,页面目录基址和/或分页结构标识信息可W提供到存储器109中的分页结构和/或分 页结构111的分层集合的进入点。
[0036] 图2是虚拟机设备200的实施例的框图。在某些实施例中,图2的虚拟机设备可 W在图1的虚拟机设备内实现。在该样的实施例中,上文对于图1所描述的特征和选项中 的任何一个都可W可任选地和图2的虚拟机设备一起使用。可另选地,图2的虚拟机设备 可W被包括在与如图1所示的虚拟机设备类似的或完全不同的虚拟机设备内。
[0037] 虚拟机设备200包括虚拟机(VM) 201。在某些实施例中,VM可能企图修改215分 页结构标识(PSI)存储位置208,诸如,页面目录基址寄存器(PDBR)。例如,当调度一个进 程(例如,操作系统任务)时,VM可能企图执行将值(由指令的操作数指定的或W别的方式 指出的)存储在PSI存储位置的指令。在某些实施例中,值可W对应于企图执行指令的进 程(例如,值可W指出对应于该进程的分页目录或其他分页结构)。在某些实施例中,PSI 存储位置可W可任选地被包括在处理器206的一组控制寄存器207内。可另选地,PSI存 储位置可W被包括在别处(例如,在处理器的配置空间内,在存储器内,在VMCS内等等)。
[0038]PSI黑名单实施逻辑216可W注意,观察,截取或W别的方式接收VM企图修改 215PSI存储位置208的指示。PSI黑名单实施逻辑可W可操作,W判断是否允许VM修改 PSI存储位置的企图。PSI黑名单实施逻辑与一组一个或多个PSI黑名单值217禪合或W 别的方式进行通信。如图所示,在所示实施例中,该组PSI黑名单值可包括第一PSI黑名单 值217-1到第NPSI黑名单值217-N,其中,整数N可W具有适合于特定实现的任何值。通 常,数字N大约是几十或较少和/或小于虚拟机设备中的进程的数量(例如,通常大约一百 或更多)。在各示例实施例中,数字N的范围可W从大约1到大约20(包括),或从大约1 到大约10 (包括),或从大约1到大约4 (包括),虽然本发明的范围不如此限制。在某些实 施例中,若干个(例如,整数N的大小)当前正在被使用的PSI黑名单值也可W可任选地被 存储,并由PSI黑名单实施逻辑使用。如图所示,在某些实施例中,一个或多个PSI黑名单 值217的组,W及若干个PSI黑名单值218,可W可任选地被存储在一个或多个虚拟机控制 结构(VMC巧210中,该虚拟机控制结构210可W与PSI黑名单实施逻辑禪合或W别的方式 进行通信。
[0039] 在某些实施例中,PSI黑名单实施逻辑
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1