JPH0546565A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0546565A
JPH0546565A JP22352291A JP22352291A JPH0546565A JP H0546565 A JPH0546565 A JP H0546565A JP 22352291 A JP22352291 A JP 22352291A JP 22352291 A JP22352291 A JP 22352291A JP H0546565 A JPH0546565 A JP H0546565A
Authority
JP
Japan
Prior art keywords
processor
data
block
memory
buffer
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
JP22352291A
Other languages
English (en)
Inventor
Nobuhiro Horii
信裕 堀井
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP22352291A priority Critical patent/JPH0546565A/ja
Publication of JPH0546565A publication Critical patent/JPH0546565A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 マルチプロセッサシステムにおけるプロセッ
サ間データ転送において、ソフトウェアのオーバヘッド
を軽減してデータ転送効率を高める。 【構成】 第1のFIFOメモリ13に空きバッファブロック
の番号を記憶させ、第2のFIFOメモリ14には処理待ちの
バッファブロックの番号を記憶させる。送信側プロセッ
サ12はデータ転送に際し第1のFIFOメモリ13にアクセス
して空きバッファブロックの番号を知り、ここに転送デ
ータを書込む。受信側プロセッサ11は第2のFIFOメモリ
14から処理待ちのバッファブロックの番号を知り、そこ
から転送データを読出しその処理をし、空きとなったバ
ッファブロックの番号を第1のFIFOメモリ13に書込む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は所謂マルチプロセッサシ
ステム等、複数のプロセッサ、メモリを備えるデータ処
理装置に関し、更に詳述すればプロセッサ間のデータ転
送の効率を高めたデータ処理装置に関するものである。
【0002】
【従来の技術】図1は従来のマルチプロセッサシステム
の概略ブロック図である。プロセッサ11,21,31…n1、及
び各プロセッサが管理するメモリ12,22,32…n2がバスに
接続されている。このようなシステムにおいてプロセッ
サ21からプロセッサ11へデータを転送する場合、プロセ
ッサ21からメモリ12に設けたバッファエリアに一旦転送
データを書込み、次にプロセッサ11に割込みをかけてこ
れに読込ませるようにしていた。
【0003】図2はバッファエリア12a を示し、複数
(実施例では9)のブロックに分割されており、転送の
都度空きブロック(図中に空きと記す)に転送データが
プロセッサ21によって書込まれ、書込まれたブロック
(図中に処理終了と記す) のデータがプロセッサ11に読
出されて所要の処理が完了すると、このブロックは空き
ブロックに戻る。
【0004】メモリ12には上記バッファエリア12a の外
に、空きブロックを示す情報を記憶している空きブロッ
クリストエリア12b(図3) 、処理待ちブロックを示す情
報を記憶している処理待ちブロックリストエリア12c(図
4) を備えている。これらの記憶情報はいずれもバッフ
ァエリア12a のブロック番号 (バッファブロック番号)
である。
【0005】エリア12b,12c はブロックチェーン構成
(実施例ではブロック数は9)になっており、各ブロッ
クは1〜9のアドレスが付与されている。各エリア12b,
12c はリスト先頭, 末尾夫々のアドレスを記憶しておく
エリア12d,12e を有している。プロセッサ21がデータ転
送をする場合、まずエリア12d の先頭アドレス (ここで
は3)を読み、この値に+1して元の位置に書込み、空
きブロックリストの先頭アドレスを更新する。その上で
読出した先頭アドレス3のブロックの記憶内容から空き
のバッファブロックの番号(ここでは5)を知り、ここ
に転送データを書込む。書込データには発信元(プロセ
ッサ21) を示すアドレスも含む。
【0006】プロセッサ21は更にエリア12e の末尾アド
レス (ここでは2)を読み、この値に+1して元の位置
に書込み、処理待ちブロックリストの末尾アドレスを更
新する。その上で+1した値のエリア12cのアドレス
(ここでは3)にデータ書込をしたバッファブロックの
番号(ここでは5)を書込む。このようなバッファエリ
アへの書込処理を行った上でプロセッサ11へ割込をかけ
る。
【0007】プロセッサ11は処理待ちブロックリストの
先頭アドレス (ここでは8)を読み、その値に+1して
元の位置に書込み、処理待ちブロックリストの先頭アド
レスを更新する。その上で読出したアドレスのブロック
(ここではブロック4)を知り、このバッファブロック
のデータを読み、所要の処理を行う。処理を終えて用済
みとなったデータが入っているバッファブロックについ
てはプロセッサ11がエリア12d から空きブロックリスト
の末尾アドレス (ここでは7)を読み、この値に+1し
て末尾アドレスを更新した上で、このアドレスに記憶し
ているブロック(ここでは3)に不要となったバッファ
ブロックの番号(例えば4)を書込む。
【0008】プロセッサ11のデータ転送が競合した場合
のためにメモリ12にはセマフォが設けられており、エリ
ア12d,12e へのアクセスに先立ちセマフォのフラグを立
て、プロセッサ21による処理が終了するまでこれ以外の
プロセッサによる転送を行わせないようにする。以上の
ような構成、処理は他のプロセッサ間のデータ転送につ
いても同様である。
【0009】
【発明が解決しようとする課題】以上の如き従来の方式
による場合は空きブロックリスト、処理待ちブロックリ
ストの先頭番号が末尾番号を追い越すことがないように
その監視が不可欠である。つまり図3、図4に示したブ
ロックチェーン上を先頭ブロック、末尾ブロックの位置
は矢印方向に進んでいくが、リストの先頭ブロック及び
末尾ブロックの位置は同時的に移動するものではないの
で、先頭ブロックの移動の速度が末尾ブロックの移動の
速度よりも遅い場合は末尾ブロックが先頭ブロックを追
い越すことになる。従ってその監視が不可欠なのであ
る。
【0010】このような処理、及び前述のデータ転送競
合防止のための処理に必要なソフトウェアのオーバヘッ
ドのため、データ転送の効率はある程度以上向上させ得
ないという問題点があった。本発明はこのような問題点
を解決するためになされたものであり、ソフトウェアに
よる処理をハードウェアに置換えることにより転送効率
の向上を図ったデータ処理装置を提供することを目的と
する。
【0011】
【課題を解決するための手段】本発明に係るデータ処理
装置は、複数のプロセッサと各プロセッサが管理するメ
モリとを備え、2つのプロセッサ間でのデータ転送を、
受信側のプロセッサが管理するメモリに複数のブロック
に分けて設けたバッファエリアの各ブロックに送信側プ
ロセッサが転送データを書込み、受信側プロセッサがこ
れを読出すことで行うデータ処理装置において、書込が
可能なブロックを特定する情報を受信側プロセッサが書
込み、書込まれた前記情報を送信側プロセッサが読出す
べき第1FIFOメモリと、書込を終了したブロックを特定
する情報を送信側のプロセッサが書込み、書込まれた前
記情報を受信側プロセッサが読出すべき第2FIFOメモリ
とを具備することを特徴とする。
【0012】
【作用】受信側のプロセッサはそれが管理している第1
FIFOメモリに空きバッファブロックの番号を書込んであ
る。送信側のプロセッサはデータ転送に際し第1FIFOの
内容を読出して空きバッファブロックを知り、ここに転
送データを書込む。そして書込んだバッファブロックの
番号を第2FIFOに書込む。受信側プロセッサは第2FIFO
の内容を読出してそのバッファブロックから転送データ
を取込む。取込んだ処理が済めばそのバッファブロック
の番号を第1FIFOに書込む。
【0013】
【実施例】以下本発明をその実施例を示す図面に基づい
て詳述する。図5は本発明装置の略示ブロック図であ
り、プロセッサ11,21,31…n1及びこれら各プロセッサに
よって管理されるメモリ12,22,32…n2の外に各プロセッ
サ11,21,31…n1に管理される第1FIFOメモリ13,23,33…
n3及び第2FIFOメモリ14,24,34…n4がバスに接続されて
いる。
【0014】第1, 第2FIFOメモリそれ自体は公知のも
のであり、図6に示すようにメモリ部1とその周辺回路
とから構成されている。入力可信号IRを受けた他回路か
ら入力データIND が与えられ、またデータ書込信号SIが
与えられると、このデータIND がメモリ部1に書込まれ
ることになる。一方出力側はデータOTD を与えるべき回
路に対して出力可信号を発すると共に、データ読出し信
号ORで読出しデータOTD をその回路へ与えるようにして
いる。
【0015】信号SI,IR を入力とするAND ゲート2の出
力はプロセッサに対し割込信号INTとして用いられる。
而してプロセッサ21からプロセッサ11へのデータ転送を
行う場合を例にとり、メモリ12におけるバッファエリア
12a 、第1, 第2FIFO 13,14のデータの流れを示す図7
の説明図及びプロセッサ11,21 の処理手順を示す図8の
フローチャートによって本発明装置の構成, 動作を説明
する。
【0016】第1FIFOメモリ13にはバッファエリア12a
の空きブロックの番号が書込まれている。プロセッサ21
は第1FIFOメモリ13にアクセスし、出側のデータ (ここ
では5)を読出す(#1)。空コードの場合(#2)は次順のデ
ータを読出す。そしてメモリ12のバッファエリア12a に
アクセスして読出した番号のブロックに転送データを書
込む(#3)。次に第2FIFOメモリ14にアクセスして読出し
た番号5を書込む(#4)。
【0017】つまり第2FIFOメモリ14は処理待ちのバッ
ファブロックを記憶することになる。この書込に際し第
2FIFOメモリ14が満杯である場合(#5)は入力可信号IR信
号が得られず、プロセッサ21はエラー信号を発生する(#
11) 。満杯でなく書込が行える場合はこの書込により第
2FIFOメモリ14のメモリ部1は入力可信号IRを発するか
ら、AND ゲート2から割込信号INT が出力され、これが
プロセッサ11へ与えられる(#6)。
【0018】これを受けたプロセッサ11は第2FIFOメモ
リ14にアクセスして出側のデータ (ここでは4)を読出
す(#7)。そしてメモリ12のバッファエリア12a にアクセ
スして読出した番号のブロックのデータを読込んでその
処理をする(#8)。そして第1FIFOメモリ13にアクセスし
て読出した番号4を書込む(#9)。第1FIFOメモリ13が満
杯であれば(#10) 前同様に入力可信号IRが得られず、プ
ロセッサ11はエラー信号を発生する(#12) 。
【0019】このように本発明装置ではソフトウェアに
依らず空きバッファブロック、処理待ちバッファブロッ
クの番号の管理が可能である。そしてこれらの番号の記
憶はFIFOメモリに依っているから番号は必ず先入れ, 先
出しとなり末尾番号が先頭番号を追い越すことは物理的
に有り得ず、従ってその面からの番号監視は不要であ
る。
【0020】次にプロセッサ11へのプロセッサ21からの
データ転送と、プロセッサn1からのデータ転送とが競合
した場合の処理を図9のフローチャートを用いて説明す
る。まずプロセッサ21が第1FIFOメモリ13にアクセスし
て空きバッファブロックの番号を読出し(#21) 次いでプ
ロセッサn1が第1FIFOメモリ13にアクセスして次順の空
きバッファブロック番号を読出す。ここに示した例では
何らかの理由でプロセッサn1がバッファエリア12a に先
にアクセスした場合を示しており、従ってステップ#23
で、プロセッサn1が読出した番号のバッファブロックへ
転送データを書込み(#23) 次に第2FIFOメモリ14にその
番号を書込む(#24) 。
【0021】これにより第2FIFOメモリが割込信号INT
を発生しプロセッサ11が割込処理に入る(#25) 。プロセ
ッサ11は第2FIFOメモリの内容を読出し、第2FIFOメモ
リ14から処理待ちバッファブロックの番号を読出す(#2
6) 。そしてこの番号のバッファブロックにアクセスし
てその転送データを読出し、処理をする(#27) 。
【0022】一方、プロセッサ21はメモリ12へのアクセ
スが可能になったところでバッファエリア12a にアクセ
スしてステップ#21 で読出した番号のブロックに転送デ
ータを書込む(#28) 。そして第2FIFOメモリ14にその番
号を書込む(#29) 。これによりプロセッサ11への割込が
発生し(#30) 、プロセッサ11は第2FIFOメモリ14からこ
のとき最出側にある番号を読出し(#31) 、この番号のバ
ッファブロックにアクセスしてその転送データを読出
し、処理をする(#32) 。
【0023】このようにデータ転送の競合が生じた場合
もソフトウェア上の処理なしに空きバッファブロック、
処理待ちバッファブロックの管理が行える。
【0024】
【発明の効果】以上のように本発明においては空きバッ
ファブロック、処理待ちバッファブロックの管理をハー
ドウェアで行うので従来のような先頭アドレス, 末尾ア
ドレスの書替が不要である。つまり読出されたバッファ
ブロック番号は自然にFIFOメモリから消えていくのであ
る。
【0025】そして先頭のものを末尾のものが追い越す
こと (つまり、バッファ番号のリストが空になること)
も物理的に防止され、その監視は不要である。即ちリス
トが空になった場合にはFIFOメモリからの読出データは
特定の内容 (空コード) となるので送信側プロセッサは
これにより受信側のメモリのバッファエリアに転送デー
タを書込めない状態にあることが分かるのである。また
競合の際の番号管理にもソフトウェア上の負担がなく、
プロセッサ処理のオーバヘッドを軽減できその結果デー
タ転送効率が高くなる。
【図面の簡単な説明】
【図1】従来装置のブロック図である。
【図2】バッファエリアの説明図である。
【図3】空きブロックリストの説明図である。
【図4】処理待ちブロックリストの説明図である。
【図5】本発明装置のブロック図である。
【図6】FIFOメモリのブロック図である。
【図7】本発明装置のデータの流れの説明図である。
【図8】データ転送時のフローチャートである。
【図9】データ転送競合時のフローチャートである。
【符号の説明】
11,21,31…n1 プロセッサ 12,22,32…n2 メモリ 12a バッファエリア 13 第1FIFOメモリ 14 第2FIFOメモリ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと各プロセッサが管理
    するメモリとを備え、2つのプロセッサ間でのデータ転
    送を、 受信側のプロセッサが管理するメモリに複数のブロック
    に分けて設けたバッファエリアの各ブロックに送信側プ
    ロセッサが転送データを書込み、受信側プロセッサがこ
    れを読出すことで行うデータ処理装置において、 書込が可能なブロックを特定する情報を受信側プロセッ
    サが書込み、書込まれた前記情報を送信側プロセッサが
    読出すべきFIFOメモリと、 書込を終了したブロックを特定する情報を送信側のプロ
    セッサが書込み、書込まれた前記情報を受信側プロセッ
    サが読出すべきFIFOメモリとを具備することを特徴とす
    るデータ処理装置。
JP22352291A 1991-08-07 1991-08-07 データ処理装置 Pending JPH0546565A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22352291A JPH0546565A (ja) 1991-08-07 1991-08-07 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22352291A JPH0546565A (ja) 1991-08-07 1991-08-07 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0546565A true JPH0546565A (ja) 1993-02-26

Family

ID=16799463

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22352291A Pending JPH0546565A (ja) 1991-08-07 1991-08-07 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0546565A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6280708A (ja) * 1985-10-04 1987-04-14 Shinko Electric Co Ltd 移動ロボツト
JPH08305675A (ja) * 1995-04-28 1996-11-22 Nippon Denki Ido Tsushin Kk マルチプロセッサシステムおよびその運転管理方 法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6280708A (ja) * 1985-10-04 1987-04-14 Shinko Electric Co Ltd 移動ロボツト
JPH0546565B2 (ja) * 1985-10-04 1993-07-14 Shinko Electric Co Ltd
JPH08305675A (ja) * 1995-04-28 1996-11-22 Nippon Denki Ido Tsushin Kk マルチプロセッサシステムおよびその運転管理方 法

Similar Documents

Publication Publication Date Title
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
US20040107265A1 (en) Shared memory data transfer apparatus
EP0507571A2 (en) Receiving buffer control system
JPH04290150A (ja) Fifoバッファの制御装置及び制御方法並びにデータ転送を制御する装置
JPH04306748A (ja) 情報処理装置
JPH04314163A (ja) バッファ管理方式
JPH06309230A (ja) バススヌ−プ方法
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
US8909823B2 (en) Data processing device, chain and method, and corresponding recording medium for dividing a main buffer memory into used space and free space
JPH0546565A (ja) データ処理装置
JP2002024007A (ja) プロセッサシステム
US5546560A (en) Device and method for reducing bus activity in a computer system having multiple bus-masters
JP3162459B2 (ja) データ処理装置
JPH1031616A (ja) プロセス間通信システム
JP3057754B2 (ja) メモリ回路および分散処理システム
JP2734581B2 (ja) 入出力制御装置の制御方式
JP2000040057A (ja) 計算機システム、バッファ制御装置及び転送方法
JPH0736806A (ja) Dma方式
JP2584841B2 (ja) パケット交換制御装置
JPS6373458A (ja) 共有メモリアクセス装置
JPH0612363A (ja) メモリ制御装置およびマルチプロセッサシステム
JPH1055303A (ja) メモリシステム
JP2000047935A (ja) 高速メモリアクセス処理装置
JPS61156454A (ja) デ−タ転送制御装置
JPS59203291A (ja) デ−タ処理装置