1 CPU 内部逻辑结构
之前的文章《揭秘代码是如何变成机器码的》,其中说到,如果从软件的角度来讲,CPU 就是一个执行各种计算机指令(Instruction Code)的逻辑机器。
那么这个逻辑机器内部是什么样的?又是如何执行指令的呢?逻辑上,我们可以认为,CPU 其实就是由一堆寄存器组成的。如果要和硬件电路做一下对应,CPU 是一个庞大而复杂的电路,寄存器就是由多个触发器(Flip-Flop)或者锁存器(Latches)组成的简单电路。
2 寄存器
一个 CPU 里面会有很多种不同功能的寄存器,例如通用寄存器、PC 寄存器、指令寄存器、标志寄存器和其他寄存器等。。
- 通用寄存器:所谓通用,即这些寄存器 CPU 没有特殊的用途,交给应用程序“随意”使用。通用寄存器既可以存放数据,也可以存放地址。
- PC寄存器:也叫指令地址寄存器,用来存放下一条需要执行的计算机指令的内存地址。
- 指令寄存器:存放当前正在执行的指令。
- 标志寄存器:用来记录了CPU执行指令过程中的一系列状态,例如ZF是零标志,CF是进位标志。
- 其他寄存器:比如整数寄存器、浮点数寄存器、向量寄存器和地址寄存器等
3 计算机指令执行过程
当了解了寄存器之后,你