简述PC/AT机外部可屏蔽中断的中断处理过程。
正确答案:
P.C/AT机外部可屏蔽中断的中断处理过程分为4步:
(1)中断请求。在PC/AT机中,8259A的IRR被设置为边沿触发方式。各个外部可屏蔽中断源可随时将IRR相应位置1,由8259A向CPU提出中断请求INTR。
(2)中断响应。如果除外部可屏蔽中断源外当前没有其他可引起CPU中断的情况,则在当前指令的最后一个时钟周期的开始会检测到INTR。如果此时IF位为1,则在当前指令结束后CPU连续运行两个中断响应周期。在第二个中断响应周期能获得外部可屏蔽中断源对应的中断类型号,将其乘以4,便指向存放中断向量的首地址,从中取出中断向量,送CS、IP。这样,第二个中断响应周期结束后,就开始执行中断服务程序。需要指出,在中断响应周期CPU还要进行将FR、IP、CS的内容入栈等操作。
(3)执行中断服务程序。中断服务程序通常包括保护现场、开中断、中断服务(针对中断源的具体服务)、发中断结束命令、恢复现场以及中断返回6个部分。
(4)中断返回。中断服务程序的最后一条指令都应该是中断返回指令(IRET)。执行该指令时,从堆栈中弹出原先在中断响应时压入堆栈的FR、IP、CS的内容,断点地址被送入IP、CS中,于是返回到被打断的程序,继续往下执行。
(1)中断请求。在PC/AT机中,8259A的IRR被设置为边沿触发方式。各个外部可屏蔽中断源可随时将IRR相应位置1,由8259A向CPU提出中断请求INTR。
(2)中断响应。如果除外部可屏蔽中断源外当前没有其他可引起CPU中断的情况,则在当前指令的最后一个时钟周期的开始会检测到INTR。如果此时IF位为1,则在当前指令结束后CPU连续运行两个中断响应周期。在第二个中断响应周期能获得外部可屏蔽中断源对应的中断类型号,将其乘以4,便指向存放中断向量的首地址,从中取出中断向量,送CS、IP。这样,第二个中断响应周期结束后,就开始执行中断服务程序。需要指出,在中断响应周期CPU还要进行将FR、IP、CS的内容入栈等操作。
(3)执行中断服务程序。中断服务程序通常包括保护现场、开中断、中断服务(针对中断源的具体服务)、发中断结束命令、恢复现场以及中断返回6个部分。
(4)中断返回。中断服务程序的最后一条指令都应该是中断返回指令(IRET)。执行该指令时,从堆栈中弹出原先在中断响应时压入堆栈的FR、IP、CS的内容,断点地址被送入IP、CS中,于是返回到被打断的程序,继续往下执行。
答案解析:有
![](/editor/images/201705/qrcode_for_gh_573e2a458573_258.jpg)
微信扫一扫手机做题