第五章数字量输入输出第五章数字量输入输出题5-1什么叫I/O端口?典型的I/O接口包括哪几类I/O端口?答:对于可编程的通用接口芯片,其内部往往有多个可寻址读写的寄存器,称之为端口。端口有宽度,一般以字节为单位来组织。端口有自己的地址(端口地址),CPU用地址对每个端口进行读写操作。主机和外设之间的信息交换都是通过操作接口电路的I/O端口来实现的。根据端口接收和输出的信息不同,可将端口分为三类:数据端口、状态端口和控制端口。题5-2计算机I/O端口编址有几种不同方式?简述各自的主要优缺点。答:在微型计算机系统中常用两种I/O编址方式:存储器映像编址和I/O端口单独编址。存储器映像编址的优点是:无须专用的I/O指令及专用的I/O控制信号也能完成;且由于CPU对存储器数据的处理指令非常丰富,现可全部用于I/O操作,使I/O的功能更加灵活。I/O单独编址的优点是:I/O端口分别编址,各自都有完整的地址空间;因为I/O地址一般都小于存储器地址,所以I/O指令可以比存储器访问指令更短小,执行起来更快;而且专用的I/O指令在程序清单中,使I/O操作非常明晰。题5-3用简洁的语言叙述直接存储器访问(DMA)方式的本质特征。答:外部设备不经过CPU直接对存储器进行访问的一种数据传送模式。利用系统总线,由外设直接对存储器进行读出或写入,以最大限度提高存储器与外部设备之间的数据传输率。题5-4在8086/8088CPU执行指令过程中,4个系统总线控制信号MEMR、MEMW、IOR和IOW在一个总线周期内可能一个以上有效吗?在DMA传送过程中又有可能吗?请说明原因。答:在CPU执行指令过程中不会,在DMA传送过程中会。在CPU控制的一个总线周期内,MEMR、MEMW、IOR和IOW4个信号都需要地址总线指定一个I/O端口或一个存储器单元来进行读或写操作,因此它们中只能一个有效。而DMA传送在一个总线周期内要完成读写两种操作。题5-5PC/XT主板上的I/O地址译码电路如题图5-5所示。根据此图回答下列问题:1、控制信号AEN的名称是什么?AEN在此起什么作用?2、若用户自己开发的接口选用I/O地址为400H会产生什么问题?3、说明信号IOW在此处的作用1第五章数字量输入输出答:1、AEN在此限制地址译码电路只在CPU执行指令时起作用(不会在DMA传送时,错将存储器地址当成I/O地址译码)2、译码电路是不完全译码,有地址重叠,400H地址是本译码电路Y0输出端的重叠区。3、IOW在此限制译码输出端选中只写端口。题5-680X86系统输入/输出接口如题图5-6所示。Y230H是I/O地址译码输出信号。当系统总线上的I/O地址为230H时,译码输出有效的低电平。IOR、IOW是低电平有效的控制总线信号,DB0是系统数据总线的最低位。现CPU连续执行了下列指令:MOVDX,230HXORAL,ALNOTALOUTDX,ALINAL,DX1、执行上面的OUT指令时,图中IOR和IOW哪个有效?DB0=?2、请具体分析全部指令执行后,AL的最低位D0=?2第五章数字量输入输出答:1、IOW信号有效,DB0=1。2、最后AL的D0=0。题5-780X86CPU在中断发生时首先要获得中断类型号,有几种获得中断类型号的方法?请分别举例说明。答:1、从中断管理电路获得,如INTR引起的外部中断,在第二个中断响应周期中,中断管理电路将中断源的类型号送到数据总线上共CPU读取。2、由CPU内部获得,如NMI中断被响应时,CPU自动产生类型号为2的中断,转入相应的服务程序。题5-8若当前CPU正在对某一外部中断请求IRQm服务,而外部又有两个外部中断信号IRQn和IRQi同时有效,试说明的请求马上得到响应的条件是什么(0=(m、n、i)=7)?答:1、CPU当前开中断;2、IRQi的优先级同时大于IRQn和IRQm。题5-9PC/XT从00020H开始的一段内存地址及其内容对应如下所列(十六进指数):地址(H):20,21,22,23,24,25,26,27,28,29,2A,2B内容(H):3C,00,86,0E,45,00,88,0E,26,00,8E,0E1、外部可屏蔽中断IRQ2的中断矢(向)量地址是多少?2、IRQ2的中断服务程序入口地址是多少,用物理地址回答。答:1、IRQ2的中断类型号为0AH,矢量地址为28H。2、中断服务程序的入口地址为0E8EH:0026H=0E906H。题5-1080X86CPU每一次中断响应发出两个响应信号INTA各起什么作用?答:第一个INTA信号表示中断请求已被响应;第二个INTA信号通知中断控制逻辑将中断3第五章数字量输入输出类型号发送到数据线上,同时清除中断请求。题5-11若用户要使用系统的IRQ7,其中断服务程序的入口地址为2000:0100H,如何安装中断矢量(不包括保护原矢量)。答:PUSHDSMOVAX,2000HMOVDS,AXMOVDX,100HMOVAH,25HMOVAL,0FHINT21HPOPDS题5-12可编程计数/定时电路8253的控制字可以设定一种‘数值锁存操作’。这种操作又何必要?答:读计数器的当前值时,先读低字节、后读高字节。由于计数器并未停止计数,有可能在先后读高低字节的两条指令之间,计数器的值已发生变化。为避免这种错误,在读数前先对计数器写一个D5D4=00的控制字,把计数器的当前值锁存到16位的输出锁存器中。此后计数器照常计数,但锁存器的值不跟着变。待CPU将锁存器中的两字节都先后读完,锁存器的内容自动又随计数器变化。题5-13可编程计数器8253的级连是何意思,什么时候会用到级连?答:级连(又称为串联)是指一个计数器的输出作为另一个计数器的输入。当计时间隔大于大于单通道最大的计时间隔时,常常用8253的级联提高计时间隔。题5-148253的片选信号如题图5-14连接。1、列出8253内各计数器及控制字的一组地址。2、现有1MHz方波,欲利用这片8253产生1KHz方波。请简单说明如何实现(说明利用的计数器、工作方式及计数初值),并写出对8253编程的有关内容。答:1、计数器0的地址为3B0H,计数器1的地址为3B1H,计数器2的地址为3B2H,控制字寄存器的地址为3B3H。2、对1MHz方波分频即可产生1KHz方波,选择计数器0,工作在方式3,计数初值为1000。MOVDX,3B3H4第五章数字量输入输出MOVAL,00110110BOUTDX,ALMOVDX,3B0HMOVAX,1000OUTDX,ALMOVAL,AHOUTDX,AL题5-15举例说明计算机异步串行通信中奇偶校验的原理。答:奇偶校验位将每个传送字符中为‘1’的位数凑成奇数个或偶数个,供接受方进行奇偶检查。比如:采用奇校验,数据为10110001B,数据中‘1’的个数为4个,则奇偶校验位的值为‘1’。题5-16从下列各小题中选择正确答案:1、8255在RESET复位以后:(1)A、B、C三个端口全置成输出方式。(2)三个端口全置成输入方式。(3)三个端口方式不定,待用方式控制字设定。2、初始化编程时,欲将8255A口设置成方式1输入、B口设置成方式0输出:(1)应对A、B、C三个端口各写一个字节的控制字。(2)对A组、B组各写一个字节的控制字。(3)三个端口合写一个控制字。答:1、(2)2、(3)题5-17现有一片8255A如题图5-17连接,设其在系统中所分配的I/O地址为200H~203H,开关K0~K3闭合,其余开路,执行完下列程序之后,请指出:1、A口和B口各工作于什么方式?各是输入还是输出?2、指出各个发光二极管LED的发光状态?MOVAL,99HMOVDX,203HOUTDX,ALMOVDX,200HINAL,DXXORAL,0FHMOVDX,201HOUTDX,AL5第五章数字量输入输出答:1、A口方式0输入,B口方式0输出。2、各个发光二极管LED全灭。题5-18从下列各小题中选择正确答案:在DMA传送中,地址总线上出现的是:(1)被访问的一个存储器单元的地址。(2)被访问的一个I/O端口的地址。(3)分时出现被访问的存储器单元和I/O端口的地址。答:略6