JPH0782431B2 - 浮動小数点演算処理装置 - Google Patents

浮動小数点演算処理装置

Info

Publication number
JPH0782431B2
JPH0782431B2 JP16536587A JP16536587A JPH0782431B2 JP H0782431 B2 JPH0782431 B2 JP H0782431B2 JP 16536587 A JP16536587 A JP 16536587A JP 16536587 A JP16536587 A JP 16536587A JP H0782431 B2 JPH0782431 B2 JP H0782431B2
Authority
JP
Japan
Prior art keywords
value
table memory
function
arithmetic processing
floating
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
JP16536587A
Other languages
English (en)
Other versions
JPS6410327A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16536587A priority Critical patent/JPH0782431B2/ja
Publication of JPS6410327A publication Critical patent/JPS6410327A/ja
Publication of JPH0782431B2 publication Critical patent/JPH0782431B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、数値演算処理装置に係り、特に関数演算処理
に好的な浮動小数点演算処理装置に関する。
〔従来の技術〕
従来の浮動小数点演算処理装置は、文献「日経エレクト
ロニクス1986.7.14(No.399)」のp171〜178に記載のご
とく、関数演算の為の必要な定数値を有するデータ用RO
Mを、マイクロシーケンサがそのアドレス入力値を制御
線により直接指令する形式で保持し、構成されていた。
また、実際の関数演算は、同文献p179〜p185に示されて
いる様に、関数演算用収束式、又はチヨビシエフ級数展
開等の級数展開による近似式が使用されている。上記デ
ータ用ROMは、上記収束式又は、近似求解用級数の固定
された定数値を与える定数ROMである。
〔発明が解決しようとする問題点〕
上記従来技術は、マイクロシーケンサが直接アドレスを
指命する方式の定数ROMしか有しておらず、したがつ
て、関数に対応して与える定数値は一定であり関数の引
数Xに対応して最適な定数値を選択することはできな
い。ゆえに、関数の計算は、収束式の反復実行か又は、
定数ROM内の固定された係数値を利用した級数展開によ
る近似求解によつていた。
上記方式によれば、関数を十分な精度で求解するために
必要な基本演算、すなわち、加減算及び乗算はかなりの
演算回数を必要とし、基本演算の実行時間に対して、関
数演算の実行時間が非常に大きくなるという問題があ
る。たとえば、機構系の運動制御に代表される様な座標
変換等の関数演算を多用する用途では、加減算,乗算の
負荷よりも関数演算の負荷の方がはるかに大きくなる傾
向にあり、サンプリングレートを高速化する場合のネツ
クとなつている。
本発明の目的は、マクロ命令として関数f(X)の演算
を、基本演算数回で実行することができる高速な関数演
算処理機能を有した浮動小数点演算処理装置を提供する
ことにある。
〔問題点を解決するための手段〕
上記目的は、求める関数f(X)の引数Xの近傍値を
X′としたとき、f(X)をX′のみで表現される係数
関数an(X′)を各項の係数として持つ関数f(X)の (例えばテーラー展開を変形し、整理する)で表現し、
X′によりインデツクス可能なan(X′)の値を収納し
たテーブルメモリを用意して、それによりan(X′)の
値を直接得てf(X)の近似解 を求め、求解に必要となる基本演算の回数を大幅に減少
させることによつて達成される。
〔作用〕
上記テーブルメモリを演算実行ユニツトと独立した制御
線によりマイクロシーケンサが操作できる様に構成して
いるため、テーブルを引く操作を基本演算の実行と並行
して行うことができ、テーブルを引き必要なan(X′)
を得るまでの無駄待つ時間を実質的に減少させ、関数演
算の実行時間を短縮することができる。
さらに、各項の係数a0(X′),a1(X′),a
2(X′),…,am(X′)のうち演算中に同時刻に必要
となる係数関数を独立なテーブルメモリに格納してお
き、マイクロシーケンサが独立した制御線によつて並列
制御することで、必要な係数関数を同時に引くことによ
り実行時間の短縮を図ることができる。
と表わし、an(X′)をテーブルメモリにてテーブル化
することにより、例えば、f(X)≒a0(X′)+a
1(X′)・Xと表現可能な十分な分解能を有したX′
にてインデツクスできるa0(X′)及びa1(X′)をテ
ーブルメモリ内に持つた場合を考えると、1回の乗算と
1回の加算にて処理を完了し、f(X)を求めることが
可能となる。反復法による場合又は固定した係数を有す
る級数展開による方法では、数十回基本演算を必要とす
る。
また、演算実行ユニツトと、テーブルメモリを独立に操
作可能な様に構成すると、a1(X′)・Xの演算を実行
中に、並行してa0(X′)をテーブル・メモリから引い
ておくことができる。したがつて、実行ユニツトは、待
ち時間無く次の演算を直ちに始めることが可能となり、
演算時間を短縮できる。
実行ユニツトの基本演算時間が非常に短い場合、低速の
テーブルメモリを用いると、テーブルを引く操作の為の
オーバーヘツド時間が問題となり、実行ユニツトが待た
されることがある。この場合、例えば、a1(X′),a0
(X′)を別のテーブルメモリに格納しておき、並列に
引ける様に構成しておけば、次の演算処理を直ちに開始
することができ、演算実行時間を短縮することができ
る。
〔実施例〕
以下、本発明の一実施例を第1図〜第2図により説明す
る。
第1図は、本発明の浮動小数点演算処理装置の基本構成
を示している。加減算及び乗算等の基本演算を実行する
実行ユニツト1,水平マイクロコードにより各ユニツトの
制御及び演算シーケンスの制御を行うマイクロシーケン
サ2(この中にクイクロコード用メモリも含む)、求め
る関数f(X)をXの近傍値X′の関数として表現した
ときの一次近似における係数関数a0(X′)を格納する
テーブルメモリ3及びa1(X)を格納するテーブルメモ
リ4、テーブルメモリへX′に対したアドレス情報を与
えるテーブルアドレスレジスタ5,6、演算用データをや
りとりするための内部データバス7、演算用のデータや
結果データを格納するレジスタフアイル8及び演算に必
要な定数を格納する定数メモリ9とから成る。マイクロ
シーケンサは、制御線l1〜l7により、演算実行ユニツト
1、テーブルメモリ3,4、テーブルアドレスレジスタ5,
6、レジスタフアイル8等、定数メモリ9等を並行制御
することができる。
例えば、SIN(X)関数を求めることを考える。
f(X)をテーラー展開すると、 とできる。ここでこれを と表わし、1次近似すれば、 f(X)≒a0(X′)+a1(X′)・X すなわち、上記テーラー展開から、 f(X)≒f(X′)+f′(X′)・(X−X′) =(f(X′)−f′(X′)・X′)+f′(X′)
・X これより、 a0(X′)=f(X′)−f′(X′)・X′ a1(X′)=f′(X′)となる。
f(X)=SIN(X)ゆえ、f(X′)=SIN (X′),f′(X′)=COS(X′) したがって、 a0(X′)=SIN(X′)−COS(X′)・X′ a1(X′)=COS(X′) となり、a0(X′)をテーブルメモリ3に格納し、a
1(X′)をテーブルメモリ4に格納しておく。
このとき、テーブル・アドレス・レジスタ5及び6は、
Xをこのレジスタにロードした段階で、Xにテーブルの
分解最小単位βの逆数を掛け、整数化した値XXを与える
様にハードウエア上で構成するか、又は、演算実行ユニ
ツトでこの演算を時前に実行してからテーブル・アドレ
ス・レジスタ5及び6にNXをロードする様にする。本例
では、後者によつてNX算出することにする。この場合、
NXを求める演算は次の様になる。
は定数ゆえ定数メモリ9により求める。このとき近傍値
X′は、 X′=NX・β となる。テーブルメモリ3,4のアドレスとしてNXをテー
ブル・アドレス・レジスタ5,6にロードし、テーブルメ
モリ3,4のアドレスの一部としてテーブルメモリ3,4のア
ドレス入力にマイクロシーケンサからの制御線l3,l4
指令により入力する。テーブルメモリ3,4のNXに対する
出力値をそれぞれTROM3(NX),TROM4(NX)とすると、
それが近傍値X′に対応する係数値a0(X′),a
1(X′)を出力する様に、テーブルメモリ3及び4の
内容を決めておく。すなわち、 TROM3(NX)=a0(X′)=SIN(X′)−COS(X′)
・X′ TROM4(NX)=a1(X′)=COS(X′) 以上によりf(X)=SIN(X)は、実際の演算では、 f(X)≒TROM3(NX)+TROM4(NX)・X と近似演算し、求めることができる。テーブルの最小分
解単位βは、上記の近似式が十分な精度を与える様に、
十分小さな値を選ぶ。もし、テーブルメモリの容量が不
足する場合は、2次近似以上を選び上記と同様にすれば
テーブルメモリの容量を少なくすることができる。
第2図に、本例の実際のSIN(X)を求める演算フロー
を示す。フローは上位から下位に向けて処理が進行す
る。各ユニツトの実行状態を斜線で示している。定数メ
モリ及びa1(X′)を格納している係数用テーブルメモ
リ4(TROM4)は、高速のROMを使用し、2クロツクでア
クセスできるものを使用している。a0(X′)を格納し
ている係数用テーブルメモリ3(TROM3)は、低速ROMを
使用し、5クロツクでアクセスできる。横方向の矢印は
データの流れを示している。レジスタフアイル8とのデ
ータのやりとりは1クロツクで可能であり、加減算及び
乗算等の基本演算は2クロツクで実行できるとする。な
お、右側にはクロツクピリオドを記載した。
処理の流れを演算実行ユニツト1を中心にして追つてみ
る。まず、クロツクピリオド0で定数メモリ9より1/β
を引く操作を開始し、同時にレジスタフアイル8よりX
の値を呼び出し、クロツクピリオド1で演算実行ユニツ
ト1へロードする。続いて、クロツクピリオド2で定数
メモリ9からの値、すなわち1/βが確定するので、それ
を演算実行ユニツト1にロードする。演算実行ユニツト
1で (図中)を演算し、クロツクピリオド4でテーブルア
ドレスレジスタ5,6に出力し、クロツクピリオド5でラ
ツチする。クロツクピリオド6で、もう一度レジスタフ
アイル8よりX値をロードし、ついで、テーブルメモリ
4の出力値a1(X′)が確定するのでクロツクピリオド
7で演算実行ユニツト1にロードして、a1(X′)・X
(図中)の演算を開始する。次に、低速テーブルメモ
リ3の出力値a0(X)がクロツクピリオド10で確定する
ため、これを演算実行ユニツト1内にロードし、a
1(X′)・Xの演算結果とa0(X′)を加算(図中
)して、クロツクピリオド13で最終の関数演算結果SI
N(X)をレジスタフアイル8に戻す。
演算実行ユニツト1テーブルメモリ3,4及び、定数メモ
リ9を並列に運転できるため、演算実行ユニツト1を連
続的に動作させることが可能であり、演算時間を短縮す
ることがきている。また、本例の場合、基本演算3回で
SIN(X)関数が求まつており、並列処理により演算時
間短縮効果と合まつて、大幅な演算時間の短縮が可能と
なつている。
また、2次近似式上の近似解を用いる場合、例えば2次
近似を例にとれば、 f(X)≒a0(X′)+(a1(X′)+a2(X′)・
X)・X と変形し、a0(X′),a1(X′),a2(X′)をテーブ
ルメモリに格納しておいて、カツコ内から演算して行け
ば、1次近似の例で説明した処理フローの繰り返しで処
理を進めていくことができる。この時、演算回路は常に
最少で済むこになる。
〔発明の効果〕
本発明によれば、関数f(X)をXの近傍値X′のみの
関数として表現できる係数関数an(X′)を用いること
により と近似して表わし、an(X′)をテーブルメモリに格納
しておいて基本演算数回で を求める方式を採ることによつて、関数f(X)を求め
るために必要な基本演算回数を最少化することが可能で
あり、高速な関数演算処理機能を有した浮動小数点演算
処理装置を提供することができる。
また、テーブルメモリからan(X′)を引く操作を演算
実行ユニツトの動作と並行して行つたり、an(X′)の
うち必要な複数の係数関数を別の独立したテーブルメモ
リに格納しておき、テーブルを引く操作自体を並列化す
ることにより、テーブル処理の為のオーバーヘツドを小
さくすることができ、関数演算処理速度をさらに高速化
することができる。
【図面の簡単な説明】
第1図は本発明のハードウエアブロツク図、第2図は本
発明による代表的な関数演算処理フローを示す図であ
る。 1……演算実行ユニツト、2……マイクロシーケンサ、
3……テーブルメモリ(TROM3)、4……テーブルメモ
リ(TROM4)、5……テーブルアドレスレジスタ、6…
…テーブルアドレスレジスタ、7……内部データバス、
8……レジスタフアイル、9……定数メモリ。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】加減乗算等の基本演算を実行する演算実行
    ユニットと、計算対象の関数f(X)を引数Xとその近
    傍値X′とで多項式展開した近似式 の各係数項an(X′)の値をそれぞれ異なる複数の近傍
    値X′に対応させて格納してあるテーブルメモリと、 それらの各装置の制御及び演算の制御を行うマイクロシ
    ーケンサとを備え、 前記マイクロシーケンサは前記計算対象の関数f(X)
    に対応して予め設定された手順に基づいて前記演算実行
    ユニットを駆動するとともに、与えられたXに近い近傍
    値X′で前記テーブルメモリをインデックス参照してan
    (X′)の値を得、これらにより関数f(X)の値を求
    めることを特徴とする浮動小数点演算処理装置。
  2. 【請求項2】特許請求の範囲第1項記載の浮動小数点演
    算処理装置において、前記マイクロシーケンサは前記演
    算実行ユニットと前記テーブルメモリに対し各々独立し
    た制御線で連絡し、これらを独立して制御する構成にし
    たことを特徴とする浮動小数点演算処理装置。
  3. 【請求項3】特許請求の範囲第1項記載の浮動小数点演
    算処理装置において、前記テーブルメモリは複数個に分
    割されており、前記マイクロシーケンサは各テーブルメ
    モリに対し各々独立した制御線で連絡し、これらを独立
    して制御する構成にしたことを特徴とする浮動小数点演
    算処理装置。
JP16536587A 1987-07-03 1987-07-03 浮動小数点演算処理装置 Expired - Fee Related JPH0782431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16536587A JPH0782431B2 (ja) 1987-07-03 1987-07-03 浮動小数点演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16536587A JPH0782431B2 (ja) 1987-07-03 1987-07-03 浮動小数点演算処理装置

Publications (2)

Publication Number Publication Date
JPS6410327A JPS6410327A (en) 1989-01-13
JPH0782431B2 true JPH0782431B2 (ja) 1995-09-06

Family

ID=15810983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16536587A Expired - Fee Related JPH0782431B2 (ja) 1987-07-03 1987-07-03 浮動小数点演算処理装置

Country Status (1)

Country Link
JP (1) JPH0782431B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754452A (en) * 1996-07-29 1998-05-19 Pupalaikis; Peter J. Method and apparatus for increasing update rates in measurement instruments

Also Published As

Publication number Publication date
JPS6410327A (en) 1989-01-13

Similar Documents

Publication Publication Date Title
EP0099262B1 (en) Method of transforming high level language statements into multiple lower level language instruction sets
JPH0444970B2 (ja)
JPH0412503B2 (ja)
KR102349138B1 (ko) 사전 프로그래밍 된 함수를 갖는 고속 컴퓨터 가속기
JPH0782431B2 (ja) 浮動小数点演算処理装置
JP2518293B2 (ja) デ−タフロ−プロセツサ
KR940006916B1 (ko) 선택적 캐쉬 메모리를 가진 마이크로프로세서
US5586337A (en) Programmable controller with timing control
US4870608A (en) Method and apparatus for floating point operation
US4365309A (en) Digital differential analyzing processor
JP3289685B2 (ja) ベクトル演算方法
JPS58158745A (ja) パイプライン制御形情報処理装置
JP2749058B2 (ja) データ駆動型制御方法
JP2819661B2 (ja) 離散コサイン変換・スカラ量子化変換回路
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JPS60262277A (ja) 画像処理プロセツサ
JPH0782452B2 (ja) 演算処理装置
JPS6148737B2 (ja)
JPS6115453B2 (ja)
JPH02214938A (ja) データ処理装置
JPH04503125A (ja) モジュールブラックボートベースエキスパートシステム
JPS60178539A (ja) 情報処理装置におけるバイパス制御方式
JPH0248770A (ja) 情報処理装置
JPH05204633A (ja) データ処理装置及びこれを備えた共有記憶データ処理装 置
JPS6211970A (ja) アドレス発生回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees