CN1535427A - 用于芯片上系统设计的有效中断系统 - Google Patents

用于芯片上系统设计的有效中断系统 Download PDF

Info

Publication number
CN1535427A
CN1535427A CNA028148894A CN02814889A CN1535427A CN 1535427 A CN1535427 A CN 1535427A CN A028148894 A CNA028148894 A CN A028148894A CN 02814889 A CN02814889 A CN 02814889A CN 1535427 A CN1535427 A CN 1535427A
Authority
CN
China
Prior art keywords
processor
interruptable controller
interruption
interrupt
external unit
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
CNA028148894A
Other languages
English (en)
Inventor
R・詹森
R·詹森
吕维拉
A·德奥利维拉
挛尔
T·奥德维尔
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 CN1535427A publication Critical patent/CN1535427A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

在芯片上系统设计中用于管理中断的方法(400)和系统(10),包括与多个外部设备(120a,120b,…120m)相耦合的多个处理器(100a,100b,…100n)。多个互连的中断控制器(110a,110b,…110n)被耦合在这些处理器和外部设备之间。由外部设备产生的中断被所有的中断控制器接收。在一个实施方案中,中断控制器与处理器相配对。每个中断控制器可以识别哪些中断将被传送给其配对的处理器。中断控制器一致工作以将每个中断传送给特定的处理器。

Description

用于芯片上系统设计的有效中断系统
技术领域
本发明一般涉及集成电路(“芯片”)领域,更具体地,本发明属于在包括多处理器和多外部设备的“芯片上系统设计”中实现中断管理。
技术背景
“芯片上系统”的体系结构(例如微控制器或微处理器)通常在包括音频、无线电、便携设备、数据通信、互联网控制以及工业与用户系统的应用中得到广泛的采用。芯片上系统体系结构在芯片生产和芯片在特殊应用的结合中提供了设计和制造效率。
为了改进性能,某些芯片上系统体系结构利用了多个中央处理单元(CPU)。此外,芯片上系统体系结构还可能利用一般以某种类型分级形式安排的多条总线。
随着芯片复杂性的增加,芯片上系统体系结构出现了一些问题。当在芯片上采用多个CPU、以及芯片要支持多个外部设备的情况下,由外设产生的中断请求的管理可能相当麻烦。例如,中断请求可能由若干外设同时产生。中断请求需要个别地处理,并且每一个都要路由到CPU。处理中断请求的每个CPU都必须询问每一个外部设备,以便确定哪个设备是中断请求的来源。如果CPU同时收到多个中断请求,则必须对中断请求之间的冲突作出仲裁。
在多处理器结构中管理中断请求的现有技术都有一个或多个缺点。现有技术的中断管理技术可能需要复杂而低效的多总线设计。此外,现有技术可能不允许处理器关于中断请求的处理进行彼此通信。还有,现有技术可能将某些中断请求赋予硬件中特定的CPU,因而现有技术显得相对固定和不够灵活。而且,现有技术可能迫使集成电路设计人员面临困难的定时与布局约束,从而使设计与生产集成电路的时间大为增加。
因此,需要有一种能够容纳更为简单有效的多总线设计的中断管理系统和/或方法。同时需要能够满足上述要求并允许处理器间通信用于处理中断请求的中断管理系统和/或方法。还需要能满足上述要求并灵活地将中断请求分配给CPU的中断管理系统和/或方法。此外,也需要有一种能够满足上述要求并使设计人员不再面对不必要的繁琐的定时处理和电路布局约束,从而便于集成电路的设计的中断管理系统和/或方法。本发明为所有这些要求提供了新的解决方案。
发明内容
本发明属于芯片上系统设计中的一种用于管理中断请求(“中断”)的方法和系统,它包含有与多个外部设备相耦合的多个中央处理单元(例如处理器)。本发明提供了一种能够容纳更为简单有效的多总线设计的中断管理系统和方法。本发明还提供了允许处理中断的处理器间通信的中断管理系统和方法。此外,本发明提供了在将中断分配给处理器(例如中央处理单元)方面具有灵活性的中断管理系统和方法。而且,本发明提供了通过使设计人员不再面对不必要的繁琐的定时处理和电路布局约束从而便于集成电路的设计的中断管理系统和方法。
根据本发明,在支持多外部设备的多处理器体系结构中,多个互连的中断控制器耦合在处理器和外部设备之间。中断控制器一致地工作以将中断传送给特定的处理器。在需要时,这些中断控制器也能用于处理器间的通信。这就是说,一个处理器可以产生一通过该中断控制器通信至另一个处理器的中断。
在一个实施方案中,中断控制器的数目与处理器的数目相等,每个中断控制器都与单一的处理器相配对(反之亦然)。在一个这样的实施方案中,每个中断控制器包含一个中断优先权寄存器(或类似的存储器单元),寄存器包含有各外部设备的优先权顺序。对于每一个中断控制器而言,该信息都是特定的,并可以被中断控制器用来确定是否将该中断送给其配对的处理器。当中断控制器同时接收多于一条中断指令时,这一信息也可以被该中断控制器用来在各中断间作出仲裁。
由外部设备产生的每一个中断被所有的中断控制器接收。利用上面一段所述的信息,中断控制器分别识别是否将该中断发送给它的配对处理器。用这种方法,中断控制器可以一致地工作,将中断传送给特定的处理器。
在一个实施方案中,每个中断控制器都包含一中断优先权限制寄存器(或类似的存储器单元),该寄存器被设置到当前正在处理的中断的优先权数值。在另一个实施方案中,每个中断控制器包含一个中断源寄存器(或类似的存储器单元),用于识别具有最高优先权以及其优先权大于中断优先权限制寄存器中数值的未决中断。也就是说,中断源寄存器识别接下来应被处理的中断。在处理这样的中断时,处理器对这一寄存器进行单次读访问,以便识别产生中断的外设。
本发明用于管理中断的方法和系统是可以缩放的,可以直接地添加外部设备,并通过改变中断控制器的“寄存器传送语言”的描述对其加以控制。本发明还可被扩充为包含任意数目的处理器。此外,也允许有任意数目的芯片上总线。
可以用软件对中断控制器进行编程,将中断映射给任何的处理器。根据本发明可以容易地处理嵌套的中断(例如同时或接近同时发生的中断)。中断处理的效率得以提高,这是因为举例来说,处理器只需要实行单次读访问来识别作为中断源的外部设备。
而且,由于中断可以被异步地处理,从而使中断处理不再是设置定时和集成电路布局的严重问题,因此使得集成电路的设计和实现变得容易了。
在阅读了下述优选实施方案的详细描述后,对于本领域的一般技术人员来说,本发明的这些及其它一些目标和诸多优点将显而易见。下面以各种图形对这些优选实施方案加以说明。
附图简述
所附图形与本说明是一个整体,并构成本说明的一部分,旨在用图形解释本发明的实施方案,且与该说明书一道用来阐明本发明的原理。
图1是根据本发明的一个实施方案给出的一个中断管理系统的总体方框图。
图2是根据本发明给出的中断控制器的一个实施方案方框图。
图3是图1所示中断管理系统中各块之间互连情况的详细方框图。
图4是根据本发明的一个实施方案给出的中断管理过程的步骤流程图。
图5A是根据本发明的一个实施方案展示的通过中断控制器的处理器间通信的数据流图。
图5B是如图5A所示之处理器间通信的定时图。
实现本发明的最佳方式
现在将详细介绍本发明的优选实施方案,其范例在附图中加以说明。虽然本发明将结合一些优选实施方案予以阐明,但可以理解,本发明并不限于这些优选实施方案。相反,本发明涵盖了各种选择、变更和等效方案,这些方案全都包括在由所附权利要求所规定的本发明的精神实质和范畴中。此外,在本发明的以下详述中,为了提供对本发明的透彻理解而给出了许多特定的细节。但是,对于本领域的一般技术人员而言,显然无须这些特定细节就可以实现本发明。在另外一些情况下,没有详细描述众所周知的方法、步骤、部件及电路,以免给本发明的各方面造成不必要的模糊。
下面给出的详述的某些部分将借助于以数据位工作的步骤、逻辑块、过程和其它符号表示来说明,这些描述和表示是数据处理专业技术人员使用的工具,用来将其工作实质最有效地传达给本领域的其他技术人员。在本申请中,各步骤、逻辑块、过程等均假定为可导致所要求结果的步骤或指令的自相一致的序列。各步骤都是要求物理量实际操作的步骤。通常,虽然不一定必要,这些量皆具有电的或磁的信号的形式,能够在计算机系统中被储存、传送、组合、比较以及实行其它操作方式。有时(主要为了通用),将这些信号称为事务、位、值、元素、符号、字符、片段、像素等等,被证明是方便的。
但是,应当牢记所有这些以及类似的术语都与适当的物理量相联系,且仅仅是应用于这些物理量的方便的标签。除非特别说明,否则正如在以下讨论中所明显看到的那样,本发明始终利用“产生”、“通信”、“传送”、“接收”、“路由”、“存储”、“识别”等诸如此类的术语进行的讨论,是指计算机系统或类似的电子计算设备中的动作与过程(例如图4中的过程400)。这些计算机系统或类似的电子计算设备在计算机系统存储器、寄存器或其它这样的信息存储、传输或显示设备内部对表示为物理(电子)量的数据实行操作和变换。
图1是根据本发明的一个实施方案给出的一个中断管理系统10的总体方框图。在这一实施方案中,中断管理系统10包括大量处理器(CPU)100a-n、大量中断控制器110a-n以及大量外部设备120a-m。根据本发明的这一实施方案,当外部设备120a-m之一产生一个中断请求(“中断”)时,中断控制器110a-n将一致工作,指引该中断到CPU100a-n中的单一一个,其详细过程将在下面说明。正如将要看到的那样,本发明的中断管理系统10的规模是可变的,且可容纳任意数目的处理器、中断控制器和外部设备。
中断控制器110a-n彼此间互相连接且可通信,参见图3。一般情况下,CPU 100a-n和中断控制器110a-n都驻留在集成电路中(例如,它们是芯片上系统的体系结构的代表)。但是应当领会到,CPU 100a-n中的一个或多个以及中断控制器110a-n中的一个或多个有可能是驻留在集成电路的外面。类似地,外部设备120a-m中的一些或全部有可能驻留在集成电路内。
参见图1,在一个实施方案中,中断控制器的数目和处理器的数目是相等的,至少就中断而论,是通过一中断控制器与一CPU通信的。在本实施方案中,中断控制器110a-n中的每一个都与单一的CPU100a-n配对,反之亦然。这就是说,CPU 100a与中断控制器110a配对,CPU 100b与中断控制器110b配对,等等。在本实施方案中,至少就中断而论,中断控制器110a-n将直接与其对应的CPU 100a-n通信,与另一CPU的通信则通过与该CPU配对的中断控制器进行。也就是说,例如,中断控制器110a直接与CPU 100a通信,而中断控制器110a与CPU 100b-n的通信则通过其它的中断控制器110b-n。注意在本实施方案中,中断控制器110a-n并不是向CPU 100a-n传送数据的渠道,其主要作用是控制到CPU 100a-n的中断的流向和分布。
在一个实施方案中,CPU 100a-n中的每一个都能通过芯片上总线130与外设120a-m中的每一个通信。在一个实施方案中,CPU 100a-n与寄存器访问总线135相耦合,其允许CPU对中断控制器寄存器进行读写(参见图2和下面)。在一个实施方案中,由任意外设120a-m产生的中断被路由至所有中断控制器110a-n。但是,在另一个可供选择的实施方案中,中断可能有选择地路由至中断控制器110a-n的某一子集,而非所有的中断控制器。
中断控制器110a-n中的每一个都被编程,以辨别中断应当还是不应当被传送给其相应的(配对的)CPU。中断控制器110a-n被编程,使每个外设120a-m都被考虑在内。按照这样的编程,每个中断控制器110a-n要确定是否应当将它接收的中断传送给与其配对的CPU。例如,中断控制器110a要确定是否应当将中断传送给CPU 100a,如果是,则中断被传送给CPU 100a;否则,就不传送。因为所有的外设120a-m都被考虑在内,由外设中任何之一所产生的中断将被中断控制器110a-n之一处理,继而被CPU 100a-n之一所处理。结合图2进一步的说明如下。
图2是根据本发明给出的中断控制器110a的一个实施方案的方框图。在此实施方案中,中断控制器110a是一个硬件单元,它包含有中断源寄存器210、中断优先权寄存器220、比较逻辑块225、中断优先权限制器230、“与”(AND)门240以及“或”(OR)门250。由于中断控制器110a的作用是通过这些各种不同元件的前后关系来描述的,故应当理解中断控制器110a并不限于所述的实施方案,并且可对中断控制器110a作其它配置来实现所要求的功能。
在本实施方案中,中断优先权寄存器220是一个动态的且可配置的寄存器,它含有已赋予外设120a-m(图1)中的每一个的优先权。因此,在本实施方案中,可以用针对所有外设120a-m的优先权顺序给每个中断控制器110a-n(图1)编程。在中断优先权寄存器220中的信息对中断控制器110a-n是特定的,亦即,对中断控制器110a-n中的每一个而言,外设120a-m的优先权顺序都不相同。
根据本发明,通过由处理器100a-n(图1)之一执行的软件,将优先权顺序提供给每个中断控制器110a-n。换言之,每个中断控制器110a都用外设120a-m的唯一的优先权顺序编程。由特定的中断控制器110a-n使用的优先权顺序以及赋予每一个外设120a-m的优先权顺序,可以动态地改变。结果,外设120a-m可被分配(映射)给任何一个CPU 100a-n,并且这一映射可以这样改变,使得分配给一个中断控制器(和CPU)的一外设能够被分配给不同的CPU。此外,当增加或去除外部设备时,本发明的中断管理系统与方法可以方便地更新,因而在规模上可改变到任意数量的外设。由于是在软件中提供外部设备对CPU的映射,故可以方便地改变或扩充,因此本发明为中断管理提供了灵活的及规模可变的系统与方法。
参见图2,一些外设将在中断优先权寄存器220中具有优先权顺序,其表明它们的中断不会被中断控制器110a传送给CPU 100a。例如,这些外设可能拥有为0的优先权顺序,或者定义优先权顺序的中断优先权寄存器220中的位可能对这些外设无效。这样,在中断优先权寄存器220中的优先权顺序被用来定义哪些外设被分配给中断控制器110a,进而分配给CPU 100a。
其余的外设将在中断优先权寄存器220中拥有优先权顺序,表明它们的中断会被中断控制器110a传送给CPU 100a。每一个这样的外设都可能被赋予不同的优先权,以表明来自某些外设的中断优先于来自其它外设的中断。于是,如果中断控制器110a同时或近于同时接收多于一个中断260,则中断控制器110a能够自动地在这些中断间作出仲裁,以选择并处理具有最高优先权的中断。
在本实施方案中,中断优先权限制器230是动态的和可配置的寄存器,它被设置到中断270的优先权值上,此中断是当前通过软件正在被中断控制器110a处理的中断。这样做使得中断优先权限制器230基于当前正在被中断控制器110a处理的中断270规定阈值。
在一个实施方案中,可以对嵌套的中断作如下的处理。当后续的中断260被中断控制器110a接收时,比较逻辑块225将接着的(后续的)中断的优先权顺序与当前正在处理的中断270的优先权顺序进行比较。在本实施方案中,比较块225将基于这一比较的信号提供给AND门240。如果后续的中断具有比由中断优先权限制器230所规定阈值更高的优先权,则将一个使能信号(例如有效的“1”)传送给AND门240,于是此后续的中断便被传送给CPU 100a,同时通过软件将中断优先权限制器230用新的阈值更新。如果后续的中断具有比由中断优先权限制器230所规定阈值低的优先权,则AND门240将不把后续的中断传送给CPU 100a。用这种方法,根据本发明可以容易地处理嵌套的中断。因此,在本发明的这一实施方案中,是具有最高优先权的中断而非最先到达的中断先被CPU 100a处理。对于中断控制器110a接收到的每个中断260,都将例示一次确定中断优先权和将优先权与阈值进行比较的过程。
在一个实施方案中,OR门250的作用是仅提供单个中断给CPU100a。一些CPU的设计允许它们具有多于一个的中断输入,而其他CPU的设计则只允许有单个中断输入。因此,OR门250允许在任一种CPU设计类型下使用中断控制器110a。
继续参考图2,中断源寄存器210包括识别外设120a-m(图1)中的哪个产生接下来应被CPU 100a处理的中断的信息。中断源寄存器210利用最高优先权和其优先权大于中断优先权限制器寄存器220中的值来识别未决中断。因此,中断源寄存器210识别的是接下来应被处理的中断。这样,CPU 100a读取中断源寄存器210以决定接下来要处理哪个外设120a-m。因此,不必访问每一个外设120a-m来决定它们中的哪一个产生了这一中断,CPU 100a只需要对中断源寄存器210进行单次访问就能作出这一决定,从而提高了中断处理过程的效率。利用芯片上总线130(图1),CPU 100a就可以访问产生中断的外设。
处理中断之后,CPU 100a清除在外设中的中断,这将导致中断控制器110a和CPU 100a中的中断断言被解除(de-assert)。
重要的是通常中断控制器110a-n在其中断输入和中断输出之间只含有组合逻辑。这就允许各中断被传送给相应的CPU 100a-n而无须在中断控制器中有时钟。根据本发明的本实施方案,可以异步地处理中断,这样,中断处理对于建立定时或安排集成电路的布局没有苛刻的要求,从而使这种电路的设计更加容易。
图3是图1的中断管理系统10中各单元之间互连情况的详细方框图。特别是图3示出了一些总线,它们允许中断控制器110a-n(进而CPU 100a-n)根据本发明的一个实施方案彼此之间实现通信。可以领会到,根据本发明可以利用包含不同总线数目和类型的其它总线配置。
在这一实施方案中,芯片上总线130允许每个CPU 100a-n与外设120a-m实行通信。此外,在一个实施方案中,CPU 100a-n分别与寄存器访问总线135相耦合。寄存器访问总线135允许每个CPU访问图2的中断源寄存器210,以便在单次读访问中确定外设120a-m中的哪个产生接下来应被CPU处理的中断。
在本实施方案中,中断请求总线330提供了从一个中断控制器到另一个中断控制器、因而从一个CPU到另一个CPU发送中断的通信路径。因此,在必要时每个CPU都可以从另一个CPU请求协助。中断请求总线330还提供了从外设120a-m到中断控制器110a-n发送中断的通信路径。中断清除总线320则用于清除已被处理过(已被执行)的中断。
通常,当中断控制器从CPU接收一中断请求时,该中断请求的处理方式与从外部设备接收中断请求相同。这就是说,将某一优先权与来自CPU的中断请求相关联,中断控制器根据此优先权来处理该中断请求。优先权可能基于产生该中断的CPU,或者基于产生该中断的外部设备,后者又促使CPU产生一个中断。这个中断请求可以从一个中断控制器传送给下一个中断控制器,直至找到能处理该中断的中断控制器(及相应的CPU)。有关处理器间通信的协议将在下面结合图5A和5B予以介绍。
图4是根据本发明管理中断的过程400的一个实施方案给出的步骤流程图。在一个实施方案中,过程400由图1的中断控制器110a-n予以执行。可以体会到的是,过程400中的步骤也可以按照与所示不同的顺序执行,或是可能并不执行过程400中的所有步骤。
在实施方案中图4的步骤410中(同时参考图1和图2),每个中断控制器110a-n接收足以识别哪个中断将被发送给与每个中断控制器相关联的CPU 100a-n的信息。在一个实施方案中,用外设120a-m的优先权顺序对每个中断控制器110a-n进行编程。对于每个中断控制器110a-n而言,优先权顺序是唯一的,并且每对中断控制器和CPU,优先权顺序被用来识别其中断将由中断控制器发送给CPU的外部设备。
在一个实施方案中,优先权顺序被存储在每个中断控制器的中断优先权寄存器220中。存储在中断优先权寄存器220中的优先权顺序可以动态地改变,例如,如果附加的外部设备被耦合到CPU 100a-n,或者如果想要改变外设120a-m对CPU 100a-n的映射的话。
在本实施方案图4的步骤420中(同时参考图1和图2),中断260被所有的中断控制器110a-n所接收。在一个实施方案中,假定由外设120a-m所产生的中断260是无低频干扰的。
在图4的步骤430中,在一个实施方案中,利用上面步骤410中编程的优先权顺序,中断控制器110a-n(图1)中的每一个都要决定是否应将中断发送给其相应(配对)的CPU。如果中断被启动(即该中断具有非0的优先权),而且该中断所具有的优先权大于图3的中断优先权限制器230中所规定的阈值,则中断控制器便将此中断发送给相应的CPU。
在图4的步骤440中,在本实施方案中,识别产生中断(该中断接下来应被CPU处理)的外设的信息被存储在图3的中断源寄存器210中。CPU(特别是CPU的中断处理器)可以读取该中断源寄存器210。以中断源为基础,CPU可以从产生该中断的外设读取中断状态,此状态信息为CPU提供了处理该中断的足够信息。在中断执行之后,CPU便清除外设中的中断,这将导致对中断控制器和CPU的中断断言被解除。
在图4的步骤450中,如果CPU处于忙碌状态并需要另一CPU的协助,中断可以由第一CPU产生,并通过其相应的中断控制器发送给第二CPU。现结合图5A和图5B来进一步说明这一点。
图5A是根据本发明的一个实施方案展示的处理器间通过中断控制器PIC1(501)和PIC2(502)通信的数据流图。为使讨论简化,仅说明有关两个处理器的处理器间通信。但是,处理器间通信可以扩展到任意数量的处理器。为了启动处理器间通信,多个信号510在PIC1(501)和PIC2(502)间传送。信号510包括中断请求信号(例如Int_req[p-0]和Int_req[r-0])及中断清除信号(例如Int_clr[p-0]和Int_clr[r-0])。通过中断控制器的处理器间通信异步地实现。
图5B是如同图5A中所示那样的处理器间通信(IPC)的定时图。参见图5A和图5B,CPU1(505)写入PIC1(501),设置Int_req1(510a)来发起对处理器间通信的请求。这将使PIC2(502)断言Int_to_cpu2(504)(如果其中断优先权大于在图2的中断优先权限制器230中的阈值的话)。PIC2(502)以与外设120a-m(图1)所产生之中断的同样方式对待处理器间通信的中断。
继续参考图5A和图5B,CPU2(506)对PIC2(502)读取中断源寄存器210(图2),并执行中断处理程序。当中断处理程序结束执行后,该中断通过CPU2(506)写入PIC2(502)而被清除。该写入之后,Int_clr1(510b)被断言,Int_to_cpu2(504)被解除断言,还有Int_req1(510a)也被解除断言。然后PIC1(501)准备从CPU1(505)接收另一个写操作,来再次设置Int_req1(510a)。但是,当Int_clr1(510b)被断言时,不能完成对Int_req1(510a)断言的写。为了确保完成对先前的中断的清除,这样做是必要的。
根据本发明给出的处理器间通信具有很多优点。首先是既安全又有效。CPU断言中断(例如CPU1 505)只需要执行一次写入其相应的中断控制器(例如PIC1 501)。被中断的CPU(例如CPU2 506)读取中断源寄存器以确定中断源,并在处理完成时清除该中断。CPU2 506通过对PIC2(502)的读和写达到这一目的。因此,根据本发明,避免了跨越多条总线系统的访问时间过长的问题。其次,按照本发明的处理器间通信的规模是可变化的。第三,由于处理器间通信是异步的,对建立定时和集成电路布局没有苛刻要求,因而使这种电路的设计更加容易。
除此之外,因为处理器间通信的中断与由外设120a-m(图2)所产生的中断的处理方式相同,处理器间通信可以方便地在软件中处理,特别是它能够用管理外设120a-m的软件进行处理。
总之,本发明提供了可容纳更为简单和更加有效的多总线设计的中断管理系统和方法。本发明还提供了允许处理器间通信的中断管理系统和方法。此外,本发明所提供在将中断分配给处理器(例如中央处理单元)方面具有灵活性的中断管理系统和方法。而且,本发明还提供了这样的中断管理系统和方法,它们能使设计人员无须面对繁复的定时与电路布局设计压力,从而可以在较短期间内设计和生产。
在这里描述了本发明的优选实施方案,一种用于芯片上系统设计的有效的中断系统。虽然特别描述了本发明的一些实施方案,但应当认识到,不能认为本发明只局限于这样的实施方案,而是应当按照下面的权利要求对其作出解释。

Claims (23)

1.一种中断管理系统(10)包括:
适于产生中断的多个外部设备(120a,120b,...120m);
多个处理器(100a,100b,...100n),它们耦合在单个集成电路中并与所述多个外部设备耦合,使得每个处理器能够与所有的外部设备通信;以及
多个互连的中断控制器(110a,110b,...110n),它们被耦合在所述多个处理器和所述多个外部设备之间,其中所述中断控制器使由所述外部设备之一产生的中断传送给所述多个处理器的一特定处理器。
2.权利要求1的中断管理系统,其中由所述外部设备之一产生的所述中断被路由给所有的中断控制器。
3.权利要求1的中断管理系统,其中处理器的数目与中断控制器的数目相等。
4.权利要求3的中断管理系统,其中每个中断控制器都与单个处理器配对。
5.权利要求4的中断管理系统,其中与处理器配对的中断控制器适于确定由外部设备产生的哪些中断将被传送给所述处理器。
6.权利要求1的中断管理系统,其中中断控制器适于存储识别外部设备的信息,该外部设备产生将被传送给所述特定处理器的中断。
7.权利要求6的中断管理系统,其中所述特定处理器在单次读访问中识别所述的外部设备。
8.权利要求1的中断管理系统,其中中断控制器适于存储识别所述外部设备的优先权顺序的信息。
9.权利要求1的中断管理系统,其中所述中断控制器将由所述多个处理器中的一处理器产生的中断传送给所述多个处理器中的另一处理器。
10.一种中断管理系统(10),包括:
耦合在处理器(100a)和多个外部设备(120a,120b,...120m)之间的中断控制器(110a),所述中断控制器包括:
第一寄存器(220),它包括用来识别由所述外部设备产生的哪些中断将被发送给所述处理器的信息;以及
第二寄存器(210),它包括识别与将被传送给所述处理器的中断相关的一特定外部设备的信息,其中所述处理器在单次读访问中识别所述的特定外部设备。
11.权利要求10的中断管理系统,包括多个互连的中断控制器(110a,110b,...110n),它们被耦合到所述多个外部设备,其中由所述外部设备之一产生的中断被路由至所有的中断控制器。
12.权利要求11的中断管理系统,包括多个在单个集成电路中的处理器(100a,100b,...100n),所述多个处理器被耦合到所述多个中断控制器,所述多个中断控制器又耦合到所述多个外部设备,使得每个处理器都能与所有的外部设备通信。
13.权利要求12的中断管理系统,其中所述中断控制器将由所述多个处理器之一产生的中断传送给所述多个处理器中的另一处理器。
14.权利要求12的中断管理系统,其中处理器的数目与中断控制器的数目相等。
15.权利要求14的中断管理系统,其中每个中断控制器都与单个处理器配对。
16.权利要求10的中断管理系统,其中所述第一寄存器包括识别所述外部设备的优先权顺序的信息。
17.一种管理中断的方法(400),包括下述步骤:
a)(420)在多个中断控制器处接收由多个外部设备之一产生的中断,其中所述中断控制器被耦合到多个处理器;以及
b)(430)将所述中断传送给单个处理器。
18.权利要求17所述的方法,其中处理器的数目与中断控制器的数目相等。
19.权利要求18所述的方法,其中每个中断控制器都与单个处理器配对。
20.权利要求19所述的方法,其中所述步骤b)包括以下步骤:
(410)在每个中断控制器处接收信息,所述信息对中断控制器是特定的,且足以用来识别哪些中断将被传送给与所述中断控制器配对的处理器。
21.权利要求20所述的方法,其中所述信息是所述外部设备的优先权顺序。
22.权利要求17所述的方法,包括下述步骤:
(440)存储识别产生中断的外部设备的信息,其中所述单个处理器在单次读访问中识别所述的外部设备。
23.权利要求17所述的方法,包括下述步骤:
(450)传送由所述多个处理器之一产生的中断给所述多个处理器中的另一处理器。
CNA028148894A 2001-07-30 2002-07-02 用于芯片上系统设计的有效中断系统 Pending CN1535427A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US91860301A 2001-07-30 2001-07-30
US09/918,603 2001-07-30

Publications (1)

Publication Number Publication Date
CN1535427A true CN1535427A (zh) 2004-10-06

Family

ID=25440649

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028148894A Pending CN1535427A (zh) 2001-07-30 2002-07-02 用于芯片上系统设计的有效中断系统

Country Status (4)

Country Link
EP (1) EP1415233A1 (zh)
JP (1) JP2004537809A (zh)
CN (1) CN1535427A (zh)
WO (1) WO2003012658A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333344C (zh) * 2005-08-18 2007-08-22 上海交通大学 减轻片上系统软件负载的方法
CN101980149A (zh) * 2010-10-15 2011-02-23 无锡中星微电子有限公司 主处理器与协处理器通信系统及通信方法
CN102169449A (zh) * 2010-02-25 2011-08-31 三星电子株式会社 具有中断代理功能的片上系统及其中断处理方法
CN102945214A (zh) * 2012-10-19 2013-02-27 北京忆恒创源科技有限公司 基于io延迟时间分布优化中断处理任务的方法
CN103019835A (zh) * 2011-09-26 2013-04-03 同方股份有限公司 一种多核处理器中断资源优化处理系统和方法
CN104503836A (zh) * 2015-01-08 2015-04-08 武传胜 多核处理器进程调度系统和多核处理器进程调度方法
CN106020961A (zh) * 2016-05-30 2016-10-12 天津国芯科技有限公司 一种可以提高系统效率的交叉触发装置
CN112363972A (zh) * 2020-10-20 2021-02-12 青岛信芯微电子科技股份有限公司 支持多cpu间通信的电子设备及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125324A1 (en) * 2013-02-12 2014-08-21 Freescale Semiconductor, Inc. A method of and circuitry for controlling access by a master to a peripheral, a method of configuring such circuitry, and associated computer program products

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5590380A (en) * 1992-04-22 1996-12-31 Kabushiki Kaisha Toshiba Multiprocessor system with processor arbitration and priority level setting by the selected processor

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333344C (zh) * 2005-08-18 2007-08-22 上海交通大学 减轻片上系统软件负载的方法
CN102169449A (zh) * 2010-02-25 2011-08-31 三星电子株式会社 具有中断代理功能的片上系统及其中断处理方法
CN102169449B (zh) * 2010-02-25 2015-09-16 三星电子株式会社 具有中断代理功能的片上系统及其中断处理方法
CN101980149A (zh) * 2010-10-15 2011-02-23 无锡中星微电子有限公司 主处理器与协处理器通信系统及通信方法
CN101980149B (zh) * 2010-10-15 2013-09-18 无锡中星微电子有限公司 主处理器与协处理器通信系统及通信方法
CN103019835A (zh) * 2011-09-26 2013-04-03 同方股份有限公司 一种多核处理器中断资源优化处理系统和方法
CN102945214B (zh) * 2012-10-19 2016-02-10 北京忆恒创源科技有限公司 基于io延迟时间分布优化中断处理任务的方法
CN102945214A (zh) * 2012-10-19 2013-02-27 北京忆恒创源科技有限公司 基于io延迟时间分布优化中断处理任务的方法
CN104503836A (zh) * 2015-01-08 2015-04-08 武传胜 多核处理器进程调度系统和多核处理器进程调度方法
CN104503836B (zh) * 2015-01-08 2018-01-30 辽宁科技大学 多核处理器进程调度系统和多核处理器进程调度方法
CN106020961A (zh) * 2016-05-30 2016-10-12 天津国芯科技有限公司 一种可以提高系统效率的交叉触发装置
CN112363972A (zh) * 2020-10-20 2021-02-12 青岛信芯微电子科技股份有限公司 支持多cpu间通信的电子设备及方法
CN112363972B (zh) * 2020-10-20 2022-09-23 青岛信芯微电子科技股份有限公司 支持多cpu间通信的电子设备及方法

Also Published As

Publication number Publication date
WO2003012658A1 (en) 2003-02-13
JP2004537809A (ja) 2004-12-16
EP1415233A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
US7926061B2 (en) iMEM ASCII index registers
US5752070A (en) Asynchronous processors
JP4128956B2 (ja) デュアル・インライン・メモリモジュール・フォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート
US20050223384A1 (en) iMEM ASCII architecture for executing system operators and processing data operators
EP0135127A2 (en) Personal computer interface
CN1991768A (zh) 与不同种类的资源通信的基于指令系统结构的内定序器
JP2002509302A (ja) メモリサブシステムに複数のメモリアルゴリズムプロセッサを組込むマルチプロセッサコンピュータアーキテクチャ
US20120304190A1 (en) Intelligent Memory Device With ASCII Registers
CN1399743A (zh) 高速缓存系统和数字信号处理器结构
EP2450799A1 (en) Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (LR-DIMMS) incorporating isolation memory buffers
US7908603B2 (en) Intelligent memory with multitask controller and memory partitions storing task state information for processing tasks interfaced from host processor
CN101160562A (zh) 用于异质多管线处理器中的功率减小的方法和设备
CN113316772A (zh) 用于启用具有指示符的部分数据传输的系统、方法和装置
CN1610880A (zh) 使处理器与协处理器接口的方法和设备
CN1535427A (zh) 用于芯片上系统设计的有效中断系统
US7882504B2 (en) Intelligent memory device with wakeup feature
US20050172085A1 (en) Intelligent memory device
US5572687A (en) Method and apparatus for priority arbitration among devices in a computer system
CN1464415A (zh) 一种多处理器系统
US11886737B2 (en) Devices and systems for in-memory processing determined
US7823159B2 (en) Intelligent memory device clock distribution architecture
US5845131A (en) Multiprocessor system employing an improved self-coded distributed interrupt arbitration technique
WO2009004628A2 (en) Multi-core cpu
CN1879095A (zh) 用于经由总线传送打包字的电子数据处理电路
Chang Digit-serial pipeline sorter architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication