计算机基础——CPU(一系列寄存器的集合)
文章目录
CPU(中央处理器)
- Centural Processing Unit
- cpu = ‘大脑’
- 核心:从程序或者内存中提取指令并执行
- 三阶段:提取——解码——执行(cpu从主存中提取指令,然和解码该指令的实际内容,然后再由cpu的相关部分执行该指令)
CPU内部处理过程
cpu主要由两部分组成:
- 控制单元:从内存中提取指令并解码执行
- 算术逻辑单元(ALU):处理算数和逻辑运算
cpu和内存是许多晶体管组成的电子部件,cpu与输入输出设备(I/O)设备进行通信,这些设备从cpu接收数据和发送数据
cpu的内部组成:
组成 | 作用 |
---|---|
寄存器 | 暂存指令,数据和地址(可以看作是“内存”), 20~100个寄存器 |
控制器 | 将内存上的指令和数据读入寄存器,并根据运行结果控制计算机 |
运算器 | 运算从内存中读入寄存器的数据 |
时钟 | 发出cpu开始计时的时钟信号 |
cpu是一系列寄存器的集合体
程序是将寄存器作为对象描述的
寄存器 | 作用 |
---|---|
累加寄存器 | 存储运行的数据和运算后的数据 |
标志寄存器 | 反应处理器的状态,运算结果的某些特征以及控制指令的执行 |
程序计数器 | 存放下一条指令所在单元的地址 |
基址寄存器 | 数据内存的起始地址 |
变址寄存器 | 存储基址寄存器的相对地址 |
通用寄存器 | 存储任意数据 |
指令寄存器 | 存储正在被运行的指令(cpu内部使用,程序员无法操作) |
栈寄存器 | 存储栈的起始位置 |
程序计数器(Program Counter)
存储下一条指令的地址
- 程序计数器的初值:程序的第一条指令的地址
- 顺序执行:控制器首先按照程序计数器所指向的地址从内存中取出一条指令,然后分析和执行该指令,同时 +1
条件分支和循环
高级语言中主要三种控制流程:顺序、条件和循环
- 顺序执行:程序计数器+1
- 条件和循环:程序计数器指向任意地址
标志寄存器
无论当前的累加寄存器运算结果位正、负或者0,标志寄存器都会将其保存。
程序比较的指令——其实是做减法
函数调用机制
地址
cpu执行过程
几乎所有的冯·诺依曼计算机的cpu都有5个阶段
- 取指令:将内存中的指令读到cpu寄存器,程序计数器存储下一条指令的地址
- 指令译码:拆分、解码
- 执行
- 访存取数:根据执行要求,从内存中提取数据
- 结果写回:通常写回到cpu的内部寄存器中,以便后续指令快速地存取