JP2002259213A - Parallel computer system - Google Patents

Parallel computer system

Info

Publication number
JP2002259213A
JP2002259213A JP2001053468A JP2001053468A JP2002259213A JP 2002259213 A JP2002259213 A JP 2002259213A JP 2001053468 A JP2001053468 A JP 2001053468A JP 2001053468 A JP2001053468 A JP 2001053468A JP 2002259213 A JP2002259213 A JP 2002259213A
Authority
JP
Japan
Prior art keywords
entry
data
transmission
address
page
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
JP2001053468A
Other languages
Japanese (ja)
Inventor
Shinichi Kato
信一 加藤
Toshio Kawamura
敏雄 川村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001053468A priority Critical patent/JP2002259213A/en
Publication of JP2002259213A publication Critical patent/JP2002259213A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To solve the problem that the acceleration of address conversion by a TLB(translation lookaside buffer) cache can not be expected because the possibility that the TLB cache overflows becomes high when many pieces of long data spreading over a plurality of pages are transferred in a system that exchanges data while performing address conversion between a plurality of nodes. SOLUTION: A field showing whether or not to be overwriteable is prepared on each page entry of the TLB cache, and a means for attaching a priority is provided so as to be able to immediately overwrite in the case of a halfway page entry of data to be transferred and also not to immediately overwrite in the case of the front or last part of the data when a page entry is registered.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、ネットワークによ
って接続された複数のコンピュータから成るコンピュー
タシステムに関し、特に多くのコンピュータがローカル
及び広域ネットワークを介してパケットを送受信する際
にアドレス変換を行なうコンピュータシステムに関係す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer system comprising a plurality of computers connected by a network, and more particularly to a computer system for performing address conversion when many computers transmit and receive packets via local and wide area networks. Involved.

【0002】[0002]

【従来の技術】複数の計算ノード間のメッセージ通信手
段として特開平7−262152号公報の「コンピュー
タシステム」がある。
2. Description of the Related Art As a means for communicating messages between a plurality of computing nodes, there is a "computer system" disclosed in Japanese Patent Application Laid-Open No. Hei 7-262152.

【0003】この公知例では送信データアドレス、送信
フラグアドレス、受信データアドレス、受信フラグアド
レスは局所メモリの実アドレスを示しており、局所メモ
リ内の連続領域のデータ送受信が可能である。この公知
例のようなシステムに対して、局所メモリの実アドレス
空間よりも大きなアドレス空間、即ち、仮想アドレス空
間でデータの送受信を行なおうとすると、送信回路およ
び受信回路内にアドレス変換機構を設ける必要がある。
アドレス変換機構を設けた送信回路や受信回路がデータ
送受信時にアドレス変換する際、仮想アドレスと実アド
レスとの関係を示しているアドレス変換テーブルにアク
セスする必要がある。しかし、仮想アドレスと実アドレ
スとの関係をきめ細かく行なおうとすると、アドレス変
換テーブルのハードウエア物量としては大きくなり、ハ
ードウエアロジックで実現するのは困難である。そこ
で、局所メモリに設けることで容易に実現可能になる
が、アドレス変換テーブルへのアクセス時間が長くな
り、アドレス変換のオーバヘッドが大きくなる。そこ
で、限られたハードウエアの物量を投入し、アドレス変
換テーブルの一部を格納するTLBキャッシュを備える
ことでアドレス変換テーブルへのアクセス時間を短くな
るように工夫している。
In this known example, a transmission data address, a transmission flag address, a reception data address, and a reception flag address indicate real addresses of a local memory, and data can be transmitted and received in a continuous area in the local memory. In a system such as this known example, when data is transmitted and received in an address space larger than the real address space of the local memory, that is, in a virtual address space, an address conversion mechanism is provided in the transmission circuit and the reception circuit. There is a need.
When a transmitting circuit or a receiving circuit provided with an address conversion mechanism performs address conversion during data transmission / reception, it is necessary to access an address conversion table indicating a relationship between a virtual address and a real address. However, if the relationship between the virtual address and the real address is to be finely performed, the hardware amount of the address conversion table becomes large, and it is difficult to realize the hardware by the hardware logic. Therefore, this can be easily realized by providing the memory in the local memory, but the access time to the address conversion table is lengthened, and the overhead of the address conversion is increased. Therefore, a limited amount of hardware is input, and a TLB cache for storing a part of the address conversion table is provided to shorten the access time to the address conversion table.

【0004】[0004]

【発明が解決しようとする課題】一般的なTLBキャッ
シュの制御方法としてFIFO方式やLRU方式があ
り、これらの方式を利用してTLBキャッシュを管理す
る。図9に仮想アドレス空間と実アドレス空間上のデー
タの例を示す。ここでは転送するデータ701が仮想ア
ドレス空間702と実アドレス空間703との関係を示
すアドレス変換単位をページ704と呼ぶ。ページ番号
と実アドレス空間の先頭アドレスとの関係を記述したエ
ントリを複数備えたアドレス変換テーブルにより、仮想
アドレス空間702のページ704はこのように自由に
実アドレス空間703に割り当てることが可能である。
この例ではデータ701はページ番号1から4までの広
範囲に渡っており、実アドレスに変換する際に、TLB
キャッシュに対して4ページ分ものページエントリの登
録が必要になる。TLBキャッシュには限られた数のペ
ージエントリしか格納できないので、ページ704を複
数に渡るような長いデータ701を多数転送している
と、直ぐに一杯になってしまい溢れる。ページ番号1や
4などのデータ転送にはまだ使用されていない領域があ
って直ぐに再利用される可能性の高いページエントリ
と、ページ番号2や3などのデータ転送に全て使用され
たページエントリは分別なく扱われるため、再利用され
る前に別のデータ転送によって溢れる可能性が高くな
る。TLBキャッシュのページエントリを再利用する前
に溢れて消えてしまうと、再び局所メモリにアクセスし
なければならず、TLBキャッシュによるアドレス変換
の高速化が期待できなくなる。
As a general method of controlling the TLB cache, there are a FIFO method and an LRU method, and the TLB cache is managed using these methods. FIG. 9 shows an example of data in the virtual address space and the real address space. Here, an address conversion unit in which the data 701 to be transferred indicates the relationship between the virtual address space 702 and the real address space 703 is called a page 704. The page 704 of the virtual address space 702 can be freely allocated to the real address space 703 in this manner by an address conversion table including a plurality of entries describing the relationship between the page number and the start address of the real address space.
In this example, the data 701 extends over a wide range from page numbers 1 to 4, and when converting to a real address, TLB
It is necessary to register four page entries for the cache. Since only a limited number of page entries can be stored in the TLB cache, if a large number of long data items 701, such as a plurality of pages 704, are transferred, they become full and overflow immediately. The page entries that are not yet used for data transfer such as page numbers 1 and 4 and are likely to be reused immediately, and the page entries that are all used for data transfer such as page numbers 2 and 3 are: Because they are handled sensibly, they are more likely to be flooded by another data transfer before being reused. If the page entry in the TLB cache overflows and disappears before reuse, it is necessary to access the local memory again, and the TLB cache cannot be expected to speed up the address translation.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、TLBキャッシュ内の全てのエントリに、上書きを
優先してもよいかどうかを示すオーバーライトフィール
ドを設ける。次に、局所メモリにあるアドレス変換テー
ブルのエントリをTLBキャッシュに登録するときに、
オーバーライトフィールドが有効であるエントリがあれ
ばそのエントリに上書きする手段を設ける。さらに、ペ
ージエントリをTLBキャッシュに登録後、そのページ
エントリがデータの最初のエントリであるか途中のエン
トリであるか、あるいは最後のエントリであるかを判別
する手段を設けて、データの途中のページエントリであ
るときはオーバーライトフィールドを有効にし、データ
の最初か最後のエントリであればオーバーライトフィー
ルドを無効にする手段を設ける。このようにオーバーラ
イトフィールドを設けることで、直ちに再利用される可
能性の低いページエントリから先に後続のデータのペー
ジエントリに上書きされ、再利用される可能性の高いペ
ージエントリを優先してTLBキャッシュ内に残すこと
ができるので、複数ページにまたがる長いデータを多数
転送するシステムにおいて有効である。
In order to achieve the above object, all entries in the TLB cache are provided with an overwrite field indicating whether or not overwriting may be prioritized. Next, when registering an entry of the address translation table in the local memory in the TLB cache,
If there is an entry for which the overwrite field is valid, means for overwriting the entry is provided. Further, after registering the page entry in the TLB cache, a means for determining whether the page entry is the first entry, the middle entry, or the last entry of the data is provided. Means are provided for enabling the overwrite field when the entry is an entry, and disabling the overwrite field when the entry is the first or last entry of data. By providing the overwrite field in this manner, the page entry that is unlikely to be immediately reused is overwritten with the page entry of the subsequent data first, and the TLB that has a high possibility of being reused is given priority over the TLB. Since the data can be left in the cache, it is effective in a system for transferring a large number of long data over a plurality of pages.

【0006】[0006]

【発明の実施の形態】本実施例を図1に示す。これはネ
ットワーク101で接続した複数のノードからなる。便
宜上、ノード102の内の1個のみを図1に示す。図示
のノード102は送信ノードと受信ノードの両方を示す
ために用いられているが、実際にはこれらのノードは別
のものである。各ノード102は命令プロセッサ10
3、適当な容量を備えた局所メモリ104、送信回路1
05および受信回路106を含む。アドレスおよびデー
タバス107は送信回路105にコマンドを出し、命令
プロセッサ103と局所メモリ104の間にデータを転
送し、そして局所メモリ104と送信回路105および
受信回路106との間でデータを転送するために用いら
れる。これらの4つの接続はアドレスおよびデータバス
107で実現されているが、それぞれ独立のアドレス/
データ線でもよい。
FIG. 1 shows this embodiment. It comprises a plurality of nodes connected by a network 101. For convenience, only one of the nodes 102 is shown in FIG. Although the illustrated node 102 is used to indicate both a transmitting node and a receiving node, in practice these nodes are different. Each node 102 is an instruction processor 10
3. Local memory 104 with appropriate capacity, transmission circuit 1
05 and the receiving circuit 106. The address and data bus 107 issues commands to the transmitting circuit 105, transfers data between the instruction processor 103 and the local memory 104, and transfers data between the local memory 104 and the transmitting circuit 105 and the receiving circuit 106. Used for These four connections are realized by the address and data bus 107, each having an independent address / data bus.
It may be a data line.

【0007】ネットワーク101はノード102内の送
信回路105からパケット108dを受け取り、各パケ
ット108に含まれる宛先ノード番号112の内容に従
って他のノード102の受信回路106にそれらを送
る。本例ではネットワーク101はパケット108を送
信順に受信回路106に転送する。
The network 101 receives the packets 108 d from the transmission circuit 105 in the node 102 and sends them to the reception circuits 106 of the other nodes 102 according to the contents of the destination node number 112 included in each packet 108. In this example, the network 101 transfers the packets 108 to the receiving circuit 106 in the order of transmission.

【0008】図2は送信回路105のブロック図であ
る。送信シーケンサ130は送信回路105全体の制御
を行なう。送信コマンドは送信制御ワードブロック12
9(以下、TCWBと呼ぶ)の形をとり、これが命令プ
ロセッサ103により局所メモリ104に記憶される。
FIG. 2 is a block diagram of the transmission circuit 105. The transmission sequencer 130 controls the entire transmission circuit 105. The transmission command is a transmission control word block 12
9 (hereinafter referred to as TCWB), which is stored in the local memory 104 by the instruction processor 103.

【0009】TCWBアドレスレジスタ131は命令プ
ロセッサ103により書き込み可能なレジスタである。
TCWBバッファ117はTCWB129のコピーを一
時的に保持するために用いられるレジスタファイルであ
る。これはTCWBと同じフォーマットを有し、そして
パケットタイプ132、パケット分割イネーブル13
3、送信データオフセット134、データ長111、宛
先ノード番号112、受信データオフセット113、受
信フラグオフセット114、送信フラグオフセット13
5を含む。
The TCWB address register 131 is a register writable by the instruction processor 103.
The TCWB buffer 117 is a register file used to temporarily hold a copy of the TCWB 129. It has the same format as TCWB, and packet type 132, packet split enable 13
3, transmission data offset 134, data length 111, destination node number 112, reception data offset 113, reception flag offset 114, transmission flag offset 13
5 is included.

【0010】送信FIFOデータバッファ136はファ
ーストイン・ファーストアウト(FIFO)データバッ
ファであって、局所メモリ104とネットワーク101
間のデータの緩衝に用いられる。送信直接メモリアクセ
スコントローラ137(以下、送信DMACと呼ぶ)は
送信状態フラグ124を局所メモリ104に書き込むこ
とができ、あるいは局所メモリ104からのブロック読
み出しを行なうことのできる回路である。このブロック
読み出し動作のために、送信DMAC137はそのブロ
ックの長さおよびそのブロックのスタートアドレスに初
期化される長さカウンタとアドレスカウンタを含む。
The transmission FIFO data buffer 136 is a first-in first-out (FIFO) data buffer, and includes a local memory 104 and a network 101.
Used for buffering data between. The transmission direct memory access controller 137 (hereinafter, referred to as a transmission DMAC) is a circuit that can write the transmission status flag 124 to the local memory 104 or can read a block from the local memory 104. For this block read operation, the transmit DMAC 137 includes a length counter and an address counter that are initialized to the length of the block and the start address of the block.

【0011】送信DMAC137へのコマンドは送信ア
ドレス変換回路138と送信シーケンサ130から得ら
れる。ブロック読み出し動作については、アドレスおよ
びデータバス107に出力されるアドレスカウンタの現
在の値を用いて局所メモリ読み出し要求が発生され、ア
ドレスカウンタが増分され長さが0となるまで長さカウ
ンタから減分される。
A command to the transmission DMAC 137 is obtained from the transmission address conversion circuit 138 and the transmission sequencer 130. For a block read operation, a local memory read request is generated using the current value of the address counter output to the address and data bus 107, and the address counter is incremented and decremented from the length counter until the length becomes zero. Is done.

【0012】局所メモリ104から読み出されたデータ
は送信シーケンサ130の制御によりTCWBバッファ
117または送信FIFOデータバッファ136に記憶
される。送信ノードレ番号レジスタ139は各ノード1
02に固有の、そのノードを識別する番号を含む。
The data read from the local memory 104 is stored in the TCWB buffer 117 or the transmission FIFO data buffer 136 under the control of the transmission sequencer 130. The transmission node number register 139 stores each node 1
02, including a number that identifies that node.

【0013】ページサイズレジスタ140は仮想アドレ
ス空間を複数のページで分割したときの1ページあたり
のページサイズを示している。TLBアドレスレジスタ
141は局所メモリ104にある送信アドレス変換テー
ブル125の先頭アドレスを示している。
The page size register 140 indicates a page size per page when the virtual address space is divided into a plurality of pages. The TLB address register 141 indicates the start address of the transmission address conversion table 125 in the local memory 104.

【0014】パケット組み立て部142はTCWBバッ
ファ117を送信ノード番号レジスタ139から情報を
抽出してパケットヘッダを構成し、送信FIFOデータ
バッファ136からデータを取り出してパケット108
を形成し、そして完全なパケット108をネットワーク
101に送り出す回路である。
The packet assembler 142 extracts information from the transmission node number register 139 to form a packet header in the TCWB buffer 117, extracts data from the transmission FIFO data buffer 136, and
, And sends out the complete packet 108 to the network 101.

【0015】ノード102について1つ以上のパケット
108を1つ以上の他のノード102に送るために、送
信ノード102内の命令プロセッサ103は、まず転送
されるべき各パケット108についての情報として、局
所メモリ104にTCWB129を作る。
To send one or more packets 108 for node 102 to one or more other nodes 102, instruction processor 103 in transmitting node 102 first sends a local The TCWB 129 is created in the memory 104.

【0016】この命令プロセッサ104はTCWB12
9内に含まれる各フィールドを初期化する。タイプ13
2は初期化されたパケットタイプを示す。本例では全て
のパケットタイプは同じであるからタイプ132は固定
値である。
The instruction processor 104 includes a TCWB 12
Initialize each field included in 9. Type 13
2 indicates an initialized packet type. In this example, since all packet types are the same, the type 132 is a fixed value.

【0017】分割イネーブル133は1つのパケットで
送信するデータ長を制限するかどうかを指定している。
送信データオフセット134は仮想アドレス空間上の送
信データの先頭アドレスを示しており、局所メモリ10
4から送信データを読み出すときには実アドレスに変換
する必要があるが、これについては後述する。データ長
111は転送されるべきデータの長さを示す。宛先ノー
ド番号112はそのパケットについての宛先ノードを識
別する。受信データオフセット113は仮想アドレス空
間上の受信データの先頭アドレスを示しており、局所メ
モリ104に受信データを書き込むときには実アドレス
に変換する必要があるが、これについては後述する。受
信フラグオフセット114は宛先ノードの局所メモリ1
04に、受信状態フラグ127をポイントすべきところ
を示すが、ポイントするには実アドレスに変換する必要
があり、これについては後述する。
The division enable 133 specifies whether to limit the length of data transmitted in one packet.
The transmission data offset 134 indicates the head address of transmission data in the virtual address space, and
When the transmission data is read from the address No. 4, it is necessary to convert the data into a real address, which will be described later. The data length 111 indicates the length of data to be transferred. Destination node number 112 identifies the destination node for the packet. The received data offset 113 indicates the head address of the received data in the virtual address space. When writing the received data to the local memory 104, it is necessary to convert the received data into a real address, which will be described later. The reception flag offset 114 is the local memory 1 of the destination node.
04 shows where the reception state flag 127 should be pointed. To point it, it is necessary to convert it into a real address, which will be described later.

【0018】パケット送信プロセスをスタートするため
に、命令プロセッサ104はアドレスおよびデータバス
107を用いてTCWB129の先頭アドレスをTCW
Bアドレスレジスタ131に書き込む。送信シーケンサ
xxxはこのレジスタへの書き込みにより動作を開始す
る。
To start the packet transmission process, the instruction processor 104 uses the address and data bus 107 to set the start address of the TCWB 129 to the TCW.
Write to the B address register 131. Transmission sequencer
xxx starts operation by writing to this register.

【0019】まず、送信シーケンサ130はTCWBア
ドレスレジスタ131に書き込まれたアドレスを用いて
送信DMAC137にTCWB129の読み出しを命令
する。TCWB129はアドレスおよびデータバス10
7を通って局所メモリ104から読み出され、そしてT
CWBバッファ117に記憶される。次に、送信シーケ
ンサ130は送信アドレス変換回路138に対して送信
データの読み出しを行なうよう命令する際、オフセット
情報と送信データ長情報、分割パタン情報の3つを渡す
必要がある。しかし、TCWBバッファ129内の分割
イネーブル133が有効であるか無効であるかによって
値が異なる。
First, the transmission sequencer 130 instructs the transmission DMAC 137 to read the TCWB 129 using the address written in the TCWB address register 131. TCWB 129 is an address and data bus 10
7 and read from local memory 104 and T
It is stored in the CWB buffer 117. Next, when the transmission sequencer 130 instructs the transmission address conversion circuit 138 to read out transmission data, it is necessary to pass three pieces of information: offset information, transmission data length information, and division pattern information. However, the value differs depending on whether the division enable 133 in the TCWB buffer 129 is valid or invalid.

【0020】分割イネーブル133が無効である場合、
本例では0'であるとき、送信アドレス変換回路138
に渡すオフセット情報と送信データ長情報、分割パタン
情報はそれぞれ次の通りとなる。 (オフセット情報)=(TCWBバッファ117内の送
信データオフセット134) (送信データ長情報)=(データ長111) (分割パタン情報)=00' 分割イネーブル133が有効である場合、本例では1'
であるとき、TCWBバッファ117内のデータ長11
1が分割パケット長(本例では固定値)より大きいか小
さいかによって、送信シーケンサ130の処理が2つに
分けられる。
If the split enable 133 is invalid,
In this example, when it is 0 ', the transmission address conversion circuit 138
, The transmission data length information, and the division pattern information are as follows. (Offset information) = (Transmission data offset 134 in TCWB buffer 117) (Transmission data length information) = (Data length 111) (Division pattern information) = 00 'When division enable 133 is valid, 1' in this example.
, The data length 11 in the TCWB buffer 117
The processing of the transmission sequencer 130 is divided into two depending on whether 1 is larger or smaller than the fragmented packet length (in this example, a fixed value).

【0021】データ長111が分割パケット長と同じか
小さい場合、分割イネーブル133が0'であるときと
同様、TCWBバッファ117内の送信データオフセッ
ト134とデータ長111、分割パタン情報00'を送
信アドレス変換回路138に渡す。
When the data length 111 is equal to or smaller than the fragmented packet length, the transmission data offset 134, the data length 111, and the fragmentation pattern information 00 'in the TCWB buffer 117 are transmitted as in the case where the fragmentation enable 133 is 0'. This is passed to the conversion circuit 138.

【0022】データ長111が分割パケット長より大き
い場合、パケットのデータ長が分割パケット長より大き
くならないように複数のパケットに分けて送信する。そ
のため、送信シーケンサ130は送信アドレス変換回路
138に対して、複数に分割して送信データ読み出し命
令を行なう。
When the data length 111 is larger than the divided packet length, the packet is transmitted in a plurality of packets so that the data length of the packet is not larger than the divided packet length. Therefore, the transmission sequencer 130 issues a transmission data read command to the transmission address conversion circuit 138 by dividing the transmission data into a plurality of pieces.

【0023】分割の最初の送信データの読み出し命令で
は、オフセット情報と送信データ長情報、分割パタン情
報がそれぞれ次の通りとなる。 (オフセット情報)=(TCWBバッファ117内の送
信データオフセット134) (送信データ長情報)=分割パケット長 (分割パタン情報)=10' 分割途中の送信データの読み出し命令では、オフセット
情報と送信データ長情報、分割パタン情報がそれぞれ次
の通りとなる。 (オフセット情報)=(TCWBバッファ117内の送
信データオフセット134)+((分割パケット長)×
((分割開始からの順番)−1)) (送信データ長情報)=分割パケット長 (分割パタン情報)=11' 分割の最後の送信データの読み出し命令では、オフセッ
ト情報と送信データ長情報、分割パタン情報がそれぞれ
次の通りとなる。 (オフセット情報)=(TCWBバッファ117内の送
信データオフセット134)+((分割パケット長)×
((分割開始からの順番)−1)) (送信データ長情報)=(送信データ長を分割パケット
長で割った余り) (分割パタン情報)=01' 図5に仮想アドレス空間と実アドレス空間の関係を示
す。仮想アドレス空間149は複数のページ150に別
れていて、ページ単位で実アドレス空間151上の連続
領域に割り当てられている。ページの大きさはページサ
イズレジスタ140により決まる。なお、送信データ1
23の大きさはページサイズに無関係のため、複数のペ
ージ150に渡る場合があるが、本例では、送信データ
123が複数のページ150に渡らない場合について記
述している。該当するページ番号が判別したら、局所メ
モリ104にある送信アドレス変換テーブル125を参
照して実アドレスに変換する。送信アドレス変換テーブ
ル125は、局所メモリ104上の連続アドレス領域に
ページ番号0、1、2…n番まで順番に並べており、送
信アドレス変換テーブル125の先頭アドレスはTLB
アドレスレジスタ141に示されている。仮想アドレス
空間上の送信データの先頭アドレスはTCWB129内
の送信データオフセット134で示されており、送信デ
ータ123がどのページに存在しているかが判別可能で
ある。送信アドレス変換テーブルから、該当するページ
150の先頭実アドレスを求める。さらに、送信データ
オフセット134をページサイズで割った余りがページ
内の送信データオフセットであり、このオフセットを先
に求めた該当するページ150の先頭実アドレスに加算
した値が送信データの先頭実アドレスとなる。
In the first transmission data read command of the division, the offset information, the transmission data length information, and the division pattern information are as follows. (Offset information) = (Transmission data offset 134 in TCWB buffer 117) (Transmission data length information) = Division packet length (Division pattern information) = 10 ′ In a read instruction of transmission data in the middle of division, offset information and transmission data length The information and the division pattern information are as follows. (Offset information) = (Transmission data offset 134 in TCWB buffer 117) + ((Division packet length) ×
((Order from start of division) -1)) (transmission data length information) = division packet length (division pattern information) = 11 'In the last transmission data read command of division, offset information, transmission data length information, division The pattern information is as follows. (Offset information) = (Transmission data offset 134 in TCWB buffer 117) + ((Division packet length) ×
((Order from start of division) -1)) (Transmission data length information) = (Remainder of transmission data length divided by division packet length) (Division pattern information) = 01 'FIG. 5 shows virtual address space and real address space. Shows the relationship. The virtual address space 149 is divided into a plurality of pages 150, and is assigned to a continuous area on the real address space 151 in page units. The page size is determined by the page size register 140. In addition, transmission data 1
Since the size of 23 is not related to the page size, it may extend over a plurality of pages 150. However, in this example, the case where the transmission data 123 does not extend over a plurality of pages 150 is described. When the corresponding page number is determined, it is converted to a real address by referring to the transmission address conversion table 125 in the local memory 104. The transmission address conversion table 125 is arranged in a continuous address area on the local memory 104 in order from page number 0, 1, 2,... N, and the head address of the transmission address conversion table 125 is TLB.
This is shown in the address register 141. The head address of the transmission data in the virtual address space is indicated by the transmission data offset 134 in the TCWB 129, and it is possible to determine on which page the transmission data 123 exists. The head real address of the corresponding page 150 is obtained from the transmission address conversion table. Further, the remainder obtained by dividing the transmission data offset 134 by the page size is the transmission data offset in the page, and the value obtained by adding this offset to the top real address of the corresponding page 150 obtained earlier is the top real address of the transmission data. Become.

【0024】送信アドレス変換回路138は、局所メモ
リ104にある送信データの先頭実アドレスと送信デー
タ長を求めて送信DMAC137にデータを読み出す指
示と、仮想アドレスから実アドレスへの変換の効率向上
のために使用する送信TLBキャッシュ143の管理を
行なう。詳細は図3、図4に示す手順の通りに行なう。
The transmission address conversion circuit 138 obtains the head real address and transmission data length of the transmission data in the local memory 104, instructs the transmission DMAC 137 to read the data, and improves the efficiency of the conversion from the virtual address to the real address. Of the transmission TLB cache 143 to be used for Details are performed according to the procedure shown in FIGS.

【0025】第1に、送信アドレス変換回路138は、
仮想アドレス空間上のページ番号を求めるため、オフセ
ット情報をページサイズレジスタの値で割って商を計算
する。
First, the transmission address conversion circuit 138
To determine the page number in the virtual address space, the quotient is calculated by dividing the offset information by the value of the page size register.

【0026】第2に、送信アドレス変換回路138は送
信TLBキャッシュ143に、先に求めたページ番号が
存在するかどうかを確認する。送信TLBキャッシュ1
43は図2に示すように、バリッド145、オーバーラ
イト146、ページ番号147、ページ内先頭実アドレ
ス148の4つの要素を1つのエントリ144として複
数エントリ144存在する。送信TLBキャッシュ14
3の全エントリ144を見て、バリッド145が有効で
かつページ番号が同一のエントリ144があるかどうか
を探す。エントリ144が存在した場合、第10項の処
理へ移る。
Second, the transmission address conversion circuit 138 checks whether or not the transmission TLB cache 143 has the previously obtained page number. Transmission TLB cache 1
As shown in FIG. 2, a plurality of entries 43 include a valid element 145, an overwrite 146, a page number 147, and a head real address 148 in the page as one entry 144. Transmission TLB cache 14
By looking at all entries 144 of the third entry, a search is made to determine whether there is an entry 144 in which the valid 145 is valid and has the same page number. When the entry 144 exists, the process proceeds to the processing of the tenth item.

【0027】第3に、同一のエントリ144が無い場
合、局所メモリ104の送信アドレス変換テーブル12
5内にあるエントリの先頭アドレスを求める必要があ
る。先に求めたページ番号にTLBエントリサイズ、本
例では固定値を掛け算し、TLBアドレスレジスタ14
1の値を加算する。
Third, if the same entry 144 does not exist, the transmission address conversion table 12 in the local memory 104
It is necessary to find the start address of the entry in 5. The page number previously obtained is multiplied by a TLB entry size, in this example, a fixed value, and the TLB address register 14
Add the value of 1.

【0028】第4に、エントリの先頭アドレスを求めた
ら、送信DMAC137に対してエントリを局所メモリ
104から読み出すように命令する。
Fourth, when the head address of the entry is obtained, the transmission DMAC 137 is instructed to read the entry from the local memory 104.

【0029】第5に、エントリが局所メモリ104から
読み出されるのを待つ。
Fifth, wait for an entry to be read from local memory 104.

【0030】第6に、送信TLBキャッシュ143にあ
るエントリ144に上書き可能なエントリ144がある
かどうかを確認する。具体的には、送信TLBキャッシ
ュ143にあるエントリ144の中で、オーバーライト
146が1'のエントリが存在するかどうかを確認す
る。
Sixth, it is determined whether or not the entry 144 in the transmission TLB cache 143 has an entry 144 that can be overwritten. Specifically, it is determined whether or not an entry with an overwrite 146 of 1 ′ exists in the entry 144 in the transmission TLB cache 143.

【0031】第7に、送信TLBキャッシュ143にあ
るエントリ144の中で、バリッド145が1'でかつ
オーバーライト146が1'であるエントリ144が存
在する場合、そのエントリ144に対して、局所メモリ
104より読み出されたエントリを上書きする。具体的
には、先の計算で求めたページ番号と局所メモリ104
より読み出されたエントリにある該当ページの先頭実ア
ドレスを書き込む。バリッド145が1'でかつオーバ
ーライト146が1'であるエントリ144が存在しな
い場合、FIFO方式やLRU方式などの規則によって
TLBエントリを1つ選択する。選択したTLBエント
リのバリッド145が1'の場合、読み出されたエント
リを上書きし、バリッド145が0'であれば新たに読
み出されたエントリを登録する。エントリの登録とは、
前述の上書き時の処理に加えてさらに、バリッド145
を1'に設定することを指す。バリッド145とはエン
トリ144そのものが有効であるか無効であるかを示し
ており、一般的にFIFO方式やLRU方式などで管理
されたエントリ144の情報である。
Seventh, if there is an entry 144 whose validity 145 is 1 'and the overwrite 146 is 1' among the entries 144 in the transmission TLB cache 143, the local memory is assigned to the entry 144. Overwrite the entry read from 104. Specifically, the page number obtained by the above calculation and the local memory 104
Then, the head real address of the corresponding page in the entry read out is written. If there is no entry 144 in which the valid 145 is 1 'and the overwrite 146 is 1', one TLB entry is selected according to a rule such as the FIFO method or the LRU method. If the valid 145 of the selected TLB entry is 1 ', the read entry is overwritten, and if the valid 145 is 0', a newly read entry is registered. Creating an entry means
In addition to the above-described overwriting process, a valid 145
To 1 ′. The valid 145 indicates whether the entry 144 itself is valid or invalid, and is generally information on the entry 144 managed by a FIFO method, an LRU method, or the like.

【0032】第8に、上書きまたは登録したエントリ1
44に対して、上書き設定をどうするかを判定する。上
書き設定とは、そのエントリ144のオーバーライト1
46を設定することを指す。次の4つの判定条件があ
る。 条件1 分割パタン情報が00'で送信データの最初の
ページのエントリである。 条件2 分割パタン情報が00'で送信データの最後の
ページのエントリである。 条件3 分割パタン情報が10'で送信データの最初の
ページのエントリである。 条件4 分割パタン情報が01'で送信データの最後の
ページのエントリである。
Eighth, entry 1 overwritten or registered
It is determined whether to perform the overwriting setting for 44. The overwrite setting is the overwrite 1 of the entry 144
46 is set. There are the following four determination conditions. Condition 1 is the entry of the first page of the transmission data with the division pattern information of 00 '. Condition 2 An entry of the last page of the transmission data with the division pattern information of 00 '. Condition 3 The division pattern information is 10 'and the entry of the first page of the transmission data. Condition 4 The division pattern information is 01 'and the entry is the last page of the transmission data.

【0033】第9に、上記の4つの条件のうち、いずれ
も成立しない場合、オーバーライト146を1'設定す
る。いずれかが成立した場合、オーバーライト146を
0'に設定する。上記条件1〜2により、分割されない
パケットの送信データの最初と最後のページのエントリ
のオーバーライト146を0'に設定することにより、
前述の第7項での上書きが行われなくなるが、途中のペ
ージのエントリのオーバーライト146を1'に設定す
ることにより、第7項での上書きが行われることにな
る。また、上記条件3〜4により、分割された先頭パケ
ットの送信データの最初のページのエントリと、分割さ
れた末尾パケットの送信データの最初のページのエント
リのオーバーライト146を0'に設定することによ
り、第7項での上書きが行われなくなるが、分割される
前の連続した送信データとして着目すると途中のページ
のエントリのオーバーライト146を1'に設定するこ
とにより、第7項での上書きが行われることになる。
Ninth, if none of the above four conditions is satisfied, the overwrite 146 is set to 1 '. If either of these holds, the overwrite 146 is set to 0 '. By setting the overwrite 146 of the entry of the first and last pages of the transmission data of the undivided packet to 0 'according to the above conditions 1 and 2,
Although the overwriting in the above-described item 7 is not performed, the overwriting in the item 7 is performed by setting the overwrite 146 of the entry of the middle page to 1 ′. Also, according to the above conditions 3 and 4, the entry of the first page of the transmission data of the divided first packet and the overwrite 146 of the entry of the first page of the transmission data of the divided last packet are set to 0 '. , The overwriting in the seventh term is not performed. However, when attention is paid to continuous transmission data before division, the overwriting 146 of the entry of the middle page is set to 1 ′, thereby overwriting in the seventh term. Will be performed.

【0034】第10に、第4項で求めたページ番号のT
LBエントリ内にある該当ページの先頭実アドレスを使
って、送信データの先頭実アドレスを求める。送信デー
タの先頭アドレス情報をページサイズで割り、その余り
を該当ページの先頭実アドレスに加算した値が送信デー
タの先頭実アドレスである。
Tenth, the T of the page number obtained in the fourth item
The head real address of the transmission data is obtained by using the head real address of the corresponding page in the LB entry. The value obtained by dividing the head address information of the transmission data by the page size and adding the remainder to the head real address of the corresponding page is the head real address of the transmission data.

【0035】このようにして、送信アドレス変換回路1
38は、送信データの先頭実アドレスを求め、送信デー
タ長情報とともに送信DMAC137に渡して、データ
の読み出しを命令する。
As described above, the transmission address conversion circuit 1
Numeral 38 obtains the head real address of the transmission data and transfers it to the transmission DMAC 137 together with the transmission data length information to instruct data reading.

【0036】送信シーケンサは、局所メモリ104より
読み出された送信データをFIFOデータバッファ14
1に記憶し、そして次に分割パタン情報をパケット組み
立て部142に渡して、パケット108の送信開始を命
令する。
The transmission sequencer transmits the transmission data read from the local memory 104 to the FIFO data buffer 14.
1 and then pass the divided pattern information to the packet assembling section 142 to instruct the start of transmission of the packet 108.

【0037】パケット組み立て部142は、まずパケッ
ト108のスタートをマークする固定スタートコード1
09を送る。また、パケット組み立て部142は、TC
WBバッファ117と送信ノード番号レジスタ139、
送信シーケンサ130から渡される分割パタン情報の3
つから、タイプ132、分割パタン110、宛先ノード
番号112、受信データオフセット113、受信フラグ
オフセット114、送信元ノード番号115を取り出し
てそれを送信する。
The packet assembling section 142 first sets a fixed start code 1 for marking the start of the packet 108.
Send 09. Also, the packet assembling unit 142
WB buffer 117 and transmission node number register 139,
3 of the divided pattern information passed from the transmission sequencer 130
Then, a type 132, a division pattern 110, a destination node number 112, a reception data offset 113, a reception flag offset 114, and a transmission source node number 115 are extracted and transmitted.

【0038】次に、パケット組み立て部142は送信F
IFOデータバッファ136から送信データを取り出
し、それを送ってパケッデータ116を形成する。な
お、送信FIFOデータバッファ136はこれと並行し
て送信DMAC137により局所メモリ104から読み
出された送信データを記憶している。
Next, the packet assembler 142 sends the transmission F
The transmission data is taken out from the IFO data buffer 136 and sent to form the packet data 116. The transmission FIFO data buffer 136 stores the transmission data read from the local memory 104 by the transmission DMAC 137 in parallel with this.

【0039】送信データを全て送信し終えると、パケッ
ト組み立て部142は送信シーケンサ130にパケット
送信処理完了を通知する。送信シーケンサ130は、送
信アドレス変換回路138にTCWBバッファ117に
記憶された送信フラグオフセット135を渡して、その
パケットが送信されたことを示す値を送信状態フラグ1
24に書き込むことを命令する。本例では送信状態フラ
グ124は、パケット108が送信されたか、まだ送信
されていないかを意味する2つの可能な値の1つを有す
ることができる。
When all the transmission data has been transmitted, the packet assembling section 142 notifies the transmission sequencer 130 of the completion of the packet transmission processing. The transmission sequencer 130 passes the transmission flag offset 135 stored in the TCWB buffer 117 to the transmission address conversion circuit 138, and sends a value indicating that the packet has been transmitted to the transmission state flag 1
24 to be written. In this example, the transmission status flag 124 may have one of two possible values, meaning that the packet 108 has been transmitted or not yet transmitted.

【0040】本例では、送信状態フラグ124は仮想ア
ドレス空間上のページサイズよりも小さい大きさで、さ
らに、2つのページをまたぐことが無いように、あらか
じめ送信フラグオフセット135の値を制限されている
ので、送信データの読み出し命令のときと同様に、送信
状態フラグ124が複数のページに渡らない場合につい
て記述する。
In this example, the transmission status flag 124 is smaller than the page size in the virtual address space, and the value of the transmission flag offset 135 is limited in advance so as not to cross two pages. Therefore, the case where the transmission status flag 124 does not extend over a plurality of pages will be described as in the case of the transmission data read command.

【0041】第1に、送信アドレス変換回路138は、
仮想空間上のページ番号を求めるため、送信フラグオフ
セットをページサイズレジスタの値で割って商を計算す
る。
First, the transmission address conversion circuit 138
To determine the page number in the virtual space, the quotient is calculated by dividing the transmission flag offset by the value of the page size register.

【0042】第2に、送信アドレス変換回路138は送
信TLBキャッシュ143に、先に求めたページ番号が
存在するかどうかを確認する。具体的には、送信TLB
キャッシュ143の全エントリ144を見て、バリッド
145が有効でページ番号が同一のエントリ144があ
るかどうかを探す。エントリ144が存在した場合、第
9項の処理へ移る。
Second, the transmission address conversion circuit 138 checks whether or not the transmission TLB cache 143 has the previously obtained page number. Specifically, the transmission TLB
By looking at all the entries 144 in the cache 143, it is searched whether there is an entry 144 in which the valid 145 is valid and has the same page number. If the entry 144 exists, the process proceeds to the processing in the ninth section.

【0043】第3に、同一のエントリが無い場合、局所
メモリ104にあるエントリアドレスを求めるため、先
に求めたページ番号にエントリサイズ、この実施例では
固定値を掛け算し、TLBアドレスレジスタ141の値
を加算する。
Third, if there is no identical entry, the page number previously obtained is multiplied by the entry size, in this embodiment, a fixed value, in order to find the entry address in the local memory 104. Add values.

【0044】第4に、エントリアドレスを求めたら、送
信DMAC137に対してエントリアドレスの指すエン
トリを局所メモリ104から読み出すように命令する。
Fourth, when the entry address is obtained, the transmission DMAC 137 is instructed to read the entry indicated by the entry address from the local memory 104.

【0045】第5に、エントリが局所メモリ104から
読み出されるのを待つ。
Fifth, wait for an entry to be read from local memory 104.

【0046】第6に、送信TLBキャッシュ143にあ
るエントリ144に上書き可能なエントリ144がある
かどうかを確認する。具体的には、送信TLBキャッシ
ュ143にあるエントリ144の中で、オーバーライト
146が1'のエントリが存在するかどうかを確認す
る。
Sixth, it is checked whether or not the entry 144 in the transmission TLB cache 143 has an entry 144 that can be overwritten. Specifically, it is determined whether or not an entry with an overwrite 146 of 1 ′ exists in the entry 144 in the transmission TLB cache 143.

【0047】第7に、送信TLBキャッシュ143にあ
るエントリの中で、バリッド145が1'でかつオーバ
ーライト146が1'であるエントリが存在する場合、
そのエントリ144に対して、局所メモリ104より読
み出されたエントリを上書きする。具体的には、先の計
算で求めたページ番号と読み出されたエントリにある該
当ページの先頭実アドレスを書き込む。バリッド145
が1'でかつオーバーライト146が1'であるエントリ
144が存在しない場合、FIFO方式やLRU方式な
どの規則によってエントリ144を1つ選択する。選択
したエントリ144のバリッド145が1'の場合、読
み出されたエントリを上書きし、バリッド145が0'
であれば新たに読み出されたエントリ144を登録す
る。エントリ144の登録とは、前述の上書き時の処理
に加えてさらに、バリッド145を1'に設定すること
を指す。
Seventh, if there is an entry in the transmission TLB cache 143 whose validity 145 is 1 'and whose overwrite 146 is 1',
The entry 144 is overwritten with the entry read from the local memory 104. Specifically, the page number obtained by the above calculation and the head real address of the corresponding page in the read entry are written. Valid 145
Is 1 'and the overwrite 146 is 1', there is no entry 144 according to a rule such as the FIFO method or the LRU method. When the valid 145 of the selected entry 144 is 1 ', the read entry is overwritten, and the valid 145 becomes 0'.
If so, the newly read entry 144 is registered. The registration of the entry 144 indicates that the valid 145 is set to 1 'in addition to the above-described process at the time of overwriting.

【0048】第8に、上書きまたは登録したエントリ1
44に対して、上書き設定する。上書き設定とは、その
エントリのオーバーライト146を設定することを指
す。送信状態フラグ124は先に述べた通りページサイ
ズよりも小さく、再利用される可能性があるのでオーバ
ーライト146は0'に設定する。
Eighth, entry 1 overwritten or registered
44 is overwritten. The overwrite setting refers to setting the overwrite 146 of the entry. Since the transmission state flag 124 is smaller than the page size as described above and may be reused, the overwrite 146 is set to 0 '.

【0049】第9に、第4項で求めたページ番号のエン
トリ144内にある該当ページの先頭実アドレス148
を使って、送信状態フラグ124の先頭実アドレスを求
める。送信フラグオフセット135をページサイズで割
り、その余りを該当ページの先頭実アドレス148に加
算した値が送信状態フラグ124の先頭実アドレスであ
る。
Ninth, the head real address 148 of the relevant page in the entry 144 of the page number obtained in the fourth item
Is used to determine the actual start address of the transmission status flag 124. The value obtained by dividing the transmission flag offset 135 by the page size and adding the remainder to the head real address 148 of the corresponding page is the head real address of the transmission state flag 124.

【0050】このようにして、送信アドレス変換回路1
38は、送信状態フラグ124の先頭実アドレスを求
め、送信DMAC137に渡して、送信状態フラグ12
4の書き込みを命令する。
As described above, the transmission address conversion circuit 1
38 determines the head real address of the transmission status flag 124 and passes it to the transmission DMAC 137 to send the transmission status flag 12
4 is instructed.

【0051】ネットワーク101は送信回路105から
のパケット108を受け、そして宛先ノード番号112
に従い、宛先ノードの受信回路106にそのパケット1
08を転送する。本例のネットワーク101は、複数の
パケット108が1つのノードから他のノードに送られ
るときは、それらのパケット108が送信順に入るよう
に構成されている。
The network 101 receives the packet 108 from the transmitting circuit 105, and receives the destination node number 112
In the receiving circuit 106 of the destination node.
08 is transferred. The network 101 of the present example is configured such that, when a plurality of packets 108 are sent from one node to another node, the packets 108 enter the transmission order.

【0052】図6は受信回路106のブロック図であ
る。受信シーケンサ501はパケット受信状態フラグ1
27の書き込み処理を含む受信回路106全体の制御を
行なう。パケットヘッダバッファ502はパケットヘッ
ダのコピーを一時的に記憶するために用いられる。この
バッファ502のフォーマットはパケットヘッダのそれ
とほとんど同じであり、それはパケットタイプ503、
分割パタン504、データ長505、受信データオフセ
ット506、受信フラグオフセット507、送信元ノー
ド番号508を含む。
FIG. 6 is a block diagram of the receiving circuit 106. The reception sequencer 501 sets the packet reception status flag 1
The entire reception circuit 106 including the writing process 27 is controlled. Packet header buffer 502 is used to temporarily store a copy of the packet header. The format of this buffer 502 is almost the same as that of the packet header, that is, the packet type 503,
It includes a division pattern 504, a data length 505, a reception data offset 506, a reception flag offset 507, and a source node number 508.

【0053】パケット受信部509はパケット101が
到着すると、到着したことを受信シーケンサ501に伝
えるとともに、パケットヘッダをパケットヘッダバッフ
ァ502へ、受信データを受信FIFOデータバッファ
510に格納する。受信FIFOデータバッファ510
はネットワーク101からのデータを受けて、そのデー
タが局所メモリ104に書き込まれる前に緩衝するバッ
ファである。
When the packet 101 arrives, the packet receiving unit 509 notifies the reception sequencer 501 of the arrival, and stores the packet header in the packet header buffer 502 and the received data in the reception FIFO data buffer 510. Receive FIFO data buffer 510
Is a buffer that receives data from the network 101 and buffers the data before it is written to the local memory 104.

【0054】受信直接メモリアクセスコントローラ51
2(以下、受信DMACと呼ぶ)は受信状態フラグ12
7を局所メモリ104に書き込むことができ、あるいは
局所メモリ104にブロック書き込みを行なうことので
きる回路である。このブロック書き込み動作のために、
受信DMAC512はそのブロックの長さおよびそのブ
ロックのスタートアドレスに初期化される長さカウンタ
とアドレスカウンタを含む。
Receive direct memory access controller 51
2 (hereinafter referred to as reception DMAC) is a reception state flag 12
7 can be written to the local memory 104, or a block can be written to the local memory 104. For this block write operation,
The receive DMAC 512 includes a length counter and an address counter that are initialized to the length of the block and the start address of the block.

【0055】受信DMAC512へのコマンドは受信ア
ドレス変換回路511と受信シーケンサ501から得ら
れる。ブロック書き込み動作については、アドレスおよ
びデータバス107に出力されるアドレスカウンタの現
在の値を用いて局所メモリ書き込み要求が発生され、ア
ドレスカウンタが増分され長さが0となるまで長さカウ
ンタから減分される。
A command to receive DMAC 512 is obtained from receive address conversion circuit 511 and receive sequencer 501. For a block write operation, a local memory write request is generated using the current value of the address counter output on the address and data bus 107, and the address counter is incremented and decremented from the length counter until the length becomes zero. Is done.

【0056】以下、受信回路106の動作を説明する。
受信回路106内のパケット受信部509はパケット1
08のスタートマーカ109を受け取ると、受信シーケ
ンサ501にパケットの到着を知らせる。受信したパケ
ットの残りの部分からのマーカは分離して捨てる。パケ
ットヘッダのうち、ヘッダバッファ502に該当するフ
ィールドのみをヘッダバッファ502に格納し、パケッ
トヘッダのデータ長111を用いて受信FIFOデータ
バッファ510にデータを格納する。
Hereinafter, the operation of the receiving circuit 106 will be described.
The packet receiving unit 509 in the receiving circuit 106
When the start marker 109 of 08 is received, the reception sequencer 501 is notified of the arrival of the packet. Markers from the rest of the received packet are separated and discarded. Of the packet header, only the field corresponding to the header buffer 502 is stored in the header buffer 502, and the data is stored in the reception FIFO data buffer 510 using the data length 111 of the packet header.

【0057】受信シーケンサ501は受信アドレス変換
回路511に対して受信データの書き込みを行なうよう
命令する際、オフセット情報と受信データ長情報、分割
パタン情報の3つを渡す。3つの情報はそれぞれ次の通
りとなる。 (オフセット情報)=(パケットヘッダバッファ502
内の受信データオフセット506) (受信データ長情報)=(受信データ長505) (分割パタン情報)=(パケットヘッダバッファ502
内の分割パタン504) 受信アドレス変換回路511は、局所メモリ104にあ
る受信データの先頭実アドレスと受信データ長を求めて
受信DMAC512にデータを書き込む指示と、仮想ア
ドレスから実アドレスへの変換の効率向上のために使用
する受信TLBキャッシュ513の管理を行なう。詳細
は図7、図8に示す手順の通りに行なう。
When the reception sequencer 501 instructs the reception address conversion circuit 511 to write the reception data, the reception sequencer 501 passes three pieces of information: offset information, reception data length information, and division pattern information. The three pieces of information are as follows. (Offset information) = (Packet header buffer 502)
(Received data length information) = (Received data length 505) (Divided pattern information) = (Packet header buffer 502)
The received address conversion circuit 511 determines the head real address of the received data in the local memory 104 and the length of the received data and writes the data to the receive DMAC 512, and the conversion efficiency of the virtual address to the real address. The reception TLB cache 513 used for improvement is managed. Details are performed according to the procedure shown in FIGS.

【0058】第1に、受信アドレス変換回路511は、
仮想アドレス空間上のページ番号を求めるため、オフセ
ット情報をページサイズレジスタの値で割って商を計算
する。
First, the reception address conversion circuit 511
To determine the page number in the virtual address space, the quotient is calculated by dividing the offset information by the value of the page size register.

【0059】第2に、受信アドレス変換回路511は受
信TLBキャッシュ513に、先に求めたページ番号が
存在するかどうかを確認する。受信TLBキャッシュ5
13は図6に示すように、バリッド517、オーバーラ
イト518、ページ番号519、ページ内先頭実アドレ
ス520の4つの要素を1つのエントリ516として複
数エントリ516存在する。受信TLBキャッシュ51
3の全エントリ516を見て、バリッド517が有効で
かつページ番号が同一のエントリ516があるかどうか
を探す。エントリ516が存在した場合、第10項の処
理へ移る。
Second, the reception address conversion circuit 511 checks whether or not the reception TLB cache 513 has the previously obtained page number. Receive TLB cache 5
As shown in FIG. 6, a plurality of entries 516 include a valid element 517, an overwrite 518, a page number 519, and a four-element real address 520 as one entry 516. Receive TLB cache 51
By looking at all of the entries 516 of No. 3, it is determined whether there is an entry 516 in which the valid 517 is valid and has the same page number. If the entry 516 exists, the process proceeds to the processing of the tenth item.

【0060】第3に、同一のエントリ516が無い場
合、局所メモリ104の受信アドレス変換テーブル12
8内にあるエントリの先頭アドレスを求める必要があ
る。先に求めたページ番号にTLBエントリサイズ、本
例では固定値を掛け算し、TLBアドレスレジスタ51
5の値を加算する。
Third, when the same entry 516 does not exist, the reception address conversion table 12 of the local memory 104
It is necessary to find the start address of the entry in the block 8. The page number previously obtained is multiplied by a TLB entry size, in this example, a fixed value, and the TLB address register 51 is multiplied.
The value of 5 is added.

【0061】第4に、エントリの先頭アドレスを求めた
ら、受信DMAC512に対してエントリを局所メモリ
104から読み出すように命令する。
Fourth, when the head address of the entry is obtained, the receiving DMAC 512 is instructed to read the entry from the local memory 104.

【0062】第5に、エントリが局所メモリ104から
読み出されるのを待つ。
Fifth, wait for an entry to be read from local memory 104.

【0063】第6に、受信TLBキャッシュ513にあ
るエントリ516に上書き可能なエントリ516がある
かどうかを確認する。具体的には、受信TLBキャッシ
ュ513にあるエントリ516の中で、オーバーライト
518が1'のエントリが存在するかどうかを確認す
る。
Sixth, it is checked whether or not the entry 516 in the reception TLB cache 513 has an entry 516 that can be overwritten. Specifically, it is checked whether or not an entry with an overwrite 518 of 1 'exists in the entries 516 in the reception TLB cache 513.

【0064】第7に、受信TLBキャッシュ513にあ
るエントリ516の中で、バリッド517が1'でかつ
オーバーライト518が1'であるエントリ516が存
在する場合、そのエントリ516に対して、局所メモリ
104より読み出されたエントリを上書きする。具体的
には、先の計算で求めたページ番号と局所メモリ104
より読み出されたエントリにある該当ページの先頭実ア
ドレスを書き込む。バリッド517が1'でかつオーバ
ーライト518が1'であるエントリ516が存在しな
い場合、FIFO方式やLRU方式などの規則によって
TLBエントリを1つ選択する。選択したTLBエント
リのバリッド517が1'の場合、読み出されたエント
リを上書きし、バリッド517が0'であれば新たに読
み出されたエントリを登録する。エントリの登録とは、
前述の上書き時の処理に加えてさらに、バリッド517
を1'に設定することを指す。バリッド517とはエン
トリ516そのものが有効であるか無効であるかを示し
ており、一般的にFIFO方式やLRU方式などで管理
されたエントリ516の情報である。
Seventh, if there is an entry 516 whose validity 517 is 1 'and its overwrite 518 is 1' among the entries 516 in the reception TLB cache 513, the local memory is assigned to the entry 516. Overwrite the entry read from 104. Specifically, the page number obtained by the above calculation and the local memory 104
Then, the head real address of the corresponding page in the entry read out is written. If there is no entry 516 in which the valid 517 is 1 'and the overwrite 518 is 1', one TLB entry is selected according to a rule such as the FIFO method or the LRU method. When the valid 517 of the selected TLB entry is 1 ', the read entry is overwritten, and when the valid 517 is 0', the newly read entry is registered. Creating an entry means
In addition to the above-described overwriting process, a valid
To 1 ′. The valid 517 indicates whether the entry 516 itself is valid or invalid, and is generally information on the entry 516 managed by the FIFO method, the LRU method, or the like.

【0065】第8に、上書きまたは登録したエントリ5
16に対して、上書き設定をどうするかを判定する。上
書き設定とは、そのエントリ516のオーバーライト5
18を設定することを指す。次の4つの判定条件があ
る。 条件1 分割パタン情報が00'で受信データの最初の
ページのエントリである。 条件2 分割パタン情報が00'で受信データの最後の
ページのエントリである。 条件3 分割パタン情報が10'で受信データの最初の
ページのエントリである。 条件4 分割パタン情報が01'で受信データの最後の
ページのエントリである。
Eighth, the overwritten or registered entry 5
Then, it is determined how to perform the overwrite setting for the 16. The overwrite setting is the overwrite 5 of the entry 516.
18 is set. There are the following four determination conditions. Condition 1 is the entry of the first page of the received data with the division pattern information of 00 '. Condition 2 The division pattern information is 00 'and the entry is the last page of the received data. Condition 3 The division pattern information is 10 'and the entry is the first page of the received data. Condition 4 The division pattern information is 01 'and the entry is the last page of the received data.

【0066】第9に、上記の4つの条件のうち、いずれ
も成立しない場合、オーバーライト518を1'設定す
る。いずれかが成立した場合、オーバーライト518を
0'に設定する。上記条件1〜2により、分割されない
パケットの受信データの最初と最後のページのエントリ
のオーバーライト518を0'に設定することにより、
前述の第7項での上書きが行われなくなるが、途中のペ
ージのエントリのオーバーライト518を1'に設定す
ることにより、第7項での上書きが行われることにな
る。また、上記条件3〜4により、分割された先頭パケ
ットの受信データの最初のページのエントリと、分割さ
れた末尾パケットの受信データの最初のページのエント
リのオーバーライト518を0'に設定することによ
り、第7項での上書きが行われなくなるが、分割される
前の連続した受信データとして着目すると途中のページ
のエントリのオーバーライト518を1'に設定するこ
とにより、第7項での上書きが行われることになる。
Ninth, if none of the above four conditions is satisfied, the overwrite 518 is set to 1 '. If either of these holds, the overwrite 518 is set to 0 '. By setting the overwrite 518 of the entry of the first and last pages of the received data of the undivided packet to 0 'according to the above conditions 1 and 2,
Although the overwriting in the above-described item 7 is not performed, the overwriting in the item 7 is performed by setting the overwrite 518 of the entry of the middle page to 1 ′. Also, according to the above conditions 3 and 4, the entry of the first page of the received data of the divided first packet and the overwrite 518 of the entry of the first page of the received data of the divided last packet are set to 0 '. , The overwriting in the seventh term is not performed. However, when attention is paid to continuous received data before division, the overwriting 518 of the entry of the middle page is set to 1 ′, thereby overwriting in the seventh term. Will be performed.

【0067】第10に、第4項で求めたページ番号のT
LBエントリ内にある該当ページの先頭実アドレスを使
って、受信データの先頭実アドレスを求める。受信デー
タの先頭アドレス情報をページサイズで割り、その余り
を該当ページの先頭実アドレスに加算した値が受信デー
タの先頭実アドレスである。
Tenth, the T of the page number obtained in the fourth item
The head real address of the received data is obtained by using the head real address of the corresponding page in the LB entry. The value obtained by dividing the head address information of the received data by the page size and adding the remainder to the head real address of the corresponding page is the head real address of the received data.

【0068】このようにして、受信アドレス変換回路5
11は、受信データの先頭実アドレスを求め、受信デー
タ長情報とともに受信DMAC1512に渡して、デー
タの書き込みを命令する。
As described above, the reception address conversion circuit 5
Numeral 11 finds the start real address of the received data and transfers it to the receiving DMAC 1512 together with the received data length information to instruct data writing.

【0069】受信DMAC512内の長さカウンタが0
になると、受信データの全てが局所メモリ104に書き
込まれたことになる。受信シーケンサ501は受信アド
レス変換回路511にパケットヘッダバッファ502に
記憶された受信フラグオフセット507を渡して、その
パケットが受信されたことを示す値を受信状態フラグ1
27の書き込みを命令する。本例では受信状態フラグ1
27は、パケット108が受信されたか、まだ受信され
ていないかを意味する2つの可能な値の1つを有するこ
とができる。本例では、受信状態フラグ127は仮想ア
ドレス空間上のページサイズよりも小さい大きさで、さ
らに、2つのページをまたぐことが無いように、あらか
じめ受信フラグオフセット507の値を制限されている
ので、受信データの書き込み命令のときと同様に、受信
状態フラグ127が複数のページに渡らない場合につい
て記述する。
When the length counter in the reception DMAC 512 is 0
When this happens, all of the received data has been written to the local memory 104. The reception sequencer 501 passes the reception flag offset 507 stored in the packet header buffer 502 to the reception address conversion circuit 511, and sets a value indicating that the packet has been received to the reception state flag 1
27 is written. In this example, the reception state flag 1
27 may have one of two possible values meaning that the packet 108 has been received or not yet received. In this example, the reception state flag 127 is smaller than the page size in the virtual address space, and the value of the reception flag offset 507 is limited in advance so as not to cross two pages. As in the case of the received data write command, a case where the reception state flag 127 does not extend over a plurality of pages will be described.

【0070】第1に、送信アドレス変換回路138は、
仮想空間上のページ番号を求めるため、送信フラグオフ
セットをページサイズレジスタの値で割って商を計算す
る。
First, the transmission address conversion circuit 138
To determine the page number in the virtual space, the quotient is calculated by dividing the transmission flag offset by the value of the page size register.

【0071】第2に、受信アドレス変換回路511は受
信TLBキャッシュ513に、先に求めたページ番号が
存在するかどうかを確認する。具体的には、受信TLB
キャッシュ513の全エントリ516を見て、バリッド
517が有効でページ番号が同一のエントリ516があ
るかどうかを探す。エントリ516が存在した場合、第
9項の処理へ移る。
Second, the reception address conversion circuit 511 checks whether or not the reception TLB cache 513 has the previously obtained page number. Specifically, the reception TLB
By looking at all the entries 516 in the cache 513, it is searched whether there is an entry 516 in which the valid 517 is valid and has the same page number. If the entry 516 exists, the process proceeds to the processing in the ninth section.

【0072】第3に、同一のエントリが無い場合、局所
メモリ104にあるエントリアドレスを求めるため、先
に求めたページ番号にエントリサイズ、この実施例では
固定値を掛け算し、TLBアドレスレジスタ515の値
を加算する。
Third, if there is no identical entry, the page number previously obtained is multiplied by the entry size, in this embodiment, a fixed value, in order to find the entry address in the local memory 104. Add values.

【0073】第4に、エントリアドレスを求めたら、受
信DMAC512に対してエントリアドレスの指すエン
トリを局所メモリ104から読み出すように命令する。
Fourth, when the entry address is obtained, the receiving DMAC 512 is instructed to read the entry indicated by the entry address from the local memory 104.

【0074】第5に、エントリが局所メモリ104から
読み出されるのを待つ。
Fifth, wait for an entry to be read from local memory 104.

【0075】第6に、受信TLBキャッシュ513にあ
るエントリ516に上書き可能なエントリ516がある
かどうかを確認する。具体的には、受信TLBキャッシ
ュ513にあるエントリ516の中で、オーバーライト
517が1'のエントリが存在するかどうかを確認す
る。
Sixth, it is confirmed whether or not the entry 516 in the reception TLB cache 513 has an entry 516 that can be overwritten. Specifically, it is checked whether or not an entry with an overwrite 517 of 1 ′ exists among the entries 516 in the reception TLB cache 513.

【0076】第7に、受信TLBキャッシュ513にあ
るエントリの中で、バリッド517が1'でかつオーバ
ーライト518が1'であるエントリが存在する場合、
そのエントリ516に対して、局所メモリ104より読
み出されたエントリを上書きする。具体的には、先の計
算で求めたページ番号と読み出されたエントリにある該
当ページの先頭実アドレスを書き込む。バリッド517
が1'でかつオーバーライト518が1'であるエントリ
516が存在しない場合、FIFO方式やLRU方式な
どの規則によってエントリ516を1つ選択する。選択
したエントリ516のバリッド517が1'の場合、読
み出されたエントリを上書きし、バリッド517が0'
であれば新たに読み出されたエントリ516を登録す
る。エントリ516の登録とは、前述の上書き時の処理
に加えてさらに、バリッド517を1'に設定すること
を指す。
Seventh, if there is an entry in the reception TLB cache 513 whose validity 517 is 1 'and whose overwrite 518 is 1',
The entry 516 is overwritten with the entry read from the local memory 104. Specifically, the page number obtained by the above calculation and the head real address of the corresponding page in the read entry are written. Valid 517
Is 1 'and the overwrite 518 is 1', there is no entry 516, and one entry 516 is selected by a rule such as the FIFO method or the LRU method. If the valid 517 of the selected entry 516 is 1 ', the read entry is overwritten, and the valid 517 is 0'.
If so, the newly read entry 516 is registered. The registration of the entry 516 indicates that the valid 517 is set to 1 ′ in addition to the above-described process at the time of overwriting.

【0077】第8に、上書きまたは登録したエントリ5
16に対して、上書き設定する。上書き設定とは、その
エントリのオーバーライト518を設定することを指
す。受信状態フラグ127は先に述べた通りページサイ
ズよりも小さく、再利用される可能性があるのでオーバ
ーライト518は0'に設定する。
Eighth, the overwritten or registered entry 5
16 is overwritten. The overwrite setting refers to setting the overwrite 518 of the entry. As described above, the reception state flag 127 is smaller than the page size, and there is a possibility of being reused. Therefore, the overwrite 518 is set to 0 '.

【0078】第9に、第4項で求めたページ番号のエン
トリ516内にある該当ページの先頭実アドレス520
を使って、受信状態フラグ127の先頭実アドレスを求
める。受信フラグオフセット506をページサイズで割
り、その余りを該当ページの先頭実アドレス520に加
算した値が受信状態フラグ127の先頭実アドレスであ
る。
Ninth, the head real address 520 of the relevant page in the entry 516 of the page number obtained in the fourth item
Is used to determine the head real address of the reception status flag 127. The value obtained by dividing the reception flag offset 506 by the page size and adding the remainder to the head real address 520 of the corresponding page is the head real address of the reception status flag 127.

【0079】このようにして、受信アドレス変換回路5
11は、受信状態フラグ127の先頭実アドレスを求
め、受信DMAC512に渡して、受信状態フラグ12
7の書き込みを命令する。
As described above, the reception address conversion circuit 5
11 obtains the head real address of the reception status flag 127 and passes it to the reception DMAC 512 to obtain the reception real flag 12.
7 is written.

【0080】宛先ノードの命令プロセッサ103は任意
の時点でパケット108の受信状態フラグ127を読み
取るとこにより、そのパケット108の受信を確認でき
る。
The instruction processor 103 of the destination node can confirm the reception of the packet 108 by reading the reception state flag 127 of the packet 108 at an arbitrary time.

【0081】本発明の実施例は、連続したデータを複数
のノード間で転送する際に、利用効率の低いアドレス変
換テーブルエントリをTLBキャッシュに常駐させない
ようにして、TLBキャッシュの利用効率を上げ、アド
レス変換を高速化するための手段を与えるものである。
According to the embodiment of the present invention, when transferring continuous data between a plurality of nodes, the use efficiency of the TLB cache is increased by preventing the address conversion table entry having a low use efficiency from being resident in the TLB cache. This provides a means for speeding up address translation.

【0082】[0082]

【発明の効果】本発明の並列コンピュータシステムでは
TLBキャッシュの各ページエントリに上書き可能であ
るかないかを示すフィールドを設けて、ページエントリ
登録の際に転送するデータの途中のページエントリであ
ればすぐに上書き可能に、またデータの最初か最後であ
ればすぐに上書きできないように優先順位を付けること
が可能になる。これにより、データの最初または最後の
ページに相当する、データ転送にはまだ使用されていな
い領域があって再利用される可能性の高いページエント
リと、データ転送の際に全ての領域を使用されたページ
エントリを区別して扱えるため、再利用される前に別の
データ転送によって溢れる可能性が低くなりTLBキャ
ッシュの利用効率が上がってアドレス変換の高速化が期
待できる。
In the parallel computer system of the present invention, a field is provided to indicate whether each page entry in the TLB cache can be overwritten or not. Can be prioritized so that data can be overwritten immediately or at the end of data. As a result, there is a page entry corresponding to the first or last page of data that is not yet used for data transfer and is likely to be reused, and all areas are used for data transfer. Since the page entries can be handled separately, the possibility of overflow due to another data transfer before reuse is reduced, and the use efficiency of the TLB cache is increased, so that high-speed address translation can be expected.

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

【図1】アドレス変換機能およびパケット分割機能を組
み込んだハードウエアのブロック図。
FIG. 1 is a block diagram of hardware incorporating an address conversion function and a packet division function.

【図2】本発明を組み込んだ送信回路のブロック図。FIG. 2 is a block diagram of a transmission circuit incorporating the present invention.

【図3】本発明を組み込んだ送信アドレス変換回路にお
ける送信データのアドレス変換処理手順を示す図。
FIG. 3 is a diagram showing an address conversion processing procedure of transmission data in a transmission address conversion circuit incorporating the present invention.

【図4】図3のaに続く送信データのアドレス変換処理
手順を示す図。
FIG. 4 is a view showing a procedure of an address conversion process of transmission data subsequent to FIG. 3A.

【図5】送信データのアドレスを変換するときの仮想ア
ドレス空間と実アドレス空間およびアドレス変換テーブ
ルとの関係を示した図。
FIG. 5 is a diagram illustrating a relationship between a virtual address space, a real address space, and an address conversion table when an address of transmission data is converted;

【図6】本発明を組み込んだ受信回路のブロック図。FIG. 6 is a block diagram of a receiving circuit incorporating the present invention.

【図7】本発明を組み込んだ受信アドレス変換回路にお
ける受信データのアドレス変換処理手順を示す図。
FIG. 7 is a diagram showing an address conversion processing procedure of reception data in a reception address conversion circuit incorporating the present invention.

【図8】図7のaに続く受信データのアドレス変換処理
手順を示す図。
FIG. 8 is a view showing a procedure of an address conversion process of received data following FIG. 7a.

【図9】従来の転送するデータのアドレスを変換すると
きの仮想アドレス空間と実アドレス空間の関係を示した
図。
FIG. 9 is a diagram showing a conventional relationship between a virtual address space and a real address space when converting addresses of data to be transferred.

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

101…ネットワーク、102…ノード、103…命令
プロセッサ、104…局所メモリ、105…送信回路、
106…受信回路、107…アドレスおよびデータバ
ス、108…パケット、109…スタートコード、11
0…分割パタン、111…データ長、112…宛先ノー
ド番号、113…受信データオフセット、114…受信
フラグオフセット、115…送信先ノード番号、116
…データ、117…TCWBバッファ、118…送信コ
ントローラ、121…受信コントローラ、123…送信
データ、124…送信状態フラグ、125…送信アドレ
ス変換テーブル、126…受信データ、127…受信状
態フラグ、128…受信アドレス変換テーブル、129
転送制御ワードブロック(TCWB)、131…TCW
Bアドレスレジスタ、132…タイプ、133…分割イ
ネーブル、134…送信データオフセット、135…送
信フラグオフセット、136…送信FIFOデータバッ
ファ、137…送信DMAC、138…送信アドレス変
換回路、139…送信ノード番号レジスタ、140…ペ
ージサイズレジスタ、141…TLBアドレスレジス
タ、142…パケット組み立て部、143…送信TLB
キャッシュ、144…ページエントリ、145…バリッ
ド、146…オーバーヘッド、147…ページ番号、1
48…ページ内先頭実アドレス、149…仮想アドレス
空間、150…ページ、151…実アドレス空間、50
1…受信シーケンサ、502…パケットヘッダバッフ
ァ、503…タイプ、504…分割パタン、505…デ
ータ長、506…受信データオフセット、507…受信
フラグオフセット、508…送信元ノード番号、509
…パケット受信部、510…受信FIFOデータバッフ
ァ、511…受信アドレス変換回路、512…受信DM
AC、513…受信TLBキャッシュ、514…ページ
サイズレジスタ、515…TLBアドレスレジスタ、5
16…ページエントリ、517…バリッド、518…オ
ーバーライト、519…ページ番号、520…ページ内
先頭実アドレス、701…データ、702…仮想アドレ
ス空間、703…実アドレス空間、704…ページ。
101 network, 102 node, 103 instruction processor, 104 local memory, 105 transmission circuit,
106: receiving circuit, 107: address and data bus, 108: packet, 109: start code, 11
0: division pattern, 111: data length, 112: destination node number, 113: reception data offset, 114: reception flag offset, 115: destination node number, 116
... Data, 117 ... TCWB buffer, 118 ... Transmission controller, 121 ... Reception controller, 123 ... Transmission data, 124 ... Transmission status flag, 125 ... Transmission address conversion table, 126 ... Reception data, 127 ... Reception status flag, 128 ... Reception Address conversion table, 129
Transfer control word block (TCWB), 131 ... TCW
B address register, 132 type, 133 division enable, 134 transmission data offset, 135 transmission flag offset, 136 transmission FIFO data buffer, 137 transmission DMAC, 138 transmission address conversion circuit, 139 transmission node number register 140, page size register, 141, TLB address register, 142, packet assembler, 143, transmission TLB
Cache, 144: Page entry, 145: Valid, 146: Overhead, 147: Page number, 1
48: top real address in page; 149: virtual address space; 150: page; 151: real address space;
1 ... Reception sequencer, 502 ... Packet header buffer, 503 ... Type, 504 ... Division pattern, 505 ... Data length, 506 ... Reception data offset, 507 ... Reception flag offset, 508 ... Source node number, 509
.., A packet reception unit, 510, a reception FIFO data buffer, 511, a reception address conversion circuit, 512, a reception DM
AC, 513: TLB cache received, 514: Page size register, 515: TLB address register, 5
16 page entry, 517 valid, 518 overwrite, 519 page number, 520 top real address in page, 701 data, 702 virtual address space, 703 real address space, 704 page.

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/163 650 G06F 15/163 650A ──────────────────────────────────────────────────続 き Continued on the front page (51) Int.Cl. 7 Identification symbol FI Theme coat ゛ (Reference) G06F 15/163 650 G06F 15/163 650A

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 ネットワークにより接続された複数の処
理ノードから構成され、アドレス変換を行ないながらネ
ットワークを介してノード間でデータを転送するコンピ
ュータシステムであって、転送するデータに対応したア
ドレス変換エントリをアドレス変換テーブルより選択し
アドレス変換テーブルキャッシュに登録する際に、アド
レス変換エントリの転送するデータに対応する位置を判
別可能なことを特徴とする並列コンピュータシステム。
1. A computer system comprising a plurality of processing nodes connected by a network and transferring data between nodes via a network while performing address conversion, comprising an address translation entry corresponding to the data to be transferred. A parallel computer system wherein a position corresponding to data to be transferred of an address translation entry can be determined when selecting from an address translation table and registering it in an address translation table cache.
【請求項2】 ネットワークにより接続された複数の処
理ノードから構成され、アドレス変換を行ないながらネ
ットワークを介してノード間でデータを転送するコンピ
ュータシステムであって、転送するデータに対応したア
ドレス変換エントリをアドレス変換テーブルより選択し
アドレス変換テーブルキャッシュに登録する際に、アド
レス変換エントリの転送するデータに対応する位置によ
って前記キャッシュ内での優先付けが可能な情報を前記
キャッシュのエントリに有することを特徴とする並列コ
ンピュータシステム。
2. A computer system comprising a plurality of processing nodes connected by a network and transferring data between nodes via a network while performing address conversion, wherein an address translation entry corresponding to the data to be transferred is stored in a computer system. When selecting from the address translation table and registering it in the address translation table cache, information that can be prioritized in the cache by a position corresponding to the data to be transferred of the address translation entry is included in the entry of the cache. Parallel computer system.
JP2001053468A 2001-02-28 2001-02-28 Parallel computer system Pending JP2002259213A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001053468A JP2002259213A (en) 2001-02-28 2001-02-28 Parallel computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001053468A JP2002259213A (en) 2001-02-28 2001-02-28 Parallel computer system

Publications (1)

Publication Number Publication Date
JP2002259213A true JP2002259213A (en) 2002-09-13

Family

ID=18913930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001053468A Pending JP2002259213A (en) 2001-02-28 2001-02-28 Parallel computer system

Country Status (1)

Country Link
JP (1) JP2002259213A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544104A (en) * 2006-07-14 2009-12-10 クゥアルコム・インコーポレイテッド Method and system for indicating a page causing an exception in a microprocessor
US7882166B2 (en) 2003-02-21 2011-02-01 Nec Corporation Inter-computer data transfer method and inter-computer network system
JP2021530152A (en) * 2018-06-29 2021-11-04 マイクロン テクノロジー,インク. Secure logical vs. physical caching

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882166B2 (en) 2003-02-21 2011-02-01 Nec Corporation Inter-computer data transfer method and inter-computer network system
JP2009544104A (en) * 2006-07-14 2009-12-10 クゥアルコム・インコーポレイテッド Method and system for indicating a page causing an exception in a microprocessor
JP2021530152A (en) * 2018-06-29 2021-11-04 マイクロン テクノロジー,インク. Secure logical vs. physical caching
US11341050B2 (en) 2018-06-29 2022-05-24 Micron Technology, Inc. Secure logical-to-physical caching
US11886339B2 (en) 2018-06-29 2024-01-30 Micron Technology, Inc. Secure logical-to-physical caching

Similar Documents

Publication Publication Date Title
JP4755390B2 (en) Method and apparatus for controlling the flow of data between data processing systems via a memory
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US7409468B2 (en) Controlling flow of data between data processing systems via a memory
KR100326864B1 (en) Network communication method and network system
EP1430658B1 (en) Method, apparatus and computer program for the decapsulation and encapsulation of packets with multiple headers
US6901451B1 (en) PCI bridge over network
JP4317365B2 (en) Method and apparatus for transferring interrupts from a peripheral device to a host computer system
JPH07262152A (en) Computer system
EP0602890B1 (en) Transfer processing circuitry for use in parallel processing systems
US20040015598A1 (en) Method for increasing the transmit and receive efficiency of an embedded ethernet controller
EP1543658B1 (en) One shot rdma having a 2-bit state
US7269666B1 (en) Memory utilization in a network interface
JP2002259213A (en) Parallel computer system
JP2002084311A (en) Packet transmission equipment
US20020049875A1 (en) Data communications interfaces
US20020049878A1 (en) Data communications interfaces
JP2005157444A (en) Fifo control circuit
JP2004094931A (en) Network system and communication method in network
JP2000112849A (en) Method for attaching header to communication packet
JPH10161955A (en) Network communication method
JP3623727B2 (en) Communication method
JPS62107556A (en) Packet buffer control system