跳转至

CPU结构与功能

概述

CPU(Central Processing Unit,中央处理器)是计算机的核心部件,负责执行指令、处理数据和控制计算机各部件协调工作。理解CPU的结构和功能对于深入理解计算机系统至关重要。

CPU的基本结构

1. 运算器 (ALU)

运算器负责执行各种算术运算和逻辑运算。

主要组成:

  • 算术逻辑单元(ALU): 执行算术和逻辑运算
  • 通用寄存器: 暂存操作数和运算结果
  • 暂存寄存器: 暂存中间结果
  • 移位器: 实现移位操作
  • 状态寄存器(PSW): 保存运算结果的状态标志

主要功能:

  • 算术运算: 加、减、乘、除
  • 逻辑运算: 与、或、非、异或
  • 移位操作: 左移、右移、循环移位
  • 比较操作: 大于、小于、等于

2. 控制器 (CU)

控制器负责指挥和协调计算机各部件工作。

主要组成:

  • 程序计数器(PC): 存放下条指令的地址
  • 指令寄存器(IR): 存放当前执行的指令
  • 指令译码器: 对指令操作码译码
  • 地址形成部件: 形成操作数有效地址
  • 时序发生器: 产生时序控制信号
  • 微操作控制部件: 产生各种控制信号

主要功能:

  • 取指令: 从存储器取出指令
  • 分析指令: 对指令译码
  • 执行指令: 发出控制信号执行指令
  • 控制程序执行流程

3. 寄存器组

寄存器是CPU内部的高速存储单元,用于暂存数据、地址和状态信息。

寄存器分类:

用户可见寄存器

  • 通用寄存器: 存放操作数和运算结果
  • 数据寄存器: 专门存放数据
  • 地址寄存器: 专门存放地址
  • 条件码寄存器: 存放状态标志

控制和状态寄存器

  • 程序计数器(PC): 下条指令地址
  • 指令寄存器(IR): 当前指令
  • 存储器地址寄存器(MAR): 存储器地址
  • 存储器数据寄存器(MDR): 存储器数据
  • 程序状态字寄存器(PSW): 状态标志

CPU的主要功能

1. 指令控制

控制程序的执行顺序,确保指令按正确的顺序执行。

功能:

  • 取指令
  • 分析指令
  • 执行指令
  • 处理转移指令

2. 操作控制

根据指令要求,产生各种控制信号,控制各部件完成相应操作。

控制信号类型:

  • 寄存器控制信号: 控制寄存器的读写
  • 存储器控制信号: 控制存储器的读写
  • 运算器控制信号: 控制运算器的操作
  • 总线控制信号: 控制数据传送

3. 时序控制

对各种操作进行时间控制,确保操作按正确的时序执行。

时序信号:

  • 指令周期: 执行一条指令的时间
  • 机器周期: 完成一个基本操作的时间
  • 时钟周期: 最小的时间单位

4. 数据加工

对数据进行算术运算和逻辑运算。

运算类型:

  • 算术运算: 加、减、乘、除
  • 逻辑运算: 与、或、非、异或
  • 移位操作: 左移、右移
  • 比较操作: 大于、小于、等于

5. 中断处理

处理各种中断请求,实现CPU与外设的并行工作。

中断类型:

  • 硬件中断: 外设请求
  • 软件中断: 系统调用
  • 异常中断: 程序错误

CPU的工作原理

1. 取指令

Text Only
1
2
3
4
(PC) → MAR          // 指令地址送MAR
M(MAR) → MDR        // 从存储器读指令
(MDR) → IR          // 指令送IR
(PC) + 1 → PC       // PC加1

2. 分析指令

Text Only
OP(IR) → CU         // 操作码送CU译码
Ad(IR) → 地址形成部件 // 形成有效地址

3. 执行指令

根据操作码和地址码,发出相应的控制信号,完成指令功能。

4. 循环执行

重复上述过程,直到程序结束。

CPU的性能指标

1. 主频

CPU的时钟频率,单位为Hz。

  • 主频 = 1 / 时钟周期
  • 主频越高,CPU速度越快

2. 字长

CPU一次能处理的二进制数据的位数。

  • 常见字长: 32位、64位
  • 字长越长,处理能力越强

3. CPI (Cycles Per Instruction)

执行一条指令所需的平均时钟周期数。

  • CPI = 总时钟周期数 / 指令数
  • CPI越小,执行效率越高

4. MIPS (Million Instructions Per Second)

每秒执行的百万指令数。

  • MIPS = 指令数 / (执行时间 × 10^6)
  • MIPS = 主频 / CPI

5. FLOPS (Floating-point Operations Per Second)

每秒执行的浮点运算次数。

  • MFLOPS: 百万次浮点运算/秒
  • GFLOPS: 十亿次浮点运算/秒
  • TFLOPS: 万亿次浮点运算/秒

CPU的发展趋势

1. 多核技术

  • 单芯片多处理器(CMP)
  • 提高并行处理能力
  • 降低功耗

2. 超线程技术

  • 一个物理核心模拟多个逻辑核心
  • 提高资源利用率
  • 提高吞吐率

3. 乱序执行

  • 动态调度指令执行顺序
  • 提高指令级并行性
  • 减少流水线停顿

4. 分支预测

  • 预测转移指令的方向
  • 减少控制冲突
  • 提高流水线效率

5. 缓存优化

  • 多级缓存结构
  • 缓存预取
  • 缓存替换算法优化

参考资料