JP2009151789A - 低電力モードに入る前にハードウェアで駆動されるプロセッサのステートを記憶する装置 - Google Patents

低電力モードに入る前にハードウェアで駆動されるプロセッサのステートを記憶する装置 Download PDF

Info

Publication number
JP2009151789A
JP2009151789A JP2008322338A JP2008322338A JP2009151789A JP 2009151789 A JP2009151789 A JP 2009151789A JP 2008322338 A JP2008322338 A JP 2008322338A JP 2008322338 A JP2008322338 A JP 2008322338A JP 2009151789 A JP2009151789 A JP 2009151789A
Authority
JP
Japan
Prior art keywords
processor
power
memory
state
interrupt
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.)
Pending
Application number
JP2008322338A
Other languages
English (en)
Inventor
Simon Axford
アックスフォード サイモン
Simon John Craske
ジョン クラスケ サイモン
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.)
ARM Ltd
Original Assignee
ARM Ltd
Advanced Risc Machines 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 ARM Ltd, Advanced Risc Machines Ltd filed Critical ARM Ltd
Publication of JP2009151789A publication Critical patent/JP2009151789A/ja
Pending legal-status Critical Current

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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Bus Control (AREA)

Abstract

【課題】省電力化のために、プロセッサのステートを記憶し、レストアする。
【解決手段】プロセッサのステートを低電力リクエストに応答してハードウェアにより自動的に記憶し、よって低電力モードでプロセッサを完全にパワーダウンできるようにしたものである。本発明は、この記憶を行うために正常な処理作動中にメモリにデータを記憶させるのに使用される現行のハードウェアを活用している。このような方法では、プロセッサ領域で効率的であり、かつ実行レベルでこのステートの記憶タスクのためにハードウェアを特別に設計しなくてもよい。
【選択図】図1

Description

本発明は、データ処理の技術分野に関し、より詳細には、プロセッサをパワーダウンさせる低電力モードに入る前にプロセッサのステートを記憶する技術に関する。
プロセッサからの作業が不要な時間の間に、プロセッサへのクロックをオフにすることは知られている。これによって、電力消費量を低減できるが、シリコンを通過する漏れに起因する電力の損失がまだある。コアへの電力をオフにすることにより、これら電力の損失を更に低減できるが、この方法にはプロセッサのステートが失われることがあるという欠点がある。低電力モードを起動した場合、処理演算をスムーズかつ効率的に続行できるように、システムは、変更されていない前のステートに戻らなければならない。低電力モード中に情報/ステートが失われた場合、再スタート時にシステム全体をリブートし、初期化しなければならないので、この方法は極めて望ましくない。システムのステートをセーブし、レストアできるようなデータ処理システムを提供することは知られている。
低電力モード中にこのタイプの省電力を容易にするために、低電力モードまたはパワーダウンモードに入ることが求められると実行されるパワーダウンソフトウェアルーチンをデータ処理システムに設けることが知られている。これらパワーダウンソフトウェアルーチンは、システムが作動をレジュームしたときに、ソフトウェアの相補的部分を作動でき、不揮発性記憶装置からシステムのステートの情報をレストアできるよう、システムのステートを一部の不揮発性記憶装置にセーブするように働く。ルーチンがこのように作動することにより、同じポイントで、かつ同じシステムステートで処理を再開できるようになる。この解決方法の大きな欠点は、ステートの記憶およびレストアを実行しなければならないソフトウェアが比較的低速であることであり、システムのステートをセーブする役割を果たすソフトウェアにアクセスできない一部のシステムステートの情報、例えばキャッシュメモリコンテント、密に結合されたメモリのコンテントおよびシステムに関係する他の比較的低レベルのハードウェアのステート情報が存在し得る。かかる状況では、処理をレジュームしたときには、パワーダウンを行ったときのシステムのステートに近似するだけの処理が再開されることになる。従って、キャッシュメモリのすべてを再び満たさなければならない条件が存在するが、このようにすることは比較的低速な方法であり、かつ電力を消費する動作となり得る。更に、システムを再スタートさせる際に、簡単な再スタートに対して必要とされるページテーブルマッピングのような、あるステートを利用できない。
ARM(登録商標)ケンブリッジリミテッド社による英国特許出願第GB02395302号には、別のハードウェアのステートをセーブするシステムが開示されている。このシステムでは、プロセッサのステートを抽出するのに、プロセッサ内に存在するスキャンチェーンが使用され、このステートはメモリに記憶されるようになっている。次にステートを戻すようにスキャンするために、スキャンチェーンを使用することによりステートをレストアできる。このシステムの欠点は、スキャンチェーンがコアの全ステートを内外にスキャンするが、低電力モード後にシステムをレストアするのに、必ずしも全ステートが必要ではない場合があることである。更に、スキャンチェーンを正確にフックアップするだけでなく、正しくバランスさせ、制御しなければならない実行時間にこのようなスキャンチェーンの使用を行わなければならない。
従って、従来技術の欠点の少なくとも一部を有しないで、プロセッサのステートを記憶し、レストアするシステムを製造することが望ましい。
本発明の第1の様相は、メモリへのデータ転送を制御するためのメモリインターフェースロジックを備え、第1電力ドメインにおいて給電される、データを処理するためのプロセッサと、第2電力ドメインにおいて給電される、前記プロセッサによって処理されるデータを記憶するためのメモリと、前記プロセッサおよび前記メモリの正常な処理作動中に前記メモリインターフェースロジックにより前記システムバス上に発生されるメモリ転送リクエストに応答し、前記プロセッサと前記メモリとの間でデータを転送するように作動するようになっており、前記プロセッサおよび前記メモリに結合されたシステムバスとを備え、前記プロセッサは、前記データ処理装置が低電力モードに入らなければならないことを示す低電力リクエストに応答し、前記メモリインターフェースロジックを使って前記システムバスを介した、前記プロセッサのそのときのステートを示すステートデータの前記メモリへの転送を制御するようになっており、前記ステートデータは、前記低電力モードから出た後に前記プロセッサを等価的なプログラムステートにレストアするのに十分なデータであり、前記メモリ内に前記ステートデータを記憶し、前記第1電力ドメインをパワーダウンするようになっている、データ処理装置を提供する。
本発明は、プロセッサのステートを低電力リクエストに応答してハードウェアにより自動的に記憶し、よって低電力モードでプロセッサを完全にパワーダウンできるようにしたものである。本発明は、この記憶を行うために正常な処理作動中にメモリにデータを記憶させるのに使用される現行のハードウェアを活用している。このような方法は、プロセッサ領域で効率的であり、かつ実行レベルでこのステートの記憶タスクのためにハードウェアを特別に設計しなくてもよいことも意味する。更に、記憶装置はプロセッサの制御下にあるので、記憶されるステートをプロセッサによって決定でき、かつプロセッサを再スタートするのに必要なステートだけに限定できる。従って、プロセッサの全ステートを記憶するのではなく、適当なステートを効率的に選択できる。ハードウェアを使ってこの記憶を行っていることと共に、このことはプロセスの速度を改善できる。
一部の実施例では、前記データ処理装置は、前記第1電力ドメインのパワーアップおよびパワーダウンを制御するためのコントローラを更に備え、前記コントローラは、前記第2電力ドメインにより給電されると共に、ステートレストアインジケータを記憶するためのデータ記憶装置を含み、前記低電力リクエストの検出に応答し、前記コントローラは、前記低電力リクエストに応答して前記プロセッサをパワーダウンすることを示すステートレストアインジケータ値を記憶し、前記コントローラは、前記プロセッサが前記第1電力ドメインをパワーアップすると共に、前記ステートレストアインジケータ値に応じ、前記パワーアップが標準的なリセットであること、またはステートレストアリセットであることを示す信号を前記プロセッサに送るべきことを示す入力信号に応答自在であり、前記パワーアップが、前記ステートレストアリセットに応答するものであることを、前記コントローラが示したことに応答し、前記プロセッサは前記メモリから前記記憶されたステートデータをロードするようになっている。
本発明の実施例は、パワーダウン前にメモリにステートを記憶したときの、ステートリセットインジケータ値を電力コントローラに記憶することによって、標準的なリセット信号とステートレストアリセット信号とを区別できる。従って、電力コントローラは、標準的なリセットに応答し、プロセッサをパワーアップできるか、またはステートレストアリセットに応答し、ステートをロードするための信号をプロセッサに送り、プロセッサがパワーダウンしたときのポイントからの処理を続行するようにもできる。従って、本発明の実施例は、従来のデータ処理装置に多くが存在しているハードウェアを使って、2つの異なる種類のリセットを処理できる。
一部の実施例では、前記プロセッサは、前記低電力リクエストに応答し、前記メモリ内のスタックに前記ステートデータを記憶するようになっており、前記プロセッサは、前記低電力リクエストに応答し、前記ステートデータを前記スタックにスタックすると共に、その後のパワーアップ信号に応答し、前記スタックから前記ステートをアンスタックするためのスタック/アンスタックロジックを備える。
任意の構成のメモリにデータを記憶できるが、メモリ内のスタックにデータを記憶し、ステートデータをスタックしたり、アンスタックするために、スタック/アンスタックロジックを使用することが望ましい。スタックはメモリにデータのストリングを記憶したり、メモリからデータのストリングを読み出すのに便利な方法である。
一部の実施例では、前記ステートレストアインジケータ値は前記スタックの頂部のアドレスを含む。
このステートレストアインジケータは多数の形態をとることができるが、スタックにステートデータを記憶すべき場合は、ステートレストアインジケータ値の便利な形態は、スタックの頂部を示すアドレスである。このことは、ステートデータを検索すべき場所の情報と共に、ステートレストアリセットであることを示す情報をプロセッサへ送ることが可能にする。
一部の実施例では、前記データ処理装置は、インターラプトコントローラを更に備え、前記プロセッサはインターラプトの受信に応答し、前記メモリ内の前記スタックの少なくとも一部に前記プロセッサの一部のステートデータを記憶すると共に、前記インターラプトの完了に応答し、前記一部のステートをレストアするようになっている。
データ処理装置は、インターラプトコントローラを含むことができ、リセット時にステートを記憶するのに使用されるスタック/アンスタックロジックがインターラプトに応答してステートを記憶するのに使用されるスタック/アンスタックロジックと同じであれば便利である。このように、このハードウェアを再使用する方法は、データ処理装置を構成する効率的な方法である。インターラプト後、記憶しなければならないステートはプロセッサのステートのサブセットだけであり、プロセッサがパワーダウンされる場合、このステートをレストアするには十分なステートではない。従って、一般にプロセッサのリセットステートを記憶するために使用されるスタックの一部だけを使って、インターラプト後のステートを記憶する。更に、スタック/アンスタックロジックは、ステートの一部にアクセスするだけでよい。従って、低電力モードに入ったときにプロセッサのステートデータを記憶するのに使用されるスタック/アンスタックロジックは、実際にはインターラプト後にステートを記憶するのに使用されるスタック/アンスタックロジックの拡張された形態である。インターラプトとは、「ウェイクアップイベント」を意味するだけでなく、従来のインターラプトも意味することに留意すべきであり、インターラプトコントローラは、リセットまたはその他のシステムイベント、例えばマルチプロセッサシステムに必要とされるイベントにも応答自在である。
低電力リクエスト信号は、一部の実施例では多数の形態をとることができ、この信号は、ある間、処理するための命令がないときにプロセッサによって発生されるインターラプトウェイト信号を含む。
一部の実施例では、前記インターラプトコントローラは、複数のインターラプトを受信するための複数のインターラプト入力を備え、前記複数のインターラプト入力のうちの少なくとも1つはパワーアップ信号を含む。
多数の形態のプロセッサによってパワーアップ信号を受信できるが、一部の実施例では、このパワーアップ信号はインターラプトコントローラにおいてインターラプトとして受信される。
一部の実施例では、前記インターラプトコントローラは、前記第1電力ドメインで給電されるインターラプト制御回路と、前記第2電力ドメインで給電されるインターラプトリクエストモニタ回路とを備え、前記インターラプトリクエストモニタ回路は、前記低電力モードで作動中に前記パワーアップ信号をモニタするようになっている。
インターラプトコントローラは、多数の形態をとり得るが、一部の実施例では、2つの部分、すなわち第1電力ドメインにて給電される第1部分と、第2電力ドメイン内の第2部分とから形成される。このように、インターラプトコントローラを分割すると、低電力モードに入ったときに電力節約量を増すことが可能となる。電力信号をモニタするインターラプトリクエストモニタ回路が、第2電力ドメイン内にある場合にしか、このような分割を行うことはできない。
一部の実施例では、前記インターラプト制御回路は、前記インターラプトリクエストを受信するためのインターラプト入力を備えると共に、受信したインターラプトリクエストを前記プロセッサに選択的に提供するようになっており、前記インターラプト制御回路は、インターラプト選択情報を前記インターラプトリクエストモニタ回路に伝送するようになっており、前記インターラプト選択情報は、前記低電力モードから出ることを示すインターラプトリクエストを前記パワーアップ信号として識別し、前記インターラプトリクエストモニタ回路は、前記インターラプト制御回路により、前記インターラプトリクエストモニタ回路へ伝送される前記選択情報を記憶するようになっている選択情報記憶装置を備え、前記インターラプトリクエストモニタ回路は、前記インターラプトリクエストを受信するためのインターラプト入力を備え、前記第1電力ドメインのパワーアップをトリガーするよう、前記パワーアップ信号として前記記憶されたインターラプト選択情報によって識別された受信インターラプトリクエストに応答自在である。
インターラプトモニタ回路がパワーアップ信号を識別できるようにするために、インターラプト制御回路がパワーダウンされる前にインターラプト制御回路へ情報が送られる。この情報は、どのインターラプトがパワーアップをトリガーすべきであるかを識別する。このような情報を送ることによってインターラプトコントローラがモニタロジックで受信すべきインターラプトに関する適当な優先度情報を送った後に、インターラプトの優先度を評価するインターラプトコントローラの複雑な部分を、低電力モードでパワーダウンできるようになる。このことは、モニタロジックを簡単なロジックにできるようにするので、多くの電力が消費されず、サービスしなければならないインターラプトを識別でき、かつ受信されたインターラプトに応答し、パワーアップを可能にする。
一部の実施例では、前記プロセッサは、パイプラインプロセッサを備え、前記低電力リクエストに応答し、前記データ処理装置は、前記メモリへの前記ステートデータの記憶および前記第1電力ドメインのパワーダウンの前に、前記パイプラインプロセッサへの更なる命令のローディングをサスペンドすると共に、前記パイプラインプロセッサ内でペンディング中の命令の処理を完了するようになっている。
プロセッサのパワーダウンに先立ち、低電力リクエストに応答し、ペンディング中の命令の処理を完了することが望ましい。このように低電力リクエストを取り扱うことにより、メモリに記憶するために送らなければならないステートを、メモリに記憶し、一部の命令がパイプライン内でペンディング中のままになっている場合に送らなければならないステートよりも少なくできる。
一部の実施例では、前記データ処理装置は、前記データ処理装置のそのときの作動状態に応じ、前記メモリに記憶するためのステートデータを選択するようになっている。
メモリに送られるステートの量が、プロセッサの作動条件に応じて決まることがある。従って、一部の実施例では、プロセッサは作動条件に応じて、送るべきステートデータの量を選択できる。これによって、送られるステートデータの量を低電力モードに入ったときのプロセッサの作動条件に応じて必要とされるステートデータの量よりも少なくすることが可能となる。
例えば一部の実施例では、前記データ処理装置は、メモリ保護ユニットを更に備え、前記データ処理装置は、前記メモリ保護ユニットが作動状態となっていることに応答し、前記メモリ保護データを前記ステートデータの一部として前記メモリに記憶すると共に、前記メモリ保護ユニットがオフに切り換えられていることに応答し、前記メモリ保護データを前記ステートデータの一部としては前記メモリに記憶しないようになっている。
一部の作動条件では、メモリ保護ユニットは作動しない。プロセッサがこのことを検出した場合、プロセッサは、この時点で記憶するためのメモリ保護情報を送る必要がないことを知る。低電力モードに入ったときにプロセッサは作動しなかったので、リセット時にメモリ保護ユニットをレストアする必要がないからである。
記憶されるステートデータは、低電力モードから出た後に、プロセッサが処理を開始できるようにするために十分でなければならない。よってこのステートデータはプログラムカウンター、スタックポインターおよびプロセッサ内のレジスタの少なくとも1つのサブセットのようなデータを含む。
本発明の更なる様相は、データを処理するための装置内で低電力モードに入る前のステートをセーブする方法であって、データを処理するための前記装置は、メモリへのデータ転送を制御するためのメモリインターフェースロジックを備え、第1電力ドメインにおいて給電される、データを処理するためのプロセッサと、第2電力ドメインにおいて給電される、前記プロセッサによって処理されるデータを記憶するためのメモリと、前記プロセッサおよび前記メモリの正常な処理作動中に前記メモリインターフェースロジックにより前記システムバス上に発生されるメモリ転送リクエストに応答し、前記プロセッサと前記メモリとの間でデータを転送するように作動するようになっており、前記プロセッサおよび前記メモリに結合されたシステムバスとを備え、前記方法は、前記低電力リクエストに応答し、前記データ処理装置は低電力モードに入る旨を示すステップと、前記メモリインターフェースロジックを使って前記システムバスを介し、前記メモリに前記データ処理装置内の前記プロセッサのそのときのステートを示すステートデータを転送するステップと、前記ステートデータを前記メモリに記憶するステップと、前記第1電力ドメインをパワーダウンするステップとを備える方法を提供する。
添付図面を参照しながら、説明のための実施例の次の詳細な記載を読めば、本発明の上記およびそれ以外の目的、特徴および利点が明らかとなろう。
図1は、システムバス30を介してメモリ40にメモリインターフェース22が接続されているプロセッサ20を有するデータ処理装置10を示す。このCPUプロセッサは、第1電力ドメイン52にあるが、一方、メモリ40および電力コントローラ45は第2電力ドメイン54にある。
データプロセッサ20は、受信した命令に従ってデータを処理し、この処理したデータの一部をメモリ40に記憶する。メモリ40へのデータの記憶およびこのメモリからの検索は、メモリインターフェースロジック22によって制御される。従って、正常なデータ処理作動中は、プロセッサ20はデータを処理し、プロセッサはメモリインターフェースロジック22を使ってシステムバス30を介し、処理したデータの少なくとも一部をメモリ40に送信および/またはメモリ40から受信する。
プロセッサ20は、第1電力ドメイン52にあり、この第1電力ドメインの給電は電力コントローラ45によって制御される。メモリ40および電力コントローラ45は、第2電力ドメイン54にあり、プロセッサ20が作動していないときの省電のために、電力コントローラ45は低電力モードに入るべきことを示す信号に応じて、プロセッサ20へのクロックを停止するか、またはパワーダウンするようになっている。入るべき低電力モードが第1電力ドメインをオフに切り換えるべきモードとなっている場合、これを行う前にプロセッサを再スタートできるように、プロセッサ20のステートを記憶しなければならない。低電力モードに入ることをリクエストする信号は、例えばインターラプトウエイトWFI(wait for interrup)信号である場合があり得る。プロセッサ20において、この信号が受信されたことに応答し、プロセッサ20は、正常な処理中にメモリにデータを記憶するのに使用される標準的ハードウェア、換言すればメモリインターフェースロジック22およびシステムバス30を使って、プロセッサのアーキテクチャステートをメモリ40に記憶するように働く。メモリに一旦このステートが記憶されると、電力コントローラ45へ信号が送られ、第1電力ドメイン42がパワーダウンされる。
電力コントローラ45は、次に、パワーアップ信号に関して電力リクエストライン47をモニタし、かかるパワーアップ信号に応答し、第1電力ドメイン52をパワーアップするように働く。インターラプトに応答し、このパワーアップ信号を発生してもよく、これについては後に詳細に説明する。
第1電力ドメイン52がパワーアップされたことに応答し、CPU20はCPUがメモリ40に記憶したステートを、メモリインターフェースロジック22を使って検索する。CPUは次に低電力モードに入ったときに停止したときのポイントからの処理を続けるためのレディー状態となる。
図2は、本発明の別の実施例に係わるデータ処理装置10を示す。この実施例では、プロセッサ20はフェッチステージ、デコードステージおよび実行ステージを有するパイプラインプロセッサとなっている。このデータ処理装置10は、第1電力ドメイン52内にインターラプトコントローラ部分71を有するインターラプトコントローラ70と、第2電力ドメイン54内で給電されるインターラプトポーリングロジック72も備える。このコントローラ70のインターラプトコントローラ部分71およびインターラプトポーリングロジック部分72の双方にはインターラプト信号が入力される。このインターラプトコントローラ70はインターラプトを処理し、適当な場合にはプロセッサ20へ信号を送る。低電力モードに入るべき旨を示す、インターラプトコントローラ70で受信されるインターラプトウエイト信号のような信号に応答し、インターラプトコントローラ70はプロセッサ20へ低電力リクエスト信号を送る。プロセッサ20は、この信号に応答し、パイプラインのフェッチステージによる命令のフェッチをサスペンドし、パイプライン内のペンディングの命令を処理し続ける。パイプラインがペンディング中の命令の処理を終了すると、プロセッサのアーキテクチャステート、すなわちプロセッサが次の命令からの実行を続けることができるポイントまで、プロセッサをレストアするのに十分なステートがメモリ40に記憶される。この実施例では、メモリ40内のスタック42にアーキテクチャステートを記憶するのに、メモリインターフェース22と組み合わせてスタック/アンスタックロジック24が使用される。記憶されるステートはプログラムカウンター、スタックポインターおよびレジスターバンクからの値を含む。記憶されるステートは更に、メモリ保護デテイル、イネーブルビット、インターラプト優先度およびペンディング中またはアクティブなビットも含むことができる。スタック42にステートが一旦ロードされると、このステートがメモリ40に記憶されたことを示す信号がプロセッサ20から電力コントローラ45へ送られ、プロセッサをパワーダウンできる。電力コントローラ45は次に、第1ドメイン52をパワーダウンし、そのステートがメモリ40に記憶されるように、低電力モードに入ったことを示すインジケータをデータ記憶装置46に記憶する。
第1電力ドメイン52が一旦パワーダウンされると、インターラプトコントローラ部分71およびプロセッサ20にはもはや給電されることはない。しかしながら、第2電力ドメイン54にはまだ給電されるので、インターラプトポーリングロジック72はパワーアップ信号を検出するよう、インターラプトをアクティブにポーリングする。この点に関し、インターラプトポーリングロジックは、すべてのインターラプトを受信できるか、またはこれらインターラプトのサブセットを受信することができる。サブセットはプロセッサのパワーアップを発生できるすべてのインターラプトを含む。更に、パワーアップ前にどのインターラプトがパワーアップ信号を発生すべきかに関する情報が、インターラプトコントローラ部分71から受信されており、記憶されたデータからパワーアップ信号をいつ発生すべきかをポーリングロジックが判断できるように、インターラプトポーリングロジック内にこの情報が記憶されている。
記憶されたインターラプトのうちの1つに一致するインターラプトの検出に応答し、インターラプトポーリングロジック72は、第1ドメイン52をパワーアップするパワーアップ信号を電力コントローラ45へ発生する。このポイントにおいて、電力コントローラ45は、データ記憶装置46に記憶されている値があるかどうかを見る。ある値が記憶されていれば、コントローラはそのステートをレストアしなければならないことを示す信号をプロセッサ20へ送る。次に、メモリインターフェース22と共にスタック/アンスタックロジック24は、スタック42をアンスタックし、プロセッサ20の前のステートをプロセッサに戻すようにロードする。次に、プロセッサは低電力モードに入る前に受信した命令の次の命令からの処理を再スタートすることができるレディー状態となる。
ステートを記憶する前にパイプライン内のペンディング中のすべての命令が実行されるので、ステートが発生しなかった場合に記憶されるよりも少ないステートを記憶するだけでよいことに留意すべきである。パイプライン内に一部しか実行されていないペンディング中の命令が存在した場合は、フェッチバッファと同じようなもののコンテントおよびデコード情報も記憶し、レストアしなければならなかったはずである。
インターラプトの処理において、スタック/アンスタックロジック24も使用され、この場合、インターラプトに応答し、適当なステートがスタック42に記憶される。一般に、このステートはプロセッサを再スタートするのに必要なステートよりも少ないので、本発明では、パワーダウン前にプロセッサのアーキテクチャステートを記憶し、レストアできるように、従来のスタック/アンスタックロジックおよびスタックが拡張されている。
これに関し、図には示されていないが、周辺機器を低電力モードにパワーダウンできることにも留意すべきである。かかる状況では、パワーアップ後に周辺機器のアーキテクチャステートもレストアできるように、かかる周辺機器のアーキテクチャステートもメモリに記憶される。スタック/アンスタックロジックは、このステートの記憶およびレストアを実行できるように、このステートにアクセスするようにもなっている。
パワーダウン中に高い優先度のインターラプトが受信された場合、パワーダウンプロセス自身もインターラプトできることに留意すべきである。かかる状況では、ステートの記憶がサスペンドされ、スタックが到達しているポイントからそのスタックがアンスタックされ、次にインターラプトを実行する前にそのインターラプトを行っている適当なステートがそのスタックに記憶される。
図3は、別の実施例に係わる電力コントローラ45、プロセッサ20およびメモリ40を示す。この図から分かるように、電力コントローラ45は、プロセッサ20と直接インターフェースしている。コントローラが低電力モードに入るべき旨を示すパワーインベントを、パワーインベント検出ロジック48を使用して検出すると、コントローラは、パワーダウン信号をプロセッサ20へ送る。このパワーダウンステートに入るために、プロセッサはまず電力コントローラ45によって与えられた記憶アドレス46でスタートするスタックへ、必要なステートのすべてをまず記憶する。どのステートを記憶するかを決定する際に、電力コントローラ45は、プロセッサの作動ステートを検出し、よってどのステートを記憶すべきかを検出する作動ステート検出ロジック49を使用する。例えば、メモリ保護ユニット49が作動している場合、メモリのセキュリティステータスに関する情報を記憶しなければならないが、他方、メモリ保護ユニットが作動していない場合、この情報を記憶する必要はない。この記憶プロセスが一旦完了すると、プロセッサはプロセッサ20への給電をオフにできる信号をシステムへ送る。電力コントローラ45への給電が続けられ、電力コントローラ45が所定の信号47をモニタし、パワーアップが必要であるかどうかを判断する。電力コントローラ45がかかるパワーアップイベントを検出した場合、コントローラ45は、プロセッサ20への給電を再びオンにする信号をシステムへ送る。再び給電する際に、プロセッサ20はリセット状態となっており、コントローラは、標準的なリセットではなくステートレストアパワーアップイベントであることを記述する信号をアサートする。次にプロセッサ20は、メモリ40から必要なステートのすべてを検索する。このプロセッサは、例えばプログラムカウンターおよびスタックポインターを含む。次にプロセッサ20は、低電力モードに入る前に停止したポイントからの実行をスタートできる。
図4は、2つの電力ドメインに分割された集積回路2を略図で示す。特に、低電力モードで省電をするようパワーダウンできる、電力が制御されたドメイン52が設けられ、更に低電力モードでもパワーダウンされないような、常時給電されるドメイン54が設けられている。このように集積回路を分割することにより、必要でないときに安全にパワーダウンできる集積回路のコンポーネントを、電力が制御されるドメイン52内に設けることができ、一方、作動モード中に集積回路の正しい機能を保証するように、常に給電しなければならないコンポーネントを常時給電ドメイン54内に設けることができる。
電力が制御されるドメイン52では、命令およびデータを処理するための中央処理ユニット20が設けられている。データを失わないか、または機能を阻害しないで、処理のために命令および/またはデータがペンディング中でないときに、中央処理ユニット20をパワーダウンできる。これとは異なり、電力が制御されるドメイン52をパワーダウンする前に、システムのそのときのステートのコピーをメモリに記憶することにより、そのときの処理タスクを失うことなく、命令および/またはデータを処理中に、中央処理ユニット20をパワーダウンすることもできる。従って、電力が制御されるドメイン52内に中央処理ユニット20を容易に設けることができる。
常時給電されるドメイン54では、アドレスおよびデータバス30を介して中央処理ユニット20に結合されたメモリ40が設けられており、このメモリは、中央処理ユニット20により発生されるか、または中央処理ユニット20が使用するために発生されたデータを記憶するようになっている。低電力モードに入ったときに、メモリ40のコンテントを保存できるよう、このメモリ40は、常時給電ドメイン54に存在すると理解できよう。後に中央処理ユニット20により、プロセスのレジュームを可能にできるよう、電力が制御されるドメインが低電力モードに切り換えられる前に、システムのそのときの作動ステート、特に中央処理ユニット20のそのときの作動ステートをメモリ40に記憶する場合に、このことは特に重要である。
常時給電ドメイン54は、電力コントローラ45も含み、この電力コントローラ45は、中央処理ユニット20から電力コントローラ45に発生された低電力リクエスト信号ライン12上の低電力リクエスト信号に応答し、電力が制御されるドメインをパワーダウンするようになっている。電力コントローラ45は、電力ライン43を通して電力が制御されるドメインに給電する。
集積回路2は、中央処理ユニット20によりサービスするための複数のインターラプトソースが発生するインターラプトリクエストを取り扱うインターラプトコントローラ70も含む。インターラプトソースは、集積回路のコンポーネント、外部オフチップソースまたはソフトウェアで発生されるインターラプトを含むことができる。集積回路の他のコンポーネントとは対照的に、インターラプトコントローラ70は、電力ドメイン内に単独では設けられず、その代わりに電力が制御されるドメイン52および、常時給電ドメイン54の双方にわたって分散される。より詳細に説明すれば、電力が制御されるドメイン52内にはインターラプトコントローラ70の第1部分71が設けられ、常時給電ドメイン54内にはインターラプトコントローラ70の第2部分72が設けられる。このように、インターラプトコントローラ70の作動を脅かすことなく、使用されないときにはパワーダウンできるインターラプトコントローラ30の機能コンポーネントを第1部分71内、すなわち電力制御ドメイン52内に設けることができるが、他方、インターラプトコントローラ70の作動を脅かさずにはパワーダウンできないインターラプトコントローラ70の残りの機能コンポーネントは、第2部分72内、すなわち常時給電ドメイン54内に設けられる。
より詳細に説明すれば、電力が制御されるドメイン52内に設けられるインターラプトコントローラ70の第1部分71は、インターラプト制御回路を含み、このインターラプト制御回路は、インターラプトソースからのインターラプトリクエスト信号50を受信するためのインターラプト入力を有し、このインターラプト制御回路は、インターラプトリクエストインターフェース39を通してこれらインターラプトリクエスト信号50のうちのどれを(存在する場合)中心処理ユニット20へ送るべきかを判断する。インターラプト制御回路は、特定のインターラプトリクエスト信号に対し、優先度を割り当てるための優先度決定ロジックと、そのときに加えられているインターラプトリクエスト信号および中央処理ユニット20のそのときの作動条件に基づき、中央処理ユニット20へ伝送するためのインターラプトリクエストを選択できる判断ロジックとを備え、この場合、優先度決定ロジックによってインターラプトリクエスト信号にそれぞれの優先度が割り当てられる。インターラプト制御回路は、インターラプトリクエストインターフェース39を介し、中央処理ユニット20に選択されたインターラプトリクエスト信号を提供するようになっている。第1電力ドメインが低電力モードに切り換えられると、インターラプト制御回路がパワーダウンされることが理解できよう。
所定のインターラプトリクエストは、インターラプトリクエストに応えるように、中央処理ユニット20およびインターラプト制御回路71を低電力モードからパワーアップしなければならない程度に十分重要なタスクを処理することに関係している。どのインターラプトリクエストが低電力モードを起動すべきかの判断および選択は、中央処理ユニット20により発生される低電力リクエスト信号ライン12上の低電力リクエスト信号に応答し、インターラプト制御回路7によって行われる。次に、電力が制御されるドメイン52がパワーダウンされる前に、インターラプトリクエスト識別信号ライン73を介し、インターラプト制御回路71からインターラプトコントローラ70の第2部分72へ、選択されたインターラプトリクエスト50が伝送される。このように、インターラプトコントローラ70の第2部分72には、インターラプトコントローラ70の第1部分71がパワーダウンする前に低電力モードを起動しなければならない、インターラプトリクエストを識別する選択情報が提供される。
常時給電ドメイン54内に設けられているインターラプトコントローラ70の第2部分72は、インターラプトリクエストモニタ回路を備え、この回路は、インターラプトリクエスト信号を受信するためのインターラプト入力を有すると共に、インターラプトソースによりインターラプトリクエスト信号ライン50上に発生され、受信されたインターラプトリクエストをモニタするインターラプトリクエストモニタ回路を含む。インターラプトリクエストモニタ回路は、受信された各インターラプトリクエストと、インターラプト制御回路によりインターラプトコントローラ70の第2部分72に伝送された選択情報とを比較する。一致した場合、インターラプトリクエストモニタ回路は、電力コントローラ45に対するパワーアップリクエスト信号をパワーアップリクエスト信号ラインに発生するようになっている。電力コントローラ45は、これに応答し、電力制御ドメインをパワーアップし、よって中央処理ユニット20およびインターラプト制御回路72の双方を起動し、インターラプトリクエストのサービスを可能にするようになっている。
図5では、常時給電ドメイン54および電力制御されるドメイン52にわたるインターラプトコントローラの分散のより詳細な構成が略図で示されている。図1と同じように、電力が制御されるドメイン52は、中央処理ユニット20と、インターラプトコントローラ70のインターラプト制御回路72とを含む。インターラプトコントローラ70がインターラプトリクエストを中央処理ユニット20へ伝送できるようにすると共に、中央処理ユニットが制御データをインターラプトコントローラ70へ伝送できるように、中央処理ユニット20とインターラプト制御回路72との間にはインターラプトリクエストインターフェース39が設けられている。このインターラプト制御回路72は、インターラプト制御ロジック212と、インターラプトステート記憶装置214とを含む。インターラプトステート記憶装置214は、インターラプトコントローラ70のそのときのインターラプトステートを記憶する。特にこのインターラプトステート記憶装置214は、インターラプトコントローラ70でそのときにどのインターラプトリクエストがペンディング中であるかを示す情報およびかかるリクエストに関連する優先度情報をホールドする。インターラプト制御ロジック212は、インターラプトステート記憶装置214内に記憶されているインターラプトステート情報および中央処理ユニット20のそのときの作動ステートから、サービスのために中央処理ユニット20へそのときにペンディング中のインターラプトリクエストのうちのどれを(存在している場合)送らなければならないかを判断するようになっている。インターラプト制御ロジック212が低電力リクエストライン12上で受信した低電力リクエスト信号にも応答し、そのときのインターラプトステートに応じ、どのインターラプトリクエストが電力制御ドメインを低電力モードから出るようにさせるべきかを決定する。次に、選択情報信号ラインを介してインターラプトコントローラ70のインターラプトリクエストモニタ回路へ、選択されたインターラプトリクエストが伝送される。
常時給電ドメイン内に設けられているインターラプトリクエストモニタ回路は、インターラプトペンディングロジック412と、選択情報記憶装置414とを含む。選択情報記憶装置414は、選択情報信号ライン33を介して、インターラプト制御回路71から伝送された選択情報を記憶するように働く。このインターラプトペンディングロジック412は、インターラプトリクエスト信号ライン50を通してインターラプトソースから受信したインターラプトをモニタすると共に、受信されたインターラプトのうちの1つが、選択情報記憶装置414内に記憶されている選択情報内で、低電力モードから出ることを表示していると識別された場合に、パワーアップリクエスト信号ラインにパワーアップリクエスト信号を加えるように働く。パワーアップリクエスト信号ライン上でパワーアップリクエスト信号がアサートされ、低電力モードから出るように電力が制御されているドメイン52がパワーアップされると、インターラプトリクエストモニタ回路72は、インターラプトレディー信号ライン420上にインターラプト制御回路71に対するインターラプトレディー信号を伝送すると共に、インターラプトディテール信号ライン422上のインターラプト制御回路71に対するインターラプトリクエストのうちのどれが受信されたかを示すインターラプトディテールを伝送する。インターラプトレディー信号ライン420およびインターラプトディテール信号ライン422が設けられていることは、パルス状のインターラプトを取り扱う上で特に重要であり、このパルス状インターラプトは、電力が制御されるドメイン、よってインターラプト制御回路71がパワーアップされる時間までにインターラプトリクエスト信号ライン50で終了する場合があり得る。レベルインターラプトの場合、インターラプトレディー信号ライン420およびインターラプトディテール信号ライン422は、オプションである。その理由は、インターラプト制御回路はインターラプトリクエスト信号ライン50上に直接提供される信号を見ることにより、受信したインターラプトを判断できるからである。
図6は、作動モードから低電力モードに入り、更に低電力モードから作動モードに戻るための方法を示すフローチャートである。最初にデータ処理装置は低電力リクエストをモニタする。低電力リクエストの受信に応答し、記憶ステート信号をプロセッサへ送る。この信号に応答し、プロセッサは命令の入力をプロセッサパイプラインにサスペンドするように働き、次にパイプライン内のペンディング中の命令すべてを実行する。このようにすることにより、記憶しなければならないステートデータの量を低減できる。プロセッサがこのステップを完了すると、このステップを実行しなかった場合よりも少ないプロセッサのアーキテクチャステートがメモリへ送られる。次に、電力コントローラ内にステートレストアインジケータが記憶され、第1電力ドメインがパワーダウンされる。次に処理装置は、低電力モードとなる。この低電力モード中、電力コントローラはパワーアップリクエストをモニタする。電力コントローラがパワーアップリクエストを受信すると、第1電力ドメインをパワーする。このコントローラはプロセッサを含む。このパワーアップを完了すると、次に電力コントローラは電力コントローラ内にステートレストアインジケータが記憶されているかどうかをチェックする。記憶されていれば、電力コントローラは「メモリ記憶レストア」リクエストをプロセッサに送り、メモリ内に記憶されているステートがプロセッサへアンロードし戻され、これによってプロセッサは正常な作動モードをレジュームできる。電力コントローラ内にレストアインジケータがない場合、このインジケータは正常なリセットとなり、メモリからステートをダウンロードする必要はない。
以上で添付図面を参照し、本発明の説明上の実施例について詳細に説明したが、本発明は、これまで説明した実施例だけに限定されるものでなく、請求の範囲に記載した発明の要旨から逸脱することなく、当業者は種々の変更および変形を行うことができると理解すべきである。
本発明の一実施例に係わるデータ処理装置をブロック略図で示す。 本発明の一実施例に係わるデータ処理装置の別の実施例を示す。 本発明の一実施例に係わるシステムの集積回路、電力コントローラ、プロセッサおよびメモリを示す。 本発明の一実施例に係わる集積回路を示す。 図4のインターラプトコントローラをより詳細に示す。 本発明の一実施例に係わる方法を示すフローチャートである。
符号の説明
22 メモリインターフェース
24 スタック/アンスタックロジック
40 メモリ
45 電力コントローラ
71 インターラプトコントローラ
72 インターラプトポーリングロジック

Claims (19)

  1. (i)メモリへのデータ転送を制御するためのメモリインターフェースロジックを備え、第1電力ドメインにおいて給電される、データを処理するためのプロセッサと、
    (ii)第2電力ドメインにおいて給電される、前記プロセッサによって処理されるデータを記憶するためのメモリと、
    (iii)前記プロセッサおよび前記メモリの正常な処理作動中に前記メモリインターフェースロジックにより前記システムバス上に発生されるメモリ転送リクエストに応答し、前記プロセッサと前記メモリとの間でデータを転送するように作動するようになっており、前記プロセッサおよび前記メモリに結合されたシステムバスとを備え、
    (iv)前記プロセッサは、前記データ処理装置が低電力モードに入らなければならないことを示す低電力リクエストに応答し、
    (v)前記メモリインターフェースロジックを使って前記システムバスを介した、前記プロセッサのそのときのステートを示すステートデータの前記メモリへの転送を制御するようになっており、前記ステートデータは、前記低電力モードから出た後に前記プロセッサを等価的なプログラムステートにレストアするのに十分なデータであり、
    (vi)前記メモリ内に前記ステートデータを記憶し、
    (vii)前記第1電力ドメインをパワーダウンする、データ処理装置。
  2. 前記データ処理装置は、前記第1電力ドメインのパワーアップおよびパワーダウンを制御するためのコントローラを更に備え、
    (i)前記コントローラは、前記第2電力ドメインにより給電されると共に、ステートレストアインジケータを記憶するためのデータ記憶装置を含み、
    (ii)前記低電力リクエストの検出に応答し、前記コントローラは、前記低電力リクエストに応答して前記プロセッサをパワーダウンすることを示すステートレストアインジケータ値を記憶し、
    (iii)前記コントローラは、前記プロセッサが前記第1電力ドメインをパワーアップすると共に、前記ステートレストアインジケータ値に応じ、前記パワーアップが標準的なリセットであること、またはステートレストアリセットであることを示す信号を前記プロセッサに送るべきことを示す入力信号に応答自在であり、
    (iv)前記パワーアップが、前記ステートレストアリセットに応答するものであることを、前記コントローラが示したことに応答し、前記プロセッサは前記メモリから前記記憶されたステートデータをロードする、請求項1に記載のデータ処理装置。
  3. 前記プロセッサは、前記低電力リクエストに応答し、前記メモリ内のスタックに前記ステートデータを記憶するようになっており、前記プロセッサは、前記低電力リクエストに応答し、前記ステートデータを前記スタックにスタックすると共に、その後のパワーアップ信号に応答し、前記スタックから前記ステートをアンスタックするためのスタック/アンスタックロジックを備える、請求項1に記載のデータ処理装置。
  4. 前記データ処理装置は、前記第1電力ドメインのパワーアップおよびパワーダウンを制御するためのコントローラを更に備え、
    (i)前記コントローラは、前記第2電力ドメインにより給電されると共に、ステートレストアインジケータを記憶するためのデータ記憶装置を含み、
    (ii)前記低電力リクエストの検出に応答し、前記コントローラは、前記低電力リクエストに応答して前記プロセッサをパワーダウンすることを示すステートレストアインジケータ値を記憶し、
    (iii)前記コントローラは、前記プロセッサが前記第1電力ドメインをパワーアップすると共に、前記ステートレストアインジケータ値に応じ、前記パワーアップが標準的なリセットであること、またはステートレストアリセットであることを示す信号を前記プロセッサに送るべきことを示す入力信号に応答自在であり、
    (iv)前記パワーアップが、前記ステートレストアリセットに応答するものであることを、前記コントローラが示したことに応答し、前記プロセッサは前記メモリから前記記憶されたステートデータをロードし、
    前記ステートレストアインジケータ値は、前記スタックの頂部のアドレスを含む、請求項3に記載のデータ処理装置。
  5. 前記データ処理装置は、インターラプトコントローラを更に備え、前記プロセッサはインターラプトの受信に応答し、前記メモリ内の前記スタックの少なくとも一部に前記プロセッサの一部のステートデータを記憶すると共に、前記インターラプトの完了に応答し、前記一部のステートをレストアする、請求項3に記載のデータ処理装置。
  6. 前記低電力リクエストは、前記プロセッサが発生するインターラプト信号ウェイト命令を含む、請求項5に記載のデータ処理装置。
  7. 前記インターラプトコントローラは、複数のインターラプトを受信するための複数のインターラプト入力を備え、前記複数のインターラプト入力のうちの少なくとも1つはパワーアップ信号を含む、請求項5に記載のデータ処理装置。
  8. 前記インターラプトコントローラは、
    (i)前記第1電力ドメインで給電されるインターラプト制御回路と、
    (ii)前記第2電力ドメインで給電されるインターラプトリクエストモニタ回路とを備え、
    (iii)前記インターラプトリクエストモニタ回路は、前記低電力モードで作動中に前記パワーアップ信号をモニタする、請求項7に記載のデータ処理装置。
  9. 前記インターラプト制御回路は、前記インターラプトリクエストを受信するためのインターラプト入力を備えると共に、受信したインターラプトリクエストを前記プロセッサに選択的に提供し、
    (i)前記インターラプト制御回路は、インターラプト選択情報を前記インターラプトリクエストモニタ回路に伝送し、前記インターラプト選択情報は、前記低電力モードから出ることを示すインターラプトリクエストを前記パワーアップ信号として識別し、
    (ii)前記インターラプトリクエストモニタ回路は、前記インターラプト制御回路により、前記インターラプトリクエストモニタ回路へ伝送される前記選択情報を記憶する選択情報記憶装置を備え、
    (iii)前記インターラプトリクエストモニタ回路は、前記インターラプトリクエストを受信するためのインターラプト入力を備え、前記第1電力ドメインのパワーアップをトリガーするよう、前記パワーアップ信号として前記記憶されたインターラプト選択情報によって識別された受信インターラプトリクエストに応答自在である、請求項8に記載のデータ処理装置。
  10. 前記プロセッサは、パイプラインプロセッサを備え、前記低電力リクエストに応答し、前記データ処理装置は、前記メモリへの前記ステートデータの記憶および前記第1電力ドメインのパワーダウンの前に、前記パイプラインプロセッサへの更なる命令のローディングをサスペンドすると共に、前記パイプラインプロセッサ内でペンディング中の命令の処理を完了する、請求項1に記載のデータ処理装置。
  11. 前記データ処理装置は、前記データ処理装置のそのときの作動状態に応じ、前記メモリに記憶するためのステートデータを選択する、請求項1に記載のデータ処理装置。
  12. 前記データ処理装置は、メモリ保護ユニットを更に備え、前記データ処理装置は、
    (i)前記メモリ保護ユニットが作動状態となっていることに応答し、前記メモリ保護データを前記ステートデータの一部として前記メモリに記憶すると共に、
    (ii)前記メモリ保護ユニットがオフに切り換えられていることに応答し、前記メモリ保護データを前記ステートデータの一部としては前記メモリに記憶しない、請求項11に記載のデータ処理装置。
  13. 前記ステートデータは、前記低電力モードから出た後に、前記プロセッサがデータの処理を再スタートするのに十分なアーキテクチャステートデータを含む、請求項1に記載のデータ処理装置。
  14. 前記プロセッサは、複数のレジスタを備え、前記ステートデータは、プログラムカウンター、スタックポインターおよび前記複数のレジスタのサブセット内に記憶されているデータを含む、請求項13に記載のデータ処理装置。
  15. データを処理するための装置内で低電力モードに入る前のステートをセーブする方法であって、データを処理するための前記装置は、
    (i)メモリへのデータ転送を制御するためのメモリインターフェースロジックを備え、第1電力ドメインにおいて給電される、データを処理するためのプロセッサと、
    (ii)第2電力ドメインにおいて給電される、前記プロセッサによって処理されるデータを記憶するためのメモリと、
    (iii)前記プロセッサおよび前記メモリの正常な処理作動中に前記メモリインターフェースロジックにより前記システムバス上に発生されるメモリ転送リクエストに応答し、前記プロセッサと前記メモリとの間でデータを転送するように作動するようになっており、前記プロセッサおよび前記メモリに結合されたシステムバスとを備え、
    前記方法は、
    (iv)前記低電力リクエストに応答し、前記データ処理装置は低電力モードに入る旨を示すステップと、
    (v)前記メモリインターフェースロジックを使って前記システムバスを介し、前記メモリに前記データ処理装置内の前記プロセッサのそのときのステートを示すステートデータを転送するステップと、
    (vi)前記ステートデータを前記メモリに記憶するステップと、
    (vii)前記第1電力ドメインをパワーダウンするステップとを備える方法。
  16. (i)前記低電力リクエストに応答し、前記プロセッサが前記低電力リクエストに応答してパワーダウンされたことを示すステートレストアインジケータ値を前記コントローラが記憶するステップと、
    (ii)前記プロセッサがパワーダウンされている間、前記コントローラにおいてパワーアップリクエストを検出するステップと、
    (iii)前記パワーアップリクエストに応答し、前記第1電力ドメインをパワーアップすると共に、前記パワーアップが標準的リセットではなく、ステートレストアリセットであることを示す信号を前記プロセッサに送るステップと、
    (iv)前記パワーアップが前記ステートレストアリセットに応答するものであることを示す前記信号に応答し、前記メモリから前記プロセッサに前記記憶されているステートデータをローディングするステップとを更に備える、請求項15に記載の方法。
  17. 前記ステートデータを前記メモリに記憶する前記ステップは、前記メモリ内のスタックに前記ステートデータを記憶することを含む、請求項15に記載の方法。
  18. 前記ステートデータを前記メモリに記憶する前記ステップは、前記メモリ内のスタックに前記ステートデータを記憶することを含み、
    前記ステートレストアインジケータ値は前記スタックの頂部のアドレスを含む、請求項16に記載の方法。
  19. 前記方法は、前記プロセッサはインターラプトの受信に応答し、前記メモリ内の前記スタックの少なくとも一部に前記プロセッサの一部のステートデータを記憶するステップと、前記インターラプトの完了に応答し、前記一部のステートをレストアするステップとを更に備える、請求項17記載の方法。
JP2008322338A 2007-12-19 2008-12-18 低電力モードに入る前にハードウェアで駆動されるプロセッサのステートを記憶する装置 Pending JP2009151789A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0724765.3A GB2455744B (en) 2007-12-19 2007-12-19 Hardware driven processor state storage prior to entering a low power mode

Publications (1)

Publication Number Publication Date
JP2009151789A true JP2009151789A (ja) 2009-07-09

Family

ID=39048364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008322338A Pending JP2009151789A (ja) 2007-12-19 2008-12-18 低電力モードに入る前にハードウェアで駆動されるプロセッサのステートを記憶する装置

Country Status (4)

Country Link
US (2) US7624215B2 (ja)
JP (1) JP2009151789A (ja)
CN (1) CN101464819B (ja)
GB (1) GB2455744B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013536529A (ja) * 2010-08-23 2013-09-19 クアルコム,インコーポレイテッド プロセッサにおける電源切断イベントの間割込みを監視するための方法および装置

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8327173B2 (en) 2007-12-17 2012-12-04 Nvidia Corporation Integrated circuit device core power down independent of peripheral device operation
GB2455744B (en) * 2007-12-19 2012-03-14 Advanced Risc Mach Ltd Hardware driven processor state storage prior to entering a low power mode
US20090204835A1 (en) * 2008-02-11 2009-08-13 Nvidia Corporation Use methods for power optimization using an integrated circuit having power domains and partitions
US9411390B2 (en) * 2008-02-11 2016-08-09 Nvidia Corporation Integrated circuit device having power domains and partitions based on use case power optimization
US8615647B2 (en) 2008-02-29 2013-12-24 Intel Corporation Migrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power state
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state
US8028185B2 (en) * 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state
US8156362B2 (en) * 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
JP5397739B2 (ja) * 2008-03-18 2014-01-22 株式会社リコー 画像処理装置、画像処理方法および画像処理プログラム
US7793025B2 (en) * 2008-03-28 2010-09-07 Freescale Semiconductor, Inc. Hardware managed context sensitive interrupt priority level control
US9423846B2 (en) 2008-04-10 2016-08-23 Nvidia Corporation Powered ring to maintain IO state independent of the core of an integrated circuit device
US8607177B2 (en) 2008-04-10 2013-12-10 Nvidia Corporation Netlist cell identification and classification to reduce power consumption
US8762759B2 (en) 2008-04-10 2014-06-24 Nvidia Corporation Responding to interrupts while in a reduced power state
US7779191B2 (en) * 2008-07-29 2010-08-17 Nvidia Corporation Platform-based idle-time processing
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US8495403B2 (en) * 2008-12-31 2013-07-23 Intel Corporation Platform and processor power management
US8214665B2 (en) * 2009-03-12 2012-07-03 Broadcom Corporation Method and system for transmit queue management for energy efficient networking
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US8862786B2 (en) * 2009-08-31 2014-10-14 International Business Machines Corporation Program execution with improved power efficiency
US8352770B2 (en) * 2009-09-25 2013-01-08 Intel Corporation Method, system and apparatus for low-power storage of processor context information
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US8364877B2 (en) * 2009-12-16 2013-01-29 Cisco Technology, Inc. Implementing gang interrupts
US8504854B2 (en) 2010-06-21 2013-08-06 Advanced Micro Devices, Inc. Managing multiple operating points for stable virtual frequencies
DE102010032758B4 (de) * 2010-07-29 2012-02-23 Fujitsu Technology Solutions Intellectual Property Gmbh Computersystem, Verfahren zum Programmieren einer Echtzeituhr und Computerprogrammprodukt
US9261949B2 (en) 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
US8504753B2 (en) * 2011-02-14 2013-08-06 Qnx Software Systems Limited Suspendable interrupts for processor idle management
TW201237630A (en) * 2011-03-01 2012-09-16 Wistron Corp Method and computer system for processing data in a memory
US8769316B2 (en) * 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
EP2581850B1 (en) * 2011-10-11 2018-12-12 OCT Circuit Technologies International Limited Increased flexibility of security framework during low power modes management
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9773344B2 (en) 2012-01-11 2017-09-26 Nvidia Corporation Graphics processor clock scaling based on idle time
US8947925B2 (en) 2012-08-17 2015-02-03 The University Of Connecticut Thyristor memory cell integrated circuit
US9471395B2 (en) 2012-08-23 2016-10-18 Nvidia Corporation Processor cluster migration techniques
US8947137B2 (en) 2012-09-05 2015-02-03 Nvidia Corporation Core voltage reset systems and methods with wide noise margin
US9063734B2 (en) * 2012-09-07 2015-06-23 Atmel Corporation Microcontroller input/output connector state retention in low-power modes
US9383801B2 (en) * 2012-12-21 2016-07-05 Advanced Micro Devices, Inc. Methods and apparatus related to processor sleep states
US9811874B2 (en) 2012-12-31 2017-11-07 Nvidia Corporation Frame times by dynamically adjusting frame buffer resolution
US9304571B2 (en) * 2013-04-12 2016-04-05 Apple Inc. Interrupt based power state management
US9383807B2 (en) * 2013-10-01 2016-07-05 Atmel Corporation Configuring power domains of a microcontroller system
US20150149803A1 (en) * 2013-11-26 2015-05-28 Kabushiki Kaisha Toshiba Electronic device, control method, and computer-readable storage medium
US9494998B2 (en) 2013-12-17 2016-11-15 Intel Corporation Rescheduling workloads to enforce and maintain a duty cycle
US9684367B2 (en) 2014-06-26 2017-06-20 Atmel Corporation Power trace port for tracing states of power domains
US9513689B2 (en) 2014-06-30 2016-12-06 Intel Corporation Controlling processor performance scaling based on context
US9549373B2 (en) * 2014-07-28 2017-01-17 Apple Inc. Method for waking a data transceiver through data reception
US9696789B2 (en) * 2014-08-18 2017-07-04 Xilinx, Inc. Sub-system power management control
US10599208B2 (en) * 2015-09-08 2020-03-24 Toshiba Memory Corporation Memory system and controller
US9892058B2 (en) 2015-12-16 2018-02-13 Advanced Micro Devices, Inc. Centrally managed unified shared virtual address space
US10289492B2 (en) * 2016-04-20 2019-05-14 M2 Communication Inc. System for data retention and method of operating system
US10324519B2 (en) * 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10417147B2 (en) 2016-08-12 2019-09-17 Nxp B.V. Buffer device, an electronic system, and a method for operating a buffer device
US10423783B2 (en) * 2016-12-19 2019-09-24 Intel Corporation Methods and apparatus to recover a processor state during a system failure or security event
CN108260191A (zh) * 2016-12-29 2018-07-06 展讯通信(上海)有限公司 移动终端及其睡眠状态的控制方法
US10970118B2 (en) 2017-08-02 2021-04-06 Advanced Micro Devices, Inc. Shareable FPGA compute engine
GB2574049B (en) * 2018-05-24 2020-10-07 Advanced Risc Mach Ltd Interrupt controller
CN110908491B (zh) * 2018-08-28 2023-08-08 上海忆芯实业有限公司 功耗控制方法、控制部件及其电子系统
US11281473B2 (en) * 2019-04-05 2022-03-22 Arm Limited Dual wakeup interrupt controllers
US11226828B2 (en) * 2019-04-05 2022-01-18 Arm Limited Wakeup interrupt controller
JP7374622B2 (ja) * 2019-06-17 2023-11-07 キヤノン株式会社 情報処理装置
US11422812B2 (en) 2019-06-25 2022-08-23 Advanced Micro Devices, Inc. Method and apparatus for efficient programmable instructions in computer systems

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149417A (ja) * 1992-11-12 1994-05-27 Fuji Electric Co Ltd Cpuリセット装置
JPH06250939A (ja) * 1993-02-26 1994-09-09 Tokyo Electric Co Ltd データ処理装置
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JPH11194846A (ja) * 1997-10-30 1999-07-21 Toshiba Corp コンピュータシステムおよびそのシステムステート制御方法
JP2003058366A (ja) * 2001-07-27 2003-02-28 Stmicroelectronics Inc 分岐予測なしで分岐ペナルティを減少させる新規なフェッチ分岐アーキテクチャ
JP2004038545A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置
JP2005025726A (ja) * 2003-07-02 2005-01-27 Arm Ltd コヒーレント多重処理システムにおける電力制御
JP2007249933A (ja) * 2006-03-16 2007-09-27 Arm Ltd データ処理装置内コンテンツへのアクセス管理

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
US6968469B1 (en) * 2000-06-16 2005-11-22 Transmeta Corporation System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored
JP3557522B2 (ja) * 2000-07-10 2004-08-25 沖電気工業株式会社 割込信号生成装置
US6792551B2 (en) * 2001-11-26 2004-09-14 Intel Corporation Method and apparatus for enabling a self suspend mode for a processor
US7248146B1 (en) * 2002-02-25 2007-07-24 Palm, Inc. Method for waking a device in response to wireless network activity
US6898651B2 (en) * 2002-05-10 2005-05-24 Intel Corporation Method, apparatus, and system for generating serial interrupt requests (IRQ) with power savings
GB2395302B (en) 2002-11-13 2005-12-28 Advanced Risc Mach Ltd Hardware driven state save/restore in a data processing system
US7191349B2 (en) * 2002-12-26 2007-03-13 Intel Corporation Mechanism for processor power state aware distribution of lowest priority interrupt
US8250406B2 (en) * 2003-08-19 2012-08-21 Intel Corporation Operational state preservation in the absence of AC power
TWI258083B (en) * 2003-11-20 2006-07-11 Via Tech Inc Interrupt signal control system and control method
US20060034611A1 (en) * 2004-08-16 2006-02-16 Weidong Li Method and system for reducing power consumption of IrDA enabled handsets by turning on/off an IrDA port dynamically
CN100458691C (zh) * 2005-10-21 2009-02-04 神基科技股份有限公司 由待机模式快速启动执行电脑多媒体播放的方法
KR100866604B1 (ko) * 2007-01-23 2008-11-03 삼성전자주식회사 전원제어 장치 및 전원제어 방법
US7971086B2 (en) * 2007-02-06 2011-06-28 D. S. P. Group Ltd. Integrated waking/while-awake power management system with breaking distance timer for high wake-up latency portion of hardware
CN101014171A (zh) * 2007-02-07 2007-08-08 重庆重邮信科股份有限公司 一种降低用户终端在空闲模式下能源消耗的方法
US7603504B2 (en) * 2007-12-18 2009-10-13 Intel Corporation Reducing core wake-up latency in a computer system
GB2455744B (en) * 2007-12-19 2012-03-14 Advanced Risc Mach Ltd Hardware driven processor state storage prior to entering a low power mode

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149417A (ja) * 1992-11-12 1994-05-27 Fuji Electric Co Ltd Cpuリセット装置
JPH06250939A (ja) * 1993-02-26 1994-09-09 Tokyo Electric Co Ltd データ処理装置
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JPH11194846A (ja) * 1997-10-30 1999-07-21 Toshiba Corp コンピュータシステムおよびそのシステムステート制御方法
JP2003058366A (ja) * 2001-07-27 2003-02-28 Stmicroelectronics Inc 分岐予測なしで分岐ペナルティを減少させる新規なフェッチ分岐アーキテクチャ
JP2004038545A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置
JP2005025726A (ja) * 2003-07-02 2005-01-27 Arm Ltd コヒーレント多重処理システムにおける電力制御
JP2007249933A (ja) * 2006-03-16 2007-09-27 Arm Ltd データ処理装置内コンテンツへのアクセス管理

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013536529A (ja) * 2010-08-23 2013-09-19 クアルコム,インコーポレイテッド プロセッサにおける電源切断イベントの間割込みを監視するための方法および装置

Also Published As

Publication number Publication date
US20090164817A1 (en) 2009-06-25
US8086883B2 (en) 2011-12-27
US20090164814A1 (en) 2009-06-25
CN101464819B (zh) 2013-08-28
GB0724765D0 (en) 2008-01-30
CN101464819A (zh) 2009-06-24
GB2455744B (en) 2012-03-14
GB2455744A (en) 2009-06-24
US7624215B2 (en) 2009-11-24

Similar Documents

Publication Publication Date Title
JP2009151789A (ja) 低電力モードに入る前にハードウェアで駆動されるプロセッサのステートを記憶する装置
US7992023B2 (en) Method and system for managing peripheral connection wakeup in a processing system supporting multiple virtual machines
US6854064B2 (en) ACPI complaint computer system and overtemperature protection method therefor
US7373537B2 (en) Response to wake event while a system is in reduced power consumption state
KR0172003B1 (ko) 컴퓨터 시스템 및 그 제어방법
KR100352045B1 (ko) 컴퓨터시스템에서전력소모를감소시키기위한방법및장치
US5809223A (en) Network hibernation system and a control method thereof
JP6087820B2 (ja) 仮想計算機制御装置、及び仮想計算機制御方法
JP2007299404A (ja) 高速ブートウェークアップを実行するシステム
US20140013140A1 (en) Information processing apparatus and computer program product
KR20090026895A (ko) 시스템 온 칩에서 전력 소모를 감소시키기 위한 장치 및방법
TW200422819A (en) Method and apparatus for controlling a data processing system during debug
US8151124B2 (en) Apparatus and method for forcibly shutting down system
US8886974B2 (en) Controller
TWI485623B (zh) 快速喚醒電腦系統方法與電腦系統
KR100500227B1 (ko) 프로세서 아이들 상태
US9332064B2 (en) Computer system and remote control method thereof
JP2019127017A5 (ja)
US20070198757A1 (en) Data processing system with hardware polling processor
US9207742B2 (en) Power saving operating method for an electronic device by disabling a connection port to a touch device before the touch device enters power-saving mode
US11226828B2 (en) Wakeup interrupt controller
US20200319896A1 (en) Dual wakeup interrupt controllers
JP6409218B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
TW201541237A (zh) 電子裝置及其系統功率管理方法
JP2000353033A (ja) 電源制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120724

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130205