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

データ処理装置

Info

Publication number
JPH01258131A
JPH01258131A JP8653788A JP8653788A JPH01258131A JP H01258131 A JPH01258131 A JP H01258131A JP 8653788 A JP8653788 A JP 8653788A JP 8653788 A JP8653788 A JP 8653788A JP H01258131 A JPH01258131 A JP H01258131A
Authority
JP
Japan
Prior art keywords
branch
register
timing
microprogram
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
JP8653788A
Other languages
English (en)
Other versions
JPH0750437B2 (ja
Inventor
Yoshihiro Nakajima
義博 中島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP63086537A priority Critical patent/JPH0750437B2/ja
Publication of JPH01258131A publication Critical patent/JPH01258131A/ja
Publication of JPH0750437B2 publication Critical patent/JPH0750437B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、制御記憶に格納されているマイクロプログラ
ムで制御されるデータ処理装置に関する。
(従来の技術) 第5図はこの種のデータ処理装置の従来例の要部のブロ
ック図、第6図は第5図中の分岐判定ロジック4のブロ
ック図、第7図はマイクロプログラムのフローチャート
、第8図は本従来例のタイミングチャートである。
制御記憶1は、マイクロプログラムが格納されており、
マイクロプログラムアドレスを保持するレジスタ2の最
下位ビットを除いた部分でアクセスされる。また、制御
記憶1は偶数アドレスのマイクロプログラムを格納する
ものと、奇数アドレスのマイクロプログラムを格納する
ものとの2つに分かれており、分岐判定ロジック4の出
力である選択信号101でいづれかが選択されてその出
力がレジスタ3に保持される。レジスタ3の各フィール
ドの出力が直接例々の回路(図示ゼず)を同時に制御し
、マイクロプログラムを実行することになる。レジスタ
3のフィールドの1つは更にデコーダ5を引き、その出
力がレジスタ6に保持され、このレジスタ6の各フィー
ルドの出力が他の個々の回路(図示せず)を同時に制御
する。
分岐条件を保持するレジスタ7はレジスタ6のフィール
ドの1つで制御される。レジスタ2は保持しているアド
レスでアクセスしたマイクロプログラム中のネクストア
ドレスが次のタイミングでセットされ、これにより順次
マイクロプログラムが実行されていく。
分岐判定ロジック4は、第5図に示すように、レジスタ
3に保持されている分岐判定コマンドGo−C3とレジ
スタ7の出力5o−83のそれぞれの論理積をとるアン
ドゲート21〜24と、アンドゲート21〜24の出力
の論理和をとるオアゲート26と、レジスタ2の最下位
ビットを入力とするアンドゲート25と、アンドゲート
25とオアゲート26の各出力の論理和をとるオアゲー
ト27とで構成されており、オアゲート26゜27でレ
ジスタ2の最下位ビットを修飾する。これにより、マイ
クロプログラムアドレスを偶数(レジスタ2(アドレス
C8A))の最下位ビット= II OIIにしておけ
ば、Co−C3とSo〜S3の値によりC3AとC3A
+1に分岐することができる。分岐しないときはCo 
”−03が全て値“O″でありC8A最下位ビットを修
飾することはない。
次に、本従来例の動作を第7図、第8図により説明する
タイミングT1でレジスタ7を更新するコマンドを発行
すると実際にレジスタ7が確定するのはT4のタイミン
グとなる。T4で確定するレジスタ7の条件で分岐する
にはタイミングT3で分岐判定コマンドを発行すること
になる。それはT4のタイミングのレジスタ3の上のC
o=03とレジスタ7上の5o=83の値によってT5
のタイミングでのレジスタ3がDとなるかD+1となる
かが決まるからである。
この条件分岐の方式では、分岐条件が確定するまで分岐
判定コマンドを持ち合わせるため“「2のタイミングで
N OP (No 0pration :何ちL/ %
 イコマンド)を発行する必要があり、分岐処理が遅く
なると同時にムダなマイクロプログラムステップが増え
ることになる。
〔発明が解決しようとする課題〕
上述した従来の条件分岐方式は、分岐条件が確定するタ
イミングで分岐判定コマンドを発行し分岐しているが、
分岐条件を更新してその結果で分岐するケースは分岐条
件が確定するまで分岐判定を持ち合わせる必要があり分
岐処理が遅くなるという欠点があり、また持ち合わせの
ためのムダなステップが増えてしまうという欠点がある
(r!1題を解決するための手段) 本発明のデータ処理装置は、 マイクロプログラムのシーケンスがある条件で分岐する
場合、分岐条件が確定する前に分岐判定コマンドを発行
し、予測する方向に分岐させる手段と、 分岐条件が確定したタイミングで予測した分岐方向が正
しいか否かを判断する手段と、分岐を再度実行するため
の分岐マイクロプログラムアドレスを保持するレジスタ
と、 予測した分岐方向が正しくない場合、予測した方向の処
理を無効化し、前記レジスタを用いて正しい分岐方向か
らの処理を開始させる手段とを有している。
〔作用〕
分岐条件が確定する前に分岐判定コマンドを発行し分岐
するので分岐条件を更新してその結果で分岐するケース
では分岐条件が確定するまで分岐判定を持ち合わせる必
要がなくなり、1タイミング速く分岐を実行でき持ち合
わせのためのムダなステップを削減することができる。
なお、レジスタは分岐予測時、次のタイミングで正しい
分岐先へ分岐するために設けられている。
〔実施例〕
次に、本発明の実施例について図面を参照して説明する
第1図は本発明のデータ処理装置の一実施例の要部を示
すブロック図、第2図は第1図の分岐判定ロジック4,
10のブロック図、第3図は本実施例におけるマイクロ
プログラムのフローチャート、第4図は第3図のマイク
ロプログラムを実行した場合のタイミングチャートであ
る。
本実施例は、第5図の従来例に、レジスタ8゜9と、分
岐判定ロジック10と、セレクタ11を付加した構成と
なっている。
レジスタ9は分岐判定コマンドを受けるレジスタであり
、レジスタ7が確定するタイミングで分岐判定コマンド
を保持する。分岐判定ロジック4および10は、第2図
に示すように、第6図の従来の回路にアンドゲート28
と入力信号Vが追加されており、入力4R@ Vの値が
“1°゛のとぎは従来の分岐判定ロジックと同じになり
、入力信号■の値が0″のときはセレクタ2の最下位ビ
ットを修飾しないようになっている。
また、第1図において、レジスタ8は1タイミング前の
レジスタ2の値を保持するレジスタであり、分岐判定ロ
ジック10からの出力102によりセレクタ11でレジ
スタ2かレジスタ8のいづれかが選択される。
次に、本実施例の動作を第3図、第4図を用いて説明す
る。
(1)分岐予測成功時(第4図(a))。
タイミングT1でレジスタ7更新コマンドを発行すると
、レジスタ7はタイミングT4で確定する。分岐判定コ
マンドはタイミングT2で発行するとタイミングT3で
レジスタ3にセットされる。
本来なら該コマンドとまだ確定していないレジスタ7の
値と分岐判定ロジック4によりT4のタイミングでレジ
スタ3に第3図で示すところのステップCかステップC
+1のいづれがセットされるかが決まる(つまり分岐が
実行される)わけであるが、分岐判定コマンドはレジス
タ9が一度受けてからT5のタイミングで実行されるの
で、T4のタイミングでは無条件にステップCがレジス
タ3にセットされる。このことは分岐をステップC側に
予測したことを意味する。そして、T4のタイミングで
レジスタ9に分岐コマンドが、レジスタ7に分岐条件が
確定し、T5のタイミングで分岐判定ロジック10によ
り分岐予測が成功したか失敗したかが分かる。分岐判定
ロジック10の出力が“0″であれば分岐予測が成功し
たことになり、分岐判定ロジック10の出力が“0”を
分岐判定ロジック4に入力信号Vとして入力することで
−「5のタイミングで実行される分岐を抑止し、T6の
タイミングでレジスタ3にステップCの後続のステップ
Xをセットする。これにより、従来に比べて1タイミン
グ速く分岐を実行できる。
(2)分岐予測失敗時(第4図(b))前述したように
T6のタイミングで分岐予測が成功したか失敗したかが
分かるが、分岐判定ロジック10の出りが“1′°であ
れば分岐予測が失敗したことになる。何故なら分岐判定
ロジック10の出力が1″であると古うことはレジスタ
2の最下位ビットを“1′°に修飾することであり、第
3図で示すところのステップC+1に分岐することにな
るからである。分岐予測失敗時は、分岐判定ロジック1
0の出力103で直ちにレジスタ3の各フィールドの制
御信号を無効化し、次のタイミングTθでレジスタ6の
各フィールドの制御信号を無効化して分岐予測が失敗し
たステップCの実行を抑止する。ステップCを無効化す
ると同時にT5のタイミングでは、分岐判定コマンドと
確定しているレジスタ7の値を分岐判定ロジック4で正
しく分岐し直すことになるが、T4のタイミングでレジ
スタ2はステップXのアドレスを保持してしまい分岐先
のアドレスがX+1になってしまう。これを回避するた
めにレジスタ8が設けられている。レジスタ8は1タイ
ミング前のレジスタ2の値(TaのタイミングではC)
を保持しており、T5のタイミングで正しく分岐し直す
とき信号線102とセレクタ11によりレジスタ8を選
択することにより、正しくステップC+1へ分岐するこ
とができる。
以上説明したことにより分岐の処理を予測が成功すれば
1タイミング高速に実行でき、またムダなマイクロプロ
グラムステップも要らなくなる。
一般にマイクロプログラムの作りとして分岐先を予測す
ることは容易であるケースが多い。例えばマイクロプロ
グラムがループを構成している場合、ループから抜は出
す分岐はループを続ける分岐に対して頻度が少ないとい
うケースがある。このケースではループを続ける分岐先
アドレスを偶数に、ループから抜は出す分岐先アドレス
を奇数にしておけば高い確率で分岐予測が成功する。
なお、本実施例では分岐は2方向の場合を説明したが、
多方向分岐の場合も同様に高速化できる。
〔発明の効果〕
以上説明したように本発明は、分岐条件が確定する前に
分岐判定コマンドを発行することにより、マイクロプロ
グラムの分岐処理を高速に実行でき、ムダなマイクロプ
ログラムのステップを削除することができる効果がある
【図面の簡単な説明】
第1図は本発明のデータ処理装置の一実施例の要部を示
すブロック図、第2図は第1図の分岐判定ロジック4.
10のブロック図、第3図は本実施例におけるマイクロ
プログラムのフローチャート、第4図は第3図のマイク
ロプログラムを実行した場合のタイミングチャートであ
る。第5図はデータ処理装置の従来例の要部のブロック
図、第6図は第5図中の分岐判定ロジック4のブロック
図、第7図はマイクロプログラムのフローチャート、第
8図は本従来例のタイミングチャートである。 1・・・制御記憶、 2.3.6.7.8.9・・・レジスタ、4.10・・
・分岐判定ロジック、 5・・・デコーダ、 11・・・セレクタ、 101〜103・・・信号線、 21〜25.28・・・アンドゲート、26.27・・
・オアゲート。 特許出願人 日 本 電 気株式会社 代 理 人 弁理士 内 原    晋第1図 第2図 第3図 (a) (b) 45図

Claims (1)

  1. 【特許請求の範囲】 1、制御記憶に格納されたマイクロプログラムで制御さ
    れるデータ処理装置において、 マイクロプログラムのシーケンスがある条件で分岐する
    場合、分岐条件が確定する前に分岐判定コマンドを発行
    し、予測する方向に分岐させる手段と、 分岐条件が確定したタイミングで予測した分岐方向が正
    しいか否かを判断する手段と、 分岐を再度実行するための分岐マイクロプログラムアド
    レスを保持するレジスタと、 予測した分岐方向が正しくない場合、予測した方向の処
    理を無効化し、前記レジスタを用いて正しい分岐方向か
    らの処理を開始させる手段とを有することを特徴とする
    データ処理装置。
JP63086537A 1988-04-08 1988-04-08 データ処理装置 Expired - Lifetime JPH0750437B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63086537A JPH0750437B2 (ja) 1988-04-08 1988-04-08 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63086537A JPH0750437B2 (ja) 1988-04-08 1988-04-08 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01258131A true JPH01258131A (ja) 1989-10-16
JPH0750437B2 JPH0750437B2 (ja) 1995-05-31

Family

ID=13889749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63086537A Expired - Lifetime JPH0750437B2 (ja) 1988-04-08 1988-04-08 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0750437B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5915743A (ja) * 1982-07-20 1984-01-26 Matsushita Electric Ind Co Ltd 住宅設備システム
JPS59206947A (ja) * 1983-05-10 1984-11-22 Nec Corp マイクロプログラム制御装置
JPS6015743A (ja) * 1983-07-07 1985-01-26 Nec Corp マイクロプログラム制御装置
JPS60206947A (ja) * 1984-03-30 1985-10-18 Nissan Motor Co Ltd 車両用アクセル制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5915743A (ja) * 1982-07-20 1984-01-26 Matsushita Electric Ind Co Ltd 住宅設備システム
JPS59206947A (ja) * 1983-05-10 1984-11-22 Nec Corp マイクロプログラム制御装置
JPS6015743A (ja) * 1983-07-07 1985-01-26 Nec Corp マイクロプログラム制御装置
JPS60206947A (ja) * 1984-03-30 1985-10-18 Nissan Motor Co Ltd 車両用アクセル制御装置

Also Published As

Publication number Publication date
JPH0750437B2 (ja) 1995-05-31

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US4858104A (en) Preceding instruction address based branch prediction in a pipelined processor
US3728692A (en) Instruction selection in a two-program counter instruction unit
US4409654A (en) Data processor adapted for interruption to an instruction stream
US4775927A (en) Processor including fetch operation for branch instruction with control tag
JPS633337B2 (ja)
US4541047A (en) Pipelined data processing system
EP0093430A2 (en) Pipeline data processing system
EP0378415A2 (en) Multiple instruction dispatch mechanism
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
US3553655A (en) Short forward conditional skip hardware
US3644900A (en) Data-processing device
KR920006770B1 (ko) 명령을 페치(fetch)하기 위한 제어 시스템
JPH01258131A (ja) データ処理装置
JPS6116335A (ja) 情報処理装置
JP3082944B2 (ja) パイプライン処理装置
JP3100705B2 (ja) マイクロプロセッサ内の命令準備のための装置
JP2845578B2 (ja) 命令制御方式
JP2771373B2 (ja) 命令先取り装置
JP2591325B2 (ja) 分岐制御装置
JPH02103629A (ja) データ処理システム
JPH07219771A (ja) 命令プロセッサ
JPH01175635A (ja) データ処理装置
JPH09101890A (ja) パイプライン演算装置及びデコーダ装置
JPS61170830A (ja) レジスタ参照方法