TW201602791A - 具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片 - Google Patents

具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片 Download PDF

Info

Publication number
TW201602791A
TW201602791A TW104111311A TW104111311A TW201602791A TW 201602791 A TW201602791 A TW 201602791A TW 104111311 A TW104111311 A TW 104111311A TW 104111311 A TW104111311 A TW 104111311A TW 201602791 A TW201602791 A TW 201602791A
Authority
TW
Taiwan
Prior art keywords
memory
soc
processor
component
memory controller
Prior art date
Application number
TW104111311A
Other languages
English (en)
Inventor
布理傑許 翠帕西
山恩J 齊爾
馬努 古拉堤
曹政郁
艾瑞可P 麥區尼基
吉爾伯特H 赫貝克
提摩西J 麥利特
希塞爾 喬許P 迪
阿南德 達拉爾
Original Assignee
蘋果公司
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 蘋果公司 filed Critical 蘋果公司
Publication of TW201602791A publication Critical patent/TW201602791A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)

Abstract

本發明在一實施例中提供一種系統單晶片(SOC),其包括當該SOC之剩餘部分斷電時保持供電之一組件。該組件可包括一感測器擷取單元以自各種器件感測器擷取資料,且其可篩選該擷取之感測器資料。回應於該篩選,該組件可喚醒該SOC之該剩餘部分以允許處理。該組件可儲存可程式化組態資料,從而匹配在該SOC剛剛電力切斷時用於該SOC之其他組件的狀態,以便在喚醒之後對其進行再程式化。在一些實施例中,該組件可經組態以喚醒該SOC內之記憶體控制器及至該記憶體控制器之路徑,以便將該資料寫入至記憶體。該SOC之該剩餘部分可保持電力切斷。

Description

具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片
本文中所描述的實施例係關於系統單晶片(SOC)之領域,且更明確而言係關於一種SOC中之常開區塊。
消費者現在每天使用多種電子器件。特定言之,行動器件已變得普遍存在。行動器件可包括蜂巢式電話、個人數位助理(PDA)、組合電話功能性及其他計算功能性(諸如各種PDA功能性及/或一般應用支援)之智慧型手機、平板電腦、膝上型電腦、迷你台式機(net top)、智慧型手錶、可穿戴電子元件等。一般而言,行動器件可為經設計以由使用者攜載或由使用者穿戴的任何電子器件。行動器件通常經電池供電,以使得其可遠離諸如電源插座之恆定電源而操作。
許多行動器件大部分時間可在「待用」模式中操作。在待用模式中,由於器件並非正有效地向使用者顯示內容及/或並非正有效地為使用者執行功能性,故器件可能看似「斷開」。在待用模式中,器件的大部分可能確實斷電。然而,在先前技術中,器件可能正收聽電話呼叫或網路封包、檢驗警報、對移動作出反應,等等。
因為行動器件常常藉由有限供應器(例如,電池)操作,所以能量 節省為器件之關鍵設計考慮。包括系統單晶片(SOC)可輔助能量節省,原因在於器件中所需要的多數功能性可包括於SOC中。在「待用」模式及其他低電力模式中,需要使SOC電力切斷以消除為現代積體電路技術中能量消耗之重要因素的漏電流損失。另一方面,需要SOC以用於上文所提及之一些待用功能性。
在一實施例中,SOC包括在SOC之剩餘部分斷電時保持供電的組件。該組件可包括經組態以自各種器件感測器擷取資料的感測器擷取單元。所擷取感測器資料可緩衝於組件內之記憶體中。在一些實施例中,該組件可進一步包括處理器,其可篩選所擷取感測器資料:搜尋可指示需要由器件進行進一步處理的圖案。若偵測到對於進一步處理之需要,則組件可喚醒(亦即,引起電力開啟及再程式化)SOC之剩餘部分以允許處理。在一些實施例中,可減少電力/能量消耗,同時仍在並非正有效地使用器件之時間期間支援感測器資料之擷取。舉例而言,可在支援感測器資料擷取的同時達成可經由積體電路上組件之整合而獲得的電力/能量效率。組件可儲存用於SOC之其他組件的可程式化組態資料,以便在喚醒之後對其進行再程式化。可程式化組態資料可匹配SOC最近電力切斷時(同時組件保持供電)的組件之狀態或可為喚醒所要之不同狀態。
在一些實施例中,組件可經組態以喚醒SOC內之記憶體控制器及至記憶體控制器之路徑兩者,以便將資料寫入至記憶體及/或自記憶體讀取資料。該SOC之該剩餘部分可保持電力切斷。以此方式,組件可在不喚醒其他組件(例如包括一或多個中央處理單元(CPU)處理器)的情況下利用較大主記憶體以儲存資料(例如感測器資料)來允許傳送。因為僅電力開啟所需組件,所以可減少電力/能量消耗。
在一些實施例中,當在SOC中再次自電力切斷(例如睡眠)狀態電 力開啟時,保存可程式化組態資料及自組件還原資料可減少延時。在一些實施例中,在一個狀態下(例如,組件中之處理器在SOC睡眠時為喚醒的)的資料之處理可產生不久可能需要較高電力/效能狀態的推測。若推測準確,則SOC可推測性地轉變至該狀態,且因此至喚醒可具有更低延時。
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元複合體
16‧‧‧常開組件
18A‧‧‧周邊組件
18B‧‧‧周邊組件
20‧‧‧感測器
22‧‧‧記憶體控制器(MC)
24‧‧‧虛線
26‧‧‧虛線
27‧‧‧通信網狀架構
30‧‧‧處理器
32‧‧‧電力管理器(PMGR)
40‧‧‧處理器
42‧‧‧記憶體
44‧‧‧感測器擷取模組(SCM)
46‧‧‧SOC重組態電路
48‧‧‧本端PMGR
50‧‧‧互連件
52‧‧‧SCM資料
54‧‧‧處理器程式碼/資料
56‧‧‧組態資料
60‧‧‧等待狀態
62‧‧‧擷取狀態
64‧‧‧處理狀態
66‧‧‧記憶體存取狀態
68‧‧‧SOC接通狀態
70‧‧‧斷開狀態
72‧‧‧SOC接通狀態
74‧‧‧AO+記憶體狀態
76‧‧‧AO狀態
78‧‧‧非AO狀態
80‧‧‧區塊
82‧‧‧區塊
84‧‧‧區塊
86‧‧‧區塊
90‧‧‧區塊
92‧‧‧區塊
94‧‧‧區塊
96‧‧‧區塊
98A‧‧‧襯墊
98B‧‧‧襯墊
98C‧‧‧襯墊
98D‧‧‧襯墊
99‧‧‧部分
100‧‧‧唯讀記憶體(ROM)載入
102‧‧‧低層級啟動
104‧‧‧核心
106‧‧‧重組態機制
108‧‧‧箭頭
110‧‧‧區塊
112‧‧‧區塊
114‧‧‧區塊
116‧‧‧區塊
118‧‧‧區塊
120‧‧‧區塊
122‧‧‧區塊
124‧‧‧區塊
126‧‧‧箭頭
128‧‧‧區塊
150‧‧‧系統
154‧‧‧周邊器件
156‧‧‧電力管理單元(PMU)
200‧‧‧電腦可存取儲存媒體
202‧‧‧常開組件程式碼
204‧‧‧CPU程式碼
206‧‧‧ROM載入程式碼
208‧‧‧低層級啟動程式碼
210‧‧‧核心程式碼
參考隨附圖式進行以下詳細描述,現簡要描述該等隨附圖式。
圖1為SOC之一項實施例之方塊圖。
圖2為SOC中之常開區塊之一項實施例之方塊圖。
圖3為用於圖2中所展示之常開區塊的狀態機之一項實施例之方塊圖。
圖4為用於圖2中所展示之常開區塊的狀態機之另一實施例之方塊圖。
圖5為說明在啟動或組態變化期間SOC中之CPU上執行的軟體之一項實施例的操作之流程圖。
圖6為說明在重組態期間圖2中所展示之常開區塊的一項實施例之操作的流程圖。
圖7為說明僅記憶體通信狀態中的SOC之一項實施例的方塊圖。
圖8為說明使用重組態方法之一項實施例的延時減少之方塊圖。
圖9為說明用於延時減少的推測性喚醒之一項實施例的方塊圖。
圖10為包括圖1中所展示之SOC的系統之一項實施例之方塊圖。
圖11為電腦可存取儲存媒體之一項實施例之方塊圖。
儘管本發明中所描述的實施例可容易具有各種修改及替代形式,但在圖式中藉助於實例來展示其特定實施例且將在本文中進行詳細描述。然而,應理解,該等圖式及對其之詳細描述並非意欲將實施例限於所揭示之特定形式,而相反,本發明意欲涵蓋屬於隨附申請專 利範圍之精神及範疇內的所有修改、等效物及替代方案。本文中所使用之標題僅為達成組織性目的,且不意謂用以限制該描述之範疇。如本申請案全篇中所使用之詞語「可」係在允許意義(亦即,意謂有可能)而非強制意義(亦即,意謂必須)上使用。類似地,詞語「包括」意謂包括但不限於。
可將各種單元、電路或其他組件描述為「經組態以」執行一或多個任務。在此等上下文中,「經組態以」係對結構之廣泛敍述,其大體上意謂「具有在操作期間執行該(該等)任務之電路」。因而,單元/電路/組件可經組態以甚至在單元/電路/組件當前未接通時執行任務。一般而言,形成對應於「經組態以」之結構之電路可包括硬體電路。類似地,為便於描述,可將各種單元/電路/元件描述為執行一或多個任務。此等描述應解釋為包括片語「經組態以」。
本說明書包括對「一項實施例」或「一實施例」之參考。片語「在一項實施例中」或「在一實施例中」之出現未必指代同一實施例,而是除非本文中明確地否認,否則大體上涵蓋包括特徵之任何組合的實施例。可以與本發明一致之任何合適方式來組合特定特徵、結構或特性。
現轉至圖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中的P30)。處理器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。在一些實施例中,常開組件16可在SOC 10之其餘部分電力切斷時執行其他處理任務。就此等任務存取記憶體12而言,常開組件16可經組態以喚醒記憶體控制器22。另外,常開組件16可經組態以喚醒通信網狀架構27之至少一部分(亦即,將常開組件16連接至記憶體控制器22之部分)。
使用此僅記憶體通信模式,因為SOC 10之剩餘部分保持電力切斷,所以常開組件16可能能夠在花費相對較低量之能量/電力的情況下存取記憶體12及利用記憶體12中可用的有效儲存。常開組件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之初始化期間,作業系統發現SOC 10先前電力切斷(同時系統狀態儲存在記憶體12中)且繞過一些初始化操作。然而,恢復之延時大於所要延時。以下更詳細論述一項實施例之額外細節。
除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)之重設或重新鎖定,則即使其保持供電,組件亦可處於非作用中。若組件經時脈閘控,則其亦可處於非作用中。時脈閘控可指代組件中之數位電路之時鐘暫時「關閉」,從而防止時控儲存器件(諸如正反器(flop)、暫存器等)中之數位電路擷取狀態的技術。
如上文所提及,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 Express(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之其他組件且可基於功率域使用電力閘控。在一些實施例中,可存在用於SOC 10之其餘部分之多個供應電壓。在一些實施例中,亦可存在用於CPU複合體14及/或SOC 10 中之各種記憶體陣列之記憶體供應電壓。記憶體供應電壓可與供應至邏輯電路之電壓(例如,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可經組態以將擷取之感測器資料(SCM資料52)寫入至記憶體42。記憶體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)之本端非揮發性記憶體亦可用於一些實施例中。
在一實施例中,與CPU複合體14中的CPU處理器30相比,處理器40可為更小、更電力高效的處理器。因此,與CPU處理器30消耗的電力相比,處理器40可在作用中時消耗較少電力。在一實施例中,亦可存在與存在的CPU處理器30相比更少的處理器40。
SOC重組態電路46可經組態以儲存用於記憶體控制器22及SOC 10之其他組件的可程式化組態資料56,以回應於使組件自斷電狀態返回電力開啟而再程式化各種組件。替代地,可程式化組態資料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經電力開啟時重組態處理器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中之可程式化組態。在CPU處理器30已自重設釋放且再次開始執行之後,儲存於記憶體12中的可程式化組態資料之恢復可藉由SOC重組態電路46、其他硬體及/或作業系統軟體執行。
本端PMGR 48可經組態以以類似於用於作為整體之SOC 10的圖1中之PMGR 32的方式處置常開組件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。若感測器經組態以將需要處理器支援(來自處理器40)之信 號發送至常開組件16,則可支援此轉變。對於實施該信號之實施例,該信號可與指示感測器資料可用的信號分離。轉變可(例如)支援感測器資料之快速處理(例如篩選),或在需要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來處理資料。臨限值可包括(例如)記憶體42中之SCM資料52的相對充滿度、所獲取的感測器樣本之數目、自第一樣本以來經過之時間、未由樣本觸發的喚醒計時器、錯誤偵測等等。可使用一或多個臨限值之任何集合,且不同臨限值可用於不同感測器。若達到臨限值,則狀態機可自擷取狀態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置於自我再新中且SOC 10組件電力切斷之前寫入至記憶體12的。因此,在返回至SOC接通狀態68後,可執行根據組態資料56的狀態再程式化且接著軟體可基於儲存於記憶體12中的資料繼續執行。例如,相較於不包括常開組件16時,轉變可相對快速。在此情況下,軟體可開始正常冷啟動程序。在程序中之某一點處,軟體可認識到已發生對RAM的暫時中止,但可能已在程序中之彼點處執行某一不必要初始化處理。
一般而言,亦可執行在較低電力狀態中執行的操作,同時狀態機亦為較高電力狀態中之任一者。舉例而言,亦可在狀態機處於處理狀態64、記憶體存取狀態66及SOC接通狀態68中時(例如,若在狀態機為其他狀態中的任一者時發生引起SCM 44擷取資料的觸發中之一者)執行感測器資料擷取。類似地,處理器40可在處理狀態64、記憶體存取狀態66及SOC接通狀態68中之任一者中處於作用中且因此可在此等狀態中之任一者中處理資料。
若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 10大體上可被視為在SOC接通狀態72中處於作用中。SOC接通狀態72可對應於圖3之實施例中的SOC接通狀態68。
在SOC接通狀態72中,在CPU複合體14上執行的軟體可判定SOC 10應去至低電力狀態(例如睡眠)。在一實施例中,軟體可執行「暫時中止RAM」操作,其中各種SOC狀態在使SOC 10電力切斷之前經寫入至記憶體12。可將記憶體12置於「自我再新」模式中,在該模式中,記憶體維持記憶體內容但在至記憶體控制器22之記憶體介面上處於非作用中。PMGR 32可傳達電力切斷命令至PMU 156以引起SOC 10中之除記憶體控制器22、網狀架構27(或用於與記憶體控制器22通信的其部分)及常開組件16以外的組件電力切斷。替代地,本端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重組態記憶體控制器22及通信網狀架構27)。在一些實施例中,可支援自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之一項實施例回應於常開組件16中之判定的操作的流程圖,該判定為將再次對SOC 10之一或多個組件電力開啟。舉例而言,圖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)的轉變。
傳輸可採取任何形式(例如,程式化輸入/輸出(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之低層級啟動程式碼、解密及/或鑑認低層級啟動程式碼及起始低層級啟動程式碼。低層級啟動程式碼可發現SOC 10之各種組件且可初始化該等組件。一般而言,初始化之量、待初始化之組件及藉由低層級啟動程式碼初始化組件所至的狀態可根據核心程式碼(核心區塊104)之設計來控制。亦即,低層級啟動程式碼可在系統/SOC 10中生 成預期在核心程式碼執行其第一指令時所處的狀態。核心程式碼可為作業系統之中心核心,從而管理SOC 10之資源以供在系統中執行之各種應用程式使用。
當使用重組態機制再次電力開啟時,可避免ROM載入100。重組態機制(區塊106)可具有與低層級啟動102相同之效應,但在一些情況下可比低層級啟動程式碼更快速。在最壞的情況下,重組態機制106可具有與低層級啟動102相同的延時。在重組態機制106結束時,核心104可準備好執行。藉由箭頭108指示使用重組態機制之延時減少。
在另一實施例中,可藉由自低層級啟動程式碼導出重組態程式碼及將程式碼儲存在可在電力開啟事件後由CPU處理器30存取的位置中(例如,在諸如SOC 10中或耦接至SOC 10之快閃記憶體之非揮發性記憶體中)來實施重組態機制106。在電力開啟及重設CPU處理器30之後,CPU處理器30可自重設釋放至指向該位置之重設向量,以使得可執行重組態程式碼。重組態程式碼可以至核心之呼叫終止。
圖9為針對一項實施例說明用以減少喚醒延時的推測之使用的方塊圖。一般而言,可在任何層級(例如,圖3與圖4之狀態之間的任何轉變)處使用諸如圖9中所展示之推測來減少延時。當於推測性地對電路電力開啟及電力切斷返回(在推測不正確時)中消耗一些電力時,相當精確的推測可為良好電力/效能權衡。類似於圖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、RAMBUS DRAM、DDR DRAM之低電力版本(例如,LPDDR、mDDR等)等)。外部記憶體12可包括記憶體器件安裝至之一或多個記憶體模組,諸如單列直插式記憶體模組(SIMM)、雙列直插式記憶體模組(DIMM)等。替代地,外部記憶體12可包括以疊層晶片或疊層封裝實施安裝於SOC 10上之一或多個記憶體器件。
圖11為展示電腦可存取儲存媒體200之一項實施例之方塊圖。一般而言,電腦可存取儲存媒體可包括可由電腦在使用期間存取以將指令及/或資料提供至電腦之任何儲存媒體。舉例而言,電腦可存取儲存媒體可包括諸如磁性媒體或光學媒體之儲存媒體,例如,磁碟(固定式或可抽取式)、磁帶、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW,或藍光(Blu-Ray)。儲存媒體可進一步包括揮發性或非揮發性記憶體媒體,諸如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之操作的指令。攜載媒體可包括電腦可存取儲存媒體以及諸如有線或無線傳輸之傳輸媒體。
對於熟習此項技術者而言,一旦已完全瞭解上述揭示內容,無數變化及修改便將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
10‧‧‧系統單晶片(SOC)
12‧‧‧記憶體
14‧‧‧中央處理單元複合體
16‧‧‧常開組件
18A‧‧‧周邊器件
18B‧‧‧周邊器件
20‧‧‧感測器
22‧‧‧記憶體控制器(MC)
24‧‧‧虛線
26‧‧‧虛線
27‧‧‧通信網狀架構
30‧‧‧處理器
32‧‧‧電力管理器(PMGR)
156‧‧‧電力管理單元(PMU)

Claims (20)

  1. 一種積體電路,其包含:至少一個處理器,其在該積體電路中形成一中央處理單元;一記憶體控制器,其經組態以在使用期間耦接至一記憶體;及一第一組件,其耦接至該處理器及該記憶體控制器,其中該第一組件經組態以在該處理器及該記憶體控制器斷電時保持供電,且其中該第一組件經組態以使該記憶體控制器電力開啟、以使用儲存在該第一組件中的記憶體控制器組態資料程式化該記憶體控制器及以在該處理器電力切斷的一時間期間與該記憶體控制器通信。
  2. 如請求項1之積體電路,其中該記憶體控制器組態資料表示在該記憶體控制器電力切斷時該記憶體控制器之一經程式化組態。
  3. 如請求項2之積體電路,其中該處理器經組態以回應於執行複數個指令而程式化該記憶體控制器,且其中該處理器經進一步組態以回應於執行該複數個指令而將該記憶體控制器組態資料寫入至該第一組件。
  4. 如請求項2之積體電路,其進一步包含複數個組件,其中該第一組件經進一步組態以儲存表示在該複數個組件電力切斷時該複數個組件中之每一者之該經程式化組態的組態資料。
  5. 如請求項4之積體電路,其中該第一組件經組態以回應於該複數個組件中之每一者電力開啟而使用該儲存之組態資料來程式化該複數個組件中之每一者。
  6. 如請求項5之積體電路,其中該處理器經組態以執行作業系統軟體,且其中該第一組件經組態以在該作業系統繼續該處理器上 的執行之前程式化該記憶體控制器及該複數個組件。
  7. 一種方法,其包含:使一積體電路中的一記憶體控制器、複數個組件及一處理器電力切斷,該積體電路亦包括在該記憶體控制器、該複數個組件及該處理器電力切斷的一時間期間保持電力開啟的一第一組件;在該電力切斷之後再次使該記憶體控制器電力開啟,由該第一組件引起該電力開啟,同時該處理器保持電力切斷;及使用來自該第一組件的組態資料重新初始化該記憶體控制器。
  8. 如請求項7之方法,其進一步包含:啟動包括該積體電路的一系統,其中該啟動包含初始化該記憶體控制器及該複數個組件;將表示該記憶體控制器之一經程式化組態的該組態資料寫入至該第一組件。
  9. 如請求項8之方法,其進一步包含將該複數個組件之該組態資料寫入至該第一組件。
  10. 如請求項9之方法,其進一步包含:在操作期間改變該經程式化組態;及更新該第一組件中的該組態資料以反映該經改變之組態。
  11. 如請求項10之方法,其進一步包含將該系統之一狀態寫入至該記憶體,該記憶體控制器在使該記憶體控制器、該複數個組件及該處理器電力切斷之前耦接至該記憶體。
  12. 如請求項9之方法,其進一步包含:使該複數個組件及該處理器電力開啟;及使用來自該第一組件的該組態資料重新初始化該複數個組件 及該處理器。
  13. 如請求項12之方法,其進一步包含該處理器執行作業系統軟體,其中在該處理器開始執行該作業系統軟體之前執行該重新初始化。
  14. 如請求項7之方法,其進一步包含:在該電力開啟及該重新初始化期間使該複數個組件及該處理器保持電力切斷;及該第一組件在該重新初始化之後與該記憶體控制器通信,同時該複數個組件及該處理器保持電力切斷。
  15. 如請求項14之方法,其進一步包含該第一組件判定需要與該記憶體控制器通信,其中該電力開啟係回應於該判定的。
  16. 一種系統,其包含:一記憶體;及一系統單晶片(SOC),其耦接至該記憶體,該SOC包括經組態以耦接至該記憶體且介接至該記憶體之一記憶體控制器,且該SOC進一步包括形成該系統之一中央處理單元(CPU)的至少一個處理器,且該SOC還進一步包括經組態以在該處理器及該記憶體控制器電力切斷時保持供電的一第一組件,其中該第一組件經組態以使該記憶體控制器經電力開啟且使用該第一組件中儲存的組態資料恢復該記憶體控制器之一狀態,以便在該處理器電力切斷的該時間期間與該記憶體通信。
  17. 如請求項16之系統,其中該SOC進一步包含具有一可程式化狀態的複數個組件,其中該組態資料進一步包括資料以恢復該複數個組件之該可程式化狀態及回應於供電給該複數個組件而恢復該複數個組件之該可程式化狀態。
  18. 如請求項17之系統,其中該處理器經組態以在使用期間執行作 業系統軟體,其中該處理器經組態以初始化該記憶體控制器之該狀態及該複數個組件之該可程式化狀態,且其中該第一組件經組態以在該處理器繼續執行之前恢復該狀態及該可程式化狀態。
  19. 如請求項18之系統,其中執行該作業系統軟體的該處理器經組態以在該記憶體控制器、該複數個組件及該處理器電力切斷之前將該系統之一狀態寫入至該記憶體。
  20. 如請求項19之系統,其中該記憶體在該記憶體控制器電力切斷的一時間期間處於一自我再新狀態。
TW104111311A 2014-05-29 2015-04-08 具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片 TW201602791A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462004319P 2014-05-29 2014-05-29
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

Publications (1)

Publication Number Publication Date
TW201602791A true TW201602791A (zh) 2016-01-16

Family

ID=52774591

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104111311A TW201602791A (zh) 2014-05-29 2015-04-08 具有重組態系統單晶片並支援儘記憶體通訊模式之常開處理器之系統單晶片

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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI791183B (zh) * 2020-09-16 2023-02-01 日商鎧俠股份有限公司 半導體裝置及晶片控制方法
TWI800702B (zh) * 2019-12-11 2023-05-01 瑞昱半導體股份有限公司 具有記憶體之晶片

Families Citing this family (14)

* Cited by examiner, † Cited by third party
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 智成電子股份有限公司 避免多餘記憶體存取的系統單晶片模組
CN113126740A (zh) * 2019-12-30 2021-07-16 美光科技公司 管理降低功率的存储器操作

Family Cites Families (53)

* Cited by examiner, † Cited by third party
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
JP2006107127A (ja) * 2004-10-05 2006-04-20 Nec Electronics Corp 半導体集積回路装置
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
US20140223214A1 (en) 2013-02-01 2014-08-07 Broadcom Corporation Dynamic power mode switching per rail
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI800702B (zh) * 2019-12-11 2023-05-01 瑞昱半導體股份有限公司 具有記憶體之晶片
US11880678B2 (en) 2019-12-11 2024-01-23 Realtek Semiconductor Corp. Chip having memory
TWI791183B (zh) * 2020-09-16 2023-02-01 日商鎧俠股份有限公司 半導體裝置及晶片控制方法
TWI823730B (zh) * 2020-09-16 2023-11-21 日商鎧俠股份有限公司 半導體裝置

Also Published As

Publication number Publication date
KR101805346B1 (ko) 2017-12-05
CN106462217A (zh) 2017-02-22
US9619377B2 (en) 2017-04-11
US10261894B2 (en) 2019-04-16
CN106462217B (zh) 2018-12-04
US20170177256A1 (en) 2017-06-22
DE112015002522B4 (de) 2022-05-25
DE112015002522T5 (de) 2017-03-09
US20150347287A1 (en) 2015-12-03
WO2015183377A1 (en) 2015-12-03
KR20160147954A (ko) 2016-12-23

Similar Documents

Publication Publication Date Title
US11079261B2 (en) System on a chip with always-on processor
US10915160B2 (en) System on a chip with fast wake from sleep
US10261894B2 (en) System on a chip with always-on processor which reconfigures SOC and supports memory-only communication mode
US9959124B1 (en) Secure bypass of low-level configuration in reconfiguration of a computing system
US20150362980A1 (en) Always-On Processor as a Coprocessor
KR101930183B1 (ko) 명령어 세트 아키텍처의 상이한 부분들을 구현하는 다수의 비유사 프로세서 코어들을 포함하는 프로세서
WO2012050773A1 (en) Hardware dynamic cache power management
KR101930659B1 (ko) 다수의 비유사 프로세서 코어들을 포함하는 프로세서
JP2014016782A (ja) 情報処理装置およびプログラム
US9659616B2 (en) Configuration fuse data management in a partial power-on state
JP5913770B2 (ja) 回転式のディスクを備える記憶装置のパワー・ステートを制御する方法および携帯式コンピュータ
WO2021233363A1 (zh) 计算设备及其bios更新方法和介质