JPH0353324A - プログラムループ制御方式 - Google Patents
プログラムループ制御方式Info
- Publication number
- JPH0353324A JPH0353324A JP18939989A JP18939989A JPH0353324A JP H0353324 A JPH0353324 A JP H0353324A JP 18939989 A JP18939989 A JP 18939989A JP 18939989 A JP18939989 A JP 18939989A JP H0353324 A JPH0353324 A JP H0353324A
- Authority
- JP
- Japan
- Prior art keywords
- loop
- instruction
- branch
- program
- program loop
- 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
- 230000010365 information processing Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 7
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 240000008100 Brassica rapa Species 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009342 intercropping Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、高速に実行する命令をもつ情報処理装置のプ
ログラムループ制御方式に関し、特に、命令語に含筐れ
るフィールドによってループ終了の判定を実行する分岐
制御方式に関する。
ログラムループ制御方式に関し、特に、命令語に含筐れ
るフィールドによってループ終了の判定を実行する分岐
制御方式に関する。
従来の汎用情報処理装置にかいては、プログラムのルー
プ(繰返し処理)は、逐次実行される一連の処理命令と
、その終了部分に置かれ、処理命令の先頭に分岐する分
岐命令によって実現される。
プ(繰返し処理)は、逐次実行される一連の処理命令と
、その終了部分に置かれ、処理命令の先頭に分岐する分
岐命令によって実現される。
このループは、その終了命令が条件分岐命令か無条件分
岐命令かにより、第1表(a) , (b)のように、
2つのタイプに分類できるが、これらはいずれにせよ1
つ以上の分岐命令を含むものとなる。
岐命令かにより、第1表(a) , (b)のように、
2つのタイプに分類できるが、これらはいずれにせよ1
つ以上の分岐命令を含むものとなる。
第1表
命令の先行制御(パイプライン処理)を行なう情報処理
装置において、分岐命令を用いたループ制御は、性能上
の問題をもつことが多いが、この問題には次の2つがあ
る。
装置において、分岐命令を用いたループ制御は、性能上
の問題をもつことが多いが、この問題には次の2つがあ
る。
■条件分岐命令の先行制御が、それ以前の命令の実行タ
イミングよりも早い段階で行なわれる場合、分岐命令が
、先行命令の結果を分岐条件として使用する場合につい
ては、先行制御を中止する処理必要となる(パイプライ
ン・インタクロ,ク)。
イミングよりも早い段階で行なわれる場合、分岐命令が
、先行命令の結果を分岐条件として使用する場合につい
ては、先行制御を中止する処理必要となる(パイプライ
ン・インタクロ,ク)。
■分岐が確定した場合、新たな命令語をメモリから読み
出し、それを実行するまでの期間は命令実行に待ちがで
きる。すなわち、分岐命令以前の先行制御については、
すべて破棄されることになる(パイプライン・フラッシ
:.L)。
出し、それを実行するまでの期間は命令実行に待ちがで
きる。すなわち、分岐命令以前の先行制御については、
すべて破棄されることになる(パイプライン・フラッシ
:.L)。
分岐命令の出現頻度が多ければ、パイプライン・インタ
クロ,クやパイプライン・フラ,ンユが頻発し、その度
に命令実行が遅れ、性能低下をもたらす。プログラムの
ループは、その最も顕著な例であるといえる。
クロ,クやパイプライン・フラ,ンユが頻発し、その度
に命令実行が遅れ、性能低下をもたらす。プログラムの
ループは、その最も顕著な例であるといえる。
このような性能低下を防ぐため、ループを高速に実行で
きるループ命令をもつ専用情報処理装置が従来用いられ
てきた。そこで用いられるループ命令のフォーマ,トぱ
、第6図のフォーマット図で示すように、2つのオペラ
ンド・フィールドをもっている。一つは、ループ実行回
数を指定するオペランド1、もう一つは、ループ糾了ア
ドレスを指定するオペランド2である。このようなルー
プ命令を用いてループを実現したプログラム例を第2表
に示す。
きるループ命令をもつ専用情報処理装置が従来用いられ
てきた。そこで用いられるループ命令のフォーマ,トぱ
、第6図のフォーマット図で示すように、2つのオペラ
ンド・フィールドをもっている。一つは、ループ実行回
数を指定するオペランド1、もう一つは、ループ糾了ア
ドレスを指定するオペランド2である。このようなルー
プ命令を用いてループを実現したプログラム例を第2表
に示す。
第2表
ループ制御を実行する従来の情報処理装置において、命
令順序制御部に対応するハードウェア構成例を第7図に
示す。図において、lはループ開始アドレスレジスタ、
2は分岐先アドレスレジスタ、3はマルチプレクナ、4
はフエ,チ用命令カウンタ、5はインクリメンタ、6は
命令メモリ、7は命令デコード用命令バッファ、9は分
岐命令デコーダ,10はループカウンタ,11はデクリ
メンタ、12は終了検出用ループカウンタ、13はゼロ
検出器、14は次命令アドレス決定論理回路、l5は次
命令選択レジスタ,16はループ終了アドレスレジスタ
、17は一致検出回路、を各々表わす。
令順序制御部に対応するハードウェア構成例を第7図に
示す。図において、lはループ開始アドレスレジスタ、
2は分岐先アドレスレジスタ、3はマルチプレクナ、4
はフエ,チ用命令カウンタ、5はインクリメンタ、6は
命令メモリ、7は命令デコード用命令バッファ、9は分
岐命令デコーダ,10はループカウンタ,11はデクリ
メンタ、12は終了検出用ループカウンタ、13はゼロ
検出器、14は次命令アドレス決定論理回路、l5は次
命令選択レジスタ,16はループ終了アドレスレジスタ
、17は一致検出回路、を各々表わす。
メモリからフエ,チされる命令のアドレスは、フェッチ
用命令カウンタ4に保持されるが、この値は、命令の実
行サイクルごとに、新しい値に更新される。新しい値は
、命令カウンタの値をインクリメンタ5によって、+1
した値であるか、ループ開始アドレスレジスタlの値で
あるか、もしくは、分岐先アドレスレジスタ2の値であ
る。この他に図示されない割込みアドレスなどが考えら
れるが、これらは、マルチプレクサ3によって選択され
る。
用命令カウンタ4に保持されるが、この値は、命令の実
行サイクルごとに、新しい値に更新される。新しい値は
、命令カウンタの値をインクリメンタ5によって、+1
した値であるか、ループ開始アドレスレジスタlの値で
あるか、もしくは、分岐先アドレスレジスタ2の値であ
る。この他に図示されない割込みアドレスなどが考えら
れるが、これらは、マルチプレクサ3によって選択され
る。
命令メモリ6では、命令カウンタ4の値を用いて、命令
語のアクセスを行なう。その結果得られた命令語は、命
令デコード用命令バッファ7にストアされる。この内容
は、命令デコーダによってデコードされるが、第7図で
は、このうち特に命令順序制御に関連する分岐命令デコ
ーダ9のみを図示している。もし、分岐命令がデコード
されれば、それは次命令アドレス決定論理回路l4に伝
えられ、その結果が次命令選択レジスタ15にストアさ
れる。この指示により、マルチプレクサ3にかいては、
分岐先アドレスレジスタ2の内容が次のフエ,チ用命令
カウンタ4の値として選ばれることになる。
語のアクセスを行なう。その結果得られた命令語は、命
令デコード用命令バッファ7にストアされる。この内容
は、命令デコーダによってデコードされるが、第7図で
は、このうち特に命令順序制御に関連する分岐命令デコ
ーダ9のみを図示している。もし、分岐命令がデコード
されれば、それは次命令アドレス決定論理回路l4に伝
えられ、その結果が次命令選択レジスタ15にストアさ
れる。この指示により、マルチプレクサ3にかいては、
分岐先アドレスレジスタ2の内容が次のフエ,チ用命令
カウンタ4の値として選ばれることになる。
次にループ命令の実行に関係する部分の動作説明を行な
う。ループ命令が実行されると、オペランドとして指定
されたループ実行回数とループ終了アドレスが、ループ
カウンタ10とループ終了アドレスレジスタl6に、各
々設定される。1た、そのループ命令の次の命令の開始
アドレスであるループ開始アドレスが、図示されない経
路を経てループ開始アドレスレジスタlに設定される。
う。ループ命令が実行されると、オペランドとして指定
されたループ実行回数とループ終了アドレスが、ループ
カウンタ10とループ終了アドレスレジスタl6に、各
々設定される。1た、そのループ命令の次の命令の開始
アドレスであるループ開始アドレスが、図示されない経
路を経てループ開始アドレスレジスタlに設定される。
ループ内部の処理命令が逐次実行される(命令カウンタ
14は、インクリメンタ5によって逐次更新されていく
)うちに、ループの最終命令に達すると、命令カウンタ
4の値がループ終了アドレスレジスタl6の値と等しく
なる。これは、一致検出回路l7で検出される。その結
果は次命令アドレス決定論理回路l4に伝えられる。
14は、インクリメンタ5によって逐次更新されていく
)うちに、ループの最終命令に達すると、命令カウンタ
4の値がループ終了アドレスレジスタl6の値と等しく
なる。これは、一致検出回路l7で検出される。その結
果は次命令アドレス決定論理回路l4に伝えられる。
ループの最終命令からループの先頭に戻るかループを抜
けるかは、ループの実行回数で決定される。ループ開始
とともに設定されたルーブカウンタ10をデクリメンタ
11によって−1された値が終了検出用ループレジスタ
l2に設定されているが、その値がOであればループを
終了することになる。その判定はゼロ検出器l3にて実
行され、その結果が次命令アドレス決定論理回路l4に
通知される。
けるかは、ループの実行回数で決定される。ループ開始
とともに設定されたルーブカウンタ10をデクリメンタ
11によって−1された値が終了検出用ループレジスタ
l2に設定されているが、その値がOであればループを
終了することになる。その判定はゼロ検出器l3にて実
行され、その結果が次命令アドレス決定論理回路l4に
通知される。
残りのループ回数がゼロでなく、かつループ最終命令に
到達した場合、論理回路l4は、次命令として、ループ
開始命令を選ぶことになる。この場合には、次命令選択
レジスタl5には、マルチプレクサ3によってループ開
始アドレスレジスタlが選択されるような選択情報がス
トアされる。
到達した場合、論理回路l4は、次命令として、ループ
開始命令を選ぶことになる。この場合には、次命令選択
レジスタl5には、マルチプレクサ3によってループ開
始アドレスレジスタlが選択されるような選択情報がス
トアされる。
第8図は、第7図の情報処理装置のうち、フエ,チ用命
令カウンタ4、かよび次命令選択レジスタ15の内容変
化のタイミングを示している。この例では、lクロック
が1命令実行サイクルであると考える。命令カウンタl
4がループ終了アドレスを示した時点よD半サイクル後
に次命令選択レジスタl5が設定されるため、マルチプ
レクサ3による次のアドレス選択に間に合い、1サイク
ル後にはループ先頭アドレスを命令カウンタに設定する
ことができる。
令カウンタ4、かよび次命令選択レジスタ15の内容変
化のタイミングを示している。この例では、lクロック
が1命令実行サイクルであると考える。命令カウンタl
4がループ終了アドレスを示した時点よD半サイクル後
に次命令選択レジスタl5が設定されるため、マルチプ
レクサ3による次のアドレス選択に間に合い、1サイク
ル後にはループ先頭アドレスを命令カウンタに設定する
ことができる。
従来の情報処理装置では、ループカウンタに、ループ終
了アドレスに1を加えたものを設定する場合や、ゼロ検
出器のかわりに1検出器を用いる場合もあるが、それら
はここで説明された例の若干の変更で実現されるもので
あυ、本質的に回路構成が変るものではない。
了アドレスに1を加えたものを設定する場合や、ゼロ検
出器のかわりに1検出器を用いる場合もあるが、それら
はここで説明された例の若干の変更で実現されるもので
あυ、本質的に回路構成が変るものではない。
これら従来のループ命令を実行する情報処理装置は、ル
ープの条件分岐判定に相当する処理をハードウェアで先
行制御してかり、これによD分岐の確定が次の命令フェ
ッチに遅延をもたらさない(パイプライン・インタクロ
,クの回避)。さらに、ループによる命令フエ,チの不
連続性が隠蔽されるため、分岐による性能低下を回避で
きる(パイプライン・フラ,7ユの回避)。
ープの条件分岐判定に相当する処理をハードウェアで先
行制御してかり、これによD分岐の確定が次の命令フェ
ッチに遅延をもたらさない(パイプライン・インタクロ
,クの回避)。さらに、ループによる命令フエ,チの不
連続性が隠蔽されるため、分岐による性能低下を回避で
きる(パイプライン・フラ,7ユの回避)。
前述したような従来のループ制御方式は、次に述べるよ
うな欠点を有する。
うな欠点を有する。
(1) ループ終了アドレスが1つしか指定できない
ループの終了は、ただ1つの終了アドレスレジスタ16
によって規定される。ループ内部に分岐命令が存在し、
ある条件の場合に早くループを終了したい場合などが実
際に存在するが、これを実現するには、余計な命令(分
岐命令やノーオペレーンヨン命令など)を追加する必要
があり、性能の低下を招くという欠点を有している。
ループの終了は、ただ1つの終了アドレスレジスタ16
によって規定される。ループ内部に分岐命令が存在し、
ある条件の場合に早くループを終了したい場合などが実
際に存在するが、これを実現するには、余計な命令(分
岐命令やノーオペレーンヨン命令など)を追加する必要
があり、性能の低下を招くという欠点を有している。
(2)多重ループに対するオーバーヘッドループがネス
ティングする場合、分岐先アドレスレジスタ2、ループ
カウンタ1(1−よびループ終了アドレスレジスタl6
の全てをスタ,クを用いてセーブ/リストアせねばなら
ない。
ティングする場合、分岐先アドレスレジスタ2、ループ
カウンタ1(1−よびループ終了アドレスレジスタl6
の全てをスタ,クを用いてセーブ/リストアせねばなら
ない。
これは、ハードウェアコストの増大を招くという欠点を
有している。
有している。
本発明の目的は、ループの終了点を、ループに含まれる
最終命令のアドレスで示すのではなく、ループの最終命
令、もしくはその直前の命令の命令フィールドの一部を
用いて示すことにより、ループの途中終了を実現できる
と共に、多重ループにかいてハードウェアを増大させる
ことなく実現できるプログラムループ制御方式を提供す
ることにある。
最終命令のアドレスで示すのではなく、ループの最終命
令、もしくはその直前の命令の命令フィールドの一部を
用いて示すことにより、ループの途中終了を実現できる
と共に、多重ループにかいてハードウェアを増大させる
ことなく実現できるプログラムループ制御方式を提供す
ることにある。
本発明の構或は、プログラムループを高速に実行する情
報処理装置のプログラムループ制御方式において、前記
プログラムループの開始アドレスを保持するループ開始
アドレスレジスタ手段と、命令語が前記プログラムルー
プの最終命令であるかどうかをデコードするループ終了
命令デコーダ手段とを有し、前記ループ終了命令デコー
ダ手段のデコード結果に基づいて前記プログラムループ
の開始アドレスに分岐することを特徴とする。
報処理装置のプログラムループ制御方式において、前記
プログラムループの開始アドレスを保持するループ開始
アドレスレジスタ手段と、命令語が前記プログラムルー
プの最終命令であるかどうかをデコードするループ終了
命令デコーダ手段とを有し、前記ループ終了命令デコー
ダ手段のデコード結果に基づいて前記プログラムループ
の開始アドレスに分岐することを特徴とする。
次に本発明について図面を用いて説明する。
第1図は、本発明の一実施例を示す論理ブロック図であ
る。本実施例の動作を、従来例との相違を中心に説明す
る。本実施例は、第7図のループ終了アドレスレジスタ
16かよび一致検出回路l7が省かれ、その代Dにルー
プ終了デコーダ8が追加されている。
る。本実施例の動作を、従来例との相違を中心に説明す
る。本実施例は、第7図のループ終了アドレスレジスタ
16かよび一致検出回路l7が省かれ、その代Dにルー
プ終了デコーダ8が追加されている。
本実施例で用いられるループ命令のフォーマットは、第
2図(a)で示すように、1つのオペランド・フィール
ドと1つのループ終了指示フィールドをもっている。オ
ペランドは、ループ実行回数を指定するものである。ル
ープ終了指示フィールドは、この命令の次に実行される
命令がループの最終命令であるか否かを示すフィールド
である。また、本実施例で用いられる演算命令は、第2
図(b)に示すように、演算命令自身の識別フィールド
の他にループ終了指示フィールド(用途は(a)の場合
と同一)をもつ。
2図(a)で示すように、1つのオペランド・フィール
ドと1つのループ終了指示フィールドをもっている。オ
ペランドは、ループ実行回数を指定するものである。ル
ープ終了指示フィールドは、この命令の次に実行される
命令がループの最終命令であるか否かを示すフィールド
である。また、本実施例で用いられる演算命令は、第2
図(b)に示すように、演算命令自身の識別フィールド
の他にループ終了指示フィールド(用途は(a)の場合
と同一)をもつ。
従来例ではループの終了を命令アドレスで検出していた
のに対して、本実施例では、ループの終了を命令語のル
ープ終了指示フィールドで検出する。命令デコード用命
令バッファ7にストアされた命令語がループ終了デコー
ダ8で、そのループ終了指示フィールドをデコードし、
その結果ループ最終命令かどうかの判断を論理回路14
に伝える。ループカウンタlOなど、ループの繰返し回
数に関する処理は、従来例と同様である。
のに対して、本実施例では、ループの終了を命令語のル
ープ終了指示フィールドで検出する。命令デコード用命
令バッファ7にストアされた命令語がループ終了デコー
ダ8で、そのループ終了指示フィールドをデコードし、
その結果ループ最終命令かどうかの判断を論理回路14
に伝える。ループカウンタlOなど、ループの繰返し回
数に関する処理は、従来例と同様である。
第3図は第1図の実施例のうちフェッチ用命令カウンタ
4、命令デコード用命令パ,ファ7、釦よび次命令選択
レジスタl5の内容変化のタイミング図である。本実施
例では、命令デコード用命令ハ,ファ7の内容が、フェ
ッチ用命令カウンタ4の確定の1サイクル後に確定する
という仮定をかいている。そのため、次命令選択レジス
タl5の内容が確定するのは、さらにその半サイクル後
にな9、命令語のループ終了指示フィールドの指示結果
は、2命令後に反映することになる。すなわち、ループ
終了指示フィールドは、「次の命令がループ最終命令で
ある」ことを指示するものとなる。
4、命令デコード用命令パ,ファ7、釦よび次命令選択
レジスタl5の内容変化のタイミング図である。本実施
例では、命令デコード用命令ハ,ファ7の内容が、フェ
ッチ用命令カウンタ4の確定の1サイクル後に確定する
という仮定をかいている。そのため、次命令選択レジス
タl5の内容が確定するのは、さらにその半サイクル後
にな9、命令語のループ終了指示フィールドの指示結果
は、2命令後に反映することになる。すなわち、ループ
終了指示フィールドは、「次の命令がループ最終命令で
ある」ことを指示するものとなる。
第4図は、本発明のもう一つの実施例を示す論理ブロッ
ク図である。本実施例と第1図との相違点は、ループ終
了デコーダ8の入力が、命令デコード用命令バ,ファ7
の出力ではなく、命令メモリ6の出力から直接取られて
いることである。
ク図である。本実施例と第1図との相違点は、ループ終
了デコーダ8の入力が、命令デコード用命令バ,ファ7
の出力ではなく、命令メモリ6の出力から直接取られて
いることである。
第5図は本実施例のうち、フエ,チ用命令カウンタ4、
命令メモリ6、訃よび次命令選択レジスタl5の内容変
化のタイぐングを示している。本実施例では、命令メモ
リ6の内容が、フェッチ用命令カウンタ4の確定の半サ
イクル後付近で確定するという仮定をかいている。次命
令選択レジスタl5の内容が、次サイクルの直前壕でに
確定すると、命令語のループ終了指示フィールドの指示
結果は、直後の命令に反映することになる。すなわち、
ループ終了指示フィールドは、「この命令がループ最終
命令である」ことを指示するものとなる。
命令メモリ6、訃よび次命令選択レジスタl5の内容変
化のタイぐングを示している。本実施例では、命令メモ
リ6の内容が、フェッチ用命令カウンタ4の確定の半サ
イクル後付近で確定するという仮定をかいている。次命
令選択レジスタl5の内容が、次サイクルの直前壕でに
確定すると、命令語のループ終了指示フィールドの指示
結果は、直後の命令に反映することになる。すなわち、
ループ終了指示フィールドは、「この命令がループ最終
命令である」ことを指示するものとなる。
以上説明したように、本発明を用いれば、ループの終了
はその命令アドレスと関係なく指定できる。そのため、
複数のループ終了地点を1つのループの内部に設定する
ことができる。これにより、余計なオーバーへ,ドなく
ループの途中終了を実現できるという効果がある。また
、本発明を用いると、ループの終了アドレスレジスタを
使用する必要がない。このため、多重ループなどにおい
て、ループ終了アドレスレジスタをネスティングする場
合などのハードウェアコストの増大がなく、少ないハー
ドウェア量で従来例と同様の処理を実現できるという効
果がある。
はその命令アドレスと関係なく指定できる。そのため、
複数のループ終了地点を1つのループの内部に設定する
ことができる。これにより、余計なオーバーへ,ドなく
ループの途中終了を実現できるという効果がある。また
、本発明を用いると、ループの終了アドレスレジスタを
使用する必要がない。このため、多重ループなどにおい
て、ループ終了アドレスレジスタをネスティングする場
合などのハードウェアコストの増大がなく、少ないハー
ドウェア量で従来例と同様の処理を実現できるという効
果がある。
第1図は本発明の一実施例・のプロ,ク図、第2図(a
) , (b)は第1図の実施例で実行される命令語の
フォーマ,ト図、第3図は第1図の動作を説明するタイ
ミング図、第4図は本発明の第2の実施例のブロック図
、第5図は第4図の動作を説明するタイミング図、第6
図は従来のループ命令の一例のフォーマット図、第7図
は従来のループ命令を実行する装置の一例のブロック図
、第8図は第7図の動作を説明するタイミング図である
。 l・・・・・・ループ開始アドレスレジスタ、2・・・
・・・分岐先アドレスレジスタ、3・・・・・・マルチ
プレクサ、4・・・・・・フエツチ用命令カウンタ、5
・・・・・・インクリメンタ、6・・・・・・命令メモ
リ、7・・・・・・命令デコード用命令パ,ファ、8・
・・・・・ループ終了デコーダ、9・・・・・・分岐命
令デコーダ、10・・・・・・ループカウンタ、11・
・・・・・デクリメンタ、12・・・・・・終了検出用
ルーブカウンタ、l3・・・・・・ゼロ検出器、14・
・・・・・次命令アドレス決定論理回路、l5・・・・
・・次命令選択レジスタ、16・・・・・・ループ終了
アドレスレジスタ、17・・・・・・一致検出回路。
) , (b)は第1図の実施例で実行される命令語の
フォーマ,ト図、第3図は第1図の動作を説明するタイ
ミング図、第4図は本発明の第2の実施例のブロック図
、第5図は第4図の動作を説明するタイミング図、第6
図は従来のループ命令の一例のフォーマット図、第7図
は従来のループ命令を実行する装置の一例のブロック図
、第8図は第7図の動作を説明するタイミング図である
。 l・・・・・・ループ開始アドレスレジスタ、2・・・
・・・分岐先アドレスレジスタ、3・・・・・・マルチ
プレクサ、4・・・・・・フエツチ用命令カウンタ、5
・・・・・・インクリメンタ、6・・・・・・命令メモ
リ、7・・・・・・命令デコード用命令パ,ファ、8・
・・・・・ループ終了デコーダ、9・・・・・・分岐命
令デコーダ、10・・・・・・ループカウンタ、11・
・・・・・デクリメンタ、12・・・・・・終了検出用
ルーブカウンタ、l3・・・・・・ゼロ検出器、14・
・・・・・次命令アドレス決定論理回路、l5・・・・
・・次命令選択レジスタ、16・・・・・・ループ終了
アドレスレジスタ、17・・・・・・一致検出回路。
Claims (1)
- プログラムループを高速に実行する情報処理装置のプロ
グラムループ制御方式において、前記プログラムループ
の開始アドレスを保持するループ開始アドレスレジスタ
手段と、命令語が前記プログラムループの最終命令であ
るかどうかをデコードするループ終了命令デコーダ手段
とを有し、前記ループ終了命令デコーダ手段のデコード
結果に基づいて前記プログラムループの開始アドレスに
分岐することを特徴とするプログラムループ制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18939989A JPH0353324A (ja) | 1989-07-21 | 1989-07-21 | プログラムループ制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18939989A JPH0353324A (ja) | 1989-07-21 | 1989-07-21 | プログラムループ制御方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0353324A true JPH0353324A (ja) | 1991-03-07 |
Family
ID=16240645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18939989A Pending JPH0353324A (ja) | 1989-07-21 | 1989-07-21 | プログラムループ制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0353324A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223282B1 (en) | 1997-12-29 | 2001-04-24 | Samsung Electronics Co., Ltd. | Circuit for controlling execution of loop in digital signal processing chip |
JP2021005355A (ja) * | 2019-06-26 | 2021-01-14 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | ループ命令集合を処理するための方法、装置、機器及び記憶媒体 |
-
1989
- 1989-07-21 JP JP18939989A patent/JPH0353324A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6223282B1 (en) | 1997-12-29 | 2001-04-24 | Samsung Electronics Co., Ltd. | Circuit for controlling execution of loop in digital signal processing chip |
JP2021005355A (ja) * | 2019-06-26 | 2021-01-14 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | ループ命令集合を処理するための方法、装置、機器及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5509130A (en) | Method and apparatus for grouping multiple instructions, issuing grouped instructions simultaneously, and executing grouped instructions in a pipelined processor | |
US5404552A (en) | Pipeline risc processing unit with improved efficiency when handling data dependency | |
US4974155A (en) | Variable delay branch system | |
US6889318B1 (en) | Instruction fusion for digital signal processor | |
US20080215864A1 (en) | Method and apparatus for instruction pointer storage element configuration in a simultaneous multithreaded processor | |
US4833640A (en) | Register bank change including register to register transfer in a data processing system | |
US4893233A (en) | Method and apparatus for dynamically controlling each stage of a multi-stage pipelined data unit | |
KR19990044957A (ko) | 데이터 처리기에서의 후속 명령 처리에 영향을 미치는 방법 및장치 | |
US6145074A (en) | Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction | |
US5978905A (en) | Program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions | |
EP0378415A2 (en) | Multiple instruction dispatch mechanism | |
US5941984A (en) | Data processing device | |
US5301331A (en) | Interruption handling system | |
US5850551A (en) | Compiler and processor for processing loops at high speed | |
CN117193861B (zh) | 指令处理方法、装置、计算机设备和存储介质 | |
US7010677B2 (en) | Data processor speeding up repeat processing by inhibiting remaining instructions after a break in a repeat block | |
JPH0353324A (ja) | プログラムループ制御方式 | |
US5737562A (en) | CPU pipeline having queuing stage to facilitate branch instructions | |
US5212779A (en) | System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction | |
US5838961A (en) | Method of operation and apparatus for optimizing execution of short instruction branches | |
JP3335735B2 (ja) | 演算処理装置 | |
JP2581565B2 (ja) | ガード付命令を実行するデータ処理装置 | |
JP2924735B2 (ja) | パイプライン演算装置及びデコーダ装置 | |
KR100515039B1 (ko) | 조건부 명령어를 고려한 파이프라인 상태 표시 회로 | |
JP3512707B2 (ja) | マイクロコンピュータ |