输入输出接口和总线.ppt
第六章第六章 输入输入/输出接口和总线输出接口和总线n本章内容本章内容n基本概念基本概念n I/O端口的编址端口的编址n 输入输出的基本方法:输入输出的基本方法:1、程序控制的输入、程序控制的输入/输出方法输出方法 (又分为:(又分为:无条件传送和查询式传送或有条件传送)无条件传送和查询式传送或有条件传送)2、中断方式、中断方式传送 3、DMA方式方式传送n中断中断n中断基本概念中断基本概念nDMA*nDMA的基本概念的基本概念 6.1 输入输入/输出接口(输出接口(I/O接口)接口)n6.1.1 概述概述n什么是I/O接口?把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的间的信息交换。信息交换。nI/O接口要解决的问题n速度匹配速度匹配(Buffer)n信号电平和驱动能力信号电平和驱动能力(电平转换器、驱动器电平转换器、驱动器)n信号形式匹配信号形式匹配(A/D、D/A)n信息格式信息格式(字节流、块、数据包、帧字节流、块、数据包、帧)n时序匹配时序匹配(定时关系定时关系)n总线隔离总线隔离(三态门三态门)nI/O接口的功能nI/O地址译码与设备选择n把选中的端口与总线相接,未选中的与总线隔离(高阻态)把选中的端口与总线相接,未选中的与总线隔离(高阻态)n数据的缓冲与暂存n缓解接口与缓解接口与CPU工作速度的差异工作速度的差异n对外设进行监测、控制与管理,中断处理n信号电平与类型的转换n形式、格式、电平、功率、码制等形式、格式、电平、功率、码制等 n6.1.2 I/O接口的编址方式接口的编址方式nI/O端口:端口:I/O信息的三种类型:信息的三种类型:数据、命令、状态数据、命令、状态。传送。传送这三类信息的通道分别称为:数据端口这三类信息的通道分别称为:数据端口(I、O)、命令端口命令端口(O)、状态端口、状态端口(I)。n不同外设具有的端口数各不相同,计算机中为每不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号一个端口都赋予一个惟一编号称为端口地址称为端口地址(或端口号或端口号)。n端口有两种编址方式:统一编址和独立编址。端口有两种编址方式:统一编址和独立编址。n1.统一编址统一编址n把外设接口与内存统一进行把外设接口与内存统一进行编址。各占据统一地址空间编址。各占据统一地址空间的不同部分。的不同部分。n优点优点n指令统一,灵活;指令统一,灵活;n访问控制信号统一,使用同一访问控制信号统一,使用同一组的地址组的地址/控制信号。控制信号。n缺点缺点n内存可用地址空间减小内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H n2.独立编址独立编址n外设地址空间和内存地址空间外设地址空间和内存地址空间相互独立相互独立。n优点:内存地址空间不受优点:内存地址空间不受I/O编址的影响编址的影响n缺点:缺点:I/O指令功能较弱,使用不同的读写控制信号指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000Hn例如:例如:8088/8086系统系统 8 80 08 86 6总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器访问存储器访问I/O访问访问 n8088/8086 CPU的的I/O编址方式编址方式n采用I/O独立编址方式(但地址线与存储器共用)n地址线上的地址信号用地址线上的地址信号用 (8088)来区分:来区分:n 时为时为I/O地址地址nI/O操作只使用20根地址线中的16根:A15 A0n可寻址的I/O端口数为64K(65536)个nI/O地址范围为0FFFFHnIBM PC只使用了只使用了1024个个I/O地址(03FFH)n6.1.3 I/O端口地址的译码端口地址的译码n 、A15 A0nOUT指令将使总线的指令将使总线的 信号有效信号有效nIN指令将使总线的指令将使总线的 信号有效信号有效n当接口只有一个端口时,当接口只有一个端口时,16位地址线位地址线一般一般应应全部参与译全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,码,译码输出直接选择该端口;当接口具有多个端口时,则则16位地址线的高位位地址线的高位参与译码(决定接口的基地址),参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。而低位则用于确定要访问哪一个端口。例如:例如:某外设接口有某外设接口有4个端口,地址为个端口,地址为2F0H2F3H,则其基地址为则其基地址为2F0H,由,由A15A2译码得到,而译码得到,而A1、A0用用来确定来确定4个端口中的某一个。个端口中的某一个。n6.1.4 I/O数据的传送方式数据的传送方式n并行并行n一个数据单位一个数据单位(通常为字节通常为字节)的各位同时传送的各位同时传送n速度快、距离短、成本高速度快、距离短、成本高n例:例:PC机的并行接口机的并行接口(通常用于连接打印机通常用于连接打印机)n串行串行n数据数据按位按位进行传送进行传送n速度慢、距离远、成本低速度慢、距离远、成本低n例:例:PC机的串行接口机的串行接口(通常用于串行通信通常用于串行通信)n6.2.1 接口电路的基本结构接口电路的基本结构6.2 简单接口电路简单接口电路数据线数据线控制线控制线状态线状态线DBCBAB数据输入寄存器数据输入寄存器(or 三态门)三态门)数据输出寄存器数据输出寄存器(锁存器)(锁存器)状态寄存器状态寄存器(or 三态门)三态门)命令寄存器命令寄存器译码译码电路电路控制控制逻辑逻辑接接外外设设接接主主机机 n数据输入数据输入/输出寄存器输出寄存器暂存输入暂存输入/输出的输出的数据数据n命令寄存器命令寄存器存放控制命令,用来设定接存放控制命令,用来设定接口功能、工作参数和工作方式。口功能、工作参数和工作方式。n状态寄存器状态寄存器保存外设当前状态,以供保存外设当前状态,以供CPU读取。读取。简单接口电路简单接口电路n数据输入接口数据输入接口n必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接n外设有数据保持能力时外设有数据保持能力时可用三态门实现可用三态门实现n外设无数据保持能力时外设无数据保持能力时用三态输出的锁存器实用三态输出的锁存器实现现n数据输出接口数据输出接口n常用锁存器实现常用锁存器实现 n三态门:高电平、低电平、三态门:高电平、低电平、高阻态高阻态n通常一个器件中包含通常一个器件中包含8个三态门个三态门n常用芯片:常用芯片:74LS244(见(见241页)页)n应用例子:开关接口应用例子:开关接口n工作波形图如下:工作波形图如下:A0A15IOR#译码输出D0D7开关状态开关状态地址有效地址有效简单的输入接口举例简单的输入接口举例n接口电路图如下:接口电路图如下:83FCH83FFH译码器n锁存器:由锁存器:由D触发器构成触发器构成n通常一个器件包含通常一个器件包含8个个D触发器触发器n常用芯片:常用芯片:(教材图教材图6.3)n74LS373(具有三态输出的锁存器,内部结构见图具有三态输出的锁存器,内部结构见图6.3)n应用例子:发光二极管接口应用例子:发光二极管接口简单的输出接口举例简单的输出接口举例译译码码器器=1=1.+5VRD0D7CPQ0Q7.D0D7A0A15IOW#74LS373RGND/OE输入输入/输出接口综合应用例子输出接口综合应用例子n根据开关状态在根据开关状态在7段数码管上显示数字或符号段数码管上显示数字或符号n用用74LS273作为输出接口,把数据送到作为输出接口,把数据送到7段数码管段数码管n74LS273的端口地址假设为的端口地址假设为F0Hn用用74LS244作为输入口,读入开关作为输入口,读入开关K0K3的状态的状态n74LS244的端口地址假设为的端口地址假设为F1Hn当开关的状态分别为当开关的状态分别为00001111时,在时,在7段数码管上对段数码管上对应显示应显示0Fn(7段码表见下页段码表见下页)符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001O1 I1O2 I2O3 I3O4 I4#E1 K0K3+5VGG2AG2BCBA1174LS244D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP74068个个反相器反相器74LS273Rx81174LS138D0D7IOW#IOR#Y0Y1F0H=0000 0000 1111 0000F1H=0000 0000 1111 0001&1A7A4A15A8A3A2A1A0D0D1D2D3译码电路译码电路相应程序段如下相应程序段如下:Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX,Seg7;取;取7段码表基地址段码表基地址MOVAH,0 ;先清零,以后要和;先清零,以后要和AL联联合合使用使用GO:MOVDX,0F1H;开关接口的地址为;开关接口的地址为F1HINAL,DX;读入开关状态;读入开关状态ANDAL,0FH;保留低;保留低4位位MOVSI,AX;作为;作为7段码表的表内位移量段码表的表内位移量MOVAL,BX+SI;取;取7段码段码MOVDX,0F0H;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX,ALJMPGO6.3 输入输出的输入输出的控制控制方式方式 n主机与外设之间数据传送的控制方式有以下四种:主机与外设之间数据传送的控制方式有以下四种:n无条件传送无条件传送n查询式传送查询式传送n中断方式传送中断方式传送n直接存储器存取直接存储器存取(DMA-Direct Memory Access)6.3.1 无条件传送方式无条件传送方式n适用于适用于总是处于准备好状态总是处于准备好状态的外设的外设n以下外设可采用无条件传送方式:以下外设可采用无条件传送方式:n开关开关n发光器件发光器件(如发光二极管、如发光二极管、7段数码管、灯泡等段数码管、灯泡等)n继电器继电器n步进电机步进电机n优点:软件及接口硬件简单优点:软件及接口硬件简单n缺点:只适用于简单外设,适应范围较窄缺点:只适用于简单外设,适应范围较窄6.3.2 查询方式传送查询方式传送n适用于外设并不总是准备好,而且对传送速适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。率、传送效率要求不高的场合。nCPU在与外设交换数据前必须询问外设状态在与外设交换数据前必须询问外设状态“你准备好没有?你准备好没有?”n对外设的要求:应提供设备状态信息对外设的要求:应提供设备状态信息n对接口的要求:需要提供状态端口对接口的要求:需要提供状态端口n优点:软件比较简单优点:软件比较简单n缺点:缺点:CPU效率低,数据传送的实时性差,效率低,数据传送的实时性差,速度较慢速度较慢查询方式的流程图查询方式的流程图超时超时?READY?READY?与外设进与外设进行数据交换行数据交换超时错超时错读入并测试外设状态读入并测试外设状态YNYN传送完传送完?防止死循环防止死循环复位计时器复位计时器NY例:用查询方式进行输出例:用查询方式进行输出外设状态端口地址为外设状态端口地址为3FBH,D5位位(bit5)为状态标志为状态标志(=1忙,忙,=0准备好)准备好)外设数据端口地址为外设数据端口地址为3F8H,写入数据会使状态标志,写入数据会使状态标志置置1;外设把数据读走后又把它置;外设把数据读走后又把它置0。试画出其电路图。(电路图见下页)试画出其电路图。(电路图见下页)D5D7-D0A9|A31&A15|A101IOWD7-D03F8H外外设设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口状态端口GG2AG2BCBAA2A1A074LS138Y01IORY3OE74LS374CPQQDSSTROBE3FBH程序段?程序段?6.3.3 中断方式中断方式传送传送nCPU无需循环查询外设状态,而是外部设备无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断在需要进行数据传送时才中断CPU正在进行正在进行的工作,让的工作,让CPU来为其服务。即来为其服务。即CPU在没有在没有外设请求时可以去做更重要的事情,有请求外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了时才去传输数据,从而大大提高了CPU的利的利用率。用率。n优点:优点:CPU效率高,实时性好,速度快。效率高,实时性好,速度快。n缺点:程序编制较为复杂。缺点:程序编制较为复杂。6.3.4 DMA传输传输 n前面三种前面三种I/O方式都需要方式都需要CPU作为中介:作为中介:外设外设 CPU 内存内存 两个含义:两个含义:1)软件:外设与内存之间的数据传送是通过)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(执行程序来完成的(PIO方式);方式);2)硬件:)硬件:I/O接口和存储器的读写控制信号、地接口和存储器的读写控制信号、地址信号都是由址信号都是由CPU发出的(总线由发出的(总线由CPU控制)。控制)。n 缺点:程序的执行速度限定了传送的最大速缺点:程序的执行速度限定了传送的最大速度(约为几十度(约为几十KB/秒)秒)解决:解决:DMA传输传输 nDMA传输传输:外设外设 内存内存n外设直接与存储器进行数据交换外设直接与存储器进行数据交换,CPU不再担不再担当数据传输的中介者;当数据传输的中介者;n总线由总线由DMA控制器(控制器(DMAC)进行控制()进行控制(CPU要放弃总线控制权),内存要放弃总线控制权),内存/外设的地址和读写外设的地址和读写控制信号均由控制信号均由DMAC提供。提供。n优点:数据传输优点:数据传输由由DMA硬件来控制,数据硬件来控制,数据直直接在内存和外设之间交换,可以达到很高的接在内存和外设之间交换,可以达到很高的传输速率(可达几传输速率(可达几MB/秒)秒)DMA传送原理示意传送原理示意图图 系统总线系统总线CPUDMAC存储器存储器外设接口外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACKAENIOWIORMEMWMEMR 外设发出外设发出DMADMA请求请求 DMAC DMAC向向CPUCPU申请总线申请总线 CPU CPU完成当前总线周期后完成当前总线周期后响应,并释放总线控制权响应,并释放总线控制权 DMAC DMAC得到总线控制权,并发出得到总线控制权,并发出DMADMA响应信号响应信号 由由DMACDMAC发出各种控制信号,控制外设与存储器之发出各种控制信号,控制外设与存储器之 间的数据传送间的数据传送 数据传送完后,数据传送完后,DMACDMAC撤销撤销HOLDHOLD信号信号 CPUCPU释放释放HLDAHLDA信号,并重新控制总线信号,并重新控制总线6.4 总线总线掌握:掌握:n总线的基本概念和分类;总线的基本概念和分类;n总线的系统结构总线的系统结构n总线的主要功能;总线的主要功能;6.4.1 总线的基本概念总线的基本概念n总线概念;总线概念;n总线分类及其特点总线分类及其特点总线的一般概念总线的一般概念n总线总线是是一组导线和相关的控制、驱动电路一组导线和相关的控制、驱动电路的的集合。集合。n总线是计算机系统各部件之间传输总线是计算机系统各部件之间传输地址地址、数据数据和和控制信息控制信息的的通道。通道。n任一时刻,只能有一个部件任一时刻,只能有一个部件/设备通过总设备通过总线发送数据,其他部件只能处于接收状态。线发送数据,其他部件只能处于接收状态。总线的分类及特点总线的分类及特点n按传送信息的类型划分按传送信息的类型划分n数据总线(数据总线(Data Bus,DB)n传输数据信息,双向三态传输数据信息,双向三态n其宽度决定了其数据传输能力其宽度决定了其数据传输能力n例如,例如,ISA总线为总线为16位,位,PCI总线为总线为32/64位位n地址总线(地址总线(Address Bus,AB)n传输地址信息,单向三态传输地址信息,单向三态n其宽度决定了微机系统的寻址能力其宽度决定了微机系统的寻址能力n例如,例如,ISA为为24位,可寻址位,可寻址16MB;PCI为为32/64位,可寻址位,可寻址4GB/224TBn控制总线(控制总线(Control Bus,CB)n传输控制信号、时序信号和状态信号传输控制信号、时序信号和状态信号n特点各异:三态、入特点各异:三态、入/出出/双向等特性均不相同双向等特性均不相同 总线的分类及特点(续)总线的分类及特点(续)n按总线的层次结构按总线的层次结构1、片级总线片级总线 直接由直接由CPU引脚引出的总线,用于芯片一级的互联引脚引出的总线,用于芯片一级的互联2、系统总线系统总线与总线扩展槽连接的总线,也称作板级总线,连接插件板。如与总线扩展槽连接的总线,也称作板级总线,连接插件板。如ISA和和EISA总线总线3、外部总线外部总线主机与外设之间的总线,如主机与外设之间的总线,如USB和和IEEE1394,其他如,其他如nAGP,专用视频接口,专用于显卡与内存之间的数据传输,专用视频接口,专用于显卡与内存之间的数据传输nSCSI,标准的设备接口,可连接,标准的设备接口,可连接15台外设台外设nIDE/EIDE,外部存储设备接口,每个接口可连接,外部存储设备接口,每个接口可连接2台设备台设备6.4.2 微机总线的连接结构微机总线的连接结构n系统各部件与总线的系统各部件与总线的连接方式连接方式 单总线结构单总线结构 双总线结构双总线结构 多总线结构多总线结构单总线结构单总线结构CPU M M I/O I/O I/On缺点:高速的存储器与低速的缺点:高速的存储器与低速的I/O接口竞争总线,影接口竞争总线,影响了存储器的读写速度响了存储器的读写速度双总线结构双总线结构n面向面向CPU的双总线结构的双总线结构CPU M I/O I/O I/On缺点:存储器与缺点:存储器与I/O设备的数据传输必须通过设备的数据传输必须通过CPU双总线结构双总线结构n面向存储器的双总线结构面向存储器的双总线结构CPU M I/O I/O I/O多总线结构多总线结构n系统中拥有两个以上的总线系统中拥有两个以上的总线6.4.3 总线的基本功能总线的基本功能n数据传送控制数据传送控制n仲裁控制仲裁控制n数据校验与纠错数据校验与纠错n隔离与驱动隔离与驱动n6.4.4 AT总线或总线或ISA总线总线n见见258页页nEND