JP3425885B2 - Memory access processor - Google Patents

Memory access processor

Info

Publication number
JP3425885B2
JP3425885B2 JP06958299A JP6958299A JP3425885B2 JP 3425885 B2 JP3425885 B2 JP 3425885B2 JP 06958299 A JP06958299 A JP 06958299A JP 6958299 A JP6958299 A JP 6958299A JP 3425885 B2 JP3425885 B2 JP 3425885B2
Authority
JP
Japan
Prior art keywords
memory access
data
inter
transfer
elements
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.)
Expired - Fee Related
Application number
JP06958299A
Other languages
Japanese (ja)
Other versions
JP2000267927A (en
Inventor
康宏 井川
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/en
Publication of JP2000267927A publication Critical patent/JP2000267927A/en
Application granted granted Critical
Publication of JP3425885B2 publication Critical patent/JP3425885B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、メモリアクセス装
置に関するものであり、特に、ノード間でのデータ転送
に好適に用いられるメモリアクセス装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory access device, and more particularly, it relates to a memory access device preferably used for data transfer between nodes.

【0002】[0002]

【従来の技術】複数のプロセッサと共有メモリを有する
ノードにおいては、ノード内の命令処理性能が高いた
め、ノード間のデータ転送においても高いデータ転送性
能が求められる。
2. Description of the Related Art In a node having a plurality of processors and a shared memory, since the instruction processing performance in the node is high, high data transfer performance is required even in the data transfer between the nodes.

【0003】このノード間のデータ転送性能は、マシン
サイクルによる転送速度を上げることと、転送データの
データ幅を拡大して一度に転送できるデータ量を増やす
ことで向上させることができる。転送データ幅を拡大し
てノード間のデータ転送性能を向上させる場合には、ノ
ード間の転送データ幅の拡大と共にノード内のメモリ転
送性能も向上させる必要がある。
The data transfer performance between the nodes can be improved by increasing the transfer rate by the machine cycle and expanding the data width of the transfer data to increase the amount of data that can be transferred at one time. When the transfer data width is expanded to improve the data transfer performance between the nodes, it is necessary to improve the memory transfer performance within the node as well as the transfer data width between the nodes.

【0004】このようなノード間におけるデータ転送方
式の一例が特開平5−108581号公報に開示されて
いる。この公報には、マルチプロセッサシステムの分散
メモリを一つのノードとした装置が記載されている。こ
こでは、プロセッサ内に設けたノード間データ転送制御
部からそのプロセッサが所有する分散メモリに対してア
クセスする際に、二次元配列データの一部であるサブア
レイデータを1回の転送命令の発行でアクセスするよう
にしている。すなわち、転送開始アドレス(B)、第1
の要素間距離(D1)および第2の要素間距離(D2)
によって規定されるサブアレイデータについて当該サブ
アレイデータを構成する要素毎に順次メモリアドレスを
生成し、メモリアクセスリクエストを発行してデータの
転送を行うようにしている。
An example of a data transfer method between such nodes is disclosed in Japanese Patent Laid-Open No. 5-108581. This publication describes a device in which a distributed memory of a multiprocessor system is used as one node. Here, when the inter-node data transfer control unit provided in the processor accesses the distributed memory owned by the processor, the sub-array data that is a part of the two-dimensional array data can be issued by one transfer instruction. I try to access it. That is, the transfer start address (B), the first
Element distance (D1) and second element distance (D2)
With respect to the sub-array data defined by, the memory address is sequentially generated for each element forming the sub-array data, and the memory access request is issued to transfer the data.

【0005】[0005]

【発明が解決しようとする課題】しかし、この転送方式
では、データ幅が大きい場合、例えば2ディスタンス転
送などで複数の要素を並列にメモリ転送する場合に、転
送順序が保証されないことがある。
However, in this transfer method, the transfer order may not be guaranteed when the data width is large, for example, when a plurality of elements are transferred in parallel in a memory by 2-distance transfer.

【0006】すなわち、一のメモリリクエスト内に同一
アドレスを持つ要素が複数存在する場合、これら要素間
でアクセス順序が保証されず先行するメモリアクセス要
素を、後に発行した要素が追い越してメモリアクセスす
る場合がある。同一アドレスを有する要素間でこのよう
な追い越しが発生すると、本来後続の要素が書き込まれ
ているはずのアドレスに先行する要素が上書きしてしま
うことになり、ソフトウエアが期待するメモリ動作がな
されないという問題がある。
That is, when there are a plurality of elements having the same address in one memory request, the access order is not guaranteed between these elements, and the preceding memory access element overtakes the memory access element issued later. There is. When such overtaking occurs between elements having the same address, the element preceding the address where the following element should have been originally written will be overwritten, and the memory operation expected by the software will not be performed. There is a problem.

【0007】本発明は、この問題を解決して、ノード間
転送において複数の要素を並列にメモリアクセスする場
合に、同一アドレスを有する複数の要素間で転送順序を
保証して、メモリ動作が正しく行われるようにしたメモ
リアクセス処理装置を提供するものである。
The present invention solves this problem and guarantees a transfer order between a plurality of elements having the same address when a plurality of elements are memory-accessed in parallel in a node-to-node transfer so that the memory operation is correct. The present invention provides a memory access processing device adapted to be performed.

【0008】[0008]

【課題を解決するための手段】上記課題を解決するため
に、本発明のメモリアクセス処理装置は、複数のデータ
要素で構成された転送データを一回の転送命令でメモリ
アクセスするメモリアクセス処理装置において、当該処
理装置が、一のメモリアクセスリクエスト内に存在し同
一アドレスを有する複数の転送データ要素についてのメ
モリアクセスを所定の順序で行うようにする順序保証手
段を具えることを特徴とする。
In order to solve the above-mentioned problems, a memory access processing device of the present invention is a memory access processing device for performing memory access to transfer data composed of a plurality of data elements by one transfer instruction. In the above, the processing device is provided with an order assurance means for performing memory access for a plurality of transfer data elements existing in one memory access request and having the same address in a predetermined order.

【0009】このように、本発明のメモリアクセス処理
装置は、一のメモリアクセスリクエスト内に存在し、同
一アドレスを有する転送データ要素について順序保証を
行い、これらの要素間において後続する要素が先行する
要素に先立ってメモリアクセスすることがないようにし
て、ソフトウエアの期待するメモリ動作を正確に実現で
きるようにしている。
As described above, the memory access processing device of the present invention guarantees the order of transfer data elements existing in one memory access request and having the same address, and the succeeding element precedes these elements. By not accessing the memory prior to the element, the memory operation expected by the software can be realized accurately.

【0010】また、本発明のメモリアクセス装置は、前
記転送データを複数の転送データ要素からなるデータブ
ロックに分けて、このデータブロック毎にメモリアクセ
スを行い、前記同一アドレスを有する転送データ要素の
うちの先行するデータ要素を含むデータブロックのメモ
リアクセスの終了を待ち合わせて後続のデータ要素を含
むデータブロックのメモリアクセスを行うことによって
前記順序保証を行うことを特徴とする。
Further, the memory access device of the present invention divides the transfer data into data blocks consisting of a plurality of transfer data elements, performs a memory access for each data block, and transfers among the transfer data elements having the same address. The order guarantee is performed by waiting for the end of the memory access of the data block including the preceding data element and performing the memory access of the data block including the subsequent data element.

【0011】ブロック毎に転送を行うことによって、デ
ータの転送性能を高めることができ、同一アドレスを有
する転送データ要素のうちの先行する要素を含むデータ
ブロックのメモリアクセス終了を待ち合わせて、後続の
データ要素を含むデータブロックのメモリアクセスを行
うことによって、データ間の順序保証を好適に行うこと
ができる。
By performing the transfer for each block, it is possible to improve the data transfer performance, wait for the memory access end of the data block including the preceding element of the transfer data elements having the same address, and wait for the subsequent data. By performing the memory access of the data block including the element, the order guarantee between the data can be preferably performed.

【0012】更に、本発明のメモリアクセス装置は、前
記データの転送を転送データの転送開始アドレス(B)
と、第1の要素間距離(D1)と、第2の要素間距離
(D2)と、第1の要素数(L1)と、第2の要素数
(L2)とで規定される2ディスタンス転送で行い、前
記データブロックを前記第1の要素間距離と前記第1の
要素数とで決まる転送データ要素で構成したことを特徴
とする。
Further, in the memory access device of the present invention, the transfer of the data is performed by the transfer start address (B) of the transfer data.
, A first distance between elements (D1), a second distance between elements (D2), a first number of elements (L1), and a second distance transfer defined by a second number of elements (L2) The data block is composed of transfer data elements determined by the first inter-element distance and the first number of elements.

【0013】転送の形式を2ディスタンス転送とするこ
とにより、より効率よくデータを転送することができ
る。
By setting the transfer format to be two-distance transfer, data can be transferred more efficiently.

【0014】また、本発明のメモリアクセス装置は、一
のメモリアクセスリクエスト中に同一アドレスを有する
複数のデータ転送要素が存在するか否かを検出する同一
アドレス検出手段を具え、当該同一アドレス検出手段が
一のメモリアクセス中に同一アドレスを有する複数のデ
ータ転送要素の存在を検出したときのみ前記順序保証を
行うことを特徴とする。
Also, the memory access device of the present invention comprises the same address detection means for detecting whether or not there are a plurality of data transfer elements having the same address in one memory access request, and the same address detection means. Is to guarantee the order only when it detects the presence of a plurality of data transfer elements having the same address during one memory access.

【0015】すべてのメモリリクエストについて前記順
序保証を行うと、メモリ転送性能の劣化を招くため、本
発明の好適な実施形態では、一のメモリリクエスト内で
転送するデータの要素間に同一アドレスが存在するか否
かを検出して、同一アドレスの存在を検出したときのみ
前記順序保証を行うようにした。
If the order guarantee is performed for all memory requests, the memory transfer performance is deteriorated. Therefore, in the preferred embodiment of the present invention, the same address exists between the elements of the data to be transferred in one memory request. It is determined whether or not to perform the order guarantee only when the presence of the same address is detected.

【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|)場合; に前記順序保証を行うようにしたことを特徴とする。
Further, in the memory access device of the present invention, the same address detecting means is provided with the first inter-element distance and the second inter-element distance.
(1) The first inter-element distance is smaller than the second inter-element distance (| D1 | <| D2 |), and D1 × (L1-1) is realized. The second inter-element distance (D2) is smaller than the area to be defined; (2) the first inter-element distance is larger than the second inter-element distance (| D1 |> | D2 |), D2 × ( L2-1) the first inter-element distance (D1) is smaller than the area realized; or (3) the first inter-element distance is equal to the second inter-element distance (| D1 | = | D2 |) case; is characterized in that the order guarantee is performed.

【0017】このように、同一アドレスの検出をエリア
比較により近似的に行うようにすることによって、同一
アドレス検出に必要なハードウエアの量を抑えることが
できる。
In this way, by detecting the same address approximately by area comparison, the amount of hardware required for detecting the same address can be suppressed.

【0018】また、前記順序保証はストア動作時のみ行
うようにして処理機能の劣化を防ぐことが好ましい。ロ
ードアクセス時には要素間で追い越しが生じても、同一
データを読み出すことになるので、順序保証を行う必要
がないためである。
Further, it is preferable that the order guarantee is performed only during a store operation to prevent deterioration of processing functions. This is because the same data is read even if overtaking occurs between elements at the time of load access, so order guarantee is not necessary.

【0019】さらに、本発明のメモリアクセス処理装置
は、転送する要素についてのメモリアクセスを発行する
メモリアクセス発行管理部と、転送データのメモリアク
セス状態を監視して前記発行管理部で発行したメモリア
クセスが終了したことを検出して前記発行管理部に通知
するメモリアクセス状態管理部とを具え、前記順序保証
を行う場合に、先行する要素を含むデータブロックのメ
モリアクセスの終了を前記メモリアクセス状態管理部で
確認した後に、前記メモリアクセス発行管理部が後続の
要素を含むデータブロックのメモリアクセスを発行する
ようにした。
Further, the memory access processing device of the present invention is such that a memory access issue management unit for issuing memory access for an element to be transferred and a memory access issued by the issue management unit by monitoring the memory access state of transfer data. A memory access state management unit that detects the end of the memory access and notifies the issuance management unit, and when the order guarantee is performed, the memory access state management of the end of the memory access of the data block including the preceding element is performed. After confirming by the section, the memory access issue management section issues the memory access of the data block including the subsequent element.

【0020】このように構成することによって、要素間
の追い越しが発生することなく、かつ、メモリアクセス
機能の劣化を招くことのないアクセス処理装置を好適に
実現することができる。
With such a configuration, it is possible to preferably realize an access processing device in which overtaking between elements does not occur and the memory access function is not deteriorated.

【0021】[0021]

【発明の実施の形態】図1は、本発明にかかるメモリア
クセス処理装置を好適に適用することができる情報処理
装置の構成を示す図である。情報処理装置1は、複数の
ノード22−0〜22−nと、これらのノードを互いに
接続するノード間クロスバスイッチ21で構成されてい
る。
1 is a diagram showing a configuration of an information processing apparatus to which a memory access processing apparatus according to the present invention can be suitably applied. The information processing device 1 includes a plurality of nodes 22-0 to 22-n and an internode crossbar switch 21 that connects these nodes to each other.

【0022】各ノード22は複数のプロセッサ23と、
これらのノード間のデータ転送を処理するノード間制御
部(RCU)24と、すべてのプロセッサ23とノード
間制御部(RCU)24とに接続された共有メモリ25
とを具える。
Each node 22 has a plurality of processors 23,
Inter-node control unit (RCU) 24 that processes data transfer between these nodes, and shared memory 25 connected to all processors 23 and inter-node control unit (RCU) 24
And with.

【0023】いずれかのノード内のいずれかのプロセッ
サ23から、そのノード内のRCU24にデータ転送リ
クエストが送られると、各ノード間のデータ転送が起動
される。例えば、ノード22−0の共有メモリ25−0
内のデータをノード22−nの共有メモリ25−0に転
送する場合は、RCU24−0がプロセッサ23からデ
ータ転送リクエストを受け取り、転送するデータを共有
メモリ25−0から読み出して、これをクロスバスイッ
チ21に転送する。
When a data transfer request is sent from any processor 23 in any node to the RCU 24 in that node, data transfer between the nodes is activated. For example, the shared memory 25-0 of the node 22-0
To transfer the data in the shared memory 25-0 of the node 22-n, the RCU 24-0 receives the data transfer request from the processor 23, reads the data to be transferred from the shared memory 25-0, and then sends the data to the crossbar switch. 21.

【0024】クロスバスイッチ21は、転送されてきた
データの行き先ノード(ノード22−n)に応じてクロ
スバを切り替えて、転送先のノード22−nにデータを
転送する。ノード22−nは、クロスバスイッチ21か
ら送られてきた転送データをRCU24−nで受信し
て、これを共有メモリ25−nに書き込むことによって
ノード間のデータ転送が実現する。
The crossbar switch 21 switches the crossbar according to the destination node (node 22-n) of the transferred data, and transfers the data to the transfer destination node 22-n. In the node 22-n, the transfer data sent from the crossbar switch 21 is received by the RCU 24-n and written in the shared memory 25-n, whereby the data transfer between the nodes is realized.

【0025】図2は、ノード間制御部RCU24の詳細
な構成を示す図である。上述したとおり、ノード間転送
を行う場合、ノード間での転送速度と、転送データをメ
モリに書き込む速度あるいはメモリから読み出す速度が
同じでないと転送性能が劣化してしまう。このため、通
常、一度に転送するデータのデータ幅を広げることによ
ってノード間のデータ転送性能を向上させるようにして
いる。図2に示す例では、8バイトを1要素として、デ
ータ幅4要素のデータを一度にメモリアクセスするよう
にしている。
FIG. 2 is a diagram showing a detailed configuration of the inter-node control unit RCU24. As described above, when performing inter-node transfer, the transfer performance deteriorates unless the transfer speed between the nodes is the same as the transfer data write speed or the memory read speed. Therefore, usually, the data transfer performance between nodes is improved by expanding the data width of the data transferred at one time. In the example shown in FIG. 2, 8 bytes is set as one element, and data having a data width of 4 elements is accessed at one time.

【0026】図2に示すように、各ノードに設けられた
RCU24は、クロスバスイッチ21を介して他のノー
ドから送られてきた転送要求を受け取り転送制御を行っ
ている。RCU24は、転送制御部31と、メモリアク
セス制御部32と、データ受信バッファ33と、メモリ
アドレス/ストアデータクロスバ34と、ロードデータ
クロスバ35と、データ送信バッファ36とを具えてい
る。
As shown in FIG. 2, the RCU 24 provided in each node receives a transfer request sent from another node via the crossbar switch 21 and controls transfer. The RCU 24 includes a transfer control unit 31, a memory access control unit 32, a data reception buffer 33, a memory address / store data crossbar 34, a load data crossbar 35, and a data transmission buffer 36.

【0027】ノード間転送データを受信する際には、転
送制御部31がクロスバスイッチ21を介して他ノード
からの転送要求を受け取って、メモリアクセスリクエス
トを発行してメモリアクセス制御部32へ送る。メモリ
アクセス制御部32では、これに基づいてメモリアドレ
スを生成し、これをメモリアドレス/ストアデータクロ
スバ34に送る。
When receiving the inter-node transfer data, the transfer control unit 31 receives a transfer request from another node via the crossbar switch 21, issues a memory access request, and sends it to the memory access control unit 32. The memory access control unit 32 generates a memory address based on this, and sends it to the memory address / store data crossbar 34.

【0028】一方、データ受信バッファ33は、ノード
間クロスバスイッチ31を介して他ノードから転送され
てくるデータを一時的に格納しておく。ここでは、複数
の要素を(本例では転送幅4要素分)同時に格納するこ
とができる。データ受信バッファ33に格納されたデー
タはメモリアドレス/ストアクロスバ34に送られる。
On the other hand, the data reception buffer 33 temporarily stores the data transferred from another node via the internode crossbar switch 31. Here, a plurality of elements (in this example, four transfer width elements) can be stored simultaneously. The data stored in the data reception buffer 33 is sent to the memory address / store crossbar 34.

【0029】メモリアドレス/ストアデータクロスバ3
4では、データ受信バッファ33を介して他ノードから
送られてきたデータ(4要素)と、メモリアクセス制御
部32から送られてきたこの4要素に対応するメモリア
ドレスをクロスバにより共有メモリ25の接続ポートに
転送する。この接続ポートは、各要素が示すメモリアド
レスによってインターリーブされ、共有メモリ25の所
定のメモリ位置と接続している。このクロスバによる転
送はメモリアクセス制御部32によって制御されてい
る。
Memory address / store data crossbar 3
In 4, the data (4 elements) sent from another node via the data reception buffer 33 and the memory addresses corresponding to these 4 elements sent from the memory access control unit 32 are connected to the shared memory 25 by the crossbar. Forward to port. The connection port is interleaved with the memory address indicated by each element, and is connected to a predetermined memory position of the shared memory 25. The transfer by the crossbar is controlled by the memory access control unit 32.

【0030】共有メモリ25では、メモリアドレス/ス
トアクロスバ34から送られてきたアドレス位置にデー
タを書き込むことにより、ノード間受信データを格納す
る。
The shared memory 25 stores the inter-node received data by writing the data in the address position sent from the memory address / store crossbar 34.

【0031】また、他ノードへデータを送信する際に
は、ノード間データ転送制御部31が、ノード22内の
いずれかのプロセッサ23からデータ送信リクエストを
受け取り、メモリアクセス制御部32に対してメモリロ
ードリクエストを発行する。メモリアクセス制御部32
は、このメモリロードリクエストから4要素分のロード
アドレスを生成してメモリアドレス/ストアクロスバ3
4に送る。メモリアドレス/ストアクロスバ34は、こ
のアドレスを共有メモリ25の所定の位置に接続された
ポートに送り、共有メモリ25では送られてきたアドレ
スに従ってメモリからデータを読み出して、これをロー
ドデータクロスバ35の接続ポートに送る。
When transmitting data to another node, the inter-node data transfer control unit 31 receives a data transmission request from any one of the processors 23 in the node 22 and sends a memory access control unit 32 a memory. Issue a load request. Memory access control unit 32
Generates a load address for four elements from this memory load request to generate a memory address / store crossbar 3
Send to 4. The memory address / store crossbar 34 sends this address to a port connected to a predetermined position of the shared memory 25, the shared memory 25 reads data from the memory in accordance with the sent address, and the read address is stored in the load data crossbar 35. Send to connection port.

【0032】ロードデータクロスバ35は、メモリアク
セス制御部32の制御の下、このデータをデータ送信バ
ッファ36に送り、データ送信バッファ36は、ノード
間データ転送制御部31の制御に基づいて、このデータ
をノード間クロスバスイッチ21に送信する。クロスバ
スイッチ21がこのデータを指示された転送先ノードに
転送することにより、データ送信が終了する。
The load data crossbar 35 sends this data to the data transmission buffer 36 under the control of the memory access control unit 32, and the data transmission buffer 36 receives this data under the control of the internode data transfer control unit 31. Is transmitted to the crossbar switch 21 between nodes. The data transmission is completed by the crossbar switch 21 transferring this data to the designated transfer destination node.

【0033】図3は、メモリアクセス制御部32とメモ
リアドレス/ストアデータクロスバ34の詳細な構成を
示す図である。
FIG. 3 is a diagram showing a detailed configuration of the memory access control unit 32 and the memory address / store data crossbar 34.

【0034】図3に示すとおり、メモリアクセス制御部
32は、同一アドレス検出部41と、発行管理部42
と、アドレス生成部43a〜43dと、メモリアクセス
状態監視部45と、競合調停部46とを具える。一方、
メモリアドレス/データクロスバ34は、第1のレジス
タ51a〜51dと、選択回路52a〜52dと、第2
のレジスタ53a〜53dとを具える。
As shown in FIG. 3, the memory access controller 32 includes the same address detector 41 and the issue manager 42.
And address generation units 43a to 43d, a memory access state monitoring unit 45, and a contention arbitration unit 46. on the other hand,
The memory address / data crossbar 34 includes a first register 51a to 51d, a selection circuit 52a to 52d, and a second register.
And registers 53a to 53d.

【0035】同一アドレス検出部41は、ノード間デー
タ転送制御部31からのメモリアクセス情報61を受け
取って、後述するエリア比較により、一のメモリリクエ
スト内に同一アドレスにアクセスする複数のデータ要素
が存在するか否かを検出する。
The same address detection unit 41 receives the memory access information 61 from the inter-node data transfer control unit 31, and by area comparison described later, there is a plurality of data elements accessing the same address in one memory request. It is detected whether or not to do.

【0036】メモリアクセス情報61は、転送データの
転送開始アドレス(B)、第1の要素間距離(D1)、
第2の要素間距離(D2)、第1の要素数(L1)およ
び第2の要素数(L2)とからなる。
The memory access information 61 includes a transfer start address (B) of transfer data, a first inter-element distance (D1),
It comprises a second inter-element distance (D2), a first element number (L1) and a second element number (L2).

【0037】同一アドレス検出部41は、一のリクエス
ト内に同一アドレスにアクセスする要素が複数あること
を検出した場合、発行管理部42に同一アドレス信号を
通知する。発行管理部42は、第1の要素間距離D1及
び第1の要素数L1で表される要素群を1ブロックとし
て、このブロック単位でメモリアクセス命令を発行す
る。同一アドレス検出部41にて複数の要素について同
一アドレスが存在することが検出されて、発行管理部4
4に通知されると、発行管理部44では一ブロックのメ
モリアクセスが終了する毎に発行したすべての要素につ
いてのメモリアクセスが終了するまで、次のブロックの
メモリアクセスを行わず、待ち合わせを行う。
When the same address detection unit 41 detects that there are a plurality of elements that access the same address in one request, the same address detection unit 41 notifies the issue management unit 42 of the same address signal. The issue management unit 42 issues a memory access instruction in block units, with an element group represented by the first inter-element distance D1 and the first element number L1 as one block. The same address detection unit 41 detects that the same address exists for a plurality of elements, and the issue management unit 4
4 is notified, the issue management unit 44 does not perform the memory access of the next block and waits until the memory access of all the issued elements is completed every time the memory access of one block is completed.

【0038】メモリアクセス状態監視部45では、共有
メモリ25に発行したメモリアクセスがすべて終了した
か否かを、メモリ25からのアクセス終了信号62を受
け取る事によって監視しており、すべての要素について
メモリアクセスが終了するとメモリアクセス終了信号6
2を発行管理部42に通知する。
The memory access state monitoring unit 45 monitors whether or not all the memory accesses issued to the shared memory 25 are completed by receiving the access end signal 62 from the memory 25, and the memory access status of all the elements is changed. Memory access end signal 6 when access is completed
2 is notified to the issue management unit 42.

【0039】発行管理部42では、一のリクエスト内に
同一アドレスにアクセスする複数の要素が存在すること
を確認した場合は、一ブロックについてのメモリアクセ
ス終了信号62が通知されるまで、後続のブロックのメ
モリアクセスを行わないため、同一アドレスにアクセス
する複数の要素間で後続の要素が先行する要素を追い越
してアクセスすることがなく、メモリアクセスの順序が
要素順に保証される。なお、一のリクエスト内で同一ア
ドレスが検出されない場合には、要素間で追い越しがあ
っても問題がないため、先行ブロックのメモリアクセス
終了まで待ち合わせることなく、逐次メモリアクセスを
発行してメモリ転送性能の向上を図るようにしている。
When the issuance management unit 42 confirms that there are a plurality of elements that access the same address in one request, the succeeding blocks are notified until the memory access end signal 62 for one block is notified. Since the memory access is not performed, the following element does not pass the preceding element among the plurality of elements accessing the same address and the memory access order is guaranteed. Note that if the same address is not detected in one request, there is no problem even if there is an overtaking between elements. Therefore, memory access is issued sequentially without waiting until the memory access of the preceding block is completed. I am trying to improve.

【0040】発行管理部42は、アドレス生成回路43
aに各要素のベースアドレス(B’)を、43bに要素
間距離(D)を、43cに要素間距離×2(2D)を、
43dに要素間距離×3(3D)を送り、各アドレス生
成回路43a〜43dはこの情報に基づいて、一度にメ
モリアクセスする4つの要素のアドレスを生成してメモ
リアドレス/ストアデータクロスバ34に転送する。
The issue management unit 42 includes an address generation circuit 43.
a is the base address (B ') of each element, 43b is the inter-element distance (D), 43c is the inter-element distance x 2 (2D),
The inter-element distance x3 (3D) is sent to 43d, and each address generation circuit 43a to 43d generates addresses of four elements that access the memory at one time based on this information and transfers them to the memory address / store data crossbar 34. To do.

【0041】ここで、ストアリクエストの場合は、アド
レス生成回路43a〜43dからここで生成された各ア
ドレスが、および、データ受信バッファ33から信号線
81〜84を介して各要素のデータがメモリアドレス/
ストアデータクロスバ34へ送られ、これらのアドレス
及びデータが第1のレジスタ51a〜51bに格納され
る。格納されたアドレス及びデータは競合調停回路46
によって調停され、ポート選択回路52a〜52dで選
択されたポートに転送されて第2のレジスタ53a〜5
3dに格納される。第2のレジスタに格納されたアドレ
ス及びデータは各ポート毎に信号線91〜94を介して
共有メモリ25に送られ、該当するアドレス位置にデー
タの書き込みが行われる。
Here, in the case of a store request, the addresses generated here from the address generation circuits 43a to 43d and the data of each element from the data reception buffer 33 via the signal lines 81 to 84 are memory addresses. /
It is sent to the store data crossbar 34, and these addresses and data are stored in the first registers 51a and 51b. The stored address and data are stored in the contention arbitration circuit 46.
Is arbitrated by the second register 53a-5 and transferred to the port selected by the port selection circuit 52a-52d.
It is stored in 3d. The address and data stored in the second register are sent to the shared memory 25 via the signal lines 91 to 94 for each port, and the data is written in the corresponding address position.

【0042】なお、ロードリクエストの場合は、データ
は送られずアドレスのみが共有メモリ25に送られ、こ
のアドレス位置のデータが読み出されてロードデータク
ロスバ35に送られる。
In the case of a load request, no data is sent, only the address is sent to the shared memory 25, the data at this address position is read and sent to the load data crossbar 35.

【0043】要素間の追い越しは、メモリアドレス/ス
トアデータクロスバ34で複数要素を並列に処理してい
るために発生する。すなわち、各要素についてクロスバ
34の入力ポートによって、メモリアクセスする経路が
異なるため、先行するメモリアクセス要素を、後に発行
した要素が追い越してメモリアクセスする場合がある。
従って、第1ブロックと第2ブロックのメモリアクセス
を連続的に行うと、これらのブロックを構成している要
素間で後続要素が先にメモリアクセスしてしまうことが
ある。同一アドレスを持つ要素間で要素間の追い越しが
発生すると、本来後続ブロックの要素が書き込まれてい
るはずのアドレスに先行ブロックの要素が上書きされて
しまい、期待されるメモリアクセス動作が行われない。
Overtaking between elements occurs because the memory address / store data crossbar 34 is processing a plurality of elements in parallel. That is, since the path for memory access differs for each element depending on the input port of the crossbar 34, there is a case where the element issued later overtakes the memory access than the preceding memory access element.
Therefore, if the memory access of the first block and the second block is continuously performed, the subsequent element may access the memory first among the elements configuring these blocks. When an element overtaking occurs between elements having the same address, the element of the preceding block is overwritten at the address where the element of the subsequent block is originally supposed to be written, and the expected memory access operation is not performed.

【0044】この問題を解決するため、本実施形態では
ブロック間で同一アドレスが存在することを確認した場
合は、先行ブロックのメモリアクセス終了をメモリアク
セス終了を待って後続ブロックのメモリアクセスを行な
うことによってメモリアクセスの順序を確実に保証する
ようにしている。なお、上述したとおり、ブロック間で
同一アドレスが検出されない場合は、この待ち合わせ動
作を行うことなく、第1のブロックのメモリアクセス命
令を発行後、連続して第2のブロックのメモリアクセス
命令を発行するようにして、処理効率を上げるようにし
ている。
In order to solve this problem, in the present embodiment, when it is confirmed that the same address exists between blocks, the memory access of the preceding block is waited for and the memory access of the succeeding block is performed. Ensures the order of memory access. As described above, if the same address is not detected between the blocks, the memory access command for the first block is issued and the memory access commands for the second block are issued consecutively without performing this waiting operation. By doing so, the processing efficiency is improved.

【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で転送されるデータの範囲は太線で囲
まれた要素である。
Next, a memory access waiting operation in the embodiment of the present invention will be described by taking a 2-distance transfer as an example. FIG. 4 and FIG. 5 are diagrams showing examples of data blocks transferred by 2-distance transfer. In the example shown in FIG. 4, the transfer data includes the transfer start address (B) of the transfer data, the first inter-element distance (D1: 8 bytes in this example), and the number of elements to be transferred according to the first inter-element distance ( L1: 4 elements in this example), second inter-element distance (D
2: 64 bytes in this example) and the number of elements to be transferred according to the second inter-element distance (L2: 4 elements in this example), and these are all defined by B, D1, D2, L1, and L2. Elements are transferred in a batch. Here, the address range indicated by the first distance between elements and the first number of elements is 1
The second inter-element distance D2 is the distance between the head elements of each block, and the number of elements transferred by the second inter-element distance is the number of blocks transferred by this second inter-element distance. Is. In FIG. 4, B, D1,
The range of the data transferred by D2, L1, and L2 is the element surrounded by the bold line.

【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でない限り各要素が同一アドレス
にアクセスすることはない。従って、この設定では、上
述した要素間の追い越しを意識することなくメモリアク
セスすることができる。
In this example, the transfer data is D1 and L1.
Block indicated by, ie, e00, e01, e0
The first block consisting of four elements 2, d03, e04,
a second block consisting of elements e05, e06, e07,
It is composed of four blocks, a third block composed of elements e08, e09, e10, and e11, and a fourth block composed of elements e12, e13, e14, and e15, unless D1 is 0. Each element never accesses the same address. Therefore, with this setting, memory access can be performed without being aware of the above-mentioned overtaking between elements.

【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とがそれぞれ同一アドレス
を有している。
On the other hand, in the example shown in FIG. 5A, the first inter-element distance D1 (8 bytes) and the second inter-element distance D2 (1
6 bytes), the first number of elements L1 (4 elements), and the second number of elements L2 (5 blocks) are set, and 2-distance transfer is performed. Here, as shown in FIG. 5B, the element 02
And element 04, element 03 and element 05, element 04 and element 0
6. . . The element 15 and the element 17 have the same address.

【0048】このような同一アドレスを有する複数の要
素を含む転送データを、例えば4要素を同時に処理でき
るクロスバを用いてメモリに格納すると、入力の際には
同一アドレスを有する要素02と要素04はそれぞれ別
の信号線入力される(入力タイミングは異なる)が、出
力の際には要素02と04が同一の出力ポートに出力さ
れる。このとき、例えば、メモリにバンクビジーが生じ
ていると、要素02と要素04とが同一タイミングで同
一出力ポートへ出力しようとする。このような場合は、
通常優先順位を調停して出力する要素が決定されるが、
転送スループットを高めるためにラウンドロビン制御等
を用いて優先順位を決定している場合は、要素04が要
素02より先にメモリに出力されることがある。このよ
うな場合には、要素番号順にメモリアクセスが行われな
いため、本来は要素番号の大きい要素04のデータがメ
モリに残るはずが、要素04に追い越された要素02の
データがメモリに残ってしまい、ソフトウエアの期待す
るメモリ動作が実行されない。
When transfer data including a plurality of elements having the same address is stored in the memory by using, for example, a crossbar capable of simultaneously processing four elements, the elements 02 and 04 having the same address are input. Different signal lines are input (input timings are different), but at the time of output, the elements 02 and 04 are output to the same output port. At this time, for example, when the memory is bank busy, the element 02 and the element 04 try to output to the same output port at the same timing. In this case,
Normally, the elements to be arbitrated and output are decided,
When the priority order is determined using round robin control or the like to increase the transfer throughput, the element 04 may be output to the memory before the element 02. In such a case, since the memory access is not performed in the order of the element numbers, the data of the element 04 having a large element number should originally remain in the memory, but the data of the element 02 overtaken by the element 04 remains in the memory. Therefore, the memory operation expected by the software is not executed.

【0049】このように、図5に示す設定(第1要素間
距離D1:8バイト、第2要素間距離D2:16バイ
ト、第1要素数L1:4要素、第2要素数L2:5ブロ
ック)で2ディスタンス転送が行われると、一のメモリ
アクセス内に同一アドレスが存在することになり同一ア
ドレスを有する要素間で追い越しが発生する。本実施形
態ではでは、この追い越しの発生を防ぐために、先行ブ
ロックのメモリアクセスの終了を待ち合わせて後続ブロ
ックのメモリアクセスを行うようにしている。
Thus, the settings shown in FIG. 5 (first inter-element distance D1: 8 bytes, second inter-element distance D2: 16 bytes, first element number L1: 4 elements, second element number L2: 5 blocks) 2), the same address exists in one memory access, and overtaking occurs between elements having the same address. In this embodiment, in order to prevent the occurrence of this overtaking, the memory access of the subsequent block is performed after waiting for the end of the memory access of the preceding block.

【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グルー
プについても同様)、順序保証を行うことができる。
That is, in the example shown in FIG. 5, element 00-
03, element 04-07, element 08-11, element 12-1
5, the element 16-19 and the element group (block) delimited by the second inter-element distance D2 are used as a processing unit for waiting, and the first group (element 00-03) is first memory-accessed to The memory access instruction of the second group (element 04-07) is issued after the end of access (the same applies to the third, fourth, and fifth groups below). By performing this waiting, the memory access processing of the element 02 of the first group is not overtaken by the memory access processing of the element 04 of the second group (hereinafter, the same applies to the third, fourth, and fifth groups), Order guarantees can be made.

【0051】ただし、この待ち合わせ処理を行うと、先
行ブロックのメモリアクセス終了まで次のブロックのメ
モリアクセスが行われないため、メモリアクセスの性能
的には不利なものとなる。そこで、本発明の装置では、
一度に転送する要素のうち複数の要素に同一アドレスが
あるかどうかを検出して、上述の待ち合わせ処理を、同
一アドレスを有する要素がある場合にのみ行うようにし
ている。
However, if this queuing process is performed, the memory access of the next block is not performed until the memory access of the preceding block is completed, which is disadvantageous in terms of memory access performance. Therefore, in the device of the present invention,
It is detected whether a plurality of elements among the elements transferred at the same time have the same address, and the above-mentioned waiting process is performed only when there is an element having the same address.

【0052】図6は、図3に示す同一アドレス検出回路
41における同一アドレス検出動作を説明するための図
である。2ディスタンスデータ転送を行う時には、ノー
ド間データ転送制御部31から転送開始アドレスB、第
1要素間距離D1、第2要素間距離D2、第1要素数L
1、第2要素数L2が設定されたメモリアクセスリクエ
スト61が同一アドレス検出回路41に送られてくる。
同一アドレス検出回路41では、第1要素間距離D1と
第2要素間距離D2の絶対値の比較を行い、更に、以下
のエリア比較を行って、同一アドレスを有する要素が存
在するか否かの検出を行っている。
FIG. 6 is a diagram for explaining the same address detecting operation in the same address detecting circuit 41 shown in FIG. When performing 2-distance data transfer, the transfer start address B, the first inter-element distance D1, the second inter-element distance D2, and the first element number L from the inter-node data transfer control unit 31.
The memory access request 61 in which the first and second element numbers L2 are set is sent to the same address detection circuit 41.
The same address detection circuit 41 compares the absolute values of the first inter-element distance D1 and the second inter-element distance D2, and further performs the following area comparison to determine whether or not there is an element having the same address. It is detecting.

【0053】ここで、|D1|<|D2|の場合であ
って、D1×(L1−1)で実現されるエリア以上にD
2が大きい場合は、複数要素が同一アドレスにアクセス
することがない。この場合、同一アドレス検出部41
は、発行管理部42に同一アドレス無としてリクエスト
を送る。発行管理部42では、これを受けて、データ転
送時にブロック毎の順序保証動作を行わず順次メモリア
クセスを発行する。
Here, in the case of | D1 | <| D2 |, D is larger than the area realized by D1 × (L1-1).
If 2 is large, multiple elements will not access the same address. In this case, the same address detection unit 41
Sends a request to the issue management unit 42 without the same address. In response to this, the issue management unit 42 sequentially issues memory accesses without performing the order guarantee operation for each block during data transfer.

【0054】なお、|D1|<|D2|の場合であっ
て、D1×(L1−1)で実現されるエリアよりD2が
小さい場合は、同一アドレスに複数要素がアドレスする
可能性があるため、同一アドレス検出回路41は発行管
理部42に対して同一アドレス有との報告を行う。発行
管理部42ではこの報告を受けて、ブロック毎に状態監
視部16の処理終了信号を待ち合わせて、後続ブロック
のリクエストを発行するようにして、順序保証を行う。
In the case of | D1 | <| D2 |, and if D2 is smaller than the area realized by D1 × (L1-1), there is a possibility that a plurality of elements may address the same address. The same address detection circuit 41 reports to the issue management unit 42 that the same address exists. In response to this report, the issue management unit 42 waits for the processing end signal of the state monitoring unit 16 for each block and issues a request for the subsequent block to guarantee the order.

【0055】同様に、|D1|<|D2|の場合であ
って、D2×(L2−1)で実現されるエリア以上にD
1が大きい場合は、複数要素が同一アドレスにアクセス
することがなく、また、|D1|<|D2|の場合であ
って、D2×(L2−1)で実現されるエリア以上にD
1が小さいと同一アドレスにアクセスする可能性があ
る。従って、D2×(L2−1)で実現されるエリアに
対するD1の大きさに応じて発行管理部1012に同一
アドレス有、あるいは同一アドレス無の報告を行う。
Similarly, in the case of | D1 | <| D2 |, D is larger than the area realized by D2 × (L2-1).
When 1 is large, a plurality of elements do not access the same address, and when | D1 | <| D2 |, D is larger than the area realized by D2 × (L2-1).
If 1 is small, the same address may be accessed. Therefore, according to the size of D1 with respect to the area realized by D2 × (L2-1), the issue management unit 1012 is notified of the presence or absence of the same address.

【0056】なお、|D1|=|D2|の場合は、同
一アドレスへのアクセスとなるので、発行管理部42に
同一アドレス有の報告を行う。
If | D1 | = | D2 |, the same address is accessed, so the issue management unit 42 is notified that the same address is present.

【0057】このように、同一アドレスの検出をエリア
比較により近似的に行うことによって、検出に必要なハ
ードウエア量を小さく抑えることができる。
As described above, by detecting the same address approximately by area comparison, the amount of hardware required for the detection can be reduced.

【0058】なお、ロードアクセス時には、要素間で追
い越しがあっても同一データを読み出すことになり何ら
問題が生じないため、本例では、共有メモリへのストア
動作時にのみこの順序保証動作を行うようにしている。
発行管理部42では、ロード動作かストア動作かを判断
して、順序保証を行うか否かの制御を行う。
In the load access, the same data is read even if there is an overtaking among the elements and no problem occurs. Therefore, in this example, the order guarantee operation is performed only during the store operation to the shared memory. I have to.
The issue management unit 42 determines whether the operation is a load operation or a store operation, and controls whether or not to guarantee the order.

【0059】このように、メモリストア時にのみ順序保
証を行うようにすることにより、順序保証動作によるメ
モリ転送性能の劣化を最小限に抑えることができる。
As described above, by performing the order guarantee only during the memory store, it is possible to minimize the deterioration of the memory transfer performance due to the order guarantee operation.

【0060】[0060]

【発明の効果】上述したとおり、本発明のメモリアクセ
ス処理装置では、必要に応じて転送データ要素について
メモリアクセスの順序保証を行うようにしているため、
一のメモリアクセスリクエスト内に同一アドレスを有す
る要素が複数存在するような場合でも、期待されるメモ
リ動作を正しく行うことができる。また、同一アドレス
を有する要素が複数存在するか否かを検出して、このよ
うな要素が存在する場合にも前記順序保証を行うように
しているので、データの転送性能を大幅に劣化させるこ
とがない。更に、同一アドレスを有する要素が複数存在
するか否かの検出をエリア比較を用いて近似的に行うよ
うにしているため、順序保証を行うために必要なハード
ウエア量を抑えることができる。
As described above, in the memory access processing device of the present invention, the order of memory access is guaranteed for transfer data elements as necessary.
Even when there are a plurality of elements having the same address in one memory access request, the expected memory operation can be correctly performed. In addition, since it is detected whether or not there are a plurality of elements having the same address and the order guarantee is performed even when such an element exists, the data transfer performance is significantly deteriorated. There is no. Furthermore, since the area comparison is used to approximately detect whether or not there are a plurality of elements having the same address, the amount of hardware required to guarantee the order can be suppressed.

【図面の簡単な説明】[Brief description of drawings]

【図1】図1は、本発明のメモリアクセス処理装置を適
用する情報処理装置の構成を示す図である。
FIG. 1 is a diagram showing a configuration of an information processing device to which a memory access processing device of the present invention is applied.

【図2】図2は、図1に示す情報処理装置のノード間制
御部の詳細な構成を示す図である。
FIG. 2 is a diagram showing a detailed configuration of an internode control unit of the information processing apparatus shown in FIG.

【図3】図3は、図1に示す情報処理装置のメモリアク
セス制御部とメモリアドレス/データクロスバの詳細な
構成を示す図である。
3 is a diagram showing a detailed configuration of a memory access control unit and a memory address / data crossbar of the information processing apparatus shown in FIG.

【図4】図4は、2ディスタンス転送で転送するデータ
構成の一例を示す図である。
FIG. 4 is a diagram showing an example of a data configuration transferred by 2-distance transfer.

【図5】図5は、2ディスタンス転送で転送するデータ
構成の他の例を示す図である。
FIG. 5 is a diagram showing another example of a data structure to be transferred by 2-distance transfer.

【図6】図6は、本発明の装置における同一アドレスの
検出を説明するための図である。
FIG. 6 is a diagram for explaining detection of the same address in the device of the present invention.

【符号の説明】[Explanation of symbols]

1 情報処理装置 21 クロスバスイッチ 22 ノード 23 プロセッサ 24 ノード間制御部 25 共有メモリ 31 転送制御部 32 メモリアクセス制御部 33 データ受信バッファ 34 メモリアドレス/ストアデータクロスバ 35 ロードデータクロスバ 36 データ送信バッファ 41 同一アドレス検出部 42 発行管理部 43a〜43d アドレス生成部 45 メモリアクセス状態監視部 46 競合調停部 51、53 レジスタ 52 選択回路 61 メモリアクセス情報 62 メモリアクセス終了信号 1 Information processing equipment 21 Crossbar switch 22 nodes 23 processors Control unit between 24 nodes 25 shared memory 31 Transfer control unit 32 memory access controller 33 data receive buffer 34 Memory address / store data crossbar 35 Load Data Crossbar 36 data transmission buffer 41 Same address detector 42 Issue Management Department 43a to 43d Address generation unit 45 Memory access status monitor 46 Competitive Mediation Department 51, 53 register 52 selection circuit 61 Memory access information 62 Memory access end signal

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06 G06F 13/16 - 13/18,17/16 ─────────────────────────────────────────────────── ─── Continuation of front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 12/00-12/06 G06F 13/16-13/18, 17/16

Claims (4)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 転送データを複数の転送データ要素でな
るデータブロックに分け、このデータブロック毎にメモ
リアクセスを行うメモリアクセス処理装置において、データ転送を転送データの転送開始アドレス(B)と、
第1の要素間距離(D1)と、第2の要素間距離(D
2)と、第1の要素数(L1)と、第2の要素数(L
2)とで規定される2ディスタンス転送で行い、前記デ
ータブロックが前記第1の要素間距離と前記第1の要素
数とで決まる転送データ要素で構成されており、 前記メモリアクセス処理装置が、一のメモリアクセスリ
クエスト中に同一アドレスを有する複数のデータ転送要
素が存在するか否かを検出する同一アドレス検出手段
と、当該同一アドレス検出手段が一のメモリアクセス中
に同一アドレスを有する複数のデータ転送要素の存在を
検出したときに、前記同一アドレスを有する転送データ
要素のうちの先行するデータ要素を含むデータブロック
のメモリアクセスの終了を待ち合わせて後続のデータブ
ロックのメモリアクセスを行うよう制御する 順序保証手
を具え、前記同一アドレス検出手段は、前記同一アドレスの検出
をエリア比較により近似的に行う ことを特徴とするメモ
リアクセス装置。
1. Transfer data consists of multiple transfer data elements.
Divided into data blocks, and make a memo for each data block.
In the memory access processing device that performs re-access , data transfer is performed by using a transfer start address (B) of transfer data,
The first inter-element distance (D1) and the second inter-element distance (D
2), the first number of elements (L1), and the second number of elements (L1)
2) Performed by 2 distance transfer specified in and
The data block includes the first inter-element distance and the first element.
It is composed of transfer data elements that are determined by the number and the memory access processing device.
Need multiple data transfers with the same address during the quest
Identical address detecting means for detecting whether or not a prime exists
And the same address detection means is accessing one memory
The existence of multiple data transfer elements with the same address
Transfer data having the same address when detected
A data block containing the preceding data element of the elements
Waits for the end of the memory access of the
And a sequence assurance means for controlling to perform lock memory access , wherein the same address detecting means detects the same address.
The memory access device is characterized in that the above is approximately performed by area comparison .
【請求項2】 請求項1に記載のメモリアクセス装置に
おいて、前記同一アドレス検出手段は、前記第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|)場合;に、 一のメモリアクセスリクエスト内に同一アドレスを有す
る複数の転送データが存在すると判断することを特徴と
するメモリアクセス装置。
In the memory access device according to claim 1, wherein the same address detecting means compares the absolute value of the distance between the first element between the distance and the second element, (1) the first When the inter-element distance of 1 is smaller than the second inter-element distance (| D1 | <| D2 |) and the second inter-element distance (D2) is smaller than the area realized by D1 × (L1-1) (2) The first inter-element distance is larger than the second inter-element distance (| D1 |> | D2 |), and the first inter-element distance from the area realized by D2 × (L2-1) ( D1) is small; or (3) when the first inter-element distance and the second inter-element distance are equal (| D1 | = | D2 |); the same address is set in one memory access request. All memory, wherein a plurality of transfer data with is determined to exist Scan apparatus.
【請求項3】 請求項1または2に記載のメモリアクセ
ス処理装置において、前記順序保証動作をストア動作の
時のみ行うようにしたことを特徴とするメモリアクセス
処理装置。
3. The memory access processing device according to claim 1 or 2, wherein the order guarantee operation is performed only during a store operation.
【請求項4】 請求項1ないし3のいずれかに記載のメ
モリアクセス処理装置において、前記装置が、更に、転
送する要素についてのメモリアクセスを発行するメモリ
アクセス発行管理部と、転送データのメモリアクセス状
態を監視して前記発行管理部で発行したメモリアクセス
が終了したことを検出して前記発行管理部に通知するメ
モリアクセス状態管理部とを具え、前記順序保証を行う
場合に、先行する要素を含むデータブロックのメモリア
クセスの終了を前記メモリアクセス状態管理部で確認し
た後に、前記メモリアクセス発行管理部が後続の要素を
含むデータブロックのメモリアクセスを発行するように
した事を特徴とするメモリアクセス処理装置。
4. The memory access processing device according to claim 1, wherein the device further issues a memory access issue management unit that issues memory access for an element to be transferred, and memory access for transfer data. A memory access state management unit that monitors the state and detects that the memory access issued by the issuance management unit has ended, and notifies the issuance management unit of the preceding, and in order to guarantee the order, Memory access characterized in that the memory access issue management unit issues a memory access of a data block including a subsequent element after the memory access state management unit confirms the end of the memory access of the included data block. Processing equipment.
JP06958299A 1999-03-16 1999-03-16 Memory access processor Expired - Fee Related JP3425885B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP06958299A JP3425885B2 (en) 1999-03-16 1999-03-16 Memory access processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06958299A JP3425885B2 (en) 1999-03-16 1999-03-16 Memory access processor

Publications (2)

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

Family

ID=13406965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06958299A Expired - Fee Related JP3425885B2 (en) 1999-03-16 1999-03-16 Memory access processor

Country Status (1)

Country Link
JP (1) JP3425885B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3508857B2 (en) 2001-07-31 2004-03-22 日本電気株式会社 Data transfer method between nodes and data transfer device
JP3734032B2 (en) 2002-07-25 2006-01-11 日本電気株式会社 Information processing apparatus and memory control method thereof

Also Published As

Publication number Publication date
JP2000267927A (en) 2000-09-29

Similar Documents

Publication Publication Date Title
US6078970A (en) System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
EP0334954B1 (en) Layered network
US5515523A (en) Method and apparatus for arbitrating conflicts by monitoring number of access requests per unit of time in multiport memory systems
JPH0581216A (en) Parallel processor
AU655246B2 (en) Synchronous node controllers for switching network
US20040073750A1 (en) Multi-processor type storage control apparatus for performing access control through selector
JPH04312160A (en) Multiprocessor system and its message transmission and reception controller
JPH10510078A (en) Timer manager
US6674751B1 (en) Serialized bus communication and control architecture
US6339812B1 (en) Method and apparatus for handling invalidation requests to processors not present in a computer system
JP3425885B2 (en) Memory access processor
JPH06337843A (en) Data transfer control method
US20050060439A1 (en) Peripheral interface system having dedicated communication channels
JP3508857B2 (en) Data transfer method between nodes and data transfer device
JPH04260962A (en) Synchronization control system in parallel computers
JPH08212178A (en) Parallel computer
US20030108053A1 (en) Node-to-node data transfer method and node-to-node data transfer apparatus
JPH11184761A (en) Read modify write control system
JP3791463B2 (en) Arithmetic unit and data transfer system
JP3251723B2 (en) Broadcast communication method
JP5120765B2 (en) Parallel computer system
JP2785990B2 (en) Packet switch with I / O port status management
JP2820054B2 (en) Bus interface device
JP2984594B2 (en) Multi-cluster information processing system
JPH0546525A (en) File control system

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