当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于控制执行流程的设备和方法技术

技术编号:13304250 阅读:78 留言:0更新日期:2016-07-09 22:26
各种实施例一般涉及用于在更高功能核与更低功率核之间的协作以最小化在指令的当前执行流程中中断的影响的技术。设备可包括:包括第一指令流水线的更低功率核,更低功率核停止在第一指令流水线中的第一执行流程,并且在第一指令流水线中执行处理程序例程的指令,以执行处理中断的第一任务;以及包括第二指令流水线的更高功能核,更高功能核在第一任务的执行后,在第二指令流水线中调度处理中断的第二任务的指令的执行在第二指令流水线中的第二执行流程后进行,第一任务比第二任务更加时间敏感。本文也描述和主张了其它实施例。

【技术实现步骤摘要】

技术介绍

在计算装置内采用包含一个或更多个相对高功能核的处理器组件,这已变得很常见。此类更高功能核可包含许多处理特征以形成相对深的流水线,其中,多个可执行指令可同时处在执行的各种级。作为确保进入流水线以供执行的随后可执行指令在需要时更容易从此类高速缓存内可用于核的一部分,此类更高功能核也可包含和/或耦合到一个或更多个相对大的高速缓存以加快数据和可执行指令的检索和存储。此类更高功能核可还通过相对成熟形式的分支预测,采用相对成熟的指令预取算法,以增大在高速缓存内可用的可执行指令包括要执行的随后可执行指令的可能性。然而,由于诸如硬件中断和例外等要求指令的当前执行流程更改的事件,对高功能处理器核的体系结构的许多此类添加和改进可能完全消除。
附图说明
图1示出处理系统的一示例实施例。
图2示出在处理器组件的核之间中断的处理的示例分布。
图3A、3B和3C一起示出处理与经网络接收数据相关联的硬件中断的一示例实施例。
图4A、4B、4C、4D和4E一起示出处理页面故障和与从存储装置接收页面相关联的硬件中断的示例实施例。
图5和6每个示出根据一实施例的逻辑流程。
图7示出根据一实施例的处理体系结构。
具体实施方式
各种实施例一般涉及用于在处理器组件的更高功能核与更低功率核之间的协作以最小化在指令的当前执行流程中中断的影响的技术。为清晰起见,考虑到在各种不同计算体系结构中属于字词“k断”的不同含意,术语“中断”在本文中使用时表示由耦合到处理器组件的硬件组件生成的硬件中断和由处理器组件本身的内部逻辑生成的例外,包括至少页面故障。至少一些中断涉及可具有比更高功能核更简单体系结构的更低功率核,包括比更高功能核更小的高速缓存和/或复杂性更低的指令流水线。更低功率核可执行与收到中断相关联的处理程序例程的指令,以执行一个或更多个相对时间敏感的任务和/或要求频繁接入非有序地址位置的任务。此类任务可涉及移动相对小量的数据,与硬件组件的状态和/或控制寄存器的交互和/或协议转换。在这种情况下,更低功率核可汇集或不汇集属于更大量的数据的分开的更小量的数据的列表,和/或可确定那些更小量的数据将被引导到的目的地。在一些实施例中,在此类任务执行后,更低功率核可向更高功能核发送信号,信号带有与一个或更多个收到中断相关联的另外任务将由更高功能核执行的指示。在其它实施例中,更低功率核可以某种方式使更高功能核执行另外任务需要的信息可用,该方式允许更高功能核在由更高功能核在其通常调度的任务之间进行的轮询期间定位该信息。要由更高功能核执行的此类另外任务可以不像更低功率核执行的那些任务一样对时间敏感,使得更高功能处理器核可能能够在执行部分的操作系统和/或部分的一个或更多个应用程序例程中在任务的其正常调度中包括另外的任务。
更低功率核和更高功能核可作为匹配对均包含到单个处理组件中。在一些实施例中,处理器组件可以允许在各种时间使用更低功率核和更高功能核做任意之一或两者的方式构建架构,而由处理器组件执行的操作系统、装置驱动器和/或应用程序例程在任何给定时间不知道这两个核的哪个(些)核在执行每个的指令。然而,在其它实施例中,引导使用哪个核的可能是操作系统本身,或者可甚至引导使用两个核。在一些实施例中,更高功能核和更低功率核可具有执行实质相同的指令集的能力。然而,在其它实施例中,在更低功率核与更高功能核每个执行的指令集之间可存在一定程度的不同。例如,更高功能核可具有高数指令和/或更低功率核不支持的其它特定指令。操作系统、装置驱动器和/或特定应用程序例程可知道这两个核的存在和/或当前在操作一个或另一个核以及知道在每个核支持的指令集中的不同。在每个这些实施例中,操作系统赋予处理器组件访问可存储用于操作系统、装置驱动器和/或特定应用程序例程的可执行指令的地址的各种范围的许可可同样适用于这两个核。因此,更低功率核和更高功能核任意之一可能能够访问相同的存储指令和/或相同的存储数据。更低功率核和更高功能核可在其之间采用多种类型的通信的任何通信,以确保在执行指令中在其之间的相干性。
更低功率核可包含比更高功能核更小的高速缓存和/或比可具乱序执行能力的更高功能核带有更少级的更简单指令流水线。因此,甚至在更低功率核可具有与更高功能核执行实质上相同指令集的能力的实施例中,更低功率核的此类执行可以更低速率消耗电功率,并且处在更低速度。然而,通过更小的高速缓存和/或更简单的指令流水线,在执行当前执行流程的指令时由中断造成的效率损耗不如对更高功能核一样大。处理器组件可配置成在各个模式中操作,包括只操作更低功率核和更高功率核的一个或另一个核的模式。在此类模式期间,可从未操作的这两个核之一取消电功率和/或处理器时钟信号,以降低功耗和/或控制处理器组件消散的热量。然而,处理器组件也可配置成在可同时操作这两个核的模式中操作。此外,处理器组件可基于对处理资源的当前需求,在这些模式外的两个模式之间交换。在更低功率核和更高功能核执行实质上相同指令集的实施例中,处理器组件可在此类模式之间自动实现更改而不涉及操作系统或装置驱动器。然而,在其它实施例中,在此类模式之间的更改可在操作系统的引导下进行,操作系统可被认为对于监视在选择要更改的模式和/或何时进行此类更改方面可能需要考虑在内的因素具有更佳能力。
例如,在操作更高功能核,但对更高功能核的处理资源有着相对低的需求时,可将处理器组件交换(在处理组件的控制下或在操作系统的控制下)到停止操作更高功能核并且操作更低功率核以代替更高功能核来执行操作系统、装置驱动器和应用程序例程的指令的模式。以后,在对处理资源的需求增大,达到更低功率核不能支持的级别时,则可将处理器组件交换到再次操作更高功能核的模式。此外,更高功能核的此类操作可以是除继续操作更低功率核外,通过两个核协作,以更低功率核接收中断的执行,并且至少执行与那些中断相关联的时间敏感的任务的方式处理中断。
作为更低功率核和更高功能核协作处理中断的示例,源于网络接口控制器(NIC),指示数据的接收的中断的指示可被路由到更低功率核以便更低功率核至少在最初时处理。更低功率核可通过访问中断描述表(IDT)以确定与来自NIC的中断相关联的处理程序例程,开始中断的处理,并且随后可开始执行在该地址开始的处理程序的指令。在这种情况下,更低功率核可访问在网络分组缓冲器内由NIC在NIC和处理器组件均可访问的存储位置集存储的数据的一个或更多个收到的分组。更低功率核可检查一个或更多个分组的报头以检索进程、例程、线程或指令的其它类型的执行流程的标识符,并且可采用此类标识符的表格来确定作为一个或更多个分组内数据的预期目的地的执行流程。在更低功率核从网络分组缓冲器中存储的每个分组的报头检索此类标识符时,对于识别为目的地的每个不同执行流程,更低功率核可生成到网络分组缓冲器内目的地为该执行流程的分组的指针的链接列表。
在一些实施例中,在更低功率核确定用于目的地为特定执行流程的数据的足够分组的阈值已达到时,更低功率核可向更高功能核发送信号,信号带有数据已接收以供特定执行流程使用的指示,并且可为更高功能核提供对用于那些分组的链接列表的访问权,以及提供哪个执行流程是链接列表中指本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201510838847.html" title="用于控制执行流程的设备和方法原文来自X技术">用于控制执行流程的设备和方法</a>

【技术保护点】
一种控制执行流程的设备,包括:处理器组件的更低功率核,所述更低功率核包括第一指令流水线,并且所述更低功率核停止在所述第一指令流水线中的第一执行流程,并且在所述第一指令流水线中执行处理程序例程的指令,以执行处理中断的第一任务;以及所述处理器组件的更高功能核,所述更高功能核包括第二指令流水线,并且所述更高功能核在所述第一任务的所述执行后,调度在所述第二指令流水线中处理所述中断的第二任务的指令的执行在所述第二指令流水线中的第二执行流程后进行,所述第一任务比所述第二任务更加时间敏感。

【技术特征摘要】
2014.12.26 US 14/5833081.一种控制执行流程的设备,包括:
处理器组件的更低功率核,所述更低功率核包括第一指令流水线,并且所述更低功率核停止在所述第一指令流水线中的第一执行流程,并且在所述第一指令流水线中执行处理程序例程的指令,以执行处理中断的第一任务;以及
所述处理器组件的更高功能核,所述更高功能核包括第二指令流水线,并且所述更高功能核在所述第一任务的所述执行后,调度在所述第二指令流水线中处理所述中断的第二任务的指令的执行在所述第二指令流水线中的第二执行流程后进行,所述第一任务比所述第二任务更加时间敏感。
2.如权利要求1所述的设备,所述更低功率核以比所述更高功能核更低的速率消耗电功率。
3.如权利要求2所述的设备,所述第二指令流水线包括比所述第一指令流水线更大数量的指令执行级或执行所述第一指令流水线不支持的指令的乱序执行的能力的至少之一。
4.如权利要求2所述的设备,所述更低功率核包括第一高速缓存,所述更高功能核包括第二高速缓存,并且所述第二高速缓存包括比所述第一高速缓存更大数量的高速缓存行或比所述第一高速缓存更大的集关联性的至少之一。
5.如权利要求1所述的设备,包括:
网络分组缓冲器;
网络接口控制器(NIC),耦合所述处理器组件到网络,并且响应接收来自所述网络的分组,在所述分组缓冲器内存储所述分组,并且将所述中断传送到所述处理器组件;以及
中断路由器,接收来自所述NIC的所述中断的所述传送,并且将所述中断的接收的指示与作为所述中断的来源的所述NIC的标识符一起传递到所述处理器组件。
6.如权利要求5所述的设备,在所述第一指令流水线中执行所述处理程序例程的指令时,所述更低功率核从所述网络分组缓冲器内存储的多个分组的每个分组检索标识符,所述标识符指示所述多个分组的每个分组被引导到的执行流程。
7.如权利要求6所述的设备,在所述第一指令流水线中执行所述处理程序例程的指令时,所述更低功率核生成列出与目的地执行流程相关联的所述多个分组的一个或更多个分组的队列,并且在网络队列缓冲器中存储所述队列。
8.如权利要求7所述的设备,包括操作系统的数据传送组件,供所述更高功能核执行,以作为所述第二任务,检索所述队列和将所述队列中来自所述一个或更多个分组的数据从所述网络数据缓冲器复制到在与所述操作系统的系统上下文分开的用户上下文中存储的应用程序例程的应用程序数据缓冲器,所述应用程序例程包括目的地执行流程。
9.一种用于控制执行流程的计算机实现的方法,包括:
响应中断,停止在处理器组件的更低功率核的第一指令流水线中的第一执行流程;
响应所述中断,由所述更低功率核检索处理程序例程的地址;
在所述第一指令流水线中执行所述处理程序例程的指令以执行处理所述中断的第一任务;以及
在由所述更低功率核执行所述第一任务后,由所述处理器组件的更高功能核调度在所述更高功率核的所述第二指令流水线中所述中断的所述处理的第二任务的指令的执行在所述第二指令流水线中的第二执行流程后进行,所述第一任务比所述第二任务时间更加时间敏感。
10.如权利要求9所述的计算机实现的方法,所述方法包括:
基于所述处理器组件对资源的需求级别,动态将所述处理器组件置于其中操作所述更低功率核和所述更高功能核两者以执行指令的第一模式中,或者置于其中操作所述更低功率核以执行指令,并且不操作所述更高功能核执行指令的第二模式中;以及
基于将所述处理器组件置于所述第一模式还是所述第二模式,选择所述更低功率核或所述更高功能核以引导所述中断。
11.如权利要求9所述的计算机实现的方法,所述方法包括在所述更低功率核接收来自将所述处理器组件耦合到网络的网络接口控制器(NIC)的所述中断的传送和作为所述中断的来源的所述NIC的标识符,所述NIC响应接收来自所述网络的分组而传送所述中断。
12.如权利要求11所述的计算机实现的方法,所述方法包括在所述第一指令流水线中执行所述处理程序例程的指令时,从所述网络分组缓冲器内存储的多个分组的每个分组检索标识符,所述标识符指示所述多个分组的每个分组被引导到的执行流程。
13.如权利要求12所述的计算机实现的方法,所述方法包括:
在所述第一指令流水线中执行所述处理程序例程的指令时,生成列出与目的地执行流程相关联的所述多个分组的一个或更多个分组的队列;
在执行所述处理程序例程的指令时,在网络...

【专利技术属性】
技术研发人员:E塔米尔BZ弗里伊德曼
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1