JPS61170830A - レジスタ参照方法 - Google Patents

レジスタ参照方法

Info

Publication number
JPS61170830A
JPS61170830A JP1215885A JP1215885A JPS61170830A JP S61170830 A JPS61170830 A JP S61170830A JP 1215885 A JP1215885 A JP 1215885A JP 1215885 A JP1215885 A JP 1215885A JP S61170830 A JPS61170830 A JP S61170830A
Authority
JP
Japan
Prior art keywords
register
instruction
cpu
address
stage
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
JP1215885A
Other languages
English (en)
Other versions
JPH0419575B2 (ja
Inventor
Aiichiro Inoue
愛一郎 井上
Yuji Oinaga
勇次 追永
Katsumi Onishi
克己 大西
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 JP1215885A priority Critical patent/JPS61170830A/ja
Publication of JPS61170830A publication Critical patent/JPS61170830A/ja
Publication of JPH0419575B2 publication Critical patent/JPH0419575B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、計算機システムにおける、中央処理装置のレ
ジスタが、中央処理装置と、それに接続されるベクトル
処理装置とから参照される場合の、レジスタ参照を制御
する方式に関する。
計算機システムの中央処理装置(以下において、CPU
という)等の高速化方式として、いわゆるパイプライン
方式による、並列処理方式が使用されている。
このような、並列処理方式においては、同時に複数の命
令実行の流れが存在するので、異なる命令間において、
ある命令の実行により更新されるスカラレジスタを、後
続の他の命令が参照するような関係にある場合には、そ
れらの命令実行の時間的な前後関係が、プログラム通り
(即ち、命令フェッチの順番通り)になることを保証す
るための制御を必要とする。
一方、更に高速な処理を必要とする等のシステムにおい
ては、ベクトルデータの高速演算用に構成された専用処
理装置であるベクトル処理装置(以下において、vPと
いう)を併用する場合がある。
vpは、公知のように、主に主記憶装置のベクトルデー
タの演算を高速に処理するように構成された処理装置で
あるが、CPUと併用される構成においては、VPがC
PUの汎用レジスタ及び浮動少数点レジスタ等(以下に
おいて、これらを総称して、スカラレジスタという)を
参照することも必要である。
その結果、上記のようなレジスタ参照順序の制御が、C
PUで実行されている命令とvPにおける処理との間に
ついても必要であるが、VPの処理は、CPUのパイプ
ラインとは非同期であるので、その制御には特別の考慮
が必要になる。
〔従来の技術〕
第2図に示すような、vpとCPUを併用する構成の一
方式においては、VPIとCPU2は相互に接続され、
又それぞれ個別のボートによって主記憶アクセス制御装
置(以下において、MCUという)3を経て、主記憶装
置(以下において、MSUという)4にに接続される。
CPU2は、MCU3を経てMSU4から取り出す命令
をデコードし、その命令がベクトル演算命令の場合に、
CPU2からVPIへ所要の制御情報及びデータ等を転
送線6により転送して、VP1へ処理を依頼する。
VPIは、自身でMcU3を経てMSU4に7クセスし
、CPU2とは独立に処理を進めるが、CPU2の例え
ばスカラレジスタに処理結果を出力する場合には、デー
タ及び制御信号等を、転送線7によってCPU2へ転送
する。
第3図はCPU2のパイプライン制御における、スカラ
レジスタのアドレスの制御等を説明するブロック図であ
る。
図の上部の線10は、左から右へ進む、バイプラインの
各ステージを示し、命令実行の典型的な場合において、
Dステージでは、命令コードのデコードが行われる。
Aステージでは、命令で指定されたスカラレジスタをレ
ジスタスタック23から読み出して、ベー″″″′11
・47F ′)X Iy ’; X 912に:Aiゝ
゛   −それらと命令のディスプレースメント部の内
容13により、アドレス計算をして、主記憶アドレスを
得る。
Tステージでは、主記憶オペランドのアクセス及び演算
ユニットの起動、Bステージではバッファ、レジスタス
タック23等からのデータ読み出しが行われ、Eステー
ジでは、それまでに準備されたデータについて演算が実
行され、演算結果がWステージでレジスタスタック23
上の所定のスカラレジスタ等へ書き込まれる。
以上のような、各ステージの制御に対応して、各ステー
ジにある命令が使用する、スカラレジスタ等のアドレス
を保持するレジスタが設けられる。
即ち、レジスタ群14.15.16の、それぞれ直列に
接続されたレジスタが、それらのレジスタを示し、命令
デコードの結果により、AステージでレジスタA1及び
A2の所要のものが設定される。
上記設定がされた場合には、レジスタA1、A2の内容
は、次の制御サイクルでレジスタT1、I2にシフトさ
れる。又、別の命令の場合には、Tステージで、レジス
タT1、I2、I3にアドレスがセットされる場合もあ
る。
レジスタT1、I2、I3の内容は、次の制御サイクル
で、レジスタBISB2、B3にシフトされる。
レジスタB2、B3は、Bステージで読み出して、例え
ば演算器17の人力レジスタ18.19ヘレジスタオペ
ランドとして供給すべき、スカラレジスタを指定するの
に使用される。
レジスタB1、B2の内容は、次サイクルでレジスタE
1、B2にシフトし、更に次のサイクルでレジスター1
、−2にシフトする。
レジスター1はWステージにおける、書き込み先のスカ
ラレジスタのアドレス指定等に使用される。
レジスタ群15は書き込み対象のスカラレジスタを指定
しているので、Dステージにおいては、レジスタ^1、
T1、B1、El、Wlと、命令オペランドで指定され
る、アドレス計算に使用するスカラレジスタの指定(図
において、11、I2、I3により示す)とを比較器2
4で比較する。
その結果両者のうちのそれぞれルジスタでも一致するア
ドレスが有った場合には、比較器24の出力25により
、Dステージにある命令をインクロックして、出力25
の一致信号が無(なるまで、その命令のDステージから
先への進行を遅延させる。
又、Bステージにおいては、それより先のステージにあ
る、書き込みレジスタアドレスである、レジスタE1、
Wlと、レジスタB2、B3とを比較器20で比較し、
その−故山力信号21がある間、Bステージから先への
進行をインタロックする。
公知のように、パイプラインの、あるステージがインク
ロックされている間、そのステージ及びそれより前のス
テージにある命令の、次ステージへの進行は阻止される
CP U2は、ベクトル処理命令も同様に、前記のパイ
プラインに乗せて実行する前処理により、アドレス計算
、所要のスカラレジスタからのデータ読み出し等を行っ
て所要の情報を準備し、それらの情報と命令コードをV
PIに転送して、処理させる。
これらの前処理のために、第4図(a)に示すように、
パイプラインには通常4個程度の処理フロー30.31
.32.33が流され、その後火の命令のDステージが
サイクル34から開始される。
なお、図において英字は、前記説明で使用した、パイプ
ラインの各ステージの名前を示し、図の左から右へ時間
が進行するものとする。
図のサイクル35に示す処理フロー33のWステージに
おいて、CPU2からVPIへの所要情報の転送が終わ
るが、もしこのベクトル処理命令が、CP U2のレジ
スタスタック23にあるスカラレジスタの更新を伴う場
合には、このベクトル処理命令の、VPIにおける処理
が完了して、スカラレジスタの書き込みデータが出揃っ
た時(時刻36)に、VPIから書き込み要求信号と共
に出力データが転送されて、指定のスカラレジスタが更
新される。
従って、このようなベクトル演算命令の後続命令に、上
記の更新されるスカラレジスタの参照がある場合には、
更新完了まで参照を遅延させる必要がある。
□ヮ4よ、。。7ツ。2o27゜よ、7.97.う9 
 −ン上にスカラレジスタの更新を行うベクトル演算命
令があることを検出すると、これを記憶し、後続命令を
Dステージでインクロックする。
このインクロックは、VPlからの出力を、スカラレジ
スタへ書き込み完了するまで、継続する必要がある。
第4図(alの処理フロー37.38は、このようにし
てインクロックされる後続命令のフローを示し、!’5
139はインクロックの期間を示している。
〔発明が解決しようとする問題点〕
前記従来の・方式によれば、比較的簡単な制御によって
、vPがスカラレジスタを更新する場合に、そのスカラ
レジスタを、後続命令が更新前に参照することを防ぐこ
とができる。
しかし、すべての後続命令を無差別にインクロックする
ので、後続命令が上記に該当するレジスタを参照しない
場合でも、その実行を遅延することになり、必要以上に
CPUの性能を低下させるという問題がある。
〔問題点を解決するための手段〕
前記の問題点は、レジスタを有する中央処理装置と、該
中央処理装置の制御を受けて、独立に演算を実行するベ
クトル処理装置を有する計算機システムにおいて、上記
中央処理装置は上記ベクトル処理装置に演算を指令する
場合に、該ベクトル処理装置の出力を書き込むべき上記
レジスタのアドレスを保持し、後続命令において参照す
る上記レジスタのアドレスが該保持するアドレスに一致
する場合には、該後続命令による、該アドレスのレジス
タの参照を抑止するように構成された本発明のレジスタ
参照制御方式により解決される。
〔作用〕
即ち、前記説明の、パイプラインにおける、レジスタア
ドレスを保持するレジスタ群とは別に、ベクトル演算命
令の実行によって更新されるスカラレジスタのレジスタ
アドレスを保持するvP書き込みレジスタを設ける。
CPUでは、ベクトル演算命令が例えばスカラレジスタ
の更新を伴う場合は、その前処理において、vP書き込
みレジスタに更新光のレジスタアドレスをセットしてお
く。
このようにして、一般の命令の制御における、従来の更
新レジスタと参照レジスタの一致検出条件に、上記VP
書き込みレジスタに保持するアドレスを加え、これによ
って一致が検出された場合のみ、後続命令をインタロッ
クする。
以上により、スカラレジスタ更新を伴うベクトル演算命
令の場合にも、後続命令の無差別なインクロックを行わ
ないで、必要最小限のインタロックにすることができる
〔実施例〕
第1図は本発明の一実施例構成を示すブロック図である
第1図は、第3図の従来構成例に対応する部分を示し、
図において第3図と同じ構成部分は同一の符号で示す。
本発明により、VP書き込みレジスタ40が設けられ、
レジスタ群15のレジスター1に接続される。
VP書き込みレジスタ40には、ベクトル処理命令の前
処理において、その命令がスカラレジスタの更新を伴う
命令であると識別された場合に、その最後のWステージ
である、制御サイクル35(第4図(bl)において、
レジスター1の内容がセットされるものとする。
VP書き込みレジスタ40に保持された、レジスタアド
レスは、比較器20及び比較器24に、従来の入力に追
加して入力され、後続命令の参照するスカラレジスタの
レジスタアドレスと比較されるようにする。
比較の結果一致した場合には、−故山力信号21又は2
5によって、従来の一般の命令の場合と同様にパイプラ
インをDステージ又はBステージでインクロックする。
このインタロックは、VP1からの出力データによる、
レジスタ更新が完了するまで継続する必要がある。
しかし、上記比較において、レジスタ一致が検出されな
い限り、後続命令はインクロック無く、実行を進められ
る。
第4図(b)及び(C)において、処理フロー30〜3
3は、    l第4図(alと同じベクトル処理命令
の前処理のフローであるが、制御サイクル35のWステ
ージでVP書き込みレジスタ40に、レジスタアドレス
がセットされ、線48に示すように、書き込み完了まで
保持される。
処理フロー41〜46は後続命令の処理フローであり、
ベクトル処理命令を含む各命令相互にレジスタ参照の衝
突が無いとすれば、図示のように各フローが遅延無く終
了する。
その次の命令の処理フロー47で、VP書き込みレジス
タ40の保持するアドレスのレジスタを、アドレス計算
のペースレジスタ又はインデクスレジスタとして、参照
しようとした場合には、比較器25の出力により、Dス
テージでインクロックされる。
又、そのレジスタをレジスタオペランドとして、参照し
ようとした場合には、比較器21の出力により、Bステ
ージでインクロックされる。
それらの場合、この命令はVPIの処理が終わるまで、
進行を遅延される。
しかし、この遅延はプログラム論理上必要な最小限の遅
延時間である。
〔発明の効果〕
以上の説明から明らかなように本発明によれば、CPU
とvPを接続した構成の計算機システムの、vPの出力
でCPUのレジスタを更新する処理において、CPUの
命令実行パイプラインのインクロック時間を、必要最小
限に押さえることができるので、CPUの性能を著しく
改善する。
【図面の簡単な説明】
第1図は本発明一実施例構成のブロック図、第2図は計
算機システムの一構成例ブロック図、第3図は従来の一
構成例ブロック図、 第4図はパイプライン処理フローの説明図である。 図において、 lはVP、       2はCPU。 3はMCU、      4はMSU。 11はペースレジスタ、12はインデクスレジスタ、1
4.15.16はレジスタ群、 20.24は比較器、   23はレジスタスタック、
30〜33.41〜47は処理フロー、40はVP書き
込みレジスタを示す。 代理人 弁理士  検量 宏四部 第 1 図 兇3図 孫4図C) ノロ 尤什1図C) 亮2図 邦4図(c) D 、DATBBBBBEW 7!7

Claims (1)

    【特許請求の範囲】
  1. レジスタを有する中央処理装置と、該中央処理装置の制
    御を受けて、独立に演算を実行するベクトル処理装置を
    有する計算機システムにおいて、上記中央処理装置は上
    記ベクトル処理装置に演算を指令する場合に、該ベクト
    ル処理装置の出力を書き込むべき上記レジスタのアドレ
    スを保持し、後続命令において参照する上記レジスタの
    アドレスが該保持するアドレスに一致する場合には、該
    後続命令による、該アドレスのレジスタの参照を抑止す
    るように構成されていることを特徴とするレジスタ参照
    制御方式。
JP1215885A 1985-01-25 1985-01-25 レジスタ参照方法 Granted JPS61170830A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1215885A JPS61170830A (ja) 1985-01-25 1985-01-25 レジスタ参照方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1215885A JPS61170830A (ja) 1985-01-25 1985-01-25 レジスタ参照方法

Publications (2)

Publication Number Publication Date
JPS61170830A true JPS61170830A (ja) 1986-08-01
JPH0419575B2 JPH0419575B2 (ja) 1992-03-30

Family

ID=11797647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1215885A Granted JPS61170830A (ja) 1985-01-25 1985-01-25 レジスタ参照方法

Country Status (1)

Country Link
JP (1) JPS61170830A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01206462A (ja) * 1988-02-15 1989-08-18 Agency Of Ind Science & Technol ベクトル計算機

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105070A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Control system of register interference
JPS59154548A (ja) * 1983-02-22 1984-09-03 Hitachi Ltd 記憶制御方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57105070A (en) * 1980-12-23 1982-06-30 Fujitsu Ltd Control system of register interference
JPS59154548A (ja) * 1983-02-22 1984-09-03 Hitachi Ltd 記憶制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01206462A (ja) * 1988-02-15 1989-08-18 Agency Of Ind Science & Technol ベクトル計算機

Also Published As

Publication number Publication date
JPH0419575B2 (ja) 1992-03-30

Similar Documents

Publication Publication Date Title
US4896259A (en) Apparatus for storing modifying data prior to selectively storing data to be modified into a register
JPH04245540A (ja) 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム
JPH0553803A (ja) プロセツサ
JP2620511B2 (ja) データ・プロセッサ
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
JPH0673105B2 (ja) 命令パイプライン方式のマイクロプロセッサ
JPH0743648B2 (ja) 情報処理装置
US5291615A (en) Instruction pipeline microprocessor
US5197133A (en) Control store addressing from multiple sources
JPS61170830A (ja) レジスタ参照方法
EP0177712B1 (en) Masked data fetch and modifying device
JPS61224051A (ja) バッファメモリ制御方法
JPH10116191A (ja) 圧縮命令用バッファを備えたプロセッサ
JP3954159B2 (ja) 同期式ramのアクセス制御回路、データ処理プロセッサ及びその制御方法
JPS61118855A (ja) バツフアメモリ制御方式
JP2576589B2 (ja) 仮想記憶アクセス制御方式
JPH0385636A (ja) 命令先行制御装置
JPH02254541A (ja) 条件分岐命令の制御方式
JPH07219771A (ja) 命令プロセッサ
JPH0546389A (ja) 並列処理装置
JPS635433A (ja) ブランチ制御方式
JPS61194566A (ja) ベクトルデ−タ参照制御方式
JPH03119424A (ja) 情報処理方式及び装置
JPH04174041A (ja) データアクセス制御方式
JPH06332701A (ja) 情報処理装置