首页 百科知识 中断优先权

中断优先权

时间:2022-10-17 百科知识 版权反馈
【摘要】:8259中断控制器用于管理PC机的硬件中断,也就是对PC机的各种外部设备进行管理,在接口技术中的中断编程也就是对8259中断控制器的编程设置。在中断响应周期中,第一个用于通知8259A中断请求已被响应;第二个作为特殊的读操作信号,读取8259A提供的中断类型。② 在服务寄存器:在中断响应后的第一个周期将ISR中与IRR对应的中断源置位,表明该中断源正处在被服务中,ISR复位需要用中断结束命令OCW2来执行。

6.1.4 8259A中断控制器

8259中断控制器用于管理PC机的硬件中断,也就是对PC机的各种外部设备进行管理,在接口技术中的中断编程也就是对8259中断控制器的编程设置。

1.8259A功能

Intel8259A是PC系列计算机所使用的可编程中断控制器,它的主要功能有:

① 具有8级优先权控制,通过级联可扩展至64级优先权控制;

② 每一级中断都可以独立被屏蔽或允许;

③ 在中断响应周期,8259A可提供中断向量,从而快速地转入中断服务程序;

④ 8259A有多种工作方式,均可通过程序来选择。

2.8259A引脚及结构

Intel8259A为28脚双列直插式芯片,主要引脚功能如下:

① IR7~IR0:从外设来的中断请求由这些引脚输入到8259A。在边沿触发方式中,IR应有由低到高的上升沿,此后保持为高电平,直到被响应;在电平触发方式中,IR应输入高电平直到被响应为止。

② INT:当8259A接到外设中断请求,对CPU提出中断请求线,该引脚连接到CPU的INTR上。

img379:CPU接到中断请求送回的中断应答信号。在中断响应周期中,第一个img380用于通知8259A中断请求已被响应;第二个img381作为特殊的读操作信号,读取8259A提供的中断类型。

④ CAS2~CAS0:主8259A与从8259A的级联线,对于主8259A为输出,从8259A为输入。

8259A内部由8个功能模块组成,如图6.5所示。其中与中断处理有关的有:中断请求寄存器(IRR)、在服务寄存器(ISR)、中断屏蔽寄存器(IMR)、优先权电路及控制逻辑。

img382

图6.5 8259A内部框图

① 中断请求寄存器(IRR):用于保存外设在IR7~IR0线上提出的中断请求,由连接在IR7~IR0线上的外设产生的触发信号来置位,其内容可通过读取OCW2来获取。

② 在服务寄存器(ISR):在中断响应后的第一个img383周期将ISR中与IRR对应的中断源置位,表明该中断源正处在被服务中,ISR复位需要用中断结束命令OCW2来执行。

③ 中断屏蔽寄存器(IMR):IMR对IRR中相应的中断请求起屏蔽作用,用户可根据需要允许某些中断发生(相应位置0)或禁止某些中断(相应位置1)。

④ 优先权电路:用于判定当前的中断请求是否输入到CPU,当中断优先权高于CPU在服务中断的优先权,则当前中断终止在服务中断,并响应当前中断请求;若当前中断优先权低于CPU在服务中断的优先权,则等待CPU完成当前中断后再响应该中断。8259A的中断优先权电路是一个采用优先权编码的数字比较电路,所谓优先权高低也就是中断类型编码的大小。

⑤ 读写控制逻辑:CPU对8259A的读写操作除img384信号作特殊操作外,一般的读写操作由img385等几个输入线控制,使8259A可以接收CPU写入的初始化命令字(ICW)和操作命令字(OCW),向CPU送出状态信息。img386A0组合功能如表6-1所示。

表6-1 8259A的读写操作表

img387

3.初始化字和命令字

8259A的初始化包含2~4个初始化命令字(ICW)和3个工作方式命令字(OCW),其中ICW必须依次连续写入,OCW可在需要的时候写入。ICW1启动8259A的初始化顺序,初始化顺序如图6.6所示。

(1)初始化字(ICW)

当CPU用一条输出指令向8259A写入一个命令字(D4=1,指令地址的A0=0),则将解释为初始化命令字ICW1。在8259A的初始化中,ICW1和ICW2是必须写入的,而ICW3和ICW4由工作方式来选择。ICW1的格式及功能如图6.7所示。

img388

图6.6 8259A初始化顺序

img389

图6.7 ICW1格式

ICW2格式如图6.8所示,在8286/8288系统中D7~D3用于确定中断向量的T7~T3,D2~D0位无作用。

img390

图6.8 ICW2格式

ICW3用于定义8259A的级联,其中S=1表示级联了一片从8259A,这时需要设置从8259A的ICW3(标识符),其格式如图6.9所示。

img391

图6.9 主8259A的ICW3格式

ICW4用于设置8259A的中断结束方式、缓冲方式、嵌套方式等,其格式如图6.10所示。

img392

图6.10 ICW4格式

(2)工作命令字(OCW)

8259A在写入了ICW后,就作好了接收外部设备中断请求的准备,在8259A工作期间可随时写入其工作命令字,规定设置8259A的各种工作方式。OCW1是中断屏蔽字,当OCW1的某一位为“1”,则相应的输入线被屏蔽;若某一位为“0”,则相应的输入线被允许。OCW1的格式如图6.11所示。

img393

图6.11 OCW1格式

OCW2的格式如图6.12所示,其中R、SL、EOI的不同组合决定了几种不同的工作方式,L2、L1、L0的编码决定8个中断源的某一个被EOI信号复位或规定某一个中断源的优先权最低,D4D3=00为写入OCW2的特征位。

OCW3的格式如图6.13所示,其中RR、RIS组合决定读取的数据,ESMM、SMM组合设置8259A的屏蔽模式,P用于设置当前是否为查询命令。

img394

图6.12 OCW2格式

img395

图6.13 OCW3格式

图6.13中RIS用于选择读取ISR或IRR,若RIS=1读取ISR,RIS=0读取IRR;RR用于设置是否允许读取IRR或ISR寄存器,RR=1为允许读取;P=1表示CPU需执行一条查询指令(A0=0),其他寄存器读取命令无效;SMM=1选择8259A为特殊屏蔽方式;ESMM=1允许8259A工作于特殊屏蔽方式。

在PC机中BIOS对8259A初始化程序段如下:

img396

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈