北京理工大学微机原理课件 第6章_输入输出和中断技术()_第1页
北京理工大学微机原理课件 第6章_输入输出和中断技术()_第2页
北京理工大学微机原理课件 第6章_输入输出和中断技术()_第3页
北京理工大学微机原理课件 第6章_输入输出和中断技术()_第4页
北京理工大学微机原理课件 第6章_输入输出和中断技术()_第5页
已阅读5页,还剩122页未读 继续免费阅读

下载本文档

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

文档简介

1、第第6章章 节节 目目 录录l6.1 输入输出系统概述输入输出系统概述l6.2 简单接口电路简单接口电路l6.3 输入输出的输入输出的控制控制方式方式l6.4 中断技术中断技术l6.5 可编程中断控制器可编程中断控制器8259A章章第6章作业n6.5 n6.7n6.13n6.14n6.15n6.17章章 6.1 输入输出系统概述输入输出系统概述 处理器和主存储器之外的部分统称为输入处理器和主存储器之外的部分统称为输入输出系统,它包括输入输出设备、输入输出输出系统,它包括输入输出设备、输入输出接口和输入输出软件。接口和输入输出软件。 计算机在运行过程中所需要的程序和数计算机在运行过程中所需要的程

2、序和数据由外设输入,而结果要输出到外设去。据由外设输入,而结果要输出到外设去。接口接口输入输出系统输入输出系统电源CPU内存内存接口键盘、鼠标、显示器打印机、声音输入输出、图形输入、视频输入输出用户交互接口外存接口磁盘机磁带机光盘机通信接口终端MODEM电传机ADCDAC数字化仪器测控接口系统总线1、I/O接口要解决的问题接口要解决的问题一、一、I/O接口的基本功能接口的基本功能 速度匹配问题速度匹配问题 外设与外设与CPU相比,速度差距很大。相比,速度差距很大。 信号电平和驱动能力问题信号电平和驱动能力问题 CPU的信号电平的信号电平0 5V,而外设的电平范围宽,需要驱,而外设的电平范围宽,

3、需要驱动功率大。动功率大。 信号形式匹配问题信号形式匹配问题 外设的信号可以是数字量、开关量、模拟量等。外设的信号可以是数字量、开关量、模拟量等。 信息格式问题信息格式问题 外设可以是串行信号、并行信号等。外设可以是串行信号、并行信号等。 时序配合问题时序配合问题 外设有自己的时序与控制逻辑,与外设有自己的时序与控制逻辑,与CPU不一致。不一致。 I/O地址译码与设备选择地址译码与设备选择把选中的外设与总线相接,未选中的外设与总线把选中的外设与总线相接,未选中的外设与总线隔离(高阻态)隔离(高阻态) 信息的输入与输出信息的输入与输出通过接口可以向外设输入或输出数据。通过接口可以向外设输入或输出

4、数据。 信息转换信息转换 信息格式变换、电平转换、码制转换、传送管理及联信息格式变换、电平转换、码制转换、传送管理及联络控制等功能。络控制等功能。 命令、数据和状态的缓冲与锁存命令、数据和状态的缓冲与锁存接口电路有信息缓冲能力。可以解决速度匹配问题,接口电路有信息缓冲能力。可以解决速度匹配问题,实现实现CPU与外设之间的同步。与外设之间的同步。2、I/O接口的功能接口的功能串行接口的功能串行接口的功能1、发送时将并行数据转、发送时将并行数据转 换为串行。换为串行。2、接收时相反。、接收时相反。3、发送时将、发送时将TTL电平转电平转换为换为-15V-+15V 。4、接收时相反。、接收时相反。5

5、、异步发送与接收。、异步发送与接收。 接口接口外外 设设CPU计算机计算机DBWRRDINTRCS译码译码电路电路AB二、二、I/O接口的编址方式接口的编址方式1、CPU与与I/O接口通信是通过一组寄存器实现的。接口通信是通过一组寄存器实现的。 I/O信息的三种类型:数据、命令、状态。信息的三种类型:数据、命令、状态。 传送这三类信息的通道分别称为:传送这三类信息的通道分别称为: 数据端口数据端口(I、O)、命令端口、命令端口(O)、状态端口、状态端口(I) 接口接口外外 设设CPU计算机计算机命令端口命令端口数据端口数据端口状态端口状态端口DBWRRDINTRCS译码译码电路电路AB每个端口

6、有自每个端口有自己的地址编号己的地址编号 统一编址统一编址 把把外设端口外设端口与与内存内存统一进统一进行编址。各占据统一地址行编址。各占据统一地址空间的不同部分。空间的不同部分。0地址空间地址空间(共共1MB)内存地址内存地址(960KB)I/O地址地址(64KB)FFFFFHEFFFFHF0000H端口的两种编址方式:统一编址和独立编址端口的两种编址方式:统一编址和独立编址l 优点:优点:l 指令统一,灵活;指令统一,灵活;l 访问控制信号统一。访问控制信号统一。 l 缺点:缺点:l 内存可用地址空间减小内存可用地址空间减小 独立编址独立编址外设地址空间和内存地址空间外设地址空间和内存地址

7、空间相互独立相互独立。优点:内存地址空间不受优点:内存地址空间不受I/O编址的影响编址的影响缺点:需要专用缺点:需要专用I/O指令,功能较少指令,功能较少 应用:应用:Z-80系列和系列和x86系列均采用此方式。系列均采用此方式。如:存储器读写用如:存储器读写用MOV指令指令I/O接口读写用接口读写用IN或或OUT指令指令l 8088/8086 CPU的的I/O编址方式编址方式l 采用采用I/O独立编址独立编址方式方式(但地址线与存储器共用但地址线与存储器共用)l 地址线上的地址信号用地址线上的地址信号用 IO/M 来区分:来区分:IO/M =1 时为时为I/O地址,地址, IO/M =0 时

8、为存储器地时为存储器地址。址。l I/O操作只使用操作只使用20根地址线中的根地址线中的16根根: A15 A0l 可可寻址的寻址的I/O端口数为端口数为64K(65536)个个l I/O地址范围为地址范围为0FFFFHl IBM PC只使用了只使用了1024个个I/O地址地址(03FFH)三、三、8086/8088 I/O端口访问端口访问 四、四、 8086/8088 I/O端口地址的译码端口地址的译码2、I/O接口地址译码电路的设计原理与存储器译码接口地址译码电路的设计原理与存储器译码电路的设计思路一样,由电路的设计思路一样,由 A0 A15与与IO/M信号一信号一起进行译码即可。起进行译

9、码即可。1、根据系统提供的三总线信号为、根据系统提供的三总线信号为A0A19、D0D7、RD、WR、IO/M等设计译码电路并与系统等设计译码电路并与系统进行连接。进行连接。A15A12与与非非门门IO/MA15A12与与非非门门IO/M用于存储器芯片选通用于存储器芯片选通用于用于I/O芯片选通芯片选通 8088最小模式下的原理图最小模式下的原理图 8284A 地址总线(地址总线(20根)根)READYRESETALEA19 A8AD7AD0地址地址锁存储器锁存储器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器收发器8286(一片)(一片)数据

10、总线(数据总线(8根)根)控制总线控制总线READY RESET8088MN/MX+5VA0 A19D0 D7存存储储器器系系统统I/O接接口口节节l数据输入数据输入/输出寄存器输出寄存器暂存输入暂存输入/输出的输出的数据数据l命令寄存器命令寄存器存放控制命令,用来设定接存放控制命令,用来设定接口功能、工作参数和工作方式。口功能、工作参数和工作方式。l状态寄存器状态寄存器保存外设当前状态,以供保存外设当前状态,以供CPU读取。读取。1、接口电路中寄存器的作用、接口电路中寄存器的作用l 数据输入接口数据输入接口l 必须具有三态输出能力,以便与总线挂接必须具有三态输出能力,以便与总线挂接l 外设有

11、数据保持能力时外设有数据保持能力时可用三态门实现可用三态门实现l 外设无数据保持能力时外设无数据保持能力时用三态输出的锁存器用三态输出的锁存器实现实现l 数据输出接口数据输出接口l 常用锁存器实现常用锁存器实现2、数据输入、数据输入/输出接口电路的要求输出接口电路的要求 l 三态门:三态门:l 高电平、低电平、高电平、低电平、高阻态高阻态l通常一个器件中包含8个三态门l常用芯片:74LS244l应用例子:开关接口二、简单数据输入接口设计二、简单数据输入接口设计。74LS244I0I3。E1数据总线数据总线E1 =0 输入输入E1 =1 高阻高阻数据总线数据总线CS1CS2地地址址译译码码器器接

12、口电路图如下:83FCH83FFH译码器n锁存器:由锁存器:由D触发器构成(具有锁存功能)触发器构成(具有锁存功能)n通常一个器件包含8个D触发器n常用芯片: n74LS273n74LS374四、简单的输出接口举例四、简单的输出接口举例SCPDiQi0XX0111100S74LS273MOV DX,0FFFFHMOV AL,01000001BOUT DX,AL. 1 1+5VRD0D7CPQ0Q7.D0D774LS273R A0A1A7A8A9A15IOW& 74LS374既可做输入电路,也可做输出电路。既可做输入电路,也可做输出电路。OEQ0D0D1Q1Q2D2D3Q3GNDVCCQ

13、7D7D6Q6Q5D5D4Q4CP1011155120DiOE CPQi101000 xx1高阻图图6-7 74LS374引线图和真值表引线图和真值表(D)CPQ1 1Di1 1(CP)OEQi图6-8 74LS374内部结构&A15A14A13A12A11A10A9A8&A7A6A5A4A3A2A1A01 11 11 11LOWD0D7CPQ0Q1Q6Q7OED0D774LS374用作输出接口74LS374用作输入接口D0D7CPD0D1D7OED0D7译码电路A0A15IOR外设选通五、输入五、输入/输出接口综合应用例子输出接口综合应用例子n根据开关状态在根据开关状态在7段

14、数码管上显示数字或符号段数码管上显示数字或符号l共阳极7段数码管结构用74LS273作为输出接口,把数据送到7段数码管l用74LS244作为输入口,读入开关K0K3的状态l当开关的状态分别为00001111时,在7段数码管上对应显示0F当当.gfedcba的值为C0H(11000000)时,显示0O1 I1O2 I2O3 I3O4 I4E1 K0K3+5VGG2AG2BCBA1174LS244D0 Q0 | Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LS138D0D7IOWIORY0Y1&1A7A4A15A8A3

15、A2A1A0D0D1D2D3译码器译码器Rx4F0H = 0000 0000 1111 0000F1H = 0000 0000 1111 0001 符号形状7段码.gfedcba符号形状7段码.gfedcba000111111801111111100000110901100111201011011A01110111301001111B01111100401100110C00111001501101101D01011110601111101E01111001700000111F01110001相应程序段如下相应程序段如下:Seg7DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

16、DB7FH,67H,77H,7CH,39H,5EH,79H,71HLEABX, Seg7;取;取7段码表基地址段码表基地址MOVAH, 0GO:MOVDX, 0F1H;开关接口的地址为;开关接口的地址为F1HINAL, DX;读入开关状态;读入开关状态ANDAL, 0FH;保留低;保留低4位位MOVSI, AX;作为;作为7段码表的表内位移量段码表的表内位移量MOVAL, BX+SI ;取;取7段码段码MOVDX, 0F0H;7段数码管接口的地址为段数码管接口的地址为F0HOUTDX, ALJMPGO节节6.3 输入输出的输入输出的控制控制方式方式 l无条件传送无条件传送l查询式传送查询式传送

17、l中断方式传送中断方式传送l直接存储器存取直接存储器存取(DMA, Direct Memory Access)主机与外设之间数据传送的控制方式有以下四种:主机与外设之间数据传送的控制方式有以下四种:一、一、 无条件传送方式无条件传送方式l适用于总是处于准备好状态的外设适用于总是处于准备好状态的外设l以下外设可采用无条件传送方式:以下外设可采用无条件传送方式:l开关开关l发光器件发光器件(如发光二极管、如发光二极管、7段数码管、灯泡等段数码管、灯泡等)l继电器继电器l步进电机步进电机l优点:软件及接口硬件简单优点:软件及接口硬件简单l缺点:只适用于简单外设,适应范围较窄缺点:只适用于简单外设,适

18、应范围较窄A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A151&1IORD0图6-12 开关K通过输入接口与系统的连接K+5V10K二、二、 查询方式查询方式l适用于外设并不总是准备好,而且对传送速率、适用于外设并不总是准备好,而且对传送速率、传送效率要求不高的场合。传送效率要求不高的场合。lCPU在与外设交换数据前必须询问外设状态在与外设交换数据前必须询问外设状态“你准备好没有?你准备好没有?”l对外设的要求:应提供设备状态信息对外设的要求:应提供设备状态信息l对接口的要求:需要提供状态端口对接口的要求:需要提供状态端口l优点优点:软件比较简单:软件比较简单

19、l缺点缺点:CPU效率低,数据传送的实时性差,速度效率低,数据传送的实时性差,速度较慢。较慢。CPU接口接口外设外设系统总线状态数据控制图6-13 查询工作方式示意图取外设状态外设准备就绪否传送数据NY传送完否NY结束图6-14 单一外设时查询方式流程图1号外设准备就绪NY对1号外设服务2号外设准备就绪NY对2号外设服务3号外设准备就绪NY对3号外设服务n号外设准备就绪NY对n号外设服务图6-15 多个外设时的查询工作方式流程图三、三、 中断方式中断方式 lCPU无需循环查询外设状态,而是外部设备在无需循环查询外设状态,而是外部设备在需要进行数据传送时才中断需要进行数据传送时才中断CPU正在进

20、行的工正在进行的工作,让作,让CPU来为其服务。即来为其服务。即CPU在没有外设请在没有外设请求时可以去做更重要的事情,有请求时才去传求时可以去做更重要的事情,有请求时才去传输数据,从而大大提高了输数据,从而大大提高了CPU的利用率。的利用率。l优点:优点:CPU效率高,实时性好,速度快。效率高,实时性好,速度快。l缺点:程序编制较为复杂。缺点:程序编制较为复杂。6.3.4 DMA传输传输 l 前三种前三种I/O方式都需要方式都需要CPU作为中介:作为中介: 1)软件方面软件方面:外设与内存之间的数据传送是通过:外设与内存之间的数据传送是通过 CPU执行程序来完成的;执行程序来完成的;2)硬件

21、方面硬件方面:I/O接口和存储器的读写控制信号、地接口和存储器的读写控制信号、地址信号都是由址信号都是由CPU发出的(总线由发出的(总线由CPU控制)。控制)。CPU外设外设外设外设 存储器存储器缺点:程序的执行速度限定了传送的最大速度缺点:程序的执行速度限定了传送的最大速度(约为几十(约为几十KB/秒)。秒)。 优点:数据传输由DMA控制器即硬件来控制,数据直接在内存和外设之间交换,可以达到很高的传输速率(可达几MB/秒)DMA传送原理示意图 系统总线系统总线CPUDMAC存储器存储器外设外设 AENIOWMEMWMEMRIORMEMWMEMRIOWIORAENHOLDHLDA DRQDAC

22、KAENIOWIORMEMWMEMR 外设发出外设发出DMA请求信号请求信号DRQ DMAC向向CPU申请总线申请总线HOLD CPU响应,释放总线控制权,并发出响应,释放总线控制权,并发出HLDA信号信号 DMAC得到总线控制权,并向外设发出响应信号得到总线控制权,并向外设发出响应信号DACK 由由DMAC发出各种控制信号,控制外设与存储器之发出各种控制信号,控制外设与存储器之 间的数据传送间的数据传送 数据传送完后,数据传送完后,DMAC撤销撤销HOLD信号信号 CPU释放释放HLDA信号,并重新控制总线信号,并重新控制总线节节6.4 中断技术中断技术6.4.1 中断的基本概念中断的基本概

23、念正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书实际场景实际场景执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序计算机计算机中断处理中断处理中断请求及响应中断请求及响应中断返回中断返回中断的定义中断的定义 lCPU执行程序时,由于发生了某种随机的事件执行程序时,由于发生了某种随机的事件(外外部或内部部或内部),引起,引起CPU暂时中断正在运行的程序,暂时中断正在运行的程序,转去执行一段特殊的服务程序转去执行一段特殊的服务程序(称为中断服务程序称为中断服务程序或中断处理程序或中断处理程序),以处理该事件,该事件处理完,以处理该事件,该事件处理完后又返回被中断

24、的程序继续执行,这一过程称为后又返回被中断的程序继续执行,这一过程称为中断。中断。与子程序的区别?与子程序的区别?只有执行到只有执行到CALL时才调用时才调用子程序,而中断是随机的。子程序,而中断是随机的。中断源中断源n引起引起CPU中断的事件中断的事件中断源。例如:中断源。例如:外设外设请求输入输出数据,报告故障等请求输入输出数据,报告故障等事件事件掉电、硬件故障、软件错误、非法操作、定时掉电、硬件故障、软件错误、非法操作、定时时间到等。时间到等。n中断源分为:外部中断、内部中断中断源分为:外部中断、内部中断内部中断:内部中断:CPU内部执行程序时自身产生的中断(如内部执行程序时自身产生的中

25、断(如INT指令、溢出、被指令、溢出、被0除等)除等)外部中断:外部中断:CPU以外的设备、部件产生的中断以外的设备、部件产生的中断n 8086/8088的外部中断信号:的外部中断信号:INTR、NMIINTR可屏蔽中断请求,高电平有效,受可屏蔽中断请求,高电平有效,受IF标志的控标志的控制。制。IF=1时,执行完当前指令后时,执行完当前指令后CPU对它作出响应。对它作出响应。 NMI非屏蔽中断请求,上升沿有效,任何时候非屏蔽中断请求,上升沿有效,任何时候CPU都要响应此中断请求信号。都要响应此中断请求信号。为何计算机中要引入中断?为何计算机中要引入中断?l 避免了避免了CPU不断检测外设状态

26、的过程,提不断检测外设状态的过程,提高了高了CPU的利用率。的利用率。l 实现对特殊事件的实时响应。如多任务系实现对特殊事件的实时响应。如多任务系统操作系统中:统操作系统中: l 缺页中断缺页中断l 设备中断设备中断l 各类异常各类异常l 实时钟,。等实时钟,。等中断过程中断过程n五个步骤:五个步骤:中断请求中断请求中断判优中断判优(有时还要进行中断源识别有时还要进行中断源识别)中断响应中断响应中断服务中断服务中断返回中断返回以下以以下以外部中断外部中断为主介绍这五个步骤。为主介绍这五个步骤。1)中断请求)中断请求n外设接口(中断源)发出中断请求信号,送到外设接口(中断源)发出中断请求信号,送

27、到CPU的的INTR或或NMI引脚;引脚;中断请求信号:边沿请求,电平请求中断请求信号:边沿请求,电平请求例如,例如,NMI为边沿请求,为边沿请求,INTR为电平请求为电平请求n中断请求信号应保持到中断被处理为止;中断请求信号应保持到中断被处理为止;nCPU响应中断后,中断请求信号应及时撤销。响应中断后,中断请求信号应及时撤销。n在在8086/8088系统中,外设的中断要经过系统中,外设的中断要经过8259A可可编程中断控制器编程中断控制器(PIC)的排队判优后向的排队判优后向CPU发出。发出。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8

28、259ASP/ENCAS0CAS1CAS2中断源中断源2)中断判优)中断判优n多个中断源产生中断,多个中断源产生中断,CPU首先为谁服务?首先为谁服务?中断优先级排队问题。中断优先级排队问题。n中断优先级控制要处理两种情况:中断优先级控制要处理两种情况:对对同时产生同时产生的中断:应首先处理优先级别较高的中断;若优先级的中断:应首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则处理;别相同,则按先来先服务的原则处理;对对非同时产生非同时产生的中断:低优先级别的中断处理程序允许被高优先的中断:低优先级别的中断处理程序允许被高优先级别的中断源所中断级别的中断源所中断即允许即允许中断嵌

29、套中断嵌套。n中断优先级的控制方法中断优先级的控制方法硬件判优硬件判优链式判优、并行判优(中断向量法)链式判优、并行判优(中断向量法)软件判优软件判优顺序查询中断请求,先查询的先服务(即先查询的顺序查询中断请求,先查询的先服务(即先查询的优先级别高)优先级别高)n通常将通常将中断判优中断判优与与中断源识别中断源识别合并在一起进行处理。合并在一起进行处理。x86系统中,这项任务由系统中,这项任务由PIC和和CPU共同完成。共同完成。软件判优软件判优CPUD0D7INTR并行输入接口1中断请求寄存器IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7图6-18 软件判优的结构原理图断点

30、保护IRQ0IRQ1IRQ7中断返回YYYNNN中断源0的中断服务程序中断源1的中断服务程序中断源7的中断服务程序图6-19 软件中断优先权查询流程图 中断矢量法:中断矢量法:为不同的中断源提供不同的中断为不同的中断源提供不同的中断类型码(中断向量码),即为每一个中断分配类型码(中断向量码),即为每一个中断分配一个编号,一个编号,CPU根据类型码确定中断源。根据类型码确定中断源。(8086/8088即采用此种方法)即采用此种方法)硬件判优硬件判优 链式判优:将链式判优:将中断源构成一个链。中断源构成一个链。菊花链逻辑电路菊花链逻辑电路INTAinIREQINTR&=1 1INTAout

31、DB三态门中断向量码E外设接口外设接口中断确认中断确认菊花链菊花链逻辑电路逻辑电路3)中断响应)中断响应n在每条指令的最后一个时钟周期,在每条指令的最后一个时钟周期,CPU检检测测INTR或或NMI信号。若以下条件成立,则信号。若以下条件成立,则CPU响应中断:响应中断: 当前指令执行完。对当前指令执行完。对INTR,还应满足以下条,还应满足以下条件件n当前指令是当前指令是STI和和IRET,则下条指令也要执行完。,则下条指令也要执行完。n当前指令带有当前指令带有LOCK、REP等指令前缀时,则把它等指令前缀时,则把它们看成一个整体,要求完整地执行完;们看成一个整体,要求完整地执行完; 对对I

32、NTR,CPU应处于开中断状态,即应处于开中断状态,即IF=1; 当前没有复位当前没有复位(RESET)和保持和保持(HOLD)信号。信号。 若若NMI和和 INTR 同时发生,则首先响应同时发生,则首先响应NMI。nCPU中断响应时,要做下述三项工作:中断响应时,要做下述三项工作:向中断源发出向中断源发出/INTA中断响应信号;中断响应信号;断点保护,包括断点保护,包括CS、IP和和PSW(FLAGS)。)。这主要是保证中断结束后能返回被中断的程序。这主要是保证中断结束后能返回被中断的程序。获得中断服务程序首地址(入口地址)。获得中断服务程序首地址(入口地址)。如何得到中断处理程序的首地址?

33、如何得到中断处理程序的首地址?n固定入口法固定入口法n中断向量法(中断向量法(8086采用的方法)采用的方法)4)中断处理(中断服务)中断处理(中断服务)n中断服务子程序特点中断服务子程序特点为为“远远”过程(类型为过程(类型为FAR)要用要用IRET指令返回指令返回n中断服务子程序要做的工作中断服务子程序要做的工作保护现场保护现场(PUSH regs) 开中断开中断(STI) 进行中断处理进行中断处理 关中断关中断(CLI)恢复现场恢复现场(POP regs) 中断返回中断返回(IRET) 6.4.2 8088的中断系统的中断系统n 与中断有关的控制线为:与中断有关的控制线为:NMI、INT

34、R、/INTAn 8088系统的中断源系统的中断源 内部中断内部中断n 除法溢出:类型号除法溢出:类型号0,商大于目的操作数所能表达的范围时产生。,商大于目的操作数所能表达的范围时产生。n 单步中断:类型号单步中断:类型号1,TF=1时产生(当前指令需执行完)时产生(当前指令需执行完)n 断点中断:类型号断点中断:类型号3,这是一个软件中断,即,这是一个软件中断,即INT 3指令。指令。n 溢出中断:类型号溢出中断:类型号4,这是一个软件中断,即,这是一个软件中断,即INTO指令。指令。n 软件中断:即软件中断:即INT n指令,类型号指令,类型号n(0-255)。 外部中断外部中断n 非屏蔽

35、中断非屏蔽中断NMI:类型号:类型号2,不可用软件屏蔽,不可用软件屏蔽,CPU必须响应它。必须响应它。n 可屏蔽中断可屏蔽中断INTR:类型号由:类型号由PIC提供。提供。IF=1时时CPU才能响应。才能响应。一、一、8086/8088中断源类型中断源类型NMII N TR中断逻辑中断逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断请求非屏蔽中断请求中断控中断控制器制器8259APIC8086/8088CPU内部逻内部逻辑辑断点中断断点中断可可屏屏蔽蔽中中断断请请求求n43012n8088系统采用系统采用中断类型中断类型(向量向量)码码来识别不同的中来识别不同

36、的中断源,断源,每个中断源都有一个与它相对应的中断类每个中断源都有一个与它相对应的中断类型码型码 。溢出、断点、除法溢出、单步、非屏蔽中断的类型码溢出、断点、除法溢出、单步、非屏蔽中断的类型码为为固定值固定值软件软件中断的类型码由中断的类型码由指令指令给出给出可屏蔽中断的类型码由可屏蔽中断的类型码由PIC给出给出nCPU响应响应INTR中断时,会产生两个中断响应总中断时,会产生两个中断响应总线周期,要求线周期,要求PIC在第在第2个中断响应总线周期把中个中断响应总线周期把中断类型码放到数据总线上,供断类型码放到数据总线上,供CPU读入。读入。二、中断向量表(二、中断向量表(IVT) n 存放各

37、类中断的中断服务程序的存放各类中断的中断服务程序的入口地址入口地址(段和(段和偏移)偏移) ;n 表的地址位于内存的表的地址位于内存的00000H003FFH,共,共256个入口个入口;n 每个入口占用每个入口占用4 Bytes,低字为段内偏移,高字,低字为段内偏移,高字为段基址为段基址;n 根据中断类型号根据中断类型号获得中断服务程序入口的方法获得中断服务程序入口的方法: (n为为中断类型号中断类型号)中断向量在中断向量在IVT中的存放地址中的存放地址 n4CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏移量CS段基址IP偏

38、移量中断类型0的中断向量中断类型1的中断向量中断类型2的中断向量中断类型3的中断向量中断类型4的中断向量中断类型32的中断向量中断类型255的中断向量00000H00004H00008H0000CH00010H00014H00080H00084H003FCH003FFH6-23 中断向量表结构中断向量表结构中断处理程序中断处理程序STIPUSH DSIRETINT 4AHNOPF0类型类型49H中断向量中断向量0600类型类型4BH中断向量中断向量180:1240:1250:1260:1270:1280:1290:12A0:12B0:12C0:12D0:12E0:12F1806F000IPCS

39、F000:1806从堆栈中弹出从堆栈中弹出FLAG、CS、IP向量计算向量计算=4AH 4=128HFLAG、CS、IP入栈等入栈等三、软中断的执行过程三、软中断的执行过程四、四、8086/8088 CPU的中断响应过程的中断响应过程 n内部中断响应过程内部中断响应过程 无中断响应周期无中断响应周期中断类型码固定或由指令(中断类型码固定或由指令(INT n)给出)给出响应过程步骤:响应过程步骤: 将类型码乘将类型码乘4,计算出中断向量的地址,计算出中断向量的地址 标志寄存器入栈标志寄存器入栈 清除清除IF、TF,即屏蔽新的,即屏蔽新的INTR和单步中断和单步中断 保存断点,将断点处的保存断点,

40、将断点处的 CS压栈压栈将断点处的将断点处的 IP压栈压栈 (I P)=(n*4+1):(n*4+0) (CS)=(n*4+3):(n*4+2) 执行中断服务程序。执行中断服务程序。中断响应过程(续)中断响应过程(续)n外部中断响应过程外部中断响应过程非屏蔽中断,与内部中断响应过程类似非屏蔽中断,与内部中断响应过程类似 可屏蔽中断可屏蔽中断(时序见图时序见图6.24) /INTA(1),),PIC进行优先级排队判优处理进行优先级排队判优处理 /INTA(2),),PIC把中断类型码放到把中断类型码放到DB上,由上,由CPU读入读入 压栈压栈 FLAG 清除清除 IF、TF CS入栈入栈 IP入

41、栈入栈 (I P)=(n*4+1):(n*4+0) (CS)=(n*4+3):(n*4+2)T1T2T3T4T1T2T3T4中断类型码CLKALELOCKINTAD0D7第一个INTA总线周期第一个INTA总线周期图6-24 8086/8088对INTR的中断响应时序IRET1、FLAGS、CS、IP入栈入栈2、清除、清除IF、TF3、转中断服务处理程序、转中断服务处理程序 INTHAND(通过中断矢量表)(通过中断矢量表)产生中断产生中断1、FLAGS、CS、IP出栈出栈2、返回断点,继续执行、返回断点,继续执行 下一条指令下一条指令中断返回中断返回INTHAND:;PROGRAM IN E

42、XECUTION可屏蔽中断的执行过程可屏蔽中断的执行过程8088系统中各中断的优先级系统中各中断的优先级l 优先级从高到低顺序如下:优先级从高到低顺序如下:l 内部中断内部中断l NMIl INTRl 单步中断单步中断节节6.5 可编程中断控制器可编程中断控制器8259AlPIC,Programmable Interrupt Controllerl可对可对8个中断源实现优先级控制个中断源实现优先级控制 l可扩展至对可扩展至对64个中断源实现优先级控制个中断源实现优先级控制 l可编程设置不同工作方式可编程设置不同工作方式l根据中断源向根据中断源向x86提供不同中断类型码提供不同中断类型码可编程芯

43、片:可以用程序设置芯片的工作方式,控制其工作过程。可编程芯片:可以用程序设置芯片的工作方式,控制其工作过程。 A0:是是8259A内部寄存器内部寄存器的选择信号。它与的选择信号。它与/WR、/RD、/CS等信号相配合,对不同的内部寄存器进行读写。等信号相配合,对不同的内部寄存器进行读写。 使用中,通常接地址总线的使用中,通常接地址总线的A1或或A0等。等。 INT:8259A中断请求输出信号,直接接到中断请求输出信号,直接接到CPU的的INTR输输入端。入端。 /INTA:中断响应输入信号。在中断响应过程中中断响应输入信号。在中断响应过程中CPU的中断的中断响应信号响应信号由此端进入由此端进入

44、8259A。 CAS0-CAS2:级联控制线。当多片级联控制线。当多片8259A级联工作时,其级联工作时,其中中一片为主片,一片为主片, 其他均为从片其他均为从片。主片主片8259A: CAS0-CAS2为为输出输出; 从片从片8259A: CAS0-CAS2为为输入输入。 当某从片提出中断请求时,主片通过当某从片提出中断请求时,主片通过CAS0-CAS2送出送出相应的编码给从片,使从片的中断被允许。相应的编码给从片,使从片的中断被允许。 SPEN:为双功能引线。为双功能引线。当当8259A工作在工作在缓冲模式缓冲模式时,它为时,它为输出输出,用以控制缓,用以控制缓冲器的传送方向:冲器的传送方

45、向:当数据当数据: CPU8259A 时,时,SP/EN输出为输出为高电平高电平;当数据当数据: 8259ACPU 时,时,SP/EN输出为输出为低电平低电平。在在8259A工作在工作在非缓冲模式非缓冲模式时,它为时,它为输入输入,用于指定,用于指定8259A是主片还是从片:是主片还是从片:SP1的的8259A为主片,为主片,SP0的的 8259A为从片。只为从片。只有一有一 个个8259A时,它应接高电平时,它应接高电平。IR0-IR7:为中断请求输入信号,与外设的中断请求线相为中断请求输入信号,与外设的中断请求线相连。上升沿或高电平连。上升沿或高电平(可通过编程设定可通过编程设定)时表示有

46、中断请求到时表示有中断请求到达。达。CPUINTRINTAIR0IR1IR7D0D7INTAINTCS A0RDWRD0D7RDWR。8259ASP/ENCAS0CAS1CAS2级连电路连接方法6.5.1 8259A的内部结构的内部结构数据总线缓冲器读/写控制电路级联缓冲/比较器D0D7CAS0CAS1CAS2SP/ENRDWDA0CS内部控制逻辑电路当前终端服务寄存器(ISR)优先权判别电路中断请求电路(IRR)中断屏蔽寄存器(IMR)内部总线INTINTA图6-27 8259A内部结构框图n 8259A的内部结构 中断请求寄存器中断请求寄存器IRRn保存从保存从IR0IR7来的中断请求信号

47、,某位为来的中断请求信号,某位为1表示对表示对应的应的IRi有中断请求有中断请求 。中断服务寄存器中断服务寄存器ISR n保存所有正在服务的中断源,某位为保存所有正在服务的中断源,某位为1表示对应的表示对应的IRi中断中断正在被服务正在被服务 ,可能同时有几位为,可能同时有几位为1。中断屏蔽寄存器中断屏蔽寄存器IMRn存放中断屏蔽字,某位存放中断屏蔽字,某位=1表示对应的表示对应的IRi输入输入被屏蔽被屏蔽 。中断优先权判别电路中断优先权判别电路 n 确定是否向确定是否向CPU发出中断请求,中断响应时确定发出中断请求,中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上的哪位应置

48、位及把相应中断的类型码放到数据总线上 。 6.5.2 8259A的工作过程的工作过程l 8259A对外部可屏蔽中断请求的处理过程如下:对外部可屏蔽中断请求的处理过程如下:l当某当某IRi有效时,有效时,IRR相应位置相应位置1。l若有效的若有效的IRi未被屏蔽未被屏蔽,则,则向向CPU发出中断请求。发出中断请求。l若若CPU处于开中断状态,则在当前指令执行完后,发处于开中断状态,则在当前指令执行完后,发/INTA。l检测到检测到第第1个个/INTA信号后,信号后,置置ISRi=1,IRRi=0。l检测到检测到第第2个个/INTA信号后,信号后,把把ISRi=1中最高优先级的中最高优先级的中断中

49、断类型码放到类型码放到DB上。上。l若工作在若工作在AEOI方式,在第方式,在第2个个/INTA结束时,使结束时,使ISRi复位复位;否则由否则由CPU发出发出EOI命令使命令使ISRi复位。复位。6.5.3 8259A的工作方式的工作方式l8259A的工作方式:的工作方式:l 中断触发方式中断触发方式l 屏蔽中断源的方式屏蔽中断源的方式l 中断优先方式中断优先方式l 中断嵌套方式中断嵌套方式l 中断结束处理方式中断结束处理方式 l 级联工作方式级联工作方式一、中断触发方式一、中断触发方式l边沿触发边沿触发l IRi出现上升沿表示有中断请求出现上升沿表示有中断请求 l电平触发电平触发l IRi

50、出现高电平表示有中断请求,但应及时撤除出现高电平表示有中断请求,但应及时撤除高电平,否则可能引起第二次中断。高电平,否则可能引起第二次中断。l在第在第1个个/INTA结束前,结束前,IRi必须保持高电平。必须保持高电平。 二、屏蔽中断源的方式二、屏蔽中断源的方式l 普通普通屏蔽方式:屏蔽方式:IMR屏蔽字决定了屏蔽字决定了允许或禁止允许或禁止某某位位IRi所对应的中断所对应的中断:l IMi=1 禁止,禁止,IMi=0 允许(即正常屏蔽方式)。允许(即正常屏蔽方式)。l 特殊特殊屏蔽方式:屏蔽方式:l提供了允许提供了允许较低优先级较低优先级的中断能够得到响应的特殊的中断能够得到响应的特殊手段。

51、手段。l原理原理:假定当前正在处理:假定当前正在处理IR6,先,先进入特殊屏蔽方式,进入特殊屏蔽方式,然后设置然后设置IM6=1。这时,。这时,除除IR6外外的所有中断请求的所有中断请求均能得到响应。均能得到响应。l特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令结束中断。命令结束中断。三、中断优先方式三、中断优先方式l 中断优先方式中断优先方式 l两类优先级控制方式:两类优先级控制方式:固定优先级固定优先级和和循环优先级循环优先级l固定优先级方式固定优先级方式l所有中断请求所有中断请求IRi的中断优先级固定不变的中断优先级固定不变l优先级排列顺序优先级排列顺序可通过编程可通过编程改变改变

52、l加电后加电后8259A的默认方式,默认优先级顺序从高到低的默认方式,默认优先级顺序从高到低为为IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最低级最高级最高级最高级最高级最低级最低级优先级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级默认优先级优先级可编程改变优先级可编程改变l 循环优先级方式循环优先级方式 l 中断源中断源轮流轮流处于最高优先级,即自动中断优先级循环处于最高优先级,即自动中断优先级循环l 初始优先级初始优先级顺序可用编程改变顺序可用编程改变l 某中断请求某中断请求IRi被处理后,其优先级别自动降为被处理后

53、,其优先级别自动降为最低最低,原来比它低一级的中断上升为原来比它低一级的中断上升为最高级最高级。 21076543最高级最低级IR7IR6IR5IR4IR3IR2IR1IR001000000IR4的服务结束以后的服务结束以后IR7IR6IR5IR4IR3IR2IR1IR076543210最低级最高级ISR内容内容IR4的服务结束以前的服务结束以前01010000ISRil 在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。l 8259A有两种中断嵌套方式:l 普通全嵌套普通全嵌套方式(默认方式)方式(默认方式) 一中断正被处理时,只有更高优先级的事件可一中断正被处理时,只有更高优先级的

54、事件可以打断当前的中断处理过程而被服务。以打断当前的中断处理过程而被服务。l 特殊全嵌套特殊全嵌套方式方式 一中断正被处理时,允许一中断正被处理时,允许同级同级或更高优先级的或更高优先级的事件打断当前的中断处理过程而被服务。事件打断当前的中断处理过程而被服务。四、中断嵌套四、中断嵌套方式方式仅用于多个仅用于多个8259A级连时的主级连时的主8259A。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:从片的从片的INT被主片被主片封锁,故更高级别封锁,故更高级别的的IR0-IR2中断也无中断也无法得到响应法得到响应特殊嵌套方式:特殊嵌套方式:因主片不

55、封锁从片的因主片不封锁从片的INT,故级别高的,故级别高的IR0-IR2中断可以得到响应。中断可以得到响应。(但但IR3-IR7仍被本从片仍被本从片封锁封锁)C.假定假定IR3发生中发生中断断,并获得服务并获得服务一般嵌套方式:一般嵌套方式:IR4的中断被服务的中断被服务时,这些中断将时,这些中断将被封锁。被封锁。B.特殊嵌套方式:特殊嵌套方式:IR4的中断被服的中断被服务 时 , 只 封 锁务 时 , 只 封 锁IR5-IR7。A.I NTE.从从8259AI NTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式与特殊全嵌套方式的区别一般全嵌套方式与特殊全嵌套方式的区别 去去C

56、PU五、中断结束处理方式五、中断结束处理方式l 当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0是通过向8259A发出中断结束命令(EOI命令)实现的。l 三种EOI命令l自动EOI(AEOI)(自动EOI方式)l非指定EOI(NSEOI)(正常EOI方式)l指定EOI(SEOI)(特殊EOI方式)l AEOI:在第在第2个个/INTA结束时,由结束时,由8259A使使ISRi自自动复位;动复位;l因不保留当前正在服务的中断的状态,故因不保留当前正在服务的中断的状态,故AEOI不能用不能用于中断嵌套方式于中断嵌套方式l NSEOI:由

57、由CPU发出正常发出正常EOI命令命令,该,该EOI命令使命令使ISRi=1的位中优先级最高的那一位复位。的位中优先级最高的那一位复位。l用于普通全嵌套方式用于普通全嵌套方式l SEOI:由:由CPU发出一条发出一条SEOI命令命令,该,该EOI命令中命令中指出了所要复位的指出了所要复位的ISR的位号。的位号。 l用于特殊屏蔽方式用于特殊屏蔽方式中断服务程序中断服务程序向向从从PIC发发EOI命令命令读读从从PIC的的ISR全全0?向主向主PIC发发EOI命令命令YIRET恢复现场恢复现场Nn特殊全嵌套方式特殊全嵌套方式下的下的EOI处理处理n只有当只有当从从8259A的中断全部处理的中断全部

58、处理完后,才能向完后,才能向主主8259A发发EOI命令。命令。六、级联工作方式六、级联工作方式l 单片单片8259A可支持可支持8个中断源;个中断源;l 采用多片采用多片8259A级联,可最多支持级联,可最多支持64个中断源。个中断源。 n片片8259A可支持可支持8*(n-1)+8-(n-1)=7n+1个中断源;个中断源;l 级联时只能有一片级联时只能有一片8259A为主片,其余的均为从片;为主片,其余的均为从片;l 涉及到的涉及到的8259A引脚引脚包括:包括:lCAS0 - CAS2lSP/ENlIRilINT 主片主片8259AIR0 IR1IR2IR3IR4IR5 IR6 IR7I

59、NTINTRINTAINTA 从片从片1IR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTA 从片从片8IR0 IR1IR2IR3IR4IR5 IR6 IR7INTINTA6.5.4 8259A的编程使用的编程使用l 8259A的控制命令分为的控制命令分为l 初始化命令字初始化命令字ICWl ICW1ICW4l 向向8259A写入写入ICW的过程称为初始化编程的过程称为初始化编程l 操作命令字操作命令字OCW l OCW1OCW3l 向向8259A写入写入OCW的过程称为操作方式编程的过程称为操作方式编程8259A内部寄存器的寻址方法内部寄存器的寻址方法/CS/RD/WRA0D

60、4D3读写操作读写操作010000写写OCW2写写OCW3写写ICW1写写ICW2,ICW3,ICW4,OCW1(顺序写顺序写入入)00101x1xx00101xx读出读出IRR、ISR(由(由OCW3区分)区分)读出读出IMRl需要需要/CS、A0、/RD、/WR和和D4、D3的配合的配合l内部寄存器的访问方法如下表:内部寄存器的访问方法如下表: 8259A的控制命令字n初始化8259A必须从ICW1开始写写ICW1意味着重新初始化意味着重新初始化8259A写入写入ICW1后,后,8259A的状态如下:的状态如下:n清除清除ISR和和IMR(全全0);n将中断优先级设成初始状态:将中断优先级设成初始状态:IR0最高,最高,IR7最低

温馨提示

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

评论

0/150

提交评论