JPS61202246A - メモリアクセス制御方式 - Google Patents

メモリアクセス制御方式

Info

Publication number
JPS61202246A
JPS61202246A JP4320585A JP4320585A JPS61202246A JP S61202246 A JPS61202246 A JP S61202246A JP 4320585 A JP4320585 A JP 4320585A JP 4320585 A JP4320585 A JP 4320585A JP S61202246 A JPS61202246 A JP S61202246A
Authority
JP
Japan
Prior art keywords
access
ports
port
circuit
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
JP4320585A
Other languages
English (en)
Other versions
JPH0350298B2 (ja
Inventor
Shoji Nakatani
中谷 彰二
Nobuyuki Sugiura
杉浦 信行
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 JP4320585A priority Critical patent/JPS61202246A/ja
Publication of JPS61202246A publication Critical patent/JPS61202246A/ja
Publication of JPH0350298B2 publication Critical patent/JPH0350298B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 複数のアクセス・ポートをもつデータ処理装置において
、ディスタンス付き(アドレスの値が等差数列をなして
いる場合)のメモリアクセスをする命令に対して、使用
するアクセス・ポートの数を制限し、空いたボートを用
いて他のアクセス命令の並列実行を可能にする。
〔産業上の利用分野〕
本発明は、データ処理装置のアクセス制御方式に関する
ものであり゛、特に複数のアクセス・ポートをもつバン
ク構成のメモリシステムに対するアクセス制御方式に関
する。
〔従来の技術〕
科学計算用ベクトル計算機などでは、アクセス命令等を
実行する際に、主記憶装置と演算処理部との間で同時に
複数のデータを高速に転送しなければならない場合があ
る。
データ・アクセスの高速化のためには、一般に主記憶装
置を多数のバンクに分割しておき、主記憶装置と演算処
理部との間に複数のデータ・バスを設け、各バスにバン
クを割り当てることによって並列アクセスを行なう方法
が取られている。
このような機構で複数のアクセス命令を並列に実行する
場合、データのアドレスを指定するためのアクセス・ポ
ートも多数必要となる。しかし、ポートへのアドレス発
生部のハードウェア量は比較的大きいため、アクセス・
ポートの数はあまり多くすることができない。
したがって、現在、ベクトル・データのランダム・アク
セス(ベクトル・データの各エレメントのアドレスが連
続していない場合)などの、アクセス・ポートを多く必
要とするアクセスでは、1つのアクセス命令ですべての
アクセス・ポートを占有してしまい、他のアクセス命令
を並列に実行することができないということが起る。
その上、このようなランダム・アクセスでは、主記憶の
バンク・コンフリクト(バンクに対するアクセス競合)
などのためにアクセスのスルーブツトが低い場合が多い
ので、アクセス命令処理時間の増加、つまりは処理速度
の低下に大きな要因を作り出している。
第2図は、科学計算用ベクトル計算機の1例の概要を示
すものである。
第2図において、21は主記憶装置、21−0ないし2
1−3はその4つのバンク#Oないし#3.22はメモ
リ・コントロール・ユニット、23は演算処理部、24
および25はデータ・バス、26はアドレス発生部、2
7はアクセス・ポート、A−Dはそれぞれのポートを表
わしている。
ランダム・アクセス命令を実行する場合、アドレス発生
部26によって、ベクトルの複数のエレメント(図示の
例では4個)の主記憶上のアドレスを発生させ、アクセ
ス・ポート27のA−Dボートを通して、メモリ・コン
トロール・ユニット22ヘアクセス要求を出す。
メモリ・コントロール・ユニット22は、アクセスのプ
ライオリティをチェックしてから、主記憶装置21ヘア
クセスする。
主記憶装置21は、複数のバンク#Oないし#3(21
−0ないし2l−3)に分割されており、各バンクには
、ベクトル・データがインクリーブされた形で格納され
ている。
主記憶装置21の各バンクにアドレスが設定された後、
各バンクと演算処理部23との間でデータのやりとりが
データ・バス24および25を通して行なわれる。
第3図は、第2図におけるアドレス発生部26の従来例
の構成を示したものである。
第3図において、31ないし34はそれぞれアクセス・
ポート27のA−Dポートに対するアドレス発生回路で
あり、35は制御回路である。
各ポートのアドレス発生回路は同じ構成をもち、Aボー
トアドレス発生回路31゛内に示されるように、レジス
タ36.37と、シフタ38と、加算器39と、ラッチ
40とで構成されている。
ここでSを先頭アドレス、dをエレメント・アドレス間
の距離(等差数列の公差t;相当する、以後、ディスタ
ンスという)として、アドレス発生部26の1つの機能
として、ランダム・アクセスの1種のディスタンス(公
差)・アクセス、つまりn、番目(n、=0.1.21
.、、、)にアクセスすべきエレメントのアドレスがS
+n、dで表わされるようなベクトル・データのアクセ
スを行なうときの、アドレスの発生方法について説明す
る。
まず、AないしDの各ポートのアドレス発生回路に設け
られているレジスタ36.37に先頭アドレスSとディ
スタンスdとをセットする。
このセントされたデータを元に、制御回路35からの制
御信号により、n回目(n=0.1.2、°・・)にデ
ータ・アクセスを要求する夕、イミングに、A−Dポー
トへ、それぞれ、アドレスa+4nd、a+ (4n+
l)d、a+ (4n+2)d、a+(4n+3)dを
出力するように各加算器39、シフタ38を制御する。
A−Dポートへ送出されたアドレスは、メモリ・コント
ロール・ユニット22へ出力サレル。
このように、従来の方式では、ディスタンス・アクセス
の場合、1つのアクセス命令によって4ポートすべてを
使ってアクセス要求を出すようなしくみになっている。
しかし、ランダム・アクセスの場合、主記憶バンクへの
アクセスの競合(バンク・コンフリクト)が起ることに
より、アクセス・ポートが要求したデータを一度には全
部得られない場合がある。
つまり、主記憶装置におけるロード・ストアのスループ
ットが低く、これに対して、使用しているアクセス・ポ
ートの数の方が過剰になるわけである。
たとえば、第4図の具体例で説明すると、S=φ、d=
2であるようなディスタンス・アクセスを実行するにあ
たって、A−Dポートからの1回目のアクセス要求は、
それぞれ、φ、2.4.6の各アドレスに対して行なわ
れる。すなわち、A〜Dボートは、それぞれバンク#φ
、バンク#2、バンク#φ、バンク#2に対して同時に
アクセス要求を出す。
AポートとCポート、BポートとDポートはそれぞれ同
じバンクに対してアクセスを要求するのであるが、1つ
のバンクは同時に2つ以上のアクセス要求をを受は入れ
ることができないので、バンク・コンフリクトとなり、
この場合には、Aポートのアクセス要求とBポートのア
クセス要求が受は入れられるが、C,Dボートのアクセ
ス要求は受は入れられない。
したがって、C,Dポートからのアクセス要求は無駄に
なる。このとき(d=2のとき)のアクセスでは、4つ
のボートすべてが必要なわけではなく、2つのボートが
あれば十分であることがわかる。そして、余った2つの
ボートを使って別のアクセス命令を実行すれば、より高
いスループットが得られるはずであるが、従来のシステ
ムでは、そのようなことが可能なしくみにはなっていな
い。
〔発明が解決しようとする問題点〕
以上説明したように、従来のシステムでは、■アクセス
・ポートの数が限られているため、複数のランダム・ア
クセス命令を並列に実行することによって高速化を図る
ことができない。
■一方、スループットが低いランダム・アクセス命令の
場合、実行の際に必要以上の数のアクセス・ポートを占
有してしまい、アクセス・ポートを無駄に使用している
という問題があった。
〔問題点を解決するための手段〕
本発明は、上記した問題点を解決するため、ディスタン
ス・アクセス命令を実行する際に、等差数列をなすアド
レスの値の公差すなわちディスタンスdの値に依存して
最適なポート数を割り当て、余ったボートを別のアクセ
ス命令に振り向けられるようにするものである。
〔作用〕
本発明によれば、ランダム・アクセス命令実行時にアク
セスが生じないバンクに対する分を除いた必要な数だけ
のアクセス・ポートのみが占有されるため、アクセス命
令の並行化が可能となり、メモリアクセスの効率が向上
する。
〔実施例〕
第1図は、本発明の1実施例におけるアドレス発生部の
構成を示したものである。
第1図において、工ないし4はそれぞれAボートないし
Dポートに対するアドレス発生回路、5はポート数判定
回路、6はポート選択回路、7はA−B!1)御回路、
8はA−BボートBUSYフラグ、9はC−D制御回路
、10はC−DボートBUSYフラグを表わしている。
Aポートアドレス発生回路1ないしDポートアドレス発
生回路4は、第3図に示されている従来例の回路31な
いし34と同じ機能をもつものである。しかし、第1同
の例では、A−Dの4つのボートを2ブロンクに分けて
、A−Bブロック、C−Dブロックとし、各ブロックに
1つずつの制御回路(A −B制御回路7とC−D制御
回路9)を割り当てた構成をとっている。
このように、本実施例によるアドレス発生部では、複数
の制御回路(7,9)を設けて各制御回路が別々のボー
ト・アドレス発生回路(1,2と3.4)を制御するよ
うにし、さらに加えて、最適なポート数を判定するポー
ト数判定回路5と、その判定結果に基づいて使用するボ
ートを選択するボート選択回路6とを設けている。
図示されていないCPUの命令制御部からアクセス命令
が発信されると、判定回路5がディスタンスdの値の下
位nビット(n=1.2、・・・・・・、ただし図示の
例ではn=2)を入力して、その値に基づいて最適なポ
ート数iを判定し、結果をポート選択回路6とA−B制
御回路7およびC−D制御回路9とに送る。
次に、ポート選択回路6が、ポート数判定回路5の出力
とボートが使用可能かどうか(他の命令がそのボートを
使っていないかどうか)を表わす信号(BUSYフラグ
8.10)により、使用するi個のボートを選択して、
各制御回路7.9にアクセス起動信号を送る。
各制御回路7.9は、アクセス起動信号を受けた後、使
用ポート数に合わせて、順次アドレスを発生するように
、割り当てられたボートのアドレス発生回路を制御する
このように、各制御回路7.9を独立に作動させること
によって、複数のアクセス命令を並列に実行させること
ができる。
第5図に示すように、主記憶装置からCPUへのデータ
・バスの数が4個の場合の、ディスタンスdの値と最適
なアクセス・ポート数との間の対応関係を次に説明する
主記憶装置を構成する4つのバンク#0、#1、#2、
#3の内部の数字は、アドレスを示している。
ディスタンスdにより、同時にアクセス可能なバンクの
数、すなわちデータの最大数がきまる。
これは次のようになる。
最適ポート数は、問題となるアクセス命令において同時
にアクセスできるデータの数の最大値である。これは、
そのアクセス命令で使用するデータ・バスの数に等しい
たとえば、ディスタンスdの値に応じて、使用するデー
タ・バスは次の通りである。
d=φのとき  バスφのみ使用、 d=lのとき  バスφ〜3全で使用、d=2のとき 
 バスφ、2を使用、 d=3のとき  バスφ〜3全て使用、第6図は、最適
なアクセス・ポート数を判定するポート数判定回路5の
実施例である。
第6図において、61および62はランチ、63および
64はインバータ、65および66はANDゲートを表
わしている。この場合、ディスタンスdの値の下位2ビ
ツトAO1AIを入力することによって、最適ポート数
が4P、2P、IPのいずれであるかを判定する。
第7図は、ポート数判定回路5の出力と、AB、CDの
各ブロックのBusy状態から、使用すべきボート(ブ
ロック)を選択するポート選択回路6の実施例である。
ただし、使用ポート数が4Pの回路部分のみを示す。
第7図において、8および10は第1図のA・Bボート
BUSYフラグおよびC−DボートBUSYフラグであ
る。また71はNANDゲート、72はEORゲート、
73および74はインバータ、75および76はAND
ゲート、77はORゲートを表わしている。
なお、各ブロックがBUSY状態、つまり他の命令によ
ってすでに使用されていて、問題となっている命令の最
適ポート数に等しい数のポートを確保できないときは、
その命令のアドレス発生は起動されず、起動に失敗した
旨を、起動成功信号SSを送出しないことにより命令制
御部に通知するようになっている。
以上のような構成をもつアドレス発生部の動作について
考察してみる。まず、この装置の動作を、2ボート・モ
ード(最適ポート数=2P)のときと、4ポート・モー
ド(最適ポート数=4P)のときとに分ける。
■ 2ボート・モードのときは、1命令で2ボート(1
ブロツク)を占有し、2命令間時に実行することができ
る。
ただしこの場合は、最適アクセス・ポート数が1または
2であるようなディスタンスdを持つアクセス命令のみ
が実行可能である。
例として、最初に先頭アドレスSI、ディスタンスd、
である命令り、次に先頭アドレスS2、ディスタンスd
2である命令I2が入力された場合を考える。第5図参
照(at、dz=φ、2.4.61.、、、)順に、 (1)命令I、がフェッチされる。
(2) d +の下位2ビツトがポート数判定回路5に
入力される。
(3)ポート数判定回路5からの情報により、ポート選
択回路6はA−Bブロックを選択しA・BIIJfi1
)回路7を起動する。
(41A −B制御回路7は、A、B各ポート・アドレ
ス発生回路1.2にS、、d、を入力させる。
(51A −B制御回路7が、ASB各ボート・アドレ
ス発生回路1.2を、この後の第n、タイミングに、そ
れぞれ、S+  +2nldl、3.+(2nl +1
)d+を発生するように制御する。
(6)命令I2がフェッチされる。
(7) d zの下位2ビツトがポート数判定回路5に
入力される。
(8)ポート数判定回路5からの情報により、ポート選
択回路6はC−Dブロックを選択し、C・DIII御回
路9を起動する。
(9) C−D制御回路9は、CSD各ボート・アドレ
ス発生回路3.4にS2、d2を入力させる。
αωC−D制御回路9が、C,D各ボート・アドレス発
生回路3.4をこの後の第n2タイミングに、それぞれ
、Sz+2ntdz、S2+(2nz+1)dxを発生
するように制御する。
なお、(5)の動作は(6)〜αψの動作と並行して実
行される。
このようにして、2命令の並行実行が行なわれる。
また、これ以外に、最適ポート数が1の場合と2の場合
とを分けて実行するような方法も、同様な手法で考える
ことができる。
■ 4ポート・モードのときは、1命令で4ポート(2
ブロツク)を占有し、同時には1命令しか実行できない
。ただし、4ポート・モードとなるのは、最適アクセス
・ポート数が4であるようなディスタンスdをもつアク
セス命令が実行されるときのみである。
この場合は、ポート数判定回路5が4ポート・モードで
あることを判断し、ポート選択回路6がAB、CD両ジ
ブロック選択し、A−B。
C−D両制御回路7.9を起動した後は、従来のアドレ
ス発生部の動作に準する。
以上の説明は、本発明の一実施例についてのものであり
、本発明はこれらの実施例に限定されるものではなく、
自明の多くの変形を含むものである。
〔発明の効果〕
本発明により、複数のアクセス・ポートをもつメモリシ
ステムにおいて、ランダム・アクセス命令の並列実行が
少ない物量で可能となり、アクセス効率が改善される。
【図面の簡単な説明】
第1図は本発明の1実施例におけるアドレス発生部の構
成図、第2図は科学計算用ベクトル計算機の概要構成図
、第3図は従来のアドレス発生部の構成図、第4図はデ
ィスタンス・アクセスの具体例による説明図、第5図は
データ・バスの構成例を示す説明図、第6図はポート数
判定回路の実施例構成図、第7図はボート選択回路の実
施例構成図である。 第1図において、工ないし4はそれぞれAないしDボー
トのアドレス発生回路、5はポート数判定回路、6はボ
ート選択回路、7はA−B制御回路、8はC−D制御回
路を示す。 特許出願人   富士通株式会社 代理人弁理士  長谷用 文 廣(外1名)冨 へ ゲQ  it− 才2凪

Claims (3)

    【特許請求の範囲】
  1. (1)演算処理部と主記憶装置との間でデータ転送を行
    なう手段として、複数のアクセス・ポートと1つまたは
    複数のデータ・バスをそなえたデータ処理装置において
    、 複数の要素からなるベクトル・データを演算処理部から
    主記憶装置に対してアクセスする際に、そのベクトル・
    データの各要素のアドレスの値が等差数列をなしている
    場合には、使用するアクセス・ポートの数を、上記等差
    数列の公差に依存して定まる所定の数に限定することを
    特徴とするメモリアクセス制御方式。
  2. (2)上記等差数列の公差を2進数で表わしてその一部
    のビットを用いて最適なアクセス・ポートの数を判定す
    る判定回路を設けたことを特徴とする第1項記載のメモ
    リアクセス制御方式。
  3. (3)上記判定回路の出力とアクセス・ポートの各々が
    他のアクセスで使用されているか否かを表わす情報とを
    用いて、使用すべき1つまたは複数のアクセス・ポート
    を選択する選択回路を設けたことを特徴とする第2項記
    載のメモリアクセス制御方式。
JP4320585A 1985-03-05 1985-03-05 メモリアクセス制御方式 Granted JPS61202246A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4320585A JPS61202246A (ja) 1985-03-05 1985-03-05 メモリアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4320585A JPS61202246A (ja) 1985-03-05 1985-03-05 メモリアクセス制御方式

Publications (2)

Publication Number Publication Date
JPS61202246A true JPS61202246A (ja) 1986-09-08
JPH0350298B2 JPH0350298B2 (ja) 1991-08-01

Family

ID=12657423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4320585A Granted JPS61202246A (ja) 1985-03-05 1985-03-05 メモリアクセス制御方式

Country Status (1)

Country Link
JP (1) JPS61202246A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5757370A (en) * 1980-09-22 1982-04-06 Fujitsu Ltd Access control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5757370A (en) * 1980-09-22 1982-04-06 Fujitsu Ltd Access control system

Also Published As

Publication number Publication date
JPH0350298B2 (ja) 1991-08-01

Similar Documents

Publication Publication Date Title
US4237534A (en) Bus arbiter
EP0053457B1 (en) Data processing apparatus
US4542455A (en) Signal-processing multiprocessor system
US4672536A (en) Arbitration method and device for allocating a shared resource in a data processing system
US6141713A (en) Bus arbitrator with a hierarchical control structure
JPH0425586B2 (ja)
US4583162A (en) Look ahead memory interface
US5142682A (en) Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US4048623A (en) Data processing system
JPH03129450A (ja) データ転送方法及びデータ転送装置
US4068214A (en) Asynchronous logic array
EP0295646B1 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
JPS6259495A (ja) 通信接続スイッチの優先処理手順を修正する方法
US5115393A (en) Vector processor performing data operations in one half of a total time period of write operation and the read operation
US3710349A (en) Data transferring circuit arrangement for transferring data between memories of a computer system
USRE31287E (en) Asynchronous logic array
EP0081358A2 (en) Data processing system providing improved data transfer between modules
US3713109A (en) Diminished matrix method of i/o control
JPS61202246A (ja) メモリアクセス制御方式
US4803655A (en) Data processing system employing a plurality of rapidly switchable pages for providing data transfer between modules
EP0359192B1 (en) Vector processors and vector register control
JPS6285343A (ja) メモリ読み出し回路
GB2138182A (en) Digital processor
JP2538874B2 (ja) 共通バス調停方式
CN117112246B (zh) 自旋锁的控制装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees