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

虚拟机控制结构译码器制造技术

技术编号:2856958 阅读:252 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种虚拟机扩展(VMX)体系结构。更具体地,本发明专利技术的实施方案涉及改进VMREAD和VMWRITE指令的执行性能。

【技术实现步骤摘要】

本专利技术的实施方案涉及虚拟机扩展(VMX)体系结构。更具体地,本专利技术的实施方案涉及使用虚拟机控制结构(VMCS)标识译码器来译码VMX指令的方法和装置。
技术介绍
虚拟机扩展(VMX)体系结构通过将处理器资源在不同的时间分配给各种软件应用程序和操作系统,从而允许多个软件程序和操作系统使用相同的微处理器逻辑(“硬件”)。VMX体系结构一般使用虚拟机监控(VMM)程序,该程序将一个或多个软件程序(例如虚拟机(VM))接口到单个微处理器或一组处理元件。运行在每个VM上的宾客(guest)软件可以包括宾客操作系统和各种宾客软件应用程序。此外,运行在VMM上的应用程序和操作系统可以被统一地称为VM或宾客。典型地,每个VMCS条目由一个唯一的标识符来标识,而不是由从体系结构上定义的存储器地址来标识。在至少一种现有技术的例子中,VMCS标识(ID)是一个唯一的32位标识符。在VMX体系结构中支持的两种指令包括VMREAD和VMWRITE,它们分别对VMCS条目读写数据。这些指令在被执行时可以使用VMCS ID来定位所要读写的适当VMCS条目。然而,VMREAD和VMWRITE指令一般能够读写大小变化的数据,这些数据可以使VMREAD和VMWRITE产生处理时间和资源的访问。如果VMREAD和VMWRITE访问那些不可访问的数据,可能导致进一步的处理损失。VMCS数据可能由于某些原因而对VMREAD和VMWRITE指令来说是不可访问的,这些原因例如是VMCS条目包含只写或只读数据字段,或者所述数据通常不能被这些指令访问。VMX体系结构中由VMREAD或VMWRITE招致的处理损失也可能使得计算机系统的性能遭受损害。此外,现有技术的VMCS ID译码系统已不能有效地解决这个问题。
技术实现思路
为了解决以上问题,本专利技术提供了一种虚拟机扩展(VMX)体系结构。更具体地说,本专利技术的实施方案涉及改进VMREAD和VMWRITE指令的执行性能。根据本专利技术的一个方面,提供了一种装置,包括虚拟机控制结构(VMCS)标识(ID)译码器,该译码器将VMCS ID数据译码成VMCS字段的地址和偏移值,用以帮助识别与将被执行的至少一条虚拟机体系结构指令相关联的多个微操作(uop)之一。根据本专利技术的另一个方面,提供了一种方法,包括从存储器中取得第一指令;执行第一微操作(uop),以存储与所述第一指令相关联的多个uop之一的基地址;执行第二uop,以将虚拟机控制结构(VMCS)标识(ID)值译码成虚拟机控制结构字段的地址和多个uop所述之一的偏移值;从由所述基地址和所述偏移值的和所指示的地址发出第三uop。根据本专利技术的再一个方面,提供了一种系统,包括存储单元,其包括虚拟机管理器(VMM),该管理器包括虚拟机读(VMREAD)指令;处理器,其包括虚拟机控制结构(VMCS)标识(ID)译码器,该译码器对与所述VMREAD指令相关联的微操作(uop)进行译码。根据本专利技术的又一个方面,提供了一种装置,包括译码装置,其将VMCS ID数据译码成VMCS字段的地址和偏移值,用以帮助识别与将被执行的至少一条虚拟机体系结构指令相关联的多个微操作(uop)之一。附图说明在附图中以示例而非限制的方式图示说明了本专利技术的实施方案,其中相同的标号表示相似的元件,在附图中图1图示了其中可以使用本专利技术实施方案的虚拟机环境。图2图示了其中可以实现本专利技术至少一个实施方案的计算机系统。图3图示了其中可以实现本专利技术一个实施方案的点对点(PtP)计算机系统。图4中的流程图根据本专利技术的一个实施方案图示了VMREAD或VMWRITE指令的操作。图5图示了根据本专利技术一个实施方案的逻辑,该逻辑对虚拟机控制结构(VMCS)标识(ID)字段进行译码。具体实施例方式本专利技术的实施方案涉及虚拟机扩展(VMX)体系结构。更具体地,本专利技术的实施方案涉及改进VMREAD和VMWRITE指令的执行性能。为了改进VMX体系结构中的处理性能,本专利技术的实施方案提高了对虚拟机控制结构(VMCS)标识(ID)字段的译码速度。在本专利技术的一个实施方案中,可位于一个处理元件(例如微处理器)中的逻辑被用来通过利用在VMCS内的字段所对应的、在VMCS ID中所提供的信息,来提高VMREAD或VMWRITE指令可以访问所述字段的速度。图1图示了用于将宾客软件接口到微处理器的结构(“虚拟机环境”)。具体地说,图1图示了将两个虚拟机(VM)105(“宾客软件”)接口到微处理器110的虚拟机管理器(VMM)101。在每个VM内运行的软件可以包括宾客操作系统以及各种软件应用。为了将每个VM与处理器资源(例如寄存器、存储器和输入/输出(“I/O”)资源)相接口,经由虚拟机控制结构(VMCS)115内的一组字段(这些字段可能驻留在存储器120中)可以对状态和控制信息进行修改,否则进行跟踪。更具体地说,诸如VMCS的控制结构一般被用来在VMM和VM宾客之间传递对处理器资源的控制权以及访问权。本专利技术至少有一个实施方案125可以驻留在处理器中,然而其他实施方案可以驻留在虚拟机环境的其他元件中。图2图示了其中可以使用本专利技术的至少一个实施方案的计算机系统。处理器205从一级(L1)缓存存储器210和主存储器215访问数据。在本专利技术的其他实施方案中,缓存存储器可以是二级(L2)缓存或者在计算机系统存储器层级结构中的其他存储器。在图2的处理器内所图示的是本专利技术的一个实施方案206。然而,本专利技术的其他实施方案可以实现在所述系统内的其他设备中,例如单独的总线主体(agent),或者以硬件、软件或其某种组合的方式分布在整个系统内。可以用各种存储器源来实现主存储器,例如动态随机访问存储器(DRAM)、硬盘驱动器(HDD)220、或者经由网络接口230位于所述计算机系统远程的存储器源,其包含各种存储设备和技术。缓存存储器可位于处理器内,或者位于很靠近处理器的地方,例如在处理器的局部总线207上。此外,缓存存储器可以包含相对快速的存储单元,例如6晶体管(6T)单元,或者具有大致相等或者更快访问速度的其他存储单元。图2的计算机系统可以是总线主体(例如微处理器)的点对点(PtP)网络,这些主体在PtP网络上经由专用于每个主体的总线信号来进行通信。本专利技术至少有一个实施方案206位于每个总线主体内,或者至少与其相关联,从而可以有助于以迅速的方式在总线主体之间进行存储操作。图3图示了以点对点(PtP)配置来安排的计算机系统。具体地说,图3示出了处理器、存储器和输入/输出设备通过多个点对点接口而互连的系统。图3的系统也可以包括几个处理器,但为清楚起见只示出了两个处理器370、380。处理器370、380每一个都可以包括与存储器32、34相连的本地存储器控制器中心(MCH)372、382。处理器370、380可以使用点对点接口电路378、388,经由点对点接口350来交换数据。处理器370、380每一个都可以使用点对点接口电路376、394、386、398,经由各自的点对点接口352、354与芯片组390交换数据。芯片组390也可以经由高性能图形接口392,与高性能图形电路338交换数据。本专利技术至少有一个实施方案可以位于存储器控制器中心或处理器的CSI接口372、3本文档来自技高网
...

【技术保护点】
一种装置,包括:虚拟机控制结构(VMCS)标识(ID)译码器,以将VMCSID数据译码成VMCS字段的地址和偏移值,用以帮助识别与将被执行的至少一条虚拟机体系结构指令相关联的多个微操作之一。

【技术特征摘要】
US 2004-6-25 10/876,5091.一种装置,包括虚拟机控制结构(VMCS)标识(ID)译码器,以将VMCS ID数据译码成VMCS字段的地址和偏移值,用以帮助识别与将被执行的至少一条虚拟机体系结构指令相关联的多个微操作之一。2.如权利要求1所述的装置,还包括寄存器文件,用以存储所述VMCS字段,并且存储与所述至少一条虚拟机指令相关联的第一微操作(uop)的基地址。3.如权利要求2所述的装置,还包括加法器,以将所述偏移值与所述基地址相加,以便生成所述第一uop的地址。4.如权利要求3所述的装置,其中所述偏移值取决于所述VMCS字段的大小,并且取决于所述字段是否能够只被读、只被写或者是不可访问的。5.如权利要求1所述的装置,还包括定序器,以存储所述第一uop以及与所述虚拟机体系结构指令相关联的其他uop。6.如权利要求5所述的装置,其中所述虚拟机体系结构指令是VMWRITE指令。7.如权利要求5所述的装置,其中所述虚拟机体系结构指令是VMREAD指令。8.一种方法,包括从存储器中取得第一指令;执行第一微操作(uop),以存储与所述第一指令相关联的多个uop之一的基地址;执行第二uop,以将虚拟机控制结构(VMCS)标识(ID)值译码成VMCS字段的地址和所述多个uop之一的偏移值;从由所述基地址和所述偏移值的和所指示的地址发出第三uop。9.如权利要求8所述的方法,其中所述基地址取决于所述第一指令是否将数据从所述VMCS字段读入寄存器或存储器位置。10.如权利要求8所述的方法,其中所述基地址取决于所述第一指令是否将数据从寄存器或存储器位置写入所述VMCS字段。11.如权利要求8所述的方法,其中所述偏移值取决于所述VMCS字段的大小。12.如权利要求11所述的方法,其中所述偏移值还取决于所述VMCS字段是否可以只被读,可以只被写,或者无法被读写。13.如权利要求8所述的方法,其中所述第一指令是虚拟存储器体系结构指令。14.如权利要求13所述的方法,其中所述第一指令是执行读操作的指令。15.如权利要求13所述的方法,其中所述第一指令是执行写操作的指令。16...

【专利技术属性】
技术研发人员:桑乔伊蒙代尔罗伯特法雷尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:US[美国]

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

1