JP7156781B2 - 電子機器及びその動作方法 - Google Patents

電子機器及びその動作方法 Download PDF

Info

Publication number
JP7156781B2
JP7156781B2 JP2017159266A JP2017159266A JP7156781B2 JP 7156781 B2 JP7156781 B2 JP 7156781B2 JP 2017159266 A JP2017159266 A JP 2017159266A JP 2017159266 A JP2017159266 A JP 2017159266A JP 7156781 B2 JP7156781 B2 JP 7156781B2
Authority
JP
Japan
Prior art keywords
clock
processor circuit
processor
circuit
cache
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
Application number
JP2017159266A
Other languages
English (en)
Other versions
JP2018106672A (ja
Inventor
東 郁 文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2018106672A publication Critical patent/JP2018106672A/ja
Application granted granted Critical
Publication of JP7156781B2 publication Critical patent/JP7156781B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • 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
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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/3243Power saving in microcontroller unit
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/126Monitoring of intermediate fill level, i.e. with additional means for monitoring the fill level, e.g. half full flag, almost empty flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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

Description

本発明は、電子機器及びその動作方法に関する。
システム・オン・チップ(SoC:system on chip)では、1つのチップ(chip)に、電子機器のさまざまなデバイスが一つに集積され、電力管理が容易であるという長所がある。ある場合、SoCに集積されるデバイスに対して、クロック(clock)をディセーブル(disable)にするクロックゲーティング(clock gating)が行われれば、当該デバイスの動的電力(dynamic power)は低減される。従来技術によれば、特定デバイスに対するクロックゲーティングが行われるとき、中央処理装置(CPU:central processing unit)が当該デバイスのドライバに接続(access)し、作業キュー(job queue)を確認することができ、該作業キューがエンプティである場合、当該デバイスが遊休状態(idle status)にあると判断する。その後、該CPUは、SoCに集積されるデバイスのうち一つであるクロック管理部(CMU:clock management unit)をCMUドライバを介して制御し、当該デバイスのクロックをゲーティングすることができる。
本発明の一実施形態は、動的電力を減らすことができる電子機器、及びその電子機器の動作方法を提供するものである。
一実施形態による電子機器は、クロック管理回路、及び前記クロック管理回路と直接に接続されたプロセッサ回路を含み得る。前記クロック管理回路は、クロック信号を制御することができる。前記プロセッサ回路は、前記プロセッサ回路の動作状態により、前記クロック管理回路に、前記クロック信号と関連したクロック制御要請を伝送することができる。
一実施形態によれば、電子機器の動作方法は、前記電子機器のプロセッサ回路の動作状態を決定する段階と、前記プロセッサ回路を利用して、前記プロセッサ回路の前記動作状態により、クロック管理回路に、クロック信号と関連したクロック制御要請を直接に伝送する段階と、を含み得る。
一実施形態によれば、電子機器は、ハードウェアキャッシュ一貫性を支援する第1プロセッサ回路及び第2プロセッサ回路、並びに前記第1プロセッサ回路のクロック信号、及び前記第2プロセッサ回路のクロック信号いずれも制御するクロック管理回路を含み得る。前記第2プロセッサ回路は、前記第2プロセッサ回路が、前記第1プロセッサ回路からキャッシュ一貫性信号を受信したという判断に基づいて、前記クロック管理回路にクロックイネーブル要請を伝送することができる。前記クロック管理回路は、前記クロックイネーブル要請に応答し、前記第2プロセッサ回路をイネーブルにすることができる。
一実施形態によれば、電子機器は、プログラム命令語を保存するメモリ及びプロセッサを含み得る。該プロセッサは、前記プロセッサと関連した動作状態を決定し、前記プロセッサの動作状態により、クロック管理回路に、クロック信号と関連したクロック制御要請を伝送するためのプログラム命令語を実行することができる。
一実施形態による電子機器を示す図である。 一実施形態による電子機器の内部構成を示す図である。 一実施形態による電子機器のクロック制御動作を示す図である。 一実施形態による、クロック管理要請インターフェースとCMUとの動作を示す図である。 一実施形態による、クロック管理要請判断部の判断結果によって、CMUにクロックイネーブル要請またはクロックディセーブル要請を伝送するプロセスを示す図である。 一実施形態による、クロック管理要請インターフェースとキャッシュ一貫性インターフェースとを示す図である。 一実施形態による電子機器の動作方法を示すフローチャートである。 一実施形態による、プロセッサの動作状態を判断する方法を示すフローチャートである。
以下、図面を参照し、多様な例示的な実施形態について詳細に説明する。以下で説明する例示的な実施形態は、さまざまに異なる形態に変形されて実施される。例示的な実施形態の特徴についてさらに明確に説明するために、以下の実施形態が属する技術分野で当業者に周知の事項については、詳細な説明は省略する。本明細書で使用されているように、「及び/または」という用語は、関連して列挙された項目のうち1以上の任意、または全ての組み合わせを含んでもよい。
なお、本明細書において、ある構成が他の構成と「接続」されているとするとき、それは、「直接に接続」されている場合だけではなく、「その中間に他の構成を挟んで接続」されている場合も含む。また、ある構成が他の構成を「含む」とするとき、それは、特別に反対となる記載がない限り、それ以外の構成を除くものではなく、他の構成をさらに含んでもよいということを意味する。
図1は、一実施形態による電子機器を示す図である。
図1を参照すれば、一実施形態による電子機器100は、中央処理装置(CPU:central processing unit)110、デジタル信号処理装置(DSP:digital signal processor)120、メモリ130、グラフィック処理装置(GPU:graphic processing unit)140及びクロック管理部(CMU:clock management unit)150を含み得る。ただし、かような構造は、1つの例示に過ぎず、電子機器100は、追加して多様なデバイスをさらに含んでもよい。例えば、電子機器100は、入出力インターフェース(input/output interface)などをさらに含んでもよい。
CPU 110、DSP 120、GPU 140及びCMU 150それぞれは、CPU 110、DSP 120、GPU 140及びCMU 150それぞれを実施(implement)するための一種の電気回路を含み得る。CPU 110、DSP 120、GPU 140及びCMU 150のうち1以上は、プロセッサを含んでもよい。本明細書において該プロセッサは、「プロセッサ回路」及び/または「プロセッシングデバイス」と相互交換的に(interchangeably)指称される。
CPU 110、DSP 120、GPU 140及びCMU 150のような処理装置それぞれは、それぞれの機能によってデータを入力されて記憶し、演算し、演算されたデータを出力することによってデータを処理する1以上の電気回路を含み得る。CPU 110、DSP 120、GPU 140及びCMU 150のような処理装置は、他種のプロセッシングデバイス(例えば、他のプロセッサ回路の種類)と関連したプロセッシングデバイス(「プロセッサ回路」)でもある。かような処理装置は、データ処理のために、それぞれキャッシュ111,121,141を含んでもよい。電子機器100は、かようなキャッシュ111,121,141間において、保存されたデータを共有するためのキャッシュ一貫性(cache coherence)を支援することができる。また、キャッシュ一貫性は、ソフトウェア的処理ではなく、ハードウェア間の直接接続を介して支援される。それについては、追って詳細に説明する。
メモリ130(また、本明細書において、「メモリデバイス」と相互交換的に指称されもする)は、電子機器100の駆動に係わるOS(operating system)、各種プログラム及びデータを保存する一種の電気回路を含み得る。また、メモリ130に保存されたデータは、各処理装置に提供される。一実施形態において、CPU 110、DSP 120、GPU 140及びCMU 150それぞれは、メモリ130に保存されたプログラム命令語の実行に基づいて、本明細書で説明するように、1以上の機能(functionality)及び/またはユニット、エレメントなどを実施することができる。
CMU 150は、電子機器100のクロック(clock)信号を管理する電気回路を含み得る。CMU 150は、CPU 110、DSP 120、メモリ130、GPU 140など各デバイスに入力されるクロック信号を制御することができる。さらに具体的には、CMU 150は、選択的に、各デバイスに入力されるクロック信号をイネーブル(enable)またはディセーブル(disable)にする。本明細書において、CMU 150は、「クロック管理回路」と相互交換的に指称されることがある。
かような個別デバイスは、バス(bus)160で接続される。バス160は、システムバスを含み、所定の標準バス規格を有するプロトコルが適用されたバスによっても具現される。例えば、該標準バス規格として、ARM(Advanced RISC Machine)社のAMBA(Advanced Microcontroller Bus Architecture)プロトコルが適用される。それ以外にも、ソニック社(SONICs Inc.)のuNetworkや、IBMのCoreConnect、OCP-IPのオープンコアプロトコル(Open Core Protocol)など他タイプのプロトコルがシステムバスに適用される。
電子機器100は、システム・オン・チップ(SoC)にも具現される。言い換えれば、CPU 110、DSP 120、メモリ130、GPU 140及びCMU 150などは、集積されて1つのチップにも具現される。
図2は、一実施形態による電子機器の内部構成を示す図である。図2を参照すれば、電子機器200は、CMU 210及びプロセッサ220を含む。図2に図示されているように、プロセッサ220は、キャッシュ221、状態レジスタ(status register)222、クロック管理要請判断部(clock management request determination unit)223及びクロック管理要請インターフェース(clock management request interface)224を含んでもよい。キャッシュ221、状態レジスタ222、クロック管理要請判断部223及びクロック管理要請インターフェース224それぞれは、プロセッサ220から独立した個別的な電気回路によっても実施される。プロセッサ220は、CMU 210に直接に接続される(例えば、1以上のハードウェアダイレクト構造的インターフェース、ハードウェア直接通信インターフェース、それらの組み合わせ、またはそのようなインターフェースを介する)。
CMU 210は、クロック信号を制御する。CMU 210は、多数の回路のクロック信号を制御することができる(例えば、第1プロセッサ回路のクロック信号、及び第2プロセッサ回路のクロック信号をいずれも制御することができる)。CMU 210は、直接接続されたプロセッサ220から、クロック信号制御要請を受信することができる。言い換えれば、CMU 210は、他のデバイスを経ず、プロセッサ220から直接クロック信号の制御要請を受信することができる。プロセッサ220は、本明細書において、プロセッサ回路と相互交換的に指称する。
CMU 210は、プロセッサ220の要請により、プロセッサ220に入力されるクロック信号を選択的にイネーブル(あるいは、選択的にディセーブル)にする(例えば、プロセッサ220から、クロックイネーブル要請またはクロックディセーブル要請を受信するかということに基づいて、選択的に、クロック信号入力をイネーブルにしたりディセーブルにしたりする)。このとき、CMU 210は、プロセッサ220からクロックディセーブル要請を受信しても、クロックディセーブル要請を受信した時点と、直前(immediately precedingまたはimmediately previous)クロックイネーブル時点との時間間隔が、特定臨界時間以下であるという判断に基づいて、プロセッサ220に入力されるクロック信号をディセーブルにせず、イネーブル(例えば、選択的にクロック信号入力をイネーブルにする)に維持することができる。かように、CMU 210は、クロック状態変更間隔を一定時間以上に維持することにより、プロセッサ220の処理効率を高めることができる。
図3及び図4を参照し、該CMUのクロック制御動作について説明する。
図3は、一実施形態による電子機器のクロック制御動作を示す図である。図3において、プロセッサ340、例えば、GPU、DSPのような処理装置は、CMU 310の制御によってクロックを入力される。
CMU 310は、プロセッサ340からクロック信号(CKL)の制御要請を受信し、ANDゲート330に0または1を出力する。
クロック生成部320(また、本明細書において、「クロック生成回路」ともされる)は、クロック信号を生成し、ANDゲート330に、生成したクロック信号を出力(「伝送(communicates)」)する。
CMU 310が0を出力する場合、ANDゲート330によってプロセッサ340に入力される信号が0になりであり、プロセッサ340のクロック信号は、ディセーブルになる。CMU 310が1を出力する場合、ANDゲート330によってクロック生成部320で生成されたクロック信号がプロセッサ340に入力され(「伝送され」)、プロセッサ340のクロック信号は、イネーブルになる。
一実施形態によれば、プロセッサ340が異なるデバイスを経ず、CMU 310と直接接続され(例えば、ハードウェア直接通信インターフェースを介して、CMU 310と直接に通信接続)、プロセッサ340は、プロセッサ340が遊休状態(idle status)または活性状態(active status)であるかということに基づいて、選択的にプロセッサ340に入力されるクロック信号のイネーブル要請またはディセーブル要請を、CMU 310に直接に伝達(「伝送」)する。従って、信号処理プロセスに遅延が発生せず、クロックが即座にイネーブルまたはディセーブルになる。
図4は、一実施形態による、クロック管理要請インターフェースとCMUとの動作を示す図である。図4を参照すれば、プロセッサ220は、選択的に、CMU 210にクロック管理要請信号CLK REQを伝送することができる。このとき、クロック管理要請信号CLK REQは、プロセッサ220が遊休状態または活性状態であるかということに基づいて、クロックイネーブル要請でもあり、クロックディセーブル要請でもある。
クロック管理要請信号CLK REQを受信したCMU 210は、信号を受信したというACCEPT信号をプロセッサ220に伝送し、プロセッサ220とCMU 210との間でハンドシェイク(handshake)が具現される。
プロセッサ220は、ACCEPT信号を受信する場合、CMU 210にACCEPT信号受信を確認するためのACK信号を伝送することもできる。
再び図2の説明に戻れば、プロセッサ220は、キャッシュ221、プロセッサ220の動作状態を保存することができる状態レジスタ222、状態レジスタ222(例えば、動作状態の保存)に保存されたプロセッサ220の動作状態を判断することができるクロック管理要請判断部223、及びCMU 210と直接(directly)接続されるクロック管理要請インターフェース224を含み得る。プロセッサ220は、プログラム命令語の実行に基づいて、キャッシュ221、状態レジスタ222、クロック管理要請判断部223及びクロック管理要請インターフェース224のうち、一部またはいずれも実施することができる。該プログラム命令語は、図1に図示されたメモリ130に保存され得る。
キャッシュ221は、ラストレベルキャッシュ(LLC:last level cache)でもある。さらに、キャッシュ221は、キャッシュ一貫性(cache coherence)を支援するためのキャッシュ一貫性インターフェース(cache coherence interface)(図示せず)を含み、それを利用して、他のデバイスに含まれたキャッシュとの関係において、ハードウェアキャッシュ一貫性を支援することができる。
プロセッサ220は、クロック管理要請判断部223の判断結果により、クロック管理要請インターフェース224を介して、直接そして選択的に、CMU 210にクロックイネーブル要請またはクロックディセーブル要請を伝送することができる(例えば、プロセッサ220が遊休状態または活性状態であるかということに基づく)。
状態レジスタ222は、プロセッサ220のパイプライン状態を保存するプロセッサ状態レジスタ222-1と、キャッシュ221の状態を保存するキャッシュ状態レジスタ222-2とを含んでもよい。プロセッサ状態レジスタ222-1は、プロセッサ220のパイプラインが活性状態であるか、または遊休状態であるかということを保存することができる。さらに具体的な動作について述べれば、プロセッサ状態レジスタ222-1は、プロセッサ220が作業キュー(job queue)の最後作業を終わる場合(例えば、プロセッサ回路が作業キューの最後作業を完了したという判断に基づく)、遊休状態にアップデートされる。キャッシュ状態レジスタ222-2は、キャッシュ221が活性状態であるか、または遊休状態であるかということを保存することができる。さらに具体的な動作について述べれば、キャッシュ状態レジスタ222-2は、キャッシュ221が、要請された作業を終え、FIFO(first-in-first-out)エンプティ状態(FIFO empty condition)である場合(例えば、キャッシュ221が、要請された作業を完了したという判断に基づく)、遊休状態にアップデートされる。言い換えれば、キャッシュ状態レジスタ222-2は、プロセッサ220のメモリシステムが遊休状態であるか否かということを示すことができる。
クロック管理要請判断部223は、状態レジスタ222を利用して、プロセッサ220が遊休状態であるか、または活性状態であるということを判断することができる。さらに具体的には、クロック管理要請判断部223は、状態レジスタ222に保存されたプロセッサ220のパイプラインと、キャッシュ221の状態とを基に、プロセッサ220が遊休状態であるか、または活性状態であるということを判断することができる。
また、クロック管理要請判断部223は、キャッシュ一貫性インターフェースを介して、キャッシュ一貫性と係わるキャッシュ一貫性信号が伝送または受信されるということを判断することができる。さらに具体的には、クロック管理要請判断部223は、プロセッサ220において、キャッシュ一貫性トラフィック(cache coherent traffic)が伝送または受信されているかということを判断することができる。さらに具体的には、クロック管理要請判断部210は、キャッシュ一貫性のためのスヌープトラフィック(snoop traffic)が、他のプロセッサに伝送されたり、他のプロセッサから受信されたりするかということを判断することができる。さらに、クロック管理要請判断部223は、他のデバイス(例えば、別個のデバイス)が、プロセッサ220(例えば、プロセッサ回路)に接続しているか否かということを判断することもできる。さらに具体的には、他のデバイスが、プロセッサデバイスドライバを介して、プロセッサ220の制御レジスタまたは状態レジスタに、読み取り動作または書き込み動作を行うかということ判断することができる。
クロック管理要請判断部223が、プロセッサ220のパイプラインとキャッシュ221とが遊休状態であり、キャッシュ一貫性トラフィックが伝送または受信されておらず、他のデバイス(例えば、別個のデバイス)が、プロセッサ220(例えば、プロセッサ回路)に接続していないと判断する場合、プロセッサ220が遊休状態であると判断することができる。プロセッサ220のパイプラインまたはキャッシュ221が活性状態であるか、キャッシュ一貫性トラフィックが伝送または受信されているか、あるいは他のデバイスがプロセッサ220に接続していると判断する場合、クロック管理要請判断部223は、プロセッサ220が活性状態であると判断することができる。
図5を参照し、さらに詳細に説明する。図5は、一実施形態による、クロック管理要請判断部の判断結果によって、該CMUにイネーブル要請またはディセーブル要請を伝送するプロセスを示す図である。図5において説明される動作は、本明細書でのプロセッサ、プロセッシングデバイスのうち、一部またはいずれによっても実施される。
図5を参照すれば、クロック管理要請判断部223は、次の四種条件によって、CMU 210へのイネーブル要請またはディセーブル要請を判断する。
1.プロセッサ220のパイプライン状態
2.キャッシュ221の状態
3.キャッシュ一貫性トラフィックが、他のプロセッサに伝送されるか、あるいは他のプロセッサから受信されるということ
4.他のデバイスがプロセッサ220に接続するか否かということ。
一実施形態において、クロック管理要請インターフェース224から出力されるクロック管理要請信号CLK REQが0であるならば(例えば、0の値を有する)、CMU 210にクロックディセーブル要請がなされる。さらに具体的に述べれば、プロセッサ220のパイプラインが遊休状態であり、ORゲート510の第1入力521が0になり、キャッシュ221が遊休状態あり、ORゲート510の第2入力522が0になり、キャッシュ一貫性トラフィックが伝送または受信されず、ORゲート510の第3入力523が0になり、他のデバイスがプロセッサ220に接続せず、ORゲート510の第4入力524が0になる場合、言い換えれば、ORゲート510の入力がいずれも0になる場合、ORゲート510の出力は、0になる。このとき、クロック管理要請判断部223は、プロセッサ220が遊休状態であると判断し、クロック管理要請インターフェース224を介して、クロック管理要請信号CLK REQが0であるクロックディセーブル要請をCMU 210に伝送することができる。
一方、クロック管理要請インターフェース224から出力されるクロック管理要請信号CLK REQが1であるならば、CMU 210にクロックイネーブル要請がなされる。さらに具体的に述べれば、プロセッサ220のパイプラインが活性状態であり、ORゲート510の第1入力521が1になるか、キャッシュ221が活性状態であり、ORゲート510の第2入力522が1になるか、キャッシュ一貫性トラフィックが伝送または受信され、ORゲート510の第3入力523が1になるか、または他のデバイスがプロセッサ220に接続し、ORゲート510の第4入力524が1になる場合、言い換えれば、4個のORゲート510の入力521~524のうちいずれか一つでも1を満足する場合、ORゲート510の出力は、1になる。クロックイネーブル要請は、プロセッサ220のクロックがディセーブルの状態で発生するので、概してキャッシュ一貫性トラフィックが伝送または受信(例えば、プロセッサ220と、他の「別個の」デバイスとの通信)されるか、あるいは他のデバイスがプロセッサ220に接続する場合、イネーブル要請が伝送される。従って、プロセッサ220は、クロック管理要請インターフェース224を介して、クロック管理要請信号CLK REQが1であるイネーブル要請をCMU 210に伝送することができる。
一実施形態によれば、他の「別個の」デバイスがプロセッサ220に接続し、プロセッサ220の動作状態を判断するのではなく、プロセッサ220に含まれたクロック管理要請判断部223が、プロセッサ220の遊休時点を判断する。また、プロセッサ220がCMU 210に直接接続され(例えば、1以上のハードウェアダイレクト構造的インターフェース、ハードウェア直接通信インターフェース、それらの組み合わせ、またはそのようなインターフェースを介する)、クロック信号の制御要請を直接(例えば、ハードウェア直接通信インターフェースを介する)伝送することにより、他のデバイスは、CMU 210の制御レジスタに、プロセッサ220のクロックを制御するための命令(command)を保存しない。従って、信号処理プロセスにおいて遅延が発生せず、クロックを即座にイネーブルまたはディセーブルにする。
再び図2の説明に戻れば、電子機器200は、バスを含み、クロック管理要請インターフェース224は、バスを介して、CMU 210と直接接続される。また、電子機器200は、バスを介して、プロセッサ220のキャッシュ221と、他デバイスに含まれたキャッシュとの間で、キャッシュ一貫性を支援することができる。図6を参照し、さらに具体的に説明する。
図6は、一実施形態によるクロック管理要請インターフェースと、キャッシュ一貫性インターフェースとを示す図である。図6を参照すれば、該電子機器は、CMU 210、プロセッサ220及びデバイス230を含む。本明細書において「他のデバイス」は、「別個のデバイス」と相互交換的に指称される。また、前述のように、「プロセッサ」は「プロセッサ回路」と相互交換的に指称される。
プロセッサ220は、キャッシュ221とクロック管理要請インターフェース224とを含み、キャッシュ221は、キャッシュ一貫性インターフェース610を含んでもよい。デバイス230も、キャッシュ232を含み、デバイス230に含まれたキャッシュ232も、キャッシュ一貫性インターフェース620を含んでもよい。他のデバイス230は、例えば、CPUでもあり、プロセッサ220は、GPUまたはDSPのような処理装置でもある。プロセッサ220は、メモリ(図示せず)に保存されたプログラム命令語の実行に基づいて、キャッシュ221のキャッシュ一貫性インターフェース610及びキャッシュ一貫性インターフェース620を実施することができる。該メモリは、図1に図示されたメモリ130でもある。
プロセッサ220のキャッシュ一貫性インターフェース610と、デバイス230のキャッシュ一貫性インターフェース620は、バス240を介して直接接続される。従って、電子機器200は、メモリを使用せず、キャッシュ間の直接接続を介して、ハードウェア的にキャッシュ一貫性を支援することができる。
ハードウェア的にキャッシュ一貫性を支援する場合、従来には、プロセッサ220がスヌープトラフィックをサービスするために、常にクロックをイネーブルしていなければならなかった。しかし、一実施形態において、プロセッサ220がクロック管理要請インターフェース224を介して、CMU 210と直接接続され(例えば、任意の中間(intervening)デバイスを介して接続されない)CMU 210にクロック信号の制御要請を伝送することにより、ハードウェアキャッシュ一貫性を支援する環境においても、クロックゲーティングを行うことができ、動的電力消費を減らすことができる。
再び図2の説明に戻れば、CMU 210は、別個のデバイスによって制御されてもよい。CMU 210を制御する別個のデバイス(図示せず)は、CMU 210デバイスドライバを介して、CMU 210を制御することができる。さらに具体的には、CMU 210を制御する別個のデバイスは、CMU 210の制御レジスタ(control register)に接続(access)し、電子機器200に含まれた各デバイスのクロックを制御せよという命令(command)を保存することができる。CMU 210を制御する別個のデバイスは、図1に図示されたCPUでもある。
以上、電子機器200の構成について説明した。以下では、電子機器200の動作方法について説明する。
図7は、一実施形態による、電子機器の動作方法を示すフローチャートである。図7に図示された動作は、本明細書のプロセッサ、プロセッシングデバイスのうち、一部またはいずれによっても実施される。図7を参照すれば、まず、710段階において、電子機器200は、プロセッサ220が遊休状態であるか、または活性状態であるかという動作状態を判断することができる。
その後、720段階において、プロセッサ220の動作状態により、プロセッサ220が、直接CMU 210にクロック信号の制御信号要請を伝送する。710段階において、プロセッサ220の動作状態が遊休状態であると判断する場合、プロセッサ220は、CMU 210にクロックディセーブル要請を伝送することができる。一方、プロセッサ220の動作状態が活性状態であると判断する場合、プロセッサ220は、CMU 210にクロックイネーブル要請を伝送することができる。
CMU 210は、プロセッサ220からクロックイネーブル要請を受信する場合、プロセッサ220に入力されるクロックをイネーブルにし、クロックディセーブル要請を受信する場合、プロセッサ220に入力されるクロックをディセーブルにする。しかし、クロックディセーブル要請を受信した時点と、直前クロックイネーブル時点との時間間隔が特定臨界時間以下である場合、CMU 210は、プロセッサ220に入力されるクロックをディセーブルにせず、イネーブルに維持することができる。
図8は、一実施形態によるプロセッサの動作状態を判断する方法を示すフローチャートである。図8に図示された方法は、本明細書のプロセッサ、プロセッシングデバイスのうち、一部またはいずれによっても実施される。図8を参照すれば、まず、810段階において、プロセッサ220は、自身のパイプライン状態を判断する。810段階において、自身のパイプラインが活性状態であると判断する場合、プロセッサ220は、860段階に進み、CMU 210にクロックイネーブル要請を伝送する。810段階において、自身のパイプラインが遊休状態であると判断する場合、プロセッサ220は、820段階に進む。
820段階において、プロセッサ220は、自身のキャッシュ221状態を判断する。820段階において、自身のキャッシュ221が活性化状態であると判断する場合、プロセッサ220は、860段階に進み、CMU 210にイネーブル要請を伝送する。810段階において、自身のキャッシュ221が遊休状態であると判断する場合、プロセッサ220は、830段階に進む。
830段階において、プロセッサ220は、キャッシュ一貫性トラフィックが伝送または受信されるかということを判断する。830段階において、キャッシュ一貫性トラフィックが伝送または受信されると判断する場合、プロセッサ220は、860段階に進み、CMU 210にクロックイネーブル要請を伝送する。830段階において、キャッシュ一貫性トラフィックが伝送または受信されないと判断する場合、プロセッサ220は、840段階に進む。
840段階において、プロセッサ220は、他のデバイスが自身に接続しているか否かということを判断する。840段階において、他のデバイスが自身に接続していると判断する場合、プロセッサ220は、860段階に進み、CMU 210にクロックイネーブル要請を伝送する。840段階において、他のデバイスが自身に接続していないと判断する場合、プロセッサ220は、850段階に進み、CMU 210にディセーブル要請を伝送する。
図8で図示するプロセッサの動作状態を判断する方法は、1つの実施形態であり、他の方法で具現することも可能である。例えば、830段階、言い換えれば、キャッシュ一貫性トラフィックが伝送または受信されるかということを判断する段階が最も先に行われてもよい。または、840段階、言い換えれば、他のデバイスがプロセッサ220に接続しているか否かということを判断する段階が、キャッシュ221の動作状態を判断する820段階より先に行われてもよい。
本実施形態による装置は、プロセッサ、プログラムデータを保存して実行するメモリ、ディスクドライブのような永久保存部(permanent storage)、外部装置と通信する通信ポート、タッチパネル・キー(key)・ボタンのようなユーザインターフェース装置などを含んでもよい。ソフトウェアモジュールまたはアルゴリズムによって具現される方法は、前記プロセッサ上で実行可能なコンピュータ読み取り可能コードまたはプログラム命令として、コンピュータ読み取り可能記録媒体上に保存される。ここで、コンピュータ読み取り可能記録媒体として、マグネチック記録媒体(例えば、ROM(read-only memory)、RAM(random access memory)、フロッピーディスク、ハードディスクなど)及び光学的判読媒体(例えば、CD-ROM(compact disc read only memory)、DVD(digital versatile disc))などがある。コンピュータ読み取り可能記録媒体は、ネットワークに接続されたコンピューターシステムに分散され、該分散方式で、コンピュータ可読なコードが保存されて実行される。該媒体は、コンピュータによって可読なものであり、メモリに保存され、プロセッサで実行される。
一部例示的な実施形態は、機能的なブロック構成及び多様な処理段階で示される。かような機能ブロックは、特定機能を実行する多様な個数のハードウェア構成または/及びソフトウェア構成によっても具現される。例えば、一部例示的な実施形態は、1以上のマイクロプロセッサの制御、または他の制御装置によって多様な機能を実行することができる、メモリ、プロセッシング、ロジック(logic)、ルックアップテーブル(look-up table)のような直接回路構成を採用することができる。該構成要素が、ソフトウェアプログラミングまたはソフトウェア要素で実行されることと類似して、一部例示的な実施形態は、データ構造、プロセス、ルーチン、または他のプログラミング構成の組み合わせによって具現される多様なアルゴリズムを含み、C、C++、ジャバ(登録商標(Java))、アセンブラ(assembler)のようなプログラミング言語またはスクリプティング言語によっても具現される。機能的な側面は、1以上のプロセッサで実行されるアルゴリズムによっても具現される。また、一部例示的な実施形態は、電子的な環境設定、信号処理及び/またはデータ処理などのために、従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は、汎用され、機械的であって物理的な構成として限定されるものではない。前述の用語は、プロセッサなどと連繋し、ソフトウェアの一連処理(routines)の意味を含む。
一部例示的な実施形態において説明する特定実行は例示であり、いかなる方法によっても技術的範囲を限定するものではない。明細書の簡潔さのために、従来の電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面の記載は省略される。また、図面に図示された構成要素間の線の接続または接続部材は、機能的な接続、及び/または物理的または回路的な接続を例示的に示したものであり、実際の装置では、代替可能であったり追加されたりする多様な機能的な接続、物理的な接続または回路的な接続としても示される。
本明細書(特に、特許請求の範囲)において、「前記」の用語、及びそれと類似した指示用語の使用は、単数及び複数のいずれにも該当する。また、範囲(range)を記載した場合、前記範囲に属する個別的な値を含み(それに反する記載がなければ)、詳細な説明において、前記範囲を構成する各個別的な値を記載した通りである。最後に、方法を構成する段階について、明白に順序を記載したり、それに反対したりする記載がなければ、前記段階は、適切な順序で行われる。必ずしも前述の段階の記載順序に限定されるものではない。全ての例、または例示的な用語(例えば、など)の使用は、単に技術的思想を詳細に説明するためのものであり、特許請求の範囲によって限定されない以上、前記例、または例示的な用語によって、範囲が限定されるものではない。また、当業者は、多様な修正、組み合わせ及び変更が付加された特許請求の範囲、またはその均等物の範疇内で、設計条件及びファクタによっても構成されるということが分かるであろう。
本発明の、電子機器及びその動作方法は、例えば、デバイス関連の技術分野に効果的に適用可能である。
100,200 電子機器
110 中央処理装置(CPU)
111,121,141,221,232 キャッシュ
120 デジタル信号処理装置(DSP)
130 メモリ
140 グラフィック処理装置(GPU)
150,210,310 クロック管理部(CMU)
160,240 バス
220,340 プロセッサ
222 状態レジスタ
222-1 プロセッサ状態レジスタ
222-2 キャッシュ状態レジスタ
223 クロック管理要請判断部
224 クロック管理要請インターフェース
230 デバイス
320 クロック生成部
330 ANDゲート
510 ORゲート
610,620 キャッシュ一貫性インターフェース

Claims (17)

  1. クロック信号を制御するクロック管理回路と、
    前記クロック管理回路と直接接続されたプロセッサ回路であり、当該プロセッサ回路の動作状態に従って、前記クロック管理回路に、前記クロック信号をイネーブルにするためのクロックイネーブル要請、又は前記クロック信号をディセーブルにするためのクロックディセーブル要請を伝送するプロセッサ回路と、
    を含み、
    前記プロセッサ回路は、前記プロセッサ回路の前記動作状態を決定するために、
    前記プロセッサ回路のパイプライン及びキャッシュが遊休状態であるということを判断し、
    キャッシュ一貫性トラフィックが、前記プロセッサ回路を介して、伝送されているか否かということを判断し、
    別個のデバイスが、前記プロセッサ回路に接続しているか否かということを判断する、
    電子機器。
  2. 前記プロセッサ回路は、前記クロック管理回路と直接接続されたクロック管理要請インターフェースを含み、
    前記プロセッサ回路は、前記プロセッサ回路の動作状態を保存し、前記プロセッサ回路の前記保存された動作状態を決定する、
    ことを特徴とする請求項1に記載の電子機器。
  3. 前記プロセッサ回路は、前記プロセッサ回路が遊休状態であるか、または活性状態であるということを判断する、
    ことを特徴とする請求項2に記載の電子機器。
  4. 前記プロセッサ回路は、
    前記プロセッサ回路が遊休状態であるという判断に基づいて、前記クロック管理回路に前記クロックディセーブル要請を伝送し、
    前記プロセッサ回路が活性状態であるという判断に基づいて、前記クロック管理回路に前記クロックイネーブル要請を伝送する、
    ことを特徴とする請求項3に記載の電子機器。
  5. 前記クロック管理回路は、
    前記クロック管理回路が、前記プロセッサ回路から前記クロックイネーブル要請を受信したことに基づいて、前記プロセッサ回路に入力されるクロックをイネーブルにし、
    前記クロック管理回路が、前記プロセッサ回路から前記クロックディセーブル要請を受信したことに基づいて、前記プロセッサ回路に入力されるクロックをディセーブルにする、
    ことを特徴とする請求項4に記載の電子機器。
  6. 前記クロック管理回路は、
    前記クロック管理回路が前記クロックディセーブル要請を受信したとき、前記クロック管理回路において、前記クロックディセーブル要請を受信した時点と、直前クロックイネーブル時点との時間間隔が、特定臨界時間以下であるという判断に基づいて、前記プロセッサ回路に入力されるクロックをディセーブルにせず、イネーブルに維持する、
    ことを特徴とする請求項5に記載の電子機器。
  7. 前記プロセッサ回路は、
    前記プロセッサ回路のパイプライン状態を保存し、前記プロセッサ回路が作業キューにある最後の作業を完了したという判断に基づいて、前記パイプライン状態を遊休状態にアップデートするプロセッサ状態レジスタと、
    前記プロセッサ回路に含まれた前記キャッシュの状態を保存し、前記キャッシュが、要請された作業を完了し、FIFO(first-in-first-out)エンプティ状態という判断に基づいて、前記キャッシュの前記状態を遊休状態にアップデートするキャッシュ状態レジスタと、を含む、
    ことを特徴とする請求項2に記載の電子機器。
  8. 前記キャッシュは、キャッシュ一貫性を支援するためのキャッシュ一貫性インターフェースを含む、
    ことを特徴とする請求項7に記載の電子機器。
  9. 記プロセッサ回路の前記パイプラインと、前記キャッシュとが遊休状態であり、前記キャッシュ一貫性トラフィックが、前記プロセッサ回路と、前記別個のデバイスとの間で伝送されず、前記別個のデバイスが、前記プロセッサ回路に接続していないという判断に基づいて、前記プロセッサ回路が遊休状態にあると判断し、
    前記プロセッサ回路の前記パイプラインまたは前記キャッシュが活性状態であるか、前記キャッシュ一貫性トラフィックが、前記プロセッサ回路と、前記別個のデバイスとの間で伝送されるか、あるいは前記別個のデバイスが、前記プロセッサ回路に接続しているという判断に基づいて、前記プロセッサ回路が活性状態にあると判断する、
    ことを特徴とする請求項8に記載の電子機器。
  10. 前記プロセッサ回路とのキャッシュ一貫性を支援するデバイスをさらに含み、
    前記デバイスに含まれたキャッシュは、前記キャッシュ一貫性を支援するためのキャッシュ一貫性インターフェースを含み、
    前記プロセッサ回路の前記キャッシュと、前記デバイスの前記キャッシュは、前記プロセッサ回路の前記キャッシュ一貫性インターフェース、及び前記デバイスの前記キャッシュ一貫性インターフェースそれぞれを介して直接に接続され、前記プロセッサ回路は、ハードウェアキャッシュ一貫性を支援する、
    ことを特徴とする請求項8に記載の電子機器。
  11. 電子機器の動作方法において、
    前記電子機器のプロセッサ回路の動作状態を決定する段階と、
    前記プロセッサ回路の前記動作状態に従って、前記プロセッサ回路が、直接、クロック管理回路に、クロック信号をイネーブルにするためのクロックイネーブル要請、又は前記クロック信号をディセーブルにするためのクロックディセーブル要請を伝送する段階と、
    を含み、
    前記プロセッサ回路の動作状態を決定する段階は、
    前記プロセッサ回路のパイプライン及びキャッシュが遊休状態であるということを判断する段階と、
    キャッシュ一貫性トラフィックが、前記プロセッサ回路を介して、伝送されているか否かということを判断する段階と、
    別個のデバイスが、前記プロセッサ回路に接続しているか否かということを判断する段階と、
    を含む、
    電子機器の動作方法。
  12. 前記プロセッサ回路の動作状態を判断する段階は、前記プロセッサ回路が遊休状態であるか、または活性状態であるということを判断する段階を含む、ことを特徴とする請求項11に記載の電子機器の動作方法。
  13. 前記プロセッサ回路の前記動作状態に従って、前記クロックイネーブル要請又は前記クロックディセーブル要請を伝送する段階は、前記プロセッサ回路が、前記遊休状態または前記活性状態にあるかということに基づいて、前記クロック管理回路に、前記クロックイネーブル要請または前記クロックディセーブル要請を選択的に伝送することを含み、
    前記選択的に伝送する段階は、
    前記プロセッサ回路が遊休状態にあるという判断に基づいて、前記クロック管理回路に、前記クロックディセーブル要請を伝送するか、
    前記プロセッサ回路が活性状態にあるという判断に基づいて、前記クロック管理回路に、前記クロックイネーブル要請を伝送する、
    ことを特徴とする請求項12に記載の電子機器の動作方法。
  14. 前記プロセッサ回路から、前記クロックイネーブル要請または前記クロックディセーブル要請が受信されることに基づいて、前記プロセッサ回路に入力されるクロック信号を選択的にイネーブルにする段階をさらに含み、
    前記選択的にイネーブルにする段階は、
    前記クロック管理回路を利用して、前記プロセッサ回路から、前記クロックイネーブル要請を受信することに基づいて、前記プロセッサ回路に入力される前記クロック信号をイネーブルにする段階と、
    前記クロック管理回路を利用して、前記プロセッサ回路から、前記クロックディセーブル要請を受信することに基づいて、前記プロセッサ回路に入力される前記クロック信号をディセーブルにする段階と、を含む、
    ことを特徴とする請求項11に記載の電子機器の動作方法。
  15. 前記クロック管理回路を利用して、前記プロセッサ回路から、前記クロックディセーブル要請を受信するとき、前記クロックディセーブル要請が受信された時点と、直前クロックイネーブル時点との時間間隔が特定臨界時間以下であるという判断に基づいて、前記プロセッサ回路に入力されるクロックをディセーブルにせず、イネーブルに維持する、ことを特徴とする請求項14に記載の電子機器の動作方法。
  16. 前記プロセッサ回路の動作状態を判断する段階は、
    前記プロセッサ回路の前記パイプライン及び前記キャッシュが遊休状態であり、前記キャッシュ一貫性トラフィックが、前記プロセッサ回路と、前記別個のデバイスとの間で伝送されておらず、前記別個のデバイスが、前記プロセッサ回路に接続していないという判断に基づいて、前記クロックディセーブル要請を伝送し、
    前記プロセッサ回路の前記パイプラインまたは前記キャッシュが活性状態であるか、前記キャッシュ一貫性トラフィックが、前記プロセッサ回路と、前記別個のデバイスとの間で伝送されているか、あるいは前記別個のデバイスが、前記プロセッサ回路に接続しているという判断に基づいて、前記クロックイネーブル要請を伝送する
    段階をさらに含む、ことを特徴とする請求項11に記載の電子機器の動作方法。
  17. 前記プロセッサ回路が作業キューの最後作業を完了したという判断に基づいて、前記プロセッサ回路のパイプライン状態を遊休状態にアップデートする段階と、
    前記プロセッサ回路の前記キャッシュが要請された作業を終え、FIFO(first-in-first-out)エンプティ状態という判断に基づいて、前記キャッシュの動作状態を遊休状態にアップデートする段階と、
    をさらに含むことを特徴とする請求項11に記載の電子機器の動作方法。
JP2017159266A 2016-12-26 2017-08-22 電子機器及びその動作方法 Active JP7156781B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0179164 2016-12-26
KR1020160179164A KR102576707B1 (ko) 2016-12-26 2016-12-26 전자 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
JP2018106672A JP2018106672A (ja) 2018-07-05
JP7156781B2 true JP7156781B2 (ja) 2022-10-19

Family

ID=59506144

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017159266A Active JP7156781B2 (ja) 2016-12-26 2017-08-22 電子機器及びその動作方法

Country Status (5)

Country Link
US (1) US10503471B2 (ja)
EP (1) EP3340011A1 (ja)
JP (1) JP7156781B2 (ja)
KR (1) KR102576707B1 (ja)
CN (1) CN108241428A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102552666B1 (ko) * 2018-11-12 2023-07-10 삼성전자주식회사 전자 장치 및 그것의 동작 방법
WO2023003536A1 (en) * 2021-07-19 2023-01-26 Fitbit, Inc. System and methods for hardware voting-based clock control

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268877A (ja) 2001-03-08 2002-09-20 Matsushita Electric Ind Co Ltd クロック制御方法及び当該クロック制御方法を用いた情報処理装置
JP2007128518A (ja) 2005-11-03 2007-05-24 Samsung Electronics Co Ltd デジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステム
JP2011150653A (ja) 2010-01-25 2011-08-04 Renesas Electronics Corp マルチプロセッサシステム
US20120102344A1 (en) 2010-10-21 2012-04-26 Andrej Kocev Function based dynamic power control
JP2014517401A (ja) 2011-05-31 2014-07-17 インテル・コーポレーション プロセッサの非コア回路の消費電力の低減

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US6877088B2 (en) * 2001-08-08 2005-04-05 Sun Microsystems, Inc. Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
US7076609B2 (en) * 2002-09-20 2006-07-11 Intel Corporation Cache sharing for a chip multiprocessor or multiprocessing system
US7721118B1 (en) 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
US7330994B2 (en) * 2005-04-26 2008-02-12 Arm Limited Clock control of a multiple clock domain data processor
KR20070080493A (ko) * 2006-02-07 2007-08-10 삼성전자주식회사 하드웨어 폴링 처리기를 포함한 데이터 처리 시스템
US7802118B1 (en) * 2006-12-21 2010-09-21 Nvidia Corporation Functional block level clock-gating within a graphics processor
US8132037B2 (en) * 2008-06-06 2012-03-06 Roche Diagnostics International Ag Apparatus and method for processing wirelessly communicated data and clock information within an electronic device
TW201001122A (en) * 2008-06-20 2010-01-01 Asustek Comp Inc Clock controlling apparatus for computer system
JP2010072897A (ja) * 2008-09-18 2010-04-02 Nec Electronics Corp クロック供給装置
US8589629B2 (en) 2009-03-27 2013-11-19 Advanced Micro Devices, Inc. Method for way allocation and way locking in a cache
US9354944B2 (en) 2009-07-27 2016-05-31 Advanced Micro Devices, Inc. Mapping processing logic having data-parallel threads across processors
US8400458B2 (en) 2009-09-09 2013-03-19 Hewlett-Packard Development Company, L.P. Method and system for blocking data on a GPU
US9645866B2 (en) 2010-09-20 2017-05-09 Qualcomm Incorporated Inter-processor communication techniques in a multiple-processor computing platform
TWI441009B (zh) * 2010-12-28 2014-06-11 Ralink Technology Corp 用於電腦系統之處理單元的時脈頻率調整方法及相關裝置
US8775838B2 (en) * 2012-02-01 2014-07-08 Texas Instruments Incorporated Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data
US9323315B2 (en) 2012-08-15 2016-04-26 Nvidia Corporation Method and system for automatic clock-gating of a clock grid at a clock source
KR102005765B1 (ko) * 2012-12-17 2019-07-31 삼성전자주식회사 시스템-온 칩과, 이의 동작 방법
US9386521B2 (en) * 2012-12-20 2016-07-05 Qualcomm Incorporated Clock structure for reducing power consumption on wireless mobile devices
CN105247442B (zh) * 2013-06-28 2018-06-08 英特尔公司 用于管理多部件平台中的活动的技术和系统
US10060955B2 (en) * 2014-06-25 2018-08-28 Advanced Micro Devices, Inc. Calibrating power supply voltages using reference measurements from code loop executions
US20160077565A1 (en) * 2014-09-17 2016-03-17 Advanced Micro Devices, Inc. Frequency configuration of asynchronous timing domains under power constraints
KR102384347B1 (ko) 2015-05-26 2022-04-07 삼성전자주식회사 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268877A (ja) 2001-03-08 2002-09-20 Matsushita Electric Ind Co Ltd クロック制御方法及び当該クロック制御方法を用いた情報処理装置
JP2007128518A (ja) 2005-11-03 2007-05-24 Samsung Electronics Co Ltd デジタルロジックプロセッシング装置とそれに供給されるクロック信号のゲーティング方法、及びそれらを含むシステムオンチップとそれを用いたストリーミングプロセッシングシステム
JP2011150653A (ja) 2010-01-25 2011-08-04 Renesas Electronics Corp マルチプロセッサシステム
US20120102344A1 (en) 2010-10-21 2012-04-26 Andrej Kocev Function based dynamic power control
JP2014517401A (ja) 2011-05-31 2014-07-17 インテル・コーポレーション プロセッサの非コア回路の消費電力の低減

Also Published As

Publication number Publication date
KR20180075162A (ko) 2018-07-04
KR102576707B1 (ko) 2023-09-08
CN108241428A (zh) 2018-07-03
EP3340011A1 (en) 2018-06-27
US20180181372A1 (en) 2018-06-28
JP2018106672A (ja) 2018-07-05
US10503471B2 (en) 2019-12-10

Similar Documents

Publication Publication Date Title
US11036650B2 (en) System, apparatus and method for processing remote direct memory access operations with a device-attached memory
KR101442791B1 (ko) 통신 포트에 대한 가변 클록 게이팅 히스테리시스를 채용하는 장치 및 방법들
WO2020001459A1 (zh) 数据处理方法、远程直接访存网卡和设备
JP4982375B2 (ja) 複数のコアを介してのモニタリングされたキャッシュラインの共有
JP6961686B2 (ja) トリガ動作を用いたgpuリモート通信
KR101310044B1 (ko) 복수의 코어 프로세서들에서의 하나 이상의 코어들의 워크로드 성능을 증가시키는 방법
JP3454866B2 (ja) バスユニットと実行ユニットとを含むタイプのプロセッサを動作させる方法、中央処理装置、コンピュータシステム、およびクロック制御装置回路
TWI454902B (zh) 電力最佳化的中斷遞送的方法與系統、及其處理器與電腦可讀取媒體
TWI483265B (zh) 硬體動態快取電源管理
JP4855451B2 (ja) 記憶装置のアクセス方法及び装置
WO2018120780A1 (zh) PCIe中断方法和系统
TW201248389A (en) Reducing power consumption of uncore circuitry of a processor
KR20070024670A (ko) 집적 dma 엔진을 사용하는 고성능 휘발성 디스크드라이브 메모리 액세스 장치 및 방법
JP7156781B2 (ja) 電子機器及びその動作方法
JP7470685B2 (ja) 集積回路中の算出ユニットをプログラムおよび制御すること
JP2009527815A5 (ja)
EP4220375A1 (en) Systems, methods, and devices for queue management with a coherent interface
US11687460B2 (en) Network cache injection for coherent GPUs
US10248565B2 (en) Hybrid input/output coherent write
US9043507B2 (en) Information processing system
JP6416488B2 (ja) 半導体装置
KR20020012032A (ko) 버스 시스템 및 그 커맨드 전달방법
JP2020127184A5 (ja)
US10795427B2 (en) Control of power state transitions
KR20210094178A (ko) 직렬로 연결된 전자 장치들 사이에서 컴플리션을 조기에 전송하기 위한 컴퓨팅 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211102

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220726

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220726

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220817

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220823

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: 20220906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221006

R150 Certificate of patent or registration of utility model

Ref document number: 7156781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150