文章目录
计算机组成原理复习纲要
第一章 计算机系统概论
计算机的主要技术指标
-
机器字长
- CPU一次能够处理的位数
-
运算速度
-
主频
- 时钟周期的倒数
-
MIPS
- 10的6次方
-
CPI
- 执行一条指令的时钟周期数
-
-
存储容量
-
主存容量
-
存储单元个数 * 存储单元位数(存储字长)
- 如:16KB × 16位
-
用字节表示
- 如:1MB
-
-
第三章 系统总线
总线
-
连接各个部件的公共传输介质
-
优点:
- 减少电线的使用
-
结构
-
系统总线
-
地址总线
- 单向、由CPU发出
-
数据总线
- 双向、CPU可发、外设可发
-
控制总线
-
-
-
单总线
- 系统总线
-
双总线
-
I/O总线
- 外设
-
主存总线
- 主存——CPU
-
-
三总线
-
I/O总线
-
主存总线
-
DMA
- 可直接用DMA总线进行高速外设与主存的访问
-
-
三总线2
- CPU——Cache结构
-
特性
-
机械特性(尺寸)
-
电气特性
- 信号电平传输范围和方向)
-
功能特性
- 导线是用来传地址、数据、还是控制信号
-
时间特性
- 信号传输有先后次序
-
-
性能指标
-
总线宽度
- 总线1s传输数据的位数
-
标准传输率
- 1s内传输数据的位数
-
时钟
-
同步
- 有统一时钟控制
-
异步
- 无统一时钟控制,增加握手信号,不互锁是最快的
-
分离
- 无主从设备之分,都可占用总线;
采用同步方式
- 无主从设备之分,都可占用总线;
-
半同步
- 增加等待信号,本质还是同步控制
-
-
复用
- 数据线和地址线复用
-
信号线数
- 数据线、控制线、地址线的总位数
-
总线控制
-
集中式
-
链式查询
- 对电路故障最敏感;
从前到后进行查询,轮到谁就谁使用总线;
不能控制先后次序
- 对电路故障最敏感;
-
计数器定时查询
- 可以控制先后次序(通过修改计数器的数值);
“饥饿”
- 可以控制先后次序(通过修改计数器的数值);
-
独立请求
- 最快、最复杂
-
总线传输周期
-
申请
- 主模块申请占用总线
-
寻址
- 从模块寻找地址
-
传输
- 主从交互数据
-
结束
- 主模块释放总线
第四章 存储系统
层次结构
- CPU<->Cache<->主存<->辅存
分类
-
主存
- DRAM
-
缓存(Cache)
-
SRAM
-
避免CPU“空等”;
避免CPU与其他设备访存冲突;
局部性原理决定了Cache的容量不需要很大也够CPU进行数据读取- 局部性原理:
时间上,短时间内可能访问同一块内存
空间上,相邻时间内访存的数据在内存空间中相近
- 局部性原理:
-
Cache的读工作原理
- 命中率:命中次数 / 命中Cache和访存的次数
- 如果不命中,那么CPU会进行访存,并且将本块内容一并保存在Cache中,以供下次访问
-
Cache的写工作原理
-
回写法
- 当Cache写满时才会将Cache中内容一次性全部写入主存
-
写直达法
- 每次往Cache写时,也写往主存;
这样会使得刚写完的数据便于访问
- 每次往Cache写时,也写往主存;
-
-
替换策略
-
直接映射(对号入座)
- 地址有三段:
主存字块标记,Cache字块地址,字块内地址 - 缺点:
不够灵活,Cache中后面的块即使是空的,其他的主存块也不能占用
- 地址有三段:
-
全相联映射(空位随意放)
- 地址有两段:
主存字块标记,字块内地址 - 缺点:
灵活,但是成本高
- 地址有两段:
-
组相联映射(分组后,组内随意放)
- 地址有三段:
主存字块标记,组地址,字块内地址
- 地址有三段:
-
-
影响命中率的因素
- Cache的容量
- Cache块的大小适中,过大会有无效信息
- 选用更好的替换算法
- 采用多级Cache
-
技术指标
-
存储容量
- 存储单元个数 × 存储字长
-
带宽
- 1s能传输的位数
-
速度
-
存取时间
- 一次读写的时间
-
存储周期
- 从发地址信号开始算起,到下一次存取要发信号结束,时间大于存取时间
-
刷新
- 刷新优先级高于读写(不刷新的话读写也是没有意义的)
- 刷新仅使用行地址
译码驱动
-
线选法
- 一根地址线对应一行
-
重合法
- 一个矩阵,行列都有地址线
地址范围
-
按字寻址
- 根据和字节的倍数关系进行计算
-
按字节寻址
- 一根地址线代表一个字节
存储器扩展
-
位扩展
- 连数据线的时候需要几个芯片合起来把数据线连满
-
字扩展
- 连数据线的时候每个芯片都是连满的,根据片选信号进行区分
海明码
- 能1位纠错
- 第几位就隔几位、连续几位进行操作
提高访存的措施
-
使用高性能芯片
-
采用Cache——主存的层次结构
-
采用多体并行
-
高位交叉
- 地址的高位表示的是体号
-
低位交叉
- ①地址的低位表示的是体号;
②低位表示体号的好处是:
地址是从小到大增长的,这样就可以在不改变存取周期的前提下,增加存储字长(有几个体就增加到原来的几倍)
- ①地址的低位表示的是体号;
-
-
采用单体多字(增加存储字长)
-
减少存取周期
第五章 输入输出系统
CPU和I/O连接方式
-
分散连接
- 程序查询方式
-
总线连接
- 中断
- DMA
-
通道
-
I/O处理机
I/O编址方式
-
统一编址
- I/O与主存的地址相同
- 用存数、取数指令能够完成对于I/O的操作
- 优点:
占用主存地址的资源;
指令及信号统一
-
不统一编址
-
I/O指令
- 操作码
- 地址码
- 设备码
-
优点:
不占用主存地址资源
-
主机和I/O的信息传送
-
程序查询
- 外设准备数据时,CPU的 “踏步”
-
中断
- 宏观并行,微观串行:
①在数据准备阶段,CPU在处理数据,外设在准备数据,是并行的;
②在数据传输阶段,外设发送中断请求,此时CPU停止工作进行数据接收,为串行 - 解决的CPU的 “踏步”
- 指令执行周期结束可发生中断
- 宏观并行,微观串行:
-
DMA
- 解决高速外设与CPU处理数据速度不对等
- 周期窃取
- 实现了真正的并行
- 每个存取周期结束均可发生
接口的作用
- 选址
- 反映设备工作状态
- 传送命令
- 传送数据
程序中断
-
指CPU暂停当前正在执行的任务,转而执行其他更为紧急的任务,执行完中断程序后返回
-
关中断
- 保护现场不受中断干扰
-
保护现场
- 保护寄存器与程序断点;
保存断点可以压入堆栈,也可以存入主存特定的单元
- 保护寄存器与程序断点;
-
中断服务程序寻址
-
开中断
-
执行中断程序
-
关中断
-
恢复现场
-
开中断
-
中断返回
- 使得程序能够在中断服务执行完毕后返回原程序
-
禁止中断
- CPU不让外设中断
-
中断屏蔽
- 外设不能发送中断信号
-
中断向量
- 中断服务的入口地址
-
向量地址
- 中断服务的入口地址的地址
-
CPU响应中断的条件
- 有中断请求
- 开中断 + 中断允许
- 一条指令执行完毕无更紧急的任务
DMA——主存
-
访问方式
- CPU停止访存
- 周期窃取
- DMA与CPU交替使用总线
-
过程
-
预处理
- CPU参与进行寄存器初始化
-
数据传输
-
后处理
- 发送中断请求,需要CPU参与进行数据校对
-
第七章 指令系统
指令 = 操作码 + 地址码
指令字长
-
定长
- PC每次加一个指令字长
-
变长
- PC加的值根据指令是几个字节而定;
实现复杂
- PC加的值根据指令是几个字节而定;
操作数类型
-
地址
- 操作时只给出地址,然后根据这个地址值去存储器中找到相应的操作数;
占了绝大多数类型的操作数类型 - 是无符号整数
- 操作时只给出地址,然后根据这个地址值去存储器中找到相应的操作数;
-
数字
- 定点数、浮点数、十进制数
-
字符
- ASCII
-
逻辑数
数据存放的方式
-
边界对准
- 机器一次取数能够取出一个完整的数据;
存在内存碎片
- 机器一次取数能够取出一个完整的数据;
-
边界不对准
- 机器可能需要取多次才能得到一个完整的数据
寻址方式
-
指令寻址
-
顺序寻址
- 每次PC+1个指令字长得到下一条指令的地址
-
跳跃寻址
- PC + 地址的绝对量(相对量);
下条指令的地址仍是从PC中得到
- PC + 地址的绝对量(相对量);
-
-
数据寻址
RISC
- 指令较短
- 指令字长相等
- 全部采用指令流水
- 只有存数/取数指令
- 采用优化的编译程序
第八章 CPU的结构
概念:控制计算机进行取出指令和执行指令的部件
组成
-
控制器
-
取指令
-
分析指令
- 从指令的操作码中产生对应的控制信号
-
执行指令
- 发出操作命令
-
处理特殊请求
-
控制操作的先后顺序
-
MAR
-
MDR
-
指令译码器
-
时序系统
-
微操作信号发生器
-
PC
-
IR
-
CU
-
-
运算器
- 实现算术运算和逻辑运算
设计方法
- 组合逻辑设计
- 微程序设计
指令周期
-
取出并执行一条指令的时间
-
取指
-
数据流
PC->MAR
1->R
M(MAR)->MDR
MDR->IR
PC->pc+1
-
-
间址
-
数据流
任务:根据形式地址取得有效地址
Ad(IR)->MAR(将形式地址传给MAR)
1->R(CU发出读命令)
M(MAR)->MDR(根据形式地址将存储器中的有效地址传给MDR)
-
-
执行
-
中断
-
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存)
-
可被CPU直接访问
但是和CPU访问时不可冲突,DMA优先
核心部件是ALU
也只有它能进行运算,其他都是存数
XMind: ZEN - Trial Version# 计算机组成原理复习纲要
第一章 计算机系统概论
计算机的主要技术指标
-
机器字长
- CPU一次能够处理的位数
-
运算速度
-
主频
- 时钟周期的倒数
-
MIPS
- 10的6次方
-
CPI
- 执行一条指令的时钟周期数
-
-
存储容量
-
主存容量
-
存储单元个数 * 存储单元位数(存储字长)
- 如:16KB × 16位
-
用字节表示
- 如:1MB
-
-
子主题 2
第三章 系统总线
总线
-
连接各个部件的公共传输介质
-
优点:
- 减少电线的使用
-
结构
-
系统总线
-
地址总线
- 单向、由CPU发出
-
数据总线
- 双向、CPU可发、外设可发
-
控制总线
-
-
-
单总线
- 系统总线
-
双总线
-
I/O总线
- 外设
-
主存总线
- 主存——CPU
-
-
三总线
-
I/O总线
-
主存总线
-
DMA
- 可直接用DMA总线进行高速外设与主存的访问
-
-
三总线2
- CPU——Cache结构
-
特性
-
机械特性(尺寸)
-
电气特性
- 信号电平传输范围和方向)
-
功能特性
- 导线是用来传地址、数据、还是控制信号
-
时间特性
- 信号传输有先后次序
-
-
性能指标
-
总线宽度
- 总线1s传输数据的位数
-
标准传输率
- 1s内传输数据的位数
-
时钟
-
同步
- 有统一时钟控制
-
异步
- 无统一时钟控制,增加握手信号,不互锁是最快的
-
分离
- 无主从设备之分,都可占用总线;
采用同步方式
- 无主从设备之分,都可占用总线;
-
半同步
- 增加等待信号,本质还是同步控制
-
-
复用
- 数据线和地址线复用
-
信号线数
- 数据线、控制线、地址线的总位数
-
总线控制
-
集中式
-
链式查询
- 对电路故障最敏感;
从前到后进行查询,轮到谁就谁使用总线;
不能控制先后次序
- 对电路故障最敏感;
-
计数器定时查询
- 可以控制先后次序(通过修改计数器的数值);
“饥饿”
- 可以控制先后次序(通过修改计数器的数值);
-
独立请求
- 最快、最复杂
-
总线传输周期
-
申请
- 主模块申请占用总线
-
寻址
- 从模块寻找地址
-
传输
- 主从交互数据
-
结束
- 主模块释放总线
第四章 存储系统
层次结构
- CPU<->Cache<->主存<->辅存
分类
-
主存
- DRAM
-
缓存(Cache)
-
SRAM
-
避免CPU“空等”;
避免CPU与其他设备访存冲突;
局部性原理决定了Cache的容量不需要很大也够CPU进行数据读取- 局部性原理:
时间上,短时间内可能访问同一块内存
空间上,相邻时间内访存的数据在内存空间中相近
- 局部性原理:
-
Cache的读工作原理
- 命中率:命中次数 / 命中Cache和访存的次数
- 如果不命中,那么CPU会进行访存,并且将本块内容一并保存在Cache中,以供下次访问
-
Cache的写工作原理
-
回写法
- 当Cache写满时才会将Cache中内容一次性全部写入主存
-
写直达法
- 每次往Cache写时,也写往主存;
这样会使得刚写完的数据便于访问
- 每次往Cache写时,也写往主存;
-
-
替换策略
-
直接映射(对号入座)
- 地址有三段:
主存字块标记,Cache字块地址,字块内地址 - 缺点:
不够灵活,Cache中后面的块即使是空的,其他的主存块也不能占用
- 地址有三段:
-
全相联映射(空位随意放)
- 地址有两段:
主存字块标记,字块内地址 - 缺点:
灵活,但是成本高
- 地址有两段:
-
组相联映射(分组后,组内随意放)
- 地址有三段:
主存字块标记,组地址,字块内地址
- 地址有三段:
-
-
影响命中率的因素
- Cache的容量
- Cache块的大小适中,过大会有无效信息
- 选用更好的替换算法
- 采用多级Cache
-
技术指标
-
存储容量
- 存储单元个数 × 存储字长
-
带宽
- 1s能传输的位数
-
速度
-
存取时间
- 一次读写的时间
-
存储周期
- 从发地址信号开始算起,到下一次存取要发信号结束,时间大于存取时间
-
刷新
- 刷新优先级高于读写(不刷新的话读写也是没有意义的)
- 刷新仅使用行地址
译码驱动
-
线选法
- 一根地址线对应一行
-
重合法
- 一个矩阵,行列都有地址线
地址范围
-
按字寻址
- 根据和字节的倍数关系进行计算
-
按字节寻址
- 一根地址线代表一个字节
存储器扩展
-
位扩展
- 连数据线的时候需要几个芯片合起来把数据线连满
-
字扩展
- 连数据线的时候每个芯片都是连满的,根据片选信号进行区分
海明码
- 能1位纠错
- 第几位就隔几位、连续几位进行操作
提高访存的措施
-
使用高性能芯片
-
采用Cache——主存的层次结构
-
采用多体并行
-
高位交叉
- 地址的高位表示的是体号
-
低位交叉
- ①地址的低位表示的是体号;
②低位表示体号的好处是:
地址是从小到大增长的,这样就可以在不改变存取周期的前提下,增加存储字长(有几个体就增加到原来的几倍)
- ①地址的低位表示的是体号;
-
-
采用单体多字(增加存储字长)
-
减少存取周期
第五章 输入输出系统
CPU和I/O连接方式
-
分散连接
- 程序查询方式
-
总线连接
- 中断
- DMA
-
通道
-
I/O处理机
I/O编址方式
-
统一编址
- I/O与主存的地址相同
- 用存数、取数指令能够完成对于I/O的操作
- 优点:
占用主存地址的资源;
指令及信号统一
-
不统一编址
-
I/O指令
- 操作码
- 地址码
- 设备码
-
优点:
不占用主存地址资源
-
主机和I/O的信息传送
-
程序查询
- 外设准备数据时,CPU的 “踏步”
-
中断
- 宏观并行,微观串行:
①在数据准备阶段,CPU在处理数据,外设在准备数据,是并行的;
②在数据传输阶段,外设发送中断请求,此时CPU停止工作进行数据接收,为串行 - 解决的CPU的 “踏步”
- 指令执行周期结束可发生中断
- 宏观并行,微观串行:
-
DMA
- 解决高速外设与CPU处理数据速度不对等
- 周期窃取
- 实现了真正的并行
- 每个存取周期结束均可发生
接口的作用
- 选址
- 反映设备工作状态
- 传送命令
- 传送数据
程序中断
-
指CPU暂停当前正在执行的任务,转而执行其他更为紧急的任务,执行完中断程序后返回
-
关中断
- 保护现场不受中断干扰
-
保护现场
- 保护寄存器与程序断点;
保存断点可以压入堆栈,也可以存入主存特定的单元
- 保护寄存器与程序断点;
-
中断服务程序寻址
-
开中断
-
执行中断程序
-
关中断
-
恢复现场
-
开中断
-
中断返回
- 使得程序能够在中断服务执行完毕后返回原程序
-
禁止中断
- CPU不让外设中断
-
中断屏蔽
- 外设不能发送中断信号
-
中断向量
- 中断服务的入口地址
-
向量地址
- 中断服务的入口地址的地址
-
CPU响应中断的条件
- 有中断请求
- 开中断 + 中断允许
- 一条指令执行完毕无更紧急的任务
DMA——主存
-
访问方式
- CPU停止访存
- 周期窃取
- DMA与CPU交替使用总线
-
过程
-
预处理
- CPU参与进行寄存器初始化
-
数据传输
-
后处理
- 发送中断请求,需要CPU参与进行数据校对
-
第七章 指令系统
指令 = 操作码 + 地址码
指令字长
-
定长
- PC每次加一个指令字长
-
变长
- PC加的值根据指令是几个字节而定;
实现复杂
- PC加的值根据指令是几个字节而定;
操作数类型
-
地址
- 操作时只给出地址,然后根据这个地址值去存储器中找到相应的操作数;
占了绝大多数类型的操作数类型 - 是无符号整数
- 操作时只给出地址,然后根据这个地址值去存储器中找到相应的操作数;
-
数字
- 定点数、浮点数、十进制数
-
字符
- ASCII
-
逻辑数
数据存放的方式
-
边界对准
- 机器一次取数能够取出一个完整的数据;
存在内存碎片
- 机器一次取数能够取出一个完整的数据;
-
边界不对准
- 机器可能需要取多次才能得到一个完整的数据
寻址方式
-
指令寻址
-
顺序寻址
- 每次PC+1个指令字长得到下一条指令的地址
-
跳跃寻址
- PC + 地址的绝对量(相对量);
下条指令的地址仍是从PC中得到
- PC + 地址的绝对量(相对量);
-
-
数据寻址
RISC
- 指令较短
- 指令字长相等
- 全部采用指令流水
- 只有存数/取数指令
- 采用优化的编译程序
第八章 CPU的结构
概念:控制计算机进行取出指令和执行指令的部件
组成
-
控制器
-
取指令
-
分析指令
- 从指令的操作码中产生对应的控制信号
-
执行指令
- 发出操作命令
-
处理特殊请求
-
控制操作的先后顺序
-
MAR
-
MDR
-
指令译码器
-
时序系统
-
微操作信号发生器
-
PC
-
IR
-
CU
-
-
运算器
- 实现算术运算和逻辑运算
设计方法
- 组合逻辑设计
- 微程序设计
指令周期
-
取出并执行一条指令的时间
-
取指
-
数据流
PC->MAR
1->R
M(MAR)->MDR
MDR->IR
PC->pc+1
-
-
间址
-
数据流
任务:根据形式地址取得有效地址
Ad(IR)->MAR(将形式地址传给MAR)
1->R(CU发出读命令)
M(MAR)->MDR(根据形式地址将存储器中的有效地址传给MDR)
-
-
执行
-
中断
-
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存) -
数据流
任务:处理中断
SP->SP-1(栈顶指针-1,弹出程序断点,也就是PC的内容)
SP->MAR(保存断点)
1->W(CU发出写命令)
PC->MDR->M(程序断点,在PC中,经MDR存入主存)
CU->PC(程序断点入口地址存入主存)
-
可被CPU直接访问
但是和CPU访问时不可冲突,DMA优先
核心部件是ALU
也只有它能进行运算,其他都是存数
XMind: ZEN - Trial Version