JP2836283B2 - バッファ管理方式 - Google Patents

バッファ管理方式

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
English (en)
Other versions
JPH04314163A (ja
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/ja
Priority to EP92303221A priority patent/EP0509722B1/en
Priority to DE69229423T priority patent/DE69229423T2/de
Priority to US07/867,523 priority patent/US5555380A/en
Priority to AU14875/92A priority patent/AU661301B2/en
Priority to CA002065894A priority patent/CA2065894C/en
Publication of JPH04314163A publication Critical patent/JPH04314163A/ja
Application granted granted Critical
Publication of JP2836283B2 publication Critical patent/JP2836283B2/ja
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

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数の中央制御部が同一
のバッファにデータを転送するマルチプロセッサシステ
ムに於けるバッファ管理方式に関する。
【0002】
【従来の技術】従来、複数の中央制御部が同一のバッフ
ァにデータを転送するマルチプロセッサシステムに於け
るバッファ管理方式としては、オートインクリメントポ
インタ方式が知られている。このオートインクリメント
ポインタ方式は、各中央制御部がバッファにデータを転
送するのに先立ち、特定の番地に存在するポインタの値
を読出し、アクセスするバッファエリアの先頭位置を決
定するものであり、ポインタの値は1回読出される毎に
「1」加算され、次にアクセスされるバッファエリアの
先頭位置を示す。このようなオートインクリメントポイ
ンタ方式を採用することにより、各中央制御部から転送
されてきたデータが同一のバッファエリアに書込まれな
いようにすることができる。
【0003】
【発明が解決しようとする課題】上述した従来方式は、
ポインタの更新値が「1」に固定されている。即ち、1
回のデータ転送で利用できるバッファエリアの長さが固
定されているので、バッファエリアをあまり短くする
と、バッファエリアの長さより長いデータは数回に分け
て転送する必要があり、転送速度が遅くなる。また、反
対にバッファエリアの長さを長くすると、非常に短いデ
ータであっても無駄にバッファを占有してしまう。
【0004】本発明の目的はデータ転送速度,バッファ
の利用効率を高いものとすることができるバッファ管理
方式を提供することにある。
【0005】
【課題を解決するための手段】本発明は上記目的を達成
するため、複数の中央制御部がポインタのアドレスを出
力して前記ポインタの値を読取り、読取ったポインタの
値に従ってバッファにデータを転送するマルチプロセッ
サシステムに於いて、前記各中央制御部は前記バッファ
にデータを転送する際、転送データのデータ長に関する
情報を付加した前記ポインタのアドレスを出力すること
により前記ポインタの値を読取った後、読取ったポイン
タの値に従ってヘッダを付加したデータを前記バッファ
に転送し、前記ポインタは前記中央制御部によってその
値が読取られることにより、その値を前記データ長に関
する情報に従って更新し、前記バッファに格納されてい
るデータを処理する装置は、前記バッファに対する内部
ポインタを有し、前記バッファをアクセスする際、前記
内部ポインタの値と所定の関係を有する前記バッファ上
の位置にヘッダが存在するか否かを判断し、存在すると
判断した場合は前記内部ポインタの値に従って前記バッ
ファをアクセスした後、前記内部ポインタの値を前記デ
ータ長に従って更新し、存在しないと判断した場合は前
記バッファをサーチしてヘッダを探し、探し出した位置
に従って前記内部ポインタの値を修正する。
【0006】
【0007】
【作用】本発明では、各中央制御部はバッファにデータ
を転送するのに先立ってポインタの内容を読出す。その
際、中央制御部はポインタのアドレスに転送データのデ
ータ長に関する情報を付加したものを読出しアドレスと
して出力する。そして、中央制御部はポインタの値を読
み出すと、読みとったポインタの値に従ってヘッダを付
加したデータをバッファに転送する。
【0008】
【0009】ポインタは中央制御部によってその値が読
出されると、その値をデータ長に関する情報に従って更
新する。
【0010】また、バッファに格納されているデータを
処理する装置は、バッファをアクセスする際、内部ポイ
ンタの値と所定の関係を有する前記バッファ上の位置に
ヘッダが存在するか否かを判断する。そして、存在する
と判断した場合は内部ポインタの値に従ってバッファを
アクセスした後、データ長に従って内部ポインタの値を
更新する。また、存在しないと判断した場合は、バッフ
ァをサーチしてヘッダを探し、探し出した位置に従って
内部ポインタの値を修正する。
【0011】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0012】図1は本発明の実施例のブロック図であ
り、中央制御部(CP)1〜4と、システムバス5と、
I/Oパネル6と、バス調停回路11と、回線12とか
ら構成されている。
【0013】I/Oパネル6は2ポートRAM7を含ん
でいる。この2ポートRAM7上にはバッファ(送信,
受信バッファ)8と、外部ポインタ9と、内部ポインタ
10とが構成されている。
【0014】2ポートRAM7をI/Oパネル6内部よ
り見た時は、図2に示すように、単なるRAMとしてア
ドレス$8000〜$FFFFが割当てられ、読み書き
が自由に行なわれる。
【0015】また、システムバス5側から見た時にはア
ドレス$0000〜$7FFFが割当てられ、次の3つ
のエリアに区分される。
【0016】 バッファエリア8E バッファ8と対応し、中央制御部1〜4から自由に読み
書きを行なうことができるエリアである。
【0017】 外部ポインタエリア9E 外部ポインタ9と対応し、中央制御部1〜4から自由に
読み書きを行なうことができるエリアである。外部ポイ
ンタエリア9Eには中央制御部1〜4が次にアクセスす
るバッファ8上の位置を示す情報が格納され、中央制御
部1〜4によりその値が読出された直後にハードウェア
によってその値が自動的に変更される。
【0018】 内部ポインタエリア10E 内部ポインタ10と対応し、中央制御部1〜4からは読
み書きできないI/Oパネル6専用のエリアである。内
部ポインタエリア10EにはI/Oパネル6が次にアク
セスするバッファ8上の位置を示す情報が格納される。
【0019】図3,図4は中央制御部1〜4,I/Oパ
ネル6の処理例を示す流れ図であり、以下、本実施例の
動作を説明する。
【0020】各中央制御部1〜4はバッファ8にデータ
を転送する際、バス調停回路11にバス使用要求を出力
し、バス調停回路11からバス使用許可が与えられる
と、図3に示す処理を開始する。
【0021】先ず、バス使用許可の与えられた中央制御
部(中央制御部1とする)は、転送するデータを含む転
送ブロックのブロック長Liを求め(ステップS3
1)、次いでブロック長Liに基づいて外部ポインタ9
に対する更新値Lbを求める (ステップS32)。今、
例えば、バッファ8を管理する外部ポインタ9の最小の
管理単位が64バイトであるとすると、中央制御部1は
ブロック長Liを「64」で除算し、その整数部分に1
を加算した値を更新値Lbとする。
【0022】次に、中央制御部1は外部ポインタ9のア
ドレスの下位側に更新値Lbを付加したものを読出しア
ドレスとしてシステムバス5に出力し、外部ポインタ9
の値PTReを読出す(ステップS33)。
【0023】I/Oパネル6は中央制御部1によって外
部ポインタ9の値PTReが読出されると、図5に示す
ように、加算手段51を用いて外部ポインタ9の値PT
Reに更新値Lbを加算する。この更新後の外部ポイン
タ9の値PTReは、次にデータをバッファ8に転送す
る際の先頭位置を示す。
【0024】中央制御部1は外部ポインタ9の値PTR
eを読出すと、その値PTReに基づいて転送ブロック
を格納させるバッファ8上のエリアの先頭アドレスを求
める(ステップS34)。次に中央制御部1は図6に示
すような、データにバッファビジーフラグB,ベッダH
EADER,ブロック長Liを付加した転送ブロックを
作成し、それをバッファ8に転送する (ステップS3
5)。そして、転送ブロックの転送が完了すると、バッ
ファビジーフラグBに“1”を立てて転送が完了したこ
とを表示し (ステップS36)、その処理を終了する。
【0025】次にI/Oパネル6の処理を図4を参照し
て説明する。
【0026】I/Oパネル6はバッファ8に格納されて
いるデータを処理する際、先ず、内部ポインタ10の値
PTRiに基づいて転送ブロックの先頭位置を求める
(ステップS41)。次に、I/Oパネル6は上記転送
ブロックの先頭位置と所定の関係を有する位置にヘッダ
HEADERが存在するか否かを判断する (ステップS
42)。尚、ヘッダHEADERの値は、なるべく他の
データと重複しないユニークな値に設定しておくことが
望ましい。
【0027】そして、ヘッダHEADERが存在すると
判断した場合(内部ポインタ10の値PTRiが図7に
示すようにa,bとなっている場合)は上記先頭位置に
存在するバッファビジーフラグBが“1”であるか否か
を判断する (ステップS43)。バッファビジーフラグ
Bが“1”でないと判断した場合、即ち、その転送ブロ
ックの転送が完了していないと判断した場合はバッファ
ビジーフラグBが“1”になるのを待ち、“1”である
と判断した場合はバッファ8上の上記先頭位置からデー
タを読出し、例えば、回線12を介して他の装置に送信
する等の処理を行なう (ステップS44)。
【0028】その後、I/Oパネル6はバッファビジー
フラグBを“0”にして処理が終了したことを表示し
(ステップS45)、更に、処理の済んだ転送ブロック
に含まれているブロック長Liに基づいて内部ポインタ
10の値PTRiを更新し (ステップS46)、ステッ
プS41の処理に戻る。
【0029】また、ステップS42で所定の位置にヘッ
ダが存在しないと判断した場合(内部ポインタ10に誤
りが発生し、その値PTRiが図7に示すようにb′と
なっており、転送ブロックの途中を示している場合)
は、I/Oパネル6はバッファ8をサーチしてヘッダを
探し (ステップS47)、探し出したヘッダの位置に基
づいて内部ポインタ10の値PTRiを修正し (ステッ
プS48)、その後、ステップS41の処理に戻る。
【0030】
【発明の効果】以上説明したように、本発明は、各中央
制御部からバッファへ転送するデータのデータ長に基づ
いてポインタの更新値を変更するものであるので、デー
タ長が短くても無駄にバッファが使用されることがな
く、また、データ長が長くてもデータ転送を何回にも分
けて行なう必要がないので、転送処理を高速化すること
が可能になる効果がある。
【0031】また、更に、本発明は、中央制御部からバ
ッファへ転送するデータにヘッダを付加したものである
ので、内部ポインタの値にずれが発生し、その値がバッ
ファに格納されたデータの途中を示すものになっても、
ヘッダの存在位置に基づいて内部ポインタの値を修正す
ることができ、バッファに格納されたデータを常にその
先頭から処理することが可能になる効果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】2ポートRAMのメモリマップである。
【図3】中央制御部の処理例を示す流れ図である。
【図4】I/Oパネルの処理例を示す流れ図である。
【図5】外部ポインタの更新動作を示す図である。
【図6】中央制御部が転送するデータの形式を示す図で
ある。
【図7】ヘッダの利用方法を説明するための図である。
【符号の説明】
1〜4…中央制御部(CP) 5…システムバス 6…I/Oパネル 7…2ポートRAM 8…バッファ 9…外部ポインタ 10…内部ポインタ 11…バス調停回路 12…回線

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の中央制御部がポインタのアドレス
    を出力して前記ポインタの値を読取り、読取ったポイン
    タの値に従ってバッファにデータを転送するマルチプロ
    セッサシステムに於いて、 前記各中央制御部は前記バッファにデータを転送する
    際、転送データのデータ長に関する情報を付加した前記
    ポインタのアドレスを出力することにより前記ポインタ
    の値を読取った後、読取ったポインタの値に従ってヘッ
    ダを付加したデータを前記バッファに転送し、 前記ポインタは前記中央制御部によってその値が読取ら
    れることにより、その値を前記データ長に関する情報に
    従って更新し、 前記バッファに格納されているデータを処理する装置
    は、前記バッファに対する内部ポインタを有し、前記バ
    ッファをアクセスする際、前記内部ポインタの値と所定
    の関係を有する前記バッファ上の位置にヘッダが存在す
    るか否かを判断し、存在すると判断した場合は前記内部
    ポインタの値に従って前記バッファをアクセスした後、
    前記内部ポインタの値を前記データ長に従って更新し、
    存在しないと判断した場合は前記バッファをサーチして
    ヘッダを探し、探し出した位置に従って前記内部ポイン
    タの値を修正することを特徴とするバッファ管理方式。
JP3106805A 1991-04-11 1991-04-11 バッファ管理方式 Expired - Fee Related JP2836283B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3106805A JP2836283B2 (ja) 1991-04-11 1991-04-11 バッファ管理方式
EP92303221A EP0509722B1 (en) 1991-04-11 1992-04-10 Data transfer system
DE69229423T DE69229423T2 (de) 1991-04-11 1992-04-10 Datenübertragungssystem
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
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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3106805A JP2836283B2 (ja) 1991-04-11 1991-04-11 バッファ管理方式

Publications (2)

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

Family

ID=14443076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3106805A Expired - Fee Related JP2836283B2 (ja) 1991-04-11 1991-04-11 バッファ管理方式

Country Status (6)

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

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
GB2297639B (en) * 1992-10-15 1996-10-16 Fujitsu Ltd Fifo memory devices
GB2291230B (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 (ja) * 1995-06-01 2000-08-21 株式会社東芝 磁気ディスク装置及び磁気ディスク装置におけるバッファ管理方法
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
EP0810579B1 (en) * 1996-05-30 2000-08-02 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus for pseudo-interactive data communication system
KR100427136B1 (ko) * 1996-05-30 2004-08-11 마츠시타 덴끼 산교 가부시키가이샤 데이터변환장치
JP3181515B2 (ja) * 1996-09-11 2001-07-03 株式会社沖データ データ転送方法及びその方法を用いたデータ転送装置
JP3635169B2 (ja) * 1996-11-20 2005-04-06 松下電器産業株式会社 データ伝送装置
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
US6871251B1 (en) * 2000-05-17 2005-03-22 Marvell International Ltd. High latency interface between hardware components
US7389374B1 (en) 2000-05-17 2008-06-17 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 (ja) * 1984-06-15 1986-01-14 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション I/oコントロ−ラ
JPS61196349A (ja) * 1985-02-27 1986-08-30 Nec Corp 共通バス制御方法
EP0273083B1 (en) * 1986-12-30 1993-10-06 International Business Machines Corporation Non-locking queueing 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
EP0366583B1 (en) * 1988-10-24 1995-08-30 International Business Machines Corporation Method of exchanging data between programs in a data processing system
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
JPH02149150A (ja) * 1988-11-30 1990-06-07 Nec Corp 通信データバッファ制御方式
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
AU1487592A (en) 1992-10-15
DE69229423D1 (de) 1999-07-22
DE69229423T2 (de) 2000-02-17
CA2065894A1 (en) 1992-10-12
CA2065894C (en) 1998-06-23
EP0509722A3 (ja) 1994-01-12
AU661301B2 (en) 1995-07-20
US5555380A (en) 1996-09-10
EP0509722A2 (en) 1992-10-21
JPH04314163A (ja) 1992-11-05
EP0509722B1 (en) 1999-06-16

Similar Documents

Publication Publication Date Title
JP2836283B2 (ja) バッファ管理方式
US4945499A (en) Graphic display system
US5749093A (en) Enhanced information processing system using cache memory indication during DMA accessing
JPS61165170A (ja) バス制御方式
JP3036809B2 (ja) マイクロコンピュータにおけるバッファ管理方式
JP3057754B2 (ja) メモリ回路および分散処理システム
KR100219474B1 (ko) 프린터
JP2581144B2 (ja) バス制御装置
JPH0546565A (ja) データ処理装置
JP2964504B2 (ja) 文書処理装置
JP2533958B2 (ja) デ―タ先行セット装置
JP3217815B2 (ja) アドレス変換方式
JPH05289931A (ja) 情報処理装置
JPH0235541A (ja) 主記憶装置の制御方式
JPH04337851A (ja) メモリアクセス方式
JPH1040213A (ja) 情報処理装置のdmaデータ転送方法
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム
JP2000047935A (ja) 高速メモリアクセス処理装置
JPH02188856A (ja) メモリアクセス回路
JPH0567975B2 (ja)
JPH0675905A (ja) バス変換方式
JPS61208153A (ja) ペ−ジ履歴メモリ装置
JPH039453A (ja) データ転送制御装置
JPS63259746A (ja) バンクメモリ間のデ−タ転送方式
JPH0325643A (ja) ディスク制御装置

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