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

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

Info

Publication number
JP4424244B2
JP4424244B2 JP2005115929A JP2005115929A JP4424244B2 JP 4424244 B2 JP4424244 B2 JP 4424244B2 JP 2005115929 A JP2005115929 A JP 2005115929A JP 2005115929 A JP2005115929 A JP 2005115929A JP 4424244 B2 JP4424244 B2 JP 4424244B2
Authority
JP
Japan
Prior art keywords
processor
shared memory
dma
data
area
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
JP2005115929A
Other languages
English (en)
Other versions
JP2006293836A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Systems Co 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 Fuji Electric Systems Co Ltd filed Critical Fuji Electric Systems Co Ltd
Priority to JP2005115929A priority Critical patent/JP4424244B2/ja
Publication of JP2006293836A publication Critical patent/JP2006293836A/ja
Application granted granted Critical
Publication of JP4424244B2 publication Critical patent/JP4424244B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、電子機器や電子システムに組み込まれるマルチプロセッサシステムに関する。
図12は、従来のマルチプロセッサシステムの構成を示すブロック図である。この図12に示すマルチプロセッサシステムは、非特許文献1でも略同様の構成例が紹介されている組込み用マルチプロセッサシステムの典型的な構成例である。
図12に示すマルチプロセッサシステムは、各々が半導体チップにより形成されたn個のプロセッサ1A〜1Nと、これらプロセッサ1A〜1Nの各内部に、半導体チップ内のCPU(中央処理装置)である演算プロセッサ11A〜11Nと、これら演算プロセッサ11A〜11Nに接続された読書き可能な内蔵メモリ12A〜12Nと外部バスIF13A〜13Nとを有し、また、各外部バスIF(インタフェース)13A〜13Nにイネーブル付バスドライバ4A〜4Nを介して接続された共有メモリ2と、各外部バスIF13A〜13Nに接続されたアクセス調停装置3とを備えて構成されている。
なお、以下の説明において各構成要素の数字符号の後ろに付したA〜N等のサフィックスは省略する場合もある。
更に説明すると、外部バスIF13A〜13Nは、各プロセッサ1A〜1N、即ち半導体チップの外部のバスへのアクセス制御を行う半導体チップ内のインタフェースコントローラである。共通バス9は、各プロセッサ1A〜1Nが共有メモリ2へアクセスする時に使用する共通のバスである。
アクセス調停装置3は、複数のアクセス要求があった場合に、1つのアクセスのみ選択して許可する調停を行う。このアクセス調停装置3と各プロセッサ1A〜1N間のアクセス要求信号5A〜5Nは、アクセス許可を要求する信号であり、アクセス許可信号6A〜6Nは、アクセス許可の要求信号5A〜5Nに対するアクセスを許可する信号である。
このマルチプロセッサシステムでは、n個のプロセッサ1A〜1Nで共通に使用する共有メモリ2を備え、各プロセッサ1A〜1Nによって共有メモリ2の予め約束されたアドレスに書込み又は読出しを行うことで、データの共有と交換を行っている。
共有メモリ2及び共通バス9は、各プロセッサ1A〜1Nで同時に使用することが出来ないため、アクセス調停装置3が設けられている。共有メモリ2へアクセスしたいプロセッサ(例えば1A)は、第1ステップとしてアクセス要求信号5Aを出力し、第2ステップでアクセス調停装置3からアクセス許可信号6Aを受け取ったら、第3ステップでイネーブル付バスドライバ4Aを開き、共通バス9を介して共有メモリ2への読書きを行う。
各プロセッサ1A〜1Nで同時に2つ以上のアクセス要求6が重なった場合には、アクセス調停装置3が決められた規則に従いアクセス要求の内の1つを選択して、それに対するアクセス許可信号6を返答するようになっており、共通バス9と共通メモリ2を複数のプロセッサが同時に使用しないようになっている。
「マイクロプロセッサ技術:昭和64年6月10日初版発行、編集兼発行者・電気学会、発売元・オーム社」の「4.3マルチプロセッサシステム/4.3.3具体例/(7)プロセス制御システム」
しかし、従来のマルチプロセッサシステムにおいて、共有メモリ2は、各プロセッサ1A〜1Nの半導体チップ外部に設置されるので、演算プロセッサ11A〜11Nの動作クロックの高速化と共に、同じ半導体チップ上にある内蔵メモリ12A〜12Nに対する読込み・書込み動作に要する時間に対して、外部バスIF13A〜13Nを介し共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が相対的に長くかかるようになってきた。
汎用的な演算プロセッサにおいては、特に読込み動作について、演算プロセッサ11A〜11Nに読込むデータが何時使用されるかはプログラム次第であって不明である。このため、読込みデータが演算プロセッサ11A〜11Nの内部レジスタに格納されるまで、プログラム処理が停止する。
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ2への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる装置及び方法を提供することを目的としている。
上記目的を達成するために、本発明の請求項1によるマルチプロセッサシステムは、個々に半導体チップで形成され、当該半導体チップ内に演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のデータバス間でデータの入出力を行うインタフェースを有する各プロセッサが、各プロセッサ外部のアクセス調停手段のアクセス調停制御に応じてプロセッサ外部の共有メモリに共通バスを介してデータを読書きしてデータの共有・交換を行うマルチプロセッサシステムにおいて、前記各プロセッサの内部に、前記共有メモリのデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリを前記内蔵メモリに備えると共に、前記演算プロセッサとは独立に指定された共有メモリの記憶領域及び仮想共有メモリの記憶領域間で相互に複写動作を行うDMAプロセッサを備え、前記各プロセッサの外部に、前記DMAプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備え、前記各プロセッサのDMAプロセッサの動作期間が互いに重複しないように前記トリガ信号を入力することを特徴とする。
この構成によれば、例えば、DMAプロセッサが、自プロセッサの動作期間中に自所属プロセッサ内の仮想共有メモリの自領域からデータを読出し、これを共有メモリの自領域へ書き込むと共に、共有メモリの他領域からデータを読み出して自所属プロセッサ内の仮想共有メモリの他領域へ書き込むことができる。また、プロセッサの演算プロセッサが、他のプロセッサに通知したいデータを仮想共有メモリの自領域へ書込み、他のプロセッサから通知されたデータを仮想共有メモリの他領域から読み出すことで、データの共有・交換を行うことができる。これによって、プロセッサの仮想共有メモリの自領域への書込み頻度の間隔が、DMA起動用のトリガ信号の周期より長ければ、その書込みは共有メモリを介して他のプロセッサ内の仮想共有メモリへ複写される。従って、各プロセッサの演算プロセッサが、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。
また、本発明の請求項2によるマルチプロセッサシステムは、請求項1において、前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行うことを特徴とする。
この構成によれば、例えばプロセッサAの演算プロセッサが、他のプロセッサB〜Nに通知したいデータを仮想共有メモリの領域Aへ書込み、他のプロセッサB〜Nから通知されたデータを仮想共有メモリの領域B〜Nから読み出すことで、データの共有・交換を行う。他のプロセッサB〜Nでも同様のことを行う。このような動作によって、各プロセッサの演算プロセッサは、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。
また、本発明の請求項3によるマルチプロセッサシステムは、請求項1または2において、前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み領域に区分けされ、自プロセッサ内部のDMAプロセッサは、前記トリガ信号に応じて、前記仮想共有メモリの自プロセッサ用書込み領域から前記共有メモリの自プロセッサ用書込み領域への複写動作と、前記共有メモリの自プロセッサ用書込み領域以外の記憶領域から前記仮想共有メモリの自プロセッサ用書込み領域以外の記憶領域への複写動作を行うことで、データの共有・交換を行うことを特徴とする。
この構成によれば、例えばプロセッサAのDMAプロセッサが、自プロセッサの動作期間中に、自所属プロセッサA内の仮想共有メモリの領域Aからデータを読出し、これを共有メモリの領域Aへ書き込むと共に、共有メモリの領域B〜Nからデータを読み出して自所属プロセッサ内の仮想共有メモリの領域B〜Nへ書き込む。これと同様に、プロセッサBのDMAプロセッサが、自プロセッサの動作期間中に、自所属プロセッサA内の仮想共有メモリの領域Bからデータを読出し、これを共有メモリの領域Bへ書き込むと共に、共有メモリの領域A・C〜Nからデータを読み出して自所属プロセッサB内の仮想共有メモリの領域A・C〜Nへ書き込む。以降、他のプロセッサC〜Nでも同様のことを行う。このような動作によって、プロセッサの仮想共有メモリの自領域への書込み頻度の間隔が、DMA起動用のトリガ信号の周期より長ければ、その書込みは共有メモリを介して他のプロセッサ内の仮想共有メモリへ複写される。
また、本発明の請求項4によるマルチプロセッサシステムは、請求項1から3の何れか1項において、前記DMAプロセッサに、データの高速処理を行う高速用DMAプロセッサと、データの低速処理を行う低速用DMAプロセッサとを備え、前記共有メモリ及び前記仮想共有メモリの記憶領域を、前記共有・交換したいデータの更新頻度に対応して更新頻度の高い高速用領域と、更新頻度の低い低速用領域とに分け、前記高速用DMAプロセッサによって前記高速用領域にアクセスし、前記低速用DMAプロセッサによって前記低速用領域にアクセスするようにしたことを特徴とする。
この構成によれば、例えばプロセッサAの演算プロセッサが、高速(又は高頻度)に他のプロセッサB〜Nに通知したいデータを仮想共有メモリの自高速用領域に書込み、他のプロセッサB〜Nが高速(又は高頻度)に通知したいデータを仮想共有メモリの他高速用領域から読み出す。一方、低速(又は低頻度)でも良いデータは低速用領域を使用する。このようにして更新したい頻度に応じて効率良くデータの共有・交換を行うことができる。
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。
以下、本発明の実施の形態を、図面を参照して説明する。但し、本明細書中の全図において相互に対応する部分には同一符号を付し、重複部分においては後述での説明を適時省略する。
図1は、本発明の実施の形態に係るマルチプロセッサシステムの構成を示す図である。
図1に示すマルチプロセッサシステムは、図12に示した従来のマルチプロセッサシステムの構成要素に、次に説明する要素が加えられて構成されている。
各々が半導体チップによって形成される各プロセッサ1A〜1Nの読書き可能な内蔵メモリ12A〜12Nに、仮想共有メモリ121A〜121Nと称する記憶領域(単に、領域とも称す)を設けた。
仮想共有メモリ121の容量は、共有メモリ2で実際にデータ共有を行うために使用される記憶容量と同じであり、記憶領域の割付けは、図2(a)に示すように共有メモリ2及び仮想共有メモリ121が共通となっており、各プロセッサ1A〜1Nの専用書込み領域A〜Nが割付けられている。
図2(b)に示すように、共有メモリ2において、領域Aは、プロセッサ1AのDMAプロセッサ14Aがデータを書込むと共に、他のプロセッサ1B〜1NのDMAプロセッサ14B〜14Nが書込まれたデータを読出す領域である。これと同様に他の領域B〜Nも、自プロセッサ1のDMAプロセッサ14がデータを書込むと共に、他のプロセッサ1のDMAプロセッサ14が書込まれたデータを読出す領域となっている。
仮想共有メモリ121は、図2(c)に示すようにプロセッサ1Aの仮想共有メモリ121Aを代表すると、領域Aは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込むと共に、自プロセッサ1AのDMAプロセッサ14Aが書込まれたデータを読み出して共有メモリ2の自プロセッサ1Aへの割付領域に書込むための領域である。
また、他の領域B〜Nは、自プロセッサ1AのDMAプロセッサ14Aが共有メモリ2の他プロセッサ1B〜1Nへの割付領域から読み出したデータを書込む領域である。
更に、全ての領域A〜Nは、自プロセッサ1Aの演算プロセッサ11が書込まれたデータを読出し可能な領域となっている。
この他、各プロセッサ1A〜1Nにトリガ信号伝達バス8を介して接続されたトリガ発生器7を設けた。トリガ発生器7は、DMAプロセッサ14を起動するためのトリガ信号を発生する。トリガ信号伝達バス8は、トリガ発生器7から発生されたトリガ信号を伝達する。なお、トリガ信号伝達バス8は、複数の信号線で構成される場合もある。
これら新規追加要素は次のように使用される。
DMAプロセッサ14は、図3の時刻t1〜t3に示すように、トリガ信号発生器7の発生する周期的なDMA起動トリガ信号に基づいて、各プロセッサ1A〜1NのDMAプロセッサ14A〜14Nの動作期間が、t1A〜t1N,t2A〜t2Nで示すように互いに重複しないように起動される。
例えば、プロセッサ1AのDMAプロセッサ(図には単にDMAと記載)14Aは、自プロセッサ14Aの動作期間t1A中に、図2(c)に示すように自所属プロセッサ1A内の仮想共有メモリ121Aの領域Aからデータを読出し、これを図2(b)に示すように共有メモリ2の領域Aへ書き込むと共に、共有メモリ2の領域B〜Nからデータを読み出して自所属プロセッサ1A内の仮想共有メモリ121Aの領域B〜Nへ書き込む。
これと同様に、プロセッサ1BのDMAプロセッサ14Bは、自プロセッサ14Bの動作期間t1B中に、自所属プロセッサ内の仮想共有メモリ121Bの領域Bからデータを読出し、これを共有メモリ2の領域Bへ書き込むと共に、共有メモリ2の領域A・C〜Nからデータを読み出して自所属プロセッサ1B内の仮想共有メモリ121Bの領域A・C〜Nへ書き込む。以降、プロセッサ1C〜1Nでも同様のことが行われる。
また、プロセッサ1Aの演算プロセッサ11Aは、他のプロセッサ1B〜1Nに通知したいデータを仮想共有メモリ121Aの領域Aへ書込み、他のプロセッサ1B〜1Nから通知されたデータを仮想共有メモリ121Aの領域B〜Nから読み出すことで、データの共有・交換を行う。プロセッサ1B〜1Nでも同様のことが行われる。
このような手段によって、演算プロセッサ11の仮想共有メモリ121の自領域への書込み頻度の間隔が、DMA起動トリガ信号の周期より長ければ、その書込みは共有メモリ2を介して他のプロセッサ内の仮想共有メモリ121へ複写される。
よって、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nは、データの共有・交換を行うために半導体チップ外部の共有メモリ2に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ12A〜12N内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
以下、このような本実施の形態に基づく具体的な実施例を説明する。
(実施例1)
本実施例1のマルチプロセッサシステムの構成は、上記実施の形態で説明したマルチプロセッサシステムの構成と基本的には同じであるが、トリガ信号伝達バス8の構成が、図4に示すように、各DMAプロセッサ14A〜14Nへ単一の信号線で共通のトリガ信号810を伝達する構成となっている。
各DMAプロセッサ14A〜14Nを起動するDMA起動トリガ信号も、共通トリガ信号810として伝送され、図3に示すように、周期的にトリガ信号発生器7で生成される。
各DMAプロセッサ14A〜14Nは、DMA起動トリガ信号を元にDMAプロセッサ14内に設定された位相で起動される。その位相設定は、各DMAプロセッサ14A〜14Nの動作期間が重ならないように設定される。
このような構成のマルチプロセッサシステムにおいて、上記実施の形態で説明したと同様の動作により、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nが、データの共有・交換を行う。
即ち、図2(b)及び(c)に示すように、プロセッサ1AにおいてDMAプロセッサ14Aが、自プロセッサ14Aの動作期間t1A中に、自所属プロセッサ1A内の仮想共有メモリ121Aの領域Aからデータを読出し、これを共有メモリ2の領域Aへ書き込むと共に、共有メモリ2の領域B〜Nからデータを読み出して自プロセッサ内の仮想共有メモリ121Aの領域B〜Nへ書き込む。他のプロセッサ1B〜1Nにおいても同様の動作が行われる。
また、プロセッサ1Aの演算プロセッサ11Aは、他のプロセッサ1B〜1Nに通知したいデータを仮想共有メモリ121Aの領域Aへ書込み、他のプロセッサ1B〜1Nから通知されたデータを仮想共有メモリ121Aの領域B〜Nから読み出すことで、データの共有・交換を行う。プロセッサ1B〜1Nでも同様のことが行われる。
(実施例2)
本実施例2のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、トリガ信号伝達バス8の構成が次のようになっている。
即ち、トリガ信号伝達バス8は、図5に示すように、DMA起動トリガ信号を、DMAプロセッサ14A用にトリガ信号820A、DMAプロセッサ14B用にトリガ信号820B、DMAプロセッサ14N用にトリガ信号820Nのように、個々のDMAプロセッサ14A〜14N毎に伝達する構成となっている。
各DMA起動トリガ信号820A〜820Nは、図6に時刻t1〜t7で示すように、トリガ信号発生器7から周期的に生成され、更に、これらDMA起動トリガ信号820A〜820Nの入力タイミングで起動するDMAプロセッサ14A〜14Nの動作期間t1A、t2B,t3N,t4A、t5B,t6Nが重ならないように発生される。
このような実施例2の構成のマルチプロセッサシステムにおいては、上記実施例1で説明したと同様の動作により、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nが、データの共有・交換を行う。
(実施例3)
本実施例3のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、トリガ信号伝達バス8の構成が次のようになっている。
即ち、トリガ信号伝達バス8には、上記実施例1で説明したように共通の信号が伝達されるが、実施例1と異なり、図7(a)に示すように、トリガ種別を与えるタイプ指定信号832とトリガのタイミングを与えるストローブ信号831の複数の信号構成となっている。図7(b)に示すように、タイプ指定信号832は、ストローブ信号831によってトリガされる。
このようなタイプ指定信号832及びストローブ信号831によって各DMAプロセッサ14A〜14Nに供給される各DMA起動トリガ信号は、図6に示したように時刻t1〜t7でトリガ信号発生器7から周期的に生成され、更に、これらDMA起動トリガ信号の入力タイミングで起動するDMAプロセッサ14A〜14Nの動作期間t1A,t2B,t3N,t4A、t5B,t6Nが重ならないように発生される。
また、各DMAプロセッサ14A〜14Nは、各DMA起動トリガ信号を構成するタイプ指定信号832で区別され、入力タイミングがストローブ信号831で与えられるようになっている。
このような実施例3の構成のマルチプロセッサシステムにおいては、上記実施例1で説明したと同様の動作により、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nが、データの共有・交換を行う。
(実施例4)
本実施例4のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、各DMAプロセッサ14A〜14Nが図8に示すように、高速用DMAプロセッサ141及び低速用DMAプロセッサ142を備えて構成されている。
このような構成としたのは次の理由による。マルチプロセッサシステムでは、共有・交換したいデータが全て同じ頻度で更新(変化)するとは限らないので、共有メモリ2及び仮想共有メモリ121の領域は更新したい頻度に対応して小分けにし、データの複写量を減らす方が合理的である。これを実現するためにDMAプロセッサ14を、高速用DMAプロセッサ141及び低速用DMAプロセッサ142を備えて構成した。
また、図9(a)に示すように、共有メモリ2及び仮想共有メモリ121のメモリ割付けは、共有・交換したいデータの更新頻度に対応して、更新頻度の高い高速用領域HA〜HNと、更新頻度の低い低速用領域LA〜LNに分けられている。
図9(b)に示すように、共有メモリ2において、高速用領域HAは、プロセッサ1Aの高速用DMAプロセッサ141Aがデータを書込むと共に、他のプロセッサ1B〜1Nの高速用DMAプロセッサ141B〜141Nが書込まれたデータを読出す領域である。これと同様に他の高速用領域HA〜HNも、自プロセッサ1の高速用DMAプロセッサ141がデータを書込むと共に、他のプロセッサ1の高速用DMAプロセッサ141が書込まれたデータを読出す領域となっている。
更に、共有メモリ2において、低速用領域HAは、プロセッサ1Aの低速用DMAプロセッサ142Aがデータを書込むと共に、他のプロセッサ1B〜1Nの低速用DMAプロセッサ142B〜142Nが書込まれたデータを読出す領域である。これと同様に他の低速用領域LA〜LNも、自プロセッサ1の低速用DMAプロセッサ142がデータを書込むと共に、他のプロセッサ1の低速用DMAプロセッサ142が書込まれたデータを読出す領域となっている。
図9(c)に示すように、仮想共有メモリ121は、プロセッサ1Aの仮想共有メモリ121Aを代表すると、高速用領域HAは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込むと共に、自プロセッサ1Aの高速用DMAプロセッサ141Aが書込まれたデータを読み出して共有メモリ2の自プロセッサ1Aに割り付けられた高速用領域HAに書込むための領域である。
また、他の高速用領域HB〜HNは、自プロセッサ1Aの高速用DMAプロセッサ141Aが共有メモリ2の他プロセッサ1B〜1Nに割り付けられた高速用領域HB〜HNから読み出したデータを書込む領域である。全ての高速用領域HA〜HNは、自プロセッサ1Aの演算プロセッサ11Aが書込まれたデータを読出し可能な領域となっている。
更に、仮想共有メモリ121は、プロセッサ1Aの仮想共有メモリ121Aを代表すると、低速用領域LAは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込むと共に、自プロセッサ1Aの低速用DMAプロセッサ142Aが書込まれたデータを読み出して共有メモリ2の自プロセッサ1Aに割り付けられた低速用領域LAに書込むための領域である。
また、他の低速用領域LB〜LNは、自プロセッサ1Aの低速用DMAプロセッサ142Aが共有メモリ2の他プロセッサ1B〜1Nに割り付けられた低速用領域LB〜LNから読み出したデータを書込む領域である。全ての低速用領域LA〜LNは、自プロセッサ1Aの演算プロセッサ11Aが書込まれたデータを読出し可能な領域となっている。
図10に示すように、トリガ信号伝達バス8は、DMA起動トリガ信号を、個々の高速用DMAプロセッサ141及び低速用DMAプロセッサ142毎に伝達する構成となっている。
即ち、高速用DMAプロセッサ141A用にトリガ信号821A、低速用DMAプロセッサ142A用にトリガ信号822A、高速用DMAプロセッサ141B用にトリガ信号821B、低速用DMAプロセッサ142B用にトリガ信号822B、高速用DMAプロセッサ141N用にトリガ信号821N、低速用DMAプロセッサ142N用にトリガ信号822Nのように、個々のDMAプロセッサ141及び142毎に伝達する構成となっている。
各DMA起動トリガ信号821A〜821N,822A〜822Nは、図11に時刻t1〜t9で示すように、トリガ信号発生器7から周期的に生成され、更に、これらDMA起動トリガ信号821A〜821N,822A〜822Nの入力タイミングで起動する高速用DMAプロセッサ141及び低速用DMAプロセッサ142の動作期間t1A、t2B,t3N,t4A,t5A,t6B,t7N,t8Bが重ならないように発生される。更に、低速用のDMA起動トリガ信号822A〜822Nの発生周期t4A,t8Bが、高速用のDMA起動トリガ信号t1A、t2B,t3N,t5A,t6B,t7Nの発生周期より長く発生される。
プロセッサ1Aの高速用DMAプロセッサ141Aは、自プロセッサ141Aの動作期間中に、図9(c)及び(b)に示すように、自プロセッサ141A内の仮想共有メモリ121Aの高速用領域HAからデータを読出して共有メモリ2の高速用領域HAへの書き込みと、共有メモリ2の他の高速用領域HB〜HNからデータを読み出して自プロセッサ141A内の仮想共有メモリ121Aの高速用領域B〜Nへの書込みを行う。他のプロセッサ1B〜1Nでも同様のことが行われる。
この動作と同様に、各プロセッサ1の低速用DMAプロセッサ142も、自プロセッサ142内の仮想共有メモリ121から共有メモリ2への複写動作、共有メモリ2から仮想共有メモリ121への複写動作を行う。
プロセッサ1Aの演算プロセッサ11Aは、高速(又は高頻度)に他のプロセッサ1B〜1Nに通知したいデータを仮想共有メモリ12Aの高速用領域HAに書込み、他のプロセッサ1B〜1Nが高速(又は高頻度)に通知したいデータを仮想共有メモリ12B〜12Nの高速用領域HB〜HNから読み出す。一方、低速(又は低頻度)でも良いデータは低速用領域を使用する。以上のようにして更新したい頻度に対応したデータの共有・交換を行う。
この実施例4のトリガ信号バス8は、図7に示したように、全DMAプロセッサ141A〜141N及び142A〜142Nへ共通の信号が伝達されるが、トリガ種別を与えるタイプ指定信号とトリガのタイミングを与えるストローブ信号のような複数の信号で構成されていていても良い。
以上説明した実施例1〜4によれば、各プロセッサ1A〜1Nの演算プロセッサ11A〜11Nは、データの共有・交換を行うために半導体チップ外部の共有メモリ2に直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ12A〜12N内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
一般的に、同じ半導体チップ上にある内蔵メモリ12A〜12Nに対する読込み・書込み動作に要する時間は、外部バスIF13A〜13Nを介して半導体チップ外部に対する読込み・書込み動作に要する時間よりも遥かに短い。よって、マルチプロセッサシステムにおいて必須となる共有メモリ2への読書きに起因するプログラム処理効率の低下を防止することができる。言い換えれば、マルチプロセッサシステムにおいて共有メモリ2への読書きを行う際のプログラム処理効率を向上させることができる。
本発明の実施の形態に係るマルチプロセッサシステムの構成を示す図である。 上記実施の形態に係るマルチプロセッサシステムの共有メモリ及び仮想共有メモリを示し、(a)は共有メモリ及び仮想共有メモリの記憶領域の割付け図、(b)は共有メモリの各記憶領域への書込み読出し動作の説明図、(c)は仮想共有メモリの各記憶領域への書込み読出し動作の説明図である。 上記実施の形態に係るマルチプロセッサシステムにおいてトリガ信号発生器から発生されるDMA起動トリガ信号の各DMAプロセッサへの入力タイミング及び各DMAプロセッサの動作タイミングを示す図である。 上記実施の形態に係る実施例1のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施の形態に係る実施例2のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施例2のマルチプロセッサシステムにおいてトリガ信号発生器から発生されるDMA起動トリガ信号の各DMAプロセッサへの入力タイミング及び各DMAプロセッサの動作タイミングを示す図である。 上記実施の形態に係る実施例3のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施の形態に係る実施例4のマルチプロセッサシステムのDMAプロセッサの構成を示す図である。 上記実施例4のマルチプロセッサシステムの共有メモリ及び仮想共有メモリを示し、(a)は共有メモリ及び仮想共有メモリの記憶領域の割付け図、(b)は共有メモリの各記憶領域への書込み読出し動作の説明図、(c)は仮想共有メモリの各記憶領域への書込み読出し動作の説明図である。 上記実施例4のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施例4のマルチプロセッサシステムにおいてトリガ信号発生器から発生される高速用又は低速用DMA起動トリガ信号の各高速用又は低速用DMAプロセッサへの入力タイミング及び当該DMAプロセッサの動作タイミングを示す図である。 従来のマルチプロセッサシステムの構成を示す図である。
符号の説明
1A〜1N プロセッサ
2 共有メモリ
3 アクセス調停装置
4A〜4N イネーブル付バスドライバ
7 トリガ信号発生器
8 トリガ信号伝達バス
12A〜12N 内蔵メモリ
13A〜13N 外部バスIF
14A〜14N DMAプロセッサ
121A〜121N 仮想共有メモリ
141A〜141N 高速用DMAプロセッサ
142A〜142N 低速用DMAプロセッサ
820A〜820N DMA起動トリガ信号
821A〜821N 高速用DMA起動トリガ信号
822A〜822N 低速用DMA起動トリガ信号
831 ストローブ信号
832 タイプ指定信号
LA〜LN 低速用領域
HA〜HN 高速用領域

Claims (4)

  1. 個々に半導体チップで形成され、当該半導体チップ内に演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のデータバス間でデータの入出力を行うインタフェースを有する各プロセッサが、各プロセッサ外部のアクセス調停手段のアクセス調停制御に応じてプロセッサ外部の共有メモリに共通バスを介してデータを読書きしてデータの共有・交換を行うマルチプロセッサシステムにおいて、
    前記各プロセッサの内部に、前記共有メモリのデータの共有・交換に使用される記憶容量と同容量の仮想共有メモリを前記内蔵メモリに備えると共に、前記演算プロセッサとは独立に指定された共有メモリの記憶領域及び仮想共有メモリの記憶領域間で相互に複写動作を行うDMAプロセッサを備え、
    前記各プロセッサの外部に、前記DMAプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備え、
    前記各プロセッサのDMAプロセッサの動作期間が互いに重複しないように前記トリガ信号を入力する
    ことを特徴とするマルチプロセッサシステム。
  2. 前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行う
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記共有メモリ及び前記仮想共有メモリは、前記各プロセッサ毎の書込み領域に区分けされ、自プロセッサ内部のDMAプロセッサは、前記トリガ信号に応じて、前記仮想共有メモリの自プロセッサ用書込み領域から前記共有メモリの自プロセッサ用書込み領域への複写動作と、前記共有メモリの自プロセッサ用書込み領域以外の記憶領域から前記仮想共有メモリの自プロセッサ用書込み領域以外の記憶領域への複写動作を行うことで、データの共有・交換を行う
    ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。
  4. 前記DMAプロセッサに、データの高速処理を行う高速用DMAプロセッサと、データの低速処理を行う低速用DMAプロセッサとを備え、
    前記共有メモリ及び前記仮想共有メモリの記憶領域を、前記共有・交換したいデータの更新頻度に対応して更新頻度の高い高速用領域と、更新頻度の低い低速用領域とに分け、前記高速用DMAプロセッサによって前記高速用領域にアクセスし、前記低速用DMAプロセッサによって前記低速用領域にアクセスするようにした
    ことを特徴とする請求項1から3の何れか1項に記載のマルチプロセッサシステム。
JP2005115929A 2005-04-13 2005-04-13 マルチプロセッサシステム Expired - Fee Related JP4424244B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005115929A JP4424244B2 (ja) 2005-04-13 2005-04-13 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005115929A JP4424244B2 (ja) 2005-04-13 2005-04-13 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2006293836A JP2006293836A (ja) 2006-10-26
JP4424244B2 true JP4424244B2 (ja) 2010-03-03

Family

ID=37414323

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005115929A Expired - Fee Related JP4424244B2 (ja) 2005-04-13 2005-04-13 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP4424244B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100859600B1 (ko) * 2007-01-05 2008-09-23 전자부품연구원 멀티프로세서 시스템
KR102407917B1 (ko) 2015-11-12 2022-06-10 삼성전자주식회사 멀티 프로세서에 의해 공유되는 메모리를 포함하는 멀티 프로세서 시스템 및 상기 시스템의 동작 방법

Also Published As

Publication number Publication date
JP2006293836A (ja) 2006-10-26

Similar Documents

Publication Publication Date Title
JP6083714B2 (ja) プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム
JP5680466B2 (ja) 並列処理システム及び並列処理システムの動作方法
JP4424244B2 (ja) マルチプロセッサシステム
KR101695845B1 (ko) 캐시 일관성 유지 장치 및 방법, 이를 이용하는 멀티프로세서 장치
JP4642531B2 (ja) データ要求のアービトレーション
JP4902640B2 (ja) 集積回路、及び集積回路システム
JP4734348B2 (ja) 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
JP4539481B2 (ja) マルチプロセッサシステム
JP2014038652A (ja) 通信装置及びその制御方法、プログラム
JP5218413B2 (ja) 情報処理装置及びその制御方法
JP2007172430A (ja) 半導体集積回路
JP4295815B2 (ja) マルチプロセッサシステムおよびマルチプロセッサシステムの動作方法
JP7463855B2 (ja) 情報処理装置及びプログラム
JP2005107873A (ja) 半導体集積回路
KR100441996B1 (ko) 직접 메모리 액세스 제어기 및 제어 방법
KR0144093B1 (ko) 다수의 프로세서가 하나의 캐쉬 메모리를 공유하는 시스템 장치 및 방법
JP4583981B2 (ja) 画像処理装置
JP2010237770A (ja) 情報処理装置、ブリッジ装置および情報処理方法
JP2016224560A (ja) マルチチップシステム、及びその制御方法
WO2011030498A1 (ja) データ処理装置及びデータ処理方法
JP2006309561A (ja) ダイレクトメモリアクセスコントローラ及びそのデータ転送方法
JP4642398B2 (ja) 共有バス調停システム
JP3674670B2 (ja) バス制御装置及び半導体装置
JP2007328539A (ja) バスシステムおよびバススレーブならびにバス制御方法
JP2011018138A (ja) プロセッサシステム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090826

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees