JP2007249547A - Multiprocessor system - Google Patents

Multiprocessor system Download PDF

Info

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
Application number
JP2006071501A
Other languages
Japanese (ja)
Other versions
JP4765003B2 (en
Inventor
Satoshi Kai
聡 甲斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Systems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Electric Systems Co Ltd filed Critical Fuji Electric Systems Co Ltd
Priority to JP2006071501A priority Critical patent/JP4765003B2/en
Publication of JP2007249547A publication Critical patent/JP2007249547A/en
Application granted granted Critical
Publication of JP4765003B2 publication Critical patent/JP4765003B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent the decline of program processing efficiency due to reading and writing from/to a shared memory. <P>SOLUTION: Inside of each processor 1, a virtual shared memory 121 having a storage capacity usable for sharing/exchanging data and arranged inside of a built-in memory 122 and a common bus IF 14 connected to the memory 121 by an internal bus 17 and used for sharing/exchanging the data are provided. Outside of the processor 1, a common bus 92 composed of a bundle of serial communication lines connected to each of the other processors 1 through the common bus IF 14 is provided. The common bus IF 14 executes processing of reading transmission data written in the virtual shared memory 121 of the present processor, transmitting them to the other processor 1, receiving the transmission data from the other processor 1 through the common bus 92 independent of the transmission and writing the received data in the virtual shared memory 121. <P>COPYRIGHT: (C)2007,JPO&INPIT

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 n processors 1A to 1N each formed of a semiconductor chip, and an arithmetic processor that is a CPU (central processing unit) in the semiconductor chip inside each of the processors 1A to 1N. 11A to 11N, read / write internal memories 12A to 12N connected to these arithmetic processors 11A to 11N, and external bus IFs 13A to 13N, and local to each external bus IF (interface) 13A to 13N Bus drivers with enable 41A to 41N connected via buses 4A to 4N, local memories 42A to 42N such as E 2 PROM (Electrically Erasable Programmable Read-Only Memory), and local I / O (Input / Output) 43A to 43N And bus drivers 41A to 41N with enable via the common bus 9. And shared memory 2 is continued, and is configured by a arbiter 3 connected to each external bus IF13A~13N.

なお、以下の説明において各構成要素の数字符号の後ろに付した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 external bus IFs 13A to 13N are interface controllers in the semiconductor chip that perform access control to the processors 1A to 1N, that is, the buses outside the semiconductor chip. The common bus 9 is a common bus used when the processors 1A to 1N access the shared memory 2.

アクセス調停装置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 processors 1A to 1N are signals requesting access permission, and the access permission signals 6A to 6N permit access to the access permission request signals 5A to 5N. Signal.
This multiprocessor system includes a shared memory 2 that is commonly used by n processors 1A to 1N, and each processor 1A to 1N writes or reads data at a predetermined promised address of the shared memory 2 to thereby store data. Sharing and exchanging.

共有メモリ2及び共通バス9は、各プロセッサ1A〜1Nで同時に使用することが出来ないため、アクセス調停装置3が設けられている。共有メモリ2へアクセスしたいプロセッサ(例えば1A)は、第1ステップとしてアクセス要求信号5Aを出力し、第2ステップでアクセス調停装置3からアクセス許可信号6Aを受け取ったら、第3ステップでイネーブル付バスドライバ41Aを開き、共通バス9を介して共有メモリ2への読書きを行う。   Since the shared memory 2 and the common bus 9 cannot be used simultaneously by the processors 1A to 1N, the access arbitration device 3 is provided. A processor (for example, 1A) that wants to access the shared memory 2 outputs the access request signal 5A as the first step. When the access permission signal 6A is received from the access arbitration device 3 in the second step, the enabled bus driver in the third step. 41A is opened, and the shared memory 2 is read and written via the common bus 9.

プロセッサ1A〜1Nがローカルに使用するローカルメモリ42A〜42N又はローカルI/O43A〜43Nにアクセスする際は、イネーブル付バスドライバ41A〜41Nは閉じており、共通バス9へは影響を与えない。
各プロセッサ1A〜1Nで同時に2つ以上のアクセス要求が重なった場合には、アクセス調停装置3が決められた規則に従いアクセス要求の内の1つを選択して、それに対するアクセス許可信号を返答するようになっており、共通バス9と共有メモリ2を複数のプロセッサが同時に使用しないようになっている。
When the processors 1A to 1N access the local memories 42A to 42N or local I / Os 43A to 43N used locally, the bus drivers with enable 41A to 41N are closed and the common bus 9 is not affected.
When two or more access requests overlap at the same time in each of the processors 1A to 1N, the access arbitration device 3 selects one of the access requests according to the determined rule, and returns an access permission signal corresponding thereto. Thus, a plurality of processors do not use the common bus 9 and the shared memory 2 at the same time.

「マイクロプロセッサ技術:昭和54年5月10日初版発行、編集兼発行者・電気学会、発売元・オーム社」の「4.3マルチプロセッサシステム/4.3.3具体例/(7)プロセス制御システム」"4.3 Multiprocessor System / 4.3.3 Specific Example / (7) Process" of "Microprocessor Technology: Published May 10, 1979, First Edition, Editor and Publisher, The Institute of Electrical Engineers, Publisher, Ohmsha" Control system "

しかし、従来のマルチプロセッサシステムにおいて、共有メモリ2は、各プロセッサ1A〜1Nの半導体チップ外部に設置されるので、演算プロセッサ11A〜11Nの動作クロックの高速化と共に、同じ半導体チップ上にある内蔵メモリ12A〜12Nに対する読込み・書込み動作に要する時間に対して、外部バスIF13A〜13Nから共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が相対的に長くかかるようになってきた。   However, in the conventional multiprocessor system, since the shared memory 2 is installed outside the semiconductor chip of each of the processors 1A to 1N, the operation clock of the arithmetic processors 11A to 11N is increased, and the built-in memory on the same semiconductor chip is used. The time required for the read / write operation from the external bus IFs 13A to 13N to the outside of the semiconductor chip such as the shared memory 2 via the common bus 9 is relatively longer than the time required for the read / write operation to 12A to 12N. It has become.

これに加え、外部バスIF13A〜13Nにはローカルバス4A〜4Nを介してローカルメモリ42A〜42N及びローカルI/O43A〜43Nが接続されているので、ローカルメモリ42A〜42N又はローカルI/O43A〜43Nにもアクセスする場合、共通バス9を介した共有メモリ2へのアクセスと時分割で行われることになる。この場合、共通バス9を介した共有メモリ2等の半導体チップ外部に対する読込み・書込み動作に要する時間が更に長く掛かってしまう。   In addition, since the local memories 42A to 42N and the local I / Os 43A to 43N are connected to the external bus IFs 13A to 13N via the local buses 4A to 4N, the local memories 42A to 42N or the local I / Os 43A to 43N are connected. Is also accessed in a time-sharing manner with access to the shared memory 2 via the common bus 9. In this case, the time required for the read / write operation to the outside of the semiconductor chip such as the shared memory 2 via the common bus 9 is further increased.

汎用的な演算プロセッサにおいては、特に読込み動作について、演算プロセッサ11A〜11Nに読込むデータが何時使用されるかはプログラム次第であって不明である。このため、読込みデータが演算プロセッサ11A〜11Nの内部レジスタに格納されるまで、プログラム処理が停止する。
これらの理由により、マルチプロセッサシステムにて必須となる共有メモリ2への読み書きが、プログラム処理効率を低下させるという問題がある。
本発明は、このような課題に鑑みてなされたものであり、共有メモリへの読書きに起因するプログラム処理効率の低下を防止することができるマルチプロセッサシステムを提供することを目的としている。
In a general-purpose arithmetic processor, it is unclear when the data read into the arithmetic processors 11A to 11N is used, particularly for the read operation, depending on the program. For this reason, the program processing is stopped until the read data is stored in the internal registers of the arithmetic processors 11A to 11N.
For these reasons, there is a problem that reading and writing to the shared memory 2 which is essential in the multiprocessor system lowers the program processing efficiency.
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 claim 2 of the present invention is the multiprocessor system according to claim 1, wherein the virtual shared memory has its own area where transmission data for its own processor is written by the arithmetic processor, and receives from another processor. Another area in which data is written is dedicated to each other processor.
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 claim 1 or 2, wherein the arithmetic processor configures one frame of the transmission data in each address area obtained by dividing the own area of the virtual shared memory. When writing each data, the writing is performed such that the writing interval to the same address area between frames is longer than the communication cycle time to other processors.

この構成によれば、例えば演算プロセッサによる自領域への書き込み間隔が通信周期時間より短い場合、時刻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.
N processors 1A to 1N are provided with common bus IFs 14A to 14N, which are interface circuits for accessing the buses, and a common bus 92 independent of the local bus is connected to these common buses IF 14A to 14N. The bus IF 14 is connected to the arithmetic processor 11, the built-in memory 122, and the external bus IF 13 through internal buses 17A to 17N.

また、内蔵メモリ122A〜122Nは、各々が半導体チップによって形成される各プロセッサ1A〜1Nの読書き可能なメモリ(シングルポートメモリ)であるが、この内部に、仮想共有メモリ121A〜121Nと称する記憶領域(単に、領域とも称す)を設けた。また、内蔵メモリ122A〜122Nがシングルポートメモリなので、仮想共有メモリ121A〜121Nへの読書きは、内部バス17A〜17Nからのみ行われる。
なお、必要な場合を除き各構成要素に付した符号のフィックス、例えばプロセッサ1A〜1Nを表すサフィックスA〜N等は省略し、プロセッサ1のように表記する。
The built-in memories 122A to 122N are readable / writable memories (single port memories) of the processors 1A to 1N, each of which is formed by a semiconductor chip. A region (also simply referred to as a region) was provided. Since the built-in memories 122A to 122N are single port memories, reading and writing to the virtual shared memories 121A to 121N are performed only from the internal buses 17A to 17N.
Except where necessary, the reference symbols attached to the constituent elements, for example, suffixes A to N representing the processors 1A to 1N are omitted, and are represented as the processor 1.

共通バス92は、図2(a)に示すようにN本のシリアル通信線921A〜921Nの束である。同図(b)にも示すように、シリアル通信線921Aはプロセッサ1Aのみがブロードキャスト送信出力で他のプロセッサが受信用、シリアル通信線921Bはプロセッサ1Bのみがブロードキャスト送信出力で他のプロセッサが受信用、以下同様に、シリアル通信線921Nはプロセッサ1Nのみがブロードキャスト送信出力で他のプロセッサが受信用として使用される。   The common bus 92 is a bundle of N serial communication lines 921A to 921N as shown in FIG. As shown in FIG. 6B, the serial communication line 921A is broadcast transmission output only by the processor 1A for reception by other processors, and the serial communication line 921B is only broadcast transmission output by the processor 1B for reception by other processors. Similarly, in the serial communication line 921N, only the processor 1N is a broadcast transmission output, and other processors are used for reception.

図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 number setting unit 141, a switching circuit 142 having N switches 142-1 to 142-N, a DMA (Direct Memory Access) processor 145, and a transmission controller 146. And N reception controllers 147-1 to 147 -N.
When a code for distinguishing the processors 1A to 1N is set in the processor number setting unit 141 by the arithmetic processor 11, the SW setting signal 143 corresponding to this setting is output to the switching circuit 142, and the SW setting signal 143 Each switch 142-1 to 142-N is switched to the corresponding switching state.

この図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 transmission controller 146 is connected to the serial communication line 921B via the switch 142-2, and the reception controllers 147-1 to 147-N are connected to the switches 142-1, 142-3 to 142-N. To the other serial signal lines 921A and 921C to 921N. That is, FIG. 3 shows the common bus IF 14B of the processor 1B.
The DMA processor 145 reads data from a specified area according to a preset rule, stores it in the transmission controller 146, reads out received data from the reception controllers 147-1 to 147-N, and is specified according to a preset rule. Write to the specified area.

なお、本説明では、説明を簡単とするために、送信コントローラ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 transmission controller 146 is provided. However, when there are a plurality of transmission controllers 146, a plurality of serial communication lines 921 used by one processor for transmission output are provided. It may be.
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 processors 1A to 1N as shown in FIG. It has been. The processor 1A is assigned to the area A, the processor 1B is assigned to the area B, and so on.

図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 memory 121B representing each of the virtual shared memories 121A to 121N, in the own area B, the arithmetic processor 11B of the own processor 1B writes the data, and the written data is This is a storage area used for the DMA processor 145 of the own common bus IF 14B to read via the internal bus 17B and transmit this to the other processors 1A, 1C to 1N by the transmission controller 146. The area B is designated by offset addresses 00 to xx that are addresses from the beginning to the end of the storage area, and transmission data is written and stored in the area of the designated address.

例えば演算プロセッサ11Bは、仮想共有メモリ121Bの自領域Bの各オフセットアドレス00〜xxの領域に図5(a)に示す通信フレーム信号100を形成するための各送信データを書き込む。この際、1つの通信フレーム信号100は、各オフセットアドレス00〜xxの領域に格納されたデータ(図にはオフセットアドレス00〜xxのデータと記載)を備えて成る。   For example, the arithmetic processor 11B writes each transmission data for forming the communication frame signal 100 shown in FIG. 5A in the area of each offset address 00 to xx of the own area B of the virtual shared memory 121B. At this time, one communication frame signal 100 includes data stored in the areas of the offset addresses 00 to xx (denoted as data of offset addresses 00 to xx in the figure).

各データを仮想共有メモリ121の自領域における各オフセットアドレス00〜xxの領域に書き込む場合、同一オフセットアドレス(例えば00)の領域への図5(b)に示す時刻t1とt2とのデータ書き込み間隔(t1−t2と表現)が通信周期時間TPRDより長くなければならない。但し、その書き込み間隔t1−t2は一定ではないので、最短の書き込み間隔が通信周期時間TPRDより長くなければならないとする。 When writing each data in the area of each offset address 00 to xx in its own area of the virtual shared memory 121, the data writing interval between the times t1 and t2 shown in FIG. 5B to the area of the same offset address (for example, 00) (Expressed as t1-t2) must be longer than the communication cycle time T PRD . However, since the writing interval t1-t2 is not constant, it is assumed that the shortest writing interval must be longer than the communication cycle time T PRD .

ここで、時刻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 address 00 at time t1, data in the same communication cycle time T PRD at the next time t2 Since the writing of D2 is performed on the area of the same offset address 00, the data D1 is overwritten with D2. In this case, data D1 that should originally be transmitted cannot be transmitted.

なお、仮想共有メモリ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 memory 121B. In this case, indefinite data such as XX is inserted in the corresponding portion of the communication frame signal 100. It has become.
In the other areas A and C to N of the virtual shared memory 121B, the reception controllers 147-1 to 147-N of the own processor 1B receive the data broadcast from the other processors 1A and 1C to 1N. This received data is a storage area for the own DMA processor 145 to read out via the internal bus 17B and write it to the designated area of the own virtual shared memory 121.

更に、全ての領域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 arithmetic processor 11B of the processor 1B can be read.
In such a configuration, for example, if the communication frame signal 100 is broadcasted from the virtual shared memory 121A of the processor 1A, the local area data of the virtual shared memory 121A is transmitted through the communication via the serial communication line 921A of the common bus 92. It is copied to the area for the processor 1A in the virtual shared memories 121B to 121N of the processors 1B to 1N.

図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 address 00 to xx in the own area of the virtual shared memory 121 of the own processor 11 (this interval is not constant, the shortest interval) is longer than the communication cycle time T PRD . The data to be transmitted to the other arithmetic processor 11 with the communication frame signal 100 can be transmitted after properly written in the areas of the respective offset addresses 00 to xx.

また、この送信とは独立に、自プロセッサ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 processor 145 reads and writes to a designated area other than the own area of the own virtual shared memory 121.
Therefore, the arithmetic processor 11 of each processor 1 does not need to provide the shared memory 2 outside the semiconductor chip as in the prior art shown in FIG. 12 and directly access it in order to share and exchange data. What is necessary is just to write / read to a certain virtual shared memory 121. 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の実施の形態に基づく具体的な実施例を説明する。
(第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 common bus IFs 14A to 14N, which is this feature, will be described as a representative of the common bus IF 14A of the processor 1A.

図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 code 1A indicating the processor 1A is set in the processor number setting unit 141A, the switch of the switching circuit 142 is switched by the SW setting signal 143 corresponding thereto, and the transmission controller 146 is indicated by the broken line as shown by the broken line 92. Connected to the serial communication line 921A, the reception controller 147-2 is connected to the serial communication line 921B as indicated by a broken line, the reception controller 147-3 is connected to the serial communication line 921C, and similarly, the reception controller 147- A switching operation for connecting N to the serial communication line 921N is performed.

これによって、共通バス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 processor 1A is as shown in the table of FIG.
In this state, the DMA processor 145 of the common bus IF 14A reads data from its own area A of the virtual shared memory 121A and writes it to the transmission controller 146, and the transmission controller 146 performs broadcast transmission to the serial communication line 921A.
The DMA processor 145 also writes the reception data of the reception controller 147-2 to the area B of the virtual shared memory 121A, writes the reception data of the reception controller 147-3 to the area C of the virtual shared memory 121A, and so on. The reception data of the reception controller 147-N is written into the area N of the virtual shared memory 121A.

また、同DMAプロセッサ145は、送信コントローラ146に対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の送信データとして自領域Aのオフセットアドレス00のデータ、第2の送信データとして自領域Aのオフセットアドレス01のデータ、以下同様に+1ずつインクリメントして最後に、第xの送信データとして自領域Aのオフセットアドレスxxのデータを送信するための動作を行う。   In addition, the DMA processor 145 operates as its own region A as the first transmission data of the communication frame signal 100 as shown in FIG. 4B and FIG. Offset address 00 data, second transmission data as the offset address 01 data of the own area A, and similarly incremented by +1, and finally the data of the offset address xx of the own area A as the xth transmission data. Perform the action to send.

また、同DMAプロセッサ145は、受信コントローラ147−2に対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の受信データを領域Bのオフセットアドレス00へ格納、第2の受信データを領域Bのオフセットアドレス01へ格納、以下同様に+1ずつインクリメントして最後に、第xの受信データを領域Bのオフセットアドレスxxへ格納する動作を行う。   Further, the DMA processor 145 sets the first received data of the communication frame signal 100 as a region as shown in FIG. 4B and FIG. 5 as an operation of a rule preset for the reception controller 147-2. Store to offset address 00 of B, store second received data to offset address 01 of area B, and similarly increment +1 and finally store xth received data to offset address xx of area B I do.

これは、受信コントローラ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 processors 1A to 1N perform simultaneous and parallel communication via the serial communication lines 921A to 921N of the common bus 92 as shown in FIG. Since data can be written to the local area A of the memory 121 and data can be read from the areas B to N for other processors, data can be shared and exchanged with the other processors 1B to 1N. it can.

(第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 number setting unit 149, a DMA processor 145, and transmission / reception controllers 148-1 to 148-N. Has been. That is, the transmission / reception controllers 148-1 to 148-N are used instead of the transmission controller 146 and the reception controllers 147-1 to 147-N in FIG.

プロセッサ番号設定部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 number setting unit 149 is set with a code for distinguishing the processors 1A to 1N by the arithmetic processor 11, and sets the transmission or reception mode to the transmission / reception controllers 148-1 to 148-N according to the setting code. An operation mode setting signal 144 is output.
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 serial communication line 921B, and the transmission / reception controller 148-N is similarly connected to the serial communication line 921N.

このような実施例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 processor 1A will be described as a representative.
If, for example, a code indicating the processor 1A is set in the processor number setting unit 149, the transmission / reception controller 148-1 is set in the transmission mode by the operation mode setting signal 144 corresponding thereto, and the other transmission / reception controllers 148-2˜ 148-N is set to the reception mode. In this case, the transmission / reception relationship between the common bus 92 and the processor 1A is as shown in the table of FIG.

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 DMA processor 145 reads data from its own area A of the virtual shared memory 121A and writes it to the transmission / reception controller 148-1. The transmission / reception controller 148-1 performs broadcast transmission to the serial communication line 921A.
The DMA processor 145 also writes the received data of the transmission / reception controller 148-2 to the area B for the processor 1 B in addition to the virtual shared memory 121, and writes the received data of the transmission / reception controller 148-3 in the virtual shared memory 121. Write to the area C for the other processor 1C, and similarly write the received data of the transmission / reception controller 148-N to the area N for the other processor 1N of the virtual shared memory 121.

また、同DMAプロセッサ145は、送信/受信コントローラ148−1〜148−Nに対して予め設定された規則の動作として、図4(b)及び図5に示すように、通信フレーム信号100の第1の受信データを領域Bのオフセットアドレス00へ格納、第2の受信データを領域Bのオフセットアドレス01へ格納、以下同様に+1ずつインクリメントして最後に、第xの受信データを領域Bのオフセットアドレスxxへ格納する動作を行う。   In addition, the DMA processor 145 operates as a rule operation preset for the transmission / reception controllers 148-1 to 148-N, as shown in FIG. 4B and FIG. 1 received data is stored in the offset address 00 of the area B, the second received data is stored in the offset address 01 of the area B, and similarly, incremented by +1 and finally the xth received data is offset in the area B. The operation of storing in the address xx is performed.

但し、上記のように通信フレーム信号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 processors 1A to 1N perform simultaneous and parallel communication via the serial communication lines 921A to 921N of the common bus 92 as shown in FIG. Since data can be written to the local area A of the memory 121 and data can be read from the areas B to N for other processors, data can be shared and exchanged with the other processors 1B to 1N. it can.

(第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 memories 22A to 22N are provided on the semiconductor chips of the processors 1A to 1N, one port of the virtual shared memories 22A to 22N is connected to the internal buses 17A to 17N, and the other port Are connected to the common buses IF15A to 15N via the internal buses 18A to 18N. The built-in memories 122A to 122N are configured not to include the virtual shared memories 121A to 121N as shown in FIG.

仮想共有メモリ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 number setting unit 151, a switching circuit 152 having N switches 152-1 to 152-N, a DMA (Direct Memory Access) processor 155, and a transmission controller 156. And N reception controllers 157-1 to 157-N.
The processor number setting unit 151 is connected to the internal bus 17. When a code for distinguishing the processors 1A to 1N by the arithmetic processor 11 via the internal bus 17 is set, the SW setting signal 153 corresponding to this setting is set. Is output to the switching circuit 152. In the switching circuit 152, the switches 152-1 to 152-N are switched to a switching state according to the SW setting signal 153.

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 DMA processor 145 of FIG. 1, the DMA processor 155 includes two ports, one connected to the internal bus 17 and the other via the internal bus 18 to the transmission controller 156 and the reception controllers 157-1 to 157-N. It is connected to the. These connections are different from those in FIG.
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 address 00 to xx with respect to the data order of the communication frame signal 100 of the processor number setting unit 151 and the DMA processor 155 when the arithmetic processor 11 sets the internal bus. 17 through. However, the communication data read / write operation between the transmission controller 156 and the reception controllers 157-1 to 157-N and the virtual shared memory 22 by the DMA processor 155 is performed via the internal bus 18.

これによって、例えばプロセッサ1Bが、共通バス92のシリアル通信線921A〜921Nを介して図5(b)の通信フレーム信号100の時間的配置に示すように同時並列に通信を行うことで、自プロセッサ1B内の仮想共有メモリ22の自領域Bへのデータ書込みと他領域A,C〜Nからのデータ読出しによって、他のプロセッサ1A,C〜Nとデータの共有・交換を行うことができる。   As a result, for example, the processor 1B performs simultaneous and parallel communication via the serial communication lines 921A to 921N of the common bus 92 as shown in the temporal arrangement of the communication frame signal 100 in FIG. Data can be shared and exchanged with the other processors 1A, C to N by writing data to the own area B of the virtual shared memory 22 in 1B and reading data from the other areas A and C to N.

よって、各プロセッサ1の演算プロセッサ11はデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリ22への書込み・読出しを行えば良い。これによって、共有メモリ2への読書きに起因するプログラム処理効率の低下を防止することができる。   Therefore, the arithmetic processor 11 of each processor 1 does not need to provide the shared memory 2 outside the semiconductor chip as in the prior art and directly access it in order to share and exchange data, but the virtual shared memory 22 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.

(第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 memory groups 23A to 23N are provided instead of the virtual shared memories 22A to 22N. The common bus IFs 16A to 16N are connected to the virtual shared memory group units 23A to 23N via the internal bus groups 19A to 19N.
FIG. 10 shows the configuration of the common bus IF 16 and the virtual shared memory group unit 23.

共通バス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 number setting unit 161 connected to the internal bus 17 and transmission / reception controllers 169-1 to 169-N. When a code for distinguishing the processors 1A to 1N by the arithmetic processor 11 via the internal bus 17 is set, the processor number setting unit 161 transmits the SW setting signal 164 corresponding thereto to the transmission / reception controller 169-1. To 169-N.
As shown in FIG. 11, each of the transmission / reception controllers 169-1 to 169-N includes a DMA processor 1691 and a transmission / reception serial / parallel conversion unit 1692.

仮想共有メモリグループ部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 memory group units 23A to 23N include area A memory 231-1 to area N memory 231-N, which are dual port memories corresponding to the processors 1A to 1N, and one of the area A memories 231-1. Of the area B memory 231-2 is connected to the transmission / reception controller 169-2, and one port of the area C memory 231-3 is connected to the transmission / reception controller 169. -3,..., One port of the area N memory 231 -N is connected to the transmission / reception controller 169 -N, and the other port of each of the memories 231-1 to 231 N is connected to the internal bus 17.

上記第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 DMA processor 1691 exchanges communication data between the transmission / reception controllers 169-1 to 169-N and the areas A to N memories 231-1 to 231-N via the internal bus 19. Do it. The communication data read / written to / from the areas A to N memories 231-1 to 231-N under the control of each DMA processor 1691 is changed from parallel data to serial data at the time of transmission to the common bus 92 by the transmission / reception serial / parallel conversion unit 1692. The data is converted and converted from serial data to parallel data when received from the common bus 92.

このような構成において、共通バス92のシリアル通信線921A〜921Nは、図5(b)の通信フレーム信号100の時間的配置に示すように同時並列に通信を行うことで、自プロセッサ内の仮想共有メモリグループ部23A〜23Nの自領域へのデータ書込みと他領域からのデータ読出しで、他のプロセッサとデータの共有・交換を行うことができる。
よって、各プロセッサ1の演算プロセッサ11はデータの共有・交換を行うために、従来技術のような半導体チップ外部に共有メモリ2を設け直接アクセスする必要はなく、同じ半導体チップ上にある仮想共有メモリグループ部23A〜23Nへの書込み・読出しを行えば良い。
In such a configuration, the serial communication lines 921A to 921N of the common bus 92 communicate with each other in parallel as shown in the temporal arrangement of the communication frame signal 100 in FIG. Data can be shared and exchanged with other processors by writing data to the local areas of the shared memory group units 23A to 23N and reading data from other areas.
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 memory 2 outside the semiconductor chip and directly access it as in the prior art. What is necessary is just to write / read to the units 23A to 23N.

以上の実施の形態の効果を総括すると、一般的に、同半導体チップ上にある内蔵メモリ対する読込み・書込み動作に要する時間は、外部バスを介して外部の半導体チップ(共有メモリ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 memory 2.

本発明の第1の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。1 is a block diagram showing a configuration of a multiprocessor system according to a first embodiment of the present invention. (a)は本実施の形態に係るマルチプロセッサシステムの各プロセッサ接続用の共通バスの構成、(b)は共通バスを構成する各シリアル通信線上の送受信タイミングを示す図である。(A) is a configuration of a common bus for connecting each processor of the multiprocessor system according to the present embodiment, and (b) is a diagram showing transmission / reception timing on each serial communication line constituting the common bus. 第1の実施の形態に係るマルチプロセッサシステムにおける共通バスIFの構成を示すブロック図である。2 is a block diagram showing a configuration of a common bus IF in the multiprocessor system according to the first embodiment. FIG. (a)本実施の形態に係るマルチプロセッサシステムの仮想共有メモリの記憶領域の割付け図、(b)は仮想共有メモリの各記憶領域へのデータの読書き動作の説明図である。(A) Allocation diagram of storage area of virtual shared memory of multiprocessor system according to this embodiment, (b) is an explanatory diagram of a data read / write operation to each storage area of the virtual shared memory. (a)は本実施の形態に係るマルチプロセッサシステムの共通バスに送信される通信フレーム信号のフレーム構成、(b)は共通バスを構成する各シリアル通信線上の通信フレーム信号の時間的配置を示す図である。(A) is a frame configuration of a communication frame signal transmitted to the common bus of the multiprocessor system according to this embodiment, and (b) is a temporal arrangement of communication frame signals on each serial communication line constituting the common bus. FIG. 第1の実施の形態に係る実施例2のマルチプロセッサシステムにおける共通バスIFの構成を示す図である。It is a figure which shows the structure of common bus IF in the multiprocessor system of Example 2 which concerns on 1st Embodiment. 本発明の第2の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the multiprocessor system which concerns on the 2nd Embodiment of this invention. 第2の実施の形態に係るマルチプロセッサシステムにおける共通バスIFの構成を示すブロック図である。It is a block diagram which shows the structure of common bus IF in the multiprocessor system which concerns on 2nd Embodiment. 本発明の第3の実施の形態に係るマルチプロセッサシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the multiprocessor system which concerns on the 3rd Embodiment of this invention. 第3の実施の形態に係るマルチプロセッサシステムにおける共通バスIFの構成を示すブロック図である。It is a block diagram which shows the structure of common bus IF in the multiprocessor system which concerns on 3rd Embodiment. 第3の実施の形態に係るマルチプロセッサシステムにおける共通バスIFの送信/受信コントローラの構成を示すブロック図である。It is a block diagram which shows the structure of the transmission / reception controller of the common bus IF in the multiprocessor system which concerns on 3rd Embodiment. 従来のマルチプロセッサシステムの構成を示すブロック図である。It is a block diagram which shows the structure of the conventional multiprocessor system.

符号の説明Explanation of symbols

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 1N Processor 2 Shared memory 4A to 4N Local bus 12A to 12N, 122A to 122N Internal memory 13A to 13N External bus IF
145, 155, 1691 DMA processor 14A-14N, 15A-15N, 16A-16N Common bus IF
16A to 16N, 121A to 121N Virtual shared memory 17A to 17N, 18A to 18N, 19A to 19N Internal bus 23A to 23N Virtual shared memory group part 231-1 to 231-N Area A to N memory 42A to 42N Local memory 43A ~ 43N Local I / O
92 Common Bus 142, 152 Switching Circuit 142-1 to 142-N, 152-1 to 152-N Switch 146, 156 Transmission Controller 147-1 to 147-N, 157-1 to 157-N Reception Controller 148-1 148-N, 169-1 to 169-N transmission / reception controller 921A to 921N serial communication line 1692 transmission / reception serial-parallel converter

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フレームを構成する各データを書込む場合、フレーム間に渡る同一アドレス領域への書込み間隔が、他プロセッサへの通信周期時間より長くなるようにして書込みを行う
ことを特徴とする請求項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の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設置コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリに書込まれた送信データを読出して前記送信手段へ入力し、前記受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサと
を備えたことを特徴とする請求項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
前記共通バスインタフェースは、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段と、前記仮想共有メモリに書込まれた送信データを読出して前記送受信手段へ入力し、前記送受信手段での受信データを前記仮想共有メモリに書込むDMAプロセッサと
を備えたことを特徴とする請求項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.
前記共通バスインタフェースは、前記演算プロセッサにより各プロセッサを区別するコードが設定される第1の設定手段と、他プロセッサへデータをシリアルに送信する送信手段と、他プロセッサから前記共通バスを介して送信されてきたデータを受信し、他プロセッサ毎に対応して設けられた受信手段と、前記第1の設定手段の設置コードに応じて前記送信手段及び前記受信手段を前記共通バスのシリアル通信線に接続する切替回路と、前記仮想共有メモリの第1及び第2のポートに各々独立に接続された内部バスと、DMAプロセッサとを備え、
前記第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.
前記仮想共有メモリを前記共通バスで接続されたプロセッサの数だけ備え、前記共通バスインタフェースを、送信モード設定時に他プロセッサへデータをシリアルに送信し、受信モード設定時に他プロセッサから前記共通バスを介して送信されてきたデータを受信し、プロセッサ毎に対応して設けられた送受信手段と、前記演算プロセッサにより各プロセッサを区別するコードが設定され、この設定コードに対応する前記送受信手段へ前記送信モード又は受信モードの設定を指示する信号を出力する第2の設定手段とを備えて構成し、前記仮想共有メモリの各々を前記送受信手段に1対1で内部バスで接続した
ことを特徴とする請求項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.
JP2006071501A 2006-03-15 2006-03-15 Multiprocessor system Active JP4765003B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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&#39;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