JP4463892B2 - デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 - Google Patents
デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 Download PDFInfo
- Publication number
- JP4463892B2 JP4463892B2 JP37529398A JP37529398A JP4463892B2 JP 4463892 B2 JP4463892 B2 JP 4463892B2 JP 37529398 A JP37529398 A JP 37529398A JP 37529398 A JP37529398 A JP 37529398A JP 4463892 B2 JP4463892 B2 JP 4463892B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- transfer
- cpu
- data
- processing unit
- 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
- 238000000034 method Methods 0.000 title claims description 47
- 230000007423 decrease Effects 0.000 claims 1
- 238000005259 measurement Methods 0.000 claims 1
- 230000004622 sleep time Effects 0.000 description 45
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000002360 preparation method Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006866 deterioration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001035 drying Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1218—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
- G06F3/122—Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1236—Connection management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1284—Local printer device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Communication Control (AREA)
Description
【発明の属する技術分野】
本発明は、上位のデータ生成処理部と下位のデータ転送処理部とを有する上位のデータ処理装置である例えばホストコンピュータと、下位のデータ処理装置である例えばプリンタとの間で行われるデータ転送動作を制御するデータ転送制御方法及びデータ処理装置並びに記憶媒体に関する。
【0002】
【従来の技術】
従来、マルチタスク環境下においては、プリンタへのデータ転送はプリンタドライバの1つの役割であった。プリンタドライバは幾つかの役割を担っており、データ転送もその中の一つである。また、プリンタドライバの別の役割としては、アプリケーションから渡されてくる描画命令に基づいてメモリ中に描画処理を行ってRGBビットマップデータを生成したり、その描画されたRGBデータに色変換処理を加えてプリンタの色再現特性に適したCMYKデータに変換したり、更には、プリンタで再現できる階調に制限がある場合には、このCMYKデータにハーフトーニング処理を施すこと等が挙げられる。そして、これらプリンタドライバに課せられた役割は、マルチタスク環境下において、個々のタスクが並列に単一のCPU(中央演算処理装置)をシェアしながら実行されているが、プリンタドライバの一連の処理は描画処理、色変換処理、ハーフトーニング処理、そして、データ転送処理といった具合に、シリーズに行われているのが一般的である。そして、プリンタドライバを構成するこれら複数のタスクが並列に処理しながらも、恰もバケツリレーの如く同期し合って処理進行できることが、プリンタドライバの処理スピード、ひいてはトータル的な印刷時間を決定付ける大事な要素となっている。
【0003】
【発明が解決しようとする課題】
しかしながら、上述した従来例にあっては、データ転送処理部は要求されたバイト数のデータをプリンタへ転送するまで、プリンタとのハンドシェークを続けなければならないことから、I/Oポートを監視、制御するためにCPUを独占する時間が増えてしまう。
【0004】
そして、このデータ転送処理部がCPUを独占する時間は、プリンタのデータ受信能力、例えばプリンタに搭載されている受信バッファサイズや同じくプリンタに搭載されているプロセッサの処理能力等に大きく依存し、プリンタがデータを受信できない状態においては、プリンタからビジー信号が発せられてデータ転送処理部がウェイト(待機)させられてしまうのが実情である。従って、データ受信能力の低いプリンタに対してデータ転送を行う場合、受信能力の高いプリンタと比較すると、データ転送処理部で要する時間は圧倒的に増加するため、他のタスクの処理進行が遅れてしまうといった問題点があった。このように他のタスクの処理進行が遅れた結果、転送すべきデータ生成処理が追いつかずにトータル的な印刷時間が増加したり、インクジェットタイプのシリアルプリンタの場合には、印刷走査の間にウェイト(待機)時間が発生して乾燥を招くことから、スジムラ等の画質劣化が伴うといった問題点があった。
【0005】
本発明は上述した従来の技術の有するこのような問題点に鑑みてなされたものであり、その第1の目的とするところは、データ生成処理とデータの転送処理に要した時間に応じてデータ転送処理部が必要以上にCPUを独占することなくスリープ時間を設定できるデータ転送制御方法及びデータ処理装置並びに記憶媒体を提供しようとすることである。
【0006】
また、本発明の第2の目的とするところは、上述したような本発明のデータ転送制御装置を円滑に制御することができる制御プログラムを格納した記憶媒体を提供しようとするものである。
【0007】
【課題を解決するための手段】
上記第1の目的を達成するために請求項1記載のデータ転送制御方法は、データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置におけるデータ転送制御方法であって、前記生成処理部によるデータ生成処理時間に基づいて前記生成処理における前記CPUの必要度を判定する第1判定工程と、前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定工程と、前記第1判定工程及び前記第2判定工程における判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定工程とを有し、前記設定工程は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とする。
【0008】
また、上記第1の目的を達成するために請求項6記載のデータ処理装置は、データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置であって、前記生成処理部によるデータ生成処理時間に基づいて前記生成処理部における前記CPUの必要度を判定する第1判定手段と、前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定手段と、前記第1判定手段及び前記第2判定手段による判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定手段とを有し、前記設定手段は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とする。
【0009】
また、上記第2の目的を達成するために請求項7記載の記憶媒体は、データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置におけるデータ転送を制御する制御プログラムを格納した記憶媒体であって、前記制御プログラムは、前記生成処理部によるデータ生成処理時間に基づいて前記生成処理部における前記CPUの必要度を判定する判定工程と、前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定工程と、前記第1判定工程及び前記第2判定工程における判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定工程とを有し、前記設定工程は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とする。
【0031】
【発明の実施の形態】
以下、本発明の一実施の形態を図面に基づき説明する。
【0032】
図1は、本発明の一実施の形態に係るデータ転送制御装置の構成を示すブロック図であり、同図において、1はホストコンピュータ(上位のデータ処理装置)で、アプリケーション2、描画処理部(上位のデータ生成処理部)3、色変換処理部(上位のデータ生成処理部)4、ハーフトーニング処理部(上位のデータ生成処理部)5、データ転送制御部6、データ転送処理部(下位のデータ転送処理部)7、インタフェース制御部8、前回データ転送要求時刻記憶部9、前回指定スリープ時間記憶部10、前回データ転送要求間隔時間記憶部11及び最小転送μsec/byte時間記憶部12を有している。
【0033】
アプリケーション2は、作画環境を提供し、印刷開始を下位の処理部に命令するものである。描画処理部3は、アプリケーション2で作画された図柄情報をメモリ中にRGBビットマップ多値データで描画展開するものである。色変換処理部4は、描画処理部3で描画展開されたRGBビットマップ多値データを接続されている後述するプリンタの色再現特性に応じてCMYK多値データに変換するものである。ハーフトーニング処理部5は、前記プリンタで再現できる階調に制限がある場合に、この色変換処理部4で変換されたCMYK多値データを前記プリンタの階調数に合わせるものである。データ転送制御部6は、前記プリンタの階調と合ったCMYK多値データのデータ転送要求を受け付け、データ転送要求間隔時間を記憶及び比較しながら、データ転送処理部7を呼び出すものである。データ転送処理部7は、データ転送制御部6の記憶領域として使用する前回データ転送要求間隔時間記憶部9と前回指定スリープ時間記憶部10と前回データ転送要求間隔時間記憶部11、データ転送制御部6から呼び出されて1バイト当たりの転送所要時間からスリープ時間を算出し、該算出したスリープ時間だけスリープしながら、インタフェース処理部8を通じてデータ転送処理を実行するものである。インタフェース制御部8は、外部インタフェースであるセントロニクスパラレルインタフェース17へI/Oポートを通じてデータの書き込み及び読み込みを実際に行うものである。前回データ転送要求時刻記憶部9は、データ転送制御部6の記憶領域として使用するもので、前回データ転送要求時刻が記憶される。前回指定スリープ時間記憶部10は、データ転送制御部6の記憶領域として使用するもので、前回指定スリープ時間が記憶される。前回データ転送要求間隔時間記憶部11は、データ転送制御部6の記憶領域として使用するもので、前回データ転送要求間隔時間が記憶される。最小転送μsec/byte時間記憶部10は、データ転送制御部6の記憶領域として使用するもので、最小転送μsec/byte時間が記憶される。
【0034】
また、図1において、13はプリンタ(下位のデータ処理装置)で、セントロニクスパラレルインタフェース17を介してホストコンピュータ1と接続されている。プリンタ13は、インタフェース制御部14、印刷制御部15及び受信バッファRAM(ランダムアクセスメモリ)16を有している。
【0035】
インタフェース制御部14は、ホストコンピュータ1と接続するための外部インタフェースであるセントロニクスパラレルインタフェース17を通じてデータの書き込み及び読み込みを実際に行い、受信バッファRAM16がフルになった等のデータ受信が即座に実行できない状況においては、外部インタフェースへビジー信号を発行する役割を担うものである。印刷制御部15は、印刷処理を実際に行うものである。受信バッファRAM16は、インタフェース制御部14が受信したデータを一旦保存するものである。
【0036】
尚、本実施の形態では、外部インタフェースとしてセントロニクスパラレルインタフェース17を引用したが、これに限られるものではなく、SCSIインタフェース等の他のインタフェースであっても構わない。
【0037】
次に、ホストコンピュータ1上で動作するデータ転送制御部6の動作を、図2及び図3のフローチャートを用いて説明する。
【0038】
図2において、データ転送制御部6は、まず、ステップS201で上位からのデータ転送要求を受け付ける。このデータ転送要求は、一般的に何バイトのデータをどのアドレスから転送せよという命令となっている。次に、ステップS202で現在時刻を取得して、この現在時刻から前回データ転送要求時刻記憶部9に記憶されている前回データ転送要求時刻を減算して、前回から今回のデータ転送要求までに経過した時間である今回データ転送要求間隔時間Tciを算出する(今回データ転送要求間隔時間Tci=現在時刻−前回データ転送要求時刻)。次に、ステップS203で前回のデータ転送要求受け付け時に前回のステップS213で記憶しておいた前回データ転送要求間隔時間Tpiを前回データ転送要求間隔時間記憶部11からロード(読み出し)する。
【0039】
次に、ステップS204で今回データ転送要求間隔時間Tciが前回データ転送要求間隔時間Tpiよりも大きい(Tci>Tpi)か否かを判断する。そして、TciがTpiよりも大きい場合には、上位の描画処理部3、色変換処理部4及びハーフトーニング処理部5の処理量が前回よりも増加してCPU時間をより必要としている状況にあると判断してステップS205へ進む。また、TciがTpiと等しい若しくは小さい場合には、上位の描画処理部3、色変換処理部4及びハーフトーニング処理部5の処理量が前回よりも減少してCPU時間をより必要としていない状況にあると判断してステップS207へ進む。
【0040】
ステップS205では前回指定スリープ時間記憶部10から前回指定スリープ時間Ts'をロード(読み出し)し、任意に定めた指定スリープ時間の上限値Ts-maxよりも小さい(Ts'<Ts-max)か否かを判断する。Ts-maxは固定値として一意に定めても良いし、CPUの処理能力に応じてホストコンピュータ毎にプログラム上で動的に決定しても良い。
【0041】
前記ステップS205においてTs'がTs-maxよりも小さい場合にはステップS206へ進み、また、Ts'がTs-maxと等しい若しくは大きい場合にはこれ以上指定スリープ時間を大きくしないために図3のステップS209へ進む。
【0042】
ステップS206では、前回指定スリープ時間Ts'に任意量の時間T1を加算して今回指定スリープ時間Ts(Ts=Ts'+T1)を求めた後、図3のステップS210へ進む。T1は固定値として一意に定めても良いし、CPUの処理能力に応じてホストコンピュータ毎にプログラム上で動的に決定しても良い。
【0043】
ステップS207では、前回指定スリープ時間Ts'が任意に定めた指定スリープ時間の下限値Ts-minよりも大きい(Ts'>Ts-min)か否かを判断する。Ts-minは固定値として一意に定めても良いし、CPUの処理能力に応じてホストコンピュータ毎にプログラム上で動的に決定しても良い。
【0044】
前記ステップS207においてTs'がTs-minよりも大きい場合にはステップS208へ進み、また、Ts'がTs-minと等しい若しくは小さい場合にはこれ以上指定スリープ時間を小さくしないために図3のステップS209へ進む。
【0045】
ステップS208では、前回指定スリープ時間Ts'から任意量の時間T1を減算して今回指定スリープ時間Ts(Ts=Ts'−T1)を求めた後、図3のステップS210へ進む。T1は固定値として一意に定めても良いし、CPUの処理能力に応じてホストコンピュータ毎にプログラム上で動的に決定しても良い。
【0046】
図3において、ステップS209では、前回指定スリープ時間Ts'を今回指定スリープ時間Tsに代入する(Ts=Ts')。
【0047】
ステップS210では、前記求めた今回指定スリープ時間Tsを下位のデータ転送処理部7へ伝える。この伝達はアプリケーション間通信を用いて行うのが一般的であるが、特に手段は限定しない。
【0048】
次に、ステップS211へ進んで、前記図2のステップS201において受け付けたデータ転送要求に基づいてデータ転送処理部7を呼び出して、データ転送を実行する。次に、ステップS212で次回のデータ転送受け付け時に備えて、今回指定スリープ時間Tsを前回指定スリープ時間Ts'として、前回指定スリープ時間記憶部10に記憶する。次に、ステップS213で次回のデータ転送受け付け時に備えて、今回データ転送要求間隔時間Tciを前回データ転送要求間隔時間Tpiとして、前回データ転送要求間隔時間記憶部11に記憶する。次に、ステップS214で次回のデータ転送受け付け時に備えて現在時刻を取得し、該取得した現在時刻を前回データ転送要求時刻として、前回データ転送要求時刻記憶部9に記憶する。
【0049】
以降、次回のデータ転送受け付け時には、図2のステップS201から上述した手順を繰り返すことにより、上位処理部がCPU時間を現在どの程度必要としているかを考慮しながらデータ転送処理時のスリープ時間を決定することができる。
【0050】
次に、ホストコンピュータ1上で動作するデータ転送処理部7の動作を、図4のフローチャートを用いて説明する。
【0051】
まず、ステップS301で前記図3のステップS210において指定された今回指定スリープ時間Tsが指定される。次に、ステップS302で現在時刻を取得して、該取得した現在時刻をデータ転送開始時刻として記憶しておく。次に、ステップS303でインタフェース制御部8を通じてデータ転送制御部6から指定されたMバイトをI/Oポートへ書き込むためのデータ書き込み処理を実行する。次に、ステップS304で再度現在時刻を取得し、該取得した現在時刻から前記ステップS302において取得したデータ転送開始時刻を減算して、前記ステップS303において要したデータ転送所要時間を算出する(データ転送所要時間=現在時刻−データ転送開始時刻)。
【0052】
次に、ステップS305で前記ステップS304において求めたデータ転送所要時間を実際に書き込むことのできるバイト数Mで割り、1バイト当たりの転送に要した転送μsec/byte時間Teを算出する(転送μsec/byte時間Te=データ転送所要時間÷M)。次に、ステップS306で前記ステップS305において求めた転送μsec/byte時間Teが任意に定めた最小転送μsec/byte時間Te-minと等しい若しくは小さい(転送μsec/byte時間Te≦最小転送μsec/byte時間Te-min)か否かを判断する。
【0053】
最小転送μsec/byte時間Te-minを定める方法は、一般的なセントロニクスインタフェースの1バイト当たりの転送所要時間を用いても良いし、オンザフライで求めた1バイト当たりの転送所要時間の平均値でも良い。本実施の形態では、オンザフライで求めた1バイト当たりの転送所要時間の最小値を使った例で以降説明する。
【0054】
前記ステップS306においてTeがTe-minと等しい若しくは小さい場合にはステップS307へ、また、TeがTe-minより大きい場合にはステップS309へそれぞれ進む。
【0055】
ステップS307では、前記ステップS301において指定された今回指定スリープ時間Tsの1/3をスリープ時間Tcsに代入する(スリープ時間Tcs=今回指定スリープ時間Ts÷3)。次に、ステップS308で次回のデータ転送要求に備えて今回の転送μsec/byte時間Teを最小転送μsec/byte時間Te-minとして(最小転送μsec/byte時間Te-min=転送μsec/byte時間Te)、最小転送μsec/byte時間記憶部12に記憶した後、ステップS312へ進む。
【0056】
ステップS309では、前記ステップS305において求めた転送μsec/byte時間Teが任意に定めた最小転送μsec/byte時間Te-min+50と等しい若しくは小さい「転送μsec/byte時間Te≦(最小転送μsec/byte時間Te-min+50)」か否かを判断する。本実施の形態では、比較対象値をTe-minに50を加算した値を第2の比較値としたが、これは本実施の形態のように固定値として定めても良いし、プログラム上で動的に定めても良い。
【0057】
前記ステップS309においてTeがTe-min+50と等しい若しくは小さい場合にはステップS310へ、また、TeがTe-min+50より大きい場合にはステップS311へそれぞれ進む。
【0058】
ステップS310では、前記ステップS301において指定された今回指定スリープ時間Tsの2/3をスリープ時間Tcsに代入「スリープ時間Tcs=(今回指定スリープ時間Ts×2)÷3」した後、ステップS312へ進む。
【0059】
ステップS311では、前記ステップS301において指定された今回指定スリープ時間Tsをスリープ時間Tcsに代入「スリープ時間Tcs=今回指定スリープ時間Ts)した後、ステップS312へ進む。
【0060】
ステップS312では、上記手順に従って決定されたスリープ時間Tcsだけスリープし、このスリープ時間だけCPU時間を上位の処理部に開放することで、他のタスクの処理を先行させることが可能となる。前記ステップS312の処理が終了した後は、本処理動作を終了する。
【0061】
上記実施の形態では、転送μsec/byte時間Teを図4のステップS306において最小転送μsec/byte時間Te-min、ステップS309において最小転送μsec/byte時間Te-min+50と比較する例で説明したが、この比較の回数は、上記実施の形態の例に限定されるものではない。例えば、N回比較を行う場合、ステップS307では、「スリープ時間Tcs=今回指定スリープ時間Ts÷N」となり、ステップS310では、「スリープ時間Tcs=(今回指定スリープ時間Ts×2)÷N」となる。
【0062】
当然、前記ステップS306及びステップS309のような比較操作は(N−1)回繰り返されることとなる。
【0064】
【発明の効果】
以上詳述したように本発明によれば、データの生成処理におけるCPUの必要度と実際のデータ転送時間とに応じて動的にデータを転送する転送処理部がCPUを開放する時間を調節するので、他のタスクの処理進行の妨げを低減するこができるという作用、効果を奏する。
【0065】
また、本発明によれば、他のタスクの処理進行が遅れずに、しかもデータ転送が必要十分に行われるため、例えばシリアルプリンタのプリンタドライバに適用した場合には、印刷走査間にウェイト(待機)時間が発生して乾燥を招くということがなく、スジムラ等の画質劣化を生じることがないという効果を奏する。
【図面の簡単な説明】
【図1】 本発明の一実施の形態に係るデータ転送制御装置の構成を示すブロック図である。
【図2】 本発明の一実施の形態に係るデータ転送制御装置におけるデータ転送制御部の動作の流れを示すフローチャートである。
【図3】 本発明の一実施の形態に係るデータ転送制御装置におけるデータ転送制御部の動作の流れを示すフローチャートである。
【図4】 本発明の一実施の形態に係るデータ転送制御装置におけるデータ転送処理部の動作の流れを示すフローチャートである。
【符号の説明】
1 ホストコンピュータ
2 アプリケーション
3 描画処理部
4 色変換処理部
5 ハーフトーニング処理部
6 データ転送制御部
7 データ転送処理部
8 インタフェース処理部
9 前回データ転送要求時刻記憶部
10 前回指定スリープ時間記憶部
11 前回データ転送要求間隔時間記憶部
12 最小転送μsec/byte時間記憶部
13 プリンタ
14 インタフェース制御部
15 印刷制御部
16 受信バッファRAM(ランダムアクセスメモリ)
Claims (6)
- データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置におけるデータ転送制御方法であって、
前記生成処理部によるデータ生成処理時間に基づいて前記生成処理における前記CPUの必要度を判定する第1判定工程と、
前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定工程と、
前記第1判定工程及び前記第2判定工程における判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定工程とを有し、
前記設定工程は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とするデータ転送制御方法。 - 前記第1判定工程では、前記CPUの必要度が当該第1判定工程による以前の判定よりも高まったか否かを判定することを特徴とする請求項1記載のデータ転送制御方法。
- 前記生成処理部から前記転送処理部に対する転送要求の時間間隔を測定する時間間隔測定工程を有し、前記生成処理部によるデータ生成処理時間は前記時間間隔測定工程において測定した時間間隔に基づき、前記第1判定工程では、前記時間間隔測定工程において測定した時間間隔が長くなった場合に、前記CPUの必要度が高まったと判定することを特徴とする請求項2記載のデータ転送制御方法。
- 前記設定工程では、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合は、前記第2判定工程において判定した転送時間が予め定めた最小値との差が第3の所定値以下と判別された場合に、前記第2判定工程において判定した転送時間が予め定めた最小値との差が前記第3の所定値を超える場合よりも、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とする請求項1記載のデータ転送制御方法。
- データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置であって、
前記生成処理部によるデータ生成処理時間に基づいて前記生成処理部における前記CPUの必要度を判定する第1判定手段と、
前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定手段と、
前記第1判定手段及び前記第2判定手段による判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定手段とを有し、
前記設定手段は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とするデータ処理装置。 - データを生成する生成処理部と生成されたデータを転送する転送処理部とがCPUを共用するデータ処理装置におけるデータ転送を制御する制御プログラムを格納した記憶媒体であって、前記制御プログラムは、
前記生成処理部によるデータ生成処理時間に基づいて前記生成処理部における前記CPUの必要度を判定する判定工程と、
前記転送処理部による第1データブロックの転送に要した転送時間を判定する第2判定工程と、
前記第1判定工程及び前記第2判定工程における判定結果に基づいて、前記第1データブロックの転送以降に前記転送処理部が前記CPUを開放する時間を設定する設定工程とを有し、
前記設定工程は、前記生成処理における前記CPUの必要度が低くなると、前記CPUを開放する時間を設定ために用いる第1の所定値を下限値より小さくならない範囲内で前回よりも小さな値に変更し、前記生成処理における前記CPUの必要度が高まると、前記第1の所定値を上限値より大きくならない範囲内で前回よりも大きな値に変更し、さらに、前記第1データブロックの転送に要した転送時間が所定時間よりも長い場合よりも、前記第1データブロックの転送に要した転送時間が所定時間よりも短い場合に、前記CPUを開放する時間が短くなるように、前記変更後の第1の所定値を修正して第2の所定値とし、該第2の所定値を前記転送処理部が前記CPUを開放する時間に設定することを特徴とする記憶媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37529398A JP4463892B2 (ja) | 1998-12-15 | 1998-12-15 | デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 |
US09/458,064 US6609210B1 (en) | 1998-12-15 | 1999-12-10 | Data transfer control method and apparatus, and storage medium |
EP99310065A EP1018682A3 (en) | 1998-12-15 | 1999-12-14 | Data transfer control method and apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP37529398A JP4463892B2 (ja) | 1998-12-15 | 1998-12-15 | デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000181637A JP2000181637A (ja) | 2000-06-30 |
JP2000181637A5 JP2000181637A5 (ja) | 2006-02-09 |
JP4463892B2 true JP4463892B2 (ja) | 2010-05-19 |
Family
ID=18505279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP37529398A Expired - Fee Related JP4463892B2 (ja) | 1998-12-15 | 1998-12-15 | デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6609210B1 (ja) |
EP (1) | EP1018682A3 (ja) |
JP (1) | JP4463892B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030227644A1 (en) * | 2001-01-11 | 2003-12-11 | Sharp Laboratories Of America, Inc. | Methods and systems for driver independent customized printing |
US7548331B2 (en) * | 2001-01-11 | 2009-06-16 | Sharp Laboratories Of America, Inc. | Methods and systems for print system component-based remote printing |
US8411298B2 (en) * | 2001-01-11 | 2013-04-02 | Sharp Laboratories Of America, Inc. | Methods and systems for printing device load-balancing |
US7480068B2 (en) * | 2001-01-11 | 2009-01-20 | Sharp Laboratories Of America, Inc. | Methods and systems for page-independent spool file sheet assembly |
US8456665B2 (en) | 2001-01-11 | 2013-06-04 | Sharp Laboratories Of America, Inc. | Methods and systems for printing error recovery |
US20020089687A1 (en) | 2001-01-11 | 2002-07-11 | Ferlitsch Andrew Rodney | Methods and systems for print-processor-based printer status detection and print task distribution |
US6915353B2 (en) * | 2001-08-01 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for avoiding unnecessary computer peripheral calibration activities |
US20060259803A1 (en) * | 2005-05-12 | 2006-11-16 | Lexmark International, Inc. | Power saver automatic learning method |
JP5328445B2 (ja) * | 2008-05-02 | 2013-10-30 | キヤノン株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US8429307B1 (en) * | 2010-04-30 | 2013-04-23 | Emc Corporation | Application aware intelligent storage system |
JP2012218178A (ja) * | 2011-04-04 | 2012-11-12 | Canon Inc | 画像形成装置、その制御方法及びプログラム。 |
JP6267574B2 (ja) * | 2014-05-01 | 2018-01-24 | シャープ株式会社 | 省電力時間設定装置およびその設定方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940771A (en) * | 1991-05-13 | 1999-08-17 | Norand Corporation | Network supporting roaming, sleeping terminals |
JP2587909B2 (ja) | 1994-08-30 | 1997-03-05 | 株式会社アプティ | データ転送方法 |
JP2892963B2 (ja) * | 1995-02-28 | 1999-05-17 | キヤノン株式会社 | バッテリ駆動型コンピュータ |
JP3658055B2 (ja) * | 1995-10-12 | 2005-06-08 | キヤノン株式会社 | 画像形成装置の電源制御装置 |
JP2000155518A (ja) * | 1998-09-18 | 2000-06-06 | Canon Inc | 画像形成装置本体に着脱可能なユニット及び画像形成装置 |
JP3792066B2 (ja) * | 1999-03-31 | 2006-06-28 | シャープ株式会社 | 低消費電力周辺機器 |
US6477382B1 (en) * | 2000-06-12 | 2002-11-05 | Intel Corporation | Flexible paging for packet data |
-
1998
- 1998-12-15 JP JP37529398A patent/JP4463892B2/ja not_active Expired - Fee Related
-
1999
- 1999-12-10 US US09/458,064 patent/US6609210B1/en not_active Expired - Fee Related
- 1999-12-14 EP EP99310065A patent/EP1018682A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US6609210B1 (en) | 2003-08-19 |
JP2000181637A (ja) | 2000-06-30 |
EP1018682A2 (en) | 2000-07-12 |
EP1018682A3 (en) | 2004-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4463892B2 (ja) | デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 | |
JPH09284509A (ja) | 画像処理装置 | |
JPH06320806A (ja) | プリンタ・システムおよびラスタ・プリント・データを受信してプリントをおこなう方法 | |
JPH09146726A (ja) | プリンタサーバーシステムの制御方法 | |
JPH06282411A (ja) | データ伸長回路及び方法 | |
JP2000181637A5 (ja) | デ―タ転送制御方法及びデータ処理装置並びに記憶媒体 | |
US7202967B2 (en) | Printer, control program loading method, and medium and page printer recording load control programs | |
JP2006099569A (ja) | メモリインタフェース回路及びクロック制御方法 | |
JP2006343946A (ja) | メモリアクセス制御装置及びコンピュータプログラム | |
US7962673B2 (en) | Method and apparatus for accessing a data bus to transfer data over the data bus | |
JP3714840B2 (ja) | データ転送方法とデータ転送制御装置 | |
JP7081477B2 (ja) | 画像処理装置、画像処理装置の制御方法、およびプログラム | |
JP3237592B2 (ja) | 通信負荷制御方法、その装置、およびそのプログラム記録媒体 | |
JP4034323B2 (ja) | 画像データ処理方法と画像データ処理装置及び画像形成装置 | |
US6678804B1 (en) | Apparatus and method for memory access control | |
JPH11187261A (ja) | 画像処理装置 | |
JP2003309618A (ja) | 通信装置及び通信方法 | |
EP2372526A2 (en) | Data dividing method and data dividing device | |
JP4540054B2 (ja) | データ処理システム | |
JPH1117930A (ja) | 画像処理装置及び方法及び記憶媒体 | |
JP2000132400A (ja) | モジュラー型画像処理システムにおける画像処理装置並びに該装置に適用されるメモリ管理プログラムを記録したコンピュータ読み取り可能な記録媒体及びメモリ管理方法 | |
US7380069B2 (en) | Method and apparatus for DMA-generated memory write-back | |
JP2021044746A (ja) | 記録装置、制御方法、及びプログラム | |
JP2003316529A (ja) | 情報処理装置および印刷制御装置および印刷システムおよびデータ処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
JP2000218877A (ja) | 印刷制御方法、印刷制御装置、印刷制御プログラムを記録した媒体および印刷装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051215 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20051215 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090803 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090901 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091130 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20091208 |
|
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: 20100216 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100218 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
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: 20140226 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |