JP3486498B2 - バッファ管理方法及びそれを用いた印刷装置 - Google Patents

バッファ管理方法及びそれを用いた印刷装置

Info

Publication number
JP3486498B2
JP3486498B2 JP00195496A JP195496A JP3486498B2 JP 3486498 B2 JP3486498 B2 JP 3486498B2 JP 00195496 A JP00195496 A JP 00195496A JP 195496 A JP195496 A JP 195496A JP 3486498 B2 JP3486498 B2 JP 3486498B2
Authority
JP
Japan
Prior art keywords
buffer
ring buffer
size
data
stored
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
JP00195496A
Other languages
English (en)
Other versions
JPH09190308A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP00195496A priority Critical patent/JP3486498B2/ja
Priority to US08/766,110 priority patent/US6441917B1/en
Priority to DE69616970T priority patent/DE69616970T2/de
Priority to EP96309183A priority patent/EP0784287B1/en
Publication of JPH09190308A publication Critical patent/JPH09190308A/ja
Application granted granted Critical
Publication of JP3486498B2 publication Critical patent/JP3486498B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1805Receiving printer configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • G06K2215/0005Accepting output data; Preparing data for the controlling system
    • G06K2215/0011Accepting output data; Preparing data for the controlling system characterised by a particular command or data flow, e.g. Page Description Language, configuration commands

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば印刷装置等
におけるバッファメモリ管理において、特にホストコン
ピュータ等からの送信データを格納するための受信バッ
ファ管理方法及びそれを用いた印刷装置に関するもので
ある。
【0002】
【従来の技術】従来、エミュレーションに必要なダウン
ロードバッファ(ホストコンピュータ上のアプリケーシ
ョンソフトから、印刷装置に内蔵されていない記号や図
形等のパターンデータ等を登録するための印刷装置内の
メモリ領域)サイズの異なる2つ以上の印刷装置をエミ
ュレーションし、かつそれらエミュレーションを行うモ
ードを自動切替する印刷装置においては、電源投入後各
エミュレーションに必要なダウンロードバッファサイズ
のうち、最大のサイズを印刷装置内のメモリ上に確保す
ることにより全てのエミュレーションモードに対応して
いる。
【0003】
【発明が解決しようとする課題】しかしながら、各エミ
ュレーションモードに於て必要なダウンロードバッファ
のうち、最大の必要サイズに合わせて全てのエミュレー
ションモードでダウンロードバッファサイズを設定する
と、ダウンロードバッファサイズのあまり必要のないエ
ミュレーションモードにおいても必要以上のメモリ領域
をダウンロードバッファとして確保することになり、非
常に無駄になる。
【0004】また、ホストコンピュータからの送信デー
タを受信するための印刷装置内の受信バッファサイズが
大きい程、ホストコンピュータから一度にデータを送信
する容量が大きくなり、ホストコンピュータを早く開放
することができるため印刷装置の受信バッファは大きい
程好ましい。しかしながらむやみに大きくするとメモリ
の容量を増やしていく必要がありコスト的には不利にな
る。
【0005】本発明は上記従来例に鑑みてなされたもの
で、印刷装置内の限られたメモリ領域において無駄な領
域を省くと共に、省かれた領域を受信バッファに割り付
けることでメモリを有効利用し、コストを上げることな
く印刷装置内の受信バッファサイズを増大することので
きるバッファ管理方法及びそれを用いた印刷装置を提供
することを目的とする。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、本発明のバッファ管理方法は次のような構成からな
る。すなわち、所定サイズのメモリ上に連続して配置さ
れたデータ格納領域およびリングバッファを管理するバ
ッファ管理方法であって、複数のエミュレーションモー
ドの中で必要なデータ格納領域が最も大きなもののデー
タ格納領域の初期設定サイズと、決定されたエミュレー
ションモードにおいて必要なデータ格納領域のサイズと
に基づいて、データ格納領域として減らせるサイズを算
出する算出工程と、前記リングバッファの端部に有効な
データが格納されていないことを判定する判定工程と、
前記判定工程の結果、前記リングバッファの端部に有効
なデータが格納されていないと判定された場合、前記リ
ングバッファと前記データ格納領域との境界を移動し
て、前記算出工程により算出されたサイズ分前記リング
バッファを拡張する拡張工程とを備える。
【0007】また、本発明の印刷装置はつぎのような構
成からなる。すなわち、複数のエミュレーションモード
を実行する印刷装置であって、所定サイズのメモリ手段
と、複数のエミュレーションモードの内、最大のダウン
ロードバッファを要するエミュレーションモードに合わ
せて、前記メモリ手段にダウンロードバッファを割り当
て、残りを前記ホストからの受信データを格納するリン
グバッファに割り当てる割り当て手段と、前記ホスト装
置からデータを受信する受信手段と、前記受信手段によ
り受信したデータに応じてエミュレーションモードを判
定する判定手段と、判定されたエミュレーションモード
に必要なダウンロードバッファのサイズと、前記割り当
て手段により割り当てられたダウンロードバッファのサ
イズとの差分を算出する算出手段と、前記リングバッフ
ァの端部に有効なデータが格納されていないことを判定
する判定手段と、前記判定手段の結果、前記リングバッ
ファの端部に有効なデータが格納されていないと判定さ
れた場合、前記リングバッファと前記ダウンロードバッ
ファとの境界を移動して、前記算出手段により算出され
たサイズ分前記リングバッファを拡張する拡張手段とを
備える。または、所定サイズのメモリ上に連続して配置
されたデータ格納領域およびリングバッファを管理する
印刷装置であって、複数のエミュレーションモードの中
で必要なデータ格納領域が最も大きなもののデータ格納
領域の初期設定サイズと、決定されたエミュレーション
モードにおいて必要なデータ格納領域のサイズとに基づ
いて、データ格納領域として減らせるサイズを算出する
算出手段と、前記リングバッファの端部に有効なデータ
が格納されていないことを判定する判定手段と、前記判
定手段による判定の結果、前記リングバッファの端部に
有効なデータが格納されていないと判定された場合、前
記リングバッファと前記データ格納領域との境界を移動
して、前記算出手段により算出されたサイズ分前記リン
グバッファを拡張する拡張手段とを備える。
【0008】これにより、無駄なメモリ領域を省くと共
にリングバッファを拡張することができる。
【0009】
【発明の実施の形態】
[第1の実施形態]本発明の第1の実施形態であるプリ
ンタの構成を図5乃至図7に示し、そのプリンタにおけ
るバッファ管理の手順を図1及び図2に示す。 <プリンタの構成>図5はプリンタの構成を示すブロッ
ク図である。図において、CPU51は、ROM53あ
るいはRAM52に格納されたプログラムを実行するこ
とで、装置全体を制御し、印刷処理を実現する。RAM
2にはプログラムの他、受信バッファ521やダウンロ
ードバッファ522が確保される。また、ROM53に
は、プログラムの他、フォントデータなどが格納され
る。インターフェース部54はホストコンピュータと接
続され、それを介してデータを受信するとともに、プリ
ンタの状態などをホストに送り出す。操作部55は、オ
ペレータに状態を表示するディスプレイパネルや、オペ
レータが指示を入力するためのキーボードなどを含む。
印刷部56は、画像として展開されたデータを紙などの
媒体上に印刷する。
【0010】図6は、印刷部56がレーザビーム方式で
ある場合の構成を示す断面図である。
【0011】図において、740はLBP本体であり、
供給される文字パターン等を基に、記録媒体である記録
紙上に像を形成する。700は操作のためのスイツチ及
びLED表示器などが配されている操作パネル、701
はLBP740全体の制御及び文字パターン情報等を解
析するプリンタ制御ユニツトである。このプリンタ制御
ユニツト701は主に文字パターン情報をビデオ信号に
変換してレーザドライバ702に出力する。
【0012】レーザドライバ702は半導体レーザ70
3を駆動するための回路であり、入力されたビデオ信号
に応じて半導体レーザ703から発射されるレーザ光7
04をオン・オフ切替えする。レーザ光704は回転多
面鏡705で左右方向に振られて静電ドラム706上を
走査する。これにより、静電ドラム706上には文字パ
ターンの静電潜像が形成される。この潜像は静電ドラム
706周囲の現像ユニツト707により現像された後、
記録紙に転写される。この記録紙にはカツトシートを用
い、カツトシート記録紙はLBP740に装着した用紙
カセツト708に収納され、給紙ローラ709及び搬送
ローラ710と711とにより装置内に取込まれて、静
電ドラム706に供給される。
【0013】図7は、印刷部56としてインクジェット
方式を用いた場合の印刷部56の概観図である。同図に
おいて、駆動モータ5013の正逆回転に連動して駆動
力伝達ギア5011,5009を介して回転するリード
スクリュー5005の螺旋溝5004に対して係合する
キャリッジHCはピン(不図示)を有し、矢印a,b方
向に往復移動される。このキャリッジHCには、インク
ジェットカートリッジIJCが搭載されている。500
2は紙押え板であり、キャリッジの移動方向に亙って紙
をプラテン5000に対して押圧する。5007,50
08はフォトカプラで、キャリッジのレバー5006の
この域での存在を確認して、モータ5013の回転方向
切り換え等を行うためのホームポジション検知手段であ
る。5016は記録ヘッドの前面をキャップするキャッ
プ部材5022を支持する部材で、5015はこのキャ
ップ内を吸引する吸引手段で、キャップ内開口5023
を介して記録ヘッドの吸引回復を行う。5017はクリ
ーニングブレードで、5019はこのブレードを前後方
向に移動可能にする部材であり、本体支持板5018に
これらが支持されている。ブレードは、この形態でなく
周知のクリーニングブレードが本例に適用できることは
言うまでもない。又、5021は、吸引回復の吸引を開
始するためのレバーで、キャリッジと係合するカム50
20の移動に伴って移動し、駆動モータからの駆動力が
クラッチ切り換え等の公知の伝達手段で移動制御され
る。
【0014】これらのキャッピング、クリーニング、吸
引回復は、キャリッジがホームポジション側の領域に来
た時にリードスクリュー5005の作用によってそれら
の対応位置で所望の処理が行えるように構成されている
が、周知のタイミングで所望の作動を行うようにすれ
ば、本例にはいずれも適用できる。 <バッファの管理>上記のようなプリンタ装置内のRA
M52において、ダウンロードバッファエリア522及
び受信バッファエリア521用として、連続したメモリ
アドレス領域を確保する。図2は、装置の電源を投入し
た時点から実行される受信バッファ及びダウンロードバ
ッファ確保の手順であり、CPU51によりプログラム
を実行することで実現される。なお、以下の説明におい
ては、受信バッファはアドレスの小さい方から書込み/
読み出しが行われるものとする。
【0015】装置の電源投入直後に処理が開始されると
(ステップS1)、バッファのために確保されているメ
モリ領域上において、複数のエミュレーションモードの
中で最も大きなサイズのダウンロードバッファを、前記
確保されているメモリ領域の最終(最大)アドレスから
前(アドレスの小さいほう)に割り付ける(ステップS
2)。残りのエリアが受信バッファ領域とし割り当てら
れ、リングバッファを構成する(ステップS2)。な
お、ホストコンピュータからの受信データは、割り付け
られた受信バッファアドレスの先頭アドレスから最終ア
ドレスに向かって、ライトポインタが示すアドレスに従
って格納される。また、受信バッファへ書き込まれたデ
ータは、リードポインタにしたがって書かれた順番に従
って読み出される。従って、リードポインタとライトポ
インタは受信バッファ領域に割り当てられた先頭アドレ
ス(最小)と最終(最大)アドレスを連結して構成され
たリングバッファの先頭アドレスと最終アドレスの間の
アドレスを指し示すことになる。図1(a)は、こうし
て設定された受信バッファ(受信用リングバッファ)と
ダウンロードバッファとを示している。
【0016】次にホストコンピュータからの送信データ
によりエミュレーションの自動判別を行なってエミュレ
ーションのモードを決定する(ステップS3)。
【0017】エミュレーションモードが決定されると、
決定されたエミュレーションモードにおいて必要なダウ
ンロードバッファサイズが、電源投入直後にステップS
2で設定された初期設定サイズより小さい場合は、不要
となったダウンロードバッファ領域を受信バッファ領域
に置き換える。この際、既に受信バッファへ書き込まれ
たデータを、リードポインタに従って書かれた順番に読
み出す必要があるが、この時点でのリードポインタとラ
イトポインタの受信バッファアドレス上の位置関係は、
図1(a)の状態もしくは図1(b)の状態が考えら
れ、受信バッファの読み出しはこの状態によって正しく
行われないことがある。図1(b)の状態、すなわち受
信バッファの端部に有効なデータが格納されていない場
合においては、受信バッファの最終アドレスは使用され
ていないため、このまま受信バッファ最終アドレスを大
きくすることで受信バッファを拡張できる。この場合、
ライトポインタは設定変更により拡張された最終アドレ
スまで移動してデータを書き込ませ、またリードポイン
タも、受信バッファ拡張時に既にデータが格納されてい
るアドレスを指し示した後、拡張部分に格納されたデー
タアドレスを指し示しながら、設定変更後の受信バッフ
ァ最終アドレスに向かって移動してデータを読み出す。
このため、装置が稼働中であっても、受信されたデータ
は受信した順番で正確に読み出すことができる。
【0018】しかし、図1(a)に示した、受信バッフ
ァの端部に有効なデータが格納された状態、すなわち、
受信バッファの最終アドレスにデータが書き込まれた状
態で受信バッファの最終アドレスを大きくすると、ライ
トアドレスポインタについては、すでに格納されている
受信データに続けてその後に受信するデータを格納し、
変更後の受信バッファ最終アドレスまで移動するため問
題はない。しかし、この場合には、リードアドレスポイ
ンタも受信バッファ最終アドレス設定変更後のアドレス
まで移動してしまう。そのため、拡張されただけで未だ
受信データの書き込まれていない領域からデータを読み
出すことになる。したがって、受信バッファ及びダウン
ロードバッファの再割り当ては、図1(b)の状態で行
なわねばならない。
【0019】そこで、初期設定のダウンロードバッファ
ダウンサイズとモード判定後のそれを比較し(ステップ
S3,S4)、もし縮小できるならば、ロードバッファ
サイズ変更を行なう時点で、受信バッファのライトポイ
ンタのアドレス値とリードアドレスポインタのアドレス
値を比較する(ステップS6)。リードポインタアドレ
ス値がライトポインタアドレス値よりも小さい場合は図
1(b)の状態にあるため、そのまま受信バッファの最
終アドレスを大きくする(ステップS7)。そうでない
とき、すなわち図1(a)の状態にあるときは、受信デ
ータの処理が進むのを待ち、リードポインタアドレス値
がライトポインタアドレス値よりも小さくなった時点で
受信バッファの最終アドレスを大きくすることにより、
受信されたデータを正確に読み出すことができる。
【0020】なお、受信バッファを拡張するとは、ライ
ト/リードポインタを、データの書込み/読み出しごと
に進める手順において、リングを形成するための最終ア
ドレスを変更することでもある。すなわち、リングバッ
ファの場合には、データを書き込む、あるいは読み出す
際にポインタを移動するが、そのときに移動したアドレ
スが最終アドレスを越えているか判定し、越えていれば
先頭のアドレスに戻すという操作を行う。この時の判定
基準となる最終アドレスがステップS7により変更され
ることになる。
【0021】以上の手続を行なうことにより既に格納さ
れている受信データの正確な読み出しが可能で、かつ無
駄なメモリ領域を受信バッファ領域に割り当てること
で、従来のプリンタ装置内のメモリサイズを拡張するこ
となく、受信バッファサイズを大きくできる。 [第2の実施形態]図3及び図4に、図5〜図7に示し
たプリンタにおけるもうひとつのバッファ管理手順の説
命ず及びフローチャートを示す。
【0022】第1の実施形態においては、ダウンロード
バッファをプリンタ装置内のあらかじめ確保されたメモ
リ領域の末尾から割り付けたのに対して、本実施例で
は、ダウンロードバッファ領域を前記メモリ領域の先頭
から割り付けるものである。
【0023】自動エミュレーション判定によりエミュレ
ーションモードの決定が行なわれた時点において、それ
までに受信したホストコンピュータからの受信データは
受信領域において図3(a)もしくは図3(b)のどち
らかの状態である。従って、本実施例においても第1の
実施例同様、図3(b)の状態の場合は、メモリ領域の
先頭から必要なダウンロードバッファサイズを確保した
後、不要になったダウンロードエリアをそのまま受信リ
ングバッファの先頭(最小)アドレスの前に割り付けて
受信バッファを拡張し、図3(a)の状態の場合はリー
ドポインタアドレス値がライトポインタアドレス値より
小さくなるまで待ち、図3(b)の状態でバッファのサ
イズ切替を行なう。
【0024】図3にその様子が示されているが、図1の
場合とは、受信バッファとダウンロードバッファとが入
れ代わったという点で相違する。
【0025】また、図4は受信バッファを拡張する処理
のフローチャートであるが、図2とはステップS7が相
違している。すなわち、ステップS7’において、受信
バッファの最終アドレスを変えるのではなく、先頭アド
レスを変更して拡張する。
【0026】このようにして、第1の実施例と同様の効
果を得ることが出来る。
【0027】なお、本発明は、プリンタに限らず、複写
機,ファクシミリ装置など、ダウンロードバッファと受
信バッファとを必要とする装置であれば適用することが
できる。
【0028】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても達成される。
【0029】この場合、記憶媒体から読出されたプログ
ラムコード自体が本発明の新規な機能を実現することに
なり、そのプログラムコードを記憶した記憶媒体は本発
明を構成することになる。
【0030】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0031】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0032】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0033】
【発明の効果】以上説明したように、本発明によれば、
異なる複数のエミュレーションモードの自動切替を行な
う場合に、各エミュレーションモードにおいて必要とさ
れる、メモリ上に連続して配置されたデータ格納領域お
よびリングバッファのサイズを、複数のエミュレーショ
ンモードの中で最も大きいものに必要なデータ格納領域
の初期設定サイズと、決定されたエミュレーションモー
ドにおいて必要なデータ格納領域のサイズとに基づいて
設定することができ、メモリ領域を無駄なく使用でき
る。または、異なる複数のエミュレーションモードの自
動切替を行なう場合に、各エミュレーションモードにお
いて必要とされるダウンロードバッファサイズを設定す
ることができ、メモリ領域を無駄なく使用できる。ま
た、残りのメモリエリアを受信バッファ領域とするた
め、メモリサイズを増やすことなく受信バッファサイズ
を増やすことが可能である。
【0034】
【図面の簡単な説明】
【図1】本発明の第1の実施形態におけるバッファサイ
ズ管理を説明する図である。
【図2】本発明の第1の実施形態におけるバッファサイ
ズ変更の流れを説明するフローチャートである。
【図3】本発明の第2の実施形態おけるバッファサイズ
管理を説明する図である。
【図4】本発明の第2の実施形態におけるバッファサイ
ズ変更の流れを説明するフローチャートである。
【図5】発明の実施の形態におけるプリンタ装置の構成
を示すブロック図である。
【図6】レーザビーム方式のプリンタの断面図である。
【図7】インクジェット方式のプリンタの概観図であ
る。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 3/12 G06F 12/02 540

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】 所定サイズのメモリ上に連続して配置さ
    れたデータ格納領域およびリングバッファを管理するバ
    ッファ管理方法であって、複数のエミュレーションモードの中で必要なデータ格納
    領域が最も大きなもののデータ格納領域の初期設定サイ
    ズと、決定されたエミュレーションモードにおいて必要
    なデータ格納領域のサイズとに基づいて、 データ格納領
    域として減らせるサイズを算出する算出工程と、 前記リングバッファの端部に有効なデータが格納されて
    いないことを判定する判定工程と、 前記判定工程の結果、前記リングバッファの端部に有効
    なデータが格納されていないと判定された場合、前記リ
    ングバッファと前記データ格納領域との境界を移動し
    て、前記算出工程により算出されたサイズ分前記リング
    バッファを拡張する拡張工程とを備えることを特徴とす
    るバッファ管理方法。
  2. 【請求項2】 前記拡張工程は、前記判定工程の結果、
    前記リングバッファの端部に有効なデータが格納されて
    いると判定された場合、前記リングバッファの端部に有
    効なデータが格納されていない状態になるまで待機する
    ことを特徴とする請求項1に記載のバッファ管理方法。
  3. 【請求項3】 前記判定工程は、前記リングバッファの
    書き込み位置を示すライトポインタと読み出し位置を示
    すリードポインタとを比較して、端部に有効なデータが
    格納されていないことを判定することを特徴とする請求
    項1或いは2に記載のバッファ管理方法。
  4. 【請求項4】 前記リングバッファは、ホスト装置から
    の受信データを格納する受信バッファであり、前記デー
    タ格納領域はホスト装置からダウンロードデータを格納
    するダウンロードバッファであることをことを特徴とす
    る請求項1乃至3のいずれかに記載のバッファ管理方
    法。
  5. 【請求項5】 前記算出工程の前に、前記ホスト装置か
    ら受信したデータに基づいて前記データ格納領域として
    確保すべきサイズを認識する工程を更に備えることを特
    徴とする請求項4に記載のバッファ管理方法。
  6. 【請求項6】 複数のエミュレーションモードを実行す
    る印刷装置であって、 所定サイズのメモリ手段と、 複数のエミュレーションモードの内、最大のダウンロー
    ドバッファを要するエミュレーションモードに合わせ
    て、前記メモリ手段にダウンロードバッファを割り当
    て、残りを前記ホストからの受信データを格納するリン
    グバッファに割り当てる割り当て手段と、 前記ホスト装置からデータを受信する受信手段と、 前記受信手段により受信したデータに応じてエミュレー
    ションモードを判定する判定手段と、 判定されたエミュレーションモードに必要なダウンロー
    ドバッファのサイズと、前記割り当て手段により割り当
    てられたダウンロードバッファのサイズとの差分を算出
    する算出手段と、 前記リングバッファの端部に有効なデータが格納されて
    いないことを判定する判定手段と、 前記判定手段の結果、前記リングバッファの端部に有効
    なデータが格納されていないと判定された場合、前記リ
    ングバッファと前記ダウンロードバッファとの境界を移
    動して、前記算出手段により算出されたサイズ分前記リ
    ングバッファを拡張する拡張手段とを備えることを特徴
    とする印刷装置。
  7. 【請求項7】 前記判定工程は、前記リングバッファへ
    の書き込みアドレスを示すライトポインタと、書き込ま
    れたデータの読み出しアドレスを示すリードポインタと
    を比較し、有効なデータがリングバッファの端部に格納
    されていないことを判定することを特徴とする請求項
    記載の印刷装置。
  8. 【請求項8】 所定サイズのメモリ上に連続して配置さ
    れたデータ格納領域およびリングバッファを管理する印
    刷装置であって、 複数のエミュレーションモードの中で必要なデータ格納
    領域が最も大きなもののデータ格納領域の初期設定サイ
    ズと、決定されたエミュレーションモードにおいて必要
    なデータ格納領域のサイズとに基づいて、データ格納領
    域として減らせるサイズを算出する算出手段と、 前記リングバッファの端部に有効なデータが格納されて
    いないことを判定する 判定手段と、 前記判定手段による判定の結果、前記リングバッファの
    端部に有効なデータが格納されていないと判定された場
    合、前記リングバッファと前記データ格納領域との境界
    を移動して、前記算出手段により算出されたサイズ分前
    記リングバッファを拡張する拡張手段とを備えることを
    特徴とする印刷装置。
  9. 【請求項9】 前記拡張手段は、前記判定手段による判
    定の結果、前記リングバッファの端部に有効なデータが
    格納されていると判定された場合、前記リングバッファ
    の端部に有効なデータが格納されていない状態になるま
    で待機することを特徴とする請求項8に記載の印刷装
    置。
  10. 【請求項10】 前記判定手段は、前記リングバッファ
    の書き込み位置を示すライトポインタと読み出し位置を
    示すリードポインタとを比較して、端部に有効なデータ
    が格納されていないことを判定することを特徴とする請
    求項8或いは9に記載の印刷装置。
JP00195496A 1996-01-10 1996-01-10 バッファ管理方法及びそれを用いた印刷装置 Expired - Fee Related JP3486498B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP00195496A JP3486498B2 (ja) 1996-01-10 1996-01-10 バッファ管理方法及びそれを用いた印刷装置
US08/766,110 US6441917B1 (en) 1996-01-10 1996-12-16 Buffer memory managing method and printing apparatus using the method
DE69616970T DE69616970T2 (de) 1996-01-10 1996-12-17 Pufferspeicherverwaltungsverfahren und Drucker, der dieses verwendet
EP96309183A EP0784287B1 (en) 1996-01-10 1996-12-17 Buffer memory managing method and printing apparatus adopting the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00195496A JP3486498B2 (ja) 1996-01-10 1996-01-10 バッファ管理方法及びそれを用いた印刷装置

Publications (2)

Publication Number Publication Date
JPH09190308A JPH09190308A (ja) 1997-07-22
JP3486498B2 true JP3486498B2 (ja) 2004-01-13

Family

ID=11515999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00195496A Expired - Fee Related JP3486498B2 (ja) 1996-01-10 1996-01-10 バッファ管理方法及びそれを用いた印刷装置

Country Status (4)

Country Link
US (1) US6441917B1 (ja)
EP (1) EP0784287B1 (ja)
JP (1) JP3486498B2 (ja)
DE (1) DE69616970T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001005721A (ja) 1999-06-17 2001-01-12 Nec Ic Microcomput Syst Ltd Dspによるリング・バッファ用メモリ確保によるフィルタ処理方法及びそのフィルタ処理システム
JP3520500B2 (ja) * 2000-07-26 2004-04-19 セイコーエプソン株式会社 プリンタ、プリンタの制御方法、そのためのプログラム、及び、そのプログラムを記録した記録媒体
US6801991B2 (en) * 2001-12-21 2004-10-05 Agere Systems Inc. Method and apparatus for buffer partitioning without loss of data
JP4893071B2 (ja) * 2006-03-31 2012-03-07 日本電気株式会社 バッファ回路、および、バッファ制御方法
US9026735B1 (en) * 2011-11-18 2015-05-05 Marvell Israel (M.I.S.L.) Ltd. Method and apparatus for automated division of a multi-buffer
JP6127552B2 (ja) * 2013-02-07 2017-05-17 株式会社リコー 情報処理装置
DE102015209486A1 (de) * 2015-05-22 2016-11-24 Robert Bosch Gmbh FIFO Speicher mit im Betrieb veränderbarem Speicherbereich
DE102016211386A1 (de) * 2016-06-14 2017-12-14 Robert Bosch Gmbh Verfahren zum Betreiben einer Recheneinheit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949301A (en) 1986-03-06 1990-08-14 Advanced Micro Devices, Inc. Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
US5108207A (en) * 1988-07-20 1992-04-28 Matsushita Electric Industrial Co., Ltd. Printer with variable memory size
JP3233173B2 (ja) * 1992-01-07 2001-11-26 セイコーエプソン株式会社 ラスタイメージシリアルプリンタ
JP3201141B2 (ja) * 1994-06-02 2001-08-20 セイコーエプソン株式会社 データ受信方式
GB9510932D0 (en) 1995-05-31 1995-07-26 3Com Ireland Adjustable fifo-based memory scheme

Also Published As

Publication number Publication date
EP0784287B1 (en) 2001-11-14
US6441917B1 (en) 2002-08-27
EP0784287A3 (ja) 1997-08-27
DE69616970T2 (de) 2002-04-11
DE69616970D1 (de) 2001-12-20
EP0784287A2 (en) 1997-07-16
JPH09190308A (ja) 1997-07-22

Similar Documents

Publication Publication Date Title
JP3402914B2 (ja) 印刷制御装置及び方法
US6667812B1 (en) Information processing apparatus with device control language based program selection
JP3486498B2 (ja) バッファ管理方法及びそれを用いた印刷装置
EP0573983B1 (en) Information processing apparatus and output apparatus
EP0727731A1 (en) Image output apparatus, image output system and information processing apparatus
JP3049158B2 (ja) 文字処理装置および文字処理装置の文字処理方法
JP3382349B2 (ja) 印刷制御装置及び方法
EP0634731B1 (en) Output apparatus and method using plural data processing units
JP3445096B2 (ja) 印刷制御方法及び印刷システム及び記憶媒体
JP3809285B2 (ja) 画像形成装置及び画像形成方法
JPH09272234A (ja) 画像出力装置及びその制御方法及びコンピュータ可読メモリ
JPH0950431A (ja) フォントデータの管理方法及びこれを適用するシステム,装置
JP3192563B2 (ja) 情報処理装置及び情報処理方法
JPH08101801A (ja) 周辺機器および周辺機器の通信モード処理方法
JP2003036149A (ja) 出力装置、出力装置の制御方法、制御プログラムを提供する媒体、及び制御プログラム
JPH11221944A (ja) 印刷装置及び印刷システム
JPH09295432A (ja) プリンタ装置及びプリント制御方法
JPH0695814A (ja) 印刷データ転送方式
JPH1196086A (ja) 画像形成装置、情報処理装置、画像形成システム、及び画像形成装置と情報処理装置間の通信方法
JPH10333847A (ja) 印刷装置とその制御方法および印刷システム
US20010012125A1 (en) Data read apparatus, method, and printing apparatus
JPH08324043A (ja) 出力制御装置及び方法
JPH11191046A (ja) 印刷制御装置およびデータ処理装置および印刷制御装置のデータ管理方法およびデータ処理装置のドライバロード方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH10340168A (ja) 情報処理装置および情報処理システムおよびそれらの制御方法
JPH06135101A (ja) 記録装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031006

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

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101024

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees