JPS61127035A - パイプライン制御プロセッサ - Google Patents

パイプライン制御プロセッサ

Info

Publication number
JPS61127035A
JPS61127035A JP24811384A JP24811384A JPS61127035A JP S61127035 A JPS61127035 A JP S61127035A JP 24811384 A JP24811384 A JP 24811384A JP 24811384 A JP24811384 A JP 24811384A JP S61127035 A JPS61127035 A JP S61127035A
Authority
JP
Japan
Prior art keywords
counter
instruction
address
instructions
series
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
JP24811384A
Other languages
English (en)
Other versions
JPH0685146B2 (ja
Inventor
Hirotada Ueda
博唯 上田
Makoto Shinoda
誠 信田
Hitoshi Matsushima
整 松島
Kenji Kaneko
金子 憲二
Yoshimune Hagiwara
萩原 吉宗
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59248113A priority Critical patent/JPH0685146B2/ja
Publication of JPS61127035A publication Critical patent/JPS61127035A/ja
Publication of JPH0685146B2 publication Critical patent/JPH0685146B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、a返し制御を高速に実行するプロセッサに関
するものである。
〔発明の背景〕
パイプライン制御のプロセッサにおいて、従来より演算
の繰返し制御の高速化が問題となっている。
これに対し、従来のプロセッサは、8086マイクロコ
ンピユータ(田辺晧正編著丸善)に記載のように、LO
OP命令とREP命令を使い繰返し制御を行なっている
例がある。命令フェッチを行ない。
次の命令サイクルで、この命令実行と次の命令フェッチ
をするようなプロセッサの上でLOOP命令を実行する
場合について単純化して示すと次のようになる。繰返し
数をあらかじめリピート・カウンタ(RC)に設定する
ことにより、任意ステップの繰返し制御が可能となるが
、a返される一連命令の最後でジャンプ命令が実行され
、本来実行させたい一連命令のパイプライン制御が崩れ
、余分な命令が付属した低速な繰返し制御となってしま
う。すなわち、第1図に示すようにプログラム・カウン
タで示すn、n+1番地の一連命令の繰返し制御を行な
う場合、一連合会を一回実行終了した後にLOOP命令
を実行させる。このLOOP命令では、リピート・カウ
ンタを1デクリメントし、この値が零であるか否かを判
定することにより設定された繰返し回数を終了したかど
うかを知り、繰返しが終了していない場合にはループの
先頭番地ヘジャンプし、そうでないときは、次の命令に
進むという動作を実行する。このLOOP命令を実行し
ている時間にプログラム・カウンタは、n+3番地を指
定している為、次の命令サイクルでは、n+3番地の命
令実行を停止させ(NOPが発生する)、ジャンプ先の
アドレスをロードさせ、命令の繰返しを行なう。これに
対し、LOOP命令を使わないで繰返し制御を行ないう
るようにしたREP命令について単純化して示すと第2
図のようになる。この図でわかるように、RFP命令の
実行中でのプログラム・カウンタは、リピート・カウン
タが零になる迄、n番地に固定され、パイプライン動作
を保ちつつ連続実行される。しかし、8086等従来プ
ロセッサの場合、この命令は、単一ステップのみの繰返
し命令であり、しかも繰返し動作をさせることができる
命令の種類は限定されている。
〔発明の目的〕
本発明の目的は、このような従来の欠点を改良し、任意
ステップ数の命令の繰返しが出現する場合にも高速実行
できるプロセッサを提供することである。
〔発明の概要〕
本発明のプロセッサは、一連の命令の繰返し数を示すリ
ピート・カウンタを有し、該一連合会の最初の番地を保
存するスタート・アドレス・レジスタを追加し、かつ該
一連合会の実行を監視する手段を設け、該一連合会の最
後の命令を検知したときに遅延なくスタート・アドレス
に戻るように制御することにより上記の目的を達成する
〔発明の実施例〕
以下、本発明の実施例を図面により説明する。
第3図は、本発明の動作原理を示すタイムチャートであ
る。
第3図において、繰返し実行したい一連の命令は、n、
n+1番地の2ステツプの命令であり、これらの命令を
2回繰返す場合を示している。本発明では、ジャンプ命
令およびパイプライン動作の崩れをなくし、処理に有効
な任意ステップ数の一連命令だけを繰返し実行する。第
1図と比較すると、同様のループ制御を行なうのに余分
の2ステツプが必要だったものが、正置の2ステツプだ
けを効率よく実行していることがわかる。この動作を達
成する為、一連合会の実行前に、まず繰返し回数をリピ
ート・カウンタに設定し、かつ一連合会の直前でそのス
テップ数より1少い数をステップ・カウンタに設定し更
に一連命令の最初のアドレスをスタート・アドレス・レ
ジスタに退避する。次に一連命令は、プログラム・カウ
ンタで順次指定されて実行され、これと同期して一連命
令の未完行ステップ数を示すステップ・カウンタがデク
リメントされる。また、一連合会の最終ステップを検出
する為に、ステップ・カウンタの動作毎にその値が零で
あるか否かを判定される。この判定信号(1)が肯定出
力(第3図ではハイレベル)であった場合だけ、リピー
ト・カウンタの内容(繰返し回数)が1だけデクリメン
トされ、否定出力の場合は、リピートカウンタの内容は
変化しな今。更に、設定された繰返し回数が終了したか
否かを判定する為にリピート・カウンタの動作後にその
値が調べられる。この判定信号(2)から否定出力(第
3図ではロー・レベル)が得られかつ判定信号(1)が
肯定出力であった場合には、次のステップに進む前にプ
ログラム・カウンタに一連命令の最初の番地がスタート
・アドレス・レジスタからロードされ、かつステップ・
カウンタに一連命令のステップ数より1少い数が再びロ
ードされる。このようにして一連合会が繰返して実行さ
れる。一方、繰返しが設定数に達して判定信号(2)か
ら肯定出力が得られた場合は、プロ握ラムカウンタは通
常と同じように1ずつ進行し。
一連合会の次の命令が実行される。
第4図は、本発明の一実施例を示すリピート制御部のブ
ロック図である。
1はプログラム・カウンタ、2はプログラム・カウンタ
1の出力バスであって、マイクロプログラム・メモリ3
に接続される。プログラムのシーケンシャルな実行時に
は、プログラム・カウンタ1を1インクリメントしつつ
マイクロプログラム・メモリ3を指定しプログラムが進
行される。
4はデータバスで、リピート・カウンタ5とステップ・
カウンタ7に接続されていて各カウンタへの値の設定に
使われる。5は一連命令の繰返し数を示すリピート・カ
ウンタである。更に本実施例では、繰返される一連命令
のステップ数を示すステップ・カウンタ7と、その数を
保存するステップ・レジスタ9と、最終ステップを検出
するのに使われる判定回路11と、繰返し回路が設定値
に達したかを判定する判定回路13と、一連命令の最初
のアドレス値を保存するスタート・アドレス・レジスタ
15を設ける。
以上のハードウェアの動作を第3図に示すタイムチャー
トに従い、n、n+1番地の2ステツプ数の一連命令を
2回繰返す場合で説明する。一連命令の繰返し制御を行
なう場合には、一連命令の実行の前に2つの命令が必要
となる。その1つは。
繰返し回数をリピート・カウンタ5に設定する命令(第
3図のn−2番地の命令)であり、もう1つは、繰返し
制御される一連命令のステップ数をステップ・カウンタ
7に設定する命令(第3図のn−1番地の命令)である
初めに、プログラム・カウンタ1がn−1を示している
命令サイクルでは、n−2番地の命令が実行されリピー
ト・カウンタ5に繰返し回数2が設定される0次にプロ
グラム・カウンタ1の値がインクリメントされn番地を
示している命令サイクルでは、繰返し制御される一連命
令のステップ数より1少ない数値1がステップ・カウン
タ7とステップ・レジスタ9にセットされ、かつ判定回
路11と判定回路13がLowレベル(否要出力)にリ
セットされる。また、ステップ・カウンタ7への数値の
設定命令は、この命令(n−1番地)の次の命令(n番
地)から一連命令であることを示し、現在のプログラム
・カウンタ1のアドレス値nがスタート・アドレス・レ
ジスタ15に退避されかつステップ・カウンタ7は、(
見易さのために第4図では省略したグロックによって)
プログラムカウンタ1のインクリメントと同期し、デク
リメントする状態となる。次にプログラム・カウンタ1
がインクリメントされn+1番地を示すと同時に、ステ
ップ・カウンタ7の値がデクリメントされ零となり、こ
の零を判定回路11が検出し、次の命令サイクルで実行
されるn+1番地の命令が一連命令の最終ステップであ
ることがわかり、出力12は肯定出力(Hightレベ
ル)となる。
また、この背定出力によりリピート・カウンタ5はデク
リメントされ値1となる。したがって、リピート・カウ
ンタ5の値が零であるか否かを検出し設定繰返し回数に
達したか否かを判定する判定回路13は、否定出力(L
owレベル)を出したままとなる。更に、今の場合(判
定回路11の肯定出力と判定回路13の否定出力両方が
得られた場合)には、プログラム・カウンタ1にスター
ト・アドレス・レジスタ15の値nがロードされる。
また判定回路11の肯定出力かつ判定回路13の否定出
力からステップ・レジスタ9の値1がステップ・カウン
タ7にロードされ、かつ判定回路11の出力12はLo
wレベルにリセットされる。
そしてプログラムカウンタ1のロードが生じた次の命令
サイクルの最初では、プログラム・カウンタ1及びステ
ップ・カウンタ7はインクリメントされないように制御
する。
こうして、次のサイクルでは、n番地の命令がフェッチ
されると同時に、前にフェッチされたn+1番地の命令
が実行される。
次に、プログラム・カウンタ1がインクリメントされn
+1番地を示す命令サイクルでは、n番地の命令が実行
される。このプログラム・カウンタ1のインクリメント
と同時にステップ・カウンタ7はデクリメントされ零と
なる。この零を判定回路11が検出し、再びn+1番地
の命令が一連命令の最終ステップであることがわかり、
出方12は肯定出力となる。また、この肯定出力により
リピート・カウンタ5はデクリメントされ零となる。し
たがって1判定回路13はこの零を検出し繰返し数が設
定値に達したことがわかり肯定出、力が得られ、繰返し
制御は終了し、以後はプログラム・カウンタ1が1ずつ
インクリメントされ順次命令を実行する。
第5図は、プログラム・カウンタのまわりを更に詳細に
説明する図である。この図では、第4図の回路に更に、
クロック禁止信号回路18と、ANDゲート21,23
.26と、NOTゲート28が詳細に示されている6前
述の判定回路11の判定信号12が肯定出力であり、か
つ判定回路13の判定信号14が否定出力である場合に
は、ゲート21の出力22はHigbレベル(繰返し未
終了を示す)となる、更にこの信号22のHighレベ
ルにクロックζ (クロックφを発生する回路でクロッ
クφを整形、遅延して得る)が入力された時のゲート2
3の出力信号24によりスタート・アドレス・レジスタ
15のアドレス値nがプログラム・カウンタ1にロード
される。またゲート出力 。
22はクロック禁止信号回路18(例えば遅延回路を用
いる)に入力され、クロック禁止信号19(第3図に示
す)が得られる。この禁止信号19は、クロックφ20
と共にゲート26に入力され、禁止信号19がLowレ
ベルの時間ではクロック20がプログラム・カウンタ1
に入力されるのが阻止され、プログラム・カウンタ1の
アドレス値nは維持される。第6図は、ステップ・カウ
ンタ7のまわりを詳細に示す図である。この図では、第
4図に加え、リピート・フラグ30とANDゲート33
.35’、37.39が詳細に示されている。リピート
・フラグ30は、ステップ・カウンタ7に繰返し制御さ
れる一連命令のステップ数がセットされる時に同時にH
ighレベルにセットされ(繰返し終了時にリセットさ
れる)、その出力32はクロック20と共にゲート33
に入力され、ステップ・カウンタ7のデクリメント用の
クロック信号34が発生される。また、前述のように、
繰返し未終了時には信号22(第5図のゲート21の出
力)は)lighレベルとなる為、ANDゲート37の
出力として信号36(リピート制御時だけクロックζを
取り出すゲート35の出力)と同期した信号38が得ら
れ、ステップ・レジスタ9の値がステップ・カランタフ
にロードされ、かつ判定回路11は、Lowレベルにリ
セットされる。
また、ステップ・カウンタ7へのロード時には、第3図
に示すクロック禁止信号19がゲート39に入力され、
ステップ・カウンタ7のデクリメント用のクロック信号
34は阻止される。なお、第5.6図は、動作論理を示
したものであり、回路実現に際して生じるハザードなど
の対策については省略している。
したがって本発明では、第1図に示すLOOPとNOP
の実行時間を必要とせず、任意ステップ数の命令の高速
な繰返し制御が可能となる。
なお、本実施例では、判定回路11及び判定回路13の
判定条件を零としたが、零を越えた場合とすることも可
能である。また、本実歯側では、一連命令の最終ステッ
プを知る為にステップ・カウンタ7の値をデクリメント
とし、この値が零となる場合に最終ステップ数であると
判定したが、第3図のn−1番地の命令で一連命令のス
テップ数をステップ・レジスタ9に入れ、かつステップ
・カウンタ7を零にしておき、一連命令の実行毎にプロ
グラム・カウンタと同期しながら、ステップ・カウンタ
7をインクリメントし、判定回路11でステップ・カウ
ンタ7の値とステップ・レジスタ9の値を比較し1等し
い場合には最終ステップであると判断することも可能で
ある。
〔発明の効果〕
本発明によれば、パイプライン制御のマイクロプログラ
ムに対して、任意ステップ数の一連命令が繰返し実行で
き、かつジャンプ命令の実行を必要としないので、特に
画像処理のように、一連命令のステップ数があまり大き
くなく、かつ繰返し回数の多い処理を行なう場合に対し
て著しい効果がある。
【図面の簡単な説明】
第1図は従来のLOOP命令を応用した場合の動作タイ
ムチャート、第2図は従来のRFP命令を応用した場合
の動作タイムチャート、第3図は本発明の動作原理を示
すタイムチャート、第4図は本発明の一実施例を示す繰
返し制御部の構成図、第5図はプログラム・カウンタ部
の詳細図、第6図はステップ・カウンタ部の詳細図であ
る。 1・・・プログラム・カウンタ、3・・・マイクロプロ
グラム・メモリ、5・・・リピート・カウンタ、15・
・・スタート・アドレス・レジスタ、7・・・ステップ
・カウンタ・9°゛°ステツプ°′ジ1り・ 11・1
3    口・・・判定回路、18・・・クロック禁止
信号回路、30   〜ヘ     t V4因

Claims (1)

  1. 【特許請求の範囲】 1、命令群の繰返し回数を示すカウンタを備えたプロセ
    ッサに、繰返される命令群の最初の番地を保存するスタ
    ート・アドレス・レジスタを付加し、命令群の最後の命
    令であることを検知する手段を有し、設定した繰返し回
    数に達せず、かつ最後の命令である場合には、上記スタ
    ート・アドレス・レジスタの値をプログラム・カウンタ
    にロードする手段を用い、ループ制御を可能にする繰返
    し制御回路を有するプロセッサ。 2、前記第1項に示す命令群の最後の命令であることを
    検知する手段は、命令毎に増加もしくは減少する計数手
    段と、その計数値あらかじめ設定した命令群のステップ
    数と計数方法により定まる数とを比較する手段とにより
    最終ステップに達したか否かを検知することを特徴とす
    る前記第1項に示す繰返し制御回路を有するプロセッサ
JP59248113A 1984-11-26 1984-11-26 パイプライン制御プロセッサ Expired - Lifetime JPH0685146B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59248113A JPH0685146B2 (ja) 1984-11-26 1984-11-26 パイプライン制御プロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59248113A JPH0685146B2 (ja) 1984-11-26 1984-11-26 パイプライン制御プロセッサ

Publications (2)

Publication Number Publication Date
JPS61127035A true JPS61127035A (ja) 1986-06-14
JPH0685146B2 JPH0685146B2 (ja) 1994-10-26

Family

ID=17173421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59248113A Expired - Lifetime JPH0685146B2 (ja) 1984-11-26 1984-11-26 パイプライン制御プロセッサ

Country Status (1)

Country Link
JP (1) JPH0685146B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02183831A (ja) * 1988-12-21 1990-07-18 Internatl Business Mach Corp <Ibm> プログラム・ループ実行装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58117050A (ja) * 1981-12-30 1983-07-12 Fujitsu Ltd デ−タシヨリソウチ
JPS58123141A (ja) * 1982-01-19 1983-07-22 Nec Corp 高速計数分岐実行方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58117050A (ja) * 1981-12-30 1983-07-12 Fujitsu Ltd デ−タシヨリソウチ
JPS58123141A (ja) * 1982-01-19 1983-07-22 Nec Corp 高速計数分岐実行方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02183831A (ja) * 1988-12-21 1990-07-18 Internatl Business Mach Corp <Ibm> プログラム・ループ実行装置

Also Published As

Publication number Publication date
JPH0685146B2 (ja) 1994-10-26

Similar Documents

Publication Publication Date Title
US5596760A (en) Program control method and program control apparatus
US5075849A (en) Information processor providing enhanced handling of address-conflicting instructions during pipeline processing
JPH0348536B2 (ja)
JPH06105460B2 (ja) マルチプロセッサのプロセッサ切換え装置
JPH06195147A (ja) クロック制御装置
JPS6388636A (ja) マイクロコンピユ−タ
US5321820A (en) Processor for executing a conditional branch instruction at a high speed by pre-reading a result flag
JPS61127035A (ja) パイプライン制御プロセッサ
JPS62156738A (ja) プログラム制御装置
JP3498831B2 (ja) プログラム制御方法およびその装置
JP2929980B2 (ja) 情報処理装置
JPS5844569A (ja) 命令処理同期制御方式
JP3074790B2 (ja) マイクロプロセッサ
JPH0573296A (ja) マイクロコンピユータ
JPH0619705A (ja) パイプライン制御方式
JPH0679271B2 (ja) ル−プ制御回路
JPH0561671A (ja) マイクロプログラム制御回路
JPH08278896A (ja) 割込み処理装置
JP2869376B2 (ja) データ依存関係を持つ複数のデータ処理を実行するパイプラインデータ処理方法
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JP2597744B2 (ja) 分岐制御方法
JPS6257028A (ja) パイプライン制御の情報処理装置におけるブランチ制御方法
JPS62296232A (ja) 高速ル−プ回路
JPH02217924A (ja) データ処理装置のストア処理方式
JPS6020245A (ja) デ−タ処理装置の命令制御回路