JP2018128845A - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

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
Application number
JP2017021302A
Other languages
English (en)
Other versions
JP6965523B2 (ja
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 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 Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2017021302A priority Critical patent/JP6965523B2/ja
Publication of JP2018128845A publication Critical patent/JP2018128845A/ja
Application granted granted Critical
Publication of JP6965523B2 publication Critical patent/JP6965523B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】第1プロセッサ及び複数の第2プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供する。【解決手段】マルチプロセッサシステムは、第1CPU11とバックボード6との間に接続される第1デュアルポートメモリ51、及び、第1デュアルポートメモリ51のバックボード6側に接続される第1バスコントローラ31を搭載する第1ボード1と、第2CPU12_1〜12_nとバックボード6との間に接続される第2デュアルポートメモリ52_1〜52_n、及び、第2デュアルポートメモリ52_1〜52_nのバックボード6側に接続される前記第2バスコントローラとを有し、第1バスコントローラ31及び第2バスコントローラ32_1〜32_nの各相互間はバックボード6により接続される。【選択図】図1

Description

本発明は、マルチプロセッサシステムに関する。
例えばディジタルリレー等の産業用機器のマルチプロセッサシステムにおいて、図8に示すように、第1CPU(Central Processing Unit:プロセッサ)10と、第2CPU30と、第1CPU10及び第2CPU30の間を接続する双方向のポートを有するデュアルポートメモリ50をとを備え、第1CPU10及び第2CPU30がデュアルポートメモリ50を介して一対一でデータ交換を行う方式が知られている(特許文献1参照)。
その他、図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にぞれぞれ設けられたデュアルポートメモリを介して、相互間でデータ交換を行う。
特開2004−64892号公報
図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の処理負荷が大きいという問題がある。
本発明は、上記問題点を鑑み、第1プロセッサ及び複数の第2プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供することを目的とする。
上記目的を達成するために、本発明の一態様に係るマルチプロセッサシステムは、第1プロセッサを搭載する第1ボードと、第2プロセッサをそれぞれ搭載する複数の第2ボードと、第1ボード及び複数の第2ボードを装着することにより第1ボード及び複数の第2ボードの各相互間を接続するバックボードとを備えることを要旨とし、第1ボードは、第1プロセッサとバックボードとの間に接続される第1デュアルポートメモリと、第1デュアルポートメモリのバックボード側に接続され、第1デュアルポートメモリのバックボード側のアクセスを制御する第1バスコントローラとを有し、複数の第2ボードのそれぞれは、対応する第2プロセッサとバックボードとの間に接続される第2デュアルポートメモリと、対応する第2デュアルポートメモリのバックボード側に接続され、対応する第2デュアルポートメモリのバックボード側のアクセスを制御する第2バスコントローラとを有し、第1バスコントローラ及び複数の第2バスコントローラの各相互間は、バックボードにより接続されることを特徴とする。
本発明によれば、第1プロセッサ及び複数の第2プロセッサの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1プロセッサの処理負荷を軽減することができるマルチプロセッサシステムを提供できる。
本発明の実施形態に係るマルチプロセッサシステムの基本的な構成を説明するブロック図である。 本発明の実施形態に係るマルチプロセッサシステムの構成を説明するブロック図である。 第1デュアルポートメモリ及び第2デュアルポートメモリの各記憶域のエリア区分の一例を説明する図である。 第1アクセスコントローラが出力するアドレス信号の一例を説明する図である。 第1アクセスコントローラが第1CPU専用のデータ書込エリアのアドレス値を出力する場合の各アクセスコントローラの動作を説明するタイミングチャートである。 第1アクセスコントローラが1つの第2CPU専用のデータ書込エリアのアドレス値を出力する場合の各アクセスコントローラの動作を説明するタイミングチャートである。 一般的なCPUがDPRAMとの間で送受信する信号の一例を説明するタイミングチャートである。 従来のマルチプロセッサシステムの一例を説明するブロック図である。 従来のマルチプロセッサシステムの一例を説明するブロック図である。
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において、同一又は類似の部分には同一又は類似の符号を付し、重複する説明を省略する。但し、以下に示す実施形態は、本発明の技術的思想を具体化するためのシステムや装置を例示するものであって、本発明の技術的思想は、下記の実施形態に例示したシステムや装置に特定するものでない。本発明の技術的思想は、特許請求の範囲に記載された技術的範囲内において、種々の変更を加えることができる。
(マルチプロセッサシステム)
本発明の実施形態に係るマルチプロセッサシステムは、図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とを備える。
第1CPU11は、複数の第2ボード2_1〜2_nのそれぞれを制御することにより、本発明の実施形態に係るマルチプロセッサシステムの全体制御を行うプロセッサである。第1デュアルポートメモリ51は、第1CPU11とバックボード6との間に接続される。第1デュアルポートメモリ51の一方側のポートは、第1CPU11に接続され、他方側のポートは、バックボード6に接続される。第1バスコントローラ31は、第1デュアルポートメモリ51のバックボード6側のポートに接続され、第1デュアルポートメモリ51のバックボード側のアクセスを制御する。
第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のそれぞれバックボード側のアクセスを制御する。
第1バスコントローラ31及び第2バスコントローラ32_1〜32_nの各相互間は、第1ボード1及び複数の第2ボード2_1〜2_nがバックボードバス60にそれぞれ装着されることにより、バックボード6のバックボードバス60を介して接続される。
以下、図2に示すブロック図を用いて、第1ボード1と、複数の第2ボード2_1〜2_nの何れかである第2ボード2_i(iは1〜nの整数)と、第1ボード1及び第2ボード2_iを装着するバックボード6との詳細について説明する。
図2に示すように、第1バスコントローラ31は、第1CPU11を識別する番号を第1ボード1に対して設定する第1CPU番号設定部311と、第1デュアルポートメモリ51のバックボード6側のアクセスを制御する第1アクセスコントローラ312とを有する。第1CPU11を識別する番号は、例えば、ジャンパスイッチ等によるマニュアル設定や他のストレージデバイスにパラメータとして記憶される設定値を初期化処理として設定されることにより決定され、第1アクセスコントローラ312により保持される。
同様に、複数の第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により保持される。
第1デュアルポートメモリ51は、第1CPU11に接続される第1入出力ポート(第1プロセッサ側ポート)511と、第1バスコントローラ31及びバックボードバス60に接続される第2入出力ポート(第1バックボード側ポート)512と、データを記憶する記憶部513とを備える。
同様に、第2デュアルポートメモリ52_iは、第2CPU12_iに接続される第1入出力ポート(第2プロセッサ側ポート)521_iと、第2バスコントローラ32_i及びバックボードバス60に接続される第2入出力ポート(第2バックボード側ポート)522_iと、データを記憶する記憶部523_iとを備える。
第1デュアルポートメモリ51の第1入出力ポート511と第1CPU11との間は、チップセレクト信号L_CS1用のチップセレクト信号線L1と、データ読出信号L_RD1用のデータ読出信号線L2と、データ書込信号L_WR1用のデータ書込信号線L3とにより接続される。その他、第1CPU11と第1入出力ポート511との間は、アドレス信号L_Addr1用のアドレスバスB1と、データ信号L_Data1用のデータバスB2とにより接続される。
同様に、第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とにより接続される。
第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とにより接続される。
同様に、第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とにより接続される。
バックボードバス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にそれぞれ接続する。
図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未満の範囲に設定される。
(第1アクセスコントローラ312の動作)
図4に示すように、第1CPU番号設定部311により、第1CPU11を有する第1ボード1に搭載されるアクセスコントローラであることが定義された第1アクセスコントローラ312は、記憶部513及び記憶部523_1〜523_nの各記憶域の、第1CPU11及び複数の前記第2CPU12のそれぞれ専用の複数のデータ書込エリア501,502_1〜502_nの各アドレス値を所定周期で含むアドレス信号R_Addr1を生成する。
アドレス信号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のそれぞれのアドレス範囲では、開始アドレスから終了アドレスまでインクリメントされながら各アドレス値が順次含まれる。
また、第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の何れか専用のデータ書込エリアを読み出すことを示す信号を生成する。
例えば、図5に示すように、第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、対応する(同一の第1ボード1に搭載される)第1CPU11専用のデータ書込エリア501のアドレス値A1である場合、アクセス制御信号OPREQのアサート(有効状態)及びネゲート(無効状態)に連動してデータ読出信号R_RD1のアサート及びネゲートを行うことにより、第1デュアルポートメモリ51に、アドレス値A1に対応する記憶部513のデータを含むデータ信号R_Data1を、バックボードデータバス63に出力させる。
詳細には、時刻t1において第1アクセスコントローラ312が出力するアドレス信号R_Addr1のアドレス値A1が安定した後、時刻t2において第1アクセスコントローラ312は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス61を介して複数の第2ボード2_1〜2_nにそれぞれ入力される。第1アクセスコントローラ312は、出力するアドレス信号R_Addr1が次に変化する時刻t8以前の時刻t6においてアクセス制御信号OPREQをネゲートする。
第1アクセスコントローラ312は、出力するアドレス信号R_Addr1のアドレス値が、第1CPU11専用のデータ書込エリア501のアドレス値A1である場合、時刻t3においてアクセス制御信号OPREQのアサートに応じてデータ読出信号R_RD1をアサートする。第1アクセスコントローラ312は、時刻t6にけるアクセス制御信号OPREQのネゲートに応じて、時刻t7においてデータ読出信号R_RD1をネゲートする。これにより、第1アクセスコントローラ312は、第1デュアルポートメモリ51が第1CPU11専用のデータ書込エリアを読み出すことを示す信号を出力する。
データ読出信号R_RD1のアサートに応じて、第1デュアルポートメモリ51は、記憶部513からアドレス信号R_Addr1のアドレス値に対応するデータを読み出し、データ信号R_Data1としてバックボードデータバス63に出力する。データ信号R_Data1は、バックボード6のバックボードデータバス63を介して、複数の第2ボード2_1〜2_nにそれぞれ入力される。
一方、図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に複写させる。
詳細には、時刻t1において第1アクセスコントローラ312が出力するアドレス信号R_Addr1のアドレス値が安定した後、時刻t2において第1アクセスコントローラ312は、アクセス制御信号OPREQアサートする。アクセス制御信号OPREQは、制御信号バス61を介して複数の第2ボード2_1〜2_nにそれぞれ入力される。第1アクセスコントローラ312は、出力するアドレス信号R_Addr1が次に変化する時刻t8以前の時刻t6においてアクセス制御信号OPREQをネゲートする。
第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に複写させる。
なお、時刻t3から時刻t5までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第1ボード1及び第2ボード2_1〜2_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔(時刻t1から時刻t8までの時間)より短い。
(第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を適宜用いて説明する。
図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に複写させる。
詳細には、第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専用のデータ書込エリアに複写される。
なお、図5に示すように、他の第2アクセスコントローラ322_kの動作は、第2アクセスコントローラ322_iと同様である。また、時刻t3から時刻t5までの各タイミングは、例えば、アクセス制御信号OPREQがアサートされるタイミングと、第1ボード1及び第2ボード2_1〜2_nのそれぞれに搭載されるクロック発振器のクロックタイミングとに基づいて決定されるものであり、互いの間隔は、アドレス信号R_Addr1が変化する間隔(時刻t1から時刻t8までの時間)より短い。
一方、図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に出力させる。
詳細には、第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に出力する。
第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専用のデータ書込エリアに複写される。
(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について例示的に説明する。
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を指定されたアドレスに格納する。
以上説明したように、本発明の実施形態に係るマルチプロセッサシステムによれば、第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の各記憶域を同期させることができる。
このため、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば図4における周期P1の期間中に、第1CPU11が、対応する第1デュアルポートメモリ51の、第1CPU11専用のデータ書込エリアに書き込んだ新たなデータは、遅くとも次の周期P2の期間中に、第2デュアルポートメモリ52_1〜52_nの、各第1CPU11専用のデータ書込エリアに複写される。よって、第2CPU12_1〜12_nは、次の周期P3の開始時点から、第2デュアルポートメモリ52_1〜52_nから、第1CPU11により書き込まれた新たなデータと同一のデータを確実に読み出すことができる。
このように、本発明の実施形態に係るマルチプロセッサシステムによれば、例えば、第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回書込む動作を行えばよい。
以上の通り、本発明の実施形態に係るマルチプロセッサシステムによれば、第1CPU11及び複数の第2CPU12_1〜12_nの各相互間でデュアルポートメモリを介してデータ交換を行う際の、第1CPU11の処理負荷を軽減することができる。更に、第1ボード1及び複数の第2ボード2_1〜2_nは、互いに同様の構成を有し得るため、第1CPU番号設定部311及び第2CPU番号設定部321_1〜321_nにより識別されることにより定義されることができるため、部品や回路構成を共通化することができ、製造コストを低減することができる。
(その他の実施形態)
上記のように、本発明の実施形態を記載したが、この開示の一部をなす論述及び図面は本発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施形態、実施例及び運用技術が明らかとなろう。
例えば、既に述べた実施形態において、データ書込エリア501及び複数のデータ書込エリア502_1〜502_nは、連続したエリアとして図3に示されるが、第1CPU11専用のデータ書込エリア及び複数の第2プロセッサ12_1〜12_nのそれぞれ専用の複数のデータ書込エリアとして、第1アクセスコントローラ312及び第2アクセスコントローラ322_1〜322_iにより同一の定義が共有されていれば、不連続なアドレスであってもよい。
その他、上記の実施形態において説明される各構成を任意に応用した構成等、本発明はここでは記載していない様々な実施形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
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 アドレス値

Claims (5)

  1. 第1プロセッサを搭載する第1ボードと、
    第2プロセッサをそれぞれ搭載する複数の第2ボードと、
    前記第1ボード及び前記複数の第2ボードを装着することにより前記第1ボード及び前記複数の第2ボードの各相互間を接続するバックボードと
    を備えるマルチプロセッサシステムにおいて、
    前記第1ボードは、前記第1プロセッサと前記バックボードとの間に接続される第1デュアルポートメモリと、前記第1デュアルポートメモリの前記バックボード側に接続され、前記第1デュアルポートメモリの前記バックボード側のアクセスを制御する第1バスコントローラとを有し、
    前記複数の第2ボードのそれぞれは、対応する前記第2プロセッサと前記バックボードとの間に接続される第2デュアルポートメモリと、対応する前記第2デュアルポートメモリの前記バックボード側に接続され、前記対応する第2デュアルポートメモリの前記バックボード側のアクセスを制御する第2バスコントローラとを有し、
    前記第1バスコントローラ及び複数の前記第2バスコントローラの各相互間は、前記バックボードにより接続されることを特徴とするマルチプロセッサシステム。
  2. 前記第1デュアルポートメモリ及び複数の前記第2デュアルポートメモリの各記憶域は、前記第1プロセッサ及び複数の前記第2プロセッサのそれぞれ専用の複数のデータ書込エリアを有し、
    前記第1バスコントローラ及び前記複数の第2バスコントローラは、前記第1デュアルポートメモリが前記第1プロセッサ専用の前記データ書込エリアに書き込んだデータを、前記複数の第2デュアルポートメモリのそれぞれの前記第1プロセッサ専用のデータ書込エリアに複写し、
    前記第1バスコントローラ及び前記複数の第2バスコントローラは、1つの前記第2デュアルポートメモリが、対応する1つの前記第2プロセッサ専用のデータ書込エリアに書き込んだデータを、前記第1デュアルポートメモリ及び前記1つの第2プロセッサを除く前記複数の第2デュアルポートメモリのそれぞれの前記1つの第2プロセッサ専用のデータ書込エリアに複写することを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記第1バスコントローラは、前記第1デュアルポートメモリから、前記第1プロセッサ専用の前記データ書込エリアを読み出すことを示す信号を出力した場合、前記第1デュアルポートメモリに、前記第1プロセッサ専用の前記データ書込エリアのデータを前記バックボードに出力させ、
    前記複数の第2バスコントローラのそれぞれは、対応する前記第2デュアルポートメモリに、前記第1デュアルポートメモリにより出力されたデータを、対応する前記第2デュアルポートメモリの前記第1プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項2に記載のマルチプロセッサシステム。
  4. 前記第1バスコントローラが、1つの前記第2デュアルポートメモリから、対応する1つの前記第2プロセッサ専用の前記データ書込エリアを読み出すことを示す信号を出力した場合、対応する1つの前記第2バスコントローラは、前記1つの第2デュアルポートメモリに、前記1つの第2プロセッサ専用の前記データ書込エリアのデータを前記バックボードに出力させ、
    前記第1バスコントローラは、前記第1デュアルポートメモリに、前記1つの第2デュアルポートメモリにより出力されたデータを、前記第1デュアルポートメモリの前記1つの第2プロセッサ専用の前記データ書込エリアに複写させ、
    前記複数の第2バスコントローラのそれぞれは、対応する前記第2デュアルポートメモリに、前記第1デュアルポートメモリにより出力されたデータを、対応する前記第2デュアルポートメモリの前記第1プロセッサ専用の前記データ書込エリアに複写させることを特徴とする請求項2又は3に記載のマルチプロセッサシステム。
  5. 前記第1バスコントローラは、前記第1デュアルポートメモリ及び複数の前記第2デュアルポートメモリの各記憶域に共通の、前記第1プロセッサ及び複数の前記第2プロセッサのそれぞれ専用の複数のデータ書込エリアの各アドレス値を所定周期で含むアドレス信号と、前記アドレス信号に連動することにより前記第1デュアルポートメモリ及び前記複数の第2デュアルポートメモリの何れかのアクセスを制御するアクセス制御信号とを出力することにより、前記第1プロセッサ及び複数の前記第2プロセッサの何れか専用の前記データ書込エリアを読み出すことを示す信号を出力することを特徴とする請求項3又は4に記載のマルチプロセッサシステム。
JP2017021302A 2017-02-08 2017-02-08 マルチプロセッサシステム Active JP6965523B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017021302A JP6965523B2 (ja) 2017-02-08 2017-02-08 マルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017021302A JP6965523B2 (ja) 2017-02-08 2017-02-08 マルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2018128845A true JP2018128845A (ja) 2018-08-16
JP6965523B2 JP6965523B2 (ja) 2021-11-10

Family

ID=63173002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017021302A Active JP6965523B2 (ja) 2017-02-08 2017-02-08 マルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP6965523B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
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 (zh) * 2021-08-17 2021-11-12 西安易朴通讯技术有限公司 背板、硬盘池、服务器以及通信方法
US11954497B2 (en) 2020-03-25 2024-04-09 Nordic Semiconductor Asa Method and system for optimizing data transfer from one memory to another memory

Cited By (4)

* Cited by examiner, † Cited by third party
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 (zh) * 2021-08-17 2021-11-12 西安易朴通讯技术有限公司 背板、硬盘池、服务器以及通信方法

Also Published As

Publication number Publication date
JP6965523B2 (ja) 2021-11-10

Similar Documents

Publication Publication Date Title
JP2009515262A (ja) 完全バッファリングされたdimm読み出しデータによる書き込み確認の代替
US10268416B2 (en) Method and systems of controlling memory-to-memory copy operations
US20090210595A1 (en) Data transfer between devices within an integrated circuit
CN104598402A (zh) 一种闪存控制器和闪存控制器的控制方法
CN102646446A (zh) 硬件动态高速缓存电源管理
JP6965523B2 (ja) マルチプロセッサシステム
JP2016110458A (ja) プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム
JP2008009817A (ja) 半導体装置及びデータ転送方法
JPH06231074A (ja) システムバスの多重アクセス方式
US8891523B2 (en) Multi-processor apparatus using dedicated buffers for multicast communications
WO2015158264A1 (zh) 控制内存芯片的方法、芯片控制器和内存控制器
EP2801032B1 (en) Bimodal functionality between coherent link and memory expansion
TW201344444A (zh) 主機板及應用於該主機板的資料處理方法
JP6419400B1 (ja) Plc、ネットワークユニット、cpuユニット、及びデータ転送方法
JP2009301339A (ja) バス制御装置
KR100606163B1 (ko) 디렉트 메모리 엑세스 장치, 디렉트 메모리 엑세스 장치를통한 데이터를 송수신하는 시스템 및 방법
JP4327238B2 (ja) システムコントローラおよびキャッシュ制御方法
JP2007052685A (ja) マイクロコントローラ
JP5130754B2 (ja) 半導体集積回路及びメモリシステム
WO2013027297A1 (ja) 半導体装置、管理装置、及びデータ処理装置
JP6416488B2 (ja) 半導体装置
JP4539481B2 (ja) マルチプロセッサシステム
JPH03228163A (ja) データ転送装置
KR100283187B1 (ko) 공통 메모리를 사용하는 시스템에서 공통 메모리 억세스장치 및 방법
WO2024144870A1 (en) Physical adjustment to system memory with chipset attached memory

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