51单片机中断响应时间为啥是3~8个机器周期

2019-07-16 05:24发布

请教两个问题:
书上说51单片机响应中断的最短时间为3个机器周期,内部执行一个长调指令2个机器周期,加一个检测周期共3个机器周期。
如果中断检测时正在执行REti或访问IE或IP指令的第一个机器周期,这样包括检测在内需要2个机器周期;紧接着若要执行的指令恰好是乘除指令,又需要4个机器周期;最后再用2个机器周期执行长调指令转入中断服务程序。这样,共需8个机器周期。所以单片机中断响应时间一般为3~8个机器周期。
       1、为啥最短是3个周期?中断响应过程是,检测到中断后,单片机自动进行保护断点(压PC入栈),清内部中断标志,把响应的中断服务程序入口地址送入PC。我不清楚这些操作都是不需要花费额外的机器周期吗,虽然是自动执行?
       2、说最长花费8个机器周期的地方,既然已经响应中断了,怎么还会去执行乘除指令呢?不是应该立刻去做问题1中提到的那些事情了吗?
       这两个问题我百思不得其解,请大家指教,是不是我有什么地方理解错了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。