第1章 计算机系统概论
1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
解:P3
计算机系统——计算机硬件、软件和数据通信设备的物理或逻辑的综合体。
计算机硬件——计算机的物理实体。
计算机软件——计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
5. 冯诺依曼计算机的特点是什么?
解:冯氏计算机的特点是:P9
由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
指令和数据以同一形式(二进制形式)存于存储器中;
指令由操作码、地址码两大部分组成;
指令在存储器中顺序存放,通常自动顺序取出执行;
以运算器为中心(原始冯氏机)。
7. 解释下列概念:
主机、CPU 、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P10
主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;
CPU ——中央处理器(机),是计算机硬件的核心部件,由运算器+控制器组成;(早期的运、控不在同一芯片上)
主存——计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元——可存放一个机器字并具有特定存储地址的存储单位;
存储元件——存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取; 存储字——一个存储单元所存二进制代码的逻辑单位;
存储字长——一个存储单元所存二进制代码的位数;
存储容量——存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)
机器字长——CPU 能同时处理的数据位数;
指令字长——一条指令的二进制代码位数;
8. 解释下列英文缩写的中文含义:
CPU 、PC 、IR 、CU 、ALU 、ACC 、MQ 、X 、MAR 、MDR 、I/O、MIPS 、CPI 、FLOPS
解:全面的回答应分英文全称、中文名、中文解释三部分。
CPU ——Central Processing Unit,中央处理机(器),见7题;
PC ——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器; IR ——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;
CU ——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;
ALU ——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
ACC ——Accumulator ,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
MQ ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X ——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR ——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器;
MDR ——Memory Data Register ,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器; I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;
MIPS ——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;
11. 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机区分指令和数据有以下2种方法:
通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相
应微程序)取出的即为数据。
通过地址来源区分,由PC 提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
第2章 计算机的发展及应用
1. 通常计算机的更新换代以什么为依据?
答:P22
主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。
2. 举例说明专用计算机和通用计算机的区别。
答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性;而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。
3. 什么是摩尔定律?该定律是否永远生效?为什么?
答:P23,否,P36
第3章 系统总线
1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
解:总线是多个部件共享的传输部件。
总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
解:(1)总线判优控制解决多个部件同时申请总线时的使用权分配问题;
(2)常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;
(3)特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。
5. 解释下列概念:总线宽度. 总线带宽、总线复用。总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
解:
总线宽度:总线宽度可以理解为总线的数据总线的根数,用bit (位)表示。
总线带宽:总线带宽可以理解为总线的数据传输速率,即单位时间内总线上传输数据的位数。
总线复用:将地址总线和数据总线公用一组物理线路,在这组物理线路上分时传输地址信号和数据信号。
总线的主设备(主模块)——指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块)——指一次总线传输期间,配合主设备完成传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期——总线完成一次完整而可靠的传输所需时间;
总线的通信控制——指总线传送过程中双方的时间配合方式。
6. 试比较同步通信和异步通信。
解:
同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;
异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
7. 画图说明异步通信中请求与回答有哪几种互锁关系?
不互锁
单机
解: 半互锁 多机 全互锁 网络通信 8. 为什么说半同步通信同时保留了同步通信和异步通信的特点?
半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。
9. 分离式通信有何特点,主要用于什么系统?
(1)各模块欲占用总线使用权都必须提出申请。
(2)在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
(3)各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
(4)总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在内存等待时间,充分的利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行使传送,这对大型计算机系统是极为重要的。
10. 什么是总线标准?什么是即插即用,哪些总线有这一特点? 为什么要设置总线标准?你知道目前流行的总线标准有哪些?
解:
所谓总线标准,可视为系统与各模块,模块与模块之间的一个互联的标准界面
总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:ISA 、EISA 、PCI 等;
plug and play——即插即用,EISA 、PCI 等具有此功能。
第4章 存储器
3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache —主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU 访存起加速作用,即从整体运行的效果分析,CPU 访存速度加快,接近于Cache 的速度,而寻址空间和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与Cache 之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
使能
控制 解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作4. 说明存取周期和存取时间的区别。
后线路的恢复时间。即:存取周期 = 存取时间 + 恢复时间
5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns ,则存储器的带宽是多少?
解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽 = 1/200ns ×32位= 160M位/秒 = 20MB/S = 5M字/秒
9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新——对DRAM
刷新原因——因电容泄漏而引起的DRAM 所存信息的单元电压信号衰减而引起的信息丢失,需要及时补充。因此安排了定期刷新操作;
常用的刷新方法有三种——集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;有CPU 访存死时间;
分散式:在每个读/写周期之后插入一个刷新周期,无CPU 访存死时间;
异步式:是集中式和分散式的折衷。
讨论:
1)刷新与再生的比较:
共同点:
动作机制一样。都是利用DRAM 存储元破坏性读操作时的重写过程实现;
操作性质一样。都是属于重写操作。
区别:
解决的问题不一样。再生主要解决DRAM 存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。
操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。
动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。
芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS 信号无效,芯片数据引脚上无读出数据输出(唯RAS 有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。
2)CPU 访存周期与存取周期的区别:
CPU 访存周期是从CPU 一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。
3)分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU 访存周期。
4)刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。
10. 半导体存储器芯片的译码驱动方式有几种?
解:半导体存储器芯片的译码驱动方式有两种:线选法(单译码法)和重合法(双译码法)。
线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。
25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache —主存层次采用了程序访问的局部性原理。
27. Cache做在CPU 芯片内有什么好处?将指令Cache 和数据Cache 分开又有什么好处?
答:Cache 做在CPU 芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache 在CPU 芯片内,CPU 访问Cache 时不必占用外部总线;
2)Cache 不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率;
3)可提高存取速度。因为Cache 与CPU 之间的数据通路大大缩短, 故存取速度得以提高;
将指令Cache 和数据Cache 分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;
2)指令Cache 可用ROM 实现,以提高指令存取的可靠性;
3)数据Cache 对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
Cache 结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache (L1)和主存之间再设一个片外Cache (L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度(主存—L2—L1)。
第5章 输入输出系统
1. I/O有哪些编址方式?各有何特点?
解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址;
特点: I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU 可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU 需要通过专门的I/O指令来访问I/O地址空间。
讨论:I/O编址方式的意义:
I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。
I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;
问题:确切地讲, I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。
I/O独立编址方式有明显的I/O地址标识,而I/O与内存统一的编址方式没有;
问题:无论哪种编址方式,I/O地址都是由相应的指令提供的,而地址本身并没有特殊的标识。
2. 简要说明CPU 与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?
答: CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、 同步、异步。 适用场合分别为: 直接控制适用于结构极简单、速度极慢的I/O设备,CPU 直接控制外设处于某种状态而无须联络信号。
同步方式采用统一的时标进行联络,适用于CPU 与I/O速度差不大,近距离传送的场合。
异步方式采用应答机制进行联络,适用于CPU 与I/O速度差较大、远距离传送的场合。
讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别:
串行、并行I/O传送方式常用于描述I/O传送宽度的类型;
I/O交换方式主要讨论传送过程的控制方法;
I/O联络方式主要解决传送时CPU 与I/O之间如何取得通信联系以建立起操作上的同步配合关系。
同步方式适用于CPU 与I/O工作速度完全同步的场合。
问题: I/O 要达到与CPU 工作速度完全同步一般是不可能的。同步方式的实质是“就慢不就快”,如采用同步方式一般CPU 达不到满负荷工作。
6. 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?
解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII 码转换为字形点阵信息的作用。
8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?
解:480×10=4800位/秒=4800波特;
波特——是数据传送速率波特率的单位。
10. 什么是I/O接口? 为什么要设置I/O接口?I/O接口如何分类?
解: I/O接口一般指CPU 和I/O设备间的连接部件; I/O接口分类方法很多,主要有:
按数据传送方式分有并行接口和串行接口两种;
按数据传送的控制方式分有程序控制接口、程序中断接口、DMA 接口三种。
12. 结合程序查询方式的接口电路,说明其工作过程。
解:程序查询接口工作过程如下(以输入为例):
1)CPU 发I/O地址→地址总线→接口→设备选择器译码→选中,发SEL 信号→开命令接收门;
2)CPU 发启动命令→ D置0,B 置1 →接口向设备发启动命令→设备开始工作;
3)CPU 等待,输入设备读出数据→ DBR;
4)外设工作完成,完成信号→接口→ B置0,D 置1;
5)准备就绪信号→控制总线→ CPU;
6)输入:CPU 通过输入指令(IN )将DBR 中的数据取走;
若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:
1)CPU 发I/O地址→地址总线→接口→设备选择器译码→选中,发SEL 信号→开命令接收门;
2)输出: CPU通过输出指令(OUT )将数据放入接口DBR 中;
3)CPU 发启动命令→ D置0,B 置1 →接口向设备发启动命令→设备开始工作;
4)CPU 等待,输出设备将数据从 DBR取走;
5)外设工作完成,完成信号→接口→ B置0,D 置1;
6)准备就绪信号→控制总线→ CPU,CPU 可通过指令再次向接口DBR 输出数据,进行第二次传送。
13. 说明中断向量地址和入口地址的区别和联系。
解:
中断向量地址和入口地址的区别:
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
中断向量地址和入口地址的联系:
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JUM 指令;主存中设向量地址表。参考8.4.3)
讨论:
硬件向量法的实质:
当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。
由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。
14. 在什么条件下,I/O设备可以向CPU 提出中断请求?
解:I/O设备向CPU 提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU 查询中断时,中断请求触发器状态为1(INTR=1)。
15. 什么是中断允许触发器?它有何作用?
解:中断允许触发器是CPU 中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。
16. 在什么条件和什么时间,CPU 可以响应I/O的中断请求?
解:CPU 响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU 就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P 秒。此外,缓冲区内每存储N 个数据,主程序就要将其取出进行处理,这个处理需Q 秒。试问该系统可以跟踪到每秒多少次中断请求?
解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q 秒不能算在中断次数内。 N 个数据所需的处理时间=P×N+Q秒
平均每个数据所需处理时间= (P ×N+Q) /N秒;
求倒数得:
该系统跟踪到的每秒中断请求数=N/(P ×N+Q)次。
19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?
解:由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。
讨论:
打印机不停,理由有如下几种:
打印内容已存入打印机缓存;
问题:1)如果打印机无缓存呢?
2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA)
由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。′
问题:打印中断处理程序=打印指令?
采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。′
问题:这是程序中断方式吗?
由于打印机速度比CPU 慢得多,CPU 将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。′ 问题:停止打印机传送=停止打印机动作?
我有打印机,感觉上打印机工作是连贯的;′
问题:人的感觉速度=计算机工作速度?
23. 调用中断服务程序和调用子程序有何区别?
子程序只有调用的时候才执行,而中断不需调用,只要外部条件满足就执行中断服务程序,子程序可以由用户程序和操作系统调用,而中断服务程序只能由操作系统调用。
26. 什么是多重中断?实现多重中断的必要条件是什么?
解:多重中断是指:当CPU 执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU 暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。
28. CPU对DMA 请求和中断请求的响应时间是否一样?为什么?
解: CPU对DMA 请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU 必须以更短的时间间隔查询并响应DMA 请求(一个存取周期末)。
讨论:
CPU 对DMA 的响应是即时的;
随时都能响应?
CPU 响应DMA 的时间更短;
DMA 比中断速度高;
短、高或不一样的具体程度?
不一样。因为DMA 与CPU 共享主存,会出现两者争用主存的冲突,CPU 必须将总线让给DMA 接口使用,常用停止CPU 访存、周期窃取及DMA 与CPU 交替访存三种方式有效的分时使用主存;
这种情况仅仅存在于DMA 与中断程序之间吗?答非所问。
24. DMA的工作方式中,CPU 暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。
解:两种DMA 方式的工作流程见下页,其主要区别在于传送阶段,现行程序是否完全停止访存。
停止CPU 访存方式的DMA 工作流程如下:
现行程序 CPU DMAC I/O
CPU DMAC I/O B C D
周期窃取方式的DMA 工作流程如下:
现行程序 CPU DMAC I/O
CPU DMAC I/O B C D
31. 假设某设备向CPU 传送信息的最高频率是40K 次/秒,而相应的中断处理程序其执行时间为40µs 。试问该外设是否可用程序中断方式与主机交换信息,为什么?
解:该设备向CPU 传送信息的时间间隔 =1/40K=0.025×1000=25µs
则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。
举例说明: (输入)
假设初始CPU 空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU 发第一个中断请求,CPU 立即响应; I/O设备匀速运行,25s 后,第二个中断请求到来,CPU 正在执行中断程序接收第一个数据,40s 时响应;
50s 后,第三个中断请求到来,CPU 正在执行中断程序接收第二个数据,要到80s 时响应;
75s 后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;
32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K 字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25µs ,是否可采用一条指令执行结束时响应DMA 请求的方案,为什么?若不行,应采取什么方案?
解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。
道容量=1K×8位×8扇区=1KB×8=0.5K字×8=4K字
数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒
一个字的传送时间=1/(200*1024字/秒)=0.000005s/字=5µs/字
讨论:
扇面、扇段和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。 问题:是否磁盘转一圈读完所有扇区上的磁道?
答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着读(如果文件未读完的话)。
33. 试从下面七个方面比较程序查询、程序中断和DMA 三种方式的综合性能。
(1)数据传送依赖软件还是硬件;
(2)传送数据的基本单位;
(3)并行性;
(4)主动性;
(5)传输速度;
(6)经济性;
(7)应用对象。
解:比较如下:
(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA 主要依赖硬件。 (注意:这里指主要的趋势)
(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA 为数据块。
(3)程序查询方式传送时,CPU 与I/O设备串行工作;
程序中断方式时,CPU 与I/O设备并行工作,现行程序与I/O传送串行进行;
DMA 方式时,CPU 与I/O设备并行工作,现行程序与I/O传送并行进行。
(4)程序查询方式时,CPU 主动查询I/O设备状态;
程序中断及DMA 方式时,CPU 被动接受I/O中断请求或DMA 请求。
(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;
程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;
DMA 方式基本由硬件实现传送,因此速度最快;
注意:程序中断方式虽然CPU 运行效率比程序查询高,但传输速度却比程序查询慢。
(6)程序查询接口硬件结构最简单,因此最经济;
程序中断接口硬件结构稍微复杂一些,因此较经济;
DMA 控制器硬件结构最复杂,因此成本最高;
(7)程序中断方式适用于中、低速设备的I/O交换;
程序查询方式适用于中、低速实时处理过程;
DMA 方式适用于高速设备的I/O交换;
讨论:
问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU 之间?
答:视具体传送方式而定,程序查询、程序中断为I/O与CPU 之间交换,DMA 为I/O与主存间交换。
问题2:主动性应以CPU 的操作方式看,而不是以I/O的操作方式看。
程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;′
程序中断方式:以向量地址中的数据(二进制编码)为单位传送;
DMA :传送单位根据数据线的根数而定;′
15. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?
解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。
18. 试比较逻辑移位和算术移位。
解:逻辑移位和算术移位的区别: 逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。 算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。
第1章 计算机系统概论
1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?
解:P3
计算机系统——计算机硬件、软件和数据通信设备的物理或逻辑的综合体。
计算机硬件——计算机的物理实体。
计算机软件——计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
5. 冯诺依曼计算机的特点是什么?
解:冯氏计算机的特点是:P9
由运算器、控制器、存储器、输入设备、输出设备五大部件组成;
指令和数据以同一形式(二进制形式)存于存储器中;
指令由操作码、地址码两大部分组成;
指令在存储器中顺序存放,通常自动顺序取出执行;
以运算器为中心(原始冯氏机)。
7. 解释下列概念:
主机、CPU 、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:P10
主机——是计算机硬件的主体部分,由CPU+MM(主存或内存)组成;
CPU ——中央处理器(机),是计算机硬件的核心部件,由运算器+控制器组成;(早期的运、控不在同一芯片上)
主存——计算机中存放正在运行的程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。
存储单元——可存放一个机器字并具有特定存储地址的存储单位;
存储元件——存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取; 存储字——一个存储单元所存二进制代码的逻辑单位;
存储字长——一个存储单元所存二进制代码的位数;
存储容量——存储器中可存二进制代码的总量;(通常主、辅存容量分开描述)
机器字长——CPU 能同时处理的数据位数;
指令字长——一条指令的二进制代码位数;
8. 解释下列英文缩写的中文含义:
CPU 、PC 、IR 、CU 、ALU 、ACC 、MQ 、X 、MAR 、MDR 、I/O、MIPS 、CPI 、FLOPS
解:全面的回答应分英文全称、中文名、中文解释三部分。
CPU ——Central Processing Unit,中央处理机(器),见7题;
PC ——Program Counter,程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器; IR ——Instruction Register,指令寄存器,存放当前正在执行的指令的寄存器;
CU ——Control Unit,控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;
ALU ——Arithmetic Logic Unit,算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
ACC ——Accumulator ,累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
MQ ——Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
X ——此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
MAR ——Memory Address Register,存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器;
MDR ——Memory Data Register ,存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器; I/O——Input/Output equipment,输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;
MIPS ——Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;
11. 指令和数据都存于存储器中,计算机如何区分它们?
解:计算机区分指令和数据有以下2种方法:
通过不同的时间段来区分指令和数据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相
应微程序)取出的即为数据。
通过地址来源区分,由PC 提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。
第2章 计算机的发展及应用
1. 通常计算机的更新换代以什么为依据?
答:P22
主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路等。
2. 举例说明专用计算机和通用计算机的区别。
答:按照计算机的效率、速度、价格和运行的经济性和实用性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性;而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。
3. 什么是摩尔定律?该定律是否永远生效?为什么?
答:P23,否,P36
第3章 系统总线
1. 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点?
解:总线是多个部件共享的传输部件。
总线传输的特点是:某一时刻只能有一路信息在总线上传输,即分时使用。
为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。
4. 为什么要设置总线判优控制?常见的集中式总线控制有几种?各有何特点?哪种方式响应时间最快?哪种方式对电路故障最敏感?
解:(1)总线判优控制解决多个部件同时申请总线时的使用权分配问题;
(2)常见的集中式总线控制有三种:链式查询、计数器查询、独立请求;
(3)特点:链式查询方式连线简单,易于扩充,对电路故障最敏感;计数器查询方式优先级设置较灵活,对故障不敏感,连线及控制过程较复杂;独立请求方式判优速度最快,但硬件器件用量大,连线多,成本较高。
5. 解释下列概念:总线宽度. 总线带宽、总线复用。总线的主设备(或主模块)、总线的从设备(或从模块)、总线的传输周期和总线的通信控制。
解:
总线宽度:总线宽度可以理解为总线的数据总线的根数,用bit (位)表示。
总线带宽:总线带宽可以理解为总线的数据传输速率,即单位时间内总线上传输数据的位数。
总线复用:将地址总线和数据总线公用一组物理线路,在这组物理线路上分时传输地址信号和数据信号。
总线的主设备(主模块)——指一次总线传输期间,拥有总线控制权的设备(模块);
总线的从设备(从模块)——指一次总线传输期间,配合主设备完成传输的设备(模块),它只能被动接受主设备发来的命令;
总线的传输周期——总线完成一次完整而可靠的传输所需时间;
总线的通信控制——指总线传送过程中双方的时间配合方式。
6. 试比较同步通信和异步通信。
解:
同步通信——由统一时钟控制的通信,控制方式简单,灵活性差,当系统中各部件工作速度差异较大时,总线工作效率明显下降。适合于速度差别不大的场合;
异步通信——不由统一时钟控制的通信,部件间采用应答方式进行联系,控制方式较同步复杂,灵活性高,当系统中各部件工作速度差异较大时,有利于提高总线工作效率。
7. 画图说明异步通信中请求与回答有哪几种互锁关系?
不互锁
单机
解: 半互锁 多机 全互锁 网络通信 8. 为什么说半同步通信同时保留了同步通信和异步通信的特点?
半同步通信既能像同步通信那样由统一时钟控制,又能像异步通信那样允许传输时间不一致,因此工作效率介于两者之间。
9. 分离式通信有何特点,主要用于什么系统?
(1)各模块欲占用总线使用权都必须提出申请。
(2)在得到总线使用权后,主模块在限定的时间内向对方传送信息,采用同步方式传送,不再等待对方的回答信号。
(3)各模块在准备数据的过程中都不占用总线,使总线可接受其他模块的请求。
(4)总线被占用时都在做有效工作,或者通过它发送命令,或者通过它传送数据,不存在内存等待时间,充分的利用了总线的有效占用,从而实现了总线在多个主、从模块间进行信息交叉重叠并行使传送,这对大型计算机系统是极为重要的。
10. 什么是总线标准?什么是即插即用,哪些总线有这一特点? 为什么要设置总线标准?你知道目前流行的总线标准有哪些?
解:
所谓总线标准,可视为系统与各模块,模块与模块之间的一个互联的标准界面
总线标准的设置主要解决不同厂家各类模块化产品的兼容问题;
目前流行的总线标准有:ISA 、EISA 、PCI 等;
plug and play——即插即用,EISA 、PCI 等具有此功能。
第4章 存储器
3. 存储器的层次结构主要体现在什么地方?为什么要分这些层次?计算机如何管理这些层次?
答:存储器的层次结构主要体现在Cache —主存和主存—辅存这两个存储层次上。
Cache—主存层次在存储系统中主要对CPU 访存起加速作用,即从整体运行的效果分析,CPU 访存速度加快,接近于Cache 的速度,而寻址空间和位价却接近于主存。
主存—辅存层次在存储系统中主要起扩容作用,即从程序员的角度看,他所使用的存储器其容量和位价接近于辅存,而速度接近于主存。
综合上述两个存储层次的作用,从整个存储系统来看,就达到了速度快、容量大、位价低的优化效果。
主存与Cache 之间的信息调度功能全部由硬件自动完成。而主存—辅存层次的调度目前广泛采用虚拟存储技术实现,即将主存与辅存的一部份通过软硬结合的技术组成虚拟存储器,程序员可使用这个比主存实际空间(物理地址空间)大得多的虚拟地址空间(逻辑地址空间)编程,当程序运行时,再由软、硬件自动配合完成虚拟地址空间与主存实际物理空间的转换。因此,这两个层次上的调度或转换操作对于程序员来说都是透明的。
使能
控制 解:存取周期和存取时间的主要区别是:存取时间仅为完成一次操作的时间,而存取周期不仅包含操作时间,还包含操作4. 说明存取周期和存取时间的区别。
后线路的恢复时间。即:存取周期 = 存取时间 + 恢复时间
5. 什么是存储器的带宽?若存储器的数据总线宽度为32位,存取周期为200ns ,则存储器的带宽是多少?
解:存储器的带宽指单位时间内从存储器进出信息的最大数量。
存储器带宽 = 1/200ns ×32位= 160M位/秒 = 20MB/S = 5M字/秒
9. 什么叫刷新?为什么要刷新?说明刷新有几种方法。
解:刷新——对DRAM
刷新原因——因电容泄漏而引起的DRAM 所存信息的单元电压信号衰减而引起的信息丢失,需要及时补充。因此安排了定期刷新操作;
常用的刷新方法有三种——集中式、分散式、异步式。
集中式:在最大刷新间隔时间内,集中安排一段时间进行刷新;有CPU 访存死时间;
分散式:在每个读/写周期之后插入一个刷新周期,无CPU 访存死时间;
异步式:是集中式和分散式的折衷。
讨论:
1)刷新与再生的比较:
共同点:
动作机制一样。都是利用DRAM 存储元破坏性读操作时的重写过程实现;
操作性质一样。都是属于重写操作。
区别:
解决的问题不一样。再生主要解决DRAM 存储元破坏性读出时的信息重写问题;刷新主要解决长时间不访存时的信息衰减问题。
操作的时间不一样。再生紧跟在读操作之后,时间上是随机进行的;刷新以最大间隔时间为周期定时重复进行。
动作单位不一样。再生以存储单元为单位,每次仅重写刚被读出的一个字的所有位;刷新以行为单位,每次重写整个存储器所有芯片内部存储矩阵的同一行。
芯片内部I/O操作不一样。读出再生时芯片数据引脚上有读出数据输出;刷新时由于CAS 信号无效,芯片数据引脚上无读出数据输出(唯RAS 有效刷新,内部读)。鉴于上述区别,为避免两种操作混淆,分别叫做再生和刷新。
2)CPU 访存周期与存取周期的区别:
CPU 访存周期是从CPU 一边看到的存储器工作周期,他不一定是真正的存储器工作周期;存取周期是存储器速度指标之一,它反映了存储器真正的工作周期时间。
3)分散刷新是在读写周期之后插入一个刷新周期,而不是在读写周期内插入一个刷新周期,但此时读写周期和刷新周期合起来构成CPU 访存周期。
4)刷新定时方式有3种而不是2种,一定不要忘了最重要、性能最好的异步刷新方式。
10. 半导体存储器芯片的译码驱动方式有几种?
解:半导体存储器芯片的译码驱动方式有两种:线选法(单译码法)和重合法(双译码法)。
线选法:地址译码信号只选中同一个字的所有位,结构简单,费器材;
重合法:地址分行、列两部分译码,行、列译码线的交叉点即为所选单元。这种方法通过行、列译码信号的重合来选址,也称矩阵译码。可大大节省器材用量,是最常用的译码驱动方式。
25. 什么是“程序访问的局部性”?存储系统中哪一级采用了程序访问的局部性原理?
解:程序运行的局部性原理指:在一小段时间内,最近被访问过的程序和数据很可能再次被访问;在空间上,这些被访问的程序和数据往往集中在一小片存储区;在访问顺序上,指令顺序执行比转移执行的可能性大 (大约 5:1 )。存储系统中Cache —主存层次采用了程序访问的局部性原理。
27. Cache做在CPU 芯片内有什么好处?将指令Cache 和数据Cache 分开又有什么好处?
答:Cache 做在CPU 芯片内主要有下面几个好处:
1)可提高外部总线的利用率。因为Cache 在CPU 芯片内,CPU 访问Cache 时不必占用外部总线;
2)Cache 不占用外部总线就意味着外部总线可更多地支持I/O设备与主存的信息传输,增强了系统的整体效率;
3)可提高存取速度。因为Cache 与CPU 之间的数据通路大大缩短, 故存取速度得以提高;
将指令Cache 和数据Cache 分开有如下好处:
1)可支持超前控制和流水线控制,有利于这类控制方式下指令预取操作的完成;
2)指令Cache 可用ROM 实现,以提高指令存取的可靠性;
3)数据Cache 对不同数据类型的支持更为灵活,既可支持整数(例32位),也可支持浮点数据(如64位)。
Cache 结构改进的第三个措施是分级实现,如二级缓存结构,即在片内Cache (L1)和主存之间再设一个片外Cache (L2),片外缓存既可以弥补片内缓存容量不够大的缺点,又可在主存与片内缓存间起到平滑速度差的作用,加速片内缓存的调入调出速度(主存—L2—L1)。
第5章 输入输出系统
1. I/O有哪些编址方式?各有何特点?
解:常用的I/O编址方式有两种: I/O与内存统一编址和I/O独立编址;
特点: I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU 可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU 需要通过专门的I/O指令来访问I/O地址空间。
讨论:I/O编址方式的意义:
I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。
I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;
问题:确切地讲, I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。
I/O独立编址方式有明显的I/O地址标识,而I/O与内存统一的编址方式没有;
问题:无论哪种编址方式,I/O地址都是由相应的指令提供的,而地址本身并没有特殊的标识。
2. 简要说明CPU 与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?
答: CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、 同步、异步。 适用场合分别为: 直接控制适用于结构极简单、速度极慢的I/O设备,CPU 直接控制外设处于某种状态而无须联络信号。
同步方式采用统一的时标进行联络,适用于CPU 与I/O速度差不大,近距离传送的场合。
异步方式采用应答机制进行联络,适用于CPU 与I/O速度差较大、远距离传送的场合。
讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别:
串行、并行I/O传送方式常用于描述I/O传送宽度的类型;
I/O交换方式主要讨论传送过程的控制方法;
I/O联络方式主要解决传送时CPU 与I/O之间如何取得通信联系以建立起操作上的同步配合关系。
同步方式适用于CPU 与I/O工作速度完全同步的场合。
问题: I/O 要达到与CPU 工作速度完全同步一般是不可能的。同步方式的实质是“就慢不就快”,如采用同步方式一般CPU 达不到满负荷工作。
6. 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?
解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII 码转换为字形点阵信息的作用。
8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?
解:480×10=4800位/秒=4800波特;
波特——是数据传送速率波特率的单位。
10. 什么是I/O接口? 为什么要设置I/O接口?I/O接口如何分类?
解: I/O接口一般指CPU 和I/O设备间的连接部件; I/O接口分类方法很多,主要有:
按数据传送方式分有并行接口和串行接口两种;
按数据传送的控制方式分有程序控制接口、程序中断接口、DMA 接口三种。
12. 结合程序查询方式的接口电路,说明其工作过程。
解:程序查询接口工作过程如下(以输入为例):
1)CPU 发I/O地址→地址总线→接口→设备选择器译码→选中,发SEL 信号→开命令接收门;
2)CPU 发启动命令→ D置0,B 置1 →接口向设备发启动命令→设备开始工作;
3)CPU 等待,输入设备读出数据→ DBR;
4)外设工作完成,完成信号→接口→ B置0,D 置1;
5)准备就绪信号→控制总线→ CPU;
6)输入:CPU 通过输入指令(IN )将DBR 中的数据取走;
若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:
1)CPU 发I/O地址→地址总线→接口→设备选择器译码→选中,发SEL 信号→开命令接收门;
2)输出: CPU通过输出指令(OUT )将数据放入接口DBR 中;
3)CPU 发启动命令→ D置0,B 置1 →接口向设备发启动命令→设备开始工作;
4)CPU 等待,输出设备将数据从 DBR取走;
5)外设工作完成,完成信号→接口→ B置0,D 置1;
6)准备就绪信号→控制总线→ CPU,CPU 可通过指令再次向接口DBR 输出数据,进行第二次传送。
13. 说明中断向量地址和入口地址的区别和联系。
解:
中断向量地址和入口地址的区别:
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
中断向量地址和入口地址的联系:
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JUM 指令;主存中设向量地址表。参考8.4.3)
讨论:
硬件向量法的实质:
当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。
由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。
14. 在什么条件下,I/O设备可以向CPU 提出中断请求?
解:I/O设备向CPU 提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU 查询中断时,中断请求触发器状态为1(INTR=1)。
15. 什么是中断允许触发器?它有何作用?
解:中断允许触发器是CPU 中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。
16. 在什么条件和什么时间,CPU 可以响应I/O的中断请求?
解:CPU 响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU 就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P 秒。此外,缓冲区内每存储N 个数据,主程序就要将其取出进行处理,这个处理需Q 秒。试问该系统可以跟踪到每秒多少次中断请求?
解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q 秒不能算在中断次数内。 N 个数据所需的处理时间=P×N+Q秒
平均每个数据所需处理时间= (P ×N+Q) /N秒;
求倒数得:
该系统跟踪到的每秒中断请求数=N/(P ×N+Q)次。
19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?
解:由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。
讨论:
打印机不停,理由有如下几种:
打印内容已存入打印机缓存;
问题:1)如果打印机无缓存呢?
2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA)
由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。′
问题:打印中断处理程序=打印指令?
采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。′
问题:这是程序中断方式吗?
由于打印机速度比CPU 慢得多,CPU 将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。′ 问题:停止打印机传送=停止打印机动作?
我有打印机,感觉上打印机工作是连贯的;′
问题:人的感觉速度=计算机工作速度?
23. 调用中断服务程序和调用子程序有何区别?
子程序只有调用的时候才执行,而中断不需调用,只要外部条件满足就执行中断服务程序,子程序可以由用户程序和操作系统调用,而中断服务程序只能由操作系统调用。
26. 什么是多重中断?实现多重中断的必要条件是什么?
解:多重中断是指:当CPU 执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU 暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。
28. CPU对DMA 请求和中断请求的响应时间是否一样?为什么?
解: CPU对DMA 请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU 必须以更短的时间间隔查询并响应DMA 请求(一个存取周期末)。
讨论:
CPU 对DMA 的响应是即时的;
随时都能响应?
CPU 响应DMA 的时间更短;
DMA 比中断速度高;
短、高或不一样的具体程度?
不一样。因为DMA 与CPU 共享主存,会出现两者争用主存的冲突,CPU 必须将总线让给DMA 接口使用,常用停止CPU 访存、周期窃取及DMA 与CPU 交替访存三种方式有效的分时使用主存;
这种情况仅仅存在于DMA 与中断程序之间吗?答非所问。
24. DMA的工作方式中,CPU 暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。
解:两种DMA 方式的工作流程见下页,其主要区别在于传送阶段,现行程序是否完全停止访存。
停止CPU 访存方式的DMA 工作流程如下:
现行程序 CPU DMAC I/O
CPU DMAC I/O B C D
周期窃取方式的DMA 工作流程如下:
现行程序 CPU DMAC I/O
CPU DMAC I/O B C D
31. 假设某设备向CPU 传送信息的最高频率是40K 次/秒,而相应的中断处理程序其执行时间为40µs 。试问该外设是否可用程序中断方式与主机交换信息,为什么?
解:该设备向CPU 传送信息的时间间隔 =1/40K=0.025×1000=25µs
则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。
举例说明: (输入)
假设初始CPU 空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU 发第一个中断请求,CPU 立即响应; I/O设备匀速运行,25s 后,第二个中断请求到来,CPU 正在执行中断程序接收第一个数据,40s 时响应;
50s 后,第三个中断请求到来,CPU 正在执行中断程序接收第二个数据,要到80s 时响应;
75s 后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;
32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K 字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25µs ,是否可采用一条指令执行结束时响应DMA 请求的方案,为什么?若不行,应采取什么方案?
解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。
道容量=1K×8位×8扇区=1KB×8=0.5K字×8=4K字
数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒
一个字的传送时间=1/(200*1024字/秒)=0.000005s/字=5µs/字
讨论:
扇面、扇段和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。 问题:是否磁盘转一圈读完所有扇区上的磁道?
答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着读(如果文件未读完的话)。
33. 试从下面七个方面比较程序查询、程序中断和DMA 三种方式的综合性能。
(1)数据传送依赖软件还是硬件;
(2)传送数据的基本单位;
(3)并行性;
(4)主动性;
(5)传输速度;
(6)经济性;
(7)应用对象。
解:比较如下:
(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA 主要依赖硬件。 (注意:这里指主要的趋势)
(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA 为数据块。
(3)程序查询方式传送时,CPU 与I/O设备串行工作;
程序中断方式时,CPU 与I/O设备并行工作,现行程序与I/O传送串行进行;
DMA 方式时,CPU 与I/O设备并行工作,现行程序与I/O传送并行进行。
(4)程序查询方式时,CPU 主动查询I/O设备状态;
程序中断及DMA 方式时,CPU 被动接受I/O中断请求或DMA 请求。
(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;
程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;
DMA 方式基本由硬件实现传送,因此速度最快;
注意:程序中断方式虽然CPU 运行效率比程序查询高,但传输速度却比程序查询慢。
(6)程序查询接口硬件结构最简单,因此最经济;
程序中断接口硬件结构稍微复杂一些,因此较经济;
DMA 控制器硬件结构最复杂,因此成本最高;
(7)程序中断方式适用于中、低速设备的I/O交换;
程序查询方式适用于中、低速实时处理过程;
DMA 方式适用于高速设备的I/O交换;
讨论:
问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU 之间?
答:视具体传送方式而定,程序查询、程序中断为I/O与CPU 之间交换,DMA 为I/O与主存间交换。
问题2:主动性应以CPU 的操作方式看,而不是以I/O的操作方式看。
程序查询方式:以缓冲器容量(块、二进制数字)为单位传送;′
程序中断方式:以向量地址中的数据(二进制编码)为单位传送;
DMA :传送单位根据数据线的根数而定;′
15. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?
解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。
18. 试比较逻辑移位和算术移位。
解:逻辑移位和算术移位的区别: 逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。 算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。