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

データ転送方式

Info

Publication number
JPH10224410A
JPH10224410A JP9033387A JP3338797A JPH10224410A JP H10224410 A JPH10224410 A JP H10224410A JP 9033387 A JP9033387 A JP 9033387A JP 3338797 A JP3338797 A JP 3338797A JP H10224410 A JPH10224410 A JP H10224410A
Authority
JP
Japan
Prior art keywords
data
transmission
reception
transfer
state
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
JP9033387A
Other languages
English (en)
Inventor
Toshiaki Nomura
俊昭 野村
Hirotoshi Kato
弘敏 加藤
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 Information Technology Co Ltd
Original Assignee
Hitachi Information Technology 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 Hitachi Information Technology Co Ltd filed Critical Hitachi Information Technology Co Ltd
Priority to JP9033387A priority Critical patent/JPH10224410A/ja
Publication of JPH10224410A publication Critical patent/JPH10224410A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】送受信チャネルが増加しても回路構成が簡単
で、受信データと送信データの転送が競合した場合に効
率的なデータ転送ができる半二重通信方式におけるデー
タ転送方式を提供することにある。 【解決手段】半二重通信方式におけるデータ転送方式に
おいて、受信バッファに受信データがあることの第1の
検出信号に応じて受信データの転送状態に設定し、送信
データがあるときに送信バッファが空になっていること
の第2の検出信号に応じて送信データの転送状態に設定
する転送状態設定回路と、第1および第2検出信号が競
合したときには転送状態設定回路の選択を現在のままと
してこの現在の状態が受信データの転送状態にあるとき
には受信ディスクリプタにおける有効な第1のキュー情
報が無くなったときに転送状態設定回路による設定を送
信データの転送状態に切換え、現在の状態が前記送信デ
ータの転送状態にあるときに送信ディスクリプタにおけ
る有効な第2のキュー情報が無くなったときに転送状態
設定回路による設定を受信データの転送状態に切換える
制御回路とを備えるものである。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データ転送方式
に関し、詳しくは、受信バッファおよび送信バッファと
メインメモリとの間で送信ディスクリプタあるいは受信
ディスクリプタのキュー情報(アクセスのための索引情
報)に従い送信データおよび受信データの転送を行う半
二重通信方式によるデータ転送において、受信データと
送信データの転送が競合した場合に簡単な回路で効率的
なデータ転送ができるようなデータ転送方式に関する。
【0002】
【従来の技術】従来、受信バッファおよび送信バッファ
とメインメモリとの間で、データ転送制御部が送信デー
タおよび受信データの転送の場所を指示するキュー情報
(ディスクリプタ情報)を順次送信ディスクリプタある
いは受信ディスクリプタから読出して、読出したキュー
情報に従ってデータ転送を行なう通信装置があるが、そ
のデータ転送方式として、従来は、受信バッファとメイ
ンメモリ間のデータ転送処理にあっては、受信バッファ
に受信データが書込まれ、それが検出されると、データ
転送制御部は、その検出信号に応じてあらかじめ読込ん
であった受信ディスクリプタのキュー情報に従って受信
バッファからキュー情報が示すメインメモリのアドレス
を基準に所定バイト数のデータを記憶することで受信デ
ータの転送を行っている。
【0003】一方、送信バッファとメインメモリ間のデ
ータ転送処理にあっては、送信要求があると、データ転
送制御部は、送信ディスクリプタのキュー情報を読込ん
で、送信バッファの空きを検出する検出信号に応じてキ
ュー情報が示すメインメモリのアドレスを基準に所定バ
イト数の送信データを読出して送信バッファに記憶する
ことで送信データの転送を行う。このような受信データ
の転送と送信データの転送とは、それぞれにおいて1回
のデータ転送が完了すると、次のキュー情報をディスク
リプタから読込み、ディスクリプタにキュー情報が無く
なるまで同様な転送動作を繰り返す。
【0004】一般に、受信データの転送においては、受
信バッファ内に受信データがあるか否かに拘わらず次の
転送で使用する受信ディスクリプタのキュー情報が先取
りされて読込まれ、データ転送制御部内に保持される。
これにより受信バッファでの次の受信データの検出に備
える。そのために複数の通信チャネルを有する情報処理
装置では、各通信チャネル毎に受信ディスクリプタのキ
ュー情報の保持が必要になる。そのため、通信チャネル
の増加に伴ってデータ転送制御部が使用するレジスタや
論理ゲート数が増加する問題がある。
【0005】
【発明が解決しようとする課題】ところで、LAN等に
おいて通信処理を行う情報処理装置(端末装置も含む)
にあっては、半二重通信方式でデータの通信が行われる
ことも多い。この半二重通信方式のデータ転送制御部に
おいては、いかなる時点においても送信又は受信の一方
を行えばよい。そこで、次の転送で使用する受信ディス
クリプタのキュー情報の先取りを止めてレジスタや論理
ゲート数を共用することができる。これにより通信チャ
ネルが増加してもその数の増加を抑えることが考えられ
る。すなわち、受信バッファに転送すべきデータの蓄積
を検出した時点で、受信ディスクリプタのキュー情報を
読込んでデータ転送を行い、受信バッファにデータがな
く、送信バッファに空きを検出した時点で送信ディスク
リプタのキュー情報を読込んでデータ転送を行うように
すれば、キュー情報のレジスタや論理ゲート数が共用で
きるので、転送制御部内に送受信ディスクリプタのキュ
ー情報のいずれか一方しか保持しないで済む。
【0006】しかし、このような考えの下で半二重通信
方式を採用すると、送信データと受信データの転送が競
合した場合に、一方の転送が済むまで他方の転送が待た
されることになり、全体的に転送効率が低下する。しか
も、受信データと送信データの転送が競合した場合に受
信データの転送を優先させると、送信データの転送まで
に時間がかかる。さらに、受信データの検出があった場
合に受信ディスクリプタの有効キュー情報が無くなり、
枯渇しているときには、データ転送制御部は、受信ディ
スクリプタに新たにキュー情報がエントリされるまでの
間、転送処理を中断しなければならなくなる。この発明
の目的は、このような従来技術の問題点を解決するもの
であって、送受信チャネルが増加しても回路構成が簡単
で、受信データと送信データの転送が競合した場合に効
率的なデータ転送ができる半二重通信方式におけるデー
タ転送方式を提供することにある。
【0007】
【課題を解決するための手段】このような目的を達成す
るためのこの発明のデータ転送方式の特徴は、半二重通
信方式におけるデータ転送方式において、受信バッファ
に受信データがあることの第1の検出信号に応じて受信
データの転送状態に設定し、送信データがあるときに送
信バッファが空になっていることの第2の検出信号に応
じて送信データの転送状態に設定する転送状態設定回路
と、第1および第2検出信号が競合したときには転送状
態設定回路の選択を現在のままとしてこの現在の状態が
受信データの転送状態にあるときには受信ディスクリプ
タにおける有効な第1のキュー情報が無くなったときに
転送状態設定回路による設定を送信データの転送状態に
切換え、現在の状態が前記送信データの転送状態にある
ときに送信ディスクリプタにおける有効な第2のキュー
情報が無くなったときに転送状態設定回路による設定を
受信データの転送状態に切換える制御回路とを備えるも
のである。
【0008】
【発明の実施の形態】このように、半二重通信方式のデ
ータ転送制御部のデータ転送方式において、第1および
第2検出信号(送信データと受信データの転送)が競合
したときには、データ転送制御部に送信ディスクリプタ
および受信ディスクリプタの有効キュー情報が無くなっ
たこと(枯渇)を検出し、キュー情報が枯渇した際に、
受信データ転送状態のときには、送信データ転送状態に
切換え、逆の場合には受信データ転送状態に切換えるこ
とにより、受信ディスクリプタあるいは送信ディスクリ
プタに新たにキュー情報がエントリされるまでの間のデ
ータ転送処理の中断を防止することができる。これによ
り効率よくデータ転送を行うものである。また、半二重
通信方式のデータ転送制御部において、このような処理
を行うことで、キュー情報のレジスタや論理ゲートが共
用できるので、転送制御部内に送受信ディスクリプタの
キュー情報のいずれか一方しか保持しないで済むので、
チャネル数を多くしてもキュー情報のレジスタや論理ゲ
ート数が低減でき、簡単な回路になる。
【0009】なお、受信ディスクリプタに新たに複数の
第1のキュー情報が記憶されるまでの期間が送信データ
の転送状態に切換えられて受信データの転送状態に戻る
までの期間よりも短い場合においては、第2のキュー情
報を1つだけ読出して送信データを転送した後に受信デ
ータの転送状態に切換えるようにすれば、1回分の送信
データの転送後にすぐに受信データの転送に入ることが
でき、受信データの転送の中断が短くて済む。このよう
な短時間の切換は、送信データ転送状態にあるときに、
第1および第2検出信号(送信データと受信データの転
送)が競合したときに有効になる。なぜなら、送信デー
タ転送状態において、第2のキュー情報を1つだけ読出
して送信データを転送した後に即座に受信データ転送状
態に切り換えることができるからである。これにより短
時間に受信データの転送に切換えることができる。その
結果、受信データの転送が待たされることなく、そのデ
ータ転送漏れが防止できる。
【0010】
【実施例】図1は、この発明のデータ転送方式を適用し
た一実施例のデータ転送制御部を中心とするブロック
図、図2は、この発明の他の実施例のデータ転送制御部
を中心とするブロック図、図3は、この発明のデータ転
送制御部を有する半二重通信方式の通信装置(端末装
置)の全体的なブロック図、そして図4は、データ転送
に用いる受信ディスクリプタおよび送信ディスクリプタ
の構造の説明図である。図3において、100は、半二
重通信方式の通信装置(端末装置)であって、102
は、その受信データを保持する受信バッファ、103
は、その送信データを保持する送信バッファ、そして1
01は、伝送路から受信したデータを受信バッファ10
2に取込み、送信バッファ103にある送信データを伝
送路に送信する送受信処理部(MAC部)である。
【0011】104は、通信装置100のメインメモ
リ、107は、受信バッファ102とメインメモリ10
4および送信バッファ103とメインメモリ104間の
データ転送を行うデータ転送制御部、105は、受信デ
ータ転送のキュー情報を記憶する受信ディスクリプタ、
106は、送信データ転送のキュー情報を記憶する送信
ディスクリプタ、109は、受信バッファ102に受信
データが蓄積されているときにそれを検出したことを示
す受信データ検出信号、110は、送信バッファに空き
があることを示す送信可信号(送信バッファ空き検出信
号)、そして、111は、通信装置100のプロセッサ
(CPU)である。受信処理部101を除いてこれらの
回路は、データ転送バス108を介して相互に接続され
ている。
【0012】データ転送制御部107は、受信データ転
送において、従来のようにデータ転送制御部で受信ディ
スクリプタ105のキー情報を保持して次の受信データ
に備えるのではなく、ここでは、受信データを受信バッ
ファ102に検出した場合に受信バッファ102からの
受信データ検出信号109に応じて受信ディスクリプタ
105からポインタ位置のキュー情報を読込み、かつ、
受信データと送信データの転送が競合した場合には、現
在選択されている転送モード(送信データ転送状態ある
いは受信データ転送状態のいずれか一方)が優先され
る。なお、初期状態においては、受信データ転送モード
に優先的に設定する。そして、競合した状態において、
受信ディスクリプタ105の有効キュー情報が無くなっ
たときには、現在の転送モードから他方の転送モードに
切換えるものである。その制御の詳細は後述する。な
お、受信データと送信データの転送の競合は、CPU1
11からデータ転送制御部107に送信要求があったと
きで、メインメモリ104に転送データが存在し、か
つ、データ転送制御部107が送信バッファ103から
の送信可信号110を受けているとき、すなわち、送信
バッファ103に空きを検出した場合であって、かつ、
このとき前記の受信データ検出信号109も同時に受け
ていることである。
【0013】まず、受信ディスクリプタ105と送信デ
ィスクリプタ106の構造について、図4を参照して説
明する。これらは、最後の記憶領域の次に最初の記憶領
域が続く、いわゆるリング状キューバッファであって、
図示するように、それぞれにキュー情報(ディスクリプ
タ情報)がアドレス順に順次記憶(記述)されている。
受信ディスクリプタ105には、キュー情報の読出し位
置を示す受信ディスクリプタポインタ302が、そして
送信ディスクリプタ106には、キュー情報の読出し位
置を示す送信ディスクリプタポインタ304がそれぞれ
設けられ、これらにより次にアクセスすべきキュー情報
の位置が指示されている。データ転送制御部107は、
これら受信ディスクリプタポインタ302,送信ディス
クリプタポインタ304を参照してそれぞれのディスク
リプタからキュー情報を読出し、キュー情報を内部のレ
ジスタ(後述)に取込む。各キュー情報の構成は、受信
ディスクリプタ105では、有効/無効フラグ401と
転送先のメモリアドレス402とからなり、受信ディス
クリプタ105では、有効/無効フラグ401と転送先
のメモリアドレス402と転送データの読出しバイト長
を示すレングスとからなる。なお、受信ディスクリプタ
105のキュー情報は、受信バッファのデータ長となる
ので、レングスは不要である。
【0014】データ転送制御部107の詳細を図1に示
す。データ転送制御部107は、受信データ転送チャネ
ル制御部201と、送信データ転送チャネル制御部20
2、モード設定レジスタ203、デコーダ206、キュ
ーレジスタ208、ディスクリプタリード部209、コ
ントローラ210、そしてチャネル選択回路211とか
らなる。受信データ転送チャネル制御部201は、デー
タ転送バス108を受信データ転送のための専用バスと
して使用し、キューレジスタ208に読込まれたキュー
情報に従って受信バッファ102に記憶された受信デー
タをバイト単位でメインメモリ104のキュー情報にお
けるメモリアドレス402の位置から書込む制御をす
る。送信データ転送チャネル制御部202は、データ転
送バス108を送信データ転送のための専用バスとして
使用し、キューレジスタ208に読込まれたキュー情報
に従ってそのメインメモリ109におけるメモリアドレ
ス402の位置から転送データをレングス分のバイト数
だけ順次読出して送信バッファ103に記憶していく。
記憶されたデータは、送受信処理部(MAC部)101
より伝送路へと送出される。
【0015】コントローラ210は、受信データ検出信
号109と送信可信号110とを受けて、受信データ検
出信号109を受けたときには、処理状態設定信号21
0aをLOWレベル(以下“L”)として受信データ転
送モード(R)に、送信要求があるときに送信可信号1
10を受けたときにはHIGHレベル(以下“H”)で
送信データ転送モード(T)にする。両者の検出信号が
競合して両者を同時に受けているときには、モード設定
レジスタ203の出力信号203aに従って転送モード
の処理状態設定信号(RorT)210aを発生する。
そのため、受信データと送信データの転送が競合したと
きには後述するようにフラグ401が無効(“0”)に
ならない限り、現在選択されているデータ転送モードが
維持される。また、コントローラ210は、後述する図
2の実施例に関連して送信データ転送モードにおいて受
信データ検出信号109を受けたときには、現在の送信
データ転送中における1個のキュー情報に従う1回の送
信データ転送終了後に即座に処理状態設定信号210a
を“L”にして受信データ転送モードに切換えて受信デ
ータの転送に切換えて受信データの転送を優先的に処理
する機能を有している(後述)。
【0016】モード設定レジスタ203は、いわゆるフ
リップフロップで構成され、受信データ転送モードを
“0”、送信データ転送優先を“1”で表す転送モード
をフラグを記憶する。なお、初期値は、コントローラ2
10により、“0”に設定される。これは、コントロー
ラ210が、まず、処理状態設定信号210aを“L”
にして、この信号をディスクリプタリード部209に加
えて、受信ディスクリプタ105側に設定する。そして
そのポインタ302が指示するキュー情報を読出し、キ
ューレジスタ206に記憶する。このことで有効キュー
情報(そのフラグ“1”)が読出されてデコーダ206
によりモード設定レジスタ203は“0”に設定され
る。また、送信データが存在しないとき(送信要求がな
いとき)には、送信可信号110が発生してもコントロ
ーラ210により、受信データ転送に対応する処理状態
設定信号(RorT)210a(“L”)が発生して受
信データ転送処理が優先される。コントローラ210
は、データ転送が送受信競合状態にあるときに、モード
設定レジスタ203の転送モードに従う。すなわち、受
信データ検出信号109と送信要求の下に送信可信号1
10とを受けているときには、モード設定レジスタ20
3の出力を受けてそれが“0”のときに、言い換えれ
ば、受信データ転送モードに設定されているときに、処
理状態設定信号210aを“L”にし、モード設定レジ
スタ203の出力が“1”のときに、言い換えれば、送
信データ転送モードに設定されているときに、処理状態
設定信号210aを“H”とする。
【0017】そこで、送受信競合状態にあるときに、後
述するように、コントローラ210は、モード設定レジ
スタ203の設定状態が変化したときには、切換えられ
たモードに応じて処理状態設定信号210aの状態を
“H”あるいは“L”にしてモード設定レジスタ203
の現在の状態に合わせた設定信号に切り換える。なお、
コントローラ210は、処理状態設定信号210aが
“H”のときには、言い換えれば、送信データ転送モー
ドに設定されているときには、ディスクリプタリード部
209を送信ディスクリプ105側に設定してそのポイ
ンタ304が指示するキュー情報を読出し、キューレジ
スタ206に記憶する。
【0018】デコーダ206は、キュー情報が“1”か
ら“0”になったときにモード設定レジスタ203の転
送モードを一方から他方に切り換える信号を発生する。
そのために一方の入力にキューレジスタ208からフラ
グの信号を受け、他方の入力に処理状態設定信号210
aを受ける。これら2つの入力信号の“1”あるいは
“H”と“0”あるいは“L”との組合わせ条件をデコ
ードして、モード設定レジスタ203を“1”にセット
するSET信号204あるいはモード設定レジスタ20
3を“0”にリセットするRESET信号205を発生
する。このことで、キュー情報が無効になったときにモ
ード設定レジスタ203を一方の転送モードから他方の
転送モードへと切換える。
【0019】具体的には、デコーダ206は、フラグ4
01が“1”のときに、すなわちキュー情報が有効のと
きには、処理状態設定信号(RorT)210aに従っ
て、それが“L”のとき(受信データ転送モードのと
き)にはモード設定レジスタ203を“0”にリセット
するRESET信号205を発生する。また、それが
“H”のとき(送信データ転送のとき)にはモード設定
レジスタ203を“1”にセットするSET信号205
を発生する。これにより、デコーダ206は、フラグ4
01が“1”のときには、処理状態設定信号210aが
示すモード信号に対応する転送モードにモード設定レジ
スタ203を設定する。あるいは、処理状態設定信号2
10aが示すモード信号と一致するようにモード設定レ
ジスタ203のモードを維持する。
【0020】一方、フラグ401が“1”から“0”の
変化したときには、この変化に応じて現在の処理状態設
定信号210aを参照してこれとは逆のモードに設定す
る信号を発生する。すなわち、処理状態設定信号210
aが“L”(受信データ転送モード)のときにはモード
設定レジスタ203を“1”(送信データ転送モード)
にセットするSET信号205を発生し、処理状態設定
信号210aが“H”(送信データ転送モード)のとき
には、モード設定レジスタ203を“0”(受信データ
転送モード)にリセットするRESET信号205を発
生する。これによりフラグ401が“1”(有効)から
“0”(無効)になったときには、モード設定レジスタ
203の状態を一方のモードから他方のモードへと切換
える。なお、フラグ401は、キューレジスタ208の
フラグ出力207として出力される。デコーダ206
は、フラグ401が前記とは逆に“0”から“1”へ切
換わったときには前記のようなモード切換は行われな
い。さらに、“0”から“0”あるいは“0”のままの
ときも同様に切換えのデコードは行われない。これらの
場合には、デコーダ206の出力には変化はなく、モー
ド設定レジスタ203の値は、現在の状態が維持された
ままとなる。
【0021】さて、無効フラグ“0”の発生により、モ
ード設定レジスタ203の転送モードが変更されたとき
には、コントローラ210は、転送データが送受競合状
態にあるときにモード設定レジスタ203の設定状態の
変化に応じて現在の処理状態設定信号210aの状態を
モード設定レジスタ203に合わせる。したがって、受
信データ転送モードから送信データ転送モードに切り換
えられたときには、処理状態設定信号210aを“L”
から“H”にし、送信データ転送モードから受信データ
転送モードに切り換えられたときには、“H”から
“L”にする。なお、転送データが送受競合状態にない
ときには、処理状態設定信号210aの変更は行われな
い。したがって、その状態は現在のまま維持される。そ
の結果、ディスクリプタリード部209の切換えはな
く、キュー情報が有効になる(フラグ401が“1”な
る)まで現在の状態が維持される。そして、有効なキュ
ー情報が読み出されたときには、現在の処理状態設定信
号210aが示すモードに従ってデコーダ206は、処
理状態設定信号210aの状態に合わせてモード設定レ
ジスタ203を再設定し、切換え前の状態に戻す。これ
により転送データが送受競合状態にないときには現在の
状態が維持されることになる。
【0022】チャネル選択回路211は、ORゲート2
12とANDゲート215とからなり、ORゲート21
2は、受信バッファ102からの受信データ検出信号1
09の否定信号とモード設定レジスタ203のモード出
力203aとを受けてこれらの論理和出力の否定出力に
より受信データ転送チャネル制御部201の駆動出力を
発生する。受信データ転送チャネル制御部201は、
“0”有意の負論理入力によりエネーブル(起動)され
るので、ORゲート212の2入力側が“0”,“0”
のときに、エネーブルになる。そこで、モード設定レジ
スタ203の値が“0”(受信データ転送モード)のと
きでかつ受信データ検出信号109が発生しているとき
には受信データ転送チャネル制御部201が動作してキ
ューレジスタ206のキュー情報に従った受信データの
転送が行われる。
【0023】ANDゲート215は、ORゲート212
の出力と送信バッファ103からの送信可信号110の
出力との論理積条件で送信データ転送チャネル制御部2
02の駆動出力を発生する。送信データ転送チャネル制
御部202は、“1”有意の正論理入力によりエネーブ
ル(起動)されるので、ANDゲート215の2入力側
が“1”,“1”のときに、エネーブルになる。そこ
で、モード設定レジスタ203の値が“1”(送信デー
タ転送モード)のときでかつ送信可信号110が発生し
ているときに送信データ転送チャネル制御部202が動
作してキューレジスタ206のキュー情報に従った送信
データの転送が行われる。
【0024】このようなことから、モード設定レジスタ
203の値によりいずれか一方のデータ転送チャネルが
選択される。すなわち、モード設定レジスタ203が
“0”のときには、受信データ転送チャネル制御部20
1が、それが“1”のときには、送信データ転送チャネ
ル制御部202が動作する。そして、いずれに選択する
かは、モード設定レジスタ203を“0”か、“1”か
に設定することによる。これは、転送データが送受競合
状態にない限りは、処理状態設定信号210aの信号に
応じて決定される。言い換えれば、受信データ検出信号
109あるいは送信可信号110をコントローラ210
が受けることに応じて決定される。一方、転送データが
送受競合状態のときには、フラグ401が“1”から
“0”になったとき(無効になったとき)に、転送モー
ドが一方から他方へと切換えられるので、転送状態が変
化する。
【0025】ここで、全体的なモード設定動作について
説明すると、送信可信号110のみが発生したとき、あ
るいは受信データ検出信号109のみが発生していて両
者が競合しないときには、受けたそれぞれの信号に応じ
てコントローラ210が受けた信号に対応する処理状態
設定信号210aを発生する。先に説明したように、フ
ラグ401が“1”のとき、あるいは“0”から“1”
へ切り替わったときにはモード変更は行われないので、
モード設定レジスタ203の値は、処理状態設定信号2
10aの値に従うことになる。したがって、送信可信号
110と受信データ検出信号109との競合がない限り
は、モード設定レジスタ203の値はそれぞれの検出信
号に応じた処理モードに設定され、メインメモリ104
と受信バッファ102あるいは送信バッファ103との
間でデータ転送が行われる。
【0026】送信要求有りにおける送信可信号110と
受信データ検出信号109とが競合している場合には、
まずは、現在モードレジスタ203により設定されてい
るデータの転送モードが維持され、有効なキュー情報に
従ってそのモードでデータ転送が行われる。そして、キ
ュー情報が無効になった時点でモード切換えが行われ
る。この送信要求有りにおける送信可信号110と受信
データ検出信号109とが競合している場合について詳
しく説明する。まず、受信データ転送モードになってい
る状態から説明すると、受信データ転送モードにおい
て、キュー情報に従って受信データの転送が行われ、受
信データ転送モードでキュー情報が無くなると、キュー
情報のフラグ401が“0”(無効)になる。このと
き、コントローラ210の処理状態設定信号210aの
出力“L”との関係においてデコーダ206によりモー
ド設定レジスタ203がセットされてその値が“1”に
設定されて送信データの転送が選択される。そして、有
効キュー情報が設定されて、フラグ“1”が読出された
後に、処理状態設定信号210aの出力が“H”にな
る。また、チャネル選択回路211は、送信データ転送
チャネル制御部202を起動し、送信データ転送モード
になる。
【0027】この送信データ転送モードは、キュー情報
のフラグ401が“0”(無効)になるときまで続行さ
れる。そして、フラグ401が“0”になったときに、
コントローラ210の処理状態設定信号210aの出力
“H”との関係においてデコーダ206によりモード設
定レジスタ203がリセットされたその値が今度は
“0”に設定されて受信データの転送が選択される。そ
して、有効キュー情報が設定されて、フラグ“1”が読
出された後に、処理状態設定信号210aの出力が
“L”になり、チャネル選択回路211は、受信データ
転送チャネル制御部202を起動し、受信データ転送モ
ードになる。なお、前記の例の場合に、最初は、送信可
信号110が発生して送信データ転送モードからスター
トして受信データ転送モードに切り換えられてもよい。
このようなことから、受信データ転送モードのときに、
たとえ、送信可信号110が発生したとしてもそれが受
け入れられず、送信データ転送モードにはならない。同
様に、送信データ転送モードのときに、たとえ、受信デ
ータ検出信号109が発生したとしてもそれが受け入れ
られず、受信データ転送モードにはならない。モード切
替は、各ディスクリプタにおけるキュー情報が無効にな
ってから行われる。
【0028】ここで、送受信の全体的な動作について図
3に従って説明すると、まず、受信動作では、送受信処
理部(MAC部)101は、伝送路からデータを受信す
ると受信バッファ102に受信データを蓄積し、データ
転送制御部107は、受信データ検出信号109によっ
て受信バッファ102に受信データがあることを検出す
る。そこで、受信ディスクリプタ105のキュー情報を
データ転送バス108を介して読込み、受信バッファ1
02からデータ転送制御部107に読込んだ受信ディス
クリプタ105のキュー情報の示すメインメモリ104
へデータ転送バス108を介して受信データを転送す
る。
【0029】また、送信動作においては、データ転送制
御部107は、送信可信号110によって送信バッファ
103の空きを検出すると、送信ディスクリプタ106
のキュー情報をデータ転送バス108を介して読込み、
そのキュー情報の示すメインメモリ104のメモリアド
レス401から送信データを送信バッファにデータ転送
バス108を介して転送する。送信バッファ103に転
送されたデータは送受信部101によって伝送路に送信
される。そして、一つ前に転送完了した送信データが送
受信部101から伝送路に送信されたことにより、送信
バッファ103に空きが生じると、送信可信号110に
よってデータ転送制御部107に送信バッファ空きの通
知が発生する。これにより、データ転送制御部107
は、次のキュー情報を送信ディスクリプタ106から読
込んで、次の送信データを転送する。
【0030】図2は、送信データの転送モードに切替わ
ってから、キュー情報1個分の送信データを転送した後
に受信データ転送モードに戻る実施例である。この実施
例では、転送チャネル制御部202に送信データ処理カ
ウンタ217と比較器218とを設けられている。そし
て、キューレジスタ206は、レジスタに取り込んだ送
信ディスクリプタ106のキュー情報から送信データ転
送するためのデータのレングス403を送信データ転送
チャネル制御部202にレングス信号216により送出
する。
【0031】送信データ転送チャネル制御部202は、
それを比較器218に入力する。また、送信データ転送
チャネル制御部202は、送信データ転送チャネルが転
送した送信データのバイト数をカウントするために転送
ごとに送信データ処理カウンタ217をインクリメント
してカウントする。比較器218は、送信データ処理カ
ウンタ217の値とレングス信号216との比較を行な
い、送信データ処理カウンタ217の出力信号とレング
ス信号216とが一致したとき一致検出の出力信号21
9を発生してコントローラ210に送出する。このとき
には、これにより送信データの転送が終了するので、送
信バッファ103からは送信可信号110が発生する。
コントローラ210は、この出力信号219を受けてい
るときに、競合状態のときには、送信可信号110のほ
かに受信データ検出信号109を受ける。このような送
信データと受信データの転送とが競合状態にあるときに
は、受信データ検出信号109を優先的に受付て処理状
態設定信号210aを“L”にする。このときのフラグ
情報は“1”であるので、これによりモード設定レジス
タ203の値を“0”に戻して、受信データ転送モード
に切換える。
【0032】その結果、この実施例では、転送データが
送受競合状態のときに、キュー情報1個転送した後に受
信データ転送モードに戻ることができる。なお、この実
施例では、受信ディスクリプタ105と送信ディスクリ
プタ106とのキュー情報がすべて無効になったときに
は、コントローラ210は、CPU111に割込みを掛
けて、CPU111に新しいキュー情報のロード(エン
トリ)をさせる。そこで、ここでは、受信ディスクリプ
タ105に新たにCPU111から受信データについて
のキュー情報がロードされる(記憶される)までの期間
(エントリー期間)が送信データの転送状態に切換えら
れて受信データの転送状態に戻るまでの期間よりも短い
ものとする。このような場合においては、送信データの
キュー情報を1つだけ読出して送信データを転送した後
に受信データの転送状態に切換えることができる。これ
により、1回分の送信データの転送後にすぐに受信デー
タの転送に入ることができ、受信データの転送の中断が
短くて済む。
【0033】ところで、このような短時間の切換は、送
信データ転送モードにあるときに、受信データ検出信号
109と送信データ可信号110とをコントローラ21
0が受けて、送信データと受信データの転送が競合した
ときに、特に有効になる。なぜなら、送信データ可信号
110に応じてキュー情報を1つだけ読出して送信デー
タを転送した後に即座に受信データ転送状態に切り換え
ることができるからである。これにより受信データの転
送を早期に行うことができ、そのデータ転送漏れが防止
できる。これについて説明すると、図2に示す実施例の
状態において、コントローラ210は、処理状態設定信
号210aを“H”にして送信データ転送モードにある
とする。この状態において送信データ転送中に受信デー
タ検出信号109を受けたとする。このきには、そのと
き送信データ転送中の1個のキュー情報に従って送信デ
ータの1回の転送終了後に送信データ可信号110が発
生して競合状態になる。しかし、このときには、受信デ
ータ検出信号109を優先的に受けて処理状態設定信号
210aを“L”にする。これにより受信データ転送モ
ードに切換えて受信データの転送を優先して処理する。
なお、このときのキュー情報フラグ401は“1”のま
まの状態になるので、処理状態設定信号210aの
“H”、“L”に応じて転送モードを切換えることがで
きる。
【0034】この実施例によれば、イーサネット(いわ
ゆるバス状LAN)のような半二重で動作する通信装置
において、通常の状態においては、まず、受信データ転
送優先からスタートして動作し、受信ディスクリプタが
枯渇した場合には一時的に送信データ転送優先に切り替
えることができ、正常なデータ転送を行える。ところ
で、第2の実施例では、送受競合状態で受信データ検出
信号109と送信データ可信号110とを受けたときに
は、優先的に受信データ検出信号109を受付けて受信
データの転送処理を優先するようにしている。しかし、
送信データ可信号110が発生しているときには送信デ
ータの1回のデータが終了して送信バッファ103が空
のときであるので、この時点で転送モードの切換が可能
である。したがって、前記のような優先的な処理をコン
トローラ210に持たせることなく、チャネル選択回路
211に受信データ優先の機能を持たせてモード切換え
を行うことができる。これは、例えば、受信データ検出
信号109で送信データ可信号110の入力を禁止し、
受信データ検出信号109と送信データ可信号110の
論理積条件で処理状態設定信号210aを“L”にし、
かつ、受信データ転送チャネルを起動するようにすれば
よい。
【0035】
【発明の効果】以上説明したように、この発明において
は、半二重通信方式のデータ転送制御部のデータ転送方
式において、第1および第2検出信号(送信データと受
信データの転送)が競合したときには、データ転送制御
部に送信ディスクリプタおよび受信ディスクリプタの有
効キュー情報が無くなったこと(枯渇)を検出し、キュ
ー情報が枯渇した際に、受信データ転送状態のときに
は、送信データ転送状態に切換え、逆の場合には受信デ
ータ転送状態に切換えることにより、受信ディスクリプ
タあるいは送信ディスクリプタに新たにキュー情報がエ
ントリされるまでの間のデータ転送処理の中断を防止す
ることができる。これにより効率よくデータ転送を行う
ものである。また、半二重通信方式のデータ転送制御部
において、このような処理を行うことで、キュー情報の
レジスタや論理ゲートが共用できるので、転送制御部内
に送受信ディスクリプタのキュー情報のいずれか一方し
か保持しないで済むので、チャネル数を多くしてもキュ
ー情報のレジスタや論理ゲート数が低減でき、簡単な回
路になる。
【図面の簡単な説明】
【図1】図1は、この発明のデータ転送方式を適用した
一実施例のデータ転送制御部を中心とするブロック図で
ある。
【図2】図2は、この発明の他の実施例のデータ転送制
御部を中心とするブロック図である。
【図3】図3は、この発明のデータ転送制御部を有する
半二重通信方式の通信装置(端末装置)の全体的なブロ
ック図である。
【図4】図4は、データ転送に用いる受信ディスクリプ
タおよび送信ディスクリプタの構造の説明図である。
【符号の説明】
100…通信装置(端末装置)、102…受信バッフ
ァ、103…送信バッファ、104…メインメモリ、1
05…受信ディスクリプタ、106…送信ディスクリプ
タ、107…データ転送制御部、111…CPU、20
1…受信データ転送チャネル制御部、202…送信デー
タ転送チャネル制御部、203…モード設定レジスタ、
206…デコーダ、208…キュータレジスタ、209
…ディスクリプタリード部、210…コントローラ、2
11…チャネル選択回路。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】受信ディスクリプタに記憶された複数の第
    1のキュー情報を1つづつ順次読出して読出した前記第
    1のキュー情報に従って受信バッファに記憶された受信
    データをメモリに転送する受信データ転送状態と送信デ
    ィスクリプタに記憶された複数の第2のキュー情報を1
    つづつ順次読出して読出した前記第2のキュー情報に従
    って前記メモリに記憶された送信データを送信バッファ
    に転送する送信データ転送状態とを有し、前記受信デー
    タ転送状態において前記受信ディスクリプタにおける有
    効な前記第1のキュー情報が無くなったときに新たに複
    数の有効な前記第1のキュー情報が前記受信ディスクリ
    プタにロードされ、送信データ転送状態において前記送
    信ディスクリプタにおける有効な前記第2のキュー情報
    が無くなったときに新たに複数の有効な前記第2のキュ
    ー情報が前記送信ディスクリプタにロードされる半二重
    通信方式におけるデータ転送方式において、 前記受信バッファに受信データがあることの第1の検出
    信号に応じて前記受信データの転送状態に設定し、前記
    送信データがあるときに前記送信バッファが空になって
    いることの第2の検出信号に応じて前記送信データの転
    送状態に設定する転送状態設定回路と、前記第1および
    第2検出信号が競合したときには前記転送状態設定回路
    の選択を現在のままとしてこの現在の状態が前記受信デ
    ータの転送状態にあるときには前記受信ディスクリプタ
    における前記有効な第1のキュー情報が無くなったとき
    に前記転送状態設定回路による設定を前記送信データの
    転送状態に切換え、前記現在の状態が前記送信データの
    転送状態にあるときに前記送信ディスクリプタにおける
    前記有効な第2のキュー情報が無くなったときに前記転
    送状態設定回路による設定を前記受信データの転送状態
    に切換える制御回路とを備えるデータ転送方式。
  2. 【請求項2】さらに、データ転送バスを受信データ転送
    状態にして前記受信データを転送する受信データ転送チ
    ャネル制御部と、前記データ転送バスを送信データ転送
    状態にして前記送信データを転送する送信データ転送チ
    ャネル制御部とを有し、前記転送状態設定回路は、前記
    受信データ転送チャネル制御部を起動することで前記受
    信データの転送状態に設定し、前記送信データ転送チャ
    ネル制御部を起動することで前記送信データの転送状態
    に設定するものであり、前記メモリはメインメモリであ
    り、前記制御回路は、前記転送状態設定回路を前記受信
    データ転送状態から前記送信データ転送状態に切換えた
    ときに、切換えた前記送信データの転送状態において前
    記有効な第2のキュー情報を1つ読出して前記送信デー
    タを転送した後に前記転送状態設定回路による設定を前
    記受信データの転送状態に戻す請求項1記載のデータ転
    送方式。
  3. 【請求項3】さらに、データ転送バスを受信データ転送
    状態にして前記受信データを転送する受信データ転送チ
    ャネル制御部と、前記データ転送バスを送信データ転送
    状態にして前記送信データを転送する送信データ転送チ
    ャネル制御部とを有し、前記転送状態設定回路は、前記
    受信データ転送チャネル制御部を起動することで前記受
    信データの転送状態に設定し、前記送信データ転送チャ
    ネル制御部を起動することで前記送信データの転送状態
    に設定するものであり、前記メモリはメインメモリであ
    り、前記制御回路あるいは前記転送状態設定回路は、前
    記送信データの転送状態にあるときに前記競合している
    ときには前記第1の検出信号に応じて前記受信データ転
    送チャネル制御部を起動する請求項1記載のデータ転送
    方式。
  4. 【請求項4】前記受信ディスクリプタに前記新たに複数
    の前記有効な第1のキュー情報がロードされるまでの期
    間が前記切換えられた送信データの転送状態における前
    記有効な第2のキュー情報を1つ読出して前記送信デー
    タを転送した後に前記受信データの転送状態に戻すまで
    の時間より短い請求項2記載のデータ転送方式。
JP9033387A 1997-01-31 1997-01-31 データ転送方式 Pending JPH10224410A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9033387A JPH10224410A (ja) 1997-01-31 1997-01-31 データ転送方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9033387A JPH10224410A (ja) 1997-01-31 1997-01-31 データ転送方式

Publications (1)

Publication Number Publication Date
JPH10224410A true JPH10224410A (ja) 1998-08-21

Family

ID=12385192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9033387A Pending JPH10224410A (ja) 1997-01-31 1997-01-31 データ転送方式

Country Status (1)

Country Link
JP (1) JPH10224410A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506932A (ja) * 2002-11-13 2006-02-23 アギア システムズ インコーポレーテッド ワイヤレス通信システムにおける優先キューおよびエスカレーションの管理
US7370123B2 (en) 2004-10-12 2008-05-06 Nec Electronics Corporation Information processing apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506932A (ja) * 2002-11-13 2006-02-23 アギア システムズ インコーポレーテッド ワイヤレス通信システムにおける優先キューおよびエスカレーションの管理
JP4719001B2 (ja) * 2002-11-13 2011-07-06 アギア システムズ インコーポレーテッド ワイヤレス通信システムにおける優先キューおよびエスカレーションの管理
US7370123B2 (en) 2004-10-12 2008-05-06 Nec Electronics Corporation Information processing apparatus

Similar Documents

Publication Publication Date Title
EP0507571B1 (en) Receiving buffer control system
US6351780B1 (en) Network controller using held data frame monitor and decision logic for automatically engaging DMA data transfer when buffer overflow is anticipated
EP0166272B1 (en) Processor bus access
US20080209084A1 (en) Hardware-Based Concurrent Direct Memory Access (DMA) Engines On Serial Rapid Input/Output SRIO Interface
JPH0332094B2 (ja)
JP2001188748A (ja) データ転送装置
JPH06309230A (ja) バススヌ−プ方法
US6606701B1 (en) Micro-processor
JPH10224410A (ja) データ転送方式
US7185123B2 (en) Method and apparatus for allocating bandwidth on a transmit channel of a bus
JPH0736821A (ja) Dma転送制御装置
JPH03139751A (ja) 優先度判定機能を有する通信用dmaコントローラ
KR100531324B1 (ko) 메모리 인터페이스 장치 및 그 방법
JPH0816454A (ja) 共用メモリアクセス制御回路
KR100190184B1 (ko) 직렬버스를 통해 데이타를 송신하는 회로
KR100214302B1 (ko) 디. 에스.피용 디.엠.에이의 고속 데이타 처리방법
JP2856709B2 (ja) バス間結合システム
JP2001236238A (ja) 割込処理方法
JPH04369065A (ja) ダイレクトメモリアクセスコントローラ
JPH07146839A (ja) Dma回路
JPH0668019A (ja) Dma制御装置
JPH04178869A (ja) マルチプロセッサシステムの割込み制御装置とその割込み通信方法
KR19980044002A (ko) 절충식 pci 버스용 다중 인터럽트 제어 장치 및 방법
JPS6252342B2 (ja)
JPH09198256A (ja) イベント認識方式