(57)【要約】【課題】消費電力を低減する。【解決手段】プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、一貫性制御を行わず通常動作モードより消費電力を減少させる省電力動作モードとを有し、省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に通常動作モードに切り替える情報処理装置１０は、メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、通常動作モードにおいても一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、省電力動作モードにおいて、入出力デバイスがデバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを省電力動作モードに保持した状態で入出力デバイスにデバイス用領域をアクセスさせる動作モード設定部とを備える。【選択図】  図１
2004280269.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置であって、
前記メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、前記通常動作モードにおいても前記一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、
前記省電力動作モードにおいて、前記入出力デバイスが前記デバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる動作モード設定部と
を備える情報処理装置。
【請求項２】
前記入出力デバイスとは異なるデバイスが、前記メインメモリのうち、前記通常モードにおいて前記一貫性制御を行う必要があるキャッシャブル属性に設定された領域をアクセスする場合に、前記動作モード設定部は、当該情報処理装置の動作モードを前記通常動作モードに変更させる請求項１記載の情報処理装置。
【請求項３】
前記プロセッサは、前記省電力モードにおいて前記入出力デバイスが前記メインメモリにアクセスするべく出力するアクセス要求信号を受け取ると、当該情報処理装置の動作モードを前記通常動作モードに切り替え、
前記動作モード設定部は、前記アクセス要求信号を無効にすることにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる請求項１記載の情報処理装置。
【請求項４】
複数の入出力デバイスのそれぞれに対応付けて、当該入出力デバイスから受けた前記アクセス要求信号を無効にするか否かを設定する複数のマスクデータのそれぞれを格納するレジスタ部と、
前記アクセス要求信号を入出力デバイス毎に取得し、当該入出力デバイスに対応付けて前記レジスタ部に格納されたマスクデータにより当該アクセス要求信号をマスクするマスク部と、
前記マスク部によりマスクされた信号を前記プロセッサに入力することにより、当該情報処理装置の動作モードを切り替えさせる入力部と
を更に備え、
前記動作モード設定部は、前記デバイス用領域をアクセスする前記入出力デバイスに対応付けて、前記アクセス要求信号を無効にするマスクデータを前記レジスタ部に格納することにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる請求項３記載の情報処理装置。
【請求項５】
プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置として、コンピュータを機能させるプログラムであって、
前記コンピュータを、
前記メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、前記通常動作モードにおいても前記一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、
前記省電力動作モードにおいて、前記入出力デバイスが前記デバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる動作モード設定部と
して機能させるプログラム。
【請求項６】
前記プロセッサは、前記省電力モードにおいて前記入出力デバイスが前記メインメモリにアクセスするべく出力するアクセス要求信号を受け取ると、当該情報処理装置の動作モードを前記通常動作モードに切り替え、
前記動作モード設定部は、前記アクセス要求信号を無効にすることにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる請求項５記載のプログラム。
【請求項７】
請求項５又は請求項６に記載のプログラムを記録した記録媒体。
【請求項８】
キャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置において、動作モードの切替を制御する制御回路であって、
複数の入出力デバイスのそれぞれがメインメモリにアクセスするべく出力するアクセス要求信号を無効にするか否かを示すマスクデータを、入出力デバイス毎に格納するレジスタ部と、
前記アクセス要求信号を入出力デバイス毎に取得し、当該アクセス要求信号を、当該入出力デバイスに対応付けられて前記レジスタ部に格納されたマスクデータによりマスクするマスク部と、
前記マスク部によりマスクされた信号をプロセッサに入力することにより、当該情報処理装置の動作モードを切り替えさせる入力部と
を備える制御回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置、プログラム、記録媒体、及び制御回路に関する。特に本発明は、省電力機能を有する情報処理装置、プログラム、記録媒体、及び制御回路に関する。
【０００２】
【従来の技術】
近年、携帯式情報処理端末等のバッテリーによる駆動時間を長くする省電力技術が注目されている。例えば、従来、計算の処理量に応じて、消費電力を切り替える技術が用いられている（非特許文献１。）。
【０００３】
【非特許文献１】
コンパックコンピュータコーポレーション、外４社、「ＡＣＰＩ仕様２．０ａ版」、英題“Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  ２．０ａ”、２００２年３月３１日
【０００４】
【発明が解決しようとする課題】
従来、ＡＣＰＩの機能を有する情報処理端末は、プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、この一貫性制御を行わず通常動作モードより消費電力を減少させる省電力動作モードとを有している。しかしながら、情報処理端末は、入出力デバイスがメインメモリをアクセスするバスマスタ転送を行う場合には、メインメモリ及びキャッシュメモリの一貫性がとれなくなるので、省電力動作モードに設定することができない。このため、常に通常動作モードにより動作する情報処理装置が提案されているが、消費電力が大きいという問題がある。また、省電力動作モードに設定される直前にキャッシュメモリをフラッシュする方法も提案されているが、キャッシュメモリをフラッシュする処理が遅い（例えば、あるプロセッサでは８０から４００マイクロ秒要する）等の問題があった。
そこで本発明は、上記の課題を解決することのできる情報処理装置、プログラム、記録媒体、及び制御回路を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【０００５】
【課題を解決するための手段】
即ち、本発明の第１の形態によると、プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、一貫性制御を行わず通常動作モードより消費電力を減少させる省電力動作モードとを有し、省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に通常動作モードに切り替える情報処理装置であって、メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、通常動作モードにおいても一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、省電力動作モードにおいて、入出力デバイスがデバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを省電力動作モードに保持した状態で入出力デバイスにデバイス用領域をアクセスさせる動作モード設定部とを備える情報処理装置、当該情報処理装置を動作させるプログラム、プログラムを記録した記録媒体、当該情報処理装置を制御する制御回路を提供する。
なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションも又発明となりうる。
【０００６】
【発明の実施の形態】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、又実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、情報処理装置１０の機能ブロック図を示す。情報処理装置１０は、消費電力が互いに異なる複数の動作モードを有し、デバイスがメモリにアクセスする場合であっても消費電力の低い動作モードを保持することを目的とする。情報処理装置１０は、プロセッサ１１０と、メインメモリ１２０と、システムコントローラ１３０と、バスアービター１３５と、それぞれが入出力デバイスの一例であるＰＣＩバスマスタデバイス１４０ａ〜ｃと、通信インターフェイス１５０と、ハードディスクドライブ１６０と、フロッピー（登録商標）ディスクドライブ１７０と、ＣＤ−ＲＯＭドライブ１８０とを備える。情報処理装置１０は、更に、メインメモリ１２０に格納されプロセッサ１１０により実行されるデバイスドライバ３００と、オペレーティングシステム２００とを備える。
【０００７】
プロセッサ１１０は、メインメモリ１２０に格納されたプログラムに基づき、情報処理装置１０の各部を制御する。また、プロセッサ１１０は、メインメモリ１２０から読み出したデータを格納するキャッシュメモリ３５０を有しており、キャッシュメモリ３５０の内容をメインメモリ１２０の内容と一致させる一貫性制御を行う。
【０００８】
メインメモリ１２０は、格納しているデータをプロセッサ１１０又はＰＣＩバスマスタデバイス１４０ａ〜ｃに出力する。また、メインメモリ１２０は、プロセッサ１１０又はＰＣＩバスマスタデバイス１４０ａ〜ｃから受け取ったデータを格納する。また、メインメモリ１２０は、ハードディスクドライブ１６０、フロッピー（登録商標）ディスクドライブ１７０、又はＣＤ−ＲＯＭドライブ１８０から、プロセッサ１１０を介してプログラム及びデータを受け取り、格納する。
【０００９】
システムコントローラ１３０は、プロセッサ１１０及びメインメモリ１２０が接続されたホストバスと、ＰＣＩバスマスタデバイス１４０ａ〜ｃ及び通信インターフェイス１５０が接続されたＰＣＩバスと、ハードディスクドライブ１６０と、フロッピー（登録商標）ディスクドライブ１７０と、ＣＤ−ＲＯＭドライブ１８０とを接続する。また、システムコントローラ１３０は、バスアービター１３５を有する。バスアービター１３５は、メインメモリ１２０をアクセスするべく出力するメモリアクセス要求信号を、複数の入出力デバイスのそれぞれ、例えば、ＰＣＩバスマスタデバイス１４０ａ〜ｃから受け取る。そして、バスアービター１３５は、ＰＣＩバスマスタデバイス１４０ａ〜ｃのうち何れかに、メインメモリ１２０をアクセスさせる。
【００１０】
ＰＣＩバスマスタデバイス１４０ａは、外部との入出力を制御する装置であり、一例としては、ＵＳＢマウスを制御する装置である。そして、ＰＣＩバスマスタデバイス１４０ａは、デバイスドライバ３００からの指示に応じて入出力の制御を行う。また、ＰＣＩバスマスタデバイス１４０ａは、必要に応じてメインメモリ１２０にアクセスする。ＰＣＩバスマスタデバイス１４０ｂ及びＰＣＩバスマスタデバイス１４０ｃは、それぞれ、ＰＣＩバスマスタデバイス１４０ａと略同一であるので説明を省略する。
【００１１】
通信インターフェイス１５０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ１６０は、情報処理装置１０が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１８０は、ＣＤ−ＲＯＭ１９５からプログラム又はデータを読み取り、システムコントローラ１３０を介してメインメモリ１２０に提供する。フロッピー（登録商標）ディスクドライブ１７０は、フロッピー（登録商標）ディスク１９０からプログラム又はデータを読み取り、システムコントローラ１３０を介してメインメモリ１２０に提供する。
【００１２】
オペレーティングシステム２００は、情報処理装置１０の処理状態に応じて情報処理装置１０の動作モードを切り替えるアイドルハンドラ２２０と、メインメモリ１２０を管理するメモリマネージャ２１０とを有する。より詳細には、情報処理装置１０は、キャッシュメモリ３５０の内容をメインメモリ１２０の内容と一致させる一貫性制御を行う通常動作モードと、この一貫性制御を行わず通常動作モードより消費電力を減少させる省電力動作モードとを有しており、アイドルハンドラ２２０は、これらの動作モードを切り替える。例えば、アイドルハンドラ２２０は、省電力動作モードにおいて、ＰＣＩバスマスタデバイス１４０ａ〜ｃの何れかがメインメモリ１２０にアクセスするべく出力するアクセス要求信号を受け取ると、通常動作モードに切り替える。一方、アイドルハンドラ２２０は、通常動作モードにおいて、予め定められた期間内にプロセッサ１１０が演算を行わなかった場合に、省電力動作モードに切り替える。また、アイドルハンドラ２２０は、動作モード設定部３２０からの指示に応じて、例えばバスアービター１３５内のレジスタの値を変更することにより、動作モードを切り替える条件を変更する。
【００１３】
ここで通常動作モードとは、例えば、非特許文献１に記載された、Ｃ０プロセッサパワーステート、Ｃ１プロセッサパワーステート、又はＣ２プロセッサパワーステート等の一貫性制御を行う動作モードである。また、省電力動作モードとは、例えば、非特許文献１に記載のＣ３プロセッサパワーステート又はＣ４プロセッサパワーステート等の一貫性制御を行わない動作モードである。
【００１４】
メモリマネージャ２１０は、ＰＣＩバスマスタデバイス１４０ａがアクセスする領域であるデバイス用領域を確保する領域確保指示を属性設定部３１０から受け取ると、メインメモリ１２０内の領域をＰＣＩバスマスタデバイス１４０ａに対応付けて割り当てる。また、メモリマネージャ２１０は、当該デバイス用領域を、通常動作モードにおいても一貫性制御を行わないノンキャッシャブル属性に設定する属性設定指示を属性設定部３１０から受け取ると、メインメモリ１２０中の領域を、ノンキャッシャブル属性に設定する。一例としては、メモリマネージャ２１０は、デバイス用領域における、ページテーブルエントリのキャッシュ属性を無効にすることにより、デバイス用領域をノンキャッシャブル属性に設定する。また、メモリマネージャ２１０は、通常動作モードにおいて一貫性制御を行う必要があるキャッシャブル属性に設定する属性設定指示を受け取ると、メインメモリ１２０中の領域を、キャッシャブル属性に設定してもよい。
【００１５】
デバイスドライバ３００は、本発明に係るプログラムの一例であり、属性設定部３１０と、動作モード設定部３２０とを有する。属性設定部３１０は、利用者からの指示に応じて、例えば、ＰＣＩバスマスタデバイス１４０ａが情報処理装置１０に新たに接続された場合に、領域確保指示をメモリマネージャ２１０に送る。そして、属性設定部３１０は、デバイス用領域をノンキャッシャブル属性に設定する旨の属性設定指示をメモリマネージャ２１０に送ることにより、デバイス用領域をノンキャッシャブル属性に設定する。これを受けて、動作モード設定部３２０は、動作モードを切り替える条件を変更する条件変更指示、具体的には、ＰＣＩバスマスタデバイス１４０ａがデバイス用領域のアクセスを要求した場合であっても動作モードを省電力動作モードに保持した状態とする旨の指示をアイドルハンドラ２２０に送る。この結果、動作モード設定部３２０は、動作モードを省電力動作モードに保持した状態でＰＣＩバスマスタデバイス１４０ａにデバイス用領域をアクセスさせることができる。
【００１６】
このように、情報処理装置１０は、メインメモリ１２０のうち、ＰＣＩバスマスタデバイス１４０ａがアクセスする領域であるデバイス用領域を、ノンキャッシャブル属性に設定することにより、キャッシュ一貫性制御を行う必要がない状態としておく。そして、情報処理装置１０は、ＰＣＩバスマスタデバイス１４０ａがデバイス用領域のアクセスを要求した場合には、動作モードを省電力モードに保持した状態とする。これにより、情報処理装置１０は、メインメモリ１２０及びキャッシュメモリ３５０の内容の一貫性を保ちつつ、消費電力を低減することができる。
【００１７】
なお、情報処理装置１０に提供されるプログラムは、フロッピー（登録商標）ディスク１９０、ＣＤ−ＲＯＭ１９５、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、又はＩＣカード等の半導体メモリ等の記録媒体に格納されて利用者によって提供される。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワーク及び通信インターフェイス１５０を介してプログラムを情報処理装置１０に提供してもよい。
【００１８】
また、以上に示したプログラムは、属性設定モジュール、動作モード設定モジュール、メモリマネージャモジュール、及びアイドルハンドラモジュールを有する。これらのモジュールが情報処理装置１０に働きかけて行わせる動作は、図１から図６において説明する情報処理装置１０における、対応する部材の動作と同一であるから、ここでの説明を省略する。
【００１９】
図２は、バスアービター１３５のブロック図を示す。本図を用いて、バスアービター１３５が入出力デバイス毎に動作モードの切り替え条件を設定する方法を説明する。バスアービター１３５は、ＰＣＩバスマスタデバイス１４０ａ〜ｃのホストバスを用いた通信を調停する調停回路４００と、動作モードの切り替えを制御する制御回路４１０と、ＰＣＩバスマスタデバイス１４０ａ〜ｃの何れかから受け取ったアクセス要求信号をプロセッサ１１０に出力する論理和回路４２０とを有する。調停回路４００は、ＰＣＩバスマスタデバイス１４０ａ〜ｃのそれぞれからアクセス要求信号の一例であるリクエスト信号を受け取ると、ＰＣＩバスマスタデバイス１４０ａ〜ｃの何れかに対して、ホストバスを用いた通信を許可するグラント信号を出力する。この結果、グラント信号を受けたＰＣＩバスマスタデバイス１４０は、メインメモリ１２０にアクセスすることができる。また、調停回路４００は、ホストバスを用いた通信を許可したＰＣＩバスマスタデバイス１４０から受け取ったリクエスト信号をマスク部４４０ａ〜ｃの何れかに出力する。論理和回路４２０は、制御回路４１０から受け取ったリクエスト信号の論理和を、例えば、バスマスタステータスとして、制御用ＬＳＩを介してプロセッサ１１０に通知する。
【００２０】
制御回路４１０は、ＰＣＩバスマスタデバイス１４０ａ〜ｃのそれぞれに対応付けられた複数のマスクデータのそれぞれを格納するレジスタ部４３０ａ〜ｃと、アクセス要求信号をマスクするマスク部４４０ａ〜ｃと、マスクされた信号をプロセッサ１１０に入力する入力部４５０ａ〜ｃとを有する。レジスタ部４３０ａは、ＰＣＩバスマスタデバイス１４０ａに対応付けられており、ＰＣＩバスマスタデバイス１４０ａから受けたアクセス要求信号を無効にするか否かを設定するマスクデータを格納している。レジスタ部４３０ｂ及びレジスタ部４３０ｃについては、それぞれＰＣＩバスマスタデバイス１４０ｂ及びＰＣＩバスマスタデバイス１４０ｃに対応付けられていることの他は、レジスタ部４３０ａと略同一であるので説明を省略する。
【００２１】
マスク部４４０ａ〜ｃは、アクセス要求信号を入出力デバイス毎に調停回路４００から取得し、当該アクセス要求信号をマスクして入力部４５０ａ〜ｃに出力する。具体的には、マスク部４４０ａは、ＰＣＩバスマスタデバイス１４０ａからのアクセス要求信号を調停回路４００から取得し、当該アクセス要求信号を、ＰＣＩバスマスタデバイス１４０ａに対応付けてレジスタ部４３０ａに格納されたマスクデータによりマスクし、入力部４５０ａに出力する。同様に、マスク部４４０ｂ及びマスク部４４０ｃについては、それぞれ、ＰＣＩバスマスタデバイス１４０ｂ及びＰＣＩバスマスタデバイス１４０ｂと、レジスタ部４３０ｂ及びレジスタ部４３０ｃと、入力部４５０ｂ及び入力部４５０ｃに対応付けられていることの他は、マスク部４４０ａと略同一であるので、説明を省略する。
【００２２】
入力部４５０ａ〜ｃは、マスク部４４０ａ〜ｃによりマスクされた信号を、プロセッサ１１０により動作するアイドルハンドラ２２０に入力することにより、情報処理装置１０の動作モードを切り替えさせる。
【００２３】
これにより、動作モード設定部３２０は、デバイス用領域をアクセスする入出力デバイスであるＰＣＩバスマスタデバイス１４０ａに対応付けて、アクセス要求信号を無効にするマスクデータをレジスタ部４３０ａに格納することにより、当該情報処理装置１０の動作モードを省電力動作モードのまま保持することができる。
一方、動作モード設定部３２０は、ＰＣＩバスマスタデバイス１４０ｂに対応付けて、アクセス要求信号をイネーブルするマスクデータをレジスタ部４３０ｂに格納する。これにより、ＰＣＩバスマスタデバイス１４０ａとは異なる他のデバイス、例えば、ＰＣＩバスマスタデバイス１４０ｂが、メインメモリ１２０のうち、通常モードにおいて一貫性制御を行う必要があるキャッシャブル属性に設定された領域をアクセスする場合に、動作モード設定部３２０は、情報処理装置１０の動作モードを通常動作モードに変更させることができる。
【００２４】
なお、キャッシャブル属性とは、メモリ上の領域に設定され、プロセッサ１１０が通常モードにおいて一貫性制御を行う必要がある旨を示す属性である。例えば、ＰＣＩバスマスタデバイス１４０ｂ等が、キャッシャブル属性の設定された領域に対して、書き込みを行った場合には、プロセッサ１１０は、まず、当該領域のデータがキャッシュメモリ３５０に格納されているか否かを判断する。そして、プロセッサ１１０は、当該領域のデータがキャッシュメモリ３５０に格納されている場合には、キャッシュメモリ３５０中のデータを無効とする一貫性制御を行う。即ち、キャッシャブル属性とは、メモリ上の領域に設定され、当該領域のデータがキャッシュメモリ３５０に格納され、かつ当該データに書き込みが行われた場合に、プロセッサ１１０により一貫性制御が行われる旨を示す。
また、本図の構成に代えて、調停回路４００は、シリアル入力により、アクセス要求信号を入出力デバイスから順次受け取ってもよい。この場合、マスク部４４０ａ〜ｃは、受け取られた当該アクセス要求信号を順次マスクし、入力部４５０ａ〜ｃを介して論理和回路４２０に送ってもよい。
【００２５】
図３は、デバイスドライバ３００のフローチャートを示す。属性設定部３１０は、メモリマネージャ２１０に領域確保指示を送ることにより、ＰＣＩバスマスタデバイス１４０ａがアクセスする領域であるデバイス用領域を確保する（Ｓ３００）。そして、属性設定部３１０は、属性設定指示をメモリマネージャ２１０に送ることにより、デバイス用領域をノンキャッシャブル属性に設定する（Ｓ３１０）。続いて、動作モード設定部３２０は、アイドルハンドラ２２０に条件変更指示を送ることにより、ＰＣＩバスマスタデバイス１４０ａからプロセッサ１１０に対するアクセス要求信号を無効にする（Ｓ３２０）。
【００２６】
続いて、動作モード設定部３２０は、ＰＣＩバスマスタデバイス１４０ａに、バスマスタ転送を行わせる、即ち、デバイス用領域をアクセスさせる（Ｓ３３０）。バスマスタ転送を終えると、属性設定部３１０は、属性設定指示をメモリマネージャ２１０に送ることにより、デバイス用領域をキャッシャブル属性に設定する（Ｓ３４０）。
【００２７】
図４は、オペレーティングシステム２００のフローチャートを示す。アイドルハンドラ２２０は、例えば、予め定められた期間内にプロセッサ１１０が演算を行っていなかった場合に、本図で示した処理を行う。アイドルハンドラ２２０は、ＰＣＩバスマスタデバイス１４０ａからメインメモリ１２０へのアクセスであるバスマスタ転送が行われている場合に（Ｓ４００：ＹＥＳ）、処理を終了する。一方、バスマスタ転送が行われていない場合に（Ｓ４００：ＮＯ）、アイドルハンドラ２２０は、ホストバスを用いた通信の調停を無効にする（Ｓ４１０）。この結果、プロセッサ１１０のみがホストバスを用いた通信を行える状態となり、アイドルハンドラ２２０は、ＰＣＩバスマスタデバイス１４０ａ〜ｃがホストバスを用いて行う通信を停止することができる。設定方法の一例としては、アイドルハンドラ２２０は、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）規格に準拠したシステムにおけるＡＲＢ＿ＤＩＳビットをセットする。これに代えて、アイドルハンドラ２２０は、オペレーティングシステム２０のＡＰＩを呼び出すことにより、ホストバスを用いた通信の調停を無効にしてもよい。
【００２８】
続いて、アイドルハンドラ２２０は、動作モード設定部３２０からの条件変更指示に応じて、プロセッサ１１０に対するインタラプト信号の入力と、ＰＣＩバスマスタデバイス１４０ａ〜ｃがメインメモリ１２０へのアクセスを要求するアクセス要求リクエスト（例えば、バスマスタリクエスト）とを、Ｃ３プロセッサパワーステートからＣ０プロセッサパワーステートへ切り替える条件として設定する（Ｓ４２０）。一例としては、アイドルハンドラ２２０は、ＡＣＰＩ規格に準拠したシステムにおけるＢＭ＿ＲＬＤビットをセットすることにより、プロセッサパワーステートを切り替えるイベントを設定する。そして、アイドルハンドラ２２０は、動作モードを、Ｃ３プロセッサパワーステートに切り替える（Ｓ４３０）。
【００２９】
アイドルハンドラ２２０は、インタラプト又はバスマスタリクエストを受けた場合に、動作モードを、Ｃ０プロセッサパワーステートに切り替える（Ｓ４４０）。そして、アイドルハンドラ２２０は、ホストバスを用いた通信の調停をイネーブルする（Ｓ４５０）。
【００３０】
このように、本実施形態によると、情報処理装置１０は、動作モードを省電力動作モードに保持した状態で、予め設定したデバイス、例えば、ＰＣＩバスマスタデバイス１４０ａに、デバイス用領域をアクセスさせる。これにより、情報処理装置１０は、消費電力を低減することができる。
一方、ＰＣＩバスマスタデバイス１４０ａとは異なる他のデバイス、例えば、ＰＣＩバスマスタデバイス１４０ｂが、メインメモリ１２０のうち、通常モードにおいて一貫性制御を行う必要があるキャッシャブル属性に設定された領域をアクセスする場合に、動作モード設定部３２０は、動作モードを通常動作モードに変更させることができる。これにより、情報処理装置１０は、ＰＣＩバスマスタデバイス１４０ｂがアクセスするメインメモリ１２０上のデータと、キャッシュメモリ３５０のデータとの一貫性制御を行うことができる。
【００３１】
図５は、変形例におけるデバイスドライバ３００のフローチャートを示す。本例における情報処理装置１０のバスアービター１３５は、図２におけるバスアービター１３５と異なり、制御回路４１０を有しなくともよい。その他の構成について、本例における情報処理装置１０は、図１及び図２における情報処理装置１０と略同一であるので、相違点のみを説明する。
【００３２】
属性設定部３１０は、メモリマネージャ２１０に領域確保指示を送ることにより、ＰＣＩバスマスタデバイス１４０ａ〜ｃがアクセスする領域であるデバイス用領域を確保する（Ｓ５００）。そして、属性設定部３１０は、属性設定指示をメモリマネージャ２１０に送ることにより、デバイス用領域をノンキャッシャブル属性に設定する（Ｓ５１０）。
【００３３】
続いて、動作モード設定部３２０は、ＰＣＩバスマスタデバイス１４０ａ〜ｃに、バスマスタ転送、即ち、デバイス用領域へのアクセスを行わせる（Ｓ５２０）。バスマスタ転送を終えると、属性設定部３１０は、属性設定指示をメモリマネージャ２１０に送ることにより、デバイス用領域をキャッシャブル属性に設定してもよい（Ｓ５３０）。
【００３４】
図６は、変形例におけるオペレーティングシステム２００のフローチャートを示す。アイドルハンドラ２２０は、例えば、予め定められた期間内にプロセッサ１１０が演算を行っていなかった場合に、本図で示した処理を行う。アイドルハンドラ２２０は、ホストバスを用いた通信の調停をイネーブルする（Ｓ６００）。既にイネーブルされた状態である場合には、アイドルハンドラ２２０は、本ステップにおいて特に何らの処理を行わなくともよい。設定方法の一例としては、アイドルハンドラ２２０は、ＡＣＰＩ規格に準拠したシステムにおけるＡＲＢ＿ＤＩＳビットをクリアすることにより、ホストバスを用いた通信の調停をイネーブルする。
【００３５】
続いて、アイドルハンドラ２２０は、動作モード設定部３２０からの条件変更指示に応じて、プロセッサ１１０に対するインタラプト信号の入力を、Ｃ３プロセッサパワーステートからＣ０プロセッサパワーステートへ切り替える条件として設定する（Ｓ６１０）。一例としては、アイドルハンドラ２２０は、ＡＣＰＩ規格に準拠したシステムにおけるＢＭ＿ＲＬＤビットをクリアすることにより、インタラプト信号の入力のみを、Ｃ３プロセッサパワーステートからＣ０プロセッサパワーステートへ切り替えるイベントとして設定する。即ち、これにより、動作モード設定部３２０は、ＰＣＩバスマスタデバイス１４０ａ〜ｃの何れからのアクセス要求信号をも無効にすることができる。そして、アイドルハンドラ２２０は、動作モードを、Ｃ３プロセッサパワーステートに切り替える（Ｓ６２０）。その後、アイドルハンドラ２２０は、インタラプトを受けた場合に、動作モードを、Ｃ０プロセッサパワーステートに切り替える（Ｓ６３０）。
【００３６】
このように、本例によると、動作モード設定部３２０は、ＰＣＩバスマスタデバイス１４０ａ〜ｃの何れからのアクセス要求信号をも無効にすることにより、情報処理装置１０の動作モードを省電力動作モードに保持した状態で全ての入出力デバイスにデバイス用領域をアクセスさせることができる。この場合、情報処理装置１０は、プロセッサ１２０が当該デバイス用領域にアクセスする頻度が低い場合には、メモリアクセスの効率をほとんど低下させない。また、情報処理装置１０は、入出力デバイスからのアクセスに関わらず、動作モードを省電力動作モードに保つことができるので、消費電力を低減することができる。
【００３７】
以上、本発明を実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、多様な変更または改良を加えることができる。そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。例えば、情報処理装置１０は、利用者からのポリシー設定に応じて、実施形態及び変形例に示したそれぞれの処理を切り替えてもよい。具体的には、情報処理装置１０は、消費電力をできるだけ抑えるポリシーが設定されている場合には、変形例に示した処理を行い、処理速度及び消費電力のバランスを保つポリシーが設定されている場合には、実施形態に示した処理を行ってもよい。
【００３８】
以上で説明した実施形態によれば、以下の各項目に示す、情報処理装置、プログラム、記録媒体、及び制御回路が実現される。
【００３９】
（項目１）  プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置であって、前記メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、前記通常動作モードにおいても前記一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、前記省電力動作モードにおいて、前記入出力デバイスが前記デバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる動作モード設定部とを備える情報処理装置。
（項目２）  前記入出力デバイスとは異なるデバイスが、前記メインメモリのうち、前記通常モードにおいて前記一貫性制御を行うキャッシャブル属性に設定された領域をアクセスする場合に、前記動作モード設定部は、当該情報処理装置の動作モードを前記通常動作モードに変更させる項目１記載の情報処理装置。
【００４０】
（項目３）  前記プロセッサは、前記省電力モードにおいて前記入出力デバイスが前記メインメモリにアクセスするべく出力するアクセス要求信号を受け取ると、当該情報処理装置の動作モードを前記通常動作モードに切り替え、前記動作モード設定部は、前記アクセス要求信号を無効にすることにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる項目１記載の情報処理装置。
（項目４）  複数の入出力デバイスのそれぞれに対応付けて、当該入出力デバイスから受けた前記アクセス要求信号を無効にするか否かを設定する複数のマスクデータのそれぞれを格納するレジスタ部と、前記アクセス要求信号を入出力デバイス毎に取得し、当該入出力デバイスに対応付けて前記レジスタ部に格納されたマスクデータにより当該アクセス要求信号をマスクするマスク部と、前記マスク部によりマスクされた信号を前記プロセッサに入力することにより、当該情報処理装置の動作モードを切り替えさせる入力部とを更に備え、前記動作モード設定部は、前記デバイス用領域をアクセスする前記入出力デバイスに対応付けて、前記アクセス要求信号を無効にするマスクデータを前記レジスタ部に格納することにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる項目３記載の情報処理装置。
【００４１】
（項目５）  プロセッサのキャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置として、コンピュータを機能させるプログラムであって、前記コンピュータを、前記メインメモリのうち、当該情報処理装置の入出力デバイスがアクセスする領域であるデバイス用領域を、前記通常動作モードにおいても前記一貫性制御を行わないノンキャッシャブル属性に設定する属性設定部と、前記省電力動作モードにおいて、前記入出力デバイスが前記デバイス用領域のアクセスを要求した場合に、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる動作モード設定部として機能させるプログラム。
（項目６）  前記プロセッサは、前記省電力モードにおいて前記入出力デバイスが前記メインメモリにアクセスするべく出力するアクセス要求信号を受け取ると、当該情報処理装置の動作モードを前記通常動作モードに切り替え、前記動作モード設定部は、前記アクセス要求信号を無効にすることにより、当該情報処理装置の動作モードを前記省電力動作モードに保持した状態で前記入出力デバイスに前記デバイス用領域をアクセスさせる項目５記載のプログラム。
【００４２】
（項目７）  項目５又は項目６に記載のプログラムを記録した記録媒体。
（項目８）  キャッシュメモリの内容をメインメモリの内容と一致させる一貫性制御を行う通常動作モードと、前記一貫性制御を行わず前記通常動作モードより消費電力を減少させる省電力動作モードとを有し、前記省電力動作モードにおいて入出力デバイスがメインメモリをアクセスした場合に前記通常動作モードに切り替える情報処理装置において、動作モードの切替を制御する制御回路であって、複数の入出力デバイスのそれぞれがメインメモリにアクセスするべく出力するアクセス要求信号を無効にするか否かを示すマスクデータを、入出力デバイス毎に格納するレジスタ部と、前記アクセス要求信号を入出力デバイス毎に取得し、当該アクセス要求信号を、当該入出力デバイスに対応付けられて前記レジスタ部に格納されたマスクデータによりマスクするマスク部と、前記マスク部によりマスクされた信号をプロセッサに入力することにより、当該情報処理装置の動作モードを切り替えさせる入力部とを備える制御回路。
【００４３】
【発明の効果】
上記説明から明らかなように、本発明によれば消費電力を低減することができる。
【図面の簡単な説明】
【図１】図１は、情報処理装置１０の機能ブロック図を示す。
【図２】図２は、バスアービター１３５のブロック図を示す。
【図３】図３は、デバイスドライバ３００のフローチャートを示す。
【図４】図４は、オペレーティングシステム２００のフローチャートを示す。
【図５】図５は、変形例におけるデバイスドライバ３００のフローチャートを示す。
【図６】図６は、変形例におけるオペレーティングシステム２００のフローチャートを示す。
【符号の説明】
１０  情報処理装置
１１０  プロセッサ
１２０  メインメモリ
１３０  システムコントローラ
１３５  バスアービター
１４０  ＰＣＩバスマスタデバイス
１５０  通信インターフェイス
１６０  ハードディスクドライブ
１７０  フロッピー（登録商標）ディスクドライブ
１８０  ＣＤ−ＲＯＭドライブ
１９０  フロッピー（登録商標）ディスク
１９５  ＣＤ−ＲＯＭ
２００  オペレーティングシステム
２１０  メモリマネージャ
２２０  アイドルハンドラ
３００  デバイスドライバ
３１０  属性設定部
３２０  動作モード設定部
３５０  キャッシュメモリ
４００  調停回路
４１０  制御回路
４２０  論理和回路
４３０  レジスタ部
４４０  マスク部
４５０  入力部
【図１】
2004280269.tif 000003
【図２】
2004280269.tif 000004
【図３】
2004280269.tif 000005
【図４】
2004280269.tif 000006
【図５】
2004280269.tif 000007
【図６】
2004280269.tif 000008