微机原理-第6章 输入输出和中断技术_第1页
微机原理-第6章 输入输出和中断技术_第2页
微机原理-第6章 输入输出和中断技术_第3页
微机原理-第6章 输入输出和中断技术_第4页
微机原理-第6章 输入输出和中断技术_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

1、第6章 输入输出和中断技术,主要内容,基本概念 I/O端口的编址 输入输出的基本方法:无条件、查询、中断、DMA 中断 中断基本概念 8086/8088中断系统 8259中断控制器* DMA* DMA的基本概念 DMA工作过程 DMA的三种传输方式, 6.1 输入/输出接口(I/O接口),概述 I/O接口的编址方式 I/O端口地址的译码 I/O数据的传送方式, 6.1.1 概述,I/O接口: 把外设连接到总线上的一组逻辑电路的总称。实现外设与主机之间的信息交换。 I/O接口需要解决的问题: 速度匹配(Buffer) 信号电平和驱动能力(电平转换器、驱动器) 信号形式匹配(A/D、D/A) 信息

2、格式(字节流、块、数据包、帧) 时序匹配(定时关系) 总线隔离(三态门),I/O接口的功能,I/O地址译码与设备选择 把选中的与总线相接,未选中的与总线隔离(高阻态) 数据的缓冲与暂存 缓解接口与CPU工作速度的差异 对外设进行监测、控制与管理,中断处理 信号电平与类型的转换 形式、格式、电平、功率、码制等,I/O端口 I/O信息的三种类型:数据、命令、状态。传送这三类信息的通道分别称为:数据端口(I、O)、命令端口(O)、状态端口(I)。 端口地址 不同外设具有的端口数各不相同,计算机中为每一个端口都赋予一个惟一编号称为端口地址(或端口号)。 端口编址方式 端口有两种编址方式:统一编址和独立

3、编址。, 6.1.2 I/O接口的编址方式,把外设接口与内存统一进行编址。各占据统一地址空间的不同部分。 优点: 指令统一,灵活; 访问控制信号统一,使用同一组的地址/控制信号。 缺点: 内存可用地址空间减小,0,地址空间(共1MB),内存地址 (960KB),I/O地址 (64KB),FFFFFH,EFFFFH F0000H,统一编址,外设地址空间和内存地址空间相互独立。 优点: 内存地址空间不受I/O编址的影响 缺点: I/O指令功能较弱,使用不同的读写控制信号,00000H,内存地址空间,内存空间 (1MB),I/O空间 (64KB),FFFFH,FFFFFH,I/O地址空间,0000H

4、,独立编址,8088/8086系统的编址方式,8088/8086 CPU的I/O编址方式,采用I/O独立编址方式(但地址线与存储器共用) 地址线上的地址信号用IO/#M来区分: I/O操作只使用20根地址线中的16根: A15 A0 可寻址的I/O端口数为64K(65536)个 I/O地址范围为0FFFFH IBM PC只使用了1024个I/O地址(03FFH),OUT指令 将使总线的#IOW信号有效 IN指令 将使总线的#IOR信号有效 译码方式 当接口只有一个端口时,16位地址线一般应全部参与译码,译码输出直接选择该端口; 当接口具有多个端口时,则16位地址线的高位参与译码(决定接口的基地

5、址),而低位则用于确定要访问哪一个端口。, 6.1.3 I/O端口地址的译码,I/O端口地址的译码举例,某外设接口有4个端口,地址为2F0H2F3H,则译码方式如何? 基地址为2F0H 由A1、A0确定4个端口中的某一个 由A15A2译码得到基地址,并行 一个数据单位(通常为字节)的各位同时传送 速度快、距离短、成本高 如:PC机的并行接口(通常用于连接打印机) 串行 数据按位进行传送 速度慢、距离远、成本低 如:PC机的串行接口(通常用于串行通信), 6.1.4 I/O数据的传送方式,接口电路的基本构成 三态门接口 简单接口的应用举例, 6.2 简单接口电路, 6.2.1 接口电路的基本结构

6、,数据线,控制线,状态线,DB,CB,AB,数据输入寄存器 (or 三态门),数据输出寄存器 (锁存器),状态寄存器 (or 三态门),命令寄存器,译码 电路,控制 逻辑,接外设,接主机,数据输入/输出寄存器 暂存输入/输出的数据 命令寄存器 存放控制命令,用来设定接口功能、工作参数和工作方式。 状态寄存器 保存外设当前状态,以供CPU读取。,接口电路电路的基本构成,简单接口电路,数据输入接口 必须具有三态输出能力,以便与总线挂接 外设有数据保持能力时可用三态门实现 外设无数据保持能力时用三态输出的锁存器实现 数据输出接口 常用锁存器实现,三态门:高电平、低电平、高阻态 通常一个器件中包含8个

7、三态门 常用芯片:74LS244(教材图6.3) 应用例子:开关接口 工作波形图, 6.2.2 三态门接口,输入接口举例,83FCH 83FFH,译码器,锁存器:由D触发器构成 通常一个器件包含8个D触发器 常用芯片:(教材图6.5、图6.6) 74LS273、74LS374(具有三态输出的锁存器,内部结构见图6.8) 应用例子:发光二极管接口,输出接口,译 码 器,D0 D7,CP,Q0,Q7,. . .,D0D7,A0A15,IOW#,74LS273,输入/输出接口举例,根据开关状态在7段数码管上显示数字或符号 共阳极7段数码管结构见教材图6.10 用74LS273作为输出接口,把数据送到

8、7段数码管,74LS273的地址假设为F0H 用74LS244作为输入口,读入开关K0K3的状态,74LS244的地址假设为F1H 当开关的状态分别为00001111时,在7段数码管上对应显示0F,7段码,O1 I1 O2 I2 O3 I3 O4 I4 #E1,G G2A G2B C B A,1,74LS244,D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7,74LS273,1,74LS138,D0D7,IOW#,IOR#,Y0,Y1,A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1A0 F0H =0 0 0 0 0 0 0 0 1 1 1

9、1 0 0 0 0 F1H =0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1,&,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,

10、BX+SI;取7段码 MOV DX, 0F0H ;7段数码管接口的地址为F0H OUT DX, AL JMP GO, 6.3 输入输出的控制方式,主机与外设之间数据传送的控制方式有: 无条件传送 查询式传送 中断方式传送 直接存储器存取(DMA, Direct Memory Access), 6.3.1 无条件传送方式,适用于总是处于准备好状态的外设 采用无条件传送方式的设备有: 开关发光器件(如发光二极管、7段数码管、灯泡等) 继电器 步进电机 优点:软件及接口硬件简单 缺点:只适用于简单外设,适应范围较窄, 6.3.2 查询方式传送,适用于外设并不总是准备好,而且对传送速率、传送效率要求不

11、高的场合。CPU在与外设交换数据前必须询问外设状态“你准备好没有?” 外设应提供设备状态信息 接口需要提供状态端口 优点:软件比较简单 缺点:CPU效率低,数据传送的实时性差,速度较慢,查询方式的流程图,超时?,READY?,与外设进 行数据交换,超时错,读入并测试外设状态,Y,N,Y,N,传送完?,防止死循环,复位计时器,N,注:多个外设时,查询流程见教材图6.15,Y,查询方式举例,试画出电路图,要求: 外设状态端口地址为3FBH,第5位(bit5)为状态标志(=1忙,=0准备好) 外设数据端口地址为3F8H,写入数据会使状态标志置1 ;外设把数据读走后又把它置0。, 6.3.3 中断方式

12、传送,外部设备在需要进行数据传送时才中断CPU正在进行的工作,让CPU来为其服务。即CPU在没有外设请求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了CPU的利用率。 优点:CPU效率高,实时性好,速度快。 缺点:程序编制较为复杂。,三种传输方式的实现,都需要CPU作为外设与内存数据传输的中介,具体的实现方式有: 软件 外设与内存之间的数据传送是通过CPU执行程序来完成的(PIO方式); 硬件 I/O接口和存储器的读写控制信号、地址信号都是由CPU发出的(总线由CPU控制)。 缺点:程序的执行速度限定了传送的最大速度(约为几十KB/秒),特点: 外设直接与存储器进行数据交换 ,C

13、PU不再担当数据传输的中介者; 总线由DMA控制器(DMAC)进行控制(CPU要放弃总线控制权),内存/外设的地址和读写控制信号均由DMAC提供。 优点: 数据传输由DMA硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒), 6.3.4 DMA传输,几个基本概念,总线控制权、mater、slave DMAC编程周期:slave DMAC控制总线进行数据传输周期:master DMA的数据传输形式: 基本的:MEMI/O 扩充的:MEMMEM、I/O I/O,DMA传送原理示意图,系统总线,CPU,DMAC,存储器,外设接口,AEN,IOW,MEMW,MEMR,I

14、OR,MEMW,MEMR,IOW,IOR,AEN,HOLD,HLDA,DRQ,DACK,AEN,IOW,IOR,MEMW,MEMR, 外设发出DMA请求 DMAC向CPU申请总线 CPU完成当前总线周期后响应,并释放总线控制权 DMAC得到总线控制权,并发出DMA响应信号 由DMAC发出各种控制信号,控制外设与存储器之 间的数据传送 数据传送完后,DMAC撤销HOLD信号 CPU释放HLDA信号,并重新控制总线,DMA控制器的工作过程,当外设准备好,可以进行DMA传送时,外设向DMA控制器发出“DMA传送请求”信号(DRQ); DMA控制器收到请求后,向CPU发出“总线请求”信号HOLD,表示

15、希望占用总线; CPU在完成当前总线周期后会立即对HOLD信号进行响应。响应包括两个动作:一是CPU将数据总线、地址总线和相应的控制信号线均置为高阻态,由此放弃对总线的控制权。另一方面,CPU向DMA控制器发出“总线响应”信号(HLDA)。,DMA控制器收到HLDA信号后,就开始控制总线,并向外设发出DMA响应信号DACK; DMA控制器送出地址信号和相应的控制信号,实现外设与内存或内存与内存之间的直接数据传送; 如向I/O接口发出读信号,同时往地址总线上发出存储器的地址和存储器写信号和AEN信号,即可从外设向内存传送一个字节。 DMA控制器自动修改地址和字节计数器,并判断是否需要重复传送操作

16、。当规定的数据传送完后,DMA控制器就撤销发往CPU的HOLD信号。CPU检测到HOLD失效后,紧接着撤销HLDA信号,并在下一时钟周期重新开始控制总线。,连续传送(块传送) DMAC申请到总线后,将一块数据传送完后才释放总线,而不管中间DREQ是否有效。 单次传送(每次传送一个字节) 每个DMA周期只传送一个字节就立即释放总线 按需传送(猝发传送) 只要I/O接口的数据缓冲可用,就进行传送 (注:I/O接口需要有一定大小的FIFO缓冲),DMA的三种传输方式,数据块传送,Y,N,允许DMA,DMA请求?,DMAC请求总线,CPU响应, DMAC获总线控制权,DMA传送一个字节,块结束?,地址

17、增量,计数器减量,DMAC释放总线,Y,N,单次传送,N,Y,N,允许DMA,DMAC请求总线,CPU响应, DMAC获总线控制权,DMA传送一个数据,块结束?,释放总线至少一个总线周期,地址增量,计数器减量,DMAC释放总线,Y,测试I/O的DREQ DMA请求?,按需传送,N,Y,CPU响应, DMAC获总线控制权,DMA传送一个字节,块结束?,测试I/O的DREQ 有效?,地址增量,计数器减量,释放总线,请求中断,无效,释放总线,允许DMA,DMA请求?,DMAC请求总线,Y,N,Y,N,DMA传输方式示意图,一个总线周期,T,DMAC控制总线,共传送n个数据,DMA1,DMA2,DMA

18、n,CPU重新控制总线,CPU对总线控制,连续传送,T,DMA共传送n个数据,DMA1,DMA2,DMAn,单次传送,DMA3,T,按需传送,DMA传送k个数据,DMA传送n-k个数据,FIFO可用,FIFO满,FIFO可用,FIFO满,图例:, 6.4 中断技术,中断的基本概念 8086/8088的中断系统, 6.4.1 中断的基本概念,与生活场景的比较,正在看书,电话铃响,接电话,继续看书,执行程序,事件发生,事件处理,继续执行程序,中断处理,中断请求及响应,实际场景,计算机,中断返回,中断的定义,CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,

19、转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。,中断源,中断源:引起CPU中断的事件。 外设请求输入输出数据,报告故障等 事件掉电、硬件故障、软件错误、非法操作、定时时间到等 中断源分为: 内部中断:CPU内部执行程序时自身产生的中断 外部中断:CPU以外的设备、部件产生的中断 8086/8088的外部中断信号: INTR:可屏蔽中断请求,高电平有效,受IF标志的控制。IF=1时,执行完当前指令后CPU对它作出响应。 NMI:非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。,计算机中要引

20、入中断的原因,提高数据传输率; 避免了CPU不断检测外设状态的过程,提高了CPU的利用率。 实现对特殊事件的实时响应。 如多任务系统操作系统中: 缺页中断、设备中断、各类异常、实时钟等,中断过程,中断请求 中断判优(有时还要进行中断源识别) 中断响应 中断服务 中断返回,1)中断请求,外设接口(中断源)发出中断请求信号,送到CPU的INTR或NMI引脚; 中断请求信号:边沿请求,电平请求 如NMI为边沿请求,INTR为电平请求 中断请求信号应保持到中断被处理为止; CPU响应中断后,中断请求信号应及时撤销。 在8086/8088系统中,外设的中断要经过8259A可编程中断控制器(PIC)的排队

21、判优后向CPU发出:(I/O接口) PIC CPU,2.1)中断源识别,识别中断源的方法: 软件查询 将中断信号从数据总线读入,用程序进行判别,如教材图6.18和图6.19。 中断矢量法 由中断源提供中断类型号,CPU根据类型确定中断源。(8086/8088即采用此种方法),2.2)中断判优,中断优先级排队: 多个中断源产生中断,CPU首先为谁服务? 中断优先级控制要处理的情况: 对同时产生的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理; 对非同时产生的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断即允许中断嵌套。 中断优先级的控制方法: 硬件判优

22、链式判优、并行判优(中断向量法) 软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高) 通常将中断判优与中断源识别合并在一起进行处理。 如x86系统中,这项任务由PIC和CPU共同完成。,链式判优电路原理图 (教材图6.20),#INTAin,CPU #INTA INTR,外设1,外设2,外设接口1,菊花链 逻辑电路,外设接口2,外设3,外设接口3,1,菊花链 逻辑电路,菊花链 逻辑电路,IREQ,IREQ,IREQ,中断确认,#INTAin,#INTAin,中断确认,中断确认,菊花链逻辑电路,3)中断响应,在每条指令的最后一个时钟周期,CPU检测INTR或NMI信号。若以下条件成

23、立,则CPU响应中断: 当前指令执行完。对INTR,还应满足以下条件: 当前指令是STI和IRET,则下条指令也要执行完; 当前指令带有LOCK、REP等指令前缀时,则把它们看成一个整体,要求完整地执行完; 对INTR,CPU应处于开中断状态,即IF=1; 当前没有复位(RESET)和保持(HOLD)信号。 若NMI和 INTR 同时发生,则首先响应NMI。,CPU响应中断时的工作,向中断源发出#INTA中断响应信号 断点保护,包括CS、IP和PSW(FLAGS)。这主要是保证中断结束后能返回被中断的程序 获得中断服务程序首地址(入口) 获得到中断处理程序首地址的方法有固定入口法、中断向量法常

24、用,4)中断处理(中断服务),中断服务子程序特点: 为”远”过程(类型为FAR) 要用IRET指令返回 中断服务子程序所做的工作: 保护现场(PUSH regs) 开中断(STI) 进行中断处理 恢复现场(POP regs) 中断返回(IRET),5)中断返回,执行中断返回指令IRET将使CPU把堆栈内保存的断点信息弹出到IP、CS和FLAG中,保证被中断的程序从断点处能够继续往下执行。,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IPL,IPH,CSL,CSH,FLAGL,FLAGH,SP,IP,CS,FLAG,进入中断服务程序时,中断返回后, 6.4.2 8088的中断系

25、统,与中断有关的控制线为: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系统采用中断类型码来识别不同的中断源,每个中断源都有一个与它相对应的中断类型码 。 溢出

温馨提示

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

评论

0/150

提交评论