CN105320240A - 电源管理系统、功率控制方法 - Google Patents

电源管理系统、功率控制方法 Download PDF

Info

Publication number
CN105320240A
CN105320240A CN201510446665.XA CN201510446665A CN105320240A CN 105320240 A CN105320240 A CN 105320240A CN 201510446665 A CN201510446665 A CN 201510446665A CN 105320240 A CN105320240 A CN 105320240A
Authority
CN
China
Prior art keywords
controller
receive
instruction
power
programme
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.)
Granted
Application number
CN201510446665.XA
Other languages
English (en)
Other versions
CN105320240B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN105320240A publication Critical patent/CN105320240A/zh
Application granted granted Critical
Publication of CN105320240B publication Critical patent/CN105320240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Microcomputers (AREA)

Abstract

一种用于控制包括在片上系统中的多个功能块的功率的电源管理系统包括:多个可编程纳控制器、指令存储器和信号映射存储器。指令存储器由纳控制器共享,并且存储多个由纳控制器使用的指令。信号映射存储器由纳控制器共享,并且存储送到功能块且由纳控制器控制的多个指令。将多个纳控制器中的第一纳控制器编程为中央序列发生器。将多个纳控制器中的第二至第n纳控制器编程为取决于第一纳控制器的第一子序列发生器。

Description

电源管理系统、功率控制方法
有关专利申请的交叉参考
本申请要求2014年7月25日向韩国知识产权局(KIPO)提交的韩国专利申请No.10-2014-0094545的优先权,在此,兹通过引用合并该韩国专利申请的全部内容。
背景技术
片上系统(SoC)通常指下面的处理系统:在单个或者一些半导体集成电路(IC)中集成各种功能块(例如,中央处理单元、存储器、接口单元、数字信号处理单元、模拟信号处理单元等),以利用有限数量的IC实现诸如计算机系统的电子系统。
SoC已逐步发展成包括诸如多媒体、图形件、接口、安全功能件等的各种功能的复杂系统。由于在电池供电的便携式设备中聚集了各式各样的能力和功能,所以一直在努力在增强其性能的同时降低这种便携式设备中的功耗。
发明内容
本公开的示范实施例提供了一种具有较简单结构并且可以有效降低功耗的电源管理系统。
本公开的示范实施例还提供了包括这种电源管理系统的SoC以及包括这种SoC的移动设备。
根据示范实施例,提供了一种用于控制包括在SoC中的多个功能块的功率的电源管理系统。该电源管理系统包括多个纳控制器、指令存储器和信号映射存储器。多个纳控制器包括是可编程纳控制器的第一至第n纳控制器,其中n是等于或者大于2的自然数。指令存储器由多个纳控制器共享,并且存储由多个纳控制器使用的多个指令。信号映射存储器由多个纳控制器共享并且存储多个在多个纳控制器的控制下送到多个功能块的多个信号。将第一纳控制器编程为中央序列发生器。将第二至第n纳控制器编程为取决于第一纳控制器的第一子序列发生器。
多个纳控制器中的每个都可以包括:指令地址发生器、指令寄存器、指令解码器和指令执行单元。可以配置指令地址发生器,以根据作业请求产生目标指令地址。可以配置指令寄存器,以根据目标指令地址,取得包括在多个指令中的目标指令。可以配置指令解码器,以解码目标指令。可以配置指令执行单元,以执行目标指令。
在示范实施例中,作业请求可以包括目标指令地址。指令地址发生器可以包括程序计数器。可以配置该程序计数器,以存储并且输出目标指令地址。
在示范实施例中,作业请求可以包括作业命令。指令地址发生器可以包括命令解码器和程序计数器。可以配置命令解码器,以解码作业命令,从而产生目标指令地址。可以配置程序计数器,以存储并且输出目标指令地址。
命令解码器可以由硬件实现,也可以由多个纳控制器中的每个可执行的软件实现。
在示范实施例中,第一纳控制器还可以包括作业分配状态寄存器。可以配置该作业分配状态寄存器,以存储多个纳控制器的当前作业状态。
在示范实施例中,可以配置所述第一纳控制器,以响应从外部设备收到第一作业请求,对第一至第n纳控制器中的一个分配对应于第一作业请求的第一目标作业。
可以配置第一纳控制器,以当处理第一作业请求时,如果第一纳控制器处于空闲状态,则对第一纳控制器分配第一目标作业。可以配置第一纳控制器,以当处理第一作业请求时,如果对第一纳控制器分配不同于第一目标作业的第二目标作业,则对第二至第n纳控制器中的一个分配第一目标作业。
可以配置第一纳控制器,以通过根据包括在多个指令中的调用指令和第二纳控制器的标识(ID),调用第二纳控制器,并且通过将第一作业请求送到第二纳控制器,对第二纳控制器分配第一目标作业。可以配置所述第二纳控制器,以当第一目标作业由第二纳控制器完成时,利用包括在多个指令中的返回指令将第一目标作业已经完成通知第一纳控制器。
在示范实施例中,第一纳控制器可以从外部设备接收多个作业请求。可以配置第一至第n纳控制器,以根据多线方案,执行对应于多个作业请求的多个目标作业。
在示范实施例中,多个纳控制器还包括被编程为取决于第二纳控制器的第二子序列发生器的第(n+1)至第m纳控制器,其中m是等于或者大于(n+1)的自然数。
在示范实施例中,可以配置第二至第n纳控制器,以控制多个功能块中的各功能块的功率。
在示范实施例中,多个信号可以包括:复位信号、供电电压和数据保留控制信号。可以配置第二至第n纳控制器中的各纳控制器,以控制一组复位信号、一组供电电压和一组数据保留控制信号中的各信号。
可以配置多个纳控制器,以利用请求指令和确认指令,根据异步接口操作。
多个指令可以包括:流控制指令、加载指令、存储指令、请求指令、确认指令、调用指令、返回指令、等待指令和移动指令。
指令存储器可以包括至少一个静态随机存取存储器(SRAM),并且信号映射存储器可以包括至少一个寄存器。
电源管理系统可以是片上系统的一部分,该片上系统还包括中央处理单元,配置该中央处理单元,以控制多个功能块。
根据示范实施例,片上系统(SoC)包括:中央处理单元(CPU)、多个功能块以及电源管理系统。多个功能块由CPU控制。电源管理系统由CPU控制并且控制多个功能块的功率。电源管理系统包括:多个纳控制器、指令存储器和信号映射存储器。将多个纳控制器配置为可编程。指令存储器由多个纳控制器共享,并且存储多个纳控制器使用的多个指令。信号映射存储器由多个纳控制器共享,并且存储送到多个功能块并且由多个纳控制器控制的多个信号。将多个纳控制器中的第一纳控制器编程为中央序列发生器。将多个纳控制器中的第二至第n纳控制器编程为取决于第一纳控制器的第一子序列发生器,其中n是等于或者大于2的自然数。
第一纳控制器可以从CPU接收第一作业请求。可以对第一至第n纳控制器中的一个分配对应于第一作业请求的第一目标作业,以控制多个功能块的功率。
在示范实施例中,第二至第n纳控制器中的各纳控制器可以控制多个功能块中的各功能块的功率。
在示范实施例中,多个信号可以包括:复位信号、供电电压和数据保留控制信号。第二至第n纳控制器中的各纳控制器可以控制一组复位信号、一组供电电压和一组数据保留控制信号中的各信号。
多个功能块可以包括:显示控制块、文件系统块、图形处理单元(GPU)块、图像信号处理块和多格式编码解码器块。
SoC可以是包括在移动设备中的应用处理器(AP)。
根据示范实施例,移动设备包括多个功能模块和片上系统(SoC)。SoC控制多个功能模块。SoC包括中央处理单元(CPU)、多个功能块以及电源管理系统。多个功能块由CPU控制。电源管理系统由CPU控制,并且控制多个功能块的功率。电源管理系统包括:多个纳控制器、指令存储器和信号映射存储器。将多个纳控制器配置为可编程。指令存储器由多个纳控制器共享,并且存储由多个纳控制器使用的多个指令。信号映射存储器由多个纳控制器共享,并且存储送到多个功能块并且被多个纳控制器控制的多个信号。将多个纳控制器中的第一纳控制器编程为中央序列发生器。将多个纳控制器中的第二至第n纳控制器编程为取决于第一纳控制器的第一子序列发生器,其中n是等于或者大于2的自然数。
多个功能块可以包括:通信模块、摄像头模块、显示模块和触摸板模块。
根据示范实施例的电源管理系统可以包括多个纳控制器,将该多个纳控制器配置为可编程的。因此,可以最佳地编程多个纳控制器,以控制SoC的功率。此外,多个纳控制器可以根据较简单并且有限的指令操作,并且指令存储器和信号映射存储器可以由多个纳控制器共享。因此,具有多个纳控制器的电源管理系统可以具有较简单结构,并且可以有效降低SoC和移动设备的功耗。
根据示范实施例,一种用于控制送到片上系统的多个功能块的功率的方法,在该方法中,将多个可编程纳控制器中的第一可编程纳控制器指定为中央序列发生器。将所述多个可编程纳控制器中的另外可编程纳控制器指定为取决于多个可编程纳控制器中的第一可编程纳控制器的第一子序列发生器。接收第一作业请求。至少部分地根据多个可编程纳控制器中的一个或者多个的当前作业状态,对多个可编程纳控制器中的一个分配对应于第一作业请求的第一目标作业。利用从由多个可编程纳控制器共享的指令存储器取得的第一指令,在多个可编程纳控制器中的分配的可编程纳控制器处执行第一目标作业。
在示范实施例中,利用从由多个可编程纳控制器共享的指令存储器取得的第一指令,在多个可编程纳控制器中的分配的可编程纳控制器处执行第一目标作业包括:利用第一指令的地址从指令存储器取得第一指令;在多个可编程纳控制器中的分配的可编程纳控制器处解码第一指令;以及在多个可编程纳控制器中的分配的可编程纳控制器处执行第一指令。
在示范实施例中,该方法还可以包括将存储于由多个可编程纳控制器共享的信号映射存储器中的多个信号中的第一信号送到多个功能块中的第一功能块。
在示范实施例中,至少部分地根据多个可编程纳控制器中的一个或者多个的当前作业状态,对多个可编程纳控制器中的一个分配对应于第一作业请求的第一目标作业可以包括:如果多个纳控制器中的第一纳控制器处于空闲状态,则对多个纳控制器中的第一纳控制器分配第一目标作业请求。
在示范实施例中,至少部分地根据多个可编程纳控制器中的一个或者多个的当前作业状态,对多个可编程纳控制器中的一个分配对应于第一作业请求的第一目标作业可以包括:如果当前对多个纳控制器中的第一纳控制器分配不同于第一目标作业的第二目标作业,则对多个纳控制器中的第二纳控制器分配第一目标作业请求。
在示范实施例中,对多个纳控制器中的第二纳控制器分配第一目标作业请求可以包括:根据从指令存储器取得的调用指令和第二纳控制器的标识(ID),调用第二纳控制器;将第一作业请求送到第二纳控制器;以及已经完成第一目标作业后,从第二纳控制器接收第二纳控制器从指令存储器取得的返回指令。
在示范实施例中,可以配置第二至第n纳控制器,以控制多个功能块中的各功能块的功率。
在示范实施例中,多个信号可以包括:复位信号、供电电压和数据保留控制信号,并且可以配置第二至第n纳控制器中的各纳控制器,以控制一组复位信号、一组供电电压和一组数据保留控制信号中的各信号。
附图说明
根据下面结合附图所做的详细描述,将更清楚地理解说明性的非限制性示范实施例。
图1是示出根据示范实施例的SoC的方框图。
图2是示出根据示范实施例的电源管理系统的方框图。
图3、4和5是示出图2所示电源管理系统的操作的示意图。
图6、7和8是示出包括在图2所示电源管理系统中的第一纳控制器的示范实现的方框图。
图9是示出包括在图2所示电源管理系统中的第二纳控制器的示范实施例的方框图。
图10、11和12是示出图2所示电源管理系统的操作的示意图。
图13是示出根据示范实施例的电源管理系统的操作方法的流程图。
图14是示出用于执行图13所示第一目标作业的操作例子的流程图。
图15是示出用于分配图14所示第一目标作业的操作例子的流程图。
图16是示出用于执行图14所示第一目标作业的操作例子的流程图。
图17是示出根据示范实施例的电源管理系统的操作方法的流程图。
图18是示出用于执行图17所示多个目标作业的操作例子的流程图。
图19是示出根据示范实施例的移动设备的方框图。
图20是示出图19所示移动设备被实现为智能电话的例子的示意图。
图21是示出包括在根据示范实施例的移动设备中的接口的方框图。
图22是示出根据示范实施例的便携式终端的方框图。
具体实施方式
将参考附图更全面描述各种示范实施例。然而,本公开可以以各种方式实施,并且不应当认为其局限于在此描述的实施例。相反,提供这些实施例是为了使本公开透彻并且全面,并且向本技术领域内的技术人员全面表达本公开的范围。在整个本说明书中,相似的参考编号指相似的单元。
应当明白,尽管在此为了描述各种单元可以使用术语第一、第二等,但是这些单元不应当受这些术语的限制。这些术语用于将一个单元与另一个单元区别开。例如,可以将第一单元称为第二单元,并且同样地,可以将第二单元称为第一单元,而不脱离本发明的范围。在此使用的术语“和/或者”包括一个或者多个有关列项中的任何一个及其所有组合。
应当明白,当称一个单元“连接”到或者“耦合”到另一个单元时,其可以直接连接到或者耦合到另一个单元,也可以存在中间单元。相反,当称一个单元“直接连接”到或者“直接耦合”到另一个单元时,则不存在中间单元。应当以类似方式理解用于描述单元之间的关系的其他单词(例如,“在......之间”与“直接在......之间”、“相邻”与“直接相邻”等等)。
在此使用的技术术语是出于描述特定实施例的目的,并且不旨在限制本公开。如在此使用的单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另外清楚地指出。还应当明白,当在此使用时,术语“包括”、“含括”、“包含”和/或者“含有”指明存在所述的特征、操作、单元、和/或者部件,但不排除存在或者附加一个或者多个其他特征、操作、单元、和/或者部件或者其组合。
除非另外指出,在此使用的所有术语(包括科技术语)都与本公开所属技术领域内的普通技术人员通常理解的意义相同。还应当明白,应当将诸如通常使用的字典中定义的术语理解为具有符合其在有关技术背景下的意义,而不以理想化的或者非常正式的意义理解其,除非在此这样清楚地定义。
图1是示出根据示范实施例的SoC10的方框图。
参考图1,SoC10包括:中央处理单元(CPU)20、多个功能块30、40和50以及电源管理系统100。为了便于说明,图1中省略了SoC10的一些部件。
CPU20控制SoC10的所有操作。CPU20可以包括单处理器核或者多处理器核。例如,CPU20可以是多核处理器,诸如双核处理器,四核处理器、六核处理器等。
功能块30、40和50可以由CPU20控制。功能块30、40和50可以分别具有特定功能。例如,功能块30、40和50可以包括:显示控制块、文件系统块、图形处理单元(GPU)块、图像信号处理块、多格式编解码器块等。应当明白,可以设置多于或者少于3个的功能块。
电源管理系统100由CPU20控制。电源管理系统100控制功能块30、40和50的功率。电源管理系统100包括:多个纳控制器200、指令存储器300以及信号映射存储器400。电源管理系统100可以具有较简单结构,并且可以有效降低SoC10的功耗。
下面将参考图2至12详细描述电源管理系统100的配置和操作。
在一些示范实施例中,CPU20和电源管理系统100中的每个都可以被定义为一个功能块。
在一些示范实施例中,SoC10可以是包括在移动设备中的应用处理器(AP)。在其他示范实施例中,SoC10可以是包括在电子设备中的任何芯片。
图2是示出图1所示电源管理系统100的示范实施例的方框图。
参考图2,电源管理系统100包括:多个纳控制器200、指令存储器300和信号映射存储器300。
多个纳控制器200包括第一至第n控制器nC1、nC2、......、nCn,其中n是等于或者大于2的自然数。被统称为纳控制器200的纳控制器可以是可编程的。换句话说,纳控制器200是可编程纳控制器。例如,为了控制图1中的功能块30、40和50的功率,可以根据图1中的SoC10的配置对至少一些(例如,两个)纳控制器200编程。如下参考图3所述,第一纳控制器nC1被编程为中央序列发生器,并且将第二至第n纳控制器nC2、......、nCn编程为取决于第一纳控制器nC1的第一子序列发生器。换句话说,可以以分级结构编程纳控制器200。
在一些示范实施例中,如图3所示,可以对第二至第n纳控制器nC2、......、nCn中的各纳控制器编程,以控制图1中的多个功能块30、40和50中的各功能块的功率。在其他示范实施例中,如图11所示,可以对第二至第n纳控制器nC2、......、nCn编程,以控制存储于信号映射存储器400中的信号组中的各信号。
指令存储器300存储纳控制器200使用的指令。指令存储器300由纳控制器200共享。在一些实施例中,指令存储器300可以包括至少一个静态随机存取存储器(SRAM)。
在一些示范实施例中,指令可以包括较简单并且有限的指令。例如,指令可以是8位指令。指令可以包括例如:流控制指令、加载指令、存储指令、请求指令、确认指令、调用指令、返回指令、等待指令和移动指令。
流控制指令可以包括:条件分支指令、跳转指令等。加载指令可以用于输入信号,并且存储指令可以用于输出信号。请求指令和确认指令可以用于异步接口,并且可以用作一对指令。利用请求指令和确认指令,纳控制器200可以根据异步接口进行操作。调用指令可以用于调用一个纳控制器,以执行目标作业,并且确认指令可以用于提供目标作业已经完成的通知。调用指令和返回指令可以用作一对指令。等待指令可以用于等待定时器到期或者收到输入信号。还可以将等待指令称为延迟指令。移动指令可以用于将数据和/或者值转移到目标寄存器。
信号映射存储器400存储送到图1中的功能块30、40和50的信号,并且受纳控制器200的控制。信号映射存储器400由纳控制器200共享。信号映射存储器400可以包括至少一个寄存器。
在一些示范实施例中,信号可以包括:复位信号、供电电压和数据保留控制信号。信号还可以包括:时钟选通信号、工作频率信号等。
根据示范实施例的电源管理系统100可以包括纳控制器200。纳控制器200可以不包括有限状态机(FSM),但是可以将纳控制器200配置为可编程的。因此,可以对纳控制器200编程,以最佳地控制SoC10的功率。此外,纳控制器200可以根据较简单并且有限的指令操作,并且指令存储器300和信号映射存储器400可以被纳控制器200共享。因此,包括纳控制器200的电源管理系统100可以具有较简单的结构,并且可以有效降低SoC10的功耗。
图3、4和5是描述图2的电源管理系统的操作的示意图。
参考图1至5,可以将第一纳控制器nC1编程为中央序列发生器。可以将第一纳控制器nC1之外的纳控制器nC2、......、nCn中的一些纳控制器编程为取决于中央序列发生器的子序列发生器。在图3所示的例子中,可以将第二、第三和第四纳控制器nC2、nC3和nC4编程为取决于第一纳控制器nC1的子序列发生器。
在一些示范实施例中,纳控制器nC2、nC3和nC4可以控制功能块30、40和50中的各功能块的功率。例如,第二纳控制器nC2可以控制第一功能块30的功率,第三纳控制器nC3可以控制第二功能块40的功率,并且第四纳控制器nC4可以控制第三功能块50的功率。换句话说,第二纳控制器nC2可以控制送到第一功能块30的第一复位信号RST1、第一供电电压PWR1以及第一数据保留控制信号RETN1。第三纳控制器nC3可以控制送到第二功能块40的第二复位信号RST2、第二供电电压PWR2以及第二数据保留控制信号RETN2。第四纳控制器nC4可以控制送到第三功能块50的第三复位信号RST3、第三供电电压PWR3以及第三数据保留控制信号RETN3。
尽管图3示出一个例子,在该例子中,将三个纳控制器nC2、nC3和nC4编程为取决于中央序列发生器nC1的子序列发生器,并且三个纳控制器nC2、nC3和nC4中的每个分别控制功能块30、40和50中的各功能块的功率,但是被编程为子序列发生器的纳控制器的数量不局限于此,而且可以改变。
第一纳控制器nC1可以从外部设备接收第一作业请求JREQ1。例如,可以将第一作业请求JREQ1从包括在SoC10中的CPU20送到第一纳控制器nC1。第一纳控制器nC1可以对第一至第四纳控制器nC1、nC2、nC3和nC4中的一个分配对应于第一作业请求JREQ1的第一目标作业。
在一些示范实施例中,如图4所示,CPU20可以将第一作业请求JREQ1送到第一纳控制器nC1。例如,根据第一纳控制器nC1的第一标识(ID)nCID1和调用指令,CPU20可以调用第一纳控制器nC1。CPU20可以将第一作业请求JREQ1送到调用的第一纳控制器nC1。
当第一纳控制器nC1处于空闲状态时(例如,当不对第一纳控制器nC1分配任何目标作业时),第一纳控制器nC1可以根据第一作业请求JREQ1执行第一目标作业。例如,第一纳控制器nC1可以根据单线方案THD1执行第一目标作业。
第一作业请求JREQ1可以包括第一目标指令地址IADDR1或者第一作业命令JCMD1。第一目标指令地址IADDR1可以是用于直接访问指令存储器300的地址。第一作业命令JCMD1可以是CPU20使用的命令。第一纳控制器nC1可以根据第一目标指令地址IADDR1或者第一作业命令JCMD1执行第一目标作业。
下面将参考图6、7和8描述根据第一目标指令地址IADDR1或者第一作业命令JCMD1执行第一目标作业的第一纳控制器nC1的操作。
当第一纳控制器nC1完成第一目标作业时,第一纳控制器nC1可以利用返回指令RTN1将第一目标作业已经完成通知CPU20。
参考图5,当已经对第一纳控制器nC1分配了第二目标作业时,CPU20可以将第一作业请求JREQ1送到第一纳控制器nC1。
由于已经对第一纳控制器nC1分配了第二目标作业,所以第一纳控制器nC1不能执行第一目标作业,并且因此,第一纳控制器nC1可以对第二至第四纳控制器nC2、nC3和nC4之一分配第一目标作业。
例如,当对第二纳控制器nC2分配第一目标作业时(例如,当第一目标作业是控制第一功能块30的功率的作业时),第一纳控制器nC1可以根据第二纳控制器nC2的第二IDnCID2和调用指令调用第二纳控制器nC2。第一纳控制器nC1可以将第一作业请求JREQ1送到调用的第二纳控制器nC2。
第二纳控制器nC2可以根据第一作业请求JREQ1执行第一目标作业。例如,第二纳控制器nC2可以根据单线方案THD2执行第一目标作业。第一作业请求JREQ1可以包括第一目标指令地址IADDR1或者第一作业命令JCMD1。
下面将参考图9描述根据第一目标指令地址IADDR1或者第一作业命令JCMD1执行第一目标作业的第二纳控制器nC2的操作。
当第二纳控制器nC2完成第一目标作业时,第二纳控制器nC2可以利用返回指令RTN1将第一目标作业被完成通知第一纳控制器nC1。第一纳控制器nC1同样可以利用返回指令RTNI将第一目标作业被完成通知CPU20。
尽管图3、4和5示出电源管理系统接收一个作业请求JREQ1并且执行一个目标作业的例子,但是电源管理系统可以顺序地或者同步接收多个作业请求。在这种情况下,可以对纳控制器中的各纳控制器分配对应于各作业请求的每个目标作业,并且纳控制器中的各纳控制器可以执行目标作业中的各目标作业。
图6、7和8是示出包括在图2的电源管理系统中的第一纳控制器nC1的三个示范实施例nC1a、nC1b、nC1c的方框图。
下文中,将根据图4的例子描述图6、7和8的示范实施例。在图4的例子中,根据第一IDnCID1,对第一纳控制器nC1分配对应于第一作业请求JREQ1的第一目标作业。
参考图6,第一纳控制器nC1a可以包括:指令地址发生器211a、指令寄存器215、指令解码器216以及指令执行单元217。第一纳控制器nC1a还可以包括作业分配状态寄存器219。
指令地址发生器211a可以根据第一作业请求JREQ1产生第一目标指令地址IADDR1。例如,第一作业请求JREQ1可以直接包括第一目标指令地址IADDR1。在这种情况下,指令地址发生器211a可以包括用于存储并且输出第一目标指令地址IADDR1的程序计数器214。
根据第一目标指令地址IADDR1,指令寄存器215可以取得包括在存储于指令存储器300内的指令中的第一目标指令INST1。指令寄存器215可以存储第一目标指令INST1。
指令解码器216可以对取得的第一目标指令INST1进行解码。指令执行单元217可以执行解码的第一目标指令INST1。例如,指令执行单元217可以包括算术逻辑单元(ALU)。
作业分配状态寄存器219可以表示图2中的多个纳控制器200的当前作业状态。例如,作业分配状态寄存器219可以存储与图2中的各纳控制器的当前作业状态对应的多个值。
在一些示范实施例中,多个值中的第k值可以对应于第k纳控制器的状态,其中k是等于或者大于1并且等于或者小于n的自然数。当不对第k纳控制器分配任何目标作业时,可以将第k值设定到第一逻辑级(例如,“0”)。当对第k纳控制器分配目标作业并且第k纳控制器执行该目标作业时,可以将第k值设定为第二逻辑级(例如,“1”)。例如,当第一纳控制器nC1a处于空闲状态时,可以将存储于作业分配状态寄存器219内用于指出第一纳控制器nC1a的状态的第一值设定为第一逻辑级。当对第一纳控制器nC1a分配第一目标作业并且第一纳控制器nC1a执行第一目标作业时,可以代之以将第一值设定为第二逻辑电平。当第一纳控制器nC1a完成第一目标作业时,可以将第一值设定回第一逻辑电平。
参考图7,第一纳控制器nC1b可以包括:指令地址发生器211b、指令寄存器215、指令解码器216和指令执行单元217。第一纳控制器nC1b还可以包括作业分配状态寄存器219。
指令地址发生器211b可以根据第一作业请求JREQ1产生第一目标指令地址IADDR1。例如,第一作业请求JREQ1可以包括第一作业命令JCMD1。在这种情况下,指令地址发生器211b可以包括命令解码器213和程序计数器214。命令解码器213可以解码第一作业命令JCMD1,以产生第一目标指令地址IADDR1。程序计数器214可以存储并且可以输出第一目标指令地址IADDR1。
在一些示范实施例中,命令解码器213可以由硬件实现。在其他示范实施例中,命令解码器213可以由第一纳控制器nC1b可执行的软件实现。
图7中的指令寄存器215、指令解码器216、指令执行单元217以及作业分配状态寄存器219可以分别与图6中的指令寄存器215、指令解码器216、指令执行单元217以及作业分配状态寄存器219基本上相同。例如,指令寄存器215可以根据第一目标指令地址IADDR1从指令存储器300取得第一目标指令INST1。指令解码器216可以解码第一目标指令INST1。指令执行单元217可以执行第一目标指令INST1。作业分配状态寄存器219可以存储图2中的多个纳控制器200的当前作业状态。
参考图8,第一纳控制器nC1c可以包括:指令地址发生器211c、指令寄存器215、指令解码器216以及指令执行单元217。第一纳控制器nC1c还可以包括作业分配状态寄存器219。
指令地址发生器211c可以根据第一作业请求JREQ1产生第一目标指令地址IADDR1。例如,第一作业请求JREQ1可以包括第一目标指令地址IADDR1或者第一作业命令JCMD1。在这种情况下,指令地址发生器211c可以包括:选择器212、命令解码器213和程序计数器214。当第一作业请求JREQ1包括第一作业命令JCMD1时,选择器212可以将第一作业命令JCMD1送到命令解码器213。当第一作业请求JREQ1包括第一目标指令地址IADDR1时,选择器212可以将第一目标指令地址IADDR1送到程序计数器214。命令解码器213可以解码第一作业命令JCMD1,以产生第一目标指令地址IADDR1。程序计数器214可以存储并且可以输出第一目标指令地址IADDR1。
图8中的指令寄存器215、指令解码器216、指令执行单元217以及作业分配状态寄存器219可以分别与图6中的指令寄存器215、指令解码器216、指令执行单元217以及作业分配状态寄存器219基本上相同
图9是示出包括在图2的电源管理系统中的第二纳控制器nC2的示范实施例的方框图。
下面将根据图5中的例子描述图9的示范实施例,在图5中,根据第二IDnCID2,对第二纳控制器分配对应于第一作业请求JREQ1的第一目标作业。
参考图9,第二纳控制器nC2可以包括:指令地址发生器221、指令寄存器225、指令寄存器226和指令执行单元227。
指令地址发生器221可以根据第一作业请求JREQ1产生第一目标指令地址IADDR1。在一些示范实施例中,如图6所示,指令地址发生器221可以包括程序计数器。在其他示范实施例中,如图7所示,指令地址发生器221可以包括命令解码器和程序计数器。在又一些其他示范实施例中,如图8所示,指令地址发生器221可以包括:选择器、命令解码器和程序计数器。
指令寄存器225可以根据第一目标指令地址IADDR1从指令存储器300中取得第一目标指令INST1。指令解码器226可以解码第一目标指令INST1。指令执行单元227可以执行第一目标指令INST1。
与图6中的第一纳控制器nC1a、图7中的第一纳控制器nC1b和图8中的第一纳控制器nC1c不同,图9中的第二纳控制器nC2中可以省略作业分配状态寄存器。在一些示范实施例中,第二纳控制器nC2可以不包括作业分配状态寄存器。在其他示范实施例中,第二纳控制器nC2可以包括作业分配状态寄存器,然而,可以不激活第二纳控制器nC2中的作业分配状态寄存器。
尽管图6、7、8和9中未示出,但是图2中的被编程为第一子序列发生器的第二至第n纳控制器nC2、......、nCn具有基本上相同的结构。例如,与图9中的第二纳控制器nC2相似,图3、4和5中的第三和第四纳控制器nC3和nC4中的每个都可以包括:指令地址发生器、指令寄存器、指令解码器和指令执行单元。图3、4和5中的第三和第四纳控制器nC3和nC4中的每个中可以省略作业分配状态寄存器。
图10、11和12是用于描述图2的电源管理系统的操作的示意图。
参考图1、2和10,可以将第一纳控制器nC1编程为中央序列发生器。可以将第二、第三和第四纳控制器nC2、nC3和nC4编程为取决于第一纳控制器nC1的子序列发生器。与图3的例子相同,纳控制器nC2、nC3和nC4中的每个都可以控制功能块30、40和50中的各功能块的功率。
CPU20可以将多个作业请求JREQA、JREQB、JREQC和JREQD送到第一纳控制器nC1。第一纳控制器nC1可以对第一至第四纳控制器nC1、nC2、nC3和nC4分配对应于作业请求JREQA、JREQB、JREQC和JREQD的多个目标作业。在这种情况下,如上参考图4和5所述,可以根据第一至第四纳控制器nC1、nC2、nC3和nC4的当前作业状态对第一至第四纳控制器nC1、nC2、nC3和nC4分配多个目标作业。例如,可以对第一纳控制器nC1分配对应于第一作业请求JREQA的第一目标作业。可以对第二纳控制器nC2分配对应于第二作业请求JREQB的第二目标作业。可以对第三纳控制器nC3分配对应于第三作业请求JREQC的第三目标作业。可以对第四纳控制器nC4分配对应于第四作业请求JREQD的第四目标作业。
第一至第四纳控制器nC1、nC2、nC3和nC4可以根据作业请求JREQA、JREQB、JREQC和JREQD执行目标作业。例如,第一至第四纳控制器nC1、nC2、nC3和nC4可以根据多线方案THDA、THDB、THDC和THDD执行目标作业。换句话说,在单个进程中,基本上可以同步执行目标作业。
当第一至第四纳控制器nC1、nC2、nC3和nC4完成多个目标作业时,第二至第四纳控制器nC2、nC3和nC4可以分别利用返回指令RTNB、RTNC和RTND将已经完成第二、第三和第四目标作业通知第一纳控制器nC1。第一纳控制器nC1可以利用返回指令RTNA、RTNB、RTNC和RTND将已经完成第一、第二、第三和第四目标作业通知CPU20。
参考图1、2和11,可以将第一纳控制器nC1编程为中央序列发生器。可以将第一纳控制器nC1之外的纳控制器中的一些编程为取决于中央序列发生器的子序列发生器。在图11的例子中,将第二、第三和第四纳控制器nC2a、nC3a和nC4a编程为取决于第一纳控制器nC1的子序列发生器。
在一些示范实施例中,纳控制器nC2a、nC3a和nC4a中的每个都可以控制存储于信号映射存储器400中的每组信号。例如,第二纳控制器nC2a可以控制一组复位信号,第三纳控制器nC3a可以控制一组数据保留控制信号,并且第四纳控制器nC4a可以控制一组供电电压。换句话说,第二纳控制器nC2a可以控制送到第一功能块30的第一复位信号RST1、送到第二功能块40的第二复位信号RST2以及送到第三功能块50的第三复位信号RST3。第三纳控制器nC3a可以控制送到第一功能块30的第一数据保留控制信号RETN1、送到第二功能块40的第二数据保留控制信号RETN2以及送到第三功能块50的第三数据保留控制信号RETN3。第四纳控制器nC4a可以控制送到第一功能块30的第一供电电压PWR、送到第二功能块40的第二供电电压PWR2以及送到第三功能块50的第三供电电压PWR3。
如上参考图4、5和10所述,可以根据第一至第四纳控制器nC1、nC2a、nC3a和nC4a的当前作业状态,对第一至第四纳控制器nC1、nC2a、nC3a和nC4a中的至少一个分配至少一个目标作业。第一至第四纳控制器nC1、nC2a、nC3a和nC4a中的至少一个可以根据单线方案或者多线方案执行至少一个目标作业。
参考图1、2和12,可以将第一纳控制器nC1编程为中央序列发生器。可以将第一纳控制器nC1之外的纳控制器中的一些编程为取决于中央序列发生器的第一子序列发生器。可以将第一纳控制器nC1之外的又一些其他纳控制器编程为取决于第一子序列发生器的第二子序列发生器。在图12的例子中,可以将第二、第三和第四纳控制器nC2b、nC3b和nC4b编程为取决于第一纳控制器nC1的第一子序列发生器。可以将第五、第六和第七纳控制器nC5b、nC6b和nC7b编程为取决于第二纳控制器nC2b的第二子序列发生器。可以将第八和第九纳控制器nC8b和nC9b编程为取决于第三纳控制器nC3b的第二子序列发生器。
在一些示范实施例中,第二至第四纳控制器nC2b、nC3b和nC4b以及第五至第九纳控制器nC5b、nC6b、nC7b、nC8b和nC9b中的每个都可以控制包括在SoC10中的功能块中的各功能块的功率。在其他示范实施例中,第二至第四纳控制器nC2b、nC3b和nC4b以及第五至第九纳控制器nC5b、nC6b、nC7b、nC8b和nC9b中的每个都可以控制存储于信号映射存储器400内的各信号组。
如上参考图4、5和10所示,可以根据第一至第九纳控制器nC1、nC2b、nC3b、nC4b、nC5b、nC6b、nC7b、nC8b和nC9b的当前作业状态对第一至第九纳控制器nC1、nC2b、nC3b、nC4b、nC5b、nC6b、nC7b、nC8b和nC9b中的至少一个分配至少一个目标作业。第一至第九纳控制器nC1、nC2b、nC3b、nC4b、nC5b、nC6b、nC7b、nC8b和nC9b中的至少一个可以根据单线方案和多线方案执行至少一个目标作业。
图13是示出根据示范实施例的电源管理系统的操作方法的流程图。
参考图1、2和13,在电源管理系统100的操作方法中,将第一纳控制器nC1编程为中央序列发生器,而将第二至第n纳控制器nC2、......、nCn编程为取决于第一纳控制器nC1的第一子序列发生器(步骤S100)。
在一些示范实施例中,如图3所示,可以对第二至第n纳控制器nC2、......、nCn中的各纳控制器编程,以控制功能块30、40和50中的各功能块。在其他示范实施例中,如图11所示,可以对第二至第n纳控制器nC2、......、nCn中的各纳控制器编程,以控制存储于信号映射存储器400内的信号组中的各信号。
第一至第n纳控制器nC1、......、nCn之一执行对应于CPU20提供的第一作业请求JREQ1的第一目标作业(步骤S200)。
尽管图1、2和13中未示出,但是纳控制器200还可以包括第(n+1)至第m纳控制器,其中m是等于或者大于(n+1)的自然数。在这种情况下,如图12所示,可以将第(n+1)至第m纳控制器编程为取决于第二纳控制器nC2的第二子序列发生器。在步骤S200中,第一至第m纳控制器中的一个可以执行第一目标作业。
在根据示范实施例的电源管理系统的操作方法中,可以对纳控制器200编程,以控制SoC10的功率。此外,纳控制器200可以根据较简单并且有限的指令操作,并且指令存储器300和信号映射存储器400可以由纳控制器200共享。因此,包括纳控制器200的电源管理系统100可以具有较简单的结构,并且可以有效降低SoC10的功耗。
图14是示出用于执行图13所示第一目标作业的操作例子的流程图。
参考图1、2、13和14,在步骤S200,第一纳控制器nC1可以从CPU20接收第一作业请求JREQ1(步骤S210)。例如,如上参考图4和5所述,CPU20可以根据第一纳控制器nC1的第一IDnCID1和调用指令调用第一纳控制器nC1。CPU20可以将第一作业请求JREQ1送到调用的第一纳控制器nC1。
第一纳控制器nC1可以对第一至第n纳控制器nC1、......、nCn之一分配对应于第一作业请求JREQ1的第一目标作业(步骤S220)。第一至第n纳控制器nC1、......、nCn中的一个可以执行第一目标作业(步骤S230)。
当第一目标作业完成时,CPU20可以通知第一目标作业已经完成(步骤S240)。例如,如图4所示,当对第一纳控制器nC1分配第一目标作业并且当第一目标作业由第一纳控制器nC1完成时,第一纳控制器nC1可以利用返回指令RTN1将第一目标作业已经完成通知CPU20。作为另一个例子,如图5所示,当对第二纳控制器nC2分配第一目标作业时,在第一目标作业由第二纳控制器nC2完成后,第二纳控制器nC2可以利用返回指令RTN1将第一目标作业已经完成通知第一纳控制器nC1。第一纳控制器nC1可以利用返回指令RTN1将第一目标作业已经完成通知CPU20。
图15是示出用于分配图14所示第一目标作业的操作例子的流程图。
参考图1、2、14和15,为了执行图14所示步骤S220,可以确定第一纳控制器nC1的当前作业状态(步骤S222)。在这种情况下,如图6、7和8所示,第一纳控制器nC1可以包括作业分配状态寄存器219,该作业分配状态寄存器219存储多个对应于纳控制器200的当前作业状态的值。根据存储于作业分配状态寄存器219中对应于第一纳控制器nC1的作业状态的值,可以确定第一纳控制器nC1的当前作业状态。
当第一纳控制器nC1处于空闲状态时,例如,当当前未对第一纳控制器nC1分配目标作业时(步骤S222:“是”),可以对第一纳控制器nC1分配第一目标作业(步骤S224)。例如,如上参考图4所述,第一纳控制器nC1可以在图14的步骤S230执行第一目标作业。
当第一纳控制器nC1因为对第一纳控制器nC1分配了不同于第一目标作业的第二目标作业而不处于空闲状态时(步骤S222:“否”),可以对第二至第n纳控制器nC2、......、nCn中的一个分配第一目标作业(步骤S226)。在这种情况下,如上参考图5所述,可以对例如第二纳控制器nC2分配第一目标作业,并且第二纳控制器nC2可以在步骤S230执行第一目标作业。
例如,根据存储于图6中的作业分配状态寄存器219内的值,可以确定第二至第n纳控制器nC2、......、nCn的当前作业状态。可以根据第二至第n纳控制器nC2、......、nCn的当前作业状态选择第二至第n纳控制器nC2、......、nCn中的一个(步骤S227)。可以将第一作业请求JREQ1送到所选纳控制器(例如,图5中的第二纳控制器nC2)(步骤S229)。例如,根据第二纳控制器nC2的第二IDnCID2和调用指令,第一纳控制器nC1可以调用第二纳控制器nC2。第一纳控制器nC1可以将第一作业请求JREQ1送到调用的第二纳控制器nC2。
图16是示出用于执行图14所示第一目标作业的操作例子的流程图。
参考图6、7、8、9、14和16,在图14的步骤S230中,可以根据第一作业请求JREQ1产生第一目标指令地址IADDR1(步骤S232)。例如,第一作业请求JREQ1可以直接包括第一目标指令地址IADDR1,或者也可以包括第一作业命令JCMD1。每个纳控制器都可以包括指令地址发生器,并且指令地址发生器可以包括命令解码器213和/或者程序计数器214,用于产生第一目标指令地址IADDR1。
可以根据第一目标指令地址IADDR1取得包括在存储于指令存储器300内的多个指令中的第一目标指令INST1(步骤S234)。可以对第一目标指令INST1解码(步骤S236)。接着,可以执行第一目标指令INST1(步骤S238)。每个纳控制器都可以包括:指令寄存器215、指令解码器216和用于执行这些操作的指令执行单元217。
图17是示出根据示范实施例的电源管理系统的操作方法的流程图。
参考图1、2和17,在包括可编程纳控制器200的电源管理系统100的操作方法中,将第一纳控制器nC1编程为中央序列发生器,而将第二至第n纳控制器nC2、......、nCn编程为取决于第一纳控制器nC1的第一子序列发生器(步骤S100)。图17中的步骤S100可以基本上与图13中的步骤S100相同。
第一至第n纳控制器nC1、......、nCn执行对应于CPU20提供的多个作业请求JREQA、JREQB、JREQC和JREQD的多个目标作业(步骤S300)。
图18是示出在图17所示步骤300中执行多个目标作业的操作例子的流程图。
参考图1、2、17和18,在步骤S300,第一纳控制器nC1可以从CPU20接收多个作业请求JREQA、JREQB、JREQC和JREQD(步骤S310)。第一纳控制器nC1可以对第一至第n纳控制器nC1、……、nCn分配多个对应于各作业请求JREQA、JREQB、JREQC和JREQD的目标作业(步骤S320)。例如,如上参考图10所述,可以对第一纳控制器nC1分配对应于第一作业请求JREQA的第一目标作业。可以对第二纳控制器nC2分配对应于第二作业请求JREQB的第二目标作业。可以对第三纳控制器nC3分配对应于第三作业请求JREQC的第三目标作业。可以对第四纳控制器nC4分配对应于第四作业请求JREQD的第一目标作业。
第一至第n纳控制器nC1、......、nCn可以根据多线方案执行目标作业(步骤S330)。例如,如上参考图10所述,第一至第四纳控制器nC1、nC2、nC3和nC4可以根据多线方案THDA、THDB、THDC和THDD执行多个目标作业。换句话说,基本上可以在单个进程中同时执行多个目标作业。
当多个目标作业完成时,可以通知CPU20多个目标作业已经完成(步骤S340)。例如,如上参考图10所述,当多个目标作业由第一至第四纳控制器nC1、nC2、nC3和nC4完成时,第二至第四纳控制器nC2、nC3和nC4可以利用返回指令RTNB、RTNC和RTND将第二、第三和第四目标作业已经完成通知第一纳控制器nC1。第一纳控制器nC1可以利用返回指令RTNA、RTNB、RTNC和RTND将第一、第二、第三和第四目标作业已经完成通知CPU20。
图19是示出根据示范实施例的移动设备的方框图。图20是示出图19所示的移动设备被实现为智能电话的例子的原理图。
参考图19和20,移动设备700包括SoC710和多个功能模块740、750、760和770。移动设备700还可以包括:存储设备720、储存设备730和电源管理设备780。例如,如图20所示,可以将移动设备700实现为智能电话。
SoC710控制移动设备700的全部操作。例如,SoC710控制存储设备720、储存设备730和多个功能模块740、750、760和770。SoC710可以是包括在移动设备700中的应用处理器。
SoC710可以是图1中的SoC10。例如,SoC710包括CPU712和电源管理系统714。尽管图19中未示出,但是SoC710包括多个功能块。电源管理系统714包括多个可编程纳控制器nC。可以编程纳控制器nC,以控制SoC710的功率。此外,纳控制器nC可以根据较简单的并且有限的指令操作,并且指令存储器IM和信号映射存储器SM可以由纳控制器nC共享。因此,包括纳控制器nC的电源管理系统714可以具有较简单结构,并且可以有效降低SoC710和移动设备700的功耗。
存储设备720和储存设备730可以存储用于移动设备700的操作的数据。存储设备720可以包括易失性存储设备,诸如动态随机存取存储器(DRAM)、SRAM、移动DRAM等。储存设备730可以包括非易失性存储设备,诸如可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、相变随机存取存储器(PPRAM)、电阻型随机存取存储器(RRAM)、浮动栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)、磁随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)等。在一些示范实施例中,储存设备730还可以包括固态驱动器(SSD)、硬盘驱动器(HDD)、CD-ROM等。
功能模块740、750、760和770执行移动设备700的各种功能。例如,移动设备700可以包括:通信模块740,该通信模块740执行通信功能(例如,码分多址(CDMA)模块、长期演进(LTE)模块、射频(RF)模块、超宽带(UWB)模块、无线局域网(WLAN)模块、微波接入全球互通(WIMAX)模块等);摄像头模块750,该摄像头模块750执行摄像功能;显示模块760,该显示模块760执行显示功能;触摸板模块770,该触摸板模块770执行触摸感测功能;等等。在一些示范实施例中,移动设备700还可以包括全球定位系统(GPS)模块、麦克风(MIC)模块、扬声器模块、陀螺仪模块等。然而,移动设备700中的功能模块740、750、760和770并不局限于此。
电源管理设备780将工作电压施加到SoC710、存储设备720、储存设备730以及功能模块740、750、760和770。
图21是示出包括在根据示范实施例的移动设备中的接口的方框图。
参考图21,移动设备800包括SoC802和多个接口811、812、813、814、815、816、817、818、819、820、821、822和823。根据示范实施例,移动设备800可以是任何移动设备,诸如移动电话、智能电话、平板计算机、膝上型计算机、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、摄录像机、视频播放器、导航系统等。
SoC802控制移动设备800的全部操作。例如,SoC802可以是包括在移动设备800中的应用处理器。
SoC802可以通过多个接口811-823中的每个分别与多个外围设备(未示出)中的每个通信。例如,接口811-823中的每个都可以将从在电源域中的每个中实现的多个IP中的各IP输出的至少一个控制信号发射到多个外围设备中的每个。
例如,通过显示接口811和812中的每个,SoC802可以控制每个平板显示设备的电源状态和操作状态。平板显示设备可以包括:液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器或者有源矩阵有机发光二极管(AMOLED)显示器等。
SoC802可以通过摄录像机接口813控制摄录像机的电源状态和操作状态、可以通过电视接口814控制电视模块的电源状态和操作状态并且可以通过图像传感器接口815控制摄像头模块或者图像传感器模块的电源状态和操作状态。
SoC802可以通过GPS接口816控制GPS模块的电源状态和操作状态、可以通过UWB接口817控制UWB模块的电源状态和操作状态并且可以通过USB驱动器接口818控制通用串行总线(USB)驱动器的电源状态和操作状态。
SoC802可以通过DRAM接口819控制DRAM的电源状态和操作状态、可以通过非易失性存储器接口820(例如,闪速存储器接口)控制非易失性存储设备(例如,闪速存储器)的电源状态和操作状态、可以通过音频接口821控制音频模块的电源状态和操作状态、可以通过MFC接口822控制多格式编解码器(MFC)的电源状态并且可以通过MP3播放器接口823控制MP3播放器的电源状态。例如,可以以硬件或者软件方式实现模块或者接口。
SoC802可以是图11中的SoC10。例如,SoC802包括CPU804和电源管理系统806。尽管图21中未示出,但是SoC802包括多个功能块。电源管理系统806包括多个可编程纳控制器nC。纳控制器nC可以被编程以控制SoC802的功率。此外,纳控制器nC可以根据较简单并且有限的指令操作,并且指令存储器IM和信号映射存储器SM可以由纳控制器nC共享。因此,包括纳控制器nC的电源管理系统806可以具有较简单结构并且可以有效降低SoC802和移动设备800的功耗。
图22是示出根据示范实施例的便携式终端的方框图。
参考图22,便携式终端1000包括:图像处理块1100、无线收发信块1200、音频处理块1300、图像文件生成单元1400、存储设备1500、用户接口1600、应用处理器1700以及电源管理设备1800。
图像处理块1100可以包括:镜头1110、图像传感器1120、图像处理器1130以及显示单元1140。无线收发信块1200可以包括:天线1210、收发信机1220以及调制解调器1230。音频处理块1300可以包括:音频处理器1310、麦克风1320和扬声器1330。
便携式设备1000可以包括各种半导体设备。应用处理器1700可以要求低功耗和高性能。应用处理器1700可以包括多核。应用处理器1700可以是图1中的SoC10。例如,应用处理器1700包括CPU1702和电源管理系统1704。尽管图22中未示出,但是应用处理器1700包括多个功能块。电源管理系统1704包括多个可编程纳控制器nC。可以对纳控制器nC编程,以控制应用处理器1700的功率。此外,纳控制器nC可以根据较简单并且有限的指令操作,并且指令存储器IM和信号映射存储器SM可以由纳控制器nC共享。因此,包括纳控制器nC的电源管理系统1704可以具有较简单结构,并且可以有效降低应用处理器1700和便携式终端1000的功耗。
电源管理设备1800可以将工作电压送到图像处理块1100、无线收发信块1200、音频处理块1300、图像文件生成单元1400、存储设备1500、用户接口1600和应用处理器1700。
在此公开的设备可以用于各种SoC或者包括SoC的系统中,诸如移动电话、智能电话、PDA、PMP、数码相机、数字电视、机顶盒、音乐播放器、便携式游戏机、导航设备、PC、服务器计算机、工作台、平板计算机、膝上型计算机、智能卡、打印机等。
上面是说明示范实施例,并且不认为局限于此。尽管已经描述了一些示范实施例,但是本技术领域内的技术人员容易理解,可以对示范实施例进行许多修改,而不脱离本公开的新颖性教导和优点。因此,所有这些修改旨在包括在权利要求定义的本公开的范围内。因此,应当明白,上面是说明各种示范实施例,并且不能认为局限于所公开的特定示范实施例,并且对所公开的示范实施例的修改以及其他示范实施例旨在包括在所附权利要求书的范围内。

Claims (20)

1.一种用于控制到包括在片上系统中的多个功能块的功率的电源管理系统,所述电源管理系统包括:
多个纳控制器,所述纳控制器包括是可编程纳控制器的第一至第n纳控制器,其中n是大于或者等于2的自然数;
指令存储器,所述指令存储器由所述多个纳控制器共享,所述指令存储器包括存储在内的由多个纳控制器使用的多个指令;以及
信号映射存储器,所述信号映射存储器由所述多个纳控制器共享,配置所述信号映射存储器,以存储多个在所述多个纳控制器中的一个或者多个的控制下送到所述多个功能块的信号,
其中将所述第一纳控制器编程为中央序列发生器,并且将所述第二至第n纳控制器编程为取决于所述第一纳控制器的第一子序列发生器。
2.根据权利要求1所述的电源管理系统,其中所述多个纳控制器中的每个都包括:
指令地址发生器,配置所述指令地址发生器,以根据作业请求产生目标指令地址;
指令寄存器,配置所述指令寄存器,以根据所述目标指令地址,取得包括在所述多个指令中的目标指令;
指令解码器,配置所述指令解码器,以解码所述目标指令;以及
指令执行单元,配置所述指令执行单元,以执行所述目标指令。
3.根据权利要求2所述的电源管理系统,其中所述作业请求包括所述目标指令地址,并且所述指令地址发生器包括程序计数器,配置所述程序计数器,以存储并且输出所述目标指令地址。
4.根据权利要求2所述的电源管理系统,其中所述作业请求包括作业命令,并且所述指令地址发生器包括:
命令解码器,配置所述命令解码器,以解码所述作业命令,从而产生所述目标指令地址;以及
程序计数器,配置所述程序计数器,以存储并且输出所述目标指令地址。
5.根据权利要求2所述的电源管理系统,其中所述第一纳控制器还包括作业分配状态寄存器,配置所述作业分配状态寄存器,以存储所述多个纳控制器中的每个的当前作业状态。
6.根据权利要求1所述的电源管理系统,其中配置所述第一纳控制器,以响应从外部设备收到第一作业请求,对第一至第n纳控制器中的一个分配对应于所述第一作业请求的第一目标作业。
7.根据权利要求6所述的电源管理系统,其中配置所述第一纳控制器,以当处理所述第一作业请求时,如果所述第一纳控制器处于空闲状态,则对所述第一纳控制器分配所述第一目标作业,并且
其中配置所述第一纳控制器,以当处理所述第一作业请求时,如果对所述第一纳控制器分配不同于所述第一目标作业的第二目标作业,则对所述第二至第n纳控制器中的一个分配所述第一目标作业。
8.根据权利要求7所述的电源管理系统,其中配置所述第一纳控制器,以通过根据包括在所述多个指令中的调用指令和所述第二纳控制器的标识(ID)调用所述第二纳控制器,并且通过将所述第一作业请求送到所述第二纳控制器,来对所述第二纳控制器分配所述第一目标作业,
其中配置所述第二纳控制器,以利用包括在所述多个指令中的返回指令将所述第一目标作业完成通知所述第一纳控制器。
9.根据权利要求1所述的电源管理系统,其中配置所述第一至第n纳控制器,以根据多线方案,执行与所述第一纳控制器从外部设备收到的多个作业请求对应的多个目标作业。
10.根据权利要求1所述的电源管理系统,其中所述多个纳控制器还包括被编程为取决于所述第二纳控制器的第二子序列发生器的第(n+1)至第m纳控制器,其中m是等于或者大于(n+1)的自然数。
11.根据权利要求1所述的电源管理系统,其中配置所述第二至第n纳控制器中的各纳控制器,以控制所述多个功能块中的各功能块的所述功率。
12.根据权利要求1所述的电源管理系统,其中所述多个信号包括:复位信号、供电电压和数据保留控制信号,
其中配置所述第二至第n纳控制器中的各纳控制器,以控制一组所述复位信号、一组所述供电电压和一组所述数据保留控制信号中的各信号。
13.根据权利要求1所述的电源管理系统,其中配置所述多个纳控制器,以利用请求指令和确认指令,根据异步接口操作。
14.根据权利要求1所述的电源管理系统,其中所述多个指令包括:流控制指令、加载指令、存储指令、请求指令、确认指令、调用指令、返回指令、等待指令和移动指令。
15.根据权利要求1所述的电源管理系统,与片上系统组合,所述片上系统还包括中央处理单元,配置所述中央处理单元,以控制所述多个功能块和所述电源管理系统。
16.根据权利要求15所述的电源管理系统,与移动设备组合,所述移动设备包括多个功能模块,配置所述功能模块以由所述片上系统控制。
17.一种用于控制送到片上系统的多个功能块的功率的方法,所述方法包括:
将多个可编程纳控制器中的第一可编程纳控制器指定为中央序列发生器;
将所述多个可编程纳控制器中的另外可编程纳控制器指定为取决于所述多个可编程纳控制器中的第一可编程纳控制器的第一子序列发生器;
接收第一作业请求;
至少部分地根据所述多个可编程纳控制器中的一个或者多个的当前作业状态,所述多个纳控制器中的所述第一纳控制器对所述多个可编程纳控制器中的一个分配对应于所述第一作业请求的第一目标作业;以及
利用从由所述多个可编程纳控制器共享的指令存储器取得的第一指令,在所述多个可编程纳控制器中的所述分配的可编程纳控制器处执行所述第一目标作业。
18.根据权利要求17所述的方法,其中利用从由所述多个可编程纳控制器共享的指令存储器取得的第一指令,在所述多个可编程纳控制器中的所述分配的可编程纳控制器处执行所述第一目标作业包括:
利用所述第一指令的地址从所述指令存储器取得所述第一指令;
在所述多个可编程纳控制器中的所述分配的可编程纳控制器处解码所述第一指令;以及
在所述多个可编程纳控制器中的所述分配的可编程纳控制器处执行所述第一指令。
19.根据权利要求17所述的方法,其中至少部分地根据所述多个可编程纳控制器中的一个或者多个的当前作业状态,对所述多个可编程纳控制器中的一个分配对应于所述第一作业请求的第一目标作业包括如果所述多个纳控制器中的所述第一纳控制器处于空闲状态,则对所述多个纳控制器中的所述第一纳控制器分配所述第一目标作业请求。
20.根据权利要求17所述的方法,其中至少部分地根据所述多个可编程纳控制器中的一个或者多个的当前作业状态,对所述多个可编程纳控制器中的一个分配对应于所述第一作业请求的第一目标作业包括如果当前对所述多个纳控制器中的所述第一纳控制器分配不同于所述第一目标作业的第二目标作业,则对所述多个纳控制器中的第二纳控制器分配所述第一目标作业请求。
CN201510446665.XA 2014-07-25 2015-07-27 电源管理系统、功率控制方法 Active CN105320240B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140094545A KR102154080B1 (ko) 2014-07-25 2014-07-25 전력 관리 시스템, 이를 포함하는 시스템 온 칩 및 모바일 기기
KR10-2014-0094545 2014-07-25

Publications (2)

Publication Number Publication Date
CN105320240A true CN105320240A (zh) 2016-02-10
CN105320240B CN105320240B (zh) 2019-10-11

Family

ID=55166831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510446665.XA Active CN105320240B (zh) 2014-07-25 2015-07-27 电源管理系统、功率控制方法

Country Status (4)

Country Link
US (1) US9665399B2 (zh)
KR (1) KR102154080B1 (zh)
CN (1) CN105320240B (zh)
TW (1) TWI658356B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114371773A (zh) * 2021-12-30 2022-04-19 苏州浪潮智能科技有限公司 电源控制方法、电子设备及服务器

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102530347B1 (ko) * 2018-01-08 2023-05-08 삼성전자주식회사 반도체 장치 및 반도체 시스템
US11126245B2 (en) * 2019-06-21 2021-09-21 Intel Corporation Device, system and method to determine a power mode of a system-on-chip
WO2022055490A1 (en) * 2020-09-11 2022-03-17 Google Llc Hardware-based save-and-restore controller

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1102717A (zh) * 1993-07-26 1995-05-17 国际商业机器公司 具有多级功率管理的台式计算机系统
JPH11167439A (ja) * 1997-12-04 1999-06-22 Matsushita Electric Ind Co Ltd 多段階の電源選択状態を有する情報処理装置
US20020184547A1 (en) * 2000-11-03 2002-12-05 Stmicroelectronics S.R.I. Device and method for selectively powering down integrated circuit blocks within a system on chip
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US7581124B1 (en) * 2003-09-19 2009-08-25 Xilinx, Inc. Method and mechanism for controlling power consumption of an integrated circuit
CN101595442A (zh) * 2006-10-10 2009-12-02 埃克弗洛普公司 更新电源微控制器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546591A (en) * 1991-12-20 1996-08-13 Vlsi Technology, Inc. Distributed power management system for battery operated personal computers
US5996083A (en) * 1995-08-11 1999-11-30 Hewlett-Packard Company Microprocessor having software controllable power consumption
US6105139A (en) * 1998-06-03 2000-08-15 Nec Usa, Inc. Controller-based power management for low-power sequential circuits
US20030120896A1 (en) 2001-06-29 2003-06-26 Jason Gosior System on chip architecture
EP1363179A1 (en) 2002-05-17 2003-11-19 STMicroelectronics S.A. Architecture for controlling dissipated power in a system on a chip and related system
US7197652B2 (en) 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US8533716B2 (en) 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
US7627770B2 (en) 2005-04-14 2009-12-01 Mips Technologies, Inc. Apparatus and method for automatic low power mode invocation in a multi-threaded processor
US8108863B2 (en) 2005-12-30 2012-01-31 Intel Corporation Load balancing for multi-threaded applications via asymmetric power throttling
TW200825705A (en) 2006-04-26 2008-06-16 Nxp Bv Method and system for power-state transition controllers
US8302098B2 (en) 2007-12-06 2012-10-30 Oracle America, Inc. Hardware utilization-aware thread management in multithreaded computer systems
US8219993B2 (en) 2008-02-27 2012-07-10 Oracle America, Inc. Frequency scaling of processing unit based on aggregate thread CPI metric
US8286014B2 (en) 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
KR101835615B1 (ko) * 2010-05-07 2018-03-09 삼성전자주식회사 시스템 온 칩, 이를 포함하는 장치들, 및 상기 시스템 온 칩의 전력 제어 방법
US8812825B2 (en) 2011-01-10 2014-08-19 Dell Products L.P. Methods and systems for managing performance and power utilization of a processor employing a fully multithreaded load threshold
KR101861743B1 (ko) 2011-09-19 2018-05-30 삼성전자주식회사 이종의 전력 제어와 동종의 전력 제어를 선택적으로 수행할 수 있는 시스템-온 칩과 이의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1102717A (zh) * 1993-07-26 1995-05-17 国际商业机器公司 具有多级功率管理的台式计算机系统
JPH11167439A (ja) * 1997-12-04 1999-06-22 Matsushita Electric Ind Co Ltd 多段階の電源選択状態を有する情報処理装置
US20020184547A1 (en) * 2000-11-03 2002-12-05 Stmicroelectronics S.R.I. Device and method for selectively powering down integrated circuit blocks within a system on chip
US6834353B2 (en) * 2001-10-22 2004-12-21 International Business Machines Corporation Method and apparatus for reducing power consumption of a processing integrated circuit
US7581124B1 (en) * 2003-09-19 2009-08-25 Xilinx, Inc. Method and mechanism for controlling power consumption of an integrated circuit
CN101595442A (zh) * 2006-10-10 2009-12-02 埃克弗洛普公司 更新电源微控制器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114371773A (zh) * 2021-12-30 2022-04-19 苏州浪潮智能科技有限公司 电源控制方法、电子设备及服务器
CN114371773B (zh) * 2021-12-30 2023-08-08 苏州浪潮智能科技有限公司 电源控制方法、电子设备及服务器

Also Published As

Publication number Publication date
CN105320240B (zh) 2019-10-11
KR20160012666A (ko) 2016-02-03
TW201604683A (zh) 2016-02-01
TWI658356B (zh) 2019-05-01
US9665399B2 (en) 2017-05-30
KR102154080B1 (ko) 2020-09-09
US20160026498A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
US11042297B2 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
US9519325B2 (en) Application processors, mobile devices including the same and methods of managing power of application processors
US9430323B2 (en) Power mode register reduction and power rail bring up enhancement
CN105528048A (zh) 片上系统的电力路径控制器
CN102982505A (zh) 虚拟gpu
US9268395B2 (en) Hierarchical power management circuit, power management method using the same, and system on chip including the hierarchical power management circuit
US8270226B2 (en) Memory module having a plurality of phase change memories, buffer RAM and NAND flash memory
CN105528051A (zh) 包括电力路径控制器的片上系统和电子装置
CN105320240A (zh) 电源管理系统、功率控制方法
US9166567B2 (en) Data-retained power-gating circuit and devices including the same
US20160116934A1 (en) Clock circuit for generating clock signal and semiconductor integrated circuit device including the same
CN103946812A (zh) 用于实现多级别存储器分级体系的设备和方法
TW201202928A (en) Write-through-read (WTR) comparator circuits, systems, and methods employing write-back stage and use of same with a multiple-port file
CN104011625A (zh) 用于能量效率和节能的方法、装置和系统,包括使用寄存器次级不间断电源的改进的处理器核深断电退出等待时间
US20160034013A1 (en) Dynamic voltage and frequency scaling of a processor
CN103744713A (zh) 基于fpga的嵌入式双核系统的自主配置方法
KR20160050166A (ko) 감마 전압 발생기 및 이를 포함하는 디스플레이 장치
CN102541770A (zh) 具有嵌入式通道选择的多通道存储器
US20100257336A1 (en) Dependency Matrix with Reduced Area and Power Consumption
US20180019007A1 (en) Data processing systems and a plurality of memory modules
KR102155479B1 (ko) 반도체 장치
US7821851B2 (en) Semiconductor memory device capable of operating in a plurality of operating modes and method for controlling thereof
KR20160067595A (ko) 반도체 장치의 동작 방법
JP6072661B2 (ja) データ処理装置、マイクロコントローラ、及び半導体装置
US10725525B2 (en) Method of operating system-on-chip, system-on-chip performing the same and electronic system including the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant