CN101896887A - 数据处理系统和中断处理方法 - Google Patents

数据处理系统和中断处理方法 Download PDF

Info

Publication number
CN101896887A
CN101896887A CN2008801201551A CN200880120155A CN101896887A CN 101896887 A CN101896887 A CN 101896887A CN 2008801201551 A CN2008801201551 A CN 2008801201551A CN 200880120155 A CN200880120155 A CN 200880120155A CN 101896887 A CN101896887 A CN 101896887A
Authority
CN
China
Prior art keywords
task
processing unit
interruption
key component
handling system
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.)
Pending
Application number
CN2008801201551A
Other languages
English (en)
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101896887A publication Critical patent/CN101896887A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种数据处理系统,包括:至少两个处理单元(100、101、102),每一个均用于执行多个任务;以及中断处理单元(200),用于接收将要由所述数据处理系统处理的中断,并且用于将所述中断分发给所述至少两个处理单元(100、101、102)之一。被分发了所述中断的处理单元(100、101、102)停止执行当前任务,并且处理所述中断。所述中断处理单元(200)适用于确定所述处理单元(100、101、102)是否正在执行任务的关键部分(CS)。其中所述中断处理单元(200)将所述中断分发给处理单元(100、101、102)没有执行任务的关键部分(CS)的一个处理单元。

Description

数据处理系统和中断处理方法
技术领域
本发明涉及一种数据处理系统和中断处理方法。
背景技术
在包括多个处理器或处理单元的数据处理系统中,即在多处理器系统中,每一个处理器或处理单元可以适用于处理或执行任务。任务还可以包括任务,而这些任务需要实时处理,因为这些任务具有与其处理相关联的严格最终期限。在这种数据处理系统中,可能发生必须由处理器之一处理的中断。为了能够处理所述中断,停止或中断当前处理的任务。例如,如果处理器正在执行某些实时任务并且如果中断了该处理,实时任务的处理可能不能满足实时要求。这可能导致调度等待时间的增加,在某些多媒体应用中应该避免这种增加。
具体地,如果在数据处理系统中存在多个处理器,典型地,并非所有处理器都将执行实时任务,使得可以通过另外的处理器处理中断。
US2003/0105798A1涉及基于中断特性的中断分发方案,例如装置或接口的优先级、在不同处理器上运行的线程或应用程序的优先级。
US2002/0166018涉及一种中断的动态路由和优先级分配。通过对至少一个寄存器编程来动态地控制中断控制器。
US6,877,057B2教导了一种中断在处理器电路板上的单元和任意扩展槽上的器件上的均匀分发。
US2003/0200250A1涉及一种基于像中断服务例行程序的执行时间那样的运行时间统计的、中断服务例程ISR对于处理器的动态重新分配。
然而,在根据现有技术的中断分发中,不包括有关任务的信息,所述信息是等待处理器时间以及与在中断处理和分发期间在处理器上的执行过程的状态有关的信息。
发明内容
本发明的目的是提供一种数据处理系统和中断处理方法,具有改善的和更有效的中断处理能力。
该目的是通过根据权利要求1的数据处理系统和根据权利要求5的方法实现的。
因此,提出了一种数据处理系统,所述数据处理系统包括:至少两个处理单元,每一个均用于执行多个任务;以及中断处理单元,用于接收将要由所述数据处理系统处理的中断,并且用于将所述中断分发给所述至少两个处理单元之一。被分发了所述中断的处理单元停止执行其当前任务,并且处理所述中断。所述中断处理单元适用于确定所述处理单元是否正在执行任务的关键部分。所述中断处理单元将所述中断分发给没有执行任务的关键部分的处理单元之一。
根据本发明的一个方面,所述中断处理单元确定任务是否正在等待被当前正在执行任务的关键部分的处理单元处理。将所述中断分发给不具有等待在当前任务之后被处理的任务的处理单元。
根据本发明的另外方面,所述中断处理单元确定执行任务的关键部分的剩余执行时间。然后,将所述中断分发给具有小剩余执行时间的处理单元。
根据本发明的另外方面,设置多个标志,所述标志每一个均与处理单元之一相关联,用于表示所述处理单元是否正在执行任务的关键部分。所述中断处理单元适用于监测所述多个标志,以确定要将中断分发给哪个处理单元。
本发明也涉及数据处理系统中的中断处理方法。所述数据处理系统包括:至少两个处理单元,每一个均用于执行多个任务;以及中断处理单元,用于接收将要处理的中断,并且用于将所述中断分发给所述至少两个处理单元之一。被分发了所述中断的处理单元停止当前执行,并且处理所述中断。所述中断处理单元确定所述处理单元是否正在执行任务的关键部分。所述中断处理单元将所述中断分发给没有执行任务的关键部分的处理单元之一。
本发明涉及一种提供数据处理系统的思想,所述数据处理系统包括多个处理单元和中断处理单元,用于在数据处理系统中处理和分发中断。将所述中断分发给不执行任务的关键部分的处理单元之一。如果所有处理器都在执行任务的关键部分,可选地,可以选择这些处理器中的不关联有等待在当前执行的任务之后被执行的任务的一个处理器。如果所有处理单元都正在执行任务的关键部分,并且具有等待或未决的任务,那么可选地,可以选择正在执行关键部分、但是该关键部分中的剩余执行时间较小的处理器。因此,如果在数据处理系统中存在中断,中断处理单元可以检查是否有处理器没有执行任务的关键部分。如果在该系统中存在没有执行任务的关键部分的至少一个处理器,可选择该处理器,并且可以将中断分配给该处理器。然而,如果所有处理器都在执行任务的关键部分,那么中断处理单元可以检查在关键部分的执行末端是否有任务正在等待。换句话说,确定是否存在没有任务正在等待的处理器。如果不是任一个处理单元都满足这种条件,那么确定在关键部分中具有小剩余执行时间的处理器。
利用根据本发明的数据处理系统,可以提高实时任务的性能,并且可以减小实时任务错过最终期限的可能性。
在从属权利要求中描述了本发明的另外方面。
附图说明
现在将参考附图更加详细地描述本发明实施例的优点。
图1示出了根据第一实施例的数据处理系统的示意性方框图。
具体实施方式
图1示出了根据第一实施例的数据处理系统的示意性方框图。例如,所述数据处理系统包括三个处理单元100、101、102和中断处理单元200。应该注意的是,数据处理系统也可以包括多于三个处理单元和多于一个中断处理单元。所述中断处理单元200接收中断I并且与每一个处理单元100、101、102相耦合,用于将所接收到的中断I分发给处理单元100、101、102之一。每一个处理单元100、101、102将分别处理或执行任务P1、P2、P3。每一个处理单元100-102可以包括程序计数器PC300,所述程序计数器300也可以用于存储正在由处理单元100-102处理或执行的当前指令的地址。执行迹线(execution trace)ET表示正在由处理单元100、101、102执行的程序计数器PC的进展。在由处理单元100-102执行的每一个代码中,可以存在关键部分CS。该关键部分CS的执行对于在要求范围内执行的任务是关键的,这种要求可以是实时要求。因此,应该仔细确保不会中断关键部分CS代码的执行。
这里作为示意性示例,第一处理单元100当前工作在关键部分CS,第二处理单元101还没有到达其代码的关键部分CS,而第三处理单元已经执行了关键部分CS。
如果第一处理单元100执行第一任务T1,并且第一任务的执行已经进入到关键部分CS,第二任务T2可以等待由第一处理单元执行。可选地,第二任务T2也可以具有比第一任务T1更高的优先级。先前,第二任务T2将不能够取代第一任务T1的处理,除非第一任务T1的执行已经离开了关键部分CS。
然而,如果中断发生在数据处理系统中,并且如果该将该中断分配给第一处理单元100,在第一处理单元100没有执行第一任务T1的关键部分之前,不能开始所述中断处理。可以在第一任务T1的关键部分的执行末端开始所述中断处理,然而这可能导致较高优先级任务T2的处理延迟。如果第一任务、甚至第二任务T1、T2涉及实时任务的执行,可能错失执行的最终期限。
另一方面,第二和第三处理单元101、102当前并没有执行任务的关键部分CS。因此,可以将任意中断分发给第二或第三处理单元101、102,而不会对其处理带来任何负面影响。
因此,中断处理单元200可以向当前没有执行任务的关键部分CS的处理单元100、101、102之一动态地分配中断。如果每一个处理单元均正在执行任务的关键部分CS,那么选择没有任务(可能具有较高的优先级)等待执行的处理器来处理所述中断,使得可以处理中断。另外或可选地,选择正在执行任务的关键部分、但是执行的预期时间较小的处理单元。
此外,中断处理单元200也可以考虑每一个处理单元的先前的和/或统计中断服务例行程序的执行时间。另外,可以考虑中断服务的优先级。此外,可以考虑系统中正在运行的线程的优先级和处理器的优先级。可以考虑上下文切换(context switch)、高速缓存闪烁(cache flashing)等中断的效果。也可以考虑处理单元的理想时间。
如果处理器进入关键部分的执行,处理器可以对此事实设置标志。可以对其他状态设置更多标志,例如等待处理器的高优先级任务。中断处理单元200可以能够监测每一个处理器标志,并且可以使用所述标志确定将所述中断分配给谁。
上述处理单元可以实现为相同的处理器或处理单元,使得实现对称多处理器系统。
根据本发明,描述了一种中断处理机制,所述中断处理机制不但包含中断的优先处理、而且包含向合适处理器之一的中断分发。在可用处理器之间的中断分发可以是基于对不执行任务的关键部分的处理器、执行任务的关键部分但是没有任务等待处理器退出关键部分的处理器、以及正在执行关键部分但是执行的期待时间较小的处理器之一的确定。在这些情况下,可以将中断分配给所述处理单元。
应该注意的是上述实施例说明而并非限制本发明,并且本领域普通技术人员能够在不脱离所附权利要求范围的情况下设计许多替换实施例。在权利要求中,放置在括号中的任意参考符号不应该解释为限制权利要求。词语“包括”不排除除了权利要求中所列举的之外的元件和步骤的存在。对元件数目的不明确限定并不排除存在多个这种元件。在枚举了几种装置的设备权利要求中,可以通过同一个硬件来实现这几个装置。唯一的事实在于在相互不同的从属权利要求中记载的特定措施不表示不能有利地使用这些措施的组合。
另外,权利要求中的任意参考符号不应该解释限制权利要求的范围。

Claims (5)

1.一种数据处理系统,包括:
至少两个处理单元(100、101、102),每一个均用于执行多个任务;以及
中断处理单元(200),用于接收将要由所述数据处理系统处理的中断,并且用于将所述中断分发给所述至少两个处理单元(100、101、102)之一;
其中被分发了所述中断的处理单元(100、101、102)停止执行当前任务,并且处理所述中断;
其中所述中断处理单元(200)适用于确定处理单元(100、101、102)是否正在执行任务的关键部分(CS),其中所述中断处理单元(200)将所述中断分发给处理单元(100、101、102)中没有执行任务的关键部分(CS)的一个处理单元。
2.根据权利要求1所述的数据处理系统,其中所述中断处理单元(200)适用于确定是否有任务正在等待被当前正在执行任务的关键部分(CS)的处理单元(100、101、102)处理,其中将所述中断分发给不具有等待在当前任务之后被处理的任务的处理单元(100、101、102)。
3.根据权利要求2所述的数据处理系统,其中所述中断处理单元(200)适用于确定执行任务的关键部分(CS)的剩余执行时间,其中将所述中断分发给具有小剩余执行时间的处理单元(100、101、102)。
4.根据权利要求1至3中任一项所述的数据处理系统,包括:
多个标志,所述多个标志中的每一个均与处理单元(100、101、102)之一相关联,用于表示处理单元(100、101、102)是否正在执行任务的关键部分(CS),
其中所述中断处理单元(200)适用于监测所述多个标志,以确定要将所述中断分发给哪个处理单元(100、101、102)。
5.一种数据处理系统中的中断处理方法,所述数据处理系统包括:至少两个处理单元(100、101、102),每一个均用于执行多个任务;以及中断处理单元(200),用于接收将要由所述数据处理系统处理的中断,并且用于将所述中断分发给所述至少两个处理单元(100、101、102)之一,所述方法包括以下步骤:
停止执行当前任务,并且处理所述中断;
确定处理单元(100、101、102)是否正在执行任务的关键部分(CS);以及
将所述中断分发给处理单元(100、101、102)中没有执行任务的关键部分(CS)的一个处理单元。
CN2008801201551A 2007-12-12 2008-12-08 数据处理系统和中断处理方法 Pending CN101896887A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07122966.0 2007-12-12
EP07122966 2007-12-12
PCT/IB2008/055146 WO2009074946A1 (en) 2007-12-12 2008-12-08 Data processing system and method of interrupt handling

Publications (1)

Publication Number Publication Date
CN101896887A true CN101896887A (zh) 2010-11-24

Family

ID=40443715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801201551A Pending CN101896887A (zh) 2007-12-12 2008-12-08 数据处理系统和中断处理方法

Country Status (4)

Country Link
US (1) US8386684B2 (zh)
EP (1) EP2235630A1 (zh)
CN (1) CN101896887A (zh)
WO (1) WO2009074946A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630593A (zh) * 2014-11-24 2016-06-01 三星电子株式会社 用于处理中断的方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5173714B2 (ja) * 2008-09-30 2013-04-03 ルネサスエレクトロニクス株式会社 マルチスレッドプロセッサ及びその割り込み処理方法
KR101610828B1 (ko) * 2009-09-23 2016-04-08 삼성전자주식회사 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법
JP5308383B2 (ja) * 2010-03-18 2013-10-09 パナソニック株式会社 仮想マルチプロセッサシステム
US9772960B2 (en) * 2012-10-11 2017-09-26 Wind River Systems, Inc. System and method for operating system aware low latency interrupt handling
CN106055402A (zh) * 2016-07-20 2016-10-26 青岛海信电器股份有限公司 一种中断的处理方法及装置
US10423550B2 (en) 2017-10-25 2019-09-24 International Business Machines Corporation Managing efficient selection of a particular processor thread for handling an interrupt
CN111316237B (zh) * 2017-10-31 2024-03-15 上海诺基亚贝尔股份有限公司 用于实时虚拟网络功能编排的方法、装置和系统
CN111026529B (zh) * 2019-11-26 2023-08-01 蚂蚁财富(上海)金融信息服务有限公司 分布式任务处理系统的任务停止方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007077539A1 (en) * 2006-01-04 2007-07-12 Nxp B.V. Methods and system for interrupt distribution in a multiprocessor system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2474200B1 (fr) * 1980-01-22 1986-05-16 Bull Sa Procede et dispositif d'arbitrage des conflits d'acces entre une requete asynchrone et un programme en section critique
US5179707A (en) 1990-06-01 1993-01-12 At&T Bell Laboratories Interrupt processing allocation in a multiprocessor system
DE69223303T2 (de) * 1991-09-27 1998-06-18 Sun Microsystems Inc Verfahren und Gerät für die dynamische Zuweisung von unadressierten Unterbrechungen
US5918057A (en) * 1997-03-20 1999-06-29 Industrial Technology Research Institute Method and apparatus for dispatching multiple interrupt requests simultaneously
JP3008896B2 (ja) * 1997-06-16 2000-02-14 日本電気株式会社 共有バス型マルチプロセッサシステムの割り込み負荷分散システム
US6918117B2 (en) * 2001-02-08 2005-07-12 International Business Machines Corporation Apparatus and method for dynamic load balancing of multiple cryptographic devices
US6952749B2 (en) * 2001-05-02 2005-10-04 Portalplayer, Inc. Multiprocessor interrupt handling system and method
US6799236B1 (en) * 2001-11-20 2004-09-28 Sun Microsystems, Inc. Methods and apparatus for executing code while avoiding interference
US7328294B2 (en) * 2001-12-03 2008-02-05 Sun Microsystems, Inc. Methods and apparatus for distributing interrupts
US6877057B2 (en) * 2002-01-25 2005-04-05 Dell Products L.P. Information handling system with dynamic interrupt allocation apparatus and methodology
US7028302B2 (en) * 2002-04-24 2006-04-11 Hewlett-Packard Development Company, L.P. System and method for automatically tuning a multiprocessor computer system
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US7590982B1 (en) * 2003-12-17 2009-09-15 Vmware, Inc. System and method for virtualizing processor and interrupt priorities
US7917910B2 (en) * 2004-03-26 2011-03-29 Intel Corporation Techniques to manage critical region interrupts
US7953906B2 (en) * 2007-02-20 2011-05-31 Ati Technologies Ulc Multiple interrupt handling method, devices and software
KR101610828B1 (ko) * 2009-09-23 2016-04-08 삼성전자주식회사 멀티코어 프로세서의 인터럽트 온/오프 관리 장치와 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007077539A1 (en) * 2006-01-04 2007-07-12 Nxp B.V. Methods and system for interrupt distribution in a multiprocessor system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GIROIR D ET AL.: "Interrupt dispatching method for multiprocessing system", 《IBM TECHNICAL DISCLOSURE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630593A (zh) * 2014-11-24 2016-06-01 三星电子株式会社 用于处理中断的方法

Also Published As

Publication number Publication date
US8386684B2 (en) 2013-02-26
EP2235630A1 (en) 2010-10-06
WO2009074946A1 (en) 2009-06-18
US20110106995A1 (en) 2011-05-05

Similar Documents

Publication Publication Date Title
CN101896887A (zh) 数据处理系统和中断处理方法
KR101746018B1 (ko) 비대칭 실행 유닛들의 효율적인 스케줄링을 위한 방법 및 장치
CN100504827C (zh) 在次序混乱的dma命令队列中建立命令次序
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
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
US9880875B2 (en) Apparatus and method for hardware-based task scheduling
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
US20090177829A1 (en) Interrupt redirection with coalescing
US9904554B2 (en) Checkpoints for a simultaneous multithreading processor
US10318456B2 (en) Validation of correctness of interrupt triggers and delivery
US8261049B1 (en) Determinative branch prediction indexing
EP2270652B1 (en) Priority circuit for dispatching instructions in a superscalar processor having a shared reservation station and processing method
CN103019848A (zh) 一种pci总线非向量中断实现方法
CN102193828B (zh) 从处理器中的并发物理线程的数目中去耦合逻辑线程的数目
EP4386554A1 (en) Instruction distribution method and device for multithreaded processor, and storage medium
CN112789593A (zh) 一种基于多线程的指令处理方法及装置
US8117425B2 (en) Multithread processor and method of synchronization operations among threads to be used in same
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
CN103765399A (zh) 在多核系统中分配中断的方法和设备
CN115981893A (zh) 消息队列任务处理方法、装置、服务器及存储介质
CN112673354A (zh) 一种系统状态检测方法、系统状态装置及终端设备
KR20130094889A (ko) 실시간 운영체제의 태스크 스케줄링 방법
US11023241B2 (en) Systems and methods for selectively bypassing address-generation hardware in processor instruction pipelines
US20080288952A1 (en) Processing apparatus and device control unit
CN107239417B (zh) 基于异步事件框架机制处理低速外设访问的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101124