多核微处理器及使用其省电的方法技术

技术编号:20159906 阅读:31 留言:0更新日期:2019-01-19 00:12
本发明专利技术提供一种多核微处理器及使用其省电的方法。微处理器包括多个处理核、高速缓冲存储器及控制单元,其由停止至核的时脉信号使核睡眠。每一处理核执行睡眠指令作为控制单元所产生一各自使上述多个处理核睡眠的请求。控制单元使每一处理核睡眠以响应上述请求,侦测当所有核已产生各自请求以使其睡眠时,唤醒仅一最后处理核产生请求。最后处理核写回及使高速缓冲存储器失效,并指示高速缓冲存储器已失效及产生一请求至控制单元使最后处理核回到睡眠。控制单元当最后处理核写回且使高速缓冲存储器失效时,使最后处理核回到睡眠,并使其它处理核维持睡眠。本发明专利技术具有更少的功率消耗。

【技术实现步骤摘要】
多核微处理器及使用其省电的方法本申请是申请日为2014年8月28日、申请号为201410430949.5、专利技术名称为“微处理器及使用其省电的方法”的申请的分案申请。
本专利技术有关于一微处理器,且特别有关于单一核唤醒多核同步机制。
技术介绍
多核微处理器的增加,主要是因为其提供了在性能上的优势。可能主要是由于半导体装置几何维度大小迅速的减少,从而增加了晶体管密度。在一微处理器中多核的存在已产生与一核与其它核通信的需求,以完成各种功能,例如电源管理、高速缓冲存储器管理、除错及与更多核相关的配置。传统上,运行在多核处理器上架构的程序(例如,操作系统或应用程序)已使用位于由所有核架构上可寻址的一系统存储器中的信号量进行通信。这可能足够用于许多目的,但可能无法提供其它所需的速度、准确度及/或系统层级透明度。
技术实现思路
本专利技术提供一种微处理器。上述微处理器包括多个处理核、一由上述多个处理核所共享的高速缓冲存储器以及一控制单元,其被配置为通过停止至上述多个处理核的一时脉信号分别使每一处理核进入一睡眠状态。每一处理核被配置为执行一睡眠指令以作为上述控制单元所产生一各自使上述多个处理核进入上述睡眠状态的请求。上述控制单元被配置为使每一处理核进入上述睡眠状态以响应上述请求,以及侦测当所有上述多个处理核已产生上述各自请求以使其进入上述睡眠状态时,唤醒上述多个处理核的仅一最后处理核产生上述请求。上述最后处理核被配置为写回及使上述高速缓冲存储器失效,并指示上述高速缓冲存储器已经失效以及产生一请求至上述控制单元以使上述最后处理核回到上述睡眠状态。上述控制单元被配置为当上述最后处理核写回且使上述高速缓冲存储器已经失效时,使上述最后处理核回到上述睡眠状态,并继续使其它处理核维持睡眠,其中上述最后处理核指示上述高速缓冲存储器已经失效,并回到上述睡眠状态。本专利技术提供一种使用微处理器省电的方法,其中上述微处理器具有多个处理核、一由上述多个处理核所共享的高速缓冲存储器及一控制单元,其中上述控制单元被配置为通过停止至上述多个处理核的一时脉信号分别使每一处理核进入一睡眠状态。上述方法包括由每一处理核执行一睡眠指令以作为上述控制单元所产生一各自使上述多个处理核进入上述睡眠状态的请求。上述方法也包括由上述控制单元使每一处理核进入上述睡眠状态以响应上述请求,并侦测当所有上述多个处理核已产生上述各自请求以使其进入上述睡眠状态时,唤醒上述多个处理核的仅一最后处理核产生上述请求。上述方法还包括由上述最后处理核写回及使上述高速缓冲存储器失效,并指示上述高速缓冲存储器已经失效,并产生一请求至上述控制单元以使上述最后处理核回到上述睡眠状态。上述方法还包括当上述最后处理核写回且使上述高速缓冲存储器已经失效时,由上述控制单元使上述最后处理核回到上述睡眠状态,并继续使其它处理核维持睡眠,其中上述最后处理核指示上述高速缓冲存储器已经失效,并回到上述睡眠状态。本专利技术提供一种使用微处理器省电的方法,其中上述微处理器具有多个处理核及一控制单元。上述方法包括:(a)使所有上述多个处理核进入睡眠状态并阻止在一第一实例中除了一核之外的所有上述多个处理核的唤醒事件,其中上述使所有上述多个处理核进入睡眠状态的步骤是阻止提供一时脉信号及一电源至所有上述多个处理核;(b)作为侦测一唤醒事件的响应,唤醒上述多个处理核以处理上述唤醒事件;(c)解除除了上述多个处理核之外的所有其它处理核的上唤醒事件;(d)使上述多个处理核回到上述睡眠状态并解除在一第二实例中解除除了上述多个处理核之外的所有上述多个处理核的唤醒事件;(e)在使上述多个处理核回到上述睡眠状态之后,维持上述其它处理核于上述睡眠状态中,直到一唤醒事件指向一或多个上述其它处理核;以及其中上述(a)至(e)的步骤由上述微处理器的上述控制单元所执行。附图说明图1是显示一多核微处理器的方块图。图2是显示一控制字、一状态字及一配置字的方块图。图3是显示一控制单元操作的流程图。图4是显示另一实施例的微处理器的一方块图。图5是显示一微处理器操作以转储调试信息的流程图。图6是显示一根据图5流程图中微处理器的操作示例时序图。图7A~7B是显示一微处理器执行跨核高速缓冲控制操作的流程图。图8是显示根据图7A~7B流程图的微处理器操作例子的时序图。图9是显示微处理器进入一低功率封装C-状态的操作流程图。图10是显示根据图9流程图一微处理器操作例子的时序图。图11是根据本专利技术另一实施例的微处理器进入一低功率封装C-状态的操作流程图。图12是显示根据图11流程图的微处理器操作一例子的时序图。图13是显示根据图11流程图的微处理器操作另一例子的时序图。图14是显示微处理器的动态重新配置的流程图。图15是显示根据另一实施例中微处理器动态重新配置的流程图。图16是显示根据图15流程图的微处理器操作一例子的时序图。图17是显示在图1中硬件信号量118的一方块图。图18是显示当一核102读取硬件信号量118的操作流程图。图19是显示当一核写入硬件信号量的操作流程图。图20是显示当微处理器使用硬件信号量以执行需一资源独占所有权的操作流程图。图21是显示根据图3流程图的核发出非睡眠同步请求操作一例子的时序图。图22是显示配置微处理器的一程序流程图。图23是显示根据另一实施例中配置微处理器的一程序流程图。图24是显示根据另一实施例的一多核微处理器的方块图。图25是显示一微码修补架构的方块图。图26A~26B是显示图24中该微处理器以传播图25的一微码修补至该微处理器的多核的一操作流程图。图27是显示根据图26A~26B流程图的一微处理器操作的一例子的时序图。图28是显示根据另一实施例的一多核微处理器的方块图。图29A~29B是显示根据另一实施例的图28中该微处理器用以传播一微码修补至该微处理器的多个核的一操作流程图。图30是显示图24的微处理器用以修补一服务处理器程序码的流程图。图31是显示根据另一实施例的一多核微处理器的方块图。图32是显示图31中该微处理器用以传播一MTRR更新至该微处理器的多个核的一操作流程图。其中,附图中符号的简单说明如下:100:多核微处理器;102A、102B、102N:核A、核B、核N;103:非核;104:控制单元;106:状态暂存器;108A、108B、108C、108D、108N:同步暂存器;108E、108F、108G、108H:影子同步暂存器;114:熔断器;116:专用随机存取存储器;118:硬件信号量;119:共享高速缓冲存储器;122A、122B、122N:时脉信号;124A、124B、124N:中断信号;126A、126B、126N:数据信号;128A、128B、128N:电能控制信号;202:控制字;204:唤醒事件;206:同步控制;208:电源闸;212:睡眠;214:选择性唤醒;222:S;224:C;226:同步状态或C-状态;228:核集合;232:强迫同步;234:选择性同步中止;236:停用核;242:状态字;244:唤醒事件;246:最低常用C-状态;248:错误码;252:配置字;254-0~254-7:致能;256:本地核数量;258:晶体数量;302、304、305、306、312、314、31本文档来自技高网...

【技术保护点】
1.一种用于使多核微处理器的大部分核进入睡眠状态的方法,其特征在于,所述核中的指定核服务于未被指向任何特定核的非指向唤醒事件,所述方法包括:使所有所述核进入睡眠状态并且阻止针对所述核中除所述指定核以外的所有核的唤醒事件,其中使所有所述核进入睡眠状态包括:阻止向所有所述核提供时脉信号和电源;响应于侦测到唤醒事件,唤醒所述指定核以处理所侦测到的唤醒事件;与是否存在正进行的唤醒事件所被指向的任何非指定核无关地,解除针对除所述指定核以外的核的唤醒事件,使得在指向唤醒事件被指向非指定核的情况下,所述非指定核能够对所述指向唤醒事件作出反应,并且在没有指向唤醒事件被指向非指定核的情况下,所有所述非指定核保持睡眠状态;在所述指定核服务于所述唤醒事件之后,使所述指定核返回睡眠状态;阻止针对除所述指定核以外的所有核的唤醒事件;以及在使所有所述核进入睡眠状态之后,保持除所述指定核以外的其它核为睡眠状态,直到唤醒事件被指向所述其它核中的一个或多个为止。

【技术特征摘要】
2013.08.28 US 61/871,206;2013.12.16 US 61/916,338;1.一种用于使多核微处理器的大部分核进入睡眠状态的方法,其特征在于,所述核中的指定核服务于未被指向任何特定核的非指向唤醒事件,所述方法包括:使所有所述核进入睡眠状态并且阻止针对所述核中除所述指定核以外的所有核的唤醒事件,其中使所有所述核进入睡眠状态包括:阻止向所有所述核提供时脉信号和电源;响应于侦测到唤醒事件,唤醒所述指定核以处理所侦测到的唤醒事件;与是否存在正进行的唤醒事件所被指向的任何非指定核无关地,解除针对除所述指定核以外的核的唤醒事件,使得在指向唤醒事件被指向非指定核的情况下,所述非指定核能够对所述指向唤醒事件作出反应,并且在没有指向唤醒事件被指向非指定核的情况下,所有所述非指定核保持睡眠状态;在所述指定核服务于所述唤醒事件之后,使所述指定核返回睡眠状态;阻止针对除所述指定核以外的所有核的唤醒事件;以及在使所有所述核进入睡眠状态之后,保持除所述指定核以外的其它核为睡眠状态,直到唤醒事件被指向所述其它核中的一个或多个为止。2.根据权利要求1所述的方法,其中,还包括以下步骤:将请求进入睡眠状态的最后核指定为所述指定核。3.根据权利要求2所述的方法,其中,在所述指定核是用以写入同步请求的最后核的情况下,所述多核微处理器的控制单元自动阻止针对所述其它核的所有唤醒事件。4.根据权利要求2所述的方法,其中,还包括以下步骤:在正进行的指向唤醒事件被指向除所述指定核以外的核中的第二核的情况下,唤醒所述第二核;所述第二核服务于所述指向唤醒事件;所述指定核和所述第二核各自请求进入睡眠状态;在所述第二核是用以请求进入睡眠状态的最后核的情况下,将所述第二核指定为新指定核,并且取消指定之前被指定的核作为所述指定核;以及重复通过保持其它核为睡眠状态来使所有所述核进入睡眠状态的动作,直到唤醒事件被指向其它核中的一个或多个为止,其中所述其它核是参考所述新指定核来定义的。5.根据权利要求1所述的方法,其中,所述多核微处理器的控制单元进行通过保持所述其它核为睡眠状态来使所有所述核进入睡眠状态的动作。6.根据权利要求1所述的方法,其中,响应于在所有所述其它核请求进入睡眠状态之后侦测到请求进入睡眠状态的所述指定核,所述多核微处理器的控制单元自动进行所述阻止针对除所述指定核以外的所有核的唤醒事件。7.根据权利要求1所述的方法,其中,响应于所述指定核请求解除针对除所述指定核以外的所述其它核的唤醒事件,所述多核微处理器的控制单元进行上述解除。8.根据权利要求1所述的方法,其中,使所有所述核进入睡眠状态并且阻止针对除该指定核以外的所有核的唤醒事件的动作在各核执行用于指定目标省电闲置状态的指令之后并响应于该执行。9.根据权利要求1所述的方法,其中,所述指定核写入仅由STPCLK的解除确立来唤醒所述指定核的同步请求。10.根据权利要求9所述的方法,其中,在所述多核微处理器的控制单元侦测到所述STPCLK的解除确立的情况下,所述控制单元唤醒所述指定核且不限制至所述指定核的电源。11.一种多核...

【专利技术属性】
技术研发人员:G·葛兰·亨利泰瑞·派克斯布兰特·比恩史蒂芬·嘉斯金斯
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:中国台湾,71

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

1