JPH0325809B2 - - Google Patents
Info
- Publication number
- JPH0325809B2 JPH0325809B2 JP56203719A JP20371981A JPH0325809B2 JP H0325809 B2 JPH0325809 B2 JP H0325809B2 JP 56203719 A JP56203719 A JP 56203719A JP 20371981 A JP20371981 A JP 20371981A JP H0325809 B2 JPH0325809 B2 JP H0325809B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- constant
- register
- increment
- calculation
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/64—Digital differential analysers, i.e. computing devices for differentiation, integration or solving differential or integral equations, using pulses representing increments; Other incremental computing devices for solving difference equations
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Feedback Control In General (AREA)
Description
【発明の詳細な説明】
本発明は浮動小数点表示された定数の四則演算
機能を備えたデイジタル微分解析機(Digital
Differential Analyzer……以下DDAと呼ぶこと
にする。)の演算方式に関する。
機能を備えたデイジタル微分解析機(Digital
Differential Analyzer……以下DDAと呼ぶこと
にする。)の演算方式に関する。
DDAは、演算間でやりとりする変数値を微小
増分に変換して取扱うことによりハードウアエア
の構成を簡素化、微粉方程式を高速かつ高精度に
解いたり、複雑な曲線や曲面を発生させるために
特別に工夫された演算装置である。
増分に変換して取扱うことによりハードウアエア
の構成を簡素化、微粉方程式を高速かつ高精度に
解いたり、複雑な曲線や曲面を発生させるために
特別に工夫された演算装置である。
これまでに用実化されているDDAは、情報処
理学会編電子計算機ハンドブツク第8編p8−37
に詳述されている固定小数点演算方式を用いてい
る。しかし、固定小数点演算方式によると積分器
などの演算器を処理されるすべての変数に対しス
ケール換算を行なう必要がある。
理学会編電子計算機ハンドブツク第8編p8−37
に詳述されている固定小数点演算方式を用いてい
る。しかし、固定小数点演算方式によると積分器
などの演算器を処理されるすべての変数に対しス
ケール換算を行なう必要がある。
このスケール換算はアナログ計算機の場合と同
様に人手による極めて煩雑な作業であるばかりで
なく、変数の最大値を予測してスケール換算係数
に使用するためその予測値が正確でない場合には
演算結果に重大な誤差を含むことになつてしま
う。
様に人手による極めて煩雑な作業であるばかりで
なく、変数の最大値を予測してスケール換算係数
に使用するためその予測値が正確でない場合には
演算結果に重大な誤差を含むことになつてしま
う。
さらに、固定小数点演算方式によると変数のダ
イナミツクレンジが狭くなるために通常の科学技
術計算には適合しにくいという欠点があつた。
イナミツクレンジが狭くなるために通常の科学技
術計算には適合しにくいという欠点があつた。
そこで、これらの問題点を解消するために浮動
小数点演算方式のDDA(Floating Point Digital
Differential Analyzer……以下、FPDDAと称す
る。)に関する出願をおこなつた(特願昭55−
112739号、特願昭56−3790号参照)。この
FPDDAにはデータ処理機能および定数の四則演
算機能が備えられておらず、数値積分が主たる演
算機能であつた。
小数点演算方式のDDA(Floating Point Digital
Differential Analyzer……以下、FPDDAと称す
る。)に関する出願をおこなつた(特願昭55−
112739号、特願昭56−3790号参照)。この
FPDDAにはデータ処理機能および定数の四則演
算機能が備えられておらず、数値積分が主たる演
算機能であつた。
したがつて、実用に当つては第1図のように他
のコンピユータ101とFPDDA102を接続し
てFPDDAシステム103として使用する。第1
図において、コンピユータ101はFPDDAの初
期値の計算、FPDDAへの初期値の設定、
FPDDAの演算の開始並びに停止、FPDDAから
の演算結果の取込みおよび外部装置104との入
出力等の処理を共通バス線105を通して行な
う。これらの処理の中で初期値に対しては、浮動
小数点表示された定数同士の浮動小数点方式によ
る四則演算が必要とされ、したがつてコンピユー
タ101にはこのような演算機能が要求される。
のコンピユータ101とFPDDA102を接続し
てFPDDAシステム103として使用する。第1
図において、コンピユータ101はFPDDAの初
期値の計算、FPDDAへの初期値の設定、
FPDDAの演算の開始並びに停止、FPDDAから
の演算結果の取込みおよび外部装置104との入
出力等の処理を共通バス線105を通して行な
う。これらの処理の中で初期値に対しては、浮動
小数点表示された定数同士の浮動小数点方式によ
る四則演算が必要とされ、したがつてコンピユー
タ101にはこのような演算機能が要求される。
もし、FPDDAに上記の四則演算の機能があれ
ば、コンピユータ101として浮動小数点演算機
能のない安価なマイクロコンピユータを適用する
ことができるため、安価なFPDDAシステムを構
成することが可能となる。
ば、コンピユータ101として浮動小数点演算機
能のない安価なマイクロコンピユータを適用する
ことができるため、安価なFPDDAシステムを構
成することが可能となる。
本発明の目的は、安価でかつ高速演算の可能な
FPDDAシステムを実現するために、浮動小数点
表示された定数どうしの浮動小数点方式による演
算を可能とするためのFPDDAの演算方式を提供
することにある。
FPDDAシステムを実現するために、浮動小数点
表示された定数どうしの浮動小数点方式による演
算を可能とするためのFPDDAの演算方式を提供
することにある。
この目的を達成するため、本発明においては
FPDDAによる新規な2種類の演算器(加算器と
積分器)と公知の演算器とを組み合わせることに
より浮動小数点表示された定数どうしの四則演算
とくに乗除算をFPDDAでおこなわせることを可
能にした点に特徴がある。
FPDDAによる新規な2種類の演算器(加算器と
積分器)と公知の演算器とを組み合わせることに
より浮動小数点表示された定数どうしの四則演算
とくに乗除算をFPDDAでおこなわせることを可
能にした点に特徴がある。
まず、本発明を説明する前にすでに実施されて
いるFPDDAの演算方式を説明する。
いるFPDDAの演算方式を説明する。
従来のFPDDAは、前述の如く微分方程式を解
くことを主目的として開発されており、積分演算
が主体となつている。
くことを主目的として開発されており、積分演算
が主体となつている。
以下、この積分演算の動作を述べる。
FPDDAの演算で用いられる変数は第2図に示
すデータ・フオーマツトAまたはBのいずれかの
数値系をとる浮動小数点表示の数値である。
すデータ・フオーマツトAまたはBのいずれかの
数値系をとる浮動小数点表示の数値である。
データ・フオーマツトAの変数は符号Sを表わ
す小数点以上1位(20)の1桁と小数点以下1位
(2-1)から(m−1)位(2-m+1)までの(m−
1)桁との合計mビツトからなる仮数部M
(Mantissa)と、小数点以下m位(2-m)からm1
位(2-m1)までの(m1−m+1)桁からなる指
数部E(Exponent)とにより構成されている。
す小数点以上1位(20)の1桁と小数点以下1位
(2-1)から(m−1)位(2-m+1)までの(m−
1)桁との合計mビツトからなる仮数部M
(Mantissa)と、小数点以下m位(2-m)からm1
位(2-m1)までの(m1−m+1)桁からなる指
数部E(Exponent)とにより構成されている。
一方、データ・フオーマツトBの変数は符号S
を表わす小数点以上1位の1桁と小数点以下1位
から(n−1)位までの(n−1)桁との合計n
ビツトからなる仮数部Mと、小数点以下n位から
(m1−m+n)位までの(m1−m+1)桁から
なる指数部Eとにより構成されている。データ・
フオーマツトAに属する変数としては、被積分関
数Y、積分値の残余Rおよび入力変数の総和
SDYなど増分形式によらない変数が該当する。
これに対しデータ・フオーマツトBに属する変数
としては、入力変数の微小増分ΔY、積分独立変
数の微小増分ΔX、および出力変数の微小増分ΔZ
など増分形式による変数が該当する。以下、ΔX
を1次増分、ΔYを2次増分、およびΔZを3次増
分と呼ぶことにする。
を表わす小数点以上1位の1桁と小数点以下1位
から(n−1)位までの(n−1)桁との合計n
ビツトからなる仮数部Mと、小数点以下n位から
(m1−m+n)位までの(m1−m+1)桁から
なる指数部Eとにより構成されている。データ・
フオーマツトAに属する変数としては、被積分関
数Y、積分値の残余Rおよび入力変数の総和
SDYなど増分形式によらない変数が該当する。
これに対しデータ・フオーマツトBに属する変数
としては、入力変数の微小増分ΔY、積分独立変
数の微小増分ΔX、および出力変数の微小増分ΔZ
など増分形式による変数が該当する。以下、ΔX
を1次増分、ΔYを2次増分、およびΔZを3次増
分と呼ぶことにする。
FPDDAの各演算サイクル(以下、イタレーシ
ヨンと呼ぶ。)における積分演算は大別して次の
3個の演算フエーズにより実行される。
ヨンと呼ぶ。)における積分演算は大別して次の
3個の演算フエーズにより実行される。
(1) Pフエーズ;ピツクアツプ・フエーズ
i番目のイタレーシヨンにおけるj番目の2
次増分ΔYi,jをj=1〜l(lは入力数)につい
て浮動小数点加算演算にて総計した増分SDYi
を求める。
次増分ΔYi,jをj=1〜l(lは入力数)につい
て浮動小数点加算演算にて総計した増分SDYi
を求める。
SDYi=l
〓j=1
ΔYi,j=SDYi,l-1+ΔYi,l ……(1)
(2) Yフエーズ;アツプデート・フエーズ1イタ
レーシヨンだけ前の期間における積分器のYレ
ジスタの内容(Yi-1とする。)と上記SDYiとの
浮動小数点加算を行ない、その加算結果をiイ
タレーシヨン時のYレジスタの内容とする。す
なわち、次の演算が実行される。
レーシヨンだけ前の期間における積分器のYレ
ジスタの内容(Yi-1とする。)と上記SDYiとの
浮動小数点加算を行ない、その加算結果をiイ
タレーシヨン時のYレジスタの内容とする。す
なわち、次の演算が実行される。
Y1:=Yi-1+SDYi ……(2)
(3) Iフエーズ;インテグレーシヨン・フエーズ
上記YiとRレジスタの内容(Ri-1)との加算を
おこない、その加算結果(Riとする。)から特
願昭55−112739号に記述された演算法に基づい
てオーバーフロー分を含めて上位n桁(nは2
以上の整数)をΔZiとして出力し、上記加算結
果(Ri)からΔZiを引算して、Rレジスタにセ
ツトする。すなわち、次の演算が実行される。
上記YiとRレジスタの内容(Ri-1)との加算を
おこない、その加算結果(Riとする。)から特
願昭55−112739号に記述された演算法に基づい
てオーバーフロー分を含めて上位n桁(nは2
以上の整数)をΔZiとして出力し、上記加算結
果(Ri)からΔZiを引算して、Rレジスタにセ
ツトする。すなわち、次の演算が実行される。
Ri:=Ri-1+Yi・ΔXi−ΔZi ……(3)
ただし、ΔXiの値が零である場合は式(3)の演
算は実行されず、ΔZiの値として零が出力され
る。
算は実行されず、ΔZiの値として零が出力され
る。
ここでΔZiはiイタレーシヨンにおける3次
増分を表わす。なお、YレジスタとRレジスタ
の詳細な役割については第12図a,bの説明
をおこなう際に述べる。
増分を表わす。なお、YレジスタとRレジスタ
の詳細な役割については第12図a,bの説明
をおこなう際に述べる。
つぎに、浮動小数点方式による四則演算に用い
られる本発明にもとづく新規な2種類の演算器で
あるFPDDAの加算器と積分器について説明す
る。
られる本発明にもとづく新規な2種類の演算器で
あるFPDDAの加算器と積分器について説明す
る。
(1) 加算器
この演算器は式(1)の演算によつてl個の2次
増分の総和を求め、これを第2図のデータ・フ
オーマツトBで表わされるような、仮数部が符
号桁を含めてn桁の3次増分に丸めて出力する
演算をおこなうものである。
増分の総和を求め、これを第2図のデータ・フ
オーマツトBで表わされるような、仮数部が符
号桁を含めてn桁の3次増分に丸めて出力する
演算をおこなうものである。
加算器の演算内容は、前述の積分演算と同様
に3個のフエーズ(P、YおよびIフエーズ)
からなる。この内、PとYフエーズは前述の積
分演算と全く同じ演算(式(1)と式(2))を行な
う。
に3個のフエーズ(P、YおよびIフエーズ)
からなる。この内、PとYフエーズは前述の積
分演算と全く同じ演算(式(1)と式(2))を行な
う。
加算器のIフエーズでは、iイタレーシヨン
時の加算器の1次増分ΔXiが零でなければ、i
イタレーシヨン時のYフエーズによつて求めた
Yiから次に述べる演算法により上記3次増分
ΔZiを発生する。そして、YiからΔZiを減算し、
求められた残余を正規化してYiとし次のイタレ
ーシヨンのために用いる。
時の加算器の1次増分ΔXiが零でなければ、i
イタレーシヨン時のYフエーズによつて求めた
Yiから次に述べる演算法により上記3次増分
ΔZiを発生する。そして、YiからΔZiを減算し、
求められた残余を正規化してYiとし次のイタレ
ーシヨンのために用いる。
一方、1次増分ΔXiが零ならば3次増分ΔZi
を零にし、かつiイタレーシヨン時のYフエー
ズによつて求めたYiをそのまま保持し、次のイ
タレーシヨンでの演算に使用する。
を零にし、かつiイタレーシヨン時のYフエー
ズによつて求めたYiをそのまま保持し、次のイ
タレーシヨンでの演算に使用する。
ここで、ΔXiが零でない場合の3次増分ΔZi
の発生方法を第3図を用いて説明する。
の発生方法を第3図を用いて説明する。
本発明では、YiとΔZiを次式のように表わ
し、以下の(i)〜(iv)のステツプにてΔZiを発生す
る。
し、以下の(i)〜(iv)のステツプにてΔZiを発生す
る。
Yi=YMi×2YEi=S.y1y2……yn-1
×2YEi ……(4)
ΔZi=ΔZMi×2〓ZEi=S.z1z2……zo-1
×2〓ZEi ……(5)
上式においてSは符号桁の値、.は小数点、
y1〜yn-1はYMiの小数点以下の1桁目〜(m−
1)桁目における値、z1〜zo-1はΔZMiの小数点
以下の1桁目〜(n−1)桁目における値を表
わす。y1〜yn-1およびz1〜zo-1は0または1に
より表わされる。さらにn<mとする。
y1〜yn-1はYMiの小数点以下の1桁目〜(m−
1)桁目における値、z1〜zo-1はΔZMiの小数点
以下の1桁目〜(n−1)桁目における値を表
わす。y1〜yn-1およびz1〜zo-1は0または1に
より表わされる。さらにn<mとする。
(i) YMiの符号を含めて上位n桁までをΔZMiの
上位n桁における値とし、かつYEiの値を
ΔZEiとして出力する。
上位n桁における値とし、かつYEiの値を
ΔZEiとして出力する。
(ii) YMiの上位n桁の各桁の値を零とする。
(iii) (ii)のステツプで求まつたYMiの値が零か否
か調べる。零ならばYMiの値をそのままにし
た状態で演算を終える。零でなければ(iv)のス
テツプにゆく。
か調べる。零ならばYMiの値をそのままにし
た状態で演算を終える。零でなければ(iv)のス
テツプにゆく。
(iv) YMiの小数点以下1桁目の値が1になるま
でYMiを左にK桁シフトし、それと同時にYEi
の値をKだけ減じる正規化操作を行なう。
でYMiを左にK桁シフトし、それと同時にYEi
の値をKだけ減じる正規化操作を行なう。
(2) 積分器
本発明の積分器と従来積分器との違いは、式
(3)に示した3次増分の発生に関する制御であ
る。従来は1次増分ΔXiの値が零である場合は
式(3)の積分演算を行なわず、ΔZiの値を零とし
て出力している。これに対し、本発明の積分器
はΔXiの値にかかわらず常に式(3)の積分演算を
行ない、特願昭55−112739号の演算法に基づい
て前記RiからΔZiを発生するものである。
(3)に示した3次増分の発生に関する制御であ
る。従来は1次増分ΔXiの値が零である場合は
式(3)の積分演算を行なわず、ΔZiの値を零とし
て出力している。これに対し、本発明の積分器
はΔXiの値にかかわらず常に式(3)の積分演算を
行ない、特願昭55−112739号の演算法に基づい
て前記RiからΔZiを発生するものである。
以上に本発明の2種類の演算器について述べた
が、次にこれらの演算器を用いて浮動小数点表示
された定数(以下、単に定数と称する。)どうし
の加減算を行なう本発明の演算方式について説明
する。なお、以下の説明では本発明の演算器のシ
ンボルを第4図のように示す。同図においてシン
ボル内の変数はYレジスタの内容を表わすものと
する。
が、次にこれらの演算器を用いて浮動小数点表示
された定数(以下、単に定数と称する。)どうし
の加減算を行なう本発明の演算方式について説明
する。なお、以下の説明では本発明の演算器のシ
ンボルを第4図のように示す。同図においてシン
ボル内の変数はYレジスタの内容を表わすものと
する。
(1) 定数の加算演算法
本発明では式(6)で表わされる定数AとBの加
算演算を第5図に示すように本発明のFPDDA
の加算器51,52を結合することによつて行
なう。
算演算を第5図に示すように本発明のFPDDA
の加算器51,52を結合することによつて行
なう。
C:=A+B ……(6)
本発明では第5図のFPDDAをランする前に
第1図に示したコンピユータ101により、加
算器51のYレジスタに定数Aの値を、また加
算器52のYレジスタに定数Bの値を初期値と
して設定する。そのうち、FPDDAをランし、
数イタレーシヨン演算することにより、加算器
52のYレジスタに式(6)の加算結果であるCの
値を求める。
第1図に示したコンピユータ101により、加
算器51のYレジスタに定数Aの値を、また加
算器52のYレジスタに定数Bの値を初期値と
して設定する。そのうち、FPDDAをランし、
数イタレーシヨン演算することにより、加算器
52のYレジスタに式(6)の加算結果であるCの
値を求める。
すなわち、加算器51のYレジスタの初期値
Aは次式のように表わされ、加算器51の2次
増分Δyが無いので A=(S.20+a1・2-1+a2・2-2+…… +an-1・2-m+1)・2ea ……(7) 第1回目のイタレーシヨンにおいて加算器5
1は、第3図にもとづく前記(i)のステツプに従
つて、 ΔZ1:=(S.20+a1・2-1+…… +ao-1・21-n)・2ea ……(8) で表わされる3次増分ΔZ1を出力し、加算器5
2に転送する。1回目のイタレーシヨン終了後
の加算器51のYレジスタは第3図にもとづく
前記(ii)のステツプに従つて次のようになる。
Aは次式のように表わされ、加算器51の2次
増分Δyが無いので A=(S.20+a1・2-1+a2・2-2+…… +an-1・2-m+1)・2ea ……(7) 第1回目のイタレーシヨンにおいて加算器5
1は、第3図にもとづく前記(i)のステツプに従
つて、 ΔZ1:=(S.20+a1・2-1+…… +ao-1・21-n)・2ea ……(8) で表わされる3次増分ΔZ1を出力し、加算器5
2に転送する。1回目のイタレーシヨン終了後
の加算器51のYレジスタは第3図にもとづく
前記(ii)のステツプに従つて次のようになる。
Y1:(ao・2-n+ao+1・2-(n+1)
+……+an-1・2-m+1)・2ea ……(9)
加算器52では式(1)と式(2)を演算するため、
1回目のイタレーシヨンにおいて、式(8)で表わ
される定数Aの部分値ΔZ1と定数Bとの加算結
果が加算器52のYレジスタに格納されること
になる。
1回目のイタレーシヨンにおいて、式(8)で表わ
される定数Aの部分値ΔZ1と定数Bとの加算結
果が加算器52のYレジスタに格納されること
になる。
第5図に示したように加算器51の1次増分
には値が1.0と固定しているΔXを入力するため
に、加算器51は定数Aの残余R1が零になる
まで各イタレーシヨンで式(8)で表わされるΔZi
を発生する。したがつて、数イタレーシヨン後
に定数AとBの加算結果Cを精度良く加算器5
2のYレジスタに求めることが出来る。
には値が1.0と固定しているΔXを入力するため
に、加算器51は定数Aの残余R1が零になる
まで各イタレーシヨンで式(8)で表わされるΔZi
を発生する。したがつて、数イタレーシヨン後
に定数AとBの加算結果Cを精度良く加算器5
2のYレジスタに求めることが出来る。
(2) 定数の減算演算法
本発明では、式(10)で表わされる定数AとBの
減算を本発明のFPDDAの加算器を第6図のよ
うに結合することによつて行なう。
減算を本発明のFPDDAの加算器を第6図のよ
うに結合することによつて行なう。
C:=B−A ……(10)
同図において、部分61は符号反転器を示
す。これを除いた部分で前述の加算演算の場合
と全く同じ演算の手続並びに原理にて定数の減
算を行なう。減算結果は同様に加算器52のY
レジスタに求められる。
す。これを除いた部分で前述の加算演算の場合
と全く同じ演算の手続並びに原理にて定数の減
算を行なう。減算結果は同様に加算器52のY
レジスタに求められる。
(3) 定数の乗算演算法
本発明では、式(11)で表わされる定数AとBの
乗算を本発明のFPDDAの加算器51の積分器
71,72とを第7図のように結合することに
よつて行なう。
乗算を本発明のFPDDAの加算器51の積分器
71,72とを第7図のように結合することに
よつて行なう。
C:=A×B ……(11)
ただし、演算器72には加算器を用いても良
い。
い。
前述の方法により3台の演算器のYレジスタ
に初期値を設定したのち、FPDDAをランし、
乗算結果Cを求める。初期値としては、加算器
のYレジスタに定数Aを、積分器71のYレジ
スタに定数Bを、そして積分器72のYレジス
タに零を設定する。また積分器72のRレジス
タに初期値として零を設定する。
に初期値を設定したのち、FPDDAをランし、
乗算結果Cを求める。初期値としては、加算器
のYレジスタに定数Aを、積分器71のYレジ
スタに定数Bを、そして積分器72のYレジス
タに零を設定する。また積分器72のRレジス
タに初期値として零を設定する。
第5図の演算回路において、加算器51は前
述の如く式(7)で表わされる定数Aをn桁ごとに
丸めて、式(8)で表わされるΔZiに相当する3次
増分ΔAiを発生し、これを積分器71に1次増
分として転送する。したがつて、積分器71は
式(3)に基づいて次の積分演算を行なうことにな
る。
述の如く式(7)で表わされる定数Aをn桁ごとに
丸めて、式(8)で表わされるΔZiに相当する3次
増分ΔAiを発生し、これを積分器71に1次増
分として転送する。したがつて、積分器71は
式(3)に基づいて次の積分演算を行なうことにな
る。
Ri:=Ri-1+B・ΔAi−ΔZi ……(12)
ここで、ΔAiはiイタレーシヨン時に加算器
51より出力された量で、定数Aの部分値を表
わす。
51より出力された量で、定数Aの部分値を表
わす。
この様にして、積分器71によつて定数Aと
Bの部分積(B・ΔAi)が計算され、n桁の値
に丸められて積分器72の2次増分として入力
される。積分器73は式(1)と式(2)の演算により
定数AとBの部分積の総和を計算する。
Bの部分積(B・ΔAi)が計算され、n桁の値
に丸められて積分器72の2次増分として入力
される。積分器73は式(1)と式(2)の演算により
定数AとBの部分積の総和を計算する。
以上に述べたFPDDAの演算を繰返して行な
うことにより、式(11)で表わされる乗算を行な
い、その結果としてCを積分器72のYレジス
タ内に求めることが出来る。
うことにより、式(11)で表わされる乗算を行な
い、その結果としてCを積分器72のYレジス
タ内に求めることが出来る。
ここで、本発明の積分器の利点を述べる。上
記式(12)の積分演算において、従来方式の積分器
では定数Aをすべて加算器51の3次増分とし
て出力してしまうと、それ以降のイタレーシヨ
ンでは1次増分ΔAiが零となるから式(12)の演算
が行なわれず、残余Riが出力されなくなる。し
たがつて、部分積の残余がRレジスタに残り、
定数AとBの積Cに誤差が生じる。
記式(12)の積分演算において、従来方式の積分器
では定数Aをすべて加算器51の3次増分とし
て出力してしまうと、それ以降のイタレーシヨ
ンでは1次増分ΔAiが零となるから式(12)の演算
が行なわれず、残余Riが出力されなくなる。し
たがつて、部分積の残余がRレジスタに残り、
定数AとBの積Cに誤差が生じる。
これに対し、本発明の積分器によれば1次増
分の値にかかわらず式(12)の演算を実行するため
に、ΔAiが零となつた後でもRレジスタ中の部
分積の残余をすべて出力することが出来る。し
たがつて、式(11)の乗算を精度良く行なうことが
できる。
分の値にかかわらず式(12)の演算を実行するため
に、ΔAiが零となつた後でもRレジスタ中の部
分積の残余をすべて出力することが出来る。し
たがつて、式(11)の乗算を精度良く行なうことが
できる。
(4) 定数の除算演算法
本発明では、式(13)で表わされる定数Aと
Bとの除算を本発明のFPDDAの積分器と先願
の演算器デイジタルサーボ(登録番号946778)
を第8図のように結合することによつて行な
う。
Bとの除算を本発明のFPDDAの積分器と先願
の演算器デイジタルサーボ(登録番号946778)
を第8図のように結合することによつて行な
う。
C:=B/A ……(13)
本発明の除算法は、次式の演算をFPDDAで
行なわせ、陰表的な演算法にて商を得ようとす
るものである。
行なわせ、陰表的な演算法にて商を得ようとす
るものである。
ε=(B−A・F)→0.0 ……(14)
すなわち、変数Fにまず適当な値を与えて、
定数Aと変数Fとの積を計算し、Bとの差εを
求め、εの値に基づいて変数Fの値を制御して
εを0に近づけ、この時の変数Fの値を式
(13)の商Cとして求める方法である。
定数Aと変数Fとの積を計算し、Bとの差εを
求め、εの値に基づいて変数Fの値を制御して
εを0に近づけ、この時の変数Fの値を式
(13)の商Cとして求める方法である。
第8図におけるデイジタルサーボ81は、デ
イジタルサーボの1イタレーシヨン前のYレジ
スタの値Yi-1と現時点での値Yiとの大小関係に
応じて3次増分のゲインを2倍または1/2倍す
ると共に、3次増分の符号を制御することによ
つて、デイジタルサーボのYレジスタの値を0
にする演算器である。ゆえに、式(14)の演算
は、このデイジタルサーボ81を利用すれば簡
単に実現できる。
イジタルサーボの1イタレーシヨン前のYレジ
スタの値Yi-1と現時点での値Yiとの大小関係に
応じて3次増分のゲインを2倍または1/2倍す
ると共に、3次増分の符号を制御することによ
つて、デイジタルサーボのYレジスタの値を0
にする演算器である。ゆえに、式(14)の演算
は、このデイジタルサーボ81を利用すれば簡
単に実現できる。
第8図における各演算器の初期値としては、
デイジタルサーボ81に被除数Bを、積分器8
2に除数Aを、そして解が蓄えられる積分器8
3に零を各々設定する。
デイジタルサーボ81に被除数Bを、積分器8
2に除数Aを、そして解が蓄えられる積分器8
3に零を各々設定する。
1回目のイタレーシヨンにおいてデイジタル
サーボ81はあらかじめ設定されたある重みを
もつ3次増分ΔFiを発生する。積分器82は、 R1:=R0+A・ΔF1−ΔZ1 ……(15) なる積分演算を行ない、その3次増分ΔZ1を符
号反転器83により符号反転してデイジタルサ
ーボ81に入力する。次のイタレーシヨンにお
けるデイジタルサーボ81のYレジスタの値ε2
は、 ε2:=B−ΔZ1≒B−(A・ΔF1)
……(16) となる。そして、デイジタルサーボ81は、ε2
が零となるように3次増分ΔF2を出力する。
サーボ81はあらかじめ設定されたある重みを
もつ3次増分ΔFiを発生する。積分器82は、 R1:=R0+A・ΔF1−ΔZ1 ……(15) なる積分演算を行ない、その3次増分ΔZ1を符
号反転器83により符号反転してデイジタルサ
ーボ81に入力する。次のイタレーシヨンにお
けるデイジタルサーボ81のYレジスタの値ε2
は、 ε2:=B−ΔZ1≒B−(A・ΔF1)
……(16) となる。そして、デイジタルサーボ81は、ε2
が零となるように3次増分ΔF2を出力する。
このような演算が数イタレーシヨン繰返され
た後のi番目のイタレーシヨンにおけるデイジ
タルサーボ81のYレジスタの値εiは、次のよ
うになる。
た後のi番目のイタレーシヨンにおけるデイジ
タルサーボ81のYレジスタの値εiは、次のよ
うになる。
εi≒B−A・l
〓j=1
ΔFj ……(17)
上式の右辺のΔFjの総和は積分器84のYレジ
スタに蓄えられる。したがつて、εi=0となつた
時、積分器84のYレジスタの内容を式(13)の
商Cとして求めることが出来る。
スタに蓄えられる。したがつて、εi=0となつた
時、積分器84のYレジスタの内容を式(13)の
商Cとして求めることが出来る。
積分器82は、前述の如く1次増分が零であつ
ても定数AとΔFjとの積の残余を3次増分として
出力するために式(17)の演算誤差を小さくする
ことが出来る。
ても定数AとΔFjとの積の残余を3次増分として
出力するために式(17)の演算誤差を小さくする
ことが出来る。
第9図にこの方法による演算結果を示す。これ
は0.001/1.000001を演算した結果である。第9
図の曲線L1からわかるように16イタレーシヨン
以降でデイジタルサーボ81のYレジスタの内容
であるεが極めて零に近くなり、曲線L2からわ
かるように近似解0.001が求められる。
は0.001/1.000001を演算した結果である。第9
図の曲線L1からわかるように16イタレーシヨン
以降でデイジタルサーボ81のYレジスタの内容
であるεが極めて零に近くなり、曲線L2からわ
かるように近似解0.001が求められる。
なお、本発明の除算法では除数の符号によつて
デイジタルサーボのフイードバツクループが発振
しないように演算回路を切り変える。第8図は除
数が正の場合の演算回路で、除数が負の場合には
第10図に示すように積分器84の入力側に符号
反転器101を挿入すればよい。
デイジタルサーボのフイードバツクループが発振
しないように演算回路を切り変える。第8図は除
数が正の場合の演算回路で、除数が負の場合には
第10図に示すように積分器84の入力側に符号
反転器101を挿入すればよい。
以上で本発明のFPDDAによる定数の四則演算
法の概要を述べたが、これらの演算を組合せた例
として次式の代数演算を行なう演算回路を第11
図に示す。
法の概要を述べたが、これらの演算を組合せた例
として次式の代数演算を行なう演算回路を第11
図に示す。
H:=(A・B+C)/D+E(F+G)
……(18) 第11図の回路により式(18)の演算をおこな
うために、まず、定数A、B、C、D、E、F、
G、H(H=H0=0)をそれぞれ演算器110,
111,112,113,114,115,11
6,117にセツトする。
……(18) 第11図の回路により式(18)の演算をおこな
うために、まず、定数A、B、C、D、E、F、
G、H(H=H0=0)をそれぞれ演算器110,
111,112,113,114,115,11
6,117にセツトする。
演算器110と111とからなる演算部A1に
おいて、A・Bの乗算が実行され、乗算結果A・
Bが演算器112内の定数Cと加算される。その
結果(A・B+C)が演算器112内のYレジス
タに格納されるとともに、演算器113と符号反
転器11を含む演算部A2において、(A・B+
C)/Dの除算が実行されその商が上記Yレジス
タに(A・B+C)とおきかわつて格納される。
おいて、A・Bの乗算が実行され、乗算結果A・
Bが演算器112内の定数Cと加算される。その
結果(A・B+C)が演算器112内のYレジス
タに格納されるとともに、演算器113と符号反
転器11を含む演算部A2において、(A・B+
C)/Dの除算が実行されその商が上記Yレジス
タに(A・B+C)とおきかわつて格納される。
さらに、演算器114と115によりE・Fの
乗算が実行され、演算器114と115により
E・Gの乗算が実行される。
乗算が実行され、演算器114と115により
E・Gの乗算が実行される。
それぞれの演算結果(A・B+C)/D、E・
FおよびE・Gとが演算器117の初期値(H0
=0)と加算されて式(18)の結果が完了し、結
果が演算器117内のYレジスタに格納される。
FおよびE・Gとが演算器117の初期値(H0
=0)と加算されて式(18)の結果が完了し、結
果が演算器117内のYレジスタに格納される。
以下、本発明を実施例を参照して詳細に説明す
る。
る。
第12図a,bは本発明を用いたFPDDAのブ
ロツク構成を示す。
ロツク構成を示す。
第13図〜第15図を用いて第12図a,bの
動作を説明する。
動作を説明する。
FPDDA1201の各イタレーシヨンは、前述
の式(1)〜式(3)で表わされるPフエーズ、Yフエー
ズおよびIフエーズの3個の演算フエーズにより
実行される。第12図aは主にPフエーズを、第
12図bはYとIフエーズを実行するFPDDAの
ブロツク構成を示す。
の式(1)〜式(3)で表わされるPフエーズ、Yフエー
ズおよびIフエーズの3個の演算フエーズにより
実行される。第12図aは主にPフエーズを、第
12図bはYとIフエーズを実行するFPDDAの
ブロツク構成を示す。
第12図a〜bにおいて、マイクロコンピユー
タ1200は共通バス線1202とマルチプレク
サ1209,1210,1213を経由して、
FPDDAの3次増分ΔZiを格納するΔZメモリ12
04と前記式(2)の演算結果(Yレジスタの内容)
を格納するYメモリ1205および前記式(3)の演
算結果(Rレジスタの内容)を格納するRメモリ
1206にそれぞれの初期値を転送すると共に、
制御メモリ1203にFPDDAの演算制御命令を
転送する。
タ1200は共通バス線1202とマルチプレク
サ1209,1210,1213を経由して、
FPDDAの3次増分ΔZiを格納するΔZメモリ12
04と前記式(2)の演算結果(Yレジスタの内容)
を格納するYメモリ1205および前記式(3)の演
算結果(Rレジスタの内容)を格納するRメモリ
1206にそれぞれの初期値を転送すると共に、
制御メモリ1203にFPDDAの演算制御命令を
転送する。
また、マイクロコンピユータ1200は制御メ
モリ1203のアドレスを指定するプログラム・
カウンタ1224に所定の値を転送し、さらに
FPDDAの演算を実行するために必要な一連のタ
イミング信号を発生するコントローラ1207の
起動と停止を行なう。
モリ1203のアドレスを指定するプログラム・
カウンタ1224に所定の値を転送し、さらに
FPDDAの演算を実行するために必要な一連のタ
イミング信号を発生するコントローラ1207の
起動と停止を行なう。
FPDDAの演算は、プログラム・カウンタ12
24により指定された制御メモリ1203のアド
レスPCより読出された演算制御命令を、コント
ローラ1207で発生される一連のタイミング信
号に従つて実行することによつて行なわれる。
24により指定された制御メモリ1203のアド
レスPCより読出された演算制御命令を、コント
ローラ1207で発生される一連のタイミング信
号に従つて実行することによつて行なわれる。
ここで、プログラム・カウンタ1224により
指定される上記アドレスPCに格納されている演
算制御命令は、所定のイタレーシヨン時(たとえ
ば、i番目のイタレーシヨン時)における演算で
使用される演算器の種別とこれに関連した演算モ
ードなどを指定するビツト構造を有する。
指定される上記アドレスPCに格納されている演
算制御命令は、所定のイタレーシヨン時(たとえ
ば、i番目のイタレーシヨン時)における演算で
使用される演算器の種別とこれに関連した演算モ
ードなどを指定するビツト構造を有する。
第13図は、上記演算制御命令におけるビツト
構造の一例を示す。
構造の一例を示す。
第13図における各部分のうち、ELは所望の
演算を実行するために使用される演算器の種別、
ΔXAはFPDDAの1次増分ΔXiが格納されている
ΔZメモリ1204のアドレス、PxはΔXiの極性、
ΔYA1とΔYA2およびΔYA3(この例での入力数を3
入力としている。)は式(1)のΔYi,1とΔYi,2および
ΔYi,3が格納されているΔZメモリ1204のアド
レス、P1とP2およびP3はそれぞれ上記ΔYi,1と
ΔYi,2およびΔYi,3の極性を制御するための1ビツ
トのフラグを示している。Px、P1、P2およびP3
のフラグが“0”であれば極性が正であることを
示し、“1”ならば極性が負であることを示す。
演算を実行するために使用される演算器の種別、
ΔXAはFPDDAの1次増分ΔXiが格納されている
ΔZメモリ1204のアドレス、PxはΔXiの極性、
ΔYA1とΔYA2およびΔYA3(この例での入力数を3
入力としている。)は式(1)のΔYi,1とΔYi,2および
ΔYi,3が格納されているΔZメモリ1204のアド
レス、P1とP2およびP3はそれぞれ上記ΔYi,1と
ΔYi,2およびΔYi,3の極性を制御するための1ビツ
トのフラグを示している。Px、P1、P2およびP3
のフラグが“0”であれば極性が正であることを
示し、“1”ならば極性が負であることを示す。
次に、第13図のビツト構造を有する演算制御
命令(以下、単に命令と称する。)に基づいて、
本発明の演算法を実行する場合の第12図の動作
をさらに詳細に説明する。
命令(以下、単に命令と称する。)に基づいて、
本発明の演算法を実行する場合の第12図の動作
をさらに詳細に説明する。
式(1)と式(2)で表わされるPフエーズとYフエー
ズの演算は、FPDDAのすべての演算器に共通し
て行なわれる。両フエーズの演算は以下のように
実行される。
ズの演算は、FPDDAのすべての演算器に共通し
て行なわれる。両フエーズの演算は以下のように
実行される。
まず、プログラム・カウンタ1224により指
定された制御メモリ1203のアドレスPCより
命令が読出される。そして、読出された命令はデ
コーダ1214により解読されて、命令各部の解
読信号が対応する回路部に送られる。
定された制御メモリ1203のアドレスPCより
命令が読出される。そして、読出された命令はデ
コーダ1214により解読されて、命令各部の解
読信号が対応する回路部に送られる。
使用すべき演算器の種別を示す前記ELの解読
結果(EL)はコントローラ1207に送られ、
これを受けて前記P、YおよびIフエーズを実行
するために必要なタイミング信号がコントローラ
1207で生成されて所定の回路部に送られる。
たとえばΔZメモリ1204、Yメモリ1205
およびRメモリ1206のE端部にイネーブル
(ENABLE)信号ENなどが送出される。第12
図ではコントローラ1207とそれらを結ぶ線は
簡単化のため省略してある。
結果(EL)はコントローラ1207に送られ、
これを受けて前記P、YおよびIフエーズを実行
するために必要なタイミング信号がコントローラ
1207で生成されて所定の回路部に送られる。
たとえばΔZメモリ1204、Yメモリ1205
およびRメモリ1206のE端部にイネーブル
(ENABLE)信号ENなどが送出される。第12
図ではコントローラ1207とそれらを結ぶ線は
簡単化のため省略してある。
Pフエーズでは、読出した命令のアドレス
ΔYA1〜ΔYA3およびΔXAの解読結果(ΔYA1)、
(ΔYA2)、(ΔYA3)および(ΔXA)をΔZメモリ1
204のアドレス端子にマルチプレクサ1226
経由で入力して、指定されたアドレスよりΔYi,j
(j=1、2、3)とΔXiが順次読出されてΔYレ
ジスタ1215およびΔXレジスタ1216にセ
ツトされる。
ΔYA1〜ΔYA3およびΔXAの解読結果(ΔYA1)、
(ΔYA2)、(ΔYA3)および(ΔXA)をΔZメモリ1
204のアドレス端子にマルチプレクサ1226
経由で入力して、指定されたアドレスよりΔYi,j
(j=1、2、3)とΔXiが順次読出されてΔYレ
ジスタ1215およびΔXレジスタ1216にセ
ツトされる。
ΔYレジスタ1215にセツトされたΔYi,1とi
番目のイタレーシヨン時に先立つて第14図に示
す各演算器の開始信号ELGによつてリセツトさ
れたSDYレジスタ1218の内容(SDYi,0=0.)
とが浮動小数点加算器FADD1217に入力さ
れて、 SDYi,1:SDYi,0+ΔYi,1 ……(19) の浮動小数点演算が行なわれて、その結果が
SDYi,1としてSDYレジスタ1218にセツトさ
れる。
番目のイタレーシヨン時に先立つて第14図に示
す各演算器の開始信号ELGによつてリセツトさ
れたSDYレジスタ1218の内容(SDYi,0=0.)
とが浮動小数点加算器FADD1217に入力さ
れて、 SDYi,1:SDYi,0+ΔYi,1 ……(19) の浮動小数点演算が行なわれて、その結果が
SDYi,1としてSDYレジスタ1218にセツトさ
れる。
式(19)の演算後、ΔYレジスタ1215にセ
ツトされたΔYi,2とSDYレジスタ1218の内容
(SDYi,1=ΔYi,1)とがFADD1217に入力され
て、 SDYi,2:SDYi,1+ΔYi,2=ΔYi,1 +ΔYi,2 ……(20) の演算が行なわれて、その結果がSDYi,2として
SDYレジスタ1218にセツトされる。
ツトされたΔYi,2とSDYレジスタ1218の内容
(SDYi,1=ΔYi,1)とがFADD1217に入力され
て、 SDYi,2:SDYi,1+ΔYi,2=ΔYi,1 +ΔYi,2 ……(20) の演算が行なわれて、その結果がSDYi,2として
SDYレジスタ1218にセツトされる。
同様の演算を繰り返すことにより、式(1)の3入
力の2次増分の総和SDYiがSDYレジスタ121
8中に求められる。
力の2次増分の総和SDYiがSDYレジスタ121
8中に求められる。
上記の演算において、SDYレジスタ1218
とFADD1217とは累算器に相当している。
とFADD1217とは累算器に相当している。
また、極性ビツトの解読結果(P1)、(P2)、
(P3)が負極性の場合には、負極性微小増分に関
する2の補数とSDYi,1との加算がFADD1217
において実行される。たとえば、ΔYi,2が負極性
となつた場合には、 SDYi,1−ΔYi,2=ΔYi,1−ΔYi,2 ……(21) の演算が行なわれる。
(P3)が負極性の場合には、負極性微小増分に関
する2の補数とSDYi,1との加算がFADD1217
において実行される。たとえば、ΔYi,2が負極性
となつた場合には、 SDYi,1−ΔYi,2=ΔYi,1−ΔYi,2 ……(21) の演算が行なわれる。
なお、命令の極性ビツトPxの解読結果(Px)
はラツチ1225にセツトされる。
はラツチ1225にセツトされる。
次のYフエーズでは式(2)の演算が行なわれる。
まず、1イタレーシヨン前のYレジスタ1219
の値Yi-1をYメモリ1205より読出す。この読
出しは、プログラム・カウンタ1224の出力
PCをYメモリ1205のアドレス端子Aに入力
し、コントローラ1207からのイネーブル信号
ENにより行なわれ、読出されたYi-1がYレジス
タ1219にセツトされる。
まず、1イタレーシヨン前のYレジスタ1219
の値Yi-1をYメモリ1205より読出す。この読
出しは、プログラム・カウンタ1224の出力
PCをYメモリ1205のアドレス端子Aに入力
し、コントローラ1207からのイネーブル信号
ENにより行なわれ、読出されたYi-1がYレジス
タ1219にセツトされる。
そして、前記Pフエーズで求められたSDYレ
ジスタの内容SDYiとYレジスタ1219内の
Yi-1との浮動小数点加算がアキユムレータ付き
FADD1220にて行なわれ、iイタレーシヨ
ン時のYiが求められる。さらに、YiはFADD1
220のアキユムレータからアルチプレクサ12
11と1210経由でYメモリ1205の前記ア
ドレスPCに書込まれる。
ジスタの内容SDYiとYレジスタ1219内の
Yi-1との浮動小数点加算がアキユムレータ付き
FADD1220にて行なわれ、iイタレーシヨ
ン時のYiが求められる。さらに、YiはFADD1
220のアキユムレータからアルチプレクサ12
11と1210経由でYメモリ1205の前記ア
ドレスPCに書込まれる。
以上に述べたPフエーズとYフエーズの演算内
容は、前述の如くFPDDAの全ての演算器に共通
したものである。これに対し、Iフエーズによる
3次増分ΔZiの発生内容が各演算器によつて異な
る。
容は、前述の如くFPDDAの全ての演算器に共通
したものである。これに対し、Iフエーズによる
3次増分ΔZiの発生内容が各演算器によつて異な
る。
以下、本発明の積分器と加算器のIフエーズ並
びにデイジタルサーボのIフエーズの演算内容に
ついて第12図bを用いて説明する。
びにデイジタルサーボのIフエーズの演算内容に
ついて第12図bを用いて説明する。
(1) 積分器のIフエーズ
積分器のIフエーズでは、式(3)の演算を1次
増分ΔXiの値にかかわらず行なう。
増分ΔXiの値にかかわらず行なう。
まず、1イタレーシヨン前の積分値の残余
Ri-1が前記Yメモリと同様な手続きによりRメ
モリ1206のアドレスPCから読出され、R
レジスタ1224にセツトされる。そして、Y
フエーズによつて求められたFADD1220
中のアキユムレータに格納されている内容Yiと
第2図aのΔXレジスタ1216の内容ΔXiと
を乗算器1221で乗算する。乗算器1221
の出力Yi・ΔXiはFADD1222によつてRレ
ジスタ1224の内容Ri-1と加算される。そし
て、この演算結果はFADD1222からデコ
ーダ1223に入力され、第2図中のデータフ
オーマツトBのような仮数部がn桁(n≧1)
からなる3次増分ΔZiが特願昭55−112739号に
示された方法に基づきデコーダ1223によつ
て発生される。このΔZiはマルチプレクサ12
12と第12図aのマルチプレクサ1209経
由でΔZメモリ1204のアドレスPCに書込ま
れる。ΔZメモリ1204への書込みアドレス
PCはプログラム・カウンタ1224からマル
チプレクサ1226経由でΔZメモリ1204
のアドレス端子Aに送られる。
Ri-1が前記Yメモリと同様な手続きによりRメ
モリ1206のアドレスPCから読出され、R
レジスタ1224にセツトされる。そして、Y
フエーズによつて求められたFADD1220
中のアキユムレータに格納されている内容Yiと
第2図aのΔXレジスタ1216の内容ΔXiと
を乗算器1221で乗算する。乗算器1221
の出力Yi・ΔXiはFADD1222によつてRレ
ジスタ1224の内容Ri-1と加算される。そし
て、この演算結果はFADD1222からデコ
ーダ1223に入力され、第2図中のデータフ
オーマツトBのような仮数部がn桁(n≧1)
からなる3次増分ΔZiが特願昭55−112739号に
示された方法に基づきデコーダ1223によつ
て発生される。このΔZiはマルチプレクサ12
12と第12図aのマルチプレクサ1209経
由でΔZメモリ1204のアドレスPCに書込ま
れる。ΔZメモリ1204への書込みアドレス
PCはプログラム・カウンタ1224からマル
チプレクサ1226経由でΔZメモリ1204
のアドレス端子Aに送られる。
第12図bにおけるFADD1222によつ
て求められた積分値から3次増分ΔZiを除いた
残余Riは、正規化回路1227によつてRiの仮
数部の値の絶対値が0.5以上となるように正規
化される。正規化されたRiの値は、マルチプレ
クサ1213経由でRメモリ1206の前記ア
ドレスPCに書込まれる。
て求められた積分値から3次増分ΔZiを除いた
残余Riは、正規化回路1227によつてRiの仮
数部の値の絶対値が0.5以上となるように正規
化される。正規化されたRiの値は、マルチプレ
クサ1213経由でRメモリ1206の前記ア
ドレスPCに書込まれる。
(2) 加算器のIフエーズ
加算器のIフエーズにおいて、乗算器122
1によるYiとΔXiとの乗算並びにこの乗算結果
とRi-1との加算までは、上記積分器のIフエー
ズと同じ手続きにて行なわれる。加算器の場合
には、制御メモリ1203中の第13図に示し
た命令において、ΔXAに数値1.0が格納されて
いるΔZメモリ1204内のアドレスを設定す
ると共に前記の手続きにて演算前にマイクロコ
ンピユータ1200からRメモリ1206中の
該加算器に対応するアドレスの内容を零に設定
しておく。したがつて、FADD1222によ
る演算結果(Yi・ΔXi+Ri-1)はYiとなる。
1によるYiとΔXiとの乗算並びにこの乗算結果
とRi-1との加算までは、上記積分器のIフエー
ズと同じ手続きにて行なわれる。加算器の場合
には、制御メモリ1203中の第13図に示し
た命令において、ΔXAに数値1.0が格納されて
いるΔZメモリ1204内のアドレスを設定す
ると共に前記の手続きにて演算前にマイクロコ
ンピユータ1200からRメモリ1206中の
該加算器に対応するアドレスの内容を零に設定
しておく。したがつて、FADD1222によ
る演算結果(Yi・ΔXi+Ri-1)はYiとなる。
次に、YiはFADD1222からデコーダ1
223に送られる。デコーダ1223により、
第3図で示したようなYiの仮数部YMiの上位n
桁までを3次増分ΔZiの仮数部ΔZMiの上位n桁
における値とし、かつYiの指数部YEiの値をそ
のままΔZiの指数部ΔZEiとした3次増分ΔZiが
発生される。このΔZiはマルチプレクサ121
2と第12図aのマルチプレクサ1209経由
でΔZメモリ1204のアドレスPCに書込まれ
る。
223に送られる。デコーダ1223により、
第3図で示したようなYiの仮数部YMiの上位n
桁までを3次増分ΔZiの仮数部ΔZMiの上位n桁
における値とし、かつYiの指数部YEiの値をそ
のままΔZiの指数部ΔZEiとした3次増分ΔZiが
発生される。このΔZiはマルチプレクサ121
2と第12図aのマルチプレクサ1209経由
でΔZメモリ1204のアドレスPCに書込まれ
る。
さらに、デコーダ1223はYMiの上位n桁
の各桁の値を零としたデータとYMiの上位(n
+1)桁から(m−1)桁のデータおよびYEi
を正規化回路1227に送る。正規化回路12
27はこの値を正規化する。正規化された値
は、正規化回路1227からマルチプレクサ1
211および1210経由でYメモリ1205
のアドレスPCに書込まれる。
の各桁の値を零としたデータとYMiの上位(n
+1)桁から(m−1)桁のデータおよびYEi
を正規化回路1227に送る。正規化回路12
27はこの値を正規化する。正規化された値
は、正規化回路1227からマルチプレクサ1
211および1210経由でYメモリ1205
のアドレスPCに書込まれる。
(3) デイジタル・サーボのIフエーズ
前Yフエーズによつて求められたYiとYメモ
リ1205から読出され、Yレジスタ1219
に格納されているYi-1およびRメモリ1206
から読出し、Rレジスタ1224に格納されて
いる1イタレーシヨン前の3次増分の指数部
ΔZEi-1を入力として、デイジタル・サーボΔZ
発生回路1208は次に示す演算により3次増
分ΔZiを発生する。
リ1205から読出され、Yレジスタ1219
に格納されているYi-1およびRメモリ1206
から読出し、Rレジスタ1224に格納されて
いる1イタレーシヨン前の3次増分の指数部
ΔZEi-1を入力として、デイジタル・サーボΔZ
発生回路1208は次に示す演算により3次増
分ΔZiを発生する。
Yi=0ならばΔZMi:0
Yi>ならばΔZMi:=+1
Yi<0ならばΔZMi:=−1 (22)
Yi=0ならばΔZEi:=ΔZE1-i
YiとY1-iの値が異符号ならばΔZEi:=ΔZEi-1−1
YiとYi-1の値が同符号で、かつ
|Yi-1/2|<|Yi|ならばΔZEi:=ΔZEi-1+1
|Yi-1/2|<|Yi|ならばΔZEi:=ΔZEi-1+1
|Yi-1/2|≧|Yi|ならばΔZEi:=ΔZEi-1−1(23
) ここで、ΔZMiの値{0、+1、−1}は、ΔZMi
の上位2桁により{“00”、“01”、“11”}で表わ
す。
) ここで、ΔZMiの値{0、+1、−1}は、ΔZMi
の上位2桁により{“00”、“01”、“11”}で表わ
す。
デイジタル・サーボΔZ発生回路1208によ
つて発生されたΔZiは、マルチプレクサ1212
および第12図aのマルチプレクサ1209経由
でΔZメモリ1204のアドレスPCに書込まれ
る。またΔZiの指数部ΔZEiはマルチプレクサ12
13経由でRメモリ1206のアドレスPCに書
込まれる。
つて発生されたΔZiは、マルチプレクサ1212
および第12図aのマルチプレクサ1209経由
でΔZメモリ1204のアドレスPCに書込まれ
る。またΔZiの指数部ΔZEiはマルチプレクサ12
13経由でRメモリ1206のアドレスPCに書
込まれる。
以上、詳細に説明した如く本発明のFPDDAで
は、演算器ごとに専用の演算装置は持たず、制御
メモリ1203内の命令を変えることによつて各
種の演算を行なう。
は、演算器ごとに専用の演算装置は持たず、制御
メモリ1203内の命令を変えることによつて各
種の演算を行なう。
つぎに、前述の第7〜第8図ならびに第10図
に示した演算回路を用いて本発明による定数の乗
除演算を実行するための命令について詳細に説明
する。
に示した演算回路を用いて本発明による定数の乗
除演算を実行するための命令について詳細に説明
する。
第13図は第7図に示した定数の乗算回路によ
り乗算演算を実行する命令を示す。1番地の命令
は加算器51を動作させる命令を、2番地の命令
は積分器71を動作させる命令を、そして3番地
の命令は積分器72を動作させる命令を示す。2
番地の積分器71を動作させる命令は、2次増分
がないゆえにP1〜P3およびΔYA1〜ΔYA3をすべて
0とする。ΔXAには加算器51の3次増分が格
納されている。ΔZメモリ1204内のアドレス
1を指定する。3番地の積分器の命令では1次増
分がないためΔXAには0を指定し、2次増分と
しては積分器71の3次増分が入力されるため3
番地のΔYA1にはアドレス2を指定する。初期値
としては、Yメモリの1番地に定数A、2番地に
定数B、そして3番地には0.0を設定する。Rメ
モリはすべて0.0とする。また、前記Mは3とす
る。
り乗算演算を実行する命令を示す。1番地の命令
は加算器51を動作させる命令を、2番地の命令
は積分器71を動作させる命令を、そして3番地
の命令は積分器72を動作させる命令を示す。2
番地の積分器71を動作させる命令は、2次増分
がないゆえにP1〜P3およびΔYA1〜ΔYA3をすべて
0とする。ΔXAには加算器51の3次増分が格
納されている。ΔZメモリ1204内のアドレス
1を指定する。3番地の積分器の命令では1次増
分がないためΔXAには0を指定し、2次増分と
しては積分器71の3次増分が入力されるため3
番地のΔYA1にはアドレス2を指定する。初期値
としては、Yメモリの1番地に定数A、2番地に
定数B、そして3番地には0.0を設定する。Rメ
モリはすべて0.0とする。また、前記Mは3とす
る。
第14図は第8図に示した除数が正の場合の除
算回路により除算演算を実行する命令を示す。1
番地の命令はデイジタル・サーボ81を動作させ
る命令を、2番地の命令は積分器82を動作させ
る命令を、そして3番地の命令は積分器84を動
作させる命令を示す。1番地の命令のELにおけ
るSRVによりデイジタル・サーボ81でサーボ
動作をおこなうコードを指定する。2次増分は積
分器82の3次増分を符号反転したものとなるか
ら1番地のP1に1、ΔYA1にアドレス2を指定す
る。2番地の積分器82を動作させる命令では、
1次増分にデイジタル・サーボ81の3次増分が
入力されるため、ΔXAにアドレス1を指定する。
3番地の積分器84を動作させる命令では、2次
増分にデイジタル・サーボ81の3次増分が入力
されるため、ΔYA1にはアドレス1を指定する。
初期値としては、Yメモリの1番地に定数B、2
番地に定数A、そして3番地に0.0を設定する。
第12図bにおけるRメモリ1206中の1番地
〜3番地には0.0を設定する。
算回路により除算演算を実行する命令を示す。1
番地の命令はデイジタル・サーボ81を動作させ
る命令を、2番地の命令は積分器82を動作させ
る命令を、そして3番地の命令は積分器84を動
作させる命令を示す。1番地の命令のELにおけ
るSRVによりデイジタル・サーボ81でサーボ
動作をおこなうコードを指定する。2次増分は積
分器82の3次増分を符号反転したものとなるか
ら1番地のP1に1、ΔYA1にアドレス2を指定す
る。2番地の積分器82を動作させる命令では、
1次増分にデイジタル・サーボ81の3次増分が
入力されるため、ΔXAにアドレス1を指定する。
3番地の積分器84を動作させる命令では、2次
増分にデイジタル・サーボ81の3次増分が入力
されるため、ΔYA1にはアドレス1を指定する。
初期値としては、Yメモリの1番地に定数B、2
番地に定数A、そして3番地に0.0を設定する。
第12図bにおけるRメモリ1206中の1番地
〜3番地には0.0を設定する。
第15図は第10図に示した除数が負の場合の
除算回路により除算演算を実行する命令を示す。
第8図と第10図の違いは、デイジタル・サーボ
81の2次増分と積分器84の2次増分の符号が
反転している点である。したがつて、第15図に
示す命令は1番地のP1を0に、そして3番地の
P1を1に指定する点で第14図に示す命令と異
なる。
除算回路により除算演算を実行する命令を示す。
第8図と第10図の違いは、デイジタル・サーボ
81の2次増分と積分器84の2次増分の符号が
反転している点である。したがつて、第15図に
示す命令は1番地のP1を0に、そして3番地の
P1を1に指定する点で第14図に示す命令と異
なる。
以上説明したごとく、本発明によれば浮動小数
点演算方式のデイジタル微分解析機において浮動
小数点表示された定数の演算を高精度に実行出来
るようになり、上記デイジタル微分解析機の応用
がさらに拡大できると共に安価なシステムを実現
でき、その効果は大である。
点演算方式のデイジタル微分解析機において浮動
小数点表示された定数の演算を高精度に実行出来
るようになり、上記デイジタル微分解析機の応用
がさらに拡大できると共に安価なシステムを実現
でき、その効果は大である。
第1図はFPDDAのシステム構成を示す図、第
2図はFPDDAの演算で用いる浮動小数点の数値
系のデータ・フオーマツトを示す図、第3図は本
発明の加算器の演算内容を示す図、第4図は本発
明のFPDDAの演算器シンボルを示す図、第5図
は定数加算回路を示す図、第6図は定数減算回路
を示す図、第7図は本発明の定数乗算回路を示す
図、第8図は本発明の除数が正の場合の定数除算
回路を示す図、第9図は第8図による定数除算の
一例を示す図、第10図は本発明の除数が負の場
合の定数除算回路を示す図、第11図は本発明の
演算法を組合せた代数演算回路の一例を示す図、
第12図は本発明の定数の四則演算を実行する
FPDDAの実施例の回路構成を示す図、第13図
は第7図の演算回路を実行する制御命令のビツト
構成を示す図、第14図は第8図の演算回路を実
行する制御命令のビツト構成を示す図、第15図
は第10図の演算回路を実行する制御命令のビツ
ト構成を示す図である。 1205……Yメモリ、1206……Rメモ
リ。
2図はFPDDAの演算で用いる浮動小数点の数値
系のデータ・フオーマツトを示す図、第3図は本
発明の加算器の演算内容を示す図、第4図は本発
明のFPDDAの演算器シンボルを示す図、第5図
は定数加算回路を示す図、第6図は定数減算回路
を示す図、第7図は本発明の定数乗算回路を示す
図、第8図は本発明の除数が正の場合の定数除算
回路を示す図、第9図は第8図による定数除算の
一例を示す図、第10図は本発明の除数が負の場
合の定数除算回路を示す図、第11図は本発明の
演算法を組合せた代数演算回路の一例を示す図、
第12図は本発明の定数の四則演算を実行する
FPDDAの実施例の回路構成を示す図、第13図
は第7図の演算回路を実行する制御命令のビツト
構成を示す図、第14図は第8図の演算回路を実
行する制御命令のビツト構成を示す図、第15図
は第10図の演算回路を実行する制御命令のビツ
ト構成を示す図である。 1205……Yメモリ、1206……Rメモ
リ。
Claims (1)
- 【特許請求の範囲】 1 デイジタル微分解析機の被積分関数Y、入力
変数の増分ΔY、被積分関数の積分値の残余R、
独立変数の増分ΔX、および被積分関数の積分値
の出力増分ΔZなる変数をすべて仮数部と指数部
とからなる浮動小数点形式で表現してメモリに格
納したうえで所定の演算を実行する浮動小数点方
式デイジタル微分解析機の演算方式において、i
(i:正整数)番目のイタレーシヨンにおける上
記変数の値をそれぞれYi、ΔYi、Ri、ΔXiおよび
ΔZiとし、n(n:正整数)個の入力変数の増分
のうちl番目の値をΔYi,lとして、ΔZiを求める演
算: Yi=Yi-1+o 〓l=1 ΔYi,l Ri=Ri-1+(Yi+K・o 〓l=1 ΔYi,l)・ΔXi−ΔZi(K:定数) をΔXiの大きさにかかわらずイタレーシヨンごと
に実行することを特徴とするデイジタル微分解析
機の演算方式。 2 特許請求の範囲第1項のデイジタル微分解析
機の演算方式において、デイジタルサーボのYレ
ジスタに対応する第1のメモリに第1の定数を格
納し、デイジタル微分解析機のYレジスタに対応
する第2のメモリおよび第3のメモリにそれぞれ
第2の定数および定数0を格納し、そしてデイジ
タル微分解析機のRレジスタに対応する第4のメ
モリに定数0を格納したうえで、i番目のイタレ
ーシヨンにおけるデイジタルサーボの演算で得ら
れる積分値の出力増分ΔZs iと上記第2の定数とを
それぞれ上記ΔXiとYiとみなして上記ΔZiを求め
る演算をおこなつて得られるΔZiと上記第1のメ
モリの内容とを加え合わせるかまたはΔZiから第
1のメモリの内容を差し引く演算をおこなつてそ
の結果を第1のメモリに格納するステツプと、さ
らに上記ΔZiと第1のメモリの内容とを加え合わ
せた場合には上記ΔZs iから第2のメモリの内容を
差し引く演算をおこなうかまたは上記ΔZiから第
1のメモリの内容を差し引いた場合には上記ΔZs i
と上記第3のメモリの内容とを加え合わせる演算
をおこなつてその結果を第3のメモリに格納する
ステツプとを複数のイタレーシヨンにわたり繰返
すことにより上記第1の定数を被除数とし、第2
の定数を除数とする除算の結果を上記第3のメモ
リ内に得ることを特徴とするデイジタル微分解析
機の演算方式。 3 特許請求の範囲第1項のデイジタル微分解析
機の演算方式において、デイジタル微分解析機の
Yレジスタに対応する第1のメモリ、第2のメモ
リおよび第3のメモリにそれぞれ第1の定数、第
2の定数および定数0を格納し、デイジタル微分
解析機のRレジスタに対応する第4のメモリに定
数0を格納したうえで、上記第1の定数をi番目
のイタレーシヨンにおける第1の演算: Yi=Yi-1+o 〓l=1 ΔYi,l を実行して求められるTiとみなし、該Tiの仮数部
の符号桁を含めた上位m(m:2以上の整数)桁
をΔZiの仮数部とし、且つYiの指数部をそのまま
ΔZiの指数部とする第2の演算によりΔZiを求め、
さらにYiの仮数部の上位m桁をすべて0にしてか
らYiの仮数部の絶対値が0.5以上となるように正
規化演算をYiの仮数部と指数部に施すことにより
求められたYiをつぎのイタレーシヨンにおける
ΔZiを求める上記第1および第2の演算において
使用する演算方式により求められたΔZiと上記第
2の定数とをそれぞれ、つぎの積分演算: Yi=Yi-1+o 〓l=1 ΔYi,l Ri=Ri-1+(Yi+K・o 〓l=1 ΔTi,l)・ΔXi−ΔZI i におけるΔXiとYiとみなし、該積分演算をΔXiの
大きさにかかわらずイタレーシヨン毎に実行して
積分値の出力増分ΔZI iを求めるステツプと、求め
られたΔZI iと上記第3のメモリの内容とを加え合
わせる演算をおこなつた結果を第3のメモリに格
納するステツプとを複数のイタレーシヨンにわた
り繰返すことにより上記第1の定数と第2の定数
との乗算の結果を上記第3のメモリ内に得ること
を特徴とするデイジタル微分解析機の演算方式。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56203719A JPS58106638A (ja) | 1981-12-18 | 1981-12-18 | デイジタル微分解析機の演算方式 |
| GB08235119A GB2112976B (en) | 1981-12-18 | 1982-12-09 | Floating point digital differential analyzer |
| CA000417589A CA1198220A (en) | 1981-12-18 | 1982-12-13 | Floating point digital differential analyzer |
| US06/449,662 US4563749A (en) | 1981-12-18 | 1982-12-14 | Floating point digital differential analyzer |
| DE19823246872 DE3246872A1 (de) | 1981-12-18 | 1982-12-17 | Digitaler gleitkomma-differentialanalysator |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP56203719A JPS58106638A (ja) | 1981-12-18 | 1981-12-18 | デイジタル微分解析機の演算方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58106638A JPS58106638A (ja) | 1983-06-25 |
| JPH0325809B2 true JPH0325809B2 (ja) | 1991-04-09 |
Family
ID=16478708
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP56203719A Granted JPS58106638A (ja) | 1981-12-18 | 1981-12-18 | デイジタル微分解析機の演算方式 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4563749A (ja) |
| JP (1) | JPS58106638A (ja) |
| CA (1) | CA1198220A (ja) |
| DE (1) | DE3246872A1 (ja) |
| GB (1) | GB2112976B (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4416640A1 (de) * | 1994-05-11 | 1995-11-16 | A I D Autoimmun Diagnostika Gm | Objektträger für die mikroskopische Diagnose aus Kunststoffmaterial, Herstellungsverfahren und Verwendung |
| JP3260630B2 (ja) * | 1996-07-31 | 2002-02-25 | エヌイーシーマイクロシステム株式会社 | 定数除算器及び定数除算方法 |
| RU2160922C1 (ru) * | 1999-09-28 | 2000-12-20 | Ростовский военный институт ракетных войск | Устройство n-кратного дифференцирования |
| RU2187837C2 (ru) * | 2000-07-07 | 2002-08-20 | Ермаков Владимир Филиппович | Устройство для многократного дифференцирования (его варианты) |
| RU2242791C2 (ru) * | 2003-03-13 | 2004-12-20 | Григорьев Владимир Григорьевич | Способ численного решения системы дифференциальных уравнений |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3598974A (en) * | 1967-09-15 | 1971-08-10 | Sperry Rand Corp | Programmable digital differential analyzer integrator |
| US3590231A (en) * | 1969-04-28 | 1971-06-29 | Us Navy | Digital signal generator using digital differential analyzer techniques |
| US3748440A (en) * | 1969-11-20 | 1973-07-24 | Hughes Aircraft Co | Ballistic trajectory computer |
| JPS5842890B2 (ja) * | 1976-03-24 | 1983-09-22 | 株式会社日立製作所 | デイジタル微分解析機 |
| JPS5556252A (en) * | 1978-10-20 | 1980-04-24 | Hitachi Ltd | Digital differential analyzer |
| JPS6022371B2 (ja) * | 1980-08-18 | 1985-06-01 | 株式会社日立製作所 | ディジタル微分解析機 |
| US4365309A (en) * | 1980-10-03 | 1982-12-21 | Hitachi, Ltd. | Digital differential analyzing processor |
| JPS57120157A (en) * | 1981-01-16 | 1982-07-27 | Hitachi Ltd | Method and device for generation of waste time |
-
1981
- 1981-12-18 JP JP56203719A patent/JPS58106638A/ja active Granted
-
1982
- 1982-12-09 GB GB08235119A patent/GB2112976B/en not_active Expired
- 1982-12-13 CA CA000417589A patent/CA1198220A/en not_active Expired
- 1982-12-14 US US06/449,662 patent/US4563749A/en not_active Expired - Lifetime
- 1982-12-17 DE DE19823246872 patent/DE3246872A1/de active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| CA1198220A (en) | 1985-12-17 |
| DE3246872C2 (ja) | 1988-02-11 |
| GB2112976B (en) | 1985-07-24 |
| GB2112976A (en) | 1983-07-27 |
| DE3246872A1 (de) | 1983-07-07 |
| JPS58106638A (ja) | 1983-06-25 |
| US4563749A (en) | 1986-01-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US3828175A (en) | Method and apparatus for division employing table-lookup and functional iteration | |
| US6295597B1 (en) | Apparatus and method for improved vector processing to support extended-length integer arithmetic | |
| US5184318A (en) | Rectangular array signed digit multiplier | |
| US5144576A (en) | Signed digit multiplier | |
| US4956799A (en) | Trigonometric function arithmetic processor using pseudo-division | |
| JPS648856B2 (ja) | ||
| JP2504102B2 (ja) | 逆三角関数演算装置 | |
| JP2822399B2 (ja) | 対数関数演算装置 | |
| JP2508784B2 (ja) | 指数関数演算装置 | |
| JPH0325809B2 (ja) | ||
| JPH035093B2 (ja) | ||
| JPS6027024A (ja) | 演算装置 | |
| JPS6120134A (ja) | 平方根計算装置 | |
| JP2972326B2 (ja) | 平方根計算装置 | |
| JP2508286B2 (ja) | 平方根演算装置 | |
| JP3251071B2 (ja) | 除算/開平演算方法と演算装置 | |
| JPH06105421B2 (ja) | 逆三角関数演算装置 | |
| JPS61201328A (ja) | 除算方式 | |
| JPH0445860B2 (ja) | ||
| JPS61251962A (ja) | マトリクス乗算器 | |
| JPS58106639A (ja) | デイジタル微分解析機の演算方式 | |
| JP2837415B2 (ja) | 乗除算開平算装置 | |
| JPH04314126A (ja) | 逆数発生装置 | |
| RU1784975C (ru) | Интегроарифметическое устройство | |
| JPS61201327A (ja) | 除算装置 |