这是书上I/O中断部分“单重中断和多重中断服务程序的流程”,我的疑问是:
1、保护现场包括 :a.保护程序断点;b.保存各寄存器内容。书上说a由中断隐指令完成,b由中断服务程序完成,即ab都属于保护现场,只是a在中断周期执行对吗?
(我理解为:类似于“MAR,MDR功能属于主存,却制作在CPU里。“ 这种理解对吗?)
2、在图里,向量地址->PC这一步在关中断之后;但在书上中断周期部分,第5步是”将向量地址形成部件的输出送至PC,记作向量地址->PC,为下一取指周期准备“,第6步才是关中断,这该如何解释?
3、书上先说:“中断处理可简单归为:中断请求、中断判优、中断响应、中断服务、中断返回5个阶段”,又说“中断服务程序分4部分:保护现场、中断服务(设备服务)、恢复现场、中断返回”。都包含“中断返回”?这其中包含关系是怎样的?
(我知道:一个中断处理程序对应中断请求队列中若干中断服务例程。)
望高手不吝赐教。
总结一下:
1、处理来自硬件的中断请求时,首先在指令周期的执行周期末进行检测,有请求且可以处理时就进入中断周期,开始做准备工作,保存断点,确定中断向量(中断处理程序入口地址),然后置为PC,之后就又是取指、执行了。中断周期这部分的准备工作比较少,由硬件完成,主要就是保存断点。
至于必要的保存寄存器等等,那个工作量多一些,又有线程的指令可以做,自然放在中断服务程序中,即软件完成
2、关中断和将PC置为中断处理程序入口地址,这都是在中断周期内由硬件完成的工作,所以先后顺序无所谓,都做了就行了。这里的关中断是为了中断处理程序执行时不被打断预设的。
3、中断返回指的是中断服务程序在末尾会结束返回,它也意味着整个中断请求的处理结束。所以说中断处理结束返回,也能被理解