JP4765003B2 - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP4765003B2 JP4765003B2 JP2006071501A JP2006071501A JP4765003B2 JP 4765003 B2 JP4765003 B2 JP 4765003B2 JP 2006071501 A JP2006071501 A JP 2006071501A JP 2006071501 A JP2006071501 A JP 2006071501A JP 4765003 B2 JP4765003 B2 JP 4765003B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- shared memory
- transmission
- common bus
- 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.
図12は、従来のマルチプロセッサシステムの構成を示すブロック図である。この図12に示すマルチプロセッサシステムは、非特許文献1でも略同様の構成例が紹介されている組込み用マルチプロセッサシステムの典型的な構成例である。
図12に示すマルチプロセッサシステムは、各々が半導体チップにより形成された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. 12 is a block diagram showing a configuration of a conventional multiprocessor system. The multiprocessor system shown in FIG. 12 is a typical configuration example of an embedded multiprocessor system whose non-patent document 1 introduces a substantially similar configuration example.
The multiprocessor system shown in FIG. 12 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 access arbitration device 3 performs arbitration that selects and permits only one access when there are a plurality of access requests. Access request signals 5A to 5N between the access arbitration device 3 and 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 the
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, since 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によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設定コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリに書込まれた送信データを読出して前記送信手段へ入力し、前記受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサとを備えたことを特徴とする。 In order to achieve the above object, a multiprocessor system according to claim 1 of the present invention is a semiconductor chip in which data is transferred between an arithmetic processor, a built-in memory capable of reading and writing data, and a local bus outside the semiconductor chip. In a multiprocessor system in which a plurality of processors each having an external bus interface for performing input / output of each other share and exchange data with each other, a storage capacity that can be used for sharing and exchanging the data inside the processor A virtual shared memory provided in the built-in memory and a common bus interface connected to the virtual shared memory via an internal bus for reading and writing data, and outside the processor, the common bus It has a common bus consisting of a bundle of serial communication lines connected to each other processor via an interface. Common bus interface, a first setting means for distinguishing encoding each processor by the arithmetic processor is set, and transmitting means for transmitting data to the serial to other processors, it is transmitted via the common bus from the other processor And receiving means provided corresponding to each other processor, and connecting the transmitting means and the receiving means to the serial communication line of the common bus according to the setting code of the first setting means And a DMA processor that reads the transmission data written in the virtual shared memory, inputs the data to the transmission means, and writes the reception data from the reception means in the virtual shared memory. And
この構成によれば、各プロセッサの演算プロセッサはデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリへの書込み・読出しを行えば良い。これによって、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる。 According to this configuration, it is not necessary for the arithmetic processors of each processor to share and exchange data, so that it is not necessary to provide a shared memory outside the semiconductor chip as in the prior art and directly access the virtual shared memory on the same semiconductor chip. It is only necessary to write / read to / from. As a result, it is possible to prevent a decrease in program processing efficiency due to reading and writing to the shared memory.
また、自プロセッサの仮想共有メモリに書込まれた送信データを読み出して他プロセッサへの送信手段へ入力し、これとは独立に他プロセッサからの送信データを仮想共有メモリに書込むといった処理を高速で行うことができる。 Also, the transmission data written in the virtual shared memory of the own processor is read out and input to the transmission means to the other processor, and the transmission data from the other processor is written to the virtual shared memory independently of this. it can be carried out in.
また、本発明の請求項2によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、前記共通バスインタフェースは、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段と、前記仮想共有メモリに書込まれた送信データを読出して前記送受信手段へ入力し、前記送受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサとを備えたことを特徴とする。 According to a second aspect of the present invention, there is provided a multiprocessor system including an external processor for inputting / outputting data between an arithmetic processor, a built-in memory capable of reading and writing data, and a local bus outside the semiconductor chip. In a multiprocessor system in which a plurality of processors having a bus interface share and exchange data with each other, the processor has a storage capacity that can be used for sharing and exchanging the data, and the built-in processor A virtual shared memory provided in the memory, and a common bus interface connected to the virtual shared memory via an internal bus for reading and writing data; and other processors via the common bus interface outside the processor A common bus comprising a bundle of serial communication lines connected to each other, and the common bus interface The transmission / reception means provided for each processor is configured to transmit data serially to other processors when the transmission mode is set, and receive data transmitted from the other processors via the common bus when the reception mode is set. A code for distinguishing each processor is set by the arithmetic processor, and a second setting means for outputting a signal instructing setting of the transmission mode or the reception mode to the transmission / reception means corresponding to the setting code, and the virtual And a DMA processor for reading transmission data written in the shared memory and inputting the transmission data to the transmission / reception means, and writing the reception data received by the transmission / reception means into the virtual shared memory.
この構成によれば、自プロセッサの仮想共有メモリに書込まれた送信データを読み出して他プロセッサへの送信モードが設定された送受信手段へ入力し、これとは独立に他プロセッサからの送信データを仮想共有メモリに書込むといった処理を高速で行うことができる。 According to this configuration, the transmission data written in the virtual shared memory of the own processor is read out and input to the transmission / reception means in which the transmission mode to the other processor is set, and the transmission data from the other processor is independent of this. Processing such as writing to the virtual shared memory can be performed at high speed .
また、本発明の請求項3によるマルチプロセッサシステムは、請求項1または2において、前記仮想共有メモリは、自プロセッサ用の送信データが前記演算プロセッサで書込まれる自領域を有すると共に、他プロセッサからの受信データが書込まれる他領域を他プロセッサ毎に専用に有することを特徴とする。
A multiprocessor system according to claim 3 of the present invention is the multiprocessor system according to
また、本発明の請求項4によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、 前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設定コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリの第1及び第2のポートに各々独立に接続された内部バスと、DMAプロセッサとを備え、前記第DMAプロセッサは、前記仮想共有メモリに対するデータの読書きを前記演算プロセッサから独立した内部バスを介して行うことを特徴とする。
According to a fourth aspect of the present invention , there is provided a multiprocessor system comprising an external processor for inputting / outputting data between an arithmetic processor, a built-in memory capable of reading and writing data, and a local bus outside the semiconductor chip. In a multiprocessor system in which a plurality of processors having a bus interface share and exchange data with each other,
A dual-port virtual shared memory provided outside the built-in memory having a storage capacity that can be used for sharing and exchanging the data inside the processor, and first and second ports of the virtual shared memory With a common bus interface connected to an independent internal bus for reading and writing data,
A common bus comprising a bundle of serial communication lines connected to each other processor via the common bus interface is provided outside the processor, and the common bus interface is set with a code for distinguishing each processor by the arithmetic processor First setting means, transmission means for serially transmitting data to other processors, data received from other processors via the common bus, and provided corresponding to each other processor A receiving circuit; a switching circuit for connecting the transmitting unit and the receiving unit to a serial communication line of the common bus according to a setting code of the first setting unit; and first and second ports of the virtual shared memory And an internal bus connected to each other independently, and a DMA processor , wherein the second DMA processor is connected to the virtual shared memory. You wherein performing against or writes data via the internal bus which is independent from the processors.
この構成によれば、各プロセッサの演算プロセッサはデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリへの書込み・読出しを行えば良い。これによって、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる。According to this configuration, it is not necessary for the arithmetic processors of each processor to share and exchange data, so that it is not necessary to provide a shared memory outside the semiconductor chip as in the prior art and directly access the virtual shared memory on the same semiconductor chip. It is only necessary to write / read to / from. As a result, it is possible to prevent a decrease in program processing efficiency due to reading and writing to the shared memory.
また、本発明の請求項5によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、前記仮想共有メモリを前記共通バスで接続されたプロセッサの数だけ備え、前記共通バスインタフェースを、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段とを備えて構成し、前記仮想共有メモリの各々を前記送受信手段に1対1で内部バスで接続したことを特徴とする。 According to a fifth aspect of the present invention, there is provided a multiprocessor system comprising an external processor for inputting / outputting data between an arithmetic processor, a built-in memory capable of reading and writing data, and a local bus outside the semiconductor chip. In a multiprocessor system in which a plurality of processors having a bus interface share and exchange data with each other, the processor has a storage capacity that can be used for sharing and exchanging the data, and the built-in processor A dual-port virtual shared memory arranged outside the memory, and a common bus interface connected to the first and second ports of the virtual shared memory via independent internal buses for reading and writing data, There are as many shared memories as the number of processors connected by the common bus, and the common bus interface has a transmission mode. Transmitting and receiving means provided serially for each processor, receiving data transmitted from the other processor via the common bus at the time of setting the reception mode, A code for distinguishing each processor is set by the processor, and a second setting means for outputting a signal instructing the setting of the transmission mode or the reception mode to the transmission / reception means corresponding to the setting code, you characterized in that each of the virtual shared memory are connected by an internal bus in a one-to-one to said transmitting and receiving means.
この構成によれば、仮想共有メモリに対するデータの読書きを演算プロセッサ側の内部バスと独立して行うので、内部バス使用の競合がないため高速に読書きを行うことができる。 According to the configuration of this, since the reading and writing of data to the virtual shared memory independently of the internal bus of the arithmetic processor side, it is possible to perform reading and writing at a high speed because there is no internal bus contention.
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。 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は、本発明の第1の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。
図1に示すマルチプロセッサシステムが、図12に示した従来のマルチプロセッサシステムと異なる構成点を説明する。
N個のプロセッサ1A〜1Nに、バスへのアクセス用のインタフェース回路である共通バスIF14A〜14Nを設け、これら共通バスIF14A〜14Nにローカルバスとは独立した共通バス92を接続し、更に、共通バスIF14を、演算プロセッサ11、内蔵メモリ122及び外部バスIF13と共に内部バス17A〜17Nで接続した。
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.
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a multiprocessor system according to the first 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. 12 will be described.
また、内蔵メモリ122A〜122Nは、各々が半導体チップによって形成される各プロセッサ1A〜1Nの読書き可能なメモリ(シングルポートメモリ)であるが、この内部に、仮想共有メモリ121A〜121Nと称する記憶領域(単に、領域とも称す)を設けた。また、内蔵メモリ122A〜122Nがシングルポートメモリなので、仮想共有メモリ121A〜121Nへの読書きは、内部バス17A〜17Nからのみ行われる。
なお、必要な場合を除き各構成要素に付した符号のフィックス、例えばプロセッサ1A〜1Nを表すサフィックスA〜N等は省略し、プロセッサ1のように表記する。
The built-in
Except where necessary, the reference symbols attached to the constituent elements, for example, suffixes A to N representing the
共通バス92は、図2(a)に示すようにN本のシリアル通信線921A〜921Nの束である。同図(b)にも示すように、シリアル通信線921Aはプロセッサ1Aのみがブロードキャスト送信出力で他のプロセッサが受信用、シリアル通信線921Bはプロセッサ1Bのみがブロードキャスト送信出力で他のプロセッサが受信用、以下同様に、シリアル通信線921Nはプロセッサ1Nのみがブロードキャスト送信出力で他のプロセッサが受信用として使用される。
The common bus 92 is a bundle of N
図3に示すように、共通バスIF14は、プロセッサ番号設定部141と、N個のスイッチ142−1〜142−Nを有する切替回路142と、DMA(Direct Memory Access)プロセッサ145と、送信コントローラ146と、N個の受信コントローラ147−1〜147−Nとを備えて構成されている。
プロセッサ番号設定部141に、演算プロセッサ11によってプロセッサ1A〜1Nを区別するためのコードが設定されると、この設定に応じたSW設定信号143が切替回路142へ出力され、このSW設定信号143に応じたスイッチング状態に各スイッチ142−1〜142−Nが切替わる。
As shown in FIG. 3, the common bus IF 14 includes a processor
When a code for distinguishing the
この図3の例では、送信コントローラ146がスイッチ142−2を介してシリアル通信線921Bに接続され、各受信コントローラ147−1〜147−Nがスイッチ142−1,142−3〜142−Nを介して他のシリアル信号線921A,921C〜921Nに接続される。つまり、図3はプロセッサ1Bの共通バスIF14Bを示している。
DMAプロセッサ145は、予め設定された規則に従って指定された領域からデータを読み出して送信コントローラ146へ格納し、受信コントローラ147−1〜147−Nから受信データを読み出して予め設定された規則に従って指定された領域へ書込む動作を行う。
In the example of FIG. 3, the
The
なお、本説明では、説明を簡単とするために、送信コントローラ146を1個としているが、送信コントローラ146が複数個ある場合は、1プロセッサが送信出力用に使用するシリアル通信線921が複数本であっても良い。
仮想共有メモリ121は、プロセッサ1の半導体チップ上に読書き可能なメモリであり、記憶領域の割付けは図4(a)に示すように、各プロセッサ1A〜1Nの専用書込み領域A〜Nが割付けられている。プロセッサ1Aが領域A、プロセッサ1Bが領域B、以下同様に、プロセッサ1Nが領域Nへ書込みを行うように割り付けられている。
In this description, for the sake of simplicity, only one
The virtual shared memory 121 is a readable / writable memory on the semiconductor chip of the processor 1, and the storage areas are allocated by the dedicated write areas A to N of the
図4(b)に示すように、各仮想共有メモリ121A〜121Nを代表する仮想共有メモリ121Bにおいて、自領域Bは、自プロセッサ1Bの演算プロセッサ11Bがデータを書込み、この書込まれたデータを、自共通バスIF14BのDMAプロセッサ145が内部バス17Bを介して読み出し、これを送信コントローラ146で他のプロセッサ1A,1C〜1Nへ送信するために用いる記憶領域である。また、領域Bは、この記憶領域の先頭から最後尾のアドレスであるオフセットアドレス00〜xxで指定され、この指定アドレスの領域に送信データが書き込まれて格納されるようになっている。
As shown in FIG. 4B, in the virtual shared
例えば演算プロセッサ11Bは、仮想共有メモリ121Bの自領域Bの各オフセットアドレス00〜xxの領域に図5(a)に示す通信フレーム信号100を形成するための各送信データを書き込む。この際、1つの通信フレーム信号100は、各オフセットアドレス00〜xxの領域に格納されたデータ(図にはオフセットアドレス00〜xxのデータと記載)を備えて成る。
For example, the
各データを仮想共有メモリ121の自領域における各オフセットアドレス00〜xxの領域に書き込む場合、同一オフセットアドレス(例えば00)の領域への図5(b)に示す時刻t1とt2とのデータ書き込み間隔(t1−t2と表現)が通信周期時間TPRDより長くなければならない。但し、その書き込み間隔t1−t2は一定ではないので、最短の書き込み間隔が通信周期時間TPRDより長くなければならないとする。
When writing each data in the area of each offset
ここで、時刻t1でデータD1が書き込まれ、t2でデータD2が書き込まれるとする。この場合に時刻t1とt2との時間間隔が通信周期時間TPRDより長い場合、時刻t1で書き込まれたデータD1が当該時刻t1を含む通信周期時間TPRDの通信フレーム信号100で送信され、次の時刻t2で書き込まれたデータD2が当該時刻t2を含む通信周期時間TPRDの通信フレーム信号100で正常に送信される。 Here, it is assumed that data D1 is written at time t1, and data D2 is written at t2. In this case, when the time interval between the times t1 and t2 is longer than the communication cycle time T PRD , the data D1 written at the time t1 is transmitted by the communication frame signal 100 of the communication cycle time T PRD including the time t1. The data D2 written at time t2 is normally transmitted by the communication frame signal 100 of the communication cycle time T PRD including the time t2.
一方、時刻t1とt2との時間間隔が通信周期時間TPRDより短い場合、時刻t1でオフセットアドレス00の領域にデータD1を書き込んでも、同一通信周期時間TPRD中で次の時刻t2でのデータD2の書込みが、同一オフセットアドレス00の領域に対して行われるので、データD1にD2が上書きされることになる。この場合、本来送信すべきデータD1が送信でき無くなる。
On the other hand, if the time interval between the time t1 and t2 is shorter than the communication cycle time T PRD, also write data D1 in the region of the offset
なお、仮想共有メモリ121Bの何れかのオフセットアドレス00〜xxの領域にはデータが格納されないこともあるが、この場合は通信フレーム信号100の該当箇所にXX等の不定データが挿入されるようになっている。
また、仮想共有メモリ121Bの他の領域A,C〜Nは、自プロセッサ1Bの受信コントローラ147−1〜147−Nで、他のプロセッサ1A,1C〜1Nからブロードキャスト送信されて来たデータを受信し、この受信データを自DMAプロセッサ145が内部バス17Bを介して読み出し、これを自仮想共有メモリ121の指定領域に書き込むための記憶領域である。
Note that data may not be stored in any of the offset addresses 00 to xx in the virtual shared
In the other areas A and C to N of the virtual shared
更に、全ての領域A〜Nは、自プロセッサ1Bの演算プロセッサ11Bが書込まれたデータを読出し可能な領域となっている。
このような構成において、例えばプロセッサ1Aの仮想共有メモリ121Aから通信フレーム信号100をブロードキャスト送信すれば、仮想共有メモリ121Aの自領域データが共通バス92のシリアル通信線921Aを介した通信により、他のプロセッサ1B〜1Nの仮想共有メモリ121B〜121N内のプロセッサ1A用領域に複写される。
Further, all the areas A to N are areas from which data written by the
In such a configuration, for example, if the communication frame signal 100 is broadcasted from the virtual shared
図5(b)の通信フレーム100の時間的配置のタイミングチャートに示すように、プロセッサ1x内の仮想共有メモリ121xの自領域データも、時間的に同時並列に共通バス92のシリアル通信線921xを介した通信により、他プロセッサの仮想共有メモリ121のプロセッサ1x用領域に複写される。
自演算プロセッサ11の仮想共有メモリ121の自領域の各オフセットアドレス00〜xxへデータを書き込む間隔(この間隔は一定ではないので、最短の間隔)を、通信周期時間TPRDより長くしてあるので、通信フレーム信号100で他の演算プロセッサ11へ送信するデータを各オフセットアドレス00〜xxの領域に適正に書き込んだのち送信することができる。
As shown in the timing chart of the temporal arrangement of the communication frame 100 in FIG. 5B, the local area data of the virtual shared memory 121x in the processor 1x is also connected to the serial communication line 921x of the common bus 92 in parallel in time. Is copied to the processor 1x area of the virtual shared memory 121 of another processor.
Since the interval for writing data to each offset
また、この送信とは独立に、自プロセッサ11の受信コントローラ147−1〜147−Nで、他のプロセッサ11からブロードキャスト送信されて来たデータを受信し、これを内部バス17を介して自DMAプロセッサ145が読み出し、自仮想共有メモリ121の自領域以外の指定領域に書き込むようにした。
よって、各プロセッサ1の演算プロセッサ11はデータの共有・交換を行うために、図12に示した従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリ121への書込み・読出しを行えば良い。これによって、共有メモリ2への読書きに起因するプログラム処理効率の低下を防止することができる。
Independent of this transmission, the reception controllers 147-1 to 147 -N of the own processor 11 receive the data broadcasted from the other processors 11, and receive this data via the internal bus 17 through the own DMA. The
Therefore, the arithmetic processor 11 of each processor 1 does not need to provide the shared
次に、このような第1の実施の形態に基づく具体的な実施例を説明する。
(第1の実施の形態の実施例1)
本実施例1のマルチプロセッサシステムの構成は、上記第1の実施の形態で説明したマルチプロセッサシステムと同構成である。本特徴である共通バスIF14A〜14Nを、プロセッサ1Aの共通バスIF14Aを代表してその動作を説明する。
Next, a specific example based on the first embodiment will be described.
(Example 1 of the first embodiment)
The configuration of the multiprocessor system according to the first embodiment is the same as that of the multiprocessor system described in the first embodiment. The operation of the
図3を参照し、プロセッサ番号設定部141Aにプロセッサ1Aを示すコード1Aを設定すると、これに応じたSW設定信号143によって切替回路142のスイッチが、送信コントローラ146を破線で示すように共通バス92のシリアル通信線921Aに接続し、受信コントローラ147−2を破線で示すようにシリアル通信線921Bに接続し、受信コントローラ147−3をシリアル通信線921Cに接続し、以下同様に、受信コントローラ147−Nをシリアル通信線921Nに接続するスイッチング動作を行う。
Referring to FIG. 3, when the
これによって、共通バス92とプロセッサ1Aの送受信の関係が図2(b)の表の状態となる。
この状態において、共通バスIF14AのDMAプロセッサ145は、仮想共有メモリ121Aの自領域Aからデータを読み出して送信コントローラ146へ書込み、送信コントローラ146はシリアル通信線921Aヘブロードキャスト送信を行う。
また、同DMAプロセッサ145は、受信コントローラ147−2の受信データを仮想共有メモリ121Aの領域Bへ書込み、受信コントローラ147−3の受信データを仮想共有メモリ121Aの領域Cへ書込み、以下同様に、受信コントローラ147−Nの受信データを仮想共有メモリ121Aの領域Nへ書込む。
As a result, the transmission / reception relationship between the common bus 92 and the
In this state, the
The
また、同DMAプロセッサ145は、送信コントローラ146に対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の送信データとして自領域Aのオフセットアドレス00のデータ、第2の送信データとして自領域Aのオフセットアドレス01のデータ、以下同様に+1ずつインクリメントして最後に、第xの送信データとして自領域Aのオフセットアドレスxxのデータを送信するための動作を行う。
In addition, the
また、同DMAプロセッサ145は、受信コントローラ147−2に対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の受信データを領域Bのオフセットアドレス00へ格納、第2の受信データを領域Bのオフセットアドレス01へ格納、以下同様に+1ずつインクリメントして最後に、第xの受信データを領域Bのオフセットアドレスxxへ格納する動作を行う。
Further, the
これは、受信コントローラ147−3〜147−Nに対しても格納領域は変わるが、通信フレーム信号100のデータ順番とオフセットアドレスの変化規則は同様である。
但し、上記のように通信フレーム信号100のデータ順番に対するオフセットアドレスの変化規則は、インクリメントだったが、デクリメントでも良く、その他の規則であっても良い。
This is because the storage area of the reception controllers 147-3 to 147 -N changes, but the data order of the communication frame signal 100 and the change rule of the offset address are the same.
However, although the change rule of the offset address with respect to the data order of the communication frame signal 100 is increment as described above, it may be decremented or other rules.
このように、各プロセッサ1A〜1Nが共通バス92のシリアル通信線921A〜921Nを介して、図5に示すように同時並列に通信を行うことで、例えば演算プロセッサ11Aは自プロセッサ内の仮想共有メモリ121の自領域Aへのデータの書込みと、他プロセッサ用の領域B〜Nからのデータの読出しとを行うことができるので、他のプロセッサ1B〜1Nとデータの共有・交換を行うことができる。
As described above, the
(第1の実施の形態の実施例2)
本実施例2のマルチプロセッサシステムは、図6に示すように、共通バスIF14が、プロセッサ番号設定部149と、DMAプロセッサ145と、送信/受信コントローラ148−1〜148−Nとを備えて構成されている。つまり、図3の送信コントローラ146及び受信コントローラ147−1〜147−Nに代え、送信/受信コントローラ148−1〜148−Nを用いた。
(Example 2 of the first embodiment)
In the multiprocessor system of the second embodiment, as shown in FIG. 6, the common bus IF 14 includes a processor
プロセッサ番号設定部149は、演算プロセッサ11によってプロセッサ1A〜1Nを区別するためのコードが設定され、この設定コードに応じた送信/受信コントローラ148−1〜148−Nへ、送信又は受信モード設定する動作モード設定信号144を出力する。
送信/受信コントローラ148−1〜148−Nは、動作モード設定信号144によって設定された送信又は受信モードに応じて送信又は受信動作を行うコントローラであり、送信/受信コントローラ148−1がシリアル通信線921Aに接続され、送信/受信コントローラ148−2がシリアル通信線921Bに接続され、以下同様に、送信/受信コントローラ148−Nがシリアル通信線921Nに接続されている。
The processor
The transmission / reception controllers 148-1 to 148-N are controllers that perform transmission or reception operations according to the transmission or reception mode set by the operation mode setting signal 144. The transmission / reception controller 148-1 is a serial communication line. The transmission / reception controller 148-2 is connected to the
このような実施例2の共通バスIF14は、次に説明するように動作する。但し、プロセッサ1Aの共通バスIF14Aを代表して説明する。
プロセッサ番号設定部149に、例えばプロセッサ1Aを示すコードが設定されたとすると、これに応じた動作モード設定信号144によって送信/受信コントローラ148−1が送信モード、その他の送信/受信コントローラ148−2〜148−Nが受信モードに設定される。この場合、共通バス92とプロセッサ1Aの送受信の関係が図3に示す表の状態となる。
The common bus IF 14 according to the second embodiment operates as described below. However, the common bus IF 14A of the
If, for example, a code indicating the
DMAプロセッサ145は、仮想共有メモリ121Aの自領域Aからデータを読み出して送信/受信コントローラ148−1へ書込み、送信/受信コントローラ148−1はシリアル通信線921Aヘブロードキャスト送信を行う。
また、同DMAプロセッサ145は、送信/受信コントローラ148−2の受信データを仮想共有メモリ121の他プロセッサ1B用の領域Bへ書込み、送信/受信コントローラ148−3の受信データを仮想共有メモリ121の他プロセッサ1C用の領域Cへ書込み、以下同様に、送信/受信コントローラ148−Nの受信データを仮想共有メモリ121の他プロセッサ1N用の領域Nへ書込む。
The
The
また、同DMAプロセッサ145は、送信/受信コントローラ148−1〜148−Nに対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の受信データを領域Bのオフセットアドレス00へ格納、第2の受信データを領域Bのオフセットアドレス01へ格納、以下同様に+1ずつインクリメントして最後に、第xの受信データを領域Bのオフセットアドレスxxへ格納する動作を行う。
In addition, the
但し、上記のように通信フレーム信号100のデータ順番に対するオフセットアドレスの変化規則は、インクリメントだったが、デクリメントでも良く、その他の規則であっても良い。
このように、各プロセッサ1A〜1Nが共通バス92のシリアル通信線921A〜921Nを介して、図5に示すように同時並列に通信を行うことで、例えば演算プロセッサ11Aは自プロセッサ内の仮想共有メモリ121の自領域Aへのデータの書込みと、他プロセッサ用の領域B〜Nからのデータの読出しとを行うことができるので、他のプロセッサ1B〜1Nとデータの共有・交換を行うことができる。
However, although the change rule of the offset address with respect to the data order of the communication frame signal 100 is increment as described above, it may be decremented or other rules.
As described above, the
(第2の実施の形態)
図7は、本発明の第2の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。
図7に示すマルチプロセッサシステムが、図1に示した第1の実施の形態のマルチプロセッサシステムと異なる構成点を説明する。デュアルポートメモリである読書き可能な仮想共有メモリ22A〜22Nをプロセッサ1A〜1Nの半導体チップ上に備え、仮想共有メモリ22A〜22Nの一方のポートを内部バス17A〜17Nに接続し、他方のポートを内部バス18A〜18Nを介して共通バスIF15A〜15Nに接続した。また、内蔵メモリ122A〜122Nは、図1のように仮想共有メモリ121A〜121Nを備えない構成となっている。
(Second Embodiment)
FIG. 7 is a block diagram showing a configuration of a multiprocessor system according to the second embodiment of the present invention.
The configuration of the multiprocessor system shown in FIG. 7 that is different from the multiprocessor system of the first embodiment shown in FIG. 1 will be described. Dual read / write virtual shared
仮想共有メモリ22の内部割付とその役割は、図4に示したものと同様である。また、シングルポートの仮想共有メモリ121との違いは、演算プロセッサ11から仮想共有メモリ22への読書きは内部バス17側のポートから行い、共通バスIF15からの読書きは内部バス18側のポートから行う。これによって、共通バスIF15が行う仮想共有メモリ22への読書き動作が、演算プロセッサ11の内部バス17を介して行う読書き動作に影響を及ぼさないようにしてある。 The internal allocation of virtual shared memory 22 and its role are the same as those shown in FIG. The difference from the single-port virtual shared memory 121 is that reading / writing from the arithmetic processor 11 to the virtual shared memory 22 is performed from the port on the internal bus 17 side, and reading / writing from the common bus IF 15 is performed on the port on the internal bus 18 side. To do. As a result, the read / write operation to the virtual shared memory 22 performed by the common bus IF 15 does not affect the read / write operation performed via the internal bus 17 of the arithmetic processor 11.
図8に示すように、共通バスIF15は、プロセッサ番号設定部151と、N個のスイッチ152−1〜152−Nを有する切替回路152と、DMA(Direct Memory Access)プロセッサ155と、送信コントローラ156と、N個の受信コントローラ157−1〜157−Nとを備えて構成されている。
プロセッサ番号設定部151は、内部バス17に接続され、この内部バス17を介した演算プロセッサ11によるプロセッサ1A〜1Nを区別するためのコードが設定されると、この設定に応じたSW設定信号153を切替回路152へ出力する。切替回路152は、そのSW設定信号153に応じたスイッチング状態に各スイッチ152−1〜152−Nが切替わる。
As shown in FIG. 8, the common bus IF 15 includes a processor
The processor
DMAプロセッサ155は、図1のDMAプロセッサ145と異なり、2つのポートを備え、一方が内部バス17に接続され、他方が内部バス18を介して送信コントローラ156及び受信コントローラ157−1〜157−Nに接続されている。これらの接続が図1のものと異なる。
即ち、共通バスIF15が共通バスIF14と異なる点は、プロセッサ番号設定部151及びDMAプロセッサ155の通信フレーム信号100のデータ順番に対するオフセットアドレス00〜xxの変化規則の設定は、演算プロセッサ11が内部バス17を介して行う。しかし、DMAプロセッサ155による送信コントローラ156並びに受信コントローラ157−1〜157−Nと、仮想共有メモリ22との間の通信データの読書き動作は内部バス18を介して行う。
Unlike the
That is, the common bus IF 15 differs from the common bus IF 14 in that the processor 11 sets the change rule of the offset
これによって、例えばプロセッサ1Bが、共通バス92のシリアル通信線921A〜921Nを介して図5(b)の通信フレーム信号100の時間的配置に示すように同時並列に通信を行うことで、自プロセッサ1B内の仮想共有メモリ22の自領域Bへのデータ書込みと他領域A,C〜Nからのデータ読出しによって、他のプロセッサ1A,C〜Nとデータの共有・交換を行うことができる。
As a result, for example, the
よって、各プロセッサ1の演算プロセッサ11はデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリ22への書込み・読出しを行えば良い。これによって、共有メモリ2への読書きに起因するプログラム処理効率の低下を防止することができる。
Therefore, the arithmetic processor 11 of each processor 1 does not need to provide the shared
(第3の実施の形態)
図9は、本発明の第3の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。
図9に示すマルチプロセッサシステムが、図7に示した第2の実施の形態のマルチプロセッサシステムと異なる点は、仮想共有メモリ22A〜22Nに代え、仮想共有メモリグループ部23A〜23Nを備え、この仮想共有メモリグループ部23A〜23Nに内部バス群19A〜19Nで接続された共通バスIF16A〜16Nとしたことにある。
図10に、共通バスIF16と仮想共有メモリグループ部23の構成を示す。
(Third embodiment)
FIG. 9 is a block diagram showing a configuration of a multiprocessor system according to the third embodiment of the present invention.
The multiprocessor system shown in FIG. 9 is different from the multiprocessor system of the second embodiment shown in FIG. 7 in that virtual shared
FIG. 10 shows the configuration of the common bus IF 16 and the virtual shared
共通バスIF16は、内部バス17に接続されたプロセッサ番号設定部161と、送信/受信コントローラ169−1〜169−Nとを備えて構成されている。プロセッサ番号設定部161は、内部バス17を介した演算プロセッサ11によるプロセッサ1A〜1Nを区別するためのコードが設定された際に、これに応じたSW設定信号164を送信/受信コントローラ169−1〜169−Nへ出力する。
各送信/受信コントローラ169−1〜169−Nは、図11に示すように、DMAプロセッサ1691及び送受信シリパラ変換部1692を備えて構成されている。
The common bus IF 16 includes a processor
As shown in FIG. 11, each of the transmission / reception controllers 169-1 to 169-N includes a
仮想共有メモリグループ部23A〜23Nは、各プロセッサ1A〜1Nに対応したデュアルポートメモリである領域A用メモリ231−1〜領域N用メモリ231−Nを備え、領域A用メモリ231−1の一方のポートが送信/受信コントローラ169−1に、領域B用メモリ231−2の一方のポートが送信/受信コントローラ169−2に、領域C用メモリ231−3の一方のポートが送信/受信コントローラ169−3に、…、領域N用メモリ231−Nの一方のポートが送信/受信コントローラ169−Nに接続され、各メモリ231−1〜231Nの他方のポートが内部バス17に接続されている。
The virtual shared
上記第2の実施の形態との違いは、共通バスIF16の送信/受信コントローラ169−1〜169−Nと領域A〜N用メモリ231−1〜231−Nとが個別の内部バス19で接続されているため、送信/受信コントローラ169−1〜169−N同士のデュアルポートメモリヘのアクセス競合がない点である。
従って、各送信/受信コントローラ169−1〜169−Nと各領域A〜N用メモリ231−1〜231−Nとの間の通信データの遣り取りは、個々のDMAプロセッサ1691が内部バス19を介して行う。また、各DMAプロセッサ1691の制御で領域A〜N用メモリ231−1〜231−Nに読書きされる通信データは、送受信シリパラ変換部1692で共通バス92への送信時にパラレルデータからシリアルデータに変換され、共通バス92からの受信時にシリアルデータからパラレルデータに変換される。
The difference from the second embodiment is that the transmission / reception controllers 169-1 to 169-N of the common bus IF 16 and the areas A to N memories 231-1 to 231-N are connected by individual internal buses 19. Therefore, there is no contention for access to the dual port memory between the transmission / reception controllers 169-1 to 169-N.
Therefore, each
このような構成において、共通バス92のシリアル通信線921A〜921Nは、図5(b)の通信フレーム信号100の時間的配置に示すように同時並列に通信を行うことで、自プロセッサ内の仮想共有メモリグループ部23A〜23Nの自領域へのデータ書込みと他領域からのデータ読出しで、他のプロセッサとデータの共有・交換を行うことができる。
よって、各プロセッサ1の演算プロセッサ11はデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリグループ部23A〜23Nへの書込み・読出しを行えば良い。
In such a configuration, the
Therefore, it is not necessary for the arithmetic processor 11 of each processor 1 to share and exchange data, so that it is not necessary to provide the shared
以上の実施の形態の効果を総括すると、一般的に、同半導体チップ上にある内蔵メモリ対する読込み・書込み動作に要する時間は、外部バスを介して外部の半導体チップ(共有メモリ2)に対する読込み・書込み動作に要する時問よりも遥かに短い。従って、共有メモリ2への読書きに起因するプログラム処理効率の低下を防止することができる。
Summarizing the effects of the above-described embodiments, generally, the time required for the read / write operation with respect to the built-in memory on the same semiconductor chip is the time required for reading / writing to the external semiconductor chip (shared memory 2) via the external bus. It is much shorter than the time required for the write operation. Accordingly, it is possible to prevent a decrease in program processing efficiency due to reading / writing to the shared
1A〜1N プロセッサ
2 共有メモリ
4A〜4N ローカルバス
12A〜12N,122A〜122N 内蔵メモリ
13A〜13N 外部バスIF
145,155,1691 DMAプロセッサ
14A〜14N,15A〜15N,16A〜16N 共通バスIF
16A〜16N,121A〜121N 仮想共有メモリ
17A〜17N,18A〜18N,19A〜19N 内部バス
23A〜23N 仮想共有メモリグループ部
231−1〜231−N 領域A〜N用メモリ
42A〜42N ローカルメモリ
43A〜43N ローカルI/O
92 共通バス
142,152 切替回路
142−1〜142−N,152−1〜152−N スイッチ
146,156 送信コントローラ
147−1〜147−N,157−1〜157−N 受信コントローラ
148−1〜148−N,169−1〜169−N 送信/受信コントローラ
921A〜921N シリアル通信線
1692 送受信シリパラ変換部
1A to
145, 155, 1691
16A to 16N, 121A to 121N Virtual shared memory 17A to 17N, 18A to 18N, 19A to 19N
92
Claims (5)
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、
前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設定コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリに書込まれた送信データを読出して前記送信手段へ入力し、前記受信手段での受信データを前記仮想共有メモリに書込む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 built-in memory having a storage capacity that can be used for sharing and exchanging the data inside the processor, and data read / write connected to the virtual shared memory via an internal bus And a common bus interface
Outside the processor, provided with a common bus consisting of a bundle of serial communication lines connected to each other processor via the common bus interface,
The common bus interface includes a first setting unit in which a code for distinguishing each processor is set by the arithmetic processor, a transmission unit that serially transmits data to another processor, and a transmission from another processor via the common bus Receiving the received data, the receiving means provided corresponding to each other processor, and the transmitting means and the receiving means to the serial communication line of the common bus according to the setting code of the first setting means A switching circuit to be connected; and a DMA processor that reads transmission data written in the virtual shared memory, inputs the data to the transmission unit, and writes reception data in the reception unit into the virtual shared memory. A featured multiprocessor system.
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、
前記共通バスインタフェースは、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段と、前記仮想共有メモリに書込まれた送信データを読出して前記送受信手段へ入力し、前記送受信手段での受信データを前記仮想共有メモリに書込む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 built-in memory having a storage capacity that can be used for sharing and exchanging the data inside the processor, and data read / write connected to the virtual shared memory via an internal bus And a common bus interface
Outside the processor, provided with a common bus consisting of a bundle of serial communication lines connected to each other processor via the common bus interface,
The common bus interface serially transmits data to other processors when the transmission mode is set, and receives data transmitted from other processors via the common bus when the reception mode is set, and is provided for each processor. A transmission / reception means, and a second setting means for setting a code for distinguishing each processor by the arithmetic processor and outputting a signal for instructing the setting of the transmission mode or the reception mode to the transmission / reception means corresponding to the setting code; , the transmission data written to the virtual shared memory reads out the input to the receiving means, wherein the to luma that a DMA processor for writing data received by said receiving means to said virtual shared memory Luci processor system.
ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。 The virtual shared memory has its own area in which transmission data for its own processor is written by the arithmetic processor, and has another area dedicated to each other processor in which received data from another processor is written. The multiprocessor system according to claim 1 or 2.
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、
前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設定コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリの第1及び第2のポートに各々独立に接続された内部バスと、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 dual-port virtual shared memory provided outside the built-in memory having a storage capacity that can be used for sharing and exchanging the data inside the processor, and first and second ports of the virtual shared memory With a common bus interface connected to an independent internal bus for reading and writing data,
Outside the processor, provided with a common bus consisting of a bundle of serial communication lines connected to each other processor via the common bus interface,
The common bus interface includes a first setting unit in which a code for distinguishing each processor is set by the arithmetic processor, a transmission unit that serially transmits data to another processor, and a transmission from another processor via the common bus receiving data that has been receiving means provided in correspondence with each other processor, the serial communication line of the common bus the transmission means and the receiving means in response to setting the code of the first setting means A switching circuit connected to each other, an internal bus connected independently to each of the first and second ports of the virtual shared memory , and a DMA processor ,
The multiprocessor system, wherein the second DMA processor reads / writes data to / from the virtual shared memory via an internal bus independent of the arithmetic processor .
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記仮想共有メモリを前記共通バスで接続されたプロセッサの数だけ備え、
前記共通バスインタフェースを、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段とを備えて構成し、前記仮想共有メモリの各々を前記送受信手段に1対1で内部バスで接続した
ことを特徴とするマルチプロセッサシステム。 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 dual-port virtual shared memory provided outside the built-in memory having a storage capacity that can be used for sharing and exchanging the data inside the processor, and first and second ports of the virtual shared memory With a common bus interface connected to an independent internal bus for reading and writing data,
The virtual shared memory is provided by the number of processors connected by the common bus,
The common bus interface, and transmits the data to another processor to serially transmit mode settings, receives data transmitted via the common bus from other processors when setting reception mode, provided for each processor A transmission / reception means, and a second setting means for setting a code for distinguishing each processor by the arithmetic processor and outputting a signal for instructing the setting of the transmission mode or the reception mode to the transmission / reception means corresponding to the setting code; A multiprocessor system , wherein each of the virtual shared memories is connected to the transmission / reception means on a one-to-one basis via an internal bus .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006071501A JP4765003B2 (en) | 2006-03-15 | 2006-03-15 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006071501A JP4765003B2 (en) | 2006-03-15 | 2006-03-15 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007249547A JP2007249547A (en) | 2007-09-27 |
JP4765003B2 true JP4765003B2 (en) | 2011-09-07 |
Family
ID=38593779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006071501A Active JP4765003B2 (en) | 2006-03-15 | 2006-03-15 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4765003B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9176891B2 (en) | 2008-03-19 | 2015-11-03 | Panasonic Intellectual Property Management Co., Ltd. | Processor, processing system, data sharing processing method, and integrated circuit for data sharing processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2656543B2 (en) * | 1988-05-26 | 1997-09-24 | 東京電力株式会社 | Broadcast memory type distributed computer system |
JPH02132543A (en) * | 1988-11-12 | 1990-05-22 | Nec Corp | Information processor |
JPH0652101A (en) * | 1992-07-29 | 1994-02-25 | Hitachi Ltd | Multiport memory for data buffer |
JP3754482B2 (en) * | 1996-02-29 | 2006-03-15 | 株式会社日立製作所 | Information processing apparatus having memory transfer function |
JP4123022B2 (en) * | 2003-03-19 | 2008-07-23 | 三菱電機株式会社 | Operation synchronization circuit |
-
2006
- 2006-03-15 JP JP2006071501A patent/JP4765003B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007249547A (en) | 2007-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4856379B2 (en) | Protocol conversion arbitration circuit, system including the same, and signal conversion arbitration method | |
JP5786100B2 (en) | Communication between peripheral devices | |
US20080126643A1 (en) | Semiconductor circuit | |
CN106021141B (en) | Semiconductor device with a plurality of semiconductor chips | |
US8583845B2 (en) | Multi-processor system and controlling method thereof | |
US9984014B2 (en) | Semiconductor device | |
US7415558B2 (en) | Communication steering for use in a multi-master shared resource system | |
CN114253884A (en) | FPGA-based multi-master-to-multi-slave access arbitration method, system and storage medium | |
US7802038B2 (en) | Communication steering for use in a multi-master shared resource system | |
US8756356B2 (en) | Pipe arbitration using an arbitration circuit to select a control circuit among a plurality of control circuits and by updating state information with a data transfer of a predetermined size | |
JP4765003B2 (en) | Multiprocessor system | |
US8244994B1 (en) | Cooperating memory controllers that share data bus terminals for accessing wide external devices | |
GB2412767A (en) | Processor with at least two buses between a read/write port and an associated memory with at least two portions | |
JP2012181573A (en) | Microcomputer | |
JP6498557B2 (en) | Programmable controller | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
US20060248247A1 (en) | Apparatus and method for controlling access to a memory | |
JP2006251916A (en) | Dma transfer system and dma transfer method | |
US7788466B2 (en) | Integrated circuit with a plurality of communicating digital signal processors | |
JPH0227696B2 (en) | JOHOSHORISOCHI | |
JP4539481B2 (en) | Multiprocessor system | |
JP2021002279A (en) | Control system | |
JP2005107873A (en) | Semiconductor integrated circuit | |
JP6535516B2 (en) | Multi-programmable device system and control method thereof | |
JP2023066810A (en) | Memory system and command determination method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090217 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100615 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100810 |
|
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: 20110412 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20110422 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110425 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4765003 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: 20140624 Year of fee payment: 3 |
|
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 |