JP6838897B2 - Cpuの作動方法と、該cpuを含むシステムの作動方法 - Google Patents
Cpuの作動方法と、該cpuを含むシステムの作動方法 Download PDFInfo
- Publication number
- JP6838897B2 JP6838897B2 JP2016169324A JP2016169324A JP6838897B2 JP 6838897 B2 JP6838897 B2 JP 6838897B2 JP 2016169324 A JP2016169324 A JP 2016169324A JP 2016169324 A JP2016169324 A JP 2016169324A JP 6838897 B2 JP6838897 B2 JP 6838897B2
- Authority
- JP
- Japan
- Prior art keywords
- idle
- core
- executing
- worker
- qos
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 17
- 238000011017 operating method Methods 0.000 claims description 11
- 230000009467 reduction Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 7
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 description 6
- 238000005773 Enders reaction Methods 0.000 description 6
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 description 6
- 239000007858 starting material Substances 0.000 description 6
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 4
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 4
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 4
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 102100040858 Dual specificity protein kinase CLK4 Human genes 0.000 description 3
- 101000749298 Homo sapiens Dual specificity protein kinase CLK4 Proteins 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 102100028043 Fibroblast growth factor 3 Human genes 0.000 description 1
- 102100024061 Integrator complex subunit 1 Human genes 0.000 description 1
- 101710092857 Integrator complex subunit 1 Proteins 0.000 description 1
- 108050002021 Integrator complex subunit 2 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000001994 activation Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
- Executing Machine-Instructions (AREA)
Description
本発明の実施形態によるCPUの作動方法は、CPUのロードを周期的にポーリング(polling)せずとも、ロードが発生した時、発生をインタラプト基盤で検出することができる。
ここで、QoSは、DVFSを意味し、QoS最小値は、DVFSの最小作動周波数と最小作動電圧とのうちの少なくとも1つを意味する。
HMPブースティングは、低電力コア(例えば、リトルコア(little core))に割り当てられたタスクを高性能コア(例えば、ビッグコア(big core))に強制に割り当てる作動を意味する。
本明細書で、スケジュール(schedule)は、ワークキュー(work queue)にタイムアウト値と開始アドレスをライト(write)する作動を意味し、スケジュールの取り消し(cancel)は、ワークキューにライトされたタイムアウト値と開始アドレスをイレーズ(erase)する作動を意味する。
コンピュータシステム100は、PC(Personal Computer)またはモバイル装置として具現可能である。例えば、モバイル装置は、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットPC、PDA(Personal Digital Assistant)、EDA(Enterprise Digital Assistant)、デジタルスチルカメラ(Digital Still Camera)、デジタルビデオカメラ(Digital Video Camera)、PMP(Portable Multimedia Player)、PND(Personal Navigation DeviceまたはPortable Navigation Device)、携帯用ゲームコンソール(handheld game console)、モバイルインターネット装置(Mobile Internet Device;MID)、ウェアラブル(wearable)コンピュータ、モノのインターネット(Internet of Things;IoT)装置、万物のインターネット(Internet of Everything;IoE)装置、ドローン(drone)、または電子ブック(e−book)として具現可能であるが、これに限定されるものではない。
CMU220は、クロック制御信号CTR_Cを用いて、各クロック信号CLK1〜CLK5の周波数を制御することができる。各クロック信号CLK1〜CLK5の周波数は、互いに同一または異なりうる。
GPU240は、第2作動電圧PW2と第2クロック信号CLK2とを用いて、グラフィックスデータを処理することができる。グラフィックスデータは、2Dグラフィックスデータまたは3Dグラフィックスデータを含みうる。
QoS制御モジュール300は、周期的なポーリングに依存せず、ロード(load)またはタスクの発生をインタラプト基盤で感知することができる。インタラプト(interrupt)は、コンピュータシステム100のユーザの入力、タイマの出力、及び他のコアから出力された信号に生成されうる。QoS制御モジュール300は、コア211が休まず、作動する時と休む時とをポーリングなしにインタラプト基盤で感知することができる。
ロードトラッカ310は、コア211でアイドルタスク370が実行されるか否かを判断し、該判断の結果に該当するイベントEVENT1またはEVENT2を生成し、イベントEVENT1またはEVENT2をブースタ330にブロードキャスト(broadcast)することができる。ブースタ330は、イベントEVENT1またはEVENT2に基づいてコア211のQoS最小値を設定することができる。
しかし、満了時間が満了すれば(ステップS232のYES)、アイドル終了ワーカー311または383は、アイドル開始ワーカー311または381のスケジュール(または、タイマのタイムアウト値または満了時間)を取り消すことができる(ステップS234)。アイドル終了ワーカー313または383は、ブースティング開始またはブースティングレベルの増加を指示する増加指示イベントEVENT2を生成し、増加指示イベントEVENT2をブースタ330にブロードキャストすることができる(ステップS236)。
図1、図3、図7、及び図8を参照すれば、コンピュータシステム100が初期化される時、またはブーティング(boot)時に(ステップS310)、ロードトラッカ310は、アイドルコールバック(例えば、アイドル開始ワーカーコールバック351とアイドル終了ワーカーコールバック353)をアイドルモジュール350に登録することができる(ステップS312)。ブーティング時に(ステップS310)、ロードトラッカ310は、アイドル開始ワーカー311とアイドル終了ワーカー313とを生成することができる。ブーティング時に(ステップS310)、ブースタ330は、ロードトラッカ310によって生成されたアイドル開始ワーカー311とアイドル終了ワーカー313のそれぞれのタイムアウト時間または満了時間を設定することができる。
しかし、満了時間が満了すれば(ステップS324のYES)、アイドル開始ワーカー311または381は、ブースティング終了またはブースティングレベルの減少を指示する減少指示イベントEVENT1を生成し、減少指示イベントEVENT1をブースタ330にブロードキャストすることができる(ステップS326)。
例えば、(1)アイドル終了ワーカーがワークキュー380に係留されておらず、アイドル開始ワーカーがワークキュー380に係留されている時、または(2)アイドル終了ワーカーがワークキュー380に係留されておらず、コア211がブーストされない時、アイドル終了ワーカーコールバック353は、アイドル終了ワーカー313または383をスケジュールすることができる(ステップS346)。
しかし、満了時間が満了すれば(ステップS348のYES)、アイドル終了ワーカー313または383は、ワークキュー380にキューされたアイドル開始ワーカーが存在する時、アイドル開始ワーカーのスケジュール(または、タイマに設定されたタイムアウト時間または満了時間)を取り消すか、削除することができる(ステップS350)。アイドル終了ワーカー313は、ブースティング開始またはブースティングレベルの増加を指示する増加指示イベントEVENT2を生成し、増加指示イベントEVENT2をブースタ330にブロードキャストすることができる(ステップS352)。
DVFSガバナ341は、QoS関連システムファイル337からブースティング制御値またはQoS最小値をリード(read)し、解析し(analyze)、該解析の結果に該当する解析値をCMUドライバ343とPMUドライバ345とに伝送しうる。CMUドライバ343は、解析値に基づいて周波数制御信号CTR_Cを生成し、周波数制御信号CTR_CをCMU220に伝送しうる。PMUドライバ345は、解析値に基づいて電力制御信号CTR_Pを生成し、電力制御信号CTR_PをPMU230に伝送しうる。
(1)第1ワークキュー380−1にアイドル終了ワーカーが係留中ではなく、第1ワークキュー380−1にアイドル開始ワーカーが係留中である時、または(2)第1ワークキュー380−1にアイドル終了ワーカーが係留中ではなく、第1コア210−1がブースティング中ではない時、第1アイドル終了ワーカーコールバックは、第1アイドル終了ワーカーをスケジュールすることができる。
第2コア210−2で第2アイドルタスクの実行が終了する時、第2アイドルモジュール350−2は、第2アイドルモジュール350−2に登録された第2アイドル終了ワーカーコールバックを呼び出すことができる。
第3コア210−3で第3アイドルタスクの実行が終了する時、第3アイドルモジュール350−3は、第3アイドルモジュール350−3に登録された第3アイドル終了ワーカーコールバックを呼び出すことができる。
(1)第4ワークキュー380−4にアイドル終了ワーカーが係留中ではなく、第4ワークキュー380−4にアイドル開始ワーカーが係留中である時、または(2)第4ワークキュー380−4にアイドル終了ワーカーが係留中ではなく、第4コア210−4がブースティング中ではない時、第4アイドル終了ワーカーコールバックは、第4アイドル終了ワーカーをスケジュールすることができる。
各イベントEVENTA、EVENTB、EVENTC、及びEVENTDは、図3を参照して説明された減少指示イベントEVENT1または増加指示イベントEVENT2を表わすことができる。
第1コア210−1で実行されるブースタ330は、各イベントEVENTA、EVENTB、EVENTC、及びEVENTDをパージングし、該パージングの結果によって、CPU210Bに対する全体ビジーコアカウントを計算することができる。
第2時点T2で、第1コアCORE1210−1がブースティングが必要なタスクを行う時、第1コアCORE1210−1の第1ロードトラッカ310−1は、増加指示イベント(EVENTA=EVENT2)をブースタ330に伝送するので、ブースタ330によって計算された全体ビジーコアカウントは、2である。
第4時点T4で、ブースタ330によって計算された全体ビジーコアカウントは、3である。
第5時点T5で、第2コアCORE2210−2がブースティングが必要なタスクを終了しても、図4を参照して説明したように、ETHが満了しなければ、ブースタ330によって計算された全体ビジーコアカウントは、3を保持することができる。
第7時点T7で、すなわち、第3コアCORE3がブースティングが必要なタスクを終了し、ETHが経過した後、第3コアCORE3の第3ロードトラッカ310−3は、減少指示イベント(EVENTC=EVENT1)をブースタ330に伝送するので、ブースタ330によって計算された全体ビジーコアカウントは、2から1に減少する。
ロードトラッカ310Aは、当該コア211、210−1、210−2、210−3、または210−4に対するアイドル開始ワーカー311とアイドル終了ワーカー313とを生成することができる(ステップS414)。
ブースタ330は、カーネル(kernel)またはカーネル領域からイベントEVENT1、EVENT2、EVENTA、EVENTB、EVENTC、及び/またはEVENTD(集合的にEVENT)を受信または聴取(listening)するための通信応用プログラミングインターフェース(Application Programming Interface;API)をオープン(open)することができる(ステップS422)。通信APIは、ソケット(socket)を意味する。通信APIまたはソケットは、ビジーコアカウントを含むイベントEVENTを送受信する通信チャネル(communication channel)を意味する。
ブースタ330は、通信APIを開き、通信APIに対してカーネルシステムコールAPIを呼び出し、待機状態に進入することができる(ステップS424)。
アイドル開始ワーカーコールバック351は、ワークキュー380、380−1、380−2、380−3、及び/または380−4(集合的に380)に存在するアイドル終了ワーカーのスケジュール(または、タイマの満了時間)を取り消すことができる(ステップS514)。前述したように、取り消されるアイドル終了ワーカーがワークキュー380に存在しない時、過程(ステップS514)は、省略またはスキップされうる。
引き続き、図13、図14、及び図16を参照すれば、アイドルタスク370の実行が終了すれば(ステップS610)、アイドルモジュール350Aは、アイドル終了ワーカーコールバック353を呼び出すことができる(ステップS612)。
アイドル終了ワーカー313は、当該コア211、210−1、210−2、210−3、または210−4に対するビジーコアカウントを1だけ増加させ、ブースティング開始またはブースティングレベルの増加を指示する増加指示イベントEVENTをブースタ330にブロードキャストすることができる(ステップS620)。
200:制御回路
210:CPU
220:クロック管理ユニット
230:電力管理ユニット
240:グラフィックスプロセッシングユニット
250:第1メモリインターフェース
260:第2メモリインターフェース
265:入出力インターフェース
270:電力管理IC
280:第1メモリ装置
290:第2メモリ装置
300:QoS制御モジュール
310、310A、310−1、310−2、310−3、及び340−4:ロードトラッカ
330、330B:ブースタ(booster)
337:QoS関連システムファイル
340:QoSコントローラ
350、350−1、350−2、350−3、及び350−4:アイドルモジュール
380、380−1、380−2、380−3、及び380−4:ワークキュー
Claims (20)
- 第1ロードトラッカ及びブースタを保存する第1メモリと、前記第1ロードトラッカ及び前記ブースタを実行する第1コアと、を含むCPUの作動方法であって、
前記第1ロードトラッカを実行することによって、前記第1コアで第1アイドルタスクが実行されるか否かを判断する段階と、
前記第1ロードトラッカを実行することによって、前記判断の結果に該当する第1イベントを生成する段階と、
前記第1ロードトラッカを実行することによって、前記生成された第1イベントを前記ブースタに通知する段階と、
前記ブースタを実行することによって、前記第1イベントに基づいて前記第1コアのQoS最小値を設定する段階と、
を含むCPUの作動方法。 - 前記CPUの作動方法は、
前記CPUが初期化される時、前記第1ロードトラッカを実行することによって、アイドル開始ワーカーコールバックとアイドル終了ワーカーコールバックとをアイドルモジュールに登録する段階と、
前記CPUが初期化される時、前記第1ロードトラッカを実行することによって、アイドル開始ワーカーとアイドル終了ワーカーとを生成する段階と、
をさらに含む請求項1に記載のCPUの作動方法。 - 前記CPUの作動方法は、前記CPUが初期化される時、前記ブースタを実行することによって、前記アイドル開始ワーカーの第1満了時間と前記アイドル終了ワーカーの第2満了時間とを設定する段階をさらに含む請求項2に記載のCPUの作動方法。
- 前記第1アイドルタスクが実行される時、前記アイドルモジュールを実行することによって、前記アイドル開始ワーカーコールバックを呼び出す段階と、
前記第1アイドルタスクが終了する時、前記アイドルモジュールを実行することによって、前記アイドル終了ワーカーコールバックを呼び出す段階と、
をさらに含む請求項3に記載のCPUの作動方法。 - 前記第1アイドルタスクが実行される時、前記アイドル開始ワーカーコールバックを実行することによって、前記アイドル開始ワーカーをスケジュールする段階と、
前記第1アイドルタスクが終了する時、前記アイドル終了ワーカーコールバックを実行することによって、前記アイドル終了ワーカーをスケジュールする段階と、
をさらに含む請求項4に記載のCPUの作動方法。 - 前記第1アイドルタスクが実行される時、前記アイドル開始ワーカーコールバックを実行することによって、ワークキューに存在する以前アイドル終了ワーカーのスケジュールを取り消す段階をさらに含む請求項5に記載のCPUの作動方法。
- 前記第1ロードトラッカを実行することによって、前記判断の結果に対応する前記第1イベントを生成する段階は、
前記第1満了時間が満了すれば、前記アイドル開始ワーカーを実行することによって、前記QoS最小値の減少を指示する前記第1イベントを生成する段階と、
前記第2満了時間が満了すれば、前記アイドル終了ワーカーを実行することによって、前記アイドル開始ワーカーのスケジュールを取り消し、前記QoS最小値の増加を指示する前記第1イベントを生成する段階と、のうち何れか1つを含む請求項5に記載のCPUの作動方法。 - 前記CPUの作動方法は、
前記ブースタを実行することによって、設定されたQoS最小値に基づいて、前記第1コアのDVFSのための制御信号をQoSコントローラに出力する段階と、
前記QoSコントローラを実行することによって、前記制御信号に応答して、前記第1コアの作動クロック信号の周波数の制御に関連した周波数制御信号と前記第1コアの作動電圧のレベルの制御に関連した電圧制御信号とを生成する段階と、
をさらに含む請求項1に記載のCPUの作動方法。 - 前記CPUは、第2ロードトラッカを保存する第2メモリと、前記第2ロードトラッカを実行する第2コアと、をさらに含み、前記CPUの作動方法は、
前記第2ロードトラッカを実行することによって、前記第2コアで第2アイドルタスクが実行されるか否かを判断する段階と、
前記第2ロードトラッカを実行することによって、前記判断の結果に該当する第2イベントを生成する段階と、
前記第2ロードトラッカを実行することによって、前記生成された第2イベントを前記第1コアで実行される前記ブースタに通知する段階と、
前記ブースタを実行することによって、前記第1イベントと前記第2イベントとに基づいて、前記第1コアのQoS最小値と前記第2コアのQoS最小値とを設定する段階と、
をさらに含む請求項1に記載のCPUの作動方法。 - 前記CPUの作動方法は、前記ブースタを実行することによって、設定された第1コアのQoS最小値と設定された第2コアのQoS最小値とに基づいて、前記第1コアに割り当てられたタスクを前記第2コアに強制に割り当てる段階をさらに含む請求項9に記載のCPUの作動方法。
- 第1ロードトラッカ、ブースタ、及びQoSコントローラを保存する第1メモリと、前記第1ロードトラッカ、前記ブースタ、及び前記QoSコントローラを実行する第1コアと、を含むCPU;クロック管理ユニット;及び電力管理ユニットを含むシステム・オン・チップの作動方法であって、
前記第1ロードトラッカを実行することによって、前記第1コアで第1アイドルタスクが実行されるか否かを判断する段階と、
前記第1ロードトラッカを実行することによって、前記判断の結果に該当する第1イベントを生成する段階と、
前記第1ロードトラッカを実行することによって、前記生成された第1イベントを前記ブースタに通知する段階と、
前記ブースタを実行することによって、前記第1イベントに基づいて前記第1コアのQoS最小値を設定する段階と、
前記QoSコントローラを実行することによって、設定されたQoS最小値に基づいて周波数制御信号と電圧制御信号とを生成する段階と、
前記クロック管理ユニットが、前記周波数制御信号に応答して、前記第1コアに供給される第1クロック信号の第1周波数を制御し、前記電力管理ユニットが、前記電圧制御信号に応答して、前記第1コアに第1作動電圧を供給する電力管理ICを制御する制御信号を生成する段階と、
を含むシステム・オン・チップの作動方法。 - 前記システム・オン・チップの作動方法は、
前記CPUが初期化される時、前記第1ロードトラッカを実行することによって、アイドル開始ワーカーコールバックとアイドル終了ワーカーコールバックとをアイドルモジュールに登録する段階と、
前記CPUが初期化される時、前記第1ロードトラッカを実行することによって、アイドル開始ワーカーとアイドル終了ワーカーとを生成する段階と、
をさらに含む請求項11に記載のシステム・オン・チップの作動方法。 - 前記第1アイドルタスクが実行される時、前記アイドルモジュールを実行することによって、前記アイドル開始ワーカーコールバックを呼び出す段階と、
前記第1アイドルタスクが終了する時、前記アイドルモジュールを実行することによって、前記アイドル終了ワーカーコールバックを呼び出す段階と、
をさらに含む請求項12に記載のシステム・オン・チップの作動方法。 - 前記第1アイドルタスクが実行される時、前記アイドル開始ワーカーコールバックを実行することによって、ワークキューに存在する以前アイドル終了ワーカーのスケジュールを取り消す段階と、
前記アイドル開始ワーカーコールバックを実行することによって、前記アイドル開始ワーカーのスケジュール前提条件を判断する段階と、
前記スケジュール前提条件が満足される時、前記アイドル開始ワーカーコールバックを実行することによって、前記アイドル開始ワーカーをスケジュールする段階と、
をさらに含む請求項13に記載のシステム・オン・チップの作動方法。 - 前記スケジュール前提条件は、前記アイドル開始ワーカーと前記アイドル終了ワーカーがいずれも係留中ではない場合と、前記アイドル開始ワーカーが係留中ではなく、前記第1コアがブーストされている場合と、を含む請求項14に記載のシステム・オン・チップの作動方法。
- 前記第1アイドルタスクが終了する時、前記アイドル終了ワーカーコールバックを実行することによって、前記アイドル終了ワーカーのスケジュール前提条件を判断する段階と、
前記スケジュール前提条件が満足される時、前記アイドル終了ワーカーコールバックを実行することによって、前記アイドル終了ワーカーをスケジュールする段階と、
をさらに含む請求項13に記載のシステム・オン・チップの作動方法。 - 前記スケジュール前提条件は、前記アイドル終了ワーカーが係留中ではなく、前記アイドル開始ワーカーが係留中である場合と、前記アイドル終了ワーカーが係留中ではなく、前記第1コアがブーストされていない場合と、を含む請求項16に記載のシステム・オン・チップの作動方法。
- 前記システム・オン・チップの作動方法は、前記アイドル終了ワーカーの満了時間が満了すれば、前記アイドル終了ワーカーを実行することによって、前記アイドル開始ワーカーのスケジュールを取り消す段階をさらに含む請求項16に記載のシステム・オン・チップの作動方法。
- 前記CPUは、第2ロードトラッカを保存する第2メモリと、前記第2ロードトラッカを実行する第2コアと、をさらに含み、前記システム・オン・チップの作動方法は、
前記第2ロードトラッカを実行することによって、前記第2コアで第2アイドルタスクが実行されるか否かを判断する段階と、
前記第2ロードトラッカを実行することによって、前記判断の結果に該当する第2イベントを生成する段階と、
前記第2ロードトラッカを実行することによって、前記生成された第2イベントを前記第1コアで実行される前記ブースタに通知する段階と、
前記ブースタを実行することによって、前記第1イベントと前記第2イベントとに基づいて、前記第1コアの設定QoS最小値と前記第2コアの設定QoS最小値とを設定する段階と、
前記QoSコントローラを実行することによって、前記第1コアの設定QoS最小値と前記第2コアの設定QoS最小値とに基づいて、前記周波数制御信号と前記電圧制御信号とを生成する段階と、
前記クロック管理ユニットが、前記周波数制御信号に応答して、前記第1コアに供給される前記第1クロック信号の第1周波数と前記第2コアに供給される第2クロック信号の第2周波数とを制御する段階と、
前記電力管理ユニットが、前記電圧制御信号に応答して、前記第1コアに第1作動電圧と前記第2コアに第2作動電圧とを供給する前記電力管理ICを制御する前記制御信号を生成する段階と、
を含む請求項11に記載のシステム・オン・チップの作動方法。 - 第1ロードトラッカ、ブースタ、及びQoSコントローラを保存する第1メモリと、前記第1ロードトラッカ、前記ブースタ、及び前記QoSコントローラを実行する第1コアと、を含むCPU;クロック管理ユニット;電力管理ユニット;及び電力管理ICを含むコンピューティングシステムの作動方法であって、
前記第1ロードトラッカを実行することによって、前記第1コアで第1アイドルタスクが実行されるか否かを判断する段階と、
前記第1ロードトラッカを実行することによって、前記判断の結果に該当する第1イベントを生成する段階と、
前記第1ロードトラッカを実行することによって、前記生成された第1イベントを前記ブースタに通知する段階と、
前記ブースタを実行することによって、前記第1イベントに基づいて前記第1コアのQoS最小値を設定する段階と、
前記QoSコントローラを実行することによって、設定されたQoS最小値に基づいて第1周波数制御信号と第1電圧制御信号とを生成する段階と、
前記クロック管理ユニットが、前記第1周波数制御信号に応答して、前記第1コアに供給される第1クロック信号の第1周波数を制御する段階と、
前記電力管理ユニットが、前記第1電圧制御信号に応答して、第1制御信号を前記電力管理ICに出力する段階と、
前記電力管理ICが、前記第1制御信号に応答して、前記第1コアに供給される第1作動電圧を制御する段階と、
を含むコンピューティングシステムの作動方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150122353A KR102375925B1 (ko) | 2015-08-31 | 2015-08-31 | Cpu의 작동 방법과 상기 cpu를 포함하는 시스템의 작동 방법 |
KR10-2015-0122353 | 2015-08-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017049999A JP2017049999A (ja) | 2017-03-09 |
JP6838897B2 true JP6838897B2 (ja) | 2021-03-03 |
Family
ID=58011595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016169324A Active JP6838897B2 (ja) | 2015-08-31 | 2016-08-31 | Cpuの作動方法と、該cpuを含むシステムの作動方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10496149B2 (ja) |
JP (1) | JP6838897B2 (ja) |
KR (1) | KR102375925B1 (ja) |
CN (1) | CN106484527B (ja) |
DE (1) | DE102016116158A1 (ja) |
TW (1) | TWI724021B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10656701B2 (en) * | 2016-12-16 | 2020-05-19 | Red Hat, Inc. | Managing processor frequencies |
KR20180076631A (ko) * | 2016-12-28 | 2018-07-06 | 삼성전자주식회사 | 반도체 장치의 성능 부스팅 방법 및 시스템 |
CN107423135B (zh) * | 2017-08-07 | 2020-05-12 | 上海兆芯集成电路有限公司 | 均衡装置以及均衡方法 |
US10732694B2 (en) * | 2017-09-22 | 2020-08-04 | Qualcomm Incorporated | Power state control of a mobile device |
CN109992314B (zh) * | 2019-04-09 | 2022-03-29 | Oppo广东移动通信有限公司 | 数据上报方法、装置、终端和存储介质 |
CN115373506A (zh) | 2021-05-21 | 2022-11-22 | 三星电子株式会社 | 集成电路、动态电压和频率缩放调节器及包括其的系统 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5414860A (en) * | 1991-01-29 | 1995-05-09 | International Business Machines Incorporated | Power management initialization for a computer operable under a plurality of operating systems |
US6154821A (en) * | 1998-03-10 | 2000-11-28 | Rambus Inc. | Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain |
US6298448B1 (en) | 1998-12-21 | 2001-10-02 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automatic CPU speed control based on application-specific criteria |
KR100390645B1 (ko) * | 2001-07-27 | 2003-07-07 | 삼성전자주식회사 | 이동통신단말기 시스템에서 소모전류를 줄이기 위한 방법 |
JP2007334497A (ja) | 2006-06-13 | 2007-12-27 | Renesas Technology Corp | 情報処理装置の省電力化方法、プログラム、およびプログラム実行システム |
US7882379B2 (en) | 2006-09-22 | 2011-02-01 | Sony Computer Entertainment Inc. | Power consumption reduction in a multiprocessor system |
US7900069B2 (en) | 2007-03-29 | 2011-03-01 | Intel Corporation | Dynamic power reduction |
CN101067758B (zh) * | 2007-06-14 | 2010-05-19 | 华南理工大学 | 一种嵌入式系统的能耗管理方法 |
CN101493761B (zh) * | 2008-01-25 | 2013-05-29 | 国际商业机器公司 | 处理器流水线处理指令的方法及相应的处理器 |
JP2010176742A (ja) * | 2009-01-29 | 2010-08-12 | Elpida Memory Inc | 半導体装置及びデータ処理システム |
US8321614B2 (en) | 2009-04-24 | 2012-11-27 | Empire Technology Development Llc | Dynamic scheduling interrupt controller for multiprocessors |
US9672132B2 (en) * | 2009-11-19 | 2017-06-06 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US9563250B2 (en) | 2009-12-16 | 2017-02-07 | Qualcomm Incorporated | System and method for controlling central processing unit power based on inferred workload parallelism |
US9104411B2 (en) | 2009-12-16 | 2015-08-11 | Qualcomm Incorporated | System and method for controlling central processing unit power with guaranteed transient deadlines |
JP2011216004A (ja) | 2010-04-01 | 2011-10-27 | Toyota Motor Corp | マイクロプロセッサ、電子制御ユニット、実行比率切り替え方法 |
US8381004B2 (en) | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
US20120042313A1 (en) * | 2010-08-13 | 2012-02-16 | Weng-Hang Tam | System having tunable performance, and associated method |
US8942932B2 (en) * | 2010-08-31 | 2015-01-27 | Advanced Micro Devices, Inc. | Determining transistor leakage for an integrated circuit |
JP2012113558A (ja) | 2010-11-25 | 2012-06-14 | Panasonic Corp | 割込み制御装置、割込み制御方法及び集積回路 |
TWI454905B (zh) | 2011-09-30 | 2014-10-01 | Intel Corp | 在多核心平台中之受限制的啓動技術 |
KR102005765B1 (ko) | 2012-12-17 | 2019-07-31 | 삼성전자주식회사 | 시스템-온 칩과, 이의 동작 방법 |
US9395784B2 (en) * | 2013-04-25 | 2016-07-19 | Intel Corporation | Independently controlling frequency of plurality of power domains in a processor system |
US9483092B2 (en) | 2013-10-14 | 2016-11-01 | Advanced Micro Devices, Inc. | Performance state boost for multi-core integrated circuit |
KR20150050135A (ko) * | 2013-10-31 | 2015-05-08 | 삼성전자주식회사 | 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법 |
KR20150122353A (ko) | 2014-04-23 | 2015-11-02 | 스타 제너레이션 리미티드 타이완 브랜치 | 골성장분말/생의학적필러를 회전식으로 밀어주는 구조를 지닌 임플란트 |
US9378536B2 (en) * | 2014-04-30 | 2016-06-28 | Qualcomm Incorporated | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing |
US10203746B2 (en) * | 2014-05-30 | 2019-02-12 | Apple Inc. | Thermal mitigation using selective task modulation |
US9904612B2 (en) * | 2015-07-08 | 2018-02-27 | Futurewei Technologies, Inc. | Dynamic voltage/frequency scaling for multi-processors using end user experience metrics |
US9952651B2 (en) * | 2015-07-31 | 2018-04-24 | International Business Machines Corporation | Deterministic current based frequency optimization of processor chip |
-
2015
- 2015-08-31 KR KR1020150122353A patent/KR102375925B1/ko active IP Right Grant
-
2016
- 2016-08-30 DE DE102016116158.6A patent/DE102016116158A1/de active Pending
- 2016-08-30 US US15/251,373 patent/US10496149B2/en active Active
- 2016-08-31 TW TW105127973A patent/TWI724021B/zh active
- 2016-08-31 JP JP2016169324A patent/JP6838897B2/ja active Active
- 2016-08-31 CN CN201610797860.1A patent/CN106484527B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
DE102016116158A1 (de) | 2017-03-02 |
KR102375925B1 (ko) | 2022-03-17 |
US10496149B2 (en) | 2019-12-03 |
CN106484527B (zh) | 2022-04-12 |
TW201710914A (zh) | 2017-03-16 |
US20170060222A1 (en) | 2017-03-02 |
JP2017049999A (ja) | 2017-03-09 |
TWI724021B (zh) | 2021-04-11 |
KR20170025625A (ko) | 2017-03-08 |
CN106484527A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6838897B2 (ja) | Cpuの作動方法と、該cpuを含むシステムの作動方法 | |
US8726055B2 (en) | Multi-core power management | |
US10649935B2 (en) | Deferred inter-processor interrupts | |
CN105183128B (zh) | 强制处理器进入低功率状态 | |
US9600059B2 (en) | Facilitating power management in a multi-core processor | |
US8181047B2 (en) | Apparatus and method for controlling power management by comparing tick idle time data to power management state resume time data | |
US7152169B2 (en) | Method for providing power management on multi-threaded processor by using SMM mode to place a physical processor into lower power state | |
TWI233545B (en) | Mechanism for processor power state aware distribution of lowest priority interrupts | |
CN103842933B (zh) | 多核平台中的受约束引导技术 | |
JP5982588B2 (ja) | 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法 | |
JP7547368B2 (ja) | プロセッサの処理回路の電流消費を動的に制御するためのシステム、装置及び方法 | |
US10990153B2 (en) | Application processor and system on chip | |
US20200166985A1 (en) | Multi-tiered low power states | |
US9507641B1 (en) | System and method for dynamic granularity control of parallelized work in a portable computing device (PCD) | |
KR20150112660A (ko) | 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치 | |
KR20210017054A (ko) | 멀티-코어 시스템 및 그 동작 제어 방법 | |
JP2016505913A (ja) | 保証された過渡期限とともに中央処理装置の電力を制御するためのシステムおよび方法 | |
US20230185623A1 (en) | Method of task transition between heterogenous processors | |
JP2010140151A (ja) | マルチプロセッサおよびその状態制御方法 | |
KR20210022850A (ko) | 반도체 장치의 성능 부스팅 제어 방법 및 이를 수행하는 반도체 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20161222 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20161228 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200929 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210212 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6838897 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |