CN100365603C - 减少对处理器中断次数的方法 - Google Patents

减少对处理器中断次数的方法 Download PDF

Info

Publication number
CN100365603C
CN100365603C CNB2004100770578A CN200410077057A CN100365603C CN 100365603 C CN100365603 C CN 100365603C CN B2004100770578 A CNB2004100770578 A CN B2004100770578A CN 200410077057 A CN200410077057 A CN 200410077057A CN 100365603 C CN100365603 C CN 100365603C
Authority
CN
China
Prior art keywords
interrupt request
interrupt
scheduling
requests
interruption
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
Application number
CNB2004100770578A
Other languages
English (en)
Other versions
CN1746873A (zh
Inventor
陈建瑜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BenQ Corp
Original Assignee
BenQ Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BenQ Corp filed Critical BenQ Corp
Priority to CNB2004100770578A priority Critical patent/CN100365603C/zh
Publication of CN1746873A publication Critical patent/CN1746873A/zh
Application granted granted Critical
Publication of CN100365603C publication Critical patent/CN100365603C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

一种减少中断次数的方法,适用于一处理器中,其包含依据多个中断要求的特性设定其优先次序的层级;依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与具有最高优先次序的中断要求排程为同一中断要求群组;以及在中断该处理器的操作时,连续执行该中断要求群组的各个中断要求。

Description

减少对处理器中断次数的方法
技术领域
本发明涉及一种减少中断次数的方法,特别是涉及一种用于一处理器中减少中断次数的方法。
背景技术
一个现代的通信系统通常包含一个数字信号处理器、一个微控制单元和时间处理单元。在数字信号处理器处理各种排程工作的过程中,使用者会突然下达执行其它工作的指令,而这个工作是应该立即处理的,因此,原本数字信号处理器正在处理的工作必须先暂停,此时,数字信号处理器会收到一个中断要求的信息,开始进入中断模式。时间处理单元用来控制数字信号处理器与微控制单元的中断时间。微控制单元必须先将数字信号处理器的中断要求预先排程,以做为下一批中断要求的依据。而数字信号处理器执行微控制单元排程后的中断。
对于已知的技术来说,在一般实时系统中,当外部装置如输出入装置或总线,对一中央处理单元或数字信号处理器等执行单元提出一中断要求时,该执行单元接收到该中断,会立即去执行该中断要求所相对应的中断服务例程(Interrupt Service Routine,ISR)。但当外部装置一再地提出许多的中断要求时,而这些中断要求并不一定都是需要执行单元马上处理,并且若是该执行单元一再的处理中断要求和执行相对应的中断服务例程时,容易造成中央处理单元执行运作过程或是数字信号处理器处理程序一再被干扰,导致系统效能降低并且提高除错的困难度,会对整个系统造成不可预知的干扰并且可能影响整个系统的运作效能。
发明内容
本发明披露一种减少中断次数的方法,适用于一处理器中,其包含下列步骤:依据多个中断要求的特性设定其优先次序的层级;依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与具有最高优先次序的中断要求排程为同一中断要求群组;以及于中断该处理器的操作时,连续执行该中断要求群组的各个中断要求。
依据本发明还披露了一种可减少中断次数的计算机系统,其包含:一微控制单元,用来依据多个中断要求的特性设定其优先次序的层级;一排程装置,用来依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与具有最高优先次序的中断要求排程为同一中断要求群组;以及一处理器,用来在其操作中断时,连续执行该中断要求群组的各个中断要求。
附图说明
图1为本发明移动通信系统的功能方块图。
图2为本发明的一种减少中断次数的方法的流程图。
图3为本发明减少中断次数的方法中,排定各个中断要求的优先次序的流程图。
图4为本发明一种减少中断次数的方法中,排程中断要求群组的流程图。
图5为本发明中断列表的一实施例的示意图。
图6为本发明一种减少中断次数的方法中,将中断要求排程的一实施例的说明图。
图7为本发明的一种可减少中断次数的计算机系统的方块图。
附图符号说明
12  微控制单元
14  数字信号处理器  16    时序处理单元
20  中断列表        17    重排程装置
18  基频硬件
50  计算机系统      52  微控制单元
54  排程装置        56    中断要求列表
58  标签插入装置    60  处理器
具体实施方式
请参考图1,图1为本发明移动通信系统的功能方块图。通信系统包含一微控制单元12,一数字信号处理器14,一时序处理单元16,一中断列表20,一重排程装置17以及一基频硬件18(baseband hardware)。微控制单元12接收多个中断要求后,对这多个中断要求进行排程(schedule)进行解析,以决定各个中断要求的优先次序与可执行时间。重排程装置17依据微控制单元12排定各中断要求的优先次序与处理时间,重新加以排程,以做为数字信号处理器14和微控制单元12执行下一个处理工作的中断依据。重排程装置17是本发明最重要的特点,它用来将某些可合并执行的中断要求合并成一个中断要求群组,使得在执行中断的过程中是中断要求群组的中断,而非已知一个中断要求的中断。如此一来,就可以减少系统的中断次数,提升数字信号处理器14的效率。重排程装置17重新排程后的中断要求被传送到时序处理单元16来产生真正的中断时间以及包含中断识别、中断参数等中断信息,而中断时间与中断信息将被存放在中断列表20。中断列表20由微控制单元12和数字信号处理器14共同分享使用。当数字信号处理器14接到中断指令时,会依据中断列表20所储存的中断时间与中断信息来执行中断。基频硬件18是移动通信系统用来处理基频信号的装置,包含了时间控制器,信号传输接口,模拟基频硬件(analog baseband hardware)和射频硬件(RF hardware)。
请参考图2,图2为本发明的一种减少中断次数的方法的流程图。本发明的方法适用于一处理器中,首先在步骤100依据多个中断要求的特性设定其优先次序的层级。不同的中断要求可执行的时间长度与时间区段并不相同,具有越严格的时间限制的中断要求可执行中断的时间区段越短。在设定优先次序的过程中,对于越严格时间限制的中断要求,设定为越高的优先次序,换句话说,优先次序越高的中断要求,在时间的处理上是越不能更动改变的,而优先次序较低的中断要求,在重新排程的过程中有比较大的自由度与弹性。步骤110,依据各个中断要求的可执行时间,以及各个中断要求的优先次序,将多个中断要求排程为同一中断要求群组。而欲将多个中断要求排程为同一中断要求群组时,必须把握一个原则:中断要求群组中的各个中断要求的中断时间必须落在该各个中断要求的可执行时间内。步骤120在中断该处理器的操作时,连续执行该中断要求群组的各个中断要求。对于某些中断要求无法合并成一个中断要求群组时,则单独执行这些中断要求的中断。对于步骤100与步骤110较详细的说明请参考图3与图4。
请参考图3,图3为本发明减少中断次数的方法中,排定各个中断要求的优先次序的流程图。步骤200排定优先次序开始。步骤210,将参数N设为0,参数N代表优先次序,其中0表示最高优先次序,1表示次高优先次序,依此类推。在步骤220中,判断是否有优先次序为N的中断要求尚未排定其优先次序,如果结果为「是」则在步骤230将该尚未排定其优先次序的中断要求排定为N的优先次序,并重新执行步骤220;反之,如果结果为「否」则在步骤240中判断是否有优先次序次高于N的中断要求存在。在步骤240中判断为是,则在步骤250中将N设定为次高的优先次序,并重新执行步骤220。在步骤240中判断为否,则步骤260结束整个优先次序的排定流程。图3中排定各个中断要求的优先次序的流程图仅为本发明的较佳实施例,排序的概念为将优先次序最高的中断要求先排定,之后,再排定优先次序为次高的中断要求,依此类推。其它种排序的方式一样能达到排定中断要求的优先次序的目的,而涵盖范围应依照本发明的权利要求而定。
请参考图4,图4为本发明一种减少中断次数的方法中,排程中断要求群组的流程图。步骤300中断要求群组排程开始。步骤310依据之前所排定各个中断要求的优先次序获得各个中断要求的可处理时间范围。步骤320,判断是否有任何已排程的中断要求落在现在正要处理的中断要求的可处理时间范围内。步骤320中判断结果为「是」,执行步骤330,判断结果为「否」执行步骤350。在步骤330中,将现在正要处理的中断要求与落在该中断要求的可处理时间范围的已排程的中断要求排程为一个中断要求群组。接着步骤330后进入步骤340,将包含该中断要求的中断识别、中断参数等中断信息增加至中断列表中该已排程的中断要求与一结束标签中。步骤350中,将现在正要处理的中断要求排程一个新的独立的中断。步骤360中,将该新的独立中断的中断信息增加至中断列表中,并在其后插入一个结束标签。步骤370结束整个排程的流程。总结以上的流程,步骤320判断是否将一个现在正要处理的中断要求排程一个单独的的中断或是中断要求群组。步骤330和步骤340产生一个中断要求群组,置入中断列表中,并在其后插入一个结束标签表示中断的结束,而且,如之前所述,中断要求群组中的各个中断要求的中断时间必须落在该各个中断要求的可执行时间内。图4中将各个中断要求排程的流程图仅为本发明的较佳实施例。其它种排序的方式一样能达到将适合的中断要求排程为一个中断要求群组的目的,而涵盖范围应依照本发明的权利要求而定。
请参考图5,图5为本发明中断列表20的一实施例的示意图。中断列表20用来储存多个中断要求/中断信息和多个结束标签,其中某些并排的中断构成一中断要求群组。例如:中断要求群组1包含了中断要求1和中断要求2,中断要求群组2包含了中断要求4、中断要求5和中断要求6。至于中断要求3则是一个独立的中断要求。各个中断要求群组和各个独立的中断要求彼此的间都有一个结束标签加以分开。当处理器依照中断要求列表来执行中断时,一个中断要求群组内的所有中断会连续执行,而遇到结束标签时才会停止中断。
请参考图6,图6为本发明一种减少中断次数的方法中,将中断要求排程的一实施例的说明图。图6表示对一个处理器依序处理七个中断要求A、B、C、D、E、F、G。图中的横轴表示处理时间,而标示数字为0到3的横线表示不同等级的优先次序。A、B与C位于标示于0的横在线,表示具有最高的优先次序,D与E位于标示于1的横在线,具有次高的优先次序。而F和G分别属于第三高和第四高的优先次序。在所有的中断要求中,优先次序最高的而且在时间上较近的中断要求A先进行排程处理。因为中断要求A和中断要求B的可处理时间有所重迭,所以将中断要求A和中断要求B合并成一个中断要求群组。接着,继续考虑同属优先次序为0的中断要求C。因为中断要求G和中断要求E的可处理时间包含中断要求C,所以将中断要求C、中断要求E中断要求G合并成一第二个中断要求群组。由于优先次序为0的所有中断要求皆已排程完毕,接着检查次高的优先次序1的中断要求,只有中断要求D需要进行排程,而且中断要求F与中断要求D的可处理时间有所重迭,因此把中断要求F与中断要求D排程第三个中断要求群组。
请参考图7,图7为本发明的一种可减少中断次数的计算机系统50的方块图。计算机系统50包含一微控制单元52、一排程装置54、一中断要求列表56、一标签插入装置58以及一处理器60。微控制单元52用来依据多个中断要求的特性设定其优先次序的层级,在设定优先次序的过程中,对于越严格时间限制的中断要求,设定为越高的优先次序,因此,优先次序越高的中断要求,在时间的处理上是越不能更动改变的,而优先次序较低的中断要求,在重新排程的过程中有比较大的自由度与弹性。处理器60用来于其操作中断时,连续执行该中断要求群组的各个中断要求。排程装置54用来依据该多个中断要求的可执行时间,将该多个中断要求中某部分适宜合并的中断要求组成一个中断要求群组。合并后的中断要求群组中的各个中断要求的中断时间必须落在该各个中断要求的可执行时间内。中断要求列表56用来依序储存该排程装置54排程后的中断要求群组。标签插入装置58用来将一结束标签插入在该中断要求列表中的中断要求群组之后,该结束标签用来在排程中暂停该处理器60的中断执行。总的来说,微控制处理单元12用来处理图2的步骤100,排程装置54用来执行图2的步骤110,而处理器60用来执行图2的步骤120。
对于已知的技术来说,在一般实时系统中,当外部装置如输出入装置或总线,对一中央处理单元或数字信号处理器等执行单元提出一中断要求时,该执行单元接收到该中断,会立即去执行该中断要求所相对应的中断服务例程。但当外部装置一再地提出许多的中断要求时,若是该执行单元一再的处理中断要求和执行相对应的中断服务例程时,容易造成中央处理单元执行运作过程或是数字信号处理器处理程序一再被干扰,导致系统效能降低并且提高除错的困难度,会对整个系统造成不可预知的干扰并且可能影响整个系统的运作效能。相较于已知技术,本发明的减少中断次数的方法中,依据多个中断要求的特性先设定其优先次序的层级,后依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与具有最高优先次序的中断要求排程为同一中断要求群组,并在中断处理器的操作时,连续执行该中断要求群组的各个中断要求,因此,本发明的方法具有减少处理器中断次数,提升系统效能的优点。
以上所述仅为本发明的较佳实施例凡依本发明申请专利范围,所做的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (10)

1.一种减少中断次数的方法,适用于一处理器中,其包含下列步骤:
(a)依据多个中断要求的特性设定其优先次序的层级;
(b)依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与该多个中断要求中具有最高优先次序的中断要求排程为同一中断要求群组;以及
(c)在中断该处理器的操作时,连续执行该中断要求群组的各个中断要求。
2.如权利要求1所述的方法,其中该多个中断要求的特性包含该多个中断要求的可执行时间。
3.如权利要求2所述的方法,其中,排定为越高优先级的中断要求具有越短的可执行时间。
4.如权利要求1所述的方法,其还包含在执行步骤(c)后,插入一结束标签,其用来在排程中暂停该处理器的中断执行。
5.如权利要求1所述的方法,其中,该中断要求群组中的各个中断要求的中断时间必须落在该各个中断要求的可执行时间内。
6.如权利要求1所述的方法,其中,步骤(b)是依据该多个中断要求的可执行时间,将该多个中断要求中尚未排程的至少一个中断要求与具有最高优先次序的中断要求排程为同一中断要求群组。
7.如权利要求1所述的方法,其还包含在步骤(b)排程后,依据尚未排程的多个中断要求的可执行时间,将该尚未排程的多个中断要求中至少一个中断要求与该尚未排程的多个中断要求中具有最高优先次序的中断要求排程为同一中断要求群组。
8.一种可减少中断次数的计算机系统,其包含:
一微控制单元,用来依据多个中断要求的特性设定其优先次序的层级;
一排程装置,用来依据该多个中断要求的可执行时间,将该多个中断要求中的至少一个中断要求与该多个中断要求中具有最高优先次序的中断要求排程为同一中断要求群组;以及
一处理器,用来在其操作中断时,连续执行该中断要求群组的各个中断要求。
9.如权利要求8所述的计算机系统,其还包含一中断要求列表,用来依序储存该排程装置排程后的该中断要求群组。
10.如权利要求9所述的计算机系统,其还包含一标签插入装置,用来将一结束标签插入在该中断要求列表中的中断要求群组之后,该结束标签用来在排程中暂停该处理器的中断执行。
CNB2004100770578A 2004-09-10 2004-09-10 减少对处理器中断次数的方法 Expired - Fee Related CN100365603C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100770578A CN100365603C (zh) 2004-09-10 2004-09-10 减少对处理器中断次数的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100770578A CN100365603C (zh) 2004-09-10 2004-09-10 减少对处理器中断次数的方法

Publications (2)

Publication Number Publication Date
CN1746873A CN1746873A (zh) 2006-03-15
CN100365603C true CN100365603C (zh) 2008-01-30

Family

ID=36166414

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100770578A Expired - Fee Related CN100365603C (zh) 2004-09-10 2004-09-10 减少对处理器中断次数的方法

Country Status (1)

Country Link
CN (1) CN100365603C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105204939B (zh) * 2015-11-03 2019-02-01 浪潮(北京)电子信息产业有限公司 一种中断请求的处理方法
CN110209473B (zh) * 2018-04-12 2023-04-18 腾讯科技(深圳)有限公司 中断处理设备、云服务器、中断处理方法及业务处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1215869A (zh) * 1997-10-23 1999-05-05 友讯科技股份有限公司 能减少中断次数的网路接口卡及其方法
US6122700A (en) * 1997-06-26 2000-09-19 Ncr Corporation Apparatus and method for reducing interrupt density in computer systems by storing one or more interrupt events received at a first device in a memory and issuing an interrupt upon occurrence of a first predefined event
US20020116563A1 (en) * 2000-12-12 2002-08-22 Lever Paul D. Apparatus and method to reduce interrupt latency in shared interrupt systems
US6499078B1 (en) * 1999-07-19 2002-12-24 Microsoft Corporation Interrupt handler with prioritized interrupt vector generator
US20040177192A1 (en) * 2002-11-19 2004-09-09 Stmicroelectronics S.R.L. Method for generating interrupt commands in a microprocessor system and relative priority interrupt controller

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122700A (en) * 1997-06-26 2000-09-19 Ncr Corporation Apparatus and method for reducing interrupt density in computer systems by storing one or more interrupt events received at a first device in a memory and issuing an interrupt upon occurrence of a first predefined event
CN1215869A (zh) * 1997-10-23 1999-05-05 友讯科技股份有限公司 能减少中断次数的网路接口卡及其方法
US6499078B1 (en) * 1999-07-19 2002-12-24 Microsoft Corporation Interrupt handler with prioritized interrupt vector generator
US20020116563A1 (en) * 2000-12-12 2002-08-22 Lever Paul D. Apparatus and method to reduce interrupt latency in shared interrupt systems
US20040177192A1 (en) * 2002-11-19 2004-09-09 Stmicroelectronics S.R.L. Method for generating interrupt commands in a microprocessor system and relative priority interrupt controller

Also Published As

Publication number Publication date
CN1746873A (zh) 2006-03-15

Similar Documents

Publication Publication Date Title
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
US8612986B2 (en) Computer program product for scheduling ready threads in a multiprocessor computer based on an interrupt mask flag value associated with a thread and a current processor priority register value
CN107800546B (zh) 一种广播消息的管理方法及装置
US8056083B2 (en) Dividing a computer job into micro-jobs for execution
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US10248463B2 (en) Apparatus and method for managing a plurality of threads in an operating system
US20060112208A1 (en) Interrupt thresholding for SMT and multi processor systems
US20110016247A1 (en) Multiprocessor system and multiprocessor system interrupt control method
CN104123180A (zh) 中断控制方法及其电子系统
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
CN103617088A (zh) 在处理器不同类型线程中分配内核资源的方法、装置及其处理器
JP2018508886A (ja) マルチプロセッサシステムにおける揮発性メモリ保守イベントのスケジューリング
CN114461355A (zh) 异构计算集群统一管理方法、装置、电子设备及存储介质
CN100365603C (zh) 减少对处理器中断次数的方法
CN110955503A (zh) 任务调度方法及装置
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
US20190340034A1 (en) Device and method for processing jobs
JP2009541852A (ja) コンピュータマイクロジョブ
US10949367B2 (en) Method for handling kernel service request for interrupt routines in multi-core environment and electronic device thereof
KR101725408B1 (ko) 실시간 운영체제의 태스크 스케줄링 방법
KR101399758B1 (ko) 다수의 슬레이브 장치에서 실행되는 태스크의 주기 스케쥴링 장치 및 방법
US9785586B2 (en) Electronic computer and interrupt control method
CN113407331A (zh) 一种任务处理的方法、装置及存储介质
EP3276489B1 (en) Parallel processing system

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee