共享资源访问控制方法和装置与流程

文档序号:11288459阅读:295来源:国知局
共享资源访问控制方法和装置与流程

相关申请

本申请要求于2015年3月25日提交的题为“sharedresourceaccesscontrolmethodandapparatus(共享资源访问控制方法和装置)”的美国申请号14/668,044的优先权。

本公开涉及计算领域。更具体地,本公开涉及用于监测和控制由多核处理器的各个核对共享资源进行的访问的装置和方法。



背景技术:

本文中所提供的背景描述是为了总体上呈现本公开的背景的目的。除非在本文中另外指出,否则本节中所描述的材料对于本申请的权利要求书而言并非现有技术,并且不因为包括在本节中而被承认是现有技术。

当实时应用与其他应用在具有多个核和共享末级高速缓存(llc)的处理器上同时运行时,当在其他核上运行的其他应用在短时间段内发出较大数量的llc或存储器引用时,系统的共享llc和存储器可能会变得拥塞。这种共享资源拥塞表现为更高的llc等待时间和存储器等待时间,这可能导致实时应用失效。

附图说明

结合附图,借助于以下具体实施方式将很容易理解实施例。为了方便本描述,相似的参考号指代相似的结构元件。在附图的各图中通过示例的方式而不是通过限制的方式展示了实施例。

图1展示了根据各个实施例的具有本公开的共享资源访问控制技术的计算安排。

图2展示了根据各个实施例的用于根据核的对应访问预算来监测和控制对共享资源的核访问的示例过程。

图3展示了根据各个实施例的用于将控制寄存器和多个性能计数器配置成用于根据核的对应访问预算来监测和控制对共享资源的核访问的示例过程。

图4展示了根据各个实施例的用于处理核达到其访问预算的示例过程。

图5展示了根据各个实施例的适合用于实践本公开的方面的示例计算机系统。

图6展示了根据各个实施例的具有用于使装置能够实践本公开的方面的指令的存储介质。

具体实施方式

本文公开了与监测和控制对共享资源的核访问相关联的装置、方法和存储介质。在实施例中,一种装置可以包括处理器,所述处理器具有多个核;资源(例如,llc或存储器),所述资源与所述处理器耦合以便在所述多个核当中被共享;以及多个性能计数器,所述多个性能计数器相应地与所述多个核相关联,以便存储所述多个核的对所述共享资源的访问预算。所述装置还可以包括性能监测器,所述性能监测器用于根据所述多个核的存储在所述性能计数器内的对应访问预算来管理由所述多个核对所述共享资源进行的访问。下文将进一步详细地描述本公开的共享资源访问控制技术的这些和其他方面。

在以下具体实施方式中,将参考形成所述具体实施方式的一部分的附图来描述共享资源访问控制技术,在附图中,相似的标号通篇指代相似的部件,并且在附图中通过展示的方式示出了可以实践的实施例。应当理解的是,在不背离本公开的范围的情况下,可以利用其他实施例并且可以作出结构或逻辑改变。因此,以下具体实施方式不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其等效物来限定。

在所附的说明中公开了本公开的方面。可以在不脱离本公开的精神或范围的情况下设计本公开的替代性实施例及其等效物。应注意的是,在附图中由相似的参考号来指代在下文中公开的相似元素。

可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立动作或操作。

然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。具体地,可以不按呈现的顺序来执行这些操作。可以按与所描述的实施例不同的顺序来执行所描述的操作。可以执行各种附加的操作和/或可以在附加实施例中省略所描述的操作。

为了本公开的目的,短语“a和/或b”意指(a)、(b)或(a和b)。为了本公开的目的,短语“a、b和/或c”意指(a)、(b)、(c)、(a和b)、(a和c)、(b和c)或(a、b和c)。

本说明书可以使用短语“在实施例中(inanembodiment)”或“在实施例中(inembodiments)”,所述短语可以各自指相同或不同的实施例中的一个或多个实施例。此外,如关于本公开的实施例使用的术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义的。

如本文使用的,术语“模块”可以指代以下各项、是以下各项的一部分或包括以下各项:专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或群组)和/或存储器(共享、专用或群组)、组合逻辑电路和/或提供所描述的功能的其他适合部件。

现在参照图1,其中,示出了根据各个实施例的具有本公开的共享资源访问控制技术的计算安排。如所展示的,计算设备100可以包括处理器102,所述处理器具有多个核104a至104d;以及一个或多个资源106(如,llc、存储器等),所述一个或多个资源与核104a至104d耦合并在所述核当中被共享。此外,计算设备100可以进一步包括性能监测器108,所述性能监测器配置成用于根据核104a至104d的对应访问预算来监测和控制由核104a至104d对一个或多个资源106的访问。在实施例中,访问预算可以根据预算量子设置(例如,对于x毫秒),和/或根据访问事件类型设置(例如,在llc访问与存储器访问之间的具有区别)。

在实施例中,计算设备100可以进一步包括控制寄存器110和性能计数器112。控制寄存器110可以配置成用于存储指示核104a至104d中的哪些核(如果有的话)将对所启用的共享资源106具有基于预算的访问控制的控制数据。此外,控制寄存器110还可以配置成用于存储指示各种访问预算的下个预算检查时间的控制数据。性能计数器112可以配置成用于存储对应访问预算。在实施例中,每个性能计数器112可以配置成用于存储针对所有或一个访问事件类型的预算时间量子的访问预算。进一步地,每个性能计数器112可以配置成用于通过存储等于溢出值减去预算时间量子的访问预算的值来隐含地存储预算时间量子的访问预算,从而使得在预算时间量子内达到访问预算时将会发生性能计数器112的溢出。仍进一步地,计算设备100可以进一步包括用于触发/生成处理器102的中断114(例如,不可屏蔽中断)的电路系统(未示出),并且每个性能计数器112可以配置成用于使所述电路系统触发/生成如溢出中断。

对于通过图1描绘的实施例,控制寄存器110和性能计数器112被示出为性能监测器108的一部分。对于这些实施例,性能监测器108可以是具有被实施为硬件组件的固件的监测和控制逻辑的硬件组件。在替代性实施例中,控制寄存器110可以被实施为处理器102的一部分,而性能监测器112可以被分别实施为核104a至104d的一部分。对于这些替代性实施例,监测和控制逻辑可以被实施为计算设备100的操作系统(os)或管理程序(未示出)的一部分。在仍其他实施例中,反而可以采用多个控制寄存器。

仍参照图1,对于图1的具有配置成用于在预算时间量子内达到核的共享资源的访问预算时使中断114被触发/生成的性能计数器112的实施例,如所示出的,计算设备100可以进一步包括与处理器102、性能监测器108以及共享资源106耦合的只读存储器(rom)116。rom116可以包括当被触发/生成时对中断114进行服务的中断处理程序118。在替代性实施例中,中断处理程序118可以驻留在其他易失性或非易失性存储器中。

尽管为了便于理解已经描述了具有四(4)个核104a至104d的处理器102,但本公开不限于此。可以使用具有两(2)个或更多个核的多个多核处理器中的任何多核处理器来实践本公开的共享访问控制技术。

现在参照图2,其中,示出了根据各个实施例的用于根据核的对应访问预算来监测和控制对共享资源的核访问的示例过程。如所展示的,用于根据核的对应访问预算来监测和控制对共享资源的核访问的过程200可以包括在框202至208处执行的操作。可以例如由图1的之前描述的性能监测器108来执行所述操作。

过程200可以开始于框202。在框202处,可以配置计算设备的控制寄存器和各个性能计数器。如之前描述的,控制寄存器可以配置成用于存储指示计算设备的处理器的处理器核中的哪些处理器核(如果有的话)将对所启用的共享资源具有基于预算的访问控制的控制数据。进一步地,控制寄存器可以配置成用于存储处理器核中将对共享资源具有基于预算的访问控制的每个处理器核的指示下个预算检查时间(基于访问预算的预算时间量子)的控制数据。如之前同样描述的,每个性能计数器对应于将对所启用的共享资源具有基于预算的访问控制的处理器核,可以配置成用于存储处理器核的针对所有或一个访问事件类型的预算时间量子的访问预算。在实施例中,每个性能计数器可以配置成用于通过存储等于溢出值减去预算时间量子的访问预算的值来隐含地存储预算时间量子的访问预算,从而使得在预算时间量子内达到访问预算时将会发生性能计数器的溢出。进一步地,每个性能计数器112可以配置成用于使中断电路系统触发/生成溢出中断。

在框204处,可以监测对共享资源的访问。在没有检测到对共享资源的访问时,过程200可以停留在框204处。在检测到由处理器核对共享资源进行的访问时,过程200可以前进到框206。在框206处,可以更新相应性能计数器以反映访问的进行。在性能计数器配置成用于在达到访问预算时溢出的实施例中,可以增大性能计数器以反映进行的访问。在更新性能计数器未导致溢出时,过程200可以返回至框204,并且如之前所描述的从所述框处继续。

然而,在更新性能计数器导致溢出时,过程200可以前进至框208。在框208处,可以对中断进行服务。在对中断进行服务时,过程200可以返回至框204,并且如前所述的从所述框处继续。

现在参照图3,其中,示出了根据各个实施例的用于将控制寄存器和多个性能计数器配置成用于根据核的对应访问预算来监测和控制对共享资源的核访问的示例过程。如所展示的,用于将控制寄存器和多个性能计数器配置成用于根据核的对应访问预算来监测和控制对共享资源的核访问的过程300可以包括在框302至320处执行的操作。在实施例中,可以例如由图1的性能监测器108来执行操作。

过程300可以开始于框302。在框302处,可以切换与启用核对共享资源(针对访问事件类型)进行基于预算的访问控制相关联的开关。在框304处,可以确定将对共享资源(针对访问事件类型)具有基于预算的访问控制的核。在框306处,可以判定是否已经针对所述核启用了对共享资源(针对访问事件类型)的基于预算的访问控制。在确定了已经针对核启用了对共享资源(针对访问事件类型)的基于预算的访问控制时,过程300可以前进至框320。在框320处,可以禁用所述核对共享资源(针对访问事件类型)的基于预算的访问控制。之后,过程300可以结束。

另一方面,如果还没有针对所述核启用对共享资源(针对访问事件类型)的基于预算的访问控制,则过程300可以前进至框308。在框308处,可以获得当前核节拍。接下来,在框310处,可以设置所述核的下个预算检查时间(针对访问事件类型)。在实施例中,可以将所述核的下个预算检查时间(针对访问事件类型)设置成等于当前节拍加上核的预算时间量子(针对访问事件类型)之和。在框312处,可以针对所述核启用对共享资源(针对访问事件类型)的基于预算的访问控制。

在框324处,如之前描述的,可以将相应性能计数器设置成用于存储核的用于访问共享资源(针对访问事件类型)的预算时间量子的访问预算。在实施例中,访问预算和预算时间量子可以是默认的和/或随着时间而从计算设备的操作经验中习得的。在其他实施例中,可以向管理员提示访问预算和预算时间量子。

在框316处,对于采用中断机制来对已经达到的访问预算进行寻址的实施例,性能计数器可以配置成用于使中断(例如,nmi)在达到访问预算时(例如,当性能计数器溢出时)被触发。然后,在框318处,可以通知性能监测器根据访问预算开始监测和控制由核对共享资源(针对访问事件类型)进行的访问。之后,过程300可以结束。

现在参照图4,其中,示出了根据各个实施例的用于处理核达到其用于访问共享资源(针对访问事件类型)的访问预算的示例过程。如所展示的,用于处理核达到其用于访问共享资源(针对访问事件类型)的访问预算的过程400可以包括在框402之416处执行的操作。在实施例中,可以例如由图1的中断处理程序118来执行操作。

过程400可以开始于框402。在框402处,在接收到执行控制时,可以确定当前核。接下来,在框404处,可以判定是否启用当前核的对共享资源(针对访问事件类型)的基于预算的访问控制。如果未启用当前核的对共享资源(对于访问事件类型)的基于预算的访问控制,则过程400可以前进至框416,在所述框处,过程400可以结束。对于中断处理程序实施例,中断处理程序可以退出。

另一方面,如果在框404处确定启用了当前核的对共享资源(针对访问事件类型)的基于预算的访问控制,则过程400可以前进至框406。在框406,可以例如通过对当前核的某些控制寄存器进行读取来获得当前核的核节拍。在框408处,可以判定当前节拍是否大于下个预算检查时间。如果判定的结果指示当前节拍大于下个预算检查时间,则过程400可以前进至框412。然而,如果判定的结果指示当前节拍不大于下个预算检查时间,则过程400可以首先前进至框410。在框410处,可以自旋当前核,直到当前核的当前节拍等于下个预算检查时间。

在框412处,无论是直接从框408进入还是已经在框410处自旋当前核之后进入,可以将下个预算检查时间设置成等于当前核的当前节拍与当前核的预算时间量子(针对访问事件类型)之和。然后,在框414处,可以清除溢出,并且可以再次使性能计数器重置有访问预算。从框414起,过程400可以前进至框416,在所述框处,过程400可以结束。对于中断处理程序实施例,中断处理程序可以退出。

图5展示了适用于实践本公开的共享接入控制技术的各个方面的示例计算机系统。如所示出的,计算机500可以包括一个或多个多核处理器502,每个多核处理器具有多个核和由所述核共享的llc503。进一步地,每个多核处理器502可以包括图1的之前描述的控制寄存器110,并且每个核可以包括图1的相应性能计数器112。

计算机500可以进一步包括rom505、系统存储器504和大容量存储器506。在实施例中,rom502可以包括多个中断处理程序(具体地,图1的中断处理程序118),并且可以采用系统存储器504来存储实施管理程序/操作系统和各个应用(统称为计算逻辑522)的编程指令的工作副本。在实施例中,管理程序/操作系统可以包括图1的性能监测器108的监测和控制逻辑。可以采用大容量存储设备506来存储实施计算逻辑522的编程指令的永久副本。在实施例中,计算逻辑522可以由(多个)处理器502所支持的汇编指令或可以编译成这种的指令的高级语言(如例如,c)来实施。

进一步地,计算机500可以包括输入/输出设备接口508(用于与如显示器、键盘、光标控制设备等i/o设备接口连接)和通信设备(如网络接口卡、调制解调器等)的通信接口510。元件可经由可以表示一条或多条总线的系统总线512彼此耦合。在多条总线的情况下,所述元件可以通过一个或多个总线桥(未示出)桥接。此外,计算机500可以包括大容量存储设备506(如软盘、硬盘驱动器、光盘只读存储器(cd-rom)等)。

这些元件510至512的数量、能力和/或容量可以根据计算机500是用作客户端还是服务器设备而变化。具体地,当用作客户端设备时,这些元件510至512的能力和/或容量可以根据客户端设备是固定设备还是移动设备(像智能电话、计算平板计算机、超级本或膝上型计算机)而变化。除了本公开的共享资源访问控制技术,元件510至512的构成是已知的,并且因此将不会进一步描述。

图6展示了可以适合用于存储指令的示例计算机可读非瞬态存储介质,所述指令响应于由装置执行而使装置实践本公开的所选方面。如所示出的,非瞬态计算机可读存储介质602可以包括多个编程指令604。编程指令604可以配置成用于使设备(例如,计算机500)能够响应于对编程指令的执行而执行例如与图1的性能监测器108和/或中断处理程序118相关联的各种操作。在替代性实施例中,反而可以将编程指令604布置在多个计算机可读非瞬态存储介质602上。在替代性实施例中,可以将编程指令604布置在计算机可读瞬态存储介质602(如信号)上。

返回参考图5,对于一个实施例,处理器502中的至少一个处理器可以与具有性能监测器108和/或中断处理程序118的监测和控制逻辑的存储器封装在一起。对于一个实施例,处理器102中的至少一个处理器可以与具有性能监测器108的监测和控制逻辑和/或中断处理程序118的存储器封装在一起以形成系统级封装(sip)。对于一个实施例,处理器102中的至少一个处理器可以与具有性能监测器108和/或中断处理程序118的监测和控制逻辑的存储器集成在相同的管芯上。对于一个实施例,处理器102中的至少一个处理器可以与具有性能监测器108和/或中断处理程序118的监测和控制逻辑的存储器封装在一起以形成片上系统(soc)。对于至少一个实施例,可以在(例如但不限于)可穿戴设备、智能电话或计算平板计算机中利用soc。

因此,已经描述了本公开的各个示例实施例,其包括但不限于:

示例1可以是计算设备,包括处理器,所述处理器具有多个核;资源,所述资源与所述处理器耦合以便在所述多个核当中被共享;所述计算设备可以进一步包括多个性能计数器,所述多个性能计数器相应地与所述多个核相关联,以便存储所述多个核的对所述共享资源的访问预算;以及性能监测器,所述性能监测器与所述处理器、所述资源以及所述性能计数器相耦合,所述性能监测器用于根据存储在所述性能计数器内的所述多个核的对应访问预算来管理由所述多个核对所述共享资源进行的访问。

示例2可以是示例1,进一步包括控制寄存器;其中,所述性能监测器可以进一步与所述控制寄存器耦合,并且结合所述性能计数器使用所述控制寄存器以根据所述多个核的对应访问预算来管理由所述多个核对所述共享资源进行的访问。

示例3可以是示例2,其中,所述性能监测器可以进一步配置所述控制寄存器以表示所述多个核中的哪些核将对所启用的所述共享资源具有基于预算的访问控制。

示例4可以是示例3,其中,所述性能监测器可以进一步配置所述控制寄存器以对于将对所启用的所述共享资源具有基于预算的访问控制的所述多个核中的每一个核表示下个预算检查时间,所述下个预算检查时间基于预算时间量子。

示例5可以是示例2,其中,所述控制寄存器可以是所述性能监测器的一部分。

示例6可以是示例权利要求2,其中,所述控制寄存器可以是所述处理器的一部分。

示例7可以是示例1,其中,所述性能监测器能以针对预算时间量子的访问预算来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每个性能计数器。

示例8可以是示例7,其中,针对预算时间量子的所述访问预算可以与所述共享资源的访问事件的类型相关联。

示例9可以是示例7,其中,所述性能监测器能以等于溢出值减去针对所述预算时间量子的所述访问预算的值来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器。

示例10可以是示例9,其中,所述性能监测器可以配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器以生成溢出中断。

示例11可以是示例7,其中,所述性能计数器可以是所述性能监测器的一部分。

示例12可以是示例7,其中,所述性能计数器可以是所述处理器的一部分。

示例13可以是示例1至12,其中,所述性能监测器可以监测由所述多个核对所述共享资源进行的访问,并且在检测到由核对所述共享资源进行的访问时,如果所述访问核对所启用的所述共享资源具有基于预算的访问控制,则更新相应的性能计数器。

示例14可以是示例13,其中,所述性能监测器可以在从所述相应的性能计数器检测到将对所启用的所述共享资源具有基于预算的访问控制的核表示为已经达到所述核针对预算时间量子的访问预算的指示时,拒绝所述核对所述共享资源进行进一步访问。

示例15可以是示例14,进一步包括中断处理程序,所述中断处理程序将被给予执行控制以便响应于中断而拒绝对所启用的所述共享资源具有基于预算的访问控制的所述核对所述共享资源进行进一步访问,,所述中断由于相应的性能计数器达到将所述核表示为已经达到所述核针对所述预算时间量子的访问预算的条件而生成。

示例16可以是示例15,其中,在被给予执行控制时,所述中断处理程序可以:确定当前核;判定是否针对所述当前核启用了对所述共享资源的基于预算的访问控制;并且在确定了针对所述当前核启用了对所述共享资源的基于预算的访问控制时,进一步判定所述当前核的当前节拍是否大于所述当前核的下个预算检查时间。

示例17可以是示例16,其中,在确定了所述当前核的当前节拍不大于所述当前核的下个预算检查时间时,所述中断处理程序可以自旋所述当前核,直到所述当前核的当前节拍等于所述当前核的所述下个预算检查时间。

示例18可以是示例16,其中,在确定了所述当前核的当前节拍大于所述当前核的下个预算检查时间时,所述中断处理程序可以:将所述当前核的所述下个预算检查时间设置成所述当前核的所述当前节拍与所述当前核的预算时间量子之和;并且以针对预算时间量子的访问预算来重置所述当前核的其条件导致引起所述中断处理程序被给予执行控制的所述中断的所述相应的性能计数器。

示例19可以是示例1,其中,所述性能监测器可以是所述计算设备的操作系统或管理程序的一部分。

示例20可以是一种用于控制对计算设备上的共享资源的核访问的方法,所述方法包括:由所述计算设备的性能监测器以相应核的针对预算时间量子的对所述共享资源的访问预算来配置所述计算设备的处理器的多个核的多个相应性能计数器中的每一个性能计数器;以及由所述性能监测器利用所述性能计数器、根据所述核的所述访问预算来监测和控制由所述核对所述共享资源进行的访问。

示例21可以是示例20,其中,配置可以进一步包括:使用与所述访问预算相关联的控制数据来配置控制寄存器;并且监测和控制进一步包括:利用所述控制寄存器。

示例22可以是示例21,其中,配置可以包括:配置所述控制寄存器以表示所述多个核中的哪些核将对所启用的所述共享资源具有基于预算的访问控制。

示例23可以是示例22,其中,配置可以包括:配置所述控制寄存器以表示对于将对所启用的所述共享资源具有基于预算的访问控制的多个核中的每一个核表示表示下个预算检查时间,所述下个预算检查时间基于预算时间量子。

示例24可以是示例20,其中,配置可以包括:以针对预算时间量子的访问预算来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器。

示例25可以是示例24,其中,针对预算时间量子的所述访问预算与所述共享资源的访问事件的类型相关联。

示例26可以是示例24,其中,配置可以包括:以等于溢出值减去针对所述预算时间量子的所述访问预算的值来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器。

示例27可以是示例26,其中,配置可以包括:配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每个性能计数器以生成溢出中断。

示例28可以是示例20至27中的任何示例,其中,监测和控制可以包括:监测由所述多个核对所述共享资源进行的访问,并且在检测到由核对所述共享资源进行的访问时,如果所述访问核对所启用的所述共享资源具有基于预算的访问控制,则更新相应的性能计数器。

示例29可以是示例28,其中,监测和控制可以包括:在从所述相应的性能计数器检测到将对所启用的所述共享资源具有基于预算的访问控制的核表示为已经达到所述核针对预算时间量子的访问预算的指示时,拒绝所述核对所述共享资源进行进一步访问。

示例30可以是示例29,其中,监测和控制可以进一步包括:向中断处理程序传递执行控制以便响应于中断而拒绝对所启用的所述共享资源具有基于预算的访问控制的所述核对所述共享资源进行进一步访问,,所述中断由于对应的性能计数器达到将所述核表示为已经达到所述核针对所述预算时间量子的访问预算的条件而生成。

示例31可以是示例30,其中,所述方法可以进一步包括:在被给予执行控制时,所述中断处理程序:确定当前核;判定是否针对所述当前核启用了对所述共享资源的基于预算的访问控制;并且在确定了针对所述当前核启用了对所述共享资源的基于预算的访问控制时,进一步判定所述当前核的当前节拍是否大于所述当前核的下个预算检查时间。

示例32可以是示例31,其中,所述方法可以进一步包括:在确定了所述当前核的当前节拍不大于所述当前核的下个预算检查时间时,所述中断处理程序自旋所述当前核,直到所述当前核的当前节拍等于所述当前核的所述下个预算检查时间。

示例33可以是示例31,其中,所述方法可以进一步包括:在确定了所述当前核的当前节拍大于所述当前核的下个预算检查时间时,所述中断处理程序将所述当前核的所述下个预算检查时间设置成所述当前核的所述当前节拍与所述当前核的预算时间量子之和;并且以针对预算时间量子的访问预算来重置所述当前核的、条件导致引起所述中断处理程序被给予执行控制的所述中断的所述相应性能计数器。

示例34可以是一种或多种计算机可读介质,具有存储于所述计算机可读介质上的指令,所述指令响应于由计算设备执行而使所述计算设备:使所述计算设备的处理器的多个核的多个相应性能计数器中的每个性能计数器配置有所述相应核的针对预算时间量子的对所述计算设备的所述共享资源的访问预算;并且利用所述性能计数器、根据所述核的所述访问预算来监测和控制由所述核对所述共享资源进行的访问。

示例35可以是示例34,其中,可以进一步使所述计算设备配置控制寄存器,并且结合所述性能计数器使用所述控制寄存器根据所述多个核的对应访问预算来管理由所述多个核对所述共享资源进行的访问。

示例36可以是示例35,其中,可以进一步使所述计算设备配置所述控制寄存器以表示所述多个核中的哪些核将对所启用的所述共享资源具有基于预算的访问控制。

示例37可以是示例36,其中,可以进一步使所述计算设备配置所述控制寄存器以表示所述多个核中的每个核对所启用的所述共享资源具有基于预算的访问控制的下个预算检查时间,所述下个预算检查时间基于预算时间量子。

示例38可以是示例34,其中,可以进一步使所述计算设备以针对预算时间量子的访问预算来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器。

示例39可以是示例38,其中,针对预算时间量子的所述访问预算可以与所述共享资源的访问事件的类型相关联。

示例40可以是示例38,其中,可以进一步使所述计算设备以等于溢出值减去针对所述预算时间量子的所述访问预算的值来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器。

示例41可以是示例40,其中,可以进一步使所述计算设备配置与用对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器以生成溢出中断。

示例42可以是示例34至41中的任何示例,其中,可以进一步使所述计算设备监测由所述多个核对所述共享资源进行的访问,并且在检测到由核对所述共享资源进行的访问时,如果所述访问核对所启用的所述共享资源具有基于预算的访问控制,则更新相应性能计数器。

示例43可以是示例42,其中,可以进一步使所述计算设备在从所述相应性能计数器检测到将对所启用的所述共享资源具有基于预算的访问控制的核表示为已经达到所述核针对预算时间量子的访问预算的指示时,拒绝所述核对所述共享资源进行进一步访问。

示例44可以是示例43,其中,可以进一步使所述计算设备向中断处理程序传递执行控制以便响应于中断而拒绝对所启用的所述共享资源具有基于预算的访问控制的所述核对所述共享资源进行进一步访问,,所述中断由于对应的性能计数器达到将所述核表示为已经达到所述核针对所述预算时间量子的访问预算的条件而生成。

示例45可以是示例44,其中,在被给予执行控制时,所述中断处理程序可以:确定当前核;判定是否针对所述当前核启用了对所述共享资源的基于预算的访问控制;并且在确定了针对所述当前核启用了对所述共享资源的基于预算的访问控制时,进一步判定所述当前核的当前节拍是否大于所述当前核的下个预算检查时间。

示例46可以是示例45,其中,在确定了所述当前核的当前节拍不大于所述当前核的下个预算检查时间时,所述中断处理程序可以自旋所述当前核,直到所述当前核的当前节拍等于所述当前核的所述下个预算检查时间。

示例47可以是示例46,其中,在确定了所述当前核的当前节拍大于所述当前核的下个预算检查时间时,所述中断处理程序可以:将所述当前核的所述下个预算检查时间设置成所述当前核的所述当前节拍与所述当前核的预算时间量子之和;并且以针对预算时间量子的访问预算来重置所述当前核的、条件导致引起所述中断处理程序被给予执行控制的所述中断的所述相应性能计数器。

示例48可以是一种用于计算的设备,所述设备包括:处理器,所述处理器具有多个核;资源,所述资源与所述处理器耦合以便在所述多个核当中被共享;以及多个性能计数器,所述多个性能计数器相应地与所述多个核相关联。所述设备可以进一步包括用于以所述相应核的针对预算时间量子的对所述共享资源的访问预算来配置所述多个性能计数器中的每一个性能计数器的装置;以及用于利用所述性能计数器、根据所述核的所述访问预算来监测和控制由所述核对所述共享资源进行的访问的装置。

示例49可以是示例48,其中,用于配置的装置可以进一步包括:用于以与所述访问预算相关联的控制数据来配置控制寄存器的装置;并且监测和控制进一步包括:利用所述控制寄存器。

示例50可以是示例49,其中,用于配置的装置可以进一步包括:用于配置所述计算设备将所述控制寄存器以表示所述多个核中的哪些核将对所启用的所述共享资源具有基于预算的访问控制的装置。

示例51可以是示例50,其中,用于配置的装置可以进一步包括:用于配置所述计算设备将所述控制寄存器以对于将对所启用的所述共享资源具有基于预算的访问控制的多个核中的每一个核表示下个预算检查时间的装置,所述下个预算检查时间基于预算时间量子。

示例52可以是示例48,其中,用于配置的装置可以进一步包括:用于以针对预算时间量子的访问预算来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每个性能计数器的装置。

示例53可以是示例52,其中,针对预算时间量子的所述访问预算可以与所述共享资源的访问事件的类型相关联。

示例54可以是示例52,其中,用于配置的装置可以进一步包括:用于以等于溢出值减去针对所述预算时间量子的所述访问预算的值来配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器的装置。

示例55可以是示例54,其中,用于配置的装置可以进一步包括:用于配置与将对所启用的所述共享资源具有基于预算的访问控制的核相对应的每一个性能计数器以生成溢出中断的装置。

示例56可以是示例48至55中的任何示例,其中,用于监测和控制的装置可以包括用于进行以下操作的装置:监测由所述多个核对所述共享资源进行的访问;以及在检测到由核对所述共享资源进行的访问时,如果所述访问核对所启用的所述共享资源具有基于预算的访问控制,则更新相应性能计数器。

示例57可以是示例56,其中,用于监测和控制的装置可以包括用于进行以下操作的装置:在从所述相应的性能计数器检测到将对所启用的所述共享资源具有基于预算的访问控制的核表示为已经达到所述核针对预算时间量子的访问预算的指示时,拒绝所述核对所述共享资源进行进一步访问。

示例58可以是示例57,其中,用于监测和控制的装置可以进一步包括用于进行以下操作的装置:向中断处理程序传递执行控制以便响应于中断而拒绝对所启用的所述共享资源具有基于预算的访问控制的所述核对所述共享资源进行进一步访问,,所述中断由于对应的性能计数器达到将所述核表示为已经达到所述核针对所述预算时间量子的访问预算的条件而生成。

示例59可以是示例58,其中,所述中断处理程序可以包括在给予执行控制时用于进行以下操作的装置:确定当前核;判定是否针对所述当前核启用了对所述共享资源的基于预算的访问控制;以及在确定了针对所述当前核启用了对所述共享资源的基于预算的访问控制时,进一步判定所述当前核的当前节拍是否大于所述当前核的下个预算检查时间。

示例60可以是示例59,其中,所述中断处理程序可以进一步包括用于进行以下操作的装置:在确定了所述当前核的当前节拍不大于所述当前核的下个预算检查时间时,所述中断处理程序自旋所述当前核,直到所述当前核的当前节拍等于所述当前核的所述下个预算检查时间。

示例61可以是示例59,其中,所述中断处理程序可以进一步包括用于进行以下操作的装置:在确定了所述当前核的当前节拍大于所述当前核的下个预算检查时间时,所述中断处理程序将所述当前核的所述下个预算检查时间设置成所述当前核的所述当前节拍与所述当前核的预算时间量子之和;以及以针对预算时间量子的访问预算来重置所述当前核的、条件导致引起所述中断处理程序被给予执行控制的所述中断的所述相应性能计数器。

对于本领域技术人员明显的是,在不背离本公开的精神或范围的情况下,可在所述公开的装置和相关联的方法的所述公开的实施例中作出各种修改和变更。因此,本公开旨在涵盖以上所公开的实施例的这些修改和变更,只要这些修改和变更落在任意权利要求和其等效物的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1