JPH0256636A - 分岐制御装置 - Google Patents
分岐制御装置Info
- Publication number
- JPH0256636A JPH0256636A JP20741888A JP20741888A JPH0256636A JP H0256636 A JPH0256636 A JP H0256636A JP 20741888 A JP20741888 A JP 20741888A JP 20741888 A JP20741888 A JP 20741888A JP H0256636 A JPH0256636 A JP H0256636A
- Authority
- JP
- Japan
- Prior art keywords
- branch destination
- branch
- destination address
- instruction
- register
- 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
Landscapes
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の目的〕
(産業上の利用分野)
本発明はコンピュータなどに用いられる分岐制御装置に
関する。
関する。
(従来の技術)
従来、コンビ二一夕などの分岐命令を高速に実行するた
めに、ブランチ−ターゲット・キャッシユなどの技術が
用いられてきた。これは分岐先のアドレスと命令とを高
速にアクセスできるキャVシェ・メモリにストアして2
いて、2度目以降の分岐が同じアドレスであるteには
このキャッシユから分岐先の命令をフェッチしてくると
いうものである。
めに、ブランチ−ターゲット・キャッシユなどの技術が
用いられてきた。これは分岐先のアドレスと命令とを高
速にアクセスできるキャVシェ・メモリにストアして2
いて、2度目以降の分岐が同じアドレスであるteには
このキャッシユから分岐先の命令をフェッチしてくると
いうものである。
しかし、従来の技術においては、キャッシユの制御のた
めに複雑なハードウェアを必要とし、装置が大がかりで
高価なものになりてしまうという問題点かありたつ (発明が解決しようとする課題) この様に従来の技術では、分岐命令をキャッシュ制御に
より実行していたため、複雑なハードウェアを必要とす
るという欠点が有りた。
めに複雑なハードウェアを必要とし、装置が大がかりで
高価なものになりてしまうという問題点かありたつ (発明が解決しようとする課題) この様に従来の技術では、分岐命令をキャッシュ制御に
より実行していたため、複雑なハードウェアを必要とす
るという欠点が有りた。
そこで本発明は、複雑なハードウェア等を必要とせずに
、分岐命令を高速実行できる装置を提供することを目的
としている。
、分岐命令を高速実行できる装置を提供することを目的
としている。
(課題を解決するための手段)
本発明においては、前記問題点を解決するために、ブラ
ンチ・ターゲフト・キャッシユの代わりに導線なレジス
タを設け、現在のプログラム・カウンタより小さいアド
レスへの分岐のみを佳録するものである。
ンチ・ターゲフト・キャッシユの代わりに導線なレジス
タを設け、現在のプログラム・カウンタより小さいアド
レスへの分岐のみを佳録するものである。
(作用)
分岐の実行時間が問題となるのは、ループはどのように
同一の分岐が多数回実行される場合である。ループは現
在のプログラム・カウンタより小さいアドレス、すなわ
ち後方への分岐である(第2図参照)。従りて、本発明
のようにプログラム・カウンタと分岐先アドレスとを比
較し、後方への分岐をレジスタに登録することによりて
、実行時間が間魂となる分岐を高速に実行することがで
きる。第3図のようにループが多重になりているvIj
廿、一番内測のループから回り出すので、このようなF
JA8−でも本発明は同様蛋こ作用する。ループの中に
非ループ性の分岐が存在する場合、列えば44図のよう
な局曾があるが、このような鴨曾に非ループ性の分岐は
レジスタ奢こ登録されないため、ループの部分だけが高
速化される。しかし、非ループ性の分岐は1回ごとに分
岐先が異なる性格の物であるから、ループと比較して実
行時1@が問題となる可能性は低い。
同一の分岐が多数回実行される場合である。ループは現
在のプログラム・カウンタより小さいアドレス、すなわ
ち後方への分岐である(第2図参照)。従りて、本発明
のようにプログラム・カウンタと分岐先アドレスとを比
較し、後方への分岐をレジスタに登録することによりて
、実行時間が間魂となる分岐を高速に実行することがで
きる。第3図のようにループが多重になりているvIj
廿、一番内測のループから回り出すので、このようなF
JA8−でも本発明は同様蛋こ作用する。ループの中に
非ループ性の分岐が存在する場合、列えば44図のよう
な局曾があるが、このような鴨曾に非ループ性の分岐は
レジスタ奢こ登録されないため、ループの部分だけが高
速化される。しかし、非ループ性の分岐は1回ごとに分
岐先が異なる性格の物であるから、ループと比較して実
行時1@が問題となる可能性は低い。
(実jill1例)
以下に図1iiを参照して、本宅病の具体的実施例につ
いて説明する。
いて説明する。
i1図は本発明の一実施例を示す図である。通常実行さ
れる命令は、メモリlから命令バッファ21こフェッチ
され、デコード/実行ユニット3で実行される0分岐岐
令は、デコード/実行ユニット中の分岐制御部で処理さ
れ、分岐信号と分岐先アドレスが生成される。分岐信号
によりてプログラム・カラ/り4が分岐先アドレスに更
新される。
れる命令は、メモリlから命令バッファ21こフェッチ
され、デコード/実行ユニット3で実行される0分岐岐
令は、デコード/実行ユニット中の分岐制御部で処理さ
れ、分岐信号と分岐先アドレスが生成される。分岐信号
によりてプログラム・カラ/り4が分岐先アドレスに更
新される。
さらに、分岐先アドレスは比較器5によりて更新される
前のプログラム・カウンタと比較される。
前のプログラム・カウンタと比較される。
この比較器はプログラムeカウンタの直より分岐先アド
レスがl」\さい鴇廿に信号を出す。この信号は分岐信
号とゲート6によりANDが取られ、ラッチ信号となる
。このラッチ信号は後方への分岐であることを示してい
る。ラッチ信号は分岐先アドレスと、遅延器8による一
足の遅延の後分岐先命令を、それぞれ分岐先アドレス・
レジスタ713よび分岐先命令レジスタ9にうVチする
。一方、分岐先アドレスは比較器lOによりて分岐先ア
ドレス・レジスタと比較される。この比較器は分岐先ア
ドレス拳レジスタと分岐先アドレスが等しい時信号を出
す。この信号は分岐信号とゲートllによりANDが取
られ選択信号となる。この選択信号は分岐先が最も最近
の後方への分岐先と一致したことを示している1選択信
号はセレクタ12に供給され、通常の命令バッファの代
わりに分岐先命守レジスタの内存を選択するにれ番こよ
り、罰もってフェVチしてきてありた分岐先の命令が高
速に実行される。
レスがl」\さい鴇廿に信号を出す。この信号は分岐信
号とゲート6によりANDが取られ、ラッチ信号となる
。このラッチ信号は後方への分岐であることを示してい
る。ラッチ信号は分岐先アドレスと、遅延器8による一
足の遅延の後分岐先命令を、それぞれ分岐先アドレス・
レジスタ713よび分岐先命令レジスタ9にうVチする
。一方、分岐先アドレスは比較器lOによりて分岐先ア
ドレス・レジスタと比較される。この比較器は分岐先ア
ドレス拳レジスタと分岐先アドレスが等しい時信号を出
す。この信号は分岐信号とゲートllによりANDが取
られ選択信号となる。この選択信号は分岐先が最も最近
の後方への分岐先と一致したことを示している1選択信
号はセレクタ12に供給され、通常の命令バッファの代
わりに分岐先命守レジスタの内存を選択するにれ番こよ
り、罰もってフェVチしてきてありた分岐先の命令が高
速に実行される。
本発明は前記実施例に限定されるものではなく、その要
旨を変更しない範囲でさまざまの変形が可能である。例
えば、@5図に示すようにセレクタを112のように配
置してもよいし、第61擾こ示すように、分岐先の命令
そのものの代わりに命令のデコード結果をデコード結果
レジスタ202や分岐先デコード、′I!未レジスタ2
09にラッチし、これをセレクタ212で選択するよう
にしてもよい、後者の方法はパイプライン制御の1会に
より高速の実行が可能となる。この鳴曾、選択信号によ
りて、事前に登録された分岐先への分岐の際、プログラ
ム・カウンタを一つ先の自省を指すようにする必要があ
る。また、1!!延器208も遅延量を一つ増やす必要
がある。
旨を変更しない範囲でさまざまの変形が可能である。例
えば、@5図に示すようにセレクタを112のように配
置してもよいし、第61擾こ示すように、分岐先の命令
そのものの代わりに命令のデコード結果をデコード結果
レジスタ202や分岐先デコード、′I!未レジスタ2
09にラッチし、これをセレクタ212で選択するよう
にしてもよい、後者の方法はパイプライン制御の1会に
より高速の実行が可能となる。この鳴曾、選択信号によ
りて、事前に登録された分岐先への分岐の際、プログラ
ム・カウンタを一つ先の自省を指すようにする必要があ
る。また、1!!延器208も遅延量を一つ増やす必要
がある。
以上説明したように、本発明によれば、簡単なハードウ
ェアfζよりて分岐命令を高速に実行することができ、
実用的な効果が極めて大きい。
ェアfζよりて分岐命令を高速に実行することができ、
実用的な効果が極めて大きい。
@1図は本発明の構成と示すブロック図、第2図、#c
3図、@4図は本発明の詳細な説明するための図1.第
5.図、第6図は本発明の別の実施例を説明する図であ
る。 l・・・メモリ、2・・・命令バッファ、3・・・デコ
ード/実行ユニット% 4・・・プログラムカウンタ、
5゜10・・・比較回路、6.11・・・AND回路、
7・・・分岐先アドレスレジスタ、8・・・遅延回路、
9・・・分岐先岐曾レジスタ、12・・・セレクタ。 代理人 弁理士 則 近 fI 方向
松 山 光 2第 図 第 図 第 図
3図、@4図は本発明の詳細な説明するための図1.第
5.図、第6図は本発明の別の実施例を説明する図であ
る。 l・・・メモリ、2・・・命令バッファ、3・・・デコ
ード/実行ユニット% 4・・・プログラムカウンタ、
5゜10・・・比較回路、6.11・・・AND回路、
7・・・分岐先アドレスレジスタ、8・・・遅延回路、
9・・・分岐先岐曾レジスタ、12・・・セレクタ。 代理人 弁理士 則 近 fI 方向
松 山 光 2第 図 第 図 第 図
Claims (2)
- (1)プログラムを格納するメモリと、プログラムの実
行アドレスを指示するプログラム・カウンタと、分岐制
御機能を含むデコード/実行ユニットとを有する装置に
おいて、 分岐先アドレスとプログラム・カウンタとを比較する第
一の比較手段と、 分岐先アドレスを格納する分岐先アドレス・レジスタと
、 分岐先アドレスと前記分岐先アドレス・レジスタの内容
とを比較する第二の比較手段と、分岐先の命令を格納す
る分岐先命令レジスタと、分岐先アドレスが前記プログ
ラム・カウンタの値以下の場合に前記分岐先アドレス・
レジスタに該分岐先アドレスを格納し前記分岐先命令レ
ジスタに分岐先の命令を格納するラッチ制御手段と、前
記分岐先アドレス・レジスタの内容と分岐先アドレスが
等しい場合に前記メモリからフェッチされた命令の代わ
りに前記分岐先命令レジスタの命令を選択する選択手段
と を具備したことを特徴とする分岐制御装置。 - (2)分岐先命令レジスタはデコードされた後の命令を
格納するものである請求項1記載の分岐制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20741888A JPH0256636A (ja) | 1988-08-23 | 1988-08-23 | 分岐制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20741888A JPH0256636A (ja) | 1988-08-23 | 1988-08-23 | 分岐制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0256636A true JPH0256636A (ja) | 1990-02-26 |
Family
ID=16539425
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20741888A Pending JPH0256636A (ja) | 1988-08-23 | 1988-08-23 | 分岐制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0256636A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05134869A (ja) * | 1991-11-11 | 1993-06-01 | Nec Corp | 情報処理装置 |
| JPH06110685A (ja) * | 1990-06-29 | 1994-04-22 | Digital Equip Corp <Dec> | 高性能プロセッサにおける分岐予想方法 |
| JPH0727770A (ja) * | 1993-07-14 | 1995-01-31 | Aloka Co Ltd | 吐出量及び液だれ量の監視方法及びその分注装置 |
| JP2010066892A (ja) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | データプロセッサ及びデータ処理システム |
| US7793085B2 (en) | 2004-09-06 | 2010-09-07 | Fujitsu Semiconductor Limited | Memory control circuit and microprocessory system for pre-fetching instructions |
-
1988
- 1988-08-23 JP JP20741888A patent/JPH0256636A/ja active Pending
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06110685A (ja) * | 1990-06-29 | 1994-04-22 | Digital Equip Corp <Dec> | 高性能プロセッサにおける分岐予想方法 |
| JPH05134869A (ja) * | 1991-11-11 | 1993-06-01 | Nec Corp | 情報処理装置 |
| JPH0727770A (ja) * | 1993-07-14 | 1995-01-31 | Aloka Co Ltd | 吐出量及び液だれ量の監視方法及びその分注装置 |
| US7793085B2 (en) | 2004-09-06 | 2010-09-07 | Fujitsu Semiconductor Limited | Memory control circuit and microprocessory system for pre-fetching instructions |
| JP2010066892A (ja) * | 2008-09-09 | 2010-03-25 | Renesas Technology Corp | データプロセッサ及びデータ処理システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4476525A (en) | Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously | |
| JP2929057B2 (ja) | 命令データのストリームから複数の命令を選択する回路 | |
| US5168571A (en) | System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data | |
| US5235686A (en) | Computer system having mixed macrocode and microcode | |
| US6832305B2 (en) | Method and apparatus for executing coprocessor instructions | |
| JPH0736848A (ja) | 情報処理装置および処理方法 | |
| JP2535252B2 (ja) | 並列処理装置 | |
| US3553655A (en) | Short forward conditional skip hardware | |
| JPH0256636A (ja) | 分岐制御装置 | |
| JP2916605B2 (ja) | コンピュータ用プロセツサ | |
| US3644900A (en) | Data-processing device | |
| JPH06124207A (ja) | サブルーチン分岐命令実行方法 | |
| US5062036A (en) | Instruction prefetcher | |
| JP2944563B2 (ja) | パイプライン型情報処理装置 | |
| JPS63314644A (ja) | デ−タ処理装置 | |
| JP2977099B2 (ja) | 演算処理装置 | |
| JP2597744B2 (ja) | 分岐制御方法 | |
| JP3493110B2 (ja) | 高速分岐処理装置 | |
| JPS61175733A (ja) | 分岐予測制御方式 | |
| JP3625586B2 (ja) | プロセッサの命令実行制御システム | |
| JPH06161778A (ja) | マルチフロー命令制御方法及び命令処理装置 | |
| JPH0619705A (ja) | パイプライン制御方式 | |
| JPS61273637A (ja) | 情報処理装置 | |
| JPH04239918A (ja) | 中央処理装置 | |
| JPS60235249A (ja) | プロセツサ回路 |