(57)【要約】演算装置は、第１演算措置ブロック（１０）と、第２演算装置ブロック（１２）と、制御装置（１６）と、接続線を備えた接続装置とを備えている。第１演算装置ブロック（１０）および第２演算装置ブロック（１２）におけるそれぞれ同じ重みの各基本セル用に、接続線（１４ａ、１４ｂ、１４ｃ）がそれぞれ備えられている。これにより、同時に駆動する演算装置ブロックの制御装置を用いて、レジスタ交換を高速で行うことができる。
2005526990.tif 000002
【特許請求の範囲】
【請求項１】
第１演算装置ブロック（１０）と、第２演算装置ブロック（１２）とを備える演算装置であって、
第１演算装置ブロック（１０）は、第１オペランドの最下位のビット用であるＬＳＢ基本セル（１０ｂ）、および第１オペランドの最上位のビット用であるＭＳＢ基本セル（１０ｃ）を含む複数の第１基本セル（１０ａ、１０ｂ、１０ｃ）を備え、これらの各基本セルが、第１オペランドの１ビットを格納するために少なくとも１つのレジスタセルを有しており、
第２演算装置ブロック（１２）は、第２オペランドの最下位のビット用であるＬＳＢ基本セル（１２ｂ）、および第２オペランドの最上位のビット用であるＭＳＢ基本セル（１２ｃ）を含む複数の第２基本セル（１２ａ、１２ｂ、１２ｃ）を備え、これらの各基本セルが、第２オペランドの１ビットを格納するためにレジスタセルを有しており、
この第１演算装置ブロック（１０）の基本セル（１０ａ）と、この第２演算装置ブロックにおける同じ重みの基本セル（１２ａ）との間隔が、第１演算装置ブロック（１０）の基本セル（１０ａ）と第２演算装置ブロック（１２）における、異なる重みを有する基本セル（１２ｂ、１２ｃ）との平均間隔よりも小さくなるような空間に、上記第１および第２演算装置ブロック（１０、１２）が、互いに配置されており、
上記演算装置ブロック（１０、１２）における基本セル数と同じ数の接続線（１４ａ、１４ｂ、１４ｃ）を有し、１つの接続線が、第１演算装置ブロック（１０）において、ある重みを有する基本セルのうちの少なくとも１つのレジスタセルを、第２演算装置ブロック（１２）において、同じ重みを有する基本セルのレジスタセルに接続する接続装置と、
上記演算装置ブロック（１０）のレジスタセルの内容を、複数の接続線（１４ａ、１４ｂ、１４ｃ）を介して他の演算装置ブロック（１２）のレジスタセルに転送するための制御装置（１６）とを備える演算装置。
【請求項２】
上記第１演算装置ブロック（１０）のＭＳＢ基本セル（１０ｃ）の桁上げ出力装置を、第２演算装置ブロックのＬＳＢ基本セル１２ｂの桁上げ入力部に接続するための切り替え可能な桁上げ線（１８）と、
上記第１および第２演算装置ブロック（１０、１２）を単一の演算装置として構成するように、切り替え可能な桁上げ線（１８）により接続するための構成装置（２０）とをさらに備え、
上記構成装置を備えることにより、第１オペランドおよび第２オペランドを全体的なオペランドとして扱うことができ、この全体的なオペランドのうちより小さい重みの桁数用に第１演算装装置ブロックが備えられ、この全体的なオペランドのうちより大きな重みの桁数用に第２演算装装置ブロックが備えられている請求項１に記載の演算装置。
【請求項３】
上記第１演算装置ブロック（１０）が、空間的に離れて配置されている、少なくとも２つの部分演算装置ブロック（１０１、１０２）に分割され、第１部分演算装置ブロック（１２１）におけるＭＳＢ基本セルの桁上げ出力部が、第２部分演算装置ブロック（１２２）におけるＬＳＢ基本セルの桁上げ入力部に接続されており、
上記第２演算装置ブロックが、空間的に離れて配置されている、２つの部分演算装置ブロック（１２１、１２２）に分割され、第１部分演算装置ブロック（１２１）におけるＭＳＢ基本セルの桁上げ出力部が、第２部分演算装置ブロック（１２２）におけるＬＳＢ基本セルの桁上げ入力部に接続されており、
上記第１演算装置ブロック（１０）の第１部分演算装置ブロック（１０１）が、第２演算装置ブロック（１２）の第１部分演算装置ブロック（１２１）に隣接して配置され、
上記第１演算装置ブロック（１０）の第２部分演算装置ブロック（１０２）が、第２演算装置ブロック（１２）の第２部分演算装置ブロック（１２２）に隣接して配置される請求項１または２に記載の演算装置。
【請求項４】
上記第１演算装置ブロック（１０）における第１部分演算装置ブロック（１０１）のＬＳＢ基本セルが、第２演算装置ブロック（１２）における第１部分演算装置ブロック（１２１）のＬＳＢ基本セルと隣接する領域に配置され、
上記第１部分演算装置における第１部分演算装置ブロック（１０１）のＭＳＢ基本セルが、第２演算装置ブロック（１２）における第１部分演算装置ブロックのＭＳＢ基本セルと隣接する領域に配置され、
上記第１部分演算装置における第２部分演算装置ブロック（１０２）のＬＳＢ基本セルが、第２演算装置ブロック（１２）における第２部分演算装置ブロック（１２２）のＬＳＢ基本セルと隣接する領域に配置され、
上記第１演算装置ブロック（１０）における第２部分演算装置ブロック（１０２）のＭＳＢ基本セルが、第２演算装置ブロック（１２）における第２部分演算装置ブロック（１２２）のＭＳＢ基本セルと隣接する領域に配置される請求項３に記載の演算装置。
【請求項５】
上記第１および第２演算装置ブロックの部分演算装置ブロックそれぞれにおける基本セル数が同じとなる請求項３または４に記載の演算装置。
【請求項６】
各部分演算装置ブロックが、横方向および垂直方向に延びた形状となり、
上記部分演算装置ブロックそれぞれが他の部分演算装置ブロックに対してほぼ平行して配置され、結果として、第１演算装置ブロックの部分演算装置ブロックと第２演算装置ブロックの部分演算装置ブロックとが交互に配置された窓となる請求項２〜５のいずれか１項に記載の演算装置。
【請求項７】
各基本セルが、少なくとも２つの入力オペランドレジスタセル、および結果レジスタセルを備え、
上記結果レジスタセルの内容を、同じ基本セルの入力オペランドレジスタセルに転送するように、各基本セルが形成される請求項１〜６のいずれか１項に記載の演算装置。
【請求項８】
各基本セルが、少なくとも２つの入力オペランドレジスタセル、および結果レジスタセルを備え、
上記第１演算装置ブロックの結果レジスタセルの内容を、同じ重みを有する基本セルに対応している接続線（１４ａ）を介して、第２演算装置ブロックの入力オペランドレジスタセルに転送するように、上記制御装置（１６）が配置され、ならびに、
上記第２演算装置ブロックの結果レジスタセルの内容を、同じ重みを有する基本セルに対応している接続線（１４ａ）を介して、第１演算装置ブロックの入力オペランドレジスタセルに転送するように、該制御装置が配置される請求項１〜７のいずれか１項に記載の演算装置。
【請求項９】
長大数演算装置として形成される請求項１〜８のいずれか１項に記載の演算装置。
【請求項１０】
上記第１演算装置ブロックが１６０以上の基本セルを備え、第２演算装置ブロックが、同様に、１６０以上の基本セルを備えている請求項９に記載の演算装置。
【請求項１１】
上記第１演算装置ブロックが、少なくとも４つの部分演算装置ブロック（１００１、１００２、１００３、１００４）を備え、
上記第２演算装置ブロックが、少なくとも４つの部分演算装置ブロック（１００５、１００６、１００７、１００８）を備えており、
上記第１演算装置ブロックの２つの部分演算装置ブロック（１００１、１００２）間に、第２演算装置ブロックの部分演算装置ブロック（１００５）が配置され、この第２演算装置ブロックの部分演算装置ブロック（１００５）における最下位ビットから最上位ビットに向かう方向が、該第１演算装置ブロックと隣接する部分演算装置ブロック（１００１）における最下位の基本セルから最上位の基本セルに向かう方向と同じであり、
第２演算装置ブロックの部分演算装置ブロック（１００５）における最下位の基本セルから最上位の基本セルに向かう方向が、第１演算装置における他の隣接する部分演算装置ブロック（１００２）の最下位の基本セルから最上位の基本セルに向かう方向とは反対であり、
部分演算装置ブロック（１００１、１００５）における、最下位の基本セルから最上位の基本セルに向かう方向が同じである、２つの部分演算装置ブロック（１００１、１００５）間に、接続線が配置される請求項１〜１１のいずれか１項に記載の演算装置。
【請求項１２】
上記第１演算装置ブロックにおける部分演算装置ブロック（１００４）と第２演算装置ブロックにおける部分演算装置ブロック（１００５）との間に、構成スイッチ（２２）が配置され、該構成スイッチがＯＦＦ状態の場合に、第１および第２演算装置ブロックを、相互に独立した演算装置となるように構成する請求項１０に記載の演算装置。
【請求項１３】
他のスイッチ（５０ａ、５０ｂ）が、演算装置ブロックにおける２つの部分演算装置ブロック（１００２、１００３；１００６、１００７）それぞれの間に設けられており、このスイッチ（５０ａ、５０ｂ）がＯＦＦ状態の場合に、各々２つの部分演算装置ブロック（１００１、１００２；１００３、１００４；１００５、１００６；１００７，１００８）からなる、第１および第２演算装置ブロックから互いに独立した４つの演算装置ユニットを構成する請求項１１または１２に記載の演算装置。
【請求項１４】
他のスイッチ（５２ａ、５２ｂ、５２ｃ、５２ｄ）がＯＦＦ状態の場合に、演算装置を、互いに独立した８つの演算装置とするよう、全ての部分演算装置ブロックを互いに分離するために、該他のスイッチ（５２ａ、５２ｂ、５２ｃ、５２ｄ）を備えている請求項１１〜１３のいずれか１項に記載の演算装置。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
本発明は、演算装置、特には自装置の長さについて変更できる長大数演算装置（Langezahlrechenwerke）に関するものである。
【０００２】
ＤＥ  ３６３１９９２では、リベスト、シャミア、および、エイドルマンにより開発された、ＲＳＡ方法として知られる公開鍵方法を効率的に実施する、暗号化処理装置（kryptographieprozessor）が開示されている。なお、このＲＳＡ方法で用いるモジュラーの累乗法（modulare Exponentiation）では、先見乗算法（Multiplikations-Vorausschau-Verfahren）および先見還元算法（Reduktions-Vorausschau-Verfahrens）の演算を行っている。そして、この演算を行うために、この暗号化処理装置では３つのオペランド加算器（Drei-Operanden-Addierer）を用いている。なお、開示されているこの３つのオペランド加算器は、６６０ビットの長さを有している。また、基本セルは、複数の暗号レジスタ、移動装置、半加算器、全加算器、および桁上げ先見素子（Carry-Look-Ahead-Element）を備えている。そして、このような基本セル４つによって、４つのセルブロックを形成し、そして、この形成された４つのセルブロックに対して桁上げ先見素子が関連付けられる。このような４つのセルブロック、５つを用いて、２０セルブロックを形成している。そして、この暗号化処理装置は、総計３３個の上述したような２０セルブロック、および基本セルとの同期をとるためのクロック発振器を含む制御装置から構成される。また、上記４つのセルブロックに対して割り当てられた桁上げ先見素子が、桁上げが広範（２０ビット）にわたって伝播しているか否かを識別するために、相互に接続されている。ここで、２０ビットのブロックの伝播信号が活性である場合、当該２０ビットのブロックの桁上げが、その前のブロックの出力部での桁上げに依存しているということを示している。これに対して、２０ビットブロックの伝播信号が非活性である場合は、この桁上げがブロックの出力部に存在しているかもしれず、この桁上げはブロックの最上位のビットで、このブロック内において生成されるが、前のブロックによる影響を受けていないということを示している。
【０００３】
このため、演算装置のクロック（つまり、新しい入力オペランドが供給される率）を、桁上げ経路が演算装置全体における最下位のビットから最上位のビットまで延びているという最悪の場合よりも向上させることができる。ここで仮に、２０ビットブロックの伝播信号を活性化させた場合、桁上げが、演算装置全体の最下位のビットから最上位のビットまで伝播するまで演算装置を停止させてしまい、上記にて考慮した最悪の場合のように、演算装置全体のクロックの速度が低下する。
【０００４】
そこで、サイクル時間（すなわち、次の入力オペランドが演算装置に供給されてからの時間）を、ちょうど適切に、直接隣接するブロックの桁上げを処理するように調整する。これは、演算装置の桁数とは関係なく、ブロック桁上げの時間のみを考慮するだけでよいという利点がある。しかしながら、現在選択されているブロックの桁上げが、直前のブロックのみならず、この直前のブロックのさらに前のブロックによっても妨げられるようになっている場合、このサイクル時間が非常に遅くなるため、全桁上げ経路用の時間が十分にある。
【０００５】
また、図４では、公知の演算装置が有するビットｉについての基本セルを示している。この基本セルは、複数の入力オペランド用の複数のレジスタを備えているが、この図４では、２つのレジスタセル１１０、およびレジスタセル１１２のみを示している。そして、この基本セルは、さらに、加算器１１４および演算結果用レジスタセル（図４において符号１１６が付されている）を備える。図４に示されるような、基本セル内の比較的多数の構成要素から、実際には、当該基本セルは、比較的低い高さｈを有する一方、比較的広い幅ｄを有していることが分かる。それでも、６６０個のこの基本セルを、上に次々と積層する必要があるため、結果として１つの細長い塔となる。ところで、製造の観点から、チップはできる限り正方形であることが求められており、細長い塔は、互いに隣り合って配置された、複数の小さな積層に分割される。なお、これらの積層は、１つおきに上下が逆となっている。そして、ある積層が、当該積層の前に位置する積層から必要とする情報を、この積層の上部および下部において隣接している積層それぞれに伝送する。
【０００６】
また、処理時間を低減させるために、同時に稼動する２つの演算装置によって、いくつかの暗号アルゴリズムを並列処理することもできる。例えば、ある暗号アルゴリズムが反復性の場合、該アルゴリズムでは、一方の演算装置が備える演算結果のレジスタの内容（コンテンツ）（Inhalt）を、他方の演算装置が備えるオペランドレジスタに転送することを要求する。
【０００７】
すなわち、この状態を図３に示す。なお、この図３では、第１長大数演算装置９１および第２長大数演算装置９２が図示されている。また、各演算装置は、複数の基本セル９０を有しており、この各基本セルは、図４において示したように構成することができる。すなわち、各長大数演算装置中の基本セルの数は同じであり、ｎ個となる。また、用途に応じて、演算装置の長さは異なることとなる。ＤＥ  ３６  ３１２  ９９２  Ｃ２において開示された演算装置では、６６０ビットの長さを有している。したがって、もし、２つの暗号化演算を同時に実行する場合には、２つの６６０−ビットの長大数演算装置が使用されるであろう。
【０００８】
また、楕円曲線暗号法に関しては、例えば１６０ビットの長さを有する秘密鍵を使用すると十分な安全性を既に得ることができる。したがって、このような秘密鍵を用いる楕円曲線暗号法での演算装置の長さは、少なくとも１６０ビット必要となる。また、ＲＳＡ暗号システムに関しては、モジュールが１０２４桁であり、高い安全性の下で実施することができる。これに対して、より安全性の高いＲＳＡシステムでは、この桁が２０４８のモジュールを備えている。したがって、これらのシステムを同時に適用するためには、例えば２つの１０２４−ビット演算装置または２つの２０４８−ビット演算装置を並列に接続する必要がある。
【０００９】
例えば、長大数演算装置１（図３の９１）が備える結果レジスタにおける内容（コンテンツ）を、長大数演算装置２（図３の参照符号９２）が備える入力オペランドレジスタに転送するためには、第１バスインターフェース（バス‐ＩＦ；ＩＦ＝インターフェース）と、第２バスインターフェース（バスＩＦ）９４と、例えば３２ビット幅のバス９５とを使用することができる。このため、バスインターフェース９３は、長大数演算装置１から３２ビットのブロックを、ブロックごとに読み出す。そして、各３２ビットのブロックは、順々に、バス９５を介してバスインターフェース９４に伝送される。一方、このバスインターフェース９４は、入力された３２ビットのブロックを、長大数演算装置が備える正しい基本セルに転送（ロード）する。６６０ビットの演算装置については、ここでは、２０サイクル以上が必要となり、各サイクルは以下のステップを含む。すなわち、供給元の長大数演算装置（Quellen-Langzahlrechenwerk）において、３２個の基本セルそれぞれのアドレスを指定するステップと、この装置において３２個の基本セルを読み出すステップと、バスを介して３２ビットのブロックを伝送するステップと、伝送先の長大数演算装置（Ziel-Langzahlrechenwerk）において３２個の基本セルのアドレスを指定するステップと、この長大数演算装置が有する、アドレス指定された３２個の基本セルに、３２ビットのブロックを格納するステップとを含んでいる。
【００１０】
このように、演算装置から他の演算装置が有するレジスタへのアクセスは、これら演算装置両者を連結するバスシステムを介して、先の、オペランドの明示的な（expliziten）交換によって行われる。なお、標準的には、このバスは、３２ビットのビット幅を有する。ただし、このバスは、システムによっては、たったの８ビットのビット幅である場合もある。このため、この交換にかかる時間は、長大数演算装置、特に直並列の長大数演算装置では非常に長くなる。さらに加えて、データ転送を、例えば、電流プロファイル（Stromprofil）から調べることができるため、安全性についての問題がしばしば生じる。
【００１１】
そこで、本発明の目的は、より効率的でかつ、安全性の高い演算装置を提供することにある。
【００１２】
すなわち、上記した本発明の目的は、請求項１に記載の演算装置によって達成される。
【００１３】
また、本発明は、第１演算装置ブロックが第２演算装置ブロックの隣に配置される場合、２台の長大演算装置間におけるレジスタ交換を加速させるという認識に基づく。すなわち、上記第１演算装置ブロックが有する基本セルと、第２演算装置ブロックにおける、同様な重み（位）（gleichwertigen）を有する基本セルとの間隔が、第１演算装置ブロックが有する上記基本セルと、第２演算装置ブロックが有する少なくとも２つの異なる重みの基本セルとの平均間隔よりも短くなる。また、これらの演算装置のブロックは、多くの接続線を備えた接続装置を介して、互いに接続されている。そして、この接続線の数は、演算装置ブロックが有する基本セルの数と同じとなる。すなわち、この接続線は、第１演算装置ブロックの基本セルのうち少なくとも１つのレジスタセルと、第２演算装置ブロックにおける重みに応じた、上記基本セルのうちの少なくとも１つのレジスタセルとを、相互に接続している。さらにまた、本発明では、制御装置を備えているため、演算装置ブロックが有するレジスタセルの内容（コンテンツ）を、接続線を介して他の演算装置ブロックが有するレジスタセルに転送できる。
【００１４】
また、本発明の利点は、２台の並列処理演算装置間におけるレジスタ交換のために、１サイクルのみだけが必要となるため、このレジスト交換を迅速に行うことができるという点である。
【００１５】
また、本発明では、２台の並列演算装置が、互いに隣り合って配置されているので、同じ重みを有する、２台の演算装置における基本セルが互いに隣り合って配置されることとなる。本発明では、上記接続線が短くなるため、例えば、探針による攻撃（Sondenangriffe）によって盗聴を生じさせにくくするというさらなる利点を有する。なぜなら、攻撃される接続線がより長大になればなる程、この探針による攻撃がより行われやすくなるからである。
【００１６】
また、本発明では、互いが独立した、複数のビット信号を同時に伝送する。このため、本発明は、特に長大数演算装置において、データ伝送時における電流プロファイルが均一となるというさらなる利点を有する。
【００１７】
また、本発明のさらなる他の利点は、演算装置を容易に、より柔軟な構成とすることができるという点である。つまり、第１演算装置のＭＳＢの桁上げ出力信号と第２演算装置ブロックのＬＳＢの桁上げ入力信号との間での桁上げ経路を接続可能とすることによって、平行して配置された２台の演算装置を、２台分の長さを有する単一の演算装置に再構成することができる。また、逆に、２つの演算装置のブロック（または複数の演算装置のブロック）間での桁上げ経路に影響を与えることで、非常に長い長大数演算装置が、長さのより短い、２台、４台などの並列処理演算装置へと容易に再構成することができる。いくつかの暗号化タスクに対して様々な演算装置が必要とされるため、このような本発明の特徴は、多目的な暗号プロセッサにとっては特に利点となる。また、楕円曲線暗号法では、十分な安全性を実現するために、鍵は、ほぼ１５０ビット〜１８０ビットの間の大きさ、好ましくは１６０ビットの大きさとなる。しかしながら、長さが１０２４ビット、近年ではさらに２０４７ビットである鍵が用いられる場合には、従来のＲＳＡ暗号システムにおいて十分な安全性が確保される。すなわち、暗号システムを効果的に処理するためには、１０２４ビットまたは２０４７ビット以上の長さを有する長大数演算装置が必要となる。
【００１８】
一方、特に、チップ形状のスマートカードに備えられる暗号プロセッサでは、チップ領域での必要条件が、外部から予め調整され、そして緊密に算定される（eng bemessen）。したがって、ここでの課題は、所定の大きさのチップにおいて、暗号プロセッサにとって必要となる構成部材（例えば演算装置およびメモリ等）を提供することである。なお、チップ領域に関する必要条件は、各暗号化アルゴリズムに対して様々な演算装置を提供するのではなく、できる限り全ての暗号化アルゴリズムに対して同じ演算装置を使用できる点で有利となるものである。また、暗号化アルゴリズムを、鍵の長さが異なっていること、およびそれにより演算装置の長さが非常に異なっていることにより、本質的に区別することができる。
【００１９】
本発明では、２つの演算装置のブロック間に桁上げ経路を備えることによって、演算装置の長さについての構成を変更できる。ならびに、長い演算装置を必要とする場合、演算装置が有する経路を介して接続するための構成装置を備えることによって、あるいは、複数の平行した短い演算装置を必要とする場合、桁上げパスを遮断するための構成装置を備えることによって、演算装置の長さについての構成を変更することができる。また、本発明では、演算装置が自装置の長さの構成を変更できるために以下のような利点を有する。つまり、本発明では、演算装置を複数の用途に用いることができるという利点を有する。またさらに、本発明では、鍵の長さがより短い場合、簡単にＯＦＦ状態とせず、演算装置の一部を、第１演算装置に対して高速なレジスタ交換を行うことができる並列した第２演算装置として駆動させることができる。
【００２０】
本発明では、集積回路であり、所定形状を有するチップに、演算装置を適用可能とするために、本発明に係る各演算装置のブロックが、部分演算装置のブロック（部分演算装置ブロック）に分割されている。この部分演算装置ブロックは、交互に配置されており、このため、第１演算装置ブロックにおける２つの部分演算装置ブロック間に、第２演算装置ブロックにおける部分演算装置ブロックが配置される。また、第１および第２演算装置のブロックにおける部分演算装置のブロックそれぞれは、同じ重みを有する基本セル同士の間隔が互いにできる限り短くなるように配置されている。このため結果として、交互に配置された二重の蛇行構造（Maeanderstruktur）となる。したがって、２台の平行した演算装置のブロックによる蛇行形状が交互に配される。そして、演算装置が有する第１曲線塔（Maeanderturm）の後には、他の演算装置ブロックの第１曲線塔が続いている。これら２つの演算装置のブロックを互いに並列して駆動させる場合、同じ重みを有する基本セル同士の間隔を短くするために、後者の曲線塔の形状を反映させる。また、演算装置のブロックの連結した蛇行構造を用いて、桁上げ経路を活性化することにより演算装置ブロックを２倍の長さの演算装置全体に接続することができる。
【００２１】
次に、本発明の好ましい実施例について、添付図面を参照しながら詳述する。図１は、本発明の演算装置を示すブロック図である。図２は、本発明の演算装置の好ましい構成を示すブロック図である。図３は、通常のバスシステムを用いて、第１長大数演算装置と第２長大数演算装置との間でレジスタ交換を行うための構成を示すブロック図である。図４は、長大数演算装置におけるビットｉに関する基本セルを示す概略図である。図５は、本発明の演算装置の他の好ましい構成を示すブロック図である。図６は、２つの演算装置相互のブロックの構造について詳述するための図である。
【００２２】
図１は、本発明の演算装置の好ましい実施例のブロック図を示している。この演算装置は、第１演算装置ブロック１０と第２演算装置ブロック１２とを備えている。また、この第１演算装置ブロックは、多数の基本セル１０ａと、最下位ビットの基本セル１０ｂと、最上位ビットの基本セル１０ｃとを有している。また同様に、第２演算装置ブロックは、多数の基本セル１２ａと、最下位ビットの基本セル１２ｂと、最上位ビットの基本セル１２ｃとを有している。なお、この演算装置１の最下位ビットの基本セル１０ｂを、ＬＳＢ１基本セルとも呼ぶ。また、演算装置１の最上位ビットの基本セルを、ＭＳＢ１基本セルとも呼ぶ。また、アナログ指示（Analoge Bezeichnungen）が、第２演算装置ブロック１２用に選択されている。なお、用語「ＬＳＢ」は、最下位ビットを示しており、用語「ＭＳＢ」は、最上位ビットを示している。また、図１に示した各基本セル１０ａ、１０ｂ、１０ｃ、１２ａ、１２ｂ、１２ｃは、基本的には図４に示したように構成することができる。ただし、注意すべき点は、各基本セルが、基本セルの加算装置によって処理されるオペランド用のレジスタセルを多少含んでいるか、あるいは、１つ以上の結果レジスタセルを多少含んでいるかという点である。しかしながら、２つの演算装置間のレジスタ交換を高速で行うためには、演算装置ブロックそれぞれは、少なくとも１つのレジスタセルを有した基本セルを備え、該演算装置ブロックによって処理されるオペランドのビット信号を格納する必要がある。
【００２３】
さらにまた、図１に示した演算装置は、いくつかの接続線１４ａ、１４ｂ、１４ｃを有する接続装置を備えている。そして、各接続線が、２つの演算装置のブロックにおいて、同じ重みを有する２つの基本セル同士を互いに接続する。すなわち、接続線１４ａは、第１演算装置のブロックにおけるビットｉの基本セル（図１では１０ａとして示す）と、第２演算装置のブロック１２におけるビットｉの基本セル（図１では１２ａとして示す）とを接続している。同様に、接続線は、第１演算装置ブロック１０のＬＳＢ基本セル１０ｂを、第２演算装置ブロックのＬＳＢ基本セル１２ｂに接続している。また同じことが、２台の演算装置ブロックが備える２台のＭＳＢ基本セルを互いに接続している接続線１４ｃについても言える。
【００２４】
本発明の演算装置は、さらに、演算装置ブロック１０、１２を制御するための制御装置１６を備えている。このため、本発明の演算装置は、演算装置ブロックが有するレジスタセルの内容（コンテンツ）を、各基本セル用の接続線１４ａ、１４ｂ、１４ｃを介して、他の演算装置ブロックが有するレジスタセルの内容（コンテンツ）に直接転送できる。
【００２５】
図１に示した本発明の好ましい実施例では、並列した演算装置のブロックとして、いわば互いに影響を及ぼさないようにして、２つの演算装置ブロック１０、１２を駆動することができる。また、その代替として、２つの演算装置ブロック１０、１２を、第１演算装置ブロック１０における複数の基本セルの長さと、第２演算装置ブロック１２における複数の基本セルの長さとを足した長さを有する、単一の演算装置全体として駆動するように接続してもよい。これは、第１演算装置のブロックが有するＭＳＢ基本セルの桁上げ出力部と、第２演算装置のブロックが有するＬＳＢ基本セルの桁上げ入力部とを接続している桁上げ線１８を備えることにより実現することができる。また、この機能性を、スイッチ２２を制御する構成装置２０によって実現することができる。すなわち、この構成装置２０は、スイッチをＯＦＦ状態とする場合、２つの演算装置ブロックを、２台の並列処理装置として駆動させることができる。あるいは、この構成装置２０は、スイッチ２２をＯＮ状態とする場合、２つの演算装置ブロックを、単一の演算装置全体として駆動させることができる。この場合、第１演算装置ブロック１０の基本セルに格納されているオペランドのビットは、全オペランドに関しての最下位のビットであり、一方、第２演算装置ブロック１２の基本セルに格納されているオペランドのビットは、全オペランドの中で最上位のビットである。
【００２６】
演算装置ブロックにおける基本セルの形状および数と、図１に示した演算装置を実現する集積回路についての形状基準値（Geometrievorgabe）とに依存して、図１に示した空間的配置を既に満たすことができる。このとき、プロセッサの形状基準値では、幅の比較的短い演算装置が要求されており、矩形形状のチップが必要とされる。
【００２７】
なお、通常この要求では、上記チップができうる限り正方形であることが望ましい。
【００２８】
このため、ここで、図２に示す好ましい２重の蛇行構造について記載する。まず、各演算装置ブロックが、少なくとも２つの部分演算装置ブロックに分割されている。ここで、図２に示す実施例では、説明を明確とするために、第１演算装置ブロックが１６個の基本セルを備え、第２演算装置ブロックも１６個の基本セルを備え、各演算装置ブロックが、それぞれ８個の基本セルを有する２つの部分演算装置ブロックに分割されているものとする。ただし、通常の大きさの多目的暗号化演算装置では、部分演算装置ブロックに対して１０２４以上の基本セルが必要となる点に注意しなければならない。
【００２９】
そして、第１部分演算装置１０は、第１部分演算装置ブロック１０１と第２部分演算装置ブロック１０２とに分割される。同様に、第２演算装置は、第１部分演算装置ブロック１２１と第２部分演算装置ブロック１２２とに分割される。この第１演算装置の、第１部分演算装置ブロック１０１と第２演算装置ブロック１０２とは、部分演算装置ブロックの桁上げ経路１０３を介して、互いに接続されている。同様に、第２演算装置ブロックの第１部分演算装置ブロック１２１は、部分演算装置の桁上げ接続線１２３を介して、第２演算装置ブロック（図１における符号番号１２）の第２部分演算装置ブロック１２２に、接続されている。なお、これらの個々の部分演算装置ブロックにより、図１に示す演算装置ブロックが構成されていることを、図２に示すローマ数字によって明確にしている。
【００３０】
また、蛇行構造において接続線を確実に短くするために、２つの演算装置ブロックは、図２に示したように、連結蛇行構造（ineinandergreifende Maeanderstruktur）として配置されている。このため、第１演算装置ブロックが有するＬＳＢ基本セルは、接続線１４ｂを介して、第２演算装置ブロックが有するＬＳＢ基本セルに接続されている。また、接続線１４ａを介して互いに接続されている、第１演算装置ブロックのビットｉ用の基本セルと、第２演算装置ブロックのビットｉ用の基本セルとにおいても同じことが言える。最終的に、第１演算装置ブロックが有するＭＳＢ基本セルと第２演算装置ブロックが有するＭＳＢ基本セルとは、接続線１４ｃを介して互いに接続されている。なお、選択した実施例では、重みが、対応する基本セルにおいて示されている。すなわち、第１演算装置ブロックの基本セルの重みは、０（ＬＳＢ基本セル）〜１５（ＭＳＢ基本セル）となる。また、第２演算装置の重みは、１６（ＬＳＢ基本セル）〜３２（ＭＳＢ基本セル）となる。すなわち、これらの重みの表示（Wertigkeitsangaben）は、第１および第２演算装置ブロックが桁上げ線１８およびスイッチ２２を介して互いに接続されており、構成装置２０によってスイッチ２２がＯＮ状態で保たれる場合、真となる。
【００３１】
２つの演算装置ブロックが並列処理している場合、第１演算装置ブロックの基本セルの重み（Wertigkeiten）は変化しない。しかし、第２演算装置ブロックの重みは、図２に示したように、０〜１５までとなる。
【００３２】
次に、制御部１６は、同様に図２に示したように、各部分演算装置ブロックとの制御接続装置を備えている。そして、この制御装置１６は、接続線１４ａ、１４ｂ、１４ｃを介して、第１部分演算装置ブロックと第２部分演算装置ブロックとの基本セル間のレジスタ交換を行うことができる。
【００３３】
また、２つの演算装置ブロック、特には、図２に示す、個々の部分演算装置ブロックの、連動している蛇行構造（ineinander eingreifende Maeanderstruktur）によって、同じ重みとして対応する基本セル間の接続線をできる限り短くすることができる。この点において、この部分演算装置ブロックを平行に配置することが利点となる。なぜならば、この場合、２つの隣接する部分演算装置ブロックにおいて、同じ重みを有する個々の基本セル間では、全接続線の長さを同じとし、該接続線を全体としても可能な限り短くできるからである。
【００３４】
なお、実際には、２つの蛇行構造は、図２に示した部分演算装置ブロックよりも多くの部分演算装置ブロックによって構成されている。特に、実際には、個々の部分演算装置ブロックの高さは、幅に対して著しく高くなる。この場合、チップ形状を、例えば、略正方形とするために、各演算装置ブロックを２つ以上の部分演算装置ブロックに分割する。そして、分割した部分演算装置ブロックを図２に示す、組み合わせた指（ineinander greifenden Finger）の構造に応じて配置することが好ましい。
【００３５】
また、図５は、本発明の演算装置のさらなる他の好ましい構成を示している。この図５に示す構成では、本発明の第１実施例として対応する図２に示した演算装置を水平軸で反映させている。具体的には、図５に示す演算装置は、２つの演算装置ブロックを備えている。そして、この第１演算装置ブロックは、部分演算装置ブロック１００１、１００２、１００３、および、１００４から構成されており、一方、第２演算装置ブロックは、部分演算装置ブロック１００５、１００６、１００７、および、１００８から構成されている。また、図５に示されるように、より低い順序数（Ordnungszahl）１〜７が割り当てられる演算装置のＭＳＢは、１だけ大きい順序数が割り当てられた演算装置のＬＳＢに、常に接続されている。また、個々の部分演算装置ブロックは、図５に示す接続線によって接続されており、ある部分演算装置ブロックから次のブロックを線で結ぶ桁上げ経路を図示する。また、個々の部分演算装置ブロック１００１〜１００８では、矢印によって、部分演算装置ブロックのＬＳＢからＭＳＢに向かう方向を示している。
【００３６】
さらに図５では、図２に示したスイッチ２２と同じ機能を有するスイッチ２２を示している。このスイッチがＯＮ状態にある場合、図５に示す演算装置は、複数の８×ｍビットを有する単一の長大数演算装置として機能する。なお、このｍは、図５に示す部分演算装置ブロック１００１〜１００７のビット数である。
【００３７】
しかしながら、スイッチ２２がＯＦＦ状態である場合、図５に示す構成では、２つが平行して配され、長さが適度に短い演算装置として機能する。すなわち、特には、第１演算装置ブロックが、部分演算装置ブロック１〜４を備え、一方、第２演算装置ブロックが、部分演算装置ブロック５〜８を備える。さらに図５を参照すると、２つのより短い演算装置において、同じ順序のビット信号が互いに近接して配置されていることが分かる。つまり、第１演算装置ブロックの基本セルと第２演算装置ブロックの同じ重みの基本セルとの間の空間的間隔が、該第１演算装置ブロックの基本セルと該第２演算装置ブロックの少なくとも２つの異なる重みの基本セルとの間の平均間隔よりも短いということである。
【００３８】
なお、他の演算装置ブロックの基本セルとは異なる重みを有する、演算装置ブロックの基本セル全てを、第２演算装置ブロックの、ある基本セルに相互接続することによって上記平均間隔を計算することができるということに注意すべきである。すなわち、各々個々の接続間隔を合計し、そして、例えば、この合計した接続の数によって、合計された長さを割ることによって平均値を求めることができる。しかしながら、平均間隔を計算するために、２つの演算装置ブロック間における、全ての可能な接続を足し合わせ、そして、その結果から上記平均値を得る必要はない。つまり、異なる重みを有する基本セルのある程度（例えば、２つ）の接続を測定し、そして、その測定結果から平均値を算定するだけで十分である。いずれにしても、この構成では、同じ重みを有する基本セル間での伝送経路が短くなっている。これにより、一方の演算装置ブロックから他方の演算装置ブロックへの交換を行う高速レジスタを実現する。なお、基本セルと基本セルとの接続を通じて、ある演算装置ブロックの各基本セルが、他の演算装置ブロックにおいて同じ順序となる他の基本セルに接続している。
【００３９】
また、個々の部分演算装置ブロックが、必ずしも互いが正確に平行して配置されている必要はないという点に注意すべきである。また、同じ順序となる２つの基本セルの間隔が、第１演算装置ブロックが有する基本セルと第２演算装置ブロックが有する、１だけ大きい順序となる基本セルとの空間的間隔よりも常に小さくならなければならないという必要はないという点にも注意すべきである。つまり、部分演算装置ブロック５を、例えば、基本セル半分の高さ分、全体の高さ分、あるいは複数の基本セルの高さ分だけ垂直方向に移動させる場合、部分演算装置ブロック１００１と部分演算装置ブロック１００５とにおいて同じ重みとなる、２つの基本セル同士の間隔が、部分演算装置ブロックの基本セルと、他の部分演算装置ブロックが有する次に大きい、または次に小さい順序となる基本セルとの間隔の大きさが、例え等しくなったとしても本発明の効果が得られる。
【００４０】
以下に、図６を参照しながらこの状況を説明する。図６は、図１の拡大図である。図６における左側では、第１演算装置ブロック１０を示しており、特には、順序ｉ＋２、ｉ＋１、ｉ、ｉ−１、ｉ−２の基本セルを示す。また、図６における右側では、第２演算装置ブロックを示しており、特には、上記した第１演算装置ブロック１０と同様に、基本セルｉ＋３、ｉ＋２、ｉ＋１、ｉ、ｉ−１、ｉ−２を示す。なお、各基本セルの高さが、両方の演算装置ブロックにおいて同じになるものと仮定する。そして、各基本セルの高さは、図６ではｈとして示される。さらに、２つの演算装置ブロックは、図１に示すように、正確に同じ高さで配置されておらず、ｈ／２だけ互いにずれて配置されている点に注意すべきである。また、他のオフセット値であってもよいという点に注意すべきである。すなわち、２つの演算装置ブロック間のオフセットｖが０である場合、同じ順序の基本セル間での接続を最も短くすることができる。
【００４１】
また、２つの演算装置ブロックにおいて同じ順序となる２つの基本セル間を結ぶ接続線１４ａを、図６に実線で示す。ところで、本発明では、２つの演算装置ブロックが、以下のように配置される。すなわち、接続線１４ａの長さが、第１演算装置ブロックの基本セルｉと、第２演算装置ブロック２における異なる順序となる２つ以上の基本セル（例えば、順序ｉ＋１とｉ−１、またはｉ＋１とｉ＋２となる基本セル）との間の距離の平均値よりも短くなるように、２つの演算装置ブロックを配置する。また、基本セル１０ａと、演算装置ブロック１２における次に大きい順序の基本セル（つまり、基本セルｉ＋１）との間隔を、図６では、６０として示す。この図６からわかるように、この間隔の長さは、接続線１４ａの長さと同じとなる。しかしながら、さらに図６から分かるように、第１演算装置ブロックの基本セル１０ａと、例えば順序ｉ−１の基本セルとの間隔（図６の６２）は、間隔６０よりも長くなる。このため、例えば、間隔６０および間隔６２の両者について、算術平均（相加平均）値を算出すると、この算術平均値は、接続線１４ａの長さよりも長くなる。
【００４２】
また、本発明では、２つの演算装置ブロックが、互いに並列して配されている矩形の積層体であるか否かが重要とはならないことに注意すべきである。代わりに、これらの演算装置ブロックが、ある角度で互いに配置されている矩形の積層体であってもよい。あるいは、演算装置ブロックは、弓型であってもよく、また個々の基本セルが扇形に形成されていてもよい。つまり、これらのブロックは、必ずしも正確な長方形でなくてもよい。さらに、個々の基本セルが同じ寸法であるということは、回路設計および経路指定をより容易とするためには好ましいが、基本セルの個々の寸法を、必ずしも同じ大きさとする必要はない。
【００４３】
しかしながら、本発明のどの演算装置も、以下に示す利点を有している。すなわち、上記演算装置では、同じ順番の基本セルが互いにに配置されている。そして、２つの演算装置ブロックが互いに別々の演算装置として駆動する場合、上記演算装置では、短い接続線が用いられ、該２つの演算装置ブロックの基本セルが有するレジスタ間で、素早く、完全に並列してデータ交換を行うことができるという利点を有する。
【００４４】
さらにまた、図５に示す演算装置の構成は、４つの個々の演算装置が並列処理するように、駆動させることができるという点において注意すべきである。すなわち、この４つの演算装置による並列処理は、上記演算装置の構成において、部分演算装置ブロック１００２と１００３との間におけるスイッチ部５０ａおよび５０ｂと、部分演算装置ブロック１００６および１００７をそれぞれさらに備えることによって実現できる。また、この場合、互いに独立した４つの短い演算装置、つまり、部分的な演算装置ブロック１・２を備えた第１演算装置と、部分的な演算装置ブロック５・６を備えた第２演算装置と、部分的な演算装置ブロック３・４を備えた第３演算装置と、部分演算装置ブロック１００７・１００８を備えた第４演算装置とが存在する。
【００４５】
また、図５から分かるように、これら４つの演算装置もまた、２つの各演算装置間のレジスタ交換を速く行うことができるように、互いに配置される。
【００４６】
さらに図５に示すように、スイッチ５２ａ〜５２ｄを、対応する桁上げ線に備える場合、図５に示す演算装置の構造を、容易に、互いに別々の８つの演算装置として使用することができる。この場合、各演算装置の基本セル数は、１００１〜１００７の各部分演算装置ブロックの基本セル数と同じとなる。
【００４７】
また、図５から分かるように、蛇行構造をした本発明の演算装置は、最適な範囲で拡張可能とすることができる。すなわち、この演算装置は、長大数演算装置として機能してもよいし、スイッチ２２をＯＦＦ状態にすることにより、さらに２つの短い演算装置としてもまた機能することができる。また、スイッチ５０ａ・５０ｂをＯＦＦ状態にすることにより（スイッチ２２も同様にＯＦＦ状態にある）、４つの短い演算装置として機能することもできる。さらに、スイッチ５２ａ〜５２ｄをＯＦＦ状態にすることにより、８つの個々の演算装置を得ることができ、それらよって、２つの隣接する演算装置間における素早いデータ交換をそれぞれの接続線によって実現することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の演算装置を示すブロック図である。
【図２】本発明の演算装置の好ましい構成を示すブロック図である。
【図３】通常のバスシステムを用いて、第１長大数演算装置と第２長大数演算装置との間でレジスタ交換を行うための構成を示すブロック図である。
【図４】長大数演算装置におけるビットｉに関する基本セルを示す概略図である。
【図５】本発明の演算装置の他の好ましい構成を示すブロック図である。
【図６】２つの演算装置相互のブロックの構造について詳述するための図である。
【符号の説明】
【００４９】
１０          第１演算装置ブロック
１０ａ        基本セルｉ
１０ｂ        ＬＳＢ１基本セル
１０ｃ        ＭＳＢ１基本セル
１２          第２演算装置ブロック
１２ａ        基本セルｉ
１２ｂ        ＬＳＢ１基本セル
１２ｃ        ＭＳＢ１基本セル
１４ａ        ビット接続線
１４ｂ        ビット接続線
１４ｃ        ビット接続線
１６          制御装置
１８          桁上げ線
２０          構成装置
２２          桁上げ接続装置
５０ａ‐５０ｂ  構成スイッチ
５２ａ‐５２ｄ  構成スイッチ
６０、６２    同じではない位の基本セル間の間隔
９０          基本セル
９１          第１長大数演算装置
９２          第２長大数演算装置
９３          バスインターフェース
９４          バスインターフェース
１０１        第１演算装置ブロックの第１部分演算装置ブロック
１０２        第１演算装置ブロックの第２部分演算装置ブロック
１１０        第１演算数用のレジスタセル
１１２        第２演算数用のレジスタセル
１１４        加算器
１１６        結果レジスタセル
１２１        第２演算装置ブロックの第１部分演算装置ブロック
１２２        第２演算装置ブロックの第２部分演算装置ブロック
１００１‐１００８  部分演算装置ブロック
【図１】
2005526990.tif 000003
【図２】
2005526990.tif 000004
【図３】
2005526990.tif 000005
【図４】
2005526990.tif 000006
【図５】
2005526990.tif 000007
【図６】
2005526990.tif 000008
【手続補正書】
【提出日】平成16年5月13日(2004.5.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１演算装置ブロック（１０）と、第２演算装置ブロック（１２）とを備える演算装置であって、
第１演算装置ブロック（１０）は、第１オペランドの最下位のビット用であるＬＳＢ基本セル（１０ｂ）、および第１オペランドの最上位のビット用であるＭＳＢ基本セル（１０ｃ）を含む複数の第１基本セル（１０ａ、１０ｂ、１０ｃ）および、少なくとも４つの部分演算装置ブロック（１００１、１００２、１００３、１００４）を備え、これらの各基本セルが、第１オペランドの１ビット、または基本セルによって算出された結果ビットを格納するために少なくとも１つのレジスタセルを有しており、
第２演算装置ブロック（１２）は、第２オペランドの最下位のビット用であるＬＳＢ基本セル（１２ｂ）、および第２オペランドの最上位のビット用であるＭＳＢ基本セル（１２ｃ）を含む複数の第２基本セル（１２ａ、１２ｂ、１２ｃ）および、少なくとも４つの部分演算装置ブロック（１００５、１００６、１００７、１００８）を備え、これらの各基本セルが、第２オペランドの１ビット、または基本セルによって算出された結果ビットを格納するためにレジスタセルを有しており、
この第１演算装置ブロック（１０）の基本セル（１０ａ）と、この第２演算装置ブロックにおける同じ重みの基本セル（１２ａ）との間隔が、第１演算装置ブロック（１０）の基本セル（１０ａ）と第２演算装置ブロック（１２）における、異なる重みを有する基本セル（１２ｂ、１２ｃ）との平均間隔よりも小さくなるような空間に、上記第１および第２演算装置ブロック（１０、１２）が互いに配置されており、
上記第１演算装置ブロックの２つの部分演算装置ブロック（１００１、１００２）間に、第２演算装置ブロックの部分演算装置ブロック（１００５）が配置されており、第２演算装置ブロックにおける部分演算装置ブロック（１００５）の最下位のビットから最上位のビットに向かう方向が、第１演算装置ブロックにおける、隣接する部分演算装置ブロック（１００１）の最下位の基本セルから最上位の基本セルに向かう方向と同じであり、
第２演算装置ブロックにおける部分演算装置ブロック（１００５）の最下位の基本セルから最上位の基本セルに向かう方向が、第１演算装置における他の隣接する部分演算装置ブロック（１００２）の最下位の基本セルから最上位の基本セルに向かう方向とは反対であり、
上記演算装置ブロック（１０、１２）における基本セル数と同じ数の接続線（１４ａ、１４ｂ、１４ｃ）を有し、１つの接続線が、第１演算装置ブロック（１０）において、ある重みを有する基本セルのうちの少なくとも１つのレジスタセルを、第２演算装置ブロック（１２）において、同じ重みを有する基本セルのレジスタセルに接続し、部分演算装置ブロック（１００１、１００５）における、最下位の基本セルから最上位の基本セルに向かう方向が同じである、２つの部分演算装置ブロック（１００１、１００５）間に、接続線が配置されている接続装置と、
上記演算装置ブロック（１０）のレジスタセルの内容を、複数の接続線（１４ａ、１４ｂ、１４ｃ）を介して他の演算装置ブロック（１２）のレジスタセルに転送するための制御装置（１６）とを備える演算装置。
【請求項２】
上記第１演算装置ブロック（１０）のＭＳＢ基本セル（１０ｃ）の桁上げ出力装置を、第２演算装置ブロックのＬＳＢ基本セル１２ｂの桁上げ入力部に接続するための切り替え可能な桁上げ線（１８）と、
上記第１および第２演算装置ブロック（１０、１２）を単一の演算装置として構成するように、切り替え可能な桁上げ線（１８）により接続するための構成装置（２０）とをさらに備え、
上記構成装置を備えることにより、第１オペランドおよび第２オペランドを全体的なオペランドとして扱うことができ、この全体的なオペランドのうちより小さい重みの桁数用に第１演算装装置ブロックが備えられ、この全体的なオペランドのうちより大きな重みの桁数用に第２演算装装置ブロックが備えられている請求項１に記載の演算装置。
【請求項３】
上記第１演算装置ブロック（１０）が、空間的に離れて配置されている、少なくとも２つの部分演算装置ブロック（１０１、１０２）に分割され、第１部分演算装置ブロック（１２１）におけるＭＳＢ基本セルの桁上げ出力部が、第２部分演算装置ブロック（１２２）におけるＬＳＢ基本セルの桁上げ入力部に接続されており、
上記第２演算装置ブロックが、空間的に離れて配置されている、２つの部分演算装置ブロック（１２１、１２２）に分割され、第１部分演算装置ブロック（１２１）におけるＭＳＢ基本セルの桁上げ出力部が、第２部分演算装置ブロック（１２２）におけるＬＳＢ基本セルの桁上げ入力部に接続されており、
上記第１演算装置ブロック（１０）の第１部分演算装置ブロック（１０１）が、第２演算装置ブロック（１２）の第１部分演算装置ブロック（１２１）に隣接して配置され、
上記第１演算装置ブロック（１０）の第２部分演算装置ブロック（１０２）が、第２演算装置ブロック（１２）の第２部分演算装置ブロック（１２２）に隣接して配置される請求項１または２に記載の演算装置。
【請求項４】
上記第１演算装置ブロック（１０）における第１部分演算装置ブロック（１０１）のＬＳＢ基本セルが、第２演算装置ブロック（１２）における第１部分演算装置ブロック（１２１）のＬＳＢ基本セルと隣接する領域に配置され、
上記第１部分演算装置における第１部分演算装置ブロック（１０１）のＭＳＢ基本セルが、第２演算装置ブロック（１２）における第１部分演算装置ブロックのＭＳＢ基本セルと隣接する領域に配置され、
上記第１部分演算装置における第２部分演算装置ブロック（１０２）のＬＳＢ基本セルが、第２演算装置ブロック（１２）における第２部分演算装置ブロック（１２２）のＬＳＢ基本セルと隣接する領域に配置され、
上記第１演算装置ブロック（１０）における第２部分演算装置ブロック（１０２）のＭＳＢ基本セルが、第２演算装置ブロック（１２）における第２部分演算装置ブロック（１２２）のＭＳＢ基本セルと隣接する領域に配置される請求項３に記載の演算装置。
【請求項５】
上記第１および第２演算装置ブロックの部分演算装置ブロックそれぞれにおける基本セル数が同じとなる請求項３または４に記載の演算装置。
【請求項６】
各部分演算装置ブロックが、横方向および垂直方向に延びた形状となり、
上記部分演算装置ブロックそれぞれが他の部分演算装置ブロックに対してほぼ平行して配置され、結果として、第１演算装置ブロックの部分演算装置ブロックと第２演算装置ブロックの部分演算装置ブロックとが交互に配置された窓となる請求項２〜５のいずれか１項に記載の演算装置。
【請求項７】
各基本セルが、少なくとも２つの入力オペランドレジスタセル、および結果レジスタセルを備え、
上記結果レジスタセルの内容を、同じ基本セルの入力オペランドレジスタセルに転送するように、各基本セルが形成される請求項１〜６のいずれか１項に記載の演算装置。
【請求項８】
各基本セルが、少なくとも２つの入力オペランドレジスタセル、および結果レジスタセルを備え、
上記第１演算装置ブロックの結果レジスタセルの内容を、同じ重みを有する基本セルに対応している接続線（１４ａ）を介して、第２演算装置ブロックの入力オペランドレジスタセルに転送するように、上記制御装置（１６）が配置され、ならびに、
上記第２演算装置ブロックの結果レジスタセルの内容を、同じ重みを有する基本セルに対応している接続線（１４ａ）を介して、第１演算装置ブロックの入力オペランドレジスタセルに転送するように、該制御装置が配置される請求項１〜７のいずれか１項に記載の演算装置。
【請求項９】
長大数演算装置として形成される請求項１〜８のいずれか１項に記載の演算装置。
【請求項１０】
上記第１演算装置ブロックが１６０以上の基本セルを備え、第２演算装置ブロックが、同様に、１６０以上の基本セルを備えている請求項９に記載の演算装置。
【請求項１１】
上記第１演算装置ブロックの部分演算装置ブロック（１００４）と、第２演算装置ブロックの部分演算装置ブロック（１００５）との間に、構成スイッチ（２２）が配置され、この構成スイッチがＯＦＦ状態の場合に、第１および第２演算装置ブロックを、互いに独立した演算装置となるように構成する請求項１に記載の演算装置。
【請求項１２】
他のスイッチ（５０ａ、５０ｂ）が、演算装置ブロックにおける２つの部分演算装置ブロック（１００２、１００３；１００６、１００７）それぞれの間に設けられており、このスイッチ（５０ａ、５０ｂ）がＯＦＦ状態の場合に、各々２つの部分演算装置ブロック（１００１、１００２；１００３、１００４；１００５、１００６；１００７，１００８）からなる、第１および第２演算装置ブロックから互いに独立した４つの演算装置ユニットを構成する請求項１または１１に記載の演算装置。
【請求項１３】
他のスイッチ（５２ａ、５２ｂ、５２ｃ、５２ｄ）がＯＦＦ状態の場合に、演算装置を互いに独立した８つの演算装置とするよう、全ての部分演算装置ブロックを互いに分離するために、該他のスイッチ（５２ａ、５２ｂ、５２ｃ、５２ｄ）を備えている請求項１、１１または１２の何れかに１項に記載の演算装置。
【国際調査報告】
2005526990.tif 000009
2005526990.tif 000010
2005526990.tif 000011
2005526990.tif 000012
2005526990.tif 000013
2005526990.tif 000014