JPH04168526A - ループ制御方式 - Google Patents
ループ制御方式Info
- Publication number
- JPH04168526A JPH04168526A JP2295846A JP29584690A JPH04168526A JP H04168526 A JPH04168526 A JP H04168526A JP 2295846 A JP2295846 A JP 2295846A JP 29584690 A JP29584690 A JP 29584690A JP H04168526 A JPH04168526 A JP H04168526A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- read
- information
- loop processing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 10
- 230000010365 information processing Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はループ制御方式に関し、特に電子計算機のルー
プ動作指示のマイクロ命令実行制御によるループ制御方
式に関する。
プ動作指示のマイクロ命令実行制御によるループ制御方
式に関する。
マイクロプロセッサにはRI S C(Reduced
Instruction Set Computer)
型とCI SC(Complex In5tructi
on Set Computer〆〉型の形態がある。
Instruction Set Computer)
型とCI SC(Complex In5tructi
on Set Computer〆〉型の形態がある。
このうち前者はハードウェア簡略化のため単純なセット
を有し、この命令セットをハードウェア制御の下で実行
することにより、大部分の命令を1クロツク内で実行で
きる。しがし、分岐命令を実行する場合においては、分
岐命令実行に伴ないCPU時間にロスが生じる。そのた
め少なくとも分岐命令に続く命令を分岐するしないに関
わらず実行する命令に対して最適化をはがる場合もある
が、そのような命令がない場合はCPU時間のロスは避
けられないものであった。よって、同じ数ステップを何
度も繰り返すループ処理の場合は、ループ回数倍のロス
タイムが生じていた。
を有し、この命令セットをハードウェア制御の下で実行
することにより、大部分の命令を1クロツク内で実行で
きる。しがし、分岐命令を実行する場合においては、分
岐命令実行に伴ないCPU時間にロスが生じる。そのた
め少なくとも分岐命令に続く命令を分岐するしないに関
わらず実行する命令に対して最適化をはがる場合もある
が、そのような命令がない場合はCPU時間のロスは避
けられないものであった。よって、同じ数ステップを何
度も繰り返すループ処理の場合は、ループ回数倍のロス
タイムが生じていた。
すなわち、第2図はループ制御方式で実行するマイクロ
命令の流れ図である。
命令の流れ図である。
第4図は従来の技術によるループ制御方式の構成を示す
ブロック図、第5図は従来の技術において第2図に示す
マイクロ命令を実行した時のタイムチャートである。
ブロック図、第5図は従来の技術において第2図に示す
マイクロ命令を実行した時のタイムチャートである。
tず、第2図、第4図および第5図を参照して本実施例
において、ループ処理をおとなうマイクロ命令を実行し
た時のハードウェア動作及びタイミングについて説明す
る。第2図のステップ21〜24がループ対象のマイク
ロ命令である。RISCタイプであるから、各命令は1
ステツプで実行される。ステップ21はこの例ではレジ
スタAXの内容に1を加算する命令、ステップ22はレ
ジスタBXの内容を2倍する命令、ステップ23はレジ
スタAXとレジスタBXの内容を比較して状態レジスタ
にその結果を格納する命令、ステップ24はステップ2
3における状態レジスタの値による分岐命令である。ま
ずステップ21による命令が主記憶1より命令レジスタ
2にフェッチされる(第3図CPUクロックTl(以下
(Tlンというようにのみ記す))0次のタイミングの
命令くステップ21)ではデコーダ3でデコードされ、
選択器4で選択されて実行情報保持レジスタ5ヘデコー
ド結果がロードされる。パイプライン処理を行なうプロ
セッサであるから、同時に命令(ステップ22)がフェ
ッチされ命令レジスタ2に格納される〈T2)。
において、ループ処理をおとなうマイクロ命令を実行し
た時のハードウェア動作及びタイミングについて説明す
る。第2図のステップ21〜24がループ対象のマイク
ロ命令である。RISCタイプであるから、各命令は1
ステツプで実行される。ステップ21はこの例ではレジ
スタAXの内容に1を加算する命令、ステップ22はレ
ジスタBXの内容を2倍する命令、ステップ23はレジ
スタAXとレジスタBXの内容を比較して状態レジスタ
にその結果を格納する命令、ステップ24はステップ2
3における状態レジスタの値による分岐命令である。ま
ずステップ21による命令が主記憶1より命令レジスタ
2にフェッチされる(第3図CPUクロックTl(以下
(Tlンというようにのみ記す))0次のタイミングの
命令くステップ21)ではデコーダ3でデコードされ、
選択器4で選択されて実行情報保持レジスタ5ヘデコー
ド結果がロードされる。パイプライン処理を行なうプロ
セッサであるから、同時に命令(ステップ22)がフェ
ッチされ命令レジスタ2に格納される〈T2)。
ループ処理をするか否かを示す情報がこのマイクロ命令
に存在し、ループ処理を行なう命令(ステップ21〜2
4)では全てこの情報がオンとなっているが、次のタイ
ミングでの命令(ステップ21)の実行情報が保持され
ているレジスタ5の内容は、このループ処理情報ビット
15によりループ用レジスタ群6の中のレジスタにロー
ドされる。書き込み対象を示すロード先指示ポインタ7
を初期値0に設定しておくものとすると、レジスタ番号
Oのレジスタにロードされる。同時にループ処理情報ビ
ット15は次回のループ処理のリード情報として、0番
レジスタ内にロードされ、ロード先ポインタ7は1カウ
ントアツプされる。同タイミングで命令(ステップ21
)は実行され演算用レジスタ群12の中のAXレジスタ
及び定数1がバス14を介して演算器13により加算さ
れ結果がAXレジスタに格納される。同タイミングで命
令ステップ22はデコードステージ、命令ステップ23
はフェッチステージでそれぞれ処理される(T3)。次
のタイミングで命令(ステップ22)は実行され、同様
にレジスタ5の内容はロード先指示ポインタ7で示され
る1番レジスタに格納される。同タイミングで命令(ス
テップ23)はデコードステージ、命令(ステップ24
)はフェッチステージでそれぞれ処理される(T4)。
に存在し、ループ処理を行なう命令(ステップ21〜2
4)では全てこの情報がオンとなっているが、次のタイ
ミングでの命令(ステップ21)の実行情報が保持され
ているレジスタ5の内容は、このループ処理情報ビット
15によりループ用レジスタ群6の中のレジスタにロー
ドされる。書き込み対象を示すロード先指示ポインタ7
を初期値0に設定しておくものとすると、レジスタ番号
Oのレジスタにロードされる。同時にループ処理情報ビ
ット15は次回のループ処理のリード情報として、0番
レジスタ内にロードされ、ロード先ポインタ7は1カウ
ントアツプされる。同タイミングで命令(ステップ21
)は実行され演算用レジスタ群12の中のAXレジスタ
及び定数1がバス14を介して演算器13により加算さ
れ結果がAXレジスタに格納される。同タイミングで命
令ステップ22はデコードステージ、命令ステップ23
はフェッチステージでそれぞれ処理される(T3)。次
のタイミングで命令(ステップ22)は実行され、同様
にレジスタ5の内容はロード先指示ポインタ7で示され
る1番レジスタに格納される。同タイミングで命令(ス
テップ23)はデコードステージ、命令(ステップ24
)はフェッチステージでそれぞれ処理される(T4)。
第3図のT5以降のタイミングも上記と同様、命令(ス
テップ21〜24)がループ用レジスタ群6に格納され
ながら処理が進む。
テップ21〜24)がループ用レジスタ群6に格納され
ながら処理が進む。
従って、従来の技術では、ループ対象となる命令の実行
情報内容を保持することはしない。従って、T6でステ
ップ24を実行する時に命令レジスタ2と命令カウンタ
11を停止させるのは同じだが、ステップ21を新たに
外部の主記憶からフェッチしてくる動作が必要である。
情報内容を保持することはしない。従って、T6でステ
ップ24を実行する時に命令レジスタ2と命令カウンタ
11を停止させるのは同じだが、ステップ21を新たに
外部の主記憶からフェッチしてくる動作が必要である。
第5図に示されるように、T8においてステップ21の
フェッチがなされるため、実行はTIOの時点である。
フェッチがなされるため、実行はTIOの時点である。
従って本発明と比較して1回のループにつき2サイクル
分の遅れ、即ちCPUタイムのロスが生じる。従って、
ループ回数が多くなるほど、従来の技術では性能面で欠
点となる。
分の遅れ、即ちCPUタイムのロスが生じる。従って、
ループ回数が多くなるほど、従来の技術では性能面で欠
点となる。
上述した従来のループ制御方式は、ループの回数分の分
岐命令を実行する必要があるために、1回の分岐命令で
生じるCPUの所要時間はループの回数倍の所要時間の
損失が生じるという性能面での欠点がある。
岐命令を実行する必要があるために、1回の分岐命令で
生じるCPUの所要時間はループの回数倍の所要時間の
損失が生じるという性能面での欠点がある。
本発明のループ制御方式は、
パイプライン処理を行なうRISC型マイクロプロセッ
サにおいて、 ループ処理をするが否かを情報として保持するマイクロ
命令と、該マイクロ命令を命令レジスタにフェッチする
ステージと、該命令レジスタの出力データをデコードし
て命令実行時の情報保持のためのレジスタにデコード結
果をロードするデコードステージと、該デコードステー
ジの次に該命令実行時情報保持レジスタの内容により命
令の実行を行なうステージと、該命令実行ステージで前
記マイクロ命令におけるループ処理情報を認識した場合
に前記命令実行情報保持レジスタの内容をロードすると
共に前記ループ処理情報を次回のループ処理のリード情
報としてロードする複数個のレジスタ群と、 前記マイクロ命令におけるループ処理情報によりカウン
トアツプされ、該レジスタ群がロード動作を行なう場合
にロード先のレジスタを指すロード先指示ポインタと、 該次回のループ処理のリード情報によりカウントアツプ
され、前記複数個のレジスタ群から読み出し動作を行な
う場合に読み出し先のレジスタを指す読み出し対象指示
ポインタと、 前記デコードステージにおけるデコーダの出力と前記複
数個のレジスタ群からの読み出しデータとのどちらかを
選択して前記命令実行情報保持レジスタの入力とする選
択器と、 分岐命令実行時に分岐条件を保持するフラグと前記命令
実行時情報保持レジスタ内の前記ループ処理情報と前記
次回のループ処理リード情報とを入力として前記分岐条
件フラグがオン状態かつ前記ループ処理情報ビットがオ
ン状態の時は該選択器で前記複数個のレジスタ群からの
読み出しデータを選択し、かつ命令カウンタと前記命令
レジスタの更新を止める指示を出す信号を生成し、前記
分岐条件フラグがオフ状態の時は該選択器で前記デコー
ダの出力選択し、かつ該命令カウンタと前記命令レジス
タの更新を再開し、かつ前記ロード先指示ポインタと前
記読み出し対象指示ポインタとをリセットして初期状態
にする信号を生成し、前記分岐条件フラグがON状態か
つ前記次回のループ処理リード情報ビットがON状態の
時は前記選択器で前記複数個のレジスタ群からの読み出
しデータを選択し、前記読み出し指示ポインタをリセッ
トして初期状態にする信号を生成する分岐指示生成回路
とを備えて構成される。
サにおいて、 ループ処理をするが否かを情報として保持するマイクロ
命令と、該マイクロ命令を命令レジスタにフェッチする
ステージと、該命令レジスタの出力データをデコードし
て命令実行時の情報保持のためのレジスタにデコード結
果をロードするデコードステージと、該デコードステー
ジの次に該命令実行時情報保持レジスタの内容により命
令の実行を行なうステージと、該命令実行ステージで前
記マイクロ命令におけるループ処理情報を認識した場合
に前記命令実行情報保持レジスタの内容をロードすると
共に前記ループ処理情報を次回のループ処理のリード情
報としてロードする複数個のレジスタ群と、 前記マイクロ命令におけるループ処理情報によりカウン
トアツプされ、該レジスタ群がロード動作を行なう場合
にロード先のレジスタを指すロード先指示ポインタと、 該次回のループ処理のリード情報によりカウントアツプ
され、前記複数個のレジスタ群から読み出し動作を行な
う場合に読み出し先のレジスタを指す読み出し対象指示
ポインタと、 前記デコードステージにおけるデコーダの出力と前記複
数個のレジスタ群からの読み出しデータとのどちらかを
選択して前記命令実行情報保持レジスタの入力とする選
択器と、 分岐命令実行時に分岐条件を保持するフラグと前記命令
実行時情報保持レジスタ内の前記ループ処理情報と前記
次回のループ処理リード情報とを入力として前記分岐条
件フラグがオン状態かつ前記ループ処理情報ビットがオ
ン状態の時は該選択器で前記複数個のレジスタ群からの
読み出しデータを選択し、かつ命令カウンタと前記命令
レジスタの更新を止める指示を出す信号を生成し、前記
分岐条件フラグがオフ状態の時は該選択器で前記デコー
ダの出力選択し、かつ該命令カウンタと前記命令レジス
タの更新を再開し、かつ前記ロード先指示ポインタと前
記読み出し対象指示ポインタとをリセットして初期状態
にする信号を生成し、前記分岐条件フラグがON状態か
つ前記次回のループ処理リード情報ビットがON状態の
時は前記選択器で前記複数個のレジスタ群からの読み出
しデータを選択し、前記読み出し指示ポインタをリセッ
トして初期状態にする信号を生成する分岐指示生成回路
とを備えて構成される。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本ループ制御方式で実行するマイクロ命令の流れ
図、第3図は本実施例で第2図におけるマイクロ命令を
実行した時のタイムチャート、図中の番号は第2図中の
番号に対比される。
2図は本ループ制御方式で実行するマイクロ命令の流れ
図、第3図は本実施例で第2図におけるマイクロ命令を
実行した時のタイムチャート、図中の番号は第2図中の
番号に対比される。
まず、第1〜3図を参照して本実施例において、ループ
処理をおこなうマイクロ命令を実行した時のハードウェ
ア動作及びタイミングについて説明する。第2図のステ
ップ21〜24がループ対象のマイクロ命令である。R
ISCタイプであるから、各命令は1ステツプで実行さ
れる。ステップ21はこの例ではレジスタAXの内容に
1を加算する命令、ステップ22はレジスタBXの内容
を2倍する命令、ステップ23はレジスタAXとレジス
タBXの内容を比較して状態レジスタにその結果を格納
する命令、ステップ24はステップ23における状態レ
ジスタの値による分岐命令である。まずステップ21に
よる命令が主記憶1より命令レジスタ2にフェッチされ
る(第3図CPUクロックT1〔以下(T1)というよ
うにのみ記す〕)0次のタイミングの命令(ステップ2
1)ではデコーダ3でデコードされ、選択器4で選択さ
れて実行情報保持レジスタ5へデコード結果がロードさ
れる。パイプライン処理を行なうプロセッサであるから
、同時に命令(ステップ22)がフェッチされ命令レジ
スタ2に格納される(T2)。
処理をおこなうマイクロ命令を実行した時のハードウェ
ア動作及びタイミングについて説明する。第2図のステ
ップ21〜24がループ対象のマイクロ命令である。R
ISCタイプであるから、各命令は1ステツプで実行さ
れる。ステップ21はこの例ではレジスタAXの内容に
1を加算する命令、ステップ22はレジスタBXの内容
を2倍する命令、ステップ23はレジスタAXとレジス
タBXの内容を比較して状態レジスタにその結果を格納
する命令、ステップ24はステップ23における状態レ
ジスタの値による分岐命令である。まずステップ21に
よる命令が主記憶1より命令レジスタ2にフェッチされ
る(第3図CPUクロックT1〔以下(T1)というよ
うにのみ記す〕)0次のタイミングの命令(ステップ2
1)ではデコーダ3でデコードされ、選択器4で選択さ
れて実行情報保持レジスタ5へデコード結果がロードさ
れる。パイプライン処理を行なうプロセッサであるから
、同時に命令(ステップ22)がフェッチされ命令レジ
スタ2に格納される(T2)。
請求の範囲で述べたように、ループ処理をするか否かを
示す情報がこのマイクロ命令に存在し、ループ処理を行
なう命令(ステップ21〜24)では全てこの情報がオ
ンになっているが、次のタイミングでの命令(ステップ
21)の実行情報が保持されているレジスタ5の内容は
、このループ処理情報ビット15によりループ用レジス
タ群6の中のレジスタにロードされる。書き込み対象を
示すロード先指示ポインタ7を初期値0に設定しておく
ものとすると、ループ用しジスタ群6中のレジスタにロ
ードされる。同時にループ処理情報ビット15は次回の
ループ処理のリード情報としてループ用レジスタ群6の
中のレジスタ内にロードされ、ロード先ポインタ7は1
カウントアツプされる。同タイミングで命令(ステップ
21)は実行され演算用レジスタ群12の中のAXレジ
スタ及び定数1がバス14を介して演算器13により加
算され結果がAXレジスタに格納される。同タイミング
で命令ステップ22はデコードステージ、命令ステップ
23はフェッチステージでそれぞれ処理される(T3)
、次のタイミングで命令(ステップ22)は実行され、
同様にレジスタ5の内容はロード先指示ポインタ7で示
されるループ用レジスタ群6の指示箇所に格納される。
示す情報がこのマイクロ命令に存在し、ループ処理を行
なう命令(ステップ21〜24)では全てこの情報がオ
ンになっているが、次のタイミングでの命令(ステップ
21)の実行情報が保持されているレジスタ5の内容は
、このループ処理情報ビット15によりループ用レジス
タ群6の中のレジスタにロードされる。書き込み対象を
示すロード先指示ポインタ7を初期値0に設定しておく
ものとすると、ループ用しジスタ群6中のレジスタにロ
ードされる。同時にループ処理情報ビット15は次回の
ループ処理のリード情報としてループ用レジスタ群6の
中のレジスタ内にロードされ、ロード先ポインタ7は1
カウントアツプされる。同タイミングで命令(ステップ
21)は実行され演算用レジスタ群12の中のAXレジ
スタ及び定数1がバス14を介して演算器13により加
算され結果がAXレジスタに格納される。同タイミング
で命令ステップ22はデコードステージ、命令ステップ
23はフェッチステージでそれぞれ処理される(T3)
、次のタイミングで命令(ステップ22)は実行され、
同様にレジスタ5の内容はロード先指示ポインタ7で示
されるループ用レジスタ群6の指示箇所に格納される。
同タイミングで命令(ステップ23)はデコードステー
ジ、命令(ステップ24)はフェッチステージでそれぞ
れ処理される(T4)、第3図のT5以降のタイミング
も上記と同様に、命令(ステップ21〜24)がループ
用レジスタ群6に格納されながら処理が進む。
ジ、命令(ステップ24)はフェッチステージでそれぞ
れ処理される(T4)、第3図のT5以降のタイミング
も上記と同様に、命令(ステップ21〜24)がループ
用レジスタ群6に格納されながら処理が進む。
第3図T6では命令(ステップ24)の分岐命令が実行
されるが、分岐が起こる場合の動作を説明する0分岐命
令で、ループ処理情報ビット15がオンで分岐条件フラ
グがオンであれば、もう−度命令(ステップ21)から
の処理を繰り返す。
されるが、分岐が起こる場合の動作を説明する0分岐命
令で、ループ処理情報ビット15がオンで分岐条件フラ
グがオンであれば、もう−度命令(ステップ21)から
の処理を繰り返す。
分岐指示信号生成回路9により、上記条件から分岐指示
信号が生成される。cpuクロック(T7)で選択器4
の制御信号として出され、ループ用レジスタ群6からの
出力が選択されてレジスタ5の入力となる。このとき読
み出し対象指示ポインタ8の値を初期値0に設定してお
くものとすると、ポインタ8で設定されたループ用レジ
スタ群の該当レジスタの内容すなわち命令(ステップ2
1)の実行情報内容がレジスタ5の入力となる。同じタ
イミングで、命令カウンタロード先指示ポインタ7と命
令レジスタ2の更新を同信号で止め、フェッチステージ
とデコードステージとを停止させる。また同タイミング
で設定されたループ用レジスタ群の、レジスタ内の次回
のループ処理リード情報ビット16が選択器4から出力
されて、読み出し対象指示ポインタ8の値を1カウント
アツプさせる。
信号が生成される。cpuクロック(T7)で選択器4
の制御信号として出され、ループ用レジスタ群6からの
出力が選択されてレジスタ5の入力となる。このとき読
み出し対象指示ポインタ8の値を初期値0に設定してお
くものとすると、ポインタ8で設定されたループ用レジ
スタ群の該当レジスタの内容すなわち命令(ステップ2
1)の実行情報内容がレジスタ5の入力となる。同じタ
イミングで、命令カウンタロード先指示ポインタ7と命
令レジスタ2の更新を同信号で止め、フェッチステージ
とデコードステージとを停止させる。また同タイミング
で設定されたループ用レジスタ群の、レジスタ内の次回
のループ処理リード情報ビット16が選択器4から出力
されて、読み出し対象指示ポインタ8の値を1カウント
アツプさせる。
CPUクロック(T8)ではステップ21が実行されC
PUクロック(T8)のサイクル終了時に、命令(ステ
ップ22)の実行情報内容がレジスタ5にロードされる
と共に読み出し対象指示ポインタ8も1カウントアツプ
される。CPUクロック(T9・T10)も同様である
。CPUクロック(Tll)では再び分岐を行なうが、
分岐指示信号生成回路9では、レジスタ5内の次回のル
ープ処理リード情報ビット17と分岐条件フラグ10と
から分岐指示信号を生成する。そして次のタイミングで
選択器4へ出力し、また読み出し指示ポインタ8をリセ
ットする0次に、ループ処理から抜ける時の動作を説明
する。ループが終わるのは分岐命令で、分岐条件フラグ
10がオフ状態の時であるが、この時に分岐指示信号生
成回路9でCPUクロック7(TA>のタイミングで生
成された信号はCPUクロック(TB)のタイミングで
命令カウンタ7と命令レジスタ2の更新を再開させる。
PUクロック(T8)のサイクル終了時に、命令(ステ
ップ22)の実行情報内容がレジスタ5にロードされる
と共に読み出し対象指示ポインタ8も1カウントアツプ
される。CPUクロック(T9・T10)も同様である
。CPUクロック(Tll)では再び分岐を行なうが、
分岐指示信号生成回路9では、レジスタ5内の次回のル
ープ処理リード情報ビット17と分岐条件フラグ10と
から分岐指示信号を生成する。そして次のタイミングで
選択器4へ出力し、また読み出し指示ポインタ8をリセ
ットする0次に、ループ処理から抜ける時の動作を説明
する。ループが終わるのは分岐命令で、分岐条件フラグ
10がオフ状態の時であるが、この時に分岐指示信号生
成回路9でCPUクロック7(TA>のタイミングで生
成された信号はCPUクロック(TB)のタイミングで
命令カウンタ7と命令レジスタ2の更新を再開させる。
また、選択器4の出力をデコーダ3の出力に戻し、ロー
ド先指示ポインタ7と読み出し対象指示ポインタ8とを
リセットする。命令(ステップ25)は、分岐時のタイ
ミングにより実行されないので、そのことを考慮に入れ
てNOP命令を入れておくなどの処置が必要である。命
令の再開は命令(ステップ25)の次の命令からである
。
ド先指示ポインタ7と読み出し対象指示ポインタ8とを
リセットする。命令(ステップ25)は、分岐時のタイ
ミングにより実行されないので、そのことを考慮に入れ
てNOP命令を入れておくなどの処置が必要である。命
令の再開は命令(ステップ25)の次の命令からである
。
以上説明したように本発明は、ループ処理情報を次回の
ループ処理のリード情報としてロードする複数個のレジ
スタ群と、マイクロ命令におけるループ処理情報とによ
りカウントアツプされレジスタ群がロード動作を行なう
場合にロード先のレジスタを指すロード先指示ポインタ
と次回のループ処理のリード情報によりカウントアツプ
されレジスタ群から読み出し動作を行なう場合に読み出
し先のレジスタを指す読み出し対象指示ポインタと、デ
コードステージのデコーダ出力と、レジスタ群からのデ
ータとのどちらかを選択して命令実行情報保持レジスタ
の入力とする選択器とを備えることにより、ループ処理
における分岐命令の高速化をはかり、性能を良くすると
いう効果がある。
ループ処理のリード情報としてロードする複数個のレジ
スタ群と、マイクロ命令におけるループ処理情報とによ
りカウントアツプされレジスタ群がロード動作を行なう
場合にロード先のレジスタを指すロード先指示ポインタ
と次回のループ処理のリード情報によりカウントアツプ
されレジスタ群から読み出し動作を行なう場合に読み出
し先のレジスタを指す読み出し対象指示ポインタと、デ
コードステージのデコーダ出力と、レジスタ群からのデ
ータとのどちらかを選択して命令実行情報保持レジスタ
の入力とする選択器とを備えることにより、ループ処理
における分岐命令の高速化をはかり、性能を良くすると
いう効果がある。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は本ループ制御方式で実行するマイクロ命令の流れ
図、第3図は本実施例における第2図で示されるマイク
ロ命令を実行した時のタイムチャート、第4図は従来の
技術のによるループ制御方式の構成を示すブロック図、
第5図は従来の技術による第2図で示されるマイクロ命
令を実行した時のタイムチャートである。 1・・・主記憶、2・・・命令レジスタ、3・・・デコ
ーダ、4・・・選択器、5・・・実行情報保持レジスタ
、6・・・ループ用レジスタ群、7・・・ロード先指示
ポインタ、8・・・読み出し対象指示ポインタ、9・・
・分岐指示信号生成回路、10・・・分岐条件フラグ、
11・・・命令カウンタ、12・・・演算用レジスタ群
、13・・・演算器、14・・・バス、15・・・ルー
プ処理情報ビット、16・17・・・次回のループ処理
リード情報ビット。
2図は本ループ制御方式で実行するマイクロ命令の流れ
図、第3図は本実施例における第2図で示されるマイク
ロ命令を実行した時のタイムチャート、第4図は従来の
技術のによるループ制御方式の構成を示すブロック図、
第5図は従来の技術による第2図で示されるマイクロ命
令を実行した時のタイムチャートである。 1・・・主記憶、2・・・命令レジスタ、3・・・デコ
ーダ、4・・・選択器、5・・・実行情報保持レジスタ
、6・・・ループ用レジスタ群、7・・・ロード先指示
ポインタ、8・・・読み出し対象指示ポインタ、9・・
・分岐指示信号生成回路、10・・・分岐条件フラグ、
11・・・命令カウンタ、12・・・演算用レジスタ群
、13・・・演算器、14・・・バス、15・・・ルー
プ処理情報ビット、16・17・・・次回のループ処理
リード情報ビット。
Claims (1)
- 【特許請求の範囲】 パイプライン処理を行なうRISC型マイクロプロセッ
サにおいて、 ループ処理をするか否かを情報として保持するマイクロ
命令と、該マイクロ命令を命令レジスタにフェッチする
ステージと、該命令レジスタの出力データをデコードし
て命令実行時の情報保持のためのレジスタにデコード結
果をロードするデコードステージと、該デコードステー
ジの次に該命令実行時情報保持レジスタの内容により命
令の実行を行なうステージと、該命令実行ステージで前
記マイクロ命令におけるループ処理情報を認識した場合
に前記命令実行情報保持レジスタの内容をロードすると
共に前記ループ処理情報を次回のループ処理のリード情
報としてロードする複数個のレジスタ群と、 前記マイクロ命令におけるループ処理情報によりカウン
トアップされ、該レジスタ群がロード動作を行なう場合
にロード先のレジスタを指すロード先指示ポインタと、 該次回のループ処理のリード情報によりカウントアップ
され、前記複数個のレジスタ群から読み出し動作を行な
う場合に読み出し先のレジスタを指す読み出し対象指示
ポインタと、 前記デコードステージにおけるデコーダの出力と前記複
数個のレジスタ群からの読み出しデータとのどちらかを
選択して前記命令実行情報保持レジスタの入力をする選
択器と、 分岐命令実行時に分岐条件を保持するフラグと前記命令
実行時情報保持レジスタ内の前記ループ処理情報と前記
次回のループ処理リード情報とを入力として前記分岐条
件フラグがオン状態かつ前記ループ処理情報ビットがオ
ン状態の時は該選択器で前記複数個のレジスタ群からの
読み出しデータを選択し、かつ命令カウンタと前記命令
レジスタの更新を止める指示を出す信号を生成し、前記
分岐条件フラグがオフ状態の時は該選択器で前記デコー
ダの出力を選択し、かつ該命令カウンタと前記命令レジ
スタの更新を再開し、かつ前記ロード先指示ポインタと
前記読み出し対象指示ポインタとをリセットして初期状
態にする信号を生成し、前記分岐条件フラグがON状態
かつ前記次回のループ処理リード情報ビットがON状態
の時は前記選択器で前記複数個のレジスタ群からの読み
出しデータを選択し、前記読み出し指示ポインタをリセ
ットして初期状態にする信号を生成する分岐指示生成回
路とを備えて成ることを特徴とするループ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2295846A JPH04168526A (ja) | 1990-11-01 | 1990-11-01 | ループ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2295846A JPH04168526A (ja) | 1990-11-01 | 1990-11-01 | ループ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04168526A true JPH04168526A (ja) | 1992-06-16 |
Family
ID=17825945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2295846A Pending JPH04168526A (ja) | 1990-11-01 | 1990-11-01 | ループ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04168526A (ja) |
-
1990
- 1990-11-01 JP JP2295846A patent/JPH04168526A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
KR100571322B1 (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
JP2002333978A (ja) | Vliw型プロセッサ | |
JPH03218523A (ja) | データプロセッサ | |
US20230084523A1 (en) | Data Processing Method and Device, and Storage Medium | |
US5522084A (en) | Method and system for invalidating instructions utilizing validity and write delay flags in parallel processing apparatus | |
JPH05150979A (ja) | 即値オペランド拡張方式 | |
US5253349A (en) | Decreasing processing time for type 1 dyadic instructions | |
US5390306A (en) | Pipeline processing system and microprocessor using the system | |
US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
KR100188374B1 (ko) | 연산처리장치 | |
JPH04168526A (ja) | ループ制御方式 | |
US6266764B1 (en) | Program controller for switching between first program and second program | |
GB2069733A (en) | Conditional instruction execution in a pipelined processor | |
EP0573071A2 (en) | A microprocessor | |
JPH1173301A (ja) | 情報処理装置 | |
JP3100705B2 (ja) | マイクロプロセッサ内の命令準備のための装置 | |
JP2000029696A (ja) | プロセッサおよびパイプライン処理制御方法 | |
JP2781779B2 (ja) | 分岐制御回路 | |
JP2825315B2 (ja) | 情報処理装置 | |
JP2859921B2 (ja) | 命令キュー制御装置 | |
US20050228970A1 (en) | Processing unit with cross-coupled alus/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention | |
JP2583614B2 (ja) | ベクトル演算装置 | |
JP2851192B2 (ja) | 並列演算処理装置におけるキャリー付き加減算処理方式 |