(57)【要約】【課題】演算結果フラグをコンディションコードに変換する変換機構を変更可能にすることで、汎用性の高いコンディションコードを生成出来るようにする。【解決手段】命令セットアーキテクチャ指定部９が変換機構３での変換対象となる命令セットアーキテクチャを指定し、指定した命令セットアーキテクチャに対応する構成データを変更値レジスタ４に書き込み、構成データデコーダ３ｄは変更値レジスタ４からレジスタ値を読み込み、構成データをデコードしプログラマブルロジックデバイス３ｃに出力し、プログラマブルロジックデバイス３ｃは構成データに従って再構成され、演算結果フラグを命令セットアーキテクチャ指定部９により指定された命令セットアーキテクチャに従ったコンディションコードに変換し、コンディションコードレジスタ８に出力する。【選択図】        図１
2004152201.tif 000002
【特許請求の範囲】
【請求項１】
所定の演算を行い、演算結果を示す演算結果フラグを出力する演算部と、
複数種の命令セットアーキテクチャに対応し、演算結果フラグを複数種の命令セットアーキテクチャのうちの特定の命令セットアーキテクチャのコンディションコードに変換し、変換したコンディションコードを出力する変換部と、
前記変換部での変換の対象となる命令セットアーキテクチャを変換対象命令セットアーキテクチャとして指定する指定部とを有し、
前記変換部は、
演算結果フラグを、前記指定部により指定された変換対象命令セットアーキテクチャのコンディションコードに変換することを特徴とするプロセッサ装置。
【請求項２】
前記プロセッサ装置は、更に、
前記指定部により指定された変換対象命令セットアーキテクチャに対応する制御情報を前記変換部に対して出力する変換管理部を有し、
前記変換部は、
前記変換管理部からの制御情報に従い、演算結果フラグを変換対象命令セットアーキテクチャのコンディションコードに変換することを特徴とする請求項１に記載のプロセッサ装置。
【請求項３】
前記指定部は、
変換対象命令セットアーキテクチャに対応する制御情報を前記変換管理部に対して出力し、
前記変換管理部は、
前記指定部からの制御情報をデコードし、デコード後の制御情報を前記変換部に対して出力することを特徴とする請求項２に記載のプロセッサ装置。
【請求項４】
前記変換管理部は、
命令セットアーキテクチャごとにそれぞれの命令セットアーキテクチャに対応する制御情報を記憶する制御情報記憶部と、
前記制御情報記憶部に記憶された制御情報の中から変換対象命令セットアーキテクチャに対応する制御情報を選択する制御情報選択部とを有し、
前記指定部は、
変換対象命令セットアーキテクチャを示す変換対象命令セットアーキテクチャ情報を前記変換管理部に対して出力し、
前記変換管理部において、
前記制御情報選択部は、
前記指定部からの変換対象命令セットアーキテクチャ情報に基づき、前記制御情報記憶部に記憶された制御情報の中から変換対象命令セットアーキテクチャに対応する制御情報を選択し、選択した制御情報を前記変換部に対して出力することを特徴とする請求項２に記載のプロセッサ装置。
【請求項５】
前記変換部は、
命令セットアーキテクチャごとに内部回路を構成することにより、演算結果フラグを特定の命令セットアーキテクチャのコンディションコードに変換するプログラマブルロジックデバイスであり、
前記指定部により指定された変換対象命令セットアーキテクチャに対応させて内部回路を構成し、演算結果フラグを変換対象命令セットアーキテクチャのコンディションコードに変換することを特徴とする請求項１に記載のプロセッサ装置。
【請求項６】
前記プロセッサ装置は、更に、
前記指定部により指定された変換対象命令セットアーキテクチャに対応する制御情報を前記変換部に対して出力する変換管理部を有し、
前記変換部は、
前記変換管理部からの制御情報に従い、変換対象命令セットアーキテクチャに対応させて内部回路を構成し、演算結果フラグを変換対象命令セットアーキテクチャのコンディションコードに変換することを特徴とする請求項５に記載のプロセッサ装置。
【請求項７】
前記変換部は、
それぞれの命令セットアーキテクチャについて演算結果フラグの種類ごとに対応するコンディションコードを特定する変換テーブルを有し、
前記変換テーブルを検索して、前記演算部からの演算結果フラグ及び前記指定部により指定された変換対象命令セットアーキテクチャに対応するコンディションコードを選択し、選択したコンディションコードを出力することを特徴とする請求項１に記載のプロセッサ装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、マイクロプロセッサ等のプロセッサ装置上で様々なアーキテクチャの命令を命令エミュレーションにより実行する情報処理装置における汎用的なコンディションコードの生成技術に関するものである。
【０００２】
【従来の技術】
従来、特表平９−５０５４３０にあるように、複数のコンディションコードを保持し、そこからソフトウェアで設定した値によって必要なフラグを選択し、配列を変更することでプロセッサ間のコンディションコードの互換性を保障できる。
【０００３】
【特許文献１】
特表平９−５０５４３０号公報
【０００４】
【発明が解決しようとする課題】
上述したように従来の方式では、複数のコンディションコードから必要なフラグを選択することでプロセッサ間のコンディションコードの互換性を保障することができる。しかしコンディションコードの値を変えることはできないため、用意しているコンディションコード以外のフラグを使用するプロセッサの互換性を保障することができず、コンディションコードの汎用性が低いという問題があった。
【０００５】
本発明は上記問題点を解決するためになされたもので、演算結果フラグからコンディションコードを変換する変換手段を変更可能にすることで、汎用性の高いコンディションコードを生成出来るようにすることを目的とする。
【０００６】
【課題を解決するための手段】
本発明に係るプロセッサ装置は、
所定の演算を行い、演算結果を示す演算結果フラグを出力する演算部と、
複数種の命令セットアーキテクチャに対応し、演算結果フラグを複数種の命令セットアーキテクチャのうちの特定の命令セットアーキテクチャのコンディションコードに変換し、変換したコンディションコードを出力する変換部と、
前記変換部での変換の対象となる命令セットアーキテクチャを変換対象命令セットアーキテクチャとして指定する指定部とを有し、
前記変換部は、
演算結果フラグを、前記指定部により指定された変換対象命令セットアーキテクチャのコンディションコードに変換することを特徴とする。
【０００７】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態について図面を参照して説明する。
【０００８】
図１は本発明の一実施の形態を示すブロック図である。
図において、１ａ〜１ｍは演算器群、２ａ〜２ｍは演算器群１ａ〜１ｍが生成する演算結果フラグを保持するための演算結果フラグレジスタ群、４はソフトウェアから入力されたプログラマブルロジックデバイス３ｃを変更する値を保持するための変更値レジスタ、３は演算結果フラグからコンディションフラグに変換する変換機構、３ｃはプログラマブルロジックデバイス、３ｄは変更値レジスタ値をデコードしてプログラマブルロジックデバイス３ｃを再構成する構成データを生成する構成データデコーダ、７は再構成処理の開始、終了を制御する再構成制御レジスタ、８は変換機構３で演算結果フラグから変換されたコンディションコードを保持するコンディションコードレジスタである。９は、変換機構３での変換の対象となる命令セットアーキテクチャを指定する命令セットアーキテクチャ指定部である。命令セットアーキテクチャ指定部９は、例えば、オペレーティングシステム（ＯＳ）等のソフトウェアである。
【０００９】
ここで、演算器１ａ〜１ｍは、演算部の例であり、プログラマブルロジックデバイス３ｃは変換部の例であり、構成データデコーダ３ｄは変換管理部の例であり、命令セットアーキテクチャ指定部９は指定部の例である。また、構成データは、制御情報の例である。
【００１０】
次に動作について説明する。
マイクロプロセッサにて命令が実行されると各演算器１ａ〜１ｍは演算を実行し、その演算結果の状態を表す演算結果フラグを各演算結果フラグレジスタ２ａ〜２ｍに書き込む。変換機構３におけるプログラマブルロジックデバイス３ｃは各演算結果フラグレジスタ２ａ〜２ｍから演算結果フラグ値を読み込み、コンディションコードに変換して、コンディションコードレジスタ８に書き込む。命令エミュレーション上で実行されるプログラムはコンディションコードレジスタ８の値によって動作を切替える。
【００１１】
次に変換機構３の変更手順について説明する。
まず、命令セットアーキテクチャ指定部（例えば、ソフトウェア）から変更値レジスタ４に対してプログラマブルロジックデバイスで構成された変換機構３を変更するための構成データ（デコード前の構成データ）を入力する。
この構成データ（デコード前の構成データ）は、プログラマブルロジックデバイス３ｃの内部回路を再構成するための制御情報であり、命令セットアーキテクチャごとに構成データが異なる。
このため、命令セットアーキテクチャ指定部９は、構成データ（デコード前の構成データ）を入力することによって、次にプログラマブルロジックデバイス３ｃが変換を行うべき命令セットアーキテクチャを指定する。
次にソフトウェアから再構成制御レジスタ７に再構成処理の開始を指示する値をセットすると構成データデコーダ３ｄは変更値レジスタ４からレジスタ値（デコード前の構成データ）を読み込む。
構成データデコーダ３ｄは読み込んだ変更値からプログラマブルロジックデバイス３ｃを再構成する構成データをデコードしプログラマブルロジックデバイス３ｃに出力しプログラマブルロジックデバイス３ｃは構成データに従って再構成される。そして、プログラマブルロジックデバイス３ｃは、演算結果フラグを命令セットアーキテクチャ指定部９により指定された命令セットアーキテクチャに従ったコンディションコードに変換し、コンディションコードレジスタ８に出力する。
【００１２】
次に、例えば図１において、命令によりプログラマブルロジックデバイスの再構成を実行する場合における再構成手順について、図２、図３を用いて説明する。
図２は再構成制御レジスタの構成図、図３は再構成のフローチャートである。
【００１３】
プログラマブルロジックデバイスの再構成を行う再構成実行命令が実行されると、図３のステップ３０１において、命令セットアーキテクチャ指定部９（例えばソフトウェア）から変更値レジスタ４に対しプログラマブルロジックデバイス３ｃを変更するための構成データ（デコード前の構成データ）が書き込まれる。書込み終了後ステップ３０２において、ソフトウェアから再構成制御レジスタ７の制御ビットがセットされる。
ステップ３０３において構成データデコーダ３ｄは制御ビットがセットされたことを検知すると変更値レジスタ４から値（デコード前の構成データ）を読み取り、ステップ３０４において再構成に使用する構成データをデコードし、再構成を開始する。
ステップ３０６においてプログラマブルロジックデバイス３ｃは再構成が開始されると再構成制御レジスタのステータスビットをセットする。
ステップ３０１からステップ３０６を、再構成が終了したことを表す再構成終了信号がプログラマブルロジックデバイス３ｃから出力されるまで繰り返す。
再構成終了信号を受けた構成データデコーダ３ｄは再構成制御レジスタ７のステータスビットをクリアする。ステータスビットがクリアされることによって再構成実行命令は終了する。
【００１４】
以上のように、演算結果フラグからコンディションコードに変換する変換機構をプログラマブルロジックデバイスで構成し、デコーダを介してプログラマブルロジックデバイスを再構成可能にすることで、汎用性の高いコンディションコードを生成することが可能になり、命令エミュレーション上で様々なアーキテクチャのプログラムを実行することが可能になる。
【００１５】
実施の形態２．
以上の実施の形態１では、プログラマブルロジックデバイスで構成した変換機構を、ソフトウェアにより入力された構成データからデコード回路でデコードして生成した構成データを用いて再構成するものであるが、次に複数の構成データをメモリ上に保持し例えばソフトウェアから再構成に使用する構成データを選択して変換機構を再構成する実施の形態を示す。
【００１６】
図４はこのような場合の一実施の形態を示すブロック図である。
図において、１ａ〜１ｍは演算器群、２ａ〜２ｍは演算器群１ａ〜１ｍが生成する演算結果フラグを保持するための演算結果フラグレジスタ群、４はソフトウェアから入力された変換機構を変更する値を保持するための変更値レジスタ、３は演算結果フラグからコンディションフラグに変換する変換機構、３ｃはプログラマブルロジックデバイス、３ａはプログラマブルロジックデバイス３ｃを再構成するための構成データを保持する構成データメモリ、３ｂは変更値レジスタ４の値からプログラマブルロジックデバイスを再構成する構成データを構成データメモリ３ａから選択する構成データセレクタ、７は再構成処理の開始、終了を制御する再構成制御レジスタ、８は変換機構３で演算結果フラグから変換されたコンディションコードを保持するコンディションコードレジスタである。９は、変換機構３での変換の対象となる命令セットアーキテクチャを指定する命令セットアーキテクチャ指定部である。命令セットアーキテクチャ指定部９は、例えば、オペレーティングシステム（ＯＳ）等のソフトウェアである。
構成データメモリ３ａは、命令セットアーキテクチャごとに構成データを保有しており、構成データセレクタ３ｂは、命令セットアーキテクチャ指定部９により指定された命令セットアーキテクチャに対応する構成データを構成データメモリ３ａが保有する構成データの中から選択する。
【００１７】
ここで、演算器１ａ〜１ｍは、演算部の例であり、プログラマブルロジックデバイス３ｃは変換部の例であり、構成データメモリ３ａは制御情報記憶部の例であり、構成データセレクタ３ｂは制御情報選択部の例である。また、構成データメモリ３ａと構成データセレクタ３ｂを合わせたものが変換管理部の例である。命令セットアーキテクチャ指定部９は指定部の例である。また、構成データは、制御情報の例である。
【００１８】
次に動作について説明する。
マイクロプロセッサにて命令が実行されると各演算器１ａ〜１ｍは演算を実行し、その演算結果の状態を表す演算結果フラグを各演算結果フラグレジスタ２ａ〜２ｍに書き込む。変換機構３におけるプログラマブルロジックデバイス３ｃは各演算結果フラグレジスタ２ａ〜２ｍから演算結果フラグ値を読み込み、コンディションコードに変換して、コンディションコードレジスタ８に書き込む。命令エミュレーション上で実行されるプログラムはコンディションコードレジスタ８の値によって動作を切替える。
【００１９】
次にソフトウェアによる変換機構３の変更手順について説明する。
まず、命令セットアーキテクチャ指定部９（例えば、ソフトウェア）から変更値レジスタ４に対してプログラマブルロジックデバイスで構成された変換機構３を変更するための変更値を入力する。
次にソフトウェアから再構成制御レジスタ７に再構成処理の開始を指示する値をセットすると構成データセレクタ３ｂは変更値レジスタ４からレジスタ値を読み込み、この値をもとに再構成に使用する構成データを構成データメモリ３ａから選択する。選択の結果、構成データメモリ３ａからプログラマブルロジックデバイス３ｃを再構成するための構成データが出力され、プログラマブルロジックデバイス３ｃは構成データに従って再構成される。そして、プログラマブルロジックデバイス３ｃは、演算結果フラグを命令セットアーキテクチャ指定部９により指定された命令セットアーキテクチャに従ったコンディションコードに変換し、コンディションコードレジスタ８に出力する。
【００２０】
次に、例えば図４において、構成データメモリがそれぞれ別々の構成データを保持した複数のメモリで構成されており、命令によりプログラマブルロジックデバイスの再構成を実行する場合におけるプログラマブルロジックデバイスの再構成手順の詳細について、図２、図５を用いて説明する。図２は再構成制御レジスタの構成図、図５は再構成のフローチャートである。
【００２１】
プログラマブルロジックデバイスの再構成を行う再構成実行命令が実行されると、図５のステップ２０１において、命令セットアーキテクチャ指定部９（例えばソフトウェア）から変更値レジスタ４に対しプログラマブルロジックデバイス３ｃを再構成する構成データが格納されたメモリを選択するための値が書き込まれる。
書込み終了後ステップ２０２において、ソフトウェアから再構成制御レジスタの制御ビットがセットされる。
ステップ２０３において構成データセレクタ３ｂは制御ビットがセットされたことを検知すると、変更値レジスタ４から値を読み取り、ステップ２０４において構成データメモリ３ａから変更値レジスタ値に対応する構成データが格納されたメモリを選択する。
ステップ２０５において選択されたメモリに格納された構成データによりプログラマブルロジックデバイス３ｃの再構成が開始される。
プログラマブルロジックデバイス３ｃは再構成が開始されると再構成制御レジスタのステータスビットをセットする。プログラマブルロジックデバイス３ｃは再構成が終了すると再構成制御レジスタ７のステータスビットをクリアする。ステータスビットがクリアされたことを検知すると再構成実行命令は終了する。
【００２２】
以上のように、演算結果フラグからコンディションコードに変換する変換機構をプログラマブルロジックデバイスで構成し、プログラマブルロジックデバイスの構成データを例えばソフトウェアから選択して再構成可能にすることで、汎用性の高いコンディションコードを生成することが可能になり、命令エミュレーション上で様々なアーキテクチャのプログラムを実行することが可能になる。
【００２３】
実施の形態３．
以上の実施の形態１、実施の形態２では、演算結果フラグからコンディションコードの変換機構をプログラマブルロジックデバイスで構成しソフトウェアから再構成していたが、次に変換機構をメモリ上のテーブルで構成する実施の形態を示す。
【００２４】
図６はこのような場合の一実施の形態を示すブロック図である。
図において、１ａ〜１ｍは演算器群、２ａ〜２ｍは演算器群１ａ〜１ｍが生成する演算結果フラグを保持するための演算結果フラグレジスタ群、１０は実行する命令セットのアーキテクチャを表すアーキテクチャコードを保持するためのアーキテクチャコードレジスタ、１１は演算結果フラグレジスタ群２ａ〜２ｍから読み込んだ各演算器１ａ〜１ｍの演算結果フラグを保持するためのフラグレジスタ、１２はアーキテクチャコードレジスタ１０の値とフラグレジスタ１１の値から変換テーブル上の対応するコンディションコードのアドレスをデコードする変換テーブルアドレスデコーダ、１３は演算結果フラグとコンディションコードの対応を表すメモリ上の変換テーブル、８は変換テーブルから読み出されたコンディションコードを保持するためのコンディションコードレジスタ。９は、変換機構での変換の対象となる命令セットアーキテクチャを指定する命令セットアーキテクチャ指定部である。命令セットアーキテクチャ指定部９は、例えば、オペレーティングシステム（ＯＳ）等のソフトウェアである。
【００２５】
本実施の形態では、演算器１ａ〜１ｍは、演算部の例であり、変換テーブルアドレスデコーダ１２と変換テーブル１３とを合わせたものが変換部の例であり、命令セットアーキテクチャ指定部９は指定部の例である。また、構成データは、制御情報の例である。
【００２６】
次に動作について説明する。
マイクロプロセッサにて命令が実行されると各演算器１ａ〜１ｍは演算を実行し、その演算結果の状態を表す演算結果フラグを各演算結果フラグレジスタ２ａ〜２ｍに書き込み、各演算結果フラグレジスタ２ａ〜２ｍからフラグレジスタ１１に演算結果フラグが書き込まれる。また、命令セットアーキテクチャ指定部９は、次に変換の対象となる命令セットアーキテクチャを指定し、指定した命令セットアーキテクチャ（変換対象命令セットアーキテクチャ）を示す値をアーキテクチャコードレジスタ１０に書き込む。変換テーブルアドレスデコーダ１２はフラグレジスタ１１とアーキテクチャコードレジスタ１０のレジスタ値から変換テーブル１３上の対応するコンディションコードのアドレスを生成する。アドレス指定されたコンディションコードはコンディションコードレジスタ８に書き込まれ、命令エミュレーション上で実行されるプログラムはコンディションコードレジスタ８の値によって動作を切替える。
【００２７】
次に、例えば図６において、命令セットアーキテクチャ指定部９によってアーキテクチャコードをアーキテクチャコードレジスタ１０にセットする場合の、演算結果フラグからコンディションコードへの変換手順について、図７を用いて説明する。図７は変換手順のフローチャートである。
【００２８】
図７のステップ４０１において、命令セットアーキテクチャ指定部９はロードするプログラムの命令セットアーキテクチャを認識し、対応するアーキテクチャコードをアーキテクチャコードレジスタ１０にセットする。ステップ４０２においてプログラムがロードされる。ステップ４０４において命令が実行されるたびに各演算結果フラグレジスタ２ａ〜２ｍのレジスタ値がフラグレジスタ１１に書き込まれ、ステップ４０５において変換テーブルアドレスデコーダによって、変換テーブル上の対応するアドレスが生成される。ステップ４０６において変換テーブルの指定されたアドレスのコンディションコードが参照されコンディションコードレジスタ８に書き込まれる。以降ステップ４０３からステップ４０８を、プログラムが終了するまで繰り返す。
【００２９】
以上のように、演算結果フラグからコンディションコードに変換する変換機構を変換テーブルで構成することで、汎用性の高いコンディションコードを生成することが可能になり、命令エミュレーション上で様々なアーキテクチャのプログラムを実行することが可能になる。
【００３０】
ここで、実施の形態１〜３で説明したマイクロプロセッサの特徴を再言する。
【００３１】
実施の形態１〜３に示したマイクロプロセッサは、演算器で実行した演算結果により生成され演算器ごとの演算結果の状態を表す演算結果フラグをコンディションコードに変換する手段を備えたマイクロプロセッサであって、外部からの制御信号によって変更可能な、演算結果フラグからコンディションコードへの変換手段を備えることを特徴とする。
【００３２】
実施の形態１、２に示したマイクロプロセッサは、ソフトウェアにより変換手段を変更する値を入力する手段と、入力値を保持する手段と、入力値を読出し変換手段の制御信号を生成する手段を備えることを特徴とする。
【００３３】
実施の形態１に示したプロセッサは、デコード回路を備え、ソフトウェアからの入力値をデコードして変換手段への制御信号を生成することを特徴とする。
【００３４】
実施の形態２に示したプロセッサは、変換手段への制御信号パターンで構成したデータベースを備え、ソフトウェアによりデータベース上の制御信号パターンを選択することを特徴とする。
【００３５】
実施の形態１、２に示したプロセッサは、プログラマブルロジックデバイスと、プログラマブルロジックデバイスの構成データを保持する手段と、プログラマブルロジックデバイスを再構成する手段を備え、プログラマブルロジックデバイスを再構成することで変換手段を変更することを特徴とする。
【００３６】
実施の形態３に示したプロセッサは、演算結果フラグとコンディションコードの対応を表すメモリ上に構成されたテーブルと、各演算器の演算結果フラグレジスタ値を読み込む手段と、読み込んだ演算結果フラグレジスタ値と実行する命令セットのアーキテクチャを表すアーキテクチャコードから、対応するテーブル上のコンディションコードを選択する手段を備え、変換テーブルを参照することで演算結果フラグからコンディションコードを変換することを特徴とする。
【００３７】
【発明の効果】
このように、本発明によれば、演算結果フラグからコンディションコードへの変換を複数種類の命令セットアーキテクチャに対応させることができるため、命令エミュレーション上で様々なアーキテクチャのプログラムを実行することが可能になる。
【図面の簡単な説明】
【図１】実施の形態１に係るマイクロプロセッサの構成例を示す図。
【図２】再構成制御レジスタの構成例を示す図。
【図３】実施の形態１に係る再構成手順の例を示すフローチャート図。
【図４】実施の形態２に係るマイクロプロセッサの構成例を示す図。
【図５】実施の形態２に係る再構成手順の例を示すフローチャート図。
【図６】実施の形態３に係るマイクロプロセッサの構成例を示す図。
【図７】実施の形態３に係る変換手順の例を示すフローチャート図。
【符号の説明】
１  演算器、２  演算結果フラグレジスタ、３  変換機構、４  変更値レジスタ、７  再構成制御レジスタ、８  コンディションコードレジスタ、９  命令セットアーキテクチャ指定部、１０  アーキテクチャコードレジスタ、１１  フラグレジスタ、１２  変換テーブルアドレスデコーダ、１３  変換テーブル。
【図１】
2004152201.tif 000003
【図２】
2004152201.tif 000004
【図３】
2004152201.tif 000005
【図４】
2004152201.tif 000006
【図５】
2004152201.tif 000007
【図６】
2004152201.tif 000008
【図７】
2004152201.tif 000009