当前位置: 技术问答>linux和unix
中断上半部不会被中断,它处在中断处理的第几步?
来源: 互联网 发布时间:2017-04-18
本文导语: 中断处理: 1.关中断:由硬件自动实现,在此中断处理完成前,不处理其它中断; 2.保存断点:将当前的程序计数器PC中的内容保存起来; 3.识别终端源,转向中断服务程序:在多个中断源同时请求中断的情况下,...
中断处理:
1.关中断:由硬件自动实现,在此中断处理完成前,不处理其它中断;
2.保存断点:将当前的程序计数器PC中的内容保存起来;
3.识别终端源,转向中断服务程序:在多个中断源同时请求中断的情况下,实际响应的只能是优先权最高的那个;
4.保存现场,交换屏蔽字:现场信息一般是指程序状态字、中断屏蔽寄存器和CPU中某些寄存器的内容;
5.开中断:开中断将允许更高级的中断请求得到响应,实现中断嵌套;——所谓的可以被其他中断打断? 不想被打算就将处理放在上半部? 4算上半部?
6.执行中断服务程序主体
7.关中断:为了在回复现场和屏蔽字时不要被中断打断;
8.恢复现场和屏蔽字
9.开中断
10.中断返回:由一条IRET指令实现
一:
中断上半部不会被中断,它处在中断处理的第几步?
二:
第6步: 执行中断服务程序主体 —— 指的是中断上半部还是下半部?
1.关中断:由硬件自动实现,在此中断处理完成前,不处理其它中断;
2.保存断点:将当前的程序计数器PC中的内容保存起来;
3.识别终端源,转向中断服务程序:在多个中断源同时请求中断的情况下,实际响应的只能是优先权最高的那个;
4.保存现场,交换屏蔽字:现场信息一般是指程序状态字、中断屏蔽寄存器和CPU中某些寄存器的内容;
5.开中断:开中断将允许更高级的中断请求得到响应,实现中断嵌套;——所谓的可以被其他中断打断? 不想被打算就将处理放在上半部? 4算上半部?
6.执行中断服务程序主体
7.关中断:为了在回复现场和屏蔽字时不要被中断打断;
8.恢复现场和屏蔽字
9.开中断
10.中断返回:由一条IRET指令实现
一:
中断上半部不会被中断,它处在中断处理的第几步?
二:
第6步: 执行中断服务程序主体 —— 指的是中断上半部还是下半部?
|
中断上半部是不可中断的实际意义是,在中断上半部不能调用可能导致进程调度的函数。
第5步的作用你自己的文字里其实已经有说明了,就是要允许其他的中断能够处理,也就是说如果request_irq()时没有指定IRQF_DISABLED(实际上越新的内核,越要求尽量不要用IRQF_DISABLED,因为这样可以让系统的性能更高,从设计的整体趋势来说就是要让锁的颗粒度尽量小),在执行当前的ISR时,如果来了其他的中断,也还能响应。
建议找个具体架构的内核代码,实际看看,只是看这种介绍没法真正理解里面的含义的。
第5步的作用你自己的文字里其实已经有说明了,就是要允许其他的中断能够处理,也就是说如果request_irq()时没有指定IRQF_DISABLED(实际上越新的内核,越要求尽量不要用IRQF_DISABLED,因为这样可以让系统的性能更高,从设计的整体趋势来说就是要让锁的颗粒度尽量小),在执行当前的ISR时,如果来了其他的中断,也还能响应。
建议找个具体架构的内核代码,实际看看,只是看这种介绍没法真正理解里面的含义的。
|
中断上半部在第六步,
中断下半部不在这里面,是第六步提交了一个任务,让内核稍后执行。
中断下半部不在这里面,是第六步提交了一个任务,让内核稍后执行。
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。