用于多处理器的动态调度中断控制器制造技术

技术编号:3944895 阅读:165 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种用于多处理器的动态调度中断控制器。本发明专利技术一般地描述了用于在多处理器计算系统中处理中断的技术。可以维护与多处理器计算系统的各处理器的当前任务关联的优先级水平。也可以维护与各处理器关联的高速缓存状态信息。在接收到至多处理器计算系统的中断时,可以基于维护的高速缓存状态信息确定各处理器的高速缓存局部性分数。可以计算针对各处理器平衡优先级水平和高速缓存局部性分数的值。可以基于所计算的值来确定用于为中断服务的处理器。可以用信号通知所确定的处理器为中断服务。跟踪与处理器核相关的状态信息可以支持快速地将到达的中断分配给处理器核,而无需在中断时间收集处理器核状态信息。

【技术实现步骤摘要】
用于多处理器的动态调度中断控制器
技术介绍
中断可以用信号通知计算系统要通过执行中断处理程序来服务的事件,该中断处 理程序也可已知为中断服务例程(ISR)。这种信号事件可以称为中断请求(IRQ)。处理器 可以经过上下文切换来从其当前任务转换到执行与所接收到的中断关联的中断处理程序。 从当前处理器任务的转换可以认为是中断当前任务。在多处理器计算系统中将接收到的中 断分配给特定的处理器或者处理器核来进行执行会导致额外的复杂化。关于这些考虑以及 其他考虑提出了本专利技术。附图说明本专利技术的上述特征和其他特征由下面的描述和所附的权利要求结合附图变得更 为完全清楚。这些附图理解为仅仅描绘了根据本专利技术的一些实施例,并且因此不能认为对 其范围进行限制,本专利技术将通过使用附图以附加的特性和细节来进行描述,其中图1是示出了多处理器的工作环境的框图;图2是示出了具有中断控制器的多核处理器的框图;图3是示出了在多核处理器内的中断控制器的框图;图4是示出了中断控制器使用的核处理器状态信息的数据结构图;图5是示出了用于将中断指派给当前空闲或者为最低优先级任务服务的处理器 核的过程的流程图;图6是示出了用于基于高速缓存(cache)状态信息将中断指派给处理器核的过程 的流程图;图7是示出了用于基于组合的优先级和高速缓存状态信息将中断指派给处理器 核的过程的流程图;并且图8是示出了示例性的计算系统的框图,该计算系统都是根据这里提出的实施例 中的至少一些实施例来布置的。具体实施例方式在下面的详细描述中参照附图,这些附图形成公开内容的一部分。在图中,相似的 符号通常标识相似的部件,除非上下文给出相反的指示。在详细的描述中描述的说明性的 实施例、附图和权利要求并非旨在进行限制。可以利用其他的实施例,并且可以进行其他 修改,而并未脱离本专利技术提出的主题的精神或者范围。容易理解,本专利技术的方面,如这里一 般地描述的以及在附图中所示出的那样,可以在不同配置的各种变化中进行布置、替换、组 合、分离和设计,它们全都是这里所明确预期的。下面的公开内容尤其是涉及与将中断分配给多处理器中的特定处理器核的技术 相关的方法、装置、系统和计算机程序产品。通过使用这里所提出的技术和概念,中断控制 器可以基于处理器核可用性的各种度量的评估和被高速缓存的、与中断的中断处理程序相 关的数据以及指令的位置来动态地将中断指派给处理器核。现在参照附图,其中在多个附图中同样的数字表示同样的元件,其中描述了在多处理器系统中的中断优化方面。这里所描述的技术一般地涉及在多处理器计算系统中处理中断。可以维护与多处 理器计算系统的各处理器的当前任务关联的优先级水平。也可以维护与各处理器关联的高 速缓存状态信息。当接收到至多处理器计算系统的中断时,可以基于所维护的高速缓存状 态信息来确定各处理器的高速缓存局部性分数(cache locality score)。可以计算针对各 处理器平衡优先级水平和高速缓存局部性分数的值。可以基于所计算的值来确定用于为中 断服务的处理器。可以用信号通知所确定的处理器来为中断服务。跟踪与处理器核相关的 状态信息可以支持快速地将中断分配给处理器核,而无需延迟用以在中断时间从处理器核 收集状态信息。现在回到图1,功能性框图100示出了根据这里说明的实施例的多处理器110的 工作环境。多处理器110可以合并多个处理器或者处理器核。多核通常可以支持并行处 理、并行任务、并行线程、分离的顺序过程或者它们的任意组合。多处理器110可以访问存 储器120。多处理器110可以对存储器120进行读取和写入。这种读和写可以与同多处理 器110的多核工作关联的指令及数据相关。通常,在多处理器110内的每个处理器核可以 单独地访问存储器120。存储器120可以是随机存取存储器(RAM)、静态RAM(SRAM)、动态 RAM(DRAM)、同步DRAM (SDRAM)或者任意类型的易失性或者非易失性存储器。与多处理器110的多个核上的工作关联的指令和数据可以被存储在存储介质130 装置上。存储介质130可以支持信息的非易失性存储。存储介质130可以被多处理器110 内的多个处理器核访问。存储介质130可以存储用于在多处理器110内的多个处理器核上 执行的软件132。例如(并不作为限制),计算机可读介质可以包括计算机存储介质和通 信介质。计算机存储介质可以包括以用于存储信息如计算机可读的指令、数据结构、程序 模块或者其他数据的任意方法或者技术来实现的易失性、非易失性、可移动以及不可移动 介质。计算机存储介质可以包括(但并不局限于)RAM、只读存储器(ROM)、可擦除可编程 ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、其他固态存储器技术、光盘(CD-ROM)、数 字多用盘(DVD)、高清DVD、蓝光盘、其他光学存储装置、磁盒、磁带、磁盘存储装置、其他磁 性存储设备、或者可以用于存储所希望的信息以及可以被多处理器110访问的任意其他介 质。与多处理器110关联的软件132或者其他指令、代码、模块或者程序可以包括用于 对中断事件进行响应的模块。这种模块可以称为中断服务例程(ISR)或者动态调度中断处 理程序134。动态调度中断处理程序134可以被配置用于如这里所提出的那样支持中断的 动态调度。中断处理程序134可以响应于在多处理器110处接收到关联的中断来被执行。 中断处理程序134可以与特定的中断事件、中断的特定原因、中断的来源或者特定的中断 信号线关联。中断处理程序134可以中断或者抢占与多处理器110关联的其他操作。这种 抢占可以支持快速响应于中断到达多处理器110来执行中断处理程序134。快速响应可以 支持各种软件模块的实时的、硬实时的、软实时的或者近实时的操作。中断处理程序134模 块的一个例子可以与设备驱动器或者其他软件、固件关联,或者是与支持外部设备关联的 模块。被支持的设备或者关联的接口电路可以认为是与设备驱动器、ISR或者中断处理程序 134关联的中断的来源。在接收到中断信号时,所关联的中断处理程序134可以立即执行、 在特定的时限内执行或者根据与中断处理程序134和其他操作关联的优先级水平来执行。外部时钟140可以提供时钟信号给多处理器110。外部时钟140可以包括晶体振 荡器或者任意其他时钟或者振荡器源。外部时钟140可以包括时钟驱动器电路。与外部时 钟140关联的时钟信号可以用于将多处理器110内的各个电路定时和同步。多处理器110 也可以接口到实时时钟(RTC) 145。实时时钟145可以用于维护人类的时间,例如时刻、星期 几、日历日、年等等。RTC 145可以生成与定时器、报警器或者看门狗(watchdog)电路有关 的至多处理器110的中断事件。接口至多处理器110的各种设备可以生成中断。这种中断可以用信号通知多处理 器110响应于中断请求服务。可以执行中断处理程序134来服务设备的中断。作为非限制 性的例子,在图1中示出了一些不同的设备。例如中断设备可以是网络接口 150。网络接 口 150可以用于附接到网络155上。当从网络155接收到数据包时,网络接口 150可以生 成中断。于是,可以执行与网络接口 150关联的中断处理程序134来从本文档来自技高网...

【技术保护点】
一种用于在多处理器计算系统中处理中断的方法,包括:在多处理器计算系统中维护与各处理器关联的状态信息;接收至多处理器计算系统的中断;基于状态信息来选择为中断服务的处理器;以及用信号通知所选择的处理器为中断服务。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:安德鲁沃尔夫
申请(专利权)人:勒斯塔尔技术有限责任公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1