JP2624738B2 - 丸め処理方式 - Google Patents

丸め処理方式

Info

Publication number
JP2624738B2
JP2624738B2 JP63016889A JP1688988A JP2624738B2 JP 2624738 B2 JP2624738 B2 JP 2624738B2 JP 63016889 A JP63016889 A JP 63016889A JP 1688988 A JP1688988 A JP 1688988A JP 2624738 B2 JP2624738 B2 JP 2624738B2
Authority
JP
Japan
Prior art keywords
data
bit
sequence
rounding
numerical
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
JP63016889A
Other languages
English (en)
Other versions
JPH01193929A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP63016889A priority Critical patent/JP2624738B2/ja
Publication of JPH01193929A publication Critical patent/JPH01193929A/ja
Application granted granted Critical
Publication of JP2624738B2 publication Critical patent/JP2624738B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は、ディジタル化された信号を処理する固定
小数点演算形式の信号処理用プロセッサにおいて、加
算,減算,乗算等の演算を行なったデータ語長を必要な
語長に変換する丸め処理方式に関するものである。
[従来の技術] 従来、ディジタル化された信号例えば2進数による演
算結果を演算時のデータ語長より短かい語長に変換する
処理すなわち丸め処理機能を含むディジタル信号処理用
プロセッサとしては、文献「ベル・システム・テクニカ
ル・ジャーナル(THE BELL SYSTEM TECHNICAL JOURNAL
1981.9月,VOL.60,No.7,PART2,P1449〜P1462)」に開示
されたディジタル信号処理用プロセッサがある。
第3図は上記文献に開示された丸め処理機能を含むデ
ィジタル信号処理用プロセッサの全体構成を示すブロッ
ク図である。図に示すように、このディジタル信号処理
用プロセッサは読み出し専用メモリ(以下、ROMとい
う)51,ランダムアクセスメモリ(以下、RAMという)5
2,算術演算ユニット53,アドレス算術演算ユニット54,入
出力回路55,制御ユニット56と各ユニット間を接続する
データバス57,アドレスバス58及び各ユニット内のブロ
ック間を接続する補助バス等を備えている。
算術演算ユニット53は乗算回路61,乗算出力レジスタ6
2,加算回路63,一時記憶レジスタ64,アキュムレータ65,
丸め回路66,乗算入力セレクタ67を備えて、算術演算機
能と丸め処理機能を実行する。
アドレス算術演算ユニット54はプログラムカウンタ
(PC),アドレスレジスタ(RX)〜(RDA)等のレジス
タ68と演算ユニット69を有し、ROM51,RM52からデータを
読出すときにはデータが格納されているアドレスと読出
し指令を与え、RAM52にデータを書込むときには書込む
データとアドレス及び書込指令を与える。
制御ユニット56は制御回路70と計算レジスタ(IR)等
のレジスタ71を有し、与えられた命令を逐次解読して必
要な指令を算術演算ユニット53,アドレス算術演算ユニ
ット54,入出力回路55及び種々のレジスタに送る。
上記のように構成されたディジタル信号処理用プロセ
ッサにおいて、丸め処理機能を含む算術演算ユニット53
の動作を詳細に説明する。
算術演算ユニット53の内部では(i)乗算処理,(i
i)加算処理及び(iii)丸め,切り捨て等によるデータ
語長の変換処理が行なわれ、これらの演算処理は3段の
パイプライン動作で実行される。この各々の演算内容は
次のようになる。
(i)乗算処理 レジスタ72にはデータバス57を介してROM51あるいはR
AM52から16ビット長の計数xが読込まれて格納され、レ
ジスタ73にはRAM52から20ビット長のデータyが格納さ
れる。このレジスタ73のデータyはレジスタ74のデータ
wを乗算入力セレクタ67で線形又は非線形関数 により処理して20ビットのデータとする。乗算回路61に
はレジスタ72に格納された16ビットの計数xと乗算入力
セレクタ67から送られる20ビットのデータが入力され
る。乗算回路61は16ビットの計数xと20ビットのデータ
を乗算し、36ビットの乗算結果pを乗算出力レジスタ62
に格納する。
(ii)加算処理 加算回路63は乗算出力レジスタ62に格納された乗算結
果pと、アキュムレータ65の出力aを入力とする一時記
憶レジスタ64の出力fa(a)の加算を行ない、加算結果
aを40ビットでアキュムレータ65に蓄積する。
(iii)データ語長の変換処理 アキュムレータ65に蓄積された40ビットの加算データ
aは丸め回路66に入力される。丸め回路66では加算デー
タaの丸め又は切り捨て等の処理が実行され、加算デー
タaは40ビットから20ビットのデータ語長に変換されて
レジスタ74に蓄積される。
[発明が解決しようとする課題] しかしながら、以上述べた構成を有するディジタル信
号処理用プロセッサにおいては、算術演算ユニット53に
丸め処理を行なうための専用の丸め回路66を必要とし、
パイプライン処理動作も乗算処理,加算処理及び丸め処
理の3段構造となっている。
このためハードウェア上では丸め回路66を持つことに
より回路規模が増大するという問題点があった。またプ
ログラム上では丸めあるいは切り捨てのいずれの場合
も、データが丸め回路66を通過せざるを得ないため、丸
めあるいは切り捨て等のデータ語長の変換方法をプログ
ラム命令により記述しなければならず、プログラム作成
が複雑化するという問題点があった。
さらに、プログラム命令語長が丸め処理の種類に比例
して大きくなるという問題点もあった。
この発明は以上述べたように専用の丸め回路を必要と
すること,丸め処理を実行するためプログラムが複雑化
する等の問題点を除去したディジタル信号処理用プロセ
ッサの丸め処理方式を提供することを目的とする。
[課題を解決するための手段] この発明に係るディジタル信号処理用プロセッサの丸
め処理方式は次の過程により演算したデータの丸め処理
データを得る。
(a)少なくとも2個のデータ・メモリブロックから丸
め処理するデータ語長により定まる特定の数値列を各々
選択して乗算回路に送る。
4(b)乗算回路では各データ・メモリブロックから選
択した特定の数値列を乗算して、丸め処理するデータ語
長より1桁下の数値が基数の1/2の値となる拡張された
語長の特定の数値列を生成し、この拡張された語長の特
定の数値列を算術論理演算回路に送る。
(c)算術論理演算回路では拡張された語長の特定の数
値列とアキュムレータに記憶された拡張語長の丸め処理
されるデータ数値列とを加算する。
(d)この加算した拡張語長のデータ数値列から丸め処
理するデータ語長のデータ数値列を取り出す。
[作用] この発明においては、少なくとも2個のデータメモリ
ブロックに丸め処理するデータ語長で定まる特定の数値
列を複数個記憶させ、丸め処理する任意の語長に応じて
データメモリブロック中の特定の数値列を選択し、通常
の積和演算と同じ方法で丸め処理をするようにしたの
で、丸め処理は通常のプログラム命令を記述することに
より実行することができる。したがって前記問題点を解
決することができる。
[実施例] 第1図はこの発明の一実施例に係るディジタル信号処
理用プロセッサの算術演算ユニット部を示すブロック図
である。図に示すように算術演算ユニット部は第1のデ
ータメモリ1,第2のデータメモリ2,算術演算ユニット3
及びmビット長のデータバス9を備えている。なお、そ
の他の部分は第3図に示した従来例と全く同じである。
第1のデータメモリ1と第2のデータメモリ2には各
々入力端子4,5を介して不図示のRAMからワード当りmビ
ットのデータが読込まれて格納されている。
算術演算ユニット3は乗算回路6,算術論理演算回路7,
アキュムレータ8及び各回路間を接続する補助バスを有
する。乗算回路6は第1のデータメモリ1と第2のデー
タメモリ2とから各々mビットのデータからなる被乗
数,乗数を入力し、このmビットの被乗数,乗算を乗算
して(m+n)ビット長の数値列からなる乗算結果を得
る。算術論理回路(以下、ALUという)7は語長(m+
n)ビットのデータを処理する。アキュムレータ(8)
はALU7で処理された語長(m+n)ビットのデータを蓄
積する。
まず、上記のように構成した算術演算ユニット部によ
り丸め処理されるデータDを演算する場合について説明
する。
第1のデータメモリ1と第2のデータメモリ2から読
出された各々語長mビットのデータは乗算回路6により
乗算され、(m+n)ビット長のデータ数値列に変換さ
れる。この(m+n)ビット長のデータ数値列はALU7に
より、アキュムレータ8に蓄積されている先の演算結果
との間で処理されて、アキュムレータ8に(m+n)ビ
ット長の丸め処理されるデータD(dm-1 dm-2…d1 d0 d
-1X…X)として蓄積される。但しdi(i=m−1,…0,
−1)及びXは2進数を表わし、(dm-1 dm-2…d0)は
mビットの数値列,(d-1X…X)はnビットの数値列を
示す。
次に上記のようにアキュムレータ8に蓄積された(m
+n)ビットのデータ数値列Dをmビットのデータ数値
列に丸める場合を、第2図の丸め処理の演算データの構
造を示す説明図を参照して説明する。
この実施例は語長(m+n)ビットのデータ数値列D
の上位より(m+1)ビット目に常に“1"、すなわち2
進数の基数である“2"の1/2を加えることにより、デー
タ数値列Dの上位より(m+1)ビット目が“1"のとき
にはmビット目に“1"を加え、上位より(m+1)ビッ
ト目が“0"のときにはmビット目に“0"を加えるように
したものである。そして、この演算結果の上位mビット
を切り取る丸め処理を実行する場合のデータの推移を第
2図に示す。
(m+n)ビットのデータ数値列Dをmビットのデー
タ数値列に丸め処理する場合は、まず丸め処理するデー
タ語長mビットにより定まる特定の数値列をデータメモ
リから選択して読み出す。すなわち第1のデータメモリ
1からmビットの数値列M1(000…01)を読み出し、第
2のデータメモリ2からmビットの数値列M2(010…
0)を読み出し、この各mビットの数値列M1,M2を乗算
回路6に入力する。乗算回路6では入力した数値列M1,M
2を乗算して(m+n)ビットの数値列M3(00…010…
0)を得る。この(m+n)ビットの数値列M3の上位か
ら(m+1)ビット目の数値が“1"、すなわち2進数の
基数の1/2となり、他のビットはすべて“0"になるよう
にmビットの数値列M1,M2が選ばれている。
次に、この(m+n)ビットの数値列M3と、アキュム
レータ8に蓄積されている丸め処理される(m+n)ビ
ット長のデータ数値列D(dm-1 dm-2…d1 d0 d-1X…
X)とをALU7に入力する。ALU7では(m+n)ビットの
数値列M3とデータ数値列Dとの加算を行ない、加算した
データ数値列E{Dm-1 Dm-2…D1 D0(d-1+1)X…
X}をアキュムレータ8に蓄積する。ここでDi(i=m
−1,m−2,…0)は2進数を示す。
このアキュムレータ8に蓄積された(m+n)ビット
のデータ数値列Eの上位より(m+1)ビット目の数値
は(d-1+1)であり、d-1が“1"のときには、これに
“1"が加算されるから桁上りが発生して上記mビット目
の数値D0はD0=d0+1となる。一方d-1が“0"のときに
は、これに“1"が加算されても桁上りは発生せず、上位
mビット目の数値D0はD0=d0となる。
さらに、このALU7の加算処理に続くマシンサイクル
で、アキュムレータ8に蓄積された(m+n)ビットの
データ数値列Eの上位mビットを切り取り、mビットの
データ数値列D1(Dm-1 Dm-2……D1 D0)としてmビット
長のデータバス9に送り、mビットに丸め処理されたデ
ータを得ることができる。
以上述べたように、(m+n)ビットのデータ数値列
Dをmビットのデータ数値列に丸める場合、丸め処理は
通常の積和演算と同じく2段のパイプライン処理で実行
することができる。したがって、丸め処理が必要な場
合、例えばディジタルフィルタの積和演算の一部とし
て、殆んどの場合最終演算結果に対して適用すれば良
く、1マシンサイクルで処理することができる。
また、上記実施例は(m+n)ビットのデータ数値列
Dをmビットのデータ数値列D1に丸める場合について説
明したが、丸め処理に使用する特定の数値列M1,M2を複
数種類用意しておき、この特定の数値列を適宜使いわけ
ることによりデータ数値列を任意のビット長に丸め処理
することができる。
なお、上記実施例においては2進数からなるデータ数
値列を丸め処理する場合について説明したが、例えば8
進数等のデータ数値列であっても上記実施例と同様に丸
め処理を行なうことがでる。
[発明の効果] 以上詳細に説明したように、この発明によれば少なく
とも2個のデータメモリに丸め処理するデータ語長で定
まる特定の数値列を記憶させ、この特定の数値列を用い
て通常の積和演算と同じ方法で丸め処理を実行するよう
にしたので、丸め処理用の特別のハードウェアを必要と
せず、LSI回路の増大,複雑化を抑えることができる。
また、丸め処理が通常の積和演算と同じ方法でできる
ため、プログラム命令としても、丸め処理のための専用
命令を持つ必要がなく、プログラム構造が複雑になるこ
とを抑制することができる。
さらに、データメモリに記憶された特定の数値列を用
いて丸め処理を行なうから、この特定の数値列を複数種
類用意し、適宜使いわけることにより、任意の語長に丸
め処理することができ、適用範囲が広いという効果も有
する。
【図面の簡単な説明】
第1図はこの発明の実施例に係るディジタル信号処理用
プロセッサの算術演算ユニット部を示すブロック図、第
2図は第1図に示した算術演算ユニット部による丸め処
理の演算データ構造を示す説明図、第3図は従来例の丸
め処理機能を含むディジタル信号処理用プロセッサの全
体構成を示すブロック図である。 1……第1のデータメモリ、2……第2のデータメモ
リ、3……算術演算ユニット、6……乗算回路、7……
算術論理演算回路(ALU)、8……アキュムレータ、9
……データバス。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】被乗数データおよびこの被乗数データと同
    ビット数である第1の数値列が格納される第1のデータ
    メモリと、 乗数データおよびこの乗数データと同ビット数である第
    2の数値列が格納される第2のデータメモリと、 これら被乗数データ、乗数データを乗算処理し、乗算結
    果を出力する乗算器と、 アキュムレータと、 前記乗算結果と前記アキュムレータに予め格納されてい
    るデータとに対して所定の演算を施し、この演算結果を
    前記アキュムレータに出力する算術論理演算回路とを備
    えた信号処理装置において、 前記第1のデータメモリに格納されている第1の数値列
    と前記第2のデータメモリに格納されている第2の数値
    列とを前記乗算器において乗算して、丸め処理するデー
    タ語長より1桁下の数値が基数の1/2の値となる特定の
    数値列を生成し、 この特定の数値列と前記アキュムレータに格納されてい
    る前記演算結果とを前記算術論理演算回路において加算
    し、この加算結果から前記丸め処理するデータ語長のデ
    ータ数値列を取り出すことを特徴とする丸め処理方式。
JP63016889A 1988-01-29 1988-01-29 丸め処理方式 Expired - Lifetime JP2624738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63016889A JP2624738B2 (ja) 1988-01-29 1988-01-29 丸め処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63016889A JP2624738B2 (ja) 1988-01-29 1988-01-29 丸め処理方式

Publications (2)

Publication Number Publication Date
JPH01193929A JPH01193929A (ja) 1989-08-03
JP2624738B2 true JP2624738B2 (ja) 1997-06-25

Family

ID=11928732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63016889A Expired - Lifetime JP2624738B2 (ja) 1988-01-29 1988-01-29 丸め処理方式

Country Status (1)

Country Link
JP (1) JP2624738B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59184944A (ja) * 1983-04-06 1984-10-20 Hitachi Ltd 丸め演算方式
JPS62120535A (ja) * 1985-11-20 1987-06-01 Oki Electric Ind Co Ltd 並列乗算器

Also Published As

Publication number Publication date
JPH01193929A (ja) 1989-08-03

Similar Documents

Publication Publication Date Title
US4466077A (en) Method and apparatus for division employing associative memory
US5457805A (en) Microcomputer enabling high speed execution of product-sum operation
JPH061438B2 (ja) 倍精度乗算器
US4991132A (en) Apparatus for executing division by high-speed convergence processing
JP2624738B2 (ja) 丸め処理方式
JP2513139B2 (ja) 信号処理プロセッサ
EP0936537B1 (en) Cyclic redundancy check in a computer system
JP2000020486A (ja) Simd型演算器
JPS59178544A (ja) メモリアクセス回路
JPH0831024B2 (ja) 演算プロセッサ
JP3538512B2 (ja) データ変換装置
JP2734438B2 (ja) 乗算装置
JP2508286B2 (ja) 平方根演算装置
JP3055558B2 (ja) nビット演算装置
JP2575856B2 (ja) 演算回路
JP2605792B2 (ja) 演算処理装置
JP3537266B2 (ja) デジタル演算集積回路
JP2889244B2 (ja) 画像処理装置
JPS62259140A (ja) アドレス生成回路
SU1532947A1 (ru) Устройство дл вычислени свертки
JP2912067B2 (ja) 調速処理装置及びデバッグ装置
JPH0695855A (ja) 逆数発生回路及びこれを用いたディジタルシグナルプロセッサ
JP2862969B2 (ja) プロセッサ
JPH01233520A (ja) 高基数非回復型除算装置
JPH0580978A (ja) 演算処理回路

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080411

Year of fee payment: 11