JP2000330928A - 高速転送を行う並列処理システム - Google Patents

高速転送を行う並列処理システム

Info

Publication number
JP2000330928A
JP2000330928A JP11139659A JP13965999A JP2000330928A JP 2000330928 A JP2000330928 A JP 2000330928A JP 11139659 A JP11139659 A JP 11139659A JP 13965999 A JP13965999 A JP 13965999A JP 2000330928 A JP2000330928 A JP 2000330928A
Authority
JP
Japan
Prior art keywords
transfer
dma
cpu
data
memory
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.)
Withdrawn
Application number
JP11139659A
Other languages
English (en)
Inventor
Masashi Yoshida
昌司 吉田
Koji Ikeda
光二 池田
Atsushi Takane
高根  淳
Norio Sato
典夫 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP11139659A priority Critical patent/JP2000330928A/ja
Publication of JP2000330928A publication Critical patent/JP2000330928A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】性能の高いマルチプロセッサを低コストで構成
する。 【解決手段】DMA転送単位境界からのずれが、マスタ
プロセッサのデータ領域とスレーブプロセッサのデータ
領域で等しくなるように、無効領域を付加してスレーブ
プロセッサのデータ領域を確保する。マルチプロセッサ
のプロセッサ間の転送では、無効領域を転送しないよう
に、DMA転送単位境界に含まれない部分をCPUを用
いて1画素ずつ転送し、DMA転送単位境界に含まれる
部分のみをDMA機能を用いて高速に転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理計算機
の技術分野に属し、マルチプロセッサシステムのプロセ
ッサ間転送の方法に関している。
【0002】
【従来の技術】マルチプロセッサシステムにおいては、
複数のプロセッサで演算を並列に実行でき、特に画像処
理では、画素ごとの処理の並列性が高いので、演算時間
をほぼプロセッサ数で割った時間に短縮することが可能
である。しかし、複数のプロセッサに処理すべきデータ
を分割する必要があり、そのプロセッサ間転送の転送時
間がオーバヘッドとして新たに処理時間に加わる。従っ
て、いかにプロセッサ間転送を高速に行って、最終的な
演算効率を向上できるかが鍵となる。
【0003】転送を高速化する技術としては、本来CP
Uが転送するべきデータをCPUと独立にデータ転送す
る、DMAと呼ばれる機能が一般に知られている。CP
UはDMAが転送を行っている間、別の実行処理を継続
することができ、性能の向上が図れる。DMA機能をハ
ードウェアで実現した例としては、特開平9−34835号公
報に記載されている。
【0004】また、DMA機能は、転送性能の向上のた
めシングルチップマイコンに内蔵されるようになってき
ており、シングルチップに構成するための技術として
は、特開平5−307516号公報,特開平8−286999号公報,
「日立SuperH RISC engine SH-4SH7750 ハードウェアマ
ニュアル 第14章 ダイレクトメモリアクセスコントロ
ーラ(DMAC)」等に記載されている。
【0005】さらに、マルチプロセッサにおいてプロセ
ッサ間の転送にDMA機能を応用した例としては、特開
平8−212179号公報に記載されている。
【0006】
【発明が解決しようとする課題】任意の大きさのデータ
を転送する場合、ある転送単位の転送を繰り返して送る
ことになる。転送の効率を上げるには転送単位を大きく
した方が有利であり、転送単位のサイズは大きくなって
いく傾向にある。シングルチップマイコンに内蔵される
DMA機能の場合、DMA転送単位をバス幅かキャッシ
ュのブロックサイズにしておくのが、コストの面から都
合がよい。
【0007】一方、ユーザの送るデータは、始点が転送
単位境界と合っている保証はない。例えば画像処理で扱
う画像データにおいては、1画素を表わすデータは、白
黒画像なら1〜2バイト,カラーでも3バイト等、サイ
ズは小さい。従って、大きな画像データの一部に処理対
象としてウィンドウを設定する場合、ウィンドウの始点
はユーザが任意に設定するので、転送単位からずれてい
るのが普通である。転送元と転送先でDMAの転送単位
からのずれが一致しない場合、シングルチップマイコン
に内蔵されるDMA転送を用いることができない。ま
た、マルチプロセッサで画像処理を行う場合、各プロセ
ッサの処理データ量を同じにするよう画像を縦分割する
と、各プロセッサの処理領域の開始点は、転送単位から
ずれを生じる形となり、やはりDMA転送を用いて高速
に転送することはできない。
【0008】従来例の特開平8−212179 号公報に記載の
技術では、この問題について考慮されていない。また、
特開平9−34835号公報に記載の技術は、このずれに対処
するDMA転送のハードウェアを実現しており、CPU
の外付け回路として実現する際には問題ないが、このD
MA転送のハードウェアをシングルチップマイコンに内
蔵しようとするとコストがかかりすぎる問題がある。
【0009】本発明の目的は、マルチプロセッサのプロ
セッサ間転送で扱う、始点が転送単位からずれているデ
ータを、コスト的に有利だが転送単位に制約がついてし
まう、シングルチップマイコン内蔵のDMA機能を用い
て、転送する方法を提供することにある。
【0010】また、DMA転送がキャッシュを用いない
ため、通常のCPU処理でキャッシングされたデータに
関し、キャッシュコヒーレンシの方法を提供することも
課題となる。
【0011】
【課題を解決するための手段】上記課題を解決するた
め、複数のCPUがデータをやり取りしながら並列に処
理を実行する並列処理システムにおいて、少なくとも1
つのCPUを、DMA機能を内蔵するシングルチッププ
ロセッサで構成し、CPU間の転送を前記DMA機能を
用いて行うことにより、課題を達成する。
【0012】また、前記マルチプロセッサシステムにお
いて、プロセッサ間の転送に2種類以上の異なる大きさ
の転送単位の転送を備え、大きい転送単位境界に満たな
い部分は小さい転送単位にて転送し、大きい転送単位境
界に含まれる部分は大きい転送単位ごとに転送すること
により、課題を達成する。
【0013】さらに、前記マルチプロセッサシステムに
おいて、少なくとも1つのプロセッサを、CPUとDM
A機能を共に内蔵したシングルチップとメモリで構成
し、プロセッサ間の転送のうち、DMA転送単位境界に
満たない部分はCPUにて転送し、DMA転送単位境界
に含まれる部分は前記DMA機能にて転送することによ
り、課題を達成する。
【0014】次に、前記マルチプロセッサシステムにお
いて、DMA転送単位境界からのずれが、マスタプロセ
ッサのデータ領域とスレーブプロセッサのデータ領域で
等しくなるように、スレーブプロセッサのデータ領域を
確保し、DMA機能を用いてプロセッサ間転送を行うこ
とにより、課題を達成する。
【0015】最後に、前記マルチプロセッサシステムに
おいて、DMA転送前にキャッシュに入っているDMA
転送元領域のデータをメモリに書き戻し、DMA転送後
にキャッシュに入っているDMA転送先領域のデータを
無効化することにより、課題を達成する。
【0016】
【発明の実施の形態】図1は、本発明を実施した場合の
マルチプロセッサシステムのハードウェア構成例であ
る。本マルチプロセッサシステムは、マスタプロセッサ
109,スレーブプロセッサ119,129,139,1
49、及びそれらを接続するバス102から成る。もち
ろんスレーブの数は4台に限る必要はなく、それ以上で
もそれ以下でも実施可能だが、本実施例では4台として
説明する。
【0017】マスタプロセッサ109は、マスタCPU
100,主メモリ101から成る。スレーブプロセッサ
119は、バス102を介して接続されるスレーブCPU1
10,ローカルメモリ111から成り、同様に、スレーブ
プロセッサ129は、スレーブCPU120,ローカル
メモリ121,スレーブプロセッサ139は、スレーブ
CPU130,ローカルメモリ131,スレーブプロセ
ッサ149は、スレーブCPU140,ローカルメモリ
141から成る。
【0018】さらに、マスタCPU100は、CPUコ
ア151,キャッシュ152,DMA153より成る。
CPUコア151が主メモリ101をアクセスする場
合、キャッシュ152を介してアクセスするが、DMA
153がメモリ101をアクセスする場合、キャッシュ
152を介さず直接アクセスする。
【0019】主メモリ101は、1画像全体の画像デー
タを保持しており、マスタCPU100は、その画像データを
スレーブプロセッサの数である4つに分割し、ローカル
メモリ111,121,131,141へ転送する。分
割された画像を受け取ったスレーブCPU110,12
0,130,140は、分割された画像に対し画像処理
を行い、結果画像をローカルメモリ111,121,1
31,141へ書き込む。スレーブCPU110,12
0,130,140の処理がすべて終わると、マスタC
PU100は、それぞれのスレーブCPU110,12
0,130,140の分割された結果画像をローカルメ
モリ111,121,131,141から主メモリ10
1に転送し、1画像全体の画像データに構成する。
【0020】図2は、マスタCPU100、及びスレー
ブCPU110,120,130,140で実行される
処理手続きを示したものである。下側にむかうにつれて
処理が進む形で記述してある。スレーブCPU上の手続
きは、実際は4つのスレーブに各々1つずつプログラム
が実行される訳であるが、4つ説明するのは繁雑である
ため、1つのスレーブCPU(例えば110)の分を説
明する。マスタCPU100上で実行されるマスタプログラム
310、及びスレーブCPU(例えば110)上で実行さ
れるスレーブ通信処理320と画像処理330,ローカ
ルメモリ(例えば111)上に置かれるデータ360か
ら成る。マスタCPU100上でCPUという変数は、
CPU=1のときスレーブCPU110,CPU=2の
ときスレーブCPU120,CPU=3のときスレーブ
CPU130,CPU=4のときスレーブCPU140
へ対する処理を表わす。
【0021】ローカルメモリ上のデータ360には、ロ
ーカルメモリのアクセス権631〜635,画像データ
641〜646からなる。ローカルメモリのアクセス権
は1ビットで、0がマスタにアクセス権あり、1がスレ
ーブにアクセス権ありを示す。マスタプログラム310
はまず、画像をスレーブの数に分割する画像分割611を
行い、その後にローカルメモリ上に領域を設けるメモリ
確保612を行う。このとき、アクセス権631と画像
データ641の領域がローカルメモリ上に設けられ、ア
クセス権は0に初期化される。すなわちマスタCPUに
アクセス権ありがデフォルトとなる。次に最初の1ライ
ンの画像データを送る画像データ送信613が行われ、
ローカルメモリ上の画像データ領域642にデータが送
られる。データが送り終わるとアクセス権を1にする処
理614が行われ、アクセス権632は1の値となる。
マスタプログラム310はスレーブ起動615を実行
し、スレーブを立ち上げる。612から615の処理は
スレーブの数だけ行う必要があり、ループ判定616に
て、スレーブ数nの回数だけ繰り返す。スレーブ上で
は、スレーブ通信処理320を介し、画像処理330が
実行開始する。その後、マスタプログラム310はアク
セス権が0にされるのを待つ処理617によってアクセ
ス権が0になるのを待つ。画像処理330は、画像デー
タ領域643から画像データを読み出し、演算661を
行って、結果を画像データ領域643に書き込む。1行
分が終わったら、最終行か否かの判定662を行い、最
終行でない場合は、スレーブ通信処理320がアクセス
権をマスタに返す処理651を行い、マスタがアクセス
権をスレーブに渡してくるまで待つ処理652に入る。
アクセス権が0にされるのを待つ処理617を行ってい
たマスタプログラム310はアクセス権0を検出すると
画像データ領域644を読み込む画像データ受信618
を行い、1行分の結果を集めたあと、画像データ送信6
19により次の1行分のデータ645を送る。1行分送
り終わったら、アクセス権634を1にする処理620
を行い、これをスレーブ数ずつ繰り返す処理621とさ
らに画像の縦幅分繰り返す処理622により、処理を継
続する。マスタがアクセス権をスレーブに渡してくるま
で待つ処理652に入っていたスレーブ通信320は、
アクセス権634がマスタプログラム310によって1
にされると、画像処理330に次の行に関する演算66
1を行わさせる。こうして画像全体の処理を進め、最後
の行において、最終行か否かの判定662で最後の行で
あると判定されると、スレーブ通信320はアクセス権
635を0にする処理653を行って処理を終了する。
マスタプログラム310もこのときアクセス権635が
0かどうかを判定する処理623で待っているはずで、
アクセス権635が0であると判定すると最後の行の演
算結果である画像データ646を集める画像データ受信
624を行い、これをスレーブの数だけ繰り返す処理6
25で繰り返した後、処理を終了する。このように、マ
スタプログラム310とスレーブ通信320は、アクセ
ス権631〜635で1行ずつ同期をとりながら画像デ
ータ641〜646をやりとりして処理を進めていく。
【0022】図3は、従来のデータ転送の方法を説明す
る図である。図1における主メモリ101に画像301
が置かれ、その中に画像処理する対象としてウィンドウ
302が定義されている。また、ローカルメモリ111に
データ領域304が置かれている。ローカルメモリは、
他の121,131,141でも同様であるので、11
1のみを説明する。
【0023】ユーザは画像処理を実行させる場合、画像
301の中にウィンドウ302を設定して、その部分を
処理するよう指定するのが一般的である。従って、ウィ
ンドウ302の開始点は、通常、DMA転送単位の境界
に合っていない。一方、マルチプロセッサで実行する
際、ローカルメモリ111上のデータ領域304は、D
MA転送単位の境界に合わせてとられる。すると、主メ
モリ101上の例えば画素群303をローカルメモリ1
11上の例えば画素305に転送する場合、DMA転送
単位の境界からのずれが合わないので、1画素ごと転送
せねばならず、DMA転送を用いることができない。さ
らに、マルチプロセッサで画像を縦分割する場合、各ス
レーブプロセッサの処理データ量を同じにするよう均等
に分割すると、各プロセッサの処理領域の開始点は、D
MA転送単位からずれを生じる形となり、やはりDMA
転送を用いることができない。
【0024】図4は、本発明のデータ転送方法を説明す
る図である。主メモリ101上に画像301が置かれ、
ローカルメモリ111にデータ領域404が置かれるの
は、図3と同様である。
【0025】図3と同じように、画像301上のウィン
ドウ302に対して画像処理を実行させる場合、図2に
おけるメモリ確保611にて、主メモリ101上のウィ
ンドウ302のDMA転送単位境界からのずれと、ロー
カルメモリ111上のデータ領域404のDMA転送単
位境界からのずれが一致するように無効領域405と無
効領域406を含めたローカルメモリ111上のデータ
領域404を、図2のデータ領域641として確保す
る。このようにすると、主メモリ101上のDMA転送単
位境界部分402を、ローカルメモリ111上のDMA
転送単位境界部分408にDMA転送することができ
る。左右の半端領域は、DMA転送単位に満たないの
で、画素ごと転送せねばならない。すなわち、主メモリ
101上の左端部401をローカルメモリ111上の左
端部407へ画素ごとに転送し、主メモリ101上の右
端部403をローカルメモリ111上の右端部409へ
画素ごとに転送する。しかしながら、画素ごとに転送す
る領域は、1ラインにつきDMA転送単位の2倍を超え
ず、それ以外の領域402をDMA転送単位ずつDMA
転送できるため、処理性能が大幅に向上する。
【0026】図5は、図2における画像データ受信61
8の詳細を示したものである。なお、画像データ送信6
19も、データの流れの方向が逆になるだけで基本的に
同様の手続きになる。画像データ受信618は、図4に
おける、主メモリ101上のウィンドウ302上の1行
分を、ローカルメモリ111上のデータ領域404上の
1行分へ転送する機能を持っており、CPU転送領域確
定200,左端CPU転送201,DMA転送202,
右端CPU転送203からなる。
【0027】CPU転送領域確定200は、転送元先頭
アドレスsrc ,転送先先頭アドレスdst ,転送サイズsi
zeを与えられ、そのうちDMA転送単位UNITの境界
に含まれない左端部401の画素数leftと右端部403
の画素数right 、及びDMA転送単位境界に含まれる部
分のDMA回数DMA_Count を計算する。
【0028】left=UNIT−src%UNIT; right=(src+size)%UNIT; DMA_Count =(src+size)/UNIT−(src−UNIT−1)/UN
IT; 左端CPU転送201は、図4において、主メモリ10
1上の左端部401をローカルメモリ111上の左端部
407へ画素ごとに転送する。CPU転送領域確定20
0において、左端部の画素数leftが計算されているの
で、その回数に達するか否かの判定211を行いなが
ら、1画素の転送210を繰り返す。
【0029】DMA転送202は、図4において、主メ
モリ101上の中央部402をローカルメモリ111上
の中央部408へDMA転送する。CPU転送領域確定
200において、DMA転送単位境界に含まれる部分のD
MA回数DMA_Count が計算されているので、その回数
や、転送元先頭アドレスsrc ,転送先先頭アドレスdst
を、所定のレジスタに設定220し、DMA回路をスタ
ート221する。この後、CPUは、転送をDMAに任
せ、他の処理を行うことができる。DMA回路は、所定
の回数の転送を終わると終了ビットを返してくるので、
CPUはしばらくの時間が経過した後、DMA転送状態
取得223で終了ビットを検査し、終了ビットが立って
くるのを待つ。
【0030】左端CPU転送202は、主メモリ101
上の右端部403をローカルメモリ111上の右端部4
09へ画素ごとに転送する。CPU転送領域確定200
において、右端部の画素数right が計算されているの
で、その回数に達するか否かの判定231を行いなが
ら、1画素の転送230を繰り返す。
【0031】図6は、図2における画像データ受信61
8の詳細のもう一つの例である。なお、画像データ送信
619も、データの流れの方向が逆になるだけで基本的
に同様の手続きになる。画像データ受信618は、図4
における、主メモリ101上のウィンドウ302上の1
行分を、ローカルメモリ111上のデータ領域404上
の1行分へ転送する機能を持っており、転送元キャッシ
ュブロックの書き出し601,CPU転送領域確定20
0,左端CPU転送201,DMA転送202,右端C
PU転送203,転送先キャッシュブロックの無効化6
02からなる。このうち、CPU転送領域確定200,
左端CPU転送201,DMA転送202,右端CPU転送
203は図5と同じなので説明を省略する。
【0032】図1において、CPUコア151が主メモ
リ101をアクセスする場合、キャッシュ152を介し
てアクセスするが、DMA153がメモリ101をアク
セスする場合、キャッシュ152を介さず直接アクセス
する。従って、DMA転送を行う前には、転送元データ
領域がキャッシュ152に入っている場合、転送元キャ
ッシュブロックの書き出し601が必要となる。また、
DMA転送を行った後には、転送先データ領域がキャッ
シュ152に入っている場合、転送先キャッシュブロッ
クの無効化602が必要となる。
【0033】図7は、画面を縦に分割する場合の入力画
像の構成例を示したものである。マスタ通信310で画
像をスレーブの数SlaveNumに分割する画像分割611で
の処理を示している。一般に画像処理は、注目画素の周
りのカーネルの大きさの領域を読み込んで演算するの
で、入力画像をスレーブの数に分けるときには、境界部
分でカーネルの大きさ分だけ重なり合わせた形で分けな
ければならない。各プロセッサの処理データ量を同じに
するよう画像を均等に分割するようにすると、スレーブ
の入力画像Slv->ImgSrcは、マスタの入力画像Mst->ImgS
rcのパラメータを用いて次のような式で表される。
【0034】Slv->ImgSrc.Width={Mst->WinSrc.Width
−(Mst->KerW-1)}/SlaveNum+(Mst->KerW-1) Slv->ImgSrc.Height=Mst->WinSrc.Height Slv->WinSrc.x_coord=0,Slv->WinSrc.y_coord=0 Slv->WinSrc.Width={Mst->WinSrc.Width−(Mst->KerW-
1)}/SlaveNum+(Mst->KerW-1) Slv->WinSrc.Height=Mst−>WinSrc.Hei
ght このように、マルチプロセッサで画像処理を行う場合、
各プロセッサの処理データ量を同じにするよう画像を縦
分割すると、各プロセッサの処理領域の開始点は、DM
A転送単位からずれを生じる形となる。
【0035】さらに、上記のように分割した後、DMA
転送単位境界からのずれを考慮して、各プロセッサの処
理領域の開始点をDMA転送単位境界に合うように補正
する分割方法も考えられる。
【0036】図8は、画面を縦に分割する場合の出力画
像の構成例を示したものである。マスタ通信310で画
像をスレーブの数SlaveNumに分割する画像分割
611での処理を示している。一般に画像処理は、注目
画素の周りのカーネルの大きさの領域を読み込んで演算
するので、出力画像は周囲部分でカーネルの大きさの半
分の分だけ計算できない領域が発生する。図ではこの領
域をハッチングして表している。スレーブの出力画像Sl
v->ImgDstは、マスタの入力画像Mst->ImgDstのパラメー
タを用いて次のような式で表される。
【0037】Slv->ImgDst.Width={Mst->WinDst.Width
−(Mst->KerW-1)}/SlaveNum+(Mst->KerW-1) Slv->ImgDst.Height=Mst->WinDst.Height Slv->WinDst.x_coord=0,Slv->WinDst.y_coord=0 Slv->WinDst.Width={Mst->WinDst.Width−(Mst->KerW-
1)}/SlaveNum Slv->WinDst.Height=Mst->WinDst.Height 図9は、画面を横に分割する場合の入力画像の構成例を
示したものである。マスタ通信310で画像をスレーブ
の数SlaveNumに分割する画像分割611での処理を示し
ている。一般に画像処理は、注目画素の周りのカーネル
の大きさの領域を読み込んで演算するので、入力画像を
スレーブの数に分けるときには、境界部分でカーネルの
大きさ分だけ重なり合わせた形で分けなければならな
い。スレーブの入力画像Slv->ImgSrcは、マスタの入力
画像Mst->ImgSrcのパラメータを用いて次のような式で
表される。
【0038】Slv->ImgSrc.Height={Mst->WinSrc.Heigh
t−(Mst->KerH-1)}/SlaveNum+(Mst->KerH-1) Slv->ImgSrc.=Width->WinSrc.Width Slv->WinSrc.x_coord=0,Slv->WinSrc.y_coord=0 Slv->WinSrc.Height={Mst->WinSrc.Height−(Mst->Ker
H-1)}/SlaveNum+(Mst->KerH-1) Slv->WinSrc.Width=Mst->WinSrc.Width 図10は、画面を横に分割する場合の出力画像の構成例
を示したものである。マスタ通信310で画像をスレー
ブの数SlaveNumに分割する画像分割611での処理を示
している。一般に画像処理は、注目画素の周りのカーネ
ルの大きさの領域を読み込んで演算するので、出力画像
は周囲部分でカーネルの大きさの半分の分だけ計算でき
ない領域が発生する。図ではこの領域をハッチングして
表している。スレーブの出力画像Slv->ImgDstは、マス
タの入力画像Mst->ImgDstのパラメータを用いて次のよ
うな式で表される。
【0039】Slv->ImgDst.Height={Mst->WinDst.Heigh
t−(Mst->KerH-1)}/SlaveNum+(Mst->KerH-1) Slv->ImgDst.=Width->WinDst.Width Slv->WinDst.x_coord=0,Slv->WinDst.y_coord=0 Slv->WinDst.Height={Mst->WinDst.Height−(Mst->Ker
H-1)}/SlaveNum Slv->WinDst.Width=Mst->WinDst.Width
【0040】
【発明の効果】本発明によれば、始点がDMA転送単位
からずれているデータを、DMA転送単位に制約がつく
シングルチップマイコン内蔵のDMA機能を用いて転送
することができる。
【0041】従って、CPUに回路を外付けしてDMA
機能を構成する必要がなくなり、追加ハードウェアが不
要でコストの削減の効果がある。またDMA機能を用い
て高速に転送できるために、性能向上の効果がある。
【図面の簡単な説明】
【図1】ハードウェア構成例を示した図である。
【図2】処理手続きを示した図である。
【図3】従来のデータ転送を説明するための図である。
【図4】本発明のデータ転送を説明するための図であ
る。
【図5】データ転送618の処理を示した図である。
【図6】データ転送618の他の処理を示した図であ
る。
【図7】入力画像分割の例を示した図である。
【図8】出力画像分割の例を示した図である。
【図9】入力画像分割の例を示した図である。
【図10】出力画像分割の例を示した図である。
【符号の説明】
100…マスタCPU、101…主メモリ、102…バ
ス、109…マスタプロセッサ、110,120,13
0,140…スレーブCPU、111,121,13
1,141…ローカルメモリ、119,129,13
9,149…スレーブプロセッサ、151…CPUコ
ア、152…キャッシュ、153…DMA。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高根 淳 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器事業部内 (72)発明者 佐藤 典夫 茨城県ひたちなか市大字市毛882番地 株 式会社日立製作所計測器事業部内 Fターム(参考) 5B005 JJ22 KK16 KK22 LL15 MM01 PP21 5B045 AA01 BB31 BB54 DD13 KK08 5B061 DD00 DD04 DD06 DD12 GG13

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサがメモリを介してデータ
    をやり取りしながら並列に処理を実行するマルチプロセ
    ッサシステムにおいて、 少なくとも1つのプロセッサを、CPUとDMA機能を
    共に内蔵したシングルチップとメモリで構成し、 プロセッサ間の転送に前記DMA機能を用いることを特
    徴とするマルチプロセッサシステム。
  2. 【請求項2】複数のプロセッサがメモリを介してデータ
    をやり取りしながら並列に処理を実行するマルチプロセ
    ッサシステムにおいて、 プロセッサ間の転送に2種類以上の異なる大きさの転送
    単位の転送を備え、 大きい転送単位境界に満たない部分は小さい転送単位に
    て転送し、 大きい転送単位境界に含まれる部分は大きい転送単位ご
    とに転送することを特徴とするマルチプロセッサシステ
    ム。
  3. 【請求項3】複数のプロセッサがメモリを介してデータ
    をやり取りしながら並列に処理を実行するマルチプロセ
    ッサシステムにおいて、 少なくとも1つのプロセッサを、CPUとDMA機能を
    共に内蔵したシングルチップとメモリで構成し、 プロセッサ間の転送のうち、DMA転送単位境界に満た
    ない部分はCPUにて転送し、 DMA転送単位境界に含まれる部分は前記DMA機能に
    て転送することを特徴とするマルチプロセッサシステ
    ム。
  4. 【請求項4】複数のプロセッサがメモリを介してデータ
    をやり取りしながら並列に処理を実行するマルチプロセ
    ッサシステムにおいて、 DMA転送単位境界からのずれが、マスタプロセッサの
    データ領域とスレーブプロセッサのデータ領域で等しく
    なるように、スレーブプロセッサのデータ領域を確保
    し、 DMA機能を用いてプロセッサ間転送を行うことを特徴
    とするマルチプロセッサシステム。
  5. 【請求項5】複数のプロセッサがメモリを介してデータ
    をやり取りしながら並列に処理を実行するマルチプロセ
    ッサシステムにおいて、 DMA転送前にキャッシュに入っているDMA転送元領
    域のデータをメモリに書き戻し、 DMA転送後にキャッシュに入っているDMA転送先領
    域のデータを無効化することを特徴とするマルチプロセ
    ッサシステム。
JP11139659A 1999-05-20 1999-05-20 高速転送を行う並列処理システム Withdrawn JP2000330928A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11139659A JP2000330928A (ja) 1999-05-20 1999-05-20 高速転送を行う並列処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11139659A JP2000330928A (ja) 1999-05-20 1999-05-20 高速転送を行う並列処理システム

Publications (1)

Publication Number Publication Date
JP2000330928A true JP2000330928A (ja) 2000-11-30

Family

ID=15250430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11139659A Withdrawn JP2000330928A (ja) 1999-05-20 1999-05-20 高速転送を行う並列処理システム

Country Status (1)

Country Link
JP (1) JP2000330928A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6768869B2 (en) 2002-04-23 2004-07-27 Eastman Kodak Company Camera body, camera and method for assembling same
US6871016B2 (en) 2001-12-27 2005-03-22 Eastman Kodak Company Recyclable camera and method for assembling same
JP2007026433A (ja) * 2005-06-24 2007-02-01 Nvidia Corp オペレーティングシステム補足ディスクのキャッシュシステムおよび方法
JP2011034414A (ja) * 2009-08-03 2011-02-17 Canon Inc Dmaコントローラ
WO2012073490A1 (ja) * 2010-11-30 2012-06-07 パナソニック株式会社 オブジェクト検出装置、画像分割装置、集積回路
JP2014165637A (ja) * 2013-02-25 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 呼処理装置
JP2019185527A (ja) * 2018-04-13 2019-10-24 株式会社デンソーテン マイコン装置およびマイコン装置の制御方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6871016B2 (en) 2001-12-27 2005-03-22 Eastman Kodak Company Recyclable camera and method for assembling same
US6768869B2 (en) 2002-04-23 2004-07-27 Eastman Kodak Company Camera body, camera and method for assembling same
JP2007026433A (ja) * 2005-06-24 2007-02-01 Nvidia Corp オペレーティングシステム補足ディスクのキャッシュシステムおよび方法
JP2011034414A (ja) * 2009-08-03 2011-02-17 Canon Inc Dmaコントローラ
WO2012073490A1 (ja) * 2010-11-30 2012-06-07 パナソニック株式会社 オブジェクト検出装置、画像分割装置、集積回路
CN102741877A (zh) * 2010-11-30 2012-10-17 松下电器产业株式会社 目标检测装置、图像分割装置、集成电路
US8699753B2 (en) 2010-11-30 2014-04-15 Panasonic Corporation Object detecting device, image dividing device, integrated circuit, method of detecting object, object detecting program, and recording medium
CN102741877B (zh) * 2010-11-30 2016-03-30 松下电器产业株式会社 目标检测装置、图像分割装置、集成电路
JP2014165637A (ja) * 2013-02-25 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 呼処理装置
JP2019185527A (ja) * 2018-04-13 2019-10-24 株式会社デンソーテン マイコン装置およびマイコン装置の制御方法

Similar Documents

Publication Publication Date Title
JP2569323B2 (ja) コプロセツサア−キテクチヤ
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
JP4439491B2 (ja) マルチグラフィックスプロセッサシステム、グラフィックスプロセッサおよびデータ転送方法
JP3573614B2 (ja) 画像処理装置及び画像処理システム
CN110109847B (zh) Apb总线多个主设备的仲裁方法、系统及存储介质
GB2201568A (en) Graphics processor
JP2532191B2 (ja) 複式バス・ア―キテクチャを有する計算システムに使用するデ―タ伝送の管理方法
JP2012038293A5 (ja)
JP2002510079A (ja) メモリ・インタフェース間で読み書きの順序付けられた実行を強制する方法と装置
JP2003263331A (ja) マルチプロセッサシステム
US7644237B1 (en) Method and apparatus for global ordering to insure latency independent coherence
JP5265827B2 (ja) ハイブリッドコヒーレンスプロトコル
JP2000330928A (ja) 高速転送を行う並列処理システム
US5278975A (en) Synchronization control system in a parallel computer
EP3788493B1 (en) Data processing network with flow compaction for streaming data transfer
CN109739785B (zh) 多核系统的内连线结构
US5432911A (en) Controllers request access within one bus cycle causing hardware-wait to stall second controller when first controller is accessing and second controller is still requesting access
JP4829408B2 (ja) 画像処理方法及び画像処理装置
CN115328832B (zh) 一种基于pcie dma的数据调度系统与方法
JP2559918B2 (ja) 並列計算機における同期制御方式
US7073004B2 (en) Method and data processing system for microprocessor communication in a cluster-based multi-processor network
JP2006079394A (ja) データ処理装置
JP2007241601A (ja) マルチプロセッサシステム
JP3251147B2 (ja) プロセッサ間データ転送方法およびその装置
JPH0348544B2 (ja)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051206

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20060203