JP2951685B2 - 固定小数点演算器 - Google Patents

固定小数点演算器

Info

Publication number
JP2951685B2
JP2951685B2 JP11576990A JP11576990A JP2951685B2 JP 2951685 B2 JP2951685 B2 JP 2951685B2 JP 11576990 A JP11576990 A JP 11576990A JP 11576990 A JP11576990 A JP 11576990A JP 2951685 B2 JP2951685 B2 JP 2951685B2
Authority
JP
Japan
Prior art keywords
output
accumulator
shift amount
data
shifter
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 - Fee Related
Application number
JP11576990A
Other languages
English (en)
Other versions
JPH0414173A (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 JP11576990A priority Critical patent/JP2951685B2/ja
Publication of JPH0414173A publication Critical patent/JPH0414173A/ja
Application granted granted Critical
Publication of JP2951685B2 publication Critical patent/JP2951685B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、信号処理装置の演算部などに使用して、
様々なアルゴリズムに対し、簡単に適用できるようにし
た固定小数点積和演算器に関するものである。
(従来の技術) 従来、演算装置に関しては、「Second−Generation」
TMS 320 User's Guide 3−22〜3−27に記載されてお
り、また、浮動小数点積和演算器に関しては、特開昭62
−168228号公報により開示されている。
第3図は従来の固定小数点積和演算器の一構成を示す
ブロック図である。この第3図において、乗算器1の出
力あるいは入力レジスタ2の出力をマルチプレクサ3で
選択し、その選択した出力を図示しないレジスタによっ
て指定される値だけシフタ4によってシフトし、このシ
フタ4の出力とアキュムレータ6の出力とを演算装置5
(以下、ALUという)で加算するようになっている。
このALU5の出力はアキュムレータ6に格納されるとと
もに、アキュムレータ6の出力を命令から指定される値
だけ左シフタ7で左シフトするように構成されている。
このような構成をなす固定小数点積和演算器を用いて
二つのデータ列の内積を求める場合、ALU5でオーバフロ
ーを避けるためには、以下のような手段を必要とする。
すなわち、積和演算途中のデータの最大値がALUの出
力として表現できる値となるように乗算器1の出力を右
シフトする。この右シフトした数値フォーマットで累積
加算を行い、最後に元の数値フォーマットに戻すために
アキュムレータに格納された結果を左シフトして取り出
す。
また、上記手順以外の方法としては、ALUのビット幅
を乗算器出力ビット以上に拡張し、積和演算途中のデー
タがALUの出力として表現できるようにすることによ
り、オーバフローを避けるという構成が採られてきた。
(発明が解決しようとする課題) しかしながら、上記構成の固定小数点積和演算器で
は、汎用計算機などを用いたシミュレーションを行うこ
とによって、入力データあるいは演算途中でのデータの
ダイナミックレンジをあらかじめ調査し、オーバフロー
が起こらないようにシフト量を決定させる必要がある。
また、突発的に大きいデータが入力した場合には、対
処できない。
このシミュレーションを省略あるいは簡略化する方法
として、どのようなデータが入力されても、オーバフロ
ーが起こらないようなシフト量を選択することが考えら
れる。
この方法では、実際の入力データに対し、余裕を持た
せたシフト量であるため、演算精度が損なわれるという
問題点がある。
また、このシフト量のビット数だけALU幅を拡張する
と、精度は保たれるが、演算が変わったり、入力データ
のダイナミックレンジが変わったりすると、ALUの拡張
ビット幅は変更できないため、拡張幅だけでは不足した
り、ハードウエアが余分になったりするという問題点が
あった。
この発明は前記従来技術が持っている問題点のうち、
シミュレーションが必要な点と、精度が確保できない点
と、ハードウエアに冗長性がある点について解決した固
定小数点積和演算器を提供するものである。
(課題を解決するための手段) この発明は前記問題点を解決するために、整数部と小
数部とからなるデータに対して演算処理を行う固定小数
点演算器において、第1のデータと第2のデータとを選
択的に出力するマルチプレクサと、このマルチプレクサ
の出力であるデータをシフト量情報に従ったビット分の
算術右シフトをしたデータを出力する第1のシフタと、
第1のシフタの出力とアキュムレータの出力とにより所
定の演算を行うとともに、その演算の結果にオーバフロ
ーが発生した場合にこの演算結果を1ビット分算術右シ
フトして出力し、オーバフローの発生を指示する指示信
号を出力する演算手段と、演算手段の出力を格納し、出
力する前記アキュムレータと、シフト量情報を保持し出
力するものであって、指示信号に応答して該シフト量情
報を更新するシフト量保持手段と、アキュムレータの出
力を前記シフト量情報に従ったビット分の算術左シフト
して出力する第2のシフタとを有するものである。
(作 用) この発明によれば、以上のように、固定小数点積和演
算器を構成したので、第1のシフタで入力データをシフ
ト量保持手段のシフト量情報分だけ算術右シフトし、こ
の第1のシフタの出力とアキュムレータの出力とにより
演算手段で演算を行い、その演算結果がオーバフローす
ると、演算結果を1ビット右シフトしてアキュムレータ
に格納するとともに、シフト量保持手段のシフト量情報
を+1して、演算中の数値フォーマットに自動的に入力
データフォーマットを適合させ、かつ演算中のデータフ
ォーマットを出力データフォーマットに適合させるよう
に作用し、したがって、前記問題点を除去できる。
(実施例) 以下、この発明の固定小数点積和演算器の実施例につ
いて図面に基づき説明する。第1図はその一実施例の構
成を示すブロック図である。
この第1図において、乗算器11の出力と入力レジスタ
12の出力はマルチプレクサ13に入力され、このマルチプ
レクサ13により選択されて出力されるようになってい
る。
マルチプレクサ13の出力は第1のシフタである右シフ
タ14の入力データとして、この右シフタ14に入力される
ようになっている。この右シフタ14はマルチプレクサ13
の出力を入力して、シフト量保持手段であるシフト量レ
ジスタ15の内容、つまりシフト量情報分だけ算術右シフ
トが行われるようになっている。
右シフタ14の出力とアキュムレータ17の出力は演算手
段であるALU16に入力されるようになっている。このALU
16は右シフタ14の出力とアキュムレータ17の出力との加
減算を行うとともに、その演算結果がオーバフローして
いるか、否かの検出も行うようになっている。
ALU16の演算結果はアキュムレータ17に出力されるよ
うになっているが、演算結果がオーバフローしているこ
とを検出すると、演算結果を1ビット右シフトしてアキ
ュムレータ17に格納するオーバフローの発生を指示する
指示信号により、シフト量レジスタ15の値に+1するよ
うになっている。
このアキュムレータ17の出力は上述のように、ALU16
に入力されるようになっているとともに、第2のシフタ
である左シフタ18にも出力するようになっている。
この左シフタ18はシフト量レジスタ15の値だけ算術左
シフトして出力するようになっている。
次に、動作について説明する。積和演算を行う場合に
は、まず、積和演算を行う前に、アキュムレータ17の内
容とシフト量レジスタ15の内容をともに0にしておく。
この状態で、乗算器11の二つの入力端子にデータを与
えると、乗算器11はこの二つの入力データの乗算を行
い、その乗算結果をマルチプレクサ13に出力する。
この乗算器11の出力はマルチプレクサ13により選択さ
れる。積和演算を行う場合には、マルチプレクサ13は常
に乗算器11の出力を選択して右シフタ14に出力する。
また、入力レジスタ12の演算したい場合には、マルチ
プレクサ13を切り換える必要があるが、これについては
後述する。
いまは、マルチプレクサ13が乗算器11の出力を選択し
た場合であり、マルチプレクサ13が乗算器11の出力を選
択して右シフタ14に出力すると、この右シフタ14によ
り、マルチプレクサ13の出力をシフト量レジスタ15の内
容だけ算術右シフトするが、最初はシフト量レジスタ15
の値は0であるので、データは影響されない。
次に、右シフタ14の出力とアキュムレータ17の内容を
ALU16に入力し、この両者をALU16で加算する。この加算
の結果、オーバフローが生じた場合には、加算結果を1
ビット右シフトして、アキュムレータ17に格納するとと
もに、シフト量レジスタ15の内容を+1して、このシフ
ト量レジスタ15に格納する。
以降ALU16では、これまでのデータフォーマット(デ
ータフォーマットに関しては後に詳述)より1ビット小
数点の位置が右に移動したフォーマットで演算を行うこ
とになる。
ALU16において、オーバフローが生じなかった場合に
は、右シフタ14の出力とアキュムレータ17の出力との加
算結果をそのままアキュムレータ17に格納する。
次に、乗算器11の入力データを変えて、上記と同様に
乗算し、その乗算結果をマルチプレクサ13で選択して右
シフタ14に出力し、右シフタ14の出力とアキュムレータ
17の出力とを上記と同様にして加算し、その加算結果を
アキュムレータ17に格納するという操作をデータの数だ
け繰り返す。
ただし、2度目以降の操作はシフト量レジスタ15の内
容が0でない可能性があるので、乗算器11の出力データ
は右シフタ14により、シフト量レジスタ15の内容だけ算
術右シフトされる。
このような操作の繰り返しが終了すると、アキュムレ
ータ17の内容を左シフタ18により、シフト量レジスタ15
の内容だけ算術左シフトして出力する。
このようにすることにより、アキュムレータ17のデー
タフォーマットを意識しないで、乗算器11の出力データ
フォーマットと同じフォーマットの出力データが得られ
る。
また、アキュムレータ17と入力レジスタ12の出力をAL
U16を用いて行う場合には、まず、マルチプレクサ13を
切り換えて、入力レジスタ12の出力がマルチプレクサ13
により選択され、右シフタ14に出力する。
次に、右シフタ14により、シフト量レジスタ15の内容
だけ右シフトし、ALU16でアキュムレータ17の出力と右
シフタ14の出力との演算を行う。
このようにして、アキュムレータ17内のデータフォー
マットを意識せずに、入力レジスタ12のデータフォーマ
ットを自動的にアキュムレータ17のデータフォーマット
に合わせて演算が行える。ただし、入力レジスタ12のデ
ータフォーマットは乗算器11の出力データフォーマット
と同一でなければならない。
次に、上記積和演算を行う際のALU16で扱うデータフ
ォーマットに関して説明する。第2図はこのデータフォ
ーマットおよびシフト量レジスタ15の値の推移を示す図
である。
乗算器11の出力フォーマットを第2図(a)に示すよ
うに、整数部nビット、小数部mビットであると仮定す
る。
積和演算を行う前はシフト量レジスタ15、アキュムレ
ータ17の値は0であるので、ALU16での乗算結果のシフ
トは行われず、第2図(a)のフォーマットのままでア
キュムレータ17に格納される。
次に、次サイクルでの乗算器11の出力がアキュムレー
タ17の値とALU16で加算され、その加算結果がオーバフ
ローしたとする。
この時、シフト量レジスタ15を+1増加させるととも
に、ALU16では、演算結果を1ビット右シフトし、アキ
ュムレータ17に格納する。この場合のアキュムレータ17
のデータフォーマットは第2図(b)のようになる。
このようにして、積和演算を繰り返した場合の途中の
データフォーマットが第2図(c)のように、整数部
(n+3)ビット、小数部(m−3)ビットとなったと
仮定する。この時のシフト量レジスタ15の値は「3」で
ある。
次サイクルでの乗算器11の出力はこのシフト量レジス
タ15により右シフタ14で3ビット右シフトされ、ALU16
の入力では、アキュムレータ17と同一のデータフォーマ
ットとなり、演算が可能となる。
このようにして、積和演算の繰り返しが終了した時の
アキュムレータ17のデータフォーマットが第2図(d)
のように整数倍(n+8)ビット、小数部(m−8)ビ
ットになったと仮定する。
この時のシフト量レジスタ15の値は「8」である。こ
のフォーマットを持つアキュムレータ17のデータを出力
する場合には、シフト量レジスタ15により、左シフタ8
において、8ビット左シフトされるため、データフォー
マットは第2図(e)のようになる。
この第2図(e)のフォーマットは乗算器11の出力フ
ォーマットと同一である。
このように、積和演算中のデータフォーマットの変化
を意識せずに、乗算器11の出力と同一フォーマットの積
和演算結果が得られる。
また、積和演算途中での別のデータとの演算を行う場
合には、まず、マルチプレクサ13を入力レジスタ12の出
力が選択するように切り換える。
この入力レジスタ12には、乗算器11の出力と同一フォ
ーマットのデータを格納する。現在のアキュムレータ17
のデータフォーマットが第2図(c)であると仮定する
と、入力レジスタ12の値は右シフタ14により3ビット右
シフトされ、アキュムレータ17と同一のデータフォーマ
ットとなり、演算が可能になる。
したがって、入力レジスタ12には、現在のアキュムレ
ータ17のデータフォーマットに関わらず、乗算器11の出
力と同一データフォーマットを格納しておけば、アキュ
ムレータ17との演算が可能となる。
(発明の効果) 以上詳細に説明したように、この発明によれば、自動
的にALUで数値フォーマットを決定するとともに、入力
データと出力データを自動的にALUでの数値フォーマッ
トに変換するようにしたので、入力データのダイナミッ
クレンジ、演算回数などに関係なく、最適なハードウエ
ア量と演算精度の確保が期待できる。
したがって、信号処理装置の演算部などに使用すれ
ば、様々なアルゴリズムに対し、簡単に適用できる。
【図面の簡単な説明】
第1図はこの発明の固定小数点積和演算器の一実施例の
構成を示すブロック図、第2図は同上実施例を説明する
ためのシフト量レジスタの値とアキュムレータのデータ
フォーマットの推移を示す説明図、第3図は従来の固定
小数点積和演算器のブロック図である。 11……乗算器、12……入力レジスタ、13……マルチプレ
クサ、14……右シフタ、15……シフト量レジスタ、16…
…ALU、17……アキュムレータ、18……左シフタ。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】整数部と小数部とからなるデータに対して
    演算処理を行う固定小数点演算器において、 第1のデータと第2のデータとを選択的に出力するマル
    チプレクサと、 前記マルチプレクサの出力であるデータをシフト量情報
    に従ったビット分の算術右シフトをしたデータを出力す
    る第1のシフタと、 前記第1のシフタの出力とアキュムレータの出力とによ
    り所定の演算を行うとともに、該演算の結果にオーバフ
    ローが発生した場合に該演算結果を1ビット分算術右シ
    フトして出力し、オーバフローの発生を指示する指示信
    号を出力する演算手段と、 前記演算手段の出力を格納し、出力する前記アキュムレ
    ータと、 前記シフト量情報を保持し出力するものであって、前記
    指示信号に応答して該シフト量情報を更新するシフト量
    保持手段と、 前記アキュムレータの出力を前記シフト量情報に従った
    ビット分の算術左シフトして出力する第2のシフタとを
    有することを特徴とする固定小数点演算器。
JP11576990A 1990-05-07 1990-05-07 固定小数点演算器 Expired - Fee Related JP2951685B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11576990A JP2951685B2 (ja) 1990-05-07 1990-05-07 固定小数点演算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11576990A JP2951685B2 (ja) 1990-05-07 1990-05-07 固定小数点演算器

Publications (2)

Publication Number Publication Date
JPH0414173A JPH0414173A (ja) 1992-01-20
JP2951685B2 true JP2951685B2 (ja) 1999-09-20

Family

ID=14670597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11576990A Expired - Fee Related JP2951685B2 (ja) 1990-05-07 1990-05-07 固定小数点演算器

Country Status (1)

Country Link
JP (1) JP2951685B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644039B1 (ko) * 2015-06-11 2016-07-29 에스케이텔레콤 주식회사 고정소수점 연산 방법 및 고정소수점 연산 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100457040B1 (ko) * 2000-06-21 2004-11-10 패러데이 테크놀로지 코퍼레이션 곱셈 누산 명령을 이용한 데이터 처리 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101644039B1 (ko) * 2015-06-11 2016-07-29 에스케이텔레콤 주식회사 고정소수점 연산 방법 및 고정소수점 연산 장치

Also Published As

Publication number Publication date
JPH0414173A (ja) 1992-01-20

Similar Documents

Publication Publication Date Title
EP0351242B1 (en) Floating point arithmetic units
EP0136834A2 (en) A digital circuit performing an arithmetic operation with an overflow
JPS6347874A (ja) 算術演算装置
JPH1195981A (ja) 乗算回路
KR960002061A (ko) 부동소수점수를 위한 산술연산장치
JPH04290122A (ja) 数値表現変換装置
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
JPH0850578A (ja) 算術論理演算装置及び制御方法
JP2951685B2 (ja) 固定小数点演算器
JPH0690668B2 (ja) ファジイ演算装置
JP3660075B2 (ja) 除算装置
JPH0346024A (ja) 浮動小数点演算器
JPS5939774B2 (ja) 指数関数の演算方式
JPH0519170B2 (ja)
JP2578482B2 (ja) 浮動小数点演算器
JPS62197868A (ja) パイプライン構成の直線近似変換回路
JPH04172526A (ja) 浮動小数点除算器
JPH0831024B2 (ja) 演算プロセッサ
KR100310417B1 (ko) 고속퓨리에변환장치의비트-리버스트어드레스발생기
JPH10333883A (ja) 乗算方法および乗算回路
JPS63254525A (ja) 除算装置
JP3336986B2 (ja) 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器
KR100265358B1 (ko) 고속의쉬프팅장치
JPS6177964A (ja) デジタル信号処理装置
JP3551291B2 (ja) シリアル数値演算装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20080709

LAPS Cancellation because of no payment of annual fees