1、第六章 输入/输出接口和总线本章内容基本概念基本概念 I/O端口的编址端口的编址 输入输出的基本方法:输入输出的基本方法:1、程序控制的输入、程序控制的输入/输出方法输出方法 (又分为:(又分为:无条件传送和查询式传送或有条件传送)无条件传送和查询式传送或有条件传送)2、中断方式、中断方式传送 3、DMA方式方式传送中断中断中断基本概念中断基本概念DMA*DMA的基本概念的基本概念 6.1 输入/输出接口(I/O接口)6.1.1 概述什么是I/O接口?把外设连接到总线上的一组逻辑电路的总称。实现外设与主机把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之之间的间的信息交换。信息交换。I/
2、O接口要解决的问题 速度匹配速度匹配(Buffer)信号电平和驱动能力信号电平和驱动能力(电平转换器、驱动器电平转换器、驱动器)信号形式匹配信号形式匹配(A/D、D/A)信息格式信息格式(字节流、块、数据包、帧字节流、块、数据包、帧)时序匹配时序匹配(定时关系定时关系)总线隔离总线隔离(三态门三态门)I/O接口的功能 I/O地址译码与设备选择 把选中的端口与总线相接,未选中的与总线隔离(高阻态)把选中的端口与总线相接,未选中的与总线隔离(高阻态)数据的缓冲与暂存缓解接口与缓解接口与CPU工作速度的差异工作速度的差异 对外设进行监测、控制与管理,中断处理 信号电平与类型的转换形式、格式、电平、功
3、率、码制等形式、格式、电平、功率、码制等 6.1.2 I/O接口的编址方式 I/O端口:端口:I/O信息的三种类型:信息的三种类型:数据、命令、状态数据、命令、状态。传。传送这三类信息的通道分别称为:数据端口送这三类信息的通道分别称为:数据端口(I、O)、命令端口、命令端口(O)、状态端口、状态端口(I)。不同外设具有的端口数各不相同,计算机中为不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号每一个端口都赋予一个惟一编号称为端口称为端口地址地址(或端口号或端口号)。端口有两种编址方式:统一编址和独立编址。端口有两种编址方式:统一编址和独立编址。1.统一编址 把外设接口与内存
4、统一进行把外设接口与内存统一进行编址。各占据统一地址空间编址。各占据统一地址空间的不同部分。的不同部分。优点优点 指令统一,灵活;指令统一,灵活;访问控制信号统一,使用同一访问控制信号统一,使用同一组的地址组的地址/控制信号。控制信号。缺点缺点 内存可用地址空间减小内存可用地址空间减小0地址空间(共1MB)内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H 2.独立编址 外设地址空间和内存地址空间外设地址空间和内存地址空间相互独立相互独立。优点:内存地址空间不受优点:内存地址空间不受I/O编址的影响编址的影响 缺点:缺点:I/O指令功能较弱,使用不同的读写控制信号
5、指令功能较弱,使用不同的读写控制信号00000H内存地址空间内存空间(1MB)I/O空间(64KB)FFFFHFFFFFHI/O地址空间0000H 例如:8088/8086系统 8086总线A19-A0A9-A0MEMR、MEMWIOR、IOW、AEN存储器访问I/O访问 8088/8086 CPU的I/O编址方式 采用I/O独立编址方式(但地址线与存储器共用)地址线上的地址信号用地址线上的地址信号用 (8088)来区分:来区分:时为时为I/O地址地址 I/O操作只使用20根地址线中的16根:A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC
6、只使用了只使用了1024个个I/O地址(03FFH)IO/M=1IO/M 6.1.3 I/O端口地址的译码 、A15 A0 OUT指令将使总线的指令将使总线的 信号有效信号有效 IN指令将使总线的指令将使总线的 信号有效信号有效 当接口只有一个端口时,当接口只有一个端口时,16位地址线位地址线一般一般应应全部参与译全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,码,译码输出直接选择该端口;当接口具有多个端口时,则则16位地址线的高位位地址线的高位参与译码(决定接口的基地址),参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。而低位则用于确定要访问哪一个端口。例如:例如
7、:某外设接口有某外设接口有4个端口,地址为个端口,地址为2F0H2F3H,则其基地址为则其基地址为2F0H,由,由A15A2译码得到,而译码得到,而A1、A0用用来确定来确定4个端口中的某一个。个端口中的某一个。IORIOWIOW IOR 6.1.4 I/O数据的传送方式 并行并行 一个数据单位一个数据单位(通常为字节通常为字节)的各位同时传送的各位同时传送 速度快、距离短、成本高速度快、距离短、成本高 例:例:PC机的并行接口机的并行接口(通常用于连接打印机通常用于连接打印机)串行串行 数据数据按位按位进行传送进行传送 速度慢、距离远、成本低速度慢、距离远、成本低 例:例:PC机的串行接口机
8、的串行接口(通常用于串行通信通常用于串行通信)6.2.1 接口电路的基本结构6.2 简单接口电路数据线控制线状态线DBCBAB数据输入寄存器(or 三态门)数据输出寄存器(锁存器)状态寄存器(or 三态门)命令寄存器译码电路控制逻辑接外设接主机 数据输入/输出寄存器暂存输入/输出的数据 命令寄存器存放控制命令,用来设定接口功能、工作参数和工作方式。状态寄存器保存外设当前状态,以供CPU读取。简单接口电路 数据输入接口 必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接 外设有数据保持能力时外设有数据保持能力时可用三态门实现可用三态门实现 外设无数据保持能力时外设无数据保持
9、能力时用三态输出的锁存器用三态输出的锁存器实现实现 数据输出接口 常用锁存器实现常用锁存器实现 三态门:高电平、低电平、高阻态 通常一个器件中包含通常一个器件中包含8个三态门个三态门 常用芯片:常用芯片:74LS244(见(见241页)页)应用例子:开关接口应用例子:开关接口 工作波形图如下:工作波形图如下:A0A15IOR#译码输出D0D7开关状态地址有效简单的输入接口举例n接口电路图如下:83FCH83FFH译码器 锁存器:由D触发器构成 通常一个器件包含通常一个器件包含8个个D触发器触发器 常用芯片:常用芯片:(教材图教材图6.3)74LS373(具有三态输出的锁存器,内部结构见图具有三
10、态输出的锁存器,内部结构见图6.3)应用例子:发光二极管接口应用例子:发光二极管接口简单的输出接口举例译码器=1=1.+5VRD0D7CPQ0Q7.D0D7A0A15IOW#74LS373RGND/OE输入/输出接口综合应用例子 根据开关状态在7段数码管上显示数字或符号 用用74LS273作为输出接口,把数据送到作为输出接口,把数据送到7段数码管段数码管 74LS273的端口地址假设为的端口地址假设为F0H 用用74LS244作为输入口,读入开关作为输入口,读入开关K0K3的状态的状态 74LS244的端口地址假设为的端口地址假设为F1H 当开关的状态分别为当开关的状态分别为00001111时
11、,在时,在7段数码管上对段数码管上对应显示应显示0F(7段码表见下页段码表见下页)符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001O1 I1O2 I2O3 I3O4 I4#E1 K0K3+5VGG2AG2BCBA174LS244D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcde
12、fgDP74068个反相器74LS273Rx8174LS138D0D7IOW#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;开关接口的地址为;开关接口的
13、地址为F1HINAL,DX;读入开关状态;读入开关状态ANDAL,0FH;保留低;保留低4位位MOVSI,AX;作为;作为7段码表的表内位移量段码表的表内位移量MOVAL,BX+SI;取;取7段码段码MOVDX,0F0H;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX,ALJMPGO6.3 输入输出的控制方式 主机与外设之间数据传送的控制方式有以下四种:无条件传送无条件传送 查询式传送查询式传送 中断方式传送中断方式传送 直接存储器存取直接存储器存取(DMA-Direct Memory Access)6.3.1 无条件传送方式 适用于总是处于准备好状态的外设 以下外设可采用无条件传
14、送方式:开关开关 发光器件发光器件(如发光二极管、如发光二极管、7段数码管、灯泡等段数码管、灯泡等)继电器继电器 步进电机步进电机 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄6.3.2 查询方式传送 适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。CPU在与外设交换数据前必须询问外设状态“你准备好没有?”对外设的要求:应提供设备状态信息 对接口的要求:需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差,速度较慢查询方式的流程图超时?READY?与外设进行数据交换超时错读入并测试外设状态YNYN传送完?防止死循环复位计时器NY例:用
15、查询方式进行输出外设状态端口地址为3FBH,D5位(bit5)为状态标志(=1忙,=0准备好)外设数据端口地址为3F8H,写入数据会使状态标志置1;外设把数据读走后又把它置0。试画出其电路图。(电路图见下页)D5D7-D0A9|A31&A15|A101IOWD7-D03F8H外设D7D6D5D4D3D2D1D0BUSYCPQ7Q6Q5Q4Q3Q2Q1Q0状态端口GG2AG2BCBAA2A1A074LS138Y01IORY3OE74LS374CPQQDSSTROBE3FBH程序段?6.3.3 中断方式传送 CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让
16、CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。优点:CPU效率高,实时性好,速度快。缺点:程序编制较为复杂。6.3.4 DMA传输 前面三种I/O方式都需要CPU作为中介:外设 CPU 内存 两个含义:1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式);2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)解决:DMA传输 DMA传输:外设 内存 外设直接与存储器进行数据交换外设直接与存储器进行数据交换
17、,CPU不再担不再担当数据传输的中介者;当数据传输的中介者;总线由总线由DMA控制器(控制器(DMAC)进行控制()进行控制(CPU要放弃总线控制权),内存要放弃总线控制权),内存/外设的地址和读写外设的地址和读写控制信号均由控制信号均由DMAC提供。提供。优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)DMA传送原理示意图 系统总线CPUDMAC存储器外设接口AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDADRQDACKAENIOWIORMEMWMEMR 外设发出DMA请求 DMAC向CPU申请总线
18、CPU完成当前总线周期后响应,并释放总线控制权 DMAC得到总线控制权,并发出DMA响应信号 由DMAC发出各种控制信号,控制外设与存储器之 间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线6.4 总线掌握:总线的基本概念和分类;总线的系统结构 总线的主要功能;6.4.1 总线的基本概念 总线概念;总线分类及其特点总线的一般概念 总线是一组导线和相关的控制、驱动电路的集合。总线是计算机系统各部件之间传输地址、数据和控制信息的通道。任一时刻,只能有一个部件/设备通过总线发送数据,其他部件只能处于接收状态。总线的分类及特点 按传送信息的类型划分 数据总线
19、(数据总线(Data Bus,DB)传输数据信息,双向三态传输数据信息,双向三态 其宽度决定了其数据传输能力其宽度决定了其数据传输能力 例如,例如,ISA总线为总线为16位,位,PCI总线为总线为32/64位位 地址总线(地址总线(Address Bus,AB)传输地址信息,单向三态传输地址信息,单向三态 其宽度决定了微机系统的寻址能力其宽度决定了微机系统的寻址能力 例如,例如,ISA为为24位,可寻址位,可寻址16MB;PCI为为32/64位,可寻址位,可寻址4GB/224TB 控制总线(控制总线(Control Bus,CB)传输控制信号、时序信号和状态信号传输控制信号、时序信号和状态信号
20、 特点各异:三态、入特点各异:三态、入/出出/双向等特性均不相同双向等特性均不相同 总线的分类及特点(续)按总线的层次结构1、片级总线片级总线 直接由直接由CPU引脚引出的总线,用于芯片一级的互联引脚引出的总线,用于芯片一级的互联2、系统总线系统总线与总线扩展槽连接的总线,也称作板级总线,连接插件板。与总线扩展槽连接的总线,也称作板级总线,连接插件板。如如ISA和和EISA总线总线3、外部总线外部总线主机与外设之间的总线,如主机与外设之间的总线,如USB和和IEEE1394,其他如,其他如 AGP,专用视频接口,专用于显卡与内存之间的数据传输,专用视频接口,专用于显卡与内存之间的数据传输 SC
21、SI,标准的设备接口,可连接,标准的设备接口,可连接15台外设台外设 IDE/EIDE,外部存储设备接口,每个接口可连接,外部存储设备接口,每个接口可连接2台设备台设备6.4.2 微机总线的连接结构 系统各部件与总线的连接方式 单总线结构 双总线结构 多总线结构单总线结构CPU M M I/O I/O I/On缺点:高速的存储器与低速的I/O接口竞争总线,影响了存储器的读写速度双总线结构 面向CPU的双总线结构CPU M I/O I/O I/On缺点:存储器与I/O设备的数据传输必须通过CPU双总线结构 面向存储器的双总线结构CPU M I/O I/O I/O多总线结构 系统中拥有两个以上的总
22、线6.4.3 总线的基本功能 数据传送控制 仲裁控制 数据校验与纠错 隔离与驱动n6.4.4 AT总线或ISA总线n见258页nENDn后面内容直接删除就行n资料可以编辑修改使用n资料可以编辑修改使用n资料仅供参考,实际情况实际分析n主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等n秉着以优质的服务对待每一位客户,做到让客户满意!n致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求nThe user can demonstrate on a projector or computer,or print the presentation and make it into a film to be used in a wider field