《微机接口与通讯技术》课后习题参考答案P1(共3页)习题二1.什么是端口?端口是接口电路中能被CPU直接访问的寄存器。2.I/O端口的编址方式有几种?各有何特点?I/O端口的编址方式有两种——统一编址方式(存储器映象方式)和独立编址方式(I/O映象方式、专用I/O指令方式)(1)统一编址方式:从整个寻址空间中划出一部分给I/O设备,其余的给存储器,通过地址码区分操作对象是存储器还是I/O,二者的地址码不重叠。这种方式的优点是①I/O端口的编址空间大,且易于扩展②I/O指令丰富、功能齐全;缺点是①存储器的地址空间减少,达不到系统最大的寻址空间②I/O指令比独立编址方式的专用I/O指令长,译码时间长,执行速度慢(2)独立编址方式:存储单元与I/O端口分别编址,地址码重叠,通过操作码区分操作对象是存储器还是I/O。这种方式的优点是①I/O端口不占存储器的编址空间,使存储器的容量可达系统的最大寻址能力②I/O指令短、执行速度快;指令清晰、可读性强;缺点是①I/O端口地址范围一旦确定,不易扩展②I/O指令种类有限,操作单一3.设计I/O设备接口卡时,为防止地址冲突,选用I/O端口地址的原则是什么?为了避免端口地址发生冲突,在选择I/O端口地址时一般要遵循以下的原则:(1)凡是被系统配置所占用了的地址一律不能使用(2)原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则会发生I/O端口地址重叠和冲突(3)一般,用户可使用300H~31FH地址,这是IBM-PC微机留作实验卡的,用户可以使用。为了避免与其他用户开发的插件板发生地址冲突,最好采用地址开关。4.I/O端口地址译码电路在接口电路中的作用是什么?I/O端口地址译码电路的作用就是把地址和控制信号进行逻辑组合,从而产生对接口芯片的选择信号。5.在I/O端口地址译码电路中常常设置AEN=0,这有何意义?AEN=1,表示正在进行DMA操作,在I/O端口地址译码电路中,常常令AEN=0时,译码输出才有效,这样做的目的是为了避免在DMA操作周期中,由DMA控制器对这些以非DMA方式传送的I/O端口执行DMA方式的传送。6.若要求I/O端口地址为374H,则在图2.1(b)中的输入地址线要作哪些改动?为了使I/O端口的地址为374H,图2.1(b)中地址线A2、A8后的非门去掉,而在地址线A3、A7后面加上非门。即修改后地址线A0、A1、A3、A7后有非门,其余地址线后无非门。如图所示:《微机接口与通讯技术》课后习题参考答案P2(共3页)&A9A8A7A21A3A1A0&11111AENIOR≥1Y…7.图2.2是PC机系统板的I/O端口地址译码电路,它有何特点?试根据图中地址线的分配,写出DMAC、INTR、T/C以及PPI的地址范围?在图2.2的译码电路中,不管芯片本身需要多少个端口地址,一律分配一个含有32个地址的地址范围。其中DMAC、INTR、T/C和PPI的地址范围分别是:DMAC:00H~1FH;INTR:20H~3FH;T/C:40H~5FH;PPI:60H~7FH8.在图2.4译码电路中,若要改变I/O端口地址,使其地址范围为300H~307H,则开关S0~S9应如何设置?由于AEN必须为0,所以S9一定是闭合的,若使译码输出地址范围为300H~307H,则有如下的分析:A11A10A9A8A7A6A5A4A3A2A1A0001100000000……111S8S7S6S5S4S3S2S1S0开开合合开开开开开所以,S0~S9中S5、S6和S9是闭合的,其余的开关全部断开。9.GAL器件有那些特点?采用GAL器件进行I/O地址译码有何优点?略。10.采用GAL器件设计开发一个地址译码电路的步骤和方法如何?略。11.通常所说的I/O操作是指CPU直接对I/O设备进行操作,这话对吗?这话不对,I/O操作是指I/O端口操作,即访问与I/O设备相关的端口,而不是对I/O设备直接操作。12.在独立编址方式下,CPU采用什么指令来访问端口?独立编址方式下,采用专用的I/O指令——输入/输出指令(如PC系列微机中的IN、OUT)来访问端口。13.在I/O指令中端口地址的宽度及寻址方式有哪两种?PC系列微机中,I/O指令对端口的寻址方式有两种:直接寻址和间接寻址(必须由DX间址)。直接寻址方式中,端口地址的宽度为8位,即地址范围是00H~FFH;间接寻址方式中,端口地址的宽度为16位,即地址范围是0000H~FFFFH。14.CPU从端口读数据或向端口写数据是否涉及到一定要与存储器打交道?《微机接口与通讯技术》课后习题参考答案P3(共3页)通常所说的CPU从端口读数据或向端口写数据,仅仅是指I/O端口与CPU的累加器之间的数据传送,并未涉及数据是否传送到存储器。由于累加器只能保存一个数据,所以在实际中通常是I/O与存储器交换数据。15.I/O端口地址译码电路一般有哪几种结构形式?I/O端口地址译码电路一般有两种结构形式:固定式端口地址译码——硬件电路不改动,译码输出的地址或地址范围不变可选式端口地址译码——电路中有若干个DIP开关,硬件电路不改动,只改变开关的状态,就可以使译码输出的地址或地址范围发生变化。16.I/O地址线用作端口寻址时,高位地址线和低位地址线各作何用途?如何决定低位地址线的根数?一般情况下,高位地址线与控制信号线进行逻辑组合,经译码电路产生I/O接口芯片的片选信号——实现片间选择;低位地址线不参与译码,直接与I/O接口芯片的地址线相连——实现I/O接口芯片的片内端口选择。低位地址线的根数由I/O接口芯片内部的端口数量决定,如果I/O接口芯片内部有2n个端口(其引脚上一定有n根地址线),那么,寻址端口时,低位地址线的根数就是n。17.可选式I/O端口地址译码电路一般由哪几部分组成?可选式I/O端口地址译码电路一般由地址开关(DIP开关)、译码器、比较器或异或门组成。18.采用GAL器件设计地址译码电路时,其核心是编写GAL器件输入源文件(即GAL设计说明书)。现利用GAL16V8设计一个扩展系统的地址译码电路,要求该系统的I/O端口地址范围分别为300H~31FH和340H~35FH;存储器地址范围为D0000H~EFFFFH。试编写GAL16V8的编程输入源文件。略。19.若将图2.3中DIP开关状态设置为:S2和S1合上(ON);S3和S0断开(OFF),试指出74LS138输出端的地址范围,并与图中在DIP开关原来的状态下输出端所产生的地址范围进行比较,有何变化?如果S2和S1合上(ON);S3和S0断开(OFF),有效时,各位地址线的状态如下:A9A8A7A6A5A4A3A210010101S3S2S1S0开合合开所以,这种开关状态下,的地址范围是254H~257H;而DIP开关在原来的开关状态下,的地址范围是314H~317H。这两个地址范围A9~A6的状态不同,因为A9~A6的状态是由开关的状态决定的;而二者的A5~A2是相同的,因为它们不受开关状态的影响。Y5Y5CSY5Y5Y5