您好,欢迎访问三七文档
第七章中断控制器、DMA控制器和计数器/定时器7.18259A的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?答:1.8259A的初始化命令字是计算机系统启动时,由初始化程序设置的。初始化命令字一旦设定,一般在系统工作过程中就不再改变。操作命令字则是由应用程序设定的,它们用来对中断处理过程作动态控制,在一个系统运行过程中,操作命令字可以多次设置。2.初始化命令字对应于编程结构的ICW1、ICW2、ICW3、ICW4共4个寄存器。操作命令字对应于编程结构的OCW1、OCW2、OCW3共3个寄存器。7.28259A的中断屏蔽寄存器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的IF用于对8259A由INT向CPU的INTR引腿发中断申请的允许/屏蔽。7.38259A的全嵌套方式和特殊全嵌套方式有什么差别?各自用在什么场合?答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。而特殊全嵌套方式则能被同级和高级的中断请求所嵌套。2.全嵌套方式用于单片8259A的场合。特殊全嵌套方式用于多片8259A系统。7.48259A的优先级循环方式和优先级特殊循环方式有什么差别?答:在优先级特殊循环方式中,一开始的最低优先级是由编程确定的,从而最高优先级也由此而定。而优先级自动循环方式初始优先级队列为IR0~IR7。7.58259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?答:1.在特殊屏蔽方式中用OCW1对屏蔽寄存器中某一位进行置位时,就会同时使ISR中的对应位自动清0。而普通屏蔽方式对OCW1的操作不影响ISR中各位的状态。2.特殊屏蔽方式用于中断处理程序中,以开放比本身的优先级较低的中断请求。7.68259A有几种结束中断处理的方式?各自应用在什么场合?除了中断自动结束方式以外,其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题?答:1.8259A有三种结束中断处理的方式。2.中断自动结束方式用于只有一片8259A,并且多个中断不会嵌套的情况。一般的中断结束方式用在全嵌套情况下及多片8259A的级联系统中。特殊中断结束方式用于循环优先级的8259A中。3.不发中断结束命令会使8259A认为该中断未结束,从而挡住了低优先级的中断被响应,即中断控制功能不正常。7.78259A引入中断请求的方式有哪几种?如果对8259A用查询方式引入中断请求,那会有什么特点?中断查询方式用在什么场合?答:1.引入中断请求的方式有:边沿触发方式、电平触发方式、中断查询方式三种。2.中断查询方式的特点:①设备仍然通过往8259A发中断请求信号要求CPU服务,但8259A不使用INT信号向CPU发中断请求信号。②CPU内部的中断允许触发器复位,所以禁止了外部对CPU的中断请求。③CPU要使用软件查询来确认中断源,从而实现对设备的中断服务。3.中断查询方式一般用在多于64个中断的场合,也可以用在一个中断服务程序中的几个模块分别为几个中断设备服务的情况。7.88259A的初始化命令字有哪些?它们各自有什么含义?哪几个应写入奇地址?哪几个应写入偶地址?答:1.8259A的初始化命令字有ICW1、ICW2、ICW3、ICW4共四个。2.ICW1——芯片控制初始化命令字。ICW2——设置中断类型码的初始化命令字。ICW3——标志主片/从片的初始化命令字。ICW4——方式控制初始化命令字。3.ICW2、ICW3、ICW4必须写入奇地址端口中。4.ICW1必须写入偶地址端口中。7.98259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、38H、36H有什么差别?答:1.8259A的ICW2设置了中断类型码的高5位。低3位中断类型码对应引入中断的引腿号。2.当设置ICW2为30H和36H时,完全相同。对应的8个中断类型码为30H~37H。而设置ICW2为38H时,对应的8个中断类型码为38H~3FH。7.108259A通过ICW4可以给出哪些重要信息?什么情况下不需要ICW4?什么情况下要设置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,中断请求信号用电平触发方式,下面要用ICW4,中断类型码为60H、61H……67H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式。8259A的端口地址为90H、92H。答:MOVAL,1BH;ICW1的命令字为00011011B=1BHOUT90H,AL;ICW1送偶地址端口MOVAL,60H;ICW2的命令字为60HOUT92H,AL;ICW2送奇地址端口MOVAL,13H;ICW4的命令字为00010011B=13HOUT92H,AL;ICW4送奇地址端口7.12怎样用8259A的屏蔽命令字来禁止IR3和IR5引腿上的请求?又怎样撤销这一禁止命令?设8259A的端口地址为90H、92H。答:1.CLIINAL,92H;(AL)←(IMR)ORAL,28H;禁止IR3和IR5引腿上的中断请求OUT92H,AL;OCW1送奇地址端口STI2.CLIINAL,92H;(AL)←(IMR)ANDAL,0D7H;允许IR3和IR5引腿上的中断请求OUT92H,AL;OCW1送奇地址端口STI7.13试用OCW2对8259A设置中断结束命令,并使8259A按优先级自动循环方式工作。答:MOVAL,0A0H;OCW2的命令字为10100000B=A0H,满足上述要求OUTPORT0,AL;OCW2送偶地址端口7.14用流程图来表示特殊全嵌套方式的工作过程。设主程序运行时先在IR2端有请求,接着IR2端又有请求,而此时前一个IR2还未结束,后来IR3端有请求,再后来IR1端有请求。答:流程图如下页所示:7.15说明特殊屏蔽方式的使用方法。为什么要用“或”的方法来设置屏蔽字?答:1.某一中断服务程序先用OCW3命令字(ESMM=1,SMM=1)使8259A工作在特殊屏蔽方式,再用OCW1对IMR中本中断的对应位进行置位,就可以使系统除了对本级中断外,响应其他任何未被屏蔽的中断请求。中断处理结束时,用OCW1撤销前面设置的屏蔽位,并用OCW3撤销了特殊屏蔽方式。8259A又按照原优先级方式工作。2.用“或”的方法来设置屏蔽字可以不影响其他位的屏蔽状态。7.1680386系统中,8259A采用了级连方式,试说明在主从式中断系统中8259A的主片和从片的连接关系。答:从片的INT输出接主片的IR0~IR7的某一输入端;主片的CAS2~CAS0接从片的CAS2~CAS0;主片的INTA和从片的INTA连在一起接CPU的INTA输出端;主片和从片的WR、RD、D7~D0也都连在一起和CPU的WR、RD、DB7~DB0连接;主片和从片的A0连在一起接系统总线的AB1上;主片的SP/EN接数据驱动器的OE端,从片的SP/EN接地;主片和从片的CS各自接在地址译码器的一个输出端上。7.17试说明在DMA方式时内存往外设传输数据的过程。答:当一个接口要由内存往其输出数据时,就往DMA控制器发一个DMA请求;DMA控制器接到请求以后,便往控制总线上发一个总线请求;若CPU允许让出总线便发出一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号并发一个I/O写信号和一个内存读信号;内存接到读信号后将数据送到数据总线,I/O写信号将数据送到接口,并撤除DMA请求信号,于是DMA控制器的地址寄存器的内容加1或减1,计数器的值减1,而且撤除总线请求信号,就完成了对一个数据的DMA输出传输。7.18对一个DMA控制器的初始化工作包括哪些内容?答:①将数据传输缓冲区的起始地址或者结束地址送到地址寄存器中;②将传输的字节数或字数送到计数器中。③通过模式寄存器设置工作方式等。7.19DMA控制器8237A什么时候作为主模块工作?什么时候作为从模块工作?在这两种情况下,各控制信号处于什么状态,试作说明。答:1.在外设向8237A发DMA请求,8237A向CPU发总线请求得到CPU总线允许时,获得了总线控制权就作为总线主模块工作。2.当CPU把数据送到8237A的寄存器或者从8237A的寄存器取出时,8237A就象I/O接口一样作为总线的从模块工作。3.主模块工作时的控制信号:DREQx有效,HRQ高,HLDA高,DACKx有效,AEN高,IOR、MEMW或IOW、MEMR有效,16位地址送地址总线。从模块工作时的控制信号:CS和HRQ为低,A3~A0为某一确定值,IOR或IOW有效。7.208237A有哪几种工作模式?各自用在什么场合?答:1.8237A有4种工作模式:单字节传输模式、块传输模式、请求传输模式、级联传输模式。2.单字节传输模式用于单个字节的DMA输入/输出;块传输模式用于连续进行多个字节的传输;请求传输模式用于受接口控制的连续字节传输;级联传输模式用于多片主从式DMA系统中的主片的工作模式。7.21什么叫DMA控制器的自动预置功能?这种功能是用得很普遍的,举一个例子说明它的使用场合。答:1.自动预置功能就是DMA控制器某通道在当前字节计数器的计数值到达0时,当前地址寄存器和当前字节计数器会从基本地址寄存器和基本字节计数器中自动重新取得新值,从而又可以进入下一个数据传输过程。2.如IBMPC/XT中,8237A的通道0用于对动态RAM进行刷新,就设置为自动预置功能。从头到尾进行一遍刷新后,就又可以自动重新再来若干遍刷新,保持数据不从动态RAM中丢失。用于同一内存地址的数据块重复传输中。7.22用DMA控制器进行内存到内存的传输时,有什么特点?答:固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器存放目的地址和计数值。传输时,目的地址和计数值象通常一样进行加1减1操作,源地址的值可通过控制寄存器的D1位设置,若为1则不变。另外用暂存器作为数据传输时DMA的数据暂存用。另外,DMA控制器进行内存到内存的传输是通过设置控制寄存器的D0=1来设置的。7.23DMA控制器8237A是怎样进行优先级管理的?答:8237A有两种优先级管理方式:固定优先级管理方式,优先级高低固定为:通道0、1、2、3。循环优先级管理方式,通道的优先级依次循环,当某通道进行一次传输后,其优先级变为最低,而其相邻的高一号通道的优先级变为最高。7.24设计8237A的初始化程序。8237A的端口地址为0000~000FH,设通道0工作在块传输模式,地址加1变化,自动预置功能;通道1工作于单字节读传输,地址减1变化,无自动预置功能;通道2、通道3和通道1工作于相同方式。然后对8237A设控制命令,使DACK为高电平有效,DREQ为低电平有效,用固定优先级方式,并启动8237工作。答:MOVAL,04HMOVDX,DMA+8;DMA为端口首地址0000H,DMA+8为控制寄;存器端口号OUTDX,AL;输出控制
本文标题:微机原理4
链接地址:https://www.777doc.com/doc-5208994 .html