用于多处理器的中断最优化的制作方法

文档序号:6599225阅读:244来源:国知局
专利名称:用于多处理器的中断最优化的制作方法
用于多处理器的中断最优化
背景技术
中断可以将要通过执行中断处理程序来进行服务的事件通知给计算系统,中断处 理程序也可以被已知为中断服务例程(ISR)。这种通知事件可以被称为中断请求(IRQ)。处 理器可以经历环境切换(context switch)以从其当前的任务转换到执行与接收的中断相 关联的中断处理程序。从当前的处理器任务的转换可以被认为是当前任务的中断。将接收 的中断分配给特定的处理器或处理器核心以在多处理器计算系统内执行会呈现额外的复 杂性。本文中进行的公开是针对这些考虑以及其它考虑而给出的。

发明内容
本文中对用于在多处理器计算系统内对中断进行处理的技术进行了描述。多处理 器计算系统可以具有多个处理器、具有多个处理器核心的处理器、每个都具有多个处理器 核心的多个处理器,或者其任意组合。特定的处理器或核心可以被确定为用于执行特定的 中断处理程序的优选处理器。该处理器或处理器核心可以被称为用于该特定中断处理程序 的优选处理器。能够接收与中断处理程序相关联的中断。一个或更多个接受处理器可以被 确定为用于响应于对中断的接收来执行中断处理程序的候选。响应于优选处理器是接受处 理器,可以指派优选处理器执行中断处理程序。被传递给中断控制器模块的附加信息可以支持对中断响应资源进行分配,以维持 处理器核心对中断服务例程的联系(affinity)。该联系可以通过将之前执行了中断处理程 序的处理器视为优选处理器,并优选地在该处理器上执行特定中断处理程序来支持高速高 速缓存效率。高速高速缓存效率可以与将中断处理程序的执行指派给当前空闲或者当前正 在处理较低优先级任务的不同处理器的好处相平衡。以上的概述仅仅是示例性的,并非意在以任何方式进行限制。除了以上所描述的 示例性的方面、实施例以及特征,通过参考附图以及以下的详细描述,其它方面、实施例以 及特征将变得明显。


结合附图,本公开的以上以及其它特征通过以下的描述以及所附权利要求书将变 得更充分明显。可以理解的是,这些附图仅仅描绘了根据本公开的几个实施例,因此,不 被认为是对其范围的限制,将通过使用附图利用附加的特性和细节对本公开进行描述,其 中图1是示出用于多处理器的工作环境的框图;图2是示出具有中断控制器的多核处理器的框图;图3是示出多核处理器内的中断控制器和中断请求仲裁器的框图;图4是示出中断消息的数据结构图;图5是示出用于利用优选处理器核心和仲裁器授权对中断进行指派的处理的流 程图6是示出用于利用具有被推定的指派的单个优选处理器核心对中断进行指派的处理的流程图;图7是示出用于利用优选处理器核心的有序列表对中断进行指派的处理的流程 图;以及图8是示出全部根据本公开布置的示例性计算系统的框图。
具体实施例方式在下面的详细描述中,参考形成说明书一部分的附图。在附图中,除非上下文另行 规定,相似的附图标记一般标识相似的部件。详细的说明书、附图以及权利要求书中所描述 的示例性实施例不意味着是限制性的。在不脱离这里呈现的主题的实质或范围的情况下, 可以采用其它的实施例,并可以进行其它改变。将会理解的是如这里总体描述、以及附图 中所示的本公开的实施例能够以许多各种不同的结构被布置、替换、组合、分开以及设计, 其全部都是这里明确预期的。除其它外,下面的公开阐述了与用于将中断分配给多处理器内的特定处理器核心 的技术相关的方法、装置、系统和计算机程序产品。通过使用这里给出的技术和概念,调度 和通信中断响应可以将附加信息提供给中断控制器电路,以试图维持处理器核心对中断服 务例程的联系。该联系可以通过在之前执行了中断处理程序的处理器上执行该中断处理程 序来支持高速高速缓存效率。该高速高速缓存效率还可以与将中断处理程序的执行指派给 当前空闲或者当前正在处理优先级比中断处理程序的优先级低的任务的处理器的好处相 平衡。现在参考附图(其中,在几个图中,相同的附图标记表示相同的元件),对多处理器系 统内的中断最优化的方面进行描述。现在转到图1,功能框图100示出根据这里给出的实施例的、用于多处理器110的 工作环境。多处理器110可以包含多个处理器或多个处理器核心。多个核心能够总体上支 持并行处理、并行任务、并行线程、单独的顺序过程或者其任意组合。存储器120可以被多 处理器110访问。多处理器110可以从存储器120进行读取以及向存储器120进行写入。 这种读取和写入可以涉及与多处理器110的多个核心的操作相关联的指令和数据。通常, 多处理器110内的每一个处理器核心可以单独对存储器120进行访问。存储器120可以是 RAM、SRAM、DRAM、SDRAM或者任意类型的易失性或非易失性存储器。与多处理器110的多个核心上的操作相关联的指令和数据可以被存储在存储媒 体130设备上。存储媒体130可以支持信息的非易失性存储。存储媒体130可以被多处理 器110内的多个处理器核心访问。存储媒体130可以存储软件132以在多处理器110内的 多个处理器核心上执行。以例子而非限制的方式,计算机可读媒体可以包括计算机存储媒 体和通信媒体。计算机存储媒体可以包括以用于信息(诸如计算机可读指令、数据结构、程 序模块或其它数据)的存储的任何方法或技术来实现的易失性的、非易失性的、可拆除的 以及不可拆除的媒体。计算机存储媒体包括但不限于RAM、R0M、EPR0M、EEPR0M、快擦写存储 器、其它固态存储器技术、CD-ROM、DVD、HD-DVD、BLU-RAY、其它的光存储、盒式磁带、磁带、磁 盘存储、其它磁存储设备,或者任何其它能够被用来存储期望信息并且能够被多处理器110 访问的介质。与多处理器110相关联的软件132、或者其它的指令、代码、模块或程序可以包括用于对中断事件进行响应的模块。这种模块可以被称为中断服务例程(ISR)或中断处理程 序134。中断处理程序134可以与特定中断事件、特定中断起因、中断来源或者特定中断信 号线相关联。中断处理程序134可以响应于在多处理器110处接收到相关联的中断来执行。 中断处理程序134可以中断或抢先于与多处理器110相关联的其它操作。这种抢先可以支 持迅速响应于在多处理器110到达的中断来执行中断处理程序134。迅速响应能够支持各 种软件模块的实时的、硬实时的、软实时的或者近实时的操作。
中断处理程序134模块的一个例子可以与如下内容相关联设备驱动器、或者与 对外部设备的支持相关联的其它软件、固件或者模块。除了外部设备,这种模块可以支持提 供中断的内部电路块。所支持的设备或者相关联的接口电路可以被视为与设备驱动器、ISR 或者中断处理程序134相关联的中断的来源。在接收到中断信号时,可以在特定时限内、或 者根据与中断处理程序134和其它操作相关联的优先级立即执行相关联的中断处理程序 134。外部时钟140可以给多处理器110提供时钟信号。外部时钟140可以包括晶体振 荡器或者任何其它时钟或振荡器源。外部时钟140可以包括时钟驱动器电路。与外部时钟 140相关联的时钟信号可以被用来在多处理器110内对各种电路进行定时和同步。多处理 器110还可以与实时时钟(RTC) 145连接。实时时钟145可以被用于维持人的时间,诸如一 天中的时间、一周中的天、日历日期和年等。RTC 145可以向与定时器、报警器或者看门狗电 路相关的多处理器110生成中断事件。与多处理器110连接的各种设备可以生成中断。这种中断可以通知多处理器110 响应于该中断请求了服务。可以执行中断处理程序134来为设备的中断服务。作为非限制 性的例子,图1中示出若干不同的设备。例如,中断设备可以是网络接口 150。网络接口 150 可以被用来附加到网络155。当从网络155接收到数据包时,网络接口 150可以生成中断。 然后可以执行与网络接口 150相关联的中断处理程序134来从网络接口 150接收数据包。 相似地,无线电接口 160可以使用天线165来向或从无线网络或移动通信系统发送或接收 无线数据包。一个或更多个接口总线170也可以连接到多处理器110。接口总线的示例可以包 括工业标准结构(ISA)总线、外围组件互连(PCI)总线、PCI-Express总线、加速图形端口 (AGP)总线、通用串行总线(USB)、高级技术附件(ATA)总线、串行ATA(SATA)总线、小型计 算机系统接口(SCSI)以及其它的用于计算机和嵌入式处理器系统中的这种总线和接口。 总线或者与总线相关联的接口电路可以包含一个或更多个用于中断多处理器110的中断 机制。模拟接口 180可以连接到多处理器110。模拟接口 180可以包括数字到模拟转换器、 模拟到数字转换器或者二者都包括。模拟接口 180可以被用于视频、音频、红外线、雷达或 者任何其它模拟信号。模拟接口 180或者支持模拟接口 180的电路可以向多处理器110生 成中断。一个或更多个人机接口 190可以连接到多处理器110。人机接口 190可以包括视 频显示器、键盘、麦克风、光笔、投影机、语音识别、开关、按钮、指示器或者用于从人接收输 入或者向人提供输出的任何其它机构。人机接口 190或者与其相关联的电路可以将中断提 供给多处理器110。现在转到图2,框图示出根据本文中所给出的实施例的、具有中断控制器的多核处 理器。多处理器Iio可以具有多个内部处理器核心,诸如核心1到核心N(210A-210E)。这些可以集体地或总体上被称为处理器核心210。到达多处理器110的中断可以来自外部接 口 230。与外部接口 230相关联的中断可以源自如针对图1讨论的外部设备。相似地,多处 理器110内部的设备可以生成中断。例如,定时器240、电源管理机构242、直接存储器访问 (DMA)控制器244或者其它的片上外围设备246可以生成与源自外部接口 230的中断相似 的中断。来自内部设备和外部接口 230的各种中断信号可以被单独在中断线225上运载到 中断控制器220。中断线225中的每一个中断线可以与单独的中断处理程序134相关联,或 者中断处理程序134可以与中断线225中的多于一个中断线相关联。中断控制器220可以 通过中断总线215与处理器核心210连接。中断总线215可以是串行总线、并行总线或者 用于在中断控制器220与多个处理器核心210之间传递信号的任何通道。中断总线可以是 也用于在中断控制器220与多个处理器核心210之间传递信号的通用系统、I/O或存储总 线。中断总线215可以在中断控制器220与处理器核心210之间运载与中断信息相关的消 息。在中断总线215上传递的消息可以被编码成信号、脉冲、逻辑电平、包、帧或者本领域已 知的任何其它表示。
通过先占处理器执行资源,中断可以使当前执行的处理延迟。通过上下文切换能 够发生从当前任务到中断处理程序134的交换。上下文切换可以使得操作不按顺序完成。 上下文切换可以使得操作被中止以及被重新执行。上下文切换可以使得内部缓冲器被清 空、或者使得高速高速缓存被更改。来自中断处理程序134的代码或数据可以使高速高速 缓存线和转换后备缓冲器(TLB,translation lookaside buffer)入口无效。高速缓存可 以在更快速的高速缓存存储器中维持最近被访问的数据或代码以用于迅速的随后访问。这 会是有益的,因为重复访问的意图以及参考的位置暗示最近访问的存储器位置或者附近的 那些很可能是在不远的将来再次进行访问的候选。如果与中断处理程序134相关联的代码 或数据以被修改的状态被高速缓存在另一处理器核心上,则中断响应延迟和中断处理时间 可以被延迟。在中断频繁、中断服务例程涉及相当大量的代码或数据、或者相当大量的整体计 算时间被投入到为中断进行服务的系统中,破坏性的效果会增加。这种状况在涉及大量数 据的复杂的计算任务被依赖于实时调度的通用或专用计算系统中都会发生。在正在处理大 量的网络流量或存储系统I/O操作的服务器计算机中会出现类似的状况。嵌入式计算系统 是被嵌入在常常支持控制和通信功能的设备或系统内的专用计算系统。例如,嵌入式处理 器可以被应用于发动机控制器、机器人控制器、通信设备、调制解调器、移动电话、远程控制 以及本领域中已知的无数的其它应用。嵌入式计算系统可以在它们大量的计算时间进行对 中断的响应。因此,嵌入式环境内多处理器110操作的效率可以按有效的且高效率的方式, 从改进的、用于给中断分配资源的技术中得到实质的益处。中断在计算系统内是周期性的或者至少是重复执行。同样的代码和数据可以在执 行特定中断处理程序134的每个实例中通用。在代码和数据资源已经被分配给响应处理器 核心的情况下,可以支持执行中断处理程序134中提高的效率。此预分配还可以涉及已经 在响应处理器核心被高速缓存的代码或数据,从而带来改进的高速缓存效率。因此,将特定 中断处理程序134的执行分配给处理了该中断处理程序134先前的实例的处理器核心可以 提高效率。
在某些情形中,执行了特定中断处理程序134先前的实例的处理器核心在中断到 达时会忙于当前的任务。如果当前的任务是高优先级的任务,则执行中断处理程序134的 上下文切换可以被延迟或禁止地破坏(prohibitively disruptive)。如果与处理器相关联 的当前的任务是低优先级的任务,则当前的任务可以被抢先或被延迟以执行中断处理程序 134。在二者中的任一情形中,其它的处理器核心可能是空闲的或正在执行更低优先级的任 务,因此,将中断指派给其它处理器中的一个处理器较之在优选处理器上抢先或等待可以 支持提高的系统效率。
可能存在与在先前执行了同样的中断处理程序134的处理器上执行中断处理程 序134相关联的高速缓存效率。可替选地,可能存在将中断处理程序134的执行指派给当 前可能空闲的或者正在处理低优先级的任务的不同处理器的任务优先级动机。使用能够通 过对这些效率因素进行加、组合或加权在一起而建立的分值或花费,可以实现这两种效率 之间的平衡。分值或花费随后可以被用来确定中断分配。现在转到图3,框图300示出根据本文中所提出的实施例的方面的、多核处理器内 的中断控制器220和中断请求仲裁器310。中断控制器220可以接收和锁存在一个或更多 个中断线225上到达的中断请求。响应于中断请求事件,中断控制器220可以识别处理器 核心210中的哪个是优选的对于中断的响应者。可以基于是先前执行中断处理程序134的 核心为该未决的中断确立优选的响应者。该优选的响应者状态可以被说成是维持中断处理 程序134与优选核心之间的核心联系。对于执行特定中断处理程序的最初实例,因为没有 先前的执行,所以可以使用另一种用于确立优选的技术。该最初的核心联系或者基本情形 的核心优选可以被随机地确立、静态地指定、通过对最不忙的核心进行测量被指派、通过对 一个或更多个系统参数的测量被指派或者通过用于确定最初优选核心的任何其它技术。在接收到中断时,中断控制器220可以针对与该未决的中断相关联的中断处理程 序134确定优先级。可以根据存储器或其它电路中的数据表来确定该优先级。优选核心的 标识以及中断处理程序134的优先级可以在中断总线215上从中断控制器220被传递到一 个或更多个处理器核心210。在信息被传递给所有处理器核心210的实例中,该传递可以被 称为在中断总线215上的广播。被发送给处理器核心210的表明中断是未决的消息可以被 称为中断消息。中断消息可以被用来促使处理器核心210将它们自身提供成接受者、或者 接受核心,以执行与该未决的中断相关联的中断处理程序134。根据一些实施例,中断控制器220可以确定有资格的核心的列表并将该列表与中 断消息内的优选核心标识以及中断处理程序134的优先级一起提供给处理器核心210。根 据其它实施例,中断控制器220可以确定有资格的核心的列表以及仅将中断消息信息传送 给在该资格列表上的处理器核心210。处理器核心210中的任一个核心都可以在中断总线215上由本地中断控制器 330A-330E代表。本地中断控制器330A-330E可以集体地或总体上被称为本地中断控制器 330。当消息针对处理器核心210中的一个或更多个处理器核心被发送到中断总线215上 时,该消息可以被与各个处理器核心210相关联的本地中断控制器330接收。为了与本地 中断控制器330进行区分,中断控制器220也可以被称为主要中断控制器或主中断控制器。每个接收到中断消息的本地中断控制器330可以确定它是否将会请求指派以在 与本地中断控制器330相关联的处理器核心210上执行与该未决的中断相关联的中断处理程序134。这可以通过提供相关联的处理器核心210以对该未决的中断进行服务来进行。 确定是否请求中断可以通过检查相应的处理器核心210是否是有资格的来进行。可以通过 硬编码列表、所提供的系统配置或者通过对系统特性进行评估来确定资格。如果有资格,确 定可以进一步取决于对处理器核心210上正在执行的当前任务的优先级进行的评估。当 前任务305A-305C可能正在各个处理器核心210中的每个处理器核心上执行。当前任务 305A-305C可以集体地或总体上被称为当前任务305。在每个处理器核心210处,可以将与 正在处理器核心210执行的当前任务305相关联的优先级与中断消息中所指定的中断处理 程序134的优先级相比较。如果处理器核心210是有资格的核心且正在执行优先级低于未 决的中断处理程序134的优先级的当前任务305,则本地中断控制器330可以请求对于该中 断的控制。本地中断控制器330可以通过在中断总线215上将核心响应消息传递给中断请求仲裁器310来请求未决中断的控制。这种核心响应消息可以包括正在发送该消息的处理器 核心210的标识。核心响应消息还可以包括“拒绝”或“请求”指示器以指定与处理器核心 210相关联的本地中断控制器330期望请求该未决的中断还是拒绝该未决的中断。中断请求仲裁器310可以对核心响应消息进行评估。中断请求仲裁器310能够确 定一个处理器核心210被授权对于该未决的中断的控制。其它的请求处理器核心210可以 被否决对于该中断的控制。中断请求仲裁器310可以将仲裁器消息通过中断总线215传递 给本地中断控制器330。仲裁器消息可以标识要被授权负责通过执行相关联的中断处理程 序134对该未决的中断进行服务的处理器核心210。这种类型的仲裁器消息可以按广播的 形式被发送给所有本地中断控制器330。这种对一个处理器核心210的授权可以暗示所有 其它的处理器核心210被否决该中断。可替选地,中断请求仲裁器310可以单独将仲裁器 消息传递给每个处理器核心210,将授权消息发送给一个处理器核心210并将否决消息发 送给其它的请求处理器核心210。中断请求仲裁器310可以优先将控制提供给优选处理器核心210。这样,如果优选 处理器核心210请求中断的控制,它能够被授权控制而其它的请求者可能被否决控制。如 果另一处理器核心210先请求控制,对该处理器核心210的响应可以被延迟,直到优选处理 器核心210请求控制或者发送“拒绝”消息。如果优选处理器核心210请求控制,其它的请 求可以被否决,且优选处理器核心210可以被授权控制。如果优选处理器核心210拒绝控 制,则其它的请求处理器核心210可以被授权中断的控制。该途径可以利用可用的处理器 核心支持具有改进的等待时间的服务中断同时维持优选处理器核心210对每个中断处理 程序134的联系。根据实施例,优选处理器核心210可以假定它将会被授权该未决的中断的控制。 这样,优选处理器核心210可以立即开始处理该中断。仍然可以发送请求,使得其它的请求 者可以被仲裁器否决控制。根据实施例,中断请求仲裁器310可以包括定时器320。如果优选处理器核心210 在定时器320的时间段内没有响应,则另一请求处理器核心可以被授权该未决的中断的控 制。优选处理器核心210接下来的请求随后会被否决。根据实施例,中断控制器220可以在不同的处理器核心被指派了中断的控制时对 其优选处理器核心210的指派进行更新。可以由中断控制器220对仲裁器消息进行检查以确定哪个核心被指派了该未决中断的控制。如果仲裁器消息不将该未决中断指派给优选处 理器核心210,则中断控制器220可以对其优选处理器核心210的指派进行更新,使得被授 权了该未决中断的控制的另一处理器核心210变成新的优选处理器核心。新的优选处理器 核心210可以在该特定中断的下一个实例中被使用,因为它随后会更有可能具有与中断处 理程序134相关的代码、数据以及TLB。根据实施例,优选处理器核心可以被表示成处理器核心的有序列表。有序列表可 以标识处理器核心210可以被分配控制以通过执行相关联的中断处理程序134对未决的中 断进行响应的优选的次序。当在中断总线215上将优选的列表传递给本地中断控制器330 时,中断控制器220可以将中断消息广播给所有的处理器核心210、处理器核心210的子集、 仅仅给优选的列表上的处理器核心210或者其任意的组合。中断请求仲裁器310可以分配 未决中断的控制,使得按照优选列表所表明的次序将优选给处理器核心210。
中断控制器220、中断请求仲裁器310以及各种本地中断控制器330可以作为支持 处理器核心210的同一集成电路内的模块或电路被实施。这种集成电路可以被称为多处理 器110。中断控制器220、中断请求仲裁器310以及各种本地中断控制器330可以作为独立 于处理器核心210的集成电路中的模块或电路被实施。处理器核心210也可以是单独的各 个处理器。所讨论的集成电路可以是专用的、诸如现场可编程门阵列(FPGA)的可编程集成 电路、片上系统、基板上的系统、封装上的系统或者以用于对电路进行集成或封装的任何其 它的途径被实施。虽然作为单独的模块或电路被示例和讨论,中断控制器220、中断请求仲 裁器310以及各种本地中断控制器330可以在不脱离本文中所公开的技术的精神和范围的 情况下以任意的组合进行功能上的组合或者被不同地分区。一同地,中断控制器220、中断 请求仲裁器310、中断总线215、各种本地中断控制器330的任意的组合或者其任意的子集 可以被称为中断分配系统。现在转到图4,数据结构图400示出根据本文中所提出的实施例的中断消息。中断 消息410A-410B是可以在中断总线215上从中断控制器220传输给多个处理器核心210的 消息的例子。中断消息410A可以被用来表明中断从中断线225中的一个中断线到达了中 断控制器220。中断消息410A可以包括中断优先级。中断优先级可以是与用于对未决的中 断进行服务的中断处理程序134相关联的优先级。中断消息410A还可以表明优选核心ID 以识别用于执行与在中断线225处接收到的中断相关联的中断处理程序134的优选处理器 核心210。可替选地,第二中断消息410B可以通过提供核心ID的有序列表以表明用于对未 决的中断进行处理的处理器核心210的有序优选来表明核心联系。有序的列表可以通过列 表中的次序来表明可以执行与未决中断相关联的中断处理程序134的处理器核心210的优 选。例如,有序的列表可以首先表明最优选核心,其次表明第二优选核心等。次序可以基于 对针对中断处理程序134的高速缓存状态的估计。可以通过基于给定核心最近执行特定中 断处理程序的时间顺序来建立这种估计。核心响应消息420可以从与多个各处理器核心210相关联的本地中断控制器330 发出。核心响应消息420可以指向(direct to)中断控制器220和中断请求仲裁器310。 核心响应消息420可以表明各个处理器核心210通过从中断请求仲裁器310请求中断的指 派而接受该未决的中断的控制。核心响应消息420可以包括标识该响应源自哪个特定处理 器核心210的源核心ID。核心响应消息420还可以表明处理器核心210 “请求”或“拒绝”未决的中断。仲裁器消息430A可以从中断请求仲裁器310发到中断总线215上,以表明将中 断授权给特定的处理器核心210。例如,仲裁器消息430A可以包括表明将会执行中断处理 程序134以对未决中断进行响应的特定的处理器核心210的被授权核心ID。仲裁器消息 430A可以被广播给多个处理器核心210以向处理器核心210表明哪个核心被分配了执行与 该未决的中断相关联的中断处理程序134的任务。可替选地,第二仲裁器消息430B可以被 用来将中断处理程序134的授权各自传递给特定的处理器核心210。仲裁器消息430B可以 包括用于沿中断总线215将特定的仲裁器消息430发送给指定处理器核心210的目标核心 ID。仲裁器消息430B还可以包括对由目标 核心ID标识的特定处理器核心210的“授权”或 “否决”指示器。当使用第二仲裁器消息430B时,中断请求仲裁器310可以将各仲裁器消息 430B发送给每个处理器核心210。除了发送给被指派了针对未决中断的中断处理程序134 的执行的处理器核心210的单个“授权”仲裁器消息430B以外,这些消息可以表明对于处 理器核心中的每个处理器核心的“否决”。针对图4所讨论的消息可以作为包、信号、控制线、总线信号或者用于在对指派中 断中涉及的模块之间发信号或进行通信的任何其它的机制。这些模块可以包括如针对图 3所讨论的中断控制器220、中断请求仲裁器310、各种本地中断控制器330以及中断总线 215。现在参考图5,将针对多处理器内中断的分配,对本文中所提出的实施例提供附加 的细节。具体地,图5是示出根据本文中所提出的实施例的方面的、用于使用优选处理器核 心和仲裁器授权对中断进行指派的过程500的流程图。应当了解本文中所描述的逻辑操作(1)作为一系列被计算机实施的动作或在计 算系统上运行的程序模块和/或(2)作为计算系统内互连的机器逻辑电路或电路模块被实 施。该实施是取决于计算系统的性能和其它需求来进行的选取的内容。相应地,本文中所描 述的逻辑操作以各种形式被称为状态操作、结构设备、动作或者模块。这些操作、结构设备、 动作或者模块可以用软件、固件、专用数字逻辑、以及其任意的组合被实施。还应当了解可 以进行比图中所示出的以及本文中所描述的更多的或更少的操作。这些操作还可以被顺序 地、并行地或者以不同于本文中所描述的那些次序的次序来进行。过程500可以在操作510开始,其中,优选核心被确定以优选地对特定中断处理程 序134进行服务。最初,针对特定中断处理程序134的优选核心可以被随机地指派、被预 先指定为特定的核心或者通过任何其它的初始化机制被指派。初始化可以由操作系统、由 BIOS或者由结构设置或电路来进行规定。接下来,在操作520,接收到与特定中断处理程序134相关联的中断。所接收的中 断可以在到中断控制器220的中断线225上到达。在操作530,可以确定所接收的中断的优 先级。该确定可以基于中断的来源或者在用信号通知中断时所涉及的特定的中断线225。 在操作540,可以生成中断消息410A。中断消息410A可以由中断控制器220生成并在中断 总线215上传输。中断消息可以表明操作530中确定的中断优先级以及操作510中确定的 优选核心ID。中断消息410A的生成以及被传输到中断总线215上还可以触发与定时器320 相关联的定时器期间的开始。在中断消息410A到达处理器核心210时,每个本地中断控制器330可以评估各个处理器核心210是否要请求该中断。这可以基于该中断具有高于正在处理器核心210上执 行的当前任务305的优先级。本地中断控制器330然后可以生成要被传递到中断总线215 的核心响应消息420。在操作550,在中断请求仲裁器310以及在中断控制器220可以接收 到核心响应消息420。
在操作560,中断请求仲裁器310可以确定用于执行与未决的中断相关联的中断 处理程序134的被授权的核心。该确定可以基于在操作550接收到核心响应420来进行。 如果在操作550接收到的核心响应420在与定时器320相关联的超时(time-out)期间之 后被接收到,则它们可以被忽略。如果来自优选核心的核心响应420表明优选核心请求该 中断,则该中断可以被指派给优选核心。如果来自优选核心的核心响应420表明优选核心 拒绝该中断,或者,如果优选核心在定时器期间内未响应,则该中断可以被分配给另一个请 求处理器核心210。请求处理器核心210可以被认为是用于对该中断进行处理的接受核心。在操作570,可以生成仲裁器消息430A、430B以指定被授权的处理器核心210。仲 裁器消息430A、430B可以在中断总线215上被传递给与各个处理器核心210相关联的本地 中断控制器330。在操作575,可以触发被授权的处理器核心210执行中断处理程序134以 对未决的中断进行服务。一旦中断处理程序134的执行完成,被授权的处理器核心210就 可以恢复执行它的当前任务305。在操作580,中断控制器220可以对其优选处理器核心210的指派进行更新。中断 控制器220可以对仲裁器消息430A、430B将中断授权给处理器核心210进行检查。如果仲 裁器消息未将该未决的中断指派给优选处理器核心210,则中断控制器220可以对其优选 处理器核心210的指派进行更新,使得被授权了未决中断的控制的处理器核心210可以变 成新的优选处理器核心210。该被更新的优选处理器核心210可以在该特定中断的下一个 实例期间被使用。过程500在操作580之后可以终止。现在参考图6,将针对多处理器内中断的分配,对本文中所提出的实施例提供附加 的细节。具体地,图6是根据这里提供的实施例的各方面的示出用于利用具有推定的指派 的单个优选处理器核心对中断进行指派的过程600的各方面的流程图。过程600在操作610开始,其中,优选核心被确定以优选地对特定中断处理程序 134进行服务。最初,针对特定中断处理程序134的优选核心可以被随机地指派、被预先指 定成特定的核心或者通过任何其它的初始化机制被指派。初始化可以由操作系统、由BIOS 或者由结构设置或电路来进行规定。接下来,在操作620,接收到与特定中断处理程序134相关联的中断。所接收的中 断可以在到中断控制器220的中断线225上到达。在操作630,可以确定针对所接收的中 断的优先级。在操作640,可以生成中断消息410A。中断消息410A可以由中断控制器220 生成以及在中断总线215上被传输。中断消息410A可以表明操作630中所确定的中断优 先级以及操作510中所确定的优选核心ID。中断消息410A的生成以及被传输到中断总线 215上还可以触发与定时器320相关联的定时器期间的开始。在中断消息410A到达处理器核心210时,每个本地中断控制器330可以评估各个 处理器核心210是否要请求该中断。该确定可以基于该中断具有高于正在处理器核心210 上执行的当前任务305的优先级。在操作645,与优选处理器核心相关联的本地中断控制器 330可以确定优选核心是否将会请求该中断。
如果优选核心将会请求该中断,则过程600可以转换到操作650,其中,在不等待 与中断控制器220或中断请求仲裁器310的附加交互的情况下,优选核心推定地开始执行 中断处理程序134。与优选处理器核心210相关联的本地中断控制器330仍然可以生成表 明优选处理器核心210得到该中断的核心响应消息420。在操作655,该核心响应消息420 可以由中断请求仲裁器310接收。在操作660,中断请求仲裁器310可以推定优选核心正在 自动执行中断处理程序134,因为从该优选核心接收到了 “请求”核心响应消息420。中断 请求仲裁器310然后可以向其它本地中断控制器330生成将优选核心指定成被授权的处理 器核心210的仲裁器消息430A、430B。该过程在操作660之后可以终止。代替地,如果在操作645确定优选核心将不会请求该中断,则过程600可以转换 到操作670,其中,在中断请求仲裁器310以及在中断控制器220可以接收到核心响应消息 420。在操作675,中断请求仲裁器310可以确定用于执行与未决中断相关联的中断处 理程序134的被授权核心。该确定可以基于在操作670接收到核心响应420来进行。如果 在与定时器320相关联的超时期间之后接收到在操作670接收到的核心响应420,则它们可 以被忽略。请求处理器核心210可以被认为是用于对该中断进行处理的接受核心。 在操作680,可以生成仲裁器消息430A、430B以指定被授权的处理器核心210。仲 裁器消息430A、430B可以在中断总线215上被传递给与各个处理器核心210相关联的本地 中断控制器330。在操作685,可以触发被授权的处理器核心210执行中断处理程序134以 对该未决中断进行服务。一旦中断处理程序134的执行完成,被授权的处理器核心210就 可以恢复执行它的当前任务305。在操作690,中断控制器220可以对其优选处理器核心210的指派进行更新。中断 控制器220可以对仲裁器消息430A、430B将中断授权给处理器核心210进行检查。如果仲 裁器消息未将未决中断指派给优选处理器核心210,则中断控制器220可以对其优选处理 器核心210的指派进行更新,以使得被授权了未决中断的控制的处理器核心210可以变成 新的优选处理器核心210。该更新的优选处理器核心210可以在该特定中断的下一个实例 期间被使用。过程600在操作690之后可以终止。现在参考图7,将针对多处理器内中断的分配,对本文中所提出的实施例提供附加 的细节。具体地,图7是示出用于使用优选处理器核心的有序的列表对中断进行指派的过 程700的流程图。过程700在操作710开始,其中,优选核心的有序列表被确定以优选地对 特定中断处理程序134进行服务。最初,针对特定中断处理程序134的优选核心的有序列 表可以被随机地指派、被预先指定成特定的核心列表、或者通过任何其它的初始化机制被 指派。初始化可以由操作系统、由BIOS、或者由结构设置或电路来进行规定。接下来,在操作720,接收到与特定中断处理程序134相关联的中断。所接收的中 断可以在到中断控制器220的中断线225上到达。在操作730,可以确定接收的中断的优先 级。在操作740,可以生成中断消息410B。中断消息410B可以由中断控制器220生成并在 中断总线215上传输。中断消息410B可以表明操作730中所确定的中断优先级。中断消 息410B还可以表明操作710中所确定的优选处理器核心210的有序列表。中断消息410B 的生成以及在中断总线215上的传输到还可以触发与定时器320相关联的定时器期间的开 始。
在中断消息410B到达处理器核心210时,每个本地中断控制器330可以评估各个处理器核心210是否要请求该中断。这可以基于该中断具有高于正在处理器核心210上执 行的当前任务305的优先级。本地中断控制器330然后可以生成要传递到中断总线215上 的核心响应消息420。在操作750,在中断请求仲裁器310可以接收到核心响应消息420。 在中断控制器220也可以接收到核心响应消息420。在操作760,中断请求仲裁器310可以确定用于执行与该未决的中断相关联的中 断处理程序134的被授权的核心。此确定可以基于在操作750接收到核心响应420来进行。 如果在与定时器320相关联的超时期间之后接收到在操作750处接收到的核心响应420,则 它们可以被忽略。来自最优选核心或有序列表的“请求”核心响应420可以确定中断指派。 中断可以被分配给请求该中断的核心中的在有序列表上排名最高的优选核心。请求处理器 核心210可以被认为是接受对该中断的控制。在操作770,可以生成仲裁器消息430A、430B以从而指定被授权的处理器核心 210。仲裁器消息430A、430B可以在中断总线215上被传递给与各个处理器核心210相关 联的本地中断控制器330。在操作775,可以触发授权的处理器核心210执行中断处理程序 134以对未决中断进行服务。一旦中断处理程序134的执行完成,被授权的处理器核心210 就可以恢复执行它的当前任务305。在操作780,中断控制器220可以对其优选处理器核心210的有序列表进行更新。 中断控制器220可以对仲裁器消息430A、430B将中断授权给处理器核心210进行检查。如 果仲裁器消息未将未决中断指派给最优选处理器核心210,则中断控制器220可以对其优 选处理器核心210的指派进行更新,以使得被授权了对于未决中断的控制的处理器核心 210在有序列表中向上移动以及可以变成列表上的新的优选处理器核心210。优选处理器 核心210的有序列表的该更新可以在该具体中断的下一个实例期间被使用。过程700在操 作780之后可以终止。现在转到图8,框图示出根据本公开的、被设置成用于多处理器中断最优化的示例 计算设备10。在非常基本的结构11中,计算设备10 —般包括一个或更多个处理器12以及 系统存储器20。存储器总线30可以被用于处理器12与系统存储器20之间的通信。依据期望的结构,处理器12可以是任何类型,包括但不限于微处理器(μ P)、微 控制器(μ C)、数字信号处理器(DSP)、或者其任意组合。处理器12可以包括一个更多等级 的高速缓存(如,等级一高速缓存16和等级二高速缓存17)、处理器核心13、以及寄存器 14。例子处理器核心13可以包括运算逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心 (DSP核心)或者其任意的组合。例子存储器控制器15也可以被用于处理器12,或者在一 些实施中,存储器控制器15可以是处理器12内部的一部分。根据所期望的结构,系统存储器20可以是任何类型的,包括但不限于易失性存储 器(如,RAM)、非易失性存储器(如,ROM、快擦写存储器等)或者其任意的组合。系统存储 器20可以包括操作系统21、一个或多个应用22以及程序数据24。应用22可以包括被设 置成用于支持多个处理器的虚拟化的虚拟多处理器中断最优化23或者多处理器,为本文 中所公开的中断最优化所支持。如下面将要进一步描述的,程序数据24包括多处理器中断 最优化数据25。在一些实施例中,应用22可以被设置成用于通过程序数据24在操作系统 21上进行操作,以使得如本文中所讨论的具有中断最优化的多处理器可以作为计算设备10上的虚拟计算环境被操作。计算设备10还可以支持一个或更多个多处理器作为其处理 器12。如本文中所讨论的,一个或更多个的这些多处理器可以将中断最优化作为特征。所 描述的基本配置在图8中由虚线11内的那些部件进行示例。计算设备10可以具有附加的特征或功能性、以及附加的接口以促进基本结构11 与任何所需的设备和接口之间的通信。例如,总线/接口控制器40可以被用来促进基本结 构11与一个或更多个数据存储设备50之间通过存储接口总线41的通信。数据存储设备 50可以是可移除的存储设备51、不可移除的存储设备52或者其组合。仅举几例,可移除的 存储设备和不可移除的存储设备的例子包括诸如软盘驱动以及硬盘驱动(HDD)的磁盘设 备、诸如压缩盘(CD)驱动或数字多功能光盘(DVD)驱动的光盘驱动、固态驱动(SSD)以及 磁带驱动。示例计算机存储媒体可以包括以用于信息(如,计算机可读指令、数据结构、程 序模块或者其它数据)的存储的任意方法或技术来实施的易失性的和非易失性的、可移除 的和不可移除的媒体。系统存储器20、可移除的存储51以及不可 移除的存储52是计算机存储媒体的所 有例子。计算机存储媒体包括但不限于RAM、R0M、EEPR0M、闪存或其它的存储技术、CD-ROM、 数字多功能光盘(DVD)或者其它的光存储、磁盒、磁带、磁盘存储或其它的磁存储设备,或 者可以被用来存储所期望的信息以及可以被计算设备10访问的任何其它的介质。任何这 种计算机存储媒体都可以是设备10的一部分。计算设备10还可以包括用于促进通过总线/接口控制器40从各种接口设备(例 如,输出接口、外设接口以及通信接口)到基本配置11的通信的接口总线42。例子输出设 备60包括图形处理单元61和音频处理单元62,其可以被配置成用于通过一个或更多个A/ V端口 63与诸如显示器或扬声器的各种外部设备进行通信。示例外围设备接口 70包括串 行接口控制器71或并行接口控制器72,其可以被配置成用于通过一个或更多个I/O端口 73与诸如输入设备(例如,键盘、鼠标、笔、声音输入设备、触摸输入设备等)或其它外围设 备(例如,打印机、扫描仪等)的外部设备进行通信。例子通信设备80包括网络控制器81, 其可以被设置成用于促进与通过一个或更多个通信端口 82在网络通信链接上与一个或更 多个其它的计算设备90的通信。网络通信链接可以是通信媒体的一个例子。通信媒体一般可以由计算机可读指 令、数据结构、程序模块或者被调制的数据信号(如,载波或其它传送机制)中的其它数据 来实施,以及可以包括任何信息输送媒体。“被调制的数据信号”是其特性中的一个或更多 个特性以在信号中对信息进行编码的方式被设置或被改变的信号。以例子而非限制的方 式,通信媒体可以包括有线媒体(如,有线网络或者直接连线的连接)、以及无线媒体(如, 声、射频(RF)、微波、红外线(IR)以及其它的无线媒体)。本文中所使用的术语计算机可读 媒体可以包括存储媒体和通信媒体这二者。计算设备10可以作为小型封装便携(或移动)电子设备(如,蜂窝电话、个人数 字助理(PDA)、个人媒体播放器设备、无线网络监视设备、个人耳机设备、专用设备或者包括 以上功能中的任意功能的混合设备)的一部分被实施。本公开并未根据本申请中所描述的特定实施例而受到限制,这些实施例旨在对各 种方面进行说明。如对于本领域技术人员来说将会是明显的那样,可以进行许多修改和变 化而并不脱离其精神和范围。本公开的范围内的功能上等同的方法和装置以及本申请中所列举的那些,根据以上的描述对于本领域技术人员将会是明显的。这种修改和变化旨在落 入所附权利要求的范围内。本公开仅由所附权利要求的术语连同这种权利要求被冠以的等 同物的全部范围来进行限制。要理解的是,本公开不限于特定的方法、系统、部件、装置或组 件,其当然可以变化。还要理解的是,本申请中所使用的技术术语仅用于对特定的实施例进 行描述的目的,并非旨在进行限制。针对本申请中所使用的任何基本上为复数的和/或单数的术语,本领域技术人员 可以适合于情况和/或应用进行从复数到单数和/或从单数到复数的诠释。在本申请中为 了清楚起见而明确地阐述了各种单/复数变化。本领域技术人员将会理解的是,通常,本申请中、特别是所附权利要求(例如所附 权利要求的主体)中所使用的术语通常旨在作为“开放式的”术语(例如,术语“包括”应当 被解释成“包括但不限于”、术语“具有”应当被解释成“至少具有”、术语“包含”应当被解释 成“包含但不限于”、等等)。本领域技术人员将会进一步理解的是,如果旨在引入具体数量 的权利要求重述,这种意图将会被明确地表述在权利要求中,而在没有这种表述的情况下, 则不存在这种意图。例如,作为对理解的辅助,随后的所附权利要求可以包含使用引导性的 用语 “至少一个”和“一个或多个”,以引入权利要求的重述。然而,使用这些用语不应当被 解释成隐含通过不定冠词“一”或“一个”来引入权利要求的重述而将任何包含这种引入权 利要求重述的特定权利要求限制于仅包含一个这种重述的实施例,即使是当同样的权利要 求包括引导性的用语“一个或多个”或“至少一个”和诸如“一”、“一个”的不定冠词的时候 (例如,“一”和/或“一个” 一般应当被阐释成意思是“至少一个”或“一个或更多个”);同 样的内容对于被用来引入权利要求重述的定冠词的使用同样适用。另外,即使具体数量的 引入的权利要求重述被明确地表述,本领域技术人员将会认识到的是,这种重述应当被解 释成意思是至少为所表述的数量(例如,仅有“两个重述”的表述在没有其它修改内容的情 况下意思是至少两个重述、或者两个或更多个重述)。此外,在使用类似于“A、B以及C等 等中的至少一个”的习惯用法的那些情形中,这种习惯用法通常旨在从本领域技术人员将 会理解该习惯用法的角度出发(例如,“具有A、B以及C中的至少一个的系统”将会包括但 不限于只具有A、只具有B、只具有C、同时具有A和B、同时具有A和C、同时具有B和C、和 /或同时具有A、B和C等等的系统)。在使用类似于“A、B或者C等等中的至少一个”的习 惯用法的那些情形中,这种习惯用法通常旨在从本领域技术人员将会理解该习惯用法的角 度出发(例如,“具有A、B或者C中的至少一个的系统”将会包括但不限于只具有A、只具有 B、只具有C、同时具有A和B、同时具有A和C、同时具有B和C、和/或同时具有A、B和C等 等的系统)。本领域技术人员将会进一步理解的是,任何出现了两个或更多个可替选的术语 的分开的词语和/或用语(无论在说明书、权利要求还是附图中)实质上均应当被理解成 预见了包括这些术语中的一个、术语中的任一个、或者两个术语的这些可能性。例如,用语 "A或B”将会被理解成包括“A”或者“B”或者“A和B”的可能性。另外,在本公开的特征或方面以马库什组的形式被描述之处,本领域技术人员将 会认识到的是,本公开也因而以马库什组的成分中的任意的各个成分或子组的形式被描 述。如本领域技术人员将会理解的,为了任何的以及所有的目的,例如在提供书面说 明书的方面,本申请中所公开的所有范围也涵盖任何的以及所有的可能的子范围以及其子范围的组合。任何所列出的范围均能够被容易地识别成充分的描述以及使同样的范围能够 至少被分解成同等的两部分、三部分、四部分、五部分、十部分,等等。作为非限制性的例子, 本申请中所讨论的每个范围均能够被容易地分解成下三分之一、中三分之一以及上三分之 一等。如本领域技术人员还将会理解的,诸如“直到”、“至少”、“大 于”、“小于”等的所有语 言均包括所表述的数量并且是指能够随之被分解成如以上所讨论的子范围的范围。最后, 如本领域技术人员将会理解的,范围包括各个单独的成分。所以,例如,具有1-3个单元的 组是指具有1、2或者3个单元的组。类似地,具有1-5个单元的组是指具有1、2、3、4或者 5个单元的组等。
权利要求
一种用于在多处理器计算系统内对中断进行处理的方法,所述方法包括确立多处理器计算系统内用于执行中断处理程序的优选处理器;接收与所述中断处理程序相关联的中断;响应于接收所述中断,确定一个或更多个接受执行所述中断处理程序的处理器;以及由仲裁器确定所述中断处理程序到接受执行的所述处理器中的一个处理器的指派。
2.如权利要求1所述的方法,其中,所述中断处理程序的指派包括响应于所述优选处 理器是接受执行的所述处理器中的一个处理器,将所述中断处理程序指派给所述优选处理器。
3.如权利要求1所述的方法,其中,响应于与相应处理器的当前任务相关联的第一优 先级低于与所述中断处理程序相关联的第二优先级,发生接受执行。
4.如权利要求1所述的方法,还包括将所述优选处理器更新为执行所述中断处理程 序的最近处理器。
5.如权利要求1所述的方法,其中,将一个或更多个接受处理器确定为候选包括响应 于将接收到的中断提供给相应接受处理器,从所述处理器接收接受消息。
6.如权利要求1所述的方法,其中,用于执行中断处理程序的优选处理器被指定为处 理器的有序列表。
7.如权利要求1所述的方法,其中,所述优选处理器是执行所述中断处理程序的最近 处理器。
8.一种用于在多处理器计算系统内对中断进行处理的系统,所述系统包括多个处理器核心;中断线,用于向所述多处理器请求中断服务;以及中断控制器模块,用于维持针对多个处理器核心中的一个优选处理器核心的联系以对中断进行服务,从所述中断线接收所述中断,确定多个处理器核心中的哪个处理器核心请求该所述中断,以及响应于多个处理器核心中的一个优选处理器核心请求所述中断,将所述中断分配给所 述多个处理器核心中的所述一个优选处理器核心。
9.如权利要求8所述的系统,其中,请求所述中断的任何处理器核心是空闲的或者正 在执行优先级低于与所述中断相关联的优先级的当前任务。
10.如权利要求8所述的系统,其中,所述多个处理器核心中的一个优选处理器核心是 对所述中断进行服务的最近处理器。
11.如权利要求8所述的系统,其中,所述中断控制器模块还用于将所述多个处理器 核心中的所述一个优选处理器核心更新成对所述中断进行服务的最近处理器。
12.如权利要求8所述的系统,其中,确定多个处理器核心中的哪个处理器核心请求所 述中断包括从请求所述中断的处理器核心中的每个处理器核心接收请求消息。
13.如权利要求12所述的系统,其中,指定了最大时间窗口以接收所述请求消息。
14.如权利要求8所述的系统,其中,所述中断控制器模块还用于将授权消息传输给 所述中断处理程序的处理器核心中被指派执行的一个处理器核心。
15.一种计算机存储介质,其上存储有计算机可执行的指令,所述指令在被计算机系统执行时,使得计算机系统接收与中断处理程序相关联的中断; 将接收到的中断提供给一个或更多个处理器;以及响应于由仲裁器将接收到的中断指派给所述处理器中的一个处理器,将该处理器确定 为优选处理器。
16.如权利要求15所述的计算机存储介质,其中,所述仲裁器从接受接收到的中断的 处理器接收请求,并响应于所述优选处理器是接受接收到的中断的处理器中的一个处理 器,将所述中断处理程序指派给所述处理器中的一个处理器。
17.如权利要求16所述的计算机存储介质,其中,接受执行的一个或更多个处理器包 括空闲的或者正在执行优先级低于与所述中断处理程序相关联的优先级的相应任务的每 一个接受处理器核心。
18.如权利要求16所述的计算机存储介质,其中,优选处理器核心由优选处理器核心 的有序列表来指定。
19.如权利要求18所述的计算机存储介质,其中,对所述中断处理程序进行指派包括 按照由优选处理器核心的有序列表的顺序所指定的,将优选给予接受执行的处理器。
20.如权利要求15所述的计算机存储介质,还包括使计算机系统将授权消息传输给 接收对接收到的中断的指派的处理器。
21.一种用于针对多个处理器对外部中断进行最优化的方法,所述方法包括 在与所述处理器中的一个处理器相关联的本地中断控制器处接收提供以执行与中断相关联的中断处理程序,所述提供指定所述中断处理程序的优先级;响应于所述处理器执行优先级低于所述中断处理程序的指定的优先级的任务,确定请 求对所提供的中断的控制;响应于确定请求对所提供的中断的控制,向中断仲裁器请求对所提供的中断的控制;以及响应于从所述中断仲裁器接收到授权,执行所述中断处理程序。
22.如权利要求21所述的方法,还包括维持与所述中断处理程序相关联的优先级以由主中断控制器收回; 响应于接收所述中断,在所述主中断控制器生成所述提供;以及 将所述提供从所述主中断控制器传输到所述本地中断控制器。
23.如权利要求21所述的方法,还包括在所述中断仲裁器接收对于所提供的中断的控制的请求;响应于接收到所述请求以及所述处理器是所述中断处理程序的优选处理器,由所述中 断仲裁器将所述中断处理程序指派给所述处理器;以及响应于将所述中断处理程序指派给所述处理器,将授权从所述中断仲裁器传输给所述 本地中断控制器。
全文摘要
本发明涉及用于多处理器的中断最优化。本文中对技术进行了描述以用于在多处理器计算系统内对中断进行处理。被传递给中断控制器模块的信息可以支持对中断响应资源进行分配,以维持处理器与中断服务例程的联系。通过在先前执行了中断处理程序的处理器上执行特定中断处理程序,该联系可以支持高速缓存效率。高速缓存效率可以与将中断处理程序的执行指派给当前空闲或者当前正在处理较低优先级任务的另一处理器的好处相平衡。
文档编号G06F9/48GK101872315SQ201010124820
公开日2010年10月27日 申请日期2010年2月26日 优先权日2009年4月24日
发明者安德鲁·沃尔夫 申请人:勒斯塔尔技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1