在处理器的异质核之间动态切换工作载荷的制作方法_2

文档序号:8269306阅读:来源:国知局
核切换的标识 可被放入核切换队列中而不是立即执行切换,以便随后当将要执行给定线程量子时访问。 要指出,该预测针对为将来时间所确定的性能。根据所预测的性能需要确定频率,并根据该 频率选择最有效的核。一旦进行了这个选择,然后就确定是否要执行核切换。
[0021] 仍参考图1,如果做出核切换确定,则控制传到框160,在此可进行调用以执行核 切换。在一个实施例中,这个调用可以是给定类型的系统调用,其详情将在下面进一步描 述。否则,如果性能预测不基本上不同于处理器的当前性能等级使得发生核切换,则控制替 代地从菱形框150传到菱形框170。在那儿,可确定是否应该执行核频率的改变。如果是这 样,则控制传到框180,在此例如可对固件或硬件(诸如处理器的功率控制器)进行对于频 率改变的调用。相反,如果这个确定是否定的,则没有动作可发生,并且方法可结束。
[0022] 现在参考图2,示出的是根据本发明实施例用于执行核切换的方法的流程图。如 图2所示,可使用各种系统组件(包含硬件、软件和/或固件)执行该方法以实现第一类型 核与第二类型核之间的切换。为了便于讨论,在图2中示出的方法200关于从低功率核到 高功率核的切换。当然,虽然在图2的示例中以这种方式示出,但要理解,本发明的范围不 限于这方面,并且实施例同样适用于在高功率核与低功率核之间的切换以及处理器内异质 计算机元件之间的任何其它类型切换。而且,要理解,实施例不限于执行单个处理器(诸如 SoC)内的切换操作。而是,实施例同样适用于其它情形,诸如配置在系统的单独半导体管芯 或集成电路中的处理单元之间的切换。
[0023] 如图2中所看到的,方法200可开始于执行策略管理器(框205)。在各种实施例 中,此策略管理器可执行基于预测的分析,诸如上面相对于图1描述的。在不同实现中,此 策略管理器可在0S的代码、固件或其它位置内执行。并且在又一些实施例中,策略管理器 可在单独控制器(诸如微控制器,例如SoC或其它处理器的功率控制单元)上执行。为了 讨论,假定策略管理器在SoC的低功率SMP核(例如0S的一部分)上执行。
[0024] 在此为了讨论,还假定,策略管理器的判定将执行核切换,即从低功率核切换到高 功率核。然后,控制传到框210,在此可执行内核输入输出控制(I0CTL)调用。要指出,在其 它实施例中,诸如在固件中实现策略管理器的实施例中,此调用可以是另一类型系统调用。 响应于此调用,SMP核可通过进入关键选择来准备切换(框215)。通过这个临界区段,可禁 用其它中断、间断事件等的其它外部操作和处置。控制接下来传到框220,在此可读取一个 或多个核切换配置寄存器。尽管本发明的范围不限于这个方面,但在这些配置寄存器中可 存在各种信息,包含SoC核以及它们的状况(例如活动或睡眠状态)的标识。接下来,控制 传到框225,在此参数可被设置成调用固件来执行核切换。要指出,在一个实施例中,可在 0S代码中执行从执行策略管理器到对固件的这个调用的上述操作。
[0025] 然而,例如可用低功率核的固件中执行操作的下一集合。如所看到的,这些操作可 在菱形框230开始,在菱形框230中确定所请求的操作是核切换还是频率改变。如上面所 描述的,为了讨论,假定正在发生核切换。要理解,上述操作以及图2中示出的剩余操作同 样适用于当策略管理器确定时执行频率改变,尽管未指示核切换,但指示了核频率的改变。
[0026] 为了讨论,假定该判定用于核切换。因而,在框235,可完成未决操作,例如核的各 种缓冲器内的任何未决写/读。接下来,控制传到框240,在此可禁用中断,从而防止核处置 来自外部代理的任何中断。控制接下来传到框245,在此可保存处理器的状态。更确切地 说,该状态可被存储在本地存储器,诸如高速缓冲存储器。尽管本发明的范围不限于这个方 面,但在一个实施例中,该状态可被存储在共享高速缓冲存储器,诸如对SoC的其它核可访 问的第2级(L2)高速缓存。除了核状态的存储,其可包含存储在各种寄存器(包含架构寄 存器、配置寄存器、控制寄存器、状况寄存器等)中的信息,还可存储校验和。这个校验和从 而可以是基于所保存的整个状态生成的校验值,其随后可用于确认已经检索到正确状态。
[0027] 仍参考图2,接下来可以锁定互相排斥位置,即互斥(框250)。这个互斥可以是共 享存储器(诸如L2高速缓存或静态随机存取存储器(SRAM))中的锁,其可被获取,从而锁 定状态,并防止任何其它代理访问此信息。这个旋转锁通过代码从SRAM运行来获取。因为 这个存储器在异质SMP核之间共享,所以所有此类核可访问存储器,并且可获取锁。接下 来,可激活定时器(框255)。在一个实施例中,这个定时器可被设置近似20微秒与100微 秒之间的长度。要指出,这个定时器可以是核切换定时器,其可用于确定在预期时间帧内是 否发生核切换。通过使用用于执行核切换的定时器,可以确保以低等待时间有效地进行核 切换。控制然后传到框260,在此事件可被发送到高功率核。在一个实施例中,这个事件可 以是经由处理器间通信(IPC)发送的唤醒事件。
[0028] 仍参考在固件中执行的操作,控制传到菱形框265,以确定核切换定时器是否已经 被清除。如果是,则这指示成功执行了到高功率核的核切换。因此,控制接下来传到框275, 在此可刷新低功率核的各种结构/使其无效。尽管本发明的范围不限于这个方面,但此类 结构可包含第1级(L1)高速缓存和转换后备缓冲器(TLB)。在刷新这个信息之后,其在一 个实施例中可仅包含任何修改的或脏信息以加速无效操作,控制传到框276,在此低功率核 可被置于睡眠状态。因此,这个核将等待要唤醒的事件。
[0029] 如果到高功率核的切换不成功,如未被清除的核切换定时器所确定的,则控制相 反传到框270,在此不支持核切换的指示例如可被传到0S。因而,在框272,临界区段可被禁 用,并且当重新开始时在低功率核上可发生附加操作(框274)。
[0030] 在核切换成功时的典型情况下,控制传到框280,在此高功率核(其可被假定为处 于低功率或睡眠状态)从而监视事件,即这个唤醒事件。这个确定从而可在菱形框282进 行,在此核识别唤醒事件。要指出,周期性定时器(诸如唤醒定时器)可在高功率核中设置 成允许它周期性唤醒,以确定这个唤醒事件或任何其它间断事件是否被提供给它。
[0031] 当高功率核响应于这个事件而唤醒时,控制接下来传到菱形框284以基于经由互 斥设施访问状态与校验和来确定校验和是否正确。如上面所描述的,有效校验和可指示存 储在共享存储器中的低功率核的状态是否正确。因而,控制传到框286,在此这个状态可被 重新加载到高功率核中。接下来,控制传到框288,在此定时器(即核切换定时器)可被 清除。在框290,高功率核然后启用中断,并且在框290,控制从固件执行(在一个实施例 中)传回到0S,其中临界区段可被禁用,并且正常操作可在高功率核上开始或重新开始(框 292)。如果在菱形框284确定校验和无效,则控制相反传到框295,在此可进行不支持核切 换的指示。在一个实施例中,这个指示可被发送到另一(低功率)核。尽管在图2的实施 例中在这个高等级示出,但要理解,本发明的范围不限于这个方面。
[0032] 要理解,实施例可适用于许多不同类型的处理器。现在参考图3,示出了根据本发 明实施例的处理器的框图。如图3所示,处理器300可实现为包含配置在单个半导体管芯 上的各种组件的SoC,例如实现
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1