JP2014085820A - Shared memory access system and shared memory access method - Google Patents

Shared memory access system and shared memory access method Download PDF

Info

Publication number
JP2014085820A
JP2014085820A JP2012234091A JP2012234091A JP2014085820A JP 2014085820 A JP2014085820 A JP 2014085820A JP 2012234091 A JP2012234091 A JP 2012234091A JP 2012234091 A JP2012234091 A JP 2012234091A JP 2014085820 A JP2014085820 A JP 2014085820A
Authority
JP
Japan
Prior art keywords
bank
transmission
processor
data
area
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
JP2012234091A
Other languages
Japanese (ja)
Other versions
JP6009902B2 (en
Inventor
Yoshitomi Sameda
芳富 鮫田
Naoya Onishi
直哉 大西
Jun Takehara
潤 竹原
Takayuki Nitta
能之 新田
Tomoki Enomoto
知己 榎本
Atsushi Kojima
敦 児島
Toshibumi Hayashi
俊文 林
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012234091A priority Critical patent/JP6009902B2/en
Publication of JP2014085820A publication Critical patent/JP2014085820A/en
Application granted granted Critical
Publication of JP6009902B2 publication Critical patent/JP6009902B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a shared memory access system for enabling a plurality of processors to perform access to a shared memory without competing with each other.SOLUTION: A shared memory access system 20a includes: an arithmetic processing processor 1a and a communication processing processor 2a and a shared memory 10a, and the shared memory 10a includes bank means 10rsa for storing transmission data and reception data in the case of performing access. The bank means 10rsa includes first and second transmission/reception region banks 10rs1 an 10rs2 for storing the transmission data and the reception data, and capable of performing bank switching; and bank control means 15a constituted of bank switching request flag means 11a for setting a bank switching request flag from the arithmetic processing processor 1a, and for resetting a bank switching request flag after bank switching and a bank switching control means 12a for controlling bank switching in response to a bank switching command from the communication processing processor 2a.

Description

本発明の実施形態は、共有メモリアクセスシステムおよび共有メモリアクセス方法に関する。   Embodiments described herein relate generally to a shared memory access system and a shared memory access method.

共有メモリアクセスシステムにおいて、例えば外部のネットワークと通信処理プロセッサとを介して送受信データをやり取りし、その送受信データは共有メモリに一時蓄積されて演算処理プロセッサにより処理されるように2つのプロセッサ間で転送されるものがある。   In a shared memory access system, for example, exchanged data is exchanged via an external network and a communication processor, and the exchanged data is temporarily stored in the shared memory and transferred between the two processors so that it can be processed by the arithmetic processor. There is something to be done.

なお、マルチプロセッサ間通信方法において、複数のプロセッサで共通に使用される共有メモリのアクセス時における競合制御を、当該共有メモリ上に設けた排他制御管理エリアのフラグによって行い、また、通信するプロセッサの各組合せ毎に付与した識別番号毎に、あるいは送信と受信とで独立して、交信エリアの使用権の競合制御を行うことが知られている(例えば、特許文献1を参照)。   In the inter-processor communication method, contention control at the time of accessing a shared memory that is commonly used by a plurality of processors is performed by using an exclusive control management area flag provided on the shared memory. It is known that competition control of the right to use a communication area is performed for each identification number assigned for each combination or independently for transmission and reception (see, for example, Patent Document 1).

また、共有メモリのアクセス方式において、共有メモリにデータを書込む側の処理装置が書込み要否判定機能と、該処理装置側で占有できる書込み要否判定機能用ローカルバッファとを備え、共有メモリにデータを書込む際に、書込み要否判定機能が書込み要否判定機能用ローカルバッファの内容を用いて書込みデータに変化があるか無いかを書込みデータ毎に判定し、データに変化があった場合にのみ実際に共有メモリにデータを書込むとともに、共有メモリの書込みアドレスに対応した書込み要否判定機能用ローカルバッファのアドレスに書込みデータに対応した値を書込むことが知られている(例えば、特許文献2を参照)。   Further, in the shared memory access method, a processing device that writes data to the shared memory includes a write necessity determination function and a write necessity determination function local buffer that can be occupied on the processing device side. When writing data, the write necessity judgment function uses the contents of the write necessity judgment function local buffer to determine whether there is a change in the write data for each write data. It is known that data is actually written to the shared memory only and a value corresponding to the write data is written to the address of the local buffer for the write necessity determination function corresponding to the write address of the shared memory (for example, (See Patent Document 2).

特開平6−12387号公報JP-A-6-12387 特開2007−279884号公報JP 2007-279884 A

はじめに、上述した特許文献をはじめとする従来技術の共有メモリアクセスシステムについて説明する。図18は、従来技術の共有メモリアクセスシステムの構成を示すブロック図である。また、図19は、従来技術の共有メモリアクセスシステムの制御処理タイミングを示す図である。   First, a conventional shared memory access system including the above-described patent documents will be described. FIG. 18 is a block diagram showing a configuration of a conventional shared memory access system. FIG. 19 is a diagram showing the control processing timing of the conventional shared memory access system.

図18に示す共有メモリアクセスシステムは、共有メモリ100と、共有メモリ100上のデータを演算処理する演算処理プロセッサ101と、伝送路300を介して送受信される伝送データ(送信データおよび受信データ)を共有メモリ100に対して読み出しおよび書き出し処理する通信処理プロセッサ200とを備えている。   The shared memory access system shown in FIG. 18 receives shared data 100, an arithmetic processing processor 101 that performs arithmetic processing on data on the shared memory 100, and transmission data (transmission data and reception data) transmitted and received via the transmission path 300. And a communication processor 200 that reads and writes the shared memory 100.

図18に、共有メモリ100内にあるフラグ領域130に割り当てられているフラグの種別を示す。例えば、フラグ領域130には、以下の4つのフラグを含んでいる。   FIG. 18 shows the types of flags assigned to the flag area 130 in the shared memory 100. For example, the flag area 130 includes the following four flags.

受信領域演算処理プロセッサ使用中フラグ130r1
受信領域通信処理プロセッサ使用中フラグ130r2
送信領域演算処理プロセッサ使用中フラグ130s1
送信領域通信処理プロセッサ使用中フラグ130s2
演算処理プロセッサ101は、受信領域通信処理プロセッサ使用中フラグ130r2を読み取り、通信処理プロセッサ200が受信領域バンク100rを使用中(フラグがセット状態)である場合に、受信領域通信処理プロセッサ使用中フラグ130r2がクリアされるまで待つ。
Reception area arithmetic processing processor busy flag 130r1
Reception area communication processing processor busy flag 130r2
Transmission area arithmetic processor busy flag 130s1
Transmission area communication processor busy flag 130s2
The arithmetic processor 101 reads the reception area communication processor busy flag 130r2, and when the communication processor 200 is using the reception area bank 100r (the flag is set), the reception area communication processor busy flag 130r2. Wait until is cleared.

次に、演算処理プロセッサ101は、受信領域演算処理プロセッサ使用中フラグ130r1をセットし、受信領域バンク100rから受信データを読み出す。その後、受信領域演算処理プロセッサ使用中フラグ130r1をクリアする。これにより、演算処理プロセッサ101は、共有メモリ100から読み出した受信データを用いて、演算処理を行う。   Next, the arithmetic processor 101 sets the reception area arithmetic processor busy flag 130r1 and reads the reception data from the reception area bank 100r. Thereafter, the reception area arithmetic processor busy flag 130r1 is cleared. As a result, the arithmetic processing processor 101 performs arithmetic processing using the received data read from the shared memory 100.

また、演算処理プロセッサ101は、送信領域通信処理プロセッサ使用中フラグ130s2を読み取り、通信処理プロセッサ200が送信領域バンク100sを使用中である場合に、送信領域通信処理プロセッサ使用中フラグ130s2がクリアされるまで待つ。   Also, the arithmetic processor 101 reads the transmission area communication processor busy flag 130s2, and when the communication processor 200 is using the transmission area bank 100s, the transmission area communication processor busy flag 130s2 is cleared. Wait until.

次に、演算処理プロセッサ101は、送信領域演算処理プロセッサ使用中フラグ130s1をセットし、送信領域バンク100sに送信データを書き込む。その書き込み後、演算処理プロセッサ101は、送信領域演算処理プロセッサ使用中フラグ130s1をクリアする。   Next, the arithmetic processor 101 sets the transmission area arithmetic processor busy flag 130s1 and writes the transmission data in the transmission area bank 100s. After the writing, the arithmetic processor 101 clears the transmission area arithmetic processor busy flag 130s1.

図19の制御処理103に示すように、演算処理プロセッサ101は、制御周期ごとに、上述したような共有メモリ100内の受信領域バンク100rから受信データを読み出す処理を実行している。さらに、演算処理プロセッサ101は、読み出した受信データを用いて演算処理を実行した後、共有メモリ100内の送信領域バンク100sに送信データを書き込む処理を実行する。その書き込み後に、演算処理プロセッサ101は、次の制御周期を待つ。   As shown in the control process 103 of FIG. 19, the arithmetic processor 101 executes a process of reading received data from the reception area bank 100r in the shared memory 100 as described above for each control cycle. Further, the arithmetic processing processor 101 executes arithmetic processing using the read received data, and then executes processing for writing transmission data to the transmission area bank 100 s in the shared memory 100. After the writing, the arithmetic processor 101 waits for the next control cycle.

一方、図19に示す制御処理103の間に、通信処理プロセッサ200は、送信領域バンク100sから送信データを読み出し、伝送路300を介して、読み出した送信データを図示しない送信先に送る。また、受信データを受けた場合に、通信処理プロセッサ200は、その受信データを受信領域バンク100rに書き込む。   On the other hand, during the control process 103 shown in FIG. 19, the communication processor 200 reads transmission data from the transmission area bank 100 s and sends the read transmission data to a transmission destination (not shown) via the transmission path 300. When receiving the received data, the communication processor 200 writes the received data in the receiving area bank 100r.

上記で説明したように、演算処理プロセッサ101および通信処理プロセッサ200は互いに非同期に動作しているため、演算処理プロセッサ101および通信処理プロセッサ200は、非同期に共有メモリ100にアクセスすることになる。   As described above, since the arithmetic processing processor 101 and the communication processing processor 200 operate asynchronously with each other, the arithmetic processing processor 101 and the communication processing processor 200 access the shared memory 100 asynchronously.

上述した共有メモリアクセスシステムにおいては、2つのプロセッサのうちの一方の通信処理プロセッサが共有メモリを使用中の間に、共有メモリへのアクセスが競合した場合に、他方の演算処理プロセッサが共有メモリへのアクセスを待たされることがあった。このため、演算処理プロセッサの動作時間が一定しないということが課題であった。   In the above-described shared memory access system, when access to the shared memory competes while one of the two processors is using the shared memory, the other arithmetic processor accesses the shared memory. Had to wait. For this reason, the operation time of the arithmetic processor is not constant.

本発明の実施形態が解決しようとする課題は、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる共有メモリアクセスシステムおよび共有メモリアクセス方法を提供することを目的とする。   A problem to be solved by an embodiment of the present invention is to provide a shared memory access system and a shared memory access method in which a plurality of processors can access the shared memory without competing for access to the shared memory. Objective.

上記課題を解決するために、実施形態の共有メモリアクセスシステムは、第1プロセッサと、第2プロセッサと、前記第1および第2プロセッサによって共有される共有メモリとを備え、前記第2プロセッサと接続された伝送路へ送信データを送信し、前記伝送路から受信データを受信して、前記共有メモリを介して前記第1および第2プロセッサの間で前記送信データと前記受信データとのアクセスを行う共有メモリアクセスシステムである。前記共有メモリは、前記アクセスの際に前記送信データおよび前記受信データを記憶する少なくとも1つのバンク手段を備え、前記バンク手段は、前記送信データおよび前記受信データを記憶し、バンク切り替え可能な第1および第2送受信領域バンクと、前記第1および第2送受信領域バンクのバンク切り替えを制御するバンク制御手段と、を有し、前記第2プロセッサは、前記バンク制御手段にバンク切替指令を送り、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な一方に前記受信データを書き込み、または、前記第1または前記第2送受信領域バンクのアクセス可能な他方から前記送信データを読み出し、前記第1プロセッサは、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な前記一方から前記受信データを読み出し、または、前記第1または前記第2送受信領域バンクのアクセス可能な前記他方に前記送信データを書き込むことを特徴とする。   In order to solve the above problems, a shared memory access system according to an embodiment includes a first processor, a second processor, and a shared memory shared by the first and second processors, and is connected to the second processor. The transmission data is transmitted to the transmission path, the reception data is received from the transmission path, and the transmission data and the reception data are accessed between the first and second processors via the shared memory. A shared memory access system. The shared memory includes at least one bank unit that stores the transmission data and the reception data at the time of the access, and the bank unit stores the transmission data and the reception data, and is capable of bank switching. And a second transmission / reception area bank, and bank control means for controlling bank switching of the first and second transmission / reception area banks, the second processor sends a bank switching command to the bank control means, In response to bank switching, the received data is written to one accessible side of the first or second transmission / reception area bank, or the transmission data is sent from the other accessible side of the first or second transmission / reception area bank. Read, the first processor, depending on the bank switching, the first or second transmission / reception Reading the received data from the one accessible the area bank, or, and writes the transmission data accessible the other of said first or said second transmitting and receiving area banks.

また、上記課題を解決するために、実施形態の共有メモリアクセス方法は、第1プロセッサと、第2プロセッサと、前記第1および第2プロセッサによって共有される共有メモリとを備え、前記第2プロセッサと接続された伝送路へ送信データを送信し、前記伝送路から受信データを受信するために、前記共有メモリは、前記送信データおよび前記受信データを記憶しバンク切り替え可能な第1および第2送受信領域バンクと、前記第1および第2送受信領域バンクのバンク切り替えを制御するバンク制御手段とを有する少なくとも1つのバンク手段を備え、前記共有メモリを介して、前記第1および第2プロセッサの間で前記送信データと前記受信データとのアクセスを行う共有メモリアクセスシステムに用いられる共有メモリアクセス方法である。当該共有メモリアクセス方法は、前記第2プロセッサが、前記バンク制御手段にバンク切替指令を送るバンク切替指令ステップと、前記第2プロセッサが、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な一方に前記受信データを書き込み、または、前記第1または前記第2送受信領域バンクのアクセス可能な他方から前記送信データを読み出す第2プロセッサアクセスステップと、前記第1プロセッサが、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な前記一方から前記受信データを読み出し、または、前記第1または前記第2送受信領域バンクのアクセス可能な前記他方に前記送信データを書き込む第1プロセッサアクセスステップと、を含むことを特徴とする。   In order to solve the above problem, a shared memory access method according to an embodiment includes a first processor, a second processor, and a shared memory shared by the first and second processors, and the second processor. The shared memory stores the transmission data and the reception data and can switch banks to transmit and receive transmission data to a transmission line connected to the transmission line and receive reception data from the transmission line. At least one bank means having an area bank and bank control means for controlling bank switching between the first and second transmission / reception area banks, and between the first and second processors via the shared memory Shared memory access method used in a shared memory access system for accessing the transmission data and the reception data It is. The shared memory access method includes: a bank switching command step in which the second processor sends a bank switching command to the bank control means; and the second processor performs the first or second transmission / reception according to the bank switching. A second processor access step of writing the received data to one accessible area bank or reading the transmitted data from the other accessible area of the first or second transmitting / receiving area bank; and In response to the bank switching, the received data is read from the accessible one of the first or second transmitting / receiving area banks, or the other accessible to the first or second transmitting / receiving area bank is A first processor access step for writing transmission data. And butterflies.

本発明に係る共有メモリアクセスシステムおよび共有メモリアクセス方法の実施形態によれば、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   According to the embodiments of the shared memory access system and the shared memory access method according to the present invention, a plurality of processors can access the shared memory without competing for access to the shared memory.

本発明に係る共有メモリアクセスシステムの第1および第2の実施形態の構成を示すブロック図。The block diagram which shows the structure of 1st and 2nd embodiment of the shared memory access system which concerns on this invention. 第1の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図。The figure which shows the control processing timing of the shared memory access system of 1st Embodiment. 第1の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図。FIG. 3 is a flowchart showing a shared memory access processing flow of the arithmetic processing processor according to the first embodiment. 第1の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図。FIG. 3 is a flowchart showing a shared memory access processing flow of the communication processor according to the first embodiment. 第2の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図。The figure which shows the control processing timing of the shared memory access system of 2nd Embodiment. 第2の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図。The flowchart which shows the shared memory access processing flow of the arithmetic processing processor of 2nd Embodiment. 本発明に係る共有メモリアクセスシステムの第3の実施形態の構成を示すブロック図。The block diagram which shows the structure of 3rd Embodiment of the shared memory access system which concerns on this invention. 第3の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図。The figure which shows the control processing timing of the shared memory access system of 3rd Embodiment. 第3の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図。The flowchart which shows the shared memory access processing flow of the arithmetic processing processor of 3rd Embodiment. 第3の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図。The flowchart which shows the shared memory access processing flow of the communication processing processor of 3rd Embodiment. 本発明に係る共有メモリアクセスシステムの第4の実施形態の構成を示すブロック図。The block diagram which shows the structure of 4th Embodiment of the shared memory access system which concerns on this invention. 第4の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図。The figure which shows the control processing timing of the shared memory access system of 4th Embodiment. 第4の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図。The flowchart which shows the shared memory access processing flow of the arithmetic processing processor of 4th Embodiment. 第4の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図。The flowchart which shows the shared memory access processing flow of the communication processing processor of 4th Embodiment. 本発明に係る共有メモリアクセスシステムの第5の実施形態の構成を示すブロック図。The block diagram which shows the structure of 5th Embodiment of the shared memory access system which concerns on this invention. 本発明に係る共有メモリアクセスシステムの第6の実施形態の構成を示すブロック図。The block diagram which shows the structure of 6th Embodiment of the shared memory access system which concerns on this invention. 本発明に係る共有メモリアクセスシステムの第7の実施形態の構成を示すブロック図。The block diagram which shows the structure of 7th Embodiment of the shared memory access system which concerns on this invention. 従来技術の共有メモリアクセスシステムの構成を示すブロック図。The block diagram which shows the structure of the shared memory access system of a prior art. 従来技術の共有メモリアクセスシステムの制御処理タイミングを示す図。The figure which shows the control processing timing of the shared memory access system of a prior art.

以下、本発明に係る実施形態の共有メモリアクセスシステムおよび共有メモリアクセス方法について、図面を参照して具体的に説明する。ここで、互いに同一または類似の部分には共通の符号を付して、重複する説明は省略する。ここで説明する下記の実施形態はいずれも、2つのプロセッサを用いた共有メモリアクセスシステムおよび共有メモリアクセス方法の一例をとりあげて説明する。   Hereinafter, a shared memory access system and a shared memory access method according to embodiments of the present invention will be specifically described with reference to the drawings. Here, the same or similar parts are denoted by common reference numerals, and redundant description is omitted. Each of the following embodiments described here will be described by taking an example of a shared memory access system and a shared memory access method using two processors.

[第1の実施形態]
図1は、本発明に係る共有メモリアクセスシステムの第1および第2の実施形態の構成を示すブロック図である。図2は、第1の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図である。また、図3は第1の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図であり、図4は第1の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。なお、第2の実施形態の共有メモリアクセスシステムについては、後述する。
[First Embodiment]
FIG. 1 is a block diagram showing a configuration of first and second embodiments of a shared memory access system according to the present invention. FIG. 2 is a diagram illustrating control processing timing of the shared memory access system according to the first embodiment. FIG. 3 is a flowchart showing the shared memory access processing flow of the arithmetic processor according to the first embodiment, and FIG. 4 is a flowchart showing the shared memory access processing flow of the communication processor according to the first embodiment. is there. The shared memory access system according to the second embodiment will be described later.

共有メモリアクセスシステム20aは、図1に示すように、演算処理プロセッサ(第1プロセッサ)1aと、通信処理プロセッサ(第2プロセッサ)2aと、演算処理プロセッサ1aおよび通信処理プロセッサ2aによって共有される共有メモリ10aとを備えている。   As shown in FIG. 1, the shared memory access system 20a is shared by the arithmetic processing processor (first processor) 1a, the communication processing processor (second processor) 2a, the arithmetic processing processor 1a, and the communication processing processor 2a. And a memory 10a.

共有メモリアクセスシステム20aは、通信処理プロセッサ2aと接続された伝送路3を介して図示しない通信先に送信データを送信し、通信先から受信データを受信する。また、共有メモリアクセスシステム20aは、共有メモリ10aを介して、演算処理プロセッサ1aおよび通信処理プロセッサ2aの間で送信データと受信データとのアクセスを行う。   The shared memory access system 20a transmits transmission data to a communication destination (not shown) via the transmission path 3 connected to the communication processor 2a, and receives reception data from the communication destination. In addition, the shared memory access system 20a accesses transmission data and reception data between the arithmetic processing processor 1a and the communication processing processor 2a via the shared memory 10a.

演算処理プロセッサ1aは、共有メモリアクセスシステム20aにおいて、主に受信データを用いて演算処理を実行し、適宜、演算処理の結果を送信データとして生成するCPU(Central Processing Unit)である。演算処理プロセッサ1aは、例えばプラントデータなどの受信データから、所定のプラント予測結果などを算出し、その算出データを送信データとして、伝送路3を介して送信先に送信する。   The arithmetic processing processor 1a is a CPU (Central Processing Unit) that executes arithmetic processing mainly using received data in the shared memory access system 20a and appropriately generates the result of the arithmetic processing as transmission data. The arithmetic processor 1a calculates, for example, a predetermined plant prediction result from received data such as plant data, and transmits the calculated data as transmission data to the transmission destination via the transmission path 3.

通信処理プロセッサ2aは、共有メモリアクセスシステム20aにおいて、伝送路3から受信データを受信し、伝送路3へ送信データを送信する通信処理を実行するCPUである。   The communication processor 2a is a CPU that executes communication processing for receiving received data from the transmission path 3 and transmitting transmission data to the transmission path 3 in the shared memory access system 20a.

伝送路3は、データ送受信可能な通信路であり、例えば物理的な構造としては基板上のパターン、集積回路上のパターン、通信ケーブルなどである。また、伝送路3は、伝送方式としては、例えばシリアル通信であってもよく、パラレル通信であってもよい。   The transmission path 3 is a communication path capable of transmitting and receiving data. For example, the physical structure is a pattern on a substrate, a pattern on an integrated circuit, a communication cable, or the like. In addition, the transmission path 3 may be a serial communication or a parallel communication, for example.

共有メモリ10aは、演算処理プロセッサ1aおよび通信処理プロセッサ2aのいずれからもアクセス可能なメモリである。共有メモリ10aは、送信データおよび受信データを記憶する少なくとも1つのバンク手段10rsaを備えている。   The shared memory 10a is a memory that can be accessed from both the arithmetic processing processor 1a and the communication processing processor 2a. The shared memory 10a includes at least one bank unit 10rsa that stores transmission data and reception data.

バンク手段10rsaは、さらに、第1送受信領域バンク10rs1および第2送受信領域バンク10rs2の少なくとも2つのバンクと、バンク切替要求フラグ手段11aおよびバンク切替制御手段12aからなるバンク制御手段15aを有している。   The bank unit 10rsa further includes at least two banks, a first transmission / reception region bank 10rs1 and a second transmission / reception region bank 10rs2, and a bank control unit 15a including a bank switching request flag unit 11a and a bank switching control unit 12a. .

なお、例えばバンク手段10rsaが共有メモリ10aに備えられ、バンク切替要求フラグ手段11a、バンク切替制御手段12a等が設定レジスタとして構成されても、本実施形態の変形例として構成可能であることは言うまでもない。また、図1に示すバンク制御手段15aは、バンク制御手段15の一つの実施例であり、バンク制御手段15の他の実施例については、第2の実施形態以降に示す。   For example, even if the bank unit 10rsa is provided in the shared memory 10a and the bank switching request flag unit 11a, the bank switching control unit 12a, and the like are configured as setting registers, it is needless to say that the configuration can be configured as a modification of the present embodiment. Yes. The bank control unit 15a shown in FIG. 1 is one example of the bank control unit 15, and other examples of the bank control unit 15 will be described in the second and subsequent embodiments.

第1送受信領域バンク10rs1および第2送受信領域バンク10rs2は、互いに一方から他方へバンク切り替え可能である。第1送受信領域バンク10rs1および第2送受信領域バンク10rs2は、各々、送信データおよび受信データを記憶可能である。   The first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 can be switched from one to the other. The first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 can store transmission data and reception data, respectively.

ここで、バンクとは、共有メモリ10a内において所定の記憶容量で区分され、割り当てられた記憶領域である。異なるバンクには、異なる記憶領域が割り当てられる。また、例えば第1送受信領域バンク10rs1および第2送受信領域バンク10rs2の2つのバンクの場合、演算処理プロセッサ1aが第1送受信領域バンク10rs1にRD(読み出し)/WR(書き込み)アクセスできる状態であり、第2送受信領域バンク10rs2にはRD(読み出し)/WR(書き込み)アクセスできない(アクセス不可)状態にある。したがって、図2に示すようにバンク切り替えによって、アクセス可能なバンクを切り替える。例えば、前述の例では、バンク切り替え後に、演算処理プロセッサ1aが第1送受信領域バンク10rs1にアクセス不可な状態となり、第2送受信領域バンク10rs2にはアクセス可能な状態となる。   Here, the bank is a storage area that is divided and allocated by a predetermined storage capacity in the shared memory 10a. Different storage areas are allocated to different banks. Further, for example, in the case of two banks, the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2, the arithmetic processor 1a can access the first transmission / reception area bank 10rs1 by RD (read) / WR (write). The second transmission / reception area bank 10rs2 is in an RD (read) / WR (write) inaccessible (inaccessible) state. Therefore, as shown in FIG. 2, the accessible bank is switched by bank switching. For example, in the above-described example, after the bank switching, the arithmetic processor 1a becomes inaccessible to the first transmission / reception area bank 10rs1, and becomes accessible to the second transmission / reception area bank 10rs2.

図1に示すバンク制御手段15aは、演算処理プロセッサ1aがRD/WRアクセス可能なバンクと、通信処理プロセッサ2aがRD/WRアクセス可能なバンクとを相互に切り替える。すなわち、バンク制御手段15aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2の一方を演算処理プロセッサ1aがRD/WRアクセス可能なバンクとし、その他方を通信処理プロセッサ2aがRD/WRアクセス可能なバンクとする。そのために、バンク切替要求フラグ手段11aおよびバンク切替制御手段12aが、以下のような処理を実行する。   The bank control means 15a shown in FIG. 1 switches between a bank in which the arithmetic processor 1a can access RD / WR and a bank in which the communication processor 2a can access RD / WR. That is, the bank control means 15a makes one of the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 a bank in which the arithmetic processor 1a can perform RD / WR access, and the other one by the communication processing processor 2a performs RD / WR access. Make it a possible bank. For this purpose, the bank switching request flag means 11a and the bank switching control means 12a execute the following processing.

バンク切替要求フラグ手段11aは、演算処理プロセッサ1aから送られる第1送受信領域バンク10rs1および第2送受信領域バンク10rs2の間の切替要求(バンク切替要求)を示すフラグを設定(フラグをセット)する。   The bank switching request flag means 11a sets (sets a flag) a flag indicating a switching request (bank switching request) between the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 sent from the arithmetic processor 1a.

また、バンク切替要求フラグ手段11aは、バンク切り替え後に、設定されたフラグを解除(フラグをクリア)する。すなわち、バンク切替要求フラグ手段11aは、演算処理プロセッサ1aからのバンク切替要求を受け付けてバンク切替要求フラグをセットする。   Further, the bank switching request flag means 11a cancels the set flag (clears the flag) after bank switching. That is, the bank switching request flag means 11a accepts a bank switching request from the arithmetic processor 1a and sets a bank switching request flag.

バンク切替制御手段12aは、演算処理プロセッサ1aおよび通信処理プロセッサ2aがアクセスするバンクについて、バンク切り替えを制御する。バンク切替制御手段12aは、通信処理プロセッサ2aからのバンク切替指令に応じて、バンク切り替えを制御する。また、バンク切替要求フラグ手段11aは、バンク切り替え後、バンク切替要求フラグをクリアする。   The bank switching control means 12a controls bank switching for the banks accessed by the arithmetic processing processor 1a and the communication processing processor 2a. The bank switching control means 12a controls bank switching in response to a bank switching command from the communication processor 2a. Further, the bank switching request flag means 11a clears the bank switching request flag after bank switching.

例えば、バンク切替制御手段12aは、演算処理プロセッサ1aによりRD/WRアクセスされているバンクが第1送受信領域バンク10rs1であり、通信処理プロセッサ2aによりRD/WRアクセスされているバンクが第2送受信領域バンク10rs2である場合に、バンク切替制御により演算処理プロセッサ1aによりRD/WRアクセスされるバンクを第2送受信領域バンク10rs2とし、通信処理プロセッサ2aによりRD/WRアクセスされるバンクを第1送受信領域バンク10rs1とするようにバンクを切り替える。この切り替え後、バンク切替要求フラグ手段11aによりバンク切替要求フラグがリセットされる。   For example, the bank switching control means 12a is configured such that the bank that is RD / WR accessed by the arithmetic processor 1a is the first transmission / reception area bank 10rs1, and the bank that is RD / WR accessed by the communication processor 2a is the second transmission / reception area. In the case of the bank 10rs2, the bank that is RD / WR accessed by the arithmetic processor 1a by the bank switching control is the second transmission / reception area bank 10rs2, and the bank that is RD / WR accessed by the communication processor 2a is the first transmission / reception area bank. The bank is switched to 10 rs1. After this switching, the bank switching request flag is reset by the bank switching request flag means 11a.

次に、図2を参照しながら、共有メモリアクセスシステム20aの制御処理タイミングについて説明する。   Next, the control processing timing of the shared memory access system 20a will be described with reference to FIG.

演算処理プロセッサ1aは、例えば図2に示す制御処理S1aの制御周期中の始めの処理に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な一方(例えば第1送受信領域バンク10rs1とする)から受信データを読み出す。   For example, the arithmetic processor 1a can perform RD / WR accessible one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (for example, the first transmission / reception area bank) in the first process in the control cycle of the control process S1a illustrated in FIG. The received data is read from the area bank 10rs1.

受信データを読み出し後、制御周期中の次の処理に、演算処理プロセッサ1aは、受信データを用いて演算処理を実行する。   After reading the received data, the arithmetic processor 1a performs arithmetic processing using the received data for the next processing in the control cycle.

演算処理プロセッサ1aは、制御周期中の次々の処理に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な一方へ送信データを書き込む。送信データを書き込み後、演算処理プロセッサ1aは、バンク切替要求フラグ手段11aにバンク切替要求を送る。   The arithmetic processor 1a writes the transmission data to one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 that can be RD / WR accessible in successive processes during the control cycle. After writing the transmission data, the arithmetic processor 1a sends a bank switching request to the bank switching request flag means 11a.

バンク切替要求を送った後、演算処理プロセッサ1aは、次の制御周期の処理動作まで待つ。   After sending the bank switching request, the arithmetic processor 1a waits until the processing operation of the next control cycle.

以上説明した制御処理S1aを、演算処理プロセッサ1aは、制御周期ごとに繰り返し実行する。   The arithmetic processor 1a repeatedly executes the control process S1a described above every control cycle.

一方、通信処理プロセッサ2aでは、前述した演算処理プロセッサ1aの制御処理S1aに並行して、以下の制御処理S2aが実行される。   On the other hand, in the communication processing processor 2a, the following control processing S2a is executed in parallel with the control processing S1a of the arithmetic processing processor 1a.

制御処理S2aに示すように、通信処理プロセッサ2aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な他方(例えば第2送受信領域バンク10rs2とする)に受信データを書き込む。   As shown in the control process S2a, the communication processor 2a sends the received data to the other RD / WR accessible one (for example, the second transmission / reception area bank 10rs2) of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2. Write.

次に、通信処理プロセッサ2aは、バンク切替要求をチェックする。すなわち、通信処理プロセッサ2aは、バンク切替要求フラグ手段11aにバンク切替要求フラグがセットされていない場合、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な他方に受信データを書き込む。   Next, the communication processor 2a checks the bank switching request. That is, when the bank switching request flag is not set in the bank switching request flag means 11a, the communication processor 2a receives the received data on the other side of the first transmitting / receiving area bank 10rs1 or the second transmitting / receiving area bank 10rs2 that can be accessed by RD / WR. Write.

一方、通信処理プロセッサ2aは、バンク切替要求フラグ手段11aにバンク切替要求フラグがセットされている場合に、バンク切替制御手段12aにバンク切替指令を送る。通信処理プロセッサ2aは、バンク切り替え後に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2の一方(例えば第1送受信領域バンク10rs1とする)から送信データを読み出す。   On the other hand, the communication processor 2a sends a bank switching command to the bank switching control unit 12a when the bank switching request flag is set in the bank switching request flag unit 11a. After the bank switching, the communication processor 2a reads transmission data from one of the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 (for example, the first transmission / reception area bank 10rs1).

以上説明した制御処理S2aを、通信処理プロセッサ2aは、演算処理プロセッサ1aの制御処理S1aに並行して、実行する。   The communication processing processor 2a executes the control processing S2a described above in parallel with the control processing S1a of the arithmetic processing processor 1a.

なお、前述した説明では、一方を第1送受信領域バンク10rs1とし、他方を第2送受信領域バンク10rs2としたが、バンク切り替え後では、一方が第2送受信領域バンク10rs2であり、他方が第1送受信領域バンク10rs1となる。また、同様に、バンク切り替えの都度、以上のような動作を交互に繰り返す。   In the above description, one is the first transmission / reception area bank 10rs1 and the other is the second transmission / reception area bank 10rs2, but after switching the bank, one is the second transmission / reception area bank 10rs2, and the other is the first transmission / reception area bank 10rs2. The region bank 10rs1 is obtained. Similarly, each time the bank is switched, the above operation is repeated alternately.

以上説明したような処理を、図2に示すように、演算処理プロセッサ1aおよび通信処理プロセッサ2aが繰り返す。図2では、受信データを通信処理プロセッサ2aから演算処理プロセッサ1aへ伝送する伝送時間traである。また、送信データを演算処理プロセッサ1aから通信処理プロセッサ2aへ伝送する伝送時間tsaである。   The processing described above is repeated by the arithmetic processor 1a and the communication processor 2a as shown in FIG. In FIG. 2, it is the transmission time tra which transmits received data from the communication processor 2a to the arithmetic processor 1a. Further, it is a transmission time tsa for transmitting transmission data from the arithmetic processing processor 1a to the communication processing processor 2a.

共有メモリアクセスシステム20aでは、図2に示すように、「通信処理プロセッサ2aの受信データ書き込み時間<演算処理プロセッサ1aの次の制御周期待ち時間」を満たすように、すなわち、通信処理プロセッサ2aの受信データ書き込み時間が演算処理プロセッサ1aの次の制御周期待ち時間より小さくなるようにされている。これにより、演算処理プロセッサ1aおよび通信処理プロセッサ2aのアクセスが競合することなく、共有メモリ10aにアクセスすることができる。   In the shared memory access system 20a, as shown in FIG. 2, the reception data write time of the communication processor 2a <the next control cycle waiting time of the arithmetic processor 1a is satisfied, that is, the reception of the communication processor 2a. The data writing time is made shorter than the next control cycle waiting time of the arithmetic processor 1a. Thereby, the shared memory 10a can be accessed without contention between accesses of the arithmetic processing processor 1a and the communication processing processor 2a.

以下、図1に示す演算処理プロセッサ1aの共有メモリアクセス処理フローについて、図3を参照しながら説明する。なお、以下のフローの説明と、図3および図4では、RD/WRアクセス可能をアクセス可能と略して記す。   Hereinafter, the shared memory access processing flow of the arithmetic processor 1a shown in FIG. 1 will be described with reference to FIG. In the following description of the flow and FIGS. 3 and 4, RD / WR accessible is abbreviated as accessible.

演算処理プロセッサ1aの処理が開始されると、演算処理プロセッサ1aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な一方から受信データを読み出す(ステップS1)。   When the processing of the arithmetic processor 1a is started, the arithmetic processor 1a reads the received data from the accessible one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S1).

次に、演算処理プロセッサ1aは、読み出した受信データを用いて演算処理を実行する(ステップS2)。   Next, the arithmetic processor 1a performs arithmetic processing using the read received data (step S2).

次に、演算処理プロセッサ1aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な一方へ送信データを書き込む(ステップS3)。   Next, the arithmetic processor 1a writes the transmission data to one accessible side of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S3).

次に、演算処理プロセッサ1aは、バンク切替要求フラグ手段11aにバンク切替要求を送る(ステップS4)。すなわち、バンク切替要求フラグ手段11aによりバンク切替要求フラグがセットされる。   Next, the processor 1a sends a bank switching request to the bank switching request flag means 11a (step S4). That is, the bank switching request flag is set by the bank switching request flag means 11a.

演算処理プロセッサ1aは、次の制御周期か否か判断する(ステップS5)。次の制御周期でない場合(ステップS5のNo)、演算処理プロセッサ1aは、ステップS5の処理に戻る。一方、次の制御周期である場合(ステップS5のYes)、演算処理プロセッサ1aは、ステップS1の処理に戻す。以降、前述したステップS1〜S5の処理を繰り返す。   The arithmetic processor 1a determines whether or not it is the next control cycle (step S5). When it is not the next control cycle (No in step S5), the arithmetic processor 1a returns to the process in step S5. On the other hand, when it is the next control cycle (Yes in step S5), the arithmetic processor 1a returns to the process in step S1. Henceforth, the process of step S1-S5 mentioned above is repeated.

次に、図1に示す通信処理プロセッサ2aの共有メモリアクセス処理フローについて図4を参照しながら説明する。   Next, the shared memory access processing flow of the communication processor 2a shown in FIG. 1 will be described with reference to FIG.

通信処理プロセッサ2aの処理が開始されると、通信処理プロセッサ2aは、伝送路3を介して、受信データを受信したか否か判断する(ステップS10)。受信データを受信していない場合(ステップS10のNo)、通信処理プロセッサ2aは、ステップS12の処理へ進める。一方、受信データを受信した場合(ステップS10のYes)、通信処理プロセッサ2aは、ステップS11の処理へ進める。   When the processing of the communication processor 2a is started, the communication processor 2a determines whether or not received data has been received via the transmission path 3 (step S10). When the reception data is not received (No in step S10), the communication processor 2a proceeds to the process in step S12. On the other hand, when the received data is received (Yes in step S10), the communication processor 2a proceeds to the process in step S11.

通信処理プロセッサ2aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な他方に受信データを書き込む(ステップS11)。   The communication processor 2a writes the received data to the other accessible side of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S11).

次に、通信処理プロセッサ2aは、バンク切替要求があるか否か判断する(ステップS12)。バンク切替要求がない場合(ステップS12のNo)、処理をステップS10に戻す。   Next, the communication processor 2a determines whether or not there is a bank switching request (step S12). If there is no bank switching request (No in step S12), the process returns to step S10.

一方、バンク切替要求がある場合(ステップS12のYes)、通信処理プロセッサ2aは、バンク切替制御手段12aを介して、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセスするバンクを他方から一方へ切り替える(ステップS13)。   On the other hand, when there is a bank switching request (Yes in step S12), the communication processor 2a selects a bank to be accessed by the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 from the other via the bank switching control unit 12a. Switch to one (step S13).

バンク切り替え後、通信処理プロセッサ2aは、バンク切替要求フラグ手段11aのフラグクリア(リセット)をチェックする(ステップS14)。   After the bank switching, the communication processor 2a checks whether the bank switching request flag means 11a is cleared (reset) (step S14).

フラグクリアをチェック後、通信処理プロセッサ2aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な一方から送信データを読み出す(ステップS15)。   After checking the flag clear, the communication processor 2a reads the transmission data from the accessible one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S15).

次に、通信処理プロセッサ2aは、送信データの更新がある場合に、伝送路3を介して、送信データを送信する(ステップS16)。この後、通信処理プロセッサ2aは、処理をステップS10に戻す。以降、前述したステップS10〜S16の処理を繰り返す。   Next, when there is an update of transmission data, the communication processor 2a transmits the transmission data via the transmission path 3 (step S16). Thereafter, the communication processor 2a returns the process to step S10. Henceforth, the process of step S10-S16 mentioned above is repeated.

以上説明したように、第1の実施形態によれば、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   As described above, according to the first embodiment, a plurality of processors can access the shared memory without competing for access to the shared memory.

[第2の実施形態]
図5は、第2の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図である。また、図6は、第2の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。なお、本発明に係る共有メモリアクセスシステムの第2の実施形態の構成を示すブロック図は、前述した図1と同様である。
[Second Embodiment]
FIG. 5 is a diagram illustrating control processing timing of the shared memory access system according to the second embodiment. FIG. 6 is a flowchart showing a shared memory access processing flow of the arithmetic processing processor according to the second embodiment. The block diagram showing the configuration of the second embodiment of the shared memory access system according to the present invention is the same as FIG. 1 described above.

以下、図1、図5および図6を参照しながら、第2の実施形態の共有メモリアクセスシステムについて説明する。はじめに、図5を参照しながら、共有メモリアクセスシステム20aの制御処理タイミング(他の例)について説明する。   Hereinafter, the shared memory access system according to the second embodiment will be described with reference to FIGS. 1, 5, and 6. First, the control processing timing (another example) of the shared memory access system 20a will be described with reference to FIG.

演算処理プロセッサ1aは、例えば図5に示す制御処理S1a2の制御周期中の始めの処理に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な一方(例えば第1送受信領域バンク10rs1とする)から受信データを読み出す。   For example, the arithmetic processor 1a can perform RD / WR accessible one (for example, the first transmission / reception area bank) of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 in the first process in the control cycle of the control process S1a2 illustrated in FIG. The received data is read from the area bank 10rs1.

受信データを読み出し後、制御周期中の次の処理として、演算処理プロセッサ1aは、受信データを用いて演算処理を実行する。   After reading out the received data, the arithmetic processor 1a executes arithmetic processing using the received data as the next processing in the control cycle.

演算処理プロセッサ1aは、制御周期中の次々の処理に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な一方へ送信データを書き込む。送信データを書き込み後、演算処理プロセッサ1aは、バンク切替要求フラグ手段11aにバンク切替要求を送る。   The arithmetic processor 1a writes the transmission data to one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 that can be RD / WR accessible in successive processes during the control cycle. After writing the transmission data, the arithmetic processor 1a sends a bank switching request to the bank switching request flag means 11a.

バンク切替要求を送った後、演算処理プロセッサ1aは、次の制御周期の処理動作まで待つ。   After sending the bank switching request, the arithmetic processor 1a waits until the processing operation of the next control cycle.

以上説明した制御処理S1a2を、演算処理プロセッサ1aは、制御周期ごとに繰り返し実行する。   The arithmetic processor 1a repeatedly executes the control process S1a2 described above for each control cycle.

一方、通信処理プロセッサ2aでは、前述した演算処理プロセッサ1aの制御処理S1a2に並行して、以下の制御処理S2a2が実行される。   On the other hand, in the communication processing processor 2a, the following control processing S2a2 is executed in parallel with the control processing S1a2 of the arithmetic processing processor 1a.

制御処理S2a2に示すように、通信処理プロセッサ2aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な他方(例えば第2送受信領域バンク10rs2とする)に受信データを書き込む。   As shown in the control process S2a2, the communication processor 2a sends the received data to the other RD / WR accessible one (for example, the second transmission / reception area bank 10rs2) of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2. Write.

次に、通信処理プロセッサ2aは、バンク切替要求をチェックする。すなわち、通信処理プロセッサ2aは、バンク切替要求フラグ手段11aにバンク切替要求フラグがセットされていない場合、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のRD/WRアクセス可能な他方に受信データを書き込む。一方、通信処理プロセッサ2aは、バンク切替要求フラグ手段11aにバンク切替要求フラグがセットされている場合に、バンク切替制御手段12aにバンク切替指令を送る。   Next, the communication processor 2a checks the bank switching request. That is, when the bank switching request flag is not set in the bank switching request flag means 11a, the communication processor 2a receives the received data on the other side of the first transmitting / receiving area bank 10rs1 or the second transmitting / receiving area bank 10rs2 that can be accessed by RD / WR. Write. On the other hand, the communication processor 2a sends a bank switching command to the bank switching control unit 12a when the bank switching request flag is set in the bank switching request flag unit 11a.

通信処理プロセッサ2aは、バンク切り替え後に、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2の一方(例えば第1送受信領域バンク10rs1とする)から送信データを読み出す。   After the bank switching, the communication processor 2a reads transmission data from one of the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 (for example, the first transmission / reception area bank 10rs1).

以上説明した制御処理S2a2を、通信処理プロセッサ2aは、演算処理プロセッサ1aの制御処理S1a2に並行して、実行する。   The communication processing processor 2a executes the control processing S2a2 described above in parallel with the control processing S1a2 of the arithmetic processing processor 1a.

なお、前述した説明では、一方を第1送受信領域バンク10rs1とし、他方を第2送受信領域バンク10rs2としたが、バンク切り替え後では、一方が第2送受信領域バンク10rs2であり、他方が第1送受信領域バンク10rs1となる。また、同様に、バンク切り替えの都度、以上のような動作を交互に繰り返す。   In the above description, one is the first transmission / reception area bank 10rs1 and the other is the second transmission / reception area bank 10rs2, but after switching the bank, one is the second transmission / reception area bank 10rs2, and the other is the first transmission / reception area bank 10rs2. The region bank 10rs1 is obtained. Similarly, each time the bank is switched, the above operation is repeated alternately.

以上説明したような処理を、図5に示すように、演算処理プロセッサ1aおよび通信処理プロセッサ2aが繰り返す。図5では、受信データを通信処理プロセッサ2aから演算処理プロセッサ1aへ伝送する伝送時間tra2である。また、送信データを演算処理プロセッサ1aから通信処理プロセッサ2aへ伝送する伝送時間tsa2である。   The processing described above is repeated by the arithmetic processor 1a and the communication processor 2a as shown in FIG. In FIG. 5, it is a transmission time tra2 for transmitting received data from the communication processor 2a to the arithmetic processor 1a. Further, it is a transmission time tsa2 for transmitting transmission data from the arithmetic processing processor 1a to the communication processing processor 2a.

共有メモリアクセスシステム20aでは、図5に示すように、「通信処理プロセッサ2aの受信データ書き込み時間<(演算処理プロセッサ1aの次の制御周期待ち時間+演算処理時間)」を満たすように、すなわち、通信処理プロセッサ2aの受信データ書き込み時間が演算処理プロセッサ1aの次の制御周期待ち時間と演算処理時間との和より小さくなるようにされている。これにより、演算処理プロセッサ1aおよび通信処理プロセッサ2aのアクセスが競合することなく、共有メモリ10aにアクセスすることができる。   In the shared memory access system 20a, as shown in FIG. 5, the received data writing time of the communication processor 2a <(the next control cycle waiting time of the arithmetic processor 1a + the arithmetic processing time) is satisfied. The reception data write time of the communication processor 2a is made smaller than the sum of the next control cycle waiting time of the arithmetic processor 1a and the arithmetic processing time. Thereby, the shared memory 10a can be accessed without contention between accesses of the arithmetic processing processor 1a and the communication processing processor 2a.

以下、図1に示す演算処理プロセッサ1aの他の共有メモリアクセス処理フローについて、図6を参照しながら説明する。なお、以下のフローの説明と、図6では、RD/WRアクセス可能をアクセス可能と略して記す。   Hereinafter, another shared memory access processing flow of the arithmetic processor 1a shown in FIG. 1 will be described with reference to FIG. In the following description of the flow and in FIG. 6, RD / WR accessible is abbreviated as accessible.

演算処理プロセッサ1aの処理が開始されると、演算処理プロセッサ1aは、演算処理を実行する(ステップS20)。   When the processing of the arithmetic processing processor 1a is started, the arithmetic processing processor 1a executes the arithmetic processing (step S20).

次に、演算処理プロセッサ1aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な一方へ送信データを書き込む(ステップS21)。   Next, the arithmetic processor 1a writes the transmission data to one accessible side of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S21).

次に、演算処理プロセッサ1aは、第1送受信領域バンク10rs1または第2送受信領域バンク10rs2のアクセス可能な一方から受信データを読み出す(ステップS22)。   Next, the processor 1a reads the received data from the accessible one of the first transmission / reception area bank 10rs1 or the second transmission / reception area bank 10rs2 (step S22).

次に、演算処理プロセッサ1aは、バンク切替要求フラグ手段11aにバンク切替要求を送る(ステップS23)。すなわち、バンク切替要求フラグ手段11aによりバンク切替要求フラグがセットされる。   Next, the processor 1a sends a bank switching request to the bank switching request flag means 11a (step S23). That is, the bank switching request flag is set by the bank switching request flag means 11a.

次に、演算処理プロセッサ1aは、次の制御周期か否か判断する(ステップS24)。次の制御周期でない場合(ステップS24のNo)、演算処理プロセッサ1aは、ステップS24の処理に戻る。一方、次の制御周期である場合(ステップS24のYes)、演算処理プロセッサ1aは、ステップS20の処理に戻す。以降、前述したステップS20〜S24の処理を繰り返す。   Next, the arithmetic processor 1a determines whether or not it is the next control cycle (step S24). When it is not the next control cycle (No in step S24), the arithmetic processor 1a returns to the process in step S24. On the other hand, when it is the next control cycle (Yes in step S24), the arithmetic processor 1a returns to the process of step S20. Thereafter, the processes in steps S20 to S24 described above are repeated.

なお、本実施形態の通信処理プロセッサの共有メモリアクセス処理フローは、図4に示す処理フローと同様である。   Note that the shared memory access processing flow of the communication processor of this embodiment is the same as the processing flow shown in FIG.

以上説明したように、第2の実施形態によれば、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   As described above, according to the second embodiment, a plurality of processors can access the shared memory without competing for access to the shared memory.

[第3の実施形態]
図7は本発明に係る共有メモリアクセスシステムの第3の実施形態の構成を示すブロック図であり、図8は第3の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図である。また、図9は、第3の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。図10は、第3の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。
[Third Embodiment]
FIG. 7 is a block diagram showing the configuration of the third embodiment of the shared memory access system according to the present invention, and FIG. 8 is a diagram showing the control processing timing of the shared memory access system of the third embodiment. FIG. 9 is a flowchart showing a shared memory access processing flow of the arithmetic processing processor according to the third embodiment. FIG. 10 is a flowchart illustrating a shared memory access processing flow of the communication processor according to the third embodiment.

共有メモリアクセスシステム20bは、図7に示すように、演算処理プロセッサ1bと、通信処理プロセッサ2bと、演算処理プロセッサ1bおよび通信処理プロセッサ2bによって共有される共有メモリ10bとを備えている。   As shown in FIG. 7, the shared memory access system 20b includes an arithmetic processing processor 1b, a communication processing processor 2b, and a shared memory 10b shared by the arithmetic processing processor 1b and the communication processing processor 2b.

共有メモリ10bは、演算処理プロセッサ1bおよび通信処理プロセッサ2bのいずれからもアクセス可能なメモリである。共有メモリ10bは、送信データおよび受信データを記憶する少なくとも1つのバンク手段10rsbを備えている。   The shared memory 10b is a memory that can be accessed from both the arithmetic processing processor 1b and the communication processing processor 2b. The shared memory 10b includes at least one bank unit 10rsb that stores transmission data and reception data.

バンク手段10rsbは、さらに、受信領域バンク10rb、送信領域バンク10sb、受信領域バンク切替制御手段12r、送信領域バンク切替制御手段12s、受信領域演算処理プロセッサ使用中フラグ手段13r、および送信領域演算処理プロセッサ使用中フラグ手段13sを有している。   The bank means 10rsb further includes a reception area bank 10rb, a transmission area bank 10sb, a reception area bank switching control means 12r, a transmission area bank switching control means 12s, a reception area arithmetic processor busy flag means 13r, and a transmission area arithmetic processor. The in-use flag means 13s is provided.

受信領域バンク10rbは、伝送路3から受信する受信データを記憶可能である。受信領域バンク10rbは、第1受信領域バンク10r1および第2受信領域バンク10r2の少なくとも2つのバンクからなる。受信領域バンク10rbは、受信領域バンク切替制御手段12rの制御に応じて、互いに一方から他方へRDアクセス(読み出し)およびWRアクセス(書き込み)可能なバンクを切り替える。例えば、通信処理プロセッサ2bによるWRアクセス可能なバンクが、受信領域バンク切替制御手段12rの制御によって、第1受信領域バンク10r1から第2受信領域バンク10r2へ切り替えられる。また、その逆方向の切り替えも同様である。また、演算処理プロセッサ1bによるRDアクセス可能なバンクについても同様である。   The reception area bank 10rb can store reception data received from the transmission path 3. The reception area bank 10rb includes at least two banks, a first reception area bank 10r1 and a second reception area bank 10r2. The reception area bank 10rb switches banks that can perform RD access (read) and WR access (write) from one to the other according to the control of the reception area bank switching control means 12r. For example, the WR accessible bank by the communication processor 2b is switched from the first reception area bank 10r1 to the second reception area bank 10r2 under the control of the reception area bank switching control means 12r. The same applies to switching in the opposite direction. The same applies to banks that allow RD access by the arithmetic processor 1b.

送信領域バンク10sbは、伝送路3へ送信する送信データを記憶可能である。送信領域バンク10sbは、第1送信領域バンク10s1および第2送信領域バンク10s2の少なくとも2つのバンクからなる。送信領域バンク10sbは、送信領域バンク切替制御手段12sの制御に応じて、互いに一方から他方へRDアクセスおよびWRアクセス可能なバンクを切り替える。例えば、通信処理プロセッサ2bによるRDアクセス可能なバンクが、送信領域バンク切替制御手段12sの制御によって、第1送信領域バンク10s1から第2送信領域バンク10s2へ切り替えられる。また、その逆方向のバンク切り替えも同様である。また、演算処理プロセッサ1bによるWRアクセス可能なバンクについても同様である。   The transmission area bank 10sb can store transmission data to be transmitted to the transmission path 3. The transmission area bank 10sb includes at least two banks, a first transmission area bank 10s1 and a second transmission area bank 10s2. The transmission area bank 10sb switches the banks that can perform RD access and WR access from one to the other according to the control of the transmission area bank switching control means 12s. For example, the RD accessible bank by the communication processor 2b is switched from the first transmission area bank 10s1 to the second transmission area bank 10s2 under the control of the transmission area bank switching control means 12s. The same applies to bank switching in the opposite direction. The same applies to banks that can be accessed by WR by the arithmetic processor 1b.

受信領域バンク切替制御手段12rは、通信処理プロセッサ2bからの受信領域バンク切替指令に応じて、受信領域バンク10rbのバンク切り替えを制御する。すなわち、演算処理プロセッサ1bと通信処理プロセッサ2bとのRDアクセスおよびWRアクセス(アクセス)が競合しないように、互いのアクセスを第1受信領域バンク10r1および第2受信領域バンク10r2のいずれか一方から他方へバンクを切り替える。すなわち、排他的にバンクを切り替える。   The reception area bank switching control means 12r controls the bank switching of the reception area bank 10rb in response to the reception area bank switching command from the communication processor 2b. That is, the mutual access is changed from one of the first reception area bank 10r1 and the second reception area bank 10r2 to the other so that the RD access and WR access (access) between the arithmetic processor 1b and the communication processor 2b do not compete. Switch the bank. That is, the bank is switched exclusively.

送信領域バンク切替制御手段12sは、通信処理プロセッサ2bからの送信領域バンク切替指令に応じて、送信領域バンク10sbのバンク切り替えを制御する。すなわち、演算処理プロセッサ1bと通信処理プロセッサ2bとのアクセスが競合しないように、互いのアクセスを第1送信領域バンク10s1および第2送信領域バンク10s2のいずれか一方から他方へバンクを切り替える。すなわち、排他的にバンクを切り替える。   The transmission area bank switching control unit 12s controls the bank switching of the transmission area bank 10sb in response to the transmission area bank switching command from the communication processor 2b. That is, the banks are switched from one of the first transmission area bank 10s1 and the second transmission area bank 10s2 to the other so that the access between the arithmetic processor 1b and the communication processor 2b does not compete. That is, the bank is switched exclusively.

受信領域演算処理プロセッサ使用中フラグ手段13rは、演算処理プロセッサ1bが受信領域バンク10rbをアクセス中であることを示すフラグの設定および解除を行う。受信領域演算処理プロセッサ使用中フラグ手段13rは、演算処理プロセッサ1bからの受信領域バンク切替要求を受け付けて、受信領域演算処理プロセッサ使用中フラグをセットする。また、演算処理プロセッサ1bから受信領域演算処理プロセッサ使用中フラグ解除を受け付けて、受信領域演算処理プロセッサ使用中フラグをリセット(クリア)する。   The reception area arithmetic processor busy flag means 13r sets and cancels a flag indicating that the arithmetic processor 1b is accessing the reception area bank 10rb. The reception area arithmetic processor busy flag means 13r accepts a reception area bank switching request from the arithmetic processor 1b and sets a reception area arithmetic processor busy flag. Also, the reception area arithmetic processor busy flag release is received from the arithmetic processor 1b, and the reception area arithmetic processor busy flag is reset (cleared).

送信領域演算処理プロセッサ使用中フラグ手段13sは、演算処理プロセッサ1bが送信領域バンク10sbをアクセス中であることを示すフラグの設定および解除を行う。送信領域演算処理プロセッサ使用中フラグ手段13sは、演算処理プロセッサ1bからの送信領域バンク切替要求を受け付けて、送信領域演算処理プロセッサ使用中フラグをセットする。また、演算処理プロセッサ1bから送信領域演算処理プロセッサ使用中フラグ解除を受け付けて、送信領域演算処理プロセッサ使用中フラグをクリアする。   The transmission area arithmetic processor busy flag means 13s sets and cancels a flag indicating that the arithmetic processor 1b is accessing the transmission area bank 10sb. The transmission area arithmetic processor busy flag means 13s accepts a transmission area bank switching request from the arithmetic processor 1b and sets a transmission area arithmetic processor busy flag. Further, the transmission area arithmetic processor busy flag release is received from the arithmetic processor 1b, and the transmission area arithmetic processor busy flag is cleared.

なお、図1に示したバンク制御手段15の他の実施例として、図7に示す受信領域バンク切替制御手段12r、送信領域バンク切替制御手段12s、受信領域演算処理プロセッサ使用中フラグ手段13rおよび送信領域演算処理プロセッサ使用中フラグ手段13sの構成が対応する。   As another embodiment of the bank control means 15 shown in FIG. 1, the reception area bank switching control means 12r, the transmission area bank switching control means 12s, the reception area arithmetic processing processor busy flag means 13r and the transmission shown in FIG. The configuration of the area arithmetic processing processor busy flag means 13s corresponds.

また、図1に示した第1送受信領域バンク10rs1には、図7に示す第1受信領域バンク10r1および第1送信領域バンク10s1が対応し、図1に示した第2送受信領域バンクrs2には、第2受信領域バンク10r2および第2送信領域バンク10s2が対応する。第1送受信領域バンク10rs1および第2送受信領域バンク10rs2が、さらに、第1受信領域バンク10r1と第2受信領域バンク10r2との間でバンク切り替え可能な受信領域バンク10rb、および、第1送信領域バンク10s1と第2送信領域バンク10s2との間でバンク切り替え可能な送信領域バンク10sbに区分された構成に対応する。   Further, the first transmission / reception area bank 10rs1 shown in FIG. 1 corresponds to the first reception area bank 10r1 and the first transmission area bank 10s1 shown in FIG. 7, and the second transmission / reception area bank rs2 shown in FIG. The second reception area bank 10r2 and the second transmission area bank 10s2 correspond to each other. The first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2 further include a reception area bank 10rb that can be switched between the first reception area bank 10r1 and the second reception area bank 10r2, and a first transmission area bank This corresponds to a configuration in which the transmission area bank 10sb is switchable between 10s1 and the second transmission area bank 10s2.

次に、図8を参照しながら、共有メモリアクセスシステム20bの制御処理タイミングについて説明する。   Next, the control processing timing of the shared memory access system 20b will be described with reference to FIG.

制御処理S1bに示すように、演算処理プロセッサ1bは、受信領域演算処理プロセッサ使用中フラグ手段13rを介して当該フラグをセットし、RDアクセス可能な第1受信領域バンク10r1または第2受信領域バンク10r2の一方(例えば第1受信領域バンク10r1とする)から受信データを読み出す。すなわち、当該フラグをセットしている間は、演算処理プロセッサ1bにより受信領域バンク10rbが使用中とされる。   As shown in the control process S1b, the arithmetic processor 1b sets the flag via the reception area arithmetic processor in-use flag means 13r, and the RD accessible first reception area bank 10r1 or second reception area bank 10r2 The received data is read out from one of them (for example, the first receiving area bank 10r1). That is, while the flag is set, the reception processor bank 10rb is in use by the arithmetic processor 1b.

読み出し後、演算処理プロセッサ1bは、受信領域演算処理プロセッサ使用中フラグ手段13rを介して、当該フラグをクリアする。すなわち、当該フラグがクリアされている間は、演算処理プロセッサ1bにより受信領域バンク10rbが使用中でないとされる。クリア後、演算処理プロセッサ1bは、演算処理を実行する。   After reading, the arithmetic processor 1b clears the flag via the reception area arithmetic processor busy flag means 13r. That is, the reception area bank 10rb is not in use by the arithmetic processor 1b while the flag is cleared. After clearing, the arithmetic processing processor 1b executes arithmetic processing.

演算処理プロセッサ1bは、送信領域演算処理プロセッサ使用中フラグ手段13sをセットし、第1送信領域バンク10s1または第2送信領域バンク10s2のWRアクセス可能な一方(例えば第1送信領域バンク10s1とする)に送信データを書き込む。すなわち、当該フラグをセットしている間は、送信領域バンク10sbが使用中とされる。   The arithmetic processing processor 1b sets the transmission area arithmetic processing processor busy flag means 13s and allows one of the first transmission area bank 10s1 or the second transmission area bank 10s2 to be WR accessible (for example, the first transmission area bank 10s1). Write the transmission data to. That is, while the flag is set, the transmission area bank 10sb is in use.

書き込み後、演算処理プロセッサ1bは、送信領域演算処理プロセッサ使用中フラグ手段13sを介して、当該フラグをクリアする。   After the writing, the arithmetic processor 1b clears the flag via the transmission area arithmetic processor busy flag means 13s.

フラグのクリア後、演算処理プロセッサ1bは、次の制御周期の処理動作まで待つ。   After clearing the flag, the arithmetic processor 1b waits until the processing operation of the next control cycle.

以上説明した制御処理S1bを、演算処理プロセッサ1bは、制御周期ごとに繰り返し実行する。   The arithmetic processing processor 1b repeatedly executes the control processing S1b described above for each control cycle.

一方、通信処理プロセッサ2bでは、前述した演算処理プロセッサ1bの制御処理S1bに並行して、以下の制御処理S2bが実行される。   On the other hand, in the communication processing processor 2b, the following control processing S2b is executed in parallel with the control processing S1b of the arithmetic processing processor 1b described above.

制御処理S2bに示すように、通信処理プロセッサ2bは、第1受信領域バンク10r1または第2受信領域バンク10r2のWRアクセス可能な他方(例えば第2受信領域バンク10r2とする)に受信データを書き込む。   As shown in the control process S2b, the communication processor 2b writes the received data to the other WR accessible one (for example, the second reception area bank 10r2) of the first reception area bank 10r1 or the second reception area bank 10r2.

書き込み後、通信処理プロセッサ2bは、演算処理プロセッサ1bにより受信領域バンク10rbが使用中でない場合、すなわち、受信領域演算処理プロセッサ使用中フラグがクリアされている場合に、受信領域バンク切替制御手段12rに受信領域バンク切替指令を送る。これを受けた受信領域バンク切替制御手段12rは、受信領域バンク10rbを切り替える。   After writing, when the reception area bank 10rb is not in use by the arithmetic processor 1b, that is, when the reception area arithmetic processor in-use flag is cleared, the communication processor 2b notifies the reception area bank switching control means 12r. Send reception area bank switching command. Receiving this, the receiving area bank switching control means 12r switches the receiving area bank 10rb.

バンク切り替え後、通信処理プロセッサ2bは、第1受信領域バンク10r1または第2受信領域バンク10r2のWRアクセス可能な一方(例えば第1受信領域バンク10r1)に受信データを書き込む。   After the bank switching, the communication processor 2b writes the received data to the WR accessible one (for example, the first reception area bank 10r1) of the first reception area bank 10r1 or the second reception area bank 10r2.

書き込み後、通信処理プロセッサ2bは、演算処理プロセッサ1bにより受信領域バンク10rbが使用中でない場合、すなわち、受信領域演算処理プロセッサ使用中フラグがクリアされている場合に、受信領域バンク切替制御手段12rに受信領域バンク切替指令を送る。これを受けた受信領域バンク切替制御手段12rは、受信領域バンク10rbを切り替える。   After writing, when the reception area bank 10rb is not in use by the arithmetic processor 1b, that is, when the reception area arithmetic processor in-use flag is cleared, the communication processor 2b notifies the reception area bank switching control means 12r. Send reception area bank switching command. Receiving this, the receiving area bank switching control means 12r switches the receiving area bank 10rb.

次に、通信処理プロセッサ2bは、演算処理プロセッサ1bにより送信領域バンク10sbが使用中でない場合、すなわち、送信領域演算処理プロセッサ使用中フラグがクリアされている場合に、送信領域バンク切替制御手段12sに送信領域バンク切替指令を送る。これを受けた送信領域バンク切替制御手段12sは、送信領域バンク10sbを切り替える。   Next, when the transmission area bank 10sb is not in use by the arithmetic processor 1b, that is, when the transmission area arithmetic processor busy flag is cleared, the communication processor 2b sends the transmission area bank switching control means 12s to the transmission area bank switching control means 12s. Send transmission area bank switching command. Receiving this, the transmission area bank switching control means 12s switches the transmission area bank 10sb.

これにより、通信処理プロセッサ2bは、第1送信領域バンク10s1または第2送信領域バンク10s2のRDアクセス可能な一方(例えば第1送信領域バンク10s1)から送信データを読み出す。通信処理プロセッサ2bは、伝送路3を介して、図示しない送信先に読み出した送信データを送信する。   Thereby, the communication processor 2b reads the transmission data from one of the first transmission area bank 10s1 or the second transmission area bank 10s2 that can be RD-accessed (for example, the first transmission area bank 10s1). The communication processor 2b transmits the read transmission data to a transmission destination (not shown) via the transmission path 3.

以上説明したように、通信処理プロセッサ2bは、第1受信領域バンク10r1および第2受信領域バンク10r2の2つのバンクの切り替えにより、受信データの書き込み時間に制限を受けることがない。その結果、通信処理プロセッサ2bは、受信データの書き込み処理による負荷を軽減することができる。   As described above, the communication processor 2b is not limited in the reception data write time by switching between the two banks, the first reception area bank 10r1 and the second reception area bank 10r2. As a result, the communication processor 2b can reduce the load caused by the received data writing process.

以上説明した制御処理S2bを、通信処理プロセッサ2bは、演算処理プロセッサ1bの制御処理S1bに並行して、実行する。   The communication processing processor 2b executes the control processing S2b described above in parallel with the control processing S1b of the arithmetic processing processor 1b.

以下、図7に示す演算処理プロセッサ1bの共有メモリアクセス処理フローについて、図9を参照しながら説明する。なお、以下のフローの説明と、図9および図10では、RDアクセス可能およびWRアクセス可能をアクセス可能と略して記す。   Hereinafter, the shared memory access processing flow of the arithmetic processor 1b shown in FIG. 7 will be described with reference to FIG. In the following description of the flow and FIGS. 9 and 10, “RD accessible” and “WR accessible” are abbreviated as accessible.

演算処理プロセッサ1bの処理が開始されると、演算処理プロセッサ1bは、受信領域演算処理プロセッサ使用中フラグ手段13rを介して、受信領域演算処理プロセッサ使用中フラグをセットする(ステップS30)。   When the processing of the arithmetic processor 1b is started, the arithmetic processor 1b sets a reception area arithmetic processor busy flag through the reception area arithmetic processor busy flag means 13r (step S30).

次に、演算処理プロセッサ1bは、第1受信領域バンク10r1または第2受信領域バンク10r2のアクセス可能な一方から受信データを読み出す(ステップS31)。   Next, the processor 1b reads the received data from the accessible one of the first reception area bank 10r1 or the second reception area bank 10r2 (step S31).

受信データを読み出し後、演算処理プロセッサ1bは、受信領域演算処理プロセッサ使用中フラグ手段13rを介して、受信領域演算処理プロセッサ使用中フラグをクリアする(ステップS32)。   After reading the received data, the arithmetic processor 1b clears the reception area arithmetic processor busy flag via the reception area arithmetic processor busy flag means 13r (step S32).

フラグのクリア後、演算処理プロセッサ1bは、受信データを用いて演算処理を実行する(ステップS33)。   After clearing the flag, the arithmetic processing processor 1b executes arithmetic processing using the received data (step S33).

次に、演算処理プロセッサ1bは、送信領域演算処理プロセッサ使用中フラグ手段13sを介して、送信領域演算処理プロセッサ使用中フラグをセットする(ステップS34)。   Next, the arithmetic processor 1b sets a transmission area arithmetic processor busy flag through the transmission area arithmetic processor busy flag means 13s (step S34).

次に、演算処理プロセッサ1bは、第1送信領域バンク10s1または第2送信領域バンク10s2のアクセス可能な一方に送信データを書き込む(ステップS35)。   Next, the arithmetic processor 1b writes the transmission data in one accessible area of the first transmission area bank 10s1 or the second transmission area bank 10s2 (step S35).

書き込み後、演算処理プロセッサ1bは、送信領域演算処理プロセッサ使用中フラグをクリアする(ステップS36)。   After the writing, the arithmetic processor 1b clears the transmission area arithmetic processor busy flag (step S36).

次に、演算処理プロセッサ1bは、次の制御周期か否か判断する(ステップS37)。次の制御周期でない場合(ステップS37のNo)、演算処理プロセッサ1bは、ステップS37の処理に戻る。一方、次の制御周期である場合(ステップS37のYes)、演算処理プロセッサ1bは、ステップS30の処理に戻す。以降、前述したステップS30〜S37の処理を繰り返す。   Next, the arithmetic processor 1b determines whether or not it is the next control cycle (step S37). If it is not the next control cycle (No in step S37), the arithmetic processor 1b returns to the process in step S37. On the other hand, when it is the next control cycle (Yes in step S37), the arithmetic processor 1b returns to the process in step S30. Henceforth, the process of step S30-S37 mentioned above is repeated.

続いて、以下、図7に示す通信処理プロセッサ2bの共有メモリアクセス処理フローについて、図10を参照しながら説明する。   Next, the shared memory access processing flow of the communication processor 2b shown in FIG. 7 will be described with reference to FIG.

通信処理プロセッサ2bの処理が開始されると、通信処理プロセッサ2bは、伝送路3から受信データを受信したか否か判断する(ステップS40)。   When the processing of the communication processor 2b is started, the communication processor 2b determines whether or not reception data has been received from the transmission path 3 (step S40).

受信データを受信していない場合に(ステップS40のNo)、通信処理プロセッサ2bは、処理をステップS44に進める。一方、受信データを受信した場合に(ステップS40のYes)、通信処理プロセッサ2bは、処理を次のステップS41に進める。   When the reception data is not received (No in step S40), the communication processor 2b advances the process to step S44. On the other hand, when the received data is received (Yes in step S40), the communication processor 2b advances the process to the next step S41.

通信処理プロセッサ2bは、第1受信領域バンク10r1または第2受信領域バンク10r2のアクセス可能な一方に受信データを書き込む(ステップS41)。   The communication processor 2b writes the received data in one accessible area of the first reception area bank 10r1 or the second reception area bank 10r2 (step S41).

通信処理プロセッサ2bは、受信領域演算処理プロセッサ使用中フラグ手段13rから当該フラグを読み取り、受信領域バンク10rbが使用中であるか否かを判断する(ステップS42)。   The communication processor 2b reads the flag from the reception area arithmetic processor busy flag means 13r and determines whether or not the reception area bank 10rb is in use (step S42).

受信領域バンク10rbが使用中である場合に(ステップS42のYes)、通信処理プロセッサ2bは、処理をステップS42に戻す。一方、受信領域バンク10rbが使用中でない場合に(ステップS42のNo)、通信処理プロセッサ2bは、処理を次のステップS43に進める。   When the reception area bank 10rb is in use (Yes in step S42), the communication processor 2b returns the process to step S42. On the other hand, when the reception area bank 10rb is not in use (No in step S42), the communication processor 2b advances the process to the next step S43.

通信処理プロセッサ2bは、受信領域バンク切替制御手段12rを介して、受信領域バンク10rbを切り替える(ステップS43)。   The communication processor 2b switches the reception area bank 10rb via the reception area bank switching control means 12r (step S43).

次に、通信処理プロセッサ2bは、送信領域演算処理プロセッサ使用中フラグ手段13sから当該フラグを読み取り、送信領域バンク10sbが使用中であるか否かを判断する(ステップS44)。   Next, the communication processor 2b reads the flag from the transmission area arithmetic processor busy flag means 13s and determines whether or not the transmission area bank 10sb is in use (step S44).

送信領域バンクが使用中である場合に(ステップS44のYes)、通信処理プロセッサ2bは、処理をステップS44に戻す。一方、送信領域バンク10sbが使用中でない場合に(ステップS44のNo)、通信処理プロセッサ2bは、処理を次のステップS45に進める。   When the transmission area bank is in use (Yes in Step S44), the communication processor 2b returns the process to Step S44. On the other hand, when the transmission area bank 10sb is not in use (No in step S44), the communication processor 2b advances the processing to the next step S45.

通信処理プロセッサ2bは、送信領域バンク切替制御手段12sを介して、送信領域バンク10sbを切り替える(ステップS45)。   The communication processor 2b switches the transmission area bank 10sb via the transmission area bank switching control means 12s (step S45).

次に、通信処理プロセッサ2bは、第1送信領域バンク10s1または第2送信領域バンク10s2のアクセス可能な一方から送信データを読み出す(ステップS46)。   Next, the communication processor 2b reads transmission data from the accessible one of the first transmission area bank 10s1 or the second transmission area bank 10s2 (step S46).

次に、通信処理プロセッサ2bは、読み出した送信データに更新がある場合に、伝送路3を介して、送信データを送信する(ステップS47)。ステップS47の後、演算処理プロセッサ1bは、ステップS40の処理に戻す。以降、前述したステップS40〜S47の処理を繰り返す。   Next, when there is an update in the read transmission data, the communication processor 2b transmits the transmission data via the transmission path 3 (step S47). After step S47, the arithmetic processor 1b returns to the process of step S40. Henceforth, the process of step S40-S47 mentioned above is repeated.

以上説明したように、第3の実施形態によれば、複数のプロセッサが共有メモリへのアクセスを競合することなく、かつ、通信処理プロセッサの受信データ書き込み時間に制限なく、共有メモリにアクセスすることができる。   As described above, according to the third embodiment, a plurality of processors can access a shared memory without competing for access to the shared memory and without limitation on the reception data write time of the communication processor. Can do.

[第4の実施形態]
図11は本発明に係る共有メモリアクセスシステムの第4の実施形態の構成を示すブロック図であり、図12は第4の実施形態の共有メモリアクセスシステムの制御処理タイミングを示す図である。また、図13は、第4の実施形態の演算処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。図14は、第4の実施形態の通信処理プロセッサの共有メモリアクセス処理フローを示すフロー図である。
[Fourth Embodiment]
FIG. 11 is a block diagram showing the configuration of the fourth embodiment of the shared memory access system according to the present invention, and FIG. 12 is a diagram showing the control processing timing of the shared memory access system of the fourth embodiment. FIG. 13 is a flowchart showing a shared memory access processing flow of the arithmetic processing processor according to the fourth embodiment. FIG. 14 is a flowchart illustrating a shared memory access processing flow of the communication processing processor according to the fourth embodiment.

共有メモリアクセスシステム20cは、図11に示すように、演算処理プロセッサ1cと、通信処理プロセッサ2cと、演算処理プロセッサ1cおよび通信処理プロセッサ2cによって共有される共有メモリ10cとを備えている。   As shown in FIG. 11, the shared memory access system 20c includes an arithmetic processing processor 1c, a communication processing processor 2c, and a shared memory 10c shared by the arithmetic processing processor 1c and the communication processing processor 2c.

共有メモリ10cは、演算処理プロセッサ1cおよび通信処理プロセッサ2cのいずれからもアクセス可能なメモリである。共有メモリ10cは、送信データおよび受信データを記憶する少なくとも1つのバンク手段10rscを備えている。   The shared memory 10c is a memory that can be accessed from both the arithmetic processing processor 1c and the communication processing processor 2c. The shared memory 10c includes at least one bank unit 10rsc that stores transmission data and reception data.

バンク手段10rscは、さらに、受信領域バンク10rcに第1受信領域バンク10r1、第2受信領域バンク10r2および第3受信領域バンク10r3の3つのバンクと、送信領域バンク10scに第1送信領域バンク10s1、第2送信領域バンク10s2および第3送信領域バンク10s3の3つのバンクと、2つの受信領域バンク第1切替制御手段12r1および受信領域バンク第2切替制御手段12r2と、2つの送信領域バンク第1切替制御手段12s1および送信領域バンク第2切替制御手段12s2とを有している。   The bank means 10rsc further includes three banks, a first reception area bank 10r1, a second reception area bank 10r2, and a third reception area bank 10r3, in the reception area bank 10rc, and a first transmission area bank 10s1, in the transmission area bank 10sc. Three banks, a second transmission area bank 10s2 and a third transmission area bank 10s3, two reception area bank first switching control means 12r1 and a reception area bank second switching control means 12r2, and two transmission area bank first switching It has control means 12s1 and transmission area bank second switching control means 12s2.

書き込み(WRアクセス)側のバンク切替制御(受信領域バンク第2切替制御手段12r2、送信領域バンク第1切替制御手段12s1)は、受信領域バンク10rcおよび送信領域バンク10scの各々について3つのバンクのうち、読み出し(RDアクセス)側が使用していない待機バンクに切り替える制御である。なお、待機バンクは、演算処理プロセッサ1cおよび通信処理プロセッサ2cからRDアクセスおよびWRアクセスによるアクセス対象でないバンクである。詳しくは、後述する。   Bank switching control (reception area bank second switching control means 12r2 and transmission area bank first switching control means 12s1) on the write (WR access) side has three banks for each of the reception area bank 10rc and the transmission area bank 10sc. This is control for switching to a standby bank that is not used on the read (RD access) side. The standby bank is a bank that is not accessed by the RD access and the WR access from the arithmetic processor 1c and the communication processor 2c. Details will be described later.

読み出し側のバンク切替制御(受信領域バンク第1切替制御手段12r1、送信領域バンク第2切替制御手段12s2)は、受信領域バンク10rcおよび送信領域バンク10scの各々について3つのバンクのうち、読み出し側が使用していない待機バンクと現在アクセスしているバンクとのうちから最後に書き込みがあったバンクに切り替える制御である。   The bank switching control on the reading side (receiving area bank first switching control means 12r1, transmitting area bank second switching control means 12s2) is used by the reading side among the three banks for the receiving area bank 10rc and the transmitting area bank 10sc. This is control for switching from the standby bank that has not been accessed and the bank that is currently being accessed to the bank that was last written.

なお、図1に示したバンク制御手段15の他の実施例として、図11に示す2つの受信領域バンク第1切替制御手段12r1および受信領域バンク第2切替制御手段12r2と、2つの送信領域バンク第1切替制御手段12s1および送信領域バンク第2切替制御手段12s2の構成が対応する。   As another embodiment of the bank control means 15 shown in FIG. 1, there are two reception area bank first switching control means 12r1 and reception area bank second switching control means 12r2 shown in FIG. 11, and two transmission area banks. The configurations of the first switching control unit 12s1 and the transmission area bank second switching control unit 12s2 correspond to each other.

また、図1に示した第1送受信領域バンク10rs1には、図11に示す第1受信領域バンク10r1ないし第3受信領域バンク10r3からなる受信領域バンク10rcのいずれか一つのバンクと、第1送信領域バンク10s1ないし第3送信領域バンク10s3からなる送信領域バンク10scのいずれか一つのバンクとが対応する。また、第2送受信領域バンク10rs2には、受信領域バンク10rcのいずれか一つの他のバンクと、送信領域バンク10scのいずれか一つの他のバンクとが対応する。さらに、受信領域バンク10rcおよび送信領域バンク10scの残りのバンクが、第1送受信領域バンク10rs1および第2送受信領域バンク10rs2に含まれない待機バンクに対応するように区分されるものである。   Further, the first transmission / reception area bank 10rs1 shown in FIG. 1 includes one of the reception area banks 10rc including the first reception area bank 10r1 to the third reception area bank 10r3 shown in FIG. This corresponds to any one of the transmission area banks 10sc including the area bank 10s1 to the third transmission area bank 10s3. Further, the second transmission / reception area bank 10rs2 corresponds to any one other bank of the reception area bank 10rc and any other bank of the transmission area bank 10sc. Furthermore, the remaining banks of the reception area bank 10rc and the transmission area bank 10sc are divided so as to correspond to standby banks not included in the first transmission / reception area bank 10rs1 and the second transmission / reception area bank 10rs2.

次に、図12を参照しながら、共有メモリアクセスシステム20cの制御処理タイミングについて説明する。   Next, the control processing timing of the shared memory access system 20c will be described with reference to FIG.

制御処理S1cに示すように、演算処理プロセッサ1cは、受信領域バンク10rcを切り替え、第1受信領域バンク10r1、第2受信領域バンク10r2および第3受信領域バンク10r3のRDアクセス可能ないずれか一つのバンク(例えば第1受信領域バンク10r1)から受信データを読み出す。   As shown in the control process S1c, the arithmetic processor 1c switches the reception area bank 10rc and can perform RD access to the first reception area bank 10r1, the second reception area bank 10r2, and the third reception area bank 10r3. Received data is read from a bank (for example, the first reception area bank 10r1).

演算処理プロセッサ1cは、読み出した受信データを用いて演算処理を実行する。   The arithmetic processor 1c performs arithmetic processing using the read received data.

演算処理プロセッサ1cは、第1送信領域バンク10s1、第2送信領域バンク10s2および第3送信領域バンク10s3のWRアクセス可能ないずれか一つのバンク(第1送信領域バンク10s1)に送信データを書き込む。演算処理プロセッサ1cは、送信領域バンク第1切替制御手段12s1を介して、送信領域バンク10scを切り替える。   The arithmetic processor 1c writes the transmission data in any one of the WR accessible banks (first transmission area bank 10s1) of the first transmission area bank 10s1, the second transmission area bank 10s2, and the third transmission area bank 10s3. The arithmetic processor 1c switches the transmission area bank 10sc via the transmission area bank first switching control means 12s1.

切り替え後、演算処理プロセッサ1cは、次の制御周期の処理動作まで待つ。   After switching, the arithmetic processor 1c waits until the processing operation of the next control cycle.

以上説明した制御処理S1cを、演算処理プロセッサ1cは、制御周期ごとに繰り返し実行する。   The arithmetic processor 1c repeatedly executes the control process S1c described above for each control cycle.

一方、通信処理プロセッサ2cでは、前述した演算処理プロセッサ1cの制御処理S1cに並行して、以下の制御処理S2cが実行される。   On the other hand, in the communication processing processor 2c, the following control processing S2c is executed in parallel with the control processing S1c of the arithmetic processing processor 1c described above.

制御処理S2cに示すように、通信処理プロセッサ2cは、第1受信領域バンク10r1、第2受信領域バンク10r2および第3受信領域バンク10r3のWRアクセス可能ないずれか一つのバンク(例えば第3受信領域バンク10r3)に受信データを書き込む。   As shown in the control processing S2c, the communication processing processor 2c is WR accessible in any one of the first reception area bank 10r1, the second reception area bank 10r2, and the third reception area bank 10r3 (for example, the third reception area The received data is written into the bank 10r3).

書き込み後、通信処理プロセッサ2cは、受信領域バンク第2切替制御手段12r2を介して、受信領域バンク10rcを切り替える。さらに、通信処理プロセッサ2cは、送信領域バンク第2切替制御手段12s2を介して、送信領域バンク10scを切り替える。   After writing, the communication processor 2c switches the reception area bank 10rc via the reception area bank second switching control means 12r2. Further, the communication processor 2c switches the transmission area bank 10sc via the transmission area bank second switching control means 12s2.

切り替え後、通信処理プロセッサ2cは、第1送信領域バンク10s1、第2送信領域バンク10s2および第3送信領域バンク10s3のRDアクセス可能ないずれか一つのバンク(例えば第3送信領域バンク10s3)から送信データを読み出す。通信処理プロセッサ2cは、伝送路3を介して、図示しない送信先へ送信データを送信する。   After switching, the communication processor 2c transmits from any one of the first transmission area bank 10s1, the second transmission area bank 10s2, and the third transmission area bank 10s3 that can be RD-accessed (for example, the third transmission area bank 10s3). Read data. The communication processor 2c transmits transmission data to a transmission destination (not shown) via the transmission path 3.

以上説明した制御処理S2cを、通信処理プロセッサ2cは、演算処理プロセッサ1cの制御処理S1cに並行して、実行する。   The communication processing processor 2c executes the control processing S2c described above in parallel with the control processing S1c of the arithmetic processing processor 1c.

なお、図12に示す待機バンクは、演算処理プロセッサ1cおよび通信処理プロセッサ2cからRDアクセスおよびWRアクセスによるアクセス対象でないバンクを示すものである。   The standby bank shown in FIG. 12 indicates a bank that is not an access target by the RD access and the WR access from the arithmetic processor 1c and the communication processor 2c.

送信領域バンク10scにおいて、例えば、演算処理プロセッサ1cのWRアクセス可能なバンクが第1送信領域バンク10s1であり、および、通信処理プロセッサ2cのRDアクセス可能なバンクが第2送信領域バンク10s2である期間では、待機バンクが第3送信領域バンク10s3であることを示す。   In the transmission area bank 10sc, for example, a period in which the WR accessible bank of the arithmetic processor 1c is the first transmission area bank 10s1, and the RD accessible bank of the communication processor 2c is the second transmission area bank 10s2. This indicates that the standby bank is the third transmission area bank 10s3.

また、受信領域バンク10rcにおいて、例えば、演算処理プロセッサ1cのRDアクセス可能なバンクが第1受信領域バンク10r1であり、および、通信処理プロセッサ2cのWRアクセス可能なバンクが第2受信領域バンク10r2である期間では、待機バンクが第3受信領域バンク10r3であることを示す。図12に示す、その他の待機バンクについても同様である。   In the reception area bank 10rc, for example, the RD accessible bank of the arithmetic processor 1c is the first reception area bank 10r1, and the WR accessible bank of the communication processor 2c is the second reception area bank 10r2. In a certain period, the standby bank is the third reception area bank 10r3. The same applies to the other standby banks shown in FIG.

バンク手段10rscが待機バンクを有することにより、バンク切り替え制御においてRDアクセスおよびWRアクセス可能なバンクを、待機バンクを介してバンク切り替えを実行することができる。これにより、アクセス競合を回避するためのフラグチェック動作が不要となる。これにより、アクセスが競合することなく、かつ、通信処理プロセッサのアクセス待ち時間がなく共有メモリにアクセスすることができる。   Since the bank unit 10rsc has a standby bank, bank switching can be executed for banks that can be accessed for RD and WR in the bank switching control via the standby bank. This eliminates the need for flag check operation for avoiding access conflict. Thereby, it is possible to access the shared memory without conflicting access and without waiting time for the communication processor.

以下、図13に示す演算処理プロセッサ1cの共有メモリアクセス処理フローについて、図11を参照しながら説明する。なお、以下のフローの説明と、図13および図14では、RDアクセス可能およびWRアクセス可能をアクセス可能と略して記す。   Hereinafter, the shared memory access processing flow of the arithmetic processor 1c shown in FIG. 13 will be described with reference to FIG. In the following description of the flow and FIGS. 13 and 14, “RD accessible” and “WR accessible” are abbreviated as accessible.

演算処理プロセッサ1cの処理が開始されると、演算処理プロセッサ1cは、受信領域バンク第1切替制御手段12r1を介して、受信領域バンク10rcを切り替える(ステップS50)。   When the processing of the arithmetic processor 1c is started, the arithmetic processor 1c switches the reception area bank 10rc via the reception area bank first switching control means 12r1 (step S50).

次に、演算処理プロセッサ1cは、第1受信領域バンク10r1、第2受信領域バンク10r2および第1受信領域バンク10r3のアクセス可能ないずれか一つのバンクから受信データを読み出す(ステップS51)。   Next, the processor 1c reads received data from any one of the accessible banks of the first receiving area bank 10r1, the second receiving area bank 10r2, and the first receiving area bank 10r3 (step S51).

次に、演算処理プロセッサ1cは、読み出した受信データを用いて、演算処理を実行する(ステップS52)。   Next, the arithmetic processor 1c executes arithmetic processing using the read received data (step S52).

次に、演算処理プロセッサ1cは、第1送信領域バンク10s1、第2送信領域バンク10s2および第3送信領域バンク10s3のアクセス可能ないずれか一つのバンクに送信データを書き込む(ステップS53)。   Next, the arithmetic processor 1c writes the transmission data in any one of the accessible banks of the first transmission area bank 10s1, the second transmission area bank 10s2, and the third transmission area bank 10s3 (step S53).

書き込み後、演算処理プロセッサ1cは、送信領域バンク第1切替制御手段12s1を介して、送信領域バンク10scを切り替える(ステップS54)。   After the writing, the processor 1c switches the transmission area bank 10sc via the transmission area bank first switching control means 12s1 (step S54).

切り替え後、演算処理プロセッサ1cは、次の制御周期か否か判断する(ステップS55)。次の制御周期でない場合(ステップ55のNo)、演算処理プロセッサ1cは、ステップS55の処理に戻る。一方、次の制御周期である場合(ステップS55のYes)、演算処理プロセッサ1cは、ステップS50の処理に戻す。以降、前述したステップS50〜S55の処理を繰り返す。   After switching, the arithmetic processor 1c determines whether or not it is the next control cycle (step S55). When it is not the next control cycle (No in Step 55), the arithmetic processor 1c returns to the process in Step S55. On the other hand, when it is the next control cycle (Yes in step S55), the arithmetic processor 1c returns to the process of step S50. Thereafter, the processes in steps S50 to S55 described above are repeated.

次に、演算処理プロセッサ1bは、ステップS30の処理に戻す。   Next, the arithmetic processor 1b returns to the process of step S30.

続いて、以下、図14に示す通信処理プロセッサ2cの共有メモリアクセス処理フローについて、図11を参照しながら説明する。   Next, the shared memory access processing flow of the communication processor 2c shown in FIG. 14 will be described with reference to FIG.

通信処理プロセッサ2cの処理が開始されると、通信処理プロセッサ2cは、伝送路3から受信データを受けたか否か判断する(ステップS60)。   When the processing of the communication processor 2c is started, the communication processor 2c determines whether or not received data is received from the transmission path 3 (step S60).

受信データを受信していない場合に(ステップS60のNo)、通信処理プロセッサ2cは、処理をステップS63に進める。一方、受信データを受信した場合に(ステップS60のYes)、通信処理プロセッサ2cは、処理を次のステップS61に進める。   When the reception data is not received (No in step S60), the communication processor 2c advances the process to step S63. On the other hand, when the received data is received (Yes in step S60), the communication processor 2c advances the process to the next step S61.

通信処理プロセッサ2cは、第1受信領域バンク10r1、第2受信領域バンク10r2および第1受信領域バンク10r3のアクセス可能ないずれか一つのバンクに受信データを書き込む(ステップS61)。   The communication processor 2c writes the received data to any one of the accessible banks of the first reception area bank 10r1, the second reception area bank 10r2, and the first reception area bank 10r3 (step S61).

書き込み後、通信処理プロセッサ2cは、受信領域バンク第2切替制御手段12r2を介して、受信領域バンク10rcを切り替える(ステップS62)。   After the writing, the communication processor 2c switches the reception area bank 10rc via the reception area bank second switching control means 12r2 (step S62).

次に、通信処理プロセッサ2cは、送信領域バンク第2切替制御手段12s2を介して、送信領域バンク10scを切り替える(ステップS63)。   Next, the communication processor 2c switches the transmission area bank 10sc via the transmission area bank second switching control means 12s2 (step S63).

次に、通信処理プロセッサ2cは、第1送信領域バンク10s1、第2送信領域バンク10s2および第3送信領域バンク10s3のアクセス可能ないずれか一つのバンクから送信データを読み出す(ステップS64)。   Next, the communication processor 2c reads transmission data from any one accessible bank of the first transmission area bank 10s1, the second transmission area bank 10s2, and the third transmission area bank 10s3 (step S64).

通信処理プロセッサ2cは、送信データに更新がある場合に、伝送路3を介して、送信データを送信する(ステップS65)。ステップS65の後、演算処理プロセッサ1cは、ステップS60の処理に戻す。以降、前述したステップS60〜S65の処理を繰り返す。   The communication processor 2c transmits the transmission data via the transmission path 3 when the transmission data is updated (step S65). After step S65, the arithmetic processor 1c returns to the process of step S60. Henceforth, the process of step S60-S65 mentioned above is repeated.

以上説明したように、第4の実施形態によれば、待機バンクを用いることにより、通信処理プロセッサのアクセス待ち時間がなく、かつ、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   As described above, according to the fourth embodiment, by using the standby bank, there is no access waiting time of the communication processing processor, and a plurality of processors can share without competing for access to the shared memory. Can access memory.

[第5の実施形態]
図15は、本発明に係る共有メモリアクセスシステムの第5の実施形態の構成を示すブロック図である。
[Fifth Embodiment]
FIG. 15 is a block diagram showing the configuration of the fifth embodiment of the shared memory access system according to the present invention.

共有メモリアクセスシステム20dは、図15に示すように、演算処理プロセッサ1dと、通信処理プロセッサ2dと、演算処理プロセッサ1dおよび通信処理プロセッサ2dによって共有される共有メモリ10dとを備えている。   As shown in FIG. 15, the shared memory access system 20d includes an arithmetic processing processor 1d, a communication processing processor 2d, and a shared memory 10d shared by the arithmetic processing processor 1d and the communication processing processor 2d.

第5の実施形態の共有メモリアクセスシステムの構成は、第1ないし第4の実施形態の共有メモリアクセスシステムのいずれかの構成に加えて、共有メモリ10dが通信先の相手ノード50(m)(複数の通信先)ごとに割り当てられた第mバンク手段10rsd(m)を備えている。なお、mは1以上、n以下(nは2以上の整数)の整数である。   The configuration of the shared memory access system of the fifth embodiment is the same as that of any of the shared memory access systems of the first to fourth embodiments, but the shared memory 10d is a communication partner node 50 (m) ( There are provided m-th bank means 10rsd (m) assigned for each of a plurality of communication destinations). Note that m is an integer of 1 or more and n or less (n is an integer of 2 or more).

すなわち、共有メモリ10dは、通信先の相手ノード50(1)〜50(n)に対応した、図15に示すような第1バンク手段10rsd(1)〜第nバンク手段10rsd(n)を少なくとも同数備えている。なお、第mバンク手段10rsd(m)の構成は、前述した第1ないし第4の実施形態の構成に示した複数のバンク手段10rsa〜10rsdなどである。   That is, the shared memory 10d has at least the first bank means 10rsd (1) to the nth bank means 10rsd (n) as shown in FIG. 15 corresponding to the communication partner nodes 50 (1) to 50 (n). Has the same number. The m-th bank means 10rsd (m) has a plurality of bank means 10rsa to 10rsd shown in the first to fourth embodiments.

送信データおよび受信データの通信先である複数の相手ノード50(1)〜50(n)が、伝送路3に複数接続されている。なお、以降では、複数の第1バンク手段10rsd(1)〜第nバンク手段10rsd(n)を代表して、バンク手段10rsdと示す。また、複数の相手ノード50(1)〜50(n)を代表して、相手ノード50と示す。   A plurality of counterpart nodes 50 (1) to 50 (n) that are communication destinations of transmission data and reception data are connected to the transmission path 3. Hereinafter, the plurality of first bank means 10rsd (1) to nth bank means 10rsd (n) will be representatively referred to as bank means 10rsd. A plurality of counterpart nodes 50 (1) to 50 (n) are represented as counterpart nodes 50.

各々のバンク手段10rsdは、相手ノード50ごとに割り当てられ、相手ノード50ごとに送信データおよび受信データを記憶する。   Each bank means 10rsd is assigned to each counterpart node 50, and stores transmission data and reception data for each counterpart node 50.

演算処理プロセッサ1dは、各々の相手ノード50に送信する送信データを相手ノード50ごとに割り当てられたバンク手段10rsdに書き込む。演算処理プロセッサ1dは、各々の相手ノード50から受信した受信データを、相手ノード50ごとに割り当てられたバンク手段10rsdから読み出す。   The arithmetic processor 1d writes the transmission data to be transmitted to each counterpart node 50 to the bank means 10rsd assigned to each counterpart node 50. The arithmetic processor 1d reads the received data received from each counterpart node 50 from the bank means 10rsd assigned to each counterpart node 50.

通信処理プロセッサ2dは、各々の相手ノード50から受信した受信データを、相手ノード50ごとに割り当てられたバンク手段10rsdに書き込む。通信処理プロセッサ2dは、各々の相手ノード50へ送信する送信データを、相手ノード50ごとに割り当てられたバンク手段10rsdから読み出す。通信処理プロセッサ2dは、読み出した送信データを、それに対応する通信先である相手ノード50へ送信する。   The communication processor 2d writes the received data received from each counterpart node 50 to the bank means 10rsd assigned to each counterpart node 50. The communication processor 2 d reads out transmission data to be transmitted to each counterpart node 50 from the bank means 10 rsd assigned to each counterpart node 50. The communication processor 2d transmits the read transmission data to the counterpart node 50 that is the communication destination corresponding thereto.

図15は、第3の実施形態の共有メモリアクセスシステムに付加した例を示すものである。   FIG. 15 shows an example added to the shared memory access system of the third embodiment.

演算処理プロセッサ1dおよび通信処理プロセッサ2dは、例えば通信先の相手ノード50(m)ごとに、受信データおよび送信データのやり取りを、相手ノード50(m)ごとに対応させた共有メモリ10d内の第mバンク手段10rsd(m)を用いる。   The arithmetic processing processor 1d and the communication processing processor 2d, for example, for each communication partner node 50 (m), exchange the reception data and transmission data with each other node 50 (m) in the shared memory 10d. The m bank means 10rsd (m) is used.

すなわち、通信処理プロセッサ2dは、通信する相手ノード50(m)ごとに、受信データを第mバンク手段10rsd(m)の受信領域バンクに書き込む。演算プロセッサ1dは、通信する相手ノード50(m)ごとに、受信データを第mバンク手段10rsd(m)の受信領域バンクから読み出す。   That is, the communication processor 2d writes the received data in the reception area bank of the mth bank means 10rsd (m) for each partner node 50 (m) with which communication is performed. The arithmetic processor 1d reads the received data from the reception area bank of the m-th bank means 10rsd (m) for each partner node 50 (m) with which it is communicating.

また、演算処理プロセッサ1dは、通信する相手ノード50(m)ごとに、送信データを第mバンク手段10rsd(m)の送信領域バンクに書き込む。通信処理プロセッサ2dは、通信する相手ノード50(m)ごとに、送信データを第mバンク手段10rsd(m)の送信領域バンクから読み出す。   Further, the arithmetic processor 1d writes the transmission data in the transmission area bank of the m-th bank means 10rsd (m) for each partner node 50 (m) with which communication is performed. The communication processor 2d reads the transmission data from the transmission area bank of the m-th bank means 10rsd (m) for each partner node 50 (m) with which it communicates.

これにより、通信処理プロセッサ2dは、通信する相手ノード50(m)ごとに第mバンク手段10rsd(m)を用いて、伝送路3を介して送受信データを送受信する。   Thereby, the communication processor 2d transmits / receives transmission / reception data via the transmission path 3 using the m-th bank means 10rsd (m) for each partner node 50 (m) to communicate.

例えば第3および第4の実施形態では、通信先の相手が複数存在する場合、バンク内の送受信データを正確に更新するため、バンクを切り替える前に更新する一つの通信先の送受信データ以外の他の通信先の送受信データについても、そのバンクに書き込む必要がある。このため、送受信データを正確に更新するためにバンクに書き込む処理に余分な時間がかかる。   For example, in the third and fourth embodiments, when there are a plurality of communication destinations, in order to accurately update the transmission / reception data in the bank, other than the transmission / reception data of one communication destination to be updated before switching the bank. The transmission / reception data of the communication destination must also be written to the bank. For this reason, it takes extra time to write the data in the bank in order to accurately update the transmission / reception data.

しかし、第5の実施形態によれば、通信先の相手が複数存在する場合でも、共有メモリ内に割り当てられた通信先ごとの複数のバンクに格納された送受信データを更新するため、バンクに書き込む処理に余分な時間がかかることなく、かつ、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   However, according to the fifth embodiment, even when there are a plurality of counterparts of communication destinations, the transmission / reception data stored in the plurality of banks for each communication destination assigned in the shared memory is updated, so that data is written to the banks. It is possible to access the shared memory without taking extra time for processing and without a plurality of processors competing for access to the shared memory.

[第6の実施形態]
図16は、本発明に係る共有メモリアクセスシステムの第6の実施形態の構成を示すブロック図である。
[Sixth Embodiment]
FIG. 16 is a block diagram showing the configuration of the sixth embodiment of the shared memory access system according to the present invention.

第6の実施形態では、第1ないし第5の実施形態の構成において、送信データおよび受信データが更新されたことを、読み込み(RDアクセス)側で確認(判別)できるように、書き込み(WRアクセス)側で識別番号をデータに付加して管理するデータ更新管理手段をバンク手段がさらに有する。   In the sixth embodiment, in the configuration of the first to fifth embodiments, writing (WR access) is performed so that the reading (RD access) side can confirm (determine) that transmission data and reception data have been updated. The bank means further has a data update management means for managing by adding an identification number to the data on the side.

なお、図16の共有メモリアクセスシステム20eは、一例として、図1に示した第1の実施形態の共有メモリアクセスシステム20aに、さらに以下に説明する機能部(データ更新管理手段14a1および14a2)と、2つのプロセッサとして演算処理プロセッサ1aaおよび通信処理プロセッサ2aaを備えた構成を示す。   Note that the shared memory access system 20e in FIG. 16 includes, as an example, the function units (data update management means 14a1 and 14a2) described below in addition to the shared memory access system 20a in the first embodiment shown in FIG. A configuration including an arithmetic processor 1aa and a communication processor 2aa as two processors is shown.

データ更新管理手段14a1は、演算処理プロセッサ1aaから共有メモリ10aaのバンク手段10rsaaに格納される送信データの更新を確認可能なように、識別番号を送信データに付加し、識別番号を付加した送信データをバンク手段10rsaaに格納する。   The data update management unit 14a1 adds an identification number to the transmission data so that the update of the transmission data stored in the bank unit 10rsaa of the shared memory 10aa can be confirmed from the arithmetic processor 1aa, and the transmission data to which the identification number is added Is stored in the bank means 10rsaa.

また、データ更新管理手段14a2は、バンク手段10rsaaから送信データの読み出し時に、識別番号により送信データの更新を確認する。データ更新管理手段14a2は、更新結果について通信処理プロセッサ2aaに通知する。また、データ更新管理手段14a2は、識別番号を除去した送信データを通信処理プロセッサ2aaに送る。   Further, the data update management unit 14a2 confirms the update of the transmission data by the identification number when reading the transmission data from the bank unit 10rsaa. The data update management unit 14a2 notifies the communication processor 2aa about the update result. In addition, the data update management unit 14a2 sends the transmission data from which the identification number is removed to the communication processor 2aa.

データ更新管理手段14a2は、通信処理プロセッサ2aaから共有メモリ10aaのバンク手段10rsaaに格納される受信データの更新を確認可能なように、識別番号を受信データに付加し、識別番号を付加した受信データをバンク手段10rsaaに格納する。   The data update management means 14a2 adds an identification number to the received data so that the update of the received data stored in the bank means 10rsaa of the shared memory 10aa can be confirmed from the communication processor 2aa, and the received data with the identification number added. Is stored in the bank means 10rsaa.

また、データ更新管理手段14a1は、バンク手段10rsaaからの受信データの読み出し時に、識別番号により受信データの更新をチェックする。データ更新管理手段14a1は、更新結果について演算処理プロセッサ1aaに通知する。また、データ更新管理手段14a1は、識別番号を除去した受信データを演算処理プロセッサ1aaに送る。   Further, the data update management unit 14a1 checks the update of the received data by the identification number when reading the received data from the bank unit 10rsaa. The data update management unit 14a1 notifies the arithmetic processing processor 1aa of the update result. Further, the data update management unit 14a1 sends the received data from which the identification number is removed to the arithmetic processor 1aa.

なお、以上説明したデータ更新管理手段は、第2ないし第5の実施形態の構成にも付加することができる。   The data update management means described above can also be added to the configurations of the second to fifth embodiments.

以上説明したように、第6の実施形態によれば、共有メモリ内のバンクに新旧の送受信データが混在していた場合でも、更新された送受信データを容易に確認可能であり、かつ、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   As described above, according to the sixth embodiment, even when old and new transmission / reception data are mixed in a bank in the shared memory, updated transmission / reception data can be easily confirmed, and a plurality of transmission / reception data can be confirmed. The processor can access the shared memory without competing for access to the shared memory.

[第7の実施形態](請求項7対応と請求項8とを一つの実施例に)
図17は、本発明に係る共有メモリアクセスシステムの第7の実施形態の構成を示すブロック図である。
[Seventh Embodiment] (Corresponding to Claim 7 and Claim 8 in one Example)
FIG. 17 is a block diagram showing the configuration of the seventh embodiment of the shared memory access system according to the present invention.

図17に示す共有メモリアクセスシステム20fは、図1に示す共有メモリアクセスシステム20aの構成中の通信処理プロセッサ2aを、通信処理プロセッサ2fに置き換えた構成である。図17に示すブロック図において、その他の手段については図1に示す同一符号の手段と同じ機能であるため、ここではその説明を省くものとし、以下では通信処理プロセッサ2fについて主に説明する。   A shared memory access system 20f shown in FIG. 17 has a configuration in which the communication processor 2a in the configuration of the shared memory access system 20a shown in FIG. 1 is replaced with a communication processor 2f. In the block diagram shown in FIG. 17, the other means have the same functions as the means with the same reference numerals shown in FIG. 1, so the description thereof will be omitted here, and the communication processor 2 f will be mainly described below.

通信処理プロセッサ2fは、送信データの更新の有無を所定の周期で監視する送信データ用タイマ21fと、受信データの更新の有無を所定の周期で監視する受信データ用タイマ22fと、擬似データを記憶する擬似データ記憶手段23fとを有する。   The communication processor 2f stores a transmission data timer 21f that monitors whether transmission data is updated at a predetermined cycle, a reception data timer 22f that monitors whether reception data is updated at a predetermined cycle, and stores pseudo data. Pseudo data storage means 23f.

通信処理プロセッサ2fは、送信データ用タイマ21fにより定められる所定の周期期間内に共有メモリ10a内に送信する送信データが更新されない場合に、伝送路3を介して送信先に擬似データを送信する。   The communication processor 2f transmits the pseudo data to the transmission destination via the transmission path 3 when the transmission data to be transmitted to the shared memory 10a is not updated within a predetermined period determined by the transmission data timer 21f.

擬似データは、予め擬似データ記憶手段23fに記憶されている。擬似データは、例えば実際に用いられる送信データおよび受信データと判別可能で、かつ、伝送路3の異常時や通信処理プロセッサ2fの異常時などと判別可能なデータである。   The pseudo data is stored in advance in the pseudo data storage unit 23f. The pseudo data is, for example, data that can be discriminated from transmission data and reception data that are actually used, and that can be discriminated when the transmission path 3 is abnormal or when the communication processor 2f is abnormal.

一方、通信処理プロセッサ2fは、送信データ用タイマ21fにより定められる所定の周期期間内に共有メモリ10a内に送信する送信データが更新されている場合に、共有メモリ10aから送信データを読み出し、読み出した送信データを送信先に送信する。   On the other hand, the communication processor 2f reads and reads the transmission data from the shared memory 10a when the transmission data to be transmitted to the shared memory 10a is updated within a predetermined period determined by the transmission data timer 21f. Send the transmission data to the destination.

以上により、通信処理プロセッサ2fは、共有メモリ10a内に送信データが更新されていない場合でも、一定周期で送信データを送信することができる。   As described above, the communication processor 2f can transmit the transmission data at a constant cycle even when the transmission data is not updated in the shared memory 10a.

これにより、例えば演算処理プロセッサ1fの動作が非周期的であっても、伝送路3の負荷を一定とした通信を行い、アクセスが競合することなく共有メモリにアクセスすることができる。   Thereby, for example, even if the operation of the arithmetic processor 1f is aperiodic, communication with a constant load on the transmission path 3 can be performed and the shared memory can be accessed without contention for access.

次に、通信処理プロセッサ2fは、受信データ用タイマ22fにより定められる所定の周期期間内に伝送路3から受信データを受信しない場合に、擬似データを共有メモリ10aに書き込む。   Next, when the received data is not received from the transmission path 3 within a predetermined period determined by the received data timer 22f, the communication processor 2f writes pseudo data in the shared memory 10a.

一方、通信処理プロセッサ2fは、受信データ用タイマ22fにより定められる所定の周期期間内に伝送路3から受信データを受信した場合に、受信した受信データを共有メモリ10aに書き込む。   On the other hand, the communication processor 2f writes the received data received in the shared memory 10a when the received data is received from the transmission path 3 within a predetermined period defined by the received data timer 22f.

以上により、通信処理プロセッサ2fが受信データを受信しない場合でも、一定周期で受信データを共有メモリ10aに書き込むことができる。   As described above, even when the communication processor 2f does not receive the received data, the received data can be written to the shared memory 10a at a constant cycle.

これにより、例えば伝送路3等に異常があり受信データを受信できない場合でも、受信領域バンクに擬似データを書き込むことで、通信処理プロセッサ2fの健全性を演算処理プロセッサ1fに通知することができ、また、通信処理プロセッサ2fの処理負荷がほぼ一定となるように動作し、アクセスが競合することなく共有メモリにアクセスすることができる。   Thereby, for example, even when there is an abnormality in the transmission path 3 or the like and reception data cannot be received, the soundness of the communication processor 2f can be notified to the arithmetic processor 1f by writing pseudo data in the reception area bank. Further, the communication processor 2f operates so that the processing load is substantially constant, and the shared memory can be accessed without contention for access.

なお、以上説明した送信データ用タイマ21f、受信データ用タイマ22fおよび擬似データ記憶手段23fは、第2ないし第6の実施形態の構成にも付加することができる。   The transmission data timer 21f, the reception data timer 22f and the pseudo data storage means 23f described above can also be added to the configurations of the second to sixth embodiments.

以上説明したように、第7の実施形態によれば、演算処理プロセッサの動作が非周期的であっても、伝送路の負荷を一定とするような送信データの通信を行い、かつ、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   As described above, according to the seventh embodiment, even when the operation of the arithmetic processing processor is aperiodic, the transmission data is communicated so as to make the load on the transmission line constant, and a plurality of operations are performed. The processor can access the shared memory without competing for access to the shared memory.

また、第7の実施形態によれば、伝送路等に異常があり受信データを受信できない場合でも、共有メモリに擬似データを書き込むことで、通信処理プロセッサの健全性を演算処理プロセッサに確認させることができる。また、通信処理プロセッサの処理負荷が一定となるような動作であり、かつ、複数のプロセッサが共有メモリへのアクセスを競合することなく、共有メモリにアクセスすることができる。   Further, according to the seventh embodiment, even when there is an abnormality in the transmission path or the like and reception data cannot be received, the arithmetic processing processor is made to check the soundness of the communication processing processor by writing pseudo data to the shared memory. Can do. Further, the operation is such that the processing load of the communication processor is constant, and the plurality of processors can access the shared memory without competing for access to the shared memory.

[他の実施形態]
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。例えば、各実施形態の特徴を組み合わせてもよい。さらに、これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形には、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
[Other Embodiments]
As mentioned above, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. For example, the features of the embodiments may be combined. Furthermore, these embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the invention described in the claims and equivalents thereof as well as included in the scope and gist of the invention.

1a、1b、1c、1d、1f、1aa、101…演算処理プロセッサ、2a、2b、2c、2d、2f、2aa、200…通信処理プロセッサ、3、300…伝送路、10a、10b、10c、10d、10aa、100…共有メモリ、10rb、10rc…受信領域バンク、10sb、10sc…送信領域バンク、10rsa、10rsb、10rsc、10rsaa…バンク手段、10rsd(1)…第1バンク手段、10rsd(2)…第2バンク手段、10rsd(n)…第nバンク手段、10rs1…第1送受信領域バンク、10rs2…第2送受信領域バンク、10r1…第1受信領域バンク、10r2…第2受信領域バンク、10r3…第3受信領域バンク、10s1…第1送信領域バンク、10s2…第2送信領域バンク、10s3…第3送信領域バンク、11a…バンク切替要求フラグ手段、12a…バンク切替制御手段、12r…受信領域バンク切替制御手段、12r1…受信領域バンク第1切替制御手段、12r2…受信領域バンク第2切替制御手段、12s…送信領域バンク切替制御手段、12s1…送信領域バンク第1切替制御手段、12s2…送信領域バンク第2切替制御手段、13r…受信領域演算処理プロセッサ使用中フラグ手段、13s…送信領域演算処理プロセッサ使用中フラグ手段、14a1、14a2…データ更新管理手段、15、15a…バンク制御手段、20a、20b、20c、20d、20e、20f…共有メモリアクセスシステム、21f…送信データ用タイマ、22f…受信データ用タイマ、23f…擬似データ記憶手段、50(1)、50(2)、50(n)…ノード、100r…受信領域バンク、100s…送信領域バンク、103…制御処理、130…フラグ領域、130r1…受信領域演算処理プロセッサ使用中フラグ、130r2…受信領域通信処理プロセッサ使用中フラグ、130s1…送信領域演算処理プロセッサ使用中フラグ、130s2…送信領域通信処理プロセッサ使用中フラグ   1a, 1b, 1c, 1d, 1f, 1aa, 101 ... arithmetic processing processor, 2a, 2b, 2c, 2d, 2f, 2aa, 200 ... communication processing processor, 3, 300 ... transmission path, 10a, 10b, 10c, 10d 10aa, 100 ... shared memory, 10rb, 10rc ... reception area bank, 10sb, 10sc ... transmission area bank, 10rsa, 10rsb, 10rsc, 10rsaa ... bank means, 10rsd (1) ... first bank means, 10rsd (2) ... Second bank means, 10rsd (n)... Nth bank means, 10rs1... First transmission / reception area bank, 10rs2... Second transmission / reception area bank, 10r1. 3 reception area banks, 10s1... First transmission area bank, 10s2. 10s3 ... third transmission area bank, 11a ... bank switching request flag means, 12a ... bank switching control means, 12r ... receiving area bank switching control means, 12r1 ... receiving area bank first switching control means, 12r2 ... receiving area bank second Switching control means, 12s ... transmission area bank switching control means, 12s1 ... transmission area bank first switching control means, 12s2 ... transmission area bank second switching control means, 13r ... receiving area arithmetic processing processor busy flag means, 13s ... transmission Area arithmetic processing processor busy flag means, 14a1, 14a2 ... data update management means, 15, 15a ... bank control means, 20a, 20b, 20c, 20d, 20e, 20f ... shared memory access system, 21f ... transmission data timer, 22f: Received data timer, 23f: Pseudo data storage means 50 (1), 50 (2), 50 (n) ... node, 100r ... reception area bank, 100s ... transmission area bank, 103 ... control processing, 130 ... flag area, 130r1 ... reception area arithmetic processing processor busy flag, 130r2: Reception area communication processor busy flag, 130s1: Transmission area arithmetic processor busy flag, 130s2: Transmission area communication processor busy flag

Claims (11)

第1プロセッサと、第2プロセッサと、前記第1および第2プロセッサによって共有される共有メモリとを備え、前記第2プロセッサと接続された伝送路へ送信データを送信し、前記伝送路から受信データを受信して、前記共有メモリを介して前記第1および第2プロセッサの間で前記送信データと前記受信データとのアクセスを行う共有メモリアクセスシステムであって、
前記共有メモリは、前記アクセスの際に前記送信データおよび前記受信データを記憶する少なくとも1つのバンク手段を備え、
前記バンク手段は、
前記送信データおよび前記受信データを記憶し、バンク切り替え可能な第1および第2送受信領域バンクと、
前記第1および第2送受信領域バンクのバンク切り替えを制御するバンク制御手段と、を有し、
前記第2プロセッサは、前記バンク制御手段にバンク切替指令を送り、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な一方に前記受信データを書き込み、または、前記第1または前記第2送受信領域バンクのアクセス可能な他方から前記送信データを読み出し、
前記第1プロセッサは、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な前記一方から前記受信データを読み出し、または、前記第1または前記第2送受信領域バンクのアクセス可能な前記他方に前記送信データを書き込む
ことを特徴とする共有メモリアクセスシステム。
A first processor; a second processor; and a shared memory shared by the first and second processors, wherein transmission data is transmitted to a transmission path connected to the second processor, and received data from the transmission path A shared memory access system for accessing the transmission data and the reception data between the first and second processors via the shared memory,
The shared memory comprises at least one bank means for storing the transmission data and the reception data at the time of the access,
The bank means is
Storing the transmission data and the reception data, and a first and second transmission / reception area bank capable of bank switching;
Bank control means for controlling bank switching of the first and second transmission / reception area banks,
The second processor sends a bank switching command to the bank control means, and writes the received data to an accessible one of the first or second transmission / reception area bank in response to the bank switching, or the second processor Reading the transmission data from one or the other accessible side of the second transmission / reception area bank;
The first processor reads the received data from the accessible one of the first or second transmission / reception area bank or accesses the first or second transmission / reception area bank in response to the bank switching. The shared memory access system, wherein the transmission data is written to the other possible.
前記バンク制御手段は、
前記第1プロセッサからバンク切替要求を受け付けてバンク切替要求フラグをセットし、前記バンク切り替え後に前記バンク切替要求フラグをリセットするバンク切替要求フラグ手段と、
前記第2プロセッサから前記バンク切替指令を受けて、前記第1および第2送受信領域バンクのバンク切り替えを実行するするバンク切替制御手段と、を有し、
前記第2プロセッサは、前記バンク切替要求フラグ手段に前記バンク切替要求フラグがセットされている場合に、前記バンク切替制御手段へ前記バンク切替指令を送る
ことを特徴とする請求項1に記載の共有メモリアクセスシステム。
The bank control means includes
Bank switching request flag means for receiving a bank switching request from the first processor, setting a bank switching request flag, and resetting the bank switching request flag after the bank switching;
Bank switching control means for receiving bank switching instructions from the second processor and executing bank switching of the first and second transmission / reception area banks;
The sharing according to claim 1, wherein the second processor sends the bank switching command to the bank switching control means when the bank switching request flag is set in the bank switching request flag means. Memory access system.
前記第1プロセッサが前記バンク手段から前記受信データを読み出す処理および前記バンク手段に前記送信データを書き込む処理を少なくとも含む制御周期として、さらに前記制御周期に次の前記制御周期の待ち時間を含み、前記制御周期における前記受信データを読み出す処理は前記送信データを書き込む処理よりも前の処理であり、
前記第1プロセッサが、次の前記制御周期の前記待ち時間内に前記バンク切替要求を送り、
前記第2プロセッサが、前記バンク切替要求フラグ手段に前記バンク切替要求フラグがセットされている場合に、次の前記制御周期の前記待ち時間内に前記バンク切替制御手段へ前記バンク切替指令を送る
ことを特徴とする請求項2に記載の共有メモリアクセスシステム。
The first processor includes at least a process of reading the received data from the bank means and a process of writing the transmission data to the bank means, and further includes a waiting time of the next control period in the control period, The process of reading the received data in the control cycle is a process prior to the process of writing the transmission data,
The first processor sends the bank switching request within the waiting time of the next control cycle;
The second processor sends the bank switching command to the bank switching control means within the waiting time of the next control cycle when the bank switching request flag is set in the bank switching request flag means. The shared memory access system according to claim 2.
前記第1プロセッサが前記バンク手段に前記送信データを書き込む処理と前記バンク手段から前記受信データを読み出す処理とこれら以外の他の処理を少なくとも含む制御周期として、さらに前記制御周期に次の前記制御周期の待ち時間を含み、前記制御周期における前記送信データを書き込む処理は前記他の処理よりも後の処理であり、かつ、前記送信データを書き込む処理は前記受信データを読み出す処理よりも前の処理であり、
前記第1プロセッサが、次の前記制御周期の前記待ち時間と前記他の処理との間に前記バンク切替要求を送り、
前記第2プロセッサが、前記バンク切替要求フラグ手段に前記バンク切替要求フラグがセットされている場合に、次の前記制御周期の前記待ち時間と前記他の処理との間に前記バンク切替制御手段へ前記バンク切替指令を送る
ことを特徴とする請求項2に記載の共有メモリアクセスシステム。
As a control cycle including at least a process in which the first processor writes the transmission data to the bank means, a process to read the received data from the bank means, and other processes other than these, the control cycle is further subsequent to the control cycle. The process of writing the transmission data in the control cycle is a process after the other process, and the process of writing the transmission data is a process before the process of reading the received data Yes,
The first processor sends the bank switching request between the waiting time of the next control cycle and the other processing;
When the bank switching request flag is set in the bank switching request flag means, the second processor goes to the bank switching control means between the waiting time of the next control cycle and the other processing. The shared memory access system according to claim 2, wherein the bank switching command is sent.
前記第1送受信領域バンクは、前記受信データを記憶するバンク切り替え可能な第1受信領域バンクおよび前記送信データを記憶するバンク切り替え可能な第1送信領域バンクからなり、
前記第2送受信領域バンクは、前記受信データを記憶するバンク切り替え可能な第2受信領域バンクおよび前記送信データを記憶するバンク切り替え可能な第2送信領域バンクからなり、
前記バンク切替指令は、前記第1受信領域バンクと前記第2受信領域バンクとの間でバンク切り替え可能な受信領域バンクに対する受信領域バンク切替指令および前記第1送信領域バンクと前記第2送信領域バンクとの間でバンク切り替え可能な送信領域バンクに対する送信領域バンク切替指令を含み、
前記バンク制御手段は、
前記第2プロセッサからの前記受信領域バンク切替指令に応じて、前記第1および第2プロセッサの各々に対して前記受信領域バンクのアクセス可能なバンクへ排他的に切り替える受信領域バンク切替制御手段と、
前記第2プロセッサからの前記送信領域バンク切替指令に応じて、前記第1および第2プロセッサの各々に対して前記送信領域バンクのアクセス可能なバンクへ排他的に切り替える送信領域バンク切替制御手段と、
前記第1プロセッサから受信領域バンク使用要求を受け付けて、前記第1プロセッサから前記第1または前記第2受信領域バンクに対してアクセスを行っている期間であることを示す受信領域第1プロセッサ使用中フラグをセットし、前記受信領域バンクを切り替え後に前記受信領域第1プロセッサ使用中フラグをリセットする受信領域第1プロセッサ使用中フラグ手段と、
前記第1プロセッサから送信領域バンク使用要求を受け付けて、前記第1プロセッサが前記第1または前記第2送信領域バンクに対してアクセスを行っている期間であることを示す送信領域第1プロセッサ使用中フラグをセットし、前記送信領域バンクを切り替え後に前記送信領域第1プロセッサ使用中フラグをリセットする送信領域第1プロセッサ使用中フラグ手段と、を有し、
前記第1プロセッサは、前記第1または前記第2受信領域バンクのアクセス可能なバンクから前記受信データを読み出し、前記第1または第2送信領域バンクのアクセス可能なバンクへ前記送信データを書き込み、
前記第2プロセッサは、前記第1または前記第2受信領域バンクのアクセス可能なバンクへ前記受信データを書き込み、前記第1または前記第2送信領域バンクのアクセス可能なバンクから前記送信データを読み出す
ことを特徴とする請求項1に記載の共有メモリアクセスシステム。
The first transmission / reception area bank includes a bank-switchable first reception area bank that stores the reception data and a bank-switchable first transmission area bank that stores the transmission data.
The second transmission / reception area bank includes a bank-switchable second reception area bank for storing the reception data and a bank-switchable second transmission area bank for storing the transmission data.
The bank switching command includes a reception area bank switching command for a reception area bank that can be switched between the first reception area bank and the second reception area bank, and the first transmission area bank and the second transmission area bank. Including a transmission area bank switching command for a transmission area bank that can be bank-switched with
The bank control means includes
In response to the reception area bank switching command from the second processor, a reception area bank switching control means for exclusively switching to each accessible bank of the reception area bank for each of the first and second processors;
In response to the transmission area bank switching command from the second processor, transmission area bank switching control means for exclusively switching to each accessible bank of the transmission area bank for each of the first and second processors;
Receiving area first processor in use indicating that the receiving area bank use request is received from the first processor and the first processor is accessing the first or second receiving area bank. A reception area first processor busy flag means for setting a flag and resetting the reception area first processor busy flag after switching the reception area bank;
A transmission region bank use request is received from the first processor, and the transmission region first processor is in use indicating that the first processor is accessing the first or second transmission region bank. A transmission region first processor busy flag means for setting a flag and resetting the transmission region first processor busy flag after switching the transmission region bank;
The first processor reads the received data from an accessible bank of the first or second receiving area bank, and writes the transmitting data to an accessible bank of the first or second transmitting area bank;
The second processor writes the reception data to an accessible bank of the first or second reception area bank and reads the transmission data from an accessible bank of the first or second transmission area bank; The shared memory access system according to claim 1.
前記第1送受信領域バンクには、前記受信データを記憶するバンク切り替え可能な第1ないし第3受信領域バンクからなる受信領域バンクのいずれか一つのバンクと、前記送信データを記憶するバンク切り替え可能な第1ないし第3送信領域バンクからなる送信領域バンクのいずれか一つのバンクとが対応し、
前記第2送受信領域バンクには、前記受信領域バンクのいずれか一つの他のバンクと、前記送信領域バンクのいずれか一つの他のバンクとが対応し、
前記受信領域バンクおよび前記送信領域バンクの残りのバンクが、前記第1および第2送受信領域バンクに含まれない待機バンクに対応するように区分され、
前記第1および第2送受信領域バンクは、さらに、前記受信領域バンクの前記いずれか一つのバンクと前記他のバンクとの間でバンク切り替え可能であり、前記送信領域バンクの前記いずれか一つのバンクと前記他のバンクとの間でバンク切り替え可能であり、
前記バンク切替指令は、前記受信領域バンクに対する受信領域バンク第1切替指令および受信領域バンク第2切替指令と、前記送信領域バンクに対する送信領域バンク第1切替指令および送信領域バンク第2切替指令とを含み、
前記バンク制御手段は、
前記第1プロセッサからの前記受信領域バンク第1切替指令に応じて、前記第1プロセッサがアクセス可能なバンクとして最も直近に前記受信データが書き込まれた前記第1ないし第3受信領域バンクのいずれか一つのバンクに前記受信領域バンクを切り替える受信領域バンク第1切替制御手段と、
前記第2プロセッサからの前記受信領域バンク第2切替指令に応じて、前記第2プロセッサがアクセス可能なバンクとして前記第1ないし第3受信領域バンクのうちの前記待機バンクに前記受信領域バンクを切り替える受信領域バンク第2切替制御手段と、
前記第1プロセッサからの前記送信領域バンク第1切替指令に応じて、前記第1プロセッサがアクセス可能なバンクとして前記第1ないし第3送信領域バンクのうちの前記待機バンクに前記送信領域バンクを切り替える送信領域バンク第1切替制御手段と、
前記第2プロセッサからの前記送信領域バンク第2切替指令に応じて、前記第2プロセッサがアクセス可能なバンクとして最も直近に前記送信データが書き込まれた前記第1ないし第3送信領域バンクのいずれか一つのバンクに前記送信領域バンクを切り替える送信領域バンク第2切替制御手段と、を有し、
前記第1プロセッサは、前記第1ないし第3受信領域バンクのアクセス可能ないずれか一つのバンクから前記受信データを読み出し、前記第1ないし第3送信領域バンクのアクセス可能ないずれか一つのバンクへ前記送信データを書き込み、
前記第2プロセッサは、前記第1ないし第3受信領域バンクのアクセス可能ないずれか一つのバンクへ前記受信データを書き込み、前記第1ないし第3送信領域バンクのアクセス可能ないずれか一つのバンクから前記送信データを読み出す
ことを特徴とする請求項1に記載の共有メモリアクセスシステム。
The first transmission / reception area bank can switch between any one of the reception area banks including the first to third reception area banks that can switch the bank for storing the reception data, and the bank that can store the transmission data. Any one of the transmission area banks consisting of the first to third transmission area banks corresponds,
The second transmitting / receiving area bank corresponds to any one other bank of the receiving area bank and any other bank of the transmitting area bank,
The remaining banks of the reception area bank and the transmission area bank are partitioned to correspond to standby banks not included in the first and second transmission / reception area banks,
The first and second transmission / reception area banks are further switchable between any one of the reception area banks and the other bank, and any one of the transmission area banks And bank switching between the other bank and
The bank switching command includes a receiving area bank first switching instruction and a receiving area bank second switching instruction for the receiving area bank, and a transmitting area bank first switching instruction and a transmitting area bank second switching instruction for the transmitting area bank. Including
The bank control means includes
One of the first to third reception area banks in which the reception data is most recently written as a bank accessible by the first processor in response to the reception area bank first switching command from the first processor. Receiving area bank first switching control means for switching the receiving area bank to one bank;
In response to the second reception area bank switching command from the second processor, the reception area bank is switched to the standby bank among the first to third reception area banks as a bank accessible to the second processor. Receiving area bank second switching control means;
In response to the transmission area bank first switching command from the first processor, the transmission area bank is switched to the standby bank among the first to third transmission area banks as a bank accessible by the first processor. A transmission area bank first switching control means;
One of the first to third transmission area banks in which the transmission data is most recently written as a bank accessible by the second processor in response to the second transmission area bank switching command from the second processor. Transmission area bank second switching control means for switching the transmission area bank to one bank,
The first processor reads the received data from any one of the accessible banks of the first to third reception area banks, and to any one of the accessible banks of the first to third transmission area banks. Write the transmission data,
The second processor writes the received data to any one accessible bank of the first to third receiving area banks, and from any one accessible bank of the first to third transmitting area banks. The shared memory access system according to claim 1, wherein the transmission data is read out.
前記送信データおよび前記受信データの通信先である相手ノードが前記伝送路に複数接続され、
前記共有メモリは、複数の前記相手ノードに割り当てられる少なくとも同数の複数の前記バンク手段を備え、
各々の前記バンク手段は、前記相手ノードごとに割り当てられ、前記相手ノードごとに前記送信データおよび前記受信データを記憶し、
前記第1プロセッサは、各々の前記相手ノードに送信する前記送信データを前記相手ノードごとに割り当てられた前記バンク手段に書き込み、各々の前記相手ノードから受信した前記受信データを前記相手ノードごとに割り当てられた前記バンク手段から読み出し、
前記第2プロセッサは、各々の前記相手ノードから受信した前記受信データを前記相手ノードごとに割り当てられた前記バンク手段に書き込み、各々の前記相手ノードへ送信する前記送信データを前記相手ノードごとに割り当てられた前記バンク手段から読み出す
ことを特徴とする請求項1ないし請求項6のいずれか一項に記載の共有メモリアクセスシステム。
A plurality of counterpart nodes that are communication destinations of the transmission data and the reception data are connected to the transmission path,
The shared memory comprises at least the same number of the plurality of bank means allocated to the plurality of counterpart nodes,
Each of the bank means is assigned to each counterpart node, stores the transmission data and the reception data for each counterpart node,
The first processor writes the transmission data to be transmitted to each of the counterpart nodes to the bank means allocated to each counterpart node, and allocates the reception data received from each of the counterpart nodes to each counterpart node Read from said bank means,
The second processor writes the received data received from each partner node to the bank means allocated to each partner node, and allocates the transmission data to be transmitted to each partner node to each partner node. The shared memory access system according to claim 1, wherein the shared memory access system is read from the bank means.
前記バンク手段は、前記送信データおよび前記受信データを前記共有メモリに格納する際に、前記送信データおよび前記受信データの更新を確認可能な更新番号を前記送信データおよび前記受信データの各々に付加して記憶し、読み出し時に前記更新番号により前記送信データおよび前記受信データについて更新を確認するデータ更新管理手段をさらに有する
ことを特徴とする請求項1ないし請求項7のいずれか一項に記載の共有メモリアクセスシステム。
When the bank means stores the transmission data and the reception data in the shared memory, the bank means adds an update number capable of confirming the update of the transmission data and the reception data to each of the transmission data and the reception data. 8. The sharing according to claim 1, further comprising: a data update management unit that stores and reads and updates the transmission data and the reception data by the update number at the time of reading. Memory access system.
前記第2プロセッサは、前記送信データの更新の有無を所定の周期で監視する送信データ用タイマと、擬似データを記憶する擬似データ記憶手段とを有し、
前記第2プロセッサは、前記送信データ用タイマにより前記所定の周期に前記送信データが更新されない場合に、前記擬似データを前記送信データの代わりに前記伝送路を介して送信する
ことを特徴とする請求項1ないし請求項8のいずれか一項に記載の共有メモリアクセスシステム。
The second processor has a transmission data timer for monitoring whether or not the transmission data is updated at a predetermined period, and pseudo data storage means for storing pseudo data,
The second processor transmits the pseudo data via the transmission path instead of the transmission data when the transmission data is not updated at the predetermined period by the transmission data timer. The shared memory access system according to any one of claims 1 to 8.
前記第2プロセッサは、前記受信データの更新の有無を所定の周期で監視する受信データ用タイマをさらに有し、
前記第2プロセッサは、前記受信データ用タイマにより前記所定の周期に前記受信データが更新されない場合に、前記擬似データを前記受信データの代わりに前記共有メモリに書き込む
ことを特徴とする請求項9に記載の共有メモリアクセスシステム。
The second processor further includes a reception data timer for monitoring whether or not the reception data is updated at a predetermined cycle,
The said 2nd processor writes the said pseudo data in the said shared memory instead of the said reception data, when the said reception data are not updated in the said predetermined period by the said timer for reception data. The shared memory access system described.
第1プロセッサと、第2プロセッサと、前記第1および第2プロセッサによって共有される共有メモリとを備え、前記第2プロセッサと接続された伝送路へ送信データを送信し、前記伝送路から受信データを受信するために、前記共有メモリは、前記送信データおよび前記受信データを記憶しバンク切り替え可能な第1および第2送受信領域バンクと、前記第1および第2送受信領域バンクのバンク切り替えを制御するバンク制御手段とを有する少なくとも1つのバンク手段を備え、前記共有メモリを介して、前記第1および第2プロセッサの間で前記送信データと前記受信データとのアクセスを行う共有メモリアクセスシステムに用いられる共有メモリアクセス方法であって、
前記第2プロセッサが、前記バンク制御手段にバンク切替指令を送るバンク切替指令ステップと、
前記第2プロセッサが、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な一方に前記受信データを書き込み、または、前記第1または前記第2送受信領域バンクのアクセス可能な他方から前記送信データを読み出す第2プロセッサアクセスステップと、
前記第1プロセッサが、前記バンク切り替えに応じて、前記第1または前記第2送受信領域バンクのアクセス可能な前記一方から前記受信データを読み出し、または、前記第1または前記第2送受信領域バンクのアクセス可能な前記他方に前記送信データを書き込む第1プロセッサアクセスステップと、を含む
ことを特徴とする共有メモリアクセス方法。
A first processor; a second processor; and a shared memory shared by the first and second processors, wherein transmission data is transmitted to a transmission path connected to the second processor, and received data from the transmission path The shared memory controls the bank switching between the first and second transmission / reception area banks that can store the transmission data and the reception data and switch the banks, and the first and second transmission / reception area banks. At least one bank means having a bank control means, and used in a shared memory access system for accessing the transmission data and the reception data between the first and second processors via the shared memory A shared memory access method,
A bank switching command step in which the second processor sends a bank switching command to the bank control means;
The second processor writes the received data to one accessible side of the first or second transmission / reception area bank or can access the first or second transmission / reception area bank according to the bank switching. A second processor access step of reading the transmission data from the other,
The first processor reads the received data from the accessible one of the first or second transmission / reception area bank, or accesses the first or second transmission / reception area bank in response to the bank switching. And a first processor access step of writing the transmission data to the other possible. The shared memory access method, comprising:
JP2012234091A 2012-10-23 2012-10-23 Shared memory access system and shared memory access method Active JP6009902B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012234091A JP6009902B2 (en) 2012-10-23 2012-10-23 Shared memory access system and shared memory access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012234091A JP6009902B2 (en) 2012-10-23 2012-10-23 Shared memory access system and shared memory access method

Publications (2)

Publication Number Publication Date
JP2014085820A true JP2014085820A (en) 2014-05-12
JP6009902B2 JP6009902B2 (en) 2016-10-19

Family

ID=50788828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012234091A Active JP6009902B2 (en) 2012-10-23 2012-10-23 Shared memory access system and shared memory access method

Country Status (1)

Country Link
JP (1) JP6009902B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838786B2 (en) 2016-09-05 2020-11-17 Mitsubishi Electric Corporation Embedded system, embedded system control method and data consistency judgment method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0232432A (en) * 1988-07-22 1990-02-02 Fuji Electric Co Ltd Control system for dual port memory
JPH04215149A (en) * 1990-12-12 1992-08-05 Fuji Electric Co Ltd Programmable controller and its input/output signal exchange circuit
JP2873229B2 (en) * 1997-06-16 1999-03-24 松下電器産業株式会社 Buffer memory controller
JP2001022707A (en) * 1999-07-07 2001-01-26 Matsushita Electric Ind Co Ltd Method and unit for command driving control
JP2001282650A (en) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp Data-buffering device and decentralized control system using the data-buffering device
WO2008001433A1 (en) * 2006-06-28 2008-01-03 Mitsubishi Electric Corporation Data communication apparatus
JP2010118058A (en) * 2008-11-11 2010-05-27 Thomson Licensing Method for processing data using triple buffering
JP2012137832A (en) * 2010-12-24 2012-07-19 Toshiba Corp Data transfer device and data transfer method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0232432A (en) * 1988-07-22 1990-02-02 Fuji Electric Co Ltd Control system for dual port memory
JPH04215149A (en) * 1990-12-12 1992-08-05 Fuji Electric Co Ltd Programmable controller and its input/output signal exchange circuit
JP2873229B2 (en) * 1997-06-16 1999-03-24 松下電器産業株式会社 Buffer memory controller
JP2001022707A (en) * 1999-07-07 2001-01-26 Matsushita Electric Ind Co Ltd Method and unit for command driving control
JP2001282650A (en) * 2000-03-29 2001-10-12 Mitsubishi Electric Corp Data-buffering device and decentralized control system using the data-buffering device
WO2008001433A1 (en) * 2006-06-28 2008-01-03 Mitsubishi Electric Corporation Data communication apparatus
JP2010118058A (en) * 2008-11-11 2010-05-27 Thomson Licensing Method for processing data using triple buffering
JP2012137832A (en) * 2010-12-24 2012-07-19 Toshiba Corp Data transfer device and data transfer method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838786B2 (en) 2016-09-05 2020-11-17 Mitsubishi Electric Corporation Embedded system, embedded system control method and data consistency judgment method

Also Published As

Publication number Publication date
JP6009902B2 (en) 2016-10-19

Similar Documents

Publication Publication Date Title
US7958184B2 (en) Network virtualization in a multi-node system with multiple networks
WO2019056771A1 (en) Distributed storage system upgrade management method and device, and distributed storage system
US20140068115A1 (en) Information processing apparatus, information processing method, computer-readable recording medium having stored therein program
EP2693343B1 (en) Parallel processing system and parallel processing system operation method
JP4474356B2 (en) Computer system and storage virtualization apparatus
KR101695845B1 (en) Apparatus and method for maintaining cache coherency, and multiprocessor apparatus using the method
JP6009902B2 (en) Shared memory access system and shared memory access method
WO2012160641A1 (en) Administration device, information processing device, information processing system, data transfer method, path selection program, and transfer request program
JP5006526B2 (en) Interrupt distribution device
KR100990399B1 (en) Operation processing device
US9594651B2 (en) Parallel computer system and control method for parallel computer system
JP2009037273A (en) Multiprocessor system
JP2011197775A (en) Data management system, management server, data management method, and program for data management
US9015717B2 (en) Method for processing tasks in parallel and selecting a network for communication
JP2015215803A (en) Programmable controller and arithmetic processing system
CN101529387B (en) Multiprocessor system, its control method, and information recording medium
JP2009251652A (en) Multi-core system
JP2018195183A (en) Arithmetic processing unit and method of controlling arithmetic processing unit
CN102722466A (en) 16-bit multibus circuit in 2 in 3 or 2 in 2 control system
WO2013062109A1 (en) I/o device control system and method for controlling i/o device
JP5705185B2 (en) COMMUNICATION DEVICE, ITS CONTROL METHOD, AND COMPUTER PROGRAM
EP4361825A1 (en) Dynamic migration of point-of-coherency and point-of-serialization in numa coherent interconnects
JP4833911B2 (en) Processor unit and information processing method
JP5748122B2 (en) Plant control device
US7194585B2 (en) Coherency controller management of transactions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160711

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: 20160816

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160915

R151 Written notification of patent or utility model registration

Ref document number: 6009902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151