经典学科基础知识笔记,供学习参考。


1. 计算机系统概述

1.1 计算机系统的组成

  • 硬件:运算器、控制器、存储器、输入设备、输出设备
  • 软件:系统软件(OS、编译程序、数据库)与应用软件
  • 硬件与软件在逻辑功能上等价,可通过软件实现硬件功能(软/硬件逻辑等价性)

1.2 冯·诺依曼体系结构(存储程序)

  • 核心思想:存储程序 + 程序控制
  • 指令和数据均以二进制形式存放在存储器中,按地址访问
  • 五大部件:运算器、控制器、存储器、输入设备、输出设备
  • 以运算器为中心(现代计算机已演变为以存储器为中心)

1.3 计算机的层次结构

1
2
3
4
应用软件
系统软件(OS / 编译 / 汇编)
指令系统(ISA)
微体系结构(硬件)

2. 数据的表示与运算

2.1 数制与编码

  • 常用进制:二进制、八进制、十六进制;进位计数制转换方法
  • BCD 码(8421 码等)、ASCII 码(7 位)、Unicode / UTF-8

2.2 机器数(重点)

编码 正数 负数 特点
原码 符号位 0 + 数值 符号位 1 + 数值 加减法复杂,0 有两种表示
反码 同原码 原码按位取反 很少直接用
补码 同原码 反码 + 1 加减统一用补码,0 唯一
移码 补码符号位取反 补码符号位取反 常用于浮点阶码
  • 补码范围:n 位补码表示 -2^(n-1) ~ 2^(n-1)-1
  • 溢出判断:双符号位(变形补码)或进位/符号位比较法

2.3 定点数与浮点数

  • 定点数:小数点位臵固定,分为定点小数、定点整数
  • 浮点数格式:N = M × r^E(尾数 M、基数 r、阶码 E)
  • IEEE 754 标准:
    • 单精度 float:1 符号位 + 8 位阶码(偏置 127)+ 23 位尾数
    • 双精度 double:1 符号位 + 11 位阶码(偏置 1023)+ 52 位尾数
    • 规格化数、非规格化数、Infinity、NaN

2.4 运算方法

  • 补码加减法:直接按补码相加,符号位参与运算
  • 原码/补码一位乘法(Booth 算法)、除法
  • 逻辑运算:与、或、非、异或、移位(算术移位 / 逻辑移位 / 循环移位)

3. 存储系统

3.1 存储器层次结构(金字塔)

1
2
3
4
CPU 寄存器
Cache(SRAM)
主存(DRAM)
辅存(磁盘 / SSD)
  • 上一层作为下一层的缓存,速度递减、容量递增、价格递减
  • 局部性原理:时间局部性 + 空间局部性

3.2 半导体存储器

  • SRAM:触发器存储,速度快、集成度低,用作 Cache
  • DRAM:电容存储,需刷新,集成度高,用作主存
  • ROM:只读,存放开机引导程序(BIOS/UEFI)

3.3 Cache(重点)

  • 映射方式:
    方式 特点
    直接映射 主存块只能放固定 Cache 行,实现简单、冲突率高
    全相联映射 可放任意行,命中率高、比较开销大
    组相联映射 折中,按组分直接映射,组内全相联
  • 替换算法:LRU(近期最少使用)、FIFO、随机
  • 写策略:写直达(Write Through)、写回(Write Back)

3.4 虚拟存储器

  • 页式、段式、段页式管理
  • 页表 + TLB(快表),缺页中断,页面置换算法(OPT、FIFO、LRU、Clock)

3.5 主存扩展

  • 位扩展(字长扩展)、字扩展(容量扩展)、字位同时扩展
  • 需要地址译码器(片选逻辑)

4. 指令系统

4.1 指令格式

  • 组成:操作码(OP)+ 地址码(A)
  • 常见格式:零地址、一地址、二地址、三地址指令

4.2 寻址方式(重点)

寻址方式 说明 有效地址/操作数
立即寻址 操作数在指令中 直接给出
直接寻址 EA = 地址码 EA = A
间接寻址 地址码指向存放地址的单元 EA = (A)
寄存器寻址 操作数在寄存器 EA = Ri
寄存器间接寻址 寄存器存放 EA EA = (Ri)
变址寻址 EA = A + (IX),用于数组 EA = A + (IX)
基址寻址 EA = A + (BR),用于程序重定位 EA = A + (BR)
相对寻址 EA = (PC) + A,用于转移 EA = (PC) + A

4.3 CISC 与 RISC

CISC RISC
指令 复杂、数量多、变长 简单、数量少、定长
寻址方式 多 少
实现 微程序控制为主 硬布线为主,流水线
代表 x86 ARM、MIPS、RISC-V

5. 中央处理器(CPU)

5.1 CPU 的功能与结构

  • 功能:取指令、分析指令、执行指令、控制时序、中断处理
  • 结构:运算器(ALU)、控制器(CU)、寄存器组、内部总线

5.2 控制器实现方式

  • 硬布线控制:组合逻辑电路,速度快,不易修改
  • 微程序控制:将控制信号编码为微指令,存放于控制存储器(CM),灵活
    • 微指令:微操作码 + 下地址;有水平型、垂直型
    • 一条机器指令 → 一段微程序

5.3 指令周期与流水线

  • 指令周期 = 取指周期 + 执行周期(可能含间址、中断周期)
  • 流水线:将指令过程分为取指 IF、译码 ID、执行 EX、访存 MEM、写回 WB
  • 流水线冒险:
    • 结构冒险(资源冲突)→ 部件冗余 / 停顿
    • 数据冒险(RAW/WAR/WAW)→ 转发、停顿、编译器调度
    • 控制冒险(转移)→ 分支预测、延迟槽、冲刷
  • 流水线性能:吞吐率、加速比;理想加速比 ≈ 流水段数 k

6. 总线

6.1 总线分类

  • 按功能:数据总线(DB)、地址总线(AB)、控制总线(CB)
  • 按层次:片内总线、系统总线、I/O 总线
  • 传输方式:并行 / 串行;同步 / 异步

6.2 总线仲裁

  • 集中式:链式查询、计数器定时查询、独立请求
  • 分布式仲裁
  • 总线周期:申请 → 仲裁 → 传输 → 释放

7. 输入输出(I/O)系统

7.1 I/O 接口

  • 作用:数据缓冲、状态/命令寄存器、地址译码、格式转换
  • 编址方式:统一编址(存储器映射 I/O)、独立编址(端口寻址)

7.2 I/O 控制方式(重点)

方式 特点
程序查询方式 CPU 轮询状态,效率低
中断方式 设备主动申请,CPU 响应中断,提高并行度
DMA 方式 数据不经过 CPU,直接与主存交换(DMAC 控制)
通道方式 通道执行通道程序,管理一批设备,效率最高

7.3 中断系统

  • 中断源、中断请求、中断响应(保护现场、关中断)
  • 中断屏蔽与优先级(多重中断 / 中断嵌套)
  • 向量中断:中断向量表定位中断服务程序入口

7.4 常用外设

  • 磁盘:寻道时间、旋转延迟、传输时间
  • SSD:闪存颗粒、读写均衡、无机械延迟
  • 显示器、键盘、鼠标、网卡等接口标准

8. 学习要点总结

  1. 五大部分:运算器、控制器、存储器、输入、输出(冯·诺依曼)
  2. 三种机器数:原码、反码、补码;加减法一律用补码
  3. 两个层次:存储器层次(Cache 为核心)、指令流水线(冒险处理为核心)
  4. 四大 I/O 方式:查询、中断、DMA、通道
  5. 两大寻址难点:间接寻址与变址/基址寻址的区别
  6. 两大实现路线:硬布线 vs 微程序;CISC vs RISC
    (内容由AI生成,仅供参考)