多重中断Multiple interrupt

一、处理流程


多重中断就是中断的时候还能响应中断
因为本质上中断服务程序也是一个程序而已
多增加了两个步骤,也即保护现场后的开中断和修改屏蔽字,以及执行中断服务后的关中断
屏蔽字是为了解决中断是否被中断中断的优先级问题
 

 

单重中断多重中断
中断隐指令关中断关中断
保存断点(PC)保存断点(PC)
送中断向量送中断向量
中断服务程序保护现场保护现场和屏蔽字
-开中断为了让中断可以被中断
执行中断服务程序执行中断服务程序
-关中断为了保证上一个中断的现场被恢复(通用寄存器就那一份)
恢复现场恢复现场和屏蔽字
开中断开中断
中断返回中断返回

二、 中断屏蔽字技术

中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。

(1).多重中断条件 

①在中断服务程序中提前设置开中断指令。

②优先级别高的中断源有权中断优先级别低的中断源。每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。

(2).屏蔽字设置的规律

1.一般用'1'表示屏蔽,’0'表示正常申请。

2.每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)。

3.屏蔽字中'1'越多,优先级越高。每个屏蔽字中至少有一个'1'(至少要能屏蔽自身的中断) 

 

三、屏蔽字的编写和中断轨迹 

设某机有4个中断源A、B、C、D,其硬件排队优先次序为A>B>C>D,现要求将中断处理次序改为D>A>C>B。
1)写出每个中断源对应的屏蔽字。

中断源屏蔽字
ABCD
A1110
B0100
C0110
D1111


2)按下图所示的时间轴给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20us。 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值