(57)【特許請求の範囲】
【請求項１】
命令語の大きさより大きい定数値や保存装置のアドレスであるデータを用いるための拡張命令語を遂行する中央処理装置において、
固定長である、多数の一般命令語及び拡張命令語から構成された命令語が保存された命令語保存手段と、
上記命令語保存手段から多数の命令語をプリフェッチして保存する多数個のバッファーから構成された臨時保存手段と、
上記命令語保存手段から上記臨時保存手段へプリフェッチされる多数の命令語を受信し、受信された命令語をデコードして上記臨時保存手段に保存された命令語のうち、一般命令語の位置と１以上の連続した拡張命令語の位置とを示す位置信号を出力する命令語検索手段と、
上記命令語検索手段の出力である位置信号を受信して位置信号によって上記臨時保存手段の各バッファーに保存された命令語のうち、一般命令語が保存されたバッファーを選択して一般命令語を順次に出力する命令語選択手段と、
上記命令語選択手段から出力される一般命令語を受信して一般命令語を実行するための多数の制御信号を出力する一般命令語解析手段と、
上記命令語検索手段の出力である位置信号を受信して上記臨時保存手段の各バッファーに保存された命令語のうち、１以上の連続した拡張命令語の被演算子を受信し、受信された被演算子の演算処理を遂行して拡張データを出力する拡張データ解析手段と、
上記拡張データ解析手段の出力である拡張データを受信してこれを保存する拡張データ保存手段とを含み、
上記命令語選択手段は、上記臨時保存手段の各バッファーに保存された命令語のうち、一般命令語がなければ何らの演算も遂行しない命令語を上記一般命令語解析手段へ出力し、
上記拡張データ解析手段は、上記臨時保存手段のバッファーに一般命令語があれば、当該一般命令語が上記命令語選択手段から上記一般命令語解析手段へ出力される時に、拡張データを上記拡張データ保存手段へ出力し、上記臨時保存手段のバッファーに一般命令語がなければ、上記命令語選択手段から何らの演算も遂行しない命令語が上記一般命令語解析手段へ出力される時に、拡張データを上記拡張データ保存手段へ出力することを特徴とする、拡張命令語縮約装置。
【請求項２】
上記命令語検索手段は、
前記命令語保存手段から上記臨時保存手段へプリフェッチされる命令語を受信し、上記臨時保存手段へプリフェッチされる各命令語が一般命令語であるか、拡張命令語であるかを判断してフラグ信号を出力する拡張命令検索手段と、
上記拡張命令検索手段の出力であるフラグ信号を受信し、上記臨時保存手段の多数のバッファーに保存されたそれぞれの命令語に対して、拡張命令語であるか、一般命令語であるかを示す多数のフラグビットから構成されたフラグレジスタと、
上記フラグレジスタの多数のフラグビットを判断して上記臨時保存手段の多数のバッファーのうち、一般命令語が保存されたバッファーの位置、及び少なくとも１以上の連続した拡張命令語が保存されたバッファーの位置を示す位置信号を出力する拡張デコーダーと、
を備えたことを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項３】
上記拡張データ解析手段は、上記臨時保存手段の多数のバッファーに保存された１以上の連続した拡張命令語を出現順序の順に検査し、それぞれの拡張命令語に対して、拡張命令語が拡張データを用いる一般命令語の以後の一番目の拡張命令語であって、以前の拡張命令語によって連続する拡張命令語であれば、拡張データの下位ビットには拡張命令語の被演算子を満たし、拡張命令語の被演算子のビット数より上位ビットの拡張データには拡張命令語の被演算子の最上位ビットと同一の値で満たして、拡張命令語が以前の拡張命令語によって連続する拡張命令語であれば、以前に生成された拡張データを拡張命令語の被演算子のビット数だけ上位のビットに移動させ、空いている下位ビットに拡張命令語の被演算子を満たすことを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項４】
上記拡張データ解析手段は、上記臨時保存手段の多数のバッファーに保存された１以上の連続した拡張命令語を出現順序の順に検査し、それぞれの拡張命令語に対して、拡張データを拡張命令語の被演算子のビット数だけ上位のビットに移動させ、空いている下位ビットに拡張命令語の被演算子を満たすことを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項５】
上記拡張データ解析手段の出力である拡張データは、１以上の連続する拡張命令語の被演算子を合算したデータであることを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項６】
上記拡張データ解析手段の出力である拡張データは、１以上の連続する拡張命令語の被演算子を右側へシフトさせたデータであることを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項７】
上記拡張データ解析手段は、上記命令語検索手段の出力である位置信号を受信して上記臨時保存手段から上記命令語選択手段へ一般命令語が出力される時に、上記臨時保存手段の各バッファーに保存された命令語のうち、１以上の連続した拡張命令語が保存されたバッファーから、当該バッファーに保存された拡張命令語の被演算子を受信して被演算子の演算処理を遂行することを特徴とする請求項１に記載の拡張命令語縮約装置。
【請求項８】
上記臨時保存手段は、多数のバッファーに保存された全ての命令語が命令語選択手段及び拡張データ解析手段によって処理されると、同時に上記命令語保存手段から新たな命令語をプリフェッチして更新することを特徴とする請求項１に記載の拡張命令語縮約装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、拡張命令語縮約装置（Ｅｘｔｅｎｄｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｆｏｌｄｉｎｇ  ｓｙｓｔｅｍ）に関し、特に固定長さ命令語を用いる中央処理装置において一般命令語の遂行時に拡張命令語を処理する拡張命令語縮約装置に関する。
【０００２】
【従来の技術】
一般的に、中央処理装置（Ｍｉｃｒｏ−Ｐｒｏｃｅｓｓｏｒ）はメモリに保存された多数の命令語の集合からなっているプログラムを読み取りこれを命令語解析器によって解析し、実行器によって各命令語に該当する動作を実行する。
【０００３】
命令語は命令語の長さにより、即ち、一つの命令語のビット数の大きさが多様であれば可変長さ命令語とし、全ての命令語のビット数の大きさが同一であれば固定長さ命令語という。
【０００４】
従来の中央処理装置は、ＣＩＳＣ（Ｃｏｍｐｌｅｘ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）とＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）に分けられており、ＣＩＳＣは可変長さ命令語を用い、ＲＩＳＣは固定長さ命令語を用いる。
【０００５】
可変長さ命令語方式は、命令語によってその長さが多様で、多くの種類の命令語を有しているが、命令語の長さが可変であるので、命令語を解析する命令語解析器は複雑な構成を有し、実行速度が遅いという短所を有している。
【０００６】
他方、固定長さ命令語方式は、全ての命令語の長さが一定である固定長さ命令語を使用するもので、命令語解析器の構成は単純で、高速動作が可能であるが、命令語の長さが固定されるので、表現され得る被演算子の範囲が制限されるという問題点を有する。即ち、被演算子の長さはレジスタ（Ｒｅｇｉｓｔｅｒ）の大きさや保存装置のアドレスの範囲の大きさより小さいために、命令語の大きさより大きい定数値や保存装置のアドレスは一つの命令語で作成することができない。
【０００７】
従来の可変長さ命令語と固定長さ命令語方式における上記の問題点を解決するためのものが拡張命令語方式であって、全ての命令語の長さが一定である固定長さ命令語でありながら、拡張データ保存部を備えて全ての長さの命令語を表現することができる方式である。
【０００８】
図１は拡張命令語方式の動作図である。
図１に示すように、図１は命令語の大きさより大きい定数値や保存装置のアドレスを表現するために２つの拡張命令語を使用したものであり、保存装置から読み取った命令語の演算コードＯＰを解析して、その演算コードＯＰが一般命令語であれば、当該演算コードに応じて実行器によって実行され、読み取った命令語の演算コードＯＰが拡張命令語であれば、命令語の第１被演算子ＯＰＥＲ１を拡張データ保存部ＥＲに保存する。この時、拡張命令語が、拡張データ保存部ＥＲに保存された拡張データを用いる一般命令語の以後に初めて用いられる拡張命令語であれば、拡張データ保存部ＥＲのうち、拡張命令語の第１被演算子ＯＰＥＲ１より上位ビットは拡張命令語の第１被演算子ＯＰＥＲ１の最上位ビットＭＳＢの値で満たし、拡張命令語の第１被演算子ＯＰＥＲ１と同一のビットの位置は拡張命令語の第１被演算子ＯＰＥＲ１で満たす。
【０００９】
その後の命令語が拡張命令語であれば、拡張データ保存部ＥＲに保存された第１被演算子ＯＰＥＲ１を演算処理して生成した拡張データを第２被演算子ＯＰＥＲ２のビット数だけ上位ビットにシフト（Ｓｈｉｆｔ）させ、第２被演算子ＯＰＥＲ２を拡張データ保存部ＥＲの空いている下位ビットに置く。従って、拡張データ保存部ＥＲは最下位ビットから上位ビットに第２被演算子ＯＰＥＲ２と第１被演算子ＯＰＥＲ１とが位置する。即ち、２つの拡張命令語によって拡張データ保存部ＥＲには第１被演算子ＯＰＥＲ１と第２被演算子ＯＰＥＲ２とが結合した値が保存される。
【００１０】
従って、上記の方法によって固定長さ命令語方式において拡張命令語を用いることによって、命令語の大きさより大きい定数値や保存装置のアドレスを作ることができる。
【００１１】
【発明が解決しようとする課題】
従来の拡張命令語を用いる固定長さ命令語方式は拡張命令語を一般命令語と同様に保存装置から読み取り、命令語解析器によって拡張命令語を解析し、実行器によって拡張命令語の動作を実行しなければならないので、中央処理装置の効率及びプログラムの効率を低下させる問題点がある。
【００１２】
本発明の目的は、拡張命令語によって拡張データ保存部に保存された一般命令語の大きさより大きい定数値や保存装置のアドレスであるデータを用いるために、一般命令語を読み取り、実行する間後続する拡張命令語を処理することによって、後続する拡張命令語の後の一般命令語を直ちに処理することができ、これにより、央処理装置の効率及びプログラムの効率を極大化させることができる拡張命令語縮約装置を提供することにある。
【００１３】
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明の拡張命令語縮約装置は、多数の一般命令語及び拡張命令語から構成された命令語が保存された命令語保存部；命令語保存部から多数の命令語をプリフェッチして保存する多数個のバッファーから構成された臨時保存部；命令語保存部から臨時保存部へプリフェッチされる多数の命令語を受信し、受信された命令語をデコードして臨時保存部に保存された命令語のうち、一般命令語の位置と１以上の連続した拡張命令語の位置とを示す位置信号を出力する命令語検索部；命令語検索部の出力である位置信号を受信して位置信号によって臨時保存部の各バッファーに保存された命令語のうち、一般命令語が保存されたバッファーを選択して一般命令語を順次に出力する命令語選択部；命令語選択部から出力される一般命令語を受信して一般命令語を実行するための多数の制御信号を出力する一般命令語解析部；命令語検索部の出力である位置信号を受信して臨時保存部の各バッファーに保存された命令語のうち、１以上の連続した拡張命令語の被演算子を受信し、受信された被演算子の演算処理を遂行して拡張データを出力する拡張データ解析部；及び拡張データ解析部の出力である拡張データを受信してこれを保存する拡張データ保存部を備えたことを特徴とする。
【００１５】
命令語検索部は、命令語保存部から臨時保存部へプリフェッチされる命令語を受信して臨時保存部へプリフェッチされる各命令語が一般命令語であるか、拡張命令語であるかを判断して、拡張命令語であれば活性化されたフラグ信号を出力する拡張命令検索部；拡張命令検索部の出力であるフラグ信号を受信して臨時保存部の多数のバッファーに保存されたそれぞれの命令語に対して拡張命令語であるか、一般命令語であるかを示す多数のフラグビットから構成されたフラグレジスタ；及びフラグレジスタの多数のフラグビットを受信して各フラグビットの活性化状態を判断して、臨時保存部の多数のバッファーのうち、一般命令語が保存されたバッファーの位置、及び１以上の連続した拡張命令語が保存されたバッファーの位置を示す位置信号を出力する拡張デコーダーを備えたことを特徴とする。
【００１６】
【発明の実施の形態】
以下、添付した図面を参照して本発明の拡張命令語縮約装置を詳細に説明する。
【００１７】
図２は本発明の拡張命令語縮約装置を示したブロック図である。
図２の本発明の拡張命令語縮約装置は、多数の一般命令語及び拡張命令語から構成された命令語が保存された命令語保存部１００、命令語保存部１００から多数の命令語をプリフェッチ（Ｐｒｅ−Ｆｅｔｃｈ）して保存する多数個のバッファーＢＵ１〜ＢＵｎから構成された臨時保存部２００、命令語保存部１００から臨時保存部２００へプリフェッチされる多数の命令語を受信し、受信された命令語をデコード（ｄｅｃｏｄｅ）して臨時保存部２００に保存された命令語のうち、一般命令語の位置と１以上の連続した拡張命令語の位置とを示す位置信号ＰＯＳを出力する命令語検索部３００、命令語検索部３００の出力である位置信号ＰＯＳを受信して位置信号ＰＯＳによって臨時保存部２００の各バッファーに保存された命令語のうち、一般命令語が存在すれば当該一般命令語が保存されたバッファーを選択して一般命令語を順次に出力する命令語選択部４００、命令語選択部４００から出力される一般命令語を受信して一般命令語を実行するための多数の制御信号を出力する一般命令語解析部７００、命令語検索部３００の出力である位置信号ＰＯＳを受信して臨時保存部２００の各バッファーＢＵ１〜ＢＵｎに保存された命令語のうち、１以上の連続した拡張命令語が存在すれば臨時保存部２００の各バッファーに保存された１以上の連続した拡張命令語の被演算子ＯＰＥＲ１〜ＯＰＥＲｎを受信し、受信された被演算子ＯＰＥＲ１〜ＯＰＥＲｎの演算処理を遂行して拡張データＥＤを出力する拡張データ解析部５００、及び拡張データ解析部５００の出力である拡張データＥＤを受信してこれを保存する拡張データ保存部６００から構成される。
【００１８】
命令語検索部３００は、命令語保存部１００から臨時保存部２００へプリフェッチされる命令語を検索して臨時保存部２００へプリフェッチされる各命令語が一般命令語であるか、拡張命令語であるかを判断して、拡張命令語であれば活性化されたフラグ信号ＦＬＡＧを出力する拡張命令検索部３１０、拡張命令検索部３１０の出力であるフラグ信号ＦＬＡＧを受信して多数のフラグビットＦＢ１〜ＦＢｎにフラグ信号ＦＬＡＧを保存し、臨時保存部２００の多数のバッファーＢＵ１〜ＢＵｎに保存されたそれぞれの命令語に対して拡張命令語であるか、一般命令語であるかを示すフラグレジスタ３２０、及びフラグレジスタ３２０の多数のフラグビットＦＢ１〜ＦＢｎの出力を受信して各フラグビットの活性化状態を判断し、多数のバッファーＢＵ１〜ＢＵｎのうち、一般命令語が保存されたバッファーの位置、及び１以上の連続した拡張命令語が保存されたバッファーの位置を示す位置信号ＰＯＳを出力する拡張デコーダー３３０から構成される。
【００１９】
臨時保存部２００は、多数のバッファーＢＵ１〜ＢＵｎに保存された全ての命令語が命令語選択部４００及び拡張データ解析部５００によって処理されると、同時に新たな命令語を命令語保存部１００にプリフェッチして更新する。
【００２０】
拡張命令語の遂行に従う拡張データＥＤを得るために、拡張データ解析部５００は１以上の連続する拡張命令語の被演算子ＯＰＥＲ１〜ＯＰＥＲｎを演算処理する。
【００２１】
拡張データ解析部５００は、臨時保存部２００の多数のバッファーＢＵ１〜ＢＵｎに保存された１以上の連続した拡張命令語を位置順ＢＵ１、ＢＵ２、…、ＢＵｎに検査し、それぞれの拡張命令語に対して、拡張命令語が拡張データＥＤを用いる一般命令語の以後の一番目の拡張命令語で、以前の拡張命令語と連続しない拡張命令語であれば、拡張データＥＤの下位ビットには拡張命令語の被演算子を満たし、拡張命令語の被演算子のビット数より上位ビットの拡張データＥＤには拡張命令語の被演算子の最上位ビットと同一の値で満たす。若し、拡張命令語が以前の拡張命令語と連続する拡張命令語であれば、以前に生成された拡張データＥＤを拡張命令語の被演算子のビット数だけ上位のビットに移動させ、空いている下位ビットに拡張命令語の被演算子を満たす。
【００２２】
臨時保存部２００のバッファーに１以上の連続した拡張命令語によって生成された拡張データＥＤを用いる一般命令語があれば、当該一般命令語が命令語選択部４００によって一般命令語解析部７００へ出力される時に、１以上の連続した拡張命令語によって生成された拡張データＥＤを拡張データ保存部６００へ出力する。臨時保存部２００のバッファーに１以上の連続した拡張命令語によって生成された拡張データＥＤを用いる一般命令語がなければ、最後の一般命令語が命令語選択部４００によって一般命令語解析部７００へ出力される時に、拡張データＥＤを拡張データ保存部６００へ出力する。臨時保存部２００のバッファーに一般命令語は存在せず、全て拡張命令語だけがあれば命令語選択部４００によって何らの演算も遂行しない命令語が一般命令語解析部７００へ出力される時に、拡張データＥＤを拡張データ保存部６００へ出力する。
【００２３】
拡張データ解析部５００の出力である拡張データＥＤは１以上の連続する拡張命令語の被演算子ＯＰＥＲ１〜ＯＰＥＲｎを合算したデータ、または１以上の連続する拡張命令語の被演算子ＯＰＥＲ１〜ＯＰＥＲｎを右側へシフトさせたデータであってもよい。
【００２４】
上記の構成による本発明の拡張命令語縮約装置の動作は以下の通りである。
図３は、図２の本発明の拡張命令語縮約装置の動作タイミング図である。
例えば、命令語保存部１００には、順次に、第１一般命令語、第１拡張命令語、第２拡張命令語、第３拡張命令語、第２一般命令語及び第３一般命令語を遂行するための命令語が保存されており、臨時保存部２００は第１バッファーＢＵ１と第２バッファーＢＵ２とから構成され、命令語保存部１００に保存された２つの命令語を同時に第１バッファーＢＵ１と第２バッファーＢＵ２へプリフェッチすると仮定すると、図３による図２の動作タイミングは以下の通りである。
【００２５】
先ず、命令語保存部１００に保存された２つの命令語である第１一般命令語及び第１拡張命令語をｔ１時間にプリフェッチ（ＰＦ）して第１一般命令語は臨時保存部２００の第１バッファーＢＵ１に保存され、同時に、第１拡張命令語は臨時保存部２００の第２バッファーＢＵ２に保存される。拡張命令検索部３１０は、ｔ１時間に命令語保存部１００から臨時保存部２００へ第１一般命令語及び第１拡張命令語がプリフェッチ（ＰＦ）される時に、命令語保存部１００の出力である命令語である第１一般命令語及び第１拡張命令語を受信して臨時保存部２００の第１バッファーＢＵ１及び第２バッファーＢＵ２に保存されるそれぞれの命令語が一般命令語であるか、拡張命令語であるかを示すフラグ信号ＦＬＡＧを出力する。この時、命令語保存部１００が出力する命令語は第１一般命令語と第１拡張命令語であるので、拡張命令検索部３１０は非活性化されたフラグ信号ＦＬＡＧであるロー論理値と活性化されたフラグ信号ＦＬＡＧであるハイ論理値を出力する。これらのフラグ信号ＦＬＡＧはフラグレジスタ３２０に保存されて現在バッファーＢＵ１、ＢＵ２に保存されている各命令語の種類を示す。上記の例において、第１一般命令語は第１バッファーＢＵ１に保存され、第１拡張命令語は第２バッファーＢＵ２に保存されるので、フラグレジスタ３２０の第１フラグビットＦＢ１にはロー論理値である‘０’が保存され、第２フラグビットＦＢ２にはハイ論理値である‘１’が保存される。拡張デコーダー３３０はフラグレジスタ３２０の第１フラグビットＦＢ１と第２フラグビットＦＢ２の値を参照して、第１一般命令語は第１バッファーＢＵ１に位置し、第１拡張命令語は第２バッファーＢＵ２に位置していることを示す位置信号ＰＯＳを出力する。
【００２６】
ｔ２時間に拡張デコーダー３３０の出力である位置信号ＰＯＳによって命令語選択部４００は第１バッファーＢＵ１に保存された第１一般命令語を一般命令語解析部７００へ出力する。即ち、ｔ２時間に一般命令語解析部７００によって第１一般命令語のフェッチ及びデコード（ＩＦ）を遂行する。第１一般命令語のフェッチ及びデコード（ＩＦ）を遂行すると同時に、位置信号ＰＯＳによって第２バッファーＢＵ２に保存された第１拡張命令語の被演算子ＯＰＥＲを拡張データ解析部５００へ出力する。即ち、拡張データ解析部５００によって第１拡張命令語をフェッチ（ＩＦ）する。拡張データ解析部５００は第１拡張命令語の被演算子ＯＰＥＲを演算処理して拡張データＥＤを出力する。拡張データ解析部５００は第１拡張命令語が一般命令語の後にくる一番目の拡張命令語であるので、拡張データＥＤの下位ビットには第１拡張命令語の被演算子ＯＰＥＲを入力し、入力された第１拡張命令語の被演算子ＯＰＥＲのビット数より上位ビットは、入力された第１拡張命令語の被演算子ＯＰＥＲの最上位ビットと同一の値を入力して拡張データＥＤを生成する。拡張データ保存部６００は拡張データ解析部５００の出力である拡張データＥＤを保存し、拡張データＥＤを用いる一般命令語によって拡張データＥＤが要求されると、保存していた拡張データＥＤを出力する。若し、第１拡張命令語が臨時保存部２００のバッファーＢＵ１、ＢＵ２に保存された命令語の以前に受信された拡張命令語と連続する拡張命令語、つまり、以前に受信された拡張命令語と現在受信された第１拡張命令語とを共に演算処理して拡張データＥＤを更新しなければならない場合には、以前に生成された拡張データＥＤを第１拡張命令語の被演算子のビット数だけ上位のビットに移動させ、空いている下位ビットに第１拡張命令語の被演算子を満たす。
【００２７】
ｔ３時間に命令語解析部７００から出力される第１一般命令語による多数の制御信号によって実行器は当該第１一般命令語を実行（ＥＸ）する。ｔ４時間に第１一般命令語の実行による結果をメモリまたは中央処理装置の特定のレジスタに保存（ＳＴ）する。
【００２８】
上記のような方法によって、命令語保存部１００に保存された第２拡張命令語及び第３拡張命令語は第１一般命令語及び第１拡張命令語のフェッチ及びデコード（ＩＦ）を遂行するｔ２時間に、各々臨時保存部２００の第１バッファーＢＵ１及び第２バッファーＢＵ２へプリフェッチ（ＰＦ）され、同時に、拡張命令検索部３１０はプリフェッチ（ＰＦ）される命令語を検査して各命令語が拡張命令語であるか、一般命令語であるかを示すフラグ信号ＦＬＡＧを出力する。フラグレジスタ３２０は拡張命令検索部３１０の出力であるフラグ信号ＦＬＡＧを保存し、拡張デコーダー３３０へ保存しているフラグ信号ＦＬＡＧを出力する。拡張デコーダー３３０はフラグ信号ＦＬＡＧによって現在臨時保存部２００の各バッファーＢＵ１、ＢＵ２には拡張命令語だけがあることを示す位置信号ＰＯＳを出力する。ｔ３時間に命令語選択部４００は位置信号ＰＯＳによって臨時保存部２００に一般命令語がないことが分かり、一般命令語解析部７００に何らの演算も遂行しない命令語、つまり、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）命令を出力する。拡張データ解析部５００は位置信号ＰＯＳによって臨時保存部２００に保存された第２拡張命令語及び第３拡張命令語の被演算子ＯＰＥＲを受信してこれらを演算処理し、拡張データＥＤを生成する。第２拡張命令語及び第３拡張命令語は以前に演算処理された第１拡張命令語の連続した拡張命令語であるので、第１拡張命令語によって生成された拡張データＥＤを上位ビットに移動させ、拡張データＥＤの空いている下位ビットの席に第２拡張命令語及び第３拡張命令語の被演算子ＯＰＥＲを順序の通りに入力する。この時、移動させるビット数は第２拡張命令語及び第３拡張命令語の被演算子ＯＰＥＲのビット数の合計と同一である。拡張データ保存部６００には拡張データ解析部５００の出力である第１拡張命令語、第２拡張命令語及び第３拡張命令語によって生成される拡張データＥＤが保存される。従って、ｔ３時間に第２拡張命令語及び第３拡張命令語のフェッチ及びデコード（ＩＦ）が遂行される。
【００２９】
上記と同様に、命令語保存部１００に保存された第２一般命令語及び第３一般命令語はｔ３時間に、各々臨時保存部２００の第１バッファーＢＵ１と第２バッファーＢＵ２へプリフェッチ（ＰＦ）され、拡張命令検索部３１０はプリフェッチ（Ｐｒｅ−Ｆｅｔｃｈ）されている命令語が全て一般命令語であることを示すフラグ信号ＦＬＡＧを出力し、フラグレジスタ３２０は拡張命令検索部３１０の出力であるフラグ信号ＦＬＡＧを保存し、拡張デコーダー３３０へ保存されたフラグ信号ＦＬＡＧを出力する。拡張デコーダー３３０は現在臨時保存部２００に保存された命令語が全て一般命令語であり、拡張命令語が保存されていないことを示す位置信号ＰＯＳを出力する。命令語選択部４００は拡張デコーダー３３０の位置信号ＰＯＳを受信して臨時保存部２００に保存された命令語が全て一般命令語であることが分かり、第１バッファーＢＵ１及び第２バッファーＢＵ２に保存された第２一般命令語と第３一般命令語を順次に命令語解析部７００へ出力する。拡張命令語解析部５００は位置信号ＰＯＳによって臨時保存部２００に保存された命令語のうち、拡張命令語がないことが分かり、拡張データＥＤを更新しない。その以後の実行（ＥＸ）及び保存（ＳＴ）は同様である。若し、第２一般命令語または第３一般命令語が拡張データＥＤを用いる命令である場合、既に拡張データ保存部６００に保存された拡張データＥＤを用いて実行器はこれに該当する一般命令語を実行する。
【００３０】
従って、図３による動作タイミング図に示すように、本発明の拡張命令語縮約装置は４つのパイプライン（Ｐｉｐｅ  Ｌｉｎｅ）クロックが必要であるので、従来と比べて２個のパイプラインクロックが節減されるので、中央処理装置の効率及びプログラムの効率を増大させることができる。
【００３１】
図４は、図２の本発明の拡張命令語縮約装置の他の動作タイミング図である。
図４に示すように、命令語保存部１００には、順次に、第１一般命令語、第１拡張命令語、第２拡張命令語、第２一般命令語が保存されており、臨時保存部２００は４つのバッファーＢＵ１〜ＢＵ４から構成され、フラグレジスタ３２０は４ビットのフラグビットＦＢ１〜ＦＢ４から構成されている場合、図２の本発明の拡張命令語縮約装置の動作は以下の通りである。
【００３２】
臨時保存部２００の４つのバッファーＢＵ１〜ＢＵ４へｔ１時間に命令語保存部１００に保存された第１一般命令語、第１拡張命令語、第２拡張命令語及び第２一般命令語はプリフェッチ（ＰＦ）される。同時に、拡張命令検索部３１０は命令語保存部１００から出力される命令語を検索して命令語のうち、どの命令語が一般命令語であるか、拡張命令語であるかを判断して、拡張命令語であれば、活性化された信号ＦＬＡＧを出力し、一般命令語であれば、非活性化されたフラグ信号ＦＬＡＧを出力する。フラグレジスタ３２０は拡張命令検索部３１０の出力であるフラグ信号ＦＬＡＧを多数のフラグビットＦＢ１〜ＦＢ４に保存する。フラグレジスタ３２０は、上記の実施例の場合、最下位フラグビットＦＢ１から最上位フラグビットＦＢ４は‘０１１０’のデータを有し、拡張デコーダー３３０は、フラグレジスタ３２０の各フラグビットＦＢ１〜ＦＢ４の活性化状態を判断して臨時保存部２００の各バッファーＢＵ１〜ＢＵ４に保存された命令語が一般命令語であるか、拡張命令語であるかを示す位置信号ＰＯＳを出力する。従って、拡張デコーダー３３０によってそれぞれの命令語である拡張命令語または一般命令語が臨時保存部２００の何番目に位置したバッファーに保存されているかが分かる。
【００３３】
命令語選択部４００は、ｔ２時間に拡張デコーダー３３０の出力である位置信号ＰＯＳによって臨時保存部２００の各バッファーＢＵ１〜ＢＵ４に保存された命令語のうち、一番目の一般命令語が保存された第１バッファーＢＵ１を選択して第１バッファーＢＵ１に保存された第１一般命令語を一般命令語解析部７００へ出力し、一般命令語解析部７００は、第１一般命令語を解析して多数の制御信号を出力する。即ち、ｔ２時間に命令語選択部４００及び一般命令語解析部７００によって臨時保存部２００に保存された第１一般命令語のフェッチ及びデコード（ＩＦ）を遂行する。ｔ３時間に多数の制御信号によって実行器は当該第１一般命令語を実行（ＥＸ）し、ｔ４時間に第１一般命令語の実行による結果をメモリまたは中央処理装置の特定のレジスタに保存（ＳＴ）する。
【００３４】
第１一般命令語のフェッチ及びデコード（ＩＦ）を遂行するｔ２時間に、拡張データ解析部５００は位置信号ＰＯＳによって第２バッファーＢＵ２と第３バッファーＢＵ３に保存された第１拡張命令語及び第２拡張命令語のそれぞれの被演算子ＯＰＥＲ２、ＯＰＥＲ３を受信し、受信された被演算子ＯＰＥＲ２、ＯＰＥＲ３を演算処理して拡張データＥＤを出力する。被演算子ＯＰＥＲ２、ＯＰＥＲ３を演算処理して拡張データＥＤを生成する時に、若し、第１拡張命令語が第１一般命令語の以後に初めて遂行されるべき拡張命令語の被演算子ＯＰＥＲ２である場合、拡張データＥＤの最下位ビットから第２拡張命令語の被演算子ＯＰＥＲ３及び第１拡張命令語の被演算子ＯＰＥＲ２を順序の通りに満たし、第１拡張命令語の被演算子ＯＰＥＲ２の最上位ビットより上位の拡張データＥＤのビットは第１拡張命令語の被演算子ＯＰＥＲ２の最上位ビットと同一のビットで満たして拡張データＥＤを生成する。若し、拡張命令語が以前の拡張命令語と連続して用いられる場合、前の命令語で生成した拡張データＥＤを第１、第２拡張命令語の被演算子ＯＰＥＲ２、ＯＰＥＲ３のビット数だけ上位へ移動させ、空いている下位ビットに第１、第２拡張命令語の被演算子ＯＰＥＲ２、ＯＰＥＲ３で順次に満たす。
【００３５】
拡張データ保存部６００は拡張データ解析部５００の拡張データＥＤを受信してこれを保存する。
【００３６】
上記のような方法によって、命令語選択部４００は、位置信号ＰＯＳによって臨時保存部２００の第４バッファーＢＵ４に保存された第２一般命令語を選択し、一般命令解析部７００は、ｔ３時間に第２一般命令語のフェッチ及びデコード（ＩＦ）を遂行し、一般命令解析部７００から出力される多数の制御信号によってｔ４時間に実行器によって第２一般命令語を実行（ＥＸ）し、ｔ５時間に第２一般命令語の実行による結果をメモリまたは中央処理装置の特定のレジスタに保存（ＳＴ）する。
【００３７】
若し、第２一般命令語が拡張データＥＤを用いる命令語であれば、既に拡張データ保存部６００に保存された拡張データＥＤを用いてｔ４時間に実行器は第２一般命令語を実行する。
【００３８】
【発明の効果】
本発明の拡張命令語縮約装置は、一般命令語を読み取り、実行する間後続する拡張命令語を処理することによって、後続する拡張命令語の後の一般命令語を直ちに処理することができ、拡張命令語方式の中央処理装置の性能を増大させることができる。
【図面の簡単な説明】
【図１】拡張命令語の動作図。
【図２】本発明の拡張命令語縮約装置を示すブロック図。
【図３】図２の本発明の拡張命令語縮約装置の動作タイミング図。
【図４】図２の本発明の拡張命令語縮約装置の他の動作タイミング図。
【符号の説明】
１００…命令語保存部
２００…臨時保存部
３００…命令語検索部
３１０…拡張命令検索部
３２０…フラグレジスタ
３３０…拡張デコーダ
４００…命令語選択部
５００…拡張データ解析部
６００…拡張データ保存部
７００…一般命令語解析部
ＰＯＳ…位置信号
ＢＵ１〜ＢＵｎ…バッファー
ＥＤ…拡張データ
ＦＬＡＧ…フラグ信号
ＦＢ１〜ＦＢｎ…フラグビット
ＯＰＥＲ１〜ＯＰＥＲｎ…被演算子
ＰＦ…プリフェッチ
ＩＦ…デコード
ＥＸ…実行
【図１】
0003558163.tif 000002
【図２】
0003558163.tif 000003
【図３】
0003558163.tif 000004
【図４】
0003558163.tif 000005