JPH061434B2 - 演算処理装置 - Google Patents

演算処理装置

Info

Publication number
JPH061434B2
JPH061434B2 JP61152452A JP15245286A JPH061434B2 JP H061434 B2 JPH061434 B2 JP H061434B2 JP 61152452 A JP61152452 A JP 61152452A JP 15245286 A JP15245286 A JP 15245286A JP H061434 B2 JPH061434 B2 JP H061434B2
Authority
JP
Japan
Prior art keywords
digit
quotient
circuit
sign
determining means
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 - Lifetime
Application number
JP61152452A
Other languages
English (en)
Other versions
JPS638825A (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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP61152452A priority Critical patent/JPH061434B2/ja
Priority to US07/066,817 priority patent/US4873660A/en
Publication of JPS638825A publication Critical patent/JPS638825A/ja
Priority to US03/239,243 priority patent/US5031136A/en
Priority to US07/599,275 priority patent/US5153847A/en
Publication of JPH061434B2 publication Critical patent/JPH061434B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、高速算術演算回路に係り、特にセル配列構造
を持ち、除算器の高速化およびLSI化に好適な演算処
理装置に関する。
従来の技術 従来、高速除算器については、電子通信学会論文誌、V
ol.J67−D,No.4(1984年)第450頁か
ら第457頁において論じられているように各桁を{−
1,0,1}の要素で表す冗長2進表現を利用した減算
シフト型除算法に基く除算器をECL(Emitter-Couple
d-Logic)の4入力NOR/OR素子を用いた組合せ回
路として実現している。この除算回路は、計算時間や規
則正しい配列構造の点で他の除算器より優れているが、
素子数や面積の削減、他回路系(例えば、CMOS)で
の実現等の実用化の点については配慮されていなかっ
た。
また、従来実用化されている除算器は、減算器(加算
器)とシフタからなる順序回路として実現され、広く用
いられている。しかし、これらは演算数の桁数が大きく
なると、膨大な計算時間を要することがよく知られてい
る。一方、高速乗算器をもつ大型計算機などでは、乗算
の繰返しにより除算を行う乗算型除算法がよく用いられ
ている。しかし、この乗算型除算法を組合せ回路として
実現するには膨大なハードウェアが必要となり、実用化
は難しい。
発明が解決しようとする問題点 上記従来技術では、高速除算器に関し、NORとORが
同時にとれるECL論理素子の特徴を活かして減算シフ
ト型除算器を組合せ回路として実現する方法が提案され
ているが、素子数の削減、MOS回路等による実現等の
実用化の点についてはあまり配慮されておらず、 (1)演算数の桁数が大きくなると素子数が膨大となり、
1つのVLSIチップで実現することが難しい。
(2)NORとORを同時にとることができないMOS回
路等で実現する場合、ORをNORとインバータの2段
の素子で構成する必要があり、その分除算回路の段数が
多くなるため、高速性が低下する。
等の問題があつた。
本発明の目的は、このような従来の問題点を改善し、除
算器を配列構造で、かつ素子数の少ない組合せ回路とし
て実現し、桁上げ値の伝播を最小にすると共に回路構成
を簡単化することによつてLSIに実装が容易である高
速な除算回路を提供することにある。
問題点を解決するための手段 上記目的は、除算における商の1桁を決定する商決定手
段と、前記商決定手段によって求められた商に対する剰
余を求め、符号付ディジット表現の部分剰余として出力
する部分剰余決定手段とを備えた演算処理装置におい
て、前記部分剰余決定手段が、符号付ディジット表現の
部分剰余の角桁毎に、(a)符号付ディジット数の加算
(減算)における中間桁上げ(中間桁借り)を決定する
中間桁上げ(中間桁借り)決定手段と、(b)前記加算
(減算)における中間和(中間差)を決定する中間和
(中間差)決定手段と、(c)前記中間和(中間差)決
定手段で求めた中間和(中間差)と一桁下位桁に設けら
れた前記中間桁上げ(中間桁借り)決定手段で求めた下
位桁からの中間桁上げ(中間桁借り)とから加算(減
算)の結果を決定し、符号付ディジット数として出力す
る最終和(最終差)決定手段と、(d)制御信号と符号
付ディジット数または2進数とを入力して、その制御信
号の値によりその符号付ディジット数または2進数の符
号を反転する符号反転手段としを有し、前記中間桁上げ
(中間桁借り)決定手段および前記中間和(中間差)決
定手段が共に前記符号反転手段の出力を少なくとも一つ
の共通の入力とすることによって達成される。
さらに、前記部分剰余決定手段が、(e)制御信号と除
数を入力して、その制御信号の値によりその除数を定数
に入れ替えて出力する定数設定手段を有し、中間桁上げ
(中間桁借り)決定手段および中間和(中間差)決定手
段が共に定数設定手段の出力を少なくとも一つの共通の
入力とすることによって達成される。
作用 減算シフト型除算法は一般に次の漸化式で表わされる。
(j+1)=r+R(j)-qj×D ここで、jは漸化式の指数、rは基数、Dは除数、qj
は商の小数点以下j桁目、R(j)はqjを決定する前の部
分被除数、R(j+1)はqjを決定した後の部分剰余であ
る。したがって、漸化式の各指数j毎に、商qjを決定
する商決定用セルとqjの値に従ってr×R(j)からDを
減じたり、減じなかったりする部分剰余決定回路を設
け、組合せ回路として実現できる。さらに、内部演算に
おいて、各桁を0、正整数またはその正整数に対応する
負整数のいずれかの要素で表す符号付ディジット(拡張
SD(Signed Digit))表現を用いて内部演算数を表
す。つまり、各桁を{−0,0,1},{−2,−1,
0,1,2}あるいは{−N,…,−1,0,1,…,
N}等のいずれかの要素で表し、1つの数をいくとおり
かに表せるように冗長性をもたせる。それによって、減
(加)算において桁借り(桁上げ)の伝搬を防止するこ
とができ、組合せ回路による並列減(加)算が演算数の
桁数に関係なく一定時間で行える。例えば、各桁を{−
1,0,1}の要素で表す拡張SD表現では、加(減)
算において桁上げ(桁借り)が高々1桁しか伝搬しない
ようにすることができる。このことに関しては、電子通
信学会論文誌、Vol,J67−D,No.4(1984
年)第450頁から第457などに説明がある。
上記のような内部演算に拡張SD表現を用いることによ
つて高速な除算器の実現が可能である。そのとき、例え
ば、基数2の拡張SD表現を用いて、整数部1ビット、
小数部nビットの符号なし2進数Xを、 X=〔x0.x1…xnSD2 で表現すると、 という値を表わす。ただし、各桁xiは{−1,0,
1}の要素である。この場合、上記漸化式において、除
数Dおよび各部分剰余R(j)を基数2の拡張SD表現で
表わすと、qjの値に応じて、qj=−1のときはR(j)
を左へ1桁シフトした後、Dを加算し、qj=0のとき
はR(j)を左で1桁だけシフトし、qj=1のときはR
(j)を左へ1桁シフトした後、Dを減算する必要があ
る。
本発明では、特に、商の小数点以下j桁目qjの値に応
じて、拡張SD表現の内部演算数の正負の反転をする手
段(回路)および内部演算数に0を割り当てる手段によ
り、qjを決定した後の部分剰余R(j+1)は、 R(j+1)=P(j)(P(j)(r×R(j))+D(j)) のように拡張SD表現の加算のみで決定することができ
る。ここで、P(j)は正負の反転を行う関数であり、D
(j),P(j)には幾種かのとり方がある。
以下にその例を示す。
ただし、,は、それぞれ拡張SD表現数D,Xの正
負の反転を行った数である。この拡張SD表現における
正負の反転は各桁でその桁が1ならば−1に、−1なら
ば1にし、0はそのままにする。しかし、のように、
Dが各桁が非負の拡張SD表現の場合には2の補数表示
によつて正負の反転を行うことが可能である。
したがって、上記(II)の場合にはD(j)は各桁が常に非
負であり、また(I)の場合にはを2の補数表示するこ
とにより、先頭桁を除いた大部分の桁を非負にすること
が可能であるので、部分剰余の決定に一方(加算数)が
非負である1桁の拡張SD表現における冗長加算回路
(セル)の列を用い、これによって各j毎に部分剰余決
定回路を構成する。それによつて各々の冗長加算回路
(セル)の素子数を少なくでき、かつ、これらの回路
(セル)の規則正しい配列として高速除算回路を構成で
きるので、高速除算器のVLSI化が実現できる。
実施例 以下、本発明の一実施例を図面により説明する。第1図
は、本発明の一実施例の構成を示すブロツク図である。
特に、本実施例では、n桁の符号なしr進小数の除算器
について説明する。なお、第1図は、n=8,r=2の
場合のブロツク図である。図中、被除数20は、小数点
以下第1桁,第2桁,…,第n桁の値x1,x2,…,x
nにそれぞれ対応する信号の形で初期部分剰余決定回路
100に入力される。除数40も、同様に小数点以下第
1桁、第2桁…、第n桁の値y1,y2,…,ynを表わ
す信号の形で初期部分剰余決定回路100および部分剰
余決定回路101,102,103,104,105,
…に入力される。商60は、整数第1桁z0、小数点以
下第1桁z1,小数点以下第2桁z2,…,小数点以下第
n桁znのr進数としてr進への変換回路10より出力
される。初期部分剰余決定回路100は、被除数〔0.
12…xnr20および除数〔0.y12…ynr
0を入力として、商の整数第1桁を決定した後の部分剰
余あるいは部分剰余の符号を反転したものを出力する回
路である。特に、被除数および除数を正規化している
と、x1=y1=1となり、q0=1と簡単に求まる。た
だし、q0はr進数への変換回路10の入力となる基数
rのSD表現数における商[q0.q1.q2……qn
SDrの整数第1桁である。以下、被除数および除数の正
規化されたものに対して説明する。
また、部分剰余決定回路101.102,103,10
4,105…は、それぞれ図中の上段の部分剰余決定回
路(あるいは初期部分剰余決定回路100)の出力およ
び除数40およびそれぞれ同じ段に対応する商決定用セ
ル201,202,203,204,205…の出力で
ある制御信号251,252,253,254,255
…を入力として、次段(つまり下段)の部分剰余決定回
路への入力となる部分剰余あるいは部分剰余の符号の反
転したものを出力する回路である。
商決定用セル201,202,203,204,205
…は、それぞれ上段(例えば、j−1段)の部分剰余決
定回路の出力である部分剰余あるいは部分剰余の符号の
反転したものの上位3桁および上段(つまり、j−1
段)の商決定用セルで既に決定された拡張SD表現で表
わされた商の小数点以下第j−1桁目の値を入力とし、
商の小数点以下第j桁目の値および、それぞれ同段(つ
まり、j段)の部分剰余決定回路に対する制御信号25
1,252,253,254,255…を出力する回路
である。
r進への変換回路10は、商決定用セル201,20
2,203,204,205…において、それぞれ決定
された拡張SD表現で表わされた商の各桁を入力とし、
各桁が非負の通常のr進数の商〔z0.z12…znr
60を出力する回路である。
次に、これらのブロツクを用いた除算法について、前記
のR(j+1)の決定法2ケースに対して数式を用いて簡単
に説明する。
(I)加数(つまり除数)の反転の場合: まず、初期部分剰余決定回路100いおいて、 R(1)=〔0.x12…xnSD2−〔〔0,y12…ynSD2 の計算を行い、部分剰余R(1)を決定する。ただし、上
式は冗長2進(つまり、基数2の拡張SD)で計数を行
い、R(1)は冗長2進数である。また、x1=1,y1
1であるので商の整数第1桁はq0=1となる。さらに
1,x2,……xn,y1,y2,……ynは非負であるか
ら、初期部分剰余決定回路100は、各桁が非負の冗長
2進数同士の減算回路あるいは通常の減算回路で容易に
実現できる。また上記部分剰余R(1)の決定式は、 R(1)=〔0.x12…xnSD2+〔0.▲1▼▲2▼…▲n▼〕SD2 のように各桁が非負の冗長2進数と冗長2進数の加算と
することが可能である。ただし▲1▼はyiの正負の反
転を意味する。つまり、y1=1のとき▲ ̄O▼i=−
1,▲ ̄O▼i=0のときyi=0となる。ここで、i
は1からnまでの整数である。したがって、初期部分剰
余決定回路100は冗長2進数と各桁が非負の冗長2進
数の加算回路としても実現できる。
次に、今、部分剰余R(j)=〔r0 j、r1 j2 j…rn j
SD2および商の小数点以下第j−1桁qj-1が既に決定さ
れており、商の小数点以下第j桁qjおよび部分剰余R
(j+1)の決定について説明する。ただし、jは1からn
までの整数とする。商の小数点以下第j桁qjは部分剰
余R(j)の上位3桁〔r0 j.r1 j2 jSD2の値によって
決定できる。つまり、R(j)の上位3桁の値が正ならqj
=1,0ならqj=0、負ならqj=−1と決定する。こ
の商の小数点以下第j桁qjの決定を、商決定用セル2
01,202,203,204,205,…のうちの上
位からj段目のセルで行う。
また、部分剰余決定回路101,102,103,10
4,105,…のうちの上位からj段目の回路におい
て、 (i)qj=−1のとき、 R(j+1)=〔r0 j1 j.r2 j…rn j0〕SD2 +〔0、y12…ynSD2 (ii)qj=1のとき、 R(j+1)=〔v0 j1 j.r2 j…rn j1〕SD2 +〔0.u12…unSD2 ただし、i=1,…,nに対して、ui=1−yiであ
り、v0 jおよびv1 jの値はr1 j=1のとき vj 0=r0 j,v1 j=0,r1 j=0のときv0 j=v0 j,v
1=−1,v1 j=−1のときv0=0,v0=0である。
ここで、D=〔0.y12…ynSD2の正負の反転は
2の補数表示によつて、 =〔(-1).00…1〕SD2+〔0,u12…unSD2 と表わせることを利用している。
(iii)qj=0のとき R(j+1)=〔r0 j1 j.r2 j…rn j0〕SD2 +〔0.00…0〕SD2 の計算を行い、部分剰余R(j+1)を決定する。上記(i),
(ii),(iii)の部分剰余R(j+1)の決定式において、いず
れの場合にも第2項は各桁が非負であるので、部分剰余
決定回路101,102,103,104,105,…
は、冗長2進数と各桁が非負の冗長2進数の加算回路お
よび加算数を決定する回路などによって実現できる。
この場合、制御信号251,252,253,254,
255,…はそれぞれ対応する段のqjである。
最後に、j=1からnまで上記のように商の各桁qj
決定し、商Q=〔q0・q12…qnSD2が求まると、
r進への変換回路10によって拡張SD表現された商Q
を通常のr(つまり2)進表現z=〔z0・z12
nr60に変換する。r進への変換回路10は、冗長
2進表現の商Qで1になっている桁だけを1にした符号
なし2進数Q+から、商Qで−1になっている桁だけを
1にした符号なし2進数Q-の通常の減算Q+−Q-を行
い、順次桁上げ加算回路あるいは桁上げ先見加算回路な
どによって実現できる。
(II)被加数(つまり部分剰余)の反転の場合: 今、部分剰余R(j)の代りに部分剰余R(j)と符号だけ異
なる値A(j)を考える。以下、この値も部分剰余と呼
ぶ。A(j+1)は、 A(j+1)=P(j)(r×R(j))+D(j) と定義する。ただし、P(j)は前記qjの値に応じて正負
の反転を行う関数である。
まず、初期部分剰余決定回路100において、 A(1)=〔0.x12…xnSD2+〔0.y12…yn
SD2 の計算を行い、部分剰余A(1)を決定する。ただし、i
=1,…,nに対して、x1はx1の符号に反転した数で
ある。さらに、i=1,…,nに対して、yiは常に非
負であるので、初期部分剰余回路100は冗長2進数と
各桁が非負の冗長2進数の加算回路により実現できる。
また(I)の場合と同様に、各桁が非負の冗長2進数同士
の減算回路を用いても実現できる。なお、冗長2進表現
の商の整数第1桁は、(I)の場合と同じく、q0=1であ
る。
次に、部分剰余A(j)=〔a0.a12…anSD2および
商の小数点以下第j−1桁qj-1が既に決定されている
場合の小数点以下第j桁qjおよび部分剰余A(j+1)の決
定について説明する。
商の小数点以下第j桁qjは、j段目の商決定用セル2
01,202,203,204,205,…において、
部分剰余A(j)の上位3桁 〔a0 j.a1 j2 jSD2の値および商の小数点以下第j
−1桁qj-1によって決定される。つまり、A(j)の上位
3桁の値が正ならqj=sign(−qj-1),0ならqj
0,負ならqj=-sign(−qj-1)と決定する。たたしs
ign(−qj-1)は、 と定義する。
また、部分剰余決定回路101,102,103,10
4,105,…のうちj段目の回路において、 A(j+1)=P(j)(2×P(j-1)(A(j)))+D(j) の計算を行い、部分剰余A(j+1)を決定する。ただし、
上式の第1項は、 (i)sign(−qj-1)×sign(−qj)=1のとき、 P(j)(2×P(j-1)(A(j)))=〔a0 j1 j.a2 j
n j0〕SD2 (ii)sign(−qj-1)×sign(−qj)=−1のとき、 (j)(2×P(j-1)(A(j)))=〔0 j1 j 2 j
n j SD2 であり、第2項は、 (i)qj≠0のとき、 D(j)=〔0.y12…ynSD2 (ii)qj=0のとき、 D(j)=〔0.00…0〕SD2 であり、各桁が非負の冗長2進数である。したがって部
分剰余決定回路101,102,103,104,10
5,…は、冗長2進数と各桁が非負の冗長2進数の加算
回路、冗長2進数の反転回路および加算数を決定する回
路によって実現できる。この場合、部分剰余決定回路へ
の各制御信号251,252,243,254,25
5,…は、それぞれ商の対応する桁qjの大きさ、およ
び−qjと−qj-1の符号の相違の有無から構成される。
最後に、商の冗長2進表現Q=〔q0.q12…qn
SD2から通常の2進表現z=〔z0.z12…zn2への
変換を、r進への変換回路10において、(I)の場合と
同様にして行う。
以上が第1図に示した除算器を構成する個々のブロック
を用いた除算法の説明であるが、(I)の場合には、第1
図における各商決定用セル202,203,204,2
05,206,…への上位の商決定用セルからの入力信
号線271,272,273,274,…は、未使用で
あるでの、省略してもよい。
次に、部分剰余決定回路101,102,103,10
4,105,…について説明する。
第2図は、第1図における各部分剰余決定回路101,
102,103,104,105,…の一構成例を示し
たブロック図である。部分剰余決定回路300(10
1,102,…)は、n+1個の冗長加算用セル31
0,311,312,313,…,329,330のア
レイである。今、仮に部分剰余決定回路300が第1図
におけるj段目の部分剰余決定回路とすると、被加算数
に対応する入力340,341,342,343,…,
359は、それぞれ前段(つまり、j−1段)で決定さ
れた部分剰余の各桁r1 j,r2 j,…,rn j,あるいは、
1 j,a2 j,…,an jの値を表わす。加算数に対応する
入力361,362,363,…,379,380は、
それぞれ除数の各桁y1,y2,…,ynを表す。制御信
号390は、第1図における制御信号251,252,
…のいずれかであり、同じ段(つまりj段)の商決定用
セルにおいて、商の既に決定された桁qjあるいはqj-1
から決まる信号である。下位の冗長加算用セルから上位
の冗長加算用セルの入力441,442,443,…,
450は、それぞれ下位桁からの中間桁上げ表す。ま
た、各冗長加算セル310,311,312,…,33
0の出力410,411,412,…,430は、それ
ぞれ部分剰余の各桁rj+1 0,rj+1 1,rj+1 2,…,r
j+1 n,あるいは、aj+1 0,aj+1 1,aj+1 2,…,aj+1 n
の値を表す。なお、r=2、つまり2進表現の場合、除
数の小数点以下第1桁は、y1=1と固定しているか
ら、入力361を省略してよい。また、(II)の場合に
は、最終桁の桁上げ450を省略することも可能であ
る。
冗長加算用セル310,311,312,313,…,
329,330は、部分剰余R(j+1)あるいはA(j+1)
整数第1桁、小数点以下第1桁、小数点以下第2桁,
…,小数点以下第n桁をそれぞれ決定するセルである。
これらの冗長加算用セルのうち、素子数削減のため、小
数点以下第2桁から小数点以下第n−1桁の冗長加算用
セル312,313,…,329を基本セルで構成し、
上記2桁の冗長加算用セル310,311および最下位
桁(つまり、小数点以下第n桁)の冗長加算用セル33
0を例外的なセルとしてもよい。また、上位2桁の冗長
加算用セル310,311を同段(つまり、j段)の商
決定用セルをまとめて1つのセルとすることも可能であ
り、あるいは、j段の最下位桁の冗長加算用セル330
とj+1段の小数点以下第n−1桁の冗長加算用セル3
29を1つのセルにまとめて、素子数を削減することも
可能である。また、n/2<j≦n-1の範囲の整数jに対し
て、j段目の部分剰余決定回路において、小数点以下第
2×(n-j+1)桁以降の冗長加算用セルを省略してもよ
い。第1図は、特に、この部分を省略した例を示してい
る。
次に、前記(I)と(II)のそれぞれの場合について冗長加
算用セルにおける基本セルの説明を行う。
第3図は、(I)、つまり加算数の反転の場合の第2図に
おける各冗長加算用セル312,313,…,329を
構成する基本セルの一構成例を示すブロック図である。
基本セル470(312,313,…,)は、加算数決
定回路472、中間和決定回路473、中間桁上げ決定
回路474、および最終和決定回路475から構成され
る。また、入力481は、部分剰余R(j)の小数点以下
第i+1桁rj i+1の値を表す信号であり、rj i+1は冗長
2進であるので2ビットの信号が必要である。入力48
2は、除数の小数点以下第i桁の値yiを表す信号di
あり、diは2進数であるので1ビットの信号でよい。
また、制御信号483は、商の小数点以下第j桁qj
表す信号であり、qjは1,0,−1の値をとり得るの
で2ビットの信号でなければならない。加算数485
は、0,1の値をとる2進数であるので1ビット信号で
ある。信号486は、小数点以下第i桁の中間和▲rj i
▼を表す1ビット信号であり、信号487は小数点以下
第i桁の中間桁上げの有無を表す1ビット信号であり、
信号488は小数点以下第i+1桁からの中間桁上げの
有無を表す1ビット信号である。さらに、最終和決定回
路475の出力489は部分剰余R(j+1)の小数点以下
第i桁rj+1 iの値を表す2ビット信号である。
加算数決定回路472は、商の小数点以下第j桁qj
値に応じて、加算数の小数点以下第i桁dj iを決定する
回路である。つまり、qj=-1のとき、dj i,qj=0の
とき、dj i=0,qj=1のとき、dj i▼=1-dと、反転
あるいは0の割り当てにより加算数を決定する。
中間和決定回路473は、冗長2進の被加算数▲rj i+1
▼と通常の2進の加算数▲dj i▼の冗長加算により中間
和を決定する回路である。つまり、表1に示すように中
間和を決定する。
中間桁上げ決定回路474は、被加算数▲rj i+1▼を加
算数▲dj i▼の冗長加算により中間桁上げ値を決定する
回路である。つまり、表2に示すように中間桁上げ値を
決定する。
最終和決定回路475は、小数点以下第i桁の中間和と
小数点以下第i+1桁の中間桁上げ値の和を求め、部分
剰余R(j+1)の小数点以下第i桁▲rj+1 i▼を決定する
回路である。
次に(II)の場合について同様の説明をする。
第4図は、(II)、つまり被加算数の反転の場合の第2図
における各冗長加算用セル312,313,…,329
を構成する基本セルの一構成例を示すブロック図であ
る。
基本セル510(312,313…)は、正負反転回路
511、除数変換回路512、中間和決定回路513、
中間桁上げ決定回路514および最終和決定回路515
から構成される。入力521は、部分剰余A(j)の小数
点以下第i+1桁▲aj i+1▼の値を表す2ビット信号で
あり、制御信号523は、商の小数点以下第j桁qj
大きさ、および−qj-1と−qjとの符号装相違の有無を
表す2ビットの信号である。正負反転回路511の出力
524は、冗長2進の被加算数▲ej i▼を表す2ビット
信号である。また、除数変換回路512の出力525
は、2進の加算数▲dj i▼を表す1ビット信号である。
また信号526,527および528はそれぞれ第3図
における信号486,487および488と同じであ
る。出力529は部分剰余A(j+1)の小数点以下第i桁
▲aj+1 i▼の値を表す2ビット信号である。
正負反転回路511は、商の小数点以下第j,j−1桁
j,qj-1の符号の相違に応じて、部分剰余の小数点以
下第i+1桁▲aj i+1▼を決定する回路である。つま
り、sign(−qj-1)×sign(−qj)=1のとき、▲e
j i▼=▲aj i+1▼,sign(−qj-1)×sign(−qj)=
−1のとき、▲ej i▼=▲j i+1▼と正負の反転を行
い、被加算数を決定する。ただし、▲aj i+1▲=−1な
らば 除数変換回路512は、商の小数点以下第j桁qjの大
きさに応じて、加算数の小数点以下第i桁▲dj i▼を決
定する回路である。つまり、q≠0のとき、▲dj i=d
i,qj=0のき、▲dj i▼=0となるように0の割り当
てにより加算数を決定する。ただしdiは除数の小数点
以下第i桁yiの値を表す。
中間和決定回路513、中間桁上げ決定回路514、お
よび最終和決定回路515は、それぞえ、第3図におけ
る473,474、および475と同様の回路である。
以上が第1図に示した部分剰余決定回路101,10
2,103,104,105,…の構成法についての説
明である。
また、初期部分剰余決定回路100は、基本的には、部
分剰余決定回路101,102,…と同様に、基本セル
470あるいは510においてq0=1の場合のセルの
アレイとして構成することができる。なお、初期部分剰
余決定回路100は、通常の2進数同士の冗長減算ある
いは、通常の2進数と各桁が非正の冗長2進数の冗長加
算であるため、各桁の中間桁上げを常に0とすることが
でき、各セルを簡単化することが可能である。
次に商決定用セル201,202,203,204,2
05,…の構成法について簡単に説明する。
第5図は、第1図における各商決定用セル201,20
2,203,204,205,…の構成例を示すブロッ
ク図である。
商決定用セル550(201,202…)は、商決定回
路551、正負反転回路552および制御信号決定回路
553から構成される。入力560,561および56
2は、それぞれ部分剰余の上位3桁▲rj 0▼,▲rj 1
および▲rj 2▼、あるいは▲aj 0▼,▼aj 1▼および▲
j 2▼の値を表す2ビット信号であり、入力563は商
の小数点以下第j−1桁qj-1から決定される1ビット
信号である。信号564は、商の小数点以下第j桁qj
と符号の違いがある仮の値を表す2ビット信号である。
また、出力565は商の小数点以下第j桁qjの値を表
す2ビット信号であり、出力566は部分剰余決定回路
101,102,…を制御する2ビット信号である。
商決定回路551は、部分剰余の上位3桁560,56
1および562の値〔r0 j.r1 j 12 jSD2あるいは
〔a0 j.a1 j2 jSD2によって商の小数点以下第j桁
jの仮の値564を決定する回路である。つまり、部
分剰余の上位3桁の値が正なら仮の値は1,0なら仮の
値は0、負なら仮の値は−1である。
正負反転回路552は、前記の(I)の場合には省略で
き、(II)の場合には、商の小数点以下第j−1桁qj-1
の値に応じて正負の反転を行い、商の小数点以下第j桁
jを決定する回路である。つまり、qj-1=1のとき、
1を−1に、−1を1に置き換える正負の反転を行い。
j-1=−1,0のときは、そのままの値を出力する。
制御信号決定回路553は、前記(I)の場合には、商の
第j桁qjをそのまま制御信号に使用できるため、省略
でき、(II)の場合には、qjの大きさ、および−qjと−
j-1の符号の相違の有無を決定する回路である。な
お、本回路553は商決定回路551と共通する部分が
多く、通常は素子数削減のため、これらの2回路をまと
めて共通する部分を共有化する。
以上が商決定用セルの構成法の説明である。
次に、上記の構成法に従って実現した具体的な回路を上
記(II)の場合について説明する。
まず、各信号に対し2値符号化の一例を次に示す。
冗長2進表現の1桁▲aj i▼あるいはqjを2ビット▲
j i+▼ ▲aj i-▼,あるいはqj+j-でそれぞれ表
し、−1を11,0を10,1を01と2値符号化す
る。このとき、商の小数点以下第j桁qjの大きさおよ
び符号は、それぞれqj-およびqj+で表わせる。また、
商の小数点以下第j桁qjj-1桁qj-1との符号の相違
の有無の信号をtjとする。つまり、符号の相違があれ
ば(sign(−qj)×sign(−qj-1)=-1のとき)、t
j=0、なければ(sign(−qj)×sign(−qj-1)=
1のとき)、tj=1とする。したがって、tjは、制御
信号決定回路553において、 tj=a0+ j+.(▲aj 0-▼+▲aj 1+▼).(▲aj 0-▼+▲aj 1-▼+▲aj 2+
▼).(▲aj 0-▼+▲aj 1-▼+▲aj 2-▼+qj-1+) で決定できる。また、qj-,qj+は、それぞれ の式で決定できる。ただし、・は論理積(AND)を、
+は倫理和(OR)を、は排他的論理和(EX−O
R)を、 ▲aj i-▼+▲aj k+▼およびqj-の倫理否定を表す演算
子である。
さらに、第4図における加算数▲dj i▼525、中間和
▲Sj i▼526および中間桁上げ▲Cj i▼527は、そ
れぞれ、 ▲aj+1 i-▼=▲Sj i▼▲Cj i+1▼ の式で決定できる。
第6図は、上記の2値符号化により第4図の基本セル5
10をCMOS回路で実現した回路図の一例を示す。ゲ
ート611,625はEX−OR、ゲート612はイン
バータ、ゲート613は2入力NOR、ゲート631は
2入力NAND、ゲート632はEX−NORゲートで
ある。また、pチャンネル・トランジスタ621とnチ
ャンネル・トランジスタ622、およびpチャンネル・
トランジスタ623とnチャンネル・トランジスタ62
4は、それぞれトランスファー・ゲートを構成してい
る。
また、▲aj i+1+▼601および▲aj i+1-▼602は第
4図における2ビットの入力521であり、除数の小数
点以下第i桁yiの論理否定yi603は第4図における
入力522である。qj-604およびtj605は第4
図における2ビットの制御信号を構成する。また、▲d
j i▼614は第4図における加算数525であり、信号
615および602が被加算数524に相当する情報を
与える。さらに、中間和を示す信号▲j i▼626ある
いは中間桁上げの有無を表す信号▲Cj i▼627,▲C
j i+1▼628は、それぞれ第4図における1ビット信号
526あるいは527,528に対応する。出力▲a
j+1 i+▼633および▲aj+1 i-▼634は第4図におけ
る部分剰余の小数点以下第i桁を表す2ビット信号52
9である。
また、第4図における除数変換回路512はNORゲー
ト613で、正負反転回路511はEX−ORゲート6
11およびトランスファー・ゲート621,622によ
って、中間和決定回路513の核はEX−OR625
で、中間桁上げ決定回路514はインバータ612,ト
ランスファー・ゲート621,622およびトランスフ
ァー・ゲート623,624によって、最終和決定回路
515はNANDゲート631およびEX−NORゲー
ト632によって、それぞれ構成されている。
なお、本例ではトランスファー・ゲートを用いている
が、通常のゲートを用いて実現することも可能である。
第7図は、第6図においてトランスファー・ゲートを使
用した部分回路700をNORゲートによって構成した
一例である。ゲート701,702,703は共に2入
力ゲートであり、この場合、ゲート701および612
は第4図における正負反転回路511の一部分を、ゲー
ト702および703は中間桁上げ決定回路527を構
成する。ただし、第7図のようにすると回路の段数およ
び素子数が増えるので、複合ゲートを用いた構成も可能
である。
次に、第5図の商決定用セル550のCMOS回路での
実現について説明する。
第8図は、前記の2値符号化による商決定用セル550
の一実施例を示すCMOS回路図である。図中、ゲート
811はインバータ、ゲート813および823は2入
力のNOR、ゲート814,815および822は3入
力のNOR、ゲート812および821は4入力NO
R、ゲート831はEX−NORゲートである。
また、▲aj 0+▼801および▲aj 0-▼802は第5図
における2ビット入力560であり、▲aj 1+▼803
および▲aj 1-▼804は2ビット入力561であり、
▲aj 2+▼805および▲aj 2-▼806は2ビット入力
562である。入力qj-1+807は第5図における上位
の商決定用セルからの入力信号563である。また、出
力qj+832およびqj-833は商の小数点以下第j桁
を表す2ビット信号565であり、出力qj-833およ
びtj834はj段にある各基本セル510を制御する
2ビット信号である。
また、第5図おける商決定回路551はインバータ81
1、NORゲート813,814、および815によっ
て構成され、正負反転回路552なNORゲート823
およびEX−NORゲート831によって構成される。
また、制御信号決定回路553はインバータ811、N
ORゲート812,813,814,821,および8
15によって構成される。なお、インバータ811、N
ORゲート813,814、および815は、商決定回
路551と制御信号決定回路553で共通に使用されて
いる。
以上に本実施例における(II)の場合のCMOS回路によ
る実現の一例を説明した。上記例では、2値符号化にお
いて、部分剰余▲aj i▼と商qjとを同じ符号割当てに
したが、それぞれ異なる2値符号化を行ってもよい。ま
た、(II)の場合も同様にCMOS回路で容易に実現でき
る。なお、本実施例では冗長2進数と通常の2進数の加
算についてのみ説明したが、減算についても同様にして
実施例を作成することが可能である。
なお、第6図の基本セルは、6トランジスタのEX−O
R,EX−NORを使用すると32トランジスタであ
り、クリティカル・パスのゲート数は3ゲートとなる。
また、第8図の商決定用セルでは、トランジスタ数が5
0トランジスタであり、クリティカル・パスのゲート数
が2段となる。
また、本実施例では、特に除算器をCMOS回路の2値
論理で実現しらが、本発明は他のテクノロジ(例えば、
NMOS,ECL,TTL等)あるいは多値論理を用い
ても容易に実現できる。さらに、乗算器に対しても同様
にして本発明を実施することができる。
本実施例によれば、除算器CMOS回路によって、商1
桁当りの演算に要する遅延が5ゲート程度であり、かつ
30トランジスタ程度の素子から構成される基本セルお
よび50トランジスタ程度の商決定用セルの規則正しい
配列構造の組合せ回路として実現できるため、順次桁上
げ加算器を用いた従来の減算シフト形除算器に比べ、ト
ランジスタ数でほぼ半分程度、計算時間(ゲートの段
数)において32ビットの除算で約12分の1、64ビ
ットで約24分の1程度になり、さらに、冗長2進加減
算器を用いた従来の減算シフト形除算器に比べ、トラン
ジスタ数でほぼ半分程度になる。
したがって、除算器の回路素子の削減、VLSI化の容
易性、および高速化等に効果がある。
発明の効果 本発明によれば、除算の内部演算にあらわれる加減算
を、各桁に負値を許す拡張SD表現数と各桁が非負の通
常のr進数との冗長加算回路、あるいは冗長減算回路の
どちらか一方のみで組合せ回路として実現でき、加減算
の各桁の桁上げあるいは桁借りが高々1桁した伝播しな
いようにすることができるので、(1)演算処理装置の素
子数が削減でき、(2)加減算が桁数によらず一定時間で
高速処理できるため、演算処理装置の高速化が図れ、さ
らに、(3)演算処理装置のLSI化が容易かつ経済的に
行える等の効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示すブロック図、第
2図は第1図の部分剰余決定回路の一構成例を示すブロ
ック図、第3図、第4図は第2図の冗長加算用セルにお
ける基本セルの構造を示すブロック図、第5図は第1図
における商決定用セルの構造を示すブロック図、第6図
は第4図の基本セルのCMOS回路図、第7図は第6図
のトランスファー・ゲートの説明のための図、第8図は
第5図の商決定用セルのCMOS回路図である。 100……初期部分剰余決定回路、101,102,1
03,104,105……部分剰余決定回路、201,
202,203,204,205……商決定用セル、1
0……r進への変換回路、20……被除数、40……除
数、60……商、310,311,312,313……
冗長加算用セル、470,510……基本セル、472
……加算数決定回路、511……正負反転回路、512
……除数変換回路、474,514……中間桁上げ決定
回路、473,513……中間和決定回路、475,5
15……最終和決定回路、551……商決定回路、55
2……正負反転回路、553……制御信号決定回路。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】除算における商の1桁を決定する商決定手
    段と、前記商決定手段によって求められた商に対する剰
    余を求め、符号付ディジット表現の部分剰余として出力
    する部分剰余決定手段とを備えた演算処理装置であっ
    て、 前記部分剰余決定手段が、符号付ディジット表現の部分
    剰余の各桁毎に、 (a)符号付ディジット数の加算(減算)における中間
    桁上げ(中間桁借り)を決定する中間桁上げ(中間桁借
    り)決定手段と、 (b)前記加算(減算)における中間和(中間差)を決
    定する中間和(中間差)決定手段と、 (c)前記中間和(中間差)決定手段で求めた中間和
    (中間差)と一桁下位桁に設けられた前記中間桁上げ
    (中間桁借り)決定手段で求めた下位からの中間桁上げ
    (中間桁借り)とから加算(減算)の結果を決定し、符
    号付ディジット数として出力する最終和(最終差)決定
    手段と、 (d)制御信号と符号付ディジット数または2進数とを
    入力して、その制御信号の値によりその符号付ディジッ
    ト数または2進数の符号を反転する符号反転手段とを有
    し、 前記中間桁上げ(中間桁借り)決定手段および前記中間
    和(中間差)決定手段が共に前記符号反転手段の出力を
    少なくとも一つの共通の入力とすることを特徴とする演
    算処理装置。
  2. 【請求項2】さらに (e)制御信号と除数を入力して、その制御信号の値に
    よりその除数を定数に入れ替えて出力する定数設定手段
    を有し、 中間桁上げ(中間桁借り)決定手段および中間和(中間
    差)決定手段が共に前記定数設定手段の出力を少なくと
    も一つの共通の入力とすることを特徴とする特許請求の
    範囲第1項記載の演算処理装置。
  3. 【請求項3】中間桁上げ(中間桁借り)決定手段が符号
    付ディジット数と2進数との加算(減算)における中間
    桁上げ(中間桁借り)を決定し、 中間和(中間差)決定手段が前記加算(減算)における
    中間和(中間差)を決定することを特徴とする特許請求
    の範囲第1項または第2項記載の演算処理装置。
  4. 【請求項4】符号反転手段が、 制御信号の値によって、2進数の除数を符号反転するこ
    とを特徴とする特許請求の範囲第3項記載の演算処理装
    置。
  5. 【請求項5】定数設定手段が、 制御信号の値によって、入力された2進数の除数をその
    まま、または0に置き換えて出力することを特徴とする
    特許請求の範囲第3項または第4項記載の演算処理装
    置。
  6. 【請求項6】符号反転手段が、 1ビット制御信号の値によって、部分剰余を表す符号付
    ディジット数をそのまま、または前記符号付ディジット
    数の各桁毎に正負の符号を反転した符号付ディジット数
    を出力することを特徴とする特許請求の範囲第1項、第
    2項または第3項のいずれかに記載の演算処理装置。
  7. 【請求項7】商決定手段が、 制御信号と符号付ディジット数とを入力して、その制御
    信号の値によりその符号付ディジット数の符号を反転す
    る符号反転手段を有することを特徴とする特許請求の範
    囲第6項記載の演算処理装置。
  8. 【請求項8】中間桁上げ(中間桁借り)決定手段と中間
    和(中間差)決定手段と最終和(最終差)決定手段と符
    号反転手段と定数設定手段とをそれぞれ内部演算の1桁
    分の演算に対応するセルによって構成し、複数の前記セ
    ルの配列構造を有することを特徴とする特許請求の範囲
    第2項記載の演算処理装置。
  9. 【請求項9】商決定手段と部分剰余決定手段とを複数ス
    テージから構成される配列構造を有することを特徴とす
    る特許請求の範囲第1項または第2項記載の演算処理装
    置。
JP61152452A 1986-06-27 1986-06-27 演算処理装置 Expired - Lifetime JPH061434B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP61152452A JPH061434B2 (ja) 1986-06-27 1986-06-27 演算処理装置
US07/066,817 US4873660A (en) 1986-06-27 1987-06-25 Arithmetic processor using redundant signed digit arithmetic
US03/239,243 US5031136A (en) 1986-06-27 1990-05-07 Signed-digit arithmetic processing units with binary operands
US07/599,275 US5153847A (en) 1986-06-27 1990-10-16 Arithmetic processor using signed digit representation of internal operands

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61152452A JPH061434B2 (ja) 1986-06-27 1986-06-27 演算処理装置

Publications (2)

Publication Number Publication Date
JPS638825A JPS638825A (ja) 1988-01-14
JPH061434B2 true JPH061434B2 (ja) 1994-01-05

Family

ID=15540828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61152452A Expired - Lifetime JPH061434B2 (ja) 1986-06-27 1986-06-27 演算処理装置

Country Status (1)

Country Link
JP (1) JPH061434B2 (ja)

Also Published As

Publication number Publication date
JPS638825A (ja) 1988-01-14

Similar Documents

Publication Publication Date Title
Lu Arithmetic and logic in computer systems
JPS6055438A (ja) 2入力加算器
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
JP3436994B2 (ja) シフト装置
US5251164A (en) Low-power area-efficient absolute value arithmetic unit
JPS584369B2 (ja) デイジツトの有効性追跡装置
US4873660A (en) Arithmetic processor using redundant signed digit arithmetic
US4866655A (en) Arithmetic processor and divider using redundant signed digit
JPH08161152A (ja) 浮動小数点演算装置
US4935892A (en) Divider and arithmetic processing units using signed digit operands
Kuninobu et al. High speed MOS multiplier and divider using redundant binary representation and their implementation in a microprocessor
US5031136A (en) Signed-digit arithmetic processing units with binary operands
US5206825A (en) Arithmetic processor using signed-digit representation of external operands
US5153847A (en) Arithmetic processor using signed digit representation of internal operands
JPH061433B2 (ja) 演算処理装置
JPH061434B2 (ja) 演算処理装置
JPH061435B2 (ja) 演算処理装置
JPH061437B2 (ja) 演算処理装置
JPH0667852A (ja) 除算器
JPH0614318B2 (ja) 演算処理装置
Quach Reducing the latency of floating-point arithmetic operations
Latha et al. Residue-to-Binary converters for the seven moduli set {2 n-5-1, 2 n-3-1, 2 n-2+ 1, 2 n-1-1, 2 n-1+ 1, 2n, 2 n+ 1} for n even
JPH0528407B2 (ja)
JP2681968B2 (ja) 演算処理装置
JPH0614317B2 (ja) 演算処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term