组成原理第6章输入_第1页
组成原理第6章输入_第2页
组成原理第6章输入_第3页
组成原理第6章输入_第4页
组成原理第6章输入_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章输入/输出接口本章学习要点●I/O接口概述●数据传送方式●程序控制下的数据传送●直接存储器存取(DMA)传送●I/O处理机(IOP)方式6.1I/O接口概述

通常将输入/输出(IN/OUT)设备称I/O设备。常见的I/O设备有键盘、鼠标、显示器、打印机、绘图仪、调制解调器等。I/O接口,也称为I/O接口电路,是位于系统与外设之间用来协助完成数据传送及传送控制的电路。在PC机中,包括主板上的可编程接口芯片,以及插在I/O插槽中用来连接I/O设备的插卡,或称适配器,这些都属于接口电路。接口解决微处理器与外设之间的差异外设种类多信号类型有机械的、物理的、电信号等信号形式有脉冲、模拟量或数字量数据传输率不同数据格式不同数据传输方式不同,有并行、串行之分CPU与外设都是面向接口而非直接联络接口的功能接口电路中的信息数据信息、状态信息及控制信息

主机外设接口电路DBABCB数据信息控制信息状态信息数据信息数据信息:要交换的数据本身。数字量:通常以8位或16位的二进制数以及ASCII码的形式传输,主要指由键盘、磁带机、磁盘等输入的信息或主机送给打印机、显示器、绘图仪等的信息开关量:用“0”和“1”来表示两种状态,如开关的通/断模拟量:模拟的电压、电流或者非电量。对模拟量输入而言,需先经过传感器转换成电信号,再经A/D转换器变成数字量;如果需要输出模拟控制量的话,就要进行上述过程的逆转换数据传输方向:CPU←→I/O接口←→外设控制信息控制信息:控制外设工作的命令,CPU通过接口发出,如A/D转换器的启/停信号数据传输方向:CPU→I/O接口→处设I/O端口传送这三种信息的接口电路中的寄存器称为数据、状态和控制端口不同的寄存器有不同的端口地址,即用地址访问端口由一个或多个寄存器组成接口由若干个端口加上相应的控制逻辑组成

6.1.1I/O接口的主要功能1.数据缓冲功能2.信号变换功能3.设备的选择功能4.提供信息交换的握手信号5.可编程功能6.1.2I/0接口电路的基本模型1.内部结构接口电路的结构数据缓冲器状态寄存器控制寄存器接外设一侧

主机外设总线驱动地址译码控制逻辑接CPU一侧DBABCB数据信息控制信息状态信息端口接口实现对CPU数据总线速度和驱动能力的匹配实现各寄存器端口寻址操作实现接口电路中的各寄存器端口的读/写操作和时序控制1.内部结构1)数据寄存器在输入时,它保存从外设发往CPU的数据称数据输入寄存器。在输出时,它保存从CPU发往外设的数据称数据输出寄存器。1.内部结构

2)状态寄存器保存外设状态的数据,CPU可从中读取当前接口电路的状态,其状态实际上间接反映了外设的状态。如(BUSY)忙信号、READY(就绪、准备好)信号来表示外设所处的状态。1.内部结构3)控制寄存器保存CPU对外设的控制数据,CPU向其中写入命令来实现对接口电路工作方式的选择,并控制外设进行有关操作。2.外部特性1)面向CPU一侧的信号用于连接CPU,其中包括数据线、地址线和控制线。它们与CPU的连接同存储器与CPU的连接相类似,需要注意处理好地址译码和读写控制;2.外部特性2)面向外设一侧的信号用于连接外设。由于外设种类繁多,其工作方式和所用信号可能各不相同,所以与外设的连接需要针对具体的外设来进行讨论。接口电路的分类数据传送方式:并行接口串行接口功能选择的灵活性:可编程接口不可编程接口数据传送操作的同步方式:同步接口异步接口通用性:通用接口专用接口6.1.3I/O端口的编址为了区分接口电路的各个寄存器,系统为它们各自分配了一个地址,称为I/O端口地址,以便对它们进行寻址并与存储器地址相区别I/O端口有两种编址方式:存储器映像方式、I/O独立编址方式

1、存储器映像编址指I/O端口与存储器共享一个寻址空间,又称为统一编址。在这种系统中,CPU可以用同样的指令对I/O端口和存储器单元的进行访问。优点:对I/O口的访问灵活方便,有利于提高端口数据的处理能力。缺点:I/O端口占用了主存地址,相对减少了主存的可用范围。2、I/O独立编址(一)指主存地址空间和I/O端口地址空间相互独立,分别编址。CPU通过指令来区分是访问I/O口还是存储单元优点:主存和I/O端口的地址可用范围都比较大;缺点:I/O指令的功能一般比较弱,在I/O操作中必须借助CPU的寄存器进行中转2、I/O独立编址(二)80X86系列微处理器采用独立的I/O编址方式CPU使用地址总线中的A0~A15来寻址I/O口,故最大I/O空间是64K个字节端口(或32K个字端口)两种编址方式比较(一)I/O空间内存空间I/O空间内存空间分别是分离编址?还统一编址?I/O端口的编址两种编址方式比较(二)存储器CPUABDBCB接口外设接口外设CPUABDBCB存储器存储器读写I/O读写6.1.4I/O地址的译码方法微机系统的每个端口都有惟一的端口地址端口地址:经译码电路译码后产生端口选通信号,控制端口的读/写操作

I/O地址空间编址原则1.如果将地址看作资源,那么I/O地址空间足够大,可以容忍一定程度的浪费;

2.I/O访问的频度远低于存储器访问,而且不同的外设其操作互相独立,所以编址时不太强调地址的连续。选择I/O端口地址时遵循的原则1.凡是被系统配置所占用了的地址一律不能使用;2.原则上讲,未被占用的地址,用户可以使用,但对计算机厂家申明保留的地址,不要使用,否则会发生I/O端口地址重叠和冲突;3.用户一般可使用300H~31FH地址,这是IBM-PC微机留作实验用的,用户可以使用。为了避免与其他用户开发的插件板发生地址冲突,最好采用地址开关。I/O端口的地址译码将来自地址总线上的地址代码翻译成为所需要访问端口的选通信号I/O端口地址译码电路结构译码电路的输入信号地址信号:由地址范围决定控制信号:数据流向(读/写)、数据宽度(8位/16位)、是否采用奇/偶地址和DMA传送方式译码电路的输出信号:接口芯片的片选信号

端口的读写控制:输入需要缓冲,输出需要锁存输入缓冲电路当读有效时,才将缓冲器中的三态门打开,使外设的数据进入系统的数据总线其它时间,三态门处于高阻状态,不影响总线上的其它操作微处理器系统外部输入设备A0B0A1B1A2B2A3B3A4B4A5B5A6B6A7B7EDIR234567891817161514131211119译码片选IORDIR=1,A→BDIR=0,B→A74LS245输出锁存选中锁存器时,总线上的数据才能进入锁存器此后不管总线上的数据(锁存器输入端)如何变化,只要没有再次使锁存器的信号有效,锁存器的输出端就一直保持原来锁存的信息不变。微处理器系统外部输出设备D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7CLKCLR34781314171825691215161974LS27311译码片选IOW74LS32+5V1I/O地址译码方法地址译码的方法灵活多样高位地址线与CPU的控制信号进行组合,经译码电路产生I/O接口芯片的片选信号CS,实现系统中的接口芯片寻址

低位地址线直接接到I/O接口芯片的地址引脚,进行I/O接口芯片的片内端口寻址

读077AH端口地址译码电路端口地址的二进制形式A15

A14…A1

A00000011101111010端口读:IOR,AEN译码输出:/R77AH执行MOVDX,77AH IN AL,DX

74LS32&A10A9A874LS30A6A5A4AENA1A3A14A13&A15A12A7A2&A11A0≥174LS2074LS04≥1≥11R77AH≥IOR读/写操作77AH端口地址的译码电路IOWW77AH&A10A9A874LS30A6A5A4AENA1A3A14A13&A15A12A7A2&A11A0≥174LS2074LS04IOR74LS32≥1≥1≥1R77AH≥1译码器译码A15~A8为译码器使能A7~A5决定芯片端口范围A4~A0选择芯片片内端口2AGGDMACSAA5BA6CA71AEN0YINTRCS1YT/CCS2YPPICS3Y4Y5Y6Y7Y2BGA10A9&A11A8A14A13&A15A1274LS2074LS13874LS06用比较器组成的可选式译码电路A9~A6=开关状态时,比较器才输出高电平,译码器才能工作通过设置不同的开关状态,就可以选择不同的地址范围2AGGBC11Y2Y3Y4Y5Y6Y7Y2BGA12A3≥1A0Y74LS13874LS08&AENA4A5A15A14A13A11A10≥1≥1≥174LS32CCA6A7A8A9VA0A1A2IA=B74LS85A3B0B1B2B3IA>BIA<BOA>BOA<BOA=BDIPS0S1S2S3VCC可编程逻辑器件作译码电路可编程逻辑器件包括GAL、CPLD和FPGA通常一片GAL器件的电路规模可达几百门,而FPGA可达几百万门这些器件可以被多次修改和反复使用只需要修改软件,就可以改变译码电路

6.1.5PC系列机主板上的I/O译码80X86系列微处理器提供16条地址线访问I/O端口,编址可达64K个字节端口或者32K个字端口。IBM系列采用非完全译码方式,即只考虑了低10位地址线A0-A9,I/O端口地址范围是0000H-03FFH,总共只有1024个字节端口80386微处理器或此后的微处理器构成的微机系统,采用全译码的方法,端口为64K个字节端口或32K个字端口

PC/XT主板上的I/O译码电路PC/AT主板上的I/O译码电路接口芯片内部译码A0~A4A5A6A7A8A974LS138译码器HLDAMASTERABCE1E2E3Y0Y1Y2Y3Y4Y5Y6Y7DMA控制器1中断控制器1定时计数器并行接口电路DMA页面寄存器中断控制器2DMA控制器2协处理器6.1.6

数据传送方式1.程序控制下的数据传送。通过CPU执行程序,利用程序中的I/O指令来完成数据传送。进—步分为:

1)无条件传送

2)查询传送

3)中断传送2.直接存储器存取(DMA)3.采用I/O处理器。6.2无条件传送所谓就绪(Ready),只是一种笼统的说法,其含义会随使用场合的不同而改变。1.在输入场合,“就绪”说明输入接口已准备好送往CPU的数据,正等待CPU读取。该状态也可以用接口中数据缓冲器已“满”来进行描述。2.在输出场合,“就绪”说明输出接口已做好准备,等待接收CPU要输出的数据。或者说,前次CPU传送给它的数据已得到处理,现在接口正在等待新的数据。该状态也可用接口数据缓冲器已“空”,或者用外设“闲”来进行描述。无条件输入和无条件输出

无条件数据传送的接口电路无条件数据传送的程序NEXT: MOVDX,6000H ;DX指向数据端口

INAL,DX ;从输入端口读开关状态

NOTAL ;反相

OUTDX,AL ;送输出端口显示

CALLDELAY ;调子程序延时

JMPNEXT ;重复6.3查询传送所谓的查询方式就是微机利用程序不断地询问外部设备的状态,根据外设所处的状态来实现数据的输入和输出。查询传送也称为异步传送和有条件传送方式。查询数据传输的流程

1.查询环节START:MOVDX,6001HINAL,DXTESTAL,9HJZSTART

2.传送环节输入:INAL,6000H输出:OUTAL,6000H6.3.1查询输入接口

该接口工作程序MOVDX,6000H;DX指向状态端口STATUS:INAL,DX ;读状态端口

TESTAL,01H;测试标志位D0 JZSTATUS;D0=0,未就绪,继续查询

INCDX;D0=1,就绪,DX指向数据端口

INAL,DX ;从数据端口输入数据6.3.2查询输出接口接口程序MOVDX,6000H ;DX指向状态端口STATUS:INAL,DX ;读取状态端口的状态数据

TESTAL,80H ;测试标志位D7

JNZSTATUS;D7=1,未就绪,继续查询

INCDX;D7=0,就绪,DX指向数据端口

MOVAL,BUF ;变量BUF送AL OUTDX,AL ;将数据输出给数据端口6.4中断传送中断控制方式中断请求触发器QRD数据缓冲端口译码端口译码控制端口中断屏蔽触发器QD+5VWR外设READYDBABDBINTRINTA中断可被响应的条件:中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;CPU未处理更高级中断;CPU现行指令执行完中断工作过程外设需要CPU服务时外设→I/O接口→向CPU发中断请求,INTR=H(中断请求有效)CPU执行完当前指令后,(注:若IF=1)CPU→I/O接口→外设发中断响应,/INTA=LCPU执行中断服务程序,CPU←→I/O接口←→外设读写数据6.5直接存储器存取(DMA)传送DMA是一种不经过CPU和程序,直接用硬件实现的存储器访问,达到高速传送数据的目的。。DMA控制方式(存储器直接存取)内存与外设间有大量数据交换时,采用中断方式,每传送一次数据,就必须经历中断处理的全部步骤,而且一般需要借助CPU内部的寄存器作为中介DMA方式:不用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论