微机原理基本输入输出接口_第1页
微机原理基本输入输出接口_第2页
微机原理基本输入输出接口_第3页
微机原理基本输入输出接口_第4页
微机原理基本输入输出接口_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、1,第6章 基本输入输出接口,教学重点 I/O接口电路的典型结构 无条件传送方式 查询传送方式 中断工作过程,2,6.1 I/O接口概述,I/O设备有哪些? 为什么需要I/O接口(电路)? 微机的外部设备多种多样 工作原理、驱动方式、信息格式、以及工作速度方面彼此差别很大 它们不能与CPU直接相连,必须经过中间电路再与系统相连,3,6.1 I/O接口概述(续1),什么是I/O接口(电路)? I/O接口是位于系统与外设间、用来协助完成数据传送和控制任务的逻辑电路 主板上的可编程接口芯片、I/O总线插槽的接口卡电路板(适配器adapter)都是接口电路 接口一般还需要软件支持(编程):初始设置,工

2、作驱动,4,6.1 I/O接口概述(续2),什么是微机接口技术? 处理微机系统与外设间联系的技术 根据应用系统的需要,使用或构造相应的接口电路,编制配套的接口程序,5,6.1.1 I/O接口的主要功能, 对输入输出数据进行缓冲 驱动、隔离和锁存 对信号的形式和数据的格式进行变换 微机直接处理:数字量、开关量、脉冲量,而外设工作信号可能是如高电压、大电流的模拟信号,需要进行信号变换。 对I/O端口进行寻址 一个外设可以有多个端口 与CPU和I/O设备进行联络 外设状态,控制信号,外设请求,6,6.1.2 I/O接口的典型结构,控制总线CB,地址总线AB,I/O接口电路,数据,控制,状态,数据总线

3、DB,CPU,外设,控制寄存器,状态寄存器,数据寄存器,7,I/O接口的典型结构,1. 接口电路的内部结构 2. 接口电路的外部特性 3. 接口芯片的分类 4. 接口芯片的可编程性,8,1. 接口电路的内部结构,CPU与外设主要有数据、状态和控制信息需要相互交换,于是从应用角度看内部: 数据寄存器 保存外设给CPU和CPU发往外设的数据 状态寄存器 保存外设或接口电路的状态 控制寄存器 保存CPU给外设或接口电路的命令,9,2. 接口电路的外部特性,面向CPU一侧的信号(比较统一): 用于与CPU连接 主要是数据、地址和控制信号(与M类似) 面向外设一侧的信号(各不相同): 用于与外设连接 提

4、供的信号五花八门 功能定义、时序及有效电平等差异较大,10,3. 接口芯片的分类,接口电路核心部分往往是一块或数块大规模集成电路芯片(接口芯片): 通用接口芯片 支持通用的数据输入输出和控制的接口芯片,如8255 面向外设的专用接口芯片 针对某种外设设计、与该种外设接口,如8279(键盘/显示器接口芯片 面向微机系统的专用接口芯片 与CPU和系统配套使用,以增强其总体功能,如8259(中断控制器),8237(DMA控制器),8253(定时/计数器),11,4. 接口电路的可编程性(Programmable),许多接口电路具有多种功能和工作方式,可以通过编程的方法选定其中一种; 多数接口不仅需要

5、进行物理连接,还需要编写接口软件; 其工作方式和内部资源可通过编程加以控制,因此为接口设计和应用提供了更大的灵活性。,12,6.1.3 I/O端口的编址,接口电路占用的I/O端口有两类编排形式 I/O端口单独编址 I/O地址空间独立于存储地址空间 如8086/8088 I/O端口与存储器统一编址 它们共享一个地址空间 如M6800(Motrola),13,I/O端口单独编址,优点: I/O端口的地址空间独立 控制和地址译码电路相对简单 专门的I/O指令使程序清晰易读 缺点: I/O指令没有存储器指令丰富,80 x86采用I/O端口独立编址,参见P14,14,I/O端口与存储器统一编址,优点:

6、不需要专门的I/O指令 I/O数据存取与存储器数据存取一样灵活 缺点: I/O端口要占去部分存储器地址空间 程序不易阅读(不易分清访存和访问外设),内存 部分,I/O 部分,存储空间,0,FFFFF,15,6.1.4 8088/8086的输入输出指令,输入指令 IN AL,i8/DX ; 字节输入 IN AX,i8/DX ; 字输入 输出指令 OUT i8/DX, AL ; 字节输出 OUT i8/DX,AX;字输出,16,6.1.5 I/O地址的译码,I/O地址的译码方法与存储器地址的译码方法一样,但有它的特点: 允许“浪费” 不强调地址的连续性,因为各外设的操作相对独立,且访问频率远低于存

7、储器,例:书P157,图6-2,17,用门电路实现I/O地址译码,A9 A8 A7 A6 A5 A2 A4 A3 AEN A1 A0,74LS30(8输入与非门),I/O地址3E7H,A9-A0:1111100111B,18,用跳线和拨动开关设置接口地址的例子(P158),19,IBM PC/XT主机板的I/O译码电路,Y0 Y1 Y2 Y3 Y4 Y5,Y6 Y7,A5 A6 A7,A8 A9 -AEN,-IOW,A B C,-E1 -E2 E3,74LS138,-DMA CS(8237) -INTR CS(8259) -T/C CS(8253) -PPI CS(8255),-WRTDMAP

8、G (写DMA页面寄存器),-WRTNMIREG (写NMI屏蔽寄存器),-AEN:DMA地址有效,20,IBM PC/AT主机板的I/O译码电路,接口芯片内部译码,A0A4,DMA控制器1 中断控制器1 定时计数器 并行接口电路 DMA页面寄存器 中断控制器2 DMA控制器2 协处理器,A5 A6 A7 A8 A9,138译码器,HLDA MASTER,Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7,HLDA和MASTER有效,表示别的设备控制总线,CPU不能寻址I/O,21,6.1.6 CPU与外设的数据传送方式,程序控制下的数据传送通过CPU执行程序中的I/O指令来完成传送,又分为: 无

9、条件传送 查询传送 中断传送 直接存储器存取(DMA)传送请求由外设向DMA控制器(DMAC)提出,后者向CPU申请总线,最后DMAC利用系统总线来完成外设和存储器间的数据传送 I/O处理机CPU委托专门的I/O处理机来管理外设,完成传送和相应的数据处理,22,6.2 无条件传送方式及其接口,在CPU与慢速变化的设备交换数据时,可以认为它们总是处于“就绪”状态,随时可以进行数据传送,这就是无条件传送,或称立即传送、同步传送 适合于简单设备,如LED 数码管、按键/按钮等 无条件传送的接口和操作均十分简单 这种传送有前提:外设必须随时处于就绪状态,传送流程,接口实例,23,无条件传送:输入示例,

10、IOR,三态缓冲器,OE,I/O装置,地址译码器,CS,D7D0,A15A1,A0,0160H,MOV DX, 160H IN AL, DX,24,无条件传送:输入示例,MOV DX, 160H IN AL, DX,74LS244,+5V,10K x 8,G1 G2,数据总线,CS,RD,25,无条件传送:输出示例,地址译码器,数据锁存器,A15,A0A14,CS,0160H,输出设备,D7D0,MOV DX, 160H MOV AL, BX OUT DX, AL,26,无条件传送:输出实例,MOV DX, 160H MOV AL, BX OUT DX, AL,+5V,74LS373,300

11、x 8,LE OE,数据总线,CS,WR,27,无条件传送:输入输出接口,K7,K1,K0,+5V,D0D7,A0A15,CLK,74LS06 反相 驱动器,74LS273 8D 锁存器,74LS244 三态 缓冲器,8000H,译码,+5V,LED0,LED7,-G,-IOW,-IOR,两个端口地址共用8000H,怎么区分?,28,无条件传送:输入输出接口,next:mov dx,8000h;DX指向数据端口 in al,dx;从输入端口读开关状态 not al;反相 out dx,al;送输出端口显示 call delay;调子程序延时 jmp next;重复,程序执行效果?K0闭合,LE

12、D0亮还是灭?,29,6.3 查询传送方式及其接口,CPU先了解(查询)外设的工作状态,在外设就绪(可以交换信息的情况下)实现数据的输入或输出 对多个外设的情况,则CPU按一定顺序依次查询(轮询)。先查询的外设将优先进行数据交换 查询传送的特点是:工作可靠,适用面宽,但传送效率低,30,查询传送的两个环节,查询环节 寻址状态口 读取状态寄存器的标志位 若不就绪就继续查询,直至就绪 传送环节 寻址数据口 是输入,通过输入指令从数据口读入数据 是输出,通过输出指令向数据口输出数据,接口实例,31,6.3.1 查询输入接口,-IOR,+5V,8D 锁存器,8位 三态 缓冲器,译码,1位 三态 缓冲器

13、,A0A15,8000H,8001H,D0D7,D0,输入 设备,-IOR,-STB,R,Q,D,两次读入数据:1、D0(状态口), 2、D0-D7(数据口),32,查询输入接口,mov dx,8000h;DX指向状态端口 status: in al,dx ;读状态端口 test al,01h ;测试标志位D0(al 从数据端口输入数据,33,6.3.2 查询输出接口,8D 锁存器,译码,1位 三态 缓冲器,R,Q,A0A15,8000H,8001H,D0D7,D7,D,+5V,-ACK,-IOW,-IOR,输出 设备,状态口,34,查询输出接口,mov dx,8000h;DX指向状态端口 s

14、tatus:in al,dx;读取状态端口的状态数据 test al,80h;测试标志位D7 jnz status;D71,未就绪,继续查询 inc dx;D70,就绪,DX指向数据端口 mov al,buf;变量buf送AL out dx,al;将数据输出给数据端口,35,6.4 中断传送方式,程序 断点,主程序,中断请求,为外设,继续执行,返回断点,传送流程,CPU在执行程序中,被内部或外部的事件所打断,转去执行一段预先安排好的中断服务程序; 服务结束后,又返回原来的断点,继续执行原来的程序,提供服务,中断服务程序入口,36,6.4.1 中断传送与接口,中断传送是一种效率更高的程序传送方式

15、; 中断过程的完成由中断系统(硬件,如8259;当然还需要CPU)和中断服务程序(软件)共同控制完成; 进行传送的中断服务程序是预先设计好的,其入口地址已知; 中断请求是外设随机向CPU提出的(时间随机);程序执行到何位置(断点)也是随机的(地点随机);,37,中断可能来自CPU内部,也可能来自CPU外部 外部中断可分为可屏蔽中断和不可屏蔽中断 可屏蔽中断:INTR引入;-INTA响应。CPU可通过设置IF=1(开中断) 和IF=0(关中断)决定是否响应。 不可屏蔽中断:NMI。必须响应,直接激活中服,如电源掉电、奇偶校验出错、浮点运算出错等。,38,CPU对中断请求的检测是有规律的:一般是在

16、每条指令的最后一个时钟周期采样中断请求输入引脚 本书主要论述中断在输入和输出方面的应用:即中断传送 中断还有着非常广泛的应用,如程序调试(软中断)等;时钟中断:多道程序并发执行的推动力,39,三态 缓冲器,中断输入接口(向量中断),D0D7,+5V,8D 锁存器,8位 三态 缓冲器,R,Q,译码,8001H,中断向量号(8259提供),D0D7,INTR,D,输入 设备,中断允许 触发器,A0A15,中断请求 触发器,-IOR,-INTA,-STB,数据口,1、数据准备好,产生中断请求信号,2、CPU响应中断,接收中断向量号,3、根据中断向量,找到中服程序,读取数据,40,?中断向量如何获取,

17、中断向量表:在内存的前1K字节,可容纳256个中断向量;每个中断向量占用4个字节,用于存储对应中断源的服务程序入口地址。一部分为系统保留,其余用户可用,可作为外部中断源向量。每个中断向量,即一个1字节的中断类型码(00HFFH),比如88H。,41,6.4.2 中断工作过程(可屏蔽),中断请求(外设) 中断响应(CPU) 关中断(CPU) 断点保护(CPU) 中断识别(硬件/软件),现场保护(用户) 中断服务(用户) 恢复现场(用户) 开中断(CPU/用户) 中断返回(IRET,用户),中断服务是进行数据交换的实质性环节,42,CPU响应中断的条件,中断请求时,没有更高级别的请求发生,如RES

18、ET、HOLD、NMI等; 中断请求应保持到它被响应为止;,43,断点保护与现场保护的不同,断点保护是CPU自动完成的,保护内容有:FLAGS、CS、IP等; 现场保护:用户根据需要在程序中施行,用PUSH。,44,6.4.3 中断识别和中断优先权处理,问题1: CPU如何识别中断源?,一个中断源:向量中断(硬件)P164,图6-12 多个中断源:中断查询(软/硬件结合),中断源的识别,45,中断查询接口,A0A15,锁 存 器,INTR,三态 缓冲器,译码,8001H,D0D7,中断A 中断B 中断C 中断H,-IOR,软件流程见图6-14,中服程序依次查询中断A-H,看有否发出申请,先查的

19、优先级高,46,6.4.3 中断优先权(续1),问题2:有多个中断同时请求, CPU如何应对?,硬件方案 1:链式优先权排队电路 2:优先权编码电路,中断优先级排队,47,链式中断优先权排队电路,A2,A1,C2,C1,D2,D1,B2,B1,中断源A,触发器,中断源B,触发器,中断源C,触发器,中断矢量D,中断矢量C,中断矢量B,中断矢量A,中断源D,触发器,缓冲器,缓冲器,缓冲器,缓冲器,-INTA,高优先级,INTR,D0D7,1、产生请求信号,2、关闭B2,3、送出中断矢量,48,中断优先权编码电路,比较器失效信号 (当前无中断服务时有效),比较器,8:3 优先权 编码器,优先权 寄存

20、器,D0D7,2,1,AB,中断请求0 中断请求1 中断请求2,A0 A1 A2,INTR,B0 B1 B2,有中断请求,中断请求7,记录正在服务的中断编码,若无,则输出比较器失效信号,49,设中断源2有中断请求, 1、若当前没有中断服务 2、当前正在服务的是中断源1(优先级高于2) 3、当前正在服务的是中断源5(优先级低于2),50,6.4.3 中断优先权(续2),问题3:中断处理过程中, 又有中断提出请求,怎么办?,办法1:链式优先权排队电路 办法2:优先权编码电路,中断嵌套,51,6.5 DMA传送方式,希望克服程序控制传送的不足: 外设CPU存储器 外设CPU存储器 直接存储器存取DM

21、A:不经CPU,不用指令 外设存储器(DMA写) 外设存储器(DMA读) CPU出让系统总线(输出高阻),由DMA控制器(DMAC)接管系统总线,52,DMA传送特点:,DMAC同时访问存储器和I/O设备; 对一个对象读,必然对另一个对象写; 只对存储单元进行寻址,对I/O端口不寻址。,53,DMA传送的工作过程, CPU对DMA控制器进行初始化设置 外设、DMAC、CPU, 3者通过应答信号建立联系:CPU将总线暂交DMAC控制,事后再将控制权收回。 DMA传送 DMA读:存储器 外设 DMA写:存储器 外设 DMAC的功能: 对存储器寻址地址动加1/减1 计数器减1 判断传送是否完成,传送流程,54,DMA传送( 以DMA 写为例),-MEMW,-IOR,数据总线,地址总线,输入设备,存储器,DMAC,CPU,HOLD,HLDA,55,DMA传送流程,HLDA,发存储器地址,传送数据,传送结束?,DMA结

温馨提示

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

评论

0/150

提交评论