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

データ処理装置

Info

Publication number
JPH0247725A
JPH0247725A JP63198226A JP19822688A JPH0247725A JP H0247725 A JPH0247725 A JP H0247725A JP 63198226 A JP63198226 A JP 63198226A JP 19822688 A JP19822688 A JP 19822688A JP H0247725 A JPH0247725 A JP H0247725A
Authority
JP
Japan
Prior art keywords
instruction
instructions
decoder
decoded
branch
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
JP63198226A
Other languages
English (en)
Other versions
JPH0774992B2 (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 JP19822688A priority Critical patent/JPH0774992B2/ja
Priority to DE68926701T priority patent/DE68926701T2/de
Priority to EP89307961A priority patent/EP0354740B1/en
Priority to KR1019890011318A priority patent/KR930001055B1/ko
Publication of JPH0247725A publication Critical patent/JPH0247725A/ja
Priority to US07/916,804 priority patent/US5202967A/en
Publication of JPH0774992B2 publication Critical patent/JPH0774992B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は2命令を同時に解読して処理するデータ処理装
置に関する。
従来の技術 従来のデータ処理装置において処理の高速化を図るため
に、2つの解読器を設けて2命令を同時に解読し、2つ
の演算ユニットを同時に動作させる方法がとられている
。例えば、特開昭63−49843号では、算術演算と
論理演算との2つの命令をそれぞれ独立な第1の解読器
と第2の解読器とによって解読し、算術演算ユニットと
論理演算ユニットとを同時に動作させることによって性
能を向上している。
また他の例では、−度解読した命令を解読済命令バッフ
ァに一定のサイズだけ保持しておき、ループによって解
読済命令バッファ内の命令が繰返して使用できる場合に
限り解読済命令バッファがら複数の実行ユニットに対し
て解読命令を与えるという方法がある。 (”TR0M
仕様に基づ<32ビツトマイクロプロセツサTX3のC
PUアーキテクチャの検討” 電子情報通信学会技術研
究報告コンピュータシステム、Yol、8.No、42
2.1988 )発明が解決しようとする課題 従来のデータ処理装置にあっては、固定語長命令体系に
おける2命令の同時解読は、解読中の命令に後続する命
令の位置が決まっているため容易である。従って、後続
命令を解読する第2の命令解読器を1つ追加するだけで
2命令同時解読が可能である。但し、解読ハードウェア
の増加を抑えるために、それぞれの解読器が解読する命
令の分担を算術演算と論理演算といったように予め決め
ておき、それぞれの解読器で解読ハードウェアが重複し
ないようにしている。このように2つの解読器間で解読
する命令の分担を決めてしまうと、解読器のハードウェ
ア増加は抑えられるが、常に2命令の同時解読を行うの
が困難になり、場合によっては1命令に対して2回解読
する必要が生じる。そのためコードスケジュールによっ
て2種類の命令をインタリーブする等の対策が必要とな
り、コンパイラへの負担が増加するといった問題かある
可変語長命令体系においては、解読中の命令に後続する
命令の位置が現在解読中の命令の解読結果によって決定
されるため、2命令同時解読するためには解読中の命令
に後続する命令語を同時解読する第2の解読器を複数設
けたり、或は第2の命令解読器に入力する命令語を選択
するセレクタを設け、第1の命令解読器の解読結果によ
ってセレクタを制御し、第2の命令解読器の入力を決定
するといったことを行っていた。そのため、解読器のハ
ードウェアが増加したり、解読に要する時間が増加する
という問題点があった。また、可変語長命令体系では2
命令の同時解読が困難であるため1命令毎に解読した解
読結果を保持しておき、実行ユニットに解読結果を供給
する際に2命令分を同時に与えることによって、2命令
の同時実行を行っていた。そのため、大容量の解読済命
令バッファが必要であった。更に解読済命令バッファに
解読済命令が蓄積されるまでの間は、1命令解読によっ
て実行スループットが決定されてしまうという問題があ
った。
本発明は、可変語長命令体系において解読ハードウェア
を著しく増加させることなく2命令の同時解読を行うデ
ータ処理装置を提供することを目的としている。さらに
、条件付き分岐命令とそれに後続する命令を同時に解読
し、条件付き分岐命令の実行を高速に行うデータ処理装
置を提供することを目的としている。
課題を解決するための手段 上記目的を達成するために、本発明のデータ処理装置に
おいては、可変語長命令体系の命令を解読する第1の命
令解読器と、可変語長命令体系の命令のうち2命令同時
解読の対象となる命令を解読する第2の命令解読器と、
第1゛の命令解読器が解読中の命令に後続する命令列の
中に第2の命令解読器によって解読可能な命令の存在を
先見的に検出する第3の命令解読器と、前記第3の命令
解読器の検出結果を前記第1の命令解読器の命令境界を
表わす出力によって有効とし、前記第3の命令解読器が
解読中の命令を第2の命令解読器に供給すると同時に前
記命令の後続命令を第1の命令解読器に供給するように
制御する命令供給手段とを備える。
また、条件付き分岐命令を高速化するために、本発明の
データ処理装置においては、条件付き分岐命令の分岐先
アドレスを計算する加算器と、条件の成立を検出する比
較器と、条件が成立した場合に限り条件付き分岐命令に
後続する命令の実行を抑止すると同時に、前記加算器の
分岐先アドレスから命令の処理を開始させる分岐制御手
段とを備える。
作   用 本発明は上記手段により、可変語長命令体系において解
読ハードウェアを著しく増加させることなく2命令の同
時解読を行う。
また、条件付き分岐命令の実行速度を向上し、条件が非
分岐の場合には見掛は上条性付き分岐命令の実行うロッ
クを零にする。
実施例 第1図は本発明の一実施例のデータ処理装置の構成を示
すブロック図である。図において、10は実行に先立っ
て予め命令をフェッチする命令フェッチユニット、11
は命令フェッチユニット10によって用意された命令を
蓄える命令バッファであり、解読に必要な命令を解読器
に供給する。
12は可変語長命令を解読する第1の命令解読器であり
、2命令同時解読の対象となる命令を除く全ての命令を
解読する。13は2命令同時解読の対象となる命令だけ
を解読する第2の命令解読器、14および16は第1の
命令解読器12が解読中の命令に後続する命令語を解読
し、後続命令の中に2命令同時解読の対象となる命令の
存在を検出する第3の命令解読器である。101および
103はその検出結果である。17は第1の命令解読器
12が解読する命令語およびそれに後続する命令語を保
持する命令レジスタ、18は第2の命令解読器13が解
読する命令を保持する命令レジスタである。19は命令
レジスタ17および18をシフト制御する命令供給手段
制御部であり、検出結果101および103のいずれか
一つを、第1の命令解読器12が解読した命令境界をし
めず出力100によって有効とし、有効な検出結果を出
力した第3の命令解読器が解読している命令を命令バッ
ファ18へ格納するように制御する。20は命令解読器
12および16に命令を供給する命令供給手段である。
21は解読済命令レジスタであり命令解読器12および
13が解読した命令の解読結果を一時保持する。22は
解読済命令レジスタ21の指令104の内容に従って演
算を実行する実行ユニットであり、実行に必要なA L
 U。
シフタ、汎用レジスタ等を含む。23はアドレス計算専
用の加算器24を備えた分岐先アドレス計算手段であり
、解読命令レジスタ21の指令105の内容に従って条
件付き分岐命令或は無条件分岐命令等の、分岐先アドレ
ス106を実行ユニット22とは独立に計算する。25
は分岐制御手段であり、解読済命令レジスタ21の指令
107に含まれる条件付き分岐命令の条件コードと、実
行ユニット22が出力する演算結果フラグ108とを入
力し、比較器26によって分岐条件成立の有無を検出す
る。分岐条件が成立した場合には分岐成立信号109に
よって、分岐命令に後続する命令の実行を抑止すると同
時に、分岐先アドレス106から命令を再開するように
制御する。なお、無条件分岐命令の場合には分岐成立信
号109が必ず出力される。27はプロセッサ外部との
データ転送を制御するバス転送ユニットである。  第
2図は本発明のデータ処理装置により、可変語長命令を
2命令同時解読する場合の動作を説明するための図であ
る。以下、第1図と第2図により本発明の実施例の動作
を説明する。
第2図(1)は実行する命令列の順序を示す図で、AO
命令から順に実行する。命令列AO,A1、A2、A3
の内AO命令は16ビツトのディスプレースメントを持
ち、A1命令は2命令同時解読の対象となる命令である
とする。従って、A1命令とA2命令とを2命令同時に
解読するものとする。第2図(2)は第1の命令解読器
がAO命令を解読中の命令レジスタ17および18の状
態を示す図である。命令レジスタ17を構成する4つの
16ビツトの命令レジスタIRQおよびIR3には命令
列の順に、IRQにAO命令、IRlにAO命令のディ
スプレースメント、IR2にA1命令、IR3にA2命
令が格納される。この時、第1の命令解読器12はIR
QのAO命令を解読し、命令の境界がIRIとIR2の
間であることを示す信号100を出力する。これと並行
して第3の命令解読器14〜16はそれぞれIRI〜I
R3のそれぞれディスプレースメント、AI命令、A2
命令を解読し、2命令同時解読の対象となる命令が存在
するか否かを検査して信号線101および103に結果
を出力する。この際、第3の命令解読器14〜16は命
令の境界を認識していないのでIRIのディスプレース
メント値が偶然的に2命令同時解読の対象となる命令の
コードと一致する場合には、第3の命令解読器14は誤
った検出結果を信号線101に出力する。命令供給手段
制御部19は命令の境界を示す信号100によって信号
線101及び103から誤った検出結果を排除し、検出
結果102が有効であると判断する。それに基づいて命
令レジスタ17及び18をシフト制御し、IR2の命令
A1を命令レジスタ18に、後続するIR3の命令A2
を命令レジスタIRQに格納する。その状態を第2図(
3)に示す。同図(3)の状態で第1の命令解読器12
がA2命令を解読し、第2の命令解読器13がA1命令
を解読することにより2命令の同時解読を行う。なお、
第3の命令解読器14および16は、同時解読できる命
令の有無を検出するだけであり、数ゲートのハードウェ
アによって実現できる。また、第2の命令解読器は2命
令同時解読の対象となる命令だけを解読し、第1の命令
解読器はその対象となる命令以外の命令を解読すれば良
いので、解読ハードウェアは増加しない。
次に、第3図及び第4図は本発明のデータ処理装置によ
り、条件付き分岐命令を高速化した場合の動作を説明す
るための図である。第3図は実行する命令列の順序を示
す図、第4図(1)は条件不成立時の動作タイミング図
、同図(2)は条件成立時の動作タイミング図である。
以下、第1図と第3図及び第4図によって条件付き分岐
命令の動作を説明する。
第3図は実行する命令列を示しており、条件付き分岐命
令(B c c)の条件が成立した時にはB1命令に分
岐し、条件不成立の時には後続するA1命令を実行する
ことを表わす。命令解読器により条件付き分岐命令とそ
れに後続するA1命令とが同時解読される。第4図にお
いてIFは命令フェッチユニット10の動作を示し、D
ECは命令解読器の動作を示す。RとEXとWは実行ユ
ニット22の動作を示し、それぞれ、レジスタの読出し
、演算、レジスタへの書込みを表わす。タイミング2で
解読されたAO命令はタイミング4で演算され、タイミ
ング5で結果の書込みが行われる。
同時に演算の結果フラグが信号線108に出力される。
一方タイミング3では条件付き分岐命令とそれに後続す
るA1命令が同時解読され、解読結果が解読済命令レジ
スタ21に格納される。タイミング4では解読済命令レ
ジスタ21の内容に従って、分岐先アドレス計算手段2
3のアドレス計算専用の加算器24においてB1命令の
アドレスが計算され一時保持される。また、実行ユニッ
ト22においては、AI命令の演算に必要なレジスタの
内容が読出される。タイミング5では実行ユニット22
においてA1命令の演算が行われ演算結果が一時保持さ
れる。同時に分岐制御手段25の比較器26は条件付き
分岐命令の条件コードとタイミング4で演算されたAO
命令の演算結果フラグ108とを比較する。比較の結果
条件が成立しない場合には、タイミング5において保持
していたA1命令の演算結果をタイミング6でレジスタ
に書込む。さらに、タイミング4において計算したB1
命令のアドレスを無効化し、命令フェッチユニット10
は条件付き分岐命令に後続する命令列のフェッチを継続
する。比較の結果条件が成立した場合には、タイミング
6におけるA1命令の演算結果の書込みを禁止するとと
もに、後続する全ての命令の実行を無効化する。そして
、命令フェッチユニット10はタイミング4において計
算したB1命令のアドレスに従って81命令をフェッチ
し、処理が開始される。
本発明は以上のような構成により、可変語長命令体系に
おいて解読ハードウェアを著しく増加させることなく2
命令の同時解読を行ない、また、条件付き分岐命令の実
行を高速に行うデータ処理装置を提供することを目的と
する。そのために、可変語長命令体系の命令を解読する
第1の命令解読器と、可変語長命令体系の命令のうち2
命令同時解読の対象となる命令を解読する第2の命令解
読器と、第1の命令解読器が解読中の命令に後続する命
令列の中に第2の命令解読器によって解読可能な命令の
存在を先見的に検出する第3の命令解読器と、前記第3
の命令解読器の検出結果を前記第1の命令解読器の命令
境界を表わす出力によって有効とし、前記第3の命令解
読器が解読中の命令を第2の命令解読器に供給すると同
時に前記命令の後続命令を第1の命令解読器に供給する
ように制御する命令供給手段と、条件付き分岐命令の分
岐先アドレスを計算する加算器と、条件の成立を検出す
る比較器と、条件が成立した場合に限り条件付き分岐命
令に後続する命令の実行を抑止すると同時に、前記加算
器の分岐先アドレスから命令の処理を開始させる分岐制
御手段とを備えることにより、解読ハードウェアを著し
く増加させることなく2命令の同時解読を行なえるので
、処理の高速化が図れる。さらに、条件付き分岐命令の
実行が高速化でき、特に条件不成立時には実行時間を見
掛は上零にできる。
発明の効果 以上述べたように本発明によれば、第3の命令解読器を
設けて先見的に2命令同時解読できる命令の存在を検出
することにより、解読ハードウェアの著しい増加を抑え
て可変語長命令における2命令同時解読を可能にし、処
理の高速化が図れる。
さらに、条件付分岐命令とそれに後続する命令とを2命
令同時解読し、条件が成立した時には後続する命令の実
行を全て抑止することにより、条件付き分岐命令の処理
が高速化できる。なお、演算実行部を2つ設け、レジス
タ間演算命令とそれに後続する命令とを2命令同時解読
することにより、レジスタ資源が干渉しない場合におい
て2命令を並列に実行させることも可能である。
【図面の簡単な説明】
第1図は本発明の一実施例におけるデータ処理装置の構
成図、第2図は本発明のデータ処理装置により可変語長
命令を2命令同時解読する場合の動作説明図、第3図は
条件付き分岐命令を高速化した場合の動作を説明するた
め実行命令列を示す命令図、第4図は本発明のデータ処
理装置により条件付き分岐命令を高速化した場合の動作
を説明するためのタイミング図である。 10・・・命令フェッチユニット、 11・・・命令バッフハ 12・・・第1の命令解読器
、13・・・第2の命令解読器、 14.15.16・・・第3の命令解読器、20・・・
命令供給手段、 21・・・解読済命令レジスタ、 22・・・実行ユニット、 23・・・分岐先アドレス計算手段、 24・・・加算器、25・・・分岐制御手段、26・・
・比較器。 代理人の氏名 弁理士 粟野重孝 はか1名第1図 第 図 a) 今イ2\夛(打力が1)子 Ao卒享/l屏跣 Aノ 4/り\3 A24\イ〉5.ルn賽亭声博ξ浮
翫第 図

Claims (2)

    【特許請求の範囲】
  1. (1)可変語長命令体系の命令を解読する第1の命令解
    読器と、可変語長命令体系の命令のうち2命令同時解読
    の対象となる命令を解読する第2の命令解読器と、第1
    の命令解読器が解読中の命令に後続する命令列の中に第
    2の命令解読器によって解読可能な命令の存在を先見的
    に検出する第3の命令解読器と、前記第3の命令解読器
    の検出結果を前記第1の命令解読器の命令境界を表わす
    出力によって有効とし、前記第3の命令解読器が解読中
    の命令を第2の命令解読器に供給すると同時に前記命令
    の後続命令を第1の命令解読器に供給するように制御す
    る命令供給手段とを備え、第1の命令解読器と第2の命
    令解読器により2つの命令を同時に解読することを特徴
    とするデータ処理装置。
  2. (2)条件付き分岐命令の分岐先アドレスを計算する加
    算器と、条件の成立を検出する比較器と、条件が成立し
    た場合に限り条件付き分岐命令に後続する命令の実行を
    抑止すると同時に、前記加算器の分岐先アドレスから命
    令の処理を開始させる分岐制御手段とを備え、条件付き
    分岐命令とその後続命令とを同時に実行することを特徴
    とする請求項1記載のデータ処理装置。
JP19822688A 1988-08-09 1988-08-09 データ処理装置 Expired - Fee Related JPH0774992B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP19822688A JPH0774992B2 (ja) 1988-08-09 1988-08-09 データ処理装置
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
JP19822688A JPH0774992B2 (ja) 1988-08-09 1988-08-09 データ処理装置

Publications (2)

Publication Number Publication Date
JPH0247725A true JPH0247725A (ja) 1990-02-16
JPH0774992B2 JPH0774992B2 (ja) 1995-08-09

Family

ID=16387603

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19822688A Expired - Fee Related JPH0774992B2 (ja) 1988-08-09 1988-08-09 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0774992B2 (ja)

Cited By (2)

* 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
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Cited By (2)

* 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
US6334184B1 (en) 1998-03-24 2001-12-25 International Business Machines Corporation Processor and method of fetching an instruction that select one of a plurality of decoded fetch addresses generated in parallel to form a memory request

Also Published As

Publication number Publication date
JPH0774992B2 (ja) 1995-08-09

Similar Documents

Publication Publication Date Title
US5051896A (en) Apparatus and method for nullifying delayed slot instructions in a pipelined computer system
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US5636353A (en) Superscalar processor with direct result bypass between execution units having comparators in execution units for comparing operand and result addresses and activating results bypassing
US5809294A (en) Parallel processing unit which processes branch instructions without decreased performance when a branch is taken
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
US20110055523A1 (en) Early branch determination
EP0378415A2 (en) Multiple instruction dispatch mechanism
JP2682217B2 (ja) マイクロプロセッサ
EP0279953A2 (en) Computer system having mixed macrocode and microcode instruction execution
JPH06266556A (ja) データ処理装置
JPH0247725A (ja) データ処理装置
JP2008299729A (ja) プロセッサ
EP1208424B1 (en) Apparatus and method for reducing register write traffic in processors with exception routines
JP2798121B2 (ja) データ処理装置
JP2581565B2 (ja) ガード付命令を実行するデータ処理装置
JP2532560B2 (ja) 高機能な例外処理を行うデ―タ処理装置
JPH02206836A (ja) データ処理装置
JP3471691B2 (ja) マイクロ命令における分岐命令制御方式
JP3493110B2 (ja) 高速分岐処理装置
JP2503223B2 (ja) 先行制御方式
JPH0311430A (ja) フエッチアクセス時の異常処理方法
JPH10283182A (ja) パイプライン型情報処理装置
JPH05108348A (ja) 並列演算処理装置
JPH06110687A (ja) 情報処理装置および情報処理方法
JPH06168120A (ja) 命令先取り装置

Legal Events

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