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

データ処理装置

Info

Publication number
JPH0667883A
JPH0667883A JP22154392A JP22154392A JPH0667883A JP H0667883 A JPH0667883 A JP H0667883A JP 22154392 A JP22154392 A JP 22154392A JP 22154392 A JP22154392 A JP 22154392A JP H0667883 A JPH0667883 A JP H0667883A
Authority
JP
Japan
Prior art keywords
instruction
branch
processing
address
processing means
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
Application number
JP22154392A
Other languages
English (en)
Inventor
Takuya Kokuryo
琢也 國領
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22154392A priority Critical patent/JPH0667883A/ja
Publication of JPH0667883A publication Critical patent/JPH0667883A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【目的】分岐命令が近接して出現した場合に生ずるパイ
プライン処理処理の停滞を抑えることのできるデータ処
理装置を提供する。 【構成】バッファ2から取り出す命令を順次複数段の処
理手段3に渡してパイプライン処理を行なう装置で、無
条件分岐命令を検出したとき無条件分岐命令以降の命令
を継続して実行する手段を処理手段3に備え、各処理手
段3毎に無条件分岐命令の分岐先アドレスを保持すると
共に各分岐先アドレスを処理手段3の処理に伴って順次
シフトするシフト保持手段8、処理手段3で実行する命
令のアドレスとシフト保持手段8の各分岐先アドレスと
を比較する比較手段12を有し、分岐先アドレスの命令
が処理手段3で実行されている場合に無条件分岐命令後
でかつ分岐先アドレスの命令前の命令を取り消す取消手
段16を備えた。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン処理を行
なうデータ処理装置に関し、特に、分岐命令の処理時に
発生するパイプライン処理の停滞を減少させるための構
成を備えたデータ処理装置に関する。
【0002】現在、パイプライン処理により大部分の命
令を1サイクルで実行するCPU(中央処理装置)が商
品化され種々のデータ処理装置において実用化されてい
る。しかし、分岐命令の実行においてはパイプライン処
理が停滞するので、このような場合のパイプライン処理
の効率低下を抑える方法が要求されている。この要求を
満たすためには、分岐命令を検出してもパイプライン処
理を継続することによりパイプライン処理の効率を高め
る必要がある。
【0003】
【従来の技術】従来のデータ処理装置は、条件分岐命令
を検出すると、分岐条件の成立、不成立が判明する前に
分岐する確率が高いかあるいは分岐しない確率が高いか
を予め予測しておき、確率が高い方の命令からパイプラ
イン処理を行っていた。
【0004】これは、一般的にはプログラムのループ処
理においては、分岐条件が成立する確率の高い方をルー
プを構成するために使用し、分岐条件が成立する確率の
低い方法をループから抜けるために使用すれば、分岐か
非分岐かの予測が当たる確率を高められるからである。
【0005】図7は従来のパイプライン処理を説明する
図である。図7において、パイプライン処理の処理手段
の段数を”5”とし、第1段目”DC”で命令のデコー
ドを行い、第2段目”AC”でオペランドアドレスの計
算を行う。第3段目”OF”でオペランドアドレスフェ
ッチを行い、第4段目”OE”で演算を行い、第5段
目”OW”で書き込みを行なう。
【0006】データ処理装置は、図7(a)〜(c)の
左欄に掲げられる”命令1”〜”命令5”を実行するも
のとし、その中の”命令1”は分岐命令である。それぞ
れの分岐命令、すなわち”命令1”に対する分岐先命令
は図7(a)(b)では”命令3”に、図7(c)で
は”命令4”になっている。
【0007】また、前記”DC”〜”OW”の略称に続
く数字符は、左欄にある命令を識別するためにそれぞれ
の命令の後ろに付した番号と対応している。例えば”D
C1”は”命令1”に係る処理であり、”DC3”は”
命令3”に係る処理である。図中、これらの処理の略称
を区切る縦線は、時間をステージ毎に区切るものであ
り、図の右方向に時間は流れているものとする。
【0008】図7(a)は、”命令1”が無条件分岐
で、分岐先が”命令3”の場合の処理について示す。無
条件分岐命令からその分岐先命令の実行に移動するまで
の間に2ステージ分の停滞が生じている。
【0009】図7(b)は、”命令1”が条件分岐命令
で、分岐条件が成立した時の分岐先命令が”命令3”の
場合の処理について示す。分岐条件が成立した場合には
条件分岐命令からその分岐先命令の実行に移動するまで
の間に3ステージ分の停滞が生じている。なお、分岐条
件の成立、不成立については、条件分岐命令の演算処理
を行なうステージ、すなわち”OE1”のところで判明
するものとする。
【0010】図7(c)は、図7(b)と同じく”命令
1”が条件命令で、異なるところは、分岐条件が成立し
たときの分岐先命令が”命令3”ではなく”命令4”で
ある。図7(c)においても(b)と同様に”OE”の
ステージで分岐条件の成立が判明し、条件分岐命令から
その分岐先命令の実行に移動するまでの間に3ステージ
の停滞が生ずる。
【0011】このように従来のデータ処理装置は、プロ
グラムの処理選択における無条件分岐あるいは条件分岐
を検出して分岐する場合、分岐命令からその分岐先命令
の実行に移動するまでにパイプライン処理処理がある時
間だけ停滞するという問題があった。
【0012】そこで、この問題を解決する一つのデータ
処理装置として、例えば本出願人が既に平成3年6月2
1日に出願済みの未公知の特願平3−150264に記
載された処理装置がある。このデータ処理装置は、プロ
グラムの処理選択における分岐の場合には、近接した前
方アドレスへ分岐する場合が多いことに着目し、条件分
岐命令を検出しても、条件分岐以降の命令を継続して先
行処理する。
【0013】そして、分岐条件が成立しない時には、そ
のまま処理を継続し、分岐条件が成立した時には、パイ
プライン処理装置内の分岐命令を検出する。分岐先命令
が先行処理されている時には、条件分岐命令の次の命令
から分岐先命令以前の不要な命令のみを取り消し、分岐
先命令からは取り消さずに継続して処理を行うものであ
る。図8に前記未公知のデータ処理装置によるパイプラ
イン処理の原理説明図を示す。図8(a)〜(c)の条
件は、図8(a)〜(c)に対応しており、図8(a)
(b)では1ステージ分の停滞が生じ、図8(c)は、
2ステージ分の停滞が生じいる。図8からもわかるよう
に、図7に示すパイプライン処理よりも処理の停滞が小
さくなっている。
【0014】
【発明が解決しようとする課題】しかしながら、図8に
示す未公知のデータ処理装置にあっても次のような問題
があった。すなわち、通常、パイプライン処理装置内に
おいて処理できる分岐命令は1つであり、パイプライン
処理装置に分岐命令が2つ以上入力された場合には分岐
命令が1つの場合と同様にパイプライン処理できないた
め、このような場合に処理が停滞してしまう。
【0015】例えば図9において、図9(a)に示す例
では条件分岐命令が不成立であり、1命令先分岐命令の
場合であって、2ステージ分の処理の停滞が生じてい
る。図9(b)に示す例では条件分岐不成立であり、2
命令先分岐命令の場合であって、処理の停滞は生じない
が、図9(c)に示す例では条件分岐成立であり、2命
令先分岐命令の場合であって、3ステージ分の処理の停
滞が生じている。図9(d)に示す例では条件分岐成立
であり、3命令先分岐命令の場合であって、3ステージ
分の処理の停滞が生じている。
【0016】このように、プログラムの複数の処理選択
において、条件分岐命令、無条件分岐命令が近接して出
現した場合には、分岐命令を連続的に処理できず、パイ
プライン処理が遅延していた。
【0017】本発明は、このような点に鑑みてなされた
もので、その目的とするところは、分岐命令が近接して
出現した場合に生ずるパイプライン処理処理の停滞を抑
えることのできるデータ処理装置を提供することにあ
る。
【0018】
【課題を解決するための手段】本発明は、上記課題を解
決し目的を達成するために下記の構成とした。図1は第
1の発明の原理図である。本発明は、パイプライン処理
を行なう各処理手段毎に、その処理手段が分岐命令の場
合に備えて、後続の処理手段に対する命令アドレス情報
(分岐先アドレス)を保持しこの情報をパイプライン処
理に伴って後方にシフトさせる構成を設けることによ
り、分岐命令が近接して現れた場合に発生するパイプラ
イン処理の停滞を抑えるようにしている。
【0019】即ち、第1の発明は、記憶部1から先取り
した命令を蓄えるバッファ2を有し、このバッファ2か
ら取り出す命令を順次複数段の処理手段3に渡してパイ
プライン処理を行なうデータ処理装置において、前記無
条件分岐命令を検出したときにその無条件分岐命令以降
の命令を継続して実行する手段を前記処理手段3に備え
るとともに、前記各処理手段3毎に前記無条件分岐命令
の分岐先アドレスを保持するとともに保持されている各
分岐先アドレスを前記処理手段3の処理に伴って順次シ
フトするシフト保持手段8を有している。
【0020】前記処理手段3で実行する命令のアドレス
と前記シフト保持手段8に保持されている各分岐先アド
レスとを比較する比較手段12、前記分岐先アドレスの
命令が、前記処理手段3で実行されている場合には、前
記比較手段12の出力に従って前記無条件分岐命令後で
あってかつ前記分岐先アドレスの命令前の命令を取り消
す取消手段16を備える構成とした。
【0021】第2の発明は、記憶部1から先取りした命
令を蓄えるバッファ2を有し、このバッファ2から取り
出す命令を順次複数段の処理手段3に渡してパイプライ
ン処理を行なうデータ処理装置において、条件分岐命令
を検出したときにその条件分岐命令以降の命令を継続し
て実行する手段を前記処理手段3に備えるとともに、前
記各処理手段3毎に前記条件分岐命令の条件によって決
定される分岐先アドレスを保持するとともに保持されて
いる各分岐先アドレスを前記処理手段3の処理に伴って
順次シフトするシフト保持手段8を有している。
【0022】前記処理手段3で実行する命令のアドレス
と前記シフト保持手段8に保持されている各分岐先アド
レスとを比較する比較手段12、前記条件分岐命令の条
件が分岐する条件であってかつ前記分岐先アドレスの命
令が前記処理手段3で実行されている場合には前記比較
手段12の出力に従って前記条件分岐命令後でかつ前記
分岐先アドレスの命令前の命令を取り消す取消手段16
を備える構成とした。
【0023】第3の発明は、複数段ある処理手段3の各
段毎に命令アドレスレジスタ30を設けるとともに、各
段の処理手段3で実行している命令のアドレスを各段の
前記命令アドレスレジスタ30に格納させる制御手段3
5とを備えている。
【0024】前記比較手段12は、前記制御手段35に
より前記命令アドレスレジスタ30に格納された命令の
アドレスと前記シフト保持手段8の分岐先アドレスとを
比較し、前記取消手段16は、前記比較手段12の出力
に従って命令を取り消すよう構成した。
【0025】第4の発明は、複数段ある処理手段3の各
段毎に、各処理手段3で実行している命令のアドレスが
前記複数の分岐先アドレス以降か否かを示すフラグを保
持するフラグ保持部20を設けると共に、前記シフト保
持手段8の複数の分岐先アドレスと処理手段3が実行し
ている命令のアドレスとを前記比較手段12により比較
した結果として前記フラグを前記フラグ保持部20に格
納させる制御手段35を有している。
【0026】前記各フラグ保持部20のフラグを前記処
理手段3の処理に伴って順次シフトさせるシフト手段3
4を備え、前記取消手段16は、前記制御手段35とシ
フト手段34との制御の下に前記フラグ保持部20に格
納された前記フラグに従って命令を取り消すよう構成す
る。
【0027】
【作用】本発明は、プログラムの処理選択における分岐
の場合には近接した前方アドレスへ分岐する場合が多い
ことに着目し、分岐命令を検出してもその分岐命令以降
の命令を継続して先行処理する。そして、アドレス計算
の完了した分岐命令の分岐先アドレスを各実行している
パイプラインステージにおいて保持しているので、分岐
命令が連続してパイプライン処理装置内に入力されて
も、前の分岐命令の完了を待たずに処理を進めることが
できる。
【0028】図2は本発明における原理説明図である。
図2において、横方向が分岐命令処理ステージを示し、
縦方向が後続命令処理ステージを示し、分岐命令の各パ
イプラインステージが、後続命令に対する命令アドレス
情報を保持していることを示す。なお、図中で”DC”
は第1段目の命令デコード処理を、”AC”は第2段目
のアドレス計算処理を、”OF”は第3段目のオペラン
ドフェッチ処理を、”OE”は第4段目の演算処理
を、”OW”は第5段目の書き込み処理をそれぞれ示し
ている。例えばOEステージの分岐命令に対しては、D
C、AC、OFステージの3つの命令アドレス情報を保
持していることがわかる。
【0029】このような複数の命令アドレス情報の保持
は、各処理手段3毎に設けられたシフト保持手段8によ
り処理手段3の処理に伴って順次シフトすることによっ
て行われる。
【0030】図3は2命令先の分岐命令処理の動作説明
図である。図3においては、分岐命令がOEステージに
おいて分岐条件が成立し、後続の先行処理しているAC
ステージの命令に分岐する場合に先行処理している後続
命令に対する命令アドレス情報が、DCとACステージ
の命令は、分岐側命令であることを示し、OFステージ
の命令は、非分岐命令のため命令の実行を取り消すこと
を示している。
【0031】すなわち、非分岐命令の実行の取り消し
は、比較手段12の出力に従って取消手段16により、
条件分岐命令後でかつ分岐先アドレスの命令前の命令を
取り消すことで行われる。
【0032】図4は本発明により実現されるパイプライ
ン処理のフロー図である。図4に示すパイプライン処理
フロー図においては、いずれの場合も複数の分岐命令が
近接しており、分岐命令の分岐先アドレスが前方であ
り、分岐先アドレスが分岐命令のアドレスと近接してい
る場合のパイプライン処理フローを示している。
【0033】図4(a)〜(d)のいずれの場合にも命
令のデコードを行なう第1段目の処理手段は、命令1〜
命令5までのデコードを分岐する命令である命令1を検
出した後も処理を継続し、第2〜5段目の処理手段も同
様に分岐命令を検出していないかの如く分岐命令以降の
命令を継続して行っている。
【0034】分岐命令によって分岐した場合には、図4
(a)〜(d)のそれぞれについてのパイプライン処理
の停滞をみると、図4(a)と(b)とでは停滞がなく
なり、図4(c)で1ステージ分の停滞が生じており、
図4(d)で2ステージ分の停滞が生じている。なお、
分岐する場合において、図4(c)の命令2と図4
(d)の命令2及び命令3とは不要な命令として取り消
される。
【0035】次に、図9に示す例と図4に示す本発明と
を比較する。図9(a)と図4(a)との比較では、条
件分岐命令が3命令連続しかつ3命令ともが分岐条件不
成立の場合であって、本発明が処理速度を2ステージ分
向上できる。
【0036】図9(c)と図4(c)との比較では、条
件分岐命令と無条件分岐命令又は条件分岐命令が連続し
先の条件分岐命令の分岐条件成立の場合であって、本発
明が処理速度を2ステージ分だけ向上できる。
【0037】図9(d)と図4(d)との比較では、条
件分岐命令と無条件分岐命令又は条件分岐命令が1命令
おきに連続し先の条件分岐命令又は条件分岐命令が1命
令おきに連続し先の条件分岐命令の分岐条件の場合であ
って、本発明が1ステージ分の処理速度を向上できる。
【0038】
【実施例】以下、本発明の具体的な実施例を説明する。 <実施例1>図5は本発明に係るデータ処理装置の実施
例1の構成ブロック図である。このデータ処理装置はパ
イプライン処理を行なうようになっている。パイプライ
ン処理の各ステージの処理は図5に示す各処理手段3〜
7が処理を行なう。
【0039】前記処理手段3〜7は、無条件分岐命令を
検出したときにその無条件分岐命令以降の命令、または
条件分岐命令を検出したときにその条件分岐命令以降の
命令を継続して実行するようになっている。
【0040】分岐アドレスレジスタ8〜11は、各処理
手段3毎に無条件分岐命令の分岐先アドレス又は前記条
件分岐命令の条件によって決定される分岐先アドレスを
保持するとともに保持されている各分岐先アドレスを処
理手段3〜7の処理に伴って順次シフトするようになっ
ている。
【0041】アドレス比較部12〜15は、前記処理手
段3〜7で実行する命令のアドレスと分岐アドレスレジ
スタ8〜11に保持されている各分岐先アドレスとを比
較するようになっている。
【0042】取消制御部16〜19は、前記分岐先アド
レスの命令が、前記処理手段3〜7で実行されている場
合には、前記アドレス比較部12〜15の出力に従って
前記無条件分岐命令後であってかつ前記分岐先アドレス
の命令前の命令、を取り消すようになっている。
【0043】また、取消制御部16〜19は、条件分岐
命令の条件が分岐する条件であってかつ分岐先アドレス
の命令が前記処理手段3で実行されている場合には前記
比較手段12の出力に従って前記条件分岐命令後でかつ
前記分岐先アドレスの命令前の命令を取り消すようにな
っている。
【0044】複数段ある処理手段3〜6の各段毎に命令
アドレスレジスタ30〜33が設けられている。記憶部
1から取り出された命令は命令バッファ2に蓄えられ、
命令デコードを行なう第1の処理手段3に供給される。
【0045】この第1の処理手段3でデコードされた命
令は、オペランドアドレスの計算を行なう第2の処理手
段4、オペランドフェッチを行なう第3の処理手段5、
演算実行を行なう第4の処理手段6、演算結果を書き込
む第5の処理手段7により順次処理される。そして、パ
イプライン制御部35により各処理手段3〜7のパイプ
ライン制御が行われる。
【0046】命令デコードを行なう第1の処理手段3に
より分岐命令が検出され、オペランドアドレスの計算を
行なう第2の処理手段4によりその分岐命令の分岐先ア
ドレスが計算され、分岐先アドレスは分岐アドレスレジ
スタ8に格納される。
【0047】オペランドアドレスの計算を行なう第2の
処理手段4に対応する分岐アドレスレジスタ8の内容
は、パイプライン処理の流れと共に分岐アドレスレジス
タ8に接続される分岐アドレスレジスタに順次シフトさ
れて、各処理手段5〜7に対応する各分岐アドレスレジ
スタ9〜11に格納されていく。
【0048】各分岐アドレスレジスタ8〜11は、対応
する各処理手段4〜7において、例えば無条件分岐命令
では第2の処理手段4において、条件分岐命令では第4
の処理手段6において、分岐先アドレスに分岐すること
が確定すれば、その処理手段に対応する分岐アドレスレ
ジスタ8又は10が、分岐判定部34により選択され
る。
【0049】そして、命令バッファ2から第1の処理手
段3に入力される命令のアドレスは、命令アドレスレジ
スタ30に格納される。この第1の処理手段3に対応す
る命令アドレスレジスタ30の内容は、パイプライン処
理の流れと共に命令アドレスレジスタ30に接続される
命令アドレスレジスタに順次シフトされて、前述の各処
理手段4〜6に対応する命令アドレスレジスタ31〜3
4に格納されていく。
【0050】一方、アドレス比較部12〜15は、分岐
判定部34により選択された分岐アドレスレジスタ8〜
11のいずれかの内容と各命令アドレスレジスタ30〜
33の内容とを比較し、対応する処理手段3〜6が非分
岐側の命令を実行しているのか、あるいは分岐側の命令
を実行しているのかを対応する取消制御部16〜19に
通知する。
【0051】そして、分岐命令が、第2の処理手段4〜
第5の処理手段7のいずれかにおいて、分岐先アドレス
に分岐することが確定すれば、分岐判定部34は、その
分岐を検出して、各ステージの取消制御部16〜19に
対して不要な命令であることが判明した非分岐側命令を
取り消すことを指示する。
【0052】取消制御部16〜19は、第1の処理手段
3〜第4の処理手段6の不要な命令である非分岐側命令
を取り消す。そして、分岐先命令以降の分岐側命令は、
取り消されることなく継続してパイプライン処理され
る。一方、分岐先アドレスに分岐しないことが確定すれ
ば、非分岐側命令は取り消されることなくそのまま継続
してパイプライン処理を進めていく。
【0053】このように実施例1によれば、プログラム
処理の二分岐選択処理及び多分岐選択処理において発生
する前方近接アドレスへの分岐命令が複数個近接して存
在した場合であっても、分岐命令を検出してその分岐命
令以降の命令を継続して先行処理する。そして、アドレ
ス計算の完了した分岐命令の分岐先アドレスを各実行し
ているパイプラインステージにおいて保持しているの
で、分岐命令が連続してパイプライン処理装置内に入力
されても、前の分岐命令の完了を待たずに処理を進める
ことができる。
【0054】従って、無条件分岐命令及び条件分岐命令
において、パイプライン処理の中断時間を減少させるこ
とができ、これによってデータ処理装置の処理速度を向
上することができる。 <実施例2>図6は本発明の実施例2の構成ブロック図
である。図6において、処理手段の各段毎に、各処理手
段で実行している命令のアドレスが複数の分岐先アドレ
ス以降か否かを示すフラグを保持するフラグ保持部20
〜29が設けられている。
【0055】次に、フラグのグループについて説明す
る。例えば第5の処理手段7が分岐命令処理の場合に後
続の命令(4命令)が分岐側命令であることを示すフラ
グは、第4の処理手段6が分岐側命令であることを示す
フラグF29、第3の処理手段5が分岐側命令であるこ
とを示すフラグF28、第2の処理手段4が分岐側命令
であることを示すフラグF27、第1の処理手段3が分
岐側命令であることを示すフラグF26の4つである。
【0056】第4の処理手段6が分岐命令処理の場合に
後続の命令(3命令)が分岐側命令であることを示すフ
ラグは、第3の処理手段5が分岐側命令であることを示
すフラグF25、第2の処理手段4が分岐側命令である
ことを示すフラグF24、第1の処理手段3が分岐側命
令であることを示すフラグF23の3つである。
【0057】第3の処理手段5が分岐命令処理の場合に
後続の命令(2命令)が分岐側命令であることを示すフ
ラグは、第2の処理手段4が分岐側命令であることを示
すフラグF22、第1の処理手段3が分岐側命令である
ことを示すフラグF21の2つである。
【0058】第2の処理手段4が分岐命令処理の場合に
後続の命令(1命令)が分岐側命令であることを示すフ
ラグは、第1の処理手段3が分岐側命令であることを示
すフラグF20の1つである。
【0059】また、分岐アドレスレジスタ8〜11の複
数の分岐先アドレスと処理手段3〜6が実行している命
令のアドレスとをアドレス比較部12〜15により比較
した結果として前記フラグを前記フラグ保持部20〜2
9に格納させるパイプライン制御部35を有している。
【0060】前記各フラグ保持部20のフラグを処理手
段の処理に伴って順次シフトさせる分岐判定部34を備
えている。次に、図6を参照して実施例2を説明する。
パイプライン処理の各ステージの処理は、図6に示す各
処理手段が処理するものとする。
【0061】記憶部1から取り出される命令は、命令バ
ッファ2に蓄えられ、命令デコードを行なう第1の処理
手段3に供給される。命令デコードを行なう第1の処理
手段3により分岐命令が検出され、オペランドアドレス
の計算を行なう第2の処理手段4によりその分岐命令の
分岐先アドレスが計算されると、その分岐先アドレスは
分岐アドレスレジスタ8〜11に順次シフトされて格納
される。
【0062】そして、命令バッファ2から第1の処理手
段3に入力された命令のアドレスと分岐アドレスレジス
タ8〜11の分岐先アドレスとを各アドレス比較部12
〜15により比較し、命令アドレスが分岐先アドレス以
上であるときには分岐側命令であることを示すフラグを
フラグ保持部20、21、23、26にセットする。
【0063】このフラグはパイプライン処理の流れと共
に後方にシフトされて格納される。即ち、フラグ保持部
20のフラグは、フラグ保持部22、フラグ保持部2
5、フラグ保持部29にセットされる。フラグ保持部2
1のフラグは、フラグ保持部24、フラグ保持部28に
セットされる。フラグ保持部23のフラグは、フラグ保
持部27にセットされる。
【0064】次に、分岐命令が第2の処理手段4〜第5
の処理手段7のいずれかにおいて、例えば無条件分岐命
令では第2の処理手段4において、条件分岐命令では第
4の処理手段6において、分岐先アドレスに分岐するこ
とが確定すれば、分岐判定部34において分岐を検出し
て、対応するフラグのグループを選択する。例えば無条
件分岐命令ではフラグ保持部20が選択され、条件分岐
命令ではフラグ保持部23〜25のグループが選択さ
れ、フラグの内容が各処理手段3〜6の取消制御部16
〜19に非分岐命令を取り消すことを指示する。
【0065】分岐先命令以降の分岐側命令は、取り消さ
れることなく継続してパイプライン処理される。一方、
分岐先アドレスに分岐しないことが確定すれば、非分岐
側命令は取り消されることなく、そのまま継続してパイ
プライン処理を進めていく。
【0066】このように実施例2によっても、実施例1
と同様の効果が得られる。
【0067】
【発明の効果】本発明によれば、プログラム処理の二分
岐選択処理及び多分岐選択処理において発生する前方近
接アドレスへの分岐命令が、複数個近接して存在した場
合であっても、連続的にパイプライン処理を先行させる
ので、無条件分岐命令及び条件分岐命令において、パイ
プライン処理の中断時間を減少させることができ、これ
によってデータ処理装置の処理速度を向上することがで
きる。
【図面の簡単な説明】
【図1】本発明の原理図である。
【図2】本発明の原理説明図である。
【図3】本発明の分岐命令処理の動作説明図である。
【図4】本発明の分岐命令のパイプライン処理を示すフ
ロー図である。
【図5】本発明による実施例1の構成ブロック図であ
る。
【図6】本発明による実施例2の構成ブロック図であ
る。
【図7】従来の分岐命令のパイプライン処理の例1を示
すフローである。
【図8】従来の分岐命令のパイプライン処理の例2を示
すフローである。
【図9】分岐命令が近接して発生した場合の例2のパイ
プライン処理を示すフロー図である。
【符号の説明】
1・・記憶部 2・・命令バッファ 3・・第1の処理手段 4・・第2の処理手段 5・・第3の処理手段 6・・第4の処理手段 7・・第5の処理手段 8〜11・・分岐アドレスレジスタ 12〜15・・アドレス比較部 16〜19・・処理取消制御部 20〜29・・フラグ保持部 30〜33・・命令アドレスレジスタ 34・・分岐判定部 35・・パイプライン制御部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 記憶部(1)から先取りした命令を蓄え
    るバッファ(2)を有し、このバッファ(2)から取り
    出す命令を順次複数段の処理手段(3)に渡してパイプ
    ライン処理を行なうデータ処理装置において、 前記無条件分岐命令を検出したときにその無条件分岐命
    令以降の命令を継続して実行する手段を前記処理手段
    (3)に備えるとともに、 前記各処理手段(3)毎に前記無条件分岐命令の分岐先
    アドレスを保持するとともに保持されている各分岐先ア
    ドレスを前記処理手段(3)の処理に伴って順次シフト
    するシフト保持手段(8)と、 前記処理手段(3)で実行する命令のアドレスと前記シ
    フト保持手段(8)に保持されている各分岐先アドレス
    とを比較する比較手段(12)と、 前記分岐先アドレスの命令が、前記処理手段(3)で実
    行されている場合には、前記比較手段(12)の出力に
    従って前記無条件分岐命令後であってかつ前記分岐先ア
    ドレスの命令前の命令を取り消す取消手段(16)とを
    備えたことを特徴とするデータ処理装置。
  2. 【請求項2】 記憶部(1)から先取りした命令を蓄え
    るバッファ(2)を有し、このバッファ(2)から取り
    出す命令を順次複数段の処理手段(3)に渡してパイプ
    ライン処理を行なうデータ処理装置において、 条件分岐命令を検出したときにその条件分岐命令以降の
    命令を継続して実行する手段を前記処理手段(3)に備
    えるとともに、 前記各処理手段(3)毎に前記条件分岐命令の条件によ
    って決定される分岐先アドレスを保持するとともに保持
    されている各分岐先アドレスを前記処理手段(3)の処
    理に伴って順次シフトするシフト保持手段(8)と、 前記処理手段(3)で実行する命令のアドレスと前記シ
    フト保持手段(8)に保持されている各分岐先アドレス
    とを比較する比較手段(12)と、 前記条件分岐命令の条件が分岐する条件であってかつ前
    記分岐先アドレスの命令が前記処理手段(3)で実行さ
    れている場合には、前記比較手段(12)の出力に従っ
    て前記条件分岐命令後でかつ前記分岐先アドレスの命令
    前の命令を取り消す取消手段(16)とを備えたことを
    特徴とするデータ処理装置。
  3. 【請求項3】 複数段ある処理手段(3)の各段毎に命
    令アドレスレジスタ(30)を設けるとともに、 各段の処理手段(3)で実行している命令のアドレスを
    各段の前記命令アドレスレジスタ(30)に格納させる
    制御手段(35)とを備え、 前記比較手段(12)は、前記制御手段(35)により
    前記命令アドレスレジスタ(30)に格納された命令の
    アドレスと前記シフト保持手段(8)の分岐先アドレス
    とを比較し、 前記取消手段(16)は、前記比較手段(12)の出力
    に従って命令を取り消すことを特徴とする請求項1又は
    請求項2記載のデータ処理装置。
  4. 【請求項4】 複数段ある処理手段(3)の各段毎に、
    各処理手段(3)で実行している命令のアドレスが前記
    複数の分岐先アドレス以降か否かを示すフラグを保持す
    るフラグ保持部(20)を設けると共に、 前記シフト保持手段(8)の複数の分岐先アドレスと処
    理手段(3)が実行している命令のアドレスとを前記比
    較手段(12)により比較した結果として前記フラグを
    前記フラグ保持部(20)に格納させる制御手段(3
    5)と、 前記各フラグ保持部(20)のフラグを前記処理手段
    (3)の処理に伴って順次シフトさせるシフト手段(3
    4)とを備え、 前記取消手段(16)は、前記制御手段(35)とシフ
    ト手段(34)との制御の下に前記フラグ保持部(2
    0)に格納された前記フラグに従って命令を取り消すこ
    とを特徴とする請求項1又は請求項2記載のデータ処理
    装置。
JP22154392A 1992-08-20 1992-08-20 データ処理装置 Withdrawn JPH0667883A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22154392A JPH0667883A (ja) 1992-08-20 1992-08-20 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22154392A JPH0667883A (ja) 1992-08-20 1992-08-20 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0667883A true JPH0667883A (ja) 1994-03-11

Family

ID=16768374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22154392A Withdrawn JPH0667883A (ja) 1992-08-20 1992-08-20 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0667883A (ja)

Similar Documents

Publication Publication Date Title
US5511172A (en) Speculative execution processor
US6662295B2 (en) Method and system dynamically presenting the branch target address in conditional branch instruction
US5421020A (en) Counter register implementation for speculative execution of branch on count instructions
US7454598B2 (en) Controlling out of order execution pipelines issue tagging
EP1886216B1 (en) Controlling out of order execution pipelines using skew parameters
JPS633337B2 (ja)
US5822561A (en) Pipeline data processing apparatus and method for executing a plurality of data processes having a data-dependent relationship
US20100306504A1 (en) Controlling issue and execution of instructions having multiple outcomes
US20100217961A1 (en) Processor system executing pipeline processing and pipeline processing method
JPH05224927A (ja) プロセッサ
US20110004743A1 (en) Pipe scheduling for pipelines based on destination register number
JPH0667883A (ja) データ処理装置
CN113918225A (zh) 指令预测方法、指令数据处理装置、处理器以及存储介质
JPH04373023A (ja) データ処理装置
JP4728877B2 (ja) マイクロプロセッサおよびパイプライン制御方法
JP3082944B2 (ja) パイプライン処理装置
JP3493110B2 (ja) 高速分岐処理装置
JPH0277940A (ja) データ処理装置
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JPH04372020A (ja) データ処理方法およびデータ処理装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPH0774992B2 (ja) データ処理装置
JP2591325B2 (ja) 分岐制御装置
JPH0991139A (ja) 情報処理装置
JPH07219771A (ja) 命令プロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19991102