CN1312600C - 用于减少对处理器的中断次数的控制装置及方法 - Google Patents
用于减少对处理器的中断次数的控制装置及方法 Download PDFInfo
- Publication number
- CN1312600C CN1312600C CNB03147523XA CN03147523A CN1312600C CN 1312600 C CN1312600 C CN 1312600C CN B03147523X A CNB03147523X A CN B03147523XA CN 03147523 A CN03147523 A CN 03147523A CN 1312600 C CN1312600 C CN 1312600C
- Authority
- CN
- China
- Prior art keywords
- interruption
- timer
- value
- impact damper
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Control By Computers (AREA)
Abstract
在一实时系统中,可用一种控制装置和方法及系统来达到减少对一处理器的中断次数,所述控制装置包括有:一缓冲器、一中断控制器、一辅助表。所述中断控制器接收一中断并且选择性地送出一中断信号至一处理器,所述中断控制器具有一计时器,所述辅助表可存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间,所述中断控制器接收所述中断后,先将所述中断的相关信息存入所述缓冲器,然后通过比较所述中断的中断期限与所述缓冲器内各中断的执行时间,依照其结果选择性地送出所述中断信号。
Description
技术领域
本发明其系有关于一种用于减少对一处理器的中断次数的控制装置及方法,尤指具有一中断控制器及一缓冲器的控制装置。
背景技术
在一般实时系统中(请参阅图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的值,如果比较结果为是,则立即执行步骤47,如果比较结果为否,则立即执行步骤46;
步骤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)。
以上所述者,仅为本发明较佳实施例而已,不能用来限定本发明所实施的范围。凡是属于本申请权利要求书所限定范围内所作的均等变化与修饰皆应属于本发明专利涵盖的范围内。
Claims (22)
1.一种用于减少一处理器的中断次数的控制装置,包括有:
一缓冲器,可存储至少一个中断的相关信息;
一中断控制器,耦接至所述缓冲器,用以接收一第一中断,并选择性地送出一中断信号至所述处理器;以及
一辅助表,耦接至所述中断控制器,用以存储所述缓冲器内各中断所个别对应的一中断期限和一执行时间;
其中,当所述中断控制器接收所述第一中断时,即将所述第一中断的相关信息存入所述缓冲器,并计算第一中断的中断期限与所述缓冲器内各中断的执行时间总和两者的差值,再根据计算结果选择是否送出所述中断信号至所述处理器。
2.如权利要求1所述的控制装置,其中所述缓冲器为一先进先出的缓冲器。
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所述的可减少中断次数的系统,其中所述执行单元其为一中央处理单元。
22.如权利要求12所述的可减少中断次数的系统,其中所述执行单元其为一数字信号处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03147523XA CN1312600C (zh) | 2003-07-09 | 2003-07-09 | 用于减少对处理器的中断次数的控制装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB03147523XA CN1312600C (zh) | 2003-07-09 | 2003-07-09 | 用于减少对处理器的中断次数的控制装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1567277A CN1567277A (zh) | 2005-01-19 |
CN1312600C true CN1312600C (zh) | 2007-04-25 |
Family
ID=34471970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB03147523XA Expired - Fee Related CN1312600C (zh) | 2003-07-09 | 2003-07-09 | 用于减少对处理器的中断次数的控制装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1312600C (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1333344C (zh) * | 2005-08-18 | 2007-08-22 | 上海交通大学 | 减轻片上系统软件负载的方法 |
US7788434B2 (en) * | 2006-12-15 | 2010-08-31 | Microchip Technology Incorporated | Interrupt controller handling interrupts with and without coalescing |
CN101335694B (zh) * | 2007-06-29 | 2011-03-02 | 联想(北京)有限公司 | 中断处理方法和系统 |
CN101150562B (zh) * | 2007-10-29 | 2010-12-01 | 中兴通讯股份有限公司 | 一种降低cpu处理负荷的媒体流数据处理方法 |
EP2940575B1 (en) * | 2014-05-02 | 2018-05-09 | Nxp B.V. | Controller circuits, data interface blocks, and methods for transferring data |
CN104486100B (zh) * | 2014-11-28 | 2018-07-13 | 华为技术有限公司 | 故障处理装置及方法 |
JP6509616B2 (ja) * | 2015-04-10 | 2019-05-08 | 株式会社東芝 | センサデータ収集装置 |
CN105204939B (zh) * | 2015-11-03 | 2019-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种中断请求的处理方法 |
CN117193991B (zh) * | 2023-11-08 | 2024-02-23 | 广州翼辉信息技术有限公司 | 一种实时操作系统中断处理时间的准确测量方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717870A (en) * | 1994-10-26 | 1998-02-10 | Hayes Microcomputer Products, Inc. | Serial port controller for preventing repetitive interrupt signals |
US5848279A (en) * | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
CN1215869A (zh) * | 1997-10-23 | 1999-05-05 | 友讯科技股份有限公司 | 能减少中断次数的网路接口卡及其方法 |
US20010032287A1 (en) * | 2000-04-05 | 2001-10-18 | Jiin Lai | Processing method, chip set and controller for supporting message signaled interrupt |
WO2002061590A1 (en) * | 2001-01-31 | 2002-08-08 | International Business Machines Corporation | Method and apparatus for transferring interrupts from a peripheral device to a host computer system |
US6581120B1 (en) * | 1998-12-05 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Interrupt controller |
-
2003
- 2003-07-09 CN CNB03147523XA patent/CN1312600C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717870A (en) * | 1994-10-26 | 1998-02-10 | Hayes Microcomputer Products, Inc. | Serial port controller for preventing repetitive interrupt signals |
US5848279A (en) * | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
CN1215869A (zh) * | 1997-10-23 | 1999-05-05 | 友讯科技股份有限公司 | 能减少中断次数的网路接口卡及其方法 |
US6581120B1 (en) * | 1998-12-05 | 2003-06-17 | Hyundai Electronics Industries Co., Ltd. | Interrupt controller |
US20010032287A1 (en) * | 2000-04-05 | 2001-10-18 | Jiin Lai | Processing method, chip set and controller for supporting message signaled interrupt |
WO2002061590A1 (en) * | 2001-01-31 | 2002-08-08 | International Business Machines Corporation | Method and apparatus for transferring interrupts from a peripheral device to a host computer system |
Also Published As
Publication number | Publication date |
---|---|
CN1567277A (zh) | 2005-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7124225B2 (en) | Method and apparatus for multi-interrupt controller for reducing hardware interrupts to DSP | |
US9372729B2 (en) | Task scheduling method and apparatus | |
US7953915B2 (en) | Interrupt dispatching method in multi-core environment and multi-core processor | |
EP0442615B1 (en) | A communications adapter and method for operating it | |
CN1312600C (zh) | 用于减少对处理器的中断次数的控制装置及方法 | |
US6643770B1 (en) | Branch misprediction recovery using a side memory | |
US7213137B2 (en) | Allocation of processor bandwidth between main program and interrupt service instruction based on interrupt priority and retiring micro-ops to cache | |
EP1199641B1 (en) | Data processing device used in serial communication system | |
US20120173786A1 (en) | Method and system for performing dma in a multi-core system-on-chip using deadline-based scheduling | |
US9779043B2 (en) | Techniques for handling queued interrupts in a data processing system | |
WO2006014354A2 (en) | Method and system for concurrent excution of mutiple kernels | |
GB2335293A (en) | Reducing power consumption in a self-timed system | |
JP2017509059A (ja) | 電力消費を低減するための割り込み処理の同期化 | |
US20090007110A1 (en) | Interrupt processing method and system | |
JP2019219714A (ja) | 分散処理システムおよび分散処理方法 | |
CN100476743C (zh) | 用于在个人计算机系统中提供实时操作的方法和设备 | |
US6338111B1 (en) | Method and apparatus for reducing I/O interrupts | |
US6012110A (en) | Apparatus and method for input data loss prevention with a buffered UART | |
US20160246740A1 (en) | Processor system having nested vectored interrupt controller | |
CN110457120A (zh) | 基于osek嵌入式实时操作系统的非周期定时器驻留机制 | |
JP2001092798A (ja) | 負荷分散型マルチプロセッサシステム及び方法 | |
AU1218897A (en) | Job scheduling for instruction processor | |
Xu et al. | Active Messages Using Selective Interrupts Without Polling | |
JP2006238477A (ja) | パケット処理装置およびプログラム | |
JP3934099B2 (ja) | パケット処理装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070425 |