百科问答小站 logo
百科问答小站 font logo



什么是虚拟寄存器,有何作用? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

虚拟寄存器这个概念好像至少有两种解释:

第一种是编程语言里的,比如Java在编译的过程中,会在字节码中虚拟出一些与平台无关的寄存器,执行时根据需要映射到实际的物理寄存器中,如果物理寄存器不够的话,映射到内存中。其它语言的编译器,在编译的中间步骤也可能用到类似虚拟寄存器的概念。

第二种是CPU里的概念,在CPU里,ALU的计算结果可能保存在一个临时的位置,这个位置就是虚拟寄存器,比如x86汇编指令MOV EAX, [EBX * 4 + 100],EBX * 4 + 100的结果就会保存在一个临时的位置,CPU通过这个临时的位置去到内存里访问数据,这个临时的位置就是虚拟寄存器。它是一个硬件可能实际存在但软件无法访问到的寄存器,所以称之为虚拟寄存器。据说有些硬件平台能让这些寄存器被访问,具体怎么做不太了解细节。

还有ARM架构下,CPU里有多组寄存器,比如r13可能有好几个,生效的只有一个,一般叫做影子寄存器。

具体题主指的是哪个我就不清楚了。




  

相关话题

  华为的手机操作系统如果真的被迫上线,国内其他厂商会作何反应? 
  操作系统里面经常说的一个功能用「软件实现」还是用「硬件实现」,其本质区别是什么? 
  64位操作系统,进行64位数运算,比32位操作系统快吗? 
  音频程序是如何在现代操作系统抢占式时间分片机制下持续输出信号的? 
  双处理器系统有没有可能一个处理器处于实模式一个处理器处于保护模式? 
  Windows 10 Mobile正式版的体验将会怎样? 
  计算机掉电的时候 CPU 真的会中断吗?操作系统会进行那些动作? 
  当初Linux的作者想写一个操作系统,结果全世界外国人帮他写完;如今我也想写一个,为啥国内没人帮我? 
  腾讯不积极开发 Linux 版微信和 QQ 是否阻碍了国内 Linux 用户群的发展? 
  如果华为推出自主操作系统,作为开发者的你会予以支持吗? 

前一个讨论
高考为了和她去一所学校少做三道大题有意义吗?
下一个讨论
如何评价知乎文章:《浮出水面的赃物:北京空置380多万套房子,房主不知是谁?仍然成谜》?





© 2025-07-02 - tinynew.org. All Rights Reserved.
© 2025-07-02 - tinynew.org. 保留所有权利