JPS5952349A - 命令先取制御装置 - Google Patents
命令先取制御装置Info
- Publication number
- JPS5952349A JPS5952349A JP16186082A JP16186082A JPS5952349A JP S5952349 A JPS5952349 A JP S5952349A JP 16186082 A JP16186082 A JP 16186082A JP 16186082 A JP16186082 A JP 16186082A JP S5952349 A JPS5952349 A JP S5952349A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- buffer
- storage
- branch
- instructions
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は命令先取制御装置に係り、特に情報処理装置に
於ける命令先取りの制御方式に関するものである。
於ける命令先取りの制御方式に関するものである。
一般に、情報処理装置のプロセッサは、次の4つのステ
ップ(命令によっては第2.第3のステップが抜ける場
合もある。)を繰り返すことによって、プログラムを実
行する。
ップ(命令によっては第2.第3のステップが抜ける場
合もある。)を繰り返すことによって、プログラムを実
行する。
第1のステップ;メモリから次の命令を取り出す。
第2のステップ;オペランドを読み出す。
第3のステップ;命令を実行する。
第4のステップ;結果を書込む。
また、従来の情報処理装置の実行の方式として次の2つ
の方式がある。第1の方式はこれらのステップを直列に
実行するものであり、第2の方式はメモリからより多く
の連続した命令を取出し、命令バッファド呼ばれる先取
り専用の内部ランダムφアクセス・メモリ(RAM)に
格納し、順次これを実行するものである。
の方式がある。第1の方式はこれらのステップを直列に
実行するものであり、第2の方式はメモリからより多く
の連続した命令を取出し、命令バッファド呼ばれる先取
り専用の内部ランダムφアクセス・メモリ(RAM)に
格納し、順次これを実行するものである。
第1の方式の場合、現在実行中の命令が完全に終了した
稜に次の命令をメモリから取り出すのに対し、第2の方
式の場合、前の命令の実行中に次の命令を取り出し、前
の命令が実行終了後、ただちに次の命令を実行できるた
め、命令取り出しに要する時間を大幅に短縮することが
できる。
稜に次の命令をメモリから取り出すのに対し、第2の方
式の場合、前の命令の実行中に次の命令を取り出し、前
の命令が実行終了後、ただちに次の命令を実行できるた
め、命令取り出しに要する時間を大幅に短縮することが
できる。
しかしながら前記第2の方式に於ても、命令の流れを変
更する分岐命令の場合、あらかじめ先取りしておいた先
取りバッファの命令をすべて無効化し、分岐先アドレス
から新たに命令の取出しをしなおさなければならない。
更する分岐命令の場合、あらかじめ先取りしておいた先
取りバッファの命令をすべて無効化し、分岐先アドレス
から新たに命令の取出しをしなおさなければならない。
また、命令の実行結果によって、分岐を行うか行なわな
(・かが決定される条件付分岐命令のような場合、特に
その先取り制御が難しくなる。
(・かが決定される条件付分岐命令のような場合、特に
その先取り制御が難しくなる。
前記の欠点を克服するために、従来の技術では、命令の
先取り用に2個以上の命令バッファと、その制御回路及
び分岐命令の検出回路を設けることによって、先取りに
効果的に対処する方式が考えられている。すなわち、命
令を先取りした時点でその命令が分岐命令か否かを検出
し、無条件分岐命令ならば分岐先アドレスを計算し、そ
のアドレスから引続き先取りを行ない、条件付分岐命令
の場合には分岐の成功、不成功の両方の場合を考慮して
、それぞれ分岐先アドレスからの先取り及び分岐しな(
・場合の先取りを2つの命令バッファに並行して行う。
先取り用に2個以上の命令バッファと、その制御回路及
び分岐命令の検出回路を設けることによって、先取りに
効果的に対処する方式が考えられている。すなわち、命
令を先取りした時点でその命令が分岐命令か否かを検出
し、無条件分岐命令ならば分岐先アドレスを計算し、そ
のアドレスから引続き先取りを行ない、条件付分岐命令
の場合には分岐の成功、不成功の両方の場合を考慮して
、それぞれ分岐先アドレスからの先取り及び分岐しな(
・場合の先取りを2つの命令バッファに並行して行う。
従って、実際に条件付分岐命令を実行する際には分岐の
成功、不成功によって2つの命令バッファのうち一方を
選択し、以後の実行をそのバッファから行うことになる
。
成功、不成功によって2つの命令バッファのうち一方を
選択し、以後の実行をそのバッファから行うことになる
。
この方式は同時に複数命令の処理を行ういわゆるパイプ
ライン制御方式とあわせて高速な処理を噺 要求される大型形算機に用いられることが多いが、この
方式においても、条件付分岐命令の場合には両方の場合
を考慮して命令取り出しを行うので命令を格納して(・
る主メモリへのアクセス回数は増大し、主メモリの使用
効率を低下させるという欠点を有する。
ライン制御方式とあわせて高速な処理を噺 要求される大型形算機に用いられることが多いが、この
方式においても、条件付分岐命令の場合には両方の場合
を考慮して命令取り出しを行うので命令を格納して(・
る主メモリへのアクセス回数は増大し、主メモリの使用
効率を低下させるという欠点を有する。
本発明の目的は、前記欠点を解決した命令先取制御装置
を提供することにある。
を提供することにある。
本発明は、命令先取バッファ以外に、命令格納バッファ
と、この命令格納バッファへ格納を開始することを指令
する命令(格納開始命令)手段と、この命令を命令先取
り時に検出する検出器と、この命令格納バッファを分岐
先として指定する条件付分岐命令手段とを備え、命令先
取り時に前記格納開始命令を検出すると以降の先取り命
令を前記命令格納バッファのサイズ分だけ、前記命令先
取リバッファだけでなく前記命令格納バッファへも格納
し、前記条件付分岐命令による分岐の際前記命令格納バ
ッファからの命令取り出しを行うように構成されている
ことを特徴とする命令先取制御装置にある。
と、この命令格納バッファへ格納を開始することを指令
する命令(格納開始命令)手段と、この命令を命令先取
り時に検出する検出器と、この命令格納バッファを分岐
先として指定する条件付分岐命令手段とを備え、命令先
取り時に前記格納開始命令を検出すると以降の先取り命
令を前記命令格納バッファのサイズ分だけ、前記命令先
取リバッファだけでなく前記命令格納バッファへも格納
し、前記条件付分岐命令による分岐の際前記命令格納バ
ッファからの命令取り出しを行うように構成されている
ことを特徴とする命令先取制御装置にある。
本発明によれば、条件付分岐命令の分岐先の命令をあら
かじめ定められたバッファに格納しておき、分岐時のメ
モリアクセスを減少させ、命令先取りの回数を減少させ
ることにより、情報処理の性能を向上させると(・う効
果が得られる。4次に、本発明の実施例について図面を
参照しながら、詳細に説明する。
かじめ定められたバッファに格納しておき、分岐時のメ
モリアクセスを減少させ、命令先取りの回数を減少させ
ることにより、情報処理の性能を向上させると(・う効
果が得られる。4次に、本発明の実施例について図面を
参照しながら、詳細に説明する。
第1図は本発明の一実施例である命令先取制御 5−
装置の概略を示すブロック図、第2図は第1図の命令先
取制御装置を利用したプログラム例を示す説明図、第3
図はプログラム実行時のバッファの内容を示す説明図で
ある。
取制御装置を利用したプログラム例を示す説明図、第3
図はプログラム実行時のバッファの内容を示す説明図で
ある。
第1図において、この命令先取制御装置は、格納命令検
出信号6を出力する格納開始命令検出器1と、命令先取
バッファ2と、マルチプレクサ3と、分岐信号7を出力
する演算器4と、命令格納バッファ5と、プログラムカ
ウンタ退避レジスタ8と、先取命令アドレスレジスタ9
と、プロクラムカウンタ10とを備えている。通常、命
令は先取命令アドレス・レジスタ9により指定されたア
ドレスから、命令先取バッファ2に格納される。
出信号6を出力する格納開始命令検出器1と、命令先取
バッファ2と、マルチプレクサ3と、分岐信号7を出力
する演算器4と、命令格納バッファ5と、プログラムカ
ウンタ退避レジスタ8と、先取命令アドレスレジスタ9
と、プロクラムカウンタ10とを備えている。通常、命
令は先取命令アドレス・レジスタ9により指定されたア
ドレスから、命令先取バッファ2に格納される。
このとき、格納開始命令検出器1は先取りされる命令を
チェックし、格納開始命令なら格納命令検出信号6をア
クティブとする。この信号6がアクティブになると、以
降の命令を命令先取バッファ2に格納するだけでなく、
命令格納バッファ5にも格納する。ただし、サイズは命
令格納バッファ5のサイズ分である。マルチプレクサ3
は、命令6− 先取バッファ2と命令格納バッファ5からの命令取り出
しの切り分けを行う。通常は命令先取バッファ2から取
り出すが、分岐信号7がアクティブとなった場合は、命
令格納バッファ5から命令を取り出す。分岐信号7は演
算器4の中で、条件付分岐命令が実行され分岐が行なわ
れる場合にアクティブとなる。命令が命令格納バッファ
5かも取り出されて(・る間に命令先取バッファ2には
命令格納バッファ5に引続く命令を先取りしておき、命
令格納バッファ5の内容を全て取り出した後は引き続き
先取命令バッファ2からの取り出しを行う。このため、
格納開始命令検出時に先取命令アドレスレジスタ9の内
容をプログラムカウンタ退避レジスタ8に退避しておき
、分岐信号7がアクティブになるとこの値をプログラム
・カウンタ10に復帰する。先取命令アドレス・レジス
タ9にはこのプログラム・カウンタ10の値に命令格納
バッファ5のサイズを加えた値をセットし、再び命令先
取バッファ2の先取りを行う。
チェックし、格納開始命令なら格納命令検出信号6をア
クティブとする。この信号6がアクティブになると、以
降の命令を命令先取バッファ2に格納するだけでなく、
命令格納バッファ5にも格納する。ただし、サイズは命
令格納バッファ5のサイズ分である。マルチプレクサ3
は、命令6− 先取バッファ2と命令格納バッファ5からの命令取り出
しの切り分けを行う。通常は命令先取バッファ2から取
り出すが、分岐信号7がアクティブとなった場合は、命
令格納バッファ5から命令を取り出す。分岐信号7は演
算器4の中で、条件付分岐命令が実行され分岐が行なわ
れる場合にアクティブとなる。命令が命令格納バッファ
5かも取り出されて(・る間に命令先取バッファ2には
命令格納バッファ5に引続く命令を先取りしておき、命
令格納バッファ5の内容を全て取り出した後は引き続き
先取命令バッファ2からの取り出しを行う。このため、
格納開始命令検出時に先取命令アドレスレジスタ9の内
容をプログラムカウンタ退避レジスタ8に退避しておき
、分岐信号7がアクティブになるとこの値をプログラム
・カウンタ10に復帰する。先取命令アドレス・レジス
タ9にはこのプログラム・カウンタ10の値に命令格納
バッファ5のサイズを加えた値をセットし、再び命令先
取バッファ2の先取りを行う。
次に、第2図のプログラム例の説明図と第3図のバッフ
ァの内容の遷移を示す説明図とを用(・て本発明の動作
例を示す。第2図にお(・て、12は格納開始命令(S
AVE)であり、16は条件付分岐命令(JC)である
。11,13,14,15.17はプログラム(2)、
a、a、a、@である。まず最初は、プログラム(A)
11が、命令先取バッファ2に入り、実行される/(第
3図の15tep )。
ァの内容の遷移を示す説明図とを用(・て本発明の動作
例を示す。第2図にお(・て、12は格納開始命令(S
AVE)であり、16は条件付分岐命令(JC)である
。11,13,14,15.17はプログラム(2)、
a、a、a、@である。まず最初は、プログラム(A)
11が、命令先取バッファ2に入り、実行される/(第
3図の15tep )。
(SAVE)12が先取りされると、検出器1により検
出され(2step)、プログラム(E13は、命令先
取バッファ2と命令格納バッファ50両方に格納される
(3step)。その後も、プログラムIQ、Q)、
14 、15は命令先取バッファ2から取り出され(4
,5step)、JCの実行゛37となる。
出され(2step)、プログラム(E13は、命令先
取バッファ2と命令格納バッファ50両方に格納される
(3step)。その後も、プログラムIQ、Q)、
14 、15は命令先取バッファ2から取り出され(4
,5step)、JCの実行゛37となる。
この時、分岐が成立したとすると、プログラム013が
命令格納バッファ5から取り出される(6゜7step
)。この時、命令先取バッファ2にはプログラム014
の先取りが始まる(8step)。
命令格納バッファ5から取り出される(6゜7step
)。この時、命令先取バッファ2にはプログラム014
の先取りが始まる(8step)。
命令格納バッファ5中のプログラム813の実行が終る
と、命令先取りバッファ2から命令の取り出しが始まり
、プログラム(Q、(I)、14,15を実行する(9
.10step)。次に、JC命令38を実行し、分岐
が成立しなければ、命令先取バッファ2中のプログラム
@17をそのまま実行する。
と、命令先取りバッファ2から命令の取り出しが始まり
、プログラム(Q、(I)、14,15を実行する(9
.10step)。次に、JC命令38を実行し、分岐
が成立しなければ、命令先取バッファ2中のプログラム
@17をそのまま実行する。
このように、本発明によれば、分岐先の命令があらかじ
め命令格納バッファに格納され(・でるので、分岐時の
メモリアクセスは必要なくなり、また命令格納バッファ
の命令を実行中には、命令先取りバッファに命令格納バ
ッファ以降に引続く命令の先取りを並行して行なえるの
で、情報処理の性能が大幅に改善できるという効果が得
られる。
め命令格納バッファに格納され(・でるので、分岐時の
メモリアクセスは必要なくなり、また命令格納バッファ
の命令を実行中には、命令先取りバッファに命令格納バ
ッファ以降に引続く命令の先取りを並行して行なえるの
で、情報処理の性能が大幅に改善できるという効果が得
られる。
尚、本実施例では、命令格納バッファを一つ用いる例を
示したが、これを複数にすることにより、入し子構造に
なったループプログラムを高速に実行することも可能と
なる。
示したが、これを複数にすることにより、入し子構造に
なったループプログラムを高速に実行することも可能と
なる。
また第3図において、命令先取バッファの内容18.1
9,20,21,25.26と命令格納バッファの内容
31.32は、命令が承り出されているバッファを示し
ている。
9,20,21,25.26と命令格納バッファの内容
31.32は、命令が承り出されているバッファを示し
ている。
9−
第1図は本発明の実施例の命令先取制御装置の櫃略を示
すブロック図、第2図は本発明の実施例を使用したプロ
グラム例を示す説明図、第3図は本発明の実施例を使用
した場合の再バッファの遷移を示す説明図である。 内因において、 1・・・・・・格納開始命令検出器、2・−・・・・命
令先取バッファ、3・・・・・・マルチプレクサ、4・
・・・・・演算器、5・・・・・・命令格納バッファ、
6・−・・・・格納命令検出信号、7・・・・・・分岐
信号、8・・・・・・プログラムカウンタ退避レジスタ
、9・・・・・・先取命令アドレス・レジスタ、10・
・・・・・プログラムカウンタ、11・・・・・・プロ
グラム囚、12・・・・・・格納開始命令(SAVE)
、13・・・・・・プログラム例、14・・・・・・プ
ログラム0.15・・・・・・プログラム0.16・・
・・・・条件付分岐命令(JC)、17・・・・・・プ
ログラム0.18乃至26・・・・・・命令先取バッフ
ァの内容、27乃至35・・・・・・命令格納バッファ
の内容、36・・・・・・格納開始命令実行、37゜第
2図 躬3図
すブロック図、第2図は本発明の実施例を使用したプロ
グラム例を示す説明図、第3図は本発明の実施例を使用
した場合の再バッファの遷移を示す説明図である。 内因において、 1・・・・・・格納開始命令検出器、2・−・・・・命
令先取バッファ、3・・・・・・マルチプレクサ、4・
・・・・・演算器、5・・・・・・命令格納バッファ、
6・−・・・・格納命令検出信号、7・・・・・・分岐
信号、8・・・・・・プログラムカウンタ退避レジスタ
、9・・・・・・先取命令アドレス・レジスタ、10・
・・・・・プログラムカウンタ、11・・・・・・プロ
グラム囚、12・・・・・・格納開始命令(SAVE)
、13・・・・・・プログラム例、14・・・・・・プ
ログラム0.15・・・・・・プログラム0.16・・
・・・・条件付分岐命令(JC)、17・・・・・・プ
ログラム0.18乃至26・・・・・・命令先取バッフ
ァの内容、27乃至35・・・・・・命令格納バッファ
の内容、36・・・・・・格納開始命令実行、37゜第
2図 躬3図
Claims (1)
- 実行命令をあらかじめ記憶手段から読み出し、命令先取
バッファに格納するように構成された命令先取制御装置
において、命令格納バッファと、前記命令格納バッファ
に先取命令を格納することを指定する格納開始命令手段
と、前記格納開始命令を検出する検出器と、前記命令格
納バッファを分岐先として指定する条件付分岐命令手段
とを備え、前記格納開始命令を前記検出器により検出し
た時に先取りした命令を前記命令先取バッファおよび前
記命令格納バッファに格納し、前記条件付分岐命令の実
行時に条件成立により分岐する場合は実行命令の取り出
しを前記命令格納バッファより行うように構成されて(
・ることを特徴とする命令先取制御装f。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16186082A JPS5952349A (ja) | 1982-09-17 | 1982-09-17 | 命令先取制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP16186082A JPS5952349A (ja) | 1982-09-17 | 1982-09-17 | 命令先取制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS5952349A true JPS5952349A (ja) | 1984-03-26 |
| JPS6232507B2 JPS6232507B2 (ja) | 1987-07-15 |
Family
ID=15743330
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP16186082A Granted JPS5952349A (ja) | 1982-09-17 | 1982-09-17 | 命令先取制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS5952349A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61165135A (ja) * | 1984-12-24 | 1986-07-25 | Fujitsu Ltd | ル−プ処理方式 |
| WO2006057084A1 (ja) * | 2004-11-25 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | 命令供給装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS518304A (en) * | 1974-07-10 | 1976-01-23 | Toa Nenryo Kogyo Kk | Muhaiseijobunsanzai |
-
1982
- 1982-09-17 JP JP16186082A patent/JPS5952349A/ja active Granted
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS518304A (en) * | 1974-07-10 | 1976-01-23 | Toa Nenryo Kogyo Kk | Muhaiseijobunsanzai |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS61165135A (ja) * | 1984-12-24 | 1986-07-25 | Fujitsu Ltd | ル−プ処理方式 |
| WO2006057084A1 (ja) * | 2004-11-25 | 2006-06-01 | Matsushita Electric Industrial Co., Ltd. | 命令供給装置 |
| US7822949B2 (en) | 2004-11-25 | 2010-10-26 | Panasonic Corporation | Command supply device that supplies a command read out from a main memory to a central processing unit |
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6232507B2 (ja) | 1987-07-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2858140B2 (ja) | パイプラインプロセッサ装置および方法 | |
| US6760835B1 (en) | Instruction branch mispredict streaming | |
| JPH0527143B2 (ja) | ||
| EP0166431B1 (en) | An information processing apparatus having an instruction prefetch circuit | |
| KR910008410B1 (ko) | 마이크로코드 판독 제어 시스템 | |
| JP3737083B2 (ja) | マルチサイクル命令 | |
| JPS6232507B2 (ja) | ||
| JPH02287828A (ja) | プリフェッチ制御方式 | |
| JP3493110B2 (ja) | 高速分岐処理装置 | |
| JPH04213727A (ja) | 情報処理装置 | |
| JPS6022768B2 (ja) | デ−タ処理方法 | |
| JPS63314644A (ja) | デ−タ処理装置 | |
| KR970062891A (ko) | 연산 실행 방법 및 연산 실행 장치 | |
| JPH0248733A (ja) | 情報処理装置 | |
| JPH0527972A (ja) | 命令プリフエツチ装置 | |
| JPS6029840A (ja) | 実行プログラムの中断方式 | |
| JPH0715662B2 (ja) | 命令の先取りを行なう情報処理装置 | |
| JPH0247725A (ja) | データ処理装置 | |
| JPH06168120A (ja) | 命令先取り装置 | |
| JPH05143362A (ja) | 割込み処理方式 | |
| JPH10283182A (ja) | パイプライン型情報処理装置 | |
| JPH01229326A (ja) | 情報処理装置 | |
| JPH06110687A (ja) | 情報処理装置および情報処理方法 | |
| JPH04158444A (ja) | 情報処理装置 | |
| JPS63221428A (ja) | デ−タ処理装置 |