(57)【特許請求の範囲】
【請求項１】
パイプライン制御を行う情報処理装置であって、
所定のターゲット命令と、該ターゲット命令の前におかれターゲット命令の機能を修飾するプリフィックス命令を含む複数の命令の命令コードを命令キューにフェッチするフェッチ回路と、
命令キューにフェッチされているデコード前の命令コードを入力し、所定のプリフィックス命令であるか否か判断し、所定のプリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報をターゲット命令修飾情報レジスタに記憶するプリフィックス命令専用デコード処理を行うプリフィックス命令専用デコード回路と、
命令キューにフェッチされているプリフィックス命令以外の命令コードをデコード対象命令として入力しデコードするデコード回路を含み、
前記デコード回路は、
デコード対象命令がターゲット命令である場合には、ターゲット命令修飾情報保持レジスタに記憶されているターゲット命令修飾情報に基づき、プリフィックス命令によって修飾されたターゲット命令のデコードを行うように構成され、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行結果をシフトさせるためのシフトプリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードがシフトプリフィックス命令である場合には、シフトプリフィックス命令によって修飾されたターゲット命令の実行結果をシフトするために必要なシフト情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令がシフトプリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記シフト情報に基づき、シフトプリフィックス命令によって修飾されたターゲット命令の実行結果がシフトされてターゲット命令が実行されるようにデコードを行うことを特徴とする情報処理装置。
【請求項２】
パイプライン制御を行う情報処理装置であって、
所定のターゲット命令と、該ターゲット命令の前におかれターゲット命令の機能を修飾するプリフィックス命令を含む複数の命令の命令コードを命令キューにフェッチするフェッチ回路と、
命令キューにフェッチされているデコード前の命令コードを入力し、所定のプリフィックス命令であるか否か判断し、所定のプリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報をターゲット命令修飾情報レジスタに記憶するプリフィックス命令専用デコード処理を行うプリフィックス命令専用デコード回路と、
命令キューにフェッチされているプリフィックス命令以外の命令コードをデコード対象命令として入力しデコードするデコード回路を含み、
前記デコード回路は、
デコード対象命令がターゲット命令である場合には、ターゲット命令修飾情報保持レジスタに記憶されているターゲット命令修飾情報に基づき、プリフィックス命令によって修飾されたターゲット命令のデコードを行うように構成され、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行の有無を制御するための実行制御プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードが実行制御プリフィックス命令である場合には、実行制御プリフィックス命令によって修飾されたターゲット命令の実行の有無を制御するために必要な実行制御情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令が実行制御プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記実行制御情報に基づき、実行制御プリフィックス命令によって修飾されたターゲット命令の実行の有無を判断してターゲット命令が実行されるようにデコードすることを特徴とする情報処理装置。
【請求項３】
請求項１乃至２のいずれかにおいて、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張させるための即値拡張プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードが即値拡張プリフィックス命令である場合には、即値拡張プリフィックス命令に修飾されたターゲット命令の実行時に即値を拡張するために必要な即値拡張情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令が即値拡張プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記即値拡張情報に基づき、即値拡張プリフィックス命令によって修飾されたターゲット命令の実行時に即値が拡張されてターゲット命令が実行されるようにデコードを行うことを特徴とする情報処理装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要なレジスタを拡張するためのレジスタ拡張プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードがレジスタ拡張プリフィックス命令である場合には、レジスタ拡張プリフィックス命令によって修飾されたターゲット命令の実行時にレジスタを拡張するために必要なレジスタ拡張情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令がレジスタ拡張プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記レジスタ拡張情報に基づき、レジスタ拡張プリフィックス命令によって修飾されたターゲット命令の実行時にレジスタが拡張されてターゲット命令が実行されるようにデコードを行うことを特徴とする情報処理装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記フェッチ回路は、
命令コードの少なくとも２倍以上のバス幅を有するバスに接続され、前記バスを介して複数命令を１クロックで命令キューにフェッチすることを特徴とする情報処理装置。
【請求項６】
請求項１乃至５のいずれかにおいて、
ターゲット命令は、当該ターゲット命令を修飾するプリフィックス命令の後に連続して配置され、
前記デコード回路が第１の命令のデコード中に、前記プリフィックス命令専用デコード回路が第１の命令に続く第２の命令についてプリフィックス命令専用デコード処理を行うことを特徴とする情報処理装置。
【請求項７】
請求項１乃至６のいずれかに記載の情報処理装置と、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び電子機器に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
本出願人は、ターゲット命令の前におかれターゲット命令の機能を修飾（拡張）するプリフィックス命令を含む命令セットを有するマイクロコンピュータ（広義には情報処理装置）を開発している。かかるプリフィックス命令とし、例えばターゲット命令が即値を含む場合に、その即値の上位ビットをプリフィックス命令で与えてターゲット命令の即値を拡張をするｅｘｔ命令等を有している。
【０００３】
しかし従来のパイプライン制御を行うマイクロコンピュータではプリフィックス命令で修飾されたターゲット命令の機能を実現するためには、プリフィックス命令とターゲット命令の２命令の実行が必要であり、２クロックかかっていた。
【０００４】
ここでマイクロコンピュータの性能を左右する最も重要な要素はその実行速度であり、出来るだけローコストで高速実行可能なコストパフォーマンスのよいマイクロコンピュータを提供することが好ましい。
【０００５】
本発明は以上のような問題点に鑑みてなされたものであり、プリフィックス命令を含む命令セットを有する情報処理装置において出来るだけローコストで高速実行可能なコストパフォーマンスのよい情報処理装置及び電子機器の提供を目的とする。
【０００６】
【課題を解決するための手段】
（１）本発明は、パイプライン制御を行う情報処理装置であって、
所定のターゲット命令と、該ターゲット命令の前におかれターゲット命令の機能を修飾するプリフィックス命令を含む複数の命令の命令コードを命令キューにフェッチするフェッチ回路と、
命令キューにフェッチされているデコード前の命令コードを入力し、所定のプリフィックス命令であるか否か判断し、所定のプリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報をターゲット命令修飾情報レジスタに記憶するプリフィックス命令専用デコード処理を行うプリフィックス命令専用デコード回路と、
命令キューにフェッチされているプリフィックス命令以外の命令コードをデコード対象命令として入力しデコードするデコード回路を含み、
前記デコード回路は、
デコード対象命令がターゲット命令である場合には、ターゲット命令修飾情報保持レジスタに記憶されているターゲット命令修飾情報に基づき、プリフィックス命令によって修飾されたターゲット命令のデコードを行うことを特徴とする。
【０００７】
本発明の情報処理装置には、ターゲット命令及び該ターゲット命令の機能を拡張するプリフィックス命令が入力される。プリフィックス命令は、後続のターゲット命令が実行される際に、そのターゲット命令の機能を拡張する機能を有する。
【０００８】
ここで命令キューとはデコードされる前に命令コードが格納されているキューのことで、フェッチキュー又はプリフェッチキュー等でもよい。
【０００９】
デコード対象命令がターゲット命令であるかいなかは、デコード対象命令の命令コード及びターゲット命令修飾情報レジスタの少なくとも一方にもとづき判断するようにしてもよい。
【００１０】
またデコード対象命令がターゲット命令でない場合には、当該命令の通常の機能が実現されるようにデコードを行う。
【００１１】
プリフィックス命令専用デコード回路は、命令キューに格納されている各命令がデコード回路に渡される少なくとも１クロック以上前に該命令を読み込み、プリフィックス命令専用デコード処理を行うようにしてもよい。そして読み込んだ命令がプリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報を、少なくとも修飾するターゲット命令のデコード前までにターゲット命令修飾情報レジスタに記憶させる。
【００１２】
そして命令キューに格納された命令がプリフィックス命令である場合には、当該命令がデコード回路によってデコードされないように制御する。
【００１３】
このようにするとプリフィックス命令はデコード回路でデコードせずに、先行する他の命令がデコード回路でデコードされている間にプリフィックス命令専用デコード回路でデコードして、ターゲット命令の実行に必要な情報をターゲット命令修飾情報レジスタに記憶させることが出来る。そしてターゲット命令のデコードの際にターゲット命令修飾情報レジスタを参照してデコードを行うことにより、プリフィックス命令を実質上０クロックで実現することができ情報処理装置の高速化を図ることが出来る。
【００１４】
しかもプリフィックス命令専用デコード回路の回路規模は通常のデコード回路に比べると非常に小さいので、回路規模の増大を招くことなく情報処理装置の高速化を図るとが出来る。
（２）本発明の情報処理装置は、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張させるための即値拡張プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードが即値拡張プリフィックス命令である場合には、即値拡張プリフィックス命令に修飾されたターゲット命令の実行時に即値を拡張するために必要な即値拡張情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令が即値拡張プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記即値拡張情報に基づき、即値拡張プリフィックス命令によって修飾されたターゲット命令の実行時に即値が拡張されてターゲット命令が実行されるようにデコードを行うことを特徴とする。
【００１５】
ターゲット命令の実行時に即値を拡張するために必要な即値拡張情報とは、例えば、実行に必要な即値の一部のビットの値（拡張部分に該当するビット値等）等を含む。
【００１６】
ここでいう即値の拡張とは、例えば通常のゼロ拡張やサイン拡張のほか、命令コード中に記載されている即値のビット幅を伸張して、伸張された部分に、所与のビットを補う場合も含む。
【００１７】
本発明によれば、回路規模の増大を招くことなく、ターゲット命令の実行に必要な即値を拡張する即値拡張プリフィックス命令を実質上０クロックで実現することができ、情報処理装置の高速化を図ることが出来る。
（３）本発明の情報処理装置は、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行結果をシフトさせるためのシフトプリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードがシフトプリフィックス命令である場合には、シフトプリフィックス命令によって修飾されたターゲット命令の実行結果をシフトするために必要なシフト情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令がシフトプリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記シフト情報に基づき、シフトプリフィックス命令によって修飾されたターゲット命令の実行結果がシフトされてターゲット命令が実行されるようにデコードを行うことを特徴とする。
【００１８】
ターゲット命令の実行結果をシフトするために必要なシフト情報とは、例えば、ターゲット命令の実行結果を左シフトするか右シフトするかに関する情報、論理シフトするか算術シフトするかに関する情報、シフトさせる数（シフト値）等を含む。
【００１９】
本発明によれば、回路規模の増大を招くことなく、ターゲット命令の実行結果をシフトするシフトプリフィックス命令を実質上０クロックで実現することができ、情報処理装置の高速化を図ることが出来る。
（４）本発明の情報処理装置は、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要なレジスタを拡張するためのレジスタ拡張プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードがレジスタ拡張プリフィックス命令である場合には、レジスタ拡張プリフィックス命令によって修飾されたターゲット命令の実行時にレジスタを拡張するために必要なレジスタ拡張情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令がレジスタ拡張プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記レジスタ拡張情報に基づき、レジスタ拡張プリフィックス命令によって修飾されたターゲット命令の実行時にレジスタが拡張されてターゲット命令が実行されるようにデコードを行うことを特徴とする。
【００２０】
ターゲット命令の実行時にレジスタを拡張するために必要なレジスタ拡張情報とは、例えば、ターゲット命令実行時に使用する汎用レジスタ番号に関する情報等を含む。
【００２１】
本発明によれば、回路規模の増大を招くことなく、ターゲット命令の実行に必要なレジスタを拡張するレジスタ拡張プリフィックス命令を実質上０クロックで実現することができ、情報処理装置の高速化を図ることが出来る。
（５）本発明の情報処理装置は、
前記所定のプリフィックス命令は、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行の有無を制御するための実行制御プリフィックス命令を含み、
前記プリフィックス命令専用デコード回路は、
入力された命令コードが実行制御プリフィックス命令である場合には、実行制御プリフィックス命令によって修飾されたターゲット命令の実行の有無を制御するために必要な実行制御情報をターゲット命令修飾情報レジスタに記憶し、
前記デコード回路は、
デコード対象命令が実行制御プリフィックス命令のターゲット命令である場合には、ターゲット命令修飾情報レジスタに記憶されている前記実行制御情報に基づき、実行制御プリフィックス命令によって修飾されたターゲット命令の実行の有無を判断してターゲット命令が実行されるようにデコードすることを特徴とする。
【００２２】
ターゲット命令の実行の有無を制御するために必要な実行制御情報とは、例えば実行制御プリフィックス命令に先だって実行された比較命令の比較結果によってターゲット命令の実行の有無を制御する場合には、ターゲット命令の実行無し又は有りに対応する比較結果等でもよい。
【００２３】
そして比較命令の比較結果が、定義された比較コードと一致したら、ターゲット命令をＮＯＰ命令にすり替えるようにしてもよい。
【００２４】
本発明によれば、回路規模の増大を招くことなく、ターゲット命令の実行の有無を制御するための実行制御プリフィックス命令を実質上０クロックで実現することができ、情報処理装置の高速化を図ることが出来る。
（６）本発明の情報処理装置は、
前記フェッチ回路は、
命令コードの少なくとも２倍以上のバス幅を有するバスに接続され、前記バスを介して複数命令を１クロックで命令キューにフェッチすることを特徴とする。
（７）本発明の情報処理装置は、
ターゲット命令は、当該ターゲット命令を修飾するプリフィックス命令の後に連続して配置され、
前記デコード回路が第１の命令のデコード中に、前記プリフィックス命令専用デコード回路が第１の命令に続く第２の命令についてプリフィックス命令専用デコード処理を行うことを特徴とする。
（８）本発明は、上記のいずれかに記載の情報処理装置と、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
【００２５】
本発明によれば、ローコストで高速実行可能な情報処理装置を内蔵しているため、安価で高機能な電子機器を提供することが出来る。
【００２６】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２７】
１．情報処理装置
図１は、従来のマイクロコンピュータ（広義には情報処理装置）におけるパイプライン制御の一例について説明するための図である。
【００２８】
同図は、Ｆｅｔｃｈ（Ｆ）、Ｄｅｃｏｄｅ（Ｄ）、Ｅｘｅｃｕｔｅ（Ｅ）、Ａｃｃｅｓｓ（Ａ）、Ｗｒｉｔｅ（Ｗ）の５段のパイプライン制御を行うマイクロコンピュータにおいて、▲１▼〜▲４▼の命令が処理されるタイムテーブルを表している。
【００２９】
ここで▲２▼ｅｘｔと▲３▼ｅｘｔはいずれも後に続く▲４▼ａｄｄを修飾するプリフィックス命令である。すなわち▲４▼ａｄｄは、▲２▼ｅｘｔと▲３▼ｅｘｔによって修飾されるターゲット命令である。
【００３０】
パイプライン制御を行うマイクロコンピュータにおいてプリフィックス命令とターゲット命令を含む４つの命令を実行する場合には、同図のタイムテーブルに示すように４クロック必要となる。
【００３１】
図２（Ａ）（Ｂ）は、本実施の形態の特徴について説明するための図である。図２（Ａ）は、本実施の形態の情報処理装置の特徴的な構成について説明するための図である。本実施の形態の情報処理装置は、複数の命令の命令コードを命令キュー（プリフェッチキュー）３０−０，３０−１・・・にフェッチするフェッチ回路２０と、命令キュー３０にフェッチされているデコード前の命令コード（ここではキュー１（３０−１）に格納されている命令コード、キュー２（３０−２）に格納されている命令コード）を入力し、所定のプリフィックス命令であるか否か判断し、プリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報をターゲット命令修飾情報レジスタ５０に記憶させるプリフィックス命令専用デコード処理を行うプリフィックス命令専用デコード回路４０と、命令キュー３０にフェッチされているプリフィックス命令以外の命令コードを入力しデコードするデコード回路６０と、デコードされた命令を実行する実行回路７０を含む。
【００３２】
図２（Ｂ）は、本実施の形態の情報処理装置の特徴的な動作について説明するための図である。
【００３３】
ここで図１の▲１▼〜▲４▼の命令（ｓｕｂ、ｅｘｔ、ｅｘｔ、ａｄｄ）が命令キュー３０−０，３０−１・・・に格納されているとする。
【００３４】
命令キュー０（３０−０）に格納された第１の命令（ここではｓｕｂ）がデコード回路６０に渡されるとともに（ｓ１）、命令キュー１（３０−１）に格納された第２の命令（ここではｅｘｔ）、命令キュー２（３０−２）に格納された第３の命令（ここではｅｘｔ）が、プリフィックス命令専用デコード回路４０に入力され（ｓ２，ｓ３）、前記デコード回路６０が第１の命令（ここではｓｕｂ）のデコード中に、前記プリフィックス命令専用デコード回路４０が第１の命令に続く第２の命令（ここではｅｘｔ）及び第３の命令（ここではｅｘｔ）についてプリフィックス命令専用デコード処理を行う。
【００３５】
ここで、第２の命令（ここではｅｘｔ）および第３の命令（ここではｅｘｔ）は、プリフィックス命令であるため、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報がターゲット命令修飾情報レジスタ５０に記憶される（ｓ４）。
【００３６】
次に、命令キュー１（３０−１）に格納された第２の命令（ここではｅｘｔ）、命令キュー２（３０−２）に格納された第３の命令（ここではｅｘｔ）はプリフィックス命令であるため、これらの命令はデコード回路に渡されず、命令キュー３（３０−０）に格納された第４の命令（ここではａｄｄ）がデコード回路６０に渡される（ｓ５）。デコード回路では、ターゲット命令修飾情報レジスタ５０に格納されている情報を入力して（Ｓ６）、第４の命令（ここではａｄｄ）についてプリフィックス命令に修飾されたターゲット命令として実行されるようにデコード処理を行う。
【００３７】
このようにすることで実質上、プリフィックス命令の実行が０クロックとなる。
【００３８】
なおここでは前記命令コードデコード回路がキュー１に格納されている命令コードの第１の命令のデコード中に、前記プリフィックス命令専用デコード回路が、キュー１（３０−１）に格納されている命令コード及びキュー２（３０−２）に格納されている第２の命令及び第３の命令についてプリフィックス命令専用デコード処理を行う場合について説明したがそれに限られない。
【００３９】
例えば、１つのターゲット命令を修飾するプリフィックス命令が１つしかない場合には、前記命令コードデコード回路が第１の命令のデコード中に、前記プリフィックス命令専用デコード回路が第２の命令についてプリフィックス命令専用デコード処理を行うようにしてもよい。
【００４０】
また例えば、１つのターゲット命令を修飾するプリフィックス命令がｎ個ある場合には、前記命令コードデコード回路が第１の命令のデコード中に、前記プリフィックス命令専用デコード回路が第２〜第ｎ＋１の命令についてプリフィックス命令専用デコード処理を行うようにしてもよい。
【００４１】
図３は、本実施の形態のマイクロコンピュータ（広義には情報処理装置）の構成について説明するための機能ブロック図である。
【００４２】
本実施の形態のマイクロコンピュータは、ＣＰＵ（広義には、処理回路）１０と、ＢＣＵ（バスコントロールユニット）１００とを含む。なおマイクロコンピュータ１００は、これ以外にもＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＭＵ（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ）、ＤＭＡＣ（Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）ドライバ或いはＳＩＯ（Ｓｅｒｉａｌ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）等の各種周辺回路を含むことができる。
【００４３】
ＣＰＵ１０は、ＲＯＭやＲＡＭに記憶されたプログラムに従って、命令のフェッチ、命令のデコード、演算処理、レジスタへの書き込み等をパイプライン制御で行う。ＣＰＵ１０は３２ビット幅のデータを扱うが１６ビットの命令コードを処理するよう構成されている。
【００４４】
ＢＣＵ（バスコントロールユニット）１００は、図示しない３２ビットの命令データバスや、命令データアクセスのための命令アドレスバスや、３２ビットのデータバスや、データアクセスのためのデータアドレスバスや、コントロール信号のためのコントロールバス等の各種バスのバスコントロール処理を行う。
【００４５】
そしてこのＣＰＵ１０は、前記各種バスを介して外部と信号のやり取りを行う。
【００４６】
またＣＰＵ１０は、フェッチ回路２０、プリフィックス命令専用デコード回路４０、デコード回路６０、実行回路７０、レジスタファイル８０（汎用レジスタ８２，特殊レジスタ８４）、命令アドレスジェネレータ９０等を含んで構成される。
【００４７】
フェッチ回路２０は、所定のターゲット命令と、該ターゲット命令の前におかれターゲット命令の機能を修飾するプリフィックス命令を含む複数の命令の命令コードを命令キュー（例えばプリフェッチキュー）３０−０、３０−１・・にプリフェッチする。
【００４８】
プリフィックス命令専用デコード回路４０は、所定の命令キュー（ここでは３０−１、３０−２）に信号線を介して接続され、所定の命令キューフェッチされているデコード前の命令コードを入力し、所定のプリフィックス命令であるか否か判断し、プリフィックス命令である場合には、プリフィックス命令に修飾されたターゲット命令のデコードに必要な情報をターゲット命令修飾情報保持レジスタ５０に記憶させる。
【００４９】
デコード回路６０は命令キューに信号線を介して接続され命令キューにフェッチされているプリフィックス命令以外の命令コードを入力しデコードする。
【００５０】
また前記デコード回路は、ターゲット命令修飾情報レジスタ５０に信号線を介して接続され、ターゲット命令修飾情報レジスタ５０に記憶されているターゲット命令修飾情報を入力し、プリフィックス命令によって修飾されたターゲット命令のデコードを行うターゲット命令デコード回路６２を含む。
【００５１】
実行回路７０は、前記デコード回路６０がデコードした命令のオペレーション内容に基づき該命令の実行をおこなう。実行回路７０は、データの演算を行うデータ演算回路７２と、アドレスの演算を行うアドレス演算回路７４を含み、必要に応じて汎用レジスタ８４やメモリ（ＲＡＭ等）にアクセスしてデコード回路６０でデコードされた命令の機能を実行する。
【００５２】
レジスタファイル９０は、汎用レジスタＲ０〜Ｒ１５の１６本の汎用レジスタ、プログラムカウンタ（ＰＣ）、プロセッサーステータスレジスタ（ＰＳＲ）、スタックポインタ（ＳＰ）、算術ローレジスタ（ＡＬＲ）、算術ハイレジスタ（ＡＨＲ）等のＣＰＵで使用するレジスタを有している。
【００５３】
命令アドレスジェネレータ９０は、図示しないプログラムカウンタ等に基づき命令キューにフェッチする命令アドレスを生成する。
【００５４】
図４はフェッチ回路の命令キューの具体的回路構成の一例について説明するための図である。
【００５５】
フェッチ回路は、図示しないバスや信号線ＩＲＩＮを介して、ＲＯＭやＲＡＭに記憶された命令コードを入力する。ここでは命令長は１６ビットでデータ転送は３２ビットで行われる場合について説明する。
【００５６】
また命令キューＱ０〜Ｑ５は６個の命令キューを有し、６個の命令コードをフェッチ可能に構成されている。
【００５７】
フェッチ回路は読み込んだ３２ビットのデータをビット（３１：１６）部分とビット１５：０）部分に分けＱ０〜Ｑ５に順番に格納し、順番にデコード、実行されるように制御する。例えば命令キューＱ０〜Ｑ５を順番に使用可能か否かを検索して、使用可能なキューに読み込んだ命令を格納するようにしてもよい。
【００５８】
またフェッチ回路は、各クロック毎に命令キューＱ０の出力がデコード回路に入力され、同じタイミングで命令キューＱ１、Ｑ２の出力がプリフィックス命令専用デコード回路に入力されるように制御する。
【００５９】
そしてプリフィックス命令専用デコード回路４０が命令キューＱ１、Ｑ２の命令が所定のプリフィックス命令であると判断した場合には、これらの命令はデコード回路に入力されないように制御する。例えば命令キューＱ１、Ｑ２の命令が所定のプリフィックス命令である場合には命令キューＱ０に格納せず、Ｑ３をＱ０に格納することで、これらの命令はデコード回路に入力されないように制御してもよい。
【００６０】
また命令キューＱ５〜Ｑ３に格納されている命令は、命令キューＱ１又は命令キューＱ２のいずれかを経由して命令キューＱ０に格納されるように制御する。このようにすることで、各命令がプリフィックス命令専用デコード回路４０によって、プリフィックス命令であるか否かを判断され、プリフィックス命令である場合にはプリフィックス命令専用のデコードを行わせることが出来る。
【００６１】
なお上記例では命令コードの２倍の幅を有するバスに接続されて１クロックで２命令フェッチ可能な回路構成を例にとり説明したがそれに限られない。
【００６２】
例えば命令コードの少なくとも３倍以上のバス幅を有するバスに接続され、前記バスを介して３命令以上の命令を１クロックで命令キューにフェッチするような構成にしてもよい。
【００６３】
２．即値拡張プリフィックス命令
図５（Ａ）は、即値拡張プリフィックス命令のターゲット命令となることが可能な命令の命令コード２１０のビットフィールドを示した図であり、図５（Ｂ）は、ｅｘｔ命令（即値拡張プリフィックス命令）の命令コード２２０のビットフィールドを示している。ビットフィールドの上の数字はビットの位置を示しており、同図（Ａ）（Ｂ）に示すように、命令コードはビット１５からビット０まで１６ビット幅のフィールドを有している。
【００６４】
図５（Ａ）に示す即値拡張プリフィックス命令のターゲット命令となることが可能な命令の命令コード２１０は、ビット１５からビット１０に６ビットのオペコード指定領域２１２と、ビット９からビット４に６ビットの即値指定領域２１６と、ビット３からビット０に４ビットのレジスタ指定領域２１８を有している。
【００６５】
オペコード指定領域２１２は、オペレーションの内容を特定するためのオペコードが格納されている。
【００６６】
前記即値指定領域２１６には、６ビットの即値（ｉｍｍ６）の値が格納されており、レジスタ指定領域２１８には、いずれかの汎用レジスタ（ｒｄ）を示すコードが格納されている。
【００６７】
ここで即値拡張プリフィックス命令のターゲット命令となることが可能な命令は、前記即値（ｉｍｍ６）と汎用レジスタ（ｒｄ）に対して前記オペコードで示される演算を行い、結果を汎用レジスタ（ｒｄ）に対して書き込む動作を行う命令である。
【００６８】
また、図５（Ｂ）に示すように、ｅｘｔ命令（即値拡張プリフィックス命令）の命令コード２２０は、ビット１５からビット１３に３ビットのオペコード指定領域２２２と、ビット１２からビット０に１３ビットの即値を指定する領域２２４とを有している。
【００６９】
オペコード指定領域２１２は、即値拡張プリフィックス命令であることを示すオペコードが格納されている。
前記即値を指定する領域２２４には、１３ビットの即値（ｉｍｍ１３）の値が格納されている。
【００７０】
ｅｘｔ命令はプリフィックス命令であるため、単独ではＣＰＵにおけるＡＬＵでの演算等の実行を何ら行わないが、後続のターゲット命令が実行される際に、そのターゲット命令の実行に使用する即値を拡張する機能を有する。例えば図５（Ａ）の命令のように命令コードに即値を含んでいる命令がｅｘｔ命令のターゲット命令となった場合、ターゲット命令実行時に、ターゲット命令の命令コードに含まれる即値をｅｘｔ命令の６ビットの即値（ｉｍｍ６）を用いて拡張する機能を有する。
【００７１】
ここでまずタイプ１命令が単独で実行された場合の実行内容について説明する。図３において、まず、タイプ１命令は図示しないＲＯＭから図示しない命令データバスを介して、フェッチ回路２０により命令レジスタキュー３０に格納される。  そして、プリフィックス命令専用デコード回路４０でプリフィックス命令であるか否か判断される。
【００７２】
そしてプリフィックス命令でないのでデコード回路６０に入力され、デコードが行われる。このときデコード対象命令はターゲット命令ではないため、通常機能（プリフィックス命令で拡張されていない機能）用のデコードが行われ、通常機能で実行される。
【００７３】
すなわち命令コードで指定された汎用レジスタ（ｒｄ）に格納されたデータがレジスタファイル８０よりＡＬＵ（データ演算回路７２）に入力される。また、命令コードで指定された即値（ｉｍｍ６）は、命令デコード回路により切り出され、図示しない即値生成回路１７０で、前記即値（ｉｍｍ６）は３２ビットにゼロ拡張あるいはサイン拡張され、前記拡張された即値はＡＬＵ（データ演算回路７２）に入力される。そしてＡＬＵ（データ演算回路７２）はタイプ１命令のオペコードで示される演算を行い、演算結果をレジスタファイル８０の汎用レジスタ（ｒｄ）に格納する。
【００７４】
このように即値拡張プリフィックス命令のターゲット命令となることが可能な命令は単独で実行することも出来るし、直前の１又は複数のｅｘｔ命令と組み合わせて実行することも可能である。ｅｘｔ命令と組み合わせて実行された場合は、まず命令キューに格納されているｅｘｔ命令がターゲット命令専用デコード回路（図３の４０参照）でデコードされ、命令コードで指定された即値（図５（Ｂ）のｉｍｍ１３）が、ターゲット命令専用デコード回路により切り出され、ターゲット命令修飾情報レジスタ５０に格納される。
【００７５】
次にデコード回路にｅｘｔ命令に後続するターゲット命令が読み込まれ、ターゲット命令機能拡張回路（図３の６２参照）によって、ターゲット命令修飾情報レジスタ（図３の５０参照）に保持されている先のｅｘｔ命令の即値を用いてｉｍｍ６の拡張が行われる。
【００７６】
従って、即値拡張プリフィックス命令のターゲット命令となることが可能な命令が単独で実行されたか、直前の１又は複数のｅｘｔ命令と組み合わせて実行されたかにより、生成される拡張された即値が異なってくる。
【００７７】
図６（Ａ）〜（Ｃ）は、タイプ１命令のオペレーションを表した式と該オペレーションの実行に使用される拡張された即値のフィールド図である。
【００７８】
図６（Ａ）は、即値拡張プリフィックス命令のターゲット命令となることが可能な命令が単独で実行された場合のオペレーションを表した式と、実行に使用される拡張された即値２３０のビットフィールド図である。同図に示すように、タイプ１命令の６ビットの即値（ｉｍｍ６）がゼロ拡張又はサイン拡張のいずれかの方法で拡張されて３２ビットの即値２３０となる。ゼロ拡張された場合は、ビット６からビット３１の領域２３２はすべてゼロとなり、サイン拡張された場合は、ビット６からビット３１の領域２３２は、すべてｉｍｍ６の最上位ビットすなわちビット５と同じビットとなる。
【００７９】
図６（Ｂ）は、直前の１のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２４０のビットフィールド図である。同図に示すように、即値拡張プリフィックス命令のターゲット命令となることが可能な命令の６ビットの即値（ｉｍｍ６）がビット５からビット０のフィールド２４６にセットされ、直前の１のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット１８からビット６にセットされ、１９ビットの即値（ｉｍｍ１９）が生成される。そして、前記１９ビットの即値（ｉｍｍ１９）はゼロ拡張又はサイン拡張のいずれかの拡張方法で３２ビットの即値２４０となる。ゼロ拡張された場合は、１９ビットから３１ビットの領域２４２はすべてゼロとなり、サイン拡張された場合は、１９ビットから３１ビットの領域２４２は、すべてｉｍｍ１９の最上位ビットすなわち１８ビット目と同じビットとなる。
【００８０】
図６（Ｃ）は、２個のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２５０のビットフィールド図である。同図に示すように、即値拡張プリフィックス命令のターゲット命令となることが可能な命令の６ビットの即値（ｉｍｍ６）がビット５からビット０のフィールド２５６にセットされ、１回目のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット３１からビット１９にセットされ、２回目のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット１８からビット６にセットされ、３２ビットの即値（ｉｍｍ３２）２５０が生成される。
【００８１】
図７は、プリフィックス命令が即値拡張プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【００８２】
命令キュー１に格納されている命令は、即値拡張プリフィックス命令か否か判断し、即値拡張プリフィックス命令である場合には以下の処理を行う（ステップＳ１０）。
【００８３】
まずターゲット命令修飾情報レジスタの即値拡張ステータスビットをＯＮに、それ以外のステータスビットをＯＦＦにセットする（ステップＳ２０）。
【００８４】
次に命令コードのｉｍｍ１３をターゲット命令修飾情報レジスタの即値拡張情報保持部に保持する（ステップＳ３０）。
【００８５】
そして命令キュー１の命令を無効にする（ステップＳ４０）。ここで命令キュー１の命令を無効にするとは、命令キュー１の命令がデコード回路のデコード対象とならないように制御するために必要な処理を含む。
【００８６】
図８は、即値拡張プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【００８７】
デコード対象命令が、即値拡張プリフィックス命令のターゲット命令となれる命令か否か判断する（ステップＳ５０）。ここでプリフィックス命令のターゲット命令となれる命令については予め規定されているので、デコード対象命令の命令コードと予め規定されている即値拡張プリフィックス命令のターゲット命令となれる命令の命令コードを比較して判断するようにしてもよい。
【００８８】
デコード対象命令が即値拡張プリフィックス命令のターゲット命令となれる命令である場合には、即値拡張ステータスビットがＯＮか否か判断する（ステップＳ６０）。
【００８９】
そして即値拡張ステータスビットがＯＮである場合には、即値拡張情報保持部に保持されている即値を用いて、ターゲット命令の即値を拡張して、ターゲット命令が実行されるようにデコードする（ステップＳ７０）。
【００９０】
またデコード対象命令が即値拡張プリフィックス命令のターゲット命令となれる命令でない場合や、即値拡張ステータスビットがＯＮでない場合にはデコード対象命令が通常機能でデコードされるようにデコードする（ステップＳ８０）。
【００９１】
３．シフトプリフィックス命令
図９（Ａ）（Ｂ）（Ｃ）は、シフトプリフィックス命令について説明するための図である。
【００９２】
図９（Ａ）はシフトプリフィックス命令の命令コード３１０のビットフィールドを示した図である。
【００９３】
同図に示すように、シフトプリフィックス命令の命令コード３１０は、ビット１５からビット４のオペコード指定領域３１２と、ビット３の左シフトＯＲ右シフト情報３１４、ビット２の論理シフトＯＲ算術シフト情報３１６、ビット１〜ビット０にシフト値情報３１８を有している。シフト値情報３１８には、１〜４の範囲でシフト値を指定可能である。
【００９４】
オペコード指定領域３１２には、シフトプリフィックス命令であることを示すオペコードが格納されている。
【００９５】
図９（Ｂ）は、シフトプリフィックス命令のターゲット命令となることが可能なａｄｄ命令が単独で実行される場合のオペレーションについて説明するための図である。ａｄｄ命令が単独で実行されるとはａｄｄ命令がシフトプリフィックス命令のターゲット命令とならずに実行される場合を意味する。この場合には同図に示すように、レジスタ２と「３」を足した結果をレジスタ２に格納するオペレーションが行われる。
【００９６】
図９（Ｃ）は、ａｄｄ命令が、シフトプリフィックス命令のターゲット命令として実行される場合のオペレーションについて説明するための図である。
【００９７】
ここで先行するｅｘｔ命令（シフトプリフィックス命令）は、ターゲット命令の実行結果を右方向に１ビット論理シフトすることを指示するプリフィックス命令である（オペランドの’ｓｒ１’はｓｈｉｆｔ  ｒｉｇｈｔ  ｌｏｇｉｃａｌを意味し、’１’は１ビットシフトすることを意味する）。
【００９８】
この場合には同図に示すように、先行するｅｘｔ命令（シフトプリフィックス命令）の指示にしたがって、レジスタ２と「３」を足した結果を右方向に１ビット論理シフトし、レジスタ２に格納するオペレーションが行われる。
【００９９】
図１０は、プリフィックス命令がシフトプリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１００】
命令キュー１に格納されている命令は、シフトプリフィックス命令か否か判断し、シフトプリフィックス命令である場合には以下の処理を行う（ステップＳ１１０）。
【０１０１】
まずターゲット命令修飾情報レジスタのシフトステータスビットをＯＮに、それ以外のステータスビットをＯＦＦにセットする（ステップＳ１２０）。
【０１０２】
次に命令コードの右シフトＯＲ左シフト情報、論理シフトＯＲ算術シフト情報、シフト値情報をターゲット命令修飾情報レジスタのシフト方向選択ビット、シフト種類選択ビット、シフト値指定部に保持する（ステップＳ１３０）。
【０１０３】
そして命令キュー１の命令を無効にする（ステップＳ１４０）。ここで命令キュー１の命令を無効にするとは、命令キュー１の命令がデコード回路のデコード対象とならないように制御するために必要な処理を含む。
【０１０４】
図１１は、シフトプリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１０５】
デコード対象命令がシフトプリフィックス命令のターゲット命令となれる命令か否か判断する（ステップＳ１５０）。ここでシフトプリフィックス命令のターゲット命令となれる命令については予め規定されているので、デコード対象命令の命令コードと予め規定されているシフトプリフィックス命令のターゲット命令となれる命令の命令コードを比較して判断するようにしてもよい。
【０１０６】
デコード対象命令がシフトプリフィックス命令のターゲット命令となれる命令である場合には、シフトステータスビットがＯＮか否か判断する（ステップＳ１６０）。
【０１０７】
そしてシフトステータスビットがＯＮである場合には、ターゲット命令修飾情報レジスタのシフト方向選択ビット、シフト種類選択ビット、シフト値指定部に保持されている右シフトＯＲ左シフト情報、論理シフトＯＲ算術シフト情報、シフト値情報を用いて、ターゲット命令を実行し、演算結果をシフトする（ステップＳ１７０）。
【０１０８】
またデコード対象命令がシフトプリフィックス命令のターゲット命令となれる命令でない場合や、シフトステータスビットがＯＮでない場合にはデコード対象命令が通常機能でデコードされるようにデコードする（ステップＳ１８０）。
【０１０９】
４．レジスタ拡張プリフィックス命令
図１２（Ａ）（Ｂ）（Ｃ）は、レジスタ拡張プリフィックス命令について説明するための図である。
【０１１０】
図１２（Ａ）は、レジスタ拡張プリフィックス命令の命令コードのビットフィールドを示した図である。同図に示すように、レジスタ拡張プリフィックス命令の命令コード３２０のビット１５からビット４はオペコード指定領域３２２であり、ビット３〜ビット０はレジスタ拡張情報３２４である。
【０１１１】
オペコード指定領域３３２には、レジスタ拡張プリフィックス命令であることを示すオペコードが格納されている。レジスタ拡張情報３２４にはターゲット命令の実行時にレジスタディスティネーションとして使用されるレジスタ番号が記憶されている。
【０１１２】
図１２（Ｂ）は、レジスタ拡張プリフィックス命令のターゲット命令となることが可能なａｄｄ命令が単独で実行される場合のオペレーションについて説明するための図である。ａｄｄ命令が単独で実行されるとはａｄｄ命令がレジスタ拡張プリフィックス命令のターゲット命令とならずに実行される場合を意味する。この場合には同図に示すように、レジスタ２と「３」を足した結果をレジスタ２に格納するオペレーションが行われる。
【０１１３】
図１２（Ｃ）は、ａｄｄ命令が、レジスタ拡張プリフィックス命令のターゲット命令として実行される場合のオペレーションについて説明するための図である。この場合には同図に示すように、レジスタ２と「３」を足した結果を、先行するｅｘｔ命令（レジスタ拡張プリフィックス命令）で指定されたレジスタ１に格納するオペレーションが行われる。
【０１１４】
図１３は、プリフィックス命令がレジスタ拡張プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１１５】
命令キュー１に格納されている命令は、レジスタ拡張プリフィックス命令か否か判断し、レジスタ拡張プリフィックス命令である場合には以下の処理を行う（ステップＳ２１０）。
【０１１６】
まずターゲット命令修飾情報レジスタのレジスタ拡張ステータスビットをＯＮに、それ以外のステータスビットをＯＦＦにセットする（ステップＳ２２０）。
【０１１７】
次に命令コードに基づきレジスタ拡張情報をターゲット命令修飾情報レジスタのレジスタ拡張情報保持部に保持する（ステップＳ２３０）。
【０１１８】
そして命令キュー１の命令を無効にする（ステップＳ２４０）。ここで命令キュー１の命令を無効にするとは、命令キュー１の命令がデコード回路のデコード対象とならないように制御するために必要な処理を含む。
【０１１９】
図１４は、レジスタ拡張プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１２０】
デコード対象命令がレジスタ拡張プリフィックス命令のターゲット命令となれる命令か否か判断する（ステップＳ２５０）。ここでレジスタ拡張プリフィックス命令のターゲット命令となれる命令については予め規定されているので、デコード対象命令の命令コードと予め規定されているレジスタ拡張プリフィックス命令のターゲット命令となれる命令の命令コードを比較して判断するようにしてもよい。
【０１２１】
デコード対象命令がレジスタ拡張プリフィックス命令のターゲット命令となれる命令である場合には、レジスタ拡張ステータスビットがＯＮか否か判断する（ステップＳ２６０）。
【０１２２】
そしてレジスタ拡張ステータスビットがＯＮである場合には、ターゲット命令修飾情報レジスタの拡張レジスタ情報保持部に保持されている拡張レジスタ情報を用いて、ターゲット命令の実行時に使用するレジスタを拡張してターゲット命令が実行されるようにデコードする（ステップＳ２７０）。
【０１２３】
またデコード対象命令がレジスタ拡張プリフィックス命令のターゲット命令となれる命令でない場合や、レジスタ拡張ステータスビットがＯＮでない場合にはデコード対象命令が通常機能でデコードされるようにデコードする（ステップＳ２８０）。
【０１２４】
５．実行制御プリフィックス命令
図１５（Ａ）（Ｂ）（Ｃ）は、実行制御プリフィックス命令について説明するための図である。
【０１２５】
図１５（Ａ）は、実行制御プリフィックス命令の命令コードのビットフィールドを示した図である。同図に示すように、実行制御プリフィックス命令の命令コード３３０のビット１５からビット４はオペコード指定領域３３２であり、ビット３〜ビット０は実行制御条件判断コード３３４である。
【０１２６】
オペコード指定領域３３２には、実行制御プリフィックス命令であることを示すオペコードが格納されている。実行制御条件判断コード３３４は、「ＬＴ」「ＬＥ」「ＧＴ」「ＧＥ」「ＥＱ」「ＮＥ」・・・等の各種実行制御条件判断コードが格納される。例えば「ＬＴ」は「ｃｍｐ  ％Ｒ１、％Ｒ２」において「％Ｒ１が％Ｒ２より小さい」場合にターゲット命令をＮＯＰにすることを示す。
【０１２７】
図１５（Ｂ）は、実行制御プリフィックス命令の使用例について示した図であり、図１５（Ｃ）は図１５（Ｂ）の使用例のオペレーションについて説明するための図である。
【０１２８】
図１５（Ｃ）及び図１５（Ｂ）に示すように、ｅｘｔ命令（実行制御プリフィックス命令）は、ｃｍｐ命令（比較命令）の後におかれ、ｅｘｔ命令（実行制御プリフィックス命令）の後にくるターゲット命令（ここではａｄｄ命令）の実行の有無を比較命令の比較結果によって制御する機能を有する。
【０１２９】
図１６は、プリフィックス命令が実行制御プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１３０】
命令キュー１に格納されている命令は、実行制御プリフィックス命令か否か判断し、実行制御プリフィックス命令である場合には以下の処理を行う（ステップＳ３１０）。
【０１３１】
まずターゲット命令修飾情報レジスタの実行制御ステータスビットをＯＮに、それ以外のステータスビットをＯＦＦにセットする（ステップＳ３２０）。
【０１３２】
次に命令コードの実行制御判断コードをターゲット命令修飾情報レジスタの実行制御判断コード保持部に保持する（ステップＳ３３０）。
【０１３３】
そして命令キュー１の命令を無効にする（ステップＳ３４０）。ここで命令キュー１の命令を無効にするとは、命令キュー１の命令がデコード回路のデコード対象とならないように制御するために必要な処理を含む。
【０１３４】
図１７は、実行制御プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【０１３５】
デコード対象命令が実行制御プリフィックス命令のターゲット命令となれる命令か否か判断する（ステップＳ３５０）。ここで実行制御プリフィックス命令のターゲット命令となれる命令については予め規定されているので、デコード対象命令の命令コードと予め規定されている実行制御プリフィックス命令のターゲット命令となれる命令の命令コードを比較して判断するようにしてもよい。
【０１３６】
デコード対象命令が実行制御プリフィックス命令のターゲット命令となれる命令である場合には、実行制御ステータスビットがＯＮか否か判断する（ステップＳ３６０）。
【０１３７】
そして実行制御ステータスビットがＯＮである場合には、ターゲット命令修飾情報レジスタの実行制御条件判断コード情報保持部に保持されている実行制御条件判断コードを用いて、ターゲット命令の実行の有無を判断してターゲット命令が実行されるようにデコードする（ステップＳ３７０）。
【０１３８】
またデコード対象命令が実行制御プリフィックス命令のターゲット命令となれる命令でない場合や、実行制御ステータスビットがＯＮでない場合にはデコード対象命令が通常機能でデコードされるようにデコードする（ステップＳ３８０）。
【０１３９】
６．電子機器
次に、上述したマイクロコンピュータを含む電子機器について説明する。
例えば図１８（Ａ）に、電子機器の１つであるカーナビゲーションシステムの内部ブロック図を示し、図１９（Ａ）に、その外観図を示す。カーナビゲーションシステムの操作はリモコン７１０を用いて行われ、ＧＰＳやジャイロからの情報に基づいて位置検出部７２０が車の位置を検出する。地図などの情報はＣＤＲＯＭ７３０（情報記憶媒体）に格納されている。メモリ７４０は画像処理や音声処理の際の作業領域になるメモリであり、生成された画像は画像出力部７５０を用いて運転者に表示される。また、生成されたカーナビゲーション用のガイド音声は、音出力部７３５を用いて運転者に出力される。マイクロコンピュータ７００は、リモコン７１０、位置検出部７２０、ＣＤＲＯＭ７３０などの情報入力源から情報を入力し、種々の処理を行い、処理後の情報を、画像出力部７５０、音出力部７３５などの出力装置を用いて出力する。
【０１４０】
図１８（Ｂ）に、電子機器の１つであるゲーム装置の内部ブロック図を示し、図１９（Ｂ）に、その外観図を示す。このゲーム装置では、ゲームコントローラ７６０からのプレーヤの操作情報、ＣＤＲＯＭ７７０からのゲームプログラム、ＩＣカード７８０からのプレーヤ情報等に基づいて、メモリ７９０を作業領域としてゲーム画像やゲーム音を生成し、画像出力部８１０、音出力部８００を用いて出力する。
【０１４１】
図１８（Ｃ）に電子機器の１つであるプリンタの内部ブロック図を示し、図１９（Ｃ）にその外観図を示す。このプリンタでは、操作パネル８２０からの操作情報、コードメモリ８３０及びフォントメモリ８４０から文字情報に基づいて、ビットマップメモリ８５０を作業領域として、印刷画像を生成し、プリント出力部８６０を用いて出力する。またプリンタの状態やモードを表示パネル８７０を用いてユーザに伝える。
【０１４２】
なおマイクロコンピュータを適用できる電子機器としては、上記以外にも例えば、携帯電話（セルラーフォン）、ＰＨＳ、ページャ、携帯型情報端末、デジタルカメラ、ハードディスク装置、光ディスク（ＣＤ、ＤＶＤ）装置、光磁気ディスク（ＭＯ）装置、オーディオ機器、電子手帳、電子卓上計算機、ＰＯＳ端末、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、パーソナルコンピュータ、テレビ、ビューファインダ型、又はモニタ直視型のビデオテープレコーダなど種々のものを考えることができる。
【０１４３】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【０１４４】
また、本発明の電子機器の構成も、図１８（Ａ）〜（Ｃ）、図１９（Ａ）〜（Ｃ）で説明したものに限定されるものでなく、種々の変形実施が可能である
【図面の簡単な説明】
【図１】従来のマイクロコンピュータ（広義には情報処理装置）におけるパイプライン制御の一例について説明するための図である。
【図２】図２（Ａ）（Ｂ）は、本実施の形態の特徴について説明するための図である。
【図３】本実施の形態のマイクロコンピュータ（広義には情報処理装置）の構成について説明するための機能ブロック図である。
【図４】フェッチ回路の命令キューの具体的回路構成の一例について説明するための図である。
【図５】図５（Ａ）（Ｂ）は、即値拡張プリフィックス命令及びそのターゲット命令について説明するための図である。
【図６】図６（Ａ）〜（Ｃ）は、タイプ１命令のオペレーションを表した式と該オペレーションの実行に使用される拡張された即値のフィールド図である。
【図７】プリフィックス命令が即値拡張プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【図８】即値拡張プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【図９】図９（Ａ）（Ｂ）（Ｃ）は、シフトプリフィックス命令について説明するための図である。
【図１０】プリフィックス命令がシフトプリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１１】シフトプリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１２】図１２（Ａ）（Ｂ）（Ｃ）は、レジスタ拡張プリフィックス命令について説明するための図である。
【図１３】プリフィックス命令がレジスタ拡張プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１４】レジスタ拡張プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１５】図１５（Ａ）（Ｂ）（Ｃ）は、実行制御プリフィックス命令について説明するための図である。
【図１６】プリフィックス命令が実行制御プリフィックス命令である場合に、プリフィックス命令専用デコード回路が命令キューの命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１７】実行制御プリフィックス命令のターゲット命令を含むデコード対象命令をデコードする処理の流れを説明するためのフローチャート図である。
【図１８】図１８（Ａ）（Ｂ）（Ｃ）は、マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図１９】図１９（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
１０    ＣＰＵ（広義には、処理回路）
２０    フェッチ回路
３０    命令キュー
４０    プリフィックス命令専用デコード回路
５０    ターゲット命令修飾情報レジスタ
６０    デコード回路
６２    ターゲット命令デコード回路
７０    実行回路
７２    データ演算回路
７４    アドレス演算回路
８０    レジスタファイル
８２    汎用レジスタ
８４    特殊レジスタ
９０    命令アドレスジェネレータ
１００  ＢＣＵ（バスコントロールユニット））
７００  マイクロコンピュータ
７１０  リモコン
７２０  位置検出部
７３５、８００  音出力部
７４０  メモリ
７５０、８１０  画像出力部
７７０  ＣＤＲＯＭ
７８０  カード
７９０  ＩＣメモリ
８００  音出力部
８２０  操作パネル
８３０  コードメモリ
８４０  フォントメモリ
８５０  ビットマップメモリ
８６０  プリント出力部
８７０  表示パネル
【図１】
0003627725.tif 000002
【図２】
0003627725.tif 000003
【図３】
0003627725.tif 000004
【図４】
0003627725.tif 000005
【図５】
0003627725.tif 000006
【図６】
0003627725.tif 000007
【図７】
0003627725.tif 000008
【図８】
0003627725.tif 000009
【図９】
0003627725.tif 000010
【図１０】
0003627725.tif 000011
【図１１】
0003627725.tif 000012
【図１２】
0003627725.tif 000013
【図１３】
0003627725.tif 000014
【図１４】
0003627725.tif 000015
【図１５】
0003627725.tif 000016
【図１６】
0003627725.tif 000017
【図１７】
0003627725.tif 000018
【図１８】
0003627725.tif 000019
【図１９】
0003627725.tif 000020