(57)【要約】【課題】デジタル電子バイナリ回転器及び反転器を提供すること。【解決手段】ｎ個の直列接続された２入力マルチプレクサ・バンクのアレイを備え、入力（１０２）において２nビットのバイナリ・データ・ワードを受け取るバイナリ回転器は、回転のためばかりでなく、選択的な反転のためにも、反転専用のさらに別のマルチプレクサの追加を必要とせずに、用いることができる。これは、マルチプレクサ・バンクに単一の制御ビットを供給するのではなく、ｎ個のマルチプレクサ・バンクのうちの１つを除く少なくとも全てのマルチプレクサのグループを制御論理回路（１２８）からのワードにより個別に制御できるようにすることによって達成される。制御ビットは、必要な反転付き回転をマルチプレクサの２n×ｎアレイだけでもたらすように適切に選択され、それら自体は適切な論理ゲート（１２４−１５４）によって生成されることができる。【選択図】図１０
2010508747.tif 000002
【特許請求の範囲】
【請求項１】
２nビットのバイナリ・データ・ワードを受け取るステップと、
各々が２n個のゲート素子からなるｎ個のバンクを含む、少なくとも２n×ｎ個の２位置ゲート素子のアレイに前記ビットを印加するステップであって、前記アレイは各々少なくとも２nビットの入力及び出力を有し、各ゲート素子は１つの制御入力と、少なくとも１つの入力及び１つの出力を有する３つの独立した信号端子とを含み、ゲート素子の前記ｎ個のバンクのうちの１つを除く少なくとも全てのゲート素子のグループは別々に制御可能であり、連続するバンクは直列に、各々のバンクの前記ゲート素子が隣接するバンク又は前記アレイの前記入力若しくは出力の、バンクに沿った方向に２の冪だけ離れたビットに接続されるように接続され、前記２の冪は異なるバンクに対して異なる、ステップと、
必要な回転又はシフトの量を示すｎビット・ワードを含む第１の信号と必要な反転又は非反転を示す第２の信号とを受け取るステップと、
少なくとも反転が必要なとき、前記第１及び第２の信号から前記アレイの前記ゲート素子に印加する制御信号を生成するステップであって、ゲート素子の前記ｎ個のバンクのうちの１つを除く少なくとも全てのゲート素子のグループは別々に制御可能である、ステップと、
前記制御信号を前記アレイ内の前記ゲート素子の前記制御入力に印加するステップと、を含み、
前記制御信号は前記第１及び第２の信号から、前記２n×ｎアレイの前記ゲート素子が、前記第１の信号により決定された前記必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたように前記ビットに反転又は非反転を施すこととを同時に動作するように、生成される、
ことを特徴とする、２nビットのバイナリ・データ・ワードのビットを回転又はシフトさせ、及び反転させる方法。
【請求項２】
前記各バンクのゲート素子は、先行バンクから、前記入力又は前記先行バンク内において２の連続する冪だけ離れた入力ビット又は出力ビットを受け取るように接続され、
前記２の冪は前記アレイの前記入力から前記出力に向って増加する、
ことを特徴とする、請求項１に記載の方法。
【請求項３】
前記制御信号は、前記第１及び第２の信号から、前記ゲート素子が、前記第１の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたように前記ビットに反転又は非反転を施すこととを、前記必要な回転又はシフトに反転が続く意味で同時に動作するように、生成されることを特徴とする、請求項１又は請求項２に記載の方法。
【請求項４】
前記制御信号は、前記第１及び第２の信号から、前記ゲート素子が、前記第１の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたように前記ビットに反転又は非反転を施すこととを、反転に前記必要な回転又はシフトが続く意味で同時に動作するように、生成されることを特徴とする、請求項１又は請求項２に記載の方法。
【請求項５】
前記ｎ個のバンクのバンクｊに対して、２j-1個の個別制御可能なゲート素子のグループが存在することを特徴とする、請求項１乃至請求項４の何れか１項に記載の方法。
【請求項６】
バイナリ・データ・ワードのビットを反転させる方法であって、
前記ビットを、各々が制御入力を有し、バンクに配列された複数のマルチプレクサを有する対数回転器に印加し、
前記対数回転器内の前記マルチプレクサの前記制御入力に制御信号を印加して、前記マルチプレクサに前記入力ビットを反転させることとそれらに回転を施すことの両方を行わせる、
ステップを含むことを特徴とする方法。
【請求項７】
ゲート素子又はマルチプレクサの少なくとも１つのバンクに対する前記制御信号は、前記第１の信号のディジット（Ｓ１）及びそれぞれの第３の信号（Ｃ１_０、Ｃ１_１）の両方を受け取るように接続された少なくとも１つのＯＲゲート（１２４）及び少なくとも１つのＡＮＤゲート（１２６）によって生成され、
各ゲート（１２４，１２６）の前記出力は非反転形式及び反転形式（Ｃ２_０乃至Ｃ２_３）の両方で生成され、
各々の前記出力は、前記第１の信号の前記ディジットの隣接する１つ（Ｓ２）をさらに受け取って前記制御信号の１つを供給する、それぞれの排他的ＯＲゲート（１５４）に印加される、
ことを特徴とする、請求項１乃至請求項６の何れか１項に記載の方法。
【請求項８】
前記ゲート（１２４、１２６）の前記出力（Ｃ２_０乃至Ｃ２_３）の各々が、前記第２の信号（ＳＲ）をさらに受け取るＡＮＤゲート（１５２）を通して前記それぞれの排他的ＯＲゲート（１５４）に印加されることを特徴とする、請求項７に記載の方法。
【請求項９】
デジタル・コンピュータ上で実行されるとき、請求項１乃至請求項８の何れかのステップを実行することを特徴とするコンピュータ・プログラム。
【請求項１０】
請求項９に記載のコンピュータ・プログラムを伝えるプログラム担体。
【請求項１１】
２nビットのバイナリ・データ・ワードのビットを回転又はシフトさせ、及び反転させるための、デジタル電子バイナリ回転器又はシフタ及び反転器を含む装置であって、
各々が２n個のゲート素子からなるｎ個のバンク（１０４）を含む、少なくとも２n×ｎ個の２位置ゲート素子のアレイ（１４０）であって、該アレイは２nビットのバイナリ・データ・ワードを受け取る入力（１０２）と、それぞれが少なくとも２nビットの出力とを有し、各ゲート素子は１つの制御入力（Ｓ）と、少なくとも１つの入力及び１つの出力を有する３つの独立した信号端子（Ａ、Ｂ、Ｃ）とを含み、ゲート素子の前記ｎ個のバンクのうちの１つを除く少なくとも全てのゲート素子のグループは別々に制御可能であり、連続するバンクは直列に、各々のバンクの前記ゲート素子が、隣接するバンク又は前記アレイの前記入力若しくは出力の、バンクに沿った方向に２の冪だけ離れたビットに接続するように、接続され、前記２の冪は異なるバンクに対して異なる、前記アレイと、
必要な回転又はシフトの量を示すｎビット・ワード（Ｓ０−Ｓ２）を含む第１の信号と、必要な反転又は非反転を示す第２の信号とを受け取るための制御入力と、
少なくとも反転が必要なとき、前記第１及び第２の信号から、前記アレイの前記ゲート素子に印加する制御信号（Ｓ’０−Ｓ’２）を生成するための、且つ、前記制御信号を前記アレイ内の前記ゲート素子の前記制御入力に印加するための、制御入力に結合された制御論理回路（１２８）と、
を含み、
ゲート素子の前記ｎ個のバンクのうちの１つを除く少なくとも全てのゲート素子のグループは別々に制御され、
前記制御論理回路は、前記第１及び第２の信号から、前記２n×ｎアレイの前記ゲート素子が、前記第１の信号により決定された前記必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたようにビットに反転又は非反転を施すことと、を同時に動作するように、制御信号を生成する、
ことを特徴とする装置。
【請求項１２】
各バンク（１０４）の前記ゲート素子は、先行バンクから、前記入力又は前記先行バンク内で２の連続する冪だけ離れた入力ビット又は出力ビットを受け取るように接続され、
前記２の冪は前記アレイの前記入力から前記出力に向って増加する、
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記制御論理回路（１２８）は前記第１及び第２の信号から、前記ゲート素子が、前記第１の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたように前記ビットに反転又は非反転を施すこととを、前記必要な回転又はシフトに反転が続く意味で同時に動作するように、前記制御信号を生成することを特徴とする、請求項１１又は請求項１２に記載の装置。
【請求項１４】
前記制御論理回路（１２８）は前記第１及び第２の信号から、前記ゲート素子が、前記第１の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第２の信号により決定されたように前記ビットに反転又は非反転を施すこととを、反転に前記必要な回転又はシフトが続く意味で同時に動作するように、前記制御信号を生成することを特徴とする、請求項１１又は請求項１２に記載の装置。
【請求項１５】
前記ｎ個のバンクのバンクｊに対して、２j-1個の個別制御可能なゲート素子のグループが存在することを特徴とする、請求項１１乃至請求項１４の何れか１項に記載の装置。
【請求項１６】
それぞれが制御入力を有してバンクに配列された複数のマルチプレクサを有する対数回転器と、
制御信号を前記対数回転器内の前記マルチプレクサの前記制御入力に印加して、前記マルチプレクサに、前記入力ビットを反転させること及びそれらを回転させることの両方をさせるゲート回路と、
を備えるデジタル電子バイナリ回転器及び反転器を含む装置。
【請求項１７】
ゲート素子又はマルチプレクサの少なくとも１つのバンクに対する制御信号を生成するための前記制御論理回路は、
前記第１の信号のディジット（Ｓ１）及びそれぞれの第３の信号（Ｃ１_０、Ｃ１_１）の両方を受け取るように接続された少なくとも１つのＡＮＤゲート（１２６）と、
各ゲート（１２４、１２６）の前記出力を非反転形式及び反転形式（Ｃ２_０乃至Ｃ２_３）の両方で生成するための手段と、
各々の前記出力、及び前記第１の信号の前記ディジットの隣の１つ（Ｓ２）を受け取り、前記制御信号の１つを供給するように接続された、それぞれの排他的ＯＲゲート（１５４）と、
を備える
ことを特徴とする、請求項１１乃至請求項１６の何れか１項に記載の装置。
【請求項１８】
前記出力（Ｃ２_０乃至Ｃ２_３）のそれぞれの１つを、前記第２の信号（ＳＲ）をさらに受け取るＡＮＤゲート（１５２）を通して受け取るように接続された、それぞれの排他的ＯＲゲート（１５４）をさらに備えることを特徴とする、請求項１７に記載の装置。
【請求項１９】
請求項１１乃至請求項１８の何れか１項に記載の装置を組み込んだ集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ内で２nビットのデジタル・バイナリ・データ・ワードを回転又はシフトさせ、及び反転させるのに用いるタイプのデジタル電子バイナリ回転器及び反転器、並びに、２nビットのバイナリ・データ・ワードを回転又はシフトさせ、及び反転させる方法に関する。
【背景技術】
【０００２】
バイナリ回転器の略図を図１に示す。このタイプの配列は対数回転器として知られている。図示した回転器１００は、１６ビット・ワードを扱うものであり、１６個の入力１０２、及び図示したように接続される１６×４個のマルチプレクサのアレイのユニット１０４を有する。マルチプレクサの出力に接続された１６個の出力１０６が存在する。マルチプレクサは破線で示される可能的なパスにより接続され、常時有効な接続は太線で示される。
【０００３】
図１の左側には２進数の入力ビットであるビット０乃至１５がある。デジタル・エレクトロニクスにおいて、種々様々な理由で２進数のビットをシフト又は回転することは普通のことであり、従ってこれらのタイプの回転器は頻繁に設けられる。
【０００４】
図１の対数回転器は、複数の２入力又は２：１マルチプレクサ・ユニットを用いて実施される。これらの１つについて図２を参照してより詳しく示す。この場合、ユニットは一対の入力Ａ及びＢ、１つの出力、並びに１つの制御入力Ｓを有する。制御入力は論理０又は論理１を受け取り、これがマルチプレクサ内でＡからの入力又はＢからの入力の何れかを出力Ｃに接続するように起るスィッチングを決定する。従って、制御ビットが論理０のとき、図２の（ａ）に示すように入力Ａが出力Ｃに通され、制御入力が論理１のとき、図２の（ｂ）に示すように入力Ｂが出力Ｃに接続される。殆どのマルチプレクサに対して、出力Ｃは２つの後続のＣ１及びＣ２で示すマルチプレクサに配信されるが、３つの独立した信号端子があるだけである。
【０００５】
図１に戻ると、マルチプレクサは４つのバンク内に存在することが分かる。図示したように、入力端から始めると、１６個のマルチプレクサ１０４ａはそれらのＡ入力において入力１０２のそれぞれの１つを受け取る。それらの入力Ｂにおいて、それらは、それぞれ、それらのＡ入力に接続された入力から８個の入力位置又はビットだけ移動した入力の１つを受け取る。従って第１のマルチプレクサ１０４ａ０は０及び８番ビット入力に接続され、マルチプレクサ１０４ａ１は１及び９番ビット入力に接続され、同様にして、７及び１５番ビット入力に接続されるマルチプレクサ１０４ａ７に至る。次にマルチプレクサ１０４ａ８は、その入力Ａ及びＢにおいて、それぞれ８及び０番ビット入力に接続され、以下、最後にマルチプレクサ１０４ａ１５が１５及び７番ビット入力に接続されるまで続く。
【０００６】
次のバンク１０４ｂにおいて、マルチプレクサは第１のバンク１０４ａのマルチプレクサの出力に接続される。それらは第１のバンクに多少同じに接続されるが、今回はどのゲートの２つの入力ＡとＢも、８ではなく４だけ離れたビットに接続される。逆に言えば、第１のバンクの各マルチプレクサは第２のバンクの２つのマルチプレクサに接続され、このことが各先行マルチプレクサからの２つの信号Ｃ１及びＣ２が存在する理由である。第３のバンク１０４ｃにおいて、任意の所与のゲートの入力は第２のバンクの２ビット離れたマルチプレクサの出力に接続され、第４の最後のバンク１０４ｄにおいてマルチプレクサは各々、第３のバンクの隣接するマルチプレクサに接続される。この接続は、当業者であれば良く理解できるように明確に図１に示したので、全ての可能な接続の完全な詳しい記述は不要である。
【０００７】
上記から、第１のマルチプレクサ・バンクは選択的に８ビットの回転を与え、次のバンクは４ビットの、第３のバンクは２ビットの、そして最後のバンクは１ビットの回転を与えることが分かる。１乃至１５ビットの任意の所望の回転は、必要なマルチプレクサ・バンクの適切な組合せにより行うことができる。
【０００８】
このタイプの回路の名称「対数」回転器のもとになるのは数列８、４、２、１である。回転器は、直列のステージにおいて、各ステージに対して回転又は非回転状態を選択し、２の固定冪の回転を実行することにより回転操作を実行する。一般に、２nビットの入力に対してそれぞれ２n個のマルチプレクサを有するｎ個のバンクが存在する。第１のバンクのマルチプレクサは２n-1入力ビット離れた入力に接続され、次のバンクは第１バンクの２n-2ビット離れたマルチプレクサに接続され、以下同様である。ｎの値は通常３、４又はより大きな整数となる。
【０００９】
直列接続のマルチプレクサの適切な動作により、入力１６ビット数は図１の回路により任意の所望の桁数回転させることができる。これを達成する方法を次に説明する。図１は入力１０２が回転なしに出力１０６に単に通される直通状態を示す。
【００１０】
各々のマルチプレクサ・バンクは制御論理回路１０８から制御入力ビットを供給される。バンクの各マルチプレクサの制御入力は互いに接続され、実際に制御ビットはバンクを下に通される。制御論理回路１０８は、位が下がる順番で４つの制御ビットＳ３、Ｓ２、Ｓ１及びＳ０を含む４ビット出力を供給する。図１の状態においては４つの制御ビットの全てはゼロである。従って、６４個のマルチプレクサの各々１つのＡ入力が選択される。
【００１１】
図１において、４つの制御ビットは全て０である。入力を直線的に通さずに、回転させることが必要な場合には、制御ビットをそれに応じて変更する。１ビットだけ回転させるためには、ビットＳ０を０から１に変更する。２ビットだけ回転させるには、ビットＳ０は０のままにして制御ビットＳ１を１に変更する。３ビットだけ回転するには、制御ビットＳ０及びＳ１の両方を１に変更する。このように入力を回転させるビットの数は、ビットＳ３、Ｓ２、Ｓ１、Ｓ０で表される値として簡単に設定されることが分かる。
【００１２】
図３は５ビットの回転が必要な一例である。従って、ビットＳ０及びＳ２が１に設定され、一方ビットＳ１及びＳ３は０に留まる。従って、ビットＳ３、Ｓ２、Ｓ１、Ｓ０は２進数０１０１となりデジタル値５を表す。第１及び第３のバンク１０４ａ及び１０４ｃの各マルチプレクサはそれらのＡ入力を選択することになり、第２及び第４のバンクの各マルチプレクサはそれらのＢ入力を選択することになる。結果として起るアクティブ接続は図３の太線で示され、５ビット回転が実際に生じることが分かる。より一般的に言えば、この配列を用いることで、入力ビットを入力ワード内の１５個の論理位置に至るまでシフトさせることができる。ビットがそれに沿ってシフトされる接続は、位置０から位置１５まで包み込み、それによりビット０乃至１５を、マルチプレクサへの適切な制御入力を用いて、それぞれビット０乃至１５の任意の位置にシフトさせることが可能になる。４ビット・ワードはバイナリ回転器によって実施される回転量を選択する。
【００１３】
図１に示す配列において用いられるマルチプレクサ・コンポーネントは標準セル・ライブラリにおいて入手可能であるので、これらのタイプの回転配列は設計及び実施することが比較的簡単であり普通に用いられる。図１のラインに沿った配列を組み込む一例は、Ｍａｈｕｒｉｎによる特許文献１に記載されている。
【００１４】
そのような回路を回転操作を実施するのに用いることを上述したが、類似の配列を用いてシフトを実施することもできる。この場合、接続は包み込みをしないで、図１の上縁で終端する。過度の複雑さを避けるために、本明細書における説明は主に回転を用いて与えるが、当業者であれば、それらは僅かな変更によりシフト操作にも用いることができることを認識するであろう。
【００１５】
デジタル信号処理（ＤＳＰ）ハードウェアにおいて頻繁に実施される別の有用な演算はビット反転器機能である。この場合、入力ワードの最上位ビットが最下位ビットで置き換えられ、次最上位ビットが次最下位ビットで置き換えられるなどにより、入力ワードのビットが出力ワード内で反転される。このような機能を連続的に実施する必要があるとき、データ・パスの書換えだけが必要になる。しかし、ビット反転がオプション機能である多くのアプリケーションが存在する。従って、論理スイッチング回路を用いて入力ワードの反転形又は非反転形を出力に渡せるようにする必要がある。この機能は、一列の２入力マルチプレクサを用い、そしてビットのビット反転形又は正常形を選択することにより、簡単に実現することができる。
【００１６】
図４は、回転と反転の両方がオプションとして必要な場合に、回転器と共に用いることができる反転器を示す。複雑さを減らすために８ビット入力（ｎ＝３）をこの図及び後の図に示す。図４に示す組合せた回転器／反転器は、図１に基づく回転器を含み、これが２入力マルチプレクサのさらに別のバンク１１２で形成される反転器と組み合せられる。各々個々のマルチプレクサ１１２−ｉは、ビットｉ及びビット７−ｉを受け取るように接続される。即ち、第１のマルチプレクサ１１２−０は、回転器の出力１０６からのビット０及び７を受け取るように接続され、次のマルチプレクサ１１２−１はビット１及び６を受け取るように接続されるなどである。
【００１７】
マルチプレクサ・バンク１１２は、反転が不要な場合に０、反転が必要な場合には１となるさらに別の制御ビットＳＲによって制御される。制御論理回路１１８は制御ビットＳＲを与えるように拡張することができる。制御ビットＳＲが０のとき、各マルチプレクサの上側入力（図示せず）が選択され、制御ビットＳＲが１のとき下側入力が選択される。
【００１８】
図４は出願人が知る範囲の如何なる従来技術の文献からも取ったものではなく、既知の技術を用いて回転と反転の両方をもたらすことのできる方法の例証であることに留意されたい。しかし、特許文献２（Ｆｕｊｉｔｓｕ）には、入力に接続された反転部分及び出力に接続された別の反転部分を有する、上述の回転器に基づくバレル・シフタが記載されている。
【００１９】
しかし、そのような実施は単一点に集束する多数の配線交差を必要とする。これは、シリコン・チップ内に過密配線をもたらす可能性があり望ましいものではない。これはまたマルチプレクサ・バンクの数の増加を必要とする。
【００２０】
Ｈｏｆｓｔｅｅ他による特許文献３には、対数回転器に基づくが、通常の回転操作だけでなく部分体回転を可能にするように最適化された回転器が記載されている。即ち、８ビット信号に対して、上部及び下部の４ビット成分をそれぞれ選択的に回転されることができ、或いはビットの隣接対を選択的に回転させることができる。これを達成するためには、マルチプレクサ・バンクは図１、図３又は図４に示して上述したようには接続されず、それぞれ４、２、及び１ビット離れたビットを交換するように接続される。用いられる制御論理回路は、入力をマルチプレクサ・バンクの１つから次へ伝えることを必要とする固定論理ゲートを含む。
【００２１】
バスのマトリックスにより接続される１６及び８入力ゲートの２つのバンクを用いて２つの入力７２ビット数をシフトさせ並び替えるための、１６ゲート・バンクのゲートが独立に制御される、複雑な構造体が、Ｐｕｒｃｅｌｌによる特許文献４に説明されている。さらに、反転配列は記載されていない。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】米国特許第５，９９１，７８６号明細書
【特許文献２】欧州特許出願公開第２６４，１３０号明細書
【特許文献３】米国特許第６，６７５，１８２号明細書
【特許文献４】米国特許第５，４７７，５４３号明細書
【発明の概要】
【発明が解決しようとする課題】
【００２３】
これら及び出願人が知る範囲のいずれの他の従来技術にも、最小のマルチプレクサ構成を用いて必要に応じて選択的回転（又はシフト）及び／又は反転を可能にする配列は開示されていない。
【課題を解決するための手段】
【００２４】
本発明はその種々の態様において添付の独立請求項の中で定められ、これについてこれから言及する。有益な特徴は従属請求項の中に示される。
【００２５】
出願人等は、ｎ個の直列接続された２入力マルチプレクサ・バンクを含むバイナリ回転器は、回転ばかりでなく選択的な反転にも、反転専用のさらに別のマルチプレクサ・バンクを付け加える必要なしに、用いることができることを認識した。これは、各バンクに対する単一制御ビットではなく、必要な反転付き回転をもたらすように適切に選択された制御ワードをマルチプレクサ・バンクに供給することによって実現される。
【００２６】
バイナリ回転器は反転を実施するためにも用いられるので、回転及び反転が実施されるとき、伝搬遅延内に信号がデバイスを通過するようにセーブすることの利点もある。これはまた、そのような配列を用いるプロセッサのクロック速度を増加することを可能にし、従って、回転器に加えてビット反転用のマルチプレクサの別個の列を用いる実施に比べて性能を向上させる。
【００２７】
本発明は図１に示した通りの構成以外の他の構成にも適用できる。即ち、マルチプレクサ・バンクは図示した順序にする必要はない。事実、それらを逆順序に配置して入力が１ビット離れたバンクを第１のバンクにすることには利点がある。実際に、対数パターン４、２、１が何らかの方法で現れる条件で、他の接続パターンを用いることができる。例えば、特許文献３のマルチプレクサ・アレイの構造を、適切に導出された制御ワードにより用いる（しかしその制御論理回路は用いない）ことができる。２入力マルチプレクサが好ましいが、その代りに３信号端子デバイスを原理的には用いることができる
【００２８】
ｎ個の直列接続された２入力マルチプレクサ・バンクを含むバイナリ回転器が、回転ばかりでなく選択的な反転にも、反転専用のさらに別のマルチプレクサ・バンクを付け加える必要なしに、用いることができることが認識されると、任意の所与の実施に必要な制御ワードは経験的に、又は既知のソフトウェア・ルーチンを用いて、決定することができる。制御ワードの詳しい実施例は以下に与える。制御ワードは、参照テーブル内に、前述のＳ３−Ｓ０及びＳＲのような回転及び反転制御ビットによりアドレス指定してストアし、２nビットのｎワードの必要な出力を供給するようにすることができ、或いは、ゲートの適切な配列により、又は等価なソフトウェアにより生成することができる。
【００２９】
次に、本発明の好ましい実施形態を、実施例として添付の図面を参照しながら詳しく説明する。
【図面の簡単な説明】
【００３０】
【図１】既知の対数回転器の構造を示すダイヤグラムである。
【図２】図１の既知の回路に用いられるマルチプレクサの１つを（ａ）及び（ｂ）に示し、制御ビットＳに依存する可能な接続及び実際の接続を示す。
【図３】５ビットの回転をもたらすように配列されたときの図１の回転器を示す。
【図４】図１に示した一般的なタイプの８ビット回転器をどのようにビット反転器と組み合せることができるかを示す。
【図５】１６ビット入力を選択的に回転及び反転させることができる、本発明の第１の実施形態を示す。
【図６】８ビット入力を選択的に回転及び反転させることができる、本発明の第２の実施形態を示す。
【図７】１ビット回転及び反転を実施するように構成されたときの図６の回転器／反転器を示す。
【図８】６ビット回転及び反転を実施するように構成されたときの図６のアレイを示す。
【図９】３ビットの回転をもたらすように構成されたときの、８ビット信号により用いるための、本発明を具体化する第３の回転器／反転器を示す。
【図１０】回転なしの反転をもとらすときの図９の回転器／反転器を示す。
【図１１】１ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１２】２ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１３】３ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１４】４ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１５】５ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１６】６ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１７】７ビットの回転と共に反転を実施するように構成されたときの図９の配列を示す。
【図１８】図９の回転器／反転器に基づく、本発明を具体化するシフタ／反転器を示す。
【図１９】本発明の実施形態に用いることができる制御論理回路の部分を示す。
【図２０】図１９の回路の出力の各々と共に用いることができる回路を示す。
【図２１】図２０の回路の出力を図９に示したタイプのアレイにどのように加えるかを示す。
【発明を実施するための形態】
【００３１】
本発明の実施形態は、対数回転器のマルチプレクサに対する制御信号の操作によりビット反転関数を選択的に得ることが可能になることの出願人等の理解によるものである。完全なビット反転機能は、各々が１６個のマルチプレクサの４個のバンクのアレイを用いる図５を参照して１６ビット回転ユニット１２０に対して説明する。図５は、入力１０２における１６ビット入力ワードに対する所望の完全ビット反転をもたらすための、各々のビットが辿るデータ・パスを示す。マルチプレクサの基本構造は図１及び図３におけるのと同じであるので再度説明はしない。図６に関して３×８個のマルチプレクサのアレイを用いる８ビット回転ユニット１４０が示されているが、これは、８ビット入力ワードに対する完全ビット反転をもたらすための、各々のビットが辿るデータ・パスを示しており、辿るのが多少容易である。マルチプレクサ・アレイは図４のものと類似しているが、但し、マルチプレクサ・バンク１１２は削除されている。図５及び図６の両方においてマルチプレクサは、やはり図２におけるものと同じである。各ビットは、マルチプレクサ・アレイを通る多くの可能なパスを有する。要求されるパスは、どんな場合でも図に示すようにマルチプレクサに印加される制御ビットにより実施される。
【００３２】
理解できるように、バンク１０４ｄ内のゲートにビット反転機能をもたらすために、全てのマルチプレクサはそれらに印加された制御ビット１を有する。これは、マルチプレクサに対するそれぞれの上流位置におけるビット・ラインからの下側入力（Ｂ）を出力に接続する。ゲート１０４ｃ上で、交互の論理０及び論理１をマルチプレクサの制御入力に印加する。マルチプレクサ１０４ｂに関しては、論理０と論理１の交互対をマルチプレクサの交互対に印加し、マルチプレクサ１０４ａに関しては（図５のみ）４つの論理０と４つの論理１の交互の組みを制御ゲートに印加する。制御ビットの論理状態は図５及び図６に示され、各ゲートに０又は１として書き込まれている。
【００３３】
図５の１６ビット実施を考えると、入力のこの配列の効果はビット１５を、マルチプレクサ・バンク１０４ａのビット位置７、マルチプレクサ・バンク１０４ｂのビット位置３、マルチプレクサ・バンク１０４ｃのビット位置１、及びマルチプレクサ・バンク１０４ｄのビット位置０における各マルチプレクサを介して、出力１０６におけるビット０に回転させることである。これらのマルチプレクサの全てはそれらの制御入力に印加された論理１を有する。
【００３４】
図６の８ビット実施を考えると、その効果はビット７を、マルチプレクサ・バンク１０４ｂのビット位置３、マルチプレクサ・バンク１０４ｃのビット位置１、及びマルチプレクサ・バンク１０４ｄのビット位置０における各マルチプレクサを介して、出力１０６のビット位置０に回転させることである。これらのマルチプレクサの全てはそれらの制御入力に印加された論理１を有する。
【００３５】
入力１０２における他の入力ビットは太線で示す経路を辿り、図示したビット番号から分かるように、出力１０６において反転して現れる。
【００３６】
従って、制御論理回路１２８は、図４の以前の制御ビットＳ２、Ｓ１、Ｓ０及びＳＲの代りに、図５における制御ワードＳ’３、Ｓ’２、Ｓ’１、Ｓ’０、又は図６における制御ワードＳ’２、Ｓ’１、Ｓ’０を供給する。制御信号Ｓ’１が実際に全て０又は全て１となることが起るが、この特定の実施においてはワードではなく事実上１ビットとなる。他のバンクに対しては、ゲートは、グループ化されて各グループが制御ワードのそれ用の制御ビットで制御されるようになる。以下で分かるように、バンク１０４ｃは２つの制御ビットを有するＳ’１を必要とし、バンク１０４ｂは４つの制御ビットを有するＳ’２を必要とし、そしてバンク１０４ａ（図５のみ）は８つの制御ビットを有するＳ’３を必要とする
【００３７】
図７及び図８は、反転を実施するだけではなく、回転及び反転を実施するように構成された図６の８ビット配列を示す。具体的には、図７は１ビットの回転及び反転を示し、一方図８は６ビットの回転及び反転を示す。これらの図に示す原理は、より一般的に１乃至２nビットの任意の回転及び反転に拡張することができる。
【００３８】
各々の場合において、最後のマルチプレクサ・バンク１０４ｄに対する制御ビットＳ１は単一ビットに留まりバンク全体に対して０（図７）又は１（図８）となる。マルチプレクサ・バンク１０４ｃに対する制御信号は、交互の０及び１を定める。マルチプレクサ・バンク１０４ｂに対する制御信号は、交互の００及び１１を定める。シフトと組み合せる場合の異なる回転に対しては、制御ワードＳ’２と上位の位相整合、及びビットＳ’１の状態は適切に選択される。これを調べる１つの方法は、一連のマルチプレクサに沿って、制御信号の０及び１により表されるデジタル値を調べることであり、これは図６乃至図８の各図の右側のＶを付けた列内に示す。
【００３９】
より一般的には、制御ビットＳ’１及び優先度の高い上位は、マルチプレクサの各々の以前の組みに加えられるとき、バンクｊに対して２j-1で与えられる数のグループに分けられる。従って、マルチプレクサ・バンク１０４ｄに対しては２j-1＝２0＝１となり、それ故論理０又は論理１を受け取る制御ビットの単一のグループが存在する。マルチプレクサ・バンク１０４ｃに対しては２j-1＝２1＝２となり、それ故、印加された論理０又は論理１を有し得る制御ビットの２つのグループが存在する。これらのビットは回転されるワード内の交互のビットであり、それ故交互のマルチプレクサは互いに配線された制御入力を有する。マルチプレクサ・バンク１０４ｂに対しては２j-1＝２2＝４となり、それ故、隣接するマルチプレクサの対に印加される制御ビットの４つのグループが存在する。各グループは互いに配線された制御入力を有する。従って、このルーティング法の対称性は、この方法を回転器の任意の所望の幅に拡張することを可能にする。
【００４０】
一連のマルチプレクサに沿った制御信号の０及び１で表される上記の値Ｖは、可能な入力信号及び必要な出力信号の全てに対して、即ち全ての可能な反転付き回転に対して列挙することができる。８ビット状態に対して得られる値は下表の通りである。０、１、及び６ビットの回転に対する値は、それぞれ図６、図７、及び図８についてである。
2010508747.tif 000003
【００４１】
これらの値に対して、多くの方法で表すことができるパターンが存在することが分かる。値は原則としてストアするか又は種々の方法で進行中に計算することができる。それらは例えば、Ｓ２、Ｓ１、Ｓ０及びＳＲでアドレス指定される参照テーブルに単にストアすることができ、或いは、それらは標準的論理ゲートを用いて回路に結線接続することができ、或いは、それらは上表の値のパターンを参照して、周知の論理合成ソフトウェアを用いて任意の便利な方法で計算することができる。
【００４２】
回転が不要の場合は、ＳＲ＝０であり、Ｓ’２、Ｓ’１、Ｓ’０はＳ２、Ｓ１、Ｓ０に等しく、単に、既知の対数回転におけるようにバンク内の各マルチプレクサに対して繰り返される、必要な回転のビット数となる。
【００４３】
反転制御ビットを含む制御信号の正確な符号化は、回路の全体的な効果が、回転器及び続く反転器の効果、或いは反転器及び続く回転器の効果に等価であるかどうかを決定することになる。ある意味でこれは用語の問題であり、ｉの回転及び続く反転は、反転及び続く２n−１の回転と同じである。左回転及び右回転（又は左シフト及び右シフト）に関しても同様の考えが当てはまる。
【００４４】
制御信号をマルチプレクサ又はゲート・アレイに配信する論理回路の設計は、マルチプレクサの最右側のバンク１０４ｄ内のゲートに対する制御信号は、単一のゲートのみを通過し、先行するマルチプレクサ・バンクの各々に対しては、信号は増加する数のゲートを通過する必要がある。これは、信号が通過する必要のあるマルチプレクサに対する制御信号のセットアップにおいて伝搬遅延を生じる。初めの伝搬遅延はデータが流れるべきマルチプレクサの数に比例する。この理由は、マルチプレクサ１０４ａ（１６ビットの場合、又は８ビットの場合には１０４ｂ）に対する制御信号を導くのに、マルチプレクサ１０４ｄに対するよりも多くのゲートが必要であるからである。
【００４５】
しかし、マルチプレクサの順序を反転させて、位置１０４ｄのマルチプレクサによって実行される小さな回転が、データが貫流するときに初めに実施され、マルチプレクサ１０４ａによる大きな回転が最後に実施されるようにすることにより、回転及び反転が選択されるときの伝搬遅延は最小化される。この理由は、マルチプレクサの第１の組みが、単一ゲートを介してそれらに制御入力を印加するための単一の伝搬遅延の後で、それらの回転を適用する準備が整うことになるからである。このことが起り且つデータが伝搬されると同時に、後続のマルチプレクサに対して必要な制御信号は、論理回路を通して伝搬し種々のマルチプレクサに対する適切な制御信号を導くことができる。従って、初めの伝搬遅延は１つの伝搬遅延ほどにも小さくすることができる。
【００４６】
そのような配列を図９に示す。図９の実施例は、反転なしの３ビットの回転を実施するように、即ち、Ｓ２、Ｓ１、Ｓ０＝Ｓ’２、Ｓ’１、Ｓ’０＝０１１及びＳＲ＝０に構成される。図１０は、回転のない反転、即ちＳ２、Ｓ１、Ｓ０＝０００及びＳＲ＝１を示す。Ｓ’２、Ｓ’１、Ｓ’０の値は図に示す。
【００４７】
図１１乃至図１７は、それぞれ１ビットから７ビットまでの回転と組み合された反転に関する配列を示す。より具体的には、
図１１は１ビットのシフトと組み合された反転を示す。
図１２は２ビットのシフトと組み合された反転を示す。
図１３は３ビットのシフトと組み合された反転を示す。
図１４は４ビットのシフトと組み合された反転を示す。
図１５は５ビットのシフトと組み合された反転を示す。
図１６は６ビットのシフトと組み合された反転を示す。
図１７は７ビットのシフトと組み合された反転を示す。
前述の説明を考慮するとこれらの図は自明であり、それぞれ個々の図の詳しい説明は当業者には不要である。
【００４８】
これらの配列により、随意的なビット反転と組み合せた回転の全体の機能性は、回転だけに関して遭遇するのと同じ伝搬遅延で実施することができる。従って、半導体チップに対して実施するとき、制御信号を操作するための付加的なコストが、マルチプレクサに対する制御信号を準備するある程度の面積コストを招くが、それにも拘らず、主データ・パス上の付加的な遅延は最小になる。これは標準的にプロセッサ・アーキテクチャにおける有益な手法となる。
【００４９】
マルチプレクサ・バンクの順序は上記の配列のいずれとも異なるものとすることができる。他のマルチプレクサ接続パターンを、対数パターン４、２、１が何らかの方法で現れることを条件として、必ずしも下降順又は上昇順にではなく用いることができる。図示したように２：１のマルチプレクサ配列が用いられる（１：２のゲート配列は原理的にはもう一つの可能性である）。例えば、特許文献３のマルチプレクサ・アレイの構造体を（しかしその制御論理回路なしに）、適切に導出された制御信号により用いることができる。一般に、アレイは、各々２n個のゲート素子のｎ個のバンクを含む、少なくとも２n×ｎ個の２位置ゲート素子、並びに、各々少なくとも２nビットの入力及び出力を有する必要がある。各々のゲート素子は１つの制御入力、並びに、少なくとも１つの入力及び１つの出力を含む３つの独立した信号端子を必要とする。ゲート素子のｎ個のバンクの内の１つを除いた少なくとも全てのゲート素子のグループは上記の程度に別々に制御可能である必要がある。連続するバンクは直列に接続され、その場合、各々のバンクのゲート素子は、隣のバンク又はアレイの入力若しくは出力の、バンクに沿った方向に２の冪だけ離れたビットに接続されるが、ここで２の冪は異なるバンクに対して異なる。
【００５０】
上記の考察は、入力データ・ワードのビットを回転させる機能に関連したが、算術又は論理シフトの機能を実行するために必要な回路は、説明した回転器に密接に関連することを認識されたい。例えば、マルチプレクサ・アレイの頂部及び底部を通り過ぎるビットを無視することにより、回転の代りに論理シフト機能が実現される。そのようなシフト回路の一例は図１８に与えられ、これは図９における回転器／反転器をどのようにシフタ／反転器に適合させることができるかを示す。図１８の構造体は図９と同じであるが、但し、包み込みライン（図９の垂直ライン）は削除されている。全ての他の点に関しては回路は図９と同じである。
【００５１】
次に、制御ビットが制御論理回路１０８内で導出される好ましい様式を図１９乃至図２１を参照して説明する。図１９に示したゲートの配列１２０は、３２ビット入力ワードにより用いるように設計されたもので、５つのマルチプレクサ・バンク並びに５つの制御ビットＳ０、Ｓ１、Ｓ２、Ｓ３及びＳ４が存在する。そのような回転器／反転器は、前述の１６ビット及び８ビットの回転器／反転器の直接的な拡張であるが、比較的複雑なために図示しない。初めに制御ビットＳ１、Ｓ２及びＳ３を考えると、これらは図の頂部に示した入力１２２で受け取られる。４個のゲートがＳ１を受け取るように接続され、８個のゲートがＳ２を受け取るように接続され、１６個のゲートがＳ３を受け取るように接続される。従って、配列１２０は図示したように３２ビットの回転器／反転器アレイと共に用いるためのものである。４つのタイプのゲートが用いられている。例えば、入力Ｓ１を考えると、初めにＯＲゲート１２４に接続され、次にＡＮＤゲート１２６に、ＮＯＲゲート１２８に、そしてＮＡＮＤゲート１３０に、接続される。ゲートは通常の記号で表され、図面全体にわたって同じタイプのゲートには同じ記号が用いられている。回路には中間制御信号Ｃが用いられている。ゲート１２４及びゲート１２８は定数Ｃ１_０を受け取り、ゲート１２６及びゲート１３０は定数Ｃ１_１を受け取る。図の注のように定数Ｃ１_０の値は０であり、定数Ｃ１_１の値は１である。４つのゲート１２４、１２６、１２８及び１３０は、それぞれＣ２_０、Ｃ２_１、Ｃ２_２、Ｃ２_３で示した出力を生じる。
【００５２】
これら４つの信号は次にゲート・バンク１３２で示したさらに次にゲートに進む。ここで、形式はゲート１２４乃至１３０に多少類似しているが、しかし、ここでは各タイプにつき２個のゲートが存在する。このことは図から直ちに明白であろう。ゲート・バンク１３２は、それぞれ出力Ｃ３_０乃至Ｃ３_７を生ずる。
【００５３】
次いで、これら８つの信号はさらに次の１６個のゲートの組みに印加され、これらのゲートはまたゲート１２４乃至１３０に類似しているが、但し、ここでは各タイプにつき４個のゲートが存在する。ゲート・バンク１３４は１６個の出力Ｃ４_０乃至Ｃ４_１５を生ずる。
【００５４】
４つのゲート・タイプの各々の真理値表は完全に従来のものである。各々のゲート・バンクにおいて、バンクの下半分は、事実上、バンクの上半分の繰返しであるが、反転した出力を有する。これは別個のインバータにより達成することができるが、ゲートの２重セットを有することで、インバータ動作に対する付加的な伝搬遅延は不要となる。
【００５５】
図１９の中間制御ビット出力、即ちＣ２_０乃至Ｃ４_１５、の各々は、図２０に示したタイプのアレイ１５０に印加される。従って、アレイ１５０は適当な回数、即ち必要な制御ビットの数に等しい数だけ複製される。これらは、
８ビットのデータ・ワードに対しては７ビット、
１６ビットのデータ・ワードに対しては１５ビット、
３２ビットのデータ・ワードに対しては３１ビット、
である。
【００５６】
図２１に示す８ビット配列に対しては７ビットが必要であり、Ｓ０_０、Ｓ１_０、Ｓ１_１、Ｓ２_０、Ｓ２_１、Ｓ２_２及びＳ２_３であることが分かる。１６ビットのデータに対しては、制御ビットＳ３_０乃至Ｓ３_７がさらに存在し、３２ビットのデータに対しては、制御ビットＳ４_０乃至Ｓ４_１５がさらに存在する。
【００５７】
各アレイ１５０は、ＡＮＤゲート１５２及び排他的ＯＲ又はＸＯＲゲート１５４で構成される。ＡＮＤゲート１５２の１つの入力は図１９からの形式ＣＸ_Ｙの信号の１つであり、他の入力は反転制御ビットＳＲである。従って、反転が不要なときはＳＲ＝０であり、ＣＸ_Ｙ信号はＡＮＤゲート１５２でブロックされるので効果をもたない。排他的ＯＲゲート１５４の入力は、ゲート１５２の出力、及び、どのＣＸ_Ｙがゲート１５２に入力されるかに対応する制御ビットＳＸである。ゲート１５４の出力は制御ビットＳＸ_Ｙとなる。
【００５８】
従って、図１９及び図２０から、少なくとも１つのゲート・バンクに対する（実際には３２ビット・アレイの５つのバンクのうちの３つに対する）制御信号は、ディジットＳ１とそれぞれの他の信号、即ち、ゲート１２４、１２６に対してそれぞれＣ１_０及びＣ１_１、を受け取るように接続された、少なくとも１つのＯＲゲート１２４（図１９）及び少なくとも１つのＡＮＤゲート１２６によって生成されることが分かるであろう。各々のゲート１２４、１２６の出力は、ここでは付加的又は複製ゲート１２８、１３０を用いることにより、非反転形式及び反転形式の両方で生成される。これらの出力の各々は、それぞれの排他的ＯＲゲート１５４（図２０）に印加され、このゲート１５４はまた、必要な回転量を示す入力制御ワードの隣接する次最上位ディジットＳ２を受け取る。実際には３つの出力の各々はそれぞれの排他的ＯＲゲート１５４にＡＮＤゲート１５２を通して印加され、このゲート１５２はまた、反転が必要かどうかを示すディジットＳＲを受け取る。必要でない場合には、従来技術の回転器におけると同様に、Ｓ２が直接に出力として用いられる。
【００５９】
制御ビットＳＸ_Ｙがアレイに印加される様式は図２１に示す。この図は８ビット入力に対する回転器／反転器を示し、それ故３つのマルチプレクサ・バンクが存在する。第１のマルチプレクサ・バンク１０４ｄは入力Ｓ０_０を受け取る。これは図２０に示すタイプの、入力ＣＸ_Ｙが１に等しい定数Ｃ０_０である、別個の回路から導かれる。第２のマルチプレクサ１０４ｃは２つの制御ビットＳ１_０及びＳ１_１を受け取り、これらは図示したようにバンク内の交互のゲートに印加される。これらはまた、図２０に示したタイプの、入力ＣＸ_Ｙが、それぞれ、０に等しい定数Ｃ１_０、および１に等しい定数Ｃ１_１である、それぞれの別個の回路から導かれる。第３のマルチプレクサ１０４ｂは４つの制御ビットＳ２_０、Ｓ２_１、Ｓ２_２及びＳ２_３を受け取り、これらは８ビット離れたゲートに印加される。これらのゲートの各々が受け取る制御信号はそれに隣接する数字で表される。
【００６０】
反転が不要なとき、上述のようにＡＮＤゲート１５２からの出力はなく、従ってＳＸはＸＯＲゲート１５４を通して印加され、Ｙの全ての値に対してＳＸ_Ｙになる。この状態は反転が不要なときに関連し、そして回転器／反転器は、既知の対数回転器と同様の純粋な回転器として動作する。
【００６１】
反転が必要なとき、ＡＮＤゲート１５２は開き（ＳＲ＝１）、中間制御ビットＣＸ_ＹがＸＯＲゲート１５４に第２の入力として印加される。ここでそれら中間制御ビットＣＸ_Ｙは、必要に応じてＳ０、Ｓ１、Ｓ２、Ｓ３又はＳ４である制御ビットＳＸと共に排他的論理和演算される。この構造体は、経験的に確認できるように、３２ビット回転器／反転器が必要とする３１の必須制御ビットＳＸ_Ｙを与える。
【００６２】
ビットＳ０は、図２０に示した形態の単一アレイ１５０内で用いられるだけであり、図１９に入力する必要はないことが分かるであろう。同様にＳ４は図１９に入力する必要はないが、制御ビットＳ４_０乃至Ｓ４_１５を生成するのに必要な１６個のアレイ１５０だけに印加される。換言すれば、図１９の回路は最上位及び最下位の制御ビットを処理する必要はなく、それらの中間の制御ビットを処理することだけが必要である。１６ビットのデータ・ワードを用いる場合にはゲート１３４が削除され、８ビットのデータ・ワードを用いる場合にはゲート１３２及び１３４が削除される。
【００６３】
従って、本発明を具体化する方法を用いることにより、デジタル電子回転（又はシフト）及び反転の両方を同時に実施することで、プロセッサ・アーキテクチャに普通に用いられる分離した回転（又はシフト）及び反転の回路と比べて、著しい性能改善を達成することが可能であることが理解されるであろう。
【００６４】
説明し図示した配列に種々の変更を加えることができること、及び本発明はそれらに限定されず添付の特許請求の範囲によって定められることを理解されたい。例えば、本方法は、ゲート数の減少及び処理速度の向上を利点とするハードウェアを用いて説明したが、代替的に、ステップ数の減少を利点とするコンピュータ・プログラムによって実施することができる。
【符号の説明】
【００６５】
１００：回転器
１０２、１２２：入力
１０４：マルチプレクサ・ユニット
１０４ａ、１０４ｂ、１０４ｃ、１０４ｄ、１１２：マルチプレクサ・バンク
１０４ａ０乃至１０４ａ１５：マルチプレクサ
１０６：出力
１０８、１１８、１２８：制御論理回路
１１２−０乃至１１２−７：マルチプレクサ
１２０：１６ビット回転ユニット、ゲート配列
１２４：、１２６、１２８、１３０、１３２、１３４：ゲート
１４０：８ビット回転ユニット
１５０：アレイ
１５２：ＡＮＤゲート
１５４：ＸＯＲゲート（排他的ＯＲゲート）
【図１】
2010508747.tif 000004
【図２】
2010508747.tif 000005
【図３】
2010508747.tif 000006
【図４】
2010508747.tif 000007
【図５】
2010508747.tif 000008
【図６】
2010508747.tif 000009
【図７】
2010508747.tif 000010
【図８】
2010508747.tif 000011
【図９】
2010508747.tif 000012
【図１０】
2010508747.tif 000013
【図１１】
2010508747.tif 000014
【図１２】
2010508747.tif 000015
【図１３】
2010508747.tif 000016
【図１４】
2010508747.tif 000017
【図１５】
2010508747.tif 000018
【図１６】
2010508747.tif 000019
【図１７】
2010508747.tif 000020
【図１８】
2010508747.tif 000021
【図１９】
2010508747.tif 000022
【図２０】
2010508747.tif 000023
【図２１】
2010508747.tif 000024
【国際調査報告】
2010508747.tif 000025
2010508747.tif 000026