• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1257936
審判番号 不服2009-11203  
総通号数 151 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2012-07-27 
種別 拒絶査定不服の審決 
審判請求日 2009-06-16 
確定日 2012-06-08 
事件の表示 特願2002-568191「多項式演算オペレーション」拒絶査定不服審判事件〔平成14年 9月 6日国際公開、WO02/69136、平成16年11月 4日国内公表、特表2004-533671〕について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯
本願は、2002年2月15日(パリ条約よる優先権主張、2001年2月21日、米国)を国際出願日とする出願であって、当審において、平成23年6月16日付けで拒絶理由が通知され、これに対し、平成23年12月16日付けで手続補正がなされたものである。

2.本願発明
本願の請求項1?8に係る発明は、平成23年12月16日付け手続補正書によって補正された特許請求の範囲の請求項1?8に記載された事項により特定されるとおりのものであるところ、請求項1に係る発明(以下、「本願発明」という。)は、次のとおりのものである。
「【請求項1】
1又は複数のオプコードを有するインストラクションを実行するハードウエア・マイクロプロセッサであって、該マイクロプロセッサは、インストラクションの実行により、第1及び第2の多項式に関する多項式算術演算を実行し、第1及び第2の多項式は、各多項式の2進表現された各係数にそれぞれ対応する1又は複数のビットからなる第1及び第2のビット集合によって表現され、該マイクロプロセッサは、
前記インストラクションにおいて、2つのレジスタ識別子によって特定される、レジスタファイル中のソースレジスタ群であって、該ソースレジスタ群は、前記第1及び第2のビット集合を格納する、ソースレジスタ群と、
第1の多項式の2進表現の係数に対応する第1のビット集合を格納する第1のレジスタと、
第2の多項式の2進表現の係数に対応する第2のビット集合を格納する第2のレジスタと、
第3の多項式の2進表現の上位項部分の多項係数に対応する第3のビット集合を格納する上位結果レジスタ、及び、上記第3の多項式の前記2進表現の下位項部分の多項係数に相当する第4のビット集合を格納する下位結果レジスタと、
シフトレジスタと、
ロジックであって、該ロジックは、前記2つのレジスタ識別子によって特定される前記ソースレジスタ群の第1のレジスタ及び第2のレジスタの内容を、前記シフトレジスタを使用するシフト及び排他的論理和(XOR)を使用して乗算して中間値を得、前記上位結果レジスタの内容を該中間値の上位項部分に、前記下位結果レジスタの内容を該中間値の下位項部分に、加算し、排他的論理和(XOR)を使用して結果を得、前記上位結果レジスタ及び下位結果レジスタに結果を格納するように構成された、ロジックと
を含むことを特徴とするハードウエア・マイクロプロセッサ。」

3.引用例
当審における平成23年6月16日付け拒絶理由通知で引用された、本願の優先日前に頒布された刊行物である、米国特許第5812564号明細書(以下、「引用例」という。)には、図面とともに、次の技術事項が記載されている。
(イ)「The finite field processor means performs calculations over GF(2^(8)) and the error correction code check symbols are each 8 bits.」(第3欄第57?59行)(当審訳:有限体プロセッサー手段は、GF(2^(8))上で計算を行ない、そして、誤り訂正コードの検査シンボルは各々8ビットです。)

(ロ)「The RISC microcontroller 200 also includes a register file 216 which is preferably implemented as a dual-port RAM having port A and port B and first and second holding means coupled to port A and port B including operand holding registers HOLD A 244 and HOLD B 246. The dual ported configuration of the register file allows high speed operation of the GFMAC unit 220 which has direct access to the register file via parallel line 245 coupled to HOLD B 246. The register file 216 has a number of separate registers in its address space which may be organized as follows:」(第19欄第41?50行)(当審訳:RISCマイクロコントローラ200は、レジスタファイル216も含み、それは、好ましくは、ポートAとポートBとを有するデュアル・ポートRAM、及び、ポートAとポートBとに連結されたオペランド保持レジスタHOLD A 244と HOLD B 246とを含む第1及び第2保持手段、として実装されます。デュアルポート構成とされたレジスタファイルは、HOLD B 246に連結されたレジスタファイルに対して並列ライン245経由でダイレクトアクセスを有するGFMACユニット220に高速演算を許容します。
レジスタファイル216は、以下のように構成されるかもしれないそのアドレス空間に、数多くの個別のレジスタを持っています。)

(ハ)「A preferred embodiment of the RISC microcontroller 200 (shown in FIG. 5) provides a finite field processor means including GFMAC unit 220. As discussed above, the instructions executable by the GFMAC unit 220 are stored in ROM 202 (shown in FIG. 5). GFMAC unit 220 is illustrated in FIG. 6A. The GFMAC unit 220 performs the primary error correction calculations by providing finite field multiplication means for performing a finite field multiplication operation in a single execution cycle including Galois Field multiply circuit 252 and finite field addition means for performing a finite field addition operation in a single execution cycle including Galois Field addition circuit 254, both of which support Galois Field multiplication and addition over GF(2^(8)). This allows finite field calculations to be performed in a single execution cycle which calculations would typically require multiple cycles in a conventional ALU. Also, by virtue of the extension field relationship between the GF(2^(8)) and GF(2^(16)) finite fields and generator polynomials described above, the GFMAC unit 220 can perform calculations over GF(2^(16)) as well as over GF (2^(8)). The GFMAC unit 220 provides means for storing the results of the finite field multiplication operation including product register 260. The GFMAC unit 220 provides means for storing the results of the finite field addition operation including addition register 262. A copy of the Verilog code which presents a specific implementation of the GFMAC is provided as Appendix D. Verilog code is a logic analysis code created by Cadence Design Systems used in the design and fabrication of processors.
The GFMAC unit 220 illustrated in FIG. 6A is coupled to both ports of the dual port register file 216 (shown in FIG. 5) for high speed operation. More specifically, port D of the GFMAC unit is coupled to port A of the register file 216 (shown in FIG. 5) via RISC microcontroller data bus 222 and via HOLD A 244 (HOLD A) (shown in FIG. 5). Port E of the GFMAC unit in turn is coupled to port B of the register file 216 (shown in FIG. 5) via 8-bit wide parallel line 245 and HOLD B 246 (shown in FIG. 5). GFMAC operands provided by the register file 216 are thus stored in HOLD A 244 and HOLD B 246.
The GFMAC unit 220 further provides means for selectively providing, including multiplexors 248, 250, first and second operands from HOLD A 244 and HOLD B 246, the contents of product register 260 and the contents of addition register 262 to Galois Field multiply circuit 252 and Galois Field addition circuit 254. Multiplexors 248, 250 also receive as inputs intermediate calculation values provided from registers 260, 262, which store Galois Field product and addition values, respectively. Multiplexors 248, 250 selectively provide one of these inputs to the Galois Field multiply and addition circuits 252, 254 in response to a control signal provided along line 247, and via bus 222, from instruction decode circuits 214, 215 (shown in FIG. 5).
The Galois Field multiplier 252 supports Galois Field multiplication over GF(2^(8)) by multiplying the input operands provided along lines 249 and 251, and providing the result along line 253 to multiplexor 256. This output may be stored in the dedicated Galois Field product register 260. The Galois Field multiplier 252 may preferably be provided as a combinatorial logic array as will be described in more detail below. The respective inputs along lines 249 and 251 to the Galois Field multiplier 252 are propagated directly through the combinatorial logic provided to generate an output along line 253 which is provided through multiplexor 256 to product register 260. The combinatorial logic array included within the Galois Field multiplier 252 permits Galois Field multiplication of operands in a single execution cycle.
Galois Field addition is supported by the Galois Field adder 254 and the XOR circuit 266. Together, the Galois Field adder 254 and the XOR circuit 266 make up the Galois Field accumulator. The Galois Field adder 254 supports Galois Field addition of two operands over GF(28) and the results of the Galois Field addition are loaded into a Galois Field addition register 262 through multiplexor 258. The XOR circuit 266 serves as a second Galois Field adder to promote parallel execution of Galois Field multiplication and Galois Field addition within a single execution cycle. The XOR circuit 266, or its equivalent such as can be achieved by providing an additional multiplexor to multiplex the outputs of product register 260 and addition register 262 to the Galois Field adder 254, performs Galois Field addition by adding together contents of the product register 260 and addition register 262 and providing the result to multiplexor 258.
The transfer of the output of the Galois Field multiplier 252 and the Galois Field adder 254 to the respective product and addition registers 260, 262 are controlled by multiplexors 256, 258 respectively. Multiplexors 256 and 258 also receive as an input the output of multiplexor 248. Multiplexor 258 in turn receives as inputs intermediate calculation values from product register 260 and XOR circuit 266. The output of the multiplexors 256, 258 is selected by a control signal along line 257 provided from instruction decode circuits 214, 215 (shown in FIG. 5). The product register 260 and addition register 262, in turn, are loaded in response to respective load control signals (LD_ GFP, LD_ GFA) provided along lines 259, 261 from the instruction decode circuits 214, 215. The product register 260 and addition register 262 are also employed to provide the output of the GFMAC unit to the data bus 222, as illustrated.
In a single operation, such as "GFMAC D,E," the GFMAC unit 220 may perform two, parallel operations. The contents of product register 260 from a prior operation are added to the current contents of the addition register 262 by XOR circuit 266 and the result is prepared to be loaded into the addition register 262 through multiplexor 258. At the same time, the operands provided along lines 222 and 245 are Galois Field multiplied and the result is prepared to be loaded into the product register 260 through multiplexor 256. The concurrent operation of Galois Field addition and multiplication permits the RISC microcontroller 200 to rapidly process syndromes to correct errors. 」(第22欄第24行?第24欄第2行)(当審訳:RISCマイクロコントローラ200(図5に示される)の好ましい実施例は、GFMACユニット220を含む有限体プロセッサー手段を提供します。上に議論されたように、GFMACユニット220によって実行可能なインストラクションはROM 202(図5に示される)に格納されます。GFMACユニット220は図6Aにて説明されます。GFMACユニット220は、単一の実行サイクルで有限体乗算を行なう、ガロア体乗算回路252を含んだ有限体乗算手段、および、単一の実行サイクルで有限体加算を行なう、ガロア体加算回路254を含んだ有限体加算手段(両者は、GF(2^(8))上のガロア体乗算および加算をサポートする)を提供することによって、主要な誤り訂正計算を行ないます。これは、従来のALUが多数のサイクルを必要としていた有限体計算を、単一の実行サイクルにて行なうことを可能にします。さらに、上に記述されたGF(2^(8))およびGF(2^(16))の有限体とそれらの生成多項式との拡大体関係によって、GFMACユニット220は、GF(2^(8))上と同様にGF(2^(16))上の計算を行なうことができます。GFMACユニット220は、積レジスタ260を含む、有限体乗算の結果を格納するための手段を提供します。GFMACユニット220は、和レジスタ262を含む、有限体加算の結果を格納するための手段を提供します。特定のGFMACの実装を提供するVerilogコードのコピーが付録Dとして提供されています。Verilogコードは、ケイデンス・デザイン・システムズによって作成され、プロセッサのデザインと製作に用いられるロジック分析コードです。
図6Aで説明されたGFMACユニット220は、高速演算のためにデュアル・ポート・レジスタファイル216(図5に示される)の両方のポートにつながれています。より具体的には、GFMACユニットのポートDは、RISCマイクロコントローラ・データバス222、およびHOLD A 244(HOLD A)(図5に示される)を経由してレジスタファイル216(図5に示される)のポートAにつながれています。GFMACユニットのポートEは、さらに、8ビット幅の並列ライン245およびHOLD B 246(図5に示される)経由で、レジスタファイル216(図5に示される)のポートBにつながれています。レジスタファイル216によって提供されるGFMACオペランドは、HOLD A 244およびHOLD B 246にこのように格納されます。
GFMACユニット220は、さらに、マルチプレクサー248,250を含み、HOLD A244及びHOLD B 246、積レジスタ260の内容と和レジスタ262の内容から、第1及び第2番目のオペランドを選択的にガロア体乗算手段252及びガロア体加算手段254に供給するための手段を提供します。マルチプレクサー248及び250は、入力として、ガロア体の積及び和の値をそれぞれ格納するレジスタ260,262から供給された計算中間値も受け取ります。マルチプレクサー248および250は、これらの入力のうちの1つを、インストラクションデコード回路214,215(図5に示される)からライン247及びバス222に沿って提供される制御信号に応答して、選択的にガロア体乗算及び加算回路252,254に供給します。
ガロア体乗算器252は、ライン249及び251に沿って提供される複数の入力オペランドをGF(2^(8))上で乗ずることにより、ガロア体乗算をサポートし、その結果をライン253に沿ってマルチプレクサ256に提供します。この出力は、専用のガロア体・積レジスタ260に格納されるかもしれません。ガロア体乗算器252は、好ましくは、以下に詳細を記述する予定の、組合せロジック・アレーとして提供されるかもしれません。ライン249及び251に沿った、ガロア体乗算器252へのそれぞれの入力は、組合せロジックに直接伝えら、その出力は、ライン253に沿い、マルチプレクサー256を通って積レジスタ260へと提供されます。ガロア体乗算器252内に含まれる組合せロジック・アレーは、単一の実行サイクル内での、オペランドのガロア体乗算を可能にします。
ガロア体加算は、ガロア体加算器254およびXOR回路266によってサポートされます。ガロア体加算器254及びXOR回路266は、共に、ガロア体累算器を構築します。ガロア体加算器254は、2つのオペランドのGF(2^(8))の上のガロア体加算をサポートし、その結果はマルチプレクサー258を通ってガロア体加算レジスタ262にロードされます。XOR回路266は、単一の実行サイクル内でのガロア体加算及びガロア体乗算の並行実行を促進する、第2のガロア体加算器として働きます。XOR回路266(あるいは、積レジスタ260と和レジスタ262との出力をガロア体加算器254に多重化するための付加的なマルチプレクサを提供することにより達成されるようなその等価回路)は、積レジスタ260と和レジスタ262の内容を共に加算し、その結果をマルチプレクサ258に提供します。
ガロア体乗算器252及びガロア体加算器254の出力を、それぞれ、積及び和レジスタ260,262へ転送することは、それぞれ、マルチプレクサー256,258によって制御されます。マルチプレクサー256及び258は、さらに入力としてマルチプレクサー248の出力を受け取ります。マルチプレクサー258は、さらに、入力として、積レジスタ260及びXOR回路266から、計算中間値を受け取ります。マルチプレクサー256,258の出力は、インストラクションデコード回路214,215(図5に示される)から提供される、ライン257に沿った制御信号によって選択されます。積レジスタ260及び和レジスタ262は、さらに、インストラクションデコード回路214,215からライン259,261に沿って提供される、それぞれのロード制御信号(LD_GFP, LD_GFA)に応答してロードされます。積レジスタ260及び和レジスタ262は、図説のように、GFMACユニットの出力をデータバス222供給するためにも使用されます。
「GFMAC D, E」のような単一の演算では、GFMACユニット220は2つの並列演算を行なうかもしれません。先の演算からの積レジスタ260の内容は、現在の和レジスタ262の内容にXOR回路266によって加算され、そしてその結果は、マルチプレクサ258を通って和レジスタ262へロードされるよう準備されます。同時に、ライン222及び245に沿って提供されたオペランドは、ガロア体乗算され、その結果はマルチプレクサ256を通って積レジスタ260へロードされるよう準備されます。ガロア体加算と乗算との同時並行演算は、RISCマイクロコントローラ200が誤り訂正のために迅速にシンドロームを処理することを可能にします。)

(ニ)「More specifically, the pipelined operation of the RISC microcontroller 200 (shown in FIGS. 5 and 6) in processing the microcode, including parallel operand fetching and instruction execution, as well as the single clock cycle parallel execution of finite field multiplication and addition, may be best appreciated by showing the status of the elements of the RISC microcontroller, as shown in FIGS. 8-10 while processing corresponding portions of a specific set of microcode.
For example, the microcode in Table 4 is a portion of the microcode directed towards calculating the error locator polynomial σ1 above. This portion of microcode performs the calculation (S_(2)^(2) +S_(1)*S_(3)) associated with establishing the error location and stores the results of the calculation in REG1C. In this portion of code, the syndromes for the first interleave, S01-S06 have previously been determined by C/S generator 130 and stored in the register file 216 (as shown in Table 2).」(第30欄、TABLE 3に続く第1?18行)(当審訳:特に、マイクロコードの処理におけるRISCマイクロコントローラ200(図5および6に示される)のパイプライン・オペレーション、つまり、並行して、オペランドをフェッチすること、インストラクションを実行すること、同様に、有限体上の乗算と加算とを単一クロックで並行的に実行すること、は、RISCマイクロコントローラの要素の状態を、図8-10のように、マイクロコードの特定のセットの部分に対応する処理とともに示すことにより、最もよく評価されるかもしれません。
例えば、表4中のマイクロコードは、上記の誤り位置多項式の上記σ1の計算に向けられたマイクロコードの一部です。マイクロコードのこの部分は、誤り位置の確立に関連した計算(S_(2)^(2)+S_(1)*S_(3))を行ない、REG1Cに計算の結果を格納します。コードのこの部分で、第1のインターリーブに対するシンドロームであるS01-S06は、C/S生成器130により前もって決定され、(表2に示されているように)レジスタファイル216に格納されています。)

(ホ)「In cycle 5, the fetch operation from ROM instruction from cycle 3 "GFMLD S01, S03" has loaded the contents of "S01" into HOLD A (shown in FIG. 5) and the contents of "S03" into HOLD B (shown in FIG. 5). In addition, the ROM instruction from cycle 3 has been further decoded through the level 2 instruction decode 215 such that IR2 contains the instruction "GFMLD S01, S03" and the instruction "GFMLD S01, S03" is executed by performing two, parallel operations. First, the contents of GFP (product register 260 as shown in FIG. 6A) are prepared to be loaded into GFA (the addition register 262 shown in FIG. 6A). Second, HOLD A and HOLD B are GF multiplied and the result is prepared to be loaded into GFP.
This instruction demonstrates the power of the RISC microcontroller to perform multiple calculations during a single clock cycle. This ability is paramount in error correcting operations in that error correction requires many series of concurrent multiplication and addition operations.
Also in cycle 5, the ROM instruction from cycle 4 "GFMAC S01, S04" is decoded through the level 1 instruction decode 214 such that IR1 contains the instruction "GFMAC S01, S04" and, based on this instruction, a fetch of the contents of "S01" and "S04" is requested.
In cycle 6 the program address counter has loaded "N+5" into the ROM address and points to "N+6" as the next ROM address. The results from ROM instruction cycle 3 "GFMLD S01, S03" are loaded into GFA and GFP.
Continuing in cycle 6, the fetch operation from cycle 4 has loaded the contents of "S01" into HOLD A and "S04" into HOLD B. Also in cycle 6, the ROM instruction from cycle 4 has been further decoded through the level 2 instruction decode 215 such that IR2 contains the instruction "GFMAC S01, S04" and the instruction "GFMAC S01, S04" is executed. The ROM instruction from cycle 4 "GFMAC S01, S04" is executed by performing two, parallel operations. First, the contents of GFP (product register 260 as shown in FIG. 6A) from the prior operation are added to the current contents of GFA (the addition register 262 shown in FIG. 6A) and the result is prepared to be loaded into GFA. Second, HOLD A and HOLD B are GF multiplied and the result is prepared to be loaded into GFP.」(第31欄第47行?第32欄第20行)(当審訳:サイクル3からのROMインストラクション「GFMLD S01、S03」によるフェッチがサイクル5において実行され、「S01」をHOLD Aに(図5に示される)、「S03」の内容をHOLD Bに(図5に示される)ロードします。さらに、サイクル3からのROMインストラクションは、レベル2のインストラクションデコーダ215を通じてさらにデコードされ、その結果、IR2がインストラクション「GFMLD S01, S03」を含み、インストラクション「GFMLD S01, S03」は、並行して行なう演算により実行されます。第1に、GFP(図6Aの中で示されるような積レジスタ260)の内容は、GFA(図6Aの中で示される和レジスタ262)にロードされるよう準備されます。第2に、HOLD AおよびHOLD BはGF上で乗算され、結果は、GFPにロードされるよう準備されます。
このインストラクションは、単一のクロック・サイクル中に多数の計算を行なう、RISCマイクロコントローラの力を実証します。この能力は、誤り訂正が多くの一連の同時の乗算および加算を要求するという点で、誤り訂正の実行において最高のものです。
さらにサイクル5では、サイクル4からのROMインストラクション「GFMAC S01, S04」が、レベル1インストラクションデコーダによりデコードされ、その結果、IR1はインストラクション「GFMAC S0, S04」を含み、このインストラクションに基づいて、「S01」および「S04」の内容をフェッチすることが要求されます。
サイクル6において、プログラム・アドレス・カウンタは、「N+5」をROMアドレスとしてロードしており、次のROMアドレスとして「N+6」をポイントします。サイクル3のROMインストラクション「GFMLD S01, S03」の結果は、GFAとGFPにロードされます。
引き続きサイクル6では、サイクル4からのフェッチは、「S01」をHOLD Aに、および「S04」をHOLD Bにロードします。さらに、サイクル6では、サイクル4からのROMインストラクションは、レベル2のインストラクションデコーダ215を通じてさらにデコードされ、その結果、IR2がインストラクション「GFMAC S01, S04」を含み、インストラクション「GFMAC S01, S04」が実行されます。サイクル4からのROMインストラクション「GFMAC S01, S04」は、2つの並行する演算として実行されます。第1に、先のオペレーションからのGFP(図6Aの中で示されるような積レジスタ260)の内容は、GFA(図6Aの中で示される和レジスタ262)の現在の内容に加えられます。そして、その結果は、GFAにロードされるよう準備されます。第2に、HOLD AとHOLD Bとは、GF乗算され、そしてその結果は、GFPにロードされるよう準備されます。)

(ヘ)(当審注:列の区切りを「/」にて示す。)
「APPENDIX A
Microcode Instruction Definitions
・・・(当審注:中略)・・・
INSTRUCTION/ DESCRIPTION/ FORMAT
GFMLT D,E/ Galois Field Multiply: Multiply over GF(2^8) between the contens of two registers addressed by the value D and E respectively, is stored in the product in the product register (GPR) in the GMAC.(GFP=D*E(Galois field multiply))/ 1,11EE,EEEE,EDDD,DDDD

GFMAC D,E/ Galois Field Multiply and Accumulate: The produce over GF(2^8) of the contents of the two registers addressed by the value D and E is stored in the product in the product register (GFP) in the GMAC, and the previous product is accumulated to the GFMAC Accumulator(GFA).(GFP=D*E; GFA=GFA+GFP(-1) Galois field multiply and acumulate previous product)/ 1,01EE,EEEE,EDDD,DDDD

GFMLD D,E/ Galois Field Multiply and Load: The produce over GF(2^8) of the contents of the two registers addressed by the value D and E is stored in the product register (GFP) in the GMAC, and the previous product is loaded to the GPMAC Accumulator(GFA). (GFP=D*E; GFA=GFP(-1) Galois field multiply and load previous product)/ 1,10EE,EEEE,EDDD,DDDD

GFADD D,E/ Galois Field Add: The sum over GF(2^8) of the contents of the two registers addressed by the value D and E are stored in the GPMAC Accumulator. (GFA=D+E (Galois field ADD)/ 1,00EE,EEEE,EDDD,DDDD」(第43?53欄)(当審訳:付録A
マイクロコードインストラクションの定義

インストラクション/ 記述/ フォーマット
GFMLT D,E/ ガロア体乗算: D,Eのそれぞれの値によってアドレス指定された2つのレジスタの内容の間の GF(2^8)上の乗算、積は、GMAC中の積レジスタ (GFP)に格納される。GFP=D*E(ガロア体乗算)) )/ 1,11EE,EEEE,EDDD,DDDD

GFMAC D,E/ ガロア体乗算と累算: D,Eのそれぞれの値によってアドレス指定された2つのレジスタの内容の間の GF(2^8)上の積は、GMAC中の積レジスタ (GFP)に格納され、先の積はGPMAC累算器(GFA)に累算される。(CFP=D*E; GFA=GFA+GFP(-1) (ガロア体乗算と先の積の累算)/ 1,01EE,EEEE,EDDD,DDDD

GFMLD D,E/ ガロア体乗算とロード: D,Eのそれぞれの値によってアドレス指定された2つのレジスタの内容の間の GF(2^8)上の積は、GMAC中の積レジスタ (CFP)に格納され、先の積は、GMAC累算器(GFA)にロードされる。(CFP=D*E; GFA=GFP(-1) ガロア体乗算と先の積のロード)/ 1,10EE,EEEE,EDDD,DDDD

GFADD D,E/ ガロア体加算: D,Eのそれぞれの値によってアドレス指定された2つのレジスタの内容の間の GF(2^8)上の和は、GMAC中の累算器に格納される。(CFA=D+E(ガロア体加算)/ 1,00EE,EEEE,EDDD,DDDD)

(ト)「APPENDIX D
GFMAC Verilog Code
・・・(当審注:中略)・・・
// GF multiplication

wire[14:0] c;
wire[7:0]addc8,addc9,addc10,addc11,addc12,addc13,addc14;

parameter[7:0]tup_8=8'd29; //8-tuple rep.of x^8
parameter[7:0]tup_9=8'd58; //8-tuple rep.of x^9
parameter[7:0]tup_10=8'd116; //8-tuple rep.of x^10
parameter[7:0]tup_11=8'd232; //8-tuple rep.of x^11
parameter[7:0]tup_12=8'd205; //8-tuple rep.of x^12
parameter[7:0]tup_13=8'd135; //8-tuple rep.of x^13
parameter[7:0]tup_14=8'd19; //8-tuple rep.of x^14

assign c[0]=b[0]& a[0];
assign c[1]=(b[0]& a[1]) ^(b[1]& a[0]);
assign c[2]=(b[0]& a[2]) ^(b[1]& a[1]) ^(b[2]& a[0]);
assign c[3]=(b[0]& a[3]) ^(b[1]& a[2]) ^(b[2]& a[1])^(b[3]& a[0]);
assign c[4]=(b[0]& a[4]) ^(b[1]& a[3]) ^(b[2]& a[2])^(b[3]& a[1])^
(b[4]& a[0]);
assign c[5]=(b[0]& a[5]) ^(b[1]& a[4]) ^(b[2]& a[3])^(b[3]& a[2])^
(b[4]& a[1]) ^(b[5]& a[0]);
assign c[6]=(b[0]& a[6]) ^(b[1]& a[5]) ^(b[2]& a[4])^(b[3]& a[3])^
(b[4]& a[2]) ^(b[5]& a[1]) ^(b[6]& a[0]);
assign c[7]=(b[0]& a[7]) ^(b[1]& a[6]) ^(b[2]& a[5])^(b[3]& a[4])^
(b[4]& a[3]) ^(b[5]& a[2]) ^(b[6]& a[1])^(b[7]& a[0]);
assign c[8]=(b[1]& a[7]) ^(b[2]& a[6]) ^(b[3]& a[5])^(b[4]& a[4])^
(b[5]& a[3]) ^(b[6]& a[2]) ^(b[7]& a[1]);
assign c[9]=(b[2]& a[7]) ^(b[3]& a[6]) ^(b[4]& a[5])^(b[5]& a[4])^
(b[6]& a[3]) ^(b[7]& a[2]) ;
assign c[10]=(b[3]& a[7]) ^(b[4]& a[6]) ^(b[5]& a[5])^(b[6]& a[4])^
(b[7]& a[3]);
assign c[11]=(b[4]& a[7]) ^(b[5]& a[6]) ^(b[6]& a[5])^(b[7]& a[4]);
assign c[12]=(b[5]& a[7]) ^(b[6]& a[6]) ^(b[7]& a[5]);
assign c[13]=(b[6]& a[7]) ^(b[7]& a[6]);
assign c[14]=(b[7]& a[7]);

assign addc8[7:0]={c[8], c[8], c[8], c[8], c[8], c[8], c[8], c[8]}& tup_8;
assign addc9[7:0]={c[9], c[9], c[9], c[8], c[8], c[8], c[8], c[9]}& tup_9;
assign addc10[7:0]={c[10], c[10], c[10], c[10], c[10], c[10], c[10], c[10]}& tup_10;
assign addc11[7:0]={c[11], c[11], c[11], c[11], c[11], c[11], c[11], c[11]}& tup_11;
assign addc12[7:0]={c[12], c[12], c[12], c[12], c[12], c[12], c[12], c[12]}& tup_12;
assign addc13[7:0]={c[13], c[13], c[13], c[13], c[13], c[13], c[13], c[13]}& tup_13;
assign addc14[7:0]={c[14], c[14], c[14], c[14], c[14], c[14], c[14], c[14]}& tup_14;

assign m[0]=c[0] ^addc8[0] ^addc9[0] ^addc10[0] ^addc11[0] ^addc12[0] ^
addc13[0] ^addc14[0] ;
assign m[1]=c[1] ^addc8[1] ^addc9[1] ^addc10[1] ^addc11[1] ^addc12[1] ^
addc13[1] ^addc14[1] ;
assign m[2]=c[2] ^addc8[2] ^addc9[2] ^addc10[2] ^addc11[2] ^addc12[2] ^
addc13[2] ^addc14[2] ;
assign m[3]=c[3] ^addc8[3] ^addc9[3] ^addc10[3] ^addc11[3] ^addc12[3] ^
addc13[3] ^addc14[3] ;
assign m[4]=c[4] ^addc8[4] ^addc9[4] ^addc10[4] ^addc11[4] ^addc12[4] ^
addc13[4] ^addc14[4] ;
assign m[5]=c[5] ^addc8[5] ^addc9[5] ^addc10[5] ^addc11[5] ^addc12[5] ^
addc13[5] ^addc14[5] ;
assign m[6]=c[6] ^addc8[6] ^addc9[6] ^addc10[6] ^addc11[6] ^addc12[6] ^
addc13[6] ^addc14[6] ;
assign m[7]=c[7] ^addc8[7] ^addc9[7] ^addc10[7] ^addc11[7] ^addc12[7] ^
addc13[7] ^addc14[7] ;

// GF addition

assign sum[0]=a[0] ^b[0];
assign sum[1]=a[1] ^b[1];
assign sum[2]=a[2] ^b[2];
assign sum[3]=a[3] ^b[3];
assign sum[4]=a[4] ^b[4];
assign sum[5]=a[5] ^b[5];
assign sum[6]=a[6] ^b[6];
assign sum[7]=a[7] ^b[7];

endmodule」(第117?128欄)

また、第30欄の「TABLE 4」には、次のとおり記載されている。
「TABLE 4
--------------------------------
ROM
ADDRESS ROM INSTRUCTION
--------------------------------
N LDT1 S02
N+1 GFMLT S02,TREG1 ; GFP=S02^(2)
^( )N+2 GFMLD S01,S03 ; GFP=S01*S03, GFA=S02^(2)
N+3 GFMAC S01,S04 ; GFP=S01*S04
; GFA=S02^(2)+S01*S03
N+4 STGA REGIC ; STORE S02^(2)+S01*S03
; TO LOCATION IC
OF DPRAM
N+5 CALLF ELP ; JMP TO ELP
N+6 NOP
.
.
.
ELP LDA GFA ; LOAD ACC WITH GFA」

摘記事項(ト)において、「^」は排他的論理和(XOR)によるビット演算を意味する。また、c[0:14]のうち、x^8?x^14(当審注:ここでの「^」は冪乗を意味する。)に該当する項(c[8:14])を還元(Reduction)してc[0:7]に排他的論理和(XOR)により加算し、m[0:7]を生成することが記載されている。

よって、上記引用例記載事項及び図面を総合勘案すると、引用例には、次の発明(以下、「引用発明」という。)が記載されている。

「RISCマイクロコントローラ200は、レジスタファイル216とGFMACユニット220を含み、GFMACユニット220は、ガロア体乗算回路252、ガロア体加算回路254、有限体乗算の結果を格納する積レジスタ260、有限体加算の結果を格納するための和レジスタ262を含み、GFMACユニットのポートD, Eにレジスタファイルから第1及び第2番目のオペランドが供給され、ガロア体乗算手段252及びガロア体加算手段254に供給され、ガロア体の積及び和の値をそれぞれ格納するレジスタ260,262は計算中間値を含み、
レジスタファイル216は、そのアドレス空間に、数多くの個別のレジスタを持ち、
ガロア体乗算器252は、複数の入力オペランドをGF(2^(8))上で乗ずることにより、ガロア体乗算をサポートし、この出力は積レジスタ260に格納され、
ガロア体乗算器252は、組合せロジック・アレーとして構成され、第1及び第2番目の入力オペランドa[0:7]、b[0:7]から、結線によるシフトと、XOR演算とにより、c[0:14]を生成し、c[0:14]からx^8?x^14の項を還元してc[0:7]に加算することでm[0:7]を生成してガロア体GF(2^(8))上の乗算結果として出力し、ガロア体加算は、ロジックとして構成され、GF(2^(8))の上の第1及び第2番目の入力オペランドa[0:7]、b[0:7]をビットごとにXORすることにより行われるが、XOR回路266は、ガロア体加算器として働き、現在の和レジスタ262の内容と先の演算からの積レジスタ260の内容とがXOR回路266によって加算され、その結果は、マルチプレクサ258を通って和レジスタ262へロードされ、
RISCマイクロコントローラ200は、ガロア体GF(2^(8))上の乗算と加算のインストラクションとしてGFMTL D,E、GFMAC D,E、GFMLD D,E、GFADD D,E を備え、それらの第1及び第2番目のオペランドであるD, Eの値は、レジスタファイル216の持つレジスタをアドレス指定するものであり、そのフォーマットは、最初の3ビットが、それぞれ111,101,110,100であり、
RISCマイクロコントローラ200において「LDT1 S02」「GFMLT S02, TREG1」「GFMLD S01, S03」「GFMAC S01, S04」とのインストラクションが実行されると、RISCマイクロコントローラは、インストラクション「GFMLD S01, S03」によるフェッチとして「S01」の内容をHOLD Aに、「S03」の内容をHOLD Bにロードし、次に、HOLD AおよびHOLD BはGF上で乗算され、結果は、ガロア体・積レジスタ(GFP)にロードされ、続くインストラクション「GFMAC S01, S04」の実行により、該インストラクション「GFMAC S01, S04」による乗算と並行して、先の演算からのGFP(積レジスタ260)の内容は、GFA(和レジスタ262)の現在の内容に加えられ、その結果は、GFA(和レジスタ262)にロードされる、
RISCマイクロコントローラ。」

3.対比
本願発明と引用発明とを比較する。
引用発明の「RISCマイクロコントローラ200」は、最初の3ビットで識別されるフォーマット、つまりオプコードを有する「ガロア体GF(28)上の乗算と加算のインストラクション」を実行しているから、本願発明の「1又は複数のオプコードを有するインストラクションを実行するハードウエア・マイクロプロセッサ」相当する。
次に、引用発明において、「ガロア体加算」及び「ガロア体乗算」の「ロジック」に入力される、第1及び第2番目の入力オペランドa[0:7]、b[0:7]は、摘記事項(ト)に記載した「GFMAC Verilog Code」の内容からみて、それぞれa[7]x^7+a[6]x^6+a[5]x^5+a[4]x^4+a[3]x^3+a[2]x^2+a[1]x+a[0]、b[7]x^7+b[6]x^6+b[5]x^5+b[4]x^4+b[3]x^3+b[2]x^2+b[1]x+b[0](当審注:ここでの「^」は冪乗を意味する。)で表現される多項式の各係数のビットを並べてビットの集合により表現したものであることは明らかである。よって、引用発明の「ガロア体乗算」及び「ガロア体加算」を実行するための「ロジック」は、2進表現された各係数を有する多項式として表現されたGF(2^(8))の要素の間の多項式乗算及び多項式加算を実行しているものである。
以上のことから、引用発明において、「RISCマイクロコントローラ200」がインストラクション「GFMTL D,E、GFMAC D,E、GFMLD D,E、GFADD D,E 」の実行により、GF(2^(8))上の「ガロア体乗算」及び「ガロア体加算」を実行し、その演算の「ロジック」に入力される「第1及び第2番目の入力オペランド」が、a[0:7]、b[0:7]として、多項式の各係数のビットを並べたビットの集合により表現されていることが、本願発明の「マイクロプロセッサは、インストラクションの実行により、第1及び第2の多項式に関する多項式算術演算を実行し、第1及び第2の多項式は、各多項式の2進表現された各係数にそれぞれ対応する1又は複数のビットからなる第1及び第2のビット集合によって表現され」ていることに相当するといえる。
次に、引用発明の「レジスタファイル216」の「個別のレジスタ」は、「インストラクション」のオペランド「D, E」にて「アドレス指定」され、該「アドレス指定」された「個別のレジスタ」には、a[0:7]、b[0:7]等の「第1及び第2番目のオペランド」が、多項式の各係数のビットを並べたビットの集合として格納されていることは明らかであるから、引用発明の「インストラクション」のオペランド「D, E」が、本願発明の「2つのレジスタ識別子」に相当し、引用発明の該オペランドDにて「アドレス指定」された「レジスタ」、及びオペランド Eにて「アドレス指定」された「レジスタ」が、それぞれ、本願発明の「第1の多項式の2進表現の係数に対応する第1のビット集合を格納する第1のレジスタ」、及び、「第2の多項式の2進表現の係数に対応する第2のビット集合を格納する第2のレジスタ」に相当するといえる。
次に、引用発明の「インストラクション」のオペランド「D, E」にてそれぞれ「アドレス指定」された、「数多くの個別のレジスタを持」つ「レジスタファイル216」中の2つの「レジスタ」が、本願発明の「2つのレジスタ識別子によって特定される、レジスタファイル中のソースレジスタ群であって、該ソースレジスタ群は、前記第1及び第2のビット集合を格納する、ソースレジスタ群」に相当するといえる。
次に、引用発明の「和レジスタ262」は、ガロア体加算器である「XOR回路266」への入力を格納しているから、GF(2^(8))の要素を多項式として表現した場合の各係数のビットを並べたビットの集合を格納していることは明らかである。また、「和レジスタ262」には、「先の演算からの積レジスタ260の内容」と「現在の和レジスタ262の内容」とが「XOR回路266によって加算され、その結果」が「和レジスタ262へロード」されているのだから、「和レジスタ262」には、「結果」が格納されているといえる。
よって、引用発明の「和レジスタ262」と、本願発明の「第3の多項式の2進表現の上位項部分の多項係数に対応する第3のビット集合を格納する上位結果レジスタ、及び、上記第3の多項式の前記2進表現の下位項部分の多項係数に相当する第4のビット集合を格納する下位結果レジスタ」とは、「第3の多項式の2進表現の多項係数に対応する第3のビット集合を格納する結果レジスタ」である点で一致する。
次に、引用発明の「ガロア体乗算器252」は、「組合せロジック・アレーとして構成され、第1及び第2番目の入力オペランドa[0:7]、b[0:7]から、結線によるシフトと、XOR演算とにより、c[0:14]を生成し、c[0:14]からx^8?x^14の項を還元してc[0:7]に加算することでm[0:7]を生成してガロア体GF(28)上の乗算結果として出力し」ており、該「第1及び第2番目の入力」は、「レジスタファイル216」のうち、インストラクションの「第1及び第2番目のオペランドであるD, Eの値」によって「アドレス指定」された「個別のレジスタ」の内容がロードされたものであり、「ガロア体乗算器252」からの出力は「積レジスタ260」に格納されるが、その値は、「計算中間値」である。また、この「ガロア体乗算器252」における乗算は、本願明細書第【0008】段落の「2つの多項式a(X)及びb(X)が、a(X)b(X) mod P(X)を計算することによって乗算される」に相当する乗算である。
よって、引用発明の「ガロア体乗算器252」において、インストラクションの「第1及び第2番目のオペランドであるD, Eの値」によって「アドレス指定」された「個別のレジスタ」の内容を、「結線によるシフト」と「XOR演算」とにより「乗算」して「計算中間値」を得ることと、本願発明の「ロジックであって、該ロジックは、前記2つのレジスタ識別子によって特定される前記ソースレジスタ群の第1のレジスタ及び第2のレジスタの内容を、前記シフトレジスタを使用するシフト及び排他的論理和(XOR)を使用して乗算して中間値を得」ることとは、「ロジックであって、該ロジックは、前記2つのレジスタ識別子によって特定される前記ソースレジスタ群の第1のレジスタ及び第2のレジスタの内容を、シフト及び排他的論理和(XOR)を使用して乗算して中間値を得」る点で一致する。
次に、引用発明の「和レジスタ262」及び「XOR回路266」は、上記のとおり、「現在の和レジスタ262の内容」と「先の演算からの積レジスタ260の内容」とが「XOR回路266によって加算され、そしてその結果」が「和レジスタ262へロード」されるよう構成され、「和レジスタ262」には、GF(2^(8))の要素を多項式として表現した場合の各係数のビットを並べたビットの集合が格納されていることが明らかなことは前述のとおりであるから、引用発明の「和レジスタ262」、「積レジスタ260」及び「XOR回路266」と、本願発明の「ロジックであって」、「前記上位結果レジスタの内容を該中間値の上位項部分に、前記下位結果レジスタの内容を該中間値の下位項部分に、加算し、排他的論理和(XOR)を使用して結果を得、前記上位結果レジスタ及び下位結果レジスタに結果を格納するように構成された、ロジック」とは、「ロジックであって、前記結果レジスタの内容を該中間値に、加算し、排他的論理和(XOR)を使用して結果を得、前記結果レジスタに結果を格納するように構成された、ロジック」である点で一致する。

すると、本願発明と引用発明とは、次の点で一致する。
<一致点>
1又は複数のオプコードを有するインストラクションを実行するハードウエア・マイクロプロセッサであって、該マイクロプロセッサは、インストラクションの実行により、第1及び第2の多項式に関する多項式算術演算を実行し、第1及び第2の多項式は、各多項式の2進表現された各係数にそれぞれ対応する1又は複数のビットからなる第1及び第2のビット集合によって表現され、該マイクロプロセッサは、
前記インストラクションにおいて、2つのレジスタ識別子によって特定される、レジスタファイル中のソースレジスタ群であって、該ソースレジスタ群は、前記第1及び第2のビット集合を格納する、ソースレジスタ群と、
第1の多項式の2進表現の係数に対応する第1のビット集合を格納する第1のレジスタと、
第2の多項式の2進表現の係数に対応する第2のビット集合を格納する第2のレジスタと、
第3の多項式の2進表現の多項係数に対応する第3のビット集合を格納する結果レジスタと、
ロジックであって、該ロジックは、前記2つのレジスタ識別子によって特定される前記ソースレジスタ群の第1のレジスタ及び第2のレジスタの内容を、シフト及び排他的論理和(XOR)を使用して乗算して中間値を得、前記結果レジスタの内容を該中間値に、加算し、排他的論理和(XOR)を使用して結果を得、前記結果レジスタに結果を格納するように構成された、ロジックとを含むことを特徴とするハードウエア・マイクロプロセッサ。」

一方で、両者は次の点で相違する。
<相違点1>
本願発明では、「結果レジスタ」が、上位項部分を格納する「上位結果レジスタ」と、下位項部分を格納する「下位結果レジスタ」とからなり、「結果レジスタ」の内容を「中間値」に、「加算し、排他的論理和(XOR)を使用して結果を得」るとき、「上位結果レジスタ」の内容を「中間値」の「上位項部分」に、「下位結果レジスタ」の内容を「中間値」の「下位項部分」に、「加算し、排他的論理和(XOR)を使用して結果を得」、「上位結果レジスタ」及び「下位結果レジスタ」に結果を格納しているのに対し、
引用発明では、「現在の和レジスタ262」(本願発明の「結果レジスタに相当する。以下同じ。)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」(中間値)に、「XOR回路266によって加算」し(加算し、排他的論理和(XOR)を使用して結果を得)、「和レジスタ262」(結果レジスタ)に結果を格納することは記載されているものの、「和レジスタ262」(結果レジスタ)が、上位項部分を格納する上位のレジスタ(上位結果レジスタ)と、下位項部分を格納する下位のレジスタ(下位結果レジスタ)とからなることが記載されていないため、「現在の和レジスタ262」(結果レジスタ)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」(中間値)に、「XOR回路266によって加算」し(加算し、排他的論理和(XOR)を使用して結果を得)、「和レジスタ262」(結果レジスタ)に結果を格納するとき、「現在の和レジスタ262」(結果レジスタ)の上位のレジスタ(上位結果レジスタ)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」(中間値)の上位項部分に、「現在の和レジスタ262」(結果レジスタ)の下位のレジスタ(下位結果レジスタ)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」(中間値)の下位項部分に、「XOR回路266によって加算」し(加算し、排他的論理和(XOR)を使用して結果を得)、「和レジスタ262」(結果レジスタ)の上位のレジスタ(上位結果レジスタ)及び下位のレジスタ(下位結果レジスタ)に結果を格納することは記載されていない点。

<相違点2>
多項式乗算に、本願発明では「シフトレジスタを使用するシフト」及び排他的論理和(XOR)を使用しているのに対し、引用発明では、「結線によるシフト」とXORとを使用している点。

4.判断
そこで上記相違点について検討すると、
<相違点1>について:
ExclusiveOR(排他的論理和)を含む論理演算に用いられる2つのレジスタを、それぞれ上位レジスタ及び下位レジスタからなるものとし、上位レジスタ及び下位レジスタのそれぞれについて、ExclusiveOR(排他的論理和)を含む論理演算を行ない、その結果を上位レジスタ及び下位レジスタのそれぞれに出力することは、例えば、特開平11-175339号公報第【0135段落】及び第【0144段落】(R0H(上位ワードレジスタ)及びR0L(下位ワードレジスタ)からなるレジスタと、R1H(上位ワードレジスタ)及びR1L(下位ワードレジスタ)からなるレジスタとのそれぞれについて、ExclusiveOR等の算術論理演算動作を行い、その演算動作の結果を、R2H(上位ワードレジスタ)及びR2L(下位ワードレジスタ)からなるレジスタにそれぞれ出力している。)に記載されているように、本願の優先日前において周知技術である。
従って、引用発明に上記周知技術を適用し、引用発明において、GF(2^(8))の要素を多項式として表現した場合の各係数のビットを並べたビットの集合を格納していることが明らかな「和レジスタ262」を、上位項部分を格納する上位のレジスタ及び下位項部分を格納する下位のレジスタからなるものとし、「現在の和レジスタ262の内容」を「計算中間値」である「先の演算からの積レジスタ260の内容」(中間値)に、「XOR回路266によって加算」する(「加算し、排他的論理和(XOR)を使用して結果を得」る)とき、上位の「和レジスタ262」(上位結果レジスタ)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」の上位項部分(「中間値」の「上位項部分」)に、下位の「和レジスタ262」(下位結果レジスタ)の内容を、「計算中間値」である「先の演算からの積レジスタ260の内容」の下位項部分に、「XOR回路266によって加算」し(加算し、排他的論理和(XOR)を使用して結果を得)、上位の「和レジスタ262」(上位結果レジスタ)及び下位の「和レジスタ262」(下位結果レジスタ)に結果を格納することは、当業者が容易になし得たことである。

<相違点2>について:
多項式の乗算を、シフトレジスタを使用するシフト及び排他的OR動作(排他的論理和(XOR))を使用して行うことは、本願の優先日前において周知技術である(例えば、特表平10-503311号公報第4頁第9?24行の「発明の背景 ガロアフィールド多項式乗算/除算回路は技術分野においてよく知られている。このような回路においては、第1の複数の2進信号を第2の複数の2進信号によって乗算または除算することが所望される。ガロアフィールド乗算/除算回路は通信におけるCRC(サイクリックリダンダンシチェック)ビット信号およびコンボルーションエンコーディング信号を計算するための用途などに用いられる。
典型的な先行技術のガロアフィールド乗算/除算回路においては、動作を行なうためにシフトレジスタが用いられる。典型的な先行技術のガロアフィールド乗算回路においては、動作を行なうために、加算器および乗算器を備えた複数のシフトレジスタが用いられる。先行技術のガロアフィールド乗算回路においては、第1の複数の2進信号の各ビットがシフトレジスタへシフトされ、複数の第2の2進信号によって乗算され、加算されるというように続く。したがって、乗算動作を行なうために少なくともN+1個の数のクロックサイクルが必要であるという点で、動作は性質的に「連続的」である。ただしここでNは第1の複数の2進信号のビット数である。」との記載、同公報第12頁第26行?第13頁下から12行の「多項式の乗算 多項式の乗算は一般的な乗算とほぼ同じであるが、係数の加算が排他的OR動作によって行なわれるという点で異なる。・・・この例♯2において、実数の乗算とは異なり、2つの「X」項または2つの「1」項は除去される。」との記載、及び同公報第13頁の「例#1」「例#2」の記載参照。)。
よって、引用発明に上記周知技術を適用し、引用発明の「ガロア体乗算器252」において、「結線によるシフト」とXORとを使用することに代え、シフトレジスタを使用するシフト及び排他的OR動作(排他的論理和(XOR))を使用して多項式の乗算を行うようにすることは、当業者が容易になし得たことである。

また、本願発明の作用効果も、引用発明及び周知技術から当業者が予測しうるものである。

5.むすび
以上のとおり、本願の請求項1に係る発明は、特許法第29条第2項の規定により特許を受けることができないものである。
従って、その余の請求項について論及するまでもなく、本願は拒絶すべきものである。
よって、結論のとおり審決する。
 
審理終結日 2012-01-12 
結審通知日 2012-01-13 
審決日 2012-01-30 
出願番号 特願2002-568191(P2002-568191)
審決分類 P 1 8・ 121- WZ (G06F)
最終処分 不成立  
前審関与審査官 石井 茂和田中 友章  
特許庁審判長 江口 能弘
特許庁審判官 鈴木 重幸
清水 稔
発明の名称 多項式演算オペレーション  
代理人 富田 博行  
代理人 小林 泰  
代理人 千葉 昭男  
代理人 小野 新次郎  
代理人 社本 一夫  
代理人 上田 忠  

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ