JPH0479027B2 - - Google Patents

Info

Publication number
JPH0479027B2
JPH0479027B2 JP60043206A JP4320685A JPH0479027B2 JP H0479027 B2 JPH0479027 B2 JP H0479027B2 JP 60043206 A JP60043206 A JP 60043206A JP 4320685 A JP4320685 A JP 4320685A JP H0479027 B2 JPH0479027 B2 JP H0479027B2
Authority
JP
Japan
Prior art keywords
pipeline
vector
timing
vector register
instruction
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.)
Expired - Lifetime
Application number
JP60043206A
Other languages
English (en)
Other versions
JPS61202281A (ja
Inventor
Nobuo Uchida
Shoji Nakatani
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 JP4320685A priority Critical patent/JPS61202281A/ja
Publication of JPS61202281A publication Critical patent/JPS61202281A/ja
Publication of JPH0479027B2 publication Critical patent/JPH0479027B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 演算器がパイプラインを介して接続されたバン
ク構成のベクトルレジスタに、その任意の空きス
ロツトを利用してアクセスできるようにするた
め、演算器のバツフアの段数切り替え可能にして
ベクトルレジスタの任意の空きスロツトにタイミ
ングを整合できるようにする。
〔産業上の利用分野〕
本発明は、ベクトル処理装置に関するものであ
り、特にベクトルレジスタへのアクセスを効率化
するためのパイプライン制御方式に関する。
〔従来の技術〕
最近のパイプライン方式のベクトル処理装置で
は、ロード、ストア、演算などの複数のパイプラ
インをそなえ、これらがそれぞれベクトルレジス
タにアクセスして、処理を並行して実行できるよ
うになつている。このため、ベクトルレジスタの
アクセス効率を良くする必要があり、一般に、ベ
クトルレジスタを複数のバンクに分割して、より
多くのアクセス源が同一タイミングにおいてアク
セス出来るように構成されている。
第2図は、このようなバンク構成のベクトルレ
ジスタをもつベクトル処理装置の概略構成を示し
たものである。
図において、21は主記憶装置、22はベクト
ルレジスタVR、23,24,25はそれぞれ
ADD、MULTI、DIVの各演算パイプラインを表
している。
図示の例では、ベクトルレジスタVR22は、
8個のバンク#0ないし#7に分割され、同一な
アドレスが各バンクに順次分配されるインタリー
ブ形式で構成されている。
主記憶装置21およびADD、MULTI、DIVの
各演算パイプライン23,24,25は、それぞ
れベクトルレジスタVR22の各バンク#0ない
し#7のいずれに対してもアクセス可能であり、
任意のアドレス位置へデータを書き込みあるいは
そこからデータを読み出すことができるように制
御されている。
たとえば各演算パイプラインは、ベクトルレジ
スタVR22からオペランドR3およびR2を読み出
し、演算を実行して、演算結果のオペランドR1
をベクトルレジスタVR22書き込む動作を行
う。
この場合、各バンクをアクセスするタイミング
を各アクセス源に対して規定し、1つのパイプラ
イン制御回路によつて集中管理する必要がある。
このタイミングは、バンクスロツトと呼ばれてい
る。ここでは、便宜上バンクの個数が8個(0〜
7)あるものとして、以下の説明を進めていく。
ところで演算パイプラインのように、ベクトル
レジスタの読み出しから演算結果の書き込みまで
のタイミングが固定のものでは、比較的制御がや
りやすいため、従来は、3つのオペランド(2つ
の入力オペランドと1つの出力オペランド)に割
り当てるスロツトの関係(距離)を固定してい
た。
第3図は、演算パイプラインに割り当てられた
ベクトルレジスタVRのアクセススロツトの使用
例を示すものである。R3、R2は演算パイプライ
ンによる入力オペランドのアクセスを示し、R1
は出力オペランドを示す。たとえばADDの場合
は R3+R2→R1 の処理で使用されるベクトルレジスタVRの各バ
ンクごとのアクセススロツトを表している。
1巡回のアクセスにR1オペランドのアクセス
がないのは演算パイプラインのステージ段数によ
るものである。
第3図に示されているような状態を『T1、T2
T3スロツトが専有されている』という。
このように、従来の方式では、オペランド相互
間のスロツト距離が固定されている。たとえば第
3図の例では、連続する3つのスロツトとして規
定される。したがつて、このようなスロツト関係
に対応する空きスロツト群がないと命令を発信出
来ないことになる。
第2図の例のように、8個のバンクにインタリ
ーブされたベクトルレジスタVRをもつベクトル
処理装置の場合には、2個の演算パイプラインと
1個のロード/ストアパイプラインとが、ベクト
ルレジスタVRをアクセスしたならば、残りのス
ロツトが不足して、後続する第3の演算命令の発
信が行えなくなる。
第4図の例は、加算パイプラインがAR3、AR2
AR1で示す3つのスロツトを使用し、ロードパイ
プラインがLで示す1つのスロツトを使用してい
る状況を示す。
このとき、○△□☆は、それぞれ空スロツトを
表し、4個のバンクスロツトが空いていることを
示している。
ところが、演算器の段数が固定(この例では10
段)であるとすると、第3図に示すように、3つ
のスロツトが連続的に空いていないと、命令の発
信が出来ないことになる。
〔発明が解決しようとする問題点〕
複数バンクによるインタリーブ構成のベクトル
レジスタに対して演算パイプラインがアクセスす
る場合の従来のバンクスロツト割り当ては、オペ
ランド相互間のスロツト距離を固定する方式をと
つていたため、次の演算命令に対して空きスロツ
ト数が十分あつても、そのスロツト距離関係が、
演算パイプラインのオペランドに割り当てられて
いるスロツト距離関係に整合していない場合に
は、次の演算命令を発信することができず、ベク
トルレジスタのアクセス効率が上がらないという
問題があつた。
〔問題点を解決するための手段〕
本発明は、上記した問題点を解決するために、
ベクトルレジスタのビジー/空き状況に応じて演
算命令のオペランドデータ読み出しタイミングと
演算結果書き込みタイミングとの間隔を変更可能
にして、命令を発信できる機会の増大を図るよう
にしたものである。
それによる本発明のパイプライン制御方式の構
成は、主記憶装置と、それぞれが定められたアク
セスタイミングをもつた複数個のバンクにインタ
リーブされた複数のベクトルレジスタと、複数の
演算パイプラインと、上記主記憶装置とベクトル
レジスタとの間でデータを転送するパイプライン
とをそなえたデータ処理システムにおいて、 上記演算パイプラインを使用する演算命令につ
いて、ベクトルレジスタからのオペランドデータ
の読み取りタイミングと演算結果をベクトルレジ
スタに書き込むタイミングとの間隔を可変にして
上記ベクトルレジスタの各バンクの空き状況から
当該演算命令の実行可能性調べ、実行可能である
場合には当該演算命令の発信を許可し、また上記
演算パイプラインは演算結果の書き込みタイミン
グを可変にできる切り換え可能な段数をもつバツ
フアをそなえ、当該演算命令について実行可能と
された読み切りタイミングでベクトルレジスタか
らオペランドデータを読み取り、実行可能にされ
た書き込みタイミングで演算結果をベクトルレジ
スタに書き込むように制御されることを特徴とす
る。
〔作用〕
本発明によれば、ベクトルレジスタの空きスロ
ツトの距離関係がどのようなものであつても、演
算パイプライン側のバツフア段数を切り換えるこ
とにより、自己のオペランド間のアクセススロツ
ト距離を変更し、ベクトルレジスタの空きスロツ
トの距離関係に整合させることを可能にするもの
である。
〔実施例〕
第5図は、本発明が適用可能なベクトル処理装
置の1実施例の構成を概略的に示したものであ
る。
第5図において、51は主記憶装置、52は主
記憶制御装置、53はアライン処理回路、54は
ベクトルレジスタVR、55,56,57はそれ
ぞれADD、MULTI、DIVの演算パイプライン、
58は命令処理回路、59はパイプライン制御回
路、60はスカラ処理装置を表している。
動作は次のように行われている。図中のパイプ
ライン制御回路59が各パイプラインの集中管理
を行つている。まず、スカラ処理装置60におい
て、フエツチされた命令がベクトル命令であるこ
とが判別されると、命令処理回路58に転送され
る。
命令処理回路58では、パイプライン制御回路
59に対して信号のやりとりを行い、命令が発信
可能であるとき、命令処理回路58から、パイプ
ライン制御回路59に対して、OP−CODE、ベ
クトル長VLなどの必要な情報を転送し、命令の
発信を行う。
パイプライン制御回路59は、前述したバンク
スロツトの管理やアライン処理制御などの各種制
御を行う。すなわち、パイプライン制御回路59
から命令処理回路58へ通知されるバンクスロツ
トの空き情報にしたがつて、命令の発信の可否を
決定している。
従つて、演算パイプラインの段数が固定である
として制御を行うと、前述したように、3つのオ
ペランドをアクセスする3つのスロツト間の相互
距離関係は固定となつてしまうので、前述した第
3図の例のように、たとえ3つのスロツトが空い
ていたとしても、命令の発信が出来ないという性
能ダウンの原因になる。
したがつて、本発明においては、第4図のよう
な状態であつても命令の発信を許可し、パイプラ
イン制御回路59によつてスロツトの占有状況を
認識し、演算パイプラインの段数を変化させる。
第6図に、パイプライン制御回路59の一部を
示す。
第6図において、61−0ないし61−7はそ
れぞれバンクスロツトT0ないしT7のBUSY表示
FF、62ないし68はNORゲート、69はOR
ゲートを表している。図示の回路は、T3,T4
R3,R2オペランドに割り当てた場合の回路であ
り、T3およびT4が空きでかつ他のT0〜T2,T5
T7のうちいずれかのタイミングが空きであるこ
とを検出したとき命令の発信を許可するように動
作するものである。
8個のFF61−0ないし61−7は8個のタ
イミング(T0〜T7)に対応しており、これらの
FFがセツトされると、そのタイミングは占有さ
れたこと(BUSY)を意味する。このセツト信
号は命令処理装置より送出される。
NORゲート63ないし68のいずれかが“1”
を出力、すなわちセレクト信号(SELECT0な
いしSELECT4)を“1”とするためには、
NORゲート62からの入力が“0”でかつ対応
するFFからの入力が“0”であること、すなわ
ちそのFFが非BUSY(空き)を表している必要が
ある。
さらにNORゲート62の出力が“0”となる
ためには、FF61−3および61−4のいずれ
かあるいは双方が“ON”、すなわちBUSY状態
にセツトされている必要がある。
すなわち、この動作論理は、まずR3およびR2
オペランドのためにT3およびT4スロツトを占有
した後、その他に空き状態のスロツトがあれば、
R1オペランドのために、そのスロツトに対する
セレクト信号を発生させるものである。
ORゲート69は、いずれかのセレクト信号が
“1”となつたとき、すなわち、必要なR1オペラ
ンドに対するスロツトが獲得できたとき、命令発
信許可信号を命令処理回路に送出する。
従来は、演算パイプラインの段数が固定であつ
たため、たとえば3つの連続するスロツトが空き
状態でないと命令の発信を許可しないようにして
いた。
ところが、第6図の回路においては、R3およ
びR2に対応する連続した2つのスロツトさえ空
いていれば、残りのR1に対応するスロツトは、
どのスロツトでも空いてさえいれば命令の発信が
許可されるようになつている。
そして、このパイプライン制御回路は、スロツ
トのアクセス状況に応じて各セレクト信号
(Select0〜4)を発生し、第1図に示す演算パ
イプラインの各段の出力のどれかを選択すること
により、演算パイプラインの段数を変化させて、
任意の空きスロツトにタイミングを合わせること
が出来る。
第1図は、本発明に基づく演算パイプラインの
1実施例構成を示している。
第1図において、1はベクトルレジスタVRか
ら読み出されたR2オペランド、2は同じくVRか
ら読み出されたR3オペランド、3,4,6はシ
フタ、5は加算器、7−0ないし7−4はバツフ
アレジスタ、8−0ないし8−4はANDゲート、
9はベクトルレジスタVRへ書き込むR1オペラン
ドである。
バツフアレジスタ7−0ないし7−4は、クロ
ツクごとに演算結果がコピー転送されるタイミン
グ調整用バツフア段であり、各段の出力は、
ANDゲート8−0ないし8−4において、第6
図のパイプライン制御回路から出力されたセレク
ト信号(Select0〜Select4)によつて択一的に
選択される。
これにより、R1オペランドをベクトルレジス
タVRに書き込むタイミングを、セレクト信号に
より指示された空きのバンクスロツトに整合させ
ることができる。
なお、第6図の回路は、前述したようにT3
T4スロツトをR3,R2オペランドとして選択した
ときに使用される部分のみを示してある。実際に
は、R3,R2の割り付けには8通りあるので(R3
R2は連続していなければならないから)8倍の
回路量が必要である。
〔発明の効果〕
以上のように、本発明によれば、従来であれ
ば、空きスロツト位置とスロツト距離関係が不整
合であるために命令処理回路で待たされていた命
令が発信および実行できる機会が増大するので、
ベクトル処理装置の効率を向上させることができ
る。
【図面の簡単な説明】
第1図は本発明による演算パイプラインの1実
施例構成を示す図、第2図は一般的なベクトル処
理装置の概略構成を示す図、第3図はスロツトの
使用例を説明する図、第4図はスロツトの使用状
況例を説明する図、第5図はベクトル処理装置の
実施例構成を示す図、第6図はパイプライン制御
回路の実施例構成を示す図である。 第1図において、1はR2オペランド、2はR3
オペランド、5は加算器、7−0ないし7−4は
バツフアレジスタ、8−0ないし8−4はAND
ゲート、9はR1オペランドを示す。

Claims (1)

  1. 【特許請求の範囲】 1 主記憶装置と、それぞれが定められたアクセ
    スタイミングをもつた複数個のバンクにインタリ
    ーブされた複数のベクトルレジスタと、複数の演
    算パイプラインと、上記主記憶装置とベクトルレ
    ジスタとの間でデータを転送するパイプラインと
    をそなえたデータ処理システムにおいて、 上記演算パイプラインを使用する演算命令につ
    いて、ベクトルレジスタからのオペランドデータ
    の読み取りタイミングと演算結果をベクトルレジ
    スタに書き込むタイミングとの間隔を可変にして
    上記ベクトルレジスタの各バンクの空き状況から
    当該演算命令の実行可能性を調べ、実行可能であ
    る場合には当該演算命令の発信を許可し、また上
    記演算パイプラインは演算結果の書き込みタイミ
    ングを可変にできる切り換え可能な段数をもつバ
    ツフアをそなえ、当該演算命令について実行可能
    とされた読み切りタイミングでベクトルレジスタ
    からオペランドデータを読み取り、実行可能にさ
    れた書き込みタイミングで演算結果をベクトルレ
    ジスタに書き込むように制御されることを特徴と
    するパイプライン制御方式。
JP4320685A 1985-03-05 1985-03-05 パイプライン制御方式 Granted JPS61202281A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4320685A JPS61202281A (ja) 1985-03-05 1985-03-05 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4320685A JPS61202281A (ja) 1985-03-05 1985-03-05 パイプライン制御方式

Publications (2)

Publication Number Publication Date
JPS61202281A JPS61202281A (ja) 1986-09-08
JPH0479027B2 true JPH0479027B2 (ja) 1992-12-14

Family

ID=12657445

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4320685A Granted JPS61202281A (ja) 1985-03-05 1985-03-05 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JPS61202281A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5727363A (en) * 1980-07-24 1982-02-13 Fujitsu Ltd Vector data processor
JPS5797169A (en) * 1980-12-06 1982-06-16 Fujitsu Ltd Vector data processing device
JPS5797170A (en) * 1980-12-09 1982-06-16 Fujitsu Ltd Control system
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5727363A (en) * 1980-07-24 1982-02-13 Fujitsu Ltd Vector data processor
JPS5797169A (en) * 1980-12-06 1982-06-16 Fujitsu Ltd Vector data processing device
JPS5797170A (en) * 1980-12-09 1982-06-16 Fujitsu Ltd Control system
JPS57155666A (en) * 1981-03-20 1982-09-25 Fujitsu Ltd Instruction controlling system of vector processor

Also Published As

Publication number Publication date
JPS61202281A (ja) 1986-09-08

Similar Documents

Publication Publication Date Title
US4674032A (en) High-performance pipelined stack with over-write protection
US4600986A (en) Pipelined split stack with high performance interleaved decode
CN101925881B (zh) 多处理器系统以及多处理器系统的同步方法
KR900004006B1 (ko) 마이크로 프로세서 시스템
US5677864A (en) Intelligent memory architecture
WO1994003860A1 (en) Massively parallel computer including auxiliary vector processor
US5781763A (en) Independent control of DMA and I/O resources for mixed-endian computing systems
JP2001256105A (ja) 非整列循環アドレス指定を用いるマイクロプロセッサ
JPH0238975B2 (ja)
US5809552A (en) Data processing system, memory access device and method including selecting the number of pipeline stages based on pipeline conditions
US8145804B2 (en) Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor
US6629232B1 (en) Copied register files for data processors having many execution units
JPS6297036A (ja) 計算機システム
CN101727435B (zh) 一种超长指令字处理器
US4811201A (en) Interconnect circuit
JPH0282330A (ja) ムーブアウト・システム
EP0797803B1 (en) Chunk chaining for a vector processor
JPH0479027B2 (ja)
JP2022028579A (ja) 命令取得、解読、実行と論理アドレスとバスネットの回路が有る記憶装置
JPS6055911B2 (ja) 主記憶装置
JPS6122830B2 (ja)
JPS59218558A (ja) 情報処理装置
JPH02211534A (ja) 並列処理装置
JPH0232647B2 (ja)
RU2263951C2 (ru) Способ обработки цифровых данных в запоминающем устройстве и запоминающее устройство для осуществления способа