版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、u7.1 概述概述u7.2 可编程中断控制器可编程中断控制器8259Au7.3 PCI中断中断u7.4 串行中断串行中断7.1u7.1.1 中断的基本概念中断的基本概念u7.1.2 现代微机中的中断类型现代微机中的中断类型u7.1.3 现代微机中的中断处理现代微机中的中断处理u7.1.4 中断向量的修改与设置中断向量的修改与设置7.1.1CPU运行程序期间,遇到某些特殊情况运行程序期间,遇到某些特殊情况(内部或外部事件),暂时中止原先程序的执(内部或外部事件),暂时中止原先程序的执行,而转去执行一段特定的处理程序,服行,而转去执行一段特定的处理程序,服务完务完毕,再返回去继续执行被暂时中断的程
2、序。毕,再返回去继续执行被暂时中断的程序。这这一过程就叫中断。一过程就叫中断。术语术语1、中断、中断引起中断的事件称为中断源。引起中断的事件称为中断源。中断源有外部中断和内部中断,内部中断由程序中断源有外部中断和内部中断,内部中断由程序预先安排的中断指令(预先安排的中断指令(INT n)引起,或由于)引起,或由于 CPU运运算中产生某种错误(如除法出错、运算溢出)引起。算中产生某种错误(如除法出错、运算溢出)引起。外部中断是外部设备或协处理器向外部中断是外部设备或协处理器向CPU发出中断发出中断申请引起的。申请引起的。 2、中断源、中断源中断向量表:中断向量表:把系统中所有的中断向量集中起来放
3、到存储器把系统中所有的中断向量集中起来放到存储器的某一个区域内,这个存放中断向量的存储区就叫的某一个区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表。放在内存中断向量表或中断服务程序入口地址表。放在内存最低最低1K字节(字节(00000H0003FFH)中断向量表中断向量表3、 中断向量与中断向量表中断向量与中断向量表中断向量:是中断服务程序的入口地址。中断向量:是中断服务程序的入口地址。它包括中断服务程序的段地址它包括中断服务程序的段地址CS和偏移地址和偏移地址IP(共占(共占4个字节地址)。个字节地址)。CSIP用户可用用户可用 中断向量中断向量(224224个)个)
4、系统保留系统保留 中断向量中断向量(2727个)个)专用专用 中断向量中断向量 (5 5个)个) 00080H00080H003FCH003FCH003FFH003FFH0007CH0007CH 00014H00014H 00000H00000H00004H00004H00008H00008H0000CH0000CH00010H00010H255255号向量号向量 3232号向量号向量 3131号向量号向量 5 5号向量号向量 4 4号向量(溢出中断)号向量(溢出中断)3 3号向量号向量( (断点中断)断点中断) 2 2号向量(非屏蔽)号向量(非屏蔽) 1 1号向量(单步)号向量(单步)0 0
5、号向量(除法错)号向量(除法错) 2.N和指针和指针1 1、外部硬件可屏蔽中断、外部硬件可屏蔽中断 由外部设备产生的中断请求都属于外部硬由外部设备产生的中断请求都属于外部硬件中断。如键盘、鼠标、扫描仪及打印机等产生件中断。如键盘、鼠标、扫描仪及打印机等产生的中断就属此类。的中断就属此类。由由INTR引脚引入这些中断请求,需要使用引脚引入这些中断请求,需要使用可编程中断控制器如可编程中断控制器如8259A等对多个外部设备同时等对多个外部设备同时或先后产生的中断请求按优先级排队,选取一个或先后产生的中断请求按优先级排队,选取一个当前具有最高优先级的中断请求送往当前具有最高优先级的中断请求送往INT
6、R引脚。引脚。 NMINMI往往用于处理必须立即响应的外部事往往用于处理必须立即响应的外部事件或重要的外部事件,比如电源故障和存储器件或重要的外部事件,比如电源故障和存储器读数据出现奇偶错等。读数据出现奇偶错等。这种中断不受这种中断不受 IF标志位影响,它是不可标志位影响,它是不可屏蔽的屏蔽的 2 2、外部硬件不可屏蔽中断、外部硬件不可屏蔽中断 3 3、软件中断、软件中断 软件中断指令如软件中断指令如INT 3,INT n,INTO和和BOUND等引起的中断等引起的中断。这些软件中断指令在执行时,不需要中断这些软件中断指令在执行时,不需要中断识别总线周期,它们的中断类型号是固定的,可识别总线周
7、期,它们的中断类型号是固定的,可以立即启动相应的中断处理程序。以立即启动相应的中断处理程序。 u2.中断识别中断识别CPU响应中断后,响应中断后,CPU要设法寻找中断源,即找到是要设法寻找中断源,即找到是哪一个中断源发出的中断请求,这就是所谓的中断识别。哪一个中断源发出的中断请求,这就是所谓的中断识别。中断识别的主要目的是要形成该中断服务程序的入口地中断识别的主要目的是要形成该中断服务程序的入口地址,以便址,以便CPU将此地址置入将此地址置入CS:IP寄存器,从而实现程寄存器,从而实现程序的转移。序的转移。识别方法识别方法CPU识别中断或获取中断服务程序入口地址的方法有两识别中断或获取中断服务
8、程序入口地址的方法有两种:种:向量中断:向量中断: 是由中断向量来指示中断服务程序的入口地址。例是由中断向量来指示中断服务程序的入口地址。例如,对可屏蔽中断是在如,对可屏蔽中断是在CPU响应中断后,发出中断响应中断后,发出中断应答应答INTA时,由中断控制器通过数据总线返回到时,由中断控制器通过数据总线返回到CPU的中断类型号来确定中断源的。的中断类型号来确定中断源的。查询中断:查询中断: 是采用软件或硬件(串行顺序链电路)查询技术来是采用软件或硬件(串行顺序链电路)查询技术来确定发出中断请求的中断源。确定发出中断请求的中断源。7.1.3现代微机中的中断处理现代微机中的中断处理虽然不同的微型计
9、算机的中断系统有所不同,但实虽然不同的微型计算机的中断系统有所不同,但实现中断时都有一个相同的中断处理过程。它包括:现中断时都有一个相同的中断处理过程。它包括:中断请求中断请求中断判优中断判优中断响应中断响应中断服务中断服务中断返回中断返回依次介绍此过程依次介绍此过程1、中断处理过程、中断处理过程(1) 中断请求中断请求当外部设备要求当外部设备要求CPU为它服务时,都要发送一为它服务时,都要发送一个个“中断请求中断请求”信号给信号给CPU进行中断请求;进行中断请求;CPU在执行完每条指令后去检查在执行完每条指令后去检查“中断请求中断请求”输入线,看是否有外部发来的输入线,看是否有外部发来的“中
10、断请求中断请求”。中断判优中断判优A)可屏蔽中断请求由接口电路向可屏蔽中断请求由接口电路向8259A发中断请发中断请求,经求,经8259A处理之后通过处理之后通过INTR引脚向引脚向CPU发请求发请求信号,并且还要提供中断类型号。信号,并且还要提供中断类型号。 对外部的中断申请有权决定是否予以响应:对外部的中断申请有权决定是否予以响应:若允许申请,中断程序开始处用若允许申请,中断程序开始处用STI指令打指令打开中断;开中断;若不允许,则用若不允许,则用CLI指令关闭中断。指令关闭中断。B)非屏蔽中断通过非屏蔽中断通过NMI引脚提出请求;引脚提出请求;C)内部中断根据指令的执行情况而定。内部中断
11、根据指令的执行情况而定。中断判优中断判优(2)中断判优)中断判优要求设计者根据中断源的紧急情况,给每个中断源一个要求设计者根据中断源的紧急情况,给每个中断源一个中断级别,即中断优先权,根据中断优先权进行判优。中断级别,即中断优先权,根据中断优先权进行判优。作用(作用(2个)个):A)解决同时出现两个或两个以上的中断源产生请求)解决同时出现两个或两个以上的中断源产生请求的情况。的情况。B)实现中断嵌套。)实现中断嵌套。排优方法排优方法软件排优软件排优硬件排优(如:可编程中断控制器)硬件排优(如:可编程中断控制器)中断响应中断响应(3)中断响应)中断响应CPU响应中断时,最重要的是要获得对应的中断
12、类型号,响应中断时,最重要的是要获得对应的中断类型号,之后,完成如下操作:之后,完成如下操作: A)将标志寄存器)将标志寄存器PSW的内容压入堆栈的内容压入堆栈 B)将)将TF和和IF清清0 C)保护断点,即将断点处)保护断点,即将断点处CS和和IP的内容压入堆栈;的内容压入堆栈; D)将中断类型号)将中断类型号4,找到被响应的中断源的服务程,找到被响应的中断源的服务程序的入口地址(包括中断服务程序的段地址和偏移地序的入口地址(包括中断服务程序的段地址和偏移地址),再分别将它们装入址),再分别将它们装入CPU的的CS和和IP寄存器,一旦寄存器,一旦装入完毕,就进入中断服务程序并开始执行。装入完
13、毕,就进入中断服务程序并开始执行。中断服务中断服务(4) 中断服务中断服务中断服务:由中断服务子程序来完成。子程序中必须作以中断服务:由中断服务子程序来完成。子程序中必须作以下工作:下工作: A)保护现场:把中断服务子程序中用到的寄存器的)保护现场:把中断服务子程序中用到的寄存器的内容入栈,以防影响主程序的运行;内容入栈,以防影响主程序的运行; B)开中断:以便在此子程序中允许中断嵌套;)开中断:以便在此子程序中允许中断嵌套; C)执行中断处理程序:完成相应的任务;)执行中断处理程序:完成相应的任务; D)关中断:确保有效的恢复现场)关中断:确保有效的恢复现场 E)恢复现场。)恢复现场。中断返
14、回中断返回(5)中断返回)中断返回中断服务程序结束,执行中断服务程序结束,执行“中断返回中断返回”: 会自动将保存在堆栈中的被中断的程序的断点及标志会自动将保存在堆栈中的被中断的程序的断点及标志寄存器的内容弹出(依次弹出寄存器的内容弹出(依次弹出6个字节为个字节为IP,CS和和PSW);); 并将弹出的断点装入代码段寄存器(并将弹出的断点装入代码段寄存器(CS)和指令指针)和指令指针寄存器(寄存器(IP) ,使程序又回到中断前的地址继续执行。,使程序又回到中断前的地址继续执行。说明说明不同类型中断的处理过程都要经过以上不同类型中断的处理过程都要经过以上5步,但存在细微差别,其主要区别在于获取步
15、,但存在细微差别,其主要区别在于获取中断号的方法不同。因此,在中断响应这一中断号的方法不同。因此,在中断响应这一步有差别。步有差别。4.中断响应周期中断响应周期2. 中断响应周期中断响应周期(1)内部中断:)内部中断:由指令或在执行指令过程中提供中断类型号,获得类型号由指令或在执行指令过程中提供中断类型号,获得类型号之后执行:之后执行:A)将标志寄存器)将标志寄存器PSW的内容压入堆栈的内容压入堆栈B)将)将TF和和IF清清0C)保护断点,即将断点处)保护断点,即将断点处CS和和IP的内容压入堆栈;的内容压入堆栈;D)将中断类型号)将中断类型号4,从向量表中取入口地址送,从向量表中取入口地址送
16、CS、IP中,执行相应的中断程序。中,执行相应的中断程序。(2)外部中断)外部中断(2)外部中断:)外部中断:非屏蔽中断响应:非屏蔽中断响应:NMI引脚有请求,则自动引脚有请求,则自动产生中断类型码产生中断类型码2,其后的处理与内部中断相同。,其后的处理与内部中断相同。可屏蔽中断响应:可屏蔽中断响应:中断响应周期有两个:中断响应周期有两个:第一个第一个#INTA:通知中断源提供中断类型号;:通知中断源提供中断类型号;第二个第二个#INTA:T4状态的前沿获得中断类型号。状态的前沿获得中断类型号。获得类型号之后处理与内部中断相同。获得类型号之后处理与内部中断相同。7.1.4 中断向量的中断向量的
17、修改与设置修改与设置开机上电时,系统配置和使用的中断所对应的中开机上电时,系统配置和使用的中断所对应的中断向量由断向量由BIOS负责装入,负责装入,BIOS将中断服务程序的入将中断服务程序的入口地址直接写入中断向量表。口地址直接写入中断向量表。用户自己编写的中断处理程序须由用户把中用户自己编写的中断处理程序须由用户把中断向量放入中断向量表。可以直接写入也可以断向量放入中断向量表。可以直接写入也可以通过通过DOS功能调用实现。功能调用实现。例子例子1.中断向量的设置中断向量的设置 例例1:假设:假设中断类型号为中断类型号为60H;中断服务程序的段基址是中断服务程序的段基址是SEG_INTR(03
18、00H););偏移地址是偏移地址是OFFSET_INTR(006DH););则填写中断向量表的程序段为:则填写中断向量表的程序段为:提示:中断向量表存放在内存的最低端。提示:中断向量表存放在内存的最低端。(1)用)用MOV指令设置(直接写入)指令设置(直接写入)(2)中断向量修改)中断向量修改MOV AX,0MOV ES,AXMOV BX,4*60H;中断;中断类型类型号号*4BXMOV AX,006DH;中断服务程序偏移地址;中断服务程序偏移地址MOV ES:BX, AX;装入偏移地址;装入偏移地址MOV AX,0300HMOV ES:BX+2,AX;装入段基址;装入段基址AH=25H入口参
19、数:入口参数:DS:DX=中断子程序入口地址中断子程序入口地址AL=中断类型号中断类型号(2)利用)利用DOS功能设置中断向量功能设置中断向量 例例1:假设:假设中断类型号为中断类型号为60H;中断服务程序的段基址是中断服务程序的段基址是SEG_INTR(0300H););偏移地址是偏移地址是OFFSET_INTR(006DH););则填写中断向量表的程序段为:则填写中断向量表的程序段为:MOV AH,25H ;设置新中断向量;设置新中断向量MOV AL,60HMOV BX,0300HMOV DS,BX;送送中断服务程序入口段地址中断服务程序入口段地址到到DSMOV DX,006DH;DX为为
20、中断服务程序偏移地址中断服务程序偏移地址INT 21H用户在使用中断时,通常是采用中断向用户在使用中断时,通常是采用中断向量修改的办法来使用系统的中断资源。量修改的办法来使用系统的中断资源。中断向量的修改方法是利用中断向量的修改方法是利用DOS功能调功能调用用INT 21H中的中的35H号和号和25H号功能。号功能。2.中断向量的修改中断向量的修改例子例子修改中断向量的步骤有修改中断向量的步骤有3步:步: 用用35H号功能,获取原中断向量,并保存号功能,获取原中断向量,并保存在字变量中。在字变量中。 用用25H号功能,设置新中断向量,取代原号功能,设置新中断向量,取代原中断向量,以便当中断发生
21、后,转移到新中断中断向量,以便当中断发生后,转移到新中断服务程序中去。服务程序中去。 新中断服务程序完毕后,利用新中断服务程序完毕后,利用25H号功能号功能恢复原中断向量。恢复原中断向量。AH=35H:取中断向量:取中断向量入口参数:入口参数:AL=中断类型号中断类型号出口参数:出口参数:ES:BX=中断子程序入口地址中断子程序入口地址修改步骤修改步骤例例2:假设原中断程序的中断类型号是假设原中断程序的中断类型号是n;新中断程序入口地址的段基址为新中断程序入口地址的段基址为SEG_NTR;偏移地址是偏移地址是OFFSET_INTR;中断向量修改的程序段为:中断向量修改的程序段为:MOV AH,
22、35H ;取原中断向量;取原中断向量MOV AL,nHINT 21HMOV AX,ESMOV OLD_SEG,AX ;保存原中断向量;保存原中断向量MOV OLD_OFF,BXMOV AH,25H ;设置新中断向量;设置新中断向量MOV AL,nHMOV DX,SEG_INTRMOV DS,DX;送送中断服务程序入口段地址中断服务程序入口段地址到到DSMOV DX,OFF_INTR;DX为为中断服务程序偏移地址中断服务程序偏移地址INT 21HMOV AH,25H ;恢复原中断向量;恢复原中断向量MOV AL,nHMOV DX,OLD_SEGMOV DS,DXMOV DX,OLD_OFFINT
23、 21H(1) 接受和扩充外部设备的中断请求接受和扩充外部设备的中断请求一片一片8259A可以接受可以接受8个中断请求,经过级联可扩个中断请求,经过级联可扩展至展至8片片8259A,实现,实现64级中断。级中断。(2)优先级排队管理)优先级排队管理8259A具有完全嵌套、循环优先级、特定屏蔽等多具有完全嵌套、循环优先级、特定屏蔽等多种方式的优先级排队管理。种方式的优先级排队管理。(3)提供中断类型号)提供中断类型号 8259A在微机系统中的主要作用在微机系统中的主要作用3、47.2.1 8259A的外部引脚和内部结构的外部引脚和内部结构一、一、8259A的外部引脚的外部引脚1. 与外设连接的引
24、脚与外设连接的引脚:IR0IR72. 与与CPU连接的引脚:连接的引脚:(1)D0D7:双向、三态:双向、三态(2)INT:中断请求输出信号,单片情况下接:中断请求输出信号,单片情况下接CPU的的INTR端端(3)#INTA:中断允许,接到:中断允许,接到CPU的的#INTA端;接收到此信号,端;接收到此信号,就要把中断类型号准备好,送到就要把中断类型号准备好,送到DB上去。上去。(4)#WR:写命令信号引脚,允许:写命令信号引脚,允许CPU将将ICW和和OCW分别写入分别写入初始化命令寄存器和操作命令寄存器。初始化命令寄存器和操作命令寄存器。(5)#RD:读命令信号引脚,可对:读命令信号引脚
25、,可对8259A的的IRR、ISR、IMR的的内容及中断级编码进行读出操作。内容及中断级编码进行读出操作。3.用于级联的引脚用于级联的引脚3. 用于级联的引脚:用于级联的引脚:说明:对于主片,要知道在哪个引脚上连有从片对于从说明:对于主片,要知道在哪个引脚上连有从片对于从片,要知道本片连到主片的哪个引脚上。片,要知道本片连到主片的哪个引脚上。(1)CAS0CAS2:级联信号线:级联信号线 主片:输出;主片:输出;从片:输入从片:输入(2)#SP/#EN:从片编程:从片编程/缓冲器允许信号,双功缓冲器允许信号,双功能引脚能引脚 8259A工作于非缓冲方式下,工作于非缓冲方式下,#SP,输入信号;
26、,输入信号; 为为1,表示:主片,表示:主片 为为0,表示:从片,表示:从片 8259A工作于缓冲方式下,工作于缓冲方式下,#EN,输出信号,控制缓冲器,输出信号,控制缓冲器的传送方向;的传送方向; 为为0,控制数据由,控制数据由8259ACPU 为为1,控制数据由,控制数据由CPU8259A4.端口地址选择端口地址选择4. 端口地址选择信号引脚:端口地址选择信号引脚:(1)#CS:片选信号,该引脚为低电平时,:片选信号,该引脚为低电平时,8259A才被选中。才被选中。(2)A0:选内部端口,直接接地址总线中的:选内部端口,直接接地址总线中的某一位。某一位。A0有两个状态(有两个状态(0、1)
27、,因此它将),因此它将8259A的编程地址分为两种:的编程地址分为两种:A01为奇地址,为奇地址, A00为偶地址为偶地址二、二、8259A的内部结构的内部结构1.中断请求寄存器(中断请求寄存器(IRR)是一个是一个8位寄存器;位寄存器;存放从存放从IR线上提出中断请求的中断源的状态;线上提出中断请求的中断源的状态;该寄存器该寄存器8位(位(D0D7)对应于连接在)对应于连接在IR0IR7线上的外设所产生的中断请求:线上的外设所产生的中断请求:哪一根输入线有请求(为高电平),对应位就置哪一根输入线有请求(为高电平),对应位就置“1”否则为否则为0;具有锁存功能,其内容可用具有锁存功能,其内容可
28、用OCW3命令读出。命令读出。2.中断服务寄存器中断服务寄存器ISR2. 中断服务寄存器(中断服务寄存器(ISR)是一个是一个8位寄存器;位寄存器;记录目前正在服务的中断;记录目前正在服务的中断;在中断响应之后,在第一个中断周期(在中断响应之后,在第一个中断周期(#INTA1)将)将获准中断请求的中断级在相应的获准中断请求的中断级在相应的ISR位置位,表明位置位,表明IR3正处于被服务中;正处于被服务中;因此,因此,ISR被用来存放正在被服务的所有中断级;被用来存放正在被服务的所有中断级; ISR中某一位置中某一位置1,可阻止与它同级以及比它优先级低的请求,可阻止与它同级以及比它优先级低的请求
29、被响应;被响应; 但不阻止比它优先级高的中断请求被响应;但不阻止比它优先级高的中断请求被响应; 包括尚未服务完而中途被别的中断所打断了的中断级。包括尚未服务完而中途被别的中断所打断了的中断级。其内容可用其内容可用OCW3命令读出。命令读出。3.优先级分析器优先级分析器3. 优先级分析器(优先级分析器(PR)作用作用1:当输入端当输入端IR0IR7中有多个中断请求信号中有多个中断请求信号同时产生时;优先级分析器对保存在同时产生时;优先级分析器对保存在IRR中的各中断中的各中断请求进行判优,判别出优先级最高的中断请求,并在请求进行判优,判别出优先级最高的中断请求,并在第一个中断响应周期(第一个中断
30、响应周期(INTA)将其送至)将其送至ISR(即将(即将响应位置响应位置1)。)。作用作用2:负责检查中断源中断请求的优先级并和负责检查中断源中断请求的优先级并和“正正在服务中的中断在服务中的中断”进行比较,确定是否让这个中断请进行比较,确定是否让这个中断请求送给处理器。求送给处理器。 假定中断源的中断比正在服务中的中断有更高假定中断源的中断比正在服务中的中断有更高的优先级,则优先级分析器就使的优先级,则优先级分析器就使INT线变为高电平,线变为高电平,送给送给CPU,为它提出申请,并且在中断响应时将它,为它提出申请,并且在中断响应时将它记入记入ISR的对应位中。的对应位中。 若中断源的中断等
31、级等于或低于正在服务中的若中断源的中断等级等于或低于正在服务中的中断等级,则优先级分析器不为其提出申请。中断等级,则优先级分析器不为其提出申请。4.中断屏蔽寄存器中断屏蔽寄存器4. 中断屏蔽寄存器(中断屏蔽寄存器(IMR)是一个是一个8位寄存器位寄存器对中断请求寄存器对中断请求寄存器IRR起屏蔽作用。起屏蔽作用。寄存器寄存器8位(位(D0D7)对应)对应IR0IR7 8级中断。级中断。哪一级中断被屏蔽,就将哪一级中断被屏蔽,就将IMR哪位写哪位写1,即禁止相,即禁止相应应IR端提出的中断请求;端提出的中断请求;反之,写反之,写0,就开放响应的中断,即允许相应,就开放响应的中断,即允许相应IR端
32、端提出中断请求。提出中断请求。屏蔽操作由屏蔽命令屏蔽操作由屏蔽命令OCW1执行执行。5.数据总线缓冲器数据总线缓冲器5. 数据总线缓冲器数据总线缓冲器数据总线缓冲器是一个三态、双向数据总线缓冲器是一个三态、双向8位缓冲存储器。它位缓冲存储器。它被用来作为被用来作为8259A与与CPU的接口。的接口。在编程时,对数据总线缓冲器有两种操作:在编程时,对数据总线缓冲器有两种操作:CPU可以对可以对8259A写入控制字;写入控制字;CPU可从可从8259A中读出状态信息。中读出状态信息。6.读写逻辑读写逻辑#CS#WR#RDA0读写操作读写操作0010写写ICW1,OCW2,OCW30011写写ICW
33、2ICW4,OCW10100读读IRR,ISR,查询字,查询字0101读读IMR8259A8259A的读的读/ /写操作命令写操作命令6. 读读/写逻辑写逻辑作用:控制通过数据总线缓冲器数据的传送方向(读作用:控制通过数据总线缓冲器数据的传送方向(读/写)。写)。7.级连缓冲比较器级连缓冲比较器7. 级联缓冲器级联缓冲器/比较器比较器它们用于多片级联及数据缓冲方式,提供了主、从片之它们用于多片级联及数据缓冲方式,提供了主、从片之间的接口。间的接口。级联方式中,主片和从片之间将级联方式中,主片和从片之间将3个引脚个引脚CAS0CAS2相互连接成为专用总线。相互连接成为专用总线。主片将中断申请被响
34、应的从片的标志号主片将中断申请被响应的从片的标志号ID通过通过CAS0CAS2 线送到从片,通知中断被响应。线送到从片,通知中断被响应。从片收到标志号后,与自身的标识号比较,若相符,从片收到标志号后,与自身的标识号比较,若相符,则在第二个则在第二个#INTA2脉冲到来时,从片将中断号送脉冲到来时,从片将中断号送到数据总线上。到数据总线上。8.控制逻辑控制逻辑8. 控制逻辑控制逻辑根据中断请求寄存器根据中断请求寄存器IRR的置位情况和优先级分析器的置位情况和优先级分析器的判定结果,向的判定结果,向8259A其他部分发出控制信号;其他部分发出控制信号;同时向同时向CPU发中断请求信号(发中断请求信
35、号(INT););并接收来自并接收来自CPU的中断响应(的中断响应(#INTA),控制),控制8259A进行中断服务状态。进行中断服务状态。u三、三、8259A的工作方式(的工作方式(5类)类)1. 引入中断请求(中断触发)的方式(引入中断请求(中断触发)的方式(3种)种) 边沿触发方式。边沿触发方式。 在某个中断请求引脚上(在某个中断请求引脚上(IRi)有上升沿出现,表示有中断请)有上升沿出现,表示有中断请求产生,上升沿后可一直维持高电平,不会再产生中断。求产生,上升沿后可一直维持高电平,不会再产生中断。 电平触发方式。电平触发方式。 在某个中断请求引脚上(在某个中断请求引脚上(IRi)出现
36、高电平表示有中断请求;)出现高电平表示有中断请求; 但在响应中断后必须及时清除高电平,以免引起第二次误中断。但在响应中断后必须及时清除高电平,以免引起第二次误中断。中断查询方式。中断查询方式。 CPU用软件查询确定中断源,并为其服务;此时用软件查询确定中断源,并为其服务;此时8259A不使不使用用INT信号向信号向CPU申请中断,申请中断,2.连接系统总线的方式连接系统总线的方式2. 连接系统总线的方式(连接系统总线的方式(2种)种) 缓冲器方式缓冲器方式 要求要求8259A通过总线缓冲器接到数据总线上;通过总线缓冲器接到数据总线上; 适用于多片级联方式的大系统中;适用于多片级联方式的大系统中
37、; 此时的此时的#SP/#EN的的#EN有效,用于启动缓冲器工作,控有效,用于启动缓冲器工作,控制数据传送方向。制数据传送方向。 非缓冲器方式非缓冲器方式 8259A不需要总线缓冲器而是将其直接接至数据总线;不需要总线缓冲器而是将其直接接至数据总线; 适用于小系统中;适用于小系统中; 此时此时#SP/#EN的的#SP有效,用于表示主有效,用于表示主/从芯片。从芯片。3.屏蔽中断源的方式屏蔽中断源的方式3. 屏蔽中断源的方式(屏蔽中断源的方式(2种)种) 通常屏蔽方式通常屏蔽方式利用操作命令字利用操作命令字OCW1对中断屏蔽寄存器对中断屏蔽寄存器IMR相应相应位进行操作;位进行操作;对相应位置对
38、相应位置1,表示此位对应的中断请求被屏蔽;,表示此位对应的中断请求被屏蔽;对相应位置对相应位置0,表示此位对应的中断请求被开放;,表示此位对应的中断请求被开放; 特殊屏蔽方式特殊屏蔽方式在某些场合,在执行某一个中断服务程序时,要求允在某些场合,在执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,此时可采许另一个优先级比它低的中断请求被响应,此时可采用特殊屏蔽方式。它可通过用特殊屏蔽方式。它可通过OCW3的的D6D511来来设定。设定。4.优先级排队的方式优先级排队的方式4. 优先级排队的方式(优先级排队的方式(4种)种) 全嵌套方式。全嵌套方式。特点:优先级固定不变;特点:
39、优先级固定不变;规定:中断优先级按规定:中断优先级按IR0IR7的顺序由高到低的顺序由高到低进行排队;进行排队;只允许中断级别高的中断源去中断中断级别低的只允许中断级别高的中断源去中断中断级别低的中断服务程序,而不能相反。中断服务程序,而不能相反。若在对若在对8259A进行初始化以后,没有设置其它优进行初始化以后,没有设置其它优先级方式,则自动按此方式工作。先级方式,则自动按此方式工作。 特殊全嵌套方式。特殊全嵌套方式。特点:它和全嵌套方式基本相同,所不同的是在特点:它和全嵌套方式基本相同,所不同的是在特殊嵌套方式下,当执行某一级中断服务程序时,特殊嵌套方式下,当执行某一级中断服务程序时,可响
40、应同级的中断请求,从而实现对同级中断请可响应同级的中断请求,从而实现对同级中断请求的特殊嵌套。求的特殊嵌套。用于多片级联的情况下。用于多片级联的情况下。3 优先级自动轮换方式。优先级自动轮换方式。特点:优先级顺序不是固定不变的,当一个设备受特点:优先级顺序不是固定不变的,当一个设备受到中断服务后,其优先级自动降为最低,它的下一到中断服务后,其优先级自动降为最低,它的下一级变为最高级,依次进行排列;级变为最高级,依次进行排列;其初始的优先级顺序规定:由高到低为其初始的优先级顺序规定:由高到低为IR0,IR1,IR7;各优先级的相对位置未发生变化;各优先级的相对位置未发生变化;该方式用在系统中多个
41、中断源优先级相等的场合。该方式用在系统中多个中断源优先级相等的场合。 优先级指定轮换方式。优先级指定轮换方式。特点:此方式与优先级自动轮换方式唯一的区别特点:此方式与优先级自动轮换方式唯一的区别是,其初始的优先级顺序不是固定是,其初始的优先级顺序不是固定IR0位最高,位最高,然后开始轮换,而是通过程序规定中断优先级的然后开始轮换,而是通过程序规定中断优先级的顺序;顺序;通过一个写命令(写通过一个写命令(写OCW2)指定)指定IR0IR7中任意一个为最低优先级,然后再按顺序自动轮中任意一个为最低优先级,然后再按顺序自动轮换,决定优先级。换,决定优先级。5.结束中断的处理方式结束中断的处理方式5.
42、 结束中断的处理方式(结束中断的处理方式(2种)种) 自动中断结束方式自动中断结束方式在中断服务程序中,中断返回之前,不需发中断在中断服务程序中,中断返回之前,不需发中断结束命令就会自动清除该中断服务程序所对应的结束命令就会自动清除该中断服务程序所对应的ISR位;位;这种方式用在多个中断不会嵌套的系统中。这种方式用在多个中断不会嵌套的系统中。 非自动中断结束方式非自动中断结束方式在中断服务程序返回之前,必须发中断结束命在中断服务程序返回之前,必须发中断结束命令才能使令才能使ISR中的当前服务位清除。中的当前服务位清除。u四、四、8259A命令字命令字对对8259A的编程分为两部分:的编程分为两
43、部分:1.初始化编程初始化编程CPU向向8259A写入写入24个初始化命令字个初始化命令字ICW;其中其中ICW1、ICW2必须写入,是否写入必须写入,是否写入ICW3、ICW4取决于取决于ICW1的内容。的内容。2.操作方式编程操作方式编程 CPU向向8259A写入写入3个操作命令字个操作命令字OCW;根据需要,根据需要,OCW可在初始化之后的任何时间写入可在初始化之后的任何时间写入; 8259A有两类命令字有两类命令字1.初始化命令字(初始化命令字(ICW),有四个:),有四个: ICW1ICW4;对对8259A工作方式和工作条件进行设置。工作方式和工作条件进行设置。2. 操作命令字(操作
44、命令字(OCW),有三个:),有三个:OCW1OCW3;对中断处理过程实现动态控制的操作。对中断处理过程实现动态控制的操作。问题问题问题?:问题?:CPU向向8259A写入的命令字有写入的命令字有7个,但个,但8259A的端口地址只有两个,命令字多,端口地址少,的端口地址只有两个,命令字多,端口地址少,怎样来解决此问题?怎样来解决此问题?1.从顺序上区分;从顺序上区分;2.从标志位上区分。从标志位上区分。初始化命令字初始化命令字初始化命令字(初始化命令字(ICW1ICW4)写写ICW1写写ICW2写写ICW4写写ICW3级联?级联?需需ICW4?初始化完成初始化完成是是否否是是否否通过偶地址写
45、入,通过偶地址写入,A0=0通过奇地址写入,通过奇地址写入,A0=18259A内部自动进行如下初始化:内部自动进行如下初始化:(1)顺序逻辑复位,准备按顺序逻辑复位,准备按ICW2、ICW3、ICW4的顺序接的顺序接收收(2)清除清除ISR和和IMR(3)指定指定IR0优先级最高,依次为优先级最高,依次为IR1IR7(4)设定为普通屏蔽方式设定为普通屏蔽方式(5)设置为非自动中断结束方式设置为非自动中断结束方式(6)状态读出电路预置为状态读出电路预置为IRRICW1当当D41时,表示写入的是时,表示写入的是ICW1 ,写入时,写入时A00;D0(IC4)位:决定是否需要写初始命令字)位:决定是
46、否需要写初始命令字ICW4; D0=1,需要,需要ICW4;D0=0,不需要,不需要ICW4。D1 (SNGL)位:决定是否单片使用;)位:决定是否单片使用; D1=1,为单片使用,不需要写,为单片使用,不需要写ICW3; D1=0,为多片级联方式,需要写,为多片级联方式,需要写ICW3。D3 (LTIM)位:决定电平触发方式;)位:决定电平触发方式; D3=1,为电平触发;,为电平触发; D3=0,为边沿触发。,为边沿触发。D4:ICW1的特征位。的特征位。D7 D6 D5D4D3D2D1D00001LTIMADISNGLIC416位机无效特征位电平触发无效 单片使用 需要ICW4ICW21
47、. ICW1(初始化字)(初始化字)写入时,写入时,A01对于对于8086/8088来说,来说,T7T3由用户来设置,表由用户来设置,表示中断类型码的高五位,示中断类型码的高五位,T2T0在响应中断时,由中断请求线在响应中断时,由中断请求线IRi的二进制编的二进制编码(码(IR4的编码为的编码为100)决定,由)决定,由8259A系统自动产系统自动产生,在第一个生,在第一个#INTA到来时,将这个编码写入低到来时,将这个编码写入低3位。位。D7D6D5D4D3D2D1D0T7T6T5T4T3000中断类型号的高5位自动产生ICW32. ICW2(中断类型号的设置字)(中断类型号的设置字)3.
48、ICW3(中断级联方式的设置字)(中断级联方式的设置字)若若ICW1的的D1=0,则需要写,则需要写ICW3,写入时,写入时A01,对主、从片,对主、从片分开写入;分开写入;主片的格式:主片的格式: D7D0表示对应中断请求引脚表示对应中断请求引脚IR7IR0有无从片接入有无从片接入 当主片输入端当主片输入端IRi上连接有从片的中断请求上连接有从片的中断请求INT时,则设置时,则设置Si=1; 否则否则Si为为0D7D6D5D4D3D2D1D0S7S6S5S4S3S2S1S0从片格式从片格式从片的格式如下:从片的格式如下: 只用到低三位只用到低三位D2D0(从片标志码),有(从片标志码),有8
49、种编码,其值表示种编码,其值表示本从片的中断请求线本从片的中断请求线INT接到主片的输入端接到主片的输入端IRi ; 若若D2D0为为010,表示接到主片的,表示接到主片的IR2引脚;引脚; 第一个中断请求回答信号第一个中断请求回答信号#INTA1脉冲使所有的脉冲使所有的8259A得到通得到通知:中断申请已被允许。在此同时,作为主片的知:中断申请已被允许。在此同时,作为主片的8259A要在要在CAS0CAS2总线上发出被响应的从片的总线上发出被响应的从片的ID码;从片接到此码,码;从片接到此码,和自己的和自己的ID比较,如果相等,则在下一个中断应答信号比较,如果相等,则在下一个中断应答信号#I
50、NTA2时,将中断类型号送到数据总线上,这样就完成了中断响应。时,将中断类型号送到数据总线上,这样就完成了中断响应。D7D6D5D4D3D2D1D0XXXXXID2ID1ID0从片标志码ICW44. ICW4D0(PMPM):选用):选用CPU的类型的类型D01 选用选用8086/8088D00 选用选用8080/8085D1(AEOI):中断结束方式):中断结束方式 D1=1,自动结束方式,即,自动结束方式,即ISR有自动复位功能,无须有自动复位功能,无须发送中断结束命令发送中断结束命令EOI;D1=0,为非自动结束方式,则在中断服务程序完毕后,为非自动结束方式,则在中断服务程序完毕后,CP
51、U要向其发送要向其发送EOI命令。命令。D7D6D5D4D3D2D1D0000SFNMBUFM/#SAEOIPM续续D3(BUF):规定了与总线的连接方式):规定了与总线的连接方式 D3=1,为缓冲器方式,此时,为缓冲器方式,此时#SP/#EN引脚为输出线,引脚为输出线,用作控制缓冲器的数据传送方向;用作控制缓冲器的数据传送方向; D3=0,为非缓冲器方式,此时,为非缓冲器方式,此时#SP/#EN为输入线,用为输入线,用作主作主/从控制。从控制。D2(M/#S):当):当D3=1时,时,D2为主、从片标志为主、从片标志D2=1,此片为主片;,此片为主片;D2=0,此片为从片;,此片为从片;若在
52、非缓冲方式(若在非缓冲方式(D3=0)时,)时,D2无意义,此时主无意义,此时主/从标志从标志由由#SP决定。决定。D4=1(SFNM):规定采用的嵌套方式):规定采用的嵌套方式 D4=1,主片采用特殊完全嵌套方式;,主片采用特殊完全嵌套方式; D4=0,主片采用一般全嵌套方式。,主片采用一般全嵌套方式。操作命令字操作命令字操作命令字(操作命令字(OCW1OCW3)初始化命令字之后,初始化命令字之后,8259A就准备就绪了(即:可以接就准备就绪了(即:可以接收外部中断请求信号了);收外部中断请求信号了);此时,此时, 8259A工作在全嵌套工作方式(优先级固定不工作在全嵌套工作方式(优先级固定
53、不变);变);若想改变中断控制方式、屏蔽某些中断、读出若想改变中断控制方式、屏蔽某些中断、读出8259A内内部的状态信息;就要写入操作命令字。部的状态信息;就要写入操作命令字。操作命令字的写入无顺序上的要求,但有地址上的要求。操作命令字的写入无顺序上的要求,但有地址上的要求。OCW1(1) OCW1(中断屏蔽操作)(中断屏蔽操作)作用:用来设置或清除中断源的屏蔽;作用:用来设置或清除中断源的屏蔽;其屏蔽命令其屏蔽命令OCW1的格式如下:的格式如下:Mi1 屏蔽此位对应的中断请求端的设备;屏蔽此位对应的中断请求端的设备;Mi0 开放此位对应的中断请求端的设备;开放此位对应的中断请求端的设备;此命
54、令字通过此命令字通过A01的端口地址写入的端口地址写入8259A内部。内部。D7D6D5D4D3D2D1D0M7M6M5M4M3M2M1M0OCW2(2) OCW2(非自动中断结束方式的操作字)(非自动中断结束方式的操作字)在非自动中断结束方式下,当中断服务程序完毕在非自动中断结束方式下,当中断服务程序完毕时,时,8259A需要得到一个通知,以便将该服务程需要得到一个通知,以便将该服务程序在序在ISR寄存器中对应位清除,让寄存器中对应位清除,让ISR寄存器只记寄存器只记录着那些正在被服务而未服务完毕的中断。录着那些正在被服务而未服务完毕的中断。非自动中断结束(非自动中断结束(EOI)有)有2种
55、格式:不指定的种格式:不指定的EOI方式和指定的方式和指定的EOI方式。方式。续续 不指定的不指定的EOI方式方式当当8259A接收到一个不指定的接收到一个不指定的EOI命令时,它就直命令时,它就直接将最高优先级(在被置位的接将最高优先级(在被置位的ISR中最高)的中最高)的ISR位位复位。复位。 指定的指定的EOI方式方式需要指出一个确切要被复位的需要指出一个确切要被复位的ISR位,可以指定位,可以指定8259A的的8个个IR等级中的任何一个。等级中的任何一个。续续以上两种中断结束方式由命令字以上两种中断结束方式由命令字OCW2来执行;来执行;OCW2的格式为:的格式为:此命令字通过此命令字
56、通过A00的端口写入到的端口写入到8259A内部;内部;其中其中D4、D3为特征位,为为特征位,为0、0;D7位:位:R用来控制用来控制8259A中断优先级的轮换操作中断优先级的轮换操作R位置位置1,则采用轮换优先级方式;,则采用轮换优先级方式;R为为0:优先级固定不变。:优先级固定不变。D7D6D5D4D3D2D1D0RSLEOI00L2L1L0优先级轮换指定中断等级中断结束特征位中断等级编码续续D6位:位:SL用来设置需要指定的操作。用来设置需要指定的操作。D6=0,普通方式,不用对,普通方式,不用对L2 L1 L0这三位赋值;这三位赋值;D6=1,特殊方式,表明需要指出一个确切的被复位,
57、特殊方式,表明需要指出一个确切的被复位的的ISR位(具体哪一位通过对低位(具体哪一位通过对低3位位L2 L1 L0进行赋进行赋值指出,用来指明是值指出,用来指明是8级中断源中的哪一个中断被结级中断源中的哪一个中断被结束)。束)。D5位:位:EOI用于所有需要使用中断结束命令的情况。用于所有需要使用中断结束命令的情况。若置若置1,则在中断服务完毕之后需要发送中断结束命,则在中断服务完毕之后需要发送中断结束命令,使现行中断级的令,使现行中断级的ISR中相应位复位。中相应位复位。OCW2作用作用D2D0位:位:L2L0这这3位编码是用来指定中断等级位编码是用来指定中断等级(07)。作用()。作用(2
58、个):个):(1)特殊循环方式中,指定系统中)特殊循环方式中,指定系统中最低优先级最低优先级的编的编码;码;(2)当)当OCW2给出特殊的中断结束命令时,指明要给出特殊的中断结束命令时,指明要对中断服务寄存器对中断服务寄存器ISR中哪一位复位,此时,它和中哪一位复位,此时,它和D6位位SL配合使用。配合使用。OCW2作用作用OCW2的作用(的作用(2个):个): OCW2作中断结束操作:作中断结束操作: 当在初始化命令当在初始化命令ICW4选用非自动结束方式时,选用非自动结束方式时,就利用就利用OCW2来控制中断结束。来控制中断结束。此时此时EOI(D5)=1。其中又分两种情况:。其中又分两种
59、情况:OCW2作用作用2若采用不指定中断结束方式,则若采用不指定中断结束方式,则SL=0,L2L0=000,OCW2=00100000B;若采用指定中断结束方式,则若采用指定中断结束方式,则SL=1,L2L0编码是编码是被指定的的中断等级,被指定的的中断等级,OCW201100L2 L1 L0,其含,其含义是将义是将L2L0编码所对应的编码所对应的ISR位复位;位复位;例如:指定例如:指定IR5上的中断结束,则上的中断结束,则OCW201100101B=65H。OCW2作用作用2D7D6D5D4D3D2D1D0RSLEOI00L2L1L0优先级轮换指定中断等级中断结束特征位中断等级编码 OCW
60、2作中断优先级排队操作:作中断优先级排队操作:当采用中断优先级轮换方式时(当采用中断优先级轮换方式时(R=1),其中又分两种),其中又分两种情况:情况:l若若SL=1时,则为优先级指定轮换,由时,则为优先级指定轮换,由L2 L1 L0指定系指定系统中最低优先级统中最低优先级的编码;最高优先赋给它的下一级。的编码;最高优先赋给它的下一级。 l若若SL=0时,则为优先级自动轮换。时,则为优先级自动轮换。当采用中断优先权固定方式时(当采用中断优先权固定方式时(R0),则为完全嵌套),则为完全嵌套方式。方式。OCW2命令的功能如表命令的功能如表3所示:所示:功能表功能表R SL EOIR SL EOI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 股东内部承包施工方案(3篇)
- 营销大赛-策划方案(3篇)
- 胸外科各种应急预案(3篇)
- 医保科工作应急预案(3篇)
- 欧式构件沟槽施工方案(3篇)
- 聚合物基复合材料的结构设计优化
- 网络空间主权与全景
- 职业装供应链管理创新
- 深圳铁路客运市场:竞争格局下的精准营销策略探究
- 淮河上游多环芳烃的分布、溯源及生态风险评估:基于水、悬浮物与沉积物的多介质分析
- 《风力发电机组生产及加工工艺》课件
- 学堂在线知识产权法章节测试答案
- 4s店与二手车公司协议合同
- 数据需求管理办法
- 结肠癌疑难病例护理讨论
- 工程机械设备保险课件
- 2025年全国普通高校招生全国统一考试数学试卷(新高考Ⅰ卷)含答案
- 哈尔滨2025年哈尔滨“丁香人才周”(春季)延寿县事业单位引才招聘笔试历年参考题库附带答案详解
- 工程项目绩效管理
- 特种作业培训合同模板8篇
- 购销合同退换货协议
评论
0/150
提交评论