(57)【特許請求の範囲】
【請求項１】
ターゲット命令と、該ターゲット命令の機能を拡張するためのプリフィックス命令が入力される情報処理回路であって、
前記ターゲット命令及びプリフィックス命令を入力し、該命令コードのオペレーション内容を解析する命令コード解析手段と、
前記命令コード解析手段が解析したオペレーション内容に基づき命令を実行する命令実行手段とを含み、
前記命令コード解析手段は、
前記プリフィックス命令に基づき、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張する即値拡張手段を含むよう構成され、
前記命令実行手段は、
前記即値拡張手段により拡張された即値に基づきターゲット命令を実行し、
前記命令コード解析手段は、
プリフィックス命令入力後にターゲット命令を入力した場合、該ターゲット命令のオペレーション内容を拡張して解釈するターゲット命令機能拡張手段を含み、
前記命令実行手段は、
前記ターゲット命令機能拡張手段で拡張されたオペレーション内容で該ターゲット命令を実行し、
前記ターゲット命令機能拡張手段は、
プリフィックス命令入力後に２オペランド命令である所定のターゲット命令を入力した場合、該ターゲット命令の２つのオペランドとプリフィックス命令に含まれた即値を用いて、該ターゲット命令のオペレーション内容を３オペランド命令に拡張して解釈することを特徴とする情報処理回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理回路及び半導体集積回路装置、前記情報処理回路を内蔵するマイクロコンピュータ、該マイクロコンピュータを用いて構成された電子機器に関する。
【０００２】
【背景の技術】
従来、３２ビットのデータを処理できるＲＩＳＣ方式のマイクロコンピュータでは、３２ビット幅に固定された命令コードを用いられていた。その理由は、固定長ビット幅の命令コードを用いると、可変長ビット幅の命令コードを用いる場合に比べ、命令のデコードに要する時間を短縮でき、また、マイクロコンピュータの回路規模を小さくすることが出来るからである。
【０００３】
ところが、３２ビットのマイクロコンピュータにおいても、特に３２ビットも必要としない命令コードも多い。従って全ての命令の命令コードを３２ビットで記述すると、命令コードに冗長な部分が生じる命令が多くなり、メモリーの使用効率が悪くなる。
【０００４】
この様な場合、冗長な命令コードを論理圧縮しておき、マイクロコンピュータの内部で元の命令にデコードしながら、命令を実行することも可能である。しかし、この様な方式では、制御回路が複雑になるという問題があった。
【０００５】
【発明が解決しようとする課題】
そこで、本願の発明者は、制御回路を複雑にすることなくメモリの使用効率を向上させるために、処理出来るデータのビット幅より短いビット幅の固定長命令コードを処理するマイクロコンピュータについての検討を行っていた。
【０００６】
しかし、例えば３２ビット固定長の命令コードを単に１６ビットの固定長にすると以下のような問題点が生じる。
【０００７】
通常命令コードにはオペコードや即値以外のオペランドも記述するため、１６ビットの命令コードを使用しても、使用できる即値のビット数は１６ビットよりもさらに小さいものとなる。すなわち、３２ビットのデータを処理できるにもかかわらず、１６ビットより小さい即値しか命令コードで指定できないという問題が生じる。
【０００８】
また、例えば、１６ビットの命令コードでは、３オペランド命令のオペランドのフィールドを確保することは難しい。従って、この様に短い命令コードでは記述が難しいオペレーションをどの様に処理するのかという問題が生じる。
【０００９】
上記問題を解決するためには、短い命令コードに含まれる即値を、必要に応じて拡張する機能が必要となる。また、短い命令コードで記述出来ないオペレーションを実行するために、オペレーション内容を拡張する機能が必要となる。
【００１０】
本発明の目的は、制御回路を複雑にすることなく、必要に応じて命令コードに含まれる即値を拡張する機能を有する情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器を提供することである。
【００１１】
また、本発明の他の目的は、制御回路を複雑にすることなく、オペレーション内容を拡張する機能を有する情報処理回路、半導体集積回路装置、マイクロコンピュータ、電子機器を提供することである。
【００１２】
【課題を解決するための手段】
本願請求項１にかかる発明は、ターゲット命令と、該ターゲット命令の機能を拡張するためのプリフィックス命令が入力される情報処理回路であって、
前記ターゲット命令及びプリフィックス命令を入力し、該命令コードのオペレーション内容を解析する命令コード解析手段と、
前記命令コード解析手段が解析したオペレーション内容に基づき命令を実行する命令実行手段とを含み、
前記命令コード解析手段は、
前記プリフィックス命令に基づき、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張する即値拡張手段を含むよう構成され、
前記命令実行手段は、
前記即値拡張手段により拡張された即値に基づきターゲット命令を実行し、
前記命令コード解析手段は、
プリフィックス命令入力後にターゲット命令を入力した場合、該ターゲット命令のオペレーション内容を拡張して解釈するターゲット命令機能拡張手段を含み、
前記命令実行手段は、
前記ターゲット命令機能拡張手段で拡張されたオペレーション内容で該ターゲット命令を実行し、
前記ターゲット命令機能拡張手段は、
プリフィックス命令入力後に２オペランド命令である所定のターゲット命令を入力した場合、該ターゲット命令の２つのオペランドとプリフィックス命令に含まれた即値を用いて、該ターゲット命令のオペレーション内容を３オペランド命令に拡張して解釈することを特徴とする。
【００１３】
【発明の実施の形態】
本実施の形態の特徴について説明する。
第１の実施の形態は、
所与のターゲット命令と、該ターゲット命令の機能を拡張するためのプリフィックス命令が入力される情報処理回路であって、
前記ターゲット命令及びプリフィックス命令を入力し、該命令コードのオペレーション内容を解析する命令コード解析手段と、
前記命令コード解析手段が解析したオペレーション内容に基づき命令を実行する命令実行手段とを含み、
前記命令コード解析手段は、
前記プリフィックス命令に基づき、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張する即値拡張手段を含むよう構成され、
前記命令実行手段は、
前記即値拡張手段により拡張された即値に基づきターゲット命令を実行することを特徴とする。
命令コード解析手段は、入力した命令コードを解読し、命令の対象となるデータの記憶されている記憶手段の番地を計算する等、命令実行手段が命令を実行するために必要な処理を行う。
【００１４】
第１の実施の形態の情報処理回路には、ターゲット命令及び該ターゲット命令の機能を拡張するプリフィックス命令が入力される。プリフィックス命令は、それ単独では命令実行手段において実行されず、後続のターゲット命令が実行される際に、そのターゲット命令の機能を拡張する機能を有する。
【００１５】
即値拡張手段は、プリフィックス命令に基づき、ターゲット命令の実行に必要な即値を拡張する。ターゲット命令の実行に必要な即値とは、例えばターゲット命令の命令コードに含まれている即値や、プリフィックス命令の命令コードに含まれている即値であって、実行する際に必要となる即値をいう。
【００１６】
ここでいう即値の拡張とは、例えば通常のゼロ拡張やサイン拡張のほか、命令コード中に記載されている即値のビット幅を伸張して、伸張された部分に、所与のビットを補う場合も含む。すなわち、第１の実施の形態によれば、プリフィックス命令に基づき、前記所与のビットを補って、即値を拡張することが出来る。
【００１７】
従って、命令コードのビット数を大きくする原因となる即値を含む命令コードのビット数を短く設定することが可能となる。このため、可変長命令コードをデコードするための複雑な制御回路を有しなくても、短い固定長命令コードの採用するという簡単な構成で、メモリーの使用効率を改善することができる。
【００１８】
第２の実施の形態は、
第１の実施の形態において、
固定長の命令コードを入力して実行するよう構成されていることを特徴とする。
【００１９】
第２の実施の形態によれば、固定長命令コードを使用することにより、可変長ビット幅の命令コードを用いる場合に比べ、命令のデコードに要する時間を短縮でき、また、情報処理回路の回路規模を小さくすることが出来る。
【００２０】
また、プリフィックス命令により、即値を拡張することが出来るため、命令コードを長くする原因となる即値を短く設定することができる。従って、固定長の命令コードの長さを短く設定することができるため、命令コードの冗長な部分を効率よく削減し、メモリー、特に命令コードを記憶するメモリーの使用効率を改善することができる。
【００２１】
第３の実施の形態は、
第２の実施の形態において、
前記固定長命令コードのビット幅が、前記情報処理回路が処理出来るデータ又はアドレスのビット幅以下であることを特徴とする。
【００２２】
第３の実施の形態によれば、命令コードのビット幅を情報処理回路が処理できるデータ又はアドレスのビット幅以下の小さなビット幅にしても、前記情報処理回路が処理できるビット幅に即値を拡張をすることができる。この様に、命令コードのビット幅を情報処理回路が処理できるデータ又はアドレスのビット幅以下にできるため、メモリーの使用効率を改善することができる。
【００２３】
第４の実施の形態は、
第３の実施の形態において
前記情報処理回路は、１６のビット幅の固定長の命令コードを入力するよう構成され、
前記即値拡張手段は、
前記プリフィックス命令に基づき、前記ターゲット命令の実行に必要な即値を３２ビットの幅に拡張し、
前記命令実行手段は、
前記即値拡張手段で拡張された３２ビットの即値を用いてターゲット命令を実行する算術論理演算手段を含むことを特徴とする。
【００２４】
従来、３２ビットのデータを処理できるＲＩＳＣ方式のマイクロコンピュータでは、固定長３２ビットの命令コードを用いて、処理が行なわれていた。しかし、前記命令コードの中には、特に３２ビットも必要としない命令コードも多く、これがメモリーの使用効率悪化の原因となっていた。
【００２５】
すなわち、通常、命令コードは該命令の基本的なオペレーションを定めるクラスコード、オペコードや、即値以外のオペランドで構成される。ここにおいて即値以外のオペランドとは、例えばソースレジスタ（ｒｓ）やデスティネーションレジスタ（ｒｄ）に対応するコード等をさす。このため、１６ビットの命令コードを使用する場合、使用できる即値のビット数はさらに小さいものとなり、通常６ビット程度となる。一般に、命令コードが短い程、即値のビット幅の確保が困難になる。しかし、本発明によれば、即値の拡張が行えるため、３２ビットのデータを処理出来る情報処理回路においても、１６ビットという短い命令コードが使用できる。このため、メモリーの使用効率大幅にを改善することができる。
【００２６】
第５の実施の形態は、
第１の実施の形態〜第４の実施の形態のいずれかにおいて、
前記即値拡張手段は、
プリフィックス命令の命令コードの即値及び前記ターゲット命令の命令コードの即値に基づき、前記ターゲット命令の命令コードに含まれる即値を拡張することを特徴とする。
【００２７】
この様にすると、ターゲット命令の命令コード中含まれている即値を拡張して実行したい場合、ターゲット命令の実行に必要な即値の一部をターゲット命令の命令コードの即値として指定し、ターゲット命令の実行に必要な即値の残りの部分をプリフィックス命令の命令コードの即値として指定するという簡単な構成で、即値を拡張することが出来る。
【００２８】
従って、命令コード中の即値用のビット数を短かく設定することが可能となり、メモリの使用効率を改善することができる。
【００２９】
第６の実施の形態は、
第１の実施の形態〜第５の実施の形態のいずれかにおいて、
前記即値拡張手段は、
プリフィックス命令の命令コードに含まれた即値を用いてターゲット命令の実行に使用するデータを拡張することを特徴とする。
【００３０】
ここにおいて、データとはアドレスに対比される概念であり、その値の内容がアドレス以外を表すものをさす。ターゲット命令の実行に使用するデータとは、ターゲット命令の命令コードに含まれている即値のデータや、ターゲット命令の命令コードには含まれていないが、実行する際に使用する即値のデータをいう。この様にすると、簡単な構成で拡張されたデータの即値を用いてターゲット命令を実行することが出来る。
【００３１】
第７の実施の形態は、
第１の実施の形態〜第６の実施の形態のいずれかにおいて、
前記即値拡張手段は、
プリフィックス命令の命令コードに含まれた即値を用いてターゲット命令の実行に使用するアドレスを拡張することを特徴とする。
【００３２】
ここにおいて、アドレスとはデータに対比される概念であり、その値の内容が記憶装置内のある特定の位置や場所を示すための情報をいう。ターゲット命令の実行に使用するアドレスとは、ターゲット命令の命令コードに含まれている即値のアドレスや、ターゲット命令の命令コードには含まれていないが、実行する際に使用する即値のアドレスをいう。この様にすると、簡単な構成で拡張されたアドレスの即値を用いてターゲット命令を実行することが出来る。
【００３３】
第８の実施の形態は、
第１の実施の形態〜第７の実施の形態のいずれかにおいて、
前記即値拡張手段は、
複数のプリフィックス命令の命令コードに含まれた各即値を用いて、該プリフィックス命令の機能拡張の対象となるターゲット命令の実行に必要な即値を拡張することを特徴とする。
【００３４】
この様にすると、複数のプリフィックス命令の即値を組あわせることによって、ターゲット命令の実行に必要な即値を任意に拡張することが出来る。従って、短い命令コードを用いても、大きな即値を用いた実行が扱えるようになるため、命令コードの短縮による弊害を防ぐことが出来る。
【００３５】
第９の実施の形態は、
第８の実施の形態において、
前記複数のプリフィックス命令の各命令コードは、プリフィックス命令であることを判別するための共通のコードをそれぞれ含むことを特徴とする。
【００３６】
第９の実施の形態によれば、異なるプリフィックス命令を複数設ける必要が無い。このため、ビット数の少ない命令コードを処理する情報処理回路においても、他の種類の命令を割愛することなく、即値の拡張が可能となる。
【００３７】
第１０の実施の形態は、
第８の実施の形態又は第９の実施の形態のいずれかにおいて、
前記即値拡張手段は、
プリフィックス命令の連続入力回数に基づき決定される処理状態を記憶する処理状態記憶手段と、
前記処理状態記憶手段に記憶された処理状態に基づき、入力されたプリフィックス命令の即値を第１のレジスタ〜第ｍのレジスタ（ｍは１以上の整数）に保持する前記データ保持手段と、
前記データ保持手段の第１のレジスタ〜第ｍのレジスタ（ｍは１以上の整数）に保持された即値に基づき、前記ターゲット命令の命令の実行に必要な即値を拡張して生成する手段とを含むことを特徴とする。
【００３８】
ここにおいてプリフィックス命令の連続入力回数に基づき決定される処理状態とは、連続入力回数そのものによって決定される処理状態でもよいし、連続入力回数からある特定のルールに従って一意的に導き出される処理状態でもよい。例えば、プリフィックス命令を３回以上くりかえして入力した場合、３回目以降は常に同じ処理状態となるよう構成してもよい。そして、この様にして決定された処理状態を参照してプリフィックス命令の即値を即値保持手段に保持し、該保持された即値を組み合わせることによって即値を拡張することが出来る。この様にすると、簡単な構成で、プリフィックス命令の連続した入力回数に基づいて、ターゲット命令の実行に必要な即値を拡張することが出来る。
【００３９】
第１１の実施の形態は、
第１の実施の形態〜第１０の実施の形態のいずれかにおいて、
前記命令コード解析手段は、
プリフィックス命令入力後にターゲット命令を入力した場合、該ターゲット命令のオペレーション内容を拡張して解釈するターゲット命令機能拡張手段を含み、
前記命令実行手段は、
前記ターゲット命令機能拡張手段で拡張されたオペレーション内容で該ターゲット命令を実行することを特徴とする。
【００４０】
この様にすると、ターゲット命令をプリフィックス命令と組み合わせて実行させることにより、ターゲット命令に拡張された機能を実現させることができる。このため、命令数を減らすことができ、さらには命令コードに使用するビット数を減らすことが可能となる。
【００４１】
また、ビット数の少ない命令コードでは、実現が難しい機能を、プリフィックス命令とターゲット命令を組み合わせることにより実現することも可能となる。このため、命令コードの短縮によるメモリの使用効率を改善することができる。
【００４２】
第１２の実施の形態は、
第１１の実施の形態において、
前記ターゲット命令機能拡張手段は、
プリフィックス命令入力後に２オペランド命令である所定のターゲット命令を入力した場合、該ターゲット命令の２つのオペランドとプリフィックス命令に含まれた即値を用いて、該ターゲット命令のオペレーション内容を３オペランド命令に拡張して解釈することを特徴とする。
【００４３】
この様すると、２オペランド命令のターゲット命令をプリフィックス命令と組み合わせて実行させることにより、該ターゲット命令の操作機能を３オペランド命令に拡張して実行させることができる。従って、２オペランド分記述領域しかない短い命令コードを使用しても３オペランド命令を実現することが出来る。このため、命令数及び命令コードに使用するビット数を減らすことが可能となる。
【００４４】
また、さらに、プリフィックス命令で即値データを拡張して、３オペランド命令を実現することが出来るため、通常１命令で３オペランド命令を実行する場合に比べて大きな即値データを扱うことができる。
【００４５】
第１３の実施の形態は、
第１１の実施の形態において、
前記ターゲット命令機能拡張手段は、
プリフィックス命令入力後にレジスタ指定値を有する所定のターゲット命令を入力した場合、プリフィックス命令の命令コードに含まれた即値に基づき、ターゲット命令の命令コードに指定されたレジスタに格納されたデータ又はアドレスを修正して実行するようにオペレーション内容を拡張することを特徴とする。
【００４６】
ここにおいて、データのアドレスを修正して実行するとは、データ又はアドレスに四則演算又は論理演算、シフト演算等を施して実行することをいう。この様すると、ターゲット命令をプリフィックス命令を組み合わせて実行させることにより、ターゲット命令の命令コードで指定されたレジスタに格納されたデータ又はアドレスをプリフィックス命令の命令コードに含まれた即値で修正して実行することが出来るため、命令数又は命令コードに使用するビット数を減らすことが可能となる。
【００４７】
第１４の実施の形態は、
第１３の実施の形態において、
前記ターゲット命令機能拡張手段は、
プリフィックス命令入力後にレジスタ指定値を有する所定のターゲット命令を入力した場合、プリフィックス命令の命令コードに含まれた即値に基づき、ターゲット命令の命令コードに指定されたレジスタに格納されたアドレスのディスプレースメントを作成し、該ディスプレースメントを用いて実行するようにオペレーション内容を拡張することを特徴とする。
【００４８】
このようにすると、プリフィックス命令を用いることにより、実行時のアドレスのディスプレースメントを作成することが可能となる。
【００４９】
さらに、プリフィックス命令を用いることにより、オペランドのビット数に限定されずにディスプレースメントの付加が可能になる。
【００５０】
第１５の実施の形態は、
第１の実施の形態〜第１４の実施の形態のいずれかにおいて、
前記命令コード解析手段は、
プリフィックス命令の連続入力回数に基づき、プリフィックス命令のオペレーション内容を拡張するプリフィックス命令機能拡張手段を含むことを特徴とする。
【００５１】
ここにおいて、複数の種類のプリフィックス命令がある場合は、同種類のプリフィックス命令の連続入力回数に基づき、プリフィックス命令のオペレーション内容を拡張する。ここでの同種類のプリフィックス命令とは、該プリフィックス命令のオペレーション内容が同一である場合をいう。したがって、複数の種類のプリフィックス命令がある場合であって、それらの機能がオペコード等によってことなるような場合は、同種類のプリフィックス命令とは、同じオペコード等を有するものをいう。
【００５２】
この様すると、プリフィックス命令のオペレーション内容をその入力回数に基づき変更させることが出来るため、少ない種類のプリフィックス命令で多くの機能を実現することが出来る。
【００５３】
第１６の実施の形態は、
第１の実施の形態〜第１５の実施の形態のいずれかにおいて、
前記命令コード解析手段に入力する命令コードを記憶する命令コード記憶手段さらに含むことを特徴とする。
【００５４】
この様にすると、短くて冗長部分の少ない命令コードが格納された、メモリーの使用効率のよい情報処理装置を実現することができる。従って、同じ大きさであればより多くの命令を格納出来る情報処理装置を提供することが出来、また、同じ機能であれば、少ないメモリ容量で実現することができる。
【００５５】
第１７の実施の形態は、
第１の実施の形態〜第１６の実施の形態の情報処理回路を含むことを特徴とする半導体集積回路装置である。
【００５６】
第１７の実施の形態によれば、小さな回路構成で高機能な半導体集積回路装置を提供することが出来る。
【００５７】
第１８の実施の形態は、
第１の実施の形態〜第１７の実施の形態の情報処理回路を含むことを特徴とするマイクロコンピュータである。
【００５８】
第１８の実施の形態によれば、簡単な構成でメモリの使用効率のよい、マイクロコンピュータを提供することが出来る。
【００５９】
第１９の実施の形態は、
第１８の実施の形態において、ＲＩＳＣ方式であることを特徴とするマイクロコンピュータである。
【００６０】
ＲＩＳＣ方式のマイクロコンピュータは、固定長の短い命令コードを処理することにより、命令のデコードに要する時間を短縮し、マイクロコンピュータの回路規模を小さくすることを目的としている。従って、第１９の実施の形態によれば、これらの目的を容易に実現出来るＲＩＳＣ方式のマイクロコンピュータを提供することが出来る。
【００６１】
第２０の実施の形態は、
第１８の実施の形態又は第１９の実施の形態のマイクロコンピュータを用いて制御することを特徴とする電子機器である。
【００６２】
第２０の実施の形態によれば、簡単な構成でメモリの使用効率のよい情報処理回路を内蔵しているため、安価で高機能な電子機器を提供することが出来る。
【００６３】
以下、本発明の実施の形態を図面に基づき説明する。
【００６４】
（実施の形態１）
１．ＣＰＵの機能説明
図１は、本発明の実施の形態のＣＰＵの機能ブロック図である。該ＣＰＵ３０は３２ビット幅のデータを扱うが１６ビットの命令コードを処理するよう構成されている。
【００６５】
本ＣＰＵ３０は、命令デコード部４０と、命令実行部６０とレジスタファイル９０を含む。そしてこのＣＰＵは、１６ビットの命令データバス１３０と、命令データアクセスのための命令アドレスバス１２０と、３２ビットのデータバス１４０と、データアクセスのためのデータアドレスバス３１０と、コントロール信号のためのコントロールバス３９０を介して外部と信号のやり取りを行う。
【００６６】
前記命令デコード部４０は、入力した命令コードを解読し、該命令を実行するために必要な処理を行うのもで、本発明の特徴的な機能であるｅｘｔ命令処理部５０を含む。レジスタファイル９０は、汎用レジスタＲ０〜Ｒ１５の１６本の汎用レジスタ、プログラムカウンタ（ＰＣ）、プロセッサーステータスレジスタ（ＰＳＲ）、スタックポインタ（ＳＰ）、算術ローレジスタ（ＡＬＲ）、算術ハイレジスタ（ＡＨＲ）等のＣＰＵで使用するレジスタを有している。命令実行部６０は、前記命令デコード部４０が解析した命令のオペレーション内容に基づき該命令の実行をおこなうもので、データの演算を行うデータ演算部７０と、アドレスの演算を行うアドレス演算部８０を含む。
【００６７】
該ＣＰＵ内部のハードウエアのデータサイズは３２ビットであるため、前記命令実行部６０のデータ演算部７０やアドレス演算部８０で行われる算術論理演算や、前記レジスタファイルのレジスタのビット数および、データの転送等はすべて３２ビットになる。ところが、前記ＣＰＵ３０が処理する命令コードは１６ビットの固定長である。すなわち、命令データバス及び命令アドレスバスを介して接続されている図示しない命令コード記憶部には、固定長１６ビットの命令コードが格納されている。従って、１命令中の有効な即値のビット数は、命令コードのうちクラスコードやオペコードに占められるビット数を除いたビット数となる。このため、１命令中の有効な即値のビット数は、例えば６ビットから８ビットという比較的短いビット幅に制限されている。
【００６８】
そこで、本実施の形態では、ｅｘｔ命令という固定長１６ビットの命令を新たに設け、該命令を用いることにより即値のビット幅を拡張させることが出来るよう構成している。また、ｅｘｔ命令を用いることにより固定長１６ビットという短いビット幅の命令コードでは記述出来ないオペレーションを可能にするよう構成している。
【００６９】
ｅｘｔ命令は、それ単独ではＣＰＵにおける実行を何ら行わないが、ターゲット命令の直前におくことにより、そのターゲット命令の機能を拡張する命令であるプリフィックス命令である。なお、該プリフィックス命令による機能拡張の対象となる命令を、ターゲット命令という。
【００７０】
この様なｅｘｔ命令の処理を行うのがｅｘｔ命令処理部５０であり、詳細は後述する。
【００７１】
２．半導体集積回路の構成
マイクロコンピュータに内蔵されている半導体集積回路を例にとり、本発明の特徴的な機能を実現するための回路構成の一例と動作内容について説明する。
【００７２】
図２は、マイクロコンピュータに内蔵されている半導体集積回路の構成の説明に必要な部分を図示したものである。該半導体集積回路１００は、ＣＰＵ３０と、ＲＯＭ１１０、図示しないＲＡＭを含む。前記ＣＰＵ３０は、前記ＲＯＭ１１０、図示しないＲＡＭ等と、１６ビットの命令データバス１３０、該命令データアクセスのための命令アドレスバス１２０、３２ビットのデータバス１４０とを介して、外部と信号のやり取りを行う。
【００７３】
前記ＲＯＭ１１０には、ＣＰＵ３０に実行させる処理を記述した１６ビットの命令コードが記憶されており、命令コード記憶手段として機能する。そして、該ＲＯＭ１１０に通常の命令の命令コードと同じように、前記プリフィックス命令やターゲットとなる命令の命令コードが記憶される。
【００７４】
前記ＣＰＵ３０は、命令レジスタ１５０と、命令デコード回路１６０と、即値生成回路１７０と、ＥＸＴ１レジスタ１７２、ＥＸＴ２レジスタ１７４、レジスタファイル９０と、ＡＬＵ１９０とを含む。
【００７５】
命令レジスタ１５０は、前記ＲＯＭ１１０から、命令データバス１３０を介して入力された命令コードを格納する。命令デコード回路１６０は、命令レジスタ１５０に格納された命令コードを解読し、実行に必要な制御信号を出力する。また、命令コード中の即値を切り出し、必要に応じてＥＸＴ１レジスタ１７２、ＥＸＴ２レジスタ１７４に保持したり、即値生成回路１７０に出力する。
【００７６】
即値生成回路１７０は、前記命令デコード回路１６０から出力された即値及びＥＸＴ１レジスタ１７２、ＥＸＴ２レジスタ１７４に保持された即値を用いて、３２ビットに拡張された即値を生成する。すなわち、命令デコード回路１６０と即値生成回路１７０とＥＸＴ１レジスタ１７２とＥＸＴ２レジスタ１７４は、図１に示された命令デコード部４０及びｅｘｔ命令処理部５０として機能する。
【００７７】
ＡＬＵ１９０は、前記拡張された即値やレジスタファイル９０のレジスタに格納された値や図示しない主記憶のデータに対して、算術演算や論理演算やシフト演算を行う。すなわち、ＡＬＵ１９０は図１に示された命令実行部４０のデータ演算部７０として機能する。
【００７８】
次に本発明の特徴的な機能である、拡張された即値の生成を行う構成について詳細に説明する。本発明の即値の拡張は後述するよう様々なパターンがあるが、本実施の形態では、プリフィックス命令の即値を用いて、後続のターゲット命令の即値のビット数を増やす拡張を行う場合を例に取り、その詳細な構成を説明する。
【００７９】
本マイクロコンピュータで処理される命令は、通常の命令と、プリフィックス命令にわけることができる。通常の命令のうち所定の命令については、プリフィックス命令のターゲットとなることができる（プリフィックス命令のターゲットなった命令をターゲット命令という）。
【００８０】
本マイクロコンピュータでは、１６ビット固定長命令コードを採用しているため、後述するように通常の命令では、即値を指定するフィールドとして、例えば６ビットしか確保できない。しかし、ＡＬＵ１９０等により実行される際のデータ長は３２ビットであるため、前記即値生成回路１７０で、３２ビットに拡張された即値が生成され、ＡＬＵ１９０に入力される。この様な場合、通常のビットの拡張としては、以下の２種類がある。すなわち、前記６ビットの上位２６ビットをすべてゼロとするゼロ拡張と、前記６ビットの最上位ビットの値を上位２６ビットに拡張するサイン拡張である。しかしこの様な拡張では、ＣＰＵは３２ビットの演算能力があるにもかかわらず、意味のある内容を有する大きなビット数の即値を扱うことが出来ない。従って、本実施の形態では、プリフィックス命令の即値を用いて、後続のターゲット命令の即値のビット数を増やす拡張を行うことができるような構成を採用している。本実施の形態ではこの様な拡張を、プリフィックス命令の命令コードに含まれる即値を保持する手段と、保持された即値に基づき即値のビット数を増やす手段とで実現している。
【００８１】
まずプリフィックス命令の命令コードに含まれる即値を保持する手段について説明する。該手段として、命令デコード回路１６０は図示しないステートマシンを有している。該ステートマシンの状態は、命令デコード回路１６０が処理した命令が、プリフィックス命令であるか、通常の命令であるかによって遷移する。命令デコード回路１６０は、ステートマシンの状態に基づき、処理したプリフィックス命令の即値をＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持させる。即値生成回路１７０は、ステートマシンの状態に基づいて前記ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持された即値を用いて、拡張された即値の生成を行う。なお、保持手段は、レジスタのほかラッチ回路でもよい。
【００８２】
なお、後述するように本実施の形態のマイクロコンピュータで使用するプリフィックス命令はｅｘｔ命令一種類のみであり、ｅｘｔ命令の命令コードは１３ビットの即値を含んでいる。
【００８３】
図３は、命令デコード回路１６０が有するステートマシンの状態の遷移を表した図である。前記ステートマシンは、Ｓ０、Ｓ１、Ｓ２の３種類の状態を保持することが出来る。Ｓ０は、ｅｘｔ命令（プリフィックス命令）でない通常の命令を入力した状態を表しており、Ｓ１は、１回目のｅｘｔ命令（プリフィックス命令）を入力した状態をあらわしており、Ｓ２は、２回目のｅｘｔ命令（プリフィックス命令）を入力した状態を表している。
【００８４】
同図に示すように、ステートマシンの状態がＳ０の時、通常の命令（ｅｘｔ＝０）を入力すると状態はＳ０のままであり（４００）、ｅｘｔ命令（ｅｘｔ＝１）を入力すると状態はＳ１に遷移する（４１０）。また、ステートマシンの状態がＳ１の時、通常の命令（ｅｘｔ＝０）を入力すると状態はＳ０に遷移し（４２０）、ｅｘｔ命令（ｅｘｔ＝１）を入力すると状態はＳ２に遷移する（４３０）。さらに、ステートマシンの状態がＳ２の時、通常の命令（ｅｘｔ＝０）を入力すると状態はＳ０に遷移し（４４０）、ｅｘｔ命令（ｅｘｔ＝１）を入力すると状態はＳ２のままである（４５０）。
【００８５】
すなわち、前記ステートマシンは、通常の命令が入力されるとＳ０の状態になり、ｅｘｔ命令を連続して２回以上入力した場合は、再び通常の命令を入力するまでＳ２の状態を保持するよう構成されている。
【００８６】
図４は、即値の保持に関して命令デコード回路１６０が行う動作のアルゴリズムを示したフローチャート図である。
【００８７】
まず命令デコード回路１６０は、命令レジスタに入力された命令コードを解読し、該命令コードがｅｘｔ命令であるかいなか及びステートマシンの現在の状態に基づき、ステートマシンの状態設定を行う（ステップ１０）。
【００８８】
ステートマシンの状態がＳ１であるときは（ステップ２０）、１回目ｅｘｔ命令が入力された状態であり、命令デコード回路１６０は、１回目のｅｘｔ命令の１３ビットの即値をｅｘｔ１レジスタ１７２に保持する（ステップ３０）。
【００８９】
ステートマシンの状態がＳ２であるときは（ステップ４０）、２回以上連続してｅｘｔ命令が入力された状態であり、命令デコード回路１６０は、入力されたｅｘｔ命令の１３ビットの即値をｅｘｔ２レジスタ１７４に保持する（ステップ５０）。このため、ｅｘｔ命令が３回以上連続した場合は、最新のｅｘｔ命令の即値でｅｘｔ２レジスタが上書きされることになる。従って、ｅｘｔ命令が連続した場合は、最初のｅｘｔ命令と最後のｅｘｔ命令の即値が有効となり、その中間のｅｘｔ命令は無視されることになる。
【００９０】
そして、状態がＳ０である場合は、通常の命令が入力された状態であるため、該命令の命令コードが即値を含むか否か判断し（ステップ６０）、即値を含む場合は、該命令コードの即値を即値生成回路に出力する（ステップ７０）。
【００９１】
次に、保持された即値に基づき即値のビット数を増やす手段について説明する。該手段として、即値生成回路１７０は図示しない即値生成用信号生成手段を有しており、該即値生成用信号生成手段で生成された即値生成信号に基づき拡張された即値を生成する。
【００９２】
図５は、入力される命令コード及び前記ステートマシンの状態と前記即値生成用信号生成回路が生成する即値生成用信号との関係を示したタイミングチャート図である。
【００９３】
前記即値生成用信号生成回路が生成する信号はｅｘｔ信号５３０と、ｅｘｔ＿ｌｏｗ信号５５０とｅｘｔ＿ｈｉｇｈ信号５６０である。図５の５１０は入力される命令コードを表しており、５４０は前記ステートマシンの状態を表している。またクロック信号５２０は、図２において図示しないクロック信号発生器で生成されるか又はクロック入力端子から入力される信号である。該クロック信号５２０は、ＣＰＵにおける各種動作の同期をとるために用いられる。例えば、該クロック信号５２０の立ち上がりに同期して命令アドレスバス１２０に命令アドレスが出力される。また、該クロック信号５２０の１周期（１マシンサイクル）毎に前記命令アドレスに基づいてＲＯＭ１１０から命令コードが読み出され、命令レジスタ１５０に保持される。そして、読み出された命令コードに応じたオペレーションは、１マシンサイクル内で完了する。
【００９４】
ｅｘｔ信号５３０は、ｅｘｔ命令が入力されたときに’１’となる信号であって、前記ステートマシンの状態遷移を生じさせる入力信号である。すなわち、前記即値生成用信号生成回路は、入力された命令がｅｘｔ命令である場合ｅｘｔ信号５３０を’１’にし、入力された命令が通常の命令である場合ｅｘｔ信号５３０を’０’にするよう動作する。
【００９５】
ｅｘｔ＿ｌｏｗ信号５５０は、ステートマシンの状態に応じて出力される信号であり、状態が’Ｓ１’の時’１’となる１クロック分遅延した遅延信号である。すなわち、前記即値生成用信号生成回路は、状態が’Ｓ１’である時、次のクロック信号の立ち上がりに同期をとって、ｅｘｔ＿ｌｏｗ信号５５０を’１’にし、その次のクロック信号の立ち上がりに同期をとって、ｅｘｔ＿ｌｏｗ信号５５０を’０’とする。
【００９６】
ｅｘｔ＿ｈｉｇｈ信号５６０は、ステートマシンの状態に応じて出力される信号であり、状態が’Ｓ２’の時’１’となる１クロック分遅延した遅延信号である。すなわち、前記即値生成用信号生成回路は、状態が’Ｓ２’である時、次のクロック信号５２０の立ち上がりに同期をとって、ｅｘｔ＿ｈｉｇｈ信号５６０を’１’にし、その次のクロック信号５２０の立ち上がりに同期をとって、ｅｘｔ＿ｈｉｇｈ信号５６０を’０’とする。
【００９７】
図６は、命令コードに即値を含んでいる場合に即値生成回路が、ステートマシンの状態及び即値生成用信号に基づき即値を拡張するアルゴリズムを示したフローチャート図である。
【００９８】
ステートマシンの状態がＳ０で無い場合は（ステップ１１０）、ＣＰＵがプリフィックス命令であるｅｘｔ命令を処理している状態であり、通常の命令を処理している状態ではない。この場合には、即値生成回路１７０は、即値の生成を行わない（ステップ１２０）。プリフィックス命令自体は、命令実行部６０におけるＡＬＵでの演算等の実行は行われないため、プリフィックス命令の処理時（ステートマシンの状態がＳ１又はＳ２の場合）に即値を生成する必要はないからである。
【００９９】
ステートマシンの状態がＳ０でｅｘｔ＿ｌｏｗ信号５５０＝’１’の場合は（ステップ１１０）、一回のｅｘｔ命令の後にターゲット命令である通常の命令を処理している状態である。この場合には、ＥＸＴ１レジスタ１７２に保持されている先のｅｘｔ命令の命令コードに含まれていた１３ビットの即値と、即値生成用信号線１７６を介して入力された該ターゲット命令の命令コードに含まれていた６ビットの即値をつなげて出来る１９ビットの即値を、３２ビットにゼロ拡張又はサイン拡張する（ステップ１４０）。
【０１００】
ステートマシンの状態がＳ０でｅｘｔ＿ｈｉｇｈ信号５６０＝’１’の場合は（ステップ１５０）、複数回連続して入力したｅｘｔ命令の後にターゲット命令である通常の命令を処理している状態である。この場合には、ＥＸＴ１レジスタ１７２に保持されている一番先のｅｘｔ命令の命令コードに含まれていた１３ビットの即値と、ＥＸＴ２レジスタ１７４に保持されている一番最後のｅｘｔ命令の命令コードに含まれていた１３ビットの即値と、即値生成用信号線１７６を介して入力された該ターゲット命令の命令コードに含まれていた６ビットの即値とをつなげて３２ビットの即値を生成する（ステップ１６０）。
【０１０１】
ステートマシンの状態がＳ０でｅｘｔ＿ｌｏｗ信号５５０＝’０’かつｅｘｔ＿ｈｉｇｈ信号５６０＝’０’の場合は、ターゲット命令でない通常の命令（直前の命令がｅｘｔ命令でない通常の命令）を処理している状態である。この場合には、即値生成用信号線１７６を介して入力された該通常の命令の命令コードに含まれていた６ビットの即値を３２ビットにゼロ拡張又はサイン拡張する（ステップ１７０）。
【０１０２】
この様に、命令デコード回路１６０および即値生成回路１７０はｅｘｔ命令の即値を用いて、後続のターゲット命令の即値のビット数を増やす即値拡張手段として機能する。
【０１０３】
なお、前記処理は、命令コードに即値を含んでいる場合である。しかし、命令コード中に即値を含んでいない場合でも、ステップ１４０の処理とステップ１６０の処理で命令コード中の即値を用いないようにし、ステップ１７０の処理を省くことにより前記処理と同様に適用出来る。
【０１０４】
ｅｘｔ命令を連続して複数回実行することにより、２回目以降のｅｘｔ命令のオペレーション内容を拡張することが出来る。すなわち、前述したような構成をとることにより、命令デコード回路１６０と即値生成回路１７０とＥＸＴ１レジスタ１７２とＥＸＴ２レジスタ１７４は、プリフィックス命令の連続入力回数に基づき、該プリフィックス命令のオペレーション内容を拡張して解釈するプリフィックス命令機能拡張手段として機能する。
【０１０５】
３．ｅｘｔ命令（プリフィックス命令）を用いたターゲット命令の即値拡張の具体例
本発明のｅｘｔ命令による即値拡張の代表的な実施の形態を、命令コード中に即値と汎用レジスタを指定し、該即値と汎用レジスタに格納されている値の演算を行うタイプの命令（便宜上、以下タイプ１命令という）の場合を例に取り説明する。
【０１０６】
まず、タイプ１命令及びｅｘｔ命令の命令コードの構成について説明する。図７（Ａ）は、該タイプ１命令の命令コード２１０のビットフィールドを示した図であり、図７（Ｂ）は、ｅｘｔ命令の命令コード２２０のビットフィールドを示している。ビットフィールドの上の数字はビットの位置を示しており、同図（Ａ）（Ｂ）に示すように、命令コードはビット１５からビット０まで１６ビット幅のフィールドを有している。
【０１０７】
同図（Ａ）に示すように、タイプ１命令の命令コのード２１０は、ビット１５からビット１３に３ビットのクラス指定領域２１２と、ビット１２からビット１０に３ビットのオペコードを指定する領域２１４と、ビット９からビット４に６ビットの即値を指定する領域２１６と、ビット３からビット０に４ビットのレジスタ指定領域２１８を有している。
【０１０８】
クラス指定領域２１２とは、命令のグループを定義するフィールドである。本マイクロコンピュータで使用する命令は、所定のルールに従って、グループ分けされているため、どのグループに属する命令であるのかがクラス指定領域に指定されている。
【０１０９】
オペコードを指定する領域２１４には、命令の操作機能を規定するオペコードが格納されている。なお、クラス毎にそのクラスに属するオペコードが決まっているので、該オペコードを指定する領域２１４には、前記クラス指定領域２１２で指定されたクラスに属するオペコードが格納されている。
【０１１０】
また、前記即値を指定する領域２１６には、６ビットの即値（ｉｍｍ６）の値が格納されており、レジスタ指定領域２１８には、いずれかの汎用レジスタ（ｒｄ）を示すコードが格納されている。
【０１１１】
タイプ１命令は、前記即値（ｉｍｍ６）と汎用レジスタ（ｒｄ）に対して前記オペコードで示される演算を行い、結果を汎用レジスタ（ｒｄ）に対して書き込む動作を行う命令である。
【０１１２】
また、同図（Ｂ）に示すように、ｅｘｔ命令の命令コード２２０は、ビット１５からビット１３に３ビットのクラス指定領域２２２と、ビット１２からビット０に１３ビットの即値を指定する領域２２４とを有している。前記即値を指定する領域２２４には、１３ビットの即値（ｉｍｍ１３）の値が格納されている。
【０１１３】
該ｅｘｔ命令はオペコードを有していないが、本実施の形態のマイクロコンピュータが処理するプリフィックス命令は、ｅｘｔ命令１種類のみであり、所定のクラスを該プリフィックス命令に割り当てているため、クラス指定領域２２２に指定されたクラスによって、ｅｘｔ命令であると判別することが出来る。
【０１１４】
ｅｘｔ命令はプリフィックス命令であるため、単独ではＣＰＵにおけるＡＬＵでの演算等の実行を何ら行わないが、後続のターゲット命令が実行される際に、そのターゲット命令の実行に使用する即値を拡張する機能を有する。例えばタイプ１命令のように命令コードに即値を含んでいる命令がｅｘｔ命令のターゲット命令となった場合、タイプ１命令実行時に、タイプ１命令の命令コードに含まれる即値をｅｘｔ命令の６ビットの即値（ｉｍｍ６）を用いて拡張する機能を有する。
【０１１５】
次に前記タイプ１命令が実行される際の即値の拡張について詳しく説明する。
【０１１６】
まず、タイプ１命令が単独で実行された場合の実行内容について説明する。図２において、まず、タイプ１命令はＲＯＭ１１０から命令データバス１２０を介して命令レジスタ１５０に入力される。そして、命令でコード回路１６０で解読され、内容に応じた演算がおこなわれる。タイプ１命令においては、命令コードで指定された汎用レジスタ（ｒｄ）に格納されたデータがレジスタファイル９０よりデータバス１８２を介して、ＡＬＵ１９０に入力される。また、命令コードで指定された即値（ｉｍｍ６）は、命令デコード回路により切り出され、即値生成用信号線１７６を介して即値生成回路１７０に入力される。そして、即値生成回路１７０で、前記即値（ｉｍｍ６）は３２ビットにゼロ拡張あるいはサイン拡張され、前記拡張された即値はＡＬＵ１９０に入力される。そしてＡＬＵ１９０はタイプ１命令のオペコードで示される演算を行い、演算結果をデータバス１９２を介して、レジスタファイル９０の汎用レジスタ（ｒｄ）に格納する。
【０１１７】
前記タイプ１命令は単独で実行することも出来るし、直前の１又は複数のｅｘｔ命令と組み合わせて実行することも可能である。ｅｘｔ命令と組み合わせて実行された場合の実行内容についても、基本的には前記単独実行の場合と同様であるが、命令デコード回路により切り出された即値（ｉｍｍ６）から拡張された即値をが生成される過程が異なってくる。すなわち、ｅｘｔ命令と組み合わせて実行された場合は、ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持されている先のｅｘｔ命令の即値を用いてｉｍｍ６の拡張が行われる。この過程および、この過程に先だってｅｘｔ命令の即値がＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持される過程は、図３〜図６で説明した通りである。従って、タイプ１命令が単独で実行されたか、直前の１又は複数のｅｘｔ命令と組み合わせて実行されたかにより、即値生成回路１７０で、生成される拡張された即値が異なってくる。
【０１１８】
図８（Ａ）〜（Ｃ）は、前記各場合のオペレーションを表した式と該オペレーションの実行に使用される拡張された即値のフィールド図である。
【０１１９】
図８（Ａ）は、タイプ１命令が単独で実行された場合のオペレーションを表した式と、実行に使用される拡張された即値２３０のビットフィールド図である。同図に示すように、タイプ１命令の６ビットの即値（ｉｍｍ６）がゼロ拡張又はサイン拡張のいずれかの方法で拡張されて３２ビットの即値２３０となる。ゼロ拡張された場合は、ビット６からビット３１の領域２３２はすべてゼロとなり、サイン拡張された場合は、ビット６からビット３１の領域２３２は、すべてｉｍｍ６の最上位ビットすなわちビット５と同じビットとなる。
【０１２０】
図８（Ｂ）は、直前の１のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２４０のビットフィールド図である。同図に示すように、タイプ１命令の６ビットの即値（ｉｍｍ６）がビット５からビット０のフィールド２４６にセットされ、直前の１のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット１８からビット６にセットされ、１９ビットの即値（ｉｍｍ１９）が生成される。そして、前記１９ビットの即値（ｉｍｍ１９）はゼロ拡張又はサイン拡張のいずれかの拡張方法で３２ビットの即値２４０となる。ゼロ拡張された場合は、１９ビットから３１ビットの領域２４２はすべてゼロとなり、サイン拡張された場合は、１９ビットから３１ビットの領域２４２は、すべてｉｍｍ１９の最上位ビットすなわち１８ビット目と同じビットとなる。
【０１２１】
図８（Ｃ）は、２回のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２５０のビットフィールド図である。同図に示すように、タイプ１命令の６ビットの即値（ｉｍｍ６）がビット５からビット０のフィールド２５６にセットされ、１回目のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット３１からビット１９にセットされ、２回目のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）がビット１８からビット６にセットされ、３２ビットの即値（ｉｍｍ３２）２５０が生成される。
【０１２２】
なお、２回以上のｅｘｔ命令と組み合わせて実行場合は、最初と、最後のｅｘｔ命令が有効となるよう構成されている。すなわち、最初のｅｘｔ命令が前記１回目のｅｘｔ命令と同様に機能し、最後のｅｘｔ命令が前記２回目のｅｘｔ命令と同様に機能する。
【０１２３】
４．プリフィックス命令を用いたターゲット命令のオペレーション内容拡張の具体例
本発明のプリフィックス命令によるターゲット命令のオペレーション内容拡張の代表的な実施の形態を、２つ汎用レジスタを用いて演算を行うタイプの命令（便宜上、以下タイプ２命令という）の場合を例に取り説明する。
【０１２４】
まず、タイプ２命令の命令コードの構成について説明する。図９は、該タイプ２命令の命令コード２６０のビットフィールドを示した図である。
【０１２５】
同図に示すように、タイプ２命令の命令コード２６０は、ビット１５からビット１３に３ビットのクラス指定領域２６２と、ビット１２からビット８に５ビットのオペコードを指定する領域２６４と、ビット７からビット４に４ビットのレジスタ指定領域２６６と、ビット３からビット０に４ビットのレジスタ指定領域２６８とを有している。
【０１２６】
また、前記レジスタ指定領域２６６、２６８には、それぞれいずれかの汎用レジスタ（ｒｓ）（ｒｄ）を示すコードが格納されている。ｒｓとはレジスタソース、ｒｄとはレジスタディステネーションを意味するものある。タイプ２命令は、汎用レジスタ（ｒｓ）に格納されているデータと汎用レジスタ（ｒｄ）に格納されているデータにたいしてオペコードで示される演算を行い、結果を汎用レジスタ（ｒｄ）に書き込む動作を行う２オペランド命令である。
【０１２７】
次に、タイプ２命令が単独で実行された場合のＣＰＵの動作について説明する。図２において、まず、タイプ２命令はＲＯＭ１１０から命令データバス１３０を介して命令レジスタ１５０に入力される。そして、命令デコード回路１６０で解読され、内容に応じた演算がおこなわれる。タイプ２命令においては、命令コードで指定された汎用レジスタ（ｒｄ）に格納されたデータがレジスタファイル９０よりデータバス１８２を介して、ＡＬＵ１９０に入力される。また、命令コードで指定された汎用レジスタ（ｒｓ）に格納されたデータがレジスタファイル９０よりデータバス１８４を介して、ＡＬＵ１９０に入力される。そしてＡＬＵ１９０はタイプ２命令のオペコードで示される演算を行い、演算結果をデータバス１９２を介して、レジスタファイル９０の汎用レジスタ（ｒｄ）に格納する。
【０１２８】
前記タイプ２命令は単独で実行することも出来るし、直前の１又は複数のｅｘｔ命令と組み合わせて実行することも可能である。
【０１２９】
図１０（Ａ）〜（Ｃ）は、タイプ２命令を単独で実行する場合及び直前の１又は２回のｅｘｔ命令と組み合わせて実行する場合のオペレーションを表した式と、実行に使用する即値のビットフィールドを示した図である。
【０１３０】
図１０（Ａ）は、タイプ２命令が単独で実行された場合のオペレーションを表した式である。単独で実行される場合は、同式に示すように、タイプ２命令の本来のオペレーションが実行されるため、即値は使用されない。なお、タイプ２命令が単独で実行された場合の実行内容については前述した通りである。
【０１３１】
図１０（Ｂ）は、タイプ２命令が直前の１のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２７０のビットフィールド図である。同式に示すように、タイプ２命令が直前の１のｅｘｔ命令と組み合わせて実行された場合は、ｅｘｔ命令に基づき生成される即値（ｉｍｍ１３）と、汎用レジスタ（ｒｓ）の内容との演算結果を、汎用レジスタ（ｒｄ）に書き込むようにオペレーション内容が拡張する。即値２７０は、ｅｘｔ命令に含まれる即値（ｉｍｍ１３）が３２ビットにゼロ拡張して生成される。
【０１３２】
タイプ２命令が１のｅｘｔ命令と組み合わせて実行された場合の実行内容について説明する。図２において、まず、タイプ２命令はＲＯＭ１１０から命令データバス１３０を介して命令レジスタ１５０に入力される。そして、命令デコード回路１６０で解読されるが、このとき該命令がターゲット命令になっている場合（前記ステートマシンの状態がＳ０以外の場合）は、以下のオペレーションを実行する。すなわち、命令コードで指定された汎用レジスタ（ｒｓ）に格納されたデータがレジスタファイル９０よりデータバス１８２を介して、ＡＬＵ１９０に入力される。また、ＥＸＴ１レジスタ１７２に保持されていた直前のｅｘｔ命令の即値（ｉｍｍ１３）は、即値生成回路１７０によりゼロ拡張されて前記即値２７０が生成され、ＡＬＵ１９０に入力される。そして、ＡＬＵ１９０はタイプ２命令のオペコードで示される演算を行い、演算結果をデータバス１９２を介して、レジスタファイル９０の汎用レジスタ（ｒｄ）に格納する。
【０１３３】
なお、ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持されている先のｅｘｔ命令の即値を用いて、タイプ２命令の実行に使用する即値を生成す過程および、この過程に先だってｅｘｔ命令の即値がＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持される過程は、図３〜図６で説明した通りである。
【０１３４】
従って、タイプ２命令をｅｘｔ命令と組み合わせて実行した場合、オペランドに即値と２つの汎用レジスタとを有するような３オペランド命令を実行したのと同様の効果を有する。
【０１３５】
図１０（Ｃ）は、タイプ２命令が２回のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値２８０のビットフィールド図である。同式に示すように、タイプ２命令が２回のｅｘｔ命令と組み合わせて実行された場合は、２回のｅｘｔ命令に基づき生成される即値（ｉｍｍ２６）と、汎用レジスタ（ｒｓ）の内容との演算結果を、汎用レジスタ（ｒｄ）に書き込むようにオペレーション内容が拡張する。即値２８０は、１回目のｅｘｔ命令に含まれている即値ｉｍｍ１３をビット２５からビット１３にセットし、２回めのｅｘｔ命令に含まれている即値をビット１２からビット０にセットしたｉｍｍ２６を３２ビットにゼロ拡張又はサイン拡張して生成される。
【０１３６】
なお、２回以上のｅｘｔ命令と組み合わせて実行された場合は、最初と、最後のｅｘｔ命令が有効となるよう構成されている。すなわち、最初のｅｘｔ命令が前記１回目のｅｘｔ命令と同様に機能し、最後のｅｘｔ命令が前記２回目のｅｘｔ命令と同様に機能する。
【０１３７】
タイプ２命令が２回または複数回のｅｘｔ命令と組み合わせて実行された場合の実行内容は、基本的には、１回のｅｘｔ命令と組み合わせて実行された場合と同様であるが、即値生成回路１７０が前記即値２８０を生成する過程がことなって来る。
【０１３８】
すなわち、即値生成回路１７０は、ＥＸＴ１レジスタ１７２に保持されていた１回目のｅｘｔ命令の即値（ｉｍｍ１３）と、ＥＸＴ２レジスタ１７４に保持されていた最後のｅｘｔ命令の即値（ｉｍｍ１３）を用いて前記即値２８０を生成する。
【０１３９】
なお、ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持されている先のｅｘｔ命令の即値を用いて、タイプ２命令の実行に使用する即値を生成す過程および、この過程に先だってｅｘｔ命令の即値がＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持される過程は、図３〜図６で説明した通りである。
【０１４０】
この様に、ｅｘｔ命令を用いることにより、ターゲット命令のオペレーション内容を拡張することができるため、命令デコード回路及び即値生成回路は、ターゲット命令機能拡張手段として機能する。
【０１４１】
また、タイプ２命令を２回又は複数回のｅｘｔ命令と組み合わせて実行した場合、２つのｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）つなげたものをゼロ拡張又はサイン拡張した即値を使用できるため、１つのｅｘｔ命令と組み合わせた場合よりも大きな有効ビット数を有する即値を処理することが出来る。
【０１４２】
この様に、タイプ２命令を２回又は複数回のｅｘｔ命令と組み合わせて実行した場合、１回のｅｘｔ命令と組み合わせて実行した場合にくらべて機能が拡張するため、命令デコード回路及び即値生成回路は、プリフィックス命令機能拡張手段として機能する。
【０１４３】
５．プリフィックス命令を用いたターゲット命令のアドレスの即値拡張の具体例次に本発明のプリフィックス命令によるターゲット命令実行時のアドレスの拡張について説明する。図１１は、前記マイクロコンピュータに内蔵されている半導体集積回路の構成の説明に必要な部分を図示したものである。基本的には、図２に示す構成と同様であり、図２と同様の機能を有する部分については、同符号を付している。なお、簡単のため、図２のＥＸＴ１レジスタ１７２等は省略して、命令デコード回路１６０と即値生成回路１７０のみ図示している。また、図２の構成に加えて、ＲＡＭ３２０、プログラムカウンタＰＣ３３０、アドレス演算器３４０、Ｘバス３５０を図示している。なお、説明の都合上、プログラムカウンタＰＣ３３０をレジスタファイル９０とは別に図示している。また、アドレス演算器３４０は加減乗除等の演算を行うが、本具体例では、便宜上加算演算をする機能のみを取り上げ説明する。
【０１４４】
前記ＲＡＭ３２０は、実行に使用するデータ等を記憶している。アドレス演算器３４０は、前記ＲＡＭ３２０に記憶されているデータのアドレスを演算するものであり、即値生成回路１７０で生成された即値及びプログラムカウンタＰＣ３３０の値もしくはレジスタファイル９０に格納された値を入力するよう構成されている。プログラムカウンタＰＣ３３０には、現在実行中の命令のアドレスが格納されている。そして、前記アドレス演算器３４０で演算されたアドレスによりデータアドレスバス３１０を介して、ＲＡＭ３２０のアドレスを指定し、又は、命令アドレスバス１２０を介して、ＲＯＭ１１０の命令のアドレスを指定する。そして、前記各アドレスバス３１０、１２０で指定されたアドレスのデータ又は命令コードは、データバス１４０又は命令データバス１３０を介してＣＰＵ３０に入力されよう構成されている。
【０１４５】
次に、オペランドにアドレスの即値を有し、プログラムカウンタＰＣ３３０に格納されている値に該即値を加算した相対アドレスを実行に使用するタイプの命令（便宜上、以下タイプ３命令という）におけるプリフィックス命令によるアドレスの即値の拡張を説明する。
【０１４６】
図１２は、タイプ３命令の一例であるＰＣ相対サブルーチンコール命令（相対アドレスでサブルーチンをコールする命令）の命令コード２９０のビットフィールドを示した図である。
【０１４７】
同図に示すように、タイプ３命令の命令コード２９０は、ビット１５からビット１３に３ビットのクラス指定領域２９２と、ビット１２からビット９に４ビットのオペコードを指定する領域２９４と、ビット８の所定のオペコードに付帯したビットを指定するｄビット領域２９６と、ビット７からビット０に８ビットの即値を指定する領域２９８を有している。
【０１４８】
ＰＣ相対サブルーチンコール命令は、前記即値を指定する領域２９８に格納された８ビットの即値（ｉｍｍ８）を１ビット左にシフトすることで９ビットの値（ｓｉｎ９）とし、該ｓｉｎ９の値をサイン拡張して得られる３２ビットの即値とＰＣ（プログラムカウンタ）の値とを加算した値をアドレスとして該アドレスに分岐する命令である。
【０１４９】
図１１をもちいて、該ＰＣ相対サブルーチンコール命令が単独で実行される場合のＣＰＵの動作について説明する。即値生成回路１７０によって、該命令コード含まれる８ビットの即値は、１ビット左にシフトされ、サイン拡張され３２ビットの即値（ｓｉｇｎ９）となる。そして、該３２ビットの即値（ｓｉｇｎ９）はアドレス演算器３４０に入力される。また、プログラムカウンタＰＣ３３０に格納されているアドレスの値もアドレス演算器３４０に入力される。アドレス演算器３４０は、前記即値（ｓｉｇｎ９）とプログラムカウンタＰＣ３３０に格納されているアドレスの値を加算して分岐アドレスを生成する。そして、分岐アドレスに格納されたサブルーチンが実行されることになる。
【０１５０】
ＰＣ相対サブルーチンコール命令のようなタイプ３命令は、単独で実行することも出来るし、直前の１又は複数のｅｘｔ命令と組み合わせて実行することも可能である。ｅｘｔ命令と組み合わせて実行された場合の実行内容についても、基本的には前記単独実行の場合と同様であるが、命令デコード回路１６０の即値生成回路１７０で、命令コードより切り出された即値（ｉｍｍ８）から拡張された即値が生成される過程が異なってくる。すなわち、ｅｘｔ命令と組み合わせて実行された場合は、ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持されている先のｅｘｔ命令の即値を用いてｉｍｍ８の拡張が行われる。この過程および、この過程に先だってｅｘｔ命令の即値がＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持される過程は、図３〜図６で説明した通りである。従って、タイプ３命令が単独で実行されたか、直前の１又は複数のｅｘｔ命令と組み合わせて実行されたかにより、分岐先のアドレスをかえることが出来る。
【０１５１】
図１３（Ａ）〜（Ｃ）は、前記各場合のタイプ３命令のオペレーションを表した式と該オペレーションの実行に使用される拡張された即値のフィールド図である。
【０１５２】
図１３（Ａ）は、タイプ３命令が単独で実行された場合のオペレーションを表した式と、実行に使用される拡張された即値４００のビットフィールド図である。ＣＰＵ３０は、１６ビット固定長の命令コードを用いているため、命令アドレスの値は常に偶数バイトアドレスとなり、その結果、命令アドレスの最下位ビットは常に”０”となる。そのため、拡張の際には、同図に示すように、タイプ３命令の８ビットの即値（ｉｍｍ８）は１ビット左にシフトた９ビットの即値となる。そして該９ビットの即値はサイン拡張されて３２ビットの即値４００（ｓｉｇｎ９）となる。
【０１５３】
図１３（Ｂ）は、タイプ３命令が直前の１のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値４１０のビットフィールド図である。同図に示すように、タイプ３命令の８ビットの即値（ｉｍｍ８）とｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）を結合した２１ビットの即値は、１ビット左にシフトされて、２２ビットの即値となる。該２２ビットの即値は、サイン拡張されて３２ビットの即値４１０（ｓｉｇｎ２２）となる。
【０１５４】
図１３（Ｃ）は、タイプ３命令が２回のｅｘｔ命令と組み合わせて実行された場合のオペレーションを表した式と、該オペレーションの実行に使用される拡張された即値４２０のビットフィールド図である。同図に示すように、タイプ３命令の８ビットの即値（ｉｍｍ８）と１回目のｅｘｔ命令の１０ビットの即値（ｉｍｍ１０）と、２回目のｅｘｔ命令の１３ビットの即値（ｉｍｍ１３）とを結合した３１ビットの即値は、１ビット左にシフトされて、３２ビットの即値（ｓｉｇｎ３２）となる。
【０１５５】
なお、２回以上のｅｘｔ命令と組み合わせて実行場合は、最初と、最後のｅｘｔ命令が有効となるよう構成されている。すなわち、最初のｅｘｔ命令が前記１回目のｅｘｔ命令と同様に機能し、最後のｅｘｔ命令が前記２回目のｅｘｔ命令と同様に機能する。
【０１５６】
６．プリフィックス命令を用いてターゲット命令の命令中にディスプレースメントを付加する具体例
次に、オペランドには即値を有さす、オペランドに指定したレジスタに格納された値をアドレスとして用いて実行を行うタイプの命令（便宜上、以下タイプ４命令という）において、プリフィックス命令を用いてアドレスのディスプレースメントを付加する例を説明する。
【０１５７】
命令コードの構成は図９に示すタイプ２命令と、２個のレジスタの指定領域をオペランドに有する点で共通する。オペコードの内容が異なってくるが、本実施の形態の説明において特に影響は無いので説明を省略する。タイプ４命令の一例であるロード命令を例にとり、説明する。ロード命令は、ｒｓで指定されるアドレスに記憶されているデータをｒｄに示すレジスタにロードするための命令である。
【０１５８】
まず、該ロード命令が単独で実行される場合のＣＰＵの動作について説明する。ＣＰＵは、命令コードで指定された汎用レジスタ（ｒｓ）に格納された値をアドレスとするデータをＲＡＭ３２０から読み出し、命令コードで指定された汎用レジスタ（ｒｄ）に格納する。
【０１５９】
ロード命令のようなタイプ４命令は、単独で実行することも出来るし、直前の１又は複数のｅｘｔ命令と組み合わせて実行することも可能である。ｅｘｔ命令と組み合わせて実行された場合は、ｅｘｔ命令の命令コードに含まれる即値によって、ディスプレースメントが付加されて、タイプ４命令が実行される。
【０１６０】
図１４（Ａ）（Ｂ）は、タイプ４命令を直前の１又は２回のｅｘｔ命令と組み合わせて実行する場合に生成されるディスプレースメントを示した図である。
【０１６１】
図１４（Ａ）は、タイプ４命令が１回のｅｘｔ命令とくみあわされて実行された場合のディスプレースメントを表したている。同図に示すように、直前の１のｅｘｔ命令の即値（ｉｍｍ１３）をゼロ拡張して３２ビット即値（ｉｍｍ１３）４３０が生成される。
【０１６２】
タイプ４命令が１のｅｘｔ命令と組み合わせて実行された場合の実行内容について図１１を用いて説明する。まず、タイプ４命令はＲＯＭ１１０から命令データバス１３０を介して命令レジスタ１５０に入力される。そして、命令デコード回路１６０で解読されるが、このとき該命令がターゲット命令になっている場合（前記ステートマシンの状態がＳ０以外の場合）は、命令コードで指定された汎用レジスタ（ｒｓ）に格納されたアドレスをレジスタファイル９０から取り出してＸバス３５０を介して、アドレス演算器３４０に入力する。
【０１６３】
また、ＥＸＴ１レジスタ１７２に保持されていた直前のｅｘｔ命令の即値（ｉｍｍ１３）は、即値生成回路１７０によりゼロ拡張されて３２ビットの即値４３０が生成され、アドレス演算器３４０に入力される。アドレス演算器３４０はこれらの２つの入力を加算してアドレスを生成する。生成されたアドレスによりデータアドレスバス３１０を介して、ＲＡＭ３２０のアドレスを指定し、該アドレスに格納されたデータをデータバス１４０を介してレジスタファイル９０に入力し、命令コードで指定された汎用レジスタ（ｒｄ）に格納する。
【０１６４】
図１４（Ｂ）は、タイプ４命令が２回のｅｘｔ命令と組あわされて実行された場合のディスプレースメントを表している。同図に示すように、１回目のｅｘｔ命令の即値（ｉｍｍ１３）をビット２５からビット１３の１３ビットのフィールド４４４にセットし、２回めのｅｘｔ命令の即値（ｉｍｍ１３）をビット１２からビット０の１３ビットのフィールド４４６にセットし、ゼロ拡張して３２ビットの即値４４０（ｉｍｍ２６）が生成される。
【０１６５】
タイプ４命令が２回のｅｘｔ命令と組み合わせて実行された場合の実行内容について図１１を用いて説明する。この場合も１回のｅｘｔ命令と組み合わせた場合と基本的には同様であるが、ディスプレースメントとして生成される即値が異なってくる。２回のｅｘｔ命令と組み合わせた場合は、ＥＸＴ１レジスタ１７２及びＥＸＴ２レジスタ１７４に保持されていた２回のｅｘｔ命令の即値を用いて、図１４（Ｂ）に示すような即値４４０が生成され、該即値４４０がディスプレースメントとしてアドレス演算器３４０に入力される。
【０１６６】
なお、ＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持されている先のｅｘｔ命令の即値を用いて、タイプ４命令の実行に使用する即値を生成す過程および、この過程に先だってｅｘｔ命令の即値がＥＸＴ１レジスタ１７２やＥＸＴ２レジスタ１７４に保持される過程は、図３〜図６で説明した通りである。
【０１６７】
従って、タイプ４命令をｅｘｔ命令と組み合わせて実行した場合、オペランドにディスプレースメントを付加して実行するようにオペレーション内容が拡張する。
【０１６８】
（実施の形態２）
図１５は、本実施の形態のマイクロコンピュータのハードウエアブロック図である。
【０１６９】
該マイクロコンピュータ１０は、３２ビットマイクロコントローラであり、ＣＰＵ３０とＲＯＭ１１０とＲＡＭ３２０、高周波発信回路７１０、低周波発信回路７２０、リセット回路７３０、プリスケーラ７４０、１６ビットプログラマブルタイマ７５０、８ビットプログラマブルタイマ７６０、クロックタイマ７７０、インテリジェントＤＭＡ７８０、高速ＤＭＡ７９０、割り込みコントローラ６００、シリアルインターフェース６１０、バスコントロールユニット（ＢＣＵ）６２０、Ａ／Ｄ変換器６３０、Ｄ／Ａ変換器６４０、入力ポート６６０、出力ポート６６０、Ｉ／Ｏポート６７０、及びそれらを接続する各種バス６８０等、各種ピン６９０等を含む。
【０１７０】
前記ＣＰＵ３０は、１６ビット固定長命令コードを処理し、実行時のデータサイズは３２ビットのＣＰＵである。該ＣＰＵ３０は、前述した、実施の形態１の構成を有しており、命令コード解析手段、即値拡張手段、ターゲット命令機能拡張手段、プリフィックス命令機能拡張手段、命令実行手段として機能する。
【０１７１】
従って、１６ビットの命令コードを使用しても、大きな即値の取り扱いや、短い命令コードで記述出来ない３オペランド命令の実行を行うことが出来るため、メモリの使用効率のよいマイクロコンピュータを提供することが出来る。また、該マイクロコンピュータを半導体集積回路として構成する場合、記憶させる命令数が同一であれば、３２ビット幅の固定長命令コードを使用する場合に比べ、容量は半分でよい。従って、チップのサイズを小さくすることができ歩留まりのよい半導体集積回路装置を製造することが出来る。
【０１７２】
本発明のマイクロコンピュータは例えばプリンター等のパソコン周辺機器や、携帯機器等の各種の電子機器に適用可能である。この様にすると、簡単な構成でメモリの使用効率のよい情報処理回路を内蔵することができるため、安価で高機能な電子機器を提供することが出来る。
【０１７３】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【０１７４】
例えば上記実施例では、メモリの使用効率を高めるうえで特に有効な例、すなわち３２ビットのデータが処理可能なＣＰＵ又はマイクロコンピュータにおいて、１６ビットの固定長命令コードを使用する場合を例に取り説明したがこれに限られない。ＣＰＵ又はマイクロコンピュータで処理可能なビット数及び命令コードのビット数によらず本発明を適用することが出来る。また、命令コードが固定長であるか否かによらず本発明を適用することが出来る。
【０１７５】
そして、本発明を適用することにより、命令コードの即値の拡張及び、オペレーション内容の変更を簡単な構成で容易に行えるＣＰＵ又はマイクロコンピュータを提供することが出来る。
【０１７６】
また、上記本実施の形態では、ｅｘｔ命令を２回以上連続実行した場合は１回目と最後のｅｘｔ命令のみ有効に機能する場合を説明したが、３回以上のｅｘｔ命令を有効にするよう構成してもよい。また、有効にするｅｘｔ命令の選択は１回目と最後に限られず所定のルールに従ってさだめればよい。
【０１７７】
また、複数のｅｘｔ命令を組み合わせることによりｅｘｔ命令の機能を変化させる例も上記実施例に限られない。
【０１７８】
また、上記本実施の形態では、プリフィックス命令がｅｘｔ命令１種類のみである場合を説明したが、複数の異なる種類のプリフィックス命令を設定してもよい。
【０１７９】
【図面の簡単な説明】
【図１】本発明の実施の形態のＣＰＵの機能ブロック図である。
【図２】マイクロコンピュータに内蔵されている半導体集積回路の構成の説明に必要な部分を図示したものである。
【図３】命令デコード回路が有するステートマシンの状態の遷移を表した図である。
【図４】即値の保持に関して命令デコード回路が行う動作のアルゴリズムを示したフローチャート図である。
【図５】入力される命令コード及び前記ステートマシンの状態と前記即値生成用信号生成回路が生成する即値生成用信号との関係を示したタイミングチャート図である。
【図６】即値生成回路が、ステートマシンの状態及び即値生成用信号に基づき即値を拡張するアルゴリズムを示したフローチャート図である。
【図７】同図（Ａ）（Ｂ）は、タイプ１命令及びｅｘｔ命令の命令コードのビットフィールドを示した図である。
【図８】同図（Ａ）〜（Ｃ）は、オペレーションを表した式及びオペレーションの実行に使用される拡張された即値のフィールド図である。
【図９】タイプ２命令の命令コードのビットフィールドを示した図である。
【図１０】同図（Ａ）〜（Ｃ）は、タイプ２命令のオペレーションを表した式と、実行に使用する即値のビットフィールドを示した図である。
【図１１】マイクロコンピュータに内蔵されている半導体集積回路の構成の説明に必要な部分を図示したものである。
【図１２】タイプ３命令の命令コードのビットフィールドを示した図である。
【図１３】同図（Ａ）〜（Ｃ）は、タイプ３命令のオペレーションを表した式と該オペレーションの実行に使用される拡張された即値のフィールド図である。
【図１４】同図（Ａ）（Ｂ）は、タイプ４命令を実行する場合に生成されるディスプレースメントを示した図である。
【図１５】実施の形態２のマイクロコンピュータのハードウエアブロック図である。
【符号の説明】
１０  マイクロコンピュータ
３０  ＣＰＵ
４０  命令デコード部
５０  ｅｘｔ命令処理部
６０  命令実行部
７０  データ演算部
８０  アドレス演算部
９０  レジスタファイル
１１０  ＲＯＭ
１２０  命令アドレスバス
１３０  命令データバス
１４０  データバス
１５０  命令レジスタ
１６０  命令デコード回路
１６１  制御信号
１７０  即値生成回路
１７２  ＥＸＴ１レジスタ
１７４  ＥＸＴ２レジスタ
１９０  ＡＬＵ
３１０  データアドレスバス
３２０  ＲＡＭ
３３０  プログラムカウンタＰＣ
３４０  アドレス演算器
【図１】
0003711422.tif 000002
【図２】
0003711422.tif 000003
【図３】
0003711422.tif 000004
【図４】
0003711422.tif 000005
【図５】
0003711422.tif 000006
【図６】
0003711422.tif 000007
【図７】
0003711422.tif 000008
【図８】
0003711422.tif 000009
【図９】
0003711422.tif 000010
【図１０】
0003711422.tif 000011
【図１１】
0003711422.tif 000012
【図１２】
0003711422.tif 000013
【図１３】
0003711422.tif 000014
【図１４】
0003711422.tif 000015
【図１５】
0003711422.tif 000016