(57)【特許請求の範囲】
【請求項１】
与えられた命令列にしたがって各種演算処理を行うプロセッサを有し、該プロセッサの動作状態を規定する動作モードを複数有する情報処理装置であって、
該情報処理装置は、
前記プロセッサの前記動作状態を監視するコンソールと、
コンソールから前記動作モード変更要求を受信し、前記プロセッサに前記動作モードの変更を指示する命令管理部と、
命令をデコードし、前記プロセッサへの命令の発行を制御する発行制御部と、
を有するものであって、
前記情報処理装置の動作モードを変更するために、
前記コンソールは、前記プロセッサの前記動作状態に応じて前記動作モードを変更する動作モード変更要求を出力し、
前記発行制御部は、
前記命令列に、先行して実行している命令の完了を待ってから処理することを必要とする命令であるインオーダ処理命令をデコードした場合に、該インオーダ処理命令の発行を停止し、停止中である旨を発行待機通知として前記命令管理部に出力し、
前記プロセッサは、
該インオーダ処理命令に先行する命令の処理が完了した時点で命令完了通知を前記命令管理部に出力し、
前記命令管理部は、
前記発行待機通知が出力された後に、前記命令完了通知が出力されると前記動作モードの変更を指示した後に、待機終了通知を前記発行制御部へ出力し、
前記発行制御部は、
前記待機終了通知を受け付けると前記インオーダ処理命令の発行を行う
情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記コンソールから前記動作モード変更要求が出力されたときに、前記動作モード変更要求に応じてモード変更通知として前記命令管理部に出力する診断プロセッサをさらに備え、
前記命令管理部は、
前記命令完了通知を前記プロセッサから受信したときにセットされるＥビットと、前記発行待機通知を前記発行制御部から受信したときにセットされるＩビットと、前記モード変更通知を前記診断プロセッサから受信したときにセットされるＣビットとからなる状態レジスタをさらに備え、
前記命令列が前記プロセッサで実行されているときは前記Ｅビットをリセットし、
前記命令管理部が前記待機終了通知を出力したときに前記Ｉビットをリセットし、
前記プロセッサへの前記動作モードの変更の指示が完了したときに前記Ｃビットをリセットする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記命令管理部は、前記Ｅビットおよび前記Ｉビットならびに前記Ｃビットのおのおののセットまたはリセットの状態を前記プロセッサの命令実行の状態を示す動作ステータスとして前記発行制御部に通知する情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記モード変更通知に応じて前記命令管理部から前記診断プロセッサに出される前記動作モードの変更開始指示によって、前記診断プロセッサによる書き換えが可能で、前記動作モードに対応した動作モードレジスタをさらに備え、
前記命令管理部は、前記モード変更通知を受けて前記Ｃビットがセットされたときに、前記Ｅビットがセットされ、前記Ｉビットがリセットされる場合には、前記動作モードレジスタを前記診断プロセッサを介して書き換えることで前記動作モードの変更を指示する情報処理装置。
【請求項５】
与えられた命令列にしたがって各種演算処理を行うプロセッサを有し、該プロセッサの動作モードを複数有する情報処理装置の制御方法であって、
該情報処理装置は、
前記プロセッサの前記動作状態を監視するコンソールと、
コンソールから前記動作モード変更要求を受信し、前記プロセッサに前記動作モードの変更を指示する命令管理部と、
命令をデコードし、前記プロセッサへの命令の発行を制御する発行制御部と、
を有するものであって、
前記情報処理装置の動作モードを変更するために、
前記コンソールは、前記プロセッサの前記動作状態に応じて前記動作モードを変更する動作モード変更要求を出力し、
前記発行制御部は、
前記命令列に、先行して実行している命令の完了を待ってから処理することを必要とする命令であるインオーダ処理命令をデコードした場合に、該インオーダ処理命令の発行を停止し、停止中である旨を発行待機通知として前記命令管理部に出力し、
前記プロセッサは、
該インオーダ処理命令に先行する命令の処理が完了した時点で命令完了通知を前記命令管理部に出力し、
前記命令管理部は、
前記発行待機通知が出力された後に、前記命令完了通知が出力されると前記動作モードの変更を指示した後に、待機終了通知を前記発行制御部へ出力し、
前記発行制御部は、
前記待機終了通知を受け付けた後に前記インオーダ処理命令の発行を行う
情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に係り、特にプロセッサの動作モードを動的に変更可能な制御に関する。
【背景技術】
【０００２】
従来使用されている情報処理装置においては、一般的に処理に適した動作モードを複数備えており、必要に応じてこの動作モードの中から適切な動作モードを選択して、動作させている。
【０００３】
このような情報処理装置では、従来オペレーションシステム、ユーザプロセスが動作した状態において、ハードウェア的に実現したハードウェア動作モードを動的に変更することは行っていなかった。
【０００４】
この理由は、情報処理装置内の動作状態によっては動的に動作モードを変更したときに誤動作を生じる可能性があったためである。
【０００５】
また、動的に情報処理装置の動作モードを変更することが困難であったため、ハードウェアの動作モード変更時には、一旦情報処理装置を動作させているオペレーションシステムをシャットダウンし、情報処理装置全体の運用を停止した上でハードウェアの動作モードを変更していた。
【０００６】
また、ソフトウェア的に動作モードの変更を行う場合は、オペレーションシステムが実行中のプロセスの状況を監視し、タスク間に割り込みを入れ、ハードウェアモードの変更ルーチンを挿入するなどの処理が必要であった。このため、特にマルチプロセッサで動作するような大規模なプログラム実行中において、ソフトウェア的に動作モードの変更を行うことは影響が非常に大きかった。
【０００７】
このような情報処理装置の従来例として、スイッチを切り替えるかシステムリセットが発生することにより、外部インタフェイスを介してアドレス発生部の内容に従ってデータ発生部の内容を動作モードに設定するレジスタ設定方式が開示されている（特許文献１参照）。
【０００８】
また、２つ以上の動作モードで動的に切り換えてそれぞれの動作モード上でアプリケーションを動作させる情報処理装置において、動作モードの切り換えを意識しないデバイスドライバや常駐プログラムを正常動作させる情報処理装置が開示されている（特許文献２参照）。
【特許文献１】特開平１１−０９８２１３号公報
【特許文献２】特開平０６−２３６２８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
このように、従来の情報処理装置のシステムにおけるハードウェアの動作モード変更時には、システム動作中にハードウェアレベルの動作モードを誤動作することなくダイナミックに変更することができないため、システムを停止しハードウェアの再初期化をしないと動作モードを変更することができないという問題があった。
【００１０】
また、ソフトウェア的に動作モードの変更を行う場合は、複雑なプロセッサの動作状態をソフトウェア側で全て把握することが不可能なため、ハードウェアの動作モード変更タイミングをソフトウェア的に容易に生成することができないという問題があった。
【００１１】
そこで本発明の目的は、運用上システムの停止が困難なコンピュータシステムにおいてもシステム動作を継続したまま誤動作することなく確実にハードウェアの動作モードを変更することのできる情報処理装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、本発明の情報処理装置は、
与えられた命令列にしたがって各種演算処理を行うプロセッサを有し、該プロセッサの動作状態を規定する動作モードを複数有する情報処理装置であって、
該情報処理装置は、
前記プロセッサの前記動作状態を監視するコンソールと、
コンソールから前記動作モード変更要求を受信し、前記プロセッサに前記動作モードの変更を指示する命令管理部と、
命令をデコードし、前記プロセッサへの命令の発行を制御する発行制御部と、
を有するものであって、
前記情報処理装置の動作モードを変更するために、
前記コンソールは、前記プロセッサの前記動作状態に応じて前記動作モードを変更する動作モード変更要求を出力し、
前記発行制御部は、
前記命令列に、先行して実行している命令の完了を待ってから処理することを必要とする命令であるインオーダ処理命令をデコードした場合に、該インオーダ処理命令の発行を停止し、停止中である旨を発行待機通知として前記命令管理部に出力し、
前記プロセッサは、
該インオーダ処理命令に先行する命令の処理が完了した時点で命令完了通知を前記命令管理部に出力し、
前記命令管理部は、
前記発行待機通知が出力された後に、前記命令完了通知が出力されると前記動作モードの変更を指示した後に、待機終了通知を前記発行制御部へ出力し、
前記発行制御部は、
前記待機終了通知を受け付けると前記インオーダ処理命令の発行を行う。
【００１４】
この場合、前記コンソールから前記動作モード変更要求が出力されたときに、前記動作モード変更要求に応じてモード変更通知として前記命令管理部に出力する診断プロセッサをさらに備え、
前記命令管理部は、
前記命令完了通知を前記プロセッサから受信したときにセットされるＥビットと、前記発行待機通知を前記発行制御部から受信したときにセットされるＩビットと、前記モード変更通知を前記診断プロセッサから受信したときにセットされるＣビットとからなる状態レジスタをさらに備え、
前記命令列が前記プロセッサで実行されているときは前記Ｅビットをリセットし、
前記命令管理部が前記待機終了通知を出力したときに前記Ｉビットをリセットし、
前記プロセッサへの前記動作モードの変更の指示が完了したときに前記Ｃビットをリセットするものとしてもよい。
【００１５】
また、前記命令管理部は、前記Ｅビットおよび前記Ｉビットならびに前記Ｃビットのおのおののセットまたはリセットの状態を前記プロセッサの命令実行の状態を示す動作ステータスとして前記発行制御部に通知するものとしてもよい。
【００１６】
また、前記モード変更通知に応じて前記命令管理部から前記診断プロセッサに出される前記動作モードの変更開始指示によって、前記診断プロセッサによる書き換え可能で、前記動作モードに対応した動作モードレジスタをさらに備え、
前記命令管理部は、前記モード変更通知を受けて前記Ｃビットがセットされたときに、前記Ｅビットがセットされ、前記Ｉビットがリセットされる場合には、前記動作モードレジスタを前記診断プロセッサを介して書き換えることで前記動作モードの変更を指示するものとしてもよい。
【００１８】
本発明による情報処理装置の制御方法は、
与えられた命令列にしたがって各種演算処理を行うプロセッサを有し、該プロセッサの動作モードを複数有する情報処理装置の制御方法であって、
該情報処理装置は、
前記プロセッサの前記動作状態を監視するコンソールと、
コンソールから前記動作モード変更要求を受信し、前記プロセッサに前記動作モードの変更を指示する命令管理部と、
命令をデコードし、前記プロセッサへの命令の発行を制御する発行制御部と、
を有するものであって、
前記情報処理装置の動作モードを変更するために、
前記コンソールは、前記プロセッサの前記動作状態に応じて前記動作モードを変更する動作モード変更要求を出力し、
前記発行制御部は、
前記命令列に、先行して実行している命令の完了を待ってから処理することを必要とする命令であるインオーダ処理命令をデコードした場合に、該インオーダ処理命令の発行を停止し、停止中である旨を発行待機通知として前記命令管理部に出力し、
前記プロセッサは、
該インオーダ処理命令に先行する命令の処理が完了した時点で命令完了通知を前記命令管理部に出力し、
前記命令管理部は、
前記発行待機通知が出力された後に、前記命令完了通知が出力されると前記動作モードの変更を指示した後に、待機終了通知を前記発行制御部へ出力し、
前記発行制御部は、
前記待機終了通知を受け付けた後に前記インオーダ処理命令の発行を行う。
【００１９】
本情報処理装置は、与えられた命令列にしたがって各種演算処理を行うプロセッサにおける仕掛中の命令の有無および動作モード変更要求の有無を命令管理部が認識して、コンソールから動作モード変更要求があったときに、プロセッサで仕掛中の命令がないハードウェアの状態であるタイミングを見計らって、動作モードの変更を行う。
【００２０】
このため本情報処理装置は、命令列に基づいた命令が発行制御部からプロセッサに発行され、プロセッサでこの命令列に基づいた命令にしたがった各種演算処理が仕掛かっていることを発行制御部からの命令発行通知で認識し、またプロセッサが命令列にしたがった処理を完了したことをプロセッサからの命令完了通知で認識する命令管理部を備えている。
【００２１】
命令管理部は、診断プロセッサからモード変更通知を受信すると、さらにこの命令完了通知を受信することで、プロセッサが動作モードの変更を受け付ける状態にあることが分かり、この状態にあるプロセッサに対して動作モードの変更を指示する。
【００２２】
このようにして本情報処理装置のシステム稼働を停止させることなくシステム稼働中に動作モードの変更を行うことが可能であり、情報処理装置の運用上に支障が生じない。
【発明の効果】
【００２３】
本発明によれば、システム動作を継続したままハードウェアの動作モードを変更することのできる情報処理装置を得られる。
【発明を実施するための最良の形態】
【００２４】
本発明を実施するための形態について図面を参照して詳細に説明する。
【００２５】
図１は、本実施形態の情報処理装置の構成例を示すブロック図である。
【００２６】
図示したように、情報処理装置は、あらかじめ与えられた命令列Ｓ１よりデコードされた制御命令Ｓ１１にしたがって四則演算、論理演算などの各種演算処理を行い、現在処理を行っている演算処理が終了した場合には命令完了通知Ｓ３を出力するプロセッサ１００を有する機能処理部２００と、命令列Ｓ１など情報処理装置に必要な情報を記憶する主記憶部３４０と、主記憶部３４０の動作を制御するためのメモリ制御部３４５と、情報処理装置と接続された図示しない各種周辺機器との入出力を制御する入出力制御部３５０と、コンソール６００から動作モード変更要求Ｓ２があったときにモード状態通知Ｓ４の１つであるモード変更通知として出力し、また情報処理装置の立ち上げ時の初期化処理および障害発生時の障害処理制御を行う診断プロセッサ３９０と、プロセッサ１００の動作状態を監視し、プロセッサ１００の動作状態に応じ動作モードの変更を要求する動作モード変更要求Ｓ２を診断プロセッサ３９０に出力するコンソール６００とを備えて構成される。
【００２７】
機能処理部２００は、命令列Ｓ１が所定の処理を行うインオーダ前置命令とこのインオーダ前置命令による処理が必要となるインオーダ処理命令とが含まれるときに、インオーダ前置命令の処理が完了するまでインオーダ処理命令の発行を停止し、これらの状態を示す発行状態通知Ｓ５の１つであり発行の停止の旨を示す発行待機通知を出力する発行制御部１６０と、発行制御部１６０からの制御命令Ｓ１１を受信して各種演算処理などの処理を行うプロセッサ１００と、コンソール６００から動作モード変更要求Ｓ２が出力されると命令完了通知Ｓ３が出力された後にプロセッサ１００に動作モードの変更を指示する命令管理部１７０と、各動作モードに対応した動作モードレジスタ１８００を備えた動作モードレジスタ群１８０とを備えて構成される。
【００２８】
本情報処理装置は、プロセッサ１００のハードウェア動作状態を規定する動作モードを複数有しており、コンソール６００からの動作モード変更要求Ｓ２によって、動作モードレジスタ群１８０に指定される最適な動作モードによりプロセッサ１００などが各種の演算処理などの処理を行うことができる。
【００２９】
モード状態通知Ｓ４は、診断プロセッサ３９０における状態を命令管理部１７０に対して示す通知であり、このモード状態通知Ｓ４はコンソール６００から動作モード変更要求Ｓ２を受信していることを示すモード変更通知と、コンソール６００などの要求によりプロセッサ１００の動作モードの変更指示を出しこの変更の指示が完了したことを示す動作モード変更終了通知とからなり、必要に応じてモード状態通知Ｓ４の対応するモード変更通知または動作モード変更終了通知が命令管理部１７０に出力される。
【００３０】
発行状態通知Ｓ５は、発行制御部１６０における状態を命令管理部１７０に対して示す通知であり、この通知はインオーダ処理命令の発行を停止していることを示す発行待機通知と、プロセッサ１００などに制御命令Ｓ１１およびインオーダ処理命令を発行したことを示す命令発行通知とからなり、必要に応じて発行状態通知Ｓ５の対応する通知が命令管理部１７０に出力される。
【００３１】
プロセッサ１００は、演算処理を行う演算処理装置１１０と、機能処理部２００内のステータス制御動作を行う内部制御命令処理部１２０と、主記憶部３４０とのメモリアクセス制御を行ったり、入出力のＩ／Ｏ（Input／Output）アクセス制御を行う外部制御命令処理部１３０とを備えて構成される。
【００３２】
プロセッサ１００は発行制御部１６０に接続されており、発行制御部１６０は命令管理部１７０に接続されており、命令管理部１７０は動作モードレジスタ群１８０に接続されており、動作モードレジスタ群１８０は診断プロセッサ３９０に接続されており、診断プロセッサ３９０はコンソール６００に接続されており、プロセッサ１００は命令管理部１７０に接続されており、命令管理部１７０は診断プロセッサ３９０に接続されており、動作モードレジスタ群１８０はメモリ制御部３４５に接続されており、メモリ制御部３４５は主記憶部３４０に接続されており、主記憶部３４０は発行制御部１６０に接続されており、動作モードレジスタ群１８０は入出力制御部３５０に接続されており、プロセッサ１００は動作モードレジスタ群１８０に接続されている。
【００３３】
なお、説明した構成および接続は、本発明に関連した必要部分を述べたもので、従来技術の構成等についての説明は省略する。
【００３４】
発行制御部１６０は、機能処理部２００内に設けられており、主記憶部３４０から出力される命令列Ｓ１を解読して、命令列Ｓ１に対応し機能処理部２００などで実行する種々の制御命令Ｓ１１としてプロセッサ１００などの各構成部位へ発行する命令発行の機能を有し、またこの制御命令Ｓ１１の発行を制御する発行制御機能を有する。
【００３５】
命令管理部１７０は、機能処理部２００内部で実行されている種々の制御命令Ｓ１１の実行状態を管理し、機能処理部２００内部の命令実行の状態を示す動作ステータスＳ６を発行制御部１６０に対して通知する機能を有する。
【００３６】
命令管理部１７０は、制御命令Ｓ１１にしたがったプロセッサ１００の各種演算処理が終了した旨を命令完了通知Ｓ３としてプロセッサ１００から受信することで、機能処理部２００内で実行中の制御命令Ｓ１１の実行状態を監視する。
【００３７】
命令管理部１７０は、発行状態通知Ｓ５の１つである発行待機通知を受信し、命令完了通知Ｓ３を受信したときに、その旨を動作ステータスＳ６の１つである待機終了通知として発行制御部１６０へ出力する。
【００３８】
動作モードレジスタ群１８０は、診断プロセッサ３９０からのモード指定通知Ｓ７による制御によって動的に書き換え、変更が可能なレジスタであり、情報処理装置内の機能処理部２００などの各機能処理部位においてハードウェア的に実装した複数の動作モード（動作方式）の中から任意の１つの動作方式を決定する。
【００３９】
このために動作モードレジスタ群１８０は、モード変更通知に応じて命令管理部１７０から診断プロセッサ３９０に出される動作モードの変更開始指示Ｓ９によって、診断プロセッサ３９０による書き換えが可能で、動作モードに対応した動作モードレジスタ１８００を備えている。
【００４０】
そして動作モードレジスタ群１８０は、プロセッサ１００、メモリ制御部３４５および入出力制御部３５０などに対してモード変更指示Ｓ８により動作モードの変更を行う機能を有する。
【００４１】
プロセッサ１００は、発行制御部１６０から出力された実行すべき制御命令Ｓ１１を受け取り、それぞれ演算処理装置１１０、内部制御命令処理部１２０、外部制御命令処理部１３０ごとに処理を行う。
【００４２】
演算処理装置１１０は、一般的にＡＬＵ（Arithmetic and Logic Unit：算術演算ユニット）と称される演算装置などに代表される情報処理ユニットであり、加算／乗算などの四則演算や論理演算などの算術的な処理を行なう機能を有する。
【００４３】
演算処理装置１１０は、このような演算を行なう回路のほかに、この回路で行われた演算の演算結果などを一時的に保管するアキュムレータや、演算結果の正負や桁上がりなどの状態情報を保持するフラグレジスタなどが設けられていることも多い。
【００４４】
内部制御命令処理部１２０は、機能処理部２００内のステータス制御動作を行う機能を有する。
【００４５】
外部制御命令処理部１３０は、主記憶部３４０とのメモリアクセス制御を行ったり、入出力のＩ／Ｏアクセス制御を行う機能を有する
診断プロセッサ３９０は、機能処理部２００をはじめとした各構成部位をなすＬＳＩ（Large Scale Integration：大規模集積回路）とのインタフェイスを備え、ハードウェア起動時の初期化処理や障害発生時の障害処理を制御する機能を有する。
【００４６】
主記憶部３４０は、一時的な記憶を行い要求に応じて高速にアクセス可能なレジスタであり、制御命令Ｓ１１で直接記憶されている位置を指定して読み書きできる機能を有する。
【００４７】
メモリ制御部３４５は、主記憶部３４０に記憶された記憶内容を読み、また主記憶部３４０に書き込んで記憶させる際の制御を行う機能を有する。
【００４８】
入出力制御部３５０は、本情報処理装置と接続される図示しない入出力端末、表示装置、印字装置など各種周辺機器との入出力を制御する機能を有する。
【００４９】
次に、本実施形態の情報処理装置の動作について、図１〜図４を参照して詳細に説明する。
【００５０】
主記憶部３４０に記憶されており機能処理部２００で実行するための命令列Ｓ１が、メモリ制御部３４５の制御により、主記憶部３４０から機能処理部２００の発行制御部１６０に出力される。
【００５１】
この機能処理部２００内で実行するための命令列Ｓ１を受信した発行制御部１６０は、受信した命令列Ｓ１の各命令をデコードし、デコードした結果得られた命令の内容を示す制御命令Ｓ１１をプロセッサ１００などに対して発行し、同時にプロセッサ１００などに制御命令Ｓ１１を発行したことを命令発行通知として命令管理部１７０に通知する。
【００５２】
発行制御部１６０から出力された制御命令Ｓ１１を受信したプロセッサ１００の構成部位である演算処理装置１１０、内部制御命令処理部１２０および外部制御命令処理部１３０は、それぞれこの制御命令Ｓ１１に基づいた動作指示にしたがって、処理を開始する。
【００５３】
演算処理装置１１０は、受信した制御命令Ｓ１１にしたがって、加算、乗算などの四則演算や、論理演算などの各種演算処理を行い、演算結果を出力する。
【００５４】
内部制御命令処理部１２０は、機能処理部２００内のステータスを得て、この得たステータスに応じた機能処理部２００内のステータス制御動作を行う。
【００５５】
外部制御命令処理部１３０は、機能処理部２００内外とのメモリアクセス制御やＩ／Ｏアクセス制御を行う。
【００５６】
プロセッサ１００の構成部位である演算処理装置１１０、内部制御命令処理部１２０および外部制御命令処理部１３０は、発行制御部１６０から受信した制御命令Ｓ１１にしたがいおのおのの処理の実行を完了する。
【００５７】
プロセッサ１００は、これらの制御命令Ｓ１１の処理が完了すると、完了したことを命令完了通知Ｓ３として命令管理部１７０へ通知する。
【００５８】
命令管理部１７０は、発行制御部１６０から通知される命令発行通知と、プロセッサ１００から通知される命令完了通知Ｓ３とを受け、この命令発行通知と命令完了通知Ｓ３との対応により、機能処理部２００内で仕掛中の制御命令Ｓ１１があるか否かを監視する。
【００５９】
命令管理部１７０は、機能処理部２００内で仕掛中の制御命令Ｓ１１があるか否かが分かると、これを命令管理部１７０に設けた状態レジスタに記憶する。
【００６０】
また、発行制御部１６０は、先行して実行している制御命令Ｓ１１の完了を待ってから処理することを必要とするインオーダ処理命令をデコードすると、このインオーダ処理命令に先行して実行しているインオーダ前置命令の処理が完了するまで後続の制御命令Ｓ１１の発行を停止し、インオーダ前置命令が仕掛かっておりインオーダ処理命令発行待ちの状態にあることを示す発行待機通知として命令管理部１７０へ通知する。
【００６１】
このインオーダ処理命令の発行待ちの状態は、プロセッサ１００がインオーダ前置命令の処理を終えて、プロセッサ１００の仕掛中の処理がなくなったことをプロセッサ１００が命令管理部１７０に命令完了通知Ｓ３として通知すると、発行待ちの解除が可能な状態となる。
【００６２】
命令管理部１７０は、プロセッサ１００から命令完了通知Ｓ３として受け取ると、後続の命令発行待ちが解除できることを動作ステータスＳ６の１つである待機終了通知として発行制御部１６０に通知する。
【００６３】
ただし、このとき診断プロセッサ３９０からモード状態通知Ｓ４の１つであるモード変更通知があるときは、プロセッサ１００がインオーダ前置命令の処理を終えた後、診断プロセッサ３９０からの指示により動作モードレジスタ群１８０の変更を完了させてから、命令管理部１７０は診断プロセッサ３９０からのモード状態通知Ｓ４の１つである動作モード変更終了通知に基づいて命令発行待ちが解除できることを待機終了通知として発行制御部１６０に通知するとよい。
【００６４】
診断プロセッサ３９０は、プロセッサ１００などの各機能部からの割込みを受信した際に障害処理の実行制御を行うほか、ハードウェア的に備えた動作モードの変更を要求する動作モード変更要求Ｓ２をコンソール６００などから受け付けると、この変更要求に応じて命令管理部１７０へモード状態通知Ｓ４の１つであるモード変更通知として送信する。
【００６５】
命令管理部１７０は、発行状態通知Ｓ５の発行待機通知と、モード状態通知Ｓ４のモード変更通知とを受け取ると、これらの通知にしたがい、機能処理部２００内の状態を命令管理部１７０に設けた状態レジスタに記憶する。
【００６６】
この命令管理部１７０の構成例を、図２に示す。
【００６７】
図示したように、命令管理部１７０は、通知を受けた状態を示す状態レジスタ１７１を備えており、この状態レジスタ１７１は、命令発行通知および命令完了通知Ｓ３の受信に対応し仕掛中の制御命令Ｓ１１（図１参照）の有無を示すＥビット１７２と、インオーダ処理命令発行待ちであるか否かを示すＩビット１７３と、診断プロセッサ３９０からのモード状態通知Ｓ４の１つであるモード変更通知に対応したＣビット１７４の３ビットの状態フラグによる構成となっている。
【００６８】
この状態レジスタ１７１の状態フラグＥビット１７２、Ｉビット１７３およびＣビット１７４の各々の論理値の定義を、図３に示す。
【００６９】
図示したように、左方から状態フラグの種別を示す欄、各状態フラグの論理値の欄、論理値に対応したプロセッサの状態（動作ステータス）および通知の有無を示す欄から構成されている。
【００７０】
Ｅビット１７２は、発行制御部１６０から命令発行通知を受けたときに論理値「０」にリセットされ、この論理値「０」が示されていることにより、プロセッサ１００が制御命令Ｓ１１（図１参照）の仕掛実行中であることを表している。
【００７１】
Ｅビット１７２は、プロセッサ１００から命令完了通知Ｓ３を受けたときに論理値「１」にセットされ、この論理値「１」が示されていることにより、プロセッサ１００が制御命令Ｓ１１の実行を完了したか、仕掛中の処理がないことを表している。
【００７２】
また、命令管理部１７０の仕掛中の制御命令Ｓ１１があるか否かを監視は、発行制御部１６０からの命令発行通知とプロセッサ１００からの命令完了通知Ｓ３を照合し、この照合によって機能処理部２００で仕掛中の制御命令Ｓ１１があると判定した場合に、Ｅビット１７２を論理値「０」にリセットし、仕掛中の制御命令Ｓ１１がなくなったと判定した場合に、Ｅビット１７２を論理値「１」にセットすることでもよい。
【００７３】
Ｉビット１７３は、発行制御部１６０から発行待機通知を受けたときに論理値「１」にセットされ、この論理値「１」が示されていることによりプロセッサ１００がインオーダ前置命令の仕掛中であることを表している。
【００７４】
また、Ｉビット１７３は、この論理値「１」が示されていることにより、発行制御部１６０はこのインオーダ前置命令に後続するインオーダ処理命令の発行待ち状態となっていることを表している。
【００７５】
Ｉビット１７３は、命令管理部１７０から発行制御部１６０に動作ステータスＳ６の１つである待機終了通知を出力したときに論理値「０」にリセットされ、論理値「０」にリセットされているときにはプロセッサ１００において仕掛中のインオーダ前置命令がないかインオーダ前置命令の実行が完了しており、発行制御部１６０はインオーダ処理命令の発行待ち状態ではないことを表している。
【００７６】
なお、インオーダ前置命令の処理は終了したが、何らかの理由で発行制御部１６０において後続のインオーダ処理命令の発行待ちが継続しているときには、Ｉビット１７３は論理値「１」にセットされたままとなる。この後、発行制御部１６０のインオーダ処理命令の発行待ちが解除されたときに待機終了通知が出力され、Ｉビット１７３は論理値「０」にリセットされる。
【００７７】
また、インオーダ前置命令の仕掛中であるときには、プロセッサ１００がこのインオーダ前置命令の実行中であることから、状態レジスタ１７１は、説明したようにＩビット１７３が論理値「１」にセットされるほか、当然Ｅビット１７２もこのインオーダ前置命令の実行中であることから制御命令Ｓ１１の仕掛実行中を示す論理値「０」にリセットされる。
【００７８】
このときも、プロセッサ１００から出力される命令完了通知Ｓ３によって、Ｅビット１７２は論理値「１」にセットされる。
【００７９】
Ｃビット１７４は、診断プロセッサ３９０からモード状態通知Ｓ４の１つであるモード変更通知を受けたときに論理値「１」にセットされ、この論理値「１」が示されていることにより、診断プロセッサ３９０がコンソール６００からハードウェアの動作モード変更要求Ｓ２を受けていることを表しており、論理値「０」にリセットされているときにはコンソール６００でハードウェアの動作モード変更要求Ｓ２がないか、動作モードの変更の指示が完了しモード状態通知Ｓ４の１つである動作モード変更終了通知を命令管理部１７０で受けていることを表している。
【００８０】
このように発行制御部１６０は、主記憶部３４０から取り込んだ命令列Ｓ１をデコードし、この命令列Ｓ１にインオーダ処理命令が含まれていると認識すると命令管理部１７０に発行待機通知を通知して、この発行待機通知を受けたことにより命令管理部１７０は、命令管理部１７０内に備えた状態レジスタ１７１のＩビット１７３に論理値「１」をセットする。
【００８１】
また、診断プロセッサ３９０が動作モード変更要求Ｓ２を受け付けると、診断プロセッサ３９０はモード状態通知Ｓ４の１つであるモード変更通知を命令管理部１７０内に出力し、命令管理部１７０は、このモード変更通知を受けたことにより命令管理部１７０内に備えた状態レジスタ１７１のＣビット１７４に論理値「１」をセットする。
【００８２】
このように定義された３ビットの状態フラグによって、機能処理部２００の状態および通知の有無を示すことができる。
【００８３】
命令管理部１７０は、待機終了通知の他、必要に応じてこれらＥビットおよびＩビットならびにＣビットのおのおののセットまたはリセットの状態を発行制御部１６０に命令実行の動作ステータスＳ６として通知する。
【００８４】
命令管理部１７０の３ビットの状態フラグの示した状態によって、プロセッサ１００は以下の通りの動作ステータスとなっている。
【００８５】
図４に、３ビットの状態フラグ１７１とプロセッサ１００の動作ステータスを示す。
【００８６】
図示したように、図の１行目には左方からＣビット１７４の欄、Ｉビット１７３の欄、Ｅビット１７２の欄があり、その右方に対応するプロセッサ１００の動作ステータスを示す欄がある。
【００８７】
図の２行目のＣビット１７４の論理値「０」は、モード状態通知Ｓ４の１つであるモード変更通知がないことを示し、Ｉビット１７３の論理値「０」は、インオーダ処理命令の発行待ちがないことを示し、Ｅビット１７２の論理値「０」は、プロセッサ１００に仕掛中の制御命令Ｓ１１があることを示しており、プロセッサ１００の動作ステータスを示す欄から制御命令Ｓ１１の仕掛実行中のステータスであることが分かる。
【００８８】
同様に図の３行目のＣビット１７４の論理値「０」は、モード変更通知がないことを示し、Ｉビット１７３の論理値「０」は、インオーダ処理命令の発行待ちがないことを示し、Ｅビット１７２の論理値「１」は、プロセッサ１００に仕掛中の制御命令Ｓ１１がないことを示しており、制御命令Ｓ１１の仕掛なしのステータスであることが分かる。
【００８９】
図の４行目のＣビット１７４の論理値「０」は、モード変更通知がないことを示し、Ｉビット１７３の論理値「１」は、インオーダ処理命令の発行待ちであることを示し、Ｅビット１７２の論理値「０」は、プロセッサ１００に仕掛中の制御命令Ｓ１１があることを示しており、制御命令Ｓ１１の仕掛完了待ちのステータスであることが分かる。
【００９０】
図の５行目のＣビット１７４の論理値「０」は、モード変更通知がないことを示し、Ｉビット１７３の論理値「１」は、インオーダ処理命令の発行待ちであることを示し、Ｅビット１７２の論理値「１」は、プロセッサ１００に仕掛中の制御命令Ｓ１１がないことを示しており、インオーダ処理命令処理開始のステータスであることが分かる。
【００９１】
図の６行目のＣビット１７４の論理値「１」は、モード変更通知があることを示し、Ｉビット１７３の論理値「０」は、インオーダ処理命令の発行待ちがないことを示し、Ｅビット１７２の論理値「０」は、プロセッサ１００に仕掛中の制御命令Ｓ１１があることを示しており、制御命令Ｓ１１の仕掛完了待ちのステータスであることが分かる。
【００９２】
同様に図の７行目のＣビット１７４の論理値「１」は、モード変更通知があることを示し、Ｉビット１７３の論理値「０」は、インオーダ処理命令の発行待ちがないことを示し、Ｅビット１７２の論理値「１」は、プロセッサ１００に仕掛中の制御命令Ｓ１１がないことを示しており、動作モード変更開始のステータスであることが分かる。
【００９３】
図の８行目のＣビット１７４の論理値「１」は、モード変更通知があることを示し、Ｉビット１７３の論理値「１」は、インオーダ処理命令の発行待ちであることを示し、Ｅビット１７２の論理値「０」は、プロセッサ１００に仕掛中の制御命令Ｓ１１があることを示しており、制御命令Ｓ１１の仕掛完了待ちのステータスであることが分かる。
【００９４】
図の９行目のＣビット１７４の論理値「１」は、モード変更通知があることを示し、Ｉビット１７３の論理値「１」は、インオーダ処理命令の発行待ちであることを示し、Ｅビット１７２の論理値「１」は、プロセッサ１００に仕掛中の制御命令Ｓ１１がないことを示しており、インオーダ処理命令発行待ちのステータスであることが分かる。
【００９５】
初期状態ではモード状態通知Ｓ４の１つであるモード変更通知がないとすると、ここまで説明した状態レジスタ１７１の示す状態によって、既に説明した発行制御部１６０が各命令をデコードし、デコードした結果得られた制御命令Ｓ１１によりプロセッサ１００がこれらの制御命令Ｓ１１に基づいた動作指示にしたがって処理をしているときには、Ｃビットが論理値「０」に設定され、Ｉビットが論理値「０」に設定され、Ｅビットが論理値「０」に設定されている。
【００９６】
この状態は、既に説明した図４の２行目に示す制御命令Ｓ１１の仕掛実行中のステータスである。
【００９７】
次に発行制御部１６０は、主記憶部３４０から出力された命令列Ｓ１に含まれたインオーダ処理命令をデコードすると、デコードした後、既にプロセッサ１００で実行中の制御命令Ｓ１１が完了することを待っているインオーダ処理命令発行待ち状態となる。
【００９８】
このとき発行制御部１６０は、命令管理部１７０に対してインオーダ処理命令の発行待ちであることを発行待機通知として命令管理部１７０へ通知し、命令管理部１７０はＩビット１７３を論理値「１」にセットする。
【００９９】
この結果この状態は、既に説明した図４の４行目に示す仕掛制御命令完了待ちのステータスにある。
【０１００】
次に命令管理部１７０は、プロセッサ１００で仕掛中の制御命令Ｓ１１が実行が完了して仕掛中の制御命令Ｓ１１がなくなるのをプロセッサ１００からの命令完了通知Ｓ３により確認すると、Ｅビット１７２を点灯して論理値「１」にセットする。
【０１０１】
この状態は、既に説明した図４の５行目に示すインオーダ処理命令開始のステータスである。
【０１０２】
このとき、Ｃビット１７４が点灯していない論理値「０」である場合は、命令管理部１７０は発行制御部１６０に対して一時停止していたインオーダ処理命令発行の再開を待機終了通知を出力して発行制御部１６０に指示すると同時に、状態レジスタ１７１のＩビット１７３およびＥビット１７２をリセットして共に論理値「０」にする。
【０１０３】
この状態は、既に説明した図４の２行目に示す制御命令Ｓ１１の仕掛実行中のステータスである。
【０１０４】
さらに診断プロセッサ３９０は、コンソール６００などから動作モード変更要求Ｓ２を受け付けると、命令管理部１７０にモード変更通知を通知する。診断プロセッサ３９０からモード変更通知を受け取った命令管理部１７０は、この診断プロセッサ３９０からのモード変更通知によって、Ｃビット１７４を論理値「１」にセットする。
【０１０５】
この状態は、既に説明した図４の６行目に示す制御命令Ｓ１１の仕掛完了待ちのステータスである。
【０１０６】
命令管理部１７０は、診断プロセッサ３９０からモード変更通知を受けてＣビット１７４がセットされたときに、Ｅビット１７２がセットされ、Ｉビット１７３がリセットされると、動作モードレジスタ群１８０の指定された動作モードレジスタ１８０９を診断プロセッサ３９０を介して書き換えることでプロセッサ１００に動作モードの変更を指示する。
【０１０７】
すなわち命令管理部１７０は、プロセッサ１００から命令完了通知Ｓ３を受け取ることにより実行する制御命令Ｓ１１がなくなるのを確認すると、Ｅビット１７２を点灯（論理値「１」にセット）し、Ｃビット１７４が論理値「１」にセットされている場合は、動作モードレジスタ群１８０の変更を行うために診断プロセッサ３９０に対して変更開始指示Ｓ９を通知する。
【０１０８】
この状態は、既に説明した図４の７行目に示す動作モード変更開始のステータスである。
【０１０９】
診断プロセッサ３９０は、命令管理部１７０から変更開始指示Ｓ９を受信すると、診断プロセッサ３９０から出力されたモード指定通知Ｓ７にしたがって動作モードレジスタ群１８０の指定された動作モードレジスタ１８０９を変更する。
【０１１０】
この動作モードレジスタ１８０９が変更されたことにより、この動作モードレジスタ１８０９の状態はプロセッサ１００、メモリ制御部３４５および入出力制御部３５０などにモード変更指示Ｓ８として通知され、プロセッサ１００、メモリ制御部３４５および入出力制御部３５０などの動作モードがダイナミックに変更される。
【０１１１】
診断プロセッサ３９０は、変更開始指示Ｓ９による動作モードレジスタ１８０９の変更が完了すると、命令管理部１７０へモード状態通知Ｓ４の１つである動作モード変更終了通知を送信する。
【０１１２】
命令管理部１７０は、診断プロセッサ３９０からモード状態通知Ｓ４の１つである動作モード変更終了通知を受信すると、Ｅビット１７２、Ｉビット１７３およびＣビット１７４をリセットして各々論理値「０」とし、発行制御部１６０へ後続の制御命令Ｓ１１発行の開始を通知する。
【０１１３】
この状態は、既に説明した図４の２行目に示す制御命令Ｓ１１の仕掛実行中のステータスである。
【０１１４】
Ｃビット１７４とＩビット１７３がともに論理値「１」を点灯していた場合すなわち図４の８行目に示す制御命令Ｓ１１の仕掛完了待ちまたは図４の９行目に示すインオーダ処理命令発行待ちのステータスの場合には、上述の動作モード変更処理を実行した後、Ｅビット１７２、Ｉビット１７３およびＣビット１７４をリセットして各々論理値「０」とし、発行制御部１６０へデコードされた後続の制御命令Ｓ１１発行の開始を指示する待機終了通知を出力する。
【０１１５】
この状態も、既に説明した図４の２行目に示す制御命令Ｓ１１の仕掛実行中のステータスである。
【０１１６】
以上説明したような動作モードレジスタ群１８０、動作モードレジスタ１８００は、機能処理部２００ばかりでなく一般的にメモリ制御部３４５および入出力制御部３５０などの構成部位にも備えられており、これらの構成部位に備えられた動作モードレジスタも機能処理部２００の動作モードレジスタ１８００の変更のタイミングと同時に変更が実施されるとよい。
【０１１７】
このように、本情報処理装置は、情報処理装置のシステム運用を継続したまま、システムの運用に支障をきたすことなく、複数のハードウェア動作モードを備えたプロセッサなどの情報処理装置内の各部におけるハードウェア動作モードをダイナミックに変更することのできる機能を有している。
【０１１８】
以上説明したように、本発明においては、以下に記載するような効果を奏する。
（１）本情報処理装置は、システム運用中にハードウェア的に静的な状態を生成しシステムの動作モードを変更可能としているので、システムの運用を停止することなくダイナミックにいつでも変更できる。
（２）本情報処理装置は、ソフトウェアに依存せず、ハードウェアで変更機能を実現しているので、ほとんど性能低下することなく動作モードの変更が実施できる。
（３）本情報処理装置は、一般的なほとんどのプロセッサ、機能処理部が実装している機能を拡張することで実現しているので、最小のハードウェア量増加で実現できることである。
（４）本情報処理装置は、プロセッサでいかなる制御命令の実行中においても、ハードウェアの動作モードを安全に変更するタイミングをハードウェア的に生成し、ハードウェアの動作モードレジスタ群を変更可能とする。このため、本情報処理装置のシステム運用中でオペレーションシステムやユーザプロセスが動作中においてもソフトウェアの動作ステータスを意識することなく動的にハードウェア動作モードの変更が可能となる。
【図面の簡単な説明】
【０１１９】
【図１】本実施形態の情報処理装置の構成例を示すブロック図である。
【図２】本実施形態の情報処理装置の命令管理部の構成例を示すブロック図である。
【図３】命令管理部のＣビット、Ｉビット、Ｅビットの論理値の定義を示した説明図である。
【図４】命令管理部のＣビット、Ｉビット、Ｅビットの設定状態およびプロセッサの動作ステータスを示す図である。
【符号の説明】
【０１２０】
１００    プロセッサ
１１０    演算処理装置
１２０    内部制御命令処理部
１３０    外部制御命令処理部
１６０    発行制御部
１７０    命令管理部
１７１    状態レジスタ
１７２    Ｅビット
１７３    Ｉビット
１７４    Ｃビット
１８０    動作モードレジスタ群
２００    機能処理部
３４０    主記憶部
３４５    メモリ制御部
３５０    入出力制御部
３９０    診断プロセッサ
６００    コンソール
１８００    動作モードレジスタ
１８０９    指定された動作モードレジスタ
Ｓ１    命令列
Ｓ２    動作モード変更要求
Ｓ３    命令完了通知
Ｓ４    モード状態通知
Ｓ５    発行状態通知
Ｓ６    動作ステータス
Ｓ７    モード指定通知
Ｓ８    モード変更指示
Ｓ９    変更開始指示
Ｓ１１    制御命令
【図１】
0005194360.tif 000002
【図２】
0005194360.tif 000003
【図３】
0005194360.tif 000004
【図４】
0005194360.tif 000005