(57)【要約】【課題】命令コードの一部を電力モードを指定する用途に用いることなく、命令コード単位のきめ細かな電力制御を行うことが可能な低消費電力情報処理装置を提供することを課題とする。【解決手段】論理アドレスを物理アドレスにアドレス変換するアドレス変換部３０と、アドレス変換部３０によって変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得部４０と、命令取得部４０によって取得された命令コードを解釈する命令解釈部４２と、命令解釈部４２によって解釈された命令を実行する命令実行部５０と、電力制御を行う電力制御部６０と、を備え、アドレス変換部３０は、アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードを前記電力制御部に指示する、情報処理装置とした。【選択図】図１
2008234270.tif 000002
【特許請求の範囲】
【請求項１】
論理アドレスを物理アドレスにアドレス変換するアドレス変換部と、
前記アドレス変換部によって変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得部と、
前記命令取得部によって取得された命令コードを解釈する命令解釈部と、
前記命令解釈部によって解釈された命令を実行する命令実行部と、
電力制御を行う電力制御部と、
を備え、
前記アドレス変換部は、前記アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードを前記電力制御部に指示することを特徴とする情報処理装置。
【請求項２】
論理アドレスと物理アドレスとの対応関係と、物理アドレスと該物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードとの対応関係とを記憶する記憶部を更に備え、
前記アドレス変換部は、前記記憶部を参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、論理アドレスと物理アドレスとの対応関係と、物理アドレスと電力モードとの対応関係と、が記録された変換テーブルを記憶し、
前記アドレス変換部は、前記変換テーブルを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記記憶部は、論理アドレスを保持する論理アドレスレジスタと、該論理アドレスレジスタと対となるレジスタであって、物理アドレスおよび該物理アドレスに対応する電力モードを保持する物理アドレスレジスタとを有し、
前記アドレス変換部は、前記論理アドレスレジスタおよび前記物理アドレスレジスタを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
論理アドレスを物理アドレスにアドレス変換するアドレス変換ステップと、
前記アドレス変換ステップで変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得ステップと、
前記命令取得ステップで取得された命令コードを解釈する命令解釈ステップと、
前記命令解釈ステップで解釈された命令を実行する命令実行ステップと、
電力制御を行う電力制御ステップと、
を備え、
前記アドレス変換ステップでは、前記アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき前記電力モードを判別し、
前記電力制御ステップでは、前記電力モードに従って電力を制御することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低消費電力モードを有する情報処理装置に関し、特にＭＭＵ（Ｍｅｍｏｒｙ
Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）を有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の情報処理装置に関する。
【背景技術】
【０００２】
電力モードを指定するシーケンスをその都度実行させることなく、プロセッサが命令を実行するときに自動的に電力モードを切換える技術として、ＣＰＵの命令コードの一部を電力モードを指定する用途に用いることにより、ＣＰＵの命令実行に伴った電力モードの切換を実現する技術がある（特許文献１を参照）。
【特許文献１】特開２００３−１９６０８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来、組込用途のマイクロプロセッサ、特に携帯型機器に内蔵されているものにおいて、動力源であるバッテリーの寿命を延ばすために、消費電力を低減させることが求められている。また、据え置き型の機器においても、近年プロセッサからの発熱が問題化しており、やはり消費電力を低減させることが求められている。
【０００４】
ここで、一般に、プロセッサの消費電力はプロセッサの実行速度に応じて大きくなる傾向がある。また、通常の機器使用において、組み込まれたプロセッサが常に最高速度で動作することは必要とされない。このため、状況に応じて電力モード（動作周波数や、動作電圧）を高速かつ消費電力大、あるいは低速かつ消費電力小、といった電力モードに切換えて運用することで、消費電力の低減を実現することが可能である。
【０００５】
より具体的には、システム起動後ユーザからの指示が何もない状態、例えばボタンの押下等による指示の入力を待つ状態においては、プロセッサは低速で動作してかまわない。この場合に低速かつ低消費電力である電力モードに設定しておけば、消費電力を抑制することができる。これに対して、ユーザからの指示の入力が発生した場合、例えばアプリケーション起動ボタンの押下等、アプリケーションプログラムの動作を指示する入力が行われた場合には、プロセッサを高速かつ消費電力大である電力モードに設定することで、システムに必要なパフォーマンスを発揮させることができる。
【０００６】
従来、このような速度および消費電力に影響をあたえる電力モードの切換えは、電力管理ユニットをソフトウェアで制御することで実現されている。しかし、この方法では、制御が必要な都度、電力モードを切換えるシーケンスを実行する必要があり、きめ細かな電力制御（例えば、アプリケーションごとに電力モードを切り替える等）を行うことは困難である。
【０００７】
また、ソフトウェア制御によらない電力モード切換の方法として、ＣＰＵの命令コードの一部を電力モードを指定する用途に用いる方法がある（特許文献１を参照）。しかし、この方法では、命令コードの一部のフィールドを用いて電力モードを指定するため、全く新しい命令セットを持つＣＰＵを開発する必要があり、既存の命令セットを持つＣＰＵには適用できない。このため、実行させるソフトウェアについても、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、アプリともに全て新規に開発する必要があり、この開発の際に使用するソフトウェア開発ツール（アセンブラ、コンパイラ等）も、新規に開発する必要がある。
【０００８】
本発明は、上記した問題に鑑み、命令コードの一部を電力モードを指定する用途に用いることなく、きめ細かな電力制御を行うことが可能な低消費電力情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００９】
本発明は、上記した課題を解決するために、命令コードを取得する際のアドレス変換に伴って、変換された物理アドレスに対応する電力モードを特定し、情報処理装置の電力を制御することで、命令コードの一部を電力モードを指定する用途に用いることなく、きめ細かな電力制御を行うことが可能な低消費電力情報処理装置を提供することを可能にした。
【００１０】
詳細には、本発明は、論理アドレスを物理アドレスにアドレス変換するアドレス変換部と、前記アドレス変換部によって変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得部と、前記命令取得部によって取得された命令コードを解釈する命令解釈部と、前記命令解釈部によって解釈された命令を実行する命令実行部と、電力制御を行う電力制御部と、を備え、前記アドレス変換部は、前記アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードを前記電力制御部に指示することを特徴とする情報処理装置である。
【００１１】
本発明に係る情報処理装置は、命令コードを取得し（命令フェッチ）、取得した命令コードを解釈し（命令デコード）、解釈された命令を実行する情報処理装置である。また、この情報処理装置は、アドレス指定に仮想アドレスを採用しており、命令コードを取得する際に、論理アドレスから物理アドレスへのアドレス変換を行う。本発明は、このアドレス変換に伴って、変換された物理アドレスに示された命令が実行される際に適用されるべき電力モードを特定し、情報処理装置の電力を制御することを特徴とする。
【００１２】
ここで、電力モードは、情報処理装置の消費電力を制御するための方式を示す。電力制御部は、例えば電源電圧またはクロック周波数を切り替えることで、該情報処理装置の消費電力を制御する。但し、消費電力を制御するために制御される対象は電源電圧およびクロック周波数に限られない。情報処理装置の消費電力に影響を与える全ての対象は、電力制御部による制御の対象となり得る。
【００１３】
また、本発明に係る情報処理装置は、論理アドレスと物理アドレスとの対応関係と、物理アドレスと該物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードとの対応関係とを記憶する記憶部を更に備え、前記アドレス変換部は、前記記憶部を参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行ってもよい。
【００１４】
この場合、アドレス変換部は、記憶部に記憶された論理アドレスと物理アドレスとの対応関係に基づいてアドレス変換を行い、更に物理アドレスと電力モードとの対応関係に基づいて電力モードを特定する。
【００１５】
また、本発明において、前記記憶部は、論理アドレスと物理アドレスとの対応関係と、物理アドレスと電力モードとの対応関係と、が記録された変換テーブルを記憶し、前記アドレス変換部は、前記変換テーブルを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行ってもよい。
【００１６】
この場合、アドレス変換部は、アドレス変換の対象となる論理アドレスに基づいて変換
テーブル内のエントリを特定し、このエントリから論理アドレスに対応する物理アドレスおよび電力モードを抽出する。
【００１７】
また、本発明において、前記記憶部は、論理アドレスを保持する論理アドレスレジスタと、該論理アドレスレジスタと対となるレジスタであって、物理アドレスおよび該物理アドレスに対応する電力モードを保持する物理アドレスレジスタとを有し、前記アドレス変換部は、前記論理アドレスレジスタおよび前記物理アドレスレジスタを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行ってもよい。
【００１８】
この場合、アドレス変換部は、アドレス変換の対象となる論理アドレスが保持された論理アドレスレジスタを特定し、この論理アドレスレジスタと対となる物理アドレスレジスタから、物理アドレスおよび電力モードを取得する。
【発明の効果】
【００１９】
本発明によって、命令コードの一部を電力モードを指定する用途に用いることなく、きめ細かな電力制御を行うことが可能な低消費電力情報処理装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００２０】
本発明に係る情報処理装置の実施の形態について、図面に基づいて説明する。
【００２１】
＜構成＞
図１は、本実施形態における情報処理装置１の原理構成を示す図である。情報処理装置１は、外部バス７０を介してメインメモリ８０等と接続されるバスインタフェース２０と、アドレス変換部３０と、命令ユニット４０（本発明の命令取得部および命令解釈部に相当）と、実行ユニット５０（本発明の命令実行部に相当）と、電力制御部６０と、を備える。
【００２２】
命令ユニット４０は、フェッチされた命令コードが格納される命令レジスタ４１、および命令レジスタに格納された命令コードをデコードして実行ユニット５０に対する制御信号４３を生成する命令デコーダ４２を有する。また、命令ユニット４０は、次に実行する命令コードの論理アドレスをアドレス変換部３０に渡す。
【００２３】
アドレス変換部３０は、所謂ＭＭＵに相当し、メインメモリ８０へのアクセスを監視する。更に、本実施形態において、アドレス変換部３０は、記憶部３１を参照することで、命令ユニット４０から渡された論理アドレスに対応する物理アドレスを特定し、論理アドレスから物理アドレスへのアドレス変換を行う。そして、アドレス変換部３０は、バスインタフェース２０および外部バス７０を介してメインメモリ８０にアクセスし、アドレス変換部３０から出力された物理アドレスに格納された命令コードを読み出す。読み出された命令コードは、バスインタフェース２０およびアドレス変換部３０を介して命令レジスタ４１に格納される。
【００２４】
実行ユニット５０は、命令デコーダ４２によって生成された制御信号４３に基づいて、実行ユニット５０内の、内部バス５３を介して接続されたレジスタ５１およびＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）５２等の各種ハードウェアの動作を制御することで、命令コードが示す命令を実行する。
【００２５】
電力制御部６０は、電力モード指定信号６１に基づいてクロック周波数や電源電圧等を制御し、情報処理装置１内部の電力を制御する。ここで、電力モード指定信号６１は、ア
ドレス変換部３０によって生成される。アドレス変換部３０は、アドレス変換を行う際に、記憶部３１を参照することで電力モードを特定し、電力モード指定信号６１を生成する。なお、消費電力の低減のために電力制御部６０によって制御される対象は、クロック周波数および電源電圧に限られない。
【００２６】
図２は、本実施形態における情報処理装置の構成をより具体的に示す図である。ここで、図１に示された構成に対応する構成には、同一の符号が付されている。
【００２７】
本実施形態では、仮想アドレスを実現するための方式として、セグメント方式を採用する。セグメントテーブル８１は、論理アドレスと物理アドレスとを対応付けるための情報が記録された３２ビット長のエントリが４０９６エントリ集合したテーブルであり、メインメモリ８０に格納される。
【００２８】
また、変換テーブルベースレジスタ３２は、セグメントテーブル８１の先頭アドレスを保持するレジスタである（図３を参照）。アドレス変換部３０は、変換テーブルベースレジスタ３２を参照することで、メインメモリ８０内のセグメントテーブル８１へアクセスする。
【００２９】
ＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ−ａｓｉｄｅ  Ｂｕｆｆｅｒ）３１１（図１に示した記憶部３１に相当）は、アドレス変換処理の高速化を目的として、セグメントテーブル８１の内容の一部を取り出してキャッシュとして保持するバッファである。本実施形態では、ＴＬＢ３１１は３２ビット長のキャッシュ領域８本を有することとする。
【００３０】
図３は、本実施形態におけるセグメントテーブル８１および論理アドレスの構成を示す図である。
【００３１】
セグメントテーブル８１は、論理アドレスと物理アドレスとを対応付けるための情報が記録されたテーブルである。セグメントテーブル８１は、各セグメントの物理アドレス上位部分を保持するエントリの集合であり、論理アドレスをセグメント毎に物理アドレスに変換し、そのセグメントに対するキャッシュモード、アクセス制御、および電力モードを指定する目的に用いられる。本実施形態において、セグメントの物理アドレス上位部分は、エントリの物理アドレス上位フィールド８１１（ビット３１からビット２０）に記録されるものとする。また、各エントリは、セグメントごとのキャッシュモード（命令キャッシュ  ＯＮ／ＯＦＦ、データキャッシュ  ＯＦＦ／Ｗｒｉｔｅ  Ｔｈｒｏｕｇｈ／Ｃｏｐｙ  Ｂａｃｋ等）を指定するキャッシュモード指定フィールド（ビット１９からビット１６）８１２、セグメントごとのアクセス許可（Ｒｅａｄ  可／不可、Ｗｒｉｔｅ  可／不可、実行  可／不可）を指定するアクセス制御フィールド（ビット１５からビット８）８１３、未使用の予約フィールド（ビット７からビット４）、および電力モード指定フィールド（ビット３からビット０）８１４を有する。
【００３２】
論理アドレスのビット３１からビット２０は、セグメントテーブル８１内のエントリ番号を示すエントリ指定フィールドである。アドレス変換部３０は、このエントリ指定フィールドを参照して、論理アドレスが対応するセグメントを特定する。また、ビット１９からビット０は、セグメント内オフセット（物理アドレス下位）を示す。即ち、エントリ番号に基づいてセグメントテーブル８１から該当セグメントのエントリを特定し、このエントリに設定された該当セグメントの物理アドレス上位部分の１２ビットと、セグメント内オフセットの２０ビットとを連結した３２ビット長の値が、物理アドレスである。
【００３３】
本実施形態に係るセグメントテーブル８１を特徴づける構成が、電力モード指定フィールド８１４である。電力モード指定フィールド８１４には、該当セグメントにおけるプロ
グラムを実行している間に、電力制御部６０に指定される電力モードが設定される。
【００３４】
図４は、本実施形態において電力モード指定フィールド８１４に設定される具体的な値の意味を示す図である。本実施形態では、電力モード指定フィールド８１４のフィールド長を４ビットとし、このうち２ビットを電源電圧を制御するためのフィールド、残りの２ビットをクロック周波数を制御するためのフィールドとして使用する。本実施形態では、電源電圧とクロック周波数の夫々について２ビットの領域を用いて表現できる４通りの値は、Ｈｉｇｈ、Ｍｉｄｄｌｅ、Ｌｏｗの３通りのモードに割り当てられ、残る１通りの値は使用されない。但し、電力モード指定フィールド８１４のサイズ、および電力モード指定フィールド８１４に設定された値によって制御される対象、および制御の内容は、本実施形態に示されたものに限られない。
【００３５】
＜処理の流れ＞
システム初期設定時に、ＯＳは、ＯＳカーネル、割込みハンドラ、各アプリケーション等のプログラム毎に、物理アドレスと論理アドレスとを対応付けるための設定を行う。また、システム初期設定完了後も、ＯＳは、アプリケーション等のプログラムが起動されるごとに、プログラムがロードされる領域をメインメモリ８０上に確保し、この領域の物理アドレスと論理アドレスとを対応付けるための設定を行う。このとき、本実施形態におけるＯＳは、物理アドレスと論理アドレスとの対応付けの設定と共に、各プログラムが実行されるときに選択すべき電力モードを設定する。
【００３６】
この電力モードは、例えば、システム生成時にユーザによって設定されたシステムパラメータの内容に従って設定される。システムパラメータは、実行されるプログラム毎に電力モードを指定できる構成を有する。例えば、プログラム毎の電力モードを指定するテーブルをシステムパラメータとして保持し、このテーブルに従ってプログラム毎の電力モードを設定してもよいし、プロセスの優先度とこの優先度に対して割り当てられる電力モードとの対応関係をシステムパラメータとして保持し、プロセスの優先度に従って、プログラム毎の電力モードを設定してもよい。
【００３７】
図５は、本実施形態における、ＯＳがプログラムを起動する際のセグメントテーブル設定処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザからの入力や他のプログラムからの呼出によってプログラムの起動が指示されたことを契機として開始される。
【００３８】
ステップＳ１０１では、プログラムがロードされるためのメモリ領域が確保される。情報処理装置１は、プログラムのサイズに応じたメモリ領域（セグメント）を確保し、この領域の物理アドレスと論理アドレスを対応付け、この対応関係をセグメントテーブル８１の物理アドレス上位フィールド８１１に設定する。その後、処理はステップＳ１０２へ進む。
【００３９】
ステップＳ１０２では、プログラムがメインメモリ８０にロードされる。情報処理装置１は、外部バス７０に接続された補助記憶装置等（図示は省略する）からプログラムを読み出し、ステップＳ１０１で確保したメモリ領域に展開（ロード）する。その後、処理はステップＳ１０３へ進む。
【００４０】
ステップＳ１０３では、プログラムに対応する電力モードが決定される。情報処理装置１は、ＯＳの設定領域や、プログラムの内容等を参照して、プログラムが実行される際の電力モードを決定する。具体的には、電源電圧がＨｉｇｈ、Ｍｉｄｄｌｅ、Ｌｏｗの何れであるか、およびクロックがＨｉｇｈ、Ｍｉｄｄｌｅ、Ｌｏｗの何れであるかが決定される。なお、プログラム実行時の電力モードを決定する方法としては、ＯＳの設定領域に予
めプログラムごとに採用される電力モードが設定されており、これを参照する方法や、予めプログラム内に格納されている情報を参照して決定する方法、ＯＳがプログラムの種類に基づいて何れの電力モードを採用するかを判定し、決定する方法、等がある。その後、処理はステップＳ１０４へ進む。
【００４１】
ステップＳ１０４では、電力モードが設定される。情報処理装置１は、ステップＳ１０３で決定された電力モードを、セグメントテーブル８１の電力モード指定フィールド８１４に設定する。その後、処理はステップＳ１０５へ進む。
【００４２】
ステップＳ１０５では、プログラムが起動される。情報処理装置１は、メインメモリ８０にロードされたプログラムの実行を開始する。その後、本フローチャートに示された処理は終了する。
【００４３】
図６は、本実施形態における電力モード指定処理の流れを示すフローチャートである。情報処理装置１は、命令の実行にあたり、アドレス変換部３０にてアドレス変換処理を行いながら命令フェッチを行う。このとき、情報処理装置１は、命令フェッチと並行して、この命令が属するセグメントに設定されている電力モードを特定し、電力モード指定信号６１を電力制御部６０に渡すことで、電力モードの制御を行う。以下、フローチャートを参照しながら、電力モード指定処理の流れの詳細を説明する。
【００４４】
ステップＳ２０１では、アドレス変換部３０に命令コードの論理アドレスが渡される。命令ユニット４０は、次に実行すべき命令コードの格納位置を示す論理アドレスを、アドレス変換部３０に渡す。その後、処理はステップＳ２０２へ進む。
【００４５】
ステップＳ２０２では、アドレス変換用のエントリがＴＬＢ３１１内にあるか否かが判定される。アドレス変換部３０は、ステップＳ２０１で命令ユニット４０より渡された論理アドレスを物理アドレスに変換するためのエントリのキャッシュが、アドレス変換部３０内のＴＬＢ３１１内にあるか否かを判定する。該当するエントリのキャッシュがＴＬＢ３１１にある場合、処理はステップＳ２０４へ進む。該当するエントリのキャッシュがＴＬＢ３１１にない場合、処理はステップＳ２０３へ進む。
【００４６】
ステップＳ２０３では、セグメントテーブル８１から該当するエントリが取得される。アドレス変換部３０は、変換テーブルベースレジスタ３２に記録されたセグメントテーブル８１の先頭アドレスにアクセスし、論理アドレスのエントリ指定フィールドにより示されるエントリを選択する。選択されたエントリは、アドレス変換部３０内のハードウェアテーブルウォーク機構（図示は省略する）によって読み出され、ＴＬＢ３１１に格納される。
【００４７】
ステップＳ２０４では、アドレス変換が行われる。アドレス変換部３０は、ＴＬＢ３１１から該当するセグメントの物理アドレス上位部分を取得し、論理アドレス中のセグメント内オフセットと連結することで、物理アドレスを特定する。その後、処理はステップＳ２０５へ進む。
【００４８】
ステップＳ２０５では、電力モードが指定される。アドレス変換部３０は、ステップＳ２０３で参照したエントリの電力モード指定フィールド８１４を参照することで、該当セグメントに対応する電力モード設定を特定し、特定された電力モードに基づいた電力モード指定信号６１を生成し、生成した電力モード指定信号６１を電力制御部６０へ渡す。その後、処理はステップＳ２０６へ進む。
【００４９】
ステップＳ２０６からステップＳ２０８では、命令フェッチ、命令デコード、および命
令の実行が行われる。命令ユニット４０は、ステップＳ２０４で特定された物理アドレスから命令コードを読み出し、命令レジスタ４１に書き込む（ステップＳ２０６）。次に、命令デコーダ４２は、命令レジスタ４１に書き込まれた命令コードをデコードし、制御信号４３を発生させて実行ユニット５０へ渡す（ステップＳ２０７）。そして、レジスタ５１、ＡＬＵ５２等を有する実行ユニット５０は、制御信号４３に基づいて動作することで、命令コードが示す命令を実行する（ステップＳ２０８）。その後、本フローチャートに示された処理は終了する。
【００５０】
即ち、本実施形態では、命令フェッチにともなうアドレス変換と共に電力モードが特定され、電力モード指定信号６１が電力制御部６０に渡される。電力制御部６０は、電力モード指定信号６１が示す電力モードに従って電源電圧制御回路６２およびクロック制御回路６３を制御し（例えば、ＰＬＬ（Ｐｈａｓｅ−Ｌｏｃｋｅｄ  Ｌｏｏｐ）に設けられた分周回路の切換制御）、情報処理装置１に供給される電源の電圧およびクロックの周波数を切換える。
【００５１】
＜効果＞
本実施形態では、アドレス変換処理の際に、同時に各プログラムで選択すべき電力モードが特定され、電力制御部６０により電力モードの切換が実行される。即ち、本実施形態に拠れば、個々のプログラムを実行する都度電力モードを指定する必要がなく、各プログラムを実行するだけで、情報処理装置１を、予め用意した最適な電力モードでを動作させることが可能となる。この電力モードは、セグメント単位等、少なくともプログラムの部分ごとに切り替えることが可能である。また、本実施形態に拠れば、実行するプログラムをローディングする物理メモリ領域を確保する時に、電力モードを設定することができる。
【００５２】
また、本実施形態に係る情報処理装置１は、新規の命令セットを持つＣＰＵを用意する必要がない。即ち、本実施形態に係る情報処理装置１は、既存のソフトウェア（ＯＳ、アプリケーションプログラム等）を実行可能である。既存の命令セットを持つＣＰＵを採用した場合、プログラムを再コンパイルすることなく、既存のバイナリをそのまま使用できる。また、このことは、ソフトウェア開発ツール（アセンブラ、コンパイラ等）も、既存品を使用できるということを意味する。当然、本発明は新たなアーキテクチャのＣＰＵに適用することも可能である。
【００５３】
＜その他＞
上述の実施形態では、仮想アドレスを実現するための方式として、セグメント方式を採用したが、本発明は、ページテーブルを使用する、ページング方式を採用した情報処理装置に適用することも出来る。また、アドレス変換の際のテーブル参照方式は、上述の実施形態のような１段式ではなく、複数段のテーブルを参照してアドレスを変換する方式であっても良い。また、アドレス変換方式は、テーブル参照方式ではなく、論理アドレスと物理アドレスとを対で保持するレジスタで構成される、アドレスマップレジスタ形式であってもよい。
【００５４】
また、電力制御部６０は、上述の実施形態のように、ＬＳＩ等の情報処理装置全体の電力を制御してもよいが、情報処理装置に含まれる各ブロック毎に個別に電力を制御することとしてもよい。この場合、電力モード指定フィールドのサイズを拡張することで、各ブロックごとに異なる電力モードを指定することが出来る。
【００５５】
また、本発明は、以下のような付記的事項を含むものである。
（付記１）
論理アドレスを物理アドレスにアドレス変換するアドレス変換部と、
前記アドレス変換部によって変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得部と、
前記命令取得部によって取得された命令コードを解釈する命令解釈部と、
前記命令解釈部によって解釈された命令を実行する命令実行部と、
電力制御を行う電力制御部と、
を備え、
前記アドレス変換部は、前記アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードを前記電力制御部に指示することを特徴とする情報処理装置。（１）
（付記２）
論理アドレスと物理アドレスとの対応関係と、物理アドレスと該物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき電力モードとの対応関係とを記憶する記憶部を更に備え、
前記アドレス変換部は、前記記憶部を参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする付記１に記載の情報処理装置。（２）
（付記３）
前記記憶部は、論理アドレスと物理アドレスとの対応関係と、物理アドレスと電力モードとの対応関係と、が記録された変換テーブルを記憶し、
前記アドレス変換部は、前記変換テーブルを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする付記２に記載の情報処理装置。（３）
（付記４）
前記記憶部は、論理アドレスを保持する論理アドレスレジスタと、該論理アドレスレジスタと対となるレジスタであって、物理アドレスおよび該物理アドレスに対応する電力モードを保持する物理アドレスレジスタとを有し、
前記アドレス変換部は、前記論理アドレスレジスタおよび前記物理アドレスレジスタを参照することで、前記アドレス変換および前記電力モードに従った前記電力制御部への指示を行うことを特徴とする付記２に記載の情報処理装置。（４）
（付記５）
前記電力制御部は、電源電圧またはクロック周波数を切り替えることで、該情報処理装置の消費電力を制御する、
付記１から付記４の何れかに記載の情報処理装置。
（付記６）
論理アドレスを物理アドレスにアドレス変換するアドレス変換ステップと、
前記アドレス変換ステップで変換された物理アドレスが示す位置を参照することで命令コードを取得する命令取得ステップと、
前記命令取得ステップで取得された命令コードを解釈する命令解釈ステップと、
前記命令解釈ステップで解釈された命令を実行する命令実行ステップと、
電力制御を行う電力制御ステップと、
を備え、
前記アドレス変換ステップでは、前記アドレス変換に加えて、アドレス変換された物理アドレスが示す位置に格納された命令コードに係る命令が実行される際に適用されるべき前記電力モードを判別し、
前記電力制御ステップでは、前記電力モードに従って電力を制御することを特徴とする情報処理装置の制御方法。（５）
【図面の簡単な説明】
【００５６】
【図１】実施形態における情報処理装置の原理構成を示す図である。
【図２】実施形態における情報処理装置の構成をより具体的に示す図である。
【図３】実施形態におけるセグメントテーブルおよび論理アドレスの構成を示す図である。
【図４】実施形態において電力モード指定フィールドに設定される具体的な値の意味を示す図である。
【図５】実施形態における、ＯＳがプログラムを起動する際のセグメントテーブル設定処理の流れを示すフローチャートである。
【図６】実施形態における電力モード指定処理の流れを示すフローチャートである。
【符号の説明】
【００５７】
１  情報処理装置
２０  バスインタフェース
３０  アドレス変換部
３１  記憶部
３２  変換テーブルベースレジスタ
４０  命令ユニット
４１  命令レジスタ
４２  命令デコーダ
４３  制御信号
５０  実行ユニット
５１  レジスタ
５２  ＡＬＵ（Ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  Ｌｏｇｉｃａｌ  Ｕｎｉｔ）
５３  内部バス
６０  電力制御部
６１  電力モード指定信号
６２  電源電圧制御回路
６３  クロック制御回路
７０  外部バス
８０  メインメモリ
８１  セグメントテーブル
【図１】
2008234270.tif 000003
【図２】
2008234270.tif 000004
【図３】
2008234270.tif 000005
【図４】
2008234270.tif 000006
【図５】
2008234270.tif 000007
【図６】
2008234270.tif 000008