| 【発明の名称】 |
絶対値累積加減算回路 |
| 【発明者】 |
【氏名】庄司 武正
【氏名】増田 浩一
|
| 【要約】 |
【課題】小さな回路規模で高速に絶対値の累積加減算を実行することを可能とする絶対値累積加減算回路を提供する。
【解決手段】絶対値加減算回路は、2の補数で表現された2つのデータの加減算を行う加減算器と、前記2つのデータを加算するか減算するかの選択を制御する制御信号を生成して前記加減算器へ出力する加減算器制御装置と、前記加減算器の演算結果を格納するとともに前記加減算器に供給するレジスタと、を備える。 |
【特許請求の範囲】
【請求項1】2の補数で表現されたデータを演算する演算装置において、前記データの加減算を行う加減算器と、前記データを加算するか減算するかの選択を制御する制御信号を生成して前記加減算器へ出力する加減算器制御装置と、前記加減算器の演算結果を格納するとともに前記加減算器に供給するレジスタと、を備えてなることを特徴とする絶対値累積加減算回路。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、音声データのエネルギー計算などに使用される絶対値累積加算器に関するものであり、特に、マイクロプロセッサ、ディジタルシグナルプロセッサ等の演算処理装置などに使用される。 【0002】 【従来の技術】図3に示す従来の絶対値累積加減算回路は、入力データAの絶対値とレジスタ94に格納された累積データBとの累積加減算を行う回路である。この回路では先に入力データAの絶対値を計算し、その後累積データBとの加減算を行う。 【0003】まず、入力データAの絶対値を計算するため、入力データAとその最上位ビットmの値を反転回路91に入力し、最上位ビットmの値を用いてデータA’を生成し、その出力をインクリメンタ92に入力することで、入力データAの絶対値データA’’を計算する。ここまでの動作を以下に詳細に説明する。 【0004】図3における反転回路91は、図4に示されるビット反転器951〜95mによって構成されており、入力データAの値が負であるとき、入力データAの最上位ビットmが1であるので、入力データAの第1ビット〜第mビットの値であるA1〜Amをすべて反転してビット出力A1’〜Am’として出力し、データA’を生成する。また、入力データAの値が正のとき、入力データAの最上位ビットmが0であるので、入力データAの第1ビット〜第mビットの値であるA1〜Amの値をそのままビット出力A1’〜Am’として出力し、データAの1の補数であるデータA’を生成するものである。 【0005】反転回路91から出力されたデータA’と入力データAの最上位ビットmが、図3に示されるインクリメンタ92に入力されて、データA’と入力データAの最上位ビットmとの演算が実行されることで、もとの入力データAの絶対値データA’’が生成される。インクリメンタ92は、図5のブロック図に示される半加算器961〜96mによって実現できる。ここで、半加算器961〜96mは、入力データAが負の数である場合は、Aの最上位ビットmが1であるので、反転回路91を通過したデータA’の最下位ビットに1を加算する、すなわち演算A’+mを実行して絶対値データA’’を出力する。また、入力データAが正の数である場合は、Aの最上位ビットmが0であるので、演算A’+mを実行することで、データA’をそのまま絶対値データA’’として出力するものである。これは、データAの1の補数であるデータA’に、データAの値の正負によりデータA’に1を足しているものであり、以上の入力データAから絶対値データA’’を計算する動作は、入力データAの2の補数を出力しているものである。 【0006】絶対値データA’’とレジスタ94に格納された累積データBを加減算器93に入力することにより加減算する。加減算制御信号OPが加算の場合はB+A’’を実行し、加減算制御信号OPが減算の場合はB−A’’を実行して、演算結果を演算データCとして生成する。演算データCをレジスタ94に格納し、次の演算サイクルの累積データBとして使用することにより、入力データAの絶対値累積加算を実行する。 【0007】 【発明が解決しようとする課題】しかしながら、上記に示したように従来の絶対値累積加減算回路においては、入力データの絶対値を計算するための反転回路91とインクリメンタ92が必要であるため、回路規模が大きくなるという問題があった。また、加減算器93で加減算を実行する前に反転回路91とインクリメンタ92による演算が必要があるため全体として長い計算時間を必要とする問題があった。 【0008】本発明は、上記の問題を鑑みてなされたもので、その目的は、小さい回路規模で高速に絶対値の累積加減算を実行することを可能とする高性能な絶対値累積加減算回路を提供することにある。 【0009】 【課題を解決するための手段】上記目的を達成するために本発明の絶対値加減算回路は、2の補数で表現された2つのデータの加減算を行う加減算器と、前記2つの入力データを加算するか減算するかの選択を制御する制御信号を生成して前記加減算器へ出力する加減算器制御装置と、前記加減算器の演算結果を格納するとともに格納した累積データを前記加減算器に供給するレジスタと、を備えることを特徴とする。 【0010】 【発明の実施の形態】以下、本発明の実施の形態を図示例と共に説明する。 【0011】本発明における絶対値加減算回路の基本構成を、図1に基づいて以下に説明する。 【0012】絶対値加減算回路は、入力データAと累積データBの演算を指定する加減算制御信号OPと入力データAの最上位ビットmの値を入力とし加減算器1に実際の演算を指定する制御信号OP’を出力する加減算器制御装置2と、制御信号OP’の演算指定により入力データAと累積データBを演算する加減算器1と、加減算器1から出力される演算データCを保持するとともに、次回の演算に使用される累積データBとして加減算器1に出力するレジスタ3と、を備えてなるものである。 【0013】次に、本実施の形態における絶対値加減算回路の動作について説明する。 【0014】入力データAの正負により、加減算器制御装置2に入力される加減算制御信号OPと、加減算器1に入力される制御信号OP’の値を変化させることで入力データの累積的な絶対値加減算を行うものである。 【0015】入力データAが負の数である場合で、加減算器制御装置2に入力される加減算制御信号OPが加算であるとき、加減算器制御装置は加減算器へ出力する制御信号OP’を減算とすることで、加減算器によって、C=B−Aを実行する。入力データAは負の数なので、|A|=−Aであり、前記の式は、C=B+(−A)=B+|A|となり、入力データAの絶対値の累積的な加算を実行することになる。 【0016】また、加減算器制御装置2に入力される加減算制御信号OPが減算であるとき、加減算器制御装置に入力される加減算制御信号OPが減算であるとき、加減算制御装置は加減算器へ出力する制御信号OP’を加算とすることで、加減算器によりC=B+Aを実行する。入力データAは負の数なので、|A|=−Aであり、前記の式は、C=B−(−A)=B−|A|という演算にすることができる。これにより入力データAの絶対値の累積的な減算を実行することになる。 【0017】また、入力データAが正の数である場合で、加減算器制御装置2に入力される加減算制御信号OPが加算であるとき、加減算器制御装置は加減算器へ出力する制御信号OP’をそのまま加算とすることで、加減算器により、C=B+Aという演算を実行する。入力データAは正の数なので、|A|=Aであり、前記の式は、C=B+|A|という演算になり、入力データAの絶対値の累積的な加算を実行できる。 【0018】また、加減算器制御装置2に入力される加減算制御信号OPが減算であるとき、加減算器制御装置は加減算器へ出力する制御信号OP’を加算とすることで、加減算器により、C=B−Aという演算を実行する。入力データAは正の数なので、|A|=Aであり、前記の式は、C=B−|A|という演算になり、入力データAの絶対値の累積的な減算を実行できる。 【0019】次に、本発明に係わる絶対値加減算回路の一実施形態として、加減算器制御装置2として排他的論理和演算器5を用いた場合の4−bit加減算の動作について図2に基づいて説明する。 【0020】排他的論理和演算器5は、4−bit入力データが負の数、すなわちデータAの最上位ビットmが1のときには、1−bit加減算制御信号OPをビット反転し、すなわち1−bit加減算制御信号OPが1であれば0に、逆に0であれば1にして1−bit制御信号OP’として4−bit加減算器4に出力する。また、4−bit入力データAが正の数、すなわちデータAの最上位ビットmが0のときには、1−bit加減算制御信号OPをそのまま、すなわち1−bit加減算制御信号OPが1であれば1、逆に0であれば0の1−bit制御信号OP’として4−bit加減算器4に出力する。 【0021】排他的論理和演算器5の出力である1−bit制御信号OP’を入力した4−bit加減算器4は、1−bit制御信号OP’が0の場合には、4−bitレジスタ6に格納された累積データBと入力データAとの加算B+Aを実行して、演算データCを4−bitレジスタ6に出力する。また、1−bit制御信号OP’が1の場合には、4−bitレジスタ6に格納された累積データBと入力データAとの減算B−Aを実行して演算データCを4−bitレジスタ6に出力する。 【0022】4−bitレジスタ6は、4−bit加減算器4の演算データCを格納するとともに、格納されている累積データを4−bit加減算器4のオペランドの累積データBとして出力する。 【0023】これにより、入力データAが負の数であれば、加減算制御信号OPの演算操作を反転して実行し、正の数であれば、加減算制御信号OPの演算操作をそのまま実行することで、絶対値の累積的な加減算が可能となる。 【0024】以上のことから加減算器制御装置2は、4−bit加減算で用いられた排他的論理和演算器5のように非常に単純な回路で構成できるものであり、また、加減算器制御装置2以外には、加減算器1とレジスタ3を備えるだけで絶対値累積加減算回路を実現できるものであるので、回路規模全体を小さくすることができる。さらに、加減算器制御装置2は単純な機能をもつものであるので、演算も高速に行え、絶対値累積加減算回路全体での演算時間の短縮も図ることができる。 【0025】 【発明の効果】本発明の絶対値累積加減算回路によれば、小さい回路規模で高速に絶対値の累積加減算を実行する絶対値累積加減算回路を提供することができる。
|
| 【出願人】 |
【識別番号】000005832 【氏名又は名称】松下電工株式会社
|
| 【出願日】 |
平成12年10月26日(2000.10.26) |
| 【代理人】 |
【識別番号】100111556 【弁理士】 【氏名又は名称】安藤 淳二 (外1名)
|
| 【公開番号】 |
特開2002−132494(P2002−132494A) |
| 【公開日】 |
平成14年5月10日(2002.5.10) |
| 【出願番号】 |
特願2000−327715(P2000−327715) |
|