JPH0193825A - プリフェッチキュー制御方式 - Google Patents
プリフェッチキュー制御方式Info
- Publication number
- JPH0193825A JPH0193825A JP62249975A JP24997587A JPH0193825A JP H0193825 A JPH0193825 A JP H0193825A JP 62249975 A JP62249975 A JP 62249975A JP 24997587 A JP24997587 A JP 24997587A JP H0193825 A JPH0193825 A JP H0193825A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- queue
- counter
- signal
- 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
Links
- 238000000034 method Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 4
- 238000009825 accumulation Methods 0.000 abstract 1
- 230000001052 transient effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 241001455214 Acinonyx jubatus Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3802—Instruction prefetching
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は命令の先取シ(以下、これをノリフェッチと呼
ぶ)を行なう電子計算機において分岐発生時のプリフェ
ッチに使用するバッファ(以下。
ぶ)を行なう電子計算機において分岐発生時のプリフェ
ッチに使用するバッファ(以下。
これをプリフェッチキューと呼ぶ)の制御方式に関する
。
。
近年、処理速度向上の為、命令の実行と並行して後続の
命令のフェッチを行なういわゆるプリフェッチ方式の電
子計算機が多くなってきた。プリフェッチ方式の電子計
算機では、制御の容易さから2分岐命令や割込によって
分岐が発生した場会に、プリフェッチキー−を−旦空、
すなわち、プリフェッチした命令を無効化するよう制御
するものが殆んどである。従って分岐先の命令がメモリ
から読出され、キューに貯まるまでの間、電子計算機の
命令実行は停止される。
命令のフェッチを行なういわゆるプリフェッチ方式の電
子計算機が多くなってきた。プリフェッチ方式の電子計
算機では、制御の容易さから2分岐命令や割込によって
分岐が発生した場会に、プリフェッチキー−を−旦空、
すなわち、プリフェッチした命令を無効化するよう制御
するものが殆んどである。従って分岐先の命令がメモリ
から読出され、キューに貯まるまでの間、電子計算機の
命令実行は停止される。
第3図は従来のプリフェッチを行なう電子計算機の一例
のブロック構成図を示し9本例のプリフェッチキューは
47−ドのレジスタ1を持つ。有効な命令がメモリから
到着すると、バスユニット17はそれをプリフェッチバ
ス13に乗せ、 ENQ信号16を1”にする。この動
作によシ、カウンタ6の指しているキューレジスタlに
命令をセノドするとともに、カウンタ6をインクリメン
トする。すなわち、カウンタ6は1次のENQ信号でど
のキューレジスタ1に格納すべきかを記憶している。
のブロック構成図を示し9本例のプリフェッチキューは
47−ドのレジスタ1を持つ。有効な命令がメモリから
到着すると、バスユニット17はそれをプリフェッチバ
ス13に乗せ、 ENQ信号16を1”にする。この動
作によシ、カウンタ6の指しているキューレジスタlに
命令をセノドするとともに、カウンタ6をインクリメン
トする。すなわち、カウンタ6は1次のENQ信号でど
のキューレジスタ1に格納すべきかを記憶している。
実行制御ユニツ)19が命令を実行できる状態にあると
、デコードユニット18はカウンタ7が指しているキー
−レジスタlの内容をマルチプレクサ8を介して読出し
デコードを開始するとともに、 DEQ信号を1″にす
る。この動作によシ。
、デコードユニット18はカウンタ7が指しているキー
−レジスタlの内容をマルチプレクサ8を介して読出し
デコードを開始するとともに、 DEQ信号を1″にす
る。この動作によシ。
カウンタ7はインクリメントされる。すなわちカウンタ
7は1次にどのキューレジスタ1の内容を読出してデコ
ードすべきかを記憶している。
7は1次にどのキューレジスタ1の内容を読出してデコ
ードすべきかを記憶している。
分岐が発生すると、 FLSH信号9が“1″となシ。
カウンタ6およびカウンタ7はOクリヤされる。
すなわちノリフェッチキューは一旦空の状態となる。一
方実行制御ユニット19は、バスユニット17を介して
2分岐先アドレスを出力しており。
方実行制御ユニット19は、バスユニット17を介して
2分岐先アドレスを出力しており。
ブリフェッチキューでは2分岐先の命令が到着するのを
待つ。この間実行制御ユニット19とデコードユニット
18は、休止状態となる。
待つ。この間実行制御ユニット19とデコードユニット
18は、休止状態となる。
上述したように、この種の電子計算機は2分岐発生時に
一時的に、命令を実行しない時間が生じておp、多くの
プログラムでは分岐の頻度が高いき ため、いわばこの空lの時間が多いという問題があった
。
一時的に、命令を実行しない時間が生じておp、多くの
プログラムでは分岐の頻度が高いき ため、いわばこの空lの時間が多いという問題があった
。
電子計算機において2分岐発生時に一時的に命令を実行
しない時間をなくしたグリフエッチキュー制御方式を提
供するものである。
しない時間をなくしたグリフエッチキュー制御方式を提
供するものである。
本発明によると命令先取りを行なう電子計算仮において
1分岐発生時の命令先取りに使用するバッファとは別に
最大で該バッファと同じ長さまでの命令列を記憶できる
該記憶手段と、該記憶手段に命令列を書込む手段と、前
記命令列の総有効長を記憶する記憶手段と1分岐発生時
に前記命令列を前記バッファに転送する転送手段を含む
ことを特徴とするブリフェッチキュー制御方式が得られ
る。
1分岐発生時の命令先取りに使用するバッファとは別に
最大で該バッファと同じ長さまでの命令列を記憶できる
該記憶手段と、該記憶手段に命令列を書込む手段と、前
記命令列の総有効長を記憶する記憶手段と1分岐発生時
に前記命令列を前記バッファに転送する転送手段を含む
ことを特徴とするブリフェッチキュー制御方式が得られ
る。
すなわち本発明は分岐発生時に1分岐先の命令が到着す
るまでの時間を利用し、あらかじめ設定された命令列を
実行させることにより、グログラムの検証などの目的に
利用しようというものである。
るまでの時間を利用し、あらかじめ設定された命令列を
実行させることにより、グログラムの検証などの目的に
利用しようというものである。
次に本発明を実施例について説明する。
第1図は2本発明を採用し、た電子計算機の一笑施例の
ブロック図であシ2本発明の関与するブリフェッチキュ
ーの部分のみを詳しく示しており。
ブロック図であシ2本発明の関与するブリフェッチキュ
ーの部分のみを詳しく示しており。
それ以外は簡略化しである。
第1図において、4は最大でブリフェッチキー−と同じ
長さまでの命令列を記憶できるトランジェントキューレ
ジスタ、5は前記命令列の総有効長を記憶するレングス
レジスタである。
長さまでの命令列を記憶できるトランジェントキューレ
ジスタ、5は前記命令列の総有効長を記憶するレングス
レジスタである。
第2図(a)はトランジェントキューレジスタ4にデー
タをセットする命令のフォーマットの例である。この命
令が実行制御ユニット19で実行されると、トランジェ
ントキューレジスタ4のセット信号11のうち、フィー
ルド101で示される番号のものが1′とな9.フィー
ルド102のデータが内部バス10に出力される。この
結果フィールド102のデータがフィールド101で示
されるトランジェントキューレジスタに格納される。
タをセットする命令のフォーマットの例である。この命
令が実行制御ユニット19で実行されると、トランジェ
ントキューレジスタ4のセット信号11のうち、フィー
ルド101で示される番号のものが1′とな9.フィー
ルド102のデータが内部バス10に出力される。この
結果フィールド102のデータがフィールド101で示
されるトランジェントキューレジスタに格納される。
第2図(b)は、レングスレジスタ5に値をセットする
命令のフォーマットの例である。この命令が実行制御ユ
ニット19で実行されると、セント信号12が1”とな
シ、内部データバス1oにフィールド103の内容が出
力される。この結果フィールド103の内容がレングス
レジスタ5にセットされる。なお、レングスレジスタ5
は電源投入時にリセットしておく。
命令のフォーマットの例である。この命令が実行制御ユ
ニット19で実行されると、セント信号12が1”とな
シ、内部データバス1oにフィールド103の内容が出
力される。この結果フィールド103の内容がレングス
レジスタ5にセットされる。なお、レングスレジスタ5
は電源投入時にリセットしておく。
第2図(、)および(b)の命令を使用し1分岐命令発
生時に実行したい命令と、その長さをトランジェントキ
ューレジスタ4およびレングスレジスタ5に格納してお
くと2分岐命令発生時には1本ノリフェッチキューは2
次の様に動作する。
生時に実行したい命令と、その長さをトランジェントキ
ューレジスタ4およびレングスレジスタ5に格納してお
くと2分岐命令発生時には1本ノリフェッチキューは2
次の様に動作する。
分岐命令が発生すると、 FLSH信号9に1nが出力
され、カウンタ6にはレングスカウンタ5の値がセント
され、カウンタ7はクリヤされる。−方、キューレジス
タ1の入力データを選択するマルチプレクサ2はトラン
ジェントキュー側を選択している。FLSH信号9はキ
ューレジスタ1のセット信号にもなっておシ、すべての
トランジェントキューレジスタ4の内容がキューレジス
タ1に格納される。
され、カウンタ6にはレングスカウンタ5の値がセント
され、カウンタ7はクリヤされる。−方、キューレジス
タ1の入力データを選択するマルチプレクサ2はトラン
ジェントキュー側を選択している。FLSH信号9はキ
ューレジスタ1のセット信号にもなっておシ、すべての
トランジェントキューレジスタ4の内容がキューレジス
タ1に格納される。
この動作の結果、トランジェントキューレジスタ4の内
容がレングスレジスタ5に指定した長さだけキューレジ
スタ5にたまることと同じ効果を生み、これらの命令が
分岐先の命令の到着に先立って実行される。
容がレングスレジスタ5に指定した長さだけキューレジ
スタ5にたまることと同じ効果を生み、これらの命令が
分岐先の命令の到着に先立って実行される。
第4図(a)ij:本発明を使用しない従来の計算機の
フローチャート、 (b)は本発明の実施例の計算機で
(a)と等価の動作を行なうフローチャートである。
フローチャート、 (b)は本発明の実施例の計算機で
(a)と等価の動作を行なうフローチャートである。
処理Cがジャンプ先が到着するまでの時間にて処理され
る為、(b)では、ループ内の命令が実効的に1ステツ
プ少なくなっており 、 (、)よシも高速に実行され
る。
る為、(b)では、ループ内の命令が実効的に1ステツ
プ少なくなっており 、 (、)よシも高速に実行され
る。
また、この実施例によると被検査対象のグログラムを変
えることなく、動作の解析を行なうことを可能にする。
えることなく、動作の解析を行なうことを可能にする。
第5図は動作解析を行なう例のフローチャートで、トラ
ンジェントキューレジスタにソフトウェア割込命令を格
納しておくと2分岐発生のたびに解析プログラムが呼ば
れ各穐の解析を行なうことができる。
ンジェントキューレジスタにソフトウェア割込命令を格
納しておくと2分岐発生のたびに解析プログラムが呼ば
れ各穐の解析を行なうことができる。
以上説明したように本発明は2分岐命令発生時にあらか
じめセットされた命令をブリフェッチキューに転送する
ことにより2分岐先の命令の実行に先立って実行するこ
とができ2分岐発生時に一時的に命令を実行しない時間
を無くすことができる効果がある。
じめセットされた命令をブリフェッチキューに転送する
ことにより2分岐先の命令の実行に先立って実行するこ
とができ2分岐発生時に一時的に命令を実行しない時間
を無くすことができる効果がある。
第1図は本発明を採用した電子計算機の部分的なブロッ
ク図、第2図(、) (b)は第1図のトランジェント
キューレジスタとレングスレジスタにデータをセットす
る為の命令の一例のフォーマット図。 第3図は従来の電子計算機の部分的なブロック図。 第4図(、)は本発明を使用しない場合の一例のフロー
チャー) 、 (b)は(a)と等価な動作を行なう1
本発明を採用した場合の一例のフローチャート、第5図
は本発明を採用しプログラムの動作を解析する場合の一
例のフローチャートである。 1・・・キューレジスタ、2・・・マルチプレクサ、3
・・・ゲート、4・・・トランジェントキューレジスタ
。 5・・・レングスレジスタ、6,7・・・カウンタ、8
・・・マルチプレクサ、9・・・FLSH信号、10・
・・内部データバス、11.12・・・セット信号、1
3・・・ブリフェッチパス、14・・・命令パス、15
・・・DEQ(8号。 16・・・ENQ信号、17・・・パスユニット、18
・・・デコ−トユ=ノド、19・・・実行制御二二ソ)
、 101・・・トランジェントキューレジスタ番号
フィールド。 102・・・セットチータフイールド、1o3・・・レ
ングスフィールド。 第2図 (a) (b) 第4図 (a) (b) 第5図
ク図、第2図(、) (b)は第1図のトランジェント
キューレジスタとレングスレジスタにデータをセットす
る為の命令の一例のフォーマット図。 第3図は従来の電子計算機の部分的なブロック図。 第4図(、)は本発明を使用しない場合の一例のフロー
チャー) 、 (b)は(a)と等価な動作を行なう1
本発明を採用した場合の一例のフローチャート、第5図
は本発明を採用しプログラムの動作を解析する場合の一
例のフローチャートである。 1・・・キューレジスタ、2・・・マルチプレクサ、3
・・・ゲート、4・・・トランジェントキューレジスタ
。 5・・・レングスレジスタ、6,7・・・カウンタ、8
・・・マルチプレクサ、9・・・FLSH信号、10・
・・内部データバス、11.12・・・セット信号、1
3・・・ブリフェッチパス、14・・・命令パス、15
・・・DEQ(8号。 16・・・ENQ信号、17・・・パスユニット、18
・・・デコ−トユ=ノド、19・・・実行制御二二ソ)
、 101・・・トランジェントキューレジスタ番号
フィールド。 102・・・セットチータフイールド、1o3・・・レ
ングスフィールド。 第2図 (a) (b) 第4図 (a) (b) 第5図
Claims (1)
- 1、命令先取りを行なう電子計算機において、分岐発生
時の命令先取りに使用するバッファとは別に最大で該バ
ッファと同じ長さまでの命令列を記憶できる記憶手段と
、該記憶手段に命令列を書込む手段と、前記命令列の総
有効長を記憶する記憶手段と、分岐発生時に前記命令列
を前記バッファに転送する転送手段を含むことを特徴と
するプリフェッチキュー制御方式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62249975A JPH0646382B2 (ja) | 1987-10-05 | 1987-10-05 | プリフェッチキュー制御方式 |
US07/252,927 US5050076A (en) | 1987-10-05 | 1988-10-04 | Prefetching queue control system |
AU23438/88A AU604358B2 (en) | 1987-10-05 | 1988-10-05 | Prefetching queue control system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62249975A JPH0646382B2 (ja) | 1987-10-05 | 1987-10-05 | プリフェッチキュー制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0193825A true JPH0193825A (ja) | 1989-04-12 |
JPH0646382B2 JPH0646382B2 (ja) | 1994-06-15 |
Family
ID=17200971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62249975A Expired - Lifetime JPH0646382B2 (ja) | 1987-10-05 | 1987-10-05 | プリフェッチキュー制御方式 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5050076A (ja) |
JP (1) | JPH0646382B2 (ja) |
AU (1) | AU604358B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222241A (en) * | 1987-06-05 | 1993-06-22 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor having duplex working registers for switching to standby state during interrupt processing |
US5323489A (en) * | 1991-11-14 | 1994-06-21 | Bird Peter L | Method and apparatus employing lookahead to reduce memory bank contention for decoupled operand references |
JP2536726B2 (ja) * | 1993-07-07 | 1996-09-18 | 日本電気株式会社 | マイクロプロセッサ |
JP3741870B2 (ja) * | 1998-08-07 | 2006-02-01 | 富士通株式会社 | 命令及びデータの先読み方法、マイクロコントローラ、疑似命令検出回路 |
US8560778B2 (en) | 2011-07-11 | 2013-10-15 | Memory Technologies Llc | Accessing data blocks with pre-fetch information |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4318174A (en) * | 1975-12-04 | 1982-03-02 | Tokyo Shibaura Electric Co., Ltd. | Multi-processor system employing job-swapping between different priority processors |
US4200927A (en) * | 1978-01-03 | 1980-04-29 | International Business Machines Corporation | Multi-instruction stream branch processing mechanism |
JPS56149646A (en) * | 1980-04-21 | 1981-11-19 | Toshiba Corp | Operation controller |
US4373180A (en) * | 1980-07-09 | 1983-02-08 | Sperry Corporation | Microprogrammed control system capable of pipelining even when executing a conditional branch instruction |
US4604691A (en) * | 1982-09-07 | 1986-08-05 | Nippon Electric Co., Ltd. | Data processing system having branch instruction prefetching performance |
US4594659A (en) * | 1982-10-13 | 1986-06-10 | Honeywell Information Systems Inc. | Method and apparatus for prefetching instructions for a central execution pipeline unit |
US4566063A (en) * | 1983-10-17 | 1986-01-21 | Motorola, Inc. | Data processor which can repeat the execution of instruction loops with minimal instruction fetches |
-
1987
- 1987-10-05 JP JP62249975A patent/JPH0646382B2/ja not_active Expired - Lifetime
-
1988
- 1988-10-04 US US07/252,927 patent/US5050076A/en not_active Expired - Fee Related
- 1988-10-05 AU AU23438/88A patent/AU604358B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
JPH0646382B2 (ja) | 1994-06-15 |
US5050076A (en) | 1991-09-17 |
AU2343888A (en) | 1989-04-06 |
AU604358B2 (en) | 1990-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4967338A (en) | Loosely coupled pipeline processor | |
JPH0527143B2 (ja) | ||
JP2773471B2 (ja) | 情報処理装置 | |
JPH0673105B2 (ja) | 命令パイプライン方式のマイクロプロセッサ | |
US20040172518A1 (en) | Information processing unit and information processing method | |
JPH03233630A (ja) | 情報処理装置 | |
JPH0193825A (ja) | プリフェッチキュー制御方式 | |
US6405300B1 (en) | Combining results of selectively executed remaining sub-instructions with that of emulated sub-instruction causing exception in VLIW processor | |
JPH07306785A (ja) | 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法 | |
US7983894B2 (en) | Data processing | |
JP2668987B2 (ja) | データ処理装置 | |
JP2856784B2 (ja) | 電子計算機 | |
Lass | Wide channel computers | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP2545594B2 (ja) | オペランドデータ先取り方式 | |
JPS6249545A (ja) | 先取り制御処理装置 | |
EP0365187A2 (en) | Apparatus for selective execution of instructions following a branch instruction | |
JPH0752402B2 (ja) | データ処理装置 | |
JPS61294550A (ja) | 電子計算機におけるデ−タ読取書込制御方式 | |
JPH0462637A (ja) | マイクロプロセッサ | |
JPH0451858B2 (ja) | ||
JPS6232507B2 (ja) | ||
JPS61118840A (ja) | 電子計算機の制御方式 | |
JPH02121034A (ja) | 分岐制御装置 | |
JPS58129553A (ja) | パイプライン計算機 |