微机原理-第6章 输入输出和中断技术

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

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

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

资源描述

第6章输入输出和中断技术主要内容基本概念•I/O端口的编址•输入输出的基本方法:无条件、查询、中断、DMA中断•中断基本概念•8086/8088中断系统•8259中断控制器*DMA*•DMA的基本概念•DMA工作过程•DMA的三种传输方式§6.1输入/输出接口(I/O接口)概述I/O接口的编址方式I/O端口地址的译码I/O数据的传送方式§6.1.1概述I/O接口:把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。I/O接口需要解决的问题:速度匹配(Buffer)信号电平和驱动能力(电平转换器、驱动器)信号形式匹配(A/D、D/A)信息格式(字节流、块、数据包、帧)时序匹配(定时关系)总线隔离(三态门)I/O接口的功能I/O地址译码与设备选择把选中的与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存缓解接口与CPU工作速度的差异对外设进行监测、控制与管理,中断处理信号电平与类型的转换形式、格式、电平、功率、码制等I/O端口I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。端口地址不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号——称为端口地址(或端口号)。端口编址方式端口有两种编址方式:统一编址和独立编址。§6.1.2I/O接口的编址方式把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。优点:指令统一,灵活;访问控制信号统一,使用同一组的地址/控制信号。缺点:内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H统一编址外设地址空间和内存地址空间相互独立。优点:内存地址空间不受I/O编址的影响缺点:I/O指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H独立编址8088/8086系统的编址方式8088总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器访问I/O访问8088/8086CPU的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)OUT指令将使总线的#IOW信号有效IN指令将使总线的#IOR信号有效译码方式•当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;•当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。§6.1.3I/O端口地址的译码[I/O端口地址的译码举例]某外设接口有4个端口,地址为2F0H~2F3H,则译码方式如何?基地址为2F0H由A1、A0确定4个端口中的某一个由A15~A2译码得到基地址并行一个数据单位(通常为字节)的各位同时传送速度快、距离短、成本高如:PC机的并行接口(通常用于连接打印机)串行数据按位进行传送速度慢、距离远、成本低如:PC机的串行接口(通常用于串行通信)§6.1.4I/O数据的传送方式接口电路的基本构成三态门接口简单接口的应用举例§6.2简单接口电路§6.2.1接口电路的基本结构数据线控制线状态线DBCBAB数据输入寄存器(or三态门)数据输出寄存器(锁存器)状态寄存器(or三态门)命令寄存器译码电路控制逻辑接外设接主机数据输入/输出寄存器暂存输入/输出的数据命令寄存器存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器保存外设当前状态,以供CPU读取。接口电路电路的基本构成简单接口电路数据输入接口必须具有三态输出能力,以便与总线挂接•外设有数据保持能力时—可用三态门实现•外设无数据保持能力时—用三态输出的锁存器实现数据输出接口常用锁存器实现三态门:高电平、低电平、高阻态通常一个器件中包含8个三态门常用芯片:74LS244(教材图6.3)应用例子:开关接口工作波形图A0~A15IOR#译码输出D0~D7开关状态地址有效§6.2.2三态门接口[输入接口举例]K6K7+5VI0I3D0-D7DO0DO7~74LS244E1E2≥1&A2A3A4A5A6A7A8A9A10A11A12A13A14A15IOR系统总线信号≥1K5K4K3K2K1K0I1I2I4I5I6I783FCH~83FFH译码器锁存器:由D触发器构成通常一个器件包含8个D触发器常用芯片:(教材图6.5、图6.6)74LS273、74LS374(具有三态输出的锁存器,内部结构见图6.8)应用例子:发光二极管接口输出接口译码器D0|D7CPQ0Q7...D0~D7A0~A15IOW#74LS273=1=1.........+5VRR[输入/输出接口举例]根据开关状态在7段数码管上显示数字或符号共阳极7段数码管结构见教材图6.10用74LS273作为输出接口,把数据送到7段数码管,74LS273的地址假设为F0H用74LS244作为输入口,读入开关K0~K3的状态,74LS244的地址假设为F1H当开关的状态分别为0000~1111时,在7段数码管上对应显示’0’~’F’符号形状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’01110001[7段码]O1I1O2I2O3I3O4I4#E1K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q774LS273abcdefgDP74068个反相器Rx8≥174LS138D0~D7IOW#IOR#Y0Y1A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0F0H=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,ALJMPGO§6.3输入输出的控制方式主机与外设之间数据传送的控制方式有:无条件传送查询式传送中断方式传送直接存储器存取(DMA,DirectMemoryAccess)§6.3.1无条件传送方式适用于总是处于准备好状态的外设采用无条件传送方式的设备有:•开关发光器件(如发光二极管、7段数码管、灯泡等)•继电器•步进电机优点:软件及接口硬件简单缺点:只适用于简单外设,适应范围较窄§6.3.2查询方式传送适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态——“你准备好没有?”外设应提供设备状态信息接口需要提供状态端口优点:软件比较简单缺点:CPU效率低,数据传送的实时性差,速度较慢查询方式的流程图超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器N注:多个外设时,查询流程见教材图6.15Y[查询方式举例]试画出电路图,要求:外设状态端口地址为3FBH,第5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为3F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。D5D7-D0A9|A3≥1&A15|A10≥1IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y0≥1IORY3OE74LS374CPQQDS#STROBE3FBH§6.3.3中断方式传送外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。优点:CPU效率高,实时性好,速度快。缺点:程序编制较为复杂。三种传输方式的实现都需要CPU作为外设与内存数据传输的中介,具体的实现方式有:软件外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);硬件I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)特点:外设直接与存储器进行数据交换,CPU不再担当数据传输的中介者;总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)§6.3.4DMA传输几个基本概念总线控制权、mater、slaveDMAC编程周期:slaveDMAC控制总线进行数据传输周期:masterDMA的数据传输形式:•基本的:MEM——I/O•扩充的:MEM——MEM、I/O——I/ODMA传送原理示意图①系统总线CPUDMAC存储器外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACK②③④⑤AENIOWIORMEMWMEMR①外设发出DMA请求②DMAC向CPU申请总线③CPU完成当前总线周期后响应,并释放总线控制权④DMAC得到总线控制权,并发出DMA响应信号⑤由DMAC发出各种控制信号,控制外设与存储器之间的数据传送⑥数据传送完后,DMAC撤销HOLD信号⑦CPU释放HLDA信号,并重新控制总线⑥⑦DMA控制器的工作过程当外设准备好,可以进行DMA传送时,外设向DMA控制器发出“DMA传送请求”信号(DRQ);DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示希望占用总线;CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个动作:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK;DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送;如向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号,即可从外设向内存传送一个字节。DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。连续传送(块传送)DMAC申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。单次传送(每次传送一个字节)每个DMA周期只传送一个字节就立即释放总线按需传送(猝发传送)只要I/O接口的数据缓冲可用,就进行传送(注:I/O接口需要有一定大

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

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

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

×
保存成功