(57)【特許請求の範囲】
【請求項１】
コプロセッサに接続されるプロセッサであって、
前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
前記プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
前記依存可能性表示データは、第二のコプロセッサ命令に結合されると共に、第二のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサ。
【請求項２】
コプロセッサに接続されるプロセッサであって、
前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
前記プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
前記依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサ。
【請求項３】
少なくとも二つのコプロセッサに接続され、
前記信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、
前記命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項１又は２に記載のプロセッサ。
【請求項４】
前記命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項１又は２に記載のプロセッサ。
【請求項５】
コプロセッサと、前記コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、前記主プロセッサは、
前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
前記主プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
前記依存可能性表示データは、第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサシステム。
【請求項６】
コプロセッサと、前記コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、前記主プロセッサは、
前記コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、
前記コプロセッサが前記第一のコプロセッサ命令を実行中であることを示す実行表示信号が前記信号生成手段から供給されている場合には、前記信号生成手段から前記実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、
前記主プロセッサは、前記コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、前記第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、前記第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、前記第一のコプロセッサ命令の実行が完了した後に前記第二のコプロセッサ命令を前記コプロセッサへ発行し、
前記依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサシステム。
【請求項７】
少なくとも二つのコプロセッサを備え、
前記信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、
前記命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項５又は６に記載のプロセッサシステム。
【請求項８】
前記命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行することを特徴とする請求項５又は６に記載のプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサとプロセッサシステムに関し、さらに詳しくは所定の制御方法によりコプロセッサに命令を発行するプロセッサと、該プロセッサ及びコプロセッサからなるプロセッサシステムに関するものである。
【０００２】
【従来の技術】
図１は、従来のプロセッサシステムの構成を示す図である。図１に示されるように、従来のプロセッサシステムは主プロセッサ１と、主プロセッサ１に接続されたメモリ３と、主プロセッサ１に接続されたコプロセッサＣＰＲ０〜ＣＰＲｎとを備える。ここで、主プロセッサ１はメモリ３に接続された命令フェッチ部５と、命令フェッチ部５に接続された命令実行部７と、命令実行部７に接続されたコプロセッサ指定レジスタ（ＣＲ）１１と、命令フェッチ部５及びＣＲ１１に接続されたコプロセッサ命令制御部１３と、コプロセッサ命令制御部１３及び命令実行部７に接続されたレジスタ９とを含む。
【０００３】
また図２は、図１に示されたコプロセッサ命令制御部１３と命令実行部７の構成を示す図である。図２に示されるように、コプロセッサ命令制御部１３は、命令レジスタ１００と、リソース判断部１０２と、リソースデコード部１０３と、例外デコード部１０４と、例外判断部１０６と、発行制御部１０９と、完了制御部１１０と、スコアボード１１１とを備える。ここで、命令レジスタ１００は命令フェッチ部５に接続され、リソースデコード部１０３は命令レジスタ１００に接続される。また、リソース判断部１０２はリソースデコード部１０３に接続され、例外デコード部１０４は命令レジスタ１００に接続される。そして、例外判断部１０６は例外デコード部１０４に接続され、発行制御部１０９は命令レジスタ１００とリソース判断部１０２及び例外判断部１０６に接続される。さらに、発行制御部１０９と完了制御部１１０は共に、コプロセッサＣＰＲ０〜ＣＰＲｎとレジスタ９に接続される。また、スコアボード１１１は発行制御部１０９及び完了制御部１１０とリソース判断部１０２及び例外判断部１０６に接続される。なお、例外判断部１０６と発行制御部１０９はＣＲ１１に接続される。
【０００４】
一方、命令実行部７はデコード部１１５と、書込制御部１２９と、実行制御部１３１とを備える。ここで、デコード部１１５は命令フェッチ部５に接続され、書込制御部１２９及び実行制御部１３１はレジスタ９とデコード部１１５に接続される。なお、書込制御部１２９はＣＲ１１に接続される。
上記のような構成を有するプロセッサシステムにおいては、命令フェッチ部５はメモリ３から命令を読み出すが、コプロセッサ指定レジスタ１１を書き換える命令を読み出した場合は、その命令を命令実行部７へ供給する。また、コプロセッサ命令を読み出した場合は、その命令をコプロセッサ命令制御部１３へ供給する。なお、上記以外の命令を読み出した場合には、その命令を命令実行部７へ供給する。
【０００５】
また、命令実行部７は供給された命令を実行し、例えばコプロセッサ指定レジスタ１１を書き換える命令が供給された場合には、書込制御部１２９によりＣＲ１１を書き換える。
一方、コプロセッサ命令制御部１３は、発行制御部１０９及び完了制御部１１０やスコアボード１１１等によってコプロセッサＣＰＲ１〜ＣＰＲｎにおけるコプロセッサ命令の実行を制御し、そのうち発行制御部１０９は主プロセッサ１からコプロセッサＣＰＲ１〜ＣＰＲｎへの命令発行動作を制御する。また、命令フェッチ部５より供給されたコプロセッサ命令が先行コプロセッサ命令に対してデータ依存が無いとリソース判断部１０２で判断され、処理の例外による制御依存が無いと例外判断部１０６で判断される場合には、発行制御部１０９はコプロセッサ命令をＣＲ１１により指定されたコプロセッサへ信号Ｉｎ（ｎは０以上の整数）として発行すると共に、信号Ｉｎを発行した旨の情報（発行情報）をスコアボード１１１に書き込む。ここで、「データ依存」とは、先行するコプロセッサ命令の実行結果に基づいて、初めて後のコプロセッサ命令の実行が可能となることをいう。
【０００６】
ここで、「処理の例外による制御依存」とは、例えば０の値で除算することや浮動小数点を用いた演算においてオーバーフローを生じるなどという処理の例外を招き演算を継続できない状況となりうることをいう。
一方、リソース判断部１０２においてデータ依存があると判断される場合には、発行制御部１０９は該コプロセッサ命令が依存する先行コプロセッサ命令の完了を待った後に該コプロセッサ命令をＣＲ１１に指定されたコプロセッサへ信号Ｉｎとして発行し、信号Ｉｎを発行した旨の情報（発行情報）をスコアボード１１１に書き込む。なお、コプロセッサ命令制御部１３は、完了制御部１１０においてコプロセッサ命令の発行先であるコプロセッサから完了信号Ｃｎ（ｎは０以上の整数）を受領することによりコプロセッサ命令の実行完了が通知される。このとき、完了制御部１１０は完了信号Ｃｎに応じてスコアボード１１１に書き込まれている信号Ｉｎを発行した旨の発行情報を削除する。
【０００７】
また、コプロセッサ指定レジスタ（ＣＲ）１１は、操作対象のコプロセッサＣＰＲｎ（ｎは０以上の整数）の番号を指定する。また、メモリ３はコプロセッサ命令を含む主プロセッサ１への命令を記憶し、レジスタ９はコプロセッサに与えるデータ及びコプロセッサにおける実行結果を格納する。なお、レジスタ９は複数の記憶部からなる。
【０００８】
図３は、コプロセッサ命令の命令形式の一例を示す図である。ここで、命令コードOP-CODE はコプロセッサＣＰＲ０〜ＣＰＲｎで実行すべき処理を示し、オペランド１〜ｎはコプロセッサに与えるデータを保持しているレジスタ内の記憶部の番号、あるいはコプロセッサによる実行結果を格納するレジスタ内の記憶部の番号を意味する。
【０００９】
図４は、ＣＲ１１を書き換える命令の命令形式を示す図である。図４に示されるオペランド１は、ＣＲ１１へ書込まれた値を保持するレジスタ９内のいずれかの記憶部を指定する。なお、図４の命令コードOP-CODE とオペランド１との間には、任意の情報が記録される。
次に、上記のプロセッサシステムにおけるコプロセッサ命令の発行動作を説明する。コプロセッサ命令制御部１３の発行制御部１０９は、供給されたコプロセッサ命令が処理の例外を発生する可能性がなく先行するコプロセッサ命令とのデータ依存がない場合には該コプロセッサ命令を発行すると共に発行情報をスコアボード１１１へ書き込み、処理の例外を発生する可能性がないが先行するコプロセッサ命令とのデータ依存がある場合には、該先行するコプロセッサ命令の実行完了を待った後に次のコプロセッサ命令を発行し発行情報をスコアボード１１１へ書き込む。
【００１０】
一方、コプロセッサ命令制御部１３の発行制御部１０９は、供給されたコプロセッサ命令が処理の例外を発生する可能性があり先行するコプロセッサ命令とのデータ依存がない場合には該コプロセッサ命令を発行すると共に発行情報をスコアボード１１１へ書き込み、処理の例外を発生する可能性があり先行するコプロセッサ命令とのデータ依存もある場合には、該先行するコプロセッサ命令の実行完了を待った後に次のコプロセッサ命令を発行し発行情報をスコアボード１１１へ書き込む。
【００１１】
上記のようなプロセッサシステムにおいては一般的に、命令発行能力を向上させる手法として、投機的命令実行（speculative execution ）が知られている。そして、この投機的命令実行をコプロセッサに対する命令発行制御方式として用いる場合には、データ依存や処理の例外による制御依存を保証する必要がある。しかしながら、コプロセッサを有する従来のプロセッサシステムにおいては、上記のようにコプロセッサ命令制御部１３が、命令フェッチ部５から供給されたコプロセッサ命令に含まれた命令コードによって該コプロセッサ命令が処理の例外による制御依存を発生させるものか否かを判定し、その判定結果に基づいて上記のように該コプロセッサ命令の発行を行っていた。ここで、コプロセッサ命令は各コプロセッサＣＰＲ０〜ＣＰＲｎに対応するものであるため、主プロセッサ１、特にそのうちコプロセッサ命令制御部１３の構造は、主プロセッサ１に接続されるコプロセッサＣＰＲ０〜ＣＰＲｎの種類により異なるものとせざるを得ないという問題があった。
【００１２】
【発明が解決しようとする課題】
本発明は、上述の問題点を解消するためになされたものであり、接続されるコプロセッサの種類もしくは供給されるコプロセッサ命令の種類によらず、処理の例外による制御依存の発生する可能性を踏まえた効率的なコプロセッサ命令の処理を実現するプロセッサと、該プロセッサを備えたプロセッサシステムを提供することを目的とする。
【００１３】
【課題を解決するための手段】
上記の目的は、コプロセッサに接続されるプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、第二のコプロセッサ命令に結合されると共に、第二のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサを提供することにより達成される。このような手段によれば、プロセッサは第二のコプロセッサ命令ではなく依存可能性表示データに基づいて第二のコプロセッサ命令の制御依存性を判断するため、プロセッサの構成をコプロセッサの種類に依らず決定することができる。
【００１４】
また、本発明の目的は、コプロセッサに接続されたプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサを提供することにより達成される。
【００１５】
また、本発明の目的は、コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、主プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令が前記コプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令を前記コプロセッサへ発行し、依存可能性表示データは、第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなることを特徴とするプロセッサシステムを提供することにより達成される。このような手段によれば、主プロセッサは第二のコプロセッサ命令ではなく依存可能性表示データに基づいて第二のコプロセッサ命令の制御依存性を判断するため、主プロセッサの構成をコプロセッサの種類に依らず決定することができる。
【００１６】
さらに本発明の目的は、コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備え、主プロセッサは、コプロセッサにおける実行を命令する第二のコプロセッサ命令が供給されたときに、第二のコプロセッサ命令に対応する依存可能性表示データに基づいて、第二のコプロセッサ命令がコプロセッサにおいて先に実行される第一のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第一のコプロセッサ命令の実行が完了した後に第二のコプロセッサ命令をコプロセッサへ発行し、依存可能性表示データは、供給される信号により書き換え可能なフラグに格納されることを特徴とするプロセッサシステムを提供することによっても達成される。
【００１７】
【発明の実施の形態】
以下において、本発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。
［実施の形態１］
図５は、本発明の実施の形態１に係るプロセッサシステムの構成を示す図である。図５に示されるように、このプロセッサシステムは図１に示された従来のプロセッサシステムに対し、主プロセッサ１５に含まれたコプロセッサ命令制御部１９の構成が相違するものである。
【００１８】
図６は、図５に示されたコプロセッサ命令制御部１９と命令実行部７の構成を示す図である。図６に示されるように、コプロセッサ命令制御部１９は、命令レジスタ１０１と、リソース判断部１０２と、リソースデコード部１０３と、例外判断部１０７と、発行制御部１０９と、完了制御部１１０と、スコアボード１１２とを備える。ここで、命令レジスタ１０１は命令フェッチ部５に接続され、リソースデコード部１０３は命令レジスタ１０１に接続される。また、リソース判断部１０２はリソースデコード部１０３に接続される。そして、例外判断部１０７は命令レジスタ１０１に接続され、発行制御部１０９は命令レジスタ１０１とリソース判断部１０２及び例外判断部１０７に接続される。さらに、発行制御部１０９と完了制御部１１０は共に、コプロセッサＣＰＲ０〜ＣＰＲｎとレジスタ９に接続される。また、スコアボード１１２は発行制御部１０９及び完了制御部１１０とリソース判断部１０２に接続される。なお、発行制御部１０９はＣＲ１１に接続される。
【００１９】
一方、命令実行部７はデコード部１１６と、書込制御部１２９と、実行制御部１３１とを備える。ここで、デコード部１１６は命令フェッチ部５に接続され、書込制御部１２９及び実行制御部１３１はレジスタ９とデコード部１１６に接続される。なお、書込制御部１２９はＣＲ１１に接続される。
上記のような構成を有する本実施の形態に係るメモリ１７には、図７に示された形式を有するコプロセッサ命令が予め記憶される。図７に示されたコプロセッサ命令の形式は、図３に示されたコプロセッサ命令の形式に対して、処理の例外による制御依存が発生する可能性があるコプロセッサ命令であるか否かを示すフィールドＥＸＣＥＰがオペランドｎに結合される点で相違する。そして、このフィールドＥＸＣＥＰは処理の例外による制御依存が発生する可能性がある場合には１が記録され、該可能性がない場合には０があらかじめ記録される。なお上記のように、「処理の例外による制御依存」とは、例えば０の値で除算することや浮動小数点を用いた演算においてオーバーフローを生じるなどという処理の例外を招き演算を継続できない状況となりうることをいう。
【００２０】
上記のような形式を有するコプロセッサ命令が命令フェッチ部５を介してコプロセッサ命令制御部１９の命令レジスタ１０１へ供給された場合の、コプロセッサ命令制御部１９の動作について以下に説明する。命令レジスタ１０１へ供給されたコプロセッサ命令は、リソースデコード部１０３により解析される。そして、リソース判断部１０２は該解析結果とスコアボード１１２から供給された実行中の命令に対応する発行情報に基いて、命令フェッチ部５から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令にデータ依存するものか否かを判断し、その判断結果を発行制御部１０９へ通知する。
【００２１】
一方、例外判断部１０７が、供給されたコプロセッサ命令のフィールドＥＸＣＥＰに書き込まれているデータの値は０であると判断した場合には、発行制御部１０９は命令フェッチ部５から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がないとリソース判断部１０２によって判断されるとき、コプロセッサ命令をＣＲ１１に指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。又逆に、リソース判断部１０２により該データ依存があると判断される場合には、発行制御部１０９は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
【００２２】
一方、供給されたコプロセッサ命令のフィールドＥＸＣＥＰが１の場合には、発行制御部１０９は常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
このように本実施の形態に係るコプロセッサ命令制御部１９においては、先に実行される命令に関する情報ではなく、コプロセッサ命令のフィールドＥＸＣＥＰに書き込まれた情報によりコプロセッサ命令の発行タイミングを決定するため、スコアボード１１２等から例外判断部１０への配線が不要になると共に、フラグ検出部１０５より回路規模の大きな例外デコード部１０４も不要になる。
【００２３】
従って、本実施の形態１に係るプロセッサシステムによれば、回路規模を小さくできると共に、主プロセッサ１５は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、オペランドｎに結合したフィールドＥＸＣＥＰに記録された情報によりコプロセッサ命令の発行タイミングを決定するため、メモリ１７から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
［実施の形態２］
図８は、本発明の実施の形態２に係るプロセッサシステムの構成を示す図である。図８に示されるように、このプロセッサシステムは図１に示された従来のプロセッサシステムに対し、主プロセッサ２１に含まれた命令フェッチ部２４やコプロセッサ命令制御部２５や命令実行部２７の構成が相違し、命令実行部２７に接続されたフラグ２９をさらに備えたものである。
【００２４】
また、図９は図８に示されたコプロセッサ命令制御部２５と命令実行部２７の構成を示す図である。図９に示されるように、コプロセッサ命令制御部２５及び命令実行部２７はそれぞれ図６に示されたコプロセッサ命令制御部１９及び命令実行部７と同様な構成を有するが、コプロセッサ命令制御部２５はフラグ２９に接続された例外判断部１０８を備え、命令実行部２７はデコード部１１７及びレジスタ２６に接続されフラグ２９への書き込みを制御するフラグ書込制御部１３３をさらに備える点で相違する。
【００２５】
以下に、図１に示された従来のプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ２３には、図４に示された形式と同様の形式を有しフラグ２９を書き換える命令も予め記憶される。なお、この場合には図４に示されたオペランド１には、フラグ２９への書込み値（０または１）を保持するレジスタ２６内の記憶部の番号が記録される。また、命令フェッチ部２４はフラグ２９の値を書き換える上記命令を読み出した場合にはその命令を命令実行部２７へ供給し、命令実行部２７に含まれたフラグ書込制御部１３３は該命令を受領してフラグ２９の値を書き換える。
【００２６】
また、命令実行部２７に接続されたフラグ２９は、主プロセッサ２１よりコプロセッサＣＰＲ０〜ＣＰＲｎへ処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行することを示すものであり、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行する場合には予め命令実行部２７に含まれたフラグ書込制御部１３３により１が設定され、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行しない場合には予め命令実行部２７に含まれたフラグ書込制御部１３３により０が設定される。
【００２７】
また、コプロセッサ命令制御部２５の動作について以下に説明する。供給されたコプロセッサ命令を発行する際、例外判断部１０８によりフラグ２９が０と判断された場合には、命令フェッチ部２４から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、発行制御部１０９はコプロセッサ命令をＣＲ１１に指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。又逆に該データ依存があると発行制御部１０９により判断される場合には、依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
【００２８】
一方、供給されたコプロセッサ命令を発行する際、例外判断部１０８によりフラグ２９が１と判断された場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、発行制御部１０９はコプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
【００２９】
以上より本実施の形態２に係るプロセッサシステムによっても、主プロセッサ２１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ２９の値によりコプロセッサ命令の発行タイミングを決定するため、メモリ２３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
［実施の形態３］
図１０は、本発明の実施の形態３に係るプロセッサシステムの構成を示す図である。図１０に示されるように、このプロセッサシステムは図８に示された実施の形態２に係るプロセッサシステムと同様な構成を有するが、主プロセッサ２１に含まれた命令フェッチ部３４やコプロセッサ命令制御部３５や命令実行部３７の構成が相違し、命令実行部３７に直列接続されると共にそれぞれのコプロセッサＣＰＲ０〜ＣＰＲｎに対応して設けられたｎ個のフラグを備えたものである。
【００３０】
また、図１１は図１０に示されたコプロセッサ命令制御部３５と命令実行部３７の構成を示す図である。図１１に示されるように、コプロセッサ命令制御部３５及び命令実行部３７はそれぞれ図９に示されたコプロセッサ命令制御部２５及び命令実行部２７と同様な構成を有するが、コプロセッサ命令制御部３５はフラグ０からフラグｎに接続された例外判断部１０８を備え、命令実行部３７はデコード部１１８及びレジスタ３６に接続されフラグ０からフラグｎへの書き込みを制御するフラグ書込制御部１３４を備える点で相違する。
【００３１】
以下に、図８に示された実施の形態２に係るプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ３３には、図１２に示された形式を有しフラグ０からフラグｎのうち少なくとも一つを書き換える命令も予め記憶される。なお、図１２に示されたオペランド１には、０又は１の書込み値を書込むフラグを指定する番号が記録され、オペランド２にはオペランド１において指定したフラグへの書込み値（０または１）を保持するレジスタ３６内の記憶部の番号が記録される。また、命令フェッチ部３４は所定のフラグを書き換える上記命令を読み出した場合には、その命令を命令実行部３７へ供給し、フラグ書込制御部１３４は該命令を受領して該命令のオペランド２において指定されたレジスタ３６内の所定の記憶部に格納されている書込み値を、オペランド１において指定された所定のフラグに書込む。
【００３２】
また、命令実行部３７に直列接続されたｎ個のフラグは、対応するコプロセッサＣＰＲ０〜ＣＰＲｎに対して、主プロセッサ３１よりコプロセッサＣＰＲ０〜ＣＰＲｎへ処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行することを示すものであり、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行する場合には予め命令実行部３７のフラグ書込制御部１３４により１が設定され、処理の例外による制御依存が発生する可能性があるコプロセッサ命令を発行しない場合には予め命令実行部３７のフラグ書込制御部１３４により０が設定される。
【００３３】
また、コプロセッサ命令制御部３５の動作について以下に説明する。供給されたコプロセッサ命令を発行する際、例外判断部１０８により該コプロセッサ命令が実行されるコプロセッサに対応するフラグが０であると判断される場合には、命令フェッチ部３４から供給されたコプロセッサ命令が、該コプロセッサにおいて先に実行されるコプロセッサ命令とのデータ依存がない場合に、発行制御部１０９はコプロセッサ命令をＣＲ１１に指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。又逆に該データ依存がある場合には、発行制御部１０９は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
【００３４】
一方、供給されたコプロセッサ命令を発行する際、例外判断部１０８により該コプロセッサ命令が実行されるコプロセッサに対応するフラグが１であると判断される場合には、発行制御部１０９は常に、該コプロセッサにおいて先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令を該コプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１２へ書き込む。
【００３５】
以上より本実施の形態３に係るプロセッサシステムによれば、上記実施の形態２に係るプロセッサシステムと同様な効果を奏すると共に、さらに主プロセッサ３１は個々のコプロセッサＣＰＲ０〜ＣＰＲｎ毎に、これから実行するコプロセッサ命令の制御依存性を判断するため、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令が発行される。従って、コプロセッサ命令をコプロセッサＣＰＲ０〜ＣＰＲｎへより効率的に発行することができる。
［実施の形態４］
図１３は、本発明の実施の形態４に係るプロセッサシステムの構成を示す図である。図１３に示されるように、このプロセッサシステムは図５に示された実施の形態１に係るプロセッサシステムと同様な構成を有するが、主プロセッサ４１に含まれた命令フェッチ部４４やコプロセッサ命令制御部４５や命令実行部４７の構成が相違するものである。
【００３６】
また、図１４は図１３に示されたコプロセッサ命令制御部４５と命令実行部４７の構成を示す図である。図１４に示されるように、コプロセッサ命令制御部４５及び命令実行部４７はそれぞれ図６に示されたコプロセッサ命令制御部１９及び命令実行部７と同様な構成を有するが、命令実行部４７はデコード部１１９に接続された同期制御部１３５をさらに備え、コプロセッサ命令制御部４５は同期制御部１３５に接続されたスコアボード１１２を備える点で相違する。
【００３７】
以下に、図５に示された上記実施の形態１に係るプロセッサシステムと相違する点について詳しく説明する。
まず、本実施の形態に係るメモリ４３には、図１５に示された形式を有し実行中のコプロセッサ命令の実行完了を待つ命令も予め記憶される。また、命令フェッチ部４４は実行中のコプロセッサ命令の実行完了を待つ上記命令を読み出した場合にはその命令を命令実行部４７へ供給し、命令実行部４７の同期制御部１３５は該命令を受領したときコプロセッサ命令制御部４５のスコアボード１１３から０の値を有する信号busyが供給されていれば、次のプロセッサ実行命令を実行する。一方、命令実行部４７の同期制御部１３５は上記命令を受領したときコプロセッサ命令制御部４５のスコアボード１１３から１の値を有する信号busyが供給されていれば、信号busyが０となった時点で、該プロセッサ実行命令を実行し完了させる。
【００３８】
また、コプロセッサ命令制御部４５のスコアボード１１３は、いずれかのコプロセッサがコプロセッサ命令を実行中である場合には１の値を有する信号busyを命令実行部４７の同期制御部１３５へ供給し、いずれのコプロセッサにおいてもコプロセッサ命令を実行中でない場合には０の値を有する信号busyを命令実行部４７の同期制御部１３５へ供給する。
【００３９】
以上より本実施の形態４に係るプロセッサシステムによっても、主プロセッサ４１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、現在いずれかのコプロセッサがコプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行しコプロセッサ命令の発行タイミングを決定するため、メモリ４３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
［実施の形態５］
図１６は、本発明の実施の形態５に係るプロセッサシステムの構成を示す図である。図１６に示されるように、このプロセッサシステムは図１３に示された実施の形態４に係るプロセッサシステムと同様な構成を有するが、主プロセッサ５１に含まれた命令フェッチ部５４、コプロセッサ命令制御部５５、命令実行部５７の構成が相違し、さらにフラグ２９を備えたものである。なお、このフラグ２９は図８に示された実施の形態２に係るフラグ２９と同じものである。
【００４０】
また、図１７は図１６に示されたコプロセッサ命令制御部５５と命令実行部５７の構成を示す図である。図１７に示されるように、コプロセッサ命令制御部５５及び命令実行部５７はそれぞれ図１４に示されたコプロセッサ命令制御部４５及び命令実行部４７と同様な構成を有するが、コプロセッサ命令制御部５５はフラグ２９に接続された例外判断部１０８を備え、命令実行部４７はデコード部１２０及びレジスタ２６に接続されフラグ２９への書き込みを制御するフラグ書込制御部１３３を備える点で相違する。
【００４１】
従って、本実施の形態５に係るプロセッサシステムは、上記実施の形態２に係るプロセッサシステムと実施の形態４に係るプロセッサシステムの両方の機能を有するものである。すなわち、コプロセッサ命令制御部５５の発行制御部１０９は供給されたコプロセッサ命令を発行する際フラグ２９が０の場合には、命令フェッチ部５４から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、コプロセッサ命令をＣＲ１１に指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１３へ書き込む。又逆に該データ依存がある場合には、依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１３へ書き込む。
【００４２】
一方、供給されたコプロセッサ命令を発行する際フラグ２９が１の場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１３へ書き込む。このときコプロセッサ命令制御部５５は、コプロセッサがコプロセッサ命令を実行中である場合には１の値を有する信号busyを命令実行部５７へ供給し、コプロセッサがコプロセッサ命令を実行中でない場合には０の値を有する信号busyを命令実行部５７へ供給する。
【００４３】
そして、命令実行部５７は実行中のコプロセッサ命令の実行完了を待つ命令を受領したときコプロセッサ命令制御部５５から０の値を有する信号busyが供給されていれば、次のプロセッサ実行命令を実行する。一方、命令実行部５７は上記命令を受領したときコプロセッサ命令制御部５５から１の値を有する信号busyが供給されていれば、信号busyが０となった時点で、該プロセッサ実行命令を実行し完了させる。
【００４４】
以上より本実施の形態５に係るプロセッサシステムによれば、主プロセッサ５１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ２９の値及び現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてコプロセッサ命令の発行タイミングを決定するため、メモリ５３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
［実施の形態６］
図１８は、本発明の実施の形態６に係るプロセッサシステムの構成を示す図である。図１８に示されるように、このプロセッサシステムは図１６に示された実施の形態５に係るプロセッサシステムと同様な構成を有するが、主プロセッサ６１に含まれた命令フェッチ部６４、コプロセッサ命令制御部６５、命令実行部６７やレジスタ６６の構成が相違し、さらに複数のフラグ０からフラグｎを備えたものである。なお、この複数のフラグは図１０に示された実施の形態３に係る複数のフラグ０からフラグｎと同じものである。
【００４５】
また、図１９は図１８に示されたコプロセッサ命令制御部６５と命令実行部６７の構成を示す図である。図１９に示されるように、コプロセッサ命令制御部６５及び命令実行部６７はそれぞれ図１７に示されたコプロセッサ命令制御部５５及び命令実行部５７と同様な構成を有するが、コプロセッサ命令制御部６５はフラグ０からフラグｎに接続された例外判断部１０８を備え、命令実行部６７はデコード部１２１及びレジスタ６６に接続されフラグ０からフラグｎへの書き込みを制御するフラグ書込制御部１３４を備える点で相違する。
【００４６】
従って、本実施の形態６に係るプロセッサシステムは、上記実施の形態３に係るプロセッサシステムと実施の形態４に係るプロセッサシステムの両方の機能を有するものである。そして、このような構成を有するプロセッサシステムによれば、主プロセッサ６１は個々のコプロセッサＣＰＲ０〜ＣＰＲｎ毎に、これから実行するコプロセッサ命令の制御依存性を判断し、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令を発行するため、コプロセッサ命令をコプロセッサＣＰＲ０〜ＣＰＲｎへ効率的に発行することができる。
【００４７】
また、主プロセッサ６１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてコプロセッサ命令の発行タイミングを決定するため、メモリ６３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することもできる。
［実施の形態７］
図２０は、本発明の実施の形態７に係るプロセッサシステムの構成を示す図である。図２０に示されるように、このプロセッサシステムは図１３に示された実施の形態４に係るプロセッサシステムと同様な構成を有するが、主プロセッサ７１に含まれた命令フェッチ部７４やコプロセッサ命令制御部７５や命令実行部７７の構成が相違するものである。
【００４８】
また、図２１は図２０に示されたコプロセッサ命令制御部７５と命令実行部７７の構成を示す図である。図２１に示されるように、コプロセッサ命令制御部７５及び命令実行部７７はそれぞれ図１４に示されたコプロセッサ命令制御部４５及び命令実行部４７と同様な構成を有するが、コプロセッサ命令制御部７５は各コプロセッサＣＰＲ０〜ＣＰＲｎに対応した信号busyn （n は０以上の整数）を出力するスコアボード１１４を備え、命令実行部７７はデコード部１２２及びレジスタ９に接続され上記信号busyn が供給される同期制御部１３６を備える点で相違する。
【００４９】
以下に、図１３に示された上記実施の形態４に係るプロセッサシステムと相違する点について説明する。
まず、本実施の形態に係るメモリ７３には、指定するコプロセッサにおいて実行中のコプロセッサ命令の実行完了を待つ図３３に示された形式の命令も予め記憶される。ここで、図３３に示されたオペランドには実行完了待ちの対象とするコプロセッサを指定する情報が記録される。
【００５０】
また、命令フェッチ部７４は指定されたコプロセッサにて実行中のコプロセッサ命令の実行完了を待つ命令を読み出した場合にはその命令を命令実行部７７へ供給する。そして命令実行部７７の同期制御部１３６は、供給された命令において指定されるコプロセッサCPRnに対応したコプロセッサ命令制御部７５から供給される信号busyn （n は０以上の整数）が０の値を有していれば、プロセッサ実行命令を実行する。一方、命令実行部７７の同期制御部１３６は上記命令を受領したとき指定されたコプロセッサCPRnに関してコプロセッサ命令制御部７５から１の値を有する信号busyn が供給されていれば、信号busyn が０となった時点で、該プロセッサ実行命令を実行し完了させる。
【００５１】
また、コプロセッサ命令制御部７５のスコアボード１１４は、指定されたコプロセッサCPRnがコプロセッサ命令を実行中である場合には１の値を有する信号busyn を命令実行部７７の同期制御部１３６へ供給し、指定されたコプロセッサCPRnがコプロセッサ命令を実行中でない場合には０の値を有する信号busyn を命令実行部７７の同期制御部１３６へ供給する。
【００５２】
以上より本実施の形態７に係るプロセッサシステムによれば、上記実施の形態４に係るプロセッサシステムと同様な効果を奏すると共に、さらに主プロセッサ７１は個々のコプロセッサＣＰＲ０〜ＣＰＲｎ毎に、コプロセッサ命令を実行中であるか否か判断するため、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなく指定されたコプロセッサへコプロセッサ命令が発行される。従って、コプロセッサ命令をコプロセッサＣＰＲ０〜ＣＰＲｎへより効率的に発行することができる。
【００５３】
またさらに、本実施の形態７に係るプロセッサシステムにおいては、上記実施の形態１に係るコプロセッサ命令のように処理の例外による制御依存が発生する可能性があるか否かを示すフィールドＥＸＣＥＰがオペランドに結合されたコプロセッサ命令を予めメモリ７３に記憶させ、係る命令形式に対応した構成を有するものとすることができる。
【００５４】
すなわち、このような構成におけるコプロセッサ命令制御部７５の発行制御部１０９は、供給された上記コプロセッサ命令のフィールドＥＸＣＥＰが０の場合には、命令フェッチ部７４から供給されたコプロセッサ命令が先に実行されるコプロセッサ命令とのデータ依存がない場合に、コプロセッサ命令をＣＲ１１に指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１４へ書き込む。又逆に該データ依存がある場合には、コプロセッサ命令制御部７５は依存しているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１４へ書き込む。
【００５５】
一方、供給されたコプロセッサ命令のフィールドＥＸＣＥＰが１の場合には、常に、先に実行されているコプロセッサ命令の完了を待った後、コプロセッサ命令をＣＲ１１にて指定されたコプロセッサへ発行信号Ｉｎを通じて発行し、発行情報をスコアボード１１４へ書き込む。
以上の構成を有するプロセッサシステムによれば、主プロセッサ７１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、オペランドに結合したフィールドＥＸＣＥＰに記録された情報によりコプロセッサ命令の発行タイミングを決定するため、メモリ７３から供給されるコプロセッサ命令の種類によらずさらに効率的な命令発行動作を実現することができる。
【００５６】
なお、本実施の形態においてはさらに、ｎ個の信号busyn が全て０となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図２２は、このようなシステムにおける命令実行部７８の構成を示す図である。図２２に示されるように、命令実行部７８はデコード部１２３及びレジスタ部９に接続されｎ個の信号busyn が供給される第一同期制御部１３７をさらに備え、第一同期制御部１３７は上記ｎ個の信号busyn が全て０となったときにプロセッサ実行命令を実行し完了させる。
［実施の形態８］
図２４は、本発明の実施の形態８に係るプロセッサシステムの構成を示す図である。図２４に示されるように、このプロセッサシステムは図２０に示された実施の形態７に係るプロセッサシステムと同様な構成を有するが、主プロセッサ８１に含まれた命令フェッチ部８４、コプロセッサ命令制御部８５、命令実行部８７の構成が相違し、さらにフラグ２９を備えたものである。なお、このフラグ２９は図８に示された実施の形態２に係るフラグ２９と同じものである。
【００５７】
また、図２５は図２４に示されたコプロセッサ命令制御部８５と命令実行部８７の構成を示す図である。図２５に示されるように、コプロセッサ命令制御部８５及び命令実行部８７はそれぞれ図２１に示されたコプロセッサ命令制御部７５及び命令実行部７７と同様な構成を有するが、コプロセッサ命令制御部８５はフラグ２９に接続された例外判断部１０８を備え、命令実行部８７はデコード部１２４及びレジスタ２６に接続されフラグ２９への書き込みを制御するフラグ書込制御部１３３をさらに備える点で相違する。
【００５８】
従って、本実施の形態８に係るプロセッサシステムは、上記実施の形態７に係るプロセッサシステムと実施の形態２に係るプロセッサシステムの両方の機能を有するものである。
ここで、本実施の形態８に係るプロセッサシステムによれば、上記実施の形態７に係るプロセッサシステムと同様の効果を得ることができるとともに、主プロセッサ８１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらずフラグ２９の値に応じてコプロセッサ命令の発行タイミングを決定するため、メモリ８３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することができる。
【００５９】
またさらに、本実施の形態８に係るプロセッサシステムにおいては、実施の形態４に記されたコプロセッサ命令の実行完了を待つ命令もメモリ８３へ予め記憶させ、実施の形態４に係るプロセッサシステムと同様に上記命令の実行も可能なものとすることができる。このような構成を有するプロセッサシステムによれば、主プロセッサ８１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、少なくとも一つのコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行してコプロセッサ命令の発行タイミングを決定するため、メモリ８３から供給されるコプロセッサ命令の種類に応じてさらに効率的な命令発行動作を実現することができる。
【００６０】
なお、本実施の形態においてはさらに、ｎ個の信号busyn が全て０となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図２６は、このようなシステムにおける命令実行部８８の構成を示す図である。図２６に示されるように、命令実行部８８はデコード部１２５及びレジスタ部２６に接続されｎ個の信号busyn が供給される第一同期制御部１３７をさらに備え、第一同期制御部１３７は上記ｎ個の信号busyn が全て０となったときにプロセッサ実行命令を実行し完了させる。
［実施の形態９］
図２７は、本発明の実施の形態９に係るプロセッサシステムの構成を示す図である。図２７に示されるように、このプロセッサシステムは図２４に示された実施の形態８に係るプロセッサシステムと同様な構成を有するが、主プロセッサ９１に含まれた命令フェッチ部９４、コプロセッサ命令制御部９５、命令実行部９７やレジスタ６６の構成が相違し、さらに複数のフラグ０からフラグｎを備えたものである。なお、この複数のフラグは図１０に示された実施の形態３に係る複数のフラグ０からフラグｎと同じものである。
【００６１】
また、図２８は図２７に示されたコプロセッサ命令制御部９５と命令実行部９７の構成を示す図である。図２８に示されるように、コプロセッサ命令制御部９５及び命令実行部９７はそれぞれ図２５に示されたコプロセッサ命令制御部８５及び命令実行部８７と同様な構成を有するが、コプロセッサ命令制御部９５はフラグ０からフラグｎに接続された例外判断部１０８を備え、命令実行部９７はデコード部１２６及びレジスタ６６に接続されフラグ０からフラグｎへの書き込みを制御するフラグ書込制御部１３４を備える点で相違する。
【００６２】
従って、本実施の形態９に係るプロセッサシステムは、上記実施の形態３に係るプロセッサシステムと実施の形態７に係るプロセッサシステムの両方の機能を有するものである。そして、このような構成を有するプロセッサシステムによれば、主プロセッサ９１は個々のコプロセッサＣＰＲ０〜ＣＰＲｎ毎に、これから実行するコプロセッサ命令の制御依存性を判断し、他のコプロセッサで実行されるコプロセッサ命令の発行を待つことなくコプロセッサ命令を発行するため、コプロセッサ命令をコプロセッサＣＰＲ０〜ＣＰＲｎへ効率的に発行することができる。
【００６３】
また、主プロセッサ９１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、指定されたコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyn に応じてコプロセッサ毎にコプロセッサ命令の発行タイミングを決定するため、メモリ９３から供給されるコプロセッサ命令の種類によらず効率的な命令発行動作を実現することもできる。
【００６４】
またさらに、本実施の形態９に係るプロセッサシステムにおいては、実施の形態４に記されたコプロセッサ命令の実行完了を待つ命令もメモリ９３へ予め記憶させ、実施の形態４に係るプロセッサシステムと同様に上記命令の実行も可能なものとすることができる。このような構成を有するプロセッサシステムによれば、主プロセッサ９１は供給されたコプロセッサ命令に含まれる命令コードを読みだすことによらず、少なくとも一つのコプロセッサが現在コプロセッサ命令を実行中であるか否かを示す信号busyに応じてプロセッサ実行命令を実行してコプロセッサ命令の発行タイミングを決定するため、メモリ９３から供給されるコプロセッサ命令の種類に応じてさらに効率的な命令発行動作を実現することができる。
【００６５】
なお、本実施の形態においてはさらに、ｎ個の信号busyn が全て０となったときに初めて命令実行部がプロセッサ実行命令を実行し完了させるものも同様に考えられる。ここで図２９は、このようなシステムにおける命令実行部９８の構成を示す図である。図２９に示されるように、命令実行部９８はデコード部１２７及びレジスタ部６６に接続されｎ個の信号busyn が供給される第一同期制御部１３７をさらに備え、第一同期制御部１３７は上記ｎ個の信号busyn が全て０となったときにプロセッサ実行命令を実行し完了させる。
【００６６】
最後に、本発明の課題を解決するための手段について付記する。
（１）コプロセッサに接続されるプロセッサであって、プロセッサは、コプロセッサにおける実行を命令する第一のコプロセッサ命令が供給されたときに、第一のコプロセッサ命令に対応する依存可能性表示データに基づいて、第一のコプロセッサ命令がコプロセッサにおいて先に実行される第二のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第二のコプロセッサ命令の実行が完了した後に第一のコプロセッサ命令をコプロセッサへ発行することを特徴とするプロセッサ。
（２）依存可能性表示データは第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなる（１）に記載のプロセッサ。
（３）依存可能性表示データは、供給される信号により書き換え可能なフラグに格納される（１）に記載のプロセッサ。
（４）フラグに格納される依存可能性表示データは、第一のコプロセッサが第二のコプロセッサ命令に対して制御依存性を有する可能性があるか否かを示す（３）に記載のプロセッサ。
（５）少なくとも二つのコプロセッサに接続され、フラグはコプロセッサ毎に対応して備えられた（３）に記載のプロセッサ。
（６）コプロセッサに接続されたプロセッサであって、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備えたことを特徴とするプロセッサ。
（７）少なくとも二つのコプロセッサに接続され、信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行する（６）に記載のプロセッサ。
（８）命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行する（７）に記載のプロセッサ。
（９）供給される信号により書き換え可能なフラグと、コプロセッサ命令が供給されたとき、フラグが所定の値である場合にはコプロセッサで実行中のコプロセッサ命令の実行が完了した後に次のコプロセッサ命令をコプロセッサへ発行する命令発行手段とをさらに備えた（６）から（８）のいずれかに記載のプロセッサ。
（１０）コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサにおける実行を命令する第一のコプロセッサ命令が供給されたときに、第一のコプロセッサ命令に対応する依存可能性表示データに基づいて、第一のコプロセッサ命令がコプロセッサにおいて先に実行される第二のコプロセッサ命令に対して制御依存性を有する可能性があると判断した場合には、第二のコプロセッサ命令の実行が完了した後に第一のコプロセッサ命令をコプロセッサへ発行することを特徴とするプロセッサシステム。
（１１）依存可能性表示データは第一のコプロセッサ命令に結合されると共に、第一のコプロセッサ命令が制御依存性を有する可能性があるか否かを示すフィールドからなる（１０）に記載のプロセッサシステム。
（１２）依存可能性表示データは、供給される信号により書き換え可能なフラグに格納される（１０）に記載のプロセッサシステム。
（１３）フラグに格納される依存可能性表示データは、第一のコプロセッサが第二のコプロセッサ命令に対して制御依存性を有する可能性があるか否かを示すものである（１２）に記載のプロセッサシステム。
（１４）少なくとも二つのコプロセッサを有し、フラグはコプロセッサ毎に対応して備えられた（１２）に記載のプロセッサシステム。
（１５）コプロセッサと、コプロセッサに接続された主プロセッサとを有するプロセッサシステムであって、主プロセッサは、コプロセッサが第一のコプロセッサ命令を実行中であるか否かを示す信号を生成する信号生成手段と、コプロセッサが第一のコプロセッサ命令を実行中であることを示す実行表示信号が信号生成手段から供給されている場合には、信号生成手段から実行の完了を示す実行完了信号が供給された時にプロセッサ実行命令を実行する命令実行手段とを備えたことを特徴とするプロセッサシステム。
（１６）少なくとも二つのコプロセッサを備え、信号生成手段はコプロセッサ毎に対応して実行中であるか否かを示す信号を生成し、命令実行手段は、指定されたコプロセッサに対応する実行表示信号が信号生成手段から供給されている場合には、信号生成手段から指定されたコプロセッサに対応する実行完了信号が供給された時にプロセッサ実行命令を実行する（１５）に記載のプロセッサシステム。
（１７）命令実行手段は、少なくとも一つのコプロセッサがコプロセッサ命令を実行中であることを示す信号が供給されている場合には、全てのコプロセッサにおける実行の完了を示す信号が供給された時にプロセッサ実行命令を実行する（１６）に記載のプロセッサシステム。
（１８）主プロセッサは、供給される信号により書き換え可能なフラグと、コプロセッサ命令が供給されたとき、フラグが所定の値である場合にはコプロセッサで実行中のコプロセッサ命令の実行が完了した後に次のコプロセッサ命令をコプロセッサへ発行する命令発行手段とをさらに備えた（１５）から（１７）のいずれかに記載のプロセッサシステム。
【００６７】
【発明の効果】
上述の如く、本発明に係るプロセッサシステムによれば、依存可能性表示データに基づいて第一のコプロセッサ命令における制御依存の可能性が容易に判断されるため、制御依存の可能性がないコプロセッサ命令については、投機的な命令の発行を迅速に行うことができる。
【００６８】
また、主プロセッサは依存可能性表示データに基づいて第一のコプロセッサ命令の制御依存性を判断するため、第一のコプロセッサ命令の種類によらずその構成を統一的に決定することができる。従って、主プロセッサがコプロセッサに対する互換性を有するという意味で、投機的な命令発行の能力を向上させることができる。
【図面の簡単な説明】
【図１】従来のプロセッサシステムの構成を示す図である。
【図２】図１に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図３】従来のコプロセッサ命令の命令形式を示す図である。
【図４】従来のコプロセッサ指定レジスタを書き換える命令の命令形式を示す図である。
【図５】本発明の実施の形態１に係るプロセッサシステムの構成を示す図である。
【図６】図５に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図７】本発明の実施の形態１に係るコプロセッサ命令の命令形式を示す図である。
【図８】本発明の実施の形態２に係るプロセッサシステムの構成を示す図である。
【図９】図８に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図１０】本発明の実施の形態３に係るプロセッサシステムの構成を示す図である。
【図１１】図１０に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図１２】本発明の実施の形態３において、いずれかのフラグを書き換える命令の命令形式を示す図である。
【図１３】本発明の実施の形態４に係るプロセッサシステムの構成を示す図である。
【図１４】図１３に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図１５】本発明の実施の形態４において、実行中のコプロセッサ命令の実行完了を待つ命令の命令形式を示す図である。
【図１６】本発明の実施の形態５に係るプロセッサシステムの構成を示す図である。
【図１７】図１６に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図１８】本発明の実施の形態６に係るプロセッサシステムの構成を示す図である。
【図１９】図１８に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図２０】本発明の実施の形態７に係るプロセッサシステムの構成を示す図である。
【図２１】図２０に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図２２】図２０に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【図２３】本発明の実施の形態７において、実行中のコプロセッサ命令の実行完了を待つ命令の命令形式を示す図である。
【図２４】本発明の実施の形態８に係るプロセッサシステムの構成を示す図である。
【図２５】図２４に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図２６】図２４に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【図２７】本発明の実施の形態９に係るプロセッサシステムの構成を示す図である。
【図２８】図２７に示されたコプロセッサ命令制御部と命令実行部の構成を示す図である。
【図２９】図２７に示されたコプロセッサ命令制御部と命令実行部の他の構成を示す図である。
【符号の説明】
１，１５，２１，３１，４１，５１，６１，７１，８１，９１  主プロセッサ
３，１７，２３，３３，４３，５３，６３，７３，８３，９３  メモリ
５，２４，３４，４４，５４，６４，７４，８４，９４  命令フェッチ部
７，２７，３７，４７，５７，６７，７７，７８，８７，８８，９７，９８  命令実行部
９，２６，３６，６６  レジスタ
１１  コプロセッサ指定レジスタ（ＣＲ）
１３，１９，２５，３５，４５，５５，６５，７５，８５，９５  コプロセッサ命令制御部
２９  フラグ
１００，１０１  命令レジスタ
１０２  リソース判断部
１０３  リソースデコード部
１０４  例外デコード部
１０５  フラグ検出部
１０６，１０７，１０８  例外判断部
１０９  発行制御部
１１０  完了制御部
１１１，１１２〜１１４  スコアボード
１１５〜１２７  デコード部
１２９  書込制御部
１３１  実行制御部
１３３，１３４  フラグ書込制御部
１３５，１３６  同期制御部
１３７  第一同期制御部
ＣＰＲ０〜ＣＰＲｎ  コプロセッサ
【図１】
0004160705.tif 000002
【図２】
0004160705.tif 000003
【図３】
0004160705.tif 000004
【図４】
0004160705.tif 000005
【図５】
0004160705.tif 000006
【図６】
0004160705.tif 000007
【図７】
0004160705.tif 000008
【図８】
0004160705.tif 000009
【図９】
0004160705.tif 000010
【図１０】
0004160705.tif 000011
【図１１】
0004160705.tif 000012
【図１２】
0004160705.tif 000013
【図１３】
0004160705.tif 000014
【図１４】
0004160705.tif 000015
【図１５】
0004160705.tif 000016
【図１６】
0004160705.tif 000017
【図１７】
0004160705.tif 000018
【図１８】
0004160705.tif 000019
【図１９】
0004160705.tif 000020
【図２０】
0004160705.tif 000021
【図２１】
0004160705.tif 000022
【図２２】
0004160705.tif 000023
【図２３】
0004160705.tif 000024
【図２４】
0004160705.tif 000025
【図２５】
0004160705.tif 000026
【図２６】
0004160705.tif 000027
【図２７】
0004160705.tif 000028
【図２８】
0004160705.tif 000029
【図２９】
0004160705.tif 000030