JP5381919B2 - FIFO data reading device - Google Patents
FIFO data reading device Download PDFInfo
- Publication number
- JP5381919B2 JP5381919B2 JP2010156753A JP2010156753A JP5381919B2 JP 5381919 B2 JP5381919 B2 JP 5381919B2 JP 2010156753 A JP2010156753 A JP 2010156753A JP 2010156753 A JP2010156753 A JP 2010156753A JP 5381919 B2 JP5381919 B2 JP 5381919B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- data
- read
- fifo
- circuit
- 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
Images
Landscapes
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Description
本発明は、先に格納したデータを先に読み出す1個のFIFO回路に対する複数のCPUの読出要求を処理するFIFOデータ読出装置に関する。 The present invention relates to a FIFO data reading device for processing read requests from a plurality of CPUs for one FIFO circuit that reads previously stored data first.
複数のCPUが共通メモリにアクセスする場合に、CPU間でアクセス権の調停をするのではなく、共有メモリ側にアクセス権の調停機能を持たせたものが知られている(例えば、特許文献1参照。)。 In the case where a plurality of CPUs access a common memory, an access right arbitration function is provided on the shared memory side instead of arbitrating access rights between CPUs (for example, Patent Document 1). reference.).
しかしながら、共有メモリに対しては、各CPUがアドレスを指定してデータを読み出すことはできるが、先に格納したデータを先に読み出す共通の1個のFIFO(First In First Out)回路を設け、複数のCPUが互いに他のCPUの読出要求に関わらず独立して共通のFIFO回路からデータを読み出す場合、先に他のCPUがデータを読み出すと、FIFO回路において読出ポインタが更新されるので、それ以外のCPUは同じデータを読み出すことができない。 However, for the shared memory, each CPU can read data by designating an address, but a common FIFO (First In First Out) circuit that reads previously stored data is provided. When a plurality of CPUs read data from a common FIFO circuit independently of each other regardless of read requests from other CPUs, the read pointer is updated in the FIFO circuit when the other CPUs read the data first. CPUs other than cannot read the same data.
この問題を解決するためには、1個のCPUがFIFO回路に読出しを要求している場合は、他のCPUからFIFO回路への読出しの要求を禁止し、CPUがFIFO回路から読み出したデータを他のCPUにも送出した後に、他のCPUに対してFIFO回路への読出しの要求を許可するという処理が考えられる。 In order to solve this problem, when one CPU requests reading from the FIFO circuit, the reading request from the other CPU to the FIFO circuit is prohibited, and the data read from the FIFO circuit by the CPU is prohibited. A process of allowing a read request to the FIFO circuit to another CPU after sending it to another CPU can be considered.
しかしながら、FIFO回路からデータを読出すためにCPUがこのような読出処理を実行すると、FIFO回路から読み出したデータを処理するCPUの本来の処理が妨げられる。 However, when the CPU executes such a reading process in order to read data from the FIFO circuit, the original process of the CPU that processes the data read from the FIFO circuit is hindered.
これに対し、複数のCPUのそれぞれにFIFO回路を設け、各CPUが対応するFIFO回路からデータを取り出す構成が知られている(例えば、特許文献2参照。)。 On the other hand, a configuration is known in which a FIFO circuit is provided for each of a plurality of CPUs, and data is extracted from the FIFO circuit to which each CPU corresponds (see, for example, Patent Document 2).
しかしながら、複数のCPUのそれぞれにFIFO回路を設けると、ハードウェア量が増加するという問題がある。
本発明は、上記問題を解決するためになされたものであり、1個のFIFO回路に格納されているデータを複数のCPUが互いに独立して読出せるFIFOデータ読出装置を提供することを目的とする。
However, if a FIFO circuit is provided for each of a plurality of CPUs, there is a problem that the amount of hardware increases.
The present invention has been made to solve the above problems, and an object of the present invention is to provide a FIFO data reading device in which a plurality of CPUs can independently read data stored in one FIFO circuit. To do.
請求項1から3に記載の発明によると、複数のCPUからデータの読出しを要求され、先に格納したデータを先に読み出す1個のFIFO回路と、CPUからの読出要求によりFIFO回路から読み出されるデータが記憶される記憶装置と、複数のCPUのうちどのCPUが、FIFO回路に格納されているデータの読出し数が最も多い先行CPUであるかを判定する判定手段と、先行CPUからのFIFO回路に対する読出要求に対し、FIFO回路に格納されているデータを先行CPUに送出するとともに記憶装置に書き込み、先行CPU以外の他のCPUからのFIFO回路に対する読出要求に対し、記憶装置に記憶されているデータを送出するデータ処理手段と、を備える。 According to the first to third aspects of the present invention, reading of data is requested from a plurality of CPUs, one FIFO circuit that reads previously stored data first, and reading from the FIFO circuit by a reading request from the CPU. A storage device in which data is stored; a determination unit that determines which CPU among a plurality of CPUs is a preceding CPU with the largest number of read data stored in the FIFO circuit; and a FIFO circuit from the preceding CPU The data stored in the FIFO circuit is sent to the preceding CPU and written to the storage device in response to the read request to the memory, and is stored in the storage device in response to the read request from the CPU other than the preceding CPU to the FIFO circuit. Data processing means for transmitting data.
これにより、先行CPUからの読出要求に対してデータ処理手段がFIFO回路にアクセスしてデータを読み出すことによりFIFO回路においてデータの読出位置が更新されても、先行CPU以外の他のCPUからFIFO回路に対する読出しが要求されると、データ処理手段は記憶装置に記憶されているデータを先行CPU以外の他のCPUに送出できる。 Thus, even if the data reading position is updated in the FIFO circuit by the data processing means accessing the FIFO circuit and reading the data in response to the reading request from the preceding CPU, the FIFO circuit from other CPUs other than the preceding CPU When data reading is requested, the data processing means can send the data stored in the storage device to a CPU other than the preceding CPU.
その結果、先行CPU以外のCPUも、FIFO回路に格納されているデータのコピーを、あたかも実際にFIFO回路にアクセスして取得したデータとして記憶装置から読み出すことができる。 As a result, a CPU other than the preceding CPU can also read a copy of the data stored in the FIFO circuit from the storage device as data obtained by actually accessing the FIFO circuit.
このように、複数のCPUはFIFO回路に対して読み出しを要求するだけであり、FIFO回路に格納されているデータの各CPUへの送出はデータ処理手段が実行する。したがって、複数のCPUの間でFIFO回路からの読み出しを調停することなく、他のCPUを意識しないでFIFO回路に対する読出しを要求し、FIFO回路に格納されているデータを独立して読み出すことができる。 In this way, the plurality of CPUs only request the FIFO circuit to read, and the data processing means executes the transmission of the data stored in the FIFO circuit to each CPU. Therefore, it is possible to request reading from the FIFO circuit without being conscious of other CPUs and read out data stored in the FIFO circuit independently without arbitrating reading from the FIFO circuit among a plurality of CPUs. .
請求項2に記載の発明によると、記憶装置はCPU毎に設けられ、データ処理手段は、先行CPUに送出するFIFO回路のデータを先行CPU以外の他のCPUに対応する記憶装置にそれぞれ書き込み、先行CPU以外の他のCPUがFIFO回路に対して読み出しを要求する場合、FIFO回路に対して読み出しを要求する他のCPUに対応する記憶装置からデータを読み出して、FIFO回路に対して読み出しを要求する他のCPUに送出する。 According to the second aspect of the present invention, the storage device is provided for each CPU, and the data processing means writes the data of the FIFO circuit to be sent to the preceding CPU to the storage device corresponding to the CPU other than the preceding CPU, When a CPU other than the preceding CPU requests the FIFO circuit to read data, it reads data from the storage device corresponding to the other CPU that requests the FIFO circuit to read data, and requests the FIFO circuit to read data. To other CPUs.
つまり、自CPUが先行CPUではなく、他のCPUが先行CPUのときにFIFO回路から読み出されたデータは自CPUの対応する記憶装置に記憶されている。これにより、自CPUが先行CPUでないときに、自CPUに対応する記憶装置からFIFO回路に格納されていたデータを読み出すことができる。 That is, the data read from the FIFO circuit when the own CPU is not the preceding CPU and the other CPU is the preceding CPU is stored in the corresponding storage device of the own CPU. Thereby, when the own CPU is not the preceding CPU, the data stored in the FIFO circuit can be read from the storage device corresponding to the own CPU.
請求項3に記載の発明によると、複数のCPUは2個であり、記憶装置は2個のCPUに共通して1個設けられ、データ処理手段は、記憶装置からデータを読み出すときには読出アドレスが示す記憶装置のアドレス位置からデータを読出すとともに、読み出すデータ数に応じて読出アドレスを更新し、FIFO回路から読み出したデータを記憶装置に書き込むときには書込アドレスが示す記憶装置のアドレス位置にFIFO回路のデータを書き込むとともに、書き込みデータ数に応じて書込アドレスを更新する。 According to the third aspect of the present invention, there are two CPUs, one storage device is provided in common for the two CPUs, and the data processing means has a read address when reading data from the storage device. Reads data from the address position of the storage device shown, updates the read address according to the number of data to be read, and writes the data read from the FIFO circuit to the storage device at the address position of the storage device indicated by the write address And the write address is updated according to the number of write data.
CPUが2個の場合に、先行CPUがFIFO回路から読み出すデータを共通の記憶装置に書き込んでいくことにより、先行CPUではない方のCPUが読み出すべきFIFO回路のデータは記憶装置に記憶される。 When the number of CPUs is two, the data read from the FIFO circuit by the preceding CPU is written in the common storage device, whereby the data of the FIFO circuit to be read by the CPU that is not the preceding CPU is stored in the storage device.
そして、先行CPUではない方のCPUに送出する記憶装置のデータは、先行CPUがFIFO回路から読み出したデータであり、先行CPUは記憶装置から読み出す必要がない。したがって、共通の記憶装置から読み出すデータ数に応じて読出アドレスが更新されても、先行CPUではないCPUに、記憶装置に記憶されているデータを読み飛ばすことなく送出できる。 The data in the storage device sent to the CPU that is not the preceding CPU is data read by the preceding CPU from the FIFO circuit, and the preceding CPU does not need to read from the storage device. Therefore, even if the read address is updated according to the number of data read from the common storage device, the data stored in the storage device can be sent to the CPU that is not the preceding CPU without skipping.
したがって、2個のCPUに対して共通の1個の記憶装置を設けた構成において、2個のCPUから1個のFIFO回路に対する読出しが要求されても、FIFO回路に格納されているデータをFIFO回路または記憶装置から各CPUに送出できる。 Therefore, in a configuration in which one memory device common to two CPUs is provided, even if two CPUs request reading from one FIFO circuit, the data stored in the FIFO circuit is stored in the FIFO. It can be sent to each CPU from a circuit or a storage device.
以下、本発明の実施の形態を図に基づいて説明する。
[第1実施形態]
図1に本実施形態のFIFOデータ読出装置10を示す。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
FIG. 1 shows a FIFO
(FIFOデータ読出装置10)
FIFOデータ読出装置10は、FIFO回路12と、FIFO読出回路20と、#1DPRAM(Dual Port RAM)30と、#2DPRAM32とから構成されており、#1CPU2および#2CPU4からFIFO回路12に対するデータの読出要求を処理する装置である。
(FIFO data reading device 10)
The FIFO
#1CPU2および#2CPU4(以下、単に#1CPU2をCPU2、#2CPU4をCPU4とも言う。)は、マスター・スレーブの関係にはなく、互いに独立してFIFO回路12に対して読出しを要求する。つまり、CPU2およびCPU4は、互いに他のCPUがFIFO回路12からデータを読出しているか否かに関係なく、あたかも1対1でFIFO回路12に接続している構成であるとして、FIFO回路12に対して独立して読出しを要求する。
# 1CPU2 and # 2CPU4 (hereinafter simply referred to as # 1CPU2 is also referred to as CPU2 and # 2CPU4 is also referred to as CPU4) are not in a master-slave relationship and request reading from the
CPU2およびCPU4によるFIFO回路12に対する読出要求は、実際にはFIFO読出回路20により処理される。FIFO読出回路20については後述する。
FIFO回路12は、先に格納したデータを先に読み出す公知の回路である。FIFO回路12には、例えば、スキャン周期毎にレーダでスキャンしたスキャンデータが格納される。FIFO回路12に格納されているスキャンデータに基づき、例えば、CPU2は反射物体の形状を検出し、CPU4は反射物体の追跡を行うといった異なる処理を並行して実行する。
Read requests to the
The
FIFO回路12のデータ格納部はRAM等で構成されている。第1実施形態は、FIFO回路12に対する読出しを処理するものであるから、FIFO回路12に対するデータ書き込み信号は図1では省略している。ただし、FIFO回路12の構成を説明するために、FIFO回路12に対する書込処理について説明する。
The data storage unit of the
図2に示すように、FIFO回路12には、書き込み順にしたがい、data1、data2・・・dataNの順番で順次データが書き込まれる。FIFO回路12からは、図2(A)の矢印で示す読出ポインタが示す位置のデータが読み出される。1番最初に書き込まれたdata1が読み出されると、読出ポインタは次にdata2を示す。このように、data1、data2・・・dataNの順番で、FIFO回路12から順次データが読み出される。尚、読出ポインタはFIFO回路12の内部のポインタであるから、FIFO回路12の外部からは操作できない。
As shown in FIG. 2, data is sequentially written in the
次に、FIFO回路12からの読出処理について説明する。
図2の(B)に示すように、FIFO読出回路20がFIFO回路12のデータを読み出す場合、読出しクロックに同期して読出要求信号を出力する。読出要求が有効(ハイ=’1’)の場合、FIFO回路12は、読出しクロック1周期に対してFIFO回路12に格納している1個分のデータを出力する。図2の(B)では、1個の読出しを行った後、2クロックおいて2個の読出要求信号を連続してFIFO回路12に出力している。読出要求信号が有効と判断されると、FIFO回路12は、読出しクロックに同期して読出しデータを出力する。
Next, reading processing from the
As shown in FIG. 2B, when the FIFO read
FIFO回路12に書き込まれたデータが全て読み出されると、FIFO回路12はempty信号をハイ=’1’にして出力する。これにより、FIFO回路12は、格納データが空になって読出すデータがなくなったことを外部に示す。empty信号が有効(’1’)の状態でFIFO回路12にデータが書込まれると、empty信号は無効(ロー=’0’)になり、FIFO回路12は読出し可能な状態になったことを外部に示す。
When all the data written in the
FIFO読出回路20は、例えばFPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアで構成されている。FIFO読出回路20は、CPU2、4からのFIFO回路12に対する読出要求に対し、FIFO回路12または#1DPRAM30または#2DPRAM32(以下、単に#1DPRAM30をDPRAM30、#2DPRAM32をDPRAM32とも言う。)からデータを読出し、各CPUに送出する。
The FIFO read
CPU2、4とFIFO読出回路20との間の6個のインタフェース(IF)信号と、IF信号がポート信号またはバス信号のいずれであるかと、IF信号の出力元とを以下に示す。以下の6個のIF信号は、CPUの個数分設けられている。各信号の詳細については後述する。
(1)読出開始信号:ポート信号、CPU
(2)連続読出個数信号(個数表現に必要なビット数):ポート信号、CPU
(3)読出許可信号:ポート信号、FIFO読出回路
(4)読出ストローブ信号:バス信号、CPU
(5)読出WAIT信号:バス信号、FIFO読出回路
(6)FIFOデータ信号(データ幅に応じたビット数):バス信号、FIFO読出回路
(CPUによる読出処理)
図3および図4に基づいて、CPU2またはCPU4がFIFO回路12に対して読出しを要求する場合の状態遷移について説明する。図3において「S」はステップを表している。
The six interface (IF) signals between the
(1) Read start signal: port signal, CPU
(2) Continuous read number signal (number of bits required for number expression): port signal, CPU
(3) Read permission signal: port signal, FIFO read circuit (4) Read strobe signal: bus signal, CPU
(5) Read WAIT signal: bus signal, FIFO read circuit (6) FIFO data signal (number of bits according to data width): bus signal, FIFO read circuit (read processing by CPU)
Based on FIG. 3 and FIG. 4, the state transition when the
CPU2、4がFIFO回路12に対して読出しを要求する場合、まずCPU2、4は、FIFO回路12から1回の読出要求で連続してデータを読み出す連続読出個数を出力し(S400)、次に読出開始信号を’1’にする(S402)。
When the
読出開始信号を’1’にすることにより、CPU2、4はFIFO読出回路20にFIFO回路12に対する読出しの開始を通知する。FIFO読出回路20は、読出開始信号が’1’になることにより、CPU2、4からFIFO回路12への読出しを要求されたと判断する。そして、FIFO読出回路20が読出許可信号を’1’にすることにより、CPU2、4は、FIFO回路12に対する読出要求が受け付けられた判断する。
By setting the read start signal to “1”, the
CPU2、4は、FIFO読出回路20から出力される読出許可信号が’1’になると(S404:Yes)、読出開始信号を’0’にし(S406)、読出ストローブ信号を’1’にする(S408)。読出ストローブ信号を’1’にすることにより、CPU2、4は、FIFO読出回路20にデータの読出しを要求する。FIFO読出回路20は、読出ストローブ信号が’1’になると、読出しWAIT信号を’1’にし、FIFO回路12またはDPRAMから1個のデータを読出す。
When the read permission signal output from the FIFO read
FIFO読出回路20がFIFO回路12またはDPRAMから1個のデータを読出し、読出しWAIT信号が’0’になると(S410:Yes)、CPU2、4は、FIFOデータ信号のデータを読出し(S412)、読出ストローブ信号を’0’にする(S414)。
When the FIFO read
尚、読出しWAIT信号は、CPU2、4がバス信号として通常備えている信号であり、新に設けた信号ではない。また、CPU2、4によるS408〜S414の処理は、バス信号に関する処理であり、例えばC言語のプログラム上で、*a++=*b++を実行する場合に、bのポインタ値、つまりbが示すアドレス位置のデータを読み出すときに、CPU2、4のハードウェアが実行する処理である。
The read WAIT signal is a signal normally provided as a bus signal by the
一方、CPU2、4によるS400〜S406、およびS416〜S420の処理は、CPU2、4のポート信号に関する処理であり、CPU2、4のプログラムが実行する処理である。
On the other hand, the processes of S400 to S406 and S416 to S420 by the
読出ストローブ信号が’1’のときに読出しWAIT信号が’1’から’0’になると(S410:Yes)、FIFO読出回路20がFIFO回路12またはDPRAMから読み出したデータがFIFOデータ信号に出力されていることを表している。これにより、CPU2、4とFIFO読出回路20との間でクロックが異なっていても、CPU2、4は、FIFO回路12またはDPRAMのデータを正しく読み出すことができる。
If the read WAIT signal changes from '1' to '0' when the read strobe signal is '1' (S410: Yes), the data read from the
次にCPU2、4は、データの読出回数カウンタをカウントアップし(S416)、データの読出回数が連続読出個数に達していない場合(S418:No)、S408に処理を移行する。
Next, the
データの読出回数が連続読出個数に達すると(S418:Yes)、CPU2、4は読出回数カウンタをクリアし(S420)、読出処理を終了する。
上記説明では、読出ストローブ信号および読出WAIT信号をハイで有効としたが、ローで有効としてもよい。また、FIFOデータ信号は双方向のバス信号であるから、連続読出個数信号をFIFOデータ信号としてCPU2、4から出力してもよい。
When the number of data reading reaches the number of continuous reading (S418: Yes), the
In the above description, the read strobe signal and the read WAIT signal are valid when they are high, but may be valid when they are low. Further, since the FIFO data signal is a bidirectional bus signal, the continuous reading number signal may be output from the
CPU2、4は、上記S400〜S420の処理を実行することにより、互いに他のCPUを意識することなく、FIFO回路12に対する読出しを独立して実行できる。
(FIFO読出回路20による#1CPU用読出処理)
図5および図6に基づいて、FIFO回路12に対する読出を#1CPUから要求された場合のFIFO読出回路20における処理の状態遷移について説明する。図5および図6において「S」はステップを表している。尚、図5および図6、さらに後述する図7、図8、図10および図11の状態遷移は、FIFO回路12に対する読出しクロックに同期して行われる。
The
(Reading process for # 1 CPU by FIFO reading circuit 20)
Based on FIGS. 5 and 6, the state transition of processing in the
また、図5および図6において使用する変数の意味は以下の通りである。
(1)#1CPUポインタ:#1CPUがFIFO回路12または#1DPRAMからデータを読み出した現在までの総回数(総個数と同義である。)。
(2)#2DPRAMポインタ:#1CPUがFIFO回路12から読み出したデータを#2DPRAMに書き込むアドレス。
(3)#1DPRAMアドレス:#2CPUがFIFO回路12から読み出したデータを記憶している#1DPRAMから、#1CPUがデータを読み出すアドレス。
(4)#1CPU読出回数:#1CPUが連続してFIFO回路12または#1DPRAMからデータを読み出す回数カウンタ。
The meanings of variables used in FIGS. 5 and 6 are as follows.
(1) # 1 CPU pointer: The total number of times the # 1 CPU has read data from the
(2) # 2 DPRAM pointer: address to which # 1 CPU writes data read from the
(3) # 1 DPRAM address: An address from which # 1 CPU reads data from # 1 DPRAM that stores data read from
(4) # 1 CPU read count: A count counter in which # 1 CPU continuously reads data from the
まず、FIFO読出回路20は、電源オン後のリセット処理が終了すると(S430:Yes)、#1CPUポインタ、#2DPRAMポインタ、#1DPRAMアドレス、#1CPU読出回数をクリアする(S432)。
First, when the reset process after power-on is completed (S430: Yes), the FIFO read
そして、FIFO読出回路20は、#1CPUの読出開始信号が’1’になると(S434:Yes)、#1CPUが出力する#1CPU連続読出個数信号を読込む(S436)。FIFO回路12に格納されているデータが空でなければ、つまりempty信号=’0’であれば(S438:No)、FIFO読出回路20は、#1CPUに対する読出許可信号を’1’に設定し(S440)、#1CPU読出回数をカウントアップするS442)。
Then, when the reading start signal of the # 1 CPU becomes “1” (S434: Yes), the
次に、S444においてFIFO読出回路20は、#1CPUポインタ≧#2CPUポインタであれば(S444:Yes)、S446に処理を移行し、#1CPUポインタ<#2CPUポインタであれば(S444:No)、S464に処理を移行する。
Next, in S444, if the FIFO read
#1CPUポインタ≧#2CPUポインタの場合(S444:Yes)、#1CPUによる総読出回数は#2CPUによる総読出回数以上であるから、FIFO読出回路20は、#1CPUは#2CPUよりも先行してFIFO回路12に対して読出しを要求していると判断する。
When # 1CPU pointer ≧ # 2CPU pointer (S444: Yes), since the total number of readings by # 1CPU is equal to or larger than the total number of readings by # 2CPU, the
つまり、#1CPUポインタ≧#2CPUポインタの場合、#1CPUによるFIFO回路12に対する読出要求に対し、FIFO読出回路20はFIFO回路12からデータを読み出し#1CPUに送出すると判断する。第1実施形態では、#1CPUポインタ=#2CPUポインタである場合、#2CPUよりも#1CPUを優先してFIFO回路12からデータを読出すものとしている。
That is, when # 1 CPU
そして、FIFO回路12に格納されているデータが空ではなく(S446:No)、#1CPU読出ストローブ信号=’1’の場合(S448:Yes)、読出WAIT信号を’1’に設定し(S450)、FIFO回路12に1クロック分の読出要求信号を出力する(S452)。S446でFIFO回路12に格納されているデータが空の場合(S446:No)、FIFO回路12からのデータの読出し途中でデータが空になったことを表すので、FIFO読出回路20は、FIFO回路12に新にデータが格納されるまで待機する。
If the data stored in the
FIFO読出回路20は、FIFO回路12が出力する1個分のデータをラッチし、#1CPUに出力する(S454)。次に、#2DPRAMの#2DPRAMポインタが示す位置にFIFO回路12が出力する1個分のデータを書き込む(S456)。
The FIFO read
FIFO回路12からデータを読み出すと、FIFO回路12の内部で読出ポインタが次のデータ位置を示すので、#1CPUがFIFO回路12からデータを読み出すと、他方の#2CPUは既に読み出されたデータをFIFO回路12から読み出すことはできない。そこで、#1CPUがFIFO回路12からデータを読み出すと、S456において、#2DPRAMにそのデータを書き込んでコピーしておき、後で#2CPUが読み出せるようにしておく。
When data is read from the
#2DPRAMにFIFOデータを書き込むと、FIFO読出回路20は、読出WAIT信号を’0’に設定し(S458)、#1CPUポインタをカウントアップし(S460)、#2DPRAMポインタをカウントアップし(S462)、S476に処理を移行する。
When the FIFO data is written in # 2DPRAM, the FIFO read
S458においてFIFO読出回路20が読出WAIT信号を’0’に設定すると、#1CPUは、図3のS412において、FIFOデータ信号のデータを読み出す。
前述したS444の判定において、#1CPUポインタ<#2CPUポインタの場合(S444:No)、#1CPUによる総読出回数は#2CPUによる総読出個数より小さいので、FIFO読出回路20は、#1CPUは#2CPUよりも遅れてFIFO回路12に対して読出しを要求していると判断する。
When the FIFO read
In the above-described determination of S444, if # 1CPU pointer <# 2CPU pointer (S444: No), the total number of readings by # 1 CPU is smaller than the total number of readings by # 2CPU. It is determined that the
つまり、#1CPUポインタ<#2CPUポインタの場合、FIFO読出回路20は、#1CPUによるFIFO回路12に対する読出要求に対応するデータを、すでにFIFO回路12から読み出して#2CPUに送出したと判断する。#2CPUがFIFO回路12から読み出したデータは#1DPRAMに書き込まれている。
That is, if # 1CPU pointer <# 2CPU pointer, the FIFO read
そして、FIFO読出回路20は、#1CPU読出ストローブ信号=’1’であれば(S464:Yes)、読出WAIT信号を’1’に設定し(S466:Yes)、#1DPRAMの#1DPRAMアドレス位置から1個分のデータを読出してラッチし、#1CPUに出力する(S468)。
Then, if the # 1 CPU read strobe signal = '1' (S464: Yes), the FIFO read
次に、FIFO読出回路20は、読出WAIT信号を’0’に設定し(S470)、#1CPUポインタをカウントアップし(S472)、#1DPRAMアドレスをカウントアップし(S474)、S476に処理を移行する。
Next, the FIFO read
S476において、#1CPU読出回数<#1CPU連続読出個数であれば(S476:No)、#1CPU連続読出個数分のデータを#1CPUがまだ読み出していないと判断し、FIFO読出回路20はS444に処理を移行する。
In S476, if # 1 CPU read count <# 1 CPU continuous read number (S476: No), it is determined that # 1 CPU has not yet read data for the # 1 CPU continuous read number, and the FIFO read
#1CPU読出回数≧#1CPU連続読出個数であれば(S476:Yes)、FIFO読出回路20は、#1CPU連続読出個数分のデータを#1CPUは読み出したと判断し、#1CPU読出回数をクリアする(S478)。
If # 1 CPU read
次に、FIFO回路12に格納されているデータが空ではない場合(S480:No)、FIFO読出回路20は、#1CPUからの読出要求に備え、S434に処理を移行する。
Next, when the data stored in the
#1CPUが#1CPU連続読出個数分のデータを読み出したときにFIFO回路12に格納されているデータが空であり(S480:Yes)、#1CPUポインタ≧#2CPUポインタであれば(S482:Yes)、FIFO読出回路20は、#1CPUポインタ=#2CPUポインタになるまで待機する(S484:No)。
When the # 1 CPU reads the data corresponding to the # 1 CPU continuous reading number, the data stored in the
これは、S482において#1CPUポインタ>#2CPUポインタであれば、#2DPRAMに#2CPUの未読データが残っているので、#2CPUが#2DPRAMに記憶されているデータを全て読出すまで待機するためである。 This is because if # 1 CPU pointer> # 2 CPU pointer in S482, the unread data of # 2CPU remains in # 2DPRAM, so that # 2CPU waits until all data stored in # 2DPRAM is read. is there.
#1CPUポインタ=#2CPUポインタであれば(S484:Yes)、FIFO回路12のデータが空になった状態で#1CPUと#2CPUとの読出回数が一致するので、FIFO読出回路20は、S432に処理を移行し初期状態に戻る。
If # 1CPU pointer = # 2CPU pointer (S484: Yes), the read counts of # 1CPU and # 2CPU match when the data in the
S482において#1CPUポインタ<#2CPUポインタであれば(S482:No)、FIFO回路12のデータが空になった状態で#1DPRAMに#1CPUが未読のデータが残されていると考えられる。そこで、FIFO読出回路20は、図6のS486において、#1CPUの読出開始信号が’1’になると(S486:Yes)、#1CPUが出力する#1CPU連続読出個数信号を読込む(S488)。そして、FIFO読出回路20は、#1CPUに対する読出許可信号を’1’に設定し(S490)、図5のS442に処理を移行する。これにより、#1CPUポインタ=#2CPUポインタになるまで(S484:Yes)、#1DPRAMに記憶されている未読のデータを#1CPUは読出す。
If # 1 CPU pointer <# 2 CPU pointer in S482 (S482: No), it is considered that data that has not been read by # 1CPU remains in # 1DPRAM in a state where data in the
(FIFO読出回路20による#2CPU用読出処理)
図7および図8に基づいて、FIFO回路12に対する読出しを#2CPUから要求された場合のFIFO読出回路20における処理の状態遷移について説明する。図7および図8において「S」はステップを表している。図7および図8において使用する変数の意味は以下の通りである。
(1)#2CPUポインタ:#2CPUがFIFO回路12または#2DPRAMからデータを読み出した現在までの総回数(総個数と同義である。)。
(2)#1DPRAMポインタ:#2CPUがFIFO回路12から読み出したデータを#1DPRAMに書き込むアドレス。
(3)#2DPRAMアドレス:#1CPUがFIFO回路12から読み出したデータを記憶している#2DPRAMから、#2CPUがデータを読み出すアドレス。
(4)#2CPU読出回数:#2CPUが連続してFIFO回路12または#2DPRAMからデータを読み出す回数カウンタ。
(Reading process for # 2 CPU by FIFO reading circuit 20)
Based on FIGS. 7 and 8, the state transition of processing in the
(1) # 2 CPU pointer: Total number of times the # 2 CPU has read data from the
(2) # 1 DPRAM pointer: address to which # 2 CPU writes data read from the
(3) # 2 DPRAM address: An address from which # 2 CPU reads data from # 2 DPRAM that stores data read from
(4) # 2 CPU read count: A count counter in which # 2 CPU continuously reads data from the
図5および図6における#1CPU用読出処理と、図7および図8における#2CPU用読出処理とは、CPU名と上記変数名とが異なるだけで、殆ど同じである。以下に、異なる処理について説明する。 The # 1 CPU reading process in FIGS. 5 and 6 and the # 2 CPU reading process in FIGS. 7 and 8 are almost the same except that the CPU name and the variable name are different. Hereinafter, different processes will be described.
S504において、FIFO読出回路20は、#1CPUポインタ<#2CPUポインタの場合(S504:Yes)、#2CPUによる総読出回数は#1CPUによる総読出回数より大きいので、FIFO読出回路20は、#2CPUは#1CPUよりも先行してFIFO回路12に対して読出しを要求していると判断する。
In S504, if the FIFO read
つまり、#1CPUポインタ<#2CPUポインタの場合、#2CPUによるFIFO回路12に対する読出要求に対し、FIFO読出回路20はFIFO回路12からデータを読み出し#2CPUに送出すると判断する。
That is, if # 1CPU pointer <# 2CPU pointer, in response to a read request from the # 2 CPU to the
#1CPU用読出処理で説明したように、第1実施形態では、#1CPUによる総読出回数と#2CPUによる総読出個数とが等しい場合、#2CPUよりも#1CPUを優先してFIFO回路12からデータを読出すので、#1CPUポインタ<#2CPUポインタのときだけ、FIFO読出回路20はFIFO回路12から読み出したデータを#2CPUに送出する。
As described in the reading process for # 1 CPU, in the first embodiment, when the total number of readings by # 1 CPU is equal to the total number of readings by # 2 CPU, data from
また、S526の次にS528の処理が追加されている点が、図5の#1CPU用読出処理と異なっている。S504において#1CPUポインタ≧#2CPUポインタであるときに(S504:No)、#1CPUポインタ=#2CPUポインタの場合には、#1CPUと#2CPUとで総読出回数が同じであるから、#1CPUは#2CPUに先行してFIFO回路12からデータを読み出していない。つまり、#2DPRAMには#2CPUが読み出せるデータがまだ書き込まれていないことを表している。
Moreover, the point that the processing of S528 is added after S526 is different from the reading processing for # 1 CPU in FIG. When # 1CPU pointer ≧ # 2CPU pointer in S504 (S504: No), if # 1CPU pointer = # 2CPU pointer, the total number of readings is the same for # 1CPU and # 2CPU, so # 2 No data is read from the
そこで、S528において、FIFO読出回路20は、#1CPUポインタ=#2CPUポインタの場合は待機し(S528:No)、#1CPUが#2CPUに先行してFIFO回路12からデータを読み出し、#2DPRAMに#2CPUが読み出せるデータが書き込まれることにより#1CPUポインタ>#2CPUポインタになると(S528:Yes)、S530からの処理を実行し、#2DPRAMに記憶されているデータを#2CPUに送出する。
Therefore, in S528, the FIFO read
以上説明した第1実施形態では、#1CPUと#2CPUとのFIFO回路12に対する読出要求をFIFO読出回路20が処理することにより、#1CPUと#2CPUとは、互いに他のCPUがFIFO回路12に対して読出しを要求しているか否かに関わらず、1個のFIFO回路12に対して独立して読出しを要求できる。
In the first embodiment described above, the FIFO read
また、2個のCPUが1個のFIFO回路12のデータを読み出すので、CPU毎にDPRAMを設置はするものの、CPU毎にFIFO回路12を設置する構成に比べ、ハードウェア量を低減できる。
In addition, since two CPUs read data from one
また、FIFO回路12に対してCPU2、4からの読出要求が同時に発生しても、その読出要求は、FIFO読出回路20によりFIFO回路12またはDPRAMのいずれかに振り分けられる。したがって、CPU2、4からの読出要求に対して、FIFO回路12またはDPRAMに同時に読出しは要求されない。
Even if read requests from the
第1実施形態では、2個のCPUが1個のFIFO回路12のデータを読み出す例について説明した。CPUが3個以上の場合には、CPUが2個の場合と同様に、CPU毎にDPRAMを設け、1個のFIFO回路12に対する読出回数が先行している先行CPUを判定し、先行CPUがFIFO回路から読み出すデータを、先行CPU以外の他のCPU用のDPRAMにそれぞれ書き込む構成にすればよい。
In the first embodiment, the example in which two CPUs read data from one
これにより、3個以上の複数のCPUに1個のFIFO回路を設置する構成においても、他のCPUによるFIFO回路に対する読出要求に関わらず、各CPUは独立してFIFO回路に格納されているデータを読み出すことができる。 As a result, even in a configuration in which one FIFO circuit is installed in a plurality of CPUs of three or more, each CPU independently stores data stored in the FIFO circuit regardless of the read request to the FIFO circuit by other CPUs. Can be read out.
第1実施形態では、FIFOデータ読出装置10が本発明のFIFOデータ読出装置に相当し、#1DPRAM30および#2DPRAM32が本発明の記憶装置に相当し、FIFO読出回路20が本発明の判定手段およびデータ処理手段として機能する。
In the first embodiment, the FIFO
また、S444、S482、S504およびS544の処理は、本発明の判定手段が実行する機能に相当し、S454、S456、S468、S514、S516、およびS530の処理は本発明のデータ処理手段が実行する機能に相当する。 The processing of S444, S482, S504, and S544 corresponds to the function executed by the determination means of the present invention, and the processing of S454, S456, S468, S514, S516, and S530 is executed by the data processing means of the present invention. Corresponds to function.
[第2実施形態]
図9に本実施形態のFIFOデータ読出装置40を示す。第2実施形態では、#1CPUおよび#2CPUがFIFO回路12から読み出したデータを書き込むDPRAM42は1個だけである。
[Second Embodiment]
FIG. 9 shows a FIFO
第2実施形態では、2個のCPUがFIFO回路12から読み出したデータを1個のDPRAM42に書き込む場合、図10のS626および図11のS726に示すように、書き込み用の#1DPRAMポインタと#2DPRAMポインタとを加算したポインタ値で書き込みを行う。また、2個のCPUが1個のDPRAM42から読出しを行う場合、図10のS638および図11のS740に示すように、読出し用の#1DPRAMアドレスと#2DPRAMアドレスとを加算したアドレス値で読み出しを行う。その他の読出し処理については、実質的に第1実施形態と同様である。また、図10のS652の判定結果がNoの場合の処理は図6と実質的に同じであり、図11のS754の判定結果がNoの場合の処理は図8と実質的に同じであるから図示を省略する。
In the second embodiment, when data read from the
CPUが2個の場合に、1個のDPRAM42において、先行CPUがFIFO回路12から読み出すデータを、2個のCPU用にそれぞれ設けた書込用のポインタを加算したアドレス位置に書き込んでいくことにより、先行CPUではない方のCPUが読み出すべきFIFO回路12のデータはDPRAM42に記憶される。
When there are two CPUs, in one
そして、先行CPUではない方のCPUに送出するDPRAM42のデータは、先行CPUがFIFO回路12から読み出したデータであり、先行CPUはDPRAM42から読み出す必要がない。したがって、共通のDPRAM42から読み出すデータ数に応じて、2個のCPU用にそれぞれ設けた読出用のアドレスを加算した読出アドレスが更新されても、先行CPUではないCPUに、DPRAM42に記憶されているデータを読み飛ばすことなく送出できる。
The data in the
第2実施形態では、2個のCPUがFIFO回路12から読み出したデータを書き込むDPRAM42を1個だけ設置しているので、第1実施形態よりもハードウェア量を低減できる。
In the second embodiment, since only one
第2実施形態では、FIFOデータ読出装置40が本発明のFIFOデータ読出装置に相当し、DPRAM42が本発明の記憶装置に相当し、FIFO読出回路50が本発明の判定手段およびデータ処理手段として機能する。
In the second embodiment, the FIFO
また、S614、S652、S714およびS754の処理は、本発明の判定手段が実行する機能に相当し、S624、S626、S638、S724、S726およびS740の処理は本発明のデータ処理手段が実行する機能に相当する。 The processing of S614, S652, S714, and S754 corresponds to the function executed by the determination means of the present invention, and the processing of S624, S626, S638, S724, S726, and S740 is the function executed by the data processing means of the present invention. It corresponds to.
[他の実施形態]
上記実施形態では、レーダによるスキャンデータを格納する1個のFIFO回路12から複数のCPUがデータを読み出す構成について説明したが、FIFO回路が格納するデータはレーダによるスキャンデータに限るものではなく、通信等により順次送信されるデータであればどのようなデータであってもよい。
[Other Embodiments]
In the above-described embodiment, the configuration in which a plurality of CPUs read data from one
また、FIFO回路が格納しているデータをコピーする記憶装置はDPRAMに限るものではなく、どのような記憶装置を用いてもよい。
また、上記第2実施形態では、1個のDPRAM42に対し、2個のCPUのそれぞれに読出用アドレスと書込用ポインタと設けた。これに対し、2個のCPUに共通の1個の書込用ポインタと読出用アドレスとを設け、書き込むデータ数および読み出すデータ数に応じて共通の書込用ポインタと読出用アドレスとを更新しても、1個のDPRAM42に対し、第2実施形態と実質的に同一の書き込み処理および読出し処理を実行できる。
Further, the storage device for copying the data stored in the FIFO circuit is not limited to the DPRAM, and any storage device may be used.
In the second embodiment, for one
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。 As described above, the present invention is not limited to the above-described embodiment, and can be applied to various embodiments without departing from the gist thereof.
2、4:CPU、10、40:FIFOデータ読出装置、12:FIFO回路、20、50:FIFO読出回路(判定手段、データ処理手段)、30、32、42:DPRAM(記憶装置) 2, 4: CPU, 10, 40: FIFO data reading device, 12: FIFO circuit, 20, 50: FIFO reading circuit (determination means, data processing means), 30, 32, 42: DPRAM (storage device)
Claims (3)
前記CPUからの読出要求により前記FIFO回路から読み出されるデータが記憶される記憶装置と、
前記複数のCPUのうちどのCPUが、前記FIFO回路に格納されているデータの読出し数が最も多い先行CPUであるかを判定する判定手段と、
前記判定手段により判定された前記先行CPUからの前記FIFO回路に対する読出要求に対し、前記FIFO回路に格納されているデータを前記先行CPUに送出するとともに前記記憶装置に書き込み、前記先行CPU以外の他の前記CPUからの前記FIFO回路に対する読出要求に対し、前記記憶装置に記憶されているデータを送出するデータ処理手段と、
を備えることを特徴とするFIFOデータ読出装置。 One FIFO circuit that is requested to read data from a plurality of CPUs and reads the data stored first;
A storage device for storing data read from the FIFO circuit in response to a read request from the CPU;
Determining means for determining which CPU among the plurality of CPUs is a preceding CPU having the largest number of reading data stored in the FIFO circuit;
In response to a read request to the FIFO circuit from the preceding CPU determined by the determining means, the data stored in the FIFO circuit is sent to the preceding CPU and written to the storage device. Data processing means for sending out data stored in the storage device in response to a read request from the CPU to the FIFO circuit;
A FIFO data reading device comprising:
前記データ処理手段は、前記先行CPUに送出する前記FIFO回路のデータを前記先行CPU以外の他の前記CPUに対応する前記記憶装置にそれぞれ書き込み、前記先行CPU以外の他の前記CPUが前記FIFO回路に対して読み出しを要求する場合、前記FIFO回路に対して読み出しを要求する他の前記CPUに対応する前記記憶装置からデータを読み出して、前記FIFO回路に対して読み出しを要求する他の前記CPUに送出する、
ことを特徴とする請求項1に記載のFIFOデータ読出装置。 The storage device is provided for each CPU,
The data processing means writes the data of the FIFO circuit to be sent to the preceding CPU to the storage device corresponding to the CPU other than the preceding CPU, and the CPU other than the preceding CPU causes the FIFO circuit to When reading is requested to the FIFO circuit, data is read from the storage device corresponding to the other CPU that requests reading from the FIFO circuit, and the other CPU that requests reading from the FIFO circuit is requested. Send out,
The FIFO data reading device according to claim 1, wherein:
前記データ処理手段は、前記記憶装置からデータを読み出すときには読出アドレスが示す前記記憶装置のアドレス位置からデータを読出すとともに、読み出すデータ数に応じて前記読出アドレスを更新し、前記FIFO回路から読み出したデータを前記記憶装置に書き込むときには書込アドレスが示す前記記憶装置のアドレス位置に前記FIFO回路のデータを書き込むとともに、書き込むデータ数に応じて前記書込アドレスを更新する、
ことを特徴とする請求項1に記載のFIFOデータ読出装置。 The plurality of CPUs are two, and the storage device is provided in common for the two CPUs.
The data processing means reads data from the address position of the storage device indicated by a read address when reading data from the storage device, updates the read address according to the number of data to be read, and reads the data from the FIFO circuit. When writing data to the storage device, the data of the FIFO circuit is written to the address position of the storage device indicated by the write address, and the write address is updated according to the number of data to be written.
The FIFO data reading device according to claim 1, wherein:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010156753A JP5381919B2 (en) | 2010-07-09 | 2010-07-09 | FIFO data reading device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010156753A JP5381919B2 (en) | 2010-07-09 | 2010-07-09 | FIFO data reading device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012018606A JP2012018606A (en) | 2012-01-26 |
JP5381919B2 true JP5381919B2 (en) | 2014-01-08 |
Family
ID=45603801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010156753A Active JP5381919B2 (en) | 2010-07-09 | 2010-07-09 | FIFO data reading device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5381919B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02281356A (en) * | 1989-04-24 | 1990-11-19 | Matsushita Graphic Commun Syst Inc | Shared memory device |
JPH04319752A (en) * | 1991-04-18 | 1992-11-10 | Nec Corp | System bus control system for information processor |
JPH07262227A (en) * | 1994-03-22 | 1995-10-13 | Toshiba Corp | Process input/output device and computer system |
WO2003042811A1 (en) * | 2001-11-13 | 2003-05-22 | Koninklijke Philips Electronics N.V. | Efficient fifo communication using semaphores |
-
2010
- 2010-07-09 JP JP2010156753A patent/JP5381919B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012018606A (en) | 2012-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657696B2 (en) | Method to detect NAND-flash parameters by hardware automatically | |
US10002085B2 (en) | Peripheral component interconnect (PCI) device and system including the PCI | |
WO2016106935A1 (en) | Flash memory controller and control method for flash memory controller | |
US9239742B2 (en) | Embedded systems and methods for threads and buffer management thereof | |
KR20140035772A (en) | A embedded multimedia card(emmc), emmc system including the emmc, and a method for operating the emmc | |
CN101794262B (en) | I/O controller, and descriptor transfer method | |
KR101702374B1 (en) | Multi processor device and inter process communication method thereof | |
US20100058001A1 (en) | Distributed shared memory multiprocessor and data processing method | |
JP2006113689A (en) | Bus bridge device and data transfer method | |
US7814254B2 (en) | Mode setting method and system in hot plug of PCI device | |
US20080052424A1 (en) | Data access system, data access apparatus, data access integrated circuit, and data access method | |
KR101793282B1 (en) | Micro computer | |
JP5381919B2 (en) | FIFO data reading device | |
US9152588B2 (en) | Race-free level-sensitive interrupt delivery using fabric delivered interrupts | |
WO2016106933A1 (en) | Sub-area-based method and device for protecting information of mcu chip | |
JP6319473B1 (en) | Information processing device | |
JP2011070372A (en) | Dma transmission control device | |
US20070186026A1 (en) | System having bus architecture for improving CPU performance and method thereof | |
JP4983632B2 (en) | Information communication system, access arbitration method thereof, and control program thereof | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
JP2545627B2 (en) | CPU interface method | |
TWI243978B (en) | Method and device for adjusting clock | |
JP2978913B2 (en) | Method and system for controlling shared access to random access memory | |
JP2010140440A (en) | Bus arbitration device | |
JP2008299747A (en) | Usb host system and method for transferring transfer data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130828 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130916 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5381919 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |