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

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

Info

Publication number
JP2007041768A
JP2007041768A JP2005223975A JP2005223975A JP2007041768A JP 2007041768 A JP2007041768 A JP 2007041768A JP 2005223975 A JP2005223975 A JP 2005223975A JP 2005223975 A JP2005223975 A JP 2005223975A JP 2007041768 A JP2007041768 A JP 2007041768A
Authority
JP
Japan
Prior art keywords
processor
data
shared memory
trigger signal
virtual shared
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
JP2005223975A
Other languages
English (en)
Other versions
JP4539481B2 (ja
Inventor
Satoshi Kai
聡 甲斐
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 JP2005223975A priority Critical patent/JP4539481B2/ja
Publication of JP2007041768A publication Critical patent/JP2007041768A/ja
Application granted granted Critical
Publication of JP4539481B2 publication Critical patent/JP4539481B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

【課題】 共有メモリへの読書きに起因するプログラム処理効率の低下を防止すること。
【解決手段】 半導体チップ内に、演算プロセッサ11と、内蔵メモリ12と、外部バスIF13とを有して成る各プロセッサ1の内部に、データの共有・交換に使用する記憶容量を有して内蔵メモリ12内に配備した仮想共有メモリ121と、データの共有・交換に使用される共通バスIF15と、演算プロセッサ11とは独立に指定された仮想共有メモリ121の記憶領域から他の記憶領域へ複写動作を行うDMAプロセッサ14とを備える。更に、プロセッサ1の外部に、共通バスIF15同士を接続してデータの共有・交換に使用される共通バスIF15と、DMAプロセッサ14を起動するトリガ信号を発生するトリガ信号発生器7と、このトリガ信号を各プロセッサ1のDMAプロセッサ14に伝達するトリガ信号伝達バス8とを備える。
【選択図】 図1

Description

本発明は、電子機器や電子システムに組み込まれるマルチプロセッサシステムに関する。
図10は、従来のマルチプロセッサシステムの構成を示すブロック図である。この図10に示すマルチプロセッサシステムは、非特許文献1でも略同様の構成例が紹介されている組込み用マルチプロセッサシステムの典型的な構成例である。
図10に示すマルチプロセッサシステムは、各々が半導体チップにより形成されたn個のプロセッサ1A〜1Nと、これらプロセッサ1A〜1Nの各内部に、半導体チップ内のCPU(中央処理装置)である演算プロセッサ11A〜11Nと、これら演算プロセッサ11A〜11Nに接続された読書き可能な内蔵メモリ12A〜12Nと、外部バスIF13A〜13Nとを有し、また、各外部バスIF(インタフェース)13A〜13Nにローカルバス4A〜4Nを介して接続されたイネーブル付バスドライバ41A〜41N、E2PROM(Electrically Erasable Programmable Read-Only Memory)等のローカルメモリ42A〜42N及びローカルI/O(Input/Output)43A〜43Nと、更に、イネーブル付バスドライバ41A〜41Nから共通バス9を介して接続された共有メモリ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ステップでイネーブル付バスドライバ41Aを開き、共通バス9を介して共有メモリ2への読書きを行う。
プロセッサ1A〜1Nがローカルに使用するローカルメモリ42A〜42N又はローカルI/O43A〜43Nにアクセスする際は、イネーブル付バスドライバ41A〜41Nは閉じており、共通バス9へは影響を与えない。
各プロセッサ1A〜1Nで同時に2つ以上のアクセス要求が重なった場合には、アクセス調停装置3が決められた規則に従いアクセス要求の内の1つを選択して、それに対するアクセス許可信号を返答するようになっており、共通バス9と共有メモリ2を複数のプロセッサが同時に使用しないようになっている。
「マイクロプロセッサ技術:昭和54年5月10日初版発行、編集兼発行者・電気学会、発売元・オーム社」の「4.3マルチプロセッサシステム/4.3.3具体例/(7)プロセス制御システム」
しかし、従来のマルチプロセッサシステムにおいて、共有メモリ2は、各プロセッサ1A〜1Nの半導体チップ外部に設置されるので、演算プロセッサ11A〜11Nの動作クロックの高速化と共に、同じ半導体チップ上にある内蔵メモリ12A〜12Nに対する読込み・書込み動作に要する時間に対して、外部バスIF13A〜13Nから共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が相対的に長くかかるようになってきた。
これに加え、外部バスIF13A〜13Nにはローカルバス4A〜4Nを介してローカルメモリ42A〜42N及びローカルI/O43A〜43Nが接続されているので、ローカルメモリ42A〜42N又はローカルI/O43A〜43Nにもアクセスする場合、このアクセスが共通バス9を介した共有メモリ2へのアクセスと時分割で行われることになる。この場合、共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が更に長くかかることになる。
汎用的な演算プロセッサにおいては、特に読込み動作について、演算プロセッサ11A〜11Nに読込むデータが何時使用されるかはプログラム次第であって不明である。このため、読込みデータが演算プロセッサ11A〜11Nの内部レジスタに格納されるまで、プログラム処理が停止する。
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ2への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるマルチプロセッサシステムを提供することを目的としている。
上記目的を達成するために、本発明の請求項1によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記複数のプロセッサの内部に、前記データの共有・交換に使用する記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、前記データの共有・交換に使用される共通バスインタフェースと、前記演算プロセッサとは独立に指定された前記仮想共有メモリの記憶領域から他の記憶領域へ複写動作を行うDMAプロセッサとを備え、前記複数のプロセッサの外部に、前記共通バスインタフェース間を接続して前記データの共有・交換に使用される共通バスと、前記DMAプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備えたことを特徴とする。
この構成によれば、各プロセッサの演算プロセッサは、データの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。また、外部バスインタフェースを介してローカルバスとの間でデータの入出力を行う動作と、共通バスインタフェースを介して共通バスとの間でデータの共有・交換を行う動作とを独立して行うことができる。これによって、また、従来のように共通バスへのアクセスの際にローカルバスへのアクセスと時分割で実行されることもなくなり、本発明では共通バスへのアクセスと、ローカルバスへのアクセスとを並列に行うことができる。
また、本発明の請求項2によるマルチプロセッサシステムは、請求項1において、前記仮想共有メモリは、前記複数のプロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行うことを特徴とする。
この構成によれば、例えばプロセッサAの演算プロセッサが、他のプロセッサB〜Nに通知したいデータを仮想共有メモリの領域Aへ書込み、他のプロセッサB〜Nから通知されたデータを仮想共有メモリの領域B〜Nから読み出すことで、データの共有・交換を行う。他のプロセッサB〜Nでも同様のことを行う。このような動作によって、各プロセッサの演算プロセッサは、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。
また、本発明の請求項3によるマルチプロセッサシステムは、請求項1または2において、前記発生手段は、前記トリガ信号に加え、前記仮想共有メモリに対するデータの書込み及び読出しの動作の形式を指定する指定信号を発生し、前記DMAプロセッサは、前記トリガ信号及び前記指定信号に応じて前記仮想共有メモリからのデータの書込み及び読出しの動作を行うことを特徴とする。
この構成によれば、各プロセッサは、予め定められたデータの書込み及び読出しの動作の形式に従って、仮想共有メモリに対する書込み・読出しを行うことができる。
また、本発明の請求項4によるマルチプロセッサシステムは、請求項3において、前記発生手段は、前記トリガ信号として、前記仮想共有メモリに書込まれた他プロセッサに通知したいデータを前記共通バスヘ出力するタイミング用の第1のトリガ信号と、前記共通バスで伝達される他プロセッサから通知されたデータを前記共通バスから読込むタイミング用の第2のトリガ信号とを、前記第1のトリガ信号が前記第2のトリガ信号よりも早いタイミングで生成することを特徴とする。
この構成によれば、第1のトリガ信号のタイミングで自プロセッサからデータを共通バスへ出力すると、この出力されたデータは、第2のトリガ信号のタイミングで他プロセッサにて読込まれるので、データを適正に交換することができる。
また、本発明の請求項5によるマルチプロセッサシステムは、請求項3において、前記仮想共有メモリを前記内蔵メモリの外部から出して前記プロセッサ内に備え、前記発生手段は、前記指定信号として前記仮想共有メモリに対する上位アドレスの指定を行う第1の指定信号と、下位アドレスの指定を行う第2の指定信号とを生成し、前記DMAプロセッサは、前記第1及び第2の指定信号に応じて前記仮想共有メモリに対する上位及び下位アドレスの指定を行ってデータの書込み及び読出しの動作を行うことを特徴とする。
この構成によれば、演算プロセッサは、自プロセッサ内の仮想共有メモリの自領域へのデータ書込みと他領域からのデータの読出しで、他プロセッサとデータの共有・交換を行うことができる。
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。
以下、本発明の実施の形態を、図面を参照して説明する。但し、本明細書中の全図において相互に対応する部分には同一符号を付し、重複部分においては後述での説明を適時省略する。
(実施の形態)
図1は、本発明の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。
図1に示すマルチプロセッサシステムが、図10に示した従来のマルチプロセッサシステムと異なる構成点を説明する。
各プロセッサ1A〜1Nに、バスへのアクセス用のインタフェース回路である共通バスIF15A〜15Nを設け、これら共通バスIF15A〜15Nに共通バス92を接続した。更に、DMAプロセッサ14A〜14Nを設け、共通バスIF15及びDMAプロセッサ14を、演算プロセッサ11、内蔵メモリ12及び外部バスIF13と共に内部バス19A〜19Nで接続した。
また、内蔵メモリ12A〜12Nは、各々が半導体チップによって形成される各プロセッサ1A〜1Nの読書き可能なメモリであるが、この内部に、仮想共有メモリ121A〜121Nと称する記憶領域(単に、領域とも称す)を設けた。
仮想共有メモリ121の容量は、図10に示した共有メモリ2で実際にデータ共有を行うために使用される記憶容量と同じであり、記憶領域の割付けは、図2(a)に示すように、各プロセッサ1A〜1Nの専用書込み領域A〜Nが割付けられている。
図2(b)に示すように、各仮想共有メモリ121A〜121Nを代表する仮想共有メモリ121Aにおいて、領域Aは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込み、この書込まれたデータを、自プロセッサ1AのDMAプロセッサ14Aが読み出して共通バス92を介して他のプロセッサ1B〜1Nへ出力する領域である。
他の領域B〜Nは、自プロセッサ1AのDMAプロセッサ14Aが共通バス92を介して他のプロセッサ1B〜1Nからデータを読み込んで書込み、この書込まれたデータを自プロセッサ1Aの演算プロセッサ11Aが読み出す領域である。
更に、全ての領域A〜Nは、自プロセッサ1Aの演算プロセッサ11が書込まれたデータを読出し可能な領域となっている。
この他、各プロセッサ1A〜1Nにトリガ信号伝達バス8を介して接続されたトリガ発生器7を設けた。トリガ発生器7は、DMAプロセッサ14を起動するためのトリガ信号を発生する。トリガ信号伝達バス8は、トリガ発生器7から発生されたトリガ信号を伝達する。なお、トリガ信号伝達バス8は、複数の信号線で構成される場合もある。
トリガ信号発生器7からトリガ信号伝達バス8へは、各DMAプロセッサ14A〜14Nが、共通バス92ヘのデータの出力、又は、共通バス92からのデータの読込みのタイミングを与えるトリガ信号831が発生されて伝達されるようになっている。
更に、トリガ信号発生器7からトリガ信号伝達バス8へは、図3及び図4に示すように、各DMAプロセッサ14A〜14Nが、仮想共有メモリ121の指定される領域からデータを読み出して共通バス92に出力するか、共通バス92からデータを読込んで仮想共有メモリ121の指定される領域へ書込むかの動作を指定するタイプ指定信号832も発生されて伝達されるようになっている。
タイプ指定信号832は、図3に時系列で示す時刻t1〜t2間のトリガタイプXと、時刻t2〜t3間のトリガタイプXXと、時刻t2〜t3間のトリガタイプXXXとが、その順に一定周期で繰り返される。
また、(1)〜(5)で示すタイミング順のトリガ信号831のトリガによって、予め各DMAプロセッサ14A〜14Nに設定された規則に従って各DMAプロセッサ14A〜14Nが、仮想共有メモリ121のタイプ指定信号832で指定されるメモリ領域のオフセットアドレスからのデータを読出して共通バス92へ出力するか、或いは、共通バス92からデータを読み込んで仮想共有メモリ121のタイプ指定信号832で指定されるメモリ領域のオフセットアドレスヘの書込みを行う。
これによって、プロセッサ1Aの仮想共有メモリ121Aの自領域のデータは、他のプロセッサ1B〜1Nの仮想共有メモリ121B〜121Nのプロセッサ1A用領域に複写される。同様に、プロセッサ1x内の仮想共有メモリ121xの自領域のデータも、他のプロセッサの仮想共有メモリ121のプロセッサ1x用領域に複写される。
演算プロセッサ11の仮想共有メモリ121の自領域への書込み頻度が、タイプ指定信号832の「トリガタイプX→XX→XXX」の一周期より長ければ、その書込みは他のプロセッサ内の仮想共有メモリ121へ複写される。よって、各プロセッサの演算プロセッサ11A〜11Nは、データの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
また、従来のように、共通バス92へのアクセスの際に、ローカルバス4A〜4Nへのアクセスと時分割で実行されることもなくなる。本実施の形態の場合、共通バス92へのアクセスと、ローカルバス4A〜4Nへのアクセスとを並列に行うことができる。
以下、このような本実施の形態に基づく具体的な実施例を説明する。
(実施例1)
本実施例1のマルチプロセッサシステムの構成は、上記実施の形態で説明したマルチプロセッサシステムと同構成である。
本実施例1では、各DMAプロセッサ14A〜14Nは、次に図3及び図4を参照して説明する設定が成されている。
DMAプロセッサ14Aは、トリガタイプXの場合の(1)で示すタイミングのトリガ信号831の時は、時刻t1〜t2間のS1行に示すように、仮想共有メモリ121Aの領域Aのオフセットアドレス0のデータを読み出して共通バス92へ出力する。(2)で示すタイミングのトリガ信号831の時は、仮想共有メモリ121Aの領域Aのオフセットアドレス1のデータを読み出して共通バス92へ出力する。即ち、トリガ信号831のカウント数に従って読み出す仮想共有メモリ121Aの領域Aのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
また、DMAプロセッサ14Aは、トリガタイプXXの場合の(1)で示すタイミングのトリガ信号831の時は、時刻t2〜t3間のS1行に示すように、共通バス92からデータを読込んで仮想共有メモリ121Aの領域Bのオフセットアドレス0へ書込む。(2)で示すタイミングのトリガ信号831の時は、共通バス92からデータを読込んで仮想共有メモリ121Aの領域Bのオフセットアドレス1へ書込む。即ち、トリガ信号831のカウント数に従って書込む仮想共有メモリ121Aの領域Bのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
更に、DMAプロセッサ14Aは、トリガタイプXXX等の場合も、時刻t3〜t4間のS1行に示すように、上記同様に、トリガ信号831のカウント数に従って、書込む仮想共有メモリ121Aの領域Nのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
次に、DMAプロセッサ14Bは、時刻t1〜t2間のS2行に示すように、トリガタイプXの場合の(1)で示すタイミングのトリガ信号831の時は、共通バス92からデータを読込んで仮想共有メモリ121Bの領域Aのオフセットアドレス0へ書込む。(2)で示すタイミングのトリガ信号831の時は、共通バス92からデータを読込んで仮想共有メモリ121Bの領域Aのオフセットアドレス1へ書込む。即ち、トリガ信号831のカウント数に従って書込む仮想共有メモリ121Aの領域Bのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
また、DMAプロセッサ14Bは、トリガタイプXXの場合の(1)で示すタイミングのトリガ信号831の時は、時刻t2〜t3間のS2行に示すように、仮想共有メモリ121Bの領域Bのオフセットアドレス0のデータを読み出して共通バス92へ出力する。(2)で示すタイミングのトリガ信号831の時は、仮想共有メモリ121Bの領域Bのオフセットアドレス1のデータを読み出して共通バス92へ出力する。即ち、トリガ信号831のカウント数に従って読み出す仮想共有メモリ121Bの領域Bのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
更に、DMAプロセッサ14Bは、トリガタイプXXX等の場合も、時刻t3〜t4間のS2行に示すように、上記同様に、トリガ信号831のカウント数に従って、書込む仮想共有メモリ121Bの領域Nのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
更には、DMAプロセッサ14Nにも、時刻t1〜t4間のSn行に示すように、上記DMAプロセッサ14A,14Bと同様な動作を行う設定が成されている。
このような設定動作によって、プロセッサ1Aの演算プロセッサ11Aは、自プロセッサ内の仮想共有メモリ121Aの領域Aへのデータの書込みと、他領域B〜Nからのデータの読出しとによって、他のプロセッサ1B〜1Nとデータの共有・交換を行うことができる。
他のプロセッサ1B〜1Nの演算プロセッサ11B〜11Nも同様に、自プロセッサ内の仮想共有メモリ121の自領域へのデータ書込みと他領域B〜Nからのデータの読出しとによって、他のプロセッサ1A〜1Nとデータの共有・交換を行うことができる。
(実施例2)
本実施例2のマルチプロセッサシステムの構成も、上記実施例1の構成と基本的には同じであるが、トリガ信号伝達バス8が図5に示すように構成され、また共通バスIF15が図6に示すように構成されている。
上記実施例1では、同一のトリガ信号831で各DMAプロセッサ14A〜14Nが同時に動作していた。例えば、DMAプロセッサ14Aによる共通バス92への出力と、DMAプロセッサ14B〜14Nによる共通バス92からの読込みが同時に動作していた。しかし、プロセッサ内部バス19A〜19Nの使用状況如何では、各DMAプロセッサ14A〜14Nが同時に動作できるとは限らない。実施例2はそれを次に説明するように考慮した例である。
図6に示す共通バスIF15は、内部バス19に接続されたラッチレジスタ151と、このラッチレジスタ151及び共通バスIF15の間に接続されたトライステート出力バッファ152と、共通バスIF15と内部バス19との間に接続された入力バッファ153とを備えて構成されている。
ラッチレジスタ151は、内部バス19からの書込み時にデータがセットされると、次に当該ラッチレジスタ151ヘ書込みが行われるまで同じデータを共通バスIF15へ出力する。よって、各DMAプロセッサ14が共通バス92ヘデータを出力する場合は、動作が終了しても次の動作までは共通バス92へ同じデータの出力が継続される。
図5に示すトリガ信号伝達バス8は、トリガ信号831として各プロセッサ1A〜1N専用のトリガ信号831A〜831Nと、タイプ指定信号832とが伝達されるように構成されている。つまり、トリガ信号発生器7は、トリガ信号831A〜831Nとタイプ指定信号832を発生するようになっている。
トリガ信号831A〜831Nは、図7の(1)に示すように、共通バス92ヘデータを出力するDMAプロセッサ14に対するトリガ信号831Aが、共通バス92からデータを読込むDMAプロセッサ14に対するトリガ信号831B,831Nより先に、トリガ信号発生器7から出力される。このトリガ信号831A〜831Nの時間差は、トリガ信号831x受信後、DMAプロセッサ14xの動作終了までの時間はプロセッサ内部バス19の使用状況で変化するが、その最大時間から決定される。
図6の共通バスIF15の構成によって、共通バス92ヘデータを出力するDMAプロセッサ14の動作が終了しても、次の動作が行われるまでは、図7に示す共通バス92のデータの状態のようにデータが保持される。
そして、上記実施例1の時刻t1〜t4間のS1〜Sn行に示したと同様の動作(図7にも対応する動作を同符号で示した)により、演算プロセッサ11A〜11Nは、自プロセッサ内の仮想共有メモリ121の自領域へのデータ書込みと他領域からのデータの読出しで、プロセッサ1A〜1Nとデータの共有・交換を行うことができる。
(実施例3)
本実施例3のマルチプロセッサシステムは図8に示すように構成されており、トリガ信号伝達バス8は図9に示すように構成されている。
まず、図9に示すトリガ信号伝達バス8は、図5に示したトリガ信号伝達バス8のタイプ指定信号832を拡張することによって、領域指定信号(上位アドレス信号)833と、領域内のオフセットアドレス信号(下位アドレス信号)834とが伝達されるようにした。即ち、トリガ信号発生器7は、領域指定信号833及びオフセットアドレス指定信号834を発生する。
図8に示すマルチプロセッサシステムは、図1に示したマルチプロセッサシステムの内蔵メモリ12内にあった仮想共有メモリ121を、半導体チップに内蔵されたデュアルポートメモリの仮想共有メモリ16A〜16Nとして分離したものである。この仮想共有メモリ16A〜16Nの片ポートは内部バス19A〜19Nに接続され、反対側ポートは共通バスIF15を介して共通バス92及び、トリガ信号伝達バス8の領域指定信号833及びオフセットアドレス指定信号834が伝達される線路に接続されている。
仮想共有メモリ16A〜16Nの内部は、図2(a)及び(b)に示したと同様に各プロセッサ1A〜1Nの専用の書込み領域が割付けられている。
また、図8のマルチプロセッサシステムにおいては、各プロセッサ1A〜1Nにおいて共通バス用DMAプロセッサ17A〜17Nを更に備え、これらを内部バス19A〜19Nに接続すると共に、仮想共有メモリ16A〜16Nの下位アドレスをオフセットアドレス指定信号834に応じた制御信号で指定する線路に接続されている。
共通バス用DMAプロセッサ17A〜17Nは、仮想共有メモリ16A〜16Nに対して、領域指定信号833で上位アドレスを指定すると共にオフセットアドレス指定信号834で下位アドレスを指定してデータを読出し、これを共通バス92に出力する。更には共通バス92からデータを読み込んで上記と同指定による仮想共有メモリ16へ書込む動作を行う。更に、トリガ信号831A〜831Nのタイミングで、各データの仮想共有メモリ16A〜16Nからの読出し、又は書込みを行う。
演算プロセッサ11A〜11Nは、自プロセッサ内の仮想共有メモリ16の自領域へのデータ書込みと他領域からのデータの読出しで、プロセッサ1A〜1Nとデータの共有・交換を行うことができる。
以上説明した実施例1〜3によれば、各演算プロセッサ11A〜11Nが、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリである仮想共有メモリ121A〜121N又は仮想共有メモリ16A〜16Nに対するデータの書込み・読出しを行えば良い。
一般的に、同じ半導体チップ上にある内蔵メモリ対する読込み・書込み動作に要する時間は、外部バスIF13A〜13Nを介して半導体チップ外部に対する読込み・書込み動作に要する時間よりも遥かに短い。
また、本実施例では、ローカルバス4A〜4Nと共通バス92とを切り離したので、従来のように外部バスIF13を介した共通バス92へのアクセスの際にローカルバス4A〜4Nへのアクセスと時分割で実行されることがなく、共通バス92へのアクセスと、ローカルバス4A〜4Nへのアクセスとを並列に行うことができる。
よって、マルチプロセッサシステムにおいて必須となる共有メモリヘの読書きによるプログラム処理効率の低下を防止することができる。
本発明の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。 上記実施の形態に係るマルチプロセッサシステムの共有メモリ及び仮想共有メモリを示し、(a)は仮想共有メモリの記憶領域の割付け図、(b)は仮想共有メモリの各記憶領域への書込み読出し動作の説明図である。 上記実施の形態に係る実施例1のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施例1のマルチプロセッサシステムにおけるタイプ指定信号とトリガ信号とのタイミングチャートである。 上記実施の形態に係る実施例2のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 上記実施例2のマルチプロセッサシステムにおける共通バスIFの構成を示すブロック図である。 上記実施例2のマルチプロセッサシステムにおけるタイプ指定信号及びトリガ信号と、共通バスのデータ状態とのタイミングチャートである。 上記実施の形態に係る実施例3のマルチプロセッサシステムの構成を示すブロック図である。 上記実施例3のマルチプロセッサシステムにおけるトリガ信号伝達バスの構成を示す図である。 従来のマルチプロセッサシステムの構成を示すブロック図である。
符号の説明
1A〜1N プロセッサ
2 共有メモリ
3 アクセス調停装置
4A〜4N ローカルバス
7 トリガ信号発生器
8 トリガ信号伝達バス
12A〜12N 内蔵メモリ
13A〜13N 外部バスIF
14A〜14N DMAプロセッサ
15A〜15N 共通バスIF
16A〜16N,121A〜121N 仮想共有メモリ
17A〜17N 共通バス用DMAプロセッサ
19A〜19N 内部バス
31A〜31N アクセス要求信号
32A〜32N アクセス許可信号
41A〜41N イネーブル付バスドライバ
42A〜42N ローカルメモリ
43A〜43N ローカルI/O
92 共通バス
151 ラッチレジスタ
152 トライステート出力バッファ
153 入力バッファ
831,831A〜831N トリガ信号
832 タイプ指定信号
833 領域指定信号
834 オフセットアドレス指定信号

Claims (5)

  1. 半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、
    前記複数のプロセッサの内部に、前記データの共有・交換に使用する記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、前記データの共有・交換に使用される共通バスインタフェースと、前記演算プロセッサとは独立に指定された前記仮想共有メモリの記憶領域から他の記憶領域へ複写動作を行うDMAプロセッサとを備え、
    前記複数のプロセッサの外部に、前記共通バスインタフェース間を接続して前記データの共有・交換に使用される共通バスと、前記DMAプロセッサを起動するトリガ信号を発生する発生手段と、この発生手段からのトリガ信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備えた
    ことを特徴とするマルチプロセッサシステム。
  2. 前記仮想共有メモリは、前記複数のプロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行う
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記発生手段は、前記トリガ信号に加え、前記仮想共有メモリに対するデータの書込み及び読出しの動作の形式を指定する指定信号を発生し、前記DMAプロセッサは、前記トリガ信号及び前記指定信号に応じて前記仮想共有メモリからのデータの書込み及び読出しの動作を行う
    ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。
  4. 前記発生手段は、前記トリガ信号として、前記仮想共有メモリに書込まれた他プロセッサに通知したいデータを前記共通バスヘ出力するタイミング用の第1のトリガ信号と、前記共通バスで伝達される他プロセッサから通知されたデータを前記共通バスから読込むタイミング用の第2のトリガ信号とを、前記第1のトリガ信号が前記第2のトリガ信号よりも早いタイミングで生成する
    ことを特徴とする請求項3に記載のマルチプロセッサシステム。
  5. 前記仮想共有メモリを前記内蔵メモリの外部から出して前記プロセッサ内に備え、前記発生手段は、前記指定信号として前記仮想共有メモリに対する上位アドレスの指定を行う第1の指定信号と、下位アドレスの指定を行う第2の指定信号とを生成し、前記DMAプロセッサは、前記第1及び第2の指定信号に応じて前記仮想共有メモリに対する上位及び下位アドレスの指定を行ってデータの書込み及び読出しの動作を行う
    ことを特徴とする請求項3に記載のマルチプロセッサシステム。
JP2005223975A 2005-08-02 2005-08-02 マルチプロセッサシステム Active JP4539481B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005223975A JP4539481B2 (ja) 2005-08-02 2005-08-02 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005223975A JP4539481B2 (ja) 2005-08-02 2005-08-02 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2007041768A true JP2007041768A (ja) 2007-02-15
JP4539481B2 JP4539481B2 (ja) 2010-09-08

Family

ID=37799701

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005223975A Active JP4539481B2 (ja) 2005-08-02 2005-08-02 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP4539481B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185673B2 (en) 2015-11-12 2019-01-22 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS585867A (ja) * 1981-06-30 1983-01-13 エレベ−タ−・ゲ−エムベ−ハ− デ−タ伝送方法および装置
JPS5896363A (ja) * 1981-12-02 1983-06-08 Mitsubishi Electric Corp デ−タ転送制御方式
JPH02132543A (ja) * 1988-11-12 1990-05-22 Nec Corp 情報処理装置
JPH09237244A (ja) * 1996-02-29 1997-09-09 Hitachi Ltd メモリ転写機能を有する情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS585867A (ja) * 1981-06-30 1983-01-13 エレベ−タ−・ゲ−エムベ−ハ− デ−タ伝送方法および装置
JPS5896363A (ja) * 1981-12-02 1983-06-08 Mitsubishi Electric Corp デ−タ転送制御方式
JPH02132543A (ja) * 1988-11-12 1990-05-22 Nec Corp 情報処理装置
JPH09237244A (ja) * 1996-02-29 1997-09-09 Hitachi Ltd メモリ転写機能を有する情報処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185673B2 (en) 2015-11-12 2019-01-22 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
US10482042B2 (en) 2015-11-12 2019-11-19 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof
US10949364B2 (en) 2015-11-12 2021-03-16 Samsung Electronics Co., Ltd. Multi-processor system including memory shared by multi-processor and method thereof

Also Published As

Publication number Publication date
JP4539481B2 (ja) 2010-09-08

Similar Documents

Publication Publication Date Title
US11237728B2 (en) Method for accessing extended memory, device, and system
JP5680466B2 (ja) 並列処理システム及び並列処理システムの動作方法
JP4902640B2 (ja) 集積回路、及び集積回路システム
JP6965523B2 (ja) マルチプロセッサシステム
EP3176701B1 (en) Systems and methods for transmitting an access request via a flexible register access bus
JP2009296195A (ja) 複数のcpuコアを備えたfpgaを用いた暗号装置
JP4539481B2 (ja) マルチプロセッサシステム
JP2005293596A (ja) データ要求のアービトレーション
JP6160273B2 (ja) 半導体回路装置、及び、電子装置
JP4424244B2 (ja) マルチプロセッサシステム
JP2012022479A (ja) マイクロコントローラ及びその制御方法
JP4257358B2 (ja) バス制御方法および装置
JP2006251916A (ja) Dma転送システム及びdma転送方法
US20100058044A1 (en) Multiprocessor communication device and methods thereof
JP4765003B2 (ja) マルチプロセッサシステム
JP5218413B2 (ja) 情報処理装置及びその制御方法
JP5130754B2 (ja) 半導体集積回路及びメモリシステム
JP2020140380A (ja) 半導体装置及びデバッグシステム
JP4229242B2 (ja) ダイレクトメモリアクセスコントローラ
JP2007157075A (ja) 情報記憶装置
JP6552975B2 (ja) メモリ制御装置、及びメモリ装置
JP2007506174A (ja) 複数の通信用デジタル信号プロセッサを有する集積回路
JP2004021751A (ja) デバッグ装置、デバッグプログラム、およびデバッグプログラム記録媒体
US20070220331A1 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
JP2009032248A (ja) 共有メモリを用いたバス通信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4539481

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20130702

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250