第6章输入输出接口_第1页
第6章输入输出接口_第2页
第6章输入输出接口_第3页
第6章输入输出接口_第4页
第6章输入输出接口_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、机械系统计算机接口技术输入输出接口第六章 输入输出接口机械系统计算机接口技术基本知识第5.1节 基本知识 输入输入/ /输出设备是外部设备,简称输出设备是外部设备,简称外设外设。微机与外设之间的信息交。微机与外设之间的信息交换称为换称为输入和输出输入和输出。 存储器与系统总线相连,存储器与系统总线相连,CPU可直接访问,外设则需要通过接口可直接访问,外设则需要通过接口与系统总线相连与系统总线相连 接口接口:外设与总线之间的中间环节,是计算机与外设交换信息的控制电路:外设与总线之间的中间环节,是计算机与外设交换信息的控制电路 CPURAMROMI/O接口接口外设外设系统总线系统总线 接口的功能:

2、接口的功能:数据缓冲数据缓冲外设数据输入到总线时需要缓冲外设数据输入到总线时需要缓冲数据锁存数据锁存输出总线数据到外设时需要锁存输出总线数据到外设时需要锁存传输控制命令和状态信息传输控制命令和状态信息计算机与外设有时需使用硬件握手计算机与外设有时需使用硬件握手信息转换信息转换串并转换、数模转换串并转换、数模转换机械系统计算机接口技术CPU与外设传送的信息一一. . CPU与外设传输的信息与外设传输的信息 1)数据信息数据信息:数字量、开关量、模拟量数字量、开关量、模拟量 2)状态信息状态信息:反映外设工作状态,由外设通过接口传送给反映外设工作状态,由外设通过接口传送给CPU输入设备:输入设备:

3、如准备好信号如准备好信号(READY) ,表明输入数据是否准备就绪表明输入数据是否准备就绪输出设备输出设备:如忙信号:如忙信号(BUSY),表明输出设备是否处于空闲,表明输出设备是否处于空闲 3)控制信息控制信息:CPU通过接口传送给外设,如启动信号或停止信号通过接口传送给外设,如启动信号或停止信号 端口:端口:接口电路中可以被寻址访问的存储单元接口电路中可以被寻址访问的存储单元数据信息存放在接口的数据信息存放在接口的数据端口数据端口或数据缓冲器中或数据缓冲器中状态信息存放在接口的状态信息存放在接口的状态端口状态端口中中控制信息存放在接口的控制信息存放在接口的控制端口控制端口中中 三种信息按理

4、应分别传送,但微机中三种信息按理应分别传送,但微机中CPU只能通过只能通过IN和和OUT指令与指令与外设交换信息,因此外设交换信息,因此状态信息和控制信息也被广义地看作一种数据信息状态信息和控制信息也被广义地看作一种数据信息 状态信息被看作一种输入数据,状态信息被看作一种输入数据, 控制信息被看作一种输出数据,二控制信息被看作一种输出数据,二者均通过数据总线来传送者均通过数据总线来传送 机械系统计算机接口技术I/O端口编址 CPU对外设的输入输出操作,实质是对接口芯片中对外设的输入输出操作,实质是对接口芯片中各端口的读写操作各端口的读写操作二. I/O端口的编址端口的编址 1. 内存与内存与I

5、/O端口统一编址端口统一编址:外设端口的地址空间是内存地址空间的一外设端口的地址空间是内存地址空间的一部分部分,所有访问内存空间的指令均能访问,所有访问内存空间的指令均能访问I/O端口端口 2. 独立编址独立编址:内存与内存与I/O端口具有独立的地址空间端口具有独立的地址空间,CPU通过专用的通过专用的IN和和OUT指令访问指令访问I/O端口端口数据口数据口状态口状态口控制口控制口D15D0A15A1A0/BHE/IOR/IOW外设外设机械系统计算机接口技术8086系统的I/O空间 8086计算机系统的计算机系统的I/O空间空间 8086计算机系统采用独立编址,内存范围计算机系统采用独立编址,

6、内存范围: 00000FFFFFH,I/O地址范围:地址范围:0000FFFFH,8086用低用低16根地址线,寻址根地址线,寻址64KB端口端口偶地址端口数据由偶地址端口数据由低低8位数据总线位数据总线(D7D0)传送传送奇地址端口数据奇地址端口数据由高由高8位数据总线位数据总线(D15D8)传送传送奇、偶地址端口的访问由奇、偶地址端口的访问由/BHE和和A0控制控制I/O端口的读端口的读/写控制信号为写控制信号为/IOR和和/IOW注:注: IBM PC/XT机机实际只使用低实际只使用低10位地址线位地址线A9A0寻址寻址1KB端口端口,多使用多使用8位端口,由位端口,由D7D0传送数据传

7、送数据,端口多为偶地址,端口多为偶地址,访问时,访问时,接口芯片片选信号接口芯片片选信号/CS由由A9A1译码产生,要求译码产生,要求A0总为总为0,现代,现代计算机中,通过转换电路可实现连续奇、偶端口地址访问计算机中,通过转换电路可实现连续奇、偶端口地址访问/IOR/IOWM/IO/RD/WR机械系统计算机接口技术CPU与外设的数据传送方式第5.2节 CPU与外设的数据传送方式 各种外设工作速度相差较大,因此各种外设工作速度相差较大,因此CPU与不同外设应采用不同方式传送与不同外设应采用不同方式传送一. 无条件传送方式无条件传送方式 CPU不需要检测外设状态,直接使用不需要检测外设状态,直接

8、使用IN和和OUT命令完成输入和输出命令完成输入和输出1。无条件输入。无条件输入注:名为无条件,实为有条件,传送不能太频繁,以保证每次传送时,外注:名为无条件,实为有条件,传送不能太频繁,以保证每次传送时,外设都已准备就绪设都已准备就绪接口接口电路电路/IOR三态三态缓冲缓冲器器/OEI/O装置装置地址地址译码译码器器/CED7D0A15A1A0160HMOV DX, 160HIN AL, DX说明:说明: 地址地址160H输出到输出到A15A0,产生对应的译码输出产生对应的译码输出 数据由数据由D7D0输入到输入到AL机械系统计算机接口技术无条件传送方式2.无条件输出无条件输出T1T2T3T

9、4T1地址地址状态状态地址地址数据数据CLKM/IOA19A16/BHEAD15AD0ALE/WR/DENREADYDT/RS3S6I/O写总线周期时序写总线周期时序MOV DX, 160HOUT DX, AL输出的数据在输出的数据在AL中存放中存放输出端口地址为输出端口地址为160H地址地址译码译码器器数据数据锁存锁存器器A15A1/IOWA0/CE160H输出输出设备设备D7D0机械系统计算机接口技术查询传送方式二二. . 查询传送方式查询传送方式 CPU不断检测外设状态,外设满足条件时才传送数据不断检测外设状态,外设满足条件时才传送数据。特点:电路和。特点:电路和程序简单,但占程序简单,

10、但占CPU时间,效率较低。常用一位或几位表示外设状态时间,效率较低。常用一位或几位表示外设状态1. 查询输入查询输入三态三态缓冲缓冲器器/OE160HD7D0D0/IOW地址地址译码译码器器A15A1/CEA0/IOR162H164H/ENEOCADCDB锁锁存存器器/RQ CD+5V查询输入工作原理查询输入工作原理状态锁存器状态锁存器机械系统计算机接口技术查询传送方式1)启动)启动ADC:对:对164H端口执行写操作,端口执行写操作,164H & /IOW有效,即有效,即ADC的的/EN有有效,启动效,启动ADC转换转换(写的数据不重要写的数据不重要)2)外设转换结束,置状态信息为)

11、外设转换结束,置状态信息为1 ADC转换结束,由转换结束,由EOC产生负脉冲,产生负脉冲,将将AD数据锁存到锁存器,并置状态锁数据锁存到锁存器,并置状态锁存器输出为存器输出为1 (锁存状态位锁存状态位)3)查询状态位)查询状态位:对:对162H端口执行读操作端口执行读操作, 162H & /IOR有效,读取有效,读取D7D0,状,状态位由态位由D0位传送位传送4)读取数据)读取数据:若:若D0位为位为1,则对,则对160H端端口执行读操作,口执行读操作,160H & /IOR有效,有效,即三态缓冲器即三态缓冲器/OE有效,通过有效,通过D7D0读入转换数据,同时状态锁存器读入转

12、换数据,同时状态锁存器/R有有 效,效,清除状态,防止清除状态,防止CPU重读数据重读数据 从从ADC读取数据,读取数据,存放到存放到ALREAD PROCMOV DX, 160HIN AL, DX ;清状态清状态MOV DX, 164HOUT DX, AL ;启动启动ADCREAD1: MOV DX, 162HIN AL, DX ;读状态读状态TEST AL, 1 ;判断状态位判断状态位JZ READ1MOV DX, 160HIN AL, DX ; ;读取数据读取数据RETREAD ENDP机械系统计算机接口技术查询传送方式2.查询输出查询输出D7D0D0160H/IOW地址地址译码译码器器

13、A15A1CSA0162H164HRDYDB锁锁存存器器QCD+5VRCACK/IORDACCLK状态锁存器状态锁存器查询输出工作原理查询输出工作原理机械系统计算机接口技术查询传送方式1)CPU输出数据输出数据:对:对160H端口执行写操端口执行写操作,作,160H & /IOW有效,即锁存器有效,即锁存器CLK有有效,输出数据通过效,输出数据通过D7D0被锁存到锁存器输被锁存到锁存器输出,同时状态锁存器出,同时状态锁存器C有效,置状态信息位有效,置状态信息位为为1,向,向DAC表明输出数据已准备好表明输出数据已准备好2)启动)启动DAC工作工作:对:对164H端口执行写操端口执行写操

14、作,作,164H & /IOW有效,即有效,即DAC的的/C有效,有效,启动启动DAC4)DAC转换转换:若:若DAC取走数据取走数据,开始转,开始转换,则发换,则发ACK信号,清除状态触发器输出信号,清除状态触发器输出3)查询状态位)查询状态位:对:对162H端口执行读操端口执行读操作,作,162H & /IOR有效,读取状态锁存器输有效,读取状态锁存器输出,状态位由出,状态位由D0传送,若传送,若D0为为0,表明,表明DAC已取走数据,已取走数据,CPU可输出下一次数据。可输出下一次数据。 将将AL中的数据输出中的数据输出WRITE PROCMOV DX, 160HOUT

15、DX, AL ;输出数据输出数据MOV DX, 164HOUT DX, AL ;启动启动DACMOV DX, 162HWRITE1: IN AL, DX ;查询状态查询状态TEST AL, 1JNZ WRITE1RETWRITE ENDP机械系统计算机接口技术中断传送方式三三. 中断传送方式中断传送方式CPU变主动查询为被动中断,提高了系统效率变主动查询为被动中断,提高了系统效率1. 中断工作原理说明中断工作原理说明外设外设“准备好准备好”后,向后,向CPU发中断请求发中断请求CPU响应请求,停止当前运行程序,转到中断服务程序,处理请求响应请求,停止当前运行程序,转到中断服务程序,处理请求处理

16、完请求后,回到断点处继续执行处理完请求后,回到断点处继续执行数据交换等中断处理在中断服务程序中完成数据交换等中断处理在中断服务程序中完成中断服务程序中断服务程序返回断点返回断点中断中断处理处理断点断点 CS : IP+1正常程序正常程序CS : IP继续执行继续执行 CPU响应中断时,原程序被打断的响应中断时,原程序被打断的地方称为地方称为断点断点。断点地址断点地址是指中断服是指中断服务程序结束后,返回原程序恢复执行务程序结束后,返回原程序恢复执行的第一条指令的地址,又称的第一条指令的地址,又称返回地址返回地址 。现场现场是指进入中断服务程序之前是指进入中断服务程序之前CPU各个寄存器的状态各

17、个寄存器的状态机械系统计算机接口技术中断传送方式中断源中断源任何能引发中断的事件任何能引发中断的事件都称为都称为中断源中断源,可分为:,可分为:硬件中断源硬件中断源:I/O设备,系统时钟,故障源等设备,系统时钟,故障源等软件中断源软件中断源:程序:程序中断指令(中断指令(INT 3)、指令运行出错()、指令运行出错(INTO)等)等2. 中断方式接口电路中断方式接口电路CQD+5V160HD0 中断屏蔽触发器中断屏蔽触发器 中断请求触发器中断请求触发器DCQRB 地址地址 译码译码 器器INTR162H/IOWA15A0/IOR/INTA 缓冲器缓冲器 缓冲器缓冲器中断类型码中断类型码(0FH

18、)三三 态态三三 态态D7D0 D7D0EOC输入输入设备设备ACLK锁存器锁存器AB选通信号选通信号中断方式输入的接口电路中断方式输入的接口电路机械系统计算机接口技术中断传送方式中断方式接口电路工作过程说明中断方式接口电路工作过程说明外设准备好数据后,发外设准备好数据后,发EOC信号(负脉冲),把数据锁存到锁存器,信号(负脉冲),把数据锁存到锁存器,同时置中断请求触发器输出为同时置中断请求触发器输出为1,若此时中断屏蔽触发器输出,若此时中断屏蔽触发器输出Q为为1,则则INTR信号有效,向信号有效,向CPU产生中断请求产生中断请求当当INTR为高电平,为高电平,且且CPU中断中断开放(开放(I

19、F1),则),则CPU响应中断,响应中断,CPU输出输出/INTA信号,读取中断类型码,并信号,读取中断类型码,并清除中断请求触发器清除中断请求触发器CPU根据所获得的中断类型码进入相应中断服务程序,读取数据根据所获得的中断类型码进入相应中断服务程序,读取数据 MOVDX, 162H;对输入数据对输入数据 INAL, DX 对中断的控制对中断的控制1)控制中断请求)控制中断请求置中断屏蔽置中断屏蔽触发器输出为触发器输出为0,屏蔽中断请求,屏蔽中断请求 MOVAL, 0 / 1 ;屏蔽屏蔽 / 允许允许MOV DX, 160HOUT DX, AL2)控制中断响应)控制中断响应标志寄存器标志寄存器

20、Flag中中IF标志可控制标志可控制CPU是否查询是否查询INTR引脚引脚 STI 置置IF=1 允许中断允许中断 CLI 清清IF=0 禁止中断禁止中断机械系统计算机接口技术中断处理过程3. 中断处理过程(重要)中断处理过程(重要)1)中断检测)中断检测 CPU在每条指令执行的最后一个时钟周期检测中断请求,在每条指令执行的最后一个时钟周期检测中断请求,若出现以下情况之一,则进入中断响应周期。若出现以下情况之一,则进入中断响应周期。有软件中断请求有软件中断请求有有NMI中断请求信号中断请求信号有有INTR中断请求信号,且中断请求信号,且CPU允许中断响应,即允许中断响应,即IF=12)获取中断

21、类型码)获取中断类型码 进入中断响应周期以后:进入中断响应周期以后:若是若是INTR,则产生,则产生/INTA信号,中断源通过数据总线的低信号,中断源通过数据总线的低8位将中位将中断类型码传送给断类型码传送给CPU;若是若是NMI,则类型码是,则类型码是2;若程序出错产生中断,则使用默认的类型码;若程序出错产生中断,则使用默认的类型码;若是中断指令,则指令中有类型码。若是中断指令,则指令中有类型码。3)保护断点)保护断点 系统自动将标志寄存器系统自动将标志寄存器FLAG压入堆栈,清除压入堆栈,清除TF和和IF,并将断点处的并将断点处的CS和和IP压入堆栈,先压压入堆栈,先压CS后压后压IP机械

22、系统计算机接口技术中断响应过程4)得到中断向量)得到中断向量 系统根据中断类型码形成中断服务程序的入口地址,系统根据中断类型码形成中断服务程序的入口地址,转入中断服务程序执行,每个中断都有自己的处理程序。转入中断服务程序执行,每个中断都有自己的处理程序。5)中断服务处理)中断服务处理 进入中断服务程序后,通常由以下步骤组成进入中断服务程序后,通常由以下步骤组成保护现场保护现场中断处理中断处理恢复现场恢复现场用中断返回指令用中断返回指令(IRET)返回返回6)中断返回)中断返回 从堆栈中依次恢复断点处从堆栈中依次恢复断点处CS:IP和和FLAG机械系统计算机接口技术中断优先级4. 中断优先级中断

23、优先级 当系统中多个中断源当系统中多个中断源同时发出中断请求同时发出中断请求时,时,CPU按照重要性和急按照重要性和急迫性(中断优先级)择优响应,迫性(中断优先级)择优响应,处理原则为处理原则为:CPU先响应高优先级中断,再响应低优先级中断先响应高优先级中断,再响应低优先级中断高优先级中断请求可以打断当前低优先级中断处理(高优先级中断请求可以打断当前低优先级中断处理(中断嵌套中断嵌套)低优先级中断请求不能打断高优先级中断处理低优先级中断请求不能打断高优先级中断处理若出现同级中断请求,则等当前中断处理完后,才处理新的请求若出现同级中断请求,则等当前中断处理完后,才处理新的请求机械系统计算机接口技

24、术中断优先级链式优先权排队电路链式优先权排队电路每个接口有一个中断允许输入每个接口有一个中断允许输入IEI和中断允许输出和中断允许输出IEO,只有只有IEI为高电为高电平平时时才允许该才允许该接口芯接口芯片发中断请片发中断请求求IEO = IEI INT INT表示该设备表示该设备有中断请求有中断请求每个接口芯片的中断请求输出为每个接口芯片的中断请求输出为OC门,具有负逻辑的门,具有负逻辑的“线或线或”关系关系响应中断时由响应中断时由INTA从从接口读取中断类型码接口读取中断类型码外设外设2IEIIEO接口接口2外设外设1IEIIEO接口接口1外设外设3IEIIEO接口接口3+5VD7D0IN

25、TAINTRIORIOW/CS1/CS2/CS3机械系统计算机接口技术中断优先级中断优先权编码电路中断优先权编码电路中断中断请求请求锁存锁存 器器中断中断服务服务寄存寄存 器器优先级优先级编码器编码器优先级优先级编码器编码器B2B1B0A2A1A0AB比较器比较器INTRIR0IR1IR2IR3IR4IR5IR6IR7 电路说明电路说明 中断请求锁存器锁存中断请求锁存器锁存IR0 IR7上的中断请求。上的中断请求。 优先级编码器把当前最高优优先级编码器把当前最高优先级的先级的中断请求输入的序号中断请求输入的序号进行进行编码编码后后输出输出 中断服务寄存器记录正在处中断服务寄存器记录正在处理的最

26、高级中断输入序号理的最高级中断输入序号 中断请求的最高级与正在处中断请求的最高级与正在处理的中断最高级比较,只有理的中断最高级比较,只有高于正在处理的最高级时,高于正在处理的最高级时,才能提出产生才能提出产生INTR信号信号机械系统计算机接口技术中断源的查找5. 中断源的查找中断源的查找 有中断请求时需要查找中断源,以决定进入相应的中断服务程序有中断请求时需要查找中断源,以决定进入相应的中断服务程序1)应答方式)应答方式 CPU接收到中断请求时接收到中断请求时INTR,发出中断响应信号,发出中断响应信号/INTA,中断源收到,中断源收到此信号后返回相应中断类型码给此信号后返回相应中断类型码给C

27、PU。(如。(如8086可屏蔽中断请求)可屏蔽中断请求)2)预先约定)预先约定 当有中断申请时,则转到固定地址执行中断服务程序当有中断申请时,则转到固定地址执行中断服务程序 如如NMI请求、软件中断请求、请求、软件中断请求、8051单片机中断系统单片机中断系统3)查询)查询 方式方式 在中断服务程序中通过软件查询中断源在中断服务程序中通过软件查询中断源机械系统计算机接口技术中断源的查找软件查询中断源软件查询中断源A15A0译码译码器器地址地址/IORINTRD7D0A B C D E F G H20H三态三态缓冲器缓冲器中断中断请求请求触发触发器器中断源中断源查询方法优点:查询方法优点: 查询

28、次序即是优先权次序查询次序即是优先权次序 省硬件,不需要硬件排队电路省硬件,不需要硬件排队电路缺点:缺点:转至服务程序入口时间长转至服务程序入口时间长查询程序查询程序IN AL, 20HLEA BX, TABCIRCLE: SHR AL, 1JC NEXTADD BX, 2CMP AL, 0JNZ CIRCLEJMP ERRORNEXT: JMP CS : BXTAB DW SUB1, SUB2 DW SUB3, SUB4 DW SUB5, SUB6 DW SUB7, SUB8机械系统计算机接口技术DMA传送方式四四. . DMA传送方式传送方式(Direct Memory Access) 传

29、统方式传送数据,均需要传统方式传送数据,均需要CPU参与,占用参与,占用CPU时间,而在时间,而在DMA方式下方式下,利用专用接口电路(利用专用接口电路(DMA控制器)可以在外设与存储控制器)可以在外设与存储器之间直接进行高速数据传送器之间直接进行高速数据传送 DMA方式适合大数据量高速传输方式适合大数据量高速传输优点:速度高,不需要优点:速度高,不需要CPU参与参与缺点:硬件接口复杂,缺点:硬件接口复杂,DMAC价格高价格高MEMCPUI/ODMAC8237:DMA控制器,具控制器,具有有4个通道,两片级连有个通道,两片级连有7个通道。个通道。机械系统计算机接口技术DMA传送方式 DMA方式

30、工作原理方式工作原理CPU地址地址锁存锁存数据数据缓冲缓冲内存内存I/O接口接口DMACCBABDBHOLDHLDA123456外设外设DB 数据总线数据总线AB 地址总线地址总线CB 控制总线控制总线DMAC DMA控制器控制器1. 外设准备就绪,则通过接口外设准备就绪,则通过接口向向DMAC发发DMA传送请求传送请求2. DMAC向向CPU发总线请求信号发总线请求信号3. CPU若允许若允许DMA操作,则发操作,则发送总线允许信号给送总线允许信号给DMAC4. DMAC拥有总线控制权,拥有总线控制权,发送地址信号给内存发送地址信号给内存5. 向接口返回向接口返回DMA允许信号允许信号6. DMAC控制内存与接口之控

温馨提示

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

评论

0/150

提交评论