习题一1.什么是接口?接口就是微处理器CPU与外部世界的连接部件,是CPU与外界进行信息交换的中转站。2.为什么要在CPU与外设之间设置接口?在CPU与外设之间设置接口主要有4个原因:(1)CPU与外设二者的信号不兼容,包括信号线的功能定义、逻辑定义和时序关系(2)CPU与外设的速度不匹配,CPU的速度快,外设的速度慢(3)若不通过接口,而由CPU直接对外设的操作实施控制,会使CPU处于穷于应付与外设打交道之中,大大降低CPU的效率(4)若外设直接由CPU控制,会使外设的硬件结构依赖于CPU,对外设本身的发展不利。3.微型计算机的接口一般应具备那些功能?微机的接口一般有如下的几个功能:(1)执行CPU命令的功能:CPU将对外设的控制命令发到接口电路中的命令寄存器(命令口)中,在经分析去控制外设(2)返回外设状态的功能:通过状态寄存器(状态口)完成,包括正常工作状态和故障状态(3)数据缓冲的功能:接口电路中的数据寄存器(数据口)对CPU于外设间传送的数据进行中转(4)设备寻址的功能:CPU某个时刻只能和一台外设交换数据,CPU发出的地址信号经过接口电路中的地址译码电路来选中I/O设备(5)信号转换的功能:当CPU与外设的信号功能定义、逻辑关系、电平高低及工作时序不兼容时接口电路要完成信号的转换功能(6)数据宽度与数据格式转换的功能:由于CPU处理的数据都是并行的,当外设采用串行传送方式时,接口电路就要完成串、并之间的转换,并进行数据格式的转换。4.接口电路的硬件一般由哪几部分组成?接口电路的硬件一般由以下几部分组成:(1)基本逻辑电路:包括命令寄存器、状态寄存器和数据缓冲寄存器,是接口电路中的核心(2)端口地址译码电路:实现设备的选择功能(3)供选电路:根据不同任务和功能要求而添加的功能模块电路。5.接口电路的软件控制程序一般包括哪几部分?接口电路的软件控制程序一般包括以下的程序段,各部分程序是相互渗透、融为一体的:(1)初始化程序段:对可编程接口芯片进行初始化编程(2)传送方式处理程序段:不同的传送方式(查询、中断、DMA方式)程序段不同(3)主控程序段:完成接口任务的程序段(4)程序终止与退出程序段:程序退出前对接口电路中硬件进行保护的程序段(5)辅助程序段:人-机对话、菜单等6.接口电路的结构有哪几种形式?接口电路的结构主要有四种:(1)固定式结构:不可编程的接口电路,结构简单、功能单一、固定(2)半固定式结构:由PAL或GAL器件构成的接口电路,功能和工作方式可以通过改写内部的逻辑表达式来改变,但逻辑表达式一旦烧入芯片,其功能和工作方式就固定下来了(3)可编程结构:其功能和工作方式可由编程指定,使用灵活、适应面广,且种类繁多(4)智能型结构:芯片本身就是一个微处理器,外设的全部管理都由智能接口完成,如I/O处理器I0809或通用单片机7.CPU与接口之间有哪几种传送数据的方式?它们各应用在什么场合?CPU与接口之间的数据传送方式主要有查询方式、中断方式和DMA方式:(1)查询方式:主要用于CPU不太忙且传送速度不高的情况下。无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。(2)中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理(3)DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。习题二2I/O端口的编址方式有几种?各有何特点?I/O端口的编址方式有两种——统一编址方式(存储器映象方式)和独立编址方式(I/O映象方式、专用I/O指令方式)(4)统一编址方式:从整个寻址空间中划出一部分给I/O设备,其余的给存储器,通过地址码区分操作对象是存储器还是I/O,二者的地址码不重叠。这种方式的优点是①I/O端口的编址空间大,且易于扩展②I/O指令丰富、功能齐全;缺点是①存储器的地址空间减少,达不到系统最大的寻址空间②I/O指令比独立编址方式的专用I/O指令长,译码时间长,执行速度慢(5)独立编址方式:存储单元与I/O端口分别编址,地址码重叠,通过操作码区分操作对象是存储器还是I/O。这种方式的优点是①I/O端口不占存储器的编址空间,使存储器的容量可达系统的最大寻址能力②I/O指令短、执行速度快;指令清晰、可读性强;缺点是①I/O端口地址范围一旦确定,不易扩展②I/O指令种类有限,操作单一4I/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后有非门,其余地址线后无非门。如图所示:&A9A8A7A21A3A1A0&11111AENIOR≥1Y…8.在独立编址方式下,CPU采用什么指令来访问端口?独立编址方式下,采用专用的I/O指令——输入/输出指令(如PC系列微机中的IN、OUT)来访问端口。9.I/O端口地址译码电路一般有哪几种结构形式?I/O端口地址译码电路一般有两种结构形式:固定式端口地址译码——硬件电路不改动,译码输出的地址或地址范围不变可选式端口地址译码——电路中有若干个DIP开关,硬件电路不改动,只改变开关的状态,就可以使译码输出的地址或地址范围发生变化。。10.采用GAL器件设计地址译码电路时,其核心是编写GAL器件输入源文件(即GAL设计说明书)。现利用GAL16V8设计一个扩展系统的地址译码电路,要求该系统的I/O端口地址范围分别为300H~31FH和340H~35FH;存储器地址范围为D0000H~EFFFFH。试编写GAL16V8的编程输入源文件。略。11.若将图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是相同的,因为它们不受开关状态的影响。习题四1采用DMA方式为什么能实现高速传送?Y5Y5Y5Y5Y5DMA传送方式能够实现高速数据传送主要有两个原因:(1)它为两个存储介质提供了直接传输通道,不象CPU控制的传送那样要通过内部寄存器中转。(2)用硬件取代了软件,它直接发出对两个介质的选中信号及其读写控制信号,而不是通过执行指令来控制传送2.DMA方式传送的一般过程如何?DMA方式在传送之前,要对DMA控制器进行初始化编程,设置诸如传送方向、内存首址、数据块大小等信息,而传送过程一般可分为4个阶段:(3)申请阶段:外设向DMA控制器发出DREQ信号请求DMA服务,DMA控制器向CPU发出HRQ信号,请求占用总线(4)响应阶段:CPU向DMA控制器发出HLDA信号,将总线控制权让给DMA控制器,DMA控制器接管总线(5)数据传送阶段:DMA控制器发出DACK信号,选中I/O设备;发出内存地址,选中存储单元,并根据初始化时设定的传送方向给I/O设备和存储器发出读写控制信号,数据由源介质直接传送到目的介质(6)传送结束阶段:传送了指定长度的数据块后,或收到外部强制结束的控制信号(EOP)时,外设、DMA控制器相继撤除DREQ、HRQ信号,CPU撤除HLDA信号,总线控制权归还CPU。3.什么是DMA方式的操作类型和操作方式?DMA方式一般有哪几种操作类型和操作方式?DMA方式的操作类型是指进行DMA操作的种类,一般有3种:(7)数据传送:将源介质中的数据传送到目的介质中,包括DMA读(MI/O)和DMA写(I/OM)(8)数据校验:对数据块内部的每个字节进行某种校验,而不进行数据传送(不发出读写控制信号)(9)数据检索:也不进行数据传送,而是在指定的内存区内查找某个关键字节或某几个关键数据位是否存在DMA方式的操作方式是指在进行DMA操作时,每次所操作的字节数,不同的操作方式释放总线的条件不同。操作方式一般有以下3种:(1)单字节方式(单一方式):每次取得总线控制权只操作一个字节就释放总线,下个字节的操作要重新申请(2)连续方式(块字节方式):只要DMA操作一开始,就一直占用总线,直到全部操作完毕。在操作过程中,即使DMA请求信号无效,也只是暂停操作,将总线暂时挂起,而不释放,待DREQ有效后再继续操作(3)请求方式(询问方式):这种方式是否释放总线取决于DREQ信号,若DREQ保持有效,则占用总线,进行DMA操作;若DREQ变为无效,就释放总线4.DMA控制器在微机系统中有哪两种工作状态?其工作特点如何?DMA控制器在微机系统中有主动工作状态和被动工作状态。主动工作状态:在DMA操作期间,DMAC控制总线,控制数据在两个存储介质之间直接传送被动工作状态:非DMA操作期间,DMAC受CPU的控制,此时它主要有两个工作,一是检测片选信号,看CPU是否对它进行读写控制;二是检测DMA请求信号,看外设是否有DMA操作请求。8.什么是DMA页面地址寄存器?它的作用如何?由于DMAC8237A-5只能提供内存地址的低16位,而实际中内存地址可能是20位、24位或32位的,等等,这样就要在DMA系统中配置寄存器组,由这些寄存器组提供存储器的高位地址,这些寄存器组就是页面地址寄存器。它的作用是提供存储单元的页面地址,即高位地址。9.采用DMA方式在内存与I/O设备之间传送数据时,DMA控制器8237A-5怎样实现对I/O设备的寻址?DMA控制器8237A-5提供DACK信号给I/O设备,取代其地址选择信号,使申请DMA传送并被允许的设备在DMA传送过程中一直是有效设备。即:用DACK信号取代了芯片选择和片内端口选择信号。习题五1.什么是中断?是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU暂时停止正在运行的程序,转到为该内部/外部事件或预先安排的事件服务的程序中去,服务完毕,再返回去继续运行被暂时中断的程序,这个过程称为中断。2.可屏蔽中断处理的一般过程是什么?可屏蔽中断的处理过程一般可分为4个阶段:(10)中断申请:外设向CPU发出中断申请信号,CPU检测到有效的INTR,且无DMA请求、IF=1,当前指令执行完毕就进入响应阶段(11)中断响应:CPU通过总线控制器发出两个连续的中断响应信号(2个负脉冲)组成中断响应周期。在中断响应周期中,CPU取得中断类型号n,将程序状态字(PSW)及断点的地址(CS和IP)依次入栈保护。再查中断向量表,将(4*n)IP;(4*n+2)CS,进入中断服务阶段(12)中断服务:CPU执行中断服务程序,为中断源服务(13)中断返回:当执行到中断服务程序中的IRET指令时,将堆栈栈顶的三个字单元内容弹出,依次送给IP、CS、PSW,CPU返回到原来的程序去执行。6.什么是中断类型号?它的作用是什么?中断类型号是系统为每一个中断源分配的代号,它是8位的,与系统的中断源一一对应。中断类型号负责引导CPU找到中断服务程序的入口点。通过中断类型号查中断向量表可得到中断向量(中断服务程序入口地址),其中:物理地址为4*n的单元是中断服务程序入口点的偏移