计算机组成原理(第三版)唐朔飞-第五章输入输出系统-课后习题

目录

第五章

5.1I/O设备有哪些编址方式,各有何特点?

答:
1.独立编址(专用的I/O端口编址)----存储器和I/O端口在两个独立的地址空间中
(1)优点:I/O端口的地址码较短,译码电路简单,存储器同I/O端口的操作指令不同,程序比较清晰;存储器和I/O端口的控制结构相互独立,可以分别设计
(2)缺点:需要有专用的I/O指令,程序设计的灵活性较差
2.统一编址(存储器映像编址)----存储器和I/O端口共用统一的地址空间,当一个地址空间分配给I/O端口以后,存储器就不能再占有这一部分的地址空间
(1)优点:不需要专用的I/O指令,任何对存储器数据进行操作的指令都可用于I/O端口的数据操作,程序设计比较灵活;由于I/O端口的地址空间是内存空间的一部分,这样,I/O端口的地址空间可大可小,从而使外设的数量几乎不受限制
(2)缺点:I/O端口占用了内存空间的一部分,影响了系统的内存容量;访问I/O端口也要同访问内存一样,由于内存地址较长,导致执行时间增加!

5.2 简要说明CPU与I/O设备之间传递信息可采用哪几种联络方式,它们分别用于什么场合。

答:
CPU 和 I/O 之间的联络方式有三种。
(1)立即响应方式。对于一些工作速度十分缓慢的 I/O 设备,如指示灯的亮与灭、开关的通与断、A/D 转换器缓变信号的输入等,当它们与 CPU 发生联系时,通常都已使其处于某种等待状态,因此,只要 CPU的 I/O 指令一到,它们便立即响应,故这种设备无须特殊联络信号,称为立即响应方式;
(2)异步方式。对于一些慢速或中速的外设,由于与主机工作速度不匹配,且本身又在不规则实际间隔下操作,则大多采用异步方式。即交换信息前,I/O 与 CPU 各自完成自身的任务,仅当出现联络信号时,彼此才交换信息。联络时采用应答方式,如“Ready”和“Strobe”可分别用来表示“准备就绪”和“响应”含义;
(3)同步方式。同步工作要求 I/O 设备与 CPU 的工作速度完全同步。例如,在数据采集过程中,若外部数
据以 2400 bps 的速率传送至接口,则 CPU 也必须以 1/2400 s 的速率接收每一位数。这种联络互相之间还得配有专用电路,用以产生同步时标来控制同步工作。

5.3I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。

答:
有程序查询方式、程序中断方式、DMA方式、通道方式和I/O处理机的方式。
其特点分别如下:
(1)程序查询方式:主机和I/O串行工作,如果I/O忙,那么CPU踏步等待。这种效率很低。
(2)程序中段方式:主机和I/O并行工作。这种方式消除了CPU踏步等待的现象,提高了CPU的工作效率。
(3)DMA方式:主机和I/O并行工作。主存和I/O之间有一条直接数据通路,CPU不参与I/O和主存间的信息交换,故不必中段现行程序,CPU效率更高。
(4)通道方式:通道是一个具有特殊功能的处理器,CPU把部分权利下方给通道,由它实现对外围设备的统一管理和外围设备与主存间的数据交换,大大提高了CPU的效率,但他是以花费更多的硬件为代价的。
(5)I/O处理机方式:他是通道方式的进一步发展,CPU将I/O操作及外围设备的管理权全 部交给I/O处理机,其实质就是多机系统,因而效率有更大的提高。

5.4 试比较程序查询方式、程序中断方式和DMA方式对CP U工作效率的影响。

答:
(1)程序查询方式要求CPU时刻查询I/O,直到I/O准备好为止,这种方式CPU工作效率很低。
(2)程序中断方式比程序中断方式提高了CPU的工作效率,消除了“踏步”现象,CPU工作效率得到提高。
(3)DMA方式中CPU的工作效率是这三种之中最高的一个。 CPU启动I/O后,不必查询I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与I/O和主存间的信息交换,只是把外部总线的使用权暂时交付DMA,仍然可以完成自身内部的操作,所以不必中断现行程序,只需暂停一个存取周期访存,CPU效率更高。

解析:
程序查询方式、程序中断方式和 DMA方式作为三种常见的工作方式,常进行综合性能的比较。除了上述答案中对CPU的效率影响之外,还有一些其他差别:
程序查询、程序中断方式的数据传送主要依赖软件,DMA 主要依赖硬件。程序查询、程序中断传送数据的基本单位为字或字节,DMA 为数据块。
程序查询方式,CPU 主动查询 I/O 设备状态;程序中断及 DMA 方式CPU被动接受 I/O 中断请求或 DMA 请求。

5.5图形显示和图像显示有何区别?

答:
图形一般指用计算机绘制的画面,如直线、圆、圆弧、任意曲线和图表等;图像则是指由输入设备捕捉的实际场景画面或以数字化形式存储的任意画面。
图像都是由一些排成行列的像素组成的,一般数据量都较大。而图形文件中只记录生成图的算法和图上的某些特征点,也称矢量图。相对于位图的大数据量来说,它占用的存储空间较小。

5.6字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?

答:
字符显示器的接口电路中,缓冲存储器由RAM组成,用来存放计算机准备显示的字符编码。缓存的每一地址分别对应CRT显示屏上的不同位置,缓存每一单元的内容即为欲显示字符的ASCI码。
字符显示器接口电路中的只读存储器是用来存放每一个 ASCII码对应的光点代码的,如果荧光屏上的字符是以5X7光点组成,则ROM可视为将ASCI码变为一组5×7光点矩阵的部件,又称为字符发生器。

5.7试比较针式打印机、激光打印机和喷墨打印机的特点。

答:
三种打印机都配有一个字符发生器,它们的共同点是都能将字符编码信息变为点阵信息,不同的是这些点阵信息的控制对象不同。
点阵针式打印机的字符点阵用于控制打印针的驱动电路
激光打印机的字符点阵脉冲信号用于控制激光束
喷墨打印机的字符点阵信息控制墨滴的运动轨迹
此外,
点阵针式打印机属于击打式的打印机,可以逐字打印,也可以逐行打印;
喷墨打印机只能逐字打印;
激光打印机属于页式输出设备
后两种都属于非击打式打印机。

不同种类的打印机性能和价格差别很大,用户可根据不同需要合理选用。要求印字质量高的场合可选用激光打印机;要求价格便宜的或只需具有文字处理功能的个人用计算机,可配置串行点阵针式打印机;要求处理的信息量很大,速度又要快,应该配行式打印机或高速激光打印机。

5.8某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为1位起始位、7位数据位、1位检验位和1位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?

答:
由题干可知一个字符共有(1+7+1+1)=10位,
每秒要求传达480个字符,
则数据传送速率要求为480x10=4800(bps)。

5.9什么是多媒体技术?简要说明研制多媒体计算机的关键技术。

答:
多媒体一词的核心词是媒体。所谓媒体,是指信息传递和存储的最基本的技术和手段。日常生活中最常用的媒体包括音乐、语言、图片、文件、书籍、电视、广播、电话等。人们可以通过媒体获取他(她)们所需的信息,同时也可以利用这些媒体将有用信息传送出去或保存起来,然而,传统的媒体设施,工具和手段大多是单一功能的。例如,音响设备只能录音或放音;电视只能提供音频和视频信息;报纸只能提供文字和图像图表信息等。由于都是单功能媒体,而且各自均独立分散,为此人们希望能有一个集多种功能的多媒体系统,这就是应用领域向计算机科学与技术和计算机工业提出的迫切要求
多媒体计算机的关键技术有以下几种:
(1)视频和音频数据的压缩与解压缩技术;多媒体计算机的关键问题是如何实时综合处理声、图和文字信息,需要将每幅图像从模拟量转换成数字量,然后进行图像处理,与图形、文字复合后存放在机器中。数字化图像和声音的信息量是非常大的,再加上计算机总线的传输速率的局限,因此,必须对信息进行压缩和解压缩。
(2)多媒体专用芯片:由于多媒体计算机承担大量与数据信号处理、图像处理、压缩与解压缩以及解决多媒体之间关系等有关的问题,而且要求处理速度快,因此需研制专用芯片。
(3)大容量存储器:多媒体计算机需要存储的信息量极大,因此研制大容量的存储器仍是多媒体计算机系统的关键技术。
(4)适用于多媒体技术的软件:如图所示,除最底层的硬件层外,其他层次都包含适用于多媒体技术的软件。
在这里插入图片描述

5.10什么是I/O接口,它与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?

答:
I/O 接口一般指 CPU 和 I/O 设备间的连接部件;端口是给信息通讯所划分的通道口是相对于软件来说的,而接口是硬件连接的接口。
外围设备要通过接口与 CPU 相连的原因主要包括:
(1)一台机器通常配有多台外设,它们各自有其设备号(地址),通过接口可实现对设备的选择;
(2)I/O 设备种类繁多,速度不一,与 CPU 速度相差可能很大,通过接口可实现数据缓冲,达到速度匹配;
(3)I/O 设备可能串行传送数据,而 CPU 一般并行传送,通过接口可实现数据串并格式转换;
(4)I/O 设备的入/出电平可能与 CPU 的入/出电平不同,通过接口可实现电平转换;
(5)CPU 启动 I/O 设备工作,要向外设发出各种控制信号,通过接口可传送控制命令;
(6)I/O 需将其工作状态及时报告 CPU,通过接口可监视设备的工作状态,并保存状态信息,供 CPU 查询。
I/O 接口分类方法很多,主要有:
(1)按数据传送方式分有并行接口和串行接口两种;
(2)按数据传送的控制方式分有程序控制接口、程序终端接口和 DMA 接口三种。

5.11 简述I/O接口的功能和基本组成。

答:
1.I/O接口的功能,CPU与外设之间的数据交换必须通过接口来完成,通常接口有以下一些功能
(1)设置数据的寄存、缓冲逻辑,以适应CPU与外设之间的速度差异,接口通常由一些寄存器或RAM芯片组成,如果芯片足够大还可以实现批量数据的传输;
(2)能够进行信息格式的转换,例如串行和并行的转换;
(3)能够协调CPU和外设两者在信息的类型和电平的差异,如电平转换驱动器、数/模或模/数转换器等;
(4)协调时序差异;
(5)地址译码和设备选择功能;
(6)设置中断和DMA控制逻辑,以保证在中断和DMA允许的情况下产生中断和DMA请求信号,并在接受到中断和DMA应答之后完成中断处理和DMA传输。
2.基本组成:包括硬件电路和软件编程两部分 硬件电路包括基本逻辑电路,端口译码电路和供选电路等。软件编程包括初始化程序段,传送方式处理程序段,主控程序段程序终止与退出程序段及辅助程序段等.

5.12结合程序查询方式的接口电路,说明其工作过程。

答:
在这里插入图片描述
图中设备选择电路用以识别本设备地址,当地地址线上的设备号与本设备号相符时,SEL有效,可以接收命令;数据缓冲寄存器用于存放欲传送的数据;D是完成触发器,B是工作触发器。
以输入设备为例,该接口的工作过程如下:
①当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路。
②若该接口的设备码与地址线上的代码吻合,其输出SEL有效。
③I/O指令的启动命令经过“与非”门将工作触发器B置“1”,将完成触发器D置“0”。
④由B触发器启动设备工作。
⑤ 输入设备将数据送至数据缓冲寄存器。
⑥由设备发设备工作结束信号,将D置“1”,B 置“0”,表示外设准备就绪。
⑦D触发器以“准备就绪”状态通知 CPU,表示“数据缓冲满”。
⑧CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。

5.13 说明中断向量地址和入口地址的区别和联系。

答:
区别
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
联系
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。

5.14 在什么条件下,I/O设备可以向 CPU提出中断请求?

答:
I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

5.15什么是中断允许触发器?它有何作用?

答:
中断允许触发器是 CPU 中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。在 CPU 中断系统中,一个中断源的请求要得到响应,必须满足一定的条件。如果某一个中断被开放,且中断请求符合响应条件,CPU 会及时响应该中断请求,并置相应的中断允许触发器状态为 1。

5.16在什么条件和什么时间,CPU可以响应I/O的中断请求?

答:
CPU响应I/O中断请求的条件是:允许中断触发器是“1”状态(即开中断);I/O本身有请求又未被屏蔽;经排队后又被选中。
CPU响应I/O中断请求的时间是每条指令执行阶段的结束时刻。因为此时由CPU发出中断查询信号才能获取I/O的中断请求信号。

5.17 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?

答:
N个数据所需的处理时间=P×N+Q秒
平均每个数据所需处理时间= (P×N+Q)/N 秒;
求倒数得:
该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。
(主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。)

5.18试以键盘设备为例,结合中断接口电路,说明其工作过程。

答:
中断接口电路如图所示。
在这里插入图片描述
下面以键盘设备为例,结合图说明I/O中断处理的全过程。当CPU通过I/O指令的地址码选中某设备后。则
(1)由CPU发启动I/O设备命令,将接口中的B置“1”,D置“0”;
(2)接口启动输入设备开始工作;
(3)输入设备将数据送入数据缓冲寄存器;
(4)输入设备向接口发出“设备工作结束”信号,将D置“1”,B置“0”,标志设备准备就绪;
(5)当设备准备就绪(D=1)。且本设备未被屏蔽(MASK=0)时,在指令执行阶段的结束时刻,由CPU发出中断查询信号;
(6)设备中断请求触发器INTR 被置“1”,标志设备向CPU提出中断请求。与此同时,INTR送至排队器,进行中断判优;
(7)若CPU允许中(EINT=1),设备又被排队选中,即进入中断响应阶段,由中断响应信号INTA 将队器输出送至编码器形成向量地址;
(8)向量地址送至PC,作为下一条指令的地址;
(9)由于向量地址中存放的是一条无条件转移指令,故这条指令执行结束后,即无条件转至该设备的服务程序入口地址,开始执行中断服务程序,进入中断服务阶段,通过输入指令将数据缓冲寄存器的输入数据送至 CPU的通用寄存器,再存入主存相关单元;
(10)中服务程序的最后一条指令是中断返回指令,当其执行结束时,即中断返回至原程序的断点处。至此,一个完整的程序中断处理过程即告结束。

5.19 在程序中断方式中,磁盘申请中断的优先级高于打印机。当打印机正在进行打印时,圆盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?

答:
由于磁盘中断的优先权高于打印机,因此应该将打印机停下来,等磁盘操作结束后,打印机输出才能继续进行,因为打印机的速度比磁盘输入输出的速度慢并且暂停打印不会造成数据丢失。

5.20试比较单重中断和多重中断服务程序的处理流程,说明它们不同的原因。

答:
计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为中断嵌套,或多重中断。倘若CPU在执行中断服务程序时,对新的中断请求不予理睬,这种中断称为单重中断。这两种处理方式的中服务程序略有区别。
如图 (a)、(b)所示。
在这里插入图片描述
它们的主要区别是:
在中断服务程序中,开中断指令安排的位置不同。
单重中断的开中断指令安排在“恢复现场”之后,中断返回之前;
多重中断的开中断指令安排在“保护现场”之后。
由于CPU一旦响应了中断会自动关中断,因此单重中断在恢复现场之前,CPU不可能再次响应任何新的中断请求。
而多重中断在保护现场之后立即“开中断”,因此在此后CPU便可以再次响应级别更高的中断源请求,实现多重中断。

5.21中断向量通过什么总线送至什么地方?为什么?

答:
中断向量通过数据线送至CPU中的PC,中断向量代表了中断服务程序的入口地址,在中断响应阶段根据这个入口地址访问处理程序。

5.22程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?

答:
程序查询方式是用户在程序中安排一段输入输出程序,它由I/O 指令、测试指令和转移指令等组成。CPU一旦启动 I/O 后,就进入这段程序,时刻查询 I/O 准备的情况,若未准备就绪就踏步等待;若准备就绪就实现传送。在输入输出的全部过程中,CPU 停止自身操作。
程序中断方式虽也要用程序实现外部设备的输入输出,但它只是以中断服务程序的形式插入到用户现行程序中。即 CPU 启动 I/O 后,继续自身的工作,不必查询 I/O 的状态。而 I/O 被启动后,便进入自身的准备阶段,当其准备就绪时,向 CPU 提出中断请求,此时若满足条件,CPU 暂停现行程序,转入该设备的中断服务程序,在服务程序中实现数据的传送。

5.23调用中断服务程序和调用子程序有何区别?

答:
(1)子程序的执行是程序员事先安排好的(由调用子程序的指令转入);中断服务程序的执行一般由随机的中断事件引发。
(2)子程序的执行受到主程序或上层子程序的控制;中断服务程序一般与被中断的现行程序无关。
(3)不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同中断源则可能同时向CPU 提出服务请求,因此需要中断仲裁及优先级排队。
(4)子程序是由调用指令给出目标地址,中断是通过隐指令获得中断服务程序的入口地址。

5.24试分析图 5.33 所示对多个设备的查询流程,说明这种处理方式存在的问题以及如何改进。

答:
对多个设备的查询流程图如图所示:
在这里插入图片描述
这种处理方式一旦发现某个设备需要服务,控制方向就转到与这个设备有关的服务程序,服务结束后,控制方向就转到主程序,不再继续检查其他任何设备是否准备就绪。因此,只有排在前面的设备才能经常检查,排在后面的设备却始终得不到服务。

改进的方法是将控制方向转回到查询子程序,如图所示即为改进后的多个设备查询子程序流程。 在这里插入图片描述
用这种处理方法,进入查询子程序后,一旦发现有某一设备请求服务,就把控制方向转至该设备的服务程序,且当这个服务程序结束时,控制方向又转回查询子程序,并由返回点开始继续检查排在刚处理完设备后面的其他设备。可见这种方法每转入查询子程序一次,查询序列就通过一次,只有所有的设备都已查询一遍,控制方向才转向主程序。因此没有哪一个设备会长时间的等待。

5.25根据以下要求设计一个产生3个设备向量地址的电路。

(1)3个设备的优先级按A→B→C降序排列。
(2)A、B、C的向量地址分别为110100、010100、000110。
(3)排队器采用链式排队电路。
(4)当CPU发来中断响应信号INTA时,可将向量地址取至CPU。
答:
如图5.42所示。
在这里插入图片描述
链式排队线路和设备编码器如上图所示,图中 I N T R i ( i = A 、 B 、 C ) INTR_i(i=A、B、C) INTRi(i=ABC)为请求信号,有请求时, I N T R i = 1 , I N T P i ( i = A 、 B 、 C ) INTR_i=1,INTP_i(i=A、B、C) INTRi=1INTPi(i=ABC)为排队器输出,INTA为中响应信号。点画线框内为设备编码器。当中响应信号INTA有效时,被选中的排队信号INTP通过设备编码器形成的向量地址可通过数据总线送至CPU。

5.26什么是多重中断?实现多重中断的必要条件是什么?

答:
多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

5.27 DMA方式有何特点?什么样的I/O 设备与主机交换信息时采用DMA方式,举例说明。

答:
DMA 方式的特点是主机与设备并行工作;设备通过 DMA 接口与主存有一条直接数据通路;当设备和主存交换信息时,不中断现行程序:采用周期窃取方式(此时 CPU 只需将总显得控制权转让给 DMA 使用,暂停一个存取周期访存)。
比如数据传输率很高的 I/O 设备实现成组数据的传送时采用 DMA 方式。

5.28CPU对DMA请求和中断请求的响应时间是否相同?为什么?

答:
1.CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。
2.中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求,而且CPU只有在每条指令执行周期结束的时刻才发出查询信号,以获取中断请求信号,若此时条件满足,便能响应中断请求。
3.DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。

5.29结合DMA接口电路说明其工作过程。

答:DMA 接口电路如图所示。
在这里插入图片描述
DMA的数据传送过程分为预处理、数据传送和后处理 3个阶段。
预处理阶段,CPU给DMA预置如下信息:
给DMA控制路基指明数据传送方向是输入(写主存)还是输出(读主存);
向DMA设备地址寄存器送入设备号并启动设备;
向DMA主存地址寄存器送入交换数据的主存起始地址;
对字计数器赋予要交换的数据个数;

数据传送阶段,DMA方式以数据块为单位传送,通常 DMA与主存交换数据时采用如下三种方式;停止 CPU访存、周期挪用以及DMA和CPU交替访问;

后处理阶段是 DMA 中断请求得到响应后,CPU 停止原程序的执行,转去执行中断服务程序,DMA 做的结束工作包括校验送入主存的数据是否正确,确定是否继续使用DMA传送其他数据块。

5.30在DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同,画图说明。

答:
CPU暂停方式数据传送流程图如图所示。
在这里插入图片描述
CPU 周期挪用方式数据传送流程图如图所示。
在这里插入图片描述

5.31假设某设备向CPU传送信息的最高频率是40000次/秒,而相应的中断处理程序执行时间为40μs,试问该外设是否可用程序中断方式与主机交换信息,为什么?

答:
该设备向CPU传送信息的时间间隔 = 1 / 40000 = 0.025 × 1 0 − 3 = 25 μ s =1/40000=0.025×10^{-3}=25μs =1/40000=0.025×103=25μs
则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。

5.32 设磁盘存储器转速为3000r/min,分8个扇区,每扇区存储1KB,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25μs,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?

答:
先算出碰盘传送速度,然后和指令执行速度进行比较得出结论。
16位=2B,道容量=1KB×8÷2B=4K字;
数据传输率=4K字x3000转/分=200K字/秒;
一个字传送时间=1÷200K字/秒=5μs;
5μs<<25μs,所以不能采用一条指令执行结束响应DMA请求的方式,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=主存存取周期)。

5.33试从下面7个方面比较程序查询、程序中断和DMA三种方式的综合性能。

(1)数据传送依赖软件还是硬件。
(2)传送数据的基本单位。
(3)并行性。
(4)主动性。
(5)传输速度。
(6)经济性。
(7)应用对象。
答:
在这里插入图片描述

5.34解释周期挪用,分析周期挪用可能会出现的几种情况。

答:
所谓周期挪用即在 DMA 传送方式中,当 I/O 设备没有 DMA 请求时,CPU 按程序的要求访问主存;一旦 I/O 设备有 DMA 请求并与 CPU 访存发生冲突时,CPU 要暂停一个存取周期访存,把总线控制权让给 DMA。这就好比 I/O 设备挪用了 CPU 的访存周期,故称周期挪用。
设备提出 DMA 请求可能会遇到三种情况:
(1)I/O 设备有 DMA 请求时,CPU 正在进行自身的操作,并不需要访存,即 I/O 的 DMA 访存和 CPU 访存没有冲突,故不存在周期挪用。
(2)I/O 设备要求访存时,CPU 也要求访存,此时发生冲突。在这种情况下,I/O 的 DMA 请求优先,即出现了周期挪用,CPU 延缓一个存取周期访存。
(3)I/O 设备有 DMA 请求时,存储器本身正处于“忙”状态,此时必须等待存取周期结束后才能进行访存。

5.35试从5个方面比较程序中断方式和DMA方式的区别。

答:
DAM方式和程序中断方式的区别为:
从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送;
从CPU响应时间看,程序中断方式在一条指令执行结束时响应,而DMA方式在存取周期结束时CPU才能响应,即将总线控制权让给DMA传送;
程序中断方式有处理异常事件的能力,DMA方式没有这种能力;
程序中断方式需要中断现行程序,故需保护现场,DMA方式不必中断现行程序,无需保护现场;
DMA的优先级比程序中断高。

猜你喜欢

转载自blog.csdn.net/weixin_45735391/article/details/127178714