CN100456251C - 一种涉及处理器间中断的方法、处理器和系统 - Google Patents
一种涉及处理器间中断的方法、处理器和系统 Download PDFInfo
- Publication number
- CN100456251C CN100456251C CNB2004800285138A CN200480028513A CN100456251C CN 100456251 C CN100456251 C CN 100456251C CN B2004800285138 A CNB2004800285138 A CN B2004800285138A CN 200480028513 A CN200480028513 A CN 200480028513A CN 100456251 C CN100456251 C CN 100456251C
- Authority
- CN
- China
- Prior art keywords
- processor
- memory location
- interrupt
- write
- instruction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
- Bus Control (AREA)
Abstract
根据本发明的实施方案,描述了用于多处理器系统中的处理器间中断的方法和装置。实施方案包括将处理器间中断请求写入第一存储位置;监视第一存储位置;在第一存储位置中检测处理器间中断请求;调用用于处理器间中断请求的函数;以及执行用于处理器间中断请求的函数。
Description
技术领域
本发明的实施方案通常涉及计算机操作,并且更具体地,涉及处理器间中断。
背景技术
计算机可以包括多个处理器,处理器可以包括物理和逻辑处理器。操作系统可以利用处理器间中断(Inter-processor interrupt,IPI)来在系统中的处理器间传送请求。操作系统可以使用处理器间中断,从而使一个处理器启动针对一个或更多个其他处理器的特定操作。这些操作可以包括TLB(翻译后援缓冲器(Translation Lookaside Buffer))击落(shootdown)中断,其中,处理器向其他处理器发送中断以请求无效TLB入口。响应于由发送处理器所做的全局改变,诸如线性地址映射的改变或用于特定存储器范围的存储器缓存(cache)属性的改变,接收处理器可以启动缓存清洗(cache flushing)。
然而,处理器间中断信号会需要用于发送处理器侧和接收处理器侧的大量开销。发送处理器需要执行存储器访问,以通过可编程中断控制器(诸如本地高级可编程中断控制器(APIC))来发送中断。反过来,接收处理器在接收中断的处理中会占用相当大的开销。
附图说明
可以通过参考下述说明书和用来示例说明本发明的实施方案的附图来最佳地理解本发明。在附图中:
图1示例说明发送处理器序列(sequence);
图2示例说明接收处理器序列;
图3示例说明发送处理器序列的实施方案;
图4示例说明接收处理器序列的实施方案;
图5说明处理器间中断序列的实施方案;以及
图6示例说明多处理器计算机的实施方案。
具体实施方式
描述用于多处理器系统中的处理器间中断的方法和装置。
在本发明的实施方案中,使用用来调用中断的指令来执行处理器间中断函数(function)。所述指令在此称为Mcall指令,尽管指令可以具有任何名称。在所述实施方案中,发送处理器侧的函数的操作成本是对回写存储位置(memory location)的存储操作,而接收侧的成本是对函数的强制调用。本发明的实施方案可以大大地降低处理器间中断的操作成本,由此提高系统性能。
根据本发明的实施方案,中断函数是由通过存储器系统发送的信号来执行的。发送处理器执行对写回存储位置的存储操作。所述存储操作由此触发接收侧上的函数调用。所述操作可以与通过APIC发送的通用中断形成对照。通过降低发送处理器间中断的成本,所述实施方案可以允许在多处理器和多线程环境中的改进的操作系统性能。在本发明的实施方案中,可以在没有APIC的情况下或在具有可选择的信号操作的系统中,执行处理器间中断函数。
图1所示为用于发送处理器间中断的常规机制。在该示例中,第一启动或发送处理器向第二接收或目标处理器提供中断。在图1中提供的实施例涉及用两个32位写操作编写的64位命令。在该序列中,第一处理器执行下述任务:
1.通过写入处理器本地APIC任务优先级寄存器105,提高中断请求级(IRQL)。这是对非缓存位置的写入。
2.(在存储位置或寄存器中)创建写入处理器本地APIC中断命令寄存器的命令110。除了其他参数之外,所述命令指定目标处理器和用于中断所述目标处理器的中断矢量V。中断矢量V将对应于中断服务例程,所述中断服务例程响应于发送处理器间中断而在目标处理器上被执行。
3.将所述命令写入处理器本地APIC中断命令寄存器(ICR)115。这是对非缓存位置的写入。用于写入该命令的过程可以包括:
a.禁止(disable)中断的操作120。
b.等待本地APIC不忙125。这可以通过轮询中断命令寄存器中的BUSY位来完成。
c.将所述命令的高32位写入APIC中断命令寄存器的高位字(high word)130。
d.将所述命令的低32位写入APIC中断命令寄存器的低位字(low word)135。
e.等待本地APIC不忙140
f.重新使能(re-enable)中断操作145。
4.等待目标处理器通过向特定存储位置写入特定数据值确认处理器间中断的接收150。所述写入将作为刚刚发送在所述目标处理器上的中断的服务的部分而发生。
5.恢复正常操作155。
在接收处理器上,中断通常被锁存并通过包含在本地APIC中断输送机制中的逻辑被输送到处理器核心(core)。所示的中断机制考虑处理器核心正在其下操作的中断优先级(如在APIC任务优先级寄存器中所反映的),可以具有较高优先级的其他未决中断,以及处理器的核心的可中断性状态。当处理器核心具有使能的中断并且对应于处理器间中断的矢量为未决的最高优先级中断矢量时,那么本地APIC将所述矢量分配到所述核心。
对接收处理器来讲,图2所示为事件的一般序列。用于接收处理器的处理器间中断过程可以包括:
1.处理器的本地APIC将对应于中断服务例程(ISR)的中断矢量V分配到处理器核心205。在引导时(boot time),OS就已经编程了对应于矢量V的中断描述符表项目,以包含中断门和中断服务例程。
2.将任务优先权寄存器级别提高到对应于矢量V的级别210。
3.处理器核心通过中断描述符表来分配所述矢量V 215。
4.对应于处理器间中断的中断服务例程通过被禁用的中断来获得控制220。
5.中断服务例程写入存储位置以便发信号通知发送处理器收到处理器间中断225。
6.执行用于处理器间中断的动作230。
7.恢复正常操作235。
在本发明的实施方案中,将指令(本说明书中的Mcall指令)用于中断的操作可以简化用于发送处理器和接收处理器的操作序列。在引导时,多处理器系统中的每个处理器可以寄存函数,所述函数对应于在接收中断服务例程上的核心模式中执行的中断服务例程,诸如通过Mcall指令的处理器间中断函数。然而,所述操作可以另外通过其他机制来实现,包括使用模型特定寄存器(model specific register)。
图3所示是用于发送处理器的处理器间中断序列的实施方案。用于发送处理器的过程可以包括:
1.对线性地址X,执行处理器间中断请求的存储器写入305。
2.通过轮询特定存储位置来确定值是否有变化,等待接收处理器确认处理器间中断的接收310。所述值的变化是通过作为接收处理器上的中断的服务的一部分的写入而出现的。对处理器间中断的传输来讲,该操作是不需要的,并且在一些实施方案中,不轮询存储位置或收到接收中断的确认,操作也可以恢复。
3.当存储位置具有变化的值时,恢复正常操作315。
图3所示的实施例示例说明将中断发送到一个接收处理器的实施例。处理器间中断可以发送到多个处理器。在一个实施方案中,多个处理器监视单个存储位置来检测处理器间中断。在另一实施方案中,每个处理器可以监视单独的存储位置。如果处理器间中断发送到多个目标处理器,那么发送处理器可以执行对处理器监视的存储位置的写入,或可以执行多个写入,写入目标处理器正在监视的地址的每一个。在本发明的实施方案中,所执行的每个写入是写入缓存的存储位置的,从而远快于按传统序列写入未缓存的任务优先级寄存器地址。
图4是接收处理器序列的示例。在本发明的实施方案中,用于使用Mcall操作的处理器间中断的接收处理器操作可以包括:
1.在内核(kernal)模式中,建立在接收到处理器间中断时使能环转换(ringtransition)的状态405。
2.监视存储位置<线性地址X>410。对存储位置的写入表示处理器间中断请求。
3.一旦在用户模式或内核模式中检测到处理器间中断415,保存当前状态420。
4.执行中断,Mcall<IPI ISR线性地址>425。
5.该函数的执行可以包括写入正由发送处理器轮询的存储位置430。
6.恢复正常操作435。
在该实施方案中,Mcall指令使接收处理器处于这样的状态,即其中所述处理器监视用于写入的线性地址X,以及一旦检测到写入操作,接收处理器将执行控制传送到IPI ISR线性地址。通过在堆栈上建立的适当状态以及被提高到适当优先权的处理器优先级,按需要执行环转换。
图5示例说明在第一发送处理器和第二接收处理器间的序列的实施方案。在该示例中,发送处理器505正向接收处理器510发送处理器间中断。在其他示例中,中断可以发送到多个处理器。发送处理器505将处理器间中断请求515写入在该图中指定为线性地址X 520的地址。由接收处理器510监视线性地址X 520535。然后,发送处理器505可以轮询(525)在该示例中被指定为Y 530的存储位置。存储位置Y 530中的值的变化表示确认接收处理器510接收到中断请求。然而,对处理器间中断请求的发送来讲,接收确认不是必需的,并且在一些实施方案中,发送处理器505可以在不轮询存储位置或接收确认的情况下,开始正常操作。
当发生对线性地址X 520的写入时,监视(535)线性地址X 520的接收处理器510被告知该中断请求。在内核模式中,接收处理器将已经建立用于一旦接收到处理器间中断,使能环转换的状态。当接收到中断时,保存接收处理器的当前状态540。线性处理器通过表示为Mcall<IPI ISR线性地址>(545)的中断的调用,执行该中断。该函数的执行可以包括写入(550)正在由发送处理器505轮询(525)的存储位置Y 530。一旦检测到存储位置Y 530中值的变化,发送处理器可以恢复正常操作。一旦完成处理器间中断,接收处理器可以恢复正常操作。
在此所述的技术可以用在许多不同环境中。图6是可以结合本发明的实施方案使用的示例性计算机的框图。在本发明的实施方案中,所述计算机可以包括嵌入系统或其他专用计算机。嵌入系统或其他专用计算机可以在没有在此所述的某些部件或特征的情况下操作。
在本发明的实施方案中,计算机600包括总线605或用于传送信息的其他通信装置,以及用于处理信息的处理装置,诸如与第一总线605耦合的一个或多个处理器610(示为611、612,一直到613)。处理器610的任何一个可以向其他处理器的一个或更多个提供处理器间中断。每个处理器可以包括用于处理器间中断操作的执行单元和逻辑。
计算机600进一步包括随机存取存储器(RAM)或其他动态存储器件,作为用于存储将由处理器610执行的信息和指令的主存储器615。主存储器615也可以用于存储在由处理器610执行指令期间的临时变量或其他中间信息。计算机600也可以包括只读存储器(ROM)620和/或其他静态存储器件,用来为处理器610存储静态信息和指令。
数据存储设备625也可以耦合到计算机600的总线605,用于存储信息和指令。数据存储设备625可以包括磁盘或光盘以及相应的驱动、闪存或其他非易失性存储器,或其他存储器件。这些元件可以组合在一起或可以是单独的组件,并且利用计算机600的部分其他元件。
计算机600也可以通过总线605耦合到显示设备630,诸如液晶显示器(LCD)或其他显示技术,用来向最终用户显示信息。在一些实施方案中,显示设备可以是触屏,所述显示设备至少也用作输入设备的一部分。在一些实施方案中,显示设备630可以是或可以包括听觉设备,诸如用于提供听觉信息的扬声器。输入设备640可以耦合到总线605,用来向处理器610传送信息和/或命令选择。在不同的实现中,输入设备640可以是键盘,小键盘,触屏和笔(stylus),声控系统,或其他输入设备,或这些设备的组合。可以包括的用户输入设备的另一类型是光标控制设备645,诸如鼠标,跟踪球,或光标方向键,用来向处理器610传送方向信息和命令选择,并且用来控制显示设备630上的光标运动。
通信设备650也可以耦合到总线605。根据特定的实现,通信设备650可以包括收发机,无线调制解调器,网络接口卡,或其他接口设备。计算机600可以使用通信设备650来链接到网络或其他设备,所述链接可以包括链接到Internet、局域网或另一个环境。
在上述说明中,为说明目的,阐述了许多具体的细节以便提供本发明的全面理解。然而,在没有这些具体细节中的一些的情况下,也可以实施本发明,这对本领域技术人员来说是清楚的。在其他实例中,用框图形式示出了公知的结构和设备。
本发明包括不同步骤。本发明的步骤可以通过硬件组件执行或者可以以机器可执行指令来实施,所述机器可执行指令使通过指令编程的通用或专用处理器或逻辑电路执行这些步骤。另外,可以通过硬件和软件的组合来执行这些步骤。
可以将本发明的部分提供为计算机程序产品,所述产品可以包括在其上存储有指令的机器可读介质,所述指令被用来编程计算机(或其他电子设备)以执行根据本发明的过程。机器可读介质可以包括但不限于软盘、光盘、CD-ROM,以及磁光盘、ROM、RAM、EPROM、EEPROM、磁或光卡、闪存或适合于存储电子指令的其他类型的媒介/机器可读介质。此外,本发明也可以作为计算机程序产品而被下载,其中,经由通信链路(例如调制解调器或网络连接),通过包含在载波或其他传播介质中的数据信号,可以将程序从远程计算机传送到请求的计算机。
以它们最基本的形式,描述了许多方法,但步骤可以添加到所述方法的任何一个或从所述方法的任何一个中删除,并且信息可以添加到所述消息的任何一个或从所述的消息的任何一个中减去,而不会背离本发明的基本范围。对本领域的技术人员来说,可以进行许多进一步改进和适应是清楚的。特定实施方案不是被提供来限制本发明,而是示例性地说明本发明。本发明的范围不由上述提供的具体实施例来确定,而仅是由所附的权利要求书来确定。
还应意识到,贯穿本说明书所引用的“一个实施方案”或“实施方案”是指特定特征可以包括在本发明的实施中。类似地,应意识到在本发明的示例性实施方案的上述描述中,本发明的各个特征在单个实施方案、附图或其描述中有时组合在一起,用来使所述公开简洁并且帮助理解发明各个方面中的一个或更多个。然而,所述公开的方法不是要被解释为反映这样的意图,即所要求保护的发明需要比在每个权利要求中明确引用的特征更多的特征。相反,如所附权利要求书所反映的,发明性的特征少于单个上述公开的实施方案的所有特征。因此,权利要求书由此明确地包含在本说明书中,其中每项权利要求单独成为本发明的单独的实施方案。
Claims (27)
1.一种方法,包括:
将处理器间中断请求写入第一存储位置;
监视所述第一存储位置;
在所述第一存储位置中,检测所述处理器间中断请求;
调用用于所述处理器间中断请求的函数,该函数相应于中断服务例程;以及
执行用于所述处理器间中断请求的函数。
2.如权利要求1所述的方法,进一步包括将确认信息写入第二存储位置,以确认接收到所述处理器间中断请求。
3.如权利要求2所述的方法,进一步包括监视所述第二存储位置,以获得接收到所述处理器间中断请求的确认。
4.如权利要求1所述的方法,进一步包括在检测到所述处理器间中断请求时,建立用于使能环转换的状态。
5.如权利要求1所述的方法,进一步包括在检测到所述处理器间中断请求时,保存接收所述中断的处理器的当前状态。
6.如权利要求1所述的方法,其中,所述第一存储位置是线性存储位置。
7.如权利要求1所述的方法,其中,所述第一存储位置用于第一处理器,所述第一处理器监视所述第一存储位置。
8.如权利要求1所述的方法,其中,所述第一存储位置用于多个处理器,所述处理器中的每一个监视所述第一存储位置。
9.如权利要求1所述的方法,进一步包括将所述处理器间中断请求写入多个存储位置,所述多个存储位置中的每一个被一个或更多个处理器监视。
10.一种处理器,包括:
核心;以及
可编程的中断控制器,其具有中断输送装置,所述中断输送装置被耦合到所述核心,以锁存处理器间中断并把所述处理器间中断输送到所述核心,所述核心通过中断描述符表分配矢量;
所述处理器进一步包括,执行单元和逻辑装置,所述执行单元和逻辑装置执行使所述处理器进入如下状态的指令,在所述状态中所述处理器监视对存储位置的写入,并且,当检测到所述写入时,转移执行控制给中断服务例程,以服务所述中断。
11.如权利要求10所述的处理器,其中,所述指令是标识地址的存储指令,并且其中所述处理器通过强制调用把执行控制转移给所述中断服务例程。
12.如权利要求10所述的处理器,其中,所述存储器写入是对缓存的存储位置的写入。
13.如权利要求10所述的处理器,其中,所述状态还根据需要使能向内核模式的环转换。
14.如权利要求10所述的处理器,其中,所述指令用线性地址标识所述存储位置。
15.一种处理器,包括:
核心;以及
执行单元和逻辑装置,所述执行单元和逻辑装置执行使处理器进入如下状态的指令,在所述状态中所述处理器监视对存储位置的写入,并且,当检测到所述写入时,转移执行控制给中断服务例程,以服务中断。
16.一种处理器,包括:
核心;以及
耦合到所述核心的可编程的中断控制器,所述可编程的中断控制器包括中断命令寄存器,所述核心向所述中断命令寄存器写入中断命令,其中所述写入是对非缓存位置的写入,其中所述中断命令指明目标处理器和用于中断所述目标处理器的中断矢量,与中断服务例程相对应的所述中断矢量在所述目标处理器上执行;
所述处理器进一步包括,执行单元和逻辑装置,所述执行单元和逻辑装置执行指令,所述指令的执行导致对由所述目标处理器监视的存储位置的存储器写入,当检测到所述写入时,所述目标处理器把执行控制转移给所述中断服务例程。
17.如权利要求16所述的处理器,其中,所述存储器写入是处理器间中断请求写入,并且所述目标处理器通过强制调用把执行控制转移给所述中断服务例程。
18.如权利要求16所述的处理器,其中,所述指令是存储指令。
19.如权利要求16所述的处理器,其中,所述存储器写入是对缓存的存储位置的写入。
20.如权利要求16所述的处理器,其中,所述指令用线性地址标识所述存储位置。
21.一种处理器,包括:
核心;以及
执行单元和逻辑装置,所述执行单元和逻辑装置执行指令,所述指令的执行导致对由目标处理器监视的存储位置的存储器写入,当检测到所述写入时,所述目标处理器把执行控制转移给中断服务例程。
22.一种系统,包括:
存储器,所述存储器与总线耦合,以存储中断服务例程;
与所述总线耦合的第一处理器,所述第一处理器包括执行单元和逻辑装置,以执行存储指令,所述存储指令的执行导致对存储位置的存储器写入;以及
与所述总线耦合的第二处理器,所述第二处理器包括执行单元和逻辑装置,以执行使所述第二处理器进入如下状态的指令,在所述状态中所述第二处理器监视对所述存储位置的写入,并且,当检测到所述写入时,转移执行控制给中断服务例程,以服务所述中断。
23.如权利要求22所述的系统,其中,所述第二处理器通过强制调用把执行控制转移给所述中断服务例程。
24.如权利要求22所述的系统,其中,所述强制调用在引导时被寄存。
25.如权利要求22所述的系统,其中,所述写入是对缓存的存储位置的写入。
26.如权利要求22所述的系统,其中,所述状态还按需要使能向内核模式的环转换。
27.如权利要求22所述的系统,其中,所述指令用线性地址标识所述存储位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/631,522 | 2003-07-31 | ||
US10/631,522 US8984199B2 (en) | 2003-07-31 | 2003-07-31 | Inter-processor interrupts |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810187079 Division CN101425026A (zh) | 2003-07-31 | 2004-07-21 | 处理器间中断 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1860444A CN1860444A (zh) | 2006-11-08 |
CN100456251C true CN100456251C (zh) | 2009-01-28 |
Family
ID=34104130
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800285138A Expired - Fee Related CN100456251C (zh) | 2003-07-31 | 2004-07-21 | 一种涉及处理器间中断的方法、处理器和系统 |
CN 200810187079 Pending CN101425026A (zh) | 2003-07-31 | 2004-07-21 | 处理器间中断 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810187079 Pending CN101425026A (zh) | 2003-07-31 | 2004-07-21 | 处理器间中断 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8984199B2 (zh) |
JP (2) | JP4533893B2 (zh) |
KR (1) | KR100876488B1 (zh) |
CN (2) | CN100456251C (zh) |
DE (1) | DE112004001418T5 (zh) |
TW (1) | TWI258703B (zh) |
WO (1) | WO2005013121A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699418B (zh) * | 2009-10-30 | 2011-11-16 | 曙光信息产业(北京)有限公司 | 一种中断处理方法、系统及设备 |
CN107533458A (zh) * | 2016-02-04 | 2018-01-02 | 慧与发展有限责任合伙企业 | 基于存储器寄存器中断的信令和消息传递 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363407B2 (en) * | 2003-09-29 | 2008-04-22 | Microsoft Corporation | Concurrent arbitration of multidimensional requests for interrupt resources |
US7089341B2 (en) * | 2004-03-31 | 2006-08-08 | International Business Machines Corporation | Method and apparatus for supporting interrupt devices configured for a particular architecture on a different platform |
DE602004007489D1 (de) * | 2004-05-11 | 2007-08-23 | Sgs Thomson Microelectronics | Unterbrechungsbehandlungssystem |
US7689747B2 (en) * | 2005-03-28 | 2010-03-30 | Microsoft Corporation | Systems and methods for an augmented interrupt controller and synthetic interrupt sources |
US8468526B2 (en) * | 2006-06-30 | 2013-06-18 | Intel Corporation | Concurrent thread execution using user-level asynchronous signaling |
US20080086575A1 (en) * | 2006-10-06 | 2008-04-10 | Annie Foong | Network interface techniques |
US7627706B2 (en) | 2007-09-06 | 2009-12-01 | Intel Corporation | Creation of logical APIC ID with cluster ID and intra-cluster ID |
US7769938B2 (en) * | 2007-09-06 | 2010-08-03 | Intel Corporation | Processor selection for an interrupt identifying a processor cluster |
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 |
JP5119994B2 (ja) * | 2008-03-14 | 2013-01-16 | 富士通株式会社 | 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置 |
JP2009238001A (ja) * | 2008-03-27 | 2009-10-15 | Texas Instr Japan Ltd | コンピュータシステム |
TWI384374B (zh) * | 2008-05-27 | 2013-02-01 | Nat Univ Tsing Hua | 具資料串流功能之多核心遠端程序呼叫方法 |
US8103816B2 (en) * | 2008-10-28 | 2012-01-24 | Intel Corporation | Technique for communicating interrupts in a computer system |
US7996548B2 (en) | 2008-12-30 | 2011-08-09 | Intel Corporation | Message communication techniques |
US8645596B2 (en) * | 2008-12-30 | 2014-02-04 | Intel Corporation | Interrupt techniques |
US8688883B2 (en) | 2011-09-08 | 2014-04-01 | Intel Corporation | Increasing turbo mode residency of a processor |
US9875148B2 (en) | 2014-06-27 | 2018-01-23 | International Business Machines Corporation | Detecting deadlocks involving inter-processor interrupts |
US9665509B2 (en) * | 2014-08-20 | 2017-05-30 | Xilinx, Inc. | Mechanism for inter-processor interrupts in a heterogeneous multiprocessor system |
US10089265B2 (en) * | 2015-08-07 | 2018-10-02 | Mediatek Inc. | Methods and systems for handling interrupt requests |
US10216662B2 (en) * | 2015-09-26 | 2019-02-26 | Intel Corporation | Hardware mechanism for performing atomic actions on remote processors |
US20210026950A1 (en) * | 2016-03-07 | 2021-01-28 | Crowdstrike, Inc. | Hypervisor-based redirection of system calls and interrupt-based task offloading |
US10867092B2 (en) | 2017-12-16 | 2020-12-15 | Intel Corporation | Avoiding asynchronous enclave exits based on requests to invalidate translation lookaside buffer entries |
EP4184712A4 (en) | 2020-09-15 | 2024-01-10 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE HAVING AN ANTENNA STRUCTURE |
US11321242B2 (en) * | 2020-09-15 | 2022-05-03 | Vmware, Inc. | Early acknowledgement of translation lookaside buffer shootdowns |
CN112416536B (zh) * | 2020-12-10 | 2023-08-18 | 成都海光集成电路设计有限公司 | 提取处理器执行上下文的方法及处理器 |
KR20220161878A (ko) * | 2021-05-31 | 2022-12-07 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 센서 데이터 처리 방법 |
EP4290378A4 (en) | 2021-05-31 | 2024-03-06 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE AND METHOD FOR PROCESSING SENSOR DATA OF THE ELECTRONIC DEVICE |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136714A (en) * | 1989-12-04 | 1992-08-04 | International Business Machines Corporation | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system |
CN1148704A (zh) * | 1995-05-11 | 1997-04-30 | 松下电器产业株式会社 | 用小规模硬件灵活应付多个中断处理的中断控制装置 |
US6047391A (en) * | 1997-09-29 | 2000-04-04 | Honeywell International Inc. | Method for strong partitioning of a multi-processor VME backplane bus |
US20030074508A1 (en) * | 2001-10-12 | 2003-04-17 | Uhler G. Michael | Configurable prioritization of core generated interrupts |
Family Cites Families (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55123736A (en) * | 1979-03-16 | 1980-09-24 | Hitachi Ltd | Interrupt control system |
US4365294A (en) * | 1980-04-10 | 1982-12-21 | Nizdorf Computer Corporation | Modular terminal system using a common bus |
US4604500A (en) * | 1981-12-02 | 1986-08-05 | At&T Bell Laboratories | Multiprocessing interrupt arrangement |
US4514825A (en) * | 1982-03-09 | 1985-04-30 | Kinex Corporation | High speed digital modem |
US4713770A (en) * | 1985-04-19 | 1987-12-15 | Kinetic Systems Corporation | System and method for preventing tool breakage |
JPS623366A (ja) * | 1985-06-28 | 1987-01-09 | Toshiba Corp | マルチプロセツサシステム |
US4768149A (en) * | 1985-08-29 | 1988-08-30 | International Business Machines Corporation | System for managing a plurality of shared interrupt handlers in a linked-list data structure |
JPS62243058A (ja) * | 1986-04-15 | 1987-10-23 | Fanuc Ltd | マルチプロセツサシステムの割込制御方法 |
US5142683A (en) * | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
AU604959B2 (en) * | 1987-05-01 | 1991-01-03 | Digital Equipment Corporation | Servicing interrupts using a pended bus |
JPH0269854A (ja) * | 1988-09-06 | 1990-03-08 | Fujitsu Ltd | 情報転送制御方式 |
JPH02143660U (zh) * | 1989-04-28 | 1990-12-05 | ||
JPH02310664A (ja) * | 1989-05-26 | 1990-12-26 | Hitachi Ltd | 共有メモリを用いた通信方式 |
JPH0342762A (ja) * | 1989-07-11 | 1991-02-22 | Fuji Xerox Co Ltd | マルチプロセッサシステムのプロセッサ間通信方法 |
US5123094A (en) * | 1990-01-26 | 1992-06-16 | Apple Computer, Inc. | Interprocessor communications includes second CPU designating memory locations assigned to first CPU and writing their addresses into registers |
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 | インテル・コーポレーション | 割込み要求の仲裁方法およびマルチプロセッサシステム |
JPH04307652A (ja) * | 1991-04-04 | 1992-10-29 | Hitachi Ltd | マルチプロセッサ間通信方式 |
US5303378A (en) * | 1991-05-21 | 1994-04-12 | Compaq Computer Corporation | Reentrant protected mode kernel using virtual 8086 mode interrupt service routines |
US5410654A (en) * | 1991-07-22 | 1995-04-25 | International Business Machines Corporation | Interface with address decoder for selectively generating first and second address and control signals respectively in response to received address and control signals |
US5404535A (en) | 1991-10-22 | 1995-04-04 | Bull Hn Information Systems Inc. | Apparatus and method for providing more effective reiterations of processing task requests in a multiprocessor system |
JPH0612387A (ja) * | 1992-06-25 | 1994-01-21 | Mitsubishi Electric Corp | マルチプロセッサ間通信方法 |
US5535397A (en) * | 1993-06-30 | 1996-07-09 | Intel Corporation | Method and apparatus for providing a context switch in response to an interrupt in a computer process |
US5544051A (en) * | 1993-09-17 | 1996-08-06 | Digital Equipment Corporation | Document management system using multiple threaded processes and having asynchronous repository responses and no busy cursor |
US5666516A (en) * | 1993-12-16 | 1997-09-09 | International Business Machines Corporation | Protected programmable memory cartridge having selective access circuitry |
US5664231A (en) * | 1994-04-29 | 1997-09-02 | Tps Electronics | PCMCIA interface card for coupling input devices such as barcode scanning engines to personal digital assistants and palmtop computers |
US5781187A (en) * | 1994-05-31 | 1998-07-14 | Advanced Micro Devices, Inc. | Interrupt transmission via specialized bus cycle within a symmetrical multiprocessing system |
US5524208A (en) * | 1994-06-09 | 1996-06-04 | Dell Usa, L.P. | Method and apparatus for performing cache snoop testing using DMA cycles in a computer system |
JPH0822414A (ja) * | 1994-07-06 | 1996-01-23 | Hitachi Ltd | コンピュータシステム |
US5717895A (en) * | 1994-12-01 | 1998-02-10 | Cray Research, Inc. | Associative scalar data cache with write-through capabilities for a vector processor |
US5553293A (en) * | 1994-12-09 | 1996-09-03 | International Business Machines Corporation | Interprocessor interrupt processing system |
CA2167632A1 (en) * | 1995-01-23 | 1996-07-24 | Leonard R. Fishler | Apparatus and method for efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system |
FR2737590B1 (fr) * | 1995-08-03 | 1997-10-17 | Sgs Thomson Microelectronics | Dispositif de gestion d'interruptions |
US5765195A (en) * | 1995-12-08 | 1998-06-09 | Ncr Corporation | Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms |
US6088783A (en) * | 1996-02-16 | 2000-07-11 | Morton; Steven G | DPS having a plurality of like processors controlled in parallel by an instruction word, and a control processor also controlled by the instruction word |
US6378023B1 (en) * | 1996-02-14 | 2002-04-23 | Advanced Micro Devices, Inc. | Interrupt descriptor cache for a microprocessor |
JPH09237192A (ja) * | 1996-02-29 | 1997-09-09 | Kyushu Nippon Denki Software Kk | 割り込み制御装置 |
US5983356A (en) * | 1996-06-18 | 1999-11-09 | National Semiconductor Corporation | Power conservation method and apparatus activated by detecting shadowed interrupt signals indicative of system inactivity and excluding prefetched signals |
US5943500A (en) * | 1996-07-19 | 1999-08-24 | Compaq Computer Corporation | Long latency interrupt handling and input/output write posting |
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 |
US5848279A (en) * | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
US5978865A (en) * | 1997-02-04 | 1999-11-02 | Advanced Micro Devices, Inc. | System for performing DMA transfers where an interrupt request signal is generated based on the value of the last of a plurality of data bits transmitted |
US5864701A (en) * | 1997-02-14 | 1999-01-26 | Integrated Device Technology, Inc. | Apparatus and method for managing interrupt delay associated with mask flag transition |
US6247091B1 (en) * | 1997-04-28 | 2001-06-12 | International Business Machines Corporation | Method and system for communicating interrupts between nodes of a multinode computer system |
KR100230454B1 (ko) * | 1997-05-28 | 1999-11-15 | 윤종용 | 다중처리 시스템의 캐시메모리 검사방법 |
US5966543A (en) * | 1997-06-26 | 1999-10-12 | International Business Machines Corporation | Method of using collaborative spinlocks to provide exclusive access to a resource in a multiprocessor computer system |
US5918028A (en) * | 1997-07-08 | 1999-06-29 | Motorola, Inc. | Apparatus and method for smart host bus adapter for personal computer cards |
US5974486A (en) * | 1997-08-12 | 1999-10-26 | Atmel Corporation | Universal serial bus device controller comprising a FIFO associated with a plurality of endpoints and a memory for storing an identifier of a current endpoint |
JPH1185614A (ja) * | 1997-09-03 | 1999-03-30 | Nec Eng Ltd | 情報処理装置 |
US6145007A (en) * | 1997-11-14 | 2000-11-07 | Cirrus Logic, Inc. | Interprocessor communication circuitry and methods |
JPH11154122A (ja) * | 1997-11-20 | 1999-06-08 | Nec Corp | メッセージ交換型通信方式 |
US6418496B2 (en) * | 1997-12-10 | 2002-07-09 | Intel Corporation | System and apparatus including lowest priority logic to select a processor to receive an interrupt message |
US6128732A (en) * | 1997-12-15 | 2000-10-03 | Compaq Computer Corporation | Implementing universal serial bus support with a minimum of system RAM |
JP3097648B2 (ja) * | 1998-02-04 | 2000-10-10 | 日本電気株式会社 | 情報処理装置及び情報処理方法 |
GB2334354B (en) * | 1998-02-13 | 2003-04-16 | Ibm | Booting a computer system from a network |
US6247143B1 (en) * | 1998-06-30 | 2001-06-12 | Sun Microsystems, Inc. | I/O handling for a multiprocessor computer system |
US6148361A (en) * | 1998-12-17 | 2000-11-14 | International Business Machines Corporation | Interrupt architecture for a non-uniform memory access (NUMA) data processing system |
US6339808B1 (en) * | 1999-01-04 | 2002-01-15 | Advanced Micro Devices, Inc. | Address space conversion to retain software compatibility in new architectures |
US6279067B1 (en) * | 1999-01-13 | 2001-08-21 | Ati International Srl | Method and apparatus for detecting interrupt requests in video graphics and other systems |
US6295573B1 (en) * | 1999-02-16 | 2001-09-25 | Advanced Micro Devices, Inc. | Point-to-point interrupt messaging within a multiprocessing computer system |
US6625679B1 (en) * | 1999-04-19 | 2003-09-23 | Hewlett-Packard Company | Apparatus and method for converting interrupt transactions to interrupt signals to distribute interrupts to IA-32 processors |
US6665761B1 (en) * | 1999-07-28 | 2003-12-16 | Unisys Corporation | Method and apparatus for routing interrupts in a clustered multiprocessor system |
US6265885B1 (en) * | 1999-09-02 | 2001-07-24 | International Business Machines Corporation | Method, apparatus and computer program product for identifying electrostatic discharge damage to a thin film device |
KR100401386B1 (ko) * | 1999-09-16 | 2003-10-11 | 엘지정보통신주식회사 | 프로세서 간 인터럽트 처리 방법 |
US6691190B1 (en) * | 2000-01-24 | 2004-02-10 | Agere Systems Inc. | Inter-DSP data exchange in a multiple DSP environment |
US20030055900A1 (en) * | 2000-02-02 | 2003-03-20 | Siemens Aktiengesellschaft | Network and associated network subscriber having message route management between a microprocessor interface and ports of the network subscriber |
US7080205B2 (en) * | 2000-03-29 | 2006-07-18 | Fujitsu Siemens Computer Gmbh | Arrangement and method for reducing the processing time of a data processing device |
US6931643B2 (en) * | 2000-04-03 | 2005-08-16 | Texas Instruments Incorporated | Interrupt throttling for inter-processor communications |
US6799317B1 (en) * | 2000-06-27 | 2004-09-28 | International Business Machines Corporation | Interrupt mechanism for shared memory message passing |
US7296271B1 (en) * | 2000-06-28 | 2007-11-13 | Emc Corporation | Replaceable scheduling algorithm in multitasking kernel |
US6920516B2 (en) * | 2000-08-31 | 2005-07-19 | Hewlett-Packard Development Company, L.P. | Anti-starvation interrupt protocol |
US20020178313A1 (en) * | 2001-03-30 | 2002-11-28 | Gary Scott Paul | Using software interrupts to manage communication between data processors |
US20030028696A1 (en) * | 2001-06-01 | 2003-02-06 | Michael Catherwood | Low overhead interrupt |
US20030037244A1 (en) * | 2001-08-16 | 2003-02-20 | International Business Machines Corporation | System management interrupt generation upon completion of cryptographic operation |
US6898703B1 (en) * | 2001-11-19 | 2005-05-24 | Cypress Semiconductor Corporation | System and method for creating a boot file utilizing a boot template |
US7363474B2 (en) * | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US20030126379A1 (en) * | 2001-12-31 | 2003-07-03 | Shiv Kaushik | Instruction sequences for suspending execution of a thread until a specified memory access occurs |
US7127561B2 (en) * | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
US7054972B2 (en) * | 2002-12-13 | 2006-05-30 | Lsi Logic Corporation | Apparatus and method for dynamically enabling and disabling interrupt coalescing in data processing system |
US6789142B2 (en) * | 2002-12-18 | 2004-09-07 | Intel Corporation | Method, system, and program for handling interrupt requests |
US7788669B2 (en) * | 2003-05-02 | 2010-08-31 | Microsoft Corporation | System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory |
US7240137B2 (en) * | 2004-08-26 | 2007-07-03 | International Business Machines Corporation | System and method for message delivery across a plurality of processors |
JP2006216042A (ja) * | 2005-02-04 | 2006-08-17 | Sony Computer Entertainment Inc | 割り込み処理のためのシステムおよび方法 |
US7433985B2 (en) * | 2005-12-28 | 2008-10-07 | Intel Corporation | Conditional and vectored system management interrupts |
US9032128B2 (en) * | 2008-04-28 | 2015-05-12 | 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 |
US8032680B2 (en) * | 2008-06-27 | 2011-10-04 | Microsoft Corporation | Lazy handling of end of interrupt messages in a virtualized environment |
US10678744B2 (en) * | 2010-05-03 | 2020-06-09 | Wind River Systems, Inc. | Method and system for lockless interprocessor communication |
US8504780B2 (en) * | 2011-04-08 | 2013-08-06 | Hitachi, Ltd. | Computer, computer system, and data communication method |
-
2003
- 2003-07-31 US US10/631,522 patent/US8984199B2/en not_active Expired - Fee Related
-
2004
- 2004-07-21 DE DE112004001418T patent/DE112004001418T5/de not_active Withdrawn
- 2004-07-21 JP JP2006521923A patent/JP4533893B2/ja not_active Expired - Fee Related
- 2004-07-21 CN CNB2004800285138A patent/CN100456251C/zh not_active Expired - Fee Related
- 2004-07-21 KR KR1020067002136A patent/KR100876488B1/ko not_active IP Right Cessation
- 2004-07-21 WO PCT/US2004/023570 patent/WO2005013121A2/en active Application Filing
- 2004-07-21 CN CN 200810187079 patent/CN101425026A/zh active Pending
- 2004-07-23 TW TW93122148A patent/TWI258703B/zh not_active IP Right Cessation
-
2010
- 2010-01-07 JP JP2010002051A patent/JP4792113B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136714A (en) * | 1989-12-04 | 1992-08-04 | International Business Machines Corporation | Method and apparatus for implementing inter-processor interrupts using shared memory storage in a multi-processor computer system |
CN1148704A (zh) * | 1995-05-11 | 1997-04-30 | 松下电器产业株式会社 | 用小规模硬件灵活应付多个中断处理的中断控制装置 |
US6047391A (en) * | 1997-09-29 | 2000-04-04 | Honeywell International Inc. | Method for strong partitioning of a multi-processor VME backplane bus |
US20030074508A1 (en) * | 2001-10-12 | 2003-04-17 | Uhler G. Michael | Configurable prioritization of core generated interrupts |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699418B (zh) * | 2009-10-30 | 2011-11-16 | 曙光信息产业(北京)有限公司 | 一种中断处理方法、系统及设备 |
CN107533458A (zh) * | 2016-02-04 | 2018-01-02 | 慧与发展有限责任合伙企业 | 基于存储器寄存器中断的信令和消息传递 |
Also Published As
Publication number | Publication date |
---|---|
WO2005013121A3 (en) | 2005-11-17 |
JP2010113734A (ja) | 2010-05-20 |
KR20060038465A (ko) | 2006-05-03 |
CN101425026A (zh) | 2009-05-06 |
TW200517964A (en) | 2005-06-01 |
CN1860444A (zh) | 2006-11-08 |
DE112004001418T5 (de) | 2006-10-26 |
US20050027914A1 (en) | 2005-02-03 |
WO2005013121A2 (en) | 2005-02-10 |
JP4533893B2 (ja) | 2010-09-01 |
TWI258703B (en) | 2006-07-21 |
JP2007500898A (ja) | 2007-01-18 |
US8984199B2 (en) | 2015-03-17 |
JP4792113B2 (ja) | 2011-10-12 |
KR100876488B1 (ko) | 2008-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100456251C (zh) | 一种涉及处理器间中断的方法、处理器和系统 | |
CN107402835B (zh) | 应用程序的异常处理方法、装置及存储介质和移动终端 | |
KR101724176B1 (ko) | 기회적 멀티태스킹 | |
CN109064538B (zh) | 视图渲染方法、装置、存储介质及智能终端 | |
TWI601093B (zh) | 執行對於圖像硬體之排程操作技術 | |
KR100977662B1 (ko) | 2-레벨 인터럽트 서비스 루틴을 제공하기 위한 방법 및 프로세서 | |
JP2015097106A (ja) | マルチスレッドシステムの中でイベントを設定するための技術 | |
US6944736B2 (en) | Managing latencies in accessing memory of computer systems | |
JPH04314160A (ja) | ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム | |
US11093332B2 (en) | Application checkpoint and recovery system | |
CN104471523A (zh) | 计算机系统及其控制方法 | |
CN101178680B (zh) | 手机通信处理器致命错误信息即时显示的方法 | |
CN107357575A (zh) | 工作模式的切换方法及装置、镜面显示设备及存储介质 | |
US9128848B2 (en) | General storage cache functionality extension | |
CN101320338B (zh) | 窃取中断向量的方法和系统 | |
JP2007516536A (ja) | オペレーティングシステムに可視的な割り込みハンドリングを用いてホットキー入力を処理する方法及び装置 | |
WO2004088481A2 (en) | Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system | |
CN115686314B (zh) | 基于光标的对象高亮方法、智能终端以及存储介质 | |
CN100432938C (zh) | 隐式可配置消息队列基用户接口自动同步的系统和方法 | |
US20040024988A1 (en) | Synchronization of processor states | |
CN113467656B (zh) | 一种屏幕触摸事件的通知方法和车机 | |
CN110794986A (zh) | 基于红外触控框的会议平板控制方法、装置及会议平板 | |
CN107608797B (zh) | 文件处理方法、装置、存储介质及电子设备 | |
CN114064357A (zh) | 数据备份方法、装置、电子设备及存储介质 | |
CN111158725A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090128 Termination date: 20140721 |
|
EXPY | Termination of patent right or utility model |