JP3127523B2 - 通信制御装置およびデータ送信方法 - Google Patents

通信制御装置およびデータ送信方法

Info

Publication number
JP3127523B2
JP3127523B2 JP28597591A JP28597591A JP3127523B2 JP 3127523 B2 JP3127523 B2 JP 3127523B2 JP 28597591 A JP28597591 A JP 28597591A JP 28597591 A JP28597591 A JP 28597591A JP 3127523 B2 JP3127523 B2 JP 3127523B2
Authority
JP
Japan
Prior art keywords
data
transmission
transfer
network
amount
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
JP28597591A
Other languages
English (en)
Other versions
JPH0653994A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP28597591A priority Critical patent/JP3127523B2/ja
Priority to US07/968,589 priority patent/US5623606A/en
Publication of JPH0653994A publication Critical patent/JPH0653994A/ja
Application granted granted Critical
Publication of JP3127523B2 publication Critical patent/JP3127523B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機をネットワーク
に接続するための通信制御装置に関し、特に、計算機か
らネットワークへのデータ送信処理の高速化方式に関す
る。
【0002】
【従来の技術】上位レイヤ(ユーザ)からのデータ送信
要求に対するデータ送信処理時間の短縮方式として、例
えば、特開平3−125538 号公報に記載の「パケット分割
方式」がある。上記公報に記載の発明は、上位レイヤか
らの送信データを複数のパケットに分割してネットワー
クに送信する際、全送信データの受取りの完了を待たず
に、上位レイヤから受け取った送信データ量が、分割し
て送信すべき最大パケット長に達した時点でネットワー
クに送出することにより、送信遅延時間を短縮するよう
にした方式である。
【0003】
【発明が解決しようとする課題】然るに、上記従来技術
は、送信する全データの受取りが完了する前に、ネット
ワークへのデータ送出を開始するものであるが、ネット
ワークに送出する単位であるパケットに着目すると、1
パケット分のデータの受取りが完了した後でネットワー
クに送出される。従って、ネットワークに送出できる最
大パケット長が小さいネットワークには効果的である
が、最大パケット長の大きいネットワークでは、パケッ
トがネットワークに送出されるまでの遅延時間は依然と
して大きい。本発明の目的は、ネットワークへのパケッ
トの送出を短時間で完了できるデータ送信方式、および
通信制御装置を提供することにある。
【0004】本発明の他の目的は、上位レイヤからのデ
ータ受取り速度がネットワーク伝送速度より遅い場合に
も、アンダーラン(ネットワークに送出すべきデータが
上位レイヤから転送されていない現象)を発生すること
なく、高速にパケットを送信できるデータ送信方式、お
よび通信制御装置を提供することにある。
【0005】本発明の更に他の目的は、上位レイヤから
のデータの受取りが、計算機のシステムバス等を介して
行なわれ、システムバスの負荷変動によってデータの受
取り速度が動的に変化する環境下でもアンダーランを発
生することなく、高速にパケットを送信できるデータ送
信方式、および通信制御装置を提供することにある。
【0006】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、通信制御装置を、計算機との接続イン
タフェースと、送受信データを保持するバッファメモリ
と、プロトコル処理を実行するプロセッサと、計算機内
の主メモリと前記バッファメモリ間のデータ転送を行う
データ転送装置と、ネットワークへの伝送制御を行うメ
ディアアクセスコントローラで構成し、更に、内部のバ
スを送受信データが転送されるバスとプロセッサがプロ
トコル処理を行う上で使用するバスに分離して構成し、
更に、(a)データ転送装置に、プロセッサが指定した
任意のタイミングで、中間報告を行なう手段を設け、
(b)プロセッサに、計算機内の主メモリからバッファ
メモリへのデータ転送速度とネットワーク伝送速度の速
度差に基づき、ネットワークへのデータ送信時にアンダ
ーランが発生しない(又は発生する確立の低い)タイミ
ングを計算する手段と、上記タイミングを中間報告タイ
ミングとしてデータ転送装置に与える手段と、プロトコ
ル処理の完了とデータ転送装置からの中間報告の同期を
とり、メディアアクセスコントローラを起動する手段と
を設ける。
【0007】
【作用】本発明によれば、計算機からのデータ送信要求
に対し、計算機内の主メモリからバッファメモリへの送
信データの転送と、プロトコル処理が並行して行え、プ
ロトコル処理が完了した後、データ転送装置から中間報
告があった段階でネットワークへのデータ送信を開始す
るため、送信データのバッファメモリへの転送が完了す
る前にネットワークへのデータ送信を開始できる。
【0008】更に、計算機内の主メモリからバッファメ
モリへのデータ転送速度とネットワーク伝送速度の速度
差を考慮してネットワークへのデータ送信開始タイミン
グを決定するため、ネットワークへのデータ送信時のア
ンダーラン発生を防止することができる。
【0009】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
【0010】〔実施例1〕図2は、本発明に係る通信ネ
ットワークシステムの1例を示す構成図であり、各計算
機1(1A〜1C)は、それぞれ通信制御装置2(2A
〜2C)を介して、ネットワーク3に接続されている。
【0011】図3は、計算機1が取扱う送受信データD
1と、通信制御装置2で付加するプロトコルヘッダH
2,H1と、ネットワークに送出されるフレーム、ある
いはパケットフォーマットとの関係を示した図である。
【0012】図1は、通信制御装置2の構成の1例と、
計算機1との接続関係を示すブロック図である。図1に
おいて、計算機1内の主プロセッサ10,主メモリ2
0、及び通信制御装置2は、システムバス25に接続さ
れている。
【0013】通信制御装置2は、システムバス25に接
続するためのシステムバスインタフェース回路30と、
ネットワークへのデータ送受信を制御するMAC・LS
I60と、送受信データを一時的に保持するバッファメモ
リ50と、バッファメモリ上の送受信データに対して通
信プロトコル処理を施すローカルプロセッサ70と、バ
ッファメモリ50と計算機1内の主メモリ20間で送受
信データの転送を行なうダイレクトメモリアクセスコン
トローラ(以下、DMACと記す)40と、ローカルプ
ロセッサ70が実行する命令を格納するプログラムメモ
リ80と、プロトコル処理を行う上で必要となるテーブ
ル等を定義するローカルメモリ90で構成される。
【0014】上記通信制御装置2は、2系統の内部バス
を有し、1つは、送受信データが転送されるバス11お
よびバス14であり、もう1つは、ローカルプロセッサ
70がプロトコル処理を実行する為に使用するバス12
である。バッファメモリ50は、3ポートメモリを形成
し、DMAC40,MAC・LSI60及び、ローカル
プロセッサ70から同時にアクセスできるように構成さ
れている。DMAC40及びMAC・LSI60は、ロー
カルプロセッサ70により制御される。DMAC40は、バス
切替回路13を介してバス11とバス12の両方に接続
される。送信データのDMA転送時にはバス11を使用
し、ローカルプロセッサ70とのインタフェース処理時
にはバス12を使用する。
【0015】図4は、本発明によるデータ伝送方式の基
本的な動作を示した図である。
【0016】図4に示す如く、本発明のデータ伝送方式
の特徴は、計算機1からネットワーク3へのデータ送信
処理を高速化するために、ローカルプロセッサ70でプ
ロトコル処理P−1を行いながら、DMAC40で主メ
モリ20からバッファメモリ50へのデータ転送(以
下、ホストDMAと記す)P−2を行い、ホストDMA
が完了する前に、バッファメモリ50からネットワーク
3へのデータ送信P−3を開始するようにしている。
【0017】本発明の他の目的は、ホストDMA速度が
ネットワーク伝送速度より遅い場合にも、アンダーラン
を発生させずに、上記動作を実現すること、更には、シ
ステムバス25の負荷によってホストDMA速度が動的
に変化する環境下でもアンダーランの発生を低減できる
方式を提供することにある。
【0018】図5は、本発明のデータ伝送におけるネッ
トワークへのデータ送信開始タイミングと、ホストDM
A−ネットワーク伝送速度との関係の1例を示す。図5
に示す如く、ホストDMA速度とネットワーク伝送速度
との速度差に基づいて、ネットワークへのデータ送信開
始タイミングを決定、あるいは調整することにより、ア
ンダーランの発生を低減できる。
【0019】上記動作を実現するために、本実施例で
は、通信制御装置2に以下に示す手段を設ける。
【0020】(a)DMAC40に、ローカルプロセッ
サ70が指定した任意のタイミングでDMA転送の中間
報告を行なう手段を設ける。
【0021】(b)ローカルプロセッサ70が実行する
プログラムに、ホストDMA速度とネットワーク伝送速
度の関係に基づき、ネットワーク3へのデータ送信時に
アンダーランが発生しえない(又は発生する確立の低
い)タイミングを計算する手段と、上記タイミングを中
間報告タイミングとしてDMAC40に与える手段と、
プロトコル処理の完了とDMAC40からの中間報告の
同期をとり、MAC・LSI60を起動する手段を設け
る。
【0022】以下、これらの手段について、具体的に説
明する。
【0023】図6は、DMAC40の内部構成を示すブ
ロック図である。
【0024】DMAC40は、主メモリ20からバッフ
ァメモリ50へのDMA転送を行う送信DMAユニット
100と、バッファメモリ50から主メモリ20へのD
MA転送を行う受信DMAユニット200と、バス11
及びバス12へのアクセス制御を行なうバス制御回路4
00と、DMAC全体の動作を制御する制御ユニット3
00とで構成される。制御ユニット300は、バス制御
回路400を介して、ローカルプロセッサ70からのD
MA要求を受付け、指示内容に従い、送信DMAユニット
100及び受信DMAユニット200を起動する。送信
DMAユニット100及び受信DMAユニット200
は、バス制御回路400を介して主メモリ20及びバッ
ファメモリ50をアクセスし、DMA転送を実行する。
【0025】図7は、送信DMAユニット100の詳細
な構成を示すブロック図である。
【0026】送信DMAユニット100は、転送元のメ
モリアドレス(主メモリ20のアドレス)を保持する転
送元アドレスレジスタ105と、転送先のメモリアドレ
ス(バッファメモリ50のアドレス)を保持する転送先
アドレスレジスタ107と、DMA転送バイト数を保持
する転送バイトレジスタ102と、転送バイトレジスタ
102を更新するディクリメント回路103と、転送元
アドレスレジスタ105と転送先アドレスレジスタ10
7を更新するインクリメント回路106と、転送元アド
レスレジスタ105と転送先アドレスレジスタ107を
選択してバス制御回路400にアクセスアドレスを与え
るセレクタ110と、主メモリ20からリードしたデー
タを一時的に保持するデータ保持レジスタ108と、転
送バイト数以下の任意の値が設定可能な中間報告バイト
レジスタ104と、転送バイトレジスタ102と中間報
告バイトレジスタ104の内容を比較する比較器109
と、送信DMAユニット100全体の動作制御を行うコ
ントローラ101で構成される。
【0027】上記送信DMAユニット100は、ローカ
ルプロセッサ70から指定されたメモリ間のDMA転送
を行なう他、DMA転送の残りバイト数がローカルプロ
セッサ70が指定したバイト数に達したことをローカル
プロセッサ70に報告する機能を有する。すなわち、転
送バイトレジスタ102の値が、中間報告バイトレジス
タ104の値以下になったことを比較器109が検出
し、コントローラ101,制御ユニット300を介し
て、ローカルプロセッサ70に報告する。
【0028】図8は、制御ユニット300の詳細な構成
を示すブロック図である。
【0029】制御ユニット300は、ローカルプロセッ
サ70からのDMA要求を受け付けるためのコントロー
ルレジスタ303と、DMAの完了及び、上記中間報告
を行うためのステータスレジスタ302と、DMAアド
レスや転送バイト数等のパラメータが格納されたテーブ
ルのアドレスを保持するパラメータアドレスレジスタ3
04と、これらのレジスタ,送信DMAユニット100
及び受信DMAユニット200を制御するコントローラ
301とで構成される。
【0030】図9は、ステータスレジスタ302のビッ
ト構成を示す。ステータスレジスタ302には、送信D
MAユニット100から通知される送信DMA完了報告
信号42,中間報告信号43、およびDMAユニット2
00から通知される受信DMA完了報告信号45が、受信
ローカルプロセッサ70から読みだしが可能な形で保持
される。
【0031】図10は、ローカルプロセッサ70からD
MAC40へのDMA要求コマンド(以下、「DMAパ
ラメータ」と記す)の形式を示す。DMAパラメータ9
1は、転送元アドレス91−1と、転送先アドレス91
−2と、転送バイト数91−3と、中間報告バイト数9
1−4からなり、ローカルメモリ90上に定義されてい
る。
【0032】次に、DMAC40の動作フローについて
説明する。
【0033】図11〜図13は、データ送信時における
DMACの動作を示したフローチャ−トである。
【0034】図11において、DMAC40は、コント
ロールレジスタ303の内容により送信DMA要求であ
ることを判断すると(ステップ1000)、パラメータ
アドレスレジスタ304で示されるメモリからDMAパ
ラメータ91を読み込み(1001)、転送元アドレス
91−1,転送先アドレス91−2,転送バイト数91
−3,中間報告バイト数91−4を、送信DMAユニッ
ト100内の対応するレジスタに転送する(100
2)。
【0035】送信DMAユニット100では、図12に
示す如く、転送元アドレスレジスタ105で示される主
メモリ20上のデータをリードし、データ保持レジスタ
108に格納する(1004)。引き続き、転送先アドレ
スレジスタ107で示されるバッファメモリ50に、デ
ータ保持レジスタ108の内容をライトする(1005)。そ
の後、転送バイトレジスタ102の内容をディクリメン
トし(1006)、転送元アドレスレジスタ105及び
転送先アドレスレジスタ107の内容をインクリメント
する(1007)。
【0036】次に、図13に示す如く、転送バイトレジ
スタ102の値と中間報告バイトレジスタ104の値を
比較し、転送バイトレジスタ102の値が中間報告バイ
トレジスタ104の値以下になれば、ステータスレジス
タ302を介してローカルプロセッサ70に対して中間
報告を行なう(1009)。次に、転送バイトレジスタ
102を判定し(1010)、“0”に達していれば、
ローカルプロセッサ70にDMA完了報告を行なう(1
011)。DMA転送が完了していない場合には、DM
A転送が完了するまで、図12,図13のフローを繰り
返す。
【0037】次に、図4に示した動作を実現するローカ
ルプロセッサ70の動作について説明する。
【0038】図14は、計算機1から通信制御装置2へ
の送信要求コマンドの形式を示す。計算機1から通信制
御装置2への送信要求は、主メモリ20上に定義された
コマンドブロック21を用いて行なう。コマンドブロッ
ク21には、要求内容を示すコマンドコード21−1,
送信データ長21−2,送信データが格納された送信バ
ッファアドレス21−3,データ送信先の計算機アドレ
ス情報21−4が設定される。
【0039】図15は、データ送信時のローカルプロセ
ッサ70の動作を示すフローチャートである。ローカル
プロセッサ70は、計算機1からデータ送信要求を受け
ると、主メモリ20上のコマンドブロック21をリード
し、解析する(ステップ1100)。次に、ホストDM
A中にDMAC40から中間報告を受けたいタイミン
グ、すなわち、ネットワーク3へのデータ送信時にアン
ダーランが発生しない(又は発生する確立の低い)タイ
ミングを示す、残りDMAバイト数を計算する(110
1)。処理1101の結果に基づき、DMAパラメータ
91を作成し、DMAC40を起動(1102)する。
【0040】DMAC40の起動は、DMAパラメータ
91のアドレスをパラメータアドレスレジスタ304に
設定し、コントロールレジスタ303に送信DMA要求
コマンドをセットすることにより行なう。その後、プロ
トコル処理を行なう(1103)。プロトコル処理が完了する
と、DMAC40からの中間報告を待つ(1104)。D
MAC40からの中間報告があれば、MAC・LSI6
0にデータ送信要求を出す(1105)。
【0041】上記実施例では、ネットワーク3へのデー
タ送信開始タイミングとして残りDMAバイト数を指定
したが、DMA経過バイト数を指定するようにしても
い。以上、アンダーランの発生を防止する工夫を行いつ
つ、計算機1内の主メモリ20から通信制御装置2内の
バッファメモリ50への転送が完了する前に、ネットワ
ークへのデータ送信を開始する実施例を説明した。しか
しながら、システムバス25の負荷変動に伴ってホスト
DMA速度が動的かつ急激に変化するような環境におい
ては、アンダーランの発生を完全に防ぐことはできな
い。そこで、以上の特異な場合に備えて、アンダーラン
の発生を検出する手段とアンダーランの発生を検出した
場合にはネットワーク3への送信処理を中止又は無効に
する手段が必要となる。
【0042】図16は、データ送信時のアンダーランの
発生を検出できるバッファメモリ50の構成を示す。こ
の例では、データ送信に使用する送信バッファに限定し
て記述している。
【0043】図16において、送信バッファメモリ50
−1には、DMAC40が出力したライトアドレスを保
持するライトポインタ51と、MAC・LSI60が出
力するリードアドレスを保持するリードポインタ52
と、ライトポインタ51とリードポインタ52の内容を
比較する比較器53が付加されている。比較器53は、
リードポインタ52の内容がライトポインタ51の内容
より大きくなった場合、すなわち、送信データが書き込
まれていないメモリアドレスに対してデータを送信しよ
うとした場合に、アンダーラン検出信号54を出力し、
バス12を介してローカルプロセッサ70に通知する。
【0044】ローカルプロセッサ70は、バス12を介
してアンダーラン検出信号54を受けると、送信動作を
中止し、アンダーランが発生したデータを再送する。な
お、アンダーランの発生を検出する他の方法として、送
信バッファ50−1をFIFOで構成する手段も可能であ
る。以上の手段により、アンダーランの発生を検出で
き、回復処理が行なえる。
【0045】本実施例によれば、計算機1内の主メモリ
20から通信制御装置2内のバッファメモリ50への送
信データの転送が完了する前に、ネットワーク3へのデ
ータ送信を開始でき、一度に送信できる最大データ長が
大きいネットワーク3に対しても、送信遅延時間を短縮
できる。また、ローカルプロセッサ70が、ホストDM
A速度とネットワーク伝送速度の速度差を考慮して、ネ
ットワークへのデータ送信開始タイミングを調整するた
め、ネットワークへのデータ送信時のアンダーラン発生
を防止することができる。更には、ホストDMA転送を
実行するDMAC40に、ネットワーク3へのデータ送
信開始タイミングを抽出する手段を設けたことにより、
DMA転送の進行状況に応じて、より正確なネットワー
ク3へのデータ送信開始タイミングを抽出できるため、
システムバス25の負荷変動に伴ってホストDMA速度
が動的に変化する場合でも、アンダーランの発生を低減
できる。データ送信遅延時間の短縮に伴い、送信バッフ
ァの占有時間が短縮されるため、送信バッファを効率良
く使用できるという効果もある。
【0046】〔実施例2〕上記した実施例1の方式で
は、ネットワーク3へのデータ送信開始タイミングを示
す残りDMAバイト数を、ローカルプロセッサ70がデ
ータ送信が発生する毎に計算しているため、DMAC4
0を起動する迄に時間を要している。以下の説明する実
施例2の主たる目的は、DMAC40の内部で残りDM
Aバイト数の計算を行うことにより、ローカルプロセッ
サ70がDMAC40を迅速に起動できるようにするこ
とにある。
【0047】図17は、このような機能を備える送信D
MAユニット100′の構成の1例を示すブロック図で
ある。送信DMAユニット100′は、図7に示した送
信DMAユニット100に、報告タイミング指定レジス
タ111と、報告タイミング生成回路112を追加した
構成となっている。
【0048】報告タイミング指定レジスタ111は、ロ
ーカルプロセッサ70から設定可能なレジスタであり、
総DMAバイト数に対する、中間報告を行う残りDMA
バイト数の比率を示すデータを保持する。例えば、報告
タイミング指定レジスタ111に「80」を設定した場
合には、残りDMAバイト数が全体の80%に達した時
点、すなわち、ホストDMA転送の20%が完了した時
点で、中間報告を行うことを意味する。報告タイミング
指定レジスタ111に設定する値は、送信するデータ長
によらず、ホストDMA速度とネットワーク伝送速度の
速度差から決定できる値であり、DMAC40の初期設
定時に設定するだけでよい。報告タイミング生成回路1
12は、コントローラ101からの指示により、転送バ
イトレジスタ102の内容と報告タイミング指定レジス
タ111の内容から、中間報告を行う残りDMAバイト
数を計算し、その結果を中間報告バイトレジスタ104
に格納する機能を有する。
【0049】図18は、上記DMAC40の動作を示す
フローチャートである。
【0050】DMAC40は、ローカルプロセッサ70
から送信DMA要求を受けると、パラメータアドレスレ
ジスタ304で示されるメモリから中間報告バイト数を
除くDMAパラメータ91を読み込み(ステップ100
1′)、送信DMAユニット100′内の対応するレジ
スタに転送する(1002′)。次に、報告タイミング
指定レジスタ111と転送バイトレジスタ102の内容
から、中間報告を行なう残りDMAバイト数を計算し、
中間報告バイトレジスタ104に設定する(100
4)。以降は、実施例1と同様に、図12,図13に示
すフローに従い、DMA転送を実行する。
【0051】図19は、上記送信DMAユニット10
0′を内蔵するDMAC40を使用した場合における、
ローカルプロセッサ70の動作を示すフローチャートで
ある。ローカルプロセッサ70は、計算機1から発行さ
れたコマンドブロック21の内容を解析した後(ステッ
プ1100)、中間報告バイト数を除くDMAパラメー
タ91を作成し、DMAC40を起動する(110
2′)。以降、実施例1で示したフローと同様に、プロ
トコル処理を行ない(1103)、DMAC40からの
中間報告との同期をとって(1104)、MAC・LS
I60にデータ送信要求を出す(1105)。
【0052】本実施例によれば、DMAC40から中間
報告を受けるタイミングを示す残りDMAバイト数を、
ローカルプロセッサ70が計算する必要がなくなるた
め、DMAC40を迅速に起動できるという効果があ
る。
【0053】〔実施例3〕実施例1及び実施例2で述べ
た方式によると、送信バッファの占有時間が短縮される
ため、送信バッファを効率良く使用できる。しかしなが
ら、図15,図19に示したローカルプロセッサ70の
動作フローによれば、プロトコル処理を行なう前にホス
トDMA転送が開始されている、プロトコル処理を行な
った結果、送信待ち処理が発生し、ネットワーク3への
送信が保留されるデータに対しても、送信バッファへの
データ転送が発生する。従って、送信待ち状態が解除さ
れるまで送信バッファが占有されるため、送信バッファ
を利用率に改善の余地がある。
【0054】実施例3の目的は、ネットワーク3へのデ
ータ送信が可能となった時のみ、送信データをバッファ
メモリ50に転送することにより、送信バッファの利用
率を高めることにある。
【0055】図20は、本実施例におけるローカルプロ
セッサ70の動作を示すフローチャートである。ローカ
ルプロセッサ70は、計算機1からデータ送信要求を受
けると(ステップ1100)、プロトコル処理の前処理
として、ネットワークへのデータ送信が可能な状態であ
るかどうかを判定し(1103′)、可能であれば、D
MAC40を起動し(1102′)、残りのプロトコル
処理を行なう(1103″)。データ送信が不可能な状
態である場合には、送信待ち処理を行ない(1107)、
データ送信が可能となるまで待ち合わせる(110
8)。データ送信が可能な状態になると、DMAC40
を起動し(1102′)、残りのプロトコル処理を行な
う(1103″)。プロトコル処理が完了すると、DM
AC40からの中間報告との同期をとり(1104)、
MAC・LSI60にデータ送信要求を出す。
【0056】図21は、ローカルプロセッサ70が図2
0の動作フローを実行した場合の、通信制御装置2の動
作を示すタイムチャートである。
【0057】本実施例によれば、ネットワーク3へのデ
ータ送信が可能となった時のみ、送信データをバッファ
メモリ50に転送するため、送信バッファの使用効率が
向上する。
【0058】
【発明の効果】以上の説明から明らかなように、本発明
によれば、ネットワークに送出する1パケット分のデー
タを、計算機から受取り終える前に、ネットワークへの
データ送信を開始することができるため、データ送信時
の遅延時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明による通信制御装置の1例を示す構成
図。
【図2】本発明が対象とするネットワークシステムの1
例を示す構成図。
【図3】ネットワークに送受信されるパケットフォーマ
ットを示す図。
【図4】本発明が実現しようとする送信動作の1例を示
す図。
【図5】ネットワークへのデータ送信開始タイミングの
1例を示す図。
【図6】DMAC40の内部構成図。
【図7】送信DMAユニット100の内部構成図。
【図8】制御ユニット300の内部構成図。
【図9】ステータスレジスタ302のビット構成を示す
図。
【図10】DMAパラメータ91のフォーマットを示す
図。
【図11】DMAC40の動作を示すフローチャート。
【図12】DMAC40の動作を示すフローチャート。
【図13】DMAC40の動作を示すフローチャート。
【図14】計算機1が発行するコマンドのフォーマット
を示す図。
【図15】ローカルプロセッサ70の動作を示すフロー
チャート。
【図16】送信バッファメモリの構成例を示す図。
【図17】送信DMAユニット100の他の構成図。
【図18】DMAC40の他の動作を示すフローチャー
ト。
【図19】ローカルプロセッサ70の他の動作を示すフ
ローチャート。
【図20】ローカルプロセッサ70の更に他の動作を示
すフローチャート。
【図21】通信制御装置2の動作を示すタイムチャー
ト。
【符号の説明】
2…通信制御装置、10…主プロセッサ、20…主メモ
リ、40…ダイレクト・メモリアクセス・コントローラ
(DMAC)、50…バッファメモリ、60…MAC・
LSI、70…ローカルプロセッサ、100…送信DM
Aユニット、104…中間報告バイトレジスタ、111
…報告タイミング指定レジスタ、112…報告タイミング
生成回路、300…制御ユニット。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 水谷 美加 神奈川県川崎市麻生区王禅寺1099番地 株式会社 日立製作所 システム開発研 究所内 (56)参考文献 特開 昭63−310247(JP,A) 特開 昭62−47241(JP,A) 特開 昭64−82837(JP,A) 特開 平4−233352(JP,A) 特開 平3−58543(JP,A) 特開 昭63−308447(JP,A) 特開 平3−192937(JP,A) (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 H04L 13/08 G06F 13/00

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】計算機のメモリに格納されたデータをネッ
    トワークへ送信するための通信制御装置であって、 上記メモリから受信したデータを保持するバッファメモ
    リと、 上記バッファメモリへのデータの入力及び出力を制御す
    る制御部とを有し、 上記制御部は、上記メモリから上記バッファメモリへ転
    送されるデータ量を上記計算機から得る手段と、該デー
    タ量を格納するための第一のレジスタと、該データ量に
    応じて設定される基準データ量を格納するための第二の
    レジスタとを有しており、上記メモリから上記バッファ
    メモリへデータが転送された場合に、該転送されたデー
    タの量と上記第一のレジスタに格納されているデータ量
    から残り転送データ量を算出し、該残り転送データ量が
    上記第二のレジスタに格納されているデータ量以下であ
    る場合に、上記バッファメモリに保持されているデータ
    を上記ネットワークへ送信するよう制御することを特徴
    とする通信制御装置。
  2. 【請求項2】請求項1記載の通信制御装置であって、 前記制御部は、前記メモリから前記バッファメモリへの
    データ転送を制御する転送制御部と、該バッファメモリ
    から前記ネットワークへのデータ送出を制御する送出制
    御部と、該転送制御部と該送出制御部とを制御するプロ
    セッサとを有し、 上記転送制御部は、上記メモリから転送されたデータの
    量を前記第一のレジスタに格納されているデータ量から
    減算して前記残り転送データ量を算出し、該残り転送デ
    ータ量が前記第二のレジスタに格納されているデータ量
    以下である場合に、データ送出開始指示を上記プロセッ
    サに通知し、 上記プロセッサは、上記データ送出開始指示を受信した
    場合に、上記バッファメモリに保持されているデータを
    上記ネットワークへ送出するよう上記送出制御部に通知
    することを特徴とする通信制御装置。
  3. 【請求項3】請求項2記載の通信制御装置において、 前記メモリから受信したデータを前記バッファメモリへ
    格納するための第一の伝送路と、 上記バッファメモリに格納されているデータに対して前
    記プロセッサがプロトコル処理を実行するための第二の
    伝送路を有し、 上記プロセッサは、上記メモリから上記バッファメモリ
    へのデータ転送と並行して上記プロトコル処理を実行
    し、前記データ送出開始指示受信時点または上記プロト
    コル処理の終了時点のいずれか遅いほうの時点で、上記
    バッファメモリに格納されているデータを上記ネットワ
    ークへ送出するよう前記送出制御部に通知することを特
    徴とする通信制御装置。
  4. 【請求項4】計算機からネットワークにデータを送信す
    るためのデータ送信方法であって、 上記計算機から受信するデータ量を得るステップと、 上記計算機から得たデータ量に対応した基準データ量を
    計算するステップと、 上記計算機からデータを受信するステップと、 上記受信データを保持するステップと、 上記計算機から得たデータ量と上記受信データの量から
    残り転送データ量を算出するステップと、 上記残り転送データ量が、上記基準データ量以下となっ
    た場合に、上記保持されているデータを上記ネットワー
    クに送出するステップとを有することを特徴とする、デ
    ータ送信方法。
  5. 【請求項5】請求項4記載のデータ送信方法であって、 前記計算機からのデータの受信と並行して、該データの
    受信に用いられる伝送路以外の伝送路を用いて前記保持
    されているデータに対するプロトコル処理を行うステッ
    プと、 前記残り転送データ量が前記基準データ量以下となり、
    上記プロトコル処理が終了している場合に、上記保持さ
    れているデータを前記ネットワークに送出するステップ
    を有することを特徴とする、データ送信方法。
JP28597591A 1991-10-31 1991-10-31 通信制御装置およびデータ送信方法 Expired - Fee Related JP3127523B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP28597591A JP3127523B2 (ja) 1991-10-31 1991-10-31 通信制御装置およびデータ送信方法
US07/968,589 US5623606A (en) 1991-10-31 1992-10-29 Communication control method and apparatus for performing high speed transfer of data by controlling transfer starting times

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28597591A JP3127523B2 (ja) 1991-10-31 1991-10-31 通信制御装置およびデータ送信方法

Publications (2)

Publication Number Publication Date
JPH0653994A JPH0653994A (ja) 1994-02-25
JP3127523B2 true JP3127523B2 (ja) 2001-01-29

Family

ID=17698397

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28597591A Expired - Fee Related JP3127523B2 (ja) 1991-10-31 1991-10-31 通信制御装置およびデータ送信方法

Country Status (2)

Country Link
US (1) US5623606A (ja)
JP (1) JP3127523B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08307617A (ja) * 1995-05-10 1996-11-22 Canon Inc 通信装置
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
JP3768599B2 (ja) * 1995-07-11 2006-04-19 キヤノン株式会社 プリンタ装置、該装置の制御方法、及び、プリンタシステム
US6073180A (en) * 1996-03-07 2000-06-06 Nippon Telegraph And Telephone Corporation High-speed batch file transfer method and apparatus, and storage medium in which a program for executing the transfer is stored
KR0169248B1 (ko) * 1996-07-24 1999-02-01 양승택 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
US6038620A (en) * 1996-09-09 2000-03-14 International Business Machines Corporation Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
US5991812A (en) * 1997-01-24 1999-11-23 Controlnet, Inc. Methods and apparatus for fair queuing over a network
US6111890A (en) * 1997-03-25 2000-08-29 Level One Communications, Inc. Gigabuffer lite repeater scheme
US6167032A (en) * 1997-11-07 2000-12-26 International Business Machines Corporation System and method for avoiding host transmit underruns in a communication network
US6137804A (en) * 1997-12-02 2000-10-24 International Business Machines Corporation System and method for automatic retry of transmit, independent of a host processor, after an underrun occurs in a LAN
US7403994B1 (en) * 2000-08-29 2008-07-22 International Business Machines Corporation Method of doing business over a network by transmission and retransmission of digital information on a network during time slots
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
US7150017B1 (en) 2000-08-29 2006-12-12 International Business Machines Corporation System and method for scheduling digital information transmission and retransmission on a network during time slots
US7010636B1 (en) * 2000-09-29 2006-03-07 Fluke Networks, Inc. Method and apparatus for rapid data transfer between dis-similar devices
JP2004094452A (ja) * 2002-08-30 2004-03-25 Fujitsu Ltd Dmaコントローラおよびdma転送方法
JP2006217283A (ja) * 2005-02-03 2006-08-17 Fujitsu Ltd データ転送方法、データ転送プログラム、情報処理端末装置及び情報システム
US8081626B2 (en) * 2006-07-19 2011-12-20 4472314 Canada Inc. Expedited communication traffic handling apparatus and methods
JP5045728B2 (ja) * 2009-10-23 2012-10-10 ヤマハ株式会社 通信ノード
WO2011096046A1 (ja) * 2010-02-02 2011-08-11 株式会社 東芝 ストレージ機能を持つ通信装置
US20140068139A1 (en) * 2012-08-29 2014-03-06 Advanced Micro Devices, Inc. Data transfer system and method
JP6443135B2 (ja) * 2015-03-04 2018-12-26 富士通株式会社 データ保存プログラム、データ保存方法、情報処理端末及びデータ保存システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4285038A (en) * 1976-10-15 1981-08-18 Tokyo Shibaura Electric Co., Ltd. Information transfer control system
US4175287A (en) * 1978-01-23 1979-11-20 Rockwell International Corporation Elastic store slip control circuit apparatus and method for preventing overlapping sequential read and write operations
FR2482806A1 (fr) * 1980-05-19 1981-11-20 France Etat Procede et dispositif de synchronisation de signal numerique
US4525831A (en) * 1983-06-22 1985-06-25 Gte Automatic Electric Inc. Interface arrangement for buffering communication information between a transmitting and receiving stage of a time-space-time digital switching system
JPH0634486B2 (ja) * 1984-09-04 1994-05-02 日本電信電話株式会社 通信プロトコル制御装置
US4845710A (en) * 1986-12-23 1989-07-04 Oki Electric Industry Co., Ltd. Dynamic buffer supervising system for a data link access protocol control
US4945548A (en) * 1988-04-28 1990-07-31 Digital Equipment Corporation Method and apparatus for detecting impending overflow and/or underrun of elasticity buffer
US4849969A (en) * 1988-05-19 1989-07-18 Advanced Micro Devices, Inc. Implementation of smoothing apparatus for an independently clocked network
JPH03125538A (ja) * 1989-10-11 1991-05-28 Nippon Telegr & Teleph Corp <Ntt> パケット分割方式
US5185853A (en) * 1991-01-03 1993-02-09 Acer Incorporated Expandable printer buffer system
JPH04369942A (ja) * 1991-06-19 1992-12-22 Hitachi Ltd データ通信システム

Also Published As

Publication number Publication date
JPH0653994A (ja) 1994-02-25
US5623606A (en) 1997-04-22

Similar Documents

Publication Publication Date Title
JP3127523B2 (ja) 通信制御装置およびデータ送信方法
JP2745521B2 (ja) フレーム送信方法
JP3384686B2 (ja) 通信ネットワークから情報を受信するための方法および装置
US5721955A (en) System for transferring portion of data to host from buffer if size of packet is greater than first threshold value but less than second threshold value
US20030112818A1 (en) Deferred queuing in a buffered switch
EP2871580B1 (en) Programmed input/output mode
JP3226095B2 (ja) ネットワークプリンタ
JPH07262152A (ja) コンピュータシステム
JPH07281976A (ja) パケットfifoを管理する方法
JPH0824320B2 (ja) 通信制御装置における緩衝域連鎖の方法およびその装置
US5533203A (en) Start of packet receive interrupt for ethernet controller
JP2005167965A (ja) パケット処理方法および装置
US9817784B2 (en) Multi-port transmitter device for transmitting at least partly redundant data, an associated control system, an associated method and an associated computer program product
JP3189269B2 (ja) ネットワークプリンタ
JP2002366427A (ja) プロセッサ間通信システム及びそれに用いるプロセッサ間通信方法
US20040225707A1 (en) Systems and methods for combining a slow data stream and a fast data stream into a single fast data stream
JP5772132B2 (ja) データ転送装置、データ転送方法および情報処理装置
JP2002176464A (ja) ネットワークインタフェース装置
JP2001325212A (ja) マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置
WO1998052127A1 (en) Dynamic retry implementation for the pci bus based on posted transactions on the pci bus
JPH09149067A (ja) スイッチングハブ
JPH0661074B2 (ja) アクセス制御装置、バスの遊休時間を最小化する方法、dma制御装置、及びdmaデータ転送方法
JP2000259523A (ja) データ転送装置、lan通信システム及びデータ転送方法
EP1195685B1 (en) A process for interfacing a microprocessor with a packet based device and respective system
JPH09269936A (ja) リモートリード処理方法およびその装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees