🔌 计算机组成原理

核心知识体系全景图

计算机系统
结构
📊

数据表示

进位计数制、进制转换
原码/反码/补码
浮点数表示

🧮

运算器

算术逻辑单元 ALU
移位运算
定点/浮点运算

💾

存储器

层次结构
主存/缓存/辅存
寻址方式

📋

指令系统

指令格式
寻址方式
RISC vs CISC

🎛️

控制器

指令周期
时序系统
微程序控制器

🚌

总线系统

总线仲裁
传输方式
总线标准

⌨️

输入输出

I/O 控制方式
中断系统
DMA 传输

性能指标

CPI/时钟频率
阿姆达尔定律
性能评估

📊 一、数据表示与运算

🔢

数制与转换

  • 二进制、八进制、十进制、十六进制
  • 任意进制转十进制:按权展开
  • 十进制转其他进制:除基取余/乘基取整
  • 二进制与八/十六进制快速转换
➕➖

带符号数表示

  • 原码:符号位 + 绝对值
  • 反码:正数同原码,负数除符号外取反
  • 补码:正数同原码,负数反码+1
  • 移码:补码符号位取反
🎯

定点数与浮点数

  • 定点数:小数点位置固定
  • 浮点数:阶码 + 尾数 (IEEE 754)
  • 规格化:尾数最高位为1
  • 精度丢失与溢出判断

🧮 二、运算器与ALU

⚙️

ALU 组成

  • 算术运算:加/减/乘/除
  • 逻辑运算:与/或/非/异或
  • 移位运算:逻辑/算术/循环
  • 标志位:CF/ZF/SF/OF
🔄

乘法除法器

  • 原码乘法:符号单独处理
  • 补码乘法:Booth算法
  • 恢复余数法 / 加减交替法
  • 阵列乘法器并行实现
🔢

定点运算

  • 溢出判断:双符号位法
  • 补码加法:直接相加
  • 补码减法:变补操作
  • 移位配合实现乘除

💾 三、存储器层次结构

🏔️

层次结构

  • 寄存器 → Cache → 主存 → 磁盘 → 磁带
  • 容量:越来越大
  • 速度:越来越慢
  • 成本:越来越低
🎯

主存组织

  • 存储单元:字节/字为单位
  • 地址译码:单译码/双译码
  • 刷新:定期刷新保持数据
  • 带宽 = 频率 × 数据总线宽度

Cache 缓存

  • 映射方式:直接/组相联/全相联
  • 替换算法:LRU/FIFO/RAND
  • 写策略:Write Through / Write Back
  • 命中率与平均访问时间

📋 四、指令系统

📝

指令格式

  • 操作码 + 地址码
  • 零地址/一地址/二地址/三地址
  • 定长/变长指令格式
  • 指令字长与机器字长的关系
🔍

寻址方式

  • 立即寻址:操作数在指令中
  • 直接寻址:地址码给出内存地址
  • 间接寻址:地址指向另一地址
  • 寄存器/基址/变址/相对寻址
⚔️

RISC vs CISC

  • CISC:指令丰富、功能强大
  • RISC:指令精简、流水线友好
  • RISC特点:定长、LOAD/STORE
  • 现代CPU:融合两者优点

🎛️ 五、控制器

⏱️

指令周期

  • 取指周期 → 间址周期 → 执行周期 → 中断周期
  • 机器周期:完成一次总线传输
  • 时钟周期:最基本时间单位
  • 周期关系:指令周期 > 机器周期 > 时钟周期
🔧

组合逻辑控制器

  • 采用组合逻辑电路
  • 产生控制信号
  • 优点:速度快
  • 缺点:设计不规整,难修改
💾

微程序控制器

  • 微程序存储在控制存储器(ROM)
  • 微指令:控制序列
  • 微命令:最小控制信号
  • 水平型/垂直型微指令

🚌 六、总线与输入输出

🛣️

总线系统

  • 数据总线/地址总线/控制总线
  • 总线仲裁:链式/计数器/独立请求
  • 总线通信:同步/异步/半同步
  • 总线标准:PCI/PCI-E/USB
🔌

I/O 控制方式

  • 程序查询:CPU忙等待
  • 中断方式:外设主动通知
  • DMA方式:直接存储器访问
  • 通道方式:专用I/O处理器

中断系统

  • 中断请求/响应/处理过程
  • 中断向量与中断类型码
  • 中断屏蔽与优先级
  • 多重中断与中断嵌套

🔄 指令执行数据流

📤
PC
程序计数器
📡
MAR
地址寄存器
💾
存储器
读取指令
📥
MDR
数据寄存器
⚙️
IR
指令寄存器
🔓
CU
控制单元

⚡ 七、性能指标

📈

基本指标

  • 时钟周期:CPU最小时间单位
  • 机器周期:完成一次基本操作
  • 指令周期:执行一条指令的时间
  • CPI:每条指令平均时钟周期数
🧮

性能公式

  • 程序CPU时间 = 指令数 × CPI × 时钟周期
  • IPS = 时钟频率 / CPI
  • FLOPS = 浮点运算次数 / 时间
  • MIPS = 每秒百万条指令
⚖️

Amdahl定律

  • Speedup = 1 / (1-F + F/S)
  • F:可改进部分比例
  • S:改进加速比
  • 系统加速比有理论上限