文件名称:中断延迟-emc datadomain 2500 存储设 备维护手册
文件大小:4.33MB
文件格式:PDF
更新时间:2024-06-29 01:39:05
uCOS-II
图 2.18 消息队列 2.25 中断 中断是一种硬件机制,用于通知 CPU有个异步事件发生了。中断一旦被识别,CPU保存 部分(或全部)现场(Context)即部分或全部寄存器的值,跳转到专门的子程序,称为中断服 务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到: l 在前后台系统中,程序回到后台程序 l 对不可剥夺型内核而言,程序回到被中断了的任务 l 对可剥夺型内核而言,让进入就绪态的优先级最高的任务开始运行 中断使得 CPU 可以在事件发生时才予以处理,而不必让微处理器连续不断地查询 (Polling)是否有事件发生。通过两条特殊指令:关中断(Disable interrupt)和开中断 (Enable interrupt)可以让微处理器不响应或响应中断。在实时环境中,关中断的时间应尽 量的短。关中断影响中断延迟时间(见 2.26中断延迟)。关中断时间太长可能会引起中断丢 失。微处理器一般允许中断嵌套,也就是说在中断服务期间,微处理器可以识别另一个更重 要的中断,并服务于那个更重要的中断,如图 2.19所示。 2.26 中断延迟 可能实时内核最重要的指标就是中断关了多长时间。所有实时系统在进入临界区代码段 之前都要关中断,执行完临界代码之后再开中断。关中断的时间越长,中断延迟就越长。中 断延迟由表达式[2.2]给出。 [2.2] 中断延迟 = 关中断的最长时间 + 开始执行中断服务子程序的第一条指令的时间