JPH0264728A - Page description language processor - Google Patents
Page description language processorInfo
- Publication number
- JPH0264728A JPH0264728A JP63217202A JP21720288A JPH0264728A JP H0264728 A JPH0264728 A JP H0264728A JP 63217202 A JP63217202 A JP 63217202A JP 21720288 A JP21720288 A JP 21720288A JP H0264728 A JPH0264728 A JP H0264728A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- page
- cpu
- main cpu
- 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
Links
- 230000015654 memory Effects 0.000 claims abstract description 156
- 238000012790 confirmation Methods 0.000 claims abstract 2
- 238000000034 method Methods 0.000 claims description 37
- 230000006870 function Effects 0.000 abstract description 33
- 238000010586 diagram Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 102100027371 Cysteine-rich PDZ-binding protein Human genes 0.000 description 1
- 101000726276 Homo sapiens Cysteine-rich PDZ-binding protein Proteins 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Landscapes
- Dot-Matrix Printers And Others (AREA)
- Laser Beam Printer (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はページ記述言語テキストを実行する複数CPU
構成のページ記述言語処理装置に関するものである。[Detailed Description of the Invention] [Industrial Application Field] The present invention is directed to a multi-CPU system that executes page description language text.
The present invention relates to a page description language processing device of the configuration.
LBP (レーザビームプリンター)の普及に伴い、ホ
ストコンピュータからプリンターのページメモリの制御
を行なうPo5t 5criptなどのページ記述言
語が普及してきている。代表的なページ記述言語pos
tscriptの仕様は(Adobe System
Inc、: Po5t 5cript Langu
age : RefenrenceManual、Ad
dison−Wesley、1985)、 (Ado
beSystem Inc、: Po5t 5cr
ipt Language :Tutorial
and Cookbook、Addison−Wes
ley。With the spread of LBPs (laser beam printers), page description languages such as Po5t5script, which allow a host computer to control the printer's page memory, have become popular. Typical page description language pos
The specifications of tscript are (Adobe System
Inc.: Po5t 5crypt Language
age: Reference Manual, Ad
dison-Wesley, 1985), (Ado
beSystem Inc.: Po5t 5cr
ipt Language:Tutorial
and Cookbook, Addison-Wes
ley.
1985)、 (ページ記述言語PDLI イース
ト株式会社発行)に詳述されている。1985), (Page Description Language PDLI, published by East Co., Ltd.).
従来は、ホストコンピュータから送られてきたページ記
述言語のテキスト列をプリンタ側のインタフェース上の
単一のマイクロプロセッサ−が逐次解釈し実行していた
。しかし、高速のプリンターが普及するとともにページ
記述言語のテキスト列をより高速に実行することが求め
られている。Conventionally, a single microprocessor on a printer interface sequentially interprets and executes a text string in a page description language sent from a host computer. However, as high-speed printers become more widespread, there is a demand for faster execution of text strings in page description languages.
代表的なページ記述言語であるPo5t 5crip
tはスタックに格納されたテキスト列を逐次インタブリ
ットして実行する形式である。テキスト列で表現される
関数(例えば関数paint−X方向に線分をか(1w
arc−円弧の円周を描(etc)は各々独立性が
高く、又多量の計算量を必要とするのはおもにページメ
モリデータを生成する関数(例えば関数gr cur
ve−曲線を描()であるので複数CPUにより各々の
ページメモリデータを生成する関数を並列に実行する事
により高速化をはかることができると考えられる。しか
しながら、単純に複数のCPUが並列に演算した結果を
ページメモリに書き込むと関数の本来の実行順が保証さ
れなくなり、生成されたページメモリデータが不正常な
ものとなるおそれがある。Po5t 5crip, a typical page description language
t is a format in which text strings stored in a stack are sequentially interprinted and executed. A function expressed as a text string (for example, the function paint-draws a line segment in the X direction (1w
arc - Drawing the circumference of an arc (etc) is highly independent, and the functions that require a large amount of calculation are mainly functions that generate page memory data (for example, the function gr cur
Since the ve-curve is drawn ( ), it is thought that speeding up can be achieved by executing functions for generating each page memory data in parallel by multiple CPUs. However, if the results of parallel calculations by multiple CPUs are simply written to the page memory, the original execution order of the functions is no longer guaranteed, and the generated page memory data may become incorrect.
以上の点に鑑み本発明は、複数のCPUの実行を管理す
るメインCPUと、ページメモリデータを生成する複数
のCPUと、複数のCPUの各々から送り出されるデー
タを保持するFIFO機能を有したメモリと、FIFO
機能を有したメモリからのデータをホストコンピュータ
からのテキスト列と同じ順序でページメモリに書き込む
手段、とによりページ記述言語の高速実行を実現するこ
とができるページ記述言語処理装置を提供することを目
的としている。In view of the above points, the present invention has a main CPU that manages the execution of multiple CPUs, multiple CPUs that generate page memory data, and a memory having a FIFO function that retains data sent out from each of the multiple CPUs. and FIFO
An object of the present invention is to provide a page description language processing device capable of realizing high-speed execution of a page description language by means of writing data from a functional memory to a page memory in the same order as a text string from a host computer. It is said that
以下実施例にそって本発明を詳述する。 The present invention will be described in detail below with reference to Examples.
第1図〜第14図は本発明の第一の実施例を示し、第1
図は本発明の特徴を最もよく表わす図面である。1 to 14 show a first embodiment of the present invention.
The drawings best represent the features of the present invention.
同図に於て101はホストコンピュータ(入力部)であ
り、ページ記述言語テキスト列を生成し送出する。10
2はページ記述言語実行部であり、ホストコンピュータ
からのテキスト列を解釈し実行する。In the figure, 101 is a host computer (input unit) that generates and sends out a page description language text string. 10
2 is a page description language execution unit that interprets and executes a text string from the host computer.
メインCPU103はマイクロプロセッサであり、サブ
CPUI−N、106〜107を制御し、またページメ
モリ114及びクリップメモリ111のデータを生成す
る関数以外の全ての関数の実行、及びループ制御、四則
演算を実行する。The main CPU 103 is a microprocessor that controls the sub-CPU I-N, 106 to 107, executes all functions except those for generating data in the page memory 114 and clip memory 111, performs loop control, and performs four arithmetic operations. do.
104〜105は共通メモリであり、メインCPU10
3とサブCPU106〜107のデータの受渡しの機能
をはたす。104 to 105 are common memories, and the main CPU 10
3 and the sub CPUs 106 to 107.
サブCPU106〜107はメインCPU103によっ
てコントロールされる複数のマイクロプロセッサであり
、ページメモリ114またはクリップメモリ111のデ
ータ生成を行なう関数を実行する。Sub CPUs 106 to 107 are a plurality of microprocessors controlled by main CPU 103 and execute functions for generating data in page memory 114 or clip memory 111.
FIFO−1108〜FIFO−N 109はFir
st−IN−First−OUT機能を有したバッファ
メモリであり、サブCPU106〜107のデータを、
CPU−z 110に受は渡す役割をはたす。FIFO-1108 to FIFO-N 109 are Fir
It is a buffer memory with a st-IN-First-OUT function, and stores the data of the sub CPUs 106 to 107.
The receiver plays the role of passing the data to the CPU-z 110.
CPU−zlloはマイクロプロセッサであり、FIF
O−1108〜FIFO−N 109より転送される
データをクリップメモリ111またはページメモリ11
4に転送する。CPU-zllo is a microprocessor and FIF
Data transferred from O-1108 to FIFO-N 109 is transferred to clip memory 111 or page memory 11.
Transfer to 4.
クリップメモリ111はクリッピングを行なうためのメ
モリで、ページメモリと画素対応したビットマツプメモ
リで構成され、クリップメモリ111の画素のビットが
1であれば対応するアドレスのページメモリへのデータ
書き込みは行なわれない。クリッピングメモリ111の
初期値は0である。The clip memory 111 is a memory for performing clipping, and is composed of a page memory and a bitmap memory corresponding to pixels. If the bit of a pixel in the clip memory 111 is 1, data is not written to the page memory at the corresponding address. do not have. The initial value of the clipping memory 111 is 0.
イメージ管理メモリ112は文字データを出力するため
のフォントメモリやグラフィックデータメモリが格納さ
れ、メインCPU103により生成管理される。The image management memory 112 stores font memory and graphic data memory for outputting character data, and is generated and managed by the main CPU 103.
ページメモリ114はプリントデータが格納されるメモ
リである。本実施例においてはページメモリ114は1
画素Lビットの多値メモリで構成される。Page memory 114 is a memory in which print data is stored. In this embodiment, the page memory 114 is 1
It is composed of a multilevel memory with L pixel bits.
共通メモリzl13は、メインCPU103とCPU−
zlloの共通メモリであり、CPU−zllOの動作
終了をメインCPU103が知るための同期メモリの役
割をはたす。The common memory zl13 is used by the main CPU 103 and the CPU-
This is a common memory for zllo, and serves as a synchronous memory for the main CPU 103 to know when the operation of CPU-zllo has ended.
プリンター本体部115は多値プリンターであり、メイ
ンCPU103により制御され、ページメモリ114の
データをプリントアウトする。The printer main unit 115 is a multivalue printer, and is controlled by the main CPU 103 to print out data in the page memory 114.
第2図は共通メモリ1 104〜共通メモリN 10
5の構成図である。FIG. 2 shows common memory 1 104 to common memory N 10.
FIG. 5 is a configuration diagram of No. 5.
同期フラグ201はメインCPU103とサブCPU1
06〜107と実行同期をとる役割をはたす。The synchronization flag 201 is the main CPU 103 and sub CPU 1
It plays the role of synchronizing execution with 06-107.
関数テキストエリア202はサブCPU106〜107
が実行する関数名及び引数が文字列で格納されるエリア
である。Function text area 202 is for sub CPUs 106 to 107
This is an area where the function name and arguments to be executed are stored as strings.
管理データエリア203は、関数テキストエリア202
で記述された関数を実行する際必要なデータ(例えばフ
ォントベクトル)が格納されるエリアでメインCPU1
03により設定される。The management data area 203 is the function text area 202.
Main CPU1
Set by 03.
第3図はメインCPU103とサブCPU106〜10
7の同期制御に関する状態遷移図である。同期フラグ2
01のオン・オフ、関数実行等の関係が記載されている
。Figure 3 shows the main CPU 103 and sub CPUs 106 to 10.
7 is a state transition diagram regarding synchronous control of No. 7. FIG. Synchronization flag 2
Relationships such as on/off of 01, function execution, etc. are described.
第4図は共通メモリzl 13の構成図で、同期フラグ
401により構成される。FIG. 4 is a configuration diagram of the common memory zl 13, which is configured by a synchronization flag 401.
第5図はメインCPU103のサブCPU106〜10
7の動作管理に関する処理流れ図である。Figure 5 shows sub CPUs 106 to 10 of the main CPU 103.
7 is a processing flowchart regarding operation management of No. 7; FIG.
5501でホストコンピュータ101より送られてきた
テキスト列が格納されているテキストスタックよりメイ
ンCPU 103はテキストを取り出す。テキストスタ
ックは、メインCPU103のメモリ上に構成されてい
る。At 5501, the main CPU 103 extracts text from the text stack in which the text string sent from the host computer 101 is stored. The text stack is configured on the memory of the main CPU 103.
5502でメインCPU103はテキストがページメモ
リデータまたはクリップメモリデータを生成するものか
(例えばPOSTSCRIPT言語の場合、gr c
urve : Bezier曲線を描(、s 1ni
tclip :クリップメモリを初期化するetc)そ
うでないかを判断しページメモリデータまたはクリップ
メモリデータを生成するものであれば処理5503を実
行し、そうでない場合は処理5504を実行する。In step 5502, the main CPU 103 determines whether the text is one that generates page memory data or clip memory data (for example, in the case of the POSTS CRIPT language, gr c
urve: Draw a Bezier curve (,s 1ni
tclip: initialize clip memory, etc.) It is determined whether this is the case, and if page memory data or clip memory data is to be generated, process 5503 is executed; otherwise, process 5504 is executed.
5504でメインCPU103はテキストがデバイス制
御テキストすなわちプリント実行テキスト(例えばPO
STSCRIPT言語 PC98版の場合devpag
eout) etcのプリンタ本体部115を制御する
テキストであれば処理5505を実行し、そうでなけれ
ば処理5506を実行する。In step 5504, the main CPU 103 determines whether the text is device control text, that is, print execution text (for example, PO
STSCRIPT language devpag for PC98 version
eout) etc., processing 5505 is executed, otherwise processing 5506 is executed.
5503の処理Bは第6図に示す処理を行なう。Process B of 5503 performs the process shown in FIG.
5505の処′理Cは第7図に示す処理を行なう。Process C of 5505 performs the process shown in FIG.
8506では前述5502及び5504で判定された関
数以外の処理をメインCPU103が実行する。At 8506, the main CPU 103 executes processing other than the functions determined at 5502 and 5504.
第6図はテキストがページメモリまたはクリップメモリ
生成のテキストの場合の処理流れ図である(第5図処理
5503)。FIG. 6 is a process flowchart when the text is page memory or clip memory generated text (process 5503 in FIG. 5).
5601でメインCPU103がいちばん最近処理要求
したサブCPUの番号を意味するカレントCPU・No
を1増やす。カレントCPU拳NoはメインCPU10
3内部に保持している変数値である。Current CPU No. 5601 means the number of the sub CPU that the main CPU 103 most recently requested processing.
Increase by 1. Current CPU number is main CPU10
3. This is a variable value held internally.
5602でカレントCPU−Noが、サブCPUの数N
を越えているか否かを判断し越えている場合は処理56
03を行なう。In 5602, the current CPU-No is the number N of sub CPUs.
Determine whether or not it exceeds the limit, and if it does, proceed to process 56.
Do 03.
5604で共通メモリ1 104〜共通メモリN 1
05のうちでカレントCPU−N0=nに対応する共通
メモリnの同期フラグ201がオンであるかオフである
かをチエツクし、オンであればオフになるまで上記処理
を繰り返し、オフであれば処理3605を行なう。5604, common memory 1 104 to common memory N 1
05, check whether the synchronization flag 201 of the common memory n corresponding to the current CPU-N0=n is on or off, and if it is on, repeat the above process until it becomes off, and if it is off, Process 3605 is performed.
5605でカレントCPU−N0=nに対応する共通メ
モリnに対して第2図に示した関数テキストエリア20
2及び管理データエリア203を設定する。At 5605, the function text area 20 shown in FIG. 2 is displayed for the common memory n corresponding to the current CPU-N0=n.
2 and management data area 203 are set.
8606で\カレントCPU−N0=nに対応する共通
メモリの同期フラグ201をオンにする。At 8606, the synchronization flag 201 of the common memory corresponding to \current CPU-N0=n is turned on.
第7図はホストコンピュータ101からのテキストがデ
バイス制御テキストの場合のメインCPU103の処理
流れ図である。FIG. 7 is a processing flowchart of the main CPU 103 when the text from the host computer 101 is device control text.
5701でメインCPU103は共通メモリ1 104
〜共通メモリN105の同期フラグがすべてオフか否か
を調べ1つでもオンであればS701の処理を繰り返す
。5701, main CPU 103 is common memory 1 104
~ Check whether all the synchronization flags in the common memory N105 are off or not. If even one is on, repeat the process of S701.
5702でメインCPU103はCPU−zlloの同
期フラグがオフか否かを調べ、オンであればS702の
処理を繰り返す。In 5702, the main CPU 103 checks whether the synchronization flag of CPU-zllo is off, and if it is on, repeats the process of S702.
上記5701.5702の処理を行なうことにより次の
8703の処理を行なう時点でデバイスコマンドテキス
トの実行を行なうまで存在した全てのページメモリ生成
の処理が終了していることが保証される。By carrying out the above processes 5701 and 5702, it is guaranteed that all the page memory generation processes that existed until the execution of the device command text have been completed by the time the next process 8703 is executed.
5703でメインCPU103はプリンタ本体部115
に対しプリント実行、プリンタ初期設定などのデバイス
コマンドを実行する。5703, the main CPU 103 is the printer main unit 115
Executes device commands such as printing and printer initial settings.
第8図はサブCPU106〜107の処理流れ図である
。FIG. 8 is a processing flowchart of the sub CPUs 106-107.
5801で共通メモリnの同期フラグ201がオンであ
るか否かをチエツクし、オンであれば次の8802の処
理を行なう。At 5801, it is checked whether the synchronization flag 201 of the common memory n is on, and if it is on, the next process at 8802 is performed.
5802で関数テキストエリア202を調べ、ページメ
モリデータを生成する関数であれば5803の処理を行
ない、クリップメモリデータを生成する関数であれば5
807の処理を行なう。Check the function text area 202 in 5802, and if the function generates page memory data, perform the process in 5803, and if the function generates clip memory data, perform the process in 5802.
807 processing is performed.
8803でページメモリデータを関数テキストエリア2
02及び管理データエリア203の内容に基づき生成す
る。8803 converts page memory data to function text area 2
02 and the contents of the management data area 203.
5804で8803の処理によりページメモリデータが
生成されたか否かを調べ、例えば何らかの関数テキスト
異常によりテキストデータが生成されなかった時は、8
06の処理を行ない、ページメモリデータが生成されて
いるときは5805の処理を行なう。In 5804, it is checked whether page memory data has been generated by the process in 8803. For example, if text data has not been generated due to some function text abnormality,
06 is performed, and if page memory data has been generated, processing 5805 is performed.
5805では、生成されたデータを第10図で示すデー
タ構造でFIFO−nに転送する。At 5805, the generated data is transferred to FIFO-n in the data structure shown in FIG.
5806で第9図に示すダミイコード901をFIFO
−nに転送する。5806, the dummy code 901 shown in FIG.
-Forward to n.
前記3804〜8806の処理により、例えば関数の誤
りによりページメモリデータが発生しない場合でも、F
IFO−Hにはデータを転送することが出来、CPU−
zllOがFIFO−nからのデータ転送まちで無限ル
ープに陥るのを防ぐことができる。Through the processing in steps 3804 to 8806, even if page memory data is not generated due to a function error, F
Data can be transferred to IFO-H, and CPU-
It is possible to prevent zllO from falling into an infinite loop while transferring data from FIFO-n.
5807でクリップメモリデータを関数テキストエリア
202及び管理データエリア203の内容に基づき生成
する。At 5807, clip memory data is generated based on the contents of the function text area 202 and the management data area 203.
8808で8807の処理によりクリップメモリデータ
が生成されているか否かをチエツクし、クリップメモリ
データが生成されていれば5809の処理を行ない、ク
リップメモリデータが生成されていなければ810の処
理を行なう。In 8808, it is checked whether or not clip memory data has been generated by the process in 8807. If clip memory data has been generated, the process in 5809 is performed, and if no clip memory data has been generated, the process in 810 is performed.
5811で共通メモリnの同期フラグをオフにする。At 5811, the synchronization flag of common memory n is turned off.
第9図は、サブCPU106〜107がFIF0108
〜109に転送するダミイコードのデータ形成でありオ
ールOが格納される。CPU−zlloはグミイコード
901が出現すると、該当FIFOメモリに対するデー
タを取り出し、処理を終了し次のFIFOメモリに対す
るアクセスを行なう。In FIG. 9, sub CPUs 106 to 107 are FIF0108
This is the data formation of the dummy code to be transferred to 109, and all O's are stored. When the gummy code 901 appears, the CPU-zllo takes out the data for the corresponding FIFO memory, ends the process, and accesses the next FIFO memory.
第10図は、サブCPU106〜107がPIF010
8〜109に転送するページメモリデータのデータ形成
であり、識別子1001には1(16進)が格納される
。In FIG. 10, sub CPUs 106 to 107 are PIF010
This is data formation of page memory data to be transferred to pages 8 to 109, and 1 (hexadecimal) is stored in the identifier 1001.
1002はページメモリ114のXアドレスを示し、1
003はページメモリ114のYアドレスを示す。10
04はページメモリデータである。本実施例においては
ページメモリ114は多値メモリであり、それに対応し
1004はLビットの多値データが格納される。1002 indicates the X address of the page memory 114, and 1
003 indicates the Y address of the page memory 114. 10
04 is page memory data. In this embodiment, the page memory 114 is a multi-value memory, and correspondingly, the page memory 1004 stores L-bit multi-value data.
第11図はFIFOメモリの中を流れるクリップメモリ
のデータ形式であり、識別子1001には2(16進)
が格納される。Figure 11 shows the data format of the clip memory flowing in the FIFO memory, and the identifier 1001 is 2 (hexadecimal).
is stored.
第12図、第13図は、それぞれページメモリ、クリッ
プメモリのx、 y座標プリント方向を示す図である。FIGS. 12 and 13 are diagrams showing the x and y coordinate printing directions of the page memory and clip memory, respectively.
第14図はCPU−zlloの処理に関する流れ図であ
る。FIG. 14 is a flowchart regarding the processing of CPU-zllo.
51401”QCPU−zllOは、CPU内部に保持
している変数:カレントFIFON0=nが示すFIF
O−nに対しデータを読み取る。FIFO−nにデータ
が存在しているときは1402の処理を行ない、データ
が存在していないときは51411の処理を行なう。51401"QCPU-zllO is a variable held inside the CPU: FIF indicated by current FIFON0=n
Read data for O-n. When data exists in FIFO-n, processing 1402 is performed, and when data does not exist, processing 51411 is performed.
51411で共通メモリz1513の同期フラグ401
をオフにする。Synchronization flag 401 of common memory z1513 at 51411
Turn off.
51402でFIFO−nより受は取ったデータがダミ
イコード901と合致するか否かを調べ合致すれば31
408の処理を行ない、合致しなければ51403の処
理を行なう。51402 checks whether the data received from FIFO-n matches the dummy code 901 and if it matches, returns 31.
The process of 408 is performed, and if there is no match, the process of 51403 is performed.
51403で共通メモリz1513の同期フラグ401
をオンにする。Synchronization flag 401 of common memory z1513 in 51403
Turn on.
51404で第10図および第11図で示した識別子の
値に基づきFIFO−nより受は取ったデータがページ
メモリか否かを調べ、ページメモリデータであれば51
405の処理を行ない、クリップメモリデータであれば
51407の処理を行なう。At 51404, it is checked whether the data received from FIFO-n is page memory based on the value of the identifier shown in FIGS. 10 and 11, and if it is page memory data, 51
The process of 405 is performed, and if it is clip memory data, the process of 51407 is performed.
51405で、該当するページメモリデータのX。51405, X of the corresponding page memory data.
Yアドレスに対応するクリップメモリデータがオンかオ
フかを調べ、オフであれば51406の処理を行ない、
オンであれば51401の処理に戻る。Check whether the clip memory data corresponding to the Y address is on or off, and if it is off, perform the process 51406,
If it is on, the process returns to step 51401.
51406でx、Yアドレスに対応してページメモリデ
ータを書き込む。At 51406, page memory data is written corresponding to the x and Y addresses.
51407で受は取ったx9Yアドレスに対応してクリ
ップメモリにデータを書き込む。At 51407, the receiver writes data to the clip memory corresponding to the received x9Y address.
前述第14図の説明で明らかなようにCPU−zll。As is clear from the explanation of FIG. 14 above, the CPU-zll.
は比較的単純なロジックを高速に実行することが必要で
ある。従ってマイクロプログラム可能な高速プロセッサ
又は中央演算装置とROMメモリと高速キャッシュRA
Mが一体となうた、いわゆる1チツププロセツサが望ま
しい。requires relatively simple logic to be executed quickly. Therefore, a microprogrammable high speed processor or central processing unit, ROM memory and high speed cache RA
A so-called one-chip processor in which M is integrated is desirable.
一方メインCPU103は数多(の関数を実行し又フォ
ントデータ等が含まれるイメージ管理メモリ112の大
容量メモリを管理する必要があり、68020(モトロ
ーラ社製)等のいわゆる32ビツトマイクロプロセツサ
が望ましい。On the other hand, the main CPU 103 is required to execute a large number of functions and to manage a large capacity memory such as the image management memory 112 that contains font data, etc., so a so-called 32-bit microprocessor such as 68020 (manufactured by Motorola) is preferable. .
第15図〜第17図は本発明の第2の実施例に関わるも
のである。15 to 17 relate to the second embodiment of the present invention.
第1の実施例に於いては第6図604に於いて示すよう
にサブCPU−nが関数実行中は実行終了まで待たなけ
ればならなかった。In the first embodiment, as shown in FIG. 6 604, when the sub CPU-n was executing a function, it had to wait until the execution was completed.
第2の実施例に於いては、メインCPU103に接続す
るFIFOメモリを設け、CPU−zllOにデータ転
送することにより、関数実行を要求するサブCPUが動
作実行中である場合、メインCPU103が、当該関数
を実行するものである。それにより、メインCPU10
3を有効に使用する事が出来、装置全体の処理並列度を
上げることが出来る。In the second embodiment, by providing a FIFO memory connected to the main CPU 103 and transferring data to the CPU-zllO, when a sub CPU requesting function execution is in execution, the main CPU 103 It executes a function. As a result, the main CPU10
3 can be used effectively, and the processing parallelism of the entire device can be increased.
第15図は第2の実施例に関するブロック図であり、F
IFO−x1506はメインCPU1513からCPU
−z1510にデータを転送するFIFOメモリである
。FIG. 15 is a block diagram regarding the second embodiment, and
IFO-x1506 is a CPU from main CPU1513
- It is a FIFO memory that transfers data to the z1510.
第16図はメインCPU1503の第2の実施例に関す
る処理流れ図であり、第1の実施例の第6図604に対
応するものである。メインCPU1503あ他の処理は
、第1の実施例と同じである。FIG. 16 is a processing flowchart of the second embodiment of the main CPU 1503, and corresponds to FIG. 6 604 of the first embodiment. The main CPU 1503 and other processing are the same as in the first embodiment.
第17図はCPU−z1510の第2の実施例に関する
処理流れ図である。FIG. 17 is a processing flowchart regarding the second embodiment of the CPU-z1510.
まず51701で、カレントFIFO−nにデータが有
か否かを判定し、無ければ51702で共通メモリ2の
同期フラグ401をオフにする。次に31703でカレ
ントFIFO−nのデータがダミイコードか否かを判定
する。NOであれば、51704に進み、共通メモリ2
の同期フラグ401をオンにしく51704)、データ
がページメモリデータか否かを判定する(S1705)
。First, in step 51701, it is determined whether or not there is data in the current FIFO-n, and if there is not, in step 51702, the synchronization flag 401 of the common memory 2 is turned off. Next, in step 31703, it is determined whether the data in the current FIFO-n is a dummy code. If NO, proceed to 51704, and common memory 2
51704), and determines whether the data is page memory data (S1705).
.
NOであれば51706に進み、クリップメモリの書き
込みを行い、51701へ戻る。If NO, the process advances to 51706, writes to the clip memory, and returns to 51701.
又、51705でYesであった場合は51707に進
み、対応するクリップメモリがオンであるか否かを判定
しく51707)、Noであれば51708へ進み、デ
ータをページメモリに書き込み、Yesであれば517
01に戻る。Also, if Yes in 51705, proceed to 51707 to determine whether the corresponding clip memory is on (51707); if No, proceed to 51708 to write the data to the page memory; if Yes, proceed to 51707). 517
Return to 01.
51703でYesであった場合、つまりカレントFI
FO−nに格納されたデータがダミイコードであった場
合、S 1709でカレントPIFONOを1増やす。If 51703 is Yes, that is, the current FI
If the data stored in FO-n is a dummy code, the current PIFONO is increased by 1 in S1709.
次に51710でカレントPIFONoがNより大きい
か否かを判定する。NOであれば51712に進み、Y
esであれば51711に進み、カレントPIFON。Next, in 51710, it is determined whether the current PIFONo is greater than N. If NO, proceed to 51712, Y
If it is es, proceed to 51711 and select the current PIFON.
=1とする。次に81712に進む。51712では、
FIFO−x 1516にデータが有るかどうかを判定
している。=1. Next, proceed to 81712. In 51712,
It is determined whether there is data in FIFO-x 1516.
Yesであれば51713でFIFO−x1516に格
納されたデータがダミイコードか否かを判定する。Ye
sであれば51701に戻る。NOであれば51714
に進み、共通メモリ2の同期フラグ401をオンにし、
51715でデータがページメモリか否かを判定し、N
Oであれば31716でクリップメモリに書き込み、5
1712に戻り、Yesであれば51717で対応する
クリップメモリをオンし、51718でページメモリに
データを書き込み、51712に戻る。If Yes, it is determined in step 51713 whether the data stored in FIFO-x 1516 is a dummy code. Yes
If it is s, the process returns to 51701. If NO, 51714
Go to , turn on the synchronization flag 401 of common memory 2,
51715 determines whether the data is page memory or not, and N
If O, write to clip memory with 31716, 5
Returning to 1712, if Yes, turning on the corresponding clip memory at 51717, writing data to the page memory at 51718, and returning to 51712.
第18図は、本発明の第3の実施例に関わるものである
。FIG. 18 relates to a third embodiment of the present invention.
前述第1の実施例に於いては、ページメモリはページ記
述言語実行部102からのみ書き込まれたが、本実施例
に於いてはイメージスキャナ1801から読みとられた
データがページメモリ1802に格納され、イメージス
キャナのデータが格納されたページメモリ1802に、
ページ記述言語実行部1803からページメモリ180
2にデータが書き込まれる。これにより例えばイメージ
スキャナ1801から写真などの階調面を読み込みペー
ジ記述言語実行部1803から説明文を書き込んで、合
成された画像をプリントアウトする事が出来る。In the first embodiment described above, data was written to the page memory only from the page description language execution unit 102, but in this embodiment, data read from the image scanner 1801 is stored in the page memory 1802. , in the page memory 1802 in which image scanner data is stored,
From the page description language execution unit 1803 to the page memory 180
Data is written to 2. With this, for example, it is possible to read a gradation surface of a photograph or the like from the image scanner 1801, write an explanatory text from the page description language execution unit 1803, and print out the combined image.
以上説明した様に、複数CPUの実行を管理するメイン
CPUと、ページメモリデータを生成する複数CPUと
、複数CPUから送り出されるデータを保持するバッフ
ァメモリと、バッファメモリのデータを、ページ記述言
語のテキスト列の順序と同じ順序でページメモリに書き
込む手段とにより、高速にページ記述言語テキストを実
行する事ができる。As explained above, there is a main CPU that manages the execution of multiple CPUs, multiple CPUs that generate page memory data, a buffer memory that holds data sent out from multiple CPUs, and a page description language that stores the data in the buffer memory. By writing the page description language text into the page memory in the same order as the text string, it is possible to execute the page description language text at high speed.
又、メインCPUから制御されるサブCPUが関数実行
時、メモリ書き込みデータが発生しなかった場合、グミ
イコードを発生させる事により、メモリへデータ書き込
みを行うプロセッサが無限ループに陥る事を防ぐ事がで
きる。In addition, when the sub CPU controlled by the main CPU executes a function, if memory write data is not generated, it is possible to prevent the processor that writes data to memory from falling into an infinite loop by generating gummy code. .
又、メインCPUから制御されるサブCPUが、メイン
CPUが動作要求をしようとした時に、関数実行中であ
る場合、当該関数をメインCPUが演算する手段を設け
る事により、装置の並列処理度があがり能力を向上させ
る事ができる。Furthermore, if a sub-CPU controlled by the main CPU is executing a function when the main CPU attempts to make an operation request, by providing a means for the main CPU to calculate the function, the degree of parallel processing of the device can be increased. You can improve your climbing ability.
又、プリント実行、イメージスキャナデータ読み取りな
ど、デバイス制御を実行する際、メインCPUにより制
御されるサブCPUの生成したデータ全てが、ページメ
モリ又はクリップメモリに書きこまれた事を、メインC
PUが確認する手段を設ける事により、デバイス制御の
正常な実行を保証する事ができる。Also, when executing device control such as printing or reading image scanner data, the main CPU confirms that all data generated by the sub CPU controlled by the main CPU has been written to the page memory or clip memory.
By providing a means for the PU to confirm, normal execution of device control can be guaranteed.
又、サブCPUが発生するデータをバッファメモリを介
して、ページメモリ、又はクリップメモリに書き込む動
作を、バッファメモリに接続されたマイクロプロセッサ
が実行する事により、きわめて簡便かつ高速にクリッピ
ングが実現できる。Furthermore, by having a microprocessor connected to the buffer memory write the data generated by the sub-CPU into the page memory or clip memory via the buffer memory, clipping can be achieved very simply and at high speed.
第1図は、第1の実施例のブロック図。
第2図は、共通メモリ1104〜共通メモリN105の
構成図。
第3図は、メインCPU103とサブCPU106〜1
07の同期制御に関する状態遷移図。
第4図は、共通メモリzl13の構成図。
第5図は、メインCPU103のサブCPU106〜1
07の動作管理に関する処理流れ図。
第6図は、テキストがページメモリ又はクリップメモリ
生成のテキストの場合の処理流れ図。
第7図は、ホストコンピュータ101からのテキストが
デバイス制御テキストの場合のメインCPU103の処
理流れ図。
第8図は、サブCPU106〜107の処理流れ図であ
る。
第9図は、サブCPU106〜107がFIF0108
〜109に転送するグミイコードのデータ形式。
第10図は、サブCPU−106〜107がPIF01
08〜109に転送するページメモリのデータ形式。
第11図は、FIFOメモリの中を流れるクリップメモ
リのデータ形式。
第12図は、ページメモリのx、y座標。
第13図は、クリップメモリのx、 y座標。
第14図は、CPU−zllOの処理に関する流れ図。
第15図〜第17図は、第2の実施例に関する処理流れ
図。
第18図は、第3の実施例に関する処理流れ図。
102・・・・・・・・・・・・・・・・川・・・曲ペ
ージ記述言語実行部103・・・・・・・・・・・・・
・・・・・・・・・・・・メインCPU106〜107
・・・・・・・・・・・・サブCPUIO3〜lO9・
曲曲曲サブCPU106〜107(7)データをCPU
z−110に転送する
FIFOメモリ
110・・・・・ ・ ・・・・マイクロプロセッサ
111・・・・・・・・・・・・・・・・・・・・・・
・・・・クリップメモリ112・・・・・・・・・・・
・・・・・・間・・・・・イメージ管理メモリ113
・・・・・・・・・・・・・・・・・・・・・・・・・
・114 ・・・・・・・・・・・・・・・・・・・
・・・・・・・1501 ・・・・・・・・・・・・
・・・・・・・・・・・1502 ・・・・・・・・・
・・・・・・・・・・・・・・1503 ・・・・・・
・・・・・・・・・・・・・・・・1504〜1505
・・・・・・・
1506〜1507 ・・・・・・
1510 ・・・・・・・・・・・・・・・・・・・
・・・・1513 ・・・・・・・・・・・・・・・
・・・・・・・・CPU−zlloと
メインCPU103の共通メモリ
ページメモリ
ホストコンピュータ
ページ記述言語実行部
メインCPU
共通メモリ
サブCPU
マイクロプロセッサ
CPU−z1510と
メインCPUI 503の共通メモリ
ページメモリ
イメージスキャナ
ページメモリ
ページ記述言語実行部
躬2図
力9図
力10図
男j1図
モ
図FIG. 1 is a block diagram of the first embodiment. FIG. 2 is a configuration diagram of common memory 1104 to common memory N105. Figure 3 shows the main CPU 103 and sub CPUs 106 to 1.
The state transition diagram regarding the synchronous control of 07. FIG. 4 is a configuration diagram of the common memory zl13. FIG. 5 shows the sub CPUs 106 to 1 of the main CPU 103.
2 is a processing flowchart regarding operation management of No. 07. FIG. 6 is a process flowchart when the text is page memory or clip memory generated text. FIG. 7 is a processing flowchart of the main CPU 103 when the text from the host computer 101 is device control text. FIG. 8 is a processing flowchart of the sub CPUs 106-107. In FIG. 9, sub CPUs 106 to 107 are FIF0108
~ Data format of Gummy code to be transferred to 109. In Figure 10, sub CPU-106 to 107 are PIF01
Data format of page memory to be transferred from 08 to 109. FIG. 11 shows the data format of the clip memory flowing in the FIFO memory. FIG. 12 shows the x and y coordinates of page memory. Figure 13 shows the x and y coordinates of the clip memory. FIG. 14 is a flowchart regarding the processing of CPU-zllO. FIG. 15 to FIG. 17 are process flowcharts regarding the second embodiment. FIG. 18 is a processing flowchart regarding the third embodiment. 102・・・・・・・・・・・・・・・・・・・・・ Song page description language execution unit 103・・・・・・・・・・・・・・・
・・・・・・・・・・・・Main CPU106~107
・・・・・・・・・・・・Sub CPUIO3~lO9・
Song song sub CPU106~107 (7) data to CPU
FIFO memory 110 to be transferred to Z-110 ・ ・ ・ Microprocessor 111 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・
...Clip memory 112...
...Pause... Image management memory 113
・・・・・・・・・・・・・・・・・・・・・・・・
・114 ・・・・・・・・・・・・・・・・・・
・・・・・・・・・1501 ・・・・・・・・・・・・
・・・・・・・・・・・・1502 ・・・・・・・・・
・・・・・・・・・・・・・・・1503 ・・・・・・
・・・・・・・・・・・・・・・1504~1505
・・・・・・ 1506~1507 ・・・・・・ 1510 ・・・・・・・・・・・・・・・・・・
・・・1513 ・・・・・・・・・・・・・・・
......Common memory page memory between CPU-zllo and main CPU 103 Host computer Page description language execution unit Main CPU Common memory sub-CPU Common memory page memory between microprocessor CPU-z1510 and main CPU 503 Image scanner page memory Page Description Language Execution Department 躬 2 图力 9 强 10 图 MAN j 1 图Mo 图
Claims (4)
理する装置であって、テキストを解釈するメインCPU
と、メインCPUにより制御される複数のサブCPUと
、サブCPUにより生成されるページメモリデータを保
持するバッファメモリとを持ち、テキスト列の順序と同
じ順序になる様、ページメモリにバッファメモリのデー
タを転送する手段を持つページ記述言語処理装置。(1) A main CPU that is a device that processes text expressed in a page description language and that interprets the text.
It has multiple sub-CPUs controlled by the main CPU, and a buffer memory that holds page memory data generated by the sub-CPUs, and the buffer memory data is stored in the page memory in the same order as the text string. A page description language processing device having a means for transferring.
点で、当該サブCPUがデータ生成中である場合、メイ
ンCPUが当該処理を実行することを特徴とする特許請
求の範囲第1項記載のページ記述言語処理装置。(2) The page according to claim 1, wherein if the sub CPU is generating data at the time when the main CPU requests the sub CPU to process, the main CPU executes the process. Descriptive language processing device.
ータ又はクリップメモリデータが発生しなかった場合、
ダミイコードを発生させる手段を持つ、特許請求の範囲
第1項記載のページ記述言語処理装置。(3) If page memory data or clip memory data is not generated when the sub CPU generates data,
A page description language processing device according to claim 1, comprising means for generating a dummy code.
てのページメモリデータ又はクリップメモリデータがペ
ージメモリ又はクリップメモリに転送された事をメイン
CPUが確認し、前記確認動作を行なった後に、メイン
CPUがデバイス制御コマンドを実行することを特徴と
する特許請求の範囲第1項記載のページ記述言語処理装
置。(4) After the main CPU confirms that all page memory data or clip memory data generated by the sub CPU or main CPU has been transferred to the page memory or clip memory, and after performing the above confirmation operation, the main CPU 2. A page description language processing device according to claim 1, wherein the page description language processing device executes a device control command.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63217202A JPH0264728A (en) | 1988-08-30 | 1988-08-30 | Page description language processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP63217202A JPH0264728A (en) | 1988-08-30 | 1988-08-30 | Page description language processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0264728A true JPH0264728A (en) | 1990-03-05 |
Family
ID=16700465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP63217202A Pending JPH0264728A (en) | 1988-08-30 | 1988-08-30 | Page description language processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0264728A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410641A (en) * | 1991-10-23 | 1995-04-25 | Seiko Epson Corporation | Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing |
US5461705A (en) * | 1991-10-23 | 1995-10-24 | Seiko Epson Corporation | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application |
US5537517A (en) * | 1991-10-23 | 1996-07-16 | Seiko Epson Corporation | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application |
US5592595A (en) * | 1991-12-30 | 1997-01-07 | Seiko Epson Corporation | Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing |
-
1988
- 1988-08-30 JP JP63217202A patent/JPH0264728A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410641A (en) * | 1991-10-23 | 1995-04-25 | Seiko Epson Corporation | Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing |
US5461705A (en) * | 1991-10-23 | 1995-10-24 | Seiko Epson Corporation | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application |
US5537517A (en) * | 1991-10-23 | 1996-07-16 | Seiko Epson Corporation | Information processing device in an electronic apparatus utilizing an accessory control device and methods of application |
US5592595A (en) * | 1991-12-30 | 1997-01-07 | Seiko Epson Corporation | Intelligent cartridge for attachment to a printer to perform image processing tasks in a combination image processing system and method of image processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2614252B2 (en) | Image synthesis device | |
US5237655A (en) | Raster image processor for all points addressable printer | |
JP3209102B2 (en) | Print system, printer driver and printer | |
JP2911470B2 (en) | Character processing apparatus and method | |
US6216197B1 (en) | Method and apparatus for extending printer memory using a network file system | |
JPH0263763A (en) | Printing apparatus | |
JPH0264728A (en) | Page description language processor | |
JP3563891B2 (en) | Character generation method and device | |
JP2974322B2 (en) | Character processing apparatus and method | |
JP4914318B2 (en) | Image processing apparatus, image processing system, image processing method, program, and recording medium | |
JP2004038527A (en) | Printer driver, printing control method, computer-readable storage medium, and program | |
US20040257371A1 (en) | Pipelined architecture for high speed raster image processor | |
JP3864520B2 (en) | Print processing apparatus and print processing method | |
JPH0997141A (en) | Terminal emulator printing method for windows | |
JPS59201870A (en) | Printer | |
US6014149A (en) | Character pattern generator | |
JP2523213B2 (en) | Page printer print control method | |
JP2002287921A (en) | Image output system | |
JPS5941054A (en) | Method for controlling page printer | |
JPH1016298A (en) | Information processor and processing method, printer and printing method, information processing system and memory medium | |
JP3651214B2 (en) | Print processing apparatus and print processing method | |
JPH0230557A (en) | Printer | |
JPS60178528A (en) | Buffer control system | |
JP2004274553A (en) | Image processing apparatus, image processing method and program, and storage medium | |
JPH02108567A (en) | Printer controller and its data transfer method |