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

データ処理装置

Info

Publication number
JPH01175633A
JPH01175633A JP33372087A JP33372087A JPH01175633A JP H01175633 A JPH01175633 A JP H01175633A JP 33372087 A JP33372087 A JP 33372087A JP 33372087 A JP33372087 A JP 33372087A JP H01175633 A JPH01175633 A JP H01175633A
Authority
JP
Japan
Prior art keywords
instruction
processing
branch
address
condition
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
JP33372087A
Other languages
English (en)
Other versions
JPH0812599B2 (ja
Inventor
Nobuaki Saka
坂 宜明
Taizo Sato
泰造 佐藤
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 JP62333720A priority Critical patent/JPH0812599B2/ja
Publication of JPH01175633A publication Critical patent/JPH01175633A/ja
Publication of JPH0812599B2 publication Critical patent/JPH0812599B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術         (第3〜5図)発明が解
決しようとする問題点(第6図)問題点を解決するため
の手段 作用 実施例 本発明の一実施例     (第1.2図)発明の効果 〔概 要〕 マイクロブ1°Iグラム制御をパイプライン処理するデ
ータ処理装置に関し、 条件分岐命令の処理中であってもパイプライン処理が有
効に行われ、処理速度の低下しないデータ処理装置を提
供することを目的とし、条件分岐命令および該条件分岐
命令の分岐先命令を含む複数のマイクロ命令を格納し、
アドレス指定により各マイクロ命令が取り出される格納
手段と、該格納手段から一つのマイクロ命令が取り出さ
れると、次に取り出すマイクロ命令のアドレスを発生す
る第1のアドレス発生手段と、取り出されたマイクロ命
令の命令種別を解読する解読手段と、解読された命令種
別が条件分岐命令のとき、条件の成立、非成立を判定す
る処理を実行する実行手段と、条件分岐命令の分岐先命
令のアドレスを発生する第2のアドレス発生手段と、条
件の非成立時には第1のアドレス発生手段を選択する一
方、条件の成立時には第2のアドレス発生手段を選択し
て格納手段にマイクロ命令取り出しのためのアドレスを
与える選択手段と、を備えて構成している。
〔産業上の利用分野〕
本発明は、データ処理装置に関し、特に、マイクロプロ
グラム制御をパイプライン処理するデータ処理装置に係
り、条件分岐命令の非分岐時における処理の停滞を回避
したデータ処理装置に関する。
一般に、計算機等における処理は、複数の処理段階を経
て行われ、例えば、命令実行制御では、(I)マイクロ
命令の取り出し、 (II)解読、 (I[I)アドレス計算、 (IV)オペランド取り出し、 (V)実行、 といった多段階処理が行われる。これらの処理は、基本
的には、(I)−(n)・・・・・・(V)の順序で逐
次処理され、現在でも簡易なシステムではこのような逐
次処理が用いられている。しかし、このような逐次処理
は処理速度の点で問題がある。第3図は逐次処理の概念
図である。なお、同図において、処理Aは上述の(1)
に相当し、処理Bは(II)に相当し、処理Cは(II
I)に相当し、処理りは(IV)に相当し、処理Eは(
V)に相当する。
例えば、命令■に続いて命令■を処理した場合の処理速
度は次のとおりとなる。すなわち、命令■は処理Aにお
いてtい処理Bにおいてtい処理Cにおいてtい処理り
においてt9、処理已においてt4、なる各処理遅れを
生じ、処理Aから処理Eまでの累計処理遅れTは1A+
1.+1、+10+t、となる。このことは命令■の処
理についても同様であり、したがって、命令■と命令■
の間にはT〔時間〕の空白があき、近時の高速化要求に
応えるためには問題が大きい。
(従来の技術〕 このような逐次処理の問題点を解決したものとしてパイ
プライン制?il (Pipeline Contro
l)が用いられる。第4図はパイプライン処理を示す概
念図である。同図において、処理Aで取り込まれた命令
■は次のサイクルで処理Bに移され、同時に処理Aは次
位の命令■を取り込む。そして、命令■が処理Cに移る
と、これに並行して命令■が処理Bに移されるとともに
、処理Aは次次位の命令■を取り込んでいる。
すなわち、このような処理A〜処理Eを並行に行うパイ
プライン制御にあっては、最初の命令■の実行結果が出
るまでは、処理A〜処理Eを経なければならないので、
逐次処理と同じ処理速度T(T=tA+ tl + t
(+ to+t()となるが、命令■以降では処理サイ
クル毎に実行結果が得られ、仮にこのシステムが同期式
の場合では、tA= tl = t(= tD=tt工
処理サイクル、であるから、その処理遅れは一つの処理
段階に相当する時間tに短縮され、極めて高速な処理を
行うことができる。
また、マイクロプログラム制御においても、上述の命令
実行制御と同様にパイプライン制御が行われ、マイクロ
プログラム制御の各処理、すなわち、 (I′)マイクロ命令の取り出し く■′)解読 (m′)実行 (■′)実行結果の格納 の各処理をパイプライン処理する。第5図はそのパイプ
ライン処理の概念図である。第5図において、処理lは
上記の(■′)に相当し、処理2は上記(■′)および
(■′)に相当し、処理3は上記(■′)に相当する。
〔発明が解決しようとする問題点〕
しかしながら、このような従来のパイプライン処理を用
いたデータ処理装置にあっては、処理3で命令が実行さ
れているとき、この命令に続く、次位の命令が処理2で
解読やアドレス計算処理を受けているとともに、次次位
の命令が処理1で取り込まれる構成となっていたため、
例えば条件判定を伴う条件分岐命令(以下、単に分岐命
令という)が処理3で実行中の場合、この実行結果(す
なわち、判定結果)が得られるまでは、次位の命令を処
理するか(非分岐側処理)、あるいは分岐先の別の命令
を処理するか(分岐側処理)は確定していない。したが
って、分岐命令が処理1から処理3まで移って結果が出
るまでは、次位および次次位の命令を処理することは無
意味であり、通常、ノーオペレーション命令(NOP)
を分岐命令に続く次位、次次位の命令としている。
第6図は分岐命令の後にNOPを入れた従来のパイプラ
イン処理の概念図である。同図において、分岐命令への
条件判定は処理3の実行処理で行われ、条件非成立なら
ば、再び処理lでAを取り込み処理1〜3までを繰返し
て続行する。そして、条件が成立すると、マイクロ命令
のアドレスを切り換え、所定の分岐先命令を処理1で取
り込み、以降はこの分岐側処理を続行する。このように
、分岐命令Aの後には処理段階数に応じた複数のNOP
を介在させなければならないので、分岐命令の処理中は
実質的にパイプライン処理の効果が失われ、上述した逐
次処理とほぼ同程度の処理速度に低下するといった問題
点があった。
本発明はこのような問題点に鑑みてなされたもので、条
件分岐命令の処理中であっても、パイプライン処理が有
効に行われ、処理速度の低下しないデータ処理装置を提
供することを目的としている。
〔問題点を解決するための手段〕
本発明では、上記目的を達成するために、条件分岐命令
および該条件分岐命令の分岐先命令を含む複数のマイク
ロ命令を格納し、アドレス指定により各マイクロ命令が
取り出される格納手段と、該格納手段から一つのマイク
ロ命令が取り出されると、次に取り出すマイクロ命令の
アドレスを発生する第1のアドレス発生手段と、取り出
されたマイクロ命令の命令種別を解読する解読手段と、
解読された命令種別が条件分岐命令のとき、条件の成立
、非成立を判定する処理を実行する実行手段と、条件分
岐命令の分岐先命令のアドレスを発生する第2のアドレ
ス発生手段と、条件の非成立時には第1のアドレス発生
手段を選択する一方、条件の成立時には第2のアドレス
発生手段を選択して格納手段にマイクロ命令取り出しの
ためのアドレスを与える選択手段と、を備えて構成して
いる。
〔作 用〕
本発明では、条件分岐命令の条件が非成立の間、第1の
アドレス発生手段からのアドレスにより非分岐側のマイ
クロ命令が連続して取り出される。
したがって、条件分岐命令に続く命令の処理に空白がな
いので、パイプライン処理が有効に機能し、処理速度の
低下を招くことはない。
また、条件成立時には、第2のアドレス発生手段からの
アドレスにより分岐側のマイクロ命令(分岐先命令)が
取り込まれ、必要な分岐処理が行われる。
〔実施例〕
以下、本発明を図面に基づいて説明する。
第1.2図は、本発明に係るデータ処理装置の一実施例
を示す図であり、マイクロプログラム制御をパイプライ
ン処理するネタストアドレス型のデータ処理装置に適用
した例である。
まず、構成を説明する。第1図において、データ処理装
置1は、パイプライン処理におけるマイクロ命令の取り
出し処理を行う命令取り出し処理部2と、パイプライン
処理における命令取り出し処理以外の処理を行う実行処
理部3と、を含み、命令取り出し処理部2は、マイクロ
ROM4、マイクロROMBNA5、選択手段6および
デイレイ回路7を含んで構成されている。
マイクロROM4は格納手段および第1のアドレス発生
手段としての機能を有し、ROM (ReadOnly
 Mea+ory)あるいはP L A (Progr
ama+ableLogic Array)などにより
構成され、多数のマイクロ命令MOからなるマイクロプ
ログラムを内部に格納するとともに、これら多数のマイ
クロ命令MOの各々に対応してネタストアドレス情報N
Aを格納している。マイクロROM4には、アドレス情
iADが入力され、アドレス情報ADのアドレス指定に
より一つのマイクロ命令MOが取り出されるとともに、
取り出されたマイクロ命令MOに対応するネタストアド
レス情報NAが出力される。
なお、多数のマイクロ命令MOは、いわゆる条件分岐命
令およびこの条件分岐命令の分岐先命令を含んでいる。
ここで、条件分岐命令は、所定の条件が成立するか否か
によって以降の分岐処理を決定する命令であり、例えば
、掛算命令(MUL命令)や割算命令(DIV命令)あ
るいはロードマルチレジスタ命令(夏、DM命令)など
に代表される。例えば、A=nXmのMUL命令は、A
=n +Aの加算を一つのループとしてこれをmループ
繰り返し、最終的にA=nXmが得られたとき、条件成
立として分岐側処理を行う命令である。したがって、条
件が非成立のA≠nxmの間では、非分岐側処理を実行
してA=n+Aの加算を繰り返すから、一つのMUL命
令では分岐側処理が1回発生するのに対し、非分岐側処
理はm回発生する。すなわち、この非分岐側処理を途切
れることなく連続して処理が可能であれば、パイプライ
ン処理の効果を有効に発揮することができる。
上述のネクストアドレス情報NAは、対応するマイクロ
命令MOの次に処理すべき非分岐側処理のマイクロ命令
MOの格納アドレスを示し、このネクストアドレス情報
NAは、後述の判定結果信号SJが非分岐側のとき、ア
ドレス情報ADとなってマイクロROM4に入力される
マイクロROMBNA5は、第2のアドレス発生手段と
しての機能を有し、ROMあるいはPLAにより構成さ
れ、上記条件分岐命令の分岐先命令を指定する分岐先ア
ドレス情報BNAが内部に格納されている。マイクロR
OMBNA5にはn処理サイクル前のデイレイアドレス
情報AIL、が入力されており、デイレイアドレス情報
AIL、のアドレス指定に従って分岐先アドレス情報B
NAが出力される。
選択手段6は、上記第1のアドレス発生手段としてのマ
イクロROM4からのネタストアドレス情報NAが入力
される入力端子6aと、第2のアドレス発生手段として
のマイクロROMBNA5からの分岐先アドレス情Wi
BNAが入力される入力端子6bと、後述の判定結果信
号S、に従って分岐非成立時に入力端子6aを選択し、
また、分岐成立時に入力端子6bを選択して、ネタスト
アドレス情報NAあるいは分岐先アドレス情報BNAの
何れか一方を取り出しアドレス情報ADとして出力する
出力端子6Cと、を有している。
デイレイ回路7は、例えばn段のラッチ回路からなり、
アドレス情IADをn処理サイクルの間保持し、デイレ
イアドレス情91AIl、として出力する。なお、ラッ
チの段数nは1段であってもよい。
実行処理部3は、解読手段および実行手段としての機能
を有し、命令取り出し処理部2で取り出されたマイクロ
命令MOの命令種別を解読する処理、アドレスを計算す
る処理、オペランドを取り出す処理、命令を実行する処
理などを処理サイクル毎に並行して行う。また、実行処
理部3は、マイクロ命令MOの命令種別が条件分岐命令
のとき、与えられた条件の成立、非成立を判定する実行
処理を行い、その判定結果信号SJを出力する。なお、
実行処理部3には、図示しない複数の#φ〜#mまでの
レジスタおよび少なくとも1つのカウンタが備えられて
いるとともに、データバスを介してメモリなどのIlo
が接続され、命令の実行処理に従ってメモリおよびレジ
スタ間のデータの授受や、カウンタ値の操作等が行われ
る。
次に、作用を説明する。
第1図において、命令取り出し処理部2におけるマイク
ロ命令MOの取り出し動作は以下のようにして行われる
。すなわち、所定のマイクロ命令MOが取り出されると
、このマイクロ命令MOに対応したネタストアドレス情
報NAが出力され、ネタストアドレス情報NAは選択手
段6の入力端子6aに加えられる。このとき、判定結果
信号S、が非分岐側を示していれば、出力端子6Cには
ネクストアドレス情報NAがアドレス情報ADとして出
力されている。したがって、マイクロ命令MOの取り出
し処理(以下、処理1)においては、判定結果信号S、
が非分岐側を示している間、ネタストアドレス情報NA
がアドレス情報ADとして再びマイクロROM4に加え
られるといったループを繰り返し、いわゆるネタストア
ドレス型のマイクロ命令取り出し処理が行われて、処理
サイクル毎にマイクロ命令MOが連続して取り出されて
いく。
一方、実行処理部3における分岐条件の判定処理(以下
、処理3)の結果、分岐が成立したとき、この分岐成立
を示す判定結果情報S、に従って選択手段6は分岐先ア
ドレス情報BNAを選択し、この分岐先アドレス情IB
NAをアドレス情報ADとして出力する。したがって、
マイクロROM4からは分岐先アドレス情報BNAで指
定された分岐先命令が取り出され、実行処理部3は取り
出された分岐先命令に従って必要な処理を実行する。
第2図は例えばLDM命令処理時のパイプライン処理の
概念図である。第2図において、処理1はマイクロ命令
の取り出し処理を、処理2はマイクロ命令の解読処理お
よび一部の実行処理を、処理3はマイクロ命令の例えば
条件判定の実行処理をそれぞれ表し、また、四角枠内の
アルファベラ)A、B、XはLDM命令に相当するマイ
クロ命令を表している。例えば、Aはカウンタに初期値
(例えば、3)をセントする命令、Bはカウンタ値に対
応した番号のレジスタにメモリからのデータを格納する
とともに、カウンタをデクリメントする非分岐側命令、
Xは条件成立時にLDM命令の処理を終了する分岐先命
令である。
処理lにおいて、実行処理部3からの判定結果信号S、
が非分岐側を示しているので、ネタストアドレス情報N
Aで指定されたマイクロ命令MOが処理サイクル毎に連
続して取り込まれている。
すなわち、Aの命令とこのAの命令の右側に連続する各
ループ毎のBの命令である。Aの命令は、処理2におい
て、カウンタ値を初期値(例えば3)にセットする。B
の命令は、第1のループの処理2において、メモリから
データを読み出すとともに、カウンタ値をデクリメント
し、処理3において、読み出したデータをカウンタ値に
対応する#2レジスタに格納する。そして、処理3にお
いては、カウンタ値が“0”に到達したか否かの判定を
合わせて行い、到達の場合には判定結果信号S、を分岐
成立を示す信号として出力し、一方、到達していない場
合には、判定結果信号S、を非成立を示す信号として出
力する。すなわち、第1のループの処理3においては、
カウンタ値がまだ2であるから、分岐が成立せず判定結
果信号S。
は非分岐を示す信号として出力される。これにより、マ
イクロROM4からはネクストアドレス情報NAで指定
された非分岐側のBの命令が取り出され、第2のループ
が行われる。そして、第2のループの処理2.3におい
ても、第1のループと同様にカウンタ値のデクリメント
、データの格納および条件判定が行われ、このようなル
ープはカウンタ値が“0”に到達するまで繰り返して行
われる。その結果、カウンタ値が“0”となった時点で
#φ〜#2のレジスタの全てにメモリからのデータが格
納され、LDM命令の処理が完了することとなる。すな
わち、第3のループの処理3でカウンタ値が10″とな
るので、この処理3で分岐のための条件が成立し、分岐
を示す判定結果信号S、が出力される。
選択手段6はこの判定結果信号S、に従って分岐先アド
レス情報BNA側の入力端子6bを選択し、BNAをア
ドレス情報ADとしてマイクロROM4に加え、マイク
ロROM4からは、BNAで指定された分岐先の命令(
Xの命令)が取り出される。そして、以降の処理は、こ
のXの命令について行われ、例えば、処理が中止された
り、あるいは他の処理が開始される。なお、第3のルー
プの処理3で分岐のための条件が成立したとき、並行し
て行われている第4のループの処理2はキャンセルされ
、無効となる。
このように本実施例では、処理3において、分岐条件の
成立、非成立の判定を行うとともに、この判定の結果を
示す判定結果信号S、を選択手段6に出力し、分岐非成
立時、ネタストアドレス情報NAを選択してマイクロR
OM4に加える一方、分岐成立時、分岐先アドレス情報
BNAを選択してマイクロROM4に加えている。した
がって、分岐非成立時には、処理1におけるマイクロ命
令MOの取り込み動作が途切れることなく連続して行わ
れ、パイプライン処理の効果を有効に発揮して高速化を
図ることができる。なお、分岐成立時には、NAからB
NAへの切り換えによって1処理サイクル分の空白が生
じるが、分岐成立は複数ループのうちの一度であるから
、非分岐時の高速化効果に対して1処理サイクル分の空
白は影響が小さく、問題とならない。
〔発明の効果〕
本発明によれば、条件分岐命令の処理中であっても、パ
イプライン処理を有効に行うことができ、処理速度の低
下しないデータ処理装置を実現することができる。
【図面の簡単な説明】
第1.2図は本発明に係るデータ処理装置の一実施例を
示す図であり、 第1図はその要部のブロック図、 第2図はそのパイプライン処理の概念図、第3〜6図は
従来のデータ処理装置を説明する図であり、 第3図はその逐次処理を示す概念図、 第4図はその命令実行制御におけるパイプライン処理を
示す概念図、 第5図はそのマイクロプログラム制御におけるパイプラ
イン処理を示す概念図、 第6図はその問題点を説明するための概念図である。 3・・・・・・実行処理部(解読手段、実行手段)、4
・・・・・・マイクロROM (格納手段、第1のアド
レス発生手段)、 5・・・・・・マイクロROMBNA <第2のアドレ
ス発生手段)、 6・・・・・・選択手段。

Claims (1)

  1. 【特許請求の範囲】 条件分岐命令および該条件分岐命令の分岐先命令を含む
    複数のマイクロ命令を格納し、アドレス指定により各マ
    イクロ命令が取り出される格納手段と、 該格納手段から一つのマイクロ命令が取り出されると、
    次に取り出すマイクロ命令のアドレスを発生する第1の
    アドレス発生手段と、 取り出されたマイクロ命令の命令種別を解読する解読手
    段と、 解読された命令種別が条件分岐命令のとき、条件の成立
    、非成立を判定する処理を実行する実行手段と、 条件分岐命令の分岐先命令のアドレスを発生する第2の
    アドレス発生手段と、 条件の非成立時には第1のアドレス発生手段を選択する
    一方、条件の成立時には第2のアドレス発生手段を選択
    して格納手段にマイクロ命令取り出しのためのアドレス
    を与える選択手段と、を備えたことを特徴とするデータ
    処理装置。
JP62333720A 1987-12-29 1987-12-29 データ処理装置 Expired - Lifetime JPH0812599B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62333720A JPH0812599B2 (ja) 1987-12-29 1987-12-29 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62333720A JPH0812599B2 (ja) 1987-12-29 1987-12-29 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01175633A true JPH01175633A (ja) 1989-07-12
JPH0812599B2 JPH0812599B2 (ja) 1996-02-07

Family

ID=18269204

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62333720A Expired - Lifetime JPH0812599B2 (ja) 1987-12-29 1987-12-29 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0812599B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5423343A (en) * 1977-07-22 1979-02-21 Nec Corp Microprogram controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5423343A (en) * 1977-07-22 1979-02-21 Nec Corp Microprogram controller

Also Published As

Publication number Publication date
JPH0812599B2 (ja) 1996-02-07

Similar Documents

Publication Publication Date Title
US5357617A (en) Method and apparatus for substantially concurrent multiple instruction thread processing by a single pipeline processor
US4187539A (en) Pipelined data processing system with centralized microprogram control
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH1124929A (ja) 演算処理装置およびその方法
JPH02227769A (ja) データ処理システム
US20140052972A1 (en) Meta predictor restoration upon detecting misprediction
US5274777A (en) Digital data processor executing a conditional instruction within a single machine cycle
JPH02227730A (ja) データ処理システム
JPS63317828A (ja) マイクロコ−ド読み出し制御方式
US5349671A (en) Microprocessor system generating instruction fetch addresses at high speed
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPH01175633A (ja) データ処理装置
JP2503984B2 (ja) 情報処理装置
JP3512707B2 (ja) マイクロコンピュータ
JPH06131180A (ja) 命令処理方式および命令処理装置
JPS59501426A (ja) 次段アドレスの計算を前もつて実行する機構
JP2636192B2 (ja) 情報処理装置
JPH01271840A (ja) マイクロコンピュータ
JPS6389930A (ja) マイクロプログラム制御装置
JP3493110B2 (ja) 高速分岐処理装置
JPS63141131A (ja) パイプライン制御方式
JP2924735B2 (ja) パイプライン演算装置及びデコーダ装置
JP2925842B2 (ja) パイプライン処理装置
JP2982129B2 (ja) マイクロプログラム制御装置