JPS6386033A - パイプライン処理方式 - Google Patents

パイプライン処理方式

Info

Publication number
JPS6386033A
JPS6386033A JP23239986A JP23239986A JPS6386033A JP S6386033 A JPS6386033 A JP S6386033A JP 23239986 A JP23239986 A JP 23239986A JP 23239986 A JP23239986 A JP 23239986A JP S6386033 A JPS6386033 A JP S6386033A
Authority
JP
Japan
Prior art keywords
register
instruction
operand
address
unit
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
JP23239986A
Other languages
English (en)
Inventor
Kouhei Ootsuyama
大津山 公平
Yuji Oinaga
勇次 追永
Sukezumi Koike
小池 夫澄
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 JP23239986A priority Critical patent/JPS6386033A/ja
Publication of JPS6386033A publication Critical patent/JPS6386033A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 ストアとそれに後続するフェッチのアドレスの一致を検
出し、ストアするデータをフェッチ・データにバイパス
することによって同一アドレスのストア・フェッチに起
因するインクロックを防ぐようにしたものである。
〔産業上の利用分野〕
本発明は、ストアとそれに1ICtolするフェッチの
アドレスの一致を検出し、両者が一致している場合には
、レジスタ・オペランド用入力レジスタ又は結果レジス
タのデータをメモリ・オペランド入力用レジスタにバイ
パス出来るようにしたパイプライン処理方式に関するも
のである。
〔従来の技術〕
第5図はストアとフェッチが連続した場合の従来のパイ
プライン処理を説明する図である。第5図において、D
、A、T、B、E、Wは命令のパイプライン処理を示す
ものであって、Dは命令をデコードするサイクル、Aは
オペランド・アドレスを生成するサイクル、Tは論理ア
ドレスを実アドレスに変換するサイクル、Bはバッファ
・メモリからのオペランド取出しを開始するサイクル、
Eは命令を実行するサイクル、Wはレジスタにデータを
書き込むサイクルをそれぞれ示している。
また、P、T、B、R/P、W、Sはバッファ周りのパ
イプライン処理を示すものであって、Pはプライオリテ
ィを取るサイクル、Tは論理アドレスを実アドレスに変
換するサイクル、Bはバッファ・メモリからのオペラン
ドの取出しを開始するサイクル、R/Pはフェッチ系の
命令の場合にはデータをリードし、ストア系の命令の場
合にはプライオリティを取るサイクル、Wはレジスタに
データを書き込むサイクル、Sはメモリにデータをスト
アするサイクルをそれぞれ示している。更に、STEは
浮動小数点演算の4バイトのストア命令、AEは浮動少
数点の4バイトの加算命令をそれぞれ示す。
第5図の動作を説明する。STE命令を実行する場合、
STE命令はり、A、T、B、E、Wとパイプライン処
理されて行く。この命令より1サイクル遅れてAE命令
が開始されるが、バッファ制御回路により、AE命令の
Bサイクルでストアのアドレスとフェッチのアドレスと
が一致するか否かが調べられる。両者が一致する場合に
はSFi (Store Fetch Interlo
ck)信号がオンになる。
SFi信号がオンになると、バッファ制御回路はこれま
でのパイプライン処理をリセットし、P。
T、B、R・・・と言うパイプライン処理を最初から遺
り直し、Rサイクルでバッファからデータをリードする
。この時はSTE命令のストアは終了しているので、矛
盾を生ずることなく処理を行うことが出来る。
〔解決しようとする問題点〕
上述のように従来の技術では、ストアに後続して同じア
ドレスへのフェッチを行う場合、Sユニットのバッファ
制御回路がアドレスをチェックして先行するストアがバ
ッファ (キャッシュ)に反映されるのを待つため、4
τのロスが生じていた。
本発明は、この点に鑑みて創作されたものであって、ス
トアとそれに後続するフェッチのアドレスが一致する場
合においても、後続するフェッチが長時間待たされない
ようにしたパイプライン処理方式を提供することを目的
としている。
〔問題点を解決するための手段〕
第1図は本発明の原理図である。ベース・レジスタ1、
インデックス・レジスタ2及びディスプレイスメント・
レジスタ3はオペランド実効アドレス発生器4に入力さ
れ、オペランド・アドレスが生成される。生成されたオ
ペランド・アドレスはオペランド実効アドレス・レジス
タ5にセットされる。オペランド実効アドレス・レジス
タ5の内容に従ってローカル・バッファ記憶6に格納さ
れているオペランド・データが取り出される。ローカル
・バッファ記憶6から取り出されたオペランド・データ
はメモリ・オペランド入力用レジスタ7にセットされる
。メモリ・オペランド入力用レジスタ7のデータはEユ
ニット9に入力される。
Eユニット9の出力は、結果レジスタ9にセントされ、
結果レジスタ10のデータは汎用レジスタ&浮動少数点
レジスタ11に書き込まれる。また、結果レジスタ10
のデータをローカル・バッファ記憶6及び主記憶に格納
することも出来る。汎用レジスタ&浮動少数点レジスタ
11から読み出されたデータはレジスタ・オペランド入
力用レジスタ8にセットされる。レジスタ・オペランド
入力用レジスタ8のデータは、Eユニット9に入力され
る。また、レジスタ・オペランド入力用レジスタ8のデ
ータをローカル・バッファ記憶6及び主記憶に書き込む
ことも出来る。チェック回路20には、オペランド・ア
ドレスと命令情報とが入力される。そして、先行する命
令がストア・タイプ1の命令であり且つそれに後続する
命令がフェッチ・タイプ1の命令の場合、又は先行する
命令がストア・タイプ2の命令であり且つそれに後続す
る命令がフェッチ・タイプ2の命令の場合には、先行す
るストアのアドレスとそれに後続するフェッチのアドレ
スが一致するか否かを調べ、両者が一致する場合には、
SFB信号をオンにする。オンの5FB(言号が出力さ
れると、Eユニット9の制御部はレジスタ・オペランド
入力用レジスタ8又は結果レジスタ10のデータをメモ
リ・オペランド入力用レジスタ7にセットする。
〔実施例〕
第2図は本発明の計算機の構成例を示す図である。同図
において、1はベース・レジスタ、2はインデックス・
レジスタ、3はディスプレイスメント・レジスタ、4は
オペランド実効アドレス発生器、5はオペランド実効ア
ドレス・レジスタ、6はローカル・バッファ記憶、7は
メモリ・オペランド入力用レジスタ、8はレジスタ・オ
ペランド入力用レジスタ、9はEユニット、10は結果
レジスタ、11は汎用&浮動小数点レジスタ、12はT
サイクルのオペランド・アドレス・レジスタ、13はB
サイクルのオペラン−ド・アドレス・レジスタ、14と
15は命令情報を格納するレジスタ、16は一致回路、
17はAND回路、18はOR回路をそれぞれ示してい
る。
第2図において、符号5及び6の部分はSユニットを構
成し、符号フないし10の部分はEユニットを構成し゛
、残りの部分はIユニットを構成している。Sユニット
は布線論理のものであり、Eユニットはマイクロプログ
ラム制御のものであり、■ユニットもマイクロプログラ
ム制御のものである。ベース・レジスタ1、インデック
ス・レジスタ2及びディスプレイスメント・レジスタ3
のデータはオペランド実効アドレス発生器4に入力され
、オペランド・アドレスが生成される。生成されたオペ
ランド・アドレスはオペランド実効アドレス・レジスタ
5にセットされる。オペランド実効アドレス・レジスタ
5によってローカル・バッファ記憶6がアクセスされ、
オペランド・データが取り出される。取り出されたオペ
ランド・データは、メモリ・オペランド入力用レジスタ
7にセットされる。メモリ・オペランド入力用レジスタ
7のデータはEユニット9に送られる。レジスタ・オペ
ランド入力用レジスタ8には、汎用&浮動少数点レジス
タ11から読み出されたデータがセントされる。レジス
タ・オペランド入力用レジスタ8のデータもEユニット
9に入力される。Eユニット9の出力は、結果レジスタ
10にセットされる。Eユニット9の出力は信号線を介
してメモリ・オペランド入力用レジスタ7にセットする
ことが可能であり、また、結果レジスタ1oのデータを
信号線を介してメモリ・オペランド入力用レジスタ7に
セットすることも可能である。結果レジスタ10のデー
タを汎用&浮動少数点レジスタ11に書き込むことが出
来る。結果レジスタ1゜のデータをOR回路18の上側
入力端子に供給することも出来る。レジスタ・オペラン
ド入力用レジスタ8のデータをOR回路18の下側入力
端子に供給することも出来る。OR回路18の出力はス
トア・バッファSTBに書き込まれる。
オペランド実効アドレス発生器4の出力は、Tサイクル
ではレジスタ12に保持され、Bサイクルになると、レ
ジスタ12のデータがレジスタ13に移される。レジス
タ14はTサイクルの命令情報を保持するものであり、
レジスタ14の命令情報はBサイクルになると、レジス
タ15に移される。一致回路16は、レジスタ12のオ
ペランド・アドレスとレジスタ13のオペランド・アド
レスとが一致するか否かを調べるものであり、両者が一
致すれば「1」を出方する。AND回路17は、一致回
路が「1」を出力し、レジスタ14の命令情報が所定の
フェッチ系のものであることを示し、更にレジスタ15
の命令情報が所定のストア系のものであることを示して
いることを条件に、オンのS F B (Store 
Fetch Bypass)を出力する。
SFB信号の生成と機能について更に詳細に説明する。
本発明では、ストアとフェッチが連続しており且つ下記
の条件のときにレジスタ12に格納されているストアの
オペランド・アドレスとレジスタ13に格納されている
フェッチのオペランド・アドレスとを比較する。
比較Timing Enable = B 5tore typl 1nst & T Fet
ch typel 1nst+B 5tore typ
21nst & T Fetch type21nst
比較した結果アドレスが一致したらストア・デ−夕をそ
のままフェッチ・データにバイパスする。
5tore typl 1nst  (4バイト・オペ
ランド)としては、ST (50) 、 STE (7
0)等があり、5tore typ21nst(8バイ
ト・オペランド)としては、STD (60)があり、
Fetch typel 1nst (4バイト・オペ
ランド)としては、N (54) 、 CL (55)
 、 O(56) 、 X (57) 、 L (58
) 。
C(59)、八(5A)、5(5B)、M(5C)、D
(5D)、AL(5E)、5L(5F)。
CfE (74) 、 CiD (75) 、 LH(
78) 、 CE (79) 、 AE (7A) 、
 SR(7B) 。
ME (7C) 、 DB (7D) 、 AU (7
E) 、 SU (7F)があり、Fetch typ
e21nst (8バイト・オペランド)としては、C
VB(4F)、MχD(67)、LD(68)、CD(
69)、A”D(6A)、5D(6B)、MD(6C)
 、 DD (6D) 、 AW (6B) 、 SW
 (6F)がある。なお、括弧内は16進オ゛ペコード
である。
第3図は本発明の動作を示すタイミング・チャートの例
を示す図である。第3図を参照してバイパスのメカニズ
ムについて説明する。先ず、比較タイミングにおいて、
アドレス一致が検出されると、SFB信号をオンにする
。この信号と命令制御部(Iユニット)によって起動さ
れたマイクロコードによって、EユニットはEサイクル
でレジスタ・オペランド入力用レジスタ8のデータ(4
バイト又は8バイト)をメモリ・オペランド入力用レジ
スタ7に移す。一方、SFi信号の次のサイクルでノー
・チェック(No Check) S F B信号を上
げ、それをSユニットに送出することによって、Sユニ
ットが不要なアドレス比較を行うことを禁止し、それに
よってロスができるのを防止する。
このため、Sユニットはストアが反映される前の古いデ
ータをフェッチしてくるが、実際にメモリ・オペランド
入力用レジスタ7に入って来るのは、Eユニットからバ
イパスされた新しいデータなので問題はない。
第4図は本発明の動作を示すタイミング・チャートの他
例を示す図である。この図は直前でEEB (Exec
ute Execute Bypass −Eユニット
のレジスタ間のバイパス)がある場合もSFバイパスが
可能なことを示している図である。例えば、ME   
OAA (1,2) STE  OBB(3,4) AH2BB (3,4) と言う命令列がある場合には、MEとSTEはEEバイ
パスが行われ、また、STEとAEとの間でSFバイパ
スが行われるが、このときはRORを使用せず、RRを
使用する。
〔発明の効果〕
以上の説明から明らかなように、本発明によれば(先行
する命令がストア・タイプ1の命令であり且つ後続する
命令がフェッチ・タイプ1の命令の場合、又は先行する
命令がストア・タイプ2の命令であり且つ後続する命令
がフェッチ・タイプ2の命令の場合に、ストアのアドレ
スとフェッチのアドレスとが一致しているか否かを調べ
、一致しているときには、ストアがバッファに反映され
る前にフェッチすべきデータを人手出来るので、この分
だけ計算機の処理能力を向上させることが出来る。
【図面の簡単な説明】
第1図は本発明の原理図、第2図は計算機の構成例を示
す図、第3図はタイミング・チャートの例を示す図、第
4図はタイミング・チャートの他例を示す図、第5図は
従来のパイプライン処理を示す図である。 1・・・ベース・レジスタ、2・・・インデックス・レ
ジスタ、3・・・ディスプレイスメント・レジスタ、4
・・・オペランド実効アドレス発生器、5・・・オペラ
ンド実効アドレス・レジスタ、6・・・ローカル・バッ
ファ記憶、7・・・メモリ・オペランド入力用レジスタ
、8・・・レジスタ・オペランド入力用レジスタ、9・
・・Eユニット、10・・・結果レジスタ、11・・・
汎用&浮動小数点レジスタ、12・・・Tサイクルのオ
ペランド・アドレス・レジスタ、13・・・Bサイクル
のオペランド・アドレス・レジスタ、14と15・・・
命令情報を格納するレジスタ、16・・・−数回路、1
7・・・AND回路、18・・・OR回路。

Claims (1)

  1. 【特許請求の範囲】 パイプライン処理を行う計算機において、 先行する命令がストア・タイプ1の命令であり且つ後続
    する命令がフェッチ・タイプ1の命令の場合又は先行す
    る命令がストア・タイプ2の命令であり且つ後続する命
    令がフェッチ・タイプ2の命令の場合に、ストアのアド
    レスとそれに後続するフェッチのアドレスとが一致する
    か否かをチェックするチェック手段と、 上記チェック手段が一致を出力した時に、レジスタ・オ
    ペランド用入力レジスタ又は結果レジスタをメモリ・オ
    ペランド用入力レジスタにバイパスする機構を持つ演算
    ユニットと を具備し、パイプラインをロスなく実行することを特徴
    とするパイプライン処理方式。
JP23239986A 1986-09-30 1986-09-30 パイプライン処理方式 Pending JPS6386033A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23239986A JPS6386033A (ja) 1986-09-30 1986-09-30 パイプライン処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23239986A JPS6386033A (ja) 1986-09-30 1986-09-30 パイプライン処理方式

Publications (1)

Publication Number Publication Date
JPS6386033A true JPS6386033A (ja) 1988-04-16

Family

ID=16938633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23239986A Pending JPS6386033A (ja) 1986-09-30 1986-09-30 パイプライン処理方式

Country Status (1)

Country Link
JP (1) JPS6386033A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573309A (ja) * 1990-04-04 1993-03-26 Internatl Business Mach Corp <Ibm> 複数スカラ命令の並列実行支援装置
JPH05503381A (ja) * 1989-09-11 1993-06-03 エルジー・セミコン・カンパニー・リミテッド 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
JP2011513843A (ja) * 2008-02-26 2011-04-28 クゥアルコム・インコーポレイテッド 実行装置内のデータ転送のシステムおよび方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5392638A (en) * 1977-01-25 1978-08-14 Nec Corp Information processing unit
JPS58161043A (ja) * 1982-02-27 1983-09-24 Fujitsu Ltd 命令制御装置
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5392638A (en) * 1977-01-25 1978-08-14 Nec Corp Information processing unit
JPS58161043A (ja) * 1982-02-27 1983-09-24 Fujitsu Ltd 命令制御装置
JPS6015746A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd デ−タ処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05503381A (ja) * 1989-09-11 1993-06-03 エルジー・セミコン・カンパニー・リミテッド 算術パイプラインをオペレーティングする方法及びデータプロセッシング装置
JPH0573309A (ja) * 1990-04-04 1993-03-26 Internatl Business Mach Corp <Ibm> 複数スカラ命令の並列実行支援装置
JP2011513843A (ja) * 2008-02-26 2011-04-28 クゥアルコム・インコーポレイテッド 実行装置内のデータ転送のシステムおよび方法

Similar Documents

Publication Publication Date Title
US20020188830A1 (en) Bit replacement and extraction instructions
JPH04140880A (ja) ベクトル処理装置
JPS59231652A (ja) メモリアクセス・オ−バラツプ検出方式
JPH03233630A (ja) 情報処理装置
JPH02287626A (ja) パイプライン方式の分岐命令制御装置
JPS6386033A (ja) パイプライン処理方式
JP3490191B2 (ja) 計算機
JPS60103454A (ja) 命令先読み制御装置
JP2915680B2 (ja) Riscプロセッサ
JPH07114509A (ja) メモリアクセス装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH10111798A (ja) 情報処理装置
JP2821328B2 (ja) 並列計算機
JP2673041B2 (ja) 命令実行制御方式
JP2806690B2 (ja) マイクロプロセッサ
JPH10105399A (ja) データ処理装置
JPH0540629A (ja) 情報処理装置
JPH0820947B2 (ja) データ処理装置
JPS61161509A (ja) 高速シ−ケンス演算方式及びその装置
JPH03241445A (ja) パイプライン方式
JPH03113535A (ja) パイプライン制御機構
JPH0217544A (ja) 情報処理理装置
JP2000181703A (ja) 情報処理装置
JPH11203133A (ja) 情報処理装置
JPS62278639A (ja) 情報処理装置