JP2901247B2 - 掃出し制御方式 - Google Patents

掃出し制御方式

Info

Publication number
JP2901247B2
JP2901247B2 JP63084616A JP8461688A JP2901247B2 JP 2901247 B2 JP2901247 B2 JP 2901247B2 JP 63084616 A JP63084616 A JP 63084616A JP 8461688 A JP8461688 A JP 8461688A JP 2901247 B2 JP2901247 B2 JP 2901247B2
Authority
JP
Japan
Prior art keywords
instruction
store buffer
register
buffer
store
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.)
Expired - Lifetime
Application number
JP63084616A
Other languages
English (en)
Other versions
JPH01255933A (ja
Inventor
文彦 宮沢
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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP63084616A priority Critical patent/JP2901247B2/ja
Publication of JPH01255933A publication Critical patent/JPH01255933A/ja
Application granted granted Critical
Publication of JP2901247B2 publication Critical patent/JP2901247B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は掃出し制御方式に関し、特に1回以上のスト
アを必要とする命令の演算処理において、ストアバッフ
ァから主記憶装置への掃出し制御方式に関する。
従来技術 従来のパイプライン処理型情報処理装置でのパイプラ
ン処理は次のようにして行なわれる。第4図を参照する
と、このパイプライン処理の一例では、アドレス手段に
より命令キャッシュから命令を取出す命令取出(IF)ス
テージ、このステージで取出された命令を命令レジスタ
に格納したあとこの命令のオペランドにもとづきアドレ
ス加算器で論理アドレスを生成するオペランドアドレス
(AC)ステージ、このステージで生成された論理アドレ
スを論理アドレスレジスタに格納したあとアドレス変換
バッファで論理アドレスを物理アドレスに変換するアド
レス変換(AT)ステージ、このステージで変換された物
理アドレスを物理アドレスレジスタに格納したあと、こ
の物理アドレスでオペランドキャッシュをアクセスしオ
ペランドを読出すオペランドキャッシュアクセス(CA)
ステージ、このステージで読出されたオペランドを実行
レジスタに格納したあと演算器で演算する演算実行(E
X)ステージ、およびこの(EX)ステージで演算された
結果を格納する結果格納(ST)ステージの6つのステー
ジに分割されている。
従来のこの種のパイプライン処理型情報処理装置で
は、ある命令が複数回に分けてデータを主記憶装置にス
トアする命令である場合、その全てのストア動作が完了
するまではその命令は終了したことにならない。例え
ば、4バイトのデータを1バイトずつストアする命令A
において先頭から3バイト目で障害が発生した場合、障
害の発生しなかった2バイト分のストアデータをも含め
て先頭から再度当該命令Aをやり直す必要が生ずる。こ
の場合、命令Aの先行命令に係るストアデータがストア
バッファに格納されていたとすると、命令Aの先頭2バ
イト分のストアデータをストアバッファにさらに格納す
ることはできない。取り消すべきデータとそれ以外のデ
ータとが区別できなくなってしまうからである。従っ
て、従来のパイプライン処理型情報処理装置では、スト
アバッファの前段にさらに他のバッファを設けて未完了
のストアデータを保持しておき、先行命令に係るデータ
の掃出しが完了するか後続命令の実行が完了してから、
後続命令のストアデータをストアバッファに格納する等
の制御が必要であった。このような制御を行う場合は、
先行命令の処理状況によっては後続命令の実行を待たせ
てしまう等の問題を生じるおそれがある。
発明の目的 本発明の目的は、上述のような他のバッファを設ける
ことによる問題を除去し、後続命令を継続して実行でき
るようにすることにある。
発明の構成 本発明による掃出し制御方式は、複数回のストア動作
で一命令関連の情報をストアするストアバッファ手段
と、このストアバッファ手段にストアされる一命令関連
の情報の最終回の情報のストア動作のそれぞれに応答し
て命令終了フラグを格納する命令終了フラグバッファ手
段と、掃出し対象となる命令関連の情報は存在しないこ
とを示す初期値を値として有し、前記命令終了フラグに
応答して前記値を増加させ、前記ストアバッファ手段か
らの主記憶への掃出し動作に応答して前記値を減少させ
るストアバッファ掃出しポインタ手段と、このストアバ
ッファ掃出しポインタ手段の値が前記初期値になったと
きに前記ストアバッファ手段からの前記主記憶への掃出
し動作を抑止し、前記初期値でないときには古い命令関
連の情報から順次掃出し動作を実行する手段とを含む構
成である。
実施例 次に本発明の一実施例について詳細に説明する。
まず、本発明の一実施例の前提となる回路について簡
単に説明する。第1図を参照すると、命令取出し(IF)
ステージの処理のため主記憶装置8から読出された命令
を格納する命令キャッシュI Cache、この命令キャッシ
ュI Cacheにアドレスを供給するアドレスレジスタAIC、
このアドレスレジスタAICの内容を更新するためのイン
クリメンタ+1、命令キャッシュI Cacheからの命令を
一旦格納するための命令バッファIBおよび命令キャッシ
ュI Cacheおよび命令バッファIBのうちどちらか一方か
らの命令を選択するためのセレクタ21を備えている。
オペランドアドレス生成(AC)ステージでは、セレク
タ21で選択出力された変更後の命令を格納する命令レジ
スタIR20、この命令レジスタIR20からのアドレスまたは
その値により索引されるアドレスを格納するためのレジ
スタBRおよびGR、およびこの命令レジスタIR20、レジス
タBRおよびGRからの値を計算しアドレスを生成するため
のアドレス演算器AD.ADDERが必要である。
アドレス変換(AT)ステージのためには、アドレス演
算器AD.ADDERから与えられる論理アドレスを格納する論
理アドレスレジスタLARおよびこの論理アドレスに応答
して物理アドレスを読出すためのアドレス変換バッファ
TLBが用意されている。
次にキャッシュアクセス(CA)ステージの処理のため
アドレス変換バッファTLBから与えられる物理アドレス
を格納するための物理アドレスレジスタPAR、の物理ア
ドレスレジスタPARからのアドレス情報で指示される位
置に主記憶装置8からのオペランドを格納し、格納され
たオペランドを読出すためのオペランドキャッシュ0 Ca
che、レジスタ群BRおよびGR、更にこれらレジスタ群BR
およびGRからの内容を選択するためのセレクタ22が用意
されている。
演算実行(EX)ステージのためには、演算を行うため
の演算器FLT.ADD、桁合わせを行うためのシタSHT、これ
ら演算器FLT.ADD、シフタSHTおよびオペランドキャッシ
ュ0 Cacheからの演算結果、演算中間結果およびオペラ
ンドを格納するための実行レジスタEXR、セレクタ22か
らの内容および演算器FLT.ADDアドレスおよびシフタSHT
からの演算結果、演算中間結果を格納するためのレジス
タREGISTER、実行レジスタEXRおよびレジスタREGISTER
からの情報を入力し、命令カウンタ15の更新指示を線10
1に主する演算制御部1が設けられている。
結果格納(ST)ステージでは、演算器FLT.ADDおよび
シフタSHTからの演算結果を格納するためのリードデー
タレジスタRDR5の他、書込みアドレスをセットする書込
アドレスレジスタWA2、このレジスタWA2からの書込みア
ドレスを+1増加させるためのインクリメンタ3、線10
2を介して与えられる命令終了フラグをセットするレジ
スタWF4、このレジスタWF4からのフラグを書込アドレス
レジスタWA2で指示される位置に格納する命令終了フラ
グバッファWFB6、線103を介して与えられるリードデー
タレジスタ5の内容を、レジスタWA2からのアドレスで
指示される位置に格納するためのストアバッファ7、こ
のストアバッファ7に対する読出アドレスを格納するた
めの読出アドレスレジスタ9、この読出アドレスレジス
タ9の内容を更新するためのインクリメンタ10、ストア
バッファ7から主記憶装8へのバッファ掃出しを制御す
るための指示信号を線105に出力するメモリアクセス制
御部11、このメモリアクセス制御部11から線105を介し
て与えられる指示信号に応答してストアバッファ7から
の内容を線104を介して主記憶装置8へ送出するレジス
タMAR12、演算制御部1から線101を介して与えられる命
令カウンタ更新指示信号に応答して、命令カウンタ更新
の場合は“1"を命令終了フラグとして、また命令カウン
タ更新でない場合は“0"を線102に出力する命令カウン
タ(以下IC)更新制御回路13、命令カウンタ16、IC更新
制御回路13から線102を介して与えられる信号に応答し
て命令カウンタ16からの値をセットるレジスタIC15、IC
更新制御回路13からの信号を格納するレジスタWFI17、
このレジスタWFI17および命令終了フラグバッファWFB6
からの出力のどちらか一方を選択する選択制御回路18、
およびこの選択制御回路18からの信号に応答してインク
リメンタ23、デクリメンタ24、またはそのままの出力を
選択して格納するストアバッファ掃出しポインタ19を含
む。
次に、本発明の一実施例の動作を第1図から第3図を
参照して詳細に説明する。第1図および第2図を参照す
ると、サイクル1では主記憶装置8から命令キャッシュ
I Cacheに命令Aが格納される。命令Aは4ワード命令
である。次にサイクル2では主記憶装置8から命令キャ
ッシュI Cacheに命令Bが格納されるとともに命令Aは
命令キャッシュI Cacheからセレクタ21および命令レジ
スタIR20を介して加算器AD.ADDERでアドレス生成され
る。このようにして、命令A,BおよびCの処理は進めら
れる。命令Bは2ワード命令であり、命令Cは1ワード
命令である。
第1図から第3図を参照すると、サイクル6で読出デ
ータレジスタRDR5に格納された命令Aに関する第1ワー
ド目の演算結果はサイクル7で線103を介してストアバ
ッファ7の1番地に格納される。
線101を介してIC更新指示が出力されていないため、I
C更新制御回路13から線102を介してレジスタWFO4に格納
された値“0"が、上述の命令Aの第1ワード目の演算結
果のストアバッファ7への格納動作とともに、命令終了
フラグバッファ6の対応するワードに“0が格納され
る。
サイクル10で命令カウンタレジスタ15の内容が“A"か
ら“B"に変化するとともに命令終了フラグバッファ4に
“1"が格納され、インクリメンタ23が動作してストアバ
ッファ掃出しポインタ19の内容が“0"から“1"に変化す
る。これはストアバッファ7内に掃出し可能なデータが
1命令あることを示す。
メモリアクセス制御部11はストアバッファ掃出しポイ
ンタ19の値が“0"のときはストアバッファ7に掃出し可
能なデータがないため、ストアバッファ7から主記憶装
置8に対する掃出し動作を抑止する指示信号をレジスタ
12に与える。いま、掃出しポインタ19の内容が“1"であ
るため、メモリアクセス制御部11はストアバッファ7の
内容を線104を介して主記憶装置8に供給するようレジ
スタ12に指示する。この指示に応答してレジスタ12はス
トアバッファ7から主記憶装置8に対して命令Aの命令
単位の掃出しが開始される。
サイクル10において命令Aの第4ワード目のストアバ
ッファ7への格納が終了しサイクル11において命令Bの
第1ワード目のストアバッファ7への格納動作が開始さ
れる。
サイクル12において命令カウンタレジスタ15の内容が
更新されると、これと同期して命令終了フラグバッファ
6に“1"が格納される。この時命令Aの第3ワード目の
ストアバッファ7から主記憶装置8への掃出し動作が行
なわれているため、命令Bの命令単位を主記憶装置8に
掃出すことができない。そこでストアバッファ掃出しポ
インタ19の値は“1"から“2"にカウントアップされる。
これは、ストアバッファ内に掃出し可能なストアデータ
が2命令分存在することを示す。
サイクル13において命令カウンタ16により命令カウン
タレジスタ15の内容が“2"から“3"に更新され、命令C
に関する演算結果が格納されると、これと同期して命令
終了フラグバッファ6に値“1"が格納される。この時命
令Aの第4ワード目がストアバッファ7から主記憶装置
8に対して掃出されており、命令Cに関する演算結果を
主記憶装置8に掃出すことはできない。
そこで、ストアバッファ掃出しポインタ19の値は“2"
から“3"にカウントアップされ、ストアバッファ7内に
掃出し可能なストアデータが3命令分存在することを示
している。
サイクル13において、命令Aの第4ワード目の演算結
果の主記憶装置8への掃出しとともに命令終了フラグバ
ッファ6から“1"が出力されると、サイクル14において
ストアバッファ掃出しポインタ19の内容のデクリメンタ
24によるデクリメントが行なわれ、ポインタ19の内容は
“3"から“2"に変化する。この値“2"は、ストアバッフ
ァ7内に掃出し可能なストアデータが2命令存在するこ
とを示す。
サイクル14において、命令Bの第1ワード目の演算結
果の主記憶装置8への掃出し動作が開始され、サイクル
15において、命令Bの第2ワード目の命令単位の主記憶
装置8への掃出しが行なわれる。命令終了フラグバッフ
ァ6から“1"が検出されるとストアバッファ掃出しポイ
ンタ19の値がディクリメンタ24によりディクリメントさ
れ“1"となる。これは、ストアバッファ7内に掃出し可
能なストアデータが1命令分存在していることを示して
いる。
サイクル16において命令Cがストアバッファ7から掃
出されると、命令終了フラグバッファ6から“1"が検出
され、サイクル17においてストアバッファ掃出しポイン
タ19の値がデクリメンタ24によりカウントダウンされ
“0"となり、これはストアバッファ7に掃出し可能なデ
ータがないことを示している。
なお、命令終了フラグバッファ6は第3図に示すよう
なバッファ構造となっており、ストアデータがストアバ
ッファ7に書込まれるタイミングで命令カウンタレジス
タ15の値が変換される時に“1"が、それ以外の時には
“0"が書込まれる。また、同一タイミングで命令終了フ
ラグバッファ6にストアされるフラグが“1"ならば、ス
トアバッファ掃出しポインタ19の値がカウントアップさ
れ、“0"ならばカウントアップされずにその時のポイン
タ19の値が保持される。
また、ストアバッファ7から主記憶装置8へ掃出すタ
イミングで命令終了フラグバッファ6の読出動作も行な
われる。読出された命令終了フラグの値が“1"ならば、
ストアバッファ掃出しポインタ19の値がカウントダウン
され、命令終了フラグの値が“0"ならばカウントダウン
されずにその時の掃出しポインタ19の値が保持される。
次に実行ステージにおける障害検出がなされたときの
動作について説明する。例えば、命令Aのサイクル7の
EX(実行)ステージにおいて障害が検出されると、命令
カウンタ16の更新、命令終了フラグバッファ6へのスト
ア、ストアバッファ掃出しポインタ19の更新、およびス
トアバッファ7から主記憶装置8への命令Aの掃出しが
抑止される。これにより、その後に命令実行を再開する
際には、命令Aの初めから行うことになる 発明の効果 本発明はストア命令において発行されるストア要求に
対して命令単位に命令終了フラグを付加することによ
り、ストアバッファ内のデータを命令を単位として取り
消すことが可能となり、従来要していた“他のバッフ
ァ”を用いることなく後続命令を継続して実行すること
ができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は本発明の
一実施例の動作を説明するためのタイムチャート、第3
図はストアバッファ、命令終了フラグバッファおよびス
トアバッファ掃出しポインタの関係を示す図、第4図は
パイプライン処理を説明するための図である。 主要部分の符号の説明 1……演算制御部 2……書込みアドレスレジスタ 3……リードデータレジスタ 6……命令終了フラグバッファ 7……ストアバッファ 8……主記憶装置 9……読出アドレスレジスタ 11……メモリアクセス制御部 13……命令カウンタ更新制御回路 15……命令カウンタレジスタ 16……命令カウンタ 18……選択制御回路 19……ストアバッファ掃出しポインタ 20……命令レジスタ

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】複数回のストア動作で一命令関連の情報を
    ストアするストアバッファ手段と、 このストアバッファ手段にストアされる一命令関連の情
    報の最終回の情報のストア動作のそれぞれに応答して命
    令終了フラグを格納する命令終了フラグバッファ手段
    と、 掃出し対象となる命令関連の情報は存在しないことを示
    す初期値を値として有し、前記命令終了フラグに応答し
    て前記値を増加させ、前記ストアバッファ手段からの主
    記憶への掃出し動作に応答して前記値を減少させるスト
    アバッファ掃出しポインタ手段と、 このストアバッファ掃出しポインタ手段の値が前記初期
    値になったときに前記ストアバッファ手段からの前記主
    記憶への掃出し動作を抑止し、前記初期値でないときに
    は古い命令関連の情報から順次掃出し動作を実行する手
    段とを含むことを特徴とする掃出し制御方式。
JP63084616A 1988-04-06 1988-04-06 掃出し制御方式 Expired - Lifetime JP2901247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63084616A JP2901247B2 (ja) 1988-04-06 1988-04-06 掃出し制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63084616A JP2901247B2 (ja) 1988-04-06 1988-04-06 掃出し制御方式

Publications (2)

Publication Number Publication Date
JPH01255933A JPH01255933A (ja) 1989-10-12
JP2901247B2 true JP2901247B2 (ja) 1999-06-07

Family

ID=13835625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63084616A Expired - Lifetime JP2901247B2 (ja) 1988-04-06 1988-04-06 掃出し制御方式

Country Status (1)

Country Link
JP (1) JP2901247B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526691B2 (ja) * 1990-03-02 1996-08-21 三菱電機株式会社 プログラマブルコントロ―ラの制御方法
JPH056274A (ja) * 1991-06-27 1993-01-14 Mitsubishi Electric Corp データ処理装置
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor

Also Published As

Publication number Publication date
JPH01255933A (ja) 1989-10-12

Similar Documents

Publication Publication Date Title
US4398245A (en) Data processing system having an instruction pipeline for processing a transfer instruction
JP2746549B2 (ja) コンピュータシステム及びその動作方法
EP0213842A2 (en) Mechanism for performing data references to storage in parallel with instruction execution on a reduced instruction-set processor
JPS61107434A (ja) デ−タ処理装置
JPH10228376A (ja) 複数レジスタ命令を処理する方法及びプロセッサ
US4758949A (en) Information processing apparatus
JP2901247B2 (ja) 掃出し制御方式
US5287483A (en) Prefetched operand storing system for an information processor
US4737908A (en) Buffer memory control system
EP0334131B1 (en) Data processor performing operation on data having length shorter than one-word length
JPS6211736B2 (ja)
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JP3132566B2 (ja) 命令先行制御装置
JPH0760384B2 (ja) 命令実行方法およびデータ処理装置
JP2668987B2 (ja) データ処理装置
JP3476314B2 (ja) マイクロプロセッサ
JP2953451B2 (ja) 割り込み処理方法
JPH02151930A (ja) ストアバツフア管理方式
JPS6221130B2 (ja)
JPS6391756A (ja) 記憶装置の部分書き込み命令処理方式
JP2583614B2 (ja) ベクトル演算装置
JP2819753B2 (ja) パイプライン・マイクロプロセッサ
JP2869414B1 (ja) データ処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH0545983B2 (ja)