[go: up one dir, main page]

JP2009238132A - Data processing apparatus - Google Patents

Data processing apparatus Download PDF

Info

Publication number
JP2009238132A
JP2009238132A JP2008086375A JP2008086375A JP2009238132A JP 2009238132 A JP2009238132 A JP 2009238132A JP 2008086375 A JP2008086375 A JP 2008086375A JP 2008086375 A JP2008086375 A JP 2008086375A JP 2009238132 A JP2009238132 A JP 2009238132A
Authority
JP
Japan
Prior art keywords
register
memory
stored
copy
data
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.)
Pending
Application number
JP2008086375A
Other languages
Japanese (ja)
Inventor
Mikio Ito
幹雄 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008086375A priority Critical patent/JP2009238132A/en
Publication of JP2009238132A publication Critical patent/JP2009238132A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To enhance a reliability of memory copy processing without degrading performance. <P>SOLUTION: In a processor 102 equipped with an instruction execution unit 102-1 to 102-N which can process multiple instructions simultaneously, memory readout processing is duplicated according to a logic of a software which operates on the processor 102, and determination is made whether both the data is in agreement on the processor 102. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明はメモリコピー用レジスタファイル、データ処理装置、メモリコピー方法及び同方法を実施するプログラムに関する。   The present invention relates to a memory copy register file, a data processing apparatus, a memory copy method, and a program for executing the method.

メモリコピー処理は一般のデータ処理装置において広く行われている。   Memory copy processing is widely performed in general data processing apparatuses.

メモリコピー処理とは、対象データをメモリのコピー元からメモリのコピー先にプロセッサを介して転送する処理である。特に、データ転送処理の比重が高い入出力処理装置においては、処理の多くがこのメモリコピー処理であり、このメモリコピー処理の信頼度を向上させることは極めて重要である。   The memory copy process is a process of transferring target data from a memory copy source to a memory copy destination via a processor. In particular, in an input / output processing device having a high specific gravity for data transfer processing, most of the processing is this memory copy processing, and it is extremely important to improve the reliability of this memory copy processing.

メモリコピー処理の信頼度を向上させる装置の一例として、特開平8−16484号公報(特許文献1)に記載されている二重化メモリシステムがある。   As an example of an apparatus for improving the reliability of the memory copy process, there is a duplex memory system described in Japanese Patent Laid-Open No. 8-16484 (Patent Document 1).

この二重化メモリシステムは、それぞれ二重化されているCPUバス、システムバス制御装置、システムバス及びメモリ装置を備えており、CPUバス、システムバス制御装置、システムバス及びメモリ装置の各々はデータの比較回路を備えている。これらの比較回路の各々において、二重化処理されたデータが相互に一致するか否かのチェックが行われる。   This dual memory system includes a dual CPU bus, system bus control device, system bus and memory device, and each of the CPU bus, system bus control device, system bus and memory device has a data comparison circuit. I have. In each of these comparison circuits, a check is made as to whether or not the duplicated data match each other.

また、特開昭56−9828号公報(特許文献2)は、データをキーボードからキーボード制御装置に転送する際に、キーボードから同じデータを少なくとも2回キーボード制御装置に転送し、転送された2つのデータが一致するときに、そのデータを有効とするデータ転送読み取り方式を提案している。   Japanese Patent Laid-Open No. 56-9828 (Patent Document 2) discloses that when data is transferred from the keyboard to the keyboard control device, the same data is transferred from the keyboard to the keyboard control device at least twice, and the two transferred data are transferred. We have proposed a data transfer reading method that makes data valid when the data match.

また、特開平8−328888号公報(特許文献3)は、第一の処理装置において処理プログラムを実行した後、同じ処理を行う処理プログラムを第二の処理装置において実行し、双方の出力データを比較して、一致した場合に限り、その出力データを出力装置を介して出力するソフトウェア二重化処理装置を提案している。
特開平8−16484号公報 特開昭56−9828号公報 特開平8−328888号公報
JP-A-8-328888 (Patent Document 3) executes a processing program in the first processing apparatus, then executes a processing program for performing the same processing in the second processing apparatus, and outputs both output data. In comparison, a software duplication processing device that outputs output data via an output device only when they match is proposed.
JP-A-8-16484 Japanese Patent Laid-Open No. 56-9828 JP-A-8-328888

特開平8−16484号公報(特許文献1)に記載されている二重化メモリシステムにおいては、CPUバス、システムバス制御装置、システムバス及びメモリ装置の各々において二重化処理を行うことが必要になるため、ハードウェア量が非常に多くなってしまうという問題があった。   In the duplex memory system described in JP-A-8-16484 (Patent Document 1), it is necessary to perform duplex processing in each of the CPU bus, the system bus control device, the system bus, and the memory device. There was a problem that the amount of hardware would become very large.

特開昭56−9828号公報(特許文献2)に記載されているデータ転送読み取り方式は、キーボードからキーボード制御装置へのデータの読み出しにのみ関するものであるため、そのままの構成ではデータ処理装置におけるメモリコピー処理に適用することは困難であるという問題があった。さらに、性能が大きく低下するという問題もあった。   The data transfer reading method described in Japanese Patent Application Laid-Open No. 56-9828 (Patent Document 2) relates only to reading of data from the keyboard to the keyboard control device. There is a problem that it is difficult to apply to memory copy processing. In addition, there is a problem that the performance is greatly reduced.

また、特開平8−328888号公報(特許文献3)に記載されているソフトウェア二重化処理装置によれば、ソフトウェアによる同じ処理を2回繰り返して行わなければならないため、データ処理量が多くなることを避けることができないという問題点があった。さらに、性能が大きく低下するという問題もあった。   In addition, according to the software duplex processing apparatus described in Japanese Patent Laid-Open No. 8-328888 (Patent Document 3), the same processing by software must be repeated twice, so that the data processing amount increases. There was a problem that could not be avoided. In addition, there is a problem that the performance is greatly reduced.

本発明は、上述の課題を解決するメモリコピー用レジスタ・ファイル、データ処理装置、メモリコピー方法及び同方法を実施するプログラムを提供することを目的とする。   It is an object of the present invention to provide a memory copy register file, a data processing apparatus, a memory copy method, and a program for executing the method that solve the above-described problems.

上記の目的を達成するため、本発明は、第一の態様として、コピー元に記憶されているデータを前記コピー元からコピー先にコピーするメモリコピー用レジスタ・ファイルであって、前記コピー元のアドレスをそれぞれ記憶する第1のレジスタ及び第2のレジスタと、前記コピー先のアドレスを記憶する第3のレジスタと、前記データの転送サイクル数を記憶する第4のレジスタと、前記データの1サイクルでの転送データ長を記憶する第5のレジスタと、前記第1のレジスタにおいて記憶された前記アドレスを介して読み出されたデータを格納する第6のレジスタと、前記第2のレジスタにおいて記憶された前記アドレスを介して読み出されたデータを格納する第7のレジスタと、前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を格納する第8のレジスタと、前記第8のレジスタに格納された排他的論理和と自レジスタが格納している値との論理和を格納する第9のレジスタと、を備えるレジスタ・ファイルを提供する。   In order to achieve the above object, according to a first aspect of the present invention, there is provided a memory copy register file for copying data stored in a copy source from the copy source to a copy destination. A first register and a second register for storing addresses, a third register for storing the copy destination address, a fourth register for storing the number of data transfer cycles, and one cycle of the data The fifth register for storing the transfer data length in the first register, the sixth register for storing the data read via the address stored in the first register, and the second register. A seventh register for storing data read via the address; data stored in the sixth register; and the seventh register. And an eighth register for storing an exclusive OR with the data stored in the data, and a logical sum of the exclusive OR stored in the eighth register and the value stored in the register. And a register file comprising a ninth register.

さらに、本発明は、第二の態様として、上記のレジスタ・ファイルと、それぞれが同時に命令を実行可能な少なくとも二つの命令実行ユニットを備え、前記レジスタ・ファイルと接続されているプロセッサと、前記プロセッサと接続されているメモリと、を備えるデータ処理装置を提供する。   Furthermore, the present invention provides, as a second aspect, a processor connected to the register file, including the register file described above, and at least two instruction execution units each capable of executing instructions simultaneously, and the processor And a memory connected to the data processing device.

さらに、本発明は、第三の態様として、上記のレジスタ・ファイルにおいて、前記第1のレジスタ及び前記第2のレジスタに格納されたアドレスを使用して、前記第6のレジスタ及び前記第7のレジスタに前記コピー元から読み出したデータを格納する二つのメモリロードを実行する第一の過程と、前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を第8のレジスタに格納する第二の過程と、前記第8のレジスタに格納された前記排他的論理和と前記第9のレジスタに格納された値との論理和を前記第9のレジスタに格納する第三の過程と、前記第3のレジスタに格納されたアドレスを使用して、前記第6のレジスタに格納されたデータを前記コピー先に格納するメモリストアを実行する第四の過程と、を備えるコピー元に記憶されているデータを前記コピー元から前記コピー先にコピーする方法を提供する。   Furthermore, the present invention provides, as a third aspect, in the above register file, using the addresses stored in the first register and the second register, the sixth register and the seventh register. The first process of executing two memory loads for storing the data read from the copy source in the register, and the exclusive of the data stored in the sixth register and the data stored in the seventh register A second step of storing a logical sum in the eighth register; and a logical sum of the exclusive logical sum stored in the eighth register and the value stored in the ninth register. A third process for storing in the register and a memory store for storing the data stored in the sixth register in the copy destination using the address stored in the third register. It provides a way to copy the steps of the data stored in the copy source comprising the copy destination from the copy source.

さらに、本発明は、第四の態様として、上記のレジスタ・ファイルにおいて、コピー元に記憶されているデータを前記コピー元から前記コピー先にコピーする方法をコンピュータに実行させるためのプログラムであって、前記プログラムが行う処理は、前記第1のレジスタ及び前記第2のレジスタに格納されたアドレスを使用して、前記第6のレジスタ及び前記第7のレジスタに前記コピー元から読み出したデータを格納する二つのメモリロードを実行する第一の処理と、前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を第8のレジスタに格納する第二の処理と、前記第8のレジスタに格納された前記排他的論理和と前記第9のレジスタに格納された値との論理和を前記第9のレジスタに格納する第三の処理と、前記第3のレジスタに格納されたアドレスを使用して、前記第6のレジスタに格納されたデータを前記コピー先に格納するメモリストアを実行する第四の処理と、からなるものであるプログラムを提供する。   Furthermore, the present invention provides, as a fourth aspect, a program for causing a computer to execute a method of copying data stored in a copy source from the copy source to the copy destination in the register file. The processing performed by the program uses the addresses stored in the first register and the second register to store the data read from the copy source in the sixth register and the seventh register. A first process for executing the two memory loads, and an exclusive OR of the data stored in the sixth register and the data stored in the seventh register is stored in the eighth register. And the logical sum of the exclusive OR stored in the eighth register and the value stored in the ninth register is stored in the ninth register. And a fourth process for executing a memory store for storing the data stored in the sixth register in the copy destination using the address stored in the third register. Provide a program that consists of

本発明によれば、以下に記載するような効果がある。   The present invention has the following effects.

第1の効果は、メモリコピー処理において、メモリ読み出しを二重化するとともに、プロセッサ上において双方のデータが一致するか否かを判定しているので、データ化けを防止し、メモリコピー処理の信頼性の向上を図ることができることである。   The first effect is that, in the memory copy process, memory reading is duplicated and it is determined whether or not both data match on the processor, so that data corruption is prevented and the reliability of the memory copy process is improved. It is possible to improve.

第2の効果は、メモリコピー処理において、メモリコピー元のアドレス管理レジスタ(第1のレジスタ及び第2のレジスタ)及びメモリコピー先のアドレス管理レジスタ(第3のレジスタ)について、メモリコピー処理終了時の格納値と予め計算した最終アドレスとが一致するか否かの判定を行っているので、メモリコピー処理中のアドレス化けを防止し、メモリコピー処理の信頼性の向上を図ることができることである。   The second effect is that, in the memory copy process, the memory copy source address management register (first register and second register) and the memory copy destination address management register (third register) are terminated. Since it is determined whether or not the stored value matches the final address calculated in advance, address corruption during the memory copy process can be prevented, and the reliability of the memory copy process can be improved. .

第3の効果は、メモリコピー処理は、複数の命令を同時に処理可能なプロセッサ上のソフトウェアにより実行されるため、メモリコピー処理を実施するための特別なハードウェアを必要とせず、安価にメモリコピー処理を実現することができることである。   The third effect is that the memory copy process is executed by software on a processor capable of processing a plurality of instructions at the same time. Therefore, special hardware for executing the memory copy process is not required, and the memory copy process is inexpensive. The process can be realized.

第4の効果は、メモリコピー処理は、複数の命令を同時に処理可能なプロセッサ上のソフトウェアにより実行されるため、他の手段によるメモリコピー処理、例えば、同一処理を直列的に2回実行し、結果の一致を確認するメモリコピー処理と比較して、性能低下が発生しないことである。   The fourth effect is that the memory copy process is executed by software on a processor capable of simultaneously processing a plurality of instructions. Therefore, the memory copy process by other means, for example, the same process is executed twice in series. Compared with the memory copy process for confirming the coincidence of results, there is no performance degradation.

以上のように、本発明によれば、複数の命令を同時に処理可能な命令実行ユニットを備えるプロセッサにおいて、プロセッサ上で動作するソフトウェアの論理に従って、メモリ読み出し処理を二重化するととともに、プロセッサ上で双方のデータが一致するか否かの判定を実施することにより、性能を低下させることなく、メモリコピー処理の信頼性の向上を図ることができる。   As described above, according to the present invention, in a processor having an instruction execution unit capable of simultaneously processing a plurality of instructions, memory read processing is duplexed according to the logic of software operating on the processor, and both of the processors are executed on the processor. By determining whether or not the data match, it is possible to improve the reliability of the memory copy process without degrading the performance.

(第一の実施形態)
図1は、本発明の第一の実施形態に係るレジスタ・ファイル101を備えたデータ処理装置100のハードウェア構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing a hardware configuration of a data processing apparatus 100 including a register file 101 according to the first embodiment of the present invention.

図1に示すデータ処理装置100は、本発明の第一の実施形態に係るレジスタ・ファイル101と、レジスタ・ファイル101と接続されているプロセッサ102と、プロセッサ102と接続されているメモリ103と、から構成されている。   A data processing device 100 shown in FIG. 1 includes a register file 101 according to the first embodiment of the present invention, a processor 102 connected to the register file 101, a memory 103 connected to the processor 102, It is composed of

メモリ103は、データ処理装置100における主記憶装置として機能するメモリである。   The memory 103 is a memory that functions as a main storage device in the data processing apparatus 100.

プロセッサ102は、それぞれが同時に命令を実行可能なN(Nは2以上の整数)個の命令実行ユニット102−1乃至102−Nを備えている。   The processor 102 includes N (N is an integer of 2 or more) instruction execution units 102-1 to 102-N, each of which can execute instructions simultaneously.

プロセッサ102は、データ処理装置100において、ソフトウェア・プログラムにより指定された命令を実行する。   The processor 102 executes an instruction specified by a software program in the data processing apparatus 100.

図2は、本発明の第一の実施形態に係るレジスタ・ファイル101の構造を示すブロック図である。   FIG. 2 is a block diagram showing the structure of the register file 101 according to the first embodiment of the present invention.

レジスタ・ファイル101は各種レジスタを含んでおり、レジスタの種類としては、汎用レジスタ、浮動小数点レジスタ、制御レジスタ、命令ポインタなどがある。   The register file 101 includes various registers. Examples of the register types include general-purpose registers, floating point registers, control registers, and instruction pointers.

図2に示すように、レジスタ・ファイル101は、メモリコピー元のアドレスを管理する第1のレジスタ(マスタ側レジスタ)201と、メモリコピー元のアドレスを管理する第2のレジスタ(スレーブ側レジスタ)202と、メモリコピー先のアドレスを管理する第3のレジスタ203と、メモリコピーの実行処理においてサイクル回数を管理する第4のレジスタ204と、1サイクル当たりのデータ長を管理する、すなわち、1サイクルでコピーされるバイト長が格納される第5のレジスタ205と、メモリコピーのデータを格納する第6のレジスタ(マスタ側レジスタ)と、メモリコピーのデータを格納する第7のレジスタ(スレーブ側レジスタ)と、排他的論理和の演算結果を格納する第8のレジスタ208と、論理和の演算結果を格納する第9のレジスタ209と、から構成されている。   As shown in FIG. 2, the register file 101 includes a first register (master side register) 201 that manages the memory copy source address and a second register (slave side register) that manages the memory copy source address. 202, a third register 203 that manages the address of the memory copy destination, a fourth register 204 that manages the number of cycles in the execution process of the memory copy, and manages the data length per cycle, that is, one cycle The fifth register 205 for storing the byte length to be copied in step 6, the sixth register (master side register) for storing the memory copy data, and the seventh register (slave side register) for storing the memory copy data ), An eighth register 208 for storing an exclusive OR operation result, and an OR operation result A ninth register 209 to pay, and a.

レジスタ・ファイル101は、メモリの読み出しを二重化するため、メモリコピー元のアドレスを管理するレジスタとして二つのレジスタ、すなわち、マスタ側レジスタとしての第1のレジスタ201とスレーブ側レジスタとしての第2のレジスタ202とを備えている。   The register file 101 has two registers for managing the memory copy source address, ie, the first register 201 as the master-side register and the second register as the slave-side register, in order to duplicate the memory reading. 202.

後述するように、第5のレジスタ205には「1」または「8」が格納される。   As will be described later, “1” or “8” is stored in the fifth register 205.

第1のレジスタ201及び第2のレジスタ202の場合と同様に、レジスタ・ファイル101は、メモリの読み出しを二重化するため、メモリコピーのデータを格納するレジスタとして二つのレジスタ、すなわち、マスタ側レジスタとしての第6のレジスタ206とスレーブ側レジスタとしての第7のレジスタ207とを備えている。   Similar to the case of the first register 201 and the second register 202, the register file 101 has two registers as the registers for storing the memory copy data, that is, as the master side register in order to duplicate the reading of the memory. The sixth register 206 and a seventh register 207 as a slave side register are provided.

第8のレジスタ208及び第9のレジスタ209は、メモリから読み出したデータの二重化チェックのために使用される。   The eighth register 208 and the ninth register 209 are used for duplex checking of data read from the memory.

図3は、本実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100におけるメモリコピーの開始処理のフローチャートである。   FIG. 3 is a flowchart of a memory copy start process in the data processing apparatus 100 including the register file 101 according to the present embodiment.

以下、図3を参照して、データ処理装置100におけるメモリコピーの開始処理を説明する。   Hereinafter, a memory copy start process in the data processing apparatus 100 will be described with reference to FIG.

先ず、第1のレジスタ201にメモリコピー元の先頭アドレスを格納する(ステップS301)。   First, the first address of the memory copy source is stored in the first register 201 (step S301).

次いで、第2のレジスタ202にメモリコピー元の先頭アドレスを格納する(ステップS302)。   Next, the start address of the memory copy source is stored in the second register 202 (step S302).

次いで、第3のレジスタ203にメモリコピー先の先頭アドレスを格納する(ステップS303)。   Next, the start address of the memory copy destination is stored in the third register 203 (step S303).

次いで、第4のレジスタ204にメモリコピーのサイクル回数を格納する(ステップS304)。   Next, the number of memory copy cycles is stored in the fourth register 204 (step S304).

次いで、第5のレジスタ205にメモリコピーの1サイクルのデータ長を格納する(ステップS305)。   Next, the data length of one cycle of memory copy is stored in the fifth register 205 (step S305).

次いで、第9のレジスタ209にゼロを格納する(ステップS306)。すなわち、エラー表示をクリアしておく。   Next, zero is stored in the ninth register 209 (step S306). That is, the error display is cleared.

図4は、本実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100におけるメモリコピーの実行処理のフローチャートである。   FIG. 4 is a flowchart of the memory copy execution process in the data processing apparatus 100 including the register file 101 according to the present embodiment.

図4に示す各ステップは図3に示したステップの後に実行される。   Each step shown in FIG. 4 is executed after the step shown in FIG.

以下、図4を参照して、データ処理装置100におけるメモリコピーの実行処理を説明する。   Hereinafter, a memory copy execution process in the data processing apparatus 100 will be described with reference to FIG.

先ず、第1のレジスタ201内に格納されているアドレスで指定されたメモリデータを読み出し、読み出したメモリデータを第6のレジスタ206に格納する(ステップS401)。   First, the memory data designated by the address stored in the first register 201 is read, and the read memory data is stored in the sixth register 206 (step S401).

第2のレジスタ202内に格納されているアドレスで指定されたメモリデータを読み出し、読み出したメモリデータを第7のレジスタ207に格納する(ステップS402)。   The memory data designated by the address stored in the second register 202 is read, and the read memory data is stored in the seventh register 207 (step S402).

第1のレジスタ201内に格納されているアドレスで指定されたメモリデータの読み出し(ステップS401)と第2のレジスタ202内に格納されているアドレスで指定されたメモリデータの読み出し(ステップS402)とは並行して行われる。すなわち、これら二つのステップS401及びS402は相前後して実行してもよく、あるいは、同時に実行してもよい。   Reading of memory data designated by the address stored in the first register 201 (step S401), reading of memory data designated by the address stored in the second register 202 (step S402), Are done in parallel. That is, these two steps S401 and S402 may be executed in succession or simultaneously.

第1のレジスタ201及び第2のレジスタ202に格納されたアドレスはともにメモリコピー元の先頭アドレス(図3のステップS301、S302)であり、同一のアドレスである。このため、ハードウェア障害が発生しない限り、第6のレジスタ206と第7のレジスタ207に格納されたメモリデータも同一である。   The addresses stored in the first register 201 and the second register 202 are both the top addresses of the memory copy source (steps S301 and S302 in FIG. 3), and are the same address. Therefore, the memory data stored in the sixth register 206 and the seventh register 207 is the same unless a hardware failure occurs.

次いで、第6のレジスタ206に格納されているメモリデータと第7のレジスタ207に格納されているメモリデータの排他的論理和演算を行い、その演算結果を第8のレジスタ208に格納する(ステップS403)。   Next, an exclusive OR operation of the memory data stored in the sixth register 206 and the memory data stored in the seventh register 207 is performed, and the calculation result is stored in the eighth register 208 (step S403).

第6のレジスタ206に格納されているデータと第7のレジスタ207に格納されているデータの内容が一致していれば、排他的論理和演算の演算結果は零となり、不一致であれば、演算結果は非零となる。   If the data stored in the sixth register 206 and the contents of the data stored in the seventh register 207 match, the operation result of the exclusive OR operation is zero. The result is non-zero.

次いで、第8のレジスタ208に格納されている演算結果と第9のレジスタ209に格納されているデータ(最初の段階ではゼロ)との論理和演算を行い、その演算結果を第9のレジスタ209に再度格納する(ステップS404)。   Next, an OR operation is performed on the operation result stored in the eighth register 208 and the data stored in the ninth register 209 (zero in the first stage), and the operation result is stored in the ninth register 209. (Step S404).

従って、メモリコピーの実行処理において、第6のレジスタ206に格納されているデータと第7のレジスタ207に格納されているデータの内容の不一致が一度でもあれば、メモリコピー終了時に、第9のレジスタ209の内容は非零となる。   Therefore, in the memory copy execution process, if there is even a mismatch between the contents of the data stored in the sixth register 206 and the data stored in the seventh register 207, the ninth The content of the register 209 is non-zero.

一方、第6のレジスタ206に格納されているデータと第7のレジスタに格納されているデータの内容の不一致が一度もなかった場合は、メモリコピー終了時に、第9のレジスタ209の内容は零となる。   On the other hand, if there has never been a mismatch between the contents of the data stored in the sixth register 206 and the data stored in the seventh register, the contents of the ninth register 209 are zero at the end of the memory copy. It becomes.

次いで、第6のレジスタ206に格納されているメモリデータを第3のレジスタ203に格納されているアドレスで指定されたメモリエリアに格納する(ステップS405)。   Next, the memory data stored in the sixth register 206 is stored in the memory area designated by the address stored in the third register 203 (step S405).

次いで、第1のレジスタ201、第2のレジスタ202及び第3のレジスタ203に格納されているアドレスに、第5のレジスタ205に格納されているメモリコピーの1サイクルのデータ長をそれぞれ加算し、その加算結果を第1のレジスタ201、第2のレジスタ202及び第3のレジスタ203に再度格納する(ステップS406)。   Next, the data length of one cycle of the memory copy stored in the fifth register 205 is added to the addresses stored in the first register 201, the second register 202, and the third register 203, respectively. The addition result is stored again in the first register 201, the second register 202, and the third register 203 (step S406).

本実施形態においては、第5のレジスタ205に格納された値は「1」または「8」に設定されている。第5のレジスタ205に格納された値が「1」である場合には、対応するメモリコピーは1サイクル当たり1バイトの処理となり、第5のレジスタ205に格納された値が「8」である場合には、対応するメモリコピーは1サイクル当たり8バイトの処理となる。   In the present embodiment, the value stored in the fifth register 205 is set to “1” or “8”. When the value stored in the fifth register 205 is “1”, the corresponding memory copy is processed by 1 byte per cycle, and the value stored in the fifth register 205 is “8”. In some cases, the corresponding memory copy is 8 bytes per cycle.

さらに、第4のレジスタ204に格納されているメモリコピーのサイクル回数から「1」を減算し、その減算結果を第4のレジスタ204に再度格納する(ステップS406)。   Furthermore, “1” is subtracted from the number of memory copy cycles stored in the fourth register 204, and the subtraction result is stored again in the fourth register 204 (step S406).

次いで、第4のレジスタ204に格納されているメモリコピーのサイクル回数が零か否かを確認する(ステップS407)。   Next, it is confirmed whether or not the number of memory copy cycles stored in the fourth register 204 is zero (step S407).

メモリコピーのサイクル回数が零である場合には(ステップS407のYES)、メモリコピーの実行処理は終了し、後述するメモリコピーの終了処理(図5)に進む。   If the number of memory copy cycles is zero (YES in step S407), the memory copy execution process ends, and the process proceeds to a memory copy end process described later (FIG. 5).

メモリコピーのサイクル回数が非零である場合には(ステップS407のNO)、メモリコピーの実行処理を続行する。すなわち、ステップS401及びS402乃至ステップS407の処理を再度実行する。   If the memory copy cycle number is non-zero (NO in step S407), the memory copy execution process is continued. That is, the processes in steps S401 and S402 to S407 are executed again.

図5は、本実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100におけるメモリコピーの終了処理のフローチャートである。   FIG. 5 is a flowchart of a memory copy end process in the data processing apparatus 100 including the register file 101 according to the present embodiment.

図5に示す各ステップは図4に示したステップの後に実行される。   Each step shown in FIG. 5 is executed after the step shown in FIG.

以下、図5を参照して、データ処理装置100におけるメモリコピーの終了処理を説明する。   Hereinafter, the memory copy end process in the data processing apparatus 100 will be described with reference to FIG.

以下に述べるように、メモリコピー処理の終了処理は、第4のレジスタ204に格納されたサイクル回数が零になった場合に開始され、第9のレジスタ209に最後に格納された値が零の場合に正常に終了し、零でない場合にはエラー検出となる。   As will be described below, the end process of the memory copy process is started when the number of cycles stored in the fourth register 204 becomes zero, and the last value stored in the ninth register 209 is zero. If it is not zero, an error is detected.

先ず、第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致するか否かを判定する(ステップS501)。   First, it is determined whether or not the content stored in the first register 201 matches the content stored in the second register 202 (step S501).

第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致していない場合には(ステップS501のNO)、ハードウェア障害が発生しており、メモリコピー処理が信頼できないことを示している。このため、障害処理を行う(ステップS505)。   If the contents stored in the first register 201 and the contents stored in the second register 202 do not match (NO in step S501), a hardware failure has occurred and the memory copy has occurred. Indicates that the process is not reliable. For this reason, failure processing is performed (step S505).

第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致している場合には(ステップS501のYES)、第9のレジスタ209に格納されている内容が零か否かを判定する(ステップS504)。   If the content stored in the first register 201 matches the content stored in the second register 202 (YES in step S501), the content stored in the ninth register 209 Whether or not is zero is determined (step S504).

第9のレジスタ209に格納されている内容が零ではない場合(ステップS504のNO)、メモリ読み出し二重化チェックにおいて、ハードウェア障害が発生したことを示している。このため、障害処理を行う(ステップS505)。   If the content stored in the ninth register 209 is not zero (NO in step S504), it indicates that a hardware failure has occurred in the memory read redundancy check. For this reason, failure processing is performed (step S505).

第9のレジスタ209に格納されている内容が零である場合(ステップS504のYES)、メモリコピー処理は正常に終了する。   If the content stored in the ninth register 209 is zero (YES in step S504), the memory copy process ends normally.

図6は、本実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100において、メモリコピーのパイプライン処理を行う場合のタイムチャートである。   FIG. 6 is a time chart when a memory copy pipeline process is performed in the data processing apparatus 100 including the register file 101 according to the present embodiment.

図6に示すタイムチャートは項目601乃至607から構成されている。   The time chart shown in FIG. 6 includes items 601 to 607.

項目601はマシンサイクルを示している。図6においては、マシンサイクル1から10までを示しており、マシンサイクル11以降は省略してある。   An item 601 indicates a machine cycle. In FIG. 6, machine cycles 1 to 10 are shown, and machine cycles 11 and after are omitted.

項目602は、ステップS406(図4)において実行される第4のレジスタ204の内容の更新状況を示している。   Item 602 indicates the update status of the contents of the fourth register 204 executed in step S406 (FIG. 4).

本実施形態においては、初期値は「7」に設定されている。すなわち、図4に示したメモリコピーの実行処理においては、7サイクルの処理が行われる。   In the present embodiment, the initial value is set to “7”. That is, in the memory copy execution process shown in FIG. 4, a process of 7 cycles is performed.

項目603はステップS401(図4)において実行されるメモリロード(マスタ側)の実行回数を示している。   An item 603 indicates the number of executions of the memory load (master side) executed in step S401 (FIG. 4).

項目604はステップS402(図4)において実行されるメモリロード(スレーブ側)の実行回数を示している。   An item 604 indicates the number of executions of the memory load (slave side) executed in step S402 (FIG. 4).

項目603と項目604との比較から明らかであるように、同一マシンサイクルにおいては、同一実行回数のメモリロードが行われる。   As is clear from the comparison between the item 603 and the item 604, the same number of executions of memory loads are performed in the same machine cycle.

項目605はステップS403(図4)において実行される排他的論理和演算の実行回数を示している。   An item 605 indicates the number of executions of the exclusive OR operation executed in step S403 (FIG. 4).

項目606はステップS404(図4)において実行される論理和演算の実行回数を示している。   An item 606 indicates the number of executions of the logical sum operation executed in step S404 (FIG. 4).

項目607はステップS405(図4)において実行されるメモリストアの回数を示している。   An item 607 indicates the number of memory stores executed in step S405 (FIG. 4).

図4に示したフローチャートにおいては、論理的に理解し易くするため、実際の実行順序を入れ替えて示している。マシンサイクルに対応させた場合、メモリコピーの実行処理においては、図6に示したタイムチャートのようにパイプライン処理される。   In the flowchart shown in FIG. 4, the actual execution order is changed for easy understanding logically. In the case of corresponding to the machine cycle, in the execution process of the memory copy, pipeline processing is performed as shown in the time chart shown in FIG.

項目603乃至607において、実行回数の同一番号は同一のメモリデータに対応している。   In items 603 to 607, the same number of execution times corresponds to the same memory data.

例えば、実行回数の1回目に着目すると、「1回目」は、マシンサイクル「1」に対応する項目603及び604、マシンサイクル「7」に対応する項目605及び607、マシンサイクル「8」に対応する項目606に示されている。すなわち、マシンサイクル「1」に対応する項目603及び604において1回目のメモリロードでメモリから読み出したデータは、マシンサイクル「7」にそれぞれ対応する項目605の1回目の排他的論理和演算と、項目607の1回目のメモリストアで使用され、マシンサイクル「8」に対応する項目606の1回目の論理和演算においては、マシンサイクル「7」に対応する項目605の1回目の排他的論理和演算の結果が使用される。   For example, when focusing on the first execution number, “first time” corresponds to items 603 and 604 corresponding to the machine cycle “1”, items 605 and 607 corresponding to the machine cycle “7”, and machine cycle “8”. This is shown in item 606. That is, in the items 603 and 604 corresponding to the machine cycle “1”, the data read from the memory by the first memory load is the first exclusive OR operation of the item 605 corresponding to the machine cycle “7”. In the first OR operation of the item 606 corresponding to the machine cycle “8” and used in the first memory store of the item 607, the first exclusive OR of the item 605 corresponding to the machine cycle “7” is used. The result of the operation is used.

同様に、実行回数の2回目に着目すると、「2回目」は、マシンサイクル「2」に対応する項目603及び604、マシンサイクル「8」に対応する項目605及び607、マシンサイクル「9」に対応する項目606に示されている。すなわち、マシンサイクル「2」に対応する項目603及び604において2回目のメモリロードでメモリから読み出したデータは、マシンサイクル「8」にそれぞれ対応する項目605の2回目の排他的論理和演算と、項目607の2回目のメモリストアで使用され、マシンサイクル「9」に対応する項目606の2回目の論理和演算においては、マシンサイクル「8」に対応する項目605の2回目の排他的論理和演算の結果が使用される。   Similarly, paying attention to the second execution number, “second” corresponds to items 603 and 604 corresponding to machine cycle “2”, items 605 and 607 corresponding to machine cycle “8”, and machine cycle “9”. A corresponding item 606 is shown. That is, in the items 603 and 604 corresponding to the machine cycle “2”, the data read from the memory by the second memory load is the second exclusive OR operation of the item 605 corresponding to the machine cycle “8”. In the second OR operation of the item 606 corresponding to the machine cycle “9” used in the second memory store of the item 607, the second exclusive OR of the item 605 corresponding to the machine cycle “8” is used. The result of the operation is used.

実行回数の「3回目」乃至「7回目」についても同様である。   The same applies to the “third” to “seventh” execution times.

以上のように、メモリロード(マスタ側)の実行回数、メモリロード(スレーブ側)の実行回数、排他的論理和演算の実行回数、論理和演算の実行回数、メモリストアの回数はマシンサイクルの番号に対応して実施される。   As described above, the number of executions of memory load (master side), the number of executions of memory load (slave side), the number of executions of exclusive OR operations, the number of executions of OR operations, and the number of memory stores are machine cycle numbers. It is implemented corresponding to.

このように、それぞれが同時に命令を実行可能なN個の命令実行ユニット102−1乃至102−Nを活用することにより、図6に示したようなメモリコピーのパイプライン処理を行うことが可能になる。   In this way, by utilizing the N instruction execution units 102-1 to 102-N, each capable of executing instructions simultaneously, it is possible to perform pipeline processing of memory copy as shown in FIG. Become.

なお、メモリコピー処理の実行処理においては、項目602乃至607は別々の命令実行ユニットで並列処理される。   In the execution process of the memory copy process, items 602 to 607 are processed in parallel by different instruction execution units.

図7はメモリコピーの処理分類を行う際のフローチャートである。   FIG. 7 is a flowchart when performing memory copy processing classification.

一般に、メモリコピーのデータ長、メモリコピー元のアドレス、メモリコピー先のアドレスには制限はない。従って、1サイクルのデータ長を1バイトにして、1バイト単位のメモリコピー処理を実行すれば論理的な矛盾は発生しないが、1バイト単位のメモリコピー処理を全てのケースで実行すると、性能的な問題が発生することが予測される。   In general, there is no limitation on the data length of the memory copy, the memory copy source address, and the memory copy destination address. Therefore, if the data length of one cycle is set to 1 byte and a memory copy process in units of 1 byte is executed, no logical contradiction occurs. However, if a memory copy process in units of 1 byte is executed in all cases, performance is improved. Is expected to occur.

このような性能的問題を回避するため、図7に示したフローチャートにより、メモリコピーの処理を分類している。   In order to avoid such performance problems, the memory copy processing is classified according to the flowchart shown in FIG.

先ず、メモリコピーのデータ長が8バイト以上であるか否かを判定する(ステップS701)。   First, it is determined whether or not the data length of the memory copy is 8 bytes or more (step S701).

メモリコピーのデータ長が8バイト未満である場合(ステップS701のNO)、メモリコピーのサイクル回数をメモリコピーのデータ長とする(ステップS702)。   When the memory copy data length is less than 8 bytes (NO in step S701), the memory copy cycle number is set as the memory copy data length (step S702).

次いで、メモリコピーの1サイクルのデータ長を1バイトに設定する(ステップS703)。   Next, the data length of one cycle of memory copy is set to 1 byte (step S703).

次いで、1バイト単位のメモリコピー処理を実行する(ステップS704)。   Next, a memory copy process in units of 1 byte is executed (step S704).

これにより、メモリコピー処理は終了する。   Thereby, the memory copy process ends.

メモリコピーのデータ長が8バイト以上である場合には(ステップS701のYES)、メモリコピーのサイクル回数を式(1)の商とし、次メモリコピーのデータ長を式(1)の余りとする(ステップS705)。   If the data length of the memory copy is 8 bytes or more (YES in step S701), the memory copy cycle number is the quotient of equation (1), and the data length of the next memory copy is the remainder of equation (1). (Step S705).

メモリコピーのデータ長÷8 (1)   Memory copy data length ÷ 8 (1)

次いで、メモリコピーの1サイクルのデータ長を8バイトに設定する(ステップS706)。   Next, the data length of one cycle of memory copy is set to 8 bytes (step S706).

次いで、8バイト単位のメモリコピー処理を実行する(ステップS707)。   Next, a memory copy process in units of 8 bytes is executed (step S707).

次いで、式(1)の余りとして設定した次メモリコピーのデータ長(ステップS705)が零か否かを判定する(ステップS708)。   Next, it is determined whether or not the data length (step S705) of the next memory copy set as the remainder of the equation (1) is zero (step S708).

次メモリコピーのデータ長が零である場合には(ステップS708のYES)、メモリコピー処理は終了する。   If the data length of the next memory copy is zero (YES in step S708), the memory copy process ends.

次メモリコピーのデータ長が零でない場合には(ステップS708のNO)、メモリコピーのサイクル回数を次メモリコピーのデータ長とする(ステップS709)。   If the data length of the next memory copy is not zero (NO in step S708), the memory copy cycle number is set as the data length of the next memory copy (step S709).

次いで、メモリコピーの1サイクルのデータ長を1バイトに設定する(ステップS710)。   Next, the data length of one cycle of memory copy is set to 1 byte (step S710).

次いで、1バイト単位のメモリコピー処理を実行する(ステップS711)。   Next, a memory copy process in units of 1 byte is executed (step S711).

これにより、メモリコピー処理は終了する。   Thereby, the memory copy process ends.

1バイト単位のメモリコピー処理(ステップS704)は、具体的には、図3乃至図5に示したフローチャートに従って、実行される。   Specifically, the one-byte unit memory copy process (step S704) is executed according to the flowcharts shown in FIGS.

また、8バイト単位のメモリコピー処理(ステップS707)は、具体的には、図3乃至図5に示したフローチャートに従って、実行される。   Further, the memory copy process in units of 8 bytes (step S707) is specifically executed according to the flowcharts shown in FIGS.

また、1バイト単位のメモリコピー処理(ステップS711)は、具体的には、図3乃至図5に示したフローチャートに従って、実行される。   Further, the memory copy processing in units of 1 byte (step S711) is specifically executed according to the flowcharts shown in FIGS.

メモリコピーのサイクル回数(図3のステップS304)及びメモリコピーの1サイクルのデータ長(図3のステップS305)は図7のフローチャートに示す各ステップにより決定される。   The number of memory copy cycles (step S304 in FIG. 3) and the data length of one cycle of memory copy (step S305 in FIG. 3) are determined by the steps shown in the flowchart of FIG.

以上のように、本実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100によれば、メモリコピー処理において、メモリ読み出しを二重化するとともに、プロセッサ102上においてこれら二つのデータが一致するか否かを判定しているので、データ化けを防止し、メモリコピー処理の信頼性の向上を図ることが可能である。   As described above, according to the data processing apparatus 100 including the register file 101 according to the present embodiment, in memory copy processing, memory reading is duplicated, and whether these two data match on the processor 102 or not. Therefore, it is possible to prevent data corruption and to improve the reliability of the memory copy process.

(第一の実施形態の変形例)
図8は、本発明の第一の実施形態に係るレジスタ・ファイル101を備えるデータ処理装置100の変形例であるデータ処理装置150のブロック図である。
(Modification of the first embodiment)
FIG. 8 is a block diagram of a data processing device 150 that is a modification of the data processing device 100 including the register file 101 according to the first embodiment of the present invention.

本変形例におけるデータ処理装置150は、第一の実施形態におけるデータ処理装置100と比較して、キャッシュメモリ104を追加的に備えている。   The data processing device 150 according to this modification additionally includes a cache memory 104 as compared with the data processing device 100 according to the first embodiment.

キャッシュメモリ104はプロセッサ102とメモリ103との間に接続されている。   The cache memory 104 is connected between the processor 102 and the memory 103.

キャッシュメモリ104はメモリ103に格納されているデータの一部を一時的に格納する。これにより、プロセッサ102からメモリ103へのアクセス性能を向上させることができる。   The cache memory 104 temporarily stores a part of the data stored in the memory 103. Thereby, the access performance from the processor 102 to the memory 103 can be improved.

(第二の実施形態)
図9は、本発明の第二の実施形態に係るレジスタ・ファイル200の構造を示すブロック図である。
(Second embodiment)
FIG. 9 is a block diagram showing the structure of the register file 200 according to the second embodiment of the present invention.

図9に示すように、本実施形態に係るレジスタ・ファイル200は、第一の実施形態に係るレジスタ・ファイル101を構成する第1乃至第9のレジスタ201乃至209に加えて、第1のレジスタ201及び第2のレジスタ202におけるアドレス計算を検証する第10のレジスタ210と、第3のレジスタ203におけるアドレス計算を検証する第11のレジスタ211と、を備えている。   As shown in FIG. 9, the register file 200 according to the present embodiment includes a first register in addition to the first to ninth registers 201 to 209 constituting the register file 101 according to the first embodiment. The tenth register 210 that verifies the address calculation in the 201 and the second register 202 and the eleventh register 211 that verifies the address calculation in the third register 203 are provided.

第10のレジスタ210及び第11のレジスタ211は、第1のレジスタ201、第2のレジスタ202及び第3のレジスタ203におけるアドレス計算が正しく実施されたか否かを検証するために使用される。   The tenth register 210 and the eleventh register 211 are used to verify whether the address calculation in the first register 201, the second register 202, and the third register 203 has been performed correctly.

第10のレジスタ210及び第11のレジスタ211を追加して備えている点を除いて、本実施形態に係るレジスタ・ファイル200は第一の実施形態に係るレジスタ・ファイル101と同一の構造を有しており、また、本実施形態に係るレジスタ・ファイル200を含むデータ処理装置も第一の実施形態に係るレジスタ・ファイル101を含むデータ処理装置100と同一の構造を有している。このため、第一の実施形態と同一の構成要素に対しては第一の実施形態における参照符号をそのまま用いる。   The register file 200 according to this embodiment has the same structure as that of the register file 101 according to the first embodiment except that a tenth register 210 and an eleventh register 211 are additionally provided. In addition, the data processing apparatus including the register file 200 according to the present embodiment has the same structure as the data processing apparatus 100 including the register file 101 according to the first embodiment. For this reason, the same reference numerals as those in the first embodiment are used for the same components as those in the first embodiment.

図10は、本実施形態に係るレジスタ・ファイル200を備えるデータ処理装置におけるメモリコピーの開始処理のフローチャートである。   FIG. 10 is a flowchart of the memory copy start process in the data processing apparatus including the register file 200 according to the present embodiment.

以下、図10を参照して、本実施形態に係るレジスタ・ファイル200を備えるデータ処理装置におけるメモリコピーの開始処理を説明する。   Hereinafter, a memory copy start process in the data processing apparatus including the register file 200 according to the present embodiment will be described with reference to FIG.

ステップS301乃至ステップS306までの各ステップは第一の実施形態の場合と同様に実施される。   Each step from step S301 to step S306 is performed in the same manner as in the first embodiment.

ステップS306に続けて、第10のレジスタ210にメモリコピー終了時のメモリコピー元のアドレスを格納する(ステップS307)。   Subsequent to step S306, the memory copy source address at the end of the memory copy is stored in the tenth register 210 (step S307).

具体的には、式(2)に示すように、第4のレジスタ204に格納されているデータと第5のレジスタ205に格納されているデータとの積と第1のレジスタ201に格納されているデータとの和を第10のレジスタ210に格納する。   Specifically, as shown in Expression (2), the product of the data stored in the fourth register 204 and the data stored in the fifth register 205 and the first register 201 The sum with the stored data is stored in the tenth register 210.

[第10のレジスタ]=
[第1のレジスタ]+[第4のレジスタ]×[第5のレジスタ] (2)
[Tenth register] =
[First register] + [fourth register] × [fifth register] (2)

次いで、第11のレジスタ211にメモリコピー終了時のメモリコピー先のアドレスを格納する(ステップS308)。   Next, the memory copy destination address at the end of the memory copy is stored in the eleventh register 211 (step S308).

具体的には、式(3)に示すように、第4のレジスタ204に格納されているデータと第5のレジスタ205に格納されているデータとの積と第3のレジスタ203に格納されているデータとの和を第11のレジスタ211に格納する。   Specifically, as shown in Expression (3), the product of the data stored in the fourth register 204 and the data stored in the fifth register 205 and the third register 203 are stored. The sum with the stored data is stored in the eleventh register 211.

[第11のレジスタ]=
[第3のレジスタ]+[第4のレジスタ]×[第5のレジスタ] (3)
[Eleventh register] =
[Third register] + [fourth register] × [fifth register] (3)

第10のレジスタ210及び第11のレジスタ211は、メモリコピー終了時にアドレスの更新が正しく実施されたか否かをチェックするために使用される。   The tenth register 210 and the eleventh register 211 are used for checking whether or not the address update is correctly performed at the end of the memory copy.

図11は、本実施形態に係るレジスタ・ファイル200を備えるデータ処理装置におけるメモリコピーの終了処理のフローチャートである。   FIG. 11 is a flowchart of the memory copy end process in the data processing apparatus including the register file 200 according to the present embodiment.

図11に示す各ステップは図4に示したステップの後に実行される。   Each step shown in FIG. 11 is executed after the step shown in FIG.

以下、図11を参照して、本実施形態に係るレジスタ・ファイル200を備えるデータ処理装置におけるメモリコピーの終了処理を説明する。   Hereinafter, with reference to FIG. 11, a memory copy end process in the data processing apparatus including the register file 200 according to the present embodiment will be described.

先ず、第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致するか否かを判定する(ステップS501)。   First, it is determined whether or not the content stored in the first register 201 matches the content stored in the second register 202 (step S501).

第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致していない場合には(ステップS501のNO)、ハードウェア障害が発生しており、メモリコピー処理が信頼できないことを示している。このため、障害処理を行う(ステップS505)。   If the contents stored in the first register 201 and the contents stored in the second register 202 do not match (NO in step S501), a hardware failure has occurred and the memory copy has occurred. Indicates that the process is not reliable. For this reason, failure processing is performed (step S505).

第1のレジスタ201に格納されている内容と第2のレジスタ202に格納されている内容とが一致している場合には(ステップS501のYES)、第2のレジスタ202に格納されている内容と第10のレジスタ210に格納されている内容とが一致するか否かを判定する(ステップS502)。   If the content stored in the first register 201 matches the content stored in the second register 202 (YES in step S501), the content stored in the second register 202 And whether the content stored in the tenth register 210 matches (step S502).

第2のレジスタ202に格納されている内容と第10のレジスタ210に格納されている内容とが一致していない場合には(ステップS502のNO)、ハードウェア障害が発生しており、メモリコピー処理が信頼できないことを示している。このため、障害処理を行う(ステップS505)。   If the contents stored in the second register 202 do not match the contents stored in the tenth register 210 (NO in step S502), a hardware failure has occurred and the memory copy has occurred. Indicates that the process is not reliable. For this reason, failure processing is performed (step S505).

第2のレジスタ202に格納されている内容と第10のレジスタ210に格納されている内容とが一致している場合には(ステップS502のYES)、第3のレジスタ203に格納されている内容と第11のレジスタ211に格納されている内容とが一致するか否かを判定する(ステップS503)。   If the content stored in the second register 202 matches the content stored in the tenth register 210 (YES in step S502), the content stored in the third register 203 And whether or not the contents stored in the eleventh register 211 match (step S503).

第3のレジスタ203に格納されている内容と第11のレジスタ211に格納されている内容とが一致していない場合には(ステップS503のNO)、ハードウェア障害が発生しており、メモリコピー処理が信頼できないことを示している。このため、障害処理を行う(ステップS505)。   If the contents stored in the third register 203 and the contents stored in the eleventh register 211 do not match (NO in step S503), a hardware failure has occurred and the memory copy has occurred. Indicates that the process is not reliable. For this reason, failure processing is performed (step S505).

第3のレジスタ203に格納されている内容と第11のレジスタ211に格納されている内容とが一致している場合には(ステップS503のYES)、第9のレジスタ209に格納されている内容が零か否かを判定する(ステップS504)。   When the content stored in the third register 203 matches the content stored in the eleventh register 211 (YES in step S503), the content stored in the ninth register 209 Whether or not is zero is determined (step S504).

第9のレジスタ209に格納されている内容が零ではない場合(ステップS504のNO)、メモリ読み出し二重化チェックにおいて、ハードウェア障害が発生したことを示している。このため、障害処理を行う(ステップS505)。   If the content stored in the ninth register 209 is not zero (NO in step S504), it indicates that a hardware failure has occurred in the memory read redundancy check. For this reason, failure processing is performed (step S505).

第9のレジスタ209に格納されている内容が零である場合(ステップS504のYES)、メモリコピー処理は正常に終了する。   If the content stored in the ninth register 209 is zero (YES in step S504), the memory copy process ends normally.

以上のように、本実施形態に係るレジスタ・ファイル200によれば、第1のレジスタ201、第2のレジスタ202及び第3のレジスタ203におけるアドレス計算の検証を行う第10のレジスタ210及び第11のレジスタ211を備えているため、メモリコピー処理の信頼性の向上を図ることができる。   As described above, according to the register file 200 according to this embodiment, the tenth register 210 and the eleventh register that verify the address calculation in the first register 201, the second register 202, and the third register 203. Therefore, the reliability of the memory copy process can be improved.

本発明の第一の実施形態に係るレジスタ・ファイルを備えたデータ処理装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the data processor provided with the register file which concerns on 1st embodiment of this invention. 本発明の第一の実施形態に係るレジスタ・ファイルの構造を示すブロック図である。It is a block diagram which shows the structure of the register file which concerns on 1st embodiment of this invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置におけるメモリコピーの開始処理のフローチャートである。It is a flowchart of the memory copy start process in a data processor provided with the register file which concerns on 1st embodiment of this invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置におけるメモリコピーの実行処理のフローチャートである。It is a flowchart of the execution process of memory copy in a data processor provided with the register file which concerns on 1st embodiment of this invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置におけるメモリコピーの終了処理のフローチャートである。4 is a flowchart of a memory copy end process in the data processing apparatus including the register file according to the first embodiment of the present invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置において、メモリコピーのパイプライン処理を行う場合のタイムチャートである。It is a time chart in the case of performing a memory copy pipeline process in the data processing apparatus including the register file according to the first embodiment of the present invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置において、メモリコピーの処理分類を行う際のフローチャートである。It is a flowchart at the time of performing the processing classification of a memory copy in a data processor provided with a register file concerning a first embodiment of the present invention. 本発明の第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置の変形例であるデータ処理装置のブロック図である。It is a block diagram of a data processor which is a modification of a data processor provided with a register file concerning a first embodiment of the present invention. 本発明の第二の実施形態に係るレジスタ・ファイルの構造を示すブロック図である。It is a block diagram which shows the structure of the register file which concerns on 2nd embodiment of this invention. 本発明の第二の実施形態に係るレジスタ・ファイルを備えるデータ処理装置におけるメモリコピーの開始処理のフローチャートである。It is a flowchart of the memory copy start process in a data processing apparatus provided with the register file which concerns on 2nd embodiment of this invention. 本発明の第二の実施形態に係るレジスタ・ファイルを備えるデータ処理装置におけるメモリコピーの終了処理のフローチャートである。It is a flowchart of the end process of memory copy in a data processor provided with the register file which concerns on 2nd embodiment of this invention.

符号の説明Explanation of symbols

100 第一の実施形態に係るレジスタ・ファイルを備えるデータ処理装置
101 第一の実施形態に係るレジスタ・ファイル
102 プロセッサ
102−1乃至102−N 命令実行ユニット
103 メモリ
104 キャッシュメモリ
150 変形例に係るデータ処理装置
200 第二の実施形態に係るレジスタ・ファイル
100 Data processing apparatus 101 including register file according to first embodiment Register file 102 according to first embodiment Processor 102-1 to 102-N Instruction execution unit 103 Memory 104 Cache memory 150 Data according to modification Processing device 200 Register file according to second embodiment

Claims (16)

コピー元に記憶されているデータを前記コピー元からコピー先にコピーするメモリコピー用レジスタ・ファイルであって、
前記コピー元のアドレスをそれぞれ記憶する第1のレジスタ及び第2のレジスタと、
前記コピー先のアドレスを記憶する第3のレジスタと、
前記データの転送サイクル数を記憶する第4のレジスタと、
前記データの1サイクルでの転送データ長を記憶する第5のレジスタと、
前記第1のレジスタにおいて記憶された前記アドレスを介して読み出されたデータを格納する第6のレジスタと、
前記第2のレジスタにおいて記憶された前記アドレスを介して読み出されたデータを格納する第7のレジスタと、
前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を格納する第8のレジスタと、
前記第8のレジスタに格納された排他的論理和と自レジスタが格納している値との論理和を格納する第9のレジスタと、
を備えるレジスタ・ファイル。
A memory copy register file for copying data stored in a copy source from the copy source to a copy destination,
A first register and a second register for respectively storing the copy source addresses;
A third register for storing the address of the copy destination;
A fourth register for storing the number of data transfer cycles;
A fifth register for storing a transfer data length in one cycle of the data;
A sixth register for storing data read via the address stored in the first register;
A seventh register for storing data read via the address stored in the second register;
An eighth register for storing an exclusive OR of the data stored in the sixth register and the data stored in the seventh register;
A ninth register for storing a logical sum of the exclusive OR stored in the eighth register and the value stored in the register;
A register file with
前記第1のレジスタ及び前記第2のレジスタにおけるアドレス計算が正しく実施されたか否かを検証する第10のレジスタをさらに備えることを特徴とする請求項1に記載のレジスタ・ファイル。 The register file according to claim 1, further comprising a tenth register for verifying whether address calculation in the first register and the second register is correctly performed. 前記第3のレジスタにおけるアドレス計算が正しく実施されたか否かを検証する第11のレジスタをさらに備えることを特徴とする請求項1または2に記載のレジスタ・ファイル。 3. The register file according to claim 1, further comprising an eleventh register for verifying whether the address calculation in the third register is correctly performed. 請求項1乃至3の何れか一項に記載されたレジスタ・ファイルと、
それぞれが同時に命令を実行可能な少なくとも二つの命令実行ユニットを備え、前記レジスタ・ファイルと接続されているプロセッサと、
前記プロセッサと接続されているメモリと、
を備えるデータ処理装置。
A register file as claimed in any one of claims 1 to 3;
A processor comprising at least two instruction execution units each capable of executing instructions simultaneously and connected to the register file;
A memory connected to the processor;
A data processing apparatus comprising:
前記プロセッサと前記メモリとの間に接続され、前記メモリに格納されているデータの一部を一時的に格納するキャッシュメモリをさらに備えることを特徴とする請求項4に記載のデータ処理装置。 The data processing apparatus according to claim 4, further comprising a cache memory connected between the processor and the memory and temporarily storing a part of data stored in the memory. 前記第1のレジスタにおけるメモリロードの実行回数、前記第2のレジスタにおけるメモリロードの実行回数、前記第8のレジスタにおける排他的論理和演算の実行回数及び前記第9のレジスタにおける論理和演算の実行回数はマシンサイクルの番号に対応して実施されることを特徴とする請求項4または5に記載のデータ処理装置。 Number of executions of memory load in the first register, number of executions of memory load in the second register, number of executions of exclusive OR operation in the eighth register, and execution of OR operation in the ninth register 6. The data processing apparatus according to claim 4, wherein the number of times is executed corresponding to a machine cycle number. 請求項1乃至3の何れか一項に記載されたレジスタ・ファイルにおいて、
前記第1のレジスタ及び前記第2のレジスタに格納されたアドレスを使用して、前記第6のレジスタ及び前記第7のレジスタに前記コピー元から読み出したデータを格納する二つのメモリロードを実行する第一の過程と、
前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を第8のレジスタに格納する第二の過程と、
前記第8のレジスタに格納された前記排他的論理和と前記第9のレジスタに格納された値との論理和を前記第9のレジスタに格納する第三の過程と、
前記第3のレジスタに格納されたアドレスを使用して、前記第6のレジスタに格納されたデータを前記コピー先に格納するメモリストアを実行する第四の過程と、
を備えるコピー元に記憶されているデータを前記コピー元から前記コピー先にコピーする方法。
In the register file according to any one of claims 1 to 3,
Two memory loads for storing data read from the copy source in the sixth register and the seventh register are executed using the addresses stored in the first register and the second register. The first process and
A second step of storing an exclusive OR of the data stored in the sixth register and the data stored in the seventh register in the eighth register;
A third step of storing a logical sum of the exclusive OR stored in the eighth register and a value stored in the ninth register in the ninth register;
A fourth step of executing a memory store for storing the data stored in the sixth register in the copy destination using the address stored in the third register;
A method of copying data stored in a copy source comprising the copy source to the copy destination.
前記第1のレジスタ、前記第2のレジスタ及び前記第3のレジスタに格納されたアドレスは、前記第一の過程乃至前記第四の過程の1サイクルにおいて前記コピー先に格納されたデータ長だけ加算する第五の過程と、
前記第4のレジスタに格納されたサイクル回数から1を減算する第六の過程と、
前記第六の過程における減算により前記第4のレジスタに格納されたサイクル回数が零になるまで前記第一の過程乃至第六の過程を繰り返す第七の過程と、
をさらに備え、
前記第五乃至第七の過程は前記第四の過程後に実行されることを特徴とする請求項7に記載の方法。
The addresses stored in the first register, the second register, and the third register are added by the data length stored in the copy destination in one cycle of the first process to the fourth process. And the fifth process
A sixth step of subtracting 1 from the number of cycles stored in the fourth register;
A seventh process of repeating the first to sixth processes until the number of cycles stored in the fourth register becomes zero by subtraction in the sixth process;
Further comprising
The method according to claim 7, wherein the fifth to seventh processes are performed after the fourth process.
前記第1のレジスタにメモリコピー元の先頭アドレスを格納する第八の過程と、
前記第2のレジスタにメモリコピー元の先頭アドレスを格納する第九の過程と、
前記第3のレジスタにメモリコピー先の先頭アドレスを格納する第十の過程と、
前記第5のレジスタにメモリコピーの1サイクルのデータ長を格納する第十一の過程と、
前記第9のレジスタにゼロを格納する第十二の過程と、
をさらに備え、
前記第九乃至第十二の過程は前記第一の過程前に実行されることを特徴とする請求項7または8に記載の方法。
An eighth step of storing the first address of the memory copy source in the first register;
A ninth step of storing the start address of the memory copy source in the second register;
A tenth step of storing the start address of the memory copy destination in the third register;
An eleventh step of storing the data length of one cycle of memory copy in the fifth register;
A twelfth process of storing zero in the ninth register;
Further comprising
The method according to claim 7 or 8, wherein the ninth to twelfth processes are performed before the first process.
前記第4のレジスタにメモリコピーのサイクル回数を格納する第十三の過程をさらに備え、前記第十三の過程は前記第十の過程と前記第十一の過程との間に実行されることを特徴とする請求項9に記載の方法。 A thirteenth process of storing the number of memory copy cycles in the fourth register, wherein the thirteenth process is executed between the tenth process and the eleventh process; The method according to claim 9. 前記第1のレジスタ及び前記第2のレジスタにおけるアドレス計算が正しく実施されたか否かを検証する過程をさらに備えることを特徴とする請求項7乃至10の何れか一項に記載の方法。 The method according to any one of claims 7 to 10, further comprising verifying whether the address calculation in the first register and the second register is correctly performed. 前記第3のレジスタにおけるアドレス計算が正しく実施されたか否かを検証する過程をさらに備えることを特徴とする請求項7乃至11の何れか一項に記載の方法。 12. The method according to claim 7, further comprising verifying whether the address calculation in the third register is correctly performed. 前記データ長は、
メモリコピーのデータ長が予め定められたバイト数であるNバイト以上であるか否かを判定する過程と、
メモリコピーのデータ長がNバイト未満である場合に、メモリコピーのサイクル回数をメモリコピーのデータ長とする過程と、
メモリコピーの1サイクルのデータ長を1バイトに設定する過程と、
によって定められるものであることを特徴とする請求項9乃至12の何れか一項に記載の方法。
The data length is
Determining whether or not the data length of the memory copy is greater than or equal to N bytes, which is a predetermined number of bytes;
When the memory copy data length is less than N bytes, the process of setting the memory copy cycle number to the memory copy data length;
The process of setting the data length of one cycle of memory copy to 1 byte;
The method according to claim 9, wherein the method is defined by:
前記データ長は、
メモリコピーのデータ長が予め定められたバイト数であるNバイト以上であるか否かを判定する過程と、
メモリコピーのデータ長がNバイト以上である場合に、メモリコピーのサイクル回数を式(1)の商とし、次メモリコピーのデータ長を式(1)の余りとする過程と、
メモリコピーのデータ長÷N (1)
メモリコピーの1サイクルのデータ長をNバイトに設定する過程と、
により定められるものであり、
Nバイト単位のメモリコピー処理を実行する過程と、
次メモリコピーのデータ長が零か否かを判定する過程と、
次メモリコピーのデータ長が零である場合に、メモリコピー処理を終了する過程と、
をさらに備えることを特徴とする請求項7乃至12の何れか一項に記載の方法。
The data length is
Determining whether or not the data length of the memory copy is greater than or equal to N bytes, which is a predetermined number of bytes;
When the data length of the memory copy is N bytes or more, the process of setting the number of memory copy cycles as the quotient of equation (1) and the data length of the next memory copy as the remainder of equation (1);
Memory copy data length ÷ N (1)
Setting the data length of one cycle of memory copy to N bytes;
Is defined by
A process of executing a memory copy process in units of N bytes;
Determining whether the data length of the next memory copy is zero,
The process of ending the memory copy process when the data length of the next memory copy is zero,
The method according to claim 7, further comprising:
前記データ長は、
メモリコピーのデータ長が予め定められたバイト数であるNバイト以上であるか否かを判定する過程と、
メモリコピーのデータ長がNバイト以上である場合に、メモリコピーのサイクル回数を式(1)の商とし、次メモリコピーのデータ長を式(1)の余りとする過程と、
メモリコピーのデータ長÷N (1)
メモリコピーの1サイクルのデータ長をNバイトに設定する過程と、
Nバイト単位のメモリコピー処理を実行する過程と、
次メモリコピーのデータ長が零か否かを判定する過程と、
次メモリコピーのデータ長が零でない場合に、メモリコピーのサイクル回数を次メモリコピーのデータ長とする過程と、
メモリコピーの1サイクルのデータ長を1バイトに設定する過程と、
によって定められるものであることを特徴とする請求項7乃至12の何れか一項に記載の方法。
The data length is
Determining whether or not the data length of the memory copy is greater than or equal to N bytes, which is a predetermined number of bytes;
When the data length of the memory copy is N bytes or more, the process of setting the number of memory copy cycles as the quotient of equation (1) and the data length of the next memory copy as the remainder of equation (1);
Memory copy data length ÷ N (1)
Setting the data length of one cycle of memory copy to N bytes;
A process of executing a memory copy process in units of N bytes;
Determining whether the data length of the next memory copy is zero,
When the data length of the next memory copy is not zero, the process of setting the number of memory copy cycles to the data length of the next memory copy,
The process of setting the data length of one cycle of memory copy to 1 byte;
The method according to claim 7, wherein the method is defined by:
請求項1乃至3の何れか一項に記載されたレジスタ・ファイルにおいて、コピー元に記憶されているデータを前記コピー元から前記コピー先にコピーする方法をコンピュータに実行させるためのプログラムであって、
前記プログラムが行う処理は、
前記第1のレジスタ及び前記第2のレジスタに格納されたアドレスを使用して、前記第6のレジスタ及び前記第7のレジスタに前記コピー元から読み出したデータを格納する二つのメモリロードを実行する第一の処理と、
前記第6のレジスタに格納されたデータと前記第7のレジスタに格納されたデータとの排他的論理和を第8のレジスタに格納する第二の処理と、
前記第8のレジスタに格納された前記排他的論理和と前記第9のレジスタに格納された値との論理和を前記第9のレジスタに格納する第三の処理と、
前記第3のレジスタに格納されたアドレスを使用して、前記第6のレジスタに格納されたデータを前記コピー先に格納するメモリストアを実行する第四の処理と、
からなるものであるプログラム。
A program for causing a computer to execute a method of copying data stored in a copy source from the copy source to the copy destination in the register file according to any one of claims 1 to 3. ,
The processing performed by the program is as follows:
Two memory loads for storing data read from the copy source in the sixth register and the seventh register are executed using the addresses stored in the first register and the second register. The first process,
A second process of storing an exclusive OR of the data stored in the sixth register and the data stored in the seventh register in the eighth register;
A third process of storing a logical sum of the exclusive OR stored in the eighth register and a value stored in the ninth register in the ninth register;
A fourth process for executing a memory store for storing the data stored in the sixth register in the copy destination using the address stored in the third register;
A program that consists of:
JP2008086375A 2008-03-28 2008-03-28 Data processing apparatus Pending JP2009238132A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008086375A JP2009238132A (en) 2008-03-28 2008-03-28 Data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008086375A JP2009238132A (en) 2008-03-28 2008-03-28 Data processing apparatus

Publications (1)

Publication Number Publication Date
JP2009238132A true JP2009238132A (en) 2009-10-15

Family

ID=41251948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008086375A Pending JP2009238132A (en) 2008-03-28 2008-03-28 Data processing apparatus

Country Status (1)

Country Link
JP (1) JP2009238132A (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158688A (en) * 1991-12-10 1993-06-25 Fujitsu Ltd Memory access device
JPH05165737A (en) * 1991-12-17 1993-07-02 Nec Eng Ltd Memory test system
JPH05265789A (en) * 1992-03-19 1993-10-15 Fujitsu Ltd Memory copy system
JPH11110215A (en) * 1997-10-03 1999-04-23 Keisuke Shindo Information processor using multi thread program
JPH11175408A (en) * 1997-12-05 1999-07-02 Fujitsu Ltd Information processing device
JP2001134538A (en) * 1999-11-05 2001-05-18 Ricoh Co Ltd Signal processing device
JP2001256105A (en) * 2000-02-18 2001-09-21 Texas Instr Inc <Ti> Microprocessor using unaligned circulation address specification
JP2001290710A (en) * 2000-04-10 2001-10-19 Toshiba Corp Data error detection device
JP2003167730A (en) * 2001-12-03 2003-06-13 Hitachi Ltd Instruction set variable microprocessor
JP2004157795A (en) * 2002-11-07 2004-06-03 Hitachi Ltd Dual computer and its shared data matching method
JP2007257547A (en) * 2006-03-24 2007-10-04 Toshiba Corp Memory system and bus splitter

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05158688A (en) * 1991-12-10 1993-06-25 Fujitsu Ltd Memory access device
JPH05165737A (en) * 1991-12-17 1993-07-02 Nec Eng Ltd Memory test system
JPH05265789A (en) * 1992-03-19 1993-10-15 Fujitsu Ltd Memory copy system
JPH11110215A (en) * 1997-10-03 1999-04-23 Keisuke Shindo Information processor using multi thread program
JPH11175408A (en) * 1997-12-05 1999-07-02 Fujitsu Ltd Information processing device
JP2001134538A (en) * 1999-11-05 2001-05-18 Ricoh Co Ltd Signal processing device
JP2001256105A (en) * 2000-02-18 2001-09-21 Texas Instr Inc <Ti> Microprocessor using unaligned circulation address specification
JP2001290710A (en) * 2000-04-10 2001-10-19 Toshiba Corp Data error detection device
JP2003167730A (en) * 2001-12-03 2003-06-13 Hitachi Ltd Instruction set variable microprocessor
JP2004157795A (en) * 2002-11-07 2004-06-03 Hitachi Ltd Dual computer and its shared data matching method
JP2007257547A (en) * 2006-03-24 2007-10-04 Toshiba Corp Memory system and bus splitter

Similar Documents

Publication Publication Date Title
US8732550B2 (en) Processor and error correcting method
US8196110B2 (en) Method and apparatus for verifying a suspect return pointer in a stack
CN108140011B (en) vector load instruction
CN108139907A (en) Vector data send instructions
US7840874B2 (en) Speculative cache tag evaluation
US20100017581A1 (en) Low overhead atomic memory operations
US20140149800A1 (en) Test method and test control apparatus
TWI670648B (en) Method and apparatus for supporting wide operations using atomic sequences
CN101847096A (en) Optimization method of stack variable-containing function
US5553232A (en) Automated safestore stack generation and move in a fault tolerant central processor
CN116670652A (en) Providing host-based error detection capability in a remote execution device
US5276862A (en) Safestore frame implementation in a central processor
JPS59231652A (en) Memory access overlap detection method
WO1995034855A2 (en) Automated safestore stack generation and move in a fault tolerant central processor
EP0645708B1 (en) Store &#34;UNDO&#34; for cache store error recovery
CN116382958A (en) Memory error processing method and computing device
US20090217135A1 (en) Method, system, and computer program product for address generation checking
US20060235894A1 (en) Disambiguating globally unique identifiers after duplication
JP2009238132A (en) Data processing apparatus
Hsiao et al. The carry-dependent sum adder
CN104239001A (en) Operand generation in at least one processing pipeline
CN110161835A (en) The method and apparatus of the data model in system for calculating safety-critical
CN114896179B (en) Memory page copying method and device, computing equipment and readable storage medium
US9021234B2 (en) Indirect designation of physical configuration number as logical configuration number based on correlation information, within parallel computing
JP4382128B2 (en) Information processing apparatus and error calculation detection method thereof

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130917