《输入输出接口.ppt》由会员分享,可在线阅读,更多相关《输入输出接口.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Jump to first page第七章第七章 计算机输入输出接口计算机输入输出接口7.1 接口基本知识7.2 数据传送控制方式7.3 中断控制技术7.4 总线接口7.5 串行接口7.6 并行接口Jump to first page7.1 输入输出接口基本知识输入输出接口基本知识n接口是计算机与输入输出设备或其他系统之间进行数据通讯的逻辑控制部件,也称输入输出控制器。输入输出设备有时简称为“外设”或“I/O设备”。n接口的四项重要功能:u能正确进行地址译码及设备选择,找到正确对象u能实现数据缓冲与锁存,匹配主机与外设的速度u能完成信息格式和信号电平的转换,使协调一致u能保证数据传送的定时与协
2、调,有握手联络功能7.1.1 输入输出接口的功能输入输出接口的功能 数据准备好接口电路输出设备CPU数据接收完毕数据总线 数据准备好接口电路输入设备CPU 数据接收完毕数据总线 Jump to first pagen接口中通常通过数据总线传送三种信息:u数据信息来自外设或送往外设的多种类数据u状态信息反映外设当前工作状态的标志信息u控制信息CPU发往外设的启动或停止的命令n接口的组成:寄存器组、控制逻辑电路、接口与主机和外设之间的信号联接线、数据地址线、控制状态信号线。上述三种信息都 通过数据总线传 送,但通过送往 三个寄存器区别CPU控制电路DRSRCRI/O设备地址数据数据控制状态IO/M
3、 RD WR7.1.2 输入输出接口的基本结构与组成输入输出接口的基本结构与组成Jump to first pagen接口通常分为如下几类:u串行接口与并行接口按数据传送方式划分u同步接口与异步接口按收发配合方式划分u程序传送接口、中断传送接口和DMA接口 按通信的协调控制方式划分u简单普通接口、可编程接口和外设接口适配器 按电路规模划分n接口中可由CPU读写的多个寄存器称为端口n不同型号的CPU对端口的编址方式是不同的n存储器统一编址:指令多、地址空间大,速度慢nI/O端口独立编址:专用指令、速度快,但空间小7.1.4 输入输出接口的编址方式输入输出接口的编址方式7.1.3 输入输出接口的分
4、类输入输出接口的分类Jump to first page1、程序直接传送控制方式2、中断传送控制方式3、存储器直接存取控制方式4、输入、输出处理机控制方式主机与外设之间的信息传送控制方式大致有四种:7.2 主机与外设间数据传送控制方式主机与外设间数据传送控制方式Jump to first pagen无条件传送控制方式 外设随时准备好,主机随时可发送或读取数据。如读取温度数值、发送显示数据n程序查询传送控制方式有条件传送控制方式 CPU在传送数据前,必须对外部设备的状态进行检测,当状态满足条件时才传送,否则CPU就等待。n程序查询方式的优点:u较好协调主机与外设之间的时间差异u所用硬件少n程序查
5、询方式的缺点:u主机与外设串行工作u主机同时只能与一个外设进行通讯u适用于低速、少量外设7.2.1 程序直接传送控制方式程序直接传送控制方式Jump to first page查询输入方式接口电路 查询输出方式接口电路 查询输入的信息格式及程序流程 查询输出的信息格式及程序流程查询方式控制电路查询方式控制电路Jump to first page主机在通知外设准备传送数据之后继续执行自己工作;当外设完成准备工作后,便向主机发出准备就绪通知;CPU在适当时机就暂时中断原来正在执行的工作(程序)而转去完成外设与主机之间的数据交换;数据交换完毕后CPU仍返回继续执行被中断的工作。优点是避免查询等待工作
6、效率高,缺点是占用CPU时间1、中断传送方式的工作过程:2、中断传送方式的优缺点:优点是避免查询等待,CPU工作效率高缺点是大量传送数据时,占用CPU时间过多7.2.2 中断传送控制方式中断传送控制方式Jump to first page前两种传送控制方式都要占用CPU时间,在要求快速和大量传输数据时都不够理想,例如读写磁盘。于是提出一种存储器直接存取控制方式,也叫DMA(Direct Memory Access)方式。DMA方式以内存为中心,其基本思想是使CPU暂停工作,使外设通过专门的接口电路和存储器直接进行数据交换,而不用通过CPU的寄存器。控制过程由DMA控制器硬件自行完成,因而具有很
7、高的传送速率。DMA方式是高速外设与主机成批交换数据的有效方式,但只能适合于外设不多的微小型计算机系统。对于外设很多的大中型计算机系统,则CPU处理信息的任务仍嫌过重,因而较少使用。7.2.3 存储器直接存取控制方式存储器直接存取控制方式Jump to first pageDMA控制器的功能控制器的功能n当外设准备就绪,希望进行DMA操作时,会向DMA控制器发出DMA请求信号,DMA控制器接到信号后,立即向CPU发总线请求信号。nCPU接到总线请求信号后,如果允许,则会发出DMA响应信号,此时CPU放弃对总线的控制权,由DMA控制器对总线进行控制。nDMA控制器得到总线控制权后,要往地址总线上
8、发地址信号,修改存储器或接口的地址指针。然后送出数据信号、发读/写控制信号。n为决定所传送的字节数,DMA控制器中也有计数器,自动计算数据传送的字节数量。nDMA过程结束后,DMA控制器向CPU发出结束信号,将地址、数据、控制三总线的控制权交还给CPU。Jump to first pageDMA接口控制电路接口控制电路 DMA控制接口电路 DMA工作流程图Jump to first pagen当计算机外部设备很多时,CPU处理信息传送的任务十分繁重,因此大中型计算机采用专门的I/O处理机担此重任,使主机专门用于进行内部事务的处理。nI/O处理机也是一台计算机,有单独的存储器和独立的运算部件,可
9、访问主机系统的内部存储器并与之独立进行数据交换;n除数据传输外,I/O处理机还能处理传送过程中发生的差错及异常情况,进行数据格式翻译以及数据块校验等工作。7.2.4 输入输出处理机控制方式输入输出处理机控制方式Jump to first pagen中断:计算机暂时中止现行程序,转去处理意外出现的随机情况或有意安排的任务,在处理结束后能自动恢复原程序的执行,这个过程叫作“中断”。n中断服务程序:为处理意外情况或有意安排的任务而编写的程序称为“中断服务程序”,或叫“中断处理程序”。n中断可使CPU与外设并行工作,提高效率。n中断包括 可屏蔽中断(INTR)和不可屏蔽中断(NMI)两种方式,可屏蔽中
10、断可由软件控制。7.3.1 中断的概念中断的概念7.3 中断控制技术中断控制技术Jump to first page中断源中断源n在机器中引起中断产生的事件或发生中断请求的来源统称为中断源。n中断源通常分为五种:I/O中断、数据通道中断、时钟中断、故障中断、程序中断n习惯上常把中断源分为 内部、外部中断两大类:u机器内部产生的中断叫内部中断。内部中断源有:电源故障、主机设备故障、运算溢出、控制器非法指令、定时时钟中断等u由外部设备引起的中断叫外部中断。外部中断源有:键盘中断、打印机中断、磁盘存储器申请中断、以及其它控制中断等。Jump to first pageCPU响应中断三条件响应中断三条
11、件n中断源有中断请求中断请求寄存器相应位置“1”nCPU允许接受中断请求中断允许寄存器置“1”0:关中断;1:开中断不可屏蔽中断不受此限制n一般一条指令执行完毕后 CPU才能响应中断取指令执行指令中断?响应中断返回断点运行原程序N关中断/保存现场/开中断执行中断服务程序关中断/恢复现场/开中断CPU响应中断过程如右图所示Jump to first page1、中断请求的检测与屏蔽 CPU内部设有一个中断允许寄存器IF,当IF=1时CPU不停地检测中断申请并能够响应中断,当IF=0时CPU不检测也不响应中断,即中断被屏蔽。CPU响应中断后自动使IF=0。IF可用指令设置。2、堆栈与断点保护 为使
12、CPU在响应中断后能够正确返回原程序的中断位置,即断点,必须在响应中断前把断点处的所有信息通过堆栈保存起来,以使CPU在中断服务完成以后能从堆栈中弹出断点信息继续原来的工作。7.3.2 中断系统的功能中断系统的功能Jump to first page7.3.2 中断系统的功能中断系统的功能3、矢量中断与中断矢量 矢量中断是指发生中断时CPU取得中断处理子程序地址的方式。所谓中断矢量实际上就是一个地址指针,它总是指向中断处理子程序的起始地址。当发生中断时,根据中断源不同,CPU从中断矢量表中取出对应的中断矢量成为新的PC值,从而使CPU开始对中断处理子程序的执行。Jump to first pa
13、ge中断过程示意图中断过程示意图中断处理子程序的起始地址1800H放在中断矢量表中。当CPU响应中断后,程序计数器PC中的原有内容(断点信息)就自动压入堆栈区,同时也将中断矢量1800H通过总线送到CPU的程序计数器PC中,从而完成响应中断的过程并开始中断处理工作。00H18H:82H01H0100H:0180H0182H:0300H:1800H:FFEFHFFF0H堆栈指针SPFFF0H0182H程序计数器中断矢量表PC1800H 主程序区 中断处理 子程序区中断过程示意图Jump to first page7.3.2 中断系统的功能中断系统的功能 为防止多个中断源同时申请中断而发生中断竞争
14、,预先规定了CPU对中断响应的先后顺序,即对每一个中断源都规定了不同的中断优先权。中断优先级高的中断源可以中断低级别的中断服务程序,这叫中断嵌套。因此中断优先级要根据实际需要和事件处理的轻重缓急仔细确定。一般规定:内部中断优先于外部中断,硬件中断优先于软件中断。例如:电源故障中断优先级最高,一般用不可屏蔽中断,其次为非法指令中断、溢出中断、键盘中断、打印机中断等可屏蔽中断。除不可屏蔽中断外,大多数中断源的中断请求都要受CPU内中断允许寄存器的控制,中断允许寄存器置“0”时这些可屏蔽中断(INTR)不能被响应,而不可屏蔽中断(NMI)不受影响。4、中断嵌套与中断优先级 Jump to first
15、 page多重中断与中断嵌套示意图多重中断与中断嵌套示意图 第一次中断 第二次中断断点返回断点返回继续执行主程序 主 程 序中断子程序中断子程序Jump to first page7.3.3 80X86的中断功能的中断功能 8086CPU总共允许有256级中断,分别叫类型0、类型1、直到类型255中断。8086CPU 规定内存地址的最低端放置中断矢量表。由于最多有256 种类型的中断,每个矢量需要四个字节,所以这个区域应为1KB,其地址为0003FFH。类型1 单步中断矢量类型2 NMI中断矢量类型0 除法错中断矢量类型3 断点中断矢量类型4 溢出中断矢量类型255 中断矢量 8086中断矢量
16、表3FFH3FCH014H010H00CH008H004H000HJump to first page7.3.4 可编程序中断控制器可编程序中断控制器8259A简介简介 中断请求寄存器IRR正在服务寄存器ISR优先权判别电路控制逻辑IR0IR1IR2IR3IR4IR5IR6IR7INTINTA中断屏蔽寄存器 IMR数据总线缓冲器读/写控制逻辑级联缓冲器比较器D7D0RDWRA0CSCAS0CAS1CAS2SP/ENIntel 8259A 芯片引脚及内部结构框图Jump to first pagen总线:传送信息的一组公用信号线,在计算机各部件进行数据交换时负责控制信号、地址信号和数据信号的发送
17、和接收。通常称为“BUS”。n总线作用:计算机内部互传信息的公用通道n总线组成:u地址总线AB专门传送地址信号u数据总线DB专门传送数据信号u控制总线CB专门传送控制信号n总线的分类:u按传送信息形式分为串行总线、并行总线u按总线位置分为器件级总线、内部总线、外部总线7.4 总线接口总线接口统称计算机三总线7.4.1 总线的作用与分类总线的作用与分类Jump to first page7.4.2 总线的标准总线的标准市场上出售的同类计算机部件以及各种相同功能的外设大都是可以互换使用的,原因就是它们都采用了统一的PC机总线结构,都遵守了相同的对外系统总线标准。总线标准包括以下四个方面的内容:u物
18、理特性:线数、插头插座形状、引脚排列u功能特性:规定每条线的作用与功能u电气特性:规定传送方向、有效电平范围等u时间特性:公用通道上信号分时操作的规定Jump to first page 1、ISA总线总线(AT总线)u286微机始建立。数据宽度16位,工作频率8MHz,传输速率8MB/s,24位地址线,寻址范围16MB;u适合速度要求不高的板卡外设:串口并口声卡等;u微机主板有两种AT总线插槽,长的一组用于插16位的IS A兼容板卡,短的用于插早期8位板卡。7.4.3 微机总线简介微机总线简介80286处理器主存储器显示器外存储器打印机16位总线、8MHzJump to first page
19、2、MCA总线总线(微通道系统结构总线)uISA总线速度慢,共用设备多时有争用现象。uMCA总线经过三次扩展,数据宽度和寻址范围均达32位,工作频率最高达33MHz,传输速率最高达到40MB/s,避免了ISA的总线争用现象。uMCA属专用总线,IBM为其PS/2微机专门设计,未普及。Jump to first page386、486微处理器主存储器32位数据总线EISA总线控制器32位调制解调器8显示器16外存储器32网络适配器32uEISA总线适应80486微机需要。提供32位数据宽度和32位寻址能力,数据传输速率提高到33MB/s。uEISA总线采用两层复合结构,上层为ISA总线,下层为E
20、ISA总线,其插槽的长度、外形与ISA完全一样。因此,EISA完全兼容8位和16位ISA总线产品。3、EISA总线总线(扩充ISA总线)Jump to first pageCPU和Cache主存储器32位CPU总线局部总线控制器IS A总线控制器高速外存图形适配器33MHz,32位局部总线调制解调器磁带机外存打印机8MHz,16位ISA总线网络适配器u流水线、Cache、RISC等技术的采用使CPU技术快速发展,迫切需要与高速外设进行高速数据通讯。u局部总线技术把总线分层,使快速设备和低速设备各得其所(见图)。局部总线有VESA和PCI两种。4、微机局部总线、微机局部总线Jump to fir
21、st pagekVESA局部总线:用于80486微机,其数据宽度32位,工作频率33MHz,最大传输速率132MB/s。但因其总线与CPU间无数据缓冲器,对CPU依赖较大,且规范化不够,兼容性差,因而不如后来的PCI局部总线。kPCI局部总线:奔腾以后的计算机普遍采用。它在总线与CPU之间提供数据缓冲,对CPU依赖较小;能支持10种外设,且总线协调性好,提供即插即用功能;其它技术性能则与VESA局部总线相同。4、微机局部总线、微机局部总线Jump to first pageu现有串行通信设备接口不一,例如键盘、显示器、鼠标、电话机、交换机、游戏操纵杆等均使用不同的接口。USB就是供其所用的一组
22、公共信号线,它采用统一接口,支持即插即用,使所有低速串行通信设备可以使用完全相同的公共插口。u每台计算机最多有两个USB总线接口即可。因为USB总线可树状挂接最多127个外设,且不必考虑挂接顺序,USB能够自动进行识别。u通用串行总线USB的传送能力12MB/S 。现在销售的微机普遍具有USB通用串行接口。5、通用串行总线、通用串行总线USBJump to first page6、AGP总线总线nAGP总线适应多媒体信息处理需要而产生nAGP总线是CPU与图形处理器之间的单独通路nAGP数据传送速率高达266、532、1000Mb/snAGP总线适合处理高速三维动态图形等多媒体信息CPU硬盘图
23、形处理器声卡网卡PCI总线CPU图形处理器AGP总线Jump to first page人人类类离离不不开开通通信信Jump to first page7.5 串行接口串行接口 CPU与外设之间的信息交换,称为通信。在通信过程中,如果交换的信息是以字节或字为单位、且各位同时进行传送,则称为并行通信;如果交换的信息是以位为单位每次传送一位、且各位数据依次按一定格式逐位传送,则称为串行通信。Jump to first page7.5.1 串行通信简介串行通信简介l串行通信接口:是在信息传送时,将被传送的各数据信息逐位进行传送的标准通信接口。l特点:连线少,远距离传送成本低;但要分别进行并/串和串/
24、并转换,通讯速度慢。l通信格式:包括数据格式、数据字节长度、传输速率、及校验方式等。通信双方必须遵守统一的通信格式,才能确保通信正常。这种通信格式又叫通信协议。l串行通信有两种协议:异步通信协议和同步通信协议。Jump to first page1、异步串行通信与同步串行通信 异步串行通信:以字符为单位传送。每个单位称为一帧。通信时字符内每位间的时间间隔固定,而字符间时间间隔不固定,收发双方时钟不需同步的通讯方式。如用键盘先后输入多个字符。同步串行通信:将多个字符组成数据块传送。通信时数据块中的字符之间以及字符内的数位之间的时间间隔固定,收发双方时钟严格同步的通讯方式。适用于成批、大信息量的远
25、程数据通信。Jump to first page2、串行通信的三种通信方式n单工通信一般用两线制n半双工通信 分时、两线制n全双工通信 同时、四线制 也可混用两线ABABAB数据信息监控信息Jump to first page3、串行通信的数据传送速率n串行通信的数据传送速率:指单位时间内在通信线路上传输的数据量,即每秒传输的比特数,俗称波特率,衡量单位用 bps(bit per second),意即每秒钟传送的二进制数的位数。1 bps=1位二进制数位/秒=1比特/秒n串行通信中,收发双方的速率必须相等,才能保证双方在字符以及格式方面的统一,避免差错。n异步串行通信中数据传输速率通常使用:1
26、200/2400/4800/9600/19200/38400/57600bps等。n同步通信速率高于异步通信,一般达几百Kbps。Jump to first page4、串行通信的调制与解调当串行通信距离较远时,可借用电话线来传送信息。此时为了避免信息走样丢失,发送方需把数字信息“1”与“0”变换为两个不同频率的音频模拟信号在电话线上传送,当接收方收到信息后,再把收到的音频模拟信号变换成“1”和“0”两个数字信号。把数字信号变换为音频信号的过程称为调制;而把音频信号还原为数字信号的过程称为解调。实现调制和解调的装置称为调制解调器(MODEM)。俗称“猫”。计算机上网即通过“猫”来实现。Jump
27、 to first page7.5.2 串行通信协议串行通信协议 传输的数据以字符为单位,一个字符作为 一个信息帧。一帧包括起始位、数据位、校验位和停止位。其中:起始位1位,用低电平表示;数据位通常有8或9位,包括检验位;停止位常用1、1.5、2位,用高电平表示;信息帧之间用若干个高电平空闲位来缓冲。低、高电平分别代表数据“0”和“1”。1、异步串行通信协议Jump to first page1、异步串行通信协议常见异步通信协议:10位/帧、11位/帧u10位/帧:1位起始位+7位数据位+1位校验位+1位停止位u11位/帧:1位起始位+8位数据位+1位校验位+1位停止位0/1 0/1 0/1
28、0/1 0/1 0/1 0/1 0/1 01 1 0 低位高位 第 n个字符 7位数据位 起始位校验位停止位 空闲位第 n+1 个字符假设异步串行通信中数据传输以10比特为一帧,波特率是 1200比特/秒,那么每秒就可传送120帧,即120个ASCII字符。Jump to first page2、同步串行通信协议异步通信方式中,每个字符都需要使用起始位和停止位作为字符开始和结束的标志,造成大约20%的传送时间的浪费。同步通信协议取消起始位和停止位,将多个字符合并组成一个数据块,再在每个数据块前加上适当的控制数据、在块后加上CRC循环冗余校验码一起进行传输,具有较高的纠错率。收发双方严格使用同一
29、个时钟同步工作。Jump to first page2、同步串行通信协议同步通信协议有多种格式。现广泛采用一种高级数据链路控制协议,即HDLC(High-level Data Link Control)。其格式如下:同步串行通信的数据传送速率也是以波特率表示的。由于其附加控制信息位仅占有效数据位的1%,故数据传送速率可达几百千波特,适用于大批量、高速的数据传送。8bit 8bit 8bit 0bit 16bit 8bit 01111110 地址 控制 数据 校验 01111110Jump to first pagen国际上常用数据通信标准为RS232C,它定义了 串行数据通信设备之间的接口特性
30、。n标准接口RS232C采用负逻辑电压信号,规定信号电平-5V-25V代表数字1,+5V+25V代表数字0,直接通信的最远距离为30米左右。数据传送速度最高为每秒19.2KB,即19200波特。n微机中RS232C接口采用25线或9线两种形式。如果两台微机直接通信,则可用3线双工通信。n远距离通信时,由于电压信号难以在电话线上正常传送,故需采用调制解调器对信号进行转换处理,使之如同音频信号一样正常传送。7.5.3 串行接口标准串行接口标准Jump to first pageRS232C接口信号接口信号 25芯引脚 9芯引脚 符号 功 能 方向 2 3 TXD 发送数据 输出 3 2 RXD 接
31、收数据 输入 4 7 RTS 请求发送 输出 5 8 CTS 清除发送 输入 6 6 DSR 数据设备就绪 输入 7 5 GND 信号地线 8 1 DCD 数据载波检测 输入 20 4 DTR 数据终端就绪 输出 22 9 RI 振铃信号指示 输入 Jump to first page计算机之间用三根线进行双工通信示例计算机之间用三根线进行双工通信示例TXDRXDGND(A机)TXDRXDGND(B机)Jump to first page串行接口电路串行接口电路n74LS164(串入并出)、74LS165(并入串出)n常用串行接口芯片UART和USART数据输入寄存器数据输出寄存器移位寄存器(
32、串入并出)移位寄存器(并入串出)接收时钟发送时钟状态寄存器控制寄存器数据总线中断申请读写地址与译码RXD串行输入控制通讯设备TXD串行输出Jump to first pagen并行接口的工作方式是使用多条通信线路,在同一时刻一次同时传送多位二进制信息,免做串并转换,因而通信速度快。缺点是电缆成本高。适用于要求快速通信而距离短的场合。n微机中的并行接口共有25条通信线,一次传送8位数据,主要用于连接各种打印机,以便实现数据的快速传输。n并行接口又通称为Centronic 接口,其最远可靠数据传输距离约为2米左右。n并行接口包括简单接口和可编程接口两种。7.6 并行接口并行接口7.6.1 并行接口
33、概述并行接口概述Jump to first page1、直接传送并行接口、直接传送并行接口 收发双方不需进行联络,数据无条件传送。2、一线握手并行接口、一线握手并行接口 双方单线联络,数据无条件或中断方式传送。3、两线及多线握手并行接口、两线及多线握手并行接口 7.6.2 简单并行接口简单并行接口上述两种方式中,数据传送总是一相情愿进行的,双方沟通联络不够,容易造成混乱和错误。两线及多线握手就可充分沟通。两线及多线握手常用可编程接口芯片实现,采用程序查询传送控制方式工作。Jump to first page一线握手并行接口原理图DI DODS1 DS2 STB+5V数据总线 WR8212 并行
34、输出接口原理图外部设备接口选择信号D0 DIINTDS1 STBDS2外部设备+5VRDY数据总线8212 并行输入接口原理图 RD接口选择中断请求握手握手Jump to first page1、8255A的结构的结构 双列直插大规模集成电路。三种工作方式。三个8位独立I/O端口、两组控制电路、CPU接口。7.6.3 可编程并行接口可编程并行接口2、8255A的工作方式及其功能的工作方式及其功能工作方式0基本I/O方式,不用联络信号 三个独立端口即可输入也可输出。工作方式1选通I/O方式,必用联络信号 两端口可做I/O,一个端口做联络。工作方式2双向传送方式,必用联络信号 三个端口配合起来实现
35、双向通讯。Jump to first pagen根据需要把8255A接入系统n对8255A进行初始化编程n在输入输出控制下完成数据的输入输出n应用u键盘扫描接口u打印机接口电路3、8255A的控制编程(略)的控制编程(略)4、8255A的应用(略)的应用(略)Jump to first page打印机接口电路Intel8086CPUD7 D0 PA7 PA0 PC0 PC6 8255A PC3INTR 打印机DATASTORE ACKNLG Jump to first page7.6.4 可编程定时计数器可编程定时计数器n计数与定时的概念u计数是对同类事件发生次数进行计量F对脉冲进行计数u定时包括计时和延时F计时是对两事件发生的时间间隔的计量F延时是对某件事发生后的时间进行计量F时间计量在统一的时间标准上进行,标准时间通常由晶体震荡器一类电路提供恒定频率的电脉冲来担当。Jump to first page可编程定时器和计数器可编程定时器和计数器 8253CLOCKD7 D0 计数器0计数器1计数器2GATEOUT数据总线缓冲器读/写逻辑控制寄存器A1A0RDWR
限制150内