石下醉客 发表于 2015-05-21 23:07

中断处理过程什么时候开中断和关中断

最进读ULK之类的书,对于中断有些困惑。那就是关中断的问题。有时候书上说的是禁止本地中断,有时候是禁止发出中断的中断线上的中断。查了一些资料,发现中断的处理过程是
CPU接收中断信号 --》 关中断 --》 找到中断服务程序的入口 --》开中断 -》中断处理 -》关中断 --》返回之前的进程 --》开中断
中间有两次关开中断。这个关中断对应的是禁止本地中断么?为什么要禁止本地中断呢?另外,中断处理程序是不可重入的,第一个开中断后会不会使得同一中断线再次发出中断请求?

镇水铁牛 发表于 2015-05-23 06:52

这个关中断对应的是禁止本地中断么?是本地中断
为什么要禁止本地中断呢?在中断处理中,已经开中断。禁止中断后,需要去确认下中断源,才能进入中断处理函数。
另外,中断处理程序是不可重入的,第一个开中断后会不会使得同一中断线再次发出中断请求?一般同级别的中断式串行执行的,中断可以嵌套,如软中断被硬中断打断。
页: [1]
查看完整版本: 中断处理过程什么时候开中断和关中断