微机原理与接口技术第6章

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第6章输入输出及中断技术2主要内容输入输出系统的基本概念I/O接口和端口端口的编址方式简单接口芯片及其应用基本输入输出方法中断的基本概念及工作过程*中断控制器82593§6.1输入输出系统4了解和掌握:I/O系统的概念和特点接口的基本功能端口的概念端口的编址方式I/O地址译码5一、输入输出系统的组成及特点组成:I/O设备,I/O接口,I/O软件特点:复杂性实时性异步性与设备无关性6二、I/O接口和端口I/O接口:将外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O端口:接口中的寄存器7I/O接口要解决的问题速度匹配(Buffer)信号的驱动能力(电平转换器、驱动器)信号形式和电平的匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)8接口的功能数据的缓冲与暂存信号电平与类型的转换增加信号的驱动能力对外设进行监测、控制与管理,中断处理9I/O端口数据端口状态端口控制端口端口10I/O端口CPU数据状态控制外设I/O接口DB11三、I/O端口的编址方式8086/8088的寻址能力:内存:1MB端口:64KB编址方式:与内存统一编址独立编址12端口与内存的统一编址特点:指令及控制信号统一内存地址资源减少内存地址960KBI/O地址64KB00000HF0000HFFFFFH13端口的独立编址特点:内存地址资源充分利用能够应用于端口的指令较少内存地址I/O地址00000HFFFFFHFFFFH0000H14端口的寻址8088/8086寻址端口数:64KB寻址端口的信号:IOR、IOWA15~A0158088/8086的I/O端口编址采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)16四、I/O地址的译码目的:确定端口的地址参加译码的信号:IOR,IOW,高位地址信号OUT指令将使总线的IOW信号有效IN指令将使总线的IOR信号有效17I/O译码的地址信号当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。18I/O地址译码例某外设接口有4个端口,地址为2F0H——2F3H,由A15~A2译码得到,而A1、A0用来区分接口中的4个端口。试画该接口与系统的连接图。19I/O地址译码例地址范围:××××001011110000××××001011110011任意状态A11片内地址图中不接入20I/O地址译码例译码电路图:≥1A11A10A18A3A2A9A7A4┇&CEA1A0接口芯片21§6.2简单接口电路22掌握:接口电路的分类及特点;两类简单接口芯片的应用23一、接口的基本构成数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑24接口的基本构成数据输入/输出寄存器暂存输入/输出的数据命令寄存器存放控制命令设定接口功能、工作参数和工作方式。状态寄存器保存外设当前状态,以供CPU读取。25二、接口的类型及特点按传输信息的方向分类:输入接口输出接口按传输信息的类型分类:数字接口模拟接口按传输信息的方式分类:并行接口串行接口26接口特点输入接口:要求对数据具有控制能力常用三态门实现输出接口:要求对数据具有锁存能力常用锁存器实现27三、三态门接口高电平、低电平、高阻态2874LS244含8个三态门的集成电路芯片在外设具有数据保持能力时用来输入接口74LS244应用例——教材p238P238图29四、锁存器接口通常由D触发器构成;特点:具有对数据的锁存能力;不具备对数据的控制能力30常用锁存器芯片74LS2738D触发器,不具备数据的控制能力74LS373含三态的8D触发器,具有对数据的控制能力P239图31锁存器芯片74LS374D0~D7Q0Q7...OECP译码器Q0~Q7D0D7...OECP译码器做输出口:做输入口:外设自外设32§6.3基本输入/输出方法33基本输入/输出方法无条件传送查询式传送中断方式传送直接存储器存取(DMA)程序控制方式34一、无条件传送要求外设总是处于准备好状态优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄35无条件传送例读取开关的状态;当开关闭合时,输出编码使发光二极管亮DCPQD0D1输出口地址38F3H输入口地址38F0H+5V137二、查询工作方式仅当条件满足时才能进行数据传送;每满足一次条件只能进行一次数据传送。适用场合:外设并不总是准备好对传送速率和效率要求不高工作条件:外设应提供设备状态信息接口应具备状态端口38查询工作方式优点:软硬件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢READY?进行一次数据交换读入并测试外设状态YN传送完?Y结束N开始每满足一次条件只能进行一次数据传送40查询工作方式例外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为03F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图,并将DATA下100B数据输出。D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS3743FBHLEASI,DATAMOVCX,100AGAIN:MOVDX,03FBHWAITT:INAL,DXTESTAL,20HJNZWAITTMOVDX,03F8HMOVAL,[SI]OUTDX,ALINCSILOOPAGAINHLT读状态进行一次传送Bit5=1?传送完否?修改地址指针初始化YNNY结束43三、中断控制方式特点:外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序优点:CPU效率高,实时性好,速度快。缺点:程序编制相对较为复杂44以上三种I/O方式的共性信息的传送均需通过CPU软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的。缺点:程序的执行速度限定了传送的最大速度45四、DMA控制方式特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。(HOLD,HLDA)46DMA控制方式DMAC外设接口CPUQRDMEMDACKHOLDHLDA…BUS控制信号地址信号47§6.4中断技术48掌握:中断的基本概念中断响应的一般过程中断向量表及其初始化8088/8086中断系统49一、中断的基本概念中断:CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。50中断源引起CPU中断的事件,发出中断请求的来源。内部中断外部中断异常中断软件中断可屏蔽中断非屏蔽中断异常事件引起中断指令引起INTR中断NMI中断51引入中断的原因提高数据传输率;避免了CPU不断检测外设状态的过程,提高了CPU的利用率。实现对特殊事件的实时响应。52二、中断响应的一般过程中断请求中断响应中断处理(服务)中断返回53中断请求中断请求信号应保持到中断被处理为止;CPU响应中断后,中断请求信号应及时撤销。NMIINTR54中断响应向中断源发出INTA中断响应信号;保护断点将FLAGS、CS、IP压入堆栈获得中断服务程序入口地址由硬件系统完成55中断处理执行中断服务子程序中断服务子程序的特点:为“远过程”用IRET指令返回56中断服务子程序完成的工作关中断,保护断点,找入口地址保护软件现场(参数)开中断(STI)中断处理关中断(CLI)恢复现场中断返回57中断返回执行IRET指令,使IP、CS和FLAGS从堆栈弹出58三、8088/8086中断系统内部中断外部中断异常中断软件中断非屏蔽中断可屏蔽中断256个中断源除法错中断溢出中断单步中断…NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型:60中断向量表┇┇00000H003FFH1KB61中断向量表存放各类中断的中断服务程序的入口地址;每个入口占用4Bytes,低字为段内偏移,高字为段基址;表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口。62中断向量表的初始化将用户自定义的中断服务程序入口地址放入向量表注意点:向量表所在的段地址=0存放子程序入口的单元的偏移地址=n×4例:将中断向量码为48H的服务程序入口地址放入向量表p27463中断向量表的初始化MOVAX,0000HMOVDS,AXMOVSI,0120HMOVBX,OFFSETTIMERMOV[SI],BXMOVBX,SEGTIMERMOV[SI+2],BX648086中断类型号的获取方法有两种方法获取类型号。第一种是用指令直接获取。对于类型号0~4的中断,由于8086CPU已规定了产生中断的原因,所以可以直接获取类型号。而INTN类型的中断可以由指令直接得到中断类型号。第二种是由外部引入的INTR中断,当CPU响应中断时必须由硬件提供中断类型号。在可屏蔽中断响应周期进行到第二个周期时,类型号放入数据总线,CPU从数据总线上获取类型号658086中断过程8086中断过程之内部中断过程8086中断过程之非屏蔽中断过程8086中断过程之可屏蔽中断过程668086中断过程之内部中断过程①首先将状态寄存器的内容压入堆栈中。②置TF=0,暂停单步中断,并置IF=0,用以屏蔽以后的可屏蔽中断。③断点地址CS:IP压入堆栈。④识别中断源,首先获取中断类型号,并将其乘4,得到存储中断向量的起始地址,进而取得中断向量。将中断向量中的高地址的字送入CS寄存器,将低地址的字送IP寄存器中。⑤执行中断服务程序。⑥中断服务程序最后一条指令为IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。⑦CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。678086中断过程之非屏蔽中断过程①CPU一旦响应了中断请求,首先将状态寄存器的内容压入堆栈中。②置TF=0,暂停单步中断,并置IF=0,用以屏蔽以后的中断。③断点地址CS:IP压入堆栈。④识别中断源,首先由中断类型号02H查中断向量表读取中断服务程序的入口地址到CS和IP中。⑤执行中断服务程序。⑥执行中断返回指令IRET,这条指令的功能保证了从堆栈中弹出断点IP和CS的内容,并存入各自的寄存器中,并接着弹出状态寄存器的内容,恢复断点的状态标志。⑦CPU按CS和IP指示的内容正确地返回了程序的断点处,程序从断点处继续运行。688086中断过程之可屏蔽中断过程①

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功