您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 微机原理 第八章 输入输出接口基础与总线
第八章输入输出接口基础与总线8.1概述微型计算机(主机):CPU,存储器,I/O接口,总线微型计算机系统:微型计算机,外围设备,系统软件I/O接口:主机与外围设备之间的缓冲电路端口:接口内部用于暂存CPU与外设之间传输的信息的寄存器一个接口一般有若干个端口。端口加上控制电路构成接口主机接口外围设备8.1.1外围设备及其信号输入设备1.外围设备输出设备I/O复合设备数字量数据信号模拟量2.外围设备的信号开关量脉冲量状态信号控制信号8.1.2I/O接口的功能解决CPU与外设之间速度不匹配的问题实现信号电平的转换实现信号格式的转换1.模/数与数/模转换2.开关量转换3.并行---串行的转换实现CPU与外设的同步实现CPU对端口的选择8.2CPU与端口之间的接口技术8.2.1最常用的简单I/O接口芯片缓冲器:单向缓冲器和双向缓冲器锁存器译码器(1)单向缓冲器74LS244(2)双向缓冲器74LS245(3)锁存器74LS373(4)译码器74LS1388.2.2端口的编址方式端口:接口内部用于暂存CPU与外设之间传输的数据、状态和命令的寄存器(8位)端口的分类:(根据存放的信息)数据端口命令端口(控制端口)状态端口2.I/O端口寻址方式统一编址方式把每一个I/O端口看作一个存储单元,与存储单元一起编址优点:1)简化了指令系统设计2)访问指令多,功能强3)I/O地址空间可调整缺点:占用内存空间,I/O译码电路复杂;输入输出时间较长内存空间I/O空间•独立编址方式I/O端口地址单独编址,构成一个I/O空间,具有专用指令(IN,OUT)优点:1)可读性好(专用指令)2)指令长度短,执行速度快,占用内存空间少3)译码电路简单缺点:指令功能不强说明:对于8086系统,地址总线的低16位用来寻址I/O端口,故最大访问216B=64KB=65536B空间I/O空间内存空间8.2.3端口与CPU之间的接口1.简单I/O接口的组成数据口DB数据状态口控制口ABCBCPU状态信息控制信息外设2.地址译码电路译码电路分成两部分1)接口的选择:采用16位地址码的高位地址,可与CPU的控制信号组合,经地址译码器产生I/O接口芯片的片选信号2)接口内端口的选择采用16位地址码的低位地址,译码实现片内寻址,即选中片内的端口译码器1)74LS38译码器三个输入端:C,B,A三个片选条件:G1,G2A,G2B(G2A,G2B低电平有效)8个译码信号:低电平有效当CBA为000~111,分别在Y0~Y7上输出低电平译码器的输入信号:1)地址信号2)控制信号(M/IO,AEN等)AY0BY1CY2Y3G1Y4G2AY5G2BY6Y72)译码器的作用:a.仅仅参加选片(高位地址参与译码)b.不仅仅选片,而且选端口(高低位地址参与译码例8-1。端口地址连续:A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00000001101111000011011A15~A2:取决于高位地址的译码A1,A0:用于选择接口内的端口高位地址选片低位地址选端口接口电路设计思想:可利用已有的接口芯片,如译码器4个端口可连接到译码器的4个输入端Y0~Y3当CBA为000时,Y0端输出低电平,选中A口001时,Y1端输出低电平,选中B口010时,Y2端输出低电平,选中C口011时,Y3端输出电平,选中控制口故可让地址线A0,A1分别与译码器的A端,B端相连剩下的C端低电平有效,可与A2,A7,A10~A15中任一相连,本例与A2相连剩下13根地址线可通过门电路连接到片选条件端上。其中,要求A7,A10~A15地址线输出低电平有效A3~A6,A8~A9地址线输出高电平有效1)A7,A10~A15地址线通过或门连接到G2A端上2)A3~A6,A8~A9地址线通过与门连接到G1端上3)控制信号M/IO也需要参与片选,故连接到G2B上3.8086CPU与端口之间的硬件接口(8位接口电路芯片与16位数据总线的连接)仅使用偶地址仅使用奇地址使用连续地址1.仅使用8086偶地址的接口技术I/O接口电路的8位数据线与8086数据总线的低8位相连,系统地址总线的A0不参与片内的端口选择(而且A0低电平有效,参与选片)。而端口的A0与系统地址总线的A1相连。图7.5只使用偶地址的I/O接口地址线连接方法RDWRD0...D7CSA0A1IORCIOWC系统低8位数据线D0~D71&地址译码器A0~A9A0A1A2接口电路IBMPC最大模式A9A8A7A6A5A4A3A2A1A0高位地址选片低位地址选端口0000101001102.仅使用8086奇地址的接口技术I/O接口电路的8位数据线与8086数据总线的高8位相连,系统地址总线的A0不参与片内的端口选择(而且A0高电平有效)。而端口的A0与系统地址总线的A1相连。A9A8A7A6A5A4A3A2A1A0高位地址选片低位地址选端口13.使用连续地址的接口技术必须附加8位数据至16位数据的转换逻辑电路A0=0,CPU访问偶地址端口,接口的8位数据线与CPU的低8位数据总线相连BHE=0,且A0=1,CPU访问奇地址端口,接口的8位数据线与CPU的高8位数据总线相连D0...D7RDCSA0A1≥1地址译码器A0~A9A0A1接口电路.....≥1IORCBHED0…D7ATOED0…D7ATOED15~D8D7~D01#82868255AD0~D7D0~D7RESETRDWRA1A0RESETIORIOWA1A0GY0G2B&A9A8A7G2A≥1A6AENA5A4CBAA3A2CS系统总线信号PB0PB2PA0PA1PA2PA3PB2PB3列0列1列2列3行0行1行2行3................................8.3CPU与端口之间的的数据传送方式程序控制传送方式中断技术传送方式DMA传送方式1.程序控制传送方式完全通过执行程序实现主机与外设之间的数据交换两种:无条件传送方式有条件传送方式(查询传送方式)(1)无条件传送方式实现方法CPU不查询外设工作状态,与外设速度的匹配通过在软件上延时完成,在程序中直接用I/O指令,完成与外设的数据传送特点1.适用于外设动作时间已知,在CPU与外设进行数据传送时,外设保证已准备好的情况2.软硬件最简单。(2)条件传送方式实现方法:在与外设进行传送数据前,CPU先查询外设状态,当外设准备好后,才执行I/O指令,实现数据传送特点:1.硬件,需要数据端口和状态端口2.软件,CPU需要不断读取并测试外设的状态能保证CPU和外设之间的协调同步,但查询外设状态浪费时间简化流程图三态缓冲器输入设备数据线218HI/O译码地址线锁存器RDRQD三态缓冲器+5v21CHSTBRDA15~A0D7~D0&&MOVDX,218HINAL,DXMOVDX,21CHINAL,DXM/IOCS1CS2(A)查询方式下的输入接口例:假设外设的状态端口为21CH,其中D4=1时,表示外设数据准备好。外设的数据端口为218H。实现从外设读入50H个字节到内存缓冲区buffer从21CH状态端口读入外设状态信息从218H数据端口读入一个字节数据YND4=1,外设准备好否?N50H个数据传送结束?Y......LEADI,bufferMOVCX,50H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00010000B;检测D4位JZask;D4=0,继续查询MOVDX,218HINAL,DX;从数据端口读入数据MOV[DI],AL;送缓冲区INCDI;修改缓冲区指针LOOPnext;传送下一个....注意:1)当端口地址0FFH(255)时候,对端口的访问只能采用间接寻址方式(DX)2)IN/OUT指令INAL/AX,PORT/DXOUTPORT/DX,AL/AXPORT:端口地址(0~255或0H~0FFH)输出设备数据线219H数据端口地址译码地址线锁存器RDQ三态缓冲器+5vACKRDA15~A0D7~D0WRbusy21CH&&MOVDX,219HOUTDX,ALMOVDX,21CHINAL,DXM/IOCS1CS2(B)查询方式下的输出接口C例:假设外设的状态端口为21CH,其中D0=0时,表示外设准备好外设的数据端口为219H。编程将缓冲区buffer的80H个字节输出到外设。从21CH状态端口读入外设状态信息将一字节数据送至219H数据端口YND0=0,外设准备好否?N80H个数据传送结束?Y......LEASI,bufferMOVCX,80H;传送个数next:MOVDX,21CHask:INAL,DX;从状态端口读入状态信息TESTAL,00000001B;检测D0位JNZask;D0≠0,继续查询MOVAL,[SI];从缓冲区取数MOVDX,219HOUTDX,AL;从数据端口输出数据INCSI;修改缓冲区指针LOOPnext;输出下一个字节数据......2.中断技术传送方式实现方法:1.中断请求:当外设准备好,发出中断请求2.中断判优3.中断响应:CPU在满足响应中断的条件下,发出中断响应信号4.中断服务:CPU暂停当前的程序,转去执行中断服务程序,完成与外设的数据传送;5.中断返回:CPU从中断服务程序返回,继续执行被中断的程序特点:1.CPU和外设大部分时间处在并行工作状态,只在CPU响应外设的中断申请后,进入数据传送的过程,具有较好的实时性2.中断传送方式提高了CPU的效率3.每一次数据传输都要中断一次,需要保护和恢复现场13.直接存储器存取方式外设和存储器之间直接进行数据传送,而不经过CPUDMA传送方式的特点1.速度快,数据传送速度只受存储器存取时间的限制。适用于在内存与高速外设、或两个高速外设之间进行大批量数据传送。2.需要专门的DMAC,电路结构复杂外围设备通过DMAC向CPU申请DMA请求CPU响应DMA请求交出总线控制权从源地址中读取数据将数据写到目标地址DMA结束数据传送结束否?修改地址指针NYDMAC初始化字节计数器减1DMA传送过程基本概念(端口,接口等)I/O端口编址方式两种编址方式,两种寻址方式,IN/OUT指令的用法输入输出基本方法(CPU与端口之间的数据传送方式)及其特点(三种)程序查询方式的流程图以及编程端口与CPU之间的接口三种方法学会阅读译码电路(74LS38译码器)系统总线:地址,数据和控制总线8086系统:20个地址线,可直接访问1MB的地址空间等8.4总线技术8.4.1概述总线:用于微机各部件之间传送信息的公共信号线1.总线的分类(1)芯片内部总线(2)元件级总线(3)系统总线(微机总线)(4)外部总线2.总线的特性2.总线的特性(1)物理特性(2)功能特性地址总线数据总线控制总线(3)电气特性(4)时序特性3.总线的操作过程总线请求阶段寻址阶段传输阶段结束阶段4.总线标准(1)常用的标准系统总线PC总线:8086/8088,PC/XTISA总线:80286~486,PC/ATPCI总线:pentium5S-100总线STD总线(2)常用的标准外部总线IEEE-488总线EIARS-232总线8.4.2PC总线1.地址总线(输出):20条,A19~A0地址信号来自CPU/DMAC2.数据总线(双向):8条,D7~D03.控制总线:21条可用于表示地址锁存,存储器/I/O设备的读写,中断请求,DMA请求及响应等控制信号4.状态线(输入)5.电源线及其他辅助线8.4.3ISA总线与PC线兼容,数据总线16条,地址总线24条特点:8.4.4PCI局部总线局部总线:介于CPU总线和系统总线之间的总线。高速外设可通过局部总线直接挂在CPU总线上。特点:器件,扩展卡独立于CPU,具有较好的兼容性。1.PCI总线系统的结构第一级:CPU总线,速度最快,连接内存,Cache第二级:PCI总线,可连接高速外设第三级:IS
本文标题:微机原理 第八章 输入输出接口基础与总线
链接地址:https://www.777doc.com/doc-3300072 .html