第六章习题答案1.判断题FTTFFFFFFTFFFTFFFTTT2.单项选择题ADBBDDAECCCBABBABBBC3.多项选择题ADBCABDGABBCDADEABDBCDFCDABCDEFABABEABCACDABCDFCDAABCEFABCACD4.填空题(1)16、64K(2)256、65536(3)中断服务子程序、4、段内偏移、段基、中断描述符表IDT、中断、中断服务例行子程序(4)标志、TF、IF、STI(5)IRET、IP、CS、FL(6)28、8、1、1(7)ICW1、OCW2、OCW3、ICW2、ICW3、ICW4、OCW1(8)0D、34、37(9)INTA、2、2(10)中断一般结束、中断特殊结束、偶(11)3、16、6(12)24、3、(13)控制字、该计数器(14)0、1、0、01(15)1、3(16)40、24、6(17)326H(18)4、12、27、5(19)40、39(20)8、65536(21)A0~A7、D0~D7、DMA页面寄存器(22)Intel925、Intel915、800、8、PCIExpress×1(23)提升、降低、极大提高(24)i915GV、i915GL、LGA775(25)PCI、分级5.简答题(1)I/O接口电路功能有哪些?简述之。I/O接口电路位于系统总线(或局部总线)与外设之间,用它适配两者来完成系统总线(或局部总线)与外设之间的数据传输(2)中断方式是如何实现主机和外设、外设与外设之间基本并行工作的?在中断传送方式中各个外设和主机并行工作,同时进行各自的操作。当某台外设完成了自身的输入或输出操作(即完成了下一个数据传送的准备)时,便向CPU申请中断,CPU收到中断请求信号后,可暂停正在运行的程序,转去执行为该外设服务的中断服务子程序来完成主机与外设间的数据交换,数据传送完毕CPU仍返回原来被中断的主程序继续执行,外设则继续进行下一个数据I/O操作。外设的I/O操作速度较慢,中断传送方式恰恰在这段较慢的过程中让主机和各个外设并行工作;仅仅在外设I/O过程完成后要求与主机交换数据时才暂停CPU主程序运行,而CPU输入/输出数据是很快的,因此中断方式基本实现了主机和外设的并行工作。(3)简述DMA方式的工作过程。DMA用硬件在外设和内存之间开辟直接的数据传输通道,这是一种不需要CPU介入的高速数据传输方法,直接存储器存取方式工作过程如下:当外设准备就绪后,通过I/O端口向DMAC发出“DMA请求”信号,要求DMA传送;接着DMAC向CPU发出HOLD总线请求信号,请求接管总线;CPU收到HOLD信号,如果不在总线封锁状态,则在现行总线周期结束后便给于响应,给出HLDA信号到DMAC,使CPU与三态的系统总线浮空;DMAC收到HLDA后,立即接管总线,并向I/O端口回送“DMA响应”信号,通知外设进行和内存之间的DMA传送。进行DMA传送。DMA传送的内存地址、读写控制信号及传送的字节数或字数由DMAC控制(通过对DMAC事先初始化编程来设置)。DMA传送结束。设定的字节数或字数传送完毕,或者外部给一个结束传送的控制信号,DMAC撤消向CPU的总线请求信号HOLD,结束DMA传送;CPU也撤除总线响应信号HLDA,重新控制系统总线继续运行原来的程序。(4)CPU响应中断后是如何根据8259A提供的中断类型码找到中断服务子程序入口的?简述之。将中断类型码左移2位(×4)得到中断矢量在中断矢量表中的偏移地址,据此在中断矢量表中找到4个字节的中断矢量,即中断服务子程序入口地址,将其前2个字节装入IP,后2个字节装入CS,根据CS:IP内容转到相应的中断服务子程序入口。(5)屏蔽中断源的中断,可以在计算机的哪些层面(部位)进行?它们的特点如何?对中断源的屏蔽可在系统级(即中断接口电路)层面和处理器级层面进行。在接口电路层面可以有针对性地对不同的中断源设置屏蔽与否,在处理器层面只能对所有的可屏蔽中断INTR统统实行屏蔽。(6)什么是异常?异常和中断有什么异同?中断是由I/O设备触发引起的一个异步事件,异常是处理器正在执行一条指令时检测到一个或多个满足预先设置条件而产生的一个同步事件。处理器对中断和异常的响应本质上是一样的,即响应时处理器都暂停当前程序的执行,转向去执行(已经预先编写好的)用于处理中断或异常的一段程序的过程。中断服务子程序执行完毕返回的是被中断程序的下一条指令,而异常故障处理程序的返回地址则指向引起该异常的指令。(7)异常有哪几种类型?按什么划分?异常按照通报异常的方式和是否支持引起异常指令的再启动分为故障(Fault)、陷阱(Trap)和失败(Aborts)三种。(8)在8259A的级联系统中,为什么一般主片设置为特殊全嵌套方式而从片设置为全嵌套方式?从片设置全嵌套方式,将从片所接的8个中断源按重要性程度依次设置成8个不同的优先级,IR0最高,IR7最低。而从片的中断请求接到主片的一条中断请求输入线上,主片认为从片来的中断请求都是同一级,所以主片必须设置为特殊全嵌套方式,对同一优先级中断请求能予以响应,使从片来的中断请求都予以响应,以保证从片优先级高的中断源能中断从片优先级低的中断源实现正确的中断嵌套。(9)简述8259A中断自动结束、一般结束和特殊结束的异同。中断结束处理就是使中断服务寄存器ISR中的对应位ISi位清0。中断自动结束方式,是指系统进入中断服务过程前,8259A就自动将当前中断服务寄存器ISR中的对应位ISi清0了,中断返回前不需要向8259A输出中断结束指令。中断一般结束方式用于全嵌套工作方式。结束当前中断处理时,CPU用输出指令向8259A发出中断一般结束命令,把当前中断服务寄存器ISR内所有逻辑电平为1的位(对应已被响应的中断源)中的优先级最高的一位复位为0。中断特殊结束方式用在优先级循环方式中,结束当前中断处理时向8259A发送一条中断特殊结束命令,该命令中用3个二进位指明要清除当前中断服务寄存器ISR中的哪个ISi位(应是当前优先级最高的一位)。(10)CPU响应中断,在INTA引脚上连续输出两个负脉冲,这两个负脉冲的作用各是什么?第一个负脉冲到达,8259A完成下列动作:使IRR的锁存功能失效,置1当前中断服务寄存器ISR的相应位,使刚刚置位的IRR相应位复位(清零)。第二个负脉冲到达时做三件事:恢复IRR对外部中断请求的锁存功能;将相应中断源的中断类型码送至数据总线D7~D0(供CPU读入);如8259A工作在中断自动结束方式,则8259A在第2个负脉冲后沿将第1个负脉冲刚刚置1的ISR相应位清零。(11)简述从响应中断起到开始执行中断服务子程序,CPU共经历了哪几个总线周期?每个总线周期都执行了什么操作?执行2个中断响应总线周期,从数据总线上读取中断类型码;执行3个总线写周期,依次将标志寄存器FL及CS、IP入栈;再执行2个总线读周期,读入中断矢量装进IP和CS。然后按CS:IP值进入中断服务子程序。(12)列表说明8253/8254计数器/定时器的方式0与方式1、方式4与方式5、方式0与方式4、方式1与方式5各有何异同。不同工作方式比较工作方式共同点不同点方式0和方式1OUT输出:计数过程为低电平,计数结束为高电平触发方式:方式0由软件(装入计数初值)触发,方式1由硬件(GATE上升沿)触发。方式4和方式5计数值减为0时OUT输出一个CLK周期的负脉冲触发方式:方式4由软件(装入计数初值)触发,方式5由硬件(GATE上升沿)触发。方式0(计数结束中断)和方式4(软件触发选通)由软件触发启动计数,向计数值寄存器写入计数初值之后,下一个CLK的下降沿装入减1计数器开始计数。减至0,计数过程结束,无自动重装能力。OUT端输出信号不同。方式0的OUT端在方式设置后及计数过程中输出为低电平,计数结束立即变为高电平;方式4的OUT端信号在计数过程中输出高电平,计数结束时输出一个时钟周期宽度负脉冲。方式1(程控单稳)和方式5(硬件触发选通)由硬件触发启动计数,计数初值写入计数值寄存器后并不马上开始计数,而由门控信号GATE端的上升沿触发开始减1计数。OUT输出信号不同。方式1在计数过程中OUT端为低电平,持续时间为N个CLK宽度;方式5是在计数结束后输出一个CLK宽度的负脉冲。(13)编制程序使PC/AT机的计数器/定时器2输出2000Hz的方波。说明方式控制字和计数初值是如何产生的?设频率为2.38MHz的时钟脉冲经D触发器分频接到8254定时器的CLK2端,而OUT2端输出2000Hz方波要求的计数初值为:1.19×106÷2000=595=253H控制字10110110,即0B6H。高2位表示对计数器/定时器2写入,次2位表示写16位,再次3位设置方式3(方波),最后1位规定二进制数。程序段如下:MOVAL,0B6HOUT43H,ALMOVAX,253HOUT42H,ALMOVAL,AHOUT42H,AL(14)简述8255A芯片通道B方式1输入的工作过程,用了哪几根联络控制线?它们的作用各是什么?通道B方式1输入使用了PC2、PC1、PC0作联络控制线,其作用以及工作过程如下:当输入设备数据准备好时,使输入的STB信号有效(该信号使用PC2),把输入数据锁存进该通道的数据寄存器,然后通道使输出的IBF(使用PC1)有效(变高),IBF有效表明输入设备送来的数据已经送入通道数据输入缓冲器。只要CPU没有从该通道把数据读走,IBF便一直有效,向输入设备表明该通道暂时不能接收新的输入数据;直到CPU读取该通道中的数据,RD的上升沿使其无效,此时输入设备方可向通道输入下一个数据。通道用PCI0作中断请求信号INTR(输出,高电平有效)。当8255A的通道B允许中断(INTE=1)、且IBF=1时,INTR输出有效(为高)。当CPU响应中断并执行中断服务子程序读取数据后,INTR变为无效(低电平)。CPU也可以通过通道C读取B通道的状态(D1表示IBF有效否),用查询方式读入通道B的输入数据。(15)用8255A作打印机并行接口,请画出接口电路的连接图,并编制用查询方式输出打印字符的程序。设译码器输出的PPICS为0F8H,即A口、B口、C口和控制口地址分别为0F8H~0FBH,方式选择控制字为10100000B,通道A为方式1输出。设欲输出的100个ASCII字符存放在数据段BUF开始的存储单元中,用8255A查询方式输出的程序段如下:MOVAL,0A0H;设置通道A为方式1输出OUT0FBH,ALLEASI,BUFMOVCX,99MOVAL,[SI];输出首个字符数据OUT0F8H,ALRLP:INAL,0FAH;从通道C读状态TESTAL,80H;输出缓冲器满吗?JZRLP;满表示通道A中的数据未送至打印机,继续查询INCSI;未满则数据已送打印机,CPU向通道A输出下一个数据MOVAL,[SI]OUT0F8H,ALLOOPRLP;100个送完否?未完继续…(16)简要说明8237A初始化编程的流程和各步中完成的工作任务。8237A的DMA通道在使用前必须对之初始化编程,其流程及相应任务如下:写入命令字确定芯片工作时序、各通道优先级方式、DMA请求与响应的有效电平、是否允许芯片工作等;写入方式字规定各通道数据传输类型和工作方式;向通道基本地址寄存器写入基地址确定通道DMA传输数据的存储器起始单元地址(16位);向通道基本字节数寄存器写入DMA传输的基本字节数;屏蔽或开放相应的DMA通道。(17)简述8237A-5的各个通道在PC/XT机的具体用途。在PC/XT机中使用单片8237A-5,可支持4个DMA通道。通道0用于对DRAM进行刷新操作,通道1为同步通信保留,通道2用于软盘DMA传输,通道3用于硬盘DMA传输。(18)系统接口控制逻辑SICL有哪些主要功能?简述之。SICL接口控制逻辑功能如下:支持PCI总线操作,数据传输率可达到133MB/s;以PCI总线频率的四分之一支持ISA或EIO总线操作。增强的8254