山东大学计算机组成原理第7次作业及参考答案2012 下载本文

内容发布更新时间 : 2024/5/27 0:24:12星期一 下面是文章的全部内容请认真阅读。

第7次作业及参考答案

第五章作业

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

I/O设备与主机交换信息时,共有5种控制方式:程序查询方式、程序中断方式、DMA方式、I/O通道方式和I/O处理机方式。其中前3种方式是基本的且广泛应用的控制方式。

程序查询方式的特点:控制简单,硬件开销小;CPU与外设是串行工作的,系统效率低。适用于CPU不太忙且传送速度要求不太高的场合。

程序中断方式的特点:CPU和外设可并行工作,提高了CPU的效率,不仅适于主机和外设的数据交换,还特别适于对外界随机事件的处理。适用于CPU较忙,传送速度不太高的系统中,尤其适合实时控制及紧急事件的处理。

DMA方式的特点:完全由硬件(DMA控制器)负责完成信息交换,信息传递从以CPU为中心,转为以内存为中心,CPU和外设可并行工作,对高速大批量数据传送特别有用。但缺点是只能进行简单数据交换,电路结构复杂,硬件开销大。 5.16 在什么条件和什么时间,CPU可以响应I/O的中断请求?

参考答案要点:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

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

1)二者的比较可用两种中断的服务程序流程图(见教材P201)的对比来说明,此处略。 2)单重中断和多重中断的区别在于“开中断”的设置时间不同。对于单重中断,开中断指令设置在最后“中断返回”之前,意味着在整个中断服务处理过程中,不能再响应其他中断源的请求。而对于多重中断,开中断指令提前至“保护现场”之后,意味着在保护现场之后,若有更高级别的中断源提出请求,CPU也可以响应,从而实现中断嵌套,这是二者的主要区别。

5.29 结合DMA接口电路说明其工作过程。 参考答案要点:

DMA的数据传送过程分为预处理、数据传送和后处理3个阶段。工作过程如下图所示:

数据传送CPU预处理:DMA主存起始地址设备地址DMA传送数据个数DMA启动设备数据传送:CPU继续执行主程序同时DMA完成一批数据传送DMA请求否允许传送?是主存地址送总线数据送I/O设备(或主存)修改主存地址修改字计数器后处理:中断服务程序做DMA 结束处理继续执行主程序否数据块传送结束?是向CPU申请程序中断

1) 预处理阶段:CPU执行主程序实现DMA传送的初始化设置; 2)数据传送阶段:硬件实现数据传送M←→I/O。

3)后处理阶段:中断处理程序判断传送的正误,完成善后工作。 补充题1:说明DMA控制器中主要的寄存器及其作用。 参考答案要点:

DMA控制器中主要的寄存器有主存地址寄存器(AR)、字计数器(WC)、数据缓冲寄存器(BR)、设备地址寄存器(DAR)。各自的作用如下:

1)主存地址寄存器(AR):用于存放主存中用于交换的数据的内存首地址; 2)字计数器(WC):用于记录传送数据的总字数; 3)数据缓冲寄存器(BR):用于暂存每次传送的数据;

4)设备地址寄存器(DAR):存放I/O设备的设备码或表示设备信息存储区的寻址信息。

补充题2:为什么采用DMA方式实现内存和高速外设间的数据传送?DMA方式能取代程序中断方式吗?请说明理由。

参考答案要点:1)高速I/O设备若采用程序查询方式或程序中断方式来实现主机和外设之

间的数据交换,都是通过CPU执行程序来完成,数据交换都是以字或字节为单位,所以两种方式都不能满足批量数据的高速传递需求,从而极可能造成数据的丢失。因此,需要借助于硬件,比如DMA控制器来实现主存和高速外设之间的直接数据传送。

2)DMA方式不能取代程序中断方式,理由如下:

① DMA方式只能用于高速外设与内存之间的简单数据传递,却不能像中断方式那样能够处理复杂的随机事件;② 在DMA方式的数据传送全过程中,本身需要利用中断方式来完成DMA传送的后处理。

第八章作业

8.25 设某机有五个中断源L0、L1、L2、 L3、L4,按中断响应的优先次序由高向低排序为L0?L1 ?L2 ?L3 ?L4,现要求中断处理次序改为L1?L4 ?L2 ?L0 ?L3,根据下面的格式,写出各中断源的屏蔽字。 参考答案要点:

中断源

L0 L1 L2 L3 L4 0 1 2 3 4 1 0 0 1 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1

补充题 (选做):有四个中断源1#、2#、3#、4#,分属四级中断1级、2级、3级、4级,CPU响应顺序为1级→2级→3级→4级,其中1级优先级最高,4级优先级最低(假定CPU运行的现行程序优先级最低)。要求 CPU处理顺序为2级→4级→1级→3级。写出各级中断屏蔽字;在某时刻四级中断源同时提出中断请求,画出CPU的运行轨迹。 参考答案要点:

1)响应中断请求后送出的各级中断屏蔽字:1级的中断屏蔽字为:1010;2级的中断屏蔽字为:1111;3级的中断屏蔽字为:0010;4级的中断屏蔽字为:1011;(屏蔽字的顺序为IMR1

屏 蔽 字