虚拟机课程2CPU虚拟化市公开课获奖课件省名师优质课赛课一等奖课件.pptVIP

虚拟机课程2CPU虚拟化市公开课获奖课件省名师优质课赛课一等奖课件.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

E6998–虚拟机

课程2

CPU虚拟化ScottDevineVMware,Inc.1/31

提要CPU背景虚拟化技术系统ISA虚拟化指令解释陷入模拟二进制翻译混合模型2/31

计算机系统组成CPUMMU内存控制器当地总线I接口高速I/O总线NIC控制器桥帧缓存LAN低速I/O总线USBCD-ROM3/31

CPU组成指令系统结构(ISA)定义:对编程人员可见状态存放器和内存在这些状态上进行操作指令经典ISA划分为2部分用户ISA主要用来计算系统ISA主要用来管理系统资源4/31

用户ISA–状态用户虚拟内存程序计数器条件码存放器Reg0Reg1Regn-1FP0FP1FPn-1专用存放器通用[普通]存放器浮点存放器5/31

用户ISA–指令加减与比较…载入字节载入字多路存放压栈…跳转相等跳转调用返回…单精度加双精度乘双精度开根号…整数内存控制流[图]浮点数取指存放器操作发射IntegerIntegerMemoryFP经典指令流水线译码指令集6/31

系统ISA特权级别控制存放器陷入和中止硬编码向量分配表系统时钟内存管理单元MMU页表TLBI/O设备访问SystemUserUserExtensionKernelLevel0Level1Level27/31

提要CPU背景虚拟化技术系统ISA虚拟化指令解释陷入模拟二进制翻译混合模型8/31

Isomorphism形式上讲,虚拟化就是从客户机状态到宿主机状态同构结构GuestSiSjHostSi’Sj’e(Si)e’(Si’)V(Si)V(Sj)9/31

系统指令体系结构虚拟化监视器需要硬件支持比如:监视器必须能够控制实际硬件中止访问硬件使得虚拟机(VM)破坏隔离性比如:访问MMU使得VM能够写任何页所以…客户机全部对虚拟系统ISA访问操作必须由监视器软件模拟实现。系统状态保留在内存中。系统指令都由虚拟机监视器相关函数实现[相关函数实现在监视器中]10/31

示例:CPU状态staticstruct{uint32GPR[16];uint32LR;uint32PC;intIE;intIRQ;}CPUState;voidCPU_CLI(void){CPUState.IE=0;}voidCPU_STI(void){CPUState.IE=1;}CPU虚拟化技术目标能够尽可能快处理普通指令特权指令转交给模拟例程11/31

指令解释模拟取指/译码/执行软件流水线优点轻易实现复杂度最低缺点慢!12/31

实例:虚拟化中止标识

w/指令解释器voidCPU_Run(void){while(1){inst=Fetch(CPUState.PC);CPUState.PC+=4;switch(inst){caseADD:CPUState.GPR[rd]=GPR[rn]+GPR[rm];break;…caseCLI:CPU_CLI();break;caseSTI:CPU_STI();break;}if(CPUState.IRQCPUState.IE){CPUState.IE=0;CPU_Vector(EXC_INT);}}}voidCPU_CLI(void){CPUState.IE=0;}voidCPU_STI(void){CPUState.IE=1;}voidCPU_Vector(intexc){CPUState.LR=CPUState.PC;CPUState.PC=disTab[exc];}13/31

陷入和模拟客户操作系统+应用虚拟机监视器缺页未定义指令虚拟中止MMU模拟CPU模拟I/O模拟非特权态特权态14/31

“严格可虚拟化”处理器能够虚拟化前提是:当运行一个不是很特权模式时:全部访问特权状态指令都陷入全部指令要么陷入,要么和原来一样执行…15/31

陷入模拟问题并不是全部体系结构都支持陷入代价比较高监视器在特权级别需要虚拟化保护级别16/31

二进制翻译翻译器客户代码翻译缓存翻译缓存[TC]索引CPU模拟例程17/31

基本块vPCmovebx,eaxcliandebx,~0xfffmovebx,cr3s

文档评论(0)

180****1080 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档