JPH0713740A - 固定小数点算術演算時のけたあふれ防止方法 - Google Patents

固定小数点算術演算時のけたあふれ防止方法

Info

Publication number
JPH0713740A
JPH0713740A JP3180471A JP18047191A JPH0713740A JP H0713740 A JPH0713740 A JP H0713740A JP 3180471 A JP3180471 A JP 3180471A JP 18047191 A JP18047191 A JP 18047191A JP H0713740 A JPH0713740 A JP H0713740A
Authority
JP
Japan
Prior art keywords
numbers
fixed
digit
overflow
input
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.)
Withdrawn
Application number
JP3180471A
Other languages
English (en)
Inventor
William G Starr
ウイリアム・ジョージ・スター
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.)
Honeywell International Inc
Original Assignee
AlliedSignal Inc
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 AlliedSignal Inc filed Critical AlliedSignal Inc
Publication of JPH0713740A publication Critical patent/JPH0713740A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 固定小数点算術演算において、けたあふれを
発生させないようにすること。 【構成】 2つの入力数を算術演算する前にそれぞれ固
定数で除算しておき、それらの商で算術演算し、その結
果の数rを、固定数で除算された算術演算にて取り得る
最大及び最小数の商を表す数p,qと比較し、比較の結
果がp>r>qの場合にr、r≧pの場合にp、そして
r≦qの場合にqを選択し、最後に、選択された数r,
p又はqを固定数で乗算し、これを計算結果とする方
法。

Description

【発明の詳細な説明】
【0001】本発明は一般的には固定小数点算術演算の
間におけるレジスタのけたあふれの防止に関し、より詳
しくはディジタルフィルタの実時間動作におけるそのよ
うなけたあふれ防止に関する。
【0002】算術演算中、特に加減演算の間、結果のサ
イズ(けた数)によっては入力値のいずれかのサイズを
越えることがある。これは典型的にけた上げ動作によっ
て生じる。たとえば、10進法において、2つの1けた
数の7及び8の和は2けた数の15である。同様の結果
は2つの異なる正負符号の数の差を計算するときにも生
じる。鉛筆及び紙を使ったときのこのけた数の増加は何
ら特別な関心をもつことはないが、レジスタ及び他の部
品の容量が指定されたけた数であるようなディジタル計
算装置を扱うときには、そのような増加又はけたあふれ
は悲劇的な結末となることがある。
【0003】乗算は一層しばしばそのようなけたあふれ
の問題を生じさせると思われるのに対し、2変数の積は
一時的に倍精度変数になると考えられ、これにより精度
センスにて有効でない最下位の数字の半分はゼロとして
処理されるので、そのようなけたあふれはめったに発生
しない。
【0004】汎用コンピュータ及び共通プログラム言語
は浮動小数点演算によって動作するのに対し、多くのプ
ログラム言語では変数を整数と指定するオプションを持
たせて、それらの関連する演算は固定小数点を基にして
実行されるというのが常である。このような固定小数点
又は整数演算では、レジスタのけたあふれは容易に発生
してしまう。このようなけたあふれの結果を避ける、又
は少なくとも低減させる2つの平凡な技術は浮動小数点
計算に戻すか又は、けたあふれ条件を繰り返し調べ又は
テストしてレジスタを飽和させる(符号付けされた適当
な最大値に戻す)ことである。これらの技術はいずれ
も、航空機及び他の制御応用のように、実時間演算のた
めに費やす時間が長すぎるという根本的な欠陥に悩んで
いる。生産品にて行われているように、和又は差の結果
を倍精度数として一時的に処理することはけたあふれの
解として多少の受け入れを経験しているが、実行時間及
び/又はレジスタの使用がきわどい場合には実行するこ
とができない。
【0005】本発明の目的を書きとめると、固定小数点
演算時の破滅的けたあふれの防止、理論的最終結果に非
常に近い最終結果を得る間けたあふれすることなく差及
び和を計算する方法及び装置の提供、内部けた移動及び
制限を有して臨界容量のディジタル構成要素がけたあふ
れなしに飽和する進み遅れフィルタの実時間固定小数点
ディジタル的実現の提供、けたあふれの検出及びその補
償というよりは加減算時におけるレジスタのけたあふれ
の防止、そして、実時間電子式航空機エンジン制御適用
のためのけたあふれ防止式ディジタル進み遅れフィルタ
の実現である。本発明のこれら及びその他の目的は以降
において一部分明らかとなり、一部分は以下に指摘され
よう。
【0006】一般に、実時間電子式エンジン制御装置は
1以上の進み遅れフィルタを包含し、この進み遅れフィ
ルタは実際上等価を計算することによって差分方程式 ylag(n)=x(n)−klag*[x(n)−ylag(n−1)] を実現するが、加減算のときのけたあふれを防止するた
め固定小数点演算においてはより複雑に見える差分方程
式 ylag(n)=2*{1/2*ylag(n−1)+(1−klag)*[1/2*x(n)−1
/2*ylag(n−1)]} を実現する。
【0007】さらに、進み遅れフィルタは代表的には式 y(n)=ylag(n−1)+klead[x(n)−ylag(n−1)] を、固定小数点演算ではより複雑に見える等価方程式 y(n)=2*{klead*[1/2*x(n)−1/2*ylag(n−1)]+ylag(n
−1)} を計算することによって実現し、計算が行われる演算装
置内での加減算のときのけたあふれを防止している。
【0008】また、一般に及び本発明の一態様におい
て、1対の入力数を組み合わせる固定小数点算術演算時
のけたあふれは入力数のそれぞれを最初に同じ固定数で
除して入力数の商を得ることによって防止される。固定
数又は除数は代表的には数を数字によって表す記数法の
底又は基数の正数倍であり、最も簡単には、それ自体基
数なので、単純な1けた右けた送りがその除算を行う。
このとき算術演算(代表的には加減算)が実行され入力
数の商についての結果数が得られる。入力数について固
定数による除算なしに算術演算が行われた場合にけたあ
ふれが生じたかどうかを確認するための結果数のテスト
が行われる。このテストに基づいて、テストが何らけた
あふれの発生がないことを示した場合に結果数の選択が
行われ、一方、テストがけたあふれの発生を示した場合
にはけたあふれを表す固定数の選択が行われる。最後
に、選択された数は元の固定数により乗算されることで
計算の結果が与えられる。
【0009】
【好適な実施例の説明】図1は固定小数点算術演算時の
けたあふれを防止する場合のシーケンスを過渡に単純化
した形で示したもので、1対の入力数11及び13を演
算装置19にて組み合わせようとするものである。最初
に、入力数のそれぞれは除算器15及び17にて同じ固
定数nにより除算されて算術演算のための2つの入力と
なる2つの入力数の商を得る。固定数nは代表的には数
を数字によって表す記数法の底又は基数の整数倍である
ので、除算器15及び17はレジスタでの簡単なけた送
り動作のように有効に実行され得る。好適な実施例で
は、これら数は双方とも2であり、各入力数の除算は各
入力数の右けた送りと最下位のビットの破棄とを含み、
一方、後述の乗算29は対応する左けた送りと値は計算
と無関係な所定の最下位ビットの挿入とを含んでいる。
その値は好適な実施例では代表的にゼロである。代表的
には加算又は減算である算術演算は入力数の商に基づい
て実行され、結果の数rをライン33に得る。結果の数
rは次に、算術演算が除算器15及び17からの各商と
いうよりはもとの入力数11及び13に基づいて実行さ
れた場合にけたあふれが生じたかどうかを確かめるため
テストされる。このテストの好適な実施例は算術演算か
らの結果の数rと1対の記憶された数p及びqとを比較
する比較器25によっており、ここに数p及びqはp>
qで21及び23に記憶されており、除算器15及び1
7にて使用した数と同じ固定数nによって除算された算
術演算にて示される最大及び最小数の商を表したもので
ある。比較の結果、ライン27の出力はp,q又はrの
いずれかとなる。r値はテストによりけたあふれが全く
生じていないことを示した場合に、すなわちp>r>q
の場合に選択される。p又はqはいずれもテストがけた
あふれを生じたことを示した場合に選択される。値pは
r≧pのとき選択され、qはr≦qのとき選択される。
最後に、選択された数(p,q,又はr)は29にて固
定数nで乗算され、ライン31に計算の結果を与えるこ
とになる。
【0010】注目すべきは、数が底を2とした表記法で
表されかつnの値を2とした好適な実施例では単純な右
けた送りによる各入力数の除算は1対の商を与え、その
最高位の数字の位置は2つの補数の符号ビット(通常、
符号エクステンションとして知られているもの)の複写
であり、一方、最下位のビットは捨てられることであ
る。その符号ビットは正の値でゼロであり、負の値で1
である。換言すれば、単純な右けた送りによっての2に
よる除算のとき、新しい最高位の数字の位置(符号ビッ
ト)は前の最高位の数字の位置の写しである。各入力数
の最下位のビットの破棄により元の数のパリティ(偶数
又は奇数)は捨てられ、一方、乗算器29(対応する左
けた送り及び所定の最下位ビットの挿入をする)ではそ
の結果に値が入力数のパリティとは関係のないパリティ
が割り当てられるのである。
【0011】図1と関連して述べたその原理は、たとえ
ば、図2及び図3に示したような実時間電子式エンジン
制御系にて使用される進み遅れフィルタの好適な実施例
に組み込まれる。図3において、シフトレジスタ37の
1ビット左けた送り直後のライン35における出力数は
図1の乗算器29の後の出力31に相当する。図1の2
1における最大けたあふれ値pは図2及び図3において
固定の同等値39及び41を有し、また、記憶された選
択可能な同等値43も有している。同様に、図1の最小
けたあふれ値qは図2及び図3において固定の同等値4
5及び47を有し、また、記憶された選択可能な同等値
49も有している。上限43及び下限49は計算に関し
て任意選択のより厳重な上下限である。図1のnによる
除算機能15及び17はそれぞれ演算装置55及び57
の直前の単純な右けた送りレジスタ51及び53として
実現されている。さらに、3つの加算器55,57及び
67のそれぞれへの入力は破棄された最低位の数字を有
している。
【0012】図2及び図3の回路は出力がある周波数に
て入力を進め他の周波数にて入力を遅らせるフィルタの
差分方程式表現をディジタルで実現したものである。こ
の回路は高速時間演算用の主として単精度のすべて固定
小数点演算を使用している。図2及び図3はこのような
回路、しばしば、差分方程式 ylag(n)=x(n)−klag*[x(n)−ylag(n−1)] を実現するいわゆる進み遅れフィルタを示しており、加
減算時のけたあふれをあらかじめ排除するため固定小数
点演算において差分方程式 ylag(n)=2*{1/2*ylag(n−1)+(1−klag)*[1/2*x(n)−1
/2*ylag(n−1)]} を計算することによっている。
【0013】このようなフィルタにおいて、ライン35
の出力は通常、定数状態においてはライン59の入力に
等しい。しかし、ライン35の出力は左けた送り37の
ため常に偶数である。ライン59の偶数入力について
は、出力は入力に等しいが、ライン59の奇数入力に関
してはライン35の出力は次に小さい偶数の整数であ
る。上限43及び下限49の値は特別な適用によって指
定された上下限であり、必要時に捜し出されるテーブル
に定数“klead”及び“klag”のように記憶さ
れている。これらの定数はそれぞれ特定の適用にて、対
応する進み時定数(t1)及び遅れ時定数(t2)とラ
イン59における入力信号x(n)のサンプルリング間
隔(サンプルリングの反復率)とから定められ、 klead=(2*t1+t3)/(2t2+t3)及び klag=(2*t2−t3)/(2*t2+t3) によって表現される。
【0014】図2及び図3の回路はさらに方程式 y(n)=ylag(n−1)+klead*[x(n)−ylag(n−1)] を実現するが、これは加減算のとき計算装置(レジス
タ、演算装置又は特定ビット容量の他の計算又は記憶要
素)内でのけたあふれをあらかじめ排除するため、固定
小数点演算において、等価方程式 y(n)=2*{klead*[1/2*x(n)−1/2*ylag(n−1)]+1/2*yla
g(n−1)} を計算することによってなされる。
【0015】図4は本発明が特別な有用性を見い出した
エンジン制御装置を示している。この制御装置71はジ
ェットエンジン73に連結されており、電子部分及び油
圧−機械部分から成っている。電子部分は中央処理装置
75、読取り専用メモリ77、ランダムアクセスメモリ
79及び1以上のディジタル/アナログ変換器83を含
んでいる。ライン81におけるような別個の入力又は出
力信号もまた示してある。中央処理装置75はたとえ
ば、MIL規格1750Aによって定義された1組の命
令(進み遅れフィルタによって使用される固定小数点命
令を含む)を有するタイプのものとすることができる。
このような中央処理装置のためのレジスタのサイズは代
表的には16ビットである。進み/遅れアルゴリズムは
適当な時間にてサブルーチンとして呼出しされる読出し
専用メモリ77に記憶されている。定数klead, klag及
び上下限43及び49の値は読取り専用メモリ77又は
ランダムアクセスメモリ79のいずれかに記憶させるこ
とができる。変数x(n)、y(n)及びylag(n)の現在の値は
ランダムアクセスメモリに記憶される。
【0016】図2及び図3に戻って、S(k)なる標記
のkの数値はけた数を示し、2進小数点は最も右側のデ
ィジタル位置を右から左へ移動されて回路中のその記憶
位置における数値を実際に表現していなければならな
い。たとえば、入力ライン59のS(0)はその信号経
路の値が実際上整数であることを示し、一方、ライン6
1のS(−1)はそのラインの数が破棄された低位ビッ
トを有していること、すなわち、1けた右にある2進小
数点が実際上その値を普通の形で表すためにけたを左に
(−1)移動させる必要があることを示している。幾つ
かの信号経路のすぐ上に書いてある16又は32なる数
値はその点における信号の精度をビットで表示したも
の、すなわち、16ビットワードを有する計算システム
に関して単精度であるか倍精度であるかを示したもので
ある。たとえば、乗算器65からのライン63の出力は
倍精度であり、その2進小数点は積の普通の表現を得る
ためには右へ1つけた送りだされねばならない。注目す
べきは、加算器57,67及び55への入力はいずれも
S(−1)なる数である、すなわち、これら入力は上述
のようにけたあふれを避けるために、算術加算(57の
場合は減算)に先立って実際上2で乗算されていること
である。
【0017】上限39及び加減45によるkleadの制限
は再けた移動69の後の最大精度を維持するため、再け
た移動の前に倍精度で行われる。これらの制限値は計算
時間を減少させるため適当なけた移動により倍精度であ
らかじめ計算される。レジスタ41及び47においてけ
たあふれを表す値は同じ理由で適当なけた移動により単
精度で同じようにしてあらかじめ計算される。
【図面の簡単な説明】
【図1】本発明の原理を表している単純化したブロック
図である。
【図2】本発明の好適な実施例の半分を示す詳細ブロッ
ク図である。
【図3】本発明の好適な実施例の残り半分を示す詳細ブ
ロック図である。
【図4】本発明を組み込んだエンジン制御装置の簡単な
ブロック図である。
【符号の説明】
11,12 入力数 15,17 除算器 19 演算装置 21 最大けたあふれ値 23 最小けたあふれ値 25 比較器 29 乗算器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】1対の入力数を組み合わせる固定小数点算
    術演算時のけたあふれ防止方法において、 入力数のそれぞれを同じ固定数で除算して入力数の商を
    得、 その入力数の商に関して算術演算を行って結果数を得、 前記固定数で除算された算術演算にて表し得る最大及び
    最小数の商を表す数であってp>qとする1対の数p,
    qを与え、 算術演算からの結果数rを1対の数p及びqと比較して
    p>r>qの場合にrを選択し、r≧pの場合にpを選
    択し、r≦qの場合にqを選択し、そして比較された数
    の選択された1つを前記固定数で乗算して計算の結果を
    与えることから成る固定小数点算術演算時のけたあふれ
    防止方法。
  2. 【請求項2】請求項1記載の方法において、結果のパリ
    ティは入力数のパリティと無関係である固定小数点算術
    演算時のけたあふれ防止方法。
  3. 【請求項3】請求項1記載の方法において、数を数字で
    表した記数法の底及び固定数はいずれも2とし、各入力
    数の除算は各入力数の右けた送りと最下位の数の破棄と
    を含み、乗算は左けた送りと値がその計算とは無関係の
    所定の最下位の数の挿入とを含んでいる固定小数点算術
    演算時のけたあふれ防止方法。
  4. 【請求項4】請求項1記載の方法において、除算するス
    テップの結果は1対の商を与え、その最高位数字位置は
    それぞれ先の最高位数字位置の複写である固定小数点算
    術演算時のけたあふれ防止方法。
  5. 【請求項5】請求項1記載の方法において、算術演算は
    加算及び減算のうちの1つである固定小数点算術演算時
    のけたあふれ防止方法。
JP3180471A 1990-06-26 1991-06-26 固定小数点算術演算時のけたあふれ防止方法 Withdrawn JPH0713740A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54391390A 1990-06-26 1990-06-26
US543,913 1990-06-26

Publications (1)

Publication Number Publication Date
JPH0713740A true JPH0713740A (ja) 1995-01-17

Family

ID=24170035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3180471A Withdrawn JPH0713740A (ja) 1990-06-26 1991-06-26 固定小数点算術演算時のけたあふれ防止方法

Country Status (1)

Country Link
JP (1) JPH0713740A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6767685B2 (en) 1999-12-03 2004-07-27 Fuji Photo Film Co., Ltd. Plate-making method, plate-making apparatus used in such plate-making method, and image recording material

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6767685B2 (en) 1999-12-03 2004-07-27 Fuji Photo Film Co., Ltd. Plate-making method, plate-making apparatus used in such plate-making method, and image recording material
US7157210B2 (en) 1999-12-03 2007-01-02 Fuji Photo Film Co.-, Ltd. Plate-making method, plate-making apparatus used in such plate-making method, and image recording material

Similar Documents

Publication Publication Date Title
US5042001A (en) Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
EP0029706B1 (en) Arithmetic circuit with overflow detection capability
EP0441121B1 (en) Arithmetic operation apparatus for the calculation of transcendental elementary functions
US5184318A (en) Rectangular array signed digit multiplier
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5144576A (en) Signed digit multiplier
US4594680A (en) Apparatus for performing quadratic convergence division in a large data processing system
US5007009A (en) Non-recovery parallel divider circuit
US5337266A (en) Method and apparatus for fast logarithmic addition and subtraction
CA1244140A (en) Method and apparatus for numerical division
US5282156A (en) Leading one anticipator and floating point addition/subtraction apparatus employing same
US5272659A (en) Engine control with fixed point digital overflow prevention
US4949295A (en) Transformation of divisor and dividend in digital division
JP2822399B2 (ja) 対数関数演算装置
US5825681A (en) Divider/multiplier circuit having high precision mode
JPH0519170B2 (ja)
JPH0713740A (ja) 固定小数点算術演算時のけたあふれ防止方法
US3982112A (en) Recursive numerical processor
Robinson Arithmetical definitions in the ring of integers
San et al. Hardware implementation of floating-point operating devices by using IEEE-754 binary arithmetic standard
JPH08504046A (ja) 浮動小数点2進数を2進形式における対数に変換しまたはその逆変換をするための装置
Doran Special cases of division
Gabel A parallel arithmetic hardware structure for recursive digital filtering

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19980903