CPU 基本结构与运行机制
MCU Structure
- The CPU
- Register file (寄存器组)
- Instruction latch/decode/branch (指令)
- Stack (栈)
- Interrupt (中断)
- Clock/Reset (时钟/复位)
- Memory
- Peripheral
CPU 基本架构
CPU contains
- Arithmetic Logic Unit (ALU, 逻辑运算单元)
- Register file (寄存器组)
- Control Unit (控制单元)
- Float point process Unit
- Cache management
- Memory Management Unit
粗体为必要部分,其他为非必要部分
逻辑运算单元 ALU
ALU 就是将输入的数据经过运算输出结果。它的运行有四个要素:
- Two input data --> operands (操作数)
- Instruction --> operation (运算)
- One ouput --> result
- Status --> flag (标志位)
前三个都还好理解,但是第四个要素标志位在人脑的运算逻辑下不具备:它实际上是记载运算结果的状态的一个要素,例如:结果溢出、比较大小的时候做差二进制补码的第一位是几等等
程序状态寄存器 PSR
PSR (Program Status Register),也就是储存 ALU 计算的标志位的位置,图上的四个字母Z, N, O, C
所代表的就是:Zero
, Negative
, Overflow
, Carry
但是指令不同,使用到的状态位也不同,根据芯片的芯片手册查看具体信息
寄存器 Register
ALU 的指令从何而来?快速的方式是寄存器:寄存器用于临时保存/获取操作数,任何CPU都包含若干通用/专用寄存器(所以此处指的是 CPU 片内的寄存器)
相反的,运算的一些结果也可以先储存在寄存器中方便 CPU 进行调用
外部内存 Memory
从寄存器中获取的指令终究还是要从一个稳定的内从中取出:他就是内存,一般处在 ARM 内核的外部,所以对其访问要比对寄存器慢很多
而在上面提到的运算结果数据有需要的话则最终会放