一、CPU组成部分
寄存器:存储CPU执行的指令的数据,CPU每次执行指令都会重新更新寄存器。
程序计数器 PC:记录CPU即将执行的指令内存中的地址。
逻辑控制单元 ALU:CPU中负责逻辑计算的部分。
一个典型系统的硬件组成:
二、CPU执行程序的过程
①执行程序,操作系统利用直接存储器存取DMA技术,加载程序到内存中,这里可以不经过CPU。
②PC读取即将执行的线程指令对应的内存地址。
③根据PC记录的指令地址,读取程序指令数据存储到寄存器中(每一次读取数据都会完全更新寄存器内容,不保留之前的数据)。
④如需逻辑计算,由逻辑控制单元进行计算并返回结果保存到寄存器中。
当前线程指令的执行结果会放入栈中,继续往下执行步骤②到④。
假如遇到线程切换,CPU要从当前线程T1切换到执行另一个线程T2,这个是由操作系统的线程调度决定的。
切换前首先是保留现场(JVM是由虚拟机栈栈帧和线程的程序计数器记录保存执行状态,等待再次切换时继续执行)。
线程切换后操作系统控制CPU程序计数器读取T2线程程序计数器(还原现场,继续执行T2线程指令),重复执行步骤②到④。
⑤线程执行结束,CPU将寄存器结果返回给图形适配器,CPU继续执行下一线程的指令。
参考资料:《深入理解计算机系统》。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)