JPH04286023A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH04286023A
JPH04286023A JP3051740A JP5174091A JPH04286023A JP H04286023 A JPH04286023 A JP H04286023A JP 3051740 A JP3051740 A JP 3051740A JP 5174091 A JP5174091 A JP 5174091A JP H04286023 A JPH04286023 A JP H04286023A
Authority
JP
Japan
Prior art keywords
value
output data
arithmetic
bit width
data
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
Application number
JP3051740A
Other languages
English (en)
Inventor
Satoshi Matsui
聡 松井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3051740A priority Critical patent/JPH04286023A/ja
Publication of JPH04286023A publication Critical patent/JPH04286023A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は乗算回路や積和演算回路
のような演算回路に係り、特に高速にクリップ処理を行
なう演算回路に関する。昨今、乗算回路や積和演算回路
を使用するシステムにおいては、その出力ビット数に対
し、全ての出力ビットを使用することは稀であり、大半
のシステムではそのシステムで処理できるビット長に加
工して使用している。その際、乗算回路や積和演算回路
の結果を高速に処理する必要がある場合には、そのシス
テムで処理できる最適のビット長に対してオーバーフロ
ー又はアンダーフローした数を、そのシステムで処理で
きる最適のビット長で表せる最大値又は最小値にそれぞ
れ置き換えて使用することがある。
【0002】
【従来の技術】従来の乗算回路や積和演算回路等の演算
回路を使用したシステムの例を、図4の概念構成図を用
いて説明する。同図において、51はデータA(ビット
長a)とデータB(ビット長b)を入力して乗算又は積
和演算等の演算を行ない、データC(ビット長c=ビッ
ト長a+ビット長b)を演算結果として出力する演算回
路であり、52は入力データCに対してクリップ処理を
行ない、データD(ビット長d<ビット長c)を出力す
るソフトウェアプログラムである。
【0003】ここで、クリップ処理とは、乗算又は積和
演算において、演算結果が正の値で出力レジスタ(ビッ
ト長d)に対してオーバーフローした数値である場合に
該レジスタで表し得る正の最大値に置き換え、また演算
結果が負の値でオーバーフロー(即ち、アンダーフロー
)した数値である場合に負で絶対値が最大の数値に置き
換える処理をいう。
【0004】また、図5に示すように、乗算又は積和演
算等の演算において、例えば32ビット長のデータCの
内、29ビットから14ビットまでの16ビット長デー
タDに切り出す時、データCに対してデータDの最下位
ビットのすぐ下が1であるデータを加算する丸め処理を
行なってデータDを生成することが多いが、同図に示す
ように、データCが負で取り出すデータDが正となって
しまう場合に、データDを負で絶対値が最大の数値に置
き換え、データCが負でデータDが正となってしまう場
合に、データDを正の最大値に置き換える処理もクリッ
プ処理という。
【0005】この従来の演算回路を使用したシステムで
は、通常は演算回路51の出力データCを所定のビット
からビットまでのビット長dのデータDに単純に切り出
して出力するが、演算回路51で、例えばオーバーフロ
ーが発生すると、割込みを発生させて、割り込み処理と
してソフトウェアプログラム52でクリップ処理を行な
い、データDを生成する。
【0006】
【発明が解決しようとする課題】従って、乗算又は積和
演算等の演算において、高速処理が要求される分野では
、オーバーフロー等によりクリップ処理が発生する場合
には、オペレーティングシステムの割り込み処理によっ
て処理を行なうため、処理が間に合わないという問題が
あった。
【0007】本発明は、クリップ処理をハードウェアで
実現し、乗算回路または積和演算等の演算回路の出力側
に該ハードウェアを構成することにより、高速にクリッ
プ処理を行なう演算回路を提供することを目的とする。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、図1に示す如く、加、減、乗、除、或い
はその組み合わせ演算等を行なう演算手段11を具備す
る演算回路であって、前記演算手段11の入力データA
、B及び出力データCからオーバーフローか否かを判定
するオーバーフロー判定手段12と、前記演算手段11
の出力データCを所定のビット幅分だけ切り出す切り出
し処理を行なうか否かを指定する切り出しフラグ14と
、前記切り出しフラグ14で切り出し処理が指定されて
いる時に、前記演算手段11の出力データCが正の値で
オーバーフローした場合に所定のビット幅で表しうる正
の最大値に置き換え、前記演算手段11の出力データC
が負の値でオーバーフローした場合に負で絶対値が所定
のビット幅で表しうる最大の数値に置き換え、前記切り
出しフラグ14で切り出し処理が指定されていない時に
は、前記演算手段11の出力データCのまま出力する第
1のクリップ手段13とを有して構成する。
【0009】
【作用】本発明では、図1の如く、切り出しフラグ14
で切り出し処理が指定されている時には、演算手段11
の出力データCが正の値でオーバーフローした場合に所
定のビット幅で表しうる正の最大値に置き換え、また、
演算手段11の出力データCが負の値でオーバーフロー
した場合に負で絶対値が所定のビット幅で表しうる最大
の数値に置き換える。更に、切り出しフラグ14で切り
出し処理が指定されていない時には、前記演算手段11
の出力データCのままデータDを出力する。
【0010】このようにクリップ処理をハードウェアで
実現しており、従って、高速にクリップ処理を行なうこ
とができる。
【0011】
【実施例】次に、本発明に係る実施例を図面に基づいて
説明する。 第1実施例 図2に本発明の第1実施例を示す。この図2は本発明の
第1実施例に係る演算回路の構成図を示したもので、積
和演算を行うものである。
【0012】図2において、本実施例の演算回路は、積
和演算回路31と、積和演算回路31の演算の結果オー
バーフローを起こしたか否かを判定するオーバーフロー
判定回路32と、積和演算回路31の出力データC(3
7ビット長)を所定のビット幅(ここでは29ビットか
ら14ビットまでの16ビット長データ)分だけ切り出
す切り出し処理を行なうか否かを指定(制御信号CLP
=1と)する制御フラグ34と、制御フラグ34で切り
出し処理が指定されている時に、積和演算回路31の出
力データCが正の値でオーバーフローした場合に所定の
ビット幅で表しうる正の最大値に置き換え、出力データ
Cが負の値でオーバーフローした場合に負で絶対値が所
定のビット幅で表しうる最大の数値に置き換え、制御フ
ラグ34で切り出し処理が指定されていない時には、積
和演算回路31の出力データCのまま出力するクリップ
回路33とから構成されている。
【0013】積和演算回路31は、16ビット長のデー
タA(a1、…、a15)及びB(b1、…、b15)
に対して項数5の積和演算(a1×b1+a2×b2+
…+a15×b15)を行うもので、データA及びBを
入力して乗算を行ない、乗算結果として32ビットデー
タEを出力する乗算器35と、32ビット長の乗算結果
とラッチレジスタに保持されている積和の部分和(37
ビット長)とを加算する加算器36と、加算器36の結
果、即ち積和の部分和を格納しておくラッチレジスタ3
7とから構成されている。
【0014】オーバーフロー判定回路32は、例えば本
実施例の場合、乗算器35の出力データEの符号ビット
(最上位ビット)E36と、ラッチレジスタ37の出力
データFの符号ビットF36と、加算器の出力データC
の符号ビットC36を入力し、符号ビットE36とF3
6が同値で、符号ビットC36の値と異なる時、オーバ
ーフロー信号OVF=1とする論理を構成すればよい。 尚、このオーバーフロー判定回路32の論理は、演算手
段11又は12の演算の種類に従って、その演算のオー
バーフローの定義に従って構成される。
【0015】クリップ回路33は、具体的には、図3に
示す回路で構成されている。即ち、データC(C36〜
C0)を入力とし、出力データD(D36〜D0)の内
、D15〜D0の16ビットは、オーバーフロー信号O
VF及び制御信号CLPにより制御して、3種類のデー
タに切り替えている。制御フラグ34で切り出し処理が
指定されている(制御信号CLP=1)場合には、積和
演算回路31の演算中にオーバーフローが発生しなかっ
た時(オーバーフロー信号OVF=0)、制御信号S1
=1となって、ゲート回路45−15〜45−0で16
ビット長データC29〜C14が選択されてレジスタ4
7にセットされる。また、積和演算回路31の演算中に
オーバーフローが発生した時(オーバーフロー信号OV
F=1)、制御信号S2=1となって、ゲート回路45
−15〜45−0で、データCが正の値(C36=0)
でオーバーフローした時には16ビット幅で表しうる正
の最大値(0111111111111111B)が、
データCが負の値(C36=1)でオーバーフローした
時には負で絶対値が16ビット幅で表しうる最大の数値
(1000000000000000B)が選択されて
レジスタ47にセットされる。更に、制御フラグ34で
切り出し処理が指定されていない(制御信号CLP=0
)場合には、積和演算回路31の出力データC(C36
〜C0)をそのままレジスタ47にセットする。これら
の動作を表にしてまとめたものを表1に示す。
【0016】
【表1】
【0017】このように本実施例の演算回路を使用した
システムでは、切り出し処理指定時には、通常、積和演
算回路31の37ビット長の出力データCを29ビット
から14ビットまでの16ビット長のデータDに単純に
切り出して出力するが、積和演算回路31でオーバーフ
ローが発生すると、データCが正の値でオーバーフロー
した時には16ビット幅で表しうる正の最大値に、また
データCが負の値でオーバーフローした時には負で絶対
値が16ビット幅で表しうる最大の数値に置き換えるク
リップ処理を行ない、データDを生成する。従って、ハ
ードウェアにより高速にクリップ処理を行なうことがで
きる。
【0018】第2実施例 次に本発明の第2実施例を説明する。本実施例のクリッ
プ処理は、積和演算において、37ビット長のデータC
の内、29ビットから14ビットまでの16ビット長デ
ータDに切り出す時、図5に示すように、データCが負
で取り出すデータDが正となってしまう場合に、データ
Dを負で絶対値が最大の数値に置き換え、データCが負
でデータDが正となる場合に、データDを正の最大値に
置き換える処理を行うものである。
【0019】この場合、図2に示す演算回路の構成にお
いて、オーバーフロー判定回路32を次のようにして構
成する。即ち、オーバーフロー判定回路32は、加算器
の出力データCの符号ビットC36〜30と29番目の
ビットC29を入力し、符号ビットC36〜30のうち
1つでもビットC29の値と異なる時、オーバーフロー
信号OVF=1とする論理を構成する。
【0020】このような構成の本実施例の演算回路を使
用したシステムでは、切り出し処理指定時には、通常、
積和演算回路31の出力データCを29ビットから14
ビットまでの16ビット長のデータDに単純に切り出し
て出力するが、データCの符号ビットC36〜30と2
9番目のビットC29の値が異なる場合には、データC
が正の時には16ビット幅で表しうる正の最大値に、ま
たデータCが負の時には負で絶対値が16ビット幅で表
しうる最大の数値に置き換えるクリップ処理を行ない、
データDを生成する。従って、ハードウェアにより高速
にクリップ処理を行なうことができる。
【0021】
【発明の効果】以上説明したように、本発明によれば、
クリップ処理をハードウェアで実現し、乗算回路または
積和演算等の演算回路の出力側に該ハードウェアを構成
したことにより、高速にクリップ処理を行ないうる演算
回路を提供することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例に係る演算回路の構成図である
【図3】本発明の実施例に係る演算回路のクリップ回路
の回路図である。
【図4】従来の演算回路によるクリップ処理の概念構成
図である。
【図5】クリップ処理を説明する図である。
【符号の説明】
11、21…演算手段 12…オーバーフロー判定手段 13…第1のクリップ手段 14…切り出しフラグ 22…判定手段 23…第2のクリップ手段 31…積和演算回路 32…オーバーフロー判定回路 33…クリップ回路 34…制御フラグ 35…乗算器 36…加算器 37…ラッチレジスタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  加、減、乗、除、或いはその組み合わ
    せ演算等を行なう演算手段(11)を具備する演算回路
    であって、前記演算手段(11)の入力データ(A、B
    )及び出力データ(C)からオーバーフローか否かを判
    定するオーバーフロー判定手段(12)と、前記演算手
    段(11)の出力データ(C)が正の値でオーバーフロ
    ーした場合に正の最大値に置き換え、前記演算手段(1
    1)の出力データ(C)が負の値でオーバーフローした
    場合に負で絶対値が最大の数値に置き換える第1のクリ
    ップ手段(13)とを有することを特徴とする演算回路
  2. 【請求項2】  加、減、乗、除、或いはその組み合わ
    せ演算等を行なう演算手段(11)を具備する演算回路
    であって、前記演算手段(11)の入力データ(A、B
    )及び出力データ(C)からオーバーフローか否かを判
    定するオーバーフロー判定手段(12)と、前記演算手
    段(11)の出力データ(C)を所定のビット幅分だけ
    切り出す切り出し処理を行なうか否かを指定する切り出
    しフラグ(14)と、前記切り出しフラグ(14)で切
    り出し処理が指定されている時に、前記演算手段(11
    )の出力データ(C)が正の値でオーバーフローした場
    合に所定のビット幅で表しうる正の最大値に置き換え、
    前記演算手段(11)の出力データ(C)が負の値でオ
    ーバーフローした場合に負で絶対値が所定のビット幅で
    表しうる最大の数値に置き換え、前記切り出しフラグ(
    14)で切り出し処理が指定されていない時には、前記
    演算手段(11)の出力データ(C)のまま出力する第
    1のクリップ手段(13)とを有することを特徴とする
    演算回路。
  3. 【請求項3】  加、減、乗、除、或いはその組み合わ
    せ演算等を行ない所定のビット幅分だけ切り出す演算手
    段(21)を具備する演算回路であって、前記演算手段
    (21)の出力データ(C)の最上位ビットから切り出
    す所定のビット幅の最上位ビットの値までのビット数と
    切り出す所定のビット幅の最上位ビットの値が一致して
    いるか否かを判定する判定手段(22)と、前記演算手
    段(21)の出力データ(C)が正の値で前記判定手段
    (22)で一致していない場合に所定のビット幅で表し
    うる正の最大値に置き換え、前記演算手段(21)の出
    力データ(C)が負の値で前記判定手段(22)で一致
    していない場合に負で絶対値が所定のビット幅で表しう
    る最大の数値に置き換える第2のクリップ手段(23)
    とを有することを特徴とする演算回路。
  4. 【請求項4】  加、減、乗、除、或いはその組み合わ
    せ演算等を行なう演算手段(11)を具備する演算回路
    であって、前記演算手段(11)の出力データを所定の
    ビット幅分だけ切り出す切り出し処理を行なうか否かを
    指定する切り出しフラグ(14)と、前記演算手段(1
    1)の出力データ(C)の最上位ビットから切り出す所
    定のビット幅の最上位ビットまでの全てのビットと切り
    出す所定のビット幅の最上位ビットの値が一致している
    か否かを判定する判定手段(22)と、前記切り出しフ
    ラグ(14)で切り出し処理が指定されている時に、前
    記演算手段(11)の出力データ(C)が正の値で前記
    判定手段(22)で一致していない場合に所定のビット
    幅で表しうる正の最大値に置き換え、前記演算手段(1
    1)の出力データ(C)が負の値で前記判定手段(22
    )で一致していない場合に負で絶対値が所定のビット幅
    で表しうる最大の数値に置き換え、前記切り出しフラグ
    (14)で切り出し処理が指定されていない時には、前
    記演算手段(11)の出力データ(C)のまま出力する
    第2のクリップ手段(23)とを有することを特徴とす
    る演算回路。
JP3051740A 1991-03-15 1991-03-15 演算回路 Pending JPH04286023A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3051740A JPH04286023A (ja) 1991-03-15 1991-03-15 演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3051740A JPH04286023A (ja) 1991-03-15 1991-03-15 演算回路

Publications (1)

Publication Number Publication Date
JPH04286023A true JPH04286023A (ja) 1992-10-12

Family

ID=12895308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3051740A Pending JPH04286023A (ja) 1991-03-15 1991-03-15 演算回路

Country Status (1)

Country Link
JP (1) JPH04286023A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01311320A (ja) * 1988-06-10 1989-12-15 Nec Corp オーバーフロー補正回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01311320A (ja) * 1988-06-10 1989-12-15 Nec Corp オーバーフロー補正回路

Similar Documents

Publication Publication Date Title
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
US5136536A (en) Floating-point ALU with parallel paths
EP0171805A2 (en) High speed digital arithmetic unit
JPH04332036A (ja) 浮動小数点乗算器とその乗算方式
US20070005676A1 (en) Simple and amended saturation for pipelined arithmetic processors
JPH02278382A (ja) 図形処理装置用の演算論理機構
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JPH04286023A (ja) 演算回路
EP0472030A2 (en) Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication
KR970004474B1 (ko) 디지탈 데이타 처리기 및 그 방법
JP2513765B2 (ja) パイプライン処理における条件分岐制御方式
JPS63111535A (ja) デ−タ処理装置
JPH10198552A (ja) 乗算器
JP3110072B2 (ja) 事前正規化回路
JP3122622B2 (ja) 除算装置
JP3139011B2 (ja) 固定小数点プロセッサ
JPH0435777B2 (ja)
KR950003116Y1 (ko) 2진 가산회로
JPH06110659A (ja) マイクロコンピュータ
JPH0553759A (ja) 固定小数点演算ユニツト
JPH0644226B2 (ja) 演算処理装置
JPH0417026A (ja) データクリップ装置
JPH04148231A (ja) 演算回路
JPH0378832A (ja) デ―タ処理装置
JPH0764767A (ja) 加算装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19960730