JP4539481B2 - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP4539481B2 JP4539481B2 JP2005223975A JP2005223975A JP4539481B2 JP 4539481 B2 JP4539481 B2 JP 4539481B2 JP 2005223975 A JP2005223975 A JP 2005223975A JP 2005223975 A JP2005223975 A JP 2005223975A JP 4539481 B2 JP4539481 B2 JP 4539481B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- shared memory
- virtual shared
- trigger signal
- 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.)
- Active
Links
Images
Description
本発明は、電子機器や電子システムに組み込まれるマルチプロセッサシステムに関する。 The present invention relates to a multiprocessor system incorporated in an electronic device or an electronic system.
図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とを備えて構成されている。
FIG. 10 is a block diagram showing a configuration of a conventional multiprocessor system. The multiprocessor system shown in FIG. 10 is a typical configuration example of an embedded multiprocessor system whose
The multiprocessor system shown in FIG. 10 includes
なお、以下の説明において各構成要素の数字符号の後ろに付したA〜N等のサフィックスは省略する場合もある。
更に説明すると、外部バスIF13A〜13Nは、各プロセッサ1A〜1N、即ち半導体チップの外部のバスへのアクセス制御を行う半導体チップ内のインタフェースコントローラである。共通バス9は、各プロセッサ1A〜1Nが共有メモリ2へアクセスする時に使用する共通のバスである。
In the following description, suffixes such as A to N attached after the numerical symbols of the constituent elements may be omitted.
More specifically, the
アクセス調停装置3は、複数のアクセス要求があった場合に、1つのアクセスのみ選択して許可する調停を行う。このアクセス調停装置3と各プロセッサ1A〜1N間のアクセス要求信号5A〜5Nは、アクセス許可を要求する信号であり、アクセス許可信号6A〜6Nは、アクセス許可の要求信号5A〜5Nに対するアクセスを許可する信号である。
このマルチプロセッサシステムでは、n個のプロセッサ1A〜1Nで共通に使用する共有メモリ2を備え、各プロセッサ1A〜1Nによって共有メモリ2の予め約束されたアドレスに書込み又は読出しを行うことで、データの共有と交換を行っている。
The
This multiprocessor system includes a shared
共有メモリ2及び共通バス9は、各プロセッサ1A〜1Nで同時に使用することが出来ないため、アクセス調停装置3が設けられている。共有メモリ2へアクセスしたいプロセッサ(例えば1A)は、第1ステップとしてアクセス要求信号5Aを出力し、第2ステップでアクセス調停装置3からアクセス許可信号6Aを受け取ったら、第3ステップでイネーブル付バスドライバ41Aを開き、共通バス9を介して共有メモリ2への読書きを行う。
Since the shared
プロセッサ1A〜1Nがローカルに使用するローカルメモリ42A〜42N又はローカルI/O43A〜43Nにアクセスする際は、イネーブル付バスドライバ41A〜41Nは閉じており、共通バス9へは影響を与えない。
各プロセッサ1A〜1Nで同時に2つ以上のアクセス要求が重なった場合には、アクセス調停装置3が決められた規則に従いアクセス要求の内の1つを選択して、それに対するアクセス許可信号を返答するようになっており、共通バス9と共有メモリ2を複数のプロセッサが同時に使用しないようになっている。
When two or more access requests overlap at the same time in each of the
しかし、従来のマルチプロセッサシステムにおいて、共有メモリ2は、各プロセッサ1A〜1Nの半導体チップ外部に設置されるので、演算プロセッサ11A〜11Nの動作クロックの高速化と共に、同じ半導体チップ上にある内蔵メモリ12A〜12Nに対する読込み・書込み動作に要する時間に対して、外部バスIF13A〜13Nから共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が相対的に長くかかるようになってきた。
However, in the conventional multiprocessor system, the shared
これに加え、外部バスIF13A〜13Nにはローカルバス4A〜4Nを介してローカルメモリ42A〜42N及びローカルI/O43A〜43Nが接続されているので、ローカルメモリ42A〜42N又はローカルI/O43A〜43Nにもアクセスする場合、このアクセスが共通バス9を介した共有メモリ2へのアクセスと時分割で行われることになる。この場合、共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が更に長くかかることになる。
In addition, since the
汎用的な演算プロセッサにおいては、特に読込み動作について、演算プロセッサ11A〜11Nに読込むデータが何時使用されるかはプログラム次第であって不明である。このため、読込みデータが演算プロセッサ11A〜11Nの内部レジスタに格納されるまで、プログラム処理が停止する。
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ2への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるマルチプロセッサシステムを提供することを目的としている。
In a general-purpose arithmetic processor, it is unclear when the data read into the
For these reasons, there is a problem that reading and writing to the shared
The present invention has been made in view of such problems, and an object of the present invention is to provide a multiprocessor system capable of preventing a decrease in program processing efficiency due to reading and writing to a shared memory.
上記目的を達成するために、本発明の請求項1によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記複数のプロセッサの内部に、前記データの共有・交換に使用する記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、前記データの共有・交換に使用される共通バスインタフェースと、前記演算プロセッサとは独立に指定された前記仮想共有メモリの記憶領域から他の記憶領域へ複写動作を行うDMAプロセッサとを備え、前記複数のプロセッサの外部に、前記共通バスインタフェース間を接続して前記データの共有・交換に使用される共通バスと、前記DMAプロセッサを起動するトリガ信号及び前記仮想共有メモリに対するデータの書込み及び読出しの動作の形式を指定する指定信号を発生する発生手段と、この発生手段からのトリガ信号及び指定信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備え、前記DMAプロセッサは、前記トリガ信号及び前記指定信号に応じて前記仮想共有メモリからのデータの書込及び読出の動作を行うことを特徴とする。
In order to achieve the above object, a multiprocessor system according to
この構成によれば、各プロセッサの演算プロセッサは、データの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。また、外部バスインタフェースを介してローカルバスとの間でデータの入出力を行う動作と、共通バスインタフェースを介して共通バスとの間でデータの共有・交換を行う動作とを独立して行うことができる。これによって、また、従来のように共通バスへのアクセスの際にローカルバスへのアクセスと時分割で実行されることもなくなり、本発明では共通バスへのアクセスと、ローカルバスへのアクセスとを並列に行うことができる。
また、上記構成によれば、各プロセッサは、予め定められたデータの書込み及び読出しの動作の形式に従って、仮想共有メモリに対する書込み・読出しを行うことができる。
According to this configuration, in order to share and exchange data, the arithmetic processor of each processor does not need to provide a shared memory outside the semiconductor chip as in the prior art and directly access it, but the built-in memory on the same semiconductor chip What is necessary is just to write / read to / from the virtual shared memory. In addition, the operation to input / output data to / from the local bus via the external bus interface and the operation to share / exchange data to / from the common bus via the common bus interface should be performed independently. Can do. As a result, when accessing the common bus as in the prior art, access to the local bus and time division are not performed. In the present invention, the access to the common bus and the access to the local bus are reduced. Can be done in parallel.
Further, according to the above configuration, each processor can perform writing / reading to / from the virtual shared memory in accordance with predetermined data write / read operation formats.
また、本発明の請求項2によるマルチプロセッサシステムは、請求項1において、前記仮想共有メモリは、前記複数のプロセッサ毎の書込み用の領域に区分けされ、前記演算プロセッサは自プロセッサ内の仮想共有メモリの自プロセッサ用書込み領域へ他プロセッサに通知したいデータを書込み、当該仮想共有メモリの自プロセッサ用書込み領域以外の領域から他のプロセッサが通知したデータを読み出すことで、データの共有・交換を行うことを特徴とする。 A multiprocessor system according to a second aspect of the present invention is the multiprocessor system according to the first aspect, wherein the virtual shared memory is divided into write areas for the plurality of processors, and the arithmetic processor is a virtual shared memory in its own processor. Data is shared / exchanged by writing data to other processor's write area to other processor's write area and reading data notified by other processors from areas other than its own processor's write area of the virtual shared memory It is characterized by.
この構成によれば、例えばプロセッサAの演算プロセッサが、他のプロセッサB〜Nに通知したいデータを仮想共有メモリの領域Aへ書込み、他のプロセッサB〜Nから通知されたデータを仮想共有メモリの領域B〜Nから読み出すことで、データの共有・交換を行う。他のプロセッサB〜Nでも同様のことを行う。このような動作によって、各プロセッサの演算プロセッサは、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリへの書込み・読出しを行えば良い。 According to this configuration, for example, the arithmetic processor of the processor A writes data to be notified to the other processors B to N to the area A of the virtual shared memory, and the data notified from the other processors B to N is stored in the virtual shared memory. Data is shared and exchanged by reading from the areas B to N. The same applies to the other processors B to N. By such an operation, the arithmetic processor of each processor does not need to directly access the shared memory outside the semiconductor chip in order to share and exchange data, but to the virtual shared memory in the built-in memory on the same semiconductor chip. Write and read may be performed.
また、本発明の請求項3によるマルチプロセッサシステムは、請求項1又は2において、前記発生手段は、前記トリガ信号として、前記仮想共有メモリに書込まれた他プロセッサに通知したいデータを前記共通バスヘ出力するタイミング用の第1のトリガ信号と、前記共通バスで伝達される他プロセッサから通知されたデータを前記共通バスから読込むタイミング用の第2のトリガ信号とを、前記第1のトリガ信号が前記第2のトリガ信号よりも早いタイミングで生成することを特徴とする。
この構成によれば、第1のトリガ信号のタイミングで自プロセッサからデータを共通バスへ出力すると、この出力されたデータは、第2のトリガ信号のタイミングで他プロセッサにて読込まれるので、データを適正に交換することができる。
The multiprocessor system according to
According to this configuration, when data is output from the own processor to the common bus at the timing of the first trigger signal, the output data is read by another processor at the timing of the second trigger signal. Can be replaced properly.
また、本発明の請求項4によるマルチプロセッサシステムは、請求項1又は2において、前記仮想共有メモリを前記内蔵メモリの外部から出して前記プロセッサ内に備え、前記発生手段は、前記指定信号として前記仮想共有メモリに対する上位アドレスの指定を行う第1の指定信号と、下位アドレスの指定を行う第2の指定信号とを生成し、前記DMAプロセッサは、前記第1及び第2の指定信号に応じて前記仮想共有メモリに対する上位及び下位アドレスの指定を行ってデータの書込み及び読出しの動作を行うことを特徴とする。
この構成によれば、演算プロセッサは、自プロセッサ内の仮想共有メモリの自領域へのデータ書込みと他領域からのデータの読出しで、他プロセッサとデータの共有・交換を行うことができる。
According to a fourth aspect of the present invention, there is provided a multiprocessor system according to the first or second aspect , wherein the virtual shared memory is provided outside the built-in memory and provided in the processor, and the generation means includes the designation signal as the designation signal. The DMA processor generates a first designation signal that designates an upper address for the virtual shared memory and a second designation signal that designates a lower address, and the DMA processor responds to the first and second designation signals. Data write and read operations are performed by designating upper and lower addresses for the virtual shared memory.
According to this configuration, the arithmetic processor can share and exchange data with other processors by writing data to the own area of the virtual shared memory in the own processor and reading data from the other area.
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。 As described above, according to the present invention, there is an effect that it is possible to prevent a decrease in program processing efficiency due to reading and writing to the shared memory.
以下、本発明の実施の形態を、図面を参照して説明する。但し、本明細書中の全図において相互に対応する部分には同一符号を付し、重複部分においては後述での説明を適時省略する。
(実施の形態)
図1は、本発明の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。
図1に示すマルチプロセッサシステムが、図10に示した従来のマルチプロセッサシステムと異なる構成点を説明する。
各プロセッサ1A〜1Nに、バスへのアクセス用のインタフェース回路である共通バスIF15A〜15Nを設け、これら共通バスIF15A〜15Nに共通バス92を接続した。更に、DMAプロセッサ14A〜14Nを設け、共通バスIF15及びDMAプロセッサ14を、演算プロセッサ11、内蔵メモリ12及び外部バスIF13と共に内部バス19A〜19Nで接続した。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, parts corresponding to each other in all the drawings in this specification are denoted by the same reference numerals, and description of the overlapping parts will be omitted as appropriate.
(Embodiment)
FIG. 1 is a block diagram showing a configuration of a multiprocessor system according to an embodiment of the present invention.
The configuration of the multiprocessor system shown in FIG. 1 that is different from the conventional multiprocessor system shown in FIG. 10 will be described.
The
また、内蔵メモリ12A〜12Nは、各々が半導体チップによって形成される各プロセッサ1A〜1Nの読書き可能なメモリであるが、この内部に、仮想共有メモリ121A〜121Nと称する記憶領域(単に、領域とも称す)を設けた。
仮想共有メモリ121の容量は、図10に示した共有メモリ2で実際にデータ共有を行うために使用される記憶容量と同じであり、記憶領域の割付けは、図2(a)に示すように、各プロセッサ1A〜1Nの専用書込み領域A〜Nが割付けられている。
The built-in
The capacity of the virtual shared memory 121 is the same as the storage capacity actually used for data sharing in the shared
図2(b)に示すように、各仮想共有メモリ121A〜121Nを代表する仮想共有メモリ121Aにおいて、領域Aは、自プロセッサ1Aの演算プロセッサ11Aがデータを書込み、この書込まれたデータを、自プロセッサ1AのDMAプロセッサ14Aが読み出して共通バス92を介して他のプロセッサ1B〜1Nへ出力する領域である。
他の領域B〜Nは、自プロセッサ1AのDMAプロセッサ14Aが共通バス92を介して他のプロセッサ1B〜1Nからデータを読み込んで書込み、この書込まれたデータを自プロセッサ1Aの演算プロセッサ11Aが読み出す領域である。
As shown in FIG. 2B, in the virtual shared
In the other areas B to N, the
更に、全ての領域A〜Nは、自プロセッサ1Aの演算プロセッサ11が書込まれたデータを読出し可能な領域となっている。
この他、各プロセッサ1A〜1Nにトリガ信号伝達バス8を介して接続されたトリガ信号発生器7を設けた。トリガ信号発生器7は、DMAプロセッサ14を起動するためのトリガ信号を発生する。トリガ信号伝達バス8は、トリガ信号発生器7から発生されたトリガ信号を伝達する。なお、トリガ信号伝達バス8は、複数の信号線で構成される場合もある。
Furthermore, all the areas A to N are areas from which data written by the arithmetic processor 11 of the
In addition, a
トリガ信号発生器7からトリガ信号伝達バス8へは、各DMAプロセッサ14A〜14Nが、共通バス92ヘのデータの出力、又は、共通バス92からのデータの読込みのタイミングを与えるトリガ信号831が発生されて伝達されるようになっている。
更に、トリガ信号発生器7からトリガ信号伝達バス8へは、図3及び図4に示すように、各DMAプロセッサ14A〜14Nが、仮想共有メモリ121の指定される領域からデータを読み出して共通バス92に出力するか、共通バス92からデータを読込んで仮想共有メモリ121の指定される領域へ書込むかの動作を指定するタイプ指定信号832も発生されて伝達されるようになっている。
From the
Further, from the
タイプ指定信号832は、図4に時系列で示す時刻t1〜t2間のトリガタイプXと、時刻t2〜t3間のトリガタイプXXと、時刻t2〜t3間のトリガタイプXXXとが、その順に一定周期で繰り返される。
また、(1)〜(5)で示すタイミング順のトリガ信号831のトリガによって、予め各DMAプロセッサ14A〜14Nに設定された規則に従って各DMAプロセッサ14A〜14Nが、仮想共有メモリ121のタイプ指定信号832で指定されるメモリ領域のオフセットアドレスからのデータを読出して共通バス92へ出力するか、或いは、共通バス92からデータを読み込んで仮想共有メモリ121のタイプ指定信号832で指定されるメモリ領域のオフセットアドレスヘの書込みを行う。
In the type designation signal 832, the trigger type X between times t1 and t2 shown in time series in FIG. 4 , the trigger type XX between times t2 and t3, and the trigger type XXX between times t2 and t3 are constant in that order. Repeated in a cycle.
Also, each triggering of the trigger signal 831 in the order of timings shown in (1) to (5) causes each of the
これによって、プロセッサ1Aの仮想共有メモリ121Aの自領域のデータは、他のプロセッサ1B〜1Nの仮想共有メモリ121B〜121Nのプロセッサ1A用領域に複写される。同様に、プロセッサ1x内の仮想共有メモリ121xの自領域のデータも、他のプロセッサの仮想共有メモリ121のプロセッサ1x用領域に複写される。
As a result, the data in the own area of the virtual shared
演算プロセッサ11の仮想共有メモリ121の自領域への書込み頻度が、タイプ指定信号832の「トリガタイプX→XX→XXX」の一周期より長ければ、その書込みは他のプロセッサ内の仮想共有メモリ121へ複写される。よって、各プロセッサの演算プロセッサ11A〜11Nは、データの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリ内の仮想共有メモリ121A〜121Nへの書込み・読出しを行えば良い。
また、従来のように、共通バス92へのアクセスの際に、ローカルバス4A〜4Nへのアクセスと時分割で実行されることもなくなる。本実施の形態の場合、共通バス92へのアクセスと、ローカルバス4A〜4Nへのアクセスとを並列に行うことができる。
If the frequency of writing to the own area of the virtual shared memory 121 of the arithmetic processor 11 is longer than one cycle of “trigger type X → XX → XXX” of the type designation signal 832, the writing is performed in the virtual shared memory 121 in another processor. Is copied. Therefore, it is not necessary for the
Further, unlike the prior art, when accessing the
以下、このような本実施の形態に基づく具体的な実施例を説明する。
(実施例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のオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
Hereinafter, specific examples based on the present embodiment will be described.
Example 1
The configuration of the multiprocessor system according to the first embodiment is the same as that of the multiprocessor system described in the above embodiment.
In the first embodiment, the
In the case of the trigger signal 831 at the timing indicated by (1) in the case of the trigger type X, the
また、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のオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
In the case of the trigger signal 831 at the timing indicated by (1) in the case of the trigger type XX, the
Further, in the case of the trigger type XXX or the like, the
次に、DMAプロセッサ14Bは、時刻t1〜t2間のS2行に示すように、トリガタイプXの場合の(1)で示すタイミングのトリガ信号831の時は、共通バス92からデータを読込んで仮想共有メモリ121Bの領域Aのオフセットアドレス0へ書込む。(2)で示すタイミングのトリガ信号831の時は、共通バス92からデータを読込んで仮想共有メモリ121Bの領域Aのオフセットアドレス1へ書込む。即ち、トリガ信号831のカウント数に従って書込む仮想共有メモリ121Aの領域Bのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
Next, as shown in the S2 line between times t1 and t2, the
また、DMAプロセッサ14Bは、トリガタイプXXの場合の(1)で示すタイミングのトリガ信号831の時は、時刻t2〜t3間のS2行に示すように、仮想共有メモリ121Bの領域Bのオフセットアドレス0のデータを読み出して共通バス92へ出力する。(2)で示すタイミングのトリガ信号831の時は、仮想共有メモリ121Bの領域Bのオフセットアドレス1のデータを読み出して共通バス92へ出力する。即ち、トリガ信号831のカウント数に従って読み出す仮想共有メモリ121Bの領域Bのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
Further, when the trigger signal 831 at the timing indicated by (1) in the case of the trigger type XX, the
更に、DMAプロセッサ14Bは、トリガタイプXXX等の場合も、時刻t3〜t4間のS2行に示すように、上記同様に、トリガ信号831のカウント数に従って、書込む仮想共有メモリ121Bの領域Nのオフセットアドレスをインクリメント或いはデクリメントするような設定が成されている。
更には、DMAプロセッサ14Nにも、時刻t1〜t4間のSn行に示すように、上記DMAプロセッサ14A,14Bと同様な動作を行う設定が成されている。
Further, in the case of the trigger type XXX or the like, the
Further, the
このような設定動作によって、プロセッサ1Aの演算プロセッサ11Aは、自プロセッサ内の仮想共有メモリ121Aの領域Aへのデータの書込みと、他領域B〜Nからのデータの読出しとによって、他のプロセッサ1B〜1Nとデータの共有・交換を行うことができる。
他のプロセッサ1B〜1Nの演算プロセッサ11B〜11Nも同様に、自プロセッサ内の仮想共有メモリ121の自領域へのデータ書込みと他領域B〜Nからのデータの読出しとによって、他のプロセッサ1A〜1Nとデータの共有・交換を行うことができる。
By such a setting operation, the
Similarly, the
(実施例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はそれを次に説明するように考慮した例である。
(Example 2)
The configuration of the multiprocessor system of the second embodiment is basically the same as the configuration of the first embodiment, except that the trigger signal transmission bus 8 is configured as shown in FIG. 5, and the common bus IF 15 is as shown in FIG. As shown in FIG.
In the first embodiment, the
図6に示す共通バスIF15は、内部バス19に接続されたラッチレジスタ151と、このラッチレジスタ151及び共通バスIF15の間に接続されたトライステート出力バッファ152と、共通バスIF15と内部バス19との間に接続された入力バッファ153とを備えて構成されている。
ラッチレジスタ151は、内部バス19からの書込み時にデータがセットされると、次に当該ラッチレジスタ151ヘ書込みが行われるまで同じデータを共通バスIF15へ出力する。よって、各DMAプロセッサ14が共通バス92ヘデータを出力する場合は、動作が終了しても次の動作までは共通バス92へ同じデータの出力が継続される。
The common bus IF15 shown in FIG. 6 includes a
When data is set during writing from the
図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の使用状況で変化するが、その最大時間から決定される。
The trigger signal transmission bus 8 shown in FIG. 5 is configured such that trigger signals 831A to 831N dedicated to the
As shown in (1) of FIG. 7, the trigger signals 831A to 831N are the trigger signals 831B for the DMA processor 14 that reads data from the
図6の共通バスIF15の構成によって、共通バス92ヘデータを出力するDMAプロセッサ14の動作が終了しても、次の動作が行われるまでは、図7に示す共通バス92のデータの状態のようにデータが保持される。
そして、上記実施例1の時刻t1〜t4間のS1〜Sn行に示したと同様の動作(図7にも対応する動作を同符号で示した)により、演算プロセッサ11A〜11Nは、自プロセッサ内の仮想共有メモリ121の自領域へのデータ書込みと他領域からのデータの読出しで、プロセッサ1A〜1Nとデータの共有・交換を行うことができる。
With the configuration of the common bus IF 15 in FIG. 6, even if the operation of the DMA processor 14 that outputs data to the
Then, the
(実施例3)
本実施例3のマルチプロセッサシステムは図8に示すように構成されており、トリガ信号伝達バス8は図9に示すように構成されている。
まず、図9に示すトリガ信号伝達バス8は、図5に示したトリガ信号伝達バス8のタイプ指定信号832を拡張することによって、領域指定信号(上位アドレス信号)833と、領域内のオフセットアドレス信号(下位アドレス信号)834とが伝達されるようにした。即ち、トリガ信号発生器7は、領域指定信号833及びオフセットアドレス指定信号834を発生する。
(Example 3)
The multiprocessor system of the third embodiment is configured as shown in FIG. 8, and the trigger signal transmission bus 8 is configured as shown in FIG.
First, the trigger signal transmission bus 8 shown in FIG. 9 expands the type designation signal 832 of the trigger signal transmission bus 8 shown in FIG. 5 so that an area designation signal (upper address signal) 833 and an offset address in the area are obtained. A signal (lower address signal) 834 is transmitted. That is, the
図8に示すマルチプロセッサシステムは、図1に示したマルチプロセッサシステムの内蔵メモリ12内にあった仮想共有メモリ121を、半導体チップに内蔵されたデュアルポートメモリの仮想共有メモリ16A〜16Nとして分離したものである。この仮想共有メモリ16A〜16Nの片ポートは内部バス19A〜19Nに接続され、反対側ポートは共通バスIF15を介して共通バス92及び、トリガ信号伝達バス8の領域指定信号833及びオフセットアドレス指定信号834が伝達される線路に接続されている。
In the multiprocessor system shown in FIG. 8, the virtual shared memory 121 in the built-in memory 12 of the multiprocessor system shown in FIG. 1 is separated as virtual shared
仮想共有メモリ16A〜16Nの内部は、図2(a)及び(b)に示したと同様に各プロセッサ1A〜1Nの専用の書込み領域が割付けられている。
また、図8のマルチプロセッサシステムにおいては、各プロセッサ1A〜1Nにおいて共通バス用DMAプロセッサ17A〜17Nを更に備え、これらを内部バス19A〜19Nに接続すると共に、仮想共有メモリ16A〜16Nの下位アドレスをオフセットアドレス指定信号834に応じた制御信号で指定する線路に接続されている。
In the virtual shared
Further, in the multiprocessor system of FIG. 8, each
共通バス用DMAプロセッサ17A〜17Nは、仮想共有メモリ16A〜16Nに対して、領域指定信号833で上位アドレスを指定すると共にオフセットアドレス指定信号834で下位アドレスを指定してデータを読出し、これを共通バス92に出力する。更には共通バス92からデータを読み込んで上記と同指定による仮想共有メモリ16へ書込む動作を行う。更に、トリガ信号831A〜831Nのタイミングで、各データの仮想共有メモリ16A〜16Nからの読出し、又は書込みを行う。
演算プロセッサ11A〜11Nは、自プロセッサ内の仮想共有メモリ16の自領域へのデータ書込みと他領域からのデータの読出しで、プロセッサ1A〜1Nとデータの共有・交換を行うことができる。
The common
The
以上説明した実施例1〜3によれば、各演算プロセッサ11A〜11Nが、データの共有・交換を行うために半導体チップ外部の共有メモリに直接アクセスする必要はなく、同じ半導体チップ上にある内蔵メモリである仮想共有メモリ121A〜121N又は仮想共有メモリ16A〜16Nに対するデータの書込み・読出しを行えば良い。
一般的に、同じ半導体チップ上にある内蔵メモリ対する読込み・書込み動作に要する時間は、外部バスIF13A〜13Nを介して半導体チップ外部に対する読込み・書込み動作に要する時間よりも遥かに短い。
According to the first to third embodiments described above, the
Generally, the time required for the read / write operation for the built-in memory on the same semiconductor chip is much shorter than the time required for the read / write operation to the outside of the semiconductor chip via the
また、本実施例では、ローカルバス4A〜4Nと共通バス92とを切り離したので、従来のように外部バスIF13を介した共通バス92へのアクセスの際にローカルバス4A〜4Nへのアクセスと時分割で実行されることがなく、共通バス92へのアクセスと、ローカルバス4A〜4Nへのアクセスとを並列に行うことができる。
よって、マルチプロセッサシステムにおいて必須となる共有メモリヘの読書きによるプログラム処理効率の低下を防止することができる。
In this embodiment, since the
Therefore, it is possible to prevent a decrease in program processing efficiency due to reading and writing to the shared memory that is essential in the multiprocessor system.
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 オフセットアドレス指定信号
1A to
14A to 14N
16A to 16N, 121A to 121N Virtual shared
92
Claims (4)
前記複数のプロセッサの内部に、前記データの共有・交換に使用する記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、前記データの共有・交換に使用される共通バスインタフェースと、前記演算プロセッサとは独立に指定された前記仮想共有メモリの記憶領域から他の記憶領域へ複写動作を行うDMAプロセッサとを備え、
前記複数のプロセッサの外部に、前記共通バスインタフェース間を接続して前記データの共有・交換に使用される共通バスと、
前記DMAプロセッサを起動するトリガ信号及び前記仮想共有メモリに対するデータの書込み及び読出しの動作の形式を指定する指定信号を発生する発生手段と、この発生手段からのトリガ信号及び指定信号を各プロセッサのDMAプロセッサに伝達する伝達バスとを備え、
前記DMAプロセッサは、前記トリガ信号及び前記指定信号に応じて前記仮想共有メモリからのデータの書込及び読出の動作を行う
ことを特徴とするマルチプロセッサシステム。 A plurality of processors each having an arithmetic processor, a built-in memory capable of reading and writing data, and an external bus interface for inputting / outputting data to / from a local bus outside the semiconductor chip are provided in the semiconductor chip. In a multiprocessor system that shares and exchanges data,
A virtual shared memory provided in the internal memory having a storage capacity used for sharing and exchanging the data, and a common bus interface used for sharing and exchanging the data; A DMA processor that performs a copying operation from the storage area of the virtual shared memory specified independently of the arithmetic processor to another storage area,
A common bus used for sharing and exchanging the data by connecting the common bus interfaces outside the plurality of processors;
Generation means for generating a trigger signal for starting up the DMA processor and a specification signal for specifying the format of data write and read operations with respect to the virtual shared memory, and the trigger signal and the specification signal from the generation means are transmitted to the DMA of each processor. A transmission bus for transmitting to the processor ,
The multiprocessor system, wherein the DMA processor performs data write and read operations from the virtual shared memory in response to the trigger signal and the designation signal .
ことを特徴とする請求項1に記載のマルチプロセッサシステム。 The virtual shared memory is divided into write areas for the plurality of processors, and the arithmetic processor writes data to be notified to other processors to the write area for the own processor in the virtual shared memory in the own processor, and the virtual shared memory 2. The multiprocessor system according to claim 1, wherein data sharing / exchange is performed by reading data notified by another processor from an area other than the write area for the own processor of the memory.
ことを特徴とする請求項1又は2に記載のマルチプロセッサシステム。 The generation means includes, as the trigger signal, a first trigger signal for timing to output data to be notified to another processor written in the virtual shared memory to the common bus, and another processor transmitted on the common bus. A second trigger signal for timing for reading data notified from the common bus is generated at a timing when the first trigger signal is earlier than the second trigger signal. The multiprocessor system according to claim 1 or 2 .
ことを特徴とする請求項1又は2に記載のマルチプロセッサシステム。 The virtual shared memory is extracted from the internal memory and provided in the processor, and the generation means specifies a first designation signal for designating an upper address for the virtual shared memory as the designation signal, and designation of a lower address The DMA processor performs a data write and read operation by designating upper and lower addresses for the virtual shared memory in accordance with the first and second designation signals. The multiprocessor system according to claim 1 or 2 , wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005223975A JP4539481B2 (en) | 2005-08-02 | 2005-08-02 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005223975A JP4539481B2 (en) | 2005-08-02 | 2005-08-02 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007041768A JP2007041768A (en) | 2007-02-15 |
JP4539481B2 true JP4539481B2 (en) | 2010-09-08 |
Family
ID=37799701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005223975A Active JP4539481B2 (en) | 2005-08-02 | 2005-08-02 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4539481B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102407917B1 (en) | 2015-11-12 | 2022-06-10 | 삼성전자주식회사 | Multi-Processor System Including Memory Shared By Multi-Processor And Method there-of |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS585867A (en) * | 1981-06-30 | 1983-01-13 | エレベ−タ−・ゲ−エムベ−ハ− | Data transmission method and apparatus |
JPS5896363A (en) * | 1981-12-02 | 1983-06-08 | Mitsubishi Electric Corp | Data transfer control system |
JPH02132543A (en) * | 1988-11-12 | 1990-05-22 | Nec Corp | Information processor |
JPH09237244A (en) * | 1996-02-29 | 1997-09-09 | Hitachi Ltd | Information processor having memory transfer function |
-
2005
- 2005-08-02 JP JP2005223975A patent/JP4539481B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS585867A (en) * | 1981-06-30 | 1983-01-13 | エレベ−タ−・ゲ−エムベ−ハ− | Data transmission method and apparatus |
JPS5896363A (en) * | 1981-12-02 | 1983-06-08 | Mitsubishi Electric Corp | Data transfer control system |
JPH02132543A (en) * | 1988-11-12 | 1990-05-22 | Nec Corp | Information processor |
JPH09237244A (en) * | 1996-02-29 | 1997-09-09 | Hitachi Ltd | Information processor having memory transfer function |
Also Published As
Publication number | Publication date |
---|---|
JP2007041768A (en) | 2007-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11237728B2 (en) | Method for accessing extended memory, device, and system | |
EP3176701B1 (en) | Systems and methods for transmitting an access request via a flexible register access bus | |
JP4539481B2 (en) | Multiprocessor system | |
US20130117533A1 (en) | Coprocessor having task sequence control | |
JP2009296195A (en) | Encryption device using fpga with multiple cpu cores | |
JP4902640B2 (en) | Integrated circuit and integrated circuit system | |
TWI474254B (en) | Method and apparatus for executing commands in a memory system and data storage system | |
JP6125168B2 (en) | Debugging barrier transactions | |
JP2005293596A (en) | Arbitration of data request | |
JP6965523B2 (en) | Multiprocessor system | |
JP4424244B2 (en) | Multiprocessor system | |
JP2012022479A (en) | Microcontroller and its control method | |
JP4257358B2 (en) | Bus control method and apparatus | |
JP6160273B2 (en) | Semiconductor circuit device and electronic device | |
JP4765003B2 (en) | Multiprocessor system | |
JP5130754B2 (en) | Semiconductor integrated circuit and memory system | |
JP5218413B2 (en) | Information processing apparatus and control method thereof | |
US7689864B2 (en) | Processor comprising an integrated debugging interface controlled by the processing unit of the processor | |
CN111625411A (en) | Semiconductor device and debug system | |
JP2005107873A (en) | Semiconductor integrated circuit | |
JP4229242B2 (en) | Direct memory access controller | |
JP2007506174A (en) | Integrated circuit having a plurality of communication digital signal processors | |
JP2004021751A (en) | Debug system, debug program, and debug program storage medium | |
WO2011030498A1 (en) | Data processing device and data processing method | |
JP2007328647A (en) | Data transfer method between cpus |
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 |