CN1308828C - 用于处理事件的方法和装置 - Google Patents

用于处理事件的方法和装置 Download PDF

Info

Publication number
CN1308828C
CN1308828C CNB018181058A CN01818105A CN1308828C CN 1308828 C CN1308828 C CN 1308828C CN B018181058 A CNB018181058 A CN B018181058A CN 01818105 A CN01818105 A CN 01818105A CN 1308828 C CN1308828 C CN 1308828C
Authority
CN
China
Prior art keywords
priority
incident
shielding
register
events
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
CNB018181058A
Other languages
English (en)
Other versions
CN1592890A (zh
Inventor
C·P·洛斯
R·P·辛格
G·A·奥弗坎普
Original Assignee
Analog Devices Inc
Intel 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 Analog Devices Inc, Intel Corp filed Critical Analog Devices Inc
Publication of CN1592890A publication Critical patent/CN1592890A/zh
Application granted granted Critical
Publication of CN1308828C publication Critical patent/CN1308828C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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

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)
  • Logic Circuits (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

在一个实施例中配置了一个处理器来处理事件。每个由处理器处理的事件都有指定的优先级。当第一事件被服务时,根据所述第一事件的指定优先级产生第一优先级屏蔽。所述优先级屏蔽指示一组可服务事件和一组不可服务事件并可以被写入优先级寄存器。当接收到第二事件时,优先级屏蔽被用来确定所述第二事件是否应抢先于所述第一事件并被立即服务。

Description

用于处理事件的方法和装置
技术领域
本发明涉及可编程处理器中的事件处理。
背景技术
诸如数字信号处理器的可编程微处理器的设计中的一个难题在于,包括中断和异常的事件的处理。中断可以是改变处理器中的正常指令流程的事件。异常可以是当遇到像无效指令或总线差错这样的差错时出现的软件启动的事件。在设计处理器时期望能尽可能快地处理事件。然而,这一般涉及可能增加处理器的功率损耗的额外硬件。
中断嵌套可能构成事件处理中的难题。换句话说,在第一中断仍在被处理时可能接收到第二中断(例如,嵌套的中断)。因此,在任意给定的时间内,若干中断服务程序可能是活动的。事件处理可能需要一种优先化方案来以最有效的方式处理多个活动的服务程序。
发明内容
本发明涉及解决现有技术存在的以上技术问题。
根据本发明,提供一种用于处理事件的方法,包括:在被适配以处理一组以优先级排序的事件的优先逻辑单元中接收第一事件,所述优先逻辑单元包括多个逻辑模块,其中包括第一优先逻辑模块和一个或多个较低优先逻辑模块,所述较低优先逻辑模块的优先级比所述第一优先逻辑模块的优先级低;以及使用所述优先逻辑单元产生优先级屏蔽,所述优先级屏蔽指示一组可服务事件和一组不可服务事件,其中所述产生优先级屏蔽包括在所述第一优先逻辑模块中产生所述屏蔽的子集并传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块的每一个产生指示一组不可服务事件的优先级屏蔽的对应子集。
根据本发明,还提供一种用于处理事件的装置,包括:被适配以服务事件的执行单元;以及控制单元,包括:优先逻辑单元,用于当在所述优先逻辑单元中接收到事件时,产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,所述优先逻辑单元包括:第一优先逻辑模块,用于产生所述优先级屏蔽的第一子集,以及一个或多个较低优先逻辑模块,所述一个或多个较低优先逻辑模块的每一个可操作用于产生所述优先级屏蔽的对应子集,其中,所述第一优先逻辑模块可操作用于,当在所述第一优先逻辑模块中接收到所述事件时,传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
根据本发明,还提供一种用于处理事件的系统,包括:静态随机存取存储器设备;以及耦合到所述存储器设备的处理器,其中所述处理器包括控制单元,所述控制单元包括:优先逻辑单元,用于,当在所述优先逻辑模块中接收到事件时,产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,所述优先逻辑单元包括:第一优先逻辑模块,用于产生所述优先级屏蔽的第一子集,以及一个或多个较低优先逻辑模块,所述一个或多个较低优先逻辑模块的每一个可操作用于产生所述优先级屏蔽的对应子集,其中,所述第一优先逻辑模块可操作用于,当在所述第一优先逻辑模块中接收到所述事件时,传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
根据本发明,还提供一种用于处理事件的方法,包括:产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,通过在第一优先逻辑模块内产生所述优先级屏蔽的第一子集,并在一个或多个较低优先逻辑模块中产生所述优先级屏蔽的一个或多个子集来实现,其中所述较低优先逻辑模块的优先级比所述第一优先逻辑模块的优先级低;以及传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
从而,本发明能够提供一种优先化方案来以最有效的方式处理多个活动的服务程序。
附图说明
图1是说明根据本发明的实施例的可编程处理器的框图。
图2是说明事件处理器的实施例的框图。
图3是说明优先逻辑的示例性实施例的电路图。
图4是说明根据本发明的实施例的操作模式的流程图。
图5是说明根据本发明的实施例的操作模式的另一流程图。
图6是说明根据本发明的实施例的用于调节状态寄存器的电路的电路图。
图7是说明根据本发明的实施例的事件向量选择线的电路框图。
图8是说明根据本发明的实施例被连接到带有模块的事件管理逻辑的寄存器的电路框图。
图9是说明根据本发明的实施例怎样创建早期信号的电路图。
图10-13分别示出根据本发明的实施例的图8的模块的示例性逻辑。
图14是说明根据本发明的实施例的事件服务程序操作的模式的流程图。
具体实施方式
图1是说明带有执行单元4和控制单元6的可编程处理器2的框图。控制单元6可以带有事件处理器10。如下详细描述的事件处理器10可以减少处理事件的计算时间。特别地,事件处理器10可以产生表示一组可服务事件和一组不可服务事件的优先级屏蔽。如此,处理器2可以迅速地辨认并处理可服务事件。
执行单元4可以是具有用于处理指令的若干级的执行流水线。每级都可以与其它级迸发处理并在每个时钟周期把结果传到流水线内的下一级。每个指令的最终结果可以以快速连续地显露在流水线的终端。
控制单元6可以控制经过执行单元4的指令和数据的流量。例如,在指令的处理期间,控制单元6可以控制执行单元的各种元件来取出指令并对其进行解码,执行相应的操作,并且把结果写回存储器或本地寄存器。
图2是说明事件处理器10的实施例的框图。事件处理器10可以带有被连接到事件优先级寄存器(IPEND_R)16的优先逻辑14。事件处理器10也可以带有事件屏蔽寄存器(IMASK)18和事件锁存器(ILAT)20。逻辑电路22可被连接到IMASK 18和ILAT 20。IPEND_R 16、IMASK 18和ILAT 20都可被连接到事件管理逻辑24。事件管理逻辑24可被连接到控制逻辑25。另外,事件管理逻辑24可被连接到状态寄存器(IPEND)26。而且,事件管理逻辑24可被连回优先逻辑14。
每个由处理器2处理的事件可以具有一个事件优先级。寄存器16、18、20和26都可具有相同的宽度,并且每个寄存器可以具有多个编号的位。而且,各个寄存器16、18、20和26中相同编号的位可以与相同的事件相关联。因此,每个由处理器2处理的事件可在每个寄存器16、18、20和26中具有相关的位。
在示例性实施例中,寄存器16、18、20和26是16位寄存器。每个寄存器都有相应于16个事件(例如,事件0-15)之一的位。事件0-15可被区分优先次序以便第0个事件是最高优先级事件而第15个事件是最低优先级事件。通过示例的方式,事件0-15可被如下地区分优先次序:仿真0、复位1、不可屏蔽中断2、异常3、全局中断允许4、硬件差错5、高优先级定时器6以及按照普通中断的优先级次序的普通中断7-15。
IMASK寄存器18可以是便于允许或禁用事件的事件屏蔽寄存器。因此,IMASK18中的每个位可以表示相应的事件是否被允许。如果,例如,特定事件的IMASK位为1,则事件被允许。如果事件未被允许,则电路决不会服务该事件。IMASK寄存器18中的位可以通过本领域已知的任何方式来设置。这些可能包括写入内存映像寄存器来设置IMASK或者执行软件指令来设置IMASK。如此,可以容易地允许或禁用任意事件。
在一个特定实施例中,尽管系统中存在16个不同的优先级指令,然而IMASK寄存器的宽度可以小于16位。例如,在该实施例中,可能不会屏蔽某些高优先级的位(例如,0-4)。因此,IMASK寄存器可能不具有说明始终被允许的事件0-4的位。
事件锁存器(ILAT)20中的位可以指示相应的事件何时被系统锁存(或接收)。在事件被锁存的任意时间,ILAT中其相应的位可被设置为1。然后,当事件被系统接受时,ILAT中相应的位可被复位为0。因此,ILAT可以指示已被接受但尚未被服务的事件。
ILAT中的每个位可以通过硬件请求或软件请求而被设置。一旦被设置,只要还没接收到用于服务的相关的事件则在ILAT中保持该位。然而,一旦事件被系统接受,则ILAT中的位可被再次复位为零。此外,在某些实施例中,可以清除ILAT中的一个或多个位。
IPEND寄存器26可以是记住所有当前可服务事件的状态寄存器。当事件被系统接受时(并且例如,其在ILAT中的位被复位为零),其在IPEND中的位可被设置为1。在任意给定时间下,多个事件可能是活动的,因此可以设置IPEND的多个位。然而,每次只有一个事件被服务。因此,IPEND中设置的最高优先位可以指示当前被服务的是哪个事件。
IPEND_R 16可以是反映当前被系统服务的事件的优先级的优先级寄存器。同时,IPEND_R可以提供可服务事件和不可服务事件的正在进行的标记。
在一种结构中,IPEND中设置的最高优先位对应于IPEND_R中的事件活动位。IPEND R中的事件活动位可以与IPEND_R中所有较低优先级位一起被设置为0。优先级高于事件活动位的所有位可被设置为1。因此,IPEND_R中的事件活动位可以是在该寄存器中被设置为0的最高优先位。
IPEND_R可为处理器2提供一种快速并有效的方法来检测可服务事件。由于IPEND_R中只有优先级高于事件活动位的位被设置为1,因此事件处理器10可以快速地识别可服务事件。如果IPEND_R中事件位为1,则该事件立即可服务。
而且,IPEND的输入可以把输入提供给计算IPEND_R的值的逻辑。因此,只要IPEND被调节(例如,当采用新的事件时),则可在相同的时钟周期中自动调节IPEND_R。如此,IPEND_R可用来允许事件处理器10在接收到新的事件时作出优先级判决。
通过使用寄存器EPEND_R 16、ILAT 18和IMASK 20,事件处理器可以快速并有效地服务一个事件。ILAT 18可以告诉事件处理器10事件已被接收但尚未被服务。IMASK 20可以告诉处理器10是否处理器2能服务一个特定的事件。而IPEND_R可以告诉处理器事件是否具有要被立即服务的足够高的优先级。因此,当事件位在所有这三种寄存器中是1时,可以采用该事件。而且,对新事件将被采用的快速检测可以允许事件管理逻辑24和控制逻辑25迅速并有效地处理对新事件的服务程序的流程的改变。
有时因为较高优先级的事件正在被服务,因此不能立即采用一个事件。例如,如果较高优先级的事件当前正在被服务,则较低优先级的事件的IPEND_R可以为0。因此,该事件可能不被系统接受,于是其ILAT位可能保持其值。
然而,最终系统可以完成对较高优先级事件的服务。一旦其服务程序已完成,则较高优先级事件位可在IPEND中被重新设置为0,并且可以调节IPEND_R。在这一点上,如果较低优先级事件的IPEND_R位被调节为1,则它可被接受入系统。
图3是说明被用于根据事件的指定优先级来产生优先级屏蔽的优先逻辑14的示例性实施例的电路图。该优先级屏蔽可被写入IPEND_R并由事件处理器10使用,以便处理器2可以迅速地辨认并处理可服务事件。
优先逻辑14可有16个输入端,每个都对应于16个事件之一。这些16个输入端可以来自设置IPEND寄存器(未示出)的事件管理逻辑24的相应输出端。优先逻辑也可有被连接到IPEND_R寄存器16的16个相应位的16个输出端。
每个优先逻辑14的相应输入可以来自事件管理逻辑(未示出)的相应输出端。当IPEND中事件位被事件管理逻辑(未示出)设置为0时,优先级逻辑可以反转0并且把1输出到事件位。当IPEND中的事件位被事件管理逻辑(未示出)设置为1时,优先级逻辑14可反转1并把0输出到事件。另外,当IPEND中事件位被事件管理逻辑(未示出)设置为1时,可以使优先逻辑适应于反转1并且把0传送到优先级低于事件位的每个位。这种由优先逻辑14产生的1和0的集合可以是被写入IPEND_R 16的优先级屏蔽。
如图3所示,优先逻辑14的一个实施例实现了优先逻辑模块40、42、44和46。这些优先逻辑模块40、42、44和46可以集体产生优先级屏蔽。例如,如果1被输入优先逻辑模块40、42、44或46,则模块可能为其相应的位产生优先级屏蔽的子集。可以通过为由模块接收到的事件产生事件活动位(例如,0)、为由模块处理的较高优先级事件产生1以及为由模块处理的较低优先级事件产生0来产生优先级屏蔽的子集。优先级状态位也可以被传送到较低优先逻辑模块(例如,对于被较低优先级的处理模块导致事件的输出为0)。另外,较高优先级模块可以为它们处理的事件输出1。如此,优先逻辑模块的集合可能产生优先级屏蔽。
在特定的实施例中,优先逻辑模块40、42、44和46是各带有四个输入和四个输出的四心线组。只要1被输入到四心线组,则所有较低优先级的四心线组的输出可能为0。而且,如果四心线组接收到1,则该四心线组内的相应位和所有较低优先级位的输出可能为0,而所有较高优先级位的输出可能为1。如图3所示,优先逻辑模块40可以是具有单级与门的四心线组,而优先逻辑模块42可以是具有两级与门的四心线组。同样,优先逻辑模块44和优先逻辑模块46都可以是具有两级与门的四心线组(如模块42中所示)。模块44中的第二级与门可以带有一个来自模块42的输入。同样,模块46中的第二级与门可以带有一个来自模块44的输入。如此,优先逻辑14可以迅速并有效地作用。根据图3可知,优先逻辑14和/或优先逻辑模块40、42、44和46的其它实施例将是显而易见的。
图4是说明根据本发明的实施例的操作模式的流程图。当接收到事件时(60),可以设置其在ILAT中的位(62)并且可以确定其优先级(64)。该事件直到其优先级对应于IPEND_R寄存器中的1时才被服务(66)。如果事件的优先级对应于IPEND_R(66)和IMASK(68)中的1,则它的位可在IPEND中被设置(70)并且在ILAT中被清除(72)。依次设置IPEND可以调节IPEND_R寄存器(74)。在这一点上事件被服务(76)。一旦事件已被服务(78),则其在IPEND中的位可被重新设置为0(80),它可以再次调节IPEND_R(82)。
图5是说明根据本发明的实施例的操作模式的另一流程图。图5说明了一个实施例怎样有效地处理嵌套的事件。当接收到优先级为X的事件X时,ILAT中的第X位可被设置为1(92)。然而,除非且直到事件在IPEND_R(94)和IMASK(96)中的位被设置为1时,事件处理器才服务该事件。如果ILAT、IPEND R和IMASK都有值为1的事件位,则其ILAT位可以重新被设置为0(98)并且该事件可能被服务(100)。在这一点上,IPEND中的事件位可被设置为1(102)。设置IPEND,从而可调节IPEND_R(104)。一旦事件被服务(106),就可再次调节IPEND和IPEND_R(108)。
如果在事件被服务(106)之前接收第二事件(110),则在ILAT中将第二事件的事件位设置为1(112)。如果第二事件的优先级不高于第一事件(114),(通过检查IPEND_R被迅速确定),则第一事件可被服务(116)。如(118)处所示,可以对第二事件重复从步骤(94)开始的过程。
如果第二事件的优先级高于第一事件(114),(同样,通过检查IPEND)_R被迅速确定),则第二事件可以抢先于第一事件(120)。如(118)处所示,可以对第二事件重复从步骤(94)开始的过程。随后,在第二事件被服务之后,电路可结束对第一事件的服务(120)。
图6是说明可被实现以调节状态寄存器(IPEND)26的电路的实施例的电路图。图5是IPEND中一个位的示例性电路系统。IPEND中的每个其它位都有与之关联的相似电路系统。
可以对由系统采用的每个事件把IPEND 26的相应位设置为1。然而,一旦已执行特定事件的服务程序,则为了反映该情况需要清除IPEND中的相应位。如图5中所示,可以通过三输入与门122来检测IPEND_R寄存器中的转变。如上所述,IPEND_R中从0到1的转变可以规定IPEND中当前活动的事件位。门120的RTI输入可以检测事件处理器的最近一次指令(例如,RTI指令)。因此,当门122既检测到IPEND_R中的转变又检测到RTI指令时,该事件的IPEND位可以被清除。而且,相同的信号124可以在相同的时钟周期期间被送回优先逻辑模块40、42、44和46以调节IPEND_R 16。
图7是说明根据本发明的实施例的另一种特性的电路框图。IPEND_R、IMASK和ILAT寄存器16、18和20都可被连接到事件管理逻辑24。事件管理逻辑可被连接到控制逻辑25。事件管理逻辑可被适配以便其相应的输出两两正交。换句话说,只有来自事件管理逻辑的16个输出中的一个可在任意给定时间被设置。因此,在给定的时刻或者不设置来自事件管理逻辑24的输出,或者设置仅仅一个输出。
根据这些正交信号,可以用事件向量选择线130来确定需要提取哪一个服务程序。因此,当正在写入IPEND时(并且优先逻辑产生优先级屏蔽并将其写入IPEND_R),可以用事件向量选择线来选择适当的服务程序。然后可以从ICACHE(未示出)中提取该服务程序并且在执行流水线中执行。
图8是说明根据本发明的实施例示出被连接到事件管理逻辑24的寄存器16、18和20的电路框图。如图所示,每个寄存器的第4位可被注入与门131。每个寄存器16、18和20的其它位可被送入相似的与门(未示出)。如此,事件管理逻辑可以只采用带有被写入所有三个寄存器16、18和20的1的事件。
事件管理逻辑24可以实现事件管理逻辑模块132、134、136和138,每个模块都带有确保在任意给定时间逻辑24只有一个输出可以是有效的电路系统(分别见图10-13)。因此,在事件向量选择线130处,信号两两正交。可以根据这些正交信号用事件向量选择线130从事件向量表选择事件(例如,为了指定需要提取哪个服务程序)。
图9是说明根据本发明的实施例的另一种特征的电路图。如上所述,寄存器16、18和20的每一位都把相应的输入提供给与图8在131处示出的与门相似的与门。图9示出所有16个与门,相应的输出端被连接到事件管理逻辑模块132、134、136和138。然而,另外,该16个与门的输出端也可以提供输入到16线或门150。该或门可被依次连接到控制逻辑25。如此可以创建指示事件将在下一个时钟周期中被采用的早期信号。然后,该早期信号可被用于控制逻辑25以有效地处理流程的改变。
图10-13分别示出可被用来在时间向量选择线130处产生正交信号的事件管理逻辑模块138、136、134、132的示例性逻辑。图10示出模块138的示例性逻辑。图11示出包括或非门160的模块136的示例性逻辑。或非门160的输入端也可以是模块138的输入端。图12示出包括或非门160和或非门170的模块134的示例性逻辑。或非门160的输入端可以与模块138的输入端相同,而或非门170的输入端可以是模块136的输入端。图13示出包括或非门160、170和180的模块132的示例性逻辑。同样,门160的输入端可以是模块138的输入端,门170的输入端可以是模块136的输入端,门180的输入端也可以是模块134的输入端。根据图10-13,用于在事件向量选择线130处产生正交信号的其它实施例将是显而易见的。
图14是说明事件服务程序操作模式的流程图。如图所示,事件管理可以仅占据三个时钟周期。第一个周期可能涉及锁存事件。在第一个时钟周期中,事件被接收(190)并且它的位在ILAT中被设置(192)。
在第二个时钟周期中可以处理事件。在第二个时钟周期中,优先级检测(194)和事件屏蔽(196)可以确定事件是否被采用(198)。如果采用,则事件位可被写入状态寄存器(200)并且优先级寄存器可被调节(202)。另外,可以产生一个或多个信号以便于处理流程的改变(204)。这些信号可以包括指示新事件将被采用的早期信号,或者可被用来选择适当的服务程序的正交信号。
在第三个时钟周期中可以处理流程的改变。执行单元可被终止(206)并且新事件地址可被赋予ICACHE(208)。另外,一个或多个异常中断指令的地址可被保存在返回寄存器中(210)。然后可以在随后的时钟周期中在执行单元中执行适当的服务程序。
至此已描述了本发明的各种实施例。例如,已描述了一种带有产生指示一组可服务事件和一组不可服务事件的优先级屏蔽的事件处理器的处理器。该处理器可以在包括通用计算系统、数字处理系统、便携式计算机、个人数字助理(PDA’s)和蜂窝电话的各种系统中实现。在任意这种系统中,该处理器可被耦合到存储器设备,譬如存储操作系统和其它软件应用程序的FLASH存储器设备或静态随机存取存储器(SRAM)。这些和其它实施例位于所附权利要求的范围之内。

Claims (27)

1.一种用于处理事件的方法,其特征在于包括:
在被适配以处理一组以优先级排序的事件的优先逻辑单元中接收第一事件,所述优先逻辑单元包括多个逻辑模块,其中包括第一优先逻辑模块和一个或多个较低优先逻辑模块,所述较低优先逻辑模块的优先级比所述第一优先逻辑模块的优先级低;以及
使用所述优先逻辑单元产生优先级屏蔽,所述优先级屏蔽指示一组可服务事件和一组不可服务事件,
其中所述产生优先级屏蔽包括在所述第一优先逻辑模块中产生所述屏蔽的子集并传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块的每一个产生指示一组不可服务事件的优先级屏蔽的对应子集。
2.如权利要求1所述的方法,其特征在于,所述产生优先级屏蔽的子集包括:为第一事件产生事件活动位;为较高优先级事件产生1、以及为较低优先级事件产生0。
3.如权利要求1所述的方法,其特征在于,所述方法还包括根据所述优先级屏蔽来更新优先级寄存器。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收第二事件;以及
如果所述第二事件是如优先级屏蔽所决定的可服务事件则服务所述第二事件。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述第二事件的指定优先级来产生新的优先级屏蔽,其中所述新的优先级屏蔽指示一组可服务事件和一组不可服务事件;以及
根据所述新的优先级屏蔽更新优先级寄存器。
6.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收第二事件;
设置事件锁存器来反映已接收到所述第二事件;
检测事件屏蔽寄存器来确定是否可以服务所述第二事件;以及
当下列情况时服务所述第二事件:
所述第二事件是如优先级屏蔽所确定的可服务事件,
所述事件锁存寄存器被设置以反映已接收到所述第二事件,以及
所述事件屏蔽寄存器并不屏蔽所述第二事件。
7.如权利要求3所述的方法,其特征在于,所述方法还包括:
设置事件状态寄存器来反映正在服务所述第一事件。
8.如权利要求7所述的方法,其特征在于,所述设置事件状态寄存器和更新优先级寄存器发生在相同的时钟周期。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
产生指示正要采用新事件的信号。
10.如权利要求9所述的方法,其特征在于,所述产生指示正要采用新事件的信号和所述产生优先级屏蔽发生在相同的时钟周期。
11.一种用于处理事件的装置,其特征在于包括:
被适配以服务事件的执行单元;以及
控制单元,包括:
优先逻辑单元,用于当在所述优先逻辑单元中接收到事件时,产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,所述优先逻辑单元包括:
第一优先逻辑模块,用于产生所述优先级屏蔽的第一子集,以及
一个或多个较低优先逻辑模块,所述一个或多个较低优先逻辑模块的每一个可操作用于产生所述优先级屏蔽的对应子集,
其中,所述第一优先逻辑模块可操作用于,当在所述第一优先逻辑模块中接收到所述事件时,传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
12.如权利要求11所述的装置,其特征在于,所述控制单元包括优先级寄存器,所述控制单元被适配以根据优先级屏蔽来更新所述优先级寄存器。
13.如权利要求11所述的装置,其特征在于,所述可服务事件组具有高于所述第一事件的指定的优先级。
14.如权利要求12所述的装置,其特征在于,所述装置被适配以:
在所述控制单元中接收第二事件;以及
如果所述第二事件是如优先级屏蔽所确定的可服务事件则在一执行单元中执行所述第二事件。
15.如权利要求14所述的装置,其特征在于,所述控制单元被适配以:
如果所述第二事件是如优先级屏蔽所确定的可服务事件则根据所述第二事件的指定优先级来产生第二优先级屏蔽,其中所述第二优先级屏蔽指示一组可服务事件和一组不可服务事件;以及
根据所述第二优先级屏蔽来更新所述优先级寄存器。
16.如权利要求12所述的装置,其特征在于,所述控制单元还包括事件锁存寄存器和事件屏蔽寄存器,所述控制单元进一步被适配以:
接收第二事件;
设置所述事件锁存寄存器以反映已接收到所述第二事件;
检测所述事件屏蔽寄存器以确定是否可以服务所述第二事件;以及
当下列情况时服务所述第二事件:
所述第二事件是如优先级屏蔽所确定的可服务事件,
所述事件锁存寄存器被设置以反映已接收到所述第二事件,以及
所述事件屏蔽寄存器并不屏蔽所述第二事件。
17.如权利要求11所述的装置,其特征在于,所述控制单元还包括事件状态寄存器,所述控制单元被适配以设置所述事件状态寄存器来反映正在服务所述第一事件。
18.如权利要求17所述的装置,其特征在于,所述控制单元被适配从而在相同的时钟周期内设置所述事件状态寄存器并更新所述优先级寄存器。
19.如权利要求11所述的装置,其特征在于,所述控制单元被适配以产生指示将要采用新事件的信号。
20.如权利要求11所述的装置,其特征在于,优先逻辑模块组中的每一个模块被适配以处理四个事件。
21.一种用于处理事件的系统,其特征在于包括:
静态随机存取存储器设备;以及
耦合到所述存储器设备的处理器,其中所述处理器包括控制单元,所述控制单元包括:
优先逻辑单元,用于,当在所述优先逻辑模块中接收到事件时,产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,所述优先逻辑单元包括:
第一优先逻辑模块,用于产生所述优先级屏蔽的第一子集,以及
一个或多个较低优先逻辑模块,所述一个或多个较低优先逻辑模块的每一个可操作用于产生所述优先级屏蔽的对应子集,
其中,所述第一优先逻辑模块可操作用于,当在所述第一优先逻辑模块中接收到所述事件时,传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
22.如权利要求21所述的系统,其特征在于,所述控制单元包括优先级寄存器,所述控制单元被适配以根据优先级屏蔽来更新所述优先级寄存器。
23.如权利要求21所述的系统,其特征在于,所述处理器还包括连接到所述控制单元的执行单元。
24.如权利要求23所述的系统,其特征在于,所述处理器被适配以:
在所述控制单元中接收第二事件;以及
如果所述第二事件是如优先级屏蔽所确定的可服务事件则在所述执行单元中执行所述第二事件。
25.如权利要求21所述的系统,其特征在于,所述控制单元包括被适配以产生正交信号的事件管理逻辑。
26.如权利要求25所述的系统,其特征在于,所述控制单元包括被适配以使用所述正交信号来选择下一个指令的地址的控制逻辑。
27.一种用于处理事件的方法,包括:
产生指示一组可服务事件和一组不可服务事件的优先级屏蔽,通过在第一优先逻辑模块内产生所述优先级屏蔽的第一子集,并在一个或多个较低优先逻辑模块中产生所述优先级屏蔽的一个或多个子集来实现,其中所述较低优先逻辑模块的优先级比所述第一优先逻辑模块的优先级低;以及
传送优先级状态位到所述一个或多个较低优先逻辑模块,所述优先级状态位可操作用于使得所述一个或多个较低优先逻辑模块产生指示不可服务事件的优先级屏蔽的子集。
CNB018181058A 2000-11-02 2001-10-30 用于处理事件的方法和装置 Expired - Fee Related CN1308828C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/705,207 2000-11-02
US09/705,207 US6842812B1 (en) 2000-11-02 2000-11-02 Event handling

Publications (2)

Publication Number Publication Date
CN1592890A CN1592890A (zh) 2005-03-09
CN1308828C true CN1308828C (zh) 2007-04-04

Family

ID=24832494

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018181058A Expired - Fee Related CN1308828C (zh) 2000-11-02 2001-10-30 用于处理事件的方法和装置

Country Status (6)

Country Link
US (1) US6842812B1 (zh)
JP (1) JP3822568B2 (zh)
KR (1) KR100521110B1 (zh)
CN (1) CN1308828C (zh)
TW (1) TW550510B (zh)
WO (1) WO2002061582A2 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI286704B (en) * 2005-08-08 2007-09-11 Via Tech Inc Computer system and boot method thereof
CN100371896C (zh) * 2005-08-22 2008-02-27 威盛电子股份有限公司 计算机系统及其开机方法
US7971205B2 (en) * 2005-12-01 2011-06-28 International Business Machines Corporation Handling of user mode thread using no context switch attribute to designate near interrupt disabled priority status
US20070204277A1 (en) * 2006-02-27 2007-08-30 Burgess Andrew L Jr Computer program and method for managing implementation of a process
US8171270B2 (en) * 2006-12-29 2012-05-01 Intel Corporation Asynchronous control transfer
KR100934215B1 (ko) * 2007-10-29 2009-12-29 한국전자통신연구원 이벤트 처리 명령어 세트 기반의 마이크로프로세서 및 이를이용한 이벤트 처리 방법
US20090138683A1 (en) * 2007-11-28 2009-05-28 Capps Jr Louis B Dynamic instruction execution using distributed transaction priority registers
CN101946409B (zh) 2008-02-18 2014-08-20 株式会社村田制作所 弹性波装置及其制造方法
US20090288089A1 (en) * 2008-05-16 2009-11-19 International Business Machines Corporation Method for prioritized event processing in an event dispatching system
CN107135428A (zh) * 2017-04-19 2017-09-05 深圳市金立通信设备有限公司 一种屏蔽消息的方法及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163152A (en) * 1987-03-26 1992-11-10 Kabushiki Kaisha Toshiba Interrupt control apparatus for a microprocessor providing real time priority processing of interrupt requests
CN1251184A (zh) * 1997-03-21 2000-04-19 摩托罗拉公司 以软件实现的在通用计算机上在非实时环境中操作的调制解调器
US6070221A (en) * 1998-04-21 2000-05-30 Mitsubishi Denki Kabushiki Kaisha Interrupt controller

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555420A (en) * 1990-12-21 1996-09-10 Intel Corporation Multiprocessor programmable interrupt controller system with separate interrupt bus and bus retry management
US5894577A (en) 1993-09-22 1999-04-13 Advanced Micro Devices, Inc. Interrupt controller with external in-service indication for power management within a computer system
US5745772A (en) 1996-08-02 1998-04-28 Micron Electronics, Inc. Advanced programmable interrupt controller
US5958036A (en) 1997-09-08 1999-09-28 Lucent Technologies Inc. Circuit for arbitrating interrupts with programmable priority levels
US6651126B1 (en) * 1999-10-29 2003-11-18 Texas Instruments Incorporated Snapshot arbiter mechanism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163152A (en) * 1987-03-26 1992-11-10 Kabushiki Kaisha Toshiba Interrupt control apparatus for a microprocessor providing real time priority processing of interrupt requests
CN1251184A (zh) * 1997-03-21 2000-04-19 摩托罗拉公司 以软件实现的在通用计算机上在非实时环境中操作的调制解调器
US6070221A (en) * 1998-04-21 2000-05-30 Mitsubishi Denki Kabushiki Kaisha Interrupt controller

Also Published As

Publication number Publication date
JP2004530966A (ja) 2004-10-07
WO2002061582A3 (en) 2004-06-24
WO2002061582A2 (en) 2002-08-08
KR100521110B1 (ko) 2005-10-14
US6842812B1 (en) 2005-01-11
KR20030072347A (ko) 2003-09-13
JP3822568B2 (ja) 2006-09-20
CN1592890A (zh) 2005-03-09
TW550510B (en) 2003-09-01

Similar Documents

Publication Publication Date Title
CN107608750B (zh) 用于型式辨识的装置
CN1098487C (zh) 用于影响数据处理器中的顺序指令处理的方法和装置
US7386646B2 (en) System and method for interrupt distribution in a multithread processor
CN1264083C (zh) 用于在执行被转换指令时维持环境的方法和装置
CN1308828C (zh) 用于处理事件的方法和装置
CN1095115C (zh) 在超标量处理器中检测和执行俘获的装置
CN1116639C (zh) 带任务切换的零开销计算机中断
US6311234B1 (en) Direct memory access controller with split channel transfer capability and FIFO buffering
CN101221541B (zh) 用于soc的可编程通信控制器
US20210406443A1 (en) Verification platform for system on chip and verification method thereof
CN1860444A (zh) 处理器间中断
EP3885888B1 (en) Parallel overlap management for commands with overlapping ranges
CN1100294C (zh) 能防止程序故障的中央处理单元
US20070130386A1 (en) DMA chain
US8244947B2 (en) Methods and apparatus for resource sharing in a programmable interrupt controller
US20210089482A1 (en) Processor and interrupt controller therein
CN110083473B (zh) 基于risc-v架构总线访问错误的改进系统及方法
CN103699465B (zh) 一种对16位芯片内核进行调试控制的装置及方法
CN1239986C (zh) 计算机的双基本输入输出系统
CN114817212A (zh) 一种数据库的优化方法及优化装置
CN108664414B (zh) Ddr内存配置空间访问方法及装置
US8209523B2 (en) Data moving processor
US12079627B1 (en) Predicated compare-exchange-shuffle instruction for parallel processor
CN118363897A (zh) 基于risc-v架构的中断延迟电路、控制方法及设备
CN101055550A (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
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20081226

Address after: Massachusetts, USA

Patentee after: ANALOG DEVICES, Inc.

Address before: California, USA

Co-patentee before: ANALOG DEVICES, Inc.

Patentee before: INTEL Corp.

ASS Succession or assignment of patent right

Owner name: ANALOG DEVICES, INC.

Free format text: FORMER OWNER: INTEL CORP

Effective date: 20081226

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070404

Termination date: 20201030