JP2836283B2 - Buffer management method - Google Patents

Buffer management method

Info

Publication number
JP2836283B2
JP2836283B2 JP3106805A JP10680591A JP2836283B2 JP 2836283 B2 JP2836283 B2 JP 2836283B2 JP 3106805 A JP3106805 A JP 3106805A JP 10680591 A JP10680591 A JP 10680591A JP 2836283 B2 JP2836283 B2 JP 2836283B2
Authority
JP
Japan
Prior art keywords
buffer
pointer
value
data
central control
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
JP3106805A
Other languages
Japanese (ja)
Other versions
JPH04314163A (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 Corp
Original Assignee
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP3106805A priority Critical patent/JP2836283B2/en
Priority to DE69229423T priority patent/DE69229423T2/en
Priority to EP92303221A priority patent/EP0509722B1/en
Priority to AU14875/92A priority patent/AU661301B2/en
Priority to CA002065894A priority patent/CA2065894C/en
Priority to US07/867,523 priority patent/US5555380A/en
Publication of JPH04314163A publication Critical patent/JPH04314163A/en
Application granted granted Critical
Publication of JP2836283B2 publication Critical patent/JP2836283B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/108Reading or writing the data blockwise, e.g. using an extra end-of-block pointer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は複数の中央制御部が同一
のバッファにデータを転送するマルチプロセッサシステ
ムに於けるバッファ管理方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a buffer management system in a multiprocessor system in which a plurality of central control units transfer data to the same buffer.

【0002】[0002]

【従来の技術】従来、複数の中央制御部が同一のバッフ
ァにデータを転送するマルチプロセッサシステムに於け
るバッファ管理方式としては、オートインクリメントポ
インタ方式が知られている。このオートインクリメント
ポインタ方式は、各中央制御部がバッファにデータを転
送するのに先立ち、特定の番地に存在するポインタの値
を読出し、アクセスするバッファエリアの先頭位置を決
定するものであり、ポインタの値は1回読出される毎に
「1」加算され、次にアクセスされるバッファエリアの
先頭位置を示す。このようなオートインクリメントポイ
ンタ方式を採用することにより、各中央制御部から転送
されてきたデータが同一のバッファエリアに書込まれな
いようにすることができる。
2. Description of the Related Art Conventionally, an auto-increment pointer method is known as a buffer management method in a multiprocessor system in which a plurality of central control units transfer data to the same buffer. In this auto-increment pointer method, before each central control unit transfers data to a buffer, the value of a pointer existing at a specific address is read, and the start position of a buffer area to be accessed is determined. The value is incremented by "1" each time it is read, and indicates the head position of the buffer area to be accessed next. By employing such an auto-increment pointer method, it is possible to prevent data transferred from each central control unit from being written into the same buffer area.

【0003】[0003]

【発明が解決しようとする課題】上述した従来方式は、
ポインタの更新値が「1」に固定されている。即ち、1
回のデータ転送で利用できるバッファエリアの長さが固
定されているので、バッファエリアをあまり短くする
と、バッファエリアの長さより長いデータは数回に分け
て転送する必要があり、転送速度が遅くなる。また、反
対にバッファエリアの長さを長くすると、非常に短いデ
ータであっても無駄にバッファを占有してしまう。
SUMMARY OF THE INVENTION The above-mentioned conventional method is as follows.
The updated value of the pointer is fixed at "1". That is, 1
Since the length of the buffer area that can be used in one data transfer is fixed, if the buffer area is too short, data longer than the length of the buffer area must be transferred in several batches, which reduces the transfer speed. . On the other hand, if the length of the buffer area is increased, even a very short data will wastefully occupy the buffer.

【0004】本発明の目的はデータ転送速度,バッファ
の利用効率を高いものとすることができるバッファ管理
方式を提供することにある。
[0004] It is an object of the present invention to provide a buffer management system capable of improving data transfer speed and buffer utilization efficiency.

【0005】[0005]

【課題を解決するための手段】本発明は上記目的を達成
するため、複数の中央制御部がポインタのアドレスを出
力して前記ポインタの値を読取り、読取ったポインタの
値に従ってバッファにデータを転送するマルチプロセッ
サシステムに於いて、前記各中央制御部は前記バッファ
にデータを転送する際、転送データのデータ長に関する
情報を付加した前記ポインタのアドレスを出力すること
により前記ポインタの値を読取った後、読取ったポイン
タの値に従ってヘッダを付加したデータを前記バッファ
に転送し、前記ポインタは前記中央制御部によってその
値が読取られることにより、その値を前記データ長に関
する情報に従って更新し、前記バッファに格納されてい
るデータを処理する装置は、前記バッファに対する内部
ポインタを有し、前記バッファをアクセスする際、前記
内部ポインタの値と所定の関係を有する前記バッファ上
の位置にヘッダが存在するか否かを判断し、存在すると
判断した場合は前記内部ポインタの値に従って前記バッ
ファをアクセスした後、前記内部ポインタの値を前記デ
ータ長に従って更新し、存在しないと判断した場合は前
記バッファをサーチしてヘッダを探し、探し出した位置
に従って前記内部ポインタの値を修正する。
According to the present invention, to achieve the above object, a plurality of central control units output the address of a pointer, read the value of the pointer, and transfer data to a buffer according to the read pointer value. When transferring data to the buffer, the central control unit reads the value of the pointer by outputting the address of the pointer to which information on the data length of the transfer data has been added. Transferring the data to which the header is added according to the value of the read pointer to the buffer, and updating the value of the pointer according to the information on the data length by reading the value of the pointer by the central control unit; An apparatus for processing stored data has an internal pointer to the buffer, When accessing the buffer, it is determined whether or not a header exists at a position on the buffer having a predetermined relationship with the value of the internal pointer, and if it is determined that the header exists, the buffer is stored in accordance with the value of the internal pointer. After the access, the value of the internal pointer is updated according to the data length, and when it is determined that the internal pointer does not exist, the buffer is searched for a header, and the value of the internal pointer is corrected according to the searched position.

【0006】[0006]

【0007】[0007]

【作用】本発明では、各中央制御部はバッファにデータ
を転送するのに先立ってポインタの内容を読出す。その
際、中央制御部はポインタのアドレスに転送データのデ
ータ長に関する情報を付加したものを読出しアドレスと
して出力する。そして、中央制御部はポインタの値を読
み出すと、読みとったポインタの値に従ってヘッダを付
加したデータをバッファに転送する。
In the present invention, each central control unit reads the contents of the pointer before transferring data to the buffer. At this time, the central control unit outputs, as a read address, a value obtained by adding information on the data length of the transfer data to the address of the pointer. Then, when reading the value of the pointer, the central control unit transfers the data with the header added to the buffer according to the value of the read pointer.

【0008】[0008]

【0009】ポインタは中央制御部によってその値が読
出されると、その値をデータ長に関する情報に従って更
新する。
When the value of the pointer is read out by the central control unit, the value is updated according to the information on the data length.

【0010】また、バッファに格納されているデータを
処理する装置は、バッファをアクセスする際、内部ポイ
ンタの値と所定の関係を有する前記バッファ上の位置に
ヘッダが存在するか否かを判断する。そして、存在する
と判断した場合は内部ポインタの値に従ってバッファを
アクセスした後、データ長に従って内部ポインタの値を
更新する。また、存在しないと判断した場合は、バッフ
ァをサーチしてヘッダを探し、探し出した位置に従って
内部ポインタの値を修正する。
When accessing the buffer, the apparatus for processing the data stored in the buffer determines whether or not a header exists at a position on the buffer having a predetermined relationship with the value of the internal pointer. . Then, if it is determined that the buffer exists, the buffer is accessed according to the value of the internal pointer, and then the value of the internal pointer is updated according to the data length. When it is determined that the header does not exist, the buffer is searched for the header, and the value of the internal pointer is corrected according to the searched position.

【0011】[0011]

【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, embodiments of the present invention will be described in detail with reference to the drawings.

【0012】図1は本発明の実施例のブロック図であ
り、中央制御部(CP)1〜4と、システムバス5と、
I/Oパネル6と、バス調停回路11と、回線12とか
ら構成されている。
FIG. 1 is a block diagram of an embodiment of the present invention, in which central control units (CP) 1-4, a system bus 5,
It comprises an I / O panel 6, a bus arbitration circuit 11, and a line 12.

【0013】I/Oパネル6は2ポートRAM7を含ん
でいる。この2ポートRAM7上にはバッファ(送信,
受信バッファ)8と、外部ポインタ9と、内部ポインタ
10とが構成されている。
The I / O panel 6 includes a two-port RAM 7. A buffer (transmission,
A reception buffer 8, an external pointer 9, and an internal pointer 10 are configured.

【0014】2ポートRAM7をI/Oパネル6内部よ
り見た時は、図2に示すように、単なるRAMとしてア
ドレス$8000〜$FFFFが割当てられ、読み書き
が自由に行なわれる。
When the two-port RAM 7 is viewed from the inside of the I / O panel 6, as shown in FIG. 2, addresses $ 8000 to $ FFFF are assigned as simple RAMs, and reading and writing can be performed freely.

【0015】また、システムバス5側から見た時にはア
ドレス$0000〜$7FFFが割当てられ、次の3つ
のエリアに区分される。
When viewed from the system bus 5 side, addresses $ 0000 to $ 7FFF are allocated and divided into the following three areas.

【0016】 バッファエリア8E バッファ8と対応し、中央制御部1〜4から自由に読み
書きを行なうことができるエリアである。
Buffer area 8E Corresponds to the buffer 8 and is an area where the central control units 1 to 4 can freely read and write.

【0017】 外部ポインタエリア9E 外部ポインタ9と対応し、中央制御部1〜4から自由に
読み書きを行なうことができるエリアである。外部ポイ
ンタエリア9Eには中央制御部1〜4が次にアクセスす
るバッファ8上の位置を示す情報が格納され、中央制御
部1〜4によりその値が読出された直後にハードウェア
によってその値が自動的に変更される。
External pointer area 9E This area corresponds to the external pointer 9 and can be freely read and written by the central control units 1 to 4. Information indicating the position on the buffer 8 to be accessed next by the central control units 1 to 4 is stored in the external pointer area 9E, and the value is read out by hardware immediately after the value is read out by the central control units 1 to 4. Changed automatically.

【0018】 内部ポインタエリア10E 内部ポインタ10と対応し、中央制御部1〜4からは読
み書きできないI/Oパネル6専用のエリアである。内
部ポインタエリア10EにはI/Oパネル6が次にアク
セスするバッファ8上の位置を示す情報が格納される。
Internal pointer area 10E Corresponds to the internal pointer 10, and is an area dedicated to the I / O panel 6 that cannot be read or written by the central control units 1 to 4. The internal pointer area 10E stores information indicating the position on the buffer 8 to be accessed next by the I / O panel 6.

【0019】図3,図4は中央制御部1〜4,I/Oパ
ネル6の処理例を示す流れ図であり、以下、本実施例の
動作を説明する。
FIGS. 3 and 4 are flowcharts showing processing examples of the central control units 1-4 and the I / O panel 6. The operation of this embodiment will be described below.

【0020】各中央制御部1〜4はバッファ8にデータ
を転送する際、バス調停回路11にバス使用要求を出力
し、バス調停回路11からバス使用許可が与えられる
と、図3に示す処理を開始する。
Each of the central controllers 1 to 4 outputs a bus use request to the bus arbitration circuit 11 when transferring data to the buffer 8, and when a bus use permission is given from the bus arbitration circuit 11, the processing shown in FIG. To start.

【0021】先ず、バス使用許可の与えられた中央制御
部(中央制御部1とする)は、転送するデータを含む転
送ブロックのブロック長Liを求め(ステップS3
1)、次いでブロック長Liに基づいて外部ポインタ9
に対する更新値Lbを求める (ステップS32)。今、
例えば、バッファ8を管理する外部ポインタ9の最小の
管理単位が64バイトであるとすると、中央制御部1は
ブロック長Liを「64」で除算し、その整数部分に1
を加算した値を更新値Lbとする。
First, the central control unit (to be referred to as the central control unit 1) to which the bus use permission is given obtains the block length Li of the transfer block including the data to be transferred (step S3).
1) and then the external pointer 9 based on the block length Li
Is obtained (step S32). now,
For example, assuming that the minimum management unit of the external pointer 9 for managing the buffer 8 is 64 bytes, the central control unit 1 divides the block length Li by “64”, and adds 1 to the integer part.
Is set as the update value Lb.

【0022】次に、中央制御部1は外部ポインタ9のア
ドレスの下位側に更新値Lbを付加したものを読出しア
ドレスとしてシステムバス5に出力し、外部ポインタ9
の値PTReを読出す(ステップS33)。
Next, the central control unit 1 outputs a value obtained by adding an updated value Lb to the lower side of the address of the external pointer 9 to the system bus 5 as a read address.
Is read out (Step S33).

【0023】I/Oパネル6は中央制御部1によって外
部ポインタ9の値PTReが読出されると、図5に示す
ように、加算手段51を用いて外部ポインタ9の値PT
Reに更新値Lbを加算する。この更新後の外部ポイン
タ9の値PTReは、次にデータをバッファ8に転送す
る際の先頭位置を示す。
When the value PTRe of the external pointer 9 is read by the central control unit 1, the I / O panel 6 uses the adding means 51 to add the value PTRe of the external pointer 9 as shown in FIG.
The updated value Lb is added to Re. The updated value PTRe of the external pointer 9 indicates the start position of the next data transfer to the buffer 8.

【0024】中央制御部1は外部ポインタ9の値PTR
eを読出すと、その値PTReに基づいて転送ブロック
を格納させるバッファ8上のエリアの先頭アドレスを求
める(ステップS34)。次に中央制御部1は図6に示
すような、データにバッファビジーフラグB,ベッダH
EADER,ブロック長Liを付加した転送ブロックを
作成し、それをバッファ8に転送する (ステップS3
5)。そして、転送ブロックの転送が完了すると、バッ
ファビジーフラグBに“1”を立てて転送が完了したこ
とを表示し (ステップS36)、その処理を終了する。
The central control unit 1 stores the value PTR of the external pointer 9
After reading e, the start address of the area on the buffer 8 for storing the transfer block is obtained based on the value PTRe (step S34). Next, the central control unit 1 adds the buffer busy flag B and the bed H to the data as shown in FIG.
A transfer block to which the EADER and the block length Li are added is created and transferred to the buffer 8 (step S3).
5). When the transfer of the transfer block is completed, the buffer busy flag B is set to "1" to indicate that the transfer has been completed (step S36), and the process ends.

【0025】次にI/Oパネル6の処理を図4を参照し
て説明する。
Next, the processing of the I / O panel 6 will be described with reference to FIG.

【0026】I/Oパネル6はバッファ8に格納されて
いるデータを処理する際、先ず、内部ポインタ10の値
PTRiに基づいて転送ブロックの先頭位置を求める
(ステップS41)。次に、I/Oパネル6は上記転送
ブロックの先頭位置と所定の関係を有する位置にヘッダ
HEADERが存在するか否かを判断する (ステップS
42)。尚、ヘッダHEADERの値は、なるべく他の
データと重複しないユニークな値に設定しておくことが
望ましい。
When processing the data stored in the buffer 8, the I / O panel 6 first obtains the start position of the transfer block based on the value PTRI of the internal pointer 10.
(Step S41). Next, the I / O panel 6 determines whether or not the header HEADER exists at a position having a predetermined relationship with the head position of the transfer block (step S).
42). It is desirable that the value of the header HEADER be set to a unique value that does not overlap with other data as much as possible.

【0027】そして、ヘッダHEADERが存在すると
判断した場合(内部ポインタ10の値PTRiが図7に
示すようにa,bとなっている場合)は上記先頭位置に
存在するバッファビジーフラグBが“1”であるか否か
を判断する (ステップS43)。バッファビジーフラグ
Bが“1”でないと判断した場合、即ち、その転送ブロ
ックの転送が完了していないと判断した場合はバッファ
ビジーフラグBが“1”になるのを待ち、“1”である
と判断した場合はバッファ8上の上記先頭位置からデー
タを読出し、例えば、回線12を介して他の装置に送信
する等の処理を行なう (ステップS44)。
When it is determined that the header HEADER exists (when the value PTRI of the internal pointer 10 is a or b as shown in FIG. 7), the buffer busy flag B at the head position is set to "1". Is determined (step S43). When it is determined that the buffer busy flag B is not “1”, that is, when it is determined that the transfer of the transfer block has not been completed, the process waits until the buffer busy flag B becomes “1” and is “1”. If it is determined that the data has been read, the data is read from the above-mentioned head position on the buffer 8 and, for example, a process of transmitting the data to another device via the line 12 is performed (step S44).

【0028】その後、I/Oパネル6はバッファビジー
フラグBを“0”にして処理が終了したことを表示し
(ステップS45)、更に、処理の済んだ転送ブロック
に含まれているブロック長Liに基づいて内部ポインタ
10の値PTRiを更新し (ステップS46)、ステッ
プS41の処理に戻る。
Thereafter, the I / O panel 6 sets the buffer busy flag B to "0" to indicate that the processing is completed (step S45), and furthermore, the block length Li included in the processed transfer block. The value PTRI of the internal pointer 10 is updated on the basis of (Step S46), and the process returns to Step S41.

【0029】また、ステップS42で所定の位置にヘッ
ダが存在しないと判断した場合(内部ポインタ10に誤
りが発生し、その値PTRiが図7に示すようにb′と
なっており、転送ブロックの途中を示している場合)
は、I/Oパネル6はバッファ8をサーチしてヘッダを
探し (ステップS47)、探し出したヘッダの位置に基
づいて内部ポインタ10の値PTRiを修正し (ステッ
プS48)、その後、ステップS41の処理に戻る。
If it is determined in step S42 that the header does not exist at a predetermined position (an error occurs in the internal pointer 10 and the value PTRI is b 'as shown in FIG. (When it is on the way)
The I / O panel 6 searches the buffer 8 for a header (step S47), corrects the value PTRI of the internal pointer 10 based on the position of the found header (step S48), and then performs the process of step S41. Return to

【0030】[0030]

【発明の効果】以上説明したように、本発明は、各中央
制御部からバッファへ転送するデータのデータ長に基づ
いてポインタの更新値を変更するものであるので、デー
タ長が短くても無駄にバッファが使用されることがな
く、また、データ長が長くてもデータ転送を何回にも分
けて行なう必要がないので、転送処理を高速化すること
が可能になる効果がある。
As described above, according to the present invention, the updated value of the pointer is changed based on the data length of the data transferred from each central control unit to the buffer. In this case, no buffer is used, and even if the data length is long, it is not necessary to perform the data transfer many times, so that the transfer processing can be speeded up.

【0031】また、更に、本発明は、中央制御部からバ
ッファへ転送するデータにヘッダを付加したものである
ので、内部ポインタの値にずれが発生し、その値がバッ
ファに格納されたデータの途中を示すものになっても、
ヘッダの存在位置に基づいて内部ポインタの値を修正す
ることができ、バッファに格納されたデータを常にその
先頭から処理することが可能になる効果がある。
Further, according to the present invention, since a header is added to the data transferred from the central control unit to the buffer, the value of the internal pointer is shifted, and the value is stored in the buffer stored in the buffer. Even if it shows something on the way,
The value of the internal pointer can be modified based on the position of the header, and the data stored in the buffer can always be processed from the beginning.

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

【図1】本発明の実施例のブロック図である。FIG. 1 is a block diagram of an embodiment of the present invention.

【図2】2ポートRAMのメモリマップである。FIG. 2 is a memory map of a two-port RAM.

【図3】中央制御部の処理例を示す流れ図である。FIG. 3 is a flowchart illustrating a processing example of a central control unit.

【図4】I/Oパネルの処理例を示す流れ図である。FIG. 4 is a flowchart illustrating a processing example of an I / O panel.

【図5】外部ポインタの更新動作を示す図である。FIG. 5 is a diagram illustrating an update operation of an external pointer.

【図6】中央制御部が転送するデータの形式を示す図で
ある。
FIG. 6 is a diagram showing a format of data transferred by a central control unit.

【図7】ヘッダの利用方法を説明するための図である。FIG. 7 is a diagram illustrating a method of using a header.

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

1〜4…中央制御部(CP) 5…システムバス 6…I/Oパネル 7…2ポートRAM 8…バッファ 9…外部ポインタ 10…内部ポインタ 11…バス調停回路 12…回線 1-4 Central control unit (CP) 5 System bus 6 I / O panel 7 2-port RAM 8 Buffer 9 External pointer 10 Internal pointer 11 Bus arbitration circuit 12 Line

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の中央制御部がポインタのアドレス
を出力して前記ポインタの値を読取り、読取ったポイン
タの値に従ってバッファにデータを転送するマルチプロ
セッサシステムに於いて、 前記各中央制御部は前記バッファにデータを転送する
際、転送データのデータ長に関する情報を付加した前記
ポインタのアドレスを出力することにより前記ポインタ
の値を読取った後、読取ったポインタの値に従ってヘッ
ダを付加したデータを前記バッファに転送し、 前記ポインタは前記中央制御部によってその値が読取ら
れることにより、その値を前記データ長に関する情報に
従って更新し、 前記バッファに格納されているデータを処理する装置
は、前記バッファに対する内部ポインタを有し、前記バ
ッファをアクセスする際、前記内部ポインタの値と所定
の関係を有する前記バッファ上の位置にヘッダが存在す
るか否かを判断し、存在すると判断した場合は前記内部
ポインタの値に従って前記バッファをアクセスした後、
前記内部ポインタの値を前記データ長に従って更新し、
存在しないと判断した場合は前記バッファをサーチして
ヘッダを探し、探し出した位置に従って前記内部ポイン
タの値を修正することを特徴とするバッファ管理方式。
1. A multiprocessor system in which a plurality of central control units output the address of a pointer to read the value of the pointer, and transfer data to a buffer in accordance with the read pointer value. When transferring data to the buffer, after reading the value of the pointer by outputting the address of the pointer to which information on the data length of the transfer data has been added, the data with the header added according to the value of the read pointer is written. When the value is read by the central control unit, the value of the pointer is updated according to the information on the data length, and the device that processes the data stored in the buffer is transferred to the buffer. An internal pointer, and when accessing the buffer, the internal pointer It is determined whether or not a header exists at a position on the buffer having a predetermined relationship with the value of, and when it is determined that the header exists, after accessing the buffer according to the value of the internal pointer,
Updating the value of the internal pointer according to the data length;
A buffer management method, wherein when it is determined that there is no buffer, the buffer is searched for a header, and the value of the internal pointer is corrected according to the searched position.
JP3106805A 1991-04-11 1991-04-11 Buffer management method Expired - Fee Related JP2836283B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3106805A JP2836283B2 (en) 1991-04-11 1991-04-11 Buffer management method
DE69229423T DE69229423T2 (en) 1991-04-11 1992-04-10 Data transmission system
EP92303221A EP0509722B1 (en) 1991-04-11 1992-04-10 Data transfer system
AU14875/92A AU661301B2 (en) 1991-04-11 1992-04-13 Data transfer system
CA002065894A CA2065894C (en) 1991-04-11 1992-04-13 Data transfer system
US07/867,523 US5555380A (en) 1991-04-11 1992-04-13 Data transfer system with buffer request including block length to update the buffer pointer prior to transferring of the block

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3106805A JP2836283B2 (en) 1991-04-11 1991-04-11 Buffer management method

Publications (2)

Publication Number Publication Date
JPH04314163A JPH04314163A (en) 1992-11-05
JP2836283B2 true JP2836283B2 (en) 1998-12-14

Family

ID=14443076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3106805A Expired - Fee Related JP2836283B2 (en) 1991-04-11 1991-04-11 Buffer management method

Country Status (6)

Country Link
US (1) US5555380A (en)
EP (1) EP0509722B1 (en)
JP (1) JP2836283B2 (en)
AU (1) AU661301B2 (en)
CA (1) CA2065894C (en)
DE (1) DE69229423T2 (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412611A (en) * 1992-03-17 1995-05-02 Fujitsu, Limited FIFO memory device capable of writing contiguous data into rows
GB2291230B (en) * 1992-10-15 1996-10-16 Fujitsu Ltd Fifo memory devices
GB2297639B (en) * 1992-10-15 1996-10-16 Fujitsu Ltd Fifo memory devices
US5634099A (en) * 1994-12-09 1997-05-27 International Business Machines Corporation Direct memory access unit for transferring data between processor memories in multiprocessing systems
JP3078204B2 (en) * 1995-06-01 2000-08-21 株式会社東芝 Magnetic disk device and buffer management method in magnetic disk device
US5675829A (en) * 1995-07-07 1997-10-07 Sun Microsystems, Inc. Method and apparatus for coordinating data transfer between hardware and software by comparing entry number of data to be transferred data to entry number of transferred data
US6347335B1 (en) * 1995-09-22 2002-02-12 Emc Corporation System using a common and local event logs for logging event information generated by plurality of devices for determining problem in storage access operations
GB9609833D0 (en) * 1996-05-10 1996-07-17 Memory Corp Plc Memory device
US5930808A (en) * 1996-05-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus for data communication system
KR100427136B1 (en) * 1996-05-30 2004-08-11 마츠시타 덴끼 산교 가부시키가이샤 Data conversion device
JP3181515B2 (en) * 1996-09-11 2001-07-03 株式会社沖データ Data transfer method and data transfer device using the method
JP3635169B2 (en) * 1996-11-20 2005-04-06 松下電器産業株式会社 Data transmission device
US5961606A (en) * 1997-06-30 1999-10-05 Sun Microsystems, Inc. System and method for remote buffer allocation in exported memory segments and message passing between network nodes
US6332176B1 (en) * 1998-08-07 2001-12-18 Integrated Memory Logic, Inc. Autohost controller
US7389374B1 (en) 2000-05-17 2008-06-17 Marvell International Ltd. High latency interface between hardware components
US6871251B1 (en) * 2000-05-17 2005-03-22 Marvell International Ltd. High latency interface between hardware components
US6711572B2 (en) * 2000-06-14 2004-03-23 Xosoft Inc. File system for distributing content in a data network and related methods
US7281065B1 (en) 2000-08-17 2007-10-09 Marvell International Ltd. Long latency interface protocol
US7032042B2 (en) * 2003-09-10 2006-04-18 Intel Corporation Request conversion

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS547252A (en) * 1977-06-20 1979-01-19 Hitachi Ltd Program control system
JPS54129942A (en) * 1978-03-31 1979-10-08 Fujitsu Ltd Direct transfer system between sub-systems
US4500958A (en) * 1982-04-21 1985-02-19 Digital Equipment Corporation Memory controller with data rotation arrangement
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US4599689A (en) * 1983-02-28 1986-07-08 Data Translations, Inc. Continuous data transfer system
JPS617967A (en) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/o controller
JPS61196349A (en) * 1985-02-27 1986-08-30 Nec Corp Common bus control system
DE3689151D1 (en) * 1986-12-30 1993-11-11 Ibm Non-locking queue mechanism.
US4914652A (en) * 1988-08-01 1990-04-03 Advanced Micro Devices, Inc. Method for transfer of data between a media access controller and buffer memory in a token ring network
DE68924040T2 (en) * 1988-10-24 1996-04-18 Ibm Method for exchanging data between programs in a data processing system.
JPH07122868B2 (en) * 1988-11-29 1995-12-25 日本電気株式会社 Information processing equipment
JPH02149150A (en) * 1988-11-30 1990-06-07 Nec Corp Communication data buffer control system
US5117486A (en) * 1989-04-21 1992-05-26 International Business Machines Corp. Buffer for packetizing block of data with different sizes and rates received from first processor before transferring to second processor
US5247626A (en) * 1990-05-29 1993-09-21 Advanced Micro Devices, Inc. Fddi controller having flexible buffer management

Also Published As

Publication number Publication date
JPH04314163A (en) 1992-11-05
EP0509722B1 (en) 1999-06-16
AU1487592A (en) 1992-10-15
CA2065894C (en) 1998-06-23
AU661301B2 (en) 1995-07-20
US5555380A (en) 1996-09-10
EP0509722A3 (en) 1994-01-12
DE69229423T2 (en) 2000-02-17
EP0509722A2 (en) 1992-10-21
DE69229423D1 (en) 1999-07-22
CA2065894A1 (en) 1992-10-12

Similar Documents

Publication Publication Date Title
JP2836283B2 (en) Buffer management method
US4945499A (en) Graphic display system
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
US6324595B1 (en) Dedication of space in descriptor for minimizing data processing during communications between a peripheral device and a host system
JP3036809B2 (en) Buffer management method in microcomputer
JP3057754B2 (en) Memory circuit and distributed processing system
JPS5815877B2 (en) Buffer memory control method
JP3268644B2 (en) DMA controller
KR100219474B1 (en) Printer
JP2581144B2 (en) Bus control device
JP2964504B2 (en) Document processing device
JP2533958B2 (en) Data preceding set device
JP3217815B2 (en) Address translation method
JPH0235541A (en) Control system for main storage device
JPH04337851A (en) Memory access system
JPH1040213A (en) Method for transferring dma data of information processor
JPH0612363A (en) Memory controller and multiprocessor system
JP2000047935A (en) High speed memory access processor
JPH02188856A (en) Memory access circuit
JPH0567975B2 (en)
JPH0675905A (en) Bus conversion system
JPS61208153A (en) Page history memory device
JPH039453A (en) Data transfer controller
JPS63259746A (en) Inter-bank-memory data transmission system
JPH0325643A (en) Disk controller

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19980908

LAPS Cancellation because of no payment of annual fees