JP2980163B2 - データ転送方式 - Google Patents

データ転送方式

Info

Publication number
JP2980163B2
JP2980163B2 JP8062594A JP6259496A JP2980163B2 JP 2980163 B2 JP2980163 B2 JP 2980163B2 JP 8062594 A JP8062594 A JP 8062594A JP 6259496 A JP6259496 A JP 6259496A JP 2980163 B2 JP2980163 B2 JP 2980163B2
Authority
JP
Japan
Prior art keywords
data
buffer
output
input
input 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.)
Expired - Fee Related
Application number
JP8062594A
Other languages
English (en)
Other versions
JPH09261277A (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 JP8062594A priority Critical patent/JP2980163B2/ja
Publication of JPH09261277A publication Critical patent/JPH09261277A/ja
Application granted granted Critical
Publication of JP2980163B2 publication Critical patent/JP2980163B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、CPU間のデータ
通信方式に関し、特に、共有バッファと2個のCPUと
共有メモリとバッファから構成される、大容量のサイズ
のデータ通信と高速デー夕通信を必要とする分野で運用
するCPU間のデータ通信方式に関するものである。
【0002】
【従来の技術】従来、この種のCPU間のデータ転送方
式としては、CPU間に共有メモリを介してデータ転送
を行うものがあり、例えば、特開平3−138749号
公報に開示されたものがある。図4は、上記公報に開示
されたCPU間データ転送の構成を示すブロック図であ
る。
【0003】以下、このCPU間のデータ転送の動作に
ついて説明する。このCPU間のデータ転送方式は、共
有メモリを、CPU101からCPU102へのデータ
転送を行うための領域と、CPU101からCPU10
2へのデータ転送を行うための領域とに分割し、それぞ
れにおいてどこまでデータが書き込まれているかを示す
書き込みポインタと、どこまでデー夕が読み込まれたか
を示す読み込みポインタを設け、一方のCPUは書き込
みポインタだけを、他方のCPUは読み込みポインタだ
けを更新するようにして共有メモリ103を管理したも
のである。
【0004】図5は共有メモリの構造を示すものであ
る。図5において、111は読み込みポインタを、11
2は書き込みポインタを示している。図6は、CPU1
01からデータが書き込まれ、CPU102がデー夕を
読み込む状態を示すものである。図6において、CPU
101からCPU102へデータ転送が行われる場合、
まず、CPU101が共有メモリ103に対して書き込
みを行った後、書き込みポインタ112を共有メモリ1
03においてデータが書き込まれている最後の位置を示
すように更新を行い、CPU102では、データの読み
込みポインタ111と書き込みポインタ112を比較
し、もし、これらの値が等しくない場合は、その分のデ
ータを読み込み、読み込みポインタ111を書き込みポ
インタ112と同じ位置まで更新する。上記公報に開示
されたCPU間データ転送では、CPU間データ転送を
共有メモリを介して行っているために、アドレッシング
が複雑であり、CPUに負荷がかかり、データ転送効率
は、悪い。その為、共有メモリをバッファに置き換え
た、図7に示す構成によりCPU間データ転送を行うこ
とが一般的である。
【0005】以下に図7のCPU間データ転送方式につ
いて説明する。このデータ転送方式は、外部のデータ出
力装置からのデータを格納する入力バッファ211と外
部のデータ出力装置(図示せず)とのデータ制御を行う
制御用CPU212とを有する入力制御部201と、外
部装置(図示せず)に出力するデータを格納する出力バ
ッファ221と入力バッファ211に格納されたデータ
を出力バッファ221に転送する制御を行う制御用CP
U222とを有する出力制御部202により構成され
る。
【0006】次に、この方式の動作について、図8に示
す入力制御部201の制御用CPU212のフローチャ
ートと図9に示す出力制御部202の制御用CPU22
2のフローチャートを用いて説明する。入力制御部20
1内の制御用CPU212は、入力制御部201の入力
バッファ211の蓄積量を表すバッファフラグ216を
確認し、入力制御部201の入力バッファ211に、外
部データ出力装置から1回のデータ転送で送信されるデ
ータ分の空きができるまでデータ受信を行なわない(図
8のステップS1、ステップS2)。そして、入力制御
部201の入力バッファ211に空きが次第、入力バッ
ファ211にデータを転送する(図8のステップS
3)。
【0007】一方、出力制御部202内の制御用CPU
222は、入力制御部201の入力バッファ211のバ
ッファフラグ216と、出力制御部202の出力バッフ
ァ221のバッファフラグ223を使用して、入力制御
部201の入力バッファ211のデー夕蓄積量と、出力
制御部202の出力バッファ221の空き容量を比較す
る(図9のステップS1)。出力制御部202の出力バ
ッファ221の空き容量が、入力制御部201の入力バ
ッファ211のデータ蓄積量に達してから、出力制御部
202の制御用CPU222は、入力制御部201の入
力バッファ211から出力制御部202の出力バッファ
221へデータ転送を行う(図9のステップS2)。入
力バッファ211と出力バッファ221間のデータ転送
終了後、入力制御部201の入力バッファ211は、次
のデータ受信が可能となる。
【0008】
【発明が解決しようとする課題】第1の問題点は、従来
のデータ転送方法において、出力バッファよりサイズの
大きいデータを入力バッファに受信した場合は、受信デ
ータを何回かに分けて、出力バッファに転送しなければ
ならなくなり、データ転送効率が低下することである。
【0009】第2の問題点において、入力制御部のデー
タ受信速度の方が、出力制御部のデータ送信速度より速
い場合、入力制御部ではデータ受信を完了したが、出力
制御部の出力バッファの空き容量がデータ入力制御部の
入力バッファに蓄積されたデー夕分に達していないこと
が起こり得る。したがって、入力バッファと出力バッフ
ァ間の転送が行えないため次のデータを入力制御部が受
信できず、データ受信待機時間が長くなり、デー夕転送
効率が低下する。
【0010】第3の問題点は、全体のデータ転送効率を
上げるため、入力バッファに受信したデータを一回のデ
ータ転送で出力バッファに転送する必要があり、最大送
信デー夕量より大きい出力バッファを必要とすることで
ある。その理由は、入力バッファに受信されたデータの
転送先が、出力バッファのみであるからである。
【0011】本発明の課題は、大容量のサイズのデータ
転送時において、データの伝送効率を向上することので
きるデータ転送方式を提供することである。
【0012】
【課題を解決するための手段】本発明によれば、外部デ
ータ出力装置からのデータを格納する入力バッファ及び
外部データ出力装置とのデータ受信制御を行う第1の制
御用CPUを有する入力制御部と、外部データ出力装置
に出力するデータを格納し、外部にデータを出力する出
力バッファ、前記入力バッファに格納されたデータを前
記出力バッファに転送する制御を行う第2の制御用CP
U、及び前記入力バッファからのデータを一時的に格納
することが可能なメモリを有する出力制御部により構成
され、前記出力バッファの空き容量が前記入力バッファ
に蓄積されたデータ分に満たない場合に、前記入力制御
部に取り込んだデータを前記メモリに一時的に回避し、
前記入力バッファの空きを確保し、前記入力制御部の受
信を可能にすることを特徴とするデータ転送方式が得ら
れる。
【0013】さらに、本発明によれば、外部から受信し
たデータを前記入力制御部から前記出力制御部に転送す
る場合、前記第1の制御用CPUは、前記入力バッファ
の蓄積量を示すバッファフラグにより、前記入力バッフ
ァに、前記外部データ出力装置から1回のデータ転送で
送信されるデータ分の空きがあるか確認し、前記入力バ
ッファに受信したデータ分以上の空き容量ができ次第、
前記入力バッファに前記データを転送し、前記第2の制
御用CPUは、前記入力バッファのバッファフラグと、
前記出力バッファのバッファフラグにより、前記入力バ
ッファのデータ蓄積量と前記出力バッファの空き容量を
比較し、前記入力バッファのデータ蓄積量が前記出力バ
ッファの空き容量より少ない場合、前記第2の制御用C
PUは、前記入力バッファから前記出力バッファへデー
タ転送を行うことを特徴とするデータ転送方式が得られ
る。
【0014】さらに、本発明によれば、外部から受信し
たデータを前記入力制御部から前記出力制御部に転送す
る場合、前記第1の制御用CPUは、前記入力バッファ
の蓄積量を示すバッファフラグにより、前記入力バッフ
ァに、前記外部データ出力装置から1回のデータ転送で
送信されるデータ分の空きがあるか確認し、前記入力バ
ッファに受信したデータ分以上の空き容量ができ次第、
前記入力バッファに前記データを転送し、前記第2の制
御用CPUは、前記入力バッファのバッファフラグと、
前記出力バッファのバッファフラグにより、前記入力バ
ッファのデータ蓄積量と前記出力バッファの空き容量を
比較し、前記入力制御部のデータ受信速度の方が前記出
力制御部のデータ送信速度より速い時、もしくは、前記
出力バッファよりサイズの大きいデータが前記入力バッ
ファに前記外部データ出力装置から受信された場合に生
じる、前記入力バッファのデータ蓄槓量が前記出力バッ
ファの空き容量より多い場合、前記第2の制御用CPU
は、前記出力バッファのバッファフラグから前記出力バ
ッファの空き容量を算出し、前記出力バッファの空き容
量分のデータを前記入力バッファから前記出力バッファ
にデータ転送し、前記入力バッファと前記出力バッファ
間のデータ転送が終了した後、データ転送先を前記メモ
リに切り換え、前記入力バッファに残っているデータを
前記メモリにデータ転送し、このデータ転送が終了した
後、前記第2の制御用CPUは、前記メモリに転送した
データ分の空き容量があるかどうか、前記出力バッファ
のバッファフラグにより確認し、前記出力バッファに、
前記入力バッファから前記メモリに転送したデータ分の
空き容量ができ次第、前記メモリと前記出力バッファ間
のデータ転送に切り換え、前記入力バッファから前記メ
モリに転送されたデータを前記出力バッファに転送する
ことを特徴とするデータ転送方式が得られる。
【0015】
【作用】データ転送時に、出力バッファの空き容量が入
力バッファの受信データ分に達しない場合に、入力バッ
ファのデータ転送先を出力制御部の制御用CPUのメモ
リに変更し、制御用CPUメモリに一時的に格納する
為、入力バッファの空きを確保して、次のデータの入力
を開始することが可能となる。このため、出力バッファ
のサイズを送信データの最大のサイズよりも大きくする
必要がなくなり、また、大容量のサイズのデータ転送時
でもデータ受信ができ、データ受信待機時間を減少させ
ることができ、データ転送効率を従来の方式よりも向上
できる。
【0016】
【発明の実施の形態】以下、本発明の一実施の形態につ
いて図面を参照して詳細に説明する。図1は、本発明の
一実施の形態を示すブロック図である。本発明に係るデ
ータ転送方式は、入力制御部1と出力制御部2を具備し
て構成される。入力制御部1は、外部から受信するデー
タを格納する入力バッファ11と、外部の装置とのデー
タ受信制御を行う制御用CPU12とを有して構成され
ている。出力制御部2は、外部装置に出力するデータを
格納し、外部にデータを送信する出力バッファ21と、
入力バッファ11に格納されたデータを出力バッファ2
1に転送する制御を行う制御用CPU22と、入力バッ
ファ11に受信したデータ分の空き容量が出力バッファ
21にない場合に、入力制御部1の入力バッファ11か
らのデー夕を一時的に格納することにも使用する制御用
CPU22のメモリ(以下、共有メモリ23と記す)を
有して構成されている。
【0017】次に、本発明の実施例の動作について説明
する。まず、外部から受信したデータを入力制御部1か
ら出力制御部2に転送する場合について、図1、図2、
図3を用いて説明する。ここで、図2は入力制御部1の
制御用CPU12における動作を示したフローチャート
であり、図3は出力制御部2の制御用CPU22におけ
る動作を示したフローチャートである。入力制御部1内
の制御用CPU12は、入力バッファ11の蓄積量を示
すバッファフラグ16により、入力バッファ11に、外
部の装置から1回のデータ転送で送信されるデータ分の
空きがあるか確認する(図2のステップS1、ステップ
S2)。その後、入力バッファ11に受信したデータ分
以上の空き容量ができ次第、入力バッファ11にデータ
を転送する(図2のステップS3)。一方、出力制御部
2内の制御用CPU22は、入力バッファ11のバッフ
ァフラグ16と、出力制御部2の出力バッファ21のバ
ッファフラグ28により、入力バッファ11のデータ蓄
積量と出力バッファ21の空き容量を比較する(図3の
ステップS1)。
【0018】上記した比較の結果により、次のデータ転
送方法が異なるので、最初に、入力バッファ11のデー
タ蓄積量が出力バッファ21の空き容量より少ない場合
について説明する。この場合は、制御用CPU22は、
入力バッファ11から出力バッファ21へデータ転送を
行う(図3のステップS2)。入力バッファ11と出力
バッファ21間のデータ転送が終了した後、入力バッフ
ァ11は、次のデータ受信が可能となる。
【0019】次に、例えば、入力制御部のデータ受信速
度の方が出力制御部のデータ送信速度より速い時、もし
くは、出力バッファ21よりサイズの大きいデータが入
力バッファ11に外部データ出力装置から受信された場
合に生じる、入力バッファ11のデータ蓄槓量が出力バ
ッファ21の空き容量より多い場合について説明する。
出力制御部2の制御用CPU22は、出力バッファ21
のバッファフラグ28から出力バッファ21の空き容量
を算出し、出力バッファ21の空き容量分のデータを入
力バッファ11から出力バッファ21にデータ転送する
(図3のステップS3)。入力バッファ11と出力バッ
ファ21間のデータ転送が終了した後、データ転送先を
制御用CPU22のメモリ、すなわち共有メモリ23に
切り換える(図3のステップS4)。そして、入力バッ
ファ11に残っているデータを共有メモリ23にデータ
転送する(図3のステップS5)。入力バッファ11と
共有メモリ23間のデータ転送が終了した後、入力バッ
ファ11はデータ受信が可能となる。入力バッファ11
と共有メモリ23間のデータ転送が終了した後、制御用
CPU22は、共有メモリ23に転送したデータ分の空
き容量があるかどうか、出力バッファ21のバッファフ
ラグ28により確認し(図3のステップS6)、出力バ
ッファ21に、入力バッファ11から共有メモリ23に
転送したデータ分の空き容量ができ次第、共有メモリ2
3と出力バッファ21間のデータ転送に切り換える(図
3のステップS7)。その後、入力バッファ11から共
有メモリ23に転送されたデータを出力バッファ21に
転送する。
【0020】
【発明の効果】本発明によれば、入力制御部のデータ受
信速度の方が、出力制御部のデータ送信速度より速い場
合でも、データ出力バッファに入力制御部で受信したデ
ータ分の空き容量ができないため、データ受信待機時間
が大幅に減少し、CPU間データ転送の効率を向上する
ことができる。
【0021】又、本発明によれば、出力制御部の出力バ
ッファの空き容量がデータ入力制御部の入力バッファに
蓄積されたデータ分に達していない場合に、前記入力制
御部から取り込んだデータを前記出力制御部の制御用C
PUのメモリに、一時的に回避し、入力バッファの空き
を確保するため、出力バッファより大きいサイズのデー
タをCPU間で、デー夕受信待機時間なしで、転送する
ことが可能となる。これにより、従来の送信データ量分
以上のデータ出力バッファを必要とする欠点が改善さ
れ、経済性の優れた通信制御装置を提供できる。
【図面の簡単な説明】
【図1】本発明のデータ転送方式の一実施の形態を示し
たブロック図である。
【図2】図1のデータ転送方式における入力制御部の制
御用CPUの制御方法を説明するためのフローチャート
図である。
【図3】図1のデータ転送方式における出力制御部の制
御用CPUの制御方法を説明するためのフローチャート
図である。
【図4】従来のデータ転送方式の一実施の形態を示した
ブロック図である。
【図5】従来のデータ転送方式における共有メモリの構
造を示した図である。
【図6】従来の共有メモリの制御方法を説明するための
図である。
【図7】従来のデータ転送方式の他の実施の形態を示し
たブロック図である。
【図8】図7のデータ転送方式における入力制御部の制
御用CPUの制御方法を説明するためのフローチャー卜
図である。
【図9】図7のデータ転送方式における出力制御部の制
御用CPUの制御方法を説明するためのフローチャー卜
図である。
【符号の説明】
1 入力制御部 2 出力制御部 11 入力バッファ 12 制御用CPU 13 入力バッファへの制御信号 14 外部装置への制御信号 15 受信データ 16 バッファフラグ 21 出力バッファ 22 制御用CPU 23 共有メモリ 24 入力バッファへの制御信号 25 出力バッファへの制御信号 26 データバス 27 送信データ 28 バッファフラグ 29 共有メモリへの制御信号

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 外部データ出力装置からのデータを格納
    する入力バッファ及び外部データ出力装置とのデータ受
    信制御を行う第1の制御用CPUを有する入力制御部
    と、外部データ出力装置に出力するデータを格納し、外
    部にデータを出力する出力バッファ、前記入力バッファ
    に格納されたデータを前記出力バッファに転送する制御
    を行う第2の制御用CPU、及び前記入力バッファから
    のデータを一時的に格納することが可能なメモリを有す
    る出力制御部により構成され、前記出力バッファの空き
    容量が前記入力バッファに蓄積されたデータ分に満たな
    い場合に、前記入力制御部に取り込んだデータを前記メ
    モリに一時的に回避し、前記入力バッファの空きを確保
    し、前記入力制御部の受信を可能にすることを特徴とす
    るデータ転送方式。
  2. 【請求項2】 外部から受信したデータを前記入力制御
    部から前記出力制御部に転送する場合、前記第1の制御
    用CPUは、前記入力バッファの蓄積量を示すバッファ
    フラグにより、前記入力バッファに、前記外部データ出
    力装置から1回のデータ転送で送信されるデータ分の空
    きがあるか確認し、前記入力バッファに受信したデータ
    分以上の空き容量ができ次第、前記入力バッファに前記
    データを転送し、前記第2の制御用CPUは、前記入力
    バッファのバッファフラグと、前記出力バッファのバッ
    ファフラグにより、前記入力バッファのデータ蓄積量と
    前記出力バッファの空き容量を比較し、前記入力バッフ
    ァのデータ蓄積量が前記出力バッファの空き容量より少
    ない場合、前記第2の制御用CPUは、前記入力バッフ
    ァから前記出力バッファへデータ転送を行うことを特徴
    とする請求項1記載のデータ転送方式。
  3. 【請求項3】 外部から受信したデータを前記入力制御
    部から前記出力制御部に転送する場合、前記第1の制御
    用CPUは、前記入力バッファの蓄積量を示すバッファ
    フラグにより、前記入力バッファに、前記外部データ出
    力装置から1回のデータ転送で送信されるデータ分の空
    きがあるか確認し、前記入力バッファに受信したデータ
    分以上の空き容量ができ次第、前記入力バッファに前記
    データを転送し、前記第2の制御用CPUは、前記入力
    バッファのバッファフラグと、前記出力バッファのバッ
    ファフラグにより、前記入力バッファのデータ蓄積量と
    前記出力バッファの空き容量を比較し、前記入力制御部
    のデータ受信速度の方が前記出力制御部のデータ送信速
    度より速い時、もしくは、前記出力バッファよりサイズ
    の大きいデータが前記入力バッファに前記外部データ出
    力装置から受信された場合に生じる、前記入力バッファ
    のデータ蓄槓量が前記出力バッファの空き容量より多い
    場合、前記第2の制御用CPUは、前記出力バッファの
    バッファフラグから前記出力バッファの空き容量を算出
    し、前記出力バッファの空き容量分のデータを前記入力
    バッファから前記出力バッファにデータ転送し、前記入
    力バッファと前記出力バッファ間のデータ転送が終了し
    た後、データ転送先を前記メモリに切り換え、前記入力
    バッファに残っているデータを前記メモリにデータ転送
    し、このデータ転送が終了した後、前記第2の制御用C
    PUは、前記メモリに転送したデータ分の空き容量があ
    るかどうか、前記出力バッファのバッファフラグにより
    確認し、前記出力バッファに、前記入力バッファから前
    記メモリに転送したデータ分の空き容量ができ次第、前
    記メモリと前記出力バッファ間のデータ転送に切り換
    え、前記入力バッファから前記メモリに転送されたデー
    タを前記出力バッファに転送することを特徴とする請求
    項1又は2記載のデータ転送方式。
JP8062594A 1996-03-19 1996-03-19 データ転送方式 Expired - Fee Related JP2980163B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8062594A JP2980163B2 (ja) 1996-03-19 1996-03-19 データ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8062594A JP2980163B2 (ja) 1996-03-19 1996-03-19 データ転送方式

Publications (2)

Publication Number Publication Date
JPH09261277A JPH09261277A (ja) 1997-10-03
JP2980163B2 true JP2980163B2 (ja) 1999-11-22

Family

ID=13204815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8062594A Expired - Fee Related JP2980163B2 (ja) 1996-03-19 1996-03-19 データ転送方式

Country Status (1)

Country Link
JP (1) JP2980163B2 (ja)

Also Published As

Publication number Publication date
JPH09261277A (ja) 1997-10-03

Similar Documents

Publication Publication Date Title
EP0507571A2 (en) Receiving buffer control system
US5594878A (en) Bus interface structure and system for controlling the bus interface structure
WO2006134804A1 (ja) 外部デバイスアクセス装置
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
JP2980163B2 (ja) データ転送方式
US5185879A (en) Cache system and control method therefor
US6223236B1 (en) Hierarchical bus structure data processing apparatus and method with reduced data transfer volume
US20060036779A1 (en) Method and control system for controlling a plurality of function blocks
JP3162459B2 (ja) データ処理装置
US6085297A (en) Single-chip memory system including buffer
JP3204297B2 (ja) Dma転送制御装置
JP4030951B2 (ja) データ二重化装置及び方法
JP3329217B2 (ja) バス制御装置
JP2944193B2 (ja) データ受信装置
JP3202769B2 (ja) バーストリード処理装置
JPH06242950A (ja) パイプライン入出力制御装置
JP2000132498A (ja) Dma転送制御装置
JP2005267392A (ja) 共有データ処理回路、情報処理装置、情報処理システム、共有データ処理方法、共有データ処理プログラム
JPS6389951A (ja) キヤツシユメモリ装置
JPH10254817A (ja) Dma転送制御システム
JPH04192028A (ja) プリンタ送出データの制御方式
JP2001142841A (ja) Dma転送制御方式
JPH04205047A (ja) データ処理装置
JP2001167046A (ja) 画像処理装置
JPS6042976B2 (ja) デ−タ処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees