CN115686177A - 处理器以及处理器的处理方法、电子设备 - Google Patents
处理器以及处理器的处理方法、电子设备 Download PDFInfo
- Publication number
- CN115686177A CN115686177A CN202211288096.7A CN202211288096A CN115686177A CN 115686177 A CN115686177 A CN 115686177A CN 202211288096 A CN202211288096 A CN 202211288096A CN 115686177 A CN115686177 A CN 115686177A
- Authority
- CN
- China
- Prior art keywords
- state
- signal
- target state
- power consumption
- core
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000001514 detection method Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 30
- 230000004913 activation Effects 0.000 claims description 11
- 230000007704 transition Effects 0.000 claims description 10
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 description 32
- 230000015654 memory Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- AYNSTGCNKVUQIL-UHFFFAOYSA-N C(CCCCCCCCCCC)C=1C=CC(=C(C=1)C1=NC(=CC(=C1)N(CCN(C)C)C)C1=C(C=CC(=C1)CCCCCCCCCCCC)OC)OC Chemical compound C(CCCCCCCCCCC)C=1C=CC(=C(C=1)C1=NC(=CC(=C1)N(CCN(C)C)C)C1=C(C=CC(=C1)CCCCCCCCCCCC)OC)OC AYNSTGCNKVUQIL-UHFFFAOYSA-N 0.000 description 7
- 101100309034 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RTF1 gene Proteins 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 102100038980 Exosome complex component CSL4 Human genes 0.000 description 4
- 101000882169 Homo sapiens Exosome complex component CSL4 Proteins 0.000 description 4
- 101100495436 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CSE4 gene Proteins 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 101100003180 Colletotrichum lindemuthianum ATG1 gene Proteins 0.000 description 2
- 102100024829 DNA polymerase delta catalytic subunit Human genes 0.000 description 2
- 101000868333 Homo sapiens Cyclin-dependent kinase 1 Proteins 0.000 description 2
- 101000909198 Homo sapiens DNA polymerase delta catalytic subunit Proteins 0.000 description 2
- 101000632319 Homo sapiens Septin-7 Proteins 0.000 description 2
- 101150042248 Mgmt gene Proteins 0.000 description 2
- 101100166255 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CEP3 gene Proteins 0.000 description 2
- 102100027981 Septin-7 Human genes 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本申请实施例公开了一种处理器、处理器的处理方法和电子设备。该处理器包括:功耗控制模块,其用于接收状态切换指示信号,基于状态切换指示信号确定目标状态信号,并将目标状态信号发送,其中,目标状态信号用于指示核的候选目标状态;状态切换模块,其用于接收来自功耗控制模块发送的目标状态信号,根据核的当前状态和目标状态信号所表征的核的候选目标状态确定目标状态,并生成与目标状态对应的输出信号,通过输出信号,将核内预设功能模块的工作状态调整为目标状态。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种处理器以及处理器的处理方法、电子设备。
背景技术
目前,低功耗的处理器成为高性能的重要指标,需要处理器在闲置的状态下进入低功耗状态,从而达到降低功耗的目的。然而,对于多核处理器,任意一个核在指令未完成的情况下,进入低功耗状态,或者,在有运行需求的情况下,从低功耗状态切换回运行状态不及时,就可能导致系统内存不一致,进而影响处理器处理数据的准确性,处理性能变差。
发明内容
本申请实施例提供一种处理器以及处理器的处理方法、电子设备,提高了处理器的处理性能。
本申请的技术方案是这样实现的:
本申请实施例提供了一种处理器,所述处理器包括多个核;其中,任意一个核包括:
功耗控制模块和状态切换模块;所述功耗控制模块与所述状态切换模块连接;所述功耗控制模块,用于接收状态切换指示信号,基于所述状态切换指示信号,确定目标状态信号;所述目标状态信号用于指示所述核的候选目标状态;所述状态切换模块,用于根据所述候选目标状态和所述核的当前状态,确定目标状态;生成与目标状态对应的输出信号,通过所述输出信号,将所述核内预设功能模块的工作状态调整为所述目标状态。
本申请实施例提供了一种处理器的处理方法,应用于上述处理器,包括:
通过功耗控制模块,接收状态切换指示信号;基于所述状态切换指示信号,确定目标状态信号;将所述目标状态信号发送给状态切换模块;所述目标状态信号用于指示所述核的候选目标状态;
通过所述状态切换模块,根据所述候选目标状态和所述核的当前状态,确定目标状态;生成与目标状态对应的输出信号,通过所述输出信号,将所述核内预设功能模块的工作状态调整为所述目标状态。
本申请实施例提供了一种电子设备,包括上述处理器,所述处理器运行时,实现上述处理器的处理方法。
附图说明
图1为本申请实施例提供的一种可选的处理器的核的结构示意图;
图2为本申请实施例提供的一种可选的处理器的核的结构示意图;
图3为本申请实施例提供的一种可选的处理器的核的结构示意图;
图4为本申请实施例提供的一种可选的处理器的核的结构示意图;
图5为本申请实施例提供的一种可选的处理器的核的结构示意图;
图6为本申请实施例提供的一种可选的第一译码电路的逻辑示意图;
图7为本申请实施例提供的一种可选的状态机的状态切换过程示意图;
图8为本申请实施例提供的一种可选的状态机的状态切换过程示意图;
图9为本申请实施例提供的一种可选的状态机的状态切换过程示意图;
图10为本申请实施例提供的一种可选的状态机的状态切换过程示意图;
图11为本申请实施例提供的一种可选的状态机的状态切换过程示意图;
图12为本申请实施例提供的一种可选的处理器的核的结构示意图;
图13为本申请实施例提供的一种可选的处理器的处理方法流程图;
图14为本申请实施例提供的一种可选的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为便于理解本方案,在对本申请实施例进行说明之前,对本申请实施例中的应用背景进行说明。
目前,对于单核处理器,可以通过任意一种低功耗技术减小处理器的功耗,如时钟门控(Clock Gating)、电源门控(Power Gating)或者动态电压频率调节(Dynamic Vcc andFrequency Scaling,DVFS)等。通常,处理器可以通过核发出低功耗指令,使核内预设模块运行在对应的低功耗状态下。然而,对于多核处理器来说,读写处理的最后一级缓存(cache)(包括核内cache以及多核共享cache),为了减少功耗,任何一个核在处理的数据发生改变后,可能不会写入共享cache。如此,单个核处理的数据更新后,可能只保存在自身的cache中,若此时该核处于低功耗状态,其他正在运行的核无法读取该核cache中的数据;或者,核还未完成任务处理,就接收到低功耗指令,进入低功耗状态,导致正在进行的任务未处理完成,就会影响处理器处理数据的准确性,处理性能变差。
为了解决上述问题,本申请实施例提供一种处理器,包括多个核(core)。图1为本申请实施例提供的一种可选的处理器的核的结构示意图。如图1所示,任意一个核1可以包括:功耗控制模块10、状态切换模块20和预设功能模块30。其中,功耗控制模块10,其用于接收状态切换指示信号,基于状态切换指示信号确定目标状态信号,并将目标状态信号发送给状态切换模块20,其中,目标状态信号用于指示核的候选目标状态。状态切换模块20,其用于根据候选目标状态和核的当前状态确定目标状态,生成与目标状态对应的输出信号,通过输出信号,将核内预设功能模块30的工作状态调整为目标状态。
在本申请实施例中,一个核的状态可以包括:运行状态(RUN)、闲置状态(idle)和低功耗状态(low power)。其中,低功耗状态可以包括:时钟门控状态、电源门控状态和动态电压频率调整状态等。在本申请实施例中,可以根据需要设置低功耗状态,对此不作限制。
在本申请实施例中,状态切换指示信号用于指示核的候选目标状态。这里,不同的状态切换指示信号可以用于指示不同的候选目标状态。对此,可以根据需要设置,本申请实施例不作限制。
在本申请实施例中,核的候选目标状态可以包括:运行状态和至少一种低功耗状态。示例性的,状态切换指示信号包含2bit信息,其中,01表示运行状态,11表示低功耗状态1,12表示低功耗状态2。
在本申请实施例中,功耗控制模块10在接收到状态切换指示信号后,可以解析状态切换指示信号,得到候选目标状态;并基于候选目标状态,生成对应的目标状态信号,将目标状态信号发送给状态切换模块20,通过目标状态信号指示状态切换模块20切换核的工作状态至候选目标状态。
在本申请实施例中,功耗控制模块10可以接收来自核1外部其他核或其他模块的外部请求信息作为状态切换指示信号。其中,外部请求信息可以包括:访问请求和读取内存请求等需要核的状态为运行状态的请求,例如,嗅探(snoop)请求。功耗控制模块10也可以接收来自核1内状态切换模块20的状态切换指示信号,该状态指示信号可以为核1下发给状态切换模块20的状态切换请求后,由状态切换模块20根据状态切换请求生成的信号。对于状态切换指示信号,可以根据需要设置,对此,本申请实施例不作限制。
在本申请实施例中,状态切换模块20接收到目标状态信号后,可以根据核1的当前状态和候选目标状态,确定目标状态,并生成对应的输出信号,将输出信号发送至核内预设功能模块30,使预设功能模块30在输出信号的控制下,在目标状态下工作,从而实现将核1的工作状态调整为目标状态。这里,预设功能模块30可以是核内,除状态切换模块20和功耗控制模块10以外的其他所有模块,或部分模块,例如,运算模块、存储模块等。对于预设功能模块30的具体实现,可以根据需要设置,本申请实施例不作限制。
示例性的,状态切换模块20可以按照以下来确定目标状态:
(1)可以在闲置状态下,且候选目标状态为低功耗状态的情况下,将候选目标状态确定为目标状态,即目标状态为低功耗状态,以此来减小处理器功耗;
(2)可以在低功耗状态下,且候选目标状态为运行状态的情况下,将候选目标状态确定为目标状态,即目标状态为运行状态,以此来使处理器恢复运行,及时处理数据;
(3)可以在第一低功耗状态下,且候选目标状态为第二低功耗状态的情况下,将第一低功耗状态确定为目标状态,优化低功耗状态。
可以理解的是,对于多核处理器中任意一个核,可以通过功耗控制模块10接收状态切换指示信号,获取候选目标状态,然后,通过功耗控制模块10,基于候选目标状态,以及核的当前状态,确定出合适的目标状态。如此,功耗控制模块10接收到被指示的候选目标状态,也可以根据核的当前状态确定最合适的工作状态,减少了处理器因不当的状态切换,导致系统内存不一致以及任务未处理完成等问题,从而提高了处理器的处理性能。
在本申请的一些实施例中,状态切换模块20,还用于根据目标状态信号所指示的候选目标状态,以及核1的当前状态,判断是否将候选目标状态作为目标状态;在将所述候选目标状态作为所述目标状态的情况下,向所述功耗控制模块10发送状态接收信号;在将所述当前状态作为所述目标状态的情况下,向所述功耗控制模块10发送状态拒绝信号。
在本申请实施例中,状态切换模块20,在接收到目标状态信号之后,可以根据目标状态信号所指示的候选目标状态,以及核1的当前状态,判断是否接受候选目标状态作为目标状态,得到判断结果;根据判断结果,向功耗控制模块10返回对应的状态接收反馈信息。其中,状态切换模块20在接受候选目标状态作为目标状态的情况下,返回的状态接收反馈信息为状态接收信号;在拒绝候选目标状态作为目标状态的情况下,返回的状态接收反馈信息为状态决绝信号。
可以理解的是,状态切换模块20在接收到目标状态信号指示的候选目标状态下,可以根据核的实际情况,选择接受该指示,也可以拒绝该指示,提高了状体切换的灵活性,从而可以使得核可以保持在与实际情况相适应的目标状态下,降低了处理器功耗的同时,保障了处理器的处理数据的准确性。
在本申请的一些实施例中,状态切换模块20,还用于在核的当前状态为低功耗状态,且候选目标状态为运行状态的情况下,将运行状态确定为目标状态。
在本申请实施例中,在核处于低功耗状态的情况下,状态切换模块20如果接收到的目标状态信号指示的候选目标状态为运行状态,状态切换模块20可以将运行状态确定为目标状态,通过与运行状态对应的输出信号,将预设功能模块30的工作状态调整为运行状态,使核退出低功耗状态,恢复运行。
可以理解的是,状态切换模块20可以在核处于低功耗状态的情况下,将核的状态切换至运行状态,恢复核的正常运行,使核可以继续处理数据。如此,可以减少系统缓存不一致对处理器性能的影响。
在本申请的一些实施例中,状态切换模块20,还用于在核1的当前状态为空闲状态,且候选目标状态为第一低功耗状态的情况下,将第一低功耗状态确定为目标状态。
在本申请实施例中,在核处于空闲状态的情况下,状态切换模块20如果接收到的目标状态信号指示的候选目标状态为第一低功耗状态,状态切换模块20可以将第一低功耗状态确定为目标状态,通过与低功耗对应的输出信号,将预设功能模块30的工作状态调整为第一低功耗状态,使核进入第一低功耗状态,如此,可以减少核的功耗。
在本申请的一些实施例中,状态切换模块20,还用于在核1的当前状态为空闲状态,且候选目标状态为第二低功耗状态的情况下,将空闲状态确定为目标状态。
在本申请实施例中,在核处于空闲状态的情况下,状态切换模块20如果接收到的目标状态信号指示的候选目标状态为第二低功耗状态,状态切换模块20可以将第二低功耗状态确定为目标状态,通过与第二低功耗对应的输出信号,将预设功能模块30的工作状态调整为第二低功耗状态,使核进入第二低功耗状态,如此,可以减少核的功耗。
在本申请的一些实施例中,状态切换模块20,还用于在核的当前状态为第二低功耗状态,且候选目标状态为第一低功耗状态的情况下,将第一低功耗状态确定为目标状态。
在本申请实施例中,在核处于第二低功耗状态的情况下,状态切换模块20如果接收到的目标状态信号指示的候选目标状态为第一低功耗状态,状态切换模块20可以将第一低功耗状态确定为目标状态,通过与第一低功耗对应的输出信号,将预设功能模块30的工作状态调整为第一低功耗状态,从而优化核的低功耗状态,减少核的功耗。
在本申请实施例中,第一低功耗状态和第二低功耗状态可以根据需要设置,本申请实施例不作限制。
在本申请的一些实施例中,功耗控制模块10,还用于在接收到状态拒绝信号的情况下,基于状态切换指示信号和状态拒绝信号,确定新的目标状态信号;将新的目标状态信号发送给状态切换模块20。
在本申请实施例中,功耗控制模块10将目标状态信号发送给状态切换模块20后,可能接收到来自状态切换模块20的状态拒绝信号。如此,功耗控制模块10可以基于状态切换指示信号和状态拒绝信号,确定新的目标状态信号,将新的目标状态信号发送给状态切换模块20。
示例性的,状态切换指示信号指示的目标状态为低功耗状态,功耗控制模块10向状态切换模块20发送的目标状态信号,可以指示第一低功耗状态为候选目标状态,状态切换模块20在拒绝该候选目标状态后,向功耗控制模块10发送状态拒绝信号;功耗控制模块10可以根据状态拒绝信号和状态指示信号,得到指示第二低功耗状态为候选目标状态的新的目标状态信号。
在本申请实施例中,状态切换模块20在拒绝功耗控制模块10指示的候选目标状态后,功耗制模块10可以根据状态切换指示信号,继续向状态切换模块20发送新的目标状态信号,通过新的目标状态信号指示新的候选目标状态,直到状态切换模块20接收功耗控制模块指示的候选目标状态,将候选目标状态作为目标状态,完成状态切换。
可以理解的是,功耗控制模块10可以根据状态切换模块20反馈的状态拒绝信号,结合状态切换指示信号,重新向状态切换模块指示新的候选目标状态,直到状态切换模块20接受候选目标状态作为目标状态,提高了状态切换过程的灵活性,从而使状态切换模块可以将核的状态维持在合适的状态,减少系统内存不一致,以及任务未完成的情况。
在本申请的一些实施例中,状态切换模块20,还用于接收来自核1的状态切换请求;根据状态切换请求,生成状态切换激活信号作为状态切换指示信号;以及,在将当前状态切换至目标状态之后,向核1反馈状态切换完成信号;目标状态为当前状态以外的其他状态。
在本申请实施例中,核1可以向状态切换模块20发送状态切换请求,状态切换模块20接收到状态切换请求后,可以根据状态切换请求,生成状态切换激活信号,将状态切换激活信号作为状态切换指示信号发送给功耗控制模块10。例如,状态切换请求用于请求将核的状态切换至低功耗状态。如此,状态切换模块20生成的状态切换激活信号可以携带低功耗状态的指示信息。
在本申请实施例中,功耗控制模块10接收到状态切换激活信号后,可以生成目标状态信号,通过目标状态信号指示候选目标状态,在状态切换模块20接受候选目标状态作为目标状态后,完成状态切换,并向核1反馈状态切换完成信号。
图2示出了本申请实施例提供的一种处理器,包括多个核1。下面参考图2对该核1的内部信号控制流程进行说明。
如图2所示,对于任意一个核1,状态切换模块20可以接受来自核1的状态切换请求信号lpwr_req,信号lpwr_req用于请求将核1的状态切换为低功耗状态,之后,状态切换模块20根据信号lpwr_req生成状态切换激活信号ms2pwr_active,将信号ms2pwr_active作为状态切换指示信号。功耗控制模块10可以根据信号ms2pwr_active生成目标状态信号。这里,目标状态信号可以包括pwr2ms_state和pwr2ms_req,其中,pwr2ms_state用于指示候选目标状态,pwr2ms_req用于请求状态切换模块20进行状态切换。状态切换模块20可以响应目标状态信号,在确定接受候选目标状态作为目标状态的情况下,向功耗控制模块10反馈状态接收信号ms2pwr_accept,并生成对应的输出信号,将预设功能模块30的工作状态调整到目标状态;或者,在确定拒绝候选目标状态作为目标状态的情况下,向功耗控制模块10反馈状态拒绝信号ms2pwr_deny。需要说明的是,图2中所有信号置位为高电平的情况下,表示该信号有效,否则表示该信号无效。其中,reset1为功耗控制模块10的复位信号,clk1为功耗控制模块10的时钟控制信号;reset2为状态切换模块20的复位信号,clk1为状态切换模块20的时钟控制信号,warmrstreq为状态切换模块20的热复位信号。
在本申请的一些实施例中,功耗控制模块10,还用于接收到任务执行请求信号lpwr_wakeup,将任务执行请求信号lpwr_wakeup作为状态切换指示信号;目标状态信号所指示的候选目标状态为运行状态。
在本申请实施例中,功耗控制模块10可以接收到任务执行请求信号,将任务执行请求作为状态切换指示信号,基于任务执行请求信号生成目标状态信号;这里,目标状态信号指示的候选目标状态为运行状态。
在本申请实施例中,任务执行请求可以包括:嗅探(snoop)请求、调试(debug)请求、中断(gic)请求、高速缓存(cache)访问请求、旁路转换缓冲(Translation LookasideBuffer,TLB)维护操作请求等。对于任务执行请求可以根据需要设置,本申请实施例不作限制。在功耗控制模块10接收到任务请求的情况下,任务执行请求信号lpwr_wakeup置位为“1”。
可以理解的是,功耗控制模块10可以接收任务执行请求,根据任务执行请求指示状态切换模块20将核的状态切换为运行状态。如此,即使核的当前状态为低功耗状态,在接收到任务执行请求后,可以快速恢复至运行状态,减少系统内存不一致的问题,提高了处理器性能。
图3示出了本申请实施例提供的一种可选的处理器,与前面图1或图2所示的处理器的核内部结构相比,本例中任意一个核1还包括:任务状态检测模块40。其他模块与图1或图2中使用相同标号的模块功能相同或类似。
如图3所示,任务状态检测模块40与状态切换模块20连接,任务状态检测模块40,其用于基于预设检测任务的完成状态,生成任务完成状态信号cpu_intfidle,并将任务完成状态信号cpu_intfidle发送给状态切换模块20。
其中,预设检测任务可以为下载请求、读写请求、访问请求等,对于预设检测任务,可以根据需要设置,本申请实施例不作限制。
在本申请实施例中,任务状态检测模块40可以检测核1预设检测任务的完成状态,并生成任务完成状态信号cpu_intfidle,通过cpu_intfidle表征预设检测任务的完成状态。这里,cpu_intfidle置位为“1”表示核1没有处理任务;cpu_intfidle为“0”表示核1正在处理任务。
可以理解的是,通过任务状态检测模块40可以完成对预设检测任务的完成任务的检测,并通过任务完成状态信号通知状态切换模块20,核1的当前状态是否为闲置状态,如此,提高了任务状态检测模块40确定核1的闲置状态的准确性。
在本申请的一些实施例中,状态切换模块20,还用于在任务完成状态信号表征预设检测任务已完成的情况下,确定核1处于空闲状态。其中,预设检测任务包括以下至少一种:读指令任务、写指令任务、缓存访问任务、旁路转换缓冲TLB维护任务和系统缓存访问任务。
在本申请实施例中,状态切换模块20可以在cpu_intfidle置位为“1”的情况下,确定预设检测任务已完成,进而确定核1处于空闲状态。
其中,预设检测任务可以包括以下至少一种:读指令任务、写指令任务、缓存访问任务、旁路转换缓冲TLB维护任务和系统缓存访问任务。需要说明的是,在预设检测任务包括多个任务的情况下,只有多个任务均已完成,任务完成状态信号才会置位为“1”。
可以理解的是,任务状态检测模块40可以检测每个预设检测任务的完成状态,在预设检测任务均完成的情况下,确定核1处于空闲状态,增加了确定空闲状态的灵活度,提高了空闲状态的检测效率。
图4示出了本申请实施例提供的一种可选的处理器,相比于图3,给出了任务状态检测模块40的具体实现电路和信号,其他模块与图3中使用相同标号的模块功能相同或类似。
如图4所示,任务状态检测模块40包括:第一时序逻辑组合电路CSL1。第一时序逻辑组合电路CSL1,其用于基于预设检测任务执行信号empty_for_wfi和逻辑处理信号intf_idle_cnt,确定任务完成状态信号,其中,预设检测任务执行信号包括的信号数量与预设检测任务的种类的数量相同。
在本申请实施例中,预设检测任务执行信号empty_for_wfi包括:{load_instr,store_instr,cache_access,TLB_main,l3_access}。其中,load_instr表示读指令任务的完成状态,store_instr表示写指令任务的完成状态,cache_access表示缓存访问任务的完成状态,TLB_main表示旁路转换缓冲TLB维护任务下载任务的完成状态,l3_access表示系统缓存访问任务的完成状态。这里,每种信号置位为“1”表示对应的预设检测任务已完成,为“0”表示对应的预设检测任务未完成。逻辑处理信号intf_idle_cnt在预设检测任务未完成的情况下进行自减,在预设检测任务完成的情况下进行自加;该运算过程的中间过程,计算结果可以寄存起来,记为intf_idle_cnt_q。在预设检测任务全部完成的情况下,置位为“1”,以任务完成状态信号cpu_intfidle发送到状态切换模块20。
需要说明的是,只有cpu_intfidle置位为“1”的情况下,状态切换模块20才会将的状态切换请求lpwr_req通过状态切换激活信号ms2pwr_active传输给功耗控制模块10,此时ms2pwr_active为“1”;如果cpu_intfidle为“0”,ms2pwr_active可以为“0”,不包含任何信息,如此,功耗控制模块10相当于没有接收到状态切换指示信号,核1可以继续维持当前状态。
图5示出了本申请实施例提供的一种可选的处理器,相比于图3,给出了状态切换模块20的具体实现电路和信号,其他模块与图3中使用相同标号的模块功能相同或类似。
如图5所示,状态切换模块20包括:第二时序逻辑组合电路CSL2、第一译码电路CASE1、第三时序逻辑组合电路CSL3和状态机FSM,第一译码电路CASE1与第二时序逻辑组合电路CSL2连接,第一译码电路CASE1、状态机FSM均与第三时序逻辑组合电路CSL3连接。
第二时序逻辑组合电路CSL2,其用于获取目标状态信号所指示的候选目标状态pwr2ms_state,基于候选目标状态pwr2ms_state生成候选目标状态信号state;第一译码电路CASE1,其用于基于当前候选目标状态信号和上一次候选目标状态信号进行译码,得到中间跳转信号,其中,中间跳转信号表征状态切换模块接受候选目标状态,或者拒绝候选目标状态;第三时序逻辑组合电路CSL3,其用于基于状态机FSM的工作状态和中间跳转信号进行逻辑处理,得到状态反馈信号;状态机FSM用于基于自身的工作状态生成输出信号。
在本申请实施例中,状态切换模块20还包括第一跨时钟域电路CDC1,该第一跨时钟域电路CDC1,其用于获取来自于目标状态信号中的第二状态切换请求pwr2ms_req,基于第二状态切换请求pwr2ms_req生成候选状态切换请求req,将req发送至CSL3,此时,CSL3需要响应req向功耗控制模块10发送状态反馈信号ms2pwr_accept或者ms2pwr_deny。
图6示出了本申请实施例提供的一种第一译码电路的逻辑示意图,如图6所示,第一译码电路CASE1的输入信号包括:当前候选目标状态信号cur_state和上一次候选目标状态信号ms_state。经译码处理后,得到的中间跳转信号可以为以下任意一种:接受信号accept、拒绝信号deny和允许切换信号transition_allowed。其中,接受信号表示状态机可以直接跳转至cur_state,也即功耗控制模块10发送的候选目标状态信号;拒绝信号表示不允许状态机切换状态;允许切换信号表示允许状态机跳转至cur_state,但不能直接跳转至cur_state。
在本申请实施例中,第三时序逻辑组合电路CSL3可以接收来自第一译码电路CASE1的中间跳转信号以及状态机FSM的工作状态信号,然后基于中间跳转信号以及状态机FSM的工作状态信号进行逻辑处理,得到状态反馈信号。其中,FSM的工作状态信号用于表征状态机FSM的工作状态。这里,第三时序逻辑组合电路CSL3的逻辑处理方式可以根据需要设置,对此,本申请实施例不作限制。
在本申请实施例中,在中间跳转信号为接受信号和允许切换信号的情况下,状态反馈信号可以为ms2pwr_accept;在中间跳转信号为拒绝信号的情况下,状态反馈信号可以为ms2pwr_deny。
在本申请实施例中,状态机FSM的状态切换至目标状态后,可以输出与目标状态对应的输出信号,该输出信号可以控制核1内预设功能模块30的工作状态也处于目标状态。
需要说明的是,在状态切换模块20上电的情况下,状态机FSM会进行初始化,之后,将可以使状态机FSM处于运行状态,即状态切换模块20处于运行状态,也即核1处于运行状态。
图7示出了本申请实施例提供的一种状态机的初始化过程示意图。如图7所示,状态机FSM开始处于S1状态(关闭状态MS_FSM_OFF),在状态切换模块20上电后,状态机FSM开始初始化。
若req_run_vld信号置位为“1”,响应于req_run_vld信号有效,可以对桥进行上电,FSM跳转到S2状态(MS_FSM_PWRUP_BRDG);在对桥上电完成后,pwr_run_comb信号置位为“1”,响应于pwr_run_comb信号有效,检查debug,进入S3状态(MS_FSM_DBG_CON),debug检查状态;在检查debug完毕后,dbgcon_done信号置位为“1”;响应于dbgcon_done信号有效,进入S4状态(MS_FSM_SNP_CON),检查是否有snoop请求;在snoop请求检查完毕后,coack_sync信号置位为“1”,响应于coack_sync信号有效,执行初始化检查,FSM进入S5状态(MS_FSM_PWRUP_THREAD),初始化检查状态,初始化检查执行完毕后,thread_mgmt_done信号置位为“1”,响应于thread_mgmt_done信号有效,将状态机FSM切换至运行状态,FSM进入S6状态(MS_FSM_RUN),运行状态。
在本申请的一些实施例中,状态切换模块20,还用于在中间跳转信号表征状态切换模块20接受候选目标状态的情况下,将状态机FSM的工作状态由当前状态切换至中间状态;在候选目标状态的指示信号有效的情况下,将状态机FSM的工作状态由中间状态切换至候选目标状态;或者,在候选目标状态的指示信号无效的情况下,将状态机FSM的工作状态由中间状态切换至当前状态。
在本申请实施例中,由于核从一个状态切换到另一个状态的过程中,需要切换预设功能模块30的状态,不能瞬间完成切换,需要分阶段进行状态跳转。因此,在需要进行状态跳转的情况下,状态切换模块20可以先将状态机FSM的工作状态由当前工作状态切换至中间状态;在中间状态,根据候选目标状态的指示信号是否有效,进而判断下一步跳转方向。
在本申请实施例中,候选目标状态的指示信号可以包括至少一个信号,不同的候选目标状态可以对应不同的指示信号,对于候选目标状态的指示信号可以根据需要设置,对此,本申请实施例不作限制。
可以理解的是,状态机的工作状态切换过程中,先切换至中间状态,再根据实际情况进行下一步跳转,可以提高核的状态的切换效率,进而提高处理器的处理性能。
在本申请的一些实施例中,在候选目标状态为低功耗状态的情况下,低功耗状态包括时钟门控状态MS_FSM_LPWR_CG,中间状态包括与时钟门控状态对应的时钟门控中间状态MS_FSM_LPWR_CG_BRDG;低功耗状态包括状态保持寄存器状态MS_FSM_LPWR_RET;中间状态包括与状态寄存器状态对应的状态保持寄存器中间状态MS_FSM_LPWR_RET_BRDG;在当前状态为低功耗状态的情况下,中间状态包括开放中间状态MS_FSM_OPEN_BRDG。
图8示出了本申请实施例提供一种可选的状态机的状态切换过程示意图,如图8所示,状态机FSM当前状态为S6(MS_FSM_RUN)运行状态,在候选目标状态为时钟门控状态,且允许状态切换的情况下,即req_lpwr_cg_vld信号置位为“1”,状态机将跳转到S61(时钟门控中间状态MS_FSM_LPWR_CG_BRDG);在候选目标状态为状态保持寄存器状态的情况下,即req_lpwr_ret_vld信号置位为“1”,状态机将跳转到S62(状态保持寄存器中间状态MS_FSM_LPWR_RET_BRDG)。
如图9所示的状态机的状态切换图,在本申请实施例中,状态机切换至S61(MS_FSM_LPWR_CG_BRDG)后,检测候选目标状态的指示信号clk_stopped、req_lpwr_cg_vld和clk_denied是否有效。
在clk_stopped&req_lpwr_ret_vld为“1”的情况下,状态切换模块20可以将状态机FSM从状态S61(MS_FSM_LPWR_CG_BRDG)切换至状态S611(MS_FSM_LPWR_CG)。在clk_stopped&~req_lpwr_cg_vld为“1”,或者,clk_denied为“1”的情况下,状态切换模块20可以将状态机FSM从状态S61(MS_FSM_LPWR_CG_BRDG)切换至状态S66(MS_FSM_QEXIT1),退出时钟中间状态,再检测运行状态的指示信号clk_run、pwr_run_comb是否有效,若clk_run&pwr_run_comb为“1”,则状态机从状态S66(MS_FSM_QEXIT1)跳转回状态S6(MS_FSM_RUN)。
如图10所示的状态机的状态切换图,在本申请实施例中,状态机切换至状态S62(MS_FSM_LPWR_RET_BRDG)后,检测候选目标状态的指示信号pwr_stopped_comb、req_lpwr_ret_vld和pwr_denied_comb是否有效。
在pwr_stopped_comb&req_lpwr_ret_vld为“1”的情况下,状态切换模块20可以将状态机从状态S62(MS_FSM_LPWR_RET_BRDG)切换至状态S621(MS_FSM_LPWR_RET)。
在pwr_stopped_comb&~req_lpwr_ret_vld为“1”,或者,pwr_denied_comb为“1”的情况下,状态切换模块20可以将状态机FSM从S62(MS_FSM_LPWR_RET_BRDG)切换至状态S66(MS_FSM_QEXIT1),退出状态保持寄存器中间状态,再检测运行状态的指示信号clk_run、pwr_run_comb是否有效,若clk_run&pwr_run_comb为“1”,则状态机从状态S66(MS_FSM_QEXIT1)跳转回状态S6(MS_FSM_RUN)。
图11为本申请实施例提供一种可选的状态机的状态切换图,如图11所示,状态机FSM当前状态为低功耗状态S61(MS_FSM_LPWR_CG)或者状态S62(MS_FSM_LPWR_RET),在候选目标状态为运行状态,且允许状态切换的情况下,req_run_vld置位为“1”,状态机FSM可以从当前状态跳转至状态S7(开放中间状态MS_FSM_OPEN_BRDG),然后,检测运行状态的指示信号clk_run、clk_run_comb是否有效;若clk_run&clk_run_comb为“1”,则状态机FSM从状态S7(MS_FSM_OPEN_BRDG)跳转回状态S6(MS_FSM_RUN);若clk_run&clk_run_comb为“0”,则状态机继续保持状态S7,即开放中间状态。
可以理解的是,状态机FSM先跳转到各种中间状态,再从各种中间状态跳转至对应的目标状态,或者恢复运行状态等,可以提高状态机跳转的灵活性和效率,使核的状态可以及时调整为合适的状态,从而提高了处理器的性能。
图12提供了一种可选的处理器,相比于图3,给出了功耗控制模块10的具体实现电路和信号,其他模块与图3中使用相同标号的模块功能相同或类似。
如图12所示,功耗控制模块10包括:第二译码电路CASE2和第四时序逻辑组合电路CSL4,第二译码电路CASE2和第四时序逻辑组合电路CSL4连接。第二译码电路CASE2,其用于基于状态转换指示信号进行译码处理,得到中间状态转换信号;第四时序组合电路CSL4,其用于基于状态转换指示信号和状态反馈信号进行逻辑处理,得到候选目标状态信号和状态切换请求信号,其中,目标状态信号包括候选目标状态信号和状态切换请求信号。
在本申请实施例中,状态切换指示信号包括状态切换激活信号ms2pwr_active,功耗控制模块10还包括第二跨时钟域电路CDC2和第三跨时钟域电路CDC3。其中,第二跨时钟域电路CDC2用于接收以下至少一种:状态切换激活信号ms2pwr_active和任务执行请求信号lpwr_wakeup,然后,将状态切换激活信号ms2pwr_active转换为激活信号active,并发送给第二译码电路CASE2;将任务执行请求信号lpwr_wakeup转换为lpwr_wakeup_q,并发送给第二译码电路CASE2;第三跨时钟域电路CDC3用于接收状态反馈信号ms2pwr_accept或者ms2pwr_deny,将ms2pwr_accept转换为accept,将ms2pwr_deny转换为deny。如此,第二译码电路CASE2可以基于active和lpwr_wakeup_q中的至少一种进行译码处理,得到中间状态转换信号,然后将中间状态转换信号发送给第四时序组合电路CSL4;第四时序组合电路CSL4可以根据accept或者deny,以及中间状态转换信号,生成目标状态信号,并将目标状态信号发送给状态切换模块20,其中目标状态信号包括pwr2ms_req和pwr2ms_state。
可以理解的是,通过第二译码电路CASE2可以使功耗控制模块10充分考虑到任务执行请求和来自于核的状态切换指示,基于此选择候选目标状态。而且,在状态切换模块20拒绝候选目标状态的情况下,结合状态反馈信号给出新的候选目标状态,提高了功耗控制模块10确定候选目标状态的灵活性,增加了状态切换的智能性,使核可以维持在最合适的状态,从而提高了处理器的处理能力。
基于上述处理器,本申请实施例提供一种处理器的处理方法,如图13所示,该方法可以包括:
S101、通过功耗控制模块,接收状态切换指示信号,基于状态切换指示信号,确定目标状态信号;将目标状态信号发送;目标状态信号用于指示核的候选目标状态。
S102、通过状态切换模块,接收目标状态信号,并根据核的当前状态和目标状态信号指示的候选目标状态,确定目标状态;生成与目标状态对应的输出信号,通过输出信号,将核内预设功能模块的工作状态调整为目标状态。
需要说明的是,关于处理器处理方法,可以参考上述对处理器的描述,此处不再赘述。
在本申请的一些实施例中,所述方法还包括:通过所述状态切换模块,根据所述候选目标状态和所述核的当前状态,判断是否将所述候选目标状态作为所述目标状态;其中,在将所述候选目标状态作为所述目标状态的情况下,向所述功耗控制模块发送状态接收信号;在将所述当前状态作为所述目标状态的情况下,向所述功耗控制模块发送状态拒绝信号。
在本申请的一些实施例中,所述方法还包括:通过所述状态切换模块,基于如下操作之一来确定所述目标状态:
在所述核的当前状态为低功耗状态,且所述候选目标状态为运行状态的情况下,将所述运行状态确定为所述目标状态。
在所述核的当前状态为空闲状态,且所述候选目标状态为第一低功耗状态的情况下,将所述第一低功耗状态确定为所述目标状态。
在所述核的当前状态为空闲状态,且所述候选目标状态为第二低功耗状态的情况下,将所述空闲状态确定为所述目标状态。
在所述核的当前状态为第二低功耗状态,且所述候选目标状态为第一低功耗状态的情况下,将所述第一低功耗状态确定为所述目标状态。
在本申请的一些实施例中,所述方法还包括:通过所述功耗控制模块,在接收到所述状态拒绝信号的情况下,基于所述状态切换指示信号和所述状态拒绝信号,确定新的目标状态信号;将所述新的目标状态信号发送给所述状态切换模块。
在本申请的一些实施例中,所述方法还包括:通过所述状态切换模块,接收来自所述核的状态切换请求;根据所述状态切换请求,生成所述状态切换激活信号作为所述状态切换指示信号;以及,在将所述当前状态切换至所述目标状态之后,向所述核反馈状态切换完成信号;所述目标状态为所述当前状态以外的其他状态。
在本申请的一些实施例中,所述方法还包括:通过所述功耗控制模块,在接收到任务执行请求信号的情况下,将所述任务执行请求信号作为所述状态切换指示信号;所述目标状态信号所指示的候选目标状态为运行状态。
在本申请的一些实施例中,所述方法还包括:通过所述任务状态检测模块,基于预设检测任务的完成状态,生成任务完成状态信号;将所述任务完成状态信号发送给所述状态切换模块;通过所述状态切换模块,在所述任务完成状态信号表征所述预设检测任务已完成的情况下,确定所述核处于所述空闲状态;其中,所述预设检测任务包括以下至少一种:读指令任务、写指令任务、缓存访问任务、旁路转换缓冲TLB维护任务和系统缓存访问任务。
在本申请的一些实施例中,所述方法还包括:通过第一时序逻辑组合电路,用于基于预设检测任务执行信号和逻辑处理信号,确定所述任务完成状态信号;所述预设检测任务执行信号包括的信号数量与所述预设检测任务的种类的数量相同。
在本申请的一些实施例中,所述方法还包括:通过第二时序逻辑组合电路,获取目标状态信号所指示的候选目标状态,基于所述候选目标状态生成候选目标状态信号;通过第一译码电路,基于当前候选目标状态信号和上一次候选状态信号进行译码,得到中间跳转信号;所述中间跳转信号表征所述状态切换模块接受所述候选目标状态,或者拒绝所述候选目标状态;通过状态机,基于自身的工作状态生成所述输出信号;通过第三时序逻辑组合电路,基于所述状态机的工作状态和所述中间跳转信号进行逻辑处理,得到状态反馈信号。
在本申请的一些实施例中,所述方法还包括:通过所述状态切换模块,在所述中间跳转信号表征所述状态切换模块接受所述候选目标状态的情况下,将所述状态机的工作状态由当前状态切换至中间状态;在所述候选目标状态的指示信号有效的情况下,将所述状态机的工作状态由所述中间状态切换至所述候选目标状态;或者,在所述候选目标状态的指示信号无效的情况下,将所述状态机的工作状态由所述中间状态切换至所述当前状态。
在本申请的一些实施例中,所述方法还包括:通过第二译码电路,基于状态转换指示信号进行译码处理,得到中间状态转换信号;通过第四时序组合电路,基于所述中间状态转换信号和状态反馈信号进行逻辑处理,得到候选目标状态信号和状态切换请求信号;其中,所述目标状态信号包括所述候选目标状态信号和所述状态切换请求信号。
图14为本申请实施例提供的一种可选的电子设备的结构组成示意图,如图14所示,电子设备110包括存储器1107、处理器1108及存储在存储器1107上并可在处理器1108上运行的计算机程序;其中,处理器1108用于运行所述计算机程序时,执行如前述实施例中处理器的处理方法;处理器1108包括多个核1。
可以理解,电子设备110还包括总线系统1109;电子设备110中的各个组件通过总线系统1109耦合在一起。可理解,总线系统1109用于实现这些组件之间的连接通信。总线系统1109除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ReadOnly Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static Random Access Memory,SRAM)、同步静态随机存取存储器(Synchronous Static Random Access Memory,SSRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、同步动态随机存取存储器(SynchronousDynamic Random Access Memory,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleData Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced Synchronous Dynamic Random Access Memory,ESDRAM)、同步连接动态随机存取存储器(SyncLink Dynamic Random Access Memory,SLDRAM)、直接内存总线随机存取存储器(Direct Rambus Random Access Memory,DRRAM)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信号,结合其硬件完成前述方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (13)
1.一种处理器,其特征在于,所述处理器包括多个核;其中,任意一个核包括:
功耗控制模块,其用于接收状态切换指示信号,基于所述状态切换指示信号确定目标状态信号,并将所述目标状态信号发送,其中,所述目标状态信号用于指示所述核的候选目标状态;
状态切换模块,其用于接收来自所述功耗控制模块发送的所述目标状态信号,根据所述核的当前状态和所述目标状态信号所表征的所述核的候选目标状态确定目标状态,并生成与目标状态对应的输出信号,通过所述输出信号,将核内预设功能模块的工作状态调整为所述目标状态。
2.根据权利要求1所述的处理器,其特征在于,
所述状态切换模块,其还用于根据所述候选目标状态和所述核的当前状态,判断是否将所述候选目标状态作为所述目标状态;其中,
在将所述候选目标状态作为所述目标状态的情况下,向所述功耗控制模块发送状态接收信号;在将所述当前状态作为所述目标状态的情况下,向所述功耗控制模块发送状态拒绝信号。
3.根据权利要求2所述的处理器,其特征在于,所述状态切换模块,其基于如下操作之一来确定所述目标状态:
在所述核的当前状态为低功耗状态,且所述候选目标状态为运行状态的情况下,将所述运行状态确定为所述目标状态;
在所述核的当前状态为空闲状态,且所述候选目标状态为第一低功耗状态的情况下,将所述第一低功耗状态确定为所述目标状态;
在所述核的当前状态为空闲状态,且所述候选目标状态为第二低功耗状态的情况下,将所述空闲状态确定为所述目标状态;
在所述核的当前状态为第二低功耗状态,且所述候选目标状态为第一低功耗状态的情况下,将所述第一低功耗状态确定为所述目标状态。
4.根据权利要求2所述的处理器,其特征在于,
所述功耗控制模块,其还用于在接收到所述状态拒绝信号的情况下,基于所述状态切换指示信号和所述状态拒绝信号,确定新的目标状态信号;将所述新的目标状态信号发送给所述状态切换模块。
5.根据权利要求1-4任一项所述的处理器,其特征在于,
所述状态切换模块,其还用于接收来自所述核的状态切换请求;根据所述状态切换请求,生成状态切换激活信号作为所述状态切换指示信号;以及,在将所述当前状态切换至所述目标状态之后,向所述核反馈状态切换完成信号;所述目标状态为所述当前状态以外的其他状态。
6.根据权利要求1-4任一项所述的处理器,其特征在于,
所述功耗控制模块,其还用于在接收到任务执行请求信号的情况下,将所述任务执行请求信号作为所述状态切换指示信号;所述目标状态信号所指示的候选目标状态为运行状态。
7.根据权利要求1-6任一项所述的处理器,其特征在于,
所述处理器还包括任务状态检测模块,
所述任务状态检测模块,其用于基于预设检测任务的完成状态,生成任务完成状态信号;将所述任务完成状态信号发送给所述状态切换模块;
所述状态切换模块,其还用于在所述任务完成状态信号表征所述预设检测任务已完成的情况下,确定所述核处于空闲状态;其中,
所述预设检测任务包括以下至少一种:
读指令任务、写指令任务、缓存访问任务、旁路转换缓冲TLB维护任务和系统缓存访问任务。
8.根据权利要求7所述的处理器,其特征在于,所述状态切换模块包括:
第一时序逻辑组合电路,其用于基于预设检测任务执行信号和逻辑处理信号,确定所述任务完成状态信号;所述预设检测任务执行信号包括的信号数量与所述预设检测任务的种类的数量相同。
9.根据权利要求1-6任一项所述的处理器,其特征在于,所述状态切换模块包括:
第二时序逻辑组合电路,其用于获取目标状态信号所指示的候选目标状态,基于所述候选目标状态生成候选目标状态信号;
第一译码电路,其用于基于当前候选目标状态信号和上一次候选状态信号进行译码,得到中间跳转信号;所述中间跳转信号表征所述状态切换模块接受所述候选目标状态,或者拒绝所述候选目标状态;
状态机,其用于基于自身的工作状态生成所述输出信号;
第三时序逻辑组合电路,其用于基于所述状态机的工作状态和所述中间跳转信号进行逻辑处理,得到状态反馈信号。
10.根据权利要求9所述的处理器,其特征在于,
所述状态切换模块,其还用于在所述中间跳转信号表征所述状态切换模块接受所述候选目标状态的情况下,将所述状态机的工作状态由当前状态切换至中间状态;
在所述候选目标状态的指示信号有效的情况下,将所述状态机的工作状态由所述中间状态切换至所述候选目标状态;或者,在所述候选目标状态的指示信号无效的情况下,将所述状态机的工作状态由所述中间状态切换至所述当前状态。
11.根据权利要求1-6任一项所述的处理器,其特征在于,所述功耗控制模块包括:
第二译码电路,其用于基于状态转换指示信号进行译码处理,得到中间状态转换信号;
第四时序组合电路,其用于基于所述中间状态转换信号和状态反馈信号进行逻辑处理,得到候选目标状态信号和状态切换请求信号;其中,所述目标状态信号包括所述候选目标状态信号和所述状态切换请求信号。
12.一种处理器的处理方法,其特征在于,应用于权利要求1-11任一项所述的处理器,包括:
通过功耗控制模块,接收状态切换指示信号,基于所述状态切换指示信号,确定目标状态信号;将所述目标状态信号发送给所述状态切换模块;所述目标状态信号用于指示所述核的候选目标状态;
通过状态切换模块,接收目标状态信号,并根据所述核的当前状态和所述目标状态信号指示的所述候选目标状态,确定目标状态;生成与目标状态对应的输出信号,通过所述输出信号,将所述核内预设功能模块的工作状态调整为所述目标状态。
13.一种电子设备,其特征在于,包括权利要求1-11任一项所述的处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211288096.7A CN115686177A (zh) | 2022-10-20 | 2022-10-20 | 处理器以及处理器的处理方法、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211288096.7A CN115686177A (zh) | 2022-10-20 | 2022-10-20 | 处理器以及处理器的处理方法、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686177A true CN115686177A (zh) | 2023-02-03 |
Family
ID=85066713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211288096.7A Pending CN115686177A (zh) | 2022-10-20 | 2022-10-20 | 处理器以及处理器的处理方法、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686177A (zh) |
-
2022
- 2022-10-20 CN CN202211288096.7A patent/CN115686177A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3736569A (en) | System for controlling power consumption in a computer | |
US7254727B2 (en) | Information processor with suppressed cache coherence in low power mode | |
CN113157043B (zh) | 基于强化学习的异构多核处理器动态电压调节方法及系统 | |
CN113093899B (zh) | 一种跨电源域数据传输方法 | |
US10802742B2 (en) | Memory access control | |
US6760810B2 (en) | Data processor having instruction cache with low power consumption | |
US20070038795A1 (en) | Asynchronous bus interface and processing method thereof | |
CN111782027A (zh) | Ddr存储器运行频率调整方法及装置 | |
KR900005287A (ko) | 데이타 제어 장치 및 그것을 사용하는 시스템 | |
CN115686177A (zh) | 处理器以及处理器的处理方法、电子设备 | |
EP0721163A1 (en) | Information processing apparatus with a mode setting circuit | |
CN112416677B (zh) | 一种具有软关机功能的服务器和软关机方法 | |
KR920010977B1 (ko) | 개선된 성능의 메모리 버스 아키텍쳐(memory bus architecture) | |
US5572479A (en) | Semiconductor integrated circuit having a synchronous type memory | |
KR20210108466A (ko) | 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템 | |
US20040083344A1 (en) | Method, apparatus, and system for improving memory access speed | |
US7124263B2 (en) | Memory controller, semiconductor integrated circuit, and method for controlling a memory | |
US6304931B1 (en) | Access limiting bus control system and method | |
JP2003521033A (ja) | マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム | |
US11620246B1 (en) | Enhanced peripheral processing system to optimize power consumption | |
EP0989495B1 (en) | Electronic circuit for protecting data contained in a semiconductor device | |
KR100575608B1 (ko) | 버스 제어회로 | |
US6154820A (en) | Arrangement for storing program instructions and data in a memory device and method therefor | |
JPH1153338A (ja) | 半導体集積回路およびその半導体集積回路における外部バスモード選択方法 | |
JPH09311812A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |