计算机组成原理(第3版)唐朔飞著 知识点总结
从本学期开始,整理每一门课的笔记,学完一章一总结~~ (◕ᴗ◕✿)
写的不对的地方欢迎指正
所有内容都会放在这篇文章里
如果只想看单章的链接在这里
第三章系统总线
第四章存储器
第五章输入输出系统
第六章计算机的运算方法
第七章指令系统
第十章控制单元的设计
第三章 系统总线
- 按系统总线传输信息的不同,又可分为三类:数据总线、地址总线、控制总线
- 通信总线按传输方式可分为:串行通信、并行通信
- 4个总线特性:机械特性、电气特性、功能特性、时间特性
- 总线性能指标:总线宽度、总线带宽、时钟同步/异步、总线复用、信号线数、总线控制、其他指标
- 总线结构分为:单总线、双总线
- 总线控制:
第四章 存储器
一、 存储芯片
-
一个存储体由多个存储单元构成,存储单元由存储元构成。直接存放二进制数据
-
MOS管理解为电控开关,电压达到某阈值时接通
-
每一个地址对应译码器的一根字选择线
地址寄存器与数据寄存器和存储体共同作用于时序控制逻辑电路
存储字长不是确定值
-
译码驱动由译码器与驱动器组成。驱动器接在译码器后保证译码器的高电平是稳定有效的
-
存储芯片的描述 【Byte为字节=8bit为位】
-
技术性能指标
1 存储容量
2存储速度【存取时间 存取周期】
3 存储带宽 -
例: 一个64Kx8位的存储器可由32片16Kx1位的存储芯片组成
解析:(64K8)/(16K1) = 32片
1位代表存储字长为1bit,所以将其先转化成16Kx8位
16与64相差4倍,通过译码器再增加两根地址即可表示
所以最终需要48 = 32片* -
半导体存储芯片的译码驱动方式有两种:线选法和重合法
-
线选法占用太多线路:通过一根线获取水平方向一行的数据
-
重合法容量可以很大:行列交叉位置的数据
二、RAM(DRAM和SRAM)
- SRAM:静态RAM(双稳态触发器原理)
【短杠上只连接一根线的位置叫做栅极,给栅极高电平即可导通】
T1-T4组成了一个触发器
T5、T6:控制门管(若T5、T6被断开内部则无法选中)
Z:字线(选择存储单元)
(通过控制位线电平,来控制写入状态)
T1导通,T2截止 写1
T1截止,T2导通 写0
(通过读取位线电流,来读取状态)
位线1有电流,位线2无电流 读1
位线2有电流,位线1无电流 读0
写步骤(此时有电压差走交叉线路):
① 字线给高电平(T5、T6都导通)
② 根据要写入的状态给两位线不同电平(H高L低)
读步骤(此时无电压差走耦合线路) :
① 字线给高电平(T5、T6都导通)
② 两位线都给高电平
③ 检测电流
- 静态RAM的读写时序
- 读出的时候地址信号和片选信号必须稳定
- 读出的过程中地址信号和片选信号可以发生变化
- DRAM:动态RAM(栅极电容)集成度高、功耗低
读1:MOS管接通,电容放电,数据线上产生电流(电容放电是破坏性读出,还需重写操作)
读0:MOS管接通后,数据线上无电流
地址送两次,一次行地址,一次列地址
- 刷新
- 动态RAM的读写时序
三、ROM
1. 五种ROM
-
掩模ROM(MROM)
-
可编程ROM(PROM)(一次性编程)
熔丝连接为1,断开为0
-
EPROM(多次编程,紫外线擦除)
-
EEPROM(电可擦除存储器)
-
闪速存储器
2. 存储器与CPU的连接
- 存储器容量的扩展
1. 字扩展(地址线)
多个芯片的片选端,连接到扩展的地址线上
解释:多个芯片不能同时工作
2. 位扩展(数据线——增加存储字长)
各个存储芯片的片选线连在一起
解释:数据位扩展,多个芯片要同时工作,所以片选线要连在一起
3. 字位扩展
先扩展位,再扩展字。
扩展的位相当于分好了列,扩展后的位数为一组,同一组的芯片片选线连到一起
把这几组的片选线,连接到扩展的地址线上(片选译码器分出多个信号)
四、校验
1.奇偶校验
- 奇偶校验(高位放一位校验码)不能指出错误
加上最高位,1的个数是奇数个是奇校验,1的个数是偶数个是偶校验
2.海(汉)明码校验
- 海(汉)明码校验
五、Cache
1.块号、块内地址
主存:
块号 | 块内地址
块数 容量(块长)
Cache:
块号 | 块内地址
远小于主存 容量与主存一样
2.写Cache:
(1)写直达法:
①优:始终保持一致
②缺:增加访存次数
(2)写回法:
①优:快
②缺:成本高(增加的电路多)
3.Cache映射:
(1)直接映射:
①优:直接简单
②缺:利用率低,命中率低
(2)全相联映射:
①优:资源利用自由
②缺:成本高
(3)组相联映射:
①先分组(直接映射)
②后选块(全相联映射)
第五章 输入输出系统
一、 概述
- I/O设备与主机交换信息的三种方式
-
输入输入系统的组成:
(1) I/O软件
①I/O指令:
②通道指令
(2)I/O硬件: ①接口模块 ②I/O设备
3. I/O设备与主机的联络方式:
(1)I/O设备编址方式
①统一编址:全部放在内存里,将I/O地址看作是存储器地址的一部分
1)占用了存储空间
2)无需专用的I/O指令
②不统一编址:需要专用的I/O指令,I/O地址与存储器地址分开存放
1)不占内存
2)需要专用的I/O指令
(2)I/O设备寻址方式
①由I/O指令中的设备码字段,指出设备号
②通过接口电路中的设备选择电路选中设备
(3)数据传送方式
①串行:适用远距离
②并行:适用近距离,速度快,效率不一定高
(4)I/O设备与主机的联络方式
①立即响应方式:I/O工作速度缓慢
②异步工作方式:I/O与主机速度不匹配
③同步工作方式:I/O与CPU工作速度完全同步
(5)I/O设备与主机的连接方式有
①辐射式:计算机发展初级阶段
②总线式:现代计算机采用方式
4. I/O设备与主机交换信息的三种控制方式
(1)程序查询方式:
①CPU反复查询,产生踏步现象
②CPU每次只能从I/O设备读一个字
(2)程序中断方式:
特点:
①程序中断方式消除了程序查询方式的踏步现象,提高了资源利用率
②占用CPU内部寄存器,消耗资源
过程:
① 中断现行程序
② 保护断点,保存状态至寄存器
③ 转至中断服务程序
④ 处理完后返回断点
(3)DMA方式:
①进一步提高资源利用率
②主存与I/O设备之间有一条数据通路
③CPU总是将总线占有权让给DMA,让一个机器周期(又称存取周期/窃取周期/挪用周期)
二、 I/O设备
-
I/O设备分3类
(1)人机交互设备:键盘、鼠标等
(2)计算机信息的存储设备:磁盘等(外存)
(3)机-机通信设备:调制解调器、路由器等 - 输入设备:键盘(我们用的键盘都是编码[ASCII码]的键盘)、鼠标、触摸屏等
- 分辨率和灰度等级是CRT的两个重要技术指标
- 常见的显示器有:字符显示器、图形显示器、图像显示器
- 常见的打印设备有:点阵式打印机、激光打印机、喷墨打印机
- 汉字点阵存储,通常32个字节,
三、I/O接口
-
I/O接口存在的意义:
(1)实现I/O设备选择
(2)实现I/O设备与CPU速度的匹配
(3)实现数据串并格式的转换
(4)实现电平转换
(5)传送控制命令
(6)监视设备工作状态,保存状态信息 -
端口与接口不同:
(1)接口由若干个端口加以控制逻辑组成
(2)端口是接口电路中的寄存器,用来存放数据信息、控制信息、状态信息、 - CPU通过输入指令,从端口读入信息,通过输出指令,可将信息写入端口中
-
I/O总线包括:数据线、设备选择线、命令线、状态线
(1)数据线:采用两组单向总线或一组双向总线
(2)设备选择线:采用两组单向总线或一组双向总线
(3)命令线:采用一组单向总线
(4)状态线:采用一组单向总线 -
接口的四个功能及对应的四个硬件:
(1)选址功能:设备选择电路(根据地址)
(2)传送命令功能:命令寄存器及命令译码器
(3)传送数据功能:数据缓冲寄存器(DBR)
(4)反映I/O设备工作状态的功能:反映设备工作的触发器
四、 程序查询方式
-
程序查询需要执行的三条指令
(1)测试指令:查询I/O设备是否准备就绪
(2)传送指令:准备就绪,执行传送指令
(3)转移指令:未准备就绪,执行转移指令,再继续执行测试指令 - 查询多个设备时优先级标准为:先查速度快的,离CPU越近速度越快
- 计数值(保存在堆栈中): 将传送的数据长度保存为负数的补码形式,每次加一至溢出则结束
- 程序查询方式电路组成:
五、 程序中断方式
-
程序中断方式增加的硬件:
(1)中断请求器触发器INTR:1提出请求,0未提出请求
(2)中断屏蔽触发器MASK:1被屏蔽,0未被屏蔽
(3)排队器INTP:输出只能有一个高电平。
①设备优先权:硬件方法——排队器,软件方法——查表
②排队优先级:离CPU越近优先级越高(离CPU近速度快)
(4)设备编码器:输入来自排队器,输出中断向量(向量地址存放的是入口地址) -
程序中断方式电路组成:
-
EINT为中断触发器,开中断指令置位,关中断指令复位
-
CPU响应中断的时间一定是在每条指令执行阶段的结束时刻
-
中断处理过程的五个阶段:
(1)中断请求
(2)中断判优
(3)中断响应
(4)中断服务
(5)中断返回 -
中断服务程序的四个流程:
(2)中断服务
(3)恢复现场
(4)中断返回 -
出现新中断请求的处理方式: 单重中断和多重中断,区别:开中断时间不同
(1)单重中断: 不理睬新的中断请求
(2)多重中断(中断嵌套): 被新的中断请求打断去处理新的中断请求 (只能高优先级可以打断低优先级)
六、 DMA方式
-
DMA与中断方式的数据通路的图示:
(1)主存和DMA接口之间有一条数据通路,交换信息时不通过CPU所以工作速度快
(2)所以I/O设备通过接口交换信息
(3)DMA接口与CPU共享主存 -
DMA与主存交换数据的三种方法:
(1)停止CPU访问内存(DMA优先级比CPU高)
(2)周期挪用(周期窃取)
三种情况:
①CPU此时不需要访问主存:此时无冲突
②CPU正在访问主存的过程中:等待CPU访问结束
③CPU此时需要访问主存:I/O先访问,CPU后访问
(3)DMA与CPU交替访问 -
DMA接口功能:
(1)向CPU申请DMA传送
(2)转交总线控制权
(3)管理系统
(4)确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和长度
(5)给出DMA操作完成的信号 -
DMA接口基本组成
(1)主存地址寄存器(AR)
(2)字计数器(WC)
(3)数据缓冲寄存器(BR)
(4)DMA控制逻辑
(5)中断机构
(6)设备地址寄存器(DAR) -
DMA传送过程3个阶段
(1)预处理:
①指明传送方向(输入或输出)
②给地址寄存器送入要启动的设备号并启动
③给地址寄存器送入主存起始地址
④给字计数器赋值
(2)数据传送: 字计数器溢出时停止
(3)后处理: 做DMA结束工作。校验送入主存的数据是否正确;对接口初始化;出错转至错误诊断及处理错误程序。 - DMA与程序中断方式对比
第六章 计算机的运算方法
一、 基础内容
1.原码、反码、补码
2.纯小数的数值部分(除符号位),称为尾数。例:若机器字长为n+1位,则尾数占n位
3.移码:补码的基础上符号位取反。移码只能表示整数。移码作用:比较大小
4.两个数的绝对值之和=模,则这两个数互为补数。例:在(mod12)的条件下,-3和9互为补数
5.补码定义:模(计算机自动mod2^8)-a的绝对值=a的补数(a的补码)【a为负数,正数不需要补码】方便减法
6.算术移位计算:符号位不变
原码的算术移位,
右移:高位补0,低位舍弃,若舍弃位为1,则会丢失精度
左移:低位补0,高位舍弃,若舍弃位为1,则为严重误差
负数补码算术移位
右移(同反码):高位补1,低位舍弃
左移(同原码):低位补0,高位舍弃
- 乘法运算 【课本版】
7.定点原码一位乘
二、 乘法运算
【课上版】
补充内容:1.变补为双符号位补码 2.补码运算中乘数(Y)末位补0
1、 定点原码一位乘
- 定点原码一位乘 (课上笔记)
规则
① 部分积Z = 0
②
③ Z和Y同时右移一位
④ 重复②—③n次
2、 定点补码一位乘
-
定点补码一位乘 (课上笔记)
规则
① 部分积Z = 0,乘数末位补0
②
③ 同时右移一位
④ 重复②—③n次
⑤ 最后一次不移位
三、 除法运算
- 定点原码一位除
1、 定点原码一位除-恢复余数法
-
恢复余数法
规则(r为余数,q为商)
③ 重复
④ 最后一次r不移,q左移
2、 定点原码一位除-加减交替法
-
加减交替法
规则 (r为余数,q为商)
① |X|-|Y| = r < 0,q = 0,r与q左移一位
②
③ 重复(算的次数为Y的位数)
④ 最后一次q左移, r不左移
第七章 指令系统
一、机器指令
- 机器语言是由一条条语句构成的,每一条语句又能准确表达某种语义。
- 人们习惯把每一条机器语言的语句称为机器指令,而又将全部机器指令的集合称为机器的指令系统。
- 指令的一般格式
(重点)4. 扩展操作码
-
地址码
-
指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。
二、操作数类型和操作类型
- 操作数类型:①地址②数字③字符④逻辑数据
- 操作类型:
(1)数据传送
(2)算数逻辑操作
(3)移位
(4)转移:
①. 无条件转移(JMP跳转指令)
② 有条件转移(零标志位、溢出标志位、负标志位等等)
③ 调用与返回(CALL与RETURN)
④ 陷阱与陷阱指令(意外事故的中断)
三、寻址方式
- 寻址方式是指确定本条指令的数据地址以及下一条将要执行的指令地址的方法,它与硬件结构紧密相关,而且直接影响指令格式和指令功能。
- 寻址方式分为指令寻址和数据寻址。
- 指令寻址:
(1)顺序寻址:程序计数器PC内
(2)跳跃寻址:跳转指令内地址码给出
(重点)4. 数据寻址(10种)
- 操作数的真实地址称为有效地址(EA)
- EA由寻址方式和形式地址A共同决定
(1)立即寻址
① 特点:
1)形式地址A即操作数本身也称作立即数。
2)寻址特征为#。
② 优点:无需访存
③ 缺点:A的位数有限,所以表达的立即数也有限
(2)直接寻址
① 特点:A即为EA,EA=A
② 优点:只需访存一次
③ 缺点:
1)A的位数限制了寻址范围
2)灵活性差(修改操作数地址还需修改A)
(3)隐含寻址
① 特点:指令字种少给一个地址(隐含在操作码或寄存器中)
② 优点:缩短指令字长
(4)间接寻址
① 特点:
1)EA=(A),括号代表要的是里面的数
2)EA由A间接提供,A给出的是操作数的有效地址的地址(一次间接)
3)有一次间接与多次间接,多次间接即A给出的是下一形式地址还不是有效地址的地址
4)常应用于循环
② 优点:
1)扩大了操作数的寻址范围
2)便于编制程序
③ 缺点:访存次数增多,速度变慢
(5)寄存器寻址
① 特点:EA=R,A为寄存器编号R,操作数在由R所指的寄存器中
② 优点:无须访存
③ 缺点:贵
(6)寄存器间接寻址
① 特点:EA=(R),A为寄存器编号R,R所指的寄存器中是操作数的有效地址
② 优点:比间接寻址少访存一次
(7)基址寻址
① 特点:
1)设有基址寄存器BR,BR内存放的内容称为基地址
2)BR:内容由操作系统给出,用户不可修改
3)EA=A+(BR),有效地址为形式地址与基地址相加
(8)变址寻址
① 特点:
1)设有变址寄存器IX
2)IX:内容由用户给定,用户可修改
3)EA=A+(IX),有效地址为形式地址与IX内的内容相加
4)常用于数组
(9)相对寻址
① 特点:EA=(PC)+A,有效地址为将PC的内容(当前指令地址)与形式地址相加
(10)堆栈寻址
① 特点:有效地址=基址地址+变址地址+形式地址
四、RISC
- RISC(精简指令系统),CISC(复杂指令系统)
- 典型程序中80%的语句仅仅使用20%的指令,并且当执行频度高的简单指令时,因复杂指令的存在导致执行速度也慢。
- RISC:仅用最常用的20%的简单指令,重新组合不常用的80%的指令功能
- RISC主要特点:
(1)选取使用频度较高的一些简单指令,以及一些很有用又不复杂的指令
(2)指令长度固定,指令格式种类少,寻址方式种类少
(3)只有取数/存数(LOAD/STORE)指令访问寄存器
(4)CPU中有多个通用寄存器
(5)采用流水线技术 ,大部分指令在一个时钟周期内完成
(6)控制器采用组合逻辑控制(速度比微程序快)
(7)采用优化的编译程序
(重点)4. RISC和CISC的比较
(1)充分利用VLSI芯片的面积
(2)提高计算机运算速度,指令数、指令格式、寻址方式少,通用寄存器多,采用组合逻辑,便于实现指令流水
(3)便于设计,可降低成本,提高可靠性
(4)有效支持高级语言程序,有利于编译程序代码优化
(5)不易实现指令系统兼容
第十章 控制单元的设计
- 组合逻辑设计:硬件、快
- 微程序设计:软件
- 微指令的基本格式:
(1)操作控制字段
(2)顺序控制字段:可指出下地址
- 微指令的编码方式:
(1)直接编码方式:速度快
(2)字段直接编码方式:显式编码
(3)字段间接编码方式:隐式编码
(4)混合编码:综合上面三种,灵活性高
(5)其他…
(2)采用字段直接编码:各留一码字表示不激活任何
对应状态数:6,9,4,17,2,8,26,5
对应位数:3,4,2,5,1,3,5,3 相加得26 - 2种微指令格式
(1)水平型微指令:简单
(2)垂直型微指令:复杂 - 毫微程序看作是解释微程序的
- 动态微程序设计和静态微程序设计
- 串行微程序设计和并行微程序设计