计算机体系结构:通用特性解析
1. 中断机制概述
中断是第三代计算机实现的第四大主要编程概念。对于CPU而言,中断待处理信号可能来自内部或外部。不过,在CPU能够接受待处理的中断请求之前,F寄存器中的IF(中断允许标志)位必须被置位。若IF位为0,CPU会暂时忽略该中断信号,且中断待处理信号在CPU采取进一步行动之前不会消失。
当中断发生时,硬件机制会被激活,迫使当前程序交出控制权,CPU会执行上下文切换。在微型计算机中,CPU切换PC(程序计数器)和SR(状态寄存器),这被称为部分上下文切换;在大型机中,切换整套工作寄存器的过程则被称为完全上下文切换。但真正完整的运行环境还包括内存中的代码和磁盘上的数据。任务被定义为基本计算单元,其资源由操作系统分配。在中断期间,CPU会保存当前任务的旧环境,并从低内存地址(也称为中断向量)加载新环境。中断对于保护系统免受崩溃和提高吞吐量是必要的,有了中断,CPU操作和I/O操作可以同时进行。
2. 中断处理流程
当中断条件出现后,控制权会传递给操作系统中的中断处理程序(IH)。若工作寄存器组未被切换,IH会将工作寄存器保存到栈中,分析原因,然后将控制权传递给中断服务例程(ISR)。在上下文切换期间,为避免混淆,会暂时禁用进一步的中断。中断处理完成后,控制权会传递给调度程序(即任务调度器),由其选择下一个要执行的任务。
在新的SR中,会设置一个特殊位来表明机器处于管理状态,此时只能执行一组特权指令。这些特权指令是为系统控制设计的,应用程序员无法访问,例如修改SR、中断另一个I/O处理器、从中断返回等。如果设计了一个单独的I/O处理器来运行操作系统的任务管理例程,那么I/O处理器上的所有指令都是特权指令
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



