JPS6149250A - Buffer memory control system - Google Patents

Buffer memory control system

Info

Publication number
JPS6149250A
JPS6149250A JP59171150A JP17115084A JPS6149250A JP S6149250 A JPS6149250 A JP S6149250A JP 59171150 A JP59171150 A JP 59171150A JP 17115084 A JP17115084 A JP 17115084A JP S6149250 A JPS6149250 A JP S6149250A
Authority
JP
Japan
Prior art keywords
store
operand
instruction fetch
buffer storage
storage device
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
JP59171150A
Other languages
Japanese (ja)
Other versions
JPH0351012B2 (en
Inventor
Satoshi Koga
智 古賀
Satoru Matsuo
悟 松尾
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59171150A priority Critical patent/JPS6149250A/en
Publication of JPS6149250A publication Critical patent/JPS6149250A/en
Publication of JPH0351012B2 publication Critical patent/JPH0351012B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To perform reflection processing at a high speed to an instruction fetch buffer memory of an operand store with simple constitution, by omitting the necessity of synchronization between both pipelines of an operand fetch and an instruction fetch in an operand fetch mode. CONSTITUTION:An operand store address given from an I-UNIT1 is set only at an operand execution address register 31, and it is checked whether said address is stored or not in an operand buffer memory 32. If the memory 32 stores the address, the operand store data set to an operand store data register 37 is written on the memory 32. The operand store address stored in a buffer memory of a store-through system and the addresses of a store address register 390 and a store data register 391 to which data are set are reflected to the operand store of an instruction fetch buffer memory 35.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、データ処理装置におけるバッファ記・憶ンス
テムに係り、特にオペランドと、命令の為に、別々のバ
ッファ記憶装置とを備えたバッファ記憶システムにおい
て、オペランドストア時のデータの更新性を正しく保障
する為のバッファ記憶制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a buffer storage system in a data processing device, and more particularly to a buffer storage system having separate buffer storage devices for operands and instructions. This invention relates to a buffer storage control method for correctly ensuring data updateability when storing operands in a system.

近年、データ処理装置の能力を向上させる為に、各種の
方式が考えられているが、その方式の1つとして、パイ
プライン方式がある。この方式は1つの命令実行シーケ
ンスを、複数のフェーズに分けて、それらの各フェーズ
をそれぞれ実行する複数のステーションを設け、各ステ
ーションが独立に動けるように構成することによって、
複数の命令を同時に処理しようとするものである。
In recent years, various methods have been considered to improve the performance of data processing devices, and one of the methods is a pipeline method. This method divides one instruction execution sequence into multiple phases, provides multiple stations to execute each phase, and configures each station to operate independently.
It attempts to process multiple instructions at the same time.

通常、データ処理装置の中核となる中央処理装置(以下
CPUと云う)は第5図に示すように、3つの機能ブロ
ック、即ちI−UNIT L H,UNIT 2. S
−11NIT 3.  とバッファ記憶袋f(t+s)
 4とから構成されている。
Usually, the central processing unit (hereinafter referred to as CPU), which is the core of a data processing device, has three functional blocks, namely, I-UNIT LH, UNIT 2. S
-11NIT 3. and buffer memory bag f(t+s)
It is composed of 4.

1−UNIT ’1は命令を解読し、該CPUのパイプ
ライン全体を制御する。E−UNIT 2は演算を行い
、5−UNIT 3はバッファ記憶装置(以下BSと云
う)4と主記憶装置(図示せず)へのアクセスを制御す
るユニットである。
1-UNIT '1 decodes instructions and controls the entire pipeline of the CPU. E-UNIT 2 is a unit that performs calculations, and 5-UNIT 3 is a unit that controls access to a buffer storage device (hereinafter referred to as BS) 4 and a main storage device (not shown).

上記CPUパイプラインの1例として、I−UNIT 
1のパイプラインを第6図に示す。
As an example of the above CPU pipeline, I-UNIT
The pipeline of No. 1 is shown in FIG.

1つの命令は、命令フェッチフェーズ(INST FE
TCII)にBS 4から読み出された後、φA〜φF
迄の6つのフェーズを通ることにより処理される。
One instruction completes the instruction fetch phase (INST FE
TCII) after being read from BS 4, φA~φF
It is processed through the following six phases.

各フェーズの1部は2つ、又は3つのサイクルに分割さ
れていて、各サイクルの処理分担は次の通りである。
A portion of each phase is divided into two or three cycles, and the processing assignments for each cycle are as follows.

I:命令フェッチのアドレス計算。I: Address calculation for instruction fetch.

T;当該命令のアドレスについて、アドレス変換バッフ
ァ(TLB) 、及びBS 4のタグ部を参照する。
T: Refer to the address translation buffer (TLB) and the tag section of BS 4 for the address of the instruction.

B:BS4の読み出し、書き込み。B: BS4 reading and writing.

Dz命令の解読。Decoding the Dz command.

R:レジスタリード。R: Register read.

A:オペランドストア時のアドレス計算。A: Address calculation during operand store.

T:当該オペランドのアドレスについて、アドレス変換
バッファ(TLB)、及びBS 4のタグ部をアク・セ
スする。
T: Accesses the address translation buffer (TLB) and the tag section of BS 4 for the address of the operand.

B:BS4の読み出し1占き込み。B: BS4 read 1 fortune-telling.

El:演算実行サイクル1゜ E2;演算実行サイクル2゜ ■:チェックザイクル。El: Operation execution cycle 1゜ E2; Operation execution cycle 2゜ ■: Check cycle.

W:演算結果の占き込みサイクル。W: Operation result prediction cycle.

上記CPUパイプラインの中で、BS 4へのアクセス
がどのように行われるかを示したものが第7図であり、
BS 4を制御する5−UNIT 3のパイプライン(
b)をI−UNIT 1のパイプライン(a) と対比
させて示している。
Figure 7 shows how access to BS 4 is performed in the above CPU pipeline.
5-UNIT 3 pipeline controlling BS 4 (
b) is shown in comparison with the pipeline (a) of I-UNIT 1.

本図から明らかなように、命令フェッチ、オペランドア
クセス共に、4サイクルよりなり、各サイクルでの処理
は次のようになっている。
As is clear from the figure, both instruction fetch and operand access consist of four cycles, and the processing in each cycle is as follows.

P:BS4を使用する優先順位を決めるプライオリティ
サイクル。
P: Priority cycle that determines the priority of using BS4.

T:当1亥フェッチのアドレスについて、アドレス変換
バッファ(TLB)、及びBS 4のタグ部を参照する
T: Refer to the address translation buffer (TLB) and the tag section of BS 4 for the address of the current fetch.

B:BS4の読み出し、書き込み。B: BS4 reading and writing.

R:アクセスの結果により、読み出しデータを1−UN
IT 1’、及びE−UNIT’2へ送出するリザルト
サイクル。
R: Depending on the access result, the read data is 1-UN
Result cycle sent to IT 1' and E-UNIT'2.

BS 4へのアクセスは、第7図に示すように、l命令
を処理するパイプラインの中で、IサイクルとAサイク
ルと、2回出されている。
As shown in FIG. 7, access to BS 4 is issued twice, in the I cycle and the A cycle, in the pipeline that processes the l instruction.

この為、該2つのBS 4アクセスに衝突が起こるのを
避ける為に、上記■サイクルとAサイクルとが重ならな
いように、2サイクルに1命令を処理する構成となって
いる。この関係を第8図の斜線で示している。
Therefore, in order to avoid a collision between the two BS4 accesses, one instruction is processed every two cycles so that the above-mentioned (2) cycle and A cycle do not overlap. This relationship is indicated by diagonal lines in FIG.

このパイプラインを用いたCPUにおいて、若しも該パ
イプラインへの命令投入を毎サイクル行えるように構成
すれば、cpuの処理速度を2倍に向上させることがで
きる。
If a CPU using this pipeline is configured so that instructions can be input to the pipeline every cycle, the processing speed of the CPU can be doubled.

然しなから、毎サイクルパイプラインを起動するとなる
と、■サイクルとAサイクルの衝突が起こり、■サイク
ル1回当たり2個の命令をフェッチすることができると
しても、該1−UNIT 1のパイプラインの処理能力
は、1.5サイクルで1命令しか実行できないことにな
る。
However, if the pipeline is started every cycle, there will be a collision between ■ cycle and A cycle, and ■ even if two instructions can be fetched per cycle, the pipeline of the 1-UNIT 1 will The processing power is that only one instruction can be executed in 1.5 cycles.

従って、効率の良い毎サイクルパイプラインを構成する
のであれば、命令フェッチ用のBSと、オペランドフェ
ッチ用のBSとを分離して、それぞれ独立に動作できる
構造とする必要がある。
Therefore, in order to configure an efficient cycle-by-cycle pipeline, it is necessary to separate the instruction fetch BS and operand fetch BS so that they can operate independently.

上記2つのBSを備えた場合に問題となるのは、同一の
ブロック (32バイト、或いは64ハイha位)が、
該2つのBSに存在した時の内容の一致を図る制御であ
る。
The problem with the above two BSs is that the same block (32 bytes or 64 high ha) is
This is a control that attempts to match the contents when they exist in the two BSs.

この問題は、2台のCPUが、それぞれ別個のBSを持
っている時のデータの一致をとる制御方式に類似してい
る。
This problem is similar to the control method for matching data when two CPUs each have separate BSs.

〔従来の技術〕[Conventional technology]

第9図に、上記2つのBSを持つ従来方式の例を示す。 FIG. 9 shows an example of the conventional system having the above two BSs.

本図において、31はオペランド実行アドレスレジスタ
 (以下OERと云う)、32はオペランドパ・ノファ
記憶、33はオペランドワードレジスタ (以下OWI
’iと云う)、34は命令実行レジスタ (以下IER
と云う)、35は命令フェッチバッファ記憶。
In this figure, 31 is an operand execution address register (hereinafter referred to as OER), 32 is an operand address register, and 33 is an operand word register (hereinafter referred to as OWI).
'i), 34 is the instruction execution register (hereinafter referred to as IER
35 is an instruction fetch buffer memory.

36は命令ワードレジスタ (以下IWRと云う)13
7はオペランドストアデータレジスタ (以下0SDR
と云う)、38は命令ストアデータレジスタ (以下l
5DRと云う)である。
36 is an instruction word register (hereinafter referred to as IWR) 13
7 is the operand store data register (0SDR
), 38 is an instruction store data register (hereinafter l
5DR).

この従来例においては、I−IJNIT 1からのオペ
ランドフェッチのアドレスは、OER31にセットされ
、オペランドバッファ記憶32がアクセスされ、読み出
されたデータはOWR33にセットされてE−11NI
T 2へ送出される。
In this conventional example, the address of the operand fetch from I-IJNIT 1 is set in OER31, the operand buffer memory 32 is accessed, and the read data is set in OWR33 and sent to E-11NI.
Sent to T2.

同様にして、命令フェッチアドレスは、IER34にセ
ットされ、命令フェッチバッファ記憶35からの読み出
しデータは、IWR36にセットされて、I−UNIT
 1に送出される。
Similarly, the instruction fetch address is set in the IER 34, the read data from the instruction fetch buffer memory 35 is set in the IWR 36, and the I-UNIT
1.

上記オペランドストアアドレスば、OUR1,及びIE
R34に同時にセットされ、オペランドバッファ記t!
32だけでなく、命令フェッチバッファ記憶35にも、
当該アドレスのデータブロックが存在するか否かが調べ
られる。
The above operand store address is OUR1, and IE
R34 is set at the same time, and the operand buffer record t!
32 as well as the instruction fetch buffer memory 35.
It is checked whether a data block at the address exists.

これは、該データブロックの先頭に命令列が配置されて
いても、その後にデータが含まれている可能性があるか
らである。
This is because even if the instruction sequence is placed at the beginning of the data block, there is a possibility that data will be included after it.

そして、当該ブロックが存在する時には、E−UNIT
 2からのオペランドストアデータを0SDR37,及
びl5DR38にセットして、オペランドバッファ記憶
32.及び命令フェッチバッファ記憶35の、当該アド
レスのブロックに書き込みを行う。
Then, when the block exists, E-UNIT
The operand store data from operand buffer storage 32.2 is set in 0SDR37 and l5DR38. and writes to the block at the corresponding address in the instruction fetch buffer memory 35.

他方、オペランドフェッチ、或いは命令フェッチの際に
、当該バッファ記憶中に該当するアドレスが存在しない
時には、図示していない主記憶装置に対して当該アドレ
スのデータのブロック転送要求を出し、ブロック転送さ
れてきたデータがバッファ記憶に吉き込まれるように動
作する。
On the other hand, when fetching an operand or fetching an instruction, if the corresponding address does not exist in the buffer storage, a block transfer request for the data at the address is issued to the main storage (not shown), and the block transfer is performed. The data is stored in the buffer memory.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記の従来方式においては、オペランドストアの際に、
オペランドバッファ記憶32をアクセスするS−UNI
T 3のP、 T、 B、 Rで示されるパイプライン
と、命令フェッチバッファ記憶をアクセスする5−UN
IT3のパイプラインとを、第10図に示すように同期
させなければならない問題がある。
In the above conventional method, when storing operands,
S-UNI accessing operand buffer storage 32
Pipeline indicated by P, T, B, R of T3 and 5-UN accessing instruction fetch buffer storage
There is a problem that the IT3 pipeline must be synchronized as shown in FIG.

即ち、本図の■に示すように、”prPifとも該プラ
イオリティサイクルにおいて、優先権がとれると、直ち
にストアの為のバッフ1アクセスができるが、■で示す
ように、命令フェッチ用バッファ記憶が、ブロック転送
要求(Pmi)を処理している場合には、Pifが3サ
イクル遅らされ、これと同期をとる為に、オペランド側
のパイプラインも3サイクル待たされることになる。
That is, as shown in ■ in this figure, when priority is obtained with "prPif" in the priority cycle, buffer 1 access for store can be accessed immediately, but as shown in ■, buffer storage for instruction fetch is When a block transfer request (Pmi) is being processed, Pif is delayed by three cycles, and in order to synchronize with this, the pipeline on the operand side is also forced to wait for three cycles.

本発明は上記従来の欠点に鑑み、オペランドフェッチ、
及び命令フェッチの両パイプラインを同期化することな
く、命令フエ・ノチバ・ソファ記憶にオペランドストア
を反映させる手段を提供することを目的とするものであ
る。
In view of the above-mentioned conventional drawbacks, the present invention provides operand fetch,
The object of the present invention is to provide a means for reflecting the operand store in the instruction storage without synchronizing the pipelines for the instruction processing and the instruction fetch.

〔問題点を解決する為の手段〕[Means for solving problems]

この目的は、 (1)命令フェッチは命令フェッチ用バッファ記憶装置
から行い、オペランドフェッチはオペランドアクセス用
バッファ記憶装置から行い、オペランドストアをオペラ
ンドアクセス用ノ\・ソファ記憶装置と、ストアアドレ
スレジスタと、ストアデータレジスタとに実施した後に
おいて、咳オペランドストアがなされたことを、上記命
令フェッチ用バッファ記憶装置に反映させる。
This purpose is as follows: (1) Instruction fetch is performed from the instruction fetch buffer storage device, operand fetch is performed from the operand access buffer storage device, and operand store is performed from the operand access buffer storage device and the store address register. After performing the store data register, the fact that the cough operand store has been performed is reflected in the instruction fetch buffer storage device.

(2)上記オペランドストアが行われる場合には、命令
フェッチパイプラインに、ストアデータレジスタの内容
を命令フェッチ用バッファ記憶装置に反映すべく、オペ
ランドパイプラインの所定のタイミングで、当該リクエ
ストをオンにするように制御する。
(2) When the above operand store is performed, the request is turned on at a predetermined timing in the operand pipeline in order to reflect the contents of the store data register in the instruction fetch buffer storage device. control to do so.

(3)上記複数個の各ストアデータレジスタに対応して
、そのストアデータレジスタの内容が、命令フェッチ用
バッファ記憶装置へ反映すべきであることを示す手段(
例えば、フラグ)を設け、該フラグは対応するストアデ
ータレジスタへのデータのストア時にオンにセントされ
、上記命令フェッチ用バッファ記憶装置へ、該ストアデ
ータが反映された時にオフにリセットされるように制御
する。
(3) Means for indicating, corresponding to each of the plurality of store data registers, that the contents of the store data register should be reflected in the instruction fetch buffer storage device (
For example, a flag) is provided, and the flag is turned on when data is stored in the corresponding store data register, and is reset to off when the store data is reflected in the instruction fetch buffer storage device. Control.

(4)上記ストアデータレジスタの内容を命令フェッチ
用バッファ記憶装置に反映する際に、次に何れのストア
データレジスタの内容を命令フェッチ用バッファ記憶装
置に反映させるべきであるかを示すポインタを備え、該
ポインタの内容が、何れかのストアアドレスレジスタ、
及びストアデータレジスタを、命令フェッチ用バッファ
記憶装置に反映する為の選択回路を制御する。
(4) When the contents of the store data register are reflected in the instruction fetch buffer storage device, a pointer is provided that indicates which store data register contents should be reflected in the instruction fetch buffer storage device next. , the contents of the pointer are stored in any store address register,
and controls a selection circuit for reflecting the store data register in the instruction fetch buffer storage device.

(5)  上記ポインタの値食、命令フェッチパイプラ
インの動作に同期させてシフトさせ、該ポインタ値によ
って、上記命令フェッチ用バッファ記憶装置に、上記命
令フェッチ用パイプラインの所定のタイミングで、上記
ストアデータレジスタの内容を選択して書き込むように
制illする。
(5) The value of the pointer is shifted in synchronization with the operation of the instruction fetch pipeline, and the pointer value causes the store to be stored in the instruction fetch buffer storage device at a predetermined timing of the instruction fetch pipeline. Control the contents of the data register to be selected and written.

本発明のバッファ記憶制御方式によって達成される。This is achieved by the buffer storage control scheme of the present invention.

これは、ストアスル一方式のバッファ記憶に設けられて
いるストアバッファのアドレス、及びデータを利用して
、命令フェッチバッファ記1.αへのオペランドストア
の反映を行うようにしたものである。
This uses the address and data of the store buffer provided in the store-only type of buffer storage to write the instruction fetch buffer 1. The operand store is reflected in α.

〔作用〕[Effect]

即ち、本発明によれば、主記憶装置へのストアアクセス
を行う為のストアデータレジスタ(STD)・と、スト
アアドレスレジスタ(STAR)に対応して、該ストア
データレジスタ(ST[l)の内容が未だ命令フェッチ
バッファ記憶に反映されていないことを示すフラグ(S
TB HOLD)を設け、オペランドストアの際には、
オペランドパイプラインの所定のタイミングで、命令フ
ェッチパイプラインにリクエストを出し、ストアデータ
が有効になった時点で上記フラグをオンとし、該命令フ
ェッチパイプラインの所定のタイミングで、上記命令フ
エ・7チバツフア記憶に、該ストアデータを書き込んだ
時点で、上記フラグをオフにするように制御する際、上
記ストアデータレジスタ(STD)の何れの内容を、命
令フェッチバッファ記憶に反映させるかを示すポインタ
を設けて、上記ストアアドレスレジスタ(STAR) 
、及びストアデータレジスタ(STD)の選択に使用し
、更に上記ポインタの値を命令フェッチパイプラインの
動作に同期させて、命令フモソチバソファ記憶に、命令
フェッチパイプラインの所定のタイミングで、上記スト
アデータレジスタ(STD)の内容を選択して凹き込む
ようにしたものであるので、オペランドフェッチの際に
オペランドフェッチと、命令フェッチの両パイプライン
を同期化する必要がなく、M単な構成でオペランドスド
アの命令フェッチバッファ記憶への反映処理の高速化が
図れる効果がある。
That is, according to the present invention, the contents of the store data register (ST[l) are stored in correspondence with the store data register (STD) for performing store access to the main memory and the store address register (STAR). A flag (S
TB HOLD), and when storing the operand,
At a predetermined timing of the operand pipeline, a request is issued to the instruction fetch pipeline, and when the store data becomes valid, the above flag is turned on, and at a predetermined timing of the instruction fetch pipeline, the above instruction flag is sent to the instruction fetch pipeline. A pointer is provided to indicate which contents of the store data register (STD) are to be reflected in the instruction fetch buffer memory when controlling the flag to be turned off at the time when the store data is written to the memory. The above store address register (STAR)
, and a store data register (STD), and further synchronizes the value of the pointer with the operation of the instruction fetch pipeline to store the instruction in the store data register at a predetermined timing of the instruction fetch pipeline. Since the contents of (STD) are selected and recessed, there is no need to synchronize both the operand fetch and instruction fetch pipelines when fetching operands, and operand fetching can be performed with a simple configuration of M. This has the effect of speeding up the process of reflecting the instruction in the door's instruction fetch buffer storage.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって二゛【述する。 Embodiments of the present invention will be described below with reference to the drawings.

本発明は、I−IJNIT 1からのストアアクセスは
、バッファ記憶へ書き込むと同時に、ストアのアドレス
と、データを保持できるストアバッファにセットし、主
記憶装置へも書き込む、所謂ストアスル一方式を前提と
している。
The present invention is based on the premise that store access from I-IJNIT 1 is a so-called store-only one-way method in which the store address and data are set in a store buffer that can hold the data at the same time as writing to the buffer memory, and the data is also written to the main memory. There is.

第1図は本発明の一実施例の構成を示した図であり、第
2図はストアバッファ(STB)の構成を示す図であり
、第3図、第4図は本発明を実施してストアアクセスを
行う場合の動作をタイムチャートで示した図である。
FIG. 1 is a diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a diagram showing the configuration of a store buffer (STB), and FIGS. 3 and 4 are diagrams showing the configuration of an embodiment of the present invention. FIG. 4 is a diagram showing a time chart of operations when performing store access.

第1図において、31〜38は第9図で説明したものと
同じものであり、ストアアドレスレジスタ(以下5TA
Rと云う)390と、ストアデータレジスタ、(以下S
TDと云う)391.及び第2図で示しているホールド
フラグHが、本発明を実施するのに必要な機能ブロック
である。
In FIG. 1, 31 to 38 are the same as those explained in FIG. 9, and store address registers (hereinafter referred to as 5TA
R) 390, and a store data register (hereinafter referred to as S).
(referred to as TD) 391. and the hold flag H shown in FIG. 2 are functional blocks necessary to implement the present invention.

先ず、I−UNIT lからのオペランドストアアドレ
スは、IER34にはセ・ノドしないで、OER31側
にだけセットされ、オペランドへソファ記i徒32に当
該アドレスがあるか否かがチェックされ、あれば03D
R37にセントされたオペランドストアデータが、オペ
ランドバッファ記憶32に書き込まれる。
First, the operand store address from the I-UNIT 1 is not set to the IER 34, but only to the OER 31 side, and it is checked whether or not the operand store address exists in the sofa reader 32, and if so, 03D
The operand store data sent to R37 is written to operand buffer storage 32.

これと同時に、該オペランドストアアドレスは5TAR
390にセットされ、E−LINIT 2からのオペラ
ンドストアデータはSTD 391にセットされ、その
後に主記憶装置への書き込み要求が出される。
At the same time, the operand store address is 5TAR.
390, and the operand store data from E-LINIT 2 is set to STD 391, after which a write request to main memory is issued.

本発明は、前記ストアスル一方式のバッファ記憶に設け
られている、上記オペランドストアアドレス、及びデー
タがセットされている5TAR390゜及びSTD 3
91のアドレスと、データを利用することにより、命令
フェッチバッファ記憶35へのオペランドストアの反映
を行うものである。
The present invention provides 5 TAR 390° and STD 3 provided in the store-through type buffer storage, in which the operand store address and data are set.
By using the address 91 and data, the operand store is reflected in the instruction fetch buffer storage 35.

上記5TAR390にセットされたオペランドストアア
ドレスは、主記憶装置へ送出される前に、IER34に
セントされ、命令フェッチバッファ記憶35に当該アド
レスが存在するか否かがチェックされる。
Before the operand store address set in the 5TAR 390 is sent to the main memory, it is sent to the IER 34, and it is checked whether the address exists in the instruction fetch buffer storage 35.

そして、当該アドレスが存在すると、STD 391内
のストアデータをl5DR3Bを通して命令フェソチバ
ッファ記憶35に書き込まれる。
If the address exists, the store data in the STD 391 is written to the instruction fesoch buffer memory 35 through the 15DR3B.

上記の動作により、オペランドのストアアクセスにおい
ては、オペランドフェッチと、命令フェッチの両パイプ
ラインを同期して実行させる必要はなくなり、命令フェ
ソチバンファ記憶35へのオペランドストアの反映は、
ストアバッファ(STB)のアドレス(即ち、5TAR
390の内容)とデータ (STD 391)を用いて
、I−UNIT 1のパイプラインとは非同期に行うこ
とができる。然も、STD 391は、既に5−UNI
T 3の構成要素として設けられており、これを流用す
ることにより、新たなハードウェアを殆ど追加すること
なしに実現することができる所に特徴がある。(特許請
求の範囲第1項に記載の事象) 次に、本発明を実施した場合の具体的な動作について、
第2図で示したストアバッファ(STB)の構成図、及
び第3図、第4図のタイムチャートを用いて説明する。
Due to the above operation, in operand store access, it is no longer necessary to execute both the operand fetch and instruction fetch pipelines synchronously, and the reflection of the operand store in the instruction fetish buffer memory 35 is as follows:
Store buffer (STB) address (i.e. 5TAR
390) and data (STD 391), it can be performed asynchronously with the pipeline of I-UNIT 1. However, STD 391 is already 5-UNI
It is provided as a component of T3, and its feature is that by reusing it, it can be realized without adding almost any new hardware. (Event described in claim 1) Next, regarding the specific operation when implementing the present invention,
This will be explained using the configuration diagram of the store buffer (STB) shown in FIG. 2 and the time charts shown in FIGS. 3 and 4.

ストアバッファ(STB)は、第2図に示すように、主
記憶装置へのストアアクセスの実アドレスを保持する5
TAR390と、8バイトのデータを保持するSTD 
391 と、制御フラグとして、上記5TAR390に
ストアアドレスが入ったことを示すバリッド(v)フラ
グ(以下、5TARVALIDと云う)と、 STD 
391にデータが入ったことを示すレディー(R)フラ
グ(以下、STB RE八へY と云う)と、上記ST
D 391のデータが、未だ命令フェッチバッファ記憶
35に反映されていないことを示すホールド(11)フ
ラグ(以下、STB HOLDと云う)と、8バイト以
内の部分書き込み時の、凹き込、みバイト位置を示すバ
イトマーク(BM)とから構成されている。
The store buffer (STB) holds the real address of store access to main memory, as shown in FIG.
TAR390 and STD that holds 8 bytes of data
391, a valid (v) flag (hereinafter referred to as 5TARVALID) indicating that a store address has been entered in the 5TAR 390 as a control flag, and STD.
Ready (R) flag indicating that data has entered 391 (hereinafter referred to as STB RE 8 Y) and the above ST
A hold (11) flag (hereinafter referred to as STB HOLD) indicating that the data in D 391 has not yet been reflected in the instruction fetch buffer memory 35, and a dented byte when writing a portion of 8 bytes or less. It consists of a bite mark (BM) that indicates the position.

上記制御フラグの内、ST’B ll0LD(H)が本
発明を実施するのに新たに設けられた制御フラグである
Among the control flags mentioned above, ST'B ll0LD(H) is a control flag newly provided to implement the present invention.

そして、5TARVAIJD(1/)、STB REA
DY(R)、 STB I(OLD(11)の各フラグ
により、次の各状態が表現できる。即ち、 前述のように、S−[INIT a内のパイプラインは
、オペランドバッファ記憶32.及び命令フエ・ノチバ
ノフプ記憶35に合わせて、オペランドパイプライ。
And 5TARVAIJD (1/), STB REA
The following states can be expressed by the flags DY(R) and STBI(OLD(11)): As mentioned above, the pipeline in S-[INIT a is operand buffer storage 32. Operand pipe play according to Hue Nochibanohpu memory 35.

ンと1命令フエツチパイプラインとに分かれζいて、そ
れぞれ次のフェーズからなっている。
The pipeline is divided into a one-instruction fetch pipeline and a one-instruction fetch pipeline, each consisting of the following phases.

Pニブライオリティサイクル。P NIBRIITY CYCLE.

Tニアドレス変換バッファ(TLB)、及びタグ部(T
AG)を参照するサイクル。
T near address translation buffer (TLB) and tag section (T
AG).

B:ハ“ソファ記憶(13S)の読み出し、凹き込みサ
イクル。
B: Reading of Sofa memory (13S), indentation cycle.

R/P  :バッファ記(1(BS)アクセスの結果に
より、読み出しデータをI−UNIT 1. IE−U
NIT 2へ送出するサイクルで、且つ他のパイプライ
ンへの結果投入の優先順位を決定するプライオリティサ
イクル。
R/P: Buffer record (1 (BS) Depending on the result of access, read data to I-UNIT 1. IE-U
A cycle sent to NIT 2, and a priority cycle that determines the priority of inputting results to other pipelines.

W:オペランドバッファ記憶への書き込みサイクル。W: Write cycle to operand buffer storage.

S:主記憶装置へのストアサイクル。S: Store cycle to main memory.

先ず、第3図によって、本発明の基本動作を説明する。First, the basic operation of the present invention will be explained with reference to FIG.

オペランドストアがオペランドパイプラインに投入され
、BサイクルでI−UNIT 1からのストアアドレス
が到若するので、5TARVALIDがオンにセットさ
れる。
The operand store is input to the operand pipeline, and the store address from I-UNIT 1 arrives in the B cycle, so 5TARVALID is set on.

次にオペランドパイプラインのR/Pサイクルで、命令
フェッチバッファ記憶35へのリクエストを出す為に、
命令フェッチパイプラインにリクエストを投入する。(
特許請求の範囲第2項に記載の事象) 該命令フェッチパイプラインが、上記投入されたリクエ
ストを受は付けると、命令フェッチバッファ記憶35に
オペランドアクセスを反映しても良いことを示す信号r
lF ’STL Go Jがオンとなり、これにより、
第1図に示されているストアアドレスポインタ(P)3
901を歩進させる。
Next, in the R/P cycle of the operand pipeline, in order to issue a request to the instruction fetch buffer storage 35,
Submit a request to the instruction fetch pipeline. (
(event described in claim 2) When the instruction fetch pipeline accepts the input request, a signal r indicating that the operand access may be reflected in the instruction fetch buffer storage 35 is generated.
IF 'STL Go J is turned on, which causes
Store address pointer (P) 3 shown in FIG.
Step 901.

C−UNIT 2からのストアデータは、上記オペラン
ドパイプラインのSサイクル以降で有効となるので、こ
のサイクルにおいて、上記STB I?EADY、5T
BII OL Dがオンにセントされる。
Since the store data from C-UNIT 2 becomes valid after the S cycle of the operand pipeline, in this cycle, the STBI? EADY, 5T
BII OLD is sent on.

命令フエ・7チパイプラインは、上記ストアアドレスが
命令フェッチバッファ記憶35に存在しなければ、R/
Pサイクルで終了するが、若し当該ストアアドレスが存
在すると、Sサイクル進退む。
If the above store address does not exist in the instruction fetch buffer memory 35, the instruction fetch/7chi pipeline
It ends in P cycles, but if the store address exists, it advances or retreats in S cycles.

この途中のWサイクルで、ストアバ・7フア(ST、B
)からの命令フェッチバッファ記tα35へのストアが
行われるので、STB 1(OLDはこのタイミングに
おいてリセットされる。(特許請求の範囲第3項に記載
の事象) 上記ストアアドレスポインタ(P)3901の値は、上
記rIF STL GOJ信号で歩進されるが、歩進さ
れる前の値が、図示していないシフトレジスタにセット
されて、命令フェッチパイプラインの動作に同期して、
Wサイクル迄伝えられる。
In the middle of this W cycle, store 7 hours (ST, B
) is stored in the instruction fetch buffer tα35, STB 1 (OLD is reset at this timing. (event described in claim 3)) The value is incremented by the rIF STL GOJ signal, but the value before being incremented is set in a shift register (not shown) and synchronized with the operation of the instruction fetch pipeline.
This will be communicated until the W cycle.

該Wサイクル迄伝えられたポイ′ンタの値(即ち、5T
ARの番号)は、命令フェッチバッファ記憶35に対す
る書き込みデータを、N個(ここでは、4個)のSTD
 391から選択するのに使用される。(特許請求の範
囲第4,5項に記載の事象)尚、制御フラグSTB R
EADYは上記ストアデータが主記憶装置に送出された
時点でリセットされ、制御フラグ5TARVALIDは
、上記STB READY、STB )t。
The value of the pointer passed up to the W cycle (i.e., 5T
AR number) is the number of STDs to write data to the instruction fetch buffer memory 35.
It is used to select from 391. (Events described in claims 4 and 5) Furthermore, the control flag STBR
EADY is reset when the store data is sent to the main memory, and the control flag 5TARVALID is set to STB READY, STB)t.

LDがリセットされた時点でリセットされるように動作
する。
It operates so that it is reset when the LD is reset.

第4図のタイムチャートは、オペランドパイプラインか
らのリクエストが、命令フェッチパイプラインに、1ザ
・イクル遅れて受は付けられた例を示したもので、オペ
ランドストアを命令フエッチバッファ記憶35に反映さ
せる動作は、第3図と全(同じである。
The time chart in FIG. 4 shows an example in which a request from the operand pipeline is accepted by the instruction fetch pipeline with a delay of one cycle, and the operand store is transferred to the instruction fetch buffer memory 35. The operation to reflect is the same as in FIG.

このようにして、オペランドストアが実行された時、そ
のストアデータが、命令フェソチバッファ記憶に正しく
、且つ高速に反映されるごとになる。
In this manner, when an operand store is executed, the store data is correctly and quickly reflected in the instruction fetish buffer memory.

〔発明の効果〕〔Effect of the invention〕

以上、詳細に説明したように、本発明のバッファ記憶制
御方式は、主記憶装置へのストアアクセスを行う為のス
トアデータレジスタ(STD) と、ストアアドレスレ
ジスタ(STAR)に対応して、該ストアデータレジス
タ(STD)の内容が未だ命令フェッチバッファ記憶に
反映されていないことを示すフラグ(STB ll0L
D)を設け、オペランドストアの際には、オペランドパ
イプラインの所定のタイミングで、命令フェッチパイプ
ラインにリクエストを出し、ストアデータが有効になっ
た時点で上記フラグをオンとし、該命令フェッチパイプ
ラインの所定のタイミングで、上記命令フェッチバッフ
ァ記憶にストアデータを書き込んだ時点で、上記フラグ
をオフにするように制御する際、上記ストアデータレジ
スタ(STD)の何れの内・容を、命令フェッチバッフ
ァ記憶に反映させるかを示すポインタを設けて、上記ス
トアアドレスレジスタ(STAR)。
As explained above in detail, the buffer storage control method of the present invention has a store data register (STD) for performing store access to the main memory, and a store address register (STAR). A flag (STB ll0L) indicating that the contents of the data register (STD) have not yet been reflected in the instruction fetch buffer memory.
D), and when storing an operand, a request is sent to the instruction fetch pipeline at a predetermined timing of the operand pipeline, and when the store data becomes valid, the above flag is turned on, and the instruction fetch pipeline When controlling the flag to be turned off when store data is written to the instruction fetch buffer memory at a predetermined timing, which contents of the store data register (STD) are written to the instruction fetch buffer memory The store address register (STAR) is provided with a pointer indicating whether to be reflected in memory.

及びストアデータレジスタ(STD)の選択に使用し、
更に上記ポインタの値を命令フェッチパイプラインのU
J作に同期させて、命令フェッチバッファ記憶に、命令
フェッチパイプラインの所定のタイミングで、上記スト
アデータレジスタ(STD)の内容を選択して書き込む
ようにしたものであるので、オペランドフェッチの際に
、オペランドフェッチと、命令フェッチの両パイプライ
ンを同期化する必要がなり、簡単な構成でオペランドス
トアの命令フェッチバッファ記憶への反映処理の高速化
が図れる効果がある。
and store data register (STD) selection,
Furthermore, the value of the above pointer is set to U of the instruction fetch pipeline.
The content of the store data register (STD) is selected and written to the instruction fetch buffer memory at a predetermined timing of the instruction fetch pipeline in synchronization with J. , it is necessary to synchronize both the operand fetch and instruction fetch pipelines, and this has the effect of speeding up the process of reflecting the operand store into the instruction fetch buffer storage with a simple configuration.

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

第1図は本発明の一実施例をブロック図で示した図。 第2図はストアバッファ(STB)の構成の一例を示し
た図。 第3図、第4図は本発明を実施して、オペランドストア
を実行した時の動作をタイムチャートで示した図。 第5図は中央処理装置(CPtl)の構成を示した図。 第6図はI−UNITパイプラインの動作を説明した図
。 第7図は1命令のバッファ記憶へのアクセスタイミング
を示す説明図。 第8図は2サイクル1命令処理の説明図。 第9図は従来の2つのバ・7フア記憶を持つ方式をブロ
ック図で示した図。 第10図は第9図で示した従来方式に必要な同期制御タ
イミングを説明する図、である。 図面において、 ■はl−11NIT、       2はE−UNIT
。 3は5−UNIT、       4はバッファ記憶。 31はオペランド実行アドレスレジスタ(OER)。 32はオペランドバッファ記憶。 33はオペランドワードレジスタ(OWR) 。 34は命令実行レジスタ(IER)。 35は命令フェッチバッファ記憶。 36は命令ワードレジスタ(IWR) 。 37ばオペランドストアデータレジスタ(OSDR) 
。 38は命令ストアデータレジスタ(ISDR) 。 390はストアアドレスレジスタ(STAR)。 391はストアデータレジスタ(STD) 。 3901はストアアドレスポインタ(P)。 I、T、B、D、R,A、El、E2.V、W、S は
ノぐイブラインノ各サイクル1 STARVALID(V)、5TII  READY(
R)、’STB  ll0LD(11)  Lよa、制
御フラグ。 をそれぞれ示す。 菓 1 口 寥 2(2
FIG. 1 is a block diagram showing an embodiment of the present invention. FIG. 2 is a diagram showing an example of the configuration of a store buffer (STB). FIGS. 3 and 4 are time charts showing operations when operand store is executed by implementing the present invention. FIG. 5 is a diagram showing the configuration of the central processing unit (CPtl). FIG. 6 is a diagram explaining the operation of the I-UNIT pipeline. FIG. 7 is an explanatory diagram showing the access timing of one instruction to buffer storage. FIG. 8 is an explanatory diagram of two-cycle one-instruction processing. FIG. 9 is a block diagram showing a conventional system having two buffer memories. FIG. 10 is a diagram illustrating the synchronous control timing necessary for the conventional method shown in FIG. 9. In the drawing, ■ is l-11NIT, 2 is E-UNIT
. 3 is 5-UNIT, 4 is buffer storage. 31 is an operand execution address register (OER). 32 is operand buffer storage. 33 is an operand word register (OWR). 34 is an instruction execution register (IER). 35 is an instruction fetch buffer memory. 36 is an instruction word register (IWR). 37 operand store data register (OSDR)
. 38 is an instruction store data register (ISDR). 390 is a store address register (STAR). 391 is a store data register (STD). 3901 is a store address pointer (P). I, T, B, D, R, A, El, E2. V, W, S each cycle 1 STARVALID (V), 5TII READY (
R),'STB ll0LD(11) Lyoa, control flag. are shown respectively. confectionery 1 mouthful 2 (2

Claims (5)

【特許請求の範囲】[Claims] (1)オペランドアクセス用バッファ記憶装置と、命令
フェッチ用バッファ記憶装置と、主記憶装置へのストア
アクセスを行う為の複数個のストアアドレスレジスタ、
及びストアデータレジスタとを備えたバッファ記憶シス
テムにおいて、命令フェッチは上記命令フェッチ用バッ
ファ記憶装置から行い、オペランドフェッチは上記オペ
ランドアクセス用バッファ記憶装置から行い、オペラン
ドストアを上記オペランドアクセス用バッファ記憶装置
と、ストアアドレスレジスタと、ストアデータレジスタ
とに実施した後において、該オペランドストアがなされ
たことを、上記命令フェッチ用バッファ記憶装置に反映
させる手段を有することを特徴とするバッファ記憶制御
方式。
(1) A buffer storage device for operand access, a buffer storage device for instruction fetch, and a plurality of store address registers for performing store access to the main storage device;
and a store data register, the instruction fetch is performed from the instruction fetch buffer storage device, the operand fetch is performed from the operand access buffer storage device, and the operand store is performed from the operand access buffer storage device. , a store address register and a store data register, the method comprises means for reflecting the fact that the operand store has been performed on the instruction fetch buffer storage device.
(2)上記オペランドストアが行われる場合には、命令
フェッチパイプラインに、上記ストアデータレジスタの
内容を命令フェッチ用バッファ記憶装置に反映すべく、
オペランドパイプラインの所定のタイミングで、当該リ
クエストをオンにするように制御されることを特徴とす
る特許請求の範囲第1項に記載のバッファ記憶制御方式
(2) When the above-mentioned operand store is performed, in order to reflect the contents of the above-mentioned store data register to the instruction fetch buffer storage device in the instruction fetch pipeline,
2. The buffer storage control method according to claim 1, wherein the buffer storage control method is controlled to turn on the request at a predetermined timing of an operand pipeline.
(3)上記複数個の各ストアデータレジスタに対応して
、そのストアデータレジスタの内容を、命令フェッチ用
バッファ記憶装置へ反映すべきであることを示す手段を
設け、該手段は対応するストアデータレジスタへのデー
タのストア時にオンにセットされ、上記命令フェッチ用
バッファ記憶装置へ、該ストアデータが反映された時に
オフにリセットされるように制御されることを特徴とす
る特許請求の範囲第1項、又は第2項に記載のバッファ
記憶制御方式。
(3) Corresponding to each of the plurality of store data registers, means is provided to indicate that the contents of the store data register should be reflected in the instruction fetch buffer storage device, and the means Claim 1: Controlled to be set to ON when data is stored in the register, and reset to OFF when the stored data is reflected in the instruction fetch buffer storage device. or the buffer storage control method according to item 2.
(4)上記ストアデータレジスタの内容を命令フェッチ
用バッファ記憶装置に反映する際に、次に何れのストア
データレジスタの内容を命令フェッチ用バッファ記憶装
置に反映させるべきであるかを示すポインタを備え、該
ポインタの内容が、何れかのストアアドレスレジスタ、
及びストアデータレジスタを、上記命令フェッチ用バッ
ファ記憶装置に反映する為の選択回路を制御するように
したことを特徴とする特許請求の範囲第1項、第2項、
第3項の何れかに記載のバッファ記憶制御方式。
(4) When the contents of the store data register are reflected in the instruction fetch buffer storage device, a pointer is provided that indicates which store data register contents should be reflected in the instruction fetch buffer storage device next. , the contents of the pointer are stored in any store address register,
and a store data register to control a selection circuit for reflecting the instruction fetch buffer storage device.
The buffer storage control method according to any one of paragraphs 3-3.
(5)上記ポインタの値を、命令フェッチパイプライン
の動作に同期させてシフトさせ、該ポインタ値によって
、上記命令フェッチ用バッファ記憶装置に、上記命令フ
ェッチ用パイプラインの所定のタイミングで、上記スト
アデータレジスタの内容を選択して書き込むように制御
することを特徴とする特許請求の範囲第1項、第2項、
第3項、第4項の何れかに記載のバッファ記憶制御方式
(5) The value of the pointer is shifted in synchronization with the operation of the instruction fetch pipeline, and the pointer value causes the store to be stored in the instruction fetch buffer storage device at a predetermined timing of the instruction fetch pipeline. Claims 1 and 2, characterized in that the content of the data register is controlled to be selectively written.
The buffer storage control method according to any one of Items 3 and 4.
JP59171150A 1984-08-17 1984-08-17 Buffer memory control system Granted JPS6149250A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59171150A JPS6149250A (en) 1984-08-17 1984-08-17 Buffer memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59171150A JPS6149250A (en) 1984-08-17 1984-08-17 Buffer memory control system

Publications (2)

Publication Number Publication Date
JPS6149250A true JPS6149250A (en) 1986-03-11
JPH0351012B2 JPH0351012B2 (en) 1991-08-05

Family

ID=15917912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59171150A Granted JPS6149250A (en) 1984-08-17 1984-08-17 Buffer memory control system

Country Status (1)

Country Link
JP (1) JPS6149250A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177238A (en) * 1986-10-17 1988-07-21 アムダール コーポレーション Data processor
JPS647941A (en) * 1987-05-30 1989-01-11 Tioxide Group Plc Oil dispersion and its production
JPH02167897A (en) * 1988-10-13 1990-06-28 Shikoku Chem Corp Aluminum borate whisker and production thereof
JPH03505610A (en) * 1989-05-04 1991-12-05 カー ― マギー ケミカル コーポレーション UV-stable polymer composition
JPH0573311A (en) * 1991-09-11 1993-03-26 Fujitsu Ltd Instruction rewriting system for instruction buffer in processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5829187A (en) * 1981-08-14 1983-02-21 Nec Corp Cache memory controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5829187A (en) * 1981-08-14 1983-02-21 Nec Corp Cache memory controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63177238A (en) * 1986-10-17 1988-07-21 アムダール コーポレーション Data processor
JPS647941A (en) * 1987-05-30 1989-01-11 Tioxide Group Plc Oil dispersion and its production
JPH02167897A (en) * 1988-10-13 1990-06-28 Shikoku Chem Corp Aluminum borate whisker and production thereof
JPH0476956B2 (en) * 1988-10-13 1992-12-07 Shikoku Chem
JPH03505610A (en) * 1989-05-04 1991-12-05 カー ― マギー ケミカル コーポレーション UV-stable polymer composition
JPH0573311A (en) * 1991-09-11 1993-03-26 Fujitsu Ltd Instruction rewriting system for instruction buffer in processor

Also Published As

Publication number Publication date
JPH0351012B2 (en) 1991-08-05

Similar Documents

Publication Publication Date Title
JP3587257B2 (en) Instruction execution monitoring system
US5150470A (en) Data processing system with instruction queue having tags indicating outstanding data status
US5434818A (en) Four port RAM cell
JPH08328958A (en) Instruction cache as well as apparatus and method for cache memory
EP0144249B1 (en) Buffer storage system
US6301654B1 (en) System and method for permitting out-of-order execution of load and store instructions
JP2008181551A (en) Vector tailgating for computer provided with vector register
EP0730228A1 (en) ECC protected memory organization with pipelined read-modify-write accesses
JPS59231652A (en) Detection system for memory access overlap
JPS6149250A (en) Buffer memory control system
JPS62102344A (en) Buffer memory control system
US5475855A (en) Pipelined computer with half machine cycle alternating write control for avoiding usage conflicts in general registers
US5276853A (en) Cache system
US4737908A (en) Buffer memory control system
JPS60195661A (en) Data processing system
JPH028333B2 (en)
US20050044326A1 (en) Processor and processor method of operation
JP2673041B2 (en) Instruction execution control method
JPH0385636A (en) Instruction advance control device
JP2910131B2 (en) Register file
JPH01305452A (en) Store control system for buffer memory device
JP2576589B2 (en) Virtual storage access control method
JP2625145B2 (en) Memory access control device
JPS62147530A (en) Microprogram control system
JPS6120905B2 (en)