JPH053027B2 - - Google Patents

Info

Publication number
JPH053027B2
JPH053027B2 JP13469387A JP13469387A JPH053027B2 JP H053027 B2 JPH053027 B2 JP H053027B2 JP 13469387 A JP13469387 A JP 13469387A JP 13469387 A JP13469387 A JP 13469387A JP H053027 B2 JPH053027 B2 JP H053027B2
Authority
JP
Japan
Prior art keywords
data
processor
control circuit
transmission
data memory
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 - Lifetime
Application number
JP13469387A
Other languages
English (en)
Other versions
JPS63298471A (ja
Inventor
Tsuneo Kobayashi
Hiroyuki Moriide
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 JP13469387A priority Critical patent/JPS63298471A/ja
Publication of JPS63298471A publication Critical patent/JPS63298471A/ja
Publication of JPH053027B2 publication Critical patent/JPH053027B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマルチプロセツサシステムのプロセツ
サ間データ転送装置に関する。
〔従来の技術〕
従来、この種のプロセツサ間データ転送装置
は、(1)送信データ及び受信データを格納するメモ
リを備え、データ送信中あるいはデータ受信中に
はプロセツサ間データ転送装置がそれぞれのメモ
リを占有し、その他の空き時間にプロセツサがそ
れぞれのメモリの読み出し及び書き込みを行なう
構成を採るものと、(2)プロセツサ間データ転送装
置には特にメモリを設けず、プロセツサの主記憶
回路中に送信データ及び受信データを格納する領
域を設け、データ送信時には主記憶回路からプロ
セツサ間バス上にかつデータ受信時にはプロセツ
サ間バス上から主記憶回路にそれぞれDMA(ダ
イレクトメモリアクセス)によつてデータ転送を
行なう構成のものとがある。
〔発明が解決しようとする問題点〕
上述した従来のプロセツサ間データ転送装置で
は、プロセツサ間データ転送によるプロセツサの
待ち合わせ時間を有効利用するためにマルチタス
ク処理を行なつてもプロセツサの利用効率が大幅
には高められない。
詳述すると、プロセツサ間データ転送を含むプ
ロセツサのタスクにおいては、通常問い合わせ処
理に起因する待ち合わせ時間が存在する。例え
ば、プロセツサAがタスク1を実行中にプロセツ
サBに対してプロセツサ間バスを通じて問い合わ
せを行なうと、プロセツサBがその問い合わせに
対する応答を返送するまでプロセツサAのタスク
1は待ち合わせとなり処理が中断される。この中
断の間プロセツサAが何もしないで待ち合わせて
いるだけではプロセツサの能率が低下してしま
う。従つて、タスク1が待ち合わせに入つた時点
で別のタスク例えばタスク2を起動し、マルチタ
スク処理を実行することによつて処理の能率を高
めることが考えられる。しかしながら、従来のプ
ロセツサ間データ転送装置を用いてマルチタスク
を実施しようとした場合、次に述べる様なオーバ
ーヘツドが生ずるために、プロセツサの能率を十
分に高めることができない。即ち、プロセツサが
マルチタスクを実行しようとする場合には、マル
チタスクで実行されるタスクの数だけプロセツサ
間バス上のデータ転送が実行されることが考えら
れるため、プロセツサのタスク対応にプロセツサ
の主記憶回路内に転送データを格納するための領
域を確保し、送信データの編集や受信データの分
析に備えなければならない。
上記(1)のプロセツサ間データ転送装置では、プ
ロセツサ間データ転送時にプロセツサ間データ転
送装置内の送信データメモリまたは受信データメ
モリとプロセツサの主記憶回路の転送データ格納
領域との間でプロセツサがデータの移動を行なわ
なければならず、シングルタスクの場合には不要
であつたデータ転送の仕事をプロセツサが負わな
ければならなくなる。また、上記(2)のプロセツサ
間データ転送領域では、主記憶回路内の転送デー
タ格納領域とプロセツサ間データ転送装置内の送
信データメモリまたは受信データメモリとの間の
データ転送はDMAにより実施されるため、プロ
セツサがデータ転送命令を実行することによつて
データ転送を実行するよりははるかに高速に実施
されるが、プロセツサの主記憶回路を占有するた
め、DMA実行中はプロセツサの処理は滞り、マ
ルチタスク処理による能率向上の効果が十分に発
揮されない。
〔問題点を解決するための手段〕
本発明のプロセツサ間データ転送装置はマルチ
プロセツサシステムを構成する複数のプロセツサ
間を相互接続するバスを介してデータ転送を行な
うために前記プロセツサ毎に設けられ、送信デー
タメモリ及び送信制御回路を有するデータ送信部
と受信データメモリ及び受信制御回路を有するデ
ータ受信部とを備え、プロセツサがデータを送信
する際に送信データを前記送信データメモリに書
き込み前記送信制御回路が前記送信データメモリ
より前記送信データを読み出して前記バスに送出
し、かつプロセツサがデータを受信する際には前
記受信制御回路が前記バスを介して受信した受信
データを前記受信データメモリへ書き込み前記受
信データを前記受信データメモリより読み出すプ
ロセツサ間データ転送装置において、 前記データ送信部に第1の切換回路、第1の加
算回路、第1のレジスタ、第1のフリツプフロツ
プ及び第1のゲートを設け、前記データ受信部に
第2の切換回路、第2の加算回路、第2のレジス
タ、第2のフリツプフロツプ及び第2のゲートを
設け、かつ前記送信データメモリ及び前記受信デ
ータメモリのそれぞれに前記バスを介して転送さ
れる1回のデータの最大量以上の容量の記憶領域
であるベージを複数定義し、 前記第1のレジスタは前記送信制御回路が前記
送信データメモリのいずれのページをアクセスす
るかを決定するアドレス情報を記憶し、前記第2
のレジスタは前記受信制御回路が前記受信データ
メモリのいずれのページをアクセスするかを決定
するアドレス情報を記憶し、前記第1の加算回路
は前記第1のレジスタの記憶するアドレス情報と
前記送信制御回路の出力するアドレス情報とを加
算して加算結果のアドレス情報を前記第1の切換
回路に送出し、前記第2の加算回路は前記第2の
レジスタの記憶するアドレス情報と前記受信制御
回路の出力するアドレス情報とを加算して加算結
果のアドレス情報を前記第2の切換回路に送出
し、前記第1の切換回路及び前記第2の切換回路
のそれぞれは前記プロセツサが前記送信データメ
モリまたは前記受信データメモリにアクセスする
ために用いる信号線と前記送信制御回路または前
記受信制御回路が前記送信データメモリまたは前
記受信データメモリにアクセスするために用いる
信号線とを時分割に交互に切換え、前記送信制御
回路は前記送信データメモリから逐時送信データ
を読み出し前記バスへの送出を終了すると前記第
1のフリツプフロツプをセツトし、前記受信制御
回路は前記バスを介して受信した受信データの前
記受信データメモリへの書き込みを終了すると前
記第2のフリツプフロツプをセツトし、プロセツ
サが前記第1のゲートまたは前記第2のゲートを
開くことにより前記第1のフリツプフロツプまた
は前記第2のフリツプフロツプの状態を読み取る
構成である。
〔実施例〕
次に、本発明の実施例について図面を参照して
説明する。
本発明の一実施例を示す第1図を参照すると、
プロセツサ間データ転送装置はデータ送信部18
とデータ受信部19とから成り、データ送信部1
8には送信データメモリ1と送信制御回路5とを
設け、かつデータ受信部19には受信データメモ
リ9と受信制御回路13とを設けている。さら
に、データ送信部18は切換回路2、加算回路
3、レジスタ4、フリツプフロツプ6及びゲート
7を備え、データ受信部19は切換回路10、加
算回路11、レジスタ12、フリツプフロツプ1
4及びゲート15を備える。
送信データメモリ1及び受信データメモリ9は
それぞれプロセツト間バス52上で1回の転送で
送られる最大のデータ量以上の大きさの記憶領域
であるところのページが複数定義されている。こ
の実施例においては、プロセツサ間バス52上で
1回の転送で送られる最大のデータ量を256バイ
トとし、従つて各々のメモリの1ページの大きさ
を256バイトとし、各々のメモリの全記憶容量を
2キロバイト即ち2048バイトとすれば、各々のメ
モリには最大8ページの記憶領域が定義される。
これをアドレスの昇べきの順にページ0からペー
ジ7と名付ける。この様子を第2図に示す。第2
図ではプロセツサから見たアドレスとして16進数
で0000番地から00FF番地、即ち10進数では255番
地までがページ0に割当てられ、以下順次256バ
イトずつベージ1、2…と割当てられて最後のペ
ージ7にはアドレスとして16進数で0700番地から
07FF番地までが割当てられている。なお、第2
図では送信データメモリ1の内容のみが示されて
いるが、ページの割当て方法は受信データメモリ
9においても同様である。ただし、送信データメ
モリ1と受信データメモリ9とはプロセツサから
別々に区別してアクセスできなければならないた
め、送信データメモリ1が16進数でアドレス0000
番地から07FF番地に割付けられているのに対し
て例えば16進数でアドレス0800番地から0FFF番
地へ割付けられる。
第1図に戻つて再び説明を続けると、レジスタ
4及びレジスタ12はそれぞれ送信データメモリ
1または受信データメモリ9のいずれのページを
送信制御回路5または受信制御回路13がアクセ
スするかを決定するためのアドレス情報を記憶す
る。加算回路3及び加算回路11はそれぞれレジ
スタ4のアドレス情報と送信制御回路5の出力す
るアドレス情報、またはレジスタ12のアドレス
情報と受信制御回路13の出力するアドレス情報
とを加算して切換回路2または切換回路10へ送
出する。例えば、レジスタ4を3ビツトのレジス
タによつて構成し、0から7までのいずれかの整
数を記憶させ、送信制御回路5から出力されるア
ドレス情報の16進数で00からFFまでの上位にレ
ジスタ4の出力数値を加算すれば、レジスタ4に
記憶された数値によつて送信データメモリ1の中
のアクセスすべきページ番号を決定し、送信制御
回路5から出力されるアドレスによつてその決定
されたページ内の256バイトのいずれの番地に対
してもアクセスすることができる。このアドレス
決定の一例が第2図に示されている。切換回路2
及び切換回路10はそれぞれプロセツサと送信制
御回路5またはプロセツサと受信制御回路13が
送信データメモリ1または受信データメモリ9を
アクセスするために用いる信号線を時分割にて交
互に切換える。具体的には、時間を極く短かい周
期に区切り、区切られた時間をプロセツサ側と制
御回路側とに交互に割当て、割当てられた時間に
はそれぞれの信号線がメモリへ伝達されてメモリ
をアクセスすることができるようにする。また、
プロセツサまたは制御回路が割当てられた時間で
ないときにメモリアクセスした場合には、メモリ
へのデータ書き込み命令であれば信号線上の情報
をすべて記憶しておき、割当てられた時間まで待
つて書き込みを行ない、メモリからのデータ読み
出し命令であればプロセツサまたは制御回路へ読
み出し命令実行の遅延を要求し、それぞれに割当
てられた時間が到来してデータの読み出しが完了
した後、前記の遅延要求を解除する。送信制御回
路5は一群のデータの送信が完了するとフリツプ
フロツプ6をセツトし、受信制御回路13は一群
のデータの受信が完了するとフリツプフロツプ1
4をセツトする。フリツプフロツプ6及びフリツ
プフロツプ14がセツトされたことは、プロセツ
サはそれぞれゲート7及びゲート15を開けるこ
とによつて読むことができる。
命令デコード回路17は以上述べたデータ送信
部18及びデータ受信部19とは独立した位置に
あり、プロセツサが上述と各回路の動作を制御す
るための各種の命令をデコードする。即ち、プロ
セツサから供給されるアドレスバス20及び制御
信号バス21の各信号を受けて信号線24から信
号線31までの各信号線のいずれかを活性化す
る。具体的には、信号線24はプロセツサがゲー
ト7を開けてフリツプフロツプ6の出力である信
号線32をプロセツサの入力データバス23へ導
き、フリツプフロツプ6のセツトまたはリセツト
された状態を読み出すために使用される。信号線
25はプロセツサがフリツプフロツプ6をリセツ
トするために使用される。信号線26はプロセツ
サが出力データバス22上のデータをレジスタ4
に設定するために使用される。信号線27はプロ
セツサがゲート8を開けて送信データメモリ1の
出力である信号線41をプロセツサの入力データ
バス23へ導き、送信データメモリ1に記載され
たデータを読み出すために使用される。信号線2
8はプロセツサがゲート15を開けてフリツプフ
ロツプ14の出力である信号線42をプロセツサ
の入力データバス23へ導き、フリツプフロツプ
14のセツトまたはリセツトされた状態を読み出
すために使用される。信号線29はプロセツサが
フリツプフロツプ14をリセツトするために使用
される。信号線30はプロセツサが出力データバ
ス22上のデータをレジスタ12に設定するため
に使用される。また、信号線31はプロセツサが
ゲート16を開けて受信データメモリ9の出力で
ある信号線51をプロセツサの入力データバス2
3へ導き、受信データメモリ9に記憶されたデー
タを読み出すために使用される。
次に、第1図に示すプロセツサ間データ転送装
置がプロセツサのマルチタスクの環境下で動作す
る場合を説明する。マルチタスク環境下では、送
信データメモリ1及び受信データメモリ9のペー
ジはそれぞれタスクに対応して割当てられる。ど
のページが使用されてなく、どのページが使用さ
れていて、かつどのタスクに割当てられているか
は、タスク間のスケジユーリングを行なうスーパ
ーバイザリプログラムが管理する。例えば、タス
クAにはページ0、タスクBにはページ1、タス
クCにはページ2、及びタスクDにはページ3が
それぞれ割当てられ、ページ4からページ7まで
は割当て無しとなる。
今、タスクAがデータ送信を開始する場合に
は、先ずIO命令によつて信号線24を活性化さ
せてフリツプフロツプ6の状態を読み込む。送信
制御回路5が送信動作を終了していれば、フリツ
プフロツプ6がセツトされているので、タスクA
は前述のIO命令を実行してフリツプフロツプ6
がセツトされていることを確認する。もしフリツ
プフロツプ6がリセツトされていれば、他のタス
クがデータ送信中であるのでタスクAは待ち合わ
せとなる。次に、タスクAは自身に割当てられた
ページ番号である0をレジスタ4に書き込む。こ
れはIO命令によつて信号線26を活性化するこ
とにより実行される。続いて、タスクAは信号線
25を活性化してフリツプフロツプ6をリセツト
し、データの送信を起動する。タスクAについて
は、その後いま送信したデータに対する応答が返
されるまで処理は進行できないため、スーパーバ
イザリプログラムへ制御を移して他のタスクを起
動させる。次に、起動されるタスクBも同様にデ
ータの送信を必要とするが、タスクBにはページ
1が割当てられているため、タスクAによるデー
タ送信のためにページ0が塞がつていても何ら問
題無く送信データメモリ1のページ1を使用して
送信データを編集することができる。しかも切換
回路2によつてプロセツサと制御回路5との信号
が時分割によつて切換えられているため、送信制
御回路5がタスクAのデータ送信のために送信デ
ータメモリ1のページ0のデータを読み出してい
る最中であつても互いに干渉すること無くプロセ
ツサはページ1にアクセスすることができる。第
3図の例ではこの様にしてタスクCまで実行を終
了した後、タスクAの送信したデータに対する応
答データが着信していることをスーパーバイザリ
プログラムが検知し、その着信データを処理すべ
くタスクAを再び起動している。
以上データ送信におけるマルチタスクを主に説
明したが、データ受信においても同様である。例
えば、初めにスーパーバイザリプログラムがレジ
スタ12には0を設定しておくと、最初の受信デ
ータは受信データメモリ9のページ0に格納され
る。受信データが格納されたことは信号線28を
活性化しフリツプフロツプ14がセツトされてい
ることを検知することにより知ることができる。
次に、スーパーバイザリプログラムはレジスタ1
2に次の空いているページ例えば1を設定して次
の受信データが受信データメモリ9のページ1に
格納されるようにする。レジスタ12への設定が
終了したら信号線29を活性化してフリツプフロ
ツプ14をリセツトし、次の受信データに備え
る。こうして受信データがあるページに格納され
るたびに次の空いているページを指定するように
レジスタ12の値を変更する。これらの動作の最
中にもプロセツサは自由に受信データメモリ9の
どのページのデータでも処理することができるの
で、それぞれ受信データが受信データメモリ9に
格納される毎に対応するタスクを走らせて受信デ
ータの処理を行なわせる。このとき、タスク対応
に受信データメモリ9が割当てられているので、
別の記憶領域に受信データを移すことなく処理を
行なうことができる。各タスクは処理が終了して
割当てられたページが不要になればそのページが
空いたことをスーパーバイザリプログラムへ知ら
せる。スーパーバイザリプログラムは前述のよう
に受信データメモリ9の各ページの空き塞がり及
びどのタスクに割り当てられているかを管理し、
受信データが受信データメモリ9に格納される
と、空いているページの番号をレジスタ12に設
定して次の受信データに備える。
〔発明の効果〕
以上説明したように本発明によれば、プロセツ
サ間データ転送装置内にプロセツサのタスク毎に
対応して使用することが可能なデータ転送用メモ
リを設け、かつデータ転送に使用中の記憶領域以
外はプロセツサ間のデータ転送中であつても自由
にプロセツサからアクセスできるようにプロセツ
サとデータ転送装置とのメモリへのアクセスの切
換えを行なう切換回路を設けることにより、マル
チプロセツサシステムにおいて他のプロセツサへ
の問い合わせ処理により待ち合わせ時間をマルチ
タスク処理によつて有効利用し、しかもマルチタ
スク実現のためにプロセツサに無用なデータ転送
を行なわせたり、DMAによつてプロセツサの処
理を滞らせることなく、プロセツサの能率を高め
ることができる。
【図面の簡単な説明】
第1図は本発明の一実施例のプロセツサ間デー
タ転送装置を示す構成図、第2図は第1図におけ
る送信データメモリのアドレス及びページ割付け
を示す図、第3図は同実施例においてプロセツサ
のマルチタスク実行の一例を示す図である。 1……送信データメモリ、2……切換回路、3
……加算回路、4……レジスタ、5……送信制御
回路、6……フリツプフロツプ、7,8……ゲー
ト、9……受信データメモリ、10……切換回
路、11……加算回路、12……レジスタ、13
……受信制御回路、14……フリツプフロツプ、
15,16……ゲート、17……命令デコード回
路、18……データ送信部、19……データ受信
部、52……プロセツサ間バス。

Claims (1)

  1. 【特許請求の範囲】 1 マルチプロセツサシステムを構成する複数の
    プロセツサ間を相互接続するバスを介してデータ
    転送を行なうために前記プロセツサ毎に設けら
    れ、送信データメモリ及び送信制御回路を有する
    データ送信部と受信データメモリ及び受信制御回
    路を有するデータ受信部とを備え、プロセツサが
    データを送信する際に送信データを前記送信デー
    タメモリに書き込み前記送信制御回路が前記送信
    データメモリより前記送信データを読み出して前
    記バスに送出し、かつプロセツサがデータを受信
    する際には前記受信制御回路が前記バスを介して
    受信した受信データを前記受信データメモリへ書
    き込み前記受信データを前記受信データメモリよ
    り読み出すプロセツサ間データ転送装置におい
    て、 前記データ送信部に第1の切換回路、第1の加
    算回路、第1のレジスタ、第1のフリツプフロツ
    プ及び第1のゲートを設け、前記データ受信部に
    第2の切換回路、第2の加算回路、第2のレジス
    タ、第2のフリツプフロツプ及び第2のゲートを
    設け、かつ前記送信データメモリ及び前記受信デ
    ータメモリのそれぞれに前記バスを介して転送さ
    れる1回のデータの最大量以上の容量の記憶領域
    であるページを複数定義し、 前記第1のレジスタは前記送信制御回路が前記
    送信データメモリのいずれのページをアクセスす
    るかを決定するアドレス情報を記憶し、前記第2
    のレジスタは前記受信制御回路が前記受信データ
    メモリのいずれのページをアクセスするかを決定
    するアドレス情報を記憶し、前記第1の加算回路
    は前記第1のレジスタの記憶するアドレス情報と
    前記送信制御回路の出力するアドレス情報とを加
    算して加算結果のアドレス情報を前記第1の切換
    回路に送出し、前記第2の加算回路は前記第2の
    レジスタの記憶するアドレス情報と前記受信制御
    回路の出力するアドレス情報とを加算して加算結
    果のアドレス情報を前記第2の切換回路に送出
    し、前記第1の切換回路及び前記第2の切換回路
    のそれぞれは前記プロセツサが前記送信データメ
    モリまたは前記受信データメモリにアクセスする
    ために用いる信号線と前記送信制御回路または前
    記受信制御回路が前記送信データメモリまたは前
    記受信データメモリにアクセスするために用いる
    信号線とを時分割に交互に切換え、前記送信制御
    回路は前記送信データメモリから逐時送信データ
    を読み出し前記バスへの送出を終了すると前記第
    1のフリツプフロツプをセツトし、前記受信制御
    回路は前記バスを介して受信した受信データの前
    記受信データメモリへの書き込みを終了すると前
    記第2のフリツプフロツプをセツトし、プロセツ
    サが前記第1のゲートまたは前記第2のゲートを
    開くことにより前記第1のフリツプフロツプまた
    は前記第2のフリツプフロツプの状態を読み取る
    ことを特徴とするプロセツサ間データ転送装置。
JP13469387A 1987-05-28 1987-05-28 プロセッサ間デ−タ転送装置 Granted JPS63298471A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13469387A JPS63298471A (ja) 1987-05-28 1987-05-28 プロセッサ間デ−タ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13469387A JPS63298471A (ja) 1987-05-28 1987-05-28 プロセッサ間デ−タ転送装置

Publications (2)

Publication Number Publication Date
JPS63298471A JPS63298471A (ja) 1988-12-06
JPH053027B2 true JPH053027B2 (ja) 1993-01-13

Family

ID=15134382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13469387A Granted JPS63298471A (ja) 1987-05-28 1987-05-28 プロセッサ間デ−タ転送装置

Country Status (1)

Country Link
JP (1) JPS63298471A (ja)

Also Published As

Publication number Publication date
JPS63298471A (ja) 1988-12-06

Similar Documents

Publication Publication Date Title
US4419728A (en) Channel interface circuit providing virtual channel number translation and direct memory access
US4481572A (en) Multiconfigural computers utilizing a time-shared bus
US4485438A (en) High transfer rate between multi-processor units
JPH02310664A (ja) 共有メモリを用いた通信方式
KR920008448B1 (ko) 데이터 프로세서
JP2618223B2 (ja) シングルチツプマイクロコンピユータ
JPH053027B2 (ja)
JPH0227696B2 (ja) Johoshorisochi
JPS592058B2 (ja) 記憶装置
JPH0522939B2 (ja)
JP2522412B2 (ja) プログラマブルコントロ―ラと入出力装置の間の通信方法
JPH056333A (ja) マルチプロセサシステム
JP2705955B2 (ja) 並列情報処理装置
KR950008838B1 (ko) 멀티미디어 지식처리를 위한 병렬처리 컴퓨터의 노드 컴퓨터 구조
JPS5921051B2 (ja) 通信制御装置
JPS5897758A (ja) 共有メモリの制御方式
JPS6130300B2 (ja)
JPS6143369A (ja) マルチプロセツサシステム
JPH0535507A (ja) 中央処理装置
JPS63155254A (ja) 情報処理装置
JPH03160544A (ja) 直接メモリアクセス制御方式
JPH05265932A (ja) バス制御方式
JPS6037055A (ja) 情報処理装置
JPH0375959A (ja) マルチプロセッサのデータ転送装置
JPS62114043A (ja) 情報処理システム