您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 微机原理第6章 输入输出和中断技术
Ch.6输入输出和中断技术本章内容基本概念I/O端口的编址输入输出的基本方法:无条件、查询、中断、DMA中断中断基本概念8086/8088中断系统8259中断控制器DMADMA的基本概念DMA工作过程DMA的三种传输方式6.1输入/输出接口(I/O接口)6.1.1概述什么是I/O接口?把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O接口要解决的问题速度匹配(Buffer)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)I/O接口的功能I/O地址译码与设备选择把选中的与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存缓解接口与CPU工作速度的差异对外设进行监测、控制与管理,中断处理信号电平与类型的转换形式、格式、电平、功率、码制等6.1.2I/O接口的编址方式I/O端口:I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号、接口地址)。端口有两种编址方式:统一编址和独立编址。1.统一编址把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。优点指令统一,灵活;访问控制信号统一。缺点内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H2.独立编址外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺点:I/O指令功能较弱8088总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器输入/输出8088/8086CPU的I/O编址方式采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用来区分:时为I/O地址I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)IO/M=1IO/M6.1.3I/O端口地址的译码、、A15~A0OUT指令将使总线的信号有效IN指令将使总线的信号有效当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。例如:某外设接口有4个端口,地址为2F0H~2F3H,则其基地址为2F0H,由A15~A2译码得到,而A1、A0用来确定4个端口中的某一个。IORIOWIOWIOR6.1.4I/O数据的传送方式并行一个数据单位(通常为字节)的各位同时传送速度快、距离短、成本高例:PC机的并行接口(通常用于连接打印机)串行数据按位进行传送速度慢、距离远、成本低例:PC机的串行接口(通常用于串行通信)6.2.1接口电路的基本结构6.2简单接口电路数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑数据输入/输出寄存器——暂存输入/输出的数据命令寄存器——存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器——保存外设当前状态,以供CPU读取。简单接口电路数据输入接口必须具有三态输出能力,以便与总线挂接外设有数据保持能力时—可用三态门实现外设无数据保持能力时—用三态输出的锁存器实现数据输出接口常用锁存器实现三态门:高电平、低电平、高阻态通常一个器件中包含8个三态门常用芯片:74LS244(教材图6.3)应用例子:开关接口工作波形图如下:A0~A15IOR#译码输出D0~D7开关状态地址有效简单的输入接口举例K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系统总线信号≥1K5K4K3K2K1K0I1I2I4I5I6I7接口电路图如下:83FCH~83FFH译码器锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:(教材图6.5、图6.6)74LS27374LS374(具有三态输出的锁存器,内部结构见图6.8)应用例子:发光二极管接口简单的输出接口举例译码器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW#74LS273R输入/输出接口综合应用例子根据开关状态在7段数码管上显示数字或符号共阳极7段数码管结构见教材图6.10用74LS273作为输出接口,把数据送到7段数码管74LS273的地址假设为F0H用74LS244作为输入口,读入开关K0~K3的状态74LS244的地址假设为F1H当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’(7段码表见下页)符号形状7段码.gfedcba符号形状7段码.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’01110001O1I1O2I2O3I3O4I4E1#K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3译码器相应程序段如下:……Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71H……LEABX,Seg7;取7段码表基地址MOVAH,0GO:MOVDX,0F1H;开关接口的地址为F1HINAL,DX;读入开关状态ANDAL,0FH;保留低4位MOVSI,AX;作为7段码表的表内位移量MOVAL,[BX+SI];取7段码MOVDX,0F0H;7段数码管接口的地址为F0HOUTDX,ALJMPGO6.3输入输出的控制方式主机与外设之间数据传送的控制方式有以下四种:无条件传送查询式传送中断方式传送直接存储器存取(DMA,DirectMemoryAccess)6.3.1无条件传送方式适用于总是处于准备好状态的外设以下外设可采用无条件传送方式:开关发光器件(如发光二极管、7段数码管、灯泡等)继电器步进电机优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄6.3.2查询方式适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态——“你准备好没有?”对外设的要求:应提供设备状态信息对接口的要求:需要提供状态端口优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢查询方式的流程图超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY注:多个外设时,查询流程见教材图6.15例:用查询方式进行输出外设状态端口地址为3FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为3F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图。(电路图见下页)D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS374CPQQDSSTROBE3FBH6.3.3中断方式CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。优点:CPU效率高,实时性好,速度快。缺点:程序编制较为复杂。6.3.4DMA传输前面三种I/O方式都需要CPU作为中介:外设CPU内存两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)—解决:DMA传输DMA传输:外设内存外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)几个基本概念总线控制权、mater、slaveDMAC编程周期:slaveDMAC控制总线进行数据传输周期:masterDMA的数据传输形式:基本的MEM——I/O和扩充的MEM——MEMI/O——I/ODMA传送原理示意图①系统总线CPUDMAC存储器外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外设发出DMA请求②DMAC向CPU申请总线③CPU响应,释放总线控制权④DMAC得到总线控制权,并发出DMA响应信号⑤由DMAC发出各种控制信号,控制外设与存储器之间的数据传送⑥数据传送完后,DMAC撤销HOLD信号⑦CPU释放HLDA信号,并重新控制总线⑥⑦DMA控制器的工作过程1)当外设准备好,可以进行DMA传送时,外设向DMA控制器发出“DMA传送请求”信号(DRQ);2)DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线;3)CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个动作:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。4)DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK;MEMW,同时向外设发出I/O地址、IORDMA控制器的工作过程(续)5)DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;例如,向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号,即可从外设向内存传送一个字节。6)DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。DMA的三种传输方式:连续传送(块传送)DMAC申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。单次传送(每次传送一个字节)每个DMA周期只传送一个字节就立即释放总线。按需传送(猝发传送)只要I/O接口的数据缓冲可用,就进行传送。(注:I/O接口需要有一定大小的FIFO缓冲)YN允许DMADMA请求?DMAC请求总线CPU响应,DMAC获总线控制权DMA传送一个字节块结束?地址增
本文标题:微机原理第6章 输入输出和中断技术
链接地址:https://www.777doc.com/doc-3177942 .html