JP5253406B2 - デジタル電子バイナリ回転器及び反転器 - Google Patents

デジタル電子バイナリ回転器及び反転器 Download PDF

Info

Publication number
JP5253406B2
JP5253406B2 JP2009535110A JP2009535110A JP5253406B2 JP 5253406 B2 JP5253406 B2 JP 5253406B2 JP 2009535110 A JP2009535110 A JP 2009535110A JP 2009535110 A JP2009535110 A JP 2009535110A JP 5253406 B2 JP5253406 B2 JP 5253406B2
Authority
JP
Japan
Prior art keywords
gate
bit
input
signal
bank
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.)
Active
Application number
JP2009535110A
Other languages
English (en)
Other versions
JP2010508747A (ja
Inventor
ジェイムズ ロバート ウィタカー
Original Assignee
イマジネイション テクノロジーズ リミテッド
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 イマジネイション テクノロジーズ リミテッド filed Critical イマジネイション テクノロジーズ リミテッド
Publication of JP2010508747A publication Critical patent/JP2010508747A/ja
Application granted granted Critical
Publication of JP5253406B2 publication Critical patent/JP5253406B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/015Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising having at least two separately controlled shifting levels, e.g. using shifting matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)
  • Logic Circuits (AREA)
  • Electronic Switches (AREA)

Description

本発明は、プロセッサ内で2nビットのデジタル・バイナリ・データ・ワードを回転又はシフトさせ、及び反転させるのに用いるタイプのデジタル電子バイナリ回転器及び反転器、並びに、2nビットのバイナリ・データ・ワードを回転又はシフトさせ、及び反転させる方法に関する。
バイナリ回転器の略図を図1に示す。このタイプの配列は対数回転器として知られている。図示した回転器100は、16ビット・ワードを扱うものであり、16個の入力102、及び図示したように接続される16×4個のマルチプレクサのアレイのユニット104を有する。マルチプレクサの出力に接続された16個の出力106が存在する。マルチプレクサは破線で示される可能的なパスにより接続され、常時有効な接続は太線で示される。
図1の左側には2進数の入力ビットであるビット0乃至15がある。デジタル・エレクトロニクスにおいて、種々様々な理由で2進数のビットをシフト又は回転することは普通のことであり、従ってこれらのタイプの回転器は頻繁に設けられる。
図1の対数回転器は、複数の2入力又は2:1マルチプレクサ・ユニットを用いて実施される。これらの1つについて図2を参照してより詳しく示す。この場合、ユニットは一対の入力A及びB、1つの出力、並びに1つの制御入力Sを有する。制御入力は論理0又は論理1を受け取り、これがマルチプレクサ内でAからの入力又はBからの入力の何れかを出力Cに接続するように起るスィッチングを決定する。従って、制御ビットが論理0のとき、図2の(a)に示すように入力Aが出力Cに通され、制御入力が論理1のとき、図2の(b)に示すように入力Bが出力Cに接続される。殆どのマルチプレクサに対して、出力Cは2つの後続のC1及びC2で示すマルチプレクサに配信されるが、3つの独立した信号端子があるだけである。
図1に戻ると、マルチプレクサは4つのバンク内に存在することが分かる。図示したように、入力端から始めると、16個のマルチプレクサ104aはそれらのA入力において入力102のそれぞれの1つを受け取る。それらの入力Bにおいて、それらは、それぞれ、それらのA入力に接続された入力から8個の入力位置又はビットだけ移動した入力の1つを受け取る。従って第1のマルチプレクサ104a0は0及び8番ビット入力に接続され、マルチプレクサ104a1は1及び9番ビット入力に接続され、同様にして、7及び15番ビット入力に接続されるマルチプレクサ104a7に至る。次にマルチプレクサ104a8は、その入力A及びBにおいて、それぞれ8及び0番ビット入力に接続され、以下、最後にマルチプレクサ104a15が15及び7番ビット入力に接続されるまで続く。
次のバンク104bにおいて、マルチプレクサは第1のバンク104aのマルチプレクサの出力に接続される。それらは第1のバンクに多少同じに接続されるが、今回はどのゲートの2つの入力AとBも、8ではなく4だけ離れたビットに接続される。逆に言えば、第1のバンクの各マルチプレクサは第2のバンクの2つのマルチプレクサに接続され、このことが各先行マルチプレクサからの2つの信号C1及びC2が存在する理由である。第3のバンク104cにおいて、任意の所与のゲートの入力は第2のバンクの2ビット離れたマルチプレクサの出力に接続され、第4の最後のバンク104dにおいてマルチプレクサは各々、第3のバンクの隣接するマルチプレクサに接続される。この接続は、当業者であれば良く理解できるように明確に図1に示したので、全ての可能な接続の完全な詳しい記述は不要である。
上記から、第1のマルチプレクサ・バンクは選択的に8ビットの回転を与え、次のバンクは4ビットの、第3のバンクは2ビットの、そして最後のバンクは1ビットの回転を与えることが分かる。1乃至15ビットの任意の所望の回転は、必要なマルチプレクサ・バンクの適切な組合せにより行うことができる。
このタイプの回路の名称「対数」回転器のもとになるのは数列8、4、2、1である。回転器は、直列のステージにおいて、各ステージに対して回転又は非回転状態を選択し、2の固定冪の回転を実行することにより回転操作を実行する。一般に、2nビットの入力に対してそれぞれ2n個のマルチプレクサを有するn個のバンクが存在する。第1のバンクのマルチプレクサは2n-1入力ビット離れた入力に接続され、次のバンクは第1バンクの2n-2ビット離れたマルチプレクサに接続され、以下同様である。nの値は通常3、4又はより大きな整数となる。
直列接続のマルチプレクサの適切な動作により、入力16ビット数は図1の回路により任意の所望の桁数回転させることができる。これを達成する方法を次に説明する。図1は入力102が回転なしに出力106に単に通される直通状態を示す。
各々のマルチプレクサ・バンクは制御論理回路108から制御入力ビットを供給される。バンクの各マルチプレクサの制御入力は互いに接続され、実際に制御ビットはバンクを下に通される。制御論理回路108は、位が下がる順番で4つの制御ビットS3、S2、S1及びS0を含む4ビット出力を供給する。図1の状態においては4つの制御ビットの全てはゼロである。従って、64個のマルチプレクサの各々1つのA入力が選択される。
図1において、4つの制御ビットは全て0である。入力を直線的に通さずに、回転させることが必要な場合には、制御ビットをそれに応じて変更する。1ビットだけ回転させるためには、ビットS0を0から1に変更する。2ビットだけ回転させるには、ビットS0は0のままにして制御ビットS1を1に変更する。3ビットだけ回転するには、制御ビットS0及びS1の両方を1に変更する。このように入力を回転させるビットの数は、ビットS3、S2、S1、S0で表される値として簡単に設定されることが分かる。
図3は5ビットの回転が必要な一例である。従って、ビットS0及びS2が1に設定され、一方ビットS1及びS3は0に留まる。従って、ビットS3、S2、S1、S0は2進数0101となりデジタル値5を表す。第1及び第3のバンク104a及び104cの各マルチプレクサはそれらのA入力を選択することになり、第2及び第4のバンクの各マルチプレクサはそれらのB入力を選択することになる。結果として起るアクティブ接続は図3の太線で示され、5ビット回転が実際に生じることが分かる。より一般的に言えば、この配列を用いることで、入力ビットを入力ワード内の15個の論理位置に至るまでシフトさせることができる。ビットがそれに沿ってシフトされる接続は、位置0から位置15まで包み込み、それによりビット0乃至15を、マルチプレクサへの適切な制御入力を用いて、それぞれビット0乃至15の任意の位置にシフトさせることが可能になる。4ビット・ワードはバイナリ回転器によって実施される回転量を選択する。
図1に示す配列において用いられるマルチプレクサ・コンポーネントは標準セル・ライブラリにおいて入手可能であるので、これらのタイプの回転配列は設計及び実施することが比較的簡単であり普通に用いられる。図1のラインに沿った配列を組み込む一例は、Mahurinによる特許文献1に記載されている。
そのような回路を回転操作を実施するのに用いることを上述したが、類似の配列を用いてシフトを実施することもできる。この場合、接続は包み込みをしないで、図1の上縁で終端する。過度の複雑さを避けるために、本明細書における説明は主に回転を用いて与えるが、当業者であれば、それらは僅かな変更によりシフト操作にも用いることができることを認識するであろう。
デジタル信号処理(DSP)ハードウェアにおいて頻繁に実施される別の有用な演算はビット反転器機能である。この場合、入力ワードの最上位ビットが最下位ビットで置き換えられ、次最上位ビットが次最下位ビットで置き換えられるなどにより、入力ワードのビットが出力ワード内で反転される。このような機能を連続的に実施する必要があるとき、データ・パスの書換えだけが必要になる。しかし、ビット反転がオプション機能である多くのアプリケーションが存在する。従って、論理スイッチング回路を用いて入力ワードの反転形又は非反転形を出力に渡せるようにする必要がある。この機能は、一列の2入力マルチプレクサを用い、そしてビットのビット反転形又は正常形を選択することにより、簡単に実現することができる。
図4は、回転と反転の両方がオプションとして必要な場合に、回転器と共に用いることができる反転器を示す。複雑さを減らすために8ビット入力(n=3)をこの図及び後の図に示す。図4に示す組合せた回転器/反転器は、図1に基づく回転器を含み、これが2入力マルチプレクサのさらに別のバンク112で形成される反転器と組み合せられる。各々個々のマルチプレクサ112−iは、ビットi及びビット7−iを受け取るように接続される。即ち、第1のマルチプレクサ112−0は、回転器の出力106からのビット0及び7を受け取るように接続され、次のマルチプレクサ112−1はビット1及び6を受け取るように接続されるなどである。
マルチプレクサ・バンク112は、反転が不要な場合に0、反転が必要な場合には1となるさらに別の制御ビットSRによって制御される。制御論理回路118は制御ビットSRを与えるように拡張することができる。制御ビットSRが0のとき、各マルチプレクサの上側入力(図示せず)が選択され、制御ビットSRが1のとき下側入力が選択される。
図4は出願人が知る範囲の如何なる従来技術の文献からも取ったものではなく、既知の技術を用いて回転と反転の両方をもたらすことのできる方法の例証であることに留意されたい。しかし、特許文献2(Fujitsu)には、入力に接続された反転部分及び出力に接続された別の反転部分を有する、上述の回転器に基づくバレル・シフタが記載されている。
しかし、そのような実施は単一点に集束する多数の配線交差を必要とする。これは、シリコン・チップ内に過密配線をもたらす可能性があり望ましいものではない。これはまたマルチプレクサ・バンクの数の増加を必要とする。
Hofstee他による特許文献3には、対数回転器に基づくが、通常の回転操作だけでなく部分体回転を可能にするように最適化された回転器が記載されている。即ち、8ビット信号に対して、上部及び下部の4ビット成分をそれぞれ選択的に回転されることができ、或いはビットの隣接対を選択的に回転させることができる。これを達成するためには、マルチプレクサ・バンクは図1、図3又は図4に示して上述したようには接続されず、それぞれ4、2、及び1ビット離れたビットを交換するように接続される。用いられる制御論理回路は、入力をマルチプレクサ・バンクの1つから次へ伝えることを必要とする固定論理ゲートを含む。
バスのマトリックスにより接続される16及び8入力ゲートの2つのバンクを用いて2つの入力72ビット数をシフトさせ並び替えるための、16ゲート・バンクのゲートが独立に制御される、複雑な構造体が、Purcellによる特許文献4に説明されている。さらに、反転配列は記載されていない。
米国特許第5,991,786号明細書 欧州特許出願公開第264,130号明細書 米国特許第6,675,182号明細書 米国特許第5,477,543号明細書
これら及び出願人が知る範囲のいずれの他の従来技術にも、最小のマルチプレクサ構成を用いて必要に応じて選択的回転(又はシフト)及び/又は反転を可能にする配列は開示されていない。
本発明はその種々の態様において添付の独立請求項の中で定められ、これについてこれから言及する。有益な特徴は従属請求項の中に示される。
出願人等は、n個の直列接続された2入力マルチプレクサ・バンクを含むバイナリ回転器は、回転ばかりでなく選択的な反転にも、反転専用のさらに別のマルチプレクサ・バンクを付け加える必要なしに、用いることができることを認識した。これは、各バンクに対する単一制御ビットではなく、必要な反転付き回転をもたらすように適切に選択された制御ワードをマルチプレクサ・バンクに供給することによって実現される。
バイナリ回転器は反転を実施するためにも用いられるので、回転及び反転が実施されるとき、伝搬遅延内に信号がデバイスを通過するようにセーブすることの利点もある。これはまた、そのような配列を用いるプロセッサのクロック速度を増加することを可能にし、従って、回転器に加えてビット反転用のマルチプレクサの別個の列を用いる実施に比べて性能を向上させる。
本発明は図1に示した通りの構成以外の他の構成にも適用できる。即ち、マルチプレクサ・バンクは図示した順序にする必要はない。事実、それらを逆順序に配置して入力が1ビット離れたバンクを第1のバンクにすることには利点がある。実際に、対数パターン4、2、1が何らかの方法で現れる条件で、他の接続パターンを用いることができる。例えば、特許文献3のマルチプレクサ・アレイの構造を、適切に導出された制御ワードにより用いる(しかしその制御論理回路は用いない)ことができる。2入力マルチプレクサが好ましいが、その代りに3信号端子デバイスを原理的には用いることができる
n個の直列接続された2入力マルチプレクサ・バンクを含むバイナリ回転器が、回転ばかりでなく選択的な反転にも、反転専用のさらに別のマルチプレクサ・バンクを付け加える必要なしに、用いることができることが認識されると、任意の所与の実施に必要な制御ワードは経験的に、又は既知のソフトウェア・ルーチンを用いて、決定することができる。制御ワードの詳しい実施例は以下に与える。制御ワードは、参照テーブル内に、前述のS3−S0及びSRのような回転及び反転制御ビットによりアドレス指定してストアし、2nビットのnワードの必要な出力を供給するようにすることができ、或いは、ゲートの適切な配列により、又は等価なソフトウェアにより生成することができる。
次に、本発明の好ましい実施形態を、実施例として添付の図面を参照しながら詳しく説明する。
既知の対数回転器の構造を示すダイヤグラムである。 図1の既知の回路に用いられるマルチプレクサの1つを(a)及び(b)に示し、制御ビットSに依存する可能な接続及び実際の接続を示す。 5ビットの回転をもたらすように配列されたときの図1の回転器を示す。 図1に示した一般的なタイプの8ビット回転器をどのようにビット反転器と組み合せることができるかを示す。 16ビット入力を選択的に回転及び反転させることができる、本発明の第1の実施形態を示す。 8ビット入力を選択的に回転及び反転させることができる、本発明の第2の実施形態を示す。 1ビット回転及び反転を実施するように構成されたときの図6の回転器/反転器を示す。 6ビット回転及び反転を実施するように構成されたときの図6のアレイを示す。 3ビットの回転をもたらすように構成されたときの、8ビット信号により用いるための、本発明を具体化する第3の回転器/反転器を示す。 回転なしの反転をもとらすときの図9の回転器/反転器を示す。 1ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 2ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 3ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 4ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 5ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 6ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 7ビットの回転と共に反転を実施するように構成されたときの図9の配列を示す。 図9の回転器/反転器に基づく、本発明を具体化するシフタ/反転器を示す。 本発明の実施形態に用いることができる制御論理回路の部分を示す。 図19の回路の出力の各々と共に用いることができる回路を示す。 図20の回路の出力を図9に示したタイプのアレイにどのように加えるかを示す。
本発明の実施形態は、対数回転器のマルチプレクサに対する制御信号の操作によりビット反転関数を選択的に得ることが可能になることの出願人等の理解によるものである。完全なビット反転機能は、各々が16個のマルチプレクサの4個のバンクのアレイを用いる図5を参照して16ビット回転ユニット120に対して説明する。図5は、入力102における16ビット入力ワードに対する所望の完全ビット反転をもたらすための、各々のビットが辿るデータ・パスを示す。マルチプレクサの基本構造は図1及び図3におけるのと同じであるので再度説明はしない。図6に関して3×8個のマルチプレクサのアレイを用いる8ビット回転ユニット140が示されているが、これは、8ビット入力ワードに対する完全ビット反転をもたらすための、各々のビットが辿るデータ・パスを示しており、辿るのが多少容易である。マルチプレクサ・アレイは図4のものと類似しているが、但し、マルチプレクサ・バンク112は削除されている。図5及び図6の両方においてマルチプレクサは、やはり図2におけるものと同じである。各ビットは、マルチプレクサ・アレイを通る多くの可能なパスを有する。要求されるパスは、どんな場合でも図に示すようにマルチプレクサに印加される制御ビットにより実施される。
理解できるように、バンク104d内のゲートにビット反転機能をもたらすために、全てのマルチプレクサはそれらに印加された制御ビット1を有する。これは、マルチプレクサに対するそれぞれの上流位置におけるビット・ラインからの下側入力(B)を出力に接続する。ゲート104c上で、交互の論理0及び論理1をマルチプレクサの制御入力に印加する。マルチプレクサ104bに関しては、論理0と論理1の交互対をマルチプレクサの交互対に印加し、マルチプレクサ104aに関しては(図5のみ)4つの論理0と4つの論理1の交互の組みを制御ゲートに印加する。制御ビットの論理状態は図5及び図6に示され、各ゲートに0又は1として書き込まれている。
図5の16ビット実施を考えると、入力のこの配列の効果はビット15を、マルチプレクサ・バンク104aのビット位置7、マルチプレクサ・バンク104bのビット位置3、マルチプレクサ・バンク104cのビット位置1、及びマルチプレクサ・バンク104dのビット位置0における各マルチプレクサを介して、出力106におけるビット0に回転させることである。これらのマルチプレクサの全てはそれらの制御入力に印加された論理1を有する。
図6の8ビット実施を考えると、その効果はビット7を、マルチプレクサ・バンク104bのビット位置3、マルチプレクサ・バンク104cのビット位置1、及びマルチプレクサ・バンク104dのビット位置0における各マルチプレクサを介して、出力106のビット位置0に回転させることである。これらのマルチプレクサの全てはそれらの制御入力に印加された論理1を有する。
入力102における他の入力ビットは太線で示す経路を辿り、図示したビット番号から分かるように、出力106において反転して現れる。
従って、制御論理回路128は、図4の以前の制御ビットS2、S1、S0及びSRの代りに、図5における制御ワードS’3、S’2、S’1、S’0、又は図6における制御ワードS’2、S’1、S’0を供給する。制御信号S’1が実際に全て0又は全て1となることが起るが、この特定の実施においてはワードではなく事実上1ビットとなる。他のバンクに対しては、ゲートは、グループ化されて各グループが制御ワードのそれ用の制御ビットで制御されるようになる。以下で分かるように、バンク104cは2つの制御ビットを有するS’1を必要とし、バンク104bは4つの制御ビットを有するS’2を必要とし、そしてバンク104a(図5のみ)は8つの制御ビットを有するS’3を必要とする
図7及び図8は、反転を実施するだけではなく、回転及び反転を実施するように構成された図6の8ビット配列を示す。具体的には、図7は1ビットの回転及び反転を示し、一方図8は6ビットの回転及び反転を示す。これらの図に示す原理は、より一般的に1乃至2nビットの任意の回転及び反転に拡張することができる。
各々の場合において、最後のマルチプレクサ・バンク104dに対する制御ビットS1は単一ビットに留まりバンク全体に対して0(図7)又は1(図8)となる。マルチプレクサ・バンク104cに対する制御信号は、交互の0及び1を定める。マルチプレクサ・バンク104bに対する制御信号は、交互の00及び11を定める。シフトと組み合せる場合の異なる回転に対しては、制御ワードS’2と上位の位相整合、及びビットS’1の状態は適切に選択される。これを調べる1つの方法は、一連のマルチプレクサに沿って、制御信号の0及び1により表されるデジタル値を調べることであり、これは図6乃至図8の各図の右側のVを付けた列内に示す。
より一般的には、制御ビットS’1及び優先度の高い上位は、マルチプレクサの各々の以前の組みに加えられるとき、バンクjに対して2j-1で与えられる数のグループに分けられる。従って、マルチプレクサ・バンク104dに対しては2j-1=20=1となり、それ故論理0又は論理1を受け取る制御ビットの単一のグループが存在する。マルチプレクサ・バンク104cに対しては2j-1=21=2となり、それ故、印加された論理0又は論理1を有し得る制御ビットの2つのグループが存在する。これらのビットは回転されるワード内の交互のビットであり、それ故交互のマルチプレクサは互いに配線された制御入力を有する。マルチプレクサ・バンク104bに対しては2j-1=22=4となり、それ故、隣接するマルチプレクサの対に印加される制御ビットの4つのグループが存在する。各グループは互いに配線された制御入力を有する。従って、このルーティング法の対称性は、この方法を回転器の任意の所望の幅に拡張することを可能にする。
一連のマルチプレクサに沿った制御信号の0及び1で表される上記の値Vは、可能な入力信号及び必要な出力信号の全てに対して、即ち全ての可能な反転付き回転に対して列挙することができる。8ビット状態に対して得られる値は下表の通りである。0、1、及び6ビットの回転に対する値は、それぞれ図6、図7、及び図8についてである。

Figure 0005253406
これらの値に対して、多くの方法で表すことができるパターンが存在することが分かる。値は原則としてストアするか又は種々の方法で進行中に計算することができる。それらは例えば、S2、S1、S0及びSRでアドレス指定される参照テーブルに単にストアすることができ、或いは、それらは標準的論理ゲートを用いて回路に結線接続することができ、或いは、それらは上表の値のパターンを参照して、周知の論理合成ソフトウェアを用いて任意の便利な方法で計算することができる。
回転が不要の場合は、SR=0であり、S’2、S’1、S’0はS2、S1、S0に等しく、単に、既知の対数回転におけるようにバンク内の各マルチプレクサに対して繰り返される、必要な回転のビット数となる。
反転制御ビットを含む制御信号の正確な符号化は、回路の全体的な効果が、回転器及び続く反転器の効果、或いは反転器及び続く回転器の効果に等価であるかどうかを決定することになる。ある意味でこれは用語の問題であり、iの回転及び続く反転は、反転及び続く2n−1の回転と同じである。左回転及び右回転(又は左シフト及び右シフト)に関しても同様の考えが当てはまる。
制御信号をマルチプレクサ又はゲート・アレイに配信する論理回路の設計は、マルチプレクサの最右側のバンク104d内のゲートに対する制御信号は、単一のゲートのみを通過し、先行するマルチプレクサ・バンクの各々に対しては、信号は増加する数のゲートを通過する必要がある。これは、信号が通過する必要のあるマルチプレクサに対する制御信号のセットアップにおいて伝搬遅延を生じる。初めの伝搬遅延はデータが流れるべきマルチプレクサの数に比例する。この理由は、マルチプレクサ104a(16ビットの場合、又は8ビットの場合には104b)に対する制御信号を導くのに、マルチプレクサ104dに対するよりも多くのゲートが必要であるからである。
しかし、マルチプレクサの順序を反転させて、位置104dのマルチプレクサによって実行される小さな回転が、データが貫流するときに初めに実施され、マルチプレクサ104aによる大きな回転が最後に実施されるようにすることにより、回転及び反転が選択されるときの伝搬遅延は最小化される。この理由は、マルチプレクサの第1の組みが、単一ゲートを介してそれらに制御入力を印加するための単一の伝搬遅延の後で、それらの回転を適用する準備が整うことになるからである。このことが起り且つデータが伝搬されると同時に、後続のマルチプレクサに対して必要な制御信号は、論理回路を通して伝搬し種々のマルチプレクサに対する適切な制御信号を導くことができる。従って、初めの伝搬遅延は1つの伝搬遅延ほどにも小さくすることができる。
そのような配列を図9に示す。図9の実施例は、反転なしの3ビットの回転を実施するように、即ち、S2、S1、S0=S’2、S’1、S’0=011及びSR=0に構成される。図10は、回転のない反転、即ちS2、S1、S0=000及びSR=1を示す。S’2、S’1、S’0の値は図に示す。
図11乃至図17は、それぞれ1ビットから7ビットまでの回転と組み合された反転に関する配列を示す。より具体的には、
図11は1ビットのシフトと組み合された反転を示す。
図12は2ビットのシフトと組み合された反転を示す。
図13は3ビットのシフトと組み合された反転を示す。
図14は4ビットのシフトと組み合された反転を示す。
図15は5ビットのシフトと組み合された反転を示す。
図16は6ビットのシフトと組み合された反転を示す。
図17は7ビットのシフトと組み合された反転を示す。
前述の説明を考慮するとこれらの図は自明であり、それぞれ個々の図の詳しい説明は当業者には不要である。
これらの配列により、随意的なビット反転と組み合せた回転の全体の機能性は、回転だけに関して遭遇するのと同じ伝搬遅延で実施することができる。従って、半導体チップに対して実施するとき、制御信号を操作するための付加的なコストが、マルチプレクサに対する制御信号を準備するある程度の面積コストを招くが、それにも拘らず、主データ・パス上の付加的な遅延は最小になる。これは標準的にプロセッサ・アーキテクチャにおける有益な手法となる。
マルチプレクサ・バンクの順序は上記の配列のいずれとも異なるものとすることができる。他のマルチプレクサ接続パターンを、対数パターン4、2、1が何らかの方法で現れることを条件として、必ずしも下降順又は上昇順にではなく用いることができる。図示したように2:1のマルチプレクサ配列が用いられる(1:2のゲート配列は原理的にはもう一つの可能性である)。例えば、特許文献3のマルチプレクサ・アレイの構造体を(しかしその制御論理回路なしに)、適切に導出された制御信号により用いることができる。一般に、アレイは、各々2n個のゲート素子のn個のバンクを含む、少なくとも2n×n個の2位置ゲート素子、並びに、各々少なくとも2nビットの入力及び出力を有する必要がある。各々のゲート素子は1つの制御入力、並びに、少なくとも1つの入力及び1つの出力を含む3つの独立した信号端子を必要とする。ゲート素子のn個のバンクの内の1つを除いた少なくとも全てのゲート素子のグループは上記の程度に別々に制御可能である必要がある。連続するバンクは直列に接続され、その場合、各々のバンクのゲート素子は、隣のバンク又はアレイの入力若しくは出力の、バンクに沿った方向に2の冪だけ離れたビットに接続されるが、ここで2の冪は異なるバンクに対して異なる。
上記の考察は、入力データ・ワードのビットを回転させる機能に関連したが、算術又は論理シフトの機能を実行するために必要な回路は、説明した回転器に密接に関連することを認識されたい。例えば、マルチプレクサ・アレイの頂部及び底部を通り過ぎるビットを無視することにより、回転の代りに論理シフト機能が実現される。そのようなシフト回路の一例は図18に与えられ、これは図9における回転器/反転器をどのようにシフタ/反転器に適合させることができるかを示す。図18の構造体は図9と同じであるが、但し、包み込みライン(図9の垂直ライン)は削除されている。全ての他の点に関しては回路は図9と同じである。
次に、制御ビットが制御論理回路108内で導出される好ましい様式を図19乃至図21を参照して説明する。図19に示したゲートの配列120は、32ビット入力ワードにより用いるように設計されたもので、5つのマルチプレクサ・バンク並びに5つの制御ビットS0、S1、S2、S3及びS4が存在する。そのような回転器/反転器は、前述の16ビット及び8ビットの回転器/反転器の直接的な拡張であるが、比較的複雑なために図示しない。初めに制御ビットS1、S2及びS3を考えると、これらは図の頂部に示した入力122で受け取られる。4個のゲートがS1を受け取るように接続され、8個のゲートがS2を受け取るように接続され、16個のゲートがS3を受け取るように接続される。従って、配列120は図示したように32ビットの回転器/反転器アレイと共に用いるためのものである。4つのタイプのゲートが用いられている。例えば、入力S1を考えると、初めにORゲート124に接続され、次にANDゲート126に、NORゲート128に、そしてNANDゲート130に、接続される。ゲートは通常の記号で表され、図面全体にわたって同じタイプのゲートには同じ記号が用いられている。回路には中間制御信号Cが用いられている。ゲート124及びゲート128は定数C1_0を受け取り、ゲート126及びゲート130は定数C1_1を受け取る。図の注のように定数C1_0の値は0であり、定数C1_1の値は1である。4つのゲート124、126、128及び130は、それぞれC2_0、C2_1、C2_2、C2_3で示した出力を生じる。
これら4つの信号は次にゲート・バンク132で示したさらに次にゲートに進む。ここで、形式はゲート124乃至130に多少類似しているが、しかし、ここでは各タイプにつき2個のゲートが存在する。このことは図から直ちに明白であろう。ゲート・バンク132は、それぞれ出力C3_0乃至C3_7を生ずる。
次いで、これら8つの信号はさらに次の16個のゲートの組みに印加され、これらのゲートはまたゲート124乃至130に類似しているが、但し、ここでは各タイプにつき4個のゲートが存在する。ゲート・バンク134は16個の出力C4_0乃至C4_15を生ずる。
4つのゲート・タイプの各々の真理値表は完全に従来のものである。各々のゲート・バンクにおいて、バンクの下半分は、事実上、バンクの上半分の繰返しであるが、反転した出力を有する。これは別個のインバータにより達成することができるが、ゲートの2重セットを有することで、インバータ動作に対する付加的な伝搬遅延は不要となる。
図19の中間制御ビット出力、即ちC2_0乃至C4_15、の各々は、図20に示したタイプのアレイ150に印加される。従って、アレイ150は適当な回数、即ち必要な制御ビットの数に等しい数だけ複製される。これらは、
8ビットのデータ・ワードに対しては7ビット、
16ビットのデータ・ワードに対しては15ビット、
32ビットのデータ・ワードに対しては31ビット、
である。
図21に示す8ビット配列に対しては7ビットが必要であり、S0_0、S1_0、S1_1、S2_0、S2_1、S2_2及びS2_3であることが分かる。16ビットのデータに対しては、制御ビットS3_0乃至S3_7がさらに存在し、32ビットのデータに対しては、制御ビットS4_0乃至S4_15がさらに存在する。
各アレイ150は、ANDゲート152及び排他的OR又はXORゲート154で構成される。ANDゲート152の1つの入力は図19からの形式CX_Yの信号の1つであり、他の入力は反転制御ビットSRである。従って、反転が不要なときはSR=0であり、CX_Y信号はANDゲート152でブロックされるので効果をもたない。排他的ORゲート154の入力は、ゲート152の出力、及び、どのCX_Yがゲート152に入力されるかに対応する制御ビットSXである。ゲート154の出力は制御ビットSX_Yとなる。
従って、図19及び図20から、少なくとも1つのゲート・バンクに対する(実際には32ビット・アレイの5つのバンクのうちの3つに対する)制御信号は、ディジットS1とそれぞれの他の信号、即ち、ゲート124、126に対してそれぞれC1_0及びC1_1、を受け取るように接続された、少なくとも1つのORゲート124(図19)及び少なくとも1つのANDゲート126によって生成されることが分かるであろう。各々のゲート124、126の出力は、ここでは付加的又は複製ゲート128、130を用いることにより、非反転形式及び反転形式の両方で生成される。これらの出力の各々は、それぞれの排他的ORゲート154(図20)に印加され、このゲート154はまた、必要な回転量を示す入力制御ワードの隣接する次最上位ディジットS2を受け取る。実際には3つの出力の各々はそれぞれの排他的ORゲート154にANDゲート152を通して印加され、このゲート152はまた、反転が必要かどうかを示すディジットSRを受け取る。必要でない場合には、従来技術の回転器におけると同様に、S2が直接に出力として用いられる。
制御ビットSX_Yがアレイに印加される様式は図21に示す。この図は8ビット入力に対する回転器/反転器を示し、それ故3つのマルチプレクサ・バンクが存在する。第1のマルチプレクサ・バンク104dは入力S0_0を受け取る。これは図20に示すタイプの、入力CX_Yが1に等しい定数C0_0である、別個の回路から導かれる。第2のマルチプレクサ104cは2つの制御ビットS1_0及びS1_1を受け取り、これらは図示したようにバンク内の交互のゲートに印加される。これらはまた、図20に示したタイプの、入力CX_Yが、それぞれ、0に等しい定数C1_0、および1に等しい定数C1_1である、それぞれの別個の回路から導かれる。第3のマルチプレクサ104bは4つの制御ビットS2_0、S2_1、S2_2及びS2_3を受け取り、これらは8ビット離れたゲートに印加される。これらのゲートの各々が受け取る制御信号はそれに隣接する数字で表される。
反転が不要なとき、上述のようにANDゲート152からの出力はなく、従ってSXはXORゲート154を通して印加され、Yの全ての値に対してSX_Yになる。この状態は反転が不要なときに関連し、そして回転器/反転器は、既知の対数回転器と同様の純粋な回転器として動作する。
反転が必要なとき、ANDゲート152は開き(SR=1)、中間制御ビットCX_YがXORゲート154に第2の入力として印加される。ここでそれら中間制御ビットCX_Yは、必要に応じてS0、S1、S2、S3又はS4である制御ビットSXと共に排他的論理和演算される。この構造体は、経験的に確認できるように、32ビット回転器/反転器が必要とする31の必須制御ビットSX_Yを与える。
ビットS0は、図20に示した形態の単一アレイ150内で用いられるだけであり、図19に入力する必要はないことが分かるであろう。同様にS4は図19に入力する必要はないが、制御ビットS4_0乃至S4_15を生成するのに必要な16個のアレイ150だけに印加される。換言すれば、図19の回路は最上位及び最下位の制御ビットを処理する必要はなく、それらの中間の制御ビットを処理することだけが必要である。16ビットのデータ・ワードを用いる場合にはゲート134が削除され、8ビットのデータ・ワードを用いる場合にはゲート132及び134が削除される。
従って、本発明を具体化する方法を用いることにより、デジタル電子回転(又はシフト)及び反転の両方を同時に実施することで、プロセッサ・アーキテクチャに普通に用いられる分離した回転(又はシフト)及び反転の回路と比べて、著しい性能改善を達成することが可能であることが理解されるであろう。
説明し図示した配列に種々の変更を加えることができること、及び本発明はそれらに限定されず添付の特許請求の範囲によって定められることを理解されたい。例えば、本方法は、ゲート数の減少及び処理速度の向上を利点とするハードウェアを用いて説明したが、代替的に、ステップ数の減少を利点とするコンピュータ・プログラムによって実施することができる。
100:回転器
102、122:入力
104:マルチプレクサ・ユニット
104a、104b、104c、104d、112:マルチプレクサ・バンク
104a0乃至104a15:マルチプレクサ
106:出力
108、118、128:制御論理回路
112−0乃至112−7:マルチプレクサ
120:16ビット回転ユニット、ゲート配列
124:、126、128、130、132、134:ゲート
140:8ビット回転ユニット
150:アレイ
152:ANDゲート
154:XORゲート(排他的ORゲート)

Claims (14)

  1. ビットのバイナリ・データ・ワードを受け取るステップと、
    各々が2個のゲート素子からなるn個のバンクを含む、少なくとも2×n個の2位置ゲート素子のアレイに前記ビットを印加するステップであって、前記アレイは各々少なくとも2ビットの入力及び出力を有し、各ゲート素子は1つの制御入力と、少なくとも1つの入力及び1つの出力を有する3つの独立した信号端子とを含み、ゲート素子の前記n個のバンクのうちの1つを除く少なくとも全てのゲート素子のグループは別々に制御可能であり、連続するバンクは直列に、各々のバンクの前記ゲート素子が隣接するバンク又は前記アレイの前記入力若しくは出力の、バンクに沿った方向に2の冪だけ離れたビットに接続されるように接続され、前記2の冪は異なるバンクに対して異なる、ステップと、
    必要な回転又はシフトの量を示すnビット・ワードを含む第1の信号と必要な反転又は非反転を示す第2の信号とを受け取るステップと、
    少なくとも反転が必要なとき、前記第1及び第2の信号から前記アレイの前記ゲート素子に印加する制御信号を生成するステップであって、ゲート素子の前記n個のバンクのうちの1つを除く少なくとも全てのゲート素子のグループは別々に制御可能である、ステップと、
    前記制御信号を前記アレイ内の前記ゲート素子の前記制御入力に印加するステップと、を含み、
    前記制御信号は前記第1及び第2の信号から、前記2×nアレイの前記ゲート素子が、前記第1の信号により決定された前記必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたように前記ビットに反転又は非反転を施すこととを同時に動作するように、生成される、
    ことを特徴とする、2ビットのバイナリ・データ・ワードのビットを回転又はシフトさせ、及び反転させる方法。
  2. 前記各バンクのゲート素子は、先行バンクから、前記入力又は前記先行バンク内において2の連続する冪だけ離れた入力ビット又は出力ビットを受け取るように接続され、
    前記2の冪は前記アレイの前記入力から前記出力に向って増加する、
    ことを特徴とする、請求項1に記載の方法。
  3. 前記制御信号は、前記第1及び第2の信号から、前記ゲート素子が、前記第1の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたように前記ビットに反転又は非反転を施すこととを、前記必要な回転又はシフトに反転が続く意味で同時に動作するように、生成されることを特徴とする、請求項1又は請求項2に記載の方法。
  4. 前記制御信号は、前記第1及び第2の信号から、前記ゲート素子が、前記第1の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたように前記ビットに反転又は非反転を施すこととを、反転に前記必要な回転又はシフトが続く意味で同時に動作するように、生成されることを特徴とする、請求項1又は請求項2に記載の方法。
  5. 前記n個のバンクのバンクjに対して、2j−1個の個別制御可能なゲート素子のグループが存在することを特徴とする、請求項1乃至請求項4の何れか1項に記載の方法。
  6. バイナリ・データ・ワードのビットを反転させる方法であって、
    前記ビットを、各々が制御入力を有し、バンクに配列された複数のマルチプレクサを有する対数回転器に印加し、
    前記対数回転器内の前記マルチプレクサの前記制御入力に制御信号を印加して、前記マルチプレクサに前記入力ビットを反転させることとそれらに回転を施すことの両方を行わせる、
    ステップを含み、
    ゲート素子又はマルチプレクサの少なくとも1つのバンクに対する前記制御信号は、前記第1の信号のディジット(S1)及びそれぞれの第3の信号(C1_0、C1_1)の両方を受け取るように接続された少なくとも1つのORゲート(124)及び少なくとも1つのANDゲート(126)によって生成され、
    各ゲート(124,126)の前記出力は非反転形式及び反転形式(C2_0乃至C2_3)の両方で生成され、
    各々の前記出力は、前記第1の信号の前記ディジットの隣接する1つ(S2)をさらに受け取って前記制御信号の1つを供給する、それぞれの排他的ORゲート(154)に印加される、
    ことを特徴とする方法。
  7. 前記ゲート(124、126)の前記出力(C2_0乃至C2_3)の各々が、前記第2の信号(SR)をさらに受け取るANDゲート(152)を通して前記それぞれの排他的ORゲート(154)に印加されることを特徴とする、請求項に記載の方法。
  8. ビットのバイナリ・データ・ワードのビットを回転又はシフトさせ、及び反転させるための、デジタル電子バイナリ回転器又はシフタ及び反転器を含む装置であって、
    各々が2個のゲート素子からなるn個のバンク(104)を含む、少なくとも2×n個の2位置ゲート素子のアレイ(140)であって、該アレイは2ビットのバイナリ・データ・ワードを受け取る入力(102)と、それぞれが少なくとも2ビットの出力とを有し、各ゲート素子は1つの制御入力(S)と、少なくとも1つの入力及び1つの出力を有する3つの独立した信号端子(A、B、C)とを含み、ゲート素子の前記n個のバンクのうちの1つを除く少なくとも全てのゲート素子のグループは別々に制御可能であり、連続するバンクは直列に、各々のバンクの前記ゲート素子が、隣接するバンク又は前記アレイの前記入力若しくは出力の、バンクに沿った方向に2の冪だけ離れたビットに接続するように、接続され、前記2の冪は異なるバンクに対して異なる、前記アレイと、
    必要な回転又はシフトの量を示すnビット・ワード(S0−S2)を含む第1の信号と、必要な反転又は非反転を示す第2の信号とを受け取るための制御入力と、
    少なくとも反転が必要なとき、前記第1及び第2の信号から、前記アレイの前記ゲート素子に印加する制御信号(S’0−S’2)を生成するための、且つ、前記制御信号を前記アレイ内の前記ゲート素子の前記制御入力に印加するための、制御入力に結合された制御論理回路(128)と、
    を含み、
    ゲート素子の前記n個のバンクのうちの1つを除く少なくとも全てのゲート素子のグループは別々に制御され、
    前記制御論理回路は、前記第1及び第2の信号から、前記2×nアレイの前記ゲート素子が、前記第1の信号により決定された前記必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたようにビットに反転又は非反転を施すことと、を同時に動作するように、制御信号を生成する、
    ことを特徴とする装置。
  9. 各バンク(104)の前記ゲート素子は、先行バンクから、前記入力又は前記先行バンク内で2の連続する冪だけ離れた入力ビット又は出力ビットを受け取るように接続され、
    前記2の冪は前記アレイの前記入力から前記出力に向って増加する、
    ことを特徴とする請求項に記載の装置。
  10. 前記制御論理回路(128)は前記第1及び第2の信号から、前記ゲート素子が、前記第1の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたように前記ビットに反転又は非反転を施すこととを、前記必要な回転又はシフトに反転が続く意味で同時に動作するように、前記制御信号を生成することを特徴とする、請求項又は請求項に記載の装置。
  11. 前記制御論理回路(128)は前記第1及び第2の信号から、前記ゲート素子が、前記第1の信号により決定された必要な回転又はシフトを前記入力バイナリ・データ・ワードの前記ビットに施すことと、前記第2の信号により決定されたように前記ビットに反転又は非反転を施すこととを、反転に前記必要な回転又はシフトが続く意味で同時に動作するように、前記制御信号を生成することを特徴とする、請求項又は請求項に記載の装置。
  12. 前記n個のバンクのバンクjに対して、2j−1個の個別制御可能なゲート素子のグループが存在することを特徴とする、請求項乃至請求項11の何れか1項に記載の装置。
  13. ゲート素子又はマルチプレクサの少なくとも1つのバンクに対する制御信号を生成するための前記制御論理回路は、
    前記第1の信号のディジット(S1)及びそれぞれの第3の信号(C1_0、C1_1)の両方を受け取るように接続された少なくとも1つのANDゲート(126)と、
    各ゲート(124、126)の前記出力を非反転形式及び反転形式(C2_0乃至C2_3)の両方で生成するための手段と、
    各々の前記出力、及び前記第1の信号の前記ディジットの隣の1つ(S2)を受け取り、前記制御信号の1つを供給するように接続された、それぞれの排他的ORゲート(154)と、
    を備える
    ことを特徴とする、請求項乃至請求項12の何れか1項に記載の装置。
  14. 前記出力(C2_0乃至C2_3)のそれぞれの1つを、前記第2の信号(SR)をさらに受け取るANDゲート(152)を通して受け取るように接続された、それぞれの排他的ORゲート(154)をさらに備えることを特徴とする、請求項13に記載の装置。
    対応する。
JP2009535110A 2006-10-30 2007-10-18 デジタル電子バイナリ回転器及び反転器 Active JP5253406B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0621602A GB2443439B (en) 2006-10-30 2006-10-30 Digital electronic binary rotator and reverser
GB0621602.2 2006-10-30
PCT/GB2007/003990 WO2008053152A1 (en) 2006-10-30 2007-10-18 Digital electronic binary rotator and reverser

Publications (2)

Publication Number Publication Date
JP2010508747A JP2010508747A (ja) 2010-03-18
JP5253406B2 true JP5253406B2 (ja) 2013-07-31

Family

ID=37546240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009535110A Active JP5253406B2 (ja) 2006-10-30 2007-10-18 デジタル電子バイナリ回転器及び反転器

Country Status (5)

Country Link
US (1) US8122074B2 (ja)
EP (1) EP2078244A1 (ja)
JP (1) JP5253406B2 (ja)
GB (1) GB2443439B (ja)
WO (1) WO2008053152A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846089B2 (en) * 2017-08-31 2020-11-24 MIPS Tech, LLC Unified logic for aliased processor instructions
WO2019046710A1 (en) * 2017-08-31 2019-03-07 MIPS Tech, LLC UNIFIED LOGIC FOR PSEUDONYM PROCESSOR INSTRUCTIONS

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293489A (en) * 1985-01-24 1994-03-08 Nec Corporation Circuit arrangement capable of centralizing control of a switching network
JPS6398729A (ja) * 1986-10-15 1988-04-30 Fujitsu Ltd バレルシフタ
JPS63205767A (ja) * 1987-02-20 1988-08-25 Fujitsu Ltd ビツトリバ−ス装置
JPH0421025A (ja) * 1990-05-15 1992-01-24 Toshiba Corp 左右シフタ
US5477543A (en) * 1994-08-03 1995-12-19 Chromatic Research, Inc. Structure and method for shifting and reordering a plurality of data bytes
US5682340A (en) * 1995-07-03 1997-10-28 Motorola, Inc. Low power consumption circuit and method of operation for implementing shifts and bit reversals
US6381690B1 (en) * 1995-08-01 2002-04-30 Hewlett-Packard Company Processor for performing subword permutations and combinations
JP3378444B2 (ja) * 1996-08-08 2003-02-17 株式会社東芝 シフト回路
US5987603A (en) * 1997-04-29 1999-11-16 Lsi Logic Corporation Apparatus and method for reversing bits using a shifter
US5991786A (en) * 1997-12-19 1999-11-23 Advanced Micro Devices, Inc. Circuit and method for shifting or rotating operands of multiple size
US6098087A (en) * 1998-04-23 2000-08-01 Infineon Technologies North America Corp. Method and apparatus for performing shift operations on packed data
US6622242B1 (en) * 2000-04-07 2003-09-16 Sun Microsystems, Inc. System and method for performing generalized operations in connection with bits units of a data word
JP2002084414A (ja) * 2000-07-05 2002-03-22 Canon Inc 画像処理方法及び装置及びプログラム並びに記憶媒体
US6675182B1 (en) * 2000-08-25 2004-01-06 International Business Machines Corporation Method and apparatus for performing rotate operations using cascaded multiplexers
GB2370384B (en) * 2000-12-22 2004-11-10 Cambridge Consultants Shifter
US7689635B2 (en) * 2004-10-28 2010-03-30 Stmicroelectronics Pvt. Ltd. Area efficient shift / rotate system

Also Published As

Publication number Publication date
JP2010508747A (ja) 2010-03-18
US20080104155A1 (en) 2008-05-01
EP2078244A1 (en) 2009-07-15
GB2443439B (en) 2009-06-03
GB2443439A (en) 2008-05-07
WO2008053152A1 (en) 2008-05-08
GB0621602D0 (en) 2006-12-06
US8122074B2 (en) 2012-02-21

Similar Documents

Publication Publication Date Title
US6006321A (en) Programmable logic datapath that may be used in a field programmable device
CA1175154A (en) Shift circuit
EP2202885A1 (en) Function block
JPH0916397A (ja) 複数のコンピュータ・ワードにパックされている複数のサブ・ワード・アイテムの選択混合システム
JPS592054B2 (ja) 高速2進乗算の方法及び装置
US6877019B2 (en) Barrel shifter
JP5253406B2 (ja) デジタル電子バイナリ回転器及び反転器
US6622242B1 (en) System and method for performing generalized operations in connection with bits units of a data word
JPH06236255A (ja) 並列桁上げ発生ネットワーク、並列加算器ネットワーク、桁上げ発生モジュール、マルチビット加算器ネットワークおよびモジュラー桁上げ伝ぱんユニット
JPH0697431B2 (ja) バレルシフタ
US6675182B1 (en) Method and apparatus for performing rotate operations using cascaded multiplexers
JPH09222991A (ja) 加算方法および加算器
JPH1063500A (ja) 信号処理装置
JP2007129618A (ja) ガロア体のα乗算回路および演算回路
JPH0721011A (ja) Mosシフト回路装置
JP2624342B2 (ja) バレルシフタ
US8392488B1 (en) Logic structures and methods supporting pipelined multi-operand adders
US20090138537A1 (en) Address generating circuit and semiconductor memory device
JP4230234B2 (ja) 全加算器用のパリティ予測回路
JPH02112021A (ja) インクリメンタ
JP2003337694A (ja) シフト回路
JPH11282651A (ja) 並列乗算器
JP2556613B2 (ja) バレルシフタ回路
JPH04361325A (ja) バレルシフタ装置
JP2001195234A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121228

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: 20130318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130416

R150 Certificate of patent or registration of utility model

Ref document number: 5253406

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250