计算机组成原理复习重点(详细)
小编自己整理的复习资料,期末93分,希望对大家有用!
内容较多,很多图片未加载,可联系小编获取电子版文档Vx~Chen_hd421
第一章 计算机系统概论
- 硬件:计算机的实体部分,由看得见摸得着的各种电子元器件组成。
- 软件:看不见摸不着,由人们事先编制的具有各类特殊功能的程序组成。又分为系统软件和应用软件。
- 计算机系统的层次结构
- 区分计算机体系结构和计算机组成:
计算机体系结构:程序员所见到的计算机系统的属性、概念性的结构与功能特性。(指令系统、数据类型、寻址技术、I/O机理)
计算机组成:实现计算机体系结构所体现的属性(具体指令的实现)
- 冯诺依曼计算机的特点:
- 计算机是由运算器、存储器、控制器、输入输出设备五大部件组成的。
- 指令和数据以同等地位存放于存储器类,并可按地址寻访。
- 指令和数据均以二进制数表示。
- 指令由操作码和地址码组成。
- 指令在存储器内按顺序存放。
- 以运算器为中心。
- 存储器的基本组成:主存储器、MAR、MDR、存储体。
MAR:存储器地址寄存器反映存储单元的个数
MDR:存储器数据寄存器反映存储字长 - 控制器的基本组成:
完成一条指令的步骤:取指令(PC)、分析指令(IR)、执行指令(CU)
PC:存放当前欲执行指令的地址,具有计数功能(PC)+1→PC
IR:保存当前要执行的指令
CU:控制单元
- 主机完成一条指令的过程
- 机器字长:CPU一次能处理数据的位数,通常与CPU的寄存器的位数有关。
- 存储容量包括主存容量和辅存容量。主存容量:主存中存放二进制代码的总位数=存储单元个数✖存储字长。
- 系统总线
- 总线:连接多个部件的信息传输线,是各部件共享的传输介质。
- 三类总线的相关定义:
片内总线:芯片内部的总线。
系统总线:指CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输线。分为数据总线、地址总线、控制总线。
数据总线:双向 与机器字长、存储字长有关
地址总线:单向 与存储地址、I/O地址有关,由CPU发出
控制总线:有出 有入,存储器读、存储器写、总线允许、中断确认
通信总线:用于计算机系统之间或计算机系统与其它系统之间的通信。
(传输方式:串行通信总线、并行通信总线。)
- 总线工作频率为33MHz,总线宽度为32位,求总线带宽(每秒传输的最大字节数) 33✖(32➗8)=132MBps
- 完成一次总线操作的时间称为总线周期,分为4个阶段:
- 申请分配阶段
- 寻址阶段
- 传数阶段
- 结束阶段
- 总线通信控制:主要解决通信双方如何获知传输开始和传输结束,以及通信双方如何协调如何配合。通信有四种方式:同步通信、异步通信、半同步通信、分离式通信。
- 假设总线时钟频率为100MHz,总线传输周期为4个时钟周期,总线宽度位32位,求总线数据传输率
- 存储器
- 根据地址线计算寻址范围
- 存取周期:连续两次独立的存储器操作(读或写)所需的最小间隔时间。
- 存取时间:存储器的访问时间。
- 静态RAM:用触发器工作原理存储信息,即使信息读出后,仍保持原状态,不需要再生,但电源断电时,原存信息丢失,属易失性半导体存储器。
- 动态RAM:靠电容存储电荷的原理来寄存信息,即使电源不断电,信息也会自动消失。在一定时间内对其所有存储单元恢复一次原状态称为再生或刷新。
- 动态RAM刷新的过程的实质:先将原存信息读出,再由刷新放大器形成原信息并重新写入的再生过程。
- 集中刷新:在规定的一个刷新周期内,对全部存储单元集中一段时间逐行进行刷新,此刻必须停止读/写操作。(每次只能刷新一行)
- 分散刷新:对每行存储单元的刷新分散到每个存取周期内完成。不存在停止读写操作的死时间,但存取周期长了,整个系统速度降低了。
- 异步刷新:结合前两种方式,每隔15.6us刷新一行,而每行刷新时间仍为0.5us,刷新一行只停止了一个存取周期,但对每行来说,刷新间隔时间仍为2ms,死时间缩短为0.5us,如果将刷新安排在CPU对指令的译码阶段,由于这个阶段CPU不访问存储器,所以不会存在死区问题。
- 动态RAM和静态RAM比较
- PROM是可以实现一次性编程的只读存储器。EPROM是一种可擦除可编程只读存储器,可以实现多次性编程。
- 纠错码的基本性质:1)增加冗余码字,编码的抗干扰能力增加;2)编码的纠错能力和检错能力与两个码字之间的最小距离有关
- 提高访存速度的措施:1)寻找高速元件;2)采用层次结构;3)调整主存的结构。
- 调整主存结构的两种方法:
- 单体多字系统
由于程序和数据在存储体内是连续存放的,因此CPU访存取出的信息也是连续的,如果可以在一个存取周期内,从同一个地址取出4条指令,然后再逐条将指令送至CPU执行,这样增大了存储器的带宽,提高了单体存储器的工作速度。
- 多体并行系统
- 低位交叉的特点:在不改变存取周期的前提下,增加存储器的带宽。
- 对于低位交叉存储器,连续读取n个字所需时间为T+(n-1)t,对于高位交叉存储器,连续读取n个字需要时间为nT。
- 程序运行时的局部性:1)时间上,最近被访问的程序和数据很可能被再次访问;2)空间上,这些被访问的程序和数据往往集中在一小片存储区;3)访问顺序上,指令顺序执行比转移执行的可能性大。
- 高速缓冲器:提高CPU对存储器的平均访问速度
时间局部性:最近被访问的信息可能还要被访问。
空间局部性:最近被访问的信息的临近信息也可能被访问。
- 命中:主存块调入缓存,主存块与缓存块建立了联系。
未命中:主存块未调入缓存,主存块与缓存块未建立联系。
- 命中率与缓存的容量和块长有关。
- 缓存的读写操作:
- 写直达法:数据既写入缓存中也写入主存中。能随时保证缓存与主存中数据的一致性,但增加了访存次数。写操作时间就是访问主存的时间。
- 写回法:写操作时只把数据写入缓存中而不写入主存中,但当缓存数据被替换出去时才写回主存。写操作时间就是访问缓存的时间。读操作 Cache 失效发生数据替换时,被替换的块需写回主存,增加了 Cache 的复杂性。
- Cache的改进:1)增加缓存的级数;2)统一缓存和分立缓存。
- 统一缓存和分立缓存的选用主要考虑 1)主存的结构;2)机器对指令执行的控制方式。
当采用超前控制或流水线控制方式时,一般用分立缓存。
- 主存地址映射的方法:(重中之重)
- 直接映射;2)全相联映射;3)组相联映射
- 替换算法:1)先进先出算法;2)近期最少使用算法;3)随机法。
- 光盘存储原理:
只读型和只写一次型:热作用。
可擦写光盘:热磁效应。
第五章 输入输出系统
1. I/O设备与主机的三种联络方式:立即响应、异步工作采用应答信号联络、同步工作采用同步时标联络。
2. I/O设备与主机的连接方式:辐射式、总线式。
3.三种I/O设备与主机信息传送的控制方式:程序查询方式、程序中断方式、DMA方式。
3.1程序查询流程:
特点:只要一启动I/O设备,CPU就不断查询I/O设备的准备情况,从而终止了原程序的执行;另一方面,I/O设备准备就绪后,CPU要一个字一个字地从I/O设备取出,经CPU送至主存,此刻CPU也不能执行原程序。
3.2 程序中断流程:
特点:CPU在一条指令执行快要结束的时候查看是否有中断请求。没有踏步等待中断请求。
3.3 DMA流程:
I/O设备直接与主存交换信息而不占用CPU。在DMA中,主存与I/O设备之间有一条数据通路,主存与I/O设备交换信息时,无需调用中断服务程序。若出现DMA和CPU同时访问主存的情况,CPU总是将总线占有权让给DMA,把DMA的这种占有称为窃取或挪用。窃取的时间一般为一个存取周期(窃取周期或挪用周期),在DMA窃取周期时,CPU还能继续做内部操作。
以上三种控制方式的比较:
- 设置接口的目的:(了解)
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串-并格式的转换
- 实现电平转换
- 传送控制命令
- 反映设备状态
- I/O总线包括数据线、设备选择线、命令线和状态线。
- 接口功能和组成:
- 选址功能 组成:设备选择电路
- 传送命令功能 组成:命令寄存器和命令译码器
- 传送数据功能 组成:数据缓冲寄存器
- 反映I/O设备的工作状态的功能 组成:设备状态标记
- 程序查询
- 主机与I/O设备之间设置接口的目的:
- 实现I/O设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串并格式转换
- 实现电平转换
- 传送控制命令
- 监视设备状态
- I/O总线包括:数据线、设备选择线、命令线和状态线。
数据线:I/O设备与主机之间数据代码的传送线,其根数一般等于存储字长的位数或字符的位数。
设备选择线:传送设备码,其根数取决于I/O指令中设备码的位数。
命令线:传输CPU向设备发出的各种命令信号,其根数与命令信号的多少有关。
状态线:将I/O设备状态向主机报告的信号线。
- 接口的功能和组成。
- 选址功能 组成:设备选择电路
- 传送命令的功能 组成:命令寄存器和命令译码器
- 传送数据的功能 组成:数据缓冲器
- 反映I/O设备工作状态的功能 组成:设备状态标记
- 中断:计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后返回对现程序的间断处,继续执行原程序。
- 处理I/O中断,在I/O接口中必须配置:
- 中断请求触发器和中断屏蔽触发器
- 排队器
- 中断向量地址形成部件
- 中断服务程序的入口地址的寻找可用硬件或软件的方法来完成,硬件向量法:由硬件产生向量地址再由向量地址找到入口地址。
- CPU响应I/O设备中断的条件和时间:
条件:(1)CPU允许中断触发器EINT置1.
- 用开中断指令将EINT置1
- 用关中断将EINT置0,或硬件自动复位。
时间:D=1且Mask=0(B=0);CPU在每条指令执行阶段结束前向接口发出中断查询信号,CPU响应中断的时间在每条指令执行阶段结束时刻。
- 中断服务程序的流程:保护现场、中断服务、恢复现场、中断返回。
保护现场:两个含义,其一保存程序的断点(中断隐指令完成),其二保存通用寄存器和状态寄存器的内容(中断服务程序进栈指令完成)。
终端服务:对不同I/Oshe'bei具有不同内容的设备服务。
恢复现场:取数指令或出栈指令。
中断返回:中断返回指令,使其返回到原程序的断点处以便继续执行原程序。
- 单重中断:CPU在执行中断服务程序时,对新的中断请求不予理睬。
- 多重中断:CPU暂停现行的中断服务程序,转去处理新的中断请求。
- 单重中断和多重中断的区别:
对于单重中断,开中断指令设置在“中断返回”之前,意味着在整个中断处理过程中,不能在响应其他中断源的请求;
对于多重中断,开中断指令提前至“保护现场”之后,意味着在保护现场后,若有级别更高的中断源提出请求,CPU也可以响应。
- 程序中断方式在宏观上CPU和I/O并行工作,微观上CPU中断现行程序为I/O服务。
- DMA方式
特点:由于主存与DMA接口之间有一条数据通路,因此主存和设备交换信息时,不通过CPU,也不需要CPU暂停现行程序为设备服务,省去了保护现场和恢复现场,因此工作速度比程序中断方式的工作速度提高,适合高速I/O或辅存与主存之间的信息交换。
- DMA与主存交换数据时采用的三种方法:
(DMA接口与CPU共享主存,可能出现两者争用主存的冲突)
- 停止CPU访问主存
当外设要求传送一批数据时,由DMA接口向CPU发一个停止信号,要求CPU放弃地址线、数据线和有关控制线的使用权。适合数据传输率很高的I/O设备实现成组数据的传送。
- 周期挪用
I/O设备每挪用一个主存周期都要申请总线控制权、建立总线控制权和归还总线控制权。适合I/O设备的读写周期大于主存周期的情况。
- DMA和CPU交替访问
适合于CPU工作周期比主存周期长的情况,这种方式不需要总线使用权的申请、建立和归还过程。
- DMA接口的功能
- 向CPU申请DMA传送。
- 处理总线控制权的转让。
- 控制数据传送。
- 确定数据传送的起始地址和数据长度,修正数据传送过程中的数据地址和数据长度。
- 给出DMA操作完成的信号。
- DMA数据传送过程分为:预处理、数据传送和后处理3个阶段。
预处理:
通知 DMA 控制逻辑传送方向(入/出)
设备地址 ☞ DMA 的 DAR
主存地址 ☞ DMA 的 AR
传送字数 ☞ DMA 的 WC
数据传送:
后处理:
校验送入主存的数是否正确
是否继续用 DMA
测试传送过程是否正确,错则转诊断程序
由中断服务程序完成
- DMA方式与程序中断服务程序的比较
第六章 计算机的运算方法
- 掌握如何进行原码、补码、反码运算。
只有【+0】补=【-0】补
原码:
补码:
特点:(1) 一个负数加上 “模” 即得该负数的补数;(2)一个正数和一个负数互为补数时,它们绝对值之和即为模数。(3)正数的补数即为本身。负数的补码等于其原码除符号位按位取反再+1。
反码表示:
移码:
移码的特点:移码和补码就差一个符号位。其余位数相同。
- 浮点数的表现形式:
- 规格化:
- 左规和右规
- IEE754标准表示浮点数
- 指令系统
- 指令是由操作码和地址码两部分组成的。
- 操作码用来指明该指令所要完成的操作,如加法等,其位数反映了机器的操作种类,即机器允许操作的指令条数。
- 操作码的长度可以是固定的,也可以是变化的。
- 扩展操作码技术习题:
- 地址码:用来指出该指令的源操作数的地址、结果的地址以及下一条指令的地址。
(直接寻址范围分别为26、28、212、224)
- 指令字长取决于操作码的长度、操作数地址的长度和操作数地址的个数。指令字长是可变的,也可以是固定的;指令字长固定,指令字长=存储字长。指令字长可变,按字节变化。
- 当用一些硬件资源代替指令字中的地址码字段后,可扩大指令操作数的寻址范围,可缩短指令字长,可减少访存次数。
- 当指令的地址字段为寄存器时,可缩短指令字长,指令执行阶段不访存。
- 常见的操作数类型有地址(无符号数)、数字(定点数、浮点数)、字符(ASCII码)、逻辑数据(逻辑运算)。
- 数据在存储器中的存放方式:
在对准边界为32位字长的计算机中,半字地址为2的整数倍,字地址为4的整数倍,双子地址为8的整数倍,当所存的数据不能满足此要求时,可填充一个或多个空白字节。在数据不对准边界的计算机中,数据可能在两个存储单元,此时需要访问两次存储器,并对高低字节的位置进行调整后才能取得一个字。(了解)
- 通用的操作类型有:数据传送、算数逻辑运算、移位、转移、输入输出和其他。
- 转移分为无条件转移、条件转移、程序的调用与返回、陷阱与陷进指令。
- 陷阱其实是一种意外事故的中断, 一般不提供给用户直接使用,在出现事故时,由 CPU 自动产生并执行(隐指令)。
- 寻址方式:确定本条指令的数据地址以及下一条将要执行的指令地址的方法。
- 寻址方式可分为指令寻址和数据寻址。
- 指令寻址可分为顺序寻址和跳跃寻址。
顺序寻址:通过程序计数器PC+1,自动形成下一条指令的地址
跳跃寻址:通过转移类指令实现。
- 数据寻址可分为立即寻址、直接寻址、隐含寻址、间接寻址、寄存器寻址、寄存器间接寻址、基址寻址、变址寻址、相对寻址、堆栈寻址。(该部分了解各种寻址方式的原理即可)
有效地址由寻址方式和形式地址共同确定。
(课本P317页例7.2)
- 设计指令格式应考虑:
(课本P322例7.4、7.5、7.6)
- RISC和CISC比较
- CPU的结构与功能
- 对于冯诺依曼计算机而言,一旦程序进入存储器后,就可由计算机自动完成取指令和执行指令的任务,该任务是由控制器完成的。
- 控制器负责协调并控制计算机各部件执行程序的指令序列,其基本功能是取指令、分析指令和执行指令。
- 控制器的其他功能:控制程序输入及结果的输出、总线管理、处理异常情况和特殊请求。
- CPU必须具有的功能:指令控制(PC/IR)、操作控制(CU时序电路)、时间控制(CU时序电路)、数据加工(ALU寄存器)和处理中断(中断系统)。
- CPU的寄存器分为用户可见寄存器、控制和状态寄存器两种。
用户可见寄存器:用户可以对该类寄存器编程。
控制和状态寄存器:用户不可对该类寄存器编程。
- 用户可见寄存器:
通用寄存器:存放操作数;可作某种寻址方式所需的专用寄存器。
数据寄存器:存放操作数(满足各种数据类型);两个寄存器拼接存放双倍字长数据。
地址寄存器:存放地址,其位数应满足最大的地址范围;用于特殊的寻址方式,如段基值、栈指针。
条件码寄存器:存放条件码,可作程序分支的依据,如正、负、零、溢出、进位等。
- 控制和状态寄存器:
控制寄存器:
MAR:存储器地址寄存器,用于存放将被访问的存储单元的地址。
MDR:存储器数据寄存器,存放欲存入存储器的数据或从存储器读出的数据。
PC:程序计数器,存放现行指令的地址,通常具有计数功能。
IR:指令寄存器,存放当前欲执行的指令。
其中PC对用户可见,通过这四个寄存器,CPU可和主存交换信息。
例如取指令:将现行地址从PC送至MAR,启动存储器作读操作,存储器可将指定地址单元内的指令读至MDR,再由MDR送至IR。
状态寄存器:
(反映指令执行结果的情况或者计算机软件硬件的状态)
状态寄存器:存放条件码。
PSW寄存器:存放程序状态字。
- 控制单元CU:提供完成计算机全部指令操作的微操作命令序列部件。
- 指令周期:取出并执行一条指令所需的全部时间。
- 由于各种指令操作功能不同,因此各种指令的指令周期是不同的。
(间址周期用于取操作数的有效地址)
- 上述四个周期都有CPU访存操作,只是访存的目的不同。取值周期是为了取指令,间址周期是为了取有效地址,执行周期是为了取操作数(当指令为访存指令时),中断周期是为了保存程序断点。
- CPU进入中断周期,需将PC当前的内容保存起来,以待执行完中断程序后可以准确返回该程序的间断处。
- 提高机器速度的方法:
- 提高访存速度
- 提高 I/O 和主机之间的传送速度
- 提高运算器速度
- 提高机器速度通常可从提高器件的性能和改进系统的结构,开发系统并行性两方面入手。
并行包括同时性和并发性。
- 指令流水原理
- 影响指令流水加倍的因素:
- 指令的执行时间>取值时间
- 当遇到条件转移指令时,下一条指令是不可知的。
分支预测法:当条件转移指令从取值阶段进入执行阶段时,指令部件仍按顺序预取下一条指令。
- 影响流水线性能的因素:
- 结构相关:当指令在重叠执行过程中,不同指令争用同一功能部件产生资源冲突时产生的。
访存冲突:在某个时钟周期内,流水线既要完成某条指令对操作数的存储器的访问操作,又要完成另一条指令的取指操作。(取某条指令和取另一条指令的操作数时间上重叠)
解决办法:停顿;指令存储器和数据存储器分开;指令预取技术(访存周期很短)。
- 数据相关:流水线中的各条指令因重叠操作,可能改变对操作数的读写访问顺序,从而导致数据相关冲突。
解决办法:后推法(课本P351)
- 控制相关:主要由转移指令引起。
解决办法:尽早判别转移是否发生等
- 流水线性能:
- 流水线的多发技术:(了解)
- 指令流水线结构:
取指-指令译码-形成地址-取操作数-执行指令-回写结果-修改指令指针。
- 中断请求标记:判断哪个中断源提出请求,记作INTR。INTR=1时,表示有中断请求。
- 中断请求标记寄存器:由多个中断请求触发器组成,这些触发器可以集中在CPU的中断系统内,也可分散在各个接口电路内。
- 中断判优逻辑:任何一个中断系统,在任一时刻只能响应一个中断源的请求。
- 中断判优可由硬件实现,也可用软件实现。
硬件排队:也可分为链式排队器(对应中断请求触发器分散在各个接口电路)和 在CPU内的排队器。
软件排队:通过编写程序查询实现。
- 中断服务程序入口地址的寻址:硬件向量法和软件查询法。
硬件向量法:利用硬件产生向量地址,再由向量地址找到中断服务程序的入口地址。
- 中断响应的条件:允许中断触发器EINT = 1
- 响应中断的时间:CPU在指令执行周期结束后,响应中断源的请求。
- 中断隐指令:在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成的一条指令。
- CPU响应中断后,进入中断周期,具体操作为:
- 保护程序断点
- 寻找中断服务程序的入口地址
- 关中断
- 保护现场:保护程序断点(中断隐指令完成)和保护CPU内部各寄存器内容(中断服务程序完成)的现场。
- 恢复现场:在中断返回前,必须将寄存器的内容恢复到中断处理前的状态。(中断服务程序完成)
- 当中断源被屏蔽时(MASK=1),此时即使D=1,中断查询信号到来的时刻只能将INTR置0,CPU接收不到该中断源的请求。
- 多重中断的断点保护:堆栈、保存在特定的存储单元内。
以上内容,皆为小编呕心沥血整理而成,转载请注明出处!