微机原理与接口技术.ppt_第1页
微机原理与接口技术.ppt_第2页
微机原理与接口技术.ppt_第3页
微机原理与接口技术.ppt_第4页
微机原理与接口技术.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第六章 输入输出和中断技术,本章内容,基本概念 I/O端口的编址 输入输出的基本方法:无条件、查询、中断、DMA 中断 中断基本概念 8086/8088中断系统 8259中断控制器 DMA DMA的基本概念 DMA工作过程 DMA的三种传输方式,6.1 输入/输出接口(I/O接口),6.1.1 概述 什么是I/O接口? 把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。,I/O接口要解决的问题,速度匹配(Buffer) 信号电平和驱动能力(电平转换器、驱动器) 信号形式匹配(A/D、D/A) 信息格式(字节流、块、数据包、帧) 时序匹配(定时关系),I/O接口的功能,I/O地址译码与设备选择。 把选中的与总线相接,未选中的与总线隔离(高阻态) 信息的输入输出。 缓解接口与CPU工作速度的差异 命令、数据和状态的缓冲与锁存。 信息转换。 形式、格式、电平、功率、码制等,6.1.2 I/O接口的编址方式,I/O端口:I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。 不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号称为端口地址(或端口号、接口地址)。 端口有两种编址方式:统一编址和独立编址。,1. 统一编址,把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。 优点 指令统一,灵活; 访问控制信号统一。 缺点 内存可用地址空间减小,2. 独立编址,外设地址空间和内存地址空间相互独立。 优点:内存地址空间不受I/O编址的影响 缺点:I/O指令功能较弱,8088/8086 CPU的I/O编址方式,8088/8086 CPU的I/O编址方式 采用I/O独立编址方式(但地址线与存储器共用) 地址线上的地址信号的区分: 最小模式:IO/M=1时为I/O地址 最大模式:#IO/R与#I/OW有效时为I/O地址 I/O操作使用20根地址线中的16根: A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH,6.1.4 I/O数据传送方式,并行传送方式 速度快、效率高 硬件造价高、电缆成本高 短距离 串行传送方式 速度较慢 造价低 长距离,62简单接口电路,三态门接口 锁存器,621接口电路的基本结构,接口种类,输入接口 将外设信息传送给CPU的接口。要有控制和缓存能力,如74LS244、74LS374。 输出接口 将CPU的信息输出给外设。为使数据正确的写入外设,要求输出接口有锁存能力。保存到外设取走。如74LS273、74LS374。,622三态门接口,接口芯片74LS244由8个三态门构成: 20脚 控制端#E1 #E2,分别控制每边4个三态门 #E1 #E2低电平,三态门导通,否则,三态门呈高阻,使其与数据总线断开。 用作输入接口(要求外设有信号保持能力)。 无信号保持能力,芯片引脚图,应用举例 用一片74LS244作为输入接口,例61编写程序判断图中开关的状态。如果所有的开关都闭合,则程序转向NEXT1,否则转向NEXT2。,应用举例图,编程如下,MOV DX,83FCH IN AL,DX AND AL,0FFH JZ NEXT1 JMP NEXT2,623 锁存器接口芯片,74LS273内部包含了8个D触发器 输入端D0-D7 输出端Q0-Q7 CLR清0端,低电平有效 CP 脉冲输入端,74LS273 8D触发器,624 简单接口应用举例,利用简单接口74LS273作为输入输出接口,通过程序控制7段显示器显示数据。 用74LS273作为输出接口,把数据送到7段数码管 74LS273的地址假设为F0H 用74LS244作为输入口,读入开关K0K3的状态 74LS244的地址假设为F1H 当开关的状态分别为00001111时,在7段数码管上对应显示0F,LED数码管,分共阳极和共阴极 发光管上有电流流过则对应的段亮 根据不同的段组合显示除不同的字,7段码表,O1 I1 O2 I2 O3 I3 O4 I4 E1#,K0K3,+5V,G G2A G2B C B A,1,74LS244,D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7,a b c d e f g DP,7406,反相器,74LS273,Rx8,1,74LS138,D0D7,IOW#,IOR#,Y0,Y1,F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001,&,1,A7A4,A15A8,A3,A2,A1,A0,D0,D1,D2,D3,译码器,程序, Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H LEA BX, Seg7 ;取7段码表基地址 MOV AH, 0 GO: MOV DX, 0F1H ;开关接口的地址为F1H IN AL, DX ;读入开关状态 AND AL, 0FH ;保留低4位 MOV SI, AX ;作为7段码表的表内位移量 MOV AL, BX+SI ;取7段码 MOV DX, 0F0H ;7段数码管接口的地址为F0H OUT DX, AL JMP GO,63输入输出控制方式,主要有4种控制方式: 无条件传输 查询方式 中断方式 直接存储器存取方式,6.3.1 无条件传送方式,适用于总是处于准备好状态的外设 以下外设可采用无条件传送方式: 开关 发光器件(如发光二极管、7段数码管、灯泡等) 步进电机 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄,6.3.2 查询方式,适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。 CPU在与外设交换数据前必须询问外设状态“你准备好没有?” 对外设的要求:应提供设备状态信息 对接口的要求:需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差,速度较慢,查询方式的流程图,超时?,READY?,与外设进 行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,传送完?,防止死循环,复位计时器,N,Y,注:多个外设时,查询流程见教材图6.15,6.3.3 中断方式,CPU无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。 优点:CPU效率高,实时性好,速度快。 缺点:程序编制较为复杂。,6.3.4 DMA传输,前面三种I/O方式都需要CPU作为中介: 外设 CPU 内存 两个含义: 1)软件:外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式); 2)硬件:I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒)解决:DMA传输,DMA传输,外设 内存 外设直接与存储器进行数据交换 ,CPU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。 优点:数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒),DMA传送原理示意图,系统总线,CPU,DMAC,存储器,外设接口,DEN,IOW,MEMW,MEMR,IOR,MEMW,MEMR,IOW,IOR,DEN,HOLD,HLDA,DRQ,DACK,DEN,IOW,IOR,MEMW,MEMR, 外设发出DMAC请求(DRQ) DMAC向CPU申请总线(HOLD) CPU响应(HLDA),释放总线控制权 DMAC得到总线控制权,并向外设发出DACK 由DMAC发出各种控制信号,控制外设与 存储器之间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线,6.4 中断技术,6.4.1 中断的基本概念 什么是中断? 与生活场景的比较,正在看书,电话铃响,接电话,继续看书,执行程序,事件发生,事件处理,继续执行程序,中断处理,中断请求及响应,实际场景,计算机,中断返回,中断的定义,CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,中断源,引起CPU中断的事件中断源。例如: 外设请求输入输出数据,报告故障等 事件掉电、硬件故障、软件错误、非法操作、定时时间到等 中断源分为:外部中断、内部中断 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断 8086/8088的外部中断信号:INTR、NMI INTR可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。 NMI非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。,中断过程,五个步骤: 中断请求 中断判优 中断响应 中断服务 中断返回 以下以外部中断为主介绍这五个步骤。,1)中断请求,外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚; 中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。,2)中断判优,多个中断源产生中断,CPU首先为谁服务? 中断优先级排队问题。 中断优先级控制要处理两种情况: 对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理; 对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。,优先级的控制与处理,中断优先级的控制方法 软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高) 硬件判优链式判优、并行判优(中断向量法),3)中断响应-条件,在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成立,则CPU响应中断: 当前指令执行完。 对INTR,CPU应处于开中断状态,即IF=1; 当前没有复位(RESET)和保持(HOLD)信号。 特殊指令STI、IRET执行后在执行一条指令。,中断响应-过程,CPU中断响应时,要做下述三项工作: 向中断源发出# INTA中断响应信号; 断点保护,包括CS、IP和FLAGS。 这主要是保证中断结束后 能返回被中断的程序。 获得中断服务程序首地址(入口)。,4)中断处理(中断服务),中断服务子程序特点 为”远”过程(类型为FAR) 要用IRET指令返回 中断服务子程序要做的工作 保护现场(PUSH regs) 开中断(STI) 进行中断处理 关中断(CLI) 恢复现场(POP regs),5)中断返回,执行中断返回指令IRET IRET指令将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。,6.4.2 8088的中断系统,与中断有关的控制线为:NMI、INTR、 # INTA,8088系统的中断源,内部中断 除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。 单步中断:类型号1,TF=1时产生(当前指令需执行完) 断点中断:类型号3,这是一个软件中断,即INT 3指令。 溢出中断:类型号4,这是一个软件中断,即INTO指令。 软件中断:即INT n指令,类型号n(0-255)。 外部中断 非屏蔽中断NMI:类型号2,不可用软件屏蔽,CPU必须响应它。 可屏蔽中断INTR:类型号由PIC提供。IF=1时CPU才能响应。,8086/8088中断源类型,NMI,INTR,中断逻辑,软件中断指令,溢出中断,除法错,单步中断,非屏蔽中断请求,中断控 制器 8259A PIC,8086/8088CPU内部逻辑,断点中断,n,4,3,0,1,2,可屏蔽中断请求,8088系统采用中断类型(向量)码来识别不同的中断源,每个中断源都有一个与它相对应的中断类型码 。 溢出、断点、除法溢出、单步、非屏蔽中断的类型码为固定值 软件中断的类型码由指令给出 可屏蔽中断的类型码由PIC给出 CPU响应INTR中断时,会产生两个中断响应总线周期(教材图6-24),要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上,供CPU读入。,中断向量表,存放各类中断的中断服务程序的入口地址(段和偏移) 表的地址位于内存的00000H003FFH,大小为1KB,共256个入口 每个入口占用4 Bytes,低字为段内偏移,高字为段基址 根据中断类型号获得中断服务程序入口的方法: (n为中断类型号) 中断向量在IVT中的存放地址4n,8086/8088 CPU的中断响应过程,内部中断响应过程 无INTA#周期 中断类型码固定或由指令给出 响应过程步骤: entrance=n*4 PUSH FLAG CLEAR IF,TF PUSH CS PUSH IP (I P)=( entrance +1):( entrance +0) (CS)=( entrance +3):( entrance +2),中断响应过程(续),外部中断响应过程 非屏蔽中断,与内部中断响应过程类似 可屏蔽中断(时序见教材图6.24) # INTA(1),PIC进行优先级排队判优处理 # INTA(2),PIC把中断类型码放到DB上,由CPU读入 entrance =n*4 PUSH FLAG CLEAR IF,TF PUSH CS PUSH IP (I P)=( entrance +1):( entrance +0) (CS)=( entrance +3):( entrance +2),8088系统中各中断的优先级,优先级从高到低顺序如下: 内部中断 NMI INTR 单步中断,6.5 可编程中断控制器8259A,PIC,Programmable Interrupt Controller 可对8个中断源实现优先级控制 可扩展至对64个中断源实现优先级控制 可编程设置不同工作方式 根据中断源向x86提供不同中断类型码,8259A 引脚,8259A 是 28 脚双列直插式封装 D0-D7 数据线:控制字,命令字,中断向量 CS 片选信号 A0 片内寄存器的编址地址线 WR 写信号,低电平有效允许处理器写初始化命令字 ICW 和操作命令自 OCW 。 RD 读信号,低电平有效可读出 IRR ISR IMR 的内容及中断类型码。,IR0-IR7 中断请求信号线 INT 中断请求输出信号 INTA 中断允许信号 SP/EN主从控制信号 SP=1 8259A 为主片, SP=0 8259A 为从片。 CAS0-CAS2-多片连接线主片时为输出。从片时为输入。,6.5.18259A的内部结构,中断请求寄存器IRR 保存从IR0IR7来的中断请求信号,某位=1表示对

温馨提示

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

评论

0/150

提交评论