JP2932568B2 - データ通信装置 - Google Patents
データ通信装置Info
- Publication number
- JP2932568B2 JP2932568B2 JP2035143A JP3514390A JP2932568B2 JP 2932568 B2 JP2932568 B2 JP 2932568B2 JP 2035143 A JP2035143 A JP 2035143A JP 3514390 A JP3514390 A JP 3514390A JP 2932568 B2 JP2932568 B2 JP 2932568B2
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- processing
- writing
- firmware
- command
- 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
Links
Landscapes
- Computer And Data Communications (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は複数のファイルデータをバッファを介して送
信するデータ通信装置に関するものである。
信するデータ通信装置に関するものである。
[従来の技術] 日本語DTPなどでは、画像処理、印刷処理のような複
雑な処理が頻繁に行われるが、これらの処理を1つの中
央処理装置(以下CPUと称する)だけで実行しようとす
ると、多大な時間を要す。特に、印刷処理の場合は、印
刷実行の間CPUの処理が待たされることになり、操作性
が悪くなる。
雑な処理が頻繁に行われるが、これらの処理を1つの中
央処理装置(以下CPUと称する)だけで実行しようとす
ると、多大な時間を要す。特に、印刷処理の場合は、印
刷実行の間CPUの処理が待たされることになり、操作性
が悪くなる。
そこで、このような高速性が要求される処理は、ファ
ームウェアによって行う場合が多い。すなわち、メイン
のCPUとファームウェアがそれぞれ行う処理を分担し、
並行に実行することにより、印刷処理の場合でも、CPU
の処理は待たされることなく実行でき、効率的に処理が
できる。
ームウェアによって行う場合が多い。すなわち、メイン
のCPUとファームウェアがそれぞれ行う処理を分担し、
並行に実行することにより、印刷処理の場合でも、CPU
の処理は待たされることなく実行でき、効率的に処理が
できる。
メインのCPUとファームウェアの並行処理を行う場
合、一般的に、共有メモリ上にリングバッファを設け
て、相互間で通信を行っている。すなわち、メインのCP
Uが、リングバッファに処理コマンドを書き込み、ファ
ームウェアが、リングバッファからメインのCPUによっ
て書き込まれた処理コマンドを読み込んで、その処理を
実行する。リングバッファでの処理コマンドの書き込み
あるいは読み込みの際、nワードの大きさの処理コマン
ドである場合、mワード分書き込み、あるいは読み込み
を終了した時点でバッファの最後まで到達すると、バッ
ファの先頭に戻って、処理コマンドの続きの(n−m)
ワード分の書き込み、あるいは読み込みを行う。
合、一般的に、共有メモリ上にリングバッファを設け
て、相互間で通信を行っている。すなわち、メインのCP
Uが、リングバッファに処理コマンドを書き込み、ファ
ームウェアが、リングバッファからメインのCPUによっ
て書き込まれた処理コマンドを読み込んで、その処理を
実行する。リングバッファでの処理コマンドの書き込み
あるいは読み込みの際、nワードの大きさの処理コマン
ドである場合、mワード分書き込み、あるいは読み込み
を終了した時点でバッファの最後まで到達すると、バッ
ファの先頭に戻って、処理コマンドの続きの(n−m)
ワード分の書き込み、あるいは読み込みを行う。
[発明が解決しようとする課題] しかしながら、リングバッファによる通信最小単位が
1ワードであるとすると、nワードの大きさの処理コマ
ンドをリングバッファにより通信する場合、1ワードず
つ通信するたびにバッファの最終アドレスまで来たかを
識別する必要があり、そのための処理に時間を要すこと
になっていた。
1ワードであるとすると、nワードの大きさの処理コマ
ンドをリングバッファにより通信する場合、1ワードず
つ通信するたびにバッファの最終アドレスまで来たかを
識別する必要があり、そのための処理に時間を要すこと
になっていた。
[課題を解決するための手段] この課題を解決するために本発明は、送信すべき複数
のファイルデータを記憶する送信データ記憶手段と、送
信データ記憶手段に記憶されたデータを送信する際に該
送信データを一時記憶するバッファ手段と、送信データ
記憶手段に記憶されたデータのバッファ手段への書き込
み位置を示すデータを記憶するライトポインタと、送信
データ記憶手段に記憶されたデータをライトポインタに
よって示されるバッファ手段の書き込み位置に書き込む
際、書き込もうとするファイルデータの書き込み容量が
足りない場合は、終了コードを格納し、ライトポインタ
をリセットしてから当該書き込もうとするファイルデー
タを書き込む手段と、を有する構成でなる。
のファイルデータを記憶する送信データ記憶手段と、送
信データ記憶手段に記憶されたデータを送信する際に該
送信データを一時記憶するバッファ手段と、送信データ
記憶手段に記憶されたデータのバッファ手段への書き込
み位置を示すデータを記憶するライトポインタと、送信
データ記憶手段に記憶されたデータをライトポインタに
よって示されるバッファ手段の書き込み位置に書き込む
際、書き込もうとするファイルデータの書き込み容量が
足りない場合は、終了コードを格納し、ライトポインタ
をリセットしてから当該書き込もうとするファイルデー
タを書き込む手段と、を有する構成でなる。
[作用] この構成によってバッファ手段に書き込む際のバッフ
ァ手段の最終アドレスまで来たか否かの識別はせず、あ
る一塊のファイルデータの書き込みに当たってそのファ
イルデータが書き込めない場合はバッファの先頭から書
き込む。
ァ手段の最終アドレスまで来たか否かの識別はせず、あ
る一塊のファイルデータの書き込みに当たってそのファ
イルデータが書き込めない場合はバッファの先頭から書
き込む。
[実施例] 第1図は、本発明の一実施例におけるデータ通信装置
の全体構成図である。1は、ファームウェアの担当以外
の処理を、ファームウェアの処理と並行に実行する中央
処理装置、2は中央処理装置1からファームウェアへ、
ファームウェアが分担する処理コマンドの通信を行う通
信バッファで、21は、中央処理装置1が、次に処理コマ
ンドを書き込む場所を示すライトポインタ、22は、ファ
ームウェアが、次に読み込む処理コマンドの場所を示す
リードポインタ、23は、中央処理装置1及びファームウ
ェアによって処理コマンドの通信を行うバッファメモリ
である。3は、画像処理、印刷処理のような高速な動作
を必要とする処理を行うファームウェアである。4はフ
ァームウエア3に送信すべき処理コマンドファイルを記
憶するメインメモリである。
の全体構成図である。1は、ファームウェアの担当以外
の処理を、ファームウェアの処理と並行に実行する中央
処理装置、2は中央処理装置1からファームウェアへ、
ファームウェアが分担する処理コマンドの通信を行う通
信バッファで、21は、中央処理装置1が、次に処理コマ
ンドを書き込む場所を示すライトポインタ、22は、ファ
ームウェアが、次に読み込む処理コマンドの場所を示す
リードポインタ、23は、中央処理装置1及びファームウ
ェアによって処理コマンドの通信を行うバッファメモリ
である。3は、画像処理、印刷処理のような高速な動作
を必要とする処理を行うファームウェアである。4はフ
ァームウエア3に送信すべき処理コマンドファイルを記
憶するメインメモリである。
第2図は、通信バッファ2の構成図である。ライトポ
インタ21及びリードポインタ22に記憶されたデータによ
って各々そのアドレスを指定される。
インタ21及びリードポインタ22に記憶されたデータによ
って各々そのアドレスを指定される。
以上のように構成された本実施例のについて、第3図
に従って、以下その動作を説明する。
に従って、以下その動作を説明する。
まず、第3図(a)のように、ライトポインタ21及び
リードポインタ22をバッファ23の先頭に初期設定してお
く。
リードポインタ22をバッファ23の先頭に初期設定してお
く。
最初に、中央処理装置1による処理コマンドの書き込
みについて説明する。第3図(b)のように、中央処理
装置1は、ファームウェア3に分担する処理コマンド
(コマンド1:n1ワード)をバッファ23に一度に書き込ん
で、ライトポインタ21を更新する。リードポインタ22に
より、次に書き込む場所が、ファームウェア3によって
既に読み込まれたかどうか確認しながら、この書き込み
処理を幾度か繰り返すと、第3図(c)のように、バッ
ファ23の残りに、次の処理コマンド(コマンド4:n4ワー
ド)を書き込む領域がなくなる場合、すなわち残り領域
がn4ワードに満たない場合が生ずる。そこで、第3図
(d)のように、その時点で終了コードを書き込み、バ
ッファ23の先頭に戻って、新たに処理コマンドを書き込
んで、ライトポインタ21の更新を行う。
みについて説明する。第3図(b)のように、中央処理
装置1は、ファームウェア3に分担する処理コマンド
(コマンド1:n1ワード)をバッファ23に一度に書き込ん
で、ライトポインタ21を更新する。リードポインタ22に
より、次に書き込む場所が、ファームウェア3によって
既に読み込まれたかどうか確認しながら、この書き込み
処理を幾度か繰り返すと、第3図(c)のように、バッ
ファ23の残りに、次の処理コマンド(コマンド4:n4ワー
ド)を書き込む領域がなくなる場合、すなわち残り領域
がn4ワードに満たない場合が生ずる。そこで、第3図
(d)のように、その時点で終了コードを書き込み、バ
ッファ23の先頭に戻って、新たに処理コマンドを書き込
んで、ライトポインタ21の更新を行う。
次に、ファームウェア3による処理コマンドの読み込
みについて説明する。
みについて説明する。
ファームウェア3は、ライトポインタ21により、処理
コマンドが書き込まれたかどうかを確認しながら、バッ
ファ23から処理コマンドを読み込んで、リードポインタ
22を更新する。第3図(c)は、コマンド1及びコマン
ド2を読み込んだ状態である。第3図(d)のような状
態において、ファームウェア3が次の処理コマンド(コ
マンド3)を読み込むと、第3図の(e)の状態にな
る。続いて、処理コマンドの読み込みを行おうとする
と、終了コードになっているため、第3図の(f)にお
いて、バッファ23の先頭に戻り、新たに処理コマンド
(コマンド4)の読み込みを行って、リードポインタ22
の更新を行う。
コマンドが書き込まれたかどうかを確認しながら、バッ
ファ23から処理コマンドを読み込んで、リードポインタ
22を更新する。第3図(c)は、コマンド1及びコマン
ド2を読み込んだ状態である。第3図(d)のような状
態において、ファームウェア3が次の処理コマンド(コ
マンド3)を読み込むと、第3図の(e)の状態にな
る。続いて、処理コマンドの読み込みを行おうとする
と、終了コードになっているため、第3図の(f)にお
いて、バッファ23の先頭に戻り、新たに処理コマンド
(コマンド4)の読み込みを行って、リードポインタ22
の更新を行う。
[発明の効果] 本発明は、複数の処理コマンドを格納する際、バッフ
ァ先頭から処理コマンドを書き込んでいき、残りのバッ
ファが処理コマンドを格納できない容量となった場合、
規定の終了コードを書き込み、バッファ先頭に戻って新
たに書き込んでいく通信バッファを設けることにより、
ファームウェアは、リング・バッファのように、1ワー
ドの通信のためにバッファの折り返しを意識することな
く、nワード分の書き込み、あるいは読み込みを一度に
行えるため、高速な通信を実現できるという効果を得る
ことができる。
ァ先頭から処理コマンドを書き込んでいき、残りのバッ
ファが処理コマンドを格納できない容量となった場合、
規定の終了コードを書き込み、バッファ先頭に戻って新
たに書き込んでいく通信バッファを設けることにより、
ファームウェアは、リング・バッファのように、1ワー
ドの通信のためにバッファの折り返しを意識することな
く、nワード分の書き込み、あるいは読み込みを一度に
行えるため、高速な通信を実現できるという効果を得る
ことができる。
第1図は、本発明の一実施例におけるデータ通信装置の
構成を示すブロック図、第2図は通信バッファの構成を
示す概略図、第3図(a)〜第3図(f)は通信バッフ
ァの状態図である。 1……メインCPU、2……通信バッファ、21……ライト
ポインタ、22……リードポインタ、23……バッファ、3
……ファームウェア、4……メインメモリ
構成を示すブロック図、第2図は通信バッファの構成を
示す概略図、第3図(a)〜第3図(f)は通信バッフ
ァの状態図である。 1……メインCPU、2……通信バッファ、21……ライト
ポインタ、22……リードポインタ、23……バッファ、3
……ファームウェア、4……メインメモリ
Claims (1)
- 【請求項1】送信すべき複数のファイルデータを記憶す
る送信データ記憶手段と、 前記送信データ記憶手段に記憶されたデータを送信する
際に該送信データを一時記憶するバッファ手段と、 前記送信データ記憶手段に記憶されたデータの前記バッ
ファ手段への書き込み位置を示すデータを記憶するライ
トポインタと、 前記送信データ記憶手段に記憶されたデータを前記ライ
トポインタによって示される前記バッファ手段の書き込
み位置に書き込む際、書き込もうとするファイルデータ
の書き込み容量が足りない場合は、終了コードを格納
し、前記ライトポインタをリセットしてから当該書き込
もうとするファイルデータを書き込む手段と、を有する
ことを特徴とするデータ通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2035143A JP2932568B2 (ja) | 1990-02-15 | 1990-02-15 | データ通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2035143A JP2932568B2 (ja) | 1990-02-15 | 1990-02-15 | データ通信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03238543A JPH03238543A (ja) | 1991-10-24 |
JP2932568B2 true JP2932568B2 (ja) | 1999-08-09 |
Family
ID=12433687
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2035143A Expired - Fee Related JP2932568B2 (ja) | 1990-02-15 | 1990-02-15 | データ通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2932568B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ITRM20130728A1 (it) * | 2013-12-31 | 2015-07-01 | Prb S R L | Metodo di scambio comandi tramite disco usb e relativi dispositivi che ne permettono l¿implementazione. |
-
1990
- 1990-02-15 JP JP2035143A patent/JP2932568B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03238543A (ja) | 1991-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5634099A (en) | Direct memory access unit for transferring data between processor memories in multiprocessing systems | |
JP2932568B2 (ja) | データ通信装置 | |
US5343557A (en) | Workstation controller with full screen write mode and partial screen write mode | |
JP2002183675A (ja) | データ記録媒体の制御装置とその方法、データ記録装置および制御装置 | |
JPH01303529A (ja) | データ処理装置 | |
US3248701A (en) | Data transfer control system | |
JPH01118956A (ja) | データ処理装置 | |
US6401144B1 (en) | Method and apparatus for managing data transfers between peripheral devices by encoding a start code in a line of data to initiate the data transfers | |
JP3130798B2 (ja) | バス転送装置 | |
JPS6240736B2 (ja) | ||
EP0358224A2 (en) | Semiconductor disk device useful in transaction processing system | |
JPH05204670A (ja) | 複数プロセス間の並列実行用通信制御システム | |
JPH03103951A (ja) | メモリパトロール制御方式 | |
JP2594567B2 (ja) | メモリアクセス制御装置 | |
JPH11232166A (ja) | データ転送装置 | |
JPH0685154B2 (ja) | 中間バッファ制御方式 | |
JPH02228743A (ja) | 記憶装置間データ転送方式 | |
JPS63223943A (ja) | ダイレクトメモリアクセス制御装置 | |
JPH0279151A (ja) | 拡張記憶装置 | |
JPS5916190A (ja) | 磁気バブルメモリの制御方法 | |
JPH04112059A (ja) | 画像記録装置 | |
JPH0235546A (ja) | 補助記憶装置への書き込み制御方式 | |
JPH04284756A (ja) | シーケンス制御装置 | |
JPH0425961A (ja) | 共有データ更新方式 | |
JPH0446436B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |