JP2000267927A - メモリアクセス処理装置 - Google Patents

メモリアクセス処理装置

Info

Publication number
JP2000267927A
JP2000267927A JP11069582A JP6958299A JP2000267927A JP 2000267927 A JP2000267927 A JP 2000267927A JP 11069582 A JP11069582 A JP 11069582A JP 6958299 A JP6958299 A JP 6958299A JP 2000267927 A JP2000267927 A JP 2000267927A
Authority
JP
Japan
Prior art keywords
memory access
data
transfer
elements
memory
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
JP11069582A
Other languages
English (en)
Other versions
JP3425885B2 (ja
Inventor
Yasuhiro Igawa
康宏 井川
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP06958299A priority Critical patent/JP3425885B2/ja
Publication of JP2000267927A publication Critical patent/JP2000267927A/ja
Application granted granted Critical
Publication of JP3425885B2 publication Critical patent/JP3425885B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 複数の要素を並列にメモリアクセスする場合
に、同一アドレスを有する複数の要素間で転送順序保証
できるメモリアクセス処理装置を提供する。 【解決手段】 複数のデータ要素で構成された転送デー
タを一回の転送命令でメモリアクセスするメモリアクセ
ス処理装置において、一のメモリアクセスリクエスト内
に存在し同一アドレスを有する複数の転送データ要素に
ついてのメモリアクセスを所定の順序で行うようにする
順序保証手段(41、42、45)を設けた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリアクセス装
置に関するものであり、特に、ノード間でのデータ転送
に好適に用いられるメモリアクセス装置に関する。
【0002】
【従来の技術】複数のプロセッサと共有メモリを有する
ノードにおいては、ノード内の命令処理性能が高いた
め、ノード間のデータ転送においても高いデータ転送性
能が求められる。
【0003】このノード間のデータ転送性能は、マシン
サイクルによる転送速度を上げることと、転送データの
データ幅を拡大して一度に転送できるデータ量を増やす
ことで向上させることができる。転送データ幅を拡大し
てノード間のデータ転送性能を向上させる場合には、ノ
ード間の転送データ幅の拡大と共にノード内のメモリ転
送性能も向上させる必要がある。
【0004】このようなノード間におけるデータ転送方
式の一例が特開平5−108581号公報に開示されて
いる。この公報には、マルチプロセッサシステムの分散
メモリを一つのノードとした装置が記載されている。こ
こでは、プロセッサ内に設けたノード間データ転送制御
部からそのプロセッサが所有する分散メモリに対してア
クセスする際に、二次元配列データの一部であるサブア
レイデータを1回の転送命令の発行でアクセスするよう
にしている。すなわち、転送開始アドレス(B)、第1
の要素間距離(D1)および第2の要素間距離(D2)
によって規定されるサブアレイデータについて当該サブ
アレイデータを構成する要素毎に順次メモリアドレスを
生成し、メモリアクセスリクエストを発行してデータの
転送を行うようにしている。
【0005】
【発明が解決しようとする課題】しかし、この転送方式
では、データ幅が大きい場合、例えば2ディスタンス転
送などで複数の要素を並列にメモリ転送する場合に、転
送順序が保証されないことがある。
【0006】すなわち、一のメモリリクエスト内に同一
アドレスを持つ要素が複数存在する場合、これら要素間
でアクセス順序が保証されず先行するメモリアクセス要
素を、後に発行した要素が追い越してメモリアクセスす
る場合がある。同一アドレスを有する要素間でこのよう
な追い越しが発生すると、本来後続の要素が書き込まれ
ているはずのアドレスに先行する要素が上書きしてしま
うことになり、ソフトウエアが期待するメモリ動作がな
されないという問題がある。
【0007】本発明は、この問題を解決して、ノード間
転送において複数の要素を並列にメモリアクセスする場
合に、同一アドレスを有する複数の要素間で転送順序を
保証して、メモリ動作が正しく行われるようにしたメモ
リアクセス処理装置を提供するものである。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、本発明のメモリアクセス処理装置は、複数のデータ
要素で構成された転送データを一回の転送命令でメモリ
アクセスするメモリアクセス処理装置において、当該処
理装置が、一のメモリアクセスリクエスト内に存在し同
一アドレスを有する複数の転送データ要素についてのメ
モリアクセスを所定の順序で行うようにする順序保証手
段を具えることを特徴とする。
【0009】このように、本発明のメモリアクセス処理
装置は、一のメモリアクセスリクエスト内に存在し、同
一アドレスを有する転送データ要素について順序保証を
行い、これらの要素間において後続する要素が先行する
要素に先立ってメモリアクセスすることがないようにし
て、ソフトウエアの期待するメモリ動作を正確に実現で
きるようにしている。
【0010】また、本発明のメモリアクセス装置は、前
記転送データを複数の転送データ要素からなるデータブ
ロックに分けて、このデータブロック毎にメモリアクセ
スを行い、前記同一アドレスを有する転送データ要素の
うちの先行するデータ要素を含むデータブロックのメモ
リアクセスの終了を待ち合わせて後続のデータ要素を含
むデータブロックのメモリアクセスを行うことによって
前記順序保証を行うことを特徴とする。
【0011】ブロック毎に転送を行うことによって、デ
ータの転送性能を高めることができ、同一アドレスを有
する転送データ要素のうちの先行する要素を含むデータ
ブロックのメモリアクセス終了を待ち合わせて、後続の
データ要素を含むデータブロックのメモリアクセスを行
うことによって、データ間の順序保証を好適に行うこと
ができる。
【0012】更に、本発明のメモリアクセス装置は、前
記データの転送を転送データの転送開始アドレス(B)
と、第1の要素間距離(D1)と、第2の要素間距離
(D2)と、第1の要素数(L1)と、第2の要素数
(L2)とで規定される2ディスタンス転送で行い、前
記データブロックを前記第1の要素間距離と前記第1の
要素数とで決まる転送データ要素で構成したことを特徴
とする。
【0013】転送の形式を2ディスタンス転送とするこ
とにより、より効率よくデータを転送することができ
る。
【0014】また、本発明のメモリアクセス装置は、一
のメモリアクセスリクエスト中に同一アドレスを有する
複数のデータ転送要素が存在するか否かを検出する同一
アドレス検出手段を具え、当該同一アドレス検出手段が
一のメモリアクセス中に同一アドレスを有する複数のデ
ータ転送要素の存在を検出したときのみ前記順序保証を
行うことを特徴とする。
【0015】すべてのメモリリクエストについて前記順
序保証を行うと、メモリ転送性能の劣化を招くため、本
発明の好適な実施形態では、一のメモリリクエスト内で
転送するデータの要素間に同一アドレスが存在するか否
かを検出して、同一アドレスの存在を検出したときのみ
前記順序保証を行うようにした。
【0016】更に、本発明のメモリアクセス装置は、前
記同一アドレス検出手段が前記第1の要素間距離と第2
の要素間距離の絶対値を比較して、 (1)前記第1の要素間距離が第2の要素間距離より小
さく(|D1|<|D2|)、D1×(L1−1)で実
現されるエリアより前記第2の要素間距離(D2)が小
さい場合; (2)前記第1の要素間距離が第2の要素間距離より大
きく(|D1|>|D2|)、D2×(L2−1)で実
現されるエリアより第1の要素間距離(D1)が小さい
場合;または (3)前記第1の要素間距離と第2の要素間距離とが等
しい(|D1|=|D2|)場合; に前記順序保証を行うようにしたことを特徴とする。
【0017】このように、同一アドレスの検出をエリア
比較により近似的に行うようにすることによって、同一
アドレス検出に必要なハードウエアの量を抑えることが
できる。
【0018】また、前記順序保証はストア動作時のみ行
うようにして処理機能の劣化を防ぐことが好ましい。ロ
ードアクセス時には要素間で追い越しが生じても、同一
データを読み出すことになるので、順序保証を行う必要
がないためである。
【0019】さらに、本発明のメモリアクセス処理装置
は、転送する要素についてのメモリアクセスを発行する
メモリアクセス発行管理部と、転送データのメモリアク
セス状態を監視して前記発行管理部で発行したメモリア
クセスが終了したことを検出して前記発行管理部に通知
するメモリアクセス状態管理部とを具え、前記順序保証
を行う場合に、先行する要素を含むデータブロックのメ
モリアクセスの終了を前記メモリアクセス状態管理部で
確認した後に、前記メモリアクセス発行管理部が後続の
要素を含むデータブロックのメモリアクセスを発行する
ようにした。
【0020】このように構成することによって、要素間
の追い越しが発生することなく、かつ、メモリアクセス
機能の劣化を招くことのないアクセス処理装置を好適に
実現することができる。
【0021】
【発明の実施の形態】図1は、本発明にかかるメモリア
クセス処理装置を好適に適用することができる情報処理
装置の構成を示す図である。情報処理装置1は、複数の
ノード22−0〜22−nと、これらのノードを互いに
接続するノード間クロスバスイッチ21で構成されてい
る。
【0022】各ノード22は複数のプロセッサ23と、
これらのノード間のデータ転送を処理するノード間制御
部(RCU)24と、すべてのプロセッサ23とノード
間制御部(RCU)24とに接続された共有メモリ25
とを具える。
【0023】いずれかのノード内のいずれかのプロセッ
サ23から、そのノード内のRCU24にデータ転送リ
クエストが送られると、各ノード間のデータ転送が起動
される。例えば、ノード22−0の共有メモリ25−0
内のデータをノード22−nの共有メモリ25−0に転
送する場合は、RCU24−0がプロセッサ23からデ
ータ転送リクエストを受け取り、転送するデータを共有
メモリ25−0から読み出して、これをクロスバスイッ
チ21に転送する。
【0024】クロスバスイッチ21は、転送されてきた
データの行き先ノード(ノード22−n)に応じてクロ
スバを切り替えて、転送先のノード22−nにデータを
転送する。ノード22−nは、クロスバスイッチ21か
ら送られてきた転送データをRCU24−nで受信し
て、これを共有メモリ25−nに書き込むことによって
ノード間のデータ転送が実現する。
【0025】図2は、ノード間制御部RCU24の詳細
な構成を示す図である。上述したとおり、ノード間転送
を行う場合、ノード間での転送速度と、転送データをメ
モリに書き込む速度あるいはメモリから読み出す速度が
同じでないと転送性能が劣化してしまう。このため、通
常、一度に転送するデータのデータ幅を広げることによ
ってノード間のデータ転送性能を向上させるようにして
いる。図2に示す例では、8バイトを1要素として、デ
ータ幅4要素のデータを一度にメモリアクセスするよう
にしている。
【0026】図2に示すように、各ノードに設けられた
RCU24は、クロスバスイッチ21を介して他のノー
ドから送られてきた転送要求を受け取り転送制御を行っ
ている。RCU24は、転送制御部31と、メモリアク
セス制御部32と、データ受信バッファ33と、メモリ
アドレス/ストアデータクロスバ34と、ロードデータ
クロスバ35と、データ送信バッファ36とを具えてい
る。
【0027】ノード間転送データを受信する際には、転
送制御部31がクロスバスイッチ21を介して他ノード
からの転送要求を受け取って、メモリアクセスリクエス
トを発行してメモリアクセス制御部32へ送る。メモリ
アクセス制御部32では、これに基づいてメモリアドレ
スを生成し、これをメモリアドレス/ストアデータクロ
スバ34に送る。
【0028】一方、データ受信バッファ33は、ノード
間クロスバスイッチ31を介して他ノードから転送され
てくるデータを一時的に格納しておく。ここでは、複数
の要素を(本例では転送幅4要素分)同時に格納するこ
とができる。データ受信バッファ33に格納されたデー
タはメモリアドレス/ストアクロスバ34に送られる。
【0029】メモリアドレス/ストアデータクロスバ3
4では、データ受信バッファ33を介して他ノードから
送られてきたデータ(4要素)と、メモリアクセス制御
部32から送られてきたこの4要素に対応するメモリア
ドレスをクロスバにより共有メモリ25の接続ポートに
転送する。この接続ポートは、各要素が示すメモリアド
レスによってインターリーブされ、共有メモリ25の所
定のメモリ位置と接続している。このクロスバによる転
送はメモリアクセス制御部32によって制御されてい
る。
【0030】共有メモリ25では、メモリアドレス/ス
トアクロスバ34から送られてきたアドレス位置にデー
タを書き込むことにより、ノード間受信データを格納す
る。
【0031】また、他ノードへデータを送信する際に
は、ノード間データ転送制御部31が、ノード22内の
いずれかのプロセッサ23からデータ送信リクエストを
受け取り、メモリアクセス制御部32に対してメモリロ
ードリクエストを発行する。メモリアクセス制御部32
は、このメモリロードリクエストから4要素分のロード
アドレスを生成してメモリアドレス/ストアクロスバ3
4に送る。メモリアドレス/ストアクロスバ34は、こ
のアドレスを共有メモリ25の所定の位置に接続された
ポートに送り、共有メモリ25では送られてきたアドレ
スに従ってメモリからデータを読み出して、これをロー
ドデータクロスバ35の接続ポートに送る。
【0032】ロードデータクロスバ35は、メモリアク
セス制御部32の制御の下、このデータをデータ送信バ
ッファ36に送り、データ送信バッファ36は、ノード
間データ転送制御部31の制御に基づいて、このデータ
をノード間クロスバスイッチ21に送信する。クロスバ
スイッチ21がこのデータを指示された転送先ノードに
転送することにより、データ送信が終了する。
【0033】図3は、メモリアクセス制御部32とメモ
リアドレス/ストアデータクロスバ34の詳細な構成を
示す図である。
【0034】図3に示すとおり、メモリアクセス制御部
32は、同一アドレス検出部41と、発行管理部42
と、アドレス生成部43a〜43dと、メモリアクセス
状態監視部45と、競合調停部46とを具える。一方、
メモリアドレス/データクロスバ34は、第1のレジス
タ51a〜51dと、選択回路52a〜52dと、第2
のレジスタ53a〜53dとを具える。
【0035】同一アドレス検出部41は、ノード間デー
タ転送制御部31からのメモリアクセス情報61を受け
取って、後述するエリア比較により、一のメモリリクエ
スト内に同一アドレスにアクセスする複数のデータ要素
が存在するか否かを検出する。
【0036】メモリアクセス情報61は、転送データの
転送開始アドレス(B)、第1の要素間距離(D1)、
第2の要素間距離(D2)、第1の要素数(L1)およ
び第2の要素数(L2)とからなる。
【0037】同一アドレス検出部41は、一のリクエス
ト内に同一アドレスにアクセスする要素が複数あること
を検出した場合、発行管理部42に同一アドレス信号を
通知する。発行管理部42は、第1の要素間距離D1及
び第1の要素数L1で表される要素群を1ブロックとし
て、このブロック単位でメモリアクセス命令を発行す
る。同一アドレス検出部41にて複数の要素について同
一アドレスが存在することが検出されて、発行管理部4
4に通知されると、発行管理部44では一ブロックのメ
モリアクセスが終了する毎に発行したすべての要素につ
いてのメモリアクセスが終了するまで、次のブロックの
メモリアクセスを行わず、待ち合わせを行う。
【0038】メモリアクセス状態監視部45では、共有
メモリ25に発行したメモリアクセスがすべて終了した
か否かを、メモリ25からのアクセス終了信号62を受
け取る事によって監視しており、すべての要素について
メモリアクセスが終了するとメモリアクセス終了信号6
2を発行管理部42に通知する。
【0039】発行管理部42では、一のリクエスト内に
同一アドレスにアクセスする複数の要素が存在すること
を確認した場合は、一ブロックについてのメモリアクセ
ス終了信号62が通知されるまで、後続のブロックのメ
モリアクセスを行わないため、同一アドレスにアクセス
する複数の要素間で後続の要素が先行する要素を追い越
してアクセスすることがなく、メモリアクセスの順序が
要素順に保証される。なお、一のリクエスト内で同一ア
ドレスが検出されない場合には、要素間で追い越しがあ
っても問題がないため、先行ブロックのメモリアクセス
終了まで待ち合わせることなく、逐次メモリアクセスを
発行してメモリ転送性能の向上を図るようにしている。
【0040】発行管理部42は、アドレス生成回路43
aに各要素のベースアドレス(B’)を、43bに要素
間距離(D)を、43cに要素間距離×2(2D)を、
43dに要素間距離×3(3D)を送り、各アドレス生
成回路43a〜43dはこの情報に基づいて、一度にメ
モリアクセスする4つの要素のアドレスを生成してメモ
リアドレス/ストアデータクロスバ34に転送する。
【0041】ここで、ストアリクエストの場合は、アド
レス生成回路43a〜43dからここで生成された各ア
ドレスが、および、データ受信バッファ33から信号線
81〜84を介して各要素のデータがメモリアドレス/
ストアデータクロスバ34へ送られ、これらのアドレス
及びデータが第1のレジスタ51a〜51bに格納され
る。格納されたアドレス及びデータは競合調停回路46
によって調停され、ポート選択回路52a〜52dで選
択されたポートに転送されて第2のレジスタ53a〜5
3dに格納される。第2のレジスタに格納されたアドレ
ス及びデータは各ポート毎に信号線91〜94を介して
共有メモリ25に送られ、該当するアドレス位置にデー
タの書き込みが行われる。
【0042】なお、ロードリクエストの場合は、データ
は送られずアドレスのみが共有メモリ25に送られ、こ
のアドレス位置のデータが読み出されてロードデータク
ロスバ35に送られる。
【0043】要素間の追い越しは、メモリアドレス/ス
トアデータクロスバ34で複数要素を並列に処理してい
るために発生する。すなわち、各要素についてクロスバ
34の入力ポートによって、メモリアクセスする経路が
異なるため、先行するメモリアクセス要素を、後に発行
した要素が追い越してメモリアクセスする場合がある。
従って、第1ブロックと第2ブロックのメモリアクセス
を連続的に行うと、これらのブロックを構成している要
素間で後続要素が先にメモリアクセスしてしまうことが
ある。同一アドレスを持つ要素間で要素間の追い越しが
発生すると、本来後続ブロックの要素が書き込まれてい
るはずのアドレスに先行ブロックの要素が上書きされて
しまい、期待されるメモリアクセス動作が行われない。
【0044】この問題を解決するため、本実施形態では
ブロック間で同一アドレスが存在することを確認した場
合は、先行ブロックのメモリアクセス終了をメモリアク
セス終了を待って後続ブロックのメモリアクセスを行な
うことによってメモリアクセスの順序を確実に保証する
ようにしている。なお、上述したとおり、ブロック間で
同一アドレスが検出されない場合は、この待ち合わせ動
作を行うことなく、第1のブロックのメモリアクセス命
令を発行後、連続して第2のブロックのメモリアクセス
命令を発行するようにして、処理効率を上げるようにし
ている。
【0045】次いで、本発明の実施形態におけるメモリ
アクセスの待ち合わせ動作を2ディスタンス転送を例に
とって説明する。図4及び図5は、2ディスタンス転送
によって転送されるデータブロックの例を示す図であ
る。図4に示す例では、転送データは、転送データの転
送開始アドレス(B)と、第1の要素間距離(D1:本
例では8バイト)、第1の要素間距離により転送する要
素数(L1:本例では4要素)、第2の要素間距離(D
2:本例では64バイト)および第2の要素間距離によ
り転送する要素数(L2:本例では4要素)で設定され
ており、これらB、D1、D2、L1、L2で規定され
る全要素が一括して転送される。ここで、第1の要素間
距離と第1の要素数によって示されるアドレス範囲を1
つのブロックとしており、第2の要素間距離D2は、各
ブロックの先頭要素間の距離、また、第2の要素間距離
により転送する要素数はこの第2の要素間距離で転送さ
れるブロック数である。図4において、上記B、D1、
D2、L1、L2で転送されるデータの範囲は太線で囲
まれた要素である。
【0046】この例では、転送データはD1およびL1
で示されるブロック、すなわちe00、e01、e0
2、d03の4つの要素でなる第1ブロック、e04、
e05、e06、e07の要素でなる第2のブロック、
e08、e09、e10、e11の要素でなる第3のブ
ロック、およびe12、e13、e14、e15の要素
でなる第4のブロックの、4つのブロックで構成されて
おり、ここでD1が0でない限り各要素が同一アドレス
にアクセスすることはない。従って、この設定では、上
述した要素間の追い越しを意識することなくメモリアク
セスすることができる。
【0047】一方、図5(a)に示す例では、第1の要
素間距離D1(8バイト)、第2の要素間距離D2(1
6バイト)、第1の要素数L1(4要素)、第2の要素
数L2(5ブロック)の設定で2ディスタンス転送が行
われる。ここでは、図5(b)に示すように、要素02
と要素04、要素03と要素05、要素04と要素0
6...要素15と要素17とがそれぞれ同一アドレス
を有している。
【0048】このような同一アドレスを有する複数の要
素を含む転送データを、例えば4要素を同時に処理でき
るクロスバを用いてメモリに格納すると、入力の際には
同一アドレスを有する要素02と要素04はそれぞれ別
の信号線入力される(入力タイミングは異なる)が、出
力の際には要素02と04が同一の出力ポートに出力さ
れる。このとき、例えば、メモリにバンクビジーが生じ
ていると、要素02と要素04とが同一タイミングで同
一出力ポートへ出力しようとする。このような場合は、
通常優先順位を調停して出力する要素が決定されるが、
転送スループットを高めるためにラウンドロビン制御等
を用いて優先順位を決定している場合は、要素04が要
素02より先にメモリに出力されることがある。このよ
うな場合には、要素番号順にメモリアクセスが行われな
いため、本来は要素番号の大きい要素04のデータがメ
モリに残るはずが、要素04に追い越された要素02の
データがメモリに残ってしまい、ソフトウエアの期待す
るメモリ動作が実行されない。
【0049】このように、図5に示す設定(第1要素間
距離D1:8バイト、第2要素間距離D2:16バイ
ト、第1要素数L1:4要素、第2要素数L2:5ブロ
ック)で2ディスタンス転送が行われると、一のメモリ
アクセス内に同一アドレスが存在することになり同一ア
ドレスを有する要素間で追い越しが発生する。本実施形
態ではでは、この追い越しの発生を防ぐために、先行ブ
ロックのメモリアクセスの終了を待ち合わせて後続ブロ
ックのメモリアクセスを行うようにしている。
【0050】すなわち、図5に示す例では、要素00−
03、要素04−07、要素08−11、要素12−1
5、要素16−19と、第2要素間距離D2で区切られ
る要素グループ(ブロック)を待ち合わせを行う処理単
位として、第1のグループ(要素00−03)を最初に
メモリアクセスして、このメモリアクセスの終了を待っ
て第2のグループ(要素04−07)のメモリアクセス
命令を発行するようにしている(以下、第3、第4、第
5グループについても同様)。この待ち合わせを行うこ
とにより、第1グループの要素02のメモリアクセス処
理を第2グループの要素04のメモリアクセス処理が追
い越すことがなくなり(以下、第3、第4、第5グルー
プについても同様)、順序保証を行うことができる。
【0051】ただし、この待ち合わせ処理を行うと、先
行ブロックのメモリアクセス終了まで次のブロックのメ
モリアクセスが行われないため、メモリアクセスの性能
的には不利なものとなる。そこで、本発明の装置では、
一度に転送する要素のうち複数の要素に同一アドレスが
あるかどうかを検出して、上述の待ち合わせ処理を、同
一アドレスを有する要素がある場合にのみ行うようにし
ている。
【0052】図6は、図3に示す同一アドレス検出回路
41における同一アドレス検出動作を説明するための図
である。2ディスタンスデータ転送を行う時には、ノー
ド間データ転送制御部31から転送開始アドレスB、第
1要素間距離D1、第2要素間距離D2、第1要素数L
1、第2要素数L2が設定されたメモリアクセスリクエ
スト61が同一アドレス検出回路41に送られてくる。
同一アドレス検出回路41では、第1要素間距離D1と
第2要素間距離D2の絶対値の比較を行い、更に、以下
のエリア比較を行って、同一アドレスを有する要素が存
在するか否かの検出を行っている。
【0053】ここで、|D1|<|D2|の場合であ
って、D1×(L1−1)で実現されるエリア以上にD
2が大きい場合は、複数要素が同一アドレスにアクセス
することがない。この場合、同一アドレス検出部41
は、発行管理部42に同一アドレス無としてリクエスト
を送る。発行管理部42では、これを受けて、データ転
送時にブロック毎の順序保証動作を行わず順次メモリア
クセスを発行する。
【0054】なお、|D1|<|D2|の場合であっ
て、D1×(L1−1)で実現されるエリアよりD2が
小さい場合は、同一アドレスに複数要素がアドレスする
可能性があるため、同一アドレス検出回路41は発行管
理部42に対して同一アドレス有との報告を行う。発行
管理部42ではこの報告を受けて、ブロック毎に状態監
視部16の処理終了信号を待ち合わせて、後続ブロック
のリクエストを発行するようにして、順序保証を行う。
【0055】同様に、|D1|<|D2|の場合であ
って、D2×(L2−1)で実現されるエリア以上にD
1が大きい場合は、複数要素が同一アドレスにアクセス
することがなく、また、|D1|<|D2|の場合であ
って、D2×(L2−1)で実現されるエリア以上にD
1が小さいと同一アドレスにアクセスする可能性があ
る。従って、D2×(L2−1)で実現されるエリアに
対するD1の大きさに応じて発行管理部1012に同一
アドレス有、あるいは同一アドレス無の報告を行う。
【0056】なお、|D1|=|D2|の場合は、同
一アドレスへのアクセスとなるので、発行管理部42に
同一アドレス有の報告を行う。
【0057】このように、同一アドレスの検出をエリア
比較により近似的に行うことによって、検出に必要なハ
ードウエア量を小さく抑えることができる。
【0058】なお、ロードアクセス時には、要素間で追
い越しがあっても同一データを読み出すことになり何ら
問題が生じないため、本例では、共有メモリへのストア
動作時にのみこの順序保証動作を行うようにしている。
発行管理部42では、ロード動作かストア動作かを判断
して、順序保証を行うか否かの制御を行う。
【0059】このように、メモリストア時にのみ順序保
証を行うようにすることにより、順序保証動作によるメ
モリ転送性能の劣化を最小限に抑えることができる。
【0060】
【発明の効果】上述したとおり、本発明のメモリアクセ
ス処理装置では、必要に応じて転送データ要素について
メモリアクセスの順序保証を行うようにしているため、
一のメモリアクセスリクエスト内に同一アドレスを有す
る要素が複数存在するような場合でも、期待されるメモ
リ動作を正しく行うことができる。また、同一アドレス
を有する要素が複数存在するか否かを検出して、このよ
うな要素が存在する場合にも前記順序保証を行うように
しているので、データの転送性能を大幅に劣化させるこ
とがない。更に、同一アドレスを有する要素が複数存在
するか否かの検出をエリア比較を用いて近似的に行うよ
うにしているため、順序保証を行うために必要なハード
ウエア量を抑えることができる。
【図面の簡単な説明】
【図1】図1は、本発明のメモリアクセス処理装置を適
用する情報処理装置の構成を示す図である。
【図2】図2は、図1に示す情報処理装置のノード間制
御部の詳細な構成を示す図である。
【図3】図3は、図1に示す情報処理装置のメモリアク
セス制御部とメモリアドレス/データクロスバの詳細な
構成を示す図である。
【図4】図4は、2ディスタンス転送で転送するデータ
構成の一例を示す図である。
【図5】図5は、2ディスタンス転送で転送するデータ
構成の他の例を示す図である。
【図6】図6は、本発明の装置における同一アドレスの
検出を説明するための図である。
【符号の説明】
1 情報処理装置 21 クロスバスイッチ 22 ノード 23 プロセッサ 24 ノード間制御部 25 共有メモリ 31 転送制御部 32 メモリアクセス制御部 33 データ受信バッファ 34 メモリアドレス/ストアデータクロスバ 35 ロードデータクロスバ 36 データ送信バッファ 41 同一アドレス検出部 42 発行管理部 43a〜43d アドレス生成部 45 メモリアクセス状態監視部 46 競合調停部 51、53 レジスタ 52 選択回路 61 メモリアクセス情報 62 メモリアクセス終了信号

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータ要素で構成された転送デー
    タを一回の転送命令でメモリアクセスするメモリアクセ
    ス処理装置において、当該処理装置が、一のメモリアク
    セスリクエスト内に存在し同一アドレスを有する複数の
    転送データ要素についてのメモリアクセスを所定の順序
    で行うようにする順序保証手段を具えることを特徴とす
    るメモリアクセス装置。
  2. 【請求項2】 請求項1に記載のメモリアクセス装置に
    おいて、前記転送データを複数の転送データ要素からな
    るデータブロックに分けて、このデータブロック毎にメ
    モリアクセスを行い、前記同一アドレスを有する転送デ
    ータ要素のうちの先行するデータ要素を含むデータブロ
    ックのメモリアクセスの終了を待ち合わせて後続のデー
    タ要素を含むデータブロックのメモリアクセスを行うこ
    とによって前記順序保証を行うことを特徴とするメモリ
    アクセス装置。
  3. 【請求項3】 請求項2に記載のメモリアクセス装置に
    おいて、前記データの転送を転送データの転送開始アド
    レス(B)と、第1の要素間距離(D1)と、第2の要
    素間距離(D2)と、第1の要素数(L1)と、第2の
    要素数(L2)とで規定される2ディスタンス転送で行
    い、前記データブロックを前記第1の要素間距離と前記
    第1の要素数とで決まる転送データ要素で構成したこと
    を特徴とするメモリアクセス装置。
  4. 【請求項4】 請求項1ないし3のいずれかに記載のメ
    モリアクセス装置において、当該処理装置が、一のメモ
    リアクセスリクエスト中に同一アドレスを有する複数の
    データ転送要素が存在するか否かを検出する同一アドレ
    ス検出手段を具え、当該同一アドレス検出手段が一のメ
    モリアクセス中に同一アドレスを有する複数のデータ転
    送要素の存在を検出したときのみ前記順序保証を行うこ
    とを特徴とするメモリアクセス装置。
  5. 【請求項5】 請求項3または4に記載のメモリアクセ
    ス装置において、前記同一アドレス検出手段が前記第1
    の要素間距離と第2の要素間距離の絶対値を比較して、 (1)前記第1の要素間距離が第2の要素間距離より小
    さく(|D1|<|D2|)、D1×(L1−1)で実
    現されるエリアより前記第2の要素間距離(D2)が小
    さい場合; (2)前記第1の要素間距離が第2の要素間距離より大
    きく(|D1|>|D2|)、D2×(L2−1)で実
    現されるエリアより第1の要素間距離(D1)が小さい
    場合;または (3)前記第1の要素間距離と第2の要素間距離とが等
    しい(|D1|=|D2|)場合;に、 一のメモリアクセスリクエスト内に同一アドレスを有す
    る複数の転送データ有として前記順序保証を行うように
    したことを特徴とするメモリアクセス装置。
  6. 【請求項6】 請求項1ないし5のいずれかに記載のメ
    モリアクセス処理装置において、前記順序保証動作をス
    トア動作の時のみ行うようにしたことを特徴とするメモ
    リアクセス処理装置。
  7. 【請求項7】 請求項1ないし6のいずれかに記載のメ
    モリアクセス処理装置において、前記装置が、更に、転
    送する要素についてのメモリアクセスを発行するメモリ
    アクセス発行管理部と、転送データのメモリアクセス状
    態を監視して前記発行管理部で発行したメモリアクセス
    が終了したことを検出して前記発行管理部に通知するメ
    モリアクセス状態管理部とを具え、前記順序保証を行う
    場合に、先行する要素を含むデータブロックのメモリア
    クセスの終了を前記メモリアクセス状態管理部で確認し
    た後に、前記メモリアクセス発行管理部が後続の要素を
    含むデータブロックのメモリアクセスを発行するように
    した事を特徴とするメモリアクセス処理装置。
JP06958299A 1999-03-16 1999-03-16 メモリアクセス処理装置 Expired - Fee Related JP3425885B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06958299A JP3425885B2 (ja) 1999-03-16 1999-03-16 メモリアクセス処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06958299A JP3425885B2 (ja) 1999-03-16 1999-03-16 メモリアクセス処理装置

Publications (2)

Publication Number Publication Date
JP2000267927A true JP2000267927A (ja) 2000-09-29
JP3425885B2 JP3425885B2 (ja) 2003-07-14

Family

ID=13406965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06958299A Expired - Fee Related JP3425885B2 (ja) 1999-03-16 1999-03-16 メモリアクセス処理装置

Country Status (1)

Country Link
JP (1) JP3425885B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155580B2 (en) 2002-07-25 2006-12-26 Nec Corporation Information processing apparatus and method of controlling memory thereof
US7336657B2 (en) 2001-07-31 2008-02-26 Nec Corporation Inter-nodal data transfer system and data transfer apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7336657B2 (en) 2001-07-31 2008-02-26 Nec Corporation Inter-nodal data transfer system and data transfer apparatus
US7155580B2 (en) 2002-07-25 2006-12-26 Nec Corporation Information processing apparatus and method of controlling memory thereof

Also Published As

Publication number Publication date
JP3425885B2 (ja) 2003-07-14

Similar Documents

Publication Publication Date Title
US5278975A (en) Synchronization control system in a parallel computer
JP3639319B2 (ja) 並列計算機システム,データ転送制御方法および送受信制御装置
US6339812B1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
JP2000267927A (ja) メモリアクセス処理装置
KR100357284B1 (ko) 코프로세서 방식의 원칩 비동기 마이크로 프로세서 간의인터페이스 회로
US6701407B1 (en) Multiprocessor system with system modules each having processors, and a data transfer method therefor
JP3508857B2 (ja) ノード間データ転送方法およびデータ転送装置
JPH04260962A (ja) 並列計算機における同期制御方式
JPH08212178A (ja) 並列計算機
JP3251723B2 (ja) 放送通信方法
JP2003178038A (ja) ノード間データ転送方法及びノード間データ転送装置
JP3791463B2 (ja) 演算装置及びデータ転送システム
JPH0567055A (ja) 外部バスを複数有するマルチプロセツサシステム
JP2820054B2 (ja) バスインタフェース装置
JP2785990B2 (ja) 入出力ポートの状態管理機能を持ったパケット交換スイッチ
JP5120765B2 (ja) 並列計算機システム
EP1193606B1 (en) Apparatus and method for a host port interface unit in a digital signal processing unit
JPS61118847A (ja) メモリの同時アクセス制御方式
JP2504528B2 (ja) 主記憶制御装置間バス制御方式
JP3211694B2 (ja) マルチプロセッサ接続方式
JP2000132527A (ja) プロセッサ間通信制御装置
JP2003308248A (ja) メモリ制御装置
JPH10232825A (ja) キャッシュメモリ制御方式
JPH07334453A (ja) メモリアクセスシステム
JPH0512219A (ja) プロセス転送方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090509

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100509

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees