[quote=引用 9 楼 lr2131 的回复:] [quote=引用 8 楼 of123 的回复:] 不用想那么复杂,什么队列。 可以这样理解: 一个中断源发生中断请求时,中断控制单元首先判断当前是否有中断,它是否比当前服务的中断优先级高,是否有多个待执行的中断: * 如果当前没有正在服务的中断,判断是否有其他待处理的高优先级中断。如果没有,执行;否则,挂起,先执行高优先级中断。 * 如果当前有正在服务的中断,判断新中断是否有更高优先级。如果是,打断上一个中断,启动新中断;否则,挂起。 在一个中断服务完成时,中断控制单元清除该中断标志(如果是这样设计的),判断是否有挂起的中断,选择优先级最高的执行。 实际上,中断控制单元就是在对所有中断源的中断请求信号进行判断和处理。一个中断请求,实际上就是一路信号有效(比如置位 高电平);所谓挂起,可以理解为暂时不理睬它。
[quote=引用 8 楼 of123 的回复:] 不用想那么复杂,什么队列。 可以这样理解: 一个中断源发生中断请求时,中断控制单元首先判断当前是否有中断,它是否比当前服务的中断优先级高,是否有多个待执行的中断: * 如果当前没有正在服务的中断,判断是否有其他待处理的高优先级中断。如果没有,执行;否则,挂起,先执行高优先级中断。 * 如果当前有正在服务的中断,判断新中断是否有更高优先级。如果是,打断上一个中断,启动新中断;否则,挂起。 在一个中断服务完成时,中断控制单元清除该中断标志(如果是这样设计的),判断是否有挂起的中断,选择优先级最高的执行。 实际上,中断控制单元就是在对所有中断源的中断请求信号进行判断和处理。一个中断请求,实际上就是一路信号有效(比如置位 高电平);所谓挂起,可以理解为暂时不理睬它。
不用想那么复杂,什么队列。 可以这样理解: 一个中断源发生中断请求时,中断控制单元首先判断当前是否有中断,它是否比当前服务的中断优先级高,是否有多个待执行的中断: * 如果当前没有正在服务的中断,判断是否有其他待处理的高优先级中断。如果没有,执行;否则,挂起,先执行高优先级中断。 * 如果当前有正在服务的中断,判断新中断是否有更高优先级。如果是,打断上一个中断,启动新中断;否则,挂起。 在一个中断服务完成时,中断控制单元清除该中断标志(如果是这样设计的),判断是否有挂起的中断,选择优先级最高的执行。 实际上,中断控制单元就是在对所有中断源的中断请求信号进行判断和处理。一个中断请求,实际上就是一路信号有效(比如置位 高电平);所谓挂起,可以理解为暂时不理睬它。
[quote=引用 2 楼 wangfan027 的回复:] 不会,会等着, 把当前的处理完了再处理
不会,会等着, 把当前的处理完了再处理
27,518
社区成员
28,799
社区内容
加载中
试试用AI创作助手写篇文章吧