JPS6263339A - パイプライン制御方式 - Google Patents

パイプライン制御方式

Info

Publication number
JPS6263339A
JPS6263339A JP20301385A JP20301385A JPS6263339A JP S6263339 A JPS6263339 A JP S6263339A JP 20301385 A JP20301385 A JP 20301385A JP 20301385 A JP20301385 A JP 20301385A JP S6263339 A JPS6263339 A JP S6263339A
Authority
JP
Japan
Prior art keywords
instruction
address
pipeline
fetch
cycle
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.)
Pending
Application number
JP20301385A
Other languages
English (en)
Inventor
Kouhei Ootsuyama
大津山 公平
Yuji Oinaga
勇次 追永
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 JP20301385A priority Critical patent/JPS6263339A/ja
Publication of JPS6263339A publication Critical patent/JPS6263339A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 先の命令であるエリアにストアを行った後に後続の命令
フェッチがそのエリア内のアドレスから行われた場合、
パイプライン制御を行う計算機においては、先にストア
したデータがまだハソファに反映していない可能性があ
る。このため、先のストアのアドレスと後続の命令フェ
ッチのアドレスとをパイプライン中で比較し、アドレス
が同じエリアにある場合は、フラグで識別可能にし、そ
の命令の実行を無効にして1次の命令発行時に命令フェ
ッチをもう一度やり直すようにした。
〔産業上の利用分野〕
本発明は、パイプライン制御の情報処理装置に関するも
のであり、特に先行するストア命令のストアにより更新
性が保証されない後続命令の再発行のためのパイプライ
ン制御方式に関する。
〔従来の技術〕
パイプライン制御の情報処理装置は、一連の命令をパイ
プラインに、1サイクルあるいは2サイクル単位で次々
と入力し、パイプライン中の各段階を順次進行させなが
ら並行処理させるものである。
ある1つの命令に対する制御サイクルは、たとえば命令
解読のためのDサイクル、オペランドアドレス計算のた
めのAサイクル、仮想記憶のためにTLB等で論理アド
レス−実アドレス変換を行うTサイクル、バッファメモ
リをアクセスするBサイクル、命令内容を実行するEサ
イクル、実行結果を占き込むWサイクル、命令フェッチ
を行うi、iT、iBサイクルからなる。
このようなパイプライン上には、複数の命令が。
それぞれ異なる途中の処理段階で同時に存在している。
ところで、パイプラインにおいては、ある先行するスト
ア命令が、主メモリのある領域にデータをストアしたと
き1次の命令はそれ以前に既にフェッチされている。た
とえば9次のようなタイミングとなる。
ストア命令    DATBEW i  iT  iB  D  A  T  B  E 
 Wつまり、後続命令がi、 iT、 inサイクルで
フェッチされた後、先行するストア命令はそのWサイク
ルでストアを実行することになる。
このような場合、フェッチされた命令はストアされる前
の古い命令である可能性があり、このため従来は、スト
ア命令の処理終了後に直ちに命令バッファメモリの内容
を廃棄し、ストア命令以後の命令フェッチをやり直す再
命令フェッチ(Re−1fetchと呼ばれる)を行っ
ていた。
第4図は、これをフローで例示したものである。
図中の■はスI・ア命令のシーケンスであり、■。
■、■、・・・・・・はそれぞれ後続命令のシーケンス
を表す。
■のストア命令のT(アドレス変換)サイクルで、再命
令フェッチ要求フラグがオンに設定され。
W(書込み)サイクルが終了した時点で、再命令フェッ
チ要求フラグを調べ、これがオンであることから、■、
■、■、・・・・・・の後続命令を全て無効化するもの
である。
〔発明が解決しようとする問題点〕
従来の再命令フェッチ方式では、ストア命令終了後無条
件に行われ、その際後続命令が全て無効化されるため、
再命令フェッチおよび実行による遅れが大きいという問
題があった。
また、処理時間を短縮するため、ブランチ命令の実行時
に、ブランチ条件の判定が確定する前にブランチ先の命
令(ターゲット命令)を先読みしておき、ブランチが行
われる場合にはその先読みしであるターゲット命令を発
行し、ブランチが行われない場合はそのターゲット命令
を廃棄する方法がとられるが、上記した従来の再命令フ
ェッチ方式では、ブランチしない場合にもターゲット命
令の再命令フェッチが行われるため、無駄になるという
問題があった。
〔問題点を解決するための手段〕
本発明は、先行ストア命令のストア領域に命令フェッチ
アドレスが重なる場合にのみ再命令フェッチを行うもの
であり、フェッチされた命令ごとにそのフエ・7チアド
レスを先行ストア命令のストアアドレスと比較し、領域
が一敗したとき、そのフェッチされた命令に再命令フェ
ッチを要求するフラグ(標識)付加して、パイプライン
中を無効命令として進行させ、その命令がパイプライン
を出たとき、すなわち命令終了時にフラグを見て。
再命令フェッチを要求している場合に限り、その命令の
同じフェッチアドレスから命令を再フェツチするもので
ある。
これによれば各フェッチされた命令は、ストア命令の検
出後に一律に廃棄されるのではな(、実際のメモリ上の
アクセス領域が先行するストア命令と共通であるような
命令についてのみ、再命令フェッチを行わせるものであ
る。
第1図は本発明の原理的構成を単純化して示したもので
ある。
図において、1は命令フェッチパイプライン。
2はオペランドパイプライン、3は再命令フェッチ制御
回路、4は命令フェッチアドレス生成回路。
5は命令バッファメモリ、6および7はそれぞれ命令ワ
ードレジスタ、8はオペランドアドレス生成回路、りな
いし11はストア命令のオペランドアドレスを保持する
ステージレジスタ、12はアドレス比較回路、13は再
命令フェッチ要求フラグ回路、14ないし20はフラグ
ラッチ、21は次命令アドレス発生回路である。
またiは命令フェッチアドレス生成サイクル。
量Tは命令フェッチアドレス変換サイクル、i13は命
令バッファアクセスサイクル、Dは命令デコードサイク
ル、Aはアドレス生成サイクル、Tはアドレス変換サイ
クル、Bはオペランドバッファメモリアクセスサイクル
、Eは実行サイクル、Wは書き込みサイクルを表す。
命令フェッチパイプラインlでは、i、iT。
iBサイクルにおいて、命令フェッチアドレス生成回路
4で生成された命令フェッチアドレス、あるいはオペラ
ンドパイプライン2のオペランドアドレス生成回路8で
生成されたブランチ先アドレスに基づいて、命令バッフ
ァメモリ5により、アドレス変換およびバッファアクセ
スを行い、読み出された命令が命令ワードレジスタ6.
7の一方に格納される。
通常の命令フェッチシーケンスでは、命令ワードレジス
タ6が使用されるが、ブランチ先命令(ターゲット命令
)フェッチでは、命令ワードレジスタ7が使用される。
そしてブランチ命令の実行時に、ブランチ条件が満足さ
れていることが判定されれば、命令ワードレジスタ7の
命令を取り出して発行し、他の場合には、命令ワードレ
ジスタ6の命令を取り出して発行する。
オペランドパイプライン2では、オペランドアドレス生
成回路8により生成されたオペランドアドレスは2図示
省略されているオペランドバッファメモリに供給され、
アクセスが行われる。
特に、実行される命令がストア命令の場合には。
そのストアアドレスが順次T、B、’Eの各サイクルで
ステージレジスタ9,10.11に転送される。
本発明による再命令フェッチ制御回路3では。
アドレス比較回路12が命令フェッチパイプライン1の
iTサイクルで得られる命令フェッチアドレスと、オペ
ランドパイプライン2のT、B、Eの各サイクルに対応
するステージレジスタ9,10.11の内容と比較し、
一致するストアアドレスの存在が検出されたとき、再命
令フェッチ要求フラグ回路13のフラグラッチ14,1
5の一方をオンにする。アドレス比較は、ストア命令の
長さと、命令フェッチの長さによって決定されるある範
囲に入っているかどうかという比較を行う。
フラグラッチ14.15は、命令ワードレジスタ6.7
に対応づけされている。すなわち通常の命令フェッチの
場合はフラグラッチ14が設定され、ブランチ先命令フ
ェッチの場合はフラグラッチ15が設定される。
この時1例えばブランチ不成功であれば、命令ワードレ
ジスタ7が選ばれる事はないので、したがってフラグラ
ッチ15が設定されていても、それが選ばれる事はなく
、不必要な再命令フェッチは行われない。
再命令フェッチ要求フラグは、フェッチされた各命令の
A、T、B、E、Wの各サイクルに同期して、フラグラ
ッチ16ないし2o中を順次転移する。このとき、再命
令フェッチ要求フラグがオンを示している場合には、そ
のステージ(サイクル)において対応する命令を無効化
するように作用する。
そして、Wサイクル終了後9次命令ナトレス発生回路2
1を制御して、再命令フェッチ要求フラグがオンであれ
ば、現命令のフェッチアドレスを出力して再命令フェッ
チを行わせ、他方、再命令フェッチ要求フラグがオフで
あれば、現命令のフェッチアドレスに命令長(たとえば
8バイト)を加算して次命令のアドレスを生成し2次命
令フェッチを行わせる。
〔作用〕
本発明によれば、フェッチされた命令が先行するストア
命令のストアアドレスと一致したもののみが後で再命令
フェッチされるため、従来方式にくらべて再命令フェッ
チ対象の命令個数を削減することができる。
またブランチ命令の実行で、ブランチが行われない場合
には、命令ワードレジスタフにフェッチしであるブラン
チ先命令を廃棄し、同時にフラグラッチ15の対応する
再命令フェッチ要求フラグも廃棄されるため、再命令フ
ェッチされることがない。
〔実施例〕
第2図は本発明の1実施例の構成図であり、第1図に示
されている原理的構成の詳細を具体的に示したものであ
る。
したがって1図中の1ないし21で示される要素は、第
1図中に使用されている同一番号の要素と同じものであ
る。また22はオペランドバッファメモリ、23は実行
ユニット(Eユニット)を示す。
アドレス比較回路12は、3個の比較器とオア回路によ
って構成され、各比較器は、オペランドパイプライン中
のT、B、Eサイクルにある各先行命令(ストア命令の
場合)のストアアドレスと。
命令フェッチアドレスとをiTサイクルで比較し。
いずれか1個の比較器でも一致を検出すれば、オア回路
から“1” (オン)を出力する。
アドレス比較の一致条件は、先行ストア命令によるスト
ア領域にフェッチ命令の領域(たとえば8バイト長)が
一部でも重なれば一致するものである。
第3図(a)は、オペランドアドレスOARで始まる領
域長さSTのストア領域中に、命令フェッチアドレスi
 EARが含まれている場合を示す。
長さSTは、たとえばO40,16,64などのバイト
長で与えられる。
第3図(b)は、命令フェッチアドレス1EARで始ま
る命令長8バイトの領域内に、先行ストア命令のオペラ
ンドアドレスOARが含まれる場合を示す。
以上、この2つの場合に、再命令フェッチ要求フラグを
オンにする。
〔発明の効果〕
本発明によれば、ストア命令の後続命令が無条件にキャ
ンセルされるのではなく、そのストア領域と命令フェッ
チアドレスとが重なるもののみが再命令フェッチ対象と
して選択実行されるため。
無駄がなくなり、パイプラインの利用効率を高めて、処
理性能の向上を図ることができる。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2図は本発明の1実
施例の構成図、第3図(a)、  (b)はアドレス比
較における一致条件の説明図、第4図は、従来の再命令
フェッチ方式の説明図である。 第1図中。 1:命令フェッチパイプライン 2ニオペランドパイブライン 3:再命令フェッチ制御回路 12ニアドレス比較回路 13:再命令フェッチ要求フラグ回路 14〜20:フラグラッチ 21:次命令アドレス発生回路 i:命令フェッチアドレス生成サイクルiT:命令フェ
ッチアドレス変換サイクルiF3:命令バッファメモリ
アクセスサイクルD:命令デコードサイクル Aニアドレス生成サイクル Tニアドレス変換サイクル B:オペランドバッファメモリアクセスサイクルE:実
行サイクル W:書き込みサイクル

Claims (2)

    【特許請求の範囲】
  1. (1)独立に制御可能なオペランドパイプラインと命令
    フェッチパイプラインとを有するパイプライン制御の情
    報処理装置において、 命令フェッチ実行時に、命令フェッチパイプラインのア
    ドレス変換サイクルで得られる命令フェッチアドレスを
    、オペランドパイプライン中のアドレス変換サイクル、
    バッファアクセスサイクル、実行サイクルの各段階にあ
    るそれぞれの先行命令のストアアドレスと比較するアド
    レス比較回路(12)と、 上記アドレス比較回路(12)が一致を検出したときオ
    ン状態に設定される再命令フェッチ要求フラグ(13)
    とをそなえ、 上記アドレス比較回路(12)により一致を検出された
    命令フェッチアドレスの命令は、以後のパイプライン中
    で無効にするとともに、次命令発行時に上記再命令フェ
    ッチ要求フラグ(13)の状態を調べ、オンが設定され
    ているときには、上記一致を検出された命令フェッチア
    ドレスから再命令フェッチを行わせることを特徴とする
    パイプライン制御方式。
  2. (2)特許請求の範囲第1項に記載されたパイプライン
    制御方式において、命令フェッチアドレスがブランチ命
    令のブランチ先アドレスである場合、当該ブランチ命令
    がブランチを行わないものとなったとき、フェッチされ
    たブランチ先命令と対応する再命令フェッチ要求フラグ
    (13)を廃棄することを特徴とするパイプライン制御
    方式。
JP20301385A 1985-09-13 1985-09-13 パイプライン制御方式 Pending JPS6263339A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20301385A JPS6263339A (ja) 1985-09-13 1985-09-13 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20301385A JPS6263339A (ja) 1985-09-13 1985-09-13 パイプライン制御方式

Publications (1)

Publication Number Publication Date
JPS6263339A true JPS6263339A (ja) 1987-03-20

Family

ID=16466890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20301385A Pending JPS6263339A (ja) 1985-09-13 1985-09-13 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JPS6263339A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5482140A (en) * 1977-12-14 1979-06-30 Hitachi Ltd Information processor
JPS57185545A (en) * 1981-05-11 1982-11-15 Hitachi Ltd Information processor
JPS6077241A (ja) * 1983-10-05 1985-05-01 Hitachi Ltd 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5482140A (en) * 1977-12-14 1979-06-30 Hitachi Ltd Information processor
JPS57185545A (en) * 1981-05-11 1982-11-15 Hitachi Ltd Information processor
JPS6077241A (ja) * 1983-10-05 1985-05-01 Hitachi Ltd 情報処理装置

Similar Documents

Publication Publication Date Title
US5125083A (en) Method and apparatus for resolving a variable number of potential memory access conflicts in a pipelined computer system
EP0381447B1 (en) Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system
CA1325285C (en) Method and apparatus for ordering and queueing multiple memory requests
US6321326B1 (en) Prefetch instruction specifying destination functional unit and read/write access mode
JP2539357B2 (ja) デ−タ処理装置
JPH0526219B2 (ja)
JPS61100837A (ja) 命令メモリ制御方法
JPH02240735A (ja) データ冗長度分解能をもつマルチプル命令処理システム
JPH07504520A (ja) 仮想アドレス能力が保持され、パイプライン命令ユニットと実効アドレス計算ユニットとを有するcpu
JPS60168238A (ja) パイプラインデータ処理装置
US5515522A (en) Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache
JPH01503011A (ja) キャッシュマネッジメントシステムを含むデジタルデータ処理システム用汎用プロセッサユニット
JP2006520964A5 (ja)
JP3400458B2 (ja) 情報処理装置
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
JP4131789B2 (ja) キャッシュ制御装置および方法
US6363471B1 (en) Mechanism for handling 16-bit addressing in a processor
JPH0564825B2 (ja)
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JP3499135B2 (ja) 情報処理装置
JPS62102344A (ja) バツフア・メモリ制御方式
EP0726524A2 (en) Protocol and system for performing line-fill addressing during copy-back operation
US5197133A (en) Control store addressing from multiple sources
JPS6263339A (ja) パイプライン制御方式
JP3013996B2 (ja) 情報処理装置