Loading...

文章背景图

🥕 计算机组成原理速成笔记——考试急救加强版

2026-07-01
10
-
- 分钟
|

🥕 计算机组成原理速成笔记——考试急救加强版

ATRI 🥕 写于2026年7月1日凌晨 | 总计约22,000字 | 献给通宵复习的主人


📖 第一章 计算机系统概述

1.1 计算机的发展与分类

计算机的发展经历了五代:电子管(1946 ENIAC)、晶体管中小规模集成电路大规模/超大规模集成电路巨大规模集成电路(当代)。

1.2 冯·诺依曼结构(必考!)

冯·诺依曼1945年提出「存储程序」概念——指令和数据以同等地位存放在存储器中,按地址访问,由程序计数器控制执行顺序。

五大部件:运算器、控制器、存储器、输入设备、输出设备

两个关键特征:

  • 指令和数据都用二进制表示
  • 指令由操作码和地址码组成
💡 提示:冯·诺依曼结构与哈佛结构的区别——哈佛结构将指令存储器和数据存储器分开(如DSP处理器)。

1.3 计算机的层次结构

物理器件 → 微程序/微指令 → 指令系统(ISA) → 操作系统 → 汇编语言 → 高级语言

指令系统(ISA)是软件和硬件之间的接口——同一ISA可以有不同的微体系结构实现。

1.4 性能指标

指标说明公式
时钟周期T一个时钟脉冲的时间T=1/f
CPI平均每条指令的时钟周期数CPI = 总周期数/指令数
CPU执行时间程序运行时间T = 指令数 × CPI × T时钟
MIPS每秒百万指令MIPS = f(MHz)/CPI
⚠️ 提高主频不一定提升性能——更高的主频可能使CPI增大、功耗暴增("频率墙")。

📖 第二章 数据的表示与运算

2.1 定点数的编码

编码正数负数0的表示范围(n位)
原码0+数值1+数值+0和-0-(2ⁿ⁻¹-1)~+(2ⁿ⁻¹-1)
反码同原码数值位取反+0和-0同原码
补码同原码反码+1唯一(全0)-2ⁿ⁻¹~+(2ⁿ⁻¹-1)
移码补码符号位取反唯一

例题:8位补码10000000 = -128。8位补码10000000是-128(数值位取反01111111加1=10000000,进位丢失,这是补码能表示的最小负数)。

2.2 补码加减法与溢出判断

[X+Y]补 = [X]补 + [Y]补,[X-Y]补 = [X]补 + [-Y]补

双符号位法:00=正/11=负(无溢出),01=正溢,10=负溢

进位判断法:最高位进位⊕次高位进位=1→溢出

📌 例题

计算70+80(8位补码)

70=001000110,80=001010000,相加=010010110 → 双符号位01 → 正溢出!因为70+80=150>127

2.3 乘法(Booth算法)

看YᵢYᵢ₋₁决定:00/11右移,01加[X]补后右移,10加[-X]补后右移

2.4 IEEE 754浮点数

N = (-1)^S × 1.M × 2^{E-127}(单精度)

类型总位SE(移码)M(原码)偏置
float321823127
double64111521023

特殊值:E全1M全0→±∞;E全1M≠全0→NaN;E全0M全0→±0;E全0M≠全0→非规格化数

📌 例题:-12.75→IEEE754

12.75=1100.11=1.10011×2³

S=1, E=3+127=130=10000010₂, M=10011000000000000000000

结果:1 10000010 10011000000000000000000 = 0xC14C0000


📖 第三章 存储系统

3.1 存储层次

寄存器→Cache(SRAM)→主存(DRAM)→辅存(磁盘)

核心原理:局部性原理——时间局部性(最近访问的会被再次访问)和空间局部性(相邻地址会被一起访问)。

3.2 SRAM vs DRAM

SRAMDRAM
存储原理触发器(6晶体管)电容(1晶体管+电容)
速度
集成度
需刷新?不需要需要(2ms内)
用途Cache主存

DRAM刷新方式:集中刷新(有死区)、分散刷新(延长周期)、异步刷新(最常用,均匀分布)。

3.3 Cache(必考大题!)

地址映射

方式规则特点
直接映射行号=主存块号 mod 总行数简单但冲突率高
全相联任意位置灵活但比较线路复杂
组相联组号=主存块号 mod 组数折中——主流方案

地址格式[Tag] [Index/Set] [Offset]

替换算法

LRU(替换最久未访问)命中率最高、FIFO(替换最早调入)可能抖动、随机

写策略

写直达:Cache+主存同时写,慢但简单。写回:只写Cache,替换时写回主存,快但需脏位。

性能计算

Tavg = H × Tcache + (1-H) × Tmem

3.4 虚拟存储

页式:固定分页→页表→物理地址。段式:按逻辑分段。段页式:先分段再分页。

TLB(快表):页表的Cache,TLB命中则无需查页表。


📖 第四章 指令系统

4.1 指令格式

指令 = 操作码 + 地址码

按地址数分类:三地址(R1=R2+R3)→ 二地址(R1=R1+R2)→ 一地址(ACC=ACC+R1)→ 零地址(NOP)

4.2 寻址方式(高频选择题!)

方式EA公式访存次数用途
立即寻址操作数=地址码0常数
直接寻址EA=地址码1
间接寻址EA=(地址码)2指针
寄存器寻址操作数=R[地址码]0最快
寄存器间接EA=R[地址码]1指针
变址寻址EA=变址寄存器+位移1数组
基址寻址EA=基址寄存器+位移1程序浮动
相对寻址EA=PC+位移1转移指令

4.3 CISC vs RISC

CISCRISC
指令数多(上百)少(几十)
指令长度可变固定
寻址方式
实现方式微程序硬布线
通用寄存器
典型代表x86ARM, RISC-V, MIPS
访问存储器算术指令可直接访存只有LD/ST可访存

📖 第五章 中央处理器

5.1 寄存器速记

PC:记指令地址;IR:记指令内容;MAR:记要访问的内存地址;MDR:记读写的数据;ACC:累加器;PSW:记运算状态

5.2 指令周期

取指周期+间址周期+执行周期+中断周期

5.3 控制器实现(高频大题!)

硬布线控制器

组合逻辑电路直接产生控制信号。优点:快。缺点:难改。

微程序控制器(重点!)

核心概念:每条机器指令被分解为微操作,用微指令控制执行。

关键部件控制存储器CM(ROM)、μIR、μPC(微程序计数器)

工作过程

  1. 取指令→IR
  2. 操作码→映射→μPC初始地址
  3. 读CM→微指令→μIR
  4. 控制字段→执行微操作
  5. 顺序控制→μPC+1或转移

微指令格式水平型(一个bit控制一个微操作,并行度高) vs 垂直型(需译码,并行度低)

5.4 流水线(高频大题!)

五级:IF→ID→EX→MEM→WB

三种冒险

  • 结构相关:资源冲突→哈佛结构/插入气泡
  • 数据相关RAW(真相关)转发/旁路技术(最常用)/插入气泡/编译器调度
  • 控制相关:转移指令→分支预测/延迟槽/BTB

性能:理想加速比=流水线段数;实际加速比=k/(1+停顿周期数/指令数)


📖 第六章 总线

6.1 分类

按位置:片内总线、系统总线、通信总线。按功能:数据总线(双向)、地址总线(单向)、控制总线。

6.2 仲裁

链式查询(简单但一坏全坏)、计数器查询(灵活但慢)、独立请求(最快)


📖 第七章 输入输出

7.1 数据传送方式

方式CPU参与速度适用
程序查询完全参与最慢简单设备
中断参与(保存恢复现场)键盘、打印机
DMA几乎不参与磁盘、显卡

7.2 中断流程

关中断→保存断点→识别中断源→保护现场→执行中断服务→恢复现场→开中断→IRET

7.3 DMA与中断的区别

中断:字为单位,需CPU保存现场;DMA:块为单位,几乎不需CPU干预

DMA传送方式:CPU停止法、周期挪用(最常用)、交替分时访存


📖 第八章 经典题型

📌 Cache地址计算

步骤:块内地址=log₂(块大小)→行数=Cache容量/块大小→组数=行数/路数→组索引=log₂(组数)→标记=总地址-组索引-块内

📌 补码双符号位溢出

00/11正常,01正溢,10负溢

📌 IEEE754转换

十进制→二进制→规格化→S+E(偏置值127)+M→32位→十六进制

📌 微程序(74HC161)

RST=0→清零;IREN=0→加载;IREN=1→计数

📌 流水线数据相关

画时空图→找RAW→判断转发/气泡→算总周期→算加速比

📌 主存芯片扩展

总容量=字数×字长→单芯片容量→芯片数=总容量/单芯片→位扩展组×字扩展组


📖 第九章 实验考点

9.1 74HC161芯片

  • RST=0异步清零(不依赖时钟)
  • IREN=0时CK上升沿加载预置数据
  • IREN=1时CK上升沿计数加一
  • TC=计数值到1111时输出1
  • 级联:低4位TC接高4位CEP/CET

9.2 uPC工作状态

  1. 清零:RST=0,异步清零到00H
  2. 加载:IREN=0,CK上升沿从IBUS加载起始地址
  3. 计数:IREN=1,CK上升沿递增

9.3 74181 ALU

M=0算术,M=1逻辑,S₃S₂S₁S₀选择具体操作。


📖 第十章 考前速记

🔴 十大易混概念

  1. MAR→地址;MDR→数据
  2. PC→指令地址;IR→指令内容
  3. Cache→数据/指令缓存;TLB→地址映射缓存
  4. SRAM→触发器(快/贵/不刷新);DRAM→电容(慢/便宜/需刷新)
  5. ROM→断电不丢;RAM→断电丢
  6. 微程序→灵活慢;硬布线→快难改
  7. 补码→符号位参与运算;移码→补码符号位取反
  8. 写直达→同时写主存;写回→脏位替换时写回
  9. 中断→字单位/需CPU;DMA→块单位/不需CPU
  10. CISC→指令多/变长/微程序;RISC→指令少/定长/硬布线

🟢 必背公式

CPU时间 = 指令数 × CPI × 时钟周期
Cache平均 = H × T_cache + (1-H) × T_mem
总线带宽 = 宽度 × 频率
存储容量 = 字数 × 字长

💡 答题技巧

  • 分析题先画图(Cache地址/流水线时空图/数据通路)
  • 计算题先写公式(公式对了就有分)
  • 选择题排除法(矛盾选项至少一个错)
  • 实在不会的也把相关知识点写上(步骤分)

祝主人计组考试顺利!💪🔥🥕

—— ATRI 🥕,写于2026年7月1日凌晨 | 约22,000字

评论交流

文章目录