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
Application number
JP62249975A
Other languages
English (en)
Other versions
JPH0646382B2 (ja
Inventor
Toshio Mitsusaka
敏夫 三坂
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP62249975A priority Critical patent/JPH0646382B2/ja
Priority to US07/252,927 priority patent/US5050076A/en
Priority to AU23438/88A priority patent/AU604358B2/en
Publication of JPH0193825A publication Critical patent/JPH0193825A/ja
Publication of JPH0646382B2 publication Critical patent/JPH0646382B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction 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分岐命令や割込によって
分岐が発生した場会に、プリフェッチキー−を−旦空、
すなわち、プリフェッチした命令を無効化するよう制御
するものが殆んどである。従って分岐先の命令がメモリ
から読出され、キューに貯まるまでの間、電子計算機の
命令実行は停止される。
第3図は従来のプリフェッチを行なう電子計算機の一例
のブロック構成図を示し9本例のプリフェッチキューは
47−ドのレジスタ1を持つ。有効な命令がメモリから
到着すると、バスユニット17はそれをプリフェッチバ
ス13に乗せ、 ENQ信号16を1”にする。この動
作によシ、カウンタ6の指しているキューレジスタlに
命令をセノドするとともに、カウンタ6をインクリメン
トする。すなわち、カウンタ6は1次のENQ信号でど
のキューレジスタ1に格納すべきかを記憶している。
実行制御ユニツ)19が命令を実行できる状態にあると
、デコードユニット18はカウンタ7が指しているキー
−レジスタlの内容をマルチプレクサ8を介して読出し
デコードを開始するとともに、 DEQ信号を1″にす
る。この動作によシ。
カウンタ7はインクリメントされる。すなわちカウンタ
7は1次にどのキューレジスタ1の内容を読出してデコ
ードすべきかを記憶している。
分岐が発生すると、 FLSH信号9が“1″となシ。
カウンタ6およびカウンタ7はOクリヤされる。
すなわちノリフェッチキューは一旦空の状態となる。一
方実行制御ユニット19は、バスユニット17を介して
2分岐先アドレスを出力しており。
ブリフェッチキューでは2分岐先の命令が到着するのを
待つ。この間実行制御ユニット19とデコードユニット
18は、休止状態となる。
〔発明が解決しようとする問題点〕
上述したように、この種の電子計算機は2分岐発生時に
一時的に、命令を実行しない時間が生じておp、多くの
プログラムでは分岐の頻度が高いき ため、いわばこの空lの時間が多いという問題があった
電子計算機において2分岐発生時に一時的に命令を実行
しない時間をなくしたグリフエッチキュー制御方式を提
供するものである。
〔問題点を解決するための手段〕
本発明によると命令先取りを行なう電子計算仮において
1分岐発生時の命令先取りに使用するバッファとは別に
最大で該バッファと同じ長さまでの命令列を記憶できる
該記憶手段と、該記憶手段に命令列を書込む手段と、前
記命令列の総有効長を記憶する記憶手段と1分岐発生時
に前記命令列を前記バッファに転送する転送手段を含む
ことを特徴とするブリフェッチキュー制御方式が得られ
る。
すなわち本発明は分岐発生時に1分岐先の命令が到着す
るまでの時間を利用し、あらかじめ設定された命令列を
実行させることにより、グログラムの検証などの目的に
利用しようというものである。
〔実施例〕
次に本発明を実施例について説明する。
第1図は2本発明を採用し、た電子計算機の一笑施例の
ブロック図であシ2本発明の関与するブリフェッチキュ
ーの部分のみを詳しく示しており。
それ以外は簡略化しである。
第1図において、4は最大でブリフェッチキー−と同じ
長さまでの命令列を記憶できるトランジェントキューレ
ジスタ、5は前記命令列の総有効長を記憶するレングス
レジスタである。
第2図(a)はトランジェントキューレジスタ4にデー
タをセットする命令のフォーマットの例である。この命
令が実行制御ユニット19で実行されると、トランジェ
ントキューレジスタ4のセット信号11のうち、フィー
ルド101で示される番号のものが1′とな9.フィー
ルド102のデータが内部バス10に出力される。この
結果フィールド102のデータがフィールド101で示
されるトランジェントキューレジスタに格納される。
第2図(b)は、レングスレジスタ5に値をセットする
命令のフォーマットの例である。この命令が実行制御ユ
ニット19で実行されると、セント信号12が1”とな
シ、内部データバス1oにフィールド103の内容が出
力される。この結果フィールド103の内容がレングス
レジスタ5にセットされる。なお、レングスレジスタ5
は電源投入時にリセットしておく。
第2図(、)および(b)の命令を使用し1分岐命令発
生時に実行したい命令と、その長さをトランジェントキ
ューレジスタ4およびレングスレジスタ5に格納してお
くと2分岐命令発生時には1本ノリフェッチキューは2
次の様に動作する。
分岐命令が発生すると、 FLSH信号9に1nが出力
され、カウンタ6にはレングスカウンタ5の値がセント
され、カウンタ7はクリヤされる。−方、キューレジス
タ1の入力データを選択するマルチプレクサ2はトラン
ジェントキュー側を選択している。FLSH信号9はキ
ューレジスタ1のセット信号にもなっておシ、すべての
トランジェントキューレジスタ4の内容がキューレジス
タ1に格納される。
この動作の結果、トランジェントキューレジスタ4の内
容がレングスレジスタ5に指定した長さだけキューレジ
スタ5にたまることと同じ効果を生み、これらの命令が
分岐先の命令の到着に先立って実行される。
第4図(a)ij:本発明を使用しない従来の計算機の
フローチャート、 (b)は本発明の実施例の計算機で
(a)と等価の動作を行なうフローチャートである。
処理Cがジャンプ先が到着するまでの時間にて処理され
る為、(b)では、ループ内の命令が実効的に1ステツ
プ少なくなっており 、 (、)よシも高速に実行され
る。
また、この実施例によると被検査対象のグログラムを変
えることなく、動作の解析を行なうことを可能にする。
第5図は動作解析を行なう例のフローチャートで、トラ
ンジェントキューレジスタにソフトウェア割込命令を格
納しておくと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図

Claims (1)

    【特許請求の範囲】
  1. 1、命令先取りを行なう電子計算機において、分岐発生
    時の命令先取りに使用するバッファとは別に最大で該バ
    ッファと同じ長さまでの命令列を記憶できる記憶手段と
    、該記憶手段に命令列を書込む手段と、前記命令列の総
    有効長を記憶する記憶手段と、分岐発生時に前記命令列
    を前記バッファに転送する転送手段を含むことを特徴と
    するプリフェッチキュー制御方式。
JP62249975A 1987-10-05 1987-10-05 プリフェッチキュー制御方式 Expired - Lifetime JPH0646382B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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) パイプライン計算機