假定某中断系统有四个中断源,其响应优先级为1>2>3>4。假定在执行用户程序时同时发生1、3、4级中断请求,执行3级中断服务程序时发生2级中断请求。请写出处理优先级为1>4>3>2时各中断的屏蔽字及CPU完成中断处理的过程。
时间: 2024-02-23 18:56:52 浏览: 43
处理优先级为1>4>3>2时,各中断的屏蔽字如下:
中断1:屏蔽字为1110,即屏蔽2、3、4级中断请求。
中断2:屏蔽字为1101,即屏蔽3、4级中断请求。
中断3:屏蔽字为1010,即屏蔽2、4级中断请求。
中断4:屏蔽字为0001,即只屏蔽自身的中断请求。
CPU完成中断处理的过程如下:
1. 当发生中断1请求时,CPU检测到中断标志位为1,暂停正在执行的用户程序,保存现场。CPU根据中断1的屏蔽字判断是否允许响应中断1。因为中断1的屏蔽字为1110,即屏蔽2、3、4级中断请求,所以CPU允许响应中断1。CPU执行中断1的服务程序,处理完毕后清除中断标志位,恢复现场,继续执行用户程序。
2. 当发生中断3请求时,CPU检测到中断标志位为1,暂停正在执行的用户程序,保存现场。CPU根据中断3的屏蔽字判断是否允许响应中断3。因为中断3的屏蔽字为1010,即屏蔽2、4级中断请求,所以CPU允许响应中断3。CPU执行中断3的服务程序,在执行服务程序的过程中,发生了2级中断请求。CPU根据中断2的屏蔽字判断是否允许响应中断2。因为中断2的屏蔽字为1101,即屏蔽3、4级中断请求,所以CPU允许响应中断2。CPU保存中断3的现场,暂停中断3的服务程序,执行中断2的服务程序。处理完毕后,CPU恢复中断3的现场,继续执行中断3的服务程序。处理完毕后,清除中断标志位,恢复现场,继续执行用户程序。
3. 当发生中断4请求时,CPU检测到中断标志位为1,暂停正在执行的用户程序,保存现场。CPU根据中断4的屏蔽字判断是否允许响应中断4。因为中断4的屏蔽字为0001,即只屏蔽自身的中断请求,所以CPU允许响应中断4。CPU执行中断4的服务程序,处理完毕后清除中断标志位,恢复现场,继续执行用户程序。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)