JP2004252900A - 非対称マルチプロセッサシステム、それを備えた画像処理装置および画像形成装置 - Google Patents
非対称マルチプロセッサシステム、それを備えた画像処理装置および画像形成装置 Download PDFInfo
- Publication number
- JP2004252900A JP2004252900A JP2003045042A JP2003045042A JP2004252900A JP 2004252900 A JP2004252900 A JP 2004252900A JP 2003045042 A JP2003045042 A JP 2003045042A JP 2003045042 A JP2003045042 A JP 2003045042A JP 2004252900 A JP2004252900 A JP 2004252900A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- job
- unit job
- processor
- dsp core
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
【解決手段】非対称マルチプロセッサシステムは、複数のプロセッサを含んでおり、少なくとも第1のプロセッサと第2のプロセッサとが非対称であり、仕事量の予測可能な複数の単位ジョブを単位ジョブ毎に複数のプロセッサに振り分けて行わせる。このために、非対称マルチプロセッサシステムでは、各単位ジョブを複数のプロセッサに割り当てる際の参照情報となる単位ジョブリストを作成し(S1)、そのリストに基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する単位ジョブスケジュール(S2〜S9)を作成する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、非対称のマルチプロセッサにより複数の単位ジョブを処理する非対称マルチプロセッサシステム、それを備えた画像処理装置および画像形成装置に関するものである。
【0002】
【従来の技術】
フルカラー複写機等のデジタル画像形成装置では、スキャナ等の画像入力装置から入力されたデータを電子写真方式の出力エンジンやインクジェット方式の出力エンジン等の画像出力装置に出力して印刷を行う。この際、デジタル画像形成装置では、画像入力装置からのRGBデータを画像出力装置に適合するCMYKデータ等に変換して出力する画像処理プロセスを実施する必要がある。
【0003】
この場合、上記画像処理プロセスで扱うデータ量は膨大であり、かつ画像出力装置の動作に追随するために高速なリアルタイム出力が要求される。このため、画像処理プロセスを行う従来のハードウェアは、ほとんどの場合、ASIC(Application Specific Integrated Circuits)のハードワイヤードで構成されていた。
【0004】
しかしながら、近年では、汎用プロセッサあるいはDSP(Digital Signal Processor)の性能向上により、画像処理プロセスをソフトウェアにて構成可能になってきた。この場合でも、命令を実行する処理部が1つだけのプロセッサにてフルカラー複写機等のデジタル画像形成装置向けの画像処理プロセスを実施するには性能上に問題がある。このため、この画像処理プロセスは、一つのプロセッサ要素の中に複数の処理部を搭載した、SIMD(Single Instruction,Multiple Data)型やVLIW(Very Long Instruction Word)型に代表されるMIMD(Multiple Instruction,Multiple Data)型のプロセッサ、これら両方の方式を複合したプロセッサ、あるいはこれらプロセッサをさらに複数個使用するマルチプロセッサシステムにて行われる場合が多い。
【0005】
ところで、上記のように、複数個の処理部を備えたプロセッサ、あるいはマルチプロセッサにて画像処理プロセスを行う場合には、どの演算器にどの部分の処理を割り当てるかという処理の分割問題が発生する。
【0006】
この分割に関し、SIMD型プロセッサは1つの命令で多数のデータを扱う方式であるため、画像処理プロセスをSIMD型プロセッサで行う場合にはデータ自身を分割する必要がある。
【0007】
また、MIMD型プロセッサやマルチプロセッサ構成では、画像処理プロセスを構成する一つの命令単位、あるいは一群の命令群単位で処理を分割できる。例えば特開平8−44678号公報(以下、第1従来技術と称する)には、処理対象となる画像データを各CPUの負荷に応じて分割し、処理する方法が紹介されている。
【0008】
一方、近年の汎用プロセッサあるいはDSPの性能向上は、主として集積化可能な回路規模の増大と動作速度の向上によって実現されているものの、処理性能の向上に伴って消費電力が増大する問題が発生している。この問題に対処するために、例えば特開平2002−99433公報(以下、第2従来技術と称する)には、稼動中の各時点において稼動中の各周期リアルタイムタスクに課せられた要求を満たすように、各プロセッサの動作周波数と電源電圧を調整することで消費電力の低減を図るシステムが紹介されている。
【0009】
また、特開平6−214961号公報(以下、第3従来技術と称する)には非対称プロセッサにおいて、作業リダイレクト動作によって動的に再割り当てを行う装置が紹介されている。
【0010】
【特許文献1】
特開平8−44678号公報(公開日平成8年2月16日)
【0011】
【特許文献2】
特開平2002−99433公報(公開日平成14年4月5日)
【0012】
【特許文献3】
特開平6−214961号公報(公開日平成6年8月5日)
【0013】
【発明が解決しようとする課題】
プロセッサにおいて複数個の処理部をどのように構成するかは重要な要素である。画像処理プロセス中には、例えばテーブル参照処理のように大量のメモリが必要な処理もあれば、FIR(Finite Impulse Response)フィルタ処理のように演算処理がほとんどを占める処理もある。また、FFT(Fast Fourier Transform)処理など、同じ処理を繰り返し行う処理の場合のように、専用命令を用意することで劇的に性能を向上できる場合もある。
【0014】
これらを考えれば、一つの命令単位、あるいは一群の命令群単位で処理を分割できるMIMD型プロセッサ構成あるいはマルチプロセッサ構成において、一部の処理のために必要なメモリや命令などのハードウェアリソースを各処理部あるいは各プロセッサが同じように持つ対称型プロセッサ構成を取るよりも、各処理部が非対称な構成を取る方が、プロセッサが必要とするメモリや回路規模などのハードウェアリソースを節約できる。
【0015】
この非対称マルチプロセッサ構成においては、あるプロセッサと別のプロセッサとではハードウェア条件が異なっており、画像処理プロセス全体が全てのプロセッサを使用して行われない。このため、第1従来技術で紹介されている手法、即ち画像データを分割して各処理部に割り当てるといった手法は用いることができない。
【0016】
また、これらの画像処理プロセスに用いるプロセッサ(画像処理プロセッサ)は高速な処理のため画像処理に特化した特殊な構成であることが多く、この場合ジョブの割り当てを行うためのディスパッチ処理などのシーケンス制御などは汎用プロセッサで行うほうが効率的であるが、複数の画像処理プロセッサを保持するマルチプロセッサ構成において、第3従来技術に記載のように負荷状況に応じて割り当てる単位ジョブを決定していたのでは、ディスパッチを行っている間は画像処理プロセッサが停止していることになり、結果としてシステム全体の処理速度が低下する。
【0017】
また、第1従来技術では、処理能力の観点のみを考慮して処理の分割を行っており、消費電力の抑制については考慮されていない。一方、第2従来技術では、稼動中の各時点において各プロセッサに必要な処理性能を算出し、その結果から消費電力の制御を行うようにしている。しかしながら、各プロセッサ要素単位で必要性能の算出を行っているため、非対称マルチプロセッサにおいて同じ単位ジョブを動作させた場合でも各プロセッサ要素によって消費電力が異なるということが消費電力制御に加味されていない。このため、非対称マルチプロセッサにおいて消費電力を十分に抑制可能な構成とはなっていない。
【0018】
本発明は上記の課題を解決するためになされたものであって、ハードウェアリソースを抑制しつつ、高い処理性能を実現すことができる非対称マルチプロセッサシステム、さらには効率よく消費電力を低減することができる非対称マルチプロセッサシステム、並びにそれを備えた画像処理装置および画像形成装置の提供を目的としている。
【0019】
【課題を解決するための手段】
上記の課題を解決するために、本発明の非対称マルチプロセッサシステムは、複数のプロセッサを含んでおり、少なくとも第1のプロセッサと第2のプロセッサとが非対称であり、仕事量の予測可能な複数の単位ジョブを単位ジョブ毎に複数のプロセッサに振り分けて行わせる非対称マルチプロセッサシステムにおいて、各単位ジョブを前記複数のプロセッサに割り当てる際の参照情報となる単位ジョブ処理情報を作成する単位ジョブ処理情報作成手段と、前記単位ジョブ処理情報に基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する単位ジョブスケジュール作成手段とを備えていることを特徴としている。
【0020】
上記の構成によれば、仕事量の予測可能な複数の単位ジョブが非対称のプロセッサにて行われる際に、単位ジョブスケジュール作成手段は、単位ジョブ処理情報作成手段にて作成された単位ジョブ処理情報に基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する。
【0021】
これにより、非対称となっている各プロセッサの性能を適切に利用して、ハードウェアリソースを抑制しつつ、高い処理性能を実現することができる。
【0022】
上記の非対称マルチプロセッサシステムは、複数のプロセッサのうちの第1のプロセッサと第2のプロセッサとが、少なくとも1つの単位ジョブについて互いに異なるプログラムに基づいて共に実行可能である構成としてもよい。
【0023】
上記の構成によれば、同一の単位ジョブを非対称となる複数のプロセッサにて実行可能であるので、単位ジョブのスケジューリングにおける自由度を増やすことが可能となる。したがって、非対称マルチプロセッサシステムにおいて、単位ジョブを実行可能なプロセッサが限定されている場合と比較して、単位ジョブの実行時間が短くなるようなジョブスケジューリングが容易となる。これにより、非対称マルチプロセッサの性能を効率的に引き出すことが容易となる。
【0024】
上記の非対称マルチプロセッサシステムは、前記単位ジョブ処理情報が各プロセッサでの消費電力情報を含んでおり、前記単位ジョブスケジュール作成手段が、消費電力情報に基づいて、消費電力が少なくなるように各単位ジョブの割り当て先プロセッサを決定する構成としてもよい。
【0025】
上記の構成によれば、消費電力情報が各プロセッサ上で実行する単位ジョブのスケジューリングに反映される。これにより、効率よく消費電力を低減することができる。
【0026】
上記の非対称マルチプロセッサシステムは、前記単位ジョブスケジュール作成手段での処理結果に応じて、前記の各プロセッサを単位ジョブの実行が可能な動作モードとこの動作モードに対して省電力化が可能な省電力モードとの間で切り替えるモード切替手段を備えている構成としてもよい。
【0027】
上記の構成によれば、単位ジョブのスケジューリング結果に応じてプロセッサ要素の消費電力モードを切り替えることができるので、効率よく消費電力を低減することができる。
【0028】
上記の非対称マルチプロセッサシステムは、複数のプロセッサのうちの第1のプロセッサに対応するメモリと第2のプロセッサに対応するメモリとはメモリ容量が互いに異なる構成としてもよい。
【0029】
上記の構成によれば、単位ジョブの実行に要するメモリ容量に応じて、その単位ジョブを各プロセッサに割り当てることにより、非対称マルチプロセッサに要求される処理性能を比較的小さいハードウェアリソースにて実現することができる。
【0030】
上記の非対称マルチプロセッサシステムは、複数のプロセッサに、単位ジョブを実行するための所定の命令セットを実行可能な第1のプロセッサと、前記命令セットの一部である命令サブセットを少なくとも実行可能な第2のプロセッサとが含まれて構成としてもよい。
【0031】
上記の構成によれば、例えば高速化のための特殊な命令セットを用いる一部の単位ジョブを除いた他の多くの単位ジョブに対して、割り当て可能なプロセッサ要素が増加することになり、非対称マルチプロセッサに要求される処理性能を比較的少ないハードウェアリソースにて実現することができる。
【0032】
上記の非対称マルチプロセッサシステムは、前記単位ジョブ処理情報が、単位ジョブ毎の処理に要する時間の予想値を示す情報と、単位ジョブ間の依存関係を示す情報と、単位ジョブ毎の処理可能なプロセッサを示す情報とを含んでいる構成としてもよい。
【0033】
上記の構成によれば、単位ジョブ処理情報が上記の各情報を含んでいることにより、単位ジョブの効率的な割り当てが可能となり、プロセッサ要素の無駄な待ち時間を減らしたジョブスケジューリングを実現することができる。
【0034】
上記の非対称マルチプロセッサシステムは、前記単位ジョブスケジュール作成手段が、少なくとも各単位ジョブの終了毎に単位ジョブの実行順序を決定する構成としてもよい。
【0035】
上記の構成によれば、プロセッサのジョブスロットに空きができた後に次に実行すべき単位ジョブを割り当てることができ、効率的なジョブスケジューリングが可能となる。
【0036】
上記の非対称マルチプロセッサシステムは、前記単位ジョブスケジュール作成手段が、前記複数のプロセッサの何れかが実行可能な単位ジョブを抽出する処理と、実行すべき単位ジョブが未定のプロセッサを抽出する処理と、この抽出したプロセッサに対して実行可能な単位ジョブを割り当てる処理とを行う構成としてもよい。
【0037】
上記の構成によれば、各プロセッサ側が実行の可否判断を行う必要なく、各プロセッサ側の制御を簡素化することができる。
【0038】
上記の非対称マルチプロセッサシステムは、前記単位ジョブスケジュール作成手段が、所定の単位ジョブについて、少なくともその単位ジョブを実行可能な第1のプロセッサに対して、第1のプロセッサよりも多種類の単位ジョブを実行可能な第2のプロセッサよりも優先して割り当てる構成としてもよい。
【0039】
上記の構成によれば、実行可能な単位ジョブの種類が相対的に少ないプロセッサに対して、そのプロセッサで処理可能な単位ジョブを、実行可能な単位ジョブの種類が相対的に多いプロセッサよりも優先して割り当てることにより、実行可能な単位ジョブの種類が相対的に少ないプロセッサのジョブスロットに空きが生じ、他の単位ジョブを割り当て可能な確率が相対的に減少するという、非対称マルチプロセッサシステムの作業効率が低下する事態を防止することができる。
【0040】
本発明の画像処理装置は、上記の何れかの非対称マルチプロセッサシステムを備えた構成である。これにより、単位ジョブの実行時間の変動幅があらかじめ予測可能で、かつ次に実施すべき単位ジョブがあらかじめ判明しているという画像処理の特徴を用いて、単位ジョブのスケジューリングをすることで、非対称マルチプロセッサ構成をもつ画像処理装置における各プロセッサ要素の空き時間を極力短くすることができる。
【0041】
本発明の画像形成装置は、上記の画像処理装置を備えた構成である。これにより、単位ジョブの実行時間の変動幅があらかじめ予測可能で、かつ次に実施すべき単位ジョブがあらかじめ判明しているという画像形成装置での画像処理の特徴を用いて、単位ジョブのスケジューリングをすることで、非対称マルチプロセッサ構成をもつ画像処理装置における各プロセッサ要素の空き時間を極力短くすることができる。
【0042】
【発明の実施の形態】
〔実施の形態1〕
本発明の実施の一形態を図面に基づいて以下に説明する。本実施の形態においては、非対称マルチプロセッサシステムが画像形成装置の画像処理装置に適用された場合について説明する。
【0043】
例えばデジタル複写機である画像形成装置は、図2に示すように、コンソール10、コントローラ11、スキャナ部(画像入力装置)12、画像処理部(画像処理装置)13およびエンジン部(画像出力装置)14を備えている。
【0044】
コンソール10は、ユーザとのインタフェースを行うための液晶表示装置および動作指示用のボタン類を備えている。
【0045】
コントローラ11は、汎用CPU(Central Processing Unit)で構成され、スキャナ部12、画像処理部(画像処理装置)13およびエンジン部14をコントロールし、一連のコピー動作を制御する。
【0046】
スキャナ部12は、CCD(Charge Coupled Device)ラインイメージセンサユニットと副走査方向駆動系とを備える。このスキャナ部12は、原稿を走査し、1主走査ライン毎にRGB(R:赤・G:緑・B:青)カラー信号を生成し、この信号を有効範囲のみA/D変換してデジタルデータに変換し、画像処理部13に出力する。この場合、スキャナ部12は走査速度に応じた一定間隔で処理すべき主走査ラインデータを画像処理部13に出力する。
【0047】
画像処理部13は、スキャナ部12からのRGB画像データを受け取り、CMYK画像データを生成し、エンジン部14へ出力する。
【0048】
エンジン部14は、例えばCMYKの4色トナーを用いたタンデム方式の電子写真方式のカラー出力エンジンを出力機器として使用している。このエンジン部14では、画像処理部13からの1ページ分のCMYKデータ値を受け取り、CMYKデータ値を用いて出力用紙に画像を出力する。なお、エンジン部14は、CMYKの4色インクを用いたインクジェット方式の出力エンジンを出力機器として使用していてもよい。
【0049】
次に、画像処理部13の構成および機能について説明する。
画像処理部13は、図3に示すように、画像処理チップ29と外部ROM31と外部RAM32とで構成されている。画像処理チップ29は、DSP(Digital Signal Processor)コアA20、DSPコアB21、40KBローカルRAM(ローカルメモリ)22、16KBローカルRAM(ローカルメモリ)23、汎用CPU24、外部ROMI/F25、画像入力I/F26、画像出力I/F27および外部RAMI/F28を含んでいる。
【0050】
汎用CPU24は、コントローラ11からの指示を受け、コピー動作の実行に必要な画像処理部13全体の動作を制御する。
【0051】
DSPコアA20は、メインDSPであり、DSPコアB21はサブDSPである。DSPコアA20が実行可能な命令は、DSPコアB21が実行可能な命令に対して、後述するフィルタ処理の処理速度を向上させるために、SIMD処理命令を加えたスーパーセットとなっている。
【0052】
DSPコアA20には、それ自身のローカルメモリとして40KBローカルRAM22が接続され、DSPコアB21には、それ自身のローカルメモリとして16KBローカルRAM23が接続されている。これらは、各DSPコアが単位ジョブを実行する際のワークメモリとして使用される。
【0053】
上記の構成から、DSPコアA20は、画像処理部が行うべき画像処理プロセスを構成する単位ジョブ実行プログラムの全種類を実行することができる。一方、DSPコアB21は、上記単位ジョブ実行プログラムの一部の種類、例えばフィルタ処理および色補正処理以外の単位ジョブのみを実行することができる。
【0054】
外部ROMI/F25は、画像処理チップ29内部の各処理ブロックを接続している内部バス30の信号を、外部ROM31に接続可能なように変換する。
【0055】
外部RAMI/F28は、内部バス30の信号を外部RAM32に接続可能なように変換する。画像入力I/F26は、汎用CPU24からの指示により、スキャナ部12からのRGB画像データを外部RAMI/F28を通して外部RAM32内に格納する。画像出力I/F27は汎用CPU24からの指示により、外部RAMI/F28を通して外部RAM32内に格納されているCMYK画像データを読み出して出力する。
【0056】
画像処理部13は、コントローラ11からの指示により、図4(a)(b)のフローチャートに示す一連の画像処理プロセスを実行する。この画像処理プロセスは、シェーディング補正処理、入力ガンマ補正処理、領域分離処理、フィルタ処理、変倍処理、色補正処理および多値ディザ処理の各単位ジョブから構成されている。これら各ジョブは、汎用CPU24により、DSPコアA20とDSPコアB21とのどちらで実行するのかを決定するスケジューリング後に、それぞれに割り振られる。
【0057】
各単位ジョブでは、汎用CPU24が指示する外部RAM32上の処理対象データを取り出し、同じく汎用CPU24が指示する外部RAM32上の処理結果格納領域に処理結果データを格納する。このように各単位ジョブ間のデータの受け渡しは、スキャナ部12からのデータ入力およびエンジン部14へのデータ出力も含めて外部RAM32を介して行われ、処理が終了するまでは外部メモリ32上に滞留する。したがって、外部RAM32のメモリ容量は、ワースト条件においても上記受け渡しされるデータがメモリ上に滞留できるように十分な容量が確保されている。
【0058】
なお、上記ワースト条件とは、全ての単位ジョブが処理を完了するために最大値で示される時間を必要とする場合を指す。但し、単位ジョブ間の依存関係により、ある単位ジョブ(例えば領域分離)が最大値で示される時間を必要とする場合には別の単位ジョブ(例えばフィルタ処理)では必ず最大値未満の時間で終了する場合もある。この場合を考慮したワースト条件とは、全依存関係の組み合わせ条件中、当該システムにおいて最も実行時間を必要とする条件を指す。
【0059】
次に、画像処理部13における画像処理プロセスを図4(a)(b)のフローチャートに基づいて説明する。
【0060】
まず、図4(a)に示すように、画像処理部13では、スキャナ部12から主走査ラインデータを受け取ったかどうか判定し、受け取るまで待つ(S11)。上記データを受け取った場合には、そのラインについて1ライン処理プロセスを起動し(S12)、全ラインについて処理が終了すると(S13)、画像処理プロセスを終了する。
【0061】
上記の1ライン処理プロセスにおいて、画像処理部13は図4(b)に示す各単位ジョブを順次実行する。それら各単位ジョブは、DSPコアA20およびDSPコアB21上で動作するプログラムコードとして外部ROM31に格納されており、それらプログラムコードを各DSPコアが読み取ることで実行される。
【0062】
上記の1ライン処理プロセスでは、図4(b)に示すように、各単位ジョブとして、シェーディング補正処理(S22)、入力ガンマ補正処理(S24)、領域分離処理(S26)、フィルタ処理(S28)、変倍処理(S30)、色補正処理(S32)および多値ディザ処理(S34)が順次行われる。また、これら各単位ジョブの開始前のタイミングと、これら各単位ジョブの終了毎のタイミングとにおいて、単位ジョブのスケジューリング処理が行われる(S21、S23、S25、S27、S29、S31、S33、S35)。
【0063】
シェーディング補正処理(S22)においては、主走査方向内で光量分布がある入力データを補正し、光量分布がないようなデータに変換する。即ち、スキャナ部12より送られてきたデジタルのRGB信号に対して、カラー画像入力装置の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を行う。
【0064】
入力ガンマ補正処理(S24)においては、画像入力装置の入力特性を、後段画像処理で扱いやすいように、画像データがCCDの感度にリニアになるように補正する。
【0065】
領域分離処理(S26)においては、入力されてきた画像の各画素に対して、文字画素かそれ以外の画素かの属性値1bitを付加する。
【0066】
フィルタ処理(S28)においては、画素毎に2次元FIR(Finite Impulse Response)フィルタをかけ、画素毎の属性情報を用いて文字領域か否かを判定する。文字領域であれば、注目画素を中心として主走査方向5画素、副走査方向5画素の計25画素の画素データを用いて強調フィルタ処理をかけ、文字エッジを強調する。それ以外の領域であれば、注目画素を中心とした主走査方向7画素、副走査方向7画素の49画素の画素データを用いて平滑フィルタ処理を行い、ノイズの除去を行う。フィルタ処理は高速化のためにSIMD(Single Instruction,Multiple Data)命令を用いたプログラムコードで記載されており、DSPコアA20でしか実行できない。
【0067】
変倍処理(S30)においては、入力されてきた画像データを主走査方向に変倍処理し、主走査方向に対して画像を拡大あるいは縮小する。
【0068】
色補正処理(S32)においては、RGB多値データをCMYK多値データに変換する。即ち、色再現の忠実化実現のために、不要吸収成分を含むCMYK色材の分光特性に基づいたテーブル参照値を用いてRGB値からCMYK値に演算にて変換する。この際のテーブル参照値を格納するためのメモリ容量として約35.1KBytesが必要である。このために、色補正処理はDSPコアA20でしか実行できない。
【0069】
多値ディザ処理(S34)においては、各色256階調のCMYKデータをエンジン部14の能力に合わせて各色16階調で表現するためにディザ処理を行う。
【0070】
以上の単位ジョブの実行後には、前述のように、全主走査ラインの処理終了か否かを判定し(S13)、未終了であれば、処理が終了まで、S21からS35の処理を含む、S11からS13の処理を継続する。
【0071】
次に、単位ジョブのスケジューリングについて説明する。
画像処理プロセスでは汎用CPU24によってシーケンス制御が行われる。この際、単位ジョブのスケジューリングとして、各単位ジョブの単位でそれらの実行順序が決定され、DSPコアA20およびDSPコアB21に割り振られる。
【0072】
汎用CPU24での各単位ジョブのスケジューリングは、画像処理プロセスの実行開始時、および各DSPコアからの単位ジョブ終了通知毎に実行される。単位ジョブのスケジューリング自体にも時間を要するため、DSPコアの効率的な動作のために、各DSPコアが実行している単位ジョブの終了後に、次に行うべき単位ジョブを汎用CPU24が決定する。このため、本実施の形態において、各DSPコアは現在行うべき単位ジョブと次に行うべき単位ジョブとの2種類のジョブスロットとして扱われ、スケジューリングされる。
【0073】
次に、汎用CPU24におけるスケジューリングの動作の一例を図1のフローチャートに基づいて説明する。
【0074】
汎用CPU24はスケジューリングする際に必要な情報として、図5(a)(b)に示す単位ジョブ情報を有する。この単位ジョブ情報には、図5(a)に示す、各単位ジョブの処理時間の最小・最大、DSPコアB21での実行可能情報、単位ジョブ間の依存関係、即ち各単位ジョブの次に実行すべき単位ジョブ(画像処理)に関する情報、および図5(b)に示す主走査ライン受け取り間隔等の情報が含まれる。
【0075】
スケジューリングにおいて、汎用CPU24は、まず各DSPコアが実行可能な単位ジョブリストを作成する(S1)。これは、各DSPコアが実施段階で確実に実行可能になる単位ジョブをリストアップするものである。この目的でリストアップされる単位ジョブには、
(1)スケジュール段階で実行待ち(アクティブ)状態にある単位ジョブ
(2)自身のコアで実行中の単位ジョブの次に行うべき単位ジョブ
(3)現在、他方のDSPコア上で実行中の単位ジョブを最大実行時間で見積もった場合の終了時間が、現在対象DSPコア上で実行中の単位ジョブを最小実行時間で見積もった場合の終了時間よりも早い場合における、他方のDSPコア上で実行中の単位ジョブの次に実行すべき単位ジョブ
(4)定期投入される単位ジョブ
が含まれる。したがって、これら各単位ジョブについてのリストが作成される。
【0076】
なお、上記(3)の単位ジョブとしては、汎用CPU24が必要とするスケジューリング時間を考慮し、次のような単位ジョブを対象としてもよい。即ち、他方のDSPコア上で実行中の単位ジョブを最大実行時間で見積もった場合の終了時間が、現在対象DSPコア上で実行中の単位ジョブの最小実行時間と汎用CPU24が必要とするスケジューリング時間とを加算した時間よりも早い場合における、他方のDSPコア上で実行中の単位ジョブの次に実行すべき単位ジョブとしてもよい。但し、この場合は他方のDSPコアにおける処理終了通知を合図として、割り当てられた単位ジョブを開始するための機能をDSPコアが有する。
【0077】
S1での単位ジョブリストの作成完了後、汎用CPU24は、DSPコアB21に割り当てていないジョブスロットがあるかどうかを判定する(S2)。
【0078】
その結果、未割り当てのジョブスロットがあれば、実行可能な単位ジョブリスト中にDSPコアA20およびDSPコアB21のどちらでも同じ処理時間で実行可能な単位ジョブ、即ち汎用ジョブがあるかどうかを判定し(S3)、汎用ジョブがあればその汎用ジョブとしての単位ジョブをDSPコア21に割り当てる(S4)。
【0079】
S2でジョブスロットがない場合、S3で汎用ジョブがない場合、およびS4の処理が終了した場合には、DSPコアA20に割り当てていないジョブスロットがあるかどうかを判定する(S5)。
【0080】
S5での判定の結果、DSPコアA20に割り当てていないジョブスロットがあれば、実行可能な単位ジョブリスト中にDSPコアA20でのみ実行可能な単位ジョブ、即ち専用ジョブがあるかどうかを判定する(S6)。専用ジョブがあればその専用ジョブとしての単位ジョブをDSPコアA20に割り当て(S7)、S2へ戻る。なお、S5においてDSPコアA20に空いているジョブスロットがなければ処理を終了する。
【0081】
一方、S6で専用ジョブがなければ、実行可能な単位ジョブリスト中に汎用ジョブがあるかどうかを判定する(S8)。汎用ジョブがあればその汎用ジョブとしての単位ジョブをDSPコアA20に割り当て(S9)、S2へ戻る。なお、S8において実行可能な汎用ジョブがなければ処理を終了する。
【0082】
上記のジョブの割り当て処理(単位ジョブのスケジューリング)の具体例を図6および図7に例示する。
【0083】
図6には、DSPコアA20のジョブスロットが空いた場合において、実行可能な単位ジョブリストに主走査ライン番号101のフィルタ処理と主走査ライン番号102番の入力ガンマ補正処理とがある場合を示す。この場合、フィルタ処理は、DSPA20でのみ実行可能な単位ジョブであるため、DSPコアA20の空いたジョブスロットに割り当てられる。
【0084】
図7には、DSPコアB21のジョブスロットが空いた場合において、実行可能な単位ジョブリストに主走査ライン番号202のシェーディング補正処理と主走査ライン番号201番の入力ガンマ補正処理とがある場合を示す。この場合、どちらの単位ジョブも汎用ジョブであるものの、入力ガンマ補正処理の主走査ライン番号が小さいため、DSPコアB21の空いたジョブスロットには入力ガンマ補正処理が割り当てられる。
【0085】
上記のように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合に、単位ジョブの実行に先立って単位ジョブのスケジューリングを行い、DSPコアA20とDSPコアB21とのどちらでも同じ処理時間で実行可能な単位ジョブについては、相対的に処理可能な単位ジョブの種類に制限のあるDSPコアB21に優先的に割り当てている。
【0086】
このように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合において、非対称のプロセッサに対して、非対称となっている特性の違い、例えば処理能力の違いに応じて、各単位ジョブを効率よく処理できるように、例えば一連の画像処理全体として処理速度が速くなるように、単位ジョブのスケジューリングにおいて、各単位ジョブを各DSPコアに割り当てている。したがって、ハードウェアリソースを抑制した構成により、効率よく単位ジョブを処理することができる。
【0087】
なお、本実施の形態では、説明の便宜上、単位ジョブを実行するDSPコアを2個のみ備えた構成について説明しているが、DSPコアを3個以上備えた構成であってもよい。この点は、以下の他の実施の形態においても同様である。
【0088】
〔実施の形態2〕
本発明の実施の他の形態を図面に基づいて以下に説明する。
本実施の形態の非対称マルチプロセッサシステムを備えた画像形成装置は、画像処理部13が画像処理チップ29に代えて図8に示す画像処理チップ41を備えている。この画像処理チップ41では、前記画像処理チップ29に対してクロック生成回路A42およびクロック生成回路B43が追加された構成となっている。
【0089】
クロック生成回路A42は汎用CPUコア24からの動作周波数指示信号44によってDSPコアA20に指定された周波数のクロックを供給する。またクロック生成回路B43は汎用CPUコア24からの動作周波数指示信号45によってDSPコアB21に指定された周波数のクロックを供給する。但し、本実施の形態において、クロック生成回路A42とクロック生成回路B43は同じ周波数のクロックを各々の対応するDSPコアに供給するものとする。
【0090】
DSPコアA20はDSPコアB21と比較して、SIMD処理命令を実装しているため回路規模が大きい。DSPコアA20のローカルメモリ(40KBローカルRAM22)のサイズは40KBであり、DSPコアB21のローカルメモリ(16KBローカルRAM23)のサイズの16KBと比較して大きい。したがって、同一クロック周波数で動作している場合でもDSPコアA20の方がDSPコアB21よりも消費電力が大きくなる。さらに、同じ処理量当りの消費電力は処理内容によってばらつきがあるものの、同じ処理を行う場合、消費電力は、全てDSPコアA20の方がDSPコアB21より大きくなる。
【0091】
上記の点から、DSPコアA20は、画像処理部13が行うべき画像処理プロセスを構成する単位ジョブ実行プログラムの全てを実施することができる反面、消費電力が大きい。これに対し、DSPコアB21は、単位ジョブ実行プログラムの一部の種類の単位ジョブ、例えば色補正処理を実施できないものの、消費電力が比較的小さい。また、DSPコアB21はフィルタ処理の処理速度を向上させるためのSIMD処理命令を持っていないため、DSPコアA20とは別のプログラムコードを用いてフィルタ処理を実施する。この場合、DSPコアB21での処理速度は、SIMD処理命令を用いないので、遅くなる。
【0092】
本実施の形態においても画像処理部13は、前記実施の形態の場合と同様、コントローラ11からの指示により、前記図4(a)(b)のフローチャートに示す一連の画像処理プロセスを実行する。
【0093】
この場合、フィルタ処理では、高速化のためにSIMD命令を用いたプログラムコードで記載されたフィルタ処理コードAとSIMD命令を用いないプログラムコードで記載されたフィルタ処理コードBが存在する。フィルタ処理コードAはDSPコアA20でしか実行できないのに対し、フィルタ処理コードBはDSPコアA20およびDSPコアB21の両方で実行可能である。
【0094】
汎用CPU24はスケジューリングする際に必要な情報として、図9(a)(b)に示す単位ジョブ情報を有する。この単位ジョブ情報には、図9(a)に示す、各単位ジョブの処理時間の最小・平均・最大、DSPコアB21での実行可能情報、単位ジョブ間の依存関係、即ち各単位ジョブについての次に実行すべき単位ジョブ(処理)に関する情報、および図9(b)に示す主走査ライン受け取り間隔等の情報が含まれる。
【0095】
次に、本実施の形態の画像処理部13における単位ジョブのスケジューリングを図10のフローチャートにより説明する。
【0096】
スケジューリングに際して、汎用CPU24は、まず各DSPコアが実行可能な単位ジョブリストおよび各DSPコアにおいて実行が予定されている単位ジョブリストを作成する(S41)。
【0097】
各DSPコアが実行可能な単位ジョブリストは、前述の例と同様、各DSPコアが実施段階で確実に実行可能になる単位ジョブをリストアップするものである。この目的でリストアップされる単位ジョブには、
(1)スケジュール段階で実行待ち(アクティブ)状態にある単位ジョブ
(2)自身のコアで実行中の単位ジョブの次に行うべき単位ジョブ
(3)現在、他方のDSPコア上で実行中の単位ジョブを最大実行時間で見積もった場合の終了時間が、現在対象DSPコア上で実行中の単位ジョブを最小実行時間で見積もった場合の終了時間よりも早い場合における、他方のDSPコア上で実行中の単位ジョブの次に実行すべき単位ジョブ
(4)定期投入される単位ジョブ
が含まれる。
【0098】
また、実行が予定されている単位ジョブリストに挙げられる単位ジョブには、(5)他方のDSPコア上で実行が予定されている単位ジョブの次に実行されるべき単位ジョブ
(6)次に定期投入される単位ジョブ
が含まれる。
【0099】
なお、この場合も前述の例と同様、上記(3)の単位ジョブとしては、汎用CPU24が必要とするスケジューリング時間を考慮し、次のような単位ジョブを対象としてもよい。即ち、他方のDSPコア上で実行中の単位ジョブを最大実行時間で見積もった場合の終了時間が、現在対象DSPコア上で実行中の単位ジョブの最小実行時間と汎用CPU24が必要とするスケジューリング時間とを加算した時間よりも早い場合における、他方のDSPコア上で実行中の単位ジョブの次に実行すべき単位ジョブとしてもよい。但し、この場合は他方のDSPコアにおける処理終了通知を合図として、割り当てられた単位ジョブを開始するための機能をDSPコアが有する。
【0100】
S41での単位ジョブリストの作成完了後、汎用CPU24は、DSPコアB21に割り当てていないジョブスロットがあるかどうか、即ちジョブスロットの空きがあるかどうかを判定する(S42)。
【0101】
その結果、ジョブスロットの空きがあれば、実行可能な単位ジョブリスト中にDSPコアA20およびDSPコアB21のどちらでも同じ処理時間で実行可能な単位ジョブ、即ち汎用ジョブがあるかどうかを判定する(S43)。汎用ジョブがあればその汎用ジョブとしての単位ジョブをDSPコアB21に割り当てる(S44)。その後、S42へ戻る。
【0102】
S43において汎用ジョブがなく、非対称ジョブ、即ちDSPコアA20とDSPコアB21とのどちらでも実行可能であり、かつ実行するプログラムが異なるため実行に要する時間が異なる単位ジョブがある場合には、その非対称ジョブをDSPコアB21に割り当てるかどうかについて判定する(S45)。
【0103】
この判定は次のようにして行われる。即ち、本実施の形態では、フィルタ処理が非対称ジョブであり、DSPコアA20でフィルタ処理コードAを用いてフィルタ処理を実施する場合の平均実行時間120と、DSPコアB21でフィルタ処理コードBを用いてフィルタ処理を実施する場合の平均実行時間200との差は時間80である。そこで、この時間80内にDSPコアB21で実行可能な汎用ジョブが発生しないと予想される場合にのみ、DSPコアB21にフィルタ処理を割り当てる(S46)。その後、S42へ戻る。
【0104】
S42において、DSPコアB21に割り当てていないジョブスロットがなく、即ちDSPコアB21のジョブスロットに空きがない場合、およびS45において、前記の条件に基づき、DSPコアB21に非対称ジョブを割り当てることができない場合には、DSPコアA20のジョブスロットに空きがあるかどうかを判定する(S47)。
【0105】
この判定の結果、DSPコアA20のジョブスロットに空きがある場合には、実行可能な単位ジョブリスト中にDSPコアA20でのみ実行可能な単位ジョブ、即ち専用ジョブがあるかどうかを判定する(S48)。この結果、専用ジョブがあれば、その専用ジョブとしての単位ジョブをDSPコアA20に割り当てる(S49)。その後、S42へ戻る。
【0106】
一方、S48において専用ジョブがなければ、汎用ジョブまたは非対称ジョブがあるかどうかを判定する(S50)。その結果、汎用ジョブまたは非対称ジョブがあれば、DSPコアA20にその単位ジョブを割り当てる(S51)。その後、S42へ戻る。
【0107】
また、S47においてDSPコアA20のジョブスロットに空きがない場合、およびS50において汎用ジョブまたは非対称ジョブがない場合には、処理を終了する。
【0108】
ここで、S43、S45、S48およびS50での汎用ジョブ、非対称ジョブおよび専用ジョブの有無の判定において同種のジョブが存在した場合には、主走査ライン番号が少ない方の単位ジョブが優先的に選択される。
【0109】
例えば、図11に示すような状態でDSPコアA20のジョブスロットが空いた場合において、実行可能な単位ジョブリストには主走査ライン番号100のフィルタ処理が存在する。このフィルタ処理は非対称ジョブであるため、S45においてDSPコアB21に投入すべきかどうかの判定が行われる。このとき、DSPコアA20で実行が予定されている単位ジョブである多値ディザ処理の次に実行すべき単位ジョブはないため、実行が予定されている単位ジョブとしては定期投入される単位ジョブである主走査ライン番号101のシェーディング補正処理のみが挙げられる。この場合、DSPコアB21で現在実行中の単位ジョブである主走査ライン番号100の領域分離処理の平均終了時間が50250と予想されており、主走査ライン番号101のシェーディング補正処理が実行可能になる50500までには時間250の間がある。このため、DSPコアB21で非対称ジョブであるフィルタ処理を実行した場合のDSPコアA20で実行する場合の時間に対するオーバヘッドである時間80を考慮したとしても、DSPコアB21で実行した方が効率がよい。そこで、フィルタ処理は、DSPコアB21に実行が予定されている単位ジョブとして登録する。
【0110】
上記のように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合に、単位ジョブの実行に先立って単位ジョブのスケジューリングを行い、DSPコアA20とDSPコアB21とのどちらでも同じ処理時間で実行可能な単位ジョブについては、相対的に処理可能な単位ジョブの種類に制限のあるDSPコアB21に優先的に割り当てている。
【0111】
また、非対称ジョブ、即ちDSPコアA20とDSPコアB21とのどちらでも実行可能であり、かつ実行するプログラムが異なるため実行に要する時間が異なる単位ジョブについては、非対称のプロセッサであるDSPコアA20とDSPコアB21とのうち、現在実行中の単位ジョブの完了を考慮して、その非対称対処ジョブの完了時刻が早くなると予想される方に割り当てるようにしている。
【0112】
このように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合において、非対称のプロセッサに対して、非対称となっている特性の違い、例えば処理能力の違いに応じて、各単位ジョブを効率よく処理できるように、例えば一つの画像データに対する一連の画像処理全体の処理速度が速くなるように、各単位ジョブを各DSPコアに割り当てている。したがって、ハードウェアリソースを抑制した構成により、効率よく単位ジョブを処理することができる。
【0113】
〔実施の形態3〕
本発明の実施のさらに他の形態を図面に基づいて以下に説明する。
【0114】
本実施の形態において、画像形成装置(デジタル複写機)の構成および画像処理部13の構成は、実施の形態2に示した例と同様である。さらに、画像処理プロセスも図4(a)(b)のフローチャートに示したものと同様である。したがって、ここではそれらについての説明を省略する。
【0115】
但し、本実施の形態において、図8に示すクロック生成回路A42とクロック生成回路B43は、スケジューリング結果に応じた周波数のクロックを各々のDSPコアに供給する。
【0116】
次に、本実施の形態における単位ジョブのスケジューリングについて説明する。
【0117】
画像処理部13における画像処理プロセスでは、汎用CPU24によってシーケンス制御が行われ、各単位ジョブの単位で実行順序が決定され、それら各単位ジョブがDSPコアA20およびDSPコアB21に割り振られる。
【0118】
汎用CPU24における単位ジョブのスケジューリングは、画像処理プロセスの実行開始時、および各DSPコアからの単位ジョブ終了通知毎に実行される。画像処理プロセスでは単位ジョブのスケジューリング自身にも時間がかかるため、汎用CPU24は、DSPコアの効率的な動作のために、各DSPコアが実行している単位ジョブの終了後に次に行うべき単位ジョブを決定する。このため、本実施の形態では、各DSPコアについて現在行うべき単位ジョブと次に行うべき単位ジョブとの2種類がジョブスロットとして扱われ、スケジューリングされる。
【0119】
本実施の形態において、画像処理部13の汎用CPU24は、スケジューリングする際に必要な情報として、図12(a)に示す、各単位ジョブの処理時間の最小・平均・最大と平均消費電力指数、DSPコアB21についての実行可能情報、次に実行すべき処理に関する情報、および図12(b)に示す、主走査ライン受け取り間隔といった単位ジョブ情報を有する。
【0120】
本実施の形態の画像処理部13において、汎用CPU24は、実施の形態2の場合と同様、図13に示すフローで単位ジョブのスケジューリングを行う。
【0121】
スケジューリングに際して、汎用CPU24は、まず各DSPコアが実行可能な単位ジョブリストおよび各DSPコアにおいて実行が予定されている単位ジョブリストを作成する(S61)。
【0122】
各DSPコアが実行可能な単位ジョブリストには、前述の(1)〜(4)の単位ジョブが含まれ、各DSPコアにおいて実行が予定されている単位ジョブリストには、前述の(5)〜(6)の単位ジョブが含まれる。上記(3)の単位ジョブの他の例として挙げられるものも前述の例の場合と同様である。
【0123】
S61での単位ジョブリストの作成完了後、汎用CPU24は、DSPコアB21に割り当てていないジョブスロットがあるかどうか、即ちジョブスロットの空きがあるかどうかを判定する(S62)。
【0124】
その結果、ジョブスロットの空きがあれば、実行可能な単位ジョブリスト中に、DSPコアB21自身で実行した場合に他方のコア、即ちDSPコアA20で実行した場合よりも平均電力指数が低い単位ジョブ(電力優位ジョブ)があるかどうかを判定する(S63)。電力優位ジョブがあればDSPコアB21にその電力優位ジョブとしての単位ジョブを割り当てる(S64)。その後、S62へ戻る。また、S62においてDSPコアB21にジョブスロットの空きがなければ、S72へ移行する。
【0125】
S63において電力優位ジョブがなければ、DSPコアA20で現在実行されている単位ジョブの次に実行されるべき単位ジョブ、および実行が予定されている単位ジョブの次に実行されるべき単位ジョブが実行可能な単位ジョブリスト中にあれば、単位ジョブスケジューリングが終了するまで、DSPコアB21に対するジョブ割り当て判定からそれら単位ジョブを除外する(S65)。
【0126】
次に、実行可能な単位ジョブリスト中にDSPコアA20およびDSPコアB21のどちらでも同じ処理時間で実行可能な単位ジョブ、即ち汎用ジョブがあるかどうかを判定し(S66)、汎用ジョブがあればDSPコアB21にその単位ジョブを割り当てる(S67)。その後、S62へ戻る。
【0127】
S66において汎用ジョブがなく、非対称ジョブ、即ちDSPコアA20とDSPコアB21とのどちらでも実行可能であるものの、実行するプログラムが異なるため実行に要する時間が異なる単位ジョブがある場合には、その非対称ジョブをDSPコアB21に割り当てるかどうかについて判定する(S68)。
【0128】
この判定は前述の例と同様、次のようにして行われる。即ち、本実施の形態では、フィルタ処理が非対称ジョブであり、DSPコアA20でフィルタ処理コードAを用いてフィルタ処理を実施する場合の平均実行時間120と、DSPコアB21でフィルタ処理コードBを用いてフィルタ処理を実施する場合の平均実行時間200との差は時間80である。そこで、この時間80内にDSPコアB21で実行可能な汎用ジョブが発生しないと予想される場合にのみ、DSPコアB21にフィルタ処理を割り当てる(S69)。その後、S62へ戻る。
【0129】
S68においてDSPコアB21に対して非対称ジョブの割り当てが行われなければ、現在DSPコアB21に単位ジョブが割り当てられているかどうかの判定を行い(S70)、単位ジョブが未割り当てであればDSPコアB21をスリープモードに移行させる(S71)。
【0130】
DSPコアB21に対するスリープモードは、次にDSPコアB21に単位ジョブの割り当てが行われるまで汎用CPU24がクロック生成回路B43に対して指示を与え、クロック生成回路B43がDSPコアB21に対するクロック信号の停止を行うことで実現する。これによりDSPコアB21の動作を停止し、無駄な消費電力の削減を行う。
【0131】
なお、スリープモードの実現方法としては、クロック周波数の低減やDSPコアB21に供給する電源電圧の変更なども可能である。
【0132】
続いてDSPコアA20にジョブスロットの空きがあるかどうかを判定し(S72)、DSPコアA20にジョブスロットの空きがあれば、実行可能な単位ジョブリスト中に、DSPコアA20についての電力優位ジョブがあるかどうかを判定する(S73)。
【0133】
その結果、電力優位ジョブがあればDSPコアA20にその電力優位ジョブとしての単位ジョブを割り当てる(S74)。その後、S62へ戻る。
【0134】
一方、電力優位ジョブがなければ、DSPコアB21で現在実行されている単位ジョブの次に実行されるべき単位ジョブ、および実行が予定されている単位ジョブの次に実行されるべき単位ジョブが実行可能な単位ジョブリスト中にあれば、単位ジョブスケジューリングが終了するまで、DSPコアA20に対するジョブ割り当て判定からそれら単位ジョブを除外する(S75)。
【0135】
次に、実行可能な単位ジョブリスト中にDSPコアAでのみが実行可能な単位ジョブ、即ち専用ジョブがあるかどうかを判定し(S76)、専用ジョブがあればDSPコアA20にその専用ジョブとしての単位ジョブを割り当てる(S77)。その後、S62へ戻る。
【0136】
S76において専用ジョブがなければ、汎用ジョブまたは非対称ジョブがあるかどうかを判定する(S78)。その結果、汎用ジョブまたは非対称ジョブがあればDSPコアA20にその単位ジョブを割り当てる(S79)。その後、S62へ戻る。
【0137】
S78において汎用ジョブまたは非対称ジョブがなければ、現在DSPコアA20に単位ジョブが割り当てられているかどうかの判定を行い(S80)、単位ジョブが未割り当てであればDSPコアA20をスリープモードに移行させる(S81)。
【0138】
DSPコアA20に対するスリープモードは、次にDSPコアA20に単位ジョブの割り当てが行われるまで汎用CPU24がクロック生成回路A44に対して指示を与え、DSPコアA20に対するクロック信号の停止を行うことで実現する。これによりDSPコアA20の動作を停止し、無駄な消費電力の削減を行う。
【0139】
スリープモードの実現方法としてはクロック周波数の低減やDSPコアA20に供給する電源電圧の変更なども可能である。
【0140】
なお、S63、S66、S68、S73、S76、S78における汎用ジョブ、非対称ジョブ、専用ジョブの有無の判定で同種のジョブが存在した場合、主走査ライン番号が少ない方の単位ジョブが優先的に選択される。
【0141】
例えば、図14に示すような状態でDSPコアB21のジョブスロットが空いた場合、実行可能な単位ジョブリストには主走査ライン番号149のフィルタ処理と主走査ライン番号150の領域分離処理とが存在する。また、実行が予定されている単位ジョブとしては定期投入される単位ジョブである主走査ライン番号151のシェーディング補正処理のみが挙げられる。この場合、フィルタ処理はDSPコアB21の電力優位ジョブではない一方、領域分離処理はDSPコアB21の電力優位ジョブである。したがって、領域分離処理はDSPコアB21で実行した場合に電力効率がよい。そこで、主走査ライン番号150の領域分離処理を、DSPコアB21に実行が予定されている単位ジョブとして登録する。
【0142】
上記のように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合に、単位ジョブの実行に先立って単位ジョブのスケジューリングを行い、DSPコアA20とDSPコアB21とのどちらでも同じ処理時間で実行可能な単位ジョブについては、相対的に処理可能な単位ジョブの種類に制限のあるDSPコアB21に優先的に割り当てている。
【0143】
また、非対称ジョブ、即ちDSPコアA20とDSPコアB21とのどちらでも実行可能であり、かつ実行するプログラムが異なるため実行に要する時間が異なる単位ジョブについては、非対称のプロセッサであるDSPコアA20とDSPコアB21とのうち、現在実行中の単位ジョブの完了を考慮して、その非対称対処ジョブの完了時刻が早くなると予想される方に割り当てるようにしている。
【0144】
また、DSPコアA20で実行する場合とDSPコアB21で実行する場合とでは、消費電力が異なる電力優位ジョブについては、消費電力が少なくなるDSPコアB21に対して優先的に割り当てている。
【0145】
さらに、DSPコアA20およびDSPコアB21については、割り当てる単位ジョブがない場合に、スリープモードに移行させ、消費電力の低減を図っている。
【0146】
このように、本実施の形態の非対称マルチプロセッサシステムが適用された画像処理部13では、仕事量の予測可能な複数の単位ジョブ(ここでは各種画像処理)を実行する場合において、非対称のプロセッサに対して、非対称となっている特性の違い、例えば処理能力の違いに応じて、各単位ジョブを効率よく処理できるように、例えば一つの画像データに対する一連の画像処理全体の処理速度が速くなるように、各単位ジョブを各DSPコアに割り当てている。したがって、ハードウェアリソースを抑制した構成により、効率よく単位ジョブを処理することができる。
【0147】
また、単位ジョブの割り当てについては、消費電力の低減を考慮して行っているので、省電力化が可能である。
【0148】
なお、以上の実施の形態に示した非対称マルチプロセッサシステムが適用される画像処理装置は、その形態について特に限定されず、非対称マルチプロセッサシステムを使用して各種画像処理を行う機能を備えたものであればよく、例えば基板上に上記機能を実現し得る部品が搭載された画像処理基板であってもよい。
【0149】
また、画像形成装置は、デジタル複写機に限らず、上記画像処理装置を備えた、各種プリンタ類、あるいは印刷機能を備えていない装置、例えば画像処理済みの画像を表示画面に表示する装置等も含み得る。
【0150】
また、以上の実施の形態において、単位ジョブ間の依存関係とは、各単位ジョブの実行順序に限定されず、次のように定義することができる。即ち、単位ジョブ間の依存関係とは、ある単位ジョブの実行状態、例えば未実行・実行中・実行完了済みといった情報、実行中であれば実行開始時間、実行終了予定時間といった情報によって、他の単位ジョブの実行可否が決定されるという関係を含んでいる。
【0151】
また、以上の実施の形態において、各DSPコアに対する単位ジョブのスケジューリングは、汎用CPU24が行っているものの、単位ジョブのスケジューリングによるDSPコアの処理性能低下が問題にならなければ、いずれかのDSPコアで行ってもよい。
【0152】
また、以上の実施の形態において、非対称となるDSPコアA20とDSPコアB21との関係は、DSPコアA20の命令セットはDSPコアB21の命令セットのスーパーセット、即ち両者の命令セットが包括関係にある場合を例にとって説明を行っている。しかしながら、DSPコアA20の命令セット中の一部がDSPコアB21の命令セットの一部を構成し、それとは別におのおののDSPコアがそのDSPコアでのみ実行可能な命令セットを持つ場合、即ち命令セットが重複関係にある場合も本発明の範囲に含み得る。
【0153】
また、以上の実施の形態の画像形成装置が備えている非対称マルチプロセッサシステムにおいて、非対称性とは、複数個のプロセッサ中、一つのプロセッサで適用することができる特性が少なくとも他の一つのプロセッサでは適用できないことを意味しており、具体的には次のように、
(1)命令セットの不一致(完全不一致、包括関係、重複関係)
(2)ローカルメモリの不一致(サイズの違い、構成の違い)
(3)処理性能の不一致(クロック周波数の違い、実行サイクルの違い、バス性能の違い)
(4)消費電力の不一致
(5)アクセス可能な周辺機能(浮動小数点ユニットや特定機能のアクセラレータなど)の違い
などが挙げられる。
【0154】
本発明の非対称マルチプロセッサシステムは、複数のプロセッサを含んでおり、少なくとも第1のプロセッサと第2のプロセッサとが非対称であり、仕事量の予測可能な複数の単位ジョブを単位ジョブ毎に複数のプロセッサに振り分けて行わせる非対称マルチプロセッサシステムにおいて、各単位ジョブを前記複数のプロセッサに割り当てる際の参照情報となる単位ジョブ処理情報を作成する単位ジョブ処理情報作成手段と、前記単位ジョブ処理情報に基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する単位ジョブスケジュール作成手段と、前記単位ジョブスケジュール作成手段での決定結果に基づいて、各単位ジョブの実行を前記複数のプロセッサに対して指示する単位ジョブ実行指示手段とを備えている構成である。
【0155】
【発明の効果】
以上のように、本発明の非対称マルチプロセッサシステムは、複数のプロセッサを含んでおり、少なくとも第1のプロセッサと第2のプロセッサとが非対称であり、仕事量の予測可能な複数の単位ジョブを単位ジョブ毎に複数のプロセッサに振り分けて行わせる非対称マルチプロセッサシステムにおいて、各単位ジョブを前記複数のプロセッサに割り当てる際の参照情報となる単位ジョブ処理情報を作成する単位ジョブ処理情報作成手段と、前記単位ジョブ処理情報に基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する単位ジョブスケジュール作成手段とを備えている構成である。
【0156】
これにより、非対称となっている各プロセッサの性能を適切に利用して、ハードウェアリソースを抑制しつつ、高い処理性能を実現することができる。
【0157】
上記の非対称マルチプロセッサシステムは、前記単位ジョブ処理情報が各プロセッサでの消費電力情報を含んでおり、前記単位ジョブスケジュール作成手段が、消費電力情報に基づいて、消費電力が少なくなるように各単位ジョブの割り当て先プロセッサを決定する構成としてもよい。
【0158】
上記の構成によれば、消費電力情報が各プロセッサ上で実行する単位ジョブのスケジューリングに反映される。これにより、効率よく消費電力を低減することができる。
【図面の簡単な説明】
【図1】本発明の実施の一形態の非対称マルチプロセッサシステムが適用された、デジタル複写機の画像処理装部の単位ジョブスケジューリング動作を示すフローチャートである。
【図2】本発明の実施の一形態における非対称マルチプロセッサシステムが適用されたデジタル複写機の構成を示すブロック図である。
【図3】図2に示した画像処理装部の構成を示すブロック図である。
【図4】図4(a)は図3に示した画像処理装部が行う画像処理プロセスを示す概略のフローチャート、図4(b)は図4(a)の1ライン処理プロセスの詳細を示すフローチャートである。
【図5】図5(a)は、図3に示した汎用CPUが単位ジョブスケジューリングを行う際に用いる各単位ジョブに関する情報の説明図、図5(b)は、各単位ジョブを実行する際の主走査ライン受け取り間隔の情報を示す説明図である。
【図6】図3に示した汎用CPUによる単位ジョブスケジューリング動作の一例を示す説明図である。
【図7】図3に示した汎用CPUによる単位ジョブスケジューリング動作の他の例を示す説明図である。
【図8】本発明の実施の他の形態における非対称マルチプロセッサシステムが適用されたデジタル複写機の画像処理部の構成を示すブロック図である。
【図9】図9(a)は、図8に示した汎用CPUが単位ジョブスケジューリングを行う際に用いる各単位ジョブに関する情報の説明図、図9(b)は、各単位ジョブを実行する際の主走査ライン受け取り間隔の情報を示す説明図である。
【図10】図8に示した画像処理装部の単位ジョブスケジューリング動作を示すフローチャートである。
【図11】図8に示した汎用CPUによる単位ジョブスケジューリング動作の一例を示す説明図である。
【図12】図12(a)は、本発明の実施のさらに他の形態における非対称マルチプロセッサシステムが適用された画像処理部の汎用CPUが単位ジョブスケジューリングを行う際に用いる各単位ジョブに関する情報の説明図、図12(b)は、各単位ジョブを実行する際の主走査ライン受け取り間隔の情報を示す説明図である。
【図13】本発明の実施のさらに他の形態における画像処理装部の単位ジョブスケジューリング動作を示すフローチャートである。
【図14】図13の動作を行う画像処理部の汎用CPUによる単位ジョブスケジューリング動作の一例を示す説明図である。
【符号の説明】
13 画像処理部(画像処理装置)
20 DSPコアA(プロセッサ)
21 DSPコアB(プロセッサ)
22 40KBローカルRAM(メモリ)
23 16KBローカルRAM(メモリ)
24 汎用CPU
31 外部ROM
41 画像処理チップ
42 クロック生成回路A
43 クロック生成回路B
Claims (12)
- 複数のプロセッサを含んでおり、少なくとも第1のプロセッサと第2のプロセッサとが非対称であり、仕事量の予測可能な複数の単位ジョブを単位ジョブ毎に複数のプロセッサに振り分けて行わせる非対称マルチプロセッサシステムにおいて、
各単位ジョブを前記複数のプロセッサに割り当てる際の参照情報となる単位ジョブ処理情報を作成する単位ジョブ処理情報作成手段と、
前記単位ジョブ処理情報に基づいて、各単位ジョブの実行順序とそれら単位ジョブの割り当て先プロセッサとを決定する単位ジョブスケジュール作成手段とを備えていることを特徴とする非対称マルチプロセッサシステム。 - 複数のプロセッサのうちの第1のプロセッサと第2のプロセッサとは、少なくとも1つの単位ジョブについて互いに異なるプログラムに基づいて共に実行可能であることを特徴とする請求項1に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブ処理情報は各プロセッサでの消費電力情報を含んでおり、前記単位ジョブスケジュール作成手段は、消費電力情報に基づいて、消費電力が少なくなるように各単位ジョブの割り当て先プロセッサを決定することを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブスケジュール作成手段での処理結果に応じて、前記の各プロセッサを単位ジョブの実行が可能な動作モードとこの動作モードに対して省電力化が可能な省電力モードとの間で切り替えるモード切替手段を備えていることを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 複数のプロセッサのうちの第1のプロセッサに対応するメモリと第2のプロセッサに対応するメモリとはメモリ容量が互いに異なることを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 複数のプロセッサには、単位ジョブを実行するための所定の命令セットを実行可能な第1のプロセッサと、前記命令セットの一部である命令サブセットを少なくとも実行可能な第2のプロセッサとが含まれていることを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブ処理情報は、単位ジョブ毎の処理に要する時間の予想値を示す情報と、単位ジョブ間の依存関係を示す情報と、単位ジョブ毎の処理可能なプロセッサを示す情報とを含んでいることを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブスケジュール作成手段は、少なくとも各単位ジョブの終了毎に単位ジョブの実行順序を決定することを特徴とする請求項1に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブスケジュール作成手段は、前記複数のプロセッサの何れかが実行可能な単位ジョブを抽出する処理と、実行すべき単位ジョブが未定のプロセッサを抽出する処理と、この抽出したプロセッサに対して実行可能な単位ジョブを割り当てる処理とを行うことを特徴する請求項1または2に記載の非対称マルチプロセッサシステム。
- 前記単位ジョブスケジュール作成手段は、所定の単位ジョブについて、少なくともその単位ジョブを実行可能な第1のプロセッサに対して、第1のプロセッサよりも多種類の単位ジョブを実行可能な第2のプロセッサよりも優先して割り当てることを特徴とする請求項1または2に記載の非対称マルチプロセッサシステム。
- 請求項1から10の何れか1項に記載の非対称マルチプロセッサシステムを備えていることを特徴とする画像処理装置。
- 請求項11に記載の画像処理装置を備えていることを特徴とする画像形成装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003045042A JP4090908B2 (ja) | 2003-02-21 | 2003-02-21 | 画像処理装置および画像形成装置 |
US10/783,347 US7587716B2 (en) | 2003-02-21 | 2004-02-20 | Asymmetrical multiprocessor system, image processing apparatus and image forming apparatus using same, and unit job processing method using asymmetrical multiprocessor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003045042A JP4090908B2 (ja) | 2003-02-21 | 2003-02-21 | 画像処理装置および画像形成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004252900A true JP2004252900A (ja) | 2004-09-09 |
JP4090908B2 JP4090908B2 (ja) | 2008-05-28 |
Family
ID=32984343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003045042A Expired - Lifetime JP4090908B2 (ja) | 2003-02-21 | 2003-02-21 | 画像処理装置および画像形成装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7587716B2 (ja) |
JP (1) | JP4090908B2 (ja) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100807039B1 (ko) | 2006-04-07 | 2008-02-25 | 주식회사 퓨쳐시스템 | 비대칭 다중 프로세싱 시스템 및 그 방법 |
JPWO2006013857A1 (ja) * | 2004-08-05 | 2008-05-01 | 松下電器産業株式会社 | 情報処理装置 |
JP2008204292A (ja) * | 2007-02-21 | 2008-09-04 | Toshiba Corp | メモリ管理システム |
US7814252B2 (en) | 2006-06-06 | 2010-10-12 | Panasonic Corporation | Asymmetric multiprocessor |
US7895453B2 (en) | 2005-04-12 | 2011-02-22 | Waseda University | Multiprocessor system and multigrain parallelizing compiler |
WO2011065139A1 (en) * | 2009-11-25 | 2011-06-03 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and storage medium |
US8051412B2 (en) | 2006-06-06 | 2011-11-01 | Waseda University | Global compiler for controlling heterogeneous multiprocessor |
WO2012093498A1 (en) * | 2011-01-07 | 2012-07-12 | Nec Corporation | Energy-efficient resource management system and method for heterogeneous multicore processors |
US8250548B2 (en) | 2006-06-06 | 2012-08-21 | Waseda University | Method for controlling heterogeneous multiprocessor and multigrain parallelizing compiler |
JP2013537346A (ja) * | 2010-09-25 | 2013-09-30 | インテル コーポレイション | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング |
US8587793B2 (en) | 2010-06-23 | 2013-11-19 | Fuji Xerox Co., Ltd. | Print image processing apparatus and computer readable medium |
JP2014078286A (ja) * | 2014-02-06 | 2014-05-01 | Fujitsu Ltd | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
JP2014516192A (ja) * | 2011-06-08 | 2014-07-07 | マイクロソフト コーポレーション | オペレーティングシステムと切り離される異種計算 |
JP2014164635A (ja) * | 2013-02-27 | 2014-09-08 | Nec Computertechno Ltd | リソース管理装置、リソースの管理方法、及びプログラム |
US9037888B2 (en) | 2010-03-31 | 2015-05-19 | Fujitsu Limited | Multi-core processor system, electrical power control method, and computer product for migrating process from one core to another |
JP5772948B2 (ja) * | 2011-03-17 | 2015-09-02 | 富士通株式会社 | システムおよびスケジューリング方法 |
JP2017117450A (ja) * | 2015-12-22 | 2017-06-29 | インテル コーポレイション | 様々なケーパビリティを有するコアに関するスレッド及び/又は仮想マシンのスケジューリング |
US11709697B2 (en) | 2019-09-04 | 2023-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle control device, vehicle control method, and recording medium storing vehicle control program |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4903092B2 (ja) * | 2007-07-05 | 2012-03-21 | 株式会社リコー | 画像処理装置、画像処理制御方法、及び画像処理制御プログラム |
US8782637B2 (en) * | 2007-11-03 | 2014-07-15 | ATM Shafiqul Khalid | Mini-cloud system for enabling user subscription to cloud service in residential environment |
US8605309B2 (en) * | 2008-04-02 | 2013-12-10 | Fuji Xerox Co., Ltd. | Image processing apparatus, image forming system, image processing method and computer readable medium storing program |
US20090251723A1 (en) * | 2008-04-02 | 2009-10-08 | Fuji Xerox Co., Ltd. | Image processing apparatus, image forming system, image processing method and computer readable medium storing program |
JP5549131B2 (ja) * | 2009-07-07 | 2014-07-16 | 富士通株式会社 | ジョブ割当装置、ジョブ割当方法及びジョブ割当プログラム |
US8566831B2 (en) | 2011-01-26 | 2013-10-22 | International Business Machines Corporation | Execution of work units in a heterogeneous computing environment |
US8533720B2 (en) | 2011-02-25 | 2013-09-10 | International Business Machines Corporation | Offloading work from one type to another type of processor based on the count of each type of service call instructions in the work unit |
JP2013091222A (ja) * | 2011-10-25 | 2013-05-16 | Canon Inc | 画像形成処理装置及び画像処理方法 |
US9569279B2 (en) * | 2012-07-31 | 2017-02-14 | Nvidia Corporation | Heterogeneous multiprocessor design for power-efficient and area-efficient computing |
US9619282B2 (en) | 2012-08-21 | 2017-04-11 | Lenovo (Singapore) Pte. Ltd. | Task scheduling in big and little cores |
JP2016091137A (ja) * | 2014-10-31 | 2016-05-23 | コニカミノルタ株式会社 | 画像形成装置、特定処理実行方法、およびコンピュータプログラム |
US10073718B2 (en) | 2016-01-15 | 2018-09-11 | Intel Corporation | Systems, methods and devices for determining work placement on processor cores |
KR101797845B1 (ko) * | 2016-02-16 | 2017-11-14 | 가천대학교 산학협력단 | 멀티코어 컴퓨팅 시스템에서 병렬 비디오 처리 장치 및 방법 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303369A (en) * | 1990-08-31 | 1994-04-12 | Texas Instruments Incorporated | Scheduling system for multiprocessor operating system |
JPH04153764A (ja) | 1990-10-18 | 1992-05-27 | Nec Corp | 分散cpuの処理高速化方式 |
JP2922670B2 (ja) | 1991-05-27 | 1999-07-26 | キヤノン株式会社 | 画像処理システム及び画像処理方法 |
US5301324A (en) * | 1992-11-19 | 1994-04-05 | International Business Machines Corp. | Method and apparatus for dynamic work reassignment among asymmetric, coupled processors |
JPH06274608A (ja) | 1993-03-23 | 1994-09-30 | Seiko Epson Corp | マルチプロセッサ画像処理装置 |
GB2289354B (en) * | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Multiple instruction set mapping |
JPH0844678A (ja) | 1994-07-29 | 1996-02-16 | Canon Inc | 画像処理装置及びシステム |
US6112023A (en) * | 1997-02-24 | 2000-08-29 | Lucent Technologies Inc. | Scheduling-based hardware-software co-synthesis of heterogeneous distributed embedded systems |
US6298370B1 (en) * | 1997-04-04 | 2001-10-02 | Texas Instruments Incorporated | Computer operating process allocating tasks between first and second processors at run time based upon current processor load |
JPH11202988A (ja) | 1998-01-13 | 1999-07-30 | Hitachi Ltd | システム消費電力制御方法 |
GB2343269A (en) * | 1998-10-30 | 2000-05-03 | Ericsson Telefon Ab L M | Processing arrangements |
US20020010848A1 (en) * | 2000-05-29 | 2002-01-24 | Shoichi Kamano | Data processing system |
JP2002099433A (ja) | 2000-09-22 | 2002-04-05 | Sony Corp | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 |
US7100060B2 (en) * | 2002-06-26 | 2006-08-29 | Intel Corporation | Techniques for utilization of asymmetric secondary processing resources |
-
2003
- 2003-02-21 JP JP2003045042A patent/JP4090908B2/ja not_active Expired - Lifetime
-
2004
- 2004-02-20 US US10/783,347 patent/US7587716B2/en not_active Expired - Fee Related
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2006013857A1 (ja) * | 2004-08-05 | 2008-05-01 | 松下電器産業株式会社 | 情報処理装置 |
JP4607884B2 (ja) * | 2004-08-05 | 2011-01-05 | パナソニック株式会社 | 情報処理装置 |
EP2657839A2 (en) | 2005-04-12 | 2013-10-30 | Waseda University | Multiprocessor system and multigrain parallelizing compiler |
US7895453B2 (en) | 2005-04-12 | 2011-02-22 | Waseda University | Multiprocessor system and multigrain parallelizing compiler |
US8812880B2 (en) | 2005-04-12 | 2014-08-19 | Waseda University | Multiprocessor system and multigrain parallelizing compiler |
EP2620840A1 (en) | 2005-04-12 | 2013-07-31 | Waseda University | Multiprocessor system |
KR100807039B1 (ko) | 2006-04-07 | 2008-02-25 | 주식회사 퓨쳐시스템 | 비대칭 다중 프로세싱 시스템 및 그 방법 |
US7814252B2 (en) | 2006-06-06 | 2010-10-12 | Panasonic Corporation | Asymmetric multiprocessor |
US8051412B2 (en) | 2006-06-06 | 2011-11-01 | Waseda University | Global compiler for controlling heterogeneous multiprocessor |
US8250548B2 (en) | 2006-06-06 | 2012-08-21 | Waseda University | Method for controlling heterogeneous multiprocessor and multigrain parallelizing compiler |
JP2008204292A (ja) * | 2007-02-21 | 2008-09-04 | Toshiba Corp | メモリ管理システム |
WO2011065139A1 (en) * | 2009-11-25 | 2011-06-03 | Canon Kabushiki Kaisha | Information processing apparatus, control method of information processing apparatus, and storage medium |
US9037888B2 (en) | 2010-03-31 | 2015-05-19 | Fujitsu Limited | Multi-core processor system, electrical power control method, and computer product for migrating process from one core to another |
US8587793B2 (en) | 2010-06-23 | 2013-11-19 | Fuji Xerox Co., Ltd. | Print image processing apparatus and computer readable medium |
US9268611B2 (en) | 2010-09-25 | 2016-02-23 | Intel Corporation | Application scheduling in heterogeneous multiprocessor computing platform based on a ratio of predicted performance of processor cores |
KR101561496B1 (ko) * | 2010-09-25 | 2015-10-20 | 인텔 코포레이션 | 이종 멀티프로세서 컴퓨팅 플랫폼 내에서의 애플리케이션 스케줄링 |
JP2013537346A (ja) * | 2010-09-25 | 2013-09-30 | インテル コーポレイション | 異種マルチプロセッサコンピューティングプラットフォームにおけるアプリケーションのスケジューリング |
WO2012093498A1 (en) * | 2011-01-07 | 2012-07-12 | Nec Corporation | Energy-efficient resource management system and method for heterogeneous multicore processors |
JP5772948B2 (ja) * | 2011-03-17 | 2015-09-02 | 富士通株式会社 | システムおよびスケジューリング方法 |
JP2014516192A (ja) * | 2011-06-08 | 2014-07-07 | マイクロソフト コーポレーション | オペレーティングシステムと切り離される異種計算 |
JP2014164635A (ja) * | 2013-02-27 | 2014-09-08 | Nec Computertechno Ltd | リソース管理装置、リソースの管理方法、及びプログラム |
JP2014078286A (ja) * | 2014-02-06 | 2014-05-01 | Fujitsu Ltd | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム |
JP2017117450A (ja) * | 2015-12-22 | 2017-06-29 | インテル コーポレイション | 様々なケーパビリティを有するコアに関するスレッド及び/又は仮想マシンのスケジューリング |
US10372493B2 (en) | 2015-12-22 | 2019-08-06 | Intel Corporation | Thread and/or virtual machine scheduling for cores with diverse capabilities |
US11709697B2 (en) | 2019-09-04 | 2023-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle control device, vehicle control method, and recording medium storing vehicle control program |
Also Published As
Publication number | Publication date |
---|---|
US20040187126A1 (en) | 2004-09-23 |
JP4090908B2 (ja) | 2008-05-28 |
US7587716B2 (en) | 2009-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4090908B2 (ja) | 画像処理装置および画像形成装置 | |
JP2001273267A (ja) | Simd型プロセッサー、並列処理装置、画像処理装置、複写機、プリンター、ファクシミリ装置、スキャナー、並列処理方法、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2012081626A (ja) | 画像形成装置、画像処理方法、プログラム | |
US20170060644A1 (en) | Image processing apparatus, control task allocation method, and recording medium | |
JP2005260845A (ja) | 画像情報装置 | |
JP3887134B2 (ja) | 画像処理装置 | |
JP2016091305A (ja) | 画像形成装置及び並列処理制御プログラム並びに並列処理制御方法 | |
JP2016115979A (ja) | 画像処理装置、その制御方法及びプログラム | |
JP5232728B2 (ja) | 画像形成装置 | |
JP2006133839A (ja) | 画像処理装置、印刷装置および画像処理方法 | |
US20060061788A1 (en) | Image processing apparatus | |
JP2005065043A (ja) | データ処理装置 | |
JP7172193B2 (ja) | 画像形成装置およびプログラム | |
JP2017050767A (ja) | 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム | |
JP6578824B2 (ja) | 画像形成装置、同装置におけるタスク制御方法及びタスク制御プログラム | |
JP2013125455A (ja) | 画像形成装置 | |
JP6573080B2 (ja) | 画像形成装置および画像形成プログラム | |
JP2006163674A (ja) | 画像処理装置、印刷装置および負荷分散方法 | |
EP3252601B1 (en) | Apparatus and method for changing priority of a job | |
JP2003067243A (ja) | 画像処理装置、プログラム、プログラムが書き込まれた記録媒体および画像形成装置 | |
JP2006163672A (ja) | 画像処理装置、印刷装置および画像処理方法 | |
JP2006163673A (ja) | 画像処理装置、印刷装置および負荷分散方法 | |
EP3122028B1 (en) | Image processing apparatus and processing method | |
JP2002359739A (ja) | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラム、並びにそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2019093612A (ja) | 画像形成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050810 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070814 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20070814 |
|
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: 20080226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080227 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |