《计算机组成原理》唐朔飞 第三版 知识点总结
作者:互联网
如题,笔者自用。不保证没有错误。
第一章 导论
1.1 计算机系统简介
1.1.1 计算机的软硬件概念
计算机系统 = 软件 + 硬件
软件:人们事先编制的具有各类特殊功能的程序。
- 系统软件
- 注意汇编程序和翻译程序是并列关系不是从属关系。
- 应用软件
硬件:计算机的实体部分,即看得见摸得着的各种电子元件。
1.1.2 计算机系统的层次结构
汇编语言和操作系统在20s50s引入(第二代计算机)
高级语言在20c60s出现
1.1.3 计算机组成和计算机体系结构
计算机体系结构是那些能够被程序员所见到的计算机系统的属性。
计算机组成是指如何实现计算机体系结构所体现的属性。
1.2 计算机的基本组成
1.2.1 冯诺依曼机
特点
- 由5大设备组成
- 指令和数据的地位同等,可以按地址寻访。
- 指令和数据都按二进制表示
- 以运算器为中心
基本特点:按地址访问并顺序执行指令。
1.2.2 计算机的硬件框图
现代计算机的三大组成部分:CPU、I/O设备、主存
1.3 计算机硬件的主要技术指标
三大技术指标:
- 机器字长
- 存储容量
- 运算速度
第二章 简史
2.1 计算机的发展史
ENIAC 1946交付使用,使用十进制运算
计算机的四代:
- 第一代电子管计算机
- 第二代晶体管计算机
- 第三代集成电路计算机(OS出现)
集成电路:
- SSI 几十个门
- MSI 几百个门
- LSI 几千个门
- VLSI 上万个门
第三章 系统总线
总线:只能分时发送,但可以同时接收。
3.2 总线的分类
- 按数据传送方式:并行传输总线、串行传输总线
- 按连接部件
- 片内总线
- 系统总线
- 数据总线(双向)
- 地址总线(单向)
- 控制总线(稍复杂,见 P44)
- 通信总线:一般是电缆式,而不是印刷电路。
- 串行通信总线
- 并行通信总线
3.3 总线特性及性能指标
3.3.3 总线标准
- ISA 及其扩展
- PCI:并行,即插即用,支持突发工作方式
- USB:串行,即插即用
3.5 总线控制
3.5.1 判优控制
-
集中式
- 链式查询
- 仅需常数根线
- 计数器定时查询
- 计数从0开始,则优先级从0到n降序
- 技术从上次终点开始,则优先级相等。
- 需要 \(log_2 n\) 条地址线,其中n为设备数目
- 独立请求方式
- 响应快速
- 需要2n根线(但不会增加处理机开销)
BS总线忙、BR总线请求、BG总线同意
- 链式查询
-
分布式
- 自举式
- 冲突检测式
3.5.2 通信控制
总线周期的四个阶段:
- 申请分配阶段
- 寻址阶段
- 传数阶段
- 结束阶段
通信控制的四种方式:
-
同步通信
-
异步通信:增加两条应答线
- 不互锁:如CPU写主存
- 半互锁:如多CPU系统下,CPU访问共享存储器
- 全互锁:如网络通信
波特率:单位bps
-
半同步通信
也使用统一时钟,但增设一条等待线 \(\overline{\mathop{WAIT}}\)
-
分离式通信
第四章 存储器
4.1 概述
4.1.1 分类
-
按存储介质:
- 半导体存储器
- 磁表面存储器
- 磁芯存储器
- 光盘
-
按存取方式:
- 随机存储器 RAM
- SRAM:触发器原理
- DRAM:电容充放电原理
- 只读存储器 ROM
- 串行访问存储器(顺序存取存储器)
- 磁盘是一种部分串行访问的存储器!
- 随机存储器 RAM
-
按作用分类:主存、辅存、缓存、Flash。见P70的图。
4.1.2 层次结构
三大主要性能指标
- 速度
- 容量
- 每位价格
层次结构主要体现在 缓存-主存 和 主存-辅存 这两个层次上。现代计算机几乎都有这两个层次,构成了 缓存、主存、辅存 三级存储系统。
虚拟存储器的地址变换工作是由硬件自动完成的。
4.2 主存储器
4.2.1 概述
主存技术指标:
-
存储容量
-
存储速度
- 存取时间:启动一次存储器操作到完成该操作的全部时间
- 存取周期:存储器进行连续两次独立的存储器操作所需的最小间隔时间
通常 存取周期 > 存取时间。
4.2.2 半导体存储芯片简介
译码驱动方式:
- 线选法:结构简单,一维,适用于容量小的芯片
- 重合法:结构复杂,二维,适用于容量大的芯片
4.2.3 RAM
SRAM 读周期时序:地址、片选、数据输出
SRAM 写周期时序:地址、片选、写允许、数据输入
DRAM 读周期时序:RAS、WE、CAS、数据输出
DRAM 写周期时序:RAS、WE、数据输入、CAS
也即,后两部的顺序是相反的。
刷新
- 集中刷新:存在死区
- 分散刷新:无死区,但存取周期变长
- 异步刷新
4.2.5 存储器与CPU的连接
存储容量的扩展
- 字扩展:增加存储字的数量
- 位扩展:增加存储字长
- 字、位扩展
连接
这里有一个选存储芯片的题型,可见 P94 下方。
4.2.6 汉明码
码字:由若干个二进制位组成的序列。
码距:相同长度的码字中,对应二进制位不同的位数。
4.2.7 提高访存速度的措施
单体多字系统:一次性取多个字,减少CPU访存次数。但对跳转指令不友好,而且要求数据总线宽度成倍增长。
多体并行系统
-
高位交叉编址:高位地址表示体号,低位地址表示体内地址。合理调动使不同的源访问不同的体,即可并行工作。
低位交叉存储器连续读取n个字所需的时间 \(t_2=nT\)
-
低位交叉编址:低位地址表示体号,高位地址表示体内地址。数据分散在多个体中,多个体并行工作。
低位交叉存储器连续读取n个字所需的时间 \(t_1=T+(n-1)\tau\)
T:存储周期
τ:总线传输周期
n:模块数
4.3 高速缓冲存储器
4.3.1 概述
Cache 与主存之间是字块传送。
有关访存命中率和访存时间的例题可见 P111。
保持 Cache 和主存内容一致的办法:
- 写直达法:数据同时写入cache和主存。稳妥,但增加访存次数。
- 写回法:只写cache,不写主存,仅当cache数据需要替换时才写入主存。需要设置额外标志位。
4.3.2 Cache-主存地址映射
重难点!P117
三种映射模式
- 直接映射(简单,快)
- 全相联映射(复杂,灵活性好)
- 组相联映射(上面二者的折中)
4.4 辅助存储器
磁表面存储器的主要技术指标
-
记录密度
-
存储容量
-
平均寻址时间
寻址时间 = 找道时间 + 等待时间
平均寻址时间 = 平均找道时间 + 平均等待时间
一般平均时间就是简单地将最长时间除以2。
-
数据传输率
-
误码率
磁表面存储器的记录方式
- 归零制
- 不归零制
- 见1就翻的不归零制
- 调相制
- 调频制
- 改进型调频制
4.4.6 循环冗余校验(CRC)码
模2运算的特点是不看进位和借位,加减就是异或。
模2除的上商原则(重要):
- 部分余数的首位为1时,上1
- 部分余数的首位为1时,上0
- 部分余数的位数少于除数的位数时,停止除法,该部分余数就是最后的余数。
- 也就是说,上商只无脑看首位数字,不比较大小。
引入一种多项式,这种多项式和一个二进制位序列是一一对应的。
比如,1101对应的多项式 \(M(x)\) 为:
\[M(x)=1\cdot x^3+1\cdot x^2+0\cdot x^1+1\cdot x^0 \]已知输入序列M(x),生成多项式G(x),则求CRC码的步骤如下:
-
令 r = G(x)位数 - 1,如G(x) = 1011,4位,则 r = 3。
-
将M(x) 左移 r 位。右边补零。
-
用模2除的方法计算
\[\frac{M(x)\cdot x^r}{G(x)} \]得到
\[xxx+\frac{xxx}{xxx} \]的形式,其中左边是商,右边是余数。取余数的分子部分。
-
将分子部分加到左移后的M(x),即得到CRC码。
第五章 I/O 系统
5.1 概述
5.1.2 输入输出系统的组成
I/O 系统包括:
-
I/O 软件
- I/O 指令(CPU指令的一部分)
- 通道指令/通道控制字(通道自身的指令)
-
I/O 硬件
5.1.3 I/O设备与主机的联系方式
I/O 设备编址方式
- 统一编址:减少了主存容量,但无需专用的I/O指令。
- 不统一编址:需要专用I/O指令。
5.1.4 I/O设备与主机信息传送的控制方式
5种控制方式:
- 程序查询方式
- 异步、串行、灵活、慢
- 程序中断方式
- 异步、并行、慢
- DMA方式
- 窃取的时间一般为一个存取周期。
- I/O通道方式(不考)
- I/O处理机方式(不考)
5.2 I/O 设备
本节408不考。
5.3 I/O 接口
接口既可以是两种硬设备之间的连接电路,也可以是两个软件之间的共同逻辑边界。
5.3.3 接口类型
- 按数据传送方式分类
- 并行接口
- 串行接口
- 按功能选择的灵活性分类
- 可编程接口
- 不可编程接口
- 按通用性分类
- 通用接口
- 专用接口
- 按数据传送的控制方式分类
- 程序型接口
- DMA型接口
5.4 程序查询方式
D:完成触发器
B:工作触发器
5.5 程序中断方式
中断技术的三大目的
- 提高计算机的整机效率
- 应付突发事件
- 实时控制的需要
INTR:中断请求触发器
MASK:中断屏蔽触发器
I/O 中断处理过程
一次中断处理过程的5个阶段:
- 中断请求
- 中断判优
- 中断响应
- 终端服务
- 中断返回
5.5.5 中断服务程序的流程
中断服务程序的4大流程
- 保护现场:两个含义
- 保护程序断点,即PC的内容。由中断隐指令完成。
- 保护通用寄存器和状态寄存器,由中断服务程序完成。
- 中断服务
- 恢复现场
- 中断返回
开中断的时机:
- 单重中断:在中断服务程序的最后才开中断
- 多重中断:在保护现场后、中断服务前即开中断。
5.6 DMA方式
为了分时使用主存,DMA与主存交换数据时采用以下3种方法:
- 停止CPU访问主存
- 周期挪用/周期窃取(常用)
- CPU不访问主存时,无冲突,直接进行DMA。
- CPU正在访问主存,等主存完成一个存取周期后,CPU让出,DMA访存。
- CPU和DMA同时请求访存:I/O的请求优先,因为可能丢数据。此时进行周期窃取,窃取1-2个存取周期。DMA结束后,CPU访存。
- DMA与CPU交替访问主存
5.6.3 DMA的工作过程
DMA传送过程
- 预处理
- 数据传输
- 后处理
5.6.4 DMA接口的类型
- 选择性DMA接口:适用于快速设备
- 多路型DMA接口:适用于同时为多个慢速设备服务
- 链式多路型DMA
- 独立请求多路型DMA
ASCII是7位二进制码,最后一位作校验位。
第六章 计算机的运算方法
通常称寄存器的位数为机器字长。
第七章 指令系统
7.1 机器指令
7.1.1 指令的一般格式
指令 = 操作码 + 地址码
操作码长度可以变化。应尽量使较常用的指令占用较短的操作码,以提高译码速度。
-
四地址指令
-
四个地址分别是:第一操作数地址、第二操作数地址、结果地址、下一条指令的地址。
将下一条指令的地址放在PC中,就可省去,得到三地址指令。
-
-
三地址指令
-
安排同上。
可以将结果放在ACC中,就得到二地址指令。
-
-
二地址指令
- 两个地址分别是:第一操作数地址、第二操作数地址。
- 有的机器也可以将操作数地址也作为结果地址,并在完成操作后写入结果地址覆盖操作数。如x86的add、mul等
- 将一个操作数隐含在ACC中,就得到一地址指令。
-
一地址指令
- 唯一的地址是操作数地址。另一个操作数在ACC中,结果仍放ACC。
-
零地址指令
- 空操作、停机等指令不需要地址码。
- 子程序返回、中断返回等指令的地址码隐含在堆栈指针SP中。
7.2 操作数类型和操作类型
7.2.1 操作数类型
地址、数字、字符、逻辑数据等。
7.2.3 操作类型
一个较完善的指令系统应该包含如下几种操作类型:
- 数据传送
- 算术逻辑操作
- 程序控制(如转移)
- 无条件转移
- 条件转移
- 过程调用与返回
- I/O
- 其他
7.3 寻址方式
寻址方式:指令寻址、数据寻址
7.3.1 指令寻址
简单。
- 顺序寻址
- 跳跃寻址
7.3.2 数据寻址
- 立即寻址:指令字中的地址码是立即数,直接指出操作数的值
- 直接寻址:指令字中的地址码是操作数在主存中的地址。
- 隐含寻址
- 间接寻址:指令字中的地址码指示出一个主存的位置,该位置保存有操作数在主存中的地址。
- 相比直接寻址可以支持更大的操作数寻址范围。因为地址码总是占用不到完整的指令字长,但存储字长可以和指令字长一致。
- 寄存器寻址
- 指令字中的地址码指出一个寄存器号,操作数保存在这个寄存器内。
- 寄存器间接寻址
- 和上面的不同之处在于寄存器中保存的是操作数在主存中的地址,而不是操作数本身。
- 基址寻址 EA = A + BR,A变,BR不变
- 隐式:专门设一个基址寄存器BR
- 显式:用户使用时明确指定一个通用寄存器,用作BR
- 主要用于为程序或数据分配存储空间,BR的内容一般由OS或管理程序确定。
- 变址寻址 EA = A + IX,A不变,IX变
- 主要用于数组。
- 相对寻址 EA = PC + A
- 主要用于转移类指令。
- 堆栈寻址
- 要求计算机内设有堆栈
- 软堆栈(用主存+堆栈指针实现)
- 硬堆栈(用专门的寄存器组实现)
7.4 指令格式举例
重难点!请参考课本 P319-325
向上兼容:高档机能兼容低档机的程序运行
向下兼容:后开发的程序能在较早的机器上运行
7.5 RISC 技术
RISC的主要特点
- 指令种类少,且多为简单指令。用简单指令的组合实现复杂指令。
- 指令长度固定,寻址方式种类少。指令译码快。
- 通用寄存器数量多。
- 一定采用流水线技术
- 大部分指令在一个时钟周期中完成。
- 控制器采用组合逻辑控制(而非CISC的微程序控制),延迟小。
- 采用优化编译技术
第八章 CPU的结构和功能
结构决定功能,而不是反过来。(唯物论)
8.1 CPU的结构
8.1.1 控制器CU的功能
- 取指令
- 分析指令
- 执行指令
8.1.3 CPU的寄存器
- 控制和状态寄存器(用户不可见)
- MAR
- MDR
- PC
- IR
- 用户可见寄存器
- 通用寄存器
- 数据寄存器
- 地址寄存器
- 条件码寄存器
8.2 指令周期
CPU每取出并执行一条指令所需的全部时间称为指令周期。
一个完整的指令周期:
- 取指 FE
- 间址 IND
- 执行 EX
- 中断 INT
8.3 指令流水
8.3.4 流水线中的多发技术
- 超标量技术:在同一个时钟周期内并发多条独立指令。
- 超流水线技术:好比将流水线再分段,第一条指令的第一个时钟周期未结束时,第二条指令就开始取指。
- 超长指令字技术:依赖强大的编译程序,将多条指令组合成一条超长指令来执行。要求更大的Cache。
8.4 中断系统
第九章 控制单元的功能
9.1 微操作命令的分析
0->ACC:ACC清零
L(ACC)->R(ACC):ACC右移一位
ACC0->ACC0:ACC0是符号位的意思,即保持符号位不变。
运行标志触发器G:G=1时机器运行,G=0时停机。
0->G:机器停机。
Ad(IR)->MAR:IR中指令的地址码部分送MAR
1->R:向主存发读命令。
1->W:向主存发写命令。
M(MAR)->MDR:将MAR所指的内存单元的值读出,放入MDR
MDR->M(MAR):与上面相反
Ad(IR)->PC:用于无条件跳转。将IR中指令的地址码部分送PC
第十章 控制单元的设计
两种办法:组合逻辑设计、微程序设计
10.1 组合逻辑设计
10.2 微程序设计
10.2.3 微指令的编码方式
- 直接编码(直接控制)方式:含义清晰、速度快、但控存容量需要很大
- 字段直接编码方式(显式编码):需要译码
- 字段间接编码方式(隐式编码):
- 混合编码:将1和2或3昏混用
- 其他
10.2.5 微指令格式
- 水平型微指令:效率高、速度快、灵活性强
- 上面几种编码方式都属于水平型微指令
- 垂直型微指令:以较长的微程序结构换取较短的微指令结构
标签:知识点,操作数,寻址,主存,第三版,唐朔飞,地址,指令,CPU 来源: https://www.cnblogs.com/eslzzyl/p/16391220.html