JP2005234826A - プログラム、記録媒体、制御方法、及び情報処理装置 - Google Patents

プログラム、記録媒体、制御方法、及び情報処理装置 Download PDF

Info

Publication number
JP2005234826A
JP2005234826A JP2004042147A JP2004042147A JP2005234826A JP 2005234826 A JP2005234826 A JP 2005234826A JP 2004042147 A JP2004042147 A JP 2004042147A JP 2004042147 A JP2004042147 A JP 2004042147A JP 2005234826 A JP2005234826 A JP 2005234826A
Authority
JP
Japan
Prior art keywords
power mode
central processing
low power
processing unit
mode
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.)
Granted
Application number
JP2004042147A
Other languages
English (en)
Other versions
JP4316399B2 (ja
Inventor
Hiroko Omori
裕子 大森
Tomoki Maruichi
智己 丸一
Noritoshi Yoshiyama
典利 吉山
Atsuo Sugiura
厚男 杉浦
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004042147A priority Critical patent/JP4316399B2/ja
Priority to CNB2005100079851A priority patent/CN100419636C/zh
Priority to TW094103529A priority patent/TWI357557B/zh
Priority to US11/060,474 priority patent/US7325151B2/en
Publication of JP2005234826A publication Critical patent/JP2005234826A/ja
Application granted granted Critical
Publication of JP4316399B2 publication Critical patent/JP4316399B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

【課題】 バスマスタ転送を行う入出力デバイスを適切に動作させる。
【解決手段】 中央処理装置の実行モードを制御するプログラムであって、中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、情報処理装置を、中央処理装置が低電力モードから高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、情報処理装置の入出力デバイスが、低電力モードにおいて処理不能かつ高電力モードにおいて処理可能な処理を中央処理装置に要求してから、中央処理装置が高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、許容時間及び復帰時間に基づいて、中央処理装置が低電力モードに移行可能と判断した場合に、中央処理装置を低電力モードに移行可能な状態に設定する実行モード設定部として機能させるプログラムを提供する。
【選択図】図5

Description

本発明は、プログラム、記録媒体、制御方法、及び情報処理装置に関する。特に、本発明は、中央処理装置の省電力に関するプログラム、記録媒体、制御方法、及び情報処理装置に関する。
近年、中央処理装置の少なくとも一部の機能をディセーブルすることにより、情報処理装置の消費電力を低減する省電力技術が注目されている。例えば、ある中央処理装置は、通常の実行モードであるC0ステートと、中央処理装置の内部クロックを停止したC2ステートと、C2ステートにおいて更にキャッシュメモリ及びメインメモリの一貫性制御を無効にしたC3ステートとを有している。
また、近年の情報処理装置において、入出力デバイスは、中央処理装置に処理を要求せずに直接メインメモリにアクセスするバスマスタ転送を行うことができる。バスマスタ転送により、中央処理装置は、入出力デバイスから必要以上の割り込み処理を受けなくなるので、効率良く動作する。
しかしながら、中央処理装置がC3ステートである場合に、入出力デバイスがバスマスタ転送をしてしまうと、キャッシュメモリ及びメインメモリのデータの一貫性が失われてしまう。従って、中央処理装置のオペレーティングシステム(以下、OS)は、バスマスタ転送が行なわれていないことを確認した場合にのみ、中央処理装置をC3ステートに移行させていた。
例えば、WindowsXP(登録商標)等のOSは、バスマスタ転送の処理中を示すフラグをリセットし、その後直ちにそのフラグを参照した結果そのフラグがリセット状態のままであれば、バスマスタ転送の頻度が低いと判断して、C3ステートに移行させていた。そして、中央処理装置は、バスマスタ転送が再開された場合には、C3ステートからC0ステート等に直ちに復帰する必要があった。
省電力制御を行う先行技術が提案されている(特許文献1参照。)。
特開平8−6681号公報
しかしながら、中央処理装置がC0ステート等に復帰するのには、ある程度の時間が必要である。このため、入出力デバイスは、メインメモリへのアクセス等を要求してから、中央処理装置がC0ステートに復帰して処理を再開するまでの間に、メインメモリにアクセスできずに障害を発生させてしまう場合があった。
例えば、通信デバイスは、他の装置と一定の速度で通信するために、通信すべきデータをメインメモリから予め取得してバッファメモリに格納している。そして、バッファメモリに格納されたデータが不足した場合には、メインメモリから新たにデータを取得するべく、メインメモリに対するアクセスを要求する。通信デバイスがこの要求を行ってから、メインメモリからデータを取得するまでの間に、バッファメモリのデータが枯渇してしまうと、通信デバイスは、通信速度を一定に保持できずに障害を発生させてしまう。
そこで本発明は、上記の課題を解決することのできるプログラム、記録媒体、制御方法、及び情報処理装置を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の形態においては、情報処理装置に設けられた中央処理装置の実行モードを制御するプログラムであって、中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、情報処理装置を、中央処理装置が、消費電力のより低い実行モードである低電力モードから、低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、情報処理装置の入出力デバイスが、低電力モードにおいて処理不能かつ高電力モードにおいて処理可能な処理を中央処理装置に要求してから、中央処理装置が高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、許容時間及び復帰時間に基づいて、中央処理装置が低電力モードに移行可能と判断した場合に、中央処理装置を低電力モードに移行可能な状態に設定する実行モード設定部として機能させるプログラム。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、バスマスタ転送を行う入出力デバイスを適切に動作させることができる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、情報処理装置10のハードウェア構成の一例を示す。情報処理装置10は、ホストコントローラ1082により相互に接続される中央処理装置周辺部と、I/Oコントローラ1084によりホストコントローラ1082に接続される入出力部と、I/Oコントローラ1084に接続されるレガシー入出力部とを備える。中央処理装置周辺部は、中央処理装置1000、メインメモリ1020、グラフィックコントローラ1075、及び表示装置1080を有する。
入出力部は、通信インターフェイス1030、赤外線通信デバイス1032、USBデバイス1035、及びその他の入出力デバイスであるデバイスA又はデバイスB等と、ハードディスクドライブ1040と、CD−ROMドライブ1060とを有する。レガシー入出力部は、BIOS1010、フレキシブルディスクドライブ1050、及びI/Oチップ1070を有する。
ホストコントローラ1082は、メインメモリ1020と、高い転送レートでメインメモリ1020をアクセスする中央処理装置1000及びグラフィックコントローラ1075とを接続する。中央処理装置1000は、BIOS1010及びメインメモリ1020に格納されたプログラムに基づいて動作し、各部の制御を行う。
グラフィックコントローラ1075は、中央処理装置1000等がメインメモリ1020内に設けたフレームバッファ上に生成する画像データを取得し、表示装置1080上に表示させる。これに代えて、グラフィックコントローラ1075は、中央処理装置1000等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。
I/Oコントローラ1084は、ホストコントローラ1082と、比較的高速な入出力装置である通信インターフェイス1030、赤外線通信デバイス1032、USBデバイス1035、デバイスA・B、ハードディスクドライブ1040、及びCD−ROMドライブ1060を接続する。通信インターフェイス1030は、ネットワークを介して外部の装置と通信する。
赤外線通信デバイス1032は、赤外線通信技術により外部の装置と無線通信する。USBデバイスは、USB規格に準拠したデバイスであり、メインメモリ1020のデータを読み書きする。ハードディスクドライブ1040は、情報処理装置10が使用するプログラム及びデータを格納する。CD−ROMドライブ1060は、CD−ROM1095からプログラム又はデータを読み取り、I/Oコントローラ1084を介してメインメモリ1020に提供する。
また、I/Oコントローラ1084には、BIOS1010と、フレキシブルディスクドライブ1050やI/Oチップ1070等の比較的低速な入出力装置とが接続される。BIOS1010は、情報処理装置10の起動時に中央処理装置1000が実行するブートプログラムや、情報処理装置10のハードウェアに依存するプログラム等を格納する。
フレキシブルディスクドライブ1050は、フレキシブルディスク1090からプログラム又はデータを読み取り、I/Oチップ1070を介してメインメモリ1020に提供する。I/Oチップ1070は、フレキシブルディスク1090や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
情報処理装置10に提供されるプログラムは、フレキシブルディスク1090、CD−ROM1095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、I/Oチップ1070及び/又はI/Oコントローラ1084を介して、記録媒体から読み出され情報処理装置10にインストールされて実行される。
情報処理装置10にインストールされて実行されるプログラムは、許容時間生成モジュールと、復帰時間取得モジュールと、許容時間取得モジュールと、障害検出モジュールと、実行モード設定モジュールと、実行モード選択モジュールとを含む。各モジュールが情報処理装置10に働きかけて行わせる動作は、図2から図14において説明する情報処理装置10における、対応する部材の動作と同一であるから、説明を省略する。
以上に示したプログラム又はモジュールは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク1090、CD−ROM1095の他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はメインメモリ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置10に提供してもよい。
図2は、中央処理装置1000の実行モードの概要を示す。中央処理装置1000は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有する。一例として、中央処理装置1000は、この複数の実行モードとして、C0ステート、C1ステート、C2ステート、C3ステート、及びC4ステートを有する。
C0ステートからC4ステートは、この順に、消費電力が高い。例えば、ある種類の中央処理装置において、C0ステートの消費電力は20Wを超える一方、C1ステート、S2ステート、C3ステート、及びC4ステートの消費電力は、それぞれ、0.8W、0.69W、0.26W、及び0.1Wである。
C0ステートは、本発明に係る高電力モードの一例であり、C0ステートにおいて、中央処理装置1000は、命令(instruction)を実行する。これに対して、C1からC4ステートは、本発明に係る低電力モードの一例であり、C1からC4ステートにおいて、中央処理装置1000は、命令を実行しない。
また、C0ステートからC2ステートにおいて、中央処理装置1000は、キャッシュメモリ1005及びメインメモリ1020の一貫性を保つ処理である一貫性制御を行う。これに対して、C3ステート及びC4ステートにおいて、中央処理装置1000は、この一貫性制御を行わない。例えば、中央処理装置1000は、C0からC2ステートにおいて、メインメモリのアクセス用バスを監視するバススヌープ処理を行い、C3及びC4ステートにおいて、バススヌープ処理を行わない。
また、C2ステートにおいて、中央処理装置1000は、動作クロックの供給を受けたまま、中央処理装置1000の内部の動作クロックを停止する。C3ステートにおいては、中央処理装置1000は、更に、中央処理装置1000の外部の動作クロックを停止する。そして、C4ステートにおいて、中央処理装置1000は、C3ステートと比較して中央処理装置1000の電源電圧を低下させる。
図3は、メインメモリ1020に格納されるデータのデータ構造の一例を示す。メインメモリ1020は、CPU情報記録部300と、デバイス情報記録部310とを有する。CPU情報記録部300は、中央処理装置1000が複数の低電力モードの各々から、高電力モードに復帰するまでに要する時間である復帰時間を格納する。
ただし、中央処理装置1000が低電力モードの状態から、命令を実行可能な状態になるまでに要する時間と、一貫性制御が可能となるまでに要する時間とは異なる。従って、CPU情報記録部300は、各低電力モードについて、その低電力モードから命令を実行する状態になるまでに要する時間であるCPU復帰時間と、その低電力モードから一貫性制御を行う状態になるまでに要する時間であるバス復帰時間とを格納する。また、バス復帰時間とは、低電力モードから、入出力デバイスが、メインメモリにアクセスするバスの制御権を獲得可能な状態になるまでに要する時間であってもよい。
一例として、CPU情報記録部300は、C3ステートから命令を実行する状態になるまでに要するCPU復帰時間として、85μsを格納する。一方、CPU情報記録部300は、C2ステートから命令を実行する状態になるまでに要するCPU復帰時間として、1μsを格納する。なお、これらの復帰時間は、ユーザプログラムがACPIのAPIによりオペレーティングシステムに問い合わせた結果得られた値であってもよいし、利用者により測定された値であってもよい。
デバイス情報記録部310は、入出力デバイス毎に、その入出力デバイスが中央処理装置1000に命令の実行を要求してから、中央処理装置1000が実際にC0ステートに復帰して命令を実行するまでの最大の許容時間であるCPU許容時間を格納する。更に、デバイス情報記録部310は、入出力デバイス毎に、その入出力デバイスがメインメモリ1020へのアクセスを要求してから、中央処理装置1000が一貫性制御を可能な状態となるまでの最大の許容時間であるバス許容時間を格納する。
なお、デバイス情報記録部310が格納する許容時間は、CPU許容時間及びバス許容時間に限らない。デバイス情報記録部310は、入出力デバイスが、低電力モードにおいて処理不能かつ高電力モードにおいて処理可能な処理を中央処理装置1000に要求してから、実際にその処理を開始するまでの許容時間を格納すればよい。また、デバイス情報記録部310が格納するバス許容時間は、中央処理装置1000がC0ステートに復帰するまでの時間に限定されない。例えば、中央処理装置1000がC3ステート等からC0ステートを経由せずにC2ステートに移行可能であるならば、デバイス情報記録部310は、バス許容時間として、中央処理装置1000がC3ステートからC2ステートに復帰するまでに要する時間を格納してもよい。
図4は、入出力デバイスの処理及び実行モードの遷移のタイミングの一例を示す図である。(a)は、中央処理装置1000がC0ステート及びC3ステートの何れかにより動作する状態におけるタイミングの一例を示す。C3ステートにおいて、入出力デバイスが、LPC_DREQ#信号をアサートすることによりメインメモリに対するアクセスを要求した場合に(1)、中央処理装置1000は、C3ステートからC0ステートへの復帰処理を開始する。
具体的には、まず、情報処理装置10は、CPUSTP#信号をデアサートすることにより、中央処理装置1000が動作クロックの供給を受ける準備を開始する。この準備には、例えば80μs程度の時間を要する。そして、情報処理装置10は、STPCLK#信号をデアサートすることにより、動作クロックを再開する。これにより、情報処理装置10は、C0ステートに復帰し(2)、バスマスタデバイスの要求を処理する。
中央処理装置1000は、この例においては、C0ステートにおいて42μs動作した後、バスマスタ転送の要求を更に検出しなければ、再度C3ステートに移行する(3)。この処理と略同時に、例えば赤外線通信デバイス1032は、メインメモリに対するアクセスを要求する。情報処理装置10は、CPUSTP#をアサートしてC3ステートに移行した瞬間に直ちにC0ステートへの復帰処理を開始する。この復帰処理には、例えば85μs程度の時間がかかる(4)。
赤外線通信デバイス1032がメインメモリに対するアクセスを要求してから85μs以内に、赤外線通信デバイス1032に設けられたバッファメモリのデータが枯渇してしまう場合には、赤外線通信デバイス1032は、メインメモリから取得するデータが不足して障害を発生させてしまう。このような場合に、本実施例における情報処理装置10は、中央処理装置1000をC0ステートからC3ステートでなくC2ステートに移行させる設定を行う。
(b)は、中央処理装置1000がC0ステート及びC2ステートの何れかにより動作する状態におけるタイミングの一例を示す。本例において中央処理装置1000は、メインメモリに対するアクセス要求を検出しない場合に、STPCLK#をアサートし、CPUSTP#をデアサートすることによりC2ステートに移行する。そして、中央処理装置1000は、メインメモリに対するアクセスが要求された場合に、C2ステートのまま一貫性制御を行う。
本図に示す例においては、(a)の例とは異なり、赤外線通信デバイス1032は、メインメモリに対するアクセスを要求してからさしたる遅延無くデータを取得できるので、障害を発生させることなく通信を継続することができる。
図5は、中央処理装置1000のブロック図を示す。中央処理装置1000は、デバイスドライバAにより、許容時間生成部500−1として機能し、デバイスドライバBにより、許容時間生成部500−2として機能する。また、中央処理装置1000は、オペレーティングシステムの省電力モジュールにより、復帰時間取得部510と、許容時間取得部520と、障害検出部530と、実行モード設定部540として機能する。
なお、デバイスドライバAは、デバイスAを管理するプログラムであり、デバイスドライバBは、デバイスBを管理するプログラムである。そして、オペレーティングシステム、デバイスドライバA、及びデバイスドライバBの組が、本発明に係るプログラムの一例である。
許容時間生成部500−1は、デバイスAの動作状態に基づいて、CPU許容時間及びバス許容時間を生成し、メインメモリ1020のデバイス情報記録部310に格納する。デバイスドライバBによる処理は、デバイスドライバAによる処理と略同一であるので説明を省略する。
復帰時間取得部510は、各実行モードのCPU復帰時間及びバス復帰時間を、メインメモリ1020のCPU情報記録部300から取得する。許容時間取得部520は、初期化時、および変更時に各入出力デバイスのCPU許容時間及びバス許容時間を取得する。これに代えて、許容時間取得部520は、実行モード設定部540が移行先の実行モードを消費電力の低い低電力モードからより高い低電力モードに変更してから所定の基準設定時間が経過した場合に、CPU許容時間及びバス許容時間をデバイスドライバB等に問い合わせてもよい。
障害検出部530は、低電力モードにおいて、何れかの入出力装置がメインメモリとの間で行うデータ転送を要求した場合に、そのデータ転送に障害が発生したか否かを判断する。一例として、障害検出部530は、赤外線通信デバイス1032のバッファメモリがアンダーランエラーを発生させたか否かを検出してもよい。
実行モード設定部540は、CPU復帰時間、バス復帰時間、CPU許容時間、及びバス許容時間(以下、CPU復帰時間等と呼ぶ)に基づいて、中央処理装置1000がC0ステートから移行すべき移行先の低電力モード(以下、移行先モードと呼ぶ)を設定する。例えば、実行モード設定部540は、中央処理装置1000を、C3ステートに移行できないように設定することにより、移行先モードをC2ステートに設定してもよい。また、実行モード設定部540は、移行可能な実行モードの組を設定してもよい。設定方法の一例として、実行モード設定部540は、中央処理装置1000上で動作するBIOSプログラムの所定のAPIを呼び出してもよい。
更に、実行モード設定部540は、障害検出部530により障害が発生したと判断された場合に、CPU復帰時間等に関わらず、中央処理装置1000がC3ステートに移行できないように設定してもよい。これに代えて、実行モード設定部540は、CPU復帰時間等に基づきC3ステートに移行させないと判断した場合に、障害検出部530により障害が発生したと判断されたことを更に条件として、C3ステートに移行できないように設定してもよい。
図6は、オペレーティングシステムが移行先モードを設定する処理の一例を示す。オペレーティングシステムは、中央処理装置1000がユーザプログラムの命令を実行していないアイドル状態である場合に、以下の処理を行わせる。まず、復帰時間取得部510は、CPU復帰時間及びバス復帰時間を取得する(S600)。
許容時間取得部520は、各入出力デバイスのCPU許容時間及びバス許容時間を取得する(S610)。そして、実行モード設定部540は、複数の入出力デバイスのうち最短のCPU許容時間が、C4ステートのCPU復帰時間以上か否か判断する(S620)。CPU許容時間がCPU復帰時間以上の場合に(S620:YES)、続いて、実行モード設定部540は、複数の入出力デバイスのうち最短のバス許容時間が、C4ステートのバス復帰時間以上か否か判断する(S630)。
バス許容時間がバス復帰時間以上の場合に(S630:YES)、実行モード設定部540は、移行先モードをC4ステートに設定する(S640)。なお、後の処理に備えて、好ましくは、実行モード設定部540は、設定前に既に設定されていた移行先モードをメインメモリ等に保存しておく。一方、最短のCPU許容時間がC4ステートのCPU復帰時間より短い場合(S620:NO)、又は、最短のバス許容時間がC4ステートのバス復帰時間より短い場合に(S630:NO)、実行モード設定部540は、図7の処理に移る。
図7は、図6に続く処理を示す。実行モード設定部540は、複数の入出力デバイスのうち最短のCPU許容時間が、C3ステートのCPU復帰時間以上か否か判断する(S700)。CPU許容時間がCPU復帰時間以上の場合に(S700:YES)、続いて、実行モード設定部540は、複数の入出力デバイスのうち最短のバス許容時間が、C3ステートのバス復帰時間以上か否か判断する(S710)。
バス許容時間がバス復帰時間以上の場合に(S710:YES)、実行モード設定部540は、移行先モードをC3ステートに設定する(S720)。一方、最短のCPU許容時間がC3ステートのCPU復帰時間より短い場合(S700:NO)、又は、最短のバス許容時間がC3ステートのバス復帰時間より短い場合に(S710:NO)、実行モード設定部540は、次の処理に移る。
実行モード設定部540は、複数の入出力デバイスのうち最短のCPU許容時間が、C2ステートのCPU復帰時間以上か否か判断する(S730)。CPU許容時間がCPU復帰時間以上の場合に(S730:YES)、続いて、実行モード設定部540は、複数の入出力デバイスのうち最短のバス許容時間が、C2ステートのバス復帰時間以上か否か判断する(S740)。
バス許容時間がバス復帰時間以上の場合に(S740:YES)、実行モード設定部540は、移行先モードをC2ステートに設定する(S750)。一方、最短のCPU許容時間がC2ステートのCPU復帰時間より短い場合(S730:NO)、又は、最短のバス許容時間がC2ステートのバス復帰時間より短い場合に(S740:NO)、実行モード設定部540は、移行先モードをC1ステートに設定する(S760)。
これにより、実行モード設定部540は、最短のCPU許容時間よりCPU復帰時間が短く、かつ最短のバス許容時間よりバス復帰時間が短い低電力モードを選択し、移行先モードとして設定することができる。更に、実行モード設定部540は、消費電力の低い実行モードから高い実行モードまでこの順に移行可能か否か判断することにより、できるだけ消費電力の低い実行モードに移行させることができる。
図8は、オペレーティングシステムが行う他の処理の一例を示す。オペレーティングシステムは、以下の処理を例えば定期的に行わせる。許容時間取得部520は、実行モード設定部540が、移行先モードを、過去に設定していた低電力モードと比較して消費電力の高い低電力モードに変更してから、予め定められた基準設定時間が経過したか否か判断する(S800)。
基準設定時間が経過した場合に、許容時間取得部520は、各入出力デバイスのCPU許容時間及びバス許容時間を問い合わせる(S810)。許容時間取得部520は、当該問合せに対する返答を取得した場合に(S820:YES)、S840に処理を移す。なお、返答とは、CPU許容時間及びバス許容時間自体であってもよいし、これらの時間をメインメモリ1020に書き込んだ旨の通知であってもよい。
一方、実行モード設定部540は、当該問合せに対する返答を取得できない場合に(S820:NO)、移行先モードを、変更前の当該低電力モードに戻す設定を行う(S830)。例えば、実行モード設定部540は、S640において保存された変更前の低電力モードをメインメモリから取り出して設定してもよい。これにより、デバイスドライバに障害が発生してCPU許容時間及びバス許容時間が不正確となった場合であっても、情報処理装置10の消費電力を低く保つことができる。
続いて、オペレーティングシステムは以下の処理を定期的に行う。なお、上述の処理と処理のタイミングは異なってもよい。障害検出部530は、何れかの低電力モードにおいて、何れかの入出力装置がメインメモリとの間で行うデータ転送を要求した場合に、そのデータ転送に障害が発生したか否かを判断する(S840)。データ転送に障害が発生したと判断された場合に(S840:YES)、実行モード設定部540は、所定の低電力モード、例えばC3ステートに移行できないように設定する(S850)。
図9は、デバイスドライバAの動作フローの一例を示す。デバイスドライバAは、例えば定期的に以下の処理を行わせる。許容時間生成部500−1は、メインメモリとの間のデータ転送を開始する転送開始指示を受けたか否か判断する(S900)。転送開始指示を受けた場合に(S900:YES)、許容時間生成部500−1は、デバイス情報記録部310に格納していたバス許容時間より短い時間を、新たなバス許容時間としてデバイス情報記録部310に格納することにより、バス許容時間を短くする(S910)。
そして、許容時間生成部500−1は、デバイスAによるデータ転送を行う(S920)。データ転送が終了すると、許容時間生成部500−1は、S910において格納したバス許容時間より長い時間を新たなバス許容時間としてデバイス情報記録部310に格納することにより、バス許容時間を長くする(S930)。この結果、許容時間生成部500−1は、デバイスAがメインメモリとの間でデータを転送する場合に、デバイスAがメインメモリとの間でデータを転送しない場合と比較して、より短い時間をバス許容時間として設定することができる。
これに代えて、許容時間生成部500−1は、CPU許容時間を短くし、データ転送終了後にCPU許容時間を長くしてもよい。また、許容時間生成部500−1は、データ転送の転送速度に応じてバス転送時間又はCPU許容時間を設定してもよい。例えば、許容時間生成部500−1は、データ転送の転送速度が速い場合に、その転送速度より遅い場合と比較して、より短い時間をバス許容時間として生成してもよい。
以上、本実施例によると、できるだけ消費電力の低い実行モードで動作させるとともに、入出力デバイスに障害が発生することを防止できる。
図10は、変形例における中央処理装置1000のブロック図を示す。図5において説明した中央処理装置1000と異なり、中央処理装置1000は、デバイスドライバAにより、許容時間生成部500−1と、復帰時間取得部510−1と、許容時間取得部520−1と、移行先モード選択部550−1として機能する。そして、デバイスドライバBにより、許容時間生成部500−2と、復帰時間取得部510−2と、許容時間取得部520−2と、移行先モード選択部550−2として機能する。本図における許容時間生成部500−1、復帰時間取得部510−1、及び許容時間取得部520−1は、それぞれ、図5に示す許容時間生成部500−1、復帰時間取得部510、及び許容時間取得部520と略同一であるので説明を省略する。
また、中央処理装置1000は、オペレーティングシステムの省電力モジュールにより、実行モード設定部540として機能する。なお、図5と同様、デバイスドライバAは、デバイスAを管理するプログラムであり、デバイスドライバBは、デバイスBを管理するプログラムである。そして、オペレーティングシステム、デバイスドライバA、及びデバイスドライバBの組が、本発明に係るプログラムの一例である。
移行先モード選択部550−1は、デバイスAのみが入出力デバイスとして情報処理装置10に設けられており他の入出力デバイスが設けられていない場合において実行モード設定部540が設定するべき移行先モードを、CPU復帰時間等に基づいて選択する。そして、移行先モード選択部550−1は、デバイスAに対応付けて、選択した移行先モードを示す情報をメインメモリ1020に格納する。許容時間生成部500−2等は、同様に、入出力デバイス毎に移行先モードを選択してメインメモリ1020に格納する。他の入出力デバイスのデバイスドライバの処理は、デバイスドライバAの処理と略同一であるので、以降の説明を省略する。
実行モード設定部540は、入出力デバイス毎に移行先モード選択部550−1等により選択された移行先モードのうち、最もCPU復帰時間が短くかつ最もバス復帰時間が短い低電力モードを、移行先モードとして設定する。設定処理の例は、図5と略同一であるので説明を省略する。
図11は、変形例におけるデバイス情報記録部310の一例を示す。デバイス情報記録部310は、入出力デバイス毎に、その入出力デバイスのみが情報処理装置10に設けられている場合において実行モード設定部540が設定するべき移行先モードを格納する。これに代えて、デバイス情報記録部310は、入出力デバイス及び実行モード毎に、その入出力デバイスのみが情報処理装置10に設けられている場合において実行モード設定部540がその実行モードに移行可能な設定を行うべきか否かの情報を格納してもよい。なお、本例におけるCPU情報記録部300は、図3に示すCPU情報記録部300と略同一であるので説明を省略する。
図12は、変形例におけるデバイスドライバAの動作フローの一例を示す。デバイスドライバAは、例えば定期的に、又は、デバイスAの動作状態を変更する毎に、以下の処理を行わせる。まず、復帰時間取得部510−1は、CPU復帰時間及びバス復帰時間を取得する(S1200)。許容時間生成部500−1は、デバイスAのCPU許容時間及びバス許容時間を生成する(S1210)。許容時間取得部520−1は、デバイスAのCPU許容時間及びバス許容時間を許容時間生成部500−1から取得する(S1220)。
移行先モード選択部550−1は、デバイスAのCPU許容時間が、C4ステートのCPU復帰時間以上か否か判断する(S1230)。CPU許容時間がCPU復帰時間以上の場合に(S1230:YES)、続いて、移行先モード選択部550−1は、デバイスAのバス許容時間が、C4ステートのバス復帰時間以上か否か判断する(S1240)。
バス許容時間がバス復帰時間以上の場合に(S1240:YES)、移行先モード選択部550−1は、移行先モードとしてC4ステートを選択し、デバイス情報記録部310に格納する(S1250)。一方、デバイスAのCPU許容時間がC4ステートのCPU復帰時間より短い場合(S1230:NO)、又は、デバイスAのバス許容時間がC4ステートのバス復帰時間より短い場合に(S1240:NO)、移行先モード選択部550は、図13の処理に移る。
図13は、図12に続く処理を示す。移行先モード選択部550−1は、デバイスAのCPU許容時間が、C3ステートのCPU復帰時間以上か否か判断する(S1300)。CPU許容時間がCPU復帰時間以上の場合に(S1300:YES)、続いて、移行先モード選択部550−1は、デバイスAのバス許容時間が、C3ステートのバス復帰時間以上か否か判断する(S1310)。
バス許容時間がバス復帰時間以上の場合に(S1310:YES)、移行先モード選択部550−1は、移行先モードとしてC3ステートを選択し、デバイス情報記録部310に格納する(S1320)。一方、デバイスAのCPU許容時間がC3ステートのCPU復帰時間より短い場合(S1300:NO)、又は、デバイスAのバス許容時間がC3ステートのバス復帰時間より短い場合に(S1310:NO)、移行先モード選択部550−1は、次の処理に移る。
移行先モード選択部550−1は、デバイスAのCPU許容時間が、C2ステートのCPU復帰時間以上か否か判断する(S1330)。CPU許容時間がCPU復帰時間以上の場合に(S1330:YES)、続いて、移行先モード選択部550−1は、デバイスAのバス許容時間が、C2ステートのバス復帰時間以上か否か判断する(S1340)。
バス許容時間がバス復帰時間以上の場合に(S1340:YES)、移行先モード選択部550−1は、移行先モードとしてC2ステートを選択し、デバイス情報記録部310に格納する(S1350)。一方、デバイスAのCPU許容時間がC2ステートのCPU復帰時間より短い場合(S1330:NO)、又は、デバイスAのバス許容時間がC2ステートのバス復帰時間より短い場合に(S1340:NO)、移行先モード選択部550−1は、移行先モードとしてC1ステートを選択し、デバイス情報記録部310に格納する(S1360)。
図14は、変形例におけるオペレーティングシステムの処理の一例を示す。実行モード設定部540は、全ての入出力デバイスについての、移行先モードを、デバイス情報記録部310から取得する(S1400)。そして、実行モード設定部540は、入出力デバイス毎に移行先モード選択部550−1等により選択された移行先モードのうち、最もCPU復帰時間が短くかつ最もバス復帰時間が短い低電力モードを、移行先モードとして設定する(S1410)。
以上、本変形例によれば、既存のオペレーティングシステムの機能をほとんど変更することなく、デバイスドライバの機能により、入出力デバイスを適切に動作させることができる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
以上に示す実施例によれば、以下の各項目に示すプログラム、記録媒体、制御方法、及び情報処理装置が実現される。
(項目1) 情報処理装置に設けられた中央処理装置の実行モードを制御するプログラムであって、前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、前記情報処理装置を、前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定部として機能させるプログラム。
(項目2) 前記中央処理装置は、前記高電力モードにおいて命令を実行し、前記低電力モードにおいて命令を実行せず、前記許容時間取得部は、前記入出力デバイスが、前記中央処理装置に命令の実行を要求してから、前記中央処理装置が命令の実行を開始するまでの最長の許容時間であるCPU許容時間を取得し、前記実行モード設定部は、前記復帰時間が前記CPU許容時間より短い場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する項目1記載のプログラム。
(項目3) 前記中央処理装置は、キャッシュメモリを有し、前記高電力モードにおいて前記キャッシュメモリ及びメインメモリの一貫性を保つ処理である一貫性制御を行い、前記低電力モードにおいて前記一貫性制御を行わず、前記許容時間取得部は、前記入出力デバイスが、前記情報処理装置のメインメモリへのアクセスを要求してから、前記中央処理装置が前記一貫性制御を行える状態となるまでの最長の許容時間であるバス許容時間を取得し、前記実行モード設定部は、前記復帰時間が前記バス許容時間より短い場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する項目1記載のプログラム。
(項目4) 前記中央処理装置は、前記高電力モードにおいて命令を実行し、前記低電力モードにおいて命令を実行せず、前記許容時間取得部は、前記入出力デバイスが、前記中央処理装置に命令の実行を要求してから、前記中央処理装置が命令の実行を開始するまでの最長の許容時間であるCPU許容時間を更に取得し、前記実行モード設定部は、前記復帰時間が前記CPU許容時間より短いことを更に条件として、前記中央処理装置を前記低電力モードに移行可能な状態に設定する項目3記載のプログラム。
(項目5) 前記中央処理装置は、前記高電力モードから、消費電力が互いに異なる複数の前記低電力モードの何れかに移行し、前記復帰時間取得部は、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する復帰時間を取得し、前記実行モード設定部は、前記複数の低電力モードのうち、前記許容時間より復帰時間が短くかつ最も消費電力が低い低電力モードを、前記中央処理装置が前記高電力モードから移行する移行先の低電力モードとして選択して設定する項目1記載のプログラム。
(項目6) 前記情報処理装置は、複数の入出力デバイスを有し、前記許容時間取得部は、前記複数の入出力デバイスの各々の前記許容時間を取得し、前記実行モード設定部は、前記許容時間取得部が取得した最短の前記許容時間より前記復帰時間が短くかつ最も消費電力が低い低電力モードを、前記中央処理装置が前記高電力モードから移行する移行先の低電力モードとして選択して設定する項目5記載のプログラム。
(項目7) 前記実行モード設定部は、前記移行先の低電力モードを、過去に設定していた低電力モードと比較して消費電力の高い低電力モードに変更してから、予め定められた基準設定時間が経過した場合に、前記移行先の低電力モードを、変更前の当該低電力モードに戻す設定を行う項目5記載のプログラム。
(項目8) 前記実行モード設定部が、前記移行先の低電力モードを、変更前の当該低電力モードと比較して消費電力の高い低電力モードに変更してから、予め定められた基準設定時間が経過した場合に、前記許容時間取得部は、前記入出力デバイスを管理するデバイスドライバに、前記許容時間を問い合わせ、前記実行モード設定部は、当該問合せの返答を取得できない場合に、前記移行先の低電力モードを、変更前の当該低電力モードに戻す設定を行う項目7記載のプログラム。
(項目9) 前記中央処理装置は、前記高電力モードから、消費電力が互いに異なる複数の前記低電力モードの何れかに移行し、前記情報処理装置は、複数の入出力デバイスを有し、前記復帰時間取得部は、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する復帰時間を取得し、前記許容時間取得部は、前記複数の入出力デバイスの各々の前記許容時間を取得し、前記プログラムは、前記情報処理装置を、前記入出力デバイス毎に、当該入出力デバイスのみが前記情報処理装置に設けられている場合に前記実行モード設定部が設定するべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択する移行先モード選択部として更に機能させ、前記実行モード設定部は、入出力デバイス毎に前記移行先モード選択部により選択された移行先の低電力モードのうち、最も復帰時間が短い低電力モードを、移行先の低電力モードとして設定する項目1記載のプログラム。
(項目10) 当該プログラムは、前記入出力デバイスの動作状態に基づいて当該入出力デバイスの前記許容時間を生成する許容時間生成部として前記情報処理装置を更に機能させ、前記許容時間取得部は、前記許容時間生成部から前記許容時間を取得する項目1記載のプログラム。
(項目11) 前記許容時間生成部は、前記入出力デバイスがメインメモリとの間でデータを転送する場合に、当該入出力デバイスがメインメモリとの間でデータを転送しない場合と比較して、より短い時間を前記許容時間として生成する項目10記載のプログラム。
(項目12) 情報処理装置に設けられた中央処理装置の実行モードを制御するプログラムであって、前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、前記情報処理装置を、前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出部と、前記障害検出部により障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定部として機能させるプログラム。
(項目13) 情報処理装置の中央処理装置を、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードの何れかにより動作させる制御を行うプログラムであって、前記中央処理装置は、消費電力のより高い実行モードである高電力モードから、前記高電力モードより消費電力の低い複数の実行モードである複数の低電力モードの何れかに移行し、前記情報処理装置を、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、前記複数の低電力モードの各々について、前記情報処理装置の入出力デバイスが、当該低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、前記入出力デバイスが前記情報処理装置に設けられており他の入出力デバイスが設けられていない場合において前記中央処理装置が移行すべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択し、選択した低電力モードを示す情報を出力する移行先モード選択部として機能させるプログラム。
(項目14) 項目1、項目12、及び項目13の何れかに記載のプログラムを記録した記録媒体。
(項目15) 情報処理装置に設けられた中央処理装置の実行モードを制御する制御方法であって、前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得段階と、前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得段階と、前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定段階とを備える制御方法。
(項目16) 情報処理装置に設けられた中央処理装置の実行モードを制御する制御方法であって、前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出段階と、前記障害検出段階において障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定段階とを備える制御方法。
(項目17) 情報処理装置の中央処理装置を、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードの何れかにより動作させる制御を行う制御方法であって、前記中央処理装置は、消費電力のより高い実行モードである高電力モードから、前記高電力モードより消費電力の低い複数の実行モードである複数の低電力モードの何れかに移行し、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得段階と、前記複数の低電力モードの各々について、前記情報処理装置の入出力デバイスが、当該低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得段階と、前記入出力デバイスが前記情報処理装置に設けられており他の入出力デバイスが設けられていない場合において前記中央処理装置が移行すべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択し、選択した低電力モードを示す情報を出力する移行先モード選択段階とを備える制御方法。
(項目18) 中央処理装置及び入出力デバイスを備えた情報処理装置であって、前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定部とを備える情報処理装置。
(項目19) 中央処理装置及び入出力デバイスを備えた情報処理装置であって、前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出部と、前記障害検出部により障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定部とを備える情報処理装置。
図1は、情報処理装置10のブロック図を示す。 図2は、中央処理装置1000の実行モードの概要を示す。 図3は、メインメモリ1020に格納されるデータのデータ構造の一例を示す。 図4は、入出力デバイスの処理及び実行モードの遷移のタイミングの一例を示す図である。 図5は、中央処理装置1000のブロック図を示す。 図6は、オペレーティングシステムが移行先モードを設定する処理の一例を示す。 図7は、図6に続く処理を示す。 図8は、オペレーティングシステムが行う他の処理の一例を示す。 図9は、デバイスドライバAの動作フローの一例を示す。 図10は、変形例における中央処理装置1000のブロック図を示す。 図11は、変形例におけるCPU情報記録部300の一例を示す。 図12は、変形例におけるデバイスドライバAの動作フローの一例を示す。 図13は、図12に続く処理を示す。 図14は、変形例におけるオペレーティングシステムの処理の一例を示す。
符号の説明
10 情報処理装置
300 CPU情報記録部
310 デバイス情報記録部
500 許容時間生成部
510 復帰時間取得部
520 許容時間取得部
530 障害検出部
540 実行モード設定部
550 移行先モード選択部
1000 中央処理装置
1020 メインメモリ

Claims (19)

  1. 情報処理装置に設けられた中央処理装置の実行モードを制御するプログラムであって、
    前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、
    前記情報処理装置を、
    前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、
    前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、
    前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定部と
    して機能させるプログラム。
  2. 前記中央処理装置は、前記高電力モードにおいて命令を実行し、前記低電力モードにおいて命令を実行せず、
    前記許容時間取得部は、前記入出力デバイスが、前記中央処理装置に命令の実行を要求してから、前記中央処理装置が命令の実行を開始するまでの最長の許容時間であるCPU許容時間を取得し、
    前記実行モード設定部は、前記復帰時間が前記CPU許容時間より短い場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する
    請求項1記載のプログラム。
  3. 前記中央処理装置は、キャッシュメモリを有し、前記高電力モードにおいて前記キャッシュメモリ及びメインメモリの一貫性を保つ処理である一貫性制御を行い、前記低電力モードにおいて前記一貫性制御を行わず、
    前記許容時間取得部は、前記入出力デバイスが、前記情報処理装置のメインメモリへのアクセスを要求してから、前記中央処理装置が前記一貫性制御を行える状態となるまでの最長の許容時間であるバス許容時間を取得し、
    前記実行モード設定部は、前記復帰時間が前記バス許容時間より短い場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する
    請求項1記載のプログラム。
  4. 前記中央処理装置は、前記高電力モードにおいて命令を実行し、前記低電力モードにおいて命令を実行せず、
    前記許容時間取得部は、前記入出力デバイスが、前記中央処理装置に命令の実行を要求してから、前記中央処理装置が命令の実行を開始するまでの最長の許容時間であるCPU許容時間を更に取得し、
    前記実行モード設定部は、前記復帰時間が前記CPU許容時間より短いことを更に条件として、前記中央処理装置を前記低電力モードに移行可能な状態に設定する
    請求項3記載のプログラム。
  5. 前記中央処理装置は、前記高電力モードから、消費電力が互いに異なる複数の前記低電力モードの何れかに移行し、
    前記復帰時間取得部は、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する復帰時間を取得し、
    前記実行モード設定部は、前記複数の低電力モードのうち、前記許容時間より復帰時間が短くかつ最も消費電力が低い低電力モードを、前記中央処理装置が前記高電力モードから移行する移行先の低電力モードとして選択して設定する
    請求項1記載のプログラム。
  6. 前記情報処理装置は、複数の入出力デバイスを有し、
    前記許容時間取得部は、前記複数の入出力デバイスの各々の前記許容時間を取得し、
    前記実行モード設定部は、前記許容時間取得部が取得した最短の前記許容時間より前記復帰時間が短くかつ最も消費電力が低い低電力モードを、前記中央処理装置が前記高電力モードから移行する移行先の低電力モードとして選択して設定する
    請求項5記載のプログラム。
  7. 前記実行モード設定部は、前記移行先の低電力モードを、過去に設定していた低電力モードと比較して消費電力の高い低電力モードに変更してから、予め定められた基準設定時間が経過した場合に、前記移行先の低電力モードを、変更前の当該低電力モードに戻す設定を行う
    請求項5記載のプログラム。
  8. 前記実行モード設定部が、前記移行先の低電力モードを、変更前の当該低電力モードと比較して消費電力の高い低電力モードに変更してから、予め定められた基準設定時間が経過した場合に、前記許容時間取得部は、前記入出力デバイスを管理するデバイスドライバに、前記許容時間を問い合わせ、
    前記実行モード設定部は、当該問合せの返答を取得できない場合に、前記移行先の低電力モードを、変更前の当該低電力モードに戻す設定を行う
    請求項7記載のプログラム。
  9. 前記中央処理装置は、前記高電力モードから、消費電力が互いに異なる複数の前記低電力モードの何れかに移行し、
    前記情報処理装置は、複数の入出力デバイスを有し、
    前記復帰時間取得部は、前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する復帰時間を取得し、
    前記許容時間取得部は、前記複数の入出力デバイスの各々の前記許容時間を取得し、
    前記プログラムは、前記情報処理装置を、
    前記入出力デバイス毎に、当該入出力デバイスのみが前記情報処理装置に設けられている場合に前記実行モード設定部が設定するべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択する移行先モード選択部として更に機能させ、
    前記実行モード設定部は、入出力デバイス毎に前記移行先モード選択部により選択された移行先の低電力モードのうち、最も復帰時間が短い低電力モードを、移行先の低電力モードとして設定する
    請求項1記載のプログラム。
  10. 当該プログラムは、前記入出力デバイスの動作状態に基づいて当該入出力デバイスの前記許容時間を生成する許容時間生成部として前記情報処理装置を更に機能させ、
    前記許容時間取得部は、前記許容時間生成部から前記許容時間を取得する
    請求項1記載のプログラム。
  11. 前記許容時間生成部は、前記入出力デバイスがメインメモリとの間でデータを転送する場合に、当該入出力デバイスがメインメモリとの間でデータを転送しない場合と比較して、より短い時間を前記許容時間として生成する
    請求項10記載のプログラム。
  12. 情報処理装置に設けられた中央処理装置の実行モードを制御するプログラムであって、
    前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、
    前記情報処理装置を、
    前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出部と、
    前記障害検出部により障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定部と
    して機能させるプログラム。
  13. 情報処理装置の中央処理装置を、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードの何れかにより動作させる制御を行うプログラムであって、
    前記中央処理装置は、消費電力のより高い実行モードである高電力モードから、前記高電力モードより消費電力の低い複数の実行モードである複数の低電力モードの何れかに移行し、
    前記情報処理装置を、
    前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、
    前記複数の低電力モードの各々について、前記情報処理装置の入出力デバイスが、当該低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、
    前記入出力デバイスが前記情報処理装置に設けられており他の入出力デバイスが設けられていない場合において前記中央処理装置が移行すべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択し、選択した低電力モードを示す情報を出力する移行先モード選択部と
    して機能させるプログラム。
  14. 請求項1、請求項12、及び請求項13の何れかに記載のプログラムを記録した記録媒体。
  15. 情報処理装置に設けられた中央処理装置の実行モードを制御する制御方法であって、
    前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、
    前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得段階と、
    前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得段階と、
    前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定段階と
    を備える制御方法。
  16. 情報処理装置に設けられた中央処理装置の実行モードを制御する制御方法であって、
    前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、
    前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出段階と、
    前記障害検出段階において障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定段階と
    を備える制御方法。
  17. 情報処理装置の中央処理装置を、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードの何れかにより動作させる制御を行う制御方法であって、
    前記中央処理装置は、消費電力のより高い実行モードである高電力モードから、前記高電力モードより消費電力の低い複数の実行モードである複数の低電力モードの何れかに移行し、
    前記中央処理装置が前記複数の低電力モードの各々から前記高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得段階と、
    前記複数の低電力モードの各々について、前記情報処理装置の入出力デバイスが、当該低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得段階と、
    前記入出力デバイスが前記情報処理装置に設けられており他の入出力デバイスが設けられていない場合において前記中央処理装置が移行すべき移行先の低電力モードを、前記許容時間及び前記復帰時間に基づいて選択し、選択した低電力モードを示す情報を出力する移行先モード選択段階と
    を備える制御方法。
  18. 中央処理装置及び入出力デバイスを備えた情報処理装置であって、
    前記中央処理装置は、実行できる処理の種類及び消費電力が互いに異なる複数の実行モードを有し、
    前記中央処理装置が、消費電力のより低い実行モードである低電力モードから、前記低電力モードより消費電力の高い実行モードである高電力モードに復帰するまでに要する時間である復帰時間を取得する復帰時間取得部と、
    前記情報処理装置の入出力デバイスが、前記低電力モードにおいて処理不能かつ前記高電力モードにおいて処理可能な処理を前記中央処理装置に要求してから、前記中央処理装置が前記高電力モードに復帰して当該処理を開始するまでの最長の許容時間を取得する許容時間取得部と、
    前記許容時間及び前記復帰時間に基づいて、前記中央処理装置が前記低電力モードに移行可能と判断した場合に、前記中央処理装置を前記低電力モードに移行可能な状態に設定する実行モード設定部と
    を備える情報処理装置。
  19. 中央処理装置及び入出力デバイスを備えた情報処理装置であって、
    前記中央処理装置は、キャッシュメモリを有し、前記キャッシュメモリとメインメモリとのデータ一貫性制御を行いかつ消費電力のより高い高電力モードと、前記高電力モードより消費電力が低く前記一貫性制御を行わない低電力モードとを有し、
    前記低電力モードにおいて、前記情報処理装置の入出力デバイスが前記メインメモリとの間で行うデータ転送を要求した場合に、当該データ転送に障害が発生したか否かを判断する障害検出部と、
    前記障害検出部により障害が発生したと判断された場合に、前記中央処理装置が前記低電力モードに移行できないように設定する実行モード設定部と
    を備える情報処理装置。
JP2004042147A 2004-02-18 2004-02-18 プログラム、記録媒体、制御方法、及び情報処理装置 Expired - Fee Related JP4316399B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004042147A JP4316399B2 (ja) 2004-02-18 2004-02-18 プログラム、記録媒体、制御方法、及び情報処理装置
CNB2005100079851A CN100419636C (zh) 2004-02-18 2005-02-04 控制cpu执行模式的信息处理设备
TW094103529A TWI357557B (en) 2004-02-18 2005-02-04 Program product for controlling an execution mode
US11/060,474 US7325151B2 (en) 2004-02-18 2005-02-17 Program, recording medium, method, and information processing apparatus for controlling an execution mode of a CPU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004042147A JP4316399B2 (ja) 2004-02-18 2004-02-18 プログラム、記録媒体、制御方法、及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2005234826A true JP2005234826A (ja) 2005-09-02
JP4316399B2 JP4316399B2 (ja) 2009-08-19

Family

ID=34987769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004042147A Expired - Fee Related JP4316399B2 (ja) 2004-02-18 2004-02-18 プログラム、記録媒体、制御方法、及び情報処理装置

Country Status (4)

Country Link
US (1) US7325151B2 (ja)
JP (1) JP4316399B2 (ja)
CN (1) CN100419636C (ja)
TW (1) TWI357557B (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165350A (ja) * 2008-12-31 2010-07-29 Intel Corp 電力管理のための下流デバイスのサービス待ち時間報告
JP2010165349A (ja) * 2008-12-31 2010-07-29 Intel Corp 電力管理のためのアイドル期間報告
JP2012212467A (ja) * 2008-03-31 2012-11-01 Intel Corp レイテンシガイダンスに基づくプラットフォームのパワーマネジメント
JP2013516025A (ja) * 2010-01-11 2013-05-09 クアルコム,インコーポレイテッド コンピューティングデバイスのための動的低電力モード実装
JP2013516009A (ja) * 2010-01-11 2013-05-09 クアルコム,インコーポレイテッド 動的電力管理のためのドメイン固有言語、コンパイラ、およびjit
JP2015064676A (ja) * 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
JP2016181235A (ja) * 2015-03-25 2016-10-13 株式会社東芝 半導体装置、電力制御方法及びプログラム
JP2022515687A (ja) * 2017-11-29 2022-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンピューティングシステムにおける動的な割り込みレート制御

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4189882B2 (ja) * 2004-05-11 2008-12-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 記録媒体、情報処理装置、制御方法、及びプログラム
US7430677B2 (en) * 2004-08-05 2008-09-30 Canon Kabushiki Kaisha Data processing device, and control method of data processing device
JP4314249B2 (ja) * 2006-04-21 2009-08-12 キヤノン株式会社 省エネモード搭載装置を制御する情報処理装置及びその制御方法
US7529956B2 (en) * 2006-07-17 2009-05-05 Microsoft Corporation Granular reduction in power consumption
US8707073B2 (en) 2011-08-31 2014-04-22 International Business Machines Corporation Energy-efficient polling loop
CN102929381B (zh) * 2012-10-22 2015-08-05 威盛电子股份有限公司 电子系统及其电源管理方法
US20170177068A1 (en) * 2015-12-17 2017-06-22 Intel Corporation Systems, methods and devices for standby power savings
JP7163002B2 (ja) 2016-05-25 2022-10-31 キヤノン株式会社 プロセッサに接続されるデバイスから通知される復帰時間に応じてプロセッサの省電力のレベルを決定する情報処理装置及びプロセッサの省電力方法
JP7374588B2 (ja) * 2019-02-06 2023-11-07 キヤノン株式会社 Pciデバイスに接続される省電力状態に移行可能なデバイスを備える電子機器およびその制御方法
CN112147931B (zh) * 2020-09-22 2022-06-24 哲库科技(北京)有限公司 一种信号处理器的控制方法、装置、设备以及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (ja) * 1994-04-18 1996-01-12 Hitachi Ltd 省電力制御システム
JPH086881A (ja) 1994-06-22 1996-01-12 Chubu Nippon Denki Software Kk 通信処理装置のメモリ制御方法および通信処理装置のメ モリ制御方式
TW382670B (en) * 1996-11-21 2000-02-21 Hitachi Ltd Low power processor
US5999730A (en) * 1997-10-27 1999-12-07 Phoenix Technologies Limited Generation of firmware code using a graphic representation
US6941480B1 (en) * 2000-09-30 2005-09-06 Intel Corporation Method and apparatus for transitioning a processor state from a first performance mode to a second performance mode
JP3987692B2 (ja) * 2001-06-12 2007-10-10 太陽誘電株式会社 誘電体磁器組成物及び磁器コンデンサ
US20030071805A1 (en) * 2001-10-17 2003-04-17 Stanley Randy P. Powering down display screens of processor-based systems
US6934199B2 (en) * 2002-12-11 2005-08-23 Micron Technology, Inc. Memory device and method having low-power, high write latency mode and high-power, low write latency mode and/or independently selectable write latency
JP4100173B2 (ja) * 2003-01-08 2008-06-11 株式会社村田製作所 誘電体セラミックおよび積層セラミックコンデンサ
JP4151566B2 (ja) * 2003-02-25 2008-09-17 株式会社デンソー マイクロコンピュータ
US7237131B2 (en) * 2003-12-30 2007-06-26 Intel Corporation Transaction-based power management in a computer system

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012212467A (ja) * 2008-03-31 2012-11-01 Intel Corp レイテンシガイダンスに基づくプラットフォームのパワーマネジメント
US8631257B2 (en) 2008-03-31 2014-01-14 Intel Corporation Platform power management based on latency guidance
JP2014206996A (ja) * 2008-03-31 2014-10-30 インテル・コーポレーション レイテンシガイダンスに基づくプラットフォームのパワーマネジメント
US9459684B2 (en) 2008-12-31 2016-10-04 Intel Corporation Idle duration reporting for power management
JP2010165349A (ja) * 2008-12-31 2010-07-29 Intel Corp 電力管理のためのアイドル期間報告
US9838967B2 (en) 2008-12-31 2017-12-05 Intel Corporation Downstream device service latency reporting for power management
US10182398B2 (en) 2008-12-31 2019-01-15 Intel Corporation Downstream device service latency reporting for power management
US8601296B2 (en) 2008-12-31 2013-12-03 Intel Corporation Downstream device service latency reporting for power management
JP2010165350A (ja) * 2008-12-31 2010-07-29 Intel Corp 電力管理のための下流デバイスのサービス待ち時間報告
JP2013516025A (ja) * 2010-01-11 2013-05-09 クアルコム,インコーポレイテッド コンピューティングデバイスのための動的低電力モード実装
US9235251B2 (en) 2010-01-11 2016-01-12 Qualcomm Incorporated Dynamic low power mode implementation for computing devices
US9182810B2 (en) 2010-01-11 2015-11-10 Qualcomm Incorporated Domain specific language, compiler and JIT for dynamic power management
JP2013516009A (ja) * 2010-01-11 2013-05-09 クアルコム,インコーポレイテッド 動的電力管理のためのドメイン固有言語、コンパイラ、およびjit
JP2015064676A (ja) * 2013-09-24 2015-04-09 株式会社東芝 情報処理装置、半導体装置、情報処理方法およびプログラム
US10203740B2 (en) 2013-09-24 2019-02-12 Toshiba Memory Corporation Information processing device and semiconductor device
JP2016181235A (ja) * 2015-03-25 2016-10-13 株式会社東芝 半導体装置、電力制御方法及びプログラム
JP2022515687A (ja) * 2017-11-29 2022-02-22 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンピューティングシステムにおける動的な割り込みレート制御
JP7315559B2 (ja) 2017-11-29 2023-07-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド コンピューティングシステムにおける動的な割り込みレート制御

Also Published As

Publication number Publication date
JP4316399B2 (ja) 2009-08-19
CN100419636C (zh) 2008-09-17
TW200602848A (en) 2006-01-16
CN1658127A (zh) 2005-08-24
TWI357557B (en) 2012-02-01
US7325151B2 (en) 2008-01-29
US20050210312A1 (en) 2005-09-22

Similar Documents

Publication Publication Date Title
JP4316399B2 (ja) プログラム、記録媒体、制御方法、及び情報処理装置
US6243831B1 (en) Computer system with power loss protection mechanism
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
JP5060487B2 (ja) ダイナミックメモリサイジングのレイテンシを最適化する方法、システムおよびプログラム
TWI472914B (zh) 具有可移除式非揮發性半導體記憶體模組之硬碟驅動器、硬碟總成、膝上型電腦和用於非揮發性半導體記憶體模組移除檢測之硬碟控制器積體電路
JP3857661B2 (ja) 情報処理装置、プログラム、及び記録媒体
US20120226925A1 (en) Method for switching operating system and electronic apparatus using the same
JP2006120114A (ja) 多機能電源ボタンを有するコンピューター及び関連方法
JPH11161385A (ja) コンピュータシステムおよびそのシステムステート制御方法
JP5885881B2 (ja) コンピューティングデバイスにおける電源オフ状態の実施
TW201011524A (en) Method and controller for power management
JP2004127040A (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
US20160117269A1 (en) System and method for providing universal serial bus link power management policies in a processor environment
US8717371B1 (en) Transitioning between operational modes in a hybrid graphics system
US6378076B1 (en) Substantially undetectable data processing
US8717372B1 (en) Transitioning between operational modes in a hybrid graphics system
CN103970253B (zh) 省电操作方法与电子装置
US11036668B2 (en) Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof
JP2006221557A (ja) 情報処理装置および該情報処理装置の状態制御方法
JP6691312B1 (ja) 情報処理システム、情報処理装置およびプログラム
JP3769541B2 (ja) コンピュータ装置、miniPCIカード、自動電源オン回路、および自動立ち上げ方法
WO2011016080A1 (ja) 情報処理装置、情報処理方法
JP4691180B2 (ja) 情報処理装置
JP2002351585A (ja) コンピュータ装置、電源供給装置およびコンピュータ装置の電源供給方法
US20100138597A1 (en) Information Processing System, System Controller, and Memory Control Method

Legal Events

Date Code Title Description
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051129

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051129

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20051129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090416

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090520

R150 Certificate of patent or registration of utility model

Ref document number: 4316399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120529

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130529

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140529

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees