CN107111349B - 用于片上多核系统的驱动基于访问的资源的低功耗控制和管理 - Google Patents

用于片上多核系统的驱动基于访问的资源的低功耗控制和管理 Download PDF

Info

Publication number
CN107111349B
CN107111349B CN201580057819.4A CN201580057819A CN107111349B CN 107111349 B CN107111349 B CN 107111349B CN 201580057819 A CN201580057819 A CN 201580057819A CN 107111349 B CN107111349 B CN 107111349B
Authority
CN
China
Prior art keywords
resource
functional
processing element
storage
access request
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.)
Expired - Fee Related
Application number
CN201580057819.4A
Other languages
English (en)
Other versions
CN107111349A (zh
Inventor
栾昊
艾伦·葛加理
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gangyou Anhui Intelligent Technology Co ltd
Shenzhen Shangge Intellectual Property Service Co ltd
Original Assignee
Gangyou Anhui Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gangyou Anhui Intelligent Technology Co ltd filed Critical Gangyou Anhui Intelligent Technology Co ltd
Publication of CN107111349A publication Critical patent/CN107111349A/zh
Application granted granted Critical
Publication of CN107111349B publication Critical patent/CN107111349B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

功能资源/存储资源和关联的资源控制器,被配置为响应于来自处理元件的访问请求,将功能资源/存储资源的第一部分分配给至少一个处理元件。资源控制器根据第一部分的分配变更功能资源/存储资源的第一部分的功耗模式,并且使功能资源/存储资源的未分配部分处于自我管理本质下的掉电模式。资源控制器响应于从处理元件接收到的访问请求,使处理元件能够访问功能资源/存储资源的第一部分。功能资源/存储资源、资源控制器和一个或多个处理元件可以包括片上系统SoC。

Description

用于片上多核系统的驱动基于访问的资源的低功耗控制和 管理
本申请要求于2015年1月21日提交的申请号为14/601981、名称为“用于片上多核系统的驱动基于访问的资源的低功耗控制和管理”的美国非临时专利申请的优先权,而该美国非临时专利申请要求于2014年10月27日提交的申请号为62/069166、名称为“用于片上多核系统的驱动基于访问的资源的低功耗控制和管理”的美国临时申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开一般涉及功耗管理,尤其涉及诸如功能资源/存储资源控制器/调度器等的片上系统(SOC)中的功耗管理。
背景技术
“倡导绿色”是为了使世界成为一个更好的工作和生活的地方的世界性倡议。对于每个人的日常生活来说,信息、通信和电信是必不可少且无处不在的。
相对于单一DSP/CPU处理元件管理片上全部资源的传统架构,现在的片上基带系统(SoC)有多种访问相同存储块的同构和异构数字信号处理器(DSP)/中央处理单元(CPU)元件、硬件加速器等(统称为“处理元件”)。在以前的设备中,一个DSP/CPU元件拥有所有的资源,并使用物理寻址访问这些资源。由DSP/CPU元件管理和启动针对存储资源的低功耗管理。由DSP/CPU元件执行静态和显式存储组织。在功耗和存储资源管理方面,存储资源表现地像没有任何智能的虚拟从机。
由于每个处理元件独立地分配和访问共享的资源,所以这种方法对于多处理元件的场景变得越来越繁琐,使得功耗管理实际上成了一个博弈论问题。
发明内容
本公开提供了一种用于高速、复杂和低功耗的功能/存储系统的基于访问的低功耗方法。
根据本公开的第一示例实施例,一种方法包括与功能资源/存储资源关联的资源控制器接收来自处理元件的访问部分功能资源/存储资源的访问请求。响应该访问请求,该资源控制器将功能资源/存储资源的第一部分分配给处理元件,根据第一部分的分配,变更功能资源/存储资源的第一部分的功耗模式,并且使功能资源/存储资源的未分配部分处于掉电模式。
在一些实施例中,资源控制器将第一部分的功耗模式从掉电模式变更为浅睡眠模式。在第一部分的分配之后的多个时钟周期之后,例如,至少两个时钟周期之后,当第一部分被处理元件访问时,资源控制器将第一部分的功耗模式变更为上电模式。处理元件可以包括执行专用功能的数字信号处理器(DSP)、中央处理器(CPU)和硬件加速器等。在一些实施例中,功能资源/存储资源、资源控制器和处理元件是片上系统(SoC)的部分。资源控制器响应于访问请求选择性地控制对功能资源/存储资源的读/写访问,并且存储资源可以包括一个或多个存储体。资源控制器从处理元件接收访问请求,并且当接收访问请求时资源控制器控制功能资源/存储资源的分配。
在另一示例实施例中,一种电路包括功能资源/存储资源以及与功能资源/存储资源关联的资源控制器。该资源控制器被配置为响应于从处理元件接收的访问请求,将功能资源/存储资源的第一部分分配给处理元件,根据第一部分的分配变更功能资源/存储资源的第一部分的功耗模式,使功能资源/存储资源的未分配部分处于掉电模式,并且响应于从处理元件接收的访问请求,使处理元件能够访问功能资源/存储资源的第一部分。
在一些实施例中,资源控制器被配置为响应于第一部分的分配将第一部分的功耗模式从掉电模式变更为浅睡眠模式。资源控制器被配置为在第一部分的分配之后的多个时钟周期之后,例如至少两个时钟周期之后,将第一部分的功耗模式变更为上电模式。处理元件可以包括数字信号处理器(DSP)、中央处理器(CPU)或硬件加速器。资源控制器被配置为响应于访问请求选择性地控制对存储资源的读/写访问,并且存储资源包括一个或多个存储体。
在另一实施例中,片上系统(SoC)包括处理元件和与功能资源/存储资源关联的资源控制器。该资源控制器被配置为响应于来自处理元件的访问请求,将功能资源/存储资源的第一部分分配给处理元件,根据第一部分的分配变更功能资源/存储资源的第一部分的功耗模式,使功能资源/存储资源的未分配部分处于掉电模式,并响应于从处理元件接收的访问请求,使处理元件能够访问功能资源/存储资源的第一部分。
附图说明
为了更清楚地理解本公开以及本公开的优点,现结合附图参考如下描述,其中相似的数字表示相似的对象,其中,
图1描述了多个处理元件访问的存储资源,其中访问是由远程管理器/低功耗控制器控制的;
图2描述了根据本公开的多个处理元件可访问的具有常驻QoS分析器和资源调度器的存储资源;
图3描述了基于数据流的细粒度低功耗控制;
图4描述了存储资源的框图;
图5是描述处理元件访问存储资源的时序的示意图;
图6描述了避免/管理停顿的方法;以及
图7描述了本公开与传统方法的对比。
具体实施方式
参考图1,示出了传统片上系统10,包括具有低功耗控制器14的传统功能资源/存储资源12,例如存储体。片上系统10的中央管理器/低功耗控制器16被配置为管理SoC10上的所有处理元件18和资源12的低功耗。根据不同系统要求和负载,通过低功耗控制器16、资源12和处理元件18之间的握手,控制器16选择性地将处理元件18和资源12置于预定义的低功耗模式。用于资源12的低功耗控制器14处理与控制器16的低功耗握手,以接收合适的低功耗控制命令,并相应地采取行动,以使资源12处于由低功耗控制命令指示的相应状态。资源12表现地像虚拟从机,完全不参与其自身的功耗状态管理的决策过程。
由于多元件SoC 10的动态特性,这类实现方式的缺点是集中式低功耗管理控制器16不能使整个SoC 10系统操作和负载总是最新的。每个处理元件18可以独立工作,也可以与另一处理元件18密切合作,这使得系统负载和功耗有时有很大的差异。对一个集中式低功耗控制器16来说,总是立即做出机敏且智能的决策几乎是不可能的。另外,低功耗管理的粒度是粗糙的,因为它总是在一些预定义的静态低功耗状态下运行,这导致整体上更多的功率被消耗。
参考图2,示出了根据本公开的一个示例实施例,包括SoC 20,该SoC 20具有由关联的常驻低功耗管理/服务质量(QoS)分析器24和资源调度器26(有时统称为“资源控制器”)管理的功能资源/存储资源22(有时统称为“资源”)。功能资源/存储资源22包括,例如,一个或多个独立可寻址和可控制的存储体,以及功耗管理策略应用程序编程接口(API)。处理元件18包括数字信号处理器(DSP)、中央处理器(CPU)以及硬件加速器中的一个。每个处理元件18被配置为使用QoS参数直接对功能资源/存储资源22的部分提出请求,资源调度器26和低功耗管理器/QoS分析器24响应地分配功能资源/存储资源22。处理元件18被配置为提交诸如访问模式、访问间隔、访问间隔之间的低功耗要求等的功耗管理策略参数,功耗管理API被配置为接收这类功耗管理策略参数。资源调度器26和低功耗管理器/QoS分析器24被配置为响应地向处理元件18分配功能资源/存储资源22,有利于基于其策略执行本地的低功耗控制,而不是由多个处理元件18管理。
处理元件18可以使用虚拟寻址或传输元数据的消息传输,从而使得资源调度器26和低功耗管理器/QoS分析器24在仍保持QoS的同时,在最低功耗下有效地管理功能资源/存储资源22的存储器组织。
资源调度器26和低功耗管理器/QoS分析器24在掉电模式下管理功能资源/存储资源22的体(banks),直到它们已经被资源调度器26和低功耗管理器/QoS分析器24分配使用。这在简单的随机访问存储器(RAM)中是不可能的。
一旦功能资源/存储资源22被分配给处理元件18,来自该处理元件18的功耗访问消息则允许资源调度器26和低功耗管理器/QoS 24将未分配的功能资源/存储资源22置于诸如浅睡眠模式等的其他睡眠模式下。一旦功能资源/存储资源22被除去分配,则它们被返回到合适的掉电模式。
资源调度器26和低功耗管理器/QoS 24包括面向服务的低功耗控制和管理系统,该管理系统是自我管理的自动系统,其中,当由他们自己管理这些模块时,特别是从低功耗管理的角度来管理时,服务实现模块提供由主机/请求者请求的必需服务。资源控制器26内部的调度器负责立即分配存储资源。另外,调度器向独立的存储体发送合适的低功耗控制器信号。
如图2所示,所有服务请求均由主机/请求者和处理元件18以“服务合同”的形式传递,其中,服务请求定义了如下信息:
1.什么类型的服务/任务:即,快速傅里叶变换(FFT);
2.期望何时完成服务/任务:即,时钟周期数;以及
3.将会处理多少数据:即512字节或1024字节等。
“服务合同信息”是一组丰富的元数据,通知资源调度器26诸如访问有多重要、必须多快或多紧急地为这个特定的访问服务、QoS要求等的参数。资源调度器26基于这些信息调度资源访问功能资源/存储资源22,并决定马上服务当前的访问,或将其与其他访问组合在一起,以稍后启动一个特定的存储体(此时该存储体仍处于低功耗模式下),以便节省更多的功耗。
如果位于服务实现资源调度器26前面的QoS分析器24接收到“服务合同信息”,QoS分析器24基于当前的工作负荷开始处理“服务合同信息”,将服务合同拆分成小片,并且向资源调度器26调度子任务,以使得在尽可能节省功耗的同时保证QoS。
QoS分析器24被设计为使用以上描述的一项或多项低功耗技术,以达到节省功耗的目的。
例如,如果功能资源/存储资源22有许多存储体,QoS分析器24则根据未完成的具有存储器读/写访问的子任务的数量,可以将功能资源/存储资源22恰好置于浅睡眠/深睡眠模式下。
如果在可预见的未来不会使用这样的子功能,QoS分析器24也可以对功能资源/存储资源22的部分进行时钟脉冲门控或者甚至断电。
如果当前的吞吐量/带宽要求不是非常高,则如果必要的话,QoS分析器24也可以降低运行频率至1/2、1/3或1/4。
当功能资源/存储资源22的剩余部分正在运行或空闲(时钟脉冲/断电)时,由于QoS分析器24是本地中心局,因此QoS分析器24是被时钟脉冲/功耗门控的最后的子模块,这完全取决于当前工作模式/负载。
状态信号向中央管理器/低功耗控制器16提供“心跳”信息。心跳信号的频率与服务实现模块运行的活跃程度成正比。
QoS驱动的低功耗控制和管理方法的另一个显著特点是,功能实现模块/子模块、功能资源/存储资源22基于“数据”而非主机/请求者发出的命令激活低功耗机制。可以将“数据”看作是流经管道的水,其中“数据”相当于水,处理元件相当于管道。一旦没有任何要处理的数据,则所有管道可以被置于空闲,相对于等待直到主机/请求者通知实现模块后才这样做,节省了更多的功耗。
如图3所示,本公开采用系统级数据流。除了每个功能30(或块)检测其空闲状态并进入低功耗状态,功能30(块)在检测将来的某一时刻会不会有要处理的数据之前,从前面的功能30(块)获取低功率流控制信号,从而可以进入低功耗状态。例如,如果功能1块没有要处理的数据,因此空闲,则它会向后面的块发送低功耗反馈信号,以通知它们也应该预期没有数据(在将来的一些时间),并转变到低功耗模式。
有利的是,资源调度器26和低功耗管理器/QoS分析器24提供更好、更高效、灵活以及更可扩展的低功耗管理方法,以进一步降低具有更细粒度的多核SoC芯片的功耗。低功耗意味着电费更低,冷却风扇的数量更少,机箱更小,为终端客户节省得更多。
参照图4,示出了存储控制器40的一个示例框图。存储控制器40包括AXI/存储命令扫描器41、写仲裁器42、写组合器44、读仲裁器46和读组合器48。写仲裁器42和读仲裁器46被配置为由监督器50进行管理。有利的是,存储控制器40还包括多个体控制器52,每个体控制器52配置为控制访问一个或多个各自的存储体54。在一些实施例中,多个存储体54包括功能资源/存储资源22。在一些例子中,存储控制器40向一个或多个存储体发送合适的低功耗控制器信号。
图5是描述处理元件18访问功能资源/存储资源22的时序的示意图,并且未分配的资源仍处于掉电模式。如60处所示,根据来自处理元件18的用于访问功能资源/存储资源22的请求,资源调度器26和QoS分析器24将已分配的功能资源/存储资源22的功耗模式从掉电模式变更为较低的功耗模式,例如,从正常运行变更为浅睡眠模式,或从浅睡眠变更为深睡眠等。在一个示例实施例中,在请求处理元件18被授权访问已分配的功能资源/存储资源22之前有3-4个时钟周期,如62所示,其中访问的已分配的功能资源/存储资源22处于正常功耗模式。该3-4个时钟周期阶段的延迟被充分利用,以加大已分配的功能资源/存储资源22的功耗,这样的延迟并非损失,而是有益的。资源调度器26和QoS分析器24智能地管理处于浅睡眠、深睡眠或掉电/时钟脉冲门控中的整个功能资源/存储资源22,这样极大地降低了整体的功耗。在最后的功能资源/存储资源的访问之后,已分配的功能资源/存储资源22被配置为恢复睡眠模式。当功能资源/存储资源22的访问被处理元件18再次请求时重复此过程。
参照图4和图5,在一个示例实施例中,QoS分析器24和资源调度器26控制包括多个可寻址体54的存储区域,例如,每个体54具有线性或交错的物理体。
QoS分析器24和资源调度器26监视整个存储空间,并知道可寻址体54的哪些区域当前处于激活或处于低功耗模式。如果可寻址体3中的体4处于浅睡眠模式,并且它有一个需要在之后的30个周期内被提供服务的到其位置的读访问,以及另一个需要在之后的28个周期内被提供服务的到另一个位置的读访问,QoS分析器24在仍然保持这个体在另外的20个时钟周期处于浅睡眠模式的同时,一起调度这两个读访问,然后通常用3到4个时钟周期开始唤醒该体,执行这些读访问以满足QoS,如果没有更多的读访问到这个体时,将其再次返回到浅睡眠模式。
由于AXI总线协议包括五个信道(AW,AR,R,W,B),加上一些用户定义的用于提升性能的边带信号,所有的这些信息一起被视为元数据。
例如,随着读访问进入QoS分析器24和资源调度器26,可以从AR信道信号中获取地址、读取的长度以及优先级。边带信号能够由处理元件18一起配置,以携带诸如他们应该多久被服务等的其他重要信息。
对于AW和AR两种信道,使用内置请求/准备握手方案以限制请求。这对避免过度运行QoS分析器是非常重要的特点。
如果有很多请求进入QoS分析器24和资源调度器26,QoS分析器24和资源调度器26可以快速到达它能够服务的未完成的读/写的数量的上限。在这种情况下,QoS分析器24和资源调度器26使用背压握手方案短暂地停顿流量,并且完全关闭低功耗功能以保证QoS,直到未完成的读/写的数量降至阈值以下。图6中的70处示出了一种示例的方法。
为了避免停顿或最小化停顿,通过交错存储器诸如交错至8个或16个存储体,用较短时间为业务提供服务。例如,如果有一项从地址0至7读取的业务,线性存储器要用8个时钟周期去完成,然而,如果存储地址是由八个地址交错的,因为这样它就能同时从存储器的8个不同存储片段中一起获取数据,则只需要用一个时钟周期。
参照图7,示出了本公开和传统解决方案的对比。在传统解决方案中,存储器可以在4至64个时钟周期内进入浅睡眠模式,然而,在4至64个时钟周期内盲目进入浅睡眠模式将极大地影响整体的读写访问延迟。因此,不得不扩展至所示的128个时钟周期,仅为了避免性能下降。
因为具有包括QoS分析器24和资源调度器26的内置存储管理器,所以本公开可以充分利用4个时钟周期的进入时间,而不影响性能,这可以将利用率提升9%。
本公开有利于将功耗和资源管理的职责从一个或多个主机(即处理单元18)变更到从机(即服务于功能资源/存储资源22的资源调度器26和QoS分析器24)上。当功能资源/存储资源22没有被请求访问以及处于多个访问之间的间隔中时,基于访问的资源调度器26和QoS分析器24节省功耗。
对本专利文件通篇使用的某些字或术语的定义进行说明是有利的。术语“包括(include)”和“包括(comprise)”以及它们的衍生词,是指包括但不限于。术语“或”包括和/或。短语“与……相关联”和“与之相关联”,以及它们的衍生词,表示包括、被包括在内、与……互联、包含、被包含在内、连接到……或与……连接、耦合到……或与……耦合、与……可通信、与……合作、交织、并列、与……接近、被绑定至……或与……绑定、具有、具有……的属性等。
本公开已经描述了某些实施例和通常相关的方法,这些实施例和方法的变换和排列组合对本领域技术人员是显而易见的。因此,以上示例实施例的描述并未限定或约束本公开。其他可能的变化、替换和修改,在不脱离本公开的精神和范围的前提下,均包含在所附的权利要求中。

Claims (20)

1.一种功耗管理的方法,包括:
与功能资源/存储资源关联的资源控制器接收来自处理元件的访问部分功能资源/存储资源的访问请求;
响应于所述访问请求,所述资源控制器将所述功能资源/存储资源的第一部分分配给所述处理元件;以及
所述资源控制器根据所述第一部分的分配变更所述功能资源/存储资源的所述第一部分的功耗模式,并且使所述功能资源/存储资源的未分配部分处于掉电模式;
其中所述访问请求包括定义QoS的元数据,且基于资源调度器的工作负荷所述元数据被划分为子任务以满足所述定义的QoS。
2.如权利要求1所述的方法,其中,所述资源控制器、所述功能资源/存储资源、以及所述处理元件是片上系统SoC的部分。
3.如权利要求1所述的方法,其中,所述资源控制器的变更操作,包括:
将所述第一部分的功耗模式从掉电模式变更为浅睡眠模式。
4.如权利要求3所述的方法,其中,所述资源控制器的变更操作,包括:
在所述第一部分的分配之后至少2个时钟周期,当所述处理元件访问所述第一部分时,将所述第一部分的功耗模式变更为上电模式。
5.如权利要求1至4中任一项所述的方法,其中,所述处理元件包括数字信号处理器DSP、中央处理器CPU以及硬件加速器中的一个。
6.如权利要求1至4中任一项所述的方法,其中,响应于所述访问请求,所述资源控制器选择性地控制对所述功能资源/存储资源的读/写访问,并且所述功能资源/存储资源包括一个或多个存储体。
7.如权利要求1至4中任一项所述的方法,其中,所述资源控制器从所述处理元件接收所述访问请求,并且当接收到所述访问请求时所述资源控制器控制所述功能资源/存储资源的分配。
8.如权利要求1至4中任一项所述的方法,其中,所述资源控制器包括服务质量QoS分析器,其中所述访问请求包括使用或不使用消息定义QoS的元数据。
9.如权利要求8所述的方法,其中,所述资源控制器还包括资源调度器,其中所述资源调度器和所述QoS分析器自我管理所述功能资源/存储资源的功耗模式。
10.如权利要求2所述的方法,其中,响应于来自多个处理元件的访问请求,所述资源控制器分配所述功能资源/存储资源。
11.一种电路,包括:
功能资源/存储资源;以及
与所述功能资源/存储资源关联的资源控制器,并且所述资源控制器被配置为:
响应于从处理元件接收的访问请求,将所述功能资源/存储资源的第一部分分配给所述处理元件;
根据所述第一部分的分配变更所述功能资源/存储资源的所述第一部分的功耗模式,并且使所述功能资源/存储资源的未分配部分处于掉电模式;以及
响应于从所述处理元件接收的所述访问请求,使所述处理元件能够访问所述功能资源/存储资源的所述第一部分;
其中所述访问请求包括定义QoS的元数据,且基于资源调度器的工作负荷所述元数据被划分为子任务以满足所述定义的QoS。
12.如权利要求11所述的电路,其中,所述资源控制器被配置为根据所述第一部分的分配将所述第一部分的功耗模式从掉电模式变更为浅睡眠模式。
13.如权利要求12所述的电路,其中,所述资源控制器被配置为在所述第一部分的分配之后至少2个时钟周期,将所述第一部分的功耗模式变更为上电模式。
14.如权利要求11至13中任一项所述的电路,其中,所述资源控制器包括服务质量QoS分析器,其中所述访问请求包括定义QoS的元数据。
15.如权利要求14所述的电路,其中,所述资源控制器还包括资源调度器,被配置为响应于所述访问请求,选择性地控制对所述功能资源/存储资源的读/写访问,并且所述功能资源/存储资源包括一个或多个存储体。
16.一种片上系统SoC,包括:
处理元件;以及
与功能资源/存储资源关联的资源控制器,所述资源控制器被配置为:
响应于来自所述处理元件的访问请求,将所述功能资源/存储资源的第一部分分配给所述处理元件;
根据所述第一部分的分配变更所述功能资源/存储资源的所述第一部分的功耗模式,并且使所述功能资源/存储资源的未分配部分处于掉电模式;以及
响应于从所述处理元件接收到的所述访问请求,使所述处理元件能够访问所述功能资源/存储资源的所述第一部分;
其中所述访问请求包括定义QoS的元数据,且基于资源调度器的工作负荷所述元数据被划分为子任务以满足所述定义的QoS。
17.如权利要求16所述的SoC,其中,所述资源控制器从所述处理元件接收所述访问请求,并且当接收到所述访问请求时所述资源控制器控制所述功能资源/存储资源的分配。
18.如权利要求17所述的SoC,其中,所述资源控制器包括服务质量QoS分析器和资源调度器,其中所述资源调度器和所述QoS分析器自我管理所述功能资源/存储资源的功耗模式。
19.如权利要求18所述的SoC,其中,所述资源控制器被配置为在所述第一部分的分配之后至少2个时钟周期,将所述第一部分的功耗模式变更为上电模式。
20.如权利要求18所述的SoC,其中,所述资源控制器被配置为响应于所述访问请求,选择性地控制对所述功能资源/存储资源的读/写访问,并且所述功能资源/存储资源包括一个或多个存储体。
CN201580057819.4A 2014-10-27 2015-10-21 用于片上多核系统的驱动基于访问的资源的低功耗控制和管理 Expired - Fee Related CN107111349B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462069166P 2014-10-27 2014-10-27
US62/069,166 2014-10-27
US14/601,981 US9612651B2 (en) 2014-10-27 2015-01-21 Access based resources driven low power control and management for multi-core system on a chip
US14/601,981 2015-01-21
PCT/CN2015/092461 WO2016066034A1 (en) 2014-10-27 2015-10-21 Access based resources driven low power control and management for multi-core system on a chip

Publications (2)

Publication Number Publication Date
CN107111349A CN107111349A (zh) 2017-08-29
CN107111349B true CN107111349B (zh) 2020-06-19

Family

ID=55791974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580057819.4A Expired - Fee Related CN107111349B (zh) 2014-10-27 2015-10-21 用于片上多核系统的驱动基于访问的资源的低功耗控制和管理

Country Status (3)

Country Link
US (1) US9612651B2 (zh)
CN (1) CN107111349B (zh)
WO (1) WO2016066034A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
KR20180085605A (ko) 2017-01-19 2018-07-27 삼성전자주식회사 핸드쉐이크를 이용하여 메모리의 전력을 조절하는 시스템 온 칩 및 이의 동작 방법
US20190075069A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Behaviorally modelled smart notification regime
US10671147B2 (en) * 2017-12-18 2020-06-02 Facebook, Inc. Dynamic power management for artificial intelligence hardware accelerators
US11755999B2 (en) * 2019-10-24 2023-09-12 Accenture Global Solutions Limited Artificial intelligence based project implementation
IT202000009364A1 (it) * 2020-04-29 2021-10-29 St Microelectronics Srl Procedimento per accedere a una memoria e circuito corrispondente
US11520499B1 (en) * 2022-05-18 2022-12-06 Ambiq Micro, Inc. On-demand activation of memory path during sleep or active modes
US11972267B2 (en) * 2022-10-04 2024-04-30 International Business Machines Corporation Hibernation of computing device with faulty batteries

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1680962A (zh) * 2004-03-31 2005-10-12 微软公司 游戏控制器功率管理
CN101346701A (zh) * 2005-12-21 2009-01-14 Nxp股份有限公司 降低正在被供电的存储体的数量
KR20100093260A (ko) * 2009-02-16 2010-08-25 한국과학기술원 IEEE 802.16e 시스템에서의 스케줄된 절전 방법
CN103988147A (zh) * 2011-11-29 2014-08-13 英特尔公司 在活动工作负荷期间动态进入低功率状态

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524249A (en) * 1994-01-27 1996-06-04 Compaq Computer Corporation Video subsystem power management apparatus and method
US7111178B2 (en) * 2001-09-28 2006-09-19 Intel Corporation Method and apparatus for adjusting the voltage and frequency to minimize power dissipation in a multiprocessor system
US7081897B2 (en) * 2003-12-24 2006-07-25 Intel Corporation Unified memory organization for power savings
US8799902B2 (en) * 2007-04-09 2014-08-05 Intel Corporation Priority based throttling for power/performance quality of service
US20100169227A1 (en) * 2008-12-31 2010-07-01 International Business Machines Corporation ENERGY MANAGEMENT AND QUALITY OF SERVICE (QoS)
CN101930277B (zh) * 2009-06-19 2013-11-06 瑞昱半导体股份有限公司 省电及唤醒装置与方法
US9208071B2 (en) * 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9285856B2 (en) 2010-12-21 2016-03-15 Qualcomm Incorporated Method and system for rapid entry into and for rapid exiting from sleep states for processors of a portable computing device
US20130046934A1 (en) * 2011-08-15 2013-02-21 Robert Nychka System caching using heterogenous memories
US8862917B2 (en) 2011-09-19 2014-10-14 Qualcomm Incorporated Dynamic sleep for multicore computing devices
JP2013069047A (ja) * 2011-09-21 2013-04-18 Toshiba Corp メモリシステム
US8954980B2 (en) 2011-11-11 2015-02-10 Qualcomm Incorporated Conserving power through work load estimation for a portable computing device using scheduled resource set transitions
US8947966B2 (en) * 2012-06-11 2015-02-03 Lsi Corporation Power gated memory device with power state indication
US20140089604A1 (en) 2012-09-27 2014-03-27 Apple Inc. Bipolar collapsible fifo
CN102929380B (zh) * 2012-10-19 2015-06-03 中兴通讯股份有限公司 降低移动终端功耗的方法、装置及其终端
CN103491613A (zh) * 2013-09-10 2014-01-01 中兴通讯股份有限公司 一种基站bbu的节电控制方法及装置
US9489263B2 (en) * 2014-01-09 2016-11-08 Sandisk Technologies Llc Selective ECC refresh for on die buffered non-volatile memory
US20150262696A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Memory system and control method of memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1680962A (zh) * 2004-03-31 2005-10-12 微软公司 游戏控制器功率管理
CN101346701A (zh) * 2005-12-21 2009-01-14 Nxp股份有限公司 降低正在被供电的存储体的数量
KR20100093260A (ko) * 2009-02-16 2010-08-25 한국과학기술원 IEEE 802.16e 시스템에서의 스케줄된 절전 방법
CN103988147A (zh) * 2011-11-29 2014-08-13 英特尔公司 在活动工作负荷期间动态进入低功率状态

Also Published As

Publication number Publication date
WO2016066034A1 (en) 2016-05-06
US9612651B2 (en) 2017-04-04
CN107111349A (zh) 2017-08-29
US20160116971A1 (en) 2016-04-28

Similar Documents

Publication Publication Date Title
CN107111349B (zh) 用于片上多核系统的驱动基于访问的资源的低功耗控制和管理
US10613876B2 (en) Methods and apparatuses for controlling thread contention
US8219993B2 (en) Frequency scaling of processing unit based on aggregate thread CPI metric
US8943340B2 (en) Controlling a turbo mode frequency of a processor
US10990407B2 (en) Dynamic interrupt reconfiguration for effective power management
Saxe Power-efficient software
US20120284729A1 (en) Processor state-based thread scheduling
US9329658B2 (en) Block-level sleep logic
US20130080809A1 (en) Server system and power managing method thereof
US10768684B2 (en) Reducing power by vacating subsets of CPUs and memory
US9075609B2 (en) Power controller, processor and method of power management
US11422849B2 (en) Technology for dynamically grouping threads for energy efficiency
WO2015135468A1 (en) Systems and methods for messaging-based fine granularity system-on-a-chip power gating
CN107132903B (zh) 一种节能管理实现方法、装置及网络设备
WO2022052704A1 (zh) 任务调度方法、装置、芯片、终端及存储介质
CN111966208A (zh) 一种降低服务器功耗的方法及装置
CN108009121B (zh) 面向应用的动态多核配置方法
KR20130121412A (ko) 모바일 장치에서의 비대칭 멀티 프로세서 코어 스케줄링 방법 및 모바일 장치
Saxe Power-Efficient Software: Power-manageable hardware can help save energy, but what can software developers do to address the problem?
US20230153121A1 (en) Accelerator usage prediction for improved accelerator readiness
Huang et al. User experience-enhanced and energy-efficient task scheduling on heterogeneous multi-core mobile systems
Jia et al. Coordinate task and memory management for improving power efficiency
Chow Characterizing Dynamic Frequency and Thread Blocking Scaling in GPUs: Challenges and Opportunities
WO2024005996A1 (en) Rest-of-chip power optimization through data fabric performance state management
CN116467253A (zh) Soc域控制器实时性保障方法、装置、设备及存储介质

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
TA01 Transfer of patent application right

Effective date of registration: 20200528

Address after: 243000 east side of plant 2, Pujian Industrial Park, zhengpugang New District, Ma'anshan City, Anhui Province

Applicant after: Gangyou (Anhui) Intelligent Technology Co.,Ltd.

Address before: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Effective date of registration: 20200528

Address after: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Applicant after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200619

Termination date: 20211021

CF01 Termination of patent right due to non-payment of annual fee