JP2001287412A - 印刷装置 - Google Patents

印刷装置

Info

Publication number
JP2001287412A
JP2001287412A JP2000106005A JP2000106005A JP2001287412A JP 2001287412 A JP2001287412 A JP 2001287412A JP 2000106005 A JP2000106005 A JP 2000106005A JP 2000106005 A JP2000106005 A JP 2000106005A JP 2001287412 A JP2001287412 A JP 2001287412A
Authority
JP
Japan
Prior art keywords
task
program
image
band
processing
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.)
Pending
Application number
JP2000106005A
Other languages
English (en)
Inventor
Noboru Aoki
昇 青木
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.)
Koki Holdings Co Ltd
Original Assignee
Hitachi Koki Co 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 Koki Co Ltd filed Critical Hitachi Koki Co Ltd
Priority to JP2000106005A priority Critical patent/JP2001287412A/ja
Publication of JP2001287412A publication Critical patent/JP2001287412A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 SMP構成をとるマイクロコンピュータを利用
した装置で、高速の画像表示装置または、高速の画像印
刷装置を実現する。 【解決手段】 SMP構成のマイコン装置上で、1ページ分
もしくは1画面分の画像デ一タを、メインメモリ上の複
数の領域のバンドメモリに分割し、分割されたバンドメ
モリのそれぞれに対して、画像の描画プログラム処理を
複数のCPUにて並列に実行する制御手段を設けたことを
特徴する印刷装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、SMP(Symmetric Mu
lti Processor)構成のマイコン装置上で、画像をメモリ
上に描画し、その画像を紙に印刷、または画面に表示す
る印刷装置に関する。
【0002】
【従来の技術】画像をメモリ上に描画する従来の技術と
しては、次ぎのものがある。
【0003】(1)市販の小型プリンタでは、印刷する
画像の描画処理用として、単一のCPUを利し、バンドメ
モリ上へ、オブジェクトを順番に一つづつ描画してい
る。
【0004】(2)市販の大型プリンタでも、印刷する
画像の描画処理用として、単一のCPUを利用し、画像1
頁分のフレームメモリ上へ、オブジェクトを順番に一つ
づつ描画している。
【0005】(3)市販のパ一ソナルコンピュータでは、C
RTへの画像表示のために、画像1画面分のビデオメモリ
を用意し、単一のCPUか、またはその制御下にある、グ
ラフィック・アクセラレータを利用して、非並列に描画
処理している。
【0006】(4)DSP(Digital Signal Processor)を使
用した画像処理装置では、ラスタースキャン毎の画素に
関する演算を並列に実行し、画像描画処理の高速化を図
っているものがある。
【0007】
【発明が解決しようとする課題】文字、図形、ラスター
画像データなどのオブジェクトを画面上に表示する装置
や、用紙上に印刷する装置では、描画するオブジェクト
を、いったんメモリ上のビットマップ形式の画像データ
に描画し、その後そのメモリをラスタースキャンしてデ
ータを読みだし、そのデータをラスタースキャンの電気
信号に変換し、CRT表示装置の電子銃や、レーザビーム
プリンタのレーザ発光器へ出力することで、目的の画像
出力を得る。こうした装置では、ラスタースキャンの電
気信号を受けるデバイスの速度に十分追従して、いかに
高速に画像をメモリ上に描画できるかの処理速度の高速
化が、表示や印刷の高速性能を得るために重要な課題で
ある。
【0008】
【課題を解決するための手段】前に述べた課題を解決す
るため、本発明は次の手段を持つ。
【0009】(l)SMP構成をとるマイクロコンピュータ構
成 複数(2個以上)のCPUが、それぞれプログラム実行コー
ドおよびデータを格納する高速キャッシュメモリに接続
され、それらのキャッシュメモリが、バスのアービトレ
ーションおよび、メインメモリとキャッシュメモリ間の
データ一致を保証するスヌーピング動作を実行するブリ
ッジを介してメインメモリに接続されるSMP構成をと
り、それぞれのCPUが、プログラム処理を並列に実行す
ることのできるハードウエア機構。
【0010】(2)SMPタスク・スケジューラ・プログラム 前項(1)のSMP構成のマイクロコンピュータ上で、プログ
ラムタスクの実行を優先順位付きでスケジューリング
し、それぞれのCPU上で複数のプログラムタスクを同時
に並列に実行させることのできるプログラム実行コ一
ド。
【0011】(3)バンドメモリ メインメモリ中に、バンドメモリと呼ぶ、1単位分の画
像デ一タを複数の領域に分割したバッファ領域をアロケ
ートする。
【0012】(4)ディスプレーリスト・メモリ メインメモリ中に、ディスプレーリストメモリと呼ぶ、
描画するオブジェクトの描画情報を命令化した情報を格
納するバッファ領域をアロケートする。個々のディスプ
レーリストメモリのバッファは、個々のバンドメモリの
バッファに1:1に対応させて用意する。
【0013】(5)バンド描画処理プログラム 前項(1)のSMP構成のマイクロコンピュータ上で、各CP
Uについて並列なプログラムタスクとして実行される、
リエントラント(再入可能)の性質を持つ、バンドメモリ
ヘビットマップ画像の描画処理を実行するプログラム実
行コード。
【0014】(6)描画処理スケジューラ・プログラム 前項(5)のバンド描画処理プログラムのタスク実行順番
をスケジユーリングし、1頁または1画面分の複数のバ
ンド画像描画処理タスクを、前項(2)SMPタスク・スケジ
ューラプログラムの配下におき、各バンドメモリについ
て、同時に並列実行させるプログラム実行コード。
【0015】
【発肌の実施の形態】以降、本発明の一実施例について
詳細に説明する。 図1は、本発明をレーザ・ビームプリ
ンタに応用した場合の全体構成を説明するためのもので
ある。
【0016】最初にハードウエア構成について説明す
る。複数(n個、n>1)のCPU(CPU1〜CPUn)にはそれ
ぞれ、高速読み書き可能なキャッシュ・メモリ2が接続
され、ブリッジ3を介して、メイン・メモリ4へ接続さ
れる。このマイコン構成は、SMPと呼ばれ、複数のCPUが
同時にプログラムを実行できるので、単一のCPUをもつ
マイコン構成よりも、装置全体のスループットを高くで
きる。アドレス空間は、各CPUについて共通した連続し
たものになり、メインメモリは概念的にはプログラムコ
ード領域9とデータ領域10に別れる。I/Oアドレス
空間はメモリマップドI/O領域11としてアドレス空
間が与えられる。複数CPU中の各キャッシュメモリ中で
は、プログラム・コードまたはデータがプログラム実行
の進行に応じて、メインメモリ間との読み出し、書き込
みが発生するが、メインメモリとキャッシュ間の内容の
変更されない時間領域では、CPUはキャッシユメモリの
アクセスのみになり、各CPUがプログラムを完全に並列
に高速実行できる。一方、メインメモリと各キャッシュ
間のデータ内容の不一致が発生した場合のデータ一致性
の保証動作は、ブリッジにより、スヌーピングと呼ばれ
る動作により自動的に行われる。
【0017】次にプログラムとデータの構成について説
明する。
【0018】本実施例では、プログラムコード領域9中
に“ブート初期化プログラム”12、“受信処理”1
3、“受信割る込み処理”14、“メインプログラム”
15、“描画スケジューラ”16、“バンド描画処理”
17、“SMPタスクスケジユーラ”18、“画像転送処
理”19のプログラム実行コードを用意する。一方デー
タ領域中に一ページ中の画像をバンドメモリ21と呼
ぶ、概念的に複数の長方形領域に分割した頁画像メモリ
を2ページ分以上、また描画オブジェクトを描画命令の
形式でバンド対応にブロック化して記憶するディスプレ
ーリスト20とよぶバッファを用意する。
【0019】次にこれらのプログラムの動作について図
2〜8のフローチャートにより詳細に説明する。
【0020】図2に電源投入後のプログラム初期動作の
流れを示す。電源投入後、各CPU毎にそれぞれ同一の
“ブート初期化プログラム”が読み込まれて実行が開始
される。まずCPUは、自CPU内の減算が正しく実行できる
か、メインメモリの読み書きが正しく実行できるか否か
等の自己診断処理と初期化処理を実行する(ステップA01
0)。次に白分のCPUが、ハードウェアボード上で物理的
に何番に位置するかの情報(CPUID)を定まったアドレス
より読み出す(ステップA020)。CPUは、自分のCPUIDを認
識すると、CPCIDが値1であるCPUのみ、“メインプログ
ラム”をタスクとして“タスク生成”のシステムコール
(SVC)を発行、残りのCPUはアイドルタスク(単純に無限
ループを実行するプログラム)を起動するタスクとして
“タスク生成”のシステムコールを発行する(ステップA
050)。それぞれプログラムタスクを起動したCPUでは、
これらのタスクを起動後に、自タスクを消滅させる“タ
スク消滅”のシステムコールを発行する。(ステップA06
0)SMPスケジューラは、これらのシステムコールを受
け、必要なプログラム実行をそれぞれのCPUに分配して
実行させるタスク切り替え動作をする。こうして、CPUI
D1のCPUでは、“ブート初期化プログラム”タスクが消
滅後、“メインプログラム”タスクの実行が開始され、
その他のCPUでは、“ブート初期化プログラム”タスク
が消滅後、アイドルタスクの実行が開始される。
【0021】次に“ブート初期化プログラム”タスク消
滅後の“メインプログラム”タスクの動作を説明する。
(図3)“メインプログラム”タスクは、“画像転送プ
ログラム”タスク、“描画処理スケジューラ”タスク、
“受信処理”タスク、の順番で“タスク生成”のシステ
ムコールを発行した後に(ステップBO1O〜B030)、“タス
ク消滅”のシステムコールを発行する(ステップB040)。
この“タスク消滅”のシステムコールを受けると、“SM
Pタスクスケジューラ”は、現在まで“メインプログラ
ム”タスクを走らせていたCPUとアイドルタスクを走ら
せていたCPUのそれぞれに、起動されたタスクへ実行を
切り替える。ただし、“SMPタスクスケジューラ”は、
実行の空いている(アイドルタスクを実行している)CPU
かない場合、および生成要求のされたタスクの優先度
が、各CPUで実行中のタスクより優先順位が低い場合、
そのタスクを実行可能状態のタスクとして、そのTCB(Ta
sk Control Block,プログラムタスク毎に用意するタス
ク実行の管理情報)を優先順位別に待ち行列にチェイン
する。こうして、“画像転送プログラム”タスク、“描
画スケジューラ”タスク、“受信処理”タスクが起動さ
れた後、“メインプログラム”タスクが消滅する。ここ
で例えば、CPU個数が3個以上の場合は、それぞれ“画
像転送プログラム”タスク、“バンド描画スケジュー
ラ”タスク、“受信処理”タスクの3タスクは同時に別
々のCPUで走行を始める。それぞれのタスクは実行直
後、“メッセージ受信”のシステムコールを発行し、そ
れぞれのタスクが実行待ち状態になり、各CPUではアイ
ドルタスクの走行が始まる ここで、ホストコンピュー
タからのデータが受信されると、受信割り込みが発生
し、“受信割り込み処理”(図4)が走行する。“受信
割り込み処理”は、受信されたデータを受信バッファか
ら読みとり、この受信データのアドレスとデータ長をメ
ッセージとし、宛先を受信処理タスクのメイルボックス
として、“メッセージ送信”のシステムコールを発行し
(ステップC020)、割り込み処理を終了する。すると、
“SMPタスクスケジューラ”は、そのメッセ一ジを“受
信処理”タスクのメイルボックスに送信し、メッセージ
受信待ちになっていた、待ち状態の“受信処理”タスク
の実行を再開させる。実行を再開した“受信処理タス
ク”(図5)は、“メッセージ受信”システムコールに
より受け取った受信データのアドレスとデータ長を、宛
先描画処理スケジユーラとして“メッセージ送信”シス
テムコールを発行後(ステップD020)、再び受信処理割
り込み処理からのメッセージ受信のため、“メッセージ
受付”システムコールを発行(ステップDO1O)して待ち状
態にはいる。
【0022】次に、“SMPスケジューラ”は、メッセー
ジ受信待ち状態になっている“描画処埋スケジューラ”
に、“受信処理”タスクが送信した受信データのアドレ
スと長さのメッセージを送り届け、“描画処理スケジュ
ーラ”の待ち状態を解除し、実行を再開させる。実行を
再開した“描画処理スケジューラ”(図6)は、受信デ
ータを入力し、1オブジェクトの描画情報を作成、それ
をディスプレーリストに格納する。(ステップE020 ) “描画処理スケジュ一ラ”は、ここで1頁分のデイスプ
レーリストが完成していれば、(ステップE04O)へ進み、
そうでなければ再び、“受信処理”タスクからのメッセ
ージ受信の待ち状態にはいる(ステップEO1O)。ステップ
E040では、1べ一ジ分のデイスプレーリストのそれぞれ
について描画処理予想時間を計算する。ここで、描画処
理の予想時間は、ディスプレーリスト内の描画するオブ
ジェクト毎にその描画時間を求め、それらの合計を求め
る。
【0023】次に、これら求められた描画処理時間の最
大となるデイスプレーリストを検索し、(ステップE060)
描画処即時間の大きい順番から、“バンド描画処理”を
タスクとする“タスク生成”システムコールを全ディス
プレーリストの描画処理起動が終了するまで、次々に発
行する(ステップE070)。ここで、各CPUの処理は、それ
が空いた順番に起動されてゆくので、並列したバンド描
画処理が最も短時間に処理できるようになる。“描画処
理スケジューラ”は、すべてのディスプレーリストの描
画処理の起動を終了するとすべての並列に動作する“バ
ンド描画タスク”が終了するのを待つ。(ステップE080
〜EO90 )“バンド描画処理”タスク(図8)は、1つの
デイスプレーリストを入力として与えられて起動される
と、ディスプレーリストより、一つづつオブジェクト描
画の命令情報をとりだし(ステップGO1O)、バンドメモリ
へのビットマッブ形式の描画処理を実行(ステップG030)
し、一つのディスプレーリスト内の全オブジェクトの描
画を終了した時点で、バンド描画終了のメッセージを宛
先を“描画処理スケジューラ”として、メッセージ送信
を実行し(ステップG040)、“タスク消滅”システムコー
ルを発行する(ステップG050)。こうして並列した描画処
理が進み、1べ一ジ分〈全バンド)の描画が終了すると、
“描画処理スケジューラ”は、その1ページの画像デー
タをプリンタエンジンへ転送するために、“画像転送処
理”タスクへ“画像転送開始”のメッセージを送信し、
次のページのディスプレーリストの作成に戻る(ステッ
プEO1O)。
【0024】“画像転送処理”タスク(図7)は、“描
画処理スケジューラ”からの“画像転送開始”のメッセ
ージを受信するとビットマップ画像の格納されているデ
ータを1バイトずつ読み(ステップF030)、その都度、パ
ラレル・シリアル変換LSIへデータ書き込みする(ステッ
プF040)ことを、lページの画像データ分繰り返す。
【0025】パラレル・シリアル変換LSIは、書き込まれ
たパラレルデータ(1バイト)をシリアルのラスタースキ
ャン・ビデオ信号に変換してプリンタエンジンへ転送
し、プリンタエンジンは、用紙への印刷を実行する。
【0026】以上のようにして、ホストデータから受信
されたデータが、SMP構成マイクロコンピュータ上で、
並列にバンド柚皿処地さオし、筒述に印刷されてゆく。
【0027】
【発明の効果】本発明によれば、SMP構成のマイコン装
置上で、画像描画処理が並列してもっとも高速に動作で
きる。
【図面の簡単な説明】
【図1】 本発明の一実施例である装置の模式図であ
る。
【図2】 ブート初期化プログラムのフローチャートで
ある。
【図3】 メインプログラムのフローチャートである。
【図4】 受信割り込み処理のフローチャートである。
【図5】 受信処理のフローチャートである。
【図6】 描画処理スケジューラのフローチャートであ
る。
【図7】 画像転送処理のフローチャートである。
【図8】 バンド描画処理のフローチャートである。
【符号の説明】
1…複数のCPU、2…複数のキャッシュメモリ、3…ブ
リッジ、4…メインメモリ、5…パラレル・シリアル変
換LSI、6…ホストインタフェイス部、7…ホストコン
ピュータ、8…プリンタエンジン、9…メインメモリ内
のプログラムコード領域、10…メインメモリ内のデー
タ領域、11…メモリマップドI/O領域、12…ブー
ト初期化プログラム(プログラムコード領域内)、13…
受信プログラム(プログラムコード領域内)、14…受信
割り込み処理プログラム〈プログラムコード領域内)、
15…メインプログラム(プログラムコード領域内)、1
6…描画処理スケジューラプログラム(プログラムコー
ド領域内)、17…バンド描画処理プログラム(プログラ
ムコード領域内)、18…SMPタスクスケジューラ〈プロ
グラムコード領域内)、19…画像転送処理プログラム
(プログラムコード領域内)、20…ディスプレーリスト
メモリ(データ領域内)、21…バンドメモリ(データ
領域内)。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 SMP構成のマイコン装置上で、1ページ分
    もしくは1画面分の画像デ一タを、メインメモリ上の複
    数の領域のバンドメモリに分割し、分割されたバンドメ
    モリのそれぞれに対して、画像の描画プログラム処理を
    複数のCPUにて並列に実行する制御手段を設けたことを
    特徴する印刷装置。
  2. 【請求項2】 複数のバンドメモリへの画像の描画処理
    について、1頁分の画像を構成する個々のバンドメモリ
    に対する描画処理時間を、バンド画像を構成する個々の
    オブジェクトの描画時間値を合計することにより、描画
    処理開始前に予想計算し、その予想した描画時間の大き
    いバンドから順番に、描画処理をCPUの実行に割り当て
    る処理スケジューリングを動的に実行する手段を設けた
    ことを特徴とする請求項1記載の印刷装置。
JP2000106005A 2000-04-07 2000-04-07 印刷装置 Pending JP2001287412A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000106005A JP2001287412A (ja) 2000-04-07 2000-04-07 印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000106005A JP2001287412A (ja) 2000-04-07 2000-04-07 印刷装置

Publications (1)

Publication Number Publication Date
JP2001287412A true JP2001287412A (ja) 2001-10-16

Family

ID=18619249

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000106005A Pending JP2001287412A (ja) 2000-04-07 2000-04-07 印刷装置

Country Status (1)

Country Link
JP (1) JP2001287412A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258186A (ja) * 2010-06-08 2011-12-22 Intel Corp 画像処理用のタイルレンダリング

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011258186A (ja) * 2010-06-08 2011-12-22 Intel Corp 画像処理用のタイルレンダリング

Similar Documents

Publication Publication Date Title
US5329615A (en) Concurrent general purpose and DMA processing in a graphics rendering processor
US9304897B2 (en) Image data producing apparatus, image forming apparatus and computer readable medium
KR100733852B1 (ko) 계산기 시스템
JP3252329B2 (ja) ページ映像描写装置
US7016984B2 (en) System controller using plural CPU's
JP2007079789A (ja) 計算機システム及びイベント処理方法
JP2007316859A (ja) マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
JP3007103B2 (ja) 印刷制御装置
WO2023201987A1 (zh) 请求处理方法、装置、设备及介质
JPH06149757A (ja) 並列処理装置
JP4014876B2 (ja) 多機能電子周辺カード
US5265203A (en) Hardware multiprocess scheduler in a graphics rendering processor
US6651116B1 (en) Output interface for a raster object memory in a method, system and program
US20070101330A1 (en) Data processing apparatus and method
JP5340058B2 (ja) 画像処理装置、その制御方法及びプログラム
JP2001287412A (ja) 印刷装置
JP2816184B2 (ja) 印刷制御装置
JP3756215B2 (ja) インタフェイスコントローラおよび方法
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
US20230106923A1 (en) Storage system
JP2965686B2 (ja) 印刷制御装置
US6906823B1 (en) Input interface for a raster object memory in a method, system and program
JP3447820B2 (ja) バスコントローラ
JP3506335B2 (ja) 制御方法
JPH11167468A (ja) データ転送装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20040312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040312