JPH05342098A - データ処理システムおよび主記憶制御装置 - Google Patents

データ処理システムおよび主記憶制御装置

Info

Publication number
JPH05342098A
JPH05342098A JP15024092A JP15024092A JPH05342098A JP H05342098 A JPH05342098 A JP H05342098A JP 15024092 A JP15024092 A JP 15024092A JP 15024092 A JP15024092 A JP 15024092A JP H05342098 A JPH05342098 A JP H05342098A
Authority
JP
Japan
Prior art keywords
main memory
access
address
data processing
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.)
Granted
Application number
JP15024092A
Other languages
English (en)
Other versions
JP2865483B2 (ja
Inventor
Tsuyoshi Seki
堅 関
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 JP15024092A priority Critical patent/JP2865483B2/ja
Publication of JPH05342098A publication Critical patent/JPH05342098A/ja
Application granted granted Critical
Publication of JP2865483B2 publication Critical patent/JP2865483B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】データ処理ユニット19と主記憶装置18とを,そ
れぞれリピータビリティのある構成としたベクトル計算
機などのデータ処理システムおよび主記憶制御装置に関
し,アドレスが降順のブロックアクセスについても昇順
のブロックアクセスと同様に可能とすることを目的とす
る。 【構成】データ処理ユニット19が複数の主記憶装置18上
における連続アドレスのデータを降順にアクセスする際
に,主記憶制御装置10内でその降順のブロックアクセス
を検出し,アクセス要求アドレスを修飾することによ
り,アクセス要求アドレスを昇順のブロックアクセスに
おけるアクセス要求アドレスに対応するアドレスに変換
する。これにより,各主記憶装置18と各データ処理ユニ
ット19間の降順のブロックアクセスに係るデータ転送を
可能にする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,配列のインデックスの
増分を負にして配列をアクセスするときのベクトル計算
機等の主記憶アクセスを制御するデータ処理システムお
よび主記憶制御装置に関する。
【0002】近年の数値シミュレーションを始めとする
大規模数値計算の要求は,自動ベクトル化付きのコンパ
イラによって裾野が広がりつつあり,使い易いスーパー
コンピュータということで,ますます高い自動ベクトル
化率とスカラ計算機に対する性能向上率を達成できるハ
ードウェアが求められている。数値計算用の高級言語と
してもFORTRAN77やC言語などが採用されるよ
うになり,繰り返し処理の中での繰り返し変数の増分を
マイナスとすることも許されるようになってきた。この
ようなプログラムのベクトル性能の向上が求められてい
る。
【0003】
【従来の技術】従来の複数のデータ処理ユニットを並列
に動かして論理的に1つのデータ処理ユニットのように
使用するベクトル計算機の主記憶アクセス制御方式にお
いては,配列データのアドレスを主記憶上でマイナス方
向に連続してアクセスする場合に,主記憶装置側でのア
ラインの制御がアドレスが昇順の場合と降順の場合とで
異なるため,降順の場合にはブロックアクセスにできな
かった。
【0004】
【発明が解決しようとする課題】したがって,従来技術
では,アドレス発生回路を複数同時に使用して,降順に
連続するアドレスを同時に求めていた。すなわち,連続
アドレスのアクセスであるにもかかわらず,各エレメン
ト毎に主記憶制御装置内のアドレス発生回路と主記憶優
先順位決定回路のアクセスポートを使用することとな
り,それらの数の制限から,データバスがあいていても
主記憶アクセスのリクエストをそれ以上出せないという
問題を生じていた。
【0005】本発明は,複数のデータ処理ユニットを協
働させて,論理的に一つの装置として動作させるモード
を持つベクトル計算機などを備えたシステムにおいて,
配列のインデックスを逆順に連続アクセスする場合にブ
ロックアクセスを可能とすることにより,ベクトルアク
セスの効率を上げることを目的とする。
【0006】
【課題を解決するための手段】図1は本発明の原理構成
図である。図1に示すシステムは,1または複数の主記
憶制御装置10と,複数の主記憶装置(MSU)18−
0,18−1,…と,複数のデータ処理ユニット(DP
U)19−0,19−1を備えている。各主記憶装置1
8と各データ処理ユニット19とは,データバス21を
介して接続されている。
【0007】データ処理ユニット19と主記憶装置18
とは,それぞれリピータビリティのある構成になってお
り,複数のデータ処理ユニット19が論理的に結合され
て,より大きな1つのデータ処理ユニットとして動作可
能になっている。
【0008】主記憶制御装置(MCU)10は,命令制
御部20による指示により,データ処理ユニット19と
主記憶装置18間のデータ転送を制御する。主記憶制御
装置10は,主記憶装置18にアクセスするアドレスを
生成するアドレス発生回路11と,そのアドレス発生回
路11が出力するアクセス・リクエストを受け付け主記
憶装置18へのアクセス競合を管理する主記憶優先順位
決定回路17とを備えている。命令制御部20は,主記
憶制御装置10内にあっても,外部にあってもどちらで
もよい。
【0009】アドレス発生回路11におけるアドレス保
持レジスタ(LAHR)12は,複数の主記憶装置18
にまたがる連続したアドレスのアクセスに対し,その先
頭アドレスを保持するレジスタである。インデックスア
ドレスレジスタ13は,連続したアドレスのアクセス単
位である各データエレメント間の距離に関係する正また
は負の増分値に関する値が設定されるレジスタである。
【0010】加算回路14は,ブロックアクセスのアク
セス単位ごとにアドレス保持レジスタ12の値と,イン
デックスアドレスレジスタ13の値(またはそれを定数
倍した値)とを加算する。その出力は,アドレス保持レ
ジスタ12に再設定される。
【0011】降順ブロックアクセス検出回路15は,イ
ンデックスアドレスレジスタ13の値または命令制御部
20からの命令をデコードした信号により,連続したア
ドレスに対するアクセスの要求が降順であるか否かを検
出する回路である。
【0012】アドレス変換回路16は,降順ブロックア
クセス検出回路15が降順のブロックアクセスであるこ
とを検出した場合に,ブロックアクセス幅に基づいて,
アクセス要求アドレスを昇順のブロックアクセスに対応
するアドレスに変換する回路である。主記憶優先順位決
定回路17は,アドレス発生回路11からのアクセス・
リクエストを受け付け,競合制御を行って,主記憶装置
18へリクエスト信号を送出する。
【0013】アドレス発生回路11内にアドレス変換回
路16を設ける代わりに,アドレス発生回路11から主
記憶優先順位決定回路17へのアクセスリクエストおよ
び各主記憶装置18に対するアクセスリクエストに,降
順ブロックアクセス検出回路15で検出した降順のブロ
ックアクセスであることを示す信号を付加し,主記憶装
置18側で,データの送り先をコントロールするように
してよい。
【0014】
【作用】従来技術では,各主記憶装置18に分散して配
置された連続アドレスのデータを,データ処理ユニット
19へ送る場合,データエレメントに対するアドレスが
昇順の場合には,何ら問題はなかったが,降順の場合に
は,昇順のときと各アドレスのデータの送り先が異なる
ため,複数エレメントを同時に送るブロックアクセスを
実現することはできなかった。
【0015】本発明では,複数のデータ処理ユニット1
9が主記憶装置18上における連続アドレスのデータを
降順にアクセスする際に,主記憶制御装置10内で降順
の連続したアドレスに対するアクセスの要求である降順
のブロックアクセスを検出し,主記憶制御装置10内で
アクセス要求アドレスを修飾することにより,アクセス
要求アドレスを昇順のブロックアクセスにおけるアクセ
ス要求アドレスに対応するアドレスに変換するので,以
後のアクセス処理では,昇順および降順のブロックアク
セスを同様に扱うことができるようになり,昇順だけで
なく降順のブロックアクセスについてもデータ転送が可
能になる。
【0016】また,降順ブロックアクセス検出回路15
で検出した降順のブロックアクセスを,主記憶装置18
に対するアクセスリクエストにより指示するようにして
も,主記憶装置18においてデータの送り先を正しく認
識することができるので,降順ブロックアクセスを実現
することができる。
【0017】
【実施例】図2は,本発明の実施例によるシステム構成
例を示している。図2において,図1と同符号のものは
図1に示すものに対応し,22は図1に示すアドレス発
生回路11を複数持つアドレス発生部,23はアクセス
のパイプライン制御を行うアクセスパイプライン制御
部,24は各主記憶装置18へリクエスト信号を送るた
めのリクエストバス,25−0,25−1はベクトルデ
ータが設定されるベクトルレジスタ,26−0,26−
1はベクトル計算機における演算器を表す。
【0018】図2に示すシステムでは,主記憶装置18
が4つあり,全体で一つの主記憶装置として機能し,ま
た,データ処理ユニット19が2つあり,これが論理的
に一つのデータ処理ユニットとして機能する。この例の
場合,具体的には,データ処理ユニット1つで,一つの
パイプライン当たり4つのエレメントを処理するベクト
ル計算機である。したがって,全体で一つのパイプライ
ン当たり8つのエレメントを並列処理できるベクトル計
算機ということになる。
【0019】データ処理ユニット19と主記憶装置18
との間のデータ転送を司るアクセスパイプライン制御部
23とアクセスパイプラインのアドレス発生部22と
は,主記憶制御装置10内にあり,さらに,このアクセ
スパイプラインは少なくとも2つ以上あり,主記憶制御
装置10から各主記憶装置18に対するリクエストバス
24は,各主記憶装置18に対して2本あり,各主記憶
装置18とデータ処理ユニット19との間のデータバス
21は,8バイトバスが少なくとも2組あるとする。
【0020】また,簡単のため以下では主記憶装置18
からデータ処理ユニット19へデータをロードする場合
を説明するが,データ処理ユニット19から主記憶装置
18へデータをストアする場合も同様で,データの転送
方向のみの問題であることは言うまでもない。
【0021】基本となるデータの幅を8バイトとする
と,一つの主記憶装置(MSU)18当たり8バイトで
インターリーブさせ,4MSUでは32バイトにインタ
ーリーブしている構造になっているものとする。すなわ
ち,各主記憶装置に対し8バイトずつ昇順にアドレスが
振られており,MSU番号を8倍したアドレスから始ま
る8バイトを各主記憶装置は保持していることになる。
【0022】この場合のブロックアクセスとは,8バイ
トデータを8エレメント分一度にアクセスするものであ
るから,主記憶制御装置(MCU)10内では,合計6
4バイトのデータを一つリクエストとして扱う。その一
つのリクエストのアドレスは,64バイト内のどこであ
っても64バイト境界でアクセスするものとすれば,デ
ータ処理ユニットに送られるデータ全体は同じである。
しかし,図2に示すようなシステム構成の場合には,ど
ちらのデータ処理ユニット(DPU0)19−0,(D
PU1)19−1にどのデータを送るべきなのかが,リ
クエストの先頭アドレスによって異なってくる。
【0023】例えば,エレメント0〜3はDPU0で処
理するのでそちらに送り,エレメント4〜7はDPU1
に送る。先頭アドレスの64バイト内のアドレスが16
である場合の昇順ブロックアクセスの例を図3に示して
ある。
【0024】この場合,バイト位置で言うと16〜47
はDPU0に送り,48〜63,0〜15はDPU1に
送る必要がある。(正確にいうならば,バイト0〜15
は,最初のリクエストでは必要のないデータであるが,
2回目以降は必要となるので,制御の統一性から言っ
て,いずれの場合も必要であるとして扱った方が単純で
ある。)このために,各主記憶装置(MSU)に対して
16バイトのリクエストとして8バイト単位のアドレス
を送れば,各主記憶装置(MSU)上で,64バイトブ
ロックを構成する2つの8バイトデータの内どちらをデ
ータ処理ユニットの0に送ればよいのか判断することが
できる。もちろん,この判断を主記憶制御装置(MC
U)側で行って,主記憶装置に対して2つの8バイトリ
クエストを出すこともできる。
【0025】主記憶制御装置(MCU)と各主記憶装置
(MSU)との分担次第で,64バイトブロックアクセ
スをいかに実現するかについては,以上述べたように幾
つかの解があるが,ここでの問題はどちらの装置で判断
するにせよ,MSUがデータの送り先を正しく認識でき
ることである。
【0026】ところで,以上述べた64バイト・ブロッ
クアクセスはエレメント番号に対して昇順のアドレスを
持っていた。しかし,降順の場合で図4に示すように先
頭アドレスがバイト16の位置にある場合は,バイト位
置で言うと0〜23と56〜63をDPU0に送り,2
4〜55をDPU1に送る必要がある。したがって,昇
順の場合と同じ制御を行うと,MSU2のデータ以外は
誤ったデータ処理ユニット(DPU)へと送られてしま
う。そうならないように,なるべく単純な方法でデータ
の行き先を正しく示すことが求められている。
【0027】そこで図3および図4に示すように,アド
レスが降順の64バイト・ブロックアクセスも,単純な
方法で,アドレスが昇順の64バイト・ブロックアクセ
スと同様に処理できるようにする。
【0028】昇順の場合も降順の場合も,各DPUに送
るデータはそれぞれ32バイトずつであり,そのアドレ
スは連続している。この点が重要である。昇順の場合
は,バイト位置16から始まる32バイトがDPU0に
送られるのに対し,降順の場合は,バイト位置56から
始まる32バイトをDPU0に送ればよいわけである。
この変換後のリクエスト・アドレス位置は,16という
先頭アドレス位置に対してブロックの大きさである32
を加え,さらに16から始まる8バイトが自分自身に送
られることを考慮して,この8も加えれば,「16+3
2+8=56」より56と求まるのである。
【0029】この式を一般的に表すと,LAを元の先頭
アドレス,BAWをブロックアクセス幅,DISTをエ
レメント間の距離とし,次のようになる。すなわち,変
換後の先頭アドレスLA’は, LA’=MOD(LA+BAW/2+DIST,BAW) ……〔式1〕 である。ここで,MOD(A,B)は,AをBで割った
ときの整数剰余である。DISTを加えるのは,DIS
Tは一つのエレメントの占めるデータ幅であり,LAか
らLA+DIST−1までのバイト位置はDPU0に送
るべきデータであるからである。さらに,DPU1へ送
るデータの幅を加えればDPU0へ送るデータの先頭ア
ドレスを求めたことになるので,ブロックアクセス幅の
1/2が一つのDPUに送られるデータ幅であることか
ら,BAW/2を加える。MODを取るのは,64バイ
ト境界を越えないようにするためである。
【0030】上記〔式1〕により変換後の先頭アドレス
が求まれば,あとは通常の昇順の64バイト・ブロック
アクセスと同様に,ベクトルアクセスのアドレスを生成
する部分から主記憶制御装置(MCU)にリクエストを
出し,さらにMCUからMSUに対してリクエストを出
す。これによって,64バイト内で必要な32バイト・
データが各DPUに対して送られることになる。
【0031】以上に述べた原理では,データ処理ユニッ
ト(DPU)が2つの場合にしか問題を解決できない。
何故ならば,昇順・降順に関係なく先頭アドレスの示す
ポイントがブロックを2つに分けるポイントを示すよう
にしたのであって,データ処理ユニットが3つ以上ある
ときには,ブロックを3つ以上に分けなければならず,
ブロックが3つ以上のときには,昇順の場合と降順の場
合では,ブロック分けは一致しても,ブロックを要求す
るデータ処理ユニットの番号は,一カ所しか一致しない
からである。
【0032】したがって,アラインを行う主記憶装置
(MSU)側に,アドレスの昇順・降順の区別が伝わら
なければ,双方の場合で的確にアラインして,データ処
理ユニットにデータを転送することはできない。そこ
で,データ処理ユニットが一般に複数の場合には,ベク
トルの命令制御部20またはアドレス発生部22にて,
降順のブロックアクセスを検出した際に,アドレス発生
部22から主記憶優先順位決定回路17に対するアクセ
ス・リクエストと,さらに主記憶装置18に対するアク
セス・リクエストのタグ情報とにブロックアクセスのア
ドレスが降順であることを示すタグ情報を付加すること
により,降順のブロックアクセスを可能とする。もちろ
ん,昇順のブロックアクセスと降順のブロックアクセス
とで主記憶装置18に対するリクエストのオペコードを
変えても同じである。
【0033】図5は,主記憶制御部(MCU)内に設け
られたベクトルアクセス・アドレス発生部と主記憶優先
順位決定回路の概略を表わしている。8エレメントのラ
ンダムアクセスを行うため,8つのアドレス生成用の全
加算器(CPA0〜7)が設けられており,その内の2
つCPA0とCPA1とだけが,ブロックアクセス用の
アドレスを発生できる仕組みになっている。ここで,ア
ドレスは32ビットあり,負のディスタンスは2の補数
表現されているものとする。したがって,これらの全加
算器(CPA0〜7)は,32ビットの加算を行う際
に,ビット0からの桁あふれは無視するものとする。
【0034】アドレス保持レジスタ12(LAHR:Le
ading Address Hold Register )にはベクトル命令制御
部(図2に示す命令制御部20)より送られたベクトル
アクセス命令のオペランドのうちアクセスの先頭アドレ
スが入り,インデックスアドレスレジスタ13(IA
R:Index Address Register)にはディスタンスアクセ
スの場合に,やはりベクトル命令制御部より送られたオ
ペランドのディスタンスが入る。
【0035】そして,ディスタンスが±8であるときに
は,連続データを64バイトでブロックアクセスする。
ディスタンスが+8の場合には,そのままLAHRの内
容と,IARをシフタ50−1,50−2…により3ビ
ットシフトした内容とを加えてリクエストアドレスを発
生する。そのアドレスを次のタイミングでLAHRに取
り込み,順次アドレスを64ずつインクリメントしてブ
ロックアクセスの先頭アドレスを生成して行く。このと
き,図中のアドレス変換回路16−0,16−1は何も
せず,アドレスを素通しさせる。
【0036】ところが,ディスタンスが−8の場合に
は,IARの先に付けられた−8ディスタンスを検出す
る降順ブロックアクセス検出回路15−0,15−1
が,−8ディスタンスを検出するのでアドレス変換回路
16−0,16−1のセレクタが動作して,前述した変
換論理を経てモディファイされたアドレスのほうをリク
エストとして出力する。
【0037】LAHRには毎クロックサイクル,LAH
Rの内容とIARの内容を3ビットシフト(8倍)した
ものが加算されて,再びLAHRに取り込まれるという
動作を繰り返す。すなわち,降順のブロックアクセスの
場合には,LAHRに取り込まれる値は,毎回64デク
リメントされる。
【0038】ここで,注意すべきことは,全加算器(C
PA)の出力からLAHRに戻るアドレスパスには前記
のアドレス変換回路16は入っていない点である。この
ように構成した場合には,一つの−8ディスタンスアク
セスの命令が終わるまで,毎回のリクエスト毎にアドレ
ス変換回路16でアドレス変換を施さなければならな
い。しかし,このように構成する必然性はなく,CPA
の出力の直後にアドレス変換回路16があって,その出
力をLAHRに戻しつつ主記憶優先順位決定回路17に
リクエストしてもよい。その場合には,最初の一回のリ
クエストにだけアドレス変換を施し,2回目以降のリク
エストにはアドレス変換を施さないように制御しなけれ
ばならない。
【0039】また,LAHRにベクトル命令制御部から
アクセスの先頭アドレスが送られてきた時点で一回だけ
アドレス変換を行うという制御でも構わない。その場合
は,もう少し手前のベクトル命令制御部で既に−8ディ
スタンスを検出しておく必要があるだけである。その
他,図5の中で各MSUに対するリクエストバスにリク
エストが乗せられるまでの間ならば,即ちリクエストバ
ス毎にブロックアクセスのリクエストが分解されてしま
う前までならば,どこで変換しても構わない。
【0040】これは,主記憶装置(MSU)側の制御に
よるが,64バイトブロックを4つの主記憶装置に各々
16バイトのブロックでアクセスする場合を考える。こ
の場合,主記憶制御装置(MCU)は各MSUに対して
16バイトアクセスであるというオペコードと8バイト
単位のアドレスとをリクエストとして送る。各MSU
は,この先頭アドレス位置と自分のMSU番号とから,
16バイトブロックの前半8バイトと後半8バイトとを
どちらのデータ処理ユニットに送るかを判断し,データ
をアラインした上で各データ処理ユニットに対して8バ
イトずつ合計16バイトのデータを1リクエストに対し
て送る。
【0041】主記憶装置(MSU)内での16バイトデ
ータをアラインする論理について,図6に従って説明す
る。図6において,60はリクエスト制御部,M0〜M
3は独立にアクセス可能なようにリクエストとデータの
バスがついているメモリモジュールである。メモリモジ
ュールM0〜M3はさらにバンクからなる。
【0042】これらのモジュールに対するアドレス付け
は,4MSU構成であるならば,各モジュールが8バイ
ト幅であるので,M1のアドレスの下位128バイト
が,M0のアドレスの下位128バイトのアドレスより
も32バイト大きいという関係になる。M2,M3も同
様である。また,各MSUは,MSU番号×8バイトの
下位32バイト内のアドレスを持つ。
【0043】ブロックアクセス時,リクエストReq0
は,Data0, Data1に対応させ, リクエストReq1は,
Data2, Data3に対応させる。各MSUの16バイトデ
ータを,8バイトずつUPPER/LOWERに分けて
考える。このとき,LOWER側の8バイトデータをD
PU0側に送る条件は,MSUのID2ビット(MSU_ID
O, MSU_IDI)と,ブロックアクセスの先頭アドレスのビ
ット28,27,26( LA_28, LA_27, LA_26) によ
って決まる。その条件を求めると,図7の(イ),
(ロ)に示すようになる。
【0044】図7の(イ)は,LOWER側のモジュー
ルのデータの行き先を示しており,図中の0・1は行き
先のDPU番号を示している。LOWER側のモジュー
ルとは,偶数モジュールM0,M2を意味する。図7の
(ロ)は,LOWER側のモジュールのデータの行き先
がDPU0であることを示す信号(DPU0_DATA_LOWER
_SEL )を生成する論理を示している。
【0045】したがって,図6の(ロ)に示すような回
路でアラインを行うことにより,各MSUの16バイト
ブロックの所望の8バイトが,それぞれ正しいDPUへ
と送られることとなる。図6の(ロ)において,M0_Da
ta〜M3_Dataは各メモリモジュールM0〜M3の出力デ
ータ,Req0_Address _Bit25 は,リクエストアドレス
の第25ビット,Req0_DPU0_Lower _SEL は,LOW
ER側のモジュールのデータの行き先がDPU0である
ことを示す信号を表す。なお,図6の(ロ)では,説明
を簡単化するため16バイト・ブロックアクセス以下
は,考慮に入れていない。
【0046】主記憶装置(MSU)にブロックアクセス
がアドレスが昇順か降順かを示す情報を送る場合には,
同じ先頭アドレスのブロックアクセスでも,昇順の場合
と降順の場合とで異なるアラインを行う。この場合は,
16バイトブロックアクセスをMCUからMSUに送る
ときに,オペコードに昇順の16バイトブロックアクセ
スと降順の16バイトブロックアクセスとを設ける。そ
して,MSU内のアラインは,昇順の場合には図7の
(ロ)に示す論理に従って行い,降順の場合には,図7
の(ニ)に示す論理に従って行えばよい。
【0047】降順ブロックアクセスの場合のLOWER
側のモジュールのデータの行き先は,図7の(ハ)に示
すようになる。MCU側のリクエストバスを,8バイト
単位で使い,64バイトブロックを8つの8バイトリク
エストに分解する場合,MCU側のリクエストバスをD
PU毎に管理することが可能である。64バイトブロッ
クアクセスを行うためには,図2に示すように少なくと
も8つのMSUリクエストバス24が必要であるから,
MSU0−0をDPU0側のリクエストバスとして,M
SU0−1をDPU1側のリクエストバスとして固定的
に使うことが可能である。そうすれば,MSU0−0に
送出するリクエストのアドレスとMSU0−1に送出す
るリクエストのアドレスを,同じ64バイトブロック内
で32バイトずらすことにより,望みのDPUに望みの
データを送らせることが可能である。
【0048】DPU内でのデータアラインは,図3の
(ハ)および図4の(ハ)から明らかなように,同じブ
ロックアクセスでもアドレスが昇順の場合と降順の場合
とでは異なる。しかし,ここでのアライン方法は,原理
的には従来のブロックアクセス時のアライン方法と同じ
でよい。すなわち,各エレメント毎にブロックの先頭ア
ドレスとディスタンス値より,自エレメントの先頭アド
レス位置を求め,それによりエレメント対応にどこのM
SUバスからデータを取って来るのか示すアラインID
を作成する。このIDに従ってデータを入れ替えればよ
い。この制御方法については既知であるので,これ以上
詳述しない。
【0049】図8は,図1に示すアドレス変換回路16
の例を示している。図8に示す BIT_28〜 BIT_26は,
先頭アドレスのビット28〜26,BIT _P3は,その部
分を含むパリティビットを表す。MODIFIED_BIT _xx
は,アドレス変換後の対応するビットを表している。
【0050】この変換回路の論理は,前述した〔式1〕
に基づいてビット28に対して5を加え,ビット25へ
のキャリーを無視することによって求められる。すなわ
ち,前述の〔式1〕に,BAW=64,DIST=8を
代入すると, LA’=MOD(LA+32+8,64)=MOD(L
A+40,64) となる。アドレスのビット31がバイト位置を示すもの
とすれば,変換後の先頭アドレスLA’は,LAに対し
てビット28に5を加えて,ビット25へのキャリーを
無視したものとなる。64の整数剰余をとることは,ビ
ット26まででラップアラウンドさせるのと同じであ
り,ビット31に40を加えるのは,ビット28に5を
加えるのと等価であるからである。したがって,変換後
のビットは,以下のようになる。次式において, “¬”
は反転値を表す。
【0051】 MODIFIED_BIT _28=¬BIT _28 MODIFIED_BIT _27=¬BIT _27・BIT _28+BIT _27・¬BIT _28 MODIFIED_BIT _26=¬BIT _26・¬BIT _27+¬BIT _26・¬BIT _28 +BIT _26・BIT _27・BIT _28 MODIFIED_BIT _P3=¬BIT _P3・BIT _28・¬BIT _27 +BIT _P3・¬BIT _28+BIT _P3・BIT _27 図9は,図1に示す降順ブロックアクセス検出回路15
の例を示している。
【0052】図9におけるDISTANCE_BIT _0 〜DISTAN
CE_BIT _29は,インデックスアドレスレジスタ13に
格納されるデータエレメント間の距離を示す値の第0ビ
ットから第29ビットを表している。ビット30,31
は無視している。負数は,2の補数表現で表されるの
で,−8を検出するために,“1111……10XX”(Xはド
ントケア)を検出する。すなわち,第29ビットが0,
それより上位のビットがすべて1であるときに,降順の
ブロックアクセスを示す+MINUS _BLOCK 信号を“1”
にする。
【0053】
【発明の効果】以上説明したように,本発明によれば,
アドレスの変換回路と降順のブロックアクセスを検出す
る回路を付け加える,または降順のブロックアクセスを
検出する回路とそれをMSUに対して指示する手段とM
SU内でそれに従ってアラインを変更する手段とを付け
加えるだけで,降順のブロックアクセスの場合も昇順の
ブロックアクセスと同様に制御することが可能となり,
例えばベクトル計算機における降順の連続アドレスのア
クセスで使用するベクトル・アクセス・アドレス発生回
路およびMCUのベクトル・アクセス・ポートが減るた
め,残りのベクトル・アクセス・アドレス発生回路およ
びMCUのベクトル・アクセス・ポートを使用して,同
時に異なるアクセス命令を実行することができるように
なる。したがって,アクセスパイプラインの性能向上に
寄与するところが大きい。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の実施例によるシステム構成例を示す図
である。
【図3】本発明の実施例に係る昇順ブロックアクセスの
説明図である。
【図4】本発明の実施例に係る降順ブロックアクセスの
説明図である。
【図5】本発明の実施例に係る主記憶制御装置の要部構
成図である。
【図6】本発明の実施例に係る主記憶装置でのアライン
説明図である。
【図7】本発明の実施例に係る主記憶装置でのデータの
行き先説明図である。
【図8】本発明の実施例に係るアドレス変換回路の例を
示す図である。
【図9】本発明の実施例に係る降順ブロックアクセス検
出回路の例を示す図である。
【符号の説明】
10 主記憶制御装置 11 アドレス発生回路 12 アドレス保持レジスタ 13 インデックスアドレスレジスタ 14 加算回路 15 降順ブロックアクセス検出回路 16 アドレス変換回路 17 主記憶優先順位決定回路 18−0〜18−3 主記憶装置 19−0,19−1 データ処理ユニット 20 命令制御部 21 データバス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 2つのデータ処理ユニット(19)と,複数
    の主記憶装置(18)と,前記各主記憶装置(18)と前記各デ
    ータ処理ユニット(19)とを各々結ぶデータバス(21)と,
    該データバス(21)を使用して前記主記憶装置(18)と前記
    データ処理ユニット(19)との間でデータ転送を制御する
    1または複数の主記憶制御装置(10)とを有し,前記2つ
    のデータ処理ユニット(19)は,論理的に結合することに
    より,より大きな1つのデータ処理ユニットとして動作
    可能とされたデータ処理システムにおいて,前記2つの
    データ処理ユニット(19)が前記複数の主記憶装置(18)上
    における連続アドレスのデータを降順にアクセスする際
    に,前記主記憶制御装置(10)内で降順の連続したアドレ
    スに対するアクセスの要求である降順のブロックアクセ
    スを検出する手段(15)と,降順のブロックアクセスを検
    出した場合に,前記主記憶制御装置(10)内でアクセス要
    求アドレスを修飾することにより,アクセス要求アドレ
    スを昇順のブロックアクセスにおけるアクセス要求アド
    レスに対応するアドレスに変換する手段(16)とを備え,
    前記各主記憶装置(18)と前記各データ処理ユニット(19)
    間の昇順および降順のブロックアクセスに係るデータ転
    送を可能にしたことを特徴とするデータ処理システム。
  2. 【請求項2】 主記憶装置(18)にアクセスするアドレス
    を生成するアドレス発生回路(11)と,そのアドレス発生
    回路(11)が出力するアクセスリクエストを受け付け主記
    憶装置(18)へのアクセス競合を管理する主記憶優先順位
    決定回路(17)とを備え,複数のデータ処理ユニット(19)
    と複数の主記憶装置(18)との間のデータ転送を制御する
    主記憶制御装置(10)において,複数の主記憶装置(18)に
    またがる連続したアドレスのアクセスに対し,その先頭
    アドレスを保持するアドレス保持レジスタ(12)と,連続
    したアドレスのアクセス単位である各データエレメント
    間の距離に関係する正または負の増分値に関する値が設
    定されるインデックスアドレスレジスタ(13)と,ブロッ
    クアクセスのアクセス単位ごとに前記アドレス保持レジ
    スタ(12)の値を,前記インデックスアドレスレジスタ(1
    3)の値によって更新する加算回路(14)と,前記インデッ
    クスアドレスレジスタ(13)の値または命令をデコードし
    た信号により,連続したアドレスに対するアクセスの要
    求が降順であるか否かを検出する降順ブロックアクセス
    検出回路(15)と,該降順ブロックアクセス検出回路(15)
    が降順のブロックアクセスであることを検出した場合
    に,ブロックアクセス幅に基づいて,アクセス要求アド
    レスを昇順のブロックアクセスに対応するアドレスに変
    換するアドレス変換回路(16)とを備え,昇順および降順
    のブロックアクセスを制御可能としたことを特徴とする
    主記憶制御装置。
  3. 【請求項3】 複数のデータ処理ユニット(19)と,複数
    の主記憶装置(18)と,前記各主記憶装置(18)と前記各デ
    ータ処理ユニット(19)とを各々結ぶデータバス(21)と,
    該データバス(21)を使用して前記主記憶装置(18)と前記
    データ処理ユニット(19)との間でデータ転送を制御する
    1または複数の主記憶制御装置(10)とを備え,該主記憶
    制御装置(10)は,主記憶装置(18)にアクセスするアドレ
    スを生成するアドレス発生回路(11)と,そのアドレス発
    生回路(11)が出力するアクセス・リクエストを受け付け
    主記憶装置(18)へのアクセス競合を管理する主記憶優先
    順位決定回路(17)とを有し,前記複数のデータ処理ユニ
    ット(19)は,論理的に結合することにより,より大きな
    1つのデータ処理ユニットとして動作可能とされたデー
    タ処理システムにおいて,前記複数のデータ処理ユニッ
    ト(19)が前記複数の主記憶装置(18)上における連続アド
    レスのデータを降順にアクセスする際に,前記アドレス
    発生回路(11)内で降順の連続したアドレスに対するアク
    セスの要求である降順のブロックアクセスを検出する手
    段(15)と,降順のブロックアクセスを検出した場合に,
    前記アドレス発生回路(11)から主記憶優先順位決定回路
    (17)へのアクセスリクエストおよび前記各主記憶装置(1
    8)に対するアクセスリクエストに,降順のブロックアク
    セスを指示する手段と,前記各主記憶装置(18)におい
    て,降順のブロックアクセスが指示された場合に,その
    指示にしたがってデータのアラインを変更する手段とを
    備え,前記各主記憶装置(18)と前記各データ処理ユニッ
    ト(19)間の昇順および降順のブロックアクセスに係るデ
    ータ転送を可能にしたことを特徴とするデータ処理シス
    テム。
JP15024092A 1992-06-10 1992-06-10 データ処理システムおよび主記憶制御装置 Expired - Fee Related JP2865483B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15024092A JP2865483B2 (ja) 1992-06-10 1992-06-10 データ処理システムおよび主記憶制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15024092A JP2865483B2 (ja) 1992-06-10 1992-06-10 データ処理システムおよび主記憶制御装置

Publications (2)

Publication Number Publication Date
JPH05342098A true JPH05342098A (ja) 1993-12-24
JP2865483B2 JP2865483B2 (ja) 1999-03-08

Family

ID=15492631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15024092A Expired - Fee Related JP2865483B2 (ja) 1992-06-10 1992-06-10 データ処理システムおよび主記憶制御装置

Country Status (1)

Country Link
JP (1) JP2865483B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017179176A1 (ja) * 2016-04-14 2017-10-19 富士通株式会社 メモリ制御装置およびメモリ制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017179176A1 (ja) * 2016-04-14 2017-10-19 富士通株式会社 メモリ制御装置およびメモリ制御方法
JPWO2017179176A1 (ja) * 2016-04-14 2018-11-22 富士通株式会社 メモリ制御装置およびメモリ制御方法

Also Published As

Publication number Publication date
JP2865483B2 (ja) 1999-03-08

Similar Documents

Publication Publication Date Title
CA1165458A (en) Interface for controlling information transfers between main data processing system units and a central subsystem
US4378591A (en) Memory management unit for developing multiple physical addresses in parallel for use in a cache memory
US4424561A (en) Odd/even bank structure for a cache memory
US5179674A (en) Method and apparatus for predicting valid performance of virtual-address to physical-address translations
US4361868A (en) Device for increasing the length of a logic computer address
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
US3840861A (en) Data processing system having an instruction pipeline for concurrently processing a plurality of instructions
US4323967A (en) Local bus interface for controlling information transfers between units in a central subsystem
US4445172A (en) Data steering logic for the output of a cache memory having an odd/even bank structure
US5347636A (en) Data processor which efficiently accesses main memory and input/output devices
EP0198214A2 (en) Branch control in a three phase pipelined signal processor
JPH0128409B2 (ja)
US4392201A (en) Diagnostic subsystem for a cache memory
JPS59501684A (ja) 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
EP0515165A1 (en) A Memory access device
US4363095A (en) Hit/miss logic for a cache memory
GB2073923A (en) Branching in computer control store
US7366882B2 (en) Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions
US5251321A (en) Binary to binary coded decimal and binary coded decimal to binary conversion in a VLSI central processing unit
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JP4240610B2 (ja) 計算機システム
JP2865483B2 (ja) データ処理システムおよび主記憶制御装置
US6502177B1 (en) Single cycle linear address calculation for relative branch addressing
US5590302A (en) Device for generating structured addresses
US4349874A (en) Buffer system for supply procedure words to a central processor unit

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981201

LAPS Cancellation because of no payment of annual fees