操作系统:异常和中断详解

1.异常

异常是指由CPU内部异常引起的意外时间,分为硬故障中断和程序性异常。
        硬故障中断是由硬连线出现异常引起的,如电源掉电、存储器线路错误等。
        程序性异常(也称软中断)是指在CPU内部因执行指令而引起的异常事件,如整除0、断点、单步跟踪、非法指令、栈溢出、地址越界、缺页、分时系统中的时间片中断及用户态到核心态的切换等。
        按发生异常的报告方式和返回方式不同,内部异常可分为故障(Fault)、自陷(Trap)、终止(Abort)。

(1)故障:指在引起故障等指令启动后、执行结束前被检测到的异常事件。
(2)自陷:也称陷阱或陷入,它是预先安排的一种“异常”事件,就像预先设定的“陷阱”一样。
(3)终止:如果在执行指令的过程中发生了使计算机无法继续执行的硬件故障,如电源掉电、线路故障等,那么程序将无法继续执行,只能终止,此时调出中断服务程序来重启系统。这种异常与前两种不同,他不是特定指令产生的,而是随机发生的。

2.中断的基本概念

程序中断:
        指计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时终止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行源程序。

程序中断的作用:
(1)实现CPU与I/O设备的并行工作。
(2)处理硬件故障和软件错误。
(3)实现人机交互,用户干预机器需要用到干预系统。
(4)实现多道程序、分时操作,多道程序的切换需借助中断系统。
(5)实时处理需要借助中断系统来实现快速响应。
(6)实现应用程序和操作系统(管态程序)的切换,称为“软中断”。
(7)多处理器系统中各处理器之间的信息交流和任务切换。

程序中断方式的思想:
        CPU在程序中安排好于某个时刻启动某台外设,然后CPU继续执行原来的程序,不需要一直等待外设就绪。一旦外设完成数据传送的准备工作就主动向CPU发出中断请求,请求CPU为自己服务。CPU暂时终止正在执行的程序,转去执行中断服务程序为外设服务,在中断服务程序中完成一次主机与外设之间的数据传送,传送完成后,CPU返回原来的程序。

三、程序中断方式的工作流程


(1)中断请求:一台计算机允许有多个中断源(中断源:请求CPU中断的设备或事件)
(2)中断判优:中断系统在任一瞬间只能响应一个中断源的请求,所以需要通过优先判断逻辑确认响应哪个中断源的请求。
        中断判优的实现方式:
                硬件实现:硬件排队器
                软件实现:查询程序
(3)CPU响应中断的条件:  ① 中断源有中断请求
                                                ② CPU允许中断及开中断
                                                ③ 一条指令执行完毕且没有更紧迫的任务
(4)中断响应(由硬件实现):这些操作被称为中断隐指令,没有操作码,操作有关中断、保存断点、引出中断服务程序。
(5)中断向量(略)
(6)中断处理过程:关中断、保存断点、引出中断服务程序、保存现场和屏蔽字、开中断、执行中断服务程序、关中断、恢复现场和屏蔽字、开中断、中断返回。

你可能感兴趣的:(嵌入式硬件,单片机)