JP3674207B2 - 半二重通信システムにおける周辺機器及びバッファ制御方法 - Google Patents

半二重通信システムにおける周辺機器及びバッファ制御方法 Download PDF

Info

Publication number
JP3674207B2
JP3674207B2 JP00752097A JP752097A JP3674207B2 JP 3674207 B2 JP3674207 B2 JP 3674207B2 JP 00752097 A JP00752097 A JP 00752097A JP 752097 A JP752097 A JP 752097A JP 3674207 B2 JP3674207 B2 JP 3674207B2
Authority
JP
Japan
Prior art keywords
buffer
data
transmission data
host
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
JP00752097A
Other languages
English (en)
Other versions
JPH10207813A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP00752097A priority Critical patent/JP3674207B2/ja
Publication of JPH10207813A publication Critical patent/JPH10207813A/ja
Application granted granted Critical
Publication of JP3674207B2 publication Critical patent/JP3674207B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、半二重通信システムにおけるホストコンピュータと周辺装置、例えばプリンタ装置における、バッファの制御に関する。
【0002】
【従来の技術】
ホストマシンと周辺機器間の通信システムとして半二重システムがあり、このシステムは、ホストマシンから周辺機器へ、またその反対方向へ、どちらの方向にも通信できるようになっているが、両方向同時には通信できないシステムである。
【0003】
そして、従来公知の周辺機器側バッファ制御方法としては、特開平3ー149615号公報に記載されているように、周辺機器側はホストマシンからの受信データを入力バッファ、CPUを経由し、データ処理部により処理されたデータを、キャッシュに格納している。そして、ホストマシンからの要求があれば、キャッシュ内の状態を出力バッファを経由してホストマシンに通知している。また、キャッシュ内の状態制御は、リセットによりホストマシンからの受信データの流れをスムーズにすることで効率化を得ている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来においては、前記データ処理部により処理してからデータをキャッシュに格納し、その後キャッシュ内の状態をホストに通知する方法なので、キャッシュ内の状態が確定するまで時間がかかると共に、ホストマシンからの命令によりリセットされるかもしれないデータに対しても前記データ処理部はデータ処理しキャッシュに格納してしまうという問題があった。更に、入力バッファと出力バッファとを分けて構成しているので回路構成が大きくなりコストアップになるという問題点もあった。
【0005】
【課題を解決するための手段】
本発明の周辺機器は、ホストマシンと周辺機器間の半二重通信システムに使用され、送信データと受信データとを格納するバッファを有する、半二重通信システムにおける周辺機器において、前記ホストからの受信データを前記バッファに格納後に前記ホストに対しデータを送信する際に、前記バッファの余裕量と前記送信データ量とを比較して、該送信データをバッファ内に格納できる余裕が前記バッファ内にあるか否かを判断するバッファ比較部を備え、前記バッファ内に前記送信データを格納する余裕がない場合には、前記送信データをバッファ内に格納するために不足するデータ量に相当する量を、前記バッファ内に格納されている前記受信データから部分的にリセットして送信データ領域を確保し、その後、前記送信データを前記バッファ内に書き込むと共に、前記バッファ内に書き込まれた送信データを前記ホストに送信することを特徴とするものである。
【0006】
ここで、前記バッファ内に書き込まれた送信データを前記ホストに送信する際に、前記部分的にリセットされたデータ量を前記ホストに通知してもよい。
【0007】
また、本発明のバッファ制御方法は、ホストマシンと周辺機器間の半二重通信システムに使用され、送信データと受信データとを格納するバッファを有する、半二重通信システムにおけるバッファ制御方法において、前記ホストからの受信データを前記バッファに格納後に前記ホストに対しデータを送信する際に、前記バッファの余裕量と前記送信データ量とを比較して、該送信データをバッファ内に格納できる余裕が前記バッファ内にあるか否かを判断し、前記バッファ内に前記送信データを格納する余裕がない場合には、前記送信データをバッファ内に格納するために不足するデータ量に相当する量を、前記バッファ内に格納されている前記受信データから部分的にリセットして送信データ領域を確保し、その後、前記送信データを前記バッファ内に書き込むと共に、前記バッファ内に書き込まれた送信データを前記ホストに送信することを特徴とするものである。
【0008】
ここで、前記バッファ内に書き込まれた送信データを前記ホストに送信する際に、前記部分的にリセットされたデータ量を前記ホストに通知してもよい。
【0009】
【作用】
本発明では、インターフェース内に入出力兼用バッファを設けたことで回路規模を小さくでき、更に前記バッファの管理を周辺機器側のみでなく半二重通信を用いてホストマシンからの命令で行えるのでホストマシン側で周辺機器側バッファ内のデータ格納状態を速やかに把握できると共に、ホストマシンからの命令により周辺機器側のバッファ格納データの割り付けを任意に行えるので、自由度が高く、かつ効率の良いバッファ使用が得られる。
【0010】
【発明の実施の形態】
以下、本発明の実施の形態を説明する。
図面に基づいて本発明の実施例について説明する。図1は、本発明の半二重通信システムに使用される周辺機器を、プリンタ装置に適用した一実施例を示すブロック構成図である。
【0011】
図1において、半二重通信システムは、ホストマシン1と、プリンタ装置2と、ホストマシン1とプリンタ装置2とを接続する双方向データバス3とからなり、プリンタ装置2は、ホストマシン1と半二重データ通信を行う為の、例えばIEEE1284といったインターフェース21と、CPU22と、ROM23と、RAM24と、内部バス25等からなる。インターフェース21は、入力と出力を兼用する先入れ先出し(FIFO)バッファ211と、ホストマシン1とプリンタ装置2間の情報をバッファ211に読み書き手段及びバッファ211内データの保持又は部分リセットする手段を有するバッファコントローラ212と、バッファ211内のデータ格納状態を常に監視するバッファ監視部213と、バッファ211に格納されている現在のデータ量とプリンタ装置2からホストマシン1に送信するデータ量を比較するバッファ比較部214とを備えている。
【0012】
バッファ監視部の状態をホストマシンへ通知する通知手段は、バッファコントローラ212が行う。
送信データと受信データとを共通に格納するバッファを使用することにより、それぞれにバッファを設けることに比べて、回路規模を小さくできる。
【0013】
次に、バッファ比較部におけるバッファ容量、格納データ量及び送信データ量の比較方法について、説明する。
図2は、本実施例におけるデータ処理の流れを示すフローチャートの説明図である。
【0014】
まず、ホストマシン1より送られてきたデータをバッファ211に格納する(ステップS1)。
ここで、ホスト1よりプリンタ装置情報の送信要求が有るかどうかを判断する(S2)。
【0015】
送信要求がない場合は他の処理を実施し、送信要求が有る場合は、バッファ監視部213により監視されたバッファ内の格納データ量をバッファ比較部214により演算し(S3)、(バッファ容量−格納データ量)と(送信データ量)の大小により、バッファ内に空きが有るかを判断する(S4)。
【0016】
その結果バッファ211の空き領域に余裕がある場合、即ち、(バッファ容量−格納データ量)>(送信データ量)となる場合は、バッファ211内に受信データを保持し(S5)、前記空き領域の一部を送信領域に一時確保し、送信データとバッファ比較部7の演算結果(空き領域情報)を書き込む(S6)。
【0017】
ホストマシン1による送信データについての処理完了後(S7)、ホストマシン1はステップS1の残データもしくは、新しいデータをプリンタ装置2側に送信する。
【0018】
ステップS4でバッファ211の空き領域に余裕がない場合、即ち、(バッファ容量−格納データ量)<(送信データ量)となる場合は、バッファコントローラ212により送信データ領域を確保するために、バッファ211内の不足分の受信データ量に相当する量(格納データ量+送信データ量−バッファ容量)だけ、最終格納側より部分リセットする。(S8)。
【0019】
部分リセットにより生じた空き領域を送信領域に一時確保し送信データとバッファ比較部7の演算結果(部分リセット情報)を書き込む(S6)。
【0020】
ホストマシン1による送信データについての処理完了後(S7)、ホストマシン1はまず部分リセットされたデータを送信し、その後ステップS1の残データもしくは、新しいデータをプリンタ装置2側に送信する。
【0021】
図3及び図4は本実施例におけるバッファ211のポインタの移動についての詳細図である。
【0022】
図3(a)〜(c)は、バッファ比較部の比較結果が(バッファ容量−格納データ量)>(送信データ量)のとき、即ち、バッファ比較部214により演算しバッファ211の空き領域に余裕がある場合についての一例である。
【0023】
ホストマシン1からの受信データがバッファ211のRD0point(アドレス12)からRD1point(アドレス2)まで順に格納されている(図3(a)参照)。RD0pointは、受信領域として使用している領域の最初のアドレスを示しており、このアドレスから読み出されていく。RD1pointは、受信領域として使用されている領域の最後のアドレスを示しており、この次のアドレス(アドレス3)WRpointからが空き領域となる。WRpointから新しいデータが書き込まれていく。
【0024】
ホストマシン1よりプリンタ装置情報の送信要求があり、バッファ比較部214により演算し、バッファ211の空き領域に余裕があるので、即ち、バッファ211の空き領域が9アドレス分有り、そして送信データ量が4アドレス分であり、バッファ211の空き領域に5アドレス分余裕があるので、WRpoint(アドレス3)から4アドレス分、即ちアドレス6までが送信領域として一時確保し、送信データとバッファ比較部214の演算結果(空き領域情報)とを書き込む。そのとき、受信用RD0pointはアドレス12、受信用RD1pointはアドレス2のままであり、送信用RD0pointはアドレス3、送信用RD1pointはアドレス6となり、WRpointはアドレス7となる(図3(b)参照)。そして、ホストマシン1に送信する際には、送信用RD0pointであるアドレス3から順に読み出され、4アドレス分の送信データとして送信される。ホストマシン1の処理能力は非常に大きいので、送信されると送信領域は空になり、WRpointはアドレス3に戻る(図3(c)参照)。ホストマシン1により送信データの処理終了後ホストマシン1からの残データもしくは、新しいデータをWRpoint(アドレス3)より継続格納する。
【0025】
図4(a)〜(d)は、(バッファ容量−格納データ量)<(送信データ量)のとき、即ち、バッファ比較部214により演算しバッファ211の空き領域が不足した場合の、バッファの一例である。
【0026】
図4(a)において、ホストマシン1からの受信データがバッファ211のRD0point(アドレス13)からRD1point(アドレス8)に格納されていて、アドレス9(WRpoint)からアドレス12までの4アドレス分が空き領域である。そのときに、ホストマシン1よりプリンタ装置情報の送信要求があり、送信領域が9アドレス分必要な場合、バッファ比較部214により演算しバッファ211の不足する領域は5アドレス分になる。
【0027】
バッファコントローラ212により送信データ領域を確保するために不足分(格納データ量+送信データ量−バッファ容量)(5アドレス分)の受信データの格納領域を更に確保する必要が有り、最終格納側つまりRD1point(アドレス8)よりこの例では5アドレス分だけ、即ちRD2point(アドレス3)の次のアドレス(アドレス4)まで部分リセットを行って必要な空き領域を設ける。このRD2pointとは、部分リセットにより、新しいRD1pointとなるアドレスである。
【0028】
それにより、バッファ内は、図4(b)に示すようになる。RD2point(アドレス3)は受信用RD1pointに、その次のアドレス(アドレス4)はWRpointにそれぞれなって9アドレス分を空き領域として送信領域用に一時確保し、送信データとバッファ比較部214の演算結果(部分リセット情報)とを書き込む。そのときのバッファを図4(c)に示す。受信用RD0pointはアドレス13、受信用RD1pointはアドレス3のままであり、送信用RD0pointはアドレス4、送信用RD1pointはアドレス12となる。9アドレス分の送信データをホストマシン1に送信する。その際、受信データの一部がリセットされていることを、その部分リセットされたデータ量、この例では5アドレス分、とともにホストマシン1に送信する。なお、ホストマシン1に送信する際には、送信用RD0pointのアドレス(アドレス4)から順に読み出され、送信データとして送信される。ホストマシン1の処理能力は非常に大きいので、送信されると送信領域は空になり、受信用RD1pointはアドレス3のままであり、WRpointはアドレス4になる。そのときのバッファを図4(d)に示す。最初の状態を示す図4(a)と比較すると、受信用RD0pointはアドレス13のままであるが、受信用RD1pointは、アドレス8からアドレス3に変わっており、アドレス4からアドレス8までの5アドレス分のデータが部分リセットされているのがわかる。
【0029】
ホストマシン1は、送信データについての処理完了後、まず前記5アドレス分の部分リセットされたデータを再送信し、その次に、残データもしくは、新しいデータを送信し、バッファ211は、移動後の新RD1point(アドレス3)の次のWRpoint(アドレス4)より継続格納する。
【0030】
このように、バッファの管理を周辺機器側のみでなく半二重通信を用いてホストマシンからの命令で行えるので、ホストマシン側で周辺機器側バッファ内の格納データ量等のデータ格納状態を速やかに把握できると共に、ホストマシンからの命令により周辺機器側のバッファ格納データの部分リセット等の割り付けを任意に行え、そしてデータを再送信することができるので、自由度が高く、かつ効率の良いバッファ使用が得られる。
【0031】
なお、空き領域を確保するために部分リセットする量は、最低限(格納データ量+送信データ量−バッファ容量)分だけ必要であり、その量よりも多くすることも可能である。
【0032】
【発明の効果】
以上述べたように、この発明によれば、インターフェース内に入出力兼用バッファを設けたことで回路規模を小さくできる。
また、バッファ内の格納状態をホストマシンに通知することができると共に、前記状態によりバッファ内のデータを保持又は必要最小限の部分リセットをして空き領域を有効に活用することで自由度の高いバッファ制御が可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す構成図。
【図2】本発明の一実施例のフローチャート説明図。
【図3】本発明の一実施例の先入れ先出しバッファの詳細説明図。
【図4】本発明の一実施例の先入れ先出しバッファの詳細説明図。
【符号の説明】
1 ホストマシン、 2 プリンタ装置、 21 インターフェース、
211 先入れ先出しバッファ、 212 バッファコントローラ、
213 バッファ監視部、 214 バッファ比較部、 22 CPU、
23 ROM、 24 RAM、 25 内部バス、 3 双方向データバス。

Claims (4)

  1. ホストマシンと周辺機器間の半二重通信システムに使用され、送信データと受信データとを格納するバッファを有する、半二重通信システムにおける周辺機器において、
    前記ホストからの受信データを前記バッファに格納後に前記ホストに対しデータを送信する際に、前記バッファの余裕量と前記送信データ量とを比較して、該送信データをバッファ内に格納できる余裕が前記バッファ内にあるか否かを判断するバッファ比較部を備え、前記バッファ内に前記送信データを格納する余裕がない場合には、前記送信データをバッファ内に格納するために不足するデータ量に相当する量を、前記バッファ内に格納されている前記受信データから部分的にリセットして送信データ領域を確保し、その後、前記送信データを前記バッファ内に書き込むと共に、前記バッファ内に書き込まれた送信データを前記ホストに送信することを特徴とする周辺機器。
  2. 前記バッファ内に書き込まれた送信データを前記ホストに送信する際に、前記部分的にリセットされたデータ量を前記ホストに通知することを特徴とする請求項1に記載の周辺機器。
  3. ホストマシンと周辺機器間の半二重通信システムに使用され、送信データと受信データとを格納するバッファを有する、半二重通信システムにおけるバッファ制御方法において、
    前記ホストからの受信データを前記バッファに格納後に前記ホストに対しデータを送信する際に、前記バッファの余裕量と前記送信データ量とを比較して、該送信データをバッファ内に格納できる余裕が前記バッファ内にあるか否かを判断し、前記バッファ内に前記送信データを格納する余裕がない場合には、前記送信データをバッファ内に格納するために不足するデータ量に相当する量を、前記バッファ内に格納されている前記受信データから部分的にリセットして送信データ領域を確保し、その後、前記送信データを前記バッファ内に書き込むと共に、前記バッファ内に書き込まれた送信データを前記ホストに送信することを特徴とするバッファ制御方法。
  4. 前記バッファ内に書き込まれた送信データを前記ホストに送信する際に、前記部分的にリセットされたデータ量を前記ホストに通知することを特徴とする請求項3に記載のバッファ制御方法。
JP00752097A 1997-01-20 1997-01-20 半二重通信システムにおける周辺機器及びバッファ制御方法 Expired - Fee Related JP3674207B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00752097A JP3674207B2 (ja) 1997-01-20 1997-01-20 半二重通信システムにおける周辺機器及びバッファ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00752097A JP3674207B2 (ja) 1997-01-20 1997-01-20 半二重通信システムにおける周辺機器及びバッファ制御方法

Publications (2)

Publication Number Publication Date
JPH10207813A JPH10207813A (ja) 1998-08-07
JP3674207B2 true JP3674207B2 (ja) 2005-07-20

Family

ID=11668061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00752097A Expired - Fee Related JP3674207B2 (ja) 1997-01-20 1997-01-20 半二重通信システムにおける周辺機器及びバッファ制御方法

Country Status (1)

Country Link
JP (1) JP3674207B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3801088B2 (ja) 2002-04-19 2006-07-26 株式会社デンソー 車両用通信装置
JP4804425B2 (ja) * 2007-06-29 2011-11-02 三菱電機株式会社 通信制御装置

Also Published As

Publication number Publication date
JPH10207813A (ja) 1998-08-07

Similar Documents

Publication Publication Date Title
US7457892B2 (en) Data communication flow control device and methods thereof
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
CN100349150C (zh) 通过直接存储器访问控制器传输数据的系统及方法
JP6901427B2 (ja) ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法
EP1526462A3 (en) Storage device and system providing a reservation function for a communications buffer
JP2004157966A (ja) エンドポイント・メモリ制御方法、エンドポイント・メモリ制御装置、usb装置および記憶媒体
JP4100256B2 (ja) 通信方法および情報処理装置
JPS63276627A (ja) 印刷制御装置
US9015380B2 (en) Exchanging message data in a distributed computer system
CN113590512A (zh) 可直连外设设备的自启动dma装置及应用
JP5158576B2 (ja) 入出力制御システム、入出力制御方法、及び、入出力制御プログラム
JP3674207B2 (ja) 半二重通信システムにおける周辺機器及びバッファ制御方法
EP1016973A1 (en) Communication dma device
US8719499B2 (en) Cache-line based notification
JPH08147115A (ja) 文書処理装置
JP2000330960A (ja) プロセッサ間通信装置
US8234651B2 (en) Information processing method and apparatus using the same
KR100898345B1 (ko) Toe의 패킷 수신 하드웨어 장치 및 toe 패킷 수신하드웨어를 이용한 수신 시스템 및 수신 방법
JP2005011357A (ja) ネットワーク電子機器のデータインターフェース装置および方法
JPH11149455A (ja) メモリディスク共有方法及びその実施装置
JPH09204311A (ja) 情報処理システム
JP2009088622A (ja) バッファメモリを有するパケット転送装置および方法
JP2853607B2 (ja) ジョブ間通信システム
JPH0484251A (ja) 記録方法
JP2001282711A (ja) データ転送制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041130

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050131

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20050204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050405

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees