JPH05143290A - 加算回路 - Google Patents
加算回路Info
- Publication number
- JPH05143290A JPH05143290A JP30605191A JP30605191A JPH05143290A JP H05143290 A JPH05143290 A JP H05143290A JP 30605191 A JP30605191 A JP 30605191A JP 30605191 A JP30605191 A JP 30605191A JP H05143290 A JPH05143290 A JP H05143290A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- output
- carry
- parallel
- input
- 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.)
- Pending
Links
Abstract
(57)【要約】
【目的】 処理速度をさらに高速化し、回路をより小さ
くする。 【構成】 パラレル/シリアル変換回路14、24、セ
レクタ34、rビット加算器44、レジスタ54、及び
シリアル/パラレル変換回路64と、パラレル/シリア
ル変換回路15、25、セレクタ35、rビット加算器
45、レジスタ55、及びシリアル/パラレル変換回路
65と、パラレル/シリアル変換回路15、25、セレ
クタ36、rビット加算器46、レジスタ56、及びシ
リアル/パラレル変換回路66の構成は、それぞれ従来
と同じに構成される。加算器45では、p/2サイクル
かけて「Aの上位側」+「Bの上位側」が計算され、加
算器46では、p/2サイクルかけて「Aの上位側」+
「Bの上位側」+1が計算される。そして120は2入
力1出力セレクタ群であり、レジスタ54の出力値が0
のときは変換回路65の出力、1のときは変換回路66
の出力を選択する。
くする。 【構成】 パラレル/シリアル変換回路14、24、セ
レクタ34、rビット加算器44、レジスタ54、及び
シリアル/パラレル変換回路64と、パラレル/シリア
ル変換回路15、25、セレクタ35、rビット加算器
45、レジスタ55、及びシリアル/パラレル変換回路
65と、パラレル/シリアル変換回路15、25、セレ
クタ36、rビット加算器46、レジスタ56、及びシ
リアル/パラレル変換回路66の構成は、それぞれ従来
と同じに構成される。加算器45では、p/2サイクル
かけて「Aの上位側」+「Bの上位側」が計算され、加
算器46では、p/2サイクルかけて「Aの上位側」+
「Bの上位側」+1が計算される。そして120は2入
力1出力セレクタ群であり、レジスタ54の出力値が0
のときは変換回路65の出力、1のときは変換回路66
の出力を選択する。
Description
【0001】
【産業上の利用分野】本発明は、パラレルに入力されて
くる複数の入力データを加算して、その加算結果をパラ
レルに出力する加算回路に関するものである。
くる複数の入力データを加算して、その加算結果をパラ
レルに出力する加算回路に関するものである。
【0002】
【従来の技術】prビット語長(ただし、rは1以上の
整数、pは2以上の整数)のパラレル入力、パラレル出
力の加算器は、prビット加算器が必要であり、回路規
模が大きくなってしまうという欠点があった。
整数、pは2以上の整数)のパラレル入力、パラレル出
力の加算器は、prビット加算器が必要であり、回路規
模が大きくなってしまうという欠点があった。
【0003】そこで、パラレル入力データをパラレル/
シリアル変換して、シリアル加算器により加算して、そ
して得られた加算結果(シリアル出力データ)をシリア
ル/パラレル変換して出力端子から取り出すことによっ
て、回路規模を小さくする試みがあった。
シリアル変換して、シリアル加算器により加算して、そ
して得られた加算結果(シリアル出力データ)をシリア
ル/パラレル変換して出力端子から取り出すことによっ
て、回路規模を小さくする試みがあった。
【0004】この従来の回路の一例を図6に示す。この
図は2入力データの加算の場合である。入力データA=
(Apr-1〔MSB〕,Apr-2,・・・,A2,A1,A0
〔LSB〕)及びB=(Bpr-1〔MSB〕,Bpr-2,・
・・,B2,B1,B0 〔LSB〕)が入力されて来たと
き、まず、パラレル/シリアル変換回路1、2でrビッ
ト毎のデータに分けられ、rビット分ずつ変換回路1、
2から出力される。
図は2入力データの加算の場合である。入力データA=
(Apr-1〔MSB〕,Apr-2,・・・,A2,A1,A0
〔LSB〕)及びB=(Bpr-1〔MSB〕,Bpr-2,・
・・,B2,B1,B0 〔LSB〕)が入力されて来たと
き、まず、パラレル/シリアル変換回路1、2でrビッ
ト毎のデータに分けられ、rビット分ずつ変換回路1、
2から出力される。
【0005】つまり、変換回路1及び2にA及びBが取
り込まれた時刻を、1サイクル目とすれば、2サイクル
目に、1.1(rビット入力)から(1サイクル目に)
入力されたデータA0 〜Ar-1 と、2.1(rビット入
力)から(1サイクル目に)入力されたデータB0 〜B
r-1 が、変換回路1のout(rビット出力)及び変換
回路2のout(rビット出力)から出力される。
り込まれた時刻を、1サイクル目とすれば、2サイクル
目に、1.1(rビット入力)から(1サイクル目に)
入力されたデータA0 〜Ar-1 と、2.1(rビット入
力)から(1サイクル目に)入力されたデータB0 〜B
r-1 が、変換回路1のout(rビット出力)及び変換
回路2のout(rビット出力)から出力される。
【0006】3サイクル目に、1.2(rビット入力)
から(1サイクル目に)入力されたデータAr 〜A2r-1
と、2.2(rビット入力)から(1サイクル目に)入
力されたデータBr 〜B2r-1が、変換回路1のout
(rビット出力)及び変換回路2のout(rビット出
力)から出力される。
から(1サイクル目に)入力されたデータAr 〜A2r-1
と、2.2(rビット入力)から(1サイクル目に)入
力されたデータBr 〜B2r-1が、変換回路1のout
(rビット出力)及び変換回路2のout(rビット出
力)から出力される。
【0007】4サイクル目に、1.3(rビット入力)
から(1サイクル目に)入力されたデータA2r〜A3r-1
と、2.3(rビット入力)から(1サイクル目に)入
力されたデータB2r〜B3r-1が、変換回路1のout
(rビット出力)及び変換回路2のout(rビット出
力)から出力される。 : :
から(1サイクル目に)入力されたデータA2r〜A3r-1
と、2.3(rビット入力)から(1サイクル目に)入
力されたデータB2r〜B3r-1が、変換回路1のout
(rビット出力)及び変換回路2のout(rビット出
力)から出力される。 : :
【0008】p+1サイクル目に、1.p(rビット入
力)から(1サイクル目に)入力されたデータA(p-1)r
〜Apr-1と、2.p(rビット入力)から(1サイクル
目に)入力されたデータB(p-1)r〜Bpr-1が、変換回路
1のout(rビット出力)及び変換回路2のout
(rビット出力)から出力される。
力)から(1サイクル目に)入力されたデータA(p-1)r
〜Apr-1と、2.p(rビット入力)から(1サイクル
目に)入力されたデータB(p-1)r〜Bpr-1が、変換回路
1のout(rビット出力)及び変換回路2のout
(rビット出力)から出力される。
【0009】従って1サイクル目のみセレクタ3を0側
にしておくことにより、rビット加算器4で2サイクル
目に、1.1と2.1との加算(図7参照)を行い、0
ビット目〜r−1ビット目の値及びrビット目への桁上
げを求める。また0ビット目〜r−1ビット目の値はパ
ラレル/シリアル変換器6を介して6.1から出力端子
O0 〜Or-1 へ出力される。そして、rビット目への桁
上げ値は、単位遅延素子(レジスタ)5に格納される。
にしておくことにより、rビット加算器4で2サイクル
目に、1.1と2.1との加算(図7参照)を行い、0
ビット目〜r−1ビット目の値及びrビット目への桁上
げを求める。また0ビット目〜r−1ビット目の値はパ
ラレル/シリアル変換器6を介して6.1から出力端子
O0 〜Or-1 へ出力される。そして、rビット目への桁
上げ値は、単位遅延素子(レジスタ)5に格納される。
【0010】3サイクル目に、1.2と2.2とレジス
タ5に格納されているrビット目への桁上げ値の加算
(図7参照)を行い、rビット目〜2r−1ビット目の
値及び2rビット目への桁上げを求める。またrビット
目〜2r−1ビット目の値はパラレル/シリアル変換器
6を介して6.2から出力端子Or 〜O2r-1へ出力され
る。そして、2rビット目への桁上げ値は、レジスタ5
に格納される。
タ5に格納されているrビット目への桁上げ値の加算
(図7参照)を行い、rビット目〜2r−1ビット目の
値及び2rビット目への桁上げを求める。またrビット
目〜2r−1ビット目の値はパラレル/シリアル変換器
6を介して6.2から出力端子Or 〜O2r-1へ出力され
る。そして、2rビット目への桁上げ値は、レジスタ5
に格納される。
【0011】4サイクル目に、1.3と2.3とレジス
タ5に格納されている2rビット目への桁上げ値の加算
(図7参照)を行い、2rビット目〜3r−1ビット目
の値及び3rビット目への桁上げを求める。また2rビ
ット目〜3r−1ビット目の値は変換器6を介して6.
3から出力端子O2r〜O3r-1へ出力される。そして、3
rビット目への桁上げ値は、レジスタ5に格納される。 : :
タ5に格納されている2rビット目への桁上げ値の加算
(図7参照)を行い、2rビット目〜3r−1ビット目
の値及び3rビット目への桁上げを求める。また2rビ
ット目〜3r−1ビット目の値は変換器6を介して6.
3から出力端子O2r〜O3r-1へ出力される。そして、3
rビット目への桁上げ値は、レジスタ5に格納される。 : :
【0012】p+1サイクル目に、1.pと2.pとレ
ジスタ5に格納されている(p−1)rビット目への桁
上げ値の加算(図7参照)を行い、(p−1)rビット
目〜pr−1ビット目の値及びprビット目への桁上げ
を求める。また(p−1)rビット目〜pr−1ビット
目の値は変換器6を介して6.pから出力端子O(p-1 )r
〜Opr-1へ出力される。なおprビット目への桁上げ値
は無視する。
ジスタ5に格納されている(p−1)rビット目への桁
上げ値の加算(図7参照)を行い、(p−1)rビット
目〜pr−1ビット目の値及びprビット目への桁上げ
を求める。また(p−1)rビット目〜pr−1ビット
目の値は変換器6を介して6.pから出力端子O(p-1 )r
〜Opr-1へ出力される。なおprビット目への桁上げ値
は無視する。
【0013】このように、prビットの加算をrビット
毎にrビット加算器で順次加算していくことにより、す
なわちprビット加算器でなく、rビット加算器で済む
ことにより、回路規模が小さくなる。なお図6の太線
は、rビットのバス線を示す。
毎にrビット加算器で順次加算していくことにより、す
なわちprビット加算器でなく、rビット加算器で済む
ことにより、回路規模が小さくなる。なお図6の太線
は、rビットのバス線を示す。
【0014】しかし、図6の回路構成では、回路規模が
小さくなるという利点があるものの、rビット加算器を
p重の時分割多重処理で使用しているため、処理速度が
遅いという欠点があった。またこの回路構成は、prビ
ット加算器でなくrビット加算器で済むことにより回路
規模がある程度小さくなるという利点があるものの、パ
ラレル/シリアル変換回路及びシリアル/パラレル変換
回路を合計3個(パラレルに入出力するビット数が各r
pビットであるから合計3rpビットのデータを保持す
る回路が必要となる)持たなくてはいけなく、もっと回
路規模を小さくしたいという要望に答えられなかった。
さらにこの回路構成では、rビット加算器をp重の時分
割多重処理で使用しているため処理速度が遅いという欠
点があった。
小さくなるという利点があるものの、rビット加算器を
p重の時分割多重処理で使用しているため、処理速度が
遅いという欠点があった。またこの回路構成は、prビ
ット加算器でなくrビット加算器で済むことにより回路
規模がある程度小さくなるという利点があるものの、パ
ラレル/シリアル変換回路及びシリアル/パラレル変換
回路を合計3個(パラレルに入出力するビット数が各r
pビットであるから合計3rpビットのデータを保持す
る回路が必要となる)持たなくてはいけなく、もっと回
路規模を小さくしたいという要望に答えられなかった。
さらにこの回路構成では、rビット加算器をp重の時分
割多重処理で使用しているため処理速度が遅いという欠
点があった。
【0015】
【発明が解決しようとする課題】解決しようとする問題
点は、処理速度が遅く、また回路規模を充分に小さくす
ることができないというものである。
点は、処理速度が遅く、また回路規模を充分に小さくす
ることができないというものである。
【0016】
【課題を解決するための手段】本発明による第1の手段
は、パラレルに入力されてくる2組の入力データを加算
して、その加算結果をパラレルに出力する加算回路にお
いて、各入力データを複数のグループに分け、各グルー
プ毎にパラレル/シリアル変換器14、24、15、2
5を介して、加算器45、46により下位ビット側のグ
ループからの桁上げが0の場合と、1の場合の2通りの
加算を行い、シリアル/パラレル変換器65、66を介
して上記2通りの加算結果をパラレル出力するように
し、下位ビット側のグループでの加算が終り、上位ビッ
ト側のグループへの桁上げが求まった時点で、上記0の
場合と、1の場合のいずれかの加算結果を選択(セレク
タ群120)するようにしたことを特徴とする加算回路
である。
は、パラレルに入力されてくる2組の入力データを加算
して、その加算結果をパラレルに出力する加算回路にお
いて、各入力データを複数のグループに分け、各グルー
プ毎にパラレル/シリアル変換器14、24、15、2
5を介して、加算器45、46により下位ビット側のグ
ループからの桁上げが0の場合と、1の場合の2通りの
加算を行い、シリアル/パラレル変換器65、66を介
して上記2通りの加算結果をパラレル出力するように
し、下位ビット側のグループでの加算が終り、上位ビッ
ト側のグループへの桁上げが求まった時点で、上記0の
場合と、1の場合のいずれかの加算結果を選択(セレク
タ群120)するようにしたことを特徴とする加算回路
である。
【0017】本発明による第2の手段は、パラレルに入
力されてくる2組の入力データを加算して、その加算結
果をパラレルに出力する加算回路において、各入力デー
タを複数のグループに分け、各グループ毎にシフトレジ
スタ75、76を介して、加算器45、46により下位
ビット側のグループからの桁上げが0の場合と、1の場
合の2通りの加算を行い、加算結果を上記シフトレジス
タに入力し、上記シフトレジスタを介して上記2通りの
加算結果をパラレル出力するようにし、下位ビット側の
グループでの加算が終り、上位ビット側のグループへの
桁上げが求まった時点で、上記0の場合と、1の場合の
いずれかの加算結果を選択(セレクタ群120)するよ
うにしたことを特徴とする加算回路である。
力されてくる2組の入力データを加算して、その加算結
果をパラレルに出力する加算回路において、各入力デー
タを複数のグループに分け、各グループ毎にシフトレジ
スタ75、76を介して、加算器45、46により下位
ビット側のグループからの桁上げが0の場合と、1の場
合の2通りの加算を行い、加算結果を上記シフトレジス
タに入力し、上記シフトレジスタを介して上記2通りの
加算結果をパラレル出力するようにし、下位ビット側の
グループでの加算が終り、上位ビット側のグループへの
桁上げが求まった時点で、上記0の場合と、1の場合の
いずれかの加算結果を選択(セレクタ群120)するよ
うにしたことを特徴とする加算回路である。
【0018】
【作用】これによれば、入力データをm個のグループに
分け、各グループ内で、下位ビット側のグループからの
桁上げ(キャリ)が0のときと、1のときの、2種類の
計算を行い、下位ビット側のグループでの加算が終り、
上位ビット側のグループへの桁上げ(キャリ)が求まっ
た時刻において、そのキャリの値により、キャリが0と
仮定したときの上記加算結果とキャリが1と仮定したと
きの上記加算結果のどちらかを選択するようにしたこと
により、従来よりもさらに処理速度を高速化できる。ま
た入力段にある1つのパラレル/シリアル変換回路と、
出力段にあるシリアル/パラレル変換回路を、1つのシ
フトレジスタで兼用することにより、回路をより小さく
できる。すなわち合計4(rp/2)=2rpビットの
データを保持する回路規模とすることができる。
分け、各グループ内で、下位ビット側のグループからの
桁上げ(キャリ)が0のときと、1のときの、2種類の
計算を行い、下位ビット側のグループでの加算が終り、
上位ビット側のグループへの桁上げ(キャリ)が求まっ
た時刻において、そのキャリの値により、キャリが0と
仮定したときの上記加算結果とキャリが1と仮定したと
きの上記加算結果のどちらかを選択するようにしたこと
により、従来よりもさらに処理速度を高速化できる。ま
た入力段にある1つのパラレル/シリアル変換回路と、
出力段にあるシリアル/パラレル変換回路を、1つのシ
フトレジスタで兼用することにより、回路をより小さく
できる。すなわち合計4(rp/2)=2rpビットの
データを保持する回路規模とすることができる。
【0019】
【実施例】本発明の実施例を図1に記す。なお図1はm
=2の場合である。この図において、パラレル/シリア
ル変換回路14、24、セレクタ34、rビット加算器
44、レジスタ54、及びシリアル/パラレル変換回路
64と、パラレル/シリアル変換回路15、25、セレ
クタ35、rビット加算器45、レジスタ55、及びシ
リアル/パラレル変換回路65と、パラレル/シリアル
変換回路15、25、セレクタ36、rビット加算器4
6、レジスタ56、及びシリアル/パラレル変換回路6
6の構成は、それぞれ従来(図6)とほぼ同じなので、
説明は省略する。ただ1つ従来と違う点は、従来はパラ
レル/シリアル変換回路に取り込んだデータprビット
を rビットずつpサイクルかけて出力して、その出力
データをrビット加算器でpサイクルかけて加算を行っ
ていたのに対し、この例(図1)では、各パラレル/シ
リアル変換回路にはpr/2ビットしか取り込まず、r
ビットずつp/2サイクルかけて出力して、その出力デ
ータをrビット加算器でp/2サイクルかけて加算を行
っている点である。
=2の場合である。この図において、パラレル/シリア
ル変換回路14、24、セレクタ34、rビット加算器
44、レジスタ54、及びシリアル/パラレル変換回路
64と、パラレル/シリアル変換回路15、25、セレ
クタ35、rビット加算器45、レジスタ55、及びシ
リアル/パラレル変換回路65と、パラレル/シリアル
変換回路15、25、セレクタ36、rビット加算器4
6、レジスタ56、及びシリアル/パラレル変換回路6
6の構成は、それぞれ従来(図6)とほぼ同じなので、
説明は省略する。ただ1つ従来と違う点は、従来はパラ
レル/シリアル変換回路に取り込んだデータprビット
を rビットずつpサイクルかけて出力して、その出力
データをrビット加算器でpサイクルかけて加算を行っ
ていたのに対し、この例(図1)では、各パラレル/シ
リアル変換回路にはpr/2ビットしか取り込まず、r
ビットずつp/2サイクルかけて出力して、その出力デ
ータをrビット加算器でp/2サイクルかけて加算を行
っている点である。
【0020】従って、従来p重の時分割多重処理で、即
ちpサイクルかけて処理していたのに対し、この例で
は、p/2重の時分割多重処理で、即ちp/2サイクル
かけて処理しているので、従来の2倍の高速処理が可能
となる。そして、もう1つ従来と違う点は、演算の最初
にセレクタ36は、レジスタ56の出力側でない方をセ
レクトするわけであるが、この値は1であり、即ち(p
/2)rビット目への桁上げ(キャリ)が1として、加
算器46は計算していくことになる。
ちpサイクルかけて処理していたのに対し、この例で
は、p/2重の時分割多重処理で、即ちp/2サイクル
かけて処理しているので、従来の2倍の高速処理が可能
となる。そして、もう1つ従来と違う点は、演算の最初
にセレクタ36は、レジスタ56の出力側でない方をセ
レクトするわけであるが、この値は1であり、即ち(p
/2)rビット目への桁上げ(キャリ)が1として、加
算器46は計算していくことになる。
【0021】すなわち、パラレル/シリアル変換回路1
4、24、セレクタ34、rビット加算器44、及びレ
ジスタ54で入力データAの下位側=(A(p/2)r-1〔M
SB〕,A(p/2)r-2,・・・A1,A0 〔LSB〕)及び
Bの下位側=(B(p/2)r-1〔MSB〕,B(p/2)r-2,・
・・B1,B0 〔LSB〕)の加算を行い、その加算結果
を順次rビットずつ加算器44の和出力(S)から出力
していく。そしてシリアル/パラレル変換回路64で、
この加算結果をパラレル化する。
4、24、セレクタ34、rビット加算器44、及びレ
ジスタ54で入力データAの下位側=(A(p/2)r-1〔M
SB〕,A(p/2)r-2,・・・A1,A0 〔LSB〕)及び
Bの下位側=(B(p/2)r-1〔MSB〕,B(p/2)r-2,・
・・B1,B0 〔LSB〕)の加算を行い、その加算結果
を順次rビットずつ加算器44の和出力(S)から出力
していく。そしてシリアル/パラレル変換回路64で、
この加算結果をパラレル化する。
【0022】なおこれらの加算は、p/2サイクルかけ
て行われ、そしてp/2サイクル後には、下位ビット側
から上位ビット側への、即ち(p/2)rビット目への
桁上げ(キャリ)が加算器44の桁上げ出力(Co)か
ら出力されており、このキャリはレジスタ54に格納さ
れる。
て行われ、そしてp/2サイクル後には、下位ビット側
から上位ビット側への、即ち(p/2)rビット目への
桁上げ(キャリ)が加算器44の桁上げ出力(Co)か
ら出力されており、このキャリはレジスタ54に格納さ
れる。
【0023】ところで、上位ビット側のデータであるA
の上位側=(Apr-1〔MSB〕,A pr-2,・・・A
(p/2)r+1,A(p/2)r〔LSB〕)及びBの上位側=(B
pr-1〔MSB〕,Bpr-2,・・・B(p/2)r+1,B(p/2)r
〔LSB〕)は、パラレル/シリアル変換回路15、2
5によりそれぞれrビットずつ順々に加算器45及び4
6に供給される。
の上位側=(Apr-1〔MSB〕,A pr-2,・・・A
(p/2)r+1,A(p/2)r〔LSB〕)及びBの上位側=(B
pr-1〔MSB〕,Bpr-2,・・・B(p/2)r+1,B(p/2)r
〔LSB〕)は、パラレル/シリアル変換回路15、2
5によりそれぞれrビットずつ順々に加算器45及び4
6に供給される。
【0024】従って、加算器45では、p/2サイクル
かけて「Aの上位側」+「Bの上位側」が計算され、シ
リアル/パラレル変換回路65でこの加算結果はパラレ
ル化される。シリアル/パラレル変換回路65の出力結
果は「Aの上位側」+「Bの上位側」であり、即ち下位
ビット側から上位ビット側への(p/2)rビット目へ
の桁上げ(キャリ)が0であったと仮定した場合の「A
+B」の加算結果の(p/2)r〜pr−1ビット目出
力となる。
かけて「Aの上位側」+「Bの上位側」が計算され、シ
リアル/パラレル変換回路65でこの加算結果はパラレ
ル化される。シリアル/パラレル変換回路65の出力結
果は「Aの上位側」+「Bの上位側」であり、即ち下位
ビット側から上位ビット側への(p/2)rビット目へ
の桁上げ(キャリ)が0であったと仮定した場合の「A
+B」の加算結果の(p/2)r〜pr−1ビット目出
力となる。
【0025】また、加算器46では、p/2サイクルか
けて「Aの上位側」+「Bの上位側」+1が計算され、
シリアル/パラレル変換回路66でこの加算結果はパラ
レル化される。シリアル/パラレル変換回路66の出力
結果は「Aの上位側」+「Bの上位側」+1であり、即
ち下位ビット側から上位ビット側への(p/2)rビッ
ト目への桁上げ(キャリ)が1であったと仮定した場合
の「A+B」の加算結果の(p/2)r〜pr−1ビッ
ト目出力となる。
けて「Aの上位側」+「Bの上位側」+1が計算され、
シリアル/パラレル変換回路66でこの加算結果はパラ
レル化される。シリアル/パラレル変換回路66の出力
結果は「Aの上位側」+「Bの上位側」+1であり、即
ち下位ビット側から上位ビット側への(p/2)rビッ
ト目への桁上げ(キャリ)が1であったと仮定した場合
の「A+B」の加算結果の(p/2)r〜pr−1ビッ
ト目出力となる。
【0026】120は2入力1出力セレクタ群であり、
レジスタ54の出力値が0のときはシリアル/パラレル
変換回路65の出力を選択して、1のときはシリアル/
パラレル変換回路66の出力を選択する。
レジスタ54の出力値が0のときはシリアル/パラレル
変換回路65の出力を選択して、1のときはシリアル/
パラレル変換回路66の出力を選択する。
【0027】さて、p/2サイクル後には、実際に下位
ビット側から上位ビット側への、即ち(p/2)rビッ
ト目への桁上げ(キャリ)が0であるのか、1であるの
かが、レジスタ54の出力値をみればわかる。そこで、
レジスタ54の出力値により、セレクタ群120で、シ
リアル/パラレル変換回路65の出力もしくはシリアル
/パラレル変換回路66の出力を選択すれば、「A+
B」の加算結果の(p/2)r〜pr−1ビット目が求
まる。なお図1の太線は、rビットのバス線を示す。さ
らに、各入力データを上位側と下位側の2つに分けるの
ではなく、3つ以上のグループに分けることも可能であ
る。
ビット側から上位ビット側への、即ち(p/2)rビッ
ト目への桁上げ(キャリ)が0であるのか、1であるの
かが、レジスタ54の出力値をみればわかる。そこで、
レジスタ54の出力値により、セレクタ群120で、シ
リアル/パラレル変換回路65の出力もしくはシリアル
/パラレル変換回路66の出力を選択すれば、「A+
B」の加算結果の(p/2)r〜pr−1ビット目が求
まる。なお図1の太線は、rビットのバス線を示す。さ
らに、各入力データを上位側と下位側の2つに分けるの
ではなく、3つ以上のグループに分けることも可能であ
る。
【0028】こうして上述の装置によれば、入力データ
をm個のグループに分け、各グループ内で、下位ビット
側のグループからの桁上げ(キャリ)が0のときと、1
のときの、2種類の計算を行い、下位ビット側のグルー
プでの加算が終り、上位ビット側のグループへの桁上げ
(キャリ)が求まった時刻において、そのキャリの値に
より、キャリが0と仮定したときの上記加算結果とキャ
リが1と仮定したときの上記加算結果のどちらかを選択
するようにしたことにより、従来よりもさらに処理速度
を高速化できるものである。
をm個のグループに分け、各グループ内で、下位ビット
側のグループからの桁上げ(キャリ)が0のときと、1
のときの、2種類の計算を行い、下位ビット側のグルー
プでの加算が終り、上位ビット側のグループへの桁上げ
(キャリ)が求まった時刻において、そのキャリの値に
より、キャリが0と仮定したときの上記加算結果とキャ
リが1と仮定したときの上記加算結果のどちらかを選択
するようにしたことにより、従来よりもさらに処理速度
を高速化できるものである。
【0029】さらに本発明の他の実施例を図2に記す。
なおこの実施例の説明に先立って、図2で使用されてい
るシフトレジスタについての説明する。このシフトレジ
スタの実際の回路構成を図3のA、B、Cを用いて説明
する。すなわち図2では、図3のAのように書いてある
が、実際には例えば同図のBあるいは同図のCの構成を
している。図3のA、B、Cの太線は、rビットのバス
線を示す。
なおこの実施例の説明に先立って、図2で使用されてい
るシフトレジスタについての説明する。このシフトレジ
スタの実際の回路構成を図3のA、B、Cを用いて説明
する。すなわち図2では、図3のAのように書いてある
が、実際には例えば同図のBあるいは同図のCの構成を
している。図3のA、B、Cの太線は、rビットのバス
線を示す。
【0030】即ち、図3のBに示すパラレルロード入力
端子I1 〜Ik (図2ではk=p)から、それぞれrビ
ットのデータ(合計krビット)が単位遅延素子(レジ
スタ)2b11〜2b1kにセレクタ2b21〜2b2kを介し
て格納される。このセレクタの制御は、セレクタ制御回
路により行われる。セレクタ2b21〜2b2kは連動して
切れ代わる(データI1 〜Ik を取り込んだ後は、セレ
クタ2b21〜2b2kはそれぞれレジスタ2b12〜2b1k
出力及びin側にする)。従って、単位時間(1サイク
ル間)たつと、レジスタ2b11に格納されていたデータ
I1 がシリアル出力端子outより出力され、同時に、
レジスタ2b12〜2b1kに格納されていたデータI2 〜
Ik はレジスタ2b11〜2b1k-1に格納され、さらにシ
リアル入力端子inから入力されてきたrビットのデー
タ(in1とする)が2b1kに格納される。
端子I1 〜Ik (図2ではk=p)から、それぞれrビ
ットのデータ(合計krビット)が単位遅延素子(レジ
スタ)2b11〜2b1kにセレクタ2b21〜2b2kを介し
て格納される。このセレクタの制御は、セレクタ制御回
路により行われる。セレクタ2b21〜2b2kは連動して
切れ代わる(データI1 〜Ik を取り込んだ後は、セレ
クタ2b21〜2b2kはそれぞれレジスタ2b12〜2b1k
出力及びin側にする)。従って、単位時間(1サイク
ル間)たつと、レジスタ2b11に格納されていたデータ
I1 がシリアル出力端子outより出力され、同時に、
レジスタ2b12〜2b1kに格納されていたデータI2 〜
Ik はレジスタ2b11〜2b1k-1に格納され、さらにシ
リアル入力端子inから入力されてきたrビットのデー
タ(in1とする)が2b1kに格納される。
【0031】さらに、単位時間(1サイクル間)たつと
レジスタ2b11に格納されていたデータI2 がシリアル
出力端子outより出力され、同時に、レジスタ2b12
〜2b1kに格納されていたデータI3 〜Ik 及びin1
はレジスタ2b11〜2b1k-1に格納され、さらにシリア
ル入力端子inから入力されてきたrビットのデータ
(in2 とする)がレジスタ2b1kに格納される。
レジスタ2b11に格納されていたデータI2 がシリアル
出力端子outより出力され、同時に、レジスタ2b12
〜2b1kに格納されていたデータI3 〜Ik 及びin1
はレジスタ2b11〜2b1k-1に格納され、さらにシリア
ル入力端子inから入力されてきたrビットのデータ
(in2 とする)がレジスタ2b1kに格納される。
【0032】以下、同様の操作が行われ、順次データI
3 、I4 、...Ik がシリアル出力端子outより出
力され、同時に、シリアル入力端子inから入力されて
きたrビットのデータ(in3 〜ink )がレジスタ2
b13〜2b1kに格納される。
3 、I4 、...Ik がシリアル出力端子outより出
力され、同時に、シリアル入力端子inから入力されて
きたrビットのデータ(in3 〜ink )がレジスタ2
b13〜2b1kに格納される。
【0033】そして、データI1 〜Ik がシリアル出力
端子outより出力され終り、データin1 〜ink が
レジスタ2b11〜2b1kに格納された時点でパラレル出
力端子OO1 〜OOk からデータを取り出すことにより
in1 〜ink がパラレルに出力される。
端子outより出力され終り、データin1 〜ink が
レジスタ2b11〜2b1kに格納された時点でパラレル出
力端子OO1 〜OOk からデータを取り出すことにより
in1 〜ink がパラレルに出力される。
【0034】また、図3のCにおいては、パラレルロー
ド入力端子I1〜Ik から入力されてきたデータをスイ
ッチ3b21〜3b2kをonすることにより、rビットの
データを記憶するメモリ素子3b11〜3b1kに格納す
る。スイッチ3b21〜3b2kの制御は、スイッチ制御回
路により行われる。スイッチ3b21〜3b2kは連動して
切れ代わる。なおデータI1 〜Ik を取り込んだ後は、
スイッチ3b21〜3b2kはoffする。
ド入力端子I1〜Ik から入力されてきたデータをスイ
ッチ3b21〜3b2kをonすることにより、rビットの
データを記憶するメモリ素子3b11〜3b1kに格納す
る。スイッチ3b21〜3b2kの制御は、スイッチ制御回
路により行われる。スイッチ3b21〜3b2kは連動して
切れ代わる。なおデータI1 〜Ik を取り込んだ後は、
スイッチ3b21〜3b2kはoffする。
【0035】単位時間(1サイクル間)たつと、スイッ
チ3b41をonすることにより、メモリ素子3b11に格
納されていたデータI1 がシリアル出力端子outより
出力され、同時に、スイッチ3b31をonすることによ
り、シリアル入力端子inから入力されてきたデータ
(in1 とする)がメモリ素子3b11に格納される。
チ3b41をonすることにより、メモリ素子3b11に格
納されていたデータI1 がシリアル出力端子outより
出力され、同時に、スイッチ3b31をonすることによ
り、シリアル入力端子inから入力されてきたデータ
(in1 とする)がメモリ素子3b11に格納される。
【0036】さらに、単位時間(1サイクル間)たつ
と、スイッチ3b42をonすることにより、メモリ素子
3b12に格納されていたデータI2 がシリアル出力端子
outより出力され、同時に、スイッチ3b32をonす
ることにより、シリアル入力端子inから入力されてき
たデータ(in2 とする。)がメモリ素子3b12に格納
される。
と、スイッチ3b42をonすることにより、メモリ素子
3b12に格納されていたデータI2 がシリアル出力端子
outより出力され、同時に、スイッチ3b32をonす
ることにより、シリアル入力端子inから入力されてき
たデータ(in2 とする。)がメモリ素子3b12に格納
される。
【0037】以下、同様の操作が行われ、順次データI
3 、I4 、・・・Ik がシリアル出力端子outより出
力され、同時に、シリアル入力端子inから入力されて
きたrビットのデータ(in3 〜ink )がメモリ素子
3b13〜3b1kに格納される。
3 、I4 、・・・Ik がシリアル出力端子outより出
力され、同時に、シリアル入力端子inから入力されて
きたrビットのデータ(in3 〜ink )がメモリ素子
3b13〜3b1kに格納される。
【0038】そして、データI1 〜Ik がシリアル出力
端子outより出力され終り、in 1 〜ink がメモリ
素子3b11〜3b1kに格納された時点でパラレル出力端
子OO1 〜OOk からデータを取り出すことにより、i
n1 〜ink がパラレルに出力される。
端子outより出力され終り、in 1 〜ink がメモリ
素子3b11〜3b1kに格納された時点でパラレル出力端
子OO1 〜OOk からデータを取り出すことにより、i
n1 〜ink がパラレルに出力される。
【0039】図3のB、図3のCにおいて、注意して欲
しい点は、レジスタもしくはメモリ素子が合計krビッ
ト分しかないことであり、これは、パラレルにデータを
取り込んでシリアルに出力するパラレル/シリアル変換
回路と、同程度の回路規模である。なお、パラレル/シ
リアル変換回路もパラレルにデータを取り込むために、
合計krビット分のレジスタもしくはメモリ素子が必要
である。
しい点は、レジスタもしくはメモリ素子が合計krビッ
ト分しかないことであり、これは、パラレルにデータを
取り込んでシリアルに出力するパラレル/シリアル変換
回路と、同程度の回路規模である。なお、パラレル/シ
リアル変換回路もパラレルにデータを取り込むために、
合計krビット分のレジスタもしくはメモリ素子が必要
である。
【0040】このように、本発明で用いているシフトレ
ジスタは、パラレルロード入力端子から入力されてきた
データをシリアル出力端子から順々に出力するととも
に、シリアル入力端子から入力されてきたデータをパラ
レル出力端子からパラレルに出力する回路のことをさし
ており、図3のB、Cに限定されるものではない。
ジスタは、パラレルロード入力端子から入力されてきた
データをシリアル出力端子から順々に出力するととも
に、シリアル入力端子から入力されてきたデータをパラ
レル出力端子からパラレルに出力する回路のことをさし
ており、図3のB、Cに限定されるものではない。
【0041】そこで図2において、この図は、m=2の
場合である。この図において、パラレル/シリアル変換
回路14、シフトレジスタ74、セレクタ34、rビッ
ト加算器44、及びレジスタ54と、シフトレジスタ7
5、シフトレジスタ76、セレクタ35、rビット加算
器45、及びレジスタ55と、シフトレジスタ75、シ
フトレジスタ76、セレクタ36、rビット加算器4
6、及びレジスタ56の構成はそれぞれ上述の図1とほ
ぼ同じなので、説明は省略する。違う点は、図1は、パ
ラレル/シリアル変換回路及びシフトレジスタに取り込
んだデータprビットを、rビットずつpサイクルかけ
て出力して、その出力データをrビット加算器でpサイ
クルかけて加算を行っていたのに対し、この実施例(図
3)では、各パラレル/シリアル変換回路及びシフトレ
ジスタにはpr/2ビットしか取り込まず、rビットず
つp/2サイクルかけて出力して、その出力データをr
ビット加算器でp/2サイクルかけて加算を行っている
点である。
場合である。この図において、パラレル/シリアル変換
回路14、シフトレジスタ74、セレクタ34、rビッ
ト加算器44、及びレジスタ54と、シフトレジスタ7
5、シフトレジスタ76、セレクタ35、rビット加算
器45、及びレジスタ55と、シフトレジスタ75、シ
フトレジスタ76、セレクタ36、rビット加算器4
6、及びレジスタ56の構成はそれぞれ上述の図1とほ
ぼ同じなので、説明は省略する。違う点は、図1は、パ
ラレル/シリアル変換回路及びシフトレジスタに取り込
んだデータprビットを、rビットずつpサイクルかけ
て出力して、その出力データをrビット加算器でpサイ
クルかけて加算を行っていたのに対し、この実施例(図
3)では、各パラレル/シリアル変換回路及びシフトレ
ジスタにはpr/2ビットしか取り込まず、rビットず
つp/2サイクルかけて出力して、その出力データをr
ビット加算器でp/2サイクルかけて加算を行っている
点である。
【0042】従って、従来p重の時分割多重処理で、即
ちpサイクルかけて処理していたのに対し、本発明で
は、p/2重の時分割多重処理で、即ちp/2サイクル
かけて処理しているので、従来の2倍の高速処理が可能
となる。そして、もう1つ従来と違う点は、演算の最初
にセレクタ36は、レジスタ56の出力側でない方をセ
レクトするわけであるが、この値は1であり、即ち(p
/2)rビット目への桁上げ(キャリ)が1として、加
算器46は計算していくことになる。また(p/2)r
ビット目への桁上げ(キャリ)が0として計算していく
加算器45の和出力(S)は、シフトレジスタ75に、
桁上げが1として計算していく加算器46の和出力
(S)は、シフトレジスタ76にシリアル入力される。
ちpサイクルかけて処理していたのに対し、本発明で
は、p/2重の時分割多重処理で、即ちp/2サイクル
かけて処理しているので、従来の2倍の高速処理が可能
となる。そして、もう1つ従来と違う点は、演算の最初
にセレクタ36は、レジスタ56の出力側でない方をセ
レクトするわけであるが、この値は1であり、即ち(p
/2)rビット目への桁上げ(キャリ)が1として、加
算器46は計算していくことになる。また(p/2)r
ビット目への桁上げ(キャリ)が0として計算していく
加算器45の和出力(S)は、シフトレジスタ75に、
桁上げが1として計算していく加算器46の和出力
(S)は、シフトレジスタ76にシリアル入力される。
【0043】すなわち、パラレル/シリアル変換回路1
4、シフトレジスタ74、セレクタ34、rビット加算
器44、及びレジスタ54で入力データAの下位側=
(A(p /2)r-1〔MSB〕,A(p/2)r-2,・・・A1,A0
〔LSB〕)及びBの下位側=(B(p/2)r-1〔MS
B〕,B(p/2)r-2,・・・B1,B0 〔LSB〕)の加算
を行い、その加算結果を順次rビットずつ加算器44の
和出力(S)から出力していく。
4、シフトレジスタ74、セレクタ34、rビット加算
器44、及びレジスタ54で入力データAの下位側=
(A(p /2)r-1〔MSB〕,A(p/2)r-2,・・・A1,A0
〔LSB〕)及びBの下位側=(B(p/2)r-1〔MS
B〕,B(p/2)r-2,・・・B1,B0 〔LSB〕)の加算
を行い、その加算結果を順次rビットずつ加算器44の
和出力(S)から出力していく。
【0044】この加算結果、すなわち加算器44の和出
力(S)からの出力結果は、シフトレジスタ74に取り
込まれ、シフトレジスタ74のパラレル出力端子からパ
ラレルに出力される。これらの加算は、p/2サイクル
かけて行われ、そしてp/2サイクル後には、下位ビッ
ト側から上位ビット側への、即ち(p/2)rビット目
への桁上げ(キャリ)が加算器44の桁上げ出力(C
o)から出力されており、このキャリはレジスタ54に
格納される。
力(S)からの出力結果は、シフトレジスタ74に取り
込まれ、シフトレジスタ74のパラレル出力端子からパ
ラレルに出力される。これらの加算は、p/2サイクル
かけて行われ、そしてp/2サイクル後には、下位ビッ
ト側から上位ビット側への、即ち(p/2)rビット目
への桁上げ(キャリ)が加算器44の桁上げ出力(C
o)から出力されており、このキャリはレジスタ54に
格納される。
【0045】ところで、上位ビット側のデータであるA
の上位側=(Apr-1〔MSB〕,A pr-2,・・・A
(p/2)r+1,A(p/2)r〔LSB〕)及びBの上位側=(B
pr-1〔MSB〕,Bpr-2,・・・B(p/2)r+1,B(p/2)r
〔LSB〕)は、シフトレジスタ75、76によりそれ
ぞれrビットずつ順々に加算器45及び46に供給され
る。
の上位側=(Apr-1〔MSB〕,A pr-2,・・・A
(p/2)r+1,A(p/2)r〔LSB〕)及びBの上位側=(B
pr-1〔MSB〕,Bpr-2,・・・B(p/2)r+1,B(p/2)r
〔LSB〕)は、シフトレジスタ75、76によりそれ
ぞれrビットずつ順々に加算器45及び46に供給され
る。
【0046】従って、加算器45では、p/2サイクル
かけて「Aの上位側」+「Bの上位側」が計算され、シ
フトレジスタ75にシリアル入力される。p/2サイク
ル後にシフトレジスタ75からパラレル出力される値は
「Aの上位側」+「Bの上位側」であり、即ち下位ビッ
ト側から上位ビット側への(p/2)rビット目への桁
上げ(キャリ)が0であったと仮定した場合の「A+
B」の加算結果の(p/2)r〜pr−1ビット目出力
となる。
かけて「Aの上位側」+「Bの上位側」が計算され、シ
フトレジスタ75にシリアル入力される。p/2サイク
ル後にシフトレジスタ75からパラレル出力される値は
「Aの上位側」+「Bの上位側」であり、即ち下位ビッ
ト側から上位ビット側への(p/2)rビット目への桁
上げ(キャリ)が0であったと仮定した場合の「A+
B」の加算結果の(p/2)r〜pr−1ビット目出力
となる。
【0047】また、加算器46では、p/2サイクルか
けて「Aの上位側」+「Bの上位側」+1が計算され、
シフトレジスタ76にシリアル入力される。p/2サイ
クル後にシフトレジスタ76からパラレル出力される値
は「Aの上位側」+「Bの上位側」+1であり、即ち下
位ビット側から上位ビット側への(p/2)rビット目
への桁上げ(キャリ)が1であったと仮定した場合の
「A+B」の加算結果の(p/2)r〜pr−1ビット
目出力となる。
けて「Aの上位側」+「Bの上位側」+1が計算され、
シフトレジスタ76にシリアル入力される。p/2サイ
クル後にシフトレジスタ76からパラレル出力される値
は「Aの上位側」+「Bの上位側」+1であり、即ち下
位ビット側から上位ビット側への(p/2)rビット目
への桁上げ(キャリ)が1であったと仮定した場合の
「A+B」の加算結果の(p/2)r〜pr−1ビット
目出力となる。
【0048】120は2入力1出力セレクタ群であり、
レジスタ54の出力値が0のときはシフトレジスタ75
の出力を選択して、1のときはシフトレジスタ76の出
力を選択する。
レジスタ54の出力値が0のときはシフトレジスタ75
の出力を選択して、1のときはシフトレジスタ76の出
力を選択する。
【0049】さて、p/2サイクル後には、実際に下位
ビット側から上位ビット側への、即ち(p/2)rビッ
ト目への桁上げ(キャリ)が0であるのか、1であるの
かが、レジスタ54の出力値をみればわかる。そこで、
レジスタ54の出力値により、セレクタ群120で、シ
フトレジスタ75の出力もしくはシフトレジスタ76の
出力を選択すれば、「A+B」の加算結果の(p/2)
r〜pr−1ビット目が求まる。なお図2の太線は、r
ビットのバス線を示す。さらに、各入力データを上位側
と下位側の2つに分けるのではなく、3つ以上のグルー
プに分けることも可能である。
ビット側から上位ビット側への、即ち(p/2)rビッ
ト目への桁上げ(キャリ)が0であるのか、1であるの
かが、レジスタ54の出力値をみればわかる。そこで、
レジスタ54の出力値により、セレクタ群120で、シ
フトレジスタ75の出力もしくはシフトレジスタ76の
出力を選択すれば、「A+B」の加算結果の(p/2)
r〜pr−1ビット目が求まる。なお図2の太線は、r
ビットのバス線を示す。さらに、各入力データを上位側
と下位側の2つに分けるのではなく、3つ以上のグルー
プに分けることも可能である。
【0050】こうして上述の装置によれば、入力データ
をm個のグループに分け、各グループ内で、下位ビット
側のグループからの桁上げ(キャリ)が0のときと、1
のときの、2種類の計算を行い、下位ビット側のグルー
プでの加算が終り、上位ビット側のグループへの桁上げ
(キャリ)が求まった時刻において、そのキャリの値に
より、キャリが0と仮定したときの上記加算結果とキャ
リが1と仮定したときの上記加算結果のどちらかを選択
するようにしたことにより、従来よりもさらに処理速度
を高速化できるものである。また入力段にある1つのパ
ラレル/シリアル変換回路と、出力段にあるシリアル/
パラレル変換回路を、1つのシフトレジスタで兼用する
ことにより、回路をより小さくできる。すなわち合計4
(rp/2)=2rpビットのデータを保持する回路規
模とすることができるものである。
をm個のグループに分け、各グループ内で、下位ビット
側のグループからの桁上げ(キャリ)が0のときと、1
のときの、2種類の計算を行い、下位ビット側のグルー
プでの加算が終り、上位ビット側のグループへの桁上げ
(キャリ)が求まった時刻において、そのキャリの値に
より、キャリが0と仮定したときの上記加算結果とキャ
リが1と仮定したときの上記加算結果のどちらかを選択
するようにしたことにより、従来よりもさらに処理速度
を高速化できるものである。また入力段にある1つのパ
ラレル/シリアル変換回路と、出力段にあるシリアル/
パラレル変換回路を、1つのシフトレジスタで兼用する
ことにより、回路をより小さくできる。すなわち合計4
(rp/2)=2rpビットのデータを保持する回路規
模とすることができるものである。
【0051】さらに各入力データを上位側と下位側の2
つに分けるのではなく、3つ以上のグループに分けるこ
とも可能である。すなわち4つのグループに分けた例
を、図4に示す。図4は(A15,A14,・・・A
1,A0 )と(B15,B14,・・・B1,B0 )を加算し
て、(O15,O14,・・・O1,O0 )を出力する回路で
ある。
つに分けるのではなく、3つ以上のグループに分けるこ
とも可能である。すなわち4つのグループに分けた例
を、図4に示す。図4は(A15,A14,・・・A
1,A0 )と(B15,B14,・・・B1,B0 )を加算し
て、(O15,O14,・・・O1,O0 )を出力する回路で
ある。
【0052】この図で(ア)は図2に示すパラレル/シ
リアル変換回路14、シフトレジスタ74、セレクタ3
4、rビット加算器44、及びレジスタ54で構成され
る部分で、各入出力の添え字(r、p)をr=1、p/
2−1=3としたものである。(イ)は図2に示すシフ
トレジスタ75、76、セレクタ35、36、rビット
加算器45、46、レジスタ55、56で構成される部
分で、各入出力の添え字(r、p)をr=1、p/2=
4、p/2+1=5、p/2+2=6、p−1=7とし
たものである。(ウ)は図2に示すシフトレジスタ7
5、76、セレクタ35、36、rビット加算器45、
46、レジスタ55、56で構成される部分で、各入出
力の添え字(r、p)をr=1、p/2=8、p/2+
1=9、p/2+2=10、p−1=11としたもので
ある。(エ)は図2に示すシフトレジスタ75、76、
セレクタ35、36、rビット加算器45、46、レジ
スタ55、56で構成される部分で、各入出力の添え字
(r、p)をr=1、p/2=12、p/2+1=1
3、p/2+2=14、p−1=15としたものであ
る。(オ)、(カ)、(キ)は図2に示すレジスタ群1
20と同じものであり、それぞれ2入力セレクタ4個か
ら成っている。(ク)、(ケ)はそれぞれ2入力セレク
タである。
リアル変換回路14、シフトレジスタ74、セレクタ3
4、rビット加算器44、及びレジスタ54で構成され
る部分で、各入出力の添え字(r、p)をr=1、p/
2−1=3としたものである。(イ)は図2に示すシフ
トレジスタ75、76、セレクタ35、36、rビット
加算器45、46、レジスタ55、56で構成される部
分で、各入出力の添え字(r、p)をr=1、p/2=
4、p/2+1=5、p/2+2=6、p−1=7とし
たものである。(ウ)は図2に示すシフトレジスタ7
5、76、セレクタ35、36、rビット加算器45、
46、レジスタ55、56で構成される部分で、各入出
力の添え字(r、p)をr=1、p/2=8、p/2+
1=9、p/2+2=10、p−1=11としたもので
ある。(エ)は図2に示すシフトレジスタ75、76、
セレクタ35、36、rビット加算器45、46、レジ
スタ55、56で構成される部分で、各入出力の添え字
(r、p)をr=1、p/2=12、p/2+1=1
3、p/2+2=14、p−1=15としたものであ
る。(オ)、(カ)、(キ)は図2に示すレジスタ群1
20と同じものであり、それぞれ2入力セレクタ4個か
ら成っている。(ク)、(ケ)はそれぞれ2入力セレク
タである。
【0053】データ(A3,A2,A1,A0 )と(B3,B2,
B1,B0 )は(ア)に入力され4サイクルかけて(O3,
O2,O1,O0 )及び4ビット目への桁上げ(キャリ)が
出力される。
B1,B0 )は(ア)に入力され4サイクルかけて(O3,
O2,O1,O0 )及び4ビット目への桁上げ(キャリ)が
出力される。
【0054】データ(A7,A6,A5,A4 )と(B7,B6,
B5,B4 )は(イ)に入力され4サイクルかけて4ビッ
ト目への桁上げ(キャリ)が0であると仮定した場合の
加算結果と8ビット目への桁上げ(キャリ)をそれぞれ
(イ)の75出力と55出力から出力する。そして、同
時に4ビット目への桁上げ(キャリ)が1であると仮定
した場合の加算結果と8ビット目への桁上げ(キャリ)
をそれぞれ(イ)の76出力と56出力から出力する。
B5,B4 )は(イ)に入力され4サイクルかけて4ビッ
ト目への桁上げ(キャリ)が0であると仮定した場合の
加算結果と8ビット目への桁上げ(キャリ)をそれぞれ
(イ)の75出力と55出力から出力する。そして、同
時に4ビット目への桁上げ(キャリ)が1であると仮定
した場合の加算結果と8ビット目への桁上げ(キャリ)
をそれぞれ(イ)の76出力と56出力から出力する。
【0055】これら加算結果は、(ア)の54出力(4
ビット目への桁上げ(キャリ))により、(オ)でどち
らか一方のみが選択され、(O7,O6,O5,O4 )として
出力される。また、これらキャリは、(ア)の54出力
(4ビット目への桁上げ(キャリ))により(ク)でど
ちらか一方のみが選択され、8ビット目への桁上げ(キ
ャリ))となり(カ)(ケ)の選択信号として使用され
る。
ビット目への桁上げ(キャリ))により、(オ)でどち
らか一方のみが選択され、(O7,O6,O5,O4 )として
出力される。また、これらキャリは、(ア)の54出力
(4ビット目への桁上げ(キャリ))により(ク)でど
ちらか一方のみが選択され、8ビット目への桁上げ(キ
ャリ))となり(カ)(ケ)の選択信号として使用され
る。
【0056】データ(A11,A10,A9,A8 )と
(B11,B10,B9,B8 )は(ウ)に入力され4サイク
ルかけて8ビット目への桁上げ(キャリ)が0であると
仮定した場合の加算結果と12ビット目への桁上げ(キ
ャリ)をそれぞれ(ウ)の75出力と55出力から出力
する。そして、同時に8ビット目への桁上げ(キャリ)
が1であると仮定した場合の加算結果と12ビット目へ
の桁上げ(キャリ)をそれぞれ(ウ)の76出力と56
出力から出力する。
(B11,B10,B9,B8 )は(ウ)に入力され4サイク
ルかけて8ビット目への桁上げ(キャリ)が0であると
仮定した場合の加算結果と12ビット目への桁上げ(キ
ャリ)をそれぞれ(ウ)の75出力と55出力から出力
する。そして、同時に8ビット目への桁上げ(キャリ)
が1であると仮定した場合の加算結果と12ビット目へ
の桁上げ(キャリ)をそれぞれ(ウ)の76出力と56
出力から出力する。
【0057】これら加算結果は、(ク)の出力(8ビッ
ト目への桁上げ(キャリ))により、(カ)でどちらか
一方のみが選択され、(O11,O10,O9,O8 )として
出力される。また、これらキャリは、(ク)の出力(8
ビット目への桁上げ(キャリ))により(ケ)でどちら
か一方のみが選択され、12ビット目への桁上げ(キャ
リ))となり(キ)の選択信号として使用される。
ト目への桁上げ(キャリ))により、(カ)でどちらか
一方のみが選択され、(O11,O10,O9,O8 )として
出力される。また、これらキャリは、(ク)の出力(8
ビット目への桁上げ(キャリ))により(ケ)でどちら
か一方のみが選択され、12ビット目への桁上げ(キャ
リ))となり(キ)の選択信号として使用される。
【0058】データ(A15,A14,A13,A12)と(B
15,B14,B13,B12)は(エ)に入力され4サイクル
かけて12ビット目への桁上げ(キャリ)が0であると
仮定した場合の加算結果を(エ)の75出力から出力す
る。そして、同時に12ビット目への桁上げ(キャリ)
が1であると仮定した場合の加算結果を(エ)の76出
力から出力する。
15,B14,B13,B12)は(エ)に入力され4サイクル
かけて12ビット目への桁上げ(キャリ)が0であると
仮定した場合の加算結果を(エ)の75出力から出力す
る。そして、同時に12ビット目への桁上げ(キャリ)
が1であると仮定した場合の加算結果を(エ)の76出
力から出力する。
【0059】これら加算結果は、(ケ)の出力(12ビ
ット目への桁上げ(キャリ))により、(キ)でどちら
か一方のみが選択され、(O15,O14,O13,O12)と
して出力される。
ット目への桁上げ(キャリ))により、(キ)でどちら
か一方のみが選択され、(O15,O14,O13,O12)と
して出力される。
【0060】なお図4では、(ア)の54出力が
(ク)、(ケ)を介して(キ)まで信号が伝播するのに
時間がかかり過ぎるという欠点がある。そこでこれを克
服する回路例として、図5を記す。
(ク)、(ケ)を介して(キ)まで信号が伝播するのに
時間がかかり過ぎるという欠点がある。そこでこれを克
服する回路例として、図5を記す。
【0061】図5は(A17,A16,・・・A1,A0 )と
(B17,B16,・・・B1,B0 )を加算して、(O17,
O16,・・・O1,O0 )を出力する回路である。
(B17,B16,・・・B1,B0 )を加算して、(O17,
O16,・・・O1,O0 )を出力する回路である。
【0062】この図で(タ)は図2に示すパラレル/シ
リアル変換回路14、シフトレジスタ74、セレクタ3
4、rビット加算器44、及びレジスタ54で構成され
る部分で、各入出力の添え字(r、p)をr=1、p/
2−1=2としたものである。(チ)は図2に示すシフ
トレジスタ75、76、セレクタ35、36、rビット
加算器45、46、レジスタ55、56で構成される部
分で、各入出力の添え字(r、p)をr=1、p/2=
3、p/2+1=4、p/2+2=5、p−1=6とし
たものである。(ツ)は図2に示すシフトレジスタ7
5、76、セレクタ35、36、rビット加算器45、
46、レジスタ55、56で構成される部分で、各入出
力の添え字(r、p)をr=1、p/2=7、p/2+
1=8、p/2+2=9、p/2+3=10、p−1=
11としたものである。(テ)は図2に示すシフトレジ
スタ75、76、セレクタ35、36、rビット加算器
45、46、レジスタ55、56で構成される部分で、
各入出力の添え字(r、p)をr=1、p/2=12、
p/2+1=13、p/2+2=14、p/2+3=1
5、p/2+4=16、p−1=17としたものであ
る。(ト)、(ナ)、(ニ)は図2に示すレジスタ群1
20と同じものであり、それぞれ2入力セレクタ4個、
5個、6個から成っている。(ヌ)、(ネ)はそれぞれ
2入力セレクタである。(ノ)、(ハ)、(ヒ)はデー
タ保持回路である。
リアル変換回路14、シフトレジスタ74、セレクタ3
4、rビット加算器44、及びレジスタ54で構成され
る部分で、各入出力の添え字(r、p)をr=1、p/
2−1=2としたものである。(チ)は図2に示すシフ
トレジスタ75、76、セレクタ35、36、rビット
加算器45、46、レジスタ55、56で構成される部
分で、各入出力の添え字(r、p)をr=1、p/2=
3、p/2+1=4、p/2+2=5、p−1=6とし
たものである。(ツ)は図2に示すシフトレジスタ7
5、76、セレクタ35、36、rビット加算器45、
46、レジスタ55、56で構成される部分で、各入出
力の添え字(r、p)をr=1、p/2=7、p/2+
1=8、p/2+2=9、p/2+3=10、p−1=
11としたものである。(テ)は図2に示すシフトレジ
スタ75、76、セレクタ35、36、rビット加算器
45、46、レジスタ55、56で構成される部分で、
各入出力の添え字(r、p)をr=1、p/2=12、
p/2+1=13、p/2+2=14、p/2+3=1
5、p/2+4=16、p−1=17としたものであ
る。(ト)、(ナ)、(ニ)は図2に示すレジスタ群1
20と同じものであり、それぞれ2入力セレクタ4個、
5個、6個から成っている。(ヌ)、(ネ)はそれぞれ
2入力セレクタである。(ノ)、(ハ)、(ヒ)はデー
タ保持回路である。
【0063】データ(A2,A1,A0 )と(B2,B
1,B0 )は(タ)に入力され3サイクルかけて(O2,O
1,O0 )及び3ビット目への桁上げ(キャリ)が出力さ
れる。3ビット目への桁上げ(キャリ)は(ノ)に保持
され続ける。
1,B0 )は(タ)に入力され3サイクルかけて(O2,O
1,O0 )及び3ビット目への桁上げ(キャリ)が出力さ
れる。3ビット目への桁上げ(キャリ)は(ノ)に保持
され続ける。
【0064】データ(A6,A5,A4,A3 )と(B6,B5,
B4,B3 )は(チ)に入力され4サイクルかけて、3ビ
ット目への桁上げ(キャリ)が0であると仮定した場合
の加算結果と7ビット目への桁上げ(キャリ)を、それ
ぞれ(チ)の75出力と55出力から出力する。そし
て、同時に3ビット目への桁上げ(キャリ)が1である
と仮定した場合の加算結果と7ビット目への桁上げ(キ
ャリ)を、それぞれ(チ)の76出力と56出力から出
力する。
B4,B3 )は(チ)に入力され4サイクルかけて、3ビ
ット目への桁上げ(キャリ)が0であると仮定した場合
の加算結果と7ビット目への桁上げ(キャリ)を、それ
ぞれ(チ)の75出力と55出力から出力する。そし
て、同時に3ビット目への桁上げ(キャリ)が1である
と仮定した場合の加算結果と7ビット目への桁上げ(キ
ャリ)を、それぞれ(チ)の76出力と56出力から出
力する。
【0065】これら加算結果は、4サイクル目終了後に
(ノ)の出力(3ビット目への桁上げ(キャリ))によ
り、(ト)でどちらか一方のみが選択され、(O6,O5,
O4,O3 )として出力される。また、これらキャリは、
4サイクル目終了後に(ノ)の出力(3ビット目への桁
上げ(キャリ))により(ヌ)でどちらか一方のみが選
択され、7ビット目への桁上げ(キャリ)となり、
(ハ)に保持され続ける。
(ノ)の出力(3ビット目への桁上げ(キャリ))によ
り、(ト)でどちらか一方のみが選択され、(O6,O5,
O4,O3 )として出力される。また、これらキャリは、
4サイクル目終了後に(ノ)の出力(3ビット目への桁
上げ(キャリ))により(ヌ)でどちらか一方のみが選
択され、7ビット目への桁上げ(キャリ)となり、
(ハ)に保持され続ける。
【0066】データ(A11,A10,A9,A8,A7 )と
(B11,B10,B9,B8,B7 )は(チ)に入力され5サ
イクルかけて、7ビット目への桁上げ(キャリ)が0で
あると仮定した場合の加算結果と12ビット目への桁上
げ(キャリ)をそれぞれ(ツ)の75出力と55出力か
ら出力する。そして、同時に7ビット目への桁上げ(キ
ャリ)が1であると仮定した場合の加算結果と12ビッ
ト目への桁上げ(キャリ)をそれぞれ(ツ)の76出力
と56出力から出力する。
(B11,B10,B9,B8,B7 )は(チ)に入力され5サ
イクルかけて、7ビット目への桁上げ(キャリ)が0で
あると仮定した場合の加算結果と12ビット目への桁上
げ(キャリ)をそれぞれ(ツ)の75出力と55出力か
ら出力する。そして、同時に7ビット目への桁上げ(キ
ャリ)が1であると仮定した場合の加算結果と12ビッ
ト目への桁上げ(キャリ)をそれぞれ(ツ)の76出力
と56出力から出力する。
【0067】これら加算結果は、5サイクル目終了後に
(ハ)の出力(7ビット目への桁上げ(キャリ))によ
り、(ナ)でどちらか一方のみが選択され、(O11,O
10,O9,O8,O7 )として出力される。また、これらキ
ャリは、5サイクル目終了後に(ハ)の出力(7ビット
目への桁上げ(キャリ))により(ネ)でどちらか一方
のみが選択され、12ビット目への桁上げ(キャリ))
となり、(ヒ)に保持され続ける。
(ハ)の出力(7ビット目への桁上げ(キャリ))によ
り、(ナ)でどちらか一方のみが選択され、(O11,O
10,O9,O8,O7 )として出力される。また、これらキ
ャリは、5サイクル目終了後に(ハ)の出力(7ビット
目への桁上げ(キャリ))により(ネ)でどちらか一方
のみが選択され、12ビット目への桁上げ(キャリ))
となり、(ヒ)に保持され続ける。
【0068】データ(A17,A16,A15,A14,A13,
A12)と(B17,B16,B15,B14,B13,B12)は
(テ)に入力され6サイクルかけて、12ビット目への
桁上げ(キャリ)が0であると仮定した場合の加算結果
を(テ)の75出力から出力する。そして、同時に12
ビット目への桁上げ(キャリ)が1であると仮定した場
合の加算結果を(テ)の76出力から出力する。
A12)と(B17,B16,B15,B14,B13,B12)は
(テ)に入力され6サイクルかけて、12ビット目への
桁上げ(キャリ)が0であると仮定した場合の加算結果
を(テ)の75出力から出力する。そして、同時に12
ビット目への桁上げ(キャリ)が1であると仮定した場
合の加算結果を(テ)の76出力から出力する。
【0069】これら加算結果は、6サイクル目終了後に
(ヒ)の出力(12ビット目への桁上げ(キャリ))に
より、(ニ)でどちらか一方のみが選択され、(O17,
O16,O15,O14,O13,O12)として出力される。
(ヒ)の出力(12ビット目への桁上げ(キャリ))に
より、(ニ)でどちらか一方のみが選択され、(O17,
O16,O15,O14,O13,O12)として出力される。
【0070】このように、(タ)、(チ)、(ツ)、
(テ)でそれぞれ3ビット分、4ビット分、5ビット
分、6ビット分を計算していくことにより、(タ)、
(チ)、(ツ)、(テ)で求まる上位ビットへの桁上げ
(キャリ)が、1サイクルずづ遅れるので、データ保持
回路(ノ)、(ハ)、(ヒ)を介することが出来、キャ
リの伝播をパイプライン化したことになる。従って、図
4のような伝播するのに時間がかかり過ぎるということ
が、なくなる。
(テ)でそれぞれ3ビット分、4ビット分、5ビット
分、6ビット分を計算していくことにより、(タ)、
(チ)、(ツ)、(テ)で求まる上位ビットへの桁上げ
(キャリ)が、1サイクルずづ遅れるので、データ保持
回路(ノ)、(ハ)、(ヒ)を介することが出来、キャ
リの伝播をパイプライン化したことになる。従って、図
4のような伝播するのに時間がかかり過ぎるということ
が、なくなる。
【0071】
【発明の効果】この発明によれば、入力データをm個の
グループに分け、各グループ内で、下位ビット側のグル
ープからの桁上げ(キャリ)が0のときと、1のとき
の、2種類の計算を行い、下位ビット側のグループでの
加算が終り、上位ビット側のグループへの桁上げ(キャ
リ)が求まった時刻において、そのキャリの値により、
キャリが0と仮定したときの上記加算結果とキャリが1
と仮定したときの上記加算結果のどちらかを選択するよ
うにしたことにより、従来よりもさらに処理速度を高速
化できるようになった。また入力段にある1つのパラレ
ル/シリアル変換回路と、出力段にあるシリアル/パラ
レル変換回路を、1つのシフトレジスタで兼用すること
により、回路をより小さくできる。すなわち合計4(r
p/2)=2rpビットのデータを保持する回路規模と
することができるようになった。
グループに分け、各グループ内で、下位ビット側のグル
ープからの桁上げ(キャリ)が0のときと、1のとき
の、2種類の計算を行い、下位ビット側のグループでの
加算が終り、上位ビット側のグループへの桁上げ(キャ
リ)が求まった時刻において、そのキャリの値により、
キャリが0と仮定したときの上記加算結果とキャリが1
と仮定したときの上記加算結果のどちらかを選択するよ
うにしたことにより、従来よりもさらに処理速度を高速
化できるようになった。また入力段にある1つのパラレ
ル/シリアル変換回路と、出力段にあるシリアル/パラ
レル変換回路を、1つのシフトレジスタで兼用すること
により、回路をより小さくできる。すなわち合計4(r
p/2)=2rpビットのデータを保持する回路規模と
することができるようになった。
【図1】本発明による加算回路の一例の構成図である。
【図2】本発明による加算回路の他の例の構成図であ
る。
る。
【図3】その説明のための図である。
【図4】その説明のための図である。
【図5】その説明のための図である。
【図6】従来の加算回路のの構成図である。
【図7】その説明のための図である。
14、24、15、25 パラレル/シリアル変換回路 34、35、36 セレクタ 44、45、46 rビット加算器 54、55、56 レジスタ 64、65、66 シリアル/パラレル変換回路 120 セレクタ群
Claims (2)
- 【請求項1】 パラレルに入力されてくる2組の入力デ
ータを加算して、その加算結果をパラレルに出力する加
算回路において、 各入力データを複数のグループに分け、各グループ毎に
パラレル/シリアル変換器を介して、加算器により下位
ビット側のグループからの桁上げが0の場合と、1の場
合の2通りの加算を行い、シリアル/パラレル変換器を
介して上記2通りの加算結果をパラレル出力するように
し、下位ビット側のグループでの加算が終り、上位ビッ
ト側のグループへの桁上げが求まった時点で、上記0の
場合と、1の場合のいずれかの加算結果を選択するよう
にしたことを特徴とする加算回路。 - 【請求項2】 パラレルに入力されてくる2組の入力デ
ータを加算して、その加算結果をパラレルに出力する加
算回路において、 各入力データを複数のグループに分け、各グループ毎に
シフトレジスタを介して、加算器により下位ビット側の
グループからの桁上げが0の場合と、1の場合の2通り
の加算を行い、加算結果を上記シフトレジスタに入力
し、上記シフトレジスタを介して上記2通りの加算結果
をパラレル出力するようにし、下位ビット側のグループ
での加算が終り、上位ビット側のグループへの桁上げが
求まった時点で、上記0の場合と、1の場合のいずれか
の加算結果を選択するようにしたことを特徴とする加算
回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30605191A JPH05143290A (ja) | 1991-11-21 | 1991-11-21 | 加算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30605191A JPH05143290A (ja) | 1991-11-21 | 1991-11-21 | 加算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05143290A true JPH05143290A (ja) | 1993-06-11 |
Family
ID=17952466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30605191A Pending JPH05143290A (ja) | 1991-11-21 | 1991-11-21 | 加算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05143290A (ja) |
-
1991
- 1991-11-21 JP JP30605191A patent/JPH05143290A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4472788A (en) | Shift circuit having a plurality of cascade-connected data selectors | |
JP2975041B2 (ja) | ディジタル信号処理プロセッサ | |
JP2610417B2 (ja) | アドレス信号生成方法及びその回路 | |
US4757444A (en) | Vector processor capable of performing iterative processing | |
US5675527A (en) | Multiplication device and sum of products calculation device | |
JPH08123769A (ja) | 並列プロセッサ | |
JPH05143290A (ja) | 加算回路 | |
JPH0217828B2 (ja) | ||
JPH05143289A (ja) | 加算回路 | |
JPH11110370A (ja) | 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 | |
JPH05143288A (ja) | 加算回路 | |
JPH08340259A (ja) | 並直列変換回路 | |
JP3144859B2 (ja) | 算術論理演算装置 | |
JPH1063500A (ja) | 信号処理装置 | |
JP3726971B2 (ja) | 並列プロセツサ装置 | |
JP2643576B2 (ja) | 高速フーリエ変換用番地発生回路 | |
JP3270659B2 (ja) | 演算回路および演算方法 | |
JP2010508747A (ja) | デジタル電子バイナリ回転器及び反転器 | |
JPH04216126A (ja) | 直並列型乗算器 | |
JPH1185470A (ja) | 演算回路 | |
JPH05300479A (ja) | レートコンバータ | |
JPH04330519A (ja) | 乗算回路 | |
JPH01259415A (ja) | データ補正回路 | |
JPH0437211A (ja) | ディジタル演算回路 | |
JPH05233213A (ja) | 直列並列変換回路 |