JPH10232856A - 並列処理方式 - Google Patents

並列処理方式

Info

Publication number
JPH10232856A
JPH10232856A JP3371097A JP3371097A JPH10232856A JP H10232856 A JPH10232856 A JP H10232856A JP 3371097 A JP3371097 A JP 3371097A JP 3371097 A JP3371097 A JP 3371097A JP H10232856 A JPH10232856 A JP H10232856A
Authority
JP
Japan
Prior art keywords
processing
processing unit
parallel
procedure
single processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3371097A
Other languages
English (en)
Other versions
JP3733678B2 (ja
Inventor
Kiyoharu Muramatsu
喜世治 村松
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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP03371097A priority Critical patent/JP3733678B2/ja
Publication of JPH10232856A publication Critical patent/JPH10232856A/ja
Application granted granted Critical
Publication of JP3733678B2 publication Critical patent/JP3733678B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 ストール時間を生じること無く、柔軟なスケ
ジューリングを可能とすることによって高速に動作する
ことが可能な並列処理方式を提供すること。 【解決手段】 並列処理装置100は、第1複合処理ユ
ニット10と、第2複合処理ユニット20とを備える。
第1複合処理ユニット10及び第2複合処理ユニット2
0は、予め処理手順が定められた単体処理ユニットとし
ての第1処理手順11及び第2処理手順12と、予め第
1処理手順11または第2処理手順のいずれを優先的に
選択するかを定義した単体処理ユニット選択順序に従っ
て、前記第1処理手順11または第2処理手順12の何
れか一方を選択する第1処理選択手段13とから構成さ
れる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
により並列処理を実行する並列処理方式に関するもので
ある。
【0002】
【従来の技術】従来、並列処理によって実行時間を短縮
しようとする方法は多数提案されてきた。
【0003】例えば、ベクトル演算処理に於ける並列処
理がある。
【0004】ベクトル演算処理に於いて、例えば、下記
のような制御ループがあった場合を考える。
【0005】
【数1】
【0006】この場合に、これを並列処理が可能なよう
に、下記のように分割する。
【0007】
【数2】
【0008】分割された前記の各制御ループに対して別
々のプロセッサを割り当て、並列処理を実行することに
よって、実行時間の短縮を実現していた。
【0009】前記のベクトル演算処理に限らず、並列処
理を行う場合は、並列処理を行う対象となる処理を、互
いの処理結果に依存しない複数の処理ユニットに分割
し、分割後の各処理ユニットを別々のプロセッサで並列
処理することで、実行時間の短縮を実現する方法が提示
されていた。
【0010】しかしながら、前記の並列処理方式に於い
ては、分割された処理ユニットが互いの処理結果に依存
しないことが前提となっているため、前の処理の結果を
受けて行う処理に於いては、並列処理の効果が得られな
い問題があった。
【0011】この問題に対し、並列処理に於いてスケジ
ューリングを行うことによって、前の処理の結果を受け
て行う処理についても並列処理の効果が得られる構成の
並列処理方式が従来より提案されている。
【0012】図11は、その一例として、2つの処理
A、Bをスケジューリングし、並列処理を実行した場合
のタイムチャートを示した図である。
【0013】ここで、処理B(i)(i=1、2、3
…)は、処理A(i)(i=1、2、3…)の結果に依
存した処理であり、処理A(i)は処理B(i)の結果
に依存しない処理であるとする(以下同様)。
【0014】この場合、処理B(1)は処理A(1)よ
り先に開始することができないが、処理A(2)は処理
B(1)の処理終了を待つ必要はないため、処理A
(1)の処理終了直後に処理を開始することが可能であ
る。このように、処理Bの開始時間について矛盾が生じ
ないようにスケジューリングすることにより、並列処理
による実行時間の短縮が可能となる。
【0015】図11(a)は、処理Aの実行時間が処理
Bの実行時間よりも長い場合のタイムチャートであり、
図11(b)は、処理Bの実行時間が処理Aの実行時間
よりも長い場合のタイムチャートを示している。いずれ
の場合も、並列処理を行わない場合よりも全体の実行時
間は明らかに短縮される。
【0016】
【発明が解決しようとする課題】しかしながら、上述の
例のようにスケジューリングを行って並列処理を実行す
る場合、図11(a)に示す如く、プロセッサ2に、次
の処理が開始可能となる条件が満たされるまで何もでき
ずに停止する(ストールする)時間(以下、ストール時
間と称する)が発生してしまう問題があった。このスト
ール及びストール時間は、プロセッサ資源の一部を遊ば
せ、プロセッサの有する処理能力を十分に発揮させるこ
とができない問題を生じさせていた。
【0017】尚、図11の処理A、Bが、オペレーティ
ングシステム(以下、OSと記述する)の上で動作する
アプリケーションプログラムである場合、図11(a)
のストール時間中にOSの処理を挿入することも可能で
はある。この場合、プロセッサ2のストール時間は減少
し、2個のプロセッサは休みなく動作していることには
なるが、アプリケーションプログラム自体の実行時間が
短縮されるものではない。
【0018】また、図11(b)の場合は、プロセッサ
1、プロセッサ2が休みなく動作しており、これ以上の
ストール時間は発生しないように見える。しかし、図示
のように、処理Bの実行時間が処理Aの実行時間より長
い場合には、先に行われた処理A(i)の結果を記憶領
域に格納し、その記憶領域に格納された処理A(i)の
結果を読み出して処理B(i)を実行することになるた
め、処理Bの処理が遅いと、処理Aの実行結果を格納す
る記憶領域がいっぱいになり、処理Bの実行が処理Aに
追いつくまで(記憶領域に空き領域ができるまで)処理
Aを実行することが不可能となる。したがって、結果的
に、プロセッサ1にストール時間が生じる問題があっ
た。
【0019】本発明は、上述した問題を解決するために
なされたものであり、ストール時間を生じること無く、
柔軟なスケジューリングを可能とすることによって高速
に動作することが可能な並列処理方式を提供することを
目的としている。
【0020】
【課題を解決するための手段】この目的を達成するため
に、本発明の請求項1に記載の並列処理方式は、処理手
順の内容が同一あるいは異なる複数個の単体処理ユニッ
トと、その複数個の単体処理ユニットの中から実行すべ
き単体処理ユニットを選択する単体処理ユニット選択手
段とから構成される、複数個の複合処理ユニットと、前
記複数個の前記複合処理ユニットを並列的に実行する並
列処理制御手段とを備えることを特徴としている。
【0021】前記並列処理制御手段が複数個の複合処理
ユニットを並列的に実行する際、個々の複合処理ユニッ
トに於いて、単体処理ユニット選択手段は、複合処理ユ
ニットを構成する複数個の単体処理ユニットの中から実
行すべき単体処理ユニットを選択する。
【0022】したがって、各複合処理ユニットに於い
て、前記単体処理ユニット選択手段により選択された単
体処理ユニットが常に稼動していることになり、プロセ
ッサのストール時間が発生せず、柔軟なスケジューリン
グが可能な並列処理方式を実現することができる。
【0023】また、請求項2に記載の並列処理方式は、
予め定義された優先順位である単体処理ユニット選択順
序に従って、前記単体処理ユニット選択手段が前記複数
の単体処理ユニットの中から実行すべき単体処理ユニッ
トを選択することを特徴としている。すなわち、単体処
理ユニット選択手段は、前記単体処理ユニット選択順序
に定義された優先順位に従って単体処理ユニットを選択
する。したがって、処理の目的に合った並列処理のスケ
ジューリングが可能となる。
【0024】請求項3に記載の並列処理方式に於いて、
前記単体処理ユニット選択手段は、前記単体処理ユニッ
ト選択順序に従って選択された前記単体処理ユニットが
実行可能であるか否かを判定する単体処理ユニット実行
可能性判定手段と、実行可能な前記単体処理ユニットが
選択されるまで単位処理ユニットの選択動作を行うよう
に前記単体処理ユニット選択手段を制御する単体処理ユ
ニット選択制御手段とを備えることを特徴としている。
【0025】すなわち、前記単体処理ユニット選択手段
が、前記単体処理ユニット選択順序に定義された優先順
位に従って単体処理ユニットを選択し、さらに、単体処
理ユニット実行可能性判定手段が、選択された前記単体
処理ユニットが実行可能であるか否かを判定し、単体処
理ユニット選択制御手段が、前記単体処理ユニット実行
可能性判定手段が実行可能であると判定するまで、前記
単体処理ユニット選択順序に従って、順次前記単体処理
ユニットの選択動作を繰り返す。
【0026】
【発明の実施の形態】以下、本発明を具現化した一つの
実施の形態について、図面を参照しながら説明する。
【0027】図1は、本実施の形態の並列制御手段であ
る並列処理装置100の回路構成の概略を示すブロック
図である。尚、本並列処理装置100は、2個のCPU
によって並列処理を実行する、いわゆる2CPUマルチ
プロセッサシステムとして構成されている。
【0028】前記並列処理装置100は、第1複合処理
ユニット10を備えた第1CPU1と、第2複合処理ユ
ニット20を備えた第2CPU2とから構成される。
【0029】前記第1複合処理ユニット10は、予め処
理手順が定められた単体処理ユニットとしての第1処理
手順11及び第2処理手順12と、単体処理ユニット選
択手段としての第1処理選択手段13とから構成され
る。
【0030】前記第2複合処理ユニット20も同様に、
予め処理手順が定められた単体処理ユニットとしての第
1処理手順11及び第2処理手順12と、単体処理ユニ
ット選択手段としての第2処理選択手段14とから構成
される。
【0031】前記並列処理装置100が起動されると、
前記第1CPU1は、割り当てられた第1複合処理ユニ
ット10の実行を開始する。これと並行して、第2CP
U2は、割り当てられた第2複合処理ユニット20の実
行を開始する。
【0032】前記第1CPU1に於いては、第1処理選
択手段13によって第1処理手順11または第2処理手
順12の何れかが選択され、選択された処理手順に沿っ
て処理が実行される。第2CPU2に於いても、第2処
理選択手段14によって第1処理手順11または第2処
理手順12の何れかが選択され、選択された処理手順に
沿って処理が実行される。
【0033】次に、図2及び図3を参照して、第1処理
選択手段13及び第2処理選択手段14について詳細に
説明する。
【0034】まず、図2を参照して、第1処理選択手段
13について説明する。
【0035】その第1処理選択手段13には、第1処理
手順11を優先して選択する単体処理ユニット選択順序
が定められている。
【0036】前記第1処理選択手段13は、前記単体処
理ユニット選択順序に従って、まず第1処理手順11を
選択してその実行可能性を判定し、第1処理手順11が
実行可能でない場合に第2処理手順12を選択してその
実行可能性を判定する。したがって、前記第1処理選択
手段13は、本発明の単体処理ユニット実行可能性判定
手段をも兼ねる。
【0037】前記第1処理選択手段13は、最初に、第
1処理手順11の実行可能性の判定を行う(S10)。
【0038】例えば、第2処理手順12が第1処理手順
11の処理結果を利用して実行される場合、第2処理手
順12の実行可能性の判定は、第1処理手順11の処理
が終了しているか否かを判定することによって行われ
る。また、第1処理手順11が第2処理手順12の処理
結果を利用して実行される場合、第1処理手順11の実
行可能性の判定は、第2処理手順12の処理が終了して
いるか否かを判定することによって行われる。
【0039】尚、実行可能性の判定は、上述したよう
な、処理結果の相互利用以外の要素、例えば、空きの記
憶領域の存在等を考慮して行うこともできる。
【0040】具体例としては、例えば、第1処理手順1
1が前記処理B専用である場合、第1処理手順11の実
行可能性は、処理しようとしている処理B(i)に利用
されるべき前記処理A(i)の処理結果が何れかの記憶
領域内にあるか否かにより判定される。また、第1処理
手順11が前記処理A専用である場合、第1処理手順1
1の実行可能性は、処理しようとしている処理A(j)
の処理結果を格納すべき空きの記憶領域が存在するか否
かにより判定される。
【0041】上述のような実行可能性判定により、第1
処理手順11の実行が可能であると判定された場合(S
10:Yes)、第1処理手順11が選択され(S1
2)、処理が終了する(S20)。
【0042】S10に於いて、第1処理手順11の実行
が不可能であると判定された場合、(S10:No)、
第2処理手順12の実行が可能か否かの判定が行われる
(S14)。ここで、第2処理手順12の実行が可能で
あると判定された場合(S14:Yes)、第2処理手
順12が選択されて(S16)、この処理が終了する
(S20)。
【0043】S14に於いて、第2処理手順12の実行
が不可能であると判定された場合には(S14:N
o)、第1CPU1で実行可能な処理手順が存在しない
ので、何も選択しないで(S18)、この処理を終了す
る(S20)。
【0044】第1処理選択手段13で何も選択されなか
った場合は、第1CPU1は停止状態(ストール)とな
る。
【0045】同様に、図3を参照して、第2処理選択手
段14について説明する。
【0046】その第2処理選択手段14には、第1処理
手順11を優先して選択する単体処理ユニット選択順序
が定められている。したがって、前記第2処理選択手段
14は、前記単体処理ユニット選択順序に従って、まず
第1処理手順11を選択してその実行可能性を判定し、
第1処理手順11の実行が可能でない場合に第2処理手
順12を選択してその実行可能性を判定する。したがっ
て、前記第2処理選択手段14は、本発明の単体処理ユ
ニット実行可能性判定手段をも兼ねる。
【0047】前記第2処理選択手段14は、最初に、第
2処理手順12が実行可能か否かの判定を行う(S2
2)。
【0048】S22に於いて第2処理手順12の実行が
可能であると判定された場合(S22:Yes)、第2
処理手順12が選択され(S24)、処理が終了する
(S32)。
【0049】S22に於いて第2処理手順12の実行が
不可能であると判定された場合には(S22:No)、
第1処理手順11の実行が可能か否かの判定が行われる
(S26)。第1処理手順11の実行が可能であると判
定された場合(S26:Yes)、第1処理手順11を
選択して(S28)、この処理を終了する(S32)。
【0050】S26に於いて、第1処理手順11の実行
が不可能であると判定された場合には(S26:N
o)、第2CPU2で実行可能な処理手順が存在しない
ので、何も選択しないで(S30)、この処理が終了す
る(S32)。
【0051】第2処理選択手段14で何も選択されなか
った場合は、第2CPU2は停止状態(ストール)とな
る。
【0052】次に、上述した構成を有する、本実施の形
態の並列処理方式100の動作の様子を示す具体例につ
いて説明する。
【0053】図4は、図1の回路ブロック図と、図2及
び図3のフローチャートを複合することにより、本並列
処理装置100の動作の様子を説明するための図であ
る。
【0054】ここで、本並列制御装置100を繰り返し
起動し、処理Bの処理結果が10個得られた時点で処理
を終了するものと設定する。
【0055】第1処理手順11は、図5のタイムチャー
トに示すように、10tの処理時間を要する処理Aを実
行し、第2処理手順12は、5tの処理時間を要する処
理Bを実行するものとする。また、前記第2処理手順1
2は、前記第1処理手順11の処理結果を使用して処理
を実行するものとし、前記第1処理手順11の処理結果
が得られたことを条件として実行可能となるものとす
る。
【0056】すなわち、前記第2処理手順12に於いて
処理されるi番目の処理Bである処理B(i)は、前記
第1処理手順11による処理A(i)の結果を利用する
ものである。したがって、処理B(i)は処理A(i+
1)の前に行うことはできるが処理A(i)の前に行う
ことはできない。また、処理A(i)は、記憶領域に格
納できる限り、いずれの処理Bにも先だって行うことが
できる。
【0057】また、単体処理ユニット選択順序は、第1
複合処理ユニット10に於いては第1処理手順11が優
先、第2複合処理ユニット20に於いては第2処理手順
12が優先とする。さらに、処理Aの処理結果は、3個
まで記憶領域に格納できるとする。
【0058】はじめに、第1CPU1は第1処理手順1
1を選択して処理A(1)を実行する。一方、第2CP
U2では、処理B(1)を実行することが不可能なた
め、第2処理選択手段14によって第2処理手順12が
選択され、処理A(2)を実行する。前記処理A(1)
及びA(2)が終了する時点は、本並列制御装置100
の作動開始より10t経過後である。
【0059】次に、第1CPU1は処理A3を実行す
る。これと並行して、第2CPU2では、処理B(1)
からB(2)までが実行可能となったため、処理Bを実
行し、処理B(1)及びB(2)の処理結果を得る。以
降、同様の手順で処理を続行する。
【0060】以上の動作を行った結果のタイムチャート
が図5である。全体の処理時間は75tであり、第1C
PU1を処理A、第2CPU2を処理Bに固定して並列
処理した場合(105t)よりも約30%の処理時間短
縮となる。しかも、柔軟なスケジューリングにより、両
CPUに於けるストール時間の発生はない。
【0061】さらに、上述の実施の形態の変形として、
単体処理ユニットを3個備えたCPUを2個用いた場合
の動作について説明する。
【0062】基本的な全体構成は図4と同じであるが、
第1複合処理ユニット10及び第2複合処理ユニット2
0を構成する単体処理ユニットの数が各々3個になる部
分が異なる。
【0063】上述の具体例と同様に、並列処理装置10
0を繰り返し起動し、処理Cの処理結果が5個得られた
時点で処理を終了するものと設定する。
【0064】また、処理Aは10t、処理Bは5t、処
理Cは15tの処理時間を要し、処理Bは処理Aの処理
結果を使用し、処理Cは処理Bの処理結果を使用するも
のと仮定する。
【0065】さらに、単位処理ユニット選択順序は、第
1複合処理ユニット10に於いては処理A、処理B、処
理Cの順序となり、第2複合処理ユニット20に於いて
は処理C、処理B、処理Aの順序となるように設定する
ものとし、処理A、処理Bの処理結果は、各3個まで記
憶領域に格納できるものとする。
【0066】以上の条件の下で動作を行った結果のタイ
ムチャートを図6に示す。全体の処理時間は80tとな
る。処理後半(45t以降)では、処理Aを全て終了し
た第1CPU1が、優先順位に従って処理対象となる処
理手順を選択し、第2CPU2と共に、残りの実行可能
な処理を行っていることが確認できる。このように、本
実施の形態の並列処理方式によれば、各CPUで柔軟に
処理手順の割り当てを行うことが可能であるため、全体
の処理時間が短縮できる。
【0067】次に、本実施の形態の具体的な適用例とし
て、ビットマップイメージの描画処理に適用した場合の
構成と動作について図面を参照して説明する。
【0068】図7は、ビットマップイメージの描画処理
の概略手順を示す図である。
【0069】ビットマップイメージデータ40が入力さ
れると、画素データ取得処理(PXL)50によって1
画素のデータを取得する。続いて、色変換処理(CL
R)51によって所望の色変換が施された後、塗りつぶ
し領域決定処理(RGN)52によって色変換された画
素データを塗りつぶす領域が決定され、ハーフトーン描
画処理(DRW)53によって、色変換された画素デー
タをハーフトーン処理によって2値化し、先に決定され
た塗りつぶし領域に描画し、プリントデバイス55に出
力する。
【0070】以上の処理を、入力されたビットマップイ
メージデータ40の全ての画素データについて繰り返す
ことによって、ビットマップイメージの描画処理が実行
される。尚、ハーフトーン描画処理53の部分は、出力
先のプリントデバイス55に応じてフルカラー描画処理
や誤差拡散描画処理等に入れ替えが可能である。
【0071】図8は、図7に示すビットマップイメージ
描画処理を、各処理過程での処理結果を格納する記憶領
域(バッファ)を使用することにより並列処理可能に構
成した処理手順を示す図である。
【0072】画素データ取得処理50によって取得され
た画素データは、画素データバッファ60に格納され
る。色変換処理51は、画素データバッファ60から画
素データを読み出し、色変換処理を行って結果を色変換
バッファ61に格納する。塗りつぶし領域決定処理52
は、画素データの取得とは独立して実行可能である。塗
りつぶし領域決定処理52で決定された領域データは、
領域データバッファ62に格納される。ハーフトーン描
画処理53は、色変換バッファ61から色変換された画
素データを読み出してハーフトーン処理によって2値化
し、領域データバッファ62から塗りつぶし領域データ
を読み出して、塗りつぶし領域に描画し、プリントデバ
イス55に出力する。
【0073】図9は、図8の構成を上述の実施の形態の
並列処理方式に適用した場合の動作の詳細を説明するた
めの図であり、図4と同様に、回路ブロック図とフロー
チャートとを組み合わせたものである。
【0074】第1CPU1に割り当てられた第1複合処
理ユニット80は、画素データ取得処理50、色変換処
理51、塗りつぶし領域決定処理52、ハーフトーン描
画処理53の各単体処理ユニット、及び第1処理選択手
段70より構成される。
【0075】前記第1処理選択手段70に於ける単体処
理ユニット選択順序は、DRW、CLR、PXL、RG
Nの順に設定されている。
【0076】同様に、第2CPU2に割り当てられた第
2複合処理ユニット81は、画素データ取得処理50、
色変換処理51、塗りつぶし領域決定処理52、ハーフ
トーン描画処理53の各単体処理ユニット、及び第2処
理選択手段71より構成される。
【0077】前記第2処理選択手段71に於ける単体処
理ユニット選択順序は、DRW、RGN、CLR、PX
Lの順に設定されている。
【0078】したがって、第1CPU1では主として画
素データの取得、色変換の処理を行い、第2CPU2で
は主として塗りつぶし領域決定処理とハーフトーン描画
を行うような優先順位が設定されている。
【0079】ここで、DRW、CLR、PXL、RGN
の各処理時間が同じであると仮定した場合の実行結果の
タイムチャートを図10に示す。
【0080】最初、第2CPU2に於いては、RGN
が、領域データバッファ62の記憶領域が無くなるまで
連続的に実行される。これと並行して、第1CPU1で
はPXL、CLR、DRWが順に繰り返し実行される。
領域データバッファ62の記憶領域が無くなった時点
で、第1CPU1、第2CPU2は、記憶領域に格納さ
れたデータを消費すべく、PXL、CLR、DRWの処
理を実行する。
【0081】すなわち、先に処理できるものは、記憶領
域の許容範囲で先に処理を済ませておき、ある時点で足
りないデータが生じた場合は、全てのCPUパワーを投
入して不足データの作成に対応する。これらのサイクル
を繰り返すことで、CPUを休みなく動作させることが
可能となり、高速な並列処理によるビットマップイメー
ジ描画処理が実現されることになる。
【0082】尚、本発明は以上に説明した実施の形態に
限定されるものではなく、本発明の要旨を変更しない範
囲内に於いて、種々の変形が可能である。
【0083】例えば、前記実施の形態に於いては、各複
合処理ユニットを構成する単体処理ユニットは2つ若し
くは3つずつであり、その処理内容も各複合処理ユニッ
トで共通であったが、複合処理ユニットを構成する単体
処理ユニットの数は2個以上であれば特に制限がなく、
また、各複合処理ユニットに備えられる単体処理ユニッ
トの処理内容が互いに異なっていてもよい。
【0084】また、単体処理ユニット選択順序は、前記
実施の形態の如く処理順序を予め定義したものに限定さ
れず、処理順序を動的に決定する方法を予め定義たもの
でもよい。後者のものによれば、単体処理ユニットの処
理負荷や処理内容が何らかの原因で変動することがあっ
ても、単体処理ユニット選択順序に定められた優先順位
を柔軟に変更することが可能となる。
【0085】
【発明の効果】以上に説明したことから明かなように、
本発明の請求項1に記載の並列処理方式によれば、並列
処理制御手段が複数個の複合処理ユニットを並列的に実
行する際、個々の複合処理ユニットに於いて、単体処理
ユニット選択手段が、複合処理ユニットを構成する複数
個の単体処理ユニットの中から実行すべき単体処理ユニ
ットを選択する。
【0086】したがって、各複合処理ユニットに於い
て、前記単体処理ユニット選択手段により選択された単
体処理ユニットが常に稼動していることになり、プロセ
ッサのストール時間が発生せず、柔軟なスケジューリン
グが可能な並列処理方式を実現することができる。
【0087】また、請求項2に記載の並列処理方式によ
れば、予め定義された優先順位である単体処理ユニット
選択順序に従って、前記単体処理ユニット選択手段が前
記複数の単体処理ユニットの中から実行すべき単体処理
ユニットを選択する。すなわち、単体処理ユニット選択
手段は、前記単体処理ユニット選択順序に定義された優
先順位に従って単体処理ユニットを選択する。したがっ
て、処理の目的に合った並列処理のスケジューリングが
可能となる。
【0088】さらに、請求項3に記載の並列処理方式に
よれば、前の処理結果を利用した後の処理を実行する場
合、後の処理が実行可能ならばその処理を実行し、前の
処理が終了していないために後の処理が不可能な場合
は、前の処理を選択して実行することが可能となる。す
なわち、前の処理が遅れた場合には、処理の遅い前処理
を複数のプロセッサで処理し、プロセッサのストールを
防ぐことができる。
【0089】したがって、ストール時間を生じること無
く、柔軟なスケジューリングを可能とすることによって
高速に動作することが可能な並列処理方式を提供するこ
とができる。
【図面の簡単な説明】
【図1】本発明を具現化した一つの実施の形態の並列処
理方式の回路ブロック図である。
【図2】前記並列処理方式に備えられる第1処理選択手
段に於ける処理を説明するためのフローチャートであ
る。
【図3】前記並列処理方式に備えられる第2処理選択手
段に於ける処理を説明するためのフローチャートであ
る。
【図4】前記並列処理装置の動作を説明するための図で
ある。
【図5】前記並列処理装置による動作結果を示すタイム
チャートである。
【図6】前記並列処理装置を変形した並列処理方式の動
作結果を示すタイムチャートである。
【図7】ビットマップイメージ描画処理の手順の概略を
説明するための図である。
【図8】前記ビットマップイメージ描画処理の手順の詳
細を説明するための図である。
【図9】前記ビットマップイメージ描画処理に前記実施
の形態の並列処理方式を応用した場合の回路ブロック図
である。
【図10】前記並列処理方式によるビットマップイメー
ジ描画処理の動作結果を示すタイムチャートである。
【図11】従来の並列処理方式の動作結果を示すタイム
チャートである。
【符号の説明】
11 第1処理手順 12 第2処理手順 10 第1複合処理ユニット 20 第2複合処理ユニット 13 第1処理選択手段 14 第2処理選択手段 100 並列処理装置

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 処理手順の内容が同一あるいは異なる複
    数個の単体処理ユニットと、その複数個の単体処理ユニ
    ットの中から実行すべき単体処理ユニットを選択する単
    体処理ユニット選択手段とから構成される、複数個の複
    合処理ユニットと、 前記複数個の前記複合処理ユニットを並列的に実行する
    並列処理制御手段と、 を備えることを特徴とする並列処理方式。
  2. 【請求項2】 前記単体処理ユニット選択手段は、予め
    定義された優先順位である単体処理ユニット選択順序に
    従って、前記複数の単体処理ユニットの中から実行すべ
    き単体処理ユニットを選択することを特徴とする請求項
    1に記載の並列処理方式。
  3. 【請求項3】 前記単体処理ユニット選択手段は、前記
    単体処理ユニット選択順序に従って選択された前記単体
    処理ユニットが実行可能であるか否かを判定する単体処
    理ユニット実行可能性判定手段と、実行可能な前記単体
    処理ユニットが選択されるまで単位処理ユニットの選択
    動作を行うように前記単体処理ユニット選択手段を制御
    する単体処理ユニット選択制御手段とを備えることを特
    徴とする請求項1または2に記載の並列処理方式。
JP03371097A 1997-02-18 1997-02-18 並列処理方式 Expired - Fee Related JP3733678B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03371097A JP3733678B2 (ja) 1997-02-18 1997-02-18 並列処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03371097A JP3733678B2 (ja) 1997-02-18 1997-02-18 並列処理方式

Publications (2)

Publication Number Publication Date
JPH10232856A true JPH10232856A (ja) 1998-09-02
JP3733678B2 JP3733678B2 (ja) 2006-01-11

Family

ID=12393976

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03371097A Expired - Fee Related JP3733678B2 (ja) 1997-02-18 1997-02-18 並列処理方式

Country Status (1)

Country Link
JP (1) JP3733678B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418705B2 (en) 2003-06-27 2008-08-26 Kabushiki Kaisha Toshiba Method and system for performing real-time operation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418705B2 (en) 2003-06-27 2008-08-26 Kabushiki Kaisha Toshiba Method and system for performing real-time operation
US8171477B2 (en) 2003-06-27 2012-05-01 Kabushiki Kaisha Toshiba Method and system for performing real-time operation

Also Published As

Publication number Publication date
JP3733678B2 (ja) 2006-01-11

Similar Documents

Publication Publication Date Title
JPH08171494A (ja) マルチスレッドプロセッサ
JP2003263331A (ja) マルチプロセッサシステム
US20030014472A1 (en) Thread ending method and device and parallel processor system
JP5214537B2 (ja) マルチプロセッサシステム
JPH0895821A (ja) マルチタスクのプログラムデバッグ方法とその装置
JPH03230225A (ja) プロセス分散方法
US7032099B1 (en) Parallel processor, parallel processing method, and storing medium
JP2884831B2 (ja) 処理装置
EP0295646A3 (en) Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus
EP2282265A1 (en) A hardware task scheduler
US8656393B2 (en) Multi-core system
JP2008181535A (ja) ディジタル信号処理装置
KR20070114690A (ko) 프로세서
JP5504879B2 (ja) マルチスレッド処理方法及びマルチスレッド処理装置
JPH10232856A (ja) 並列処理方式
US7257698B2 (en) Instruction buffer and method of controlling the instruction buffer where buffer entries are issued in a predetermined order
US20220171630A1 (en) Apparatus and method
US5668714A (en) Control system for multi-processor apparatus
JPS6378231A (ja) 部分的プログラム結合方式
JPH11353291A (ja) マルチプロセッサシステム及びタスク交換プログラムを記録した媒体
US11892972B2 (en) Synchronization mechanisms for a multi-core processor using wait commands having either a blocking or a non-blocking state
JP3564327B2 (ja) 図形処理装置
CN113992941B (zh) 基于无服务器函数计算的云边协同视频分析系统与方法
JP5150214B2 (ja) 画像形成装置
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20040305

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040512

A131 Notification of reasons for refusal

Effective date: 20041207

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20050204

Free format text: JAPANESE INTERMEDIATE CODE: A523

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: 20050927

A61 First payment of annual fees (during grant procedure)

Effective date: 20051010

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091028

Year of fee payment: 4

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20101028

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

Free format text: PAYMENT UNTIL: 20101028

Year of fee payment: 5

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20111028

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

Free format text: PAYMENT UNTIL: 20111028

Year of fee payment: 6

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20121028

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20131028

LAPS Cancellation because of no payment of annual fees