JPH0270465A - Print controller - Google Patents

Print controller

Info

Publication number
JPH0270465A
JPH0270465A JP16463789A JP16463789A JPH0270465A JP H0270465 A JPH0270465 A JP H0270465A JP 16463789 A JP16463789 A JP 16463789A JP 16463789 A JP16463789 A JP 16463789A JP H0270465 A JPH0270465 A JP H0270465A
Authority
JP
Japan
Prior art keywords
task
print
page buffer
section
printing
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.)
Granted
Application number
JP16463789A
Other languages
Japanese (ja)
Other versions
JP2816184B2 (en
Inventor
Saiji Kageyama
斎司 蔭山
Keiichi Nakane
啓一 中根
Hiroaki Kamibayashi
弘明 上林
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16463789A priority Critical patent/JP2816184B2/en
Publication of JPH0270465A publication Critical patent/JPH0270465A/en
Application granted granted Critical
Publication of JP2816184B2 publication Critical patent/JP2816184B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0002Handling the output data
    • 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/0077Raster outputting to the print element(s)
    • G06K2215/008Raster 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)

Abstract

PURPOSE:To control the priority of a printing task in the manner as to be higher than that of a lithography task and to perform a high speed printing of a printer engine by providing a page buffer for a plurality of pages, a task processor for executing a lithography and a printing process, and a tank controller for the lithography and the printing task. CONSTITUTION:The decision of lithography conditions is first performed in the execution of a lithography task 131. If a lithography is impossible, i.e., if a page buffer 14 is not vacant, an executing state is altered to a waiting state, and the selection of a task to be executed is then performed by the task scheduler of a task controller 13. It is similar even in the execution of a printing task 132. The waiting state is released in the task 131 when the buffer 14 becomes vacant and in the task 132 for the buffer 14 prepared with the lithography when a printer engine 16 becomes vacant, the scheduler is immediately started to select the task having highest priority and to start it. Thus, the engine and the buffer can be operated without vacant time, and a printing is conducted at the highest speed of the printer engine.

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、レーザビームプリンタ、LED(発光ダイオ
ード)プリンタ、LC8(液晶)プリンタ等の光プリン
タに代表されるページプリンタを制御する印刷制御装置
に関する。
Detailed Description of the Invention [Industrial Application Field] The present invention relates to a print control device for controlling page printers typified by optical printers such as laser beam printers, LED (light emitting diode) printers, and LC8 (liquid crystal) printers. Regarding.

[従来の技術] 近年、パソコン、ワークステーションの分野において、
光プリンタが普及しつつある。光プリンタは、印刷制御
装置を介してパソコン、ワークステーション等のホスト
コンピュータと接続される。
[Prior art] In recent years, in the field of personal computers and workstations,
Optical printers are becoming popular. Optical printers are connected to host computers such as personal computers and workstations via print control devices.

従来の装置は例えば特開昭62−173526号公報に
記載されており、第2図のように構成されていた。
A conventional device is described in, for example, Japanese Unexamined Patent Publication No. 173526/1983, and is constructed as shown in FIG.

同図において、ホストコンピュータが送信したコマンド
列はCPU21によりページバッファ231ヘドツトパ
ターンとして描画される。1ペ一ジ分の描画が完了する
と、第1ページ231内のデータはプリンタアダプタ部
24により読出された後、パラレルシリアル変換を施さ
れ、プリンタエンジン部25にビデオ信号として出力さ
れる。
In the figure, a command string sent by the host computer is drawn by the CPU 21 as a head pattern on a page buffer 231. When the drawing for one page is completed, the data in the first page 231 is read out by the printer adapter section 24, subjected to parallel-to-serial conversion, and outputted to the printer engine section 25 as a video signal.

プリンタエンジン部25では、光プリンタプロセスを実
行し、紙1ページについての印刷を遂行する。
The printer engine section 25 executes an optical printer process to print one page of paper.

従来の装置の中には、本発明のようにページバッファ部
23に複数面のページ231,232゜233を用意し
たものがある。一方のページ231への描画(書込み)
中に、別のページ232からプリンタエンジン部25へ
の印刷(読出し)を行うことにより、描画と印刷を並行
処理化し、スループットを高めようとしている。
Some conventional devices have a plurality of pages 231, 232 and 233 prepared in the page buffer section 23 as in the present invention. Drawing (writing) on one page 231
In the process, by printing (reading) from another page 232 to the printer engine unit 25, drawing and printing are performed in parallel, and throughput is attempted to be increased.

[発明が解決しようとする課題] 上記従来技術は、描画によるページバッファ部への書込
みと印刷によるページバッファ部からの読出しを無駄時
間なく行うための制御方法について配慮がなされておら
ず、高速のプリンタエンジン部や複数ページからなるペ
ージバッファ部を用いても、各部の動作に遊び時間が存
在するため、エンジン速度より低速度でしか印刷できな
いという問題点があった。
[Problems to be Solved by the Invention] The above-mentioned conventional technology does not take into consideration the control method for writing to the page buffer section by drawing and reading from the page buffer section by printing without wasting time. Even if a printer engine section or a page buffer section consisting of a plurality of pages is used, there is a problem that printing can only be performed at a speed lower than the engine speed because there is idle time in the operation of each section.

本発明の目的は、上記従来発明の問題点を解消し、プリ
ンタエンジン部の高速印刷性能を引き出すことができる
印刷制御装置を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a printing control device that solves the problems of the conventional invention described above and can bring out the high-speed printing performance of a printer engine section.

[課題を解決するための手段] 上記目的を達成するために、本発明による印刷制御装置
は、少なくとも描画コマンドを含むコマンド列を格納す
るコマンドバッファ部と、前記描画コマンドに従って描
画されたドツトイメージデータを格納するページバッフ
ァ部とを備え、描画を終えた前記ページバッファ部内の
ドツトイメージデータをプリンタエンジン部へ出力する
印刷制御装置において、前記ページバッファ部に設けた
複数ページ分のページバッファと、描画処理および印刷
処理をそれぞれ描画タスクおよび印刷タスクとして実行
するためのタスク処理部と、該タスク処理部による描画
タスクおよび印刷タスクの実行を制御するタスク制御部
とを備え、該タスク制御部による制御において、前記印
刷タスクのタスク優先度を前記描画タスクのタスク優先
度より高くしたものである。
[Means for Solving the Problems] In order to achieve the above object, a print control device according to the present invention includes a command buffer section that stores a command string including at least a drawing command, and a dot image data drawn according to the drawing command. In a print control device that outputs dot image data in the page buffer after drawing to a printer engine section, the print control device includes a page buffer for a plurality of pages provided in the page buffer, A task processing unit for executing processing and printing processing as a drawing task and a printing task, respectively, and a task control unit for controlling execution of the drawing task and printing task by the task processing unit, and in the control by the task control unit, , the task priority of the printing task is set higher than the task priority of the drawing task.

本発明による他の印刷制御装置は、少なくとも各種描画
指示用の描画コマンドを含むコマンド列を格納するコマ
ンドバッファ部と、前記描画コマンドに従って描画され
たドツトイメージデータを格納するページバッファ部と
を備え、描画を終えた前記ページバッファ部内のドツト
イメージデータをプリンタエンジン部へ出力する印刷制
御装置において、前記ページバッファ部に設けた複数ペ
ージ分のページバッファと、描画処理および印刷処理を
それぞれ描画タスクおよび印刷タスクとして実行するた
めのタスク処理部と、該タスク処理部による描画タスク
および印刷タスクの実行を制御するタスク制御部と、ペ
ージバッファ管理情報を保持するページバッファ管理テ
ーブル部と、プリンタ管理情報を保持するプリンタ管理
テーブル部とを備え、前記タスク制御部は、前記ページ
バッファ管理テーブル部の内容に応じて前記描画タスク
に空き状態にあるページバッファを前記描画タスクに割
り当てるとともに、前記両管理テープル部の内容に応じ
て印刷待ちのページバッファおよび空き状態にあるプリ
ンタエンジン部を前記印刷タスクに割り当てるようにし
たものである。
Another print control device according to the present invention includes a command buffer section that stores a command string including at least drawing commands for various drawing instructions, and a page buffer section that stores dot image data drawn according to the drawing commands, In a print control device that outputs the dot image data in the page buffer section after drawing to the printer engine section, a page buffer for multiple pages provided in the page buffer section, drawing processing and printing processing are respectively executed as a drawing task and a printing task. A task processing section for executing tasks, a task control section for controlling execution of drawing tasks and printing tasks by the task processing section, a page buffer management table section for holding page buffer management information, and a page buffer management table section for holding printer management information. and a printer management table section, wherein the task control section allocates an empty page buffer to the drawing task according to the contents of the page buffer management table section, and also allocates an empty page buffer to the drawing task according to the contents of the page buffer management table section. According to the content, a page buffer waiting for printing and a printer engine unit in an empty state are allocated to the print task.

これらの印刷制御装置において、好ましくは、前記描画
タスクおよび印刷タスクを含む各種タスクについてタス
ク管理情報を保持するタスク管理テーブル部を設け、前
記タスク制御部は該タフ管理テーブル部の内容に従って
タスク制御を行う。
These print control devices preferably include a task management table section that holds task management information for various tasks including the drawing task and the print task, and the task control section performs task control according to the contents of the tough management table section. conduct.

前記コマンドバッファ部には前記コマンド列とともに印
刷コマンドが格納され、該印刷コマンドに応じて前記印
刷タスクの起動要求がなされる。
A print command is stored in the command buffer section along with the command string, and a request to start the print task is made in response to the print command.

あるいは、前記コマンドバッファ部に格納されるコマン
ド列にはページ区切りを明示的または暗示的に示すコマ
ンドを含み、該コマンドに応じて前記印刷タスクの起動
要求がなされる。
Alternatively, the command string stored in the command buffer section includes a command explicitly or implicitly indicating a page break, and a request to start the print task is made in response to the command.

好ましくは、前記コマンドバッファ部に格納されるコマ
ンド列は、描画処理および印刷処理とは非同期にホスト
コンピュータから受信される。
Preferably, the command string stored in the command buffer section is received from the host computer asynchronously with drawing processing and printing processing.

また、少なくとも前記タスク制御部の処理をCPUによ
り実行し、前記ページバッファの空きおよびプリンタエ
ンジン部の空きを、前記CPUへの割込みを用いて前記
タスク制御部に通知することができる3 本発明による印刷制御装置は、他の見地によれば、少な
くとも各種描画指示用の描画コマンドを含むコマンド列
を格納するコマンドバッファ部と、前記描画コマンドに
従って描画されたドツトイメージデータを格納するペー
ジバッファ部とを備え、描画を終えた前記ページバッフ
ァ部内のドツトイメージデータをプリンタエンジン部へ
出力する印刷制御装置において、前記ページバッファ部
に設けた複数ページ分のページバッファと、描画処理お
よび印刷処理をそれぞれ描画タスクおよび印刷タスクと
して実行する手段と、前記各ページバッファの使用状態
を管理する手段と、前記プリンタエンジン部の使用状態
を管理する手段と、空き状態のページバッファを前記描
画タスクに割り当て、空き状態にあるプリンタエンジン
部を前記印刷タスクに割り当てる手段と、前記空き状態
のページバッファがない場合に前記描画タスクをページ
バッファ空き待ち状態として管理し、任意のページバッ
ファが空き状態となったとき当該空き待ち状態を解除す
る手段と、前記プリンタエンジン部が空き状態でない場
合に前記印刷タスクをプリンタ空き待ち状態として管理
し、空き状態となったとき当該空き待ち状態を解除する
手段とを備えたものである。
Further, at least the processing of the task control unit may be executed by a CPU, and the free space of the page buffer and the free space of the printer engine unit may be notified to the task control unit using an interrupt to the CPU.3 According to the present invention From another point of view, the print control device includes at least a command buffer section that stores a command string including drawing commands for various drawing instructions, and a page buffer section that stores dot image data drawn according to the drawing commands. In a print control device that outputs the dot image data in the page buffer unit that has finished drawing to the printer engine unit, a page buffer for a plurality of pages provided in the page buffer unit, a drawing process, and a print process are respectively executed by a drawing task. and means for executing the page buffer as a print task; means for managing the use status of each of the page buffers; means for managing the use status of the printer engine section; means for allocating a certain printer engine unit to the print task, and managing the drawing task as a page buffer waiting state when there is no free page buffer, and managing the drawing task as waiting for the page buffer to be free when any page buffer becomes free and a means for managing the print task as a printer waiting state when the printer engine unit is not available, and releasing the printer waiting state when the printer engine unit becomes available. .

この印刷制御装置において、前記プリンタエンジンが割
り当てられた印刷タスクについて、当該印刷タスクを印
刷指示許可待ち状態として管理し、前記プリンタエンジ
ン部の使用状態に基づき印刷指示受け付け可能となった
時点で当該待ち状態を解除する手段を設けてもよい。
In this print control device, the print task to which the printer engine is assigned is managed as being in a print instruction permission waiting state, and when it becomes possible to accept a print instruction based on the usage status of the printer engine, the print task is placed in the waiting state. A means for canceling the state may be provided.

また、前記印刷タスクによるページバッファからの必要
部数分の読出しが終了した後、当該ページバッファおよ
びプリンタエンジン部を空き状態とするとともに、当該
印刷タスクは排紙終了待ち状態として管理し、排紙終了
後に当該待ち状態を解除する手段を設けてもよい、この
場合、排紙終了待ち状態にある印刷タスクとは別個の印
刷タスクを設け、該印刷タスクには前記空き状態となっ
たプリンタエンジン部を割り当てることが好ましい。
In addition, after the print task finishes reading the required number of copies from the page buffer, the page buffer and printer engine section are made vacant, the print task is managed as waiting for paper ejection to finish, and the paper ejection is completed. A means for later canceling the waiting state may be provided. In this case, a print task separate from the print task in the waiting state for completion of paper ejection may be provided, and the print task may include the printer engine section that is in the idle state. It is preferable to allocate.

[作 用] タスク処理部における描画タスクの実行においては、初
めに、描画可能条件の判定が行われる。
[Operation] When the task processing unit executes a drawing task, first, a drawing enable condition is determined.

描画不可能(ページバッファが空いていない)の場合、
即座にタスク待ちを起動し1本タスクの状態を実行状態
から待ち状態に変えたあと、次に実行すべきタスクの選
択がなされる。この選択は。
If drawing is not possible (page buffer is not free),
After immediately starting the task wait and changing the state of one task from the execution state to the wait state, the next task to be executed is selected. This choice is.

タスク制御部の一機能としてのタスクスケジューラまた
はタスクデイスパッチャが行う。
This is performed by a task scheduler or task dispatcher as a function of the task control unit.

印刷タスクの実行においても、印刷可能条件の判定が行
われる。印刷不可能(描画の完了したページがページバ
ッファ中にない、またはプリンタエンジン部が空き状態
でない、すなわち異常か印刷指示を受付けない状態にあ
るが、プリンタを他のタスクが使用中)の場合、描画タ
スクと同様、即座にタスク待ちおよびタスクスケジュー
ラまたはタスクデイスパッチャを起動する。
Printability conditions are also determined when executing a print task. If printing is not possible (the rendered page is not in the page buffer, or the printer engine is not free, or is in a state where it is abnormal or cannot accept print instructions, but the printer is being used by another task), Similar to drawing tasks, it immediately waits for the task and starts the task scheduler or task dispatcher.

−旦、待ち状態になったタスクは、その待ち状態を解除
するだめののイベントが生じた時点で割込み処理により
直ちに実行可能状態へ移される。
- Once a task is in a wait state, it is immediately moved to an executable state by interrupt processing when an event occurs that causes the task to be released from the wait state.

すなわち、描画タスクは、任意のページバッファが空き
状態となったときにその待ち状態が解除され、印刷タス
クは、描画済みのページバッファに対してプリンタエン
ジン部が空き状態となったときその待ち状態が解除され
る。その後、直ちにタスクスケジューラを起動すること
により、実行可能状態のタスクのうちで優先度が最も高
いタスクを選出し、起動する。
In other words, a drawing task is released from its waiting state when any page buffer becomes empty, and a printing task is released from its waiting state when the printer engine section becomes empty for a page buffer that has already been drawn. is canceled. Thereafter, by immediately starting the task scheduler, the task with the highest priority among the executable tasks is selected and started.

さらに具体的には、−旦、資源空き待ち状態になったタ
スクは、資源空き待ち状態から解除するためのイベント
が生じた時点で割込み処理を経て直ちに、実行可能状態
へ移される。描画タスクは。
More specifically, a task that has entered the resource free wait state is immediately moved to the executable state through interrupt processing when an event occurs to release the task from the resource free wait state. The drawing task.

後述するプリンタメモリコントローラからCPUへのペ
ージ読出し終了割込み(イベント)により、ページバッ
ファ空き待ち状態から解除される。−方、印刷タスクに
ついては後述するサブCPUからCPUへの印刷指示許
可割込み(イベント)により、ページnについての印刷
タスクが後述する印刷指示許可待ち状態(後述する事象
発生待ち状態の一つ)から解除された後、プリンタ制御
部の一機能であるプリンタフリーを発行することにより
、ページn+1についての印刷タスクがプリンタ空き待
ち状態から解除される。
The page buffer free waiting state is released by a page read end interrupt (event) from the printer memory controller to the CPU, which will be described later. - On the other hand, regarding the print task, due to a print instruction permission interrupt (event) from the sub-CPU to the CPU, which will be described later, the print task for page n will change from the print instruction permission waiting state (one of the event occurrence waiting states described later). After the release, the print task for page n+1 is released from the printer free wait state by issuing printer free, which is a function of the printer control unit.

以上のように、ページバッファ部内のページやプリンタ
エンジン部の空き具合等の描画条件、印刷条件に応じて
実行状態のタスクを切換えることにより、プリンタエン
ジン部およびページバッファ部(複数ページからなる)
を空き時間なく使用することができるので、印刷制御装
置とプリンタエンジン部からなる印刷システムのスルー
プットを向上させることができる。
As described above, by switching the task in the execution state according to the drawing conditions such as the pages in the page buffer section and the free space in the printer engine section, and the printing conditions, the printer engine section and the page buffer section (consisting of multiple pages) can be
Since the printer can be used without any idle time, the throughput of the printing system consisting of the print control device and the printer engine section can be improved.

(以下、余白) [実施例] 以下、本発明による印刷制御装置の第1の実施例を第1
図を用いて説明する。
(Hereinafter, blank space) [Example] Hereinafter, a first example of a printing control device according to the present invention will be described as a first example.
This will be explained using figures.

この装置は、コマンドバッファ部11、タスク制御部1
2.タスク処理部13、ページバッファ部14、プリン
タアダプタ部15、及びタスク管理テーブル部(タスク
制御用待ち行列部)17からなる。
This device includes a command buffer section 11, a task control section 1
2. It consists of a task processing section 13, a page buffer section 14, a printer adapter section 15, and a task management table section (task control queue section) 17.

第1図において、ホストコンピュータ10が送信した描
画指示用の描画コマンド、印刷表示用の印刷コマンド等
のコマンドの列は、コマンドバッファ部11へ格納され
る。なお、各ページは0個または1個以上の描画コマン
ド列と1個の印刷コマンドとして定義され、ホストコン
ピュータが送信する。コマンドバッファ部11に格納さ
れたコマンドはタスク制御部12により処理される。
In FIG. 1, a string of commands transmitted by the host computer 10, such as a drawing command for drawing instructions and a print command for print display, is stored in a command buffer unit 11. Note that each page is defined as a string of zero or more drawing commands and one print command, and is sent by the host computer. The commands stored in the command buffer section 11 are processed by the task control section 12.

タスク制御部12は、タスク生成、タスク実行、タスク
待ち、タスク起床、タスク終了、タスクスケジューラ等
の機能の集りである。このうち、タスク生成処理は、コ
マンドバッファ部11内の各コマンドに対応してタスク
を生成し、タスク制御用待ち行列部17内の実行待ち行
列へ接続する。
The task control unit 12 is a collection of functions such as task generation, task execution, task waiting, task wake-up, task termination, and task scheduler. Among these, the task generation process generates a task corresponding to each command in the command buffer unit 11 and connects it to the execution queue in the task control queue unit 17.

各ページを構成する描画コマンド列と印刷コマンドに対
応して、描画タスクと印刷タスクが1つずつ生成される
。その接続された各タスクは順次タスク実行処理により
選出され、起動される。ここで、タスク生成とタスク実
行の時機の制御はタスクスケジューラが行う。その内容
は後述する。起動された各タスクの処理はタスク処理部
13内の描画タスク処理部131、印刷タスク処理部1
32で実行される。
One drawing task and one printing task are generated corresponding to the drawing command string and printing command that constitute each page. Each of the connected tasks is sequentially selected and activated by task execution processing. Here, the task scheduler controls the timing of task generation and task execution. The contents will be described later. Each activated task is processed by the drawing task processing unit 131 and the printing task processing unit 1 in the task processing unit 13.
32.

描画タスク処理部131においては、初めに描画可能条
件を判定する。描画可能条件としてはページバッファ部
14内の各ページの空き具合を用いる。描画可能(空き
あり)ならば、描画タスクを構成する描画コマンド列を
実行し、文字、図形。
The drawing task processing unit 131 first determines the drawing enable conditions. The free space of each page in the page buffer unit 14 is used as the drawability condition. If it is possible to draw (there is space available), execute the drawing command sequence that makes up the drawing task, and draw characters and figures.

イメージ等を空いているページ(例えばページ142)
上に、ドツトイメージ形式にして書込む。
A blank page with images etc. (e.g. page 142)
Write on top in dot image format.

描画不可能(空きなし)ならば、タスク待ち処理を呼出
し1水掃画タスクをページバッファ空き待ち状態にし、
タスク管理テーブル部17内の描画条件待ち行列へ移し
た後、タスクスケジューラを起動する。
If it is impossible to draw (there is no space), call the task wait process and put the 1 water sweeping task in the state of waiting for page buffer free space.
After moving the task to the drawing condition queue in the task management table section 17, the task scheduler is activated.

印刷タスク処理部132においては、印刷可能条件を判
定する。印刷可能条件は、ページバッファ部14とプリ
ンタエンジン部16の状態に基づいて決まり、描画の完
了したページがページバッファ14内に存在し、かつ、
プリンタエンジン部16が異常でなく印刷指示を受付け
る状態にあることが必要とされる。印刷可能ならば、プ
リンタエンジン部16への印刷指示の発行をプリンタア
ダプタ部15を介して行った後、タスク待ちを起動して
本印刷タスクを印刷終了待ち状態にし、タスク管理テー
ブル部17内の印刷終了待ち行列へ移した後、タスクス
ケジューラを起動する。印刷不可能ならば、タスク待ち
処理を呼出して、本印刷タスクをプリンタ空き待ち状態
にし、タスク管理テーブル部17内の印刷条件待ち行列
へ移した後、タスクスケジューラを起動する。
The print task processing unit 132 determines printable conditions. The printable conditions are determined based on the states of the page buffer unit 14 and printer engine unit 16, and include a page for which rendering has been completed exists in the page buffer 14, and
It is necessary that the printer engine section 16 is not abnormal and is in a state where it can accept print instructions. If printing is possible, a print instruction is issued to the printer engine unit 16 via the printer adapter unit 15, and then a task wait is activated to place the main print task in a printing completion wait state, and the information in the task management table unit 17 is After moving it to the print completion queue, start the task scheduler. If printing is not possible, a task wait process is called, the main print task is placed in a printer idle wait state, and after being moved to the print condition queue in the task management table section 17, the task scheduler is activated.

プリンタアダプタ部15は、印刷タスク処理部132の
指示に従って、印刷指示をプリンタエンジン部16に発
行した後、プリンタエンジン部16との間のビデオ信号
インターフェースに従って、本印刷タスクの対象である
ページバッファ142内のドツトイメージデータをビデ
オ信号としてプリンタエンジン部16へ出力する。
The printer adapter unit 15 issues a print instruction to the printer engine unit 16 in accordance with the instructions from the print task processing unit 132, and then, in accordance with the video signal interface with the printer engine unit 16, prints the page buffer 142 that is the target of the print task. The dot image data within is output to the printer engine section 16 as a video signal.

プリンタアダプタ部15はプリンタエンジン部16への
印刷指示が可能になった時点で、印刷指示許可割込み処
理を起動し、1ペ一ジ分のドツトイメージデータの読出
しが完了した時点で、ページ読出し終了割込み処理を起
動する。2つの割込み処理は、タスク起床処理を起動し
、各々前記印刷条件待ち行列内の先頭タスク(印刷タス
ク)又は前記描画条件待ち行列内の先頭タスク(描画タ
スク)があれば、各々最高優先度、次優先度の実行可能
状態にして、実行待ち行列へ移した後、タスクスケジュ
ーラを起動する。詳しくは、タスク起床の説明として後
述する。
The printer adapter section 15 starts a print instruction permission interrupt process when it becomes possible to issue a print instruction to the printer engine section 16, and ends page reading when the reading of one page's worth of dot image data is completed. Start interrupt processing. The two interrupt processes start a task wake-up process, and if there is a first task (print task) in the printing condition queue or a first task (drawing task) in the drawing condition queue, the two interrupt processes start the task wake-up process, and if there is a first task (print task) in the print condition queue or a first task (draw task) in the drawing condition queue, they are respectively activated with the highest priority, After making it executable with the next priority and moving it to the execution queue, start the task scheduler. The details will be described later as an explanation of task wake-up.

本割込み処理によって、プリンタエンジン部やページバ
ッファ部に空きが生じた時、直ちに、待たされていた印
刷タスクや描画タスクが起動される。また、タスクスケ
ジューラにより、CPUは空き時間なく、印刷タスクや
描画タスクを実行する。以上のタスク制御機能によって
、CPU、プリンタエンジン部15、及びページバッフ
ァ部(複数ページからなる)を空き時間なく使用するこ
とができるので、スループットを向上させ、プリンタエ
ンジン最高速度での印刷を実現することができる。
As a result of this interrupt processing, when the printer engine section or page buffer section becomes free, the print task or drawing task that has been kept waiting is started immediately. Furthermore, the task scheduler causes the CPU to execute printing tasks and drawing tasks without any free time. The task control function described above allows the CPU, printer engine section 15, and page buffer section (consisting of multiple pages) to be used without idle time, thereby improving throughput and realizing printing at the maximum speed of the printer engine. be able to.

第1図の各部は、マイクロプロセッサ、RAM。Each part in FIG. 1 is a microprocessor and a RAM.

ROM、LSI、論理IC等を使用して構成することが
できる。
It can be configured using ROM, LSI, logic IC, etc.

次に1本発明の特徴であるタスク制御部12の内容を説
明する。
Next, the contents of the task control section 12, which is a feature of the present invention, will be explained.

初めに、タスク制御部12で用いたタスク状態とその間
の遷移を説明する。タスクは第3図に示すように次の4
状態のうちの一つをとる。
First, the task states used by the task control unit 12 and the transitions therebetween will be explained. The tasks are the following 4 as shown in Figure 3.
Take one of the states.

(i)未登録:タスクがまだシステムに登録されてない
状態 (ii)実行(ラン):現在CPUで実行中の状態(■
)実行可能(レディ):タスクがシステムに登録されC
PUが割り当てられるのを待っている状態 (iv)待ち(ウェイト):ラン状態だったタスクが描
画条件、印刷条件等が整っていなかっため、タスク待ち
処理(スーパバイザコール、SvCと略す)を発行し、
それらの条件が整うのを待っている状態 本発明では待ちの発生要因として、■印刷条件待ち、■
描画条件待ち、■印刷終了待ち、の3つを用いる。■、
■、■はそれぞれ、前記ページ読出し終了割込み、印刷
指示許可割込み、及び印刷終了割込みの発生で、実行可
能状態に戻る。■は印刷タスクの処理をCPUからプリ
ンタアダプタ部15とプリンタエンジン部16とへ移し
た後、排紙完了による印刷タスクの終了を待つ場合に用
いる。印刷終了割込みはプリンタエンジン部から正常排
紙された時点で発生する。本割込み処理に伴い再開され
た印刷タスクは残りの処理(印刷済みページ通し番号の
更新とホストコンピュータへの報告)を行った後、後述
するタスク終了処理を起動する。
(i) Unregistered: The task has not yet been registered in the system. (ii) Run: The task is currently being executed on the CPU (■
) Executable (Ready): The task is registered in the system and C
Waiting state (iv) for a PU to be allocated (wait): The task that was in the running state has not yet set the drawing conditions, printing conditions, etc., so it issues a task wait process (supervisor call, abbreviated as SvC). ,
Waiting for those conditions to be met In the present invention, the causes of waiting include: Waiting for printing conditions;
Three methods are used: Waiting for drawing conditions and ■Waiting for printing completion. ■,
(2) and (2) return to the executable state upon occurrence of the page read end interrupt, print instruction permission interrupt, and print end interrupt, respectively. (2) is used to wait for the end of the print task due to the completion of paper ejection after the processing of the print task is transferred from the CPU to the printer adapter section 15 and printer engine section 16. The print end interrupt occurs when paper is normally ejected from the printer engine section. The print task restarted in response to this interrupt processing performs the remaining processing (updating the printed page serial number and reporting to the host computer), and then starts task termination processing, which will be described later.

次に、個々のタスク制御機能:(a)タスク生成、(b
)タスク実行、(C)タスク待ち、(d)タスク起床、
(e)タスク終了、(f)タスクスケジューラ、を順に
説明する。
Next, the individual task control functions: (a) task generation, (b
) task execution, (C) task wait, (d) task wake up,
(e) Task termination and (f) Task scheduler will be explained in order.

(a)タスク生成 (i)前記実行待ち行列内のタスク総数が許容最大値に
なるか、又はコマンドバッファ部11が空になるまで、
コマンドバッファ部11からコマンドを取り出し、タス
クとして実行待ち行列へ追加する。追加するタスクの優
先度は2とする。
(a) Task generation (i) Until the total number of tasks in the execution queue reaches the maximum allowable value or the command buffer section 11 becomes empty,
A command is taken out from the command buffer unit 11 and added to the execution queue as a task. The priority of the added task is set to 2.

(it)続いて、タスクスケジューラを起動し、優先度
の高いタスクを実行させる。
(it) Next, start the task scheduler and execute a task with a high priority.

(b)タスク実行。(b) Task execution.

(i)実行状態のタスク(優先度P)があるならば、実
行待ち行列から優先度がPより高く、本行列内で一番優
先度の高いタスクを探す。存在すれば、実行状態のタス
クを実行待ち行列へ移した後、その探したタスクを実行
状態にする。
(i) If there is a task in the running state (priority P), search the execution queue for a task with a priority higher than P and the highest priority in the main queue. If it exists, move the running task to the execution queue, and then put the found task into the running state.

存在しなければ、本タスク実行処理を終了する。If it does not exist, this task execution process ends.

(ii)実行状態のタスクがなければ、実行待ち行列内
で一番優先度の高いタスクを探し、実行状態にする。
(ii) If there is no task in the running state, search for the task with the highest priority in the execution queue and put it in the running state.

(iti) (n)において実行待ち行列が空なら、本
タスク実行処理を終了する。
(iti) If the execution queue is empty in (n), this task execution process ends.

(C)タスク待ち (i)各タスクを■印刷条件待ち、■描画条件待ち、■
印刷終了待ち等の各待ち条件が発生した時点で、実行状
態から待ち状態に移し、各イベント待ち行列へ移す。
(C) Waiting for tasks (i) Waiting for each task: ■Waiting for printing conditions,■Waiting for drawing conditions,■
When each waiting condition such as waiting for printing completion occurs, the execution state is shifted to the waiting state and transferred to each event queue.

(ii)実行状態のタスクをイベント待ち行列へ移した
ら、タスクスケジューラを起動し、優先度の高いタスク
を実行する。
(ii) After moving the running task to the event queue, start the task scheduler and execute the task with a high priority.

(d)タスク起床 (i)印刷指示許可割込み、ページ読出し終了割込み、
印刷終了割込み等のイベントが発生した時点で、タスク
を起床させて待ち状態から実行可能状態へ移す。具体的
には、各イベント待ち行列の先頭タスクを行列から外し
、タスク優先度を変更した後、実行待ち行列へ追加する
。この優先度の変更で、印刷タスクは最高優先度(例え
ば優先度0)とし、描画タスクは凍傷先度(例えば優先
度1)とする。
(d) Task wake-up (i) Print instruction permission interrupt, page read end interrupt,
When an event such as a print end interrupt occurs, the task is woken up and moved from the waiting state to the executable state. Specifically, the first task of each event queue is removed from the queue, the task priority is changed, and then added to the execution queue. In this priority change, the printing task is given the highest priority (for example, priority 0), and the drawing task is given the highest priority (for example, priority 1).

(ii)続いて、タスクスケジューラを起動し、タスク
を再スケジュールする。
(ii) Next, start the task scheduler and reschedule the task.

ここで、(i)に示した優先度の変更制御により、ホス
トコンピュータ10から受信した描画コマンドと印刷コ
マンドを、受信したページ順序のまま正しく印刷するこ
とができる。
Here, the priority change control shown in (i) allows the drawing commands and print commands received from the host computer 10 to be printed correctly in the received page order.

(e)タスク終了 次の手順によりタスクを終了させる。(e) Task end Finish the task using the following steps:

(i)実行状態のタスク、正確にはタスクコントロール
ブロック(TCBと略す)を削除する。
(i) Delete a running task, more precisely, a task control block (abbreviated as TCB).

(it)タスクスケジューラを起動する。(it) Start the task scheduler.

(f)タスクスケジューラ (i)起動時機 以下のイベントが生起するとタスクスケジューラが起動
され、優先度の高いタスクの選出と起動が行われる。
(f) Task Scheduler (i) Activation Timing When the following events occur, the task scheduler is activated, and a task with a high priority is selected and activated.

■タスク生成 ■タスク終了 ■タスク待ち ■タスク起床 ■ その他タスクスケジュールの起動が必要なタスク制
御機能の実行 (ii)処理内容 タスク実行を起動する。タスク実行において、実行待ち
行列が空であり次に実行状態にすべきタスクがないなら
ば、タスク生成を起動した後、タスク実行を再起動する
■Task generation ■Task termination ■Task waiting ■Task wakeup■ Execution of other task control functions that require activation of task schedule (ii) Processing details Activate task execution. During task execution, if the execution queue is empty and there is no task to be put into the execution state next, task generation is started and then task execution is restarted.

次に、タスク制御部12の処理を管理するための、タス
ク管理テーブル部17の一例を第4図に示す。
Next, FIG. 4 shows an example of the task management table section 17 for managing the processing of the task control section 12.

タスク管理テーブル部17には第4図(a)の実行待ち
行列と第4図(b)のイベント待ち行列の2種類の待ち
行列がある。前者は前述したレディ状態のタスクのCP
Uによる実行を管理するためのテーブルであり、後者は
前述した印刷条件待ち、描画条件待ち、印刷終了待ち等
のイベント待ち状態のタスクを記述し、管理するための
テーブルである。また、第4図(c)に実行待ち行列と
イベント待ち行列の構成要素であるTCB (タスクコ
ントロールブロック)の内容を示す。
The task management table unit 17 has two types of queues: an execution queue shown in FIG. 4(a) and an event queue shown in FIG. 4(b). The former is the CP of the task in the ready state mentioned above.
This is a table for managing execution by U, and the latter is a table for describing and managing tasks that are waiting for an event such as waiting for printing conditions, waiting for drawing conditions, waiting for printing completion, etc. as described above. Further, FIG. 4(c) shows the contents of a TCB (task control block) which is a component of the execution queue and the event queue.

以上説明した本装置の動作手順を第5図のP A D 
(Problem Analysis Diagram
)に示す。同図(a)ないしくj)は、それぞれ、メイ
ン、タスクスケジューラ、描画タスクの実行、印刷タス
クの実行、第1部印刷、印刷開始、印刷指示許可割込み
処理、ページ読出し終了割込み処理、印刷終了割込み処
理、およびページ読出し開始割込み処理の動作手順を示
す。
The operating procedure of this device explained above is shown in FIG.
(Problem Analysis Diagram
). Figures (a) to j) respectively show main, task scheduler, drawing task execution, print task execution, first part printing, print start, print instruction permission interrupt processing, page read end interrupt processing, and print end. The operation procedure of interrupt processing and page read start interrupt processing is shown.

なお、ホストコンピュータ10と本装置との間のインタ
ーフェースとしては、R8232C、セントロニクス、
5C81,GP−IB等を用いる。
Note that the interface between the host computer 10 and this device is R8232C, Centronics,
5C81, GP-IB, etc. are used.

本実施例によれば、タスク待ち、タスク起床等のタスク
制御機能により、CPU、プリンタエンジン部、ページ
バッファ部を空き時間なく動作させることができるので
、スループットを向上し、プリンタエンジンの最高速度
での印刷が行えるという効果がある。
According to this embodiment, task control functions such as task waiting and task wake-up allow the CPU, printer engine section, and page buffer section to operate without idle time, thereby improving throughput and achieving the maximum speed of the printer engine. This has the effect that printing can be performed.

次に、第2の実施例を第6図を用いて説明する。Next, a second embodiment will be explained using FIG. 6.

同図は、第1図の装置にページバッファ管理テーブル部
18とプリンタ管理テーブル部19とを追加したもので
ある。前者は、複数ページからなるページバッファ部1
4への描画タスクによる書込みと印刷タスクによる読出
しにおいて、ページバッファ部の使用に遊び時間を生じ
させず、またページバッファ部への各タスクによるアク
セスの順序に誤りを生じさせないために用いる。後者は
、印刷タスクによるプリンタ(プリンタアダプタ部15
とプリンタエンジン部16)の使用状況を管理し、プリ
ンタの動作に遊び時間を生じさせないために用いる。
This figure shows the apparatus shown in FIG. 1 with a page buffer management table section 18 and a printer management table section 19 added thereto. The former is a page buffer section 1 consisting of multiple pages.
This is used to prevent idle time from occurring in the use of the page buffer section in writing by the drawing task and reading by the print task to the page buffer section 4, and to prevent errors in the order of accesses to the page buffer section by each task. The latter is a printer (printer adapter section 15) by a print task.
It is used to manage the usage status of the printer engine unit 16) and to prevent idle time from occurring in printer operation.

第7図にページバッファ管理テープ/L[18(7)例
を示す。第7図(a)にその全体構成を示す。
FIG. 7 shows an example of page buffer management tape/L[18(7). FIG. 7(a) shows its overall configuration.

全ページバッファ用共通情報71により、次に描画タス
クが書込むべきページバッファNαと次に印刷タスクが
読出すべきページバッフアNα等を記述する。
The common information for all page buffers 71 describes the page buffer Nα to which the drawing task should write next, the page buffer Nα to which the print task should read next, and the like.

また各ページ毎に、タスク関連情報7211紙サイズ関
連座標情報722、給排紙部関連情報723、を用意し
た。これらの情報721〜723の内容をそれぞれ、第
7図(b)〜(d)に示す。
Further, for each page, task related information 7211, paper size related coordinate information 722, and paper feed/discharge unit related information 723 are prepared. The contents of these pieces of information 721 to 723 are shown in FIGS. 7(b) to 7(d), respectively.

タスク関連情報721では、まず各ページの描画・印刷
状況を、第7図(8)に示す描画可能(空き)、描画中
、印刷可能(有効)、印刷開始、印刷中1、印刷中2、
のいずれかとして記述する。
In the task related information 721, first, the drawing/printing status of each page is shown as drawing possible (empty), drawing in progress, printing possible (valid), printing start, printing in progress 1, printing in progress 2, and
Describe as either.

さらに、各ページを使用中の描画タスクと印刷タスクを
記述した。また、そのページを空き待ちしている描画タ
スクを記述し、前述の描画条件待ち行列の根のポインタ
として使用した。
Furthermore, we described the drawing and printing tasks that are using each page. In addition, a drawing task waiting for the page to become available was written and used as a pointer to the root of the drawing condition queue described above.

また1紙サイズ関連座標情報722と給排紙部関連情報
723には描画タスクが、描画コマンド列の一部により
指示された紙サイズ関連座標情報と給排紙部関連情報を
書込み、印刷タスクがそれらを利用して、印刷を行うよ
うにした。
In addition, the drawing task writes the paper size-related coordinate information and paper feeding/discharging section related information specified by part of the drawing command string to the paper size related coordinate information 722 and paper feeding/discharging section related information 723, and the printing task writes the paper size related coordinate information and paper feeding/discharging section related information 723. I used them to print.

第8図にプリンタ管理テーブル部19の一例を示す。同
図はレーザビームプリンタを対象にした場合の例である
。同図(a)のプリンタ状態81としては、同rj!1
(b)に示すように印刷タスクによる印刷指示、給排紙
部変更指示の可/不可(811゜812);プリンタエ
ンジン状態813;給紙部と排紙部の状態(814,8
15)を記述する。
FIG. 8 shows an example of the printer management table section 19. The figure shows an example for a laser beam printer. The printer status 81 in FIG. 1
As shown in (b), print instructions and paper feed/discharge section change instructions are possible/disabled by the print task (811 and 812); Printer engine status 813; Paper feed section and paper discharge section status (814, 812);
15).

また、同図(a)のタスク関連情報82としては、同図
(C)に示すように、プリンタ使用中の印刷タスク82
1;プリンタを空き待ちの印刷タスク822;印刷終了
待ちの印刷タスク823を記述する。このうち、待ちタ
スク822および823は前述の印刷条件待ち行列、印
刷終了待ち行列の根のポインタとして使用する。
Further, as the task-related information 82 in FIG. 10A, as shown in FIG.
1; print task 822 waiting for a printer to become available; print task 823 waiting for printing to be completed. Of these, waiting tasks 822 and 823 are used as pointers to the roots of the print condition queue and print completion queue described above.

なお、LEDプリンタ、LCSプリンタ、シャトルプリ
ンタ等、他の種類のページプリンタについても、プリン
タ管理テーブル部を本実施例と同様の考え方で定義し、
使用することができる。
Note that for other types of page printers such as LED printers, LCS printers, and shuttle printers, the printer management table section can be defined using the same concept as this embodiment.
can be used.

第9図に、ページバッファ面数を3とした場合の本印刷
制御装置による描画、印刷等の並行処理のタイミング図
を示す0図示のように、コマンド受信、ページバッファ
1〜3.プリンタのレーザ制御および紙制御は並行して
実行されるので、プリンクおよびページバッファの使用
に空き時間が生じず、プリンタエンジンをその最高速度
で動作させることが可能となる。同図中、「描画」に続
く「有効」は、描画が完了して描画データが利用可能な
状態にあることを示している。rページ読出し終了によ
る描画条件待ちの解除」および「給紙完了による印刷条
件待ちの解除」は、前述のようにいずれもCPUに対す
る割込み要求により行われる。
FIG. 9 shows a timing diagram of parallel processing such as drawing and printing by the print control device when the number of page buffers is 3. As shown in FIG. 9, command reception, page buffers 1 to 3. Since the laser control and paper control of the printer are performed in parallel, there is no idle time in the use of link and page buffers, allowing the printer engine to operate at its maximum speed. In the figure, "valid" following "drawing" indicates that drawing has been completed and the drawing data is available. "Release of waiting for drawing conditions due to completion of page r reading" and "Release of waiting for printing conditions due to completion of paper feeding" are both performed by an interrupt request to the CPU, as described above.

なお、印刷条件待ちの解除のタイミングはプリンタエン
ジン部16の特性によって変わり、プリンタエンジンに
よっては給紙完了の時機と一致しないこともある。しか
し、この場合でも、プリンタアダプタ部15又はプリン
タエンジン部16が、プリンタエンジン部16の特性に
応じて、印刷条件待ちの解除を検出し、その結果直ちに
プリンタアダプタ部15からCPUに対し「印刷条件待
ちの解除」割込みを発生するようにすることにより、本
発明を適用することができる。
Note that the timing of canceling the wait for printing conditions varies depending on the characteristics of the printer engine section 16, and may not coincide with the timing of paper feeding completion depending on the printer engine. However, even in this case, the printer adapter section 15 or the printer engine section 16 detects the release of the print condition wait according to the characteristics of the printer engine section 16, and as a result, the printer adapter section 15 immediately sends the "print condition" to the CPU. The present invention can be applied by generating a "waiting release" interrupt.

以上説明した本実施例によれば、それぞれページバッフ
ァ部14とプリンタ(15,16)との管理用にページ
バッファ管理テーブル部18とプリンタ管理テーブル部
19とを用意したので、ページバッファ部とプリンタと
をCPUの管理と独立して木目細かく管理でき、また、
ページバッファ部やプリンタを変更した場合に、各場合
について個別に、対応する管理テーブル部とそのアクセ
スプログラムとを変更するだけで、プログラムの更新を
行うことができる。
According to the embodiment described above, the page buffer management table section 18 and the printer management table section 19 are prepared for managing the page buffer section 14 and printers (15, 16), respectively. can be managed in detail independently from CPU management, and
When the page buffer section or printer is changed, the program can be updated by simply changing the corresponding management table section and its access program for each case individually.

(以下、余白) 次に1本発明の第3の実施例を説明する。(Hereafter, margin) Next, a third embodiment of the present invention will be described.

まず、前述した第1、第2実施例にない本実施例の特徴
を以下に列挙する。
First, features of this embodiment that are not present in the first and second embodiments described above are listed below.

(1)ページバッファ制御部116とプリンタ制御部1
17を設けた。この効果については後述する。
(1) Page buffer control unit 116 and printer control unit 1
17 was established. This effect will be discussed later.

(2)プリンタアダプタ部15の機能を、プリンタメモ
リコントローラ109とサブCPU106とにより実現
した。
(2) The functions of the printer adapter unit 15 are realized by the printer memory controller 109 and the sub CPU 106.

(3)タスク制御部12の機能として別のものを用意し
て用いた。具体的には、(i)タスク状態とその遷移、
(n)タスク管理テーブル部、 (fit)タスク制御
用マクロとして別の実現例を示した。
(3) Another function of the task control unit 12 was prepared and used. Specifically, (i) task states and their transitions;
(n) Task management table section; (fit) Another example of implementation as a task control macro is shown.

特に、第1および第2の実施例におけるタスク待ちとタ
スク起床の2機能の代わりに、本実施例では事象発生待
ち、事象発生待ち解除、資源空き待ち、資源空き待ち解
除の4機能を用意して用いた。
In particular, instead of the two functions of waiting for a task and waking up a task in the first and second embodiments, this embodiment provides four functions: waiting for an event to occur, canceling a wait for an event to occur, waiting for a resource to become available, and canceling a wait for a resource to become available. I used it.

(4)ページバッファ管理テーブル部18とプリンタ管
理テーブル部19の内容を拡張した。
(4) The contents of the page buffer management table section 18 and printer management table section 19 have been expanded.

(5)第1および第2実施例では、タスクスケジューラ
により起動されたタスク生成処理が、コマンドバッファ
部11からコマンドを取り出してそのコマンドの種類に
応じて描画タスクや印刷タスクを生成し、実行待ち行列
に接続した。一方1本実施例では、描画タスクがその実
行状態において、コマンドバッファ部11内のコマンド
を取り出し。
(5) In the first and second embodiments, the task generation process started by the task scheduler extracts a command from the command buffer section 11, generates a drawing task or a print task according to the type of the command, and waits for execution. Connected to the queue. On the other hand, in this embodiment, a drawing task retrieves a command from the command buffer section 11 in its execution state.

解釈、実行すると共に、印刷タスクの起動(第1、第2
の実施例でのタスク生成に相当)も描画タスクが行うよ
うにした。別の観点からいうと、先の実施例ではタスク
を非常駐タスクとしたが、本実施例では常駐タスクとし
た。
Interpretation and execution, as well as starting print tasks (first and second
(equivalent to task generation in the embodiment) is also performed by the drawing task. From another perspective, in the previous embodiment, the task was a non-resident task, but in this embodiment, it was a resident task.

(6)第1、第2の実施例では、各印刷タスクについて
の排紙終了待ち状態(第1.第2実施例では印刷終了待
ち状態と呼んだ)への移行と解除を、印刷終了待ち行列
とタスク待ちとタスク起床を用いて実現したが、本実施
例では、事象発生待ちと事象発生待ち解除を用いて実現
した。
(6) In the first and second embodiments, the transition to and release from the state of waiting for the end of paper ejection (referred to as the state of waiting for the end of printing in the first and second embodiments) for each print task is performed by waiting for the end of printing. This was realized using a queue, task waiting, and task wake-up, but in this embodiment, it was realized using event occurrence waiting and event occurrence waiting canceling.

初めに本実施例に係る印刷制御装置のハードウェア構成
を第18図を用いて説明する。印刷制御装置は、CPU
バス101、ホスト通信コントローラ102、CPU1
03、ROMメモリ104、浮動小数点演算コプロセッ
サ105.サブCPU106、ユーザ操作パネル107
、イメージ回転用LS1108、プリンタメモリコント
ローラ109、及びDRAMメモリIOAからなる。
First, the hardware configuration of the print control device according to this embodiment will be explained using FIG. 18. The print control device is a CPU
Bus 101, host communication controller 102, CPU1
03, ROM memory 104, floating point arithmetic coprocessor 105. Sub CPU 106, user operation panel 107
, an image rotation LS 1108, a printer memory controller 109, and a DRAM memory IOA.

CPUバス101は、CPU103の各種入出力信号(
アドレス信号、データ信号、その他の制御信号)からな
る。
The CPU bus 101 receives various input/output signals (
address signals, data signals, and other control signals).

CPU103は本CPUバス101を介して、102.
105,106,108,109等の周辺コントローラ
や104.IOA等のメモリと入出力を行う。
The CPU 103 communicates via the main CPU bus 101 with 102.
Peripheral controllers such as 105, 106, 108, 109 and 104. Performs input/output with memory such as IOA.

ホスト通信コントローラ102は、印刷制御装置がホス
トコンピュータ10と通信を行うためのコントローラで
ある。本通信(ホストI/Fと呼ぶ)の物理I/Fとし
てはS CS I (SmallComputer S
ystem Interface)  RS 232 
C。
The host communication controller 102 is a controller for the print control device to communicate with the host computer 10. The physical I/F for this communication (called host I/F) is SCS I (Small Computer S
System Interface) RS 232
C.

RS 422 、GP −IB (general p
urpose 1nterfacebus) 、セント
ロニクス、HD L C()Iigh−Level D
ata Link Control)等を用い、使用す
る物理I/Fの種類に応じて本コントローラ102のハ
ードウェア論理として適切なものを実装する。
RS 422, GP-IB (general p
urpose 1nterfacebus), Centronics, HDLC()Iigh-Level D
ATA Link Control), etc., to implement appropriate hardware logic for the controller 102 depending on the type of physical I/F to be used.

ROMメモリ104には印刷制御装置の初期化立上げ゛
プログラム(I P L (Initial Prog
ramLoading)プログラムとも呼ぶ)と文字フ
ォントの一部を格納する。
The ROM memory 104 stores an initialization start-up program (IPL) for the printing control device.
ramLoading (also called program) and part of the character font.

DRAMメモリIOAには(i)本印刷制御装置の制御
プログラム、(ii)文字フォントの残り、(市)コマ
ンドバッファ部メモリ、(iv)ページバッファ部メモ
リ、及び(V)タスク管理テーブル、ページバッファ管
理テーブル、プリンタ管理テーブル等の各種管理テーブ
ル、その他を格納する。これらのうち(i)と(ii)
は前記IPLプログラムにてホストコンピュータ10か
らダウンロードすることにより、格納する。また(i)
と(n)はDRAMメモリIOAに格納せず、ROMメ
モリ104に予め格納しておいてもよい。
The DRAM memory IOA contains (i) the control program of the printing control device, (ii) the remaining character fonts, (city) command buffer section memory, (iv) page buffer section memory, and (V) task management table, page buffer. Stores various management tables such as management tables and printer management tables, and others. Of these (i) and (ii)
is stored by downloading it from the host computer 10 using the IPL program. Also (i)
and (n) may not be stored in the DRAM memory IOA, but may be stored in the ROM memory 104 in advance.

また逆にROMメモリ104には文字フォントを一切格
納せず、すべてDRAMメモリIOAに格納してもよい
Conversely, all character fonts may be stored in the DRAM memory IOA without storing any character fonts in the ROM memory 104.

浮動小数点演算プロセッサ105は、CPU103の指
示に従い浮動小数点演算を行う。イメージ回転用LS1
108はCPU103による前記ページバッファ部メモ
リへの文字やイメージの描画処理において、CPU10
3の指示に従い描画出力の回転処理を行う。浮動小数点
演算コプロセッサ105やイメージ回転用LS1108
により、描画処理を高速化できる。なお、描画処理の速
度は低下するが、105および108は省略してCPU
により処理することもできる。
Floating point arithmetic processor 105 performs floating point arithmetic according to instructions from CPU 103. LS1 for image rotation
Reference numeral 108 indicates that the CPU 10
Rotate the drawing output according to the instructions in step 3. Floating point arithmetic coprocessor 105 and image rotation LS1108
This speeds up the drawing process. Note that although the speed of drawing processing will be reduced, 105 and 108 are omitted and the CPU
It can also be processed by

サブCPU106は、CPU103の指示に従い、ユー
ザ操作パネル107やプリンタエンジン部16との間で
入出力処理を行う。
The sub CPU 106 performs input/output processing with the user operation panel 107 and the printer engine unit 16 according to instructions from the CPU 103 .

プリンタメモリコントローラ109はDRAMメモリI
OAの内容(通常ページバッファ部の内容)のプリンタ
エンジン部16への読出し処理とDRAMメモリIOA
の制御(リフレッシュ等を行う0本続出し処理は内蔵の
D M A (DirectMemory Acces
s)機能を用いて行い、紙面1ペ一ジ分のデータのペー
ジバッファ部からの読出しが終了した時点で、プリンタ
メモリコントローラ109がCPUIO3に対し割り込
み信号(CPUバス101内の信号の一部)をアサート
し、CPUによるページバッファ読出し終了割込み処理
を起動する。
The printer memory controller 109 is a DRAM memory I.
Processing of reading the contents of OA (the contents of the normal page buffer section) to the printer engine section 16 and the DRAM memory IOA
control (refresh, etc.) using the built-in DMA (Direct Memory Access
s) function, and when the reading of data for one page of paper from the page buffer section is completed, the printer memory controller 109 sends an interrupt signal (part of the signal in the CPU bus 101) to the CPUIO3. is asserted to start page buffer read end interrupt processing by the CPU.

印刷制御装置はプリンタエンジン部16との間で、サブ
CPU106が信号線10C−1を介し、プリンタメモ
リコントローラ109が信号線10G−2を介して、ビ
デオI/Fと呼ぶr/Fに従って1通信を行う、信号線
10C−2は、プリンタメモリコントローラ109が前
述したようにページバッファ部メモリの内容をプリンタ
エンジン部16へ読出す画像出力信号を搬送する。信号
線10G−1はサブCPUIQ6がプリンタエンジン部
16へ問合せや指示のためのコマンドを送信し、プリン
タエンジン部16から応答ステータスを受信するための
コマンド、ステータス送受信信号及び、前記ページバッ
ファ部メモリ内容のプリンタエンジン部16への読出し
手順を制御するための制御信号を搬送する。
The print control device performs one communication with the printer engine unit 16 according to r/F called video I/F, with the sub CPU 106 via the signal line 10C-1 and the printer memory controller 109 via the signal line 10G-2. The signal line 10C-2 carries an image output signal that causes the printer memory controller 109 to read the contents of the page buffer section memory to the printer engine section 16 as described above. The signal line 10G-1 is used by the sub CPUIQ6 to send commands for inquiries and instructions to the printer engine section 16, and to receive response statuses from the printer engine section 16, status transmission/reception signals, and the memory contents of the page buffer section. The control signal for controlling the reading procedure to the printer engine section 16 is conveyed.

なお、サブCPU106はプリンタエンジン部16への
印刷指示が可能になったことを検出するとともに、検出
した時点でCPU103に対し前記割込み信号をアサー
トし、CPU103による後述する印刷指示許可割込み
処理を起動する。
Note that the sub CPU 106 detects that it is now possible to issue a print instruction to the printer engine unit 16, and at the time of detection, asserts the interrupt signal to the CPU 103, and starts print instruction permission interrupt processing by the CPU 103, which will be described later. .

次に本発明による印刷制御装置の構成を第10図の構成
図を用いて説明する。本印刷制御装置は、第18図のC
PUをその機能ブロックとして表わしたものであり。カ
ーネル部113と各種デバイスドライバ、つまりページ
バッファ制御部116、プリンタ制御部117.ホスト
通信制御部118、パネル制御部119及びコマンドバ
ッファ部11、ページバッファ部14.タスク処理部1
3を有する。
Next, the configuration of the print control device according to the present invention will be explained using the configuration diagram of FIG. 10. This printing control device is as shown in FIG.
This represents the PU as its functional blocks. A kernel section 113 and various device drivers, that is, a page buffer control section 116, a printer control section 117. Host communication control unit 118, panel control unit 119, command buffer unit 11, page buffer unit 14. Task processing unit 1
It has 3.

カーネル部113は各種SVC(スーパバイザコールの
略)処理のメインルーチン、各種割込み処理のメインル
ーチン、タスク制御部12、及びタイマ制御部115か
らなる。ここで、各種SvCとはタスク制御、タイマ制
御、ページバッファ制御、プリンタ制御、ホスト通信制
御、パネル制御のためのサービス機能のことである。カ
ーネル部はSvC命令をCPU命令として受付けると、
その要因をSvCの入力パラメータに基づき解析、識別
した後、個々のSvC処理を各制御部12.115,1
16,117,118,119内の個別SvC処理ルー
チンを起動して実行させる。また、各種割込みはタイマ
ハードウェア114からのタイマ割込み、プリンタメモ
リコントローラ109からのページバッファ制御用割込
み、プリンタメモリコントローラ109およびサブCP
Uからのプリンタ制御用割込み、ホスト通信コントロー
ラ102からのホスト通信制御用割込み、サブCPU 
106からのパネル制御用割込みのことであり、カーネ
ル部は割込み要因を解析、識別した後、個々の割込み処
理を各制御部115゜116.117,118,119
内の個別割込み処理ルーチンを起動して実行させる。
The kernel section 113 includes a main routine for various SVC (abbreviation for supervisor call) processing, a main routine for various interrupt processing, a task control section 12, and a timer control section 115. Here, the various SvCs are service functions for task control, timer control, page buffer control, printer control, host communication control, and panel control. When the kernel part accepts the SvC instruction as a CPU instruction,
After analyzing and identifying the cause based on the SvC input parameters, each control unit 12.115, 1 performs individual SvC processing.
The individual SvC processing routines in 16, 117, 118, and 119 are activated and executed. Various interrupts include timer interrupts from the timer hardware 114, page buffer control interrupts from the printer memory controller 109, and interrupts from the printer memory controller 109 and sub CP.
Printer control interrupt from U, host communication control interrupt from host communication controller 102, sub CPU
This is a panel control interrupt from 106, and after analyzing and identifying the cause of the interrupt, the kernel section handles each interrupt by each control section 115, 116, 117, 118, 119.
Starts and executes the individual interrupt handling routine within.

タスク制御部12はタスク管理テーブル部17を参照し
ながら、第6表を用いて後で説明するタスク制御用マク
ロ機能を本装置の各部分の起動要求(発行)に応じて実
行する。起動要求はタスク処理部13内の描画タスク処
理部131、印刷タスク処理部132、及び各種デバイ
スドライバ116.117,118,119が発行する
The task control unit 12 refers to the task management table unit 17 and executes a task control macro function, which will be described later using Table 6, in response to a request for activation (issuance) of each part of the device. The activation request is issued by the drawing task processing section 131, the printing task processing section 132, and various device drivers 116, 117, 118, and 119 in the task processing section 13.

なお、タスク制御用の各機能(例えばタスク起動、事象
発生待ち)はマクロ命令とみなせるので、タスク起動マ
クロ、事象発生待ちマクロというように呼ぶ。これらの
タスク制御用マグロはタスク処理部13内の各タスクか
らコールする場合、前記SvCとしてコールするので、
タスク起動5vC1事象発生待ちSvCというように語
尾にSvCを付けて呼び、その旨明記した。一方、プリ
ンタ制御部117等のSvC処理や割込み処理からこれ
らのタスク制御用マクロをコールする場合、これらはサ
ブルーチンとしてコールしたので。
Note that each function for task control (for example, task activation, event occurrence waiting) can be regarded as a macro instruction, and therefore is called a task activation macro, event occurrence waiting macro, and so on. When these task control tuna are called from each task in the task processing unit 13, they are called as the SvC, so
It is called by adding SvC to the end of the word, such as task activation 5vC1 event occurrence wait SvC, and is clearly stated as such. On the other hand, when these task control macros are called from the SvC processing or interrupt processing of the printer control unit 117, etc., they are called as subroutines.

タスク起動マクロ、事象発生待ちマクロというように語
尾にSvCを付けず、マクロを付けて呼んだ。
They were called with "macro" attached instead of "SvC" at the end, such as "task activation macro" and "event occurrence wait macro".

タイマ制御部115は、タイマハードウェア114を用
いて各種事象の終了監視を行う。例えば、排紙終了(カ
ットシートタイプの印刷用紙の排紙終了)を監視する(
第15図(i)と(j)を参照)。タイマ制御部への終
了監視はそのためのマクロを用意し、そのマクロを本装
置の各部分131.132,116,117,118゜
119が発行し起動要求することで行う。
The timer control unit 115 uses the timer hardware 114 to monitor the completion of various events. For example, monitor the end of paper ejection (end of paper ejection of cut sheet type printing paper) (
(See Figures 15(i) and (j)). Termination monitoring for the timer control unit is performed by preparing a macro for that purpose and issuing the macro from each part 131, 132, 116, 117, 118, and 119 of this device to request startup.

各種デバイスドライバ116,117,118゜119
は以下の機能を持つ。
Various device drivers 116, 117, 118゜119
has the following functions:

ページバッファ制御部116は、第1表に示したページ
バッファリザーブ、ページバッファフリーという2つの
SvCを用意して、ページバッファ管理テーブル部18
を参照しながら、Nページからなるページバッファの資
源管理、つまり空き状態の管理を行う。またページバッ
ファ制御部116は第2表に示すように、プリンタメモ
リコントローラ109からの割込みに従って、ページバ
ッファ読出し終了割込み処理と呼ぶ個別割込み処理を行
う。
The page buffer control unit 116 prepares two SvCs, page buffer reserve and page buffer free, shown in Table 1, and the page buffer management table unit 18
While referring to , the resource management of the page buffer consisting of N pages, that is, the free state management is performed. Furthermore, as shown in Table 2, the page buffer control unit 116 performs individual interrupt processing called page buffer read end interrupt processing in response to an interrupt from the printer memory controller 109.

タスク処理部13内の各タスクは上記ページバッファ制
御用SvCを発行することにより、ページバッファ部1
4の制御を本ページバッファ制御部116に依頼する。
Each task in the task processing unit 13 issues the page buffer control SvC, thereby controlling the page buffer unit 1.
4 is requested to the main page buffer control unit 116.

プリンタ制御部117は第3表に示したプリンタリザー
ブ、プリンタフリー、印刷指示等のSvCを用意して、
プリンタ管理テーブル部19を参照しながら、プリンタ
エンジン部16の資源管理(空き状態管理)とプリンタ
エンジン部16との入出力制御を行う、またプリンタ制
御部117は第4表に示すように、サブCPU106、
タイマハードウェア114からの割込みに従って、印刷
指示許可割込み処理、ページ読出し開始割込み処理、排
紙終了タイマ割込み処理等の個別割込み処理を行う。タ
スク処理部113内の各タスク131.132は上記プ
リンタ制御用SvCを発行することにより、プリンタエ
ンジン部16の資源管理とプリンタエンジン部16との
入出力制御を本プリンタ制御部117へ依頼する。
The printer control unit 117 prepares SvC such as printer reserve, printer free, print instruction, etc. shown in Table 3, and
The printer control unit 117 performs resource management (vacancy status management) of the printer engine unit 16 and input/output control with the printer engine unit 16 while referring to the printer management table unit 19. CPU106,
In accordance with the interrupt from the timer hardware 114, individual interrupt processes such as print instruction permission interrupt process, page read start interrupt process, and paper discharge end timer interrupt process are performed. Each task 131 and 132 in the task processing unit 113 requests the printer control unit 117 to manage the resources of the printer engine unit 16 and control input/output to the printer engine unit 16 by issuing the printer control SvC.

ホスト通信制御部118はホスト通信コントローラ10
2を制御するための個別SvC処理と個別割込み処理か
らなる。
The host communication control unit 118 is the host communication controller 10
It consists of an individual SvC process and an individual interrupt process for controlling 2.

パネル制御部119はサブCPU106を介してユーザ
操作パネル107を制御するための個別SvC処理と個
別割込み処理からなる。
The panel control unit 119 consists of individual SvC processing and individual interrupt processing for controlling the user operation panel 107 via the sub CPU 106.

ページバッファ制御部116およびプリンタ制御部11
7を設けた効果は以下の3項目である。
Page buffer control unit 116 and printer control unit 11
The effects of providing 7 are the following three items.

(1)ページバッファ部14とプリンタエンジン部16
の資源管理機能、それらとの入出力制御機能をタスク処
理部13と独立させることができる。
(1) Page buffer section 14 and printer engine section 16
The resource management function and the input/output control function for these can be made independent of the task processing unit 13.

つまり、ページバッファ部14とプリンタ(106,1
6)との管理用にページバッファ制御部116とページ
バッファ管理テーブル部18とプリンタ制御部117と
プリンタ管理テーブル部19とを用意したので、ページ
バッファ部とプリンタとをCPUやタスクの管理と独立
して木目細かく管理できる。
In other words, the page buffer section 14 and the printer (106, 1
6), a page buffer control unit 116, a page buffer management table unit 18, a printer control unit 117, and a printer management table unit 19 are prepared for management, so the page buffer unit and printer can be independent of CPU and task management. You can manage the wood grain in detail.

(2) (1)により、異機種のプリンタエンジン部1
6を接続したり、ページバッファ部14の容量。
(2) Due to (1), printer engine section 1 of a different model
6 and the capacity of the page buffer section 14.

各ページバッファのサイズ、ページバッファ縁面数N等
の仕様を変える場合、タスク処理部13の内容は変えず
に、ページバッファ制御部116やプリンタ制御部11
7の必要箇所のみを変更すればよい。
When changing specifications such as the size of each page buffer and the number N of page buffer edges, the page buffer control unit 116 and the printer control unit 11 do not change the contents of the task processing unit 13.
It is only necessary to change the necessary parts of 7.

(3)タスク処理部13の処理はCPUをタスクレベル
(割込みレベル最低Q)かつシステムモードで行い、カ
ーネル部113と各種デバイスドライバ116,117
,118,119の処理はCPUをタスクレベルより上
位の割込みレベルm(m> Q )かつユーザモードで
行っている。
(3) Processing of the task processing unit 13 is performed by the CPU at the task level (interrupt level minimum Q) and system mode, and the kernel unit 113 and various device drivers 116, 117
, 118, and 119 are performed by the CPU at an interrupt level m (m>Q) higher than the task level and in user mode.

従って各種制御テーブル17,18.19の操作はタス
ク処理部13が操作できないように排他制御することが
でき、本印刷制御装置の制御プログラムの信頼性を向上
できる。
Therefore, the operations of the various control tables 17, 18, and 19 can be exclusively controlled so that the task processing unit 13 cannot be operated, and the reliability of the control program of the printing control apparatus can be improved.

(以下、余白) 以下、第10図を参照して本実施例について詳細に説明
する。
(Hereinafter, blank space) Hereinafter, this embodiment will be described in detail with reference to FIG. 10.

第10図において、ホストコンピュータ1oが送信した
コマンドの列は、コマンドバッファ部11へ格納される
。なお、各ページは1個以上のコマンド列として定義さ
れ、ホストコンピュータが送信する。コマンドバッファ
部11に格納されたコマンドはタスク処理部13内の描
画タスク処理部131により処理される。
In FIG. 10, a sequence of commands sent by the host computer 1o is stored in the command buffer unit 11. Note that each page is defined as one or more command sequences, and is sent by the host computer. The commands stored in the command buffer section 11 are processed by the drawing task processing section 131 within the task processing section 13.

描画タスク処理部131においては、順番の次に描画す
べきページバッファNo (当該描画ページバッファN
oと呼ぶ)についての処理の初めに、ページバッファ制
御部の一機能であるページバッファリザーブSvCが発
行される。ページバッファリザーブSvCは、当該描画
ページバッファNoのページバッファが空き状態ならば
、svc発行タスクを本ページバッファのリソース使用
者として登録する。ページバッファリザーブsvc処理
にて、前記当該ページバッファが空き状態でないならば
、本SvC処理はタスク制御部の一機能である資源空き
待ちマクロを起動し、SvC発行タスクである描画タス
クの状態を実行状態からページバッファ空き待ち状態に
変え、当該ページバッファ用の空き待ち行列へ接続した
後、タスクデイスパッチャを起動する。タスクデイスパ
ッチャは。
In the drawing task processing unit 131, the page buffer number to be drawn next in order (the drawing page buffer N
At the beginning of the process for (referred to as o), page buffer reserve SvC, which is a function of the page buffer control unit, is issued. Page buffer reserve SvC registers the svc issuing task as a resource user of this page buffer if the page buffer of the drawing page buffer No. is in an empty state. In the page buffer reserve svc process, if the page buffer is not in an empty state, this SvC process activates a resource free waiting macro, which is a function of the task control unit, and executes the state of the drawing task, which is an SvC issued task. After changing the state from the state to waiting for a page buffer free state and connecting to the free queue for the page buffer, the task dispatcher is activated. Task dispatcher.

前記タスクスケジューラと同様に次実行タスクを選択、
起動し、前実行タスクの描画タスクを実行可能状態に戻
す機能を有するが、前記タスクスケジューラと異なりタ
スクの生成等は実行しないので本明細書では区別して用
いた。
Similar to the task scheduler above, select the next task to be executed,
Although it has a function of starting up and returning the drawing task of the previously executed task to an executable state, unlike the task scheduler described above, it does not execute task generation, etc., so it is used separately in this specification.

描画タスクは、ページバッファリザーブSvCにて当該
ページバッファをリザーブできたならば、コマンドバッ
ファ部11内のコマンド列を受信順に解釈、実行し、文
字、図形、イメージ等をリザーブした当該ページバッフ
ァ(例えばページバッファ142)上に、ドツトイメー
ジ形式に展開、描画して書込む。本コマンドの実行処理
において、改頁条件[フオームフィード等のページ区切
りを明示的に示すコマンド、又は紙サイズ指定、印字方
向指定(ポートレート/ランドスケープ選択)等のペー
ジ区切りを暗黙的に示すコマンド等により示される]を
検出すると、描画タスク処理部131は当該ページバッ
ファについての描画処理を終了し、当該ページバッファ
について印刷タスクを起動する。
If the page buffer can be reserved in the page buffer reserve SvC, the drawing task interprets and executes the command strings in the command buffer section 11 in the order of reception, and stores characters, figures, images, etc. in the reserved page buffer (e.g. The image is developed, drawn, and written in a dot image format on the page buffer 142). In the execution process of this command, page break conditions [commands that explicitly indicate page breaks such as form feed, or commands that implicitly indicate page breaks such as specifying paper size and printing direction (portrait/landscape selection), etc. [indicated by]], the drawing task processing unit 131 ends the drawing process for the page buffer and starts a print task for the page buffer.

なお、描画タスクが上記コマンド解釈を行うため、コマ
ンドバッファ部11の内容を読出したとき、コマンドバ
ッファ部11が空きの場合がある。
Note that since the drawing task interprets the above command, when the contents of the command buffer section 11 are read, the command buffer section 11 may be empty.

この場合、描画タスクは事象発生待ちSvCを発行する
ことにより、本タスクの状態をコマンド受信待ち状態に
移す。このコマンド受信待ち状態の描画タスクは、ホス
ト通信制御部118がホストコンピュータ10からコマ
ンドをホスト通信コントローラ102を介して受信し、
コマンドバッファ部11に格納した時点で事象発生待ち
解除マクロを発行することにより、解除される。
In this case, the drawing task issues the event occurrence wait SvC to change the state of this task to the command reception wait state. In the drawing task in the command reception waiting state, the host communication control unit 118 receives a command from the host computer 10 via the host communication controller 102, and
It is canceled by issuing an event occurrence wait cancellation macro at the time it is stored in the command buffer unit 11.

以上の機能により、描画タスクはコマンドバッファ部1
1が空きの場合、コマンド受信待ち状態となり、他のタ
スクが実行されるので、CPUを無駄なく活用できる。
With the above functions, the drawing task is executed in the command buffer section 1.
If 1 is empty, it enters a command reception waiting state and other tasks are executed, so the CPU can be utilized without waste.

また、上記コマンドバッファ部11が空きであることを
検出すると、本印刷制御装置はホスト通信制御部118
を介して、その旨ホストコンピュータ10へ連絡する。
Further, when it is detected that the command buffer section 11 is empty, the present print control device uses the host communication control section 118.
The host computer 10 is notified of this via the host computer 10.

ホストコンピュータ10はこの連絡を受けると直ちにコ
マンドを印刷制御装置に送出し、印刷制御装置は直ちに
それらのコマンドを処理することができる。
Upon receiving this communication, the host computer 10 immediately sends commands to the print control device, and the print control device can immediately process those commands.

従って、コマンドバッファ部11の容量を越える文章の
印刷においても、上記コマンドバッファ部11を空き時
間なく活用して、高スループツトで印刷することができ
る。
Therefore, even when printing a text that exceeds the capacity of the command buffer section 11, it is possible to utilize the command buffer section 11 without any idle time and print at a high throughput.

後述するように印刷タスクは描画タスクよりタスク優先
度を高くしであるので、描画タスクによりタスク起動S
vCを用いて起動されると、直ちに印刷タスクは実行状
態になる。つまり、タスクデイスパッチャは次実行タス
クとして印刷タスクを選択、起動し、前実行タスクの描
画タスクは実行可能状態に戻す。
As described later, the print task has a higher task priority than the drawing task, so the task activation S by the drawing task is
Once activated using vC, the print task immediately enters the execution state. That is, the task dispatcher selects and starts the print task as the next execution task, and returns the previous execution task, the drawing task, to an executable state.

印刷タスク処理部132の処理内容を次に説明する。印
刷タスク処理部132では、初めにプリンタ制御部の一
機能であるプリンタリザーブSvCが発行される。プリ
ンタリザーブSvcは、■プリンタエンジン部16が印
刷指示を受付ける状態にあり(ページバッファ管理テー
ブル部16上の印刷指示可/不可フラグが可である)、
がっ■プリンタをどの印刷タスクも使用中でない(ペー
ジバッファ管理テーブル部16上のプリンタを使用中の
タスク番号がエンプティ)ならば、前記印刷指示可/不
可フラグを不可にするとともに、プリンタの使用者とし
て本SvCの発行タスクである印刷タスクのタスク番号
を登録する。
The processing contents of the print task processing section 132 will be explained next. In the print task processing unit 132, printer reserve SvC, which is a function of the printer control unit, is first issued. The printer reserve Svc is: ■ The printer engine unit 16 is in a state of accepting print instructions (the print instruction enable/disable flag on the page buffer management table unit 16 is enabled);
■If the printer is not being used by any print task (the task number in use of the printer on the page buffer management table section 16 is empty), the print instruction enable/disable flag is disabled and the printer is not used. The task number of the print task, which is the issue task of this SvC, is registered as the user.

プリンタリザーブ処理において、上記■と■の条件のう
ち少くとも一方が成立しないならば、本SvC処理はタ
スク制御部の一機能である資源空き待ちマクロを起動し
、本SvC発行タスクである印刷タスクの状態を実行状
態からプリンタ空き待ち状態に変え、プリンタ空き待ち
行列へ接続した後、タスクデイスパッチャを起動する。
In the printer reservation process, if at least one of the above conditions ``■'' and ``■'' is not satisfied, this SvC process activates the resource free waiting macro, which is a function of the task control unit, and executes the print task, which is the present SvC issuing task. After changing the state from the running state to the printer free waiting state and connecting to the printer free queue, the task dispatcher is activated.

タスクデイスパッチャは次実行タスクを選択、起動し。The task dispatcher selects and launches the next task to be executed.

前実行タスクの印刷タスクを実行可能状態へ戻す。Return the print task of the previously executed task to an executable state.

印刷タスクは、プリンタリザーブSvCにてプリンクを
リザーブできたならば、当該印刷ページバッファNoの
ページバッファの描画・印刷状態が印刷可能であること
を確認した後、一連のプリンタ制御用SVC(第3表に
示したレディ状態確認5VC1給紙部確認5VC1給紙
部指示SVC。
If the print task is able to reserve the link in the printer reserve SvC, after confirming that the drawing/printing status of the page buffer of the print page buffer No. is ready for printing, the print task executes a series of printer control SVCs (third Ready status check 5VC1 Paper feed section confirmation 5VC1 Paper feed section instruction SVC shown in the table.

排紙部確認5VC1排紙部指示5VC1印刷指示5VC
)を発行する。
Paper discharge section confirmation 5VC1 Paper discharge section instruction 5VC1 Print instruction 5VC
) is issued.

プリンタ制御用SvCのうちプリンタリザーブ、プリン
タフリー以外のプリンタエンジン部16との間で入出力
を行うSvCは、サブCPU106やプリンタメモリコ
ントローラ109を介して、プリンタエンジン部16と
の間のビデオインターフェースに従いながら一連の入出
力処理をプリンタエンジン部16との間で行い、本印刷
タスクの印刷対象であるページ142内のドツトイメー
ジデータをビデオ信号としてプリンタエンジン部16へ
出力する。
Of the SvCs for printer control, SvCs that perform input/output with the printer engine unit 16 other than printer reserve and printer free follow the video interface with the printer engine unit 16 via the sub CPU 106 and printer memory controller 109. Meanwhile, a series of input/output processing is performed with the printer engine section 16, and the dot image data in the page 142 to be printed in the main print task is outputted to the printer engine section 16 as a video signal.

なお、プリンタ制御用SvCのうち印刷指示SvC処理
においては、タスク制御用の事象発生待ちマクロを用い
てSvC発行タスク(つまり印刷タスク)が印刷指示許
可待ち状態に移される。
Note that in the print instruction SvC process among the printer control SvCs, the SvC issuing task (that is, the print task) is moved to a print instruction permission wait state using a task control event occurrence wait macro.

前記一連のプリンタ制御用SvCの発行を総印刷部数回
繰り返すと、印刷タスクはプリンタフリーSVCを発行
する。プリンタフリーSvCは前記印刷指示可/不可フ
ラグを可にし、プリンタを使用中の印刷タスク番号をエ
ンプティにするとともに、プリンタ空き待ち状態のタス
クがあるならば、資源空き待ち解除マクロをプリンタ空
き待ち行列に対して発行し、そのプリンタ空き待ち状態
のタスクをすべて実行可能状態へ戻す。
After repeating the series of issuance of the printer control SvC a total of the number of copies to be printed, the print task issues a printer-free SVC. The printer free SvC enables the print instruction enable/disable flag, sets the print task number currently using the printer to empty, and if there is a task in the printer free wait state, the resource free wait release macro is sent to the printer free queue. , and return all tasks waiting for the printer to be available to run.

なお、上述のように、第1の印刷タスクがあるページバ
ッファについて一連のプリンタ制御用SvCの発行を総
印刷部数回繰り返している間は、本印刷タスクがプリン
タの使用権を保ちつづけ、それが終了した時点で初めて
プリンタフリーSvCを発行し、プリンタの使用権を解
放するようにした。その理由は、上記第1の印刷タスク
が一連のプリンタ制御用SvCの発行を繰り返している
途中で、第2の印刷タスクが別のページバッファについ
て一連のプリンタ制御用SvCの発行を開始することを
許すと、これら二つの印刷タスクによるプリンタ制御用
SvCの発行が重なりあい、印刷結果が乱れる可能性が
あるためである。
As mentioned above, while the first print task is repeating the issuance of a series of printer control SvCs for a certain page buffer for the total number of copies to be printed, the main print task continues to maintain the right to use the printer. A printer-free SvC is issued only when the process is completed, and the right to use the printer is released. The reason is that while the first print task is repeatedly issuing a series of printer control SvCs, the second print task starts issuing a series of printer control SvCs for another page buffer. This is because, if allowed, the issuance of printer control SvCs by these two print tasks may overlap, which may disrupt the print results.

プリンタフリーSvC発行の後、印刷タスクは事象発生
待ちSvCを用いて、排紙終了待ち状態に移される。本
排紙終了待ち状態は、第15図(j)に示すページ読出
し開始割込み処理にて起動される排紙終了監視タイマの
タイムアツプ割込み処理(以後排紙終了タイマ割込み処
理と呼ぶ、第15図(i)参照)において、事象発生待
ち解除マクロを発行することにより、解除される。
After issuing the printer-free SvC, the print task is moved to a state of waiting for completion of paper ejection using the event waiting SvC. This state of waiting for the end of paper ejection is the time-up interrupt process (hereinafter referred to as the ejection end timer interrupt process) of the paper ejection end monitoring timer that is activated by the page read start interrupt process shown in FIG. 15(j). It is canceled by issuing the event occurrence wait cancellation macro in (see i)).

排紙終了待ちが解除された後、印刷タスクはタスク終了
SvCを発行し、処理を終了する。
After the paper ejection end wait is released, the print task issues a task end SvC and ends the process.

サブCPU106は、プリンタエンジン部16への印刷
指示が可能になった時点で、プリンタ制御部117内の
印刷指示許可割込み処理を起動する。一方、プリンタメ
モリコントローラ109は。
The sub CPU 106 starts a print instruction permission interrupt process in the printer control section 117 when it becomes possible to issue a print instruction to the printer engine section 16. On the other hand, the printer memory controller 109.

1ペ一ジ分のドツトイメージデータの読出しが完了した
時点で、ページバッファ制御部116内のページバッフ
ァ読出し終了割込み処理を起動する。
When the reading of one page's worth of dot image data is completed, a page buffer reading end interrupt process in the page buffer control unit 116 is activated.

印刷指示許可割込み処理においては、前記印刷指示許可
待ち状態のタスクを、事象発生待ち解除マクロを用いて
実行可能状態へ戻す。その結果、総印刷部数が2以上の
マルチページコピーにおいて、未だ残り印刷部数がある
場合水割込み処理により印刷タスクが印刷指示の発行が
可能かつ実行可能状態になったタイミングで即座に前記
一連のプリンタ制御用SvCの発行を繰返し、残り印刷
部数分の印刷を指示できる。従って、同一ページのマル
チページコピーをプリンタエンジン最高速度の高いスル
ープットで実現できる。また、残り印刷部数が0の場合
、印刷タスク(仮に印刷タスクAと呼ぶ)は前記タイミ
ングでプリンタフリーSvCを発行する。従って、次の
ページを印刷するための印刷タスク(仮に印刷タスクB
と呼ぶ)がプリンタ空き待ち状態になっていた場合、印
刷タスクAがプリンタフリーSvCを発行すると即座に
、印刷タスクBがプリンタ空き待ち状態から解除され、
空いたプリンタをリザーブし、一連のプリンタ制御用S
vCを発行することができる。
In the print instruction permission interrupt process, the task in the print instruction permission waiting state is returned to an executable state using an event occurrence wait canceling macro. As a result, in multi-page copying where the total number of copies to be printed is 2 or more, if there are still copies left to be printed, the water interrupt process will cause the print task to immediately print to the series of printers when it becomes possible to issue and execute a print instruction. By repeating the issuance of the control SvC, it is possible to instruct printing of the remaining number of copies. Therefore, multi-page copying of the same page can be achieved with high throughput at the maximum speed of the printer engine. Further, if the remaining number of copies to be printed is 0, the print task (temporarily referred to as print task A) issues a printer-free SvC at the timing described above. Therefore, the print task for printing the next page (temporarily print task B)
) is in the printer free wait state, as soon as print task A issues a printer free SvC, print task B is released from the printer free wait state,
Reserve a vacant printer and use S for controlling a series of printers.
vC can be issued.

従って、別のページの連続印刷をプリンタエンジン最高
速度の高いスループットで実現できる。
Therefore, continuous printing of different pages can be realized with high throughput at the maximum speed of the printer engine.

以上の同一ページのマルチページコピー及び別のページ
の連続印刷において、一連のプリンタ制御用SvCとし
て、印刷指示SvCのみを発行する(レディ状態確認5
vC1給紙部確認Svc、給紙部指示5VC1排紙部確
認5VC1排紙部指示SvCの発行を省略する)ように
することもできる。この場合、プリンタエンジン部に対
し印刷指示を、プリンタエンジン部が許す最短の間隔で
発行することができるので、スループットを著しく向上
することができる。
In the above multi-page copying of the same page and continuous printing of different pages, only the print instruction SvC is issued as a series of printer control SvCs (ready status confirmation 5
It is also possible to omit issuance of vC1 paper feed unit confirmation Svc and paper feed unit instruction 5VC1 paper discharge unit confirmation 5VC1 paper discharge unit instruction SvC). In this case, since print instructions can be issued to the printer engine section at the shortest intervals allowed by the printer engine section, throughput can be significantly improved.

一方、ページバッファ読出し終了割込み処理においては
、総印刷部数分の読出しが終了した時点で、ページバッ
ファフリーマクロを発行する。本ページバッファフリー
マクロ処理は、読出しの終了したページバッファ番号の
ページバッファを使用中タスク番号をエンプティにする
とともに、そのページバッファを空き待ち状態のタスク
があるならば資源空き待ち解除マクロをそのページバッ
ファ空き待ち行列に対し発行し、そのページバッファ空
き待ち状態のタスクを実行可能状態へ戻す。
On the other hand, in the page buffer read end interrupt processing, a page buffer free macro is issued when reading for the total number of printed copies is completed. This page buffer free macro processing makes the task number that is currently using the page buffer of the page buffer number that has finished reading empty, and if there is a task that is waiting for the page buffer to be free, the resource free wait release macro is set to that page. Issued to the buffer free queue and returns the task in the page buffer free wait state to the executable state.

以上のタイミングでページバッファフリーマクロを発行
することにより、ページバッファ空き待ち状態になって
いた描画タスクは、ページバッファが空き次第、直ちに
、そのページバッファをリザーブし、そのページバッフ
ァについての描画処理を行うことができる。
By issuing the page buffer free macro at the above timing, the drawing task that was in the page buffer waiting state will immediately reserve the page buffer and start drawing processing for that page buffer as soon as the page buffer becomes free. It can be carried out.

(a)ページバッファ制御用のページバッファリザーブ
/フリー機能、(b)プリンタ制御用のプリンタリザー
ブ/フリー機能、印刷指示機能、(c)各種タスク制御
機能、(d)印刷指示許可割込み、及び(e)ページバ
ッファ読出し終了割込み、を以上のように活用すること
により、プリンタエンジン部やページバッファ部に空き
が生じた時、直ちに待たされていた印刷タスクや描画タ
スクが起動される。また、CPUは空き時間なく、印刷
タスクや描画タスク等のタスクを実行する。従って、C
PU、プリンタエンジン部16、及びページバッファ部
14(複数ページからなる)を空き時間なく使用するこ
とができるので、スループットを向上させ、プリンタエ
ンジン最高速度での印刷を実現することができる。
(a) Page buffer reserve/free function for page buffer control, (b) Printer reserve/free function and print instruction function for printer control, (c) Various task control functions, (d) Print instruction permission interrupt, and ( e) By utilizing the page buffer read end interrupt as described above, when a space becomes available in the printer engine section or page buffer section, the print task or drawing task that has been kept waiting is activated immediately. Further, the CPU executes tasks such as printing tasks and drawing tasks without any free time. Therefore, C
Since the PU, printer engine section 16, and page buffer section 14 (consisting of a plurality of pages) can be used without idle time, throughput can be improved and printing at the maximum speed of the printer engine can be realized.

次に、本発明の特徴の−っであるタスク制御部12の内
容を説明する。
Next, the contents of the task control section 12, which is a feature of the present invention, will be explained.

初めに、タスク制御部12で用いたタスク状態とその間
の遷移を説明する。タスクは第11図(a)に示す6状
態(すなわち、未登録、休止、実行可能、実行、事象発
生待ち、資源空き待ち)のうちの一つをとり、第11図
(b)に示す状態遷移を行う。
First, the task states used by the task control unit 12 and the transitions therebetween will be explained. A task takes one of the six states shown in FIG. 11(a) (i.e., unregistered, dormant, executable, running, waiting for an event to occur, waiting for free resources), and the state shown in FIG. 11(b). Make a transition.

本装置では資源空き待ち状態の要因として、前述の■プ
リンタ空き待ち状態、■ページバッファ空き待ち状態の
2種類を用いる。
This device uses two types of resource waiting states: (1) printer free waiting state and (2) page buffer free waiting state, as described above.

また事象発生待ち状態の要因として、前述の■印刷指示
許可時ち状態、■排紙終了時ち状態、■コマンド受信待
ち状態、とともに次の事象発生待ち状態■、■、■を設
ける。■はタスクのサブCPU106からの応答待ち状
態、■はタスクのプリンタエンジン部16からの応答待
ち状態、■はタスクのホスト通信コントローラ102か
らの応答待ち状態である。これら3つの事象発生待ち状
態■、■、■を導入することにより、タスクがこれらの
応答待ち状態の間、他のタスクを実行することが可能に
なり、本装置のスループットを向上させることができる
In addition, as factors for the event waiting state, the following event waiting states (2), (2), and (2) are provided in addition to the above-mentioned (1) printing instruction permission state, (2) paper ejection completion state, (2) command reception waiting state. (2) is a state in which the task is waiting for a response from the sub CPU 106, (2) is a state in which the task is waiting for a response from the printer engine section 16, and (2) is a state in which the task is waiting for a response from the host communication controller 102. By introducing these three event waiting states ■, ■, and ■, it becomes possible for a task to execute other tasks while waiting for a response, thereby improving the throughput of this device. .

次に、タスク制御部12の処理を管理するためのタスク
管理テーブル部17の一例を第12図に示す。
Next, FIG. 12 shows an example of the task management table section 17 for managing the processing of the task control section 12.

タスク管理テーブル部17には第12図(a)に示すよ
うに実行待ち行列(レディキューとも呼ぶ)と資源待ち
行列の2種類の待ち行列がある。前者は前述した実行可
能状態(レディ状態)のタスクのCPUによる実行を管
理するためのテーブルであり、後者はページバッファ空
き待ち状態、プリンタ空き待ち状態等の資源空き待ち状
態のタスクを記述し、管理するためのテーブルである。
As shown in FIG. 12(a), the task management table unit 17 has two types of queues: an execution queue (also called a ready queue) and a resource queue. The former is a table for managing the execution of tasks in the executable state (ready state) by the CPU, and the latter describes tasks in a resource free state such as a page buffer free state or a printer free state. This is a table for management.

また、第12図(b)に以上の実行待ち行列と資源空き
待ち行列の構成要素であるタスクコントロールブロック
(TCB)の内容を示す。
Further, FIG. 12(b) shows the contents of the task control block (TCB), which is a component of the above execution queue and resource free queue.

なお、TCEはタスク毎に用意し、本実施例ではプログ
ラムエリア内に常駐とした。タスクとしては第5表に示
すタスク番号1〜16のタスクを用意した。これらのタ
スクはホストコンピュータと印刷制御装置との間の通信
I/Fとして前述の5C5Iを用いた場合のものである
が、他の通信I/Fを用いた場合も同様である。
Note that the TCE is prepared for each task, and in this embodiment is resident in the program area. As tasks, tasks numbered 1 to 16 shown in Table 5 were prepared. These tasks are performed when the above-mentioned 5C5I is used as the communication I/F between the host computer and the print control device, but the same applies when other communication I/Fs are used.

第5表において、アイドルタスクは他のタスクがすべて
実行可能状態でないアイドル状態にて実行されるタスク
である。モードセンスタスクはホストコンピュータ10
が送信したモードセンス(MODE  5ENSE)と
呼ぶコマンドを実行するためのタスクである。中断タス
クとキャンセルタスクは各々本印刷制御装置による印刷
処理、つまり描画タスクと印刷タスクの実行を、中断し
たり、キャンセルするためのタスクである。両タスクと
も、■ホストコンピュータ10からのホスト通信制御部
118による5C8Iコマンドの受信処理、又は■ユー
ザ操作パネル部107からのパネル制御部119による
キー人力受信処理、又は■印刷制御装置各部(13,1
16,117゜118.119)による異常処理、のい
ずれががタスク制御機能の−っであるタスク起動マクロ
を用いて、起動する。
In Table 5, an idle task is a task that is executed in an idle state in which all other tasks are not in an executable state. The mode sense task is the host computer 10.
This task is for executing a command called mode sense (MODE 5ENSE) sent by. The interrupt task and the cancel task are tasks for interrupting or canceling the print processing by the print control device, that is, the execution of the drawing task and the print task, respectively. Both tasks include: (1) reception processing of 5C8I commands by the host communication control unit 118 from the host computer 10; (2) key manual reception processing by the panel control unit 119 from the user operation panel unit 107; 1
16, 117, 118, and 119) are activated using a task activation macro, which is a task control function.

描画タスクはプリント(PRINT)コマンドと呼ぶ5
csrコマンドを実行するためのタスクである。PRI
NTコマンドにおいては、そのデータ部に描画や印刷の
実際的内容を表すコマンド列(■通常のプリンタを制御
するためのエスケープシーケンス、■ISOにおけるC
GI、ODA等のコマンド列、■P ost S cr
iptにて表現された描画印刷内容、がこのコマンド列
に相当する)が入っている。
The drawing task is called the print (PRINT) command5
This is a task for executing the csr command. P.R.I.
In the NT command, the data part contains a command string that represents the actual content of drawing or printing (■ escape sequence for controlling a normal printer, ■ C in ISO).
Command strings such as GI, ODA, ■Post Scr
The drawing/printing content expressed in ipt corresponds to this command string).

ホスト通信制御部118は、ホストコンピュータ1oか
らプリントコマンドを受信すると、コマンドをそのデー
タ部とともに、−旦コマントバッファ部11へ格納する
。描画タスクはこれらのコマンド列を、コマンドバッフ
ァ部11から読出し、解釈、実行する。なお、5C8I
通信を用いず、上記の、■、■のコマンド列をホスト通
信制御部118が直接的に、PRINTコマンドのよう
な器を付けずにコマンドバッファ部11に受信、格納す
る場合についても、描画タスクは同様の処理を行う。
Upon receiving a print command from the host computer 1o, the host communication control unit 118 stores the command together with its data portion in the command buffer unit 11. The drawing task reads these command sequences from the command buffer section 11, interprets them, and executes them. In addition, 5C8I
Even in the case where the host communication control unit 118 directly receives and stores the above command strings ① and ② in the command buffer unit 11 without using a communication device such as a PRINT command, the drawing task performs similar processing.

印刷タスクは描画の完了した異なる各ページバッファに
ついての印刷処理を行うためのタスクである。これら印
刷タスクは別々のページについて並行処理するため、複
数個(第5表の例では10個)用意した。用意する印刷
タスクの合計数は、本装置内で同時に並行処理しうる印
刷タスク数の最大値とした。具体的には、任意の時点で
、プリンタの給紙部から排紙部までの間に存在しうる最
大紙数に対応し、この数はプリンタエンジン部16の仕
様によって増減する。
The print task is a task for performing print processing for each different page buffer for which rendering has been completed. A plurality of these print tasks (10 in the example shown in Table 5) were prepared in order to process different pages in parallel. The total number of print tasks to be prepared was set to the maximum number of print tasks that could be processed in parallel within this device. Specifically, it corresponds to the maximum number of sheets that can exist between the paper feed section and the paper discharge section of the printer at any given time, and this number increases or decreases depending on the specifications of the printer engine section 16.

各タスクの優先度は前記第5表のように定めた。The priority of each task was determined as shown in Table 5 above.

木表にてタスク優先度は値が小さい方が、優先度が高い
。なお、以上説明した第5表のタスクのうち、描画タス
ク、印刷タスク以外のものもすべて、タスク処理部13
内に用意した。
In the tree table, the smaller the task priority, the higher the priority. Note that among the tasks in Table 5 explained above, all tasks other than drawing tasks and printing tasks are executed by the task processing unit 13.
Prepared inside.

なお、第12図(b)に示すように、TCBには実行待
ち行列用ポインタと資源待ち行列用ポインタを別々に設
けた。本実行待ち行列用ポインタはタスク起動マクロの
実行により、実行待ち行列内の適切な位置に接続し、タ
スク終了マクロの実行により、実行待ち行列から取りは
ずした。しかし、資源空き待ちマクロ、資源空き待ち解
除マクロ、事象発生待ちマクロ、事象発生待ち解除マク
ロの処理においては、本実行待ち行列用ポインタは一切
操作しないようにした。この結果、実行待ち行列内での
同一優先度についてのタスクの順番が、先着順序を維持
でき、逆転しないようにすることができた。
As shown in FIG. 12(b), the TCB is provided with separate execution queue pointers and resource queue pointers. The execution queue pointer is connected to an appropriate position in the execution queue by executing the task start macro, and removed from the execution queue by executing the task termination macro. However, in the processing of the resource free wait macro, resource free wait release macro, event occurrence wait macro, and event occurrence wait release macro, the execution queue pointer is not manipulated at all. As a result, the order of tasks with the same priority in the execution queue can be maintained in a first-come, first-served order and can be prevented from being reversed.

次に第11図(b)のタスク状態遷移図上に示した個々
のタスク制御機能=(1)タスク起動(start) 
?(2)タスク終了(exit) y(3)事象発生待
ち(wait)、(4)事象発生待ち解除(post)
 、(s)資源空き待ち(enqueue) 、 (6
)資源空き待ち解除(dequeue) 。
Next, each task control function shown on the task state transition diagram in FIG. 11(b) = (1) task start (start)
? (2) Task end (exit) y (3) Wait for event occurrence (wait), (4) Cancel waiting for event occurrence (post)
, (s) Waiting for resource availability (enqueue) , (6
) Cancel resource waiting (dequeue).

(7)タスク生成(create) 、 (8)タスク
削除(delete) 、 (9)タスク終了削除(e
xdel)の仕様を第6表に示す、第6表には後で説明
する(10)制御テーブルロック(tblLock) 
、(11)制御テーブルアンロック(tblunlk)
の仕様も示した。
(7) Task creation (create), (8) task deletion (delete), (9) task end deletion (e
(10) Control table lock (tblLock)
, (11) Control table unlock (tblunlk)
The specifications are also shown.

(以下、余白) また、第11図(b)に示したタスクデイスパッチャの
処理機能は次の通りである。
(Hereinafter, blank space) The processing functions of the task dispatcher shown in FIG. 11(b) are as follows.

[タスクデイスパッチャの機能] (a)起動時機 以下のイベントが生起するとタスクデイスパッチャが起
動される。
[Functions of Task Dispatcher] (a) Activation Timer When the following events occur, the task dispatcher is activated.

■タスク起動 ■タスク終了 ■事象発生待ち ■事象発生待ち解除 ■資源中き待ち ■資源中き待ち解除 (b)処理内容 実行待ち行列内のタスクを優先度が高い順に。■Task launch ■Task finished ■Waiting for event to occur ■Cancel waiting for event occurrence ■Waiting for resources ■Cancel resource waiting (b) Processing details Tasks in the execution queue in order of priority.

同−優先度内では先着順にサーチし、実行可能性を判定
する。初めに見つかった実行可能なタスクを次の実行タ
スク(次実行タスクと略す)として選出し、実行状態に
移した後、起動する。前の実行タスク(前実行タスクと
略す)は実行可能状態へ戻す。
Within the same priority, searches are performed on a first-come, first-served basis to determine feasibility. The first executable task found is selected as the next execution task (abbreviated as next execution task), is moved to execution state, and then activated. The previous execution task (abbreviated as pre-execution task) is returned to the executable state.

次に、第13図と第14図を用いて、本実施例における
ページバッファ管理テーブル部18とプリンタ管理テー
ブル部19の内容を説明する。先の実施例と同様、前者
は、複数ページからなるページバッファ部14への描画
タスクによる書込みと印刷タスクによる読出しにおいて
、ページバッファ部の使用に遊び時間を生じさせず、ま
たページバッファ部への各タスクによるアクセスの順序
に誤りを生じさせないために用い、後者は、印刷タスク
によるプリンタ(サブCPU106とプリンタエンジン
部16)の使用状況を管理し、プリンタの動作に遊び時
間を生じさせないために用いる。
Next, the contents of the page buffer management table section 18 and printer management table section 19 in this embodiment will be explained using FIG. 13 and FIG. 14. As in the previous embodiment, the former does not cause idle time in the use of the page buffer section when writing to the page buffer section 14 consisting of a plurality of pages by the drawing task and reading by the print task. The latter is used to prevent errors in the order of access by each task, and the latter is used to manage the usage status of the printer (sub CPU 106 and printer engine unit 16) by print tasks, and to prevent idle time from occurring in printer operation. .

第13図に、本実施例のページバッファ管理テーブル部
18の例を示す、第13図(a)に全体構成を示す。
FIG. 13 shows an example of the page buffer management table section 18 of this embodiment, and FIG. 13(a) shows the overall configuration.

全ページバッファ共通情報1により、次に描画タスクが
書込むべきページバッファNo、(当該描画ページバッ
ファNo、526と呼ぶ)と次に印刷タスクが読出すべ
きページバッファNo (当該印刷ページバッファNo
527と呼ぶ)、現在印刷出力中のページバッファNo
528、各ページバッファ0゜1、・・・、N−1の先
頭アドレス、印刷条件現在値524、コマンド未解決情
報525等を記述する。
All page buffer common information 1 determines the page buffer number to which the drawing task should write next (referred to as the drawing page buffer number 526) and the page buffer number to which the printing task should read next (the printing page buffer number).
527), page buffer number currently being printed out
528, the start address of each page buffer 0°1, . . . , N-1, current printing condition value 524, unresolved command information 525, etc.

このうち、印刷条件現在値524は各ページバッファに
ついて描画タスクが印刷条件を設定する際のデフォルト
値を格納するために用いる。つまり、各ページバッファ
(例えばページバッファO)についての印刷条件設定処
理においては、本印刷条件現在値524を本ページバッ
ファ用の印刷条件フィールド522にコピーしデフォル
ト値としてセットした後(この処理はページバッファリ
ザーブにて行っている)1本ページバッファについて新
たに変更を指示された各種印刷条件(給紙部コード、排
紙部コード、紙サイズ指示パラメータ。
Among these, the print condition current value 524 is used to store a default value when the drawing task sets print conditions for each page buffer. That is, in the printing condition setting process for each page buffer (for example, page buffer O), after copying the current printing condition value 524 to the printing condition field 522 for this page buffer and setting it as a default value (this process Various printing conditions (paper source code, paper ejection unit code, paper size instruction parameters) that are newly instructed to be changed for one page buffer (performed in buffer reserve).

総印刷部数等)は、前記本ページバッファ用の印刷条件
フィールド522及び印刷条件現在値フィールド524
に、更新、設定する。
total number of copies to be printed, etc.) in the print condition field 522 and current print condition value field 524 for the main page buffer.
, update, and configure.

また、コマンド未解情報525(第13図(e))には
、コマンドバッファ部11の末尾にコマンドが途中迄し
か入っていす、コマンドの解釈や実行を続けるには、さ
らに続きのコマンドをホストコンピュータ10から受信
する必要がある場合に用いる。
In addition, the command unresolved information 525 (FIG. 13(e)) contains only part of the command at the end of the command buffer section 11. In order to continue interpreting or executing the command, the command must be sent to the host. It is used when it is necessary to receive data from the computer 10.

また、各ページ毎に、タスク関連情報521、印刷条件
522、プリンタメモリコントローラ設定情報523を
記述した。これらの情報521〜523の内容をそれぞ
れ、第13図(b)〜(d)に示す。
Further, task related information 521, printing conditions 522, and printer memory controller setting information 523 are written for each page. The contents of these pieces of information 521 to 523 are shown in FIGS. 13(b) to 13(d), respectively.

タスク関連情報521では、まず各ページの描画・印刷
状態521−aを、第13図(f)に示す空き(描画可
能)、描画中、印刷可能(有効)、印刷開始、印刷中1
、印刷中2.のいずれかとして記述する。さらに、各ペ
ージを使用中の描画タスクと印刷タスクの番号(521
−b、521−c)とを記述した。また、そのページ用
空き待ち行列の根のポインタ521−dもここに用意し
た。
In the task-related information 521, first, the drawing/printing status 521-a of each page is shown in FIG.
, Printing 2. Describe as either. In addition, the number of the drawing task and printing task (521
-b, 521-c). A pointer 521-d to the root of the free queue for the page is also provided here.

印刷条件522には描画タスクが、コマンド列の一部に
より指示された紙サイズ関連情報、給・排紙部関連情報
を書込み、印刷タスクがそれらを利用して、印刷を行う
ようにした。
The drawing task writes the paper size related information and paper feed/discharge section related information instructed by part of the command string to the print condition 522, and the print task uses them to perform printing.

また、プリンタメモリコントローラ設定情報523には
プリンタメモリコントローラの状態と紙サイズに応じた
それへのレジスタ設定値を記述できるようにした。第1
3図(g)に、印字可能領域と前記プリンタメモリコン
トローラ設定情報の関係を図示する。
Further, in the printer memory controller setting information 523, it is possible to describe the status of the printer memory controller and register setting values therefor according to the paper size. 1st
FIG. 3(g) illustrates the relationship between the printable area and the printer memory controller setting information.

第14図にプリンタ管理テーブル部19の例を示す、同
図はレーザビームプリンタを対象にした場合の例である
。同図(b)のサブCPU状態61としては、サブCP
U通信状態とサブCPUレディ状態を記述する。また、
同図(c)のプリンタ状態62としては、同図(c)に
示すように印刷タスクによる印刷指示と給排紙部の変更
指示の可/不可(621,622);プリンタエンジン
状態623;給紙部状態と排紙部状態624;及び排紙
終了監視タイマの番号625を記述する。また同図(d
)の印刷条件フィールド63には、本印刷タスクに対応
するページバッファについての印刷条件フィールド52
2の値を、印刷タスクが初めにコピーして記入し、以後
本印刷条件フィールド63の値を印刷タスクが参照する
ようにした。また同図(e)のタスク関連情報64とし
ては、同図(e)に示すように、プリンタを使用中のタ
スク番号641;プリンタ空き待ち行列の根のポインタ
642;排紙終了待ちの先頭印刷タスク番号643;サ
ブCPUを使用中のタスク番号644;サブCPU空き
持ち行列の根のポインタ645を記述する。なお、ここ
で644と645は本装置におけるサブCPUがCPU
からのサブCPU制御用コマンドを多重に受付ける機能
がないために設けた。この場合、印刷タスクプリンタ制
御用SvCがサブCPUにサブCPU制御用コマンドを
発行する時、上記644と645を利用して。
FIG. 14 shows an example of the printer management table section 19, which is an example for a laser beam printer. The sub CPU state 61 in FIG.
Describe the U communication status and sub CPU ready status. Also,
The printer status 62 in FIG. 6(c) includes: enable/disable printing instructions by print task and instructions to change the paper feed/discharge unit (621, 622); printer engine status 623; The paper unit status, the paper discharge unit status 624; and the number 625 of the paper discharge end monitoring timer are described. Also in the same figure (d
) contains the print condition field 52 for the page buffer corresponding to this print task.
The value of 2 is first copied and entered by the print task, and thereafter the value of the actual print condition field 63 is referred to by the print task. Further, the task-related information 64 in FIG. 6(e) includes the task number 641 of the task currently using the printer; the root pointer 642 of the printer free queue; and the head print waiting for paper ejection to be completed. Task number 643; Task number 644 that is using the sub CPU; Describe the root pointer 645 of the sub CPU free availability matrix. Note that 644 and 645 indicate that the sub CPU in this device is the CPU.
This feature was created because there was no function to accept multiple sub-CPU control commands from. In this case, when the print task printer control SvC issues a sub CPU control command to the sub CPU, the above steps 644 and 645 are used.

サブCPUリザーブマクロとサブCPUフリーマクロを
用意し、利用した。サブCPUリザーブ/フリーマクロ
の機能は、概ねプリンタリザーブ/フリーマクロにおけ
るプリンタ資源をサブCPU資源に置き換えたものに相
当する。また給紙部状態、排紙部状態624は、同図(
f)のように構成した。
A sub-CPU reserve macro and a sub-CPU free macro were prepared and used. The function of the sub-CPU reserve/free macro roughly corresponds to the printer resource in the printer reserve/free macro replaced with the sub-CPU resource. In addition, the paper feed unit status and paper discharge unit status 624 are shown in the same figure (
f).

なお、本実施例においても、LEDプリンタ、LCSプ
リンタ、インクジェットプリンタ、シャトルプリンタ等
他の種類のページプリンタについても、プリンタ管理テ
ーブル部を本ケースと同様の考え方で定義し、使用する
ことができる。
Note that in this embodiment as well, the printer management table section can be defined and used in the same way as in this case for other types of page printers such as LED printers, LCS printers, inkjet printers, and shuttle printers.

以上説明した本装置の動作手順を第15図のP A D
 (Problem Analysis Diagra
m)に示す。同図(a)ないしくk)はそれぞれ、初期
化処理、描画タスク、印刷タスク、印刷指定処理、印刷
指示、排紙終了待ち、印刷指示許可割込み処理、ページ
バッファ読出し終了割込み処理、排紙終了タイマ割込み
処理、ページ読出し開始割込み処理(垂直同期信号出力
要求割込み処理とも呼ぶ)、及びアイドルタスクの動作
手順を示す。
The operating procedure of this device explained above is shown in FIG.
(Problem Analysis Diagra
m). (a) to k) in the same figure respectively indicate initialization processing, drawing task, print task, print specification processing, print instruction, wait for completion of paper ejection, print instruction permission interrupt processing, page buffer read end interrupt processing, and end of paper ejection. The operation procedures of timer interrupt processing, page read start interrupt processing (also referred to as vertical synchronization signal output request interrupt processing), and idle task are shown.

なお、第15図(b)、 (d)に示したようにページ
バッファ管理テーブル部18とプリンタ管理テープ部1
9を、ページバッファ制御部116やプリンタ制御部1
17のSVC機能や割込み処理機能を介さずに、タスク
処理部13内の各タスクが直接アクセスする場合は、ア
クセスの前後で第6表に示し、た制御テーブルロック/
アンロックSvCを発行するようにし、上記17と18
の管理テーブル部のアクセスの排他制御を行った。
In addition, as shown in FIGS. 15(b) and 15(d), the page buffer management table section 18 and the printer management tape section 1
9, the page buffer control unit 116 and the printer control unit 1
When each task in the task processing unit 13 accesses directly without going through the SVC function or interrupt processing function of 17, the control table lock/lock shown in Table 6 is performed before and after the access.
Issue unlock SvC, 17 and 18 above.
Exclusive control of access to the management table section was performed.

第16図にページバッファとプリンタについての資源管
理を行う代表的4機能、ページバッファリザーブ、ペー
ジバッファフリー、プリンタリザーブ、プリンタフリー
、の動作手順を示す。
FIG. 16 shows the operating procedures of four representative functions for managing resources regarding page buffers and printers: page buffer reserve, page buffer free, printer reserve, and printer free.

第17図(a)にページバッファへの描画処理が参照す
る制御パラメータ(描画パラメータと呼ぶ)を示し、同
図(b)に本描画パラメータとページ/<ソファの関係
を示す。
FIG. 17(a) shows the control parameters (referred to as drawing parameters) referenced by the drawing process to the page buffer, and FIG. 17(b) shows the relationship between the main drawing parameters and page/<sofa.

また本印刷制御装置の制御ソフトウェアは、第19図に
示す階層構造をもつ。
Further, the control software of this printing control device has a hierarchical structure shown in FIG. 19.

(i)同図において、処理レベル5(タスクレベル)は
タスク処理からなる。つまり、描画タスク、印刷タスク
、中断タスク、キャンセルタスク、モードセンタタスク
、アイドルタスク等のし)ずれ力1のタスクをタスクデ
イスパッチャの指示に従って実行する。
(i) In the figure, processing level 5 (task level) consists of task processing. That is, tasks such as a drawing task, a printing task, an interruption task, a cancel task, a mode center task, an idle task, etc.) whose deviation force is 1 are executed according to instructions from the task dispatcher.

(ii)処理レベル4はカーネル部(SVC制御、割込
み制御、タスク制御、タイマ制御等からなる)、及びデ
バイスドライバ制御(ページバッファ制御、プリンタ制
御、ホスト通信制御、パネル制御等)からなる。
(ii) Processing level 4 consists of a kernel section (consisting of SVC control, interrupt control, task control, timer control, etc.) and device driver control (page buffer control, printer control, host communication control, panel control, etc.).

(in)処理レベル1と2は各々、CPU例外処理とパ
リティエラー処理からなり、共に緊急度の高い異常処理
を行う、前者はCPU例外処理として、バスエラー、ア
ドレスエラー、CPU不当命令、0除算等についての異
常処理を行う。
(in) Processing levels 1 and 2 each consist of CPU exception handling and parity error handling, and both handle highly urgent abnormalities.The former handles CPU exceptions such as bus errors, address errors, CPU illegal instructions, and division by zero. Perform abnormal handling for etc.

一方、後者はRAMメモリについてのパリティエラー処
理を行う。
On the other hand, the latter performs parity error processing for RAM memory.

(1−)処理レベル0は初期化処理を行う。(1-) Processing level 0 performs initialization processing.

第20図に、本実施例においてページバッファ面数を3
とした場合の本印刷制御装置による描画、印刷等の並行
処理のタイミング図を示す6図示のように、コマンド受
信、ページバッファ1〜3゜プリンタのレーザ制御およ
び紙制御は並行して実行されるので、プリンタおよびペ
ージバッファの使用に空き時間が生じず、プリンタエン
ジンをその最高速度で動作させることが可能となる。「
ページバッファ読出し終了によるページバッファ空き待
ち状態の解除」および「給紙完了による印刷指示許可待
ち状態の解除」は、前述のようにいずれもCPUに対す
る割込み要求により行われる。
Figure 20 shows that the number of page buffers is 3 in this embodiment.
As shown in Figure 6, which shows a timing diagram of parallel processing such as drawing and printing by this print control device in the case of Therefore, there is no idle time in the use of the printer and page buffer, allowing the printer engine to operate at its maximum speed. "
As described above, the release of the page buffer empty wait state upon completion of page buffer reading and the release of the print instruction permission wait state upon completion of paper feeding are both performed by an interrupt request to the CPU.

なお、先の実施例と同様、印刷指示許可待ち状態の解除
のタイミングはプリンタエンジン部16の特性によって
変わり、プリンタエンジンによっては給紙完了の時機と
一致しないこともあるが、この場合でも、サブCPU1
06又はプリンタエンジン部16が、プリンタエンジン
部16の特性に応じて、印刷指示許可待ち状態の解除を
検出し。
Note that, as in the previous embodiment, the timing of canceling the print instruction permission waiting state varies depending on the characteristics of the printer engine section 16, and depending on the printer engine, it may not coincide with the timing of paper feeding completion. CPU1
06 or the printer engine section 16 detects release of the print instruction permission waiting state according to the characteristics of the printer engine section 16.

その結果直ちにサブCPU106からCPUに対し「印
刷指示許可待ち状態の解除」割込みを発生するようにす
ることにより、本発明を適用することができる。
As a result, the present invention can be applied by causing the sub CPU 106 to immediately generate an interrupt to the CPU to "cancel the print instruction permission waiting state".

このような並行処理を可能にするために上記各実施例に
おいて採用した手段をまとめれば、次のようになる。
The means adopted in each of the above embodiments to enable such parallel processing can be summarized as follows.

1)充分な面数のページバッファ(上記例では3面)。1) A page buffer with sufficient number of sides (three sides in the above example).

2)プリンタ制御装置内の描画タスクや印刷タスクの動
作とは非同期のコマンド受信・3)描画と印刷の別タス
クとしての管理、特に印刷タスクを各用紙についての印
刷処理毎に別に管理。
2) Receiving commands asynchronously with the operations of the drawing task and printing task in the printer control device. 3) Managing drawing and printing as separate tasks, especially managing the printing task separately for each print process for each paper.

4)3)で定義した描画タスクおよび印刷タスクの実行
を事象発生待ちとその解除及び資源空き待ちとその解除
の機構を用いて管理。
4) Manage the execution of the drawing task and print task defined in 3) using the mechanisms for waiting for an event to occur and canceling it, and waiting for resource availability and canceling it.

以上の実施例は、以下の場合にも適用できる。The above embodiments can also be applied to the following cases.

(1)ページバッファ部14内のページ総数Nが1の場
合。
(1) When the total number of pages N in the page buffer unit 14 is 1.

(2)ページバッファ部14内のページ総数N。(2) Total number of pages N in the page buffer unit 14.

構成等がホストコンピュータ10の送信したコマンド列
等により動的に変更される場合0例えばコマンド列によ
り紙サイズ、光プリンタのドツト密度、ページバッファ
メモリ容量の変更を指示された場合が本ケースの例であ
る。
An example of this case is when the configuration etc. are dynamically changed by a command string sent by the host computer 10. For example, an example of this case is when a command string instructs to change the paper size, dot density of an optical printer, or page buffer memory capacity. It is.

(3)タスク処理部13内のタスクとして、第5表に示
した以外のタスクを追加した場合。
(3) When a task other than those shown in Table 5 is added as a task in the task processing unit 13.

(4)ホストコンピュータ1oがら本装置へのコマンド
列の送信方法として次に示す様々な方法を用いた場合。
(4) A case where various methods shown below are used as a method of transmitting a command sequence from the host computer 1o to the present device.

(a)各ページについて、描画コマンドと印刷コマンド
を一つずつ送る。
(a) Send one drawing command and one printing command for each page.

(b)各ページについて、0個または1個以上の描画コ
マンド列と1つの印刷コマンドを送る。
(b) For each page, send zero or more drawing command sequences and one print command.

(c) (a)、 (b)に加え、各ページの制御情報
(紙サイズ、縦書き、横書きの区別、印刷部数、片面印
刷、両面印刷の区別等)を描画コマンドの−っ、または
描画コマンド、印刷コマンド以外の別種コマンドとして
送る。
(c) In addition to (a) and (b), control information for each page (paper size, distinction between vertical writing, horizontal writing, number of copies, distinction between single-sided printing, double-sided printing, etc.) can be added using the drawing command - or drawing. Command, send as a different type of command other than print command.

ここで、描画コマンドとはページバッファへの描画内容
を指示するためのコマンドであり、印刷コマンドとはペ
ージバッファへの描画の終了と描画の終了したそのペー
ジバッファについての印刷タスクの起動を指示するため
のコマンドである。
Here, the drawing command is a command to instruct the content to be drawn to the page buffer, and the print command is to instruct the end of drawing to the page buffer and the start of a print task for the page buffer that has been drawn. This is a command for

(5)タスクを、ホストコンピュータが送信する個々の
コマンドに対応して定義したり、1ページを構成するコ
マンド列全体に対応して定義する場合。
(5) When a task is defined in response to an individual command sent by the host computer, or in response to an entire command string that constitutes one page.

[発明の効果] 本発明によれば、プリンタエンジン部およびページバッ
ファ部を空き時間なく動作させることができるので、プ
リンタエンジン最高速度での印刷が行え、印刷装置のス
ループットを向上させることができる。
[Effects of the Invention] According to the present invention, since the printer engine section and the page buffer section can be operated without idle time, printing can be performed at the maximum speed of the printer engine, and the throughput of the printing device can be improved.

(以下余白)(Margin below)

【図面の簡単な説明】[Brief explanation of the drawing]

第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・・・ページバッファ部、14
1・・・ページバッファ1,142・・・ページバッフ
ァn、143・・・ページバッファN、16・・・プリ
ンタエンジン部、17・・・タスク管理テーブル部、1
8・・・ページバッファ管理テーブル部、19・・・プ
リンタ管理テーブル部、116・・・ページバッファ制
御部。 117・・・プリンタ制御部。
FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional printing control device, and FIG. 3 is a state transition diagram of the operation of the task control unit in FIG. 1. , 4th
5 is an explanatory diagram of various operations of the apparatus of the present invention, and FIG. 6 is a block diagram of another embodiment of the present invention. Figure 7 is a configuration diagram of the page buffer management table section, Figure 8
The figure is a configuration diagram of the printer management table section, and Figure 9 is a drawing.
A timing diagram of parallel processing such as printing, FIG. 10 is a block diagram showing the configuration of the third embodiment of the present invention, FIG. 11 is an explanatory diagram of task state definitions and state transitions, and FIG. 12 is a task control relationship. FIG. 13 is a configuration diagram of the page buffer management table section, FIG. 14 is a configuration diagram of the printer management table section, and FIGS. 15 and 16 are explanatory diagrams of various operations of the apparatus of the present invention. , FIG. 17 is an explanatory diagram of drawing parameters, FIG. 18 is a block diagram showing an example of the hardware configuration of the device of the present invention, FIG. 19 is an explanatory diagram showing an example of the configuration of control software of the device of the present invention, and FIG. 20 is a timing diagram of parallel processing such as drawing and printing. DESCRIPTION OF SYMBOLS 10... Host computer, 11... Command buffer unit, 12... Task control unit, 13... Task processing unit, 131... Drawing task processing unit, 132...
Print task processing section, 14... page buffer section, 14
1... Page buffer 1, 142... Page buffer n, 143... Page buffer N, 16... Printer engine section, 17... Task management table section, 1
8... Page buffer management table section, 19... Printer management table section, 116... Page buffer control section. 117...Printer control unit.

Claims (1)

【特許請求の範囲】 1、少なくとも描画コマンドを含むコマンド列を格納す
るコマンドバッファ部と、前記描画コマンドに従って描
画されたドットイメージデータを格納するページバッフ
ァ部とを備え、描画を終えた前記ページバッファ部内の
ドットイメージデータをプリンタエンジン部へ出力する
印刷制御装置において、 前記ページバッファ部に設けた複数ページ分のページバ
ッファと、 描画処理および印刷処理をそれぞれ描画タスクおよび印
刷タスクとして実行するためのタスク処理部と、 該タスク処理部による描画タスクおよび印刷タスクの実
行を制御するタスク制御部とを備え、該タスク制御部に
よる制御において、前記印刷タスクのタスク優先度を前
記描画タスクのタスク優先度より高くしたことを特徴と
する印刷制御装置。 2、少なくとも各種描画指示用の描画コマンドを含むコ
マンド列を格納するコマンドバッファ部と、前記描画コ
マンドに従って描画されたドットイメージデータを格納
するページバッファ部とを備え、描画を終えた前記ペー
ジバッファ部内のドットイメージデータをプリンタエン
ジン部へ出力する印刷制御装置において、 前記ページバッファ部に設けた複数ページ分のページバ
ッファと、 描画処理および印刷処理をそれぞれ描画タスクおよび印
刷タスクとして実行するためのタスク処理部と、 該タスク処理部による描画タスクおよび印刷タスクの実
行を制御するタスク制御部と、 ページバッファ管理情報を保持するページバッファ管理
テーブル部と、 プリンタ管理情報を保持するプリンタ管理テーブル部と
を備え、 前記タスク制御部は、前記ページバッファ管理テーブル
部の内容に応じて前記描画タスクに空き状態にあるペー
ジバッファを前記描画タスクに割り当てるとともに、前
記両管理テーブル部の内容に応じて印刷待ちのページバ
ッファおよび空き状態にあるプリンタエンジン部を前記
印刷タスクに割り当てることを特徴とする印刷制御装置
。 3、前記描画タスクおよび印刷タスクを含む各種タスク
についてタスク管理情報を保持するタスク管理テーブル
部を備え、前記タスク制御部は該タスク管理テーブル部
の内容に従ってタスク制御を行うことを特徴とする請求
項1または2記載の印刷制御装置。 4、前記コマンドバッファ部には前記コマンド列ととも
に印刷コマンドが格納され、該印刷コマンドに応じて前
記印刷タスクの起動要求がなされることを特徴とする請
求項1または2記載の印刷制御装置。 5、前記コマンドバッファ部に格納されるコマンド列に
はページ区切りを明示的または暗示的に示すコマンドを
含み、該コマンドに応じて前記印刷タスクの起動要求が
なされることを特徴とする請求項1または2記載の印刷
制御装置。 6、前記コマンドバッファ部に格納されるコマンド列は
、描画処理および印刷処理とは非同期にホストコンピュ
ータから受信されることを特徴とする請求項1または2
記載の印刷制御装置。 7、少なくとも前記タスク制御部の処理をCPUにより
実行し、前記ページバッファの空きおよびプリンタエン
ジン部の空きを、前記CPUへの割込みを用いて前記タ
スク制御部に通知することを特徴とする請求項1または
2記載の印刷制御装置。 8、少なくとも各種描画指示用の描画コマンドを含むコ
マンド列を格納するコマンドバッファ部と、前記描画コ
マンドに従って描画されたドットイメージデータを格納
するページバッファ部とを備え、描画を終えた前記ペー
ジバッファ部内のドットイメージデータをプリンタエン
ジン部へ出力する印刷制御装置において、 前記ページバッファ部に設けた複数ページ分のページバ
ッファと、 描画処理および印刷処理をそれぞれ描画タスクおよび印
刷タスクとして実行する手段と、前記各ページバッファ
の使用状態を管理する手段と、 前記プリンタエンジン部の使用状態を管理する手段と、 空き状態のページバッファを前記描画タスクに割り当て
、空き状態にあるプリンタエンジン部を前記印刷タスク
に割り当てる手段と、 前記空き状態のページバッファがない場合に前記描画タ
スクをページバッファ空き待ち状態として管理し、任意
のページバッファが空き状態となったとき当該空き待ち
状態を解除する手段と、 前記プリンタエンジン部が空き状態でない場合に前記印
刷タスクをプリンタ空き待ち状態として管理し、空き状
態となったとき当該空き待ち状態を解除する手段とを備
えたことを特徴とする印刷制御装置。 9、前記プリンタエンジンが割り当てられた印刷タスク
について、当該印刷タスクを印刷指示許可待ち状態とし
て管理し、前記プリンタエンジン部の使用状態に基づき
印刷指示受け付け可能となった時点で当該待ち状態を解
除する手段を設けたことを特徴とする請求項8記載の印
刷制御装置。 10、前記印刷タスクによるページバッファからの必要
部数分の読出しが終了した後、当該ページバッファおよ
びプリンタエンジン部を空き状態とするとともに、当該
印刷タスクは排紙終了待ち状態として管理し、排紙終了
後に当該待ち状態を解除する手段を設けたことを特徴と
する請求項8または9記載の印刷制御装置。 11、前記排紙終了待ち状態にある印刷タスクとは別個
の印刷タスクを設け、該印刷タスクには前記空き状態と
なったプリンタエンジン部を割り当てることを特徴とす
る請求項10記載の印刷制御装置。
[Scope of Claims] 1. The page buffer includes a command buffer section that stores a command string including at least a drawing command, and a page buffer section that stores dot image data drawn according to the drawing command, and the page buffer after drawing has been completed. A print control device that outputs internal dot image data to a printer engine section includes a page buffer for multiple pages provided in the page buffer section, and a task for executing drawing processing and printing processing as a drawing task and a printing task, respectively. a processing unit; and a task control unit that controls execution of a drawing task and a print task by the task processing unit, and in the control by the task control unit, the task priority of the print task is set to be higher than the task priority of the drawing task. A printing control device characterized by being raised. 2. A command buffer section that stores at least a command string including drawing commands for various drawing instructions, and a page buffer section that stores dot image data drawn according to the drawing commands, and the inside of the page buffer section after drawing has been completed. In a print control device that outputs dot image data to a printer engine section, the page buffer section includes a page buffer for multiple pages, and a task process for executing drawing processing and printing processing as a drawing task and a printing task, respectively. a task control unit that controls execution of drawing tasks and printing tasks by the task processing unit; a page buffer management table unit that holds page buffer management information; and a printer management table unit that holds printer management information. , the task control section allocates an empty page buffer to the drawing task according to the contents of the page buffer management table section, and assigns a page buffer waiting to be printed to the drawing task according to the contents of both the management table sections. A print control device characterized in that a buffer and a printer engine unit in an empty state are assigned to the print task. 3. The present invention further comprises a task management table section that holds task management information regarding various tasks including the drawing task and the printing task, and the task control section performs task control according to the contents of the task management table section. 3. The print control device according to 1 or 2. 4. The print control device according to claim 1 or 2, wherein a print command is stored together with the command string in the command buffer section, and a request to start the print task is made in response to the print command. 5. Claim 1, wherein the command string stored in the command buffer section includes a command explicitly or implicitly indicating a page break, and a request to start the print task is made in response to the command. Or the printing control device according to 2. 6. The command string stored in the command buffer unit is received from the host computer asynchronously with drawing processing and printing processing.
Printing control device as described. 7. At least the processing of the task control unit is executed by a CPU, and the empty space of the page buffer and the free space of the printer engine unit are notified to the task control unit using an interrupt to the CPU. 3. The print control device according to 1 or 2. 8. A command buffer section that stores at least a command string including drawing commands for various drawing instructions, and a page buffer section that stores dot image data drawn according to the drawing commands, and the inside of the page buffer section after drawing has been completed. A print control device that outputs dot image data to a printer engine section, comprising: a page buffer for a plurality of pages provided in the page buffer section; means for executing drawing processing and printing processing as a drawing task and a printing task, respectively; means for managing the usage status of each page buffer; means for managing the usage status of the printer engine unit; assigning an empty page buffer to the drawing task; and assigning an empty printer engine unit to the printing task. means for managing the drawing task in a page buffer waiting state when there is no free page buffer, and releasing the free waiting state when any page buffer becomes free; and the printer engine. 1. A print control device comprising: means for managing the print task as a printer waiting state when the copy is not available; and releasing the printer from the waiting state when the copy becomes available. 9. For the print task to which the printer engine is assigned, manage the print task as waiting for print instruction permission, and release the wait state when it becomes possible to accept the print instruction based on the usage status of the printer engine section. 9. The printing control device according to claim 8, further comprising means. 10. After the print task finishes reading the required number of copies from the page buffer, the page buffer and printer engine section are made vacant, the print task is managed as waiting for paper ejection to finish, and paper ejection is completed. 10. The printing control apparatus according to claim 8, further comprising means for later canceling the waiting state. 11. The print control device according to claim 10, wherein a print task separate from the print task in the state of waiting for completion of paper ejection is provided, and the printer engine unit in the vacant state is assigned to the print task. .
JP16463789A 1988-06-27 1989-06-27 Printing control device Expired - Lifetime JP2816184B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16463789A JP2816184B2 (en) 1988-06-27 1989-06-27 Printing control device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15848188 1988-06-27
JP63-158481 1988-06-27
JP16463789A JP2816184B2 (en) 1988-06-27 1989-06-27 Printing control device

Publications (2)

Publication Number Publication Date
JPH0270465A true JPH0270465A (en) 1990-03-09
JP2816184B2 JP2816184B2 (en) 1998-10-27

Family

ID=26485585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16463789A Expired - Lifetime JP2816184B2 (en) 1988-06-27 1989-06-27 Printing control device

Country Status (1)

Country Link
JP (1) JP2816184B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265209A (en) * 1989-10-30 1993-11-23 Hitachi, Ltd. Print control apparatus for printing pages having different page sizes using one or more of a plurality of same-sized page buffers
US5774638A (en) * 1991-08-06 1998-06-30 Hitachi, Ltd. Print controlling method and apparatus using a plurality of processors
US6504619B1 (en) 1990-10-30 2003-01-07 Hitachi, Ltd. Print control apparatus with error recovery function and its print control method
US7256904B1 (en) 1999-03-10 2007-08-14 Seiko Epson Corporation Device for dynamically varying the priority of various processing in a printer
JP2012223982A (en) * 2011-04-20 2012-11-15 Seiko Epson Corp Recorder, method of controlling recorder, and program
JP2013071361A (en) * 2011-09-28 2013-04-22 Canon Inc Apparatus, method, and program for controlling printing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5265209A (en) * 1989-10-30 1993-11-23 Hitachi, Ltd. Print control apparatus for printing pages having different page sizes using one or more of a plurality of same-sized page buffers
US6504619B1 (en) 1990-10-30 2003-01-07 Hitachi, Ltd. Print control apparatus with error recovery function and its print control method
US5774638A (en) * 1991-08-06 1998-06-30 Hitachi, Ltd. Print controlling method and apparatus using a plurality of processors
US6025923A (en) * 1991-08-06 2000-02-15 Hitachi, Ltd. Print controlling method and apparatus using a plurality of processors
US7256904B1 (en) 1999-03-10 2007-08-14 Seiko Epson Corporation Device for dynamically varying the priority of various processing in a printer
JP2012223982A (en) * 2011-04-20 2012-11-15 Seiko Epson Corp Recorder, method of controlling recorder, and program
JP2013071361A (en) * 2011-09-28 2013-04-22 Canon Inc Apparatus, method, and program for controlling printing

Also Published As

Publication number Publication date
JP2816184B2 (en) 1998-10-27

Similar Documents

Publication Publication Date Title
US4992958A (en) Method and apparatus for controlling printer
JP3007103B2 (en) Printing control device
US5237655A (en) Raster image processor for all points addressable printer
US5954436A (en) Printing apparatus and double-side printing control method
US4972312A (en) Multiprocess computer and method for operating same having context switching in response to a peripheral interrupt
JPH0270465A (en) Print controller
JPH05201077A (en) Printing control method and printing control device
US20080198404A1 (en) Image forming apparatus and print control method used therein
JP3010559B2 (en) Printing system and printing control method and apparatus
JP3380598B2 (en) Double-sided printing control method and printing control device
JP2776894B2 (en) Printer controller and print control method
JP3173721B2 (en) Printer and operation method thereof
JP3181779B2 (en) Printing apparatus, interface apparatus, information processing apparatus, and control method
JP3474185B2 (en) Double-sided printing control method and printing control device
JP2564356B2 (en) Print control device
JP3512403B2 (en) Printing control device
JP2965686B2 (en) Printing control device
JP3474184B2 (en) Double-sided printing control method and printing control device
WO1988003682A1 (en) I/o system for off-loading operating system functions
JPH05301429A (en) Printing controller with error recovery function and printing control method
JP3304081B2 (en) Printing control method
JPS63185671A (en) Abnormality treating system for printing system
JP2007328737A (en) Host device, data processor, and data processing system
JPS59163647A (en) Task control method
JP2000033744A (en) Method for controlling printing and printing control apparatus and printing system

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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090814

Year of fee payment: 11

EXPY Cancellation because of completion of term