JPH07508603A - 絶対値算術演算ユニット及び差動マルチプレクサ - Google Patents

絶対値算術演算ユニット及び差動マルチプレクサ

Info

Publication number
JPH07508603A
JPH07508603A JP6500641A JP50064194A JPH07508603A JP H07508603 A JPH07508603 A JP H07508603A JP 6500641 A JP6500641 A JP 6500641A JP 50064194 A JP50064194 A JP 50064194A JP H07508603 A JPH07508603 A JP H07508603A
Authority
JP
Japan
Prior art keywords
signal
carry chain
carry
propagation
generation
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.)
Granted
Application number
JP6500641A
Other languages
English (en)
Other versions
JP3225043B2 (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 JPH07508603A publication Critical patent/JPH07508603A/ja
Application granted granted Critical
Publication of JP3225043B2 publication Critical patent/JP3225043B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/544Indexing scheme relating to group G06F7/544
    • G06F2207/5442Absolute difference
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 面積効率の高い低電力絶対値算術演算ユニット発明の背景 1、発明の分野 本発明は一般に集積回路用絶対値算術演算ユニットに関するもので、特に、浮動 小数点演算に直接応用できる面積効率の高いアーキテクチャを用いた高速絶対値 算術演算ユニ’y )に関するものである。
2、関連技術 今日のパーソナルコンピュータは、かつてはスーパーコンビ二一夕が行っていた ような役割を持つことがますます要求されてきている。この役割を果たすには、 コンビ二一夕は“ナンバークランチング演算を高速にしかも効率良く行わなくて はならない。高速に行うには、高速算術演算ユニ・ットが必要であり、効率良く 行うには、最小の面積で、ある数学的機能を実現しなくてはならない。コンビ二 一夕の応用で、現在伸びている重要な分野のひとつは浮動小数点演算である。
浮動小数点演算は、固定小数点演算より数値の範囲を拡張し、この広い範囲にわ たって一定の精度を保証する。一般的には、浮動小数点数の算術演算は固定小数 点数の同様の演算よりも複雑である。
浮動小数点数nは2つのセットの数で表される。第1のセットは固定小数点部m であり、第2のセットは基数rと指数eである。従って、n =I’ll X  r”と表わされる。固定小数点部mはしばしば仮数(マンテイサ)と呼ばれる。
m及びeはどちらも正でも負でも良い。一般的に指数は数の大きさを表す。浮動 小数点システムに関する詳しい解説には、本文に参考として取り入れた旧j!− 上ノ’ −” ゛” ”’ 、Cavanagh、McGraw−Hill B ookCompany、第6章(1984)を参照のこと。
浮動小数点表記法を用いた2つの数の加算又は減算を行うためには、指数が同じ 大きさを持つことが必要である。例えば、下記の2つの数を加えるには、指数を 操作し、次のような形にしなくてはならない。
例1で示されるように、小さいほうの指数を大きくして、大きいほうの指数に等 しくなるようにする。そして仮数を1桁右へずらし、その数値が代わらないよう にする。こうなれば、これら2つの数をそのままの形で加えることが可能となる 。
小数部をずらし指数を変える関数は浮動小数点演算ではしばしば行われる。
はとんどの浮動小数点システムで用いられる一般的な規則は、2つの数のうち大 きいものをそのままにしておき、小さい数をそれに加えたり、又はそれから引い たりするものである。この一般規則に従うには、どちらの数が大きいか、さらに 小さいほうの数をどれだけ操作しなければならないかを知る必要がある。従って 、これが絶対値減算器のひとつの機能である。
もうひとつの絶対値減算器の機能は、どちらの仮数が大きいかを決定することで ある。例2に示すように、指数は同じ値であるが、減算が行われるまでは、どち らの仮数が大きいかは分からないニア、 54 x 102 この状況では、IEEEの浮動小数点フォーマ1トで正の符号なし整数フォーマ ットが必要なので、正の結果を得るのが望ましい。もし結果が負であれば、2の 補数を取る余分なステップを行わなくてはならない。これは貴重な時間を費やす ことになる。この状況をさけるため、絶対値減算器を用い、指数が等しいときに は差が正になるようにするのである。
従来の絶対値減算器には一般的に2つの型がある。絶対値減算器の第1の型は、 速度を最適化するが非常に大きなチップ面積を必要とする。また、絶対値減算器 の第2の型は、それより小さなチップ面積しか必要としないが、速度が遅い。
A、絶JJLi区m 図1は従来の第1の型の絶対値減算器102を示す。絶対値減算器102は以下 のものを含む。即ち、2つの加算器/減算器104.106及びマルチプレクサ +10である。加算器/減算器104. 106の定義は以下のセフシランCで 行われる。
絶対値減算器102の動作は、2つの減算、A−8及びB−Aを行うことである 。減算器104.106から得られたそれぞれの結果R1,R2の一方が、減算 器104からキャリアウドがあるかないかに従って選択される。A2Bの場合に はR1が選ばれ、BAAの場合にはR2が選ばれる。マルチプレクサ110は、 加算器/減算器104.106から得られた適切な結果Rnを選択し、1A−8 1を得る。
絶対値減算器102の欠点は、それが2つの加算器/減算器+04. +06を 用いることである。一般に減算器はマルチプレクサに比べ非常に大きい。その結 果、チップ面積から見た絶対値減算器102のコストは相当高いものになる。
B、 組上j11凰ILL 図2は従来の第2の型の絶対値減算器202を示す。絶対値減算器202は以下 のものを含む。即ち、加算器/11ii算器204、インバータ208、インク リメンタ210及びマルチプレクサ212である。加算器/減算器204の定義 は以下のセクシフノCで行われる。絶対値減算器202の動作は、図2から自明 であろう。加算器/減算器204は、A−8の演算を行った後、借り条件又は借 りなし条件を生成する。A−8が借りを生成しない場合には、牛ヤリアウト信号 は、マルチプレクサ212に加算器/減算器204からの”A2B”ブランチ2 22を選択することを指示し、IA−81を得る。借り条件がある場合には、減 算器204からのデータは、加算器/減算器204からの”BAA”ブランチ2 24に従っていく。借り条件の場合には、インバータ 208 及びインクリメ ンタ 210が2の補数演算を行い、IA−81を得る。
絶対値減算器202の欠点は速度が遅く、一般に絶対値減算器102よりもはる かに遅い。その理由は、”BAA”のデータ経路で、データは絶対値減算器10 2よりはるかに多くの構成要素を通過しなくてはならないからである。
C減J!Jul定遥。
減算器は組み合わせ論理回路である。それは加算器を記述するのと同型の論理公 式を用いて表すことができる。これらの論理式をどのように回路として実現する かということは大変重要である。後に示すように、加算に関する式は減算のもの に容易に修正することができる。例えば、2数A、Bの和は通常次のように表さ れる: (A + 81 、 = A、 XORB、 XORC,、(1,0+一方A、 8の差は通常次のように表される:FA−B)、=A、X0R(NOTB、)X ORC,−1(1,21A+BとA−8の唯一の相違点は、基本的には、式f1 .21 でBの項がNOVされているということである。それ以外は式(+、  0)と(+、2)は密接に関係している。それ故、“加算器/減算器”及び“和 /差”というような用語はしばしば交換可能である。それは、(式f1.ol  と (C2) を見れば分かるように)ディジクル形式では加算及び減算は本質 的に同一であるからである。以後減算に関して述べることにする。
方程式(1,01と(121で共通して不確定な点は、A1及びB1の値は分か っているがひとつ前のビットからくるキャリの値C1−1を決めなくてはならな いことである。
ビット1のキャリアウドC1は下に示す式(+、5)で決定することができる。
ハ 及びplは、オペランドA及び8を生成コード化及び伝播コード化したもノ テある。減真ニ対しテハ、9i :Al ”l及びp、 = XOR(NOT  81) ”C’ある。
伝搬信号及び生成信号の一般的解説に関しては、ここに参考文献として挙げるJ 。
Hennessy 等著、 ン3.エエ瓦Appendix A、pp、A−32−40,Morgan K aufmannPublishers Inc、(+9901及びJ、 F、  Cavanagh、 DJ・” Chapter 2. McGrawHill  (+9841 を参照のこと。
C1・+11+p1C,−、(+、slこれから分かるように、ビット0に関し ては、式41.51 は、CG =oo + POCInとなり、と、ノドlに 関しては、’I ” ’l ” pI (QO” pg CIn)となる。同様 にしてC1は、iが増えるにつれて複雑になり、式+1.61で表される:CI  :[’i’l ” (plal−1+ plpl−191−2” ”1pl− 1ρト29トコト・・ +go)+(plpl−1pl−?=pl)”CIn  (1,61C3を決める異なった方法もある。最も良く使われるもののひとつは キャリルックアヘッド方法である。(時にキャリルックアヘッド加算器CLAと 呼ばれる)従来の減算器104.106.204は、上述した式を計算するもの である。そのような減算器は、Aと8の差を計算することができ、絶対値減算器 の主要構成要素になっている。本発明をより良(理解するには、従来の減算器1 04゜106.204を検討する必要がある。
図3Aはキャリルックアヘッド減算器104.106.204を示す。加算器は 2つの主要な部分を持つ=310で表された部分は、伝播項 ip) 及び生成 項(9)を作る。また、第2の部分312は、第1の部分310からの伝播信号 及び生成信号を用い、複数のキャリ信号を生成するが、それらは第1のステージ 310に加算される(Dで示されている)。
図3Aを参照して、入力A7− AO及びB7− BOは、複数の伝播・生成/ 加算セル302を用いてρ及び9に変換される。種々のp及び9即ち、p7−p o及びC7−QQは、キャリチェーンセル304で結合され、P及びGが作られ る。小文字のp及び9は、伝播及び生成セル302からの信号を表し、大文字の P及びGは、キャリチェーンセル304からの信号を表す。図3Aに示すように 、伝播・生成/加算セル 302 に対する式と、キャリチェーンセル 304 に対する式が図3B及び図30にそれぞれ示されている。
図3A を参照して、一般的にオペランド A 及び B は、減算器104. 106.204の上から入力する。これら入力から得られた結果としての信号は 、減算器104、+06.204の上から下へ向かってキャリチェーンセル30 4を通って流れ、312部分の底のキャリチェーンセル304でビット0のキャ リインC1nと結合する。その後信号は減算器+04、+06.204を上がっ て行き、複数のキャリができ、それらが互いに足しあわされて差D7− DIが 作られる。
キャリルックアヘッド減算器104、+06.204には、その効率を限定する 多くの間層が存在する。まず最初に、絶対値算術演算ユニットの主要部分として 、それは、A−8又は B−A のいずれかただひとつのコア減算しか作らない (キャリインは0又はlに固定されている。上述の式で C1n を0又はlに する。)第2に、キャリチェーン312及び伝播・生成/加算セル302は、伝 播項及び生成項に関して最小限の情報しか提供しない。言い換えれば、キャリチ ェーン312は、各ビ・メトに対しキャリアウドの情報を与えるのみである。第 3には、減算/加算は畳み込み式の非効率な方法で行われている。データは最初 下に流れ、その後加算/減算器を上に上る。これには余分な配線が必要となる。
一般的にはデータは1方向に流れる方が良い、それは配線を最小にすることがで きるからである。さらに、多くの論理命令が密集した場所で実行されることにな り、設計が必要以上に複雑になることも問題である。
0、 閂1しと1豹。
現在の絶対値減算器でも利用できるが、速度が遅く、且つ大きな面積を取るかい ずれかの欠点がある。(大きな面積を使うと通常大きな消費電力が必要である。
)それ故、必要なものは、絶対値減算器102.202と同じか又はそれ以上の 速度を持ち、絶対値減算器102.202のいずれよりも小型で消費電力が少な くてすむ絶対値減算器である。
発肌立大監 本発明の目的は、高速で、面積効率の高い、低電力の絶対値算術演算ユニットで ある。この算術演算ユニットは、2つの入力オペランドの差の絶対値を効率良く 出力する。この算術演算ユニットは、他の出力関数を得るために用いることもで きる。さらに、本発明の算術演算ユニットは、高性能浮動小数点算術演算ユニッ トに於けるデータ経路要素として用いることもできる。
本発明の、重要な基本的テーマは、A−8及びB−Aを2つの別々の減算をする ことなくめることができるということである。これは独特な絶対値算術演算ユニ ットで行われるが、それは、各ビットに対しキャリチェーン伝播信号及びキャリ チェーン生成信号を得るための独特な手中リチェーン構成を採用しており、キャ リチェーンの最終レベルで、独特な差動マルチプレクサが簡単なワンステップ加 算プロセスを行い、A−8及びB−^の両方が得られる;それに加えてさらに、 正しい結果を選び、l A−B lを得る。
本発明には、伝播・生成ブロック、キャリチェーン、差動マルチプレクサ等を含 む絶対値算術演算ユニットが含まれている。オペランドA及びBは絶対値算術演 算ユニットに入力される。伝播・生成ブロックは、オペランドA及びBを伝播信 号及び生成信号に変換する。キャリチェーンは、伝播信号及び生成信号を受信し 、各ビットに対し、キャリチェーン伝播信号及びキャリチェーン生成信号を生成 するが、最上位のキャリチェーン生成信号は借りを表すのに用いられる。差動マ ルチプレクサは、キャリチェーン伝播信号及びキャリチェーン生成信号と伝播・ 生成ブロックからの伝播信号を受信し、A−8及びB−Aを生成する。
差動マルチプレクサは、次に、A−8又はB−Aを選択し、A−8の絶対値を出 力する。借り信号は、A−8の絶対値を得るための選択手段として働く。どちら の場合においても、IA−81は、1つのコア減算器と本質的に同じ量の/%− ドウエアでめることができる(絶対値減算器102より約2分の1の大きさで、 絶対値減算器202より小さい面積で速い速度を持つ)。
それに加えて、絶対値算術演算ユニ、y トのコア絶対値減算セクシ醇ンは、多 くのオゾンMノとしての回路要素と共に動作することができる。これらのオブ/ −1ノには、拡張した関数機能が含まれている。
これらの拡張した関数機能のオプシ首ンとしては、 AND%0RSNOR%X OR。
XNOR%NANDやIAI、la+、−A、−8のようなに対して可能なすべ ての論理関数から選ばれるものを含んでいる。これは、入力A及びBを伝播及び 生成ブロックへの入力A及びBに変化させるハードウェアを少し追加することで 行うことが可能である。
本発明は、従来の最も速い絶対値算術演算ユニットの約半分の量のハードウェア を用いるので、約50鰭以上小梨になっている。注目すべきは、本発明の絶対値 算術演算ユニットを完成させる、従来の加算器/減算器のただ1つに要する面積 しか本質的には必要でないということである。それに加えて、本発明は、小型化 を実現するために速度を犠牲にしていないだけでなく、従来の絶対値減算器に比 べて消費電力が少ない。
本発明の他の特徴及び利点、並びに本発明の種々の実施例の構造と動作に関して 、図面を参照しながら以下詳細に説明する。
匿ia腹11跣肌 図1は従来の第1の型の絶対値減算器を示す。
図2は従来の第2の型の絶対値減算器を示す。
図3Aは8ピツト用キヤリル・lクアヘ・メト減算器を示す。
図3Bは伝播・生成/加算セル302に対する論理式を示す。
図30はキャリチェーンセル304に対する論理式を示す。
図4は本発明に対する記号を示す。
図5は本発明と従来の絶対値減算器との違いを記号的に示す。
図6は本発明に於ける絶対値算術演算二ニア1−の高水準ブロックダイアダラム である。
図7Aは、本発明に於ける8ビ・1トを例とした絶対値算術演算ユニットに対す るセル配置を示す。
図7Bは本発明に於ける伝播・生成リーフセルに対する論理式を示す。
図7Dは本発明に於ける差動マルチプレクサリーフセルに対する論理式を示すO 図8は本発明に於ける伝播・生成ブロックに対するリーフセルの論理表示である 。
図9は本発明に於1する手ヤリチェーンリーフセルの論理ゲートを用いたインプ リメンテーシ冒ンを示す。
図10は本発明に於てキャリチェーンリーフセルを接続してキャリチェーンを構 成する方法を示す。
図11は本発明に於ける差動マルチプレクサリーフセルのゲートレベルのインプ リメンテーン冒ンを示す。
図12は差動マルチプレクサリーフセルのトランジスタレベルのダイアゲラ図に おいて、同一の要素又は同様の機能を持つ要素は同じ番号で表す。さらに、番号 の一番左の数字は、その番号が最初に出てくる図面番号を表す。
発lL医詳1じJ4朋− r、ILIL 本発明は浮動小数点演算に直接応用できる面積効率の高いアーキテクチャを用い た高速絶対値算術演算ユニットに関するものである。本発明の詳細な説明につい て主に3つのセフシロンに分けて説明する。第!のセフ/望ンでは、本発明の基 礎を成す動作原理を説明する。第2のセフシロンでは、本発明のハードウェアの 実施例を説明し、第3のセフシロンでは、望ましい出力関数を得るための、核に なる発明に付は加えることができるオプ71ンについて述べる。
If 動! 本発明の動作原理には1つの大きなテーマがある:即ち、八−B及びB−^が、 1つのコア減算を行うだけの絶対値算術演算ユニットから得られるということで ある。これは独特な絶対値算術演算ユニットで行われるのであるが、それは、各 ビットに対し伝播項及び生成項を得るための独特なキャリチェーン構成を採用し ており、キャリチェーンの最終レベルで、独特な差動マルチプレクサが簡単なワ ン ステップ加算プロセスを行い、A−8及びB−Aの両方が得られ、それに加 えてさらに、正しい結果を選び、l A−B +を得る。
発明の背景の章で述べたように、2数A及びBの絶対値をめるには、一般に、2 つの減算が必要である。これらの2つの減算関数はA−8及びB−Aを含んでい る。
本発明の主な特徴は、ただ1つのコア減算のみを必要とする絶対値算術演算ユニ ットである。このことはA−BとB−Aの類似性を示すことによって説明できる 。ここでA及びBはいかなるNビット幅の数でもよい。ここでNはあらかじめ決 められた整数で、≧1である。関数B−Aは以下のようにしてA−8に類似した 形式に書き換えられる: 8−A = 8−A (2,0) = B−A+l−1(2,11 = −(A−8−1) −1+2.21式(2,31を得るためには、2の補数 の公式を式f2.21で用いた。2の補数の公式は、−z = NOT (zl  +1である。この場合には、z =(A−8−1)である。
減算は、加算によって簡単に表せるので、演算A−8及びB−Aを加算で書き直 すのは有用である: A−B = A+ (NOT B) +I C2,5)B−A = NOT ( A+ fNOT B) +O) (2,6)式(2,5)及び(2,61の違い は2つある。まず第1に、式(2,5)はキャリインC,n=1であるが、式f 2.61はキャリインC,n=Oである。第2に、式(2,61は論理的にNO Tされている。
本発明は式(2,51及び(2,61の表現上の、これら2つの違いを利用して いる。第1に、コア減算の結果がキャリインに関係がないようコア減算を行う。
第2に、差動マルチプレクサが、キャリイン及び論理NOTを与ることにより、 コア減算の出力からA−8及びB−Aを導き出し、式(2,51及び(2,6) の2つの違いを明らかにする。コア減算及び差動マルチプレクサ(時にはマ・ノ クス (muxl と呼ばれる)に関しては以下で詳しく述べる。
コア減算は、差の式 (1,21への入力を与える。
この式において、A1及びB、は式f+、2]で与えられているが、C1−1は 計算しなくてはならない。式(1,61は、どのようにしてC3が計算されるか 、従ってC,−1が計算されるかを示す。
CI ” [al ” (plG’i−1” plpi−IJ−2+pipI− 1pl−2G11−3 ” ・・・ +90)+’plp+−1pi−2・ ・  ・ I)OIICIロ (1,61CI−1:[91−1” (GJ−IQI −4”pi−1pI−4Ql−3”pl−1pl−2pl−391−4”・・− ”<101 ”(pI−1ρi−IQI−3・・・pG) I CInコア減算 は、式(1,61を3項に簡略化する。以下のように、2項はキャリインC1n に依存せず、第3項はキャリインCl11である:C,= G、、 + Po、 、C,o(2,7)Go、 、の項はキャリチェーン生成信号と呼ばれる。GO ,Iは、ピ、、ト。からビット1で生成されたビットlの牛ヤリアウトを表す。
POllの項はキャリチェーン伝播信号と呼ばれる。Po、1は、ビット0から ビ・ノ1までのCInの伝播を反映している。コア減算が入力A及びBよりキャ リチェーン生成信号及びキャリチェーン伝播信号を作る方法に関しては、以下の ハードウェアのセフシーンで述べる。
式(2,51の差A−8及び式(2,61の差B−Aは、差動マルチプレクサで 、コア減算の出力、すなわち、キャリチェーン生成信号及びキャリチェーン伝播 信号から計算することができる。差動マルチプレクサは、まずA−8及びB−A を計算し、その後圧の結果を選択し、絶対値の差を得る。
最初に、A−8は以下のように計算される:FA −B) 、 = A、 XO R(NOT B、l XORC,、(1,21(A、 XOR(NOT B、)  lをplで、またC1−1をCG+−1+Pl−ICJで置き換えて式(2, 91を得る: +A −Bl 、 = p、 XOR(Go、、+Po、、C,lll (2, 91しかし、式(2,51ではC3゜=1であるので、(2,91は次のように なる:(A −81、= plXOR(G、、+Po、、) (2,101B− Aは同様に以下のように計算される:(a−A)、=Noy(A、xolNoy a、)xoRc、−1) (2,+11fA、 XOR(NOT B、) )を plで、またC1−1を(Gl−1+PL−ICIn)で置き換え、さらに、( 2,6+ によりc、ll= oと置いて、式(2,121を得る:fs −A + 、 = NOT (p、 XORao、、l (2,+ 21A−8及びB −Aの正の結果は、コア減算の特定出力、最上位ビットのキャリ生成G。J−1 によって選択される。キャリ生成G。、++−1は、以下のようにして、A>8 又はBAAを判定する二 Gfi、11−1 ” ’ ならば、A>BでA−8は正である。
GO,11−1” 0ならば、As2でB−Aは正である。
Go、□1、A−B、 B−Aによって各ビットlに対する差の絶対値、Dlは 以下のようにして計算される: D+ :Go、11−1 (A−B) 、+NOV (GIIJ−1] (B  −A) ) (2,+3)(210)及び(2,121を用いて、D1=Go、 N−1(1)1 EXOR(GO,l+PO,l) l +NOT (GO,* −11(NOT (1)I EXORG(1,P) ) (2,+4) 本発明の絶対値減算器では、上述した式が、(伝播・生成ブロック及びキャリチ ェーンは共に減算/加算コアを構成する)伝播・生成ブロック、キャリチェーン 及び差動マルチプレクサを有するハードウェアに組み込まれている。
IIl、ユニLLLL このセクンヲンは、本発明における絶対値算術演算ユニ・ノドの/%−ドウエア 上での実現方法に関するものである。図4は絶対値算術演算ユニ、F ) 40 2の高水準記号表示である。絶対値算術演算ユニット402は、図1及び図2で 示されるでいる従来の個別の減算器104.106、又は204と同程度の大き さである。
実際、絶対値算術演算ユニット402がいくつかの単一ユニット加算器/減算器 よりもすくないハードウェアを用いることも可能である。絶対値算術演算ユニ・ ブト402は小型で高速であるが、それは加算器/減算器に見られない独特な動 作原理を採用しているからである。動作原理のところで述べたように、これは、 キャリイン項と独立してキャリチェーン伝播信号及び牛ヤリチェーン生成信号を 生成するキャリチェーン及び独特なキャリチェーンのために特別に作られた新し い和/差動マルチプレクサを用いて行われる。
図5は、従来の絶対値減算器102及び202と本発明の絶対値減算器の違いを 示している。図5は、データの流れの記号表示である。図5中の円は回路の相対 的複雑さを表すのに用いられている。それらは本構成要素を表しているのではな い。
絶対値減算器102は、2つのコア減算を用い、上で述べたように、大きなチッ プ面積を必要とすることに留意してもらいたい。それに比べて、(詳細は後述す る)絶対値減算器402は、1つのコア減算しか必要とせず、従って約50g4 少ない面積を要するだけである。
絶対値減算器202及び絶対値減算器402は、共にAと8の1つのコア減算を 含む。しかし、絶対値減算器202は、余分な命令実行経路を必要とし、面積及 び遅さの点で高価なものにつく。
絶対値算術演算二ニア ) 402の高水準プロ1り ダイアグラムが図6に示 されている。絶対値算術演算ユニット402は、伝播・生成プロ・ツク604、 キャリチェーン606及び差動マルチプレクサ608を含んでいる。これらの要 素に関しては以下で詳しく述べる。オペランドA622及びB624は(′1か なる整数形式、即ち、2の補数、1の補数、符号絶対値、/(イアス、符号なし 整数形式など、の整数であってもよい。推奨実施例では符号なしの整数形式が用 いられてt)る。
伝播・生成ブロック604は、オペランドA622及び8624を伝播信号(p ) 626及び生成信号(91628に変換する。キャリチェーン606は、信 号626及び628を受信し、キャリチェーン伝播信号630、キャリチェーン 生成信号 632、及び借り信号 650 を作る。差動マルチプレクサ 60 8 は信号626.630.632及び650を受信し、A−8又はB−Aを作 る。差動マルチプレクサ608はその後A−8又は8−Aを選択し、出力として A−8の絶対値を出力する。借り信号650は、A−8の絶対値を得る選択手段 として働(。どちらの場合でも、IA−Blはただ1つのコア減算器と実質的に 同じ雪の〕−一ドウェアを用いて得られる(絶対値減算器102より2分の1に 小型化され、絶対値減算器202より小さい面積でより高速である)。上述した ように、伝播・生成ブロック604及びキャリチェーン606が減算/加算コア 686からなると(Xうのではない。次に、絶対値減算器402の動作及び構造 に関して詳細に述べる。
第7図は、本発明による絶対値算術演算ユニットを8ビy)に適用した例のセル の配置を示す。絶対値算術演算ユニ、 ) 702は、3つの主要な構成要素を 含む:伝播・生成ブロック6o4、キャリチェーノロ06及び差動マルチプレク サ608である。各構成要素は、複数のそれに対応したリーフセルから成ってt する。
マイクロエレクトロニクスでは、レイアウトのユニ・ノドが、しばしば、繰り返 して用いられるが、これらのユニットがリーフセルと呼ばれる。リーフセルはい くつかまとまり、より大きなユニットを作ることもある。リーフセルという用語 は、大きなユニットを作る基本的な構成単位という意味を持つようになった。
例えば、伝播・生成ブロック604は、複数の伝播・生成リーフセルフ04から 成る。牛ヤリチェーン 606 は、複数のキャリチェーンリーフセル 706 から成り;また差動マルチプレクサ608は、複数のリーフセルフ08からなる 。
絶対値算術演算ユニット702は、2つの8ビット人力A及びBを受信し、差動 マルチプレクサ608でり、 = (IA、−B、+1をめる。次に、各構成要 素のリーフセルについて述べる。
A、+、t、1+ 伝播・生成回路をマイクロエレクトロニクス素子で実現する方法は多くある。一 般に、すべての伝播・生成回路は、共通して同じ最終結果を生じる。すなわち、 生成信号と伝播信号である。言い換えれば、伝播・生成ブロック604は、オペ ランドA622及び8624を伝播信号626及び生成信号 628にコード化 する。減算では、生成信号628は、A AND NOT Bを表す。減算では 、伝播信号626は、A XNORBを表す。伝播リーフセル及び生成リーフセ ル604に対する論理式も第7図に示されている。
伝播及び生成信号はディジタルコンビニ−タ演算に於てはよく使用される。
一般に、生成及び伝播回路からの生成及び伝播信号は、キャリチェーンにとって 必要な入力である。伝播及び生成信号は、伝播及び「キル」信号として表すこと も可能である。ここでキルは、伝播及び生成信号の論理NORを表す。
図8は、伝播及び生成ブロック604のリーフセルフ04を示す。伝播・生成リ ーフセルフ04は、入力A、 622及び8.624、インバータ802、AN Dゲート805、XNORゲート806及び出力伝播信号1)1626及び生成 信号9.628を含んでいる。上の論理表現で説明したように、生成信号9.6 28は、信号A。
622及びB、 624がインバータ802及びANDゲート805を通過する ことにより得られる。また伝播信号pH626は、信号A、 622及びB、  624がXNORゲート806を通過することにより得られる。
伝播及び生成信号626.628は、第6.7図に示すように、キャリチェーン 606に結合される。伝播及び生成信号626.628は、絶対値算術演算ユニ ット702の第ルベル(レベル0)を形成する。
本実施例においては、2つのファンインを採用した。本文中のファンインとは、 リーフセルが入力する信号の数を意味する。伝播及び生成リーフセルは、より大 きなファンインを用いて設計することもできるが、そのようなセルはより複雑と なり、動作が遅くなると思われる。しかし、大きなファンインを用いれば、欲す る結果を得るために必要なレベルの数を減らすことができるであろう。この分野 の熟練者にとって、ある応用に対して最適の結果を得るために、以下に述べるリ ーフセルに修正を加えられることは予想できることである。
8.1−′畜−ル 第7図の一部は8ビツトキヤリチエーン606を示している。キャリチェーン6 06は、複数のキャリチェーンリーフセルフ06を有する。リーフセルフ06は 、牛ヤリチェーン606のいくつかのレベルにわたって存在する。特に、キャリ チェーン606は、3つのレベル、レベル1ルベル2、レベル3を含ミ、伝播及 び生成ブロック704は第1のレベル、レベル0を表す。キャリチェーンのレベ ルの数は、各レベルへのファンイン(入力の数)及びビット数Nの双方により決 定される。ファンインは技術に依存し、ビット数はアプリケ−/冒ンに依存する 。例えば、この好ましい実施例では、キャリチェーンの各レベルに対し4つのフ ァンインが用いられたが、これは現在利用できるCMOS技術ではこれが最適な 性能を与えるからであった。しかし、他の技術は、もつと大きなファンインや各 レベルで違ったファンインを用いるのに適しているかも知れない。アブリケーン ゴンに依存するビット数Nのひとつの例は、指数の幅が8ビ・1トで、仮数の幅 が24ビyトの単精度の浮動小数点演算がある。
このセクンッンは、主にキャリチェーンリーフセルフ06に関してである。
この実施例では、4つのファンインが用いられた。しかし、これより大きなファ ンインを用いれば、キャリチェーン606のレベル数を減らすことができるだろ う。当業者の中には、望む結果を得るために、リーフセルのファンインに、アブ リケーンヲンに応じた修正を加えられることを評価するものもいよう。図9は、 以下の式に対する論理ゲートを用いたインプリメンテ−シランである:p、、に = pjや、、、 AND P、J(3,I IG、、に= G、、、、、 O R(PJ、1.kAND G、、、) (3,21リーフセルフ06は4つの入 力信号と4つの出力信号を含む。入力信号は、牛ヤリチェーン生成信号 CG、 、、、に+ 904、キャリチェーン伝播信号 (P、、、、、)903、キャ リチェーン生成信号(G、、) 902及びキャリチェーン伝播信号TP、、、 +901である。出力信号は、(P、、、) 9+2、(G1.−914を含ん でいる。図9に示スヨうに、!J−ニアセル706 ハ、ANDゲート906. 908及びORゲート910を含んでいる。(当業者には、各論理関数は多くの 違った方法で実現できることは周知である。) C,I −11一 本発明のひとつの重要な要素は、キャリチェーンリーフセルフ06を接続し、キ ャリチェーン606を構成するのに用いる方法論である。この方法論の特徴は、 すべてのビットiに対してキャリチェーン伝播信号及ヒキャリチェーン生成信号 を与えることである。
キャリチェーン伝播信号P0..630は、ビット0からビットlへのC1Ll の伝播を反映している。キャリチェーン生成信号G。4632は、ビット0から ビットiまでで生成された、ビットiのキャリアウドを反映する。
8ピツトを例とした、キャリチェーン606のキャリチェーンリーフセルフ06 を接続する方法論が図10に示されている。言い換えれば、図10は、キャリチ ェーン伝播信号及びキャリチェーン生成信号が、絶対値算術演算ユニy ドア0 2の各レベルに対して、どのようにしてグループ化されるかを示している(図1 0のレベルは第7図のレベルに対応している)。図10に於て、1つの列にある 各数字(0−7)は、キャリチェーン伝播信号及びキャリチェーン生成信号のペ アを表す。
式(3,11及び(3,21を膠原して、i、には、その前のレベルのグループ 分け1、J及びj+I、 kから作られる、ビットiからビットkまでの新しい グループ分けである。
P 、 P、 AND P、、、 (3,111、k JIl、k G、に= G、、、、kOR(Pj、、、、 AND G、、、l (3,2l 図10での1つの例は、レベルlのグループ分け0.1及び2.3(ここでi= o、 j=1. j+l=2. k=2)から作られるレベル2のグループ分け 0.2である。図10でのもうひとつの例は、レベル2のグループ分け0.3  及び4.6(ここでi:o、 j=3. j+I=4. k=6’)から作られ るレベル3のグループ分け0゜6である。
一般的には、本発明のグループ分けは3つの規則に従う:1、グループは、ロー 及びハイの2つのカテゴリに分けられる。
2、ローのカテゴリの最大グループがハイのカテゴリのすべてのピントと結合さ れる。
3、グループ分けは、すべてのビットがビットOと結合するまで続けられる。
図10において、各ビy)は、最終的にに対する完了したグルーピングは次のよ うになる:O,0,0,1,0,2,0,3,0,4,0,5,0,6及び0. 7である。これらのグルービングはキャリチェーンの出力であるが、そこでは各 グループ分けは、キャリチェーン伝播及びキャリチェーン生成する信号のペアで ある。キャリチェーンの出力は、第7図の差動マルチプレクサ608に接続する 。
第7図を参照して、最上位ビット位置にあるリーフセルは例外として、キャリチ ェーノロ06の最終レベルに於て、リーフセルフ06は他のリーフセルフ06か 、または、差動マルチプレクサ608に接続する。第7図を参照して、キャリチ ェーン606の第3レベルの最上位ビ・yト位置にあるリーフセルフ08はイン バータ729に接続する。インバータ729からの信号650は、借り信号65 0を表す。インバータ729は、借り信号650において参照される大きな負荷 を駆動するバッファとして用いられている。借り信号650は差動マルチプレク サ708にする。
O,マノ −−小 差動マルチプレクサ608は、キャリチェーン606の出力から、差A−8及び B−Aを生成する。さらに、差動マルチプレクサ608は、MS8からの生成信 号(第7図に示すG。7)に基づいて、A−8及びB−Aの中から正の結果を選 択する。差動マルチプレクサリーフセルフ08は、絶対値差D1を次の式によっ てめる: D、 :Go、1l−3(pIXOR(Go、、÷P[1,、l l +NOT  (G。、、−、l (NOT (pt xoFI ao、A) ) (2,+4) ここで、 LA−814=l)i xoRfGO,I+Pf1.i C1n)  (2,(11(a −Al 、 = NOT (p、 XORa、、) (2, + 2)図11は、差動マルチプレクサリーフセルフ08のゲートレベルのイン プリメンテーンロンを示す。差動マルチプレクサリーフセルフ08は4つの入力 を持つ。
スナワチ、G(、、−、632、Po、、−、630,p、 626及び借す( NOT G、、、) 650である。これらの入力は論理結合され、^−811 09及びB−A1107が得られる。
A−81109は、入力G0..−.632及びP。、、−、630をORゲー ト 1102に入力させ、信号1103を得ることにより得られる。そして信号 p、 626及び1103はXORゲーゲート08ニ入力されA−B llQ9 が出力される。
B−A 1107 は、信号p、 626及びG、、、−、632をXNORゲ ー)+106に入力させ、出力1107を得ることにより得られる。上述したよ うに、B−AはN0V(A−8−1) に等しい。
この時点から、絶対値り、はB−AI+07又はA−81109のいずれかとし て選択される。借り信号650はA−8又はB−Aを選択する。信号650が1 なら、B−A 1107が選択され、借り信号650が0なら、A−81109 が選択される。上で述べたように、借り信号(NOT Go、、) 650は、 図8のMSBのキャリリーフセルフ06からのキャリ生成項である。
差動マルチプレクサ608の最下位とノド位置(LSBIのリーフセルフ0Bに 対しては、人力は G。、、=I及びP。、−、= 0 に固定されていること に留意してもらいたい。
図12は、差動マルチプレクサ708のトランジスタレベルのダイアグラムであ る。差動マルチプレクサリーフセルには複雑な機能が要求されるにもかかわらず (A−B、 B−A及び選択)、最小の数のトランジスタしか必要としていない 。差動マルチプレクサリーフセルフ08の実施例として、図11ではCMOSイ ンバータを共に用いて全N−チャネル選択マトリクスが論理機能を実現化するの に用いられている。当業者には容易に理解できるように、P−チャネルのプルア ップ素子を用い、論理1がその出力端で予期されるとき、選択マトリクスの出力 電圧をVcc一杯にまで引き上げる。
IV 例− 以下の例で2つの可能なケースについて説明する。すなわち、(1)被減数Aが 減数Bよりも大きな場合および(2)被減数Aが減数8よりも小さな場合である 。これらの2つの例では、4ピツト用に作られた絶対値算術演算ユニット402 を上述した図を参照して用いる。
以下の2つの例では同じ4ビツトの入力410及び210を用いる。例3では  14−21=2を計算し、例4では+2−41=2を計算する。どちらの例でも 、4ビツトは24形式で左から右にビット3、ビ(ノド2、ビットl、ビ・1ト 0のように書かれる。
例3 例4 A、。、 0100 (4) 0010 (2+B11.。、 −釘■立 (2 ) −吐匝(4)図6を参照して、第1のステップとしてA[3゜、622及び 8【3.。、が伝播・生成ブロック604に人力すされる。A及びBの各ビット は第7図に示す適切な伝播・生成リーフセルフ04に行き、次に示すように4ビ lトの結果p[3,。1626及び町j:ll] 62Bを作る。
p、o、 tool 1001 J)ol 0100 0010 第2のステップとして、伝播・生成信号 p[3゜1626 及び 9(3o1  628はキャリチェーン606に人力される。詳しく言うと、伝播信号626 及び生成信号628は、2つのレベルを有する4ビツト2進キヤリチエーンに入 力する。
第1レベル後のキャリチェーン伝播項及びキャリチェーン生成項は次のようにな る: P2.、P2.2Po、、Po、。0001 0001G21.G2.2GB、 、Go、。+ 100 0010キヤリチエーン606の第2レベル(および最 終レベル)後のキヤリチェーノ伝播信号630及びキャリチェーン生成信号63 2は次のようになる二Po、、Po、2Po、、Po、。0001 0001G o、、Go、2G0.、Go。+100 0010篤3のステ、ブでは、牛ヤリ チェーン出力P。、【1.。1630及びG。、[3:Ol 632が差動マル チプレクサ608に入力する。差動マルチプレクサ608ではA−8及びB−A が次のように計算される: (A−B+[3o、 0010 1110(8−Al [、。、 1110 0 010Gf1.3がA−8又はB−Aのどちらの差を選択するべきかを決定し、 絶対値差り、3o、 634を出力する: D、、o、 0010 (2) 0010 (21このことから、どちらの例に おいても正しい、予期した結果+2が得られる。
v、tヱzLZ 速度及びチップ面積においてほんの少しの犠牲を払うだけで、 多くのオプン田ンを絶対値算術演算ユニット402に付加することができる。
それらオブンロンとして、(1)拡張した関数機能、(2)浮動小数点四捨五入 、(3)10進数算術演算等がある。
1、拡jL−Lyuu1能。
伝播及び生成ブロック604を少し変化させて多くの論理関数を作ることができ る。それらは、AND、OR,NOR%XOR,XNOR%NAND、l A  l、IB+、−A、−B、 ADDITION等のすべての2人力論理関数であ る。図13は・、上で述べた拡張した関数機能を可能にする2つの4対lマルチ プレクサ+302A及び13028を示している。下に示す表Aは真理値表であ るが、それはビット人力Ai 622及びB、 624を、それに対応して出力 p、 626及びQ、 628として選択された制御信号1304と滞欧させて 示している。
A、 B、 p、 626 Q□6280 0 P−AxBx G−AxBx o 1 P−Axe G−Axe l 0 PABx G−ABx l 1 P−AB GJB 制御信号1304をプログラムすることにより望む関数を作ることができる。
例えば、減算をするには、制御信号1304は次のようにプログラムすればよい 。
PJB=I、P−A8x=O1P−AxBx =I、P−AxB:O;GJB= O1B−ABxl、G−AxBx =O1G−AxB=0本発明の多くの実施例 について上に述べたが、それらは例として挙げられたものであり、この限りでは ない。従って、本発明の精神と範囲は、上述したいかなる典型的な実施例もその 限界を与えるものではなく、以下の特許請求範囲及びそれと同等のものに従って のみ規定される。
絶村イ直減(テ)と +A−Bl 図4 図6 化1.11/喝、−110ユニット 戟 図9 レベル レベル レベル レベル %、i−I PO,i−I FJ 図12 Ai 622 Bi 624 図13 国際調査報告 国際調査報告 US 9304821 S^ 74475

Claims (1)

  1. 【特許請求の範囲】 1.絶対値算術演算ユニットであって、2つのMビット長のオペランドA及びB を受取り、前記受取ったオペランドの関数として第1のセットの伝播・生成信号 を出力し、前記伝播生成ブロックは、実質的に同一の2つの人力端子と2つの出 力端子を持つ伝播・生成回路をN個有し、この場合、MおよびNは予め決められ た1≦N≦Mの整数値である伝播生成ブロックと、 前記伝播生成回路の出力端子に接続された人力端子のセットおよび出力端子のセ ットを有し、第1のセットのキャリチェーン伝播信号およびキャリチェーン生成 信号を出力するキャリチェーン手段と、人力端子のセットおよび出力端子のセッ トを有し、(Ai−Bl)に等しい第1の結果及び(Bl−Ai)に等しい第2 の結果を出力し、ただし、式中1は単一のビット位置を表し、i=(M−1)は 最上位ピット位置であり、i=0は最下位ビット位置を表し、 最上位ビット位置のキャリチェーン生成信号が第1の状態にあるときには、前記 結果(Ai−Bl)を選択し、最上位ビットの前記生成信号が第2の状態にある ときには、前記結果(Bl−Ai)を選択し、前記生成・伝播ブロックおよび前 記キャリチェーンに接続されており、前記選択の1つに基づいて、自らの出力ノ ードに|Ai−Bl|を出力する差動マルチプレクサと、 を有することを特徴とする絶対値算術演算ユニット。 2.前記各伝播・生成回路は、Ai AND NOT Biに等しい生成信号( 9i)およびAi XNOR Biに等しい伝播信号(Pi)を出力する手段を 有することを特徴とする請求の範囲第1項記載の絶対値算術演算ユニット。 3.前記キャリチェーン手段は、Pj+1,kAND P1,jに等しいキャリ チェーン伝播信号及びGj・1,kOR(Pj・1,kAND Gi,j)に等 しい生成信号を出力する論理回路から成り、ここで1≦j≦N及び1≦k≦Nで あることを特徴とする請求の範囲第1項記載の絶対値算術演算ユニット。 4.記キャリチェーン手段は、ビット0からピットM−1まで生成されたキャリ チェーン伝播信号を、前記キャリチューン手段の前記出力端子で出力することを 特徴とする請求の範囲第1項記載の絶対値算術演算ユニット。 5.前記キャリチェーン手段は、ビット0からピットM−1まで生成された十ャ リチェーン生成信号を、前記キャリチェーン手段の前記出力端子で出力すること を特徴とする請求の範囲第1項記載の絶対値算術演算ユニット。 6.前記差動マルチプレクサは、〔(G0.N−1 AND(P1×XOR(G 0.1OR P0.1)))OR(NOT(G0.N−1)AND(NOT(P 1×XORG0.1)))]に等しいとして|Al−Biを出力する論理回路か ら成ることを特徴とする請求の範囲第3項記載の絶対値算術演算ユニット。 7.算術演算ユニッドの減算/加算コアであって、2つのMピット長のオペラン ドA及びBを人力し、前記受け取ったオペランドの関数として前記各信号が、伝 播・生成信号対からなる第1、第2、第3、第4信号を出力する、第1、第2、 第3、第4伝播・生成リーフセル手段と、 前記第1及び第2の伝播・生成リーフセル手段に電気的に接続され、前記第1及 び第2の信号を受信し、受信した前記第1及び第2の信号の関数として第1のキ ャリチェーン信号を出力し、キャリ・チェーン信号がキャリチェーン伝播・生成 信号からなる第1のキャリチェーンリーフセル手段と、前記第3及び第4伝播・ 生成リーフセル手段に電気的に接続し、前記第3及び第4信号を受信し、受信し た前記第3及び第4の信号の関数として第2キャリチェーン信号を出力する第2 のキャリチェーンリーフセル手段と、前記第3の伝播・生成リーフセル手段及び 第1のキャリチェーンリーフセル手段に電気的に接続され、前記第3信号及び前 記第1キャリチェーン信号を受信し、受信した前記第3の信号及び前記第1のキ ャリチェーン信号の関数として第3のキャリチェーン信号を出力する第3キャリ チェーンリーフセル手段と、前記第2キャリチューンリーフセル手段及び第1の キャリチェーンリーフセル手段に電気的に接続され、前記第2及び第1のキャリ チェーン信号を受信し、前記第2及び第1のキャリチェーン信号の関数として第 4のキャリチェーン信号を出力する第4のキャリチェーンリーフセル手段と、を 有することを特徴とする前記減算/加算コア。 8.さらに、前記Mビット長のオペランドA及びBを受け取り、前記受け取った オペランドの関数として伝播信号及び生成信号からなる、第5、第6、第7及び 第8の信号を出力する第5、第6、第7及び第8の伝播・生成リーフセル手段と 、 前記第5及び第6の伝播・生成リーフセル手段に電気的に接続され、前記第5及 び第6信号を受信し、受信した前記第5及び第6の信号の関数としてここでキャ リチェーン信号が、キャリ伝播・生成信号からなる、第5キャリチェーン信号を 出力する第5キャリチェーンリーフセル手段と、前記第7及び第8伝播・生成リ ーフセル手段に電気的に接続され、前記第7及び第8信号を受信し、受信した前 記第7及び第8の信号の関数として第6のキャリチェーン信号を出力する第6の キャリチェーンリーフセル手段と、第5キャリチェーンリーフセル手段及び前記 第7伝播・生成リーフセル手段に電気的に接続され、前記第5キャリテェーン信 号及び前記第7信号を受信し、受信した前記第5のキャリチェーン信号及び前記 第7の信号の関数として第7のキャリチェーン信号を出力する第7のキャリチェ ーンリーフセル手段と、前記第5及び第6のキャリチェーンリーフセル手段に電 気的に接続され、前記第5及び第6キャリチュー7信号を受信し、受信した前記 第5及び第6のキャリチェーン信号の関数として第8のキャリチェーン信号を出 力する第8のキャリチェーンリーフセル手段と、 前記第4キャリチェーンリーフセル手段及び前記第5の伝播・生成リーフセル手 段に電気的に接続され、前記第4のキャリチェーン信号及び前記第5の信号を受 信し、受信した前記第4のキャリチェーン信号及び前記第5信号の関数として第 9のキャリチェーン信号を出力する第9のキャリチェーンリーフセル手段と、 前記第4及び第5のキャリチェーンリーフセル手段に電気的に接続きれ、前記第 4及び第5のキャリチェーン信号を受信し、受信した前記第4及び第5のキャリ チェーン信号の関数として第10のキャリチェーン信号を出力する第10のキャ リチェーンリーフセル手段と、 前記第4及び第7のキャリテェーンリーフセル手段に電気的に接続され、前記第 4及び第7のキャリチェーン信号を受信し、受信した前記第4及び第7のキャリ チェーン信号の関数として第11のキャリチェーン信号を出力する第11のキャ リチェーンリーフセル手段と、 前記第4及び第8のキャリチェーンリーフセル手段に電気的に接続され、前記第 4及び第8のキャリチューン信号を受信し、受信した前記第4及び第8のキャリ チェーン信号の関数として第12のキャリチェーン信号を出力する第12のキャ リチェーンリーフセル手段と を有し ここで前記第1乃至第4のキャリチェーン信号及び前記第9乃至第12のキャリ チェーン信号は、前記オペランドA及びBの最終キャリチェーン信号を表す、 ことを特徴とする減算/加算コア。 9.前記伝播・生成リーフセル手段は、AANDNOTBに等しいとした前記生 成信号及びAXNORBに等しいとした前記伝播信号を出力する論理回路を有す るごとを特徴とする請求の範囲第7項記載の減算/加算コア。 10.前記キャリチェーンリーフセル手段は、Pj・1.kANDPi.jに等 しいとした前記キャリチェーン生成信号及びGj・1,LOR(Pj・1,kA ND1.j)に等しいとした前記生成信号を出力する論理回路からなり、ここで 1≦j≦N及び1≦k≦Nであることを特徴とする請求の範囲第7項記載の減算 /加算コア。 11.前記第1、第2、第3及び第4のキャリチェーンリーフセル手段は、出力 端子セットを有するキャリチェーンブロックからなり、前記キャリチェーンブロ ックは、前記キャリ伝播信号及び前記キャリ生成信号を、ピット0からビットN −1まで生成し、前記キャリチェーンブロックの出力端子で出力することを特徴 とする請求の範囲第7項記載の減算/加算コア。 12.伝播生成ブロックおよびキャリチェーンブロックを有し、且つ、キャリチ ェーン伝播信号(Po.i−1)、キャリチェーン(Go.1−i)生成信号お よび伝播信号(P4)を出力し、減算/加算コアに電気的に接続され、A及びB は1≦MのMピット長のオペランドでありiは単一のビット位置を表し、l=( M−1)は最上位ピット位置であり、i=0は最下位ピット位置を表す場合に、 |Ai−Bi|信号を求める差動マルチブレサにおいて、(a)減算/加算コア からキャリチェーン伝播信号(Po,i−1)、キャリチェーン(Go,i−1 )生成信号および伝播信号(P1)を受信する入力を有する第1および第2の論 理回路を有し、 前記第1の論理回路は(P1XOR(Go.1 OR Po.1))に等しい第 1の出力信号(Ai−B1)を出力し、 前記第2の論理回路は、NOT(p1 XOR Go.1)に等しい第2の出力 信号(BlAi)を出力し、 (b)前記第1および第2の論理回路に電気接続され、減算/加算コアの最上位 ピット位置から借り信号を受信する入力を有し、前記借り信号の状態に基づき前 記(Ai−Bl)および(Bl−Ai)のいずれかを選択し、前記選択に従って 、出力ノードで|Ai−Bl|を出力する選択回路を有することを特徴とする差 動マルチプレクサ。 13.前記選択回路は、論理回路からなるマルチプレクサであり、前記借り信号 NOTIGo,N−1)が論理的に低い値のときには、(AlBi)信号を前記 選択回路の前記出力ノードで選択し、前記借り信号NOT(Go,N−1)が論 理的に高い値のときには、(Bi−Al)信号を前記選択回路の前記出力ノード で選択することにより、|Al−Bi|を出力することを特徴とする請求の範囲 列13項記載の差動マルチプレクサリーフセル。
JP50064194A 1992-05-22 1993-05-20 絶対値算術演算ユニット及び差動マルチプレクサ Expired - Fee Related JP3225043B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US887,511 1992-05-22
US07/887,511 US5251164A (en) 1992-05-22 1992-05-22 Low-power area-efficient absolute value arithmetic unit
PCT/US1993/004821 WO1993024880A2 (en) 1992-05-22 1993-05-20 Low-power area-efficient absolute value arithmetic unit

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001117539A Division JP2001350623A (ja) 1992-05-22 2001-04-16 絶対値算術演算ユニット

Publications (2)

Publication Number Publication Date
JPH07508603A true JPH07508603A (ja) 1995-09-21
JP3225043B2 JP3225043B2 (ja) 2001-11-05

Family

ID=25391307

Family Applications (2)

Application Number Title Priority Date Filing Date
JP50064194A Expired - Fee Related JP3225043B2 (ja) 1992-05-22 1993-05-20 絶対値算術演算ユニット及び差動マルチプレクサ
JP2001117539A Pending JP2001350623A (ja) 1992-05-22 2001-04-16 絶対値算術演算ユニット

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2001117539A Pending JP2001350623A (ja) 1992-05-22 2001-04-16 絶対値算術演算ユニット

Country Status (3)

Country Link
US (1) US5251164A (ja)
JP (2) JP3225043B2 (ja)
WO (1) WO1993024880A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096982A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 演算処理装置および演算処理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219688B1 (en) 1993-11-30 2001-04-17 Texas Instruments Incorporated Method, apparatus and system for sum of plural absolute differences
KR0146065B1 (ko) * 1994-10-18 1998-09-15 문정환 절대값 계산 회로
US5978826A (en) * 1995-12-01 1999-11-02 Lucent Techologies Inc. Adder with even/odd 1-bit adder cells
TW359796B (en) * 1996-10-29 1999-06-01 Matsushita Electric Ind Co Ltd Adder circuit and layout structure therefor
GB2342193B (en) 1998-06-19 2003-06-04 Sgs Thomson Microelectronics Addition circuitry
US6438572B1 (en) * 1998-09-21 2002-08-20 Rn2R, L.L.C. Adder having reduced number of internal layers and method of operation thereof
DE10107376A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Verfahren und Vorrichtung zum modularen Multiplizieren und Rechenwerk zum modularen Multiplizieren
GB2392261B (en) * 2002-08-19 2005-08-03 Texas Instruments Ltd Device for computing an absolute difference
US8707225B1 (en) * 2006-04-07 2014-04-22 Cadence Design Systems, Inc. Synthesis of area-efficient subtractor and divider functional blocks
CN111914996A (zh) * 2020-06-30 2020-11-10 华为技术有限公司 一种提取数据特征的方法和相关装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3751650A (en) * 1971-06-28 1973-08-07 Burroughs Corp Variable length arithmetic unit
US4849921A (en) * 1985-06-19 1989-07-18 Nec Corporation Arithmetic circuit for calculating the absolute value of the difference between a pair of input signals
JPH01204138A (ja) * 1988-02-09 1989-08-16 Nec Corp 演算回路
JPH0776911B2 (ja) * 1988-03-23 1995-08-16 松下電器産業株式会社 浮動小数点演算装置
US4982352A (en) * 1988-06-17 1991-01-01 Bipolar Integrated Technology, Inc. Methods and apparatus for determining the absolute value of the difference between binary operands
US5027308A (en) * 1989-02-14 1991-06-25 Intel Corporation Circuit for adding/subtracting two floating point operands
JPH038018A (ja) * 1989-06-06 1991-01-16 Toshiba Corp 符号付き絶対値加減算器
US5111421A (en) * 1990-02-26 1992-05-05 General Electric Company System for performing addition and subtraction of signed magnitude floating point binary numbers
KR920008271B1 (ko) * 1990-04-03 1992-09-26 정호선 신경회로망을 이용한 부동소수점방식 가산기회로
JPH056263A (ja) * 1991-06-27 1993-01-14 Nec Corp 加算器およびその加算器を用いた絶対値演算回路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096982A1 (ja) * 2006-02-24 2007-08-30 Fujitsu Limited 演算処理装置および演算処理方法
US8549054B2 (en) 2006-02-24 2013-10-01 Fujitsu Limited Arithmetic processing apparatus and arithmetic processing method

Also Published As

Publication number Publication date
US5251164A (en) 1993-10-05
JP3225043B2 (ja) 2001-11-05
WO1993024880A3 (en) 1994-02-03
JP2001350623A (ja) 2001-12-21
WO1993024880A2 (en) 1993-12-09

Similar Documents

Publication Publication Date Title
US5920498A (en) Compression circuit of an adder circuit
US4807172A (en) Variable shift-count bidirectional shift control circuit
KR100500855B1 (ko) 연산장치의연산방법,기억매체및연산장치
JPS5981736A (ja) デイジタル加算器の桁上げ信号発生回路
JPH06214755A (ja) 乗算装置
JPH07508603A (ja) 絶対値算術演算ユニット及び差動マルチプレクサ
JPH0552530B2 (ja)
JPH06250994A (ja) 演算装置
US4866657A (en) Adder circuitry utilizing redundant signed digit operands
JP4157141B2 (ja) 桁上げリップル加算器
US5144575A (en) High speed floating point type multiplier circuit
Sahoo et al. A novel redundant binary number to natural binary number converter
Sharma et al. Addition Of redundant binary signed digits using RBSD Adder
US6269387B1 (en) Method and apparatus for 3-stage 32-bit adder/subtractor
KR920009092B1 (ko) 나눗셈기 회로
JPH11316674A (ja) Fod回路
US7159004B2 (en) Adder, multiplier and integrated circuit
JPH04227534A (ja) アレイ乗算器
JPH09185493A (ja) 加算器用集積回路
Bindal et al. Review of Combinational Logic Circuits
Meruguboina Efficient Design of Carry Select Adder Using Domino Manchester Carry Chain
WO2024201527A1 (en) High-speed selective carry propagate adder
JP2894749B2 (ja) 並列乗算器
Herrfeld et al. A parallel back-propagation adder structure
JP2563467B2 (ja) 2進演算器

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070824

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080824

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090824

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090824

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees