JPH0248733A - Information processor - Google Patents

Information processor

Info

Publication number
JPH0248733A
JPH0248733A JP63199359A JP19935988A JPH0248733A JP H0248733 A JPH0248733 A JP H0248733A JP 63199359 A JP63199359 A JP 63199359A JP 19935988 A JP19935988 A JP 19935988A JP H0248733 A JPH0248733 A JP H0248733A
Authority
JP
Japan
Prior art keywords
instruction
update
buffer memory
stage
main memory
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
JP63199359A
Other languages
Japanese (ja)
Other versions
JP2783285B2 (en
Inventor
Masabumi Shibata
正文 柴田
Akira Ishiyama
明 石山
Masataka Hiramatsu
平松 昌高
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP63199359A priority Critical patent/JP2783285B2/en
Priority to KR1019890011221A priority patent/KR950000088B1/en
Publication of JPH0248733A publication Critical patent/JPH0248733A/en
Application granted granted Critical
Publication of JP2783285B2 publication Critical patent/JP2783285B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

PURPOSE:To eliminate OSC (Operand Store Conflict) detection logic circuit and OSC dealing control logic circuit and to reduce a hardware quantity by controlling the processing stage of an instruction executing memory storage so as the OSC is not generated. CONSTITUTION:A storage operation into a buffer memory 10 among the storage operation into the memory 14 of a store instruction 2 is executed without waiting for the completion of the instruction processing of an instruction prior to the store instruction 2. For the stage, an operand data read stage L being the idle stage of the store instruction 2 can be used. Consequently, the storage operation into the buffer memory 10 can be executed prior to the operand reading of the subsequent instruction and the generation of OSC itself is avoided. Thus, the detection circuit of OSC and the dealing control circuit of OSC are eliminated and the hardware quantity can considerably be reduced.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、情報処理装置、特に、パイプライン制御方式
を採用した情報処理装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to an information processing apparatus, and particularly to an information processing apparatus employing a pipeline control method.

[従来の技術] 一般に、パイプライン制御方式とは、1つの命令の処理
を複数のステージに分割し、複数の命令を所定のサイク
ルずつずらして入力し、各ステージを複数命令について
並行動作させることにより命令当たりの平均実行時間を
短縮し、情報処理装置の高性能化を図る方式である。
[Prior Art] In general, a pipeline control method is a method in which the processing of one instruction is divided into multiple stages, multiple instructions are input with a predetermined cycle shift, and each stage operates in parallel on multiple instructions. This method reduces the average execution time per instruction and improves the performance of information processing devices.

このようなパイプライン制御方式の一例を第6図に示す
。この例ては、1つの命令の処理は、D、M、A、L、
EおよびWの6つのステージに分割されている。ここに
、Dは命令の解読ステージ、Mはオペランドの論理アド
レスを求めるための加算ステージ、Aは算出されたオペ
ランドの論理アドレスを実アドレスへ変換するアドレス
変換ステージ、Lはバッファメモリからオペランドデー
タを読出す読出しステージ、Eは求められたオペランド
データな用いて演算を行う演算ステージ、Wは演算結果
をレジスタまたはメモリへ書込む格納ステージであり、
これらのステージが1サイクルピツチで実行されている
An example of such a pipeline control method is shown in FIG. In this example, the processing of one instruction is D, M, A, L,
It is divided into six stages: E and W. Here, D is the instruction decoding stage, M is the addition stage to find the logical address of the operand, A is the address translation stage to convert the calculated logical address of the operand to a real address, and L is the stage for converting the operand data from the buffer memory. A read stage reads data, E is a calculation stage that performs calculations using the obtained operand data, and W is a storage stage that writes the calculation results to a register or memory.
These stages are executed at one cycle pitch.

さて、第6図において、命令2がメモリの任意アドレス
、例えば、実アドレスa番地にオペランドデータを格納
するストア命令であり、かつ命令3が同一のアドレスa
番地の内容をオペランドアドレスとして読出す命令であ
る場合を考える。この場合において、命令3は命令2の
後に発行されているから、命令3が読出すオペランドデ
ータは、命令2で格納したオペランドデータであるべき
である。しかし、第6図のパイプライン制御において、
命令3のオペランドデータ読出しステージLは命令2の
オペランドデータ格納ステージWより前に処理されるた
め、命令3では、命令2による格納(更新)前のデータ
をオペランドデータとして読出してしまうという不都合
か生じる。このように、後続する命令のオペランドの先
取りが、先行する命令のメモリ格納より先に行われるこ
とは、一般にOS C(Operand 5tore 
Conflict)と呼ばれている。このoSCに対処
するために、パイプライン制御方式を採用している情報
処理装置においては、oSCを検出する手段と、oSC
が発生した際これに対処する処理機能が必須である。
Now, in FIG. 6, instruction 2 is a store instruction that stores operand data at an arbitrary address in memory, for example, real address a, and instruction 3 is a store instruction at the same address a.
Consider the case where the instruction reads the contents of an address as an operand address. In this case, since instruction 3 is issued after instruction 2, the operand data read by instruction 3 should be the operand data stored in instruction 2. However, in the pipeline control shown in Figure 6,
Since the operand data read stage L of instruction 3 is processed before the operand data storage stage W of instruction 2, there may be an inconvenience that in instruction 3, the data before being stored (updated) by instruction 2 is read out as operand data. . In this way, prefetching the operands of a subsequent instruction before storing them in memory of the preceding instruction is generally known in OS C (Operand 5tore).
Conflict). In order to cope with this oSC, an information processing device that employs a pipeline control method has a means for detecting the oSC, and a means for detecting the oSC.
It is essential to have a processing function to deal with this when it occurs.

従来の装置では、第2図に示すように、命令2がメモリ
格納を行う命令である場合には、ステージAで求めたス
トアアドレスを一致検出用のストアアドレスレジスタに
登録しておき、命令2の後続命令3、命令4、命令5の
ステージAにおいてオペランドアドレスを前記ストアア
ドレスレジスタの内容と比較し、もし一致が検出された
場合には、オペランドデータ読出しステージLを命令2
のオペランドデータ格納ステージWの完了まで待たせる
処理が行われた。この方式では、oSCが発生すると、
上記のごとく、後続の命令のオペランド読出しが遅延さ
せられるため、パイプラインが乱れ、情報処理装置の性
能が低下するという欠点がある。
In the conventional device, as shown in FIG. 2, when instruction 2 is an instruction for storing memory, the store address obtained in stage A is registered in a store address register for match detection, and instruction 2 is At stage A of subsequent instructions 3, 4, and 5, the operand address is compared with the contents of the store address register, and if a match is detected, the operand data read stage L is transferred to instruction 2.
A process was performed to make the operator wait until the completion of the operand data storage stage W. In this method, when oSC occurs,
As described above, since the operand reading of the subsequent instruction is delayed, the pipeline is disturbed and the performance of the information processing device is degraded.

この欠点を除去するため、従来から各種のバイパス方式
が提案されている0例えば、特公昭61〜8453号公
報等に記載されているような技術か知られている。これ
は、メモリ格納を行う命令を処理する際、オペランドア
ドレスをストアアドレスレジスタに登録するだけでなく
、オペランドデータもストアバッファレジスタに登録し
ておき、後続の命令のオペランド読出しアドレスを前記
ストアアドレスと比較して両アドレスか一致した場合。
In order to eliminate this drawback, various bypass methods have been proposed in the past. For example, techniques such as those described in Japanese Patent Publication Nos. 61-8453 are known. This means that when processing an instruction that stores in memory, not only the operand address is registered in the store address register, but also the operand data is registered in the store buffer register, and the operand read address of the subsequent instruction is set to the store address. If both addresses match after comparison.

オペランドデータの読出しをバッファメモリからではな
く、前記ストアバッファレジスタから行うように制御す
ることにより、オペランド読出し待ちを排除し、性能低
下を防ぐ方式である。
This method eliminates the need to wait for operand readout and prevents performance degradation by controlling operand data to be read from the store buffer register rather than from the buffer memory.

【発明が解決しようとする課題J 上記従来技術では、O20による性能低下を防ぐために
、ストアバッファレジスタ等のバイパス制御論理を必要
とし、またO20の検出も行う必要かあるため、ストア
アドレスレジスタ、アドレス比較回路等も必要となり、
ハードウェア量か増大するという問題があった。
Problem to be Solved by the Invention J In the above conventional technology, in order to prevent performance degradation due to O20, bypass control logic such as a store buffer register is required, and since it is also necessary to detect O20, the store address register, address Comparison circuits etc. are also required,
There was a problem that the amount of hardware increased.

本発明の目的は、パイプライン制御方式の情報処理装置
において、メモリ格納を行う命令の処理ステージを、O
20を発生しないように制御することにより、O8C検
出論理およびO5C対処制御論理を不要とし、ハードウ
ェア量を激減させることにある。
An object of the present invention is to reduce the processing stage of an instruction for memory storage in an information processing apparatus using a pipeline control method.
By controlling so as not to generate 20, the O8C detection logic and O5C handling control logic are unnecessary, and the amount of hardware can be drastically reduced.

[課題を解決するための手段] 本発明による情報処理装置は、主記憶メモリと、主記憶
メモリの一部の写しを保持するバッファメモリとを有す
るパイプライン制御方式の情報処理装置において、主記
憶メモリの情報を更新する更新命令の命令処理に際し、
更新命令に先行する命令の処理完了前に更新命令の命令
処理のうちバッファメモリの情報更新動作を行うよう制
御する制御手段を設けたことを特徴とするものである。
[Means for Solving the Problems] An information processing device according to the present invention is an information processing device of a pipeline control type that has a main memory and a buffer memory that holds a copy of a part of the main memory. When processing an update command to update memory information,
The present invention is characterized in that a control means is provided for controlling the information updating operation of the buffer memory to be performed in the instruction processing of the update instruction before the processing of the instruction preceding the update instruction is completed.

本発明による情報処理装置は、他の見地によれば、主記
憶メモリと、主記憶メモリの一部の写しを保持するバッ
ファメモリとを有するパイプライン制御方式の情報処理
装置において、主記憶メモリの情報を更新する更新命令
の命令処理に際し、更新命令に続く命令のオペランド読
出し動作の前に、更新命令の命令処理のうちバッファメ
モリの情報更新動作を行うよう制御する制御手段を設け
たことを特徴とするものである。
According to another aspect, the information processing apparatus according to the present invention is an information processing apparatus of a pipeline control type having a main memory and a buffer memory holding a copy of a part of the main memory. A control means is provided for controlling an operation of updating information in a buffer memory in the instruction processing of an update instruction before an operand read operation of an instruction following the update instruction when processing an update instruction for updating information. That is.

本発明の情報処理装置は、更に他の見地によれば、主記
憶メモリと、主記憶メモリの一部の写しを保持するバッ
ファメモリとを有するパイプライン制御方式の情報処理
装置において、主記憶メモリの情報を更新する更新命令
の命令処理に際し、更新命令に先行する命令の処理完了
前に、かつ、更新命令に続く命令のオペランド読出し動
作の前に、更新命令の命令処理のうちバッファメモリの
情報更新動作を行うよう制御する制御手段を設けたこと
を特徴とするものである。
According to still another aspect, the information processing apparatus of the present invention is an information processing apparatus of a pipeline control type having a main memory and a buffer memory holding a copy of a part of the main memory. During the instruction processing of an update instruction that updates the information of the update instruction, before the processing of the instruction preceding the update instruction is completed, and before the operand read operation of the instruction following the update instruction, the information in the buffer memory is updated during the instruction processing of the update instruction. The present invention is characterized in that a control means for controlling the update operation is provided.

好ましくは、上記制御手段は、更新命令による主記憶メ
モリの情報更新動作を、先行する命令の処理完了後に行
うよう制御する。
Preferably, the control means controls the information update operation of the main memory by the update command to be performed after the processing of the preceding command is completed.

本発明の情報処理装置は、別の見地によれば、主記憶メ
モリと、主記憶メモリの一部の写しを保持するバッファ
メモリとを有するパイプライン制御方式の情報処理装置
において、主記憶メモリにデータを格納するストア命令
の命令処理に際し、パイプライン制御の複数のステージ
のうちオペランド読出しステージで、バッファメモリへ
のデータの格納動作を行うよう制御する制御手段を設け
たことを特徴とするものである。
According to another aspect, the information processing apparatus of the present invention is an information processing apparatus of a pipeline control type having a main memory and a buffer memory holding a copy of a part of the main memory. The present invention is characterized in that a control means is provided for controlling a data storage operation to be performed in a buffer memory at an operand read stage among a plurality of stages of pipeline control during instruction processing of a store instruction for storing data. be.

この場合、好ましくは、上記制御手段は、主記憶メモリ
へのデータの格納動作を最終ステージに行うよう制御す
る。
In this case, preferably, the control means controls the data storage operation in the main memory to be performed at the final stage.

上記情報処理装置において、更に、更新命令またはスト
ア命令による上記バッファメモリの更新動作後に、当該
命令が中断された場合、該中断を検出する検出手段と、
バッファメモリ内の更新された情報を無効化する手段と
を設けることか望ましい。
The information processing device further includes a detection means for detecting an interruption when the instruction is interrupted after the update operation of the buffer memory by an update instruction or a store instruction;
It is desirable to provide means for invalidating updated information in the buffer memory.

[作用] 主記憶メモリの一部の写しを保持するバッファメモリを
有し、かつパイプライン制御方式を採用した情報処理装
置においては、情報更新命令(以下、代表的なものとし
てストア命令という)では、割込み等の発生等を考慮し
て、バッファメモリへのデータ格納動作は先行する命令
の命令処理完了後に行われ、主記憶メ・そりへの同デー
タの格納もそれと同時または以降に実行されるのが原則
である。
[Operation] In an information processing device that has a buffer memory that holds a copy of a part of the main memory and employs a pipeline control method, an information update instruction (hereinafter, typically referred to as a store instruction) is In consideration of the occurrence of interrupts, etc., data is stored in the buffer memory after the preceding instruction has been processed, and the same data is stored in the main memory at the same time or after that. This is the principle.

しかしながら1本発明者等は、ストア命令においてはオ
ペランドデータの読出しは行われず、かつオペランドデ
ータの演算も行われないという点に着目し、ストア命令
のメモリ格納動作のうちバッファメモリへの格納動作を
、当該ストア命令に先行する命令の命令処理完了を待た
ずに実行させることに想到した。このバッファメモリ格
納のためのステージとしては、ストア命令における空き
ステージであるオペランドデータ読出しステージが利用
できる。これによって、通常のパイプライン制御ではス
トア命令におけるバッファメモリへの格納動作は後続の
命令のオペランド読出しより先に行うことが可能となる
ので、O20の発生自体が回避される。したがって、従
来技術のようなO20の検出回路およびO20の対処制
御回路は不要となり、ハードウェア量の大幅な削減が可
能となる。
However, the inventors of the present invention focused on the fact that operand data is neither read nor operated in a store instruction, and therefore, among the memory storage operations of a store instruction, the storage operation in a buffer memory is , we have come up with the idea of executing the store instruction without waiting for the completion of instruction processing of the instruction preceding it. The operand data read stage, which is an empty stage in a store instruction, can be used as a stage for storing data in the buffer memory. As a result, in normal pipeline control, the storage operation in the buffer memory in the store instruction can be performed before the operand reading of the subsequent instruction, so that the occurrence of O20 itself can be avoided. Therefore, an O20 detection circuit and an O20 countermeasure control circuit as in the prior art are not required, and the amount of hardware can be significantly reduced.

なお、先行命令の処理完了前にバッファメモリの情報更
新を行う弊害として、先行命令の実行中に割込み等が発
生し、ストア命令を実行しないこととなった場合にバッ
ファメモリの内容が命令動作と矛盾するという事態が生
じる。この弊害は。
Note that the disadvantage of updating the information in the buffer memory before the processing of the preceding instruction is completed is that if an interrupt occurs during the execution of the preceding instruction and the store instruction is not executed, the contents of the buffer memory may not match the instruction operation. A situation of contradiction arises. What are the disadvantages of this?

ストア命令におけるバッファメモリ格納からストア命令
の完了までの間にストア命令のパイプラインが中断した
場合に、この中断を検出し、バッファメモリの情報のう
ち当該ストア命令によって格納された情報を無効化する
ことにより是正することがてきる。
If the pipeline of a store instruction is interrupted between the buffer memory storage in the store instruction and the completion of the store instruction, this interruption is detected and the information stored by the store instruction among the information in the buffer memory is invalidated. This can be corrected by doing so.

ストア命令パイプライン中断の検出は、割込みを検出す
る既存の手段により行う゛ことができ、また、バッファ
メモリの格納情報の無効化もバッファメモリの当該格納
情報の有効ビットをリセットする等の既存の手段により
対処できる。したがって、これらの処理によるハードウ
ェア量の増加は生じない。
Detection of store instruction pipeline interruption can be performed by existing means of detecting interrupts, and invalidation of information stored in the buffer memory can be performed using existing means such as resetting the valid bit of the information stored in the buffer memory. It can be dealt with by means. Therefore, the amount of hardware does not increase due to these processes.

また、ストア主記憶メモリへの格納動作については、従
来通り、ストア命令以前の命令が完了したストア命令パ
イプラインの最後のステージで処理するように制御すれ
ば、ストア命令パイプライン中断時に上記のような弊害
が生じることはない。
In addition, if the storage operation to the store main memory is controlled to be processed in the last stage of the store instruction pipeline, where the instructions before the store instruction have completed, as before, when the store instruction pipeline is interrupted, the above will occur. No adverse effects will occur.

[実施例J 以下、本発明の一実施例を詳細に説明する。[Example J Hereinafter, one embodiment of the present invention will be described in detail.

第3図に、本発明による情報処理装置の一実施例のブロ
ック図を示す。本実施例では、前述と同様、6つのステ
ージD、M、A、L、EおよびWからなるパイプライン
制御方式を採用した装置を例として説明する。
FIG. 3 shows a block diagram of an embodiment of an information processing apparatus according to the present invention. The present embodiment will be described using an example of an apparatus that employs a pipeline control system consisting of six stages D, M, A, L, E, and W, as described above.

第3図では、パイプラインの各ステージの流れに対応し
て各ブロックを示している。第3図の情報処理装置は、
命令コードを格納する命令レジスタ1、命令を解読する
デコーダストレージ2、命令解読結果を保持するデコー
ダデータレジスタ3、このレジスタ3の内容にしたがっ
て装置全体の制御を行う制御部4、汎用レジスタ5、論
理アドレスを算出するアドレス演算回路6、算出された
論理アドレスが保持される論理アドレスレジスタ7、論
理アドレスを実アドレスに対応付けるT L B (T
ranslation Lookaside Buff
er)8 、実アドレスを保持する実アドレスレジスタ
9、主記憶メモリ14.この主記憶メモリ14の一部の
写しを保持し実アドレスレジスタ9により指定されるバ
ッファメモリ(キャッシュメモリ)10、このバッファ
メモリlOの出力を一時保持するワークレジスタ11.
このワークレジスタ11および汎用レジスタ5の再出力
を演算する演算器12、この演算器12の出力を一時保
持し主記憶メモリ14への格納に供する出力レジスタ1
31本発明によるストア命令のストアアドレスを保持す
るストアアドレスレジスタ15、およびストア命令のス
テージ中断を検出するステージ中断検出手段16からな
る。
In FIG. 3, each block is shown corresponding to the flow of each stage of the pipeline. The information processing device shown in FIG.
An instruction register 1 that stores instruction codes, a decoder storage 2 that decodes instructions, a decoder data register 3 that holds the instruction decoding results, a control unit 4 that controls the entire device according to the contents of this register 3, a general-purpose register 5, and logic. An address arithmetic circuit 6 that calculates an address, a logical address register 7 that holds the calculated logical address, and a T L B (T
ranslation Lookaside Buff
er) 8, a real address register 9 that holds real addresses, a main memory 14. A buffer memory (cache memory) 10 that holds a copy of a portion of this main memory 14 and is specified by the real address register 9, a work register 11 that temporarily holds the output of this buffer memory IO.
An arithmetic unit 12 that calculates the re-output of the work register 11 and the general-purpose register 5; an output register 1 that temporarily holds the output of the arithmetic unit 12 and stores it in the main memory 14;
31. It consists of a store address register 15 that holds a store address of a store instruction according to the present invention, and a stage interruption detection means 16 that detects a stage interruption of a store instruction.

以下、第3図の情報処理装置におけるストア命令のバイ
ブライン想理手順について説明する。
Hereinafter, the vibe line conceptual procedure of the store command in the information processing apparatus shown in FIG. 3 will be explained.

まず、実行されるべきストア命令は命令レジスタ1に読
出され、Dステージにおいて、デコーダストレージ2を
参照することにより命令の種類等を解読する。この解読
した結果はデコーダデータレジスタ3に格納され、この
内容に応じて制御部4により以降のステージ制御が行わ
れる。
First, a store instruction to be executed is read into the instruction register 1, and in the D stage, the type of instruction, etc. is decoded by referring to the decoder storage 2. The decoded result is stored in the decoder data register 3, and the control section 4 controls subsequent stages according to this content.

次のMステージでは、アドレス演算回路6により、論理
アドレスが論理アドレスレジスタ7に求まる。
In the next M stage, the address arithmetic circuit 6 finds a logical address in the logical address register 7.

さらに、次にAステージではTLB8を参照することに
より実アドレスが実アドレスレジスタ9に求まる。TL
B8に変換すべき論理アドレスが登録されていない場合
には1周知のアドレス変換手段(図示せず)により対応
する実アドレスが求められる。
Furthermore, in the next A stage, the real address is found in the real address register 9 by referring to the TLB8. T.L.
If the logical address to be translated is not registered in B8, a corresponding real address is determined by a well-known address translation means (not shown).

さて、次のしステージは、通常の命令であれば実アドレ
スレジスタ9によりバッファメモリ10をアクセスして
オペランドデータを読出すサイクルであるが、ストア命
令の場合は、制御部4の制御により実アドレスレジスタ
9の指定するバッファメモリ10のアドレス位置に、汎
用レジスタ5からストアデータな格納する。同時に、こ
の後の割込み等によるストア命令中断時の処理(後述)
に備えて、実アドレスレジスタ9の実アドレスを、スト
アアドレスレジスタ15に格納しておく。
Now, in the next stage, if it is a normal instruction, the real address register 9 accesses the buffer memory 10 and reads out the operand data, but in the case of a store instruction, the real address is read out under the control of the control unit 4. Store data from the general-purpose register 5 is stored at the address location of the buffer memory 10 specified by the register 9. At the same time, processing when a store instruction is interrupted by an interrupt, etc. (described later)
In preparation for this, the real address of the real address register 9 is stored in the store address register 15.

続くEステージは、命令の種類により、バッファメモリ
10から読出したオペランドデータを格納しているワー
クレジスタ11と汎用レジスタ5の両内容の演算を演算
器12が実行し出力レジスタ13へ出力するステージで
あるが、ストア命令の場合には、ワークレジスタ11は
使用されず、汎用レジスタ5の値が演算器12を通過し
て出力レジスタ13へ格納される。
The following E stage is a stage in which the arithmetic unit 12 executes operations on the contents of both the work register 11 and the general-purpose register 5, which store the operand data read from the buffer memory 10, and outputs the results to the output register 13, depending on the type of instruction. However, in the case of a store instruction, the work register 11 is not used, and the value of the general-purpose register 5 is passed through the arithmetic unit 12 and stored in the output register 13.

最後のWステージは、演算結果の格納ステージであり、
出力レジスタ13の内容が主記憶メモリ14へ格納され
る。
The final W stage is a storage stage for calculation results,
The contents of the output register 13 are stored in the main memory 14.

以上、第3図の情報処理装置におけるストア命令の処理
ステージについて説明したが、この処理ステージのタイ
ミングチャートを第4図に示す。
The processing stage of the store command in the information processing apparatus shown in FIG. 3 has been described above, and the timing chart of this processing stage is shown in FIG. 4.

この図から分かるように、本実施例では、ストア命令に
おいて空きステージであるしステージにおいてバッファ
メモリlOへの格納動作を行っている。主記憶メモリ1
4への格納動作は従来どおりWステージで行っている。
As can be seen from this figure, in this embodiment, the store instruction is in an empty stage, and the storage operation to the buffer memory IO is performed in the stage. Main memory memory 1
The storing operation to 4 is performed on the W stage as before.

また、EステージおよびWステージの間、ストアアドレ
スレジスタ15にはストアアドレスが保持されている。
Further, a store address is held in the store address register 15 during the E stage and the W stage.

第1図に、本発明を採用した場合のパイプライン処理の
様子を示す、第6図および第2図の場合と同様、命令2
はストア命令であり、命令3が命令2のストアデータを
オペランドデータとして読出す命令であるとする。前述
したように、ストア命令である命令2では、そのステー
ジL(W’)でバッファメモリ10へのデータ格納が実
行される。命令3のオペランドデータ読出しステージL
は命令2のステージLより時間的に後にあるので、命令
3ではバッファメモリ10から命令2による更新後のデ
ータをオペランドデータとして読出すことができる。し
たがって、後続の命令のオペランド読出しを遅延させる
必要がないので、第2図のように、パイプライン処理に
乱れが生じることはない。
FIG. 1 shows the state of pipeline processing when the present invention is adopted. As in the case of FIG. 6 and FIG.
is a store instruction, and instruction 3 is an instruction to read the store data of instruction 2 as operand data. As described above, in instruction 2, which is a store instruction, data is stored in the buffer memory 10 at stage L (W'). Instruction 3 operand data read stage L
Since stage L is temporally later than stage L of instruction 2, instruction 3 can read the data updated by instruction 2 from the buffer memory 10 as operand data. Therefore, since there is no need to delay the readout of operands of subsequent instructions, the pipeline processing is not disturbed as shown in FIG.

次に、第5図のタイミングチャートを参照して、ストア
命令処理ステージのうちバッファメモリ格納ステージW
′(即ち、本来のステージL)以降に、このストア命令
に先行する命令の処理結果による割込み等によってスト
ア命令処理ステージの中断が発生した場合について説明
する。
Next, referring to the timing chart of FIG. 5, the buffer memory storage stage W of the store instruction processing stage will be explained.
A case will be described in which the store instruction processing stage is interrupted after ' (that is, the original stage L) due to an interrupt caused by the processing result of the instruction preceding this store instruction.

前述したように、このような場合には、ストア命令によ
るメモリ更新が実行されるべきでないのにバッファメモ
リの更新が行われるという事態が生じる。そこで、本実
施例では、次のように対処する。
As described above, in such a case, a situation arises in which the buffer memory is updated even though the memory update by the store instruction should not be executed. Therefore, in this embodiment, the following measures are taken.

ストア命令のW′ステージ以降の中断は、W′ステージ
終了後とEステージ終了後の二つの場合が考えられるが
、ここではW′ステージ終了後に割込み発生により中断
した場合を想定する0割込みが発生すると、ステージ中
断検出手段16はステージが中断されたことを検出し、
制御部4の制御により、ストアアドレスレジスタ15に
先に格納されているアドレスにしたがってバッファメモ
リlOの当該データの有効ビットなOにする等により無
効化する。これによって、ストア命令によるバッファメ
モリlOへ格納されたデータは無効化される。なお、E
ステージ終了後に中断された場合も同様に処理される。
There are two possible cases in which a store instruction is interrupted after the W' stage: after the W' stage ends and after the E stage ends, but here we assume that the interrupt occurs due to an interrupt occurring after the W' stage ends. Then, the stage interruption detection means 16 detects that the stage is interrupted,
Under the control of the control unit 4, the valid bit of the data in the buffer memory IO is set to O in accordance with the address previously stored in the store address register 15, thereby invalidating the data. As a result, the data stored in the buffer memory IO by the store instruction is invalidated. In addition, E
If the game is interrupted after the stage ends, it will be handled in the same way.

以上、本発明の好適な実施例について説明したが、本発
明はこれに限定されるものではなく、本発明の要旨を逸
脱することなく種々の変形、変更を行うことが可能であ
る0例えば、パイプラインのステージの種類および数は
、上記のものに限らない、また、ストア命令におけるバ
ッファメモリへのデータ格納は、Lステージを利用した
が、後続の命令のオペランドデータ読出しより前の時点
で実行できるならば、Lステージ以外のステージを利用
するようにしてもよい。
Although preferred embodiments of the present invention have been described above, the present invention is not limited thereto, and various modifications and changes can be made without departing from the gist of the present invention.For example, The type and number of stages in the pipeline are not limited to those mentioned above. Also, although the L stage is used to store data in the buffer memory in a store instruction, it may be executed before the operand data is read in the subsequent instruction. If possible, stages other than the L stage may be used.

〔発明の効果] 以上説明したように、本発明によれば、パイプライン制
御方式の情報処理装置において、情報更新命令によるO
20の発生を防止できるので、O20の検出回路および
O8C発生後の対処回路が不要となり、ハードウェア量
を大幅に削減できる。情報更新命令の処理ステージ中断
によるバッファメモリの内容の矛盾は、バッファメモリ
の当該更新内容を無効化することにより解決可能である
[Effects of the Invention] As explained above, according to the present invention, in an information processing apparatus using a pipeline control method, O
Since the occurrence of O20 can be prevented, a circuit for detecting O20 and a circuit for dealing with the occurrence of O8C are not required, and the amount of hardware can be significantly reduced. Inconsistency in the contents of the buffer memory due to interruption of the processing stage of an information update command can be resolved by invalidating the updated contents of the buffer memory.

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

第1図は本発明によるパイプライン処理の説明図、第2
図は従来技術によるO8C発生時のパイプライン処理の
ステージ図、第3図は本発明による情報処理装置の一実
施例を示すブロック図、第4図は第3図装置の動作を示
すタイミングチャート、第5図はステージ中断が発生し
たときの第3図装置の動作を示すタイミングチャート、
第6図は一般のパイプライン処理の説明図である。 1・・・命令レジスタ、2・・・デコーダストレージ、
3・・・デコーダデータレジスタ、4・・・制御部、5
・・・汎用レジスタ、6・・・アドレス演算回路、7・
・・論理アドレスレジスタ、8・−T L B、9・・
・実アドレスレジスタ、10・・・バッファメモリ、1
1・・・ワークレジスタ、12・・・演算器、13−・
・出力レジスタ、14−・・主記憶メモリ、15・・・
ストアアドレスレジスタ′、16・・・ステージ中断検
出手段
FIG. 1 is an explanatory diagram of pipeline processing according to the present invention, and FIG.
3 is a block diagram showing an embodiment of the information processing device according to the present invention; FIG. 4 is a timing chart showing the operation of the device shown in FIG. 3; FIG. 5 is a timing chart showing the operation of the device in FIG. 3 when a stage interruption occurs;
FIG. 6 is an explanatory diagram of general pipeline processing. 1...Instruction register, 2...Decoder storage,
3... Decoder data register, 4... Control unit, 5
... General-purpose register, 6... Address calculation circuit, 7.
・Logical address register, 8・-TLB, 9...
・Real address register, 10...Buffer memory, 1
1...Work register, 12...Arithmetic unit, 13-...
- Output register, 14--Main memory, 15...
Store address register', 16... Stage interruption detection means

Claims (1)

【特許請求の範囲】 1、主記憶メモリと、該主記憶メモリの一部の写しを保
持するバッファメモリとを有するパイプライン制御方式
の情報処理装置において、 上記主記憶メモリの情報を更新する更新命令の命令処理
に際し、該更新命令に先行する命令の処理完了前に上記
更新命令の命令処理のうち上記バッファメモリの情報更
新動作を行うよう制御する制御手段を設けたことを特徴
とする情報処理装置。 2、主記憶メモリと、該主記憶メモリの一部の写しを保
持するバッファメモリとを有するパイプライン制御方式
の情報処理装置において、 上記主記憶メモリの情報を更新する更新命令の命令処理
に際し、該更新命令に続く命令のオペランド読出し動作
の前に、上記更新命令の命令処理のうち上記バッファメ
モリの情報更新動作を行うよう制御する制御手段を設け
たことを特徴とする情報処理装置。 3、主記憶メモリと、該主記憶メモリの一部の写しを保
持するバッファメモリとを有するパイプライン制御方式
の情報処理装置において、 上記主記憶メモリの情報を更新する更新命令の命令処理
に際し、該更新命令に先行する命令の処理完了前に、か
つ、上記更新命令に続く命令のオペランド読出し動作の
前に、上記更新命令の命令処理のうち上記バッファメモ
リの情報更新動作を行うよう制御する制御手段を設けた
ことを特徴とする情報処理装置。 4、上記制御手段は、上記更新命令による上記主記憶メ
モリの情報更新動作を、上記先行する命令の処理完了後
に行うよう制御することを特徴とする請求項1または3
記載の情報処理装置。 5、主記憶メモリと、該主記憶メモリの一部の写しを保
持するバッファメモリとを有するパイプライン制御方式
の情報処理装置において、 上記主記憶メモリにデータを格納するストア命令の命令
処理に際し、パイプライン制御の複数のステージのうち
オペランドデータ読出しステージで、上記バッファメモ
リへのデータの格納動作を行うよう制御する制御手段を
設けたことを特徴とする情報処理装置。 6、上記制御手段は、上記主記憶メモリへのデータの格
納動作を最終ステージに行うよう制御することを特徴と
する請求項5記載の情報処理装置。 7、請求項1、2、3または5に記載の情報処理装置に
おいて、更に、上記更新命令または上記ストア命令によ
る上記バッファメモリの更新動作後に、当該命令が中断
された場合、該中断を検出する検出手段と、上記バッフ
ァメモリ内の更新された情報を無効化する手段とを設け
たことを特徴とする情報処理装置。
[Scope of Claims] 1. In a pipeline control type information processing device having a main memory and a buffer memory that holds a copy of a part of the main memory, an update for updating information in the main memory. Information processing characterized in that a control means is provided for controlling the information updating operation of the buffer memory in the instruction processing of the update instruction before the processing of the instruction preceding the update instruction is completed in the instruction processing of the instruction. Device. 2. In a pipeline control type information processing device having a main memory and a buffer memory that holds a copy of a part of the main memory, when processing an update instruction to update information in the main memory, An information processing apparatus comprising: a control means for performing control to perform an information update operation of the buffer memory in the instruction processing of the update instruction before an operand read operation of an instruction following the update instruction. 3. In a pipeline control type information processing device having a main memory and a buffer memory that holds a copy of a part of the main memory, when processing an update instruction to update information in the main memory, Control to perform the information update operation of the buffer memory in the instruction processing of the update instruction before the processing of the instruction preceding the update instruction is completed and before the operand read operation of the instruction following the update instruction. An information processing device characterized by being provided with means. 4. Claim 1 or 3, wherein the control means controls the information update operation of the main memory by the update command to be performed after the processing of the preceding command is completed.
The information processing device described. 5. In a pipeline control type information processing device having a main memory and a buffer memory that holds a copy of a part of the main memory, when processing a store instruction to store data in the main memory, An information processing apparatus comprising: a control means for controlling a data storage operation to be performed in the buffer memory at an operand data read stage among a plurality of stages of pipeline control. 6. The information processing apparatus according to claim 5, wherein the control means controls the storage operation of data in the main memory to be performed at a final stage. 7. The information processing apparatus according to claim 1, 2, 3 or 5, further comprising: detecting the interruption if the update instruction or the store instruction is interrupted after the update operation of the buffer memory; An information processing apparatus comprising: a detecting means; and a means for invalidating the updated information in the buffer memory.
JP63199359A 1988-08-10 1988-08-10 Information processing device Expired - Fee Related JP2783285B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP63199359A JP2783285B2 (en) 1988-08-10 1988-08-10 Information processing device
KR1019890011221A KR950000088B1 (en) 1988-08-10 1989-08-07 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63199359A JP2783285B2 (en) 1988-08-10 1988-08-10 Information processing device

Publications (2)

Publication Number Publication Date
JPH0248733A true JPH0248733A (en) 1990-02-19
JP2783285B2 JP2783285B2 (en) 1998-08-06

Family

ID=16406451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63199359A Expired - Fee Related JP2783285B2 (en) 1988-08-10 1988-08-10 Information processing device

Country Status (2)

Country Link
JP (1) JP2783285B2 (en)
KR (1) KR950000088B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807624B1 (en) 1998-12-17 2004-10-19 Fujitsu Limited Instruction control device and method therefor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100578143B1 (en) * 2004-12-21 2006-05-10 삼성전자주식회사 Storage system with scheme capable of invalidating data stored in buffer memory and computing system including the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63136138A (en) * 1986-11-28 1988-06-08 Hitachi Ltd Information processor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63136138A (en) * 1986-11-28 1988-06-08 Hitachi Ltd Information processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6807624B1 (en) 1998-12-17 2004-10-19 Fujitsu Limited Instruction control device and method therefor
US7127591B2 (en) 1998-12-17 2006-10-24 Fujitsu Limited Instruction control device and method therefor
US7275146B2 (en) 1998-12-17 2007-09-25 Fujitsu Limited Instruction control device and method therefor
US7313674B2 (en) 1998-12-17 2007-12-25 Fujitsu Limited Instruction control device and method therefor

Also Published As

Publication number Publication date
KR950000088B1 (en) 1995-01-09
KR900003744A (en) 1990-03-27
JP2783285B2 (en) 1998-08-06

Similar Documents

Publication Publication Date Title
US4476525A (en) Pipeline-controlled data processing system capable of performing a plurality of instructions simultaneously
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US5297281A (en) Multiple sequence processor system
JPH0242569A (en) Context switching method and apparatus used for vector processing system
JPH0283735A (en) Instruction prefetching device
EP0297943B1 (en) Microcode reading control system
KR930003124B1 (en) Apparatus for the control of branch instruction in pipeline system
JPH0248733A (en) Information processor
US5421026A (en) Data processor for processing instruction after conditional branch instruction at high speed
JPS6051947A (en) Instruction prefetching system in virtual storage computer
JPH03119424A (en) Information processing system and its device
JP2629479B2 (en) Information processing device
JP2806690B2 (en) Microprocessor
JPS6047618B2 (en) information processing equipment
JPS6310451B2 (en)
JPH02206836A (en) Data processor
JPS63231627A (en) Advanced control system
JPS58154045A (en) Information processor
JPH03119425A (en) Information processing system and its device
JPH03164945A (en) Data processor
JPH10254698A (en) Information processor
JPH1097422A (en) Microprocessor
JPH0423129A (en) Information processor
JPH04101219A (en) Instruction branch forecasting system
JPS63197233A (en) Information processor

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees