多处理器系统中的操作系统管理的中断引导的制作方法_2

文档序号:9620856阅读:来源:国知局
)、非易失性的(例如R0M、闪存器等)或这两者的某种组合。该配置在图1中通过虚线106图示出。
[0024]附加地,计算机100还可以具有附加特征/功能性。例如,计算机100还可以包括附加存储装置(可移除的和/或非可移除的),所述附加存储器包括但不限于磁或光盘或者磁带。这样的附加存储装置在图1中通过可移除存储器108和非可移除存储器110图示出。计算机存储介质包括用任何用于存储信息的方法或技术实施的易失性和非易失性、可移除和非可移除介质,所述信息诸如是计算机程序指令、数据结构、程序模块或其他数据。存储器104、可移除存储装置108和非可移除存储装置110全部是计算机存储介质的示例。计算机存储介质包括但不限于:RAM、ROM、EEPR0M、闪存器或其他存储器技术,CD-ROM、数字多功能光盘(DVD)或其他光存储装置,盒式磁带、磁带、磁盘存储装置或其他磁存储设备,或者任何其他可以用于存储信息并且可以被计算机100访问的介质。任何这样的计算机存储介质可以是计算机100的部分。
[0025]计算机100还可以包含(一个或者多个)通信连接112,其允许设备通过通信介质与其他设备进行通信。通信介质通常在诸如载波或其他传输机制之类的已调制数据信号中携带计算机程序指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“已调制数据信号”意味着如下这样的信号,即:该信号使其特性中的一个或多个以使得将信息编码在该信号中的方式被设置或改变,由此改变该信号的接收设备的配置或状态。作为示例并且不是限制,通信介质包括:诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外和其他无线介质之类的无线介质。通信连接112是如下这样的设备,即:所述设备与通信介质接合以便通过通信介质传输数据和从通信介质接收数据,其诸如是网络接口。
[0026]计算机100可以具有诸如键盘、鼠标、笔、相机、触摸输入设备等的各种(一个或者多个)输入设备114。还可以包括诸如显示器、扬声器、打印机等的(一个或者多个)输出设备116。这些设备的全部是本领域中众所周知的,并且不需要在此处详尽地讨论。各种输入和输出设备可以实施自然用户界面(NUI),其是使用户能够以“自然的”方式与设备进行交互,而摆脱由诸如鼠标、键盘、遥控器等的输入设备施加的人为约束的任何界面技术。
[0027]NUI方法的示例包括那些依赖于语音识别、触摸和触笔识别、在屏幕之上和邻近屏幕处的手势识别、空中手势、头和眼跟踪、话音和语音、视觉、触摸、手势和机器智能的技术,并且可以包括使用触摸敏感显示器、话音和语音识别、意图和目标理解、使用深度相机(诸如立体相机系统、红外相机系统和其他相机系统以及这些的组合)的运动手势检测、使用加速度计或陀螺仪的运动手势检测、面部识别、三维显示器、头、眼和凝视跟踪、沉浸式增强现实和虚拟现实系统,这些全部提供更自然的界面,以及用于使用电场感测电极来感测脑活动的技术(EEG和相关方法)。
[0028]在计算机上操作的该系统的每个构件一般通过诸如一个或多个计算机程序之类的软件来实施,所述计算机程序包括被计算机处理的计算机可执行指令和/或计算机解译的指令,诸如程序模块。一般说来,程序模块包括当被处理单元处理时指导该处理单元执行特定任务或实施特定抽象数据类型的例程、程序、对象、构件、数据结构等。该计算机系统可以在分布式计算环境中来实践,其中,任务由通过通信网络链接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
[0029]可替换地或另外,在本文中描述的功能性可以至少部分由一个或多个硬件逻辑构件来执行。例如并且不限于,可以使用的图示类型的硬件逻辑构件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(S0C)、复杂可编程逻辑器件(CPLD)等。
[0030]给定诸如上面所述的计算机,则在运行时在多个处理器中执行动态中断引导的基于操作系统的中断路由器假设该计算机包括具有多个处理器的上文的中央处理单元(例如图1中的120)。在本文中术语“处理器”的使用旨在包括任何逻辑处理器,其包括但不限于硬件处理器的单一实例、多个处理器中的一个、多核处理器中的一个“核”或者任何其他可以独立于其他处理单元而被管理的处理单元。
[0031]中断处理一般由操作系统、固件或计算机上的其他低级软件来管理。在一个实施方案中,操作系统包括内核中的中断路由器,该中断路由器在处理器中的一个或多个上被执行,并且动态地将中断引导到处理器的子集,所述处理器的子集可以包括该中断路由器在其上被执行的处理器。可替换地,操作系统的其他构件、硬件抽象层、固件或计算机的其他低级计算机程序可以实施这样的功能性。
[0032]现在参考图2,现在将在图示示例的上下文中描述这样的系统的示例实施方案。在图2中,存在通过总线208互连的四个处理器200、202、204和206,每个具有相应的用于跟踪关于被该处理器处理的中断的信息的中断数据210、212、214和216。每个处理器还具有分别用于处理来自各种中断源的中断的一个或多个中断句柄220、222、224、226的集合。系统还包括中断路由器250,该中断路由器250是管理对多处理器计算机中的资源的访问的操作系统的部分。中断路由器250周期性地从处理器获取中断数据210、212、214、216。该中断路由器可以是在处理器中的一个或多个上执行的软件构件,或者可以由硬件构件来实施或支持。该中断路由器基于中断数据确定中断源到处理器指派,并且采用所述指派来设置中断控制器(未示出),以将系统中的中断定向到其被指派的处理器。
[0033]应当理解,图2中的处理器数量(S卩,四个)仅是图示性的,并且不是对本发明的限制。进一步地,中断路由可以由系统中的处理器的子集来执行。图2仅图示出了参与中断路由的多处理器系统的处理器子集的示例。
[0034]现在参考图3,现在将描述被中断路由器250维护和使用的、用于对来自多个处理器的中断数据进行汇聚的数据结构300的示例实施方案。数据结构300包括中断源的列表302。列表302中的每个条目304表示中断源,并且指向数组306,所述数组306表示针对来自该源的中断的(一个或者多个)中断句柄。数组306包括表示每个中断句柄的条目308。条目308指向指针314的列表310,所述指针314指向由每个处理器针对该中断句柄所维护的、用于存储针对该处理器的中断数据的数据结构312,所述中断数据包括关于置于与该中断句柄相关的处理器上的负载的数据。下面将详细描述该数据结构如何被每个处理器和中断路由器如何监视当前系统状态。应当理解,其他数据结构可以用于汇聚和存储用于被中断路由器使用的每处理器、每中断句柄性能数据,并且前述仅是示例。
[0035]未示出的其他数据结构包括,针对每个处理器的、作为针对每个处理器的中断数据的部分的、对指派给该处理器的中断源数量的计数。附加地,当前中断源对处理器指派的列表也被中断路由器存储。
[0036]将中断引导到不同处理器一般涉及四个步骤。第一,中断路由器标识系统中的可用处理器中
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1