(57)【特許請求の範囲】
【請求項１】
それぞれ独立して命令を実行する異なる複数の演算器を有し、前記各演算器毎にその演算器の命令が発行された時にセットされ、他の演算器に対し命令が発行された時にリセットされる例外要因更新権ビットを持たせ、前記例外要因更新権ビットがセットされている前記演算器によってのみ例外要因情報を更新可能とすることを特徴とする浮動小数点演算装置。
【請求項２】
異なる複数の演算器を有し、それぞれ独立して命令を実行する浮動小数点演算器と、
前記浮動小数点演算器の各演算器毎に内蔵され、その演算器の命令が発行された時にセットされ、他の演算器の命令が発行された時にリセットされる例外要因更新権ビットの記憶手段と、
前記演算器から出力される例外要因情報を前記例外要因更新権ビットがセットされる前記記憶手段によって選択された例外要因情報が記憶される例外要因情報レジスタと、
を具備することを特徴とする浮動小数点演算装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、浮動小数点演算装置に関する。
【０００２】
【従来の技術】
ＩＥＥＥ７５４に準拠した浮動小数点演算器を構成する場合には、浮動小数点演算結果である例外要因情報と、そのフラグ情報を持つことが規定されている。
図３は、従来の浮動小数点演算装置の構成を示す図である。浮動小数点演算装置は、例えば加減算器１０、掛け算器１２、割り算器／平方根１４の３つの演算器で構成され、それぞれの演算器は独立して動作ている。そして、各演算器１０、１２、１４から出力される例外要因情報とそのフラグ情報は、それぞれＯＲゲート１６、１８を介して１つの状態レジスタ２０に格納される構成となっている。また、状態レジスタ２０には、各演算器１０、１２、１４のＭステージから出力される信号をＯＲゲート２２でＯＲされた出力がイネーブル信号として入力されている。
この場合、状態レジスタ２０のフラグ情報は、順不同に更新されて良いが、例外要因情報は最後に実行された命令の例外情報でなければならない制約がある。この為、例外要因情報はレジスタ単位で更新するといずれかを更新する可能性がある場合は、前の命令が完了するまで次の命令の実行が出来なくなる問題が生じていた。それを解決するために、後の実行命令に待ちを入れる必要があった。
【０００３】
図４、図５は上述した従来の動作を示すのもで、図４は、オーバーラップさせた場合の例を示し、図５は待ちを入れた場合を示す。図４、図５において、Ｄは命令のデコードステージ、Ｅ１は第１の演算ステージ、Ｅ２は第２の演算ステージ、Ｍは例外検出ステージ、Ｗは演算結果の書き戻しステージを示す。
例えば、図４の例では割り算命令と加算命令とが並列実行される場合において、最後の命令が加算命令であったとすると、両命令は割り算器１４と加減算器１０によって同時に実行される。上記命令の処理速度は加減算器１０の方が早く終了し、そのＭステージで出力される例外要因情報はＯＲゲート１６を介して状態レジスタ２０に入力され、同じくＭステージのイネーブル信号によって状態レジスタ２０の例外要因情報が更新される。
その後、割り算器１４の割り算命令処理が終了して、そのＭステージにて出力される例外情報は同様な手順で状態レジスタ２０に記憶される。この場合、演算器の処理速度の違いにより、加算命令の例外要因情報の上に、割り算命令の例外要因情報が上書きされてしまうことになる。この為、最後に実行された加算命令であるにもかかわらず、例外要因情報が正しく記憶されない問題が発生する。
【０００４】
これを解決するために、図５に示す例では、加算命令のＥ１ステージに待ち（ＳＴＡＬＬ）を挿入する。そして、割り算命令のＥ２ステージが終了後、加算命令のＥ１ステージが実行され、同様にＭステージで例外情報を状態レジスタ２０に記憶する。この結果、図４に示した割り算命令によって出力される例外要因情報が上書きされることがなくなるが、加算命令の処理が遅れる欠点が発生する。
【０００５】
【発明が解決しようとする課題】
上述したように、従来の浮動小数点演算装置では、状態レジスタに複数の情報が混在する場合に、不要な待ち時間が発生する欠点がある。
本発明は上記欠点を解決するためになされたもので、状態レジスタ内に複数の情報が混在する場合は、各々の命令に情報の更新権を持たせることによって複数の命令をオーバーラップして実行出来る浮動小数点演算装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明の浮動小数点演算装置は、それぞれ独立して命令を実行する異なる複数の演算器を有し、前記各演算器毎にその演算器の命令が発行された時にセットされ、別な演算器の命令が発行された時にリセットされる例外情報更新権ビットを持たせ、前記例外情報更新権ビットがセットされている前記演算器によってのみ例外情報を更新可能とすることを特徴とする。
また、本発明の浮動小数点演算装置は、異なる複数の演算器を有し、それぞれ独立して命令を実行する浮動小数点演算器と、前記浮動小数点演算器の各演算器毎に内蔵され、その演算器の命令が発行された時にセットされ、別な演算器の命令が発行された時にリセットされる例外情報更新権ビットの記憶手段と、前記各演算器から出力される例外情報を前記記憶手段の前記例外情報更新権ビットによって選択した例外情報が記憶される例外情報レジスタとを具備することを特徴とする。
このような構成により、状態レジスタ内に複数の情報が混在する場合は、各々の命令に情報の更新権を持たせることによって複数の命令をオーバーラップして実行出来る。これにより、浮動小数点演算装置において、不要な待ち時間をなくすことで、性能低下を防ぐことが出来る。
【０００７】
【発明の実施の形態】
以下本発明に係る実施の形態を、図面を参照して説明する。
図１は、本発明の浮動小数点演算装置の構成を示すブロック図である。図において、浮動小数点演算装置は、例えば加減算器３０、掛け算器３２、割り算器／平方根３４の３つの演算器で構成され、それぞれの演算器は独立して動作する。
各演算器３０、３２、３４には、その演算器の命令が発行された時にセットされ、他の別な演算器の命令が発行された時にリセットされる例外要因更新権ビットを記憶するメモリ（例えば、フリップフロップやレジスタ等）３１、３３、３５がそれぞれ設けられる。また、状態レジスタは例外要因情報レジスタ４４とフラグ情報レジスタ３８に分けて構成される。
そして、各演算器３０、３２、３４から出力されるフラク情報は、ＯＲゲート３６を介してフラグ情報レジスタ３８に記憶される。また、フラグ情報レジスタ３８には各演算器３０、３２、３４のＭステージから出力される信号をＯＲゲート４０でＯＲされた出力信号が記憶時のイネーブル信号として入力されている。こうして、フラグ情報レジスタ３８には、実行された全ての命令について、各命令を実行した時に得られる例外フラグ（演算命令の処理結果として発生した例外要因の内、例外マスクでマスクされたもの）のＯＲを取ったものが記憶される。
【０００８】
一方、各演算器３０、３２、３４から出力される例外要因情報は、それぞれセレクタ４２を介して例外要因情報レジスタ４４に記憶される。例外要因情報レジスタ４４には各演算器３０、３２、３４の更新権ビットを記憶したメモリ３１、３３、３５から出力される信号をＯＲゲート４６でＯＲされた出力がイネーブル信号として入力されている。また、更新権ビットを記憶したメモリ３１、３３、３５から出力される信号は、セレクタ４２の選択信号としても入力されている。
図２は、本発明の浮動小数点演算装置の動作を示すタイミング図である。この図２を参照して本発明の浮動小数点演算装置の動作を説明する。
本発明の動作例として、図４または図５の説明と同様に、割り算命令に続き加算命令が発行された場合について説明する。
本発明では、割り算命令が発行されたことによって、割り算器３４の更新権ビットのメモリ３５がセットされる。次に、加算命令が発行されることによって、先にセットされた割り算器３４の更新権ビットのメモリ３５がリセットされ、加減算器３０の更新権ビットのメモリ３１がセットされる。
この状態で割り算器３４と加減算器３０において、それぞれの命令が並列処理され、加減算器３０のＭステージで出力された例外要因情報はセレクタ４２に出力される。そして、加減算器３０の更新権ビットのメモリ３１から出力された信号によってセレクタ４２は加減算器３０から出力された例外要因情報が選択出力されレジスタ４４に入力され、同じくメモリ３１から出力された信号がイネーブル信号となって例外要因情報レジスタ４４に例外情報がセットされる。
【０００９】
その後に、割り算器３４において、割り算命令が終了してＭステージになっても割り算器３４の更新権ビットのメモリ３５の内容が既にリセットされていることから、例外要因情報レジスタ４４の内容が更新されることはない。
【００１０】
【発明の効果】
以上詳述した発明によれば、従来の状態レジスタをフラク情報レジスタと例外要因情報レジスタとに分けて構成し、浮動小数点演算装置を構成する各種演算器それぞれに更新権ビットを記憶するようにして、最後に発行された命令の例外要因情報が必ず例外要因情報レジスタに記憶できるようにしたことによって、不要な待ち時間を削減することが出来る。
【図面の簡単な説明】
【図１】本発明の浮動小数点演算装置の構成を示すブロック図。
【図２】本発明の浮動小数点演算装置の動作を示すタイミング図。
【図３】従来の浮動小数点演算装置の構成を示すブロック図。
【図４】従来の浮動小数点演算装置の動作を示すタイミング図。
【図５】従来の浮動小数点演算装置の動作を示すタイミング図。
【符号の説明】
３０…加減算器、３２…掛け算器、３４…割り算器
３１、３３、３５…更新権ビットのメモリ
３６、４０、４６…ＯＲゲート
４２…セレクタ
３８…フラク情報レジスタ
４６…例外要因情報レジスタ
【図１】
0004021590.tif 000002
【図２】
0004021590.tif 000003
【図３】
0004021590.tif 000004
【図４】
0004021590.tif 000005
【図５】
0004021590.tif 000006