Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4618112B2 - マルチプロセッサシステム - Google Patents
[go: Go Back, main page]

JP4618112B2 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JP4618112B2
JP4618112B2 JP2005334291A JP2005334291A JP4618112B2 JP 4618112 B2 JP4618112 B2 JP 4618112B2 JP 2005334291 A JP2005334291 A JP 2005334291A JP 2005334291 A JP2005334291 A JP 2005334291A JP 4618112 B2 JP4618112 B2 JP 4618112B2
Authority
JP
Japan
Prior art keywords
processing
processor
image
executed
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005334291A
Other languages
English (en)
Other versions
JP2007140935A (ja
Inventor
誠 小柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2005334291A priority Critical patent/JP4618112B2/ja
Publication of JP2007140935A publication Critical patent/JP2007140935A/ja
Application granted granted Critical
Publication of JP4618112B2 publication Critical patent/JP4618112B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、複数のプロセッサを備えるマルチプロセッサシステムに関する。
高速なデータ処理を行うために、複数のプロセッサを備え、各プロセッサが分担して種々の処理を実行するマルチプロセッサシステムが考えられている(例えば、特許文献1〜3参照)。
特開2004−199149号公報 特開2002−175288号公報 特開2001−125875号公報
しかし、従来のマルチプロセッサシステムでは、通常、あるプロセッサで動作している第1の処理機能が他のプロセッサで動作する第2の処理機能に対して、その処理の実行を要求した場合において、第2の処理機能は、要求された処理の実行を完了してその応答を返すまで、他の要求を実行することができない。このため、第1の処理機能は、第2の処理機能に対して次の要求を行うことができず、第2の処理機能が実行している処理が完了するまで、待たなければならないことになる。なお、第2の処理機能が複数の要求をあらかじめ受け付けることができるようにすることも可能である。しかしながら、この場合であっても、第2の処理機能は受け付けた複数の要求に対する処理を、順番に実行することになるため、後で発生した要求が先に発生した要求よりも先に処理されることはなく、実質的には、第1の処理機能が第2の処理機能に対して次の要求を行うことができない場合と、同様である。
従って、第2の処理機能への要求をキャンセルしたい場合であっても、そのキャンセル要求は、第1の処理機能から第2の処理機能への処理の要求として、第2の処理機能に伝えられることになるため、即座にキャンセルすることはできず、第2の処理機能に対して要求した処理の完了を待たなければならないことになる。この場合、以下で説明するような場合に不便である。
例えば、マルチプロセッサシステムを用いて印刷制御を実行する場合において、選択した画像を印刷媒体上にレイアウトして、そのレイアウト結果を確認した上で印刷を実行する場合を考える。
前提として、マルチプロセッサシステムのうちの、メインのプロセッサは、選択した画像を画面上に表示される印刷媒体上の対応する位置に表示するために種々の画像処理を制御する画像処理機能として動作するものとする。また、マルチプロセッサシステムのうちの、あるサブのプロセッサは、選択した画像を表す画像データを、例えばJPEG形式の画像データのように圧縮されて保存されている画像ファイルから読み出して展開する処理を、画像処理機能からの指示を受けて分担して実行するデコード処理機能として動作するものとする。
この場合において、ユーザが、ある画像を選択して印刷媒体上にレイアウトし、そのレイアウト結果の表示を指示すると、メインのプロセッサの画像処理機能は、サブのプロセッサのデコード処理機能に対してデコード処理を要求する。サブのプロセッサのデコード処理機能は、要求されたデコード処理の実行を開始する。
ここで、デコード処理の実行中に、ユーザが画像を変更したい場合がある。例えば、選択した画像が間違っていたため、正しい画像に変更したい場合がある。また、通常、表示する画像のサイズが大きい場合には、バンドと呼ばれるブロック単位で処理を実行し、実行されたブロックごとに画像を順に表示するため、一部の画像が表示された段階で表示を中止したい場合もある。このような場合には、サブのプロセッサのデコード処理機能に対して指示された要求に対する処理が即座に中止可能であることが好ましい。
しかしながら、上述したように、従来のマルチプロセッサシステムの場合には、既にデコード処理機能に対して要求された処理が完了するまで、画像処理機能からデコード処理機能に対してキャンセルの要求を行うことができないことになるため、仮に、メインのプロセッサの画像処理機能により、次の画像の選択が可能であったとしても、サブのプロセッサのデコード処理機能によって、次に選択した画像を表す画像データのデコード処理を開始することができないことになる。この結果、キャンセル処理の待ち時間が長くなり、次に選択した画像を表示するまでの時間が長くなってしまうため、ユーザはストレスを感じる場合もある。
そこで、本発明は、上述の課題を解決するためになされたものであり、高速なキャンセル処理を可能とするマルチプロセッサシステムを提供することを目的とする。
上述の課題の少なくとも一部を解決するために、本発明の態様は、
複数のプロセッサを備えるマルチプロセッサシステムであって、
前記複数のプロセッサのうちの第1のプロセッサと少なくとも1つの第2のプロセッサとの間に、
前記第1のプロセッサから前記第2のプロセッサへ第1の処理要求信号を伝送するとともに、前記第2のプロセッサから前記第1のプロセッサへ前記第1の処理要求に対する第1の処理応答信号を伝送する、ために設けられた第1の通信経路と、
前記第1の処理要求に従って前記第2のプロセッサで実行される処理の中止を示す第1の割り込み信号を伝送するために設けられた専用の第1の割り込み信号経路と、を備えており、
前記第1のプロセッサは、前記第2のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、前記第2のプロセッサに対して、前記第1の割り込み信号を、前記第1の割り込み信号経路を介して送信し、
前記第2のプロセッサは、前記第1の割り込み信号を受信した場合において、前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第1の処理応答信号を、前記第1の通信経路を介して送信する、
ことを特徴とする。
上記構成のマルチプロセッサシステムによれば、第1のプロセッサは、第2のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、第2のプロセッサに対して専用の第1の割り込み信号経路を介して、第1の割り込み信号を伝送することができる。そして、第2のプロセッサは、第1の割り込み信号を受信すると、第1の処理要求に従って実行されている実行中の処理を中止して、実行中の処理の終了を示す第1の処理応答信号を、第1の通信経路を介して送信することができる。これにより、高速なキャンセル処理を実現することが可能である。
なお、前記第2のプロセッサは、前記第1のプロセッサから前記第2のプロセッサに対して、複数の前記第1の処理要求が発生している状態で、前記第1の割り込み信号を受信した場合には、第1番目の前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す第1番目の前記第1の処理応答信号を、前記第1の通信経路を介して送信するとともに、第2番目以降の前記第1の処理要求に従って実行すべき未実行の処理を破棄して、前記実行すべき処理を未処理で終了したことを示す第2番目以降の前記第1の処理応答信号を、前記第1の通信経路を介して送信する、ことが好ましい。
上記のようにすれば、複数の第1の処理要求が発生している状態で、第1の割り込み信号を受信すると、それぞれの第1の処理要求に対する第1の処理応答を第1の通信経路を介して送信することができ、複数の第1の処理要求が発生している場合においても高速なキャンセル処理を実現することが可能である。
また、上記マルチプロセッサシステムは、さらに、
前記複数のプロセッサのうちの前記第2のプロセッサと少なくとも1つの第3のプロセッサとの間に、
前記第2のプロセッサから前記第3のプロセッサへ第2の処理要求信号を伝送するとともに、前記第3のプロセッサから前記第2のプロセッサへ前記第2の処理要求に対する第2の処理応答信号を伝送する、ために設けられた第2の通信経路と、
前記第2の処理要求に従って前記第3のプロセッサで実行される処理の中止を示す第2の割り込み信号を伝送するために設けられた専用の第2の割り込み信号経路と、を備えており、
前記第1のプロセッサは、前記第2のプロセッサおよび第3のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、前記第2のプロセッサに対して、前記第1の割り込み信号を、前記第1の割り込み信号経路を介して送信するとともに、前記第3のプロセッサに対して、前記第2の割り込み信号を、前記第2の割り込み信号経路を介して送信し、
前記第3のプロセッサは、前記第2の割り込み信号を受信した場合において、前記第2の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第2の処理応答信号を、前記第2の通信経路を介して送信し、
前記第2のプロセッサは、前記第1の割り込み信号を受信した場合において、前記第3のプロセッサから前記第2の処理応答信号を受信すると、前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第1の処理応答信号を、前記第1の通信経路を介して送信する、
ことが好ましい。
上記構成のマルチプロセッサシステムによれば、第1のプロセッサは、第2のプロセッサおよび第3のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、第2のプロセッサに対して専用の第1の割り込み信号経路を介して第1の割り込み信号を伝送し、第3のプロセッサに対して専用の第2の割り込み信号経路を介して第2の割り込み信号を伝送することができる。そして、第3のプロセッサは、第2の割り込み信号を受信すると、第2の処理要求に従って実行されている実行中の処理を中止して、実行中の処理の終了を示す第2の処理応答信号を、第2の通信経路を介して送信し、第2のプロセッサは、第1の割り込み信号を受信し、第3のプロセッサから第2の処理応答信号を受信すると、第1の処理要求に従って実行されている実行中の処理を中止して、実行中の処理の終了を示す第1の処理応答信号を、第1の通信経路を介して送信することができる。これにより、第1のプロセッサからの第1の処理要求を受けて第2のプロセッサが対応する処理を実行し、さらに、第2のプロセッサからの第2の処理要求を受けて第3のプロセッサが対応する処理を実行する場合においても、高速なキャンセル処理を実現することが可能である。
なお、前記第3のプロセッサは、前記第2のプロセッサから前記第1のプロセッサに対して、複数の前記第2の処理要求が発生している状態で、前記第2の割り込み信号を受信した場合には、第1番目の前記第2の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す第1番目の前記第2の処理応答信号を、前記第2の通信経路を介して送信するとともに、第2番目以降の前記第2の処理要求に従って実行すべき未実行の処理を破棄して、前記実行すべき処理を未処理で終了したことを示す第2番目以降の前記第2の応答処理信号を、前記第2の通信経路を介して送信することが好ましい。
上記のようにすれば、複数の第2の処理要求が発生している状態で、第2の割り込み信号を受信すると、それぞれの第2の処理要求に対する第2の処理応答を第2の通信経路を介して送信することができ、複数の第2の処理要求が発生している場合においても高速なキャンセル処理を実現することが可能である。
なお、上記態様のマルチプロセッサシステムは、1つの半導体基板上に集積化されているようにすれば、より効果的である。
以下、本発明の実施の形態について、実施例に基づき以下の順序で説明する。
A.実施例:
A1.マルチプロセッサシステムの構成:
A2.印刷イメージ処理動作時におけるマルチプロセッサシステムの機能:
A2.1.印刷イメージ処理制御機能:
A2.2.画像処理代理制御機能:
A2.3.デコード機能:
A2.4.画像補正機能:
A2.5.印刷イメージ画像データ生成機能:
A3.印刷イメージ処理:
A3.1.通常動作:
A3.2.キャンセル終了動作:
A4.効果:
B.変形例:
A.実施例:
A1.マルチプロセッサシステムの構成:
図1は、本発明のマルチプロセッサシステム10の一部を示す説明図である。このマルチプロセッサシステム10は、複数のプロセッサを1つの半導体基板上に集積化したマイクロプロセッサである。各プロセッサは、それぞれ、CPUや、メモリ、バスコントローラ等の周辺回路を含むユニットを意味している。なお、図1は、マルチプロセッサシステムを構成する複数のプロセッサのうちの、1つのメインプロセッサ100および3つのサブプロセッサ200A〜200Cと、メモリコントローラ300のみを示し、他の構成については省略している。
メインプロセッサ100は、操作パネル等の入力装置30や、液晶パネル等の表示装置40、および、リーダを介して読み取り可能な可搬型記憶装置等の記憶装置50に接続されている。
また、メインプロセッサ100は、各サブプロセッサ200A〜200Cに対して、それぞれ個別に設けられた第1の通信経路NES1〜NES3を介して接続されており、メインプロセッサ100と各サブプロセッサ200A〜200Cとの間では、第1の通信経路NES1〜NES3を介して、それぞれ個別に、処理の要求やこの要求に対する応答をメッセージ通信することができる。なお、各通信経路NES1〜NES3は、メインプロセッサからサブプロセッサへの経路と、サブプロセッサからメインプロセッサへの経路の1組の経路で構成されている。また、以下では、これら第1の通信経路NESS1〜NES3を総称して第1の通信経路NESと呼ぶ場合もある。
各サブプロセッサ200A〜200Cは、それぞれを順に接続することにより、ループ状に設けられた第2の通信経路NIOを介して互いに接続されており、各サブプロセッサ200A〜200Cの間では、第2の通信経路NIOを介して、処理の要求やこの要求に対する応答を互いにメッセージ通信することができる。
メモリコントローラ300は、メインプロセッサ100および各サブプロセッサ200A〜200Cに対して、それぞれ個別に設けられた第3の通信経路NEM0〜NEM3を介して接続されており、メインプロセッサ100および各サブプロセッサ200A〜200Cは、メモリコントローラ300を介して、外部に接続されるRAM20へのアクセスを行うことができる。なお、第3の通信経路NEM0〜NEM3も、第1の通信経路NES1〜NES3と同様に、プロセッサからメモリコントローラへの経路と、メモリコントローラからプロセッサへの経路の1組の経路で構成されている。また、以下では、これら第3の通信経路NEM0〜NEM3を総称して第3の通信経路NEMと呼ぶ場合もある。
ここで、本実施例のマルチプロセッサシステム10の特徴として、メインプロセッサ100は、各サブプロセッサ200A〜200Cに対して、それぞれ個別に設けられた割り込み信号経路INT1〜INT3を介して接続されており、後述するように、メインプロセッサ100から各サブプロセッサ200A〜200Cに対して、それぞれ個別に、割り込み信号経路INT1〜INT3を介して、割り込み信号を送信することができる。
なお、第1のサブプロセッサ200Aに接続される割り込み信号経路INT1が本発明の第1の割り込み信号経路に相当し、第2および第3のサブプロセッサ200B,200Cに接続される割り込み信号経路INT2,INT3が本発明の第2の割り込み信号経路に相当する。以下では、これら割り込み信号経路INT1〜INT3を総称して割り込み信号経路INTと呼ぶ場合もある。
上述したように、本実施例の特徴は、以下で説明するように、メインプロセッサ100から各サブプロセッサ200A〜200Cに対して、それぞれ個別に、割り込み信号経路INT1〜INT3を介して、割り込み信号を送信することができる点にある。
以下では、記憶装置50に格納されている画像ファイルの中から印刷したい画像の画像ファイルを選択して、印刷媒体上の所望の位置に所望のサイズで印刷する印刷制御を、上記実施例のマルチプロセッサシステム10を用いて実行する過程において、選択した画像を印刷媒体上の所望の位置に所望のサイズで配置した状態を示す印刷イメージ画像を、表示装置40上に表示する際に、印刷イメージ画像データを生成する印刷イメージ処理動作が、マルチプロセッサシステム10によって実行される場合を例として、上記特徴について説明することとする。
A2.印刷イメージ処理動作時におけるマルチプロセッサシステムの機能:
まず、マルチプロセッサシステム10で印刷イメージ処理動作を実行させる場合に、メインプロセッサ100および各サブプロセッサ200A〜200Cで実現される各機能について説明する。
マルチプロセッサシステム10で印刷イメージ処理動作を実行させる場合において、メインプロセッサ100は、プロセッサの構成要素である図示しないメモリに格納されている所定のプログラムが読み出されて実行されることにより、図1に示すように、この印刷イメージ処理動作を全体として制御する印刷イメージ処理制御機能を実現する。具体的には、主に、印刷イメージ処理動作を全体的に制御する印刷イメージ処理制御部として動作するユーザインタフェース(「UI」とも呼ぶ)10、印刷イメージ処理を構成する画像処理およびレイアウト処理のうち、画像処理を分担する画像処理部(「DFT」とも呼ぶ)120、レイアウト処理を分担するレイアウト処理部(「OMT」とも呼ぶ)130、表示装置40の動作を制御する表示制御部(「DPC」とも呼ぶ)140、割り込み信号経路INTを介して送信する割り込み信号を発生する割り込み発生部(「INT発生部」とも呼ぶ)150、第1の通信経路NESを介して実行する通信を制御するNES通信部160、および、第3の通信経路NEMを介して実行する通信を制御するNEM通信部170の各機能ブロックとして動作する。
第1のサブプロセッサ200Aは、プロセッサの構成要素である図示しないメモリに格納されている所定のプログラムが読み出されて実行されることにより、図1に示すように、メインプロセッサ100の画像処理部120に代わって、第2および第3のサブプロセッサ200B,200Cで実行される画像処理実行機能の動作を制御する画像処理代理制御機能を実現するとともに、印刷イメージ画像データを生成する印刷イメージ画像データ生成機能を実現する。具体的には、割り込み信号経路INT1を介して割り込み信号を受信する割り込み処理部(「INT処理部」とも呼ぶ)210Aと、NES通信部220Aと、第2の通信経路NIOを介して実行する通信を制御するNIO通信部230Aと、NEM通信部240Aと、画像処理代理制御機能に対応する画像処理制御部(「IMGC」とも呼ぶ)250A、デコード制御部(「IDECC」とも呼ぶ)260A、および、画像補正制御部(「APFC」とも呼ぶ)270Aと、印刷イメージ生成機能に対応するレイアウト実行部280Aの各機能ブロックとして動作して、画像処理代理制御機能および印刷イメージ画像データ生成機能を実現する。
第2のサブプロセッサ200Bは、プロセッサの構成要素である図示しないメモリに格納されている所定のプログラムが読み出されて実行されることにより、図1に示すように、選択した画像の画像ファイルに含まれている画像データが、例えば、JPEG形式の画像データである場合に、その画像データを展開処理してRGB色空間に基づく画像データ(「RGB画像データ」とも呼ぶ)に変換するデコード機能を実現する。具体的には、割り込み処理部210Bと、NES通信部220Bと、NIO通信部230Bと、NEM通信部240Bと、実際にデコード処理を実行するデコード実行部(「IDEC」とも呼ぶ)280Bの各機能ブロックとして動作する。
第3のサブプロセッサ200Cは、プロセッサの構成要素である図示しないメモリに格納されている所定のプログラムが読み出されて実行されることにより、図1に示すように、デコード処理された画像データの表す画像の色補正処理や、シャープネス処理、ノイズ除去処理などの、画質を自動的に補正する画像補正機能を実現する。具体的には、割り込み処理部210Cと、NES通信部220Cと、NIO通信部230Cと、NEM通信部240Cと、実際に画像補正処理を実行する画像補正実行部(「APF」とも呼ぶ)280Cの各機能ブロックとして動作する。
以下では、各機能ブロックの動作について、さらに、詳細に説明する。
A2.1.印刷イメージ処理制御機能:
(1)ユーザインタフェース(UI)
図2は、ユーザインタフェース110で実行される印刷イメージ処理制御について示す説明図である。印刷イメージ処理制御が開始されると、まず、何らかのイベントの発生を監視する(ステップS102)。なお、イベントとしては、例えば、印刷イメージ処理は、画像処理部120による画像処理、レイアウト処理部130によるレイアウト処理の順に実行されるので、いずれかの処理の実行指示(要求)や、それに対する画像処理部120およびレイアウト処理部130からの応答、あるいは、ユーザが入力装置30により入力したキャンセルの指示等、がある。
そして、何らかのイベントの発生があった場合には(ステップS102:YES)、そのイベントがキャンセルの指示であるか否か判断する(ステップS104)。
発生したイベントがキャンセルの指示でない場合には(ステップS104:NO)、発生したイベントに対応する処理を実行する(ステップS106)。例えば、画像処理部120が実行する画像処理の実行を指示するイベントである場合には、画像処理部120に対して、画像処理の実行を指示し、レイアウト処理部130が実行するレイアウト処理の実行を指示するイベントである場合には、レイアウト処理部130に対して、レイアウト処理の実行を指示する。
そして、実行している印刷イメージ処理制御の終了が指示されるまで、ステップS102からステップS106までの処理を繰り返し実行する(ステップS108:NO)。
ステップS104において、発生したイベントがキャンセルの指示であると判断された場合には(ステップS104:YES)、実行を指示している処理のキャンセルを要求する(ステップS150)。例えば、画像処理部120に対して画像処理の実行を指示しているならば、画像処理部120に対して実行を指示している処理のキャンセルを要求する。このとき、画像処理部120は、後述するようにして、割り込み発生部150から、各割り込み信号経路INT1〜INT3を介して、各サブプロセッサ200A〜200Cに対して、割り込み信号を送信する。
そして、第1のサブプロセッサ200Aから、第1の通信経路NES1を介して、実行を指示していた処理に対する応答(レスポンス)を監視する(ステップS112)。
実行を指示していた処理に対する応答があった場合には(ステップS112:YES)、実行を指示していた処理のクローズ(終了)を要求する(ステップS114)。例えば、画像処理部120による画像処理の実行が指示されていたならば、画像処理部120に対して、その処理のクローズを指示する。
そして、実行を指示していた処理のクローズ要求に対して、クローズ処理の終了の応答(レスポンス)を監視する(ステップS116)。
クローズ処理の終了の応答があった場合には(ステップS116:YES)、実行していたイメージ処理制御の動作を終了する。
(2)画像処理部(DFT)
図3は、画像処理部120で実行される画像処理について示す説明図である。ユーザインタフェース110からの指示を受けて、画像処理が開始されると、まず、何らかのイベントの発生を監視する(ステップS122)。なお、イベントとしては、例えば、実際の画像処理は、第1のサブプロセッサ200Aの画像処理制御部250Aがメインプロセッサ100の画像処理部120に代わって、第2のサブプロセッサ200Bのデコード機能および第3のサブプロセッサ200Cの画像補正機能を制御することにより、実行されるので、ユーザインタフェース110からの画像処理の実行指示(要求)やクローズ処理の実行指示、この実行指示を第1の通信経路NES1を介して画像処理制御部250Aに対して伝えた後、第1の通信経路NES1を介して画像処理制御部250Aから伝えられる応答、あるいは、ユーザインタフェース110からのキャンセルの指示、等がある。
そして、何らかのイベントの発生があった場合には(ステップS122:YES)、そのイベントがキャンセルの指示であるか否か判断する(ステップS124)。
発生したイベントがキャンセルの指示でない場合には(ステップS124:NO)、発生したイベントに対応する処理を実行する(ステップS126)。例えば、ユーザインタフェース110からの画像処理の実行を指示するイベントである場合には、第1の通信経路NES1を介して第1のサブプロセッサ200Aの画像処理制御部250Aに対して、画像処理の実行を指示する。
発生したイベントがキャンセルの指示である場合には(ステップS124:YES)、割り込み発生部150に対して、各割り込み信号経路INT1〜INT3を介して、各サブプロセッサ200A〜200Cに対して割り込み信号を送信するように指示する(ステップS128)。このとき、割り込み発生部150は、各割り込み信号経路INT1〜INT3を介して、各サブプロセッサ200A〜200Cに対して割り込み信号を送信する。
そして、画像処理部120は、ユーザインタフェース110から指示を受けて開始された処理が終了するまで、ステップS122からステップS128までの処理を繰り返す(ステップS130:NO)。
(3)レイアウト処理部(OMT)
図4は、レイアウト処理部130で実行されるレイアウト処理について示す説明図である。ユーザインタフェース110からの指示を受けて、レイアウト処理が開始されると、まず、何らかのイベントの発生を監視する(ステップS142)。なお、イベントとしては、例えば、実際のレイアウト処理は、第1のサブプロセッサ200Aのレイアウト実行部280Aがメインプロセッサ100のレイアウト処理部130に代わって実行するので、ユーザインタフェース110からのレイアウト処理の実行指示やクローズ処理の実行指示、この実行指示を第1の通信経路NES1を介してレイアウト実行部280Aに対して伝えた後に、第1の通信経路NES1を介してレイアウト実行部280Aから伝えられる応答、あるいは、ユーザインタフェース110からのキャンセルの指示等、がある。
そして、何らかのイベントの発生があった場合には(ステップS142:YES)、そのイベントがキャンセルの指示であるか否か判断する(ステップS144)。
発生したイベントがキャンセルの指示でない場合には(ステップS144:NO)、発生したイベントに対応する処理を実行する(ステップS146)。例えば、ユーザインタフェース110からのレイアウト処理の実行を指示するイベントである場合には、第1の通信経路NES1を介して第1のサブプロセッサ200Aのレイアウト実行部280Aに対して、レイアウト処理の実行を指示する。
発生したイベントがキャンセルの指示である場合には(ステップS144:YES)、割り込み発生部150に対して、各割り込み信号経路INT1〜INT3を介して、各サブプロセッサ200A〜200Cに対して割り込み信号を送信するように指示する(ステップS148)。このとき、割り込み発生部150は、各割り込み信号経路INT1〜INT3を介して、各サブプロセッサ200A〜200Cに対して割り込み信号を送信する。
そして、レイアウト処理部130は、ユーザインタフェース110から指示を受けて開始された処理が終了するまで、ステップS142からステップS148までの処理を繰り返す(ステップS150:NO)。
A2.2.画像処理代理制御機能:
(1)割り込み処理部
図5は、割り込み処理部210Aで実行される割り込み処理について示す説明図である。割り込み処理部210Aは、メインプロセッサ100の割り込み発生部150から割り込み信号経路INT1を介して送信される割り込み信号の受信を監視する(ステップS202)。割り込み信号を受信すると(ステップS202:YES)、キャンセルフラグをオンにセットする(ステップS204)。そして、ステップS202に戻り、割り込み信号の受信の監視を繰り返す。
(2)画像処理制御部(IMGC)
図6は、画像処理制御部250Aで実行される画像処理制御について示す説明図である。メインプロセッサ100の画像処理部120からの指示を受けて、画像処理制御が開始されると、まず、何らかのイベントの発生を監視する(ステップS212)。なお、イベントとしては、例えば、画像処理制御は、デコード制御部260Aによるデコード制御、画像補正制御部270Aによる画像補正制御の順に実行されるので、順に指示されるこれらの制御の実行指示やクローズ処理の実行指示、これに対してデコード制御部260Aおよび画像補正制御部270Aから伝えられる応答、画像処理部120から、第1の通信経路NES1を介して伝えられる指示、等がある。
そして、何らかのイベントの発生があった場合には(ステップS212:YES)、キャンセルフラグがオンとなっているか否か判断する(ステップS214)。
まず、キャンセルフラグがオフである場合には(ステップS214:NO)、発生したイベントに対応する処理を実行する。例えば、画像処理部120からの指示や、デコード制御部260Aあるいは画像補正制御部270Aへの指示である場合には、対応する処理の実行を指示し、デコード制御部260Aあるいは画像補正制御部270Aからの応答である場合には、画像処理部120へ応答する。
そして、画像処理制御部250Aは、画像処理部120から指示を受けて開始された処理を終了するか否か判断し(ステップS218)、終了しない場合には(ステップS218:NO)、ステップS212に戻って、再び、イベントの発生を監視する。
一方、ステップS214において、キャンセルフラグがオンである場合には(ステップS214:YES)、発生したイベントが画像処理部(DFT)120から指示された画像処理のクローズの指示であるか否か判断する(ステップS224)。
発生したイベントが画像処理を終了するためのクローズ処理の実行指示である場合には(ステップS224:YES)、実行を指示しているデコード制御部(IDECC)260Aあるいは画像補正制御部(APFC)270Aに対して、クローズ処理の実行を指示し(ステップS226)、ステップS212に戻って、再び、イベントの発生を監視する。
一方、発生したイベントがクローズ処理の実行指示でない場合には(ステップS224:NO)、発生したイベントが処理の実行を指示しているデコード制御部260Aあるいは画像補正制御部270Aからのクローズ処理の実行に対する応答であるか否か判断する(ステップS232)。
発生したイベントがクローズ処理の実行に対する応答である場合には(ステップS232:YES)、実行を指示している全ての機能ブロックから応答があったか否か判断する(ステップS234)。
全ての機能ブロックから応答があった場合には(ステップS234:YES)、キャンセルフラグをオフに戻し(ステップS236)、画像処理部120に対して、第1の通信経路NES1を介して、指示されている画像処理の終了を示す応答を回答する(ステップS238)。そして、ステップS212に戻って、イベントの発生を監視する。一方、いずれかの応答がない場合には(ステップS234:NO)、そのままステップS212に戻って、イベントの発生を監視する。
ステップS232において、発生したイベントがクローズ処理の実行に対する応答でなかった場合には(ステップS232:NO)、画像処理部(DFT)120からの実行指示であるか否か判断する(ステップS240)。
そして、発生したイベントが画像処理部120からの実行指示であった場合には(ステップS240:YES)、その指示を破棄して未処理とする(ステップS242)とともに、画像処理部120に対して、未処理で終了したことを示す応答を、第1の通信経路NES1を介して回答する(ステップS244)。そして、ステップS212に戻って、再び、イベントの発生を監視する。
一方、発生したイベントが画像処理部120からの実行指示でなかった場合には(ステップS240:NO)、さらに、発生したイベントがデコード制御部(IDECC)260Aあるいは画像補正制御部(APFC)270Aからの応答であるか否か判断する(ステップS246)。
発生したイベントがデコード制御部260Aあるいは画像補正制御部270Aからの応答である場合には(ステップS246:YES)、画像処理部120に対して、第1の通信経路NES1を介して、その応答が有ったことを示す応答を回答する(ステップS248)、ステップS212に戻って、再び、イベントの発生を監視する。
一方、発生したイベントがデコード制御部260Aあるいは画像補正制御部270Aからの応答でなかった場合には(ステップS246:NO)、そのまま、ステップS212に戻って、再び、イベントの発生を監視する。
(3)デコード制御部(IDECC)
デコード制御部260Aは、画像処理制御部250Aからの指示を、第2の通信経路NIOを介して、第2のサブプロセッサ200Bのデコード実行部280Bに伝え、デコード実行部280Bから伝えられた応答を、画像処理制御部250Aに受け渡す。
(4)画像補正制御部(APFC)
画像補正制御部270Aも、デコード制御部260Aと同様に、画像処理制御部250Aからの指示を、第2の通信経路NIOを介して、第3のサブプロセッサ200Cの画像補正実行部280Cに伝え、画像補正実行部280Cから伝えられた応答を、画像処理制御部250Aに受け渡す。
A2.3.デコード機能:
(1)割り込み処理部
割り込み処理部210Bは、割り込み処理部210Aと同様に、メインプロセッサ100の割り込み発生部150から割り込み信号経路INT2を介して送信される割り込み信号の受信を監視し、割り込み信号を受信するとキャンセルフラグをオンにセットする。
(2)デコード実行部(IDEC):
図7は、デコード実行部280Bで実行されるデコード処理について示す説明図である。デコード処理が開始されると、まず、何らかのイベントの発生の発生を監視する(ステップS252)。なお、イベントとしては、デコード制御部260Aから、第2の通信経路NIOを介して伝えられる実行指示やクローズ処理の実行指示、等がある。
そして、何らかのイベントの発生があった場合には(ステップS252:YES)、キャンセルフラグがオンとなっているか否か判断する(ステップS254)。
まず、キャンセルフラグがオフである場合には(ステップS254:NO)、実際にデコード処理を実行する(ステップS256)。
図8は、デコード実行処理について示す説明図である。デコード実行処理が開始されると、1単位処理ごとにデコード処理を実行する(ステップS256a)。そして、キャンセルフラグがオンとなっているか否か判断する(ステップS256b)。
キャンセルフラグがオンとなっていないならば(ステップS256b:NO)ならば、全てのデコード処理を終了するまで、ステップS256aのデコード処理を繰り返す(ステップS256c:NO)。そして、全てのデコード処理を終了した場合には(ステップS256c:YES)、デコード実行処理を終了して、図7のステップS258に進む。
一方、ステップS256bにおいて、キャンセルフラグがオンとなっていたならば(ステップS256b:YES)、このデコード実行処理を中止して、図7のステップS258に進む。
そして、ステップS258では、デコード制御部260Aに対して、第2の通信経路NIOを介して、指示された画像デコード処理の終了を示す応答を回答する。
ステップS254において、キャンセルフラグがオンであると判断された場合には(ステップS254:YES)、さらに、発生したイベントが、デコード制御部260Aからのクローズ処理の実行指示であるか否か判断する(ステップS262)。
発生したイベントがクローズ処理の実行指示でない場合には(ステップS260:NO)、まだ実行していない未処理の実行指示であると判断して、その実行指示を未処理で終了し(ステップS264)、その実行指示に対する応答として、未処理の終了を示す応答を、デコード制御部260Aに対して、第2の通信経路NIOを介して回答する(ステップS266)。
発生したイベントがクローズ処理の実行指示であった場合には(ステップS262:YES)、クローズ処理を実行し(ステップS272)、キャンセルフラグをオフに戻す(ステップS274)。そして、デコード制御部260Aに対して、第2の通信経路NIOを介して、クローズ処理の終了を示す応答を回答する(ステップS268)。
次に、デコード実行部280Bは、デコード制御部260Aから指示を受けて開始された処理を終了するか否か判断し(ステップS280)、終了しない場合には(ステップS280:NO)、ステップS212に戻って、再び、イベントの発生を監視する。
A2.4.画像補正機能:
(1)割り込み処理部
割り込み処理部210Cも、割り込み処理部210Aと同様に、メインプロセッサ100の割り込み発生部150から割り込み信号経路INT3を介して送信される割り込み信号の受信を監視し、割り込み信号を受信するとキャンセルフラグをオンにセットする。
(2)画像補正実行部
画像補正実行部280Cで実行される画像補正処理は、デコード実行部280Bにおけるデコード処理のうち、実際のデコード処理(図7のステップS256)が、画像補正実行部280Cで実行される実際の画像補正実行処理に置き換えられる点、および、画像補正制御部270Aから、第2の通信経路NIOを介して実行指示が伝えられ、画像補正制御部270Aに対して、第2の通信経路NIOを介して応答が伝えられる点、を除いてデコード実行部280Bの処理手順と同じである。
A2.5.印刷イメージ画像データ生成機能:
印刷イメージ画像データ生成機能は、第1のサブプロセッサ200Aのレイアウト実行部280Aにより実現されるが、レイアウト実行部280Aで実行されるレイアウト処理は、デコード実行部280Bにおけるデコード処理のうち、実際のデコード処理(図7のステップS256)が、実行される実際のレイアウト処理に置き換えられる点、および、および、レイアウト処理部130から、第1の通信経路NES1を介して実行指示が伝えられ、レイアウト処理部130に対して、第1の通信経路NES1を介して応答が伝えられる点、を除いてデコード実行部280Bの処理手順と同じである。
A3.印刷イメージ処理:
次に、マルチプロセッサシステム10のメインプロセッサ100および各サブプロセッサ200A〜200Cで実現される各機能により実行される印刷イメージ処理動作について、通常動作、キャンセル動作の順に説明する。
なお、以下の動作説明は、説明を容易にするために、図9に示すように、印刷媒体PB上に画像Aおよび画像Bが配置された印刷イメージ画像を、表示装置40上に表示する場合を前提とする。
また、画像Aおよび画像Bの画像処理は、それぞれの画像を2つに区分したバンド単位で処理されることとする。具体的には、図9に示すように、画像Aは2つのバンド画像A−1,A−2に区分され、画像Bは2つのバンド画像B−1,B−2に区分される。
A3.1.通常動作:
図10および図11は、通常の印刷イメージ処理動作について示す説明図である。
まず、メインプロセッサ100のユーザインタフェース(UI)110は、画像処理部(DFT)120に対して、画像Aの画像処理実行を指示し、続いて、画像Bの画像処理の実行を指示する。
ユーザインタフェース110からの指示を受けた画像処理部120は、まず、第1のサブプロセッサ200Aの画像処理制御部(IMGC)250Aに対して、画像Aの1番目のバンド画像A−1の画像処理の実行を指示し、続いて、画像Bの1番目のバンド画像B−1の画像処理の実行を指示する。
画像処理部120からの指示を受けた画像処理制御部250Aは、デコード制御部(IDECC)260Aに対して、画像Aの1番目のバンド画像A−1のデコード処理の実行を指示し、続けて、画像Bの1番目のバンド画像B−1のデコード処理の実行を指示する。
画像処理制御部250Aからの指示を受けたデコード制御部260Aは、第2のサブプロセッサ200Bのデコード実行部(IDEC)280Bに対して、バンド画像A−1のデコード処理の実行を指示し、続けて、バンド画像B−1のデコード処理の実行を指示する。
デコード制御部260Aからの指示を受けたデコード実行部280Bは、指示を受けた順番に、デコード処理を実行する。ここでは、バンド画像A−1、バンド画像B−1の順にデコード処理の指示を受けているので、まず、バンド画像A−1のデコード処理を開始し、この処理を終了後、バンド画像B−1のデコード処理を開始する。
デコード実行部280Bは、最初に実行したバンド画像A−1のデコード処理を終了すると、デコード制御部260Aに対して、その処理の終了を応答し、待ち状態であったバンド画像B−1のデコード処理を開始する。
このとき、バンド画像A−1のデコード終了応答を受けたデコード制御部260Aは、同様に、画像処理制御部250Aに対して、バンド画像A−1のデコード処理の終了を応答する。
バンド画像A−1のデコード処理終了応答を受けた画像処理制御部250Aは、画像補正制御部(APFC)270Aに対して、バンド画像A−1の画像補正処理の実行を指示する。
画像処理制御部250Aからの指示を受けた画像補正制御部270Aは、第3のサブプロセッサ200Cの画像補正実行部(APF)280Cに対して、バンド画像A−1の画像補正処理の実行を指示する。
画像補正制御部270Aからの指示を受けた画像補正実行部280Cは、指示を受けたバンド画像A−1の画像補正処理を開始する。
また、バンド画像B−1のデコード処理を実行していたデコード実行部280Bは、その処理を終了すると、デコード制御部260Aに対して、バンド画像B−1のデコード処理の終了を応答する。
このとき、バンド画像B−1のデコード終了応答を受けたデコード制御部260Aは、同様に、画像処理制御部250Aに対して、バンド画像B−1のデコード処理の終了を応答する。
バンド画像B−1のデコード終了応答を受けた画像処理制御部250Aは、画像補正制御部270Aに対して、バンド画像B−1の画像補正処理の実行を指示する。
画像処理制御部250Aからの指示を受けた画像補正制御部270Aは、画像補正実行部280Cに対して、バンド画像B−1の画像補正処理の実行を指示する。
なお、このとき、画像補正制御部270Aからの指示を受けた画像補正実行部280Cは、まだ、バンド画像A−1の画像補正処理を実行しているので、バンド画像B−1の画像補正処理は開始されず、待ち状態となる。
そして、画像補正実行部280Cは、最初に実行したバンド画像A−1の画像補正処理を終了すると、画像補正制御部270Aに対して、その処理の終了を応答し、待ち状態であったバンド画像B−1の画像補正処理を開始する。
バンド画像A−1の画像補正処理終了応答を受けた画像補正制御部270Aは、画像処理制御部250Aに対して、バンド画像A−1の画像補正処理の終了を応答する。
バンド画像A−1の画像補正処理の終了応答を受けた画像処理制御部250Aは、画像処理部120に対して、実行指示を受けたバンド画像A−1の画像処理の終了を応答する。
バンド画像A−1の処理終了応答を受けた画像処理部120は、ユーザインタフェース110に対して、画像処理の実行指示を受けた画像Aのうちの、1番目のバンド画像A−1の画像処理の終了を応答する。
バンド画像A−1の処理終了応答を受けたユーザインタフェース110は、レイアウト処理部(OMT)130に対して、画像処理を終了したバンド画像A−1のレイアウトの実行を指示する。
レイアウト実行指示を受けたレイアウト処理部130は、第1のサブプロセッサ200Aのレイアウト実行部280Aに対して、バンド画像A−1のレイアウトの実行を指示する。
このとき、指示を受けたレイアウト実行部280Aは、バンド画像A−1のレイアウト処理を開始する。
一方、この間に、バンド画像B−1の画像補正処理を実行していた画像補正実行部280Cがその処理を終了すると、画像補正制御部270Aに対して、その処理の終了を応答する。
バンド画像B−1の画像補正処理終了応答を受けた画像補正制御部270Aは、画像処理制御部250Aに対して、バンド画像B−1の画像補正処理の終了を応答する。
バンド画像B−1の画像補正処理の終了応答を受けた画像処理制御部250Aは、画像処理部120に対して、実行指示を受けたバンド画像B−1の画像処理の終了を応答する。
バンド画像B−1の処理終了応答を受けた画像処理部120は、ユーザインタフェース110に対して、画像処理の実行指示を受けた画像Bのうちの、1番目のバンド画像B−1の画像処理の終了を応答する。
ユーザインタフェース110は、1番目のバンド画像A−1およびバンド画像B−1の画像処理の終了の応答を受けると、さらに、画像処理部120に対して、画像Aの画像処理の続きの実行を指示し、画像Bの画像処理の続きの実行を指示する。
ユーザインタフェース110からの指示を受けた画像処理部120は、画像処理制御部250Aに対して、画像Aの2番目のバンド画像A−2の画像処理の実行を指示し、画像Bの2番目のバンド画像B−2の画像処理の実行を指示する。
画像処理部120からの指示を受けた画像処理制御部250Aは、デコード制御部260Aに対して、画像Aの2番目のバンド画像A−2の画像処理の実行を指示し、画像Bの2番目のバンド画像B−2の画像処理の実行を指示する。
画像処理制御部250Aからの指示を受けたデコード制御部260Aは、デコード実行部280Bに対して、バンド画像A−2のデコード処理の実行を指示し、バンド画像B−2のデコード処理の実行を指示する。
デコード制御部260Aからの指示を受けたデコード実行部280Bは、まず、バンド画像A−2のデコード処理を開始し、この処理を終了後、バンド画像B−2のデコード処理を開始する。
デコード実行部280Bがデコード処理を実行している間に、レイアウト実行部280Aが実行していたバンド画像A−1のレイアウト処理を終えると、レイアウト実行部280Aは、レイアウト処理部130に対して、バンド画像A−1のレイアウト終了を応答する。
バンド画像A−1のレイアウト終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、レイアウト処理の実行指示を受けたバンド画像A−1のレイアウト処理の終了を応答する。
バンド画像A−1のレイアウト処理終了応答を受けたユーザインタフェース110は、レイアウト処理部130に対して、画像処理を終了したバンド画像B−1のレイアウトの実行を指示する。
レイアウトの実行指示を受けたレイアウト処理部130は、レイアウト実行部280Aに対して、バンド画像B−1のレイアウトの実行を指示する。
このとき、指示を受けたレイアウト実行部280Aは、バンド画像B−1のレイアウト処理を開始する。
そして、レイアウト実行部280Aは、実行していたバンド画像B−1のレイアウト処理を終えると、レイアウト処理部130に対して、バンド画像B−1のレイアウト終了を応答する。
バンド画像B−1のレイアウト終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、レイアウト処理の実行指示を受けたバンド画像B−1の処理の終了を応答する。
レイアウト実行部280Aがレイアウト処理を実行している間に、デコード実行部280Bが実行していた画像Aの2番目のバンド画像A−2のデコード処理を終了すると、デコード実行部280Bは、デコード制御部260Aに対して、その処理の終了を応答し、待ち状態であった画像Bの2番目のバンド画像B−2のデコード処理を開始する。
このとき、バンド画像A−2のデコード終了応答を受けたデコード制御部260Aは、画像処理制御部250Aに対して、バンド画像A−2のデコード処理の終了を応答する。
バンド画像A−2のデコード終了応答を受けた画像処理制御部250Aは、画像補正制御部270Aに対して、バンド画像A−2の画像補正処理の実行を指示する。
画像処理制御部250Aからの指示を受けた画像補正制御部270Aは、画像補正実行部280Cに対して、バンド画像A−2の画像補正処理の実行を指示する。
画像補正制御部270Aからの指示を受けた画像補正実行部280Cは、指示を受けたバンド画像A−2の画像補正処理を開始する。
画像補正実行部280Cは、実行したバンド画像A−2の画像補正処理を終了すると、画像補正制御部270Aに対して、その処理の終了を応答し、待ち状態であったバンド画像B−2の画像補正処理を開始する。
バンド画像A−2の画像補正処理終了応答を受けた画像補正制御部270Aは、画像処理制御部250Aに対して、バンド画像A−2の画像補正処理の終了を応答する。
バンド画像A−2の画像補正処理の終了応答を受けた画像処理制御部250Aは、画像処理部120に対して、実行指示を受けたバンド画像A−2の画像処理の終了を応答する。
バンド画像A−2の処理終了応答を受けた画像処理部120は、ユーザインタフェース110に対して、画像処理の実行指示を受けた画像Aのうちの、2番目のバンド画像A−2の画像処理の終了を応答する。
バンド画像A−2の処理終了応答を受けたユーザインタフェース110は、レイアウト処理部130に対して、画像処理を終了したバンド画像A−2のレイアウトの実行を指示する。
レイアウト実行指示を受けたレイアウト処理部130は、レイアウト実行部280Aに対して、バンド画像A−2のレイアウトの実行を指示する。
このとき、指示を受けたレイアウト実行部280Aは、バンド画像A−2のレイアウト処理を開始する。
レイアウト実行部280Aは、実行していたバンド画像A−2のレイアウト処理を終えると、レイアウト処理部130に対して、バンド画像A−2のレイアウト終了を応答する。
バンド画像A−2のレイアウト終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、レイアウト処理の実行指示を受けたバンド画像A−2の処理の終了を応答する。
一方、この間に、バンド画像B−2のデコード処理を実行していたデコード実行部280Bがその処理を終了すると、デコード制御部260Aに対して、その処理の終了を応答する
このとき、バンド画像B−2のデコード終了応答を受けたデコード制御部260Aは、その応答を画像処理制御部250Aに応答する。
バンド画像B−2のデコード終了応答を受けた画像処理制御部250Aは、画像補正制御部270Aに対して、バンド画像B−2の画像補正処理の実行を指示する。
画像処理制御部250Aからの指示を受けた画像補正制御部270Aは、画像補正実行部280Cに対して、バンド画像B−2の画像補正処理の実行を指示する。
実行指示を受けた画像補正実行部280Cは、バンド画像B−2の画像補正処理を開始する。そして、画像補正実行部280Cは、実行していたバンド画像B−2の画像補正処理を終了すると、画像補正制御部270Aに対して、その処理の終了を応答する。
バンド画像B−2の画像補正処理終了応答を受けた画像補正制御部270Aは、画像処理制御部250Aに対して、バンド画像B−2の画像補正処理の終了を応答する。
バンド画像B−2の画像補正処理の終了応答を受けた画像処理制御部250Aは、画像処理部120に対して、実行指示を受けたバンド画像B−2の画像処理の終了を応答する。
バンド画像B−2の画像処理終了応答を受けた画像処理部120は、ユーザインタフェース110に対して、画像処理の実行指示を受けた画像Bのうちの、2番目のバンド画像B−2の画像処理の終了を応答する。
バンド画像B−2の画像処理終了応答を受けたユーザインタフェース110は、レイアウト処理部130に対して、画像処理を終了したバンド画像B−2のレイアウトの実行を指示する。
レイアウト実行指示を受けたレイアウト処理部130は、レイアウト実行部280Aに対して、バンド画像B−2のレイアウトの実行を指示する。
このとき、指示を受けたレイアウト実行部280Aは、バンド画像B−2のレイアウト処理を開始する。
レイアウト実行部280Aは、実行していたバンド画像B−2のレイアウト処理を終えると、レイアウト処理部130に対して、バンド画像B−2のレイアウト終了を応答する。
バンド画像B−2のレイアウト終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、レイアウト処理の実行指示を受けたバンド画像B−2の処理の終了を応答する。
以上のようにして、画像Aおよび画像Bを印刷媒体PB上に配置した状態を示す印刷イメージ画像データを生成するための印刷イメージ処理が実行される。なお、上記説明中に、異なった機能ブロックにおいて実行される処理への指示や応答の順番は、説明の便宜上示された一例であって、これに限定されるものではなく、処理の規模やプロセッサの処理能力に応じて、適宜変化するものである。
A3.2.キャンセル終了動作:
図12およぶ図13は、キャンセル終了動作について示す説明図である。図は、キャンセル終了動作の一例として、図11に示した通常動作において、ユーザインタフェース110が、画像処理部120に対して、画像Aおよび画像Bの続きの画像処理実行を指示した後に、ユーザが入力装置30から処理のキャンセルを指示した場合について示している。
ユーザからキャンセルが指示されると、ユーザインタフェース(UI)110は、画像処理部(DFT)120およびレイアウト処理部(OMT)130に対しては、それぞれで実行される処理のキャンセルを指示する。
キャンセル指示を受けた画像処理部120およびレイアウト処理部130は、それぞれ対応する処理の実行を指示している場合には、それぞれ対応する機能ブロックに対して、キャンセルを指示する。なお、このキャンセルの指示は、具体的には、上述したように、それぞれ対応する機能ブロックを含むサブプロセッサに対して、キャンセルを示す割り込み信号を送信することにより、伝えられる。ここでは、図11に示すように、画像Aの1番目のバンド画像A−1のレイアウト処理および2番目のバンド画像A−2のデコード処理が実行されており、画像Bの2番目のバンド画像B−2のデコード処理が待ち状態となっている。この場合には、割り込み信号経路INT1〜INT3を介して、第1のサブプロセッサ200Aの割り込み処理部210A、第2のサブプロセッサ200Bの割り込み処理部210B、および、第3のサブプロセッサ200Cの割り込み処理部210Cに対して、割り込み信号が送信されることにより、それぞれのキャンセルフラグがオンとなり、第1のサブプロセッサ200Aの画像処理制御部(IMGC)250A、デコード制御部(IDECC)260A、画像補正制御部(APFC)270A、および、レイアウト実行部(LAYOUT)280Aと、第2のサブプロセッサ200Bのデコード実行部(IDEC)280Bと、第3のサブプロセッサ200Cの画像補正実行部(APF)280Cに、それぞれ、キャンセルの指示が伝えられる。
そして、ユーザインタフェース110は、画像処理部120に対して、実行を指示していた画像処理のクローズ処理の実行を指示する。指示を受けた画像処理部120は、画像処理制御部250Aに対して、画像処理のクローズ処理の実行を指示する。
ここで、デコード実行部280Bは、キャンセルフラグがオンとなると、実行していた画像Aの2番目のバンド画像A−2のデコード処理を中止し、デコード制御部260Aに対して、バンド画像A−2のデコード処理の終了を応答する。また、デコード実行部280Bは、待ち状態であった画像Bの2番目のバンド画像B−2のデコード処理を破棄して未処理のまま終了し、デコード制御部260Aに対して、バンド画像B−2のデコード処理を未処理で終了したことを応答する。
そして、バンド画像A−2およびバンド画像B−2のデコード処理終了応答を受けたデコード制御部260Aは、それらの応答をそのまま画像処理制御部250Aに応答する。
バンド画像A−2およびバンド画像B−2のデコード処理終了応答を受けた画像処理制御部250Aは、画像処理部120に対して、バンド画像A−2およびバンド画像B−2の画像処理終了を応答するとともに、デコード制御部260Aに対して、実行している処理を終了するためのクローズ処理の実行を指示する。
バンド画像A−2およびバンド画像B−2の画像処理終了応答を受けた画像処理部120は、ユーザインタフェースに対して、実行を指示した画像Aおよび画像Bの画像処理の終了を応答する。
画像処理制御部250Aからクローズ処理の実行指示を受けたデコード制御部260Aは、デコード実行部280Bに対して、同様に、実行している処理を終了するためのクローズ処理の実行を指示する。クローズ処理の実行指示を受けたデコード実行部280Bは、キャンセルフラグをオフにして、デコード制御部260Aに対して、クローズ処理の終了を応答する。クローズ処理の終了応答を受けたデコード制御部260Aは、クローズ処理の終了を画像処理制御部250Aに対して応答する。
デコード制御部260Aからクローズ処理の終了応答を受けた画像処理制御部250Aは、キャンセルフラグをオフにして、画像処理部120に対して、画像処理のクローズ処理の終了を応答する。画像処理のクローズ処理の終了応答を受けた画像処理部120は、ユーザインタフェース110に対して、画像処理のクローズ処理の終了を応答する。
また、ユーザインタフェース110は、レイアウト処理部130に対して、実行を指示していたレイアウト処理を終了するためのクローズ処理の実行を指示する。指示を受けたレイアウト処理部130は、レイアウト実行部280Aに対して、レイアウト処理のクローズ処理の実行を指示する。
ここで、レイアウト実行部280Aは、キャンセルフラグがオンであるので、実行していた画像Aの1番目のバンド画像A−1のレイアウト処理を中止して、レイアウト処理部130に対して、バンド画像A−1のレイアウト処理の終了を応答し、キャンセルフラグをオフにして、レイアウト処理部130に対して、クローズ処理の終了を応答する。
バンド画像A−1のレイアウト処理の終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、実行を指示したバンド画像A−1のレイアウト処理の終了を応答する。そして、レイアウト処理のクローズ処理の終了応答を受けたレイアウト処理部130は、ユーザインタフェース110に対して、レイアウト処理のクローズ処理の終了を応答する。
以上のようにして、印刷イメージ処理実行中にキャンセル動作が実行される。なお、上記説明中に、異なった機能ブロックにおいて実行される処理への指示や応答の順番は、説明の便宜上示された一例であって、これに限定されるものではなく、処理の規模やプロセッサの処理能力に応じて、適宜変化するものである。
A4.効果:
以上説明したように、上記実施例のマルチプロセッサでは、メインプロセッサとサブプロセッサとの間に、割り込み信号経路が設けられており、実行されている処理のキャンセルの指示がなされた場合に、その割り込み信号経路を介して割り込み信号を送信することができる。そして、割り込み信号を受信したサブプロセッサは、指示を受けて実行中の処理を中止し、その指示に対する応答を返すことができる。また、待ち状態の指示を破棄して、その処理を見処理で終了し、その指示に対する応答を返すことができる。
従って、上記実施例のマルチプロセッサでは、高速なキャンセル処理を実現することが可能である。
B.変形例:
以上、本発明の実施の形態について説明したが、本発明はこのような実施の形態になんら限定されるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。例えば、以下のような変形が可能である。
B1.変形例1:
上記実施例では、マルチプロセッサを構成する複数のプロセッサとして、1つのメインプロセッサ100と3つのサブプロセッサ200A〜200Cのみを示したが、これに限定されるものではなく、複数のプロセッサを備えるマルチプロセッサに適用可能である。
B2.変形例2:
上記実施例では、3つのサブプロセッサ200A〜200Cの間をループ状に形成されている第2の通信経路NIOを介して接続している場合を例に示しているが、第1のサブプロセッサ200Aと第2のサブプロセッサ200Bとの間、および、第1のサブプロセッサ200Aと第3のサブプロセッサ200Cとの間を、それぞれ個別に設けられた専用の通信経路で接続するようにしてもよい。さらに、第2のサブプロセッサ200Bと第3のサブプロセッサ200Cとの間を専用に設けられた通信経路で接続するようにしてよい。
また、3つのサブプロセッサ200A〜200Cの間を共通バス形式の通信経路で接続されるようにしてもよい。
また、メインプロセッサ100と3つのサブプロセッサ200A〜200Cとの間を、それぞれ個別に設けられた専用の第1の通信経路NES1〜NES3で接続している場合を例に示しているが、これらを共通バス形式の通信経路で接続されるようにしてもよい。
また、メモリコントローラ300とメインプロセッサ100および3つのサブプロセッサ200A〜200Cとの間を、それぞれ個別に設けられた専用の第3の通信経路NEM0〜NME3で接続している場合を例に示しているが、これらを共通バス形式の通信経路で接続されるようにしてもよい。
すなわち、各プロセッサおよびメモリコントローラのそれぞれの間を接続する通信経路の構成は、それぞれの間を接続して、それぞれの要求や応答を通信可能なものであれば、どのような形態であってもよい。
本発明のマルチプロセッサシステム10の一部を示す説明図である。 ユーザインタフェース110で実行される印刷イメージ処理制御について示す説明図である。 画像処理部120で実行される画像処理について示す説明図である。 レイアウト処理部130で実行されるレイアウト処理について示す説明図である。 割り込み処理部210Aで実行される割り込み処理について示す説明図である。 画像処理制御部250Aで実行される画像処理制御について示す説明図である。 デコード実行部280Bで実行されるデコード処理について示す説明図である。 デコード実行処理について示す説明図である。 印刷イメージ処理動作によって生成される印刷イメージ画像データの一例について示す説明図である。 通常の印刷イメージ処理動作について示す説明図である。 通常の印刷イメージ処理動作について示す説明図である。 キャンセル終了動作について示す説明図である。 キャンセル終了動作について示す説明図である。
符号の説明
10...マルチプロセッサシステム
20...RAM
30...入力装置
40...表示装置
50...記憶装置
100...メインプロセッサ
110...ユーザインタフェース
120...画像処理部
130...レイアウト処理部
150...割り込み発生部
160...NES通信部
170...NEM通信部
200A...第1のサブプロセッサ
200B...第2のサブプロセッサ
200C...第3のサブプロセッサ
210A...割り込み処理部
210B...割り込み処理部
210C...割り込み処理部
220A...NES通信部
220B...NES通信部
220C...NES通信部
230A...NIO通信部
230B...NIO通信部
230C...NIO通信部
240A...NEM通信部
240B...NEM通信部
240C...NEM通信部
250A...画像処理制御部
260A...デコード制御部
270A...画像補正制御部
280A...レイアウト実行部
280B...デコード実行部
280C...画像補正実行部
300...メモリコントローラ
INT...割り込み信号経路
INT1〜INT3...割り込み信号経路
NES...第1の通信経路
NES1〜NES3...第1の通信経路
NIO...第2の通信経路
NEM...第3の通信経路
NEM0〜NEM3...第3の通信経路

Claims (5)

  1. 複数のプロセッサを備えるマルチプロセッサシステムであって、
    前記複数のプロセッサのうちの第1のプロセッサと少なくとも1つの第2のプロセッサとの間に、
    前記第1のプロセッサから前記第2のプロセッサへ第1の処理要求信号を伝送するとともに、前記第2のプロセッサから前記第1のプロセッサへ前記第1の処理要求に対する第1の処理応答信号を伝送する、ために設けられた第1の通信経路と、
    前記第1の処理要求に従って前記第2のプロセッサで実行される処理の中止を示す第1の割り込み信号を伝送するために設けられた専用の第1の割り込み信号経路と、を備えており、
    前記第1のプロセッサは、前記第2のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、前記第2のプロセッサに対して、前記第1の処理要求に従って実行されている実行中の処理のキャンセルを示す前記第1の割り込み信号を、前記第1の割り込み信号経路を介して送信し、
    前記第2のプロセッサは、前記第1の割り込み信号を受信した場合において、前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第1の処理応答信号を、前記第1の通信経路を介して送信する、
    ことを特徴とするマルチプロセッサシステム。
  2. 請求項1記載のマルチプロセッサシステムであって、
    前記第2のプロセッサは、前記第1のプロセッサから前記第2のプロセッサに対して、複数の前記第1の処理要求が発生している状態で、前記第1の割り込み信号を受信した場合には、第1番目の前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す第1番目の前記第1の処理応答信号を、前記第1の通信経路を介して送信するとともに、第2番目以降の前記第1の処理要求に従って実行すべき未実行の処理を破棄して、前記実行すべき処理を未処理で終了したことを示す第2番目以降の前記第1の処理応答信号を、前記第1の通信経路を介して送信する、
    ことを特徴とするマルチプロセッサシステム。
  3. 請求項1または請求項2記載のマルチプロセッサシステムであって、さらに、
    前記複数のプロセッサのうちの前記第2のプロセッサと少なくとも1つの第3のプロセッサとの間に、
    前記第2のプロセッサから前記第3のプロセッサへ第2の処理要求信号を伝送するとともに、前記第3のプロセッサから前記第2のプロセッサへ前記第2の処理要求に対する第2の処理応答信号を伝送する、ために設けられた第2の通信経路と、
    前記第2の処理要求に従って前記第3のプロセッサで実行される処理の中止を示す第2の割り込み信号を伝送するために、前記第1のプロセッサとの間に設けられた専用の第2の割り込み信号経路と、を備えており、
    前記第1のプロセッサは、前記第2のプロセッサおよび第3のプロセッサで実行される処理のキャンセルを示すキャンセル信号が入力された場合に、前記第2のプロセッサに対して、前記第1の割り込み信号を、前記第1の割り込み信号経路を介して送信するとともに、前記第3のプロセッサに対して、前記第2の割り込み信号を、前記第2の割り込み信号経路を介して送信し、
    前記第3のプロセッサは、前記第2の割り込み信号を受信した場合において、前記第2の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第2の処理応答信号を、前記第2の通信経路を介して送信し、
    前記第2のプロセッサは、前記第1の割り込み信号を受信した場合において、前記第3のプロセッサから前記第2の処理応答信号を受信すると、前記第1の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す前記第1の処理応答信号を、前記第1の通信経路を介して送信する、
    ことを特徴とするマルチプロセッサシステム。
  4. 請求項3記載のマルチプロセッサシステムであって、
    前記第3のプロセッサは、前記第2のプロセッサから前記第1のプロセッサに対して、複数の前記第2の処理要求が発生している状態で、前記第2の割り込み信号を受信した場合には、第1番目の前記第2の処理要求に従って実行されている実行中の処理を中止して、前記実行中の処理の終了を示す第1番目の前記第2の処理応答信号を、前記第2の通信経路を介して送信するとともに、第2番目以降の前記第2の処理要求に従って実行すべき未実行の処理を破棄して、前記実行すべき処理を未処理で終了したことを示す第2番目以降の前記第2の応答処理信号を、前記第2の通信経路を介して送信する、
    ことを特徴とするマルチプロセッサシステム。
  5. 請求項1ないし請求項4のいずれかに記載のマルチプロセッサシステムであって、
    前記マルチプロセッサシステムは、1つの半導体基板上に集積化されている、
    ことを特徴とするマルチプロセッサシステム。
JP2005334291A 2005-11-18 2005-11-18 マルチプロセッサシステム Expired - Fee Related JP4618112B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005334291A JP4618112B2 (ja) 2005-11-18 2005-11-18 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005334291A JP4618112B2 (ja) 2005-11-18 2005-11-18 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2007140935A JP2007140935A (ja) 2007-06-07
JP4618112B2 true JP4618112B2 (ja) 2011-01-26

Family

ID=38203707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005334291A Expired - Fee Related JP4618112B2 (ja) 2005-11-18 2005-11-18 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP4618112B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6833491B2 (ja) * 2016-12-12 2021-02-24 キヤノン株式会社 情報処理装置
JP7294226B2 (ja) * 2020-04-24 2023-06-20 株式会社デンソー 電子制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114607A (ja) * 1995-10-16 1997-05-02 Brother Ind Ltd データ送受信システム
JP3488381B2 (ja) * 1998-05-29 2004-01-19 富士通株式会社 ジョブ管理方法,ジョブ管理装置およびジョブ管理システム
JP2001260433A (ja) * 2000-03-16 2001-09-25 Seiko Epson Corp プリンタおよびプリンタの制御方法

Also Published As

Publication number Publication date
JP2007140935A (ja) 2007-06-07

Similar Documents

Publication Publication Date Title
JP2014149605A (ja) 画像処理装置、システム及び方法
JP7554592B2 (ja) 画像処理装置及び制御方法、プログラム
JP2012119751A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2017130763A (ja) 遠隔支援システム、画像形成装置、外部端末、それらの制御方法、及びプログラム
JP5728439B2 (ja) データ保存先設定システム、情報処理装置、及びデータ保存先設定プログラム
JP4618112B2 (ja) マルチプロセッサシステム
CN104160371B (zh) 任务处理系统和任务处理方法
JP2014176026A (ja) 中継装置及びfax送受信プログラム
JP2011253264A (ja) 通信装置及びコンピュータプログラム
JP4128762B2 (ja) 画像処理装置及び画像処理システム
JP2012038076A (ja) 情報処理装置、ジョブ処理システム、ジョブ送信経路制御方法、及びプログラム、並びに記録媒体
JP2024008594A (ja) 印刷装置、制御方法、およびプログラム
US20150189499A1 (en) Communication apparatus, mobile device and storage medium
JP2018176598A (ja) 印刷装置およびプログラム
JP4250047B2 (ja) 画像形成装置
JP4848212B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP7558681B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP2014103562A (ja) 操作端末、操作端末を用いた情報処理システム、情報処理方法、プログラム
US9667607B2 (en) Control apparatus and communications control method
JP4424239B2 (ja) 画像形成装置
JP2007013280A (ja) 画像読取装置の読取条件設定方法および画像読取装置
JP2026000803A (ja) 情報処理装置、情報処理装置の制御方法及びそのプログラム
JP4362889B2 (ja) ネットワークスキャナの制御方法および装置
JP4258251B2 (ja) 状態通知受信装置
JP2025148108A (ja) 情報処理システム、プログラム、及び、制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100928

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101011

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

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4618112

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees