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

メモリアクセス制御方式

Info

Publication number
JPS6265148A
JPS6265148A JP20487685A JP20487685A JPS6265148A JP S6265148 A JPS6265148 A JP S6265148A JP 20487685 A JP20487685 A JP 20487685A JP 20487685 A JP20487685 A JP 20487685A JP S6265148 A JPS6265148 A JP S6265148A
Authority
JP
Japan
Prior art keywords
address
bank
bits
memory
displacement
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
JP20487685A
Other languages
English (en)
Inventor
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 JP20487685A priority Critical patent/JPS6265148A/ja
Publication of JPS6265148A publication Critical patent/JPS6265148A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔目 次〕 v1要 産業上の利用分野 従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔概要〕 主記憶装置として使用されるメモリシステムであって、
2n個(n=1、2.3.−・−)のバンクに分割して
、Nビット(N・1.2,3. ・・−;N≧n)の数
で表されるメモリシステムのアドレスの内、nビットで
バンクを指定し、残りのN−nビットでバンク内の変位
を指定するように構成されたメモリシステムにおいて、
Nビットで主記憶アドレスを指定するようなデータ処理
装置との間でデータのアクセス処理を行う際に、該主記
憶アドレスの内のN−nビット(a)を、上記バンク内
の変位とし、このN−nビット(a)と、上記主記憶ア
ドレスの残りのnビット(b)とを加算し、該加算結果
の下位nビフ) (q)で、上記のバンクを指定するよ
うにして、主記憶アドレスをメモリシステムのアドレス
に変換するようにしたものである。
〔産業上の利用分野〕
本発明は、メモリアクセス制御方式に係り、特に複数個
のバンクに分割されたメモリシステムに対して、インク
リープ方式でディスタンスアクセスを行う場合のバンク
コンフリクトを少なくする為のアドレス変換方式に関す
る。
計算機技術の著しい進歩に伴って、最近普及してきた科
学計算用ベクトル計算機等においては、主記憶装置をア
クセスする命令等を実行する際、該主記憶装置とデータ
処理装置との間で同時に複数のデータを高速に転送しな
ければならない場合がある。
、咳データアクセスの高速化の為には、−aに主記憶装
置を多数のバンクに分割しておき、主記憶装置とデータ
処理装置との間に複数個のデータバスを設け、各バスに
バンクを割り当てることによって並列アクセスを行う方
法が取られている。
第3図は、このような複数個のデータバスを備えた計算
機システムの一例の概要を示した図であって、2r1(
n=1、2,3.・・・)個のメモリバンクに分割して
構成され、主記憶装置として使用されるメモリシステム
1と、データ処理装置2とからなり、各々の間はアドレ
スバスと、複数のデータバスによって接続されている。
これらの間で、データのアクセス処理をする場合、先ず
、データ処理装置2がアクセスするべきデータの主記憶
アドレスを、アドレスバスを通してメモリシステム1に
送出する。
次に、該メモリシステム1が上記主記憶アドレスに対応
するデータが格納されている所のメモリバンクから、上
記データを取り出し、これを該メモリバンクに接続され
ている一本のデータバスを通して、上記データ処理装置
2に送出する。
一般に、メモリシステム1は、比較的アクセス速度が遅
いメモリ素子から構成されており、−個のメモリバンク
に対するアクセスに、データ処理装置のデータ処理サイ
クル(所謂、マシンサイクル)の何すイクル分にも相当
するアクセス時間が必要であり、この間当該バンクに対
するアクセス処理はできない。
然し、あるバンクに対するアクセス中でも、これとは別
のバンクに対するアクセスならば、並行して実行するこ
とができる。
即ち、順次別々のバンクに対するアクセスを行う限り、
データ処理装置から次々にアドレスを送出して、複数個
のバンクを並列に使用することにより、lサイクルに1
データのスループ7トを得ることができる。
ところが、このようなメモリシステムにおいても、ベク
トルデータのディスタンスアクセス、つまり、アクセス
すべきデ゛−り列の主記憶アドレスが、例えば、0,8
.16,24.32.・・・と云うように、一定間隔で
、飛び飛びの値をとるようなアクセス列では、スルーブ
ツトの低下が起きることがある。
例えば、バンク0のアドレス割り付けが、0.8゜16
、24.32.−・−となっていると、上記のようなデ
ィスタンスアクセスでは、毎回同じバンクに対してアク
セスする、所謂バンクコンフリクトが起こることになる
実際のベクトル計算プログラム(高速フーリエ変換(F
FT)、ソーティング等)では、上記のようなディスタ
ンスが2の冨乗となるようなディスタンスアクセスが頻
繁に行われるので、バンクコンフリクトによるスループ
、トの低下は、ベクトル計算速度の低下の重大な要因と
なっている・従って・ディスタンスアクセスを行っても
、バ〉′クコンフリクトが起こらないようなメモリアク
セス制御方式が要求されるようになってきた。
〔従来の技術と発明が解決しようとする問題点〕第4図
は、従来のメモリシステムと、それに対する主記憶アド
レスの割り付は方の一例を示した図である。
誤メモリシステムは2n個(本図においては、n・3)
のバンクに分割して主記憶アドレスをインクリーブした
形で各バンクに割り付けである。
この割り付は方は、主記憶アドレスを、Av= 2 n
a+b  (a=Oi1.+2+−−:b=0.1,2
.−−=・−+2’ −1)で表すと、該AVに対応す
るメモリバンクは、第りバンク目で、バンク内の変位は
aで示されるような割り付は方である。
つまり、AyをNビット(N=I、2.3.−−、N≧
n)の2進数で表した場合の、下位nビットはバンク番
号を指定し、上位N−nピントはバンク内の変位を指定
する。
例えば、第4図中において、Av・2H10進)の時、
これを2進数で表すと、 ^シー10101 となり、下位r1−3ビットのバンク番号は、b・10
1・5(10進) となり、上位N−n・2ビツトのバンク内変位は、a−
10−2(10進) となる、他のAvに対しても同様である。
上記のバンク番号、及びバンク内変位のデコードは、そ
れぞれデコーダla、 lbで行われる。
データ処理装置からデータアクセスを行う場合、メモリ
システムは上記のような方法で、データ処理装置からの
主記憶アドレス(AV)を当該メモIJ システムのア
ドレス(バンク番号と、バンク内変位)の指定に用いる
ところが、このようなメモリシステムの場合、前述のよ
うに、ベクトルデータのディスタンスアブセス、つまり
、アクセスすべきデータ列の主記憶アドレスが、例えば
、0.8.16.24.32.−・と云うように、一定
間隔で填び飛びの値をとるようなアクセス列では、スル
ーブツトの低下が起きることがあると云う問題があった
例えば、上の例のようにディスタンス(主記憶アドレス
の間隔)が8の場合、メモリシステムが第4図のように
なっていると、データ処理装置は毎回同じバンクに対し
てアクセスすることになる。
即ち、アクセスの1回毎に前のアクセスとのバンクの競
合(バンクコンフリクト)が起こり、少なくともメモリ
素子に対するアクセス時間の分だけ、何マシンサイクル
も待たなければならない。
このように、一般に、ディスタンスが2の冨乗(2,4
,8,16,32,−・・)であるようなベクトルデー
タのディスタンスアクセスでは、数エレメント、又は、
1エレメントのアクセス毎にバンクコンフリクトが起こ
ることになる。
このようなバンクコンフリクトを避ける為に、バンクの
数を2nの形ではなく、例えば、2r′−1個にする等
の方法が容易に考えられる。然し、この場合、前述のよ
うに、主記憶アドレスの一部のビットをバンク番号の指
定に使用する等と云うような石車な方法で、メモリシス
テムのアドレスを指定することができないと云う問題が
ある。この方式では、該メモリシステムのアドレスの指
定に複雑な計算(除算等)が必要となり、時間と物量が
大量に要求されると云う問題があった。
本発明は上記従来の欠点に鑑み、ベクトルデータのディ
スタンスアクセスを行う際、該ディスタンスの値が2の
冨乗で与えられる場合でも、バンクコンフリクトが起こ
る割合を極力少なくして、スルーブツトを向上させる手
段を、四重な制御力。
法で実現する方法を提供することを目的とするものであ
る。
【問題点を解決する為の手段〕
第1図は本発明によるアドレス変換機構を示す概念図で
ある。
本発明においでは、データ処理装置から入力された、N
ビットの主記憶アドレス(Av) 11の内、上位N 
−nビット(この値は、前述のaに相当する)は、メモ
リシステムのアドレス13の内のバンク内変位として、
直接バンク内変位指定部130へ送出される。
上記主記憶アドレス(Aν)11の下位のnビット(こ
の値は、前述のbに相当する)と1上記aの内の下位n
ビットとが加夏器12によって加算した時、この加算結
果の内、nビット目からのキャリ (桁上げ)を除いた
nビットのデータは、この加算結果を2nで割った時の
剰余に等しい。
即ち、このnビットのデータは、a+bを2′″で割っ
た剰余、つまり、qJOD(a+b、 2″)に等しい
ことに着目して、上記剰余をバンク番号qとしてバンク
指定部131に送出するように構成する。
このように、nビットデータの加算と云う簡単な方法で
アドレス変換を行うことができる。
上記、a+b=eを2nで割った時の剰余qが、該加算
(a+b)の下位nビットに等しいことは、例えば、 c=co’、2c1+2” C2+2’ C3+ −−
2とした時、 ココテ、CO+2CI+22C2+2aC3+ 、、、
、、、、+21Mc(n−1)は、最大b2+22+ 
婆2旧・2n−1−″ 2nであるので、上記除算にお
ける剰余であって、且つ、nビットのデータであること
が理解される。
又、主記憶アドレス Av=2na+b (a=0゜1,2.−; b=0.
C2,−,2’ −1)−・−■ と、メモリシステムのアドレス(a、Q)  とが、q
−MOD(a+b、 2″) −−−・−−−−−□−
−−−■と云う変換条件において、1対1に対応するこ
とが、以下の方法によって示される。即ち、先ず、・■
式より、ある整数Xに対して、a+t= 2’ X+q
 −゛−−−−−−−−−−−−−−−−−−−−@が
成り立つ。
パ・ b= 2I′X+q−a ここで、■から 0≦l、 < 2nであるので・0≦
2’ X+q−a < 2r′ パ・ 1翻≦X <a−q  +1 ]T 上式を満たす整数XはIllつだけ存在し、’cpr 
−“〜゛−゛゛−゛゛゛°°へ“−゛゛゛゛■ここで、
[〕はガウス記号を示す。
となる。
従って、aとqとが与えられた時、■、■から5°2n
[¥−m −a+q となる。
故に、aが与えられた時、nは予め定められているので
、あるqに対応するbは、唯1つだけ存在し、又、■よ
りbに対応するqも唯1つだけである。
よって、bとqとは1対1に対応することが分かる。こ
のことは、主記憶アドレスAvが、メモリシステムのア
ドレス(a、q)に、l対lに対応していることを意味
している。
即ち・上記のようなアドレス変換を行っても、主記憶ア
ドレスと、メモリシステムのアドレスとは・ l対lに
対応しており、メモリアクセス上に問題がないことが理
解できる。
〔作用〕
即ち、本発明によれば、主記憶装置として使用されるメ
モリシステムであって、2n個<n、=C2,3゜・−
・)のバンクに分割して、Nピノ1−(N・i、2,3
゜;N≧n)の故で表されるメモリシ・ステムのアドレ
スの内、nビ・、・1・で・・\ンクを指定し、残りの
しnビットでバンク内の変位を指定するように構成され
たメモリシステムにおいて、Nビットで主記憶アドレス
を指定するようなデータ処理装置との間でデータのアク
セス処理を行う際に、該主記憶アドレスの内のlJ’n
ビフト(a)を、上記ハ”ンク内の変位とし、このN−
riビy)(a)と、上記主記憶アドレスの残りのnビ
、・ト(b)とを加算し、該加算拮果の下位nビー、/
 ト(q)で、上記のバンクを指定するようにして、主
記憶アドレスをメモリシステムのアドレスに変換するよ
うにしたものであるので、nl:7トの加算器を付加す
るだけで、少なくとも、ディスタンスアクセスが2の冨
乗のときには、バンクコンフリクトの回数が大幅に減少
し、メモリアクセスのスルーブツトを向上させることが
できる効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
第2図は本発明の一実施例をブロック図で示した図であ
って、3ビツト加算器12“が本発明を実施するのに必
要な機能ブロックである。尚、全回を通して、同じ番号
は同じ対象物を示しているものとする。
本発明が適用されるメモリシステムは、2n個(本図で
は、n・3)のバンクに分割して、主記憶アドレスをイ
ンタリーブした形で各バンクに割り付けである。
本発明での割り付は方は、従来方式と異なり・主記憶ア
ドレスを、 Av−2” a+b (a−0,1,2,・−: b−
0,1,2,=−+2”)で表すと、該AVに対するメ
モリバンクの番号は、q=MOD(a+b、  2’ 
) とする所に特徴がある。
具体的には、本図から明らかなように、バンク内変位ア
ドレスaの下位3ビツトと、バンクアドレスb (上記
Aνの下位3ビツト)とを、3ビツト加算器12′で加
算し、その下位3ピントをバンクアドレスqとするもの
である。
そして、該qをデコーダlaでデコードして、バンク番
号を得ると共に、上記バンク内変位アドレスa(上記^
Vの上位N−3ピント)をデコーダtbでデコードして
、バンク内変位を得る。
このときの、qが上記a+bを2sで割ったときの剰余
となること、及び上記すとqとの間には、1対1の関係
があることは前述の通りである。
このような割り付は方をすると、本図のメモリシステム
1に示されるような割り付は方となる。
例えば、バンクアドレスqが、上記の3ビ7トであると
、該バンクアドレスqは゛ooo’〜’iii’迄変化
する。
ここで、バンク内変位アドレスaと、上記パン・クアド
レスqとの関係をみると5 、〕・Oのとき、bは第0バンクから変化する。
トlのとき、bは第1バンクから変化する。
ト2のとき、bは第2バンクから変化する。
以下、同じようにして、゛バンクアドレスqの変化開始
位置が変わっていくので、図示のような割り付けとなる
ことが理解される。
ダモリシステム1をこのように制御することにより、 1) ディスタンスが2の罵乗(但し、201乗以上、
2の(2nl)乗以下;バンク数n)のとき、従来の第
・)図のような制御方法に比べて、バンクコニ′フリパ
アトの回数が大幅に減少し、メモリアクセスのスルーブ
ツトが向上すると云う特徴が得られる。特(こ、≦亥デ
ィスタニ°スが2〜Ql’lのときには、バンクコンフ
リクトが無くなる。
例えば、主記憶アドレスが、0.8..16,24.・
・・・・・と云うようなディスタンス8のアクセスを考
えると、第2図のバンク割り付けから明らかな如く、バ
ンク0→バンク1−6バンク2→−・−・−・・−・と
云う具合に、毎回別々のバンクがアクセスされることに
なり、従来のバンク割り付け(第4図参照)で発生して
いたバンクコンフリクトは殆ど発生しなくなる。
2)又、このようなバンク割り付けを提供する為のハー
ドウェアは、実質上、nピント(本例では3ビツト)の
加算器を付加するだけで良く、コストバーフォマンスの
面でも、そのメリットは極めて大きいと云うことができ
る。
このように、本発明においては、2′個のバンクに分割
されているメモリシステムに対して、データ処理装置か
らのNピッi・の主記憶アドレスAVを、nピントのバ
ンクアドレスbと、N−nピントのバンク内変位アドレ
スaとに分割し、該バンクアドレスbと、バンク内変位
アドレスaとの間で、特定の論理変換、例えば、加算を
施して得られたnビットのバンクアドレスqと、上記バ
ンクアドレスbとの間に1対1の対応がとれるようにし
・そのときのディスタンスアクセスに対するバンクコン
フリクトが起こらないようにした所に特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のメモリアクセス
制御方式は、主記憶装置として使用されるメモリシステ
ムであって、2r1個(nJ、2.3.・・・)のバン
クに分割して、Nビー/ ト0J=1.2.3.・・・
;N22)の数で表されるメモリシステムのアドレスの
内、nビットでバンクを指定し、残りのN−n ヒント
でバンク内の変位を指定するように構成されたメモリシ
ステムにおいて、Nビットで主記憶アドレスを指定する
ようなデータ処理装置との間でデータのアクセス処理を
行う際に、咳主記憶アドレスの内のN−nビット(a)
を、上記バンク内の変位とし、このトiビット(a) 
と、上記主記憶アドレスの残りのnビット(b)  と
を加算し、該加算結果の下位nビット (q)で、上記
のバンクを指定するようにして、主記憶アドレスをメモ
リシステムのアドレスに変換するようにしたものである
ので、nビットの加算器を付加するだけで、少なくとも
、ディスタンスアクセスが2の=乗のときには、バンク
コンフリクトの回数が大幅に減少し、メモリアクセスの
スルーブツトを向上させることができる効果がある。
【図面の簡単な説明】
第1図は本発明によるアドレス変換機構を示す概念図。 第2図は本発明の一実施例をブロック図で示した図。 第3図は複数個のデータバスを備えた計算機システムの
一例の概要を示した図。 図。 である。 図面において、 1はメモリシステム、11は主記憶アドレス(Aν)。 12はnビット加算器、  12nは3ビツト加算器。 13はメモリシステムのアドレス。 130はバンク内変位アドレス(a)。 131はバンク指定部(q)。 をそれぞれ示す。 ブーツg島工gMLからの i1己七17ドレヌ、 パンM亥亡t        t”;>7循芝郭へ循り
1婚へ 本丸叫びろ作[kt懐磯琢巳縛、匙z図第 1 図

Claims (2)

    【特許請求の範囲】
  1. (1)主記憶装置として使用されるメモリシステムであ
    って、2^n個(n=1、2、3、……)のバンクに分
    割され、Nビット(N=1、2、3、……;N≧n)の
    数で表されるメモリシステムのアドレスの内、nビット
    で上記バンクを指定し、残りのN−nビットで、該バン
    ク内の変位を指定するように構成されたメモリシステム
    において、 Nビットで主記憶装置のアドレスを指定するようなデー
    タ処理装置との間でデータのアクセス処理を行う際に、 上記、主記憶装置のアドレスを、N−nビットの変位ア
    ドレス(a)と、nビットのバンクアドレス(b)とに
    分割し、 該変位アドレス(a)を上記バンク内の変位とし、上記
    変位アドレス(a)と、上記バンクアドレス(b)との
    間で、特定の論理演算を施し、該論理演算を施した結果
    の内の、あるnビット(q)で、上記バンクを指定する
    するようにして、上記主記憶装置のアドレスをメモリシ
    ステムのアドレスに変換するのに、 上記変換前のバンクアドレス(b)と、変換後のバンク
    アドレス(q)との間に、1対1の対応がとれるように
    変換することを特徴とするメモリアクセス制御方式。
  2. (2)上記論理演算を、上記変位アドレス(a)と、上
    記バンクアドレス(b)とを加算することによって行い
    、 該加算結果の下位nビット(q)で、上記バンクを指定
    するようにしたことを特徴とする特許請求の範囲第1項
    に記載のメモリアクセス制御方式。
JP20487685A 1985-09-17 1985-09-17 メモリアクセス制御方式 Pending JPS6265148A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20487685A JPS6265148A (ja) 1985-09-17 1985-09-17 メモリアクセス制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20487685A JPS6265148A (ja) 1985-09-17 1985-09-17 メモリアクセス制御方式

Publications (1)

Publication Number Publication Date
JPS6265148A true JPS6265148A (ja) 1987-03-24

Family

ID=16497857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20487685A Pending JPS6265148A (ja) 1985-09-17 1985-09-17 メモリアクセス制御方式

Country Status (1)

Country Link
JP (1) JPS6265148A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164641A (ja) * 2002-11-12 2004-06-10 Hewlett-Packard Development Co Lp メモリバンクへのアドレスのマッピングをするメモリコントローラ
JP2015108972A (ja) * 2013-12-04 2015-06-11 富士通株式会社 演算装置、演算装置の決定方法及びプログラム
WO2017149997A1 (ja) * 2016-03-01 2017-09-08 ソニー株式会社 メモリ制御装置、メモリ装置、情報処理システムおよびメモリ制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164641A (ja) * 2002-11-12 2004-06-10 Hewlett-Packard Development Co Lp メモリバンクへのアドレスのマッピングをするメモリコントローラ
JP2015108972A (ja) * 2013-12-04 2015-06-11 富士通株式会社 演算装置、演算装置の決定方法及びプログラム
WO2017149997A1 (ja) * 2016-03-01 2017-09-08 ソニー株式会社 メモリ制御装置、メモリ装置、情報処理システムおよびメモリ制御方法
US11232027B2 (en) 2016-03-01 2022-01-25 Sony Corporation Memory control apparatus, memory apparatus, information processing system, and memory control method

Similar Documents

Publication Publication Date Title
EP0313788A2 (en) An aperiodic mapping method to enhance power-of-two stride access to interleaved devices
JPS618785A (ja) 記憶装置アクセス制御方式
US3601812A (en) Memory system
CN115422098A (zh) 基于扩展页表的gpu访存自适应优化方法及装置
US4800535A (en) Interleaved memory addressing system and method using a parity signal
US6931507B2 (en) Memory allocation method using multi-level partition
WO2020135209A1 (zh) 减少存储体冲突的方法
JPS6265148A (ja) メモリアクセス制御方式
JPH11353225A (ja) 逐次実行型でグレイ・コード体系のアドレッシングを行うタイプのプロセッサがアクセスするメモリ、及びメモリにコード/データを格納する方法
JP4240610B2 (ja) 計算機システム
JPH09190378A (ja) メモリアドレス制御回路
JPH0192851A (ja) アドレス空間切替装置
JPH0553920A (ja) 構造化アドレス生成装置
JPS62138940A (ja) レジスタアクセス制御方式
JPH01161549A (ja) 増設メモリ回路
EP4150467A1 (en) Two-way interleaving in a three-rank environment
JPS6398736A (ja) アドレス制御回路
JP3429880B2 (ja) メモリ装置およびメモリアクセス方法
JPH01140342A (ja) 仮想計算機システム
CN114416611A (zh) 一种用于固态硬盘的数据传输方法、装置、设备及介质
JPH03116256A (ja) メモリ装置
JPH01188948A (ja) テンプレートマッチング用アドレス生成装置
JPH0218638A (ja) データ制御システム
JPH0816478A (ja) ベクトルデータ処理装置
JPH0350298B2 (ja)