JPH0756712A - 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置 - Google Patents

数値計算を実行するプロセスおよびそのプロセスを実現する演算装置

Info

Publication number
JPH0756712A
JPH0756712A JP5165679A JP16567993A JPH0756712A JP H0756712 A JPH0756712 A JP H0756712A JP 5165679 A JP5165679 A JP 5165679A JP 16567993 A JP16567993 A JP 16567993A JP H0756712 A JPH0756712 A JP H0756712A
Authority
JP
Japan
Prior art keywords
bit
bits
rank
operator
logic
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
JP5165679A
Other languages
English (en)
Other versions
JP3388819B2 (ja
Inventor
Joel Andr E Curtet
ジョエル キュルテ アンドレ
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.)
SGS THOMSON MICROELECTRONICS
STMicroelectronics SA
Original Assignee
SGS THOMSON MICROELECTRONICS
SGS Thomson Microelectronics SA
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 SGS THOMSON MICROELECTRONICS, SGS Thomson Microelectronics SA filed Critical SGS THOMSON MICROELECTRONICS
Publication of JPH0756712A publication Critical patent/JPH0756712A/ja
Application granted granted Critical
Publication of JP3388819B2 publication Critical patent/JP3388819B2/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/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
    • 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/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3828Multigauge devices, i.e. capable of handling packed numbers without unpacking them

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明は数値計算を実行するプロセスおよび
それを実現する演算装置に関し、演算子の2つのモード
を選択することにより2つのパラレル演算の何れかを同
じ演算子を用いて行うことができるようにすることを目
的とする。 【構成】 演算装置は33−ビットの演算子10を搭載
している。ランク16のビットは、演算子10が他の3
2ビットで計算を実行する第1作動モード、または演算
子10が16ビットで2つのパラレルな計算を実行する
第2作動モードの何れかを選択するために機能する。最
適な状態で演算子の計算資源を活用するために使用す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電気回路の数値計算を
実行するプロセスに関する。またこの発明は、このプロ
セスを実現する算術演算装置にも関している。
【0002】
【従来の技術】集積回路に用いられている従来の技術の
主な目的は処理速度を速くすることにある。この従来の
技術が特に関連するセクターは、マイクロコントローラ
ーと信号プロセッサー(“デジタル信号プロセッサー”
のDSP)を特に使用する、数値データ処理である。こ
れらのタイプの回路は、回路が作動できる最大周波数を
決定するデータのクリティカル・ルートをしばしば構成
する、算術論理演算装置(ALU)を常に搭載してい
る。
【0003】
【発明が解決しようとする課題】数多くの現在の回路
は、理論または演算計算を2つの32−ビット・オペラ
ンドの間に実行して、計算を32−ビットで生成してい
る。しかし、一部の計算は16−ビット・オペランドで
も実行されることができる(16−ビットなどのロジッ
ク・オペランドに関して最も正確な管理を必要としな
い)。ALUはそこで16−ビットで作動する必要はな
いので、その半分は非動作状態になり、ALUの計算機
能の半分だけしか用いられない。
【0004】計算時間に換算して最も制約を受けるジョ
ブの1つは、算術加算/減算であり、更に特にこのよう
な演算のキャリー伝搬である。2つのオペランドA(A
n−1,An−2,…,A1,A0)とB(Bn−1,
Bn−2,…B1,B0)の間でnビットの2進加算を
行う最も好都合な方法は、要素加算器を用いて、あるビ
ットから次のビットに、キャリーをリニアに伝搬するこ
とから構成している。要素加算器は、各々ビットに対し
て、次に示す演算を実行する。
【0005】Si=Ai∧Bi∧Ci−1 Ci=(Ai.Bi)+((Ai∧Bi).Ci−1) ここで、 Ai,Bi:各々、オペランドA,Bのi番目のビット Si:加算(S=A+B)の結果のi番目のビット Ci:位置iに於いて要素加算に依って生成されたキャ
リー “∧”:論理排他的論理和 “.”:論理積 “+”:論理和 この方法を用いると、T(N)=N×T1に依ってNビ
ットの1つの2進加算を行うために要求される時間を推
定することができる、ここで、T1はキャリーCiをC
i−1,Ai,Biの関数として計算するために各々要
素加算器に依って要求される時間を示している。この時
間はキャリーの伝搬のシリアル・モードに依って全体的
に決定されることが分かる。
【0006】しかし、“キャリー伝搬”関数は更に速く
行われることができる。すなわち、シリアル伝搬はパラ
レル伝搬に代えられる。しかし、このパラレル化を行う
ことができる種々の方式がある。いま、COMS技術に
依って作られる回路に用いられている主な方法には、 −キャリー・セレクションと、 −連結演算子を使用する伝搬の離散化がある。
【0007】キャリー・セレクション(キャリー・セレ
クト)を使用する方法は、例えば、N/2ビット上で各
々作動する3つの加算器サブブロックを用いてNビット
に対して演算を細分することから構成している(ここで
Nは偶数と想定されている)。第1加算器サブブロック
はオペランドのN/2の最下位ビットに対してリニア・
キャリー伝搬モードで加算を実行するが、他の2つの加
算器サブブロックは、パラレルに、オペランドのN/2
の最上位ビットに対して加算を実行し、なおかつ、第2
サブブロックは第1サブブロックの出力キャリーが0に
等しいと想定しているが、第3サブブロックはこのキャ
リーが1に等しいと想定している。そこで、第1加算器
サブブロックを実際に出るキャリーは、検討するために
アドバイスできる第2と第3加算器サブブロックから生
じる2つの結果の1つを選択することを可能にするマル
チプレクサーを制御する。パラレルに行われる或る計
算、キャリー・セレクションの方法を使用するNビット
加算の計算時間は、 T′(N)=N/2*T′1+T′0 に依って推定されることができる。
【0008】ここで、T′1はリニア伝搬を使用する要
素加算器のT1と等しく、なおかつ、T′0は中間キャ
リーの2つの考えられる結果の間の選択のために要求さ
れる時間である。T′0が無視される場合、T′(N)
(キャリー・セレクト)はT(N)(リニア伝搬)の半
分の単位になる。“キャリー・セレクト”の原理は伝搬
時間を最適にするために汎用化されることができるの
で、Nビットの加算を数多くの個別のビットの複数の加
算に分割できることに注目すべきである。例えば、32
−ビット以上の加算は3,5,6,8,10の昇順サイ
ズの5つのサブブロックに依って行われることができ
る。
【0009】一般的に、このような“キャリー・セレク
ト”加算器を用いると、32−ビット以上の加算は、リ
ニア伝搬を用いて実行される時より1.4倍速く実行さ
れる。Nビット以上の加算を行う更なるパワフルな方法
は、BRENTとKUNGに依って説明される基本原理
(コンピュータに関するIEEEトランザクション、V
ol,C−31、No.3、1982年3月“パラレル
加算器のためのレギュラー・レイアウト”)を使用する
ことから構成している、すなわち、Nビット以上の2進
加算は、次の関係式に依って定義される連結演算子
“○”を用いてパラレル計算に変換されることができ
る。
【0010】 (gl,pl)○(gr,pr) =(gl+pl.gr,pl.pr) 位置iの各々ビットに対して、次の項を考えてみると、 “generate”:pi=Ai∧Bi;and “propagate”:pi=Ai∧Bi 各々ビットの出力キャリーは、そこで、次のようになる Ci=Gi for i=0,…,N−1 ここに;(Gi,Pi)=(gi,pi) for i=0;および (Gi,Pi)=(gi,pi)○(Gi−1, Pi−1) for 0<i<N 入力キャリーCinが決定されると、各々合計ビットが
求められる S0=p0∧Cin; and Si=pi∧Ci−1 for 0<i<N 演算子“○”が連想型(しかし可換型でない)の場合、
下記を書き込むことができる。 (Gi,Pi)=(gi,pi)○(gi−1, pi−1)○…○(g0,p0) =(gi,pi)○…○(gm,pm)○(gm−1, pm−1) ○…○(g0,p0) = (Gi,m;Pi,m) ○(Gm−1,0;Pm−1,0) ここに;(Gi,m;Pi,m) =(gm,pm), if i =m および (Gi,m;Pi,m) =(gi,pi)○(Gi−1,m ;Pi−1,m) if i >m (Gi,Pi)の計算は、従って、関数的に同じタイプ
である2つの項(Gi,m;Pi,m)と(Gm−1,
0;Pm−1,0)に基づいて実行される。それらは、
i−m+1(各々m)連続する入力ビットの関数であ
り、なおかつ、演算子“○”のi−m(各々m+1)ア
プリケーションを要求する。従って、めれらは同じタイ
プの回路に依って計算されることができる。
【0011】従って、各々キャリー生成ブロックが等し
い次元m=N/2の2つのサブブロックに再帰的に分割
される通常のBRENTとKUNG分解を改善すること
ができる。改善は等しくない次元のサブブロックに対す
る再帰的分割と増幅回路を用いて行われる。これはキャ
リー伝搬間隔を最小限にする。この最適化原理の基本は
“CMOS加算器の時間最適化デザイン”という論文で
B.W.Y.WEI,C.THOMPSON,Y−N.
CHENに依って1986年に発表されている(ACS
C−85会議に基づく1986 No.CH23317
/86/0−000/0186$01.00のIEEE
刊行物:Asilomar回路システムとコンピュー
タ、186頁)。このアルゴリズムの実行は、ビットの
数にリニアに依存しない加算時間を与える(例えば、3
2−ビット以上の加算は16−ビット以上の加算よりわ
ずかに1.15倍遅いだけである)。
【0012】一般的に、このような加算器を使用する
と、32−ビット以上の加算は、同じ加算がリニア・キ
ャリー伝搬を用いて実行される時より、2.3倍速く実
行される。32−ビット以上の演算または16−ビット
以上の2つのパラレル演算の何れかを選択して与えるた
めに算術と論理装置と同じリニア・キャリー伝搬演算子
を希望する時に、それは、セレクション・マルチプレク
サーを各々ランク15と16の要素加算器の間にマウン
トして32−ビット演算子の形で実施されることができ
る。
【0013】セレクション・マルチプレクサーのコント
ロールは、従って、16の最上位ビットに対応する半分
の演算子の入力キャリーが16の最下位ビットに対応す
る半分の演算子の出力キャリーであり且つそれはセレク
ション・マルチプレクサーの入力に送られ、その場合に
32−ビット以上の“正規の”加算が行われるか、また
はこの入力キャリーはセレクション・マルチプレクサー
の別の入力に送られる外部キャリー・ビットであり、そ
の場合に16−ビット以上の2つの独立パラレル加算が
行われるかどうかについて選択することを可能にする。
【0014】この単純な解決法は、次に示す制約条件の
ために、キャリー・セレクション加算器にも適用される
ことができる。すなわち、モード・セレクション・マル
チプレクサー(32−ビットまたは2×16ビット)を
容易に挿入するために、ランク15のビットはこのタイ
プの演算子のサブブロックの1つの出力に位置されてい
なければならない。そこで、このマルチプレクサーのコ
ントロールを容易に適応できるので、16の最上位ビッ
トに対応する半分の演算子の入力キャリーは、 −他の半分の演算子の出力キャリーの場合、32−ビッ
ト以上の加算が行われ、 −または、外部キャリー・ビ
ットの場合、16ビット以上の2つの独立なパラレル加
算が行われる。
【0015】この解決法は、しかし、サブブロックのサ
イズの最適な選択に関して或る制約条件を要求する。し
かし、最適化されるBRENTとKUNGタイプのAL
Uの場合、このように演算子の作動モードを選択する方
法は、このアルゴリズムを実現する利益を失わずに適用
されることができない。すなわち、これは、2つのBR
ENTとKUNGタイプ加算器がシリーズにマウントさ
れることになり、32−ビット・モードで作動している
時に1つの32−ビットのBRENTとKUNGタイプ
加算器より非常に速いキャリー伝搬時間になる(普通は
1.5倍速い)と思われる。
【0016】従って、典型的な例のn=m=16の場
合、n+mビット以上の演算または各々nビット以上と
mビット以上の2つのパラレル演算の何れかを同じ演算
子を用いて行うために、最適キャリー伝搬アルゴリズ
ム、特に最適化されたBRENTとKUNGアルゴリズ
ムを適用して、それを可能にするプロセスが必要にな
る。
【0017】
【課題を解決するための手段】本発明の目的はこの必要
性を満足することにある。本発明は、従って、2つのN
ビットのオペランドを入力してNビットの結果を生成す
るために適応される演算子を用いる数値計算を実行し、
演算子は、プレコンデショニング回路と、キャリー・ゼ
ネレーターと、カスケードにマウントされている合計回
路を搭載していて、そこでは、プレコンデショニング回
路はパラレルにマウントされているN個のセルを具備し
ていて、これらのN個のセルの各々は2つのNビットの
オペランドの類似するランクの2ビットを入力し且つ類
似するランクのこれらの2つのビットの第1と第2のロ
ジック・コンビネーションを生成し、そこでは、キャリ
ー・ゼネレーターはロジック・コンビネーションをプレ
コンデショニング回路と入力キャリー・ビットから入力
しN個のキャリー・ビットを計算し、なおかつそこで
は、合計回路はパラレルにマウントされているN個の要
素加算器を搭載していて、これらのN個の要素加算器の
各々は第1ロジック・コンビネーションをプレコンデシ
ョニング回路の対応するセルからキャリー・ビットの1
つをキャリー・ゼネレーターから入力し且つ排他的OR
演算を実行してNビットの結果のビットの1つを生成し
ていて、そこでは、プレコンデショニング回路のN個の
セルの1つはセレクション・セルとして演算子の2つの
作動モード、すなわち、そのランクがセレクション・セ
ルと対応するビットを除いたNビットの結果のビットか
ら構成するN−1ビットの数は各々がそのランクがセレ
クション・セルと対応するビットを除いたNビットのオ
ペランドの1つのビットから構成しているN−1ビット
の2つの数に対して実行された演算の結果である第1作
動モードと、そのランクがセレクション・セルより低い
Nビットの結果のビットとそのランクがセレクション・
セルより高いNビットの結果のビットから各々構成する
2つの数は各々2つの数に対してパラレルに実行された
2つの演算の結果である第2作動モードを、選択して制
御するために使用されていて、各々がそのランクがセレ
クション・セルより低いNビットのオペランドの1つの
ビットから構成し、2つの数に於いて各々がそのランク
がセレクション・セルより高いNビットのオペランドの
1つのビットから構成する、プロセスを提案している。
【0018】従って、演算子の計算資源は最適な状態で
使用される。n=33で且つセレクション・セルがプレ
コンデショニング回路の17番目のセル(またはランク
16のセル)である代表的なケースに於いて、このプロ
セスは、16−ビット・オペランドを処理するプログラ
ムの実行のためと16−ビット上で2つの演算が同時に
実行されることができるために要求される時間を50%
同時に短縮することを可能にする。
【0019】本発明は、従って、33−ビットの最適化
演算子、特にBRENTとKUNGタイプの加算器を生
成することを可能にし、セレクション・セルを適切に制
御するとキャリー・ゼネレーターの作動を変更せずに、
次に示すことを可能にする。すなわち、 −セレクション・セルを透明と見なして、32−ビット
の演算を行うか、 −または、セレクション・セルを、16の最上位ビット
の2次加算器の入力キャリーをセットし、なおかつ、1
6の最下位ビットの2次加算器から出力キャリーを出力
する、16−ビット以上の加算を行う2つの独立したサ
ブブロックに加算器を分離するデリミッターと見なす。
【0020】この解決方法は次に示す長所を備えてい
る、すなわち、 −最適化されるBrent[sic]とKungインプ
レメンテーションにキャリー・ゼネレーターを構成する
セルのレイアウトの均一性が確保されている(例えば、
この均一性を損ねるおそれがある多重セルの追加がな
い)、 −表面の増加は最小限にとどまる(1/32または3.
12%) −同じ最適化アルゴリズムが33−ビット・キャリー・
ゼネレーターを等しくない次元のブロックに分割するた
めに用いられる、 −33−ビット以上の計算の伝搬時間の損失(32−ビ
ット以上の結果を導く)は1.9%程度なので無視でき
る(32−ビットから33−ビット・リニア・キャリー
伝搬加算器に進む時は、更なるマルチプレクサーをクロ
スする時間をカウントせずに、1/32、すなわち、
3.12%になる)。
【0021】本発明の第2の見解に従って、前述のタイ
プのNビットの演算子をもつ算術演算装置は、nとmが
n+1+m=Nとなる整数を指定し、2つのNビット・
オペランドの最初のnビットは2つのnビット入力レジ
スターを経由してプレコンデショニング回路の対応する
セルに送られ、2つのnビット・オペランドの最後のm
ビットは2つのmビット入力レジスターを経由してプレ
コンデショニング回路の対応するセルに送られ、Nビッ
トの結果の最初のnビットは合計回路の対応する要素加
算器に依ってnビット出力レジスターにアドレス指定さ
れ、なおかつ、Nビットの結果の最後のmビットは合計
回路の対応する要素加算器に依ってmビット出力レジス
ターにアドレス指定され、そこでは、プレコンデショニ
ング回路の(n+1)番目のセルは、演算子の2つの作
動モード、すなわち、2つの出力レジスターのビットの
ユニオンから成るn+m=N−1ビットの数はn+m=
N−1ビットの2つの数に実行された演算の結果であり
各々がnビット入力レジスターのビットとmビット入力
レジスターのビットのユニオンから成る第1作動モード
と、nビット出力レジスターのビットとmビット出力レ
ジスターのビットから各々構成する2つの数が各々2つ
の数にパラレルに実行された2つの演算の結果であり各
々が2つのnビット入力レジスターのビットから成り且
つ2つの数の上で各々が2つのmビット入力レジスター
のビットから構成する第2作動モードを、選択して制御
できるセレクション・セルであるように構成されてい
る。
【0022】この算術演算装置は前述のプロセスを実現
するように構成されている。
【0023】
【実施例】図1を見ると、本発明にかかる演算装置は、
2つのNビット・オペランドA32,A31,…A0;
B32,B31,…B0を受けて、Nビットの結果S3
2,S31,…S0を生成するように適応されている演
算子10を搭載している。図示されている例の場合、N
=33である。
【0024】演算子10は、プレコンデショニング回路
11と、キャリー・ゼネレーター12と、カスケードに
マウントされている合計回路13を搭載している。プレ
コンデショニング回路11はパラレルにマウントされて
いるN個の同じセル100〜132を搭載している。こ
れらのN個のセル100〜132の各々は、2つのNビ
ットのオペランドの類似のランクA0,B0〜A32,
B32の2つのビットを受けて、類似のランクのこれら
の2つのビットの2つのロジック・コンビネーションp
0,g0〜p32,g32を生成していて、そのコンビ
ネーションは8つの2進制御信号NP0〜NP3,NG
0〜NG3に依って決定される。
【0025】図2はプレコンデショニング回路11に使
用できる図解用セルを示している。このセルは第1ロジ
ック・コンビネーションpiを生成するために信号NP
0〜NP3に依って制御されるモジュール20と第2ロ
ジック・コンビネーションgiを生成するために信号N
G0〜NG3に依って制御される同じモジュール50を
搭載している。モジュール20は、第1ロジック・コン
ビネーションpiを送るセルの出力に接続されている8
個のMOSトランジスター・ライン21〜28を搭載し
ている。AiとBiは2つのNビットのオペランドの対
応するランクの2つのビットを指定しているので、直線
状に前進する反転ゲートから得られるビットAiとBi
の論理反転は、図示されていないが、指定されたNAi
とNBiになる。ライン21は、2進制御信号NP3を
入力し、そのゲートがビットNAiとNBiを各々受信
する2つのpチャンネルMOSトランジスター31,4
1のソース・ドレイン・パスを搭載している。ライン2
2は、2進制御信号NP2を受信し、そのゲートがビッ
トNAiとBiを各々受信する2つのpチャンネルMO
Sトランジスター32,42のソース・ドレイン・パス
を搭載している。ライン23は、2進制御信号NP1を
入力し、そのゲートがビットAiとNBiを各々受信す
る2つのpチャンネルMOSトランジスター33,43
を搭載している。ライン24は、2進制御信号NP0を
入力し、そのゲートがビットAiとBiを各々受信する
2つのpチャンネルMOSトランジスター34,44の
ソース・ドレイン・パスを搭載している。ライン25
は、2進制御信号NP0を入力し、そのゲートがビット
NAiとNBiを各々入力する2つのnチャンネルMO
Sトランジスター35,45のソース・ドレイン・パス
を搭載している。ライン26は、2進制御信号NP1を
入力し、そのゲートがビットNAiとBiを各々入力す
る2つのnチャンネルMOSトランジスター36,46
のソース・ドレイン・パスを搭載している。ライン27
は、2進制御信号NP2を入力し、そのゲートがビット
AiとNBiを各々入力する2つのnチャンネルMOS
トランジスター37,47のソース・ドレイン・パスを
搭載している。ライン28は、2進制御信号NP3を入
力し、そのゲートがビットAiとBiを各々入力する2
つのnチャンネルMOSトランジスター38,48のソ
ース・ドレイン・パスを搭載している。従って、モジュ
ール20の出力piは次に示すロジック・コンビネーシ
ョンになる。すなわち、 pi=NP0.NAi.NBi +NP1.NAi. Bi +NP2. Ai.NBi +NP3. Ai. Bi (1) ここで、“+”はOR論理演算を、“.”はAND論理
演算を示している。
【0026】同様に、モジュール50は、下記と等しい
ロジック・コンビネーションgiを送る。すなわち、 gi=NG0.NAi.NBi +NG1.NAi. Bi +NG2. Ai.NBi +NG3. Ai. Bi (2) セル100〜132に依って生成されるロジック・コン
ビネーションpi,giは、従って、制御信号NP0〜
NP3,NG0〜NG3の値を固定して選択されること
ができる。
【0027】キャリー・ゼネレーター12は、プレコン
デショニング回路11と入力キャリー・ビットCinか
ら生じるロジック・コンビネーションを入力して、N個
のキャリー・ビットC0〜C32を計算する。キャリー
・ゼネレーター12は、N=33−ビットで最適化され
るBRENTとKUNGアルゴリズムを実現するために
前述の“CMOS加算器の時間最適化デザイン”という
論文で説明された方式で生成される。キャリー・ゼネレ
ーター12に依って計算される最後のキャリー・ビット
C32は、演算子10の出力キャリー・ビットCout
と等しくなる。
【0028】合計回路13はパラレルにマウントされて
いるN個の要素加算器200〜232を搭載している。
これらのN個の要素加算器200〜232の各々は、プ
レコンデショニング回路11の対応するセルとキャリー
・ゼネレーター12から生じてNビットの結果のビット
S0〜S32の1つを生成するキャリー・ビットCi
n,C0〜C31の1つから生じる第1ロジック・コン
ビネーションp0〜p32の1つを入力する排他的OR
ゲートから構成している。Nビットの結果のランク0の
ビットはp0∧Cinに等しい、ここで、“∧”は排他
的OR論理演算を示しているが、Nビットの結果のラン
クi>0のビットはpi∧Ci−1に等しい。
【0029】図1に図示されている演算装置は2つのn
ビット入力レジスター1,2と2つのmビット入力レジ
スター3,4とnビット出力レジスター5とmビット出
力レジスター6を更に搭載している。nとmはn+1+
m=Nとなる整数である。図示されている実施例の場
合、Nは奇数(N=33)なので、n=m=(N−1)
/2=16になる。2つのNビットのオペランドの最初
のnビットA0〜A15,B0〜B15(最下位ビッ
ト)は、2つのnビット入力レジスター1,2を経由し
てプレコンデショニング回路11の対応するセル100
〜115に送られる。2つのNビット・オペランドの最
後のmビットA17〜A32,B17〜B32(最上位
ビット)は、2つのmビット入力レジスター3,4を経
由してプレコンデショニング回路11の対応するセル1
17〜132に送られる。Nビットの結果の最初のnビ
ットS0〜S15は、合計回路13の対応する要素加算
器200〜215に依ってnビット出力レジスター5に
アドレス指定される。Nビットの結果の最後のmビット
S17〜S32は、合計回路13の対応する要素加算器
217〜232に依ってmビット出力レジスター6にア
ドレス指定される。
【0030】プレコンデショニング回路11の(n+
1)番目のセル、またはランクnのセルは、次に詳細に
説明される演算子10の2つの作動モードを選択して制
御するためにセレクション・セル116として使用され
る。N−1ビットを搭載する第1作動モードに於いて、
n+m=N−1ビットS32,S31,…S17,S1
5,S14,…S0が2つの出力レジスター5,6のビ
ットのユニオンから構成する数は、n+m=N−1ビッ
ト、A32,A31,…A17,A15,A14,…A
0がnビット入力レジスター1のビットとmビット入力
レジスター3のビットのユニオンから構成する数と、n
+m=N−1ビット、B32,B31,…B17,B1
5,B14,…B0がnビット入力レジスター2のビッ
トとmビット入力レジスター4のビットのユニオンから
構成する数に対して実行された演算の結果である。その
ランクがセレクション・セル116に対応するビットS
16を除いたNビットの結果のビットから構成するN−
1ビットS32,S31,…S17,S15,S14,
…S0の数は、そこで、各々そのランクがセレクション
・セル116に対応するビットA16,B16を除いた
Nビットのオペランドの1つのビットから構成するN−
1ビット、A32,A31,…A17,A15,A1
4,…A0とB32,B31,…B17,B15,B1
4,…B0の2つの数に対して実行された演算の結果に
なる。
【0031】nとmビットを搭載する第2作動モードに
於いて、nビット出力レジスター5のビットとmビット
出力レジスター6のビットから各々構成する2つの数S
15,S14,…S0とS32,S31,…S17は、
各々2つのnビット入力レジスター1,2の1つのビッ
トから構成する、各々2つの数A15,A14,…A0
とB15,B14,…B0と、各々2つのmビット入力
レジスター3,4の1つのビットから構成する2つの数
A32,A31,…A17とB32,B31,…B17
に対してパラレルに実行された2つの演算の結果であ
る。そのランクがセレクション・セル116より低いN
ビットの結果のビットと且つそのランクがセレクション
・セル116より高いNビットの結果のビットから各々
構成する2つの数S15,S14,…S0とS32,S
31,…S17は、そこで、各々そのランクがセレクシ
ョン・セル116より低いNビットのオペランドのビッ
トから構成される各々2つのnビットの数A15,A1
4,…A0;B15,B14,…B0と、各々そのラン
クがセレクション・セル116より高いNビットのオペ
ランドの1つのビットから構成する2つのmビットの数
A32,A31,…A17;B32,B31,…B17
に対してパラレルに実行された2つの演算の結果にな
る。
【0032】演算子10が加算を実行するために、セレ
クション・セル116以外のプレコンデショニング回路
11のセル100〜115,117〜132の各々は、
そのロジック・コンビネーションpi,giがpi=A
i∧Biになり、gi=Ai.Biになるように制御さ
れる。これは、これらのセル100〜115,117〜
132の各々に対してNP0=NP3=NG0=NG1
=NG2=0とNP1=NP2=NG3=1(関係式1
と2)を実施し求められる。これらの条件のもとで、演
算子10の第1作動モードはその第1ロジック・コンビ
ネーションp16が1に等しく且つその第2ロジック・
コンビネーションg16が0に等しくなるようにセレク
ション・セル116を制御して選択され、なおかつ、演
算子10の第2作動モードはそのロジック・コンビネー
ションp16,g16が0に等しくなるようにセレクシ
ョン・セル116を制御して選択される。
【0033】2つの作動モード間の選択は、例えば、第
1モードのセレクション・セル116に対してNP0=
NP1=NP2=NP3=1とNG0=NG1=NG2
=NG3=0を、または第2モードのセレクション・セ
ル116に対してNP0=NP1=NP2=NP3=0
とNG0=NG1=NG2=NG3=0の何れかを実施
して実行されることができる。
【0034】しかし、演算子10が加算を実行する時
に、p16=A16∧B16(NP0=NP3=0,N
P1=NP2=1)且つg16=A16.B16(NG
0=NG1=NG2=0,NG3=1)になるようにセ
レクション・セル116を制御することが更に望まれ
る。演算子10の第1作動モードは反転値をNビットの
オペランドの2つのビットA16,B16に相互に指定
して選択され、なおかつ、演算子10の第2作動モード
はゼロの値をNビットのオペランドの2つのビットA1
6,B16に指定して選択される。これは、同じ2進制
御信号NP0〜NP3,NG0〜NG3をプレコンデシ
ョニング回路11のN個のセルにアドレス指定すること
を可能にする。第2作動モードに於いて、Nビットの結
果のビットS16の値は2つのnビットの数A15,A
14,…A0とB15,B14,…B0に対して実行さ
れた加算の出力キャリーと解釈され、なおかつ、出力キ
ャリー・ビットC32=Coutの値は2つのmビット
の数A32,A31,…A17とB32,B31,…B
17に対して実行された加算の出力キャリーと解釈され
る。キャリー・ゼネレーター12にアドレス指定された
入力キャリー・ビットCinは、第1作動モードのN−
1ビットS32,S31,…S17,S15,S14,
…S0の結果に対して、または第2作動モードの出力レ
ジスター5に送られたnビットS15,S14,…S0
の結果の何れかに対して、追加されたキャリーを示して
いる。第2入力キャリー・ビットC2をmビット入力レ
ジスター3,4に存在する2つの数A32,A31,…
A17;B32,B31,…B17に対して実行された
加算に更に追加することに依って、演算子10がその第
2作動モードが加算を実行するために、この第2入力キ
ャリー・ビットC2と等しい値が2つのビットA16と
B16に指定される。
【0035】演算子10が(タイプA−Bの)減算を実
行するために、セレクション・セル116以外のプレコ
ンデショニング回路11のセル100〜115,117
〜132の各々は、そのロジック・コンビネーションp
i,giがpi=Ai∧NBiとgi=Ai.Biにな
るように制御される。これは、そのセル100〜11
5,117〜132の各々に対してNP1=NP2=N
G0=NG1=NG3=0とNP0=NP3=NG2=
1(関係式1と2)を実施して求められる。これらの条
件のもとで、演算子10の第1作動モードはその第1ロ
ジック・コンビネーションp16が1に等しくなり且つ
その第2ロジック・コンビネーションgiが0に等しく
なるようにセレクション・セル116を制御し且つ入力
キャリー・ビットCinを1にセットして選択され、な
おかつ、演算子10の第2作動モードはその第1ロジッ
ク・コンビネーションp16が0に等しくなり且つその
第2ロジック・コンビネーションg16が1に等しくな
り、Cinが1にセットされたままの状態になるよう
に、セレクション・セル116を制御して選択される。
【0036】2つの作動モード間の選択は、例えば、第
1モードのセレクション・セル116に対してNP0=
NP1=NP2=NP3=1とNG0=NG1=NG2
=NG3=0、または第2モードのセレクション・セル
116に対してNP0=NP1=NP2=NP3=0と
NG0=NG1=NG2=NG3=1の何れかを実施し
て実行されることができる。
【0037】しかし、加算のケースのように、演算子1
0が減算を実行する時に、セレクション・セル116
は、プレコンデショニング回路11の他のセル100〜
115,117〜132にアドレス指定されたものと同
じ2進制御信号NP0〜NP3,NG0〜NG3を受信
することが一般的に好まれる。演算子10の第1作動モ
ードはそこで同じ値をNビットのオペランド2つのビッ
トA16とB16に指定して選択され、なおかつ、演算
子10の第2作動モードは値1と0を各々Nビットのオ
ペランドの2つのビットA16とB16に指定して選択
される。第2作動モードに於いて、Nビットの結果のビ
ットS16の値はそこで2つのnビットの数A15,A
14,…A0とB15,B14,…B0の間に実行され
た減算の出力キャリーと解釈され、なおかつ、出力キャ
リー・ビットC32=Coutの値は2つのmビットの
数A32,A31,…A17とB32,B31,…B1
7の間に実行された減算の出力キャリーと解釈される。
【0038】その第2作動モードに於いて、演算子10
は、それが入力レジスター1,2に存在するnビットの
数とmビット入力レジスター3,4に存在するmビット
の数に対して異なる演算を実行するように更に制御され
ることができる。従って、演算子10は、その第2作動
モードに於いて、nビット入力レジスター1,2に存在
する2つの数A15,A14,…A0;B15,B1
4,…B0の間で加算を且つmビット入力レジスター
3,4に存在する2つの数A32,A31,…A17;
B32,B31,…B17の間で減算を実行するために
制御されることができる。そこで、プレコンデショニン
グ回路11のセル100〜115はそれらのロジック・
コンビネーションpi,giがpi=Ai∧Bi且つg
i=Ai.Bi(NP0=NP3=NG0=NG1=N
G2=0,NP1=NP2=NG3=1)になるように
制御され、プレコンデショニング回路11のセル117
〜132はそれらのロジック・コンビネーションpi,
giがpi=Ai∧NBi且つgi=Ai.NBi(N
P0=NP3=NG2=1,NP1=NP2=NG0=
NG1=NG3=0)になるように制御され、なおか
つ、セレクション・セル116はその第1ロジック・コ
ンビネーションp16がゼロに等しくなり(例えばNG
0=NG1=NG2=NG3=0)且つその第2ロジッ
ク・コンビネーションg16が1に等しくなる(例えば
NG0=NG1=NG2=NG3=0になる)ように制
御される。
【0039】同様に、演算子10は、その第2作動モー
ドに於いて、nビット入力レジスター1,2に存在する
2つの数A15,A14,…A0;B15,B14,…
B0の間で減算を且つmビット入力レジスター3,4に
存在する2つの数A32,A31,…A17;B32,
B31,…B17の間で加算を実行するために制御され
ることができる。そこで、プレコンデショニング回路1
1のセル100〜115はそれらのロジック・コンビネ
ーションpi,giがpi=Ai∧NBi且つgi=A
i.NBi(NP0=NP3=NG2=1,NP1=N
P2=NG0=NG1=NG3=0)になり且つ入力キ
ャリー・ビットCinを1にセットして制御され、プレ
コンデショニング回路11のセル117〜132はそれ
らのロジック・コンビネーションp17〜p32がpi
=Ai∧Bi且つgi=Ai.Bi(NP0=NP3=
NG0=NG1=NG2=0,NP1=NP2=NG3
=1)になるように制御され、なおかつ、セレクション
・セル116はそのロジック・コンビネーションp1
6,g16が0に等しくなるように(例えばNP0=N
P1=NP2=NP3=NG0=NG1=NG2=NG
3=0)制御される。
【0040】演算子10は、同様に、第1のNビットの
オペランドA32,A31,…A0の個々のビットと第
2のNビットのオペランドB32,B31,…B0の対
応する個々のビットの間で論理演算を実行するために制
御されることができる。演算装置はそこで算術と論理演
算装置(ALU)を構成していることになる。これを行
うために、プレコンデショニング回路11のN個のセル
100〜132は、それらの第2ロジック・コンビネー
ションg0〜g32が、Cinも指定される、予め設定
された値に全て等しくなるように制御される。
【0041】例えば、演算子10はNビットのオペラン
ドの対応するビットの間で次に示す論理演算を実行する
ことができる、すなわち、 −AND(16と異なるiの場合にSi=Ai.B
i),ここでgi=g16=Cin=0(NG0=NG
1=NG2=NG3=0),pi=Ai.Bi(NP0
=NP1=NP2=0,NP3=1)およびp16は重
要でない、 −OR(16と異なるiの場合にSi=Ai+Bi),
ここでgi=g16=Cin=1(NG0=NG1=N
G2=NG3=1),pi=NAi.NBi(NP0=
1,NP1=NP2=NP3=0)およびp16は重要
でない、および −排他的OR(16と異なるiの場合にSi=Ai∧B
i)ここでgi=g16=Cin=0(NG0=NG1
=NG2=NG3=0),pi=Ai∧Bi(NP0=
NP3=0,NP1=NP2=1)およびp16は重要
でない。
【0042】
【発明の効果】本発明は好ましい図示されている実施態
様を引用して説明されてきたが、この例は制限があるも
のでなく且つ多種多様な変形が本発明の範囲を逸脱せず
にそこに実施されることが理解される。従って、本発明
は、32−ビットの演算、またはn=m=16−ビット
の2つのパラレルな演算の何れかを実行できるN=33
ビットのALUの好まれるケースに於いて説明されてき
たが、本発明は、任意の奇数Nとn=m=(N−1)/
2、またはN,n,m全てが任意の数の場合でも、N=
n+1+mであるならば、適用されることもできる。
【図面の簡単な説明】
【図1】本発明にかかる演算装置のブロック図である。
【図2】図1に記載されているプレコンデショニング回
路のセルの電気回路図である。
【符号の説明】
1…nビット入力レジスター 2…nビット入力レジスター 3…mビット入力レジスター 4…mビット入力レジスター 5…nビット出力レジスター 6…mビット出力レジスター 10…演算子 11…プレコンデショニング回路 12…キャリー・ゼネレーター 13…合計回路 116…セレクション・セル

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 2つのNビットのオペランド(A32,
    A31,…A0;B32,B31,…B0)を入力して
    Nビットの結果(S32,S31,…S0)を生成する
    ために適応される演算子(10)を用いて数値計算を実
    行し、前記演算子(10)は、プレコンデショニング回
    路(11)と、キャリー・ゼネレーター(12)と、カ
    スケードにマウントされている合計回路(13)を搭載
    しており、前記プレコンデショニング回路(11)がパ
    ラレルにマウントされているN個のセル(100〜13
    2)を搭載しており、これらN個のセルの各々が2つの
    Nビットのオペランドの類似するランク(A0,B0〜
    A32,B32)の2つのビットを入力し且つ類似する
    ランクのこれらの2つのビットの第1と第2のロジック
    ・コンビネーション(p0,g0〜p32,g32)を
    生成し、そこにおいて、キャリー・ゼネレーター(1
    2)がロジック・コンビネーションを前記プレコンデシ
    ョニング回路と入力キャリー・ビット(Cin)から入
    力し且つN個のキャリー・ビット(C0〜C32)を計
    算し、なおかつ、合計回路(13)がパラレルにマウン
    トされているN個の要素加算器(200〜232)を搭
    載しており、これらN個の要素加算器の各々が第1ロジ
    ック・コンビネーション(p0〜p32)の1つを前記
    プレコンデショニング回路の対応するセルから且つキャ
    リー・ビット(Cin,C0〜C31)の1つをキャリ
    ー・ゼネレーターから入力し且つ排他的OR論理演算を
    この第1ロジック・コンビネーション(p0〜p32)
    とこのキャリー・ビット(Cin,C0〜C31)の間
    で実行することによりNビットの結果のビット(S0〜
    S32)の1つを生成しており、 そこにおいて、プレコンデショニング回路(11)のN
    個のセルの1つはセレクション・セル(116)として
    演算子(10)の2つの作動モード、すなわち、そのラ
    ンクがセレクション・セル(116)と対応するビット
    (S16)を除いたNビットの結果のビットから構成す
    るN−1ビット(S32,S31,…S17,S15,
    S14,…S0)の数が各々そのランクがセレクション
    ・セル(116)と対応するビット(A16,B16)
    を除いたNビットのオペランドの1つのビットから構成
    するN−1ビット(A32,A31,…A17,A1
    5,A14,…A0;B32,B31,…B17,B1
    5,B14,…B0)の2つの数に対して実行された演
    算の結果である第1作動モードと、そのランクがセレク
    ション・セル(116)より低いNビットの結果のビッ
    トとそのランクがセレクション・セル(116)より高
    いNビットの結果のビットから各々構成する2つの数
    (S15,S14,…S0;S32,S31,…S1
    7)が各々2つの数(A15,A14,…A0;B1
    5,B14,…B0)に対してパラレルに実行された2
    つの演算の結果である第2作動モードを選択して制御す
    るために使用されていて、各々がそのランクがセレクシ
    ョン・セル(116)より低いNビットのオペランドの
    1つのビットから構成され、なおかつ、2つの数(A3
    2,A31,…A17;B32,B31,…B17)に
    於いて各々がそのランクがセレクション・セル(11
    6)より高いNビットのオペランドの1つのビットから
    構成される数値計数を実行するプロセス。
  2. 【請求項2】 Nが奇数で且つセレクション・セル(1
    16)がプレコンデショニング回路(11)のランク
    (N−1)/2のセルである請求項1に記載の数値計数
    を実行するプロセス。
  3. 【請求項3】 N=33である請求項2に記載の数値計
    数を実行するプロセス。
  4. 【請求項4】 演算子(10)が加算を実行するため
    に、セレクション・セル(116)以外のプレコンデシ
    ョニング回路(11)のセル(100〜115;117
    〜132)の少なくとも各々はその第1ロジック・コン
    ビネーション(p0〜p15;p17〜p32)が2つ
    のNビットのオペランドの対応するランク(A0,B0
    〜A15,B15;A17,B17〜A32,B32)
    の2つのビット間の排他的OR論理演算から求められ且
    つその第2ロジック・コンビネーション(g0〜g1
    5;g17〜g32)が2つのNビットのオペランドの
    対応するランク(A0,B0〜A15,B15;A1
    7,B17〜A32,B32)の2つのビット間のAN
    D論理演算から求められるように制御され、演算子(1
    0)の第1作動モードはその第1ロジック・コンビネー
    ション(p16)が1に等しく且つその第2ロジック・
    コンビネーション(g16)が0と等しくなるようにセ
    レクション・セル(116)を制御して選択され、なお
    かつ、演算子(10)の第2作動モードはそのロジック
    ・コンビネーション(p16,G16)が0に等しくな
    るようにセレクション・セル(116)を制御して選択
    される請求項1〜3の1つの項目に記載の数値計数を実
    行するプロセス。
  5. 【請求項5】 演算子(10)が加算を実行するため
    に、セレクション・セル(116)はその第1ロジック
    ・コンビネーション(p16)が2つのNビットのオペ
    ランドの対応するランク(A16,B16)の2つのビ
    ット間で排他的OR論理演算から求められ且つその第2
    ロジック・コンビネーション(g16)は2つのNビッ
    トのオペランドの対応するランク(A16,B16)の
    2つのビット間でAND論理演算から求められるように
    更に制御され、演算子(10)の第1作動モードは反転
    値をセレクション・セル(116)と同じランクをもつ
    Nビットのオペランドの2つのビット(A16,B1
    6)に相互に指定して選択され、なおかつ、演算子(1
    0)の第2作動モードはゼロの値をセレクション・セル
    (116)と同じランクをもつNビットのオペランドの
    2つのビット(A16,B16)に指定して選択される
    請求項4に記載の数値計数を実行するプロセス。
  6. 【請求項6】 演算子(10)が加算をその第2作動モ
    ードに於いて第2入力キャリー・ビット(C2)を各々
    そのランクがセレクション・セル(116)より高いN
    ビットのオペランドの1つのビットから構成する2つの
    数(A32,A31,…A17;B32,B31,…B
    17)に対して実行された加算に追加することによって
    実行するために、第2入力キャリー・ビット(C2)と
    等しい値がセレクション・セル(116)と同じランク
    をもつNビットのオペランドの2つのビット(A16,
    B16)に指定される請求項5に記載の数値計数を実行
    するプロセス。
  7. 【請求項7】 演算子(10)が減算を実行するため
    に、セレクション・セル(116)以外のプレコンデシ
    ョニング回路(11)のセル(100〜115;117
    〜132)の少なくとも各々はその第1ロジック・コン
    ビネーション(p0〜p15;p17〜p32)が第1
    のNビットのオペランドの対応するランク(A0〜A1
    5;A17〜A32)のビットと第2のNビットのオペ
    ランドの対応するランク(B0〜B15;B17〜B3
    2)のビットの反転値の間の排他的OR論理演算から求
    められ且つその第2ロジック・コンビネーション(g0
    〜g15;g17〜g32)が第1のNビットのオペラ
    ンドの対応するランク(A0〜A15;A17〜A3
    2)のビットと第2のNビットのオペランドの対応する
    ランク(B0〜B15;B17〜B32)のビットの反
    転値の間のAND論理演算から求められるように制御さ
    れ、演算子(10)の第1作動モードはその第1ロジッ
    ク・コンビネーション(p16)が1に等しく且つその
    第2ロジック・コンビネーション(g16)が0と等し
    くなるようにセレクション・セル(116)を制御し且
    つ入力キャリー・ビット(Cin)を1にセットして選
    択され、なおかつ、演算子(10)の第2作動モードは
    そのロジック・コンビネーション(p16)が0に等し
    く且つその第2ロジック・コンビネーション(g16)
    が1に等しく、入力キャリー・ビット(Cin)が1に
    セットされたままの状態を保つようにセレクション・セ
    ル(116)を制御して選択される請求項1〜6の1つ
    の項目に記載の数値計数を実行するプロセス。
  8. 【請求項8】 演算子(10)が減算を実行するため
    に、セレクション・セル(116)はその第1ロジック
    ・コンビネーション(p16)が第1のNビットのオペ
    ランドの対応するランク(A16)のビットと第2のN
    ビットのオペランドの対応するランク(B16)のビッ
    トの反転値の間で排他的OR論理演算から求められ且つ
    その第2ロジック・コンビネーション(g16)が第1
    のNビットのオペランドの対応するランク(A16)の
    ビットと第2のNビットのオペランドの対応するランク
    (B16)のビットの反転値の間でAND論理演算から
    求められるように更に制御され、演算子(10)の第1
    作動モードは同じ値をセレクション・セル(116)と
    同じランクをもつNビットのオペランドの2つのビット
    (A16,B16)に指定して選択され、なおかつ、演
    算子(10)の第2作動モードは値1と0を各々セレク
    ション・セル(116)と同じランクをもつNビットの
    オペランドの2つのビット(A16,B16)に指定し
    て選択される請求項7に記載の数値計算を実行するプロ
    セス。
  9. 【請求項9】 演算子(10)が、その第2作動モード
    に於いて、各々そのランクがセレクション・セル(11
    6)より低いNビットのオペランドの1つのビットから
    構成する2つの数(A15,A14,…A0;B15,
    B14,…B0)の間で加算を且つ各々そのランクがセ
    レクション・セル(116)より高いNビットのオペラ
    ンドの1つのビットから構成する2つの数(A32,A
    31,…A17;B32,B31,…B17)の間で減
    算を実行するために、そのランクがセレクション・セル
    (116)より低いプレコンデショニング回路(11)
    のセル(100〜115)の各々はその第1ロジック・
    コンビネーション(p0〜p15)が2つのNビットの
    オペランドの対応するランク(A0,B0〜A15,B
    15)の2つのビット間で排他的OR論理演算から求め
    られ且つその第2ロジック・コンビネーション(g0〜
    g15)が2つのNビットのオペランドの対応するラン
    ク(A0,B0〜A15,B15)の2つのビット間で
    AND論理演算から求められるように制御され、そのラ
    ンクがセレクション・セル(116)より高いプレコン
    デショニング回路(11)のセル(117〜132)の
    各々はその第1ロジック・コンビネーション(p17〜
    p32)が第1のNビットのオペランドの対応するラン
    ク(A17〜A32)のビットと第2のNビットのオペ
    ランドの対応するランク(B17〜B32)のビットの
    反転値の間で排他的OR論理演算から求められ且つその
    第2ロジック・コンビネーション(g17〜g32)は
    第1のNビットのオペランドの対応するランク(A17
    〜A32)のビットと第2のNビットのオペランドの対
    応するランク(B17〜B32)のビットの反転値の間
    でAND論理演算から求められるように制御され、なお
    かつ、セレクション・セル(116)はその第1ロジッ
    ク・コンビネーション(p16)がゼロに等しく且つそ
    の第2ロジック・コンビネーション(g16)が1に等
    しくなるように制御される請求項1〜8の1つの項目に
    記載の数値計算を実行するプロセス。
  10. 【請求項10】 演算子(10)が、その第2作動モー
    ドに於いて、各々ランクがセレクション・セル(11
    6)より低いNビットのオペランドの1つのビットから
    構成する2つの数(A15,A14,…A0;B15,
    B14,…B0)の間で減算を且つ各々そのランクがセ
    レクション・セル(116)より高いNビットのオペラ
    ンドの1つのビットから構成する2つの数(A32,A
    31,…A17;B32,B31,…B17)の間で加
    算を実行するために、そのランクがセレクション・セル
    (116)より低いプレコンデショニング回路(11)
    のセル(100〜115)の各々はその第1ロジック・
    コンビネーション(p0〜p15)が第1のNビットの
    オペランドの対応するランク(A0〜A15)のビット
    と第2のNビットのオペランドの対応するランク(B0
    〜B15)のビットの反転値の間で排他的OR論理演算
    から求められ且つその第2ロジック・コンビネーション
    (g0〜g15)が第1のNビットのオペランドの対応
    するランク(A0〜A15)のビットと第2のNビット
    のオペランドの対応するランク(B0〜B15)のビッ
    トの反転値の間でAND論理演算から求められるように
    制御され、そのランクがセレクション・セル(116)
    より高いプレコンデショニング回路(11)のセル(1
    17〜132)の各々はその第1ロジック・コンビネー
    ション(p17〜p32)が2つのNビットのオペラン
    ドの対応するランク(A17,B17〜A32,B3
    2)の2つのビット間の排他的OR論理演算から求めら
    れ且つその第2ロジック・コンビネーション(g17〜
    g32)はNビットのオペランドの対応するランク(A
    17,B17〜A32,B32)の2つのビット間のA
    ND論理演算から求められるように制御され、なおか
    つ、セレクション・セル(116)はそのロジック・コ
    ンビネーション(p16,g16)が0に等しくなるよ
    うに制御される請求項1〜9の1つの項目に記載の数値
    計算を実行するプロセス。
  11. 【請求項11】 演算子(10)が論理演算を第1のN
    ビットのオペランドの個々のビットと第2のNビットの
    オペランドの個々のビットの間で実行するために、プレ
    コンデショニング回路(11)のセル(100〜13
    2)はそれらの第2ロジック・コンビネーション(g0
    〜g32)が入力キャリー・ビット(Cin)にも指定
    されている予め設定された値に全て等しくなるように制
    御され、キャリー・ゼネレーター(12)に依って生成
    されるキャリー・ビット(C0〜C32)はそこで同様
    に全てこの予め設定された値をもっている請求項1〜1
    0の1つの項目に記載の数値計算を実行するプロセス。
  12. 【請求項12】 2つのNビットのオペランド(A3
    2,A31,…A0;B32,B31,…B0)を入力
    してNビットの結果(S32,S31,…S0)を生成
    するように適応されている演算子(10)を搭載してい
    て、演算子(10)は、プレコンデショニング回路(1
    1)と、キャリー・ゼネレーター(12)と、カスケー
    ドにマウントされている合計回路(13)を搭載してい
    て、そこでは、プレコンデショニング回路(11)はパ
    ラレルにマウントされているN個のセル(100〜13
    2)を搭載していて、これらのN個のセルの各々が2つ
    のNビットのオペランドの類似するランク(A0,B0
    〜A32,B32)の2つのビットを入力し且つ類似す
    るランクのこれらの2つのビットの第1と第2のロジッ
    ク・コンビネーション(p0,g0〜p32,g32)
    を生成し、そこでは、キャリー・ゼネレーター(12)
    がロジック・コンビネーションをプレコンデショニング
    回路と入力キャリー・ビット(Cin)から入力し且つ
    N個のキャリー・ビット(C0〜C32)を計算し、な
    おかつそこでは、合計回路(13)がパラレルにマウン
    トされているN個の要素加算器(200〜232)を搭
    載していて、これらのN個の要素加算器の各々が第1ロ
    ジック・コンビネーション(p0〜p32)の1つをプ
    レコンデショニング回路の対応するセルから且つキャリ
    ー・ビット(Cin,C0〜C31)の1つをキャリー
    ・ゼネレーターから入力し且つ排他的OR論理演算をこ
    の第1ロジック・コンビネーション(p0〜p32)と
    このキャリー・ビット(Cin,C0〜C31)の間で
    実行することに依ってNビットの結果のビット(S0〜
    S32)の1つを生成しており、 そこでは、nとmはn+1+m=Nになる整数を指定
    し、2つのNビットのオペランドの第1のnビット(A
    0〜A15;B0〜B15)が2つのnビット入力レジ
    スター(1,2)を経由してプレコンデショニング回路
    (11)の対応するセル(100〜115)に送られ、
    2つのNビットのオペランドの最後のmビット(A17
    〜A32;B17〜B32)は2つのmビット入力レジ
    スター(3,4)を経由してプレコンデショニング回路
    (11)の対応するセル(117〜132)に送られ、
    Nビットの結果の第1のnビット(S0〜S15)は合
    計回路(13)の対応する要素加算器(200〜21
    5)に依ってnビット出力レジスター(5)にアドレス
    指定され、Nビットの結果の最後のmビット(S17〜
    S32)は合計回路(13)の対応する要素加算器(2
    17〜232)に依ってmビット出力レジスター(6)
    にアドレス指定され、そこでは、プレコンデショニング
    回路(11)の(n+1)番目のセルが演算子(10)
    の2つの作動モード、すなわち、2つの出力レジスター
    (5,6)のビットのユニオンから構成するn+m=N
    −1ビット(S32,S31,…S17,S15,S1
    4,…S0)の数が各々nビット入力レジスター(1,
    2)のビットとmビット入力レジスター(3,4)のビ
    ットのユニオンから構成するn+m=N−1ビット(A
    32,A31,…A17,A15,A14,…A0;B
    32,B31,…B17,B15,B14,…B0)の
    2つの数に対して実行された演算の結果である第1作動
    モードと、nビット出力レジスター(5)のビットとm
    ビット出力レジスター(6)のビットから各々構成する
    2つの数(S15,S14,…S0;S32,S31,
    …S17)が各々2つのnビット入力レジスター(1,
    2)の11ビットから構成する各々2つの数(A15,
    A14,…A0;B15,B14,…B0)と各々2つ
    のmビット入力レジスター(3,4)の1つのビットか
    ら構成する2つの数(A32,A31,…A17;B3
    2,B31,…B17)に対してパラレルに実行された
    2つの演算の結果である第2作動モードを、選択して制
    御できるセレクション・セル(116)である、演算装
    置。
  13. 【請求項13】 Nが奇数で且つn=m=(N−1)/
    2である請求項12に記載の演算装置。
  14. 【請求項14】 n=33である請求項13に記載の演
    算装置。
JP16567993A 1992-07-03 1993-07-05 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置 Expired - Fee Related JP3388819B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9208235A FR2693287B1 (fr) 1992-07-03 1992-07-03 Procédé pour effectuer des calculs numériques, et unité arithmétique pour la mise en Óoeuvre de ce procédé.
FR9208235 1992-07-03

Publications (2)

Publication Number Publication Date
JPH0756712A true JPH0756712A (ja) 1995-03-03
JP3388819B2 JP3388819B2 (ja) 2003-03-24

Family

ID=9431519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16567993A Expired - Fee Related JP3388819B2 (ja) 1992-07-03 1993-07-05 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置

Country Status (5)

Country Link
US (1) US5432728A (ja)
EP (1) EP0577483B1 (ja)
JP (1) JP3388819B2 (ja)
DE (1) DE69300069T2 (ja)
FR (1) FR2693287B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792442B1 (en) 1999-02-03 2004-09-14 Nec Corporation Signal processor and product-sum operating device for use therein with rounding function

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654733B1 (en) * 1993-11-23 2000-05-24 Hewlett-Packard Company Parallel data processing in a single processor
KR100445542B1 (ko) * 1995-09-01 2004-11-20 필립스 일렉트로닉스 노쓰 아메리카 코포레이션 프로세서의커스텀오퍼레이션들을위한방법및장치
US5719802A (en) * 1995-12-22 1998-02-17 Chromatic Research, Inc. Adder circuit incorporating byte boundaries
US6092094A (en) * 1996-04-17 2000-07-18 Advanced Micro Devices, Inc. Execute unit configured to selectably interpret an operand as multiple operands or as a single operand
US6058465A (en) * 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US6088800A (en) 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
FR2775531B1 (fr) * 1998-02-27 2001-10-12 Sgs Thomson Microelectronics Additionneur numerique rapide
US6249799B1 (en) * 1998-06-19 2001-06-19 Ati International Srl Selective carry boundary
US6725360B1 (en) * 2000-03-31 2004-04-20 Intel Corporation Selectively processing different size data in multiplier and ALU paths in parallel
US20060064451A1 (en) * 2004-09-17 2006-03-23 Mehta Kalpesh D Arithmetic circuit
CN101803205B (zh) * 2008-08-15 2013-12-18 Lsi公司 近码字的ram列表解码
US10747534B1 (en) * 2018-11-26 2020-08-18 Xilinx, Inc. Vectorization of wide integer data paths into parallel operations with value extraction for maintaining valid guard bands

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6143341A (ja) * 1984-08-07 1986-03-01 Nec Corp 加算回路
JPH07120271B2 (ja) * 1987-04-28 1995-12-20 日本電気株式会社 算術論理装置
US4914617A (en) * 1987-06-26 1990-04-03 International Business Machines Corporation High performance parallel binary byte adder
US5189636A (en) * 1987-11-16 1993-02-23 Intel Corporation Dual mode combining circuitry
US5047975A (en) * 1987-11-16 1991-09-10 Intel Corporation Dual mode adder circuitry with overflow detection and substitution enabled for a particular mode
US5047974A (en) * 1987-11-24 1991-09-10 Harris Corporation Cell based adder with tree structured carry, inverting logic and balanced loading
US4956802A (en) * 1988-12-14 1990-09-11 Sun Microsystems, Inc. Method and apparatus for a parallel carry generation adder
US5043934A (en) * 1990-02-13 1991-08-27 Hewlett-Packard Company Lookahead adder with universal logic gates
US5278783A (en) * 1992-10-30 1994-01-11 Digital Equipment Corporation Fast area-efficient multi-bit binary adder with low fan-out signals

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792442B1 (en) 1999-02-03 2004-09-14 Nec Corporation Signal processor and product-sum operating device for use therein with rounding function

Also Published As

Publication number Publication date
US5432728A (en) 1995-07-11
FR2693287B1 (fr) 1994-09-09
DE69300069T2 (de) 1995-09-07
FR2693287A1 (fr) 1994-01-07
EP0577483A1 (fr) 1994-01-05
EP0577483B1 (fr) 1995-03-01
DE69300069D1 (de) 1995-04-06
JP3388819B2 (ja) 2003-03-24

Similar Documents

Publication Publication Date Title
Vergos et al. On modulo 2^ n+ 1 adder design
JP3244506B2 (ja) 小型乗算器
JP3388819B2 (ja) 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置
JPS6055438A (ja) 2入力加算器
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JPH0479013B2 (ja)
JPH0542011B2 (ja)
JPH08161152A (ja) 浮動小数点演算装置
US5140546A (en) Adder circuit apparatus
KR102286101B1 (ko) 데이터 처리장치 및 내로우잉 앤 라운딩 산술연산을 행하는 방법
US6065034A (en) Circuit and method employing an adder for sign extending operands
JPS5957343A (ja) 加算回路
US20060031279A1 (en) Highly parallel structure for fast multi cycle binary and decimal adder unit
Sahoo et al. A novel redundant binary number to natural binary number converter
JPH0424730B2 (ja)
US11294630B2 (en) Adder-subtractor circuit and method of controlling adder-subtractor circuit
JP3462054B2 (ja) 並列加減算回路
US6041341A (en) Method and circuit for adding operands of multiple size
Veeramachaneni Design of efficient VLSI arithmetic circuits
JP2681968B2 (ja) 演算処理装置
JPH05233219A (ja) 半導体集積回路のキャリー先取り回路
JP3106525B2 (ja) 加算方式及びその回路
JPH04227533A (ja) 高速加算器
JPH09190338A (ja) 論理演算装置での数学的オーバフロー・フラグ発生遅延の除去
JP3198795B2 (ja) 加算器及び加算方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090117

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees