JPH0417063A - データ累積装置 - Google Patents
データ累積装置Info
- Publication number
- JPH0417063A JPH0417063A JP2118786A JP11878690A JPH0417063A JP H0417063 A JPH0417063 A JP H0417063A JP 2118786 A JP2118786 A JP 2118786A JP 11878690 A JP11878690 A JP 11878690A JP H0417063 A JPH0417063 A JP H0417063A
- Authority
- JP
- Japan
- Prior art keywords
- register
- adder
- data
- rounding
- bit
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、ディジタル乗算演算等で使用されるデータ累
積装置、特に累積演算と同時に丸め演算を実行できるデ
ータ累積装置に関する。
積装置、特に累積演算と同時に丸め演算を実行できるデ
ータ累積装置に関する。
ディジタル乗算演算は、加算演算とシフト演算で実行す
るのが一般的であり、これらを組合せたデータ累積装置
が広く知られている。例えば、「コンパクト電子回路ハ
ンドブック」 (丸善株式会社、平成元年1月31日発
行)の第133頁〜137頁に記載のものがある。
るのが一般的であり、これらを組合せたデータ累積装置
が広く知られている。例えば、「コンパクト電子回路ハ
ンドブック」 (丸善株式会社、平成元年1月31日発
行)の第133頁〜137頁に記載のものがある。
ディジタル乗算において、例えばMビットの入力と、N
ビットの入力とを乗算するとM+Nビットの結果が出力
されるが、目的によっては上位側のPピッI〜のみを必
要とし、しかもM十Nビットを丸めてPビットとした値
を必要とする場合がある。
ビットの入力とを乗算するとM+Nビットの結果が出力
されるが、目的によっては上位側のPピッI〜のみを必
要とし、しかもM十Nビットを丸めてPビットとした値
を必要とする場合がある。
この様に丸め演算を実行して必要なビット幅の結果を得
ようとする場合、従来は累積演算を終了した後に、適当
な丸め回路により丸め演算を実行していた。このため累
積器と丸め回路が必要となり、装置構成点数が大となり
、且つ演算時間が長くなるとの問題があった。
ようとする場合、従来は累積演算を終了した後に、適当
な丸め回路により丸め演算を実行していた。このため累
積器と丸め回路が必要となり、装置構成点数が大となり
、且つ演算時間が長くなるとの問題があった。
本発明の目的は、丸め回路を使うことなく、累積演算の
過程で丸め機能を達成してなるデータ累積装置を提供す
るものである。
過程で丸め機能を達成してなるデータ累積装置を提供す
るものである。
更に、本発明の目的は、丸め以外の機能を演算の過程で
達成してなるデータ累積装置を提供するものである。
達成してなるデータ累積装置を提供するものである。
本発明は、本来゛の入力と別の入力とを加算する加算器
と、該加算器出力をラッチするレジスタと、該レジスタ
のラッチ出力をそのまま通過させるか任意の設定値を出
力するかの選択を行う選択手段と、該選択手段の選択出
力を上記加算器への別の入力として供給する手段と、上
記レジスタのラッチ出力を累積結果として出力する手段
と、より成る(請求項1)。
と、該加算器出力をラッチするレジスタと、該レジスタ
のラッチ出力をそのまま通過させるか任意の設定値を出
力するかの選択を行う選択手段と、該選択手段の選択出
力を上記加算器への別の入力として供給する手段と、上
記レジスタのラッチ出力を累積結果として出力する手段
と、より成る(請求項1)。
更に本発明は、」二記選択手段での任意の設定値とは、
丸め演算のための初期値とし、該初期値の選択は累積演
算の最初のサイクルとした(請求項2)。
丸め演算のための初期値とし、該初期値の選択は累積演
算の最初のサイクルとした(請求項2)。
更に本発明は、上記丸め演算のための初期値とは、上記
本来の入力データと同一ビット長を有し且つ丸め演算対
応ビット位置に1をセットしてなる値とした(請求項3
)。
本来の入力データと同一ビット長を有し且つ丸め演算対
応ビット位置に1をセットしてなる値とした(請求項3
)。
本発明によれば、加算器への別の入力として、レジスタ
のラッチ出力か任意の設定値かを自在に選択でき、累積
演算に任意の設定値を加味させることができる(請求項
1)。
のラッチ出力か任意の設定値かを自在に選択でき、累積
演算に任意の設定値を加味させることができる(請求項
1)。
更に本発明によれば、任意の設定値として、丸め演算の
ための初期値が付与され、かつ、この初期値の選択は累
積演算の最初のサイクルとし、これにより、丸め演算を
累積演算の過程で達成する(請求項2)。
ための初期値が付与され、かつ、この初期値の選択は累
積演算の最初のサイクルとし、これにより、丸め演算を
累積演算の過程で達成する(請求項2)。
更に本発明は、初期値は、本来の入力データと同一ビッ
ト長で且つ丸め演算対応ピッ1−位置のみを1とするデ
ータとし、これにより加算器の構造を従前と同じくした
ままで、丸め演算を特徴する請求項3)。
ト長で且つ丸め演算対応ピッ1−位置のみを1とするデ
ータとし、これにより加算器の構造を従前と同じくした
ままで、丸め演算を特徴する請求項3)。
第1図は、本発明の丸め演算機能を持つデータ累積装置
の実施例図を示す。データ累積装置は、加算器100.
レジスタ200.セレクタ300より成る。
の実施例図を示す。データ累積装置は、加算器100.
レジスタ200.セレクタ300より成る。
加算器100は、本来のデータ入力10と別の入力40
との2人力を加算する。レジスタ200は、この加算結
果をラッチする。セレクタ300は、レジスタ200の
ラッチ出力をフィードバックループ30を介して人力し
、これを選択してそのまま別の入力40として加算器1
00へ入力する。
との2人力を加算する。レジスタ200は、この加算結
果をラッチする。セレクタ300は、レジスタ200の
ラッチ出力をフィードバックループ30を介して人力し
、これを選択してそのまま別の入力40として加算器1
00へ入力する。
このセレクタ300は、丸め演算のための初期値かルー
プ30からのラッチ出力かの選択を行う。
プ30からのラッチ出力かの選択を行う。
丸め演算のための初期値は、累積演算の最初のサイクル
でのみ選択され、第2サイクルから最終サイクルまでに
あってはループ30からのラッチ出力を選択する。
でのみ選択され、第2サイクルから最終サイクルまでに
あってはループ30からのラッチ出力を選択する。
この結果、丸め演算のための初期値は、最初の入力デー
タに初期値として加算されたことになり、以後の累積演
算の第2サイクル後にあっては通常の累積演算を行う。
タに初期値として加算されたことになり、以後の累積演
算の第2サイクル後にあっては通常の累積演算を行う。
最終累積演算結果は、出力20として外部に導かれる。
第2図は、レジスタ200の具体的な実施例を示す。こ
の実施例では、加算器100出力データ50のピッ1−
長を5ビツトとし、且つ累積演算のサイクル数を4サイ
クルとして扱っている。5つのレジスタ201〜205
は、この5ビツトデータを並列にビット毎にラッチする
レジスタである。
の実施例では、加算器100出力データ50のピッ1−
長を5ビツトとし、且つ累積演算のサイクル数を4サイ
クルとして扱っている。5つのレジスタ201〜205
は、この5ビツトデータを並列にビット毎にラッチする
レジスタである。
更に、3つのレジスタ206,207,208゜及び切
換器210を設けておき、1サイクル〜3サイクルで出
現する入力データ50中の最下位(LSB)を次々にラ
ッチさせる。ラッチの仕方は、第1サイクルのLSBは
レジスタ208.第2サイクルのLSBはレジスタ20
7.第3サイクルのLSBはレジスタ206へ分配する
ように、切換器210が制御を行う。
換器210を設けておき、1サイクル〜3サイクルで出
現する入力データ50中の最下位(LSB)を次々にラ
ッチさせる。ラッチの仕方は、第1サイクルのLSBは
レジスタ208.第2サイクルのLSBはレジスタ20
7.第3サイクルのLSBはレジスタ206へ分配する
ように、切換器210が制御を行う。
各サイクルにあっては、レジスタ201〜204内の上
位4ビツト31〜34がフィードバックループ30へと
送る。累積最終出力2oは、レジスタ201〜208の
8ビツト出力となる。
位4ビツト31〜34がフィードバックループ30へと
送る。累積最終出力2oは、レジスタ201〜208の
8ビツト出力となる。
第3図は、セレクタ300の実施例を示す。セレクタ3
00は、1つのオアゲート301.3つのアンドゲート
302,303,304より成る。
00は、1つのオアゲート301.3つのアンドゲート
302,303,304より成る。
この4つのゲート301〜304へは反転初期値設定信
号INTが共通入力するが、オアゲート301へのみ反
転信号即ちINTが入力する。従って、初期値設定信号
INTを最初のサイクルで与えれば、その時のレジスタ
200の4ビツトはオールゼロである故に、オアゲート
301のみが1を出力し、アンドゲート302〜304
はすべてOを出力する。かくして、1000なる4ビッ
ト初期値が最初のサイクルで加算器100への刈入力4
0となる。第2サイクル以後にあっては、レジスタ20
0の出力が乗るループパス3oのデータが各ゲート30
1〜304からそのまま出力する。
号INTが共通入力するが、オアゲート301へのみ反
転信号即ちINTが入力する。従って、初期値設定信号
INTを最初のサイクルで与えれば、その時のレジスタ
200の4ビツトはオールゼロである故に、オアゲート
301のみが1を出力し、アンドゲート302〜304
はすべてOを出力する。かくして、1000なる4ビッ
ト初期値が最初のサイクルで加算器100への刈入力4
0となる。第2サイクル以後にあっては、レジスタ20
0の出力が乗るループパス3oのデータが各ゲート30
1〜304からそのまま出力する。
第4図は、人力データが4ビツトの場合での本実施例の
動作を説明するための図である。先ず初期値を与えない
状態での動作を説明する。第1〜第4サークルまでの本
来の入力は、各々1010゜0000.1000.10
10とした。これらが4回累積加算された結果は、01
1.11010(8ビツト)となる。ここで、下位の3
ビツトro 10Jはレジスタ206〜207にラッチ
された各サイクル毎のLSB、上位の5ピツhr。
動作を説明するための図である。先ず初期値を与えない
状態での動作を説明する。第1〜第4サークルまでの本
来の入力は、各々1010゜0000.1000.10
10とした。これらが4回累積加算された結果は、01
1.11010(8ビツト)となる。ここで、下位の3
ビツトro 10Jはレジスタ206〜207にラッチ
された各サイクル毎のLSB、上位の5ピツhr。
1111jはレジスタ201〜205にラッチされた最
終累積結果である。
終累積結果である。
かかる計算例では、4ビツトの入力に対し8ピツ1〜の
精度のデータが得られたことになる。
精度のデータが得られたことになる。
然るに、8ビット精度は不要であり、例えば4ビット精
度の出力を必要とすると、この要求に対応した丸め演算
が必要となる。そこで、必要なビット幅でのLSBの1
つ下位のビットに対して丸めを実行する。そのために、
本実施例では、第1サイクル時のフィードバック入力と
して、100Oなる初期値を与えることとした。
度の出力を必要とすると、この要求に対応した丸め演算
が必要となる。そこで、必要なビット幅でのLSBの1
つ下位のビットに対して丸めを実行する。そのために、
本実施例では、第1サイクル時のフィードバック入力と
して、100Oなる初期値を与えることとした。
初期値を与えた結果は、1000となる。初期値を与え
ない場合には前述したように0111であったが、上位
から5ビツト位置で丸め処理をした結果が1000とし
て得られたことになる。
ない場合には前述したように0111であったが、上位
から5ビツト位置で丸め処理をした結果が1000とし
て得られたことになる。
第5図には、第4図の演算でのレジスタ200(201
〜208)でのデータ推移を示す。
〜208)でのデータ推移を示す。
第5図で、第1サイクルでは本来の入力1010と初期
値1000との加算を行い、その加算結果は5ビツトデ
ータ10010となる。この5ビツトがレジスタ201
〜205にラッチされる。
値1000との加算を行い、その加算結果は5ビツトデ
ータ10010となる。この5ビツトがレジスタ201
〜205にラッチされる。
一方、レジスタ206〜208は未だデータは存在しな
い(×印)。但し、レジスタ201〜2゜8の初期値を
オールOとすれば、゛第1サイクルの演算終了時には、
レジスタ206〜208のデータは000である。
い(×印)。但し、レジスタ201〜2゜8の初期値を
オールOとすれば、゛第1サイクルの演算終了時には、
レジスタ206〜208のデータは000である。
レジスタ205にラッチされたLSBの1ビツトデータ
はその後レジスタ208にラッチされるが、このレジス
タ208へのラッチタイミングは切換器210の出力5
8が決定する。このタイミングは、レジスタ205への
ラッチ直後としてもよく、フィードバックループ30に
レジスタ201〜204のラッチ出力と同時に出力させ
てもよい。また、このことは、第1サイクルとみるか第
2サイクルとみるかは定義によって定まる。本実施例で
は、第1サイクルとした。第2サイクル以降でも同様な
考え方でよい。
はその後レジスタ208にラッチされるが、このレジス
タ208へのラッチタイミングは切換器210の出力5
8が決定する。このタイミングは、レジスタ205への
ラッチ直後としてもよく、フィードバックループ30に
レジスタ201〜204のラッチ出力と同時に出力させ
てもよい。また、このことは、第1サイクルとみるか第
2サイクルとみるかは定義によって定まる。本実施例で
は、第1サイクルとした。第2サイクル以降でも同様な
考え方でよい。
第2サイクルでは、第1サイクルで得た上位4ビツト出
力データ1001と本来の入力データ0000との加算
を行い、その加算結果は5ビツトデータ01001とな
り、レジスタ201〜2゜5にラッチする。レジスタ2
05のLSBは、切換信号57によりレジスタ207へ
移される。
力データ1001と本来の入力データ0000との加算
を行い、その加算結果は5ビツトデータ01001とな
り、レジスタ201〜2゜5にラッチする。レジスタ2
05のLSBは、切換信号57によりレジスタ207へ
移される。
第3サイクルでは、第2サイクルで得た上位4ビツト出
力データ0100と本来の入力データ1000との加算
を行い、加算結果は5ビツトデータ01100となり、
レジスタ201〜205にラッチする。レジスタ205
のLSBは切換信号56によりレジスタ206へ移され
る。
力データ0100と本来の入力データ1000との加算
を行い、加算結果は5ビツトデータ01100となり、
レジスタ201〜205にラッチする。レジスタ205
のLSBは切換信号56によりレジスタ206へ移され
る。
第4サイクルでは、第3サイクルで得た上位4ビット出
力データOi 10と本来の入力データ1010との加
算を行い、加算結果は5ビツトデータ10000となり
、レジスタ201〜205にラッチする。
力データOi 10と本来の入力データ1010との加
算を行い、加算結果は5ビツトデータ10000となり
、レジスタ201〜205にラッチする。
かくして得たレジスタ201〜208について、下位4
ビツト目(上位から数えて5ビツト目)の位置が丸め位
置となり、上位の4ビツトが丸め演算後の必要な4ビツ
トデータとなる。
ビツト目(上位から数えて5ビツト目)の位置が丸め位
置となり、上位の4ビツトが丸め演算後の必要な4ビツ
トデータとなる。
以上のように、本実施例によれば、必要なビット幅に応
じて初期値設定のビット位置を変えることにより、必要
な丸め演算を実行できる。
じて初期値設定のビット位置を変えることにより、必要
な丸め演算を実行できる。
本実施例は、必要なデータを4ビツトとしたが、6ビツ
トとするには、第3図のオアゲート301をアンドゲー
トに置換し、アンドゲート303をオアゲー1へにすれ
ばよい。また、入力データのピッ1−長にも特に制限は
ない。
トとするには、第3図のオアゲート301をアンドゲー
トに置換し、アンドゲート303をオアゲー1へにすれ
ばよい。また、入力データのピッ1−長にも特に制限は
ない。
更に、セレクタ300は第3図以外の構成もありうる。
要は、初期値とフィードバックループデータとの切り換
えをタイミング的に行えればよい。
えをタイミング的に行えればよい。
更に、丸め演算の例としたが、単なる初期値設定とする
やり方や、累積プロセスに強制的に任意の設定値を割込
ませるといった事例にも本発明は適用できる。
やり方や、累積プロセスに強制的に任意の設定値を割込
ませるといった事例にも本発明は適用できる。
また、バー1〜ウエアの例で説明したが、ソフトウェア
レベルでも実現可能である。
レベルでも実現可能である。
本発明によれば、累積演算に任意の設定値を力■味させ
ることができ、累積演算内容に幅を持たせることができ
た。
ることができ、累積演算内容に幅を持たせることができ
た。
更に本発明によれば、累積演算での丸め演算を行うに際
して、丸め回路を付加することなく、最初のサイクルで
丸め演算対応の初期値をフィードバック系路に与えるだ
けで、丸め演算を実行できるとの効果がある。
して、丸め回路を付加することなく、最初のサイクルで
丸め演算対応の初期値をフィードバック系路に与えるだ
けで、丸め演算を実行できるとの効果がある。
第1図は本発明の丸め演算を行うデータ累積装置の実施
例図、第2図は本発明のレジスタ200の実施例図、第
3図は本発明のセレクタ300の実施例図、第4図は丸
め演算の説明図、第5図は丸め演算を行う際のレジスタ
200でのデータ構成側図である。 100・・・加算器、200 ・レジスタ、300・・
セレクタ、201〜208 用レジスタ。
例図、第2図は本発明のレジスタ200の実施例図、第
3図は本発明のセレクタ300の実施例図、第4図は丸
め演算の説明図、第5図は丸め演算を行う際のレジスタ
200でのデータ構成側図である。 100・・・加算器、200 ・レジスタ、300・・
セレクタ、201〜208 用レジスタ。
Claims (1)
- 【特許請求の範囲】 1、本来の入力と別の入力とを加算する加算器と、該加
算器出力をラッチするレジスタと、該レジスタのラッチ
出力をそのまま通過させるか任意の設定値を出力するか
の選択を行う選択手段と、該選択手段の選択出力を上記
加算器への別の入力として供給する手段と、上記レジス
タのラッチ出力を累積結果として出力する手段と、より
成るデータ累積装置。 2、上記選択手段での任意の設定値とは、丸め演算のた
めの初期値とし、該初期値の選択は累積演算の最初のサ
イクルとする請求項1のデータ累積装置。 3、上記丸め演算のための初期値とは、上記本来の入力
データと同一ビット長を有し且つ丸め演算対応ビット位
置に1をセットしてなる値とする請求項2のデータ累積
装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2118786A JPH0417063A (ja) | 1990-05-10 | 1990-05-10 | データ累積装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2118786A JPH0417063A (ja) | 1990-05-10 | 1990-05-10 | データ累積装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0417063A true JPH0417063A (ja) | 1992-01-21 |
Family
ID=14745055
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2118786A Pending JPH0417063A (ja) | 1990-05-10 | 1990-05-10 | データ累積装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0417063A (ja) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6263370A (ja) * | 1985-05-15 | 1987-03-20 | Toshiba Corp | 演算回路 |
-
1990
- 1990-05-10 JP JP2118786A patent/JPH0417063A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6263370A (ja) * | 1985-05-15 | 1987-03-20 | Toshiba Corp | 演算回路 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6209017B1 (en) | High speed digital signal processor | |
| US4700324A (en) | Digital circuit performing an arithmetic operation with an overflow | |
| KR19990054971A (ko) | 데이터 전송 회로의 2/3 코드 비율을 펑처링하는 장치 | |
| KR100354285B1 (ko) | 패스트 하다마드 변환 디바이스 | |
| EP0278529A2 (en) | Multiplication circuit capable of operating at a high speed with a small amount of hardware | |
| US6012077A (en) | Method and apparatus for indicating overflow status of bit-variable data employing pipelining adder | |
| JPH0417063A (ja) | データ累積装置 | |
| JPH07118654B2 (ja) | 算術演算装置 | |
| US5062125A (en) | Statistic coding arrangement for producing code words comprising a variable number of bits | |
| JPH04257024A (ja) | 開平器 | |
| JP2524035Y2 (ja) | 畳み込み演算回路用乗算器 | |
| GB2345562A (en) | Digital signal processor for performing fixed-point and/or integer arithmetic | |
| JP3166781B2 (ja) | 加算回路 | |
| KR100236331B1 (ko) | 카운터 | |
| JP2617591B2 (ja) | シリアル演算回路 | |
| US5615141A (en) | Multiplying apparatus | |
| US6470369B1 (en) | Euclid mutual division arithmetic circuit and processing circuit | |
| SU949719A1 (ru) | Сдвигающее устройство | |
| JPH04216126A (ja) | 直並列型乗算器 | |
| JPH02201538A (ja) | カウンタ | |
| JPS61267829A (ja) | ビツト分割型同期式累算器 | |
| JPH01259415A (ja) | データ補正回路 | |
| JPH03235428A (ja) | パリティジェネレータ・チェッカ | |
| JPS6115232A (ja) | 乗算装置 | |
| JPH0731694B2 (ja) | 記号シミュレータ |