【手続補正書】
【提出日】平成19年10月2日(2007.10.2)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】  剰余演算を用いて数学的計算を実行する方法であって、
二進符号のデータを剰余に変換する段階、
剰余をCRNSからQRNSに変換する段階、
剰余のモジュラー積を算出する段階、
剰余のモジュラー和を算出する段階、
剰余をQRNSからCRNSに変換する段階、および
剰余を二進符号のデータに変換する段階
のうちの1つまたは複数を含み、
該段階のうちの少なくとも1つが、対応する少なくとも1つの、複数の論理ゲートを用いて実現される方法。
【請求項２】  二進符号の入力データを受け取る段階、および
該二進コードの入力データを剰余に変換する段階を含む、請求項1記載の方法。
【請求項３】  剰余をCRNSからQRNSに変換する段階を含む、請求項2記載の方法。
【請求項４】  QRNS剰余のモジュラー積（modular product）を算出する段階を含む、請求項3記載の方法。
【請求項５】  剰余の積のモジュラー和（modular sum）を算出する段階を含む、請求項4記載の方法。
【請求項６】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項5記載の方法。
【請求項７】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項6記載の方法。
【請求項８】  QRNS剰余を二進符号のデータに変換する段階を含む、請求項5記載の方法。
【請求項９】  モジュラー積をQRNSからCRNSに変換する段階を含む、請求項4記載の方法。
【請求項１０】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項9記載の方法。
【請求項１１】  モジュラー積を二進符号のデータに変換する段階を含む、請求項4記載の方法。
【請求項１２】  QRNS剰余のモジュラー和を算出する段階を含む、請求項3記載の方法。
【請求項１３】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項12記載の方法。
【請求項１４】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項13記載の方法。
【請求項１５】  モジュラー和を二進符号のデータに変換する段階を含む、請求項12記載の方法。
【請求項１６】  QRNS剰余をQRNSからCRNSに変換する段階を含む、請求項3記載の方法。
【請求項１７】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項16記載の方法。
【請求項１８】  QRNS剰余を二進符号のデータに変換する段階を含む、請求項3記載の方法。
【請求項１９】  剰余のモジュラー積を算出する段階を含む、請求項2記載の方法。
【請求項２０】  剰余のモジュラー積のモジュラー和を算出する段階を含む、請求項19記載の方法。
【請求項２１】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項20記載の方法。
【請求項２２】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項21記載の方法。
【請求項２３】  モジュラー和を二進符号のデータに変換する段階を含む、請求項20記載の方法。
【請求項２４】  モジュラー積をQRNSからCRNSに変換する段階を含む、請求項19記載の方法。
【請求項２５】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項24記載の方法。
【請求項２６】  モジュラー積を二進符号のデータに変換する段階を含む、請求項19記載の方法。
【請求項２７】  剰余のモジュラー和を算出する段階を含む、請求項2記載の方法。
【請求項２８】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項27記載の方法。
【請求項２９】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項28記載の方法。
【請求項３０】  モジュラー和を二進符号のデータに変換する段階を含む、請求項27記載の方法。
【請求項３１】  剰余をQRNSからCRNSに変換する段階を含む、請求項2記載の方法。
【請求項３２】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項31記載の方法。
【請求項３３】  剰余を二進符号のデータに変換する段階を含む、請求項2記載の方法。
【請求項３４】  剰余フォーマットの入力データを受け取る段階、および
剰余をCRNSからQRNSに変換する段階を含む、請求項1記載の方法。
【請求項３５】  QRNS剰余のモジュラー積を算出する段階を含む、請求項34記載の方法。
【請求項３６】  剰余の積のモジュラー和を算出する段階を含む、請求項35記載の方法。
【請求項３７】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項36記載の方法。
【請求項３８】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項37記載の方法。
【請求項３９】  QRNS剰余を二進符号のデータに変換する段階を含む、請求項36記載の方法。
【請求項４０】  モジュラー積をQRNSからCRNSに変換する段階を含む、請求項35記載の方法。
【請求項４１】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項40記載の方法。
【請求項４２】  モジュラー積を二進符号のデータに変換する段階を含む、請求項35記載の方法。
【請求項４３】  QRNS剰余のモジュラー和を算出する段階を含む、請求項34記載の方法。
【請求項４４】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項43記載の方法。
【請求項４５】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項44記載の方法。
【請求項４６】  モジュラー和を二進符号のデータに変換する段階を含む、請求項43記載の方法。
【請求項４７】  QRNS剰余をQRNSからCRNSに変換する段階を含む、請求項34記載の方法。
【請求項４８】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項47記載の方法。
【請求項４９】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項34記載の方法。
【請求項５０】  剰余フォーマットの入力データを受け取る段階、および
剰余のモジュラー積を算出する段階を含む、請求項1記載の方法。
【請求項５１】  剰余の積のモジュラー和を算出する段階を含む、請求項50記載の方法。
【請求項５２】  モジュラー和をQRNSからCRNSに変換する段階を含む、請求項51記載の方法。
【請求項５３】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項52記載の方法。
【請求項５４】  モジュラー和を二進符号のデータに変換する段階を含む、請求項51記載の方法。
【請求項５５】  モジュラー積をQRNSからCRNSに変換する段階を含む、請求項50記載の方法。
【請求項５６】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項55記載の方法。
【請求項５７】  モジュラー積を二進符号のデータに変換する段階を含む、請求項50記載の方法。
【請求項５８】  剰余フォーマットの入力データを受け取る段階、および
剰余のモジュラー和を算出する段階を含む、請求項1記載の方法。
【請求項５９】  剰余をQRNSからCRNSに変換する段階を含む、請求項58記載の方法。
【請求項６０】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項59記載の方法。
【請求項６１】  剰余を二進符号のデータに変換する段階を含む、請求項58記載の方法。
【請求項６２】  剰余フォーマットの入力データを受け取る段階、および
剰余をQRNSからCRNSに変換する段階を含む、請求項1記載の方法。
【請求項６３】  CRNS剰余を二進符号のデータに変換する段階を含む、請求項62記載の方法。
【請求項６４】  剰余フォーマットの入力データを受け取る段階、および
剰余を二進符号のデータに変換する段階を含む、請求項1記載の方法。
【請求項６５】  複数の論理ゲートが、カスタム・デジタル論理、標準セル論理、セルベースの論理アレイ、ゲート・アレイ、フィールドプログラム可能なゲート・アレイ、およびプログラム可能な論理デバイスから成る群より選択される、請求項1記載の方法。
【請求項６６】  二進符号が、1の補数、符号の大きさ（sign-magnitude）、符号なし二進数、2の補数、固定基数、および浮動基数から成る群より選択される、請求項2記載の方法。
【請求項６７】  定数とモジュラー・データ・オペランドとの積の計算を実現する方法であって、
可能な各モジュラー・データ・オペランドに関する定数関数による掛算の値を算出する段階、
定数関数によりされた掛算の値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
を含み、ここで複数の論理ゲートがモジュラー・データ・オペランドを受け取り、かつ定数と該モジュラー・データ・オペランドとの積を出力する方法。
【請求項６８】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項67記載の方法。
【請求項６９】  所与の基数aiおよび法（modulus）piに関する剰余の整数論的対数の計算を実現する方法であって、
可能な各剰余入力に関する整数論的対数関数の値を算出する段階、
整数論的対数関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
を含み、ここで複数の論理ゲートが剰余入力を受け取り、所与の基数aiおよび法piに関する剰余入力の整数論的対数を出力する方法。
【請求項７０】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項69記載の方法。
【請求項７１】  入力オペランドがゼロである場合に、ゼロ記号を出力する段階をさらに含む、請求項69記載の方法。
【請求項７２】  ゼロ記号がすべての1を有する二進語である、請求項71記載の方法。
【請求項７３】  複数の可能な生成元のそれぞれに関する整数論的対数関数を実現する段階、および
最適な生成元を選択する段階
をさらに含み、ここで最適な生成元の選択が、速度、面積、および電力から成る群より選択される、少なくとも1つの基準に基づく、請求項69記載の方法。
【請求項７４】  所与の基数aiおよび法piに関する剰余の整数論的指数の計算を実現する方法であって、
可能な各剰余入力に関する整数論的指数関数の値を算出する段階、
整数論的指数関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
を含み、ここで複数の論理ゲートが剰余入力を受け取り、かつ所与の基数aiおよび法piに関する剰余入力の整数論的指数を出力する方法。
【請求項７５】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項74記載の方法。
【請求項７６】  入力オペランドがゼロ記号である場合に、ゼロを出力する段階をさらに含む、請求項74記載の方法。
【請求項７７】  複数の可能な生成元のそれぞれに関する整数論的指数関数を実現する段階、および
最適な生成元を選択する段階をさらに含み、ここで最適な生成元の選択が、速度、面積、および電力から成る群より選択される、少なくとも1つの基準に基づく、請求項74記載の方法。
【請求項７８】  piを法とした2つの剰余の積を算出する方法であって、
第1の剰余がゼロである場合に第1の整数論がゼロ記号である、第1の入力オペランドに対応する第1の剰余の第1の整数論的対数を受け取る段階、
第2の剰余がゼロである場合に第2の整数論がゼロ記号である、第2の入力オペランドに対応する第2の剰余の第2の整数論的対数を受け取る段階、
pi-1を法とした第1の整数論的対数および第2の整数論的対数を加算し、第1の入力オペランドと第2の入力オペランドのpi-1を法とした和を生成する段階、ならびに
第1の入力オペランドと第2の入力オペランドのpi-1を法とした和の指数を生成する段階であって、指数を生成する段階が、pi-1を法とした和を複数の論理ゲートに入力することによって達成され、複数の論理ゲートが、
可能な各入力に関する整数論的指数関数の値を算出する段階、
整数論的指数関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
により選択される段階
を含み、ここで複数の論理ゲートの出力が、第1の剰余と第2の剰余のpiを法とした積である方法。
【請求項７９】  第1および第2の整数論的対数を加算する段階が、モジュラー加算器回路を用いて達成される、請求項78記載の方法。
【請求項８０】  第1の整数論的対数および第2の整数論的対数の一方または両方がゼロ記号であるときに、複数の論理ゲートの出力をゼロに設定する段階をさらに含む、請求項78記載の方法。
【請求項８１】  Nビット二進オペランドを剰余にpiを法として換算する方法であって、
qi+1のビット群に分割されたNビット・オペランドを受け取る段階、
Ni-1最下位ビットをゼロ拡張させる（zero extend）段階、ならびに
【数１】
2004514960.tif 000001
に関するビットQijの残りのqiの分割をそれぞれ、複数の論理ゲートのうちの各qiが、剰余を生成する複数の論理ゲートのうちの対応するqiに入力する段階であって、ゼロ拡張されたNi-1最下位ビットおよびqiの分割のqiの剰余をpiを法として加算し、Nビット・オペランドのpiを法とした剰余を生成する段階
を含む方法。
【請求項８２】  qiの複数の論理ゲートが、
残りのqiの分割のそれぞれに関する、可能な各入力に関するモジュラー換算関数の値を算出する段階、
モジュラー換算関数の算出された値を表す論理式を導き出す段階、および
論理式をqiの複数の倫理ゲートに写像する段階
によって選択される、請求項81記載の方法。
【請求項８３】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項82記載の方法。
【請求項８４】  piを法としたLのオペランドの和の計算を実行する方法であって、
Lのオペランドを加算してNi+[log2L]ビット符号なし和を生成する段階、
[log2L]+1最上位ビットの剰余を生成する複数の論理ゲートに、[log2L]+1最上位ビットを入力する段階、
Ni-1最下位ビットをゼロ拡張させる段階、ならびに
ゼロ拡張されたNi-1最下位ビットおよび[log2L]+1最上位ビットをpiを法として加算して、piを法としたLオペランドの和を生成する段階
を含み、ここで複数の論理ゲートが、
可能な各入力に関するモジュラー変換関数の値を算出する段階、
モジュラー変換関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択され、ここで複数の論理ゲートの出力が[log2L]+1最上位ビットの剰余である方法。
【請求項８５】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項84記載の方法。
【請求項８６】  中国式剰余定理（CRT）を用いて、LオペランドRNS値を二進表現に変換する方法であって、
Lの剰余を対応するLの複数の論理ゲートに入力し、Lの結果を生成する段階、および
Lの結果をMを法として加算し、LオペランドRNS値の二進表現を生成する段階
を含み、複数の論理ゲートが、
可能な各入力に関するCRT関数の値を算出する段階、
CRT関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択される方法。
【請求項８７】  複数の論理ゲートに論理式を写像する段階の前に論理式を最小にする段階をさらに含む、請求項86記載の方法。
【請求項８８】  Lオペランド値を二進表現に変換する方法であって、
LオペランドRNS値に関連するLの剰余をLの複数の論理ゲートに入力し、Lのスケールされた（scaled）結果を得る段階、および
Lのスケールされた結果を2kを法として加算し、LオペランドRNS値の二進表現を生成する段階
を含み、複数の論理ゲートが、
可能な各入力に関するLCRT関数の値を算出する段階、
LCRT関数の算出された値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択される方法。
【請求項８９】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項88記載の方法。
【請求項９０】  複素剰余数システム（CRNS）値を平方剰余数システム（QRNS）値に変換する方法であって、
CRNS値の虚数成分biを複数の論理ゲートに入力し、積
【外１】
2004514960.tif 000002
を生成する段階、
実数オペランドaiと積
【外２】
2004514960.tif 000003
をpiを法として加算し、第1のQRNS成分zi*を生成する段階、および
実数オペランドaiから積
【外３】
2004514960.tif 000004
をpiを法として減算し、第2のQRNS成分zi*を生成する段階
を含み、ここで複数の論理ゲートが、
可能な各入力に関する
【外４】
2004514960.tif 000005
関数により掛算の値を算出する段階、
【外５】
2004514960.tif 000006
関数により算出された掛算の値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択され、ここで複数の論理ゲートの出力が、CRNS値の虚数成分と
【外６】
2004514960.tif 000007
の積である方法。
【請求項９１】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項90記載の方法。
【請求項９２】  剰余をCRNSからQRNSに変換する段階が、
CRNS値の虚数成分biを複数の論理ゲートに入力し、積
【外７】
2004514960.tif 000008
を生成する段階、
実数オペランドaiと積
【外８】
2004514960.tif 000009
をpiを法として加算し、第1のQRNS成分zi*を生成する段階、および
実数オペランドaiから積
【外９】
2004514960.tif 000010
をpiを法として減算し、第2のQRNS成分zi*を生成する段階
を含み、ここで複数の論理ゲートが、
可能な各入力に関する
【外１０】
2004514960.tif 000011
関数により掛算の値を算出する段階、
【外１１】
2004514960.tif 000012
関数により算出された掛算の値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択され、ここで複数の論理ゲートの出力が、CRNS値の虚数成分と
【外１２】
2004514960.tif 000013
の積である、請求項2記載の方法。
【請求項９３】  複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項92記載の方法。
【請求項９４】  平方剰余数システム（QRNS）値を複素剰余数システム（CRNS）値に変換する方法であって、
第1のQRNS成分ziをpiを法として第2のQRNS成分zi*に加算して、和を生成する段階、
第1のQRNS成分ziから第2のQRNS成分zi*をpiを法として減算して、差を生成する段階、
第1の複数の論理ゲートに和を入力し、CRNS表現の実数成分aiを生成する段階、および
第2の複数の論理ゲートに差を入力し、CRNS表現の虚数成分biを生成する段階
を含み、ここで第1の複数の論理ゲートが、
可能な各入力に関する2-1関数により掛算の値を算出する段階、
2-1関数により算出された掛算の値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択され、ここで第1の複数の論理ゲートの出力が和と2-1の積であり、第2の複数の論理ゲートが、
可能な各入力に関する2-1関数による掛算の値を算出する段階、
2-1関数によりされた掛算の値を表す論理式を導き出す段階、および
複数の論理ゲートに論理式を写像する段階
によって選択され、ここで第2の複数の論理ゲートの出力が差と
【外１３】
2004514960.tif 000014
の積である方法。
【請求項９５】  第1の複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項94記載の方法。
【請求項９６】  第2の複数の論理ゲートに論理式を写像する段階の前に、論理式を最小にする段階をさらに含む、請求項94記載の方法。
【請求項９７】  剰余演算を用いて数学的計算を実行するための装置であって、
二進符号のデータを剰余に変換する手段、
剰余をCRNSからQRNSに変換する手段、
剰余のモジュラー積を算出する手段、
剰余のモジュラー和を算出する手段、
剰余をQRNSからCRNSに変換する手段、および
剰余を二進符号のデータに変換する手段
のうちの1つまたは複数を含み、ここで該手段のうちの少なくとも1つが、対応する少なくとも1つの、複数の論理ゲートを含む装置。