JPH11232249A - 積和演算処理装置および積和演算処理方法 - Google Patents
積和演算処理装置および積和演算処理方法Info
- Publication number
- JPH11232249A JPH11232249A JP10032462A JP3246298A JPH11232249A JP H11232249 A JPH11232249 A JP H11232249A JP 10032462 A JP10032462 A JP 10032462A JP 3246298 A JP3246298 A JP 3246298A JP H11232249 A JPH11232249 A JP H11232249A
- Authority
- JP
- Japan
- Prior art keywords
- product
- bit
- circuit
- overflow
- sum operation
- 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)【要約】
【課題】 数値の入力順に影響されず一定の精度で積和
演算を行うことができる積和演算処理方法および積和演
算処理装置を提供することを目的とする。 【解決手段】 3ビットの符号付き2進数A,Bを入力
とし5ビットの積Cを出力する乗算回路と、5ビットの
積Cを入力とし5ビットの累算値Dを出力する累算回路
を備える。累算回路は、入力値の各ビットに対応するビ
ット加算回路210〜215を有する加算回路21、オ
ーバーフローを検出する判定回路22、累算値を保存す
る累算値レジスタ23を備える。積和演算を行うための
累算回路内に拡張ビットを設けることにより、入力され
る値の順序に関係なく、結果が飽和するかどうかを判定
することができ、更に飽和ビットにより途中で飽和した
ことを記憶することにより、累算値の出力時に飽和した
値を出力する。
演算を行うことができる積和演算処理方法および積和演
算処理装置を提供することを目的とする。 【解決手段】 3ビットの符号付き2進数A,Bを入力
とし5ビットの積Cを出力する乗算回路と、5ビットの
積Cを入力とし5ビットの累算値Dを出力する累算回路
を備える。累算回路は、入力値の各ビットに対応するビ
ット加算回路210〜215を有する加算回路21、オ
ーバーフローを検出する判定回路22、累算値を保存す
る累算値レジスタ23を備える。積和演算を行うための
累算回路内に拡張ビットを設けることにより、入力され
る値の順序に関係なく、結果が飽和するかどうかを判定
することができ、更に飽和ビットにより途中で飽和した
ことを記憶することにより、累算値の出力時に飽和した
値を出力する。
Description
【0001】
【発明の属する技術分野】本発明は、マルチメディア信
号処理で重要視されるDCT演算を行うための積和演算
処理装置および積和演算処理方法に関するものである。
号処理で重要視されるDCT演算を行うための積和演算
処理装置および積和演算処理方法に関するものである。
【0002】
【従来の技術】近年マルチメディア信号処理の分野は目
覚ましい発展を遂げており、多大な開発資源が投入され
ている。その中でも自然画像の符号化の処理で必要とな
る積和演算を行うハードウエアが数多く開発されてい
る。一般に自然画像の符号化に関してはDCTによる圧
縮アルゴリズムが多く使われておりこの演算は主に整数
の4×4行列パラメータと4列ベクトルとの積を求める
ことにより算出することができる。
覚ましい発展を遂げており、多大な開発資源が投入され
ている。その中でも自然画像の符号化の処理で必要とな
る積和演算を行うハードウエアが数多く開発されてい
る。一般に自然画像の符号化に関してはDCTによる圧
縮アルゴリズムが多く使われておりこの演算は主に整数
の4×4行列パラメータと4列ベクトルとの積を求める
ことにより算出することができる。
【0003】以下に従来の積和演算処理装置について説
明する。図6は従来の積和演算処理装置の構成を示すブ
ロック図、図7は従来の積和演算処理装置の動作を示す
フローチャート、図8は従来の積和演算処理装置で問題
が出る演算の例を示す図である。図6において30は2
つの3ビット数を入力として5ビット数を出力する乗算
回路、31は乗算回路30の出力する積と累算値レジス
タ33に記憶された値を加算する加算回路、32は加算
回路31で計算される結果がオーバーフローになったか
どうかを検出する検出回路である。
明する。図6は従来の積和演算処理装置の構成を示すブ
ロック図、図7は従来の積和演算処理装置の動作を示す
フローチャート、図8は従来の積和演算処理装置で問題
が出る演算の例を示す図である。図6において30は2
つの3ビット数を入力として5ビット数を出力する乗算
回路、31は乗算回路30の出力する積と累算値レジス
タ33に記憶された値を加算する加算回路、32は加算
回路31で計算される結果がオーバーフローになったか
どうかを検出する検出回路である。
【0004】更に上記のように構成された従来の積和演
算処理装置の動作を説明する。まず、図7において、乗
算回路30に3ビットの入力AとBが入力され5ビット
の乗算結果が出力される(S20)。加算回路31で累
算値レジスタ33に記憶されている累算値と乗算回路3
0から出力される積を加算する(S21)。加算回路3
1は桁上げ信号と共に加算結果を累算値レジスタ33に
出力する(S22)。桁上げ信号の内容を判定する(S
23)。ステップ23の結果が真であれば累算値レジス
タ33に対して所定の信号を送り、累算値を飽和値にセ
ットする(S24)。またそれ以降データが更新されな
いように累算値のロードを禁止する(S25)。ステッ
プ23での結果が偽であれば積和演算が終了したかどう
かの判定を行う(S26)。ステップ26の結果により
積和演算が終了していない場合にはステップ20へ戻
り、終了している場合には累算値の出力を行う(S2
7)。
算処理装置の動作を説明する。まず、図7において、乗
算回路30に3ビットの入力AとBが入力され5ビット
の乗算結果が出力される(S20)。加算回路31で累
算値レジスタ33に記憶されている累算値と乗算回路3
0から出力される積を加算する(S21)。加算回路3
1は桁上げ信号と共に加算結果を累算値レジスタ33に
出力する(S22)。桁上げ信号の内容を判定する(S
23)。ステップ23の結果が真であれば累算値レジス
タ33に対して所定の信号を送り、累算値を飽和値にセ
ットする(S24)。またそれ以降データが更新されな
いように累算値のロードを禁止する(S25)。ステッ
プ23での結果が偽であれば積和演算が終了したかどう
かの判定を行う(S26)。ステップ26の結果により
積和演算が終了していない場合にはステップ20へ戻
り、終了している場合には累算値の出力を行う(S2
7)。
【0005】
【発明が解決しようとする課題】画像処理に用いられる
DCT演算では精度の高い演算が要求されるが、できる
だけ少ないビット数で演算を行う方がハードウエア資源
の節約の面で好ましい。この際桁溢れによって正しく演
算が行われない場合には飽和演算を行うことによりでき
るだけ正しい値に近付けるという事がなされる。
DCT演算では精度の高い演算が要求されるが、できる
だけ少ないビット数で演算を行う方がハードウエア資源
の節約の面で好ましい。この際桁溢れによって正しく演
算が行われない場合には飽和演算を行うことによりでき
るだけ正しい値に近付けるという事がなされる。
【0006】この飽和演算を行う際に従来の方法では積
を加算する度に飽和すべきかどうかを判定している。従
って積が入力される順番によって本来飽和すべきでない
演算が飽和演算の対象となってしまうことがある。この
例を図8に示す。図8において列1では2つ目の積
(4)が加算された時点で結果は9となり4ビットの符
号付き2進数では表現しきれなくなるため飽和演算が行
われる。従って3番目以降の積が入力されてもその値は
演算結果に反映することができない。しかし、列2のよ
うな順番で同じ積が入力された場合、途中の演算結果は
4ビットの符号付き2進数の範囲を超えることなく正し
い累算結果が得られる。このように数値の入力順によっ
て結果の精度が変わってしまうという問題があった。
を加算する度に飽和すべきかどうかを判定している。従
って積が入力される順番によって本来飽和すべきでない
演算が飽和演算の対象となってしまうことがある。この
例を図8に示す。図8において列1では2つ目の積
(4)が加算された時点で結果は9となり4ビットの符
号付き2進数では表現しきれなくなるため飽和演算が行
われる。従って3番目以降の積が入力されてもその値は
演算結果に反映することができない。しかし、列2のよ
うな順番で同じ積が入力された場合、途中の演算結果は
4ビットの符号付き2進数の範囲を超えることなく正し
い累算結果が得られる。このように数値の入力順によっ
て結果の精度が変わってしまうという問題があった。
【0007】本発明は単純な回路の付加により、上記の
ような数値の入力順に影響されず一定の精度で積和演算
を行うことができる積和演算処理方法、および前記の方
法を実装し連続した演算に有利なパイプライン処理を行
うために演算のサイクルが一定である積和演算処理装置
を提供することを目的とする。
ような数値の入力順に影響されず一定の精度で積和演算
を行うことができる積和演算処理方法、および前記の方
法を実装し連続した演算に有利なパイプライン処理を行
うために演算のサイクルが一定である積和演算処理装置
を提供することを目的とする。
【0008】
【課題を解決するための手段】本発明は、kビットの数
値の対を入力とし順次乗算して結果を累算する積和演算
処理装置であって、2つのkビット数を乗算して2k−
1ビットの積を出力する乗算回路と、前記乗算回路が出
力する積を入力とし順次入力される積の累算を行う累算
回路からなり、前記累算回路は2k個のビット加算回路
と加算結果がオーバーフローしたことを判断し積和演算
の終了まで保存する判定回路と、前記判定回路の結果に
よりオーバーフローの場合には正の最大数または負の最
大数を出力する累算値レジスタを備え、前記判定回路は
上位2ビットに割り当てられた前記加算回路から出力さ
れる桁上げ信号を入力とし、オーバーフローの際には正
の数のオーバーフローか負の数のオーバーフローかを判
定する機能と、判定した結果を積和演算の終了まで保持
する機能を備える。
値の対を入力とし順次乗算して結果を累算する積和演算
処理装置であって、2つのkビット数を乗算して2k−
1ビットの積を出力する乗算回路と、前記乗算回路が出
力する積を入力とし順次入力される積の累算を行う累算
回路からなり、前記累算回路は2k個のビット加算回路
と加算結果がオーバーフローしたことを判断し積和演算
の終了まで保存する判定回路と、前記判定回路の結果に
よりオーバーフローの場合には正の最大数または負の最
大数を出力する累算値レジスタを備え、前記判定回路は
上位2ビットに割り当てられた前記加算回路から出力さ
れる桁上げ信号を入力とし、オーバーフローの際には正
の数のオーバーフローか負の数のオーバーフローかを判
定する機能と、判定した結果を積和演算の終了まで保持
する機能を備える。
【0009】本発明は、入力される数値の順序に関係な
く一定の精度で飽和演算付き積和演算を行う積和演算処
理方法であって、kビットの数値の対を入力する入力ス
テップと、前記入力された数値に対して乗算を行い2k
−1ビットの積を出力する乗算ステップと、前記積を符
号拡張して2kビットとし予め保存されている2kビッ
トの累算値と加算を行う加算ステップと、加算結果を累
算値としてレジスタに保存する累算ステップと、前記加
算結果が正あるいは負の方向にオーバーフローしている
かどうかを判定しオーバーフローがない場合には終了判
定ステップに遷移するオーバーフロー判定ステップと、
前記オーバーフロー判定ステップでオーバーフローが検
出された場合に累算値を正あるいは負の飽和値にセット
する飽和ステップを有し、前記入力ステップと前記乗算
ステップと前記加算ステップと前記累算ステップとオー
バーフロー判定ステップと飽和ステップを4回繰り返し
たかどうかを判断するステップと、積和演算が終了した
場合に累算値を出力するステップを含む。
く一定の精度で飽和演算付き積和演算を行う積和演算処
理方法であって、kビットの数値の対を入力する入力ス
テップと、前記入力された数値に対して乗算を行い2k
−1ビットの積を出力する乗算ステップと、前記積を符
号拡張して2kビットとし予め保存されている2kビッ
トの累算値と加算を行う加算ステップと、加算結果を累
算値としてレジスタに保存する累算ステップと、前記加
算結果が正あるいは負の方向にオーバーフローしている
かどうかを判定しオーバーフローがない場合には終了判
定ステップに遷移するオーバーフロー判定ステップと、
前記オーバーフロー判定ステップでオーバーフローが検
出された場合に累算値を正あるいは負の飽和値にセット
する飽和ステップを有し、前記入力ステップと前記乗算
ステップと前記加算ステップと前記累算ステップとオー
バーフロー判定ステップと飽和ステップを4回繰り返し
たかどうかを判断するステップと、積和演算が終了した
場合に累算値を出力するステップを含む。
【0010】上記構成の各発明によれば、入力された数
値の順序に影響されることなく、一定の精度で飽和演算
付きの積和演算を行うことができる。
値の順序に影響されることなく、一定の精度で飽和演算
付きの積和演算を行うことができる。
【0011】
【発明の実施の形態】請求項1に記載の発明は、kビッ
トの数値の4つの対を入力とし順次乗算して結果を累算
する積和演算処理装置であって、2つのkビット数を乗
算して2k−1ビットの積を出力する乗算回路と、前記
乗算回路が出力する積を入力とし順次入力される積の累
算を行う累算回路からなり、前記累算回路は2k個のビ
ット加算回路と加算結果がオーバーフローしたことを判
断し積和演算の終了まで保存する判定回路と、前記判定
回路の結果によりオーバーフローの場合には正の最大数
または負の最大数を出力する累算値レジスタを備え、前
記判定回路は上位2ビットに割り当てられた前記加算回
路から出力される桁上げ信号を入力とし、オーバーフロ
ーの際には正の数のオーバーフローか負の数のオーバー
フローかを判定する機能と、判定した結果を積和演算の
終了まで保持する機能を備える。
トの数値の4つの対を入力とし順次乗算して結果を累算
する積和演算処理装置であって、2つのkビット数を乗
算して2k−1ビットの積を出力する乗算回路と、前記
乗算回路が出力する積を入力とし順次入力される積の累
算を行う累算回路からなり、前記累算回路は2k個のビ
ット加算回路と加算結果がオーバーフローしたことを判
断し積和演算の終了まで保存する判定回路と、前記判定
回路の結果によりオーバーフローの場合には正の最大数
または負の最大数を出力する累算値レジスタを備え、前
記判定回路は上位2ビットに割り当てられた前記加算回
路から出力される桁上げ信号を入力とし、オーバーフロ
ーの際には正の数のオーバーフローか負の数のオーバー
フローかを判定する機能と、判定した結果を積和演算の
終了まで保持する機能を備える。
【0012】この構成により、入力される数値の順序に
関係なく一定の精度で飽和演算付き積和演算をパイプラ
イン処理の流れを乱すことなく行うことができる。
関係なく一定の精度で飽和演算付き積和演算をパイプラ
イン処理の流れを乱すことなく行うことができる。
【0013】請求項2に記載の発明は、入力される数値
の順序に関係なく一定の精度で飽和演算付き積和演算を
行う積和演算処理方法であって、kビットの数値の対を
入力する入力ステップと、前記入力された数値に対して
乗算を行い2k−1ビットの積を出力する乗算ステップ
と、前記積を符号拡張して2kビットとし予め保存され
ている2kビットの累算値と加算を行う加算ステップ
と、加算結果を累算値としてレジスタに保存する累算ス
テップと、前記加算結果が正あるいは負の方向にオーバ
ーフローしているかどうかを判定しオーバーフローがな
い場合には終了判定ステップに遷移するオーバーフロー
判定ステップと、前記オーバーフロー判定ステップでオ
ーバーフローが検出された場合に累算値を正あるいは負
の飽和値にセットする飽和ステップを有し、前記入力ス
テップと前記乗算ステップと前記加算ステップと前記累
算ステップとオーバーフロー判定ステップと飽和ステッ
プを4回繰り返したかどうかを判断するステップと、積
和演算が終了した場合に累算値を出力するステップを含
む。
の順序に関係なく一定の精度で飽和演算付き積和演算を
行う積和演算処理方法であって、kビットの数値の対を
入力する入力ステップと、前記入力された数値に対して
乗算を行い2k−1ビットの積を出力する乗算ステップ
と、前記積を符号拡張して2kビットとし予め保存され
ている2kビットの累算値と加算を行う加算ステップ
と、加算結果を累算値としてレジスタに保存する累算ス
テップと、前記加算結果が正あるいは負の方向にオーバ
ーフローしているかどうかを判定しオーバーフローがな
い場合には終了判定ステップに遷移するオーバーフロー
判定ステップと、前記オーバーフロー判定ステップでオ
ーバーフローが検出された場合に累算値を正あるいは負
の飽和値にセットする飽和ステップを有し、前記入力ス
テップと前記乗算ステップと前記加算ステップと前記累
算ステップとオーバーフロー判定ステップと飽和ステッ
プを4回繰り返したかどうかを判断するステップと、積
和演算が終了した場合に累算値を出力するステップを含
む。
【0014】この構成により、入力される数値の順序に
関係なく一定の精度で飽和演算付き積和演算を行うこと
ができる。
関係なく一定の精度で飽和演算付き積和演算を行うこと
ができる。
【0015】以下、本発明の実施の形態を説明する。図
1は本発明の一実施の形態による積和演算処理装置の構
成を示すブロック図、図2は図1の積和演算処理装置の
累算回路の構成を示すブロック図、図3は図1の積和演
算処理装置の動作を示すフローチャート、図4は図1の
積和演算処理装置の判定回路で適用される判定規則図、
図5は図1の積和演算処理装置の累算回路の動作の例を
示す図である。本実施の形態では具体的にk=3の場合
を仮定して説明する。図1において1は3ビットの符号
付き2進数A,Bを入力とし5ビットの積Cを出力する
乗算回路、2は前記5ビットの積Cを入力とし5ビット
の累算値Dを出力する累算回路である。
1は本発明の一実施の形態による積和演算処理装置の構
成を示すブロック図、図2は図1の積和演算処理装置の
累算回路の構成を示すブロック図、図3は図1の積和演
算処理装置の動作を示すフローチャート、図4は図1の
積和演算処理装置の判定回路で適用される判定規則図、
図5は図1の積和演算処理装置の累算回路の動作の例を
示す図である。本実施の形態では具体的にk=3の場合
を仮定して説明する。図1において1は3ビットの符号
付き2進数A,Bを入力とし5ビットの積Cを出力する
乗算回路、2は前記5ビットの積Cを入力とし5ビット
の累算値Dを出力する累算回路である。
【0016】更に図2において、20は入力値C、21
は加算回路、210〜215は入力値の各ビットに対応
するビット加算回路、22はオーバーフローを検出する
判定回路、23は累算値を保存する累算値レジスタ、2
4は積和演算処理装置の出力値Dである。
は加算回路、210〜215は入力値の各ビットに対応
するビット加算回路、22はオーバーフローを検出する
判定回路、23は累算値を保存する累算値レジスタ、2
4は積和演算処理装置の出力値Dである。
【0017】以上のように構成された積和演算処理装置
について、機能等を説明する。図1の乗算回路1はそれ
ぞれ3ビットの乗数と被乗数を入力され結果を5ビット
の符号付き整数として出力する乗算回路で、乗算回路1
の出力は累算回路2へ入力される。累算回路2中では5
ビットの積Cは対応するビット加算回路210〜214
へそれぞれ入力され、更にビット加算回路214に入力
された符号ビットがビット加算回路215にも入力され
る。また累算値レジスタ23の6ビットの出力はそれぞ
れ対応するビット加算回路210〜215に入力され
る。各ビット加算回路210〜215は和と桁上げ信号
を出力する。各和信号は6ビットの累算値レジスタ23
に入力される。また各桁上げ信号はその上位のビット加
算回路に入力される。214,215から出力される桁
上げ信号は判定回路22に入力され図4の規則に従って
出力がなされる。累算値レジスタ23は判定回路22か
ら出力される信号に従って和信号、正の最大数、負の最
大数を保持し出力する機能を有する。
について、機能等を説明する。図1の乗算回路1はそれ
ぞれ3ビットの乗数と被乗数を入力され結果を5ビット
の符号付き整数として出力する乗算回路で、乗算回路1
の出力は累算回路2へ入力される。累算回路2中では5
ビットの積Cは対応するビット加算回路210〜214
へそれぞれ入力され、更にビット加算回路214に入力
された符号ビットがビット加算回路215にも入力され
る。また累算値レジスタ23の6ビットの出力はそれぞ
れ対応するビット加算回路210〜215に入力され
る。各ビット加算回路210〜215は和と桁上げ信号
を出力する。各和信号は6ビットの累算値レジスタ23
に入力される。また各桁上げ信号はその上位のビット加
算回路に入力される。214,215から出力される桁
上げ信号は判定回路22に入力され図4の規則に従って
出力がなされる。累算値レジスタ23は判定回路22か
ら出力される信号に従って和信号、正の最大数、負の最
大数を保持し出力する機能を有する。
【0018】以上のような構成、機能等を有する図1お
よび図2の積和演算処理装置について、その動作を図3
を用いて説明する。
よび図2の積和演算処理装置について、その動作を図3
を用いて説明する。
【0019】図3において、まず3ビット数からなる乗
数Aと被乗数Bが乗算回路1に入力され5ビットの積C
が出力される(S1、乗算ステップ)。次に、前記積C
と累算値レジスタ23に保持されている累算値D0を加
算し新しい6ビットの累算値D1を出力する(S2、加
算ステップ)。ここでビット加算回路214,215か
ら出力される桁上げ信号をもとにオーバーフローの検出
が行われる(S3、判定ステップ)。判定ステップでは
図4に示す規則をもとにオーバーフローの判定とオーバ
ーフローが発生したのが正の数か負の数かを判定する。
この判定ステップにおいてオーバーフローが発生した場
合にはS4へ遷移し、累算値を判定ステップで計算され
た結果に従って正の数あるいは負の数の最大数を累算値
レジスタ23にセットする(S4、飽和値セットステッ
プ)。更に飽和値を保持するため累算値を新たにロード
することを禁止する(S5、ロード禁止ステップ)。
数Aと被乗数Bが乗算回路1に入力され5ビットの積C
が出力される(S1、乗算ステップ)。次に、前記積C
と累算値レジスタ23に保持されている累算値D0を加
算し新しい6ビットの累算値D1を出力する(S2、加
算ステップ)。ここでビット加算回路214,215か
ら出力される桁上げ信号をもとにオーバーフローの検出
が行われる(S3、判定ステップ)。判定ステップでは
図4に示す規則をもとにオーバーフローの判定とオーバ
ーフローが発生したのが正の数か負の数かを判定する。
この判定ステップにおいてオーバーフローが発生した場
合にはS4へ遷移し、累算値を判定ステップで計算され
た結果に従って正の数あるいは負の数の最大数を累算値
レジスタ23にセットする(S4、飽和値セットステッ
プ)。更に飽和値を保持するため累算値を新たにロード
することを禁止する(S5、ロード禁止ステップ)。
【0020】判定ステップでオーバーフローが発生しな
かった場合にはS4,S5を実行せず、S6に遷移す
る。ここでは4つの積項を加算する積和演算が終了した
かどうかの判定を行う(S6、終了判定ステップ)。終
了判定ステップの結果更に演算が続く場合にはS1の乗
算ステップへ遷移する。また積和演算が終了する場合に
はS7の結果出力ステップにおいて累算値レジスタ23
の値を出力する。上述のステップ1からステップ5を4
回繰り返すことにより8要素のDCT演算に必要な4×
4行列と4成分ベクトルの乗算を行うことができる。
かった場合にはS4,S5を実行せず、S6に遷移す
る。ここでは4つの積項を加算する積和演算が終了した
かどうかの判定を行う(S6、終了判定ステップ)。終
了判定ステップの結果更に演算が続く場合にはS1の乗
算ステップへ遷移する。また積和演算が終了する場合に
はS7の結果出力ステップにおいて累算値レジスタ23
の値を出力する。上述のステップ1からステップ5を4
回繰り返すことにより8要素のDCT演算に必要な4×
4行列と4成分ベクトルの乗算を行うことができる。
【0021】図5に示す例では3×3+3×3+(−
3)×2+1×1を計算する場合の各値の変化を示して
いる。S10において3ビット符号付き2進数3(01
1),3(011)が入力されその積は9(00100
1)となる。ここで積6は5ビットの2進数として1乗
算器から出力されるが、累算回路2の内部で符号拡張が
行われ6ビットの2進数として累算器内で計算される。
このとき積6と加算される累算値は0である。そして加
算結果は9(001001)となる。
3)×2+1×1を計算する場合の各値の変化を示して
いる。S10において3ビット符号付き2進数3(01
1),3(011)が入力されその積は9(00100
1)となる。ここで積6は5ビットの2進数として1乗
算器から出力されるが、累算回路2の内部で符号拡張が
行われ6ビットの2進数として累算器内で計算される。
このとき積6と加算される累算値は0である。そして加
算結果は9(001001)となる。
【0022】次に、S11において、更に3(01
1)、3(011)が入力されると、その積は符号拡張
されて(001001)となり、現在の累算値9(00
1001)と加算されて新累算値は18(01001
0)となる(図3、S2参照)。この新累算値(010
010)の上位2ビット(01)が拡張ビットであっ
て、桁上げ情報が記録される。従来は1ビットの符号ビ
ットを用いていたので、この計算例のように桁上げがあ
ると符号ビットに桁上げ信号が伝わってしまい、符号情
報が破壊されてしまうことになる。この様な事態をなく
すために、本実施例のように上位2ビットを拡張ビット
に用いる事としたものである。そして、以上の計算過程
において、拡張ビットは累算の途中の桁上げ信号を保持
するので、真の累算結果がオーバーフローしない場合の
計算精度を保つ働きをする。
1)、3(011)が入力されると、その積は符号拡張
されて(001001)となり、現在の累算値9(00
1001)と加算されて新累算値は18(01001
0)となる(図3、S2参照)。この新累算値(010
010)の上位2ビット(01)が拡張ビットであっ
て、桁上げ情報が記録される。従来は1ビットの符号ビ
ットを用いていたので、この計算例のように桁上げがあ
ると符号ビットに桁上げ信号が伝わってしまい、符号情
報が破壊されてしまうことになる。この様な事態をなく
すために、本実施例のように上位2ビットを拡張ビット
に用いる事としたものである。そして、以上の計算過程
において、拡張ビットは累算の途中の桁上げ信号を保持
するので、真の累算結果がオーバーフローしない場合の
計算精度を保つ働きをする。
【0023】更に、第3項目の演算結果に対してオーバ
ーフロー判定を行う(図3、S2参照)。S12におい
て、−3(101)、2(010)が入力されて、オー
バーフロー判定の対象となる新累算値は12(0011
00)となる。この時、累算値の上位2ビットが判断回
路22に入力されて、図4の規則に従って判定がなさ
れ、本例の場合は飽和判定ではない。続いて、S13に
おいて、1(001)、1(001)が入力され、新累
算値は12(001100)となる。この場合、S12
と同様に、上位2ビットが判定され、本例の場合も飽和
判定ではない。従って、以上の4個の積項を加算した結
果、飽和演算が不要であることが判る。
ーフロー判定を行う(図3、S2参照)。S12におい
て、−3(101)、2(010)が入力されて、オー
バーフロー判定の対象となる新累算値は12(0011
00)となる。この時、累算値の上位2ビットが判断回
路22に入力されて、図4の規則に従って判定がなさ
れ、本例の場合は飽和判定ではない。続いて、S13に
おいて、1(001)、1(001)が入力され、新累
算値は12(001100)となる。この場合、S12
と同様に、上位2ビットが判定され、本例の場合も飽和
判定ではない。従って、以上の4個の積項を加算した結
果、飽和演算が不要であることが判る。
【0024】この時仮に、計算式が3×3+3×3+
(−3)×0+1×1であったとすると、累算の結果は
19(010011)となり、図3のステップ3の判定
は図4の規則に従って、上位2ビットが判断回路22に
入力されて、飽和判定がなされる。その結果、判定回路
22は図4の規則による判定結果に従って正の飽和を知
らせる信号を累算値レジスタ23に送り、累算値レジス
タ23はその出力を+15(011111)に設定し、
同時にそれ以降に入力される加算回路21からの入力を
受け付けなくなる。
(−3)×0+1×1であったとすると、累算の結果は
19(010011)となり、図3のステップ3の判定
は図4の規則に従って、上位2ビットが判断回路22に
入力されて、飽和判定がなされる。その結果、判定回路
22は図4の規則による判定結果に従って正の飽和を知
らせる信号を累算値レジスタ23に送り、累算値レジス
タ23はその出力を+15(011111)に設定し、
同時にそれ以降に入力される加算回路21からの入力を
受け付けなくなる。
【0025】以上のように、演算過程を概説すると、従
来の演算の場合、例えば、3×3+(−3)×2+3×
3+1×1という順序で入力された場合には累算途中で
オーバーフローを起こさないで正しい値13を出力する
が、3×3+3×3+(−3)×2+1×1という順序
で入力が行われた場合には第2項を加算した時点でこの
積和演算は飽和してしまうので、結果は最大数15に飽
和する、と言うように演算過程により異なる結果となる
ことがあった。しかし、本実施の形態によれば、この桁
上げ信号を保持する拡張ビットの働きによって、第2項
が加算されたときに発生する桁上げ信号を記憶すること
によりオーバーフローすることを免れることができ、次
の減算によって加算結果を飽和値以下の数値に戻すこと
が可能となる。
来の演算の場合、例えば、3×3+(−3)×2+3×
3+1×1という順序で入力された場合には累算途中で
オーバーフローを起こさないで正しい値13を出力する
が、3×3+3×3+(−3)×2+1×1という順序
で入力が行われた場合には第2項を加算した時点でこの
積和演算は飽和してしまうので、結果は最大数15に飽
和する、と言うように演算過程により異なる結果となる
ことがあった。しかし、本実施の形態によれば、この桁
上げ信号を保持する拡張ビットの働きによって、第2項
が加算されたときに発生する桁上げ信号を記憶すること
によりオーバーフローすることを免れることができ、次
の減算によって加算結果を飽和値以下の数値に戻すこと
が可能となる。
【0026】また、累算回路2内に拡張ビットを設けた
ので、入力される値の順序に関係なく結果が飽和するか
どうかを判定することが出来る。さらに、この拡張ビッ
トにより、演算途中で飽和したことを記憶することがで
きるので、累算値の出力時に飽和した値を出力すること
ができる。
ので、入力される値の順序に関係なく結果が飽和するか
どうかを判定することが出来る。さらに、この拡張ビッ
トにより、演算途中で飽和したことを記憶することがで
きるので、累算値の出力時に飽和した値を出力すること
ができる。
【0027】特に、飽和は3項目または4項目で発生す
るが、この飽和したことを示す情報を保持することによ
り、最後の演算結果を出力べきタイミングにこの保持さ
れた情報を参照して結果を出力することができる。従っ
て、どの時点で飽和が決定しても常に同じタイミングで
計算結果を出力することができる。その結果、パイプラ
イン処理を乱すことなく飽和演算を行うことができる。
るが、この飽和したことを示す情報を保持することによ
り、最後の演算結果を出力べきタイミングにこの保持さ
れた情報を参照して結果を出力することができる。従っ
て、どの時点で飽和が決定しても常に同じタイミングで
計算結果を出力することができる。その結果、パイプラ
イン処理を乱すことなく飽和演算を行うことができる。
【0028】
【発明の効果】以上のように本発明の積和演算処理装置
によれば、入力される数値の順序に関係なく一定の精度
で飽和演算付き積和演算をパイプライン処理の流れを乱
すことなく行うことができる。
によれば、入力される数値の順序に関係なく一定の精度
で飽和演算付き積和演算をパイプライン処理の流れを乱
すことなく行うことができる。
【0029】また本発明の積和演算処理方法によれば、
入力される数値の順序に関係なく一定の精度で飽和演算
付き積和演算を行うことができる。
入力される数値の順序に関係なく一定の精度で飽和演算
付き積和演算を行うことができる。
【図1】本発明の一実施の形態による積和演算処理装置
の構成を示すブロック図
の構成を示すブロック図
【図2】図1の積和演算処理装置の累算回路の構成を示
すブロック図
すブロック図
【図3】図1の積和演算処理装置の動作を示すフローチ
ャート
ャート
【図4】図1の積和演算処理装置の判定回路で適用され
る判定規則図
る判定規則図
【図5】図1の積和演算処理装置の累算回路の動作の例
を示す図
を示す図
【図6】従来の積和演算処理装置の構成を示すブロック
図
図
【図7】従来の積和演算処理装置の動作を示すフローチ
ャート
ャート
【図8】従来の積和演算処理装置で問題が出る演算の例
を示す図
を示す図
1 乗算回路 2 累算回路 21 加算回路 22 判定回路 23 累算値レジスタ 210,211,212,213,214,215 ビ
ット加算回路
ット加算回路
Claims (2)
- 【請求項1】kビットの数値の4つの対を入力とし順次
乗算して結果を累算する積和演算処理装置であって、2
つのkビット数を乗算して2k−1ビットの積を出力す
る乗算回路と、前記乗算回路が出力する積を入力とし順
次入力される積の累算を行う累算回路からなり、前記累
算回路は2k個のビット加算回路と加算結果がオーバー
フローしたことを判断し積和演算の終了まで保存する判
定回路と、前記判定回路の結果によりオーバーフローの
場合には正の最大数または負の最大数を出力する累算値
レジスタを備え、前記判定回路は上位2ビットに割り当
てられた前記ビット加算回路から出力される桁上げ信号
を入力とし、オーバーフローの際には正の数のオーバー
フローか負の数のオーバーフローかを判定する機能と、
判定した結果を積和演算の終了まで保持する機能を備え
たことを特徴とする積和演算処理装置。 - 【請求項2】入力される数値の順序に関係なく一定の精
度で飽和演算付き積和演算を行う積和演算処理方法であ
って、kビットの数値の対を入力する入力ステップと、
前記入力さた数値に対して乗算を行い2k−1ビットの
積を出力する乗算ステップと、前記積を符号拡張して2
kビットとし予め保存されている2kビットの累算値と
加算を行う加算ステップと、加算結果を累算値としてレ
ジスタに保存する累算ステップと、前記加算結果が正あ
るいは負の方向にオーバーフローしているかどうかを判
定しオーバーフローがない場合には終了判定ステップに
遷移するオーバーフロー判定ステップと、前記オーバー
フロー判定ステップでオーバーフローが検出された場合
に累算値を正あるいは負の飽和値にセットする飽和ステ
ップを有し、前記入力ステップと前記乗算ステップと前
記加算ステップと前記累算ステップとオーバーフロー判
定ステップと飽和ステップを4回繰り返したかどうかを
判断するステップと、積和演算が終了した場合に累算値
を出力するステップを含むことを特徴とする積和演算処
理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10032462A JPH11232249A (ja) | 1998-02-16 | 1998-02-16 | 積和演算処理装置および積和演算処理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10032462A JPH11232249A (ja) | 1998-02-16 | 1998-02-16 | 積和演算処理装置および積和演算処理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11232249A true JPH11232249A (ja) | 1999-08-27 |
Family
ID=12359646
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10032462A Pending JPH11232249A (ja) | 1998-02-16 | 1998-02-16 | 積和演算処理装置および積和演算処理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11232249A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110058881A (zh) * | 2019-02-22 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种定点累加运算的处理方法、装置和电子设备 |
| CN115167810A (zh) * | 2022-06-17 | 2022-10-11 | 昕原半导体(上海)有限公司 | 纯数字存内乘法电路架构及其运算方法 |
-
1998
- 1998-02-16 JP JP10032462A patent/JPH11232249A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110058881A (zh) * | 2019-02-22 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种定点累加运算的处理方法、装置和电子设备 |
| CN115167810A (zh) * | 2022-06-17 | 2022-10-11 | 昕原半导体(上海)有限公司 | 纯数字存内乘法电路架构及其运算方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100284799B1 (ko) | 시프트 수단을 이용한 지수 회로 및 사용 방법 | |
| US5751621A (en) | Multiply-add unit and data processing apparatus using it | |
| US6925480B2 (en) | Microarchitecture of an arithmetic unit | |
| CA1311848C (en) | Apparatus and method for floating point normalization prediction | |
| JPH05216624A (ja) | 演算装置 | |
| JP3352887B2 (ja) | クランプ付除算器、このクランプ付除算器を備えた情報処理装置及び除算処理におけるクランプ方法 | |
| JPS6211933A (ja) | 演算回路 | |
| US20070156803A1 (en) | Overflow detection and clamping with parallel operand processing for fixed-point multipliers | |
| JP2006227939A (ja) | 演算装置 | |
| JPH11232249A (ja) | 積和演算処理装置および積和演算処理方法 | |
| JPH1091395A (ja) | プロセッサ | |
| JP4159565B2 (ja) | ベクトル積和演算回路 | |
| KR100309520B1 (ko) | 라운드오프기능을갖는승산방법및승산회로 | |
| JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
| JPH113210A (ja) | 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法 | |
| JP3336986B2 (ja) | 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器 | |
| KR0176883B1 (ko) | 복소수 승산기 | |
| JP3530418B2 (ja) | 乗算装置 | |
| JPH0435777B2 (ja) | ||
| JPH01282633A (ja) | 非正規化数の処理方式 | |
| JP2752698B2 (ja) | 浮動小数点加減算回路 | |
| JP2002175179A (ja) | 整数除算方法および整数除算装置 | |
| JPH0414173A (ja) | 固定小数点演算器 | |
| US5483477A (en) | Multiplying circuit and microcomputer including the same | |
| JP2002318792A (ja) | データ演算処理装置及びデータ演算処理プログラム |