CN1284183A - 执行中断目的地重新指向的机制 - Google Patents

执行中断目的地重新指向的机制 Download PDF

Info

Publication number
CN1284183A
CN1284183A CN98813535A CN98813535A CN1284183A CN 1284183 A CN1284183 A CN 1284183A CN 98813535 A CN98813535 A CN 98813535A CN 98813535 A CN98813535 A CN 98813535A CN 1284183 A CN1284183 A CN 1284183A
Authority
CN
China
Prior art keywords
processor
priority
logic
lpida
far
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.)
Granted
Application number
CN98813535A
Other languages
English (en)
Other versions
CN1199115C (zh
Inventor
S·S·帕洛维斯基
D·G·刘
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.)
Intel Corp
Original Assignee
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 Intel Corp filed Critical Intel Corp
Publication of CN1284183A publication Critical patent/CN1284183A/zh
Application granted granted Critical
Publication of CN1199115C publication Critical patent/CN1199115C/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
    • 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

Abstract

本发明的一个实施例包括一个结合计算机系统一起使用的设备(10),例如桥路。该设备包括远端优先权获取逻辑(32),用来保存任务优先权数据,表示计算机系统中可供最低优先权中断目的地仲裁(LPIDA)使用的每个处理器PO的任务优先权。该设备还包括最低优先权逻辑(42),用来执行LPIDA以便选择计算机系统中哪个处理器来根据远端优先权获取逻辑(32)的内容接收中断消息。本发明的另一个实施例包括多处理器系统,具有处理器和被耦合到处理器(P0,P1,P2,P3)的处理器总线(18)。该系统包括远端优先权获取逻辑(32),用来保存任务优先权数据,表示在处理器是可供最低优先权中断目的地仲裁(LPIDA)使用时的处理器的任务优先权。系统还包括最低优先权逻辑(42),用来执行LPIDA,以便选择处理器(P0,P1,P2,P3)来根据远端优先权获取逻辑(32)的内容接收中断消息,该中断消息是通过处理器总线(18)被提供给处理器的。

Description

执行中断目的地重新指向的机制
相关专利申请:本专利申请和与本专利申请同时提交的题目为“Transaction Supporting Interrupt Destination Redirectionand Level Triggered Interrupt Semantics(支持中断目的地重新指向的事务处理和级别触发的中断语义)”(卷号No.42390.P4958)的专利申请号No.__/__,__,包括重叠的公开内容,但权利要求不同的题材。
发明背景
发明技术领域:本发明涉及计算机,更具体地,涉及可以在计算机系统中执行中断目的地重新指向的机制。
背景技术:处理器,诸如由Intel公司制造的Pentium_(奔腾)处理器和Pentium_Pro(奔腾领先)处理器,常常被使用在多-处理器系统中。各种装置(包括输入和/或输出(I/O)装置)和其它处理器可以设法中断一个处理器。为了中断一个处理器,I/O装置提供一个信号给中断控制器,它又给出一个中断请求到处理器。
在Pentium_处理器和Pentium_Pro处理器的情况下,中断控制器通过三线串行总线(被称为APIC(高级可编程中断控制器)总线)传送中断信息给处理器。APIC串行总线包括两条数据导线和一条时钟信号导线。
Pentium_处理器和Pentium_Pro处理器包括内部APIC。该APIC包括本地屏蔽检测器,被称为任务优先权寄存器(TPR),它具有8比特,用来分配多达256个优先权状态,虽然某些状态被保留。TPR的内容被改变,以反映由处理器执行的任务的优先权级别。
最低优先权中断是这样的中断,虽然它被指向到特定的处理器,但它可以被重新指向到一组处理器中的其TPR中具有最低优先权的处理器。仲裁处理涉及到比较在仲裁时参与的每个处理器的TPR的8比特。每个处理器的比特以一次一个比特地被发送到APIC总线上(该APIC总线以漏极开路装置被连接到每个处理器),从最高位(MSB)开始。这些比特在APIC总线上被倒相,以使得低电压(0)比起高电压(1)具有更高的优先权。首先,在仲裁时参与的每个处理器的TPR的MSB被发送到APIC总线上。如果,任何处理器在APIC总线上发送出低电压,则该总线被拉低。如果总线被拉低,发送出高电压的处理器发现有另一个具有更低优先权的处理器。如果另一个处理器具有更低优先权,则该处理器丢弃不考虑。然后,来自每个其余处理器的TPR的第二MSB被发送到APIC总线上。如果一个处理器给出高电压作为第二MSB,但总线被拉低,则该处理器丢弃不考虑。每个其余处理器的第三MSB和以后的第四MSB以同样的方式被发送到APIC总线上等等,直至最低位(LSB)为止。如果在所有8个比特都已发送后,两个或两个以上的处理器具有相等的优先权,则具有最低的本地APIC识别(ID)号的处理器被选择来接收中断矢量。在电源接通时,分配本地APIC ID号。
APIC串行总线有一定缺点。首先,串行总线在中断控制器(例如,3.3伏)和处理器(例如,2.5或1.8伏)之间的电压定标方面是很差的。很难在这样的全然不同的电压之间连接的处理器中提供晶体管。由于处理器核心的电压随着新的一代处理器而降低,问题将甚至更严重。
第二,处理器核心的频率(例如,常常远大于200MHz)比起APIC串行总线的频率(例如,16MHz)大得多。由于处理器频率增加,问题将甚至更严重。很难在这样的全然不同的频率之间连接。因为信号是互相无关的,问题就更大。
第三,APIC总线相当慢。在某些实施方案中,传递一个中断需要化费大约2到3微秒。因为使用更多的I/O扩展功能,串行总线传递中断的速度变成为很有限的。
本发明的目的是克服或减小APIC串行总线的上述的一个或多个问题的影响。
发明概要
本发明的一个实施例包括一个结合计算机系统一起使用的设备。该设备包括远端优先权获取逻辑,以便保持任务优先权数据,表示计算机系统中可供最低优先权中断目的地仲裁(LPIDA)使用的每个处理器的任务优先权。设备还包括最低优先权逻辑,以便执行LPIDA来选择计算机系统中哪个处理器来根据远端优先权获取逻辑的内容接收中断消息。
本发明的另一个实施例包括多处理器系统,具有处理器和被耦合到处理器的处理器总线。该系统包括远端优先权获取逻辑,用来保存任务优先权数据,表示在处理器是可供最低优先权中断目的地仲裁(LPIDA)使用时的处理器的任务优先权。系统还包括最低优先权逻辑,用来执行LPIDA,以便选择处理器来根据远端优先权获取逻辑的内容接收中断消息,该中断消息是通过处理器总线被提供给处理器的。
附图简述
从下面给出的详细说明和从本发明的实施例的附图,将更全面地了解本发明,然而,不应当把本发明限制于所描述的具体实施例,它们只是用于说明和了解本发明。
图1是表示包括用于把中断指向到最低优先权处理器的最低优先权逻辑的多处理器系统的方框图。
图2是表示图1的系统的处理器的一个实施例的某些细节的例子的方框图。
图3是表示图1的远端优先权获取逻辑和最低优先权逻辑的一个实施例的某些细节的例子的方框图。
图4显示了图3的远端优先权获取逻辑中的远端任务优先权寄存器(RTPR)的一个实施例。
图5是表示被包括在用于把中断指向到最低优先权处理器的桥路中的中断检测逻辑、远端优先权获取逻辑、和编码/译码逻辑的多处理器系统的一个实施例的方框图。
图6是表示类似于图5的、附加有APIC串行总线的多处理器系统的方框图。
图7显示了用于RTPR更新的两个阶段的特定周期。
优选实施例详细说明
参照图1,多处理器系统10包括通过处理器总线18连接的处理器P0,P1,P2,和P3。在某些实施例中,处理器总线18被称为前端总线。本发明可以结合具有大于或小于四个处理器的系统一起使用。处理器P0,P1,P2,和P3分别包括中断控制逻辑22,24,26,和28,它们包括表示任务优先权的任务优先权指示,它是实行中断的优先权级别。作为一个例子,任务优先权指示可以是一个8比特的数。典型地,如果中断优先权低于处理器的任务优先权寄存器中的数值,则处理器将不对该中断采取行动。
远端优先权获取逻辑32保存有任务优先权数据,这些数据是处理器P0,P1,P2,和P3中可供最低优先权中断目的地仲裁(LPIDA)使用的那些处理器的任务优先权的指示。例如,任务优先权数据可以是处理器P0,P1,P2,和P3中的一个或多个处理器的任务优先权的指示的4个MSB。正如这里使用的,术语“远端”是指在处理器以外。在一个实施例中,远端优先权获取逻辑32也保存有任务优先权数据,这些数据是处理器P0,P1,P2,和P3中不可供LPIDA使用的、但运行在系统10中的那些处理器的任务优先权的指示。任务优先权数据可以在远端优先权获取逻辑32中被如下地组合。表示处理器P0,P1,P2,和P3中的一个或多个处理器的任务优先权的信号由处理器提供给处理器总线18。编码/译码逻辑36对来自处理器总线18的这些信号进行译码,以及把由此得到的信号通过导线38提供给远端优先权获取逻辑32。在处理器总线18、导线38与远端优先权获取逻辑32的比特之间不一定是一对一的对应关系。例如,比特可以被倒相。
包括最低优先权中断消息的写循环信号通过导线46被最低优先权逻辑42接收。最低优先权逻辑42通过使用远端优先权获取逻辑32中的任务优先权数据执行LPIDA,以选择处理器P0,P1,P2,和P3中的一个处理器接收中断。中央代理器44包括编码/译码逻辑36、远端优先权获取逻辑32、和最低优先权逻辑42。重新指向的中断消息通过导线48被提供给编码/译码逻辑36。
处理器P0,P1,P2,和P3具有识别号,例如APIC ID。APIC ID可以在电源接通或复位时被提供。最低优先权逻辑42提供选择的APICID号连同中断消息。中断消息通过编码/译码逻辑36被提供给处理器总线18和选择的处理器。所选择的处理器的编码/译码逻辑识别APIC ID号,以及传送中断消息。带有相关的比特(例如,APIC ID号)的中断消息可以只在一个或一个以上的阶段或分组中被传送。
在两个或两个以上的处理器具有相等的最低优先权的情况下,最低优先权逻辑42可以根据最高或最低的处理器APIC ID,或以循环的方式选择处理器。术语“最低优先权”并不要求有两个不同的优先权数值。例如,如果只有一个任务优先权数据数值,则它是最低的。
中断消息或其它中断信号的例子包括中断目的地和矢量信号、中断应答信号、中断结束(EOI)信号、处理器间的中断(IPI)消息、其它控制信号或这些信号的组合。某些中断消息不是最低优先权信号,不应当被重新指向。
最低优先权中断消息可以由中断控制器、其它电路、或操作系统(OS)提供给处理器目的地。在这种情况下,最低优先权逻辑42提供目的地重新指向。然而,由最低优先权逻辑42选择的目的地可以与原先的目的地相同,因为原先的目的地可能是最低优先权处理器。因此,重新指向不是指不同的指向,而是在以后阶段提供的指向。另外,在最低优先权中断消息的情况下,处理器目的地第一次可以由最低优先权逻辑42提供。
在提供信号的处理器的带动下,或外部逻辑的请求下,处理器可以提供代表任务优先权的信号给处理器总线18。例如,在第一实施例中,处理器P0,P1,P2,和P3每次在任务优先权指示改变时把代表它们的任务优先权指示的信号提供给处理器总线18。在第二实施例中,处理器P0,P1,P2,和P3响应于最低优先权逻辑42或中断控制器的请求,或响应于它们接收到最低优先权中断消息,提供代表它们的任务优先权指示的信号。在第三实施例中,远端优先权获取逻辑32周期地请求更新处理器。其它的机制可以被使用于更新远端优先权获取逻辑32中的任务优先权数据。操作系统或其它软件可以引导更新。
参照图2,作为一个例子,处理器P0包括本地APIC 52,它又包括本地TPR(LTPR)54。APIC 52是中断控制逻辑22内的结构的例子。在一个实施例中,LTPR 54保存有一个8比特任务优先权指示,其头4个MSB规定了16种优先权级别。在另一个实施例中,LTPR 54可以有更大或更小数目的比特,或带有不同的或附加的重要性的比特。参照图1,2,和3,编码/译码逻辑58包括编码逻辑,它把LTPR54的4个MSB编码到处理器总线18的信号上,这些信号被编码/译码逻辑36译码,编码/译码逻辑36把导线38上的信号提供给远端优先权获取逻辑32。
参照图2和3,远端优先权获取逻辑32的一个实施例包括远端任务优先权寄存器(RTPR)62,64,66,和68。RTPR 62保存有表示处理器P0的LTPR 54规定的任务优先权的任务优先权数据。RTPR64,66,68保存有表示处理器P1,P2和P3的LTPR(未示出)规定的任务优先权的任务优先权数据。
参照图4,作为一个例子,RTPR 62包括四个比特(例如,比特0-3),它保存有表示由处理器P0的LTPR 54规定的任务优先权的任务优先权数据,如果处理器P0可供LPIDA使用的话。RTPR 62中的这四个比特不必与LTPR的四个MSB相同。例如,它们可以被倒相。RTPR 62也包括一个比特(例如,比特7),它表示处理器P0是否可供LPIDA使用。在具体的实施例中,每个RTPR 64,66,和68也包括四个比特,它们保存有表示分别由处理器P1,P2,和P3的LTPR(未示出)规定的任务优先权的任务优先权数据,如果处理器P1,P2,和P3可供LPIDA使用的话。RTPR 64,66,和68也包括一个使能/禁止比特,它表示处理器P1,P2,和P3是否可供LPIDA使用。使能/禁止比特是以第一电压电平(例如,逻辑高电压)代表使能,表示处理器可供LPIDA使用。使能/禁止比特是以第二电压电平(例如,逻辑低电压)代表禁止,表示处理器不能供LPIDA使用。
RTPR中的任务优先权数据表示LTPR的任务优先权指示,即使RTPR任务优先权数据与LTPR中的任务优先权指示不同。例如,在上述的一个实施例中,RTPR保存有相应的LTPR的8比特任务优先权指示的4个MSB。然而,对于本发明的用途,8比特数的4个MSB被认为是表示整个8比特数。4个MSB是足够广泛的,能够达到最低优先权的语义。换句话说,8比特任务优先权指示的4个LSB对于本发明的用途的事项并不重要。当然,RTPR中的任务优先权数据可以包括LTPR的所有比特。
而且,取决于不同实施方案有可能远端优先权获取逻辑32中的任务优先权数据有时不是正好反映在可供LPIDA使用的处理器中实际的任务优先权指示,因为任务优先权指示随时地改变。然而,任务优先权数据仍旧表示可供LPIDA使用的处理器的任务优先权,即使该指示不总是完美的,或LPIDA不总是选择具有最低优先权的处理器。在因为使能/禁止比特被设置为禁止而处理器不能供LPIDA使用的情况下,在一个实施例中,该RTPR中的任务优先权数据被更新,就好像使能/禁止比特被设置为使能那样。在另一个实施例中,任务优先权数据不被更新,直至使能/禁止比特被设置为使能为止。在该最后提到的实施例中,任务优先权数据不一定表示相应的处理器的任务优先权,虽然这没有关系,因为它没有使用于LPIDA。在该实施例中,4比特的内容不被更新。当然,在因为处理器不工作或从系统丢失而处理器不能供LPIDA使用的情况下,相应的RPTR的4个任务优先权数据比特的内容将是没有意义的。
如果多处理器系统的一个处理器在系统中不以给定的APIC ID呈现,则使能/禁止比特在相应的RPTR中被禁止。在一个实施例中,RTPR的使能/禁止比特在RTPR第一次接入(被适当的处理器更新)时被设置,以及一旦被设置,必须保持该设置,直至发生“冷”复位事件。RTPR可以根据多个类型事件被更新。两种可能的任选项是:(1)到RTPR的直接BIOS接入,或(2)由相应的代理进行的RTPR更新专门的循环事项处理(它的一个例子结合图7进行描述)控制使能/禁止比特的状态。在I/O中断进入到系统之前,由于电源接通自测试(POST),可能发生RTPR的升级或降级。处理器也可以把它自己的优先权上升至最高级别,以避免中断。
在图4的说明的例子中,RTPR 62包括附加的比特(例如,比特4-6)。在本发明的一个实施例中,没有使用附加比特,而是被保存。在本发明的另一个实施例中,一个或一个以上的比特可被使用于各种用途。在再一个实施例中,在RTPR中没有附加比特。使能/禁止功能可以用两个比特而不是一个比特来完成。
参照图3,作为一个例子,最低优先权逻辑42可以包括缓冲器74和分析逻辑76。分析逻辑76通过导线72接入到RTPR的内容。分析逻辑76执行LPIDA,以确定哪个参与的RTPR具有最低优先权(它可以包括解决在最低优先权中的任何平局)。任选的缓冲器74可以保存最低优先权中断消息,直至LPIDA完成为止。在导线86上的信号表示所选择的处理器的APIC ID号或其它的指示,它们是通过编码/译码逻辑36被提供给总线18的。APIC ID号或其它的指示可以以多种形式提供给总线18,以及可以是与中断消息的其它信息相同的或不同的阶段或分组。
最低优先权逻辑42可以使用任何的各种已知技术,以确定哪个参与的RTPR具有最低值(或最高值,如果逻辑1比起逻辑0是较低的优先权)。例如,最低优先权逻辑42可以除去具有MSB中的逻辑1数值的RTPR,然后除去在第二MSB中的逻辑1数值的比特的RTPR等等。最低优先权逻辑42可以减去数值,以便根据结构是正的还是负的,或使用其它方法,弄清哪个更大。在大多数情况下,如果不是所有的技术,最低优先权逻辑42将选择比起APIC串行总线仲裁来说快得多的处理器。
在编码/译码逻辑36和远端优先权获取逻辑32之间以及在编码/译码逻辑36和最低优先权逻辑42之间可以有电路(图1上未示出)。远端优先权获取逻辑32和最低优先权逻辑42并不需要处在处理器总线桥路上(它在某些实施例中,被称为北桥路)。图5显示系统100,其中中央代理44被包括在处理器桥路(或芯片组件)104。桥路104接口在I/O总线108与外设112A和112B之间(它可以按照熟知的外设部件互联(PCI)标准接口)。外设112A和112B代表多种部件,包括中断控制器或到其它总线的桥路。桥路104可被设计成使得本发明的特性对于外设和/或操作系统软件是透明的。也就是,在一个实施例中,外设和/或操作系统不需要知道处理器总线或APIC串行总线是否被使用来进行处理器与桥路之间的通信。
图5显示了实施桥路104的多种方式中的一种方式。I/O中断控制器114可以按照熟知的方式构建,或是专门为本发明设计的。中断控制器114可以包括I/O重新指向表,以提供在I/O中断请求与目标的请求的目的地之间的关系。I/O重新指向表可以把识别项目的中断矢量提供到一个指定适当的中断业务程序的表格中。入站排队120保存中断请求,等待被发送到处理器。可任选的输出排队126保存从处理器传送来的信号。
图5的系统100不包括APIC串行总线。参照图6,系统170包括桥路174,它包括按照本发明的一个实施例的远端优先权获取逻辑和程序指向逻辑。桥路174允许中断消息在桥路174与处理器P0,P1,P2,和P3之间在处理器总线18上传送。系统170也包括APIC串行总线178,它允许由现有技术的APIC串行总线执行的操作。所以,桥路174可被知道处理器总线18上的中断消息的处理器使用和被知道APIC串行总线178上的中断消息的处理器使用。取决于处理器,与处理器的直接连接可能必须是不同的,但公共的桥路可以被这两种总线使用。
所显示和讨论的各种桥路可以包括多种在技术上熟知的部件,但这里不再显示和讨论。因为这样的显示和讨论对于了解本发明是不必要的。
最低优先权逻辑42可以结合IPI消息被使用。例如,来自指向处理器P0,P1,P2,和P3的IPI信号被转发到桥路104或170。仅仅作为例子,IPI消息可被转发到I/O总线108,然后通过桥路104被引导回由最低优先权逻辑42所选择的处理器。另外,IPI信号可被直接转发到入站排队120。当IPI信号首先被提供给总线18时,在IPI的第一阶段中的地址比特(例如,Aa3#)可被设置为第一电压(例如,高电压),表示中断请求被处理器忽视,但是要被桥路消耗。当IPI请求从桥路返回时,该比特将被设置为第二电压(例如,低电压),这样,所选择的处理器将消耗IPI。
以下的表格总结了在本发明的一个实施例中在处理器总线18上的某些信号的状态的影响,其中X是指不关心它;Ab5#和Ab6#是事项的第二阶段;在固定传递模式期间,最低优先权逻辑42不执行LPIDA;以及在直接传递模式期间,最低优先权逻辑42执行LPIDA
 Aa3#  Ab6#(EXF3#) Ab5#(EXF2#) 中断事项处理类型
0  0  0 固定传递模式-物理目的地模式
0  0  1 固定传递模式-逻辑目的地模式
0  1  X 保留的
1  0  0 重新指向传递模式-物理目的地模式
1  0  1 重新指向传递模式-逻辑目的地模式
1  1  0 保留的
1  1  1 中断结束(EOI)
在中断消息的地址区中的比特(例如,Aa3#)可以表示对于特定的中断消息LPIDA是否应当全部出现,而不管在远端优先权获取逻辑32中的使能/禁止比特的状态。这个比特可被称为重新指向比特,它可以根据在中断控制器114中的I/O重新指向表的最低优先权编码比特[10∶8](例如,001),而被计算。
最低优先权逻辑42可以在物理目的地模式和逻辑目的地模式中被使用。在一个实施例中,在物理目的地模式下,目标处理器是根据独特的APIC ID被选择的。因此,每个中断可以根据其独特的APIC ID值被指向到给定的处理器。在逻辑目的地模式下,目标处理器根据编程到每个APIC的逻辑ID值而被选择。由于逻辑ID被编程,所以对于给定的处理器不必是唯一的,它们可以识别作为目标的一组处理器。中断消息比特(例如,Ab5#和Ab6#)可以表示是否使用物理或逻辑目的地模式。在物理目的地模式中,最低优先权逻辑42可以选择在群集上的任何的处理器为接收中断的处理器(假定,在远端优先权获取逻辑32中的使能/禁止比特被设置为对于该处理器是使能)。
在逻辑目的地模式中,系统可如下地运行。最低优先权逻辑42或其它电路检验逻辑ID,以确定中断是否被指向到逻辑群集内的处理器。如果中断消息被指向到处理器总线18上的一个处理器,则最低优先权逻辑42可以从由逻辑ID表示的处理器组中确定目的地处理器。在处理器总线18上的指向中断将被发送到在由逻辑ID表示的处理器组中的具有最低中断优先权的处理器。例如,假定四个处理器是在系统中在OOxxh(十六进制)的逻辑模式群集地址处。如果I/O中断到达主桥路和具有“00000111”的逻辑号,以及加有标签为要被重新指向,则LPIDA可被确定为是对于P2到P0的。
图1显示了多处理器系统。另外,中央代理44或桥路100可在单个处理器被使用。在这种情况下,在一个实施例中,最低优先权逻辑42总是发送中断消息给该处理器。在一个方法中,如果只有一个处理器,则远端优先权获取逻辑32是不激活的。在另一个方法中,远端优先权获取逻辑32是激活的,但相应于处理器的RTPR是唯一的使能的RTPR。在系统中的唯一的处理器可以提供或可以不提供代表其任务优先权的信号。在一个实施例中,如果只有一个使能/禁止比特被设置在远端优先权获取逻辑32中,则最低优先权逻辑42将把中断引导到该处理器,而不管在TPR区中的内容。另外,远端优先权获取逻辑32,对于那里只有一个处理器,可以包括某些其它的指示。在只有一个处理器的情况下,由远端优先权获取逻辑32获取的优先权可能仅仅是:一个处理器是可供中断使用的。
按照本发明的一个实施例,中断消息在一兆字节存储器空间内被分配一个存储器地址。在4千兆字节空间中,一兆字节存储单元可以在FEEOOOOOh与FEEFFFFFh之间。存储器存储单元可被使用来识别特定的目的地。
在一个实施例中,处理器P0,P1,P2,和P3和编码/译码逻辑36,以及(任选地)操作系统被设计成使得处理器P0,P1,P2,或P3可以把RTPR更新分别直接写入到RTPR 62,64,66,或68。在这个实施例中,RTPR可被处理为I/O空间。在另一个实施例中,处理器P0,P1,P2,和P3、编码/译码逻辑36、以及(任选地)操作系统不允许处理器P0,P1,P2,和P3具有把RTPR更新直接写入到RTPR62,64,66,或68的能力,而是使用在处理器总线18上的RTPR更新专门循环事务处理来更新RTPR。这个其它的实施例的处理器特别适合于当前使用的操作系统和中断语义。
参照图7,RTPR更新专门循环事务处理的一个实施例包括两个阶段182和184。阶段182包括命令区(例如,5个LSB)和地址区(例如,26个MSB)。作为一个例子,在命令区中的“01000”比特表示一个特定的周期。在一个特定的周期的情况下,地址比特可以是不必关心的。阶段184包括字节使能区(例如,00001000或08h),表示RTPR更新周期;处理器ID区,表示哪个处理器正在提供更新;使能/禁止(E/D)比特,表示处理器是否可供LPIDA使用;以及TPR比特,例如,代表相应的LTPR的四个MSB。在图4的例子中,TPR比特可以被放置在RTPR的比特0-3,以及E/D比特可以被放置在RTPR的比特7。E/D比特和TPR比特可被提供在所谓的8比特属性区内。
编码/译码逻辑36通过提供更新给由远端优先权获取逻辑32中的处理器ID区所指定的RTPR,来响应于阶段182的命令区以及阶段184的字节使能区。RTPR用代表E/D比特和/或TPR比特的比特被更新。在表示处理器被禁止的E/D比特的情况下,RTPR可以用或不能用TRP比特被更新。在一个实施例中,在表示处理器被禁止的E/D比特的情况下,处理器在TPR比特中不提供有意义的任务优先权数据。在另一个实施例中,处理器提供当前的TPR比特,而不管E/D比特的状态。
通过图7的信号,处理器P0,P1,P2,和P3和编码/译码逻辑36提供硬件辅助机制,以对准RTPR 62,64,66,或68,而操作系统不用知道更新。(替换地,操作系统可以获知更新。)各种其它的信号安排可被使用来代替图7所示的那些安排。例如,所有的信息可以在一个阶段中被提供。作为另一个例子,阶段184可以对于RTPR 62,64,66,或68一次提供一个以上的RTPR的更新。在所显示和说明的例子中,RTPR只保存四个比特来代表处理器任务优先权。在阶段184中的TPR比特可以代表多于或少于相应的LTPR的四个MSB,其中RTPR分别保存多于或少于四个比特,用来代表任务优先权。
附加信息和实施例
技术条件没有描述和显示各种已知的部件,特性和导线,这些方面的讨论对于了解本发明是不必要的,所以打算排除在外,以免扰乱本发明。而且,在构建本发明的实施例时,有各种设计折衷和选择,它们可以随不同实施例而改变。事实上,有各种各样实施所显示的和未显示的部件的方法。
图上方块的边界是用于说明目的,而不是限制部件的边界,这些部件可能重叠。所显示的部件的相对尺寸并不假定为实际的相对尺寸。在一个实施例中,箭头显示了主要数据流,但不是每个信号,诸如,对于数据率的请求。正如这里所使用的,“逻辑”并不是指不能涉及到软件控制。术语“导线”被打算广义地来理解,它可包括传导的器件,虽然它们也具有某些绝缘性质。在所显示的部件和导线之间可以有中间部件或导线。
词组“在一个实施例中”是指,在该词组后面的特定的特性、结构、或特性被包括在本发明的至少一个实施例中,以及可以被包括在本发明的一个以上的实施例中。另外,词组“在一个实施例中”出现在技术条件的各个地方,并不一定都指同一个实施例。
最低优先权逻辑42可以把中断指向(或重新指向)经过多个节点。
处理器可以具有一个以上的特性用于不同类型的任务,以及远端优先权获取逻辑和最低优先权逻辑可以考虑不同的优先权。
编码/译码逻辑36的编码与译码逻辑可以是物理地连接的或分开的。编码/译码逻辑58的编码与译码逻辑可以是物理地连接的或分开的。
对于单个芯片内的多处理器系统,可以中断该芯片内的中断获取逻辑和最低优先权逻辑。
术语“被连接”和“被耦合”以及相关的术语是在运行的意义上使用的,而不必限于直接连接或耦合。如果技术条件阐述一个部件或特性“可以”、“能够”、“宁可”被包括或具有特征,则该特定的部件或特性并不要求被包括,或具有该特征。术语“响应”包括完全地或部分地响应。
从所公开的内容获得好处的本领域技术人员将会看到,从上述的说明和附图中可以在本发明的范围内作出许多其它改变。因此,正是以下的包括任何修改在内的权利要求规定了本发明的范围。

Claims (24)

1.一种结合计算机系统一起使用的设备,该设备包括:
远端优先权获取逻辑,用来保存任务优先权数据,表示计算机系统中可供最低优先权中断目的地仲裁(LPIDA)使用的每个处理器的任务优先权;以及
最低优先权逻辑,用来执行LPIDA,以便选择计算机系统中哪个处理器来根据远端优先权获取逻辑的内容接收中断消息。
2.权利要求1的设备,其特征在于,其中在计算机系统中只有一个处理器。
3.权利要求1的设备,其特征在于,其中在计算机系统中有多个处理器,以及处理器对于LPIDA的可供使用性随时间而改变。
4.权利要求1的设备,其特征在于,其中远端优先权获取逻辑保存任务优先权数据,表示计算机系统中的不可供使用的每个处理器的任务优先权,但最低优先权逻辑只考虑相应于可供最低优先权中断目的地仲裁(LPIDA)使用的那些处理器的指示数据。
5.权利要求1的设备,其特征在于,其中远端优先权获取逻辑包括使能/禁止比特,表示处理器是否可供LPIDA使用。
6.权利要求1的设备,其特征在于,其中远端优先权获取逻辑包括使能/禁止比特。
7.权利要求6的设备,其特征在于,其中远端优先权获取逻辑能够保存任务优先权数据,但在计算机系统只有一个处理器的情况下,它实际上并不保存任务优先权数据,以及其中最低优先权逻辑能够执行最低优先权数据以及根据使能/禁止比特的状态选择处理器。
8.权利要求1的设备,其特征在于,其中设备是一个桥路。
9.权利要求1的设备,其特征在于,其中最低优先权逻辑使用LPIDA来执行中断重新指向。
10.权利要求1的设备,其特征在于,还包括中断控制器,它提供中断消息。
11.一种结合处理器一起使用的设备,该设备包括:
远端优先权获取逻辑,用来保存任务优先权数据,表示计算机系统中可供最低优先权中断目的地仲裁(LPIDA)使用的每个处理器的任务优先权;以及
最低优先权逻辑,用来执行LPIDA,以便选择处理器根据远端优先权获取逻辑的内容来接收中断消息。
12.权利要求11的设备,其特征在于,其中处理器是与最低优先权逻辑有关的唯一处理器,以及最低优先权逻辑总是选择处理器来接收中断消息。
13.权利要求11的设备,其特征在于,其中远端优先权获取逻辑包括使能/禁止比特,表示处理器是否可供LPIDA使用。
14.一种结合处理器一起使用的设备,该设备包括:
远端优先权获取逻辑,用来保存一个关于处理器是否可提供来接收中断的指示;以及
最低优先权逻辑,用来选择处理器根据远端优先权获取逻辑的内容来接收中断消息。
15.权利要求14的设备,其特征在于,其中指示是相应于处理器的使能/禁止比特的设置。
16.一种结合多处理器系统的处理器一起使用的设备,该设备包括:
远端优先权获取逻辑,用来保存任务优先权数据,表示可供最低优先权中断目的地仲裁(LPIDA)使用的那些处理器的任务优先权;以及
最低优先权逻辑,用来执行LPIDA,以便选择计算机系统中哪个处理器来根据远端优先权获取逻辑的内容接收中断消息。
17.一种多处理器系统,包括:
处理器;
被耦合到处理器的处理器总线;
远端优先权获取逻辑,用来保存任务优先权数据,表示在处理器是可供最低优先权中断目的地仲裁(LPIDA)使用时的处理器的任务优先权;以及
最低优先权逻辑,用来执行LPIDA,以便选择哪个处理器来根据远端优先权获取逻辑的内容接收中断消息,中断消息是通过处理器总线提供给处理器的。
18.权利要求17的系统,其特征在于,还包括中断控制器,它提供中断消息,以及其中最低优先权逻辑通过LPIDA提供中断目的地重新指向。
19.权利要求17的系统,其特征在于,其中在处理器中的至少另一个处理器不可供LPIDA使用期间,处理器中的至少一个处理器是可供LPIDA使用的。
20.权利要求17的系统,其特征在于,其中远端优先权获取逻辑包括远端任务优先权寄存器(RTPR),用来保存任务优先权数据。
21.权利要求17的系统,其特征在于,其中RTPR的数目超过处理器的数目。
22.多处理器系统,包括:
处理器;
被耦合到处理器的处理器总线;
被耦合到处理器总线的编码/译码逻辑;
远端优先权获取逻辑,用来保存任务优先权数据,表示在处理器是可供最低优先权中断目的地仲裁(LPIDA)使用时的处理器的任务优先权;以及
最低优先权逻辑,用来执行LPIDA,以便选择哪个可供LPIDA使用的处理器来根据远端优先权获取逻辑的内容接收中断消息,中断消息是通过编码/译码逻辑经过处理器总线提供给所选择的处理器的。
23.权利要求22的系统,其特征在于,其中最低优先权逻辑提供信号给所选择的处理器,表示中断消息。
24.权利要求22的系统,其特征在于,还包括中断控制器,它提供中断消息,以及其中最低优先权逻辑通过LPIDA提供中断目的地重新指向。
CNB988135353A 1997-12-10 1998-11-02 执行中断目的地重新指向的机制 Expired - Fee Related CN1199115C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/988,233 1997-12-10
US08/988,233 US6418496B2 (en) 1997-12-10 1997-12-10 System and apparatus including lowest priority logic to select a processor to receive an interrupt message
US08/988233 1997-12-10

Publications (2)

Publication Number Publication Date
CN1284183A true CN1284183A (zh) 2001-02-14
CN1199115C CN1199115C (zh) 2005-04-27

Family

ID=25533952

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988135353A Expired - Fee Related CN1199115C (zh) 1997-12-10 1998-11-02 执行中断目的地重新指向的机制

Country Status (8)

Country Link
US (1) US6418496B2 (zh)
EP (1) EP1038231B1 (zh)
KR (1) KR100380198B1 (zh)
CN (1) CN1199115C (zh)
AU (1) AU1376199A (zh)
DE (1) DE69833503T2 (zh)
TW (1) TW416038B (zh)
WO (1) WO1999030243A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100380329C (zh) * 2005-01-28 2008-04-09 精工爱普生株式会社 处理器及信息处理方法
CN100445972C (zh) * 2005-06-22 2008-12-24 株式会社瑞萨科技 多处理器系统
CN101872315A (zh) * 2009-04-24 2010-10-27 勒斯塔尔技术有限责任公司 用于多处理器的中断最优化
CN102253908A (zh) * 2010-05-20 2011-11-23 英飞凌科技股份有限公司 用于安全中断处理的系统和方法

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US6652283B1 (en) * 1999-12-30 2003-11-25 Cerego, Llc System apparatus and method for maximizing effectiveness and efficiency of learning retaining and retrieving knowledge and skills
US6754754B1 (en) * 1999-12-30 2004-06-22 Intel Corporation Apparatus and method for end of interrupt handling
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6993621B1 (en) 2000-03-31 2006-01-31 Emc Corporation Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6816916B1 (en) * 2000-06-29 2004-11-09 Emc Corporation Data storage system having multi-cast/unicast
US7024509B2 (en) * 2000-08-31 2006-04-04 Hewlett-Packard Development Company, L.P. Passive release avoidance technique
DE10048732A1 (de) * 2000-09-29 2002-04-18 Philips Corp Intellectual Pty Multiprozessor-Anordnung
US20020099893A1 (en) * 2001-01-24 2002-07-25 Nguyen Tuyet-Huong Thi System and method for the handling of system management interrupts in a multiprocessor computer system
US6591358B2 (en) * 2001-01-26 2003-07-08 Syed Kamal H. Jaffrey Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
US6848015B2 (en) * 2001-11-30 2005-01-25 Hewlett-Packard Development Company, L.P. Arbitration technique based on processor task priority
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US8386648B1 (en) * 2003-06-26 2013-02-26 Nvidia Corporation Hardware support system for accelerated disk I/O
US8984199B2 (en) * 2003-07-31 2015-03-17 Intel Corporation Inter-processor interrupts
US7426728B2 (en) * 2003-09-24 2008-09-16 Hewlett-Packard Development, L.P. Reducing latency, when accessing task priority levels
US8683132B1 (en) 2003-09-29 2014-03-25 Nvidia Corporation Memory controller for sequentially prefetching data for a processor of a computer system
US8356142B1 (en) 2003-11-12 2013-01-15 Nvidia Corporation Memory controller for non-sequentially prefetching data for a processor of a computer system
US8700808B2 (en) * 2003-12-01 2014-04-15 Nvidia Corporation Hardware support system for accelerated disk I/O
JP4241462B2 (ja) * 2004-03-26 2009-03-18 株式会社デンソー 制御ユニットおよびマイクロコンピュータ
US20050228851A1 (en) * 2004-03-29 2005-10-13 Intel Corporation Configuration of redirection tables
US8356143B1 (en) 2004-10-22 2013-01-15 NVIDIA Corporatin Prefetch mechanism for bus master memory access
US7386642B2 (en) * 2005-01-28 2008-06-10 Sony Computer Entertainment Inc. IO direct memory access system and method
US7680972B2 (en) * 2005-02-04 2010-03-16 Sony Computer Entertainment Inc. Micro interrupt handler
JP2006216042A (ja) * 2005-02-04 2006-08-17 Sony Computer Entertainment Inc 割り込み処理のためのシステムおよび方法
US20070088874A1 (en) * 2005-10-14 2007-04-19 Hewlett-Packard Development Company, L.P. Offload engine as processor peripheral
US7519752B2 (en) * 2006-02-07 2009-04-14 International Business Machines Corporation Apparatus for using information and a count in reissuing commands requiring access to a bus and methods of using the same
JP5243711B2 (ja) * 2006-11-10 2013-07-24 セイコーエプソン株式会社 プロセッサ
US8032681B2 (en) * 2007-09-06 2011-10-04 Intel Corporation Processor selection for an interrupt based on willingness to accept the interrupt and on priority
US8190864B1 (en) * 2007-10-25 2012-05-29 Oracle America, Inc. APIC implementation for a highly-threaded x86 processor
JP2009251802A (ja) * 2008-04-03 2009-10-29 Panasonic Corp マルチプロセッサシステムおよびマルチプロセッサシステムの割込み制御方法
EP2271992B1 (en) * 2008-04-28 2013-04-03 Hewlett-Packard Development Company, L. P. Method and system for generating and delivering inter-processor interrupts in a multi-core processor and in certain shared-memory multi-processor systems
US8024504B2 (en) * 2008-06-26 2011-09-20 Microsoft Corporation Processor interrupt determination
US8356128B2 (en) * 2008-09-16 2013-01-15 Nvidia Corporation Method and system of reducing latencies associated with resource allocation by using multiple arbiters
US8370552B2 (en) * 2008-10-14 2013-02-05 Nvidia Corporation Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions
US8103816B2 (en) * 2008-10-28 2012-01-24 Intel Corporation Technique for communicating interrupts in a computer system
US8698823B2 (en) 2009-04-08 2014-04-15 Nvidia Corporation System and method for deadlock-free pipelining
US8151027B2 (en) * 2009-04-08 2012-04-03 Intel Corporation System management mode inter-processor interrupt redirection
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US8972642B2 (en) 2011-10-04 2015-03-03 Qualcomm Incorporated Low latency two-level interrupt controller interface to multi-threaded processor
US9043521B2 (en) 2012-11-13 2015-05-26 Intel Corporation Technique for communicating interrupts in a computer system

Family Cites Families (7)

* 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
US5410710A (en) * 1990-12-21 1995-04-25 Intel Corporation Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
EP0685798B1 (en) 1994-05-31 2003-07-16 Advanced Micro Devices, Inc. Interrupt controllers in symmetrical multiprocessing systems
US5721931A (en) * 1995-03-21 1998-02-24 Advanced Micro Devices Multiprocessing system employing an adaptive interrupt mapping mechanism and method
DE69735575T2 (de) * 1996-08-20 2006-08-24 Compaq Computer Corp., Houston Verfahren und Vorrichtung zur Unterbrechungsverteilung in einem skalierbaren symmetrischen Mehrprozessorsystem ohne die Busbreite oder das Busprotokoll zu verändern
US5819095A (en) * 1996-12-20 1998-10-06 International Business Machines Corporation Method and apparatus for allowing an interrupt controller on an adapter to control a computer system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100380329C (zh) * 2005-01-28 2008-04-09 精工爱普生株式会社 处理器及信息处理方法
CN100445972C (zh) * 2005-06-22 2008-12-24 株式会社瑞萨科技 多处理器系统
CN101872315A (zh) * 2009-04-24 2010-10-27 勒斯塔尔技术有限责任公司 用于多处理器的中断最优化
CN101872315B (zh) * 2009-04-24 2013-04-17 英派尔科技开发有限公司 用于多处理器的中断最优化
CN102253908A (zh) * 2010-05-20 2011-11-23 英飞凌科技股份有限公司 用于安全中断处理的系统和方法
CN102253908B (zh) * 2010-05-20 2014-08-06 英飞凌科技股份有限公司 用于安全中断处理的系统和方法

Also Published As

Publication number Publication date
US6418496B2 (en) 2002-07-09
DE69833503D1 (de) 2006-04-20
DE69833503T2 (de) 2006-08-10
US20010052043A1 (en) 2001-12-13
TW416038B (en) 2000-12-21
CN1199115C (zh) 2005-04-27
AU1376199A (en) 1999-06-28
KR20010032953A (ko) 2001-04-25
WO1999030243A1 (en) 1999-06-17
EP1038231B1 (en) 2006-02-15
KR100380198B1 (ko) 2003-04-11
EP1038231A4 (en) 2001-01-17
EP1038231A1 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
CN1199115C (zh) 执行中断目的地重新指向的机制
CN1225708C (zh) 事务支持的中断目的地重定向和电平触发的中断语义
CN1114860C (zh) 处理多个电平触发和边沿触发中断的方法和装置
US5379434A (en) Apparatus and method for managing interrupts in a multiprocessor system
US20060288129A1 (en) DMA descriptor queue read and cache write pointer arrangement
JP3381732B2 (ja) 多重プロセッサ・コンピュータの割り込み操向システム
US7200695B2 (en) Method, system, and program for processing packets utilizing descriptors
EP0426184A2 (en) Bus master command protocol
US5892956A (en) Serial bus for transmitting interrupt information in a multiprocessing system
EP1058890B1 (en) System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources
CN100589089C (zh) 处理直接存储器访问请求的设备和方法
US7222201B2 (en) Virtual endpoint for USB devices
US5905898A (en) Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority
US20060047877A1 (en) Message based interrupt table
US8521939B2 (en) Injection of I/O messages
WO1999035579A1 (en) Two-level address translation and memory registration system and method
KR20010109088A (ko) 성능 모니터를 갖춘 pci/pci-x 버스 브리지
US20040003144A1 (en) Method and/or apparatus to sort request commands for SCSI multi-command packets
CN1604060A (zh) 用于处理中断的方法和装置
US5850555A (en) System and method for validating interrupts before presentation to a CPU
CN101421791B (zh) 用于主机和外围设备之间通信的队列深度管理的方法
US5923887A (en) Interrupt request that defines resource usage
US5850558A (en) System and method for referencing interrupt request information in a programmable interrupt controller
CN1324499C (zh) 处理不期望的完成分组和具有非成功完成状态的完成分组的方法
CN1666185A (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050427

Termination date: 20101102