计算机组成原理期末复习
郑州轻工业大学-计算机组成原理(第六版-白中英)-期末复习大纲
概念或开放性描述以课本为主。
2024-2025学期计组考试大纲,同学们可作为参考!图片显示速度可能有些慢,请耐心等待些😊
建议同学们使用电脑复习,复习完及时通过习题巩固,祝愿同学们考试顺利,蒸蒸日上!
题型分布
简答题:20%
计算题:40%
分析设计题:20%
论述题:20%
文章目录
- 第一章 计算机系统概论
- 第二章 运算方法和运算器
- 第三章 存储系统
- 第四章 指令系统
- 第五章 中央处理器
- 第六章 总线系统
- 第七章 外围设备
- 第八章 输入输出系统
第一章 计算机系统概论
-
计算机的发展简史
- 阶段:
- 第一代(电子管时代,1946-1957):
特点:使用电子管,体积大,功耗高,速度慢,可靠性差。
代表:ENIAC。 - 第二代(晶体管时代,1958-1964):
特点:使用晶体管,体积小,速度提高,功耗和成本降低。 - 第三代(集成电路时代,1965-1970):
特点:使用小规模集成电路(SSI)和中规模集成电路(MSI),速度更快,可靠性进一步提高。 - 第四代(大规模集成电路时代,1971至今):
特点:大规模和超大规模集成电路(LSI、VLSI)广泛应用,计算能力迅速提高。
- 第一代(电子管时代,1946-1957):
- 阶段:
-
计算机硬件组成,各部分功能
- 运算器:完成算术运算、逻辑运算等数据处理功能。
- 控制器:协调各硬件设备,控制程序的执行顺序。
- 存储器:用于存储数据和程序,分为主存(RAM)和辅存(磁盘)。
- 输入设备:键盘、鼠标等,用于向计算机输入数据。
- 输出设备:显示器、打印机等,用于输出处理结果。
-
计算机性能指标(1.2.4 例1.1 例1.2)
-
冯·诺依曼结构
-
思想:程序和数据以二进制形式存储在统一的存储器中,按顺序执行指令。
-
特点:
1.计算机由五大部件组成
2.指令和数据以同等地位存于存储器,可按地址访问
3.指令和数据用二进制表示
4.指令由操作码和地址码组成
5.存储程序
6.以运算器为中心
-
组成:运算器、控制器、存储器、输入设备、输出设备。
-
-
多级组成的计算机系统(P14)
- 微程序设计级:
- 微程序设计级是CPU内部执行的基本操作级别。在这个级别,机器语言指令会被分解成一系列微指令,如微指令1、微指令3、微指令7等。
- 一般机器级:
- 一般机器级是机器语言级别,即二进制代码。例如,
LOAD
指令会被转换成0000010000000101
,MUL
指令会被转换成000100000000110
。
- 一般机器级是机器语言级别,即二进制代码。例如,
- 操作系统级:
- 操作系统级是操作系统可以理解的指令级别。在这个级别,代码会被操作系统调度和管理。
- 汇编语言级:
- 汇编语言级是低级语言级别,但仍然具有一定的可读性。例如,高级语言中的表达式
y = a * b + c
会被转换成汇编语言指令,如LOAD
、MUL
等。
- 汇编语言级是低级语言级别,但仍然具有一定的可读性。例如,高级语言中的表达式
- 高级语言级:
- 高级语言级是程序员使用的编程语言级别,如C、Java等。在这个级别,程序员编写的是易于理解和编写的代码。
- 微程序设计级:
第二章 运算方法和运算器
-
数的机器码表示(2.1.2 例2.1~2.4)
-
原码:
- 最高位表示符号位(0为正,1为负),其他位表示数值。
- 例如:+5的原码为
00000101
,-5的原码为10000101
。
- 例如:+5的原码为
- 最高位表示符号位(0为正,1为负),其他位表示数值。
-
反码:
- 正数与原码相同,负数符号位不变,数值位按位取反。
- 例如:+5的反码为
00000101
,-5的反码为11111010
。
- 例如:+5的反码为
- 正数与原码相同,负数符号位不变,数值位按位取反。
-
补码:
- 正数与原码相同,负数为反码加1。
- 例如:+5的补码为
00000101
,-5的补码为11111011
。
- 例如:+5的补码为
- 正数与原码相同,负数为反码加1。
- 浮点数IEEE 754标准(例2.5 2.6)
-
32位格式:(−1)S×1.M×2E-127
- S:符号位(1位),0表示正,1表示负。
- M:尾数(23位)。
- E:阶码(8位),存储为偏置值。
小数点后的位数从左到右依次是 2−1,2−2,2−3,…。
-
64位格式:(−1)S×1.M×2E-1023
- S:符号位(1位),0表示正,1表示负。
- M:尾数(52位)。
- E:阶码(11位),存储为偏置值。
-
十进制转二进制
- 整数部分:除基取余法。得到的余数从下往上排列是最终的值。
- 小数部分:乘基取整法。得到的整数从上往下排列是最终的值。
-
例题
- 定点加减运算(例2.16 2.17)
- 补码加法
补码加法的基本公式为:[X+Y]补=[X]补+[Y]补
即两个数的补码直接相加,结果也是补码表示。符号位与数值位一起参与运算,只要结果不超出机器能表示的范围(即没有溢出),则结果正确。
- 补码减法
补码减法的基本公式为:[X−Y]补=[X]补+[−Y]补
其中,[−Y]补 是通过将 Y 的补码取反后加1得到的。
- 进位处理
在补码运算中,最高位的进位通常会被丢弃。这是因为补码运算的结果是模 2n的运算,其中 n 是计算机字长。例如,在8位系统中,最高位的进位会被自然丢弃,不会影响最终结果
- 溢出判断
溢出是指运算结果超出了计算机所能表示的范围。在补码加减法中,可以通过以下方法判断溢出:
- 单符号位判断:对于整数运算,如果两个正数相加结果为负数,或者两个负数相加结果为正数,则发生溢出。
- 双符号位判断:对于定点数运算,可以使用双符号位来检测溢出。如果运算结果的两个符号位不同,则表示发生了溢出;如果结果的符号位为01,则表示正溢出;如果为10,则表示负溢出。
-
与运算(相当与&&)、或运算(相当于||)、异或运算(同‘0’,异‘1’)
-
定点乘法运算(例2.21):
-
首先,分别提取被乘数和乘数的符号位和绝对值部分。
-
然后,对两个操作数的绝对值(原码或补码)进行无符号数相乘。
-
最后,根据符号位的异或结果确定乘积的符号。
-
-
定点除法运算:
-
浮点数运算法(例2.28):
浮点运算加减法:
例2.28
练习:
解答:
详细解答:
第三章 存储系统
-
存储器的层次结构
- 层次:寄存器 > 缓存 > 主存 > 辅存。
- 越靠近CPU速度越快,但成本和容量成反比。
-
存储容量的扩充(课后习题6 7)
-
存储器扩展
-
半导体只读存储器分类
半导体只读存储器(ROM)是一种非易失性存储设备,主要用于存储固定不变的数据和程序。ROM的读取速度通常比RAM慢,但比硬盘等机械存储设备快。根据存储介质和数据访问方式的不同,ROM可以分为以下几种类型:
-
Mask ROM(掩模ROM):数据和程序是在制造ROM时被写入的,一旦写入就无法更改。由于制造ROM需要制作掩膜,因此成本较高,但读取速度快,存储内容也不易被篡改。
-
PROM(可编程ROM):用户可以使用专门的编程设备将数据和程序写入ROM中,写入后就无法更改。PROM成本较低,但只能写入一次,不能擦除和重写。
-
EPROM(可擦除可编程ROM):用户可以使用紫外线擦除设备将EPROM中的数据和程序擦除,然后再重新编程。EPROM擦除和编程的过程都比较繁琐,但可以重复使用。
-
EEPROM(电可擦除可编程ROM):使用电信号擦除和编程EPROM中的数据和程序。EEPROM可以在系统中直接进行读写操作,也可以通过编程设备进行擦除和编程,使用方便。
-
Flash Memory(闪存):类似于EEPROM,但擦除和编程的速度更快,存储密度更高,成本更低,因此被广泛应用于移动设备、存储卡和固态硬盘等场合。
-
-
SRAM和DRAM的比较(RAM随机访问存储器)
-
静态随机存储器(SRAM,Static Random Access Memory):
- SRAM使用触发器作为存储单元,具有快速访问速度和较低的功耗。
- 常用于高速缓存、寄存器文件和缓冲存储器等需要较快访问速度的应用场景。
-
动态随机存储器(DRAM,Dynamic Random Access Memory):
- DRAM由电容器和晶体管构成,每个存储单元只需要一个电容器和一个晶体管来存储一个位。
- DRAM的存储单元较小,但在每次读取数据后需要刷新电容器,因此访问速度相对较慢。
- 广泛应用于主存储器(内存)和图形存储缓冲区等。
存储单元:SRAM使用触发器,DRAM使用电容。
破坏性读出:SRAM读出数据时不会破坏数据,DRAM则会。
刷新需求:SRAM不需要刷新,DRAM需要定期刷新以保持数据。
地址发送方式:SRAM可以同时发送行列地址,DRAM通常分两次发送。
速度:SRAM的访问速度比DRAM快。
集成度:SRAM的集成度低,DRAM的集成度高。
发热量:SRAM的发热量较大,DRAM较小。
存储成本:SRAM的成本高,DRAM的成本相对较低。
用途:SRAM常用于高速缓存,DRAM常用于主存储器。
总结来说,SRAM提供更快的访问速度和非破坏性读出,但成本较高,集成度较低,适用于需要快速访问数据的场合,如CPU缓存。DRAM则提供较高的集成度和较低的成本,适用于需要大量存储空间的场合,如计算机的主内存。然而,DRAM的访问速度较慢,且需要定期刷新以保持数据。
-
-
多模块交叉存储器(例3.3)
带宽=信息总量/所需时间
信息总量=模块数*字长
-
Cache的基本原理(例3.4)
例3.4
采用Cache后,存储器性能(即带宽)提高多少?25/6
缓存的发明在计算机科学和工程领域具有深远的意义,它通过利用程序访问数据的局部性原理,显著提升了计算机系统的性能。缓存的引入使得处理器能够快速访问常用数据,减少了等待内存数据的时间,从而提高了计算效率。
-
主存与cache的地址映射(例3.5 3.6 3.7)
- 直接映射规则
主存容量就是寻址单元数
- 全相联映射规则
- 组联映射规则
-
映射方式定义、特点
直接映射(Direct Mapping)
定义:每个内存块只能被映射到缓存中的一个特定行。
特点:- 实现简单,硬件成本较低。
- 访问速度快,因为映射关系固定。
- 容易产生缓存冲突,降低缓存效率。
全相联映射(Fully Associative Mapping)
定义:内存块可以被映射到缓存中的任何一行。
特点:- 灵活性高,没有缓存冲突。
- 硬件成本高,实现复杂。
- 访问速度可能较慢,因为需要搜索整个缓存。
- 缓存命中率高,但代价较大。
组相联映射(Set Associative Mapping)
定义:缓存分为多个组,每组有多个缓存行,内存块可以映射到同一组内的任意一行。
特点:- 减少了直接映射中的冲突,同时保持了较低的硬件成本。
- 访问速度适中,因为只需要在组内搜索。
- 缓存命中率较高,平衡了性能和成本。
- 实现复杂性介于直接映射和全相联映射之间。
-
cache的替换策略
第四章 指令系统
-
指令格式及功能(例4.1)
-
指令格式:由操作码和操作数字段组成。
- 操作码:指示要执行的操作类型(如加法、存储)。
- 操作数字段:指定操作数的地址或值。
-
功能:要指明要进行的操作,以及操作的对象,并且要给出下一条指令的地址
指令字长度
扩展操作码技术
- 机器字长:指的是CPU一次能处理的二进制数据的位数。这通常决定了CPU的数据处理能力和性能。
- 指令字长:指的是一个指令字中包含二进制代码的位数。指令字长可以影响指令的复杂性和CPU的执行效率。
- 存储字长:指的是一个存储单元存储二进制代码的长度。这通常与CPU的字长相匹配,但也可以不同。
- 单字长指令:指的是指令长度等于机器字长。这意味着一个指令可以一次性被CPU处理。
- 半字长指令:指的是指令长度是机器字长的一半。这种指令通常更简单,但可能需要更多的指令来完成复杂的任务。
- 双字长指令:指的是指令长度是机器字长的两倍。这种指令可以包含更多的操作和数据,但可能会增加指令的复杂性。
-
-
指令格式举例(例 4.2 4.3)
- RR型指令:这种指令的两个操作数都来自寄存器,结果通常存储在其中一个寄存器中。在指令格式中,你会看到两个寄存器字段,分别用于源寄存器和目标寄存器。
- RS型指令:这种指令的一个操作数来自寄存器,另一个操作数来自内存(通过寄存器间接寻址)。在指令格式中,你会看到一个寄存器字段用于源操作数,另一个字段用于内存地址的计算(可能是基址寄存器加上偏移量)。
-
指令和数据的寻址方式
-
指令的寻址方式:下一条要执行指令的地址。
- 顺序寻址方式:
- 顺序寻址是程序执行的默认方式,其中指令按照它们在内存中的顺序被依次执行。
- 执行过程是:从存储器中取出第一条指令,执行这条指令;然后取出第二条指令,执行第二条指令;如此继续,按照顺序执行下去。
- 这种顺序执行的过程称为指令的顺序寻址方式。
- 顺序寻址需要使用程序计数器(PC),它是一个寄存器,用于存储下一条要执行的指令的地址。每执行完一条指令,PC会自动递增,指向下一条指令的地址。
- 跳跃寻址方式:
- 跳跃寻址用于改变程序的执行顺序,即在某些条件下,程序会跳转到内存中的另一个位置执行指令,而不是按照原有的顺序。
- 在跳跃寻址中,下一条指令的地址不是由程序计数器给出,而是由当前执行的指令指定的。这通常通过跳转指令实现,如无条件跳转(JUMP)或条件跳转(如BEQ、BNE等)。
- 跳跃寻址允许程序实现更复杂的控制流,如循环、条件分支和子程序调用。
- 顺序寻址方式:
-
操作数的寻址方式:确定本条指令的操作数地址。
操作数的真实地址称为有效地址(EA)。-
立即寻址:形式地址A就是操作数本身,又称为立即数,一般采用补码形式。
-
直接寻址:指令中的形式地址A就是操作数的真实地址EA,即EA=A。
-
- 间接寻址:指令中的形式地址A不是操作数的真实地址,而是操作数有效地址所在的存储单元的质地,也就是操作数地址的地址,即EA=(A)。
- 寄存器寻址:在指令字中直接给出操作数所在的寄存器编号,即EA=Ri,其操作数在Ri所指的寄存器内。
- 寄存器间接寻址:寄存器Ri中给出的不是一个操作数,而是操作数所在主存单元的地址,即EA=(Ri)。
-
隐含寻址:不是明显地给出操作数的地址,而是在指令中隐含着操作数的地址。
-
基址寻址:
-
变址寻址:
-
相对寻址:
-
练习
答案:
-
-
两种指令系统
RISC:
设计思路:一条指令完成一个基本“动作”;多条指令组合完成一个复杂的基本功能
代表:ARM架构,主要用于手机、平板等
CISC:
设计思路:一条指令完成一个复杂的基本功能
代表:x86架构,主要用于个人电脑
区别:
- 指令系统:
- CISC:复杂、庞大
- RISC:简单、精简
- 指令数目:
- CISC:一般大于200条
- RISC:一般小于100条
- 指令字长:
- CISC:不固定
- RISC:定长
- 可访存指令:
- CISC:不加限制
- RISC:只有Load/Store
- 各种指令执行时间:
- CISC:相差较大
- RISC:绝大多数在一个周期内完成
- 各种指令使用频度:
- CISC:相差很大
- RISC:都比较常用
- 通用寄存器数量:
- CISC:较少
- RISC:多
- 目标代码:
- CISC:难以优化编译
- RISC:易于优化编译
- 控制方式:
- CISC:绝大多数为微程序控制
- RISC:绝大多数为组合逻辑控制
- 指令流水线:
- CISC:可以通过一定方式实现
- RISC:必须实现
- 指令系统:
第五章 中央处理器
-
CPU的功能和组成
-
功能:
1.指令控制:完成取指令、分析指令和执行指令的操作,即程序的顺序控制。
2.操作控制:一条指令的功能往往是由若干操作信号的组合来实现。CPU管理并产生由内存取出的每条指令的操作信号,把各种操作信号送往相应的部件,从而控制这些部件按指令的要求进行动作。
3.时间控制:对各种操作加以时间上的控制。时间控制要为每条指令按时间顺序提供应有的控制信号。
4.数据加工:对数据进行算术和逻辑运算。
5.中断处理:对计算机运行过程中出现的异常情况和特殊请求进行处理。
-
组成:
- 运算器和控制器是组成 CPU 的两大核心部件。
- 控制器的主要功能包括:
- 从指令cache中取出一条指令,并确定下一条指令的位置。
- 对指令进行译码或测试,产生相应的操作控制信号,以启动如数据cache的读写、算术逻辑运算或输入/输出操作等动作。
- 指挥并控制CPU、数据cache和输入/输出设备之间的数据流动方向。
- 运算器的主要功能包括:
- 执行所有的算术运算。
- 执行所有的逻辑运算,并进行逻辑测试,如零值测试或两个值的比较。算术操作通常产生一个数值结果,而逻辑操作则产生一个判断结果。
-
-
CPU的主要寄存器
数据缓冲寄存器(DR),指令寄存器(IR),程序计数器(PC),数据地址寄存器(AR),通用寄存器(R0~R3),程序状态字寄存器(PSWR)。
-
数据缓冲寄存器(DR):
- 功能:暂时存放ALU的运算结果、从数据存储器读出的数据或来自外部接口的数据。
- 作用:作为ALU运算结果和通用寄存器之间信息传送的时间缓冲,以及补偿CPU与内存、外围设备之间操作速度的差异。
-
指令寄存器(IR):
- 功能:保存当前正在执行的指令。
- 过程:指令从指令存储器读出后传送至IR,由指令译码器对操作码进行测试,识别所需的操作。
-
程序计数器(PC):
- 功能:确定下一条指令的地址,保证程序的连续执行。
- 过程:在程序开始执行前,将起始地址送入PC。执行指令时,CPU自动修改PC内容,通常为PC加1。遇到转移指令时,后继指令地址从IR的地址字段取得。
-
数据地址寄存器(AR):
- 功能:保存当前CPU所访问的数据存储器单元的地址。
- 过程:在地址译码过程中保持地址信息,直到读/写操作完成。
-
通用寄存器:
- 功能:为ALU提供工作区,存放源操作数和结果操作数。
- 结构:现代CPU中通用寄存器数量可达64个或更多,需要在指令格式中对寄存器号进行编址。通用寄存器堆结构用于选择输入信息源,也用作地址指示器、变址寄存器、堆栈指示器等。
-
程序状态字寄存器(PSWR):
- 功能:保存算术和逻辑运算指令的运算或测试结果建立的条件代码,以及运算结果的进位标志。
- 结构:反映程序执行状态,用于条件跳转等操作。
-
-
CISC和RISC的优缺点和特点
-
CISC(复杂指令集计算机)
优点:
- 程序代码短小。
- 适合存储容量有限的系统。
缺点:
- 硬件复杂,成本高。
- 指令执行时间不一致,影响性能。
- 编译器优化难度大。
RISC(精简指令集计算机)
优点:
- 硬件简单,成本低。
- 指令执行速度快,性能高。
- 编译器优化容易。
缺点:
- 程序代码可能较长。
- 存储容量小的系统可能不太适合。
-
-
指令周期框图(例5.1)
-
指令周期的四个阶段:取指、译码、执行、存储。
-
例题5.1
计算机指令执行流程通常分为取指和执行两个阶段:
取指阶段:
PC到AR:程序计数器(PC)的内容被传输到地址寄存器(AR),用于指向内存中指令的地址。
M到DR:根据AR中的地址,从内存(M)中读取指令到数据寄存器(DR)。
DR到IR:数据寄存器(DR)中的指令被传输到指令寄存器(IR),进行指令的解析。
执行阶段:R2到Y:寄存器R2的内容被传输到寄存器Y。
R0到X:寄存器R0的内容被传输到寄存器X。
Y+X到R0:寄存器Y和X的内容进行加法运算,结果写入寄存器R0。
取指阶段:执行阶段:
-
-
流水线时空图
-
微程序和硬布线控制的区别
- 原理:
- 硬布线控制使用硬件电路实现控制逻辑,而微程序控制使用微程序实现控制逻辑。
- 灵活性:
- 微程序控制器在适应新的控制任务时更加灵活,而硬布线控制器则需要重新设计电路。
- 成本:
- 硬布线控制器通常比微程序控制器更便宜,因为它们不需要额外的存储器和处理器。
- 性能:
- 微程序控制器在处理复杂的控制任务时通常会具有更好的性能,而硬布线控制器执行速度快、效率高。
- 原理:
-
流水线技术和流水处理器(例5.4)
IF 访问的是指令存储器(从内存中取指令)。ID 访问的是寄存器文件(解码并读取寄存器数据)。EX 主要访问的是算术逻辑单元(进行运算或计算地址)。MEM 访问的是数据存储器(读取/写入内存数据)。WB 访问的是寄存器文件(写回结果)。
-
流水线:将指令的执行分解为多个阶段,各阶段同时进行。
-
优点:提高指令执行效率。
-
缺点:存在数据冒险、控制冒险等问题。
-
流水线冲突:
-
资源相关
-
解决办法:后边指令拖一拍再推进;或增设一个存储部件,指令数据分存。
-
数据相关
-
解决办法:可以推后后继指令对相关单元的读操作
解决办法:设置相关的直接通路(Forwarding)
-
控制相关
-
解决办法:延迟转移法,让跳转的指令接在最后流水入口
解决办法:转移预测法,用硬件预测将来的行为,提前让转移指令进流水。
-
第六章 总线系统
-
总线的基本概念、特性
总线是指一组能为多个部件分时共享的公共信息传送线路。
计算机系统中的总线按照功能可以分为3类:片内总线,系统总线和通信总线。其中片内总线用来连接芯片内部的各个部件,系统总线用来连接计算机系统内各功能部件,通信总线用来连接计算机系统之间或计算机系统与其他系统。
1.机械特性:尺寸、形状、管脚数、排列顺序
2.电气特性:传输方向和有效的电平范围
3.功能特性:每根传输线的功能(地址、数据、控制)
4.时间特性:信号的时序关系
-
集中式仲裁方式、特点、区别
集中仲裁方式:链式查询、计数器查询、独立请求。
链式查询
- 优点:
- 结构简单:设计和实现相对容易。
- 扩充容易:增加新的设备或功能时较为方便。
- 缺点:
- 对电路故障敏感:如果链中的某个环节出现故障,可能会影响整个系统。
- 优先级不灵活:可能难以根据需要调整不同请求的优先级。
计数器定时查询
- 优点:
- 优先级较灵活:可以根据需要调整不同请求的优先级。
- 缺点:
- 控制线较多:需要更多的控制线来实现这种查询方式。
- 控制相对复杂:实现和维护可能比链式查询更复杂。
独立请求
- 优点:
- 响应速度快:可以快速响应请求。
- 优先级灵活:可以灵活地调整不同请求的优先级。
- 缺点:
- 控制线多:需要较多的控制线。
- 控制复杂:实现和维护这种系统可能比较复杂。
- 优点:
-
总线的定时协议特点、区别
1)同步总线定时协定,由统一时钟控制数据传送
2)异步总线定时协定,采用应答方式,无统一时钟
3)半同步总线定时协定,同步、异步的结合
4)周期分列式总线定时协定,充分挖掘系统总线潜力
- 同步定时方式
- 特点:系统采用一个统一的时钟信号来协调发送和接受双方的传送定时关系。
- 优点:传送速度快,具有较高的传输速率;总线控制逻辑简单。
- 缺点:主从设备属于强制性同步;不能及时进行数据通信的有效性检验,可靠性较差。
- 异步定时方式
- 特点:没有统一的时钟,也没有固定的时间间隔,完全依靠传送双方相互制约的“握手”信号来实现定时控制。
- 优点:总线周期长度可变,能保证两个工作速度相差很大的部件或设备之间可靠地进行信息交换。
- 缺点:比同步控制方式稍复杂一些,速度比同步定时方式慢。
- 半同步定时方式
- 特点:在统一时钟基础上增加一个“等待”响应信号#WAIT,允许在总线传输周期中插入等待时间。
- 优点:提供了一定的灵活性,允许在数据准备期间插入等待时间。
- 缺点:没有明确提及,但可能涉及比同步定时方式更复杂的控制逻辑。
- 分离式定时方式
- 特点:各模块均有权申请占用总线,采用同步定时方式,各模块准备数据时不占用总线,从而提高总线利用率。
- 优点:总线利用率高,因为各模块在准备数据时不占用总线。
- 缺点:没有明确提及,但可能涉及复杂的控制逻辑。
- 同步定时方式:速度快,控制简单,但可靠性较差,适用于总线长度短且部件存取时间相近的系统。
- 异步定时方式:灵活性高,适用于速度差异大的设备,但速度慢,控制复杂。
- 半同步定时方式:在同步的基础上增加了等待信号,提供了一定的灵活性。
- 分离式定时方式:提高了总线利用率,各模块独立申请总线,但可能控制逻辑复杂。
- 同步定时方式
-
总线定时方式有哪些?
总线定时分为同步和异步两种基本定时方式,同步方式是指系统采用一个统一的时钟信号来协调发送和接收双方的传递定时关系;异步方式是指没有统一的时钟,依靠相互制约的“握手”来实现定时通信。
第七章 外围设备
-
例7.1
- 计算I/O设备通过总线传输数据的性能指标,例如带宽和响应时间。
第八章 输入输出系统
-
程序查询、程序中断、DMA控制方式、区别、特点
-
程序查询方式:CPU不断轮询检查I/O控制器中的“状态寄存器”,检测到状态为“已完成”之后,再从数据寄存器取出输入数据。
-
程序中断方式:等待键盘I/O时CPU可以先去执行其他程序,键盘I/O完成后I/O控制器向CPU发出中断请求,CPU响应中断请求,并取走输入数据。
-
DMA控制方式:主存与高速I/O设备之间有一条直接数据通路,CPU向DMA接口发出读写命令,并指明主存地址、磁盘地址、读写数据量等参数。
DMA控制器自动控制磁盘与主存的数据读写,每完成一整块数据读写,才向CPU发出一次中断请求。
程序查询方式
-
特点:CPU有“踏步”等待现象,CPU与I/O串行工作。
优点:接口设计简单、设备量少。
缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率较低。
程序中断方式
- 特点:
- 异步处理:I/O设备可以在任何时候向CPU发出中断请求,CPU在响应中断时处理I/O操作。
- CPU利用率高:CPU在等待I/O设备时可以执行其他任务,提高了CPU的利用率.
- 实时性较好:能够及时响应I/O设备的请求,适用于对实时性要求较高的场合。
- 复杂度较高:需要编写中断服务程序,处理中断请求和数据传输,实现相对复杂。
- 适用场景:适用于I/O设备速度较快,且需要及时响应的场合,例如键盘输入、鼠标操作等。
DMA控制方式
-
特点:
①主存既可被CPU访问,又可被外设访问。
②在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。
③主存中要开辟专用缓冲区,及时供给和接收外设的数据。
④传送速度快,CPU和外设并行工作,提高了系统效率。
⑤在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。
区别
特性 程序查询方式 程序中断方式 DMA控制方式 CPU参与程度 高 中 低 实时性 低 较高 高 效率 低 较高 高 复杂度 低 中 高 适用场景 简单I/O 需要及时响应的I/O 高速I/O -
-
中断的基本概念
- 程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。
中断工作流程:
-
中断请求
中断源向CPU发送中断请求信号
-
中断响应
响应中断的条件
中断判优
中断隐指令
-
中断处理
中断服务程序
-
中断处理的完整流程(图8.6)
- 指令周期:这是CPU正常的工作流程,包括取指令和执行指令两个步骤。在执行指令的过程中,系统会检查是否有中断请求。
- 中断周期:如果检测到中断请求,CPU会进入中断周期。这个阶段包括以下步骤:
- 响应中断:CPU识别到中断请求并准备处理。
- 关中断:在处理中断的过程中,通常会关闭中断,以防止新的中断请求打断当前的中断处理。
- 程序断点入栈:将当前程序的执行点(即程序计数器PC的值)保存到栈中,以便中断处理完毕后能够返回到正确的执行点继续执行。
- 向量地址→PC:将中断向量地址加载到程序计数器PC中,这样CPU就可以跳转到相应的中断服务程序开始执行。
- 中断服务子程序:这是处理中断的具体程序,包括以下步骤:
- 保存CPU现场:在执行中断服务程序之前,需要保存当前的寄存器状态,这个过程称为保护现场。这样可以确保在中断服务程序执行完毕后,主程序能够恢复到中断前的状态。
- 设备服务:执行与中断请求相关的设备服务程序,处理外部事件或请求。
- 恢复CPU现场:在中断服务程序执行完毕后,需要恢复之前保存的寄存器状态,这个过程称为恢复现场。
- 开中断,中断返回:重新开启中断,允许新的中断请求被处理,并从中断服务程序返回到主程序的断点,继续执行主程序。
-
图8.9