JPS62180470A - ベクトル処理装置 - Google Patents

ベクトル処理装置

Info

Publication number
JPS62180470A
JPS62180470A JP2265086A JP2265086A JPS62180470A JP S62180470 A JPS62180470 A JP S62180470A JP 2265086 A JP2265086 A JP 2265086A JP 2265086 A JP2265086 A JP 2265086A JP S62180470 A JPS62180470 A JP S62180470A
Authority
JP
Japan
Prior art keywords
vector
main memory
register
request
data
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
JP2265086A
Other languages
English (en)
Inventor
Giichi Tanaka
義一 田中
Kyoko Iwazawa
岩澤 京子
Tomoo Aoyama
青山 智夫
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
Hitachi Computer Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Computer Engineering Co 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, Hitachi Computer Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP2265086A priority Critical patent/JPS62180470A/ja
Priority to EP87101404A priority patent/EP0232827A3/en
Publication of JPS62180470A publication Critical patent/JPS62180470A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8061Details on data memory access
    • 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 or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、ベクトル処理装置に関し、詳しくは主記憶装
置を間接アドレスにより参照する場合に。
複数のバンクのうちの同一のバンクに連続的にアクセス
が集中発生して遅延が生じる呪i(以下、バンクコンフ
リクトと呼ぶ)が生じることを防止して、高速処理を可
能にしたベクトル処理装置に関するものである。
〔発明の背景〕 高速に科学技術計算の処理を行わせるため、ブォートラ
ン(FORTRAN)プログラム内のり。
ループ処理の高速化が要求されている。この高速化要求
に応えるため、パイプライン演算器とベクトルレジスタ
を具備したベクトル処理装置が開発された(例えば、米
国特許第412880号明細書参照)。ベクトル処理装
置では、データの集合をベクトルデータとして取扱う。
すなわち、主記憶上のべりトルデータをベクトルレジス
タに読出し、このベクトルレジスタ上に格納された複数
のベクトルデータをパイプライン演算器に移行させ、こ
の演算器をパイプライン制御して演算処理を行い、その
結果をベクトルレジスタに書込む。このようなベクトル
レジスタとパイプライン演算器間の処理を、プログラム
が規定している回数だけ実施し、ベクトルレジスタ上に
求められたRM結果を主記憶上の指定された領域に書込
む。この一連の処理は、逐次的に行われるのではなく、
一般にチェイニング制御と呼ばれるベクトル処理間の並
列化制御により行われる。このチェイニング制御と、ベ
タ1−ルレジスタの読出しおよび書込み時間を短縮する
ために、主記憶を構成する素子よりも高速の素子をベタ
1−ルレジスタに採用することにより、ベクトル処理装
置の性能向上が図られている。
ベクトル処理装置は、主記憶装置から被演算データが連
続的に読出され、パイプライン演算器で処理され、その
結果が主記憶装已へ連続的に書込まれた時に、最大の性
能が発揮される。しかし、ベクトル処理装置では、マシ
ンサイクルを実装系が許す限り短く設計するので、主記
憶装置を構成しているRAM素子のアクセス速度と処理
装置マシンサイクル間に著しい相違が生じる。現在のベ
クトル処理装置では、マシンサイクルと主記憶を構成し
ているRAM1子のアクセス速度の比は、1:10以上
となっている。このため、ベクトル処理装置の処理速度
に主記憶装置が追従できるようにするため、主記憶を多
バンク構成としている。
ベクトル処理装置では、ベクトルデータをチェイニング
;おり御により並列的に処理するために、あるベクトル
要素を主記憶から読出している時、演算処理の完了した
他のベクトル要素を主記憶へ書込む必要がある。これは
、複数の主記憶参照要求が同時に発生し、多バンク構成
の主記憶をアクセスすることを示す。このため複数の主
記憶参照要求間の優先順位の決定、主記憶アクセスのパ
ップ7リング制御を行うために、主記憶制御回路がベク
トル処理装置に具備されている。
主記憶制御回路を介して主記憶を参照する場合。
アクセスが連続的に行えず、間欠的になる場合がある。
例えば、あるアドレス数列[X] がベクトル処理装置
において発生した時、アドレス数列の各要素X工が主記
憶上の同一バンクに存在したとする。このとき、Xよと
いうアクセスは、1つ前のXニー1なるアクセスが完了
するまで発行できないため、[x]数列で示される主記
憶アクセスのピッチは主記憶を構成しているRAM素子
のアクセス速度に等しくなる。この処理ピッチの遅延番
士、主記憶アクセスのみに止まらず、この主記憶アクセ
スが読出しの場合には、チェイニング制御によりパイプ
ライン演算器の処理ピッチを遅らせる。主記憶アクセス
が書込みの場合には、ベタ1−ルデータのストアの遅延
により、ベクトル処理装置の動作の完了が遅れる。この
ような現象、つまりバンクコンフリク1−が発生した場
合、ベクトル処理装置の性能は著しく低下する。
ベクトル処理装置において、バンクコンフリクトが発生
するのは、「アドレス数列【X工1の各要素が同一バン
クまたは比較的少数のバンクに局在する」場合である。
プログラムで上記バンクコンフリクトが発生しやすいの
は、mが主記憶の構成バンク数またはその倍数の時、下
記の例のようにmを用いて配列宣言を行う場合である。
DIMENSION    A (m、n)Do  1
0  I:I、 l1 0   A(K、I)=・・・・・上 記のフォートラン文は「2次元配列A(m行×n列)の
に行目の1列、2列、・・・N列つまりA(K、1)、
A(K、2)、、、A(K、11.)に順次右辺の計算
結果を書込むこと」を意味する。
この時、フォートラン文の規定により上記の配列参照列
の主記憶上のアドレス差はrnワードとなるため、同一
バンクにアクセスが集中することになる。しかし、この
型のバンクコンフリクトは、配列宣言文ををA (m+
 1 、 n)のように定義し直すことにより、容易に
回避することができる。
また1次のプログラム中は、間接アドレッシングを用い
た場合の例である。
Do 100  I:1.N 100      A、(丁 )=:B(L  I  
5T(I))  +・・・・上記のプログラムでは、配
列Bのアクセスが配列LIST内のデータにより決定さ
れる間接アドレッシングとなっている。この場合には、
配列LISTが近接した要素で同一の値を持つ場合に、
バンクコンフリクトが生じる可能性がある。配列内のデ
ータで他の配列をアクセスする場合は、疎な大次元行列
を用いる解法、例えば有限要素法等において頻繁に出現
する。しかし、このような解法の場合には、アドレス数
列要求間に重複は殆んどなく、従ってバンクコンフリク
トの発生も極めて低い確率である。
このように、現実のプログラムでは、バンクコンフリク
トの発生は頻度が少ないか、または発生しても容易に回
避できるので、従来のベクトル処理装置では、主記憶制
御回路にパンクコンブリフト解消のための論理回路を付
加していない。
ところで、ベクトル処理装置では、ベクトル長くベクト
ルデータの要素数)が長いほど処理性能が向上する。こ
れは、主記憶を多バンク構成であっても、ベクトルの第
1要素がベクトルレジスタに書き込まれるまで、演算が
開始できないためである。このオーバーヘッドは、ベク
トル長によらず同一である。仮に、主記憶から第1ベク
トル要素がベクトルレジスタに読出されるまでの時間を
yとし、処理ベクトル長をQとし、パイプライン演算器
の処理ピッチをZとすると、チェイニング動作時のパイ
プライン演算器の性能は。
に低下する。現在のベクトル処理装置では、yの値は5
0〜100である。従って、処理ベタ1ヘル長Qが短い
(y>z−R)場合、ベクトル処理装置の性能低下は無
視できない。
処理ベクトル長が短い場合、処理ベクトルは、多重ルー
プ構造の形でプログラム中に出現することが多い。工学
的によく用いられる偏微分方程式の解法として知られる
有限要素法等では、離散化する際の要素剛性7トリクス
の作成において、例えば、 3X3 (X3)  ・・・・・・・・・・・ (2)
等の小さい行列演算を行うことが多い。従って、帯幅を
DO制御変数にとり、プログラムをコーディングすると
、多重ループでかつ最内側ループのベクトル長が3のよ
うなコードとなる。このコードをそのままベクトル処理
装置で実行すると、極めて低い処理速度しか得られない
。従来、このような場合には、U30ループの順序を逆
転したり、またはリストベクトルと呼ばれる方法、つま
り目的配列要素をポイントする配列をプログラムコード
中に専スし、処理ベクトル長を長くする方法が用いられ
ている。しかし、このようなツブ!・ウエア的な手法を
用いると、プログラムコードが複雑化し、物理的意味と
1対1の対応がとれていた変数等が、変換操作により1
対1の対応がくずれて、極めて読み難いプログラムコー
ドとなる。このため、プログラム保守上、重大な支障を
来たす場合が起り得る。このような不利益な面を減少さ
せるため、プログラムコードの変換をコンパイラ側で行
う手法が開発されている。例えば、 Do  100  J=1.M DO1001==1.N 100  A (I、J)=B (1)+C(J)なる
2重ループを。
Do  200  IJ=1.N1M 2O0A(LIST(IJ)、LIST2(IJ))=
B(L I 5T(I J))+C(LI 5T2(I
 J))のように2個次のDoループ構造に変換する。
上記のようなりoループ構造変換によりベクトル長は長
くなり、ベクトル処理の起動に伴うオーバーヘッドタイ
ムによる性能の低下が防止できる。
一方、上記の例で配列Cの引用は、要素番号で示すとつ
まりL I 5T2(I J)の値は、1,1.・・・
1,2,2.  ・・・2.・・・・となり、著しいバ
ンクコンフリクトを発生する。このため、D○ループ構
造変換の効果は、無視し得る程度に減少する。D○ルー
プ構造変換で、バンクコンフリクト発生を抑止するため
には、旧Do制御変数工。
Jについて乱雑な順序になるように新しいDo制御変数
IJを対応させる。すなわち、IJ=1゜2.3.4・
・・に対応して、I=1,2,3゜4・・・J=1.2
,3.  ・・のように制御変数I、Jの構成する2次
元空間([IJ、[J])内を斜めにスキャンする。し
かし、この方法は、゛DOループの構造変換処理が大、
1を模で適用範囲が限定されるという問題がある。コン
パイラによるDOループ構造変換操作の適用範囲を拡大
するため。
制御変数I、Jの構成する2次元空間は、■=1゜2.
3.4・・・、J==1.1.1・・・のように、言語
の規定に従ってスキャンする方が適用範囲が広い。この
ような背景の下に、リストベクトルをmいて多重Doル
ープの複雑な空間をポイントしても、バンクコンフリク
トを発生しないような主記憶制御回路をベクトル処理装
置に具備する必要性が高くなってきた。
〔発明の目的〕
本発明の目的は、このような問題を解決し、ベクトルレ
ジスタの本数、リソース数、主記憶の構成バンク数を自
由に設計でき、かつ自由度を保持したまま間接アドレス
を用いるベクトルロードおよびストア処理で、バンクコ
ンフリクトを起す場合を除去することにより、性能低下
を防止できるベクトル処理装置を提供することにある。
〔発明の概要〕
上記目的を達成するため、本発明のベクトル処理装置は
、複数個のバンクを有する主記憶装置と、複数個のベク
トルレジスタと、そのベクトルレジスタから主記憶装置
までの間の転送を行う複数のメモリ・リクエスタと、そ
のベクトルレジスタから受取ったベクトルデータに対し
てベクトル演算を行い、演算結果をベクトルレジスタに
送出する複数のベクトル演算器を具備して、ベクトル命
令を処理するベクトル処理装置において、上記メモリ・
リクエスタ内に主記憶参照要求を格納するスタックを設
けるとともに、主記憶装置の記憶制御回路内に主記憶参
照要求に対するベクトル要素間の主記憶上のアドレスを
比較する比較回路を設け、ベクトルロード時に、比較回
路による比較の結果、アドレスが一致した場合には、主
記憶制御回路内で後出の主記憶参照要求をダミーリクエ
ストとして処理し、またベクトルストア時に、アドレス
が一致した場合には、メモリ・リクエスタ内で前出の主
記憶参照要求を消去することに特徴がある。
さらに、主記憶装置のn個のバンクと、m個のベクトル
レジスタと、0個のメモリ・リクエスタと、0個のベク
トル演算器とを、任意の組合せに決定することにも特徴
がある。
〔発明の実施例〕
以下、本発明の実施例を、図面により詳細に説明する。
第1図は、本発明の一実施例を示すベクトル処理装置の
ブロック図である。第1図において、lはベクトル処理
装置実行制御回路、2はべクトルレジスタ制御回路、3
はベクトルレジスタ、4,5はスイッチング回路、6は
メモリリクエスタ(ロード)、7は同じくメモリリクエ
スタ (ストア)、8はデータ送出制御回路、9は主記
憶制御回路、10は主記憶装置、11は後置主記憶制御
回路である。
本実施例においては、記憶制御回路9.11内にリクエ
ストアドレスの比較回路を具備し、隣接するベクトル要
素間の主記憶上のアドレスを比較して、アドレスが一致
した場合には、無効となる主記憶アクセスをキャンセル
する論理部を追加することにより、多重D○ループ構造
をより低次のDOループ構造に変換する際に派生するバ
ンクコンフリクトを起す主記憶参照要求を高速に処理す
る。これを、ベクトルロードの場合とベクトルストアの
場合とに分けて説明する。
ベクトルロードの場合、主記憶参照に必要なアドレス計
算を行う論理回路の次段にリクエストアドレスの比較回
路を設置する。この比較回路でアドレスが一致した場合
には、主記憶制御回路9内で、後出のリクエストをダミ
ーリクエストとして処理する。すなわち、後出のリクエ
ストアドレスを乱数発生器の出力と排他的論理和をとり
、隣り合ったリクエスト間でバンクの競合が起らないよ
うにする。また、各リフニスl−にはタグを付加し、そ
のリクエストがダミーリクエストであるか否かを明示し
て、主記憶装置10に送出する。主記憶袋r1210で
は、タグの有無にかかわらず、各バンクよりデータを読
出し、タグとともに主記憶制御回路9に送出する。主記
憶制御回路9では、主記憶装置10から読出されたデー
タをワークレジスタにセットする。この時、タグがダミ
ーリクエストを示している時、ワークレジスタを構成し
ているラッチのセット信号を抑止する。この抑止により
、主記憶装置10から読出されたデータはワークレジス
タにセットされずに消失し、ワークレジスタ上には直前
の有効なリクエストに対応するデータが残る。主記憶制
御回路9は、ワークレジスタ上のデータを、主記憶装置
10から送出されているデータのバリッド信号の有無に
従ってベクトルレジスタに送出する。しかし、他の方法
として。
メモリリクエストをキャンセルする方法が考えられる。
ベクトルロード処理では、主記憶から読出したデータを
ベクi・ル要素順にベクトルレジスタに格納する処理が
必要となるため、メモリリクエストをキャンセルすると
、そのキャンセルしたことを示す情報を主記憶装置10
を介して主記憶の読出し口の主記憶制御回路9まで、デ
ータの読出しと同期をとって伝搬させなければならない
。従って、本実施例では、ベタ1−ルロード処理で、メ
モリリクエストをキャンセルする方法は、ハードウェア
量の増大を招くという理由から採用していない。
次に、ベクトルストア処理の場合、リクエストアドレス
の比較を行うことは、ベクトルストア処理の場合と同じ
であるが、ロードの場合と異なり、後出のストアリクエ
ストが有効になるように、前出のリクエストをキャンセ
ルする。ベクトルストア処理では、主記憶上へベクトル
データを格納するだけであるから、メモリリクエストを
キャンセルする論理構成を採用することができる。
ベクトル処理装置の詳細動作を説明する前に、論理回路
の処理動作がどの論理回路群に対して行われるかを明確
にしておく。
ベクトル処理装置は、一般に次の(、)〜(C)の論理
回路群に分類される。(a)ベクトルレジスタを対象に
処理を行う論理回路群、(b)パイプライン演算器、メ
モリ・リクエスタ等のベクトルデータを処理するリソー
スを対象に処理を行う論理回路群、(c)主記憶袋[1
0内の多バンクt1成の記憶素子群にアクセスするボー
トを対象に処理を行う論理回路群、である。
各論理回路群の構成要素間では、異なる論理回路群間で
直接に信号伝達やデータ交換を行うことはできず、必ず
スイッチング回路4,5を介して。
伝Wi信号およびデー夕の変換が必要である。第1図に
おいて、破線で表示した境界は、上記の論理回路群の境
界面を示している。第1図において、(A)はベクトル
レジスタ、リソースを管理するベクトル処理装置実行制
御回路1を含む。この空間(論理回路群が占める空間)
内では、2つの論理回路群が密接に相互に作用する。例
えば、〆り1−ルレジスタの状態、すなわち空き状態ま
たはチェイニング状態、単純書き込み状態、単純読出し
状態等の情報とリソースの状態、すなわちビジーか否か
等の状態から、命令が実行できるか否かの「結果」が生
成される。この空間へは、ベクトルレジスタ、リソース
の状態を示す情報は、直接入力することができる。すな
わち、2つの相異なる空間から変換作用を介さずに、情
報を授受できるとい・う意味で、(A)空間はベクトル
レジスタとりソームから構成される2空間の合成空間と
いうことができる。
第1図において、(I3)はベクトルレジスタを対象に
処理を行うFa運四回路ら構成されるベクトルレジスタ
空間である。ベクトルレジスタ制御回路2、ベクトルレ
ジスタ(ここでは、複数のレジスタを簡単化のために、
lブロックで図示している)3、ベクトルレジスタとリ
ソースの空間の情報媒介のためのスイッチング回路4,
5がCB)空間、つまりベクトルレジスタ空間に含まれ
る。
第1図において、(C)は、リソースを対象に処理を行
う論理回路から構成されるリソース空間である。ロード
・リクエスタ6、ストア・リクエスタ7、データ送出制
御回路(ロード・リクエスト後処理回路)8がリソース
空間に含まれる。なお、本発明の目的は、ベクトル計算
処理の高速化ではないので、図示?J略化のため、パイ
プライン演算器は、第1図から省略されている。
第1図において、(D)は、ボートを対象に処理を行う
論理回路から構成されるボート空間である。
リソース・ボート変換を行う主記憶制御回路9、主記憶
装置10.後置上記憶制御回路11から構成されている
。主記憶装置10は、Bo−B3の4個のバンクから構
成されるものとする。なお、第1図では、簡略化のため
に4バンクに限定したもので、特に4バンクという数に
は意味がない。
このように、ベクトル処理装置が数種類の「空間jに分
けられている理由は、限られたパッケージ。
プラッタを使用して最大限のベクトルレジスタ、パイプ
ライン演算器、多数のバンクを実装するためである。
次に、第1図により、間接アドレッシング処理により、
主記憶をアクセスする場合の動作を説明する。間接アド
レスのロード処理の場合、ベクトル処理装置実行制御回
路1は命令を解読し、命令のオペランドに規定されてい
る主記憶アクセス時のアドレス情報が格納されているベ
クトルレジスタ番号、主記憶から読出されたデータを書
き込むベクトルレジスタ番号等の情報を、パス20を介
してベクトルレジスタ制御回路2へ転送する。ベタ1−
ルレジスタ制御回路2では、パス20を通して送信され
た情報から、ベクトルレジスタ3の中のアドレスデータ
の格納されているレジスタとメモリ・リクエスタ6との
間でデータの授受が行えるように、スイッチング回路5
にパスの結合を行えるようにパス21を介して情報を送
る。同時に、主記憶から読出したデータをタグ情報によ
り有効か否かを判定するデータ送出制御回路8と、ベク
トルレジスタ3の中のデータ書込みが行われるレジスタ
とのデータバスの接続を行うための情報を、パス22を
通してスイッチング回路4に送る。各スイッチング回路
4,5では、それぞれパス22゜21を介して送られた
パス結合のための情報を用いて、必要なパス間の接続を
行う。
メモリ・リクエスタ6は2間接アドレッシングを用いる
ベクトルロード命令起動時に、制御情報すなわちベクト
ルレジスタ3から読出されたアドレス情報の処理手順、
アドレスのソースであるベクトルレジスタ番号等を、ベ
クトル処理装置実行制御回路1からパス23を介して受
取る。これらの制御情報とパス24を経由してベクトル
レジスタ3から送られてくるアドレスから、主記憶をア
クセスするアドレスを合成して、パス25を介して当該
アドレスを主記憶制御回路9に送出する。
主記憶制御回路9は、メモリ・リクエスタ6、から送出
されたアドレスより、主記憶10のどのバンクをアクセ
スするかを決定する。この時、アクセスすべきバンクが
、直前のメモリ・リクエストにより占有されている場合
、当該メモリ・リクエストが完了されるまで後出のリク
エストをスタック上に保留する。このスタックは、メモ
リ・リクエスタ対応または主記憶装置のバンク、すなわ
ち、ボー1一対応に持つことができる。上記2つの方式
には、それぞれ長所欠点がある。すなわち、現在の〆り
トル処理装置では、メモリ・リクエスタの数はバンクの
数より(セ端に少ないので、スタックは、メモリ・リク
エスタ対応に具備した方がハードウェアが少なくなる。
また、メモリ・リクエスタ対応にスタックを持つと、必
然的にベクトル要素類に主記憶参照要求を主記憶装置1
0に対して発行することになるので、ベクトルレジスタ
3にベクトル要素類に読出したデータを書込む制御機構
が不要となる。その反面、メモリ・リクエスタG内のス
タックには、ベクトル要素類に主記憶参照要求の待ち行
列が生成されるので、複数のメモリ・リクエスタ6が同
時に主記憶参照要求を発行した場合、複数の主記憶参照
要求間に競合が起る。
例えば、ある瞬間Aなるメモリ・リクエスタからAよと
いう主記憶参照要求が発行され、この参照要求がBなる
メモリ・リクエスタから発行された主記憶参照要求B、
とコンフリクトを起したと仮定する。ここで、’+Jと
いう添字は、ベクトル要素に対応している。異メモリ・
リクエスト間のコンフリクトにより、必ずいずれかの主
記憶参照要求はRAM素子のサイクルタイムだけ待たさ
れることになる。ここでは、Aよという主記憶参照要求
が待たされたとする。メモリ・リクエスタ対応にスタッ
クを持つということは、A工が待たされると、Ai+1
y・Ai+2+  ・・・・なる主記憶参照要求も待た
されるということを意味している5A141等の主記憶
参照要求は、BJという主記憶参照要求とバンクコンフ
リクトを起すとは限らないため、A工、l、Aよや2.
・・・・はメモリ・リクエスタ対応のスタック中で、不
当に待たされていることになる。このような接散メモリ
・リクエストに原因があるバンクコンフリクトは、前述
のポート対応のスタックでは生じない。
ポート対応のスタックでは、ハードウェア量が増大し、
かつベクトル要素の順序性を保証するために余分な制御
論理を必要とするが、主記憶を参照する速度は速くなる
という利点がある。しかし、現在のベクトル処理装置を
構成している実装系の能力(容量)から、主記憶参照要
求のためのスタックは、メモリ・リクエスタ対応に具備
する方式が採用されている。
バス26は、主記憶制御回路9により、メモリ・リクエ
スタからの主記憶参照要求がバンクビジーのため受付け
られなかったことを示す抑止信号を伝達する。この信号
により主記憶参照要求は、メモリ・リクエスタ6内のス
タックに留まり、抑止信号が主記憶制御回路9から送出
されなくなった時、再びスタックから主記憶参照要求が
取り出される。メモリ・リクエスタ6内のスタックの段
数をkとすると、命令が起動される際にベクトルレジス
タ制御回路2は、k要素分のベタ1−ルレジスタ読出し
を行う。k+1要素以降のベクトルレジスタ読出しは、
チェイニング制御論理の許容するベクトル要素まで、メ
モリ・リクエスタのスタックから主記憶参照要求が主記
憶制御回路9へ送出されたことを示す信号を、リクエス
タ対応からレジスタ対応に変換した信号により制御する
。上記の信号変換はメモリ・リクエスタ6によって行わ
れ、信号の伝搬は、パス27を介して行われる。
メモリ・リクエスタ対応の主記憶参照要求は、主記憶制
御回路9によりバンク対応に変換され。
アにレスの示すバンクをアクセスした後、後置上記憶制
御回路11により再びメモリ・リクエスタ対応の読出し
データに変換される。この変換を容易ならしめるために
、主記憶制御回M9によりメモリ・リクエスタ対応から
バンク対応に変換する際に、主記憶参照要求にタグを付
加させ、タグによりどのメモリ・リクエスタから発生し
た参照要求かを識別する。このとき、メモリ・リクエス
タ対応に主記憶参照要求のスタックを具備しているので
、ベクトルの要素類に主記憶をアクセスすることになり
、主記憶参照要求のタグにアクセス類、保障のための特
別な情報を付随させる必要がない。
後置上記憶制御回路11によりメモリ・リクエスタ対応
に変換された読出しデータは、デ〜り送出制御回路8に
よりデータが有効な主記憶参照要求によるものか否かの
判定が行われて、パス28を通ってスイッチング回路4
に送られる。スイッチング回路4では、命令により規定
されたベクトルレジスタ3に主記憶から読出したデータ
を書込むことができるように、メモリ・リクエスタ対応
からベクトルレジスタ対応のデータに変換する。
以上の動作が、間接アドレッシングを用いたベクトルロ
ード処理の概要である0間接アドレッシング時のベクト
ルストア処理の場合、ベクトルロード処理と多くの部分
は共通であるが、次の点が異なる。(イ)後直主記憶制
御回路11以降のベクトルデータを、主記憶装置IOか
ら読出した後の処理が不要である。(ロ)ベクトルスト
ア処理を行うメモリ・リクエスタを7とすると、このリ
クエスタ内で間接アドレッシングが直前のベクトル要素
と同一のアドレスとなる場合、直前の主記憶参照要求を
キャンセルできる。(ハ)主記憶制御回路9において、
メモリ・リクエスタ対応の主記憶参照要求から主記憶の
バンク対応の参照要求に変換する際、ストアデータのメ
モリ・リクエスタをタグ比より識別する必要がない。た
だし、メモリ・リクエスタにストア要求が受付けられた
ことを示す信号は、パス29を介して送られる。(ニ)
ベクトルレジスタ制御回路2において、ストアデータと
間接アドレスを生成するためのアドレスデータを同期さ
せて、ベクトルレジスタ3から読出せるように制御する
必要がある。
以上が、間接アドレスによるベクトルロード/ストア処
理の動作概要である。以下、第2図〜第8図により、各
々の処理と各論理回路の動作を詳述する。
第2図は、第1図におけるベクトルロード命令を処理す
るメモリ・リクエスタのブロック図である。第2図のメ
モリ・リクエスタ6では、第1図と共通の論理回路には
同一の番号が付けられている。ベクトルレジスタ3から
読出された間接アドレスデータは、当該データの有効性
を示すバリッド信号とともに同期してパス50.51上
に送出される。間接アドレスデータは、バリッド信号が
パl′″の時にレジスタ30にセットされる。次のベク
トル要素の間接アドレスデータがパス51上に送出され
ると2 レジスタ30上のデータはレジスタ31に移行
し、パス51上のデータはレジスタ30上に格納される
。このようにレジスタ30上のデータは、ベクトル要素
X、や1に対応し、レジスタ31上のデータはベクトル
要素X、に対応する間接アドレスデータである。
レジスタ30.31の出力は、比較回路32でチェック
され、両レジスタ30.31の出力が等した時、111
 )Hがレジスタ33にセットされ、等しくない時、0
”がセットされる。ここで、レジスタ33の初期値はI
I OIIである。比較回路32の結果がレジスタ33
にセットされる時、間接アドレスデータはセレクタ37
を通ってレジスタ34にセットされる。同時に、間接ア
ドレスデータのバリッドもレジスタ35にセットされる
。レジスタ36は1間接アドレッシングが有効か否かを
示すタグ情報を保持するが、このタグもレジスタ34の
セットタイミンクに同期してセットされる。ここでは、
間接アドレスのデータの有効無効をそれぞれ′1′″ 
It Q IIで示し、レジスタ33の内容が″0″の
時、セレクタ38は1”側の入力を選択しているものと
する。
論理回路39は、M系列(M aximum −1en
(thlinear  feedback  5hif
t  regiSter  5equence)の擬似
乱数発生器である。この擬似乱数発生器は。
各ビット対応に乱数列を発生するが、ビット対応に位相
をずらして設計することにより、全ビットが6°O″′
となる場合を除去することができる。乱数発生器39と
間接アドレスのデータは、排他的論理和回路40により
排他的論理和がとられ、その結果がパス52上に送出さ
れる。
ここで、M系列について簡単な説明する。次の線型再帰
系列を考える。
al =)11 ai −1+h2 ai −2+” 
” ’+hn a 4−n(mo d 2) ただし、h、1(j=1’、2.−n−1)=0または
1゜hn=t、i≧nである。この線型再帰系列は、第
3図に示す論理回路により発生することができる。第3
図において、100はレジスタ、101はセレクタ、1
02は排他的論理和回路である。
線型再帰系列の係数りが0のとき、セレクタ101は″
b 出力を接続する。第3図の論理回路は、初期状態で全レ
ジスタの内容が全てri Oytでない限り、最大20
−1周期の0/1パターンを出力する。nの数に対応し
て、最大周期を与える係数り、が既に求められている。
この係数を用いて線形再帰系列論理回路から生成される
数列がM系列である。従って、M系列の乱数発生器を複
数台並列に設置し、各々の位相をずらせることにより、
全ビット1101gとなる数を発生しないように乱数発
生器を設計することができる。
再び、第2図の間接アドレッシングの場合のメモリ・リ
クエスタの処理動作を説明する。レジスタ33にベクト
ル要素X、、Xi、lに対応するアドレスが一致したこ
とを示す値゛1″がセットされると、パス53を介して
セレクタ37はパス52側を選択し、M系列の乱数とレ
ジスタ31上の値の排他的論理演算の結果をレジスタ3
4にセラ・トする。同時に、セレクタ38は値“′O1
′をレジスタ36にセットし、主記憶参照要求が無効で
あることを指示するタグを生成する。タグの生成に関し
ては、複数のメモリ・リクエスタが具備されるベクトル
処理装置では、主記憶参照要求がロードであるか、また
はストアであるかを区別する情報もタグに付加させる必
要がある。しかし、メモリ・リクエスタをロード/スト
ア専用とすると、上記情報は主記憶制御装置で生成して
もよい。本実施例では、ロード/ストアの区別を主記憶
制御装置側で行うが、メモリ・リクエスタをロード/ス
トア兼用に設計する場合には、メモリ・リクエスタ側で
生成する必要がある。
レジスタ35は、バリッド信号とデータ信号のタイミン
グ合せのために設けられている。パス54上に送出され
たバリッド信号は、カウンタ41に作成して内部状態を
+1する。このカウンタ41の内部状態は、サイクリッ
クに変化する。カウンタ41の出力は、スイッチング回
路42に作用し、パス55をパス56のいずれかに接続
する。
レジスタ群43は、メモリ・リクエスタ対応に設けられ
たスタックである。図を簡略化するために、レジスタ4
3にアドレスとタグが保持されているものとし、タグの
部分を斜線部で示す。ベクトルレジスタからのアドレス
データはこのレジスタ43で示されるスタック分しか送
出されないように、ベクトルレジスタ制御回路(第1図
参照)2が制御するため、メモリ・リクエスタ側では。
アドレスデータがスタックオーバーフローを起さないか
否かを制御しない。スタック上に格納されたアドレスデ
ータとタグは、次のタイミングでスイッチング回路44
を通ってパス57上に送出される。このパス57は、第
1図の主記憶制御回路9に入力される。
主記憶制御回路9で主記憶参照要求が受付けられると、
パス26を経由して受信を意味する信号が送られてくる
。この信号は、カウンタ45をカウントアツプする。カ
ウンタ45も、サイクリックに内部状態が変化する。こ
のカウンタ45の出力は、パス58を経てスイッチング
回路44のスイッチ動作を制御する。
パス26を通って送出されている信号は、メモリ・リク
エスタとベクトルレジスタの空間を変換するスイッチン
グ回路46に入力され、当該メモリ・リクエスタのアド
レスソースとなっているベクトルレジスタに、主記憶参
照要求が主記憶制御装置に送出され、ベクトルレジスタ
3から次のベクトル要素に対応するアドレス要素を読出
せるようになったことを報告する。この情報が送出され
るパスが、パス59である。このパス26→59を経由
する制御により、カウンタ41と45の間で追抜きが起
らないように制御する論理が不要になる。パス60は、
メモリ・リクエスタがどのベクトルレジスタをアドレス
ソースとしているかを示す情報をメモリ・リクエスタ起
動時にセラ1へするパスである。
第4図は、第1図における主記憶制御回路のブロック図
である。主記憶制御回路9では、主記憶参照要求がロー
ドであるかストアであるかのタグを生成する。また、第
4図では、ロード/ストアψ2つのメモリ・リクエスタ
からの入力を処理す′”るように、論理が構成されてい
るが、これは説明を簡単にするために2個のりクエスタ
に限定したもので、これ以上でも差支えない。主記憶制
御回路9に入力される信号線のうち、パス110.11
1はロード処理を行うメモリ・リクエスタからの入力を
示し、パス112,113がストア処理を行うメモリ・
リクエスタからの入力バスとする。
ストア側の入力は、アドレス、タグの他にストアデータ
があるが、主記憶制御回路9内で、ストアデータは主記
憶制御回路9の制御に関与せず、タグと全く同じように
処理され、当該制御回路内を通過するので、第4図から
はストアデータに関する論理部分を省略する。
第4図において、メモリ・リクエスタからのアドレス出
力は、ロードの場合はパス110を、またストアの場合
はパス112をそれぞれ通り、レジスタ7°0,72に
セットされる。タグもまたそれぞれパス111,113
を通ってレジスタ71゜73にセットされる。パス11
4は、主記憶装置からの主記憶参照要求の処理が完了し
たことを報告するパスである。主記憶は、複数のバンク
により構成されているので、パス114も複数の信号線
に分かれている。バス114上の信号は、セレクタ83
によりその主記憶参照要求が発行されたバンクに対応す
る情報のみが選択され、バス115上に送出される。こ
の選択作用により主記憶制御回路9のマシンサイクルと
主記憶袋@10を構成しているRAM素子のサイクルタ
イムの相違を補正している。
ここで、主記憶装置l〇八へ照要求を発行できる条件を
考察する。主記憶装置10は、多バンク構成であり、各
バンクはマシンサイクルよりも遅いサイクルタイムで動
作している。このため、どのバンクが主記憶参照要求を
処理しているかという状態を、主記憶制御装置で管理す
る必要があるにのためには、主記憶制御回路9内に主記
憶装置10に送出されたアドレスのコピーをスタック内
に保持しておく必要がある。このスタックを、第4図で
は、点線で囲んだレジスタ群74,75゜76で示した
。第4図では、図面の簡略化のために、スタックを3段
にしているが、これはベクトル処理装置の主記憶装置の
バンク数だけ必要である。この主記憶参照要求のアドレ
スデータの主記憶のバンクを決めるフィールド部分12
7,128は、各リクエスタからのアドレス情報と比較
回路77で比較される。ここでは、アドレスの一致がと
られた場合、比較回路の出力にII 17′が、不一致
となった場合、比較回路の出力にl Ol″が、それぞ
れ出力されるものとする。比較回路77の出力は、パス
116,117上に送り出され、OR回w178.79
に入力される。OR回路78 、79の出力が111 
Itの時には、主記憶装置10内の参照要求と、メモリ
・リクエスタから送出された主記憶参照要求が、同一バ
ンクを指示するので、メモリ・リクエスタから発行され
た後出の主記憶参照要求は主記憶装置10に発行するこ
とができない。
同じ理由でOR回路78,79の出力が逆信号のときに
はCII OIIのとき)、主記憶参照要求を発行でき
ることを示すが、この場合、複数のメモリ・リクエスタ
をソースとする複数の主記憶参照要求が同時に発行可能
となることが起り得る。この時には、いずれか一方の主
記憶参照要求を均等に選択するため、1ビツトの乱数発
生器80の出力をそれぞれ排反になるようにして、パス
118,119上に送出し、当該信号値とのANDによ
り主記憶参照要求を選択する。OR回路78.79乱数
発生器80の出力側には、排反信号を送出するために、
3個のインバータ81が接続されている。
なお、1ビツトの乱数発生器は、第3図に示すようなM
系列の乱数発生器でよい。排反信号は、AND回路82
に入力される。これらのAND回路82は、主記憶参照
要求の発行可否条件を生成するものである。このAND
回路82にパス115が入力されている理由は、実装的
および経済的制限から主記憶装置i10のバンクの数が
、ベクトル処理装置のマシンサイクルと主記憶のサイク
ルタイム比以上にとれない場合、主記憶のバンクが空い
て、次の主記憶参照要求が受付可能になるためのタイミ
ング合せを行うためである。従って、AND回路82の
出力、つまりパス120,121上の信号は、主記憶装
置へ参照要求を発行できる条件が成立したことを示すと
同時に、メモリ・リクエスタから次の主記憶参照要求を
主記憶制御回路9に発行してよい条件を示している。従
って、パス120は、第1図、第2図のパス26と等価
であり、同じくパス121はパス29と等価である。パ
ス120,121上の信号は、メモリ・リクエスタに送
られると同時に、エンコーダ84にも入力され、ここで
複数のメモリ・リクエスタのどの主記憶参照要求を選択
するかを決定するための信号が合成される。このエンコ
ーダ84の出力は、パス122上に送出され、セレクタ
85,86.87に作用する。セレクタ85は、パス1
23.124のいずれかを選択し、複数のメモリ・リク
エスタから発行された主記憶参照要求のアドレスを選択
して、レジスタ88にセットする。セレクタ86は、上
記主記憶参照要求に付随するパス125,126上のタ
グ情報を選択してレジスタ89にセットする。パス12
7,128上のデータは、主記憶参照要求のアドレス部
のうち、主記憶のバンクを決定するフィールドが引用さ
れている。セレクタ87は、このフィールド情報を選択
してレジスタ90にセットする。レジスタ88゜89.
90のセット条件は、AND回路82の出力をOR回路
93により論理和をとることにより行われる。レジスタ
90の情報は、スイッチング回路91に作用して、アド
レスとタグ情報を主記憶装置の各バンクに送出させる。
レジスタ90上のデータは、次のタイミングにはパス1
29を通ってレジスタ74にセットされる。レジスタ7
4にセットされたデータは、1マシンサイクルごとにレ
ジスタ75→76と移行し、パス131を介して、セレ
クタ83を作動させる。パス131は、後置上記憶制御
回路9にも接続される。一方、パス122上のメモリ・
リクエスタを選択するための情報は、セレクタ92に作
用し、リクエスタソースの主記憶参照要求がロードかス
トアかを識別する1種のタグ情報をパス130上に生成
する。
類のタグ情報は、AND回路204で論理積がとられ、
有効なストア処理の場合にだけII 1 #lとなる、
RA M素子のライトイネーブル信号が生成され、−レ
ベル変換器205を介してRAM″i子206のWE端
子に入力される。主記憶参照要求のストアデータ、アド
レスもレベル変換器205を介して、RAM素子206
のり、IN、ADR端子に入力される。一方、データの
有効無効を示すタグと、ロードストアのタグの反転信号
がAND回路208で論理積がとられる。このAND回
路208の出力は、主記憶参照が有効なロードである場
合に限りII I 11となる。ここで、207は、イ
ンバータである。
第4図の主記憶制御回路9からパス131上に送出され
てきた情報は、後置上記憶制御回路11の入口で、どの
主記憶袋に10のバンクからのデータを受取ることがで
きるかを示している。パス131と155間に設置され
ているレジスタ209.210は、ベクトル処理装置の
マシンサイクルと主記憶装置10のサイクルタイムとの
比と主記憶袋@10の構成バンク数との補正をとるため
に存在する。
RAM素子206のり、OUT端子カらの出力は、レベ
ル変換器214により信号のレベルが変換され、レジス
タ215に格納される。このRAM読出しは遅いため、
ディレィさせるためのレジスタ群216が設けられてい
る。主記憶装置10の各バンクからの出力パス157,
158,159上の信号は、それぞれ当該指示信号が有
効か否かを示すオーダ信号、メモリ・リクエスタからの
ロード要求が発行されているか否かを指示するコマンド
信号、読出データ信号である。上記の3種類の(8号は
、パス155上の信号によりそれぞれスイッチング回路
213,212,211で主記憶装置10のバンクに関
する論理の空間からリソースに関する空間で使用できる
信号に変換される。
そのため、パス160,161は、各々メモリ・リクエ
スタに対して供給される。第5図では、パス160に対
して添字a、b、cが付加されているが、これらは各々
オーダ、コマンド、データ信号を識別するものである。
パス160a、b上の信号は、AND回路21.4で論
理積がとられ、レジスタ215のセット信号が生成され
る。すなわち、パス160a、b上の信号が共に111
11で、ベクトルロード命令の主記憶参照要求が有効で
あるとき、主記憶から読出されたデータをレジスタ21
5にセットする。しかし、パス160a上のオーダ信号
がII O71であり、ダミーリクエストの時には、セ
ット信号は生成されず、従って主記憶から読出されたデ
ータもレジスタ215にセットされない。この場合、レ
ジスタ215上のデータは、直前のベクトル要素に対応
するデータが保存される。レジスタ216は、タイミン
グ合せのために設けられている。レジスタ215,21
6の出力は、それぞれパス163゜162を介して第1
図のスイッチング回路4に送られる。
次に、間接アドレッシングの場合のストア・リクエスタ
の処理動作を、第6図により説明する。
第6図において、第1図に示されるスイッチング回路5
から、ベクトルストア命令のオペランドに記述されてい
るベクトルレジスタによる間接アドレスデータ(”以下
、インデクスと呼ぶ)と、ストアデータが、パス250
,251上に送出され、同時にこれらのデータのバリッ
ド信号がパス252に送出される。インデクスデータは
、一旦レジスタ300にセットされ、次のタイミングで
レジスタ301に移行する。この時、次のベクトル要素
のインデクスは、レジスタ300にセットされる。イン
デクスのレジスタセットに同期して、バリッドもレジス
タ302,303にセットされ、ストアデータもレジス
タ304.305にセットされる。比較回路30Gは、
レジスタ300と301上のインデクスデータの比較を
行う。この結果、一致がとられると、パス253上に′
1″を送出する。パス253上の信号は、インバータ3
07で逆転され、AND回路308に入力される。
この結果、AND回路308の出力は、隣合ったストア
すべきベクトル要素間でインデクスの一致があるとき、
前要素に対応するインデクスのバリッドが抑止されるこ
とになる。AND回路308の出力は、カウンタ309
の値を+1増加させる。
このカウンタ309は、ベクトルストア命令起動時に、
1101+に初期化されているとする。このカラ、/ ンタ309の値は、ストアすべきベクトル要素間でイン
デクスの一致がある場合、更新されない。
当該カウンタ309は、インデクスの不一致が検出され
たときに更新されるサイクリックカウンタである。比較
回路306の出力はインバータ316で反転され、レジ
スタ300と301にセットされているインデクスデー
タが不一致となった場合、次のタイミングでインデクス
データをレジスタ301から310に移行させる際のセ
ット信1号として用いる。同じく、ストアデータのレジ
スタ間移行に関して、比較回路306の反転した出力が
レジスタ311のセット信号として用いられる。
カウンタ309の出力は、スイッチング回路312.3
13に作用し、レジスタ310,311上のインデクス
、ストアデータを、カウンタ値の示すスタック314,
315内のレジスタに移行する。
以上のインデクスデータのレジスタ300からスタック
314への移行を明確にするために、第7図により詳述
する。第7図は、レジスタの番号とそのレジスタに格納
されているインデクス値の対応を、時間を横軸に表示し
たものである。ただし、スタック314に関しては、レ
ジスタと区別するために、Oで番号を囲み、インデクス
値の代りにスタック内の何番目のレジスタにインデクス
値が格納されるかを示す。第7図において、tlのタイ
ミングでレジスタ300と301の内容が比較され5レ
ジスタ310のセット信号が生成される。この場合、イ
ンデクスの値は異なっているので、次のt2のタイミン
グでレジスタ301の値はレジスタ310にセットされ
る。タイミングt2では、レジスタ300と301の比
較を行うが、この場合には、インデクス値が一致してい
るので、セット信号は生成されず、レジスタ310の値
は不変である。一方、11でレジスタ300と301と
を比較した結果は、バリッド信号とANDがとられて、
第6図のカウンタ309の値を+1する。このカウント
アツプ時間は、レジスタ310のセット時間と同じt2
である。次のt3では、こ1のカウンタ値を用いてセレ
クタ312によりスタック314内のカウンタ値に対応
するレジスタにインデクス値がセットされる。ストアデ
ータもまた。インデクスデータに対する処理と全く同じ
ような処理が行われる。これらの動作により同一インデ
クス値の場合、後出のストアデータが有効なデータとし
て取り出される。第7図で、同一インデクス値間に斜線
が描かれているのは、パイプライン動作を強調する意味
である。
一方、カウンタ309に作用したバリッド信号は、パス
255を介してディレィのためのレジスタ319を通っ
てスイッチング回路320を介してレジスタ321,3
22のセット信号となる。
ストア処理のためメモリ・リクエスタが起動された時、
リクエスタ起動時のリセット動作により、パス256と
257がスイッチング回路320により接続されている
とする。また、カウンタ323の出力は、初期状態のと
き+1とする。
レジスタ321,322の値は、パス257のバリッド
信号と同期してパス258,259上に送出される。パ
ス256上の信号は、レジスタ3)24に1゛され・z
″′tzyx“324 (717L力11ノスイツチン
グ回路320に作用し、最初のバリッド信号がパス25
7上に送出された後、パス260と257を接続する。
なお、レジスタ324の初期状態は、II O11であ
る。パス260には、主記憶制御回路(第4図参照)で
主記憶参照要求が受付けられた時に、II 111が送
出される。この信号により2番口以降のべりトル要素の
バリッド信号を生成する。一方、パス257上に送出さ
れたバリッド信号は、カウンタ323を+1カウントア
ツプする。このカウンタ323は、サイクルカウンタで
ある。カウンタ323の出力は、パス262を介してス
イッチング回路317,318に作用し、次のバリッド
に対して選択すべきスタック314.315内のレジス
タ番号を指示する。
カウンタ309と323間の相互関係は、ベクトルレジ
スタ制御回路と主記憶制御回路により管理されており5
相互関係を調べる論理回路を具備する必要がない点は、
第2図に示したロード処理を行うメモリ・リクエスタと
同じである。
パス260上の信号は、第2図のロード・リクエスタの
スイッチング回路4 Gと同等の作用を行う。すなわち
、主記憶制御回路で処理したリソース対応の(8号を、
レジスタ対応の信号に変換する。
スイッチング回路325の出力パス261は、インデク
スデータ、ス1へ7データが格納されている2つのベク
トルレジスタを管理するベクトルレジスタ制御回路に送
出される。パス263は、メモリ・リクエスタ起動時に
、どのベクトルレジスタソースのインデクスおよびスト
アデータを使用するかを示す情報が送られてくるパスで
ある。
第8図は、ベクトルレジスタ制御回路の動作説明図であ
る。ベクトルレジスタ制御回路の数多くの制御のうち、
本実施例に関係する読出しデータのバリッド生成機構に
ついて述べる。ベタ1−ルレジスタ制御回路が起動され
ると、カウンタ350の内容がリセットされる。次に、
バリッドジェネレータ351を起動し、マシンサイクル
ごとにバリッド信号をパス400上に送出させる。なお
、バリッドジェネレータ351は、タイミングジェネレ
ータと同じように、水晶発振圏でよい。またはタイミン
グパルスから合成してもよい。パス400上に送出され
たバリッド信号は、カウンタ350に作用し、カウンタ
値を+1する。カウンタ350の出力は、比較回路35
2により、レジスタ353の内容と比較が行われる。こ
のレジスタ353の値は、主記憶制御装置のリフニスI
・ス・タックの段数(第2図の43.茅G図の314,
315参照)−に等しい。 、 比較回路352で−・致がとられると、パス1101上
に1″′が送出される。この信号は、セレクタ354に
作用し、パス1100とパス402の接続(初期状態)
をリリバス403とパス402を接続する。パス403
は、主記憶制御回路で処理が行われたことを意味するf
a号が伝搬する。このスイッチング作用により、ベクト
ルレジスタの読出し要求が発生してから始めのaベクト
ルロードは強制的にバリッドが生成さJL、  Q +
 ]要素以降は、主記憶制御回路の処理状況ににリバリ
ノドが生成さ71シる。このようなベクトルレジスタを
介する制御イヲ行うことにより、メモリ・リクエスタで
のスタック管理制御を簡単化することができるどともに
、メモリ・リクエスタ内のスタックの段数を有効に用い
ることができる。
バス402上に送出されたバリッド信号は、バス402
dを通ってベクトルレジスタ制御回路のRA M i了
読出しのためのアドレス計算回路に入力される。ベクト
ルレジスタ制御回路のアドレス計算部は、本実施例で言
及している主記憶制御方式とは関係のない部分であるた
め、説明を省略する。レジスタ355は、ベクトルレジ
スタ読出しのためのアドレス計算笠の処理を71うバリ
ッドを遅延させるために設けられている。バス1104
は、バリッドをメモリ・リクエスタへ伝搬させるために
設けられている。
ベクトルレジスタhiチェイニング動作を行っている時
、RAMの読出しアドレスは書込みアドレスを追い抜い
てはならない。この制限はRAM読出しアドレス生成時
にRAMp込カアドレスと比較を行い、−・致した場合
の信号をバス405を介して、バリッドジェネレータ3
51に入力し、その入力(コ)によりバリッド生成を一
時的に抑止すればよい。
〔発明の効果〕
以上説明したように、本発明によれば、ベクトル処理″
jA首において、ベクj・ルレジスタの本数。
リソース数、主記憶の構成バンク数を自由に設計間接ア
ドレッシングを用いるベクトルロードおよびストア処理
で、最も性能低下の顕著なバンクコンブリフ!・を起す
場合を除去することができる。
従って1間接アドレッシングを用いる主記憶参照でバン
クコンブリフj−が軽減される結果、多重DOループの
低次元変換がDO制御変数の動く領域を乱雑化すること
なく行うことができる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すベクトル処理装置の概
略ブロック図、第2図は第1図のロード・リクエスタの
ブロック図、第3図はM系列の数列発生器のブロック図
、第4図は上記憶制御回路のブロック図、第5図は上記
憶構成バンク、後直主記憶制御回路のブロック図、第6
図はストア・リクエスタのブロック図、第7図はインデ
クスデータのレジスタからスタックへの移行を説明する
図。 第8図はベクトルレジスタ制御回路のブロック図である
。 1:ベクトル処]’!l装置実行制御回路、2:ベクト
ルレジスタ制御回路23:ベクトルレジスタ、4.5ニ
スイツチング回路、6:メモリ・リクエスタ (ロード
)、7:メモリ・リクエスタ (ストア)、8:データ
送出制御回路、9:主記憶制御回路、11:後置上記憶
制御回−18、lO:主記憶°y21在、32,77.
306.3’:、2:比較回路。 39、ao:M系列乱!2光生)11や、41,45,
300.3237サイクルカウンタ、/12.4・1゜
4G+ 83+ 9]、21 +、212,213+ 
312.313,317,318,320,325゜3
54;スイッチング回路、84:エンコーダ。 82.204,208.214 :AND回路、205
.214ニレベル変換器、20E3:RAM、351:
バリッドジェネレータ、350:カウンタ。 特許出願人 株式会旺日立製作所(ばか1名)代理人弁
理士磯村雅歳、’j、:’a’/・;゛・・°:、  
パ −′ 第     1     図 第     2     図 第     3     図 第     7     図 第     4     図 第5図 第     6     図 塁 第     8     図 手続補正書(自発) w1416嘔] Os 22 a 7□+6t(、t  特  許  1 □22G50 
  *2、発明の名称 ベクトル処理装口 3、 補正をする者 事件との関係 特許出願人 4、代理人 第4図では、パス130は、レジスタ89内のタグ情報
に付加されるものとして図示した。 第5図は、第1図における主記憶装置10.後置上記憶
制御回路1】、データ送出回路8のブロック図である。 第5図において、主記憶装置10のバンクは、点線の枠
内にBLと記した部分である。B、部内の論理は、添字
iに依存しない。第4図で示した主記憶制御回路9より
主記憶のバンク対応に主記憶参照要求のストアデータ、
アドレスデータ、参照要求の有効無効を示すタグ、参照
要求の存在を示すバリッド信号が、それぞれパス150
〜154上に送出されてくるものとする。 主記憶参照要求がロードの場合、ストアデータは無意味
なデータである。これらのデータ、タグ。 バリッドは、レジスタ200〜203に格納される。

Claims (3)

    【特許請求の範囲】
  1. (1)複数個のバンクを有する主記憶装置と、複数個の
    ベクトルレジスタと、該ベクトルレジスタと主記憶装置
    の間のデータ転送を行う複数のメモリ・リクエスタと、
    該ベクトルレジスタから受取ったベクトルデータに対し
    てベクトル演算処理を行い、演算結果を該ベクトルレジ
    スタに送出する複数のベクトル演算器を具備して、ベク
    トル命令を処理するベクトル処理装置において、上記メ
    モリ・リクエスタ内に主記憶参照要求を格納するスタッ
    クを設けるとともに、主記憶装置の記憶制御回路内に上
    記主記憶参照要求に対するベクトル要素間の主記憶上の
    アドレスを比較する比較回路を設け、ベクトルロード時
    に、上記比較回路による比較の結果、アドレスが一致し
    た場合には、主記憶制御回路内で後出の主記憶参照要求
    をダミーリクエストとして処理し、またベクトルストア
    時に、アドレスが一致した場合には、上記メモリ・リク
    エスタ内で前出の主記憶参照要求を消去することを特徴
    とするベクトル処理装置。
  2. (2)上記主記憶装置をn個のバンクにより構成し、上
    記ベクトルレジスタをm個、メモリ・リクエスタとベク
    トル演算器をl個それぞれ具備し(n≠m≠n)、上記
    3種類の資源に対して3種類のブロック構造を持つ論理
    回路群を設け、iブロック目からj(≠1)ブロック目
    に信号を転送する際に、スイッチング回路により変換処
    理を行って、上記n、m、lの組合せを任意に決定する
    ことを特徴とする特許請求の範囲第1項記載のベクトル
    処理装置。
  3. (3)上記ベクトルロード処理の場合、アドレスが一致
    した後出の主記憶参照要求をダミーリクエストと見なす
    ため、主記憶参照要求にリクエストの有効無効を示すタ
    グを付加し、かつ無効リクエストの場合、アドレスを乱
    数により置換することにより隣接するベクトル要素間で
    バンクコンフリクトが発生しないような主記憶参照要求
    列に変形し、当該タグ上に保持される情報を用いて、主
    記憶装置内の各バンクを構成するRAMを読出したデー
    タを、ベクトルレジスタに書込む処理を行う制御回路内
    に設置したレジスタを構成するラッチ回路のセット信号
    とし、当該セット信号を制御する制御回路により有効な
    主記憶参照要求に対してバンクから読出されたベクトル
    データのみをベクトルレジスタに格納することを特徴と
    する特許請求の範囲第1項記載のベクトル処理装置。
JP2265086A 1986-02-04 1986-02-04 ベクトル処理装置 Pending JPS62180470A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2265086A JPS62180470A (ja) 1986-02-04 1986-02-04 ベクトル処理装置
EP87101404A EP0232827A3 (en) 1986-02-04 1987-02-03 Vector processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2265086A JPS62180470A (ja) 1986-02-04 1986-02-04 ベクトル処理装置

Publications (1)

Publication Number Publication Date
JPS62180470A true JPS62180470A (ja) 1987-08-07

Family

ID=12088722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2265086A Pending JPS62180470A (ja) 1986-02-04 1986-02-04 ベクトル処理装置

Country Status (2)

Country Link
EP (1) EP0232827A3 (ja)
JP (1) JPS62180470A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2531760B2 (ja) * 1988-10-11 1996-09-04 日本電気株式会社 ベクトル処理装置
JP2674809B2 (ja) * 1988-11-07 1997-11-12 日本電気株式会社 情報処理装置
JP2718254B2 (ja) * 1990-10-02 1998-02-25 日本電気株式会社 ベクトル処理装置
JPH07141327A (ja) * 1993-04-13 1995-06-02 Nec Corp ベクトル処理装置
US10261786B2 (en) * 2017-03-09 2019-04-16 Google Llc Vector processing unit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3449724A (en) * 1966-09-12 1969-06-10 Ibm Control system for interleave memory
JPS58134365A (ja) * 1982-02-03 1983-08-10 Hitachi Ltd ベクトル処理装置
JPS59136859A (ja) * 1983-01-27 1984-08-06 Nec Corp バツフア制御装置
JPS6015771A (ja) * 1983-07-08 1985-01-26 Hitachi Ltd ベクトルプロセッサ
JPS6069746A (ja) * 1983-09-26 1985-04-20 Fujitsu Ltd ベクトル・デ−タ処理装置の制御方式
JPS62115571A (ja) * 1985-11-15 1987-05-27 Fujitsu Ltd ベクトルアクセス制御方式

Also Published As

Publication number Publication date
EP0232827A3 (en) 1989-11-29
EP0232827A2 (en) 1987-08-19

Similar Documents

Publication Publication Date Title
US4945479A (en) Tightly coupled scientific processing system
EP0712076B1 (en) System for distributed multiprocessor communication
US4943912A (en) Parallel processor system having control processor and array control apparatus for selectively activating different processors
US5142638A (en) Apparatus for sharing memory in a multiprocessor system
US4964035A (en) Vector processor capable of high-speed access to processing results from scalar processor
JPH04502824A (ja) コンピュータの先を見越した命令発行方法および装置
US4956800A (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JP2008181551A (ja) ベクトルレジスタを備えたコンピュータにおけるベクトルテールゲーティング
WO1992007335A1 (en) A scalable parallel vector computer system
JPH05508495A (ja) 多重プロセッサ用大域レジスタ
GB2133595A (en) Vector processor
CN114564424B (zh) 仲裁器及电子装置
US5202970A (en) Method for sharing memory in a multiprocessor system
JPS60136875A (ja) ベクトル演算器
JPS62180470A (ja) ベクトル処理装置
JP3789937B2 (ja) ベクトルプロセッサのためのチャンク連鎖
JP3808525B2 (ja) ライト及び/もしくはリードアクセス優先順位管理装置
US5506980A (en) Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory
JPS5941215B2 (ja) 主記憶装置書込み制御方式
JP3996355B2 (ja) マルチプロセッサシステム
Seznec et al. Synchronizing processors through memory requests in a tightly coupled multiprocessor
JP2000112912A (ja) 分散メモリ型並列計算機におけるリモートメモリに対するテストアンドコピーの処理方式
SU1315989A1 (ru) Параллельный процессор
JPH02222047A (ja) メモリ制御装置
JPH01173165A (ja) ベクトルデータ処理装置