JP2007249547A - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP2007249547A JP2007249547A JP2006071501A JP2006071501A JP2007249547A JP 2007249547 A JP2007249547 A JP 2007249547A JP 2006071501 A JP2006071501 A JP 2006071501A JP 2006071501 A JP2006071501 A JP 2006071501A JP 2007249547 A JP2007249547 A JP 2007249547A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- transmission
- shared memory
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 168
- 230000005540 biological transmission Effects 0.000 claims abstract description 125
- 238000004891 communication Methods 0.000 claims abstract description 71
- 239000004065 semiconductor Substances 0.000 claims description 27
- 238000009434 installation Methods 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
Images
Landscapes
- Multi Processors (AREA)
Abstract
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によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、前記共通バスインタフェースは、自プロセッサの前記仮想共有メモリに書込まれた送信データを読み出して他プロセッサへ送信し、この送信とは独立に他プロセッサからの送信データを前記共通バスを介して受信し、この受信データを前記仮想共有メモリに書込む処理を行うことを特徴とする。 In order to achieve the above object, a multiprocessor system according to a first aspect of the present invention provides 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 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. The common bus interface reads the transmission data written in the virtual shared memory of its own processor and transmits it to another processor, and receives the transmission data from the other processor via the common bus independently of this transmission, The reception data is written into the virtual shared memory.
この構成によれば、各プロセッサの演算プロセッサはデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリへの書込み・読出しを行えば良い。これによって、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる。 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.
また、本発明の請求項2によるマルチプロセッサシステムは、請求項1において、前記仮想共有メモリは、自プロセッサ用の送信データが前記演算プロセッサで書込まれる自領域を有すると共に、他プロセッサからの受信データが書込まれる他領域を他プロセッサ毎に専用に有することを特徴とする。
この構成によれば、自プロセッサの仮想共有メモリに書込まれた送信データを読み出して他プロセッサへ送信し、この送信とは独立に他プロセッサからの送信データを受信して仮想共有メモリに書込むといった処理を、上書き等によってデータが消失されることなく適正に行うことができる。
A multiprocessor system according to
According to this configuration, the transmission data written in the virtual shared memory of the own processor is read and transmitted to the other processor, and the transmission data from the other processor is received and written to the virtual shared memory independently of this transmission. Such processing can be appropriately performed without data being lost due to overwriting or the like.
また、本発明の請求項3によるマルチプロセッサシステムは、請求項1または2において、前記演算プロセッサは、前記仮想共有メモリの自領域を分割した各アドレス領域に、前記送信データの1フレームを構成する各データを書込む場合、フレーム間に渡る同一アドレス領域への書込み間隔が、他プロセッサへの通信周期時間より長くなるようにして書込みを行うことを特徴とする。
The multiprocessor system according to claim 3 of the present invention is the multiprocessor system according to
この構成によれば、例えば演算プロセッサによる自領域への書き込み間隔が通信周期時間より短い場合、時刻t1で第1アドレス領域にデータD1を書き込んでも、同一の通信周期時間中に次の時刻t2でデータD2の書込みが同一の第1アドレス領域に対して行われることになる。この場合、データD1にD2が上書きされ、本来送信すべきデータD1が送信でき無くなる。しかし、上記の請求項3では、フレーム間に渡る同一アドレス領域への書込み間隔が通信周期時間より長くなるようにして同一アドレス領域へのデータの書込みが行われるので、データD1にD2が上書きされるといったことが無くなり、本来送信すべきデータD1を適正に送信することができる。 According to this configuration, for example, when the write interval to the own region by the arithmetic processor is shorter than the communication cycle time, even if the data D1 is written to the first address region at time t1, the next time t2 during the same communication cycle time. Data D2 is written to the same first address area. In this case, data D1 is overwritten with D2, and data D1 that should be transmitted cannot be transmitted. However, according to the third aspect of the present invention, since data is written to the same address area so that the writing interval to the same address area between frames is longer than the communication cycle time, D2 is overwritten on the data D1. Thus, the data D1 that should be transmitted can be properly transmitted.
また、本発明の請求項4によるマルチプロセッサシステムは、請求項1から3の何れか1項において、前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設置コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリに書込まれた送信データを読出して前記送信手段へ入力し、前記受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサとを備えたことを特徴とする。
この構成によれば、自プロセッサの仮想共有メモリに書込まれた送信データを読み出して他プロセッサへの送信手段へ入力し、これとは独立に他プロセッサからの送信データを仮想共有メモリに書込むといった処理を高速で行うことができる。
The multiprocessor system according to claim 4 of the present invention is the multiprocessor system according to any one of claims 1 to 3, wherein the common bus interface has a first setting in which a code for distinguishing each processor is set by the arithmetic processor. Means, serially transmitting data to other processors, receiving data transmitted from other processors via the common bus, and receiving means provided corresponding to each other processor; A switching circuit for connecting the transmission means and the reception means to the serial communication line of the common bus according to an installation code of one setting means, and transmission data written in the virtual shared memory are read to the transmission means And a DMA processor that inputs and writes the data received by the receiving 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 means to the other processor, and the transmission data from the other processor is written into the virtual shared memory independently of this. Such processing can be performed at high speed.
また、本発明の請求項5によるマルチプロセッサシステムは、請求項1から3の何れか1項において、前記共通バスインタフェースは、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段と、前記仮想共有メモリに書込まれた送信データを読出して前記送受信手段へ入力し、前記送受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサとを備えたことを特徴とする。
この構成によれば、自プロセッサの仮想共有メモリに書込まれた送信データを読み出して他プロセッサへの送信手段へ入力し、これとは独立に他プロセッサからの送信データを仮想共有メモリに書込むといった処理を高速で行うことができる。
A multiprocessor system according to claim 5 of the present invention is the multiprocessor system according to any one of claims 1 to 3, wherein the common bus interface serially transmits data to other processors when the transmission mode is set, and when the reception mode is set. Data sent from other processors via the common bus is received, transmission / reception means provided corresponding to each processor, and a code for distinguishing each processor are set by the arithmetic processor, and this setting code is supported Second setting means for outputting a signal for instructing setting of the transmission mode or reception mode to the transmission / reception means, reading transmission data written in the virtual shared memory and inputting the transmission data to the transmission / reception means; And a DMA processor for writing data received by the 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 means to the other processor, and the transmission data from the other processor is written into the virtual shared memory independently of this. Such processing can be performed at high speed.
また、本発明の請求項6によるマルチプロセッサシステムは、半導体チップ内に、演算プロセッサと、データ読書き可能な内蔵メモリと、当該半導体チップ外部のローカルバスとの間でデータの入出力を行う外部バスインタフェースとを有して成る複数のプロセッサが、互いにデータの共有・交換を行うマルチプロセッサシステムにおいて、前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、前記共通バスインタフェースは、自プロセッサの前記仮想共有メモリに書込まれた送信データを読み出して他プロセッサへ送信し、この送信とは独立に他プロセッサからの送信データを前記共通バスを介して受信し、この受信データを前記仮想共有メモリに書込む処理を行うことを特徴とする。 According to a sixth 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, the processor Or a bundle of serial communication lines connected to each other processor via the common bus interface. The common bus interface reads the transmission data written in the virtual shared memory of its own processor and transmits it to the other processor, and independently transmits the transmission data from the other processor to the common processor. A process of receiving via the bus and writing the received data into the virtual shared memory is performed.
この構成によれば、各プロセッサの演算プロセッサはデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリを設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリへの書込み・読出しを行えば良い。これによって、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができる。 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.
また、本発明の請求項7によるマルチプロセッサシステムは、請求項6において、前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設置コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリの第1及び第2のポートに各々独立に接続された内部バスと、DMAプロセッサとを備え、前記第DMAプロセッサは、前記仮想共有メモリに対するデータの読書きを前記演算プロセッサから独立した内部バスを介して行うことを特徴とする。
この構成によれば、仮想共有メモリに対するデータの読書きを演算プロセッサ側の内部バスと独立して行うので、内部バス使用の競合がないため高速に読書きを行うことができる。
The multiprocessor system according to claim 7 of the present invention is the multiprocessor system according to claim 6, wherein the common bus interface includes a first setting unit in which a code for distinguishing each processor is set by the arithmetic processor and data to other processors. Transmitting means for serially transmitting data, receiving means for receiving data transmitted from another processor via the common bus, provided corresponding to each other processor, and an installation code for the first setting means And a switching circuit for connecting the transmitting means and the receiving means to the serial communication line of the common bus, an internal bus independently connected to the first and second ports of the virtual shared memory, and a DMA processor. The DMA processor is independent of the arithmetic processor for reading and writing data to and from the virtual shared memory. And performing through the section bus.
According to this configuration, data reading / writing with respect to the virtual shared memory is performed independently of the internal bus on the arithmetic processor side, so that there is no contention for the use of the internal bus, so that data can be read / written at high speed.
また、本発明の請求項8によるマルチプロセッサシステムは、請求項6において、前記仮想共有メモリを前記共通バスで接続されたプロセッサの数だけ備え、前記共通バスインタフェースを、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段とを備えて構成し、前記仮想共有メモリの各々を前記送受信手段に1対1で内部バスで接続したことを特徴とする。
この構成によれば、共通バスインタフェースの送受信手段は、仮想共有メモリに対するデータの読み書きを演算プロセッサ側の内部バスと独立に行うと同時に、各DMAプロセッサに対応付けられた仮想共有メモリ毎でもデータの読書きを独立して行うので、適正に高速で読書きを行うことができる。
A multiprocessor system according to an eighth aspect of the present invention is the multiprocessor system according to the sixth aspect, wherein the virtual shared memory is provided by the number of processors connected by the common bus, and the common bus interface is connected to another processor when the transmission mode is set. Transmits data serially, receives data transmitted from other processors via the common bus when the reception mode is set, and distinguishes each processor by transmission / reception means provided for each processor and 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 each of the virtual shared memories The transmission / reception means are connected to each other by an internal bus on a one-to-one basis.
According to this configuration, the transmission / reception means of the common bus interface reads / writes data to / from the virtual shared memory independently of the internal bus on the arithmetic processor side, and at the same time, the data of each virtual shared memory associated with each DMA processor Since reading and writing are performed independently, reading and writing can be performed appropriately at high speed.
以上説明したように本発明によれば、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるという効果がある。 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 (8)
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ内に配備された仮想共有メモリと、この仮想共有メモリに内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、
前記共通バスインタフェースは、自プロセッサの前記仮想共有メモリに書込まれた送信データを読み出して他プロセッサへ送信し、この送信とは独立に他プロセッサからの送信データを前記共通バスを介して受信し、この受信データを前記仮想共有メモリに書込む処理を行うことを特徴とするマルチプロセッサシステム。 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 reads transmission data written in the virtual shared memory of its own processor and transmits it to another processor, and receives transmission data from the other processor via the common bus independently of this transmission. A multiprocessor system for performing a process of writing the received data into the virtual shared memory.
ことを特徴とする請求項1に記載のマルチプロセッサシステム。 The virtual shared memory has its own area where 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.
ことを特徴とする請求項1または2に記載のマルチプロセッサシステム。 When the arithmetic processor writes each data constituting one frame of the transmission data to each address area obtained by dividing the own area of the virtual shared memory, the write interval to the same address area between the frames is different. The multiprocessor system according to claim 1, wherein writing is performed so as to be longer than a communication cycle time to the processor.
を備えたことを特徴とする請求項1から3の何れか1項に記載のマルチプロセッサシステム。 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 according to the installation code of the first setting means to the serial communication line of the common bus 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 the reception data in the reception unit into the virtual shared memory. The multiprocessor system according to any one of claims 1 to 3, wherein
を備えたことを特徴とする請求項1から3の何れか1項に記載のマルチプロセッサシステム。 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 reception mode to the transmission / reception means corresponding to the setting code; And a DMA processor for reading out transmission data written in the virtual shared memory, inputting the transmission data to the transmission / reception means, and writing reception data in the transmission / reception means into the virtual shared memory. The multiprocessor system according to any one of 1 to 3.
前記プロセッサの内部に、前記データの共有・交換に使用可能な記憶容量を有して前記内蔵メモリ外に配備されたデュアルポートの仮想共有メモリと、この仮想共有メモリの第1及び第2のポートに独立の内部バスで接続されてデータの読書きを行う共通バスインタフェースとを備え、
前記プロセッサの外部に、前記共通バスインタフェースを介して他プロセッサ毎に接続されたシリアル通信線の束から成る共通バスを備え、
前記共通バスインタフェースは、自プロセッサの前記仮想共有メモリに書込まれた送信データを読み出して他プロセッサへ送信し、この送信とは独立に他プロセッサからの送信データを前記共通バスを介して受信し、この受信データを前記仮想共有メモリに書込む処理を行うことを特徴とするマルチプロセッサシステム。 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 reads transmission data written in the virtual shared memory of its own processor and transmits it to another processor, and receives transmission data from the other processor via the common bus independently of this transmission. A multiprocessor system for performing a process of writing the received data into the virtual shared memory.
前記第DMAプロセッサは、前記仮想共有メモリに対するデータの読書きを前記演算プロセッサから独立した内部バスを介して行う
ことを特徴とする請求項6に記載のマルチプロセッサシステム。 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 according to the installation code of the first setting means to the serial communication line of the common bus A switching circuit to be connected, an internal bus independently connected to each of the first and second ports of the virtual shared memory, and a DMA processor,
The multiprocessor system according to claim 6, wherein the DMA processor reads / writes data to / from the virtual shared memory via an internal bus independent of the arithmetic processor.
ことを特徴とする請求項6に記載のマルチプロセッサシステム。 The virtual shared memory is provided by the number of processors connected by the common bus, and the common bus interface serially transmits data to other processors when the transmission mode is set, and from other processors via the common bus when the reception mode is set. A transmission / reception means provided corresponding to each processor and a code for distinguishing each processor is set by the arithmetic processor, and the transmission mode is sent to the transmission / reception means corresponding to the setting code. Or a second setting unit that outputs a signal instructing setting of a reception mode, and each of the virtual shared memories is connected to the transmission / reception unit in a one-to-one manner via an internal bus. Item 7. The multiprocessor system according to Item 6.
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 true JP2007249547A (en) | 2007-09-27 |
JP4765003B2 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) |
Cited By (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 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01297759A (en) * | 1988-05-26 | 1989-11-30 | Tokyo Electric Power Co Inc:The | Decentralized computer system for broadcast memory 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 |
JPH09237244A (en) * | 1996-02-29 | 1997-09-09 | Hitachi Ltd | Information processor having memory transfer function |
JP2004287493A (en) * | 2003-03-19 | 2004-10-14 | Mitsubishi Electric Corp | Operation synchronizing circuit |
-
2006
- 2006-03-15 JP JP2006071501A patent/JP4765003B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01297759A (en) * | 1988-05-26 | 1989-11-30 | Tokyo Electric Power Co Inc:The | Decentralized computer system for broadcast memory 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 |
JPH09237244A (en) * | 1996-02-29 | 1997-09-09 | Hitachi Ltd | Information processor having memory transfer function |
JP2004287493A (en) * | 2003-03-19 | 2004-10-14 | Mitsubishi Electric Corp | Operation synchronizing circuit |
Cited By (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 |
Also Published As
Publication number | Publication date |
---|---|
JP4765003B2 (en) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5786100B2 (en) | Communication between peripheral devices | |
JP4856379B2 (en) | Protocol conversion arbitration circuit, system including the same, and signal conversion arbitration method | |
CN106021141B (en) | Semiconductor device with a plurality of semiconductor chips | |
US8583845B2 (en) | Multi-processor system and controlling method thereof | |
CN114207721B (en) | Memory controller for non-interfering access to non-volatile memory by different hosts and related systems and methods | |
US9984014B2 (en) | Semiconductor device | |
US10467007B1 (en) | Core for controlling multiple serial peripheral interfaces (SPI's) | |
JP2001117858A (en) | Data processor | |
JP2008040905A (en) | Semiconductor device and access method to storage device | |
JP5304815B2 (en) | Microcomputer | |
EP3176701B1 (en) | Systems and methods for transmitting an access request via a flexible register access bus | |
KR20030056567A (en) | Bus architecture for system on chip with multi-processors and multi-peripherals | |
JP4765003B2 (en) | Multiprocessor system | |
US8244994B1 (en) | Cooperating memory controllers that share data bus terminals for accessing wide external devices | |
US20090077291A1 (en) | Communication steering for use in a multi-master shared resource system | |
JP2005293596A (en) | Arbitration of data request | |
JP6498557B2 (en) | Programmable controller | |
US5159674A (en) | Method for supplying microcommands to multiple independent functional units having a next microcommand available during execution of a current microcommand | |
US7254667B2 (en) | Data transfer between an external data source and a memory associated with a data processor | |
JP2009301339A (en) | Bus control device | |
US20050080966A1 (en) | Communication steering for use in a multi-master shared resource system | |
JP2006251916A (en) | Dma transfer system and dma transfer method | |
TW202240410A (en) | Bus system | |
US7788466B2 (en) | Integrated circuit with a plurality of communicating digital signal processors | |
JP4539481B2 (en) | Multiprocessor system |
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 |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4765003 Country of ref document: JP 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |