Appearance
第一章 计算机系统概论
1. 计算机系统的组成
一台计算机从功能上看包括 5 个基本子系统:输入、输出、存储、控制、算术逻辑运算。
| 部件/系统 | 作用 | 常考点 |
|---|---|---|
| 运算器 | 完成算术运算和逻辑运算 | 核心部件是 ALU |
| 控制器 | 取指令、分析指令、发出控制信号 | 不负责数据运算结果的存储 |
| 存储器 | 存放程序和数据 | 分为主存和辅存 |
| 输入设备 | 向计算机输入信息 | 如键盘、鼠标 |
| 输出设备 | 输出处理结果 | 如显示器、打印机 |
完整的计算机系统 = 硬件系统 + 软件系统。
2. CPU、主机、外部设备
| 概念 | 组成 |
|---|---|
| CPU | 运算器 + 控制器 |
| 主机 | 运算器 + 控制器 + 主存储器 |
| 外部设备 | 输入设备 + 输出设备 + 外接辅助存储器 |
| 完整计算机系统 | 硬件设备 + 软件设备 |
3. ALU、控制器和常见寄存器
| 名称 | 作用 |
|---|---|
| ALU | 完成算术运算和逻辑运算 |
| 控制器 | 解释指令并发出控制信号 |
| 程序计数器 PC | 存放下一条待执行指令的地址 |
| 指令寄存器 IR | 存放当前正在执行的指令 |
| 累加器 ACC | 暂存运算数据或运算结果 |
MIPS 速度指标
- MIPS(Million Instructions Per Second)= 指令数 ÷ (执行时间 × 10⁶)
- 评估计算机执行速度常用每秒执行的指令数作为依据
- 例:执行 100 万条指令用时 0.5 秒 → MIPS = 1 / 0.5 = 2 MIPS
ALU 不是只做加法,也不是只做算术运算,也不负责长期存放运算结果。
4. 存储系统与存储单位
| 单位 | 含义 |
|---|---|
| bit / 比特 | 信息表示的最小单位,取值 0 或 1 |
| Byte / 字节 | 常用存储容量单位,1B = 8bit |
| KB | 1KB = 2^10B = 1024B |
| MB | 1MB = 2^20B |
| GB | 1GB = 2^30B |
存储系统通常指主存和辅存:
- 主存:可被 CPU 直接访问,速度较快,容量较小
- 辅存:容量大、速度慢、断电可长期保存
5. 冯·诺依曼机基本思想
冯·诺依曼机的核心思想是存储程序——程序和数据一样存放在存储器中,由计算机自动取出并执行。
| 特点 | 说明 |
|---|---|
| 存储程序 | 程序和数据都存放在存储器中 |
| 程序控制 | 按程序规定自动执行 |
| 按地址访问 | 存储器按地址访问 |
| 顺序执行 | 一般按指令地址顺序执行,遇到转移指令可改变顺序 |
6. 软件系统
| 类型 | 例子 | 作用 |
|---|---|---|
| 系统软件 | 操作系统、编译程序等 | 管理计算机资源,支持程序运行 |
| 应用软件 | 文本处理程序、表格软件等 | 面向具体应用任务 |
计算机只能直接识别和执行机器语言,需要借助编译程序等翻译软件把高级语言翻译成机器语言。
7. 性能指标和地址空间
8 位微型机 + 16 位地址计算
例:8 位微型机(一次处理 8 位数据)若用 16 位表示地址:
- "8 位"指数据宽度,不是地址位数
- 地址空间 = 2^16 = 65536 个
- 地址空间只与地址位数有关,与机器字长无直接关系
本章重点速记
- 5 子系统:输入/输出/存储/控制/算术逻辑运算
- CPU = 运算器 + 控制器;主机 = CPU + 主存
- 冯·诺依曼:存储程序 + 按地址访问 + 顺序执行
- 软件分系统软件和应用软件;机器语言是计算机唯一直接识别的语言
- MIPS = 每秒百万条指令
- 地址空间 = 2^地址位数(与机器字长无关)
第二章 总线
1. 总线概念与分类
总线是连接多个部件的信息传输线,是各部件共享的传输介质。
| 分类方式 | 类型 | 连接对象/含义 | 高频考点 |
|---|---|---|---|
| 按位置分 | 片内总线 | CPU 内部各部件之间 | CPU 内部 |
| 系统总线 | CPU、主存、I/O 设备之间 | 三大部件之间 | |
| 通信总线 | 计算机系统之间 | 系统之间 | |
| 按内容分 | 数据总线 | 传送数据 | 属于系统总线 |
| 地址总线 | 传送地址信息 | 选择存储单元和 I/O 接口地址 | |
| 控制总线 | 传送控制信号和状态信号 | 控制读写、响应等 |
2. 总线结构的优缺点
- 优点:便于增减外设,便于模块化设计,减少信息传输线
- 缺点:共享介质,同一时刻不能有多个信息源同时传送(不是"地址、数据、控制信息不能同时出现")
3. 主设备、从设备与总线仲裁
| 概念 | 含义 |
|---|---|
| 总线主设备 | 获得总线控制权,能主动发起总线操作 |
| 总线从设备 | 被主设备访问,只能响应命令 |
| 总线仲裁 | 多个主设备申请总线时,控制器进行判优 |
4. 集中式总线控制方式
| 方式 | 特点 | 高频考点 |
|---|---|---|
| 链式查询 | 结构简单,请求线少,优先级固定 | 只有一条总线请求线;对电路故障最敏感 |
| 计数器定时查询 | 通过计数器依次查询设备 | 优先级取决于计数起点 |
| 独立请求 | 每个设备有独立请求线和响应线 | 响应最快;控制线多 |
要点:
- 计数器定时查询:从 0 开始则设备号小优先,从终止点开始则机会相等
- 独立请求:N 个设备有 N 个请求 + N 个响应信号
- 链式查询:N 个设备只有一条请求线,对电路故障最敏感
5. 三总线结构与 PCI 总线
三总线结构:I/O 总线、主存总线、DMA 总线(与按内容分的"数据/地址/控制总线"不同)。
PCI 总线:与处理器时钟频率无关的高速外部总线,支持自动配置,兼容性较好,系统中可有多条 PCI 总线。
6. 总线通信控制
| 通信方式 | 含义/特点 | 高频考点 |
|---|---|---|
| 同步通信 | 由统一时序控制,有统一时钟 | 同步控制 = 统一时序 |
| 异步通信 | 无统一时钟,靠应答信号协调 | 不互锁速度最快 |
异步通信速度比较:不互锁 > 半互锁 > 全互锁(全互锁最慢但更可靠)。
7. 总线带宽计算
总线带宽 = 每个总线周期传送的数据量 × 总线频率
例:总线周期并行传送 8B,时钟频率 66MHz → 带宽 = 8B × 66MHz = 528MB/s
注意:8B 不是 8bit;MHz = 10⁶;MBps 一般按 10⁶ B/s 算。
本章重点速记
- 系统总线:CPU、主存、I/O 之间;通信总线:计算机之间
- 三种集中式控制:链式查询(一条请求线)/ 计数器定时查询(设备号小优先)/ 独立请求(响应最快)
- PCI:与 CPU 时钟无关的高速外部总线,支持自动配置
- 异步通信速度:不互锁 > 半互锁 > 全互锁
- 带宽 = 每周期数据量 × 总线频率
第三章 存储器
1. 存储器基础概念
| 类型 | 特点 | 例子 |
|---|---|---|
| 高速缓存 Cache | 容量小、速度最快、成本最高 | CPU Cache |
| 主存 | 可被 CPU 直接访问,速度较快,容量较小 | RAM、ROM |
| 辅存 | 容量大、速度慢、成本低、可长期保存 | 磁盘、U盘、光盘 |
主存 vs 辅存:主存小快贵,辅存大慢廉。
2. RAM、ROM 与常见存储芯片
| 类型 | 特点 |
|---|---|
| RAM | 可读可写,通常易失 |
| ROM | 只读或主要读,非易失 |
| PROM | 可编程,但通常只能写入一次 |
| EPROM | 可擦除可编程(紫外线擦除) |
可编程的只读芯片不一定是可改写的
PROM 可编程但一般不能反复改写——这是常考的"看似对实则错"陷阱。
3. SRAM、DRAM、磁盘与刷新
| 存储介质 | 是否需要刷新 | 说明 |
|---|---|---|
| SRAM | 不需要刷新 | 速度快,成本高,常用于 Cache |
| DRAM | 需要刷新 | 集成度高,成本低,常用于主存 |
| 磁盘 | 不需要定时刷新 | 信息可长期保存 |
4. 半导体存储芯片材料特点
| 类型 | 特点 |
|---|---|
| 双极性半导体存储芯片 | 速度快,但价格贵,功耗较大 |
| MOS 存储芯片 | 集成度高,成本较低,应用更广 |
双极性存储芯片速度比 MOS 快,但价格也贵。
5. 存取时间、存取周期
| 概念 | 含义 |
|---|---|
| 存取时间 | 从启动一次存取操作到完成该操作所需的时间 |
| 存取周期 | 存储器进行连续两次读/写操作所允许的最短时间间隔 |
6. 主存容量受什么限制
最大主存容量主要受地址总线位数限制(n 位地址 → 最多 2^n 个地址空间),不是受指令中地址码位数限制。
7. 字长、存储容量与寻址范围
核心公式:按字编址的寻址范围 = 存储容量 / 每个字的字节数
| 字长 | 每字占多少字节 |
|---|---|
| 8 位 | 1B |
| 16 位 | 2B |
| 32 位 | 4B |
| 64 位 | 8B |
| 字长 | 存储容量 | 按字编址计算 | 寻址范围 |
|---|---|---|---|
| 32 位 | 256KB | 256KB / 4B | 64K |
| 32 位 | 64KB | 64KB / 4B | 16K |
| 16 位 | 64KB | 64KB / 2B | 32K |
| 16 位 | 1MB | 1MB / 2B | 512K |
K/M 是数量级(不带 B)
按字编址算出来是 64K,不是 64KB。带 B 是字节数,不带 B 是个数(像 kg/km 一样)。
8. 存储芯片容量表示法
M × N 位:M 个存储单元,每个单元 N 位。
- 地址线数 = log₂(M)
- 数据线数 = N
例:16K × 32 位 中,16K = 2^14,地址线 14 根;数据线 32 根;合计 14 + 32 = 46 根。
9. RAM 芯片引出线最少数目
引出线数 = 地址线 + 数据线 + 控制线(CS、WE 等 2 根)
| RAM 容量 | 地址线 | 数据线 | 控制线 | 最少引出线 |
|---|---|---|---|---|
| 512 × 8 位 | 9 | 8 | 2 | 19 |
| 32K × 8 位 | 15 | 8 | 2 | 25 |
| 128K × 16 位 | 17 | 16 | 2 | 35 |
10. 地址空间计算
地址空间 = 2^地址位数
例:8 位微型机用 16 位地址 → 2^16 = 65536 个。8 位指数据宽度,不是地址位数。
本章重点速记
- 主存小快贵,辅存大慢廉
- DRAM 需要刷新,SRAM / 磁盘不需要
- 双极性快但贵,MOS 集成高
- 按字编址寻址范围 = 容量 ÷ 每字字节数(不带 B)
- M × N 位:地址线 = log₂(M) 根,数据线 = N 根
- 引出线 = 地址线 + 数据线 + 控制线(一般 2 根)
第四章 输入输出系统
1. I/O 系统基础
I/O 系统负责主机与外部设备之间的信息交换。I/O 接口的作用:数据缓冲、速度匹配、格式转换、状态检测和控制命令传送。
2. 串行传输与并行传输
| 方式 | 特点 | 适用场景 |
|---|---|---|
| 串行传输 | 按位依次传送 | 远距离 |
| 并行传输 | 多位同时传送 | 近距离高速 |
主机和终端串行传送数据时,需进行串-并 / 并-串转换(可用软件实现)。串行传输的特点是"线路成本低、远距离",不是"传输速度快"。
3. I/O 编址方式
| 编址方式 | 特点 | 是否需要专门 I/O 指令 |
|---|---|---|
| 统一编址 | 外设接口和主存共用地址空间 | 不需要 |
| 独立编址 | I/O 地址空间和主存地址空间分开 | 需要 |
统一编址:外部设备和主存共用 CPU 的整个访问存储空间,无需单独的 I/O 指令。
4. 主机与外设的数据传送方式
| 方式 | 基本特点 | CPU 参与程度 |
|---|---|---|
| 程序查询方式 | CPU 不断查询设备状态,串行工作 | 最高 |
| 中断方式 | 设备准备好后主动发中断请求 | 较高 |
| DMA 方式 | 外设和主存之间直接传送数据 | 较低 |
- 程序查询方式:"除非计算机等待,否则无法传送"——效率低
- 中断方式:CPU 不必一直等待外设,提高利用率
5. 中断响应过程中的硬件自动操作
| 操作 | 完成方式 |
|---|---|
| 程序计数器 PC 内容的保护和更新 | 硬件自动完成 |
| 中断响应周期中,允许中断触发器置 0 | 硬件自动完成 |
6. 中断向量与中断向量地址
| 概念 | 含义 |
|---|---|
| 中断服务程序入口地址 | 中断服务程序开始执行的位置 |
| 中断向量 | 通常存放中断服务程序入口地址 |
| 中断向量地址 | 存放中断服务程序入口地址的地址 |
中断向量地址 ≠ 中断服务程序入口地址本身,而是"入口地址的地址"。
7. DMA 方式
- 适合高速外设和大批量数据传送
- CPU 只在传送前初始化,传送中由 DMA 控制器接管总线
- DMA 不能完全取代中断方式(开始 / 结束 / 异常处理仍需中断配合)
8. DMA 的周期窃取 / 周期挪用
周期窃取:DMA 控制器在需要访问主存时,暂时占用一个存储器存取周期(不是指令周期、CPU 周期、总线周期)。
| 概念 | 含义 |
|---|---|
| 周期挪用 | 常用于 DMA 输入输出 |
| 周期窃取 | DMA 窃取一个存取周期 |
9. 四种 I/O 方式对比
| I/O 方式 | 数据传送特点 | CPU 是否等待 | 适用情况 |
|---|---|---|---|
| 程序查询方式 | CPU 主动查询设备状态 | 经常等待 | 简单低速设备 |
| 中断方式 | 设备准备好后通知 CPU | 不必一直等待 | 随机、低速或中速 |
| DMA 方式 | 主存和外设直接传送 | CPU 参与少 | 高速、大批量 |
程序查询:CPU 与设备串行工作;中断:减少等待;DMA:适合高速但不取代中断
本章重点速记
- 串行:远距离、成本低;并行:近距离、高速
- 统一编址:无需专门 I/O 指令;独立编址:需要
- 程序查询:CPU 与设备串行工作,效率低
- 中断方式:PC 保护与更新由硬件自动完成
- 中断向量地址 = 入口地址的地址(不是入口地址本身)
- DMA 适合高速大批量,但不能完全取代中断
- 周期窃取 = 窃取一个存取周期
第五章 计算机的运算方法
1. 数制转换与大小比较
| 进制 | 例子 | 转换要点 |
|---|---|---|
| 二进制 | (101001)2 | 按 2 的权展开 |
| 八进制 | (52)8 | 一位八进制 = 3 位二进制 |
| 十六进制 | (2B)16 | 一位十六进制 = 4 位二进制 |
例:(101001)2 = 41,(52)8 = 42,(2B)16 = 43,最小的是 (101001)2。
2. 原码、反码、补码、移码
| 表示方法 | 正数表示 | 负数表示 | 0 的表示 |
|---|---|---|---|
| 原码 | 符号位 0,数值位为真值绝对值 | 符号位 1,数值位为真值绝对值 | 有 +0 和 -0 |
| 反码 | 与原码相同 | 符号位不变,数值位按位取反 | 有 +0 和 -0 |
| 补码 | 与原码相同 | 反码末位 + 1 | 0 唯一 |
| 移码 | 真值加偏置值,常用于阶码 | 与补码符号位相反、数值位相同 | 0 唯一 |
真值 0 表示形式唯一的是补码和移码。
3. 定点整数和定点小数的表示范围
- 整数定点机:原码、反码、补码均可表示 -1
- 小数定点机:只有补码能表示 -1(
[x]补 = 1.000...0表示 -1) - n 位补码整数范围:
-2^(n-1) ~ 2^(n-1)-1 - n+1 位定点数(1 符号位 + n 数值位):
- 整数
0 ≤ |N| ≤ 2^n - 1 - 小数
0 ≤ |N| ≤ 1 - 2^-n
- 整数
4. 补码转换与位数判断
负数补码:先写正数二进制 → 按位取反 → + 1。求 [-X]补 时,也可对 [X]补 直接取反 + 1。
| 真值 | 8 位补码 | 十六进制 |
|---|---|---|
| -27 | 1110 0101 | E5H |
| -39 | 1101 1001 | D9H |
| 56 | 0011 1000 | 38H |
判断位数:-2^(n-1) ≤ x。例:x = -8192 = -2^13,至少需 14 位。
5. 补数、求负和移码
- 模 M 系统中,
-x的补数 =M - x - 移码与补码:同一数值,符号位相反,数值位相同
6. 补码加减运算和溢出判断
补码加减法:符号位一起参加运算,最高位进位通常丢弃。X - Y = X + (-Y)。
| 方法 | 判断规则 |
|---|---|
| 符号判断法 | 两个同号数相加,结果变号 → 溢出 |
| 进位判断法 | 最高有效数值位进位与符号位进位不同 → 溢出 |
| 变形补码法 | 结果两个符号位不同 → 溢出 |
变形补码要点
两个符号位不同才是溢出,相同则不是。
7. 逻辑移位和算术移位
| 移位方式 | 左移 | 右移 |
|---|---|---|
| 逻辑移位 | 低位补 0 | 高位补 0 |
| 算术移位 | 低位补 0,符号位按规则保留 | 高位补符号位 |
8. 浮点数基础
N = 尾数 × 基数^阶码,阶码决定范围,尾数决定精度。
规格化浮点数:
- 正数补码尾数:
0.1xxx... - 负数补码尾数:
1.0xxx...
9. 浮点数上溢、下溢
| 情况 | 机器处理 |
|---|---|
| 上溢 | 停止运算,进行溢出中断处理 |
| 下溢 | 继续运行,结果按机器零处理 |
10. 浮点数最接近 0 的负数
16 位浮点数,阶码 7 位含 1 位阶符,尾数 9 位含 1 位数符。
- 原码:最小负阶码 -63,最小尾数绝对值 2^-8 → -2^-71
- 补码:最小负阶码 -64,最小尾数绝对值 2^-8 → -2^-72
本章重点速记
- 真值 0 表示唯一:补码、移码
- 小数定点机只有补码能表示 -1
- 补码求负:
[X]补取反 + 1;移码 = 补码符号位取反 - 补码溢出:同号相加变号 / 变形补码两符号位不同
- 算术右移补符号位
- 浮点规格化:正
0.1xxx,负1.0xxx - 上溢停机中断,下溢按机器零处理
第六章 指令与寻址方式
本章核心:① 怎么找操作数(寻址 → 算 EA) ② 怎么算指令字长
1. 指令基本组成
指令 = 操作码 + 地址码
- 操作码:做什么(加/减/跳转...)
- 地址码:操作数在哪
2. 寻址方式 → 算有效地址 EA
| 寻址方式 | EA 公式 | 一句话理解 |
|---|---|---|
| 立即寻址 | 操作数在指令里 | 最快,数据就在指令里 |
| 直接寻址 | EA = D | 形式地址 D 就是 EA |
| 间接寻址 | EA = (D) | D 单元里装的才是 EA |
| 寄存器寻址 | 数据在寄存器 | 地址码短,速度快 |
| 寄存器间接 | EA = (R) | 寄存器里装的是地址 |
| 基址寻址 | EA = (BR) + D | 基址寄存器 + 偏移 |
| 变址寻址 | EA = (IX) + D | 变址寄存器 + 偏移 |
| 相对寻址 | EA = (PC) + D | PC + 位移量 |
速度排序:立即 > 寄存器 > 直接 > 间接
隐含寻址(ACC)
- 操作数位置由指令隐含规定,无需显式地址字段
- 例:单地址指令中第二操作数隐含在 ACC(累加器) 中
- 特点:节省地址字段长度,常见于累加器型指令系统
大小端存储
- 大端:高字节存低地址("大大在上")
- 小端:低字节存低地址("小小在下")
- 例:32 位整数
0x12345678从低地址到高地址- 大端:
12 34 56 78 - 小端:
78 56 34 12
- 大端:
寄存器-存储器型寻址空间
- 操作数可来自寄存器或存储器
- 例:
ADD R1, M[2000H]—— 一操作数在寄存器 R1,另一操作数在存储器 2000H 单元 - 寻址空间 = 寄存器数 + 存储单元数
- 与纯寄存器型 / 纯存储器型指令系统的区别:操作数来源不唯一
3. 相对寻址位移量(高频坑点)
位移量 = 目标地址 − 取完指令后的 PC
例:PC=2009H,2 字节指令,跳转目标 2000H
- 取完 2 字节:PC = 200BH
- 位移 = 2000H − 200BH = −0BH
坑:是"取完指令后"的 PC,不是取指前。
4. 指令格式位数计算
核心公式:指令字长 = 操作码位数 + 寻址特征位数 + 地址码位数
| 项目 | 计算 |
|---|---|
| 操作码位数 | ⌈log₂(指令条数)⌉(向上取整) |
| 寻址特征位数 | ⌈log₂(寻址方式种数)⌉ |
| 地址码位数 | log₂(直接寻址范围) |
例 1:98 种操作,指令字长 16 位,6 种寻址方式
- 操作码:⌈log₂ 98⌉ = 7 位;寻址特征:⌈log₂ 6⌉ = 3 位;地址码:16−7−3 = 6 位
例 2:156 条指令,一地址格式,直接寻址 64K 存储单元
- 操作码:⌈log₂ 156⌉ = 8 位;地址码:log₂ 64K = 16 位;指令字长:8+16 = 24 位
几地址 = 地址字段数:一地址 ×1,二地址 ×2,三地址 ×3
一地址例外:1 个字段 + 1 个隐含 ACC = 2 个操作数
本章重点速记
- 寻址速度:立即 > 寄存器 > 直接 > 间接
- 相对寻址位移量 = 目标地址 − 取完指令后的 PC
- 指令字长 = 操作码 + 寻址特征 + 地址码位数
- 隐含寻址:操作数隐含在 ACC
- 大小端:小端 = 低字节存低地址
- 寄存器-存储器型:寻址空间 = 寄存器数 + 存储单元数
第七章 CPU 的结构和功能
本章核心:① CPU 怎么取指令 ② 流水线公式 ③ 微程序控制器
1. CPU 基本组成
| 部件 | 作用 | 关键点 |
|---|---|---|
| ALU | 算术运算 + 逻辑运算 | 不是指令译码 |
| 控制器 CU | 分析指令 + 发出控制信号 | 控制各部件协调 |
| 寄存器组 | 暂存指令/地址/数据 | 在 CPU 内部,速度快 |
| PC | 下一条指令地址 | 取指时送 MAR |
| IR | 当前正在执行的指令 | 从 MDR 送来 |
| MAR | 主存地址 | 接地址总线 |
| MDR | 主存数据 | 接数据总线 |
2. 指令周期数据流
取指周期
PC → MAR → 地址总线 → 主存 → 数据总线 → MDR → IR,同时PC+1 → PC
| 步骤 | 说明 |
|---|---|
| PC → MAR | 待取指令地址送 MAR |
| MAR → 地址总线 → 主存 | 按地址访问主存 |
| CU 发读命令 | 控制主存读出 |
| 主存 → 数据总线 → MDR | 指令送入 MDR |
| MDR → IR | 指令送入指令寄存器 |
| PC+1 → PC | 指向下一条 |
中断周期
保存断点:
断点地址 → MAR → 主存,PC → MDR → 主存最后:中断入口 → PC
取指是读,中断保存断点是写。
3. 中断服务入口地址 → 找法
| 方法 | 含义 |
|---|---|
| 硬件向量法 | 由硬件提供入口地址 |
| 软件查询法 | 程序查询中断源 |
注意:这是入口地址的找法,不是总线仲裁中的"链式查询"等概念。
4. 微程序控制
四级概念:
| 概念 | 含义 |
|---|---|
| 微命令 | 最基本控制命令 |
| 微指令 | 若干微命令组成 |
| 微程序 | 若干微指令组成(实现一条机器指令) |
| 控制存储器 | 存微程序的存储器 |
微程序存放在控制存储器(ROM)
- 控制存储器用 ROM 实现,掉电不丢失,开机即可读取
- 每条机器指令对应一段微程序,存放在控制存储器中
- 控制器工作时,从 ROM 中读出对应微程序,发出相应控制信号
- ROM 只读特性保证微程序不会被破坏
微程序控制器 vs 硬布线控制器
| 特性 | 微程序控制器 | 硬布线控制器 |
|---|---|---|
| 实现方式 | 微程序 + ROM | 组合逻辑电路 |
| 速度 | 较慢(需读 ROM) | 较快 |
| 规整性 | 规整、易修改 | 不规整、难修改 |
| 适用 | CISC 复杂指令 | RISC 精简指令 |
5. 指令流水线
核心公式:n 条指令,k 级流水,每阶段 t → 总时间 = (k + n − 1)t
| 情况 | 公式 |
|---|---|
| 不采用流水(每条 2t) | 2nt |
| 二级流水(k=2) | (n + 1)t |
例:10 条指令,二级流水 = (2+10−1)t = 11t;不流水 = 20t
6. 地址空间
n 位地址 → 地址空间 = 2^n
例:8 位微型机用 16 位地址 → 2^16 = 65536
坑:8 位微型机的"8 位"指数据宽度,不是地址位数。
本章重点速记
- CPU = ALU + CU + 寄存器组
- 取指:PC → MAR → 主存 → MDR → IR,PC+1
- 中断:保存 PC → 写主存 → 中断入口 → PC
- 流水线:n 条 k 级流水 = (k+n-1)t
- 控制存储器 = ROM,存微程序
- 硬布线控制器速度更快;微程序控制器更易修改