JP5076348B2 - 共有メモリのアクセス方式 - Google Patents
共有メモリのアクセス方式 Download PDFInfo
- Publication number
- JP5076348B2 JP5076348B2 JP2006102975A JP2006102975A JP5076348B2 JP 5076348 B2 JP5076348 B2 JP 5076348B2 JP 2006102975 A JP2006102975 A JP 2006102975A JP 2006102975 A JP2006102975 A JP 2006102975A JP 5076348 B2 JP5076348 B2 JP 5076348B2
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- data
- read
- write
- necessity determination
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
また、ネットワークにおいては、一般的に外来ノイズや中継機器の障害、ノード自身の障害などにより一時的にデータ送受信不可な状態になることがあるため、このような送受信不可状態から復帰した際にはデータの再送などにより欠落データを補う必要がある。ただし、サイクリック通信に於いては、前記のような伝送異常を検出して再送するのではなく、通常時も定周期でデータを送信することでデータ欠落が継続しないようにしている。
制御プロセッサ22は、制御対象23に対する制御周期で受信領域24や制御対象23からデータを読出し、演算を行った後、必要に応じて制御対象23または送信領域25にデータを書込む。一方、通信プロセッサ21は、伝送コモンメモリ内容が制御プロセッサ22により変更されたか否かに関係なく、自分の送信周期で送信領域25からデータを読出し他ノードに送信する。他ノードからデータを受信した場合は、そのデータを受信領域24に書込む。通常これらの通信プロセッサ21、制御プロセッサ22は非同期に動作しており、非同期に伝送コモンメモリ20にアクセスしている。このように、伝送コモンメモリ20は、各ノード間の共有メモリであると同時に、1ノード内においては通信プロセッサ21と制御プロセッサ22間の共有メモリでもある。
以下、この発明の実施の形態1を図1に基づいて説明する。図1はこの発明の実施の形態1における共有メモリのアクセス方式を示すブロック図である。
図1において、一方の側のCPU−A1と他方の側のCPU−B2がそれぞれ図4の通信プロセッサ11と制御プロセッサ12に対応し、共有メモリ3が図4の伝送コモンメモリ10に対応する。一方の側のCPU−A1は共有メモリ3に対してデータを書込む側であり、他方の側のCPU−B2は共有メモリ3からデータを読出す側である。一方の側のCPU−A1のアドレス、データ、制御線を含んだCPU−A側CPUバス5は、共有メモリ調停機能4を経由して共有メモリ3に接続されている。また、他方の側のCPU−B2のアドレス、データ、制御線を含んだCPU−B側CPUバス6も、共有メモリ調停機能4を経由して共有メモリ3に接続されている。共有メモリ調停機能4は、共有メモリ3に対してCPU−A1とCPU−B2が同時にアクセスすることにより発生するデータ化けなどを防ぐためのアクセス調停を行うものである。また、この発明の実施の形態1においては、一方の側のCPU−A1と共有メモリ調停機能4の間に設けられた書込み要否判定機能7と、CPU−A1側で占有でき、CPU−B2側からはアクセスできない書込み要否判定機能用ローカルバッファ8と、書込み要否判定機能7と共有メモリ調停機能4の間を接続する共有メモリ書込み用バス9とを備えた構成に特徴がある。なお、書込み要否判定機能用ローカルバッファ8には、一方の側のCPU−A1が共有メモリ3に書込もうとするデータを、実際に書込む必要があるか無いかを判定するための情報を保存しておくようにする。
まず一方の側のCPU−A1は、電源投入時やリセット時に実行する初期化処理で書込み要否判定機能用ローカルバッファ8と共有メモリ3内容を初期状態(例えば、全て0)とする。次に一方の側のCPU−A1が他ノードからのサイクリック通信データ受信などにより共有メモリ3に書込みたいデータを持った場合、一方の側のCPU−A1はCPU−A側CPUバス5に共有メモリ3の書込みアドレスと書込みデータを出力する。書込み要否判定機能7は、書込み要否判定機能用ローカルバッファ8の該アドレスからデータを読出し、書込みデータと比較する。一方の側のCPU−A1がCPU−A側CPUバス5に出力したデータと書込み要否判定機能用ローカルバッファ8から読出したデータが一致した場合、書込み要否判定機能7は該データの共有メモリ3への書込みを不要と判定し、共有メモリ3および書込み要否判定機能用ローカルバッファ8の内容は変化させずに一方の側のCPU−A1に書込み正常終了の応答を返す。一方、CPU−A1がCPU−A側CPUバス5に出力したデータと書込み要否判定機能用ローカルバッフア8から読出したデータが一致しなかった場合、書込み要否判定機能7は該データの共有メモリ3への書込みを必要と判定し、共有メモリ3および書込み要否判定機能用ローカルバッファ8に対してCPU−A1の出力したデータを書込んだ後、CPU−A1に書込み正常終了の応答を返す。
なお、上記の実施の形態1では、一方の側のCPU−A1が出力する単一データ毎に書込み要否判定機能用ローカルバッファ内容と比較する場合について述べたが、CPU−A1が出力する複数データを纏めて書込み要否判定機能用ローカルバッファ内容と比較しても良い。これにより、書込み要否判定機能用ローカルバッファのサイズを小さくしたり、比較回数を減らしたりする事が可能となる。複数データの纏め方としては、「共有メモリ」全体一括で行っても良いし、「共有メモリ」を伝送単位などの複数のブロックに分け、それぞれのブロック毎に対して行っても良いし、単純にアクセスの最小単位(ワードやバイトなど)の整数倍などとしても良い。
この場合の書込み要否判定機能用ローカルバッファに保存する情報の例としては、CPU−A1が出力する複数データを圧縮したもの、圧縮データを一対一演算したもの、または一対一演算したものを圧縮したものなどが考えられる。
また、上記の実施の形態1の説明では、書込み要否判定機能用ローカルバッファ8に保存する比較用データを書込み要否判定機能単独で生成する場合について述べたが、データ生成側(サイクリック通信データなどの場合はデータ送信側)でデータ変化毎に値を更新する識別子情報を付加することとし、この付加された識別子、または識別子を一対一演算したもの、さらには、複数の識別子を纏めて演算したものを書込み要否判定機能用ローカルバッファに保存し「データ変化有無」を検出するための情報としても良い。このことにより、元データ生成側でない部分で比較用データを生成することが不要となる。
図2はこの発明の実施の形態4における共有メモリのアクセス方式を示すブロック図である。
今までの説明では、共有メモリ3にデータを書込む側での対策についてのみ述べてきたが、共有メモリ3からデータを読出す側での対策も実施した場合について図2に基づいて説明する。なお、実施の形態1と同一又は相当部分には同一符号を付して説明を省略する。
まず一方の側のCPU−A1は、電源投入時やリセット時に実行する初期化処理で書込み要否判定機能用ローカルバッフア8や共有メモリ3と同様に付加レジスタ13内容も初期状態(例えば、全て0)とする。他方の側のCPU−B2は、電源投入時やリセット時に実行する初期化処理で読出し要否判定機能用ローカルバッファ11の内容を初期状態(例えば、全て0)とする。CPU−A1側が共有メモリ3の内容を実際に更新する際には、付加レジスタ13の内容も変化(例えばインクリメント)させる。次に、他方の側のCPU−B2が共有メモリ3のデータを読出したい場合、CPU−B2はCPU−B側CPUバス6に共有メモリ3に対する読出しアドレスを出力する。読出し要否判定機能10は、共有メモリ読出しアドレスに対応した付加レジスタ13と、読出し要否判定機能用ローカルバッファ11上の付加レジスタ13に対応した位置からデータを読出して比較する。付加レジスタ13の内容と書込み要否判定機能用ローカルバッフア8から読出した付加レジスタ相当のデータが一致した場合、読出し要否判定機能10は該データの共有メモリ3からの読出しを不要と判定し、読出し要否判定機能用ローカルバッファ11からデータを読出し、共有メモリ3および読出し要否判定機能用ローカルバッファ11の内容は変化させずにCPU−B2に読出し正常終了の応答を返す。一方、付加レジスタ13の内容と書込み要否判定機能用ローカルバッフア8から読出した付加レジスタ相当のデータが一致しなかった場合、読出し要否判定機能10は該データの共有メモリ3からの読出しを必要と判定し、共有メモリ3および付加レジスタ13の内容を読出し、読出し要否判定機能用ローカルバッファ11に保存すると共にCPU−B2に読出し正常終了の応答を返す。
2 CPU−B
3 共有メモリ
4 共有メモリ調停機能
5 CPU−A側CPUバス
6 CPU−B側CPUバス
7 書込み要否判定機能
8 書込み要否判定機能用ローカルバッファ
9 共有メモリ書込み用バス
10 読出し要否判定機能
11 読出し要否判定機能用ローカルバッファ
12 共有メモリ読出し用バス
13 付加レジスタ
Claims (4)
- 複数の処理装置が情報を共有するための共有メモリのアクセス方式において、
前記共有メモリに対してデータを書込む側である一方の側の処理装置と、
前記共有メモリからデータを読出す側である他方の側の処理装置と、
前記共有メモリに対して両方の側の処理装置が同時にアクセスすることにより発生するデータ化けを防ぐためのアクセス調停を行う共有メモリ調停機能と、
前記共有メモリ調停機能を経由して共有メモリに接続され、一方の側の処理装置のアドレス、データ、制御線を含んだ一方の側のCPUバスと、
前記共有メモリ調停機能を経由して共有メモリに接続され、他方の側の処理装置のアドレス、データ、制御線を含んだ他方の側のCPUバスと、
前記一方の側の処理装置と共有メモリ調停機能の間に設けられた書込み要否判定機能と、
前記一方の側の処理装置が前記共有メモリに書込もうとするデータを、実際に書込む必要があるか無いかを判定する情報を保存しておき、前記一方の側の処理装置側で占有でき、前記他方の側の処理装置からはアクセスできない書込み要否判定機能用ローカルバッファと、
前記書込み要否判定機能と前記共有メモリ調停機能の間を接続する共有メモリ書込み用バスとを備え、
前記一方の側の処理装置が前記共有メモリにデータを書込む際に、まず一方の側の処理装置は書込み要否判定機能用ローカルバッファと共有メモリの内容を初期状態とし、次に一方の側の処理装置が他ノードからのサイクリック通信データ受信により前記共有メモリに書込みたいデータを持った場合、一方の側の処理装置は一方の側のCPUバスに共有メモリの書込みアドレスと書込みデータを出力し、前記書込み要否判定機能が、前記一方の側の処理装置が一方の側のCPUバスに出力したデータと前記書込み要否判定機能用ローカルバッファから読出したデータとの演算結果により書込みデータに変化が無いと判定した場合、前記書込み要否判定機能は該データの共有メモリへの書込みを不要と判定し、共有メモリおよび書込み要否判定機能用ローカルバッファの内容は変化させずに一方の側の処理装置に書込み正常終了の応答を返し、前記一方の側の処理装置が一方の側のCPUバスに出力したデータと前記書込み要否判定機能用ローカルバッファから読出したデータとの演算結果により書込みデータに変化があると判定した場合、前記書込み要否判定機能は該データの共有メモリへの書込みを必要と判定し、共有メモリに対して一方の側の処理装置の出力したデータを書込み、書込み要否判定機能用ローカルバッファに比較データ生成用演算を施したデータを書込んだ後、一方の側の処理装置に書込み正常終了の応答を返すことを特徴とする共有メモリのアクセス方式。 - 書込みデータに変化があるか無いかを判定するデータ変化有無判定を、単一データ毎ではなく複数のデータを纏めて一括で判定することを特徴とする請求項1記載の共有メモリのアクセス方式。
- データ生成側でデータ変化毎に更新する識別子情報を本来の書込みデータとは別に付加し、その付加された情報をデータ変化有無判定に用いることを特徴とする請求項1又は請求項2記載の共有メモリのアクセス方式。
- 共有メモリのデータ読出し側である他方の側の処理装置と共有メモリ調停機能の間に設けられた読出し要否判定機能と、前記他方の側の処理装置側で占有でき、一方の側の処理装置からはアクセスできない読出し要否判定機能用ローカルバッファと、前記読出し要否判定機能と共有メモリ調停機能の間を接続する共有メモリ読出し用バスと、実データを書込む共有メモリの内容に変化があったか否かを示す付加レジスタとを備え、前記読出し要否判定機能用ローカルバッファには、前記他方の側の処理装置が前記共有メモリから読出そうとするデータを生成可能な情報と前記付加レジスタの内容を検出するための情報を保存しておき、
前記他方の側の処理装置が前記共有メモリからデータを読出す際に、まず一方の側の処理装置は書込み要否判定機能用ローカルバッファと共有メモリと付加レジスタの内容を初期状態とし、他方の側の処理装置は読出し要否判定機能用ローカルバッファの内容を初期状態とし、次に前記他方の側の処理装置が共有メモリのデータを読出したい場合、前記他方の側の処理装置は他方の側のCPUバスに共有メモリに対する読出しアドレスを出力し、前記読出し要否判定機能が共有メモリ読出しアドレスに対応した前記付加レジスタと前記読出し要否判定機能用ローカルバッファ上の付加レジスタに対応した位置からデータを読出して比較し、前記付加レジスタの内容と前記書込み要否判定機能用ローカルバッファから読出した付加レジスタ相当のデータにより前記付加レジスタの内容の変化を検出しなかった場合、前記読出し要否判定機能は該データの共有メモリからの読出しを不要と判定し、前記読出し要否判定機能用ローカルバッファからデータを読出し、共有メモリおよび読出し要否判定機能用ローカルバッファの内容は変化させずに他方の側の処理装置に読出し正常終了の応答を返し、前記付加レジスタの内容と前記書込み要否判定機能用ローカルバッファから読出した付加レジスタ相当のデータにより前記付加レジスタの内容の変化を検出した場合、前記読出し要否判定機能は該データの共有メモリからの読出しを必要と判定し、共有メモリおよび付加レジスタの内容を読出し、前記読出し要否判定機能用ローカルバッファ内容を更新すると共に他方の側の処理装置に読出し正常終了の応答を返すことを特徴とする請求項1〜請求項3のいずれかに記載の共有メモリのアクセス方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102975A JP5076348B2 (ja) | 2006-04-04 | 2006-04-04 | 共有メモリのアクセス方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006102975A JP5076348B2 (ja) | 2006-04-04 | 2006-04-04 | 共有メモリのアクセス方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007279884A JP2007279884A (ja) | 2007-10-25 |
JP5076348B2 true JP5076348B2 (ja) | 2012-11-21 |
Family
ID=38681290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006102975A Expired - Fee Related JP5076348B2 (ja) | 2006-04-04 | 2006-04-04 | 共有メモリのアクセス方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5076348B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS54156442A (en) * | 1978-05-31 | 1979-12-10 | Toshiba Corp | Data write-in method ror rewritable non-volatile semiconductor memory device |
JPH07143148A (ja) * | 1993-11-18 | 1995-06-02 | Toshiba Corp | 高速サイクリック伝送装置 |
JPH09269934A (ja) * | 1996-04-02 | 1997-10-14 | Hitachi Ltd | 共有メモリのデータ一致化方法および伝送システム |
JP2001255902A (ja) * | 2000-03-14 | 2001-09-21 | Fuji Electric Co Ltd | デュアルポートメモリ、そのデータ転送方法、及びデュアルポートメモリを用いる制御システム |
-
2006
- 2006-04-04 JP JP2006102975A patent/JP5076348B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007279884A (ja) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8051325B2 (en) | Multiprocessor system and failure recovering system | |
US6782492B1 (en) | Memory error recovery method in a cluster computer and a cluster computer | |
JP4734003B2 (ja) | ソフトエラー訂正方法、メモリ制御装置及びメモリシステム | |
US20160147676A1 (en) | Peripheral component interconnect (pci) device and system including the pci | |
US9219695B2 (en) | Switch, information processing apparatus, and communication control method | |
US9015380B2 (en) | Exchanging message data in a distributed computer system | |
US20050050244A1 (en) | Method for controlling data transfer unit, data transfer unit, channel control unit, and storage device control unit | |
US7353158B2 (en) | Inter integrated circuit extension via shadow memory | |
US7257680B2 (en) | Storage system including shared memory and plural disk drives, processors, and shared memory control units | |
JP5076348B2 (ja) | 共有メモリのアクセス方式 | |
JP2007334668A (ja) | メモリダンプ方法、クラスタシステム、それを構成するノードおよびプログラム | |
JPWO2013168258A1 (ja) | 待機冗長二重化装置 | |
EP2019359B1 (en) | Information processing apparatus including transfer device for transferring requests | |
US9921779B2 (en) | Memory apparatus, memory system and memory controlling method | |
JP4431492B2 (ja) | 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット | |
JP2007241922A (ja) | 共有資源利用のための調停方法及びその調停装置 | |
JP2018165915A (ja) | コンピュータシステム、及びメモリコピー方法 | |
JPH10283302A (ja) | 複数のプロセッサに接続されたバスにデータを供給する方法およびシステム | |
WO2014128967A1 (ja) | 記憶制御装置、及びデータの書き込み完了を検知する方法 | |
JP6384359B2 (ja) | 分散共有メモリを有する情報処理装置、方法、および、プログラム | |
JP2001273191A (ja) | コンピュータシステム | |
JP2007316880A (ja) | デュアルポートメモリのアクセス権調停方式 | |
KR100825663B1 (ko) | 시스템 버스를 점유하지 않는 디바이스/메모리 전용디엠에이 전송 방법 및 장치 | |
JPH04330541A (ja) | 共通データ転送システム | |
JPS62204362A (ja) | ネツトワ−クによる共有メモリ方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111018 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120510 |
|
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: 20120731 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120813 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150907 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5076348 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |