计算机基础——CPU(一系列寄存器的集合)

CPU(中央处理器)

  • Centural Processing Unit
  • cpu = ‘大脑’
  • 核心:从程序或者内存中提取指令并执行
  • 三阶段:提取——解码——执行(cpu从主存中提取指令,然和解码该指令的实际内容,然后再由cpu的相关部分执行该指令)

CPU内部处理过程

计算机基础——CPU(一系列寄存器的集合)
cpu主要由两部分组成:

  • 控制单元:从内存中提取指令并解码执行
  • 算术逻辑单元(ALU):处理算数和逻辑运算

cpu和内存是许多晶体管组成的电子部件,cpu与输入输出设备(I/O)设备进行通信,这些设备从cpu接收数据和发送数据

cpu的内部组成:

组成 作用
寄存器 暂存指令,数据和地址(可以看作是“内存”), 20~100个寄存器
控制器 将内存上的指令和数据读入寄存器,并根据运行结果控制计算机
运算器 运算从内存中读入寄存器的数据
时钟 发出cpu开始计时的时钟信号

cpu是一系列寄存器的集合体

程序是将寄存器作为对象描述的
计算机基础——CPU(一系列寄存器的集合)

寄存器 作用
累加寄存器 存储运行的数据和运算后的数据
标志寄存器 反应处理器的状态,运算结果的某些特征以及控制指令的执行
程序计数器 存放下一条指令所在单元的地址
基址寄存器 数据内存的起始地址
变址寄存器 存储基址寄存器的相对地址
通用寄存器 存储任意数据
指令寄存器 存储正在被运行的指令(cpu内部使用,程序员无法操作)
栈寄存器 存储栈的起始位置

计算机基础——CPU(一系列寄存器的集合)

程序计数器(Program Counter)

存储下一条指令的地址

  • 程序计数器的初值:程序的第一条指令的地址
  • 顺序执行:控制器首先按照程序计数器所指向的地址从内存中取出一条指令,然后分析和执行该指令,同时 +1
    计算机基础——CPU(一系列寄存器的集合)

条件分支和循环

高级语言中主要三种控制流程:顺序、条件和循环

  • 顺序执行:程序计数器+1
  • 条件和循环:程序计数器指向任意地址
    计算机基础——CPU(一系列寄存器的集合)

标志寄存器

无论当前的累加寄存器运算结果位正、负或者0,标志寄存器都会将其保存。
程序比较的指令——其实是做减法
计算机基础——CPU(一系列寄存器的集合)

函数调用机制

计算机基础——CPU(一系列寄存器的集合)

地址

计算机基础——CPU(一系列寄存器的集合)

cpu执行过程

几乎所有的冯·诺依曼计算机的cpu都有5个阶段

  1. 取指令:将内存中的指令读到cpu寄存器,程序计数器存储下一条指令的地址
  2. 指令译码:拆分、解码
  3. 执行
  4. 访存取数:根据执行要求,从内存中提取数据
  5. 结果写回:通常写回到cpu的内部寄存器中,以便后续指令快速地存取