微机原理周荷琴版.ppt_第1页
微机原理周荷琴版.ppt_第2页
微机原理周荷琴版.ppt_第3页
微机原理周荷琴版.ppt_第4页
微机原理周荷琴版.ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

第六章 输入输出和中断技术,主要内容,I/O接口的基本概念 CPU与I/O的控制方式 中断的基本概念 8086中断系统 中断控制器8259,6.1 输入输出接口,主要内容: I/O接口与I/O端口的概念 I/O端口的编址方式 I/O端口的地址译码 I/O数据的传送方式,一、I/O接口与端口,I/O接口(Interface): 将外设连接到总线上的一组逻辑电路的总称 实现外设与主机之间的信息交换 I/O端口(Port): 接口中的寄存器(数据端口、控制端口、状态端口),2019/5/18,接口举例:,I/O接口的基本结构,CPU,I/O 设备,译码,数据端口,状态端口,控制端口,DB,AB,CB,I/O接口,CPU与外设之间的信息,CPU,数据,状态,控制,外设,D0-Dn,Ready、Busy,Start、STB,I/O接口,I/O接口要解决的问题,速度不匹配 信号电平不匹配 信息格式不匹配 时序不匹配 信号的驱动能力,I/O接口的功能,设置数据缓冲以解决两者速度差异 设置信号电平转换电路 设置信息转换逻辑以满足对各自格式的要求 设置时序控制电路来同步CPU和外设的工作 提供地址译码电路 提供联络信号 最好是可编程控制,二、I/O端口的编址方式,数据端口 状态端口 控制端口,端 口,控制端口,1、端口与内存统一编址(存储器映象),特点: 指令及控制信号统一,无需专门指令 内存地址资源减少 无法区分是对内存还是对I/O操作 MC6800、MCS-51,内存 地址 960KB,I/O地址 64KB,00000H,F0000H,FFFFFH,2、端口独立编址(I/O映象),特点: 内存地址资源充分利用 需专门的访问端口的指令:IN、OUT 80X86、Z80系列,内存 地址,I/O 地址,00000H,FFFFFH,FFFFH,0000H,8086与存储器及I/O端口连接相关信号线 RD、WR、M/IO、A19-A0,8 0 8 6 总 线,A19-A0,A15-A0,MEMR、MEMW,IOR、IOW 、ALE,存储器,输入/输出,8086的I/O端口编址,采用I/O独立编址方式(但地址线与存储器共用) 地址线上的地址信号用M/IO来区分 I/O操作只使用20根地址线中的16根:A15A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),其中0 FF为直接寻址范围。,三、I/O地址的译码,目的: 确定端口的地址 参加译码的信号: IOR、IOW、A15 A0 OUT指令将使总线的IOW信号有效 IN指令将使总线的IOR信号有效,I/O地址的译码,当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口;当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地址),而低位则用于确定要访问哪一个端口。,A Y0 B Y1 C Y2 Y3 Y4 G2B Y5 G2A Y6 G1 Y7,A5,A6,A8,74LS138,A7,A9,AEN,PPICS,T/C CS,INTRCS,DMACS,IOW,WRTDMAPG(写DMA页面寄存器),WRTNMIREG(写NMI屏蔽寄存器),IBM PC/XT 片选信号的产生,(8237) (8259A) (8253) (8255A),IBM PC/XT 系统板I/O端口地址分配,扩展槽I/O端口地址分配,四、I/O数据的传送方式,1、并行传送方式: 同一时刻传送多位数据。 优点:传送速度快、效率高。 缺点:传输距离短(成本、线间干扰) 2、串行传送方式:将数据一位一位地传送。 优点:传输线少,成本较低。适合于远距离传输。 缺点:传送速度慢。,3、并行接口与串行接口,CPU,接口,外设,.,CPU,接口,外设,并行,串行,速度快,成本高 适合近距离,速度慢,成本低 适合长距离,并口,串口,6.2 简单的输入输出接口芯片,掌握: 接口电路的分类及特点 两类简单接口芯片的应用,一、接口的基本构成,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器 (or 三态门),数据输出寄存器 (锁存器),状态寄存器 (or 三态门),命令寄存器,译码 电路,控制 逻辑,二、接口的类型及特点,输入接口 输出接口,接 口,接口特点,输入接口: 要求对数据具有控制能力(常用三态门实现) 输出接口: 要求对数据具有锁存能力(常用锁存器实现),三、三态门接口,高电平、低电平、高阻态,导通,高阻,三态门接口,三态门的工作波形:,A0A15,IOR,译码输出,D0D7,开关状态,地址有效,74LS244(单向数据驱动器),74LS244逻辑功能和引脚图见教材P241 含8个三态门的集成电路芯片 分两组,1G控制1A1-1A4,2G控制2A1-2A4 在外设具有数据保持能力时用作输入接口 为单向数据缓冲器,常用作地址驱动。,74LS245(双向数据总线缓冲器),74LS245逻辑功能和引脚图见教材P242 含8个三态门的集成电路芯片 除门控信号G外,有一方向控制端DIR DIR=1,An Bn(n=18) DIR=0,反方向传递 常用于数据的双向传送、缓冲和驱动,三态门接口应用例,D0D7,A0,A12,WE,OE,READY/BUSY,A0,A12,MEMW,MEMR,高位地址信号,D0D7,D0,380H,CE,译码,IOR,74LS373(锁存器),逻辑图和真值表见P243 由D触发器构成 可直接挂到总线上 具有对数据的锁存能力 具有三态总线驱动能力,74LS373真值表,锁存器芯片74LS373,D0D7,Q0,Q7,. . .,OE,CP,译码器,Q0Q7,D0,D7,. . .,OE,CP,译码器,做输出口:,做输入口:,外设,自外设,6.3 CPU与I/O的控制方式,无条件传送 查询式传送 中断方式传送 直接存储器存取(DMA)方式,程序控制方式,一、无条件传送,适用于总是处于准备好状态的外设 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较 窄,无条件传送例,读取开关的状态 当开关闭合时,输出发光二极管亮 程序段: MOV DX,38F0H IN AL,DX MOV DX,38F3H OUT DX,AL,D,CP,Q,D0,D0,输出口地址38F3H,输入口地址38F0H,+5V,1,K,74LS06,二、查询工作方式,适用场合: 外设并不总是准备好 对传送速率和效率要求不高 对外设及接口的要求: 外设应提供设备状态信息 接口应具备状态端口,查询工作方式,优点:软件比较简单 缺点:CPU效率低,数据传送的实时性 差,速度较慢,查询工作方式例,外设状态端口地址为03FBH,第5位(bit5)为状态标志(=1忙,=0准备好) 外设数据端口地址为03F8H,写入数据会使状态标志置1 ;外设把数据读走后又把它置0。 试画出其电路图,并将DATA下100B数输出,D5,D7-D0,A9 | A3,1,&,A15 | A10,1,IOW,D7-D0,3F8H,外设,D7 D6 D5 D4 D3 D2 D1 D0,BUSY,CP,Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0,状态端口,G G2A G2B C B A,A2 A1 A0,74LS138,Y0,1,IOR,Y3,OE,74LS374,3FBH,程序段?,三、中断控制方式,特点: 外设在需要时向CPU提出请求,CPU再去为它服务。服务结束后或在外设不需要时,CPU可执行自己的程序 优点:CPU效率高,实时性好,速度快 缺点:程序编制较为复杂 要有中断控制电路,硬件电路复杂,以上三种I/O方式的共性,均需CPU作为中介: 软件: 外设与内存之间的数据传送是通过CPU执行 程序来完成的(PIO方式) 硬件: I/O接口和存储器的读写控制信号、地址信号 都是由CPU发出的 缺点:程序的执行速度限定了传送的最大速度(约 为几十KB/s),四、DMA控制方式,特点: 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供,DMA控制方式,DMAC,外设 接口,CPU,QRD,MEM,DACK,HOLD,HLDA,BUS,控制信号,CPU,外设,存储器,总线,两种不同的数据传送路径,DMA控制方式的工作过程,外设向DMA控制器发出“DMA传送请求”信号DRQ DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD CPU在完成当前总线周期后会立即发出HLDA 信号,对HOLD信号进行响应 DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK,DMA控制方式的工作过程,DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送 例:从外设向内存传送一个字节 DMAC向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号。,DMA控制方式的工作过程,DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,DMA控制方式,优点: 数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/s),6.4 中断技术,掌握: 中断的基本概念 中断响应的一般过程 中断向量表及其初始化 8088/8086中断系统,一、中断的基本概念,中断的定义: CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,中断源 :,能引起中断的外部设备或内部原因称为中断源。 种类: (1)一般的输入/输出设备; (2)实时时钟; (3)故障源; (4)软件中断。,引入中断的原因,提高数据传输率 避免了CPU不断检测外设状态的过程,提高了CPU的利用率 实现对特殊事件的实时响应,中断系统,能实现中断响应、中断服务和中断返回 能实现中断优先权排队 能实现中断嵌套,外部中断响应的一般过程,中断请求 中断判优及中断源识别 中断响应 中断处理(服务) 中断返回,中断请求,中断请求信号应保持到中断被处理为止 CPU响应中断后,中断请求信号应及时撤销,NMI INTR,中断源识别,软件查询法 中断矢量法。由中断源提供中断类型号,CPU根据类型确定中断源,中断判优要解决的问题,对同时产生的中断: 首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则 对非同时产生的中断: 低优先级的中断程序允许被高优先级的中断源所中断,中断判优控制方法,软件判优 顺序查询中断请求,先查询的先服务 (即先查询的优先级别高) 硬件判优 链式判优、中断向量法(并行判优),软件查询接口电路,当CPU响应中断请求进入中断处理程序后,必须在中断处理程序的开始部分安排一段带优先级的查询程序,查询的先后顺序就体现了不同设备的中断优先级,即先查的设备具有较高的优先级,后查的设备具有较低的优先级。 一般来说总是先查速度较快或是实时性较高的设备。 软件查询的流程如下图所示。,软件查询流程图,菊花链优先级排队电路 菊花链优先级排队电路是一种优先级管理的简单硬件方案。它是在每个设备接口设置一个简单的逻辑电路,以便根据优先级顺序来传递或截留CPU发出的中断响应信号INTA,以实现响应中断的优先顺序。 各个外设的中断优先权由其在链中的位置决定,处于菊花链前端的比处于链条后端的优先权高。,中断优先级硬件实现电路(菊花链),中断响应的条件,外设提出中断申请 本中断未被屏蔽 中断允许(STI),中断响应,向中断源发出INTA中断响应信号; 保护断点。包括FLAGS、 CS和IP 获得中断服务程序入口地址,固定入口法 中断向量法,中断处理,中断服务子程序的特点: 为“远过程” 用IRET指令返回,中断服务子程序完成的工作,保护现场 开中断(STI)允许中断嵌套 中断处理 关中断(CLI) 恢复现场 中断返回,中断返回,执行IRET指令,使IP、CS和FLAGS从堆栈弹出,二、8088/8086中断系统,内部中断 外部中断,除法错中断 溢出中断 单步中断 软件中断,非屏蔽中断(NMI) 可屏蔽中断(INTR),256个中断源,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控 制器 8259A PIC,8086/8088CPU内部逻辑,断点中断,可 屏 蔽 中 断 请 求,n,4,3,0,1,2,1、8086/8088中断源类型,2、中断处理过程,中断响应周期: 当: CPU收到INT中断请求 前一条指令执行完,且中断标志位IF=1 那么:CPU进入中断响应周期,它通过总线控制器发出二个连续中断应答信号完成一个中断响应周期。,在中断响应周期两个工作: 1.第一个INTA脉冲时,CPU产生LOCK信号,使总线处于封锁状态,防止DMA占用总线。,2.第二个INTA时,LOCK撤除,总线解封。,CPU响应外部中断的过程(自动完成),从数据总线上读取中断类型号,将其存入内部暂存器 将标志寄存器PSW的值入栈 将PSW中的IF、TF清0 将当前CS、IP入栈(保护断点) 根据中断类型号到中断向量表中找到中断向量,转入相应的中断服务程序 中断结束后从堆栈中依次弹出IP、CS和PSW,回到主程序断点处继续执行原来的程序,书p302 第10 题,给定sp=0100h,ss=0500h,psw=0240h,在存储单元中已有内容为(00024h)=0060h (00026h)=1000h 在段地址为0800h及偏移地址为00a0h的单元中,有一条中断指令:int 9 试问:在执行该指令后,ss、sp、ip和psw的内容为多少?栈顶的三个字是什么?,中断向量表,存放各类中断的中断服务程序的入口地址 每个入口占用4 B,低字为段内偏移,高字为段基址 表的地址位于内存的00000H003FFH,大小为1KB,共256个入口,中断向量表,00000H,003FFH,1KB,中断向量和中断向量表,中断向量:中断服务程序的入口地址,中断向量表:,将中断向量按一定规律 排列成的表。,中断向量表的初始化,将用户自定义的中断服务程序入口地址放入向量表 例:将中断向量码为60H的服务程序入口地址放入向量表,中断向量表的初始化(直接装入法),MOV AX,0000H MOV DS,AX MOV SI,0180H MOV BX,OFFSET INT1 MOV SI,BX MOV BX,SEG INT1 MOV SI+2,BX,DOS系统功能调用法 功能号:(AH)=25H。 入口参数:(AL)=中断类型号 (DS)=中断服务程序入口地址的段地址 (DX)=中断服务程序入口地址的偏移地址,下面程序段完成中断类型号为60H的入口地址置入。 PUSH DS ;保护DS MOV DX,OFFSET INT60 ;取服务程序偏移地址 MOV AX,SEG INT60 ;取服务程序段地址 MOV DS,AX MOV AH,25H ;送功能号 MOV AL,60H ;送中断类型号 INT 21H ;DOS功能调用 POP DS ;恢复DS,取中断向量 功能号:(AH)=35H。 入口参数:(AL)=中断类型号 出口参数:ES:BX=中断服务程序入口地址。,8086内部中断响应过程,特点: 无INTA周期 中断类型码固定或由指令给出,8086内部中断响应过程,响应过程步骤: PUSH FLAG LET TEMP = TF CLEAR IF,TF PUSH CS PUSH IP (I P)=(TYPE*4+0) (CS)=(TYPE*4+2),8088/8086中断系统的优先级,优先级从高到低的顺序为: 内部中断 NMI中断 INTR中断 单步中断,中断处理过程,当NMI、INTR、单步和除法错中断同时产生时,响应顺序为:,响应除法错中断,响应NMI中断,响应INTR中断,响应单步中断,级别高的中断可以中断级别低的中断服务程序,P268,中断服务程序设计举例,例:编制中断处理程序,要求主程序运行时,每10秒屏幕上显示信息“The bell is ring!” 方法:利用中断类型1CH进行处理。因为系统定时器(中断类型8)的中断处理程序中,时钟中断一次(约18.2次/秒)要调用一次INT 1CH。在ROM BIOS中,1CH的中断处理程序只有一条IRET指令,仅为用户提供一个中断类型号。这样可以利用系统定时器的中断间隔,将用户设计的程序来代替原有的INT 1CH程序。,Data segment count dw 182 mess db The bell is ring!,0ah,0dh,$ Data ends Stack segment db 100 dup(?) Stack ends Code segment Main proc far assume cs:code,ds:data,ss:stack Start: mov ax,stack mov ss,ax,push ds sub ax,ax push ax mov ax,data mov ds,ax mov ax,351ch 取原中断向量

温馨提示

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

评论

0/150

提交评论