您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第6章 输入输出和中断技术
第六章输入和输出系统学习目的描述端口的编址方式说明端口地址译码的作用描述接口与CPU和外设的信号说明接口中主要的端口的作用说明程序传送方式的类型与原理说明中断传送方式原理说明DMA原理重点与难点存储器地址译码电路的设计6.1概述接口就是CPU与外界的连接部件,是CPU与外界交换信息的中转站。一.CPU与I/O接口接口电路按功能可分为两类:①使微处理器正常工作所需要的辅助电路:时钟信号或中断请求等;②输入/输出接口电路:CPU与外部设备信息的传送(接收、发送)。最常用的外部设备:如键盘、显示装置、打印机、磁盘机等都是通过输入/输出接口和总线相连的,完成检测和控制的仪表装置也属于外部设备之列,也是通过接口电路和主机相连。二、接口的功能(8种):⑴寻址能力:对送来的片选信号进行识别。⑵输入/输出功能:根据读/写信号决定当前进行的是输入操作还是输出操作。⑶数据转换功能:并行数据向串行数据的转换或串行数据向并行数据的转换。⑷联络功能:就绪信号,忙信号等。⑸中断管理:发出中斯请求信号、接收中断响应信号、发送中断类型码的功能。并具有优先级管理功能。⑹复位:接收复位信号,从而使接口本身以及所连的外设进行重新启动。⑺可编程:用软件来决定其工作方式,用软件来设置有关的控制信号。⑻错误检测:一类是传输错误。另一类是覆盖错误。注:一些接口还可根据具体情况设置其它的检测信息。三.I/O接口与系统的连接1.CPU与I/O设备之间的信号(三类)数据信息包括三种形式:数字量、模拟量、开关量状态信息是外设通过接口往CPU传送的如:“准备好”(READY)信号、“忙”(BUSY)信号控制信息是CPU通过接口传送给外设的如:外设的启动信号、停止信号2.接口部件的I/O端口:⑴数据端口、⑵控制端口、⑶状态端口CPU和外设进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口,每个端口有一个端口地址。用于对来自CPU和内存的数据或者送往CPU和内存的数据起缓冲作用的,这些端口叫数据端口。用来存放外部设备或者接口部件本身的状态,称为状态端口。用来存放CPU发出的命令,以便控制接口和设备的动作,这类端口叫控制端口。如图所示:注:⑴输入还是输出,所用到的地址总是对端口而言的,不是对接口部件而言的。⑵为了节省地址空间,将数据输入端口和数据输出端口对应同一个端口地址。同样,状态端口和控制端口也常用同一个端口地址。⑶CPU对外设的输入/输出操作就归结为对接口芯片各端口的读/写操作。6.2I/O端口编址方式一.概念I/O端口:是接口电路中CPU能访问的寄存器的地址.I/O操作:CPU对I/O接口电路(与设备相关)的操作.二.端口编址方式CPU寻址外设有两种方式:将存储器与外设端口统一编址外设端口单独编址1.统一编址:将外设接口电路的一个端口作为存储器的一个单元。每一个外设端口占有存储器的一个地址。优点:不需要专门的输入输出指令,可用全部的存储器操作指令。(指令多且灵活)如:movkou1,bx缺点:外设占用内存单元,相对减少了内存容量。65F3020024E0内存与外设内存外设Kou1026D0000000001EFFFFF0000F0001F0002FFFFF2.外设端口单独编址优点:不占用内存缺点:CPU需设专门的I/O指令。I/O指令:•若端口地址在0~FFH范围内,则用直接寻址INAL,端口地址(输入)OUT端口地址,AL(输出)如:INAL,20HOUT80H,AXOUT84H,AL•若端口地址在0100~FFFFH范围内,则用DX间接寻址:MOVDX,端口地址INAL,DXOUTDX,AL如:MOVDX,300HINAL,DX65F30200外设000000FFFFFF0100KOU1KOU2KOU311223344KOU100KOU10111323201内存00000FFFFF三、I/O端口地址分配1.IBMPC/XTI/O端口地址分配图0000001F0020003F0040005F0060007F0080009F00A000BF008001FF32字节320字节32字节32字节32字节32字节32字节0000~000F8237A—5DMA控制器0020~00218259A中断控制器0040~00438253A—5定时/计数器0060~00638255A—5并行接口芯片0080~0083DMA页面寄存器00A0~00BFNMI屏蔽寄存器02000200~020F游戏控制口0210~0217扩展部件0218~02F7未用02F8~02FF异步通信卡(第二个)0320~032F硬盘适配器0330~0377并行打印机未用0300~031F实验卡0380~038F0390~03AF03B0~03BF03C0~03CF03D0~03DF03E0~03EF03F0~03F703F8~03FF03FF0378~037FSPLC通信未用单色显示器/打印机未用未用彩色/图形显示卡软盘适配器异步通信卡(第一个)Fig2-48086在最小模式下的典型配置8088/8086的I/O端口编址小结采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用IO/M来区分I/O操作只使用20根地址线中的16根:A15~A0可寻址的I/O端口数为64K(65536)个I/O地址范围为0~FFFFHIBMPC只使用了1024个I/O地址(0~3FFH)四、I/O地址的译码目的:确定端口的地址参加译码的信号:IOR,IOW,高位地址信号OUT指令将使总线的IOW信号有效IN指令将使总线的IOR信号有效I/O译码的地址信号当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。I/O地址译码例某外设接口有4个端口,地址为2F0H——2F3H,由A15~A2译码得到,而A1、A0用来区分接口中的4个端口。试画该接口与系统的连接图。I/O地址译码例地址范围:–××××001011110000–××××001011110011任意状态A11片内地址图中不接入I/O地址译码例译码电路图:≥1A11A10A8A3A2A9A7A4┇&CEA1A0接口芯片7.3输入输出的控制方式无条件传送方式条件(查询)传送方式中断传送方式DMA方式一、程序传送方式由程序控制CPU与外设之间的数据交换。1)、无条件传送方式外设已准备好,不查询外设的状态输入时,外设的数据已送到三态缓冲器。输出时,CPU的输出信息已送到输出锁存器的输入端。选中地址数据写信号读信号输出端口图7.1无条件传送输入端口执行输入指令时,例:INAL,80H,RD信号有效,M/IO=0,输入三态缓冲器,被选通,已准备好的数据进入数据总线,送到AL.读信号有效M/IO有效80H例1:输入:INAL,80H;(80H)=10H将80H端口的内容送AL。IO/M=1,RD=0,AL=10H例2:输出:OUT82H,AL;AL=10H将AL中的内容送82H端口。IO/M=1,WR=0,(82H)=10H2、条件(查询)传送方式程序测试外设的状态,若满足,传送,不满足,等待。数据传送过程:1)、CPU从接口读取状态字;2)、CPU检测状态字的对应位是否满足“就绪”条件,如果不满足,回到第一步读取状态字;3)、如状态字表明外设已处于“就绪”状态,则传送数据。过程:输入操作的程序流程如图所示:对READY的状态查询,是通过读状态端口的相应位来实现的,输出的情况亦大致相同,这种传送控制方式的最大优点是,能够保证输入/输出数据的正确性。输入接口以输入设备将数据送入锁存,发选通信号开始,→READY=1→CPU查询(读READY)→读数据→清除READY。输出接口CPU送数据至锁存器,发选通信号,→a。通知外设取数据;→b。BUSY→输出设备取完数据→ACK→清BUSY→CPU查询。例:假设从某输入设备上输入一组数据送缓冲区,若缓冲区已满则输出一组信息“BOFFEROVERFLOW”,然后结束。设该设备的启动地址为0FCH,数据端口为0F8H,状态端口为FAH程序如下:DATASEGMENTMESS1DB“BUFFEROVERFLOW”,“$”BUFFDB60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSETBUFF;送缓冲区指针MOVCX,60;送计数初值OUT0FCH,ALWAIT:INAL,OFAH;查询状态,若为0TESTAL,01HJZWAITINAL,0F8HMOV[BX],ALINCBXLOOPWAITMOVDX,OFFSETMESS1;缓冲区满,输出标志字符串MOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTART优先级问题当CPU需对多个设备进行查询时,就出现了优先级问题,一般来讲,在这种情况下都是采用轮流查询的方式来解决,即先查询的设备具有较高的优先级。二、中断传送方式1.中断传送方式的原理启动外设外设准备好数据,发一个选通信号外设向CPU发中断请求CPU受到中断请求信号,暂停现行程序CPU执行中断服务程序,执行输入输出操作中断服务程序结束,返回原来程序2)、专用硬件可编程中断控制器8259A。三、直接存储器存取方式(DMA)(DirectMemoryAccess)查询方式传送数据:查询时占用CPU时间中断方式传数据:比查询方式传送数据效率要高,但执行中断服务程序,CPU要保护断点、保护一些寄存器等操作,使CPU花费时间。DMA方式用专用接口电路直接和存储器进行数据传送。DMA的传送原理1、DMA控制器与其它接口电路的不同点:具有接管和控制系统总线的功能,但在取得总线控制权之前,与其它接口芯片一样,受CPU的控制。在DMA方式,DMA管理总线,控制传送数据的开始与结束,传送的字节数,传送的方向及地址。DMA的传送原理2、DMA的功能:①能接受外设的请求,并能向CPU发DMA请求信号;②CPU接到DMA请求信号,如果允许,CPU发DMA响应信号,DMA控制器接管总线,进入DMA方式;③能寻址存储器,并修改地址;④能向外设发读/写信号;⑤能控制传送的字节数,判断DMA是否结束;⑥DMA结束时,能向CPU发出结束信号,将总线控制权交还CPU。
本文标题:第6章 输入输出和中断技术
链接地址:https://www.777doc.com/doc-3356310 .html