JPH04286027A - データ処理装置 - Google Patents
データ処理装置Info
- Publication number
- JPH04286027A JPH04286027A JP5174191A JP5174191A JPH04286027A JP H04286027 A JPH04286027 A JP H04286027A JP 5174191 A JP5174191 A JP 5174191A JP 5174191 A JP5174191 A JP 5174191A JP H04286027 A JPH04286027 A JP H04286027A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- code
- length
- decoding
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は可変長命令仕様で1命令
が1つ以上のオペレーションコード(以下OPコードと
略記する)よりなる命令セットを処理するデータ処理装
置に係り、特に多数の命令を同時に解読しうるデータ処
理装置に関する。近年のマイクロプロセッサでは、命令
処理速度を向上させるために、その設計に種々の手法が
採られている。その一つにパイプライン命令処理があり
、RISC(Reduced Instruction
Set Computer)アーキテクチャの世界で
は、これを更に発展させた複数命令同時実行方式を用い
たマイクロプロセッサも市場に現われている。
が1つ以上のオペレーションコード(以下OPコードと
略記する)よりなる命令セットを処理するデータ処理装
置に係り、特に多数の命令を同時に解読しうるデータ処
理装置に関する。近年のマイクロプロセッサでは、命令
処理速度を向上させるために、その設計に種々の手法が
採られている。その一つにパイプライン命令処理があり
、RISC(Reduced Instruction
Set Computer)アーキテクチャの世界で
は、これを更に発展させた複数命令同時実行方式を用い
たマイクロプロセッサも市場に現われている。
【0002】パイプライン命令処理の場合、1つの命令
処理を命令デコード、オペランドフェッチ等の幾つかの
処理単位(ステージ)に分割し、ステージ単位で命令処
理を進め、各命令の処理をオーバーラップさせることで
命令処理速度の向上を計る。ここで、命令デコードステ
ージに着目した場合、RISCアーキテクチャは大きな
利点を持っている。それは命令長が固定であるため与え
られた命令列の中でどこが先頭であるかということが、
命令デコードを行う前段階で判明しているという点であ
る。そのため、命令デコーダに対する命令コード入力(
命令先頭位置合わせ)を容易に行うことができる。
処理を命令デコード、オペランドフェッチ等の幾つかの
処理単位(ステージ)に分割し、ステージ単位で命令処
理を進め、各命令の処理をオーバーラップさせることで
命令処理速度の向上を計る。ここで、命令デコードステ
ージに着目した場合、RISCアーキテクチャは大きな
利点を持っている。それは命令長が固定であるため与え
られた命令列の中でどこが先頭であるかということが、
命令デコードを行う前段階で判明しているという点であ
る。そのため、命令デコーダに対する命令コード入力(
命令先頭位置合わせ)を容易に行うことができる。
【0003】一方、CISC(Complex Ins
truction Set Computer)アーキ
テクチャの場合、命令長が可変であるため、与えられた
命令列のどこが命令区切りであるか一度命令デコードを
行わないと決定することができない。このため、一度命
令デコードを行った後、次命令コードのための命令先頭
位置合わせの為に時間をとることになり、この時間が前
述のパイプライン処理に対してネックとなる。命令デコ
ード以降のステージが高速になっても命令デコーダへの
命令入力に時間をとっては命令処理時間を短縮すること
ができないからである。従って、CISCアーキテクチ
ャの場合にも命令デコードステージを実行する前に命令
長を知っておく必要が生じている。
truction Set Computer)アーキ
テクチャの場合、命令長が可変であるため、与えられた
命令列のどこが命令区切りであるか一度命令デコードを
行わないと決定することができない。このため、一度命
令デコードを行った後、次命令コードのための命令先頭
位置合わせの為に時間をとることになり、この時間が前
述のパイプライン処理に対してネックとなる。命令デコ
ード以降のステージが高速になっても命令デコーダへの
命令入力に時間をとっては命令処理時間を短縮すること
ができないからである。従って、CISCアーキテクチ
ャの場合にも命令デコードステージを実行する前に命令
長を知っておく必要が生じている。
【0004】
【従来の技術】命令長を知っておく手段の一つとして、
命令フェッチ段階で命令長情報のみを解読する命令プリ
デコーダを設ける手法がある。パイプライン処理での命
令実行の合間を縫って行われる命令フェッチの際に命令
長のみを解読しておき、命令デコーダの入力データを格
納しておく命令バッファに入力データと共に命令長情報
を登録しておこうという考え方である。命令長情報が共
に登録されていれば命令デコードステージの命令解読結
果を待つことなく次命令入力を行え、前述の問題は解消
する。
命令フェッチ段階で命令長情報のみを解読する命令プリ
デコーダを設ける手法がある。パイプライン処理での命
令実行の合間を縫って行われる命令フェッチの際に命令
長のみを解読しておき、命令デコーダの入力データを格
納しておく命令バッファに入力データと共に命令長情報
を登録しておこうという考え方である。命令長情報が共
に登録されていれば命令デコードステージの命令解読結
果を待つことなく次命令入力を行え、前述の問題は解消
する。
【0005】しかしながら、ここで新たに問題となるの
は命令プリデコードに必要とする時間、或いはサイクル
数である。命令長判別のために多くのサイクルを要して
は命令フェッチそのものを遅くしていることになり、結
局命令デコーダに入力する命令がなくパイプラインに待
ち時間を生ずる。従って命令プリデコードを行うに際し
ては、できるだけ多くの命令の命令長解読をできるだけ
少ないサイクル数で行う必要がある。
は命令プリデコードに必要とする時間、或いはサイクル
数である。命令長判別のために多くのサイクルを要して
は命令フェッチそのものを遅くしていることになり、結
局命令デコーダに入力する命令がなくパイプラインに待
ち時間を生ずる。従って命令プリデコードを行うに際し
ては、できるだけ多くの命令の命令長解読をできるだけ
少ないサイクル数で行う必要がある。
【0006】更に例えば、TRON(The Real
time Operating System Nuc
leus )コードより構成されている命令を多数同時
に解読を行おうとした場合、入力された命令ビット列の
うち上位単位長命令コードの解読状況に従って、下位単
位長命令コードの解読の仕方が変わってくるため、入力
された命令ビット列をそのまま同時に解読することはで
きない。何故なら、入力される命令ビット列はOPコー
ドである単位長命令コードとデータそのものである単位
長命令コードが混在しているからである。 データ部分はランダムなビット列であるため解読するこ
とは無駄である。従って解読実行以前に、入力された単
位長命令コードがOPコードであるのかデータであるの
か判別されている必要がある。1命令ずつ解読実行する
のであれば、次のOPコードがどの単位長命令コードに
なるか指定して命令解読装置に入力すれば済むことであ
るが、多命令を同時に1マシンサイクルで解読しようと
する場合、前述のように、より上位(命令順序でいえば
、前の命令)の単位長命令コードに依存してしまうこと
により何らかの工夫が必要になる。
time Operating System Nuc
leus )コードより構成されている命令を多数同時
に解読を行おうとした場合、入力された命令ビット列の
うち上位単位長命令コードの解読状況に従って、下位単
位長命令コードの解読の仕方が変わってくるため、入力
された命令ビット列をそのまま同時に解読することはで
きない。何故なら、入力される命令ビット列はOPコー
ドである単位長命令コードとデータそのものである単位
長命令コードが混在しているからである。 データ部分はランダムなビット列であるため解読するこ
とは無駄である。従って解読実行以前に、入力された単
位長命令コードがOPコードであるのかデータであるの
か判別されている必要がある。1命令ずつ解読実行する
のであれば、次のOPコードがどの単位長命令コードに
なるか指定して命令解読装置に入力すれば済むことであ
るが、多命令を同時に1マシンサイクルで解読しようと
する場合、前述のように、より上位(命令順序でいえば
、前の命令)の単位長命令コードに依存してしまうこと
により何らかの工夫が必要になる。
【0007】また、2つのOPコード(OP1、OP2
)よりなる命令を含むということは、解読実行以前にO
Pコードとデータの区別だけでなくて、OP1であるか
、OP2であるかが判別されていなければならないこと
を意味する。前述のTRON仕様の例と同様にOP1と
OP2とで解読の仕方が違うからである。OP2の単位
長命令コードをOP1であるとして解読を行うと本来の
命令コードとは全く異なる解読結果を生じてしまう。
)よりなる命令を含むということは、解読実行以前にO
Pコードとデータの区別だけでなくて、OP1であるか
、OP2であるかが判別されていなければならないこと
を意味する。前述のTRON仕様の例と同様にOP1と
OP2とで解読の仕方が違うからである。OP2の単位
長命令コードをOP1であるとして解読を行うと本来の
命令コードとは全く異なる解読結果を生じてしまう。
【0008】
【発明が解決しようとする課題】従来のマイクロプロセ
ッサにおいては、命令プリデコーダは設けていないか、
また設けていたとしても命令長を判別するものではなく
、分岐命令等を先に解読しておく目的のものであった。 従って、命令長がわからないままパイプラインステージ
の命令デコードステージに入るため、次命令先頭判別を
行うのに時間を要するという制約が生じ、命令処理速度
を上げることができないという問題があった。
ッサにおいては、命令プリデコーダは設けていないか、
また設けていたとしても命令長を判別するものではなく
、分岐命令等を先に解読しておく目的のものであった。 従って、命令長がわからないままパイプラインステージ
の命令デコードステージに入るため、次命令先頭判別を
行うのに時間を要するという制約が生じ、命令処理速度
を上げることができないという問題があった。
【0009】更に、よしんば命令長を判別する命令プリ
デコーダを設けても、1マシンサイクルで1命令しか命
令長を解読しなかった。このため命令フェッチが遅くな
り、後続の実際の命令処理を行うパイプラインが命令フ
ェッチと比較して高速に処理を終えてしまうのでパイプ
ラインに空き時間が生じ、全体としての命令処理速度を
上げることができないという問題があった。
デコーダを設けても、1マシンサイクルで1命令しか命
令長を解読しなかった。このため命令フェッチが遅くな
り、後続の実際の命令処理を行うパイプラインが命令フ
ェッチと比較して高速に処理を終えてしまうのでパイプ
ラインに空き時間が生じ、全体としての命令処理速度を
上げることができないという問題があった。
【0010】本発明は、可変長命令仕様で1命令が1つ
以上のOPコードよりなる命令セットにおいて、命令長
を先に解読することにより、同時に多数の命令を解読で
き、パイプラインに空き時間を生じることなく高速に命
令処理の行えるデータ処理装置を提供することを目的と
する。
以上のOPコードよりなる命令セットにおいて、命令長
を先に解読することにより、同時に多数の命令を解読で
き、パイプラインに空き時間を生じることなく高速に命
令処理の行えるデータ処理装置を提供することを目的と
する。
【0011】
【課題を解決するための手段】図1は本発明の原理説明
図である。上記課題を解決するために、本発明は、命令
長が命令毎に異なり1命令が1つ以上のオペレーション
コード(OPコードと略記する)よりなる命令セットを
処理するデータ処理装置であって、連続するN個の単位
長命令ビット列C1、C2、…、CNを単位長毎に割り
当てられて入力し第1、第2、及び第3の解読信号群を
出力する命令解読器群D1、D2、…、DNと、命令解
読処理開始時或いは命令分岐時に前記単位長命令ビット
列C1、C2、…、CNのどれが最初の第1OPコード
であるかを命令処理の開始命令或いは分岐先の命令の命
令アドレスに従って指定する指定信号を出力する指定手
段VLTと、前記命令解読器Di(0<i≦N)が出力
する第1及び第2の解読信号群を該命令解読器Diの上
位の命令解読器群Dj(0<j≦i)それぞれが出力す
る第1或いは第3の解読信号群若しくは前記指定信号に
よって有効化し、第3の解読信号群を該命令解読器Di
)の上位の命令解読器群Djそれぞれが出力する第2の
解読信号群若しくは前記指定信号によって有効化する有
効化手段群S1、S2、…、SNと、前記有効化手段群
S1、S2、…、SNにより有効化された第1、第2、
及び第3の解読信号群及び前記単位長命令ビット列C1
、C2、…、CNを入力して保持する命令キャッシュ1
4と、前記有効化手段群S1、S2、…、SNにより有
効化された第1、第2、及び第3の解読信号群に応じて
前記単位長命令ビット列C1、C2、…、CNの命令先
頭位置合わせを行って命令ビット列B1、B2、…、B
Nを出力する命令バッファ12と、前記命令先頭位置合
わせ後の命令ビット列B1、B2、…、BNを入力して
命令解読を行う命令デコーダ13とを有して構成する。
図である。上記課題を解決するために、本発明は、命令
長が命令毎に異なり1命令が1つ以上のオペレーション
コード(OPコードと略記する)よりなる命令セットを
処理するデータ処理装置であって、連続するN個の単位
長命令ビット列C1、C2、…、CNを単位長毎に割り
当てられて入力し第1、第2、及び第3の解読信号群を
出力する命令解読器群D1、D2、…、DNと、命令解
読処理開始時或いは命令分岐時に前記単位長命令ビット
列C1、C2、…、CNのどれが最初の第1OPコード
であるかを命令処理の開始命令或いは分岐先の命令の命
令アドレスに従って指定する指定信号を出力する指定手
段VLTと、前記命令解読器Di(0<i≦N)が出力
する第1及び第2の解読信号群を該命令解読器Diの上
位の命令解読器群Dj(0<j≦i)それぞれが出力す
る第1或いは第3の解読信号群若しくは前記指定信号に
よって有効化し、第3の解読信号群を該命令解読器Di
)の上位の命令解読器群Djそれぞれが出力する第2の
解読信号群若しくは前記指定信号によって有効化する有
効化手段群S1、S2、…、SNと、前記有効化手段群
S1、S2、…、SNにより有効化された第1、第2、
及び第3の解読信号群及び前記単位長命令ビット列C1
、C2、…、CNを入力して保持する命令キャッシュ1
4と、前記有効化手段群S1、S2、…、SNにより有
効化された第1、第2、及び第3の解読信号群に応じて
前記単位長命令ビット列C1、C2、…、CNの命令先
頭位置合わせを行って命令ビット列B1、B2、…、B
Nを出力する命令バッファ12と、前記命令先頭位置合
わせ後の命令ビット列B1、B2、…、BNを入力して
命令解読を行う命令デコーダ13とを有して構成する。
【0012】尚、前記命令解読器Di(0<i≦N)は
、入力された単位長命令ビット列Ci(0<i≦N)を
第1OPコードであると仮定した場合には、後続の最初
のOPコードが第1OPコードであることを示す第1の
信号群或いは後続の最初のOPコードが第2OPコード
であることを示す第2の信号群の何れかを、単位長命令
ビット列Ci(0<i≦N)を第2OPコードであると
仮定した場合には、後続の最初のOPコードが第1OP
コードであることを示す第3の信号群を出力する。
、入力された単位長命令ビット列Ci(0<i≦N)を
第1OPコードであると仮定した場合には、後続の最初
のOPコードが第1OPコードであることを示す第1の
信号群或いは後続の最初のOPコードが第2OPコード
であることを示す第2の信号群の何れかを、単位長命令
ビット列Ci(0<i≦N)を第2OPコードであると
仮定した場合には、後続の最初のOPコードが第1OP
コードであることを示す第3の信号群を出力する。
【0013】
【作用】本発明では、図1の如く、連続するN個の単位
長命令ビット列C1、C2、…、CNをそれぞれに命令
解読器群D1、D2、…、DNを割り当て、それぞれの
命令解読器群D1、D2、…、DNが、入力された単位
長命令ビット列Ci(0<i≦N)を第1OPコードで
あると仮定した場合には、後続の最初のOPコードが第
1OPコードであることを示す第1の信号群或いは後続
の最初のOPコードが第2OPコードであることを示す
第2の信号群の何れかを、また単位長命令ビット列Ci
(0<i≦N)を第2OPコードであると仮定した場合
に後続の最初のOPコードが第1OPコードであること
を示す第3の信号群を出力する。また、たとえ非命令先
頭部分を解読して不定信号を出力したとしても、有効化
手段群S1、S2、…、SNが、命令解読器Di(0<
i≦N)が出力する第1及び第2の解読信号群を該命令
解読器Diの上位の命令解読器群Dj(0<j≦i)そ
れぞれが出力する第1或いは第3の解読信号群若しくは
前記指定信号によって有効化し、第3の解読信号群を該
命令解読器Diの上位の命令解読器群Djそれぞれが出
力する第2の解読信号群若しくは前記指定信号によって
有効化することにより、有効な解読信号のみを選択する
ようにしている。
長命令ビット列C1、C2、…、CNをそれぞれに命令
解読器群D1、D2、…、DNを割り当て、それぞれの
命令解読器群D1、D2、…、DNが、入力された単位
長命令ビット列Ci(0<i≦N)を第1OPコードで
あると仮定した場合には、後続の最初のOPコードが第
1OPコードであることを示す第1の信号群或いは後続
の最初のOPコードが第2OPコードであることを示す
第2の信号群の何れかを、また単位長命令ビット列Ci
(0<i≦N)を第2OPコードであると仮定した場合
に後続の最初のOPコードが第1OPコードであること
を示す第3の信号群を出力する。また、たとえ非命令先
頭部分を解読して不定信号を出力したとしても、有効化
手段群S1、S2、…、SNが、命令解読器Di(0<
i≦N)が出力する第1及び第2の解読信号群を該命令
解読器Diの上位の命令解読器群Dj(0<j≦i)そ
れぞれが出力する第1或いは第3の解読信号群若しくは
前記指定信号によって有効化し、第3の解読信号群を該
命令解読器Diの上位の命令解読器群Djそれぞれが出
力する第2の解読信号群若しくは前記指定信号によって
有効化することにより、有効な解読信号のみを選択する
ようにしている。
【0014】従って、1サイクルで1命令中に複数のO
Pコードを持つ命令の多数命令同時解読が可能となる。
Pコードを持つ命令の多数命令同時解読が可能となる。
【0015】
【実施例】次に、本発明に係る実施例を図面に基づいて
説明する。図2及び図3に本発明の実施例を示す。図2
は本発明の実施例に係るデータ処理装置の全体構成図を
、図3は本発明の実施例に係るデータ処理装置の命令プ
リデコーダの回路構成図を示したものである。
説明する。図2及び図3に本発明の実施例を示す。図2
は本発明の実施例に係るデータ処理装置の全体構成図を
、図3は本発明の実施例に係るデータ処理装置の命令プ
リデコーダの回路構成図を示したものである。
【0016】図2において、本実施例のデータ処理装置
は、連続する4個の単位長命令ビット列C1、C2、C
3、及びC4をデータバスE1〜E4より入力して、同
時に解読し単位長毎に有効化された第1、第2、及び第
3の解読信号群を出力する命令プリデコーダ11と、有
効化された第1、第2、及び第3の解読信号群及び単位
長命令ビット列C1、C2、C3、及びC4を入力して
保持する命令キャッシュ14と、有効化された第1、第
2、及び第3の解読信号群に応じて単位長命令ビット列
C1、C2、C3、及びC4の命令先頭位置合わせを行
って命令ビット列B1、B2、B3、及びB4を出力す
る命令バッファ12と、命令先頭位置合わせ後の命令ビ
ット列B1、B2、B3、及びB4を入力して命令解読
を行う命令デコーダ13とから構成されている。
は、連続する4個の単位長命令ビット列C1、C2、C
3、及びC4をデータバスE1〜E4より入力して、同
時に解読し単位長毎に有効化された第1、第2、及び第
3の解読信号群を出力する命令プリデコーダ11と、有
効化された第1、第2、及び第3の解読信号群及び単位
長命令ビット列C1、C2、C3、及びC4を入力して
保持する命令キャッシュ14と、有効化された第1、第
2、及び第3の解読信号群に応じて単位長命令ビット列
C1、C2、C3、及びC4の命令先頭位置合わせを行
って命令ビット列B1、B2、B3、及びB4を出力す
る命令バッファ12と、命令先頭位置合わせ後の命令ビ
ット列B1、B2、B3、及びB4を入力して命令解読
を行う命令デコーダ13とから構成されている。
【0017】ここで先ず図4を用いて、本実施例のデー
タ処理装置が処理する可変長命令仕様の命令セットの命
令フォーマットを説明する。図中、OPコード(オペレ
ーションコード)とは命令機能情報を含んだビット列を
意味し、OP1は第1のOPコード、OP2は第2のO
Pコードである。また、EXTとは拡張部のことであり
、OPコードにより規定される命令機能を実行する上で
必要な定数ビット列データを意味する。拡張部EXTの
例としては、アドレス計算に使用するディスプレースメ
ントや、即値(イミディエート)オペランドがある。
タ処理装置が処理する可変長命令仕様の命令セットの命
令フォーマットを説明する。図中、OPコード(オペレ
ーションコード)とは命令機能情報を含んだビット列を
意味し、OP1は第1のOPコード、OP2は第2のO
Pコードである。また、EXTとは拡張部のことであり
、OPコードにより規定される命令機能を実行する上で
必要な定数ビット列データを意味する。拡張部EXTの
例としては、アドレス計算に使用するディスプレースメ
ントや、即値(イミディエート)オペランドがある。
【0018】命令の先頭は常に第1OPコードOP1で
あり、拡張部EXTが命令先頭になることはない。また
1命令中1OPコードが基本であり、OPコード中のサ
イズフィールドで指定される定数サイズにより拡張部E
XTが何単位長になるかが決定される。この拡張部EX
Tが可変であるので命令全体が可変長となっている。命
令解読長1の命令は第1OPコードOP1のみよりなっ
ている。また、命令解読長2の命令はOPコードと1つ
の拡張部EXTよりなり、第1OPコードOP1、第2
OPコードOP2の2つのケースがある。但し、OP1
+EXTはそれのみで1命令となりうるが、OP2+E
XTはそれのみでは1命令とはなり得ず、あくまでも命
令解読単位である。つまり、第1OPコードOP1を含
む命令解読単位のみか、或いはそれと第2OPコードO
P2を含む命令解読単位がペアとなって1命令が構成さ
れるのが基本である。以下同様に、命令解読長3、命令
解読長4、命令解読長5、及び命令解読長6が図4のよ
うに定義されている。
あり、拡張部EXTが命令先頭になることはない。また
1命令中1OPコードが基本であり、OPコード中のサ
イズフィールドで指定される定数サイズにより拡張部E
XTが何単位長になるかが決定される。この拡張部EX
Tが可変であるので命令全体が可変長となっている。命
令解読長1の命令は第1OPコードOP1のみよりなっ
ている。また、命令解読長2の命令はOPコードと1つ
の拡張部EXTよりなり、第1OPコードOP1、第2
OPコードOP2の2つのケースがある。但し、OP1
+EXTはそれのみで1命令となりうるが、OP2+E
XTはそれのみでは1命令とはなり得ず、あくまでも命
令解読単位である。つまり、第1OPコードOP1を含
む命令解読単位のみか、或いはそれと第2OPコードO
P2を含む命令解読単位がペアとなって1命令が構成さ
れるのが基本である。以下同様に、命令解読長3、命令
解読長4、命令解読長5、及び命令解読長6が図4のよ
うに定義されている。
【0019】命令解読長4、及び命令解読長6のように
、1つの命令解読単位中に第1OPコードOP1と第2
OPコードOP2の2つのOPコードを持つ命令がある
が、これは第1OPコードOP1で使用するオペランド
がメモリフェッチ不要であるといった場合に第2OPコ
ードOP2まで同時に演算処理可能であるので、命令解
読も第2OPコードOP2まで同時に行おうというもの
である。
、1つの命令解読単位中に第1OPコードOP1と第2
OPコードOP2の2つのOPコードを持つ命令がある
が、これは第1OPコードOP1で使用するオペランド
がメモリフェッチ不要であるといった場合に第2OPコ
ードOP2まで同時に演算処理可能であるので、命令解
読も第2OPコードOP2まで同時に行おうというもの
である。
【0020】本実施例で使用する命令セットは、元々6
4ビットマイクロプロセッサで16ビットの命令長を基
本とする場合を考慮した命令フォーマットとなっており
、TRONアーキテクチャを参考にしている。図4の命
令フォーマットの場合、拡張部EXT(定数)の最大長
は64ビットであるので、最大命令解読単位長は6単位
長(96ビット)となる。この最大命令解読単位長は、
パイプライン的に命令処理を行う1つの単位としての処
理可能な最大の単位長命令コード数を意味し、1命令の
最大の命令コード長とは異なる。例えば、TRONアー
キテクチャの場合、アドレッシングモードによっては、
1命令で最大47単位長命令コードになるケースがある
。この場合には、もちろん一度に解読することは事実上
不可能であるから、命令をパイプライン的にある処理単
位毎に分割して解読を行う。その処理単位毎の最大値が
最大命令解読単位長となる。
4ビットマイクロプロセッサで16ビットの命令長を基
本とする場合を考慮した命令フォーマットとなっており
、TRONアーキテクチャを参考にしている。図4の命
令フォーマットの場合、拡張部EXT(定数)の最大長
は64ビットであるので、最大命令解読単位長は6単位
長(96ビット)となる。この最大命令解読単位長は、
パイプライン的に命令処理を行う1つの単位としての処
理可能な最大の単位長命令コード数を意味し、1命令の
最大の命令コード長とは異なる。例えば、TRONアー
キテクチャの場合、アドレッシングモードによっては、
1命令で最大47単位長命令コードになるケースがある
。この場合には、もちろん一度に解読することは事実上
不可能であるから、命令をパイプライン的にある処理単
位毎に分割して解読を行う。その処理単位毎の最大値が
最大命令解読単位長となる。
【0021】次に、図3に示すデータ処理装置の命令プ
リデコーダの回路構成図に基づいて説明する。本実施例
は、命令入力ビット数が外部データバスE1〜E4から
の64ビットで、命令単位長が16ビットである場合の
例であり、4単位長命令入力に対し4個の命令解読器D
1〜D4で命令プリデコードを行う。図3において、L
1〜L4は命令プリデコーダ11に入力するビット列を
一時的に格納する命令ラッチで、各々の命令ラッチL1
〜L4は単位長分のビット数(16ビット)を格納する
。命令ラッチL1〜L4への命令ビットの入力は例えば
外部命令メモリ(図示せず)より行われる。
リデコーダの回路構成図に基づいて説明する。本実施例
は、命令入力ビット数が外部データバスE1〜E4から
の64ビットで、命令単位長が16ビットである場合の
例であり、4単位長命令入力に対し4個の命令解読器D
1〜D4で命令プリデコードを行う。図3において、L
1〜L4は命令プリデコーダ11に入力するビット列を
一時的に格納する命令ラッチで、各々の命令ラッチL1
〜L4は単位長分のビット数(16ビット)を格納する
。命令ラッチL1〜L4への命令ビットの入力は例えば
外部命令メモリ(図示せず)より行われる。
【0022】D1〜D4は命令解読器であり、各々命令
ラッチL1〜L4より命令コード(16ビット)を入力
して命令解読を行い、それぞれが6本の信号線よりなる
第1の解読信号群tn11〜tn16(1≦n≦4)、
第2の解読信号群tn21〜tn26、及び第3の解読
信号群tn31〜tn36を出力する。ここで各信号群
が6本の信号線で構成されているのは、最大命令解読長
が6であるので、命令解読長1から命令解読長6までの
6本で命令長に従ったOPコードの位置を特定するため
である。この解読段階では、各々の命令解読装置D1〜
D4は入力された命令コード(単位長)を第1OPコー
ドOP1(命令先頭である)と仮定して命令解読を行い
、第1の解読信号群tn11〜tn16或いは第2の解
読信号群tn21〜tn26の何れか1本を出力すると
共に、第2OPコードOP2(命令先頭ではないが命令
解読の切れ目である)と仮定して命令解読を行い第3の
解読信号群tn31〜tn36の何れか1本を出力する
。ここで入力された命令コ−ドが第1OPコードOP1
か第2OPコードOP2であれば命令コードに応じた適
当な解読信号が出力されるが、データが入力された場合
にはでたらめな解読信号が出力されており、この時点で
出力された解読信号はまだ意味を持たない。尚、第1の
解読信号群tn11〜tn16は後続の最初のOPコー
ドは第1OPコードOP1であることを意味し、第2の
解読信号群tn21〜tn26は後続の最初のOPコー
ドは第2OPコードOP2であることを意味する。また
、第3の解読信号群tn31〜tn36は後続の最初の
OPコードは第1OPコードOP1であることを意味す
る。第3の解読信号群tn31〜tn36は第2OPコ
ードOP2を解読したものであるから、この場合後続の
最初のOPコードが第2OPコードOP2になることは
ない。これら解読信号群tng1〜tng6(1≦n≦
4、1≦g≦3)の解読出力パターンは図5に示される
ものとなる。例えば、入力された命令コードを第1OP
コードOP1と仮定して解読した結果、後続の最初のO
Pコードが第2OPコードOP2で、命令解読長が4で
あると判明した場合には、解読信号tn24を出力する
。
ラッチL1〜L4より命令コード(16ビット)を入力
して命令解読を行い、それぞれが6本の信号線よりなる
第1の解読信号群tn11〜tn16(1≦n≦4)、
第2の解読信号群tn21〜tn26、及び第3の解読
信号群tn31〜tn36を出力する。ここで各信号群
が6本の信号線で構成されているのは、最大命令解読長
が6であるので、命令解読長1から命令解読長6までの
6本で命令長に従ったOPコードの位置を特定するため
である。この解読段階では、各々の命令解読装置D1〜
D4は入力された命令コード(単位長)を第1OPコー
ドOP1(命令先頭である)と仮定して命令解読を行い
、第1の解読信号群tn11〜tn16或いは第2の解
読信号群tn21〜tn26の何れか1本を出力すると
共に、第2OPコードOP2(命令先頭ではないが命令
解読の切れ目である)と仮定して命令解読を行い第3の
解読信号群tn31〜tn36の何れか1本を出力する
。ここで入力された命令コ−ドが第1OPコードOP1
か第2OPコードOP2であれば命令コードに応じた適
当な解読信号が出力されるが、データが入力された場合
にはでたらめな解読信号が出力されており、この時点で
出力された解読信号はまだ意味を持たない。尚、第1の
解読信号群tn11〜tn16は後続の最初のOPコー
ドは第1OPコードOP1であることを意味し、第2の
解読信号群tn21〜tn26は後続の最初のOPコー
ドは第2OPコードOP2であることを意味する。また
、第3の解読信号群tn31〜tn36は後続の最初の
OPコードは第1OPコードOP1であることを意味す
る。第3の解読信号群tn31〜tn36は第2OPコ
ードOP2を解読したものであるから、この場合後続の
最初のOPコードが第2OPコードOP2になることは
ない。これら解読信号群tng1〜tng6(1≦n≦
4、1≦g≦3)の解読出力パターンは図5に示される
ものとなる。例えば、入力された命令コードを第1OP
コードOP1と仮定して解読した結果、後続の最初のO
Pコードが第2OPコードOP2で、命令解読長が4で
あると判明した場合には、解読信号tn24を出力する
。
【0023】次にS1〜S4は、解読出力有効化部であ
り、命令解読器D1〜D4の出力である第1の解読信号
群tn11〜tn16(1≦n≦4)、第2の解読信号
群tn21〜tn26、及び第3の解読信号群tn31
〜tn36を入力し、有効な解読信号のみを選択して有
効化された解読信号群lng1〜lng6(1≦n≦4
、1≦g≦3)を出力する。つまり、解読出力有効化部
Snは、第1の解読信号群t11〜tn16及び第2の
解読信号群tn21〜tn26を上位の解読出力有効化
部Sj(0<j≦n)それぞれが出力する第1或いは第
3の解読信号群を有効化した解読信号群lj11〜lj
16或いはlj31〜lj36、若しくは有効長保持回
路VLTからの指定信号w1n(の論理和)によって有
効化し、また第3の解読信号群tn31〜tn36を上
位の解読出力有効化部Sj(0<j≦i)それぞれが出
力する第2の解読信号群を有効化した解読信号群lj2
1〜lj26、若しくは有効長保持回路VLTからの指
定信号w2n(の論理和)によって有効化し、新たに有
効化した解読信号群ln11〜ln16、ln21〜l
n26、及びln31〜ln36を出力する。解読出力
有効化部Sの詳細回路図を図6に示す。
り、命令解読器D1〜D4の出力である第1の解読信号
群tn11〜tn16(1≦n≦4)、第2の解読信号
群tn21〜tn26、及び第3の解読信号群tn31
〜tn36を入力し、有効な解読信号のみを選択して有
効化された解読信号群lng1〜lng6(1≦n≦4
、1≦g≦3)を出力する。つまり、解読出力有効化部
Snは、第1の解読信号群t11〜tn16及び第2の
解読信号群tn21〜tn26を上位の解読出力有効化
部Sj(0<j≦n)それぞれが出力する第1或いは第
3の解読信号群を有効化した解読信号群lj11〜lj
16或いはlj31〜lj36、若しくは有効長保持回
路VLTからの指定信号w1n(の論理和)によって有
効化し、また第3の解読信号群tn31〜tn36を上
位の解読出力有効化部Sj(0<j≦i)それぞれが出
力する第2の解読信号群を有効化した解読信号群lj2
1〜lj26、若しくは有効長保持回路VLTからの指
定信号w2n(の論理和)によって有効化し、新たに有
効化した解読信号群ln11〜ln16、ln21〜l
n26、及びln31〜ln36を出力する。解読出力
有効化部Sの詳細回路図を図6に示す。
【0024】例えば、解読出力有効化部S1において有
効化した解読信号l112が出力されたとすると、これ
は今、命令解読器D1で解読された命令コードが第1O
PコードOP1で、命令解読長は命令解読器D1及びD
2に入力された2単位長であり、後続のOPコードは命
令解読器D3に第1OPコードOP1として入力されて
いることを意味している。つまり、命令解読器D3で解
読して出力された信号は意味のある信号であるから、有
効化した解読信号l112により命令解読器D3から出
力される第1の解読信号群t311〜t316を有効化
する。
効化した解読信号l112が出力されたとすると、これ
は今、命令解読器D1で解読された命令コードが第1O
PコードOP1で、命令解読長は命令解読器D1及びD
2に入力された2単位長であり、後続のOPコードは命
令解読器D3に第1OPコードOP1として入力されて
いることを意味している。つまり、命令解読器D3で解
読して出力された信号は意味のある信号であるから、有
効化した解読信号l112により命令解読器D3から出
力される第1の解読信号群t311〜t316を有効化
する。
【0025】また、VLTは有効長保持回路であり、命
令解読処理開始(RESET)時或いは命令分岐時に、
単位長命令ビット列C1、C2、C3、及びC4のどれ
が最初の第1OPコードOP1であるかを命令処理の開
始命令或いは分岐先の命令の命令アドレスに従って指定
する指定信号w11〜w14及びw21〜w24を出力
する。つまり、有効な命令解読を開始する位置を指定す
る働きをする。また、前マシンサイクルより繰り越され
た有効位置指定信号V11〜V16及びV21〜V26
を必要なマシンサイクルの間保持し、指定信号w11〜
w14及びw21〜w24を出力して、後続のマシンサ
イクルでどこが切れ目になるかを指定する。
令解読処理開始(RESET)時或いは命令分岐時に、
単位長命令ビット列C1、C2、C3、及びC4のどれ
が最初の第1OPコードOP1であるかを命令処理の開
始命令或いは分岐先の命令の命令アドレスに従って指定
する指定信号w11〜w14及びw21〜w24を出力
する。つまり、有効な命令解読を開始する位置を指定す
る働きをする。また、前マシンサイクルより繰り越され
た有効位置指定信号V11〜V16及びV21〜V26
を必要なマシンサイクルの間保持し、指定信号w11〜
w14及びw21〜w24を出力して、後続のマシンサ
イクルでどこが切れ目になるかを指定する。
【0026】例えば、指定信号w11は命令解読器D1
の出力である第1の解読信号群t111〜t116及び
第2の解読信号群t121〜t126を有効化する指示
を行う信号であり、指定信号w23は命令解読器D3の
出力である第3の解読信号群t331〜t336を有効
化する指示を行う信号である。またここで、有効位置指
定信号V11〜V16及びV21〜V26は、次のマシ
ンサイクル或いは次々マシンサイクルで各命令解読器D
1〜D4へ第1OPコードOP1或いは第2OPコード
OP2が入力されるべきことを示す信号で、例えば、有
効位置指定信号V14は、次のマシンサイクルで命令解
読器D4へ第1OPコードOP1が入力されるべきこと
を示す信号であり、有効化した解読信号l216とl2
36との論理和(命令解読長が6で後続の最初のOPコ
ードが第1OPコードOP1であること、即ち、現在解
読している命令は現在のマシンサイクルの命令解読器D
2、D3、及びD4と、次のマシンサイクルの命令解読
器D1、D2、及びD3にわたり、後続のOPコードは
命令解読器D4に第1OPコードOP1として入力され
ることを示す)、有効化した解読信号l315とl33
5との論理和、及び有効化した解読信号l414とl4
34との論理和を取り、これら3つを更に論理和したも
のとして生成される。また、有効位置指定信号V25は
、次々マシンサイクルで命令解読器D1へ第2OPコー
ドOP2が入力されるべきことを示す信号であり、有効
化した解読信号l326とl425との論理和により生
成される。
の出力である第1の解読信号群t111〜t116及び
第2の解読信号群t121〜t126を有効化する指示
を行う信号であり、指定信号w23は命令解読器D3の
出力である第3の解読信号群t331〜t336を有効
化する指示を行う信号である。またここで、有効位置指
定信号V11〜V16及びV21〜V26は、次のマシ
ンサイクル或いは次々マシンサイクルで各命令解読器D
1〜D4へ第1OPコードOP1或いは第2OPコード
OP2が入力されるべきことを示す信号で、例えば、有
効位置指定信号V14は、次のマシンサイクルで命令解
読器D4へ第1OPコードOP1が入力されるべきこと
を示す信号であり、有効化した解読信号l216とl2
36との論理和(命令解読長が6で後続の最初のOPコ
ードが第1OPコードOP1であること、即ち、現在解
読している命令は現在のマシンサイクルの命令解読器D
2、D3、及びD4と、次のマシンサイクルの命令解読
器D1、D2、及びD3にわたり、後続のOPコードは
命令解読器D4に第1OPコードOP1として入力され
ることを示す)、有効化した解読信号l315とl33
5との論理和、及び有効化した解読信号l414とl4
34との論理和を取り、これら3つを更に論理和したも
のとして生成される。また、有効位置指定信号V25は
、次々マシンサイクルで命令解読器D1へ第2OPコー
ドOP2が入力されるべきことを示す信号であり、有効
化した解読信号l326とl425との論理和により生
成される。
【0027】例えば、有効化した解読信号l324が出
力された場合、命令解読器D3で解読した命令コ−ドが
第1OPコードOP1で命令解読単位長が4であること
を意味し、また有効位置指定信号V23がアサートにな
るからこれを保持しておき、命令解読器D3より4単位
長分(D3及びD4、並びに次のマシンサイクルのD1
及びD2)飛ばした次のマシンサイクルの命令解読器D
3の第3の解読信号群t331〜t336を有効化する
ように信号出力する。
力された場合、命令解読器D3で解読した命令コ−ドが
第1OPコードOP1で命令解読単位長が4であること
を意味し、また有効位置指定信号V23がアサートにな
るからこれを保持しておき、命令解読器D3より4単位
長分(D3及びD4、並びに次のマシンサイクルのD1
及びD2)飛ばした次のマシンサイクルの命令解読器D
3の第3の解読信号群t331〜t336を有効化する
ように信号出力する。
【0028】このように本実施例によれば、命令入力の
それぞれの単位長入力の全てに各命令解読器を割り当て
、全ての命令解読器D1〜D4がその入力信号を第1O
PコードOP1と仮定して命令解読を行うと共に、第2
OPコードOP2と仮定して命令解読を行い、それぞれ
に応じた第1、第2及び第3の信号群を出力し、たとえ
非命令先頭部分を解読して不定信号を出力したとしても
、上位段の解読出力有効化部Sjが有効な解読信号のみ
を選択し、また有効であった解読出力信号はそのまま命
令長を出力しているとして後続処理で使用するようにし
ているので、1命令中に複数のOPコードを持つ命令の
多数命令同時解読を行うことができる。尚、本実施例で
は、命令解読長1の命令コードが連続して4つ入力され
た場合には、最大4命令の同時解読が可能である。
それぞれの単位長入力の全てに各命令解読器を割り当て
、全ての命令解読器D1〜D4がその入力信号を第1O
PコードOP1と仮定して命令解読を行うと共に、第2
OPコードOP2と仮定して命令解読を行い、それぞれ
に応じた第1、第2及び第3の信号群を出力し、たとえ
非命令先頭部分を解読して不定信号を出力したとしても
、上位段の解読出力有効化部Sjが有効な解読信号のみ
を選択し、また有効であった解読出力信号はそのまま命
令長を出力しているとして後続処理で使用するようにし
ているので、1命令中に複数のOPコードを持つ命令の
多数命令同時解読を行うことができる。尚、本実施例で
は、命令解読長1の命令コードが連続して4つ入力され
た場合には、最大4命令の同時解読が可能である。
【0029】ここで、単位長入力の全てに命令解読器を
割り当てることによるハードウェア量の増加が問題とな
るが、各命令解読器の出力信号は命令長情報のみであり
、通常、多数の情報出力を強制される命令解読器と比較
してその規模はかなり小さくなるので、十分実現可能で
あるといえる。
割り当てることによるハードウェア量の増加が問題とな
るが、各命令解読器の出力信号は命令長情報のみであり
、通常、多数の情報出力を強制される命令解読器と比較
してその規模はかなり小さくなるので、十分実現可能で
あるといえる。
【0030】
【発明の効果】以上説明したように、本発明によれば、
可変長命令仕様で1命令が1つ以上のOPコードよりな
る命令セットを処理するに当たって、命令入力のそれぞ
れの単位長入力の全てに各命令解読器を割り当て、全て
の命令解読器がその入力信号を第1OPコードと仮定し
て命令解読を行うと共に第2OPコードと仮定して命令
解読を行い、それぞれに応じた第1、第2及び第3の信
号群を出力し、たとえ非命令先頭部分を解読して不定信
号を出力したとしても、上位段の解読出力有効化部が有
効な解読信号のみを選択し、また有効であった解読出力
信号はそのまま命令長を出力しているとして後続処理で
使用するようしたことにより、1マシンサイクルで1命
令中に複数のOPコードを持つ命令の多数命令同時解読
が可能なデータ処理装置を提供することができる。
可変長命令仕様で1命令が1つ以上のOPコードよりな
る命令セットを処理するに当たって、命令入力のそれぞ
れの単位長入力の全てに各命令解読器を割り当て、全て
の命令解読器がその入力信号を第1OPコードと仮定し
て命令解読を行うと共に第2OPコードと仮定して命令
解読を行い、それぞれに応じた第1、第2及び第3の信
号群を出力し、たとえ非命令先頭部分を解読して不定信
号を出力したとしても、上位段の解読出力有効化部が有
効な解読信号のみを選択し、また有効であった解読出力
信号はそのまま命令長を出力しているとして後続処理で
使用するようしたことにより、1マシンサイクルで1命
令中に複数のOPコードを持つ命令の多数命令同時解読
が可能なデータ処理装置を提供することができる。
【0031】また多数の命令の命令長を先に解読するこ
とにより、後段のパイプラインに余計な空きステージを
生じさせることなく、且つその命令デコードステージの
実行を待つことなく次命令先頭位置合わせを行えるので
、高速に命令処理の行えるデータ処理装置を提供するこ
とができる。
とにより、後段のパイプラインに余計な空きステージを
生じさせることなく、且つその命令デコードステージの
実行を待つことなく次命令先頭位置合わせを行えるので
、高速に命令処理の行えるデータ処理装置を提供するこ
とができる。
【図1】本発明の原理説明図である。
【図2】本発明の実施例に係るデータ処理装置の全体構
成図である。
成図である。
【図3】本発明の実施例に係るデータ処理装置の命令プ
リデコーダの回路構成図である。
リデコーダの回路構成図である。
【図4】本実施例のデータ処理装置が処理する可変長命
令仕様の命令セットの命令フォーマットを説明する図で
ある。
令仕様の命令セットの命令フォーマットを説明する図で
ある。
【図5】本実施例の命令解読器の解読信号群tng1〜
tng6(1≦n≦4、1≦g≦3)の解読出力パター
ンである。
tng6(1≦n≦4、1≦g≦3)の解読出力パター
ンである。
【図6】本実施例の解読出力有効化部の詳細回路図であ
る。
る。
11…命令プリデコーダ
12…命令バッファ
13…命令デコーダ
14…命令キャッシュ
C1〜C4…単位長命令ビット列
L1〜L4…命令ラッチ
D1〜D4…命令解読器
E1〜E4…データバス
S1〜S4…解読出力有効化部
VLT…有効長保持回路
tn11〜tn16(1≦n≦4)…第1の解読信号群
tn21〜tn26(1≦n≦4)…第2の解読信号群
tn31〜tn36(1≦n≦4)…第3の解読信号群
ln11〜ln16(1≦n≦4)…第1の有効化され
た解読信号群 ln21〜ln26(1≦n≦4)…第2の有効化され
た解読信号群 ln31〜ln36(1≦n≦4)…第3の有効化され
た解読信号群
tn21〜tn26(1≦n≦4)…第2の解読信号群
tn31〜tn36(1≦n≦4)…第3の解読信号群
ln11〜ln16(1≦n≦4)…第1の有効化され
た解読信号群 ln21〜ln26(1≦n≦4)…第2の有効化され
た解読信号群 ln31〜ln36(1≦n≦4)…第3の有効化され
た解読信号群
Claims (5)
- 【請求項1】 命令長が命令毎に異なり1命令が1つ
以上のオペレーションコード(OPコードと略記する)
よりなる命令セットを処理するデータ処理装置であって
、連続するN個の単位長命令ビット列(C1、C2、…
、CN)を単位長毎に割り当てられて入力し第1、第2
、及び第3の解読信号群を出力する命令解読器群(D1
、D2、…、DN)と、前記命令解読器(Di:0<i
≦N)が出力する第1及び第2の解読信号群を該命令解
読器(Di)の上位の命令解読器群(Dj:0<j≦i
)それぞれが出力する第1或いは第3の解読信号群によ
って有効化し、第3の解読信号群を該命令解読器(Di
)の上位の命令解読器群(Dj)それぞれが出力する第
2の解読信号群によって有効化する有効化手段群(S1
、S2、…、SN)とを有し、前記命令解読器(Di:
0<i≦N)は、入力された単位長命令ビット列(Ci
:0<i≦N)を第1OPコードであると仮定した場合
には、後続の最初のOPコードが第1OPコードである
ことを示す第1の信号群或いは後続の最初のOPコード
が第2OPコードであることを示す第2の信号群の何れ
かを、単位長命令ビット列(Ci)を第2OPコードで
あると仮定した場合には、後続の最初のOPコードが第
1OPコードであることを示す第3の信号群を出力する
ことを特徴とするデータ処理装置。 - 【請求項2】 命令長が命令毎に異なり1命令が1つ
以上のOPコードよりなる命令セットを処理するデータ
処理装置であって、連続するN個の単位長命令ビット列
(C1、C2、…、CN)を単位長毎に割り当てられて
入力し第1、第2、及び第3の解読信号群を出力する命
令解読器群(D1、D2、…、DN)と、命令解読処理
開始時或いは命令分岐時に前記単位長命令ビット列(C
1、C2、…、CN)のどれが最初の第1OPコードで
あるかを命令処理の開始命令或いは分岐先の命令の命令
アドレスに従って指定する指定信号を出力する指定手段
(VLT)と、前記命令解読器(Di:0<i≦N)が
出力する第1及び第2の解読信号群を該命令解読器(D
i)の上位の命令解読器群(Dj:0<j≦i)それぞ
れが出力する第1或いは第3の解読信号群若しくは前記
指定信号によって有効化し、第3の解読信号群を該命令
解読器(Di)の上位の命令解読器群(Dj)それぞれ
が出力する第2の解読信号群若しくは前記指定信号によ
って有効化する有効化手段群(S1、S2、…、SN)
とを有し、前記命令解読器(Di:0<i≦N)は、入
力された単位長命令ビット列(Ci:0<i≦N)を第
1OPコードであると仮定した場合には、後続の最初の
OPコードが第1OPコードであることを示す第1の信
号群或いは後続の最初のOPコードが第2OPコードで
あることを示す第2の信号群の何れかを、単位長命令ビ
ット列(Ci)を第2OPコードであると仮定した場合
には、後続の最初のOPコードが第1OPコードである
ことを示す第3の信号群を出力することを特徴とするデ
ータ処理装置。 - 【請求項3】 命令長が命令毎に異なり1命令が1つ
以上のOPコードよりなる命令セットを処理するデータ
処理装置であって、連続するN個の単位長命令ビット列
(C1、C2、…、CN)を単位長毎に割り当てられて
入力し第1、第2、及び第3の解読信号群を出力する命
令解読器群(D1、D2、…、DN)と、前記命令解読
器(Di:0<i≦N)が出力する第1及び第2の解読
信号群を該命令解読器(Di)の上位の命令解読器群(
Dj:0<j≦i)それぞれが出力する第1或いは第3
の解読信号群によって有効化し、第3の解読信号群を該
命令解読器(Di)の上位の命令解読器群(Dj)それ
ぞれが出力する第2の解読信号群によって有効化する有
効化手段群(S1、S2、…、SN)と前記有効化手段
群(S1、S2、…、SN)により有効化された第1、
第2、及び第3の解読信号群に応じて前記単位長命令ビ
ット列(C1、C2、…、CN)の命令先頭位置合わせ
を行って命令ビット列(B1、B2、…、BN)を出力
する命令バッファ(12)と、前記命令先頭位置合わせ
後の命令ビット列(B1、B2、…、BN)を入力して
命令解読を行う命令デコーダ(13)とを有し、前記命
令解読器(Di:0<i≦N)は、入力された単位長命
令ビット列(Ci:0<i≦N)を第1OPコードであ
ると仮定した場合には、後続の最初のOPコードが第1
OPコードであることを示す第1の信号群或いは後続の
最初のOPコードが第2OPコードであることを示す第
2の信号群の何れかを、単位長命令ビット列(Ci)を
第2OPコードであると仮定した場合には、後続の最初
のOPコードが第1OPコードであることを示す第3の
信号群を出力することを特徴とするデータ処理装置。 - 【請求項4】 命令長が命令毎に異なり1命令が1つ
以上のOPコードよりなる命令セットを処理するデータ
処理装置であって、連続するN個の単位長命令ビット列
(C1、C2、…、CN)を単位長毎に割り当てられて
入力し第1、第2、及び第3の解読信号群を出力する命
令解読器群(D1、D2、…、DN)と、前記命令解読
器(Di:0<i≦N)が出力する第1及び第2の解読
信号群を該命令解読器(Di)の上位の命令解読器群(
Dj:0<j≦i)それぞれが出力する第1或いは第3
の解読信号群によって有効化し、第3の解読信号群を該
命令解読器(Di)の上位の命令解読器群(Dj)それ
ぞれが出力する第2の解読信号群によって有効化する有
効化手段群(S1、S2、…、SN)と、前記有効化手
段群(S1、S2、…、SN)により有効化された第1
、第2、及び第3の解読信号群及び前記単位長命令ビッ
ト列(C1、C2、…、CN)を入力して保持する命令
キャッシュ(14)とを有し、前記命令解読器(Di:
0<i≦N)は、入力された単位長命令ビット列(Ci
:0<i≦N)を第1OPコードであると仮定した場合
には、後続の最初のOPコードが第1OPコードである
ことを示す第1の信号群或いは後続の最初のOPコード
が第2OPコードであることを示す第2の信号群の何れ
かを、単位長命令ビット列(Ci)を第2OPコードで
あると仮定した場合には、後続の最初のOPコードが第
1OPコードであることを示す第3の信号群を出力する
ことを特徴とするデータ処理装置。 - 【請求項5】 前記第1、第2、及び第3の解読信号
群は、それぞれ命令長情報を含むことを特徴とする請求
項1、2、3、及び4に記載のデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5174191A JPH04286027A (ja) | 1991-03-15 | 1991-03-15 | データ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5174191A JPH04286027A (ja) | 1991-03-15 | 1991-03-15 | データ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04286027A true JPH04286027A (ja) | 1992-10-12 |
Family
ID=12895340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5174191A Withdrawn JPH04286027A (ja) | 1991-03-15 | 1991-03-15 | データ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04286027A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239780A (ja) * | 1994-01-06 | 1995-09-12 | Motohiro Kurisu | 1クロック可変長命令実行処理型命令読み込み電子計 算機 |
-
1991
- 1991-03-15 JP JP5174191A patent/JPH04286027A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07239780A (ja) * | 1994-01-06 | 1995-09-12 | Motohiro Kurisu | 1クロック可変長命令実行処理型命令読み込み電子計 算機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0021399B1 (en) | A method and a machine for multiple instruction execution | |
US7366874B2 (en) | Apparatus and method for dispatching very long instruction word having variable length | |
EP0239081B1 (en) | Pipelined data processor capable of decoding and executing plural instructions in parallel | |
AU639953B2 (en) | Data processing system with instruction tag apparatus | |
US6892293B2 (en) | VLIW processor and method therefor | |
US6889318B1 (en) | Instruction fusion for digital signal processor | |
EP0312764A2 (en) | A data processor having multiple execution units for processing plural classes of instructions in parallel | |
JPH0926878A (ja) | データ処理装置 | |
JPS62235658A (ja) | キヤツシユ・メモリ制御方式 | |
KR100493126B1 (ko) | 데이터정밀도모드표시기를구비한다중파이프라인형마이크로프로세서 | |
JPH03218523A (ja) | データプロセッサ | |
JP2000330787A (ja) | 命令ループを実行するコンピュータシステムおよび命令ループ実行方法 | |
JPH05120013A (ja) | 分岐命令バツフアを有するデータプロセツサ | |
JPH07253887A (ja) | スーパースカラ・プロセッサにおける命令の前復号および操向機構 | |
JP3779012B2 (ja) | 分岐による中断のないパイプライン化されたマイクロプロセッサ及びその動作方法 | |
JP4502532B2 (ja) | データ処理装置 | |
JP4613168B2 (ja) | 命令整列の方法および装置 | |
JPH04286027A (ja) | データ処理装置 | |
JP2828219B2 (ja) | オブジェクト・コード互換性を与える方法、オブジェクト・コード互換性並びにスカラ・プロセッサ及びスーパスカラ・プロセッサとの互換性を与える方法、ツリー命令を実行するための方法、データ処理システム | |
EP0015276B1 (en) | A digital pipelined computer | |
US8898433B2 (en) | Efficient extraction of execution sets from fetch sets | |
US7711926B2 (en) | Mapping system and method for instruction set processing | |
JP2772100B2 (ja) | 並列命令フェッチ機構 | |
JP2000181714A (ja) | 命令制御装置 | |
JPH04282726A (ja) | 可変長命令解読方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19980514 |