JPH01137329A - 演算回路 - Google Patents
演算回路Info
- Publication number
- JPH01137329A JPH01137329A JP62296667A JP29666787A JPH01137329A JP H01137329 A JPH01137329 A JP H01137329A JP 62296667 A JP62296667 A JP 62296667A JP 29666787 A JP29666787 A JP 29666787A JP H01137329 A JPH01137329 A JP H01137329A
- Authority
- JP
- Japan
- Prior art keywords
- denominator
- numerator
- calculation
- arithmetic
- multiplier
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 62
- 230000009467 reduction Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 11
- 238000006467 substitution reaction Methods 0.000 claims 1
- 239000003638 chemical reducing agent Substances 0.000 abstract description 17
- 230000008859 change Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000002940 Newton-Raphson method Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔目 次〕
概要
産業上の利用分野
従来の技術
発明が解決しようとする問題点
問題点を解決するための手段
作用
実施例
(1)本発明の第1実施例 (第1.2図)(2)本
発明の第2実施例 (第3図)発明の効果 〔概 要〕 演算回路に関し、 無理数を含む実数の演算を簡単にかつ正確に演算し、表
現することのできる演算回路を提供することを目的とし
、 分数の形式で与えられ、演算対象となる2つの実数につ
いて、各分母、分子をそれぞれに分けて一時記憶する第
1の記憶手段と、演算が乗除算であるとき第1の記憶手
段の内容をそのまま出力し、演算が加減算であるとき通
分のために各分母の最小公倍数を求め、該最小公倍数を
新たな通分分母として置き換えるとともに、該通分分母
に対する各分子の通分演算を行い通分分子を求める通分
手段と、演算が除算であるとき、第2の分数の分母、分
子を逆に置き換える置換手段と、2値の加減乗算を求め
る第1の演算手段と、2値の乗算を求める第2の演算手
段と、分数演算の演算結果を求め、演算後の新たな分母
、分子からこれらに共通する因数を用いて約分する約分
手段と、約分された新たな分数について分母、分子に分
ける選択手段と、選択手段により分けられた分数演算後
の分母、分子を一時記憶する第2の記憶手段と、分数演
算の演算種類に基づいて前記各回路の作動を制御する制
御手段と、を備えるよ、うに構成する。
発明の第2実施例 (第3図)発明の効果 〔概 要〕 演算回路に関し、 無理数を含む実数の演算を簡単にかつ正確に演算し、表
現することのできる演算回路を提供することを目的とし
、 分数の形式で与えられ、演算対象となる2つの実数につ
いて、各分母、分子をそれぞれに分けて一時記憶する第
1の記憶手段と、演算が乗除算であるとき第1の記憶手
段の内容をそのまま出力し、演算が加減算であるとき通
分のために各分母の最小公倍数を求め、該最小公倍数を
新たな通分分母として置き換えるとともに、該通分分母
に対する各分子の通分演算を行い通分分子を求める通分
手段と、演算が除算であるとき、第2の分数の分母、分
子を逆に置き換える置換手段と、2値の加減乗算を求め
る第1の演算手段と、2値の乗算を求める第2の演算手
段と、分数演算の演算結果を求め、演算後の新たな分母
、分子からこれらに共通する因数を用いて約分する約分
手段と、約分された新たな分数について分母、分子に分
ける選択手段と、選択手段により分けられた分数演算後
の分母、分子を一時記憶する第2の記憶手段と、分数演
算の演算種類に基づいて前記各回路の作動を制御する制
御手段と、を備えるよ、うに構成する。
本発明は、演算回路に係り、詳しくはマイクロプロセッ
サ等の計算機での演算に際して実数値を2つの整数(分
母、分子)に分けて記憶し、表現する演算回路に関する
。
サ等の計算機での演算に際して実数値を2つの整数(分
母、分子)に分けて記憶し、表現する演算回路に関する
。
一般に、マイクロプロセッサは、DIRにパッケージさ
れた一つのチップを意味しており、その中には中央処理
装置(CP U)の全部が含まれる。
れた一つのチップを意味しており、その中には中央処理
装置(CP U)の全部が含まれる。
その他にCPUの周辺には非常に多くの情報の一時記憶
部分と記憶の伝達部分とが含まれている。
部分と記憶の伝達部分とが含まれている。
このようなマイクロプロセッサによる演算では、いわゆ
る2進数に基づいた演算を行っており、これをlO進数
に変換するに当たり実際の生活上の実数に対応させてい
る。また、実際上マイクロプロセッサ内部では整数値し
か取り扱われておらず、小数部を有する数値を取り扱う
場合は、特殊な表現を用いている。
る2進数に基づいた演算を行っており、これをlO進数
に変換するに当たり実際の生活上の実数に対応させてい
る。また、実際上マイクロプロセッサ内部では整数値し
か取り扱われておらず、小数部を有する数値を取り扱う
場合は、特殊な表現を用いている。
マイクロプロセッサ内での数値演算に対して固定小数点
演算は通常整数のみを扱うことが多く、科学技術計算に
用いる場合、実数を表わす別の表記法が必要となる。こ
のような理由で仮数と指数という2つの数を組み合わせ
た浮動少数意表記法が考案されている。すなわち、実数
の計算を固定小数点演算だけで行う場合、小数点の位置
を合わせたり、実現可能な数値範囲を超えないようにス
ケーリングしたりしてプログラムが大変になる。
演算は通常整数のみを扱うことが多く、科学技術計算に
用いる場合、実数を表わす別の表記法が必要となる。こ
のような理由で仮数と指数という2つの数を組み合わせ
た浮動少数意表記法が考案されている。すなわち、実数
の計算を固定小数点演算だけで行う場合、小数点の位置
を合わせたり、実現可能な数値範囲を超えないようにス
ケーリングしたりしてプログラムが大変になる。
これを解決するのが、小数点の位置を自動的に調整して
表現可能な数値範囲に値を収める浮動小数点演算である
。
表現可能な数値範囲に値を収める浮動小数点演算である
。
ここで、浮動小数点の数値はn=m×2″の形式で表さ
れる。なお、mは係数、eは指数と呼ばれている。マイ
クロプロセッサでは、語長やチップ上に載せうる論理の
制限などから浮動小数点演算を行えるものは作られてお
らず、したがって、サブルーチンとして用意されている
浮動小数点演算ソフトウェアを使用するか、浮動小数点
演算を行うコブロセフサを使用して実数の計算を行って
いる。
れる。なお、mは係数、eは指数と呼ばれている。マイ
クロプロセッサでは、語長やチップ上に載せうる論理の
制限などから浮動小数点演算を行えるものは作られてお
らず、したがって、サブルーチンとして用意されている
浮動小数点演算ソフトウェアを使用するか、浮動小数点
演算を行うコブロセフサを使用して実数の計算を行って
いる。
しかしながら、このような従来の演算回路にあっては、
浮動小数点法を用いるにしても整数値しか取り扱ってお
らず、したがって小数部を有する数値を扱う場合には扱
う数値に制限があるか、あるいは上述したように非常に
特殊な形式によりその演算を行っていた。ところが、実
際に使用する数値は実数であり、上記のような演算方法
では実数を全く用いることができないか、あるいはでき
たとしても正確な値を表現しようとした場合に無成長の
数値を扱わなければならず、例えば、無理数などは扱う
のが困難である。
浮動小数点法を用いるにしても整数値しか取り扱ってお
らず、したがって小数部を有する数値を扱う場合には扱
う数値に制限があるか、あるいは上述したように非常に
特殊な形式によりその演算を行っていた。ところが、実
際に使用する数値は実数であり、上記のような演算方法
では実数を全く用いることができないか、あるいはでき
たとしても正確な値を表現しようとした場合に無成長の
数値を扱わなければならず、例えば、無理数などは扱う
のが困難である。
また、従来の演算方法では、特殊な形式を用いており、
演算が複雑で、かつ演算の処理速度も高速化が望めなか
った。例えば、複雑な演算を必要とする除算の例を考え
てみると、次のようになる。
演算が複雑で、かつ演算の処理速度も高速化が望めなか
った。例えば、複雑な演算を必要とする除算の例を考え
てみると、次のようになる。
すなわち、除算の対象が小数部を有する数値の場合、引
き放し法、Newt on−Raphs on法等を用
いて除算が行われる。ところが引き出し法の場合演算回
数が多く、一方、Newton−Raphson法の場
合演算結果の精度に問題があった。
き放し法、Newt on−Raphs on法等を用
いて除算が行われる。ところが引き出し法の場合演算回
数が多く、一方、Newton−Raphson法の場
合演算結果の精度に問題があった。
そこで本発明は、マイクロプロセッサ等の計算機の演算
に際して1つの数値を2つの数値(分子、分母)を用い
て表すことにより、無理数を含む実数の演算を簡単にか
つ正確に演算し、表現することのできる演算回路を提供
することを目的としている。
に際して1つの数値を2つの数値(分子、分母)を用い
て表すことにより、無理数を含む実数の演算を簡単にか
つ正確に演算し、表現することのできる演算回路を提供
することを目的としている。
本発明による演算回路は上記目的達成のため、分数の形
式で与えられ、演算対象となる2つの実数について、各
分母、分子をそれぞれに分けて一時記憶する第1の記憶
手段と、演算が乗除算であるとき第1の記憶手段の内容
をそのまま出力し、演算が加減算であるとき通分のため
に各分母の最小公倍数を求め、該最小公倍数を新たな通
分分母として置き換えるとともに、該通分分母に対する
各分子の通分演算を行い通分分子を求める通分手段と、
演算が除算であるとき、第2の分数の分母、分子を逆に
置き換える置換手段と、2値の加減乗算を求める第1の
演算手段と、2値の乗算を求める第2の演算手段と、分
数演算の演算結果を求め、演算後の新たな分母、分子か
らこれらに共通する因数を用いて約分する約分手段と、
約分された新たな分数について分母、分子に分ける選択
手段と、選択手段により分けられた分数演算後の分母、
分子を一時記憶する第2の記憶手段と、分数演算の演算
種類に基づいて前記各回路の作動を制御する制御手段と
、を備えている。
式で与えられ、演算対象となる2つの実数について、各
分母、分子をそれぞれに分けて一時記憶する第1の記憶
手段と、演算が乗除算であるとき第1の記憶手段の内容
をそのまま出力し、演算が加減算であるとき通分のため
に各分母の最小公倍数を求め、該最小公倍数を新たな通
分分母として置き換えるとともに、該通分分母に対する
各分子の通分演算を行い通分分子を求める通分手段と、
演算が除算であるとき、第2の分数の分母、分子を逆に
置き換える置換手段と、2値の加減乗算を求める第1の
演算手段と、2値の乗算を求める第2の演算手段と、分
数演算の演算結果を求め、演算後の新たな分母、分子か
らこれらに共通する因数を用いて約分する約分手段と、
約分された新たな分数について分母、分子に分ける選択
手段と、選択手段により分けられた分数演算後の分母、
分子を一時記憶する第2の記憶手段と、分数演算の演算
種類に基づいて前記各回路の作動を制御する制御手段と
、を備えている。
本発明では、分数の形式で与えられ演算対象となる2つ
の実数について、各分母、分子がそれぞれ一時記憶され
た後、各分母、分子について必要な演算が行われ最終的
に演算の数値が分母、分子の形で記憶される。すなわち
、演算が乗算であるとき各分母、分子を乗算して乗算後
の分母、分子がそのまま記憶され、演算が除算であると
き第2の分数の分母、分子が逆に置き換えられて第1の
分数に対して前記乗算演算と同様の処理が行われ、さら
に演算が加減算であるとき各分母の最小公倍数が求めら
れて該最小公倍数が新たな分母に置き換えられるととも
に、分子については該最小公倍数の変化に追随して各分
子同士が通分され、その通分分子の加減算が行われ演算
後の分母、分子がそれぞれ別々に記憶される。
の実数について、各分母、分子がそれぞれ一時記憶され
た後、各分母、分子について必要な演算が行われ最終的
に演算の数値が分母、分子の形で記憶される。すなわち
、演算が乗算であるとき各分母、分子を乗算して乗算後
の分母、分子がそのまま記憶され、演算が除算であると
き第2の分数の分母、分子が逆に置き換えられて第1の
分数に対して前記乗算演算と同様の処理が行われ、さら
に演算が加減算であるとき各分母の最小公倍数が求めら
れて該最小公倍数が新たな分母に置き換えられるととも
に、分子については該最小公倍数の変化に追随して各分
子同士が通分され、その通分分子の加減算が行われ演算
後の分母、分子がそれぞれ別々に記憶される。
したがって、無理数を含むような演算であっても簡単な
構成で、かつ正確にその演算を行い表現することができ
る。
構成で、かつ正確にその演算を行い表現することができ
る。
以下、本発明を図面に基づいて説明する。
第1.2図は本発明に係る演算回路の第1実施例を示す
図である。第1図は演算回路をマイクロプロセッサを用
いて実現した例の全体的構成を示す図である。第1図に
おいて、演算回路はレジスタ1〜4、セレクタ5〜8、
約分器9、通分器10、加減乗算器11、乗算器12お
よび制御回路13により構成される。レジスタ1〜4は
情報を一時的に記憶する回路であり、外部から演算対象
となる数値が与えられたり、外部に払い出したりするよ
うになっている。なお、本実施例ではレジスタ1〜4が
第1の記憶手段および第2の記憶手段としての機能を有
する。また、本実施例では、演算の実例を示してわかり
やすくするため、レジスタ1〜4にそれぞれx、y、z
、tなる数値(但し、小数点を持たない整数)が与えら
れる。
図である。第1図は演算回路をマイクロプロセッサを用
いて実現した例の全体的構成を示す図である。第1図に
おいて、演算回路はレジスタ1〜4、セレクタ5〜8、
約分器9、通分器10、加減乗算器11、乗算器12お
よび制御回路13により構成される。レジスタ1〜4は
情報を一時的に記憶する回路であり、外部から演算対象
となる数値が与えられたり、外部に払い出したりするよ
うになっている。なお、本実施例ではレジスタ1〜4が
第1の記憶手段および第2の記憶手段としての機能を有
する。また、本実施例では、演算の実例を示してわかり
やすくするため、レジスタ1〜4にそれぞれx、y、z
、tなる数値(但し、小数点を持たない整数)が与えら
れる。
通分器(通分手段)10は分数の形で与えられた2つの
数値の分母側について通分を行ったり、あるいは2つの
数値の通過をそのまま許容したりするもので、詳細には
第2図に示すように最小公倍数演算器21、乗算器22
.23およびセレクタ24.25.26により構成され
る。最小公倍数演算器21は分数の形で与えられた2つ
の数値について通分を行うため、各分母について最小公
倍数を求め、その結果を乗算器22.23およびセレク
タ24に出力する。
数値の分母側について通分を行ったり、あるいは2つの
数値の通過をそのまま許容したりするもので、詳細には
第2図に示すように最小公倍数演算器21、乗算器22
.23およびセレクタ24.25.26により構成され
る。最小公倍数演算器21は分数の形で与えられた2つ
の数値について通分を行うため、各分母について最小公
倍数を求め、その結果を乗算器22.23およびセレク
タ24に出力する。
乗算器22は与えられた2つの数値のうち分母が上記最
小公倍数へ変化するとき一方の分子の変化を考慮して分
子側の変化を演算するもので、同様に乗算器23は他方
の分子側の変化を演算する。
小公倍数へ変化するとき一方の分子の変化を考慮して分
子側の変化を演算するもので、同様に乗算器23は他方
の分子側の変化を演算する。
例えば、2つの数値が
t
という形で与えられて、分数の加算を行うとき、yとt
は分母、Xと2は分子である。
は分母、Xと2は分子である。
最小公倍数演算器21はyとtについて最小公倍数(y
−t)’を求める。このとき、yあるいはtが変化する
とすれば、その変化をt′あるいはy′で表す。したが
って、乗算器22の出力はX・t′となって第1番目の
数値(x/y)について分子側の変化を表すものとなる
。一方、乗算器23の出力はz 、 y /となって第
2番目の数値(z/l)について分子側の変化を表すも
のとなる。セレクタ24はtまたは最小公倍数(y−t
)’を択一的に出力する。セレクタ25は2又は乗算器
23の出力、即ちz−y′を、セレクタ26はX又は乗
算器22の出力、即ちx−t’を択一的に出力する。
−t)’を求める。このとき、yあるいはtが変化する
とすれば、その変化をt′あるいはy′で表す。したが
って、乗算器22の出力はX・t′となって第1番目の
数値(x/y)について分子側の変化を表すものとなる
。一方、乗算器23の出力はz 、 y /となって第
2番目の数値(z/l)について分子側の変化を表すも
のとなる。セレクタ24はtまたは最小公倍数(y−t
)’を択一的に出力する。セレクタ25は2又は乗算器
23の出力、即ちz−y′を、セレクタ26はX又は乗
算器22の出力、即ちx−t’を択一的に出力する。
なお、セレクタ24.25.26の切換制御は制御回路
13からの命令に基づいて行われる。したがって、上記
0式について通分すると、 y t (yt)’ ・・・・・・■ となり、これらの各位をセレクタ24〜26から出力す
る。但し、実際上の0式に基づく分数加算は加減乗算器
11を用いて行われる。
13からの命令に基づいて行われる。したがって、上記
0式について通分すると、 y t (yt)’ ・・・・・・■ となり、これらの各位をセレクタ24〜26から出力す
る。但し、実際上の0式に基づく分数加算は加減乗算器
11を用いて行われる。
再び第1図に戻り、セレクタ7.8は演算要求に従って
通分器10からの各数を適切に選択してそれぞれ加減乗
算器11および乗算器12に出力するもので、例えば分
数の加減算のときは通分器10により通分された0式の
分子についてそれぞれの通分分子、即ちx−t’および
z 、 y /が加減乗算器11に出力されるように選
択し、分母については通分分母、即ち(y−t)’が乗
算器に出力されるように、また、分数の乗算、除算のと
きは各分母、分子が乗算器12に入るように選択する。
通分器10からの各数を適切に選択してそれぞれ加減乗
算器11および乗算器12に出力するもので、例えば分
数の加減算のときは通分器10により通分された0式の
分子についてそれぞれの通分分子、即ちx−t’および
z 、 y /が加減乗算器11に出力されるように選
択し、分母については通分分母、即ち(y−t)’が乗
算器に出力されるように、また、分数の乗算、除算のと
きは各分母、分子が乗算器12に入るように選択する。
なお、加減乗算器11、乗算器12は何れもクロック信
号C2に同期して上記選択処理を行う。加減乗算器(第
1の演算手段) 11は0式の分子側の各僅について演
算要求に従って加減算を行い、乗算器(第2の演算手段
)12は分数の形で与えられる2値について演算要求に
従って乗算を行う。上記セレクタ7.8は置換手段14
を構成する。
号C2に同期して上記選択処理を行う。加減乗算器(第
1の演算手段) 11は0式の分子側の各僅について演
算要求に従って加減算を行い、乗算器(第2の演算手段
)12は分数の形で与えられる2値について演算要求に
従って乗算を行う。上記セレクタ7.8は置換手段14
を構成する。
約分器(約分手段)9は加減乗算器11や乗算器12に
より計算された値を約分するもので、その結果をセレク
タ5.6に入力する。セレクタ(i!択手段)5.6は
約分器9からの約分結果を分数の形でそのまま各分子、
分母に分けてそれぞれレジスタ1〜4に出力する。レジ
スタ1〜4は前述したように外部から数値が与えられて
一時記憶する他に、セレクタ5.6からの出力数値をそ
のまま格納する。なお、セレクタ5.6は何れもクロッ
ク信号CIに同期して上記選択処理を行う。制御回路(
制御手段)13はレジスタ1〜4、セレクタ5〜8およ
び通分器10の各処理を制御するもので、例えば外部か
らの演算命令に従って各回路の作動を制御する制御信号
を出力する。したがって、本実施例では数値演算に際し
てソフトウェアを用いておらず、ハードウェアで構成し
ており、これは高速性を考慮したためである。
より計算された値を約分するもので、その結果をセレク
タ5.6に入力する。セレクタ(i!択手段)5.6は
約分器9からの約分結果を分数の形でそのまま各分子、
分母に分けてそれぞれレジスタ1〜4に出力する。レジ
スタ1〜4は前述したように外部から数値が与えられて
一時記憶する他に、セレクタ5.6からの出力数値をそ
のまま格納する。なお、セレクタ5.6は何れもクロッ
ク信号CIに同期して上記選択処理を行う。制御回路(
制御手段)13はレジスタ1〜4、セレクタ5〜8およ
び通分器10の各処理を制御するもので、例えば外部か
らの演算命令に従って各回路の作動を制御する制御信号
を出力する。したがって、本実施例では数値演算に際し
てソフトウェアを用いておらず、ハードウェアで構成し
ており、これは高速性を考慮したためである。
次に、作用を説明する。
上記各回路はマイクロプロセッサの内部素子で構成され
るため、マイクロプロセッサに外部から分数の形式で2
つの実数について次のような各種の演算命令が与えられ
ると、制御回路13が演算の種類を読み取り、各回路を
作動させて所望の演算が行われる。この場合、2つの実
数の分数の各分母、分子はレジスタ1〜4にそれぞれ最
初に取り込まれ、演算が終了する迄に一度クリアされた
後演算が終了した時点で再びレジスタ1〜4の何れかに
新たな分母、分子の形で一時記憶される。以下に、演算
種類を場合分けして説明する。なお、与えられる2つの
実数は前記0式と同様に次の2つと仮定する。
るため、マイクロプロセッサに外部から分数の形式で2
つの実数について次のような各種の演算命令が与えられ
ると、制御回路13が演算の種類を読み取り、各回路を
作動させて所望の演算が行われる。この場合、2つの実
数の分数の各分母、分子はレジスタ1〜4にそれぞれ最
初に取り込まれ、演算が終了する迄に一度クリアされた
後演算が終了した時点で再びレジスタ1〜4の何れかに
新たな分母、分子の形で一時記憶される。以下に、演算
種類を場合分けして説明する。なお、与えられる2つの
実数は前記0式と同様に次の2つと仮定する。
t
y を
乗算のときは(x/y)X (z/l)の演算が求めら
れるわけであるが、まずX%y、z、tがそれぞれレジ
スタ1〜4に一時記憶される。次いで、分母、分子同士
の乗算になるわけであるが、このとき通分器10は何も
行わずレジスタ1〜4の数値がそのまま通分器10を通
過する。次いで、セレクタ7.8によりそれぞれの分母
、分子同士が乗算器11.12に入るように選択され、
この乗算器11.12において分母および分子の乗算、
すなわち分母についてみれば(yxt)、分子について
みれば(xXz)の演算が行われ、この演算結果が約分
器に送られる。そして新たな分母(yt)および新たな
分子(xz)について共通する因子が見つけられ、必要
があれば約分器9で約分された後、セレクタ5.6によ
りレジスタ1〜4に再び一時記憶される。なお、このと
き新たな分子、分母が2つであれば、例えばレジスタ1
およびレジスタ2の2つのレジスタを用いるのみで良い
。このようにして分数演算が分母、分子の形でレジスタ
1〜4に適切に記憶され、この記憶された数値は再び外
部に取り出されて、その後の計算に使用される。その結
果、無理数(例えば、1/3)のような数を含む乗算で
あっても、最終結果が分数の形で節単にかつ正確に表現
されるため、複雑な乗算に拘らず精度良くかつ速やかに
その演算を行うことができる。すなわち、無理数であっ
ても演算結果を小数部を含むような特殊な、例えば浮動
小数点法等を用いて記憶しておく必要がなく、簡単に記
憶できしかもそれが正確であるから、マイクロプロセッ
サの有する演算能力を最大限に引き出すことができる。
れるわけであるが、まずX%y、z、tがそれぞれレジ
スタ1〜4に一時記憶される。次いで、分母、分子同士
の乗算になるわけであるが、このとき通分器10は何も
行わずレジスタ1〜4の数値がそのまま通分器10を通
過する。次いで、セレクタ7.8によりそれぞれの分母
、分子同士が乗算器11.12に入るように選択され、
この乗算器11.12において分母および分子の乗算、
すなわち分母についてみれば(yxt)、分子について
みれば(xXz)の演算が行われ、この演算結果が約分
器に送られる。そして新たな分母(yt)および新たな
分子(xz)について共通する因子が見つけられ、必要
があれば約分器9で約分された後、セレクタ5.6によ
りレジスタ1〜4に再び一時記憶される。なお、このと
き新たな分子、分母が2つであれば、例えばレジスタ1
およびレジスタ2の2つのレジスタを用いるのみで良い
。このようにして分数演算が分母、分子の形でレジスタ
1〜4に適切に記憶され、この記憶された数値は再び外
部に取り出されて、その後の計算に使用される。その結
果、無理数(例えば、1/3)のような数を含む乗算で
あっても、最終結果が分数の形で節単にかつ正確に表現
されるため、複雑な乗算に拘らず精度良くかつ速やかに
その演算を行うことができる。すなわち、無理数であっ
ても演算結果を小数部を含むような特殊な、例えば浮動
小数点法等を用いて記憶しておく必要がなく、簡単に記
憶できしかもそれが正確であるから、マイクロプロセッ
サの有する演算能力を最大限に引き出すことができる。
徐】四しト飢
(x/y)÷(z/l)の演算であるが、このときは第
2番目の分数(Z/l)を逆にして、(t/Z)として
上述した乗算と同様の演算が行われる。すなわち、セレ
クタ7.8によりXとtlyと2がそれぞれ乗算器11
.12に入るように制御回路13によりセレクタ7.8
が選択される。以後は前記、乗算のときと同様であり、
同様の効果が得られる。
2番目の分数(Z/l)を逆にして、(t/Z)として
上述した乗算と同様の演算が行われる。すなわち、セレ
クタ7.8によりXとtlyと2がそれぞれ乗算器11
.12に入るように制御回路13によりセレクタ7.8
が選択される。以後は前記、乗算のときと同様であり、
同様の効果が得られる。
加】aμ鉱ζ色
(x/y)±(Z/l)の演算を行うわけであるが、こ
のときは、まず、通分器10により2つの分数について
分母(yt)が通分され、その最小公倍数(yt)’が
求められる。このとき、各分子x、zは最小公倍数であ
る通分分母(yt)’の変化に合わせて変化しており、
前記0式で表わされるようにxt’、zy’で表わされ
る。次いで、xt’およびzy’について、これらが加
減乗算器11に入力されるように制御回路13によりセ
レクタ7の作動が制御され、この加減乗算器11におい
て(xt’±zy′)の演算が行われ、この演算結果が
約分器9に送られる。なお、このとき通分分母(yt)
’はセレクタ8の選択により加減乗算器12をそのまま
通過して約分器9に送られる。約分器9は通分分母およ
び通分分子に共通する因子を見つけ、約分する必要があ
るときには約分する。その約分結果はセレクタ5.6を
介してレジスタ1〜4に再び一時記憶される。そして、
必要に応じて演算後の値が分数の形で外部に取り出され
る。例えば、(1/3)±(1/2)という加減算であ
れば2X3=6という通分分母が演算されるとともに、
各分子は1×2および3×1となり、通分後の分数は5
/6となるから、約分器9での約分は行なわれず分子5
および分母6がレジスタ1および2にそれぞれ格納され
ることになる。なお、以上は与えられた数値が2つの場
合であるが、与えられた数値が3つ以上であっても、2
つずつに分けて同様に演算を行えば、同様に正確かつ速
やかに演算を行うことができる。
のときは、まず、通分器10により2つの分数について
分母(yt)が通分され、その最小公倍数(yt)’が
求められる。このとき、各分子x、zは最小公倍数であ
る通分分母(yt)’の変化に合わせて変化しており、
前記0式で表わされるようにxt’、zy’で表わされ
る。次いで、xt’およびzy’について、これらが加
減乗算器11に入力されるように制御回路13によりセ
レクタ7の作動が制御され、この加減乗算器11におい
て(xt’±zy′)の演算が行われ、この演算結果が
約分器9に送られる。なお、このとき通分分母(yt)
’はセレクタ8の選択により加減乗算器12をそのまま
通過して約分器9に送られる。約分器9は通分分母およ
び通分分子に共通する因子を見つけ、約分する必要があ
るときには約分する。その約分結果はセレクタ5.6を
介してレジスタ1〜4に再び一時記憶される。そして、
必要に応じて演算後の値が分数の形で外部に取り出され
る。例えば、(1/3)±(1/2)という加減算であ
れば2X3=6という通分分母が演算されるとともに、
各分子は1×2および3×1となり、通分後の分数は5
/6となるから、約分器9での約分は行なわれず分子5
および分母6がレジスタ1および2にそれぞれ格納され
ることになる。なお、以上は与えられた数値が2つの場
合であるが、与えられた数値が3つ以上であっても、2
つずつに分けて同様に演算を行えば、同様に正確かつ速
やかに演算を行うことができる。
このように、本実施例では分数の形で与えられた2つの
数値について、それぞれ分母、分子に着目してこれらを
通分あるいは約分するなどして演算し、この演算結果を
分数の形で格納するようにしているので、小数部を有す
る数値であっても分数の形で与えられる限り、いかなる
実数でも用いることができ、かつ、正確に演算を行うこ
とができる。
数値について、それぞれ分母、分子に着目してこれらを
通分あるいは約分するなどして演算し、この演算結果を
分数の形で格納するようにしているので、小数部を有す
る数値であっても分数の形で与えられる限り、いかなる
実数でも用いることができ、かつ、正確に演算を行うこ
とができる。
特に、無理数のような場合にはその効果が顕著なものと
なる。また、上記の演算は複雑な演算手法を何ら用いて
おらず通常のマイクロプロセッサでも容易に実現するこ
とができ、しかも特殊な形式も用いていないため、極め
て実現性の高いものとなる。なお、上記実施例は本発明
をいわゆるハードウェアで構成した例であるが、このよ
うな例に限らず、例えばソフトウェアによって実現する
こともでき、あるいはソフトおよびハードを適切に組み
合わせることで実現することも勿論可能である。
なる。また、上記の演算は複雑な演算手法を何ら用いて
おらず通常のマイクロプロセッサでも容易に実現するこ
とができ、しかも特殊な形式も用いていないため、極め
て実現性の高いものとなる。なお、上記実施例は本発明
をいわゆるハードウェアで構成した例であるが、このよ
うな例に限らず、例えばソフトウェアによって実現する
こともでき、あるいはソフトおよびハードを適切に組み
合わせることで実現することも勿論可能である。
第2図は本発明の第2実施例を示す図であり、本実施例
は第1実施例における通分器10を省略したものである
。なお、第1実施例と同一部分には同一番号を付してそ
の説明を省略する。この第2実施例において、乗除算は
第1実施例と同様であり、ここでは加減算を行う場合に
ついて説明する。
は第1実施例における通分器10を省略したものである
。なお、第1実施例と同一部分には同一番号を付してそ
の説明を省略する。この第2実施例において、乗除算は
第1実施例と同様であり、ここでは加減算を行う場合に
ついて説明する。
マイクロプロセッサに与えられる2つの数値は第1実施
例と同じ< (x/y)と(Z/l)である。
例と同じ< (x/y)と(Z/l)である。
まず、セレクタ7によりtを選択した後、加減乗算器1
1によりXとtを乗算し、その結果を約分器9、セレク
タ5を介して再びレジスタ1に格納する。このとき約分
器9は約分処理を行わない。次いで、セレクタ8により
tを選択した後、乗算器12によりyとtを乗算し、そ
の結果をセレクタ6を介してレジスタ4に格納する。こ
のとき、約分器9は約分処理を行わない。次いで、セレ
クタ8により2を選択し乗算器12によりyとZを乗算
し、その結果を約分器9、セレクタ6を介してレジスタ
2に格納する。このとき、約分器9は約分処理を行わな
い。次いで、セレクタ7によりyを選択し、加減乗算器
11により加減算を行う。この加減算は、前述したXと
tについての新たな分子となる部分について、(xxt
)±(yxz)の演算を行うもので、これにより新たな
通分分子が求められる。そして、その通分分子および前
述した通分分母(y t)を再びレジスタ4から読み出
し、約分器9に入力する。この約分器9において、通分
分母、分子について約分の可能性があればここで約分を
行ない、最終結果をレジスタ1およびレジスタ2に格納
する。
1によりXとtを乗算し、その結果を約分器9、セレク
タ5を介して再びレジスタ1に格納する。このとき約分
器9は約分処理を行わない。次いで、セレクタ8により
tを選択した後、乗算器12によりyとtを乗算し、そ
の結果をセレクタ6を介してレジスタ4に格納する。こ
のとき、約分器9は約分処理を行わない。次いで、セレ
クタ8により2を選択し乗算器12によりyとZを乗算
し、その結果を約分器9、セレクタ6を介してレジスタ
2に格納する。このとき、約分器9は約分処理を行わな
い。次いで、セレクタ7によりyを選択し、加減乗算器
11により加減算を行う。この加減算は、前述したXと
tについての新たな分子となる部分について、(xxt
)±(yxz)の演算を行うもので、これにより新たな
通分分子が求められる。そして、その通分分子および前
述した通分分母(y t)を再びレジスタ4から読み出
し、約分器9に入力する。この約分器9において、通分
分母、分子について約分の可能性があればここで約分を
行ない、最終結果をレジスタ1およびレジスタ2に格納
する。
このように、第2実施例では第1実施例が通分器を用い
て通分に必要な処理を行っているのに比べ、第2実施例
では全体的に回路各部を使って通分に必要な処理を行う
点が異なる。なお、第2実施例では制御回路13を除く
回路全体が通分手段としての機能を有する。したがって
、第2実施例では第1実施例よりも構成が簡単になる利
点がある反面、演算処理に各部を重複して使うという違
いがある。第2実施例においても、第1実施例と同様の
効果を得ることができるのは勿論である。
て通分に必要な処理を行っているのに比べ、第2実施例
では全体的に回路各部を使って通分に必要な処理を行う
点が異なる。なお、第2実施例では制御回路13を除く
回路全体が通分手段としての機能を有する。したがって
、第2実施例では第1実施例よりも構成が簡単になる利
点がある反面、演算処理に各部を重複して使うという違
いがある。第2実施例においても、第1実施例と同様の
効果を得ることができるのは勿論である。
本発明によれば、分数の形式で与えられる2つの実数に
ついて各分母、分子をそれぞれに別けて演算し、最終的
に演算の数値を分母、分子の形で記憶、表現しているの
で、無理数を含むような演算であっても簡単な形式で数
値を取り扱うことができ、正確でかつ迅速に演算処理を
行うことができる。
ついて各分母、分子をそれぞれに別けて演算し、最終的
に演算の数値を分母、分子の形で記憶、表現しているの
で、無理数を含むような演算であっても簡単な形式で数
値を取り扱うことができ、正確でかつ迅速に演算処理を
行うことができる。
第1.2図は、本発明に係る演算回路の第1実施例を示
す図であり、 第1図はその全体構成図、 第2図はその通分器の構成図、 第3図は本発明に係る演算回路の第2実施例を示すその
全体構成図である。 9・・・・・・約分器(約分手段)、 10・・・・・・通分器(通分手段)、7・・・・・・
セレクタ 8・・・・・・セレクタ 11・・・・・・加減乗算器(第1の演算手段)、12
・・・・・・乗算器(第2の演算手段)、13・・・・
・・制御回路(制御手段)、14・・・・・・置換手段
。
す図であり、 第1図はその全体構成図、 第2図はその通分器の構成図、 第3図は本発明に係る演算回路の第2実施例を示すその
全体構成図である。 9・・・・・・約分器(約分手段)、 10・・・・・・通分器(通分手段)、7・・・・・・
セレクタ 8・・・・・・セレクタ 11・・・・・・加減乗算器(第1の演算手段)、12
・・・・・・乗算器(第2の演算手段)、13・・・・
・・制御回路(制御手段)、14・・・・・・置換手段
。
Claims (1)
- 【特許請求の範囲】 分数の形式で与えられ、演算対象となる2つの実数につ
いて、各分母、分子をそれぞれに分けて一時記憶する第
1の記憶手段と、 演算が乗除算であるとき第1の記憶手段の内容をそのま
ま出力し、演算が加減算であるとき通分のために各分母
の最小公倍数を求め、該最小公倍数を新たな通分分母と
して置き換えるとともに、該通分分母に対する各分子の
通分演算を行い通分分子を求める通分手段と、 演算が除算であるとき、第2の分数の分母、分子を逆に
置き換える置換手段と、 2値の加減乗算を求める第1の演算手段と、2値の乗算
を求める第2の演算手段と、 分数演算の演算結果を求め、演算後の新たな分母、分子
からこれらに共通する因数を用いて約分する約分手段と
、 約分された新たな分数について分母、分子に分ける選択
手段と、 選択手段により分けられた分数演算後の分母、分子を一
時記憶する第2の記憶手段と、 分数演算の演算種類に基づいて前記各回路の作動を制御
する制御手段と、 を備えたことを特徴とする演算回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62296667A JPH01137329A (ja) | 1987-11-25 | 1987-11-25 | 演算回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62296667A JPH01137329A (ja) | 1987-11-25 | 1987-11-25 | 演算回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01137329A true JPH01137329A (ja) | 1989-05-30 |
Family
ID=17836518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62296667A Pending JPH01137329A (ja) | 1987-11-25 | 1987-11-25 | 演算回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01137329A (ja) |
-
1987
- 1987-11-25 JP JP62296667A patent/JPH01137329A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6347874A (ja) | 算術演算装置 | |
US4975868A (en) | Floating-point processor having pre-adjusted exponent bias for multiplication and division | |
TWI301578B (en) | Logarithm processing systems and methods | |
JP3144816B2 (ja) | 除算を行なう装置 | |
JP3418460B2 (ja) | 倍精度除算回路および方法 | |
JPH0454633A (ja) | 高基数除算器 | |
US3736413A (en) | Pre-conditioned divisor trial quotient divider | |
US4785412A (en) | Double precision approximate quotient network | |
JP2857505B2 (ja) | 除算装置 | |
JPH01137329A (ja) | 演算回路 | |
JPH01302425A (ja) | 浮動小数点加減算回路 | |
US3417236A (en) | Parallel binary adder utilizing cyclic control signals | |
JPH04172526A (ja) | 浮動小数点除算器 | |
WO1999067704A1 (fr) | Systeme de division utilisant une memoire de faible capacite | |
GB975191A (en) | Electronic data processing apparatus | |
JPH0251732A (ja) | 浮動小数点演算器 | |
JP3251071B2 (ja) | 除算/開平演算方法と演算装置 | |
JPH0445860B2 (ja) | ||
JPH06180640A (ja) | 除算装置及び方法 | |
JPH04195523A (ja) | 平方根計算装置 | |
JPH0448251B2 (ja) | ||
JPH04216127A (ja) | 平方根演算装置 | |
JPS63254525A (ja) | 除算装置 | |
EP0142913A2 (en) | Signed multiplier | |
JPH0371228A (ja) | 開立計算装置 |