微机原理4.doc

上传人:sk****8 文档编号:3101408 上传时间:2019-05-21 格式:DOC 页数:15 大小:114.50KB
下载 相关 举报
微机原理4.doc_第1页
第1页 / 共15页
微机原理4.doc_第2页
第2页 / 共15页
微机原理4.doc_第3页
第3页 / 共15页
微机原理4.doc_第4页
第4页 / 共15页
微机原理4.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、第七章 中断控制器、DMA 控制器和计数器/定时器7.1 8259A 的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?答:1.8259A 的初始化命令字是计算机系统启动时,由初始化程序设置的。初始化命令字一旦设定,一般在系统工作过程中就不再改变。操作命令字则是由应用程序设定的,它们用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可以多次设置。2.初始化命令字对应于编程结构的 ICW1、ICW 2、ICW 3、ICW 4 共 4个寄存器。操作命令字对应于编程结构的 OCW1、 OCW2、OCW 3共 3 个寄存器。7.2 8259A 的中断屏蔽寄存器

2、IMR 和 8086/8088CPU 的中断允许标志 IF 有什么差别?在中断响应过程中,它们怎样配合起来工作?答:1.若 IMR 的某位为 0 则该位对应的引腿上的中断请求未加屏蔽,让它通过而进入中断优先级裁决器作裁决。若 IMR 的某位为 1 则屏蔽该位对应的引腿上的中断请求,不让它进入中断优先级裁决器。而8086/8088CPU 的中断允许标志 IF 为 1 则允许 INTR 引腿进入的中断,IF 为 0 则屏蔽 INTR 引腿进入的中断。与 8259A 的 IMR 位为 0为 1 正好相反。2.在中断响应过程中,IMR 用于对外设向 8259A 发中断申请的允许/屏蔽,而 CPU 的

3、IF 用于对 8259A 由 INT 向 CPU 的 INTR 引腿发中断申请的允许/屏蔽。7.3 8259A 的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。而特殊全嵌套方式则能被同级和高级的中断请求所嵌套。2.全嵌套方式用于单片 8259A 的场合。特殊全嵌套方式用于多片8259A 系统。7.4 8259A 的优先级循环方式和优先级特殊循环方式有什么差别?答:在优先级特殊循环方式中,一开始的最低优先级是由编程确定的,从而最高优先级也由此而定。而优先级自动循环方式初始优先级队列为 IR0IR7。7.5 8259A 的

4、特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?答:1.在特殊屏蔽方式中用 OCW1 对屏蔽寄存器中某一位进行置位时,就会同时使 ISR 中的对应位自动清 0。而普通屏蔽方式对 OCW1 的操作不影响 ISR 中各位的状态。2.特殊屏蔽方式用于中断处理程序中,以开放比本身的优先级较低的中断请求。7.6 8259A 有几种结束中断处理的方式?各自应用在什么场合?除了中断自动结束方式以外,其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题?答:1.8259A 有三种结束中断处理的方式。2.中断自动结束方式用于只有一片 8259A,并且多个中断不会嵌套的情

5、况。一般的中断结束方式用在全嵌套情况下及多片 8259A 的级联系统中。特殊中断结束方式用于循环优先级的 8259A 中。3.不发中断结束命令会使 8259A 认为该中断未结束,从而挡住了低优先级的中断被响应,即中断控制功能不正常。7.7 8259A 引入中断请求的方式有哪几种?如果对 8259A 用查询方式引入中断请求,那会有什么特点?中断查询方式用在什么场合?答:1.引入中断请求的方式有:边沿触发方式、电平触发方式、中断查询方式三种。2.中断查询方式的特点: 设备仍然通过往 8259A 发中断请求信号要求 CPU 服务,但8259A 不使用 INT 信号向 CPU 发中断请求信号。 CPU

6、 内部的中断允许触发器复位,所以禁止了外部对 CPU 的中断请求。 CPU 要使用软件查询来确认中断源,从而实现对设备的中断服务。3.中断查询方式一般用在多于 64 个中断的场合,也可以用在一个中断服务程序中的几个模块分别为几个中断设备服务的情况。7.8 8259A 的初始化命令字有哪些?它们各自有什么含义?哪几个应写入奇地址?哪几个应写入偶地址?答:1.8259A 的初始化命令字有 ICW1、ICW 2、ICW 3、ICW 4 共四个。2.ICW1芯片控制初始化命令字。ICW 2设置中断类型码的初始化命令字。ICW 3标志主片 /从片的初始化命令字。 ICW4方式控制初始化命令字。3.ICW

7、2、ICW 3、ICW 4 必须写入奇地址端口中。4.ICW1 必须写入偶地址端口中。7.9 8259A 的 ICW2 设置了中断类型码的哪几位?说明对 8259A 分别设置ICW2 为 30H、38H、36H 有什么差别?答:1.8259A 的 ICW2 设置了中断类型码的高 5 位。低 3 位中断类型码对应引入中断的引腿号。2.当设置 ICW2 为 30H 和 36H 时,完全相同。对应的 8 个中断类型码为 30H37H。而设置 ICW2 为 38H 时,对应的 8 个中断类型码为38H3FH。7.10 8259A 通过 ICW4 可以给出哪些重要信息?什么情况下不需要 ICW4?什么情

8、况下要设置 ICW3?答:1.当 SFNM=1 则为特殊的全嵌套方式; BUF=1 则为缓冲方式;若为缓冲方式(BUF=1) 则 M/S=1 表示本片为主片, M/S=0 为从片;AEOI=1 则设置为中断自动结束方式。当 PM=1 表示 8259A 当前所在系统为 8086/8088 系统,反之 PM=0 则为 8080/8085 系统。2.当 ICW1 的 D0 为 IC4=0 时,不需要用 ICW4。3.当 ICW1 的 D1 为 SNGL=0 时,需要设置 ICW3。7.11 试按照如下要求对 8259A 设置初始化命令字:系统中有 1 片 8259A,中断请求信号用电平触发方式,下面

9、要用 ICW4,中断类型码为60H、61H67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。8259A 的端口地址为 90H、92H。答: MOV AL,1BH ;ICW1 的命令字为 00011011B=1BHOUT 90H,AL ;ICW1 送偶地址端口MOV AL,60H ;ICW2 的命令字为 60HOUT 92H,AL ;ICW2 送奇地址端口MOV AL,13H ;ICW4 的命令字为 00010011B=13HOUT 92H,AL ;ICW4 送奇地址端口7.12 怎样用 8259A 的屏蔽命令字来禁止 IR3 和 IR5 引腿上的请求?又怎样撤销这一禁止命令?设 8

10、259A 的端口地址为 90H、92H。答:1. CLIIN AL,92H ;(AL)(IMR)OR AL,28H ;禁止 IR3 和 IR5 引腿上的中断请求OUT 92H,AL ;OCW1 送奇地址端口STI2. CLIIN AL,92H ;(AL)(IMR)AND AL,0D7H ;允许 IR3 和 IR5 引腿上的中断请求OUT 92H,AL ;OCW1 送奇地址端口STI7.13 试用 OCW2 对 8259A 设置中断结束命令,并使 8259A 按优先级自动循环方式工作。答: MOV AL,0A0H ;OCW2 的命令字为 10100000B=A0H,满足上述要求OUT PORT0

11、,AL ;OCW2 送偶地址端口7.14 用流程图来表示特殊全嵌套方式的工作过程。设主程序运行时先在 IR2 端有请求,接着 IR2 端又有请求,而此时前一个 IR2 还未结束,后来 IR3 端有请求,再后来 IR1 端有请求。答:流程图如下页所示:7.15 说明特殊屏蔽方式的使用方法。为什么要用“或”的方法来设置屏蔽字?答:1.某一中断服务程序先用 OCW3 命令字(ESMM=1,SMM=1) 使8259A 工作在特殊屏蔽方式,再用 OCW1 对 IMR 中本中断的对应位进行置位,就可以使系统除了对本级中断外,响应其他任何未被屏蔽的中断请求。中断处理结束时,用 OCW1 撤销前面设置的屏蔽位

12、,并用 OCW3 撤销了特殊屏蔽方式。8259A 又按照原优先级方式工作。2.用“或”的方法来设置屏蔽字可以不影响其他位的屏蔽状态。7.16 80386 系统中,8259A 采用了级连方式,试说明在主从式中断系统中 8259A的主片和从片的连接关系。答:从片的 INT 输出接主片的 IR0IR7 的某一输入端;主片的CAS2CAS0 接从片的 CAS2CAS0;主片的 INTA和从片的 IT连在一起接 CPU 的 INTA输出端;主片和从片的 WR、 D、D 7D0 也都连在一起和 CPU 的 WR、 D、DB 7DB0 连接;主片和从片的 A0 连在一起接系统总线的 AB1 上;主片的 SP

13、/ E接数据驱动器的 OE端,从片的 SP/ E接地;主片和从片的 C各自接在地址译码器的一个输出端上。7.17 试说明在 DMA 方式时内存往外设传输数据的过程。答:当一个接口要由内存往其输出数据时,就往 DMA 控制器发一个DMA 请求;DMA 控制器接到请求以后,便往控制总线上发一个总线请求;若 CPU 允许让出总线便发出一个总线允许信号;DMA 控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个 DMA 回答信号并发一个 I/O 写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O 写信号将数据送到接口,并撤除 DMA 请求信号,于是 DMA 控制器

14、的地址寄存器的内容加 1 或减 1,计数器的值减 1,而且撤除总线请求信号,就完成了对一个数据的 DMA 输出传输。7.18 对一个 DMA 控制器的初始化工作包括哪些内容?答: 将数据传输缓冲区的起始地址或者结束地址送到地址寄存器中; 将传输的字节数或字数送到计数器中。 通过模式寄存器设置工作方式等。7.19 DMA 控制器 8237A 什么时候作为主模块工作?什么时候作为从模块工作?在这两种情况下,各控制信号处于什么状态,试作说明。答:1.在外设向 8237A 发 DMA 请求,8237A 向 CPU 发总线请求得到CPU 总线允许时,获得了总线控制权就作为总线主模块工作。2.当 CPU

15、把数据送到 8237A 的寄存器或者从 8237A 的寄存器取出时,8237A 就象 I/O 接口一样作为总线的从模块工作。3.主模块工作时的控制信号:DREQx 有效,HRQ 高,HLDA 高,DACKx 有效,AEN 高, IOR、 MEW或 IO、 EMR有效,16 位地址送地址总线。从模块工作时的控制信号: CS和 HRQ 为低,A3A0 为某一确定值, 或 有效。7.20 8237A 有哪几种工作模式?各自用在什么场合?答:1.8237A 有 4 种工作模式:单字节传输模式、块传输模式、请求传输模式、级联传输模式。2.单字节传输模式用于单个字节的 DMA 输入/输出;块传输模式用于连

16、续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式 DMA 系统中的主片的工作模式。7.21 什么叫 DMA 控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它的使用场合。答:1.自动预置功能就是 DMA 控制器某通道在当前字节计数器的计数值到达 0 时,当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中自动重新取得新值,从而又可以进入下一个数据传输过程。2.如 IBM PC/XT 中,8237A 的通道 0 用于对动态 RAM 进行刷新,就设置为自动预置功能。从头到尾进行一遍刷新后,就又可以自动重新再来若干遍刷新,保持数据不

17、从动态 RAM 中丢失。用于同一内存地址的数据块重复传输中。7.22 用 DMA 控制器进行内存到内存的传输时,有什么特点?答:固定用通道 0 的地址寄存器存放源地址,而用通道 1 的地址寄存器和字节计数器存放目的地址和计数值。传输时,目的地址和计数值象通常一样进行加 1 减 1 操作,源地址的值可通过控制寄存器的 D1 位设置,若为 1 则不变。另外用暂存器作为数据传输时 DMA 的数据暂存用。另外,DMA 控制器进行内存到内存的传输是通过设置控制寄存器的 D0=1 来设置的。7.23 DMA 控制器 8237A 是怎样进行优先级管理的?答:8237A 有两种优先级管理方式:固定优先级管理方

18、式,优先级高低固定为:通道 0、1、2、3。循环优先级管理方式,通道的优先级依次循环,当某通道进行一次传输后,其优先级变为最低,而其相邻的高一号通道的优先级变为最高。7.24 设计 8237A 的初始化程序。8237A 的端口地址为 0000000FH,设通道 0工作在块传输模式,地址加 1 变化,自动预置功能;通道 1 工作于单字节读传输,地址减 1 变化,无自动预置功能;通道 2、通道 3 和通道 1 工作于相同方式。然后对 8237A 设控制命令,使 DACK 为高电平有效,DREQ 为低电平有效,用固定优先级方式,并启动 8237 工作。答: MOV AL,04HMOV DX,DMA+

19、8 ;DMA 为端口首地址0000H,DMA+8 为控制寄;存器端口号OUT DX,AL ;输出控制命令,关闭8237AMOV AL,00MOV DX,DMA+0DH ;DMA+0DH 为总清命令端口号OUT DX,AL ;发总清命令(即复位命令 )MOV DX,DMA+0BH ;DMA+0BH 为模式寄存器的端口号MOV AL,98HOUT DX,AL ;对通道 0 选择模式,模式字为 98H:块读传输模;式,地址加 1 变化,自动预置功能MOV AL,69HOUT DX,AL ;对通道 1 选择模式,模式字为 69H:单字节读传;输,地址减 1 变化,无自动预置功能MOV AL,6AHOU

20、T DX,AL ;对通道 2 选择模式,模式字为 6AH:功能同通道 1MOV AL,6BHOUT DX,AL ;对通道 3 选择模式,模式字为 6BH:功能同通道 1MOV DX,DMA+8MOV AL,0C0H ;控制字格式为 C0H: DACK 高电平有效,DREQ;低电平有效,固定优先级,启动工作OUT DX,ALMOV DX,DMA+0FH ;DMA+0FH 为综合屏蔽命令端口号MOV AL,0OUT DX,AL ;去除四个通道的屏蔽7.25 概述怎样用软件方法和硬件方法来进行定时。答: 软件方法就是根据所需要的时间常数来设计一个延迟子程序。当延迟子程序执行完后,可直接执行下面的操作

21、,也可用输出指令输出一个信号作为定时输出。 硬件方法使用计数器/定时器。根据需要的定时时间,用指令对计数器/定时器设置定时常数,并用指令启动计数器/ 定时器,于是计数器/定时器开始计数,计到确定值时,便自动产生一个定时输出。7.26 8253 计数器/定时器中,时钟信号 CLK、门脉冲信号 GATE 分别起什么作用?答:时钟信号 CLK 决定了计数的速率,是计数减 1 的依据。而门脉冲信号 GATE 是作为对时钟的控制信号,以控制计数的启停。7.27 说明 8253 在 6 种工作方式下的特点,并举例说明使用场合。答: 模式 0、模式 1、模式 4、模式 5 为软件启动或硬件启动的不自动重复的

22、计数方式;模式 2、模式 3 为即可软件启动也可硬件启动的自动重复的定时器方式。 作为计数器时,8253 在 GATE 控制下进行减 1 计数,减到终值时,输出一个信号,至此计数过程便结束。作为定时器工作时,8253在门控 GATE 控制下进行减 1 计数,减到终值时,又自动装入初值,重新作减 1 计数,于是输出端会不间断地产生为时钟周期整数倍的定时间隔。 定时方式一般用于实时控制及周期性操作中,如日时钟定时、扬声器发声、波特率发生器等场合。计数方式则用于外部事件的计数,如生产线上的产品计数等场合。7.28 8253 工作于模式 4 和模式 5 时有什么不同?答:模式 4 是用软件触发启动,G

23、ATE 为低电平时停止计数;而模式 5 则用门控 GATE 的上升沿触发即硬件触发启动,GATE 为低电平时不影响计数。7.29 编程将 8253 计数器 0 设置为模式 1,计数初值为 3000H;计数器 1 设置为模式 2,计数初值为 2010H;计数器 2 设置为模式 4,计数初值为4030H;地址设为 0070H、0072H、0074H、0076H 。答: MOV AL,32H ;设置计数器 0 为模式 1OUT 76H,ALMOV AX,3000H ;写计数初值OUT 70H,ALMOV AL,AHOUT 70H,ALMOV AL,74H ;设置计数器 1 为模式 2OUT 76H,

24、ALMOV AX,2010H ;写计数初值OUT 72H,ALMOV AL,AHOUT 72H,ALMOV AL,0B8H ;设置计数器 2 为模式 4OUT 76H,ALMOV AX,4030H ;写计数初值OUT 74H,ALMOV AL,AHOUT 74H,AL7.30 CPU 对应 DMA 控制器的总线请求响应要比中断请求响应快,请分析其原因。答:当 CPU 检测到总线请求信号后在当前总线周期的 T4 状态或 TI 状态的下降沿就可响应而出让总线,并发总线响应信号 HLDA。而当 CPU检测到 INTR 请求时,则必须要等到当前指令执行完后才能发第一个INTA负脉冲,而且中断响应需两个

25、 INTA负脉冲才可组成一个完整的中断响应信号。因此总线请求响应要比中断请求响应快。7.31 设 8259A 工作于优先级循环方式,当前最高优先级为 IR4,现在要使优先级最低的为 IR1,则应该再设置哪个操作命令字?具体的值是多少?答:1.再设置 OCW2 操作命令字。2.OCW2 的具体的值是 C1H(=11000001B),写入偶地址端口。7.32 下面是一个对 8259A 进行初始化的程序段,请为下面程序段加上注释,并具体说明各初始化命令字的含义。PORT0 EQU 40H ;8259A 的偶地址端口号PORT1 EQU 41H ;8259A 的奇地址端口号MOV AL,13H ;控制

26、初始化命令字 ICW1 设为 13H,中断请求为边沿触;发方式,单片 8259A,需写入 ICW4MOV DX,PORT0 ;取 8259A 的偶地址端口OUT DX,AL ;设置 ICW1INC DX ;取 8259A 的奇地址端口MOV AL,08H ;中断类型码初始化命令字 ICW2 设为08H,对应于;IR0IR7 的中断类型码为 08H0FHOUT DX,AL ;设置 ICW2MOV AL,06H ;方式控制初始化命令字 ICW4 设为 06H,非特殊全嵌套;方式,非缓冲方式,中断自动结束方式,工作于 8080/8085;系统中OUT DX,AL ;设置 ICW4答:初始化命令字的含

27、义见注释。7.33 下面是一个对主从式 8259A 系统进行初始化的程序段,请对以下程序段加详细注释,并具体说明各初始化命令字的含义。;主片初始化程序M82590 EQU 40H ;主片 8259A 的偶地址端口号M82591 EQU 41H ;主片 8259A 的奇地址端口号MOV AL,11H ;控制初始化命令字 ICW1 设为 11H,中断请求为边沿触;发方式,多片 8259A,需设置 ICW4MOV DX,M82590 ;取主片 8259A 的偶地址端口OUT DX,AL ;设置 ICW1MOV AL,08H ;中断类型码初始化命令字 ICW2 设为08H,对应于;IR0IR7 的中断

28、类型码为 08H0FHINC DX ;取主片 8259A 的奇地址端口OUT DX,AL ;设置 ICW2MOV AL,04H ;ICW3 设为 04H,只有 IR2 连有从片8259AOUT DX,AL ;设置 ICW3MOV AL,01H ;方式控制初始化命令字 ICW4 设为 01H,非特殊全嵌套;方式,非缓冲方式,非中断自动结束方式,工作于;8086/8088 系统中OUT DX,AL ;设置 ICW4;从片初始化程序S82590 EQU 90H ;从片 8259A 的偶地址端口号S82591 EQU 91H ;从片 8259A 的奇地址端口号MOV DX,S82590 ;取从片 82

29、59A 的偶地址端口MOV AL,11H ;控制初始化命令字 ICW1 设为 11H,功能同上OUT DX,AL ;设置 ICW1MOV AL,70H ;中断类型码初始化命令字 ICW2 设为70H,对应于;IR0IR7 的中断类型码为 70H77HINC DX ;取从片 8259A 的奇地址端口OUT DX,AL ;设置 ICW2MOV AL,02H ; ICW3 设为 02H,表示本从片与主片的IR2 相连OUT DX,AL ;设置 ICW3MOV AL,01H ;方式控制初始化命令字 ICW4 设为 01H,非特殊全嵌套;方式,非缓冲方式,非中断自动结束方式,工作于;8086/8088

30、系统中OUT DX,AL ;设置 ICW4答:各初始化命令字的含义见注释。7.34 8237A 在进行单字节方式 DMA 传输和块方式 DMA 传输时,有什么区别?答:区别在于:单字节方式时 DMA 每完成一个字节传输后,便释放系统总线,CPU 至少可占用一个总线周期。块传输方式时,只有当字节计数器减为 0,从而在 EOP端输出一个负脉冲或者外部 I/O 接口往DMA 控制器的 端送一个低电平信号时,8237A 才释放总线而结束传输。7.35 下面是一个常驻内存的中断服务程序框架和它的装配程序,请对此程序的注释进行补充,以便得到一个完整的注释清单。STACK SEGMENT ;设置堆栈段DW

31、256 DUP (?)STACK ENDSDATA SEGMENT ;设置数据段8259P0 EQU 40H ;8259A 的偶地址端口号8259P1 EQU 41H ;8259A 的奇地址端口号DATA ENDSCODE SEGMENT ;设置代码段ASSUME CS:CODE,DS:DATA,SS:STACK ;段说明START1: JMP START2 ;程序开始,直接转START2 执行INTSUB PROC FAR ;定义一个远过程(段外子程序)INTSUBSTI ;开中断PUSH ES ;保护现场PUSH DSPUSH AXPUSH BXPUSH SIPUSH DI ;中断处理内容

32、POP DI ;恢复现场POP SIPOP BXPOP AXPOP DSPOP ESMOV AL,20H ;发一般的中断结束命令MOV DX,8259P0 ;取 8259A 偶地址OUT DX,ALIRET ;中断返回INTSUB ENDP ;远过程定义结束START2: MOV AX,DATA ;程序开始,取数据段的段地址送 DSMOV DS,AXMOV AL,45H ;设置中断向量的系统功能调用的入口条件MOV AH,25HMOV DX,OFFSET INTSUBINT 21H ;设置中断向量MOV AL,0 ;OCW1=00H,开放 8259A 的所有中断MOV DX,8259P1 ;取 8259A 的奇地址号OUT DX,ALSTI ;开中断MOV AX,3100H ;终止用户程序并驻留内存的入口条件MOV DX,$INTSUBINT 21H ;程序驻留退出CODE ENDS ;代码段结束END START1 ;程序结束答:注释见程序清单的下划线部分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。