JP3462054B2 - 並列加減算回路 - Google Patents

並列加減算回路

Info

Publication number
JP3462054B2
JP3462054B2 JP28396997A JP28396997A JP3462054B2 JP 3462054 B2 JP3462054 B2 JP 3462054B2 JP 28396997 A JP28396997 A JP 28396997A JP 28396997 A JP28396997 A JP 28396997A JP 3462054 B2 JP3462054 B2 JP 3462054B2
Authority
JP
Japan
Prior art keywords
subtraction
addition
circuit
carry
adder
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.)
Expired - Fee Related
Application number
JP28396997A
Other languages
English (en)
Other versions
JPH11119979A (ja
Inventor
幸夫 菅野
尊 吉田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP28396997A priority Critical patent/JP3462054B2/ja
Priority to US09/172,772 priority patent/US6260055B1/en
Publication of JPH11119979A publication Critical patent/JPH11119979A/ja
Priority to US09/774,713 priority patent/US6411980B2/en
Application granted granted Critical
Publication of JP3462054B2 publication Critical patent/JP3462054B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、加減算回路に関す
るもので、主に、マルチメディア機能をサポートするプ
ロセッサ等に使用される加減算回路を提供するものであ
る。
【0002】
【従来の技術】従来の加減算回路として、キャリーセレ
クト型加減算回路がある。キャリーセレクト方式とは、
演算速度を速くするための方式で、上位ビットの演算
を、下位ビット加算回路のキャリーを待たずに、下位ビ
ット加算回路が出力する2通りのキャリーを定数とする
加算回路を用意し、2通りの加算結果を準備し、下位ビ
ット加算回路からのキャリーで2通りの同加算結果を選
択するもである。このようなキャリーセレクト型加減算
回路の基本的な構造というのは、例えば、「コンピュー
タの高速演算方式」(監訳者:掘越 彌、発行所:近代
科学社、発行日:昭和55年9月1日)に記載されてい
る。
【0003】従来のキャリーセレクト型加減算回路とし
て、図6に示したようなものがある。このキャリーセレ
クト型加減算回路は、下位16ビットの加算回路111
と、上位16ビットの演算を行う2つの加算回路11
3、115からなり、それぞれ独立して16ビットの加
算を行うことができる。又、上位の16ビット加算回路
113、115の出力には、2つの上位加算回路の出力
をセレクトするセレクタ119があり、2つの上位16
ビット加算回路13、15にキャリーを入力するキャリ
ー制御回路111を介して、下位16ビットの加算回路
111からのキャリーに応じて、何れかの出力が選択さ
れる。
【0004】このようなキャリーセレクト型加減算回路
を利用することにより、並列処理機能を付加する技術も
ある。この場合、上位ビット加算回路と下位ビット加算
回路とに、分割されている事から、上位ビット加算回路
へのキャリーを制御することで、複数の並列演算が可能
となる。例えば、一つの加算回路として使用する場合に
は、下位ビット加算回路のキャリーをそのまま上位ビッ
ト加算回路の入力とする。また、並列に加算する場合に
は、下位ビット加算回路からのキャリーを無視し、0を
上位ビット加算回路へ入力すれば、上位ビットだけの加
算結果が得られる。
【0005】
【発明が解決しようとする課題】しかし、この従来の回
路の場合、上位ビット加算回路と下位ビット加算回路に
制御する回路を付加することで、一つの加算回路と使用
する場合に、付加した回路分の遅延が生ずる、この遅延
は、分割数が増すほど顕著になる。このため、高速な処
理を要求される場合は、大きな問題となっている。
【0006】本発明の目的は、高速の加減算回路を提供
することである。
【0007】本発明の目的は、効率的なキャリーセレク
ト型加減算回路を提供することである。
【0008】
【課題を解決するための手段】上記目的を達成するため
本発明による並列加算回路は、一つの加算器を複数に分
割し、並列に加算を行うものであり、分割した最小単位
の加算器に入る制御信号で、下位からのキャリーで選択
されている加算結果の加算内容を制御する事により、分
割単位を制御することを特徴とする。
【0009】又、好ましくは、制御信号の調整により、
分割単位が不均等な分割加算の実行を可能とする事を特
徴とする。
【0010】本発明の別の様相によれば、一つの減算器
を二つ以上の複数に分割し、並列に減算を行う事が可能
な並列減算回路において、分割した最小単位の減算器に
入る制御信号で、下位からのキャリーで選択されている
減算結果の減算内容を制御する事により、分割単位を制
御することを特徴とする。
【0011】又、好ましくは、制御信号の調整により、
分割単位が不均等な分割減算の実行を可能とする事を特
徴とする。
【0012】更に、好ましくは、制御信号の調整によ
り、加算と減算を混同した同時並列演算を可能とする事
を特徴とする。
【0013】本発明の更に別の様相によれば、本発明に
よる並列加減算回路は、夫々複数のビット列に分割され
た2つの被演算数の、夫々の分割ビット列の演算を独立
に行う複数の演算回路と、前記複数の演算回路の演算結
果を結合して出力することにより2つの被演算数の演算
結果を得る処理回路を備え、最下位の演算回路以外の前
記複数の演算回路は夫々1対設けられており、夫々下位
からのキャリーが0の場合と1の場合の演算を行い、前
記処理回路において何れか一方が下位からのキャリーに
応じて選択される並列減算回路において、前記最下位の
演算回路以外の演算回路に対して、一対の演算回路が、
分割加算の場合は双方とも下位からのキャリーがφであ
る場合の演算を行い、分割減算の場合は双方ともキャリ
ーが1である場合の演算を行うことで、実際の下位から
のキャリーによりどちらが選択されても同一の値が出力
されるようにすることで、前記複数の演算回路の演算結
果を分離し夫々の分割ビット列毎の演算結果を得ること
を特徴とする。
【0014】従って、本発明による加減算回路では、上
位の演算回路に対して、加算の場合は下位からのキャリ
ーとして全て0を与え減算の場合は全て1を与えること
により、1対の演算回路が同一の演算を行うことにな
る。この場合,前記複数の演算回路の演算結果は分離さ
れ、夫々の分割されたビット列毎の演算結果が独立に得
られることになる。そして、このような並列加減算を行
うことによっても、時間的な損失は増えることがない。
【0015】
【発明の実施の形態】図1に本発明の第1の実施の形態
による並列加減算回路の回路図を示す。この並列加減算
回路は、上位ビット加算回路がキャリーセレクト方式を
使用している32ビット加算回路に、16ビット並列加
算の機能を付加した構造となっている。
【0016】本実施の形態のキャリーセレクト型加減算
回路は、下位16ビットの加算回路11と、上位16ビ
ットの演算を行う2つの加算回路13、15からなり、
それぞれ独立して16ビットの加算を行うことができ
る。また、上位の16ビット加算回路13、15の出力
には、2つの上位加算回路の出力をセレクトするセレク
タ119があり、2つの上位16ビット加算回路13、
15にキャリーを入力するキャリー制御回路も設けられ
ている。次に、具体的な動作について説明する。
【0017】32ビット加算の場合、2つの加算回路1
3、15には、A、Bのデータが入力される。また、そ
の時のキャリー入力は、一方に "1" が入力され、もう
一方にば "0" が入力される。これにより、下位からの
キャリーが "1" の場合ど "0" の場合の加算結果を用
意する。それと同時に、下位16ビットの加算回路は、
入力A、Bの加算を行い16ビットの加算結果と、キャ
リーを出力する。下位加算回路のキャリーは、上位16
ビット加算回路が用意していた加算結果から、下位加算
回路のキャリーと同じキャリー入力を持つ上位加算回路
の結果を選択し、上位16ビットの加算結果とキャリー
を出力する。
【0018】一方、下位16ビットの加算回路11に
も、A、Bのデータが入力される。また、その時のキャ
リー入力は、加算の場合、" 0" が入力される。セレク
タ19には、加算回路11のキャリーが入力され、上位
16ビット加算回路13、15のいずれかが選択され、
32ビットの加算結果とキャリーが得られる。
【0019】並列16ビット加算の場合、32ビット加
算同様に、上位・下位加算回路へは、A,Bのデータを
入力するが、2つの上位16ビット加算回路のキャリー
には、両方とも" 0" を入力する。これにより、上位1
6ビット加算結果は、2つとも同じ結果が出力される。
つまり、セレクタ19がいずれの結果を選択しても、上
位16ビットの加算結果は同一なので、下位16ビット
加算回路のキャリーに影響される事無く、上位16ビッ
ト分についての加算結果とキャリーを得られる。なお、
下位16ビットの加算は、32ビット加算と同様な処理
により、下位16ビット加算結果とキャリーが得られ
る。
【0020】また、減算を行うには、補数表現を使用し
演算する為、引くデータを反転させたうえ最下位ビット
に "1" を加える事により実現出来る。32ビット減算
の場合、引く側のデータを反転させ、下位加算回路のキ
ャリー入力に "1" を入力した上で、上位加算回路のキ
ャリー入力をそれぞれ "0" 、" 1" とする事で、32
ビットの加算同様に結果が得られる。また、並列16ビ
ット減算の場合、32ビット減算同様に、引く側のデー
タを反転させた上に、下位16ビット加算回路のキャリ
ー入力に "1" を入力し、上位16ビット加算回路のキ
ャリー入力には、両方とも" 1" を入力する事で、上位
・下位の減算結果が得られる。
【0021】図2に本発明の第2の実施の形態による並
列加減算回路の回路図を示す。この実施の形態は、32bi
t 演算処理、16bit 演算2並列処理、8bit演算4並列処
理が行える並列加減算器の例である。構成要素は、並列
演算処理の最小単位となる8bit加減算器25、26−
1、26−2、26−3、同加減算器への演算制御信号
を生成する演算制御信号生成回路23、8bitより大きい
サイズでの演算を行う際のキャリーを生成するキャリー
生成回路24、同キャリーから、加減算器で生成された
演算結果を選択する選択回路29−1、29−2、29
−3から構成される。本実施の形態の加減算器も、キャ
リー選択方式により演算を行うものとする。すなわち、
予め下位からのキャリーがあった場合、無かった場合の
二通りの演算結果を生成し、実際の下位からのキャリー
により、同2種の演算結果から選択することにより、演
算を行うものである。
【0022】本実施の形態は32bit 演算処理、16bit 演
算2並列処理、8bit演算4並列処理が行えるものであ
る。そのために、演算制御信号生成回路は、加算・減
算、分割モードにより、演算の最小単位である各8bit演
算器に対し、最下位8bit演算器を除きそれぞれ2本の制
御信号を生成する。最下位8bit演算器に対しては、1本
の制御信号が入力される。
【0023】演算制御信号生成回路から出力される制御
信号を以下に示す。
【0024】 信号 z3 p3 z2 p2 zl pl z0 32bit 加算 0 1 0 1 0 1 0 32bit 減算 0 1 0 1 0 1 1 16bit 加算 0 1 0 0 0 1 0 16bit 減算 0 1 1 1 0 1 1 8bit 加算 0 0 0 0 0 0 0 8bit 減算 1 1 1 1 1 1 1 ここでz3,p3は最上位8bit演算器に入力される制御信
号、z2,p2は次の8bit演算器に入力される制御信号、z
1,p1はその次の演算器に入る制御信号、z0は最下位の8
bit演算器に入る制御信号である。
【0025】減算処理は、A−B=A+(Bの2の補数
表現)=A+(Bのbit 反転)+1で行われる。そのた
め、各演算器では、8bit加算器の前段に、減算の場合に
入力Bの反転をとる反転回路と、制御信号生成回路から
来る制御信号を前記式の最後に加算される1として処理
する回路から構成される。
【0026】8bit演算器は、同制御信号により、同信号
が“0”の場合は下位からのキャリーが無かった場合の
演算結果と上位へのキャリー出力を、“1”の場合は、
下位からのキャリーがあった場合の演算結果および上位
へのキャリーを出力する。最下位8bit演算器を除き、上
位の各8bit演算器は各2本の制御信号に対応し、各々2
つの演算結果を出力する。例えば最上位8bit演算器で
は、 sumz3 = A[31:24] +(B[31:24] ^sub) + z3 sump3 = A[31:24] +(B[31:24] ^sub) + p3 となり、coutz3は上記 sumz0 の演算での桁あふれキャ
リー信号であり、coutz3は上記sump0 の演算での桁あふ
れキャリー信号である。
【0027】ここでsumz3 は制御信号z3に対応した演算
結果、sump3 は制御信号p3に対応した演算結果である。
A[31:24]は入力被演算データの最上位8bitを示す。sub
は同演算が減算であることを示す。“^" はsub により
B[31:24] がbit 反転されることを示す。
【0028】キャリー生成回路は、各々の8bit演算器か
ら出力されるキャリー信号coutz3,coutp3,coutz2,co
utp2,coutz1,coutp1,coutz0を入力とし、同キャリー
から、各々の8bit演算器への実際のキャリー入力信号を
生成する。その様な回路の1例を、図3に示す。ここで
は、3つのマルチプレクサが用いられている。又、図4
(A)に示した様な、回路を用いれば、更に高速の演算
が可能となる。この場合、図4(B)に示した様に、2
入力2出力のマルチプレクサは、2つのマルチプレクサ
と同等なので、7つのマルチプレクサから構成されるこ
ととなる。
【0029】次に、具体的な演算の例を示す。例えば32
bit データ、A=0xFFFFFFFF、B =0x00000001(16 進表
記) の加算を行う場合を考える。32bit 加算モードで
は、制御信号生成回路からの各制御信号は 信号 z3 p3 z2 p2 zl pl z0 32bit 加算 0 1 0 1 0 1 0 であり、各8bit演算器へ入力されるデータは A3=0xFF B3=0x00 A2=0xFF B2=0x00 A1=0xFF B1=0x00 A0=0xFF B0=0x01 となり、各演算器の出力は sumz3=0xFF coutz3=0 sump3=0x00 coutp3=1 sumz2=0xFF coutz2=0 sump2=0x00 coutp2=1 sumz1=0xFF coutz1=0 sump1=0x00 coutp1=1 sumz0=0x00 coutz0=1 となる。そのため、各8bit演算器への本当のキャリー入
力は
【数1】tcinl = coutz0 = 1 tcin2 = coutzl or (coutpl and coutz0) = 0 or (1 an
d 1) = 1 tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0)0or (1 and 0) or (1 and 1 and
1) = 1 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 a
nd coutp2 and coutzl)or (coutp3 and coutp2 and cou
tpl and coutz0)0 or (1 and 0) or (1 and 1 and 0) o
r (1 and 1 and 1 and 1) = 1 となり、最下位より1byte 目の8bit演算器の出力sumz1
とsump1 では、tcin1 =1 であるため、sump1 を最終出
力として選択する。同様に本例ではsump2 ,sump3 が選
択され、結果として32bit 出力は0x00000000となる。
【0030】ここで、入カデータは同じで、16bit の2
並列演算を行う場合を考える。同様に、制御信号生成回
路からの各制御信号は 信号 z3 p3 z2 p2 zl pl z0 16bit 加算 0 1 0 0 0 1 0 であり、各演算器の出力は sumz3 = 0xFF coutz3 = 0 sump3 = 0x00 coutp3 = l sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 sumpl = 0x00 coutpl = l sumz0 = 0x00 coutz0 = l となる。そのため、各8bit演算器への本当のキャリー入
力は
【数2】tcinl = coutz0 = l tcin2 = coutzl or (coutpl and coutz0) = 0 or (l an
d l) = l tcin3 = coutz2 or (coutp2 and coutzl) or (coutp2 a
nd coutpl and coutz0)0 or (l and 0) or (0 and l an
d l) = 0 ovfl = coutz3 or (coutp3 and coutz2) or (coutp3 an
d coutp2 and coutzl)or (coutp3 and coutp2 and cout
pl and coutz0)0 or (l and 0) or (0 and l and 0) or
(l and 0 and l and l) = 0 となり、最下位より1byte 目の8bit演算器の出力sumz1
とsump1 では、32bit 演算時と同様tcin1 =1 であるた
め、sump1 を最終出力として選択する。最下位から2byt
e 目はtcin2=1 であるためsump2 が選択されるが、制御
信号によりsumz2,sump2 共に下位からのキャリーが無
かった場合の演算結果を出力しており、sump2 が選択さ
れても下位からのキャリーが無い場合のデータが出力さ
れる。最上位の8bit演算器では、下位16bit からのキャ
リーが下位より2バイト目の演算でキャリー伝搬するか
どうかをしめすcoutp2が0 であるため、最上位までキャ
リー伝搬せず、tcin3=0 となり、sumz3 が選択され、結
果として32bit 出力は0xFFFF0000となる。
【0031】8bit演算4並列の場合では 信号 z3 p3 z2 p2 zl pl z0 8 bit 加算 0 0 0 0 0 0 0 であり、各演算器の出力は sumz3 = 0xFF coutz3 = 0 sump3 = 0xFF coutp3 = 0 sumz2 = 0xFF coutz2 = 0 sump2 = 0xFF coutp2 = 0 sumzl = 0xFF coutzl = 0 8umpl = 0xFF coutpl = 0 sumz0 = 0x0O coutz0 = 1 となる。そのため、各8bit演算器への本当のキャリー入
力は tcinl = 1 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sump1 が選択され、出力結果
は0xFFFFFF00となる。
【0032】次に減算の実行例を示す。
【0033】A=0x22222222 B =0xccccccccの場合、
32bit 減算では、 信号 z3 p3 z2 p2 zl pl z0 32bit 減算 0 1 0 1 0 1 1 であり、各演算器の出力は sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x55 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択され、出力結果
は0x55555556となる。
【0034】16bit2並列減算では、 信号 z3 p3 z2 p2 zl pl z0 16bit 減算 0 1 1 1 0 1 1 であり、各演算器の出力は sumz3 = 0x55 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x55 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択されるが、制御
信号により、sumz2 はsump2 と同じ値を出力し、出力結
果は0x55565556となる。
【0035】8bit4 並列減算では、 信号 z3 p3 z2 p2 zl pl z0 8 bit 減算 1 1 1 1 1 1 1 であり、各演算器の出力は sumz3 = 0x56 coutz3 = 0 sump3 = 0x56 coutp3 = 0 sumz2 = 0x56 coutz2 = 0 sump2 = 0x56 coutp2 = 0 sumzl = 0x56 coutzl = 0 sumpl = 0x56 coutpl = 0 sumz0 = 0x56 coutz0 = 0 となる。各8bit演算器への本当のキャリー入力は tcinl = 0 tcin2 = 0 tcin3 = 0 となり、sumz3 ,sumz2 ,sumz1 が選択され、出力結果
は0x56565656となる。
【0036】同回路は各演算器のbit 反転を各演算器毎
に制御し、制御信号生成回路を対応させれば、加算と減
算を並列に行う事もできる。例えば16bit 2並列加減算
で上位16bit が減算、下位16bit が加算の場合、各演算
器に入力する加減算制御信号sub を、上位よりsub3,su
b2,sub1,sub0とした場合、 sub3 = 1 sub2 = 1 subl = 0 sub0 = 0 各制御信号は 信号 z3 p3 z2 p2 zl pl z0 16bit 加減算 0 1 1 1 0 1 0 の制御で行う事が出来る。
【0037】以上の例に加え、制御信号生成回路を応用
すれば、分割数を変える事も可能となる。例えば、上位
8ビットの加算と下位24ビットの加算実現するために
は、次の様に制御信号を出力する。
【0038】制御信号は、 また別な例として、上位24ビットを加算し、下位8ビ
ットを減算する場合は次の様に制御信号を出力する。
【0039】制御信号は、 また、第1の実施の形態で説明したような、分割したい
部分のキャリーパスが明らかに見えるタイプのキャリー
生成回路では、従来例のように、キャリーパスに制御回
路を埋め込めば分割制御は実現できるが、例えばDEC
のALPHAチップに使われている加算器で採用されて
いるキャリーアレイのようなキャリー生成回路では、分
割制御回路を入れるのは非常に困難であり、こちらの場
合、特に回路規模の増大、速度の低下が顕著に現れる。
【0040】それに対し、本説明でも分かる通り、本発
明の回路に置いては、最小演算単位より上位のキャリー
生成回路は、上記キャリーアレイ方式も含め、従来の加
算器のものと一緒であっても全く問題無く分割並列演算
を実現することができる。
【0041】本発明によれば、演算制御信号を最小演算
単位の演算器に入力する必要が有る。演算器の設計にも
寄るが、同演算制御信号は、できれば被演算データが演
算器に入力されるのと同時もしくはその前に確定してい
る方が、演算器の設計がしやすい。幸いにも、現在のプ
ロセッサでは、命令が確定してから、実際の被演算デー
タが演算器に到達するまでは時間が有る。たとえばRISC
プロセッサでは、命令メモリから読み出された命令か
ら、レジスタファイル内のデータを読みだし、演算器に
被演算データとしてデータを転送する。そのため、命令
が読み出されてから、演算器にデータが到達するまでは
時間が有り、本特許の演算制御信号生成回路が信号を生
成するための時間は十分有ると考えられ、同信号の生成
時間は回路全体のクリティカルパスにはほぼなりえな
い。このため、大体の実施ケースにおいては、演算制御
信号は、被演算データが演算器に到達する前に確定して
いるものと考える事が出来る。
【0042】この場合、演算制御信号を最小演算単位の
各演算器に入力するための回路遅延を隠蔽できる。図5
に本発明の第3の実施の形態を示す。この実施の形態
は、第4の実施の形態の演算制御信号生成回路23と並
列に、加算/減算を示す信号を受け取る反転回路31が
設けられている。
【0043】通常加減算回路では、第2の実施の形態で
も述べた通り、減算のために、bitの反転回路が設けて
ある。具体的には通常排他的論理和ゲートが1段あり、
減算命令である事を示す減算信号と減数を入力し、減算
である場合は、排他的論理和により、減数のbit 反転を
出力する。加減算結果およびキャリーは、被加減数と、
排他的論理和を通過した後の加減数から生成される。そ
のため、被加減算数は加減算数が排他的論理和を通過す
る間に時間の余裕が有る。
【0044】一方本特許で述べている演算制御信号は、
いわば最下位bit に入力されるキャリーと同等である。
そのため、被加減算数、加減算数、入カキャリーから求
められる演算結果は、 被加減算数 xor bit反転後の加減算数 xor 入カキャリー = 被加減算数 xor( 加減算数 xor 減算信号) xor 入カキャリー = 被加減算数 xor 入カキャリー xor (加減算数 xor 減算信号) =( 被加減算数 xor入カキャリー) xor ( 加減算数 xor 減算信号) となり、加減算数が減算信号との排他的論理和を取るの
と並列に、被加減算数と入カキャリーとの排他的論理和
がとれることを意味する。
【0045】このため、演算制御信号が付加される事に
よる遅延は、全く隠蔽出来る事になり、第3の実施の形
態を第2の実施の形態の回路に適用した場合、32bit 加
減算回路と、ほぼ同速度でかつ様々なタイプの分割演算
機能を持った、並列加減算回路が実現できる。
【0046】
【発明の効果】従って,本発明による加減算回路では、
上位の演算回路に対して,下位からのキャリーとして全
て0を与えることにより、1対の演算回路が同一の演算
を行うので、高速のキャリーセレクト型加減算回路が実
現される。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態による並列加算回路
を示す。
【図2】本発明の第2の実施の形態による並列加算回路
を示す。
【図3】本発明の並列加算回路で用いられるキャリー生
成回路の例を示す。
【図4】本発明の並列加算回路で用いられるキャリー生
成回路の別の例を示す。
【図5】本発明の第3の実施の形態による並列加算回路
を示す。
【図6】従来技術の並列加算回路を示す。
【符号の説明】
11 加算回路 13、15 ビット加算回路 13、15 加算回路 19 セレクタ 23 演算制御信号生成回路 24 キャリー生成回路 25、26 加減算器 29 選択回路 111 キャリー制御回路 111 加算回路 113、115 ビット加算回路 113、115 加算回路 119 セレクタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−167126(JP,A) 特開 平2−300929(JP,A) 特開 昭52−91624(JP,A) 特開 平2−299022(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/50 G06F 7/52

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 上位の一対の単位加算回路で、下位から
    のキャリーが有った場合と無かった場合の2通りの加算
    結果を予め生成し、実際の下位からのキャリーによって
    前記2通り加算結果のうち一方を選択するキャリー選択
    型加算回路において、前記一対の単位加算回路の双方
    で、下位からのキャリーが無かった場合の加算結果を生
    成し、実際の下位からのキャリーによりどちらが選択さ
    れても上位にキャリーが無かった場合の加算結果を出力
    する事で、加算処理を分割し、同時に複数の加算が可能
    となることを特徴とする並列加減算回路。
  2. 【請求項2】 請求項1において、2通りの加算結果を
    予め生成する単位加算回路対の数が2以上であり、加算
    処理のデータ分割数が3以上であることを特徴とする並
    列加減算回路。
  3. 【請求項3】 請求項2において、各々の加算結果を生
    成する単位毎に、下位からのキャリーが有った場合と無
    かった場合の加算結果を生成するか、双方下位からのキ
    ャリーが無かった場合の加算結果を生成するかを調節す
    る事で、機能上の加算のデータ分割単位が不均等な分割
    加算の実行を可能とする事を特徴とする並列加減算回
    路。
  4. 【請求項4】 上位の一対の単位減算回路で、下位から
    のキャリーが有った場合と無かった場合の2通りの減算
    結果を予め生成し、実際の下位からのキャリーによって
    前記2通り減算結果のうち一方を選択するキャリー選択
    型減算回路において、前記一対の単位減算回路の双方
    で、同単位減算回路が担当する被演算データが最下位で
    あった場合の減算結果を生成し、実際の下位からのキャ
    リーによりどちらが選択されても被演算データが最下位
    であった場合の減算結果出力する事で、減算処理を分割
    し、同時に複数の減算が可能となることを特徴とする並
    列加減算回路。
  5. 【請求項5】 請求項4において、2通りの減算結果を
    予め生成する単位減算回路対の数が2以上であり、減算
    処理のデータ分割数が3以上であることを特徴とする並
    列加減算回路。
  6. 【請求項6】 請求項5において、各々の減算結果を生
    成する単位毎に、下位からのキャリーが有った場合と無
    かった場合の減算結果を生成するか、双方向単位減算回
    路が担当する被演算データが最下位であった場合の減算
    結果を生成するかを調節する事で、機能上の減算のデー
    タ分割単位が不均等な分割減算の実行を可能とする事を
    特徴とする並列加減算回路。
  7. 【請求項7】 上位の一対の単位加減算回路で、下位か
    らのキャリーが有った場合と無かった場合の2通りの加
    減算結果を予め生成し、実際の下位からのキャリーによ
    って前記2通り加減算結果のうち一方を選択するキャリ
    ー選択型加減算回路において、前記一対の単位加減算回
    路の双方で、同単位加減算回路が担当する被演算データ
    が最下位であった場合の加減算結果を生成し、実際の下
    位からのキャリーによりどちらが選択されても被演算デ
    ータが最下位であった場合の加減算結果出力する事で、
    加減算処理を分割し、同時に複数の加減算が可能となる
    ことを特徴とする並列加減算回路。
  8. 【請求項8】 請求項7において、2通りの加減算結果
    を予め生成する単位加減算回路対の数が2以上であり、
    加減算処理のデータ分割数が3以上であることを特徴と
    する並列加減算回路。
  9. 【請求項9】 請求項8において、各々の加減算結果を
    生成する単位毎に、下位からのキャリーが有った場合と
    無かった場合の加減算結果を生成するか、双方向単位加
    減算回路が担当する被演算データが最下位であった場合
    の加減算結果を生成するかを調節する事で、機能上の加
    減算のデータ分割単位が不均等な分割加減算の実行を可
    能とする事を特徴とする並列加減算回路。
  10. 【請求項10】 請求項7において、単位加減算回路お
    よび最下位加減算回路の演算機能を独立に調整する事
    で、加算と減算を混同した同時並列加減算を可能とする
    事を特徴とする並列加減算回路。
  11. 【請求項11】 請求項8において、単位加減算回路お
    よび最下位加減算回路の演算機能を独立に調整する事
    で、上記加算と減算を混同した同時並列加減算を可能と
    する事を特徴とする並列加減算回路。
  12. 【請求項12】 請求項9において、単位加減算回路お
    よび最下位加減算回路の演算機能を独立に調整する事
    で、上記加算と減算を混同した同時並列加減算を可能と
    する事を特徴とする並列加減算回路。
JP28396997A 1997-10-15 1997-10-16 並列加減算回路 Expired - Fee Related JP3462054B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP28396997A JP3462054B2 (ja) 1997-10-16 1997-10-16 並列加減算回路
US09/172,772 US6260055B1 (en) 1997-10-15 1998-10-15 Data split parallel shifter and parallel adder/subtractor
US09/774,713 US6411980B2 (en) 1997-10-15 2001-02-01 Data split parallel shifter and parallel adder/subtractor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28396997A JP3462054B2 (ja) 1997-10-16 1997-10-16 並列加減算回路

Publications (2)

Publication Number Publication Date
JPH11119979A JPH11119979A (ja) 1999-04-30
JP3462054B2 true JP3462054B2 (ja) 2003-11-05

Family

ID=17672586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28396997A Expired - Fee Related JP3462054B2 (ja) 1997-10-15 1997-10-16 並列加減算回路

Country Status (1)

Country Link
JP (1) JP3462054B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215067A (ja) * 2006-02-13 2007-08-23 Sony Corp 復調装置および方法、並びにプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725519B2 (en) * 2005-10-05 2010-05-25 Qualcom Incorporated Floating-point processor with selectable subprecision
JP2007172528A (ja) * 2005-12-26 2007-07-05 Mitsubishi Electric Corp 信号処理プロセッサ及びこれを用いた撮像装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007215067A (ja) * 2006-02-13 2007-08-23 Sony Corp 復調装置および方法、並びにプログラム
US7852241B2 (en) 2006-02-13 2010-12-14 Sony Corporation Demodulating apparatus, demodulating method, and computer-readable medium

Also Published As

Publication number Publication date
JPH11119979A (ja) 1999-04-30

Similar Documents

Publication Publication Date Title
US6099158A (en) Apparatus and methods for execution of computer instructions
US6292886B1 (en) Scalar hardware for performing SIMD operations
JP4938844B2 (ja) 非正規化オペランドのためのモードベース乗算−加算プロセッサ
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US5299319A (en) High performance interlock collapsing SCISM ALU apparatus
JP3583474B2 (ja) 乗算装置
JPH06236257A (ja) データ・プロセッサにおいて浮動小数点実行ユニット内で後正規化を実行する方法および装置
JP2683488B2 (ja) 3−1論理演算装置
US5583806A (en) Optimized binary adder for concurrently generating effective and intermediate addresses
US9317478B2 (en) Dual-path fused floating-point add-subtract
JPH09212337A (ja) 浮動小数点演算処理装置
Boersma et al. The POWER7 binary floating-point unit
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
JP3462054B2 (ja) 並列加減算回路
KR100317767B1 (ko) 부동 소수점 2진 4 워드 포맷 승산 명령 유닛
Chong et al. Flexible multi-mode embedded floating-point unit for field programmable gate arrays
US6065034A (en) Circuit and method employing an adder for sign extending operands
US20030233384A1 (en) Arithmetic apparatus for performing high speed multiplication and addition operations
JPH01232423A (ja) 演算回路
JP3187402B2 (ja) 浮動小数点データ加減算回路
JPS6149234A (ja) 浮動小数点乗算回路
Chawla et al. Hardware efficient reconfigurable arithmetic unit
WO1998006029A1 (en) Apparatus and methods for execution of computer instructions
JPH1069372A (ja) 演算実行方法及び演算装置
JPS62159224A (ja) 浮動小数点演算回路

Legal Events

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

Free format text: PAYMENT UNTIL: 20070815

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080815

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090815

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100815

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees