CN116070571A - 一种soc芯片和电子产品 - Google Patents
一种soc芯片和电子产品 Download PDFInfo
- Publication number
- CN116070571A CN116070571A CN202310150492.1A CN202310150492A CN116070571A CN 116070571 A CN116070571 A CN 116070571A CN 202310150492 A CN202310150492 A CN 202310150492A CN 116070571 A CN116070571 A CN 116070571A
- Authority
- CN
- China
- Prior art keywords
- processor
- resource
- power consumption
- state
- module
- 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
- 230000007958 sleep Effects 0.000 claims abstract description 139
- 238000004891 communication Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 206010062519 Poor quality sleep Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
-
- 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
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本公开提供一种SOC芯片和电子产品,属于芯片设计技术领域,其中SOC芯片包括多个处理器、多个第一资源模块、功耗控制模块以及总线;多个处理器、多个第一资源模块以及功耗控制模块通过总线连接;多个处理器与多个第一资源模块具有对应关系;在处理器与多个第一资源模块通过总线连接时,与处理器通信连接的多个第一资源模块互不相同;处理器,被配置为在睡眠条件满足的情况下,生成资源控制指令;向功耗控制模块传输资源控制指令,并进入睡眠状态;功耗控制模块,被配置为根据资源控制指令控制与处理器对应的第一资源模块进入低功耗状态。
Description
技术领域
本公开属于芯片设计技术领域,具体涉及一种SOC芯片和电子产品。
背景技术
随着半导体工艺提升,集成电路中晶体管尺寸不断缩小并接近物理极限,复杂性和性能不断提高的多核芯片普遍出现在台式机、笔记本电脑、智能手机中。在嵌入式系统中,对成本、尺寸和稳定性的要求往往优先于对性能的要求,所以多核芯片的发展较为缓慢。
多核芯片尽管增强了产品性能,但是芯片的功耗往往也大大增加。嵌入式系统通常都是非对称多处理器/异构多核(Asymmetric Multi-processing,AMP)架构,不同厂家生产的芯片架构差异较大,每个核的指令集体系结构不同、使用的操作系统(例如操作系统linux、RTOS或bare metal)不同、性能和作用不同(比如通讯处理器CP,应用处理器AP等),往往无法兼顾性能和功耗的平衡。
发明内容
本公开旨在至少解决现有技术中存在的技术问题之一,提供一种SOC芯片和电子产品。
第一方面,解决本公开技术问题所采用的技术方案是一种SOC芯片,其包括多个处理器、多个第一资源模块、功耗控制模块以及总线;所述多个处理器、所述多个第一资源模块以及所述功耗控制模块通过所述总线连接;所述多个处理器与所述多个第一资源模块具有对应关系;在所述处理器与多个所述第一资源模块通过所述总线连接时,与所述处理器通过所述总线连接的多个所述第一资源模块互不相同;
所述处理器,被配置为在睡眠条件满足的情况下,生成资源控制指令;向所述功耗控制模块传输所述资源控制指令,并进入睡眠状态;
所述功耗控制模块,被配置为根据所述资源控制指令控制与所述处理器对应的第一资源模块进入低功耗状态。
在一些实施例中,所述SOC芯片还包括多个第二资源模块;所述多个处理器与所述多个第二资源模块通过所述总线连接;所述多个处理器中的一个为第一处理器,除所述第一处理器以外的处理器为第二处理器;所述多个第一资源模块中的一部分与所述第一处理器对应且通过所述总线连接,另一部分与所述第二处理器对应且通过所述总线连接;所述第一处理器和所述第二处理器通过所述总线连接;所述资源控制指令包括第一资源控制指令和第二资源控制指令;
所述第二处理器,还被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,以使所述第一处理器获取所述占用信息;
所述第一处理器,还被配置为在自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器满足睡眠条件的情况下,根据获取到的所述占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;
所述功耗控制模块,还被配置为根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
在一些实施例中,所述总线包括第一总线;所述第一处理器和所述第二处理器通过所述第一总线连接;
所述第二处理器,具体被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,并利用所述第一总线,将所述占用信息发送至所述第一处理器。
在一些实施例中,所述SOC芯片还包括共享内存;所述总线包括第二总线,所述第二总线为进程间通信IPC;
所述第二处理器,具体被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,并利用所述进程间通信IPC将所述占用信息存储至所述共享内存;
所述第一处理器,具体被配置为在自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器满足睡眠条件的情况下,利用所述进程间通信IPC从所述共享内存中读取所述占用信息,根据获取到的所述占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;
所述功耗控制模块,被配置为根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
在一些实施例中,所述功耗控制模块,具体被配置为接收所述占用状态,在所述占用状态指示所述第二资源模块未被占用的情况下,根据预先设置的第一配置条件,配置自身寄存器,控制所述第二资源模块进入低功耗状态;在所述占用状态指示全部所述第二资源模块均未被占用的情况下,根据预先设置的第二配置条件,配置自身寄存器,控制所述SOC芯片进入低功耗状态。
在一些实施例中,所述第一处理器,还被配置在所述占用状态指示所述第二资源模块未被占用的情况下,且在控制自身进入睡眠状态之前,根据预先设置的备份条件,存储备份信息,并配置下一次启动的时间节点。
在一些实施例中,所述备份信息包括以下至少一种:电子元件的参数信息、所述SOC芯片的睡眠模式、所述第二资源模块的低功耗模式。
在一些实施例中,所述功耗控制模块,具体被配置为接收所述资源控制指令,根据预先设置的第三配置条件,配置自身寄存器,控制所述处理器对应的第一资源模块进入低功耗状态。
在一些实施例中,所述第三配置条件包括以下至少一种:关闭第一资源模块的时钟源或者电源;降低第一资源模块的时钟频率或者电压;控制随机存取存储器进入保持状态;管脚状态配置信息;电子元件的配置信息;电路开关的通断信息。
在一些实施例中,所述功耗控制模块,还被配置为存储有各个所述处理器的睡眠状态信息;
所述多个处理器中的每个均被配置为获取各个所述处理器的睡眠状态信息,在确定自身为最后一个进入睡眠状态的处理器的情况下,将自身作为第一处理器。
在一些实施例中,所述多个处理器中的一个为第一处理器,除所述第一处理器以外的处理器为第二处理器;所述多个第一资源模块中的一部分与所述第一处理器对应且通过所述总线连接,另一部分与所述第二处理器对应且通过所述总线连接;所述第一处理器和所述第二处理器通过所述总线连接;所述资源控制指令包括第一资源控制指令和第二资源控制指令;
所述第一处理器,具体被配置为在确定自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器未满足睡眠条件的情况下,控制自身进入睡眠状态;响应所述第二处理器发送的启动中断请求,重新启动,并查询所述第二处理器的睡眠状态信息,并在所述第二处理器满足睡眠条件的情况下,生成第一资源控制指令;向所述功耗控制模块传输所述第一资源控制指令;根据获取到的占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;控制自身进入睡眠状态;
所述第二处理器,还被配置为在自身满足睡眠条件的情况下,获取自身对所述第二资源模块的占用信息,以使所述第一处理器获取所述占用信息;
所述功耗控制模块,被配置为根据所述第一资源控制指令控制与所述第一处理器对应的第一资源模块进入低功耗状态;以及,根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
在一些实施例中,所述处理器包括判断单元和处理单元;
所述判断单元,被配置为检测所述处理器的运行进程,在全部进程停止运行时,确定所述处理器满足睡眠条件;
所述处理单元,被配置为在自身满足睡眠条件的情况下,生成资源控制指令;向所述功耗控制模块传输所述资源控制指令,并进入睡眠状态;
所述功耗控制模块,被配置为根据所述资源控制指令控制所述处理器对应的第一资源模块进入低功耗状态。
第二方面,本公开实施例还提供了一种电子产品,其包括如上述实施例中任一项所述SOC芯片。
附图说明
图1为本公开实施例提供的一种SOC芯片的结构示意图;
图2为本公开实施例提供的采用AMP架构的SOC芯片的结构示意图;
图3为本公开实施例提供的SOC芯片中的部分架构实现功耗状态调整的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
在本公开中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在相关技术中,多核芯片包括对称多处理器(Symmetrical Multi-processing,SMP)和异构多核AMP两大类。其中,SMP就是多个处理器(central processing unit,CPU)共享一块内存,由一个操作系统负责统一管理多个CPU,也即多核,多个任务运行时,由操作系统根据每个CPU的空闲状态,决定某个任务应该运行在哪个CPU上,动态调度,实现负载均衡,使CPU使用效率最大化。AMP就是每个CPU都是独立的,有自己的内存,各自独立运行程序。程序编译后会分别运行在不同的CPU,多个CPU之间能够相互通信。
多核芯片尽管增强了产品性能,但是芯片功耗往往也大大增加。嵌入式系统通常都是AMP架构,不同厂家生产的芯片架构差异较大,每个核的指令集体系结构不同、使用的操作系统(例如操作系统linux、RTOS或bare metal)不同、性能和作用不同(比如通讯处理器CP,应用处理器AP等),往往无法兼顾性能和功耗的平衡。
基于此,本公开实施例提供了一种系统级芯片(System on Chip,SOC)芯片,该SOC芯片可以是多核芯片,可以包括多个处理器。具体地,SOC芯片包括多个处理器、多个第一资源模块、多个第二资源模块、功耗控制模块;多个处理器中的各个处理器均与该多个第二资源模块通信连接;多个处理器中的各个处理器均与功耗控制模块通信连接;不同处理器通信连接的第一资源模块不同,且与各处理器通信连接的第一资源模块不同;处理器被配置为在自身满足睡眠条件的情况下,生成资源控制指令,以使功耗控制模块根据资源控制指令控制与该处理器对应的第一资源模块进入低功耗状态;处理器并控制自身进入睡眠状态。
本公开实施例中,通信连接是指通过有线或无线的方式实现两个设备之间的信号传输。本公开实施例采用有线连接,也即通过总线的连接方式实现多个处理器、多个第一资源模块、多个第二资源模块、功耗控制模块之间的连接。
本公开实施例将每个处理器的低功耗控制解耦,也即上述多个处理器中的每个处理器独立控制自身的睡眠状态,同时决定与处理器对应的第一资源模块是否进入低功耗状态。这种各核独立控制自身和与之对应的第一资源模块的功耗状态的方式,能够确保各核在不同场景下尽量维持低功耗,以最大程度降低SOC芯片的功耗。同时,由于不同厂家生产的芯片架构差异较大,每个核的指令集体系结构不同、使用的操作系统(例如操作系统linux、RTOS或bare metal)不同、性能和作用不同(比如通讯处理器CP,应用处理器AP等),本公开实施例通过将每个核的低功耗控制解耦,能够快速动态调整单核的功耗状态,以及该核对应的第一资源模块的功耗状态,从而兼顾性能与功耗的平衡。
下面对本公开实施例提供的一种SOC芯片的具体功能结构进行详细介绍,图1为本公开实施例提供的一种SOC芯片的结构示意图,如图1所示,本公开中的芯片为SOC,该SOC芯片包括多个处理器,也即多核,也可以理解为多个核心CPU。多核SOC芯片具体可以是基于AMP架构实现。该SOC芯片还包括多个第一资源模块11,其中,第一资源模块11可以是一些外设(例如I2C总线、I2S总线等)或者功能模块(例如加解密模块、编解码模块等)等,多个处理器与多个第一资源模块11具有对应关系,具体地,每个第一资源模块11均有其独自对应的处理器。多个处理器中的各个与至少一个第一资源模块11对应且通过总线连接。需要说明的是,不同处理器通过总线连接的第一资源模块11不同;在处理器与多个第一资源模块11通过总线连接时,与处理器通过总线连接的多个第一资源模块11互不相同。
继续如图1所示,该SOC芯片还包括功耗控制模块13;功耗控制模块13与各个处理器均通信连接。功耗控制模块13例如可以是功耗控制单元(Power Control Unit,PCU),独立于各处理器(即CPU_1,CPU_2,……,CPU_n,n取大于1的整数)。
处理器被配置为在睡眠条件满足的情况下,生成资源控制指令;向功耗控制模块13传输资源控制指令,并进入睡眠状态;功耗控制模块13被配置为根据资源控制指令控制与之对应的第一资源模块11进入低功耗状态。
处理器包括工作状态和睡眠状态。其中,工作状态例如包括执行任务的状态;睡眠状态为非工作状态,例如不再执行任务、不再占用资源、关闭独立控制该处理器的电源或时钟等。若处理器满足睡眠条件,则处理器在接下来的一段时间可以不再执行任务、不再占用资源、关闭独立控制该处理器的电源或时钟等,尽最大程度降低处理器功耗,使得处理器进入低功耗状态,从而提高SOC芯片寿命。
另外,在确定自身满足睡眠条件下,还可以同时为与该处理器通信连接的第一资源模块11进入低功耗状态作准备。具体地,在自身满足睡眠条件的情况下,生成资源控制指令,并将该资源控制指令发送至功耗控制模块13。功耗控制模块13被配置为接收到资源控制指令,按照资源控制指令的指示控制与处理器对应的第一资源模块11进入低功耗状态,这里低功耗状态例如可以是关闭电源、关闭时钟源、电压较低、时钟频率较低等状态。示例性的,功耗控制模块13具体被配置为关闭与处理器对应的第一资源模块11的电源或时钟源,或者降低与处理器对应的第一资源模块11的电压和时钟频率。
在一些实施例中,处理器包括判断单元和处理单元。其中,判断单元被配置为检测处理器的运行进程,在全部进程停止运行时,确定处理器满足睡眠条件;处理单元被配置为在自身满足睡眠条件的情况下,生成资源控制指令;向功耗控制模块13传输所述资源控制指令,并进入睡眠状态;功耗控制模块13被配置为根据资源控制指令控制与之对应的第一资源模块11进入低功耗状态。这里,运行进程例如可以包括执行任务的进程,资源调用的进程等。
在一些实施例中,功耗控制模块13具体被配置为接收资源控制指令,根据预先设置的第三配置条件,配置自身寄存器,控制处理器对应的第一资源模块11进入低功耗状态。
这里,第三配置条件可以是基于实验数据中第一资源模块11低功耗状态,预先设置的、功耗控制模块13中寄存器的配置条件。第三配置条件例如可以包括以下至少一种:关闭第一资源模块11的时钟源或者电源;降低第一资源模块11的时钟频率或者电压;控制随机存取存储器进入保持状态;管脚状态配置信息;电子元件的参数信息;电路开关的通断信息。其中,管脚状态配置信息例如为管脚I/O的高低电平等信息。电子元件的配置信息例如数控振荡器DCXO、锁相环PLL的配置信息,电路开关的通断信息也即开关的高低电平配置信息,例如数据选择器MUX的配置信息。
示例性的,功耗控制模块13按照降低第一资源模块11的时钟频率和电压的条件配置自身寄存器,配置完成后的功耗控制模块13能够在一定程度内降低第一资源模块11的时钟频率和电压,该第一资源模块11按照降低后的时钟频率和电压运行,实现低功耗。对于第三配置条件中的其他种类,配置寄存器的方式类似,故不再一一列举。
本实施例在不影响任务正常运行的情况下,第三配置条件的种类越丰富,功耗控制模块13根据较为丰富的第三配置条件配置寄存器,可控制的第一资源模块11功耗的降低程度越大,也即所处的低功耗状态越接近睡眠状态,使得SOC芯片在不同场景下均能做到极致的低功耗。
在一些实施例中,继续如图1所示,SOC芯片还包括第二资源模块12;与第一资源模块11不同的是,第二资源模块12与处理器之间不存在对应关系。多个处理器与多个第二资源模块通过总线连接,具体地,每个第二资源模块12均与多个处理器中的各个通过总线连接,第二资源模块12中的资源也属于各处理器的公共资源。多个处理器中的一个为第一处理器CPU_1,第一处理器CPU_1可以是系统预先设置的、作为主核的某一固定处理器。多个处理器中除第一处理器CPU_1以外的处理器为第二处理器CPU_i,这里i∈n,且i取整。需要说明的是,多个第一资源模块11中的一部分与第一处理器CPU_1对应且通过总线连接,另一部分与第二处理器CPU_i对应且通过总线连接;第一处理器CPU_1和第二处理器CPU_i通过总线连接。功耗控制模块13分别与第一处理器CPU_1和第二处理器CPU_i通过总线连接。
资源控制指令包括第一资源控制指令和第二资源控制指令。第一处理器CPU_1被配置为在自身满足睡眠条件的情况下,生成第一资源控制指令,并向功耗控制模块13传输第一资源控制指令,控制自身进入睡眠状态。第二处理器CPU_i被配置为在自身满足睡眠条件的情况下,生成第二资源控制指令,并向功耗控制模块13传输第二资源控制指令,进入睡眠状态。功耗控制模块13被配置为根据第一资源控制指令控制与第一处理器CPU_1对应的第一资源模块11进入低功耗状态,以及根据第二资源控制指令控制与第二处理器CPU_i对应的第一资源模块11进入低功耗状态。
这里第一处理器CPU_1和第二处理器CPU_i均属于SOC中的处理器,所以对第一处理器CPU_1和第二处理器CPU_i的详细说明可以参见上述对处理器的说明,重复部分不再赘述。
第二处理器CPU_i还被配置为在自身满足睡眠条件的情况下,获取自身对第二资源模块12的占用信息,以使第一处理器CPU_1获取占用信息。第一处理器CPU_1还被配置为在自身满足睡眠条件,且根据获取到的第二处理器CPU_i的睡眠状态信息,确定第二处理器CPU_i满足睡眠条件的情况下,根据获取到的占用信息,确定第二资源模块12的占用状态,并向功耗控制模块13传输占用状态;功耗控制模块13被配置为根据占用状态调节第二资源模块12和/或SOC芯片的功耗状态。
这里,第一处理器CPU_1作为主核,在其满足睡眠条件的前提下,还需要进一步判断第二处理器CPU_i是否满足睡眠条件,若判断出第二处理器CPU_i不满足睡眠条件,此时主核是不需要对第二资源模块12的占用状态进行分析的;只有判断出第二处理器CPU_i满足睡眠条件,此时主核进一步获取第二处理器CPU_i对第二资源模块12的占用信息,以利用占用信息得到各第二处理器CPU_i对第二资源模块12的占用状态,具体可以理解为对第二资源模块12中的公共资源的占用状态。需要说明的是,由于此时已经主核已经满足睡眠条件,该睡眠条件包含是否对第二资源模块12的占用,也即满足睡眠条件,默认不再占用第二资源模块12中的公共资源,因此第一处理器CPU_1无需获取自身对第二资源模块12的占用信息。
功耗控制模块13能够监测并记录各处理器的睡眠状态信息,睡眠状态信息包括当前处理器是否处于睡眠状态的信息。第一处理器CPU_1可以从功耗控制模块13中获取到各第二处理器CPU_i的睡眠状态信息,具体地,第一处理器CPU_1向功耗控制模块13发送查询指令,功耗控制模块13接收查询指令,反馈各第二处理器CPU_i的睡眠状态信息。
第一处理器CPU_1获取第二处理器CPU_i对第二资源模块12的占用信息的方式可以有多种,例如可以直接通过总线的方式从第二处理器CPU_i的内存中获取,或者,当采用AMP架构时,利用AMP架构下核间信息的传输方式进行获取。
第一处理器CPU_1根据获取到的占用信息,确定第二资源模块12的占用状态。功耗控制模块13具体被配置为按照第二资源模块12的占用状态的指示,在确定至少部分第二资源模块12中的公共资源未被占用的情况下,可以降低该未被占用的第二资源模块12的功耗。若在确定全部第二资源模块12中的公共资源均未被占用,那么在降低未被占用的第二资源模块12功耗的同时,由于全部公共资源均未被占用、第一处理器CPU_1和第二处理器CPU_i均进入睡眠状态,因此可以进一步调整SOC芯片的功耗状态,使其进入更低的功耗。
本实施例对第二资源模块12和/或SOC芯片的功耗调整结合对单核及其对应的第一资源模块11的功耗状态的快速调整,进一步实现SOC芯片整体功耗的降低。另外,本实施例通过核间信息传递,第一处理器能够获取到第二处理器确定的占用信息,利用占用信息进一步调整第一资源模块和SOC芯片的功耗状态,简化了核间通信的机制和流程,例如相比相关技术中OpenAMP框架中的Remote proc和RPMsg组件,本实施例采用更简洁的核间通信机制,可以实现第二资源模块功耗和SOC芯片功耗的快速调整。
在一些实施例中,总线包括第一总线。第一处理器CPU_1获取第二处理器CPU_i对第二资源模块12的占用信息的方式为直接通过总线的方式获取。这里的总线例如可以为能够实现核间通信的第一总线,本公开实施例不进行具体限定。具体地,第一处理器CPU_1和第二处理器CPU_i通过第一总线进行通信连接;第二处理器CPU_i具体被配置为在睡眠条件满足的情况下,获取自身对第二资源模块12的占用信息,并利用第一总线,将占用信息发送至第一处理器CPU_1。
在一些实施例中,第一处理器CPU_1获取第二处理器CPU_i对第二资源模块12的占用信息的方式为:SOC芯片采用AMP架构,利用AMP架构下核间信息的传输方式。具体地,图2为本公开实施例提供的采用AMP架构的SOC芯片的结构示意图,如图2所示,SOC芯片还包括共享内存14;总线包括第一总线和第二总线15;第二总线15例如为进程间通信(Inter-Process Communication,IPC)。这里,第二处理器CPU_i具体被配置为在睡眠条件满足的情况下,获取自身对第二资源模块12的占用信息,并利用进程间通信IPC将占用信息存储至共享内存14。第一处理器CPU_1具体被配置为在自身满足睡眠条件,且根据获取到的第二处理器CPU_i的睡眠状态信息,确定第二处理器CPU_i满足睡眠条件的情况下,利用进程间通信IPC从共享内存14中读取占用信息,根据获取到的占用信息,确定第二资源模块12的占用状态,并向功耗控制模块13传输占用状态;耗控制模块13被配置为根据占用状态调节第二资源模块12和/或SOC芯片的功耗状态。
在一些实施例中,功耗控制模块13具体被配置为接收占用状态,在占用状态指示第二资源模块12未被占用的情况下,根据预先设置的第一配置条件,配置自身寄存器,控制第二资源模块12进入低功耗状态;在占用状态指示全部第二资源模块12均未被占用的情况下,根据预先设置的第二配置条件,配置自身寄存器,控制SOC芯片进入低功耗状态。
这里,第一配置条件是基于实验数据中第二资源模块12未被占用的情况,预先设置的、功耗控制模块13中寄存器的配置条件。第二配置条件可以是基于实验数据中全部第二资源模块12均未被占用的情况,预先设置的、功耗控制模块13中寄存器的配置条件。
第一配置条件和/或第二配置条件例如可以包括以下至少一种:关闭第二资源模块12的时钟源或者电源;降低第二资源模块12的时钟频率或者电压;管脚状态配置信息;电子元件的配置信息;电路开关的通断信息。
示例性的,功耗控制模块13按照降低第二资源模块12的时钟频率和电压的条件配置自身寄存器,配置完成后的功耗控制模块13能够在一定程度内降低第二资源模块12的时钟频率和电压,该第二资源模块12按照降低后的时钟频率和电压运行,实现低功耗。对于第一配置条件和第二配置条件中的其他种类,配置寄存器的方式类似,故不再一一列举。
示例性的,在全部公共资源未被占用,各处理器均进入睡眠状态时,控制SOC芯片进入睡眠状态,例如核core、主锁相环PLL或压控晶体振荡器(Voltage-ControlledCrystal Oscillator,VCXO)进入睡眠状态。
本实施例在不影响任务正常运行的情况下,第一配置条件和第二配置条件的种类越丰富,功耗控制模块13根据较为丰富的第一配置条件和第二配置条件配置寄存器,可控制的第二资源模块12功耗的降低程度越大,也即所处的低功耗状态越接近睡眠状态,使得SOC芯片在不同场景下均能做到极致的低功耗。
在一些实施例中,由于进入SOC芯片在进入睡眠状态后,有些电源分区会断电,相应的寄存器的信息都会丢失,所以需要在SOC芯片睡眠前把这些信息备份到一些不断电(比如内存ddr)的存储介质,或者断电但不会丢失存储内容的介质(比如闪存flash)。具体地,第一处理器CPU_1还被配置在占用状态指示第二资源模块12未被占用的情况下,且在控制自身进入睡眠状态之前,根据预先设置的备份条件,存储备份信息,并配置下一次启动的时间节点。
这里,备份信息包括以下至少一种:电子元件的参数信息、电路开关的通断信息、SOC芯片的睡眠模式、第二资源模块12的低功耗模式。其中,电子元件的参数信息例如SOC芯片睡眠前的DCXO、PLL的参数;SOC芯片的睡眠模式例如light sleep、deep sleep等。第二资源模块12的低功耗模式例如flash的省电模式、内存(sram、psram、ddr)的省电模式。
示例性的,由于第一处理器CPU_1为主核,在确定第二资源模块12的占用状态时,各处理器均已满足睡眠条件,因此第一处理器CPU_1可以根据备份条件,将芯片睡眠前的DCXO、PLL的参数备份到固定存储介质中,该固定存储介质为不断电的存储介质或断电但不会丢失存储内容的介质,以在后续重新唤醒SOC芯片时,按照备份信息恢复资源设置。
第一处理器CPU_1在进入睡眠状态之前配置下一次启动的时间节点,并将该时间节点发送至功耗控制模块13,功耗控制模块13在达到时间节点时,释放对第一处理器CPU_1的复位,以重新唤醒主核,避免长期处于睡眠状态,错过重要任务的执行。
重新唤醒第一处理器CPU_1后,第一处理器CPU_1还可以根据场景和需求向处于睡眠状态的第二处理器CPU_i发出中断请求,以唤醒第二处理器CPU_i。
在一些实施例中,多个处理器中的主核不固定,可以动态调整,将最为合适的处理器作为主核。具体地,功耗控制模块13还被配置为存储有各个处理器的睡眠状态信息。多个处理器中的每个均被配置为获取各个处理器的睡眠状态信息,在确定自身为最后一个进入睡眠状态的处理器的情况下,将自身作为第一处理器CPU_1。
功耗控制模块13能够监测并记录各处理器的睡眠状态信息,睡眠状态信息包括当前处理器是否处于睡眠状态的信息。各处理器与功耗控制模块13通信连接,多个处理器中的每个均被配置为能够从功耗控制模块13查询到各个处理器的睡眠状态信息,若在该处理器满足睡眠条件时,还存在其他处理器未进入睡眠状态,则该处理器为第一处理器CPU_1。若在该处理器满足睡眠条件时,其他处理器已经进入睡眠状态,则可以确定该处理器为最后一个进入睡眠状态的处理器,可以将该处理器作为主核,即第一处理器CPU_1。
当然,本公开实施例也可以在多个处理器中选择一固定处理器作为主核。又或者,本公开实施例也可以在设置原本的多个处理器的基础上,增加主控小核,以该小核替代多个处理器中的第一处理器CPU_1,此时多个处理器均为第二处理器CPU_i。
在一些实施例中,多个处理器中的一个为第一处理器CPU_1,除第一处理器CPU_1以外的处理器为第二处理器CPU_i;多个第一资源模块11中的一部分与第一处理器CPU_1对应且通过总线连接,另一部分与第二处理器CPU_i对应且通过总线连接;与各第一处理器CPU_1通过总线连接的第一资源模块11不同;与各第二处理器CPU_i通过总线连接的第一资源模块11不同;第一处理器CPU_1和第二处理器CPU_i通过总线连接;资源控制指令包括第一资源控制指令和第二资源控制指令。
图3为本公开实施例提供的SOC芯片中的部分架构实现功耗状态调整的示意图,如图3所示,第一处理器CPU_1具体被配置为在确定自身满足睡眠条件,且根据获取到的第二处理器CPU_i的睡眠状态信息,确定第二处理器CPU_i未满足睡眠条件的情况下,控制自身进入睡眠状态。这里的第二处理器CPU_i未满足睡眠条件是指多个第二处理器中的至少一个第二处理器CPU_i未满足睡眠条件。响应第二处理器CPU_i发送的启动中断请求,重新启动,并查询第二处理器CPU_i的睡眠状态信息,并在第二处理器CPU_i满足睡眠条件的情况下,生成第一资源控制指令;向功耗控制模块13传输第一资源控制指令;根据获取到的占用信息,确定第二资源模块12的占用状态,并向功耗控制模块13传输占用状态;控制自身进入睡眠状态;第二处理器CPU_i具体被配置为判断自身是否满足睡眠条件;在自身满足睡眠条件的情况下,生成第二资源控制指令,向功耗控制模块13传输第二资源控制指令;控制自身进入睡眠状态;以及,在自身满足睡眠条件的情况下,获取自身对第二资源模块12的占用信息,以使第一处理器CPU_1获取占用信息。
功耗控制模块13被配置为根据第一资源控制指令控制与第一处理器CPU_1对应的第一资源模块11进入低功耗状态;根据第二资源控制指令控制与第二处理器CPU_i对应的第一资源模块11进入低功耗状态,以及,根据占用状态调节第二资源模块12和/或SOC芯片的功耗状态。
第二处理器CPU_i被配置为通过进程间通信IPC向第一处理器CPU_1发送启动中断请求,该启动中断请求为用于唤醒处于睡眠状态下的第一处理器CPU_1的请求。具体地,第二处理器CPU_i可以是根据第一处理器CPU_1预先配置的时间节点,在达到该时间节点时,通过进程间通信IPC向第一处理器CPU_1发送启动中断请求;或者,第二处理器CPU_i可以是根据各处理器的睡眠状态信息,在确定全部第二处理器CPU_i均满足睡眠条件时,在进入睡眠状态前,通过进程间通信IPC向第一处理器CPU_1发送启动中断请求,随后执行“获取自身对第二资源模块12的占用信息”的步骤并进入睡眠状态。
本公开实施例中还提供了一种包含SOC芯片的电子产品,由于本公开实施例中的电子产品解决问题的原理与本公开实施例上述SOC芯片相似,因此电子产品的实施可以参见SOC芯片的实施,重复之处不再赘述。
一种电子产品包括如上述实施例中任一项的SOC芯片。该电子产品例如可以包括但不限于手机、平板电脑、个人数字助理、智能手表、车载显示器、笔记本电脑、可穿戴设备等。
可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。
Claims (13)
1.一种SOC芯片,其包括多个处理器、多个第一资源模块、功耗控制模块以及总线;所述多个处理器、所述多个第一资源模块以及所述功耗控制模块通过所述总线连接;所述多个处理器与所述多个第一资源模块具有对应关系;在所述处理器与多个所述第一资源模块通过所述总线连接时,与所述处理器通过所述总线连接的多个所述第一资源模块互不相同;
所述处理器,被配置为在睡眠条件满足的情况下,生成资源控制指令;向所述功耗控制模块传输所述资源控制指令,并进入睡眠状态;
所述功耗控制模块,被配置为根据所述资源控制指令控制与所述处理器对应的第一资源模块进入低功耗状态。
2.根据权利要求1所述的SOC芯片,其中,所述SOC芯片还包括多个第二资源模块;所述多个处理器与所述多个第二资源模块通过所述总线连接;所述多个处理器中的一个为第一处理器,除所述第一处理器以外的处理器为第二处理器;所述多个第一资源模块中的一部分与所述第一处理器对应且通过所述总线连接,另一部分与所述第二处理器对应且通过所述总线连接;所述第一处理器和所述第二处理器通过所述总线连接;所述资源控制指令包括第一资源控制指令和第二资源控制指令;
所述第二处理器,还被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,以使所述第一处理器获取所述占用信息;
所述第一处理器,还被配置为在自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器满足睡眠条件的情况下,根据获取到的所述占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;
所述功耗控制模块,还被配置为根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
3.根据权利要求2所述的SOC芯片,其中,所述总线包括第一总线;所述第一处理器和所述第二处理器通过所述第一总线连接;
所述第二处理器,具体被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,并利用所述第一总线,将所述占用信息发送至所述第一处理器。
4.根据权利要求2所述的SOC芯片,其中,所述SOC芯片还包括共享内存;所述总线包括第二总线,所述第二总线为进程间通信IPC;
所述第二处理器,具体被配置为在睡眠条件满足的情况下,获取自身对所述第二资源模块的占用信息,并利用所述进程间通信IPC将所述占用信息存储至所述共享内存;
所述第一处理器,具体被配置为在自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器满足睡眠条件的情况下,利用所述进程间通信IPC从所述共享内存中读取所述占用信息,根据获取到的所述占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;
所述功耗控制模块,被配置为根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
5.根据权利要求2~4中任一项所述的SOC芯片,其中,所述功耗控制模块,具体被配置为接收所述占用状态,在所述占用状态指示所述第二资源模块未被占用的情况下,根据预先设置的第一配置条件,配置自身寄存器,控制所述第二资源模块进入低功耗状态;在所述占用状态指示全部所述第二资源模块均未被占用的情况下,根据预先设置的第二配置条件,配置自身寄存器,控制所述SOC芯片进入低功耗状态。
6.根据权利要求2~4中任一项所述的SOC芯片,其中,所述第一处理器,还被配置在所述占用状态指示所述第二资源模块未被占用的情况下,且在控制自身进入睡眠状态之前,根据预先设置的备份条件,存储备份信息,并配置下一次启动的时间节点。
7.根据权利要求6所述的SOC芯片,其中,所述备份信息包括以下至少一种:电子元件的参数信息、所述SOC芯片的睡眠模式、所述第二资源模块的低功耗模式。
8.根据权利要求1所述的SOC芯片,其中,所述功耗控制模块,具体被配置为接收所述资源控制指令,根据预先设置的第三配置条件,配置自身寄存器,控制所述处理器对应的第一资源模块进入低功耗状态。
9.根据权利要求8所述的SOC芯片,其中,所述第三配置条件包括以下至少一种:关闭第一资源模块的时钟源或者电源;降低第一资源模块的时钟频率或者电压;控制随机存取存储器进入保持状态;管脚状态配置信息;电子元件的配置信息;电路开关的通断信息。
10.根据权利要求1所述的SOC芯片,其中,所述功耗控制模块,还被配置为存储有各个所述处理器的睡眠状态信息;
所述多个处理器中的每个均被配置为获取各个所述处理器的睡眠状态信息,在确定自身为最后一个进入睡眠状态的处理器的情况下,将自身作为第一处理器。
11.根据权利要求1所述的SOC芯片,其中,所述多个处理器中的一个为第一处理器,除所述第一处理器以外的处理器为第二处理器;所述多个第一资源模块中的一部分与所述第一处理器对应且通过所述总线连接,另一部分与所述第二处理器对应且通过所述总线连接;所述第一处理器和所述第二处理器通过所述总线连接;所述资源控制指令包括第一资源控制指令和第二资源控制指令;
所述第一处理器,具体被配置为在确定自身满足睡眠条件,且根据获取到的所述第二处理器的睡眠状态信息,确定所述第二处理器未满足睡眠条件的情况下,控制自身进入睡眠状态;响应所述第二处理器发送的启动中断请求,重新启动,并查询所述第二处理器的睡眠状态信息,并在所述第二处理器满足睡眠条件的情况下,生成第一资源控制指令;向所述功耗控制模块传输所述第一资源控制指令;根据获取到的占用信息,确定所述第二资源模块的占用状态,并向所述功耗控制模块传输所述占用状态;控制自身进入睡眠状态;
所述第二处理器,还被配置为在自身满足睡眠条件的情况下,获取自身对所述第二资源模块的占用信息,以使所述第一处理器获取所述占用信息;
所述功耗控制模块,被配置为根据所述第一资源控制指令控制与所述第一处理器对应的第一资源模块进入低功耗状态;以及,根据所述占用状态调节所述第二资源模块和/或SOC芯片的功耗状态。
12.根据权利要求1所述的SOC芯片,其中,所述处理器包括判断单元和处理单元;
所述判断单元,被配置为检测所述处理器的运行进程,在全部进程停止运行时,确定所述处理器满足睡眠条件;
所述处理单元,被配置为在自身满足睡眠条件的情况下,生成资源控制指令;向所述功耗控制模块传输所述资源控制指令,并进入睡眠状态;
所述功耗控制模块,被配置为根据所述资源控制指令控制所述处理器对应的第一资源模块进入低功耗状态。
13.一种电子产品,其包括如权利要求1~12中任一项所述的SOC芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150492.1A CN116070571A (zh) | 2023-02-13 | 2023-02-13 | 一种soc芯片和电子产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310150492.1A CN116070571A (zh) | 2023-02-13 | 2023-02-13 | 一种soc芯片和电子产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116070571A true CN116070571A (zh) | 2023-05-05 |
Family
ID=86183584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310150492.1A Pending CN116070571A (zh) | 2023-02-13 | 2023-02-13 | 一种soc芯片和电子产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116070571A (zh) |
-
2023
- 2023-02-13 CN CN202310150492.1A patent/CN116070571A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12117320B2 (en) | System on a chip with always-on component with powered-down configurations to process audio samples | |
US10571996B2 (en) | System on a chip with fast wake from sleep | |
US10261894B2 (en) | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode | |
CN106575145B (zh) | 芯片上系统中存储器访问的功率管理 | |
US20070005995A1 (en) | Power management system for computing platform | |
TW201638717A (zh) | 平台裝置的執行動態功率控制 | |
US10564708B2 (en) | Opportunistic waking of an application processor | |
KR101551321B1 (ko) | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 | |
KR20110021927A (ko) | 전력 소모를 감소시키기 위해 슬립 상태를 제공하는 제 2 메모리 컨트롤러를 구비한 집적 회로 및 그 방법 | |
US9329658B2 (en) | Block-level sleep logic | |
RU2664398C2 (ru) | Архитектура с ультранизкой мощностью для поддержки постоянно включенного пути к памяти | |
US11842202B2 (en) | Apparatus and method for dynamic selection of an optimal processor core for power-up and/or sleep modes | |
TWI470410B (zh) | 電子系統及其電源管理方法 | |
US12073227B2 (en) | Energy-efficient core voltage selection apparatus and method | |
CN113253824B (zh) | 一种基于risc-v内核的mcu系统、供电方法以及终端设备 | |
EP4075237A2 (en) | Apparatus and method to reduce standby power for systems in battery mode with a connected bus powered device | |
US20220197367A1 (en) | Hardware and software coordinated cost-aware low power state selection | |
US20220197842A1 (en) | Dynamic usb-c mode selection ospm policy method and apparatus | |
CN112771470A (zh) | 用于对多个知识产权主体和共享电源轨进行共同功率控制的系统、装置及方法 | |
US11954501B2 (en) | Apparatus and method for restoring a password-protected endpoint device to an operational state from a low power state | |
CN116070571A (zh) | 一种soc芯片和电子产品 | |
US10409513B2 (en) | Configurable low memory modes for reduced power consumption | |
US20240085972A1 (en) | Chiplet state aware and dynamic voltage regulator event handling | |
US11340683B2 (en) | Power management circuitry for controlling a power state transition based on a predetermined time limit | |
US20230086149A1 (en) | Reducing memory power usage in far memory |
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 |