JPS62174873A - メモリアクセス制御方式 - Google Patents
メモリアクセス制御方式Info
- Publication number
- JPS62174873A JPS62174873A JP1631686A JP1631686A JPS62174873A JP S62174873 A JPS62174873 A JP S62174873A JP 1631686 A JP1631686 A JP 1631686A JP 1631686 A JP1631686 A JP 1631686A JP S62174873 A JPS62174873 A JP S62174873A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- array data
- access
- arrangement data
- time
- 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
Links
- 238000000034 method Methods 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 229920000742 Cotton Polymers 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はメモリアクセス制御方式に関し、特にメモリに
記憶されている2つの配列データを並行してアクセスす
る場合のメモリのバンク競合制御に関する。
記憶されている2つの配列データを並行してアクセスす
る場合のメモリのバンク競合制御に関する。
(従来の技術〕
近年、データ処理の分野では多量のデータを高速に処理
するいわゆるスーパーコンピュータの必要性が増大して
きている。このスーパーコンピュータでは、配列状にな
った多量のデータの各組に対して同一演算を行ういわゆ
るベクトル演算が主に実行される。このベクトル演算の
場合、配列データはメモリに蓄えられており、多量のデ
ータを高速で処理するためには演算速度に見合ったメモ
リツループツトが要求される。
するいわゆるスーパーコンピュータの必要性が増大して
きている。このスーパーコンピュータでは、配列状にな
った多量のデータの各組に対して同一演算を行ういわゆ
るベクトル演算が主に実行される。このベクトル演算の
場合、配列データはメモリに蓄えられており、多量のデ
ータを高速で処理するためには演算速度に見合ったメモ
リツループツトが要求される。
従来、この種のスーパーコンピュータでは、この要求を
満たすために、多バイト構成により同時にアクセス可能
なデータ量を増加させる方式や多バンク構成によりメモ
リを独立に動作可能な複数のバンクに分割し見かけ上の
サイクルタイムを小さくする方式等がとられてきた。
満たすために、多バイト構成により同時にアクセス可能
なデータ量を増加させる方式や多バンク構成によりメモ
リを独立に動作可能な複数のバンクに分割し見かけ上の
サイクルタイムを小さくする方式等がとられてきた。
従来のベクトル演算における配列データへのメモリアク
セス制御方式には、各配列の組を順番にアクセスする方
式と、同時に複数の配列の組をアクセスする方式とがあ
る。
セス制御方式には、各配列の組を順番にアクセスする方
式と、同時に複数の配列の組をアクセスする方式とがあ
る。
次に、第2図(A)および(B)を用いてそれぞれの方
式について説明する。一般に、ベクトル演算は、 C(+) =A(1) +B(1) で示されるように、配列Aと配列Bとの同一要素番号を
もつデータ同士に演算を行い、結果を同一もしくは別の
配列Cの同一要素番号の位置に格納する動作をある配列
長分繰り返す。
式について説明する。一般に、ベクトル演算は、 C(+) =A(1) +B(1) で示されるように、配列Aと配列Bとの同一要素番号を
もつデータ同士に演算を行い、結果を同一もしくは別の
配列Cの同一要素番号の位置に格納する動作をある配列
長分繰り返す。
このようなベクトル演算は、実際の演算装置においては
、 ■ VO−A(1):メモリから配列Aのへクトルレジ
スタ■0への読出し、 ■ Vl−B(T):メモリから配列Bのベクトルレジ
スタV1への読出し、 ■ ■2←VQ+Vl:ベクトルレジスタ■0と■1と
を加算した結果のベクトルレジスタv2への格納、 ■ C(I)←Vlベクトルレジスタv2のデータのメ
モリの配列Cへの書込み、 という4つの動作に分解される。
、 ■ VO−A(1):メモリから配列Aのへクトルレジ
スタ■0への読出し、 ■ Vl−B(T):メモリから配列Bのベクトルレジ
スタV1への読出し、 ■ ■2←VQ+Vl:ベクトルレジスタ■0と■1と
を加算した結果のベクトルレジスタv2への格納、 ■ C(I)←Vlベクトルレジスタv2のデータのメ
モリの配列Cへの書込み、 という4つの動作に分解される。
第2図(A)に示す順次処理のメモリアクセス制御方式
では、動作■の完了後に動作■が開始され、動作■でア
クセスされた配列Bの第1要素がベクトルレジスタ■1
に入ると動作■が開始され、動作■の結果がベクトルレ
ジスタv2に入ると動作■が開始される。これらの一連
の動作は、各要素について順次配列長分パイプライン処
理される。
では、動作■の完了後に動作■が開始され、動作■でア
クセスされた配列Bの第1要素がベクトルレジスタ■1
に入ると動作■が開始され、動作■の結果がベクトルレ
ジスタv2に入ると動作■が開始される。これらの一連
の動作は、各要素について順次配列長分パイプライン処
理される。
第2図(B)に示す並行処理のメモリアクセス制御方式
では、動作■が開始された後にひきつづき動作■が開始
され、動作■でアクセスされた配列Bの第1要素がベク
トルレジスタVlに入ると動作■が開始され、動作■の
結果がベクトルレジスタV2に入ると動作■が開始され
る。
では、動作■が開始された後にひきつづき動作■が開始
され、動作■でアクセスされた配列Bの第1要素がベク
トルレジスタVlに入ると動作■が開始され、動作■の
結果がベクトルレジスタV2に入ると動作■が開始され
る。
これら2つのメモリアクセス制御方式を比較すると、動
作開始から最初の結果を得るまでの時間(演算の立上り
時間)TAとTeとの間には、メモリのアクセス時間が
同一であれば動作■の開始までの時間の差が生しる。こ
のことからも明らかなように、演算の立上り時間を短縮
するためには並行処理の方が有利である。
作開始から最初の結果を得るまでの時間(演算の立上り
時間)TAとTeとの間には、メモリのアクセス時間が
同一であれば動作■の開始までの時間の差が生しる。こ
のことからも明らかなように、演算の立上り時間を短縮
するためには並行処理の方が有利である。
上述した従来のメモリアクセス制御方式では、メモリス
ルーブツト向上のために多バンク構成を採用した場合に
バンク競合を管理するためのハードウェア量が多くなり
、特に演算の立上りを早くするために並行処理を採用す
るとバンク競合管理のハードウェア量が増大し、順次処
理で管理を単純にするとfXnの立上りが遅くなるとい
う欠点がある。
ルーブツト向上のために多バンク構成を採用した場合に
バンク競合を管理するためのハードウェア量が多くなり
、特に演算の立上りを早くするために並行処理を採用す
るとバンク競合管理のハードウェア量が増大し、順次処
理で管理を単純にするとfXnの立上りが遅くなるとい
う欠点がある。
しかし、多バンク構成のメモリを持つ処理装置において
は、ベクトル配列のアクセスは連続もしくは要素間の間
隔が短い場合がほとんどであり、アクセス中の使用中バ
ンクはある範囲に限られ、他のバンクは未使用であるこ
とが多い。
は、ベクトル配列のアクセスは連続もしくは要素間の間
隔が短い場合がほとんどであり、アクセス中の使用中バ
ンクはある範囲に限られ、他のバンクは未使用であるこ
とが多い。
本発明の目的は、上述の点に濯み、単純なバンクビジー
管理で異なる配列データへの並行アクセスを可能にし、
少ないハードウェア量で高い性能が得られるメモリアク
セス制御方式を提供することにある。
管理で異なる配列データへの並行アクセスを可能にし、
少ないハードウェア量で高い性能が得られるメモリアク
セス制御方式を提供することにある。
本発明のメモリアクセス制御方式は、互いに独立に動作
可能な複数のバンクから構成されバンク番号順にアドレ
ス付けられたメモリに一定間隔で記憶されている配列デ
ータを順次アクセスするメモリアクセス制御方式におい
て、先行する第1配列データへのアクセス中に第2配列
データへのアクセス要求が出されたときに第1配列デー
タアクセスによる毎マシンサイクルのバンク幅と第2配
列データアクセスによる毎マシンサイクルのバンク幅と
が同一であるか否かを判定する比較手段と、この比較手
段で前記第1配列データアクセスによる毎マシンサイク
ルのバンク幅と前記第2配列データアクセスによる毎マ
シンサイクルのバンク幅とが同一であると判定されたと
きにバンクサイクル時間と前記バンク幅とその時刻での
前記第1配列データのアクセスバンク番号とから前記時
刻以降にバンク幅を半分としたときの使用予定バンクに
対して前記第2配列データを同様に半分のバンク幅でア
クセスした場合にバンク競合を発生しない開始可能バン
ク範囲を算出して前記第2配列データの開始バンク番号
と照合し、前記第2配列データの開始バンク番号が前記
開始可能バンク範囲にある場合には前記第2配列データ
アクセスと前記第1配列データアクセスとを交互に処理
するように制御し、前記第2配列データの開始バンク番
号が前記開始可能バンク範囲にない場合には前記第1配
列データアクセスを続行するとともに前記開始可能バン
ク範囲の更新と照合とを繰り返し前記第2配列データの
開始バンク番号が前記開始可能バンク範囲となったとき
に前記第2配列データアクセスと前記第1配列データア
クセスとを交互に処理するように制御するアクセス制御
手段とを有する。
可能な複数のバンクから構成されバンク番号順にアドレ
ス付けられたメモリに一定間隔で記憶されている配列デ
ータを順次アクセスするメモリアクセス制御方式におい
て、先行する第1配列データへのアクセス中に第2配列
データへのアクセス要求が出されたときに第1配列デー
タアクセスによる毎マシンサイクルのバンク幅と第2配
列データアクセスによる毎マシンサイクルのバンク幅と
が同一であるか否かを判定する比較手段と、この比較手
段で前記第1配列データアクセスによる毎マシンサイク
ルのバンク幅と前記第2配列データアクセスによる毎マ
シンサイクルのバンク幅とが同一であると判定されたと
きにバンクサイクル時間と前記バンク幅とその時刻での
前記第1配列データのアクセスバンク番号とから前記時
刻以降にバンク幅を半分としたときの使用予定バンクに
対して前記第2配列データを同様に半分のバンク幅でア
クセスした場合にバンク競合を発生しない開始可能バン
ク範囲を算出して前記第2配列データの開始バンク番号
と照合し、前記第2配列データの開始バンク番号が前記
開始可能バンク範囲にある場合には前記第2配列データ
アクセスと前記第1配列データアクセスとを交互に処理
するように制御し、前記第2配列データの開始バンク番
号が前記開始可能バンク範囲にない場合には前記第1配
列データアクセスを続行するとともに前記開始可能バン
ク範囲の更新と照合とを繰り返し前記第2配列データの
開始バンク番号が前記開始可能バンク範囲となったとき
に前記第2配列データアクセスと前記第1配列データア
クセスとを交互に処理するように制御するアクセス制御
手段とを有する。
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を示す構成図である。
本実施例のメモリアクセス制御方式は、レジスタ10〜
12、セレクタ13、加算器14、レジスタ15、アク
セス制御回路20および比較器21がら構成されている
。
12、セレクタ13、加算器14、レジスタ15、アク
セス制御回路20および比較器21がら構成されている
。
レジスタ10は、信号線100を介して第1配列データ
の先頭アドレスがセントされ、第1配列データアクセス
中には信号線107を介して入力される第1配列データ
の次のアクセスアドレスを保持する。
の先頭アドレスがセントされ、第1配列データアクセス
中には信号線107を介して入力される第1配列データ
の次のアクセスアドレスを保持する。
レジスタ11は、レジスタ10を使用する第1配列デー
タアクセス中に後続の第2配列データへのアクセス要求
があった場合に、信号線100を介して第2配列データ
の先頭アドレスがセットされ、第2配列データアクセス
中はレジスタloと同様に信号線107を介して入力さ
れる第2配列データの次のアクセスアドレスを保持する
。
タアクセス中に後続の第2配列データへのアクセス要求
があった場合に、信号線100を介して第2配列データ
の先頭アドレスがセットされ、第2配列データアクセス
中はレジスタloと同様に信号線107を介して入力さ
れる第2配列データの次のアクセスアドレスを保持する
。
レジスタ12は、信号線101を介して入力される第1
配列データの要素間の間隔情報を保持する。
配列データの要素間の間隔情報を保持する。
比較器21は、レジスタ12から信号線106を介して
入力される処理中の第1配列データの要素間の間隔情報
と信号線101を介して入力される第2配列データの要
素間の間隔情報とを比較するもので、両間隔情報が一致
した場合には信号線123を介してアクセス制御回路2
0にその旨を通知する。
入力される処理中の第1配列データの要素間の間隔情報
と信号線101を介して入力される第2配列データの要
素間の間隔情報とを比較するもので、両間隔情報が一致
した場合には信号線123を介してアクセス制御回路2
0にその旨を通知する。
セレクタ13は、レジスタ10に保持された第1配列デ
ータのアクセスアドレスおよびレジスタ11に保持され
た第2配列データのアクセスアドレスを信号線103お
よび104を介してそれぞれ入力し、いずれか一方のア
クセスアドレスを選択的に出力する。
ータのアクセスアドレスおよびレジスタ11に保持され
た第2配列データのアクセスアドレスを信号線103お
よび104を介してそれぞれ入力し、いずれか一方のア
クセスアドレスを選択的に出力する。
加算器14は、セレクタ13から信号105を介して人
力されるアクセスアドレスとレジスタ12から信号線1
06を介して入力される配列データの要素間の間隔情報
とを加算することにより、配列データの次のアクセスア
ドレスを生成する。
力されるアクセスアドレスとレジスタ12から信号線1
06を介して入力される配列データの要素間の間隔情報
とを加算することにより、配列データの次のアクセスア
ドレスを生成する。
レジスタ15は、セレクタ13から信号線105を介し
て入力されるメモリのアクセスアドレスを保持する。
て入力されるメモリのアクセスアドレスを保持する。
アクセス制御回路20は、信号線102を介してアクセ
ス要求があったメモリの配列データについて、レジスタ
10から信号線103を介して入力される第1配列デー
タのアクセスアドレスとレジスタ11から信号線104
を介して入力される第2配列データのアクセスアドレス
とレジスタ12から信号線106゛ を介して人力さ
れる配列データの要素間の間隔情報とに基づいて、信号
線120.121.122等を介してレジスタ10〜1
2およ15ならびにセレクタ13を制御し、バンク競合
の発生しないように信号線110を介してアクセス要求
をメモリに送出するとともにレジスタ15から信号線1
11を介してアクセス要求アドレスをメモリに送出させ
る。
ス要求があったメモリの配列データについて、レジスタ
10から信号線103を介して入力される第1配列デー
タのアクセスアドレスとレジスタ11から信号線104
を介して入力される第2配列データのアクセスアドレス
とレジスタ12から信号線106゛ を介して人力さ
れる配列データの要素間の間隔情報とに基づいて、信号
線120.121.122等を介してレジスタ10〜1
2およ15ならびにセレクタ13を制御し、バンク競合
の発生しないように信号線110を介してアクセス要求
をメモリに送出するとともにレジスタ15から信号線1
11を介してアクセス要求アドレスをメモリに送出させ
る。
次に、第3図を用いて先行する配列データAのアクセス
中に後続の配列データBのアクセス要求があった場合に
配列データAのアクセスを続けながら配列データBのア
クセスも開始できることを説明する。
中に後続の配列データBのアクセス要求があった場合に
配列データAのアクセスを続けながら配列データBのア
クセスも開始できることを説明する。
いま、配列データAへのアクセスがマシンサイクル毎に
Nバンクを使用してメモリをアクセスしていたとする。
Nバンクを使用してメモリをアクセスしていたとする。
各バンクのバンクサイクル時間をTc (正整数)と
すると、ある時刻T0にバンクA、からNバンクをアク
セスしたときに使用中のバンクはA、よりも前のNX(
TC−1)個である。また、時刻T。からはマシンサイ
クル毎にNバンクを使用せずに2マシンサイクル毎に1
回Nバンクを使用すると、以後は見かけ上はマシンサイ
クル毎にN÷2バンクを使用していくことになる。
すると、ある時刻T0にバンクA、からNバンクをアク
セスしたときに使用中のバンクはA、よりも前のNX(
TC−1)個である。また、時刻T。からはマシンサイ
クル毎にNバンクを使用せずに2マシンサイクル毎に1
回Nバンクを使用すると、以後は見かけ上はマシンサイ
クル毎にN÷2バンクを使用していくことになる。
時刻T0の次のマシンサイクルから同様に2マシンサイ
クルに1回Nバンクを使用するような配列データBへの
アクセスがあった場合に、バンク競合を発生しないで交
互にアクセスするためには、配列データBの開始バンク
B0はバンクA、を基点にNx(Tc−1)より前か、
NX(TC+1)÷2の値をNの倍数に切り上げた値よ
りも先であればよいことが判る。以下、バンクA、を基
点にNx (Tc −1)前のバンクからNx (Tc
+1)÷2の値をNの倍数に切り上げた値だけ後のバ
ンクまでの範囲を開始不能バンク範囲と称し、それ以外
の範囲を開始可能バンク範囲と称する。
クルに1回Nバンクを使用するような配列データBへの
アクセスがあった場合に、バンク競合を発生しないで交
互にアクセスするためには、配列データBの開始バンク
B0はバンクA、を基点にNx(Tc−1)より前か、
NX(TC+1)÷2の値をNの倍数に切り上げた値よ
りも先であればよいことが判る。以下、バンクA、を基
点にNx (Tc −1)前のバンクからNx (Tc
+1)÷2の値をNの倍数に切り上げた値だけ後のバ
ンクまでの範囲を開始不能バンク範囲と称し、それ以外
の範囲を開始可能バンク範囲と称する。
また、その時刻に開始不能バンク範囲に配列データBの
開始バンクB0がある場合でも、開始不能バンク範囲が
1マシンサイクル当りNバンクずつずれていくため、マ
シンサイクル毎にこの計算を実行し、開始バンクB0が
開始可能バンク範囲に入ったときにそれ以降は配列デー
タAへのアクセスと配列データBへのアクセスとをマシ
ンサイクル毎に交互に繰り返せば、バンク競合なしで再
配列データAおよびBを並行アクセスすることが可能に
なる。
開始バンクB0がある場合でも、開始不能バンク範囲が
1マシンサイクル当りNバンクずつずれていくため、マ
シンサイクル毎にこの計算を実行し、開始バンクB0が
開始可能バンク範囲に入ったときにそれ以降は配列デー
タAへのアクセスと配列データBへのアクセスとをマシ
ンサイクル毎に交互に繰り返せば、バンク競合なしで再
配列データAおよびBを並行アクセスすることが可能に
なる。
次に、このように構成された本実施例のメモリアクセス
制?ff11方式の動作について説明する。
制?ff11方式の動作について説明する。
第4図(A)は、配列データAのアクセスが時刻TOか
ら開始バンク番号0で1マシンサイクル当たり2バンク
使用して開始した後に、時刻T6で開始バンク番号18
で同様に1マシンサイクル当たり2バンクを使用する配
列データBへのアクセスがきた場合のバンク使用状態の
時間変化を示した図である。なお、本動作例では、バン
クサイクル時間Tcを5マシンサイクルとしている。
ら開始バンク番号0で1マシンサイクル当たり2バンク
使用して開始した後に、時刻T6で開始バンク番号18
で同様に1マシンサイクル当たり2バンクを使用する配
列データBへのアクセスがきた場合のバンク使用状態の
時間変化を示した図である。なお、本動作例では、バン
クサイクル時間Tcを5マシンサイクルとしている。
第4図(B)は、第4図(A)に示した処理におけるレ
ジスタ10.11および15の値ならびにセレクタ13
の選択入力を示す。
ジスタ10.11および15の値ならびにセレクタ13
の選択入力を示す。
時刻TOで信号綿102を介してマシンサイクル毎に2
バンクずつ必要とする配列データAへのアクセス要求を
受は付けたアクセス制御回路20は、先に処理中のアク
セスが無いので、信号線122を介してセレクタ13を
制御することにより信号線100を介してレジスタlO
にセットされた配列データへの開始アドレス0を信号線
105に出力させ、開始アドレス0を加算器14に送る
とともにメモリアクセスレジスタ15にセットさせる。
バンクずつ必要とする配列データAへのアクセス要求を
受は付けたアクセス制御回路20は、先に処理中のアク
セスが無いので、信号線122を介してセレクタ13を
制御することにより信号線100を介してレジスタlO
にセットされた配列データへの開始アドレス0を信号線
105に出力させ、開始アドレス0を加算器14に送る
とともにメモリアクセスレジスタ15にセットさせる。
一方、レジスタ12には信号線101を介してアクセス
バンク幅2に相当する配列データの要素間の間隔情報が
セットされており、この間隔情報は信号綿106を介し
て加算器14で開始アドレス0と加算され、次のアクセ
スの先頭バンク2を示すアドレスが生成されて信号線1
07を介してレジスタ10に戻されてセントされる。
バンク幅2に相当する配列データの要素間の間隔情報が
セットされており、この間隔情報は信号綿106を介し
て加算器14で開始アドレス0と加算され、次のアクセ
スの先頭バンク2を示すアドレスが生成されて信号線1
07を介してレジスタ10に戻されてセントされる。
次の時刻T1では、メモリアクセスレジスタ15にセン
トされたアドレスで配列データAの要素A0がアクセス
されるように、アクセス制御回路20およびレジスタ1
5から信号線110および111を介してアクセス要求
およびアクセス要求アドレスがメモリに送出される。ま
た、時刻TIでは後続のアクセス要求が無いため、レジ
スタ10とレジスタ15との更新が実行される。
トされたアドレスで配列データAの要素A0がアクセス
されるように、アクセス制御回路20およびレジスタ1
5から信号線110および111を介してアクセス要求
およびアクセス要求アドレスがメモリに送出される。ま
た、時刻TIでは後続のアクセス要求が無いため、レジ
スタ10とレジスタ15との更新が実行される。
このようにして、配列データAの要素AOから要素A5
までが処理され、時刻T6で要素A6を処理しようとし
たときに後続の配列データBに対するアクセス要求が信
号線102を介して通知されると、このときにはレジス
タ10は配列データAのアクセスで使用中であるため、
配列データBの開始バンクBOのバンク番号18はアク
セス制御回路20から信号線121を介して送出された
ストローブにより信号線100を介してレジスタ11に
セットされる。
までが処理され、時刻T6で要素A6を処理しようとし
たときに後続の配列データBに対するアクセス要求が信
号線102を介して通知されると、このときにはレジス
タ10は配列データAのアクセスで使用中であるため、
配列データBの開始バンクBOのバンク番号18はアク
セス制御回路20から信号線121を介して送出された
ストローブにより信号線100を介してレジスタ11に
セットされる。
一方、信号線101を介して入力された配列データBの
要素間の間隔情報(アクセスバンク幅2に相当)は、レ
ジスタ12に保持されている配列データAの要素間の間
隔情報(アクセスバンク幅2に相当)と同し値なので、
比較器21は一致を検出し信号線123を介してアクセ
ス制御回路20に通知する。これにより、アクセス制御
回路20では、時刻T6において後続の配列データBに
対するアクセスが開始可能かどうかを検査する。
要素間の間隔情報(アクセスバンク幅2に相当)は、レ
ジスタ12に保持されている配列データAの要素間の間
隔情報(アクセスバンク幅2に相当)と同し値なので、
比較器21は一致を検出し信号線123を介してアクセ
ス制御回路20に通知する。これにより、アクセス制御
回路20では、時刻T6において後続の配列データBに
対するアクセスが開始可能かどうかを検査する。
アクセス制御回路20には信号線103を介して時刻T
6でアクセスしようとしている配列データへのバンク番
号12が入力され、信号線104を介して配列データB
の先頭バンク番号18が人力されており、第3図を用い
て説明したように、あらかじめ設定されているバンクサ
イクル時間(Tc=5)、信号線106を介して入力さ
れるバンク幅(N=2)および信号線103を介して入
力される配列データAのアクセス中のバンク番号から開
始不能バンク範囲が算出される。
6でアクセスしようとしている配列データへのバンク番
号12が入力され、信号線104を介して配列データB
の先頭バンク番号18が人力されており、第3図を用い
て説明したように、あらかじめ設定されているバンクサ
イクル時間(Tc=5)、信号線106を介して入力さ
れるバンク幅(N=2)および信号線103を介して入
力される配列データAのアクセス中のバンク番号から開
始不能バンク範囲が算出される。
この結果、開始不能バンク範囲はバンク番号12を基点
としてN (Tc−1)−8バンク前から(N/2)(
Tc + 1)= 6バンク後までの範囲となり、時刻
T7以降に配列データBのアクセスが配列データAのア
クセスと交互に実行できるためには、配列データBの開
始バンク番号は4よりも小さいか18よりも大きくなく
てはならない。いま、レジスタ11から信号線104を
介して入力される配列データBの開始バンク番号は18
であるため、アクセス可能であると判定される。
としてN (Tc−1)−8バンク前から(N/2)(
Tc + 1)= 6バンク後までの範囲となり、時刻
T7以降に配列データBのアクセスが配列データAのア
クセスと交互に実行できるためには、配列データBの開
始バンク番号は4よりも小さいか18よりも大きくなく
てはならない。いま、レジスタ11から信号線104を
介して入力される配列データBの開始バンク番号は18
であるため、アクセス可能であると判定される。
したがって、アクセス制御回路20は、時刻T6で要素
A6を処理を開始した後、時刻T7以降は配列データA
の全要素を処理するまで配列データBへのアクセスと配
列データAへのアクセスとを交互に繰り返す。
A6を処理を開始した後、時刻T7以降は配列データA
の全要素を処理するまで配列データBへのアクセスと配
列データAへのアクセスとを交互に繰り返す。
以上、後続のアクセス要求の処理をただちに開始できる
場合についての動作例を示したが、21 VEのアクセ
ス要求が時刻T3からTcまでの間に先頭バンク番号の
値が4できた場合も、第4図(A)および(B)に示す
ように、時刻T6まで開始が待ち合わされ、時刻T7以
降に同様に動作することは容易に理解できる。
場合についての動作例を示したが、21 VEのアクセ
ス要求が時刻T3からTcまでの間に先頭バンク番号の
値が4できた場合も、第4図(A)および(B)に示す
ように、時刻T6まで開始が待ち合わされ、時刻T7以
降に同様に動作することは容易に理解できる。
なお、本発明のメモリアクセス制御方式がその効果を十
分に出すためには、アクセスバンク幅Nとバンクサイク
ル時間Tcとから求められる開始不能バンク範囲よりも
メモリの総バンク数が十分に大きいことが望ましい。
分に出すためには、アクセスバンク幅Nとバンクサイク
ル時間Tcとから求められる開始不能バンク範囲よりも
メモリの総バンク数が十分に大きいことが望ましい。
以上説明したように本発明は、先行する配列データのア
クセス中に後続の配列データアクセス要求があった場合
でも、毎マシンサイクルのバンク幅が同じならば計算に
よりバンク競合の発生しない時点から再配列データに対
するアクセスを並行して処理することにより、節明でか
つ少ないハードウェア量で演算の立上りの良いメモリア
クセスが可能になるという効果がある。
クセス中に後続の配列データアクセス要求があった場合
でも、毎マシンサイクルのバンク幅が同じならば計算に
よりバンク競合の発生しない時点から再配列データに対
するアクセスを並行して処理することにより、節明でか
つ少ないハードウェア量で演算の立上りの良いメモリア
クセスが可能になるという効果がある。
第1図は本発明の一実施例を示すブロック図、第2図(
A)および(B)はベクトル演Jγにおけるメモリアク
セス制御方式を説明するための処理過程図、 第3図は本発明の詳細な説明するための使用バンクの遷
移図、 第4図(A)および(B)は本発明の一実施例における
使用バンクの遷移図およびタイミングチヤードである。 図において、 10.11.12.15・・・レジスタ、13・・・セ
レクタ、 14・・・加算器、 20・・・アクセス制御回路、 21・・・比較器である。
A)および(B)はベクトル演Jγにおけるメモリアク
セス制御方式を説明するための処理過程図、 第3図は本発明の詳細な説明するための使用バンクの遷
移図、 第4図(A)および(B)は本発明の一実施例における
使用バンクの遷移図およびタイミングチヤードである。 図において、 10.11.12.15・・・レジスタ、13・・・セ
レクタ、 14・・・加算器、 20・・・アクセス制御回路、 21・・・比較器である。
Claims (1)
- 【特許請求の範囲】 互いに独立に動作可能な複数のバンクから構成されバン
ク番号順にアドレス付けられたメモリに一定間隔で記憶
されている配列データを順次アクセスするメモリアクセ
ス制御方式において、先行する第1配列データへのアク
セス中に第2配列データへのアクセス要求が出されたと
きに第1配列データアクセスによる毎マシンサイクルの
バンク幅と第2配列データアクセスによる毎マシンサイ
クルのバンク幅とが同一であるか否かを判定する比較手
段と、 この比較手段で前記第1配列データアクセスによる毎マ
シンサイクルのバンク幅と前記第2配列データアクセス
による毎マシンサイクルのバンク幅とが同一であると判
定されたときにバンクサイクル時間と前記バンク幅とそ
の時刻での前記第1配列データのアクセスバンク番号と
から前記時刻以降にバンク幅を半分としたときの使用予
定バンクに対して前記第2配列データを同様に半分のバ
ンク幅でアクセスした場合にバンク競合を発生しない開
始可能バンク範囲を算出して前記第2配列データの開始
バンク番号と照合し、前記第2配列データの開始バンク
番号が前記開始可能バンク範囲にある場合には前記第2
配列データアクセスと前記第1配列データアクセスとを
交互に処理するように制御し、前記第2配列データの開
始バンク番号が前記開始可能バンク範囲にない場合には
前記第1配列データアクセスを続行するとともに前記開
始可能バンク範囲の更新と照合とを繰り返し前記第2配
列データの開始バンク番号が前記開始可能バンク範囲と
なったときに前記第2配列データアクセスと前記第1配
列データアクセスとを交互に処理するように制御するア
クセス制御手段と、を有することを特徴とするメモリア
クセス制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1631686A JPS62174873A (ja) | 1986-01-28 | 1986-01-28 | メモリアクセス制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1631686A JPS62174873A (ja) | 1986-01-28 | 1986-01-28 | メモリアクセス制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS62174873A true JPS62174873A (ja) | 1987-07-31 |
Family
ID=11913099
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1631686A Pending JPS62174873A (ja) | 1986-01-28 | 1986-01-28 | メモリアクセス制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62174873A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01284966A (ja) * | 1988-05-11 | 1989-11-16 | Nec Corp | データ処理装置 |
-
1986
- 1986-01-28 JP JP1631686A patent/JPS62174873A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01284966A (ja) * | 1988-05-11 | 1989-11-16 | Nec Corp | データ処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1345125B1 (en) | Dynamic random access memory system with bank conflict avoidance feature | |
| US5134695A (en) | Method and apparatus for constant stride accessing to memories in vector processor | |
| EP0208870B1 (en) | Vector data processor | |
| US5253346A (en) | Method and apparatus for data transfer between processor elements | |
| US7305507B2 (en) | Multi-stage round robin arbitration system | |
| US4371924A (en) | Computer system apparatus for prefetching data requested by a peripheral device from memory | |
| JPH0622034B2 (ja) | マルチポートベクトルレジスタファイル | |
| JPS6235949A (ja) | メモリ−装置 | |
| JPS62174873A (ja) | メモリアクセス制御方式 | |
| JPH02126365A (ja) | 情報処理装置 | |
| JPS60205760A (ja) | メモリ制御装置 | |
| JPH06175911A (ja) | メモリ制御方式 | |
| JPS62264366A (ja) | メモリアクセス制御方式 | |
| JP4079460B2 (ja) | パケット転送装置 | |
| JPS59178667A (ja) | メモリ装置 | |
| JPH01316871A (ja) | ベクトル処理装置 | |
| JPS61255448A (ja) | メモリアクセス制御装置 | |
| JPS63181050A (ja) | 記憶アクセス制御方式 | |
| JPH0769896B2 (ja) | ベクトル処理システム | |
| JPS584375B2 (ja) | メモリ・アクセス制御方式 | |
| JPS6119072B2 (ja) | ||
| JPS6126104B2 (ja) | ||
| JPH04246764A (ja) | データ処理装置 | |
| JPH06162226A (ja) | 並列プロセッサ制御装置 | |
| JPS63229540A (ja) | 記憶アクセス制御方式 |