CH5 输入输出系统
5.1. I/O设备有哪些编址方法?各有何特点?
答:I/O与内存统一编址与I/O独立编址。 答案见P160
5.2. 简要说明CPU与I/O设备之间传递信息可采用哪几种联络方式?分别用于何场合?
答:3种联络方式:立即响应,异步工作,同步工作。答案参见P161“4.联络方式”。
5.3. I/O设备与主机交换信息时有哪几种控制方式?简述它们的特点?
答:5种控制方式:程序查询,程序中断,DMA,I/O通道,I/O处理机。特点如下,
程序查询方式:CPU通过程序不断查询I/O设备是否准备好,I/O接口上必须设有状态标记以供CPU查询;I/O设备与CPU处于串行工作状态,CPU存在踏步现象,工作效率低。
程序中断方式:CPU在启动I/O设备后继续执行自身程序;只有当外设准备好,向CPU发出中断请求且CPU响应后,才中断当前执行程序,转去处理中断请求,中断处理完再返回原程序。这种方式消除踏步现象,只有在中断处理时占用CPU,CPU工作效率较高。
DMA方式:主存与外设之间有一条数据通道;主存与外设交换数据时无需CPU介入,而由DMA控制器来控制;CPU将总线使用权让给DMA控制器。
答案参见P162~165。
5.4. 比较程序查询方式,程序中断方式,和DMA方式对CPU工作效率的影响?
答:程序查询方式:I/O设备准备时,CPU通过程序不断查询I/O设备是否准备好;I/O设备与CPU处于串行工作状态,CPU工作效率低。
程序中断方式: 当I/O设备准备时无需占用CPU,CPU继续执行当前程序,这时CPU与I/O设备并行工作;当外设准备好发送(接收)数据时,向CPU发出中断请求时,才需要CPU,CPU处理中断并转去执行中断服务子程序时,中断处理完CPU返回断点处继续执行原程序。与程序查询方式相比,CPU工作效率高很多。
DMA方式:外设在准备数据以及与主存交换数据时,均无需占用CPU,数据交换由DMA控制器来控制,而CPU将总线使用权让给DMA控制器。在数据交换时,CPU虽不能访存,但可以做一些内部操作。在数据交换结束时,需要CPU以中断方式介入进行数据后处理工作。3种方式中,DMA方式下CPU的工作效率最高。
5.8. 答:每个字符=10bits,数据传送率=480*10=4800bps
5.10 什么是I/O接口,它与端口的区别?为何要设置I/O接口?I/O接口如何分类?
答:接口:CPU与外部设备之间的连接部件。
接口与端口的区别:参见P186-187。
设置接口的理由(P187):选择设备,数据缓冲,数据转换,传送主机命令和设备状态。
接口分类(P190):并行/串行接口,可编程/不可编程接口,通用/专用接口,程序型/DMA型接口。
5.11 简述I/O接口的功能和基本组成?
答:I/O接口的功能(P188):选址,传送数据,传送命令,反映设备状态。
I/O接口组成(P190):设备选择电路,数据缓冲器,命令寄存器,命令译码器,设备状态标记,控制逻辑电路。图见图5.31。
5.12 结合程序查询方式的接口电路,说明其工作过程?
答:程序查询方式接口电路的工作过程(P193),图见图5.35。
5.13 说明中断向量地址与入口地址的区别与联系。
答:区别:向量地址是由硬件电路产生的,其位数与中断源个数相关,一个中断源对应一个向量地址;中断入口地址是中断服务子程序的首地址。
联系:向量地址可以看作中断入口地址的指示器,通过它访存可获得中断入口地址。
5.14 什么条件下,I/O设备向CPU提出中断请求?
答:外设向CPU提出中断请求的条件:外设工作完成(完成触发器D被置为1),且中断屏蔽触发器MASK被置为0,则中断请求触发器INTR被置为1。(P195)
5.15 什么是中断允许触发器?它有何作用?
答:中断允许触发器:CPU内部触发器,以ENIT表示。ENIT为“1”(置位),允许CPU响应中断,为“0”(复位),不允许CPU响应中断。该触发器可用开中断指令置位,用关中断指令复位。
置位中断允许触发器的时间不同,可实现单重中断和多重中断。
5.16. 在什么条件和时间下,CPU可以响应外设的中断请求?
答:当外设申请中断时,CPU响应中断的条件:中断允许触发器置1。
CPU响应中断的时间:每条指令执行阶段的结束时刻。
5.17.
答:[注意:主程序对N个数据的处理不是中断处理。]
处理N个数据的时间=P*N+Q(秒)。则,每个数据需要的处理时间=( P*N+Q)/N。
所以:每秒钟,该系统可跟踪的中断请求次数为:N/( P*N+Q)。
5.19 答:[这题为中断嵌套。] 打印机输出应停下来等磁盘操作结束再继续。此外,打印机速度比磁盘输入输出速度慢,因此暂停打印不会造成数据丢失。
5.20 答:单重中断与多重中断的处理流程图见:书P201 图5.43
不同:在恢复现场之后、中断返回之前开中断,可以实现单重中断;在保护现场之后立即开中断,可以实现多重中断。
5.21 中断向量通过什么总线送至什么地方?
答: 中断向量通过什么地址总线送至指令寄存器PC。
5.28 CPU对DMA请求和中断请求的响应时间是否相同?为什么?
答:响应时间不同。CPU响应DMA方式在指令周期的任一存取周期结束时,响应中断在指令执行结束时。(书 P210)
原因:采用DMA方式交换数据,数据输入输出的速度很快,CPU必须以更短的时间查询和响应,否则数据丢失。
5.29 结合DMA接口电路说明其工作过程(以数据输入主存为例)。
答:参加P207,图5.47见P205。
5.30 答:两者主要区别在于:数据传送阶段,CPU是否完全停止访存。
图见“计组原理ch5(5).ppt”P5~8。
5.31 答:每次信息传送时间=1/40k =25*10-6=25us, 小于40us。所以,不能使用中断方式。
5.32. 答:[分析:计算磁盘传送速度,然后与指令执行速度进行比较]
磁盘的数据传输率=(3000/60)*8*1kB = 50*8k (B/s)
则,数据总线的数据传送的频率 >= 磁盘的数据传输率,数据才不丢失。即数据总线的数据传送的频率 f >= [(50*8k*8)bits/16bits], f >= 200kHz。
则,每次传送数据所需时间:t<=1/200kHz 即 t<=5us.
上式表示:至少每隔5us必须传送一次数据,否则数据将丢失。
而指令最长执行时间为25us, 远大于5us, 因此不能在指令结束时响应DMA请求。
可采用的方案:在主存的存取周期结束时响应DMA请求。