JP6493044B2 - Multiprocessor system - Google Patents
Multiprocessor system Download PDFInfo
- Publication number
- JP6493044B2 JP6493044B2 JP2015138699A JP2015138699A JP6493044B2 JP 6493044 B2 JP6493044 B2 JP 6493044B2 JP 2015138699 A JP2015138699 A JP 2015138699A JP 2015138699 A JP2015138699 A JP 2015138699A JP 6493044 B2 JP6493044 B2 JP 6493044B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- holding
- read
- input
- signal
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 claims description 326
- 230000009977 dual effect Effects 0.000 claims description 146
- 230000000717 retained effect Effects 0.000 claims description 19
- 101100412055 Arabidopsis thaliana RD19C gene Proteins 0.000 description 26
- 101150054209 RDL2 gene Proteins 0.000 description 26
- 101100242304 Arabidopsis thaliana GCP1 gene Proteins 0.000 description 24
- 101100412054 Arabidopsis thaliana RD19B gene Proteins 0.000 description 24
- 101150118301 RDL1 gene Proteins 0.000 description 24
- 230000000630 rising effect Effects 0.000 description 16
- 108700012361 REG2 Proteins 0.000 description 15
- 101150108637 REG2 gene Proteins 0.000 description 15
- 101100120298 Rattus norvegicus Flot1 gene Proteins 0.000 description 15
- 101100412403 Rattus norvegicus Reg3b gene Proteins 0.000 description 15
- 101100355967 Arabidopsis thaliana RDL3 gene Proteins 0.000 description 13
- 108091058543 REG3 Proteins 0.000 description 12
- 102100027336 Regenerating islet-derived protein 3-alpha Human genes 0.000 description 12
- 101100355968 Arabidopsis thaliana RDL4 gene Proteins 0.000 description 11
- 102100023882 Endoribonuclease ZC3H12A Human genes 0.000 description 9
- 101710112715 Endoribonuclease ZC3H12A Proteins 0.000 description 9
- QGVYYLZOAMMKAH-UHFFFAOYSA-N pegnivacogin Chemical compound COCCOC(=O)NCCCCC(NC(=O)OCCOC)C(=O)NCCCCCCOP(=O)(O)O QGVYYLZOAMMKAH-UHFFFAOYSA-N 0.000 description 9
- 238000000034 method Methods 0.000 description 6
- 230000007257 malfunction Effects 0.000 description 5
- 101001096074 Homo sapiens Regenerating islet-derived protein 4 Proteins 0.000 description 4
- 102100037889 Regenerating islet-derived protein 4 Human genes 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101000966369 Rhizopus oryzae Lipase Proteins 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Description
本発明は、デュアルポートメモリなどの記憶装置を備えるマルチプロセッサシステムに関する。 The present invention relates to a multiprocessor system including a storage device such as a dual port memory.
特許文献1には、保護制御演算に影響を与えることなく、遠隔からの整定変更,設定変更,装置内部のデータ転送を高速に実行するに好適なディジタル保護制御装置が開示されている。このディジタル保護制御装置は、デュアルポートメモリにより密結合されたリアルタイム処理演算ブロックとネットワーク処理ブロックとを有している。リアルタイム処理演算ブロックは、リアルタイム処理演算用の演算CPUと、デュアルポートメモリの書込み制御を実行するデュアルポートメモリ制御回路とを備えている。ネットワーク処理ブロックは、ネットワーク処理用のネットワークCPUと、デュアルポートメモリのネットワークCPU側からのアクセスを制御するデュアルポートメモリ制御回路とを備えている。
ところで、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)やFPGA(Field−Programmable Gate Array)に内蔵されたデュアルポートメモリは、一般的に複数のブロックに分けて組み込まれている。使用するデュアルポートメモリのブロック数が少ない場合は、1つのデュアルポートメモリと1つのデュアルポートメモリ制御回路とを1対1として構成すればよい。しかしながら、使用するデュアルポートメモリのブロック数が多い場合、デュアルポートメモリとデュアルポートメモリ制御回路とを1対1で構成すると、ブロック数に比例してデュアルポートメモリ制御回路の個数が増えてしまう。そうすると、ASICやFPGAのリソースを多く消費してしまうという問題が生じる。 By the way, a dual-port memory built in an application specific integrated circuit (ASIC) or FPGA (Field-Programmable Gate Array) is generally divided into a plurality of blocks. When the number of blocks of the dual port memory to be used is small, one dual port memory and one dual port memory control circuit may be configured on a one-to-one basis. However, when the number of blocks of the dual port memory to be used is large, if the dual port memory and the dual port memory control circuit are configured on a one-to-one basis, the number of dual port memory control circuits increases in proportion to the number of blocks. This causes a problem that a lot of ASIC and FPGA resources are consumed.
また、ASICやFPGAでは、複数のブロックのデュアルポートメモリからそれぞれ読出された読出データは、複数のブロックの出力側に接続された選択回路に入力され、この選択回路によって選択された読出データのみが出力データバスを介してデュアルポートメモリ制御回路に出力されるのが一般的である。このように、複数個のデュアルポートメモリから読出された読出データのうちの1つを選択回路で選択してデュアルポートメモリ制御回路に入力する方法では、デュアルポートメモリの配線が長くなる。さらに、選択回路を構成するゲート回路の段数が多くなる。その結果、データバスに出力された読出データの遅延が増大する。読出データが多ビットのデータである場合、ビット毎に遅延時間が異なると、デュアルポートメモリ制御回路が正規のデータとは異なる不定値の読出データを保持してしまうという問題が生じる。 In an ASIC or FPGA, read data read from the dual port memories of a plurality of blocks is input to a selection circuit connected to the output side of the plurality of blocks, and only the read data selected by the selection circuit is stored. In general, it is output to a dual port memory control circuit via an output data bus. As described above, in the method in which one of the read data read from the plurality of dual port memories is selected by the selection circuit and input to the dual port memory control circuit, the wiring of the dual port memory becomes long. Furthermore, the number of stages of gate circuits constituting the selection circuit increases. As a result, the delay of the read data output to the data bus increases. When the read data is multi-bit data, if the delay time is different for each bit, there is a problem that the dual port memory control circuit holds read data having an indefinite value different from normal data.
デュアルポートメモリ制御回路が設けられたリアルタイム処理演算ブロックやネットワーク処理ブロックなどの処理ブロックに、送信されるべき正規のデータとは異なる不定値のデータが送信されてしまうと、処理ブロックが誤動作してしまう可能性があるという問題がある。
本発明の目的は、適用される機器の誤動作を防止できるマルチプロセッサシステムを提供することにある。
If data with an indefinite value different from the regular data to be transmitted is sent to a processing block such as a real-time processing operation block or network processing block provided with a dual port memory control circuit, the processing block malfunctions. There is a problem that it may end up.
An object of the present invention is to provide a multiprocessor system capable of preventing malfunction of applied equipment.
上記目的を達成するために、本発明の一態様によるマルチプロセッサシステムは、データが入出力され互いに独立した2つの入出力ポートをそれぞれ備えた複数のデュアルポートメモリと、複数の前記デュアルポートメモリにおいて入出力されるデータを処理する処理装置と、複数の前記デュアルポートメモリに対する前記処理装置のアクセスを制御するメモリアクセスコントローラと、前記メモリアクセスコントローラに入力されるクロック信号を発信するクロック信号発信器と、前記メモリアクセスコントローラに備えられ、複数の前記デュアルポートメモリのうちの一のデュアルポートメモリから読出された読出データを、前記クロック信号に順次同期させて保持データとして複数保持し、複数の前記保持データの中から前記処理装置に出力する正規のデータを決定するデータ決定部とを有し、前記データ決定部は、複数の前記保持データ同士の異同に基づいて、複数の前記保持データのいずれを前記正規のデータとするのかを判定する判定部を備えることを特徴とする。 In order to achieve the above object, a multiprocessor system according to an aspect of the present invention includes a plurality of dual port memories each having two input / output ports from which data is input / output and independent of each other, and the plurality of dual port memories. A processing device that processes input / output data, a memory access controller that controls access of the processing device to a plurality of the dual port memories, and a clock signal generator that transmits a clock signal input to the memory access controller The memory access controller includes a plurality of read data read from one of the plurality of dual port memories as held data in synchronization with the clock signal, and a plurality of the held data The processing device from the data It has a data determination unit that determines the data of the regular outputs, the data determination unit, based on the plurality of difference of the held data to each other, whether the one of the plurality of the holding data to said regular data A determination unit for determining is provided .
本発明の一態様によれば、適用される機器の誤動作を防止できる。 According to one embodiment of the present invention, malfunction of an applied device can be prevented.
本発明の一実施形態によるマルチプロセッサシステムについて図1から図8を用いて説明する。本実施形態によるマルチプロセッサシステムは、例えば産業用機器に適用され、例えば複数のデュアルポートメモリを用いて2つの処理装置の間でデータ交換できる。 A multiprocessor system according to an embodiment of the present invention will be described with reference to FIGS. The multiprocessor system according to the present embodiment is applied to, for example, industrial equipment, and can exchange data between two processing devices using, for example, a plurality of dual port memories.
[マルチプロセッサシステムの概略構成]
図1に示すように、マルチプロセッサシステム1は、データが入出力され互いに独立した第1及び第2入出力ポート(2つの入出力ポートの一例)をそれぞれ備えた複数のデュアルポートメモリ33−1,33−2,・・・,33−n(nは、2以上の自然数)を有している。以下、「デュアルポートメモリ33−1,33−2,・・・,33−n」を「デュアルポートメモリ33」と総称する場合がある。なお、図1では、第1入出力ポートは「第1I/Oポート」として図示され、第2入出力ポートは「第2I/Oポート」として図示され、デュアルポートメモリ(Dual Port Random Access Memory)は、「DP−RAM」として図示されている。
[Schematic configuration of multiprocessor system]
As shown in FIG. 1, the
デュアルポートメモリ33−1は、第1データが入出力される第1入出力ポート331−1、第1入出力ポート331−1とは独立して設けられて第2データが入出力される第2入出力ポート332−1、及び第1データと第2データとを記憶する記憶部333−1を備えている。デュアルポートメモリ33−2は、第1データが入出力される第1入出力ポート331−2、第1入出力ポート331−2とは独立して設けられて第2データが入出力される第2入出力ポート332−2、及び第1データと第2データとを記憶する記憶部333−2を備えている。また、デュアルポートメモリ33−nは、第1データが入出力される第1入出力ポート331−n、第1入出力ポート331−nとは独立して設けられて第2データが入出力される第2入出力ポート332−n、及び第1データと第2データとを記憶する記憶部333−nを備えている。 The dual port memory 33-1 is provided independently of the first input / output port 331-1 and the first input / output port 331-1 to / from which the first data is input / output. 2 input / output port 332-1 and a storage unit 333-1 for storing the first data and the second data. The dual port memory 33-2 is provided independently of the first input / output port 331-2 and the first input / output port 331-2, through which the first data is input / output. 2 input / output port 332-2 and a storage unit 333-2 for storing the first data and the second data. The dual port memory 33-n is provided independently of the first input / output port 331-n and the first input / output port 331-n, through which the first data is input / output, and the second data is input / output. A second input / output port 332-n and a storage unit 333-n for storing the first data and the second data.
デュアルポートメモリ33−1に備えられた記憶部333−1は、アレイ構造のメモリセルを有している。デュアルポートメモリ33−1は、第1入出力ポート331−1を介して入力される第1データ書込信号L_WR2及び第1アドレス信号L_ADRに応じて、これらの信号とともに入力される第1書込データ(第1データの一例)L_DT1を記憶部333−1に備えられたメモリセルに書き込むようになっている。また、デュアルポートメモリ33−1は、第2入出力ポート332を介して入力される第2データ書込信号R_WR2及び第2アドレス信号R_ADRに応じて、これらの信号とともに入力される第2書込データ(第2データの一例)R_DT1を記憶部333−1に備えられたメモリセルに書き込むようになっている。また、デュアルポートメモリ33−1は、第1入出力ポート331−1を介して入力される第1アドレス信号L_ADRに応じて、記憶部333−1に備えられたメモリセルから第1読出データ(第1データの一例)L_DT2−1を読出すようになっている。さらに、デュアルポートメモリ33−1は、第2入出力ポート332−1を介して入力される第2アドレス信号R_ADRに応じて、記憶部333−1に備えられたメモリセルから第2読出データ(第2データの一例)R_DT2−1を読出すようになっている。
The storage unit 333-1 provided in the dual port memory 33-1 has memory cells having an array structure. In response to the first data write signal L_WR2 and the first address signal L_ADR input via the first input / output port 331-1, the dual port memory 33-1 receives the first write input together with these signals. Data (an example of first data) L_DT1 is written to a memory cell provided in the storage unit 333-1. Further, the dual port memory 33-1 receives the second write input with these signals in response to the second data write signal R_WR2 and the second address signal R_ADR input through the second input /
第1入出力ポート331−1には、第1アドレス信号L_ADR及び第1データ書込信号L_WR2が入力される入力端子(不図示)が設けられている。また、第1入出力ポート331−1には、第1書込データL_DT1が入力され第1読出データL_DT2−1が出力される入出力端子(不図示)が設けられている。第2入出力ポート332−1には、第2アドレス信号R_ADR及び第2データ書込信号R_WR2が入力される入力端子(不図示)が設けられている。また、第2入出力ポート332−1には、第2書込データR_DT1が入力され第2読出データR_DT2−1が出力される入出力端子(不図示)が設けられている。 The first input / output port 331-1 is provided with an input terminal (not shown) to which the first address signal L_ADR and the first data write signal L_WR2 are input. The first input / output port 331-1 is provided with an input / output terminal (not shown) through which the first write data L_DT1 is input and the first read data L_DT2-1 is output. The second input / output port 332-1 is provided with an input terminal (not shown) to which the second address signal R_ADR and the second data write signal R_WR2 are input. The second input / output port 332-1 is provided with an input / output terminal (not shown) through which the second write data R_DT1 is input and the second read data R_DT2-1 is output.
デュアルポートメモリ33−2,・・・,33−nに備えられた第1入出力ポート331−2,・・・331−nは、デュアルポートメモリ33−1に備えられた第1入出力ポート331−1と同様の構成を有しているため、説明は省略する。また、デュアルポートメモリ33−2,・・・,33−nに備えられた第2入出力ポート332−2,・・・332−nは、デュアルポートメモリ33−1に備えられた第2入出力ポート332−1と同様の構成を有しているため、説明は省略する。また、デュアルポートメモリ33−2,・・・,33−nに備えられた記憶部333−2,・・・,333−nは、デュアルポートメモリ33−1に備えられた記憶部333−1と同様の構成を有しているため、説明は省略する。 The first input / output ports 331-2,... 331-n provided in the dual port memories 33-2,..., 33-n are the first input / output ports provided in the dual port memory 33-1. Since it has the same configuration as 331-1, the description thereof is omitted. Further, the second input / output ports 332-2,... 332-n provided in the dual port memory 33-2,..., 33-n are the second inputs provided in the dual port memory 33-1. Since the configuration is the same as that of the output port 332-1, description thereof is omitted. Further, the storage units 333-2,..., 333-n provided in the dual port memories 33-2,..., 33-n are the storage units 333-1 provided in the dual port memory 33-1. Since the configuration is the same as in FIG.
マルチプロセッサシステム1は、複数のデュアルポートメモリ33において入出力される第1データを処理する第1中央処理装置(Central Processing Unit:CPU)(処理装置の一例)11と、複数のデュアルポートメモリ33において入出力される第2データを処理する第2CPU(処理装置の一例)12とを有している。
The
また、マルチプロセッサシステム1は、第1メモリアクセスコントローラ31及び第2メモリアクセスコントローラ32と、第1メモリアクセスコントローラ31及び第2メモリアクセスコントローラ32にそれぞれ入力されるクロック信号CLKを発信するクロック信号発信器14とを有している。第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33に対する第1CPU11のアクセスを制御するようになっている。第2メモリアクセスコントローラ32は、複数のデュアルポートメモリ33に対する第2CPU12のアクセスを制御するようになっている。
Further, the
第1CPU11は、複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31と接続されている。第1CPU11は、第1書込データL_DT1を書込む対象のメモリセル又は読出し対象のメモリセルのアドレスを指定するための第1アドレス信号L_ADRを複数のデュアルポートメモリ33のそれぞれに出力する。第1アドレス信号L_ADRは、第1入出力ポート331−1,331−2,・・・,331−nを介して記憶部333−1,333−2,・・・,333−nにそれぞれ入力される。以下、「第1入出力ポート331−1,331−2,・・・,331−n」を「第1入出力ポート331」と総称し、「記憶部333−1,333−2,・・・,333−n」を「記憶部333」と総称する場合がある。
The
また、第1アドレス信号L_ADRは第1メモリアクセスコントローラ31にも入力される。第1アドレス信号L_ADRは、第1CPU11と複数のデュアルポートメモリ33との間及び第1CPU11と第1メモリアクセスコントローラ31との間に設けられた第1アドレスバスライン21を通して複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31にそれぞれ送信される。
The first address signal L_ADR is also input to the first
また、第1CPU11は、データ書込みを指示するための第1データ書込指示信号L_WR1と、データ読出しを指示するための第1データ読出指示信号L_RD1とを第1メモリアクセスコントローラ31に出力する。また、第1CPU11は、複数のデュアルポートメモリ33のいずれか1つに書き込むための第1書込データL_DT1を第1メモリアクセスコントローラ31に出力する。さらに、第1CPU11には、複数のデュアルポートメモリ33のいずれか1つから読出されて第1メモリアクセスコントローラ31から出力された第1読出データL_DT2が入力されるようになっている。
The
マルチプロセッサシステム1は、第1CPU11と第1メモリアクセスコントローラ31との間に設けられたCPU側第1データバスライン22を有している。CPU側第1データバスライン22には、第1CPU11から出力されて複数のデュアルポートメモリ33のいずれか1つに書込まれる第1データとしての第1書込データL_DT1が送信される。さらに、CPU側第1データバスライン22には、複数のデュアルポートメモリ33のいずれか1つから読出されて第1CPU11に入力される第1データとしての第1読出データL_DT2も送信される。このように、CPU側第1データバスライン22は、第1データを双方向に送信可能になっている。
The
マルチプロセッサシステム1は、第1メモリアクセスコントローラ31と複数のデュアルポートメモリ33との間に設けられて複数のデュアルポートメモリ33のいずれか1つに書込まれる第1データを送信可能な書込用メモリ側第1データバスライン23wを有している。書込用メモリ側第1データバスライン23wは、第1メモリアクセスコントローラ31と第1入出力ポート331との間に設けられている。第1入出力ポート331−1,331−2,・・・,331−nは書込用メモリ側第1データバスライン23wを介して互いに接続されている。
The
第1書込データL_DT1は、CPU側第1データバスライン22を通して第1メモリアクセスコントローラ31に送信される。第1メモリアクセスコントローラ31に送信された第1書込データL_DT1は、メモリ側第1データバスライン23wを通して複数のデュアルポートメモリ33にそれぞれ送信される。第1書込データL_DT1は、複数のデュアルポートメモリ33のうちの第1アドレス信号L_ADRの値に応じて選択された一のデュアルポートメモリの記憶部に第1入出力ポートを介して記憶される。
The first write data L_DT1 is transmitted to the first
マルチプロセッサシステム1は、第1メモリアクセスコントローラ31と複数のデュアルポートメモリ33との間にそれぞれ設けられて複数のデュアルポートメモリ33からそれぞれ読出される第1データを個別に送信可能な読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nを有している。読出用メモリ側第1データバスライン23r−2,23r−2,・・・,23r−nは、互いに独立して設けられている。
The
読出用メモリ側第1データバスライン23r−1は、第1メモリアクセスコントローラ31と第1入出力ポート331−1との間に設けられている。第1入出力ポート331−1を介してデュアルポートメモリ33−1から読出された第1読出データL_DT2−1(第1データの一例)は、読出用メモリ側第1データバスライン23r−1を通して第1メモリアクセスコントローラ31に入力される。
The read memory side first
読出用メモリ側第1データバスライン23r−2は、第1メモリアクセスコントローラ31と第1入出力ポート331−2との間に設けられている。第1入出力ポート331−2を介してデュアルポートメモリ33−2から読出された第1読出データL_DT2−2(第1データの一例)は、読出用メモリ側第1データバスライン23r−2を通して第1メモリアクセスコントローラ31に入力される。
The read memory side first
読出用メモリ側第1データバスライン23r−nは、第1メモリアクセスコントローラ31と第1入出力ポート331−nとの間に設けられている。第1入出力ポート331−nを介してデュアルポートメモリ33−nから読出された第1読出データL_DT2−n(第1データの一例)は、読出用メモリ側第1データバスライン23r−nを通して第1メモリアクセスコントローラ31に入力される。
The read memory side first
第1メモリアクセスコントローラ31は、第1CPU11から入力される第1データ書込指示信号L_WR1に基づいて、第1データ書込信号L_WR2を複数のデュアルポートメモリ33に出力する。また、第1メモリアクセスコントローラ31は、第1CPU11から入力される第1データ読出指示信号L_RD1に基づいて、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された読出データを、クロック信号CLKに順次同期させて保持データとして複数保持する。第1メモリアクセスコントローラ31は、複数の保持データの中から第1CPU11に出力する正規のデータを決定し、正規のデータと決定された保持データを第1CPU11に出力するようになっている。第1メモリアクセスコントローラ31の内部構成については後述する。
The first
第2CPU12は、複数のデュアルポートメモリ33及び第2メモリアクセスコントローラ32と接続されている。第2CPU12は、第2書込データR_DT1を書込む対象のメモリセル又は読出し対象のメモリセルのアドレスを指定するための第2アドレス信号R_ADRを複数のデュアルポートメモリ33のそれぞれに出力する。第2アドレス信号R_ADRは、第2入出力ポート332−1,332−2,・・・,332−nを介して記憶部333−1,333−2,・・・,333−nにそれぞれ入力される。以下、「第2入出力ポート332−1,332−2,・・・,332−n」を「第2入出力ポート332」と総称する場合がある。
The
また、第2アドレス信号R_ADRは第2メモリアクセスコントローラ32にも入力される。第2アドレス信号R_ADRは、第2CPU12と複数のデュアルポートメモリ33との間及び第2CPU12と第2メモリアクセスコントローラ32との間に設けられた第2アドレスバスライン41を通して複数のデュアルポートメモリ33及び第2メモリアクセスコントローラ32にそれぞれ送信される。
The second address signal R_ADR is also input to the second
第2CPU12は、データ書込みを指示するための第2データ書込指示信号R_WR1と、データ読出しを指示するための第2データ読出指示信号R_RD1とを第2メモリアクセスコントローラ32に出力する。また、第2CPU12は、複数のデュアルポートメモリ33のいずれか1つに書き込むための第2書込データR_DT1を第2メモリアクセスコントローラ32に出力する。さらに、第2CPU12には、複数のデュアルポートメモリ33のいずれか1つから読出されて第2メモリアクセスコントローラ32から出力された第2読出データR_DT2が入力されるようになっている。
The
マルチプロセッサシステム1は、第2CPU12と第2メモリアクセスコントローラ32との間に設けられたCPU側第2データバスライン42を有している。CPU側第2データバスライン42には、第2CPU12から出力されて複数のデュアルポートメモリ33のいずれか1つに書込まれる第2データとしての第2書込データR_DT1が送信される。さらに、CPU側第2データバスライン42には、複数のデュアルポートメモリ33のいずれか1つから読出されて第2CPU12に入力される第2データとしての第2読出データR_DT2も送信される。このように、CPU側第2データバスライン42は、第2データを双方向に送信可能になっている。
The
マルチプロセッサシステム1は、第2メモリアクセスコントローラ32と複数のデュアルポートメモリ33との間に設けられて複数のデュアルポートメモリ33のいずれか1つに書込まれる第2データを送信可能な書込用メモリ側第2データバスライン43wを有している。書込用メモリ側第2データバスライン43wは、第2メモリアクセスコントローラ32と第2入出力ポート332−1,332−2,・・・,332−nとの間に設けられている。第2入出力ポート332−1,332−2,・・・,332−nは書込用メモリ側第2データバスライン43wを介して互いに接続されている。
The
第2書込データR_DT1は、CPU側第2データバスライン42を通して第2メモリアクセスコントローラ32に送信される。第2メモリアクセスコントローラ32に送信された第2書込データR_DT1は、メモリ側第2データバスライン43wを通して複数のデュアルポートメモリ33にそれぞれ送信される。第2書込データR_DT1は、複数のデュアルポートメモリ33のうちの第2アドレス信号R_ADRの値に応じて選択された一のデュアルポートメモリの記憶部に第2入出力ポートを介して記憶される。
The second write data R_DT1 is transmitted to the second
マルチプロセッサシステム1は、第2メモリアクセスコントローラ32と複数のデュアルポートメモリ33との間にそれぞれ設けられて複数のデュアルポートメモリ33からそれぞれ読出される第2データを個別に送信可能な読出用メモリ側第2データバスライン43r−1,43r−2,・・・,43r−nを有している。読出用メモリ側第2データバスライン43r−2,43r−2,・・・,43r−nは、互いに独立して設けられている。
The
読出用メモリ側第2データバスライン43r−1は、第2メモリアクセスコントローラ32と第2入出力ポート332−1との間に設けられている。第2入出力ポート332−1を介してデュアルポートメモリ33−1から読出された第2読出データR_DT2−1(第2データの一例)は、読出用メモリ側第2データバスライン43r−1を通して第2メモリアクセスコントローラ32に入力される。
The read memory side second
読出用メモリ側第2データバスライン43r−2は、第2メモリアクセスコントローラ32と第2入出力ポート332−2との間に設けられている。第2入出力ポート332−2を介してデュアルポートメモリ33−2から読出された第2読出データR_DT2−2(第2データの一例)は、読出用メモリ側第2データバスライン43r−2を通して第2メモリアクセスコントローラ32に入力される。
The read memory side second
読出用メモリ側第2データバスライン43r−nは、第2メモリアクセスコントローラ32と第2入出力ポート332−nとの間に設けられている。第2入出力ポート332−nを介してデュアルポートメモリ33−nから読出された第2読出データR_DT2−n(第2データの一例)は、読出用メモリ側第2データバスライン43r−nを通して第2メモリアクセスコントローラ32に入力される。
The read memory side second
第2メモリアクセスコントローラ32は、第2CPU12から入力される第2データ書込指示信号R_WR1に基づいて、第2データ書込信号R_WR2を複数のデュアルポートメモリ33に出力する。また、第2メモリアクセスコントローラ32は、第2CPU12から入力される第2データ読出指示信号R_RD1に基づいて、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された読出データを、クロック信号CLKに順次同期させて保持データとして複数保持する。第2メモリアクセスコントローラ32は、複数の保持データの中から第2CPU12に出力する正規のデータを決定し、正規のデータと決定された保持データを第2CPU12に出力するようになっている。第2メモリアクセスコントローラ32の内部構成については後述する。
The second
本実施形態では、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、図1に示すように、FPGA(Field−Programmable Gate Array)13の内部に組み込まれている。なお、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)の内部に組み込まれていてもよく、あるいは独立した回路によって構成されていてもよい。さらに、第1メモリアクセスコントローラ31、第2メモリアクセスコントローラ32及び複数のデュアルポートメモリ33は、これらの一部の構成(例えば、複数のデュアルポートメモリ33)がFPGAやASICの内部に組み込まれ、残余の構成(例えば第1及び第2メモリアクセスコントローラ31,32)がFPGAやASICに接続された独立した回路によって構成されていてもよい。
In the present embodiment, the first
マルチプロセッサシステム1を適用した産業用機器において、例えば第1CPU11は主処理用の処理装置として用いられ、第2CPU12は外部機器との外部通信用の処理装置として用いられる。第1CPU11は多量のデータを複数のデュアルポートメモリ33に送信して記憶させておく。第2CPU12は複数のデュアルポートメモリ33に記憶されたデータを読出すとともに外部機器に送信する。第2CPU12が外部機器にデータを送信してからこの外部機器から所定の結果を受信するまでにはある程度の時間を要する。このため、第1CPU11は、第2CPU12が外部機器から受信した結果に基づくデータを複数のデュアルポートメモリ33に送信するまでの間に、別のデータ処理を継続することができる。これにより、マルチプロセッサシステム1を適用した産業用機器は、高速処理を実現できる。
In industrial equipment to which the
[第1及び第2メモリアクセスコントローラの内部構成]
次に、第1及び第2メモリアクセスコントローラ31,32の内部構成について図2を用いて説明する。
図2に示すように、第1メモリアクセスコントローラ31は、第1CPU11から入力される第1指示信号に基づいて、第1CPU11のアクセスを制御するためのアクセス信号を発生する第1アクセス信号発生部131を備えている。
[Internal configuration of first and second memory access controllers]
Next, the internal configuration of the first and second
As shown in FIG. 2, the first
また、第1アクセス信号発生部131には、第1アドレス信号L_ADR及びクロック信号CLKが入力される。ところで、図1には、第1CPU11のアクセス先として、複数のデュアルポートメモリ33が図示されている。実際には、第1CPU11のアクセス先は、図示しない他の部品(例えば通信回路など)も存在する。マルチプロセッサシステム1は、複数のデュアルポートメモリ33にアクセスする場合にのみ第1アドレス信号L_ADRを第1メモリアクセスコントローラ31に入力し、この場合にのみ第1メモリアクセスコントローラ31を動作させるように構成されている。
The first
第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ書込信号L_WR2を複数のデュアルポートメモリ33の第1入出力ポート331に対して出力している。第1アクセス信号発生部131は、第1アドレス信号L_ADRが入力され、かつ第1データ書込指示信号L_WR1が有効状態すなわちアサート状態になると、クロック信号CLKに同期させて少なくともクロック信号CLKの1周期分アサート状態となる第1データ書込信号L_WR2を複数のデュアルポートメモリ33に出力する。
The first
また、第1アクセス信号発生部131は、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出されて選択された第1選択データL_DT2sを保持するための第1データ保持信号RDL1,RDL2,・・・,RDLi(iは、3以上の自然数)を発生する。さらに、第1アクセス信号発生部131は、第1出力バッファ回路132e(詳細は後述)をハイインピーダンス状態か否かに切り替えるための第1データ読出制御信号ROEを発生する。第1データ読出制御信号ROE及び第1データ保持信号RDL1,RDL2,・・・,RDLiは、第1アクセス信号発生部131が発生するアクセス信号に対応する。
The first
第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ保持信号RDL1,RDL2,・・・,RDLiを第1データ決定部132(詳細は後述)に対して出力している。第1アクセス信号発生部131は、第1データ読出指示信号L_RD1が有効状態すなわちアサート状態になると、クロック信号CLKに同期させてクロック信号CLKの1周期分アサート状態となる第1データ保持信号RDL1,RDL2,・・・,RDLiを第1データ決定部132に順次出力する。
The first access
第1アクセス信号発生部131は、非アクセス状態時に、信号状態が無効状態すなわちネゲート状態にある第1データ読出制御信号ROEを第1出力バッファ回路132eに対して出力している。第1アクセス信号発生部131は、第1データ読出指示信号L_RD1がアサート状態になると、クロック信号CLKに同期させてクロック信号CLKの少なくとも1周期分以上アサート状態となる第1データ読出制御信号ROEを第1出力バッファ回路132eに出力する。
第1データ保持信号RDL1,RDL2,・・・,RDLi及び第1データ読出制御信号ROEは、第1アクセス信号発生部131が発生する第1指示信号に対応する。
The first
The first data holding signals RDL1, RDL2,..., RDLi and the first data read control signal ROE correspond to the first instruction signal generated by the first
(第1データ決定部の構成)
第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33のうちの一のデュアルポートメモリから読出された第1読出データL_DT2−k(kは、1からnの間の自然数)を、クロック信号CLKに順次同期させて第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iとして複数保持し、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2s−nの中から第1CPU11に出力する第1読出データ(正規のデータの一例)L_DT2を決定する第1データ決定部132を備えている。
(Configuration of the first data determination unit)
The first
第1メモリアクセスコントローラ31は、複数のデュアルポートメモリ33に接続された読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nのうち第1読出データL_DT2−kが送信された読出用メモリ側第1データバスライン(一のデータバスラインの一例)23r−k(kは、1からnの間の自然数)を、複数のデュアルポートメモリ33に入力される第1アドレス信号L_ADRに基づいて選択する第1ライン選択回路(ライン選択部の一例)132aを備えている。本実施形態では、第1ライン選択回路132aは、第1データ決定部132に設けられている。なお、第1ライン選択回路132aは、第1メモリアクセスコントローラ31の内部であって第1データ決定部132から独立して設けられていてもよい。また、第1ライン選択回路132aは、第1メモリアクセスコントローラ31の外部に設けられていてもよい。
The first
第1ライン選択回路132aは、複数の入力端子(不図示)を備えている。この複数の入力端子は、読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nと同数設けられている。この複数の入力端子は、読出用メモリ側第1データバスライン23r−1,23r−2,・・・,23r−nと1対1の関係を満たすように接続されている。
The first
第1ライン選択回路132aには、第1アドレスバスライン21が接続されている。第1ライン選択回路132aには、第1アドレスバスライン21を通して第1アドレス信号L_ADRが入力されるようになっている。第1ライン選択回路132aは、入力される第1アドレス信号L_ADRの値に応じて、第1読出データL_DT2−kが送信された読出用メモリ側第1データバスライン23r−kに接続された入力端子と、出力端子とを接続する。第1ライン選択回路132aには、第1選択データL_DT2sを出力するための1つの出力端子(不図示)が設けられている。第1ライン選択回路132aは、この出力端子から第1読出データL_DT2−kを第1選択データL_DT2sとして出力する。
The first
第1データ決定部132は、第1選択データL_DT2sを保持する複数の第1保持回路132b−1,132b−2,・・・,132b−iを備えている。複数の第1保持回路132b−1,132b−2,・・・,132b−iのそれぞれの入力端子INは、第1ライン選択回路132aの出力端子に接続されている。第1ライン選択回路132aの出力端子から出力される第1選択データL_DT2sは、複数の第1保持回路132b−1,132b−2,・・・,132b−iのそれぞれの入力端子INに入力される。
The first
複数の第1保持回路132b−1,132b−2,・・・,132b−iには、保持信号入力端子LTが設けられている。保持信号入力端子LTには、第1データ保持信号RDL1,RDL2,・・・,RDLiが入力される。第1保持回路132b−1の保持信号入力端子LTには、第1データ保持信号RDL1が入力され、第1保持回路132b−2の保持信号入力端子LTには、第1データ保持信号RDL2が入力され、第1保持回路132b−iの保持信号入力端子LTには、第1データ保持信号RDLiが入力される。第1アクセス信号発生部131は、第1データ決定部132に設けられた第1保持回路の個数分の第1データ保持信号RDL1,RDL2,・・・,RDLiを発生し、発生した第1データ保持信号RDL1,RDL2,・・・,RDLiをクロック信号CLKに同期させて第1保持回路132b−1,132b−2,・・・,132b−iに順次出力するようになっている。
The plurality of first holding
第1保持回路132b−1は、保持信号入力端子LTに入力される第1データ保持信号RDL1がアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−1として保持する。さらに、第1保持回路132b−1は、保持した第1保持データL_DT2−1を出力端子Qから出力するようになっている。第1保持回路132b−2は、保持信号入力端子LTに入力される第1データ保持信号RDL2がアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−2として保持する。さらに、第1保持回路132b−2は、保持した第1保持データL_DT2−2を出力端子Qから出力するようになっている。第1保持回路132b−iは、保持信号入力端子LTに入力される第1データ保持信号RDLiがアサート状態からネゲート状態に切り替わるのに同期して、入力端子INに入力されている第1選択データL_DT2sを第1保持データL_DT2−iとして保持する。さらに、第1保持回路132b−iは、保持した第1保持データL_DT2−iを出力端子Qから出力するようになっている。第1データ保持信号RDL1,RDL2,・・・,RDLiは、クロック信号発信器14が発信するクロック信号に同期してアサート状態からネゲート状態に切り替わる。このため、第1データ決定部132は、クロック信号に同期させて第1選択データL_DT2sを複数の第1保持回路132b−1,132b−2,・・・,132b−iに保持する。
The
第1データ決定部132は、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−i同士の異同に基づいて、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iのいずれを第1読出データL_DT2(すなわち正規のデータ)とするのかを判定する第1判定回路(第1判定部の一例)132cを備えている。
The first
第1判定回路132cには、第1保持回路と同数のデータ入力端子(不図示)と、1つの保持信号入力端子(不図示)とが設けれられている。このデータ入力端子は、複数の第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれの出力端子Qと1対1の関係を満たすように接続されている。これにより、第1判定回路132cには、第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれに保持された第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iが互いに異なる入力端子に入力される。また、第1判定回路132cの保持信号入力端子には、複数の第1データ保持信号RDL1,RDL2,・・・,RDLiのうち、第1アクセス信号発生部131が発生する最後の第1データ保持信号、すなわちiが最大値の第1データ保持信号RDLiが入力される。
The
第1判定回路132cは、複数の保持データ同士の異同と、正規のデータとすべき保持データとを対応付けた判定テーブル(詳細は後述)を記憶している。第1判定回路132cは、保持信号入力端子に入力される第1データ保持信号RDLiがアサート状態からネゲート状態に切り替わることに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から正規のデータ(すなわち第1読出データL_DT2)とすべき第1保持データを、判定テーブルを参照して判定する。また、第1判定回路132cは、第1読出データL_DT2とすべき第1保持データの判定結果の情報を含む選択制御信号OSを出力するようになっている。
The
第1データ決定部132は、第1判定回路132cから入力される選択制御信号OSに基づいて、正規のデータ(すなわち第1読出データL_DT2)として決定された保持データを、入力される複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から選択する第1保持データ選択回路132dを備えている。
The first
第1保持データ選択回路132dには、第1保持回路と同数のデータ入力端子(不図示)と、選択制御信号OSが入力される選択信号入力端子(不図示)と、選択された第1保持データが出力される1つのデータ出力端子(不図示)とが設けれられている。このデータ入力端子は、複数の第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれの出力端子Qと1対1の関係を満たすように接続されている。これにより、第1保持データ選択回路132dには、第1保持回路132b−1,132b−2,・・・,132b−nのそれぞれに保持された第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iが互いに異なる入力端子に入力される。第1保持データ選択回路132dは、選択信号入力端子に入力される選択制御信号OSの値に応じて、複数のデータ入力端子のうちの一のデータ入力端子とデータ出力端子とを接続する。これにより、第1保持データ選択回路132dは、選択された保持データを第1読出データL_DT2としてデータ出力端子から出力する。
The first holding
第1データ決定部132は、第1保持データ選択回路132dから入力される第1読出データL_DT2を第1CPU11に出力可能な状態と、第1保持データ選択回路132dから入力される第1読出データL_DT2の出力が不可能なハイインピーダンス状態とに可逆的に切り替わる第1出力バッファ回路132eを備えている。
The first
第1出力バッファ回路132eは、第1保持データ選択回路132dのデータ出力端子に接続されたデータ入力端子INと、CPU側第1データバスライン22に接続されたデータ出力端子OUTとを備えている。また、第1出力バッファ回路132eは、第1アクセス信号発生部131に接続されて第1データ読出制御信号ROEが入力される制御信号入力端子OEを備えている。第1出力バッファ回路132eは、制御信号入力端子OEに入力される第1データ読出制御信号ROEがアサート状態であると、第1保持データ選択回路132dから入力される第1読出データL_DT2を第1CPU11に出力可能な状態となる。一方、第1出力バッファ回路132eは、制御信号入力端子OEに入力される第1データ読出制御信号ROEがネゲート状態であると、データ出力端子OUTをハイインピーダンス状態とし、第1読出データL_DT2を第1CPU11に出力不可能な状態となる。
The first
第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、第1出力バッファ回路132eのデータ出力端子OUTからCPU側第1データバスライン22に入力された第1読出データL_DT2を読込むようになっている。
The
CPU側第1データバスライン22は、第1メモリアクセスコントローラ31を介して書込用メモリ側第1データバスライン23wに直結されている。また、CPU側第1データバスライン22は、第1出力バッファ回路132eのデータ出力端子OUTにも接続されている。第1アクセス信号発生部131は、第1アドレス信号L_ADRが入力され、かつ第1データ読出指示信号L_RD1がアサート状態になることによって第1データ読出制御信号ROEをアサート状態とする。第1CPU11は、第1データ書込指示信号L_WR1と第1データ読出指示信号L_RD1とを同時期にアサート状態にしない。また、第1アクセス信号発生部131は、第1データ読出指示信号L_RDのアサート期間内に第1データ保持信号RDL1,RDL2,・・・,RDLiを発生する。
The CPU-side first
これにより、CPU側第1データバスライン22に入力された第1書込データL_DT1をデュアルポートメモリ33に書込む時には、第1データ読出制御信号ROE及び第1データ保持信号RDL1,RDL2,・・・,RDLiはネゲート状態になる。このため、第1出力バッファ回路132eのデータ出力端子OUTはハイインピーダンス状態となる。これにより、第1書込データL_DT1と、第1出力バッファ回路132eのデータ入力端子に入力される第1読出データL_DT2とが同時期にCPU側第1データバスライン22に入力されることはない。その結果、第1アドレス信号L_ADRの値に応じた所望のデュアルポートメモリ33に備えられた記憶部333の所望のメモリセルに、第1CPU11から出力された第1書込データL_DT1が書込まれる。
Thus, when the first write data L_DT1 input to the CPU side first
一方、第1出力バッファ回路132eが第1読出データL_DT2を出力可能な状態にある時は、第1データ書込指示信号L_WR1はネゲート状態であるため第1データ書込信号L_WR2もネゲート状態となる。これにより、第1出力バッファ回路132eのデータ出力端子OUTから出力された第1読出データL_DT2は、メモリ側第1データバスライン23wに入力されるものの第1入出力ポート331を介して記憶部333に書き込まれることはない。
On the other hand, when the first
[第2メモリアクセスコントローラの構成]
第2メモリアクセスコントローラ32は、第1メモリアクセスコントローラ31と同一の内部構成を有し、同一の機能を発揮するようになっている。すなわち、第2メモリアクセスコントローラ32は、第1アクセス信号発生部131と同一の構成を有し同一の機能を発揮する第2アクセス信号発生部と、第1データ決定部132と同一の構成を有し同一の機能を発揮する第2データ決定部とを備えている。
[Configuration of second memory access controller]
The second
[マルチプロセッサシステムの動作]
次に、本実施形態によるマルチプロセッサシステム1の動作について、図1及び図2を参照しつつ図3から図8を用いて説明する。
[Operation of multiprocessor system]
Next, the operation of the
(書込み動作)
まず、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ書込み動作について説明する。図3では、同時刻に同一の値の第1アドレス信号L_ADR及び第2アドレス信号R_ADRがデュアルポートメモリ33に入力された場合のマルチプロセッサシステム1の動作が図示されている。
(Write operation)
First, the data write operation of the first
図3に示すデータ書込み動作のタイミングチャートにおいて、図3中に示す「L_ADR」は第1アドレス信号L_ADRを示し、「L_DT1(22)」はCPU側第1データバスライン22に入力された第1書込データL_DT1を示し、「L_WR1」は第1データ書込指示信号L_WR1を示し、「L_DT1(23w)」は書込用メモリ側第1データバスライン23wに入力された第1書込データL_DT1を示し、「CLK」はクロック信号発信器14から出力されたクロック信号CLKを示し、「L_WR2」は第1データ書込信号L_WR2を示し、「R_ADR」は第2アドレス信号R_ADRを示し、「R_DT2−k」は読出し対象のデュアルポートメモリ33から読出された第2読出データを示している。図3において、左から右に向かって時の経過が表されている。
In the timing chart of the data write operation shown in FIG. 3, “L_ADR” shown in FIG. 3 indicates the first address signal L_ADR, and “L_DT1 (22)” is the first data input to the CPU-side first
デュアルポートメモリ13は、第1CPU11及び第2CPU12のメモリ空間にマッピングされている。第1CPU11は、第1書込データL_DT1をデュアルポートメモリ33に書込む際に、記憶部333の書込み対象のメモリセルの番地を含む第1アドレス信号L_ADRを複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力する。図3では、時刻t1において、値「0x020000FE」の第1アドレス信号L_ADRがデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力されている。なお、値「0x020000FE」は、C言語における言語仕様で表されている。後述する図4及び図7に示す各データの値の表記方法も同様にC言語における言語仕様で表されている。したがって、値「0x020000FE」は、10進数の「33554686」に相当する。
The
図3に示すように、第1アドレスバスライン21への第1アドレス信号L_ADRの出力が開始される時刻t1において、デュアルポートメモリ33に書込むための第1書込データL_DT1が第1CPU11からCPU側第1データバスライン22に出力される。図3では、値「0x1234」の第1書込データL_DT1が例えばCPU側第1データバスライン22に出力された状態が図示されている。
As shown in FIG. 3, at the time t1 when the output of the first address signal L_ADR to the first
書込用メモリ側第1データバスライン23wは、CPU側第1データバスライン22に直結されている。このため、時刻t1において、書込用メモリ側第1データバスライン23wには、CPU側第1データバスライン22に入力されたのと同様の値「0x1234」の第1書込データL_DT1が入力される。第1書込データL_DT1が書込用メモリ側第1データバスライン23wに入力されるタイミングは、第1CPUから第1書込データL_DT1をCPU側第1データバスライン22へ出力するタイミングとほぼ同じである。
The write memory side first
また、時刻t1において、第1アドレス信号L_ADRと同じ値の第2アドレス信号R_ADRが第2アドレスバスライン41に出力されている。これにより、デュアルポートメモリ33はチップセレクトされてデータを読出し可能な状態となる。
Further, the second address signal R_ADR having the same value as the first address signal L_ADR is output to the second
図3に示すように、値「0x020000FE」の第1アドレス信号L_ADRと値「0x1234」の第1書込データL_DT1が出力された後に、信号レベルが高レベルから低レベルへの切り替えが開始され、時刻t2において低レベルとなる第1データ書込指示信号L_WR1が第1CPU11から第1メモリアクセスコントローラ31に出力される。第1データ書込指示信号L_WR1は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。このため、第1データ書込指示信号L_WR1は、時刻t2においてアサート状態になる。
As shown in FIG. 3, after the first address signal L_ADR having the value “0x020000FE” and the first write data L_DT1 having the value “0x1234” are output, the switching of the signal level from the high level to the low level is started. The first data write instruction signal L_WR1 that becomes low level at time t2 is output from the
第1データ書込指示信号L_WR1がアサート状態に切り替わった後の時刻t3において、クロック信号CLKが立ち上がる。クロック信号CLKのこの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ書込信号L_WR2が第1アクセス信号発生部131から複数のデュアルポートメモリ33に出力される。第1データ書込信号L_WR2は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。図3に示すように、第1データ書込信号L_WR2は、第1データ書込指示信号L_WR1がアサート状態になった後のクロック信号CLKの最初の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ書込信号L_WR2は時刻t3の直後にアサート状態になる。
At time t3 after the first data write instruction signal L_WR1 is switched to the asserted state, the clock signal CLK rises. A first data write signal L_WR2 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK is output from the first
図3に示すように、時刻t3の後の時刻t4において、クロック信号CLKが再び立ち上がる。時刻t4でのクロック信号のこの立ち上がりエッジに同期して、第1アクセス信号発生部131からデュアルポートメモリ33に出力される第1データ書込信号L_WR2がアサート状態からネゲート状態に切り替えられる。これにより、第1データ書込信号L_WR2は、時刻t3から時刻t4というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。なお、図3では、第1データ書込信号L_WR2はクロック信号CLKの1周期だけ低レベルになるパルス信号であるが、クロック信号CLKの複数周期の間で低レベルとなるパルス信号でもよい。また、第1データ書込信号L_WR2はクロック信号CLKの立下りエッジに同期する信号でもよい。
As shown in FIG. 3, at time t4 after time t3, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t4, the first data write signal L_WR2 output from the first
図示は省略するが、第1データ書込信号L_WR2がアサート状態からネゲート状態に切り替わることにより、書込用メモリ側第1データバスライン23wに出力されている第1書込データL_DT1の値(図3では、「0x1234」)が、第1アドレス信号L_ADRにおいて指定されたデュアルポートメモリ33に備えられた記憶部333のメモリセルに記憶される。例えば、第1アドレス信号L_ADRの上位の数ビットが複数のデュアルポートメモリ33の番号に対応し、下位の残余のビットが記憶部333のメモリセルの番地に対応するようになっている。これにより、マルチプロセッサシステム1は、第1CPU11によって指定されるデュアルポートメモリ33の記憶部333の指定されるメモリセルに第1データ書込信号L_WR2を書込むことができる。同時に、マルチプロセッサシステム1は、第1CPU11が指定しないデュアルポートメモリ33には第1データ書込信号L_WR2を書込まないようにすることができる。
Although illustration is omitted, when the first data write signal L_WR2 is switched from the asserted state to the negated state, the value of the first write data L_DT1 output to the write memory side first
また、デュアルポートメモリ33はチップセレクトされているため、時刻t4において、デュアルポートメモリ33−kに書込まれた値「0x1234」の第1データ書込信号L_WR2が第2読出データR_DT2−kとして読出用メモリ側第2データバスライン43r−kに出力される。また、残余のデュアルポートメモリ33からも記憶部333に記憶されているデータが読出用メモリ側第2データバスライン43rに出力される。マルチプロセッサシステム1では、第1データ書込信号L_WR2がデュアルポートメモリ33に書込まれるタイミングと、第2読出データR_DT2−kが読出されるタイミングとの差がクロック信号CLKの0クロック分である。しかしながら、マルチプロセッサシステム1は、第1データ書込信号L_WR2がデュアルポートメモリ33に書込まれてから第2読出データR_DT2−kが読出されるまでに、クロック信号CLKの数クロック分を要するように設計されていてもよい。
Further, since the
図3に示すように、その後、第1データ書込指示信号L_WR1は、アサート状態からネゲート状態への切り替えが開始され、時刻t5においてネゲート状態となる。このように、第1データ書込指示信号L_WR1は、時刻t2から時刻t5の間に信号レベルが低レベルとなるパルス信号となる。 As shown in FIG. 3, thereafter, the first data write instruction signal L_WR1 starts to be switched from the asserted state to the negated state, and enters the negated state at time t5. Thus, the first data write instruction signal L_WR1 is a pulse signal whose signal level becomes low between time t2 and time t5.
また、第1データ書込指示信号L_WR1がネゲート状態になっても、CPU側第1データバスライン22と書込用メモリ側第1データバスライン23wとは直結されたままなので、CPU側第1データバスライン22に入力された値「0x1234」の第1書込データL_DT1は書込用メモリ側第1データバスライン23wに入力され続ける。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つの第1書込データのデータ書込み動作が終了する。
Even if the first data write instruction signal L_WR1 is negated, the CPU-side first
Thus, the data write operation of one first write data in the first
第2メモリアクセスコントローラ32のデータ書込み動作は、第1メモリアクセスコントローラ31の動作の「第1」を「第2」に読み替えたのと同様であるため、説明は省略する。
The data write operation of the second
(データ読出し動作)
次に、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ読出し動作について図1及び図2を参照しつつ図4から図6を用いて説明する。図4には、第1選択データL_DT2sが不定値の期間(詳細は後述)がクロック信号CLKの1周期よりも短い場合であって、第1データ決定部132が3つの第1保持回路132b−1,132b−2,132b−3(i=3)を備えている場合のデータ読出し動作のタイミングチャートが図示されている。
(Data read operation)
Next, the data read operation of the first
図4に示すデータ読出し動作のタイミングチャートにおいて、図4中に示す「CLK」はクロック信号発信器14から出力されたクロック信号CLKを示し、「R_WR2」は第2データ書込信号R_WR2を示し、「L_DT2−k」は読出し対象のデュアルポートメモリ33−kから読出された第1読出データ(一のデュアルポートメモリから読出された読出データの一例)を示し、「L_DT2s」は第1選択データL_DT2sを示している。また、図4中に示す「L_RD1」は第1データ読出指示信号L_RD1を示し、「RDL1」は第1データ保持信号RDL1を示し、「REG1」は第1保持回路132b−1に保持された第1保持データL_DT2h−1を示し、「RDL2」は第1データ保持信号RDL2を示し、「REG2」は第1保持回路132b−2に保持された第1保持データL_DT2h−2を示し、「RDL3」は第1データ保持信号RDL3を示し、「REG3」は第1保持回路132b−3に保持された第1保持データL_DT2h−3を示し、「L_DT2(22)」は第1メモリアクセスコントローラ31からCPU側第1データバスライン22に出力された第1読出データL_DT2を示している。図4において、左から右に向かって時の経過が表されている。
In the timing chart of the data read operation illustrated in FIG. 4, “CLK” illustrated in FIG. 4 represents the clock signal CLK output from the
デュアルポートメモリ33は、第1CPU11及び第2CPU12のメモリ空間にマッピングされている。第1CPU11は、第1読出データL_DT2を複数のデュアルポートメモリ33のいずれかから読出す際に、読出し対象のデュアルポートメモリ33及び読出し対象の記憶部333のメモリセルの情報を含む第1アドレス信号L_ADRを複数のデュアルポートメモリ33及び第1メモリアクセスコントローラ31に出力する。
The
また、デュアルポートメモリ33は、第1アドレス信号L_ADRが入力されている期間チップセレクトされる。デュアルポートメモリ33のうち、入力された第1アドレス信号L_ADRの値(例えば、上位数ビットの値)に応じてチップセレクトされた読出し対象のデュアルポートメモリ33−k(kは、1からnの間の自然数)は、入力された第1アドレス信号L_ADRの値(例えば、下位数ビットの値)に応じて指定された記憶部333のメモリセルからデータを読出す。さらに、デュアルポートメモリ33−kは、メモリセルから読出した読出データを第1入出力ポート331−kを介して読出用メモリ側第1データバスライン23r−kに出力する。図4では、デュアルポートメモリ33−kには、時刻t1よりも前にチップセレクトされている。このため、デュアルポートメモリ33−kに接続された読出用メモリ側第1データバスライン23r−kには、値「0x1234」の第1読出データL_DT2−kが出力される。
Further, the
図4に示すように、クロック信号CLKの立上りに同期して時刻t1の直後に第2データ書込信号R_WR2がアサート状態になる。
第1データ読出指示信号L_RD1は、信号レベルが高レベルのときにネゲート状態で、信号レベルが低レベルの時にアサート状態である。クロック信号CLKの立上りの時刻t1と時刻t2の間に、第1CPU11から第1メモリアクセスコントローラ31に出力される第1データ読出指示信号L_RD1がアサートされた場合を例に説明する。
As shown in FIG. 4, the second data write signal R_WR2 is asserted immediately after time t1 in synchronization with the rise of the clock signal CLK.
The first data read instruction signal L_RD1 is negated when the signal level is high and asserted when the signal level is low. An example will be described in which the first data read instruction signal L_RD1 output from the
第1データ読出指示信号L_RD1がアサート状態になった後の時刻t2において、クロック信号CLKの立ち上りエッジに同期して、第2アクセス信号発生部からデュアルポートメモリ33に出力される第2データ書込信号R_WR2がアサート状態からネゲート状態に切り替えられる。第2データ書込信号R_WR2がアサート状態からネゲート状態に切り替わることにより、書込用メモリ側第2データバスライン43wに出力されている第2書込データR_DT1の値(図3では、「0x5678」)が、第2アドレス信号R_ADRにおいて指定されたデュアルポートメモリ33−kの記憶部333の指定されたメモリセルに記憶される。
Second data write output from the second access signal generator to the
また、デュアルポートメモリ33−kはチップセレクトされているため、時刻t2において、デュアルポートメモリ33−kの記憶部333から第1読出データL_DT2−kが読出用メモリ側第1データバスライン23r−kに出力される。図4に示すように、書込み対象のデュアルポートメモリ33−kに接続された読出用メモリ側第1データバスライン23r−kには、デュアルポートメモリ33−kに書込まれた値「0x5678」の第1読出データL_DT2−kが出力される。
Further, since the dual port memory 33-k is chip-selected, the first read data L_DT2-k is read from the memory unit first
第1ライン選択回路132aは、第1アドレス信号L_ADRの値に応じて第1読出データL_DT2−kが送信された読出用メモリ側第2データバスライン23r−kに接続された入力端子と、出力端子とを接続し、第1読出データL_DT2−kを第1選択データL_DT2sとして出力端子から出力する。
The first
ここで、第1読出データ選択回路132aの出力端子から出力される第1選択データL_DT2sの遅延について、図5を用いて説明する。図4と図5の時刻t2、t3、t5は対応する。図5に示すように、第1読出データL_DT2−kは、多ビット(図5では4ビット)のデータである。図5中の上段に示すように、時刻t2において、デュアルポートメモリ33−kから読出用メモリ側第1データバスライン23r−kに読出される第1読出データL_DT2−kは、時刻t2以前に出力していた値(以下、「前回値」と称する)から、時刻t2時点でデュアルポートメモリ33−kに記憶されている値(以下、「今回値」と称する)に切り替わる。第1読出データL_DT2−kの各ビットのデータは、時刻t2において同じタイミングで前回値から今回値に切り替わる。第1ライン選択回路132aは、出力端子と複数の入力端子のそれぞれと個別に接続させるために複数段に構成されたゲート回路を備えている。このため、図5中下段に示すように、第1読出データ選択回路132aの入力端子に入力された第1読出データL_DT2−kが前回値から今回値に切り替わるタイミングは、このゲート回路の段数に応じて時刻t2に対して期間Tdsだけ遅延して時刻t3となる。また、デュアルポートメモリ33や第1ライン選択回路132aを構成するトランジスタの特性ばらつきにより、第1ライン選択回路132aに第1読出データL_DT2−kが入力されてから第1選択データL_DT2sが出力されるまでの出力遅延がビットデータ毎に異なる。さらに、読出用メモリ側第1データバスライン23r−kの配線の長さは、第1読出データL_DT2−kのビット毎に異なるため、配線遅延がビットデータ毎に異なる。このため、図5中の下段に示すように、この出力遅延や配線遅延により、第1読出データL_DT2−kのビットデータ毎に遅延ばらつき期間Tdbが生じる。その結果、第1ライン選択回路132aから今回値の第1選択データL_DT2sが出力されるまでには、期間Tds及び遅延ばらつき期間Tdbを合計した遅延時間を要する。特に、遅延ばらつき期間Tdbでの第1選択データL_DT2sは、前回値でも今回値でもない不定値となる。この不定値が読み出されて第1CPU11に送信されてしまうと、マルチプロセッサシステム1を適用した産業用機器は、予期しない制御がなされて誤動作してしまう可能性がある。
Here, the delay of the first selection data L_DT2s output from the output terminal of the first read
したがって、図4に示すように、第1ライン選択回路132aから出力される第1選択データL_DT2sは、時刻t3から時刻t5の期間で不定値となる。
Therefore, as shown in FIG. 4, the first selection data L_DT2s output from the first
第1データ読出指示信号L_RD1がアサート状態に切り替わった後の時刻t2において、クロック信号CLKが立ち上がる。クロック信号CLKのこの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL1が第1アクセス信号発生部131から第1保持回路132b−1に出力される。第1データ保持信号RDL1及び後述する第1データ保持信号RDL2,RDL3及び第1データ保持信号RDL4(図7参照)は、信号レベルが高レベルのときにネゲート状態となり、信号レベルが低レベルの時にアサート状態になる。図4に示すように、第1データ保持信号RDL1は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの最初の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL1は時刻t2の直後にアサート状態になる。
At time t2 after the first data read instruction signal L_RD1 is switched to the asserted state, the clock signal CLK rises. A first data holding signal RDL1 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK is output from the first
時刻t2の後の時刻t3において、第1ライン選択回路132aから出力される第1選択データL_DT2sは、前回値から不定値となる。
At time t3 after time t2, the first selection data L_DT2s output from the first
時刻t3の後の時刻t4において、クロック信号CLKが再び立ち上がる。時刻t4でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL1がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL1は、時刻t2から時刻t4というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL1がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−1は、第1選択データL_DT2sを第1保持データL_DT2h−1として保持するともに、第1選択データL_DT2sを出力端子Qから出力する。図4に示すように、時刻t4における第1選択データL_DT2sは、不定値であるため、第1保持回路132b−1には不定値が保持される。
At time t4 after time t3, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t4, the first data holding signal RDL1 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL1 becomes a pulse signal whose signal level is low for only one period of the clock signal CLK from time t2 to time t4. When the first data holding signal RDL1 is switched from the asserted state to the negated state, the
時刻t4におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL2が第1アクセス信号発生部131から第1保持回路132b−2に出力される。第1データ保持信号RDL2は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの2回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL2は時刻t4の直後にアサート状態になる。
A first data holding signal RDL2 whose signal level is switched from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t4 is output from the first
時刻t4の後の時刻t5において、第1ライン選択回路132aから出力される第1選択データL_DT2sは、全てのビットデータが今回値となる。これにより、時刻t5以降は、第1ライン選択回路132aの出力端子から値「0x5678」の第1選択データL_DT2sが出力される。
At time t5 after time t4, all the bit data of the first selection data L_DT2s output from the first
時刻t5の後の時刻t6において、クロック信号CLKが再び立ち上がる。時刻t6でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL2がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL2は、時刻t4から時刻t6というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL2がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−2は、第1選択データL_DT2sを第1保持データL_DT2h−2として保持するともに、第1保持データL_DT2h−2を出力端子Qから出力する。図4に示すように、時刻t6における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−2には値「0x5678」が保持される。
At time t6 after time t5, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t6, the first data holding signal RDL2 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL2 becomes a pulse signal whose signal level is low for only one period of the clock signal CLK from time t4 to time t6. When the first data holding signal RDL2 is switched from the asserted state to the negated state, the
時刻t6におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL3が第1アクセス信号発生部131から第1保持回路132b−3に出力される。第1データ保持信号RDL3は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの3回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL3は時刻t6の直後にアサート状態になる。
A first data holding signal RDL3 whose signal level switches from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t6 is output from the first
時刻t6の後の時刻t7において、クロック信号CLKが再び立ち上がる。時刻t7でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL3がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL3は、時刻t6から時刻t7というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL3がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−3は、第1選択データL_DT2sを第1保持データL_DT2h−3として保持するともに、第1保持データL_DT2h−3を出力端子Qから出力する。図4に示すように、時刻t7における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−3には値「0x5678」が保持される。
At time t7 after time t6, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t7, the first data holding signal RDL3 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL3 becomes a pulse signal whose signal level is low only for one period of the clock signal CLK from time t6 to time t7. When the first data holding signal RDL3 is switched from the asserted state to the negated state, the
このように、第1データ決定部132は、クロック信号CLKの1クロック分ずつタイミングをずらして第1保持データL_DT2−1,L−DT2−2,L_DT2−3を順次保持する。
As described above, the first
時刻t7において、第1アクセス信号発生部131が発生する最後の第1データ保持信号RDL3がアサート状態からネゲート状態に切り替わることにより、第1判定回路132cは、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3の中から第1データすなわち第1読出データL_DT2とすべき第1保持データを、判定テーブルを参照して判定する。
At time t7, when the last first data holding signal RDL3 generated by the first access
ここで、第1判定回路132cが備えている判定テーブルについて図6を用いて説明する。図6に示すように、第1判定回路132cに記憶された判定テーブルでは、複数の保持データ同士の異同と、正規のデータとすべき保持データとが対応付けられている。判定テーブルの「[REG1=REG2]?」及び「[REG2=REG3]?」の欄は、複数の保持データ同士の異同を示す欄であり、「L_DT2」の欄は、正規のデータとすべき保持データを示す欄である。「[REG1=REG2]?」は、第1保持回路132b−1に保持された第1保持データL_DT2h−1と第1保持回路132b−2に保持された第1保持データL_DT2h−2とが一致しているか否かを示している。すなわち、「[REG1=REG2]?」は、第1保持データL_DT2h−1及び第1保持データL_DT2h−2同士の異動を示している。「[REG2=REG3]?」は、第1保持回路132b−2に保持された第1保持データL_DT2h−2と、第1保持回路132b−3に保持された第1保持データL_DT2h−3とが一致しているか否かを示している。すなわち、「[REG2=REG3]?」は、第1保持データL_DT2h−2及び第1保持データL_DT2h−3同士の異動を示している。「L_DT2」は、複数の保持データ同士の異同の結果に応じて正規のデータすなわち第1読出データL_DT2とすべき保持データを示している。
Here, the determination table provided in the
図6に示すように、第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−2と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、かつ第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
As shown in FIG. 6, when the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match The hold data to be the first read data L_DT2 is determined as the first hold data L_DT2h-3.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, the first read data L_DT2 and The hold data to be determined is determined as the first hold data L_DT2h-2.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, the first reading data L_DT2 and The hold data to be determined is determined as the first hold data L_DT2h-3.
When the first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different and the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are the same, the first reading data L_DT2 The hold data to be determined is determined as the first hold data L_DT2h-3.
図4に戻って、第1保持回路132b−1に保持された第1保持データL_DT2h−1の値は不定値であり、第1保持回路132b−2に保持された第1保持データL_DT2h−2の値は「0x5678」であり、第1保持回路132b−3に保持された第1保持データL_DT2h−3の値は「0x5678」である。すなわち、第1保持データL_DT2h−1と第1保持回路132b−2とは相違し、第2保持データL_DT2h−2と第1保持回路132b−3とは一致する。このため、第1判定回路132cは、時刻t7で判定動作を行うので判定テーブルを参照し、第1読出データL_DT2とすべき保持データを第1保持データL_DT2h−3と判定する。第1判定回路132cは、第1保持データL_DT2h−3を選択するための選択制御信号OSを第1保持データ選択回路132dに出力する。
Returning to FIG. 4, the value of the first holding data L_DT2h-1 held in the
第1保持データ選択回路132dは、選択制御信号OSに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3の中から第1保持データL_DT2h−3を選択して第1出力バッファ回路132eに出力する。図示は省略するが、時刻t7では、第1アドレス信号L_ADRが入力され、かつ第1データ読出制御信号ROEはアサート状態となっている。このため、図4に示すように、CPU側第1データバスライン22には、第1保持データL_DT2h−3と同一の値「0x5678」の第1読出データL_DT2が出力される。
The first holding
時刻t7の後の時刻t8において、第1データ読出指示信号L_RD1がアサート状態からネゲート状態に切り替わる。第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、CPU側第1データバスライン22に入力された第1読出データL_DT2を読込む。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つのデータのデータ読込み動作が終了する。
At time t8 after time t7, the first data read instruction signal L_RD1 is switched from the asserted state to the negated state. The
Thus, the data read operation of one data in the first
第2メモリアクセスコントローラ32のデータ読出し動作は、第1メモリアクセスコントローラ31の動作の「第1」を「第2」に読み替えたのと同様であるため、説明は省略する。
The data read operation of the second
(データ読出し動作の他の例)
次に、マルチプロセッサシステム1における第1メモリアクセスコントローラ31のデータ読出し動作の他の例について図1及び図2を参照しつつ図7及び図8を用いて説明する。図7には、第1選択データL_DT2sが不定値の期間がクロック信号CLKの1周期よりも長く2周期よりも短い場合であって、第1データ決定部132が4つの第1保持回路132b−1,132b−2,132b−3,132b−4(i=4)を備えている場合のデータ読出し動作のタイミングチャートが図示されている。
(Other examples of data read operation)
Next, another example of the data read operation of the first
図7に示すデータ読出し動作のタイミングチャートにおいて、図7中に示す「CLK」、「L_DT2−k」、「L_DT2s」、「L_RD1」、「RDL1」、「REG1」、「RDL2」、「REG2」、「RDL3」、「REG3」及び「L_DT2(22)」は、図4に示す「CLK」、「L_DT2−k」、「L_DT2s」、「L_RD1」、「RDL1」、「REG1」、「RDL2」、「REG2」、「RDL3」、「REG3」及び「L_DT2(22)」と同様の内容を示している。図7中に示す「RDL4」は、第1データ保持信号RDL4を示し、「REG4」は第1保持回路132b−4に保持された第1保持データL_DT2h−4を示している。図7において、左から右に向かって時の経過が表されている。
In the timing chart of the data read operation shown in FIG. 7, “CLK”, “L_DT2-k”, “L_DT2s”, “L_RD1”, “RDL1”, “REG1”, “RDL2”, “REG2” shown in FIG. , “RDL3”, “REG3”, and “L_DT2 (22)” are “CLK”, “L_DT2-k”, “L_DT2s”, “L_RD1”, “RDL1”, “REG1”, “RDL2” shown in FIG. , “REG2”, “RDL3”, “REG3”, and “L_DT2 (22)”. “RDL4” shown in FIG. 7 indicates the first data holding signal RDL4, and “REG4” indicates the first holding data L_DT2h-4 held in the
図7に示す、時刻t1から時刻7までの動作は、第1選択データL_DT2sの不定値の期間が時刻t3から時刻t6まで(クロック信号CLKの1周期よりも長く2周期よりも短い期間)である点と、第1保持回路132b−2に保持される第1保持データL_DT2h−2の値が不定値である点を除いて、図4に示す時刻t1から時刻t7までの動作と同様であるので、説明は省略する。
In the operation from time t1 to time 7 shown in FIG. 7, the period of the indefinite value of the first selection data L_DT2s is from time t3 to time t6 (a period longer than one period of the clock signal CLK and shorter than two periods). Except for certain points and the point that the value of the first holding data L_DT2h-2 held in the
時刻t7におけるクロック信号CLKの立ち上がりエッジに同期して信号レベルが高レベルから低レベルに切り替わる第1データ保持信号RDL4が第1アクセス信号発生部131から第1保持回路132b−4に出力される。第1データ保持信号RDL4は、第1データ読出指示信号L_RD1がアサート状態になった後のクロック信号CLKの4回目の立ち上がりエッジに同期してネゲート状態からアサート状態に切り替えられる。第1データ保持信号RDL4は時刻t7の直後にアサート状態になる。
A first data holding signal RDL4 whose signal level switches from a high level to a low level in synchronization with the rising edge of the clock signal CLK at time t7 is output from the first
時刻t7の後の時刻t8において、クロック信号CLKが再び立ち上がる。時刻t8でのクロック信号のこの立ち上がりエッジに同期して、第1データ保持信号RDL4がアサート状態からネゲート状態に切り替えられる。これにより、第1データ保持信号RDL4は、時刻t7から時刻t8というクロック信号CLKの1周期の期間だけ信号レベルが低レベルになるパルス信号となる。第1データ保持信号RDL4がアサート状態からネゲート状態に切り替わることにより、第1保持回路132b−4は、第1選択データL_DT2sを第1保持データL_DT2h−4として保持するとともに、第1保持データL_DT2h−4を出力端子Qから出力する。図7に示すように、時刻t8における第1選択データL_DT2sは、今回値の値「0x5678」であるため、第1保持回路132b−4には値「0x5678」が保持される。
At time t8 after time t7, the clock signal CLK rises again. In synchronization with this rising edge of the clock signal at time t8, the first data holding signal RDL4 is switched from the asserted state to the negated state. As a result, the first data holding signal RDL4 becomes a pulse signal whose signal level is low for a period of one cycle of the clock signal CLK from time t7 to time t8. When the first data holding signal RDL4 is switched from the asserted state to the negated state, the
このように、第1データ決定部132は、クロック信号CLKに同期させてクロック信号CLKの1クロック分ずつタイミングをずらして第1保持データL_DT2−1,L−DT2−2,L_DT2−3,L_DT2−4を順次保持する。
As described above, the first
時刻t8において第1データ保持信号RDL4がアサート状態からネゲート状態に切り替わることにより、第1判定回路132cは、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3,L_DT2h−4の中から正規のデータすなわち第1読出データL_DT2とすべき第1保持データを、判定テーブルを参照して判定する。
When the first data holding signal RDL4 is switched from the asserted state to the negated state at time t8, the
ここで、第1判定回路132cが記憶している判定テーブルを図8を用いて説明する。図8に示すように、第1判定回路132cに記憶された判定テーブルでは、複数の保持データ同士の異同と、正規のデータとすべき保持データとが対応付けられている。判定テーブルの「[REG1=REG2]?」、「[REG2=REG3]?」及び「[REG3=REG4]?」の欄は、複数の保持データ同士の異同を示す欄であり、「L_DT2」の欄は、第1データとすべき保持データを示す欄である。図8に示す判定テーブルにおける「[REG1=REG2]?」、「[REG2=REG3]?」及び「L_DT2」は、図6に示す判定テーブルにおける「[REG1=REG2]?」、「[REG2=REG3]?」及び「L_DT2」と同内容であるため、説明は省略する。「[REG3=REG4]?」は、第1保持回路132b−3に保持された第1保持データL_DT2h−3と第1保持回路132b−4に保持された第1保持データL_DT2h−4とが一致しているか否かを示している。すなわち、「[REG3=REG4]?」は、第1保持データL_DT2h−3及び第1保持データL_DT2h−4同士の異動を示している。
Here, the determination table stored in the
図8に示すように、第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−3と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が一致し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−2と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が相違している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が相違し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
第1保持データL_DT2h−1及び第1保持データL_DT2h−2が相違し、第1保持データL_DT2h−2及び第1保持データL_DT2h−3が一致し、かつ第1保持データL_DT2h−3及び第1保持データL_DT2h−4が一致している場合には、第1読出データL_DT2とすべき保持データは第1保持データL_DT2h−4と判定される。
As shown in FIG. 8, the first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data When L_DT2h-3 and the first hold data L_DT2h-4 match, the hold data to be the first read data L_DT2 is determined as the first hold data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-3.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 match, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the retained data to be the first read data L_DT2 is determined as the first retained data L_DT2h-2.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 is different, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 are different, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 matches, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.
The first holding data L_DT2h-1 and the first holding data L_DT2h-2 are different, the first holding data L_DT2h-2 and the first holding data L_DT2h-3 match, and the first holding data L_DT2h-3 and the first holding data When the data L_DT2h-4 matches, the held data to be the first read data L_DT2 is determined as the first held data L_DT2h-4.
図7に戻って、第1保持回路132b−1に保持された第1保持データL_DT2h−1の値は不定値であり、第1保持回路132b−2に保持された第1保持データL_DT2h−2の値は不定値であり、第1保持回路132b−3に保持された第1保持データL_DT2h−3の値は「0x5678」であり、第1保持回路132b−4に保持された第1保持データL_DT2h−4の値は「0x5678」である。すなわち、第1保持データL_DT2h−1の値と第1保持データL_DT2h−2の値とは相違し、第2保持データL_DT2h−2の値と第3保持データL_DT2h−3の値とは相違し、第1保持データL_DT2h−3の値と第1保持データL_DT2h−4の値とは一致する。このため、第1判定回路132cは、判定テーブルを参照し、第1読出データL_DT2とすべき保持データを第1保持データL_DT2h−4と判定する。第1判定回路132cは、第1保持データL_DT2h−4を選択するための選択制御信号OSを第1保持データ選択回路132dに出力する。
Returning to FIG. 7, the value of the first holding data L_DT2h-1 held in the
第1保持データ選択回路132dは、選択制御信号OSに基づいて、入力される第1保持データL_DT2h−1,L_DT2h−2,L_DT2h−3,L_DT2h−4の中から第1保持データL_DT2h−4を選択して第1出力バッファ回路132eに出力する。図示は省略するが、時刻t8では、第1データ読出制御信号ROEはアサート状態となっている。このため、図7に示すように、CPU側第1データバスライン22には、第1保持データL_DT2h−4と同一の値「0x5678」の第1読出データL_DT2が出力される。
Based on the selection control signal OS, the first holding
時刻t8の後の時刻t9において、第1データ読出指示信号L_RD1がアサート状態からネゲート状態に切り替わる。第1CPU11は、第1データ読出指示信号L_RD1のアサート状態からネゲート状態への切り替わりに同期して、CPU側第1データバスライン22に入力された第1読出データL_DT2を読込む。
以上で、マルチプロセッサシステム1における第1メモリアクセスコントローラ31での1つのデータのデータ読込み動作が終了する。
At time t9 after time t8, the first data read instruction signal L_RD1 is switched from the asserted state to the negated state. The
Thus, the data read operation of one data in the first
以上説明したように、本実施形態によるマルチプロセッサシステム1は、複数のデュアルポートメモリ33と、第1CPU11と、クロック信号発信器14と、第1メモリアクセスコントローラ31と、第1メモリアクセスコントローラ31に備えられ、複数のデュアルポートメモリ33のうちのデュアルポートメモリ33−kから読出された第1読出データL_DT2−kを、クロック信号CLKに順次同期させて第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iとして複数保持し、複数の第1保持データL_DT2h−1,L_DT2h−2,・・・,L_DT2h−iの中から第1CPU11に出力する正規のデータを決定するデータ決定部132とを有している。
As described above, the
これにより、マルチプロセッサシステム1は、デュアルポートメモリ13から不定値を読み出すことを防止できるので、マルチプロセッサシステム1が適用された産業用機器の予期せぬ誤動作を防止できる。
Thereby, since the
本発明の技術的範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらす全ての実施形態をも含む。さらに、本発明の技術的範囲は、請求項により画される発明の特徴の組み合わせに限定されるものではなく、全ての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画されうる。 The technical scope of the present invention is not limited to the illustrated and described exemplary embodiments, and includes all embodiments that provide an effect equivalent to the intended purpose of the present invention. Further, the technical scope of the present invention is not limited to the combinations of features of the invention defined by the claims, but is defined by any desired combination of specific features among all the disclosed features. sell.
1 マルチプロセッサシステム
11 第1CPU
12 第2CPU
13 デュアルポートメモリ
14 クロック信号発信器
21 第1アドレスバスライン
22 CPU側第1データバスライン
23r 読出用メモリ側第1データバスライン
23w 書込用メモリ側第1データバスライン
31 第1メモリアクセスコントローラ
32 第2メモリアクセスコントローラ
33 デュアルポートメモリ
41 第2アドレスバスライン
42 CPU側第2データバスライン
43r 読出用メモリ側第2データバスライン
43w 書込用メモリ側第2データバスライン
131 アクセス信号発生部
132 データ決定部
132a 第1ライン選択回路
132b−1,132b−2,132b−i 第1保持回路
132c 第1判定回路
132d 第1保持データ選択回路
132e 第1出力バッファ回路
331,331−1,331−2,331−n 第1入出力ポート
332,332−1,332−2,332−n 第2入出力ポート
333,333−1,333−2,333−n 記憶部
CLK クロック信号
L_ADR 第1アドレス信号
L_DT1 第1書込データ
L_DT2 第1読出データ
L_DT2 第1保持データ
L_DT2s 第1選択データ
L_DT2h−1,L_DT2h−2,L_DT2h−i 第1保持データ
L_RD1 第1データ読出指示信号
L_WR1 第1データ書込指示信号
L_WR2 第1データ書込信号
LT 保持信号入力端子
OE 制御信号入力端子
OS 選択制御信号
R_ADR 第2アドレス信号
R_DT1 第2書込データ
R_DT2 第2読出データ
R_RD1 第2データ読出指示信号
R_WR1 第3データ書込指示信号
R_WR2 第2データ書込信号
RDL1,RDL2,RDL3,RDL4,RDLi 第1データ保持信号
ROE 第1データ読出制御信号
Tdb 遅延ばらつき期間
Tds 期間
1
12 Second CPU
13 Dual port memory 14 Clock signal generator 21 First address bus line 22 CPU side first data bus line 23r Read memory side first data bus line 23w Write memory side first data bus line 31 First memory access controller 32 second memory access controller 33 dual port memory 41 second address bus line 42 CPU side second data bus line 43r read memory side second data bus line 43w write memory side second data bus line 131 access signal generator 132 data determination unit 132a first line selection circuits 132b-1, 132b-2, 132b-i first holding circuit 132c first determination circuit 132d first holding data selection circuit 132e first output buffer circuits 331, 331-1, 331 -2,331- First input / output port 332, 332-1, 332-2, 332-n Second input / output port 333, 333-1, 333-2, 333-n Storage section CLK Clock signal L_ADR First address signal L_DT1 First book Embedded data L_DT2 first read data L_DT2 first hold data L_DT2s first selection data L_DT2h-1, L_DT2h-2, L_DT2h-i first hold data L_RD1 first data read instruction signal L_WR1 first data write instruction signal L_WR2 first Data write signal LT Holding signal input terminal OE Control signal input terminal OS Selection control signal R_ADR Second address signal R_DT1 Second write data R_DT2 Second read data R_RD1 Second data read instruction signal R_WR1 Third data write instruction signal R_WR2 Second data write signal RDL , RDL2, RDL3, RDL4, RDLi first data holding signal ROE first data read control signal Tdb delay variation period Tds period
Claims (4)
複数の前記デュアルポートメモリにおいて入出力されるデータを処理する処理装置と、
複数の前記デュアルポートメモリに対する前記処理装置のアクセスを制御するメモリアクセスコントローラと、
前記メモリアクセスコントローラに入力されるクロック信号を発信するクロック信号発信器と、
前記メモリアクセスコントローラに備えられ、複数の前記デュアルポートメモリのうちの一のデュアルポートメモリから読出された読出データを、前記クロック信号に順次同期させて保持データとして複数保持し、複数の前記保持データの中から前記処理装置に出力する正規のデータを決定するデータ決定部と
を有し、
前記データ決定部は、複数の前記保持データ同士の異同に基づいて、複数の前記保持データのいずれを前記正規のデータとするのかを判定する判定部を備えること
を特徴とするマルチプロセッサシステム。 A plurality of dual-port memories each having two input / output ports from / to which data is input / output;
A processing device for processing data input / output in the plurality of dual port memories;
A memory access controller that controls access of the processing device to a plurality of the dual port memories;
A clock signal transmitter for transmitting a clock signal input to the memory access controller;
The memory access controller includes a plurality of read data read from one dual-port memory among the plurality of dual-port memories as held data in synchronization with the clock signal, and a plurality of the held data have a data determination unit that determines the data of the normal output to the processing unit from among,
The data determination unit includes a determination unit that determines which of the plurality of retained data is the regular data based on the difference between the plurality of retained data.
A multiprocessor system characterized by
を特徴とする請求項1記載のマルチプロセッサシステム。 The determination unit is a multi-processor system according to claim 1, characterized in that it stores a plurality of difference data held together, the determination table that associates and holding data to be the regular data.
を特徴とする請求項1又は2に記載のマルチプロセッサシステム。 The memory access controller selects one data bus line to which the read data is transmitted among data bus lines connected to the plurality of dual port memories based on an address signal input to the plurality of dual port memories. multiprocessor system according to claim 1 or 2, characterized in that it comprises a line selection unit for selecting.
を特徴とする請求項3記載のマルチプロセッサシステム。 The multiprocessor system according to claim 3 , wherein the line selection unit is provided in the data determination unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015138699A JP6493044B2 (en) | 2015-07-10 | 2015-07-10 | Multiprocessor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015138699A JP6493044B2 (en) | 2015-07-10 | 2015-07-10 | Multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017021573A JP2017021573A (en) | 2017-01-26 |
JP6493044B2 true JP6493044B2 (en) | 2019-04-03 |
Family
ID=57889642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015138699A Active JP6493044B2 (en) | 2015-07-10 | 2015-07-10 | Multiprocessor system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6493044B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110265029A (en) * | 2019-06-21 | 2019-09-20 | 百度在线网络技术(北京)有限公司 | Speech chip and electronic equipment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001350668A (en) * | 2000-06-06 | 2001-12-21 | Nec Shizuoka Ltd | Memory readout timing adjusting circuit |
JP4496001B2 (en) * | 2004-04-15 | 2010-07-07 | 本田技研工業株式会社 | Data communication device |
-
2015
- 2015-07-10 JP JP2015138699A patent/JP6493044B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017021573A (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5261803B2 (en) | High-speed fanout system architecture and input / output circuit for non-volatile memory | |
US9773531B2 (en) | Accessing memory | |
US8700818B2 (en) | Packet based ID generation for serially interconnected devices | |
TW201519237A (en) | Apparatuses and methods for configuring I/Os of memory for hybrid memory modules | |
KR102466965B1 (en) | Semiconductor device | |
KR20070019880A (en) | Wrapper circuit for interfacing between a memory controller and a memory | |
JP2006127653A (en) | Memory element | |
US9390017B2 (en) | Write and read collision avoidance in single port memory devices | |
US20170024146A1 (en) | Memory controller, information processing device, and control method | |
US9478272B1 (en) | Configurable storage blocks with embedded first-in first-out and last-in first-out circuitry | |
JP6493044B2 (en) | Multiprocessor system | |
US8799699B2 (en) | Data processing system | |
JP4502792B2 (en) | Data buffer circuit | |
US9837133B1 (en) | Address arithmetic on block RAMs | |
US9959230B2 (en) | Data transfer device | |
US9576620B2 (en) | Semiconductor apparatus and operating method thereof | |
JP2006164070A5 (en) | ||
KR20130046105A (en) | Semiconductor memory device and operating method thereof | |
JP6725970B2 (en) | Multiprocessor system | |
KR20210077081A (en) | Semiconductor system and semiconductor device | |
KR20130069350A (en) | A dual-port memory and a method thereof | |
US20140250252A1 (en) | First-in First-Out (FIFO) Modular Memory Structure | |
JP4549073B2 (en) | Memory control circuit | |
JP4646932B2 (en) | Memory element | |
JP5929600B2 (en) | Information processing system, information processing apparatus, and electronic apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181113 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181219 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6493044 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |