05计组课后习题:输入输出系统

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

解答:

I/O的编址方式有两种:统一编址和不统一编址(单独编址)

1. 统一编址:即在主存地址空间划出一定的范围作为I/O地址,这样通过访存指令即可实现对I/O的访问。但是主存容量相应减少。

2. 不统一编址:I/O和主存地址是分开的,I/O地址不占主存空间,故这种编址不影响主存容量,但访问I/O时必须有专用的I/O指令。

 

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

什么叫CPU与I/O之间的联络?

不论是串行传送还是并行传送,I/O设备与主机之间必须互相了解彼此当时所处的状态,如是否可以传送、传送是否已结束等。

解答:

按照I/O设备工作速度的不同,可分为三种联络方式:

(1)立即响应方式。对于一些速度极慢或简单的外部设备,它们与CPU联络时,通常早已使其处于某种状态,因此只要CPU命令一到,它们就立即响应。

(2)异步方式。对于一些慢速或中速的外设,由于与主机工作速度不匹配,且本身又在不规则时间间隔下操作,则大多采用异步方式。即交换信息前,I/O与CPU各自完成自身的任务,仅当出现联络信号时,才彼此交换信息。联络时采用应答方式,如 ”Ready“ 和 ”Strobe“ 可分别来表示 ”准备就绪“ 和 ”响应“ 的含义。

(3)同步方式。对于一些高速外设,它们是以相等的时间间隔操作的,而CPU也是以同等的速度执行输入输出指令。如某外设以2400bps的速率传输信息,而CPU需隔 1/2400 s的速率接收每一位数,这就是同步方式。这种联络互相之间还得配有专用电路,用以产生同步时标来控制同步工作。

 

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

(1)程序查询方式。其特点是主机与I/O串行工作。CPU启动I/O后,时刻查询I/O是否准备好,若设备准备就绪,CPU便转入处理I/O与主机间传送信息的程序;若设备未做好准备,则CPU反复查询,”踏步“ 等待直到I/O 准备就绪为止。可见这种方式 CPU效率很低。

(2)程序中断方式。其特点是主机与I/O 并行工作。CPU启动 I/O后,不必时刻查询 I/O是否准备好,而是继续执行程序。当 I/O 准备就绪时,向CPU 发中断请求信号,CPU在适当的时候响应 I/O 的中断请求,暂停现行程序为I/O服务。这种方式消除了 ”踏步“ 现象,提高了CPU的效率。

(3)DMA(Direct Memory Access)方式。其特点是主机与I/O并行工作,主存与I/O之间有一条直接数据通路。CPU启动 I/O后,不必查询 I/O是否准备好,当I/O准备就绪后,发出DMA请求,此时CPU不直接参与 I/O和主存间的信息交换,只是把外部总线(地址线、数据线及有关控制线)的使用权暂时交赋予DMA,仍然可以完成自身内部的操作(如加法、移位等),故不必终端现行程序,只需暂停一个存取周期访存(即周期挪用),CPU的效率更高。

(4)通道方式。通道是一个具有特殊功能的处理器,CPU把部分权力下放给通道,由它实现对外围设备的统一管理和外围设备与主存之间的数据交换,大大提高了CPU的效率,但它是以花费更多的硬件为代价的。

(5)I/O处理机方式。它是通道方式的进一步发展,CPU将 I/O 操作及外围设备的管理权全部交给I/O处理机,其实质是多机系统,因而效率有更大提高。

 

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

由下图可知:DMA方式的工作效率最高,程序中断方式其次,程序查询方式最低。

 

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

(1)图形显示器是用点、线、面组合而成的平面或立体图形。并可以做平移、比例变化、旋转、坐标变换、投影变换、透视变换、透视投影、轴侧投影、单点透视、两点或三点透视以及隐线处理等操作。主要用于CAD和CAM等。图形显示器所显示的图形是由计算机用一定的算法形成的点、线、面、阴影等,它来自主观世界,因此又称主观图像或叫做计算机图像。

(2)图像显示器所显示的图像通常来自客观世界,故又称客观图像。图像显示器是把由计算机处理后的图像,以点阵列的形式显示出来。

 

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

(1)缓冲存储器作为显示存储器,存放欲显示的字符的ASCII码,其容量与显示屏能显示的字符个数有关,每个字符所在存储单元的地址与字符所在荧光屏上的位置一一对应。

(2)只读存储器作为字符发生器,将ASCII码转变为一组光点矩阵信息ROM的个数与显示器所能显示的字符种类有关。

 

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

针式打印机、激光打印机和喷墨打印机都配备有一个字符发生器,它们的共同特点是都能将字符编码信息变为点阵信息,不同的是这些点阵信息的控制对象不同。点阵针式打印机的字符点阵用于控制打印机的驱动电路;激光打印机的字符点阵脉冲信号用于控制及激光束;喷墨打印机的字符点阵信息控制墨滴的运动轨迹。

此外,点阵针式打印机是属于击打式打印机,可以逐字打印也可以逐行打印,喷墨打印机只能逐字打印,激光打印机据页式输出设备,后两者都属于非击打式打印机。

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

 

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

解答:每秒共传位数:480 × 10 = 4800位,因此速率为4800位/秒 = 4800波特

波特——是数据传送速率波特率的单位。

比特率:4800 × (7/10)= 3360 位/秒

 

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

多媒体技术是指强调计算机与声音、活动图像和文字相结合的技术。

多媒体技术的关键技术主要有:视频和音频数据的压缩和解压缩技术、多媒体专用芯片、大容量存储器、适用于多媒体技术的软件。

 

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

解答:

(1)I/O接口位于CPU和外设之间,是一个连接部件,它一边通过地址线、数据线和控制线与CPU连接,另一边通过数据信息、控制信息和状态信息与外设连接。

(2)数据信息、状态信息和控制信息分别放在外设接口的不同寄存器中。这些寄存器被称作端口(port),数据口、状态口和控制口、分别存放数据信息、状态信息和控制信息。CPU可对这些端口(寄存器)进行 ”读“ 和 ”写“ 操作,因此每个端口都有一个 ”地址“ 对应。CPU对这些端口都是可编程的。 

接口的设置主要是为了解决主机和外设直接的差异问题,实现相互通信。

I/O接口分类方法很多,主要有:

1)按数据传送方式分有并行接口和串行接口两种;

2)按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。

 

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

教材 P188

 

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

以 “输入” 设备为例,该接口的工作过程如下:

(1)当CPU通过 I/O 指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路。

(2)若该接口的设备码与地址线上的代码吻合,其输出SEL(selected)有效。

(3)I/O 指令的启动命令经过 ”与非“ 门将工作触发器B 置 ”1“,将完成触发器D置为 ”0“

(4)由B触发器启动设备工作

(5)输入设备将数据送至数据缓冲寄存器

(6) 由设备发设备工作结束信号,将D置 ”1“,B置 ”0“,表示外设准备就绪

(7)D触发器以”准备就绪“状态通知CPU,表示”数据缓冲满“。

(8)CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。

 

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

区别:向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。

联系:中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。

 

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

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

 

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

解答:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。

 

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

解答:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

 

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

解答:

N个数据所需处理的总时间 = P × N + Q 秒

平均每个数据所需处理的时间 = (P × N + Q)/ N 秒

求倒数得:该系统跟踪到m每秒中断请求数 = N /(P × N + Q)次

 

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

 

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

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

     

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

解答:比较单重中断和多重中断服务程序的处理流程,可以发现其区别在于 ”开中断“ 的设置时间不同。

对于单重中断,开中断指令设置在最后 ”中断返回“ 之前,意味着在整个中断服务处理过程中,不能再响应其他中断源的请求。

对于多重中断,开中断指令提前至 ”保护现场“ 之后,意味着在 保护现场后,若有级别更高的中断源提出请求(这是实现多重中断的必要条件),CPU也可以响应,即再次中断现行的服务程序,转至新的中断服务程序,这是单重中断和多重中断的主要区别。

 

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

解答:中断向量通过数据总线送至CPU,更具体地说是CPU中的PC。

因为要通过中断向量来寻找设备的中断服务程序入口地址,中断响应阶段将形成的向量地址即中断向量送至PC,作为下一条指令的地址,即设备的中断服务程序入口地址,转至执行中断服务程序。

 

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

解答:程序查询方式通过 ”程序“ 传送数据时,程序对 I/O 的控制包括了 ”I/O准备“ 和 ”I/O传送“ 两端时间。由于 I/O 的工作速度比CPU 低得多,因此程序中要反复询问 I/O的状态,造成 ”踏步等待“,严重浪费了CPU的工作时间。

而程序中断方式虽然也是通过 ”程序“ 传送数据, 但程序仅对 I/O传送阶段进行控制,I/O准备阶段不需要CPU查询。故CPU此时照样可以运行现行程序,与 I/O并行工作,大大提高了CPU 的工作效率。

 

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

解答:

(1)中断服务程序与中断时CPU正在运行的程序是相互独立的,它们之间没有确定的关系。子程序调用时传入的子程序与CPU正在执行的程序段是同一程序的两部分。

(2)除了软中断,通常中断产生都是随机的,而子程序调用是由CALL指令(子程序调用指令)引起的。

(3)中断服务程序的入口地址可以通过硬件向量法产生向量地址,再由向量地址找到入口地址。子程序调用的子程序入口地址是由CALL指令中的地址码给出的。

(4)调用中断服务程序和子程序都需要保护程序断点,前者由中断隐指令完成,后者由CALL指令本身完成。

(5)处理中断服务程序时,对多个同时发生的中断需进行裁决,而调用子程序时一般没有这种操作。

(6)在中断服务程序和所调用的子程序中都有保护寄存器内容的操作。

 

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.26 什么是多重中断?实现多重中断的必要条件是什么?

解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

 

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

解答:

DMA方式即直接存储器访问方式,也就是在外设和主存之间直接通过总线传送信息,而不需经过CPU,提高了传送效率也减少了CPU的负担。

一般都是高速外设和内存的信息传送采用DMA方式。比如硬盘。

 

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

解: CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。

中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求,而且CPU只有在每条指令执行周期结束的时刻才发出查询信号,以获取中断请求信号,若此时条件满足,便能响应中断请求。

DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。

 

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

解答:略

 

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

解答:


   

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

解:该设备向CPU传送信息的时间间隔 =1/40000=0.025×10^(-3)=25 ms < 40ms

    则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。

 

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

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。

道容量= 1K ×8 ×8 位= 8KB = 4K字

数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K秒» 5ms  (注:在此1K=1024,来自数据块单位缩写。)

因为5 ms<<25ms,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。

 

5.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的操作方式看。

 

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

解答:周期挪用即周期窃取

DMA访问主存有三种可能:

1. CPU此时不访问。

2. CPU正在访存。

3. CPU与DMA同时请求访存,此时CPU将总线控制权让给DMA。

 

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

解答:

(1)从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送。

(2)从CPU响应时看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应。

(3)程序中断方式有处理异常事件的能力,DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处理、高速数据采集系统等,可提高数据吞吐量。

(4)程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场。

(5)DMA的优先级比程序中断的优先级高。

 

 

  • 21
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值