(57)【要約】【課題】単一の命令を拡張して実行することにより、命令実行中に不具合命令を回避可能な命令拡張回路、マイクロプロセッサ及び命令拡張方法を提供する。【解決手段】第２の命令ＣＯＭ２を記憶する命令記憶装置６２、命令拡張対象である第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較して一致した場合に一致信号ＳＳを生成する命令比較回路６１ａ、第１の命令ＣＯＭ１の制御アドレスＡＤを一致信号ＳＳに応じて生成するアドレス生成回路７を備える。【選択図】      図１
2004326594.tif 000002
【特許請求の範囲】
【請求項１】
命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成する命令比較回路と、
前記第２の命令を記憶する命令記憶装置と、
前記第１の命令の読み出しに用いる制御アドレスを前記一致信号に応じて生成するアドレス生成回路
とを備えることを特徴とする命令拡張回路。
【請求項２】
前記命令記憶装置は、前記第２の命令を保持する複数の命令記憶領域を備えることを特徴とする請求項１に記載の命令拡張回路。
【請求項３】
前記アドレス生成回路は、
第１のアドレスを発生させるアドレスインクリメンタと、
前記第１のアドレスとアドレス値が異なる第２のアドレスが設定されたアドレス記憶装置と、
前記一致信号に応じて前記第１のアドレス及び前記第２のアドレスのいずれかを前記制御アドレスとして選択するアドレス選択回路
とを備えることを特徴とする請求項１に記載の命令拡張回路。
【請求項４】
前記アドレス記憶装置は、前記第２のアドレスを保持する複数のアドレス記憶領域を備えることを特徴とする請求項３に記載の命令拡張回路。
【請求項５】
前記第２の命令をマスクする命令マスクを記憶する命令マスク記憶装置と、
前記第２の命令を前記命令マスクでマスクし、マスク結果を前記命令比較回路に供給するマスク処理回路
とを更に備えることを特徴とする請求項１に記載の命令拡張回路。
【請求項６】
前記命令マスク記憶装置は、前記命令マスクを保持する複数の命令マスク記憶領域を備えることを特徴とする請求項５に記載の命令拡張回路。
【請求項７】
前記一致信号に基づいて例外の発生を検知し、例外アドレスを発生させる例外検知回路を更に備えることを特徴とする請求項１に記載の命令拡張回路。
【請求項８】
前記第１の命令と前記第２の命令を比較するか否かを制御する比較制御回路を更に備えることを特徴とする請求項１に記載の命令拡張回路。
【請求項９】
命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成する命令比較回路と、
前記第２の命令を記憶する命令記憶装置と、
前記一致信号に応じて前記第１の命令を実行する命令実行回路と、
制御アドレスに基づいて前記命令比較回路及び前記命令実行回路に前記第１の命令を供給する入出力制御回路と、
前記制御アドレスを前記一致信号に応じて生成するアドレス生成回路
とを備えることを特徴とするマイクロプロセッサ。
【請求項１０】
命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成し、
前記第２の命令を予め記憶し、
前記第１の命令の読み出しに用いる制御アドレスを前記一致信号に応じて生成する
ことを含むことを特徴とする命令拡張方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータシステムに関し、特にメモリからの命令の読み出し及び実行を制御する命令拡張回路、マイクロプロセッサ及び命令拡張方法に関する。
【０００２】
【従来の技術】
マイクロプロセッサはメモリが供給する命令を実行する。マイクロプロセッサが不具合を有する命令（以下、単に「不具合命令」という）を実行する場合、命令の実行前に不具合命令を検出することが必要である。第１の従来技術として、検出された不具合命令を使用しない、或いは不具合命令をジャンプ命令及び分岐命令等の他の命令に置き換える手法が知られている。また、第２の従来技術として、命令の実行中にジャンプ命令及び分岐命令等の飛び先アドレスをユーザーに知らせ、不具合命令を検出する手法が知られている（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開平１１−２４２６１３号公報
【０００４】
【発明が解決しようとする課題】
上述した第１の従来技術及び第２の従来技術においてはプログラムを修正する作業が必要となる。修正対象が大規模なプログラムの場合、不具合命令を有するプログラム部分のみを修正することは困難である。また、プログラマが作成したプログラムは、実行形式でメモリに格納される。このため、実行形式になっているプログラムを修正することは非常に難しい。
【０００５】
上記問題点を鑑み、本発明は、単一の命令を拡張して実行することにより、命令実行中に不具合命令を回避可能な命令拡張回路、マイクロプロセッサ及び命令拡張方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成する為に、本発明の第１の特徴は、（イ）命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成する命令比較回路；（ロ）第２の命令を記憶する命令記憶装置；（ハ）第１の命令の制御アドレスを一致信号に応じて生成するアドレス生成回路を備える命令拡張回路であることを要旨とする。
【０００７】
本発明の第２の特徴は、（イ）命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成する命令比較回路；（ロ）第２の命令を記憶する命令記憶装置；（ハ）一致信号に応じて第１の命令を実行する命令実行回路；（ニ）制御アドレスに基づいて命令比較回路及び命令実行回路に第１の命令を供給する入出力制御回路；（ホ）制御アドレスを一致信号に応じて生成するアドレス生成回路を備えるマイクロプロセッサであることを要旨とする。
【０００８】
本発明の第３の特徴は、（イ）命令拡張対象である第１の命令と第２の命令とを比較して一致した場合に一致信号を生成し；（ロ）第２の命令を予め記憶し；（ハ）第１の命令の制御アドレスを一致信号に応じて生成することを含む命令拡張方法であることを要旨とする。
【０００９】
【発明の実施の形態】
次に、図面を参照して、本発明の第１〜第３の実施の形態を説明する。この第１〜第３の実施の形態における図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。
【００１０】
（第１の実施の形態）
本発明の第１の実施の形態に係るマイクロコンピュータは、図１に示すように、メモリ１及びメモリ１に接続されたマイクロプロセッサ２ａを備える。メモリ１は、マイクロプロセッサ２ａに命令拡張対象である第１の命令ＣＯＭ１を供給する。これに対してマイクロプロセッサ２ａは、制御アドレスＡＤ及び演算結果ＤＳをメモリ１に供給する。図１に示すマイクロプロセッサ２ａは、メモリ１に接続された入出力制御回路３、入出力制御回路３に接続された命令実行回路４、及び入出力制御回路３と命令実行回路４との接続点Ｐ１に入力側が接続され、入出力制御回路３及び命令実行回路４に出力側が接続された命令拡張回路５ａを備える。命令実行回路４としては、例えば算術論理演算ユニット（ＡＬＵ）が使用できる。入出力制御回路３は、メモリ１及びマイクロプロセッサ２ａ間における第１の命令ＣＯＭ１、アドレスＡＤ、及び演算結果ＤＳの入出力制御を行う。命令実行回路４は、第１の命令ＣＯＭ１を実行して演算結果ＤＳを入出力制御回路３に供給する。
【００１１】
命令拡張回路５ａは、図１に示すように、命令記憶装置６２、命令記憶装置６２に一方の入力が接続され、入出力制御回路３と命令実行回路４との接続点Ｐ１に他方の入力が接続された命令比較回路６１ａ、及び命令比較回路６１ａと入出力制御回路３との間に接続されたアドレス生成回路７を備える。命令記憶装置６２は、第１〜第ｎの命令記憶領域６２ａ〜６２ｎを備える（ｎ；２以上の整数）。命令記憶装置６２には第２の命令ＣＯＭ２が設定される。また、第１〜第ｎの命令記憶領域６２ａ〜６２ｎは、第２の命令ＣＯＭ２としてｎ個の命令機械語を保持する。命令比較回路６１ａは、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較して一致した場合に一致信号ＳＳを生成する。また、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較は、第１〜第ｎの命令記憶領域に記憶された命令機械語のそれぞれについて実行される。
【００１２】
更に、アドレス生成回路７は、図１に示すように、命令比較回路６１ａ及び入出力制御回路３に接続されたアドレス選択回路７１、アドレス選択回路７１に接続されたアドレスインクリメンタ７２、アドレス選択回路７１に接続されたアドレス記憶装置７３を備える。アドレス記憶装置７３は、第１〜第ｎのアドレス記憶領域７３ａ〜７３ｎを備える。アドレス選択回路７１としては、例えばセレクタ又はマルチプレクサが使用できる。アドレスインクリメンタ７２は、第１のアドレスＡＤ１をアドレス選択回路７１に供給する。アドレス記憶装置７３は、第２のアドレスＡＤ２としてｎ個のアドレスをアドレス選択回路７１に供給する。アドレス選択回路７１は、一致信号ＳＳに応じて第１のアドレスＡＤ１及び第２のアドレスＡＤ２のいずれかを入出力制御回路３に伝達する。即ち、アドレス選択回路７１は、通常は第１のアドレスＡＤ１を制御アドレスＡＤとして入出力制御回路３に伝達する。アドレス選択回路７１は、一致信号ＳＳが供給される場合に第２のアドレスＡＤ２を制御アドレスＡＤとして入出力制御回路３に伝達する。
【００１３】
次に、図１及び図２を用いて第１の実施の形態に係る命令拡張方法を説明する。
【００１４】
（イ）先ず、図２に示すステップＳ１０１において、図１に示す入出力制御回路３は、第１のアドレスＡＤ１が指し示す第１の命令ＣＯＭ１をメモリ１から読み出す。入出力制御回路３が読み出した第１の命令ＣＯＭ１は、命令実行回路４及び命令比較回路６１ａに供給される。
【００１５】
（ロ）次に、ステップＳ１０２において、命令比較回路６１ａは、第１の命令ＣＯＭ１と命令記憶装置６２が供給する第２の命令ＣＯＭ２とを比較する。第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致すると判断された場合、ステップＳ１０３に進む。これに対して第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致しないと判断された場合、ステップＳ１０５に進む。
【００１６】
（ハ）ステップＳ１０３においては、命令実行回路４は、一致信号ＳＳに基づき、第２の命令ＣＯＭ２と一致する第１の命令ＣＯＭ１を破棄する。更に、ステップＳ１０４において、図１に示すアドレス選択回路７１は、一致信号ＳＳに基づいて制御アドレスＡＤを第１のアドレスＡＤ１から第２のアドレスＡＤ２に変更する。ここでアドレス選択回路７１は、第ｎの命令記憶領域６２ｎに設定された第２の命令ＣＯＭ２と第１の命令ＣＯＭ１とが一致した場合、第ｎのアドレス記憶領域７３ｎに設定された第２のアドレスＡＤ２を入出力制御回路３に供給する。制御アドレスＡＤが第２のアドレスＡＤ２に変更されると、ステップＳ１０１に処理が戻る。
【００１７】
（ニ）一方、ステップＳ１０５においては、命令比較回路６１ａは、第１の命令ＣＯＭ１と第１〜第ｎの命令記憶領域６２ａ〜６２ｎに設定される第２の命令ＣＯＭ２との比較がすべて終了したか否か判断する。第１の命令ＣＯＭ１と第１〜第ｎの命令記憶領域６２ａ〜６２ｎに設定される第２の命令ＣＯＭ２との比較が終了したと判断された場合、ステップＳ１０６に進む。一方、第１の命令ＣＯＭ１と第１〜第ｎの命令記憶領域６２ａ〜６２ｎに設定される第２の命令ＣＯＭ２との比較が終了していないと判断された場合、ステップＳ１０２に処理が戻る。
【００１８】
（ホ）次に、ステップＳ１０６において、命令実行回路４は第１の命令ＣＯＭ１を実行する。命令実行回路４に実行された第１の命令ＣＯＭ１は、演算結果ＤＳとして入出力制御回路３を介してメモリ１に伝達される。更に、ステップＳ１０７において、図１に示すアドレスインクリメンタ７２は、第１のアドレスＡＤ１のアドレス値をインクリメントする。
【００１９】
（ヘ）次に、ステップＳ１０８において、入出力制御回路３は、メモリ１に格納された第１の命令ＣＯＭ１について読み出しが終了したか否か判断する。第１の命令ＣＯＭ１の読み出しが終了していないと判断された場合、ステップＳ１０１に処理が戻る。これに対して第１の命令ＣＯＭ１の読み出しが終了したと判断された場合、処理が終了する。
【００２０】
このように、第１の実施の形態に係る命令拡張回路５ａによれば、第２のアドレスＡＤ２が指し示すメモリ１のアドレス位置に拡張したい命令列を格納することにより、単一の命令に対して複数の命令を実行できる。この結果、命令実行中に不具合命令を回避可能な命令拡張回路５ａを提供出来る。また、第１〜第ｎの命令記憶領域６２ａ〜６２ｎが保持する第２の命令ＣＯＭ２に対し、それぞれアドレス値が異なる第２のアドレスＡＤ２が設定できるため、拡張実行する命令列も自由度が高く設定できる。更に、第１の実施の形態に係るマイクロプロセッサ２ａは、不具合命令の回避に限らず、ある命令実行時に決まった動作及び手続きが必要となる場合に決まった動作及び手続きを単純化することも可能である。この場合、メモリ１の記憶領域の使用量を削減できる。
【００２１】
（第２の実施の形態）
本発明の第２の実施の形態に係るマイクロプロセッサ２ｂは、図３に示すように、命令マスク記憶装置６３、命令マスク記憶装置６３に一方の入力が接続され、命令記憶装置６２に他方の入力が接続され、命令比較回路６１ｂに出力が接続されたマスク処理回路６４を備える点が図１に示したマイクロプロセッサ２ａと異なる。マスク処理回路６４としては、例えば論理積回路が使用できる。命令マスク記憶装置６３には、第２の命令ＣＯＭ２をマスクするための命令マスクＣＯＭ３が設定される。マスク処理回路６４は、第２の命令ＣＯＭ２を命令マスクＣＯＭ３でマスクし、マスク結果ＭＣＯＭ２を命令比較回路６１ｂに供給する。更に、命令マスク記憶装置６３は、第１〜第ｎの命令マスク記憶領域６３ａ〜６３ｎを備える。その他の構成については、図１に示したマイクロプロセッサ２ａの構成と同様である。
【００２２】
次に、図３及び図４を用いて第２の実施の形態に係る命令拡張方法を説明する。但し、第１の実施の形態に係る命令拡張方法と重複する処理については、重複する説明を省略する。
【００２３】
（イ）先ず、図４に示すステップＳ２０１において、図３に示す入出力制御回路３は第１の命令ＣＯＭ１をメモリ１から読み出す。次に、ステップＳ２０２において、図３に示す命令比較回路６１ｂは、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較する。第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致すると判断された場合、ステップＳ２０３に進む。一方、第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致しないと判断された場合、ステップＳ２０５に進む。
【００２４】
（ロ）ステップＳ２０５においては、図３に示すマスク処理回路６４は、第２の命令ＣＯＭ２を命令マスクＣＯＭ３によりマスクする。第２の命令ＣＯＭ２の命令機械語を”１１１０００１０１０１１１０１１”として下位８ビットを第１の命令ＣＯＭ１と比較する場合、命令マスクＣＯＭ３の命令機械語は、”００００００００１１１１１１１１”となる。この場合、マスク結果ＭＣＯＭ２は、”００００００００１０１１１０１１”となる。ステップＳ２０５においてマスク処理が終了するとステップＳ２０６に進む。
【００２５】
（ハ）ステップＳ２０６においては、命令比較回路６１ｂが第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とを比較する。ステップＳ２０６において第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とが一致すると判断された場合、ステップＳ２０３に進む。一方、ステップＳ２０６において第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とが一致しないと判断された場合、ステップＳ２０７に進む。
【００２６】
（ニ）ステップＳ２０３においては、図３に示す命令実行回路４は、命令比較回路６１ｂが供給する一致信号ＳＳに基づいて第２の命令ＣＯＭ２及びマスク結果ＭＣＯＭ２のいずれかと一致する第１の命令ＣＯＭ１を破棄する。更に、ステップＳ２０４において、図３に示すアドレス選択回路７１は、一致信号ＳＳに応じて制御アドレスＡＤを第１のアドレスＡＤ１から第２のアドレスＡＤ２に変更する。ステップＳ２０４において、制御アドレスＡＤが第２のアドレスＡＤ２に変更されると、ステップＳ２０１に処理が戻る。
【００２７】
（ホ）一方、ステップＳ２０７においては、命令比較回路６１ｂは、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較がすべて終了したか否か判断する。第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較がすべて終了したと判断された場合、ステップＳ２０８に進む。一方、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較が終了していないと判断された場合、ステップＳ２０２に処理が戻る。
【００２８】
（ヘ）次に、ステップＳ２０８において、命令実行回路４は、第１の命令ＣＯＭ１を実行する。更に、ステップＳ２０９において、図３に示すアドレスインクリメンタ７２は、第１のアドレスＡＤ１のアドレス値をインクリメントする。次に、ステップＳ２１０において、入出力制御回路３は、メモリ１に格納された第１の命令ＣＯＭ１について読み出しが終了したか否か判断する。第１の命令ＣＯＭ１について読み出しが終了していないと判断された場合、ステップＳ２０１に処理が戻る。第１の命令ＣＯＭ１について読み出しが終了したと判断された場合、処理が終了する。
【００２９】
このように、第２の実施の形態に係る命令拡張回路５ｂによれば、命令マスクＣＯＭ３により第２の命令ＣＯＭ２をマスクすることにより、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較を部分的に行うことができる。よって、命令拡張回路５ｂは、例えば第１の命令ＣＯＭ１の命令機械語中にレジスタ番号が含まれ、且つレジスタ番号を考慮すると複数の機械語に相当する場合に有効である。第２の実施の形態に係るマイクロプロセッサ２ｂによれば、例えば第１の命令ＣＯＭ１中のレジスタ番号を示すビット位置を比較しないことにより、より正確な比較動作を実行できる。
【００３０】
（第３の実施の形態）
本発明の第３の実施の形態に係るマイクロプロセッサ２ｃは、図５に示すように、命令拡張回路５ｃが、命令比較回路６１ｃとアドレス選択回路７１との接続点、入出力制御回路３、及び命令実行回路４に接続された例外検知回路８を備える点が図１に示したマイクロプロセッサ２ａと異なる。例外検知回路８は、一致信号ＳＳに基づいて例外の発生を検知し、例外アドレスＡＤ３を発生させる。具体的には例外検知回路８は、第１の命令ＣＯＭ１が、第１〜第ｎの命令記憶領域６２ａ〜６２ｎに設定される特定の命令機械語と一致した場合に例外アドレスＡＤ３を発生させる。例外アドレスＡＤ３が指し示すメモリ１のアドレス位置には、例外発生時用の命令列が格納されている。その他の構成については、図１及び図３に示したマイクロプロセッサ２ａ、２ｂの構成と同様である。
【００３１】
次に、図５及び図６を用いて第３の実施の形態に係る命令拡張方法を説明する。但し、第１の実施の形態に係る命令拡張方法と重複する処理については、重複する説明を省略する。
【００３２】
（イ）先ず、図６に示すステップＳ３０１において、図５に示す入出力制御回路３は、メモリ１から第１のアドレスＡＤ１が指し示す第１の命令ＣＯＭ１を読み出す。ステップＳ３０２において、図５に示す命令比較回路６１ｂは、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較する。第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致すると判断された場合、ステップＳ３０３に進む。第１の命令ＣＯＭ１及び第２の命令ＣＯＭ２が一致しないと判断された場合、ステップＳ３０９に進む。
【００３３】
（ロ）ステップＳ３０９においては、図５に示すマスク処理回路６４は、第２の命令ＣＯＭ２を命令マスクＣＯＭ３でマスクし、マスク結果ＭＣＯＭ２を命令比較回路６１ｂに供給する。更に、ステップＳ３１０において、命令比較回路６１ｂが第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とを比較する。ステップＳ３１０において第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とが一致すると判断された場合、ステップＳ３０３に進む。一方、ステップＳ３１０において第１の命令ＣＯＭ１とマスク結果ＭＣＯＭ２とが一致しないと判断された場合、ステップＳ３１１に進む。ステップＳ３１１においては、命令比較回路６１ｂは、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較がすべて終了したか否か判断する。第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較が終了していないと判断された場合、ステップＳ３０２に処理が戻る。第１の命令ＣＯＭ１と第２の命令ＣＯＭ２との比較が終了したと判断された場合、ステップＳ３１２に進む。
【００３４】
（ハ）一方、ステップＳ３０３においては、例外検知回路８は、一致信号ＳＳに基づき、第１の命令ＣＯＭ１が第１〜第ｎの命令記憶領域６２ａ〜６２ｎが記憶するｎ個の命令機械語の内の特定の命令機械語と一致したか否かにより例外の発生を検知する。第１の命令ＣＯＭ１が第１〜第ｎの命令記憶領域６２ａ〜６２ｎが記憶するｎ個の命令機械語の内の特定の命令機械語と一致したと判定された場合、ステップＳ３０６に進む。第１の命令ＣＯＭ１が第１〜第ｎの命令記憶領域６２ａ〜６２ｎが記憶するｎ個の命令機械語の内の特定の命令機械語と一致しないと判定された場合、ステップＳ３０４に進む。
【００３５】
（ニ）次に、ステップＳ３０４において、命令実行回路４は、命令比較回路６１ｂが供給する一致信号ＳＳに基づいて第２の命令ＣＯＭ２又はマスク結果ＭＣＯＭ２と一致する第１の命令ＣＯＭ１を破棄する。更に、ステップＳ３０５において、図５に示すアドレス選択回路７１は、一致信号ＳＳに基づいて制御アドレスＡＤを第１のアドレスＡＤ１から第２のアドレスＡＤ２に変更する。制御アドレスＡＤが第２のアドレスＡＤ２に変更されると、ステップＳ３０１に処理が戻る。
【００３６】
（ホ）一方、ステップＳ３０６においては、命令実行回路４は、命令比較回路６１ｂが供給する一致信号ＳＳに基づいて第２の命令ＣＯＭ２と一致する第１の命令ＣＯＭ１を破棄する。次にステップＳ３０７において、例外検知回路８は例外アドレスＡＤ３を発生させる。更に、ステップＳ３０８において、入出力制御回路３は、例外アドレスＡＤ３の指し示すメモリ１のアドレス位置に格納されている第１の命令ＣＯＭ１を読み出す。入出力制御回路３が読み込んだ第１の命令ＣＯＭ１は、例外検知回路８を介して命令実行回路４に伝達される。第１の命令ＣＯＭ１が命令実行回路４に伝達されるとステップＳ３１２に進む。
【００３７】
（ヘ）次に、ステップＳ３１２においては、命令実行回路４は、第１の命令ＣＯＭ１を実行する。命令実行回路４に実行された第１の命令ＣＯＭ１は、演算結果ＤＳとして入出力制御回路３を介してメモリ１に供給される。更に、ステップＳ３１３において、第１のアドレスＡＤ１のアドレス値がインクリメントされる。ステップＳ３１４においては、入出力制御回路３は、メモリ１に格納された第１の命令ＣＯＭ１について読み出しが終了したか否か判断する。第１の命令ＣＯＭ１について読み出しが終了していないと判断された場合、ステップＳ３０１に処理が戻る。第１の命令ＣＯＭ１について読み出しが終了したと判断された場合、処理が終了する。
【００３８】
このように、第３の実施の形態に係る命令拡張回路５ｃによれば、メモリ１に格納される例外発生時用の命令列を利用して不具合命令を回避できる。更に、命令拡張回路５ｃは、第２のアドレスＡＤ２が指し示す拡張命令列と例外アドレスＡＤ３が指し示す例外発生時用の命令列とを組み合わせて使用するため、単一の命令に対してより複数な命令実行を実現できる。
【００３９】
（その他の実施の形態）
上記のように、本発明は第１〜第３の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００４０】
既に述べた第１の実施の形態においては、命令比較回路６１ａが常に第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較する構成を説明した。しかし、図７に示すように、命令比較回路６１ａに接続された比較制御回路６５を備える構成でも良い。図７に示す比較制御回路６５は、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較するか否かを制御する。図７に示す命令拡張回路５ｄによれば、例えば、制御アドレスＡＤとして第２のアドレスＡＤ２が選択された場合は、第１の命令ＣＯＭ１と第２の命令ＣＯＭ２とを比較しないように命令比較回路６１ａを制御できる。
【００４１】
上述した第１〜第３の実施の形態においては、第１の命令ＣＯＭ１を保持するメモリ１をマイクロプロセッサ２ａの外部に設ける一例を説明した。しかし、メモリ１をマイクロプロセッサ２ａの内部に設ける構成でも良いことはもちろんである。更に、第２の命令ＡＤ２を保持する命令記憶装置第６２及び第２のアドレスＡＤ２を保持するアドレス記憶装置７３をマイクロプロセッサ２ａの内部に設ける構成について説明したが、命令記憶装置第６２及びアドレス記憶装置７３をマイクロプロセッサ２ａの外部に設ける構成でも良い。即ち、第１〜第ｎの命令記憶領域６２ａ〜６２ｎ及び第１〜第ｎのアドレス記憶領域７３ａ〜７３ｎをメモリ１の内部に設けても良い。
【００４２】
また、第１〜第３の実施の形態においては、マイクロプロセッサ２ａ及びメモリ１が第１の命令ＣＯＭ１、制御アドレスＡＤ、及び演算結果ＤＳを直接入出力する構成について説明したが、マイクロプロセッサ２ａとメモリ１との間にキャッシュ装置が接続されていても良い。
【００４３】
このように本発明は、ここでは記載していない様々な実施の形態等を包含するということを理解すべきである。したがって、本発明はこの開示から妥当な特許請求の範囲の発明特定事項によってのみ限定されるものである。
【００４４】
【発明の効果】
本発明によれば、単一の命令を拡張して実行することにより、命令実行中に不具合命令を回避可能な命令拡張回路、マイクロプロセッサ及び命令拡張方法を提供できる。
【図面の簡単な説明】
【図１】第１の実施の形態に係るマイクロプロセッサの構成を示すブロック図である。
【図２】第１の実施の形態に係る命令拡張方法を示すフローチャートである。
【図３】第２の実施の形態に係るマイクロプロセッサの構成を示すブロック図である。
【図４】第２の実施の形態に係る命令拡張方法を示すフローチャートである。
【図５】第３の実施の形態に係るマイクロプロセッサの構成を示すブロック図である。
【図６】第３の実施の形態に係る命令拡張方法を示すフローチャートである。
【図７】その他の実施の形態に係るマイクロプロセッサの構成を示すブロック図である。
【符号の説明】
１…メモリ
２ａ、２ｂ、２ｃ、２ｄ…マイクロプロセッサ
３…入出力制御回路
４…命令実行回路
５ａ、５ｂ、５ｃ、５ｄ…命令拡張回路
７…アドレス生成回路
８…例外検知回路
６１ａ、６１ｂ…命令比較回路
６２…命令記憶装置
６２ａ〜６２ｎ…第１〜第ｎの命令記憶領域
６３…命令マスク記憶装置
６３ａ〜６３ｎ…第１〜第ｎの命令マスク記憶領域
６４…マスク処理回路
６５…比較制御回路
７１…アドレス選択回路
７２…アドレスインクリメンタ
７３…アドレス記憶装置
７３ａ〜７３ｎ…第１〜第ｎのアドレス記憶領域
【図１】
2004326594.tif 000003
【図２】
2004326594.tif 000004
【図３】
2004326594.tif 000005
【図４】
2004326594.tif 000006
【図５】
2004326594.tif 000007
【図６】
2004326594.tif 000008
【図７】
2004326594.tif 000009