微型计算机接口技术及应用习题答案(刘乐善) 联系客服

发布时间 : 星期三 文章微型计算机接口技术及应用习题答案(刘乐善)更新完毕开始阅读

的作用是提供存储单元的页面地址,即高位地址。

9.采用DMA方式在内存与I/O设备之间传送数据时,DMA控制器8237A-5怎样实现对I/O设备的寻址?

DMA控制器8237A-5提供DACK信号给I/O设备,取代其地址选择信号,使申请DMA传送并被允许的设备在DMA传送过程中一直是有效设备。即:用DACK信号取代了芯片选择和片内端口选择信号。

10.DMA控制器8237A-5在系统中如何生成访问内存的有效地址?

内存地址是通过地址线传送的,如在PC机系统中,20位物理地址由几部分构成:

A0~7:由8237A-5的A0~7引脚直接发出

A8~15:由8237A-5的DB0~7引脚发出,然后由外部地址锁存器锁存后提供 A16~19:由页面地址寄存器74LS670提供A4~7

11.IBM-PC系列微机中DMA系统的配置情况有哪两种?

在IBM-PC系列微机中DMA系统有单片DMAC和双片DMAC两种配置。 单片系统:支持4个通道的8位数据传送。每个通道有64KB的计数能力,有一个能提供4位地址的页面地址寄存器,所以寻址能力达到1MB

双片系统:支持7个通道的数据传送,其中3个通道支持8位传送,4个通道支持16位传送。每个通道有64KB的计数能力,系统配置了一个能提供8位地址的页面地址寄存器,所以寻址能力达到16MB。

12.用户利用PC微机的DMA系统资源进行DMA传送时,是否要求用户对8237A-5的16个寄存器全部进行编程?为什么?一般需要对8237A-5的哪几个寄存器进行编程?

用户利用PC微机的DMA系统资源进行DMA传送时,并不需要也不能对16个寄存器全部进行编程。因为系统在ROM-BIOS的初始化测试阶段已对8237A-5的命令寄存器进行了设置,不允许用户进行修改。

用户在使用时一般只要根据需要对方式寄存器、基(当前)地址寄存器、基(当前)字节计数器、屏蔽寄存器(单个通道)进行编程,并用软命令清除先/后触发器即可。

习题五

1.什么是中断?

是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。

2.可屏蔽中断处理的一般过程是什么?

可屏蔽中断的处理过程一般可分为4个阶段:

(24) 中断申请:外设向CPU发出中断申请信号,CPU检测到有效的

INTR,且无DMA请求、IF=1,当前指令执行完毕就进入响应阶段 (25) 中断响应:CPU通过总线控制器发出两个连续的中断响应信号(2

个 INTA 负脉冲)组成中断响应周期。在中断响应周期中,CPU取得中断类型号n,将程序状态字(PSW)及断点的地址(CS和IP)依次入栈保护。再查中断向量表,将(4*n)?IP;(4*n+2)?CS,进入中断服务阶段

(26) 中断服务:CPU执行中断服务程序,为中断源服务

(27) 中断返回:当执行到中断服务程序中的IRET指令时,将堆栈栈顶

的三个字单元内容弹出,依次送给IP、CS、PSW,CPU返回到原来的程序去执行。

3.什么是中断优先级?设置中断优先级的目的是什么?

中断优先级是指,中断源被响应和处理的优先等级。设置优先级的目的是为了在有多个中断源同时发出中断请求时,CPU能够按照预定的顺序(如:按事件的轻重缓急处理)进行响应并处理。 4.什么是中断嵌套?

是指CPU正在执行一个中断服务程序时,有另一个优先级更高的中断提出中断请求,这时会暂时挂起当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,这个过程就是中断嵌套。

5.什么是中断向量?它是如何装入中断向量表的?

中断向量是中断服务程序的入口地址,一个中断向量由4个字节组成,它包括中断服务程序的段首址和偏移地址。

中断向量并非常驻内存,而是由程序装入中断向量表中的。系统配置和使用的中断所对应的中断向量由系统软件负责装入;系统若未配置系统软件(如单板机系统),或用户自定义的中断向量,由用户自行装入。 6.什么是中断类型号?它的作用是什么?

中断类型号是系统为每一个中断源分配的代号,它是8位的,与系统的中断源一一对应。

中断类型号负责引导CPU找到中断服务程序的入口点。通过中断类型号查中断向量表可得到中断向量(中断服务程序入口地址),其中:物理地址为4*n的单元是中断服务程序入口点的偏移地址;物理地址为4*n+2的单元是中断服务程序的段首址。

7.不可屏蔽中断和可屏蔽中断各有何特点?其用途如何?

不可屏蔽中断(NMI):CPU不能屏蔽,即:无论IF的状态如何,CPU收到有效的NMI必须进行响应;NMI是上升沿有效;中断类型号固定(为2);它在被响应时无中断响应周期。不可屏蔽中断通常用于故障处理(如:协处理器运算出错、存储器校验出错、I/O通道校验出错等)

可屏蔽中断(INTR):CPU可以通过设置IF的状态屏蔽它,若IF=1,CPU响应,IF=0,CPU不响应;INTR高电平有效;它需要中断响应周期;中断类型号由中断控制器在中断响应周期中提供给CPU。可屏蔽中断主要用于普通I/O设备请求与CPU进行数据交换。

8.IBM-PC微机的中断系统由哪几部分构成?

IBM-PC微机的中断系统由硬件中断(外部中断)和软件中断(内部中断)组成。

硬件中断又分为可屏蔽中断INTR和不可屏蔽中断(NMI);

软件中断有双字节指令形式的中断(ROM-BIOS中断、DOS中断和未定义自由中断)和几种特殊类型的中断(除法溢出中断、单步中断、断点中断、溢出中断)。

9.所谓DOS系统功能调用是指哪一个软中断?试举出一些常用的设备管理和文件管理的DOS功能调用。

DOS系统功能调用是指中断类型号为21H的软中断指令INT 21H。

例如:

功能号为01H,对键盘管理,输入一个字符; 功能号为0AH,对键盘管理,输入一个字符串; 功能号为02H,对显示器管理,输出一个字符; 功能号为09H,对显示器管理,输出一个字符串; 功能号为3CH,对文件管理,建立一个文件; 功能号为3DH,对文件管理,打开一个文件; 功能号为3EH,对文件管理,关闭文件; 功能号为3FH,对文件管理,读文件; 功能号为40H,对文件管理,写文件。 10.试比较软中断和硬中断不同的特点。

软中断和硬中断的不同主要体现在以下几个方面: 软中断 硬中断(INTR) 是否有随机性、突发性 否 是 是否有中断响应周期 无 有 中断类型号的提供方法 固定或由指令提供 由中断控制器提供 是否可屏蔽(受IF影响) 不可屏蔽 可屏蔽 硬中断中的不可屏蔽中断NMI除了具有随机性和突发性之外,其余特点同软中断。

11可编程中断控制器8259A协助CPU处理哪些中断事务?

8259A协助CPU完成的中断事务主要有:

接收和扩充外设的中断请求;进行中断请求的屏蔽与开放控制;对中断源进行优先级排队管理;中断被响应时,提供该中断源的中断类型号。

12.8259A具有哪些工作方式和中断操作功能?指出与这些功能相对应的命令字(ICW/OCW)的内容?

8259A的工作方式有以下几种:

(1) 引入中断请求的方式:有边沿触发和电平触发两种;中断服务方式

有向量式中断和查询式中断两种;

(2) 与系统总线的连接方式:缓冲方式和非缓冲方式两种; (3) 屏蔽中断的方式:通常屏蔽和特殊屏蔽两种方式;

(4) 优先级排队的方式:固定优先级和循环优先级(优先级轮换)两种,

循环优先级又分为指定轮换和自动轮换两种;

(5) 中断结束的方式:自动结束方式和非自动结束方式两种 8259A的中断操作功能有以下几个:

(1) 设置中断触发方式、选择8259A芯片的数目——由ICW1完成; (2) 设置中断类型号的高五位——由ICW2完成;

(3) 设置级联方式具体的连接情况(主片的哪些中断申请端连有从片;

从片与主片的哪个中断申请端相连)——由ICW3完成;

(4) 设置特定完全嵌套方式、缓冲方式和中断结束方式——ICW4完成; (5) 设置对各中断源的屏蔽与开放状态——由OCW1完成; (6) 设置优先级轮换及发中断结束命令——由OCW2完成;

(7) 设置特殊屏蔽方式、查询式中断的服务方式、选择要读出的寄存器

——由OCW3完成;

13在什么情况下,才要求用户对8259A进行初始化?

一般在没有配置完善的操作系统的单板微机系统中,才需要对8259A进行初始化。另外,若通过插件板扩展中断系统,附加的8259A由于系统软件并未对它进行初始化,所以用户要写入它的初始化程序。

14如何对8259A进行初始化编程(包括单片使用和双片使用)?

在单片8259A系统中,初始化时按顺序依次写入ICW1、ICW2、和ICW4; 在双片8259A系统中,初始化时要按顺序依次写入ICW1、ICW2、ICW3和ICW4。

15什么是中断响应周期?在中断响应周期中CPU和8259A一般要完成哪些工作?

CPU收到有效的INTR信号,若IF=1,且无DMA请求,当前指令执行完毕,就通过总线控制器发出连续的两个中断响应信号(应周期。

)组成一个中断响

在第1个负脉冲中,CPU发出有效的总线锁定信号,封锁总线,防止其他主控器占用总线;8259A经判优后将IRR的相应位清0,ISR的对应位置1。

在第2个负脉冲中,CPU撤除总线锁定信号,ALE信号也变为无效,允许数据线传送数据;8259A将被响应中断源的中断类型号送给CPU。 若8259A工作于自动结束方式,在第2个负脉冲的后沿,8259A还要清除ISR中在第1个负脉冲里置1的位。

16用户利用PC微机的中断系统资源进行中断传送时,要求用户对8259A的哪些命令进行编程使用?

用户利用PC微机的中断系统资源进行中断传送时,对8259A的编程主要是写入OCW1(开放或屏蔽某些中断级)和OCW2(发中断结束命令)。 17何谓中断向量修改?修改中断向量的方法和步骤如何?

在实际应用中,用户借用系统的中断资源(中断类型号)来运行自己的中断服务程序时,需要将中断向量表中原来的中断向量修改为自己中断服务程序的入口地址,这就是中断向量的修改。

中断向量的修改方法一般是利用DOS功能调用的35H号和25H号功能,其步骤可分为以下3步:

(1) 保存原中断向量:用35H号功能读取原来的中断向量,保存于两个

字单元中;

(2) 设置新的中断向量:用25H号功能将新的中断向量填入到中断向量

表的相应位置(4*n~4*n+2单元中);

(3) 恢复原中断向量:使用完,再利用25H号功能将保存于两个字单元

中的原来的中断向量重新填入到中断向量表中。

18中断结束命令安排在程序的什么地方?在什么情况下要求发中断结束命令?为什么?

中断结束命令一般安排在中断服务程序中,在中断服务完成,中断返回指令(IRET)之前。

在8259A工作于非自动结束方式时,要送中断结束命令。因为这种方式,即使中断已经服务完毕,ISR中的对应位也不会自动清0,这样就使得低优先级的中断和同级中断得不到应有的响应。通过发中断结束命令,将服务完的中断级在ISR中的对应位清0,以便开放同级和低级中断。

习题六