用于减少对处理器的中断次数的控制装置及方法

文档序号:6371388阅读:181来源:国知局
专利名称:用于减少对处理器的中断次数的控制装置及方法
技术领域
本发明其系有关于一种用于减少对一处理器的中断次数的控制装置及方法,尤指具有一中断控制器及一缓冲器的控制装置。
背景技术
在一般实时系统中(请参阅图1),当外部装置100,如I/O装置或汇流排,对一执行单元101,如中央处理单元(CPU)、数字信号处理器(DSP)提出一中断要求时,所述执行单元101接收到所述中断,会立即去执行所述中断要求所相对应的中断服务例程(Interrupt Service Routine,ISR)。
但是,当外部装置100一再地提出许多的中断要求时,而这些中断要求并不一定都是需要执行单元马上处理,并且,如果是所述执行单元101一再的处理中断要求和执行相对应的中断服务例程时,容易造成CPU执行运作过程或是DSP处理程序一再被干扰,导致系统效能降低,并且提高消除错误的困难度,会对整个系统造成不可预知的干扰,并且可能影响整个系统的运作效能。

发明内容
鉴于上述问题,本发明的主要目的是提供一种用于减少对一处理器的中断次数的控制装置及方法,以提高系统的效能。
所述控制装置包括一缓冲器、一中断控制器及一辅助表。所述中断控制器耦接至所述缓冲器,用以接收一中断并且选择性地送出一中断信号至处理器。所述缓冲器可存储所述中断的相关信息。所述辅助表则耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间。当所述中断控制器接收所述中断时,即将所述中断的相关信息存入所述缓冲器,并计算所述中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据计算结果选择是否送出所述中断信号。在所述控制装置中,所述中断控制器包含一计时器,该计时器具有一初始值。
具体来讲,按照本发明的一个方面,提供了一种用于减少对一处理器的中断次数的控制装置,该控制装置包括有一缓冲器,可存储至少一个中断的相关信息;一中断控制器,耦接至所述缓冲器,用以接收一第一中断,并选择性地送出一中断信号至所述处理器;以及一辅助表,耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间;其中,当所述中断控制器接收所述第一中断时,即将所述第一中断的相关信息存入所述缓冲器,并计算第一中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据选择是否送出所述中断信号至所述处理器。
按照本发明的另一个方面,提供了一种用于减少中断次数的方法,该方法包括下列步骤a.提供一控制装置,其包括有一计时器、一缓冲器和一辅助表,所述计时器具有一初始值;b.控制装置接收一中断,并存入所述缓冲器;c.控制装置从所述辅助表读取所述中断的相对应的一中断期限和一执行时间;d.判定所述计时器的值是否为初始值,如果判定为否,并且所述中断的中断期限小于所述缓冲器内各中断的执行时间总和,则送出所述中断信号,而如果所述中断的中断期限不小于所述缓冲器内各中断的执行时间总和,则比较中断期限和缓冲器内各中断的执行时间总和的差值与计时器的值,将两者中较小的值存入计时器中;e.如果计时器为初始值,则将计时器的值设定为所述中断的中断期限与执行时间两者的差值;f.判定计时器是否计数到一第二预设值,如果否,则等待一预定时间并重复步骤f;g.所述控制装置发出中断信号以触发一中断程序,并将计时器的值重设为初始值。
按照本发明的再一个方面,提供了一种可减少中断次数的系统,其包括有一外部装置,可提出一中断;一控制装置,耦接至所述外部装置,其包括有一缓冲器,可存储所述中断的相关信息;一中断控制器,耦接至所述缓冲器,用以接收所述中断,并选择性地送出一中断信号;以及一辅助表,耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间;一执行单元,耦接至所述控制装置,并且执行所述中断;其中,当所述外部装置送出中断至所述控制装置,所述控制装置将所述中断的相关信息存入所述缓冲器,并计算所述中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据选择是否送出所述中断信号给所述执行单元。
利用前述的控制装置及方法和系统,可使得系统在运作中减少被频繁的中断所干扰的次数,系统将变得更有效率而且缓冲器不会遗失任何中断。


图1为现有技术的中断执行示意图。
图2为本发明的用于减少对一处理器的中断次数的系统的示意图。
图3为本发明的用于减少对一处理器的中断次数的控制装置方块图。
图4为本发明的用于减少对一处理器的中断次数的方法步骤流程图。
图5为本发明的一种用于减少处理器中断次数的中断服务例程的流程图。
对于附图中各个附图标记的含义说明如下1-控制装置11-中断控制器111-计时器12-FIFO缓冲器13-辅助表2-执行单元3-外部装置
40~50-本发明的用于减少对一处理器的中断次数的方法步骤流程51~55-本发明的用于减少处理器中断次数的中断服务例程的流程具体实施方式
本发明提出了一种用于减少对一处理器的中断次数的控制装置及方法,在不影响系统运作下,将多个中断要求连结在一起,以达到减少中断次数的目的。
请参阅图2,为本发明的用于减少对一处理器的中断次数的系统,所述系统包括有一外部装置3、一执行单元2及一控制装置1。
图3为图2控制装置的较佳实施例的方块图,虚线处所示为控制装置1,内含有一先进先出(FIFO)缓冲器12、一中断控制器11及二个辅助表13。中断控制器11,包含有一计时器111,并且中断控制器11又包含至少三连接端,第一连接端用来接收外部装置3所发出的中断,第二连接端送出中断信号来触发执行单元2执行中断,第三连接端用来存取FIFO缓冲器12。计时器111具有一初始值″-1″和一第二预设值为″0″,且计时器111为一下数计时器,每经一预设的单位时间,即将计时器111下数一次。二个辅助表13中分别存有各个中断要求的相对应的一中断期限和一执行时间,以提供中断控制器11判断是否要立即送出中断信号。
在一时间间隔内,执行单元2必须完成中断,否则系统会发生不可预知的错误,而且所述中断在不同系统状态下也许有不同的期限,所以选一最短的执行期限恰可满足所需的时间间隔,定义此执行期限为″最短执行期限″。控制装置1触发执行单元2执行中断到所述中断完成的时间称为中断执行时间,而且所述中断要求在不同系统状态下也许有不同的中断执行时间,选择一最长的中断执行时间以满足所需的要求,定义此执行时间为一″最长中断执行时间″,并且最短执行期限必须大于最长中断执行时间。
在此较佳实施例中,我们定义所述中断期限为最短执行期限减去一常数值,以及定义所述执行时间为最长中断执行时间。
图4为显示本发明的用于减少对一处理器的中断次数方法的步骤流程的较佳实施例。所述方法可实施于图3的结构中。如图4所示,所述方法包括下列步骤步骤40控制装置1接收外部装置3的一中断,先将所述中断的相关数据例如中断要求的类型、向量...等数据依序存入先进先出缓冲器12中;步骤41控制装置1从辅助表13读取所述中断的相对应的一中断期限和一最长中断执行时间;步骤42检查计时器111的值是否为初始值″-1″,如果为″否″,执行步骤44;步骤43如果计时器111为初始值″-1″时,将计时器111的值设定为所述中断的中断期限与最长中断执行时间两者的差值,计时器111开始计数;步骤44比较中断的中断期限是否大于缓冲器12内各中断的执行时间总和,如果为否则立即执行步骤50,如果为是则立即执行步骤45;步骤45如果所述中断的中断期限不小于缓冲器12内各中断的最长中断执行时间总和,则比较此差值是否小于目前计时器111的值,如果比较结果为是,则立即执行步骤46,如果比较结果为否,则立即执行步骤47;步骤46如果此差值小于计时器111的值,则将计时器111的值更新为此差值,计时器111开始计数;步骤47计时器111继续计数;步骤48检查计时器111是否计数到“0”,如果为“否”,则执行步骤49,然后重复步骤47,直到计时器111计数到“0”;步骤49等待一预设的单位时间;步骤50当计时器111计数到0时,控制装置1发出中断信号触发一中断程序,并将计时器111的值重设为初始值。
请参阅图5,其所示为本发明的用于减少处理器中断次数的中断服务例程的步骤流程图。提供一执行单元2,系可为一数字信号处理器(DSP)或一中央处理单元(CPU),如图5所示,包括下列步骤步骤51执行单元2收到中断信号;步骤52执行单元2会查看所述先进先出缓冲器12中是否有中断要求的相关数据,如果查看结果为″否″,则执行步骤54;步骤53如果查看结果为″是″,则读取中断要求的相关数据,并执行步骤55,直到缓冲器内的中断要求的相关数据都被执行完毕为止;步骤54结束;步骤55执行所述中断要求所相对应的中断服务例程(Interrupt ServiceRoutine,ISR)。
以上所述者,仅为本发明较佳实施例而已,不能用来限定本发明所实施的范围。凡是属于本申请权利要求书所限定范围内所作的均等变化与修饰皆应属于本发明专利涵盖的范围内。
权利要求
1.一种用于减少对一处理器的中断次数的控制装置,包括有一缓冲器,可存储至少一个中断的相关信息;一中断控制器,耦接至所述缓冲器,用以接收一第一中断,并选择性地送出一中断信号至所述处理器;以及一辅助表,耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间;其中,当所述中断控制器接收所述第一中断时,即将所述第一中断的相关信息存入所述缓冲器,并计算第一中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据选择是否送出所述中断信号至所述处理器。
2.如权利要求1所述的控制装置,其中所述缓冲器为一先进先出(FIFO)的缓冲器。
3.如权利要求1所述的控制装置,其中所述缓冲器所存储的各中断的相关信息至少包含中断类型与中断向量。
4.如权利要求1所述的控制装置,其中所述中断控制器系选择性地将所述中断信号送至一执行单元,所述执行单元则用以处理所述缓冲器所存储的各中断。
5.如权利要求1所述的控制装置,其中如果第一中断的中断期限大于所述缓冲器内各中断的执行时间总和,则所述中断控制器不送出所述中断信号。
6.如权利要求5所述的控制装置,其中如果第一中断的中断期限不大于所述缓冲器内各中断的执行时间总和,则所述中断控制器送出所述中断信号。
7.如权利要求1所述的控制装置,其中所述中断控制器包含一计时器,所述计时器的初始值为一第一值,当所述计时器的值不等于所述第一值时,每经一预设的单位时间,即将所述计时器加上一第二值。
8.如权利要求7所述的控制装置,其中当所述中断控制器接收所述第一中断时,如果所述计时器的值为所述第一值,则以所述差值来更新所述计时器。
9.如权利要求7所述的控制装置,其中当所述中断控制器接收所述第一中断时,如果所述计时器的值不等于所述第一值且大于所述差值,则以所述差值来更新所述计时器。
10.如权利要求7所述的控制装置,其中如果所述差值不大于一第三值,则所述中断控制器送出所述中断信号,并将所述计时器重置为所述第一值。
11.一种用于减少中断次数的方法,其包括步骤a.提供一控制装置,其包括有一计时器、一缓冲器和一辅助表,所述计时器具有一初始值;b.控制装置接收一中断,并存入所述缓冲器;c.控制装置从所述辅助表读取所述中断的相对应的一中断期限和一执行时间;d.判定所述计时器的值是否为初始值,如果判定为否,并且所述中断的中断期限小于所述缓冲器内各中断的执行时间总和,则送出所述中断信号,而如果所述中断的中断期限不小于所述缓冲器内各中断的执行时间总和,则比较中断期限和缓冲器内各中断的执行时间总和的差值与计时器的值,将两者中较小的值存入计时器中;e.如果计时器为初始值,则将计时器的值设定为所述中断的中断期限与执行时间两者的差值;f.判定计时器是否计数到一第二预设值,如果否,则等待一预定时间并重复步骤f;g.所述控制装置发出中断信号以触发一中断程序,并将计时器的值重设为初始值。
12.一种可减少中断次数的系统,其包括有一外部装置,可提出一中断;一控制装置,耦接至所述外部装置,其包括有一缓冲器,可存储所述中断的相关信息;一中断控制器,耦接至所述缓冲器,用以接收所述中断,并选择性地送出一中断信号;以及一辅助表,耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间;一执行单元,耦接至所述控制装置,并且执行所述中断;其中,当所述外部装置送出中断至所述控制装置,所述控制装置将所述中断的相关信息存入所述缓冲器,并计算所述中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据选择是否送出所述中断信号给所述执行单元。
13.如权利要求12所述的可减少中断次数的系统,其中所述缓冲器为一先进先出的缓冲器。
14.如权利要求12所述的用于减少中断次数的系统,其中所述缓冲器所存储的各中断的相关信息至少包含中断类型与中断向量。
15.如权利要求12所述的可减少中断次数的系统,其中如果所述中断的中断期限大于所述缓冲器内各中断的执行时间总和,则所述中断控制器不送出所述中断信号。
16.如权利要求12所述的可减少中断次数的系统,其中如果所述中断的中断期限小于所述缓冲器内各中断的执行时间总和,则所述中断控制器送出所述中断信号。
17.如权利要求12所述的可减少中断次数的系统,其中所述中断控制器包含一计时器,所述计时器的初始值为一第一值,当所述计时器的值不等于所述第一值时,每经一预设的单位时间,即将所述计时器加上一第二值。
18.如权利要求17所述的可减少中断次数的系统,其中当所述中断控制器接收所述中断时,如果所述计时器的值为所述第一值,则以所述差值来更新所述计时器。
19.如权利要求17所述的可减少中断次数的系统,其中当所述中断控制器接收所述中断时,如果所述计时器的值不等于所述第一值且大于所述差值,则以所述差值来更新所述计时器。
20.如权利要求17所述的可减少中断次数的系统,其中如果所述差值不大于一第三值,则所述中断控制器送出所述中断信号,并将所述计时器重置为所述第一值。
21.如权利要求12所述的可减少中断次数的系统,其中所述执行单元其为一中央处理单元(CPU)。
22.如权利要求12所述的可减少中断次数的系统,其中所述执行单元其为一数字信号处理器(DSP)。
全文摘要
在一实时系统中,可用一种控制装置和方法及系统来达到减少对一处理器的中断次数,所述控制装置包括有一缓冲器、一中断控制器、一辅助表。所述中断控制器接收一中断并且选择性地送出一中断信号至一处理器,所述中断控制器具有一计时器,所述辅助表可存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间,所述中断控制器接收所述中断后,先将所述中断的相关信息存入所述缓冲器,然后通过比较所述中断的中断期限与所述缓冲器内各中断的执行时间,依照其结果选择性地送出所述中断信号。
文档编号G06F13/24GK1567277SQ0314752
公开日2005年1月19日 申请日期2003年7月9日 优先权日2003年7月9日
发明者姚锦树 申请人:明基电通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1