首页 > 编程知识 正文

pc寄存器的作用,cpu中存放当前指令的寄存器

时间:2023-05-06 18:24:09 阅读:126848 作者:4215

PC寄存器中保存Java字节码的指令地址。

1 .返回地址的作用

方法a调用方法b时,PC寄存器相应地移动到b方法。 b执行后,要返回a继续执行,需要a执行的指令的地址。 因此,在b的堆栈帧中,保存a的当时的指令地址(当时的PC寄存器的值),在执行了b之后,基于该返回地址跳回a。

如果没有PC寄存器,执行元件也按照指令的顺序一个个正常执行。 PC寄存器的作用是线程的私有,因为多线程切换时,可以找到每个线程执行的位置。

执行Native方法时,PC寄存器中存储了Undefined,但是如果发生线程切换,该如何返回呢?

Java线程总是以某种形式映射到操作系统线程。 HotSpot VM虚拟机的映射模型为1:1。 执行native方法时,它将接管本机CPU上的相应线程。 此时,如果线程切换为本机CPU的PC寄存器管理,则保证native方法的执行完成。

native方法执行完成后,它会弹出堆栈(堆栈帧pop ),然后返回调用的位置继续运行程序。 如问题1所示,没有PC寄存器也可以按以下顺序执行。

译文: 3359 www.cn blogs.com/tommaoxiaoqi/p/13051041.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。