JPH02206836A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH02206836A
JPH02206836A JP2818489A JP2818489A JPH02206836A JP H02206836 A JPH02206836 A JP H02206836A JP 2818489 A JP2818489 A JP 2818489A JP 2818489 A JP2818489 A JP 2818489A JP H02206836 A JPH02206836 A JP H02206836A
Authority
JP
Japan
Prior art keywords
instruction
parallel
register
instructions
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.)
Granted
Application number
JP2818489A
Other languages
English (en)
Other versions
JPH0769800B2 (ja
Inventor
Toshimichi Matsuzaki
敏道 松崎
Takashi Sakao
坂尾 隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1028184A priority Critical patent/JPH0769800B2/ja
Priority to DE68926701T priority patent/DE68926701T2/de
Priority to EP89307961A priority patent/EP0354740B1/en
Priority to KR1019890011318A priority patent/KR930001055B1/ko
Publication of JPH02206836A publication Critical patent/JPH02206836A/ja
Priority to US07/916,804 priority patent/US5202967A/en
Publication of JPH0769800B2 publication Critical patent/JPH0769800B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は複数の命令を並列解読して処理するデータ処理
装置に関する。
従来の技術 従来のデータ処理装置において、処理の高速化をはかる
ためには、例えば2つの命令を同時に処理する場合には
2つの解読機を設けて2命令を同時に解読し、2つの演
算ユニットを同時に動作させる方法がとられている。特
開昭63−49843号では、算術演算と論理演算との
2つの命令をそれぞれ第1の解読器と第2の解読器とに
よって解読し、算術演算ユニットと論理演算ユニットと
を同時に動作させることによって性能を向上している。
また他の例では、−度解読した命令を解読済み命令バッ
フ1に一定のサイズだけ保持しておき、ループによって
解読済み命令バッファ内の命令が繰り返して使用できる
場合に限り解読済み命令バッファから複数の実行ユニッ
トに対して解読命令を与えるという方法がある。 (”
 TR0N仕様に基づく32ビツトマイクロプロセツサ
TX3のCPUアーキテクチャの検討“電子情報通信学
会技術研究報告コンピュータシステム、Vol、8.N
o、422.1988)発明が解決しようとする課題 可変語長命令体系においては、解読中の命令に後続する
命令の位置が現在の命令の解読結果によって決定される
ため、複数の命令を同時に解読するためには解読中の命
令に後続する命令語を同時に解読する第2の解読器を複
数設けたり、あるいは第2の命令解読器に入力する命令
語を選択するセレクタを設け、第1の命令解読器の解読
結果によってセレクタを制御し、第2の命令解読器の入
力を決定するといったことを行っていた。そのため、解
読器のハードウェアが増加したり、解読に要する時間が
増加したりするという問題点があった。また、可変語長
命令体系では複数の命令の同時解読が困難であるため1
命令毎に解読した解読結果を保持しておき、実行ユニッ
トに解読結果を供給する際に2命令分を同時に与えるこ
とによって、2命令の同時実行を行っていた。そのため
、大容量の解読済み命令バッフ1が必要であった。
さらに、解読済み命令バッファに解読済み命令が蓄積さ
れるまでの間は、1命令解読のスループットに制限され
てしまうという問題点があった。
本発明の第1の目的は、可変語長命令体系において解読
ハードウェアを著しく増加させること無く複数命令の同
時解読を行うデータ処理装置を提供することである。ま
た、本発明の第2の目的は、ロード命令及びストア命令
と、それらに後続するレジスタ間演算命令を同時に解読
して実行し、ロード命令及びストア命令の実行を高速に
行うデータ処理装置を提供することである。
課題を解決するための手段 上記目的を達成するために、本発明のデータ処理装置に
おいては、可変語長命令を解読する第1の命令解読器と
、前記第1の命令解読器が解読中の命令に後続する命令
語を解読し並列解読する命令の存在を先見的に検出する
並列解読可能性検出手段と、前記並列解読命令検出手段
が検出した命令を解読する第2の命令解読器と、前期第
1の命令解読器が作る命令境界を表わす出力により並列
解読可能性検出手段が検出した命令を選択的に有効とし
、前記第2の命令解読器に供給すると同時に前記命令の
後続命令を前記第1の命°奢解読器に供給する命令供給
手段と、メモリの読み出し手段と、演算レジスタに格納
されたデータをメモリに転送する書き込み手段と、複数
のレジスタ間で演算を行う演算手段と、前期第1の命令
解読器の解読結果及び前期第2の命令解読器の解読結果
とにより前記演算手段の動作を遅延させる演算処理遅延
手段とを備える。
作   用 本発明は、上記手段により可変語長命令体系において解
読ハードウェアを著しく増加させること無く、複数の命
令を並列に解読し、ロード命令及びストア命令の実行時
間を見かけ上ゼロにする。
実施例 第1図は本発明の一実施例のデータ処理装置の構成を示
すブロック図である。図において、10は実行に先立っ
てあらかじめ命令をフェッチする命令フェッチ制御部、
11は命令フェッチ制御部10によって用意した命令を
蓄える命令バッファであり、解読に必要な命令を解読器
に供給する。
12は、可変語長命令を解読する第1の命令解読器であ
り、複数命令並列解読の対象となる命令を除くすべての
命令を解読する。13は、複数命令並列解読の対象とな
る命令だけを解読する第2の命令解読器、14及び16
は第1の命令解読器12が解読中の命令に後続する命令
列の中に、並列解読可能な命令が存在することを検出す
る並列解読可能性検出手段である。101及び103は
その検出結果である。17は、第1の命令解読器12が
解読する命令語及びそれに後続する命令語を保持する主
命令レジスタ、18は第2の命令解読器13が解読する
命令を保持する副命令レジスタである。19は主命令レ
ジスタ17及び副命令レジスタ18をシフト制御する命
令供給手段制御部であり、並列解読可能性の検出結果1
01及び103のいずれか一つを、第1の命令解読器1
2が解読した命令の命令境界を示す出力100によって
有効とし、有効な並列解読可能を示す結果を出力した並
列解読可能性検出手段に入力されている命令を副命令レ
ジスタ18に格納する。20は、命令解読器12及び1
3と、並列解読可能性検出手段14及び16に命令を供
給する命令供給手段である。21は、マイクロ命令レジ
スタであり、命令解読画工2及び13が解読したマイク
ロ命令を一時保持するバッフ1である。22は、メモリ
に格納されたデータのアドレスを計算し、バス転送制御
部27を介して外部メモリからデータを読み出すデータ
続出手段である。23は、レジスタに格納された複数の
データ間の演算を行いまた、データ続出手段22が読み
出したメモリデータをレジスタに格納する演算手段であ
る。24は、前記演算手段23が演算したデータをメモ
リに格納するデータ書込手段である。25は分岐アドレ
スの計算及び分岐を制御する分岐制御手段である。
2θは、前記データ続出手段22がメモリがら読み出し
たデータを、前記演算手段23が使用する場合に、読出
動作が完了するまで演算動作を待たせる演算処理遅延手
段である。27は、プロセッサ外部とのデータ転送を制
御するバス転送制御部である。
第2図は、本発明のデータ処理装置により2つの可変語
長命令を並列解読する場合の動作を説明するための図で
ある。第3図はロード命令とそれに後続するレジスタ間
演算命令(AI)を並列解読する場合のパイプライン動
作タイミング図、第4図はストア命令とそれに後続する
レジスタ間演算命令(AI)を並列解読する場合のバイ
ブライン動作タイミング図である。以下、第1図と第2
図により本発明のデータ処理装置における2命令並列解
読の動作を説明し、次に、第3図及び第4図によりロー
ド命令とレジスタ間演算命令及びストア命令とレジスタ
間演算命令との実行タイミングを説明する。
第2図(1)は実行する命令列の順序を示す図で、Al
命令から順に実行する。命令列A11LI)%  AI
、A2、のうちAs命令は16ビツトのディスプレース
メントを持ち、ロード命令(LD)とA1命令とが2命
令並列に解読されるものとする。第2図(2)は第1の
命令解読器がA1命令を解読中の主命令レジスタ17及
び副命令レジスタ18の状態を示す図である。主命令レ
ジスタ17を構成する4つの16ビツトの命令レジスタ
JRNO及び11M3には命令列の順に、[RMOにA
s命令、IRMIにA@命令のディスプレースメント、
IRM2にLD命令、11M3にAl命令が格納される
。このとき、第1の命令解読器12はIRMOのA−命
令を解読し、Al命令の命令境界がIRMIとIRM2
の間であることを示す信号100を出力する。これと並
行して並列解読可能性検出手段14〜16はIRNI〜
IRM3のそれぞれディスプレースメント、LD命令、
Al命令のうち、2命令並列解読の可能性が存在するか
否かを検査して信号線101〜103に可能性結果を出
力する。この際、並列解読可能性検出手段は命令の境界
を認識していないので、IRMIのディスプレースメン
ト値が偶然的に2命令並列解読の対象となる命令コード
と一致する場合には、誤った並列解読可能性結果を信号
線101に出力する。命令供給手段制御部19は命令の
境界を示す信号100によって信号線101及び103
から誤った検出結果を排除し、検出結果102が真の検
出結果であると判断する。それに基づいて主命令レジス
タ17及びWl命令レジスタ18の命令をシフト制御し
、IRM2のLD命令を副命令レジスタ18に、後続す
る11M3のA+命令を命令レジスタIRMOに格納す
る。その状態を第2図(3)に示す。同図(3)の状態
で第1の命令解読器12がAl命令を解読し、第2の命
令解読器13がLD命令を解読することにより2命令の
並列解読を行う。なお、並列解読可能性検出手段は、並
列解読できる命令の存在を検査するだけであり、数ゲー
トのハードウェア(デコーダ)によって実現できる。ま
た、第2の命令解読器13は並列解読の対象となる命令
だけを解読し、第1の命令解銃器12は並列解読の対象
となる命令以外の命令を解読すればよいので、解読ハー
ドウェアは増加しない。
次に、第3図及び第4図により、ロード命令とレジスタ
間演算命令及びストア命令とレジスタ間演算命令とを並
列解読し、実行する場合のパイプライン動作タイミング
について説明する。
第3図はロード命令とレジスタ間演算命令とを並列に解
読し実行する場合のパイプライン動作タイミングを示し
ている。レジスタ間演算命令のパイプライン処理は、命
令フェッチ、命令解読、レジスタ読出、演算、レジスタ
書込の5段のステージから構成されている。ロード命令
のパイプライン処理は命令フェッチ、命令解読、レジス
タ続出、アドレス計算、メモリ読出、レジスタ書込の6
段のステージから構成されている。タイミング2でA−
命令が解読された後、タイミング3ではLD命令、とA
I命令が並列に解読され、タイミング4でLD命令のメ
モリアドレス計算に必要なレジスタとAI命令のレジス
タ演算に必要なソースレジスタとデイスティネーシ日ソ
レジスタの内容をそれぞれ読み出す。データ読み出し手
段22はタイミング5でロードするアドレスを計算し、
タイミング6でバス転送制御部27を介してメモリの読
み出しを行う。そして、読み出したデータをタイミング
7でレジスタに書き込む。一方演算手段23はタイミン
グ5でレジスタ間演算を行い、タイミング6で演算結果
をレジスタに書き込む。このように並列解読されたロー
ド命令とその命令の直後のレジスタ間演算命令は、それ
ぞれデータ読み出し手段22と演算手段23により並列
に処理される。
第4図はストア命令とレジスタ間演算命令とを並列に解
読し実行する場合のパイプライン動作タイミングを示し
ている。ストア命令(ST命令)のパイプライン処理は
命令フェッチ、命令解読、レジスタ読出、アドレス計算
、メモリ書込の5段のステージから構成されている。タ
イミング2でB。
命令が解読された後、タイミング3ではST命令とB、
命令が並列に解読され、タイミング4でST命令のメモ
リアドレス計算に必要なレジスタ及びストアするソース
レジスタとB+命令のレジスタ演算に必要なソースレジ
スタ及びデイステイネ−シーンレジスタの内容をそれぞ
れ読み出す。データ書込手段24はタイミング5でスト
アするデステイネーシロンのアドレスを計算し、タイミ
ングθでバス転送制御部27を介してメモリへの書き込
みを行う。一方演算手段23はタイミング5でレジスタ
間演算を行い、タイミング6で演算結果をレジスタに書
き込む。このように並列解読されたストア命令とその命
令の直後のレジスタ間演算命令は、それぞれデータ書き
込み手段24と演算手段23により並列に処理される。
第3図及び第4図における動作は、レジスタ資源の干渉
が発生していないが、たとえばLD命令によってメモリ
から読み出したデータをA+命令が使用する場合にはレ
ジスタ干渉が発生し、並列解読したA+命令の実行をメ
モリのデータが読み出されるまで遅延させる必要がある
。第5図は演算処理遅延手段26の構成を示した図であ
る。並列解読可能性検出手段の動作と並行して命令レジ
スタIRIf−IRM3の命令コードのレジスタフィー
ルドをチエツクし、ロード命令のデスティネーシ日ンレ
ジスタが後続する命令のソースに指定されているか否か
を命令供給手段制御部に通知する。通知を受けた命令供
給手段制御部19は、第1の命令解読器12が出力する
命令の境界信号100に基づいて並列解読可能性結果と
同様に真の通知を選択し、ロード命令の実行が終了する
まで次の命令供給を停止する。第6図にこのときのパイ
プライン動作タイミングを示す。タイミング6でLD命
令の命令読み出しが完了するまで、並列解読したA1命
令のレジスタ読み出し動作が待たされている。
以上説明した本発明のデータ処理装置の例は2命令の並
列解読であるが、副命令レジスタを複数設けることによ
り、3命令以上の並列解読を行うことが出来る。第7図
は4命令の並列解読を行う場合の副命令レジスタの構成
を示す。この場合においても複数の第2の命令解読器は
並列解読する命令だけを解読するだけでよく、解読のハ
ードウェアは著しく増加しない。
本発明は以上説明したように、可変語長命令体系におい
て解読ハードウェアを著しく増加させることなく複数命
令の並列解読を行い、また、ロード命令及びストア命令
を高速に実行するデータ処理装置を提供することを目的
としている。そのために、可変語長命令体系の命令を解
読する第1の命令解読器と、可変語長命令体系のうち複
数命令の並列解読が可能なロード命令及びストア命令を
解読する第2の命令解読器と、第1の命令解読器が解読
中に後続する命令列の中に第2の命令解読器によって解
読可能な命令の存在を先見的に検出する並列解読可能性
検出手段と、前記第1の命令解読器が出力する命令境界
を表わす信号により並列解読可能性検出手段が検出した
命令を選択的に有効とし、前記第2の命令解読器に供給
すると同時に前記命令の後続命令を前記第1の命令解読
器に供給する命令供給手段と、メモリの読み出し手段と
、演算レジスタに格納されたデータをメモリに転送する
書き込み手段と、複数のレジスタ間で演算を行う演算手
段と、前記第1の命令解読器の解読結果及び前記第2の
命令解読器の解読結果とにより前記演算手段の動作を遅
延させる演算処理遅延手段とを備えることにより、解読
ハードウェアを著しく増加させることなくロード命令と
レジスタ間演算命令あるいはストア命令とレジスタ間演
算命令とを並列に解読して実行することを可能とし、ロ
ード命令及びストア命令の実行時間を見かけ上ゼロにす
る。
発明の効果 以上述べたよう本発明によれば、並列解読可能性検出手
段を設けて、先見的に複数の並列解読できる命令の存在
を検出することにより、解読ハードウェアの著しい増加
を抑えて可変語長命令における複数命令の並列解読を可
能にし、処理の高速化が図れる。さらに、データ読み出
し手段及びデータ書き込み手段を設けることにより、ロ
ード命令とそれに後続するレジスタ間演算命令あるいは
ストア命令とそれに後続するレジスタ間演算命令とを並
列に解読して実行し、ロード命令及びストア命令の処理
の高速化が可能である。
【図面の簡単な説明】
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は本発明のデータ処理装置により可変語長
命令を2命令並列解読する場合の動作説明図、第3図は
ロード命令とそれに後続するレジスタ間演算命令とを並
列解読し実行する場合のパイプライン動作タイミング図
、第4図はストア命令とそれに後続するレジスタ間演算
命令とを並列解読し実行する場合のパイプライン動作図
、第5図は演算処理遅延制御部の構成図、第6図はレジ
スタ干渉が発生した場合のロード命令とそれに後続する
レジスタ間演算命令とのパイプライン動作図、第7図は
第2の命令解読器の第2の構成例を示した図である。 10・・・命令フェッチ制御部、 11・・・命令バッフハ 12・・・第1の命令解読器
、13・・・第2の命令解読器、 14.15.18・・・並列解読可能性検出手段、20
・・・命令供給手段、 22・・・データ読み出し手段、23・・・演算手段、
24・・・データ書き込み手段、 26・・・演算処理遅延手段。 代理人の氏名 弁理士 粟野重孝 はか1名第 図 データ 7P:νス 第 図 第 図 データ11(み)」牝 第 図 と12 4A黄行順序 r3>  LD44とAr1−トの結浄岨乞第 図

Claims (1)

    【特許請求の範囲】
  1. 可変長命令を解読する第1の命令解読器と、前記第1の
    命令解読器が解読中の命令に後続する命令語を解読し並
    列解読する命令の存在を先見的に検出する並列解読可能
    性検出手段と、前記並列解読可能性検出手段が検出した
    命令を解読する第2の命令解読器と、前記第1の命令解
    読器が出力する命令境界を表わす信号により並列解読命
    令検出手段が検出した命令を選択的に有効とし、前記第
    2の命令解読器に供給すると同時に前記命令の後続命令
    を前記第1の命令解読器に供給する命令供給手段と、メ
    モリの読み出し手段と、演算レジスタに格納されたデー
    タをメモリに転送する書き込み手段と、複数のレジスタ
    間で演算を行う演算手段と、前記第1の命令解読器の解
    読結果及び前記第2の命令解読器の解読結果とにより前
    記演算手段の動作を遅延させる演算処理遅延手段とを備
    え、メモリデータの読み出し命令またはメモリへのデー
    タ書き込み命令と、後続するレジスタ間演算命令とを並
    列に解読し、処理することを特徴とするデータ処理装置
JP1028184A 1988-08-09 1989-02-07 データ処理装置 Expired - Fee Related JPH0769800B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP1028184A JPH0769800B2 (ja) 1989-02-07 1989-02-07 データ処理装置
DE68926701T DE68926701T2 (de) 1988-08-09 1989-08-04 Datenverarbeitungsgerät zur parallelen Dekodierung und parallelen Ausführung von Befehlen mit variabler Wortlänge
EP89307961A EP0354740B1 (en) 1988-08-09 1989-08-04 Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
KR1019890011318A KR930001055B1 (ko) 1988-08-09 1989-08-09 가변 단어길이 명령의 병렬해독 및 병렬실행을 하는 데이터 처리장치
US07/916,804 US5202967A (en) 1988-08-09 1992-07-20 Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1028184A JPH0769800B2 (ja) 1989-02-07 1989-02-07 データ処理装置

Publications (2)

Publication Number Publication Date
JPH02206836A true JPH02206836A (ja) 1990-08-16
JPH0769800B2 JPH0769800B2 (ja) 1995-07-31

Family

ID=12241619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1028184A Expired - Fee Related JPH0769800B2 (ja) 1988-08-09 1989-02-07 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0769800B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371864A (en) * 1992-04-09 1994-12-06 International Business Machines Corporation Apparatus for concurrent multiple instruction decode in variable length instruction set computer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214029A (ja) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 命令先取りバツフア
JPS6265133A (ja) * 1985-09-17 1987-03-24 Nec Corp 命令先取り装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214029A (ja) * 1985-03-18 1986-09-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 命令先取りバツフア
JPS6265133A (ja) * 1985-09-17 1987-03-24 Nec Corp 命令先取り装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371864A (en) * 1992-04-09 1994-12-06 International Business Machines Corporation Apparatus for concurrent multiple instruction decode in variable length instruction set computer

Also Published As

Publication number Publication date
JPH0769800B2 (ja) 1995-07-31

Similar Documents

Publication Publication Date Title
US5202967A (en) Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5293500A (en) Parallel processing method and apparatus
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US4928226A (en) Data processor for parallelly executing conflicting instructions
US6233670B1 (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating result bypassing
JP2620511B2 (ja) データ・プロセッサ
EP0354740B1 (en) Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
JPH01177127A (ja) 情報処理装置
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
US4677549A (en) Pipelined data processor system having increased processing speed
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
US5237664A (en) Pipeline circuit
JP2798121B2 (ja) データ処理装置
JP3534987B2 (ja) 情報処理装置
JPH02206836A (ja) データ処理装置
EP0573071A2 (en) A microprocessor
JPH0247725A (ja) データ処理装置
JPH0248733A (ja) 情報処理装置
JP3475861B2 (ja) データ処理装置
JP2503223B2 (ja) 先行制御方式
JPH0991139A (ja) 情報処理装置
JPH06139071A (ja) 並列計算機
JPH06337785A (ja) 情報処理装置およびその命令実行制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees