🔌 计算机组成原理
核心知识体系全景图
计算机系统
结构
📊
数据表示
进位计数制、进制转换
原码/反码/补码
浮点数表示
🧮
运算器
算术逻辑单元 ALU
移位运算
定点/浮点运算
📋
指令系统
指令格式
寻址方式
RISC vs CISC
⌨️
输入输出
I/O 控制方式
中断系统
DMA 传输
⚡
性能指标
CPI/时钟频率
阿姆达尔定律
性能评估
📊 一、数据表示与运算
- 二进制、八进制、十进制、十六进制
- 任意进制转十进制:按权展开
- 十进制转其他进制:除基取余/乘基取整
- 二进制与八/十六进制快速转换
- 原码:符号位 + 绝对值
- 反码:正数同原码,负数除符号外取反
- 补码:正数同原码,负数反码+1
- 移码:补码符号位取反
- 定点数:小数点位置固定
- 浮点数:阶码 + 尾数 (IEEE 754)
- 规格化:尾数最高位为1
- 精度丢失与溢出判断
🧮 二、运算器与ALU
- 算术运算:加/减/乘/除
- 逻辑运算:与/或/非/异或
- 移位运算:逻辑/算术/循环
- 标志位:CF/ZF/SF/OF
- 原码乘法:符号单独处理
- 补码乘法:Booth算法
- 恢复余数法 / 加减交替法
- 阵列乘法器并行实现
- 溢出判断:双符号位法
- 补码加法:直接相加
- 补码减法:变补操作
- 移位配合实现乘除
💾 三、存储器层次结构
- 寄存器 → Cache → 主存 → 磁盘 → 磁带
- 容量:越来越大
- 速度:越来越慢
- 成本:越来越低
- 存储单元:字节/字为单位
- 地址译码:单译码/双译码
- 刷新:定期刷新保持数据
- 带宽 = 频率 × 数据总线宽度
- 映射方式:直接/组相联/全相联
- 替换算法:LRU/FIFO/RAND
- 写策略:Write Through / Write Back
- 命中率与平均访问时间
📋 四、指令系统
- 操作码 + 地址码
- 零地址/一地址/二地址/三地址
- 定长/变长指令格式
- 指令字长与机器字长的关系
- 立即寻址:操作数在指令中
- 直接寻址:地址码给出内存地址
- 间接寻址:地址指向另一地址
- 寄存器/基址/变址/相对寻址
- CISC:指令丰富、功能强大
- RISC:指令精简、流水线友好
- RISC特点:定长、LOAD/STORE
- 现代CPU:融合两者优点
🎛️ 五、控制器
- 取指周期 → 间址周期 → 执行周期 → 中断周期
- 机器周期:完成一次总线传输
- 时钟周期:最基本时间单位
- 周期关系:指令周期 > 机器周期 > 时钟周期
- 采用组合逻辑电路
- 产生控制信号
- 优点:速度快
- 缺点:设计不规整,难修改
- 微程序存储在控制存储器(ROM)
- 微指令:控制序列
- 微命令:最小控制信号
- 水平型/垂直型微指令
🚌 六、总线与输入输出
- 数据总线/地址总线/控制总线
- 总线仲裁:链式/计数器/独立请求
- 总线通信:同步/异步/半同步
- 总线标准:PCI/PCI-E/USB
- 程序查询:CPU忙等待
- 中断方式:外设主动通知
- DMA方式:直接存储器访问
- 通道方式:专用I/O处理器
- 中断请求/响应/处理过程
- 中断向量与中断类型码
- 中断屏蔽与优先级
- 多重中断与中断嵌套
⚡ 七、性能指标
- 时钟周期:CPU最小时间单位
- 机器周期:完成一次基本操作
- 指令周期:执行一条指令的时间
- CPI:每条指令平均时钟周期数
- 程序CPU时间 = 指令数 × CPI × 时钟周期
- IPS = 时钟频率 / CPI
- FLOPS = 浮点运算次数 / 时间
- MIPS = 每秒百万条指令
- Speedup = 1 / (1-F + F/S)
- F:可改进部分比例
- S:改进加速比
- 系统加速比有理论上限