计算机组成原理

返回计算机基础

计算机组成原理研究计算机各硬件部件的功能、结构及相互关系,是理解程序如何在硬件上运行的基础。


冯·诺依曼体系结构

现代计算机的基础模型,由五大部件组成:

┌──────────────────────────────────────────────┐
│            运算器(ALU)                       │
│            控制器(CU)                        │  ← CPU
│            寄存器组                            │
├──────────────────────────────────────────────┤
│            存储器(内存)                       │
├──────────────────────────────────────────────┤
│       输入设备              输出设备            │
└──────────────────────────────────────────────┘

核心思想:程序和数据均以二进制存储在内存中,CPU 按顺序取指、译码、执行(存储程序原理)。


数据表示

整数编码

编码说明示例(8 位,-5)
原码最高位为符号位10000101
反码负数原码各位取反11111010
补码反码 + 1,计算机实际使用11111011

补码统一了加减法运算,消除了 +0/-0 的二义性。

浮点数(IEEE 754)

32 位单精度:1 位符号 + 8 位指数 + 23 位尾数
64 位双精度:1 位符号 + 11 位指数 + 52 位尾数

值 = (-1)^符号 × 1.尾数 × 2^(指数-偏置)

特殊值:±0±∞NaN


存储系统层次

寄存器(<1 KB,~1 cycle)
    ↓
L1 Cache(32–64 KB,~4 cycle)
    ↓
L2 Cache(256 KB–1 MB,~12 cycle)
    ↓
L3 Cache(4–64 MB,~40 cycle)
    ↓
内存 DRAM(GB 级,~200 cycle)
    ↓
磁盘/SSD(TB 级,ms 级延迟)

局部性原理是多级缓存有效的理论基础:

  • 时间局部性:最近访问的数据很可能再次访问
  • 空间局部性:访问某地址后,相邻地址也很可能被访问

总线

总线是连接各部件的公共传输通道:

总线传输内容说明
地址总线内存地址宽度决定最大寻址空间(32 位→4 GB)
数据总线数据宽度决定每次传输位数(32/64 位)
控制总线控制信号读/写使能、中断请求等

常见总线标准:PCIe(GPU/NVMe SSD)、USB、SATA、DDR(内存)。


指令系统

寻址方式

方式说明示例
立即寻址操作数就在指令中MOV AX, 5
直接寻址指令给出内存地址MOV AX, [1000H]
寄存器寻址操作数在寄存器中MOV AX, BX
间接寻址地址存在寄存器或内存中MOV AX, [BX]
基址+变址基地址 + 偏移量MOV AX, [BX+SI]

CISC vs RISC

CISC(x86)RISC(ARM、RISC-V)
指令复杂、变长简单、定长
寄存器数量多(通常 32 个)
功耗较高
典型场景PC、服务器移动设备、嵌入式

输入输出系统

方式特点
程序轮询CPU 主动查询,占用 CPU
中断驱动外设主动通知,CPU 效率高
DMA外设直接访问内存,CPU 仅启动和收尾

相关链接

  • CPU — CPU 内部结构、流水线、Cache 详解
  • 内存 — 内存物理结构与寻址
  • 磁盘与IO — 外存结构与 IO 模型
  • 编码基础 — 字符编码与数制转换