CN106462217B - 具有始终通电处理器的片上系统 - Google Patents
具有始终通电处理器的片上系统 Download PDFInfo
- Publication number
- CN106462217B CN106462217B CN201580023991.8A CN201580023991A CN106462217B CN 106462217 B CN106462217 B CN 106462217B CN 201580023991 A CN201580023991 A CN 201580023991A CN 106462217 B CN106462217 B CN 106462217B
- Authority
- CN
- China
- Prior art keywords
- component
- soc
- processor
- memory
- memory controller
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3293—Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
Abstract
在实施方案中,片上系统(SOC)包括当SOC的其余部分断电时保持通电的部件。该部件可包括用于捕获来自各种设备传感器的数据并且可过滤所捕获的传感器数据的传感器捕获单元。响应于该过滤,该部件可唤醒SOC的其余部分,以允许进行处理。该部件可针对SOC的其他部件来存储可编程配置数据,从而匹配SOC最近掉电时的状态,以便在唤醒之后对其进行重新编程。在一些实施方案中,该部件可被配置为唤醒SOC内的存储器控制器以及到该存储器控制器的路径,以便将数据写入到存储器。该SOC的其余部分可保持掉电。
Description
技术领域
本文所述的实施方案涉及片上系统(SOC)的技术领域,并且更具体地涉及片上系统的始终通电块。
背景技术
各种电子设备现在是消费者在日常生活中所使用的。具体地,移动设备已变得无处不在。移动设备可包括移动电话、个人数字助理(PDA)、组合电话功能和其他计算功能诸如各种PDA功能和/或一般的应用程序支持的智能电话、平板电脑、膝上型电脑、网络机顶盒、智能手表、可穿戴电子等。一般来讲,移动设备可为被设计成由用户携带或者由用户穿戴的任何电子设备。移动设备通常由电池供电,使其可脱离恒定电源诸如插座工作。
许多移动设备可在“待机”模式中工作很长时间。在待机模式中,设备可看起来是“关闭”的,其中设备尽可能不主动地为用户显示内容和/或不主动地为用户执行功能。在待机模式中,大多数设备可实际上断电。然而,在后台中,设备可正在监听电话呼叫或者网络分组、检查闹钟、对移动作出反应等。
因为移动设备操作通常来自有限的电源(例如,电池),因此对于设备来说能量节省是个关键的设计考虑。包括片上系统(SOC)可有助于能量节省,因为设备中需要的多数功能可被包括在SOC中。在“待机”模式以及其他低功率模式中,期望使SOC掉电,以消除漏电流损耗,其为现代集成电路技术中在能量节省方面的重要因素。另一方面,需要SOC用于上述一些待机功能。
发明内容
在一个实施方案中,SOC包括在SOC的其余部分断电时保持通电的部件。该部件可包括被配置为捕获来自各种设备传感器的数据的传感器捕获单元。所捕获的传感器数据可被缓冲在该部件内的存储器中。在一些实施方案中,该部件还可包括处理器,其可过滤所捕获的传感器数据,从而搜索可指示需要被设备进一步处理的模式。如果检测到需要进一步处理,则该部件可唤醒(即,使得上电并重新编程)SOC的剩余部分,以允许进行处理。在一些实施方案中,功率/能量损耗可被减小,同时在设备不主动使用的时间期间仍然支持对传感器数据的捕获。例如,可实现可通过将该部件集成在集成电路上获得的功率/能量效率,同时支持传感器数据捕获。该部件可存储可编程配置数据,以用于SOC的其他部件以便在唤醒之后对其进行重新编程。可编程配置数据可匹配SOC最近掉电(同时部件保持通电)时的该部件的状态,或可为期望唤醒的不同状态。
在一些实施方案中,该部件可被配置为唤醒SOC内的存储器控制器和至存储器控制器的路径两者,以便将数据写入到存储器和/或从存储器读取数据。SOC的剩余部分可保持掉电。这样,在不唤醒其他部件(例如,包括中央处理单元(CPU)处理器或多个处理器)以允许传输的情况下,部件可利用较大的主存储器来存储数据(例如,传感器数据)。功率/能量损耗可被减小,因为仅所需的部件被唤醒。
在一些实施方案中,保存可编程配置数据并从部件恢复该数据可减小在从SOC中的掉电状态再次上电时的延迟。在一些实施方案中,在一个状态下的对数据的处理可导致更高的功率/性能状态可不久被需要的推测。SOC可推测地过渡到该状态,并且因此如果该推测是准确的,则可具有甚至更低的延迟,以进行唤醒。
附图说明
现在对附图进行简要说明,下面的具体说明将参照附图进行描述。
图1是SOC的一个实施方案的框图。
图2是SOC中的始终通电块的一个实施方案的框图。
图3是在图2中所示的始终通电块的状态机的一个实施方案的框图。
图4是再图2中所示的始终通电块的状态机的另一个实施方案的框图。
图5是示出了在启动或配置改变期间在SOC中的CPU上执行的软件的一个实施方案的操作的流程图。
图6是示出了在重新配置期间在图2中所示的始终通电块的一个实施方案的操作。
图7是示出了SOC处于仅存储器通信状态中的一个实施方案的框图。
图8是示出了使用重新配置方式的一个实施方案的延迟减小的框图。
图9是示出了针对延迟减小进行推测性唤醒的一个实施方案的框图。
图10是包括在图1中所示的SOC的系统的一个实施方案的框图。
图11是计算机可访问存储介质的一个实施方案的框图。
尽管本公开所述的实施方案可受各种修改形式和替代形式的影响,但其具体实施方案在附图中以举例的方式示出并将在本文详细描述。然而,应当理解,附图和对其的详细描述并不是要将实施方案限制到所公开的具体形式,而相反,本发明旨在涵盖落在所附权利要求书的实质和范围内的所有修改形式、等同形式和替代形式。本文所使用的标题仅用于组织的目的,并非意在用于限制说明书的范围。如在整个专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而不是强制的意义(即,意味着必须)来使用字词“可能”。类似地,字词“包括”(“include”,“including”,和“includes”)是指包括但不限于。
各种单元、电路或其他部件可被描述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”是一般表示“具有”在操作期间执行一项任务或多项任务的“电路系统”的结构的宽泛表述。如此,即使在单元/电路/部件当前未接通时,单元/电路/部件也可被配置为执行该任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为了描述中方便,可将各种单元/电路/部件描述为执行一项或多项任务。此类描述应当被解释成包括短语“被配置为”。
本说明书包括参考“一个实施方案”(“one embodiment”或“an embodiment”)。尽管通常设想包括特征的任何组合的实施方案,但是短语“在一个实施方案中”(“in oneembodiment”或“in an embodiment”)的出现不一定指相同的实施方案,除非在此明确地否认。特定特征、结构或特性可以与本公开一致的任何适当的方式结合。
具体实施方式
现在转向图1,SOC 10的一个实施方案的框图被示出耦接到存储器12、至少一个传感器20和电力管理单元(PMU)156。正如其名称所暗示的,SOC 10的部件可被集成到单个半导体基板上作为集成电路“芯片”。在一些实施方案中,这些部件可在系统中的两个或更多个分立芯片上实施。然而,SOC 10在本文将被用作示例。在所示的实施方案中,SOC 10的部件包括中央处理单元(CPU)复合体14、“始终通电”部件16、外围部件18A-18B(更简单地,“外围设备”)、存储器控制器22、电源管理器(PMGR)32、以及通信结构27。部件14,16,18A-18B,22和32可全部耦接到通信结构27。存储器控制器22在使用期间可耦接到存储器12。PMGR 32和始终通电部件16可耦接到PMU 156。PMU 156可被配置为将各种电源供电电压供应到SOC、存储器12和/或传感器20。始终通电部件16可耦接到传感器20。在所示实施方案中,CPU复合体14包括一个或多个处理器(图1中的P 30)。处理器30可形成SOC 10的一个或多个CPU。
始终通电部件16可被配置为当SOC 10的其他部件(例如,CPU复合体14、外围设备18A-18B和PMGR 32)掉电时保持上电。更具体地,无论何时SOC 10正在从PMU 156接收电力,该始终通电部件16可均为通电的。因此,在这样的意义上始终通电部件是“始终通电”的,即如果SOC 10正在接收任何电力(例如,在包括SOC 10的设备处于待机模式或者正在主动地操作时),其可被供电,但是当SOC 10没有正在接收任何电力时(例如,在设备被完全地关闭时),其可不被供电。在SOC 10的剩余部分关闭时,始终通电部件16可支持某些功能,以允许低功率操作。
在图1中,将始终通电部件16与其他部件分开的虚线24可指示用于始终通电部件16的独立的电源域。类似地,在所示实施方案中,虚线26可表示用于存储器控制器22的独立的存储器控制器电源域。其他部件、部件组合和/或子部件也可具有独立的电源域。一般来讲,电源域可被配置为独立于其他电源域来接收供电电压(即,通电)或者不接收供电电压(即,断电)。在一些实施方案中,电源域可同时利用不同的供电电压量值来供应。可以各种方式来提供该独立性。例如,可通过从PMU 156提供单独的供电电压输入,通过在供电电压输入和部件之间提供电源开关并且控制用于给定域的电源开关作为单元和/或以上的组合来提供该独立性。也可存在比图1中所示的那些更多的电源域。例如,在一个实施方案中,CPU复合体14可具有独立的电源域(并且每个CPU处理器30也可具有独立的电源域)。在一个实施方案中,一个或多个外围部件18A-18B可位于一个或多个独立的电源域中。
如图1所示,始终通电部件16可耦接到至少一个传感器20(并且可耦接到多个传感器20)。始终通电部件16可被配置为在SOC 10断电时(除了SOC 10通电时之外)从传感器20读取传感器数据。始终通电部件16可包括存储器(图1中未示出)以缓冲传感器数据,并且SOC 10的其余部分不需要被上电,除非存储器(或者被分配到用于存储传感器数据的其一部分)填满数据(或者达到充满的阈值水平)。在一些实施方案中,始终通电部件16也可被配置为以一些方式来处理传感器数据。例如,始终通电部件16可被配置为过滤传感器数据。过滤数据通常指以下各项中的一者或多者:搜索用于指示传感器数据应被CPU复合体14中的处理器进一步处理的模式或其他数据属性;操纵数据以检测/去除数据中的噪声;进一步处理看起来匹配模式或者其他属性的数据以消除假的正匹配;等等。
传感器20可为被配置为检测或测量包括传感器的设备的物理环境的各个方面。例如,传感器可包括测量设备的加速度的加速度计。加速度计可为定向的(测量预先确定方向上的加速度)或者可为向量(测量多个维度上的加速度并产生用于指示加速度和其方向的向量)。多个定向加速度计可被采用,以允许向量加速度感测以及定向加速度感测。传感器的另一个示例可为陀螺仪(或者回转仪)。陀螺仪可被用于检测设备的取向和/或取向的变化。类似于加速度计,陀螺仪可为定向的或者多维的,和/或多个定向的陀螺仪可被使用。另一个传感器可为可被用于测量磁性取向并且因此可被用于形成罗盘的磁力仪。在其他实施方案中,罗盘功能可被嵌入在传感器中。另一个传感器可为音频检测器(例如,麦克风)。音频检测器可捕获声音并生成用于表示该声音的数据。另一个传感器可为检测光或其他电磁能的光电探测器。其他示例性传感器可包括检测高度的测高仪、温度传感器、和/或压力传感器。另一个传感器可为用户界面设备诸如按钮、触摸屏、键盘、指示设备、相机等。可采用传感器的任何集合。
如上所述,始终通电部件16可被配置为将数据缓冲在部件内的存储器中。如果缓冲器接近装满,则始终通电部件16可被配置为唤醒存储器控制器22,以便将传感器数据写入到存储器12。在一些实施方案中,始终通电部件16可被配置为将过滤数据的结果写入到存储器12。在一些实施方案中,在SOC 10的余下部分掉电时,始终通电部件16可执行其他处理任务。达到这些任务访问存储器12的程度,始终通电部件16可被配置为唤醒存储器控制器22。此外,始终通电部件16可被配置为唤醒通信结构27的至少一部分(即,将始终通电部件16连接到存储器控制器22的那部分)。
使用该仅存储器通信模式,始终通电部件16可能够访问存储器12并且利用存储器12中可用的大量的存储装置,同时花费相对少量的能量/电力,因为SOC10的剩余部分保持掉电。始终通电部件16可针对存储器控制器22存储可编程配置数据,使得一旦电力被恢复,该始终通电部件16可对存储器控制器22进行编程。即,始终通电部件16可被配置为以类似于在包括SOC 10的设备的启动期间操作系统将对存储器控制器22进行编程的方式来对存储器控制器22进行编程。在一个实施方案中,由始终通电部件16存储的可编程配置数据可为当SOC 10(除了始终通电部件16之外)最近掉电时的存储器控制器22中的配置数据。在另一个实施方案中,可编程配置数据可为已知工作用于存储器控制器22的先前配置和/或存储器12的任何配置的配置。已知良好的配置可例如为由始终通电部件16访问的存储器的性能可接受的配置。
当SOC 10掉电时始终通电部件16保持上电,掉电序列中的一部分可为将存储器12放置在保持模式中。例如,针对存储器12的动态随机访问存储器(DRAM)实施方案,保持模式可为“自刷新”模式。在保持模式中,存储器12可不被进行外部访问,直到模式改变。然而,存储器12的内容可被保留。例如,在自刷新模式中,DRAM可执行保持数据所需的周期性的刷新(当存储器控制器22通电时,其可由存储器控制器22正常地执行)。
在一些实施方案中,始终通电部件16可进一步存储SOC 10中的其他部件的可编程配置数据。可编程配置数据可反映SOC 10的其余部分最近掉电时的部件的状态。始终通电部件16可被配置为唤醒SOC 10以用于处理,并且可利用所存储的可编程配置数据来重新编程该部件。基于所存储的可编程配置数据来向部件恢复状态的过程可被称为重新配置。同样,类似于上述的仅存储器通信模式,向部件恢复的状态可为部件最近掉电时的状态或者可为具有用于重启SOC 10以用于操作的具有可接受性能的已知的良好状态。在后者的情形中,在重新配置已完成之后,状态可被修改成更高的性能状态。
使用始终通电部件16中的重新配置功能来恢复状态可为比恢复SOC 10中的电力具有更低延迟的操作,并且然后以类似于冷启动的方式对SOC 10和操作系统进行初始化。在无需始终通电部件16的初始化期间,操作系统利用被存储在存储器12中的系统状态发现SOC 10先前掉电,并且忽略一些初始化操作。然而,恢复的延迟比所期望的更大。用于一个实施方案的另外的细节在下面更加详细地讨论。
除PMGR 32到PMU 156的通信之外,始终通电部件16可被配置为与PMU 156进行通信。PMU 156和始终通电部件16之间的接口可允许始终通电部件16,以使得在PMGR 32掉电时该部件上电(例如,存储器控制器22或者SOC 10的其他部件)。接口还可允许始终通电部件16也控制其自身的电力状态。
一般来讲,该部件可被称作通电和断电。如果部件正在接收供电电压使其可如设计的那样操作,则部件可通电。如果部件断电,则其没有正在接收供电电压并且没有处于操作中。如果部件通电,则其还可被称作上电,并且如果其断电,则其还可被称作掉电。使部件上电可指向断电的部件供应供电电压,并且使部件掉电可指终止向部件供应供电电压。类似地,任何子部件和/或SOC 10作为整体可被称作上电/掉电。部件可为在SOC 10内提供特定的功能并且具有到SOC 10的其余部分的特定接口的电路的预定义的块。因此,始终通电部件16、外围设备18A-18B和CPU复合体14、存储器控制器22和PMGR 32可各自为部件的示例。
如果部件上电并且不是时钟门控的,则部件可为活动的。因此,例如,CPU复合体14中的处理器可用于指令执行(如果其为活动的)。如果部件断电或者处于其中在指令被执行之前可经历显著的延迟的另一个低功率状态,则部件可为非活动的。例如,如果部件要求重置或者重新锁定锁相环(PLL),则即使其保持通电其也可为非活动的。如果部件是时钟门控的,则该部件还可为非活动的。时钟门控可指其中部件中用于数字电路的时钟被暂时“关闭”的技术,从而防止状态从时钟存储设备诸如浮点、寄存器等中的数字电路被捕获。
如上所述,CPU复合体14可包括被用作SOC 10中的CPU的一个或多个处理器30。系统的CPU包括执行系统诸如操作系统的主要控制软件的一个或多个处理器。通常,由CPU在使用期间执行的软件可控制系统的其他部件,以实现所期望的系统功能。处理器还可执行其他软件诸如应用程序。应用程序编程可提供用户功能,并且可依靠操作系统以用于低级别设备控制、调度、存储器管理等。因此,处理器还可被称为应用处理器。CPU复合体14还可包括其他硬件,诸如L2高速缓存和/或至系统的其他部件的接口(例如,至通信结构27的接口)。
操作点可指用于CPU复合体14、始终通电部件16、SOC 10的其他部件等的电源供电电压量值和操作频率的组合。该操作频率可为为部件提供时钟的时钟频率。操作频率还可被称为时钟频率或者简单地称为频率。操作点还可被称为操作状态或者电力状态。操作点可为可编程配置数据的一部分,该可编程配置数据可被存储在始终通电部件16中并且当发生重新配置时被编程到部件中。
通常,处理器可包括被配置为执行在由处理器实施的指令集架构中定义的指令的任何电路和/或微码。处理器可涵盖在具有作为片上系统(SOC 10)或其他集成水平的集成电路的其他部件上实施的处理器内核。处理器还可涵盖分立的微处理器、处理器内核和/或集成到多芯片模块具体实施中的微处理器、被实施为多个集成电路的处理器等等。
存储器控制器22通常可包括用于从SOC 10的其他部件接收存储器操作并用于访问存储器12以完成存储器操作的电路。存储器控制器22可被配置为访问任何类型的存储器12。例如,存储器12可是静态随机存取存储器(SRAM)、动态RAM(DRAM),诸如包括双倍数据速率(DDR、DDR2、DDR3、DDR4等)DRAM的同步DRAM(SDRAM)。可支持DDR DRAM的低功率/移动版本(例如,LPDDR、mDDR等等)。存储器控制器22可包括存储器操作队列,以用于对这些操作进行排序(并且可能重新排序),并将这些操作呈现给存储器12。存储器控制器22还可包括用于存储等待写入到存储器的写数据和等待返回至存储器操作的源的读数据的数据缓冲器。在一些实施方案中,存储器控制器22可包括用于存储最近访问的存储器数据的存储器高速缓存。例如,在SOC具体实施中,存储器高速缓存可通过在预期很快要再次访问的情况下避免从存储器12重新访问数据来减小SOC中的功率消耗。在一些情况下,存储器缓存也可被称为系统高速缓存,其与私有高速缓存(诸如,L2高速缓存或处理器中的高速缓存)不同,该私有高速缓存只服务特定部件。此外,在一些实施方案中,系统高速缓存不需要位于存储器控制器22内。
外围设备18A-18B可为被包括在SOC 10中的附加硬件功能的任何集合。例如,外围设备18A-18B可包括视频外围设备,诸如被配置为处理来自相机或其他图像传感器的图像捕捉数据的图像信号处理器、被配置为在一个或多个显示设备上显示视频数据的显示控制器、图形处理单元(GPU)、视频编码器/解码器、缩放器、旋转器、混合器等。该外围设备可包括音频外围设备,诸如麦克风、扬声器、至麦克风和扬声器的接口、音频处理器、数字信号处理器、混合器等。该外围设备可包括用于SOC 10外部的各种接口的接口控制器(例如,外围设备18B),该外围设备包括接口诸如通用串行总线(USB)、外围部件互连器(PCI)(包括PCI高速(PCIe))、串行端口和并行端口等等。该外围设备可包括联网外围设备诸如媒体访问控制器(MAC)。可包括任何硬件的集合。
通信结构27可为用于在SOC 10的部件间进行通信的任何通信互连器或协议。通信结构27可为基于总线的,包括共享总线配置、交叉杆配置、以及具有网桥的分级总线。通信结构27还可为基于封装的,并且可利用网桥、交叉杆、点到点或其他互连器进行分级。
PMGR 32可被配置为控制从PMU 156请求的供电电压量值。可存在由PMU 156生成的用于SOC 10的多个供电电压。例如,图1中示出了VCPU和VSOC。VCPU可为用于CPU复合体14的供电电压。VSOC通常可为在CPU复合体14之外的用于SOC 10的其余部分的供电电压。例如,除了用于其他部件的VSOC之外,可存在用于存储器控制器电源域和始终通电电源域的独立的供电电压。在另一个实施方案中,VSOC可为存储器控制器22、始终通电部件16、以及SOC 10的其他部件服务并且电源门控可基于电源域而被采用。在一些实施方案中,可存在用于SOC10的其余部分的多个供电电压。在一些实施方案中,还可存在用于CPU复合体14和/或SOC10中的各种存储器阵列的存储器供电电压。存储器供电电压可与被提供给逻辑电路的电压(例如,VCPU或VSOC)一起使用,其可具有比需要用于确保稳健存储器操作的更低的电压量值。PMGR 32可在软件直接控制下(例如,软件可直接请求部件的上电和/或掉电),和/或可被配置为监测SOC 10并且确定何时各种部件上电或者掉电。
PMU 156一般来讲可包括用于生成供电电压并将这些供电电压提供给系统的其他部件(诸如SOC 10、存储器12(图1中的VMEM))、各种片下外围部件(图1中未示出)(诸如显示设备、图像传感器、用户接口设备等)的电路。PMU 156可因此包括可编程电压调整器、用于接口连接到SOC 10并且更具体地接口连接到PMGR 32以接收电压请求的逻辑部件等。
需注意,不同的实施方案之间的SOC 10的部件的数量(以及图1中所示的那些部件的子部件的数量,诸如CPU复合体14内的部件的子部件的数量)可变化。可存在比图1中所示的数量更多或更少的每个部件/子部件。
现在转向图2,其示出了始终通电部件16的一个实施方案的框图。在所示实施方案中,始终通电部件16可包括处理器40、存储器42、传感器捕获模块(SCM)44、SOC重新配置电路46、本地PMGR 48、和互连器50。处理器40、存储器42、SCM 44、SOC重新配置电路46和本地PMGR 48耦接到互连器50。SCM 44还可被称为传感器捕获单元或者传感器捕获电路。
当SOC 10被包括在系统中时,传感器捕获模块44可耦接到传感器20并且可被配置为捕获来自传感器20的数据。在所示实施方案中,传感器捕获模块44可被配置为将所捕获的传感器数据写入到存储器42(SCM数据52)。例如,存储器42可为SRAM。然而,任何类型的存储器可用于其他实施方案中。
SCM数据52可被存储在由始终通电部件16预分配的用于存储捕获的传感器数据的位置中。随着位置被消耗,用于存储捕获的数据的可用存储器的大小减小。传感器捕获模块44可被编程有分配存储器区域中充满的水印或者其他指示(通常例如“阈值”),并且传感器捕获模块44可被配置为唤醒存储器控制器22,以将所捕获的传感器数据写入到存储器12。另选地,处理器40可被配置为将所捕获的传感器数据写入到存储器12。在这种情况下,传感器捕获模块44可被配置为唤醒处理器40。
处理器40可被配置为执行被存储在存储器42中的代码(处理器代码/数据54)。代码可包括当被执行时使得处理器40实现各种功能的一系列指令。例如,代码可包括可被处理器40执行以过滤SCM数据52的过滤代码,如上所述。响应于在SCM数据52中检测到期望的模式或者其他数据属性(多个),处理器40可被配置为唤醒存储器控制器22,以更新存储器12和/或唤醒SOC 10。
处理器代码/数据54可基于包括SOC 10的设备的启动而被初始化。例如,代码可被存储在SOC 10上的非易失性存储器中或者设备中的其他地方,并且可被加载到存储器42中。本地非易失性存储器诸如只读存储器(ROM)还可被用于其他实施方案中。
在一个实施方案中,处理器40可为比CPU复合体14中的CPU处理器30更小、更高功效的处理器。因此,当活动时处理器40可比CPU处理器30消耗更少的电力。在一个实施方案中,还可存在比CPU处理器30少的处理器40。
SOC重新配置电路46可被配置为存储可编程配置数据56以用于存储器控制器22和SOC 10的其他部件,以响应于使部件从断电状态上电来重新编程各个部件。另选地,可编程配置数据56可被存储在存储器42中,或者被存储在存储器42和SOC重新配置电路46的组合中。配置数据56可被CPU处理器30写入到电路46,例如作为编程对应部件的过程的一部分。即,CPU处理器30(执行操作系统软件,例如作为设备的启动的一部分和/或在配置被改变时)可将数据写入到SOC重新配置电路46。另选地,在一些实施方案中,SOC重新配置电路46可具有监测并遮蔽配置状态的硬件。在一些实施方案中,可编程配置数据56的至少一部分可被预先确定并且可被存储在非易失性存储器诸如ROM中,而不是被写入到存储器42和/或SOC重新配置电路46。
在一个实施方案中,SOC重新配置电路46可包括逻辑电路,该逻辑电路被配置为处理可编程配置数据56并在SOC 10再次上电之后将数据写入到SOC 10中的对应部件。可编程配置数据56可包括待被写入的一系列寄存器地址以及待被写入到这些寄存器的数据。在一些实施方案中,可编程配置数据56可进一步包括读命令以读取寄存器,例如,轮询用于指示由各种写操作执行的初始化已完成和/或对应的状态实际上在部件中的预期值。预期值可为完整的读取值,或者可为值的一部分(例如,预期值可包括值和在比较之前被应用于读取值的掩码)。在一些实施方案中,可编程配置数据56可还包括读-修改-写命令,以读取寄存器、修改读取数据的一部分并且将修改数据写回到寄存器。例如,第二掩码可被用于确定寄存器值的哪个部分将被更新。当值被写入到寄存器时被第二掩码掩蔽的寄存器的一部分可不被更新。
在另一个实施方案中,SOC重新配置电路46可包括另一个处理器以及存储用于处理器的代码的对应存储器(或者代码也可被存储在存储器42中)。当被处理器执行时,代码可使得利用可编程配置数据56来配置SOC 10中的各种部件。代码可将上述的轮询特征结构实现为代码本身的结构的一部分,或者可编程配置数据56可存储用于轮询的地址以及预期值,这类似于上面的讨论。在另一个实施方案中,处理器40可执行软件以重新编程SOC 10的部件。
可编程配置数据56可包括用于存储器控制器22的数据,用于SOC 10的其他部件的独立数据,以及当其被上电时用于重新配置处理器40的独立数据。当使存储器控制器22上电时,尽管SOC 10的其余部分掉电,用于存储器控制器22的数据也可被处理。数据可包括用于存储器控制器22的可编程配置数据。在一个实施方案中,数据还可包括附加可编程配置数据。例如,用于通信结构27的可编程配置数据可被包括在内。可编程配置数据可被包括用于被用于始终通电部件16和存储器控制器22之间的通信的无论哪个部件。当时SOC 10的其余部分上电时,用于其他部件的数据可被处理。类似地,当使处理器40上电时,用于处理器40的可编程配置数据可被处理。
在一些实施方案中,SOC重新配置电路46可被配置为在SOC 10的上电过程中在多于一个点处向SOC 10的部件提供可编程配置数据。例如,一些可编程重新配置数据可在过渡到通电的开始附近时被提供(例如,在电源供电电压稳定之后不久),并且其他可编程重新配置数据可在过渡到通电的结束附近被提供。此外,在一些实施方案中,可编程配置数据56可为要在SOC 10的部件中建立的可编程配置的仅一部分。可编程配置的其余部分可被存储在存储器12中。例如,在CPU处理器30上执行的操作系统软件在掉电之前可捕获存储器12中的可编程配置。被存储在存储器12中的可编程配置数据的恢复可由SOC重新配置电路46、其他硬件,和/或操作系统软件在CPU处理器30已从重置释放并再次开始执行之后执行。
总的来说,以类似于用于SOC 10的图1中的PMGR 32的方式,本地PMGR 48可被配置为处理始终通电部件16内的电力管理功能。始终通电部件16可支持多个电力状态,并且本地PMGR 48可帮助在这些状态之间过渡。本地PMGR 48可被配置为与PMU 156进行通信以支持状态改变,以及作为唤醒各个部件或者将各个部件置于休眠状态的一部分来管理供电电压到SOC 10的各个部件的提供。
互连器50可包括用于在图2中所示的各个子部件之间传输通信以及在通信结构27上与SOC 10的其他部件进行通信的任何互连器。在各种实施方案中,根据需要,互连器可包括上面相对于图1所述的通信结构27的示例中的任一示例。
现转向图3,其示出了可在始终通电部件16的一个实施方案中实现的状态机的一个实施方案的框图。在所示实施方案中,状态包括等待状态60、捕获状态62、处理状态64、存储器访问状态66、和SOC的打开状态68。状态之间的过渡利用实线示出,并且某些附加的可能的过渡利用虚线指出。图3中没有示出所有可能的过渡,以避免模糊绘图。
图3中示出的状态可以相对的功率/能量/损耗进行排序,其中等待状态60为最低功率状态,以及SOC打开状态68为最高功率状态。在等待状态60中,始终通电部件16的子部件可为功率门控的或者时钟门控的。例如,在一个实施方案中,处理器40可为功率门控的并且SCM 44可为时钟门控的。存储器42可处于保持模式中或者可被正常供电。SOC重新配置电路46和本地PMGR 48可为时钟门控的。时钟门控和功率门控的任何组合可在子部件之间使用。
在等待状态60中,始终通电部件16可基本上空闲。当传感器数据准备好由SCM 44从传感器20捕获时,状态机可从等待状态60过渡到捕获状态62。在一个实施方案中,始终通电部件16内的定时器(例如,看门狗定时器)(图2中没有明确示出)可周期性地使得从等待状态60过渡到捕获状态62。在该情形中,可存在或者不存在待捕获的传感器数据。在一个实施方案中,传感器可向始终通电部件16断言该信号,以指示传感器数据可用于捕获。在任一种情况下,过渡到捕获状态62可被执行。
在所示实施方案中,状态机还可直接从等待状态60过渡到处理状态64。如果传感器被配置为发信号通知始终通电部件16想要处理器支持(来自处理器40),则该过渡可被支持。对于实现该信号的实施方案而言,该信号可与指示传感器数据可用的信号分开。例如,该过渡可支持传感器数据的快速处理(例如,过滤),或者如果期望SOC 10的快速唤醒可使用该过渡(这可由在处理器40上执行的软件管理)。例如,指示用户期望与设备进行交互的按钮或者其他用户接口设备可为将引起SOC 10快速唤醒的事件。如果处理器40在等待状态60中为功率门控的,则从等待状态60过渡到处理状态64可包括使处理器40上电以及重置并初始化处理器40。在其他实施方案中,从等待状态60的过渡可通过捕获状态62,但是不停留在捕获状态62中。该具体实施可减利用稍微较长的唤醒时间唤醒处理器40的复杂性。
在捕获状态62中,SCM 44可为活动的并且可从传感器20中的一个或多个传感器来对数据进行取样。SCM 44可将所捕获的传感器数据写入到存储器42(SCM数据52)。SCM 44还可将附加数据写入到存储器42(SCM数据52),诸如与所捕获的传感器数据有关的时间戳、传感器标识符等。任何期望的附加数据可被存储在存储器42中。在一个实施方案中,时间戳可为传感器数据由传感器20感测到的时间,其可在数据由SCM 44捕获之前。另选地,时间戳可为传感器数据由SCM 44捕获的时间。
SCM 44可检测SCM 44可被配置为唤醒处理器40以处理器数据的一个或多个阈值。阈值可包括例如SCM数据52在存储器42中的相对填满、所获取的传感器样本的数量、从第一取样过去的时间、不是被样本触发的唤醒定时器、错误检测等。可使用一个或多个阈值的任何集合,并且不同的阈值可被用于不同的传感器。如果达到阈值,则状态机可从捕获状态62过渡到处理器状态64。另选地,如果传感器数据捕获完成,则状态机可从捕获状态62过渡到等待状态60。
在处理器状态64中,处理器40可为活动的并且执行来自存储器42的代码(如果有的话,在处理器40的高速缓存之外的代码)。代码可包括例如过滤代码。在处理器状态64期间,SCM 44可为周期性活动的,以捕获附加传感器数据,或者在处理状态64中可为持续活动的。在处理器40上执行的代码可确定其已至少暂时地被完成,并且可使得过渡回到捕获状态62。另选地,可直接过渡到等待状态60(例如,如果SCM 44是非活动的)。
代码还可确定在处理器状态64中期望与存储器12进行的通信。例如,与存储器12的通信可被用于将来自存储器42的所捕获的传感器数据写入到存储器12,以利用存储器12中的较大的可用存储空间。在一些实施方案中,存储器12还可存储处理器40可执行的附加代码(例如,附加过滤算法),该附加代码可能不持续地被存储在存储器42中。在与存储器12的通信被建立之后,附加代码可被处理器40执行。例如,附加代码可从存储器12取到存储器42中和/或可由处理器40进行高速缓存。响应于处理器40在所捕获的传感器数据中检测到期望的模式或者其他方面,该数据可从存储器42写入到存储器12,并且由CPU复合体14中的CPU处理器30进行的附加处理可被批准。数据可被写入到存储器12,使得CPU处理器30可对其进行访问。如果期望与存储器12进行通信,则状态机可过渡到存储器访问状态66。过渡可包括由SOC重新配置电路46操作以编程存储器控制器22的状态以及从始终通电部件16到存储器控制器22的通信路径。在一些实施方案中,整个通信结构27可被激活。在其他实施方案中,仅涉及存储器控制器22和始终通电部件16之间的通信的通信结构27的一部分可被激活。存储器12也可被带出自刷新。在一个实施方案中,本地PMGR 48还可参与该过渡,如果存储器控制器供电电压由PMU 156管理,则请求存储器控制器22上电。
在存储器访问状态66中,存储器控制器22可为活动的并且始终通电部件16可访问存储器12。始终通电部件16(以及在一个实施方案中,更具体地为处理器40)可被配置为生成对存储器12的读操作和写操作,其可通过互连器50和通信结构27被携带到存储器控制器22。数据可由存储器控制器22返回(针对读)或者由存储器控制器22以类似的方式接收(针对写)。
处理器40可确定对访问存储器12的需要已结束,并且可使得过渡回到处理状态64。过渡可包括将存储器12返回到自刷新模式并使存储器控制器22和通信结构27掉电。
处理器40还可确定SOC 10待被唤醒(例如,以将处理切换到CPU复合体14)。状态机可从存储器访问状态66过渡到SOC打开状态68。过渡可包括本地PMGR 48请求从PMU 156为SOC 10上电,并且可包括SOC重新配置电路46根据配置数据56来对各个部件进行编程。在一个实施方案中,直接从处理状态64过渡到SOC打开状态68可被支持。在此类过渡中,存储器控制器22的上电和将存储器12从自刷新的移除也可被执行。另选地,处理器40可检测期望过渡到SOC打开状态68,但是可通过存储器访问状态66以执行该过渡。
从SOC打开状态68,SOC 10(例如,PMGR 32和/或在CPU处理器30上执行的软件)可确定SOC 10待过渡到低功率状态。在一个实施方案中,软件可执行“挂起到RAM”操作,其中各种系统状态包括也由配置数据56表示的状态,在存储器12被置于自刷新模式中并且SOC10部件掉电之前被写入到存储器12。因此,在返回到SOC打开状态68时,根据配置数据56的对状态的重新编程可被执行,并且然后软件可基于被存储在存储器12中的数据恢复执行。例如与如果不包括始终通电部件16进行比较,则该过渡可相对较快。在此类情况下,软件可开始正常的冷却启动过程。在该过程的一些点处,软件可意识到挂起到RAM已发生,但是一些不必要的初始化处理可在该过程的该点处已被执行。
一般来讲,在状态机是较高的功率状态中的任一功率状态时。在低功率状态中执行的操作也可被执行。例如,在状态机处于处理状态64、存储器访问状态66、以及SOC打开状态68时,传感器数据捕获也可被执行(例如,在状态机是其他状态中的任一状态时使得SCM44捕获数据的触发中的一个触发发生的情况下)。类似地,在处理状态64、存储器访问状态66以及SOC打开状态68中的任一状态中处理器40可为活动的,并且因此可在这些状态的任一状态中处理数据。
如果SOC 10关闭,则状态机可从SOC打开状态68返回到存储器访问状态66(并且基于始终通电部件16中的其他活动可过渡到较低状态)。另选地,在过渡发生时基于始终通电部件16中的当前活动可执行从SOC打开状态68直接过渡到状态60,62,64或66中的任一状态。
现转向图4,其示出了另一个状态机的框图。图4中的状态机可与图3中的状态机以一致的方式实现。在所示实施方案中,状态机包括关闭状态70、SOC打开状态72、AO+存储器状态74、AO状态76、和非AO状态78。在该上下文中,AO可为始终通电的首字母缩写。
关闭状态70可为其中到SOC 10的所有电力被关闭的状态,诸如当包括SOC 10的设备被完全关闭时。因此,响应于电力被打开到SOC 10状态机可从关闭状态70过渡(例如,到SOC打开状态72)。SOC 10的重置可被执行,并且然后SOC 10可继续启动。响应于对SOC 10完全关机,状态机可从SOC打开状态72过渡到关闭状态70。在CPU 30上执行的软件已将期望的状态从存储器12保存到非易失性存储器,停止设备可能具有的各种连接(例如,无线和/或有线网络连接、无线电话连接等),并且以其他方式已准备该好设备用于顺序关机之后,关机可发生。在图4中从SOC打开状态72过渡到关闭状态70时,在其他实施方案中从其他状态到关闭状态70的过渡可被支持。
在SOC打开状态72中,SOC 10可处于全操作中。SOC 10的各个部件可根据需要通电或断电,但是在SOC打开状态72中,SOC 10作为整体一般可被看作是活动的。在图3的实施方案中,SOC打开状态72可对应于SOC打开状态68。
在SOC打开状态72中,在CPU复合体14上执行的软件可确定SOC 10应当进入低功率状态(例如,休眠)。在一个实施方案中,软件可执行“挂起到RAM”操作,其中在SOC 10掉电之前,各个SOC状态被写入到存储器12。存储器12可被置于“自刷新”模式中,其中其保持存储器内容,但是在至存储器控制器22的存储器接口上不是活动的。PMGR 32将掉电命令传送到PMU 156,以使得除了存储器控制器22、构造27(或者被用于在存储器控制器22之间进行通信的其部分)及始终通电部件16之外的SOC 10中的部件掉电。另选地,本地PMGR 48可传输掉电命令。状态机可过渡到AO+存储器状态74。在一些实施方案中,从SOC打开状态72到AO状态76的过渡也可被支持。另选地,从SOC打开状态72到AO状态76的过渡可通过AO+存储器状态74。即,如果目标状态是AO状态76,则到AO+存储器状态74的过渡可进行,之后过渡到AO状态76。
在AO+存储器状态74中,存储器控制器22、通信结构27(或者至始终通电部件16的一部分)、以及始终通电部件16可被激活。AO+存储器状态74可对应于图3中的存储器访问状态66。如果检测到使得SOC唤醒的事件,则状态机可过渡到SOC打开状态72(在各种实施方案中,经由与PMU 156的通信和/或SOC 10中的电源开关来使SOC 10的其他部件上电并且经由SOC重新配置电路46和/或从存储器12中的数据来重新配置这些部件)。
另一方面,始终通电部件16可确定存储器访问完成并且可禁用存储器控制器22(在将存储器12置于保持模式诸如自刷新中之后)。存储器控制器22可掉电,并且始终通电部件16可保持通电。状态机可过渡到AO状态76。AO状态76可对应于图3中的处理状态64、捕获状态62、以及等待状态60中的任一者。如果始终通电部件16确定再次期望存储器访问(例如,由于达到SCM数据52中的各个阈值或经由处理器40检测到模式/属性),则状态机可过渡到AO+存储器状态76(为存储器控制器22和通信结构27供电,并且经由SOC重新配置电路46来同样地进行配置)。在一些实施方案中,从AO状态76到SOC打开状态72的直接过渡可被支持,包括使存储器控制器22、通信结构27和SOC 10的其他部件上电,并经由SOC重新配置电路46来重新配置这些部件。
在一个实施方案中,非AO状态78可被支持。非AO状态78可为其中始终通电部件16掉电但是存储器12在保持模式中保持通电的状态。非AO状态78可类似于“经典的”挂起到RAM状态。从非AO状态78返回到SOC打开状态72可包括软件重新配置SOC 10的部件,该部件包括始终通电部件16。软件可在CPU处理器30上执行。因此,从非AO状态78过渡到SOC打开状态72可包括基本的启动操作,直到软件已对SOC 10进行初始化并已检测到存储器12已正在存储状态。
接下来转到图5,流程图被示出,其示出了可在SOC 10上(例如,由CPU处理器30)执行的软件代码的一个实施方案的操作。代码可在对包括SOC 10的设备进行启动时被执行。在部件的可编程配置改变期间,代码可类似地被执行。在各种实施方案中,配置改变期间的代码执行可为或者可不为在启动期间执行的相同代码。在其他实施方案中,在图5中所示的操作的部分可在硬件中实现。代码可包括当在处理器上执行时实现图5所示的操作的指令。在一个实施方案中,实现图5所示的操作的代码可为用于对应部件的驱动代码的一部分,并且因此图5所示的操作可在多个代码序列中实现。
代码可确定配置参数被编程到部件中(框80)。参数可基于发现部件和其能力。尽管SOC 10中的部件因为它们以硬件实现而可被固定,代码可通用以在SOC 10的多个版本上运行。此外,SOC 10可被包括在多个不同设计的设备中。期望的参数可受其中SOC 10被实例化的特定设备的影响。
代码可将配置参数写入到部件(框82),从而对该部件进行编程。如果配置参数包括在休眠状态或者其他掉电状态之后对SOC 10重新供电时待被恢复的数据(决策框84,“是”分支),则代码可将配置参数写入到可编程配置数据56,因此遮蔽SOC重新配置电路46中的状态(框86)。在其他实施方案中,SOC重新配置电路46可被配置为自动遮蔽期望的状态。
需注意,在一些实施方案中,不是所有的配置参数需要为在SOC 10的随后上电时被恢复到部件的重新配置状态的一部分。例如,设定不是与部件进行基本通信所需的各个任选特征结构的参数在进行重新配置时可被设定成默认值。此类任选参数可在重启CPU 30上的执行以用于恢复到部件之后从存储器12中的挂起到RAM状态被读取。因此,此类参数不需要为由SOC重新配置电路46所存储的状态的一部分。此外,如先前所提及的,在一些实施方案中,被写入到SOC重新配置电路46的参数可与在SOC 10掉电时被编程到部件中的那些参数不同。在这种情况下,写入到SOC重新配置电路46的参数可为响应于SOC 10的唤醒而被编程到部件中的那些参数。
接下来转到图6,其示出了流程图,其示出响应于在始终通电部件16中确定SOC 10的一个或多个部件将被再次上电的该始终通电部件16的一个实施方案的操作。例如,图6的操作可为过渡到存储器访问状态66/AO+存储器状态74的一部分,以恢复存储器控制器22和通信结构27。图6的操作可为过渡到SOC打开状态68/SOC打开状态72的一部分,以恢复遍及SOC 10的部件。始终通电部件16可被配置为实现在图6中所示的操作。
始终通电部件16可被配置为使得恢复正被上电的部件的电力(框90)。例如,本地PMGR 48可被配置为请求PMU 156恢复至SOC 10的一个或多个供电电压导轨的供电电压。另选地,本地PMGR 48或者始终通电部件16中的其他电路可被配置为控制SOC 10中的电源开关,以恢复至功率门控部件的电力。也可使用PMU请求和电源开关的组合。
一旦电力已稳定并且任何部件重置已完成,SOC重新配置电路46便可被配置为利用与部件对应的可编程配置数据56来对部件进行编程(框92)。SOC重新配置电路46可被配置为读取可编程配置数据56并且将该数据传输到部件,直到重新配置完成(决策框94)。一旦重新配置已完成(决策框94,“是”分支),到新状态的过渡(例如,存储器访问状态66或者SOC打开状态68)可被完成(框96)。
过渡可采取任何形式(例如,已编程的输入/输出(PIO)写操作、专用通信路径、存储器映射I/O写操作等)。除了配置参数的写操作之外,一些实施方案可支持可编程重新配置数据56中的其他信息以确定来自部件的状态,其可形成重新配置是否完成的确定的一部分(决策框94)。例如,一系列配置参数写可被传输到部件,之后进行到寄存器的轮询读取,该部件例如更新寄存器,以指示完成或者准备就绪性操作。
图7为示出了SOC 10的部件以及在SOC 10的一个实施方案中针对存储器访问状态66/AO+存储器状态74哪些部件打开或关闭的框图。图7中的交叉阴影部件断电,而非交叉阴影部件通电。图7中也示出了各种焊盘98A-98D。焊盘可包括被配置为驱动SOC 10的引脚上的信号并从引脚接收信号的输入/输出驱动器/接收器电路。因此,焊盘98A-98D也可接收供电电压。在该实施方案中,用于存储器控制器22与存储器12进行通信的焊接点98C可通电,如同从始终通电部件16到各个传感器的焊盘98B。用于PMGR 32与PMU 156进行通信的焊盘98D以及用于外围设备18B的焊盘98A两者均可掉电。另选地,其中无论何时至少一个焊盘被通电,单个焊盘结构也可在所有焊盘通电时使用。
如图7所示,存储器控制器22和始终通电部件16可上电,同时剩余部件掉电。另外,被用于在始终通电部件16和存储器控制器22之间通信的通信结构27的一部分99可上电,同时通信结构27的其余部分可掉电。例如,在一个实施方案中,通信结构27可包括总线和电路的分级设定,以将事务处理从源诸如外围设备18A-18B、CPU复合体14以及始终通电部件16路由至存储器控制器22。该构造还可将数据(至存储器控制器22以用于写操作,来自存储器控制器22以用于读操作)和来自存储器控制器22的响应携带至源。始终通电部件16和存储器控制器22之间的分级接口和电路的部分可通电,并且其他部分可被关机。
图8为示出了针对一个实施方案的使用重新配置机制的延迟减小的框图。在图8中,时间从顶部到底部增加,如在图8的左手侧上的箭头所示的。到左边是用于集成电路10的引导序列,并且到右边是根据本具体实施的重新配置机制的重新配置。
当包括SOC 10的设备被初始化地上电时,该引导序列可被执行。因此,没有数据被存储在存储器12中并且SOC 10没有被初始化,该数据包括可编程重新配置数据56。该引导序列包括只读存储器(ROM)加载100、低级启动102、和内核104。ROM加载100可开始于由CPU处理器30的重置的退出,并且可包括从ROM(例如,安全ROM)读取用于低级启动102的低级启动代码,解密和/或认证低级启动代码,并且开始该低级启动代码。低级启动代码可发现SOC10的各个部件并且可初始化这些部件。一般来讲,初始化的量、待被初始化的部件,以及低级启动代码将部件初始化至的状态可根据内核代码的设计而被控制(内核框104)。即,低级启动代码可在系统/SOC 10中生成当内核代码执行其第一指令时期望处于的状态。内核代码可为操作系统的中央核心,从而由在系统中执行的各个应用程序来管理用于使用的SOC10的资源。
当使用重新配置机制再次上电时,ROM负载100可被避免。重新配置机制(框106)可具有与低级启动102相同的效果,但是在一些情况中可比低级启动代码更快。最坏的情况是,重新配置机制106可具有与低级启动102相同的延迟。在重新配置机制106的结论上,内核104可准备好执行。使用重新配置机制的延迟减小由箭头108指示。
在另一个实施方案中,重新配置机制106可通过在上电事件之后从低级启动代码获取重新配置代码并且将代码存储在CPU处理器30可访问的位置中来实现(例如,在非易失性存储器中,诸如SOC 10中的或者耦接至其的闪存存储器)。在上电并重置CPU处理器30之后,CPU处理器30可从重置被释放到指向该位置的重置向量,使得重新配置代码可被执行。重新配置代码可利用到内核的调用而被终止。
图9为示出了针对一个实施方案的使用推测来减小唤醒延迟的框图。一般来讲,诸如图9中所示的推测可用在任何级别(例如,在图3和图4中的状态之间的任何过渡)处,以减小延迟。尽管在推测地使电路上电并且如果推测不正确使其重新掉电过程中可消耗一些电力,但是适度准确的推测可为良好的电力/性能的权衡。类似于图8,在图9中,时间从顶部到底部增加。
在图9的左边执行该序列,而无须进行推测。始终通电部件16可收集N个传感器样本(框110)。即,始终通电部件16可在等待状态60和捕获状态62之间过渡N次,每次均捕获传感器数据(其中N为正整数)。在该示例中,始终通电部件16可利用N的阈值而被编程,使得在N个传感器样本之后,状态机过渡到处理器状态64(唤醒处理器40)。处理器40可处理传感器数据(框112),但是不检测使得处理器40唤醒存储器控制器22或者SOC 10的其他部件的模式或者传感器数据的其他属性。状态机可返回到捕获状态62和/或等待状态60。随后,N个更多的传感器样本可被收集(框114),并且处理器40可再次被唤醒并且可处理器传感器数据(框116)。在这种情况下,处理器40可检测到SOC 10待被唤醒日期提前五天,使得CPU处理器30可进一步处理传感器数据或者执行其他处理。因此,状态机可过渡到SOC打开状态68/72,从而唤醒SOC 10并允许进行处理(框118)。
在图9的右边是推测以减小用于打开SOC 10的延迟的示例。类似于左边的示例,右边的示例可包括始终通电部件16收集N个传感器样本并且唤醒处理器40(框120),从而将状态机过渡到处理状态64。在这种情况下,由处理器40执行的代码不仅搜索再传感器数据中指示期望立即进行SOC处理的模式/属性(例如,类似于图9的左边上的框112和116),而且搜索用于预测不久将期望的SOC处理的模式/属性。在右边的示例中,由处理器40执行的代码可预知期望中的SOC处理(框122),并且可使得状态机过渡到SOC打开状态68/72(框124)。该SCM 44也可继续并行地捕获传感器样本。当将导致该唤醒的模式/属性被检测到,SOC 10可已准备就绪。如箭头126所示,相比于左边的示例,延迟可减小。如果预测是不正确的(图9中的错误预测),则SOC 10可返回到休眠(框128)。在这种情况下,用于唤醒SOC 10的电力可已被浪费。
接下来转向图10,其示出了系统150的一个实施方案的框图。在所示的实施方案中,系统150包括耦接到一个或多个外部外围设备154和外部存储器12的SOC 10的至少一个实例。提供向SOC 10供应供电电压以及向存储器12和/或外围设备154供应一个或多个供电电压的PMU 156。在一些实施方案中,可包括SOC 10的多于一个实例(也可包括多于一个存储器12)。
根据系统150的类型,外围设备154可包括任意期望的电路系统。例如,在一个实施方案中,系统150可以是移动设备(例如个人数字助理(PDA)、智能电话等),并且外围设备154可包括用于各种类型的无线通信的设备,诸如wifi、蓝牙、蜂窝、全球定位系统等。外围设备154还可包括附加存储装置,该附加存储装置包括RAM存储装置、固态存储装置、或磁盘存储装置。外围设备154可包括用户界面设备,诸如包括触摸显示屏或多触摸显示屏、键盘或其他输入设备、麦克风、扬声器等的显示屏。在图1的实施方案中,外围设备154可包括传感器20。在其他实施方案中,系统150可为任何类型的计算系统(例如,台式个人计算机、膝上型电脑、工作站、迷你台式机等)。
外部存储器12可包括任何类型的存储器。例如,外部存储器12可以是SRAM、动态RAM(DRAM)(诸如同步DRAM(SDRAM))、双倍数据速率(DDR、DDR2、DDR3等)SDRAM、RAMBUSDRAM、低功率版本的DDR DRAM(例如LPDDR、mDDR等)等等。外部存储器12可包括存储器设备可被安装到的一个或多个存储器模块,诸如单列存储器模块(SIMM)、双列存储器模块(DIMM)等。另选地,外部存储器12可包括以芯片上芯片或封装上封装具体实施被安装在SOC10上的一个或多个存储器设备。
图11是示出计算机可访问存储介质200的一个实施方案的框图。一般来讲,计算机可访问存储介质可包括计算机在使用期间可访问的用于向计算机提供指令和/或数据的任何存储介质。例如,计算机可访问存储介质可包括存储介质诸如磁介质或光学介质的,例如光盘(固定的或可拆卸的)、磁带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW、或蓝光。存储介质还可包括易失性或非易失性存储器介质,诸如RAM(例如,同步动态RAM(SDRAM)、Rambus DRAM(RDRAM)、静态RAM(SRAM)等)、ROM、或闪存存储器。存储介质可被物理地包括在存储介质将指令/数据提供至的计算机内。作为另外一种选择,存储介质可被连接至计算机。例如,存储介质可经由网络或无线链路诸如网络附加存储装置而被连接至计算机。存储介质可通过外围设备接口诸如通用串行总线(USB)而被连接。一般来讲,计算机可访问存储介质200可以非暂态的方式存储数据,其中在该上下文中,非暂态可指不在信号上传输指令/数据。例如,非暂态存储可为易失性的(并且响应于掉电而可丢失所存储的指令/数据)或者非易失性的。
图11中计算机可访问存储介质200可存储始终通电部件代码202。始终通电部件代码202可包括当由处理器40执行时实现针对上面的代码所述的操作的指令。例如,始终通电部件代码202可包括图2中所示的处理器代码54。图11中的计算机可访问存储介质200可还包括CPU代码204。CPU代码204可包括ROM加载代码206、低级启动代码208、和/或内核代码210。例如,每个代码可包括当被执行时实现被分配给ROM加载框100、低级启动框102和内核框104的操作的指令。载体介质可包括计算机可访问存储介质以及传输介质诸如有线或无线传输。
一旦充分理解了以上公开,很多变型形式和修改形式对于本领域的技术人员而言将变得显而易见。本发明旨在将以下权利要求书被解释为涵盖所有此类变型形式和修改形式。
Claims (18)
1.一种集成电路,包括:
至少一个处理器,所述至少一个处理器形成所述集成电路中的中央处理单元;
电力管理电路,所述电力管理电路被配置为将电压请求传输到所述集成电路外部的电力管理单元,其中所述电压请求为向所述集成电路供应一个或多个电源电压的请求;
在使用期间耦接到存储器的存储器控制器,其中所述电力管理电路被配置为经由到所述电力管理单元的通信来使得所述存储器控制器掉电;和
耦接到所述处理器和所述存储器控制器的第一部件,其中所述第一部件被配置为当所述处理器、所述电力管理电路和所述存储器控制器断电时保持通电,并且其中所述第一部件耦接到与所述电力管理电路分开的所述电力管理单元,并且所述第一部件被配置为:在所述处理器掉电的时间期间,经由到所述电力管理单元的分开耦接来使得所述存储器控制器上电,使用被存储在所述第一部件中的存储器控制器配置数据来对所述存储器控制器进行编程,并且与所述存储器控制器进行通信。
2.根据权利要求1所述的集成电路,其中所述存储器控制器配置数据表示在所述存储器控制器掉电时所述存储器控制器的已编程的配置。
3.根据权利要求2所述的集成电路,其中所述处理器被配置为响应于执行多个指令来对所述存储器控制器进行编程,并且其中所述处理器被进一步配置为响应于执行所述多个指令来将所述存储器控制器配置数据写入到所述第一部件。
4.根据权利要求2所述的集成电路,还包括多个部件,其中所述第一部件被进一步配置为存储用于表示在所述多个部件掉电时所述多个部件中的每个部件的已编程的配置的配置数据。
5.根据权利要求4所述的集成电路,其中所述第一部件被配置为响应于所述多个部件中的每个部件上电而利用所存储的配置数据来对所述多个部件中的每个部件进行编程。
6.根据权利要求5所述的集成电路,其中所述处理器被配置为执行操作系统软件,并且其中所述第一部件被配置为在所述操作系统恢复在所述处理器上执行之前对所述存储器控制器和所述多个部件进行编程。
7.一种系统,包括:
存储器;和
根据权利要求1所述的集成电路,其中所述集成电路耦接到所述存储器。
8.根据权利要求7所述的系统,其中所述处理器被配置为在所述存储器控制器和所述处理器掉电之前将所述系统的状态写入到所述存储器。
9.根据权利要求8所述的系统,其中在所述存储器控制器掉电的时间期间所述存储器处于自刷新状态中。
10.一种方法,包括:
使集成电路中的存储器控制器、多个部件、电力管理电路、以及处理器掉电,所述集成电路还包括第一部件,所述第一部件在所述存储器控制器、所述多个部件、以及所述处理器掉电的时间期间保持上电,所述掉电经由从所述电力管理电路到所述集成电路外部的电力管理单元的请求来执行;
在所述掉电之后再次使所述存储器控制器上电,所述上电由所述第一部件引起,同时所述处理器保持掉电,其中所述第一部件耦接到与所述电力管理电路分开的所述电力管理单元,以使得所述存储器控制器上电;以及
利用来自所述第一部件的配置数据来重新初始化所述存储器控制器。
11.根据权利要求10所述的方法,还包括:
启动包括所述集成电路的系统,其中所述启动包括初始化所述存储器控制器和所述多个部件;
将表示所述存储器控制器的已编程的配置的所述配置数据写入到所述第一部件。
12.根据权利要求11所述的方法,还包括将所述多个部件的所述配置数据写入到所述第一部件。
13.根据权利要求10所述的方法,还包括:
在所述上电和所述重新初始化期间,保持所述多个部件和所述处理器掉电;以及
在所述重新初始化之后,所述第一部件与所述存储器控制器进行通信,同时所述多个部件和所述处理器保持掉电。
14.根据权利要求13所述的方法,还包括所述第一部件确定需要与所述存储器控制器进行通信,其中所述上电响应于所述确定。
15.根据权利要求10所述的方法,还包括:
使所述多个部件和所述处理器上电;以及
利用来自所述第一部件的所述配置数据来重新初始化所述多个部件和所述处理器。
16.根据权利要求15所述的方法,还包括所述处理器执行操作系统软件,其中在所述处理器开始执行所述操作系统软件之前执行所述重新初始化。
17.根据权利要求11所述的方法,还包括:
在操作期间改变所述已编程的配置;以及
更新所述第一部件中的所述配置数据,以反映已改变的配置。
18.根据权利要求17所述的方法,还包括在使所述存储器控制器、所述多个部件和所述处理器掉电之前将所述系统的状态写入到所述存储器控制器耦接到的存储器。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462004319P | 2014-05-29 | 2014-05-29 | |
US62/004,319 | 2014-05-29 | ||
US14/458,949 | 2014-08-13 | ||
US14/458,949 US9619377B2 (en) | 2014-05-29 | 2014-08-13 | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
PCT/US2015/020330 WO2015183377A1 (en) | 2014-05-29 | 2015-03-13 | System on a chip with always-on processor which reconfigures soc and supports memory-only communication mode |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462217A CN106462217A (zh) | 2017-02-22 |
CN106462217B true CN106462217B (zh) | 2018-12-04 |
Family
ID=52774591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580023991.8A Active CN106462217B (zh) | 2014-05-29 | 2015-03-13 | 具有始终通电处理器的片上系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9619377B2 (zh) |
KR (1) | KR101805346B1 (zh) |
CN (1) | CN106462217B (zh) |
DE (1) | DE112015002522B4 (zh) |
TW (1) | TW201602791A (zh) |
WO (1) | WO2015183377A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079019B2 (en) | 2013-11-12 | 2018-09-18 | Apple Inc. | Always-on audio control for mobile device |
US10031000B2 (en) | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US9778728B2 (en) | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
KR102581808B1 (ko) * | 2014-12-18 | 2023-09-21 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치, 센서 장치, 및 전자 기기 |
US10582636B2 (en) * | 2017-08-07 | 2020-03-03 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Server having a dual-mode serial bus port enabling selective access to a baseboard management controller |
CN108446009A (zh) * | 2018-03-10 | 2018-08-24 | 北京联想核芯科技有限公司 | 掉电控制方法、装置、设备及介质 |
GB201810663D0 (en) | 2018-06-28 | 2018-08-15 | Nordic Semiconductor Asa | Peripheral Power Domains |
US11172882B2 (en) * | 2018-09-05 | 2021-11-16 | Vital Connect, Inc. | Monitoring system |
KR20200046282A (ko) * | 2018-10-24 | 2020-05-07 | 삼성전자주식회사 | 집적 회로 장치 및 고 대역폭 메모리 장치 |
KR20200069905A (ko) | 2018-12-07 | 2020-06-17 | 삼성전자주식회사 | 스토리지 시스템 및 스토리지 시스템의 동작 방법 |
US20200409762A1 (en) * | 2019-06-26 | 2020-12-31 | Advanced Micro Devices, Inc. | Method and apparatus for servicing an interrupt |
TWI739227B (zh) * | 2019-12-03 | 2021-09-11 | 智成電子股份有限公司 | 避免多餘記憶體存取的系統單晶片模組 |
CN112948320B (zh) | 2019-12-11 | 2024-01-16 | 瑞昱半导体股份有限公司 | 具有内存的芯片 |
US11656673B2 (en) * | 2019-12-30 | 2023-05-23 | Micron Technology, Inc. | Managing reduced power memory operations |
JP2022049552A (ja) * | 2020-09-16 | 2022-03-29 | キオクシア株式会社 | 半導体装置および方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758183A (zh) * | 2004-10-05 | 2006-04-12 | 恩益禧电子股份有限公司 | 集成电路器件 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6593845B1 (en) | 1998-01-09 | 2003-07-15 | Intermac Ip Corp. | Active RF tag with wake-up circuit to prolong battery life |
US6748548B2 (en) * | 2000-12-29 | 2004-06-08 | Intel Corporation | Computer peripheral device that remains operable when central processor operations are suspended |
US6775750B2 (en) | 2001-06-29 | 2004-08-10 | Texas Instruments Incorporated | System protection map |
EP1331539B1 (en) | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US7134028B2 (en) | 2003-05-01 | 2006-11-07 | International Business Machines Corporation | Processor with low overhead predictive supply voltage gating for leakage power reduction |
US8112618B2 (en) | 2004-04-08 | 2012-02-07 | Texas Instruments Incorporated | Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making |
US7797523B2 (en) | 2006-09-25 | 2010-09-14 | Hewlett-Packard Development Company, L.P. | Method and system of executing stack-based memory reference code |
US8041968B2 (en) * | 2007-01-04 | 2011-10-18 | Apple Inc. | Power management for driving display with baseband portion when application portion is in low power mode |
US7991992B2 (en) | 2007-03-13 | 2011-08-02 | Intel Corporation | Power reduction for system on chip |
US7941682B2 (en) * | 2007-05-09 | 2011-05-10 | Gainspan, Inc. | Optimum power management of system on chip based on tiered states of operation |
US9613215B2 (en) | 2008-04-10 | 2017-04-04 | Nvidia Corporation | Method and system for implementing a secure chain of trust |
US20090259865A1 (en) | 2008-04-11 | 2009-10-15 | Qualcomm Incorporated | Power Management Using At Least One Of A Special Purpose Processor And Motion Sensing |
US8065540B2 (en) * | 2008-10-31 | 2011-11-22 | Dell Products, Lp | Power control for information handling system having shared resources |
US8103803B2 (en) | 2008-11-21 | 2012-01-24 | Nvidia Corporation | Communication between a processor and a controller |
US8405505B2 (en) | 2009-05-26 | 2013-03-26 | Qualcomm Incorporated | Power management of sensors within a mobile device |
GB2472050B (en) * | 2009-07-22 | 2013-06-19 | Wolfson Microelectronics Plc | Power management apparatus and methods |
KR101624903B1 (ko) | 2009-09-16 | 2016-05-30 | 삼성전자주식회사 | 휴대용 단말기에서 전력 소모를 줄이기 위한 장치 및 방법 |
JP2011129041A (ja) | 2009-12-21 | 2011-06-30 | Fujitsu Ltd | 情報処理装置、認証処理制御プログラムおよび認証処理制御方法 |
US8656198B2 (en) * | 2010-04-26 | 2014-02-18 | Advanced Micro Devices | Method and apparatus for memory power management |
US8751802B2 (en) | 2010-06-30 | 2014-06-10 | Sandisk Il Ltd. | Storage device and method and for storage device state recovery |
US8438416B2 (en) * | 2010-10-21 | 2013-05-07 | Advanced Micro Devices, Inc. | Function based dynamic power control |
US8706172B2 (en) | 2010-10-26 | 2014-04-22 | Miscrosoft Corporation | Energy efficient continuous sensing for communications devices |
US9135213B2 (en) | 2011-01-13 | 2015-09-15 | Xilinx, Inc. | Extending a processor system within an integrated circuit and offloading processes to process-specific circuits |
US20120254878A1 (en) | 2011-04-01 | 2012-10-04 | Lama Nachman | Mechanism for outsourcing context-aware application-related functionalities to a sensor hub |
US9229489B2 (en) * | 2011-05-03 | 2016-01-05 | Facebook, Inc. | Adjusting mobile device state based on user intentions and/or identity |
US20130124891A1 (en) * | 2011-07-15 | 2013-05-16 | Aliphcom | Efficient control of power consumption in portable sensing devices |
US8954017B2 (en) * | 2011-08-17 | 2015-02-10 | Broadcom Corporation | Clock signal multiplication to reduce noise coupled onto a transmission communication signal of a communications device |
US8862917B2 (en) | 2011-09-19 | 2014-10-14 | Qualcomm Incorporated | Dynamic sleep for multicore computing devices |
US8812761B2 (en) | 2011-10-28 | 2014-08-19 | Apple Inc. | System and method for adjusting power usage to reduce interrupt latency |
KR20130079076A (ko) | 2011-12-30 | 2013-07-10 | 삼성전자주식회사 | 데이터 처리 장치와 이를 포함하는 휴대용 장치 |
US9377830B2 (en) * | 2011-12-30 | 2016-06-28 | Samsung Electronics Co., Ltd. | Data processing device with power management unit and portable device having the same |
US8892269B2 (en) | 2012-03-30 | 2014-11-18 | Intel Corporation | Power down and quick start of thermal sensor |
TWI594188B (zh) | 2012-04-10 | 2017-08-01 | 祥碩科技股份有限公司 | 系統單晶片及其開機方法 |
US20130318382A1 (en) * | 2012-05-23 | 2013-11-28 | Canon Kabushiki Kaisha | Power management apparatus, image forming apparatus and power management method |
US9182999B2 (en) | 2012-05-30 | 2015-11-10 | Advanced Micro Devices, Inc. | Reintialization of a processing system from volatile memory upon resuming from a low-power state |
KR101896666B1 (ko) | 2012-07-05 | 2018-09-07 | 삼성전자주식회사 | 이미지 센서 칩, 이의 동작 방법, 및 이를 포함하는 시스템 |
KR102045511B1 (ko) * | 2012-07-18 | 2019-11-15 | 삼성전자 주식회사 | 센서 허브를 포함하는 단말기 및 단말기의 제어 방법 |
US9063731B2 (en) | 2012-08-27 | 2015-06-23 | Samsung Electronics Co., Ltd. | Ultra low power apparatus and method to wake up a main processor |
US9760150B2 (en) | 2012-11-27 | 2017-09-12 | Nvidia Corporation | Low-power states for a computer system with integrated baseband |
US9081571B2 (en) | 2012-11-29 | 2015-07-14 | Amazon Technologies, Inc. | Gesture detection management for an electronic device |
US20140223217A1 (en) | 2013-02-01 | 2014-08-07 | Broadcom Corporation | Power and system management information visibility |
US9541984B2 (en) * | 2013-06-05 | 2017-01-10 | Apple Inc. | L2 flush and memory fabric teardown |
US9338003B2 (en) | 2013-06-18 | 2016-05-10 | Maxim Integrated Products, Inc. | Secure modules using unique identification elements |
US20150089245A1 (en) | 2013-09-26 | 2015-03-26 | Asher M. Altman | Data storage in persistent memory |
US9171133B2 (en) | 2013-10-11 | 2015-10-27 | Landis+Gyr Innovations, Inc. | Securing a device and data within the device |
US20150127300A1 (en) * | 2013-11-03 | 2015-05-07 | Microsoft Corporation | Sensor Selection Based on Context and Policy |
CN103619056B (zh) | 2013-12-02 | 2018-01-12 | 华为终端(东莞)有限公司 | 一种上报传感器数据的方法和终端 |
WO2015099802A1 (en) * | 2013-12-28 | 2015-07-02 | Intel Corporation | Techniques for increasing energy efficiency of sensor controllers |
US9443111B2 (en) | 2014-02-28 | 2016-09-13 | Seagate Technology Llc | Device security using an encrypted keystore data structure |
US10031000B2 (en) | 2014-05-29 | 2018-07-24 | Apple Inc. | System on a chip with always-on processor |
US9619377B2 (en) | 2014-05-29 | 2017-04-11 | Apple Inc. | System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode |
US9778728B2 (en) | 2014-05-29 | 2017-10-03 | Apple Inc. | System on a chip with fast wake from sleep |
-
2014
- 2014-08-13 US US14/458,949 patent/US9619377B2/en active Active
-
2015
- 2015-03-13 KR KR1020167033147A patent/KR101805346B1/ko active IP Right Grant
- 2015-03-13 WO PCT/US2015/020330 patent/WO2015183377A1/en active Application Filing
- 2015-03-13 DE DE112015002522.7T patent/DE112015002522B4/de active Active
- 2015-03-13 CN CN201580023991.8A patent/CN106462217B/zh active Active
- 2015-04-08 TW TW104111311A patent/TW201602791A/zh unknown
-
2017
- 2017-03-02 US US15/447,328 patent/US10261894B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1758183A (zh) * | 2004-10-05 | 2006-04-12 | 恩益禧电子股份有限公司 | 集成电路器件 |
Also Published As
Publication number | Publication date |
---|---|
KR20160147954A (ko) | 2016-12-23 |
KR101805346B1 (ko) | 2017-12-05 |
TW201602791A (zh) | 2016-01-16 |
US10261894B2 (en) | 2019-04-16 |
DE112015002522T5 (de) | 2017-03-09 |
US9619377B2 (en) | 2017-04-11 |
CN106462217A (zh) | 2017-02-22 |
WO2015183377A1 (en) | 2015-12-03 |
US20170177256A1 (en) | 2017-06-22 |
DE112015002522B4 (de) | 2022-05-25 |
US20150347287A1 (en) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462217B (zh) | 具有始终通电处理器的片上系统 | |
CN106255937B (zh) | 具有始终通电的处理器的片上系统 | |
US10915160B2 (en) | System on a chip with fast wake from sleep | |
US9959124B1 (en) | Secure bypass of low-level configuration in reconfiguration of a computing system | |
TWI472914B (zh) | 具有可移除式非揮發性半導體記憶體模組之硬碟驅動器、硬碟總成、膝上型電腦和用於非揮發性半導體記憶體模組移除檢測之硬碟控制器積體電路 | |
KR20140050290A (ko) | 어플리케이션 프로세서, 이를 구비하는 모바일 기기 및 어플리케이션 프로세서를 위한 클럭 신호 선택 방법 | |
US20140129759A1 (en) | Low power write journaling storage system | |
US20160147289A1 (en) | Processor Including Multiple Dissimilar Processor Cores | |
CN105474182B (zh) | 在电子设备处于低功率模式的同时支持周期性写操作的存储设备 | |
US20160049207A1 (en) | Configuration fuse data management in a partial power-on state | |
CN110119363A (zh) | 零功率状态下的低延迟引导 | |
US11940865B2 (en) | On-chip system with context-based energy reduction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |