中断屏蔽技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件 + 软件
• 什么是多重中断? • 实现多重中断的条件?
– 提前设置”开中断”指令 – 可以中断嵌套(级别高的中断级别低的 级别高的中断级别低的) 级别高的中断级别低的
例如:中断源A、B、C、D,优先级A>B>C>D。
主程序
B/C
A >
B
>
C > D
D A
3. 屏蔽技术
(1) 屏蔽触发器的作用
(3) 屏蔽技术可改变处理优先等级
响应优先级 处理优先级
中断源 A B C D
不可改变 可改变(通过重新设置屏蔽字) 可改变(通过重新设置屏蔽字)
原屏蔽字 1 0 0 0 1 1 0 0 1 1 1 0 1 1 1 1 新屏蔽字 1 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1
响应优先级 A→B→C→D 降序排列 处理优先级 A→D→C→B 降序排列
INTP1 INTR CPU 查询
D
INTP2
INTP3
INTP4
MASK
Q
1
&
1
&
1
&
1
&
1 &
Q
Байду номын сангаас
INTR1 D
INTR2 MASK1
INTR3 MASK2
INTR4 MASK4
MASK3
MASK = 0(未屏蔽) (未屏蔽) INTR 能被置 “1”
MASKi = 1 (屏蔽) 屏蔽) INTPi = 0 (不能被排队选中) 不能被排队选中)
(2) 屏蔽字
16个中断源 1,2,3 , 16 按 降序 排列 个中断源 , , … 优先级 1 2 3 4 5 6 … 15 16 屏 1 1 1 1 1 1 1 1 0 1 0 0 蔽 1 1 1 1 1 1 1 1 1 1 1 1 … 字 1 1 1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
(1)给出上述4个中断源的中断处理次序。
答:根据上表的屏蔽字,其处理次序为:3>1>4>2
(2)若4个中断源同时有中断请求,画出CPU执行程序的轨迹。
服务程序 程序 1 程序 2 程序 3 程序 4 t 1、2、3、4 同时请求中断
(3) 屏蔽技术可改变处理优先等级
服务程序 D程序 程序 C程序 程序 B程序 程序 A程序 程序 主程序 A处理完 处理完 A、B、C、D 、 、 、 同时请求中断 B处理完 处理完 D处理完 处理完 C处理完 处理完
t
CPU 执行程序轨迹(原屏蔽字) 执行程序轨迹(原屏蔽字)
(3) 屏蔽技术可改变处理优先等级
中断屏蔽技术 ------ 主要用于多重中断
2. 中断系统需解决的问题
(1) 各中断源 如何 向 CPU 提出请求 ? (2) 各中断源 同时 提出 请求 怎么办 ? (3) CPU 什么 条件、什么 时间、以什么 方式 条件、 时间、 响应中断 ? (4) 如何 保护现场 ? (5) 如何 寻找入口地址 ? (6) 如何 恢复现场,如何 返回 ? 恢复现场, (7) 处理中断的过程中又 出现新的中断 怎么办 ?
保护现场 置屏蔽字 开中断 中断服务 关中断 恢复现场 恢复屏蔽字 开中断 中断返回
例如:某机有4个中断源1、2、3、4,其硬件排队优先次序 为1>2>3>4.各中断源的服务程序中对应的屏蔽字如下表所示:
中断源 1 1 2 3 4 1 0 1 0 2 1 1 1 1 屏蔽字 3 0 0 1 0 4 1 0 1 1
服务程序 D程序 程序 C程序 程序 B程序 程序 A程序 程序 主程序 A、B、C、D 、 、 、 同时请求中断 B 0 1 0 0 A 1 1 1 1 D C
t
CPU 执行程序轨迹(新屏蔽字) 执行程序轨迹(新屏蔽字)
(4) 屏蔽技术的其他作用
可以 人为地屏蔽 某个中断源的请求 便于程序控制
(5) 新屏蔽字的设置