JP2018128845A - Processor system - Google Patents
Processor system Download PDFInfo
- Publication number
- JP2018128845A JP2018128845A JP2017021302A JP2017021302A JP2018128845A JP 2018128845 A JP2018128845 A JP 2018128845A JP 2017021302 A JP2017021302 A JP 2017021302A JP 2017021302 A JP2017021302 A JP 2017021302A JP 2018128845 A JP2018128845 A JP 2018128845A
- Authority
- JP
- Japan
- Prior art keywords
- dual port
- data
- port memory
- processor
- dedicated
- 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
Images
Landscapes
- Multi Processors (AREA)
Abstract
Description
本発明は、マルチプロセッサシステムに関する。 The present invention relates to a multiprocessor system.
例えばディジタルリレー等の産業用機器のマルチプロセッサシステムにおいて、図8に示すように、第1CPU(Central Processing Unit:プロセッサ)10と、第2CPU30と、第1CPU10及び第2CPU30の間を接続する双方向のポートを有するデュアルポートメモリ50をとを備え、第1CPU10及び第2CPU30がデュアルポートメモリ50を介して一対一でデータ交換を行う方式が知られている(特許文献1参照)。
For example, in a multiprocessor system for industrial equipment such as a digital relay, as shown in FIG. 8, a first CPU (Central Processing Unit: processor) 10, a
その他、図9に示すように、全体制御を行う第1CPU10を搭載する第1ボード100と、各要素機能の個別制御をそれぞれ行う複数の第2CPU20_1〜20_nをそれぞれ搭載する複数の第2ボード200_1〜200_nと、第1ボード100及び複数の第2ボード200_1〜200_nをそれぞれ装着するバックボード6Pとを備えるシステムにおいて、バックボード6Pのバックボードバス60Pを介して、第1CPU10と複数の第2CPU20_1〜20_nとの間でデータ交換を行う方式が知られている。このような方式では、例えば、第1CPU10及び複数の第2CPU20_1〜20_nは、第2CPU20_1〜20_nにそれぞれ対応する第2ボード200_1〜200_nにぞれぞれ設けられたデュアルポートメモリを介して、相互間でデータ交換を行う。
In addition, as shown in FIG. 9, a plurality of second boards 200_1 to 200 each mounting a
図9に示すようなシステムにおいて、例えば第1CPU10から全ての第2CPU20_1〜20_nに対して同一の指令データを通知する場合、第1CPU10が、バックボードバス60Pを介して、第2CPU20_1〜20_nにそれぞれ対応するデュアルポートメモリのそれぞれに対して同一の指令データを個別に書き込む必要があった。また、例えば第2CPU20_1のデータを第2CPU20_nが使用する場合、第1CPU10が、第2ボード200_1のデュアルポートメモリから第2CPU20_1のデータを読み出し、第1CPU10が、第2ボード200_nのデュアルポートメモリに読み出したデータを書き込む必要があった。このように、一対複数でデータ交換を行うマルチプロセッサシステムにおいて、第1CPU10の処理負荷が大きいという問題がある。
In the system as shown in FIG. 9, for example, when the same command data is notified from the
本発明は、上記問題点を鑑み、第1プロセッサ及び複数の第2プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供することを目的とする。 In view of the above problems, the present invention provides a multi-processor capable of reducing the processing load on the first processor when data is exchanged between each of the first processor and the plurality of second processors via the dual port memory. An object is to provide a processor system.
上記目的を達成するために、本発明の一態様に係るマルチプロセッサシステムは、第1プロセッサを搭載する第1ボードと、第2プロセッサをそれぞれ搭載する複数の第2ボードと、第1ボード及び複数の第2ボードを装着することにより第1ボード及び複数の第2ボードの各相互間を接続するバックボードとを備えることを要旨とし、第1ボードは、第1プロセッサとバックボードとの間に接続される第1デュアルポートメモリと、第1デュアルポートメモリのバックボード側に接続され、第1デュアルポートメモリのバックボード側のアクセスを制御する第1バスコントローラとを有し、複数の第2ボードのそれぞれは、対応する第2プロセッサとバックボードとの間に接続される第2デュアルポートメモリと、対応する第2デュアルポートメモリのバックボード側に接続され、対応する第2デュアルポートメモリのバックボード側のアクセスを制御する第2バスコントローラとを有し、第1バスコントローラ及び複数の第2バスコントローラの各相互間は、バックボードにより接続されることを特徴とする。 In order to achieve the above object, a multiprocessor system according to an aspect of the present invention includes a first board on which a first processor is mounted, a plurality of second boards each having a second processor, a first board, and a plurality of boards. The second board is provided with a backboard for connecting the first board and each of the plurality of second boards, and the first board is provided between the first processor and the backboard. A first dual-port memory to be connected; a first bus controller connected to the backboard side of the first dual-port memory and controlling access on the backboard side of the first dual-port memory; Each of the boards includes a second dual port memory connected between the corresponding second processor and the backboard, and a corresponding second dual port. A second bus controller connected to the backboard side of the second memory and controlling the access on the backboard side of the corresponding second dual-port memory, and between the first bus controller and the plurality of second bus controllers And connected by a backboard.
本発明によれば、第1プロセッサ及び複数の第2プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供できる。 According to the present invention, there is provided a multiprocessor system capable of reducing the processing load on the first processor when data is exchanged between each of the first processor and the plurality of second processors via the dual port memory. it can.
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において、同一又は類似の部分には同一又は類似の符号を付し、重複する説明を省略する。但し、以下に示す実施形態は、本発明の技術的思想を具体化するためのシステムや装置を例示するものであって、本発明の技術的思想は、下記の実施形態に例示したシステムや装置に特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることができる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the description of the drawings, the same or similar parts are denoted by the same or similar reference numerals, and redundant description is omitted. However, the embodiment described below exemplifies a system or apparatus for embodying the technical idea of the present invention, and the technical idea of the present invention is a system or apparatus exemplified in the following embodiment. It is not something specific. The technical idea of the present invention can be variously modified within the technical scope described in the claims.
(マルチプロセッサシステム)
本発明の実施形態に係るマルチプロセッサシステムは、図1に示すように、第1CPU11、第1デュアルポートメモリ51及び第1バスコントローラ31を搭載する第1ボード1と、第2CPU12_1,12_2,……,12_n、第2デュアルポートメモリ52_1,52_2,……,52_n及び第2バスコントローラ32_1,32_2,……,32_nをそれぞれ搭載する複数の第2ボード2_1,2_2,……,2_n(n:2以上の整数)と、第1ボード1及び複数の第2ボード2_1〜2_nを装着することにより第1ボード1及び複数の第2ボード2_1〜2_nの各相互間を接続するバックボードバス60を有するバックボード6とを備える。
(Multiprocessor system)
As shown in FIG. 1, a multiprocessor system according to an embodiment of the present invention includes a
第1CPU11は、複数の第2ボード2_1〜2_nのそれぞれを制御することにより、本発明の実施形態に係るマルチプロセッサシステムの全体制御を行うプロセッサである。第1デュアルポートメモリ51は、第1CPU11とバックボード6との間に接続される。第1デュアルポートメモリ51の一方側のポートは、第1CPU11に接続され、他方側のポートは、バックボード6に接続される。第1バスコントローラ31は、第1デュアルポートメモリ51のバックボード6側のポートに接続され、第1デュアルポートメモリ51のバックボード側のアクセスを制御する。
The
第2CPU12_1〜12_nのそれぞれは、例えば、産業用機器の制御を行うマルチプロセッサシステムにおいて産業用機器の各要素を個別に制御するプロセッサである。第2デュアルポートメモリ52_1〜52_nのそれぞれは、第2CPU12_1〜12_nとバックボード6との各間に接続される。第2デュアルポートメモリ52_1〜52_nのそれぞれ一方側のポートは、第2CPU12_1〜12_nに接続され、それぞれ他方側のポートは、バックボード6に接続される。第2バスコントローラ32_1〜32_nのそれぞれは、第2デュアルポートメモリ52_1〜52_nのそれぞれバックボード6側のポートに接続され、第2デュアルポートメモリ52_1〜52_nのそれぞれバックボード側のアクセスを制御する。 Each of the second CPUs 12_1 to 12_n is, for example, a processor that individually controls each element of the industrial device in a multiprocessor system that controls the industrial device. Each of the second dual port memories 52_1 to 52_n is connected between the second CPUs 12_1 to 12_n and the backboard 6. Ports on one side of the second dual port memories 52_1 to 52_n are connected to the second CPUs 12_1 to 12_n, and ports on the other side are connected to the backboard 6, respectively. Each of the second bus controllers 32_1 to 32_n is connected to a port on the backboard 6 side of each of the second dual port memories 52_1 to 52_n, and controls access on the backboard side of each of the second dual port memories 52_1 to 52_n.
第1バスコントローラ31及び第2バスコントローラ32_1〜32_nの各相互間は、第1ボード1及び複数の第2ボード2_1〜2_nがバックボードバス60にそれぞれ装着されることにより、バックボード6のバックボードバス60を介して接続される。
Between each of the
以下、図2に示すブロック図を用いて、第1ボード1と、複数の第2ボード2_1〜2_nの何れかである第2ボード2_i(iは1〜nの整数)と、第1ボード1及び第2ボード2_iを装着するバックボード6との詳細について説明する。
Hereinafter, with reference to the block diagram shown in FIG. 2, the
図2に示すように、第1バスコントローラ31は、第1CPU11を識別する番号を第1ボード1に対して設定する第1CPU番号設定部311と、第1デュアルポートメモリ51のバックボード6側のアクセスを制御する第1アクセスコントローラ312とを有する。第1CPU11を識別する番号は、例えば、ジャンパスイッチ等によるマニュアル設定や他のストレージデバイスにパラメータとして記憶される設定値を初期化処理として設定されることにより決定され、第1アクセスコントローラ312により保持される。
As shown in FIG. 2, the
同様に、複数の第2バスコントローラ32_1〜32_nの何れかである第2バスコントローラ32_i(iは1〜nの整数)は、対応する(同一の第2ボード2_iに搭載される)第2CPU12_iを識別する番号を第2ボード2_iに対して設定する第2CPU番号設定部321_iと、第2デュアルポートメモリ52_iのバックボード6側のアクセスを制御する第2アクセスコントローラ322_iとを有する。第2CPU12_iを識別する番号は、例えば、ジャンパスイッチ等によるマニュアル設定や他のストレージデバイスにパラメータとして記憶される設定値を初期化処理として設定されることにより決定され、対応する第2アクセスコントローラ322_iにより保持される。 Similarly, the second bus controller 32_i (i is an integer of 1 to n), which is one of the plurality of second bus controllers 32_1 to 32_n, corresponds to the second CPU 12_i (mounted on the same second board 2_i). A second CPU number setting unit 321_i that sets an identification number for the second board 2_i and a second access controller 322_i that controls access on the backboard 6 side of the second dual-port memory 52_i. The number for identifying the second CPU 12_i is determined by, for example, manual setting using a jumper switch or the like, or setting values stored as parameters in other storage devices as initialization processing, and is determined by the corresponding second access controller 322_i. Retained.
第1デュアルポートメモリ51は、第1CPU11に接続される第1入出力ポート(第1プロセッサ側ポート)511と、第1バスコントローラ31及びバックボードバス60に接続される第2入出力ポート(第1バックボード側ポート)512と、データを記憶する記憶部513とを備える。
The first
同様に、第2デュアルポートメモリ52_iは、第2CPU12_iに接続される第1入出力ポート(第2プロセッサ側ポート)521_iと、第2バスコントローラ32_i及びバックボードバス60に接続される第2入出力ポート(第2バックボード側ポート)522_iと、データを記憶する記憶部523_iとを備える。
Similarly, the second dual port memory 52_i includes a first input / output port (second processor side port) 521_i connected to the second CPU 12_i, and a second input / output connected to the second bus controller 32_i and the
第1デュアルポートメモリ51の第1入出力ポート511と第1CPU11との間は、チップセレクト信号L_CS1用のチップセレクト信号線L1と、データ読出信号L_RD1用のデータ読出信号線L2と、データ書込信号L_WR1用のデータ書込信号線L3とにより接続される。その他、第1CPU11と第1入出力ポート511との間は、アドレス信号L_Addr1用のアドレスバスB1と、データ信号L_Data1用のデータバスB2とにより接続される。
Between the first input /
同様に、第2デュアルポートメモリ52_iの第1入出力ポート521_iと第2CPU12_iとの間には、チップセレクト信号L_CS2i用のチップセレクト信号線L1iと、データ読出信号L_RD2i用のデータ読出信号線L2iと、データ書込信号L_WR2i用のデータ書込信号線L3iが設けられる。その他、第2CPU12_iと第1入出力ポート521_iとの間は、アドレス信号L_Addr2i用のアドレスバスB1iと、データ信号L_Data2i用のデータバスB2iとにより接続される。 Similarly, a chip select signal line L1i for a chip select signal L_CS2i and a data read signal line L2i for a data read signal L_RD2i are provided between the first input / output port 521_i and the second CPU 12_i of the second dual port memory 52_i. A data write signal line L3i for data write signal L_WR2i is provided. In addition, the second CPU 12_i and the first input / output port 521_i are connected by an address bus B1i for the address signal L_Addr2i and a data bus B2i for the data signal L_Data2i.
第1デュアルポートメモリ51の第2入出力ポート512と第1アクセスコントローラ312との間は、チップセレクト信号R_CS1用のチップセレクト信号線L4と、データ読出信号R_RD1用のデータ読出信号線L5と、データ書込信号R_WR1用のデータ書込信号線L6とにより接続される。その他、第2入出力ポート512と第1アクセスコントローラ312との間は、アドレス信号R_Addr1用のアドレスバスB3と、データ信号R_Data1用のデータバスB4とにより接続される。
Between the second input /
同様に、第2デュアルポートメモリ52_iの第2入出力ポート522_iと第2アクセスコントローラ322_iとの間は、チップセレクト信号R_CS2i用のチップセレクト信号線L4iと、データ読出信号R_RD2i用のデータ読出信号線L5iと、データ書込信号R_WR2i用のデータ書込信号線L6iとにより接続される。その他、第2入出力ポート522_iと第2アクセスコントローラ322_iとの間は、アドレス信号R_Addr1用のアドレスバスB3iと、データ信号R_Data2i用のデータバスB4iとにより接続される。 Similarly, a chip select signal line L4i for the chip select signal R_CS2i and a data read signal line for the data read signal R_RD2i are between the second input / output port 522_i and the second access controller 322_i of the second dual port memory 52_i. L5i is connected to data write signal line L6i for data write signal R_WR2i. In addition, the second input / output port 522_i and the second access controller 322_i are connected by an address bus B3i for the address signal R_Addr1 and a data bus B4i for the data signal R_Data2i.
バックボードバス60は、アクセス制御信号OPREQ用の制御信号バス61と、アドレス信号R_Addr1用のバックボードアドレスバス62と、データ信号R_Data1/2i用のバックボードデータバス63とを備える。制御信号バス61は、アクセス制御信号OPREQ用の制御信号線L7により第1アクセスコントローラ312に接続し、アクセス制御信号OPREQ用の制御信号線L7iにより第2アクセスコントローラ322_iに接続する。バックボードアドレスバス62は、アドレスバスB3,B3iにそれぞれ接続する。バックボードデータバス63は、データバスB4,B4iにそれぞれ接続する。
The
図3に示すように、記憶部513及び記憶部523_1〜523_nの各記憶域は、第1CPU11専用のデータ書込エリア501及び複数の第2プロセッサ12_1〜12_nのそれぞれ専用の複数のデータ書込エリア502_1〜502_nを有する。記憶部513及び記憶部523_1〜523_nに共通するように、データ書込エリア501はアドレス値がA1からA2_1未満の範囲、データ書込エリア502_1はアドレス値がA2_1からA2_2未満の範囲、……、データ書込エリア502_nはアドレス値がA2_nからA3未満の範囲に設定される。
As shown in FIG. 3, each storage area of the
(第1アクセスコントローラ312の動作)
図4に示すように、第1CPU番号設定部311により、第1CPU11を有する第1ボード1に搭載されるアクセスコントローラであることが定義された第1アクセスコントローラ312は、記憶部513及び記憶部523_1〜523_nの各記憶域の、第1CPU11及び複数の前記第2CPU12のそれぞれ専用の複数のデータ書込エリア501,502_1〜502_nの各アドレス値を所定周期で含むアドレス信号R_Addr1を生成する。
(Operation of the first access controller 312)
As shown in FIG. 4, the
アドレス信号R_Addr1は、アドレスバスB3を介して第1デュアルポートメモリ51及びバックボードアドレスバス62に出力される。アドレス信号R_Addr1は、例えば、1周期P内において、第1CPU11専用のデータ書込エリア501のアドレス範囲(アドレス値がA1からA2_1未満の範囲)の各アドレス値から、第2CPU12_n専用のデータ書込エリア502_nのアドレス範囲(アドレス値がA2_nからA3未満の範囲)まで、順次出力されるように生成される。なお、データ書込エリア501,502_1〜502_nのそれぞれのアドレス範囲では、開始アドレスから終了アドレスまでインクリメントされながら各アドレス値が順次含まれる。
The address signal R_Addr1 is output to the first
また、第1アクセスコントローラ312は、アドレス信号R_Addr1に連動することにより第1デュアルポートメモリ51及び複数の第2デュアルポートメモリ52_1〜52_nの何れかのアクセスを制御するアクセス制御信号OPREQを生成する。第1アクセスコントローラ312は、アクセス制御信号OPREQを、制御信号線L7を介して制御信号バス61に出力する。第1アクセスコントローラ312は、アドレス信号R_Addr1及びアクセス制御信号OPREQを生成することにより、第1CPU11及び複数の第2CPU12_1〜12_nの何れか専用のデータ書込エリアを読み出すことを示す信号を生成する。
The
例えば、図5に示すように、第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、対応する(同一の第1ボード1に搭載される)第1CPU11専用のデータ書込エリア501のアドレス値A1である場合、アクセス制御信号OPREQのアサート(有効状態)及びネゲート(無効状態)に連動してデータ読出信号R_RD1のアサート及びネゲートを行うことにより、第1デュアルポートメモリ51に、アドレス値A1に対応する記憶部513のデータを含むデータ信号R_Data1を、バックボードデータバス63に出力させる。
For example, as shown in FIG. 5, the
詳細には、時刻t1において第1アクセスコントローラ312が出力するアドレス信号R_Addr1のアドレス値A1が安定した後、時刻t2において第1アクセスコントローラ312は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス61を介して複数の第2ボード2_1〜2_nにそれぞれ入力される。第1アクセスコントローラ312は、出力するアドレス信号R_Addr1が次に変化する時刻t8以前の時刻t6においてアクセス制御信号OPREQをネゲートする。
Specifically, after the address value A1 of the address signal R_Addr1 output by the
第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、第1CPU11専用のデータ書込エリア501のアドレス値A1である場合、時刻t3においてアクセス制御信号OPREQのアサートに応じてデータ読出信号R_RD1をアサートする。第1アクセスコントローラ312は、時刻t6にけるアクセス制御信号OPREQのネゲートに応じて、時刻t7においてデータ読出信号R_RD1をネゲートする。これにより、第1アクセスコントローラ312は、第1デュアルポートメモリ51が第1CPU11専用のデータ書込エリアを読み出すことを示す信号を出力する。
When the address value of the address signal R_Addr1 to be output is the address value A1 of the data write
データ読出信号R_RD1のアサートに応じて、第1デュアルポートメモリ51は、記憶部513からアドレス信号R_Addr1のアドレス値に対応するデータを読み出し、データ信号R_Data1としてバックボードデータバス63に出力する。データ信号R_Data1は、バックボード6のバックボードデータバス63を介して、複数の第2ボード2_1〜2_nにそれぞれ入力される。
In response to the assertion of the data read signal R_RD1, the first dual-
一方、図6に示すように、第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、複数の第2CPU12_1〜12_nの何れかである第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iである場合(即ち、第1アクセスコントローラ312に対応する第1CPU11専用のデータ書込エリア501のアドレス値A1でない場合)、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ書込信号R_WR1のアサート及びネゲートを行う。これにより、第1アクセスコントローラ312は、第1デュアルポートメモリ51に、バックボードデータバス63を介して入力されたデータ信号R_Data2iを、記憶部513の第2CPU12_i専用のデータ書込エリア502_iに複写させる。
On the other hand, as shown in FIG. 6, the
詳細には、時刻t1において第1アクセスコントローラ312が出力するアドレス信号R_Addr1のアドレス値が安定した後、時刻t2において第1アクセスコントローラ312は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス61を介して複数の第2ボード2_1〜2_nにそれぞれ入力される。第1アクセスコントローラ312は、出力するアドレス信号R_Addr1が次に変化する時刻t8以前の時刻t6においてアクセス制御信号OPREQをネゲートする。
Specifically, after the address value of the address signal R_Addr1 output by the
第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、複数の第2CPU12_1〜12_nの何れかである第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iである場合(即ち、第1CPU11専用のデータ書込エリア501のアドレス値A1でない場合)、時刻t3におけるアクセス制御信号OPREQのアサートの後、第2デュアルポートメモリ52_iが出力するデータ信号R_Data2iの値が安定する時刻t4から時刻t5までの間において、データ書込信号R_WR1をアサートしてネゲートする。第1アクセスコントローラ312は、第1デュアルポートメモリ51に、バックボードデータバス63を介して入力されたデータ信号R_Data2iを、記憶部513の第2CPU12_i専用のデータ書込エリア502_iに複写させる。
When the address value of the output address signal R_Addr1 is the address value A2_i of the data write area 502_i dedicated to the second CPU 12_i, which is one of the plurality of second CPUs 12_1 to 12_n (that is, dedicated to the first CPU 11). From the time t4 to the time t5 when the value of the data signal R_Data2i output from the second dual-port memory 52_i is stabilized after the access control signal OPREQ is asserted at the time t3. In the meantime, the data write signal R_WR1 is asserted and negated. The
なお、時刻t3から時刻t5までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第1ボード1及び第2ボード2_1〜2_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔(時刻t1から時刻t8までの時間)より短い。
The timings from time t3 to time t5 are, for example, the timing at which the access control signal OPREQ is asserted and the clock timing of the clock oscillator mounted on each of the
(第2アクセスコントローラ322_1〜322_nの動作)
以下、第2アクセスコントローラ322_1〜322_nの動作について、複数の第2ボード2_1〜2_nの何れかである第2ボード2_i(iは1〜nの整数)、及び、第2ボード2_iを除く複数の第2ボード2_1〜2_nの何れかである第2ボード2_k(kは1〜nの整数、k≠i)のように定義されたi及びkを適宜用いて説明する。
(Operations of the second access controllers 322_1 to 322_n)
Hereinafter, regarding the operation of the second access controllers 322_1 to 322_n, the second board 2_i (i is an integer of 1 to n) which is one of the plurality of second boards 2_1 to 2_n and the plurality of boards excluding the second board 2_i. A description will be given by appropriately using i and k defined as the second board 2_k (k is an integer of 1 to n, k ≠ i) which is one of the second boards 2_1 to 2_n.
図5に示すように、第2アクセスコントローラ322_iは、バックボードアドレスバス62から入力されたアドレス信号R_Addr1のアドレス値が、第1CPU11専用のデータ書込エリア501のアドレス値A1である場合(即ち、対応する第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iでない場合)、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ書込信号R_WR2iのアサート及びネゲートを行う。これにより、第2アクセスコントローラ322_iは、バックボードデータバス63から入力されたデータ信号R_Data2iのデータ値を、対応する第2デュアルポートメモリ52_iに、記憶部523_iの第1CPU11専用のデータ書込エリア501に複写させる。
As shown in FIG. 5, the second access controller 322_i has an address value of the address signal R_Addr1 input from the
詳細には、第2アクセスコントローラ322_iは、バックボードアドレスバス62から入力されたアドレス信号R_Addr1のアドレス値が、第1CPU11及び第2CPU12_1〜12_nの何れか専用のデータ書込エリアのアドレス値である場合、チップセレクト信号R_CS2iをアサートする。第2アクセスコントローラ322_iは、入力されたアドレス信号R_Addr1のアドレス値が第1CPU11専用のデータ書込エリアのアドレス値である場合(即ち、対応する第2CPU12_i専用のデータ書込エリアでない場合)、制御信号バス61を介して入力されるアクセス制御信号OPREQがアサートされた後の、第1デュアルポートメモリ51から出力されるデータ信号R_Data1が安定する時刻t4から時刻t5までの間に、データ書込信号R_WR2iをアサートしてネゲートする。これにより、第1デュアルポートメモリ51の第1CPU11専用のデータ書込エリアのデータが、第2デュアルポートメモリ52_iの第1CPU11専用のデータ書込エリアに複写される。
Specifically, the second access controller 322_i has the case where the address value of the address signal R_Addr1 input from the
なお、図5に示すように、他の第2アクセスコントローラ322_kの動作は、第2アクセスコントローラ322_iと同様である。また、時刻t3から時刻t5までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第1ボード1及び第2ボード2_1〜2_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔(時刻t1から時刻t8までの時間)より短い。
As shown in FIG. 5, the operation of the other second access controller 322_k is the same as that of the second access controller 322_i. The timings from time t3 to time t5 are, for example, the timing at which the access control signal OPREQ is asserted and the clock timing of the clock oscillator mounted on each of the
一方、図6に示すように、第2アクセスコントローラ322_iは、バックボードアドレスバス62から入力されたアドレス信号R_Addr1のアドレス値が、対応する第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iである場合、アクセス制御信号OPREQのアサート及びネゲートに連動してデータ読出信号R_RD1のアサート及びネゲートを行う。これにより、第2アクセスコントローラ322_iは、第2デュアルポートメモリ52_iに、アドレス値A2_iに対応する記憶部523_iのデータを含むデータ信号R_Data1を、バックボードデータバス63に出力させる。
On the other hand, as shown in FIG. 6, in the second access controller 322_i, the address value of the address signal R_Addr1 input from the
詳細には、第2アクセスコントローラ322_iは、バックボードアドレスバス62から入力されたアドレス信号R_Addr1のアドレス値が、第1CPU11及び第2CPU12_1〜12_nの何れか専用のデータ書込エリアのアドレス値である場合、チップセレクト信号R_CS2iをアサートする。第2アクセスコントローラ322_iは、入力されたアドレス信号R_Addr1のアドレス値が、第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iである場合、時刻t3においてアクセス制御信号OPREQのアサートに応じてデータ読出信号R_RD2iをアサートし、時刻t7においてアクセス制御信号OPREQのネゲートに応じてデータ読出信号R_RD2iをネゲートする。これにより、第2アクセスコントローラ322_iは、第2デュアルポートメモリ52_iに、記憶部523_iの第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iのデータを、データ信号R_Data2iとしてバックボードデータバス63に出力する。
Specifically, the second access controller 322_i has the case where the address value of the address signal R_Addr1 input from the
第2アクセスコントローラ322_kは、バックボードアドレスバス62から入力されたアドレス信号R_Addr1のアドレス値が、第2CPU12_i専用のデータ書込エリア502_iのアドレス値A2_iである場合(即ち、対応する第2CPU12_k専用のデータ書込エリアでない場合)、制御信号バス61を介して入力されるアクセス制御信号OPREQがアサートされた後の、第2デュアルポートメモリ52_iから出力されるデータ信号R_Data2iが安定する時刻t4から時刻t5までの間に、データ書込信号R_WR2kをアサートしてネゲートする。これにより、第2デュアルポートメモリ52_iの第2CPU12_i専用のデータ書込エリアのデータが、第2デュアルポートメモリ52_kの第1CPU12_i専用のデータ書込エリアに複写される。
When the address value of the address signal R_Addr1 input from the
(CPUの動作)
第1CPU11及び複数の第2CPU12_1〜12_nは、互いに同様に動作し、且つ一般的な構成を採用可能であるため、図7に示すように、第1CPU11及び複数の第2CPU12_1〜12_nの何れかであるCPUxと、CPUxに対応する第1デュアルポートメモリ51及び第2デュアルポートメモリ52_1〜52_nの何れかであるデュアルポートメモリ(DPRAM)xとの間で伝送されるアドレス信号L_Addrx、チップセレクト信号L_CSx、データ読出信号L_RDx、データ書込信号L_WRx及びデータ信号L_Dataxについて例示的に説明する。
(CPU operation)
Since the
CPUxは、時刻t1において、DPRAMxの記憶域のアドレスを指定するアドレス信号L_Addrxを出力し、チップセレクト信号L_CSxをアサートする。時刻t2におけるデータ読出信号L_RDxのアサートに応じて、DPRAMxは、指定されたアドレスに格納されるデータをデータ信号L_Dataxとしてデータバスを介してCPUxに出力する。また、CPUxは、時刻t5において、DPRAMxの記憶域のアドレスを指定するアドレス信号L_Addrxを出力し、チップセレクト信号L_CSxをアサートする。時刻t6におけるデータ書込信号L_WRxのアサートに応じて、DPRAMxは、CPUxからデータバスを介して入力されたデータ信号L_Dataxを指定されたアドレスに格納する。 At time t1, CPUx outputs an address signal L_Addrx that designates the address of the storage area of DPRAMx, and asserts a chip select signal L_CSx. In response to the assertion of data read signal L_RDx at time t2, DPRAMx outputs the data stored at the designated address to CPUx as data signal L_Datax via the data bus. Further, at time t5, the CPU x outputs an address signal L_Addrx that designates the address of the DPRAMx storage area, and asserts the chip select signal L_CSx. In response to the assertion of the data write signal L_WRx at time t6, the DPRAMx stores the data signal L_Datax input from the CPUx via the data bus at a specified address.
以上説明したように、本発明の実施形態に係るマルチプロセッサシステムによれば、第1デュアルポートメモリ51及び第2デュアルポートメモリ52_1〜52_nのそれぞれのバックボード側のアクセスをそれぞれ制御する第1バスコントローラ31及び第2バスコントローラ32_1〜32_nの各相互間がバックボード6により接続されるため、第1バスコントローラ31及び第2バスコントローラ32_1〜32_nにより、所定周期で第1デュアルポートメモリ51及び第2デュアルポートメモリ52_1〜52_nの各記憶域を同期させることができる。
As described above, according to the multiprocessor system of the embodiment of the present invention, the first bus that controls the access on the backboard side of each of the first
このため、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば図4における周期P1の期間中に、第1CPU11が、対応する第1デュアルポートメモリ51の、第1CPU11専用のデータ書込エリアに書き込んだ新たなデータは、遅くとも次の周期P2の期間中に、第2デュアルポートメモリ52_1〜52_nの、各第1CPU11専用のデータ書込エリアに複写される。よって、第2CPU12_1〜12_nは、次の周期P3の開始時点から、第2デュアルポートメモリ52_1〜52_nから、第1CPU11により書き込まれた新たなデータと同一のデータを確実に読み出すことができる。
For this reason, according to the multiprocessor system according to the embodiment of the present invention, for example, during the period P1 in FIG. 4, the
このように、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば、第1CPU11は、第2CPU12_1〜12_nに同一のデータを通知する場合、第2CPU12_1〜12_nにそれぞれ対応する第2デュアルポートメモリ52_1〜52_nに個別に制御する必要はなく、第1デュアルポートメモリ51の第1CPU11専用のデータ書込エリアに1回書込む動作を行えばよい。また、第2CPU12_iのデータを第2CPU12_kが使用する場合、第1CPU11が第2CPU12_iに対応する第2デュアルポートメモリ52_iから第2CPU12_iのデータを読み出した後、第1CPU11が第2CPU12_kに対応する第2デュアルポートメモリ52_iへ書き込む必要はなく、第2CPU12_iは第2デュアルポートメモリ52_iの、第2CPU12_i専用のデータ書込エリアに1回書込む動作を行えばよい。
Thus, according to the multiprocessor system according to the embodiment of the present invention, for example, when the
以上の通り、本発明の実施形態に係るマルチプロセッサシステムによれば、第1CPU11及び複数の第2CPU12_1〜12_nの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1CPU11の処理負荷を軽減することができる。更に、第1ボード1及び複数の第2ボード2_1〜2_nは、互いに同様の構成を有し得るため、第1CPU番号設定部311及び第2CPU番号設定部321_1〜321_nにより識別されることにより定義されることができるため、部品や回路構成を共通化することができ、製造コストを低減することができる。
As described above, according to the multiprocessor system according to the embodiment of the present invention, the processing load on the
(その他の実施形態)
上記のように、本発明の実施形態を記載したが、この開示の一部をなす論述及び図面は本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
(Other embodiments)
While embodiments of the present invention have been described as described above, it should not be understood that the description and drawings that form part of this disclosure limit the present invention. From this disclosure, various alternative embodiments, examples and operational techniques will be apparent to those skilled in the art.
例えば、既に述べた実施形態において、データ書込エリア501及び複数のデータ書込エリア502_1〜502_nは、連続したエリアとして図3に示されるが、第1CPU11専用のデータ書込エリア及び複数の第2プロセッサ12_1〜12_nのそれぞれ専用の複数のデータ書込エリアとして、第1アクセスコントローラ312及び第2アクセスコントローラ322_1〜322_iにより同一の定義が共有されていれば、不連続なアドレスであってもよい。
For example, in the embodiment already described, the
その他、上記の実施形態において説明される各構成を任意に応用した構成等、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。 In addition, of course, the present invention includes various embodiments that are not described here, such as configurations in which the respective configurations described in the above embodiments are arbitrarily applied. Therefore, the technical scope of the present invention is defined only by the invention specifying matters according to the scope of claims reasonable from the above description.
1 第1ボード
2 第2ボード
6 バックボード
11 第1CPU(第1プロセッサ)
12_1〜12_n 第2CPU(第2プロセッサ)
31 第1バスコントローラ
32_1〜32_n 第2バスコントローラ
51 第1デュアルポートメモリ
52_1〜52_n 第2デュアルポートメモリ
501 データ書込エリア
502_1〜502_n データ書込エリア
A1,A2_1〜A2_n,A3 アドレス値
DESCRIPTION OF
12_1-12_n 2nd CPU (2nd processor)
31 First bus controller 32_1 to 32_n
Claims (5)
第2プロセッサをそれぞれ搭載する複数の第2ボードと、
前記第1ボード及び前記複数の第2ボードを装着することにより前記第1ボード及び前記複数の第2ボードの各相互間を接続するバックボードと
を備えるマルチプロセッサシステムにおいて、
前記第1ボードは、前記第1プロセッサと前記バックボードとの間に接続される第1デュアルポートメモリと、前記第1デュアルポートメモリの前記バックボード側に接続され、前記第1デュアルポートメモリの前記バックボード側のアクセスを制御する第1バスコントローラとを有し、
前記複数の第2ボードのそれぞれは、対応する前記第2プロセッサと前記バックボードとの間に接続される第2デュアルポートメモリと、対応する前記第2デュアルポートメモリの前記バックボード側に接続され、前記対応する第2デュアルポートメモリの前記バックボード側のアクセスを制御する第2バスコントローラとを有し、
前記第1バスコントローラ及び複数の前記第2バスコントローラの各相互間は、前記バックボードにより接続されることを特徴とするマルチプロセッサシステム。 A first board carrying a first processor;
A plurality of second boards each carrying a second processor;
In a multiprocessor system comprising: a backboard for connecting each of the first board and the plurality of second boards by mounting the first board and the plurality of second boards;
The first board is connected to a first dual port memory connected between the first processor and the back board, and to the back board side of the first dual port memory. A first bus controller that controls access on the backboard side;
Each of the plurality of second boards is connected to a second dual port memory connected between the corresponding second processor and the back board, and to the back board side of the corresponding second dual port memory. A second bus controller for controlling access on the backboard side of the corresponding second dual port memory,
The multiprocessor system, wherein the first bus controller and the plurality of second bus controllers are connected to each other by the backboard.
前記第1バスコントローラ及び前記複数の第2バスコントローラは、前記第1デュアルポートメモリが前記第1プロセッサ専用の前記データ書込エリアに書き込んだデータを、前記複数の第2デュアルポートメモリのそれぞれの前記第1プロセッサ専用のデータ書込エリアに複写し、
前記第1バスコントローラ及び前記複数の第2バスコントローラは、1つの前記第2デュアルポートメモリが、対応する1つの前記第2プロセッサ専用のデータ書込エリアに書き込んだデータを、前記第1デュアルポートメモリ及び前記1つの第2プロセッサを除く前記複数の第2デュアルポートメモリのそれぞれの前記1つの第2プロセッサ専用のデータ書込エリアに複写することを特徴とする請求項1に記載のマルチプロセッサシステム。 Each storage area of the first dual port memory and the plurality of second dual port memories has a plurality of dedicated data write areas for the first processor and the plurality of second processors,
The first bus controller and the plurality of second bus controllers respectively store data written in the data write area dedicated to the first processor by the first dual port memory in each of the plurality of second dual port memories. Copying to the data writing area dedicated to the first processor,
In the first bus controller and the plurality of second bus controllers, one second dual port memory writes data written in a corresponding data write area dedicated to the second processor to the first dual port. 2. The multiprocessor system according to claim 1, wherein each of the plurality of second dual-port memories excluding a memory and the one second processor is copied to a data write area dedicated to the one second processor. .
前記複数の第2バスコントローラのそれぞれは、対応する前記第2デュアルポートメモリに、前記第1デュアルポートメモリにより出力されたデータを、対応する前記第2デュアルポートメモリの前記第1プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項2に記載のマルチプロセッサシステム。 When the first bus controller outputs a signal indicating that the data writing area dedicated to the first processor is read from the first dual port memory, the first bus controller is dedicated to the first processor. Output data of the data writing area to the backboard,
Each of the plurality of second bus controllers sends the data output by the first dual port memory to the corresponding second dual port memory, and the dedicated second processor is dedicated to the first processor of the second dual port memory. 3. The multiprocessor system according to claim 2, wherein the data is written in a data writing area.
前記第1バスコントローラは、前記第1デュアルポートメモリに、前記1つの第2デュアルポートメモリにより出力されたデータを、前記第1デュアルポートメモリの前記1つの第2プロセッサ専用の前記データ書込エリアに複写させ、
前記複数の第2バスコントローラのそれぞれは、対応する前記第2デュアルポートメモリに、前記第1デュアルポートメモリにより出力されたデータを、対応する前記第2デュアルポートメモリの前記第1プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項2又は3に記載のマルチプロセッサシステム。 When the first bus controller outputs a signal indicating that the corresponding data write area dedicated to the second processor is read from one second dual port memory, the corresponding second The bus controller causes the one second dual port memory to output data in the data writing area dedicated to the one second processor to the backboard,
The first bus controller sends the data output from the one second dual port memory to the first dual port memory, and the data write area dedicated to the one second processor of the first dual port memory. To copy
Each of the plurality of second bus controllers sends the data output by the first dual port memory to the corresponding second dual port memory, and the dedicated second processor is dedicated to the first processor of the second dual port memory. 4. The multiprocessor system according to claim 2, wherein the multiprocessor system is copied to a data writing area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017021302A JP6965523B2 (en) | 2017-02-08 | 2017-02-08 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017021302A JP6965523B2 (en) | 2017-02-08 | 2017-02-08 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018128845A true JP2018128845A (en) | 2018-08-16 |
JP6965523B2 JP6965523B2 (en) | 2021-11-10 |
Family
ID=63173002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017021302A Active JP6965523B2 (en) | 2017-02-08 | 2017-02-08 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6965523B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021191365A1 (en) * | 2020-03-25 | 2021-09-30 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
CN113641613A (en) * | 2021-08-17 | 2021-11-12 | 西安易朴通讯技术有限公司 | Backboard, hard disk pool, server and communication method |
US11954497B2 (en) | 2020-03-25 | 2024-04-09 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
-
2017
- 2017-02-08 JP JP2017021302A patent/JP6965523B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021191365A1 (en) * | 2020-03-25 | 2021-09-30 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
US11954497B2 (en) | 2020-03-25 | 2024-04-09 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
US11960889B2 (en) | 2020-03-25 | 2024-04-16 | Nordic Semiconductor Asa | Method and system for optimizing data transfer from one memory to another memory |
CN113641613A (en) * | 2021-08-17 | 2021-11-12 | 西安易朴通讯技术有限公司 | Backboard, hard disk pool, server and communication method |
Also Published As
Publication number | Publication date |
---|---|
JP6965523B2 (en) | 2021-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009515262A (en) | Alternative to write confirmation with fully buffered DIMM read data | |
US10268416B2 (en) | Method and systems of controlling memory-to-memory copy operations | |
US20090210595A1 (en) | Data transfer between devices within an integrated circuit | |
CN104598402A (en) | Flash memory controller and control method of flash memory controller | |
CN102646446A (en) | Hardware dynamic cache power management | |
JP6965523B2 (en) | Multiprocessor system | |
JP2016110458A (en) | Programmable logic controller, basic unit, control method and program | |
KR20190112626A (en) | Mechanism to autonomously manage ssds in an array | |
JP2008009817A (en) | Semiconductor device and data transfer method | |
JPH06231074A (en) | Multiple access system for system bus | |
US8891523B2 (en) | Multi-processor apparatus using dedicated buffers for multicast communications | |
WO2015158264A1 (en) | Method for controlling memory chip, chip controller, and memory controller | |
EP2801032B1 (en) | Bimodal functionality between coherent link and memory expansion | |
TW201344444A (en) | Motherboard and data processing method thereof | |
JP6419400B1 (en) | PLC, network unit, CPU unit, and data transfer method | |
JP2009301339A (en) | Bus control device | |
KR100606163B1 (en) | Direct memory access device, system and method for transmitting and receiving data through direct memory access device | |
JP4327238B2 (en) | System controller and cache control method | |
KR100644597B1 (en) | Bus system and command delivering method thereof | |
JP6416488B2 (en) | Semiconductor device | |
JP2007052685A (en) | Microcontroller | |
JP5130754B2 (en) | Semiconductor integrated circuit and memory system | |
WO2013027297A1 (en) | Semiconductor device, managing apparatus, and data processor | |
US20160224478A1 (en) | Register device and method for software programming | |
JP4539481B2 (en) | Multiprocessor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210323 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210517 |
|
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: 20210921 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211004 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6965523 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |