JPH05150947A - 7ビツト入力3ビツト出力のカウンタ - Google Patents

7ビツト入力3ビツト出力のカウンタ

Info

Publication number
JPH05150947A
JPH05150947A JP4142057A JP14205792A JPH05150947A JP H05150947 A JPH05150947 A JP H05150947A JP 4142057 A JP4142057 A JP 4142057A JP 14205792 A JP14205792 A JP 14205792A JP H05150947 A JPH05150947 A JP H05150947A
Authority
JP
Japan
Prior art keywords
bit
bits
range
sum
counter
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
JP4142057A
Other languages
English (en)
Other versions
JPH0823813B2 (ja
Inventor
Stamatis Vassiliadis
スタマテイス・バシリアデイス
Eric M Schwarz
エリツク・マーク・シユワルツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05150947A publication Critical patent/JPH05150947A/ja
Publication of JPH0823813B2 publication Critical patent/JPH0823813B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/607Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers number-of-ones counters, i.e. devices for counting the number of input lines set to ONE among a plurality of input lines, also called bit counters or parallel counters

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)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 7個のビツト入力で3個のビツト出力を発生
する(7/3)実用的なカウンタを与える。 【構成】 本発明の7/3カウンタは、入力ビツトのす
べてが負の符号を持つている場合、入力ビツトのうちの
幾つかが負の符号を持つている場合、あるいは、入力ビ
ツトには負の符号を持つビツトがない場合も含む、すべ
ての場合に適用することができる。この7/3カウンタ
は、アレイ方式乗算器に使用することができ、付加され
ねばならない行を持つマトリツクスの減小ができ、桁上
げのない加算を行なうことによつて演算速度を高めるこ
とができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デイジタル・コンピユ
ータ、あるいは、複数入力の並列カウンタ、より詳細に
言えば、多数の行を並列に加算することのできるアレイ
乗算装置や、他のマトリツクス演算に有用な一般化され
た7ビツト入力3ビツト出力のカウンタ(以下、7/3
カウンタと言う)に関する。
【0002】
【従来の技術及び発明が解決しようとする課題】多くの
オペランドをまとめて加算する必要のあるアプリケーシ
ヨンのための2/1アダー(加算器)の代わりにカウン
タが使用される。このカウンタは、桁上げ先見加算器
(carry lookahead adder-CLA)の桁上げ伝播を回避す
る手段を与えており、従つて、縮小された段数で、加算
されるオペランドの数を縮小することができる。これ
は、3/2カウンタにおいて、3つのオペランドは、ビ
ツト的に見て2つのオペランドに縮小され、それらのオ
ペランドが、オペランドの長さに亙つて桁上げを伝播さ
せる必要がないからである。多数のオペランドが合計さ
れなければならない殆どのアプリケーシヨンにおいて、
カウンタはそれらのオペランドを2つのオペランドに縮
小するのに用いられ、次に、2つのオペランドを最終的
な和の値に縮小するためにCLAが使用される。例え
ば、多数の部分積が最終積に縮小されねばならない乗算
器において、これらのカウンタに対して種々のアプリケ
ーシヨン(適用例)がある。1965年5月のアルタ・
フリケンザ(Alta Frequenza)第34巻のダダ(Dadd
a)の「Some Schemes for Parallel Multipliers」と題す
る刊行物の349頁乃至356頁と、1965年10月
のコンピユータに関するIEEE会報のC−29巻のダダの
「Composite Parallel Counters」と題する文献の942
頁乃至946頁と、1964年2月の電子コンピユータ
に関するIEEE会報のEC−13巻のワラス(Wallace)
の「A Suggestion For FastMultiplier」と題する文献
の14頁乃至17頁とは、乗算器中の部分積の縮小に必
要とされるカウンタ・ブツク及びカウンタの段数を縮小
するために、これらのカウンタのための最適なレイアウ
トを提案している。加えて、2つのコンポーネントの乗
算器のための汎用3/2カウンタが、1971年4月の
コンピユータに関するIEEE会報のC−20巻のペザリス
(Pezaris)の「A 40-ns 17-Bit ArrayMultiplier」と
題する文献の442頁乃至447頁に提案されている。
【0003】3/2カウンタは多くの実験例で使用され
ている。これについては、米国特許第4594679号
と、1973年12月のコンピユータに関するIEEE会報
のバウ(Baugh)等の「A Tow's Component Parallel Ar
ray Multiplication Algorithm」と題する文献の104
5頁乃至1047頁と、ワング(Hwang)の「Computer
Arithmetic Principles, Architecture, and Design」
と題する1979年の刊行物の173頁乃至176頁と
を参照されたい。然しながら、7/3カウンタの設計に
関連する複雑さのために、7/3カウンタの使用は避け
られていた。7/3カウンタの設計の複雑さは、一次の
桁上げビツトにより与えられる困難性に起因する。これ
に関連して説明すると、7/3カウンタは7つのビツト
入力に対して3つの出力ビツトを発生する。これらの3
つの出力とは、和のビツト出力、即ち、20で暗示され
る乗算で置換される最下位のビツトと、一次桁上げビツ
ト出力、即ち、21で暗示される乗算で置換される中間
位のビツトと、二次桁上げビツト出力、即ち、22で暗
示された乗算で置換される最上位のビツトである。若
し、入力エレメントの和が奇数であれば、これは7路の
排他的オア演算(XOR)によつて容易に実行でき、和
のビツトは1に等しい。若し、エレメントの和が4、ま
たはそれ以上であれば、二次桁上げビツトは1に等し
く、これを1つの処理段で実行するためには、4×35
個のANDゲートとORゲート(AO)が必要である。
2つの段は35個の4路のNANDゲートと、35個の
入力のAND論理演算用配線と、1個のインバータとを
必要とする。配線アンド演算を有する3つの段は5個の
8路のANDゲートと、5路のNANDゲートによる反
転とによつて行なうことができる。一次桁上げビツトの
処理は、和のビツト、或は二次桁上げビツトの処理のい
ずれよりも難しく、それは、若し、和が2、3、6、ま
たは7に等しければ、1に等しい。これを実行するため
には、これらの和を生じるすべての組み合わせは7×6
4個のAOを必要とする。縮小技術を使用して、このゲ
ート数は6×48個のAOに縮小されるが、これは、特
に二次桁上げビツトのために必要な4×35個のAOに
比べて、容易に実行することはできない。加えて、入力
の真数及び補数の両方が必要とされ、また、それらの論
理出力は、再度の電力増強を必要とする。
【0004】小型で、高速度のアーキテクチヤを持つ7
/3カウンタの出現が望まれている。このような7/3
カウンタによつて、縮小に必要とされる、より少ない処
理段の利点を得ることができる。例えば、複数の3/2
カウンタ及び1個のCLAを用いた7段の論理回路にお
いて、19個の項は1つの項に減小することができる
が、複数の7/3カウンタ、1個の3/2カウンタ及び
1個のCLAを用いた7段の論理回路において、183
個の項を1つの項に減小することができる。加えて、7
/3カウンタの構成を使用すれば、35個の項は5段で
1つの項に減小でき、15個の項は4段で1つの項に減
小でき、そして、7個の項は3段で1つの項に減小する
ことができる。7/3カウンタを総括的に言えば、同じ
数の項に減小するために、本質的により少ない数の段し
か必要としないと言うことである。
【0005】
【課題を解決するための手段】本発明は、従来から3/
2カウンタしか用いられていなかつた種々のアプリケー
シヨンに適用することのできる新規な7/3カウンタを
意図するものである。本発明は汎用7/3カウンタを与
えるが、特に、サブセツトとして7/3カウンタを持つ
汎用7/3カウンタを与える。本発明の1実施例におい
て、汎用7/3カウンタは4つのタイプのカウンタ回路
の実行によつて8つの組み合わせを加える能力がある。
1つの回路は、すべてが正のエレメントを持つ7/3カ
ウンタのための論理式を実行する。また、1乃至3個の
負のエレメントを持つ汎用7/3カウンタのための3つ
の回路の論理式及びデザインが与えられている。本発明
のすべての実施例は、乗算器のような多くのオペランド
の和を必要とするアプリケーシヨンに使用することがで
きる。
【0006】
【実施例】
A.7/3カウンタのタイプ カウンタによつて3個のエレメントに縮小される7個の
エレメントは、X0、X1、X2、X3、X4、X5及びX6により定
義されるバイナリ・デイジツト(「ビツト」)であり、
そして、カウンタの3個の出力エレメントはC2、C1及び
Sで定義されるビツトであると仮定する。また、上述の
エレメントのうちのすべてのエレメント、または、幾つ
かのエレメントは負であり得るし、しかも、どのエレメ
ントも負ではないことも有り得るものと仮定する。加算
の交換性(commutativity)ゆえに、エレメントXiの順
序は重み付け(significance)を持たないから、これら
のエレメントは、低い順序の添字を付すことにより、
(正の符号のエレメントがある場合には)すべての正の
符号を持つエレメントで再順序付けることができる。要
するに、図1乃至図8に示されているように、重み付け
の組合せは8個しかないと言うことである。
【0007】これらの8個の組合せはアルフアベツト順
にAからHまでの記号が付されている。図1乃至図8は
以下のように解釈することができる。即ち、組合せAは
負のエレメントは含んでおらず、組合せBは1個の負の
エレメントを含んでおり、組合せCは2個の負のエレメ
ントを含んでおり、組合せDは3個の負のエレメントを
含んでおり、組合せEは4個の負のエレメントを含んで
おり、組合せFは5個の負のエレメントを含んでおり、
組合せGは6個の負のエレメントを含んでおり、組合せ
Hは7個の負のエレメントを含んでいる。また、可能性
ある和の範囲も各組合せに対して示されている。すべて
のエレメントは符号+、または−を持つバイナリ0か1
かの何れかだから、合計の値が最小になるのは、負のエ
レメントすべてが1であり、かつ、正のエレメントすべ
てが0の時である。和の値が最大になるのは、正のエレ
メントすべてが1であり、かつ、負のエレメントすべて
が0の時である。7個の正のエレメントがある組合せA
の範囲は0から(1に等しいすべての負のエレメントの
合計は0だから)+7まで(1に等しいすべての正のエ
レメントの合計は7だから)である。従つて、すべての
組合せの範囲は容易に見出すことができる。
【0008】また、図1乃至図8はC2、C1及びSに関す
る幾つかの組合せの群も示している。これらの群は、群
内に含まれているエレメントが負のエレメントであるこ
とを表わしている。7つの範囲すべては、正か負かの何
れかであり、そして、1か0かの値を持つている3個の
エレメントによつて表示することができる。上に述べた
ことは、以下に示す各組合せによつて証明される。
【0009】Xi、Ci及びSについて説明すると、i番目
のビツトの入力エレメント値をXiとし、i番目の桁上げ
(carry)値をCiとし、和(sum)の値をSとし、そして、そ
れらのエレメントの添字を付した小文字の表示は、xi
|Xi|、ci=|Ci|及びs=|S|のような大きさを持つ
ものとする。加えて、c2、c1及びsは適当に重みを付さ
れているものとする。つまり、図1乃至図8及び図9乃
至図16において、連続する列中のこれらの文字、c2
c1及びsの位置は、これらの文字に対して夫々22、21
び20に重み付けされていることを意味している。
【0010】次に、図1乃至図8の8つの組合せを考え
てみる。組合せA: 0から+7の範囲 C2、C1及びSはすべて正であることを証明しなければな
らない。 この和(sum)は0、1、2、3、4、5、6、または7
に等しい。図9において、c2、c1、またはsの値は和の
値に対応して示されている。等式(1)及び(2)が常
に真であることは、代入によつて容易に検証することが
できる。
【0011】組合せB: −1から+6の範囲 C2及びC1は正であり、そしてSは負であることを証明し
なければならない。 この和は−1、0、1、2、3、4、5、または6に等
しい。図10において、c2、c1、またはsの値は和の値
に対応して示されている。等式(3)が常に真であるこ
とは、代入によつて容易に検証することができる。
【0012】組合せC: −2から+5の範囲 C2及びSは正であり、そしてC1は負であることを証明し
なければならない。 この和は−2、−1、0、1、2、3、4、または5に
等しい。図11において、c2、c1、またはsの値は和
の値に対応して示されている。等式(4)が常に真であ
ることは、代入によつて容易に検証することができる。
【0013】組合せD: −3から+4の範囲 C1及びSは負であり、そしてC2は正であることを証明し
なければならない。 この和は−3、−2、−1、0、1、2、3、または4
に等しい。図12において、c2、c1、またはsの値は和
の値に対応して示されている。等式(5)が常に真であ
ることは、代入によつて容易に検証することができる。
【0014】組合せE: −4から+3の範囲 C1及びSは正であり、そしてC2は負であることを証明
しなければならない。 この和は−4、−3、−2、−1、0、1、2、または
3に等しい。図13において、c2、c1、またはsの値は
和の値に対応して示されている。等式(6)が常に真で
あることは、代入によつて容易に検証することができ
る。
【0015】組合せF: −5から+2の範囲 C2及びSは負であり、そしてC1は正であることを証明し
なければならない。 この和は−5、−4、−3、−2、−1、0、1または
2、に等しい。図14において、c2、c1、またはsの値
は和の値に対応して示されている。等式(7)が常に真
であることは、代入によつて容易に検証することができ
る。
【0016】組合せG: −6から+1の範囲 C2及びC1は負であり、そしてSは正であることを証明し
なければならない。 この和は−6、−5、−4、−3、−2、−1、0、ま
たは1に等しい。図15において、c2、c1、またはsの
値は和の値に対応して示されている。等式(8)が常に
真であることは、代入によつて容易に検証することがで
きる。
【0017】組合せH: −7から0の範囲 C1、C2及びSはすべて負であることを証明しなければな
らない。 この和は−7、−6、−5、−4、−3、−2、−1、
または0に等しい。図16において、c2、c1、またはs
の値は和の値に対応して示されている。等式(9)が常
に真であることは、代入によつて容易に検証することが
できる。
【0018】従つて、図9乃至図16は、3つの出力C
2、C1及びSの符号のすべての組合せに対して正しく記載
している。
【0019】B.カウンタのタイプ間の関係 一般論として、2つのブール関数は、若し、任意の入力
に対して2つの関数が同じ値を生じるならば等価であ
る。(即ち、若し、2つのブール関数が同じ真数表を持
つているならば、それらのブール関数は等価である。)
図9乃至図16は以下の組合せを示している。すなわ
ち、組合せAとH、BとG、CとF、DとEは同じ真数
表を持つている。これらの図から見て、組合せの対によ
る等価の関係は、1つの組合せのビツト符号のパターン
が他のビツト符号のパターンと論理的に逆の関係にある
と言う点で、独特であることの発見が本発明の重要な着
眼点であることに注意を喚起する必要がある。これは、
以下の事柄が真であるからである。若し、和の値の絶対
値が1、3、5及び7に等しければ、組合せAにおい
て、Sは1(s=1)であることを示す。(即ち、若し、7
個のビツトのうちの1つのビツトが「オン」か、いずれ
かの3つのビツトが「オン」か、いずれかの5つのビツ
トが「オン」か、7ビツトすべてが「オン」であれば、
3ビツト出力は1である。)若し、和のビツトの絶対値
が1、3、5及び7であれば、組合せH中のsビツトは
「オン」である。(即ち、若し、7個のビツトのうちの
1つのビツトが「オン」か、いずれかの3つのビツトが
「オン」か、いずれかの5つのビツトが「オン」か、7
ビツトすべてが「オン」であれば、3ビツト出力は1で
ある。)等価性を証明するために、図9と図16中の他
の2つのビツトに対しても、同じ手続きを適用すること
ができる。要するに、ここで説明していることは、若
し、名前付けを考慮に入れなければ(即ち、S[0,1]と
しているが、s及び(s)として指定されるならば)、ブ
ール論理回路の設計は組合せA:Hについては同じであ
ると言うことである。換言すれば、出力の意味を考慮に
入れなければ、この論理回路は、入力の組合せに与えら
れたのと同じ出力を発生すると言うことである。
【0020】本質的には、論理回路の設計において、任
意の適当な組合せに対して使用することのできる単一の
回路が必要である。B:G、C:F及びD:Eの組合せ
について、図10乃至図15を使用して同じ証明方法を
適用することができ、各組合せに対して単一の回路が使
用できるのを証明することができる。従つて、設計の対
象となる組合せについて8個の回路を設計するのではな
く、4個の回路を設計すれば足りる。
【0021】C.タイプ0の7/3カウンタ タイプ0の7/3カウンタは、組合せA及び組合せHに
ついて使用される。このカウンタは、7個のエレメント
のうちに幾つのエレメントが1に等しいかを計算して、
二次桁上げc2、一次桁上げc1及び和のビツトsを通して
戻される。
【0022】入力エレメントのすべてのグループの和の
記述が簡易に達成されるので、これは、7個の入力の和
を3個の出力で記載する時に非常に便利である。本明細
書においては、以下の表記法を使用する。Γ+ (α:β)
びΓ+(α:β)は、αからβまでのエレメントを対象とす
る時、少なくともΓ個のエレメントが「オン」であるこ
とを表示するものである。例えば、4+(0:6)=4
+ (0:6)は、7個のエレメントのうちの少なくとも4個の
エレメントが「オン」であることを表示している。ま
た、Γ+ (α:β)'及びΓ+(α:β)'は、αからβまでのエ
レメントを対象とする時、少なくともΓ個のエレメント
が「オフ」であることを表示するものであり、Γ(α:β
)及びΓ(α:β)は、αからβまでのエレメントを対象と
する時、Γ個のエレメントが「オン」であることを表示
するものである。若し、Γが添字なしで示されたなら
ば、それは、7個のすべての入力の和のすべてに関係す
る。従つて、7つの入力すべての和を記述する際に、こ
の簡明な表記法は、入力エレメントのすべてのグループ
の和に設定され、3つの出力を表わすのに非常に便利で
ある。
【0023】7入力3出力のカウンタについて、図17
の組合せA及びHを参照して以下に説明する。また、出
力ビツトの組合せによつて表示される和は、上述のセク
シヨンBにおいて証明されたように、2つの組合せの等
価を立証するために示されている。
【0024】以下のタイプ0の7/3カウンタの説明と
他のタイプの7/3カウンタの説明において、カウンタ
の種々の素子を完全に記載するために、ブール代数式が
導き出されている。これらのブール代数式において、
「+」はOR演算を表わし、下付け文字はAND演算を
表わし、そして、「V」は排他的OR演算を表わしてい
る。また、アポストロフイ「'」及び上部に直線を付し
た文字は反転を表わしており、従つて、X'はXバー(Xの
上部に−を付した記号)と同じである。
【0025】c2、c1及びsの論理式は組合せAについて
導き出されるが、これは、組合せHについても同じよう
に適用することができる。図17において、若し、すべ
てのエレメントの和が4、5、6、または7である場合
及びこの場合に限り、二次桁上げc2は1に等しい示され
ており、このとき少なくとも4個のエレメントが「オ
ン」である、即ち、c2=4+ (0:6)である。これは、以下の
ように表示される。 c2 = (4,5,6,7) = (4,5,6,7)(0:6)= 4+ (0:6)
【0026】図17から導き出され、以下の式で示され
るように、すべてのエレメントの和が2、3、6、また
は7に等しい場合及びこの場合に限り、一次桁上げc1は
1に等しい。 c1 = (2,3,6,7) = (2,3,6,7)(0:6) c1 = (2,3,6,7)(0:6)
【0027】和、即ち合計処理そのものの処理は長い遅
延を必要とするので、この式は以下のようなより速い等
価の式に書き代えられる。 c1 = 4+ (0:6)'2+ (0:6) + 6+ (0:6)。 これは、2路の
ORゲートに印加する2個の2路のANDゲートを意味
する。
【0028】すべてのエレメントの和が1、3、5、ま
たは7に等しい場合及びこの場合に限り(すべての入力
の排他的ORに等価である)、和sは1に等しい。これ
は以下の式で表わされる。 s = (1,3,5,7)。 これはすべてのエレメントの排他的
ORを意味する。これは以下の式で表わされる。 s = x0Vx1Vx2Vx3Vx4Vx5Vx6
【0029】図21は、ビルデイング・ブロツクA1、
A2、A3、A4、B1、B2、D1及びE1を有する
タイプ0の7/3カウンタの実施例の図である。技術的
な制限によつて、Aレベルにおいて2ビツトのグループ
からの和の項を先ず作ることにより6ビツトのグループ
に構成されるのが好ましい。次に、2ビツトのこれらの
グループはBレベルにおいて3ビツトのグループ及び4
ビツトのグループに組合される。Dレベルは、7ビツト
のグループを受け取り、そして、C2と、最終レベルEに
おいてC1を解くために必要な3つの出力とを発生する。
通常の論理素子により形成することのできるこれらのブ
ロツクは、以下の式によつて細部を説明する。これらの
式は、論理を遂行するための論理構造を示す括弧を付し
た表示を含んでいる。この表記法における基本的な素子
は複数個の入力(複数路)を持つANDゲート及びOR
ゲートである。従つて「2路」のANDゲートは2つの
入力と1つの出力を持つている。更に、記号「AO」は
ANDゲートの出力からの信号を入力とするORゲート
を示す。AOの標識は、標識の前にi×jの表示を持つ
ており、この場合、「j」はORゲートに出力するAN
Dゲートの数を表わし、「i」は各ANDゲートが持つ
ている夫々の入力の数を表わしている。幾つかのAO標
識において、OR論理演算された1つ、またはそれ以上
の項が単一の変数のみを含んでおり、これらの各場合に
おいて、変数は、その項によつて表わされた2路のAN
Dゲートを維持するために「1」とAND演算される。
項目に付された標識「I」は、その項の反転を表わし、
従つて項目「2×3AOI」は、2路のANDゲートの
出力に接続されている入力を持つ3路のORゲートの出
力を反転することを表わしている。
【0030】A1、A2、A3 2(i:i+1) = xixi+1 (2路のAND) 1+ (i:i+1) = (xi+xi+1) (2路のOR)B1 4(0:3) = 2(0:1)2(2:3) (2路のAND) 3+ (0:3) = 2(0:1)1+ (2:3) + 1+ (0:3)2(2:3) (2×2AO) 2+ (0:3) = 2(0:1) + 1+ (0:1)1+ (2:3) + 2(2:3) (2×3AO) 1+ (0:3) = 1+ (0:1) + 1+ (2:3) (2路のOR)B2 3(4:6) = 2(4:5)x6 (2路のAND) 2+ (4:6) = 2(4:5) + 1+ (4:5)x6 (2×2AO) 1+ (4:6) = 1+ (4:5) + x6 (2路のOR)D1 6+ (0:6) = 4(0:3)2+ (4:6) + 3+ (0:3)3(4:6) (2×2AO) 4+ (0:6) = 4(0:3) + 3+ (0:3)1+ (4:6) + 2+ (0:3)2+ (4:6) + 1+ (0:3)3(4:6) (2×4AO)
【0031】
【数1】
【0032】 2+ (0:6) = 2+ (0:3) + 1+ (0:3)1+ (4:6) + 2+ (4:6)(2×3AO)E1 c1 = 4+ (0:6)'2+ (0:6) + 6+ (0:6) (2×2AO) c2 = 4+ (0:6) s = x0Vx1Vx2Vx2Vx3Vx4Vx5Vx6 (7路の排他的OR)
【0033】ビルデイング・ブロツクA1、A2、A
3、A4、B1、B2、D1及びE1は上述の論理式に
よつて完全に表わされている。然しながら、これらの論
理式の詳細を更に明らかにするために、図25乃至図3
0において、これらのブロツクの詳細を、AND論理素
子、OR論理素子、排他的OR論理素子及びインバータ
素子の形式の従来の論理素子と上述の論理式との関係が
示されている。例えば、図27に示したANDゲート1
00のような単一の値がゲートされるANDゲートにお
いて、一定の正のデイジタル・レベルを与えるために、
電圧レベル(V+)がANDゲートに印加される。
【0034】D.タイプ1の7/3カウンタ タイプ1の7/3カウンタは、正の符号(組合せB)
か、または負の符号(組合せG)を持つ6個のエレメン
トと、これらのエレメントとは反対の符号を持つ1つの
エレメントとの和に用いられる。これは3つの出力を発
生する。即ち、それらの出力は正の符号(組合せB)
か、負の符号(組合せG)かの必ずどちらかである2つ
の桁上げビツトと、桁上げビツトの符号とは反対の符号
である1つの和のビツトである。図18は、上述のセク
シヨンBで証明し、図18から明らかなように、同じ組
合せ論理回路を使用した2つの組合せのための入力及び
出力を示している。
【0035】図18の組合せは低位の組合せ中に負のエ
レメントを持つように再配列されている点で図2と相異
していることに注意されたい。(既に述べたように、加
算の交換性のために、Xiの順序は重み付けがない。)
【0036】以下の式において、Γ=(負=Θ1
Θ2、...Θn)(正=y1、y2、...yn)の標識
が用いられている。この標識は、若し、Θの負のエレメ
ントと、yの正のエレメントがあれば、Γは1に等しい
ことを表わしている。以下の論理式は組合せBを対象と
して導き出されているが、組合せGに対しても同じよう
に適用することができる。
【0037】s = -1, 1, 3, 5 s = (負=0)(正=1,3,5) + (負=1)(正=0,2,4,6)
【0038】
【数2】
【0039】s = x0Vx1Vx2Vx3Vx4Vx5Vx6 c1 = 1, 2, 5, 6 c1 = (負=0)(正=1,2,5,6) + (負=1)(正=2,3,6)
【0040】
【数3】
【0041】c2 = 3, 4, 5, 6 c2 = (負=0)(正=3,4,5,6) + (負=1)(正=4,5,6)
【0042】
【数4】
【0043】従つて、出力の式は0乃至5のエレメント
及び6のエレメントの項目において導き出された。どの
ようにしてこれらの数が組み合わされるかについて図2
2を参照して以下に説明する。
【0044】A1、A2 3(i:i+2) = xixi+1xi+2 (3路のAND) 2+ (i:i+2) = xixi+1+xixi+2+xi+1xi+2 (2×3A
O) 1+ (i:i+2) = xi+xi+1+xi+2 (3路のOR)
【0045】B1 1+ (0:5) = 1+ (0:2) + 1+ (3:5) (2路のOR) 2+ (0:5) = 2+ (0:2) + 1+ (0:2)1+ (3:5) + 2+ (3;5) (2×3AO) 3+ (0:5) = 3(0:2) + 2+ (0:2)1+ (3:5) + 1+ (0:2)2+ (3:5) + 3(3:5) (2×4AO)
【0046】
【数5】
【0047】 4+ (0:5) = 3(0:2)1+ (3:5) + 2+ (0:2)2+ (3:5) + 1+ (0:2)3(3:5) (2×3AO)
【0048】
【数6】
【0049】 5+ (0:5) = 3(0:2)2+ (3:5) + 2+ (0:2)3(3:5) (2×2AO) 6(0:5) = 3(0:2)3(3:5) (2路のAND)D1 s = x0Vx1Vx2Vx3Vx4Vx5Vx6
【0050】
【数7】
【0051】E.タイプ2の7/3カウンタ タイプ2の7/3カウンタは正の符号(組合せC)か、
または、負の符号(組合せF)を持つ5個のエレメント
と、これらのエレメントの符号とは反対の符号を持つ2
個のエレメントとの和に用いられる。このカウンタは、
3つの出力を発生する。即ち、それらは、必ず正の符号
(組合せC)か、負の符号(組合せF)かのどちらかで
ある和のビツト及び二次桁上げのビツトと、和のビツト
と反対符号である一次桁上げビツトとである。図19
は、上述のセクシヨンBで証明し、図19から明らかな
ように、同じ組合せ論理回路を用いた2つの組合せに関
する入力及び出力を示している。
【0052】以下の論理式は組合せCを対象として説明
されるが、組合せFに対しても同じように適用すること
ができる。
【0053】 s = -1, 1, 3, 5 s = (負=0)(正=1,3,5) + (負=1)(正=0,2,4) + (負=2)(正=1,3,5) s = x0Vx1Vx2Vx3Vx4Vx5Vx6 c1 = -2, -1, 2, 3 c1 = (正=0,1)(負=2) + (正=0)(負=1,2) + (正=2,3)(負=0) + (正=3,4)(負=1) + (正=4.5)(負=2) c1 = 2+ (0:4)'2(5:6) + 0(0:4)1+ (5:6) + 2+ (0:4)4+ (0:4)'0(5:6) + 3+ (0:4)5(0:4)'1(5:6) + 4+ (0:4)2(5:6) (3×5AO) c2 = 2, 3, 4, 5 c2 = (負=0)(正=2,3,4,5) + (負=1)(正=3,4,5) + (負=2)(正=4,5) c2 = 2+ (0:4)0(5:6) + 3+ (0:4)1(5:6) + 4+ (0:4) (2×3AO)
【0054】従つて、エレメント0からエレメント4ま
でのグループと、エレメント5からエレメント6のグル
ープの2つのグループのエレメントにおける出力が説明
された。図23を参照して、最終的な出力を発生するた
めに必要な初期的な項目の作成を以下に説明する。
【0055】A1 3(i:i+2) = xixi+1xi+2 (3路のAND) 2+ (i:i+2) = xixi+1 + xixi+2 + xi+1xi+2 (2×3AO) 1+ (i:i+2) = xi+xi+1+xi+2 (3路のOR)
【0056】
【数8】
【0057】A2、A3 2(i:i+1) = xixi+i (2路のAND) 1+ (i:i+2) = (xi+xi+1) (2路のOR) 1(i:i+1) = (xiVxi+1) (2路の排他的OR)
【0058】
【数9】
【0059】B1 0(0:4) = 0(0:2)0(3:4) (2路のAND) 1+ (0:4) = 1+ (0:2) + 1+ (3:4) (2路のOR) 2+ (0:4) = 2+ (0:2) + 1+ (0:2)1+ (3:4) + 2(3;4) (2×3AO)
【0060】
【数10】
【0061】 3+ (0:4) = 3(0:2) + 2+ (0:2)1+ (3:4) + 1+ (0:2)2(3:4) (2×3AO) 4+ (0:4) = 3(0:2)1+ (3:4) + 2+ (0:2)2(3:4) (2×2AO)
【0062】
【数11】
【0063】 5(0:4) = 3(0:2)2(3:4) (2路のAND)
【0064】
【数12】
【0065】D1 s = x0Vx1Vx2Vx3Vx4Vx5Vx6 c1 = -1, -2, 2, 3 c1 = 2+ (0:4)'2(5:6) + 0(0:4)1+ (5:6) + 2+ (0:4)4+ (0:4)'0(5:6) + 3+ (0:4)5(0:4)' 1(5:6) + 4+ (0:4)2(5:6) (3×5AO) c2 = 2+ (0:4)0(5:6) + 3(0:4)1(5:6) + 4+ (0:4) (2×3AO)
【0066】F.タイプ3の7/3カウンタ タイプ3の7/3カウンタは正の符号(組合せD)か、
または負の符号(組合せE)を持つ4個のエレメント
と、これらのエレメントの符号とは反対の符号を持つ3
個のエレメントとの和に使用される。このカウンタは3
個の出力を発生する。即ち、それらは、正の符号(組合
せD)か、または負の符号(組合せE)かの必ずどちら
かである二次桁上げビツトと、二次桁上げビツトの符号
と反対の符号である一次桁上げビツト及び和のビツトと
である。図20は、上述のセクシヨンBで証明され、図
20から明らかなように、同じ組合せ論理回路を使用し
た2つの組合せに対する入力及び出力を示している。
【0067】この論理式は組合せDを対象として導き出
されるが、組合せEについても同じように適用される。
【0068】 s = -3, -1, 1, 3 s = (負=0)(正=1,3) + (負=1)(正=0,2,4) + (負=2)(正=1,3) + (負=3)(正=0,2,4) s = x0Vx1Vx2Vx3Vx4Vx5Vx6 c1 = -3, -2, 1, 2 c1 = (正=0),(負=2,3) + (正=0,1)(負=3) + (正=1,2)(負=0) + (正=2,3)(負=1) + (正=3,4)(負=2) + (正=4)(負=2,3) c1 = 0(0:3)2+ (4:6) + 2+ (0:3)'3(4:6) + 1+ (0:3)3+ (0:3)'0(4:6) + 2+ (0:3)4(0:3)'1(4:6) + 3+ (0:3)2+ (4:6)3(4;6)' + 4(0:3)2+ (4:6) (3×6AO) c2 = 1, 2, 3, 4 c2 = (負=0)(正=1,2,3,4) + (負=1)(正=2,3,4) + (負=2)(正=3,4) + (負=3)(正=4) c2 = (負=0)(正=1+) + (負=1)(正=2+) + (負=2)(正=3+) + (負=3)(正=4) c2 = 1+ (0:3)1+ (4:6)' + 2+ (0:3)2+ (4:6)' + 3+ (0:3)3+ (4;6)' + 4(0:3) (2×4AO)
【0069】図24は最終的な出力を発生するために必
要な初期的な項の作成を説明するための図である。図2
1の各ブロツクの細部を以下に説明する。
【0070】A1、A2 2(i:i+1) = xixi+1 (2路のAND) 1+ (i:i+1) = (xi+xi+1) (2路のOR) 1(i:i+1) = (xiVxi+1) (2路の排他的OR)
【0071】
【数13】
【0072】A3 3(i:i+2) = xixi+1xi+2 (3路のAND)
【0073】
【数14】
【0074】 2+ (i:i+2) = (xixi+1 + xixi+2 + xi+1xi+2) (2×3AO)
【0075】
【数15】
【0076】 1+ (i:i+2) = xi+xi+1+xi+2 (3路のOR)
【0077】
【数16】
【0078】B1 4(0:3) = 2(0:1)2(2:3) (2路のAND)
【0079】
【数17】
【0080】 3+ (0:3) = 2(0:1)1+ (2:3) + 1+ (0:1)2(2:3) (2×2AO)
【0081】
【数18】
【0082】 2+ (0:3) = 2(0:1) + 1+ (0:1)1+ (2:3) + 2(2:3) (2×3AO)
【0083】
【数19】
【0084】 1+ (0:3) = 1+ (0:1) + 1+ (2:3) (2路のOR) 0(0:3) = 0(0:1)0(2:3) (2路のAND)D1 s = x0Vx1Vx2Vx3Vx4Vx5Vx6 c1 = -2, -3, 1, 2 c1 = 0(0:3)2+ (4:6) + 2+ (0:3)'3(4:6) + 1+ (0:3) 3+ (0:3)0(4:6) + 2+ (0:3)4(0:3)1(4:6) + 3+ (0:3)2+ (4:6)3(4:6)' + 4(0:3)2+ (4:6) (3×6AO) c2 = 1+ (0:3)1+ (4:6)' + 2+ (0:3)2+ (4:6)' + 3+ (0:3)3(4:6)' + 4(0:3) (2×4AO)
【0085】従つて、図21乃至図24の回路の実施例
は、7入力ラインx0乃至x6と、3出力ラインC2、C1及びS
と、入力ラインX0乃至X6からの組合せで7デイジツト入
力値を受け取り、そして出力ラインC2、C1及びSに3デ
イジツト出力値を発生する幾つかの段の論理素子とを示
している。データ処理システムにおいて、図21乃至図
24の4つの回路の実施例は、図17乃至図20に従つ
て7つの入力デイジツトの相次ぐグループを分類し、そ
して選択回路に入力する適当なテスト回路によつて選択
することができる。
【0086】実際的なアプリケーシヨン 本発明の7/3カウンタの実際のアプリケーシヨンは、
図31及び図32を参照すれば理解できる。図31にお
いて、2つの16ビツト数A及びBの掛け算が示されて
いる。この表示は通常の表示法で示されており、上述の
ワングの刊行物に使用されている。乗算をされる各数字
はa0からa15までの昇順位の配列で数字Aのビツトを
示す16ビツトと、b0からb15まで昇順位の配列で数
字Bのビツトを示す16ビツトとを含んでいる。周知の
ように、乗算処理は、図31に示されているような部分
積マトリツクスによつて表わすことができる。マトリツ
クスの各行は、AがBの夫々のビツトによつて掛け合わ
せることを表わし、各行の各位は、Aの夫々のビツトが
Bの夫々のビツトによつて掛け合わされることを表わ
す。通常、aijの積はAND論理演算で表わされる。
【0087】本発明の7/3カウンタを用いた上述のペ
ザリス形式(Pezaris-Type)のアレイ乗算器中の部分積
マトリツクスを実行する目的のために、部分積マトリツ
クスは、サブマトリツクス1乃至サブマトリツクス4か
ら成る4つのサブマトリツクスに分割される。サブマト
リツクス1、2及び3の各列は7/3カウンタの特定の
タイプによつて実行することができ、その出力は図32
に示したようにサブマトリツクス1からサブマトリツク
ス4へ降順位にカスケードしている。
【0088】図32はすべてのサブマトリツクスを通し
て延びた列zに沿つて取られた部分積マトリツクスの垂
直方向の切片を示している。図32から理解できるよう
に、サブマトリツクス1の列に対して7/3カウンタを
使用することは、サブマトリツクスの7つの行を縮小し
ており、他方、サブマトリツクス2及び3において7/
3カウンタを使用することは、最大4つの行を縮小して
いる。サブマトリツクス4は4/3の縮小を暗示してお
り、最終結果は、3/2カウンタを使用した3/1の縮
小によつて得られる。
【0089】図31のマトリツクスにおいて、列z中の
すべての7/3カウンタは、サブマトリツクス1、2及
び3についてはタイプ1の7/3カウンタである。サブ
マトリツクス4のためのすべてのカウンタは、すべてタ
イプ2の7/3カウンタである。列z中以外の他の7/
3カウンタは、サブマトリツクス1、2及び3のカウン
タについては、すべてタイプ0の7/3カウンタであ
る。
【0090】図32に示されたサブマトリツクス1にお
いて、カウンタ200は、サブマトリツクス1中の列z
の部分のすべての項を入力として受け取つている。各項
は数字A及びBの夫々のビツトの積を表わしており、こ
れらの積はANDゲート中のビツトを組合せることによ
つて作られる。例えば、ANDゲート201は部分積a
150を発生するためにビツトa15及びb0を組合せる。
サブマトリツクス1に含まれた列zの部分のすべての部
分積はカウンタ200の入力として与えられる。7個の
部分積よりも少ない部分積を持つ他の列においては、特
別の入力として0を受け取る。カウンタ200は、サブ
マトリツクス2の中の関連する7/3カウンタに送られ
る出力、S、C1及びC2を発生する。サブマトリツクス2中
の列zの部分において、7/3カウンタ220は、カウ
ンタ200により発生されたS出力と、マトリツクス1
の行z−1中のカウンタ202によつて発生されたC1
力と、サブマトリツクス1の列z−2の中のカウンタ2
03によつて発生されたC2出力とを受け取る。更に、サ
ブマトリツクス2の列z中のカウンタ220は、その列
中の4つの部分積を受け取り、そして、S、C1及びC2
力を発生するために、上述したようにそれらを組合せ
る。サブマトリツクス3の列z中のタイプ1の7/3カ
ウンタ230は、カウンタ220によつて発生されたS
出力と、サブマトリツクス2の列z−1中のタイプ0の
7/3カウンタから222によつて発生されたC1出力
と、サブマトリツクス2の列z−2の中のカウンタ22
3のタイプ0の7/3カウンタのC2出力とを受け取る。
加えて、サブマトリツクス3の列z中の4つの部分的な
項がカウンタ230の入力として与えられる。サブマト
リツクス4の列の部分中のカウンタは4/3の縮小を行
なう。例えば列zの部分にあるタイプ2の7/3カウン
タ240は、サブマトリツクス3の列z、z−1及びz
−2の中のカウンタ230、232及び233からの3
つのカウンタ出力を受け取り、サブマトリツクス4の中
の列zの部分にある1つの部分積a015とこれらのカ
ウンタ出力とを組合せる。カウンタ240への残りの3
つの入力は0である。
【0091】最終的な積Pは、昇順に配列されたビツト
0乃至p31を含む32ビツト数である。これらのビツ
トは、図32に示された3/1加算演算によつて発生さ
れる。最終積の最下位のビツトp0は、部分積a00
発生するANDゲート199の出力として単純に取り出
される。他のすべてのビツトはカスケード接続された3
/2加算器(または、カウンタ)によつて発生される。
例えば、部分積マトリツクス中の列zの下に位置付けら
れた積のビツトp15は、図示されたように接続された3
/2加算器250及び260によつて発生される。加算
器250を含む3/2加算器の最初の行は、サブマトリ
ツクス4のすべてのカウンタと、サブマトリツクス3の
中の列z−1で始まりサブマトリツクス3、2及び1を
通して上右に昇順する列中の最も低位のカウンタを含ん
で、図31の部分積マトリツクス中の7/3カウンタに
よつて発生される出力を3/2に縮小する。加算器25
0を含む列中の各3/2加算器は和の出力(S)及び桁
上げの出力(C)を発生するために、図示されたように
3つの入力を組合せる。これらの出力は加算器260を
含む3/2加算器の行中で組合せられる。これらの3つ
の3/2加算器の各々は、その真上にある3/2加算器
の出力Sを入力として受け取り、右上の加算器からの出力
Cを入力として受け取り、そして、それ自身の行の中の
右の加算器からの出力Cを入力として夫々受け取る。3
/2加算器の最も低位の行からの出力Sは積Pのビツト
として与えられる。
【0100】以上、汎用7/3カウンタが示され、その
実用的な実施例が説明された。ペザリス形式の3/2カ
ウンタに対して本発明の7/3カウンタを使用すると、
2の補数のアレイ乗算器の実施例に必要とされるカウン
タの数と、カウンタの段数とを顕著に少なくすることが
できる。以上説明された本発明の実施例は、当業者によ
つて種々の変更を施すことができるのは自明である。
【0101】
【発明の効果】本発明は高速度で実用的な7/3カウン
タを与え、しかも、論理演算のハードウエアの段数の少
ない論理演算回路を提供することができる。
【図面の簡単な説明】
【図1】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せAを示す図である。
【図2】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せBを示す図である。
【図3】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せCを示す図である。
【図4】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せDを示す図である。
【図5】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せEを示す図である。
【図6】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せFを示す図である。
【図7】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せGを示す図である。
【図8】7個の入力デイジツトの交換性組合せの作表的
な表示により組合せHを示す図である。
【図9】7入力デイジツトの和の組合せを表示する3デ
イジツトの出力の作表的な表示により組合せAを示す図
である。
【図10】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せBを示す
図である。
【図11】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せCを示す
図である。
【図12】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せDを示す
図である。
【図13】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せEを示す
図である。
【図14】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せFを示す
図である。
【図15】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せGを示す
図である。
【図16】7入力デイジツトの和の組合せを表示する3
デイジツトの出力の作表的な表示により組合せHを示す
図である。
【図17】正の符号と負の符号の組合せを持つ同じ組合
せを有し、7入力デイジツトの和の組合せを表示する3
デイジツトの出力の修正した作表的な表示により組合せ
A及びHを示す図である。
【図18】正の符号と負の符号の組合せを持つ同じ組合
せを有し、7入力デイジツトの和の組合せを表示する3
デイジツトの出力の修正した作表的な表示により組合せ
B及びGを示す図である。
【図19】正の符号と負の符号の組合せを持つ同じ組合
せを有し、7入力デイジツトの和の組合せを表示する3
デイジツトの出力の修正した作表的な表示により組合せ
C及びFを示す図である。
【図20】正の符号と負の符号の組合せを持つ同じ組合
せを有し、7入力デイジツトの和の組合せを表示する3
デイジツトの出力の修正した作表的な表示により組合せ
D及びEを示す図である。
【図21】本発明に従つて構成されたタイプ0の7/3
カウンタの実施例の回路を示すブロツク図である。
【図22】本発明に従つて構成されたタイプ1の7/3
カウンタの実施例の回路を示すブロツク図である。
【図23】本発明に従つて構成されたタイプ2の7/3
カウンタの実施例の回路を示すブロツク図である。
【図24】本発明に従つて構成されたタイプ3の7/3
カウンタの実施例の回路を示すブロツク図である。
【図25】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図26】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図27】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図28】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図29】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図30】図21に示したタイプ0の7/3カウンタに
含まれたブロツク図の細部を説明するための論理図であ
る。
【図31】16ビツト×16ビツト乗算器における本発
明の7/3カウンタの実用的な実施例を説明するための
図である。
【図32】図31の乗算器のサブマトリツクスの相互接
続及び出力の細部を説明するための図である。
【符号の説明】
【数20】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 エリツク・マーク・シユワルツ アメリカ合衆国カリフオルニア州、スタン フオード、エスコンデイド・ビレツジ、5 エツチ バーンズ・ホール (番地なし)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 c2、c1及びsが、符号を付された入力ビ
    ツトx6、x5、x4、x3、x2、x1及びx0を含む7ビツト入力
    の活動ビツトの数値を表示するように、和ビツト
    (S)、第1の桁上げビツト(C1)及び第2の桁上げビ
    ツト(C2)を含む3ビツト出力を発生するための7ビツ
    ト入力3ビツト出力のカウンタにおいて、 「V」は排他的OR論理演算を表わすものとして、 S = x0Vx1Vx2Vx3Vx4Vx5Vx6 に従つて和ビツトを発生するために、7ビツト入力に応
    答する排他的OR手段と、 7個のビツトの和の第1の範囲に対応する第1のビツト
    符号パターン、または、7個のビツトの和の第2の範囲
    に対応する、該第1のビツト符号パターンとは反対の符
    号パターンである第2のビツト符号パターンを有する7
    個のビツトのグループをC1及びC2に組合せる論理手段と
    からなる7ビツト入力3ビツト出力のカウンタ。
  2. 【請求項2】式Γ+ (α:β)は上記7個のビツトのうちの
    α乃至βの範囲の少なくともΓ個のビツトが「オン」で
    あることを意味し、かつ、アポストロフイ「'」は論理
    的反転を表わすものとして、 7個のビツトの和の上記第1の範囲が0乃至7であり、
    7個のビツトの和の上記第2の範囲が−7乃至0である
    とき、 上記論理手段は、下記の論理関係 c1 = 4+ (0:6)'2+ (0:6) + 6+ (0:6)、 c2 = 4+ (0:6) に従つてc1及びc2を発生することを特徴とする請求項1
    に記載の7ビツト入力3ビツト出力のカウンタ。
  3. 【請求項3】 Γ+ (α:β)は、上記7個のビツトのうち
    のα乃至βの範囲内の少なくともΓ個のビツトが「オ
    ン」であることを意味し、式Γ+ (α:β)'は、上記7個
    のビツトのうちのα乃至βの範囲内の少なくともΓ個の
    ビツトが「オフ」であることを意味し、式Γ(α:β)
    上記7個のビツトのうちのα乃至βの範囲のうちのΓ個
    のビツトが「オン」であることを意味し、xiバーはi番
    目のビツトxiが「オフ」であることを意味するものとし
    て、 和の上記第1の範囲が−1乃至6であり、和の上記第2
    の範囲が1乃至−6であるとき、上記論理手段は、下記
    の論理関係、 【数12】 に従つてc1及びc2を計算することを特徴とする請求項1
    に記載の7ビツト入力3ビツト出力のカウンタ。
  4. 【請求項4】 Γ+ (α:β)は、上記7個のビツトのうち
    のα乃至βの範囲内の少なくともΓ個のビツトが「オ
    ン」であることを意味し、式Γ+ (α:β)'は、上記7個
    のビツトのうちのα乃至βの範囲内の少なくともΓ個の
    ビツトが「オフ」であることを意味し、式Γ(α:β)
    上記7個のビツトのうちのα乃至βの範囲のΓ個のビツ
    トが「オン」であることを意味するものとして、 和の上記第1の範囲が−2乃至5であり、和の上記第2
    の範囲が2乃至−5であるとき、上記論理手段は、下記
    の論理関係、 c1 = 2+ (0:4)'2(5:6) + 0(0:4)1+ (5:6) + 2+ (0:4)4+ (0:4)' 0(5:6) + 3+ (0:4)5(0:4)'1(5:6) + 4+ (0:4)2(5:6)、 c2 = 2+ (0:4)0(5:6) + 3+ (0:4)1(5:6) + 4+ (0:4)、 に従つてc1及びc2を計算することを特徴とする請求項1
    に記載の7ビツト入力3ビツト出力のカウンタ。
  5. 【請求項5】 Γ+ (α:β)は、上記7個のビツトのうち
    のα乃至βの範囲内の少なくともΓ個のビツトが「オ
    ン」であることを意味し、Γ+ (α:β)'は、上記7個の
    ビツトのうちのα乃至βの範囲内の少なくともΓ個のビ
    ツトが「オフ」であることを意味し、Γ(α:β)は上記
    7個のビツトのうちのα乃至βの範囲のΓ個のビツトが
    「オン」であることを意味し、Γ(α:β)'は上記7個の
    ビツトのうちのα乃至βの範囲のΓ個のビツトが「オ
    フ」であることを意味するものとして、 和の上記第1の範囲が−3乃至4であり、和の上記第2
    の範囲が3乃至−4であるとき、上記論理手段は、下記
    の論理関係、 c1 = 0(0:3)2+ (4:6) + 2+ (0:3)'3(4:6) + 1+ (0:3)3+ (0:3)0(4:6) + 2+ (0:3)4(0:3)'1(4:6) + 3+ (0:3)2+ (4:6)3(4:6)' + 4(0:3)2+ (4:6)、 c2 = 1+ (0:3)1+ (4:6)' + 2+ (0:3)2+ (4:6)' + 3+ (0:3)3(4:6)' + 4(0:3)、 に従つてc1及びc2を計算することを特徴とする請求項1
    に記載の7ビツト入力3ビツト出力のカウンタ。
JP4142057A 1991-06-05 1992-05-08 7ビツト入力3ビツト出力のカウンタ Expired - Lifetime JPH0823813B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/711,182 US5187679A (en) 1991-06-05 1991-06-05 Generalized 7/3 counters
US711182 1991-06-05

Publications (2)

Publication Number Publication Date
JPH05150947A true JPH05150947A (ja) 1993-06-18
JPH0823813B2 JPH0823813B2 (ja) 1996-03-06

Family

ID=24857079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4142057A Expired - Lifetime JPH0823813B2 (ja) 1991-06-05 1992-05-08 7ビツト入力3ビツト出力のカウンタ

Country Status (2)

Country Link
US (1) US5187679A (ja)
JP (1) JPH0823813B2 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5541865A (en) * 1993-12-30 1996-07-30 Intel Corporation Method and apparatus for performing a population count operation
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5642306A (en) * 1994-07-27 1997-06-24 Intel Corporation Method and apparatus for a single instruction multiple data early-out zero-skip multiplier
US6275834B1 (en) * 1994-12-01 2001-08-14 Intel Corporation Apparatus for performing packed shift operations
EP0795155B1 (en) * 1994-12-01 2003-03-19 Intel Corporation A microprocessor having a multiply operation
US6738793B2 (en) * 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
EP1265132A3 (en) 1994-12-02 2005-02-09 Intel Corporation Microprocessor with packing operation of composite operands
US5819101A (en) * 1994-12-02 1998-10-06 Intel Corporation Method for packing a plurality of packed data elements in response to a pack instruction
US5752001A (en) * 1995-06-01 1998-05-12 Intel Corporation Method and apparatus employing Viterbi scoring using SIMD instructions for data recognition
US5721892A (en) * 1995-08-31 1998-02-24 Intel Corporation Method and apparatus for performing multiply-subtract operations on packed data
US6385634B1 (en) * 1995-08-31 2002-05-07 Intel Corporation Method for performing multiply-add operations on packed data
US7395298B2 (en) * 1995-08-31 2008-07-01 Intel Corporation Method and apparatus for performing multiply-add operations on packed data
US5983253A (en) * 1995-09-05 1999-11-09 Intel Corporation Computer system for performing complex digital filters
US6237016B1 (en) 1995-09-05 2001-05-22 Intel Corporation Method and apparatus for multiplying and accumulating data samples and complex coefficients
US6470370B2 (en) 1995-09-05 2002-10-22 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5936872A (en) * 1995-09-05 1999-08-10 Intel Corporation Method and apparatus for storing complex numbers to allow for efficient complex multiplication operations and performing such complex multiplication operations
US6058408A (en) * 1995-09-05 2000-05-02 Intel Corporation Method and apparatus for multiplying and accumulating complex numbers in a digital filter
US5822459A (en) * 1995-09-28 1998-10-13 Intel Corporation Method for processing wavelet bands
US5984515A (en) * 1995-12-15 1999-11-16 Intel Corporation Computer implemented method for providing a two dimensional rotation of packed data
US5935240A (en) * 1995-12-15 1999-08-10 Intel Corporation Computer implemented method for transferring packed data between register files and memory
US5815421A (en) * 1995-12-18 1998-09-29 Intel Corporation Method for transposing a two-dimensional array
US5757432A (en) * 1995-12-18 1998-05-26 Intel Corporation Manipulating video and audio signals using a processor which supports SIMD instructions
WO1997024681A1 (en) * 1995-12-19 1997-07-10 Intel Corporation A computer system performing a two-dimensional rotation of packed data representing multimedia information
US5835748A (en) * 1995-12-19 1998-11-10 Intel Corporation Method for executing different sets of instructions that cause a processor to perform different data type operations on different physical registers files that logically appear to software as a single aliased register file
US6792523B1 (en) 1995-12-19 2004-09-14 Intel Corporation Processor with instructions that operate on different data types stored in the same single logical register file
US5701508A (en) 1995-12-19 1997-12-23 Intel Corporation Executing different instructions that cause different data type operations to be performed on single logical register file
US5857096A (en) * 1995-12-19 1999-01-05 Intel Corporation Microarchitecture for implementing an instruction to clear the tags of a stack reference register file
US5940859A (en) 1995-12-19 1999-08-17 Intel Corporation Emptying packed data state during execution of packed data instructions
US5852726A (en) * 1995-12-19 1998-12-22 Intel Corporation Method and apparatus for executing two types of instructions that specify registers of a shared logical register file in a stack and a non-stack referenced manner
US5787026A (en) * 1995-12-20 1998-07-28 Intel Corporation Method and apparatus for providing memory access in a processor pipeline
US5907842A (en) * 1995-12-20 1999-05-25 Intel Corporation Method of sorting numbers to obtain maxima/minima values with ordering
US6036350A (en) * 1995-12-20 2000-03-14 Intel Corporation Method of sorting signed numbers and solving absolute differences using packed instructions
US5880979A (en) * 1995-12-21 1999-03-09 Intel Corporation System for providing the absolute difference of unsigned values
US5742529A (en) * 1995-12-21 1998-04-21 Intel Corporation Method and an apparatus for providing the absolute difference of unsigned values
US5983257A (en) * 1995-12-26 1999-11-09 Intel Corporation System for signal processing using multiply-add operations
US5793661A (en) * 1995-12-26 1998-08-11 Intel Corporation Method and apparatus for performing multiply and accumulate operations on packed data
US5740392A (en) * 1995-12-27 1998-04-14 Intel Corporation Method and apparatus for fast decoding of 00H and OFH mapped instructions
US5764943A (en) * 1995-12-28 1998-06-09 Intel Corporation Data path circuitry for processor having multiple instruction pipelines
US6092184A (en) * 1995-12-28 2000-07-18 Intel Corporation Parallel processing of pipelined instructions having register dependencies
US5835392A (en) * 1995-12-28 1998-11-10 Intel Corporation Method for performing complex fast fourier transforms (FFT's)
US5862067A (en) * 1995-12-29 1999-01-19 Intel Corporation Method and apparatus for providing high numerical accuracy with packed multiply-add or multiply-subtract operations
US5621674A (en) * 1996-02-15 1997-04-15 Intel Corporation Computer implemented method for compressing 24 bit pixels to 16 bit pixels
US6009191A (en) * 1996-02-15 1999-12-28 Intel Corporation Computer implemented method for compressing 48-bit pixels to 16-bit pixels
US5959636A (en) * 1996-02-23 1999-09-28 Intel Corporation Method and apparatus for performing saturation instructions using saturation limit values
US5822232A (en) * 1996-03-01 1998-10-13 Intel Corporation Method for performing box filter
US6070237A (en) * 1996-03-04 2000-05-30 Intel Corporation Method for performing population counts on packed data types
US5835782A (en) * 1996-03-04 1998-11-10 Intel Corporation Packed/add and packed subtract operations
US5831885A (en) * 1996-03-04 1998-11-03 Intel Corporation Computer implemented method for performing division emulation
US5881279A (en) * 1996-11-25 1999-03-09 Intel Corporation Method and apparatus for handling invalid opcode faults via execution of an event-signaling micro-operation
US6014684A (en) * 1997-03-24 2000-01-11 Intel Corporation Method and apparatus for performing N bit by 2*N-1 bit signed multiplication
US6125379A (en) * 1998-02-11 2000-09-26 The Research Foundation Of State University Of New York Parallel VLSI shift switch logic devices
US6081824A (en) * 1998-03-05 2000-06-27 Intel Corporation Method and apparatus for fast unsigned integral division
US6418529B1 (en) 1998-03-31 2002-07-09 Intel Corporation Apparatus and method for performing intra-add operation
US6041404A (en) 1998-03-31 2000-03-21 Intel Corporation Dual function system and method for shuffling packed data elements
US7392275B2 (en) * 1998-03-31 2008-06-24 Intel Corporation Method and apparatus for performing efficient transformations with horizontal addition and subtraction
US7395302B2 (en) 1998-03-31 2008-07-01 Intel Corporation Method and apparatus for performing horizontal addition and subtraction
US6883011B2 (en) * 2000-08-04 2005-04-19 Arithmatica Limited Parallel counter and a multiplication logic circuit
GB2365636B (en) * 2000-08-04 2005-01-05 Automatic Parallel Designs Ltd A parallel counter and a multiplication logic circuit
US20050021585A1 (en) * 2000-08-04 2005-01-27 Dmitriy Rumynin Parallel counter and a logic circuit for performing multiplication
US7136888B2 (en) * 2000-08-04 2006-11-14 Arithmatica Limited Parallel counter and a logic circuit for performing multiplication
US7155601B2 (en) * 2001-02-14 2006-12-26 Intel Corporation Multi-element operand sub-portion shuffle instruction execution
GB2373602B (en) 2001-03-22 2004-11-17 Automatic Parallel Designs Ltd A multiplication logic circuit
US7818356B2 (en) * 2001-10-29 2010-10-19 Intel Corporation Bitstream buffer manipulation with a SIMD merge instruction
US7725521B2 (en) * 2001-10-29 2010-05-25 Intel Corporation Method and apparatus for computing matrix transformations
US7631025B2 (en) * 2001-10-29 2009-12-08 Intel Corporation Method and apparatus for rearranging data between multiple registers
US7685212B2 (en) * 2001-10-29 2010-03-23 Intel Corporation Fast full search motion estimation with SIMD merge instruction
US7624138B2 (en) 2001-10-29 2009-11-24 Intel Corporation Method and apparatus for efficient integer transform
US20040054877A1 (en) 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7430578B2 (en) * 2001-10-29 2008-09-30 Intel Corporation Method and apparatus for performing multiply-add operations on packed byte data
US7739319B2 (en) * 2001-10-29 2010-06-15 Intel Corporation Method and apparatus for parallel table lookup using SIMD instructions
GB2383435A (en) * 2001-12-18 2003-06-25 Automatic Parallel Designs Ltd Logic circuit for performing modular multiplication and exponentiation
US7047383B2 (en) * 2002-07-11 2006-05-16 Intel Corporation Byte swap operation for a 64 bit operand
US7260595B2 (en) * 2002-12-23 2007-08-21 Arithmatica Limited Logic circuit and method for carry and sum generation and method of designing such a logic circuit
GB2398944B (en) * 2003-01-14 2005-07-20 Arithmatica Ltd A logic circuit
US7042246B2 (en) * 2003-02-11 2006-05-09 Arithmatica Limited Logic circuits for performing threshold functions
US7308471B2 (en) 2003-03-28 2007-12-11 Arithmatica Limited Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
EP1643356B1 (en) * 2003-05-23 2010-01-06 Nippon Telegraph and Telephone Corporation Parallel processing device and parallel processing method
WO2004104820A2 (en) * 2003-05-23 2004-12-02 Arithmatica Limited A sum bit generation circuit
CN101258464A (zh) * 2005-09-05 2008-09-03 Nxp股份有限公司 全加器模块和使用该全加器模块的乘法器装置
US8078836B2 (en) 2007-12-30 2011-12-13 Intel Corporation Vector shuffle instructions operating on multiple lanes each having a plurality of data elements using a common set of per-lane control bits

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59108145A (ja) * 1982-12-11 1984-06-22 Mamoru Tanaka 多入力加算器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3636334A (en) * 1969-01-02 1972-01-18 Univ California Parallel adder with distributed control to add a plurality of binary numbers
US3603776A (en) * 1969-01-15 1971-09-07 Ibm Binary batch adder utilizing threshold counters
FR2101005B1 (ja) * 1970-08-05 1976-07-09 Lekarski Simeon
US3723715A (en) * 1971-08-25 1973-03-27 Ibm Fast modulo threshold operator binary adder for multi-number additions
US3757098A (en) * 1972-05-12 1973-09-04 Rca Corp Carry generation means for multiple character adder
US4168530A (en) * 1978-02-13 1979-09-18 Burroughs Corporation Multiplication circuit using column compression
US4399517A (en) * 1981-03-19 1983-08-16 Texas Instruments Incorporated Multiple-input binary adder
FR2505581A1 (fr) * 1981-05-08 1982-11-12 Labo Cent Telecommunicat Compteur parallele et application a la realisation d'un additionneur binaire
US4589019A (en) * 1983-04-22 1986-05-13 Rca Corporation Digital adder including counter coupled to individual bits of the input
US4594679A (en) * 1983-07-21 1986-06-10 International Business Machines Corporation High speed hardware multiplier for fixed floating point operands
US4604723A (en) * 1983-10-17 1986-08-05 Sanders Associates, Inc. Bit-slice adder circuit
US4607176A (en) * 1984-08-22 1986-08-19 The United States Of America As Represented By The Secretary Of The Air Force Tally cell circuit
US4706210A (en) * 1984-12-13 1987-11-10 The Johns Hopkins University Guild array multiplier for binary numbers in two's complement notation
US4796219A (en) * 1987-06-01 1989-01-03 Motorola, Inc. Serial two's complement multiplier
US4918639A (en) * 1987-11-03 1990-04-17 International Business Machines Corporation Overlapped multiple-bit scanning multiplication system with banded partial product matrix
KR920007505B1 (ko) * 1989-02-02 1992-09-04 정호선 신경회로망을 이용한 곱셈기

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59108145A (ja) * 1982-12-11 1984-06-22 Mamoru Tanaka 多入力加算器

Also Published As

Publication number Publication date
JPH0823813B2 (ja) 1996-03-06
US5187679A (en) 1993-02-16

Similar Documents

Publication Publication Date Title
JPH05150947A (ja) 7ビツト入力3ビツト出力のカウンタ
EP0239899B1 (en) Multiplier array circuit
Stakhov Brousentsov's ternary principle, Bergman's number system and ternary mirror-symmetrical arithmetic
US5465226A (en) High speed digital parallel multiplier
US4623982A (en) Conditional carry techniques for digital processors
JPS6217770B2 (ja)
JPH05233228A (ja) 浮動小数点演算装置およびその演算方法
Hiasat A reverse converter and sign detectors for an extended RNS five-moduli set
EP2138931A1 (en) Combined polynomial and natural multiplier architecture
US5122982A (en) Carry generation method and apparatus
JPH03116326A (ja) 高速並列乗算器回路
JP3556950B2 (ja) 高速算術演算装置のけた上げ先見加算器段の数を減少させる構造及び方法
JP3256251B2 (ja) 乗算器
Dakhole et al. Multi-digit quaternary adder on programmable device: Design & verification
Goyal et al. VHDL implementation of fast multiplier based on Vedic mathematic using modified square root carry select adder
KR0152911B1 (ko) 병렬승산기
Cardarilli et al. RNS-to-binary conversion for efficient VLSI implementation
Mekhallalati et al. New high radix maximally-redundant signed digit adder
US6484193B1 (en) Fully pipelined parallel multiplier with a fast clock cycle
JPH076024A (ja) 十進数乗算器
JPH01302426A (ja) 高速並列乗算回路
JP2518548B2 (ja) 多入力加算回路
Santhi et al. Realization of parallel prefix adders for power and speed critical applications
JP3201231B2 (ja) 単位加算器
JPH07141150A (ja) 乗算器