动态配置方法及装置与流程

文档序号:12733535阅读:239来源:国知局
本发明有关于动态配置方法,更具体地,有关于动态配置方法以及装置。
背景技术
::根据现有技术,为了节省便携式电子装置的相关成本,便携式电子装置中处理器的计算能力(calculationcapability)/功率通常都受到限制,其中,便携式电子装置可例如移动电话(如多功能移动电话)、个人数字助理(PDA)、平板计算机(tablet)或笔记本计算机(laptop)。假设节省成本不在考量范围内,终端用户可能希望将来能拥有配备更高计算能力/功率的处理器的便携式电子装置。然而,一些问题可能会随之产生。例如,相关技术的传统系统架构简单且可能不支持多核处理器(multi-coreprocessor),却不能忽略便携式电子装置的紧凑型需求(compactrequirement)。又例如,相关技术的传统系统架构可能太简单而无法支持多处理器(multipleprocessor),却仍然必须满足便携式电子装置的紧凑需求。因此,需要一种新颖的方法以实现配备具有更高计算能力/功率的处理器的便携电子装置。技术实现要素:有鉴于此,本发明提供一种动态配置方法及装置。本发明提供一种动态配置方法,包括:在总线冻结时段通过等待从多个核/处理器中的至少一个至动态配置缓存器中的一部分的请求,冻结动态配置缓存器中的该部分与该多个核/处理器中的该至少一个之间的总线,其中,该多个核/处理器用于存取该动态配置缓存器且该多个核/处理器中的该至少一个用于存取该动态配置缓存器中的该部分;以及调整该动态配置缓存器中的该部分的大小,其中,该动态配置缓存器中的该部分用于缓存/存储该多个核/处理器中的该至少一个的信息。本发明还提供一种动态配置装置,包括:多个核/处理器,用于执行该动态配置装置的多个操作;动态配置缓存器,用于缓存/存储该多个核/处理器的信息, 其中,该多个核/处理器用于存取该动态配置缓存器且该多个核/处理器中的该至少一个用于存取该动态配置缓存器中的该部分;以及动态配置缓存控制器,用于在总线冻结时段通过等待从多个核/处理器中的至少一个至动态配置缓存器中的一部分的请求,冻结动态配置缓存器中的该部分与该多个核/处理器中的该至少一个之间的总线,并调整该动态配置缓存器的该部分的大小。附图说明图1为根据本发明一个实施例动态配置装置的示意图;图2为根据本发明一个实施例的动态配置方法的流程图;图3为根据本发明第二实施例图2所示动态配置方法的动态配置机制示意图;图4为根据本发明一个实施例图3所示动态配置缓存器的配置示意图;图5为根据本发明第三实施例图2所示动态配置方法的动态配置机制示意图;图6为根据本发明一个实施例图5所示动态配置缓存器的另一配置示意图;图7为根据本发明另一个实例图5所示动态配置缓存器的核/处理器保护配置的示意图;图8为根据本发明一个实施例图2所示动态配置方法相关的一些DCCA状态及相应配置的示意图;图9为根据本发明另一个实施例的动态配置方法的流程图。具体实施方式在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属
技术领域
:的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。请参考图1,图1为根据本发明一个实施例动态配置装置100的示意图。根 据不同实施例,例如第一实施例或其变形,动态配置装置100可包括电子装置的至少一部分(例如一部分或全部)。例如,动态配置装置100可包括上述电子装置的一部分,更具体地,动态配置装置100可为电子装置内部的控制电路(例如集成电路(integratedcircuit,IC))。又例如,动态配置装置100可为上述电子装置整体。电子装置的实例可包括,手机(例如,多功能手机)、PDA、便携式电子装置以及个人计算机,其中,便携式电子装置可例如(基于广义定义的)平板计算机,个人计算机可例如笔记本计算机或台式计算机。如图1所示,动态配置装置100可包括多个核/处理器110,且动态配置装置100可更包括片上(on-chip)存储器模块120。其中,多个核/处理器110包括核/处理器110-1,110-2,…,以及110-N。片上存储器(On-chipmemory)模块120可包括片上存储器122(例如静态随机存储存储器(SRAM))和动态配置缓存(dynamicconfigurablecache)控制器124。其中,片上存储器122可包括多个存储库(memorybank)122-1,122-2,…,以及122-M。多个核/处理器110-1,110-2,…,以及110-N被允许存取片上存储器122。多个核/处理器110-1,110-2,…,以及110-N可执行动态配置装置100的多个操作。例如,多个核/处理器110-1,110-2,…,以及110-N的至少一部分(如一部分或全部)可分别为执行动态配置装置100的操作的一或多个处理器中的核。又例如,多个核/处理器110-1,110-2,…,以及110-N的至少一部分(如一部分或全部)可分别为执行动态配置装置100的操作的一或多个处理器。请注意,根据不同实施例,例如第一实施例或其变形,核/处理器110-1,110-2,…,以及110-N可包括一或多个中央处理单元(centralprocessingunit,CPU)、一或多个图形处理单元(graphicprocessingunit,GPU)、一或多个数字信号处理器(digitalsignalprocessor,DSP)、一或多个视频编解码器(videocoder-decoder,CODEC)以及/或一或多个音频CODEC。根据第一实施例,动态配置装置100可包括动态配置缓存器,其中,可以片上存储器(如图1所示的片上存储器122)来实现动态配置缓存器。动态配置缓存器可缓存/存储多个核/处理器110-1,110-2,…,以及110-N的信息。该多个核/处理器110-1,110-2,…,及110-N用于存取该动态配置缓存器且该多个核/处理器中的至少一个用于存取该动态配置缓存器中的一部分。此外,动态配置缓存控制器124可控制片上存储器122的操作以控制上述动态配置缓存器的配置。请注意,上述架构可看作动态配置缓存架构(dynamicconfigurablecachearchitecture,DCCA)。参照图2,DCCA操作的相关细节进一步说明如下。图2为根据本发明一个实施例的动态配置方法200的流程图。动态配置方法200可运用于如图1所示的动态配置装置100,更具体地,可运用于上述的动态配置缓存控制器124。在步骤210中,动态配置缓存控制器124可在总线(Bus)冻结时段(freezeperiod)通过拒绝来自多个核/处理器110-1,110-2,…,以及110-N中任何一个的请求,冻结上述动态配置缓存器与多个核/处理器110(例如此实施例中的多个核/处理器110-1,110-2,…,以及110-N)之间的总线,其中,该动态配置缓存器以片上存储器122实现。动态配置缓存控制器124可在总线冻结时段拒绝来自多个核/处理器110-1,110-2,…,以及110-N中任何一个的请求,而不是一直地拒绝任何请求。即,动态配置缓存控制器124可在总线冻结时段暂时地冻结总线,而不是一直冻结总线。在步骤220中,动态配置缓存控制器124可调整动态配置缓存器的一部分的大小,其中,动态配置缓存器的该部分可缓存/存储多个核/处理器110-1,110-2,…,以及110-N的其中一个的信息。在一些实施例中,动态配置缓存器的该部分可包括存储库122-1,122-2,…,以及122-M中的至少一个存储库。图9为根据本发明一个实施例的动态配置方法900的流程图。动态配置方法900可运用于如图1所示的动态配置装置100,更具体地,可运用于上述的动态配置缓存控制器124。在步骤910中,动态配置缓存控制器124可在总线冻结时段(freezeperiod)通过等待(pend)或延迟(stoll)从该多个核/处理器110中的至少一个(例如本实施例中的多个核/处理器110-1,110-2,…,及110-N)至该动态配置缓存器中的一部分的请求,冻结上述动态配置缓存器与多个核/处理器110(例如此实施例中的多个核/处理器110-1,110-2,…,以及110-N)之间的总线,其中,该动态配置缓存器以片上存储器122实现。也就是说,在总线冻结期间,从该多个核/处理器110-1,110-2,…,及110-N中的至少一个至该动态配置缓存器中的一部分的请求处于等待状态。动态配置缓存控制器124可在总线冻结时段等待来自多个核/处理器110-1,110-2,…,以及110-N中的该至少一个的请求,而不是一直地等待任何请求。即,动态配置缓存控制器124可在总线冻结时段暂时地冻结总线,而不是一直冻结总线。在一个实施例中,当调整该动态配置缓存器中的该部分的大小时,仅有与该动态配置缓存器中的该部分相关的来自该核/处理器的请求将被等待/延迟。应注意,本实施例中的等待的请求包括存取该动态配置缓存器 中的该部分的请求。动态配置缓存控制器124可响应来自该多个核/处理器的一个核/处理器的总线冻结请求而冻结该总线。在一个实施例中,该总线冻结请求可为系统随机存取存储器(systemrandomaccessmemory,SYSRAM)请求。等待请求不同于总线冻结请求。在步骤920中,动态配置缓存控制器124可调整动态配置缓存器的一部分的大小,其中,动态配置缓存器的该部分可缓存/存储多个核/处理器110-1,110-2,…,以及110-N的其中一个的信息。在一些实施例中,动态配置缓存器的该部分可包括存储库122-1,122-2,…,以及122-M中的至少一个存储库。根据此实施例,动态配置缓存控制器124可响应从该多个核/处理器110中的一个核/处理器至该动态配置缓存器的的总线冻结请求而冻结总线。例如,响应于该核/处理器提交该总线冻结请求,该总线冻结请求可能要求分配动态配置缓存器的存储器空间(memoryspace)。又例如,响应于该核/处理器提交该总线冻结请求,该总线冻结请求可能要求分配动态配置缓存器的额外空间(additionalspace)。由于存储器空间/额外空间的需求是暂时的,动态配置缓存控制器124可响应于来自核/处理器提交的总线冻结请求的通知而再冻结(re-freeze)该总线,以释放该存储器空间/额外空间,其中,该通知指示不需要该额外空间。此外,对于一些实施例,动态配置缓存控制器124可控制总线冻结时段的起始与帧(frame)变化(例如从一帧变为另一帧)的时间点对齐(align),以实现维持/改进动态配置装置100的总体性能的目的。此仅为说明的目的,本发明并不限于此。根据此实施例的变形,动态配置缓存控制器124可控制总线冻结时段的起始延迟一个预定义延迟量,以实现维持/改进动态配置装置100的总体性能的目的。根据此实施例的另一个变形,当接收到请求时,动态配置缓存控制器124可触发一个延迟计数器开始计数,并使用延迟计数器将总线冻结时段的起始延迟一个预定义延迟量,以实现维持/改进动态配置装置100的总体性能的目的。在一些实施例中,在完成调整动态配置缓存器的该部分的大小的操作之后,动态配置缓存控制器124可控制该总线冻结时段结束。根据此实施例或此实施例的任何变形,在一些实施例中,无论总线冻结时段的起始是否受控制,动态配置缓存控制器124都可动态控制冻结时段的起始。因此在一些实施例中,动态配置缓存控制器124在运行时间可确定上述动态配置缓存器的不同配置之间的转换时序(timingofswitching)。对应动态配置缓存器的该部分的使用在不同情形下可能不同。例如,动态 配置缓存器的该部分可暂时用作缓存。又例如,动态配置缓存器的该部分可暂时用作暂存器(scratchpadmemory)。由于动态配置缓存器的该部分的使用为灵活的,动态配置缓存控制器124在需要时可动态控制动态配置缓存器的配置。由此,可实现维持/改进动态配置装置100的总体性能的目的。图3为根据本发明第二实施例图2所示动态配置方法200或图9所示动态配置方法900的动态配置机制示意图。其中,标号320用于表示上述的动态配置缓存器。在此实施例中,将两个CPU312和CPU314以及引擎(engine)316(例如多媒体(multimedia,MM)处理引擎(processingengine))作为步骤210中多个核/处理器110的实例。其中,MM处理器可包括视频CODEC和音频CODEC等。根据此实施例,CPU312和CPU314以及引擎316可分别使用动态配置缓存器320。例如CPU312和CPU314中的任何一个可使用动态配置缓存器320的一部分(例如步骤220中所述的该部分)作为缓存,更具体地,第二级(leveltwo,L2)缓存。又例如,引擎316可使用动态配置缓存器320的一部分(例如步骤220或920中所述的该部分)作为暂存器,因此,通过使用动态配置方法200或动态配置方法900来实施调整,可准确地分配CPU312和CPU314中的任何一个使用的缓存大小和/或引擎316使用的暂存器的大小。特别地,当引擎316需要(例如上述的)存储器空间/额外空间并发送总线冻结请求(例如上述的请求)要求存储器空间/额外空间时,动态配置缓存控制器124通过暂时为引擎316分配空间(例如一或多个存储库,如上述的一或多个存储库122-1,122-2,…,及122-M),可向引擎316提供存储器空间/额外空间。例如,可最初由CPU312和CPU314中的其中一个使用一或多个存储库,而现在再分配(re-arrange)由引擎316使用这一或多个存储库。又例如,可最初不使用一或多个存储库,而现在分配由引擎316使用这一或多个存储库。当检测到引擎316不需要存储器空间/额外空间时(例如,引擎316发送上述的通知),动态配置缓存控制器124可再冻结总线以再分配/释放被引擎316所使用的存储器空间/额外空间。例如,动态配置缓存控制器124可将一或多个存储库再分配给CPU312和CPU314中的其中一个再使用或者不再使用。图4为根据本发明一个实施例图3所示动态配置缓存器320的配置示意图。例如,由于通过使用动态配置方法200或动态配置方法900来实施调整,CPU312和CPU314使用的缓存大小等于96KB(kilobyte),且引擎316使用的暂存器大 小等于32KB。因此,将CPU312和CPU314使用的缓存标记为“96KB缓存”,且将引擎316使用的暂存器标记为“32KB存储器”。在一些实施例中,CPU312和CPU314可首先存取缓存(例如96KB缓存)以找到需要的数据。当在96KB缓存中找不到需要的数据时,CPU312和CPU314可通过系统总线存取外部存储器(例如动态随机存取存储器(dynamicrandomaccessmemory,DRAM))。图5为根据本发明第三实施例图2所示动态配置方法200或图9所示动态配置方法900的动态配置机制示意图,其中,标号520用于表示上述的动态配置缓存器。在此实施例中,将GPU512和MM处理器516作为步骤210中多个核/处理器110的实例。根据此实施例,GPU512和MM处理器516可分别使用动态配置缓存器520。例如GPU512可使用动态配置缓存器520的一部分(例如步骤220中所述的该部分)作为缓存。又例如,MM处理器516可使用动态配置缓存器520的一部分(例如步骤220中所述的该部分)作为暂存器,因此,通过使用动态配置方法200来实施调整,可准确地分配GPU512使用的缓存大小和/或MM处理器516使用的暂存器的大小。请注意图5为在上述调整之前动态配置缓存器520的第一配置示意图。根据此配置,GPU512使用的缓存大小等于96KB,且MM处理器516使用的暂存器大小等于32KB。因此,将GPU512使用的缓存标记为“96KB缓存”,且将MM处理器516使用的暂存器标记为“32KB存储器”。当MM处理器516需要(例如上述的)存储器空间/额外空间并发送总线冻结请求(例如上述的请求)要求存储器空间/额外空间时,动态配置缓存控制器124通过暂时为MM处理器516分配空间(例如一或多个存储库,如上述的一或多个存储库122-1,122-2,…,及122-M),可向MM处理器516提供存储器空间/额外空间。例如,根据如图6所示的安排,可最初由GPU512使用一或多个存储库,现在再分配由MM处理器516使用这一或多个存储库。在此情形中,动态配置缓存控制器124在总线冻结期间可冻结GPU512和MM处理器516与动态配置缓存器520之间的总线。图6为根据本发明一个实施例图5所示动态配置缓存器520的另一配置示意图。例如,由于通过使用动态配置方法200来实施调整,GPU512使用的缓存大小等于64KB,且MM处理器516使用的暂存器大小等于64KB。因此,将GPU512使用的缓存标记为“64KB缓存”,且将MM处理器516使用的暂存器标记为“64KB存储器”。同样地,当检测到MM处理器516不需要存储器空间 /额外空间时(例如MM处理器516发送例如上述的通知),动态配置缓存控制器124可再冻结总线以再分配/释放被MM处理器516所使用的存储器空间/额外空间。例如,动态配置缓存控制器124可将一或多个存储库再分配给GPU512再使用或者不再使用。因此,上述的第一配置可再应用于动态配置缓存器520。在另一个示例中,当MM处理器516需要上述的存储空间/额外空间并发送总线冻结请求(例如上述的请求)以要求存储空间/额外空间,动态配置缓存控制器124响应该总线冻结请求在总线冻结期间可冻结MM处理器516与专用于MM处理器516的动态配置缓存520的一部分之间的总线。动态配置缓存控制器124可通过为MM处理器516临时分配空间(例如一或多个存储库(如上述的一或多个存储库122-1,122-2,…,及122-M))为MM处理器516提供存储空间/额外空间。例如,一或多个存储库可初始为空闲存储空间,且现在重置为由MM处理器所采用。又例如,当MM处理器516所需的存储空间减少,且MM处理器516发送总线冻结请求以通知动态配置控制器124时,动态配置缓存控制器124响应该总线冻结请求在总线冻结期间可冻结MM处理器516与专用于MM处理器516的动态配置缓存520的一部分之间的总线。动态配置缓存控制器124可通过临时分配原来专用于MM处理器516(例如用于空闲存储空间或共享存储空间的一或多个存储库(如上述的一或多个存储库122-1,122-2,…,及122-M))为MM处理器516提供减少的存储空间。图7为根据本发明另一个实例图5所示动态配置缓存器520的核/处理器保护配置(protectionconfiguration)的示意图,其中,此实施例的动态配置缓存控制器124集成于动态配置缓存器520之中。在片上存储器122内部的存储库的数目M等于4时,符号BK0、BK1、BK2和BK3可分别表示上述的存储库122-1,122-2,…,和122-M(更具体地,存储库122-1、122-2、122-3和122-4)。根据此实施例,将系统随机存取存储器(systemrandomaccessmemory,SYSRAM)请求作为上述请求的实例。响应SYSRAM请求,动态配置缓存控制器124在总线冻结时段可控制总线被冻结。此实施例的动态配置缓存器520中的动态配置缓存控制器124可发送冻结活动通知(freezeactivenotification)(在图7中标记为“冻结活动”)至GPU512,以通知GPU512进入总线冻结时段,GPU512可发送冻结完成通知(freezedonenotification)(在图7中标记为“冻结完成”)作为冻结活动通知的响应。在此实施例中,根据核/处理器保护配置,存储库BK0专属于GPU512,且 不能被MM处理器516所使用。即,存储库BK0为GPU专属(GPU-dedicated)存储库,而存储库BK0、BK1、BK2及BK3中的任何一个可被GPU512和MM处理器516所共享,更具体地,同一时间被GPU512和MM处理器516的其中一个所使用。在存储库BK0、BK1、BK2及BK3中每个的大小都等于32KB的情况下,GPU512所使用的缓存的大小可大于或等于32KB,且MM处理器516所使用的暂存器可少于或等于96KB。因此,通过向GPU512提供GPU专属存储库,核/处理器保护配置可防止GPU512的性能下降。此实施例的类似描述不在此详细重复。图8为根据本发明一个实施例图2所示动态配置方法200相关的一些DCCA状态及相应配置的示意图。根据此实施例,可分别将上述的存储库BK0、BK1、BK2及BK3作为上述存储库122-1,122-2,…,和122-M的实例(更具体的,存储库122-1、122-2、122-3和122-4)。例如,每个存储库BK0、BK1、BK2及BK3的大小可等于32KB。如图8所示,最上方曲线为MM处理器516需求指示(indicator),其中指示的低水平状态(lowstate)可表示MM处理器516不需要存储空间/额外空间。对于图8所示的DCCA状态,DCCA可在多个状态(例如正常状态和分配状态)之间进行转换。例如,动态配置缓存控制器124可控制DCCA默认处于正常状态,且相应的配置“128KBL2缓存”指示GPU512使用存储库BK0、BK1、BK2及BK3的全部共128KB存储空间作为L2缓存。当MM处理器516需求指示进入其高水平状态时,动态配置缓存控制器124可确定转换至(动态配置缓存器520的)另一种配置的时序会稍有延迟,因此第一总线冻结时段(即图8的左半部分所示的总线冻结时段)在比指示的转折处(transition)(例如上升沿)稍晚的时间点开始。因此,动态配置缓存控制器124在第一总线冻结时段可控制DCCA进入分配状态,以根据动态配置方法200改变动态配置缓存器520的配置。在第一总线冻结时段结束之后,动态配置缓存控制器124可控制DCCA再次处于正常状态,且相应配置“32KBL2缓存和96KBL2存储器”指示GPU512使用存储库BK0、BK1、BK2及BK3中的32KB存储空间(例如,如存储库BK0的GPU专属存储库的存储空间)作为L2缓存,且更指示MM处理器516使用库BK0、BK1、BK2及BK3中的96KB存储空间(例如,如存储库BK1、BK2及BK3的一些其他存储库的存储空间)作为L2存储器。当MM处理器516的 需求指示进入低水平状态时,动态配置缓存控制器124可确定转换至(动态配置缓存器520的)另一种配置的时序会稍有延迟,因此第二总线冻结时段(即图8的右半部分所示的总线冻结时段)在比指示的转折处(例如上升沿)稍晚的时间点开始。因此,动态配置缓存控制器124在第二总线冻结时段可控制DCCA进入分配状态,以根据动态配置方法200改变动态配置缓存器520的配置。在第二总线冻结时段结束之后,动态配置缓存控制器124可控制DCCA再次处于正常状态,且相应配置“128KBL2缓存”指示GPU512使用存储库BK0、BK1、BK2及BK3的128KB存储空间的全部作为L2缓存。此实施例的类似描述在此不详细重复。根据图8所示的本实施例的一个变形,在第二总线冻结时段结束之后,根据不同的设计需求,动态配置缓存器520的配置可以为任何种配置。例如,在第二总线冻结时段结束之后,上述的存储库122-1,122-2,…,和122-M的一部分(更具体地,存储库122-1、122-2、122-3及122-4中的一个或多个存储库)可为闲置的(idle),无需再使用存储库122-1,122-2,…,和122-M的前述部分作为缓存。此变形的类似描述不再详细重复。本发明的优势为本发明提出的方法和装置可提供动态配置缓存器的释放/分配硬件以实现DCCA,而不引入软件同步惩罚(softwaresynchronizationpenalty)。此外,动态配置缓存控制器在运行时间可确定不同配置之间的交换时序。而且,根据DCCA实现的L2缓存可为用户透明(user-transparent)存储系统(即用户知悉的存储系统),且因此,L2缓存在需要时可很好地服务终端用户。根据上述实施例/变形中任何一个,由于使用DCCA电子装置可配备具有更高计算能力/功率的处理器,更具体地,可配备多核处理器或者多个处理器,而不会忽略前述的紧凑型需求并可有效地使用缓存/存储。所属领域的技术人员可知在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视后附的权利要求及其等同变形所界定者为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1