JPWO2006129356A1 - Information processing apparatus and error calculation detection method thereof - Google Patents

Information processing apparatus and error calculation detection method thereof Download PDF

Info

Publication number
JPWO2006129356A1
JPWO2006129356A1 JP2007518829A JP2007518829A JPWO2006129356A1 JP WO2006129356 A1 JPWO2006129356 A1 JP WO2006129356A1 JP 2007518829 A JP2007518829 A JP 2007518829A JP 2007518829 A JP2007518829 A JP 2007518829A JP WO2006129356 A1 JPWO2006129356 A1 JP WO2006129356A1
Authority
JP
Japan
Prior art keywords
bit
bit register
register
value
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007518829A
Other languages
Japanese (ja)
Other versions
JP4382128B2 (en
Inventor
渡邊 高志
高志 渡邊
大河内 俊夫
俊夫 大河内
遠藤 隆
隆 遠藤
俊介 大田
俊介 大田
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Publication of JPWO2006129356A1 publication Critical patent/JPWO2006129356A1/en
Application granted granted Critical
Publication of JP4382128B2 publication Critical patent/JP4382128B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • G06F11/167Error detection by comparing the memory output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Hardware Redundancy (AREA)

Abstract

スマートカードやGSMモバイルホンで用いられるICチップの耐タンパー性を高めるための装置および方法に関する。特に、ICチップの内部で実行される演算において、ユーザーが使用可能なレジスタサイズをリアルタイムに制限することによって、物理メモリを追加せずとも動的に誤演算を検出できるように演算系に変化させる。本発明の情報処理装置は、演算に用いる汎用レジスタのサイズを制限することによってその値のコピーを複数もち、かつ、演算器によってこれら複数の値を同時に処理し、結果の値を検査することによって、外乱による演算器の誤演算の検出をおこなう。The present invention relates to an apparatus and method for improving tamper resistance of an IC chip used in a smart card or a GSM mobile phone. In particular, in operations executed inside the IC chip, by limiting the register size that can be used by the user in real time, the calculation system is changed so that erroneous operations can be dynamically detected without adding physical memory. . The information processing apparatus of the present invention has a plurality of copies of the value by limiting the size of the general-purpose register used for the operation, and simultaneously processes the plurality of values by the arithmetic unit, and checks the resulting value Detects the erroneous operation of the arithmetic unit due to disturbance.

Description

本発明は、情報処理装置、および、その誤演算検出方法に係り、特に、個人認証、課金処理をおこなうため耐タンパ性を有し、高いセキュリティを要するスマートカードやGSMモバイルホンなどで用いられるICチップなどに用いて好適な情報処理装置、および、その誤演算検出方法に関する。   The present invention relates to an information processing apparatus and an error calculation detection method thereof, and more particularly, an IC used for smart cards, GSM mobile phones, and the like that have tamper resistance and perform high security for performing personal authentication and billing processing. The present invention relates to an information processing apparatus suitable for use in a chip and the like, and an erroneous calculation detection method thereof.

マイコンは、外部から入力するクロック信号と電力によって動作する。クロック信号や電力が期待通りに供給されていれば、演算が正しくおこなわれるように設計されている。しかし、クロック信号や電力が不安定である場合、必ずしも期待された演算を完了できるとは限らない。また、そのような不安定な状態を故意に作り出して誤演算を発生させ、以下の非特許文献1に示されるような手法で暗号を解読しようとする攻撃方法が知られている。そのため、暗号処理をおこなうモジュールにおいては、特に、誤演算が発生しないか、発生しても検出することができるように構成することが望ましいといえる。   The microcomputer operates with a clock signal and power input from the outside. If the clock signal and power are supplied as expected, it is designed to perform the calculation correctly. However, when the clock signal and power are unstable, the expected calculation cannot always be completed. Also, an attack method is known in which such an unstable state is intentionally created to generate an erroneous operation, and an attempt is made to decipher the cipher by a method as shown in Non-Patent Document 1 below. Therefore, it can be said that a module that performs cryptographic processing is particularly preferably configured so that no erroneous operation occurs or can be detected even if it occurs.

特開2001−306346号公報JP 2001-306346 A "On the Importance of Checking Cryptographic Protocols for Faults," Proc. of EUROCRYPT'97, Lecture Notes in Computer Science, Advances in Cryptology, pp.37-51, 1997."On the Importance of Checking Cryptographic Protocols for Faults," Proc. Of EUROCRYPT'97, Lecture Notes in Computer Science, Advances in Cryptology, pp.37-51, 1997.

以下、一般的なマイコンのプロセッサの構成と誤演算の関係について説明する。   Hereinafter, the relationship between the configuration of a general microcomputer processor and an erroneous operation will be described.

マイコンが搭載するプロセッサは、複数のレジスタと、レジスタ間の演算をおこなうための算術および論理演算ユニット(Arithmetic Logical Unit、以下「ALU」と記述する)を備えている。レジスタは、ソフトウェアから、8ビット、16ビット、32ビットといった単位でアクセスすることのできる一時記憶装置であり、一般的には、R0,R1,…,R31 のように命名され区別されている。ALUは、指定されたレジスタ間の演算をおこない、指定されたレジスタに演算結果を出力する。どのような演算をおこなうかは、機械語によって指示される。機械語は、実装面積の効率化を目的として、冗長性をほとんど持たないように定義されていることが多い。そのため、人間が直接理解することは困難である。そこで、演算は、アセンブラなどの人間が理解できる言語で記述され、コンパイラによってプロセッサが解釈することのできる機械語へと翻訳される。例えば、「add R0, R1」は、アセンブラによって記述した演算の例である。この記述は、レジスタR0とR1の値を加算し、その結果をR1に保存することを意味している。プロセッサが内部でおこなう演算の手順をより詳細に記述すると、以下のようになる。

step 1. R0を読み出し、加算器の入力1として設定する。
step 2. R1を読み出し、加算器の入力2として設定する。
step 3. 加算器を動作させ、入力1と入力2の加算結果を得る。
step 4. 加算結果を、R1に書き込む。
A processor mounted on a microcomputer includes a plurality of registers and an arithmetic and logical operation unit (hereinafter referred to as “ALU”) for performing an operation between the registers. The register is a temporary storage device that can be accessed by software in units of 8 bits, 16 bits, 32 bits, and is generally named and distinguished as R0, R1,..., R31. The ALU performs an operation between designated registers, and outputs an operation result to the designated register. What kind of calculation is performed is instructed by a machine language. Machine language is often defined to have little redundancy for the purpose of improving the mounting area. Therefore, it is difficult for humans to understand directly. Therefore, the operation is described in a language that can be understood by humans such as an assembler, and is translated into a machine language that can be interpreted by the processor by a compiler. For example, “add R0, R1” is an example of an operation described by an assembler. This description means that the values of registers R0 and R1 are added and the result is stored in R1. A detailed description of the procedure of operations performed internally by the processor is as follows.

step 1. Read R0 and set as input 1 of the adder.
step 2. Read R1 and set as input 2 of the adder.
step 3. Operate the adder and obtain the addition result of input 1 and input 2.
step 4. Write the addition result to R1.

よって、本記述による加算命令を実行した後、レジスタR1は以前の値を破棄し、新しい結果を保持することになる。なお、入力値となる2つのレジスタに加えて、出力先の別のレジスタ名を指示することで、入力値を破棄しないように構成する場合もある。   Therefore, after executing the addition instruction according to this description, the register R1 discards the previous value and holds the new result. In some cases, the input value may not be discarded by designating another register name of the output destination in addition to the two registers serving as input values.

ここで、誤演算が発生する場合のメカニズムは以下のように考えられる。レジスタR0, R1に記憶されている値をそれぞれr0, r1と記述する。たとえば、上記step 1においてR0の読み出し処理が誤れば、値r0ではなく、誤りを含む値r0′が読み出される。この場合、step 3で加算器が処理する値は、本来意図したr0とr1ではなく、r0′とr1である。よって、step 4でR1に書き込まれる値は、r0+r1ではなくr0′+r1となる。step 2においてR1の読み出し処理が誤った場合も同様の結果となる。また、R0、R1の読み出し処理が正しくおこなわれたとしても、step 3での加算処理が誤れば、step 4でR1に書き込まれる値は、本来期待された値とは異なるものになる。さらには、step 4でR1への書き込み処理が誤れば、R1が保持する値はやはり、本来期待された値とは異なるものになる。   Here, the mechanism when an erroneous operation occurs is considered as follows. The values stored in the registers R0 and R1 are described as r0 and r1, respectively. For example, if the reading process of R0 is incorrect in step 1, not the value r0 but the value r0 ′ including the error is read. In this case, the values processed by the adder at step 3 are not originally intended r0 and r1, but r0 ′ and r1. Therefore, the value written to R1 in step 4 is not r0 + r1, but r0 ′ + r1. The same result is obtained when the read processing of R1 is incorrect in step 2. Even if the read processing of R0 and R1 is performed correctly, if the addition processing at step 3 is incorrect, the value written to R1 at step 4 will be different from the originally expected value. Furthermore, if the writing process to R1 is incorrect in step 4, the value held by R1 is still different from the originally expected value.

誤演算の有無を検査する基本的な方法として、複数回同一の演算を繰り返し、その結果が一致しているかどうかを検査する方法が挙げられる。これら複数回の演算は、ひとつのプロセッサを複数回動作させる方法でおこなう場合や、複数のプロセッサを用いて並列におこなう場合が考えられる。ただし、ひとつのプロセッサによって2回以上の繰り返し演算をおこなう方法では処理時間が少なくとも2倍に増加し、複数のプロセッサを用いる方法では、回路が複雑化し実装面積が少なくとも2倍に増加する。そのため、スマートカードのような、パーソナルコンピューターなどと比較して、計算能力が必ずしも高くなく、実装可能面積が制限される小型のデバイスには適用が困難である。   As a basic method for inspecting whether or not there is an erroneous operation, there is a method in which the same operation is repeated a plurality of times and whether or not the results match is inspected. These multiple calculations may be performed by a method in which one processor is operated multiple times, or may be performed in parallel using a plurality of processors. However, in the method of performing the repetitive calculation twice or more with one processor, the processing time is increased at least twice, and in the method using a plurality of processors, the circuit is complicated and the mounting area is increased at least twice. Therefore, it is difficult to apply to a small device such as a smart card, which does not necessarily have a high calculation capability as compared with a personal computer or the like and whose mountable area is limited.

この課題を解決するための従来の方法として、上記特許文献1が挙げられる。   As a conventional method for solving this problem, Patent Document 1 is cited.

以下、図2を用いて特許文献1に係る演算処理装置の処理の概要について説明する。
図2は、特許文献1に係る演算処理装置の構成を示すブロック図である。
Hereinafter, the outline of the processing of the arithmetic processing apparatus according to Patent Document 1 will be described with reference to FIG.
FIG. 2 is a block diagram showing the configuration of the arithmetic processing apparatus according to Patent Document 1. As shown in FIG.

この演算処理装置では、まず、従来ある2nビットの演算器30を、2つのnビット演算器31と32に分離して独立に使用することができるように構成している。誤演算を検出したい場合は、選択信号150と151によって、2nビットレジスタのうち、下位nビット10および12のコピーを作成した後に、前記の2つのnビット演算器31と32でそれぞれ演算する。結果を格納するレジスタ14と15の内容が一致することを比較器41で確認することで、誤演算の有無を検査し、その結果を出力線400を通じて外部に通知する。しかし、本方式では、レジスタから演算器に転送するまでの間で、下位nビットのコピーを作成するまでの期間において攻撃を受ければ、二つのnビット演算器に入力される値がいずれも誤ることになるため、誤演算を検出することができない。また、演算器の処理速度の高速化のために、必ずしも2nビットの演算器を二つのnビット演算器に分割して使用するための回路を追加できない場合には、対応することができなかった。   In this arithmetic processing unit, first, a conventional 2n-bit arithmetic unit 30 is configured to be separated into two n-bit arithmetic units 31 and 32 and can be used independently. When it is desired to detect an erroneous operation, after making a copy of the lower n bits 10 and 12 of the 2n bit register by the selection signals 150 and 151, the two n bit arithmetic units 31 and 32 respectively perform the operation. The comparator 41 confirms that the contents of the registers 14 and 15 for storing the results coincide with each other, thereby checking whether or not there is an erroneous operation, and notifies the result to the outside through the output line 400. However, in this method, if an attack is received during the period from when the register is transferred to the computing unit until the copy of the lower n bits is made, both values input to the two n-bit computing units are erroneous. Therefore, it is impossible to detect an erroneous operation. In addition, in order to increase the processing speed of the arithmetic unit, it has not been possible to cope with the case where a circuit for dividing a 2n-bit arithmetic unit into two n-bit arithmetic units cannot be added. .

本発明は、上記問題点を解決するためになされたもので、その目的は、演算元の値が格納されているレジスタから演算器に転送するまでの間に発生するエラー検出を可能にして、従来技術よりも耐タンパ性を向上させ、演算処理速度の高速化をおこなうことのできる情報処理装置、および、その誤演算検出方法を提供することにある。   The present invention has been made to solve the above-described problems, and its purpose is to enable detection of an error that occurs during a period from when a value of a calculation source is stored to when it is transferred to a calculation unit. An object of the present invention is to provide an information processing apparatus capable of improving tamper resistance and increasing the calculation processing speed as compared with the prior art, and an erroneous calculation detection method thereof.

本発明の情報処理装置の基本的な演算処理を以下に示されるようになる。   The basic arithmetic processing of the information processing apparatus of the present invention is as follows.

セキュリティを確保することが必要な場合のみに、誤演算検出のために以下の処理をおこない、セキュリティが不要な場合には、通常の演算処理をおこなう。
(1) ユーザーが使用可能なレジスタサイズを制限し、レジスタの使用をできなくした部分のデータのコピーを作成する。
(2) 元のレジスタサイズで演算をおこなう。
(3) コピー元の部分の演算結果と、コピー先の演算結果を比較する。
(4) 比較結果の検査をおこない、演算の誤りを検出する。
Only when it is necessary to ensure security, the following processing is performed to detect an erroneous operation, and when security is not necessary, normal arithmetic processing is performed.
(1) The size of the register that can be used by the user is limited, and a copy of the data that cannot be used is created.
(2) Perform the operation with the original register size.
(3) The operation result of the copy source part is compared with the operation result of the copy destination.
(4) The comparison result is inspected to detect an operation error.

また、以上を実行するための、プロセッサに特別なモードないしは特別な命令を備える。   Also, a special mode or special instruction is provided to the processor for executing the above.

プロセッサは、誤演算検出モード(または、誤演算検出可能演算命令)を備え、このモードで動作するときには、内部レジスタのサイズを制限し、レジスタの残りを同時に利用して演算を多重化し、演算結果を比較することによって誤演算を検出する。誤演算検出モードと通常モードは、特別のビットを用意して、誤演算検出モード動作指定ビットとして設定する(または、誤演算検出可能演算命令を発行する)ことで、ユーザーが任意のタイミングで切り替えることができる。   The processor is equipped with an erroneous operation detection mode (or an operational instruction capable of detecting an erroneous operation). When operating in this mode, the size of the internal register is limited, and the remainder of the register is simultaneously used to multiplex the operation results. An erroneous operation is detected by comparing. The error calculation detection mode and the normal mode can be switched by the user at any timing by preparing a special bit and setting it as the error calculation detection mode operation designation bit (or issuing an operation instruction capable of detecting an error calculation). be able to.

誤演算検出モードは、例えば、スマートカードなどで、本人の認証処理や課金処理のロジックを走らせるときなど、特に、セキュリティを要するときに使用すればよい。   The error calculation detection mode may be used particularly when security is required, for example, when a personal authentication process or billing process logic is run with a smart card or the like.

本発明によれば、演算元の値が格納されているレジスタから演算器に転送するまでの間に発生するエラー検出を可能にして、従来技術よりも耐タンパ性を向上させ、演算処理速度の高速化をおこなうことのできる情報処理装置、および、その誤演算検出方法を提供することができる。   According to the present invention, it is possible to detect an error that occurs during a period from when a value of an operation source is stored to when it is transferred to an arithmetic unit, thereby improving tamper resistance as compared with the prior art and reducing the processing speed. It is possible to provide an information processing apparatus capable of speeding up and a method for detecting an erroneous operation thereof.

以下、本発明に係る各実施形態を、図1、図3ないし図14を用いて説明する。   Hereinafter, each embodiment according to the present invention will be described with reference to FIGS. 1 and 3 to 14.

〔実施形態1〕
以下、本発明に係る第一の実施形態を、図1、図3ないし図7を用いて説明する。
Embodiment 1
Hereinafter, a first embodiment according to the present invention will be described with reference to FIGS. 1, 3 to 7.

先ず、図1を用いて本発明に係る第一の実施形態の情報処理装置の一般的な構成を説明する。
図1は、本発明に係る第一の実施形態の情報処理装置の一般的な構成図である。
First, the general configuration of the information processing apparatus according to the first embodiment of the present invention will be described with reference to FIG.
FIG. 1 is a general configuration diagram of the information processing apparatus according to the first embodiment of the present invention.

本実施形態の情報処理装置は、第一のnビットレジスタ10と、第二のnビットレジスタ11と、第三のnビットレジスタ12と、第四のnビットレジスタ13と、第五のnビットレジスタ14と、第六のnビットレジスタ15と、2nビットの演算器30と、状態レジスタ16と、第一のコピーコントローラ20と、第二のコピーコントローラ21と、検査装置40と、検査結果出力線400を備えている。これらは、図1に示すように、第一のデータ線102、第二のデータ線103、第三のデータ線104、第四のデータ線105、第五のデータ線106、第六のデータ線107で接続されている。   The information processing apparatus of the present embodiment includes a first n-bit register 10, a second n-bit register 11, a third n-bit register 12, a fourth n-bit register 13, and a fifth n-bit register. Register 14, sixth n-bit register 15, 2n-bit arithmetic unit 30, status register 16, first copy controller 20, second copy controller 21, inspection device 40, and inspection result output Line 400 is provided. As shown in FIG. 1, these are the first data line 102, the second data line 103, the third data line 104, the fourth data line 105, the fifth data line 106, and the sixth data line. 107 is connected.

第一のnビットレジスタ10と第二のnビットレジスタ11は、二つを合わせて第一の2nビットレジスタとみなして取り扱うことが可能であるように構成されており、同様に、第三のnビットレジスタ12と第四のnビットレジスタ13は、第二の2nビットレジスタとみなして取り扱うことが可能であるように構成されており、第五のnビットレジスタ14と第六のnビットレジスタ15は、第三の2nビットレジスタとみなして取り扱うことが可能であるように構成される。   The first n-bit register 10 and the second n-bit register 11 are configured so that the two can be handled as a first 2n-bit register. The n-bit register 12 and the fourth n-bit register 13 are configured so as to be handled as a second 2n-bit register. The fifth n-bit register 14 and the sixth n-bit register 15 is configured to be handled as a third 2n-bit register.

第一のコピーコントローラ20は、第二のnビットレジスタ11の内容を第一のnビットレジスタ10にコピーすることができ、第二のコピーコントローラ21は、第四のnビットレジスタ13の内容を第三のnビットレジスタ12にコピーすることができる。演算器30は、第一の2nビットレジスタと第二の2nビットレジスタを入力として受け取り、所定の演算を行った後に、第三の2nビットレジスタと状態レジスタ16の内容を更新する。検査装置40は、第三の2nビットレジスタと状態レジスタ16を入力とし、演算器30の処理の正しさを検証し、検査結果を出力信号線400に出力する。   The first copy controller 20 can copy the contents of the second n-bit register 11 to the first n-bit register 10, and the second copy controller 21 can copy the contents of the fourth n-bit register 13. It can be copied to the third n-bit register 12. The arithmetic unit 30 receives the first 2n-bit register and the second 2n-bit register as inputs, performs a predetermined operation, and then updates the contents of the third 2n-bit register and the status register 16. The inspection device 40 receives the third 2n-bit register and the status register 16 as input, verifies the correctness of the processing of the arithmetic unit 30, and outputs the inspection result to the output signal line 400.

本情報処理装置は、通常動作モードと誤演算検出モードに二種類のモードを備えており、これらを適宜切り替えて動作する。   This information processing apparatus has two types of modes, a normal operation mode and an error calculation detection mode, and operates by appropriately switching between these modes.

通常動作モードは、本来の動作モードであり演算器で2nビットの演算をおこない結果を出力するモードである。誤演算検出モードは、セキュリティを高め、誤演算を検出するためのモードであり、演算器ではnビットの演算をおこない結果を出力するモードである。   The normal operation mode is an original operation mode in which a 2n-bit operation is performed by an arithmetic unit and a result is output. The error calculation detection mode is a mode for improving security and detecting an error calculation, and is a mode in which the calculator performs an n-bit calculation and outputs a result.

通常動作モード時における本実施形態の情報処理装置の動作は、以下のようになる。   The operation of the information processing apparatus of the present embodiment in the normal operation mode is as follows.

第一のnビットレジスタ10と第二のnビットレジスタ11は、第一の2nビットレジスタとして取り扱われ、第三のnビットレジスタ12と第四のnビットレジスタ13は、第二の2nビットレジスタとして取り扱われる。これら二つの2nビットレジスタは、2nビットの演算器30において処理され、演算結果は第五のnビットレジスタ14と第六のnビットレジスタ15からなる第三の2nビットレジスタに格納される。   The first n-bit register 10 and the second n-bit register 11 are treated as a first 2n-bit register, and the third n-bit register 12 and the fourth n-bit register 13 are a second 2n-bit register. Are treated as These two 2n-bit registers are processed in a 2n-bit arithmetic unit 30 and the operation result is stored in a third 2n-bit register including a fifth n-bit register 14 and a sixth n-bit register 15.

また、演算値の繰り上がり等の状態は、状態レジスタ16に格納される。本動作は、2nビットの演算器と2nビットのレジスタを備える一般の情報処理装置と全く同様のものと理解される。このとき、本実施形態の情報処理装置は、第一のコピーコントローラ20と第二のコピーコントローラ21と検査装置40の動作を停止させることで消費電力を低減させたり、これらの回路を使用している場合と使用していない場合での消費電力等の動作特性に変化がないように常に動作させ続けたりすることができるように構成することもできる。   In addition, the state such as the carry of the calculated value is stored in the state register 16. This operation is understood to be exactly the same as a general information processing apparatus including a 2n-bit arithmetic unit and a 2n-bit register. At this time, the information processing apparatus according to the present embodiment reduces the power consumption by stopping the operations of the first copy controller 20, the second copy controller 21, and the inspection apparatus 40, or uses these circuits. It can also be configured such that it can be continuously operated so that there is no change in the operating characteristics such as power consumption when it is present and when it is not being used.

誤演算検出モードにおける本実施形態の情報処理装置の動作は、以下のようになる。   The operation of the information processing apparatus of this embodiment in the error calculation detection mode is as follows.

第一のコピーコントローラ20によって、第二のnビットレジスタ11の内容を第一のnビットレジスタ10にコピーし、第二のコピーコントローラ21によって、第四のnビットレジスタ13の内容を第三のnビットレジスタ12にコピーする。その際、第一のnビットのレジスタ10や第三のnビットレジスタ12に格納されていた値は、上書きされる。第一のnビットレジスタ10と第二のnビットレジスタ11は、第一の2nビットレジスタ、第三のnビットレジスタ12と第四のnビットレジスタ13は第二の2nビットレジスタとみなされ、2nビットの演算器30で処理され、2nビットの処理結果は、第三の2nビットレジスタとみなされている第五のnビットレジスタ14と第六のnビットレジスタ15に格納される。同時に、状態レジスタ16も更新される。   The contents of the second n-bit register 11 are copied to the first n-bit register 10 by the first copy controller 20, and the contents of the fourth n-bit register 13 are copied to the third n-bit register 10 by the second copy controller 21. Copy to n-bit register 12. At this time, the values stored in the first n-bit register 10 and the third n-bit register 12 are overwritten. The first n-bit register 10 and the second n-bit register 11 are regarded as a first 2n-bit register, the third n-bit register 12 and the fourth n-bit register 13 are regarded as a second 2n-bit register, Processed by the 2n-bit computing unit 30, and the 2n-bit processing result is stored in a fifth n-bit register 14 and a sixth n-bit register 15 which are regarded as a third 2n-bit register. At the same time, the status register 16 is also updated.

次に、第三の2nビットレジスタ12と状態レジスタ16の値は、検査装置40に入力される。検査装置40では、入力された値を補正した後に比較することで、演算器30での処理が正常におこなわれたか否かを判定し、その結果を出力信号線400を通じて外部に伝達する。   Next, the values of the third 2n-bit register 12 and the status register 16 are input to the inspection device 40. In the inspection apparatus 40, the input value is corrected and then compared to determine whether or not the processing in the arithmetic unit 30 has been normally performed, and the result is transmitted to the outside through the output signal line 400.

この誤演算検出モードにおいては、第二のnビットレジスタ11と第四のnビットレジスタが書き込まれるあとで以下の各フェーズでのエラーを検出することができる。
(1)コピーコントローラ20により、第二のnビットレジスタ11の値を第一のnビットレジスタ10にコピーするとき、あるいは、コピーコントローラ21により、第四のnビットレジスタ13の値を第一のnビットレジスタ12にコピーするとき。
(2)第一のデータ線102、第二のデータ線103によるデータ転送時。
(3)演算器30に第一のデータ線102、第二のデータ線103からのデータが書き込まれる時。
(4)演算器30での演算時。
(5)演算器30の状態レジスタへの状態転送時、書き込み時。
(6)演算器30から第三の2nビットレジスタへのデータ線104による転送時。
(7)データ線104からのデータが第三の2nビットレジスタに書き込まれるとき。
(8)データ線105、106による検査装置への転送時。
In this erroneous operation detection mode, an error in each of the following phases can be detected after the second n-bit register 11 and the fourth n-bit register are written.
(1) When the value of the second n-bit register 11 is copied to the first n-bit register 10 by the copy controller 20, or the value of the fourth n-bit register 13 is changed to the first value by the copy controller 21. When copying to n-bit register 12.
(2) During data transfer by the first data line 102 and the second data line 103.
(3) When data from the first data line 102 and the second data line 103 are written into the arithmetic unit 30.
(4) During calculation by the calculator 30.
(5) At the time of status transfer to the status register of the arithmetic unit 30 and at the time of writing.
(6) During transfer by the data line 104 from the arithmetic unit 30 to the third 2n-bit register.
(7) When data from the data line 104 is written to the third 2n-bit register.
(8) During transfer to the inspection apparatus by the data lines 105 and 106.

次に、図3ないし図7を用いて本発明の第一の実施形態に係る情報処理装置の詳細な構成について説明する。
図3は、一般的な32ビットCPUのレジスタ構成を示す図である。
図4は、本発明の情報処理装置の誤演算検出モードでのCPUのレジスタ使用制限を示す図である。
Next, a detailed configuration of the information processing apparatus according to the first embodiment of the present invention will be described with reference to FIGS. 3 to 7.
FIG. 3 is a diagram showing a register configuration of a general 32-bit CPU.
FIG. 4 is a diagram showing restrictions on register usage of the CPU in the error calculation detection mode of the information processing apparatus of the present invention.

ER0からER6は汎用レジスタであり、通常は、Ex (16bit), RxH, RxL (各8bit)として、あるいは、Rx (16bit)やERx (32bit)として、ユーザーが自由に使用することができる。本発明の情報処理装置では、CPUの動作モードとして、新たに誤演算検出モードを設定し、このモードでは、図4に示すように、ユーザーが少なくとも一部のExレジスタを使用できないように制限する。さらに、同レジスタを利用してRxレジスタを用いた演算を並列多重化し、演算器の結果出力時に結果を検査することで、誤演算を検出する。   ER0 to ER6 are general-purpose registers, and normally can be freely used by the user as Ex (16 bits), RxH, RxL (each 8 bits), or as Rx (16 bits) or ERx (32 bits). In the information processing apparatus of the present invention, an erroneous operation detection mode is newly set as an operation mode of the CPU, and in this mode, as shown in FIG. 4, the user is restricted from using at least some of the Ex registers. . Further, the arithmetic operation using the Rx register is multiplexed in parallel using the same register, and the erroneous operation is detected by checking the result when the result of the arithmetic unit is output.

図5および図6は、コピーコントローラ、レジスタ、演算器、検査装置の接続関係について示した図である。
図5に示される情報処理装置は、第一のデータバス110と第二のデータバス111をそなえ、これらのデータバスに、各レジスタや演算器が接続されている。第一のnビットレジスタ10と第二のnビットレジスタ11は、第一の2nビットレジスタとしても読み出すことが可能であり、読み出された第一の2nビットレジスタの値は、第一のデータバス110および、第一のデータ線102ないしは第二のデータ線103を通じて演算器30に入力される。演算器が加法、乗法などの二つの入力から一つの結果を得る演算をおこなう場合であれば、第三のnビットレジスタ12と第四のnビットレジスタ13が用いられる。
FIG. 5 and FIG. 6 are diagrams showing a connection relationship among the copy controller, the register, the arithmetic unit, and the inspection device.
The information processing apparatus shown in FIG. 5 includes a first data bus 110 and a second data bus 111, and each register and arithmetic unit are connected to these data buses. The first n-bit register 10 and the second n-bit register 11 can also be read as the first 2n-bit register, and the value of the read first 2n-bit register is the first data The data is input to the arithmetic unit 30 through the bus 110 and the first data line 102 or the second data line 103. If the arithmetic unit performs an operation for obtaining one result from two inputs, such as addition and multiplication, the third n-bit register 12 and the fourth n-bit register 13 are used.

第二の2nビットレジスタの値が、第一のデータバス110に読み出され、さらに第一のデータ線102ないしは第二のデータ線103を通じて演算器30に入力される。演算結果は、第三のデータ線104を通じて第二のデータバス111に送られ、第五のnビットレジスタ14および第六のnビットレジスタ15からなる第三の2nビットレジスタに格納される。また、演算の状態を格納する状態レジスタ16の値は、演算に際して読み出され、演算の結果に応じて書き換えられることになる。   The value of the second 2n-bit register is read to the first data bus 110 and further input to the arithmetic unit 30 through the first data line 102 or the second data line 103. The operation result is sent to the second data bus 111 through the third data line 104 and stored in a third 2n-bit register including the fifth n-bit register 14 and the sixth n-bit register 15. In addition, the value of the state register 16 that stores the state of the operation is read out during the operation, and is rewritten according to the result of the operation.

次に、演算結果を格納している第三の2nビットレジスタは、二つのnビットレジスタとして、それぞれ第四のデータ線105と第五のデータ線106を通じて、検査装置40に送られる。同時に、状態レジスタ16の内容も第六のデータ線107を通じて、検査装置40に送られる。検査装置40では、これらの入力値を用いて、演算器30による処理が正しくおこなわれたか否かを検査し、その結果を出力信号線400を通じて外部に伝達する。ここでは、第四のデータ線105と第五のデータ線106の二つのデータ線を用いて、第五のnビットレジスタと第六のnビットレジスタをそれぞれ独立に読み出す例を示したが、これら二つのレジスタの値は、必ずしも分離して読み出す必要は無く、2nビットレジスタとして読み出し、検査装置40に送ることも可能である。   Next, the third 2n-bit register storing the operation result is sent to the inspection device 40 through the fourth data line 105 and the fifth data line 106, respectively, as two n-bit registers. At the same time, the contents of the status register 16 are also sent to the inspection device 40 through the sixth data line 107. The inspection device 40 uses these input values to inspect whether or not the processing by the arithmetic unit 30 has been performed correctly, and transmits the result to the outside through the output signal line 400. Here, an example in which the fifth n-bit register and the sixth n-bit register are read out independently using two data lines of the fourth data line 105 and the fifth data line 106 is shown. The values of the two registers do not necessarily need to be read separately, but can be read as a 2n-bit register and sent to the inspection device 40.

一方、図6に示される情報処理装置の構成は、図5に示された例とは、コピーコントローラの接続場所が異なる。なお、図6では、図5に示された情報処理装置との相違部分であるコピーコントローラ部を特に示している。この情報処理装置の構成では、第一のコピーコントローラ20は、第一のnビットレジスタ10、もしくは、第二のnビットレジスタ11、または、その両方にデータを書き込む際に、まずデータを受け取り、第二のnビットレジスタ11に第一のnビットレジスタ10と同じ値を書き込む必要がある場合には、データ線200と201に同じ値を出力する。   On the other hand, the configuration of the information processing apparatus shown in FIG. 6 is different from the example shown in FIG. 5 in the connection location of the copy controller. Note that FIG. 6 particularly shows a copy controller unit that is different from the information processing apparatus shown in FIG. In the configuration of this information processing apparatus, the first copy controller 20 first receives data when writing data to the first n-bit register 10, the second n-bit register 11, or both, When it is necessary to write the same value as the first n-bit register 10 to the second n-bit register 11, the same value is output to the data lines 200 and 201.

第二のデータバス111を通じて、値が書き込まれるのは、他のレジスタないしはメモリからのデータ転送の場合や、演算器による演算の結果を格納する場合であり、この構成では、コピーコントローラ20が同時に第一のnビットレジスタ10と第二のnビットレジスタ11に値を書き込むため、通常状態から誤演算検査状態への切替を図5の構成の情報処理装置よりも速やかにおこなうことができる。   Values are written through the second data bus 111 in the case of data transfer from other registers or memories, or in the case of storing the result of the operation by the arithmetic unit. In this configuration, the copy controller 20 simultaneously Since values are written in the first n-bit register 10 and the second n-bit register 11, the normal state can be switched to the erroneous operation inspection state more quickly than the information processing apparatus having the configuration of FIG.

また、図7に示した構成のように、コピーコントローラ20、21や検査装置40の動作を制御するためのコントローラ60を備えるようにしてもよい。
図7は、コピーコントローラ20、21や検査装置40の動作を制御するためのコントローラ60を備えた情報処理装置のブロック図である。
Further, as in the configuration shown in FIG. 7, a controller 60 for controlling the operations of the copy controllers 20 and 21 and the inspection apparatus 40 may be provided.
FIG. 7 is a block diagram of an information processing apparatus including a controller 60 for controlling the operations of the copy controllers 20 and 21 and the inspection apparatus 40.

図7に示した構成の情報処理装置は、コントローラ60への入力信号線600からの指示を受け、コピーコントローラ20、21や検査装置40の起動および停止をコントロールする。このように、検査機能の起動と停止の切り替えが可能であるように構成することによって、誤演算検出が必要である場合には、使用可能なレジスタのサイズが制限されるものの、誤演算検出が不要である場合には、通常のレジスタサイズを用いることができる情報処理装置を、レジスタの配置面積を増加させること無く構成することができる。   The information processing apparatus having the configuration shown in FIG. 7 receives an instruction from the input signal line 600 to the controller 60 and controls activation and stop of the copy controllers 20 and 21 and the inspection apparatus 40. In this way, by configuring the inspection function so that it can be switched between start and stop, if erroneous operation detection is required, the size of the register that can be used is limited, but erroneous operation detection is possible. When it is unnecessary, an information processing apparatus that can use a normal register size can be configured without increasing the register layout area.

本実施形態の情報処理装置は、誤演算検出モードでは、コントローラ60がnビットレジスタ11や13へのユーザーアクセスを制限することにより、ユーザーからは、物理的には2nビット存在するレジスタのうちnビットしか存在しないかのように見えるように制御する。そのために、ユーザーが誤ってレジスタを書き換えることによって演算誤りとして検出されることがなく、より信頼性の高い情報処理装置を提供することができる。   In the information processing apparatus according to the present embodiment, in the erroneous operation detection mode, the controller 60 restricts user access to the n-bit registers 11 and 13, so that the user can select n of the registers physically existing in 2n bits. Controls so that only bits are present. Therefore, it is possible to provide an information processing apparatus with higher reliability without being detected as an operation error when the user mistakenly rewrites the register.

〔実施形態2〕
以下、本発明に係る第二の実施形態を、図8および図9を用いて説明する。
[Embodiment 2]
Hereinafter, a second embodiment according to the present invention will be described with reference to FIGS. 8 and 9.

第一の実施形態では、一般的な演算器を有する構成の情報処理装置として記述したが、本実施形態では、具体的に演算器が加算器として説明し、加算の具体例を示したものである。
図8は、本発明の第二の実施形態に係る情報処理装置の構成図である。
図9は、加算における誤演算を検出する場合の数値の具体例を示した図である。
In the first embodiment, the information processing apparatus having a general arithmetic unit is described. However, in this embodiment, the arithmetic unit is specifically described as an adder, and a specific example of addition is shown. is there.
FIG. 8 is a configuration diagram of an information processing apparatus according to the second embodiment of the present invention.
FIG. 9 is a diagram showing a specific example of numerical values in the case of detecting an erroneous operation in addition.

図8に示される情報処理装置は、加算器の誤演算を検出する機構を備えている。本実施形態の情報処理装置は、第一のコピーコントローラ20によって第二のnビットレジスタ11の値を第一のnビットレジスタ10にコピーし、第二のコピーコントローラ21によって第四のnビットレジスタ13の値を第三のnビットレジスタ12にコピーする。そして、第一のnビットレジスタ10と第二のnビットレジスタ11を合わせて第一の2nビットレジスタとし、第三のnビットレジスタ12と第四のnビットレジスタ13を合わせて第二の2nビットレジスタとし、2nビットの加算器35を用いて第一の2nビットレジスタと第二の2nビットレジスタの加算をおこない、結果を第三の2nビットレジスタに格納する。また、第三の2nビットレジスタは、第五のnビットレジスタ14と第六のnビットレジスタ15として取り扱うことも可能である。さらに、演算の状態を状態レジスタ16に格納する。検査装置40には、第五のnビットレジスタ14と状態レジスタ16を入力とする減算器45と、前記の減算器の出力と第六のnビットレジスタ15の値を比較するための比較器46を持ち、比較結果を出力信号線400を通じて伝達する。   The information processing apparatus illustrated in FIG. 8 includes a mechanism that detects an erroneous operation of the adder. In the information processing apparatus of this embodiment, the first copy controller 20 copies the value of the second n-bit register 11 to the first n-bit register 10, and the second copy controller 21 uses the fourth n-bit register. The value of 13 is copied to the third n-bit register 12. The first n-bit register 10 and the second n-bit register 11 are combined into a first 2n-bit register, and the third n-bit register 12 and the fourth n-bit register 13 are combined into a second 2n. As a bit register, the 2n-bit adder 35 is used to add the first 2n-bit register and the second 2n-bit register, and the result is stored in the third 2n-bit register. The third 2n-bit register can also be handled as a fifth n-bit register 14 and a sixth n-bit register 15. Further, the state of operation is stored in the state register 16. The inspection device 40 includes a subtracter 45 having the fifth n-bit register 14 and the status register 16 as inputs, and a comparator 46 for comparing the output of the subtractor with the value of the sixth n-bit register 15. The comparison result is transmitted through the output signal line 400.

ここで、加算器で用いる値は、第二、第四、第六のnビットレジスタ側を2nビット値の下位の値とし、第一、第三、第五のnビットレジスタ側を2nビット値の上位の値として、実施形態を示している。例えば、n=16の場合を考えれば、加算結果にオーバーフローが発生する場合、0xF000 F000 + 0x1000 1000 = c 0x0001 0000(0xは、16進数、cは、キャリー)となるので、結果値を保持するレジスタを単純に比較する方法ではエラーの検出をおこなうことができない。オーバーフローが発生した場合には、上位から1を減じてから比較する処理が必要となる。演算中にオーバーフローが発生した場合、一般にオーバーフローが発生したことを表すキャリーフラグが状態レジスタに設定される。よって、状態レジスタからキャリーフラグの値を読み出して、加算結果である2nビットのうち上位nビットの値から減じた結果と、下位nビットの値の一致検査をおこなえば、誤演算が発生したか否かの判定をおこなうことができる。   Here, the values used in the adder are the lower value of the 2n-bit value on the second, fourth, and sixth n-bit register sides, and the 2n-bit value on the first, third, and fifth n-bit register sides. The embodiment is shown as an upper value of. For example, considering the case of n = 16, if an overflow occurs in the addition result, 0xF000 F000 + 0x1000 1000 = c 0x0001 0000 (0x is a hexadecimal number, and c is a carry), so the result value is retained. An error cannot be detected by simply comparing the registers. When an overflow occurs, it is necessary to perform a comparison process after subtracting 1 from the top. When an overflow occurs during the operation, a carry flag indicating that an overflow has occurred is generally set in the status register. Therefore, if the value of the carry flag is read from the status register and the result of subtraction from the value of the upper n bits of the 2n bits as the addition result is checked with the value of the lower n bits, has an error occurred? A determination of whether or not can be made.

図9に示される具体例は、第一の2nビットレジスタの値が0xc362 c362、第二の2nビットレジスタの値が0xa18c a18cのときの加算を示したものてある。加算の結果は、0xc362 c362 + 0xa18c a18c= c 0x64ed 64ecとなり、キャリーが発生する。したがって、上位ビットの値から1を引き、互いに等しくなるか否かを検証すればよい。等しくないときには、どこかで誤演算がおこっていることになる。   The specific example shown in FIG. 9 shows addition when the value of the first 2n-bit register is 0xc362 c362 and the value of the second 2n-bit register is 0xa18c a18c. The result of addition is 0xc362 c362 + 0xa18c a18c = c 0x64ed 64ec, and a carry occurs. Therefore, it is only necessary to subtract 1 from the value of the upper bits and verify whether or not they are equal to each other. If they are not equal, an error has occurred somewhere.

〔実施形態3〕
以下、本発明に係る第三の実施形態を、図10ないし図12を用いて説明する。
[Embodiment 3]
A third embodiment according to the present invention will be described below with reference to FIGS.

第二の実施形態では、具体的に演算器が加算器として説明し、加算の具体例を示したが、本実施形態では、演算器が乗算器であり、乗算の具体例を示したものである。
図10および図11は、本発明の第三の実施形態に係る情報処理装置の構成図である。
図12は、乗算における誤演算を検出する場合の数値の具体例を示した図である。
In the second embodiment, the arithmetic unit is specifically described as an adder, and a specific example of addition is shown. However, in this embodiment, the arithmetic unit is a multiplier and a specific example of multiplication is shown. is there.
10 and 11 are configuration diagrams of an information processing apparatus according to the third embodiment of the present invention.
FIG. 12 is a diagram showing a specific example of numerical values when detecting an erroneous operation in multiplication.

図10に示される情報処理装置は、乗算器の誤演算を検出する機構を備えるものである。本実施形態の情報処理装置は、第一のコピーコントローラ20に第一の符号反転装置22を備え、第二のnビットレジスタ11の値を符号反転させた値を第一のnビットレジスタ10に格納する。第二のコピーコントローラ21は、第四のnビットレジスタ13の値を第三のnビットレジスタ12にコピーする。第一のnビットレジスタと第二のnビットレジスタは合わせて第一の2nビットレジスタとみなすことができ、第三のnビットレジスタと第四のnビットレジスタはあわせて第二の2nビットレジスタとみなすことができる。   The information processing apparatus shown in FIG. 10 includes a mechanism that detects an erroneous operation of the multiplier. The information processing apparatus according to the present embodiment includes a first sign inversion device 22 in the first copy controller 20, and a value obtained by sign inverting the value of the second n-bit register 11 is stored in the first n-bit register 10. Store. The second copy controller 21 copies the value of the fourth n-bit register 13 to the third n-bit register 12. The first n-bit register and the second n-bit register can be regarded as a first 2n-bit register, and the third n-bit register and the fourth n-bit register are collectively a second 2n-bit register. Can be considered.

そして、乗算器36によって、二つの2nビット入力に対して4nビット出力を与える乗算をおこない、結果を第三の2nビットレジスタ17と第四の2nビットレジスタ18に格納する。検査装置40では、第三の2nビットレジスタ17の値と第四の2nビットレジスタ18を加算器47によって加算し、第二の2nビットレジスタの値と一致検査をおこない、結果を出力信号線400を通じて伝達する。   The multiplier 36 multiplies the two 2n-bit inputs by giving a 4n-bit output, and stores the result in the third 2n-bit register 17 and the fourth 2n-bit register 18. In the inspection device 40, the value of the third 2n-bit register 17 and the fourth 2n-bit register 18 are added by the adder 47, and the value of the second 2n-bit register is inspected, and the result is output to the output signal line 400. Communicate through.

一般的な32ビットCPUは、二つの16ビットの値を入力値とし、32ビットの結果を出力する乗算命令を備えている。よって、上記のように処理すれぱ、誤演算検査機構を備える8ビット×8ビットの演算をおこなうことができる。この計算の正しさは、次のように確認される。k, mを各8ビット値とし、k×mを計算する場合を考える。このとき、a, b, c, dを各8ビットとし、a|b×c|dを計算することができる乗算器を用いる。ここで、a|bとは、上位8ビットがaであり下位8ビットがbである16ビット値を意味する。a = -k, b = k, c = d = mとして、乗算a|b×c|dを行うと、32ビットの結果の上位16ビットには-a×c下位16ビットにはa×cが入る。しかし、一般的な計算機には、符号専用のレジスタが必ずしも存在しないことに注意する必要がある。この場合、-kを表現するために、kと加算することによって下位8ビットがゼロとなり、キャリーが発生するような値である2^8-kを用いる(いわゆる二の補数表現)。ここで^はべき乗を衰す記号であり、2^8とは2の8乗を表す。その結果、-k + kを計算する際に、キャリーが発生することになる。キャリーの効果は、
((2^8 - k) × 2^8 + k) × (m × 2^8 + m)
=m(2^24 + 2^16) - mk(2^16 - 1〉
=(m × 2^8 + m - mk) × 2^16 + mk
より、上位16ビットにm|mが加算される結果として現れる。よって、本実施例の情報処理装置では、上位16ビットと下位16ビットの乗算をおこない、m|mに相当する16ビット値c|dに一致することを確認することで、誤演算を検出する。
なお、上記の式は、検査装置に、減算器を備え、乗算結果の上位2nビットから第二の2nビットレジスタの値を減じ、その結果と乗算結果の下位2nビットの値の和がゼロとなることを確認する方法でも、誤演算を検査することができることを意味しており、図11に示されるように情報処理装置を構成してもよい。
A general 32-bit CPU has a multiply instruction that takes two 16-bit values as input values and outputs a 32-bit result. Therefore, if the processing is performed as described above, it is possible to perform an 8-bit × 8-bit operation including an erroneous operation inspection mechanism. The correctness of this calculation is confirmed as follows. Assume that k × m is calculated with k and m as 8-bit values. At this time, a, b, c, and d are each 8 bits, and a multiplier capable of calculating a | b × c | d is used. Here, a | b means a 16-bit value in which the upper 8 bits are a and the lower 8 bits are b. When a = b, k = c, d = m and multiplication a | b × c | d is performed, the upper 16 bits of the 32-bit result are −a × c and the lower 16 bits are a × c. Enters. However, it should be noted that a general-purpose computer does not necessarily have a dedicated register for codes. In this case, in order to express -k, 2 ^ 8-k is used (so-called two's complement expression), which is a value that causes the lower 8 bits to become zero by adding k and causes a carry. Here, ^ is a sign that decrements the power, and 2 ^ 8 represents 2 to the 8th power. As a result, a carry occurs when calculating -k + k. The effect of carry is
((2 ^ 8-k) × 2 ^ 8 + k) × (m × 2 ^ 8 + m)
= m (2 ^ 24 + 2 ^ 16)-mk (2 ^ 16-1>
= (m × 2 ^ 8 + m-mk) × 2 ^ 16 + mk
As a result, m | m is added to the upper 16 bits. Therefore, in the information processing apparatus of the present embodiment, an erroneous operation is detected by performing multiplication of the upper 16 bits and the lower 16 bits and confirming that it matches the 16-bit value c | d corresponding to m | m. .
Note that the above equation includes a subtractor in the inspection device, and subtracts the value of the second 2n-bit register from the upper 2n bits of the multiplication result, and the sum of the result and the lower 2n-bit value of the multiplication result is zero. This means that it is possible to check an erroneous operation even by a method for confirming that the information processing apparatus is configured as shown in FIG.

図12に示される具体例は、第二の8ビットレジスタの値が0x7f、第四のレジスタの値が、0x56の場合である。第二の8ビットレジスタの値を第一の8ビットレジスタに符号反転させて格納し、0x81となる。第四の8ビットレジスタの値を第三の8ビットレジスタにコピーして、0x56となる。これらの値をかけると、上位16ビットには、0x81 × 0x56 + 0x56(2^8 + 1)の値として、0x2bacが入り、下位16ビットには、0x7f × 0x56の値として、0x2aaaが入る。したがって、これらをたして、0x56(2^8 + 1)が残ることになれば、誤演算はなく正常に動作していることになる。   The specific example shown in FIG. 12 is a case where the value of the second 8-bit register is 0x7f and the value of the fourth register is 0x56. The value of the second 8-bit register is inverted in sign and stored in the first 8-bit register, resulting in 0x81. The value of the fourth 8-bit register is copied to the third 8-bit register, resulting in 0x56. When these values are applied, 0x2bac is entered as the value of 0x81 × 0x56 + 0x56 (2 ^ 8 + 1) in the upper 16 bits, and 0x2aaa is entered as the value of 0x7f × 0x56 in the lower 16 bits. Therefore, if 0x56 (2 ^ 8 + 1) is left after these, it means that there is no error calculation and that it is operating normally.

〔実施形態4〕
以下、本発明に係る第四の実施形態を、図13および図14を用いて説明する。
図13は、フリップフロップの物理構造を表す図である。
図14は、フリップフロップの集積回路での実装配置例を示している。
[Embodiment 4]
Hereinafter, a fourth embodiment according to the present invention will be described with reference to FIGS. 13 and 14.
FIG. 13 is a diagram illustrating a physical structure of a flip-flop.
FIG. 14 shows a mounting arrangement example of the flip-flop integrated circuit.

例えば、本発明の情報処理装置のレジスタのビット情報を記憶するために、図13に示されるような物理構造を有するフリップフロップを用いる場合を想定する。ここで、2nビットレジスタの値を保持するために2n個のフリップフロップを用い、2n個のうちnビットを残るnビットで覆うような形で配置する。2nビットレジスタを構成する二つのnビットレジスタを、図14に示されるように物理的に垂直方向に重なるように配置することによって、一方向からの光等の入射によってレジスタの値が影響を受けるような場合でも、一方が他方を保護する形となり、入射成分が変化するため、同一の値に変化するような動作を防止することができ、より高い誤動作耐性を持たせることができるようになる。   For example, it is assumed that a flip-flop having a physical structure as shown in FIG. 13 is used to store bit information of a register of the information processing apparatus of the present invention. Here, 2n flip-flops are used to hold the value of the 2n-bit register, and the n-bits of 2n are arranged so as to be covered by the remaining n bits. By arranging the two n-bit registers constituting the 2n-bit register so as to physically overlap in the vertical direction as shown in FIG. 14, the value of the register is affected by the incidence of light or the like from one direction. Even in such a case, since one of them protects the other and the incident component changes, an operation that changes to the same value can be prevented, and higher malfunction tolerance can be provided. .

本発明に係る第一の実施形態の情報処理装置の一般的な構成図である。1 is a general configuration diagram of an information processing apparatus according to a first embodiment of the present invention. 特許文献1に係る演算処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic processing apparatus which concerns on patent document 1. FIG. 一般的な32ビットCPUのレジスタ構成を示す図である。It is a figure which shows the register structure of a general 32-bit CPU. 本発明の情報処理装置の誤演算検出モードでのCPUのレジスタ使用制限を示す図である。It is a figure which shows the register use restriction | limiting of CPU in the error calculation detection mode of the information processing apparatus of this invention. コピーコントローラ、レジスタ、演算器、検査装置の接続関係について示した図である(その一)。It is the figure shown about the connection relation of a copy controller, a register | resistor, a computing unit, and an inspection apparatus (the 1). コピーコントローラ、レジスタ、演算器、検査装置の接続関係について示した図である(その二)。It is the figure shown about the connection relation of a copy controller, a register | resistor, a computing unit, and an inspection apparatus (the 2). コピーコントローラ20、21や検査装置40の動作を制御するためのコントローラ60を備えた情報処理装置のブロック図である。2 is a block diagram of an information processing apparatus including a controller 60 for controlling operations of the copy controllers 20 and 21 and the inspection apparatus 40. FIG. 本発明の第二の実施形態に係る情報処理装置の構成図である。It is a block diagram of the information processing apparatus which concerns on 2nd embodiment of this invention. 加算における誤演算を検出する場合の数値の具体例を示した図である。It is the figure which showed the specific example of the numerical value in the case of detecting the erroneous calculation in addition. 本発明の第三の実施形態に係る情報処理装置の構成図である(その一)。It is a block diagram of the information processing apparatus which concerns on 3rd embodiment of this invention (the 1). 本発明の第三の実施形態に係る情報処理装置の構成図である(その二)。It is a block diagram of the information processing apparatus which concerns on 3rd embodiment of this invention (the 2). 乗算における誤演算を検出する場合の数値の具体例を示した図である。It is the figure which showed the specific example of the numerical value in the case of detecting the erroneous calculation in multiplication. フリップフロップの物理構造を表す図である。It is a figure showing the physical structure of a flip-flop. フリップフロップの集積回路での実装配置例を示している。The example of mounting arrangement in the integrated circuit of the flip-flop is shown.

符号の説明Explanation of symbols

10、11、12、13、14、15…nビットレジスタ
16…状態レジスタ
17、18…2nビットレジスタ
20、21…コピーコントローラ
22、47…符号反転装置
30…2nビット演算器
31、32…nビット演算器
40…検査装置
41、46…比較器
60…誤演算検査機構制御装置
10, 11, 12, 13, 14, 15 ... n-bit register 16 ... status register 17, 18 ... 2n-bit register 20, 21 ... copy controller 22, 47 ... sign inversion device 30 ... 2n-bit calculator 31, 32 ... n Bit calculator 40 ... inspection device 41, 46 ... comparator 60 ... error calculation inspection mechanism control device

Claims (13)

第一のm(mは正の整数)ビットレジスタと第二のmビットレジスタとによりmビット演算をおこなう情報処理装置において、
コピーコントローラと、
演算器と、
検査装置とを有し、
前記コピーコントローラは、前記第一のnビットレジスタおよび前記第二のnビットレジスタのn(nは正の整数、m>n)ビットの値を、各々のレジスタの残りのm−nビットの所定の領域にコピーし、
前記演算器は、前記第一のmビットレジスタの値と前記第二のmビットレジスタの値とを演算して、出力し、
前記検査装置は、前記演算器の出力により誤演算が発生したか否かを判定することを特徴とする情報処理装置。
In an information processing apparatus that performs an m-bit operation with a first m (m is a positive integer) bit register and a second m-bit register,
A copy controller,
An arithmetic unit;
An inspection device,
The copy controller uses the value of n (n is a positive integer, m> n) bits of the first n-bit register and the second n-bit register to determine the remaining mn bits of each register. To the area of
The computing unit computes and outputs the value of the first m-bit register and the value of the second m-bit register,
The information processing apparatus according to claim 1, wherein the inspection apparatus determines whether an erroneous operation has occurred based on an output of the arithmetic unit.
mが偶数であって、n= m/2であることを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein m is an even number and n = m / 2. 前記演算器は、加算器であり、
前記検査装置は、減算器と比較器とからなり、
前記コピーコントローラは、前記第一のmビットレジスタおよび前記第二のmビットレジスタのnビットの値を、各々のレジスタの残りのnビットの領域にそれぞれnビットの同一の値をコピーし、
前記加算器により前記第一のmビットレジスタと前記第二のmビットレジスタの値とを加算して、出力し、
前記加算器の加算結果において、桁あふれが生じたときには、前記加算器の出力のmビット値のうち上位nビットの値から1を減じて、出力し、
前記比較器により前記減算器の出力と前記加算器の出力の下位nビットの値を比較することにより誤演算を検出することを特徴とする請求項2記載の情報処理装置。
The computing unit is an adder,
The inspection device comprises a subtractor and a comparator,
The copy controller copies the n-bit value of the first m-bit register and the second m-bit register to the remaining n-bit area of each register, respectively, and the same n-bit value;
The adder adds the values of the first m-bit register and the second m-bit register, and outputs the result.
When an overflow occurs in the addition result of the adder, 1 is subtracted from the value of the upper n bits of the m-bit value of the output of the adder and output,
3. The information processing apparatus according to claim 2, wherein the comparator detects an erroneous operation by comparing a lower n-bit value of the output of the subtracter and the output of the adder.
前記演算器は、乗算器であり、
前記検査装置は、加算器と比較器とからなり、
さらに、符号反転装置を備え、
前記符号反転装置は、前記第一のmビットレジスタの値のうちnビットの値を残りのnビットの領域に符号反転してコピーし、
前記コピーコントローラは、前記第二のmビットレジスタの値のうちnビットの値を残りのnビットの領域にコピーし、
前記乗算器により前記第一のmビットレジスタと前記第二のmビットレジスタとを乗算し、2mビットの値を出力し、
前記加算器により前記乗算器の出力の2mビットの値の上位mビットの値と下位mビットの値を加算して出力し、
前記比較器により前記加算器の出力と前記第二のmビットレジスタの値を比較することにより誤演算を検出することを特徴とする請求項2記載の情報処理装置。
The computing unit is a multiplier,
The inspection device comprises an adder and a comparator,
Furthermore, a sign inverting device is provided,
The sign inversion device copies the n-bit value of the value of the first m-bit register by inverting the sign to the remaining n-bit area,
The copy controller copies an n-bit value among the values of the second m-bit register to the remaining n-bit area,
Multiplying the first m-bit register and the second m-bit register by the multiplier and outputting a 2 m-bit value;
The adder adds the upper m-bit value and the lower m-bit value of the 2m-bit value of the multiplier output, and outputs the result.
3. The information processing apparatus according to claim 2, wherein the comparator detects an erroneous operation by comparing an output of the adder with a value of the second m-bit register.
前記演算器は、乗算器であり、
前記検査装置は、加算器と比較器とからなり、
さらに、符号反転装置を備え、
前記符号反転装置は、前記第一のmビットレジスタの値のうちnビットの値を残りのnビットの領域に符号反転してコピーし、
前記コピーコントローラは、前記第二のmビットレジスタの値のうちnビットの値を残りのnビットの領域にコピーし、
前記乗算器により前記第一のmビットレジスタと前記第二のmビットレジスタとを乗算し、2mビットの値を出力し、
前記加算器により前記乗算器の出力の2mビットの値の上位mビットの値と下位mビットの値とを加算して出力し、
前記比較器により前記加算器の出力の上位mビットの値と下位mビットの値とを比較することにより誤演算を検出することを特徴とする請求項2記載の情報処理装置。
The computing unit is a multiplier,
The inspection device comprises an adder and a comparator,
Furthermore, a sign inverting device is provided,
The sign inversion device copies the n-bit value of the value of the first m-bit register by inverting the sign to the remaining n-bit area,
The copy controller copies an n-bit value among the values of the second m-bit register to the remaining n-bit area,
Multiplying the first m-bit register and the second m-bit register by the multiplier and outputting a 2 m-bit value;
The adder adds the upper m-bit value and the lower m-bit value of the 2m-bit value of the multiplier output, and outputs the result.
3. The information processing apparatus according to claim 2, wherein the comparator detects an erroneous operation by comparing an upper m-bit value and a lower m-bit value of the output of the adder.
レジスタアクセスコントローラを備え、
前記レジスタアクセスコントローラは、mビットレジスタを演算する第一のモードと第二のモードとを切り替え、
前記第一のモードでは、mビットうち所定のnビットをユーザ命令の演算対象とし、
前記第二のモードでは、mビットうち所定のnビットをユーザ命令の演算対象とはしないことを特徴とする請求項1記載の情報処理装置。
It has a register access controller,
The register access controller switches between a first mode and a second mode for calculating an m-bit register,
In the first mode, a predetermined n bits out of m bits are set as a calculation target of a user instruction,
2. The information processing apparatus according to claim 1, wherein in the second mode, predetermined n bits out of m bits are not set as a calculation target of a user instruction.
前記誤演算が発生したと判定されたときには、リセット動作をおこなうことを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein when it is determined that the erroneous operation has occurred, a reset operation is performed. 前記コピーコントローラの消費電力を一定とすることを特徴とする請求項1記載の情報処理装置。   The information processing apparatus according to claim 1, wherein power consumption of the copy controller is constant. コピー元となるレジスタのビットを保持する記憶素子がコピー先のレジスタのビットを保持する記憶素子と垂直方向に重なるように配置することを特徴とする請求項1記載の情報処理装置。   2. The information processing apparatus according to claim 1, wherein a storage element that holds a bit of a copy source register is arranged so as to overlap a storage element that holds a bit of a copy destination register in a vertical direction. 2nビットのレジスタを二つのnビットのレジスタとして使用可能な情報処理装置の誤演算検出方法において、
第一の2nビットレジスタの下位を第一のnビットレジスタ、上位を第二のnビットレジスタとし、
第二の2nビットレジスタの下位を第三のnビットレジスタ、上位を第四のnビットレジスタとして、
(1)第一のnビットレジスタの値を第二のnビットレジスタにコピーするステップ、
(2)第三のnビットレジスタの値を第四のnビットレジスタにコピーするステップ、
(3)前記第一の2nビットレジスタと、前記第二の2nビットレジスタを入力とする演算をおこない、結果を第三の2nビットレジスタおよび状態レジスタに格納するステップ、
(4)前記第三の2nビットレジスタの上位nビットの値、下位nビットの値と、前記状態レジスタとにより演算の正当性の検査をおこなうステップ
からなることを特徴とする情報処理装置の誤演算検出方法。
In an error detection method for an information processing apparatus that can use a 2n-bit register as two n-bit registers,
The lower part of the first 2n-bit register is the first n-bit register, the upper part is the second n-bit register,
The lower part of the second 2n-bit register is the third n-bit register and the upper part is the fourth n-bit register.
(1) copying the value of the first n-bit register to the second n-bit register;
(2) copying the value of the third n-bit register to the fourth n-bit register;
(3) performing an operation with the first 2n-bit register and the second 2n-bit register as inputs, and storing the result in a third 2n-bit register and a status register;
(4) An error of the information processing apparatus comprising the step of checking the validity of the operation by using the value of the upper n bits and the value of the lower n bits of the third 2n-bit register and the status register. Calculation detection method.
前記第三の2nビットレジスタの下位を第五のnビットレジスタ、上位を第六のnビットレジスタとし、
前記(3)のステップは、前記第一の2nビットレジスタと、前記第二の2nビットレジスタを加算し、結果を第三の2nビットレジスタおよび状態レジスタに格納するステップであって、
前記(4)のステップは、前記第六のnビットレジスタから前記状態レジスタの値を減算し、第五のnビットレジスタの値と比較するステップであることを特徴とする請求項10記載の情報処理装置の誤演算検出方法。
The lower part of the third 2n-bit register is a fifth n-bit register, and the upper part is a sixth n-bit register,
The step (3) is a step of adding the first 2n-bit register and the second 2n-bit register and storing the result in a third 2n-bit register and a status register,
11. The information according to claim 10, wherein the step (4) is a step of subtracting a value of the status register from the sixth n-bit register and comparing it with a value of a fifth n-bit register. A method for detecting an erroneous operation of a processing apparatus.
2nビットのレジスタを二つのnビットのレジスタとして使用可能であり、4nビットのレジスタを二つの2nビットのレジスタとして使用可能である情報処理装置の誤演算検出方法において、
第一の2nビットレジスタの下位を第一のnビットレジスタ、上位を第二のnビットレジスタとし、
第二の2nビットレジスタの下位を第三のnビットレジスタ、上位を第四のnビットレジスタとし、
第一の4nビットレジスタの下位を第三の2nビットレジスタ、上位を第四の2nビットレジスタとして、
(1)第一のnビットレジスタの値を符号反転して第二のnビットレジスタにコピーするステップ、
(2)第三のnビットレジスタの値を第四のnビットレジスタにコピーするステップ、
(3)前記第一の2nビットレジスタの値と、前記第二の2nビットレジスタの値を乗算し、結果を第一の4nビットレジスタに格納するステップ、
(4)前記第三の2nビットレジスタの値と、第四の2nビットレジスタの値を加算し、出力するステップ
(5)前記(4)のステップの加算結果と、前記第二の2nビットレジスタの値を比較するステップ
からなることを特徴とする情報処理装置の誤演算検出方法。
In an error detection method for an information processing apparatus, a 2n-bit register can be used as two n-bit registers, and a 4n-bit register can be used as two 2n-bit registers.
The lower part of the first 2n-bit register is the first n-bit register, the upper part is the second n-bit register,
The lower part of the second 2n-bit register is the third n-bit register, the upper part is the fourth n-bit register,
The lower part of the first 4n-bit register is the third 2n-bit register and the upper part is the fourth 2n-bit register.
(1) The value of the first n-bit register is inverted and copied to the second n-bit register;
(2) copying the value of the third n-bit register to the fourth n-bit register;
(3) multiplying the value of the first 2n-bit register by the value of the second 2n-bit register and storing the result in the first 4n-bit register;
(4) a step of adding and outputting the value of the third 2n-bit register and the value of the fourth 2n-bit register, and (5) the addition result of the step of (4) and the second 2n-bit register. A method of detecting an erroneous operation of an information processing apparatus, comprising the step of comparing the values of the information processing apparatuses.
2nビットのレジスタを二つのnビットのレジスタとして使用可能であり、4nビットのレジスタを二つの2nビットのレジスタとして使用可能である情報処理装置の誤演算検出方法において、
第一の2nビットレジスタの下位を第一のnビットレジスタ、上位を第二のnビットレジスタとし、
第二の2nビットレジスタの下位を第三のnビットレジスタ、上位を第四のnビットレジスタとし、
第一の4nビットレジスタの下位を第三の2nビットレジスタ、上位を第四の2nビットレジスタとして、
(1)第一のnビットレジスタの値を符号反転して第二のnビットレジスタにコピーするステップ、
(2)第三のnビットレジスタの値を第四のnビットレジスタにコピーするステップ、
(3)前記第一の2nビットレジスタの値と、前記第二の2nビットレジスタの値を乗算し、結果を第一の4nビットレジスタに格納するステップ、
(4)前記第三の2nビットレジスタの値と、第四の2nビットレジスタの値を加算し、出力するステップ
(5)前記(4)のステップの加算結果の上位2nビットの値と、下位2nビットの値を比較するステップ
からなることを特徴とする情報処理装置の誤演算検出方法。
In an error detection method for an information processing apparatus, a 2n-bit register can be used as two n-bit registers, and a 4n-bit register can be used as two 2n-bit registers.
The lower part of the first 2n-bit register is the first n-bit register, the upper part is the second n-bit register,
The lower part of the second 2n-bit register is the third n-bit register, the upper part is the fourth n-bit register,
The lower part of the first 4n-bit register is the third 2n-bit register and the upper part is the fourth 2n-bit register.
(1) The value of the first n-bit register is inverted and copied to the second n-bit register;
(2) copying the value of the third n-bit register to the fourth n-bit register;
(3) multiplying the value of the first 2n-bit register by the value of the second 2n-bit register and storing the result in the first 4n-bit register;
(4) A step of adding and outputting the value of the third 2n-bit register and the value of the fourth 2n-bit register, and (5) an upper 2n-bit value of the addition result of the step (4) and a lower-order A method of detecting an erroneous operation of an information processing apparatus, comprising a step of comparing 2n-bit values.
JP2007518829A 2005-06-01 2005-06-01 Information processing apparatus and error calculation detection method thereof Expired - Fee Related JP4382128B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/010053 WO2006129356A1 (en) 2005-06-01 2005-06-01 Information processing device and its incorrect operation detection method

Publications (2)

Publication Number Publication Date
JPWO2006129356A1 true JPWO2006129356A1 (en) 2008-12-25
JP4382128B2 JP4382128B2 (en) 2009-12-09

Family

ID=37481293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518829A Expired - Fee Related JP4382128B2 (en) 2005-06-01 2005-06-01 Information processing apparatus and error calculation detection method thereof

Country Status (2)

Country Link
JP (1) JP4382128B2 (en)
WO (1) WO2006129356A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113164B2 (en) 2017-10-05 2021-09-07 Arm Limited Handling errors in buffers

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6155933B2 (en) * 2013-07-22 2017-07-05 大日本印刷株式会社 Portable storage media

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0314134A (en) * 1989-06-13 1991-01-22 Nec Corp Arithmetic and logic computing element
JPH0527997A (en) * 1991-07-18 1993-02-05 Matsushita Electric Ind Co Ltd Microcomputer
JP2001306346A (en) * 2000-04-19 2001-11-02 Matsushita Electric Ind Co Ltd Arithmetic processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113164B2 (en) 2017-10-05 2021-09-07 Arm Limited Handling errors in buffers

Also Published As

Publication number Publication date
WO2006129356A1 (en) 2006-12-07
JP4382128B2 (en) 2009-12-09

Similar Documents

Publication Publication Date Title
TWI590096B (en) Return-target restrictive return from procedure instructions, processors, methods, and systems
US11327755B2 (en) Fine grained control flow enforcement to mitigate malicious call/jump oriented programming
US7801298B2 (en) Apparatus and method for detecting a potential attack on a cryptographic calculation
JP5146156B2 (en) Arithmetic processing unit
JP4996654B2 (en) Processor
US10223117B2 (en) Execution flow protection in microcontrollers
JPWO2017145300A1 (en) Test case generation apparatus and test case generation program
US10275365B1 (en) Cryptographic signatures for capability-based addressing
CN101689233B (en) Standby operation of a resonant power converter
JP4382128B2 (en) Information processing apparatus and error calculation detection method thereof
JP2581018B2 (en) Data processing device
JP2011175641A (en) Reading to and writing from peripheral with temporally separated redundant processor execution
US11468168B1 (en) Systems and methods for optimizing authentication branch instructions
JP4766285B2 (en) Permanent data hardware integrity
US20090024908A1 (en) Method for error registration and corresponding register
US10275220B2 (en) Arithmetic processing device and control method for arithmetic processing device
US20060041708A1 (en) Integrated circuit
CN114237705A (en) Verification method, verification device, electronic equipment and computer-readable storage medium
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JP5732139B2 (en) Conditional selection of data elements
US12008149B2 (en) Method and system for on demand control of hardware support for software pointer authentification in a computing system
JP5732933B2 (en) Arithmetic apparatus and error detection method
JP4044455B2 (en) Debug support device
JP3616588B2 (en) Micro program check system
JP4351131B2 (en) Information processing apparatus and error detection method for information processing apparatus

Legal Events

Date Code Title Description
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: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090916

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees