TWI517033B - 用於降低功耗之轉換方法與其運算裝置 - Google Patents
用於降低功耗之轉換方法與其運算裝置 Download PDFInfo
- Publication number
- TWI517033B TWI517033B TW103138897A TW103138897A TWI517033B TW I517033 B TWI517033 B TW I517033B TW 103138897 A TW103138897 A TW 103138897A TW 103138897 A TW103138897 A TW 103138897A TW I517033 B TWI517033 B TW I517033B
- Authority
- TW
- Taiwan
- Prior art keywords
- instruction
- power
- unit
- string
- processing unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4418—Suspend and resume; Hibernate and awake
-
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Description
本案揭露有關於一種用於降低功耗之轉換方法與其運算裝置。
近年來低功率芯片的設計技術陸續地被開發,以降低功耗並進一步地延長行動裝置(mobile device)的電池壽命(battery lifetime)。舉例來說,常閉運算(normally-off computing)是一種降低功耗的技術。常閉運算功能可以利用功率閘控(power-gating)與包含有非依電部(non-volatile part)的記憶體元件來降低功率消耗。然而,現有硬體尚無法支援常閉運算功能。
本案揭露一種降低功耗之轉換方法與其運算裝置,以支援常閉運算功能。
本案的一實施範例揭露一運算裝置。所述運算裝置包括轉換單元、資料儲存單元以及指令處理單元。該轉換單元接收第一指令串(instruction sequence),以及在省電模式中混合具有與該第一指令串執行相同功能的第二指令串與至少一特殊指令而獲得並輸出第三指令串。其中,該第一指令串中的每一指令均屬於一指令集,而所述至少一特殊指令不屬於該指令集。該資料儲存單元包含依電部(volatile part)與非依電部(non-volatile part)。該指令處理單元耦接至該轉換單元與該資料儲存單元。該指令處理單元處理該第三指令串以及依照所述至少一特殊指令管理該資料儲存單元的儲存狀態。
在一可實施例中,其中的至少一特殊指令包括資料備份指令與資料回存指令。當該指令處理單元執行該第三指令串中的所述資料備份指令時,由該指令處理單元觸發該資料儲存單元以將該依電部的資料儲存至該非依電部,以及在該依電部的資料儲存至該非依電部後停止供電給該依電部與該非依電部。當該指令處理單元執行該第三指令串中的所述資料回存指令時,由該指令處理單元觸發該資料儲存單元以供電給該依電部與該非依電部,以及將前述儲存至該非依電部的資料回存至該依電部。
在一可實施例中,其中的至少一特殊指令包括資料備份指令、斷電指令、供電指令與資料回存指令。當該指令處理單元執行該第三指令串中的所述資料備份指令時,由該指令處理單元觸發該資料儲存單元以將該依電部的資料儲存至該非依電部。當
該指令處理單元執行該第三指令串中的所述斷電指令時,由該指令處理單元觸發該資料儲存單元以停止供電給該依電部與該非依電部。當該指令處理單元執行該第三指令串中的所述供電指令時,由該指令處理單元觸發該資料儲存單元以恢復供電給該依電部與該非依電部。當該指令處理單元執行該第三指令串中的所述資料回存指令時,由該指令處理單元觸發該資料儲存單元以將前述儲存至該非依電部的資料回存至該依電部。
在一可實施例中,其中的資料儲存單元包括記憶體電路以及電力控制器。該記憶體電路耦接至該指令處理單元。該記憶體電路受控於該指令處理單元,而將該記憶體電路內的依電部的資料儲存至該記憶體電路內的非依電部,或是將該非依電部的資料回存至該依電部。該電力控制器耦接至該指令處理單元與該記憶體電路。該電力控制器受控於該指令處理單元,而停止供電給該記憶體電路,或是恢復供電給該記憶體電路。
在一可實施例中,其中的運算裝置更包括功率管理單元。該功率管理單元耦接至該轉換單元與該指令處理單元。其中,該指令處理單元執行用於運行作業系統的指令串;以及作業系統保存被中斷事件所中斷的行程之狀態,並且由服務該中斷事件的中斷服務常式觸發該功率管理單元輸出具有一值的模式切換信號至該轉換單元,該值指出上述的運算裝置處於該省電模式。
在一可實施例中,在接獲具有該值的該模式切換信號後,上述的轉換單元將所述至少一特殊指令插入該第二指令串而
獲得該第三指令串。
在一可實施例中,在該轉換單元基於該值設定轉換單元內的模式切換旗標後,依據被設定的該模式切換旗標,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的運算裝置更包括匯流排。該匯流排耦接至該轉換單元與該指令處理單元。其中,該轉換單元具有模式切換旗標;當作業系統的至少一功率管理行程決定切換上述的運算裝置的操作模式為該省電模式時,該指令處理單元執行用於模式切換的對應指令串並且經由該匯流排控制該轉換單元以設置該模式切換旗標;以及在該模式切換旗標被設置後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的運算裝置更包括狀態記憶體以及匯流排。該狀態記憶體具有模式切換旗標。該匯流排耦接至該狀態記憶體、該轉換單元與該指令處理單元。其中,當作業系統中的至少一功率管理行程決定切換上述的運算裝置的操作模式為該省電模式時,該指令處理單元執行用以模式切換的對應指令串並且經由該匯流排設置該狀態記憶體的該模式切換旗標;以及依據被該轉換單元檢查的該模式切換旗標,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的運算裝置更包括中斷控制器。
該中斷控制器耦接至該轉換單元。其中,當發生硬體中斷時,由該中斷控制器輸出具有一值的模式切換信號至該轉換單元,該值指出上述的運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的運算裝置更包括統計分析器。該統計分析器耦接至硬體模組以分析該硬體模組的操作狀況,並依據該硬體模組的操作狀況來決定是否輸出具有一值的模式切換信號至該轉換單元,該值指出上述的運算裝置處於該省電模式。在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的運算裝置更包括指令串偵測器。該指令串偵測器耦接至該轉換單元,以及從該第一指令串偵測預設的模式切換樣式。當該指令串偵測器從該第一指令串中發現預設的模式切換樣式時,該指令串偵測器輸出具有一值的模式切換信號至該轉換單元,該值指出上述的運算裝置處於該省電模式。在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
本案的一實施範例揭露一降低功耗之轉換方法。所述轉換方法包括:由運算裝置的轉換單元接收第一指令串,其中該第一指令串中的每一指令均屬於一指令集;在省電模式中,由該轉
換單元混合具有與該第一指令串執行相同功能的第二指令串與至少一特殊指令而獲得第三指令串,其中所述至少一特殊指令不屬於該指令集;由該運算裝置的指令處理單元處理該第三指令串,以及依照所述至少一特殊指令管理該運算裝置的資料儲存單元的儲存狀態,其中該資料儲存單元包含依電部與非依電部。
在一可實施例中,其中的第一指令串等於第二指令串。
在一可實施例中,在正常操作模式中,其中的轉換單元將該第一指令串輸出給該指令處理單元作為該第三指令串。
在一可實施例中,其中的至少一特殊指令包括資料備份指令與資料回存指令,而所述的降低功耗之轉換方法更包括:當該指令處理單元執行該第三指令串中的資料備份指令時,由該指令處理單元觸發該資料儲存單元,以將該依電部的資料儲存至該非依電部,以及在該依電部的資料儲存至該非依電部後,停止供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的資料回存指令時,由該指令處理單元觸發該資料儲存單元,以恢復供電給該依電部與該非依電部,以及將前述儲存至該非依電部的資料回存至該依電部。
在一可實施例中,其中的至少一特殊指令包括資料備份指令、斷電指令、供電指令與資料回存指令。所述的降低功耗之轉換方法更包括:當該指令處理單元執行該第三指令串中的資料備份指令時,由該指令處理單元觸發該資料儲存單元,以將該依電部的資料儲存至該非依電部;當該指令處理單元執行該第三指
令串中的斷電指令時,由該指令處理單元觸發該資料儲存單元,以停止供電給該依電部與該非依電部;當該指令處理單元執行該第三指令串中的供電指令時,由該指令處理單元觸發該資料儲存單元,以恢復供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的資料回存指令時,由該指令處理單元觸發該資料儲存單元,以將前述儲存至該非依電部的資料回存至該依電部。
在一可實施例中,其中的資料儲存單元包括記憶體電路與電力控制器。所述管理上述的資料儲存單元的儲存狀態的步驟包括:由受控於指令處理單元的該記憶體電路將該記憶體電路內的依電部的資料儲存至該記憶體電路內的非依電部,或是將該非依電部的資料回存至該依電部;以及由受控於該指令處理單元的該電力控制器停止供電給該記憶體電路,或是恢復供電給該記憶體電路。
在一可實施例中,上述的記憶體電路包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
在一可實施例中,其中的資料儲存單元包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
在一可實施例中,其中的至少一特殊指令包含多個記憶體群組指令,而該資料儲存單元包括耦接至該指令處理單元的多
個記憶體電路群組。該指令處理單元依照所述多個記憶體群組指令分別管理該些記憶體電路群組的儲存狀態。
在一可實施例中,降低功耗之轉換方法更包括:由該指令處理單元執行用於運行作業系統的指令串;保存被中斷事件所中斷的行程之狀態,並且接著由服務該中斷事件的中斷服務常式觸發該運算裝置的功率管理單元輸出具有一值的模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式。
在一可實施例中,其中的降低功耗之轉換方法更包括:在接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:在該轉換單元基於該值設定該轉換單元內的模式切換旗標;由該轉換單元檢查該模式切換旗標;以及依據被設定的該模式切換旗標,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:當作業系統中的功率管理行程決定切換操作模式為該省電模式時,由該指令處理單元執行用於模式切換的對應指令串並且經由匯流排控制該運算裝置的該轉換單元,以設置該轉換單元的模式切換旗標;以及在該模式切換旗標被設置後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:
當作業系統中的至少一功率管理行程決定切換該運算裝置的操作模式為該省電模式時,由該指令處理單元執行用以模式切換的對應指令串並且經由該運算裝置的匯流排設置該運算裝置的狀態記憶體的模式切換旗標;以及依據被該轉換單元檢查的該模式切換旗標,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:當發生硬體中斷時,由該運算裝置的中斷控制器輸出具有一值的模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:由該運算裝置的統計分析器分析硬體模組的操作狀況;依據該硬體模組的操作狀況,由該統計分析器決定是否輸出具有一值的模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
在一可實施例中,其中的降低功耗之轉換方法更包括:由該運算裝置的指令串偵測器從該第一指令串偵測預設的模式切換樣式;當該指令串偵測器從該第一指令串中發現預設的模式切
換樣式時,由該指令串偵測器輸出具有一值的模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
基於上述,本案所揭露的降低功耗之轉換方法與其運算裝置實施範例配置了轉換單元。該轉換單元可以接收第一指令串,而在該第一指令串中的每一個指令均屬於一指令集。在省電模式中,該轉換單元可以混合具有與該第一指令串相同功能的第二指令串與至少一特殊指令而獲得並輸出第三指令串,其中所述至少一特殊指令不屬於該指令集。指令處理單元可以依照所述至少一特殊指令來管理資料儲存單元的儲存狀態。因此,本案所揭露的降低功耗之轉換方法與其運算裝置可以支援常閉運算功能。
為讓本案揭露的上述特徵和優點能更明顯易懂,下文特舉實施範例,並配合所附圖式作詳細說明如下。
100‧‧‧運算裝置
110‧‧‧轉換單元
120‧‧‧指令處理單元
130‧‧‧資料儲存單元
131‧‧‧依電部
132‧‧‧非依電部
800‧‧‧運算裝置
810‧‧‧指令記憶體
820‧‧‧指令提取單元
830‧‧‧功率管理單元
840‧‧‧電力控制器
850‧‧‧記憶體電路
900‧‧‧運算裝置
1000‧‧‧運算裝置
1010‧‧‧直接記憶體存取控制器
1020‧‧‧指令緩衝器
1100‧‧‧運算裝置
1130‧‧‧匯流排
1200‧‧‧運算裝置
1210‧‧‧狀態記憶體
1300‧‧‧運算裝置
1310‧‧‧中斷控制器
1400‧‧‧運算裝置
1410‧‧‧統計分析器
1500‧‧‧運算裝置
1510‧‧‧指令串偵測器
IS1‧‧‧第一指令串
IS2‧‧‧第二指令串
IS3‧‧‧第三指令串
S210~S230‧‧‧步驟
Sm‧‧‧模式切換信號
圖1是依照本案一實施例說明一種運算裝置的電路方塊示意圖。
圖2是依照本案一實施例說明一種降低功耗之轉換方法的流程示意圖。
圖3是依照本案一實施例說明圖1所示指令串的示意圖。
圖4是依照本案另一實施例說明圖1所示指令串的示意圖。
圖5是依照本案又一實施例說明圖1所示指令串的示意圖。
圖6是依照本案再一實施例說明圖1所示指令串的示意圖。
圖7是依照本案更一實施例說明圖1所示指令串的示意圖。
圖8是依照本案另一實施例說明一種運算裝置的電路方塊示意圖。
圖9是依照本案又一實施例說明一種運算裝置的電路方塊示意圖。
圖10是依照本案更一實施例說明一種運算裝置的電路方塊示意圖。
圖11是依照本案另一實施例說明一種運算裝置的電路方塊示意圖。
圖12是依照本案更一實施例說明一種運算裝置的電路方塊示意圖。
圖13是依照本案更一實施例說明一種運算裝置的電路方塊示意圖。
圖14是依照本案更一實施例說明一種運算裝置的電路方塊示意圖。
圖15是依照本案更一實施例說明一種運算裝置的電路方塊示意圖。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
圖1是依照本案一實施例說明一種運算裝置100的電路方塊示意圖。運算裝置100包括轉換單元110、指令處理單元120以及資料儲存單元130。在一實施例中,當運算裝置100操作於正常操作模式時,轉換單元110可以將第一指令串IS1轉換為具有與第一指令串IS1相同功能的第二指令串IS2,然後將此第二指令串IS2輸出給指令處理單元120作為第三指令串IS3。在一些實施例中,所述第二指令串IS2的諸指令不同於第一指令串IS1的指令,但所述第二指令串IS2的功能相同於第一指令串IS1的功能。在另一些實施例中,第一指令串IS1等於所述第二指令串IS2。在另一些實施例中,當運算裝置100操作於正常操作模式時,轉換單元110可以將第一指令串IS1直接輸出給指令處理單元120作為第三指令串IS3。資料儲存單元130可以存儲備份資料。在一些實施例中(但不限於此),資料儲存單元130可以是包含了依電部
(volatile part)131和非依電部(non-volatile part)132的混合型存儲器(hybrid memory)、非依電性記憶體(nonvolatile memory)或是其他存儲備份資料的記憶體。舉例來說,資料儲存單元130可能包括非依電性靜態隨機存取記憶體(non-volatile static random access memory,NV-SRAM)、非依電性動態隨機存取記憶體(non-volatile dynamic random access memory,NV-DRAM)、以及/或是非依電性正反器(non-volatile flip-flop,NV-FF)。
圖2是依照本案一實施例說明一種降低功耗之轉換方法的流程示意圖。請參照圖1與圖2,轉換單元110於步驟S210中接收第一指令串(instruction sequence)IS1,在該第一指令串IS1中的每一個指令均屬於一指令集。
在一些實施例中,當運算裝置100操作於正常操作模式時,轉換單元110可以將第一指令串IS1轉換為具有與第一指令串IS1相同功能的第二指令串,然後將此第二指令串輸出給指令處理單元120作為第三指令串IS3。在一些實施例中,所述第二指令串的指令不同於第一指令串IS1的指令,但所述第二指令串的功能相同於第一指令串IS1的功能。在另一些實施例中,第一指令串IS1等於所述第二指令串。在另一些實施例中,當運算裝置100操作於正常操作模式時,轉換單元110可以將第一指令串IS1直接輸出給指令處理單元120作為第三指令串IS3。
在省電模式中,轉換單元110可以混合具有與第一指令串IS1相同功能的第二指令串與至少一特殊指令,而獲得並輸出
第三指令串IS3(步驟S220)。其中,第一指令串IS1中的每一個指令均屬於該指令集,而所述至少一特殊指令不屬於該指令集。
指令處理單元120耦接至轉換單元110與資料儲存單元130。指令處理單元120於步驟S230中可以處理轉換單元110所提供的第三指令串IS3,以及依照所述至少一特殊指令來管理資料儲存單元130的儲存狀態。
在一些實施例中(但不限於此),所述至少一特殊指令包括資料備份指令與/或資料回存(restore)指令。當指令處理單元120執行第三指令串IS3中的資料備份指令時,指令處理單元120可以觸發資料儲存單元130,以將依電部131的資料儲存至非依電部132,以及在依電部131的資料儲存至非依電部132後停止供電給依電部131與非依電部132。當指令處理單元120執行第三指令串IS3中的資料回存指令時,指令處理單元120觸發資料儲存單元130,以供電給依電部131與非依電部132,以及將前述儲存至非依電部132的資料回存至依電部131。
在另一些實施例中(但不限於此),所述至少一特殊指令可以包括資料備份指令、斷電(power-off)指令、供電(power-on)指令以及/或是資料回存指令。當指令處理單元120執行第三指令串IS3中的資料備份指令時,指令處理單元120觸發資料儲存單元130,以將依電部131的資料儲存至非依電部132。所述資料備份指令可以將依電部131的資料儲存於非依電部132,使得非依電部132的儲存狀態有變化。當指令處理單元120執行第三指令串
IS3中的斷電指令時,指令處理單元120觸發資料儲存單元130,以停止供電給依電部131與非依電部132。所述斷電指令可以停止供電給依電部131,而使依電部131的資料遺失(依電部131的儲存狀態有變化)。當指令處理單元120執行第三指令串IS3中的供電指令時,指令處理單元120觸發資料儲存單元130,以恢復供電給依電部131與非依電部132。所述供電指令可以恢復供電給依電部131,而使依電部131得以儲存資料(初始值或是未知值)。當指令處理單元120執行第三指令串IS3中的資料回存指令時,指令處理單元120觸發資料儲存單元130,以將前述儲存至非依電部132的資料回存至依電部131。所述資料回存指令可以使非依電部132的資料回存至依電部131,使得依電部131的儲存狀態變化。
因此,指令處理單元120可以依照第三指令串IS3中的所述至少一特殊指令來管理資料儲存單元130的儲存狀態。本實施例所提供的降低功耗之轉換方法與其運算裝置100配置了轉換單元110,因此可以支援常閉運算功能。
圖3是依照本案一實施例說明圖1所示指令串的示意圖。在此假設第一指令串IS1等於所述第二指令串。請參照圖1與圖3,在省電模式中,轉換單元110可以混合所述第二指令串(在此為第一指令串IS1)與至少一特殊指令(在此例為資料備份指令、斷電指令、供電指令以及資料回存指令,但不以此為限),而獲得並輸出第三指令串IS3。在本實施例中,在執行指令A1後,當運算裝置100可能將操作於省電模式時,所述至少一特殊指令
可以被安插於指令A1與A2之間。其中,第一指令串IS1中的每一個指令均屬於一指令集,而所述至少一特殊指令不屬於該指令集。當指令處理單元120執行第三指令串IS3中的「資料備份指令」時,指令處理單元120觸發資料儲存單元130,以將依電部131的資料儲存至非依電部132。當指令處理單元120執行第三指令串IS3中的「斷電指令」時,指令處理單元120觸發資料儲存單元130,以停止供電給依電部131與非依電部132。當指令處理單元120執行第三指令串IS3中的「供電指令」時,指令處理單元120觸發資料儲存單元130,以恢復供電給依電部131與非依電部132。當指令處理單元120執行第三指令串IS3中的「資料回存指令」時,指令處理單元120觸發資料儲存單元130,以將前述儲存至非依電部132的資料回存至依電部131。
在另一些實施例中,圖3所示斷電指令與供電指令可能會被省略。當指令處理單元120執行第三指令串IS3中的「資料備份指令」時,指令處理單元120可以觸發資料儲存單元130,以將依電部131的資料儲存至非依電部132,以及在依電部131的資料儲存至非依電部132後停止供電給依電部131與非依電部132。當指令處理單元120執行第三指令串IS3中的「資料回存指令」時,指令處理單元120觸發資料儲存單元130,以恢復供電給依電部131與非依電部132,以及將前述儲存至非依電部132的資料回存至依電部131。
圖4是依照本案另一實施例說明圖1所示指令串的示意
圖。請參照圖1與圖4,在省電模式中,轉換單元110可以將第一指令串IS1轉換為具有與第一指令串IS1相同功能的第二指令串IS2,然後轉換單元110可以混合第二指令串IS2與至少一特殊指令(在此例為資料備份指令、斷電指令、供電指令以及資料回存指令,但不以此為限),而獲得並輸出第三指令串IS3。在本實施例中,在執行指令B1後,當運算裝置100可能將操作於省電模式時,所述至少一特殊指令可以被安插於指令B1與B2之間。圖4所示資料備份指令、斷電指令、供電指令以及資料回存指令可以參照圖3的相關說明而類推之,故不再贅述。
圖5是依照本案又一實施例說明圖1所示指令串的示意圖。請參照圖1與圖5,在此假設轉換單元110直接將第一指令串IS1作為所述第二指令串。在省電模式中,轉換單元110可以混合所述第二指令串(在此為第一指令串IS1)與至少一特殊指令,而獲得並輸出第三指令串IS3。在本實施例中,在執行指令A1後,當運算裝置100可能將操作於省電模式時,所述至少一特殊指令可以被安插於指令A1與A2之間。於本實施例中,資料儲存單元130可以包括多個記憶體電路群組,這些記憶體電路群組耦接至指令處理單元120。於本實施例中,所述至少一特殊指令包含多個記憶體群組指令。舉例來說,所述多個記憶體群組指令可能包括分別對應於不同記憶體電路群組的多個「資料備份指令」、多個「斷電指令」、多個「供電指令」、以及多個「資料回存指令」,但不以此為限。指令處理單元120可以依照第三指令串IS3中的所述多
個記憶體群組指令來分別管理資料儲存單元130中的這些記憶體電路群組的儲存狀態。圖5所示資料備份指令、斷電指令、供電指令以及資料回存指令可以參照圖3的相關說明而類推之,故不再贅述。
在另一些實施例中,圖5所示多個記憶體群組指令(在此例為多個資料備份指令、多個斷電指令、多個供電指令以及多個資料回存指令,但不以此為限)可以被混合至圖4所述第二指令串IS2中,而獲得第三指令串IS3。
圖6是依照本案再一實施例說明圖1所示指令串的示意圖。請參照圖1與圖6,在此假設轉換單元110直接將第一指令串IS1作為所述第二指令串。在省電模式中,轉換單元110可以混合所述第二指令串(在此為第一指令串IS1)與至少一特殊指令(在此例為資料備份指令、斷電指令、供電指令以及資料回存指令,但不以此為限),而獲得並輸出第三指令串IS3。於本實施例中,資料儲存單元130可以包括多個記憶體電路群組,而轉換單元110還可以依據這些記憶體電路群組的使用狀況來將對應特殊指令混合至所述第二指令串(在此為第一指令串IS1)。舉例來說,假設運算裝置100具有16個記憶體電路群組(例如R1~R16,作為暫存器使用)以及2個記憶體電路群組(例如MEM以及MEM1,作為2個非重疊記憶體存取區域使用)。在執行第二指令串(在此相同於第一指令串IS1)中的指令「LDR R1,[R3]」後,假設運算裝置100所運行的系統電源模式被從正常操作模式改變為省電模
式,且同時資料儲存單元130中的記憶體電路群組R2、R4-R15以及MEM1(此記憶體存取區域與被前述指令「LDR R1,[R3]」所使用的記憶體存取區域MEM沒有重疊)未被使用。未被使用的記憶體電路群組R2、R4-R15以及MEM1並不需要進行資料備份。於本實施例中,資料儲存單元130中的記憶體電路群組R0、R1、R3以及MEM已被使用。因此,在省電模式中,轉換單元110可以將資料備份指令(如圖6所示「STORE R0」、「STORE R3」、「STORE R1」與「STORE MEM」)、斷電指令(如圖6所示「OFF 100」)、供電指令(如圖6所示「ON」)以及資料回存指令(如圖6所示「RESTORE R0」、「RESTORE R3」、「RESTORE R1」與「RESTORE MEM」)混合至所述第二指令串(在此為第一指令串IS1),而獲得並輸出第三指令串IS3。於本實施例中,斷電指令「OFF 100」表示資料儲存單元130中的記憶體電路群組的電源關閉期間為100ms。
圖6所示資料備份指令(即「STORE R0」、「STORE R3」、「STORE R1」與「STORE MEM」)、斷電指令(即「OFF 100」)、供電指令(即「ON」)以及資料回存指令(即「RESTORE R0」、「RESTORE R3」、「RESTORE R1」與「RESTORE MEM」)可以參照圖3或圖5所示資料備份指令、斷電指令、供電指令以及資料回存指令的相關說明而類推之,故不再贅述。在另一些實施例中,圖6所示實施例可以被應用至圖4所示實施例中。
圖7是依照本案更一實施例說明圖1所示指令串的示意
圖。請參照圖1與圖7,在省電模式中,轉換單元110可以將第一指令串IS1轉換為具有與第一指令串IS1相同功能的第二指令串。
舉例來說,轉換單元110可以將第一指令串IS1中的指令「LDR R2,[R3,8]」、「SUB R1,R1,R2」、「MOV R2,R1」與「MUL R1,R1,R2」轉換為具有相同功能的第二指令串「LDR R4,[R3,8]」、「SUB R1,R1,R4」、「MOV R4,R1」與「MUL R1,R1,R4」。然後,轉換單元110可以混合所述第二指令串與至少一特殊指令(在此例為資料備份指令、斷電指令、供電指令以及資料回存指令,但不以此為限),而獲得並輸出第三指令串IS3。圖7所示,轉換第一指令串IS1(具有與第二指令串相同的功能)的實施例可以參照圖4所示實施例的相關說明,故不再贅述。
於本實施例中,資料儲存單元130可以包括多個記憶體電路群組,而轉換單元110還可以依據這些記憶體電路群組的使用狀況來將對應特殊指令混合至所述第二指令串。舉例來說,假設運算裝置100具有16個記憶體電路群組(例如R1~R16,作為暫存器使用)以及2個記憶體電路群組(例如MEM以及MEM1,作為2個非重疊記憶體存取區域使用)。在執行第二指令串(在此例相同於第一指令串IS1)中的指令「LDR R1,[R3]」後,假設運算裝置100所運行的系統電源模式被從正常操作模式改變為省電模式,且同時資料儲存單元130中的記憶體電路群組R2、R4-R15以及MEM1(此記憶體存取區域與被前述指令「LDR R1,[R3]」所使用的記憶體存取區域MEM沒有重疊)未被使用。未被使用的記
憶體電路群組R2、R4-R15以及MEM1並不需要進行資料備份。於本實施例中,資料儲存單元130中的記憶體電路群組R0、R1、R3以及MEM已被使用。因此,在省電模式中,轉換單元110可以將資料備份指令(如圖7所示「STORE R0」、「STORE R3」、「STORE R1」與「STORE MEM」)、斷電指令(如圖7所示「OFF 100」)、供電指令(如圖7所示「ON」)以及資料回存指令(如圖7所示「RESTORE R0」、「RESTORE R3」、「RESTORE R1」與「RESTORE MEM」)混合至所述第二指令串,而獲得並輸出圖7所示第三指令串IS3。圖7所示資料備份指令(即「STORE R0」、「STORE R3」、「STORE R1」與「STORE MEM」)、斷電指令(即「OFF 100」)、供電指令(即「ON」)以及資料回存指令(即「RESTORE R0」、「RESTORE R3」、「RESTORE R1」與「RESTORE MEM」)可以參照圖3、圖5、或圖6所示資料備份指令、斷電指令、供電指令以及資料回存指令的相關說明而類推之,故不再贅述。
圖8是依照本案另一實施例說明一種運算裝置800的電路方塊示意圖。運算裝置800包括指令記憶體810、指令提取單元820、功率管理單元(power management unit,PMU)830、介面(interface)860、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置800。圖8所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1與圖2的相關說明而類推。於圖8所示實施例中,指令處理單元120
可以包含指令解碼單元(instruction decoding unit)及/或指令執行單元(instruction execution unit)。
於圖8所示實施例中,指令記憶體810可以儲存程式的指令串。指令提取單元820耦接至指令記憶體810以提取指令,以及輸出第一指令串IS1給轉換單元110。當運算裝置800操作於正常操作模式時,轉換單元110可以將第一指令串IS1直接輸出給指令處理單元120作為第三指令串IS3。在另一些實施例中,當運算裝置800操作於正常操作模式時,轉換單元110可以將第一指令串IS1轉換/解碼為具有與第一指令串IS1相同功能的第二指令串,然後將此第二指令串作為第三指令串IS3輸出給指令處理單元120。在省電模式中,轉換單元110可以混合所述第二指令串與至少一特殊指令,而獲得並輸出第三指令串IS3。其中,第一指令串IS1的每一個指令均屬於一指令集,而所述至少一特殊指令不屬於該指令集。上述「混合所述第二指令串與至少一特殊指令而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。
指令處理單元120耦接至轉換單元110與資料儲存單元130。指令處理單元120可以處理轉換單元110所提供的第三指令串IS3,以及依照所述至少一特殊指令來管理資料儲存單元130的儲存狀態。於圖8所示實施例中,資料儲存單元130包括電力控制器840以及一個或多個記憶體電路850。電力控制器840耦接至指令處理單元120與記憶體電路850。電力控制器840受控於指令
處理單元120的電源控制信號,而停止供電給記憶體電路850,或是恢復供電給記憶體電路850。
記憶體電路850包括非依電性靜態隨機存取記憶體(NV-SRAM)、非依電性動態隨機存取記憶體(NV-DRAM)、非依電性正反器(NV-FF)以及/或是其他非依電性儲存裝置/電路。在一些實施例中,記憶體電路850可以是晶片。在另一些實施例中,記憶體電路850可以被內嵌於具有指令處理單元120的晶片中,或是被內嵌於具有運算裝置800的晶片中。記憶體電路850耦接至指令處理單元120。記憶體電路850受控於指令處理單元120,而將記憶體電路850的依電部131的資料儲存至記憶體電路850的非依電部132,或是將非依電部132的資料回存至依電部131。
功率管理單元830耦接至轉換單元110。功率管理單元830經由介面860耦接至指令處理單元120。當作業系統(Operating System,OS)運作於該系統的運算裝置800時,指令處理單元120執行用於運行作業系統的對應指令串。當發生中斷(interrupt)事件時,保存被中斷事件所中斷的行程(Process)之狀態,並且接著由服務該中斷事件的中斷服務常式(interrupt service routine,ISR)觸發功率管理單元830輸出具有一值的模式切換信號Sm至轉換單元110。該值指出該運算裝置的電源模式被從正常操作模式切換為省電模式。在轉換單元110接獲具有該值的模式切換信號Sm後,轉換單元110將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3。
在一些實施例中,當轉換單元110接獲具有該值的模式切換信號Sm時,轉換單元110可以基於模式切換信號Sm的該值設定轉換單元110內的模式切換旗標(mode switching flag)。若轉換單元110內的該模式切換旗標已被設定,則轉換單元110可以將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3。
作業系統的電源管理(power management)可以改變功率管理策略(power management policy),例如系統電源模式被從活動模式(active mode,即正常操作模式)切換到低功率模式(low-power mode,即省電模式)。當作業系統的電源管理改變當前功率管理策略時,作業系統將通過介面860對所述功率管理單元830進行組態設定(configure),以便產生具有該值的模式切換信號Sm到轉換單元110。當轉換單元110接收到具有該值的模式切換信號Sm時,轉換單元110內的該模式切換旗標可以被設定,以表示此時該系統處於省電模式。若轉換單元110的該模式切換旗標已被設定,則轉換單元110可以將第一指令串IS1轉換成第三指令串IS3。此第三指令串IS3可以包含用於常閉運算的指令(即前述至少一特殊指令,例如資料備份指令、斷電指令、供電指令以及/或是資料回存指令),以管理資料儲存單元130的儲存狀態。當指令處理單元120執行第三指令串IS3的資料備份指令時,指令處理單元120發出第一觸發信號到記憶體電路850。具有一值「DATA_BACKUP」的該第一觸發信號可以觸發記憶體電路850去進行存儲操作(store operation)。所述存儲操作意味著將記憶體
電路850內依電部131的資料儲存至記憶體電路850內的非依電部132中。依據不同的實施需求,指令處理單元120可能發出不同的第一觸發信號到不同的記憶體電路850,使得不同的記憶體電路850的所述存儲操作可以是彼此獨立進行的。
當指令處理單元120執行第三指令串IS3的斷電指令時,指令處理單元120發出具有一值「POWER_OFF」的電源控制信號給電力控制器840。該值「POWER_OFF」可以致能(enable)電力控制器840去進行對記憶體電路850的斷電操作。依據不同的實施需求,指令處理單元120可能發出不同的多個電源控制信號到電力控制器840,使得不同的記憶體電路850可以是彼此獨立地斷電。記憶體電路850的斷電期間可以是固定值,或者可以透過軟體或硬體來決定。例如,硬體模組的供電控制信號可以被發送到轉換單元110。在轉換單元110接收該供電控制信號之後,轉換單元110可以輸出供電指令給指令處理單元120。指令處理單元120接著可以執行供電指令。
當指令處理單元120執行第三指令串IS3的供電指令時,指令處理單元120發出具有一值「POWER_ON」的該電源控制信號給電力控制器840。電力控制器840將依照具有該值「POWER_ON」的該電源控制信號而恢復供電給記憶體電路850。依據不同的實施需求,指令處理單元120可能發出不同的多個電源控制信號到電力控制器840,使得不同的記憶體電路850可以是彼此獨立地恢復供電。
當指令處理單元120執行第三指令串IS3的資料回存指令時,指令處理單元120發出第二觸發信號給記憶體電路850。具有一值「DATA_RESTORE」的該第二觸發信號可以觸發記憶體電路850去進行回存操作(restore operation)。所述回存操作意味著將記憶體電路850內非依電部132的資料回存至記憶體電路850內的依電部131中。依據不同的實施需求,指令處理單元120可能發出不同的第二觸發信號到不同的記憶體電路850,使得不同的記憶體電路850的所述回存操作可以是彼此獨立進行的。從上述實施例可知,運算裝置800能夠實現/支持常閉運算功能。
圖9是依照本案又一實施例說明一種運算裝置900的電路方塊示意圖。運算裝置900包括指令記憶體810、指令提取單元820、轉換單元110、指令處理單元120、電力控制器840以及記憶體電路850。圖9所示實施例可以參照圖8的相關說明而類推。於圖9所示實施例中,轉換單元110耦接於指令記憶體810與指令提取單元820之間。轉換單元110可以從指令記憶體810提取第一指令串IS1,以及將第一指令串IS1轉換為第三指令串IS3。圖9所示轉換單元110的操作細節可以參照圖1至圖8的相關說明而類推,故不再贅述。
指令提取單元820可以從第三指令串IS3提取指令,以及/或是解碼第三指令串IS3中的指令。指令提取單元820輸出指令給指令處理單元120。一個指令串可以包括多個指令。指令處理單元120可以依照指令提取單元820所輸出指令串中的所述至少
一特殊指令來管理記憶體電路850的儲存狀態。
圖10是依照本案更一實施例說明一種運算裝置1000的電路方塊示意圖。運算裝置1000包括指令記憶體810、轉換單元110、直接記憶體存取(Direct Memory Access,簡稱DMA)控制器1010、指令緩衝器(Instruction Buffer)1020、指令提取單元820、指令處理單元120、電力控制器840以及記憶體電路850。圖10所示實施例可以參照圖1至圖9的相關說明而類推。於圖10所示實施例中,轉換單元110被內嵌於DMA控制器1010中。DMA控制器1010可以從指令記憶體810提取第一指令串IS1,以及將第一指令串IS1提供給轉換單元110。轉換單元110可以將第一指令串IS1轉換為第三指令串IS3,以及將第三指令串IS3輸出給指令緩衝器1020。圖10所示轉換單元110的操作細節可以參照圖1至圖9的相關說明而類推,故不再贅述。
指令提取單元820可以從指令緩衝器1020提取第三指令串IS3,以及/或是解碼第三指令串IS3中的指令。指令提取單元820輸出指令給指令處理單元120。一個指令串可以包括多個指令。指令處理單元120可以依照指令提取單元820所輸出指令串中的所述至少一特殊指令來管理記憶體電路850的儲存狀態。
圖11是依照本案另一實施例說明一種運算裝置1100的電路方塊示意圖。運算裝置1100包括指令記憶體810、指令提取單元820、匯流排(bus)1130、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置1100。圖
11所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1至圖10的相關說明而類推,故不再贅述。圖11所示運算裝置1100、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850可以參照圖8所示運算裝置800、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850的相關說明而類推,故不再贅述。
匯流排1130耦接至轉換單元110與指令處理單元120。轉換單元110具有模式切換旗標。當作業系統中的功率管理行程決定進行切換操作,而此切換操作將該系統的電源模式從正常操作模式切換為省電模式時,指令處理單元120執行用於模式切換的對應指令串並且經由匯流排1130控制轉換單元110,以設置(set)轉換單元110內的該模式切換旗標。在該模式切換旗標被設置後,轉換單元110可以將所述至少一特殊指令插入所述第二指令串(所述第二指令串的功能相同於第一指令串IS1的功能)而獲得第三指令串IS3。前述「將所述至少一特殊指令插入所述第二指令串而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。
作業系統運行於該系統的運算裝置1100,而指令處理單元120執行用以運行作業系統的多個指令串。當作業系統的電源管理改變功率管理策略(例如,將該系統的電源模式從正常操作模式切換到省電模式)時,指令處理單元120將透過匯流排1130將利用具有一值的模式切換信號Sm來設定轉換單元110的該模式
切換旗標。該值指出該系統的電源模式被從正常操作模式切換為省電模式。在轉換單元110的該模式切換旗標被設定後,轉換單元110可以將第一指令串IS1轉換成第三指令串IS3。第三指令串IS3可以包含用於常閉運算的指令(即前述至少一特殊指令,例如資料備份指令、斷電指令、供電指令以及/或是資料回存指令),以管理資料儲存單元130的儲存狀態。
當作業系統的第二功率管理行程決定進行第二切換操作(將該系統的電源模式從省電模式切換為正常操作模式)時,指令處理單元120可以執行用來模式切換的對應指令串,以及透過匯流排1130控制轉換單元110,以重置(reset或unset)轉換單元110的該模式切換旗標。在該模式切換旗標被重置後,轉換單元110可以將第一指令串IS1轉換成具有與第一指令串IS1相同功能的第二指令串,然後輸出此第二指令串給指令處理單元120作為第三指令串IS3。
圖12是依照本案更一實施例說明一種運算裝置1200的電路方塊示意圖。運算裝置1200包括指令記憶體810、指令提取單元820、匯流排1130、狀態記憶體1210、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置1200。圖12所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1至圖11的相關說明而類推,故不再贅述。圖12所示運算裝置1200、指令記憶體810、指令提取單元820、匯流排1130、電力控制器840以及記憶體電路850可以參照圖11
所示運算裝置1100、指令記憶體810、指令提取單元820、匯流排1130、電力控制器840以及記憶體電路850的相關說明而類推,故不再贅述。
狀態記憶體1210具有模式切換旗標。匯流排1130耦接至狀態記憶體1210、轉換單元110與指令處理單元120。當作業系統中的功率管理行程決定進行一切換操作(將該系統的電源模式從正常操作模式切換為省電模式)時,指令處理單元120執行用來模式切換的對應指令串,並且經由匯流排1130設置狀態記憶體1210內的該模式切換旗標。轉換單元110可以定時或不定時地經由匯流排1130檢查狀態記憶體1210內的該模式切換旗標。依照該模式切換旗標,轉換單元110可以將所述至少一特殊指令插入具有與第一指令串IS1相同功能的第二指令串,而獲得第三指令串IS3。前述「將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。
當作業系統的第二功率管理行程決定進行第二切換操作(將該系統的電源模式從省電模式切換為正常操作模式)時,指令處理單元120可以執行用來模式切換的對應指令串,以及透過匯流排1130重置(reset或unset)在狀態記憶體1210內的該模式切換旗標。轉換單元110可以透過匯流排1130定期或不定期地檢查在狀態記憶體1210內的該模式切換旗標。在狀態記憶體1210內的該模式切換旗標被重置且被轉換單元110讀取後,轉換單元
110可以將第一指令串IS1轉換成具有與第一指令串IS1相同功能的第二指令串,然後輸出此第二指令串給指令處理單元120作為第三指令串IS3。
圖13是依照本案更一實施例說明一種運算裝置1300的電路方塊示意圖。運算裝置1300包括指令記憶體810、指令提取單元820、中斷控制器(interrupt controller)1310、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置1300。圖13所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1至圖12的相關說明而類推,故不再贅述。圖13所示運算裝置1300、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850可以參照圖8所示運算裝置800、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850的相關說明而類推,故不再贅述。
中斷控制器1310耦接至轉換單元110。中斷控制器1310可以偵測硬體中斷是否發生,此硬體中斷指出該系統的電源模式被從正常操作模式改變為省電模式。舉例來說,中斷控制器1310可以藉由監測(monitoring)該系統外部或內部一硬體模組所輸出的中斷信號的值來偵測硬體中斷。如果該系統的電源模式被從正常操作模式切換到省電模式時,所述硬體模組可以發出該中斷信號(表示發生硬體中斷)到中斷控制器1310。當發生硬體中斷時,中斷控制器1310輸出模式切換信號Sm至轉換單元110。在轉換單元110接獲具有一值(該值指出該系統的電源模式被從正常操
作模式改變到省電模式)的模式切換信號Sm後,轉換單元110的模式切換旗標可以被設定,以表示此時該系統處於省電模式。在該模式切換旗標被設定後,轉換單元110可以將所述至少一特殊指令插入具有與第一指令串IS1相同功能的第二指令串而獲得第三指令串IS3。前述「將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。
中斷控制器1310耦接至轉換單元110。中斷控制器1310可以偵測第二硬體中斷是否發生,此第二硬體中斷指出該系統的電源模式被從省電模式改變為正常操作模式。舉例來說,中斷控制器1310可以藉由監測該系統外部或內部的所述硬體模組所輸出的第二中斷信號的值來偵測硬體中斷。如果該系統的電源模式被從省電模式切換到正常操作模式時,所述硬體模組可以發出該第二中斷信號(表示發生第二硬體中斷)到中斷控制器1310。當發生第二硬體中斷時,中斷控制器1310輸出模式切換信號Sm至轉換單元110。在轉換單元110接獲具有一第二值(該第二值指出該系統的電源模式被從省電模式改變到正常操作模式)的模式切換信號Sm後,轉換單元110的該模式切換旗標可以被重設(reset或unset),以表示此時該系統處於正常操作模式。在該模式切換旗標被重設後,轉換單元110可以將第一指令串IS1轉換成具有與第一指令串IS1相同功能的第二指令串,然後輸出此第二指令串給指令處理單元120作為第三指令串IS3。
圖14是依照本案更一實施例說明一種運算裝置1400的電路方塊示意圖。運算裝置1400包括指令記憶體810、指令提取單元820、統計分析器(statistics analyzer)1410、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置1400。圖14所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1至圖13的相關說明而類推,故不再贅述。圖14所示運算裝置1400、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850可以參照圖8所示運算裝置800、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850的相關說明而類推,故不再贅述。
統計分析器1410耦接至該系統的硬體模組(例如是指令提取單元820、指令處理單元120及/或該系統的其他硬體模組),以收集關於該系統的該硬體模組的統計資訊以及分析該系統的該硬體模組的操作狀況。依據該系統的該硬體模組的操作狀況,統計分析器1410可以決定是否輸出具有一值的模式切換信號Sm至轉換單元110。該值指出該系統的電源模式被從正常操作模式切換至省電模式。舉例來說,統計分析器1410可以收集狀態統計資訊,例如從硬體狀態單元(未繪示)收集每週期指令(instructions per cycle,IPC)、每千指令未命中(misses per kilo instructions,MPKI)及/或其他統計資訊。依據所收集的狀態統計資訊,統計分析器1410可以判斷是否發送具有該值(該值指出該系統的電源模式被從正常操作模式切換至省電模式)的模式切換信號Sm給轉換單元
110。
在轉換單元110接獲具有該值(該值指出該系統的電源模式被從正常操作模式切換至省電模式)的模式切換信號Sm後,轉換單元110的模式切換旗標可以被設定,以表示此時該系統處於省電模式。在轉換單元110的該模式切換旗標被設定後,轉換單元110可以將所述至少一特殊指令插入具有與第一指令串IS1相同功能的第二指令串而獲得第三指令串IS3。前述「將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。依照該系統的該硬體模組的操作狀況,統計分析器1410可以決定是否輸出具有一第二值的模式切換信號Sm至轉換單元110。該第二值指出該系統的電源模式被從省電模式切換至正常操作模式。依據所收集的狀態統計資訊,統計分析器1410可以判斷是否發送具有該第二值的模式切換信號Sm給轉換單元110。
在轉換單元110接獲具有該第二值的模式切換信號Sm後,轉換單元110的該模式切換旗標可以被重設(reset或unset),以表示此時該系統處於正常操作模式。在轉換單元110的該模式切換旗標被重設後,轉換單元110可以將第一指令串IS1轉換成具有與第一指令串IS1相同功能的第二指令串,然後輸出此第二指令串給指令處理單元120作為第三指令串IS3。
圖15是依照本案更一實施例說明一種運算裝置1500的電路方塊示意圖。運算裝置1500包括指令記憶體810、指令提取
單元820、指令串偵測器(instruction sequence detector)1510、轉換單元110、指令處理單元120以及資料儲存單元130。在此假設一系統具有運算裝置1500。圖15所示轉換單元110、指令處理單元120以及資料儲存單元130可以參照圖1至圖14的相關說明而類推,故不再贅述。圖15所示運算裝置1500、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850可以參照圖8所示運算裝置800、指令記憶體810、指令提取單元820、電力控制器840以及記憶體電路850的相關說明而類推,故不再贅述。
指令串偵測器1510耦接至轉換單元110。指令串偵測器1510可以被用來偵測某一預設的模式切換樣式(predetermined mode switching pattern),而此預設的模式切換樣式指出該系統的電源模式被從正常操作模式切換至省電模式。當指令串偵測器1510從第一指令串IS1中偵測到所述預設的模式切換樣式時,指令串偵測器1510輸出具有一值的模式切換信號Sm至轉換單元110。該值指出該系統的電源模式被從正常操作模式切換至省電模式。舉例來說,作業系統的電源管理可以改變電源管理策略,例如將該系統的電源模式從正常操作模式切換到省電模式。當作業系統的電源管理改變當前電源管理策略時,作業系統將排定功率管理任務(power management task),而包含了指令的所述預設模式切換樣式可以被指令提取單元820取得且被指令處理單元120執行。當指令串偵測器1510從第一指令串IS1中檢測出所述預設
的模式切換樣式時,指令串偵測器1510可以輸出具有該值的模式切換信號Sm到轉換單元110。
當轉換單元110接收到具有該值的模式切換信號Sm時,轉換單元110內的模式切換旗標可以被設定,以表示此時該系統處於省電模式。在轉換單元110的該模式切換旗標被設定後,轉換單元110可以將所述至少一特殊指令插入具有與第一指令串IS1相同功能的第二指令串而獲得第三指令串IS3。前述「將所述至少一特殊指令插入第二指令串而獲得第三指令串IS3」的細節可以參照上述圖3至圖7的相關說明而類推,故不再贅述。
指令串偵測器1510可以被用來偵測第二預設的模式切換樣式,而此第二預設的模式切換樣式指出該系統的電源模式被從省電模式切換至正常操作模式。當指令串偵測器1510從第一指令串IS1中偵測到所述第二預設的模式切換樣式時,指令串偵測器1510輸出具有一第二值的模式切換信號Sm至轉換單元110。該第二值指出該系統的電源模式被從省電模式切換至正常操作模式。舉例來說,作業系統的電源管理可以改變功率管理策略,例如將該系統的電源模式從省電模式切換到正常操作模式。當作業系統的電源管理改變當前功率管理策略時,作業系統將排定功率管理任務,而包含了指令的所述第二預設模式切換樣式可以被指令提取單元820取得且被指令處理單元120執行。當指令串偵測器1510從第一指令串IS1中檢測出所述第二預設的模式切換樣式時,指令串偵測器1510可以輸出具有該第二值的模式切換信號Sm到轉
換單元110。
當轉換單元110接收到具有該第二值的模式切換信號Sm時,轉換單元110的該模式切換旗標可以被重設(reset或unset),以表示此時該系統處於正常操作模式。在轉換單元110的該模式切換旗標被設定後,轉換單元110可以將第一指令串IS1轉換成具有與第一指令串IS1相同功能的第二指令串,然後輸出此第二指令串給指令處理單元120作為第三指令串IS3。
綜上所述,本案實施例所提供的降低功耗之轉換方法與其運算裝置配置了轉換單元。在省電模式中,轉換單元可以接收第一指令串,並將第一指令串轉換為第三指令串。舉例來說,轉換單元可以混合具有與第一指令串相同功能的第二指令串與至少一特殊指令,而獲得並輸出第三指令串。其中,第一指令串的每一個指令均屬於一指令集,而所述至少一特殊指令不屬於該指令集。指令處理單元可以依照所述至少一特殊指令來管理資料儲存單元的儲存狀態。因此,本案實施例所提供的降低功耗之轉換方法與其運算裝置可以支援常閉運算功能。
雖然本案已以實施範例揭露如上,然其並非用以限定本案發明,任何所屬技術領域中具有通常知識者,在不脫離本案揭露的精神和範圍內,當可作些許的更動與潤飾,故本案發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧運算裝置
110‧‧‧轉換單元
120‧‧‧指令處理單元
130‧‧‧資料儲存單元
131‧‧‧依電部
132‧‧‧非依電部
IS1‧‧‧第一指令串
IS3‧‧‧第三指令串
Claims (34)
- 一運算裝置,包括:一轉換單元,接收一第一指令串,以及在一省電模式中混合具有與該第一指令串執行相同功能的一第二指令串與至少一特殊指令而獲得並輸出一第三指令串,其中該第一指令串中的每一指令均屬於一指令集,而所述至少一特殊指令不屬於該指令集;一資料儲存單元,包含一依電部與一非依電部;以及一指令處理單元,耦接至該轉換單元與該資料儲存單元,該指令處理單元處理該第三指令串以及依照所述至少一特殊指令管理該資料儲存單元的儲存狀態。
- 如申請專利範圍第1項所述的該運算裝置,其中該第一指令串等於該第二指令串。
- 如申請專利範圍第1項所述的該運算裝置,其中在一正常操作模式中,該轉換單元將該第一指令串輸出給該指令處理單元作為該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,其中所述至少一特殊指令包括一資料備份指令與一資料回存指令;當該指令處理單元執行該第三指令串中的該資料備份指令時,由該指令處理單元觸發該資料儲存單元以將該依電部的資料儲存至該非依電部,以及在該依電部的資料儲存至該非依電部後停止供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的該資料回存指令時,由該指令處理單元觸發該資料儲存單元以 供電給該依電部與該非依電部,以及將前述儲存至該非依電部的資料回存至該依電部。
- 如申請專利範圍第1項所述的該運算裝置,其中所述至少一特殊指令包括一資料備份指令、一斷電指令、一供電指令與一資料回存指令;當該指令處理單元執行該第三指令串中的該資料備份指令時,由該指令處理單元觸發該資料儲存單元以將該依電部的資料儲存至該非依電部;當該指令處理單元執行該第三指令串中的該斷電指令時,由該指令處理單元觸發該資料儲存單元以停止供電給該依電部與該非依電部;當該指令處理單元執行該第三指令串中的該供電指令時,由該指令處理單元觸發該資料儲存單元以恢復供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的該資料回存指令時,由該指令處理單元觸發該資料儲存單元以將前述儲存至該非依電部的資料回存至該依電部。
- 如申請專利範圍第1項所述的該運算裝置,其中該資料儲存單元包括:一記憶體電路,耦接至該指令處理單元,其中該記憶體電路受控於該指令處理單元而將該記憶體電路內的該依電部的資料儲存至該記憶體電路內的該非依電部,或是將該非依電部的資料回存至該依電部;以及一電力控制器,耦接至該指令處理單元與該記憶體電路,其中該電力控制器受控於該指令處理單元而停止供電給該記憶體電 路,或是恢復供電給該記憶體電路。
- 如申請專利範圍第6項所述的該運算裝置,其中該記憶體電路包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
- 如申請專利範圍第1項所述的該運算裝置,其中該資料儲存單元包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
- 如申請專利範圍第1項所述的該運算裝置,其中所述至少一特殊指令包含多個記憶體群組指令,而該資料儲存單元包括:多個記憶體電路群組,耦接至該指令處理單元,其中該指令處理單元依照所述多個記憶體群組指令分別管理該些記憶體電路群組的儲存狀態。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一功率管理單元,耦接至該轉換單元與該指令處理單元;其中該指令處理單元執行用於運行一作業系統的一指令串;以及該作業系統保存被一中斷事件所中斷的一行程之狀態,並且接著由服務該中斷事件的一中斷服務常式觸發該功率管理單元輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式。
- 如申請專利範圍第10項所述的該運算裝置,其中在接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第10項所述的該運算裝置,其中在該轉換單元基於該值設定該轉換單元內的一模式切換旗標後,依據被設定的該模式切換旗標,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一匯流排,耦接至該轉換單元與該指令處理單元;其中該轉換單元具有一模式切換旗標;當一作業系統的至少一功率管理行程決定切換該運算裝置的一操作模式為該省電模式時,該指令處理單元執行用於模式切換的一對應指令串並且經由該匯流排控制該轉換單元以設置該模式切換旗標;以及在該模式切換旗標被設置後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一狀態記憶體,具有一模式切換旗標;以及一匯流排,耦接至該狀態記憶體、該轉換單元與該指令處理單元;其中當一作業系統中的至少一功率管理行程決定切換該運算裝置的一操作模式為該省電模式時,該指令處理單元執行用以模式切換的一對應指令串並且經由該匯流排設置該狀態記憶體的該模式切換旗標;以及依據被該轉換單元檢查的該模式切換旗標,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一中斷控制器,耦接至該轉換單元;其中當發生一硬體中斷時,由該中斷控制器輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一統計分析器,耦接至一硬體模組以分析該硬體模組的操作狀況,並依據該硬體模組的操作狀況而決定是否輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;其中在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第1項所述的該運算裝置,更包括:一指令串偵測器,耦接至該轉換單元,以及從該第一指令串偵測一預設的模式切換樣式;其中當該指令串偵測器從該第一指令串中發現該預設的模式切換樣式時,該指令串偵測器輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,該轉換單元將所述至少一特殊指令插入該第二指令串而獲得 該第三指令串。
- 一降低功耗之轉換方法,包括:由一運算裝置的一轉換單元接收一第一指令串,其中該第一指令串中的每一指令均屬於一指令集;在一省電模式中,由該轉換單元混合具有與該第一指令串執行相同功能的一第二指令串與至少一特殊指令而獲得一第三指令串,其中所述至少一特殊指令不屬於該指令集;由該運算裝置的一指令處理單元處理該第三指令串,以及依照所述至少一特殊指令管理該運算裝置的一資料儲存單元的儲存狀態,其中該資料儲存單元包含一依電部與一非依電部。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,其中該第一指令串等於該第二指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:在一正常操作模式中,由該轉換單元將該第一指令串輸出給該指令處理單元作為該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,其中所述至少一特殊指令包括一資料備份指令與一資料回存指令,而所述的該降低功耗之轉換方法更包括:當該指令處理單元執行該第三指令串中的該資料備份指令時,由該指令處理單元觸發該資料儲存單元,以將該依電部的資料儲存至該非依電部,以及在該依電部的資料儲存至該非依電部 後,停止供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的該資料回存指令時,由該指令處理單元觸發該資料儲存單元,以恢復供電給該依電部與該非依電部,以及將前述儲存至該非依電部的資料回存至該依電部。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,其中所述至少一特殊指令包括一資料備份指令、一斷電指令、一供電指令與一資料回存指令,而所述的該降低功耗之轉換方法更包括:當該指令處理單元執行該第三指令串中的該資料備份指令時,由該指令處理單元觸發該資料儲存單元,以將該依電部的資料儲存至該非依電部;當該指令處理單元執行該第三指令串中的該斷電指令時,由該指令處理單元觸發該資料儲存單元,以停止供電給該依電部與該非依電部;當該指令處理單元執行該第三指令串中的該供電指令時,由該指令處理單元觸發該資料儲存單元,以恢復供電給該依電部與該非依電部;以及當該指令處理單元執行該第三指令串中的該資料回存指令時,由該指令處理單元觸發該資料儲存單元,以將前述儲存至該非依電部的資料回存至該依電部。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法, 其中該資料儲存單元包括一記憶體電路與一電力控制器,而所述管理該資料儲存單元的儲存狀態的步驟包括:由受控於該指令處理單元的該記憶體電路將該記憶體電路內的該依電部的資料儲存至該記憶體電路內的該非依電部,或是將該非依電部的資料回存至該依電部;以及由受控於該指令處理單元的該電力控制器停止供電給該記憶體電路,或是恢復供電給該記憶體電路。
- 如申請專利範圍第23項所述的該降低功耗之轉換方法,其中該記憶體電路包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,其中該資料儲存單元包括非依電性靜態隨機存取記憶體、非依電性動態隨機存取記憶體、或是非依電性正反器。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,其中所述至少一特殊指令包含多個記憶體群組指令,而該資料儲存單元包括多個記憶體電路群組,而所述管理該資料儲存單元的儲存狀態的步驟包括:由該指令處理單元依照所述多個記憶體群組指令分別管理該些記憶體電路群組的儲存狀態。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:由該指令處理單元執行用於運行一作業系統的一指令串; 保存被一中斷事件所中斷的一行程之狀態,並且接著由服務該中斷事件的一中斷服務常式觸發該運算裝置的一功率管理單元輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式。
- 如申請專利範圍第27項所述的該降低功耗之轉換方法,更包括:在接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第27項所述的該降低功耗之轉換方法,更包括:在該轉換單元基於該值設定該轉換單元內的一模式切換旗標;由該轉換單元檢查該模式切換旗標;以及依據被設定的該模式切換旗標,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:當一作業系統中的一功率管理行程決定切換一操作模式為該省電模式時,由該指令處理單元執行用於模式切換的一對應指令串並且經由一匯流排控制該運算裝置的該轉換單元,以設置該轉換單元的一模式切換旗標;以及在該模式切換旗標被設置後,由該轉換單元將所述至少一特 殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:當一作業系統中的至少一功率管理行程決定切換該運算裝置的一操作模式為該省電模式時,由該指令處理單元執行用以模式切換的一對應指令串並且經由該運算裝置的一匯流排設置該運算裝置的一狀態記憶體的一模式切換旗標;以及依據被該轉換單元檢查的該模式切換旗標,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:當發生一硬體中斷時,由該運算裝置的一中斷控制器輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:由該運算裝置的一統計分析器分析一硬體模組的操作狀況;依據該硬體模組的操作狀況,由該統計分析器決定是否輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置 處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
- 如申請專利範圍第18項所述的該降低功耗之轉換方法,更包括:由該運算裝置的一指令串偵測器從該第一指令串偵測一預設的模式切換樣式;當該指令串偵測器從該第一指令串中發現該預設的模式切換樣式時,由該指令串偵測器輸出具有一值的一模式切換信號至該轉換單元,該值指出該運算裝置處於該省電模式;以及在該轉換單元接獲具有該值的該模式切換信號後,由該轉換單元將所述至少一特殊指令插入該第二指令串而獲得該第三指令串。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/533,094 US9971535B2 (en) | 2014-11-05 | 2014-11-05 | Conversion method for reducing power consumption and computing apparatus using the same |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI517033B true TWI517033B (zh) | 2016-01-11 |
| TW201617852A TW201617852A (zh) | 2016-05-16 |
Family
ID=55640345
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW103138897A TWI517033B (zh) | 2014-11-05 | 2014-11-10 | 用於降低功耗之轉換方法與其運算裝置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US9971535B2 (zh) |
| CN (1) | CN105739666B (zh) |
| TW (1) | TWI517033B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI769080B (zh) * | 2021-09-17 | 2022-06-21 | 瑞昱半導體股份有限公司 | 用於同步動態隨機存取記憶體之控制模組及其控制方法 |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10049714B1 (en) * | 2017-07-19 | 2018-08-14 | Nanya Technology Corporation | DRAM and method for managing power thereof |
| US11733763B2 (en) * | 2020-08-06 | 2023-08-22 | Micron Technology, Inc. | Intelligent low power modes for deep learning accelerator and random access memory |
| US11348621B2 (en) * | 2020-08-21 | 2022-05-31 | Qualcomm Incorporated | Low-glitch switch control for mode switching of memory cells |
| JP7718014B2 (ja) * | 2021-10-25 | 2025-08-05 | 株式会社Preferred Networks | コンパイラ装置、演算処理装置、命令生成方法、プログラム、コンパイル方法及びコンパイラプログラム |
| CN114326522B (zh) * | 2021-12-30 | 2025-11-25 | 联想(北京)有限公司 | 控制方法、装置及电子设备和存储介质 |
| CN114490194B (zh) * | 2022-04-19 | 2022-07-01 | 海光信息技术股份有限公司 | 掉电处理方法、功能节点、处理系统、设备和存储介质 |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5638525A (en) * | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
| US6795781B2 (en) * | 2002-06-27 | 2004-09-21 | Intel Corporation | Method and apparatus for compiler assisted power management |
| EP1469370A2 (en) * | 2003-03-10 | 2004-10-20 | Matsushita Electric Industrial Co., Ltd. | Power-save computing apparatus, method and program |
| WO2006103484A1 (en) | 2005-03-30 | 2006-10-05 | Freescale Semiconductor, Inc. | System and method for reducing power consumption |
| TWI279133B (en) | 2005-06-14 | 2007-04-11 | Uniwill Comp Corp | A digital video receiving system and its method |
| US20080256551A1 (en) | 2005-09-21 | 2008-10-16 | Freescale Semiconductor. Inc. | System and Method For Storing State Information |
| US20070106914A1 (en) * | 2005-11-07 | 2007-05-10 | Kalyan Muthukumar | Power management by adding special instructions during program translation |
| TWI304547B (en) | 2005-12-29 | 2008-12-21 | Ind Tech Res Inst | Power-gating control placement for leakage power reduction |
| JP2007295080A (ja) * | 2006-04-21 | 2007-11-08 | Ricoh Co Ltd | 通信装置と通信方法とプログラムとコンピュータ読み取り可能な記録媒体 |
| US7725750B2 (en) | 2006-05-01 | 2010-05-25 | Freescale Semiconductor, Inc. | Method of transitioning between active mode and power-down mode in processor based system |
| CN101109985A (zh) | 2006-07-19 | 2008-01-23 | 宏碁股份有限公司 | 电源管理方法 |
| TWI361345B (en) | 2007-04-13 | 2012-04-01 | Ind Tech Res Inst | Multi-thread power-gating design |
| EP2003534A3 (en) | 2007-06-11 | 2009-02-18 | MediaTek Inc. | Method of and apparatus for reducing power consumption within an integrated circuit. |
| CN101689106B (zh) * | 2007-06-12 | 2013-10-09 | 松下电器产业株式会社 | 多处理器控制装置、多处理器控制方法以及多处理器控制电路 |
| US7925853B2 (en) | 2008-01-04 | 2011-04-12 | International Business Machines Corporation | Method and apparatus for controlling memory array gating when a processor executes a low confidence branch instruction in an information handling system |
| JP5207792B2 (ja) | 2008-02-19 | 2013-06-12 | キヤノン株式会社 | 情報処理装置及び情報処理方法 |
| KR101636324B1 (ko) | 2009-08-19 | 2016-07-05 | 삼성전자주식회사 | 파워 게이팅 장치 |
| KR101844972B1 (ko) | 2009-11-27 | 2018-04-03 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 반도체 장치 및 반도체 장치의 제작방법 |
| WO2011154776A1 (en) | 2010-06-11 | 2011-12-15 | Freescale Semiconductor, Inc. | Information processing device and method |
| US8850236B2 (en) | 2010-06-18 | 2014-09-30 | Samsung Electronics Co., Ltd. | Power gating of cores by an SoC |
| US8589854B2 (en) | 2010-07-13 | 2013-11-19 | Algotochip Corp. | Application driven power gating |
| US8880851B2 (en) | 2011-04-07 | 2014-11-04 | Via Technologies, Inc. | Microprocessor that performs X86 ISA and arm ISA machine language program instructions by hardware translation into microinstructions executed by common execution pipeline |
| US20130070513A1 (en) | 2011-09-16 | 2013-03-21 | Advanced Micro Devices, Inc. | Method and apparatus for direct backup of memory circuits |
| US8819461B2 (en) | 2011-12-22 | 2014-08-26 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including improved processor core deep power down exit latency by using register secondary uninterrupted power supply |
| TWI452511B (zh) | 2012-03-03 | 2014-09-11 | Orise Technology Co Ltd | 電容式多點觸控的切換模式低待機功耗驅動方法 |
| US8995218B2 (en) | 2012-03-07 | 2015-03-31 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
| KR20140140609A (ko) * | 2012-03-29 | 2014-12-09 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | 프로세서 및 전자 기기 |
| WO2013146154A1 (en) | 2012-03-29 | 2013-10-03 | Semiconductor Energy Laboratory Co., Ltd. | Power supply control device |
| US9372694B2 (en) | 2012-03-29 | 2016-06-21 | Semiconductor Energy Laboratory Co., Ltd. | Reducing data backup and recovery periods in processors |
| JP6050721B2 (ja) | 2012-05-25 | 2016-12-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
| WO2013180016A1 (en) | 2012-06-01 | 2013-12-05 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and alarm device |
| JP6185311B2 (ja) | 2012-07-20 | 2017-08-23 | 株式会社半導体エネルギー研究所 | 電源制御回路、及び信号処理回路 |
| WO2014034820A1 (en) | 2012-09-03 | 2014-03-06 | Semiconductor Energy Laboratory Co., Ltd. | Microcontroller |
| US8982488B2 (en) | 2012-12-28 | 2015-03-17 | Intel Corporation | Power conservation based on hard disk rotational inertia |
-
2014
- 2014-11-05 US US14/533,094 patent/US9971535B2/en active Active
- 2014-11-10 TW TW103138897A patent/TWI517033B/zh active
- 2014-12-09 CN CN201410748200.5A patent/CN105739666B/zh active Active
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI769080B (zh) * | 2021-09-17 | 2022-06-21 | 瑞昱半導體股份有限公司 | 用於同步動態隨機存取記憶體之控制模組及其控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160124671A1 (en) | 2016-05-05 |
| US9971535B2 (en) | 2018-05-15 |
| CN105739666A (zh) | 2016-07-06 |
| CN105739666B (zh) | 2018-09-25 |
| TW201617852A (zh) | 2016-05-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI517033B (zh) | 用於降低功耗之轉換方法與其運算裝置 | |
| US8977880B2 (en) | Method for managing power supply of multi-core processor system involves powering off main and slave cores when master bus is in idle state | |
| CN104777888B (zh) | 通过多电源的软硬件协调控制减少计算机系统中的能耗 | |
| US20050138442A1 (en) | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring | |
| CN108819884A (zh) | 一种车联网终端电源控制方法 | |
| CN104679093B (zh) | 功率控制 | |
| EP2580657B1 (en) | Information processing device and method | |
| KR20090026895A (ko) | 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법 | |
| CN110806794A (zh) | 存储系统的掉电保护方法、系统、计算机设备以及介质 | |
| US9110723B2 (en) | Multi-core binary translation task processing | |
| KR20090069618A (ko) | 전원관리 제어 장치 및 방법 | |
| US12105577B2 (en) | Multi-core chip, system and method based thereon, and storage medium | |
| US20220011842A1 (en) | Apparatus and method for achieving deterministic power saving state | |
| CN202013570U (zh) | 一种基于pcie接口的固态硬盘掉电保护装置 | |
| US20150286271A1 (en) | System and method for predicting a central processing unit idle pattern for power saving in a modem system on chip | |
| Wu et al. | Design and optimization of low power persistent logging system based on embedded Linux | |
| CN106291232A (zh) | 一种低功耗架空线型故障指示器及控制方法 | |
| CN102929381B (zh) | 电子系统及其电源管理方法 | |
| CN102135921B (zh) | 便携式终端低电量系统保护的保护电路、保护方法及软件实现方法 | |
| CN111148052A (zh) | 状态确定方法、系统、介质及电子设备 | |
| CN203276161U (zh) | 一种低功耗嵌入式智能核心系统 | |
| CN114257474A (zh) | 智能网关的用电控制方法、装置、计算机设备和存储介质 | |
| CN117406846A (zh) | 电源控制方法、装置、计算机设备及存储介质 | |
| CN102681650B (zh) | 一种电源控制节能方法及其对应的存储系统 | |
| CN106407048B (zh) | 输入输出通信接口、基于该接口的数据备份和恢复方法 |