资源描述
121 1)了解了解I/OI/O系统、系统、I/OI/O接口和接口和I/OI/O端口的一般概念端口的一般概念2 2)了解了解I/OI/O端口的编址方式端口的编址方式3 3)深入理解深入理解基本输入基本输入/输出方法及中断控制技术输出方法及中断控制技术4 4)掌握掌握简单接口芯片的应用简单接口芯片的应用教学目的及要求教学目的及要求36.6.1 1 输入输出系统输入输出系统4一、输入输出系统n输入入输出系出系统:n计算机系算机系统中除中除CPU和内存和内存储器之外的部分器之外的部分I/O系统系统输入输出设备输入输出设备输入输出接口输入输出接口输入输出软件输入输出软件5输入输出系统特点n复复杂性性n输入入输出出设备、处理器、操作系理器、操作系统的复的复杂性性 n异步性异步性n工作速度和工作速度和时序不一致序不一致n实时性性n控制的控制的时效性效性n与与设备无关性无关性n接口的接口的标准化准化6二、二、I/O接口系统及接口n有关有关I/O系系统的概念、特点,以及的概念、特点,以及I/O接口的接口的功能等,功能等,请参参阅教材描述,自行学教材描述,自行学习。n总体上,体上,I/O接口接口应具具备以下功能:以下功能:n数据的数据的缓冲与冲与暂存存n信号信号电平与平与类型的型的转换n增加信号的增加信号的驱动能力能力n对外外设进行行监测、控制与管理,中断、控制与管理,中断处理理三、三、I/O端口n端口:端口:n接口中的寄存器接口中的寄存器n端口的主要作用:端口的主要作用:n数据数据缓存存n端口端口类型:型:n数据端口数据端口n缓存输入和输出的数据缓存输入和输出的数据n状状态端口端口n缓存需要输入的外设工作状态缓存需要输入的外设工作状态n控制端口控制端口n缓存由系统输出的各种控制信息缓存由系统输出的各种控制信息78I/O端口CPU数据数据状态状态控制控制外设外设I/O接口接口DB9I/O系统中的接口和端口接口接口1接口接口2接口接口N端口端口1端口端口2端口端口m端口端口1端口端口1端口端口2端口端口2端口端口m端口端口m端口端口编址编址端口地址端口地址=芯片地址(高位地址)芯片地址(高位地址)+片内地址片内地址10四、I/O端口的编址方式n编址方式:址方式:n与内存与内存统一一编址址n独立独立编址址111.端口与内存的统一编址特点:特点:n指令及控制信号指令及控制信号统一;一;n内存地址内存地址资源减少源减少内存内存地址地址960KBI/O地址地址64KB00000HF0000HFFFFFH122.端口的独立编址特点:特点:n内存地址内存地址资源充分利用源充分利用n能能够应用于端口的指令用于端口的指令 较少少内存内存地址地址I/O地址地址00000HFFFFFHFFFFH0000H138088/8086的I/O端口编址n采用采用I/O独立独立编址方式址方式(但地址但地址线与存与存储器共用器共用)n地址地址线上的地址信号用上的地址信号用IO/M来区分来区分nI/O操作只使用操作只使用20根地址根地址线中的中的16根:根:A15A0n可可寻址的址的I/O端口数端口数为64K(65536)个个nI/O地址范地址范围为0FFFFH14五、I/O地址译码n目的:目的:n确定端口的地址确定端口的地址n寻址端口的信号:址端口的信号:nIOR、IOWnA15 A0n参加参加译码的信号:的信号:nIOR,IOW,高位地址信号高位地址信号OUT指令将使总线的指令将使总线的IOW信号有效信号有效IN指令将使总线的指令将使总线的IOR信号有效信号有效15I/O地址译码n一个接口一个接口电路中可以有多个端口,也可以只有路中可以有多个端口,也可以只有一个端口。一个端口。n对全地址全地址译码:n当接口只有一个端口当接口只有一个端口时,16位地址位地址线应全部参与全部参与译码,译码输出直接出直接选择该端口;端口;n当接口具有多个端口当接口具有多个端口时,则16位地址位地址线的高位的高位参与参与译码(决定接口的基地址),低位用于(决定接口的基地址),低位用于寻址接口中址接口中要要访问的端口。的端口。n对部分地址部分地址译码:n仅用部分地址信号参与用部分地址信号参与译码n对含多个端口的接口,含多个端口的接口,则为部分高位地址。部分高位地址。I/O系统中,因地址资源丰富,多采系统中,因地址资源丰富,多采用部分地址译码。用部分地址译码。I/OI/O地址的译码地址的译码n当接口只有一个端口时,当接口只有一个端口时,1616位地址线位地址线一般一般应应全部参与译码,译码输出直接选择该端口;全部参与译码,译码输出直接选择该端口;n当接口具有多个端口时,则当接口具有多个端口时,则1616位地址线的高位地址线的高位位参与译码(决定接口的基地址),而低位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。则用于确定要访问哪一个端口。IN AL,21H返回OUT 43H,AL返回19I/O地址译码例n某外某外设接口有接口有4个端口,地址个端口,地址为2F0H2F3H,由由A15A2译码得到,而得到,而A1、A0用来区分接口用来区分接口中的中的4个端口。个端口。试画画该接口与系接口与系统的的连接接图。n题目分析:目分析:n寻址端口的地址信号最多址端口的地址信号最多为16bit,题中中仅给出出12bit为部分地址部分地址译码n该接口接口电路中含有路中含有4个端口,片内端口个端口,片内端口寻址需址需2位地址位地址信号,其余信号,其余10位位为片片选地址信号。地址信号。20I/O地址译码例n地址范地址范围:n 0 0 1 0 1 1 1 1 0 0 0 0n 0 0 1 0 1 1 1 1 0 0 1 1任意状态任意状态A11片内地址片内地址图中不接入图中不接入21I/O地址译码例n译码电路路图:1A1111A1010A1818A3 3A2 2A9 9A7 7A4 4&CEA1 1A0 0接口芯片接口芯片IORIOW&22六、接口的基本构成数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门三态门)数据输出寄存器数据输出寄存器(锁存器锁存器)状态寄存器状态寄存器(or 三态门三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑23接口的基本构成n数据数据输入入/输出寄存器出寄存器 n暂存存输入入/输出的数据出的数据n命令寄存器命令寄存器 n存放控制命令存放控制命令n设定接口功能、工作参数和工作方式。设定接口功能、工作参数和工作方式。n状状态寄存器寄存器 n保存外保存外设当前状当前状态,以供,以供CPU读取。取。24七、接口的类型及特点n按按传输信息的方向分信息的方向分类:n输入接口入接口n输出接口出接口n按按传输信息的信息的类型分型分类:n数字接口数字接口n模模拟接口接口n按按传输信息的方式分信息的方式分类:n并行接口并行接口n串行接口串行接口25接口特点n输入接口:入接口:n要求要求对数据具有控制能力数据具有控制能力n常用三常用三态门实现n输出接口:出接口:n要求要求对数据具有数据具有锁存能力存能力n常用常用锁存器存器实现266.26.2 简单接口电路27掌握:n两两类简单接口芯片的接口芯片的应用用28一、三态门接口n高高电平、低平、低电平、平、高阻高阻态2974LS244n含含8个三个三态门的集成的集成电路芯片路芯片n在外在外设具有数据保持能力具有数据保持能力时用来用来输入接口入接口n74LS244应用例用例n教材教材p238P238图图30二、锁存器接口n通常由通常由D触触发器构成;器构成;n特点:特点:n具有具有对数据的数据的锁存能力;存能力;n不具不具备对数据的控制能力数据的控制能力31常用锁存器芯片n74LS273n8D触触发器,不具器,不具备数据的控制能力数据的控制能力n74LS373n含三含三态的的8D触触发器,具有器,具有对数据的控制能力。数据的控制能力。n既可以做既可以做输入接口,也可以做入接口,也可以做输出接口。出接口。P240图图32I/O接口综合应用例n根据开关状根据开关状态在在7段数段数码管上管上显示数字或符号示数字或符号n设输出接口的地址出接口的地址为F0Hn设输入接口地址入接口地址为F1Hn当开关的状当开关的状态分分别为00001111时,在,在7段段数数码管上管上对应显示示0F7段数码管图见教材段数码管图见教材p242符号符号形状形状7段码段码.gfedcba符号符号形状形状7段码段码.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001O1 I1O2 I2O3 I3O4 I4E1 K0K3+5V G G2A G2B C B A1174LS244D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LS138D0D7IOWIORY0Y1F0H=1111 0000F1H=1111 0001&A6A4A3A2A1A0D0D1D2D3译码器译码器A7A0135I/O接口综合应用例 程序段Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH,39H,5EH,79H,71H LEA BX,Seg7 MOV AH,0 GO:INAL,0F1H AND AL,0FH MOV SI,AX MOV AL,BX+SI OUT 0F0H,AL JMP GO366.36.3 基本输入/输出方法37基本输入/输出方法无条件无条件传送送查询式式传送送中断方式中断方式传送送直接存直接存储器存取器存取(DMA)程序控制方式程序控制方式38一、无条件传送n要求外要求外设总是是处于准于准备好状好状态n优点:点:n软件及接口硬件件及接口硬件简单n缺点:缺点:n只适用于只适用于简单外外设,适,适应范范围较窄窄39无条件传送例n读取开关的状取开关的状态;n当开关当开关闭合合时,输出出编码使使发光二极管亮。光二极管亮。DCPQD0D1输出口地输出口地址址38F3H输入口地输入口地址址38F0H+5V141二、查询工作方式n仅当条件当条件满足足时才能才能进行数据行数据传送;送;n每每满足一次条件只能足一次条件只能进行一次数据行一次数据传送。送。n适用适用场合:合:n外外设并不并不总是准是准备好好n对传送速率和效率要求不高送速率和效率要求不高n工作条件:工作条件:n外外设应提供提供设备状状态信息信息n接口接口应具具备状状态端口端口READY?READY?进行进行一次一次数据交换数据交换读入并测试外设状态读入并测试外设状态YN传送完传送完?Y结结 束束N每满足一次每满足一次条件只能进条件只能进行一次数据行一次数据传送传送开开 始始查询工作方式流程图查询工作方式流程图超时超时?READY?READY?与外设进与外设进行数据交换行数据交换超时错超时错读入并测试外设状态读入并测试外设状态YNYN传送完传送完?防止死循环防止死循环复位计时器复位计时器NY结结 束束N44查询工作方式例外外设状状态端口地址端口地址为03FBH,bit5为状状态标志志(=1忙,忙,=0准准备好)好)外外设数据端口地址数据端口地址为03F8H,写入数据会使状,写入数据会使状态标志置志置1;外;外设把数据把数据读走后又把它置走后又把它置0。试画出其画出其电路路图,并将,并将DATA下下100B数据数据输出。出。状态端口状态端口D5D7-D0A9|A31&A15|A1013F8HA2A1A0GG2AG2BCBA74LS138Y01D7-D0CPQ7Q6Q5Q4Q3Q2Q1Q074LS273外外设设D7D6D5D4D3D2D1D0BUSYY33FBHIOWIOR状态端口地址:状态端口地址:0000 0011 1111 1011数据端口地址:数据端口地址:0000 0011 1111 1000 LEA SI,DATA MOV CX,100AGAIN:MOV DX,03FBHWAITT:IN AL,DX TEST AL,20H JNZ WAITT MOV DX,03F8H MOV AL,SI OUT DX,AL INC SI LOOP AGAIN HLT 读状态读状态 进行一次传送进行一次传送Bit5=1?传送完否传送完否?修改地址指针修改地址指针 初始化初始化YNNY 结结 束束控制程序控制程序查询工作方式n优点:点:n软硬件比硬件比较简单n缺点:缺点:nCPU效率低,数据效率低,数据传送的送的实时性差,性差,速度速度较慢慢4748三、中断控制方式n特点:特点:n外外设在需要在需要时向向CPU提出提出请求,求,CPU再去再去为它它 服服务。服。服务结束后或在外束后或在外设不需要不需要时,CPU可可 执行自己的程序。行自己的程序。n优点:点:nCPU效率高,效率高,实时性好,速度快。性好,速度快。n缺点:缺点:n程序程序编制相制相对较为复复杂。中断传送流程返回50以上三种I/O方式的共性n信息的信息的传送均需通送均需通过CPUn软件:件:n外外设与内存之与内存之间的数据的数据传送是通送是通过CPU执行程序来完行程序来完成的(成的(PIO方式);方式);n硬件:硬件:nI/O接口和存接口和存储器的器的读写控制信号、地址信号都是由写控制信号、地址信号都是由CPU发出的。出的。n 缺点:缺点:n程序的程序的执行速度限定了行速度限定了传送的最大速度送的最大速度51四、DMA控制方式n特点:特点:n外外设直接与存直接与存储器器进行数据交行数据交换,CPU不再担当数不再担当数据据传输的中介者;的中介者;n总线由由DMA控制器(控制器(DMAC)进行控制(行控制(CPU要放要放弃弃总线控制控制权),内存),内存/外外设的地址和的地址和读写控制信号写控制信号均由均由DMAC提供。提供。52DMA控制方式DMAC外设外设接口接口CPUQRDMEMDACKHOLDHLDABUS控制信号控制信号地址信号地址信号53DMA控制方式的工作过程n外外设向向DMA控制器控制器发出出“DMA传送送请求求”信号信号 DRQ;nDMA控制器收到控制器收到请求后,向求后,向CPU发出出“总线请 求求”信号信号HOLD;nCPU在完成当前在完成当前总线周期后会立即周期后会立即发出出HLDA 信号,信号,对HOLD信号信号进行响行响应;nDMA控制器收到控制器收到HLDA信号后,就开始控制信号后,就开始控制总 线,并向外,并向外设发出出DMA响响应信号信号DACK。DMA传送流程返回55DMA控制方式工作过程例n例:从外例:从外设向内存向内存传送若干字送若干字节数据数据nDMAC向向I/O接口接口发出出读信号;信号;n向地址向地址总线上上发出存出存储器的地址;器的地址;n发出存出存储器写信号和器写信号和AEN信号;信号;n传送数据并自送数据并自动修改地址和字修改地址和字节计数器数器n判断是否需要重复判断是否需要重复传送操作送操作;n若数据若数据传送完,送完,DMA控制器撤控制器撤销发往往CPU的的HOLD信号;信号;nCPU检测到到HOLD失效后,失效后,则撤撤销HLDA信号,并在下一信号,并在下一时钟周期重新开始控制周期重新开始控制总线。56DMA控制方式n数据数据传输由由DMA硬件来控制,数据硬件来控制,数据直接在内存直接在内存和外和外设之之间交交换,可以达到很高的,可以达到很高的传输速率。速率。n控制复控制复杂,硬件成本相,硬件成本相对较高。高。576.46.4 中断技术58掌握:n中断的基本概念中断的基本概念n中断响中断响应的一般的一般过程程n中断向量表及其初始化中断向量表及其初始化n8088/8086中断系中断系统59一、中断的基本概念n中断:中断:nCPU执行程序行程序时,由于,由于发生了某种随机的事件生了某种随机的事件(外部外部或内部或内部),引起,引起CPU暂时中断正在运行的程序,中断正在运行的程序,转去去执行一段特殊的服行一段特殊的服务程序程序(称称为中断服中断服务程序或中断程序或中断处理程序理程序),以,以处理理该事件,事件,该事件事件处理完后又返回理完后又返回被中断的程序被中断的程序继续执行,行,这一一过程称程称为中断。中断。60中断源n引起引起CPU中断的事件,中断的事件,发出中断出中断请求的来源。求的来源。内部中断内部中断外部中断外部中断异常中断异常中断软件中断软件中断可屏蔽中断可屏蔽中断非屏蔽中断非屏蔽中断异常事件引起异常事件引起中断指令引起中断指令引起INTR中断中断NMI中断中断61引入中断的原因n提高数据提高数据传输率;率;n避免了避免了CPU不断不断检测外外设状状态的的过程,提高了程,提高了CPU的利用率。的利用率。n实现对特殊事件的特殊事件的实时响响应。62二、中断处理的一般过程n中断中断请求求n中断源中断源识别及中断判及中断判优n中断响中断响应n中断中断处理(服理(服务)n中断返回中断返回63中断请求n中断中断请求信号求信号应保持到中断被保持到中断被处理理为止;止;nCPU响响应中断后,中断中断后,中断请求信号求信号应及及时撤撤销。NMIINTR64中断源识别n软件件查询法法n中断矢量法中断矢量法n由中断源提供中断由中断源提供中断类型号,型号,CPU根据根据类型确定中型确定中断源。断源。中断源识别及确定先响应哪个中断请求中断源识别及确定先响应哪个中断请求(中断判优)由硬件系统完成(中断判优)由硬件系统完成65中断判优n当有多个中断源同当有多个中断源同时提出提出请求求时,需要确定,需要确定首先响首先响应哪一个中断源。哪一个中断源。n优先先级法法则n低低优先先级的中断程序允的中断程序允许被高被高优先先级的中断源所的中断源所中断中断n排排队法法则n先来先响先来先响应中断嵌套中断嵌套66中断判优方法n软件判件判优n顺序序查询中断中断请求,先求,先查询的先服的先服务n即先查询的优先级别高即先查询的优先级别高n硬件判硬件判优n链式判式判优、并行判、并行判优(中断向量法)(中断向量法)菊花链逻辑电路菊花链逻辑电路INTAinIREQINTR&=1 1INTAoutDB三态门三态门中中断断向向量量码码E外设接口外设接口中断确认中断确认菊花链菊花链逻辑电路逻辑电路68中断响应n向中断源向中断源发出出INTA中断响中断响应信号;信号;n关中断关中断n保保护硬件硬件现场n将将FLAGS压入堆入堆栈n保保护断点断点n将将CS、IP压入堆入堆栈n获得中断服得中断服务程序入口地址程序入口地址由由硬硬件件系系统统完完成成69中断处理n执行中断服行中断服务子程序子程序n中断服中断服务子程序的特点:子程序的特点:n为“远过程程”n用用IRET指令返回指令返回70中断服务子程序完成的工作n关中断,保关中断,保护现场,保,保护断点,找入口地址断点,找入口地址n保保护软件件现场(参数)(参数)n开中断(开中断(STI)n中断中断处理理n关中断(关中断(CLI)n恢复恢复现场n中断返回中断返回71中断返回n执行行IRET指令,使指令,使IP、CS和和FLAGS从堆从堆栈弹出出恢复断点和硬件现场恢复断点和硬件现场外部可屏蔽中断处理过程外部可屏蔽中断处理过程72获取中断类型码获取中断类型码由硬件系统完成由硬件系统完成由软件实现由软件实现STICLI由由硬硬件件实实现现73三、8088/8086中断系统内部中断内部中断外部中断外部中断异常中断异常中断软件中断软件中断非屏蔽中断非屏蔽中断可屏蔽中断可屏蔽中断 256个个中断源中断源除法错中断除法错中断溢出中断溢出中断单步中断单步中断 NMIINTR中断逻辑中断逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU8086/8088CPU内部逻辑内部逻辑断点中断断点中断可可屏屏蔽蔽中中断断请请求求n430128086/8088中断源类型:中断源类型:75中断向量表 00000H003FFH1KB76中断向量表n存放各存放各类中断的中断服中断的中断服务程序的入口地址;程序的入口地址;n每个入口占用每个入口占用4 Bytes,低字,低字为段内偏移,高段内偏移,高 字字为段基址;段基址;n表的地址位于内存的表的地址位于内存的00000H003FFH,大,大 小小为1KB,共,共256个入口。个入口。77中断向量表的初始化n将用将用户自定自定义的中断服的中断服务程序入口地址放入向量表程序入口地址放入向量表n注意点:注意点:n向量表所在的段地址向量表所在的段地址=0n存放子程序入口的存放子程序入口的单元的偏移地址元的偏移地址=n4n例:例:n将中断向量将中断向量码为48H的服的服务程序入口地址放入向量表程序入口地址放入向量表78中断向量表的初始化n将将类型型码为48H的中断服的中断服务子程序子程序TIMER的中断向量放入向量表的中断向量放入向量表nMOV AX,0000HnMOV DS,AXnMOV SI,0120HnMOV BX,OFFSET TIMERnMOV SI,BXnMOV BX,SEG TIMER nMOV SI+2,BX798088内部中断与NMI中断特点:特点:n无无INTA周期周期n中断中断类型型码固定或由指令固定或由指令给出出8088/8086的中断响应和处理流程NYNYNNNNNYY执行指令执行完否?取指令IF=1?内部中断?NMI?INTR?TF=1?类型码=0255类型码=2类型码=1中断响应,读回类型码保护FLAGSTEMPTFTF=TF=0CS、IP入栈计算向量表地址高字CS低字IP执行中断服务程序NMI?TEMP=1?转入中断服务程序恢复CS和IP恢复FLAGS返回被中断的程序YYYYNIRET指 令的操作81本章课外自学内容:n中断控制器中断控制器8259
展开阅读全文