JPH01255933A - Sweeping-out control system - Google Patents

Sweeping-out control system

Info

Publication number
JPH01255933A
JPH01255933A JP63084616A JP8461688A JPH01255933A JP H01255933 A JPH01255933 A JP H01255933A JP 63084616 A JP63084616 A JP 63084616A JP 8461688 A JP8461688 A JP 8461688A JP H01255933 A JPH01255933 A JP H01255933A
Authority
JP
Japan
Prior art keywords
instruction
buffer
register
store 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.)
Granted
Application number
JP63084616A
Other languages
Japanese (ja)
Other versions
JP2901247B2 (en
Inventor
Fumihiko Miyazawa
文彦 宮沢
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 JP63084616A priority Critical patent/JP2901247B2/en
Publication of JPH01255933A publication Critical patent/JPH01255933A/en
Application granted granted Critical
Publication of JP2901247B2 publication Critical patent/JP2901247B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To attain the control to delay the re-writing of a main storage device up to the completion of an instruction by adding an instruction completion flag to an instruction unit for a storing request issued in the storing instruction. CONSTITUTION:At present, the content of a sweeping-out pointer 19 is 1 and the content of an arithmetic result concerning the instruction A of a storing buffer 7 is swept out to the main storage device 8 by a memory access control part 11. At this time, for the content of the arithmetic result concerning an instruction B, when a storing action to the buffer 7 is started, 1 is stored into an instruction completion flag buffer 6 and the value of a buffer sweeping-out points 19 is updated to 2. When the sweeping-out to the main storage device 8 of the instruction A is completed, 1 from the buffer 6 is detected, the value of the pointer 19 is 1 and the content of the arithmetic result concerning the instruction B is stored into the main storage device 8.

Description

【発明の詳細な説明】 技術分野 本発明は掃出し制御方式に関し、特に10以上のストア
を必要とする命令の演算処理において、ストアバッファ
から主記憶装置への掃出し制御方式に関する。
TECHNICAL FIELD The present invention relates to a flushing control system, and more particularly to a flushing control system for flushing from a store buffer to a main memory in arithmetic processing of instructions requiring 10 or more stores.

延未韮韮 従来のパイプライン処理型情報処理装置でのパイプライ
ン処理は次のようにして行なわれる。第4図を参照する
と、このパイプライン処理の一例では、アドレス手段に
より命令キャッシュから命令を取出す命令取出(IF)
ステージ、このステージで取出された命令を命令レジス
タに格納したあとこの命令のオペランドにもとづきアド
レス加算器で論理アドレスを生成するオペランドアドレ
ス(AC)ステージ、このステージで生成された論理ア
゛ドレスを論理アドレスレジスタに格納したあとアドレ
ス変換バッファで論理アドレスを物理アドレスに変換す
るアドレス変換(AT)ステージ、このステージで変換
された物理アドレスを物理アドレスレジスタに格納した
あと、この物理アドレスでオペランドキャッシュをアク
セスしオペランドを読出すオペランドキャ・ンシュアク
セス(CA)ステージ、このステージで読出されたオペ
ランドを実行レジスタに格納したあと演算器で演算する
演算実行(EX)ステージ、およびこの(EX)ステー
ジで演算された結果を格納する結果格納(ST)ステー
ジの6つのステージに分割されている。
Pipeline processing in a conventional pipeline processing type information processing apparatus is performed as follows. Referring to FIG. 4, in this example of pipeline processing, an instruction fetch (IF) is used to retrieve an instruction from the instruction cache using an address means.
Operand address (AC) stage, in which the instruction fetched at this stage is stored in the instruction register and then a logical address is generated by an address adder based on the operand of this instruction. The address translation (AT) stage converts the logical address into a physical address in the address translation buffer after storing it in the address register.The physical address translated in this stage is stored in the physical address register, and then the operand cache is accessed using this physical address. The operand cache access (CA) stage reads out the operands, the operation execution (EX) stage stores the operands read in this stage in the execution register, and then performs calculations on the arithmetic unit. It is divided into six stages: a result storage (ST) stage that stores the results obtained.

第5図を参照すると、従来この種のパイプライン処理型
情報処理装置では、−命令が全てストアバッファに格納
し終るまで主記憶装置への格納が抑止されていた。すな
わち4バイトである命令Aは、タイミング10で命令A
の4バイト目が格納されてから次のタイミング11で命
令Aの1バイト目か掃出される。また2バイト命令であ
る命令Bのストアバッファから主記憶装置への掃出しは
、命令Aの全てが掃出された後、タイミング15で行な
われることになる。
Referring to FIG. 5, in the conventional pipeline processing type information processing device of this type, storage to the main memory device is inhibited until all - instructions are stored in the store buffer. In other words, instruction A, which is 4 bytes, is converted to instruction A at timing 10.
After the fourth byte of instruction A is stored, the first byte of instruction A is cleared at the next timing 11. Also, instruction B, which is a 2-byte instruction, is flushed from the store buffer to the main memory at timing 15 after all of instruction A has been flushed out.

よって、命令Aのように一命令で多くのストア処理をし
なければならない命令では、命令リトライ不可期間か長
くなるという欠点がある。
Therefore, an instruction that requires many store operations in one instruction, such as instruction A, has the disadvantage that the period during which the instruction cannot be retried becomes longer.

発明の目的 本発明の目的は上述の欠点を除去するようにした掃出し
制御方式を提供することにある。
OBJECTS OF THE INVENTION It is an object of the present invention to provide a sweeping control method which eliminates the above-mentioned drawbacks.

1匪二塁式 本発明による掃出し制御方式は、複数回のスl−ア動作
で一命令関連の情報を格納するストアバッファ手段と、
このストアバッファ手段に格納される一命令関連の情報
の最終回のストア動作に応答して値を増加させるか減少
させ、前記ストアバッファ手段からの掃出し動作に応答
して値を減少させるか増加させるストアバッファ掃出し
ポインタ手段と、このストアバッフア掃出しポインタ手
段の値が前記ストアバッファ手段からの掃出し対象とな
る命令関連の情報がないことを示しているとき前記スト
アバッファ手段からの掃出し動作を抑止する抑止手段と
を含む構成である。
The sweep control method according to the present invention includes a store buffer means for storing information related to one instruction by multiple slear operations;
The value is increased or decreased in response to a final store operation of information related to one instruction stored in the store buffer means, and the value is decreased or increased in response to a purge operation from the store buffer means. store buffer flushing pointer means; and inhibiting means for inhibiting a flushing operation from the store buffer means when the value of the store buffer flushing pointer means indicates that there is no instruction-related information to be flushed from the store buffer means. The configuration includes the following.

聚豊彊 次に本発明の一実施例について詳細に説明する。Ju Fengqiang Next, one embodiment of the present invention will be described in detail.

まず、本発明の一実施例の前提となる回路について簡単
に説明する。第1図を参照すると、命令取出しく1F)
ステージの処理のため主記憶装置8から読出された命令
を格納する命令キャッシュ■Cache 、この命令キ
ャッシュI Cacheにアドレスを供給するアドレス
レジスタ八IC1このアドレスレジスタ^ICの内容を
更新するためのインクリメンタ+1、命令キャッシュI
 Cacheからの命令を一旦格納するための命令バッ
ファIBおよび命令キャンシュI Cacheおよび命
令バッファ1Bのうちどちらか一方からの命令を選択す
るためのセレクタ21を備えている。
First, a circuit on which an embodiment of the present invention is based will be briefly described. Referring to Figure 1, the instruction retrieval (1F)
An instruction cache that stores instructions read out from the main memory 8 for stage processing; an address register 8 IC1 that supplies addresses to this instruction cache I Cache; an incrementer that updates the contents of this address register ^IC; +1, instruction cache I
It is provided with an instruction buffer IB for temporarily storing instructions from the Cache, and a selector 21 for selecting an instruction from either the instruction cache I Cache or the instruction buffer 1B.

オペランドアドレス生成〈^C)ステージでは、セレク
タ21で選択出力された変更後の命令を格納する命令レ
ジスタlR2O、この命令レジスタlR2Oからのアド
レスまたはその値により索引されるアドレスを格納する
ためのレジスタ8RおよびGRlおよびこの命令レジス
タlR2O、レジスタBRおよびGRからの値を計算し
アドレスを生成するためのアドレス演算器AD、^DD
ERが必要である。
In the operand address generation <^C) stage, an instruction register lR2O stores the changed instruction selected and output by the selector 21, and a register 8R stores an address from this instruction register lR2O or an address indexed by its value. and GRl, this instruction register lR2O, and address calculators AD and ^DD for calculating values from registers BR and GR and generating addresses.
ER is required.

アドレス変換(AT)ステージのためには、アドレス演
算器AD、へ〇〇ERから与えられる論理アドレスを格
納する論理アドレスレジスタLARおよびこの論理アド
レスに応答して物理アドレスを読出すなめのアドレス変
換バッファTLBが用意されている。
For the address translation (AT) stage, there is a logical address register LAR that stores the logical address given from 〇〇ER to the address calculator AD, and an address translation buffer that reads the physical address in response to this logical address. TLB is provided.

次にキャッシュアクセス(CA)ステージの処理のため
アドレス変換バッファTLBから与えられる物理アドレ
スを格納するための物理アドレスレジスタPAIt 、
このヰ勿理アドレスレジスタPARからのアドレス情報
で指示される位置に主記憶装置8からのオペランドを格
納し、格納されたオペランドを読出すためのオペランド
キャッシュOC’achc、レジスタ群BRおよびGR
1更にこれらレジスタ群BftおよびGltからの内容
を選択するためのセレクタ22が用意されている。
Next, a physical address register PAIt for storing the physical address given from the address translation buffer TLB for the processing of the cache access (CA) stage;
Operand cache OC'achc, register groups BR and GR are used to store operands from main memory 8 at locations indicated by address information from address register PAR, and read out the stored operands.
1. Furthermore, a selector 22 is provided for selecting contents from these register groups Bft and Glt.

演算実行(EX)ステージのためには、演算を行うため
の演算器FLT、ADD 、桁合わせを行うためのシフ
タSHT 、これら演算器FLT、ADD 、シフタS
 HTおよびオペランドキャッシュOCacheからの
演算結果、演算中間結果およびオペランドを格納するた
めの実行レジスタEXIt 、セレクタ22からの内容
および演算器FLT 、 ADDアドレスおよびシフタ
SHTからの演算結果、演算中間結果を格納するための
レジスタREGISTER2実行レジスタEXRおよび
レジスタREGISTERからの情報を入力し、命令カ
ウンタ15の更新指示を線101に出力する演算制御部
1が設けられている。
For the arithmetic execution (EX) stage, arithmetic units FLT and ADD for performing arithmetic operations, a shifter SHT for performing digit alignment, these arithmetic units FLT and ADD, and a shifter S
Execution register EXIt for storing operation results from HT and operand cache OCache, operation intermediate results, and operands, contents from selector 22, operation results from arithmetic unit FLT, ADD address, and shifter SHT, and operation intermediate results are stored. An arithmetic control unit 1 is provided which inputs information from a register REGISTER 2, an execution register EXR and a register REGISTER, and outputs an instruction to update the instruction counter 15 to a line 101.

結果格納(ST)ステージでは、演算器FLT、ADD
およびシフタSHTからの演算結果を格納するためのリ
ードデータレジスタRDII 5の他、書込みアドレス
をセットする書込アドレスレジスタ誓へ2、このレジス
タWA2からの書込みアドレスを+1増加させるための
インクリメンタ3、線102を介して与えられる命令終
了フラグをセットするレジスタA「4、このレジスタW
F4からのフラグを書込アドレスレジスタ様2で指示さ
れる位置に格納する命令終了フラグバッファWFB6、
線103を介して与えられるリードデータレジスタ5の
内容を、レジスタΔ^2からのアドレスで指示される位
置に格納するためのストアバッファ7、このストアバッ
ファ7に対する続出アドレスを格納するための続出アド
レスレジスタ9、この続出アドレスレジスタ9の内容を
更新するためのインクリメンタ10、ストアバッファ7
から主記憶装置へのバッファ掃出しを制御するための指
示信号を線105に出力するメモリアクセス制御部11
、このメモリアクセス制御部11から線105を介して
与えられる指示信号に応答してストアバッファ7からの
内容を線104を介して主記憶装置8へ送出するレジス
タH^R12、演算制御部1から線101を介して与え
られる命令カウンタ更新指示信号に応答して、命令カウ
ンタ更新の場合は“1゛を命令終了フラグとして、また
命令カウンタ更新でない場合は′0゛′を線102に出
力する命令カウンタ(以下IC)更新制御回路13、命
令カウンタ16、IC更新制御回路13から線102を
介して与えられる信号に応答して命令カウンタ16から
の値をセット−3−るレジスタTC15、IC更新制御
回路13がらの信号を格納するレジスタWF117、こ
のレジスタWF117および命令終了フラグバッファW
FB 6からの出力のどちらか一方を選択するjx択制
御回路18、およびこの選択制御回818がらの信号に
応答してインクリメンタ23、デクリメンタ24、また
はそのままの出力を選択して格納するストアバッファ掃
出しポインタ19を含む。
At the result storage (ST) stage, arithmetic units FLT and ADD
In addition to the read data register RDII 5 for storing the operation result from the shifter SHT, a write address register 2 for setting the write address, an incrementer 3 for increasing the write address from this register WA2 by +1, Register A'4, which sets the instruction end flag provided via line 102, this register W
an instruction end flag buffer WFB6 that stores the flag from F4 in the location indicated by write address register 2;
A store buffer 7 for storing the contents of the read data register 5 applied via the line 103 in a position indicated by the address from the register Δ^2, and a subsequent address for storing the subsequent address for this store buffer 7. register 9, incrementer 10 for updating the contents of this successive address register 9, store buffer 7
A memory access control unit 11 outputs an instruction signal to a line 105 for controlling buffer flushing from to the main memory.
, a register H^R12 that sends the contents from the store buffer 7 to the main storage device 8 via the line 104 in response to an instruction signal applied from the memory access control unit 11 via the line 105, and a register H^R12 from the arithmetic control unit 1. In response to an instruction counter update instruction signal given via line 101, an instruction to output "1" as an instruction end flag to line 102 if the instruction counter is updated, and "0" to line 102 if the instruction counter is not updated. Counter (hereinafter referred to as IC) update control circuit 13, instruction counter 16, register TC15 that sets a value from the instruction counter 16 in response to a signal applied from the IC update control circuit 13 via line 102, IC update control A register WF117 that stores signals from the circuit 13, this register WF117, and an instruction end flag buffer W
A jx selection control circuit 18 that selects either one of the outputs from the FB 6, and a store buffer that selects and stores the incrementer 23, decrementer 24, or the output as is in response to a signal from the selection control circuit 818. Contains a sweep pointer 19.

次に、本発明の一実施例の動作を第1図から第3図を参
照して詳細に説明する。第1図および第2図を参照する
と、サイクル1では主記憶装置8から命令キャッシュI
  Cacheに命令Aが格納される。命令Aは4ワー
ド命令である0次にサイクル2では主記憶装置8から命
令キャッシュI  Cacheに命令Bが格納されると
ともに命令Aは命令キャッシュI  Cacheからセ
レクタ21および命令レジスタlR2Oを介して加算器
AD、ADDERでアドレス生成される。このようにし
て、命令A、BおよびCの処理は進められる。命令Bは
2ワード命令であり、命令Cは1ワード命令である。
Next, the operation of one embodiment of the present invention will be explained in detail with reference to FIGS. 1 to 3. Referring to FIGS. 1 and 2, in cycle 1, instruction cache I is transferred from main memory 8 to instruction cache I.
Instruction A is stored in Cache. Instruction A is a 4-word instruction. In cycle 2, instruction B is stored from the main memory 8 to the instruction cache I Cache, and instruction A is transferred from the instruction cache I Cache to the adder via the selector 21 and instruction register IR2O. Addresses are generated using AD and ADDER. In this manner, the processing of instructions A, B, and C proceeds. Instruction B is a 2-word instruction, and instruction C is a 1-word instruction.

第1図から第3図を参照すると、サイクル6で読出デー
タレジスタRDR5に格納された命令Aに関する第1ワ
ード目の演算結果はサイクル7で線103を介してスト
アバッファ7の1番地に格納される。
Referring to FIGS. 1 to 3, the first word operation result regarding instruction A stored in read data register RDR5 in cycle 6 is stored in address 1 of store buffer 7 via line 103 in cycle 7. Ru.

線101を介してIC更新指示が出力されていないため
、IC更新制御回路13から線102を介してレジスタ
WFO4に格納された値“0”が、上述の命令Aの第1
ワード目の演算結果のストアバッファ7への格納動作と
ともに、命令終了フラグバッファ6の対応するワードに
′0が格納される。
Since no IC update instruction is output via the line 101, the value "0" stored in the register WFO4 from the IC update control circuit 13 via the line 102 is
Along with the operation of storing the word-th operation result in the store buffer 7, '0' is stored in the corresponding word of the instruction end flag buffer 6.

サイクル10で命令カウンタレジスタ15の内容が“A
”から“B”に変化するとともに命令終了フラグバッフ
ァ4に′1”が格納され、インクリメタ23が動作して
ストアバッファ掃出しポインタ19の内容が“0″から
°′1”に変化する。
In cycle 10, the contents of the instruction counter register 15 become “A”.
"1" is stored in the instruction completion flag buffer 4, the incrementer 23 operates, and the contents of the store buffer flush pointer 19 change from "0" to "1".

これはストアバッファ7内に掃出し可能なデータが1命
令あることを示す。
This indicates that there is one instruction in the store buffer 7 that can be flushed out.

メモリアクセス制御部11はストアバッファ掃出しポイ
ンタ1つの値が“02′のときはストアバッファ7に掃
出し可能なデータがないため、ストアバッファ7から主
記憶装置8に対する掃出し動作を抑止する指示信号をレ
ジスタ12に与える。
When the value of one store buffer flush pointer is “02”, there is no data that can be flushed out in the store buffer 7, so the memory access control unit 11 registers an instruction signal to suppress the flushing operation from the store buffer 7 to the main memory device 8. Give to 12.

いま、掃出しポインタ19の内容が1′”であるなめ、
メモリアクセス制御部11はストアバッファ7の内容を
線104を介して主記憶装置8に洪恰するようレジスタ
12に指示する。この指示に応答してレジスタ12はス
トアバッファ7から主記憶装置8に対して命令Aの命令
単位の掃出しが開々台される。
Now, the content of the sweep pointer 19 is 1''',
The memory access control unit 11 instructs the register 12 to transfer the contents of the store buffer 7 to the main storage device 8 via the line 104. In response to this instruction, the register 12 begins to flush out the instruction A from the store buffer 7 to the main memory 8 in units of instructions.

サイクル1oにおいて命令Aの第4ワード目のストアバ
ッファ7への格納が終了しサイクル11において命令B
の第1ワード目のストアバッファ7への格納動作が開始
される。
In cycle 1o, the storage of the fourth word of instruction A to the store buffer 7 is completed, and in cycle 11, instruction B is stored in the store buffer 7.
The operation of storing the first word in the store buffer 7 is started.

サイクル12において命令カウンタレジスタ15の内容
が更新されると、これと同期して命令終了フラグバッフ
ァ6にパ1”が格納される。この時命令Aの第3ワード
ロのストアバッファ7から主記憶装置8への掃出し動作
が行なわれているため、命令Bの命令単位を主記憶装置
8に掃出すことができない、そこでストアバッファ掃出
しポインタ1つの値は1”から2″にカウントアツプさ
れる。これは、ストアバッファ内に掃出し可能なストア
データが2命令分存在することを示す。
When the contents of the instruction counter register 15 are updated in cycle 12, "P1" is stored in the instruction end flag buffer 6 in synchronization with this. At this time, the data is transferred from the store buffer 7 of the third word drawer of instruction A to the main memory 8, the instruction unit of instruction B cannot be flushed to the main memory 8, so the value of one store buffer flush pointer is counted up from 1" to 2". indicates that there is store data for two instructions that can be flushed out in the store buffer.

サイクル13において命令カウンタ16により命令カウ
ンタレジスタ15の内容が“2″から“3″に更新され
、命令Cに関する演算結果が格納されると、これと同期
して命令終了フラグバンファ6に値” 1 ”が格納さ
れる。この時命令Aの第4ワード目がストアバッファ7
から主記憶装置8に対してt1■出されており、命令C
に関する演算結果を主記憶装置8に掃出すことはできな
い。
In cycle 13, the contents of the instruction counter register 15 are updated from "2" to "3" by the instruction counter 16, and when the operation result regarding instruction C is stored, the value "1" is set in the instruction end flag buffer 6 in synchronization with this. is stored. At this time, the fourth word of instruction A is stored in store buffer 7.
t1 is issued to the main storage device 8 from the command C.
It is not possible to flush out the calculation results related to the main storage device 8 to the main storage device 8.

そこで、ストアバッファ掃出しポインタ1つの値は“2
”から“3”にカウントアツプされ、ストアバッファ7
内に掃出し可能なストアデータが3命令分存在すること
を示している。
Therefore, the value of one store buffer flush pointer is “2”.
” to “3” and store buffer 7
This indicates that there are three instructions worth of store data that can be flushed out.

サイクル13において、命令Aの第4ワード目の演算結
果の主記憶装置8への掃出しとともに命令終了フラグバ
ッファ6から′″1′°が出力されると、サイクル14
においてストアバ7フア掃出しポインタ1つの内容のデ
クリメンタ24によるデクリメントが行なわれ、ポイン
タ1つの内容は“3”から“2°°に変化する。この値
“2”は、ストアバッファ7内に掃出し可能なストアデ
ータが2命令存在することを示す。
In cycle 13, when the operation result of the fourth word of instruction A is flushed to the main memory 8 and ``1'' is output from the instruction end flag buffer 6, cycle 14
At this point, the contents of one store buffer 7 flush pointer are decremented by the decrementer 24, and the contents of one pointer change from "3" to "2°°." Indicates that there are two store data instructions.

サイクル14において、命令Bの第1ワード目の演算結
果の主記憶装置8への掃出し動作が開始され、サイクル
15において、命令Bの第2ワード目の命令単位の主記
憶装置8への掃出しが行なわれる。命令終了フラグバッ
ファ6から“1″が検出されるとストアバッファ掃出し
ポインタ19の値がデイクリメンタ24によりディクリ
メントされ“1”となる。これは、ストアバッファ7内
に掃出し可能なストアデータが1命令分存在しているこ
とを示している。
In cycle 14, the operation result of the first word of instruction B is started to be flushed to the main memory 8, and in cycle 15, the operation result of the second word of instruction B is flushed to the main memory 8. It is done. When "1" is detected from the instruction end flag buffer 6, the value of the store buffer flush pointer 19 is decremented by the decrementer 24 and becomes "1". This indicates that there is one instruction worth of store data that can be flushed out in the store buffer 7.

サイクル16において命令Cがストアバッファ7から掃
出されると、命令終了フラグバッファ6から′1″か検
出され、サイクル17においてストアバッファ掃出しポ
インタ1つの値がデクリメンタ24によりカウントダウ
ンされ°゛0”となり、これはストアバッファ7に掃出
し可能なデータかないことを示している。
When the instruction C is flushed out from the store buffer 7 in cycle 16, '1' is detected from the instruction end flag buffer 6, and in cycle 17, the value of one store buffer flush pointer is counted down by the decrementer 24 and becomes '0'. This indicates that there is no data in the store buffer 7 that can be flushed out.

なお、命令終了フラグバッファ6は第3図に示すような
バッファ構造となっており、ストアデータがストアバッ
ファ7に書込まれるタイミングで命令カウンタレジスタ
15の値が変更される時に“1″が、それ以外の時には
″0パが書込まれる。
Note that the instruction end flag buffer 6 has a buffer structure as shown in FIG. At other times, "0" is written.

また、同一タイミングで命令終了フラグバッファ6にス
トアされるフラグが“1″ならば、ストアバッファ掃出
しポインタ19の値がカウントアツプされ、“0パなら
ばカウントアツプされずにその時のポインタ19の値が
保持される。
Furthermore, if the flag stored in the instruction end flag buffer 6 at the same timing is "1", the value of the store buffer flush pointer 19 is counted up, and if it is "0", the value of the pointer 19 at that time is not counted up. is retained.

また、ストアバッファ7から主記憶装置8へ掃出すタイ
ミングで命令終了フラグバッファ6の読出動作も行なわ
れる。読出された命令終了フラグの値が1′″ならば、
ストアバッファ掃出しポインタ19の値がカウントダウ
ンされ、命令終了フラグの値が°“0”ならばカウント
ダウンされずにその時の掃出しポインタ19の値が保持
される。
Further, the reading operation of the instruction end flag buffer 6 is also performed at the timing of flushing the instruction end flag buffer 6 from the store buffer 7 to the main memory device 8. If the value of the read instruction end flag is 1'',
The value of the store buffer purge pointer 19 is counted down, and if the value of the instruction end flag is "0", the value of the purge pointer 19 at that time is held without being counted down.

次に実行ステージにおける障害検出がなされたときの動
作について説明する6例えば、命令AのサイクルマのE
X(実行)ステージにおいて障害が検出されると、命令
カウンタ16の更新、命令終了フラグバッファ6へのス
トア、ストアバッファ掃出しポインタ1つの更新、およ
びストアバッファ7から主記憶装置8への命令Aの掃出
しが抑止され、命令Aからのりトライ(再試行)が指示
される。
Next, we will explain the operation when a failure is detected in the execution stage.6For example, the cycle master E of instruction A
When a failure is detected in the Sweeping is inhibited, and command A instructs a paste try (retry).

几匪Ω豆1 本発明はストア命令において発行されるストア要求に対
して命令単位に命令終了フラグを付加することにより、
主記憶装置8の書換えを命令の終了まで送らせる制御を
行なうことができるという効果がある。
The present invention adds an instruction completion flag to each instruction to a store request issued in a store instruction.
This has the advantage that it is possible to control the rewriting of the main storage device 8 until the end of the instruction.

また、本発明はストアバッフア掃出しポインタ1つを設
けることにより、ストアバッファ7に格納された餞も古
い命令単位から主記憶装置8に掃出すことができ、結果
としてリトライ率を向上できるという効果がある。
Furthermore, by providing one store buffer purge pointer, the present invention can also purge old instructions stored in the store buffer 7 to the main memory 8, resulting in an effect that the retry rate can be improved. .

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例を示す図、第2図は本発明の
一実施例の動作を説明するためのタイムチャート、第3
図はストアバッファ、命令終了フラグバッファおよびス
トアバッファ掃出しポインタの関係を示す図、第4図は
パイプライン処理を説明するための図、第5図は従来技
術の一例を示すためのタイムチャートである。 主要部分の符号の説明 1・・・・・・演算制御部 2・・・・・・書込アドレスレジスタ 3・・・・・・リードデータレジスタ 6・・・・・・命令終了フラグバッファ7・・・・・・
ストアバッファ 8・・・・・・主記憶装置 9・・・・・・続出アドレスレジスタ 11・・・・・・メモリアクセス制御部13・・・・・
・命令カウンタ更新制御回路15・・・・・・命令カウ
ンタレジスタ16・・・・・・命令カウンタ 18・・・・・・泗択制御回路 1つ・・・・・・ストアバッファ掃出しポインタ20・
・・・・・命令レジスタ
Fig. 1 is a diagram showing an embodiment of the present invention, Fig. 2 is a time chart for explaining the operation of an embodiment of the present invention, and Fig. 3 is a diagram showing an embodiment of the present invention.
The figure is a diagram showing the relationship between a store buffer, an instruction end flag buffer, and a store buffer flush pointer, FIG. 4 is a diagram for explaining pipeline processing, and FIG. 5 is a time chart for showing an example of a conventional technique. . Explanation of symbols of main parts 1...Arithmetic control unit 2...Write address register 3...Read data register 6...Instruction end flag buffer 7.・・・・・・
Store buffer 8...Main storage device 9...Continuation address register 11...Memory access control unit 13...
- Instruction counter update control circuit 15...Instruction counter register 16...Instruction counter 18...One selection control circuit...Store buffer flush pointer 20.
...Instruction register

Claims (1)

【特許請求の範囲】[Claims] (1)複数回のストア動作で一命令関連の情報を格納す
るストアバッファ手段と、このストアバッファ手段に格
納される一命令関連の情報の最終回のストア動作に応答
して値を増加させるか減少させ、前記ストアバッファ手
段からの掃出し動作に応答して値を減少させるか増加さ
せるストアバッファ掃出しポインタ手段と、このストア
バッファ掃出しポインタ手段の値が前記ストアバッファ
手段からの掃出し対象となる命令関連の情報がないこと
を示しているとき前記ストアバッファ手段からの掃出し
動作を抑止する抑止手段とを含むことを特徴とする掃出
し制御方式。
(1) Store buffer means for storing information related to one instruction through multiple store operations, and whether the value of the information related to one instruction stored in this store buffer means is increased in response to the final store operation. a store buffer purge pointer means for decreasing or increasing a value in response to a purge operation from said store buffer means; and an instruction association whose value is to be purged from said store buffer means. and a suppressing means for suppressing a purge operation from the store buffer means when the information indicates that there is no information.
JP63084616A 1988-04-06 1988-04-06 Discharge control method Expired - Lifetime JP2901247B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63084616A JP2901247B2 (en) 1988-04-06 1988-04-06 Discharge control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63084616A JP2901247B2 (en) 1988-04-06 1988-04-06 Discharge control method

Publications (2)

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

Family

ID=13835625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63084616A Expired - Lifetime JP2901247B2 (en) 1988-04-06 1988-04-06 Discharge control method

Country Status (1)

Country Link
JP (1) JP2901247B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444525A2 (en) * 1990-03-02 1991-09-04 Mitsubishi Denki Kabushiki Kaisha Process and apparatus for controlling a programmable controller with efficient identification of operation completion
JPH056274A (en) * 1991-06-27 1993-01-14 Mitsubishi Electric Corp Data processor
US7716452B1 (en) 1996-08-22 2010-05-11 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0444525A2 (en) * 1990-03-02 1991-09-04 Mitsubishi Denki Kabushiki Kaisha Process and apparatus for controlling a programmable controller with efficient identification of operation completion
JPH056274A (en) * 1991-06-27 1993-01-14 Mitsubishi Electric Corp Data processor
US7716452B1 (en) 1996-08-22 2010-05-11 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor
US7840776B1 (en) 1996-08-22 2010-11-23 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor
US8055877B1 (en) 1996-08-22 2011-11-08 Kelly Edmund J Translated memory protection apparatus for an advanced microprocessor

Also Published As

Publication number Publication date
JP2901247B2 (en) 1999-06-07

Similar Documents

Publication Publication Date Title
JP3176129B2 (en) Monitor structure and monitoring method for on-chip cache of microprocessor
JPH08272692A (en) Conversion method of virtual address
JPS5837883A (en) Memory addressing unit
GB2200481A (en) Maintaining coherence between a microprocessor&#39;s integrated cache and external memory
US5287483A (en) Prefetched operand storing system for an information processor
JPH027097B2 (en)
KR19990037571A (en) A data pointer for outputting an indirect addressing mode address in a single period and a method of providing the same
JPH01255933A (en) Sweeping-out control system
US5724548A (en) System including processor and cache memory and method of controlling the cache memory
US4737908A (en) Buffer memory control system
JPS6137654B2 (en)
JPS6211736B2 (en)
US4853889A (en) Arrangement and method for speeding the operation of branch instructions
JP3132566B2 (en) Instruction precedence controller
JPS601655B2 (en) Data prefetch method
JPH0544049B2 (en)
JPH01273132A (en) Microprocessor
JPH0235331B2 (en)
JP2762798B2 (en) Information processing apparatus of pipeline configuration having instruction cache
JP2560520B2 (en) Advance control device
JPH07191911A (en) Address converter and microprocessor computation method
JP2762797B2 (en) Information processing apparatus of pipeline configuration having instruction cache
JPH0476648A (en) Cache storage device
JPS6131894B2 (en)
JP2798492B2 (en) List vector processing device