JP2816184B2 - 印刷制御装置 - Google Patents
印刷制御装置Info
- Publication number
- JP2816184B2 JP2816184B2 JP16463789A JP16463789A JP2816184B2 JP 2816184 B2 JP2816184 B2 JP 2816184B2 JP 16463789 A JP16463789 A JP 16463789A JP 16463789 A JP16463789 A JP 16463789A JP 2816184 B2 JP2816184 B2 JP 2816184B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- page buffer
- unit
- printer
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K2215/00—Arrangements for producing a permanent visual presentation of the output data
- G06K2215/0002—Handling the output data
- G06K2215/0077—Raster outputting to the print element(s)
- G06K2215/008—Raster outputting to the print element(s) from more than one raster memory
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Dot-Matrix Printers And Others (AREA)
- Laser Beam Printer (AREA)
Description
ード)プリンタ、LCS(液晶)プリンタ等の光プリンタ
に代表されるページプリンタ制御する印刷制御装置に関
する。
て、光プリンタが普及しつつある。光プリンタは、印刷
制御装置を介してパソコン、ワークステーション等のホ
ストコンピュータと接続される。
れており、第2図のように構成されていた。同図におい
て、ホストコンピュータが送信したコマンド列はCPU21
によりページバッファ23へドットパターンとして描画さ
れる。1ページ分の描画が完了すると、第1ページ231
内のデータはプリンタアダプタ部24により読出された
後、パラレルシリアル変換を施され、プリンタエンジン
部25にビデオ信号として出力される。プリンタエンジン
部25では、光プリンタプロセスを実行し、紙1ページに
ついての印刷を遂行する。
部23に複数面のページ231,232,233を用意したものがあ
る。一方のページ231への描画(書込み)中に、別のペ
ージ232からプリンタエンジン部25への印刷(読出し)
を行うことにより、描画と印刷を並行処理化し、スルー
プットを高めようとしている。
込みと印刷によるページバッファ部からの読出しを無駄
時間なく行うための制御方法について配慮がなされてお
らず、高速のプリンタエンジン部や複数ページからなる
ページバッファ部を用いても、各部の動作に遊び時間が
存在するため、エンジン速度より低速度でしか印刷でき
ないという問題点があった。
リンタエンジン部の高速印刷性能を引き出すことができ
る印刷制御装置を提供することにある。
置は、少なくとも描画コマンドを含むコマンド列を格納
するコマンドバッファ部と、前記描画コマンドに従って
描画されたドットイメージデータを格納するページバッ
ファ部とを備え、描画を終えた前記ページバッファ部内
のドットイメージデータをプリンタエンジン部へ出力す
る印刷制御装置において、前記ページバッファ部に設け
た複数ページ分のページバッファと、描画処理および印
刷処理をそれぞれ描画タスクおよび印刷タスクとして実
行するためのタスク処理部と、該タスク処理部による描
画タスクおよび印刷タスクの実行を制御するタスク制御
部とを備え、該タスク制御部による制御において、前記
印刷タスクのタスク優先度を前記描画タスクのタスク優
先度より高くしたものである。
画指示用の描画コマンドを含むコマンド列を格納するコ
マンドバッファ部と、前記描画コマンドに従って描画さ
れたドットイメージデータを格納するページバッファ部
とを備え、描画を終えた前記ページバッファ部内のドッ
トイメージデータをプリンタエンジン部へ出力する印刷
制御装置において、前記ページバッファ部に設けた複数
ページ分のページバッファと、描画処理および印刷処理
をそれぞれ描画タスクおよび印刷タスクとして実行する
ためのタスク処理部と、該タスク処理部による描画タス
クおよひ印刷タスクの実行を制御するタスク制御部と、
ページバッファ管理情報を保持するページバッファ管理
テーブルと、プリンタ管理情報を保持するプリンタ管理
テーブル部とを備え、前記タスク制御部は、前記ページ
バッファ管理テーブル部の内容に応じて前記描画タスク
に空き状態にあるページバッファを前記描画タスクに割
り当てるとともに、前記両管理テーブル部の内容に応じ
て印刷待ちのページバッファおよび空き状態にあるプリ
ンタエンジン部を前記印刷タスクに割り当てるようにし
たものである。
画タスクおよび印刷タスクを含む各種タスクについてタ
スク管理情報を保持するタスク管理テーブル部を設け、
前記タスク制御部は該タク管理テーブル部の内容に従っ
てタスク制御を行う。
印刷コマンドが格納され、該印刷コマンドに応じて前記
印刷タスクの起動要求がなされる。あるいは、前記コマ
ンドバッファ部に格納されるコマンド列にはページ区切
りを明示的または暗示的に示すコマンドを含み、該コマ
ンドに応じて前記印刷タスクの起動要求がなされる。
マンド列は、描画処理および印刷処理とは非同期にホス
トコンピュータから受信される。
り実行し、前記ページバッファの空きおよびプリンタエ
ンジン部の空きを、前記CPUへの割込みを用いて前記タ
スク制御部に通知することができる。
なくとも各種描画指示用の描画コマンドを含むコマンド
列を格納するコマンドバッファ部と、前記描画コマンド
に従って描画されたドットイメージデータを格納するペ
ージバッファ部とを備え、描画を終えた前記ページバッ
ファ部内のドットイメージデータをプリンタエンジン部
へ出力する印刷制御装置において、前記ページバッファ
部に設けた複数ページ分のページバッファと、描画処理
および印刷処理をそれぞれ描画タスクおよび印刷タスク
として実行する手段と、前記各ページバッファの使用状
態を管理する手段と、前記プリンタエンジン部の使用状
態を管理する手段と、空き状態のページバッファを前記
描画タスクに割り当て、空き状態にあるプリンタエンジ
ン部を前記印刷タスクに割り当てる手段と、前記空き状
態のページバッファがない場合に前記描画タスクをペー
ジバッファ空き待ち状態として管理し、任意のページバ
ッファが空き状態となったとき当該空き待ち状態を解除
する手段と、前記プリンタエンジン部が空き状態でない
場合に前記印刷タスクをプリンタ空き待ち状態として管
理し、空き状態となったとき当該空き待ち状態を解除す
る手段とを備えたものである。
割り当てられた印刷タスクについて、当該印刷タスクを
印刷指示許可待ち状態として管理し、前記プリンタエン
ジン部の使用状態に基づき印刷指示受け付け可能となっ
た時点で当該待ち状態を解除する手段を設けてもよい。
要部数分の読出しが終了した後、当該ページバッファお
よびプリンタエンジン部を空き状態とするとともに、当
該印刷タスクは排紙終了待ち状態として管理し、排紙終
了後に当該待ち状態を解除する手段を設けてもよい。こ
の場合、排紙終了待ち状態にある印刷タスクとは別個の
印刷タスクを設け、該印刷タスクには前記空き状態とな
ったプリンタエンジン部を割り当てることが好ましい。
初めに、描画可能条件の判定が行われる。描画不可能
(ページバッファが空いていない)の場合、即座にタス
ク待ちを起動し、本タスクの状態を実行状態から待ち状
態に変えたあと、次に実行すべきタスクの選択がなされ
る。この選択は、タスク制御部の一機能としてのタスク
スケジューラまたはタスクディスパッチャが行う。
行われる。印刷不可能(描画の完了したページがページ
バッファ中にない、またはプリンタエンジン部が空き状
態でない、すなわち異常か印刷指示を受付けない状態に
あるが、プリンタを他のタスクが使用中)の場合、描画
タスクと同様、即座にタスク待ちおよびタスクスケジュ
ーラまたはタスクディスパッチャを起動する。
除するためののイベントが生じた時点で割込み処理によ
り直ちに実行可能状態へ移される。すなわち、描画タス
クは、任意のページバッファが空き状態となったときに
その待ち状態が解除され、印刷タスクは、描画済みのペ
ージバッファに対してプリンタエンジン部が空き状態と
なったときその待ち状態が解除される。その後、直ちに
タスクスケジューラを起動することにより、実行可能状
態のタスクのうちで優先度が最も高いタスクを選出し、
起動する。
タスクは、資源空き待ち状態から解除するためのイベン
トが生じた時点で割込み処理を経て直ちに、実行可能状
態へ移される。描画タスクは、後述するプリンタメモリ
コントローラからCPUへのページ読出し終了割込み(イ
ベント)により、ページバッファ空き待ち状態から解除
される。一方、印刷タスクについては後述するサブCPU
からCPUへの印刷指示許可割込み(イベント)により、
ページnについての印刷タスクが後述する印刷指示許可
待ち状態(後述する事象発生待ち状態の一つ)から解除
された後、プリンタ制御部の一機能であるプリンタフリ
ーを発行することにより、ページn+1についての印刷
タスクがプリンタ空き待ち状態から解除される。
タエンジン部の空き具合等の描画条件、印刷条件に応じ
て実行状態のタスクを切換えることにより、プリンタエ
ンジン部およびページバッファ部(複数ページからな
る)を空き時間なく使用することができるので、印刷制
御装置とプリンタエンジン部からなる印刷システムのス
ループットを向上させることができる。
1図を用いて説明する。
2、タスク処理部13、ページバッファ部14、プリンタア
ダプタ部15、及びタスク管理テーブル部(タスク制御用
待ち行列部)17からなる。
画指示用の描画コマンド、印刷表示用の印刷コマンド等
のコマンドの列は、コマンドバッファ部11へ格納され
る。なお、各ページは0個または1個以上の描画コマン
ド列と1個の印刷コマンドとして定義され、ホストコン
ピュータが送信する。コマンドバッファ部11に格納され
たコマンドはタスク制御部12により処理される。
待ち、タスク起床、タスク終了、タスクスケジューラ等
の機能を集りである。このうち、タスク生成処理は、コ
マンドバッファ部11内の各コマンドに対応してタスクを
生成し、タスク制御用待ち行列部17内の実行待ち行列へ
接続する。各ページを構成する描画コマンド列と印刷コ
マンドに対応して、描画タスクと印刷タスクが1つずつ
生成される。その接続された各タスクは順次タスク実行
処理により選出され、起動される。ここで、タスク生成
とタスク実行の時機の制御はタスクスケジューラが行
う。その内容は後述する。起動された各タスクの処理は
タスク処理部13内の描画タスク処理部131、印刷タスク
処理部132で実行される。
件を判定する。描画可能条件としてはページバッファ部
14内の各ページの空き具合を用いる。描画可能(空きあ
り)ならば、描画タスクを構成する描画コマンド列を実
行し、文字、図形、イメージ等を空いているページ(例
えばページ142)上に、ドットイメージ形式にして書込
む。描画不可能(空きなし)ならば、タスク待ち処理を
呼出し、本描画タスクをページバッファ空き待ち状態に
し、タスク管理テーブル部17内の描画条件待ち行列へ移
した後、タスクスケジューラを起動する。
定する。印刷可能条件は、ページバッファ部14とプリン
タエンジン部16の状態に基づいて決まり、描画の完了し
たページがページバッファ14内に存在し、かつ、プリン
タエンジン部16が異常でなく印刷指示を受付ける状態に
あることが必要とされる。印刷可能ならば、プリンタエ
ンジン部16への印刷指示の発行をプリンタアダプタ部15
を介して行った後、タスク待ちを起動して本印刷タスク
を印刷終了待ち状態にし、タスク管理テーブル部17内の
印刷終了待ち行列へ移した後、タスクスケジューラを起
動する。印刷不可能ならば、タスク待ち処理を呼出し
て、本印刷タスクをプリンタ空き待ち状態にし、タスク
管理テーブル部17内の印刷条件待ち行列へ移した後、タ
スクスケジューラを起動する。
示に従って、印刷指示をプリンタエンジン部16に発行し
た後、プリンタエンジン部16との間のビデオ信号インタ
ーフェースに従って、本印刷タスクの対象であるページ
バッファ142内のドットイメージデータをビデオ信号と
してプリンタエンジン部16へ出力する。
刷指示が可能になった時点で、印刷指示許可割込み処理
を起動し、1ページ分のドットイメージデータの読出し
が完了した時点で、ページ読出し終了割込み処理を起動
する。2つの割込み処理は、タスク起床処理を起動し、
各々前記印刷条件待ち行列内の先頭タスク(印刷タス
ク)又は前記描画条件待ち行列内の先頭タスク(描画タ
スク)があれば、各々最高優先度、次優先度の実行可能
状態にして、実行待ち行列へ移した後、タスクスケジュ
ーラを起動する。詳しくは、タスク起床の説明として後
述する。
バッファ部に空きが生じた時、直ちに、待たされていた
印刷タスクや描画タスクが起動される。また、タスクス
ケジューラにより、CPUは空き時間なく、印刷タスクや
描画タスクを実行する。以上のタスク制御機能によっ
て、CPU、プリンタエンジン部15、及びページバッファ
部(複数ページからなる)を空き時間なく使用すること
ができるので、スループットを向上させ、プリンタエン
ジン最高速度での印刷を実現することができる。
I、論理IC等を使用して構成することができる。
明する。
の遷移を説明する。タスクは第3図に示すように次の4
状態のうちの一つをとる。
状態 (ii)実行(ラン):現在CPUで実行中の状態 (iii)実行可能(レディ):タスクがシステムに登録
されCPUが割り当てられるのを待っている状態 (iv)待ち(ウェイト):ラン状態だったタスクが描画
条件、印刷条件等が整っていなかっため、タスク待ち処
理(スーパバイザコール、SVCと略す)を発行し、それ
らの条件が整うのを待っている状態 本発明では待ちの発生要因として、印刷条件待ち、
描画条件待ち、印刷終了待ち、の3つを用いる。
,,はそれぞれ、前記印刷指示許可割込み、ペー
ジ読出し終了割込み、及び印刷終了割込みの発生で、実
行可能状態に戻る。は印刷タスクの処理をCPUからプ
リンタアダプタ部15とプリンタエンジン部16とへ移した
後、排紙完了による印刷タスクの終了を待つ場合に用い
る。印刷終了割込みはプリンタエンジン部から正常排紙
された時点で発生する。本割込み処理に伴い再開された
印刷タスクは残りの処理(印刷済みページ通し番号の更
新とホストコンピュータへの報告)を行った後、後述す
るタスク終了処理を起動する。
(b)タスク実行、(c)タスク待ち、(d)タスク起
床、(e)タスク終了、(f)タスクスケジューラ、を
順に説明する。
なるか、又はコマンドバッファ部11が空になるまで、コ
マンドバッファ部11からコマンドを取り出し、タスクと
して実行待ち行列へ追加する。追加するタスクの優先度
は2とする。
高いタスクを実行させる。
行待ち行列から優先度がPより高く、本行列内で一番優
先度の高いタスクを探す。存在すれば、実行状態のタス
クを実行待ち行列へ移した後、その探したタスくを実行
状態にする。
一番優先度の高いタスクを探し、実行状態にする。
ク実行処理を終了する。
印刷終了待ち等の各待ち条件が発生した時点で、実行状
態から待ち状態に移し、各イベント待ち行列へ移す。
ら、タスクスケジューラを起動し、優先度の高いタスク
を実行する。
印刷終了割込み等のイベントが発生した時点で、タスク
を起床させて待ち状態から実行可能状態へ移す。具体的
には、各イベント待ち行列の先頭タスクを行列から外
し、タスク優先度を変更した後、実行待ち行列へ追加す
る。この優先度の変更で、印刷タスクは最高優先度(例
えば優先度0)とし、描画タスクは次優先度(例えば優
先度1)とする。
再スケジュールする。
ストコンピュータ10から受信した描画コマンドと印刷コ
マンドを、受信したページ順序のまま正しく印刷するこ
とができる。
ブロック(TCBと略す)を削除する。
動され、優先度の高いタスクの選出と起動が行われる。
御機能の実行 (ii)処理内容 タスク実行を起動する。タスク実行において、実行待
ち行列が空であり次に実行状態にすべきタスクがないな
らば、タスク生成を起動した後、タスク実行を再起動す
る。
ク管理テーブル部17の一例を第4図示す。
行列と第4図(b)のイベント待ち行列の2種類の待ち
行列がある。前者は前述したレディ状態のタスクとCPU
による実行を管理するためのテーブルであり、後者は前
述した印刷条件待ち、描画条件待ち、印刷終了待ち等の
イベント待ち状態のタスクを記述し、管理するためのテ
ーブルである。また、第4図(c)に実行待ち行列とイ
ベント待ち行列の構成要素であるTCB(タスクコントロ
ールブロック)の内容を示す。
em Analysis Diagram)に示す。同図(a)ないし
(j)は、それぞれ、メイン、タスクスケジューラ、描
画タスクの実行、印刷タスクの実行、第i部印刷、印刷
開始、印刷指示許可割込み処理、ページ読出し終了割込
み処理、印刷終了割込み処理、およびページ読出し開始
割込み処理の動作手順を示す。
ーフェースとしては、RS232C、セントロニクス、SCSI、
GP−IB等を用いる。
ク制御機能により、CPU、プリンタエンジン部、ページ
バッファ部を空き時間なく動作させることができるの
で、スループットを向上し、プリンタエンジンの最高速
度での印刷が行えるという効果がある。
は、第1図の装置にページバッファ管理テーブル部18と
プリンタ管理テーブル部19とを追加したものである。前
者は、複数ページからなるページバッファ部14への描画
タスクによる書込みと印刷タスクによる読出しにおい
て、ページバッファ部の使用に遊び時間を生じさせず、
またページバッファ部への各タスクによるアクセスの順
序に誤りを生じさせないために用いる。後者は、印刷タ
スクによるプリンタ(プリンタアダプタ部15とプリンタ
エンジン部16)の使用状況を管理し、プリンタの動作に
遊び時間を生じさせないために用いる。
す。第7図(a)にその全体構成を示す。
クが書込むべきページバッファNo.と次に印刷タスクが
読出すべきページバッファNo.等を記述する。
連座標情報722、給排紙部関連情報723、を用意した。こ
れらの情報721〜723の内容をそれぞれ、第7図(b)〜
(d)に示す。
状況を、第7図(e)に示す描画可能(空き)、描画
中、印刷可能(有効)、印刷開始、印刷中1、印刷中
2、のいずれかとして記述する。さらに、各ページを使
用中の描画タスクと印刷タスクを記述した。また、その
ページを空き待ちしている描画タスクを記述し、前述の
描画条件待ち行列の根のポインタとして使用した。
23には描画タスクが、描画コマンド列の一部により指示
された紙サイズ関連座標情報と給排紙部関連情報を書込
み、印刷タスクがそれらを利用して、印刷を行うように
した。
図はレーザビームプリンタを対象にした場合の例であ
る。同図(a)のプリンタ状態81としては、同図(b)
に示すように印刷タスクによる印刷指示、給排紙部変更
指示の可/不可(811,812);プリンタエンジン状態81
3;給紙部と排紙部の状態(814,815)を記述する。ま
た、同図(a)のタスク関連情報82としては、同図
(c)に示すように、プリンタ使用中の印刷タスク821;
プリンタを空き待ちの印刷タスク822;印刷終了待ちの印
刷タスク823を記述する。このうち、待ちタスク822およ
び823は前述の印刷条件待ち行列、印刷終了待ち行列の
根のポインタとして使用する。
等、他の種類のページプリンタについても、プリンタ管
理テーブル部を本実施例と同様の考え方で定義し、使用
することができる。
刷制御装置による描画、印刷等の並行処理のタイミング
図を示す。図示のように、コマンド受信、ページバッフ
ァ1〜3、プリンタのレーザ制御および紙制御は並行し
て実行されるので、プリンタおよびページバッファの使
用に空き時間が生じず、プリンタエンジンをその最高速
度で動作させることが可能となる。同図中、「描画」に
続く「有効」は、描画が完了して描画データが利用可能
な状態にあることを示している。「ページ読出し終了に
よる描画条件待ち解除」および「給紙完了による印刷条
件待ちの解除」は、前述のようにいずれもCPUに対する
割込み要求により行われる。
ンジン部16の特性によって変わり、プリンタエンジンに
よっては給紙完了の時機と一致しないこともある。しか
し、この場合でも、プリンタアダプタ部15又はプリンタ
エンジン部16が、プリンタエンジン部16の特性に応じ
て、印刷条件待ちの解除を検出し、その結果直ちにプリ
ンタアダプタ部15からCPUに対し「印刷条件待ちの解
除」割込みを発生するようにすることにより、本発明を
適用することができる。
ファ部14とプリンタ(15,16)との管理用にページバッ
ファ管理テーブル部18とプリンタ管理テーブル部19とを
用意したので、ページバッファ部とプリンタとをCPUの
管理と独立して木目細かく管理でき、また、ページバッ
ファ部やプリンタを変更した場合に、各場合について個
別に、対応する管理テーブル部とそのアクセスプログラ
ムとを変更するだけで、プログラムの更新を行うことが
できる。
を以下に列挙する。
を設けた。この効果については後述する。
リコントローラ109とサブCPU106とにより実現した。
て用いた。具体的には、(i)タスク状態とその遷移、
(ii)タスク管理テーブル部、(iii)タスク制御用マ
クロとして別の実現例を示した。
タスク起床の2機能の代わりに、本実施例では事象発生
待ち、事象発生待ち解除、資源空き待ち、資源空き待ち
解除の4機能を用意して用いた。
理テーブル部19の内容を拡張した。
ラにより起動されたタスク生成処理が、コマンドバッフ
ァ部11からコマンドを取り出してそのコマンドの種類に
応じて描画タスクや印刷タスクを生成し、実行待ち行列
に接続した。一方、本実施例では、描画タスクがその実
行状態において、コマンドバッファ部11内のコマンドを
取り出し、解釈、実行すると共に、印刷タスクの起動
(第1、第2の実施例でのタスク生成に相当)も描画タ
スクが行うようにした。別の観点からいうと、先の実施
例ではタスクを非常駐タスクとしたが、本実施例では常
駐タスクとした。
ての排紙終了待ち状態(第1、第2実施例で印刷終了待
ち状態と呼んだ)への移行と解除を、印刷終了待ち行列
とタスク待ちとタスク起床を用いて実現したが、本実施
例では、事象発生待ちと事象発生待ち解除を用いて実現
した。
成を第18図を用いて説明する。印刷制御装置は、CPUバ
ス101、ホスト通信コントローラ102、CPU103、ROMメモ
リ104、浮動小数点演算コプロセッサ105、サブCPU106、
ユーザ操作パネル107、イメージ回転用LSI108、プリン
タメモリコントローラ109、及びDRAMメモリ10Aからな
る。
号、データ信号、その他の制御信号)からなる。
9等の周辺コントローラや104,10A等のメモリと入出力を
行う。
トコンピュータ10と通信を行うためのコントローラであ
る。本通信(ホストI/Fと呼ぶ)の物理I/FとしてはSCSI
(Small Computer System Interface)、RS232C,RS422,
GP−IB(general purpose interface bus)、セントロ
ニクス、HDLC(High−Level Date Link Control)等を
用い、使用する物理I/Fの種類に応じて本コントローラ1
02のハードウェア論理として適切なものを実装する。
ラム(IPL(Initial Program Loading)プログラムとも
呼ぶ)と文字フォントの一部を格納する。
グラム、(ii)文字フォントの残り、(iii)コマンド
バッファ部メモリ、(iv)ページバッファ部メモリ、及
び(v)タスク管理テーブル、ページバッファ管理テー
ブル、プリンタ管理テーブル等の各種管理テーブル、そ
の他を格納する。これらのうち(i)と(ii)は前記IP
Lプログラムにてホストコンピュータ10からダウンロー
ドすることにより、格納する。また(i)と(ii)はDR
AMメモリ10Aに格納せず、ROMメモリ104に予め格納して
おいてもよい。また逆にROMメモリ104には文字フォント
を一切格納せず、すべてDRAMメモリ10Aに格納してもよ
い。
い浮動小数点演算を行う。イメージ回転用LSI108はCPU1
03による前記ページバッファ部メモリへの文字やイメー
ジの描画処理において、CPU103の指示に従い描画出力の
回転処理を行う。浮動小数点演算コプロセッサ105やイ
メージ回転用LSI108により、描画処理を高速化できる。
なお、描画処理の速度は低下するが、105および108は省
略してCPUにより処理することもできる。
ル107やプリンタエンジン部16との間で入出力処理を行
う。
容(通常ページバッファ部の内容)のプリンタエンジン
部16への読出し処理とDRAMメモリ10Aの制御(リフレッ
シュ等)を行う。本読出し処理は内蔵のDMA(Direct Me
mory Access)機能を用いて行い、紙面1ページ分のデ
ータのページバッファ部からの読出しが終了した時点
で、プリンタメモリコントローラ109がCPU103に対し割
り込み信号(CPUバス101内の信号の一部)をアサート
し、CPUによるページバッファ読出し終了割込み処理を
起動する。
CPU106が信号線10C−1を介し、プリンタメモリコント
ローラ109が信号線10C−2を介して、ビデオI/Fと呼ぶI
/Fに従って、通信を行う。信号線10C−2は、プリンタ
メモリコントローラ109が前述したようにページバッフ
ァ部メモリの内容をプリンタエンジン部16へ読出す画像
出力信号を搬送する。信号線10C−1はサブCPU106がプ
リンタエンジン部16へ問合せや指示のためのコマンドを
送信し、プリンタエンジン部16から応答ステータスを送
信するためのコマンド、ステータス送受信信号及び、前
記ページバッファ部メモリ内容のプリンタエンジン部16
への読出し手順を制御するための制御信号を搬送する。
示が可能になったことを検出するとともに、検出した時
点でCPU103に対し前記割込み信号をアサートし、CPU103
による後述する印刷指示許可割込み処理を起動する。
図を用いて説明する。本印刷制御装置は、第18図のCPU
をその機能ブロックとして表わしたものであり。カーネ
ル部113と各種デバイスドライバ、つまりページバッフ
ァ制御部116、プリンタ制御部117、ホスト通信制御部11
8、パネル制御部119及びコマンドバッファ部11、ページ
バッファ部14、タスク処理部13を有する。
処理のメインルーチン、各種割込み処理のメインルーチ
ン、タスク制御部12、及びタイマ制御部115からなる。
ここで、各種SVCとはタスク制御、タイマ制御、ページ
バッファ制御、プリンタ制御、ホスト通信制御、パネル
制御のためのサービス機能のことである。カーネル部は
SVC命令をCPU命令として受付けると、その要因をSVCの
入力パラメータに基づき解析、識別した後、個々のSVC
処理を各制御部12,115,116,117,118,119内の個別のSVC
処理ルーチンを起動して実行させる。また、各種割込み
はタイマハードウェア114からのタイマ割込み、プリン
タメモリコントローラ109からのページバッファ制御用
割込み、プリンタメモリコントローラ109およびサブCPU
からのプリンタ制御用割込み、ホスト通信コントローラ
102からのホスト通信制御用割込み、サブCPU106からの
パネル制御用割込みのことであり、カーネル部は割込み
要因を解析、識別した後、個々の割込み処理を各制御部
115,116,117,118,119内の個別割込み処理ルーチンを起
動して実行させる。
がら、第6表を用いて後で説明するタスク制御用マクロ
機能を本装置の各部分の起動要求(発行)に応じて実行
する。起動要求はタスク処理部13内の描画タスク処理部
131、印刷タスク処理部132、及び各種デバイスドライバ
116,117,118,119が発行する。
象発生待ち)はマクロ命令とみなせるので、タスク起動
マクロ、事象発生待ちマクロというように呼ぶ。これら
のタスク制御用マクロはタスク処理部13内の各タスクか
らコールする場合、前記SVCとしてコールするので、タ
スク起動SVC、事象発生待ちSVCというように語尾にSVC
を付けて呼び、その旨明記した。一方、プリンタ制御部
117等のSVC処理や割込み処理からこれらのタスク制御用
マクロをコールする場合、これらはサブルーチンとして
コールしたので、タスク起動マクロ、事象発生待ちマク
ロというように語尾にSVCを付けず、マクロを付けて呼
んだ。
各種事象の終了監視を行う。例えば、排紙終了(カット
シートタイプの印刷用紙の排紙終了)を監視する(第15
図(i)と(j)を参照)。タイマ制御部への終了監視
はそのためのマクロを用意し、そのマクロを本装置の各
部分131,132,116,117,118,119が発行し起動要求するこ
とで行う。
を持つ。
バッファリザーブ、ページバッファフリーという2つの
SVCを用意して、ページバッファ管理テーブル部18を参
照しながら、Nページからなるページバッファの資源管
理、つまり空き状態の管理を行う。またページバッファ
制御部116は第2表に示すように、プリンタメモリコン
トローラ109からの割込みに従って、ページバッファ読
出し終了割込み処理と呼ぶ個別割込み処理を行う。
御用SVCを発行することにより、ページバッファ部14の
制御を本ページバッファ制御部116に依頼する。
ブ、プリンタフリー、印刷指示等のSVCを用意して、プ
リンタ管理テーブル部19を参照しながら、プリンタエン
ジン部16の資源管理(空き状態管理)とプリンタエンジ
ン部16との入出力制御を行う。またプリンタ制御部117
は第4表に示すように、サブCPU106、タイマハードウェ
ア114からの割込みに従って、印刷指示許可割込み処
理、ページ読出し開始割込み処理、排紙終了タイマ割込
み処理等の個別割込み処理を行う。タスク処理部13内の
各タスク131,132は上記プリンタ制御用SVCを発行するこ
とにより、プリンタエンジン部16の資源管理とプリンタ
エンジン部16との入出力制御を本プリンタ制御部117へ
依頼する。
制御するための個別SVC処理と個別割込み処理からな
る。
ネル107を制御するための個別SVC処理と個別割込み処理
からなる。
設けた効果は以下の3項目である。
資源管理機能、それらとの入出力制御機能をタスク処理
部13と独立させることができる。つまり、ページバッフ
ァ部14とプリンタ(106,16)との管理用にページバッフ
ァ制御部116とページバッファ管理テーブル部18とプリ
ンタ制御部117とプリンタ管理テーブル部19とを用意し
たので、ページバッファ部とプリンタとをCPUやタスク
の管理と独立して木目細かく管理できる。
を接続したり、ページバッファ部14の容量、各ページバ
ッファのサイズ、ページバッファ総面数N等の仕様を変
える場合、タスク処理部13の内容は変えずに、ページバ
ッファ制御部116やプリンタ制御部117の必要箇所のみを
変更すればよい。
(割込みレベル最低l)かつシステムモードで行い、カ
ーネル部113と各種デバイスドライバ116,117,118,119の
処理はCPUをタスクレベルより上位の割込みレベルm
(m>l)かつユーザモードで行っている。
部13で操作できないように排他制御することができ、本
印刷制御装置の制御プログラムの信頼性を向上できる。
する。
マンドの列は、コマンドバッファ部11へ格納される。な
お、各ページは1個以上のコマンド列として定義され、
ホストコンピュータが送信する。コマンドバッファ部11
に格納されたコマンドはタスク処理部13内の描画タスク
処理部131により処理される。
べきページバッファNo(当該描画ページバッファNoと呼
ぶ)についての処理の初めに、ページバッファ制御部の
一機能であるページバッファリザーブSVCが発行され
る。ページバッファリサーブSVCは、当該描画ページバ
ッファNoのページバッファが空き状態ならば、SVC発行
タスクを本ページバッファのリソース使用者として登録
する。ページバッファリサーブSVC処理にて、前記当該
ページバッファが空き状態でないならば、本SVC処理は
タスク制御部の一機能である資源空き待ちマクロを起動
し、SVC発行タスクである描画タスクの状態を実行状態
からページバッファ空き待ち状態に変え、当該ページバ
ッファ用の空き待ち行列へ接続した後、タスクディスパ
ッチャを起動する。タスクディスパッチャは、前記タス
クスケジューラと同様に次実行タスクを選択、起動し、
前実行タスクの描画タスクを実行可能状態に戻す機能を
有するが、前記タスクスケジューラと異なりタスクの生
成等は実行しないので本明細書では区別して用いた。
ページバッファをリサーブできたならば、コマンドバッ
ファ部11内のコマンド列を受信順に解釈、実行し、文
字、図形、イメージ等をリザーブした当該ページバッフ
ァ(例えばページバッファ142)上に、ドットイメージ
形式に展開、描画して書込む。本コマンドの実行処理に
おいて、改頁条件[フォームフィード等のページ区切り
を明示的に示すコマンド、又は紙サイズ指定、印字方向
指定(ポートレート/ランドスケープ選択)等のページ
区切りを暗黙的に示すコマンド等により示される]を検
出すると、描画タスク処理部131は当該ページバッファ
についての描画処理を終了し、当該ページバッファにつ
いて印刷タスクを起動する。
マンドバッファ部11の内容を読出したとき、コマンドバ
ッファ部11が空きの場合がある。この場合、描画タスク
は事象発生待ちSVCを発行することにより、本タスクの
状態をコマンド受信待ち状態に移す。このコマンド受信
待ち状態の描画タスクは、ホスト通信制御部118がホス
トコピュータ10からコマンドをホスト通信コントローラ
102を介して受信し、コマンドバッファ部11に格納した
時点で事象発生待ち解除マスロを発行することにより、
解除される。
11が空きの場合、コマンド受信待ち状態となり、他のタ
スクが実行されるので、CPUを無駄なく活用できる。ま
た、上記コマンドバッファ部11が空きであることを検出
すると、本印刷制御装置はホスト通信制御部118を介し
て、その旨ホストコンピュータ10へ連絡する。ホストコ
ンピュータ10はこの連絡を受けると直ちにコマンドを印
刷制御装置に送出し、印刷制御装置は直ちにそれらのコ
マンドを処理することができる。従って、コマンドバッ
ファ部11の容量を越える文章の印刷においても、上記コ
マンドバッファ部11を空き時間なく活用して、高スルー
プットで印刷することができる。
先度を高くしてあるので、描画スクによりタスク起動SV
Cを用いて起動されると、直ちに印刷タスクは実行状態
になる。つまり、タスクディスパッチャは次実行タスク
として印刷タスクを選択、起動し、前実行タスクの描画
タスクは実行可能状態に戻す。
刷タスク処理部132では、初めにプリンタ制御部の一機
能であるプリンタリザーブSVCが発行される。プリンタ
リザーブSVCは、プリンタエンジン部16が印刷指示を
受付ける状態にあり(ページバッファ管理テーブル部16
上の印刷指示可/不可フラグが可である)、かつプリ
ンタをどの印刷タスクも使用中でない(ページバッファ
管理テーブル部16上のプリンタを使用中のタスク番号が
エンプティ)ならば、前記印刷指示可/不可フラグを不
可にするとともに、プリンタの使用者として本SVCの発
行タスクである印刷タスクのタスク番号を登録する。
うち少くとも一方が成立しないならば、本SVC処理はタ
スク制御部の一機能である資源空き待ちマクロを起動
し、本SVC発行タスクである印刷タスクの状態を実行状
態からプリンタ空き待ち状態に変え、プリンタ空き待ち
行列へ接続した後、タスクディスパッチャを起動する。
タスクディスパッチャは次実行タスクを選択、起動し、
前実行タスクの印刷タスクを実行可能状態へ戻す。
リザーブできたならば、当該印刷ページバッファNoのペ
ージバッファの描画・印刷状態が印刷可能であることを
確認した後、一連のプリンタ制御用SVC(第3表に示し
たレディ状態確認SVC、給紙部確認SVC、給紙部指示SV
C、排紙部確認SVC、排紙部指示SVC、印刷指示SVC)を発
行する。
タフリー以外のプリンタエンジン部16との間で入出力を
行うSVCは、サブCPU106やプリンタメモリコントローラ1
09を介して、プリンタエンジン部16との間のビデオイン
ターフェースに従いながら一連の入出力処理をプリンタ
エンジン部16との間で行い、本印刷タスクの印刷対象で
あるページ142内のドットイメージデータをビデオ信号
としてプリンタエンジン部16へ出力する。
いては、タスク制御用の事象発生待ちマクロを用いてSV
C発行タスク(つまり印刷タスク)が印刷指示許可待ち
状態に移される。
繰り返すと、印刷タスクはプリンタフリーSVCを発行す
る。プリンタフリーSVCは前記印刷指示可/不可フラグ
を可にし、プリンタを使用中の印刷タスク番号をエンプ
ティにするとともに、プリンタ空き待ち状態のタスクが
あるならが、資源空き待ち解除マクロをプリンタ空き待
ち行列に対して発行し、そのプリンタ空き待ち状態のタ
スクをすべて実行可能状態へ戻す。
バッファについて一連のプリンタ制御用SVCの発行を総
印刷部数回繰り返している間は、本印刷タスクがプリン
タの使用権を保ちつづけ、それが終了した時点で初めて
プリンタフリーSVCを発行し、プリンタの使用権を解放
するようにした。その理由は、上記第1の印刷タスクが
一連のプリンタ制御用SVCの発行を繰り返している途中
で、第2の印刷タスクが別のページバッファについて一
連のプリンタ制御用SVCの発行を開始することを許す
と、これら二つの印刷タスクによるプリンタ制御用SVC
の発行を重なりあい、印刷結果が乱れる可能性があるた
めである。
待ちSVCを用いて、排紙終了待ち状態に移される。本排
紙終了待ち状態は、第15図(j)に示すページ読出し開
始割込み処理にて起動される排紙終了監視タイマのタイ
ムアップ割込み処理(以後排紙終了タイマ割込み処理と
呼ぶ、第15図(i)参照)において、事象発生待ち解除
マクロを発行することにより、解除される。
了SVCを発行し、処理を終了する。
可能になった時点で、プリンタ制御部117内の印刷指示
許可割込み処理を起動する。一方、プリンタメモリコン
トローラ109は、1ページ分のドットイメージデータの
読出しが完了した時点で、ページバッファ制御部116内
のページバッファ読出し終了割込み処理を起動する。
可待ち状態のタスクを、事象発生待ち解除マクロを用い
て実行可能状態へ戻す。その結果、総印刷部数が2以上
のマルチページコピーにおいて、未だ残り印刷部数があ
る場合本割込み処理により印刷タスクが印刷指示の発行
が可能かつ実行可能状態になったタイミングで即座に前
記一連のプリンタ制御用SVCの発行を繰返し、残り印刷
部数分の印刷を指示できる。従って、同一ページのマル
チページコピーをプリンタエンジン最高速度の高いスル
ープットで実現できる。また、残り印刷部数が0の場
合、印刷タスク(仮に印刷タスクAと呼ぶ)は前記タイ
ミングでプリンタフリーSVCを発行する。従って、次の
ページを印刷するための印刷タスク(仮に印刷タスクB
と呼ぶ)がプリンタ空き待ち状態になっていた場合、印
刷タスクAがプリンタフリーSVCを発行すると即座に、
印刷タスクBがプリンタ空き待ち状態から解除され、空
いたプリンタをリザーブし、一連のプリンタ制御用SVC
を発行することができる。従って、別のページの連続印
刷をプリンタエンジン最高速度の高いスループットで実
現できる。
ジの連続印刷において、一連のプリンタ制御用SVCとし
て、印刷指示SVCのみを発行する(レディ状態確認SVC、
給紙部確認SVC、給紙部指示SVC、排紙部確認SVC、排紙
部指示SVCの発行を省略する)ようにすることもでき
る。この場合、プリンタエンジン部に対し印刷指示を、
プリンタエンジン部が許す最短の間隔で発行することが
できるので、スループットを著しく向上することができ
る。
は、総印刷部数分の読出しが終了した時点で、ページバ
ッファフリーマクロを発行する。本ページバッファフリ
ーマクロ処理は、読出しの終了したページバッファ番号
のページバッファを使用中タスク番号をエンプティにす
るとともに、そのページバッファを空き待ち状態のタス
クがあるならば資源空き待ち解除マクロをそのページバ
ッファ空き待ち行列に対し発行し、そのページバッファ
空き待ち状態のタスクを実行可能状態へ戻す。以上のタ
イミングでページバッファフリーマクロを発行すること
により、ページバッファ空き待ち状態になっていた描画
タスクは、ページバッファが空き次第、直ちに、そのペ
ージバッファをリザーブし、そのページバッファについ
ての描画処理を行うことができる。
ブ/フリー機能、(b)プリンタ制御用のプリンタリザ
ーブ/フリー機能、印刷指示機能、(c)各種タスク制
御機能、(d)印刷指示許可割込み、及び(e)ページ
バッファ読出し終了割込み、を以上のように活用するこ
とにより、プリンタエンジン部やページバッファ部に空
きが生じた時、直ちに待たされていた印刷タスクや描画
タスクが起動される。また、CPUは空き時間なく、印刷
タスクや描画タスク等のタスクを実行する。従って、CP
U、プリンタエンジン部16、及びページバッファ部14
(複数ページからなる)を空き時間なく使用することが
できるので、スループットを向上させ、プリンタエンジ
ン最高速度での印刷を実現することができる。
容を説明する。
の遷移を説明する。タスクは第11図(a)に示す6状態
(すなわち、未登録、休止、実行可能、実行、事象発生
待ち、資源空き待ち)のうちの一つをとり、第11図
(b)に示す状態遷移を行う。
プリンタ空き待ち状態、ページバッファ空き待ち状態
の2種類を用いる。
示許可待ち状態、排紙終了待ち状態、コマンド受信
待ち状態、とともに次の事象発生待ち状態,,を
設ける。はタスクのサブCPU106からの応答待ち状態、
はタスクのプリンタエンジン部16からの応答待ち状
態、はタスクのホスト通信コントローラ102からの応
答待ち状態である。これら3つの事象発生待ち状態,
,を導入することにより、タスクがこれらの応答待
ち状態の間、他のタスクを実行することが可能になり、
本装置のスループットを向上させることができる。
管理テーブル部17の一例を第12図に示す。
に実行待ち行列(レディキューとも呼ぶ)と資源待ち行
列の2種類の待ち行列がある。前者は前述した実行可能
状態(レディ状態)のタスクのCPUによる実行を管理す
るためのテーブルであり、後者はページバッファ空き待
ち状態、プリンタ空き待ち状態等の資源空き待ち状態の
タスクを記述し、管理するためのテーブルである。ま
た、第12図(b)に以上の実行待ち行列と資源空き待ち
行列の構成要素であるタスクコントロールブロック(TC
B)の内容を示す。
ラムエリア内に常駐とした。タスクとしては第5表に示
すタスク番号1〜16のタスクを用意した。これらのタス
クはホストコンピュータと印刷制御装置との間の通信I/
Fとして前述のSCSIを用いた場合のものであるが、他の
通信I/Fを用いた場合も同様である。
て実行可能状態でないアイドル状態にて実行されるタス
クである。モードセンスタスクはホストコンピュータ10
が送信したモードセンス(MODE SENSE)と呼ぶコマンド
を実行するためのタスクである。中断タスクとキャンセ
ルタスクは各々本印刷制御装置による印刷処理、つまり
描画タスクと印刷タスクの実行を、中断したり、キャン
セルするためのタスクである。両タスクとも、ホスト
コンピュータ10からのホスト通信制御部118によるSCSI
コマンドの受信処理、又はユーザ操作パネル部107か
らのパネル制御部119によるキー入力受信処理、又は
印刷制御装置各部(13,116,117,118,119)による異常処
理、のいずれかがタスク制御機能の一つであるタスク起
動マクロを用いて、起動する。
コマンドを実行するためのタスクである。PRINTコマン
ドにおいては、そのデータ部に描画や印刷の実際的内容
を表すコマンド列(通常のプリンタを制御するための
エスケープシーケンス、ISOにおけるCGI,ODA等のコマ
ンド列、Post Scriptにて表現された描画印刷内容、
がこのコマンド列に相当する)が入っている。
プリントコマンドを受信すると、コマンドをそのデータ
部とともに、一旦コマンドバッファ部11へ格納する。描
画タスクはこれらのコマンド列を、コマンドバッファ部
11から読出し、解釈、実行する。なお、SCSI通信を用い
ず、上記,,のコマンド列をホスト通信制御部11
8が直接的に、PRINTコマンドのような器を付けずにコマ
ンドバッファ部11に受信、格納する場合についても、描
画タスクは同様の処理を行う。
についての印刷処理を行うためのタスクである。これら
印刷タスクは別々のページについて並行処理するため、
複数個(第5表の例では10個)用意した。用意する印刷
タスクの合計数は、本装置内で同時に並行処理しうる印
刷タスク数の最大値とした。具体的には、任意の時点
で、プリンタの給紙部から排紙部までの間に存在しうる
最大紙数に対応し、この数はプリンタエンジン部16の仕
様によって増減する。
にてタスク優先度は値が小さい方が、優先度が高い。な
お、以上説明した第5表のタスクのうち、描画タスク、
印刷タスク以外のものもすべて、タスク処理部13内に用
意した。
行列用ポインタと資源待ち行列用ポインタを別々に設け
た。本実行待ち行列用ポインタはタスク起動マクロの実
行により、実行待ち行列内の適切な位置に接続し、タス
ク終了マクロの実行により、実行待ち行列から取りはず
した。しかし、資源空き待ちマクロ、資源空き待ち解除
マクロ、事象発生待ちマクロ、事象発生待ち解除マクロ
の処理においては、本実行待ち行列用ポインタは一切操
作しないようにした。この結果、実行待ち行列内での同
一優先度についてのタスクの順番が、先着順序を維持で
き、逆転しないようにすることができた。
のタスク制御機能:(1)タスク起動(start),
(2)タスク終了(exit),(3)事象発生待ち(wai
t)、(4)事象発生待ち解除(post),(5)資源空
き待ち(enqueue),(6)資源空き待ち解除(dequeu
e),(7)タスク生成(create),(8)タスク削除
(delete),(9)タスク終了削除(exdel)の仕様を
第6表に示す。第6表には後で説明する(10)制御テー
ブルロック(tbllock),(11)制御テーブルアンロッ
ク(tblunlk)の仕様も示した。
処理機能は次の通りである。
起動される。
先度内では先着順にサーチし、実行可能性を判定する。
初めに見つかった実行可能なタスクを次の実行タスク
(次実行タスクと略す)として選出し、実行状態に移し
た後、起動する。前の実行タスク(前実行タスクと略
す)は実行可能状態へ戻す。
ージバッファ管理テーブル部18とプリンタ管理テーブル
部19の内容を説明する。先の実施例と同様、前者は、複
数ページからなるページバッファ部14への描画タスクに
よる書込みと印刷タスクによる読出しにおいて、ページ
バッファ部の使用に遊び時間を生じさせず、またページ
バッファ部への各タスクによるアクセスの順序に誤りを
生じさせないために用い、後者は、印刷タスクによるプ
リンタ(サブCPU106とプリンタエンジン部16)の使用状
況を管理し、プリンタの動作に遊び時間を生じさせない
ために用いる。
18の例を示す。第13図(a)に全体構成を示す。
が書込むべきページバッファNo.(当該描画ページバッ
ファNo.526と呼ぶ)と次に印刷タスクが読出すべきペー
ジバッファNo(当該印刷ページバッファNo527と呼
ぶ)、現在印刷出力中のページバッファNo528、各ペー
ジバッファ0,1,…,N−1の先頭アドレス、印刷条件現在
値524、コマンド未解決情報525等を記述する。
ついて描画タスクが印刷条件を設定する際のデフォルト
値を格納するために用いる。つまり、各ページバッファ
(例えばページバッファ0)についての印刷条件設定処
理においては、本印刷条件現在値524を本ページバッフ
ァ用の印刷条件フイールド522にコピーしデフォルト値
としてセットした後(この処理はページバッファリザー
ブにて行っている)、本ページバッファについて新たに
変更を指示された各種印刷条件(給紙部コード、排紙部
コード、紙サイズ指示パラメータ、総印刷部数等)は、
前記本ページバッファ用の印刷条件フィールド522及び
印刷条件現在値フィールド524に、更新、設定する。
コマンドバッファ部11の末尾にコマンドが途中迄しか入
っていず、コマンドの解釈や実行を続けるには、さらに
続きのコマンドをポストコンピュータ10から受信する必
要がある場合に用いる。
22、プリンタメモリコントローラ設定情報523を記述し
た。これらの情報521〜523の内容をそれぞれ、第13図
(b)〜(d)に示す。
状態521−aを、第13図(f)に示す空き(描画可
能)、描画中、印刷可能(有効)、印刷開始、印刷中
1、印刷中2、のいずれかとして記述する。さらに、各
ページを使用中の描画タスクと印刷タスクの番号(521
−b,521−c)とを記述した。また、そのページ用空き
待ち行列の根のポインタ521−dもここに用意した。
より指示された紙サイズ関連情報、給・排紙部関連情報
を書込み、印刷タスクがそれらを利用して、印刷を行う
ようにした。
プリンタメモリコントローラの状態と紙サイズに応じた
それへのレジスタ設定値を記述できるようにした。第13
図(g)に、印字可能領域と前記プリンタメモリコント
ローラ設定情報の関係を図示する。
はレーザビームプリンタを対象にした場合の例である。
同図(b)のサブCPU状態61としては、サブCPU通信状態
とサブCPUレディ状態を記述する。また、同図(c)の
プリンタ状態62としては、同図(c)に示すように印刷
タスクによる印刷指示と給排紙部の変更指示の可/不可
(621,622);プリンタエンジン状態623;給紙部状態と
排紙部状態624;及び排紙終了監視タイマの番号625を記
述する。また同図(d)の印刷条件フィールド63には、
本印刷タスクに対応するページバッファについての印刷
条件フィールド522の値を、印刷タスクが初めにコピー
して記入し、以後本印刷条件フィールド63の値を印刷タ
スクが参照するようにした。また同図(e)のタスク関
連情報64としては、同図(e)に示すように、プリンタ
を使用中のタスク番号641;プリンタ空き待ち行列の根の
ポインタ642;排紙終了待ちの先頭印刷タスク番号643;サ
ブCPUを使用中のタスク番号644;サブCPU空き待ち行列の
根のポインタ645を記述する。なお、ここで644と645は
本装置におけるサブCPUがCPUからのサブCPU制御用コマ
ンドを多重に受付ける機能がないために設けた。この場
合、印刷タスクプリンタ制御用SVCがサブCPUにサブCPU
制御用コマンドを発行する時、上記644と645を利用し
て、サブCPUリザーブマクロとサブCPUフリーマクロを用
意し、利用した。サブCPUリザーブ/フリーマクロの機
能は、概ねプリンタリザーブ/フリーマクロにおけるプ
リンタ資源をサブCPU資源に置き換えたものに相当す
る。また給紙部状態、排紙部状態624は、同図(f)の
ように構成した。
タ、インクジェットプリンタ、シャトルプリンタ等他の
種類のページプリンタについても、プリンタ管理テーブ
ル部を本ケースと同様の考え方で定義し、使用すること
ができる。
em Analysis Diagram)に示す。同図(a)ないし
(k)はそれぞれ、初期化処理、描画タスク、印刷タス
ク、印刷指定処理、印刷指示、排紙終了待ち、印刷指示
許可割込み処理、ページバッファ読出し終了割込み処
理、排紙終了タイマ割込み処理、ページ読出し開始割込
み処理(垂直同期信号出力要求割込み処理とも呼ぶ)、
及びアイドルタスクの動作手順を示す。
ッファ管理テーブル部18とプリンタ管理テーブル部19
を、ページバッファ制御部116やプリンタ制御部117のSV
C機能や割込み処理機能を介さずに、タスク処理部13内
の各タスクが直接アクセスする場合は、アクセスの前後
で第6表に示した制御テーブルロック/アンロックSVC
を発行するようにし、上記17と18の管理テーブル部のア
クセスの排他制御を行った。
理を行う代表的4機能、ページバッファリザーブ、ペー
ジバッファフリー、プリンタリザーブ、プリンタフリ
ー、の動作手順を示す。
る制御パラメータ(描画パラメータと呼ぶ)を示し、同
図(b)に本描画パラメータとページバッファの関係を
示す。
示す階層構造をもつ。
タスク処理からなる。つまり、描画タスク、印刷タス
ク、中断タスク、キャンセルタスク、モードセンタタス
ク、アイドルタスク等のいずれかのタスクをタスクディ
スパッチャの指示に従って実行する。
御、タスク制御、タイマ制御等からなる)、及びデバイ
スドライバ制御(ページバッファ制御、プリンタ制御、
ホスト通信制御、パネル制御等)からなる。
ィエラー処理からなり、共に緊急度の高い異常処理を行
う。前者はCPU例外処理として、バスエラー、アドレス
エラー、CPU不当命令、0除算等についての異常処理を
行う。
理を行う。
とした場合の本印刷制御装置による描画、印刷等の並行
処理のタイミング図を示す。図示のように、コマンド受
信、ページバッファ1〜3、プリンタのレーザ制御およ
び紙制御は並行して実行されるので、プリンタおよびペ
ージバッファの使用の空き時間が生しず、プリンタエン
ジンをその最高速度で動作させることが可能となる。
「ページバッファ読出し終了によるページバッファ空き
待ち状態の解除」および「給紙完了による印刷指示許可
待ち状態の解除」は、前述のようにいずれもCPUに対す
る割込み要求により行われる。
除のタイミングはプリンタエンジン部16の特性によって
変わり、プリンタエンジンによっては給紙完了の時機と
一致しないこともあるが、この場合でも、サブCPU106又
はプリンタエンジン部16が、プリンタエンジン部16の特
性に応じて、印刷指示許可待ち状態の解除を検出し、そ
の結果直ちにサブCPU106からCPUに対し「印刷指示許可
待ち状態の解除」割込みを発生するようにすることによ
り、本発明を適用することができる。
において採用した手段をまとめれば、次のようになる。
面)。
動作とは非同期のコマンド受信。
スクを各用紙についての印刷処理毎に別に管理。
行を事象発生待ちとその解除及び資源空き待ちとその解
除の機構を用いて管理。
合。
がホストコンピュータ10の送信したコマンド列等により
動的に変更される場合。例えばコマンド列により紙サイ
ズ、光プリンタのドット密度、ページバッファメモリ容
量の変更を指示された場合が本ケースの例である。
した以外のタスクを追加した場合。
列の送信方法として次に示す様々な方法を用いた場合。
ドを一つずつ送る。
コマンド列と1つの印刷コマンドを送る。
(紙サイズ、縦書き、横書きの区別、印刷部数、片面印
刷、両面印刷の区別等)を描画コマンドの一つ、または
描画コマンド、印刷コマンド以外の別種コマンドとして
送る。
容を指示するためのコマンドであり、印刷コマンドとは
ページバッファへの描画の終了と描画の終了したそのペ
ージバッファについての印刷タスクの起動を指示するた
めのコマンドである。
のコマンドに対応して定義したり、1ページを構成する
コマンド列全体に対応して定義する場合。
ッファ部を空き時間なく動作させることがてきるので、
プリンタエンジン最高速度での印刷が行え、印刷装置の
スループットを向上させることができる。
2図は従来の印刷制御装置の構成を示すブロック図、第
3図は第1図のタスク制御部の動作の状態遷移図、第4
図はタスク管理テーブル部の構成図、第5図は本発明装
置の各種動作の説明図、第6図は本発明の他の実施例の
ブロック図、第7図はページバッファ管理テーブル部の
構成図、第8図はプリンタ管理テーブル部の構成図、第
9図は描画、印刷等の並行処理のタイミング図、第10図
は本発明の第3の実施例の構成を示すブロック図、第11
図はタスク状態の定義と状態遷移の説明図、第12図はタ
スク制御関係の管理テーブル部の構成図、第13図はペー
ジバッファ管理テーブル部の構成図、第14図はプリンタ
管理テーブル部の構成図、第15図と第16図は本発明装置
の各種動作の説明図、第17図は描画パラメータの説明
図、第18図は本発明装置のハードウェア構成の例を示す
ブロック図、第19図は本発明装置の制御ソフトウェアの
構成例を示す説明図、第20図は描画、印刷等の並行処理
のタイミング図である。 10……ホストコンピュータ、11……コマンドバッファ
部、12……タスク制御部、13……タスク処理部、131…
…描画タスク処理部、132……印刷タスク処理部、14…
…ページバッファ部、141……ページバッファ1、142…
…ページバッファn、143……ページバッファN、16…
…プリンタエンジン部、17……タスク管理テーブル部、
18……ページバッファ管理テーブル部、19……プリンタ
管理テーブル部、116……ページバッファ制御部、117…
…プリンタ制御部。
Claims (3)
- 【請求項1】少なくとも各種描画指示用の描画コマンド
を含むコマンド列を格納するコマンドバッファ部と、 前記描画コマンドに従って描画されたドットイメージデ
ータを格納するページバッファ部とを備え、 描画を終えた前記ページバッファ部内のドットイメージ
データをプリンタエンジン部へ出力する印刷制御装置に
おいて、 前記ページバッファ部に設けた複数ページ分のページバ
ッファと、 描画処理および印刷処理をそれぞれ描画タスクおよび印
刷タスクとして実行するためのタスク処理部と、 前記描画タスクおよび印刷タスクを含む各種タスクにつ
いて、各タスクの実行待ち及び資源空き待ち状態を管理
するためのタスク管理情報を保持するタスク管理テーブ
ル部と、 前記タスク処理部による描画タスクおよび印刷タスクの
実行を、前記タスク管理テーブル部の内容に従って制御
するタスク制御部と、 ページバッファの使用状況を管理するためのページバッ
ファ管理情報を保持するページバッファ管理テーブル部
と、 プリンタの使用状況を管理するためのプリンタ管理情報
を保持するプリンタ管理テーブル部と を備え、 前記タスク制御部は、 前記ページバッファ管理テーブル部の内容に応じて空き
状態にあるページバッファを前記描画タスクに割り当て
るとともに、 前記ページバッファ管理テーブルおよび前記プリンタ管
理テーブル部の内容に応じて印刷待ちのページバッファ
および空き状態にあるプリンタエンジン部を前記印刷タ
スクに割り当てる ことを特徴とする印刷制御装置。 - 【請求項2】少なくとも各種描画指示用の描画コマンド
を含むコマンド列を格納するコマンドバッファ部と、 前記描画コマンドに従って描画されたドットイメージデ
ータを格納するページバッファ部とを備え、 描画を終えた前記ページバッファ部内のドットイメージ
データをプリンタエンジン部へ出力する印刷制御装置に
おいて、 前記ページバッファ部に設けた複数ページ分のページバ
ッファと、 描画処理および印刷処理をそれぞれ描画タスクおよび印
刷タスクとして実行する手段と、 前記各ページバッファの使用状態を管理する手段と、 前記プリンタエンジン部の使用状態を管理する手段と、 空き状態のページバッファを前記描画タスクに割り当
て、空き状態にあるプリンタエンジン部を前記印刷タス
クに割り当てる手段と、 前記空き状態のページバッファがない場合に前記描画タ
スクをページバッファ空き待ち状態として管理し、任意
のページバッファが空き状態となったとき当該空き待ち
状態を解除する手段と、 前記プリンタエンジン部が空き状態でない場合に前記印
刷タスクをプリンタ空き待ち状態として管理し、プリン
タエンジン部が空き状態となったとき当該空き待ち状態
を解除する手段と を備えたことを特徴とする印刷制御装置。 - 【請求項3】前記コマンドバッファ部に格納されるコマ
ンド列は、描画処理および印刷処理とは非同期にホスト
コンピュータから受信される ことを特徴とする請求項1または2記載の印刷制御装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16463789A JP2816184B2 (ja) | 1988-06-27 | 1989-06-27 | 印刷制御装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15848188 | 1988-06-27 | ||
JP63-158481 | 1988-06-27 | ||
JP16463789A JP2816184B2 (ja) | 1988-06-27 | 1989-06-27 | 印刷制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0270465A JPH0270465A (ja) | 1990-03-09 |
JP2816184B2 true JP2816184B2 (ja) | 1998-10-27 |
Family
ID=26485585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16463789A Expired - Lifetime JP2816184B2 (ja) | 1988-06-27 | 1989-06-27 | 印刷制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2816184B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3007103B2 (ja) * | 1989-10-30 | 2000-02-07 | 株式会社日立製作所 | 印刷制御装置 |
US5664074A (en) | 1990-10-30 | 1997-09-02 | Hitachi, Ltd. | Print control apparatus with error recovery function and its print control method |
DE4226052C2 (de) * | 1991-08-06 | 1996-12-05 | Hitachi Ltd | Drucksteuerungsverfahren und -gerät, die eine Vielzahl von Prozessoren verwenden |
JP3273600B2 (ja) | 1999-03-10 | 2002-04-08 | セイコーエプソン株式会社 | プリンタ、プリンタ制御方法及びプログラムを記録した記憶媒体 |
JP5824845B2 (ja) * | 2011-04-20 | 2015-12-02 | セイコーエプソン株式会社 | 記録装置、及び、記録装置の制御方法 |
JP5901196B2 (ja) * | 2011-09-28 | 2016-04-06 | キヤノン株式会社 | 印刷制御装置、方法及びプログラム |
-
1989
- 1989-06-27 JP JP16463789A patent/JP2816184B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0270465A (ja) | 1990-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3007103B2 (ja) | 印刷制御装置 | |
US5058037A (en) | Method and apparatus for controlling printer | |
US5774638A (en) | Print controlling method and apparatus using a plurality of processors | |
US5954436A (en) | Printing apparatus and double-side printing control method | |
JP2816184B2 (ja) | 印刷制御装置 | |
JP3553985B2 (ja) | 印刷制御方法および印刷制御装置 | |
US8643854B2 (en) | Image forming apparatus and print control method used therein | |
JP3173721B2 (ja) | プリンタ及びその動作方法 | |
JP3010559B2 (ja) | 印刷システムならびに印刷制御方法および装置 | |
JP2776894B2 (ja) | プリンタコントローラおよび印刷制御方法 | |
JP3380598B2 (ja) | 両面印刷制御方法および印刷制御装置 | |
JP3181779B2 (ja) | 印刷装置及びインタフェース装置及び情報処理装置及び制御方法 | |
JP3512403B2 (ja) | 印刷制御装置 | |
JP2728449B2 (ja) | 印刷システム、印刷装置およびその印刷制御方法 | |
JP3304081B2 (ja) | 印刷制御方法 | |
JP3144197B2 (ja) | 印刷装置 | |
JP2965686B2 (ja) | 印刷制御装置 | |
JP5062750B2 (ja) | 画像形成装置 | |
JP2001018493A (ja) | プリンタ、プリンタの制御方法、及び、そのための処理を記録した記録媒体 | |
JP3555748B2 (ja) | 印刷制御方法および印刷制御装置並びに印刷システム | |
JPH05301429A (ja) | エラー回復機能付き印刷制御装置及び印刷制御方法 | |
JP3474185B2 (ja) | 両面印刷制御方法および印刷制御装置 | |
JP3304073B2 (ja) | 印刷制御方法および印刷制御装置並びに印刷システム | |
JP2007328737A (ja) | ホスト装置、データ処理装置及びデータ処理システム | |
JP2002073301A (ja) | 情報処理システム及び方法、プリンタ装置、並びにコンピュータが読出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20090814 |
|
EXPY | Cancellation because of completion of term |