JPH03189817A - 乗除算装置 - Google Patents
乗除算装置Info
- Publication number
- JPH03189817A JPH03189817A JP33069589A JP33069589A JPH03189817A JP H03189817 A JPH03189817 A JP H03189817A JP 33069589 A JP33069589 A JP 33069589A JP 33069589 A JP33069589 A JP 33069589A JP H03189817 A JPH03189817 A JP H03189817A
- Authority
- JP
- Japan
- Prior art keywords
- division
- multiplication
- value
- quotient
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 46
- 238000004364 calculation method Methods 0.000 claims description 24
- 238000010606 normalization Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 2
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔概要〕
本発明は、固定小数点形式の10進数を浮動小数点形式
の正規化10進数表現に変換し、乗除算を行う乗除算方
式に関し、 10進数表現による数値の乗除算処理を高速化すること
を目的とし、 固定小数点形式の10進数データを入力手段として乗除
算を行う方式において、入力された固定小数点のlO進
数データを有効桁数部分を10進数表現のまま仮数部と
し、重みを2進数表現の形式のデータに変換する浮動小
数点形式変換手段と、変換された浮動小数点形式のデー
タを正規化する正規化処理手段とを備え、正規化された
浮動小数点形式のデータを指数部と仮数部とに分けて浮
動小数点形式による乗除算を行う構成を持つ。
の正規化10進数表現に変換し、乗除算を行う乗除算方
式に関し、 10進数表現による数値の乗除算処理を高速化すること
を目的とし、 固定小数点形式の10進数データを入力手段として乗除
算を行う方式において、入力された固定小数点のlO進
数データを有効桁数部分を10進数表現のまま仮数部と
し、重みを2進数表現の形式のデータに変換する浮動小
数点形式変換手段と、変換された浮動小数点形式のデー
タを正規化する正規化処理手段とを備え、正規化された
浮動小数点形式のデータを指数部と仮数部とに分けて浮
動小数点形式による乗除算を行う構成を持つ。
演算装置により固定小数点形式の10進数を浮動小数点
形式の正規化lO進数表現に変換し、乗除算を行う乗除
算方式に関する。
形式の正規化lO進数表現に変換し、乗除算を行う乗除
算方式に関する。
従来は、入力データを2進化10進数等の10進数表現
により固定小数点形式の非正規化数により演算処理を行
っていた。
により固定小数点形式の非正規化数により演算処理を行
っていた。
第8図(a)に従来の10進数表現による除算方式のブ
ロック図を示す。
ロック図を示す。
図に付した番号に従って、処理手順を説明する。
■ 初期条件を設定する(N=O)。
■ 被除数から除数をN倍した値を減算処理する。
■ 減算結果が0かどうか判断し、0であれば、求めた
Nの値を商とする。
Nの値を商とする。
■ 負かどうか判断する。
■、■ 負であれば、引きすぎなので、N−1の値を商
の1桁の値として格納する。
の1桁の値として格納する。
■ ■の判断の結果がNOのときには、まだ減算できる
状態であるので、NをN+1して■以下の処理を繰り返
す。
状態であるので、NをN+1して■以下の処理を繰り返
す。
■ 求めた商の桁の位置を14認する。
■ 求めた商をレジスタに格納する。
■ 有効桁数だけ商が求まっていないかあるいは剰余が
0でなければ再度除算□処理を繰り返す。
0でなければ再度除算□処理を繰り返す。
有効桁数の商が求まったかあるいは剰余が0になれば処
理を終了する。
理を終了する。
第8図(b)に従来の乗算方式の例を示す。
演算装置の最大有効桁数が4桁の場合について説明する
。
。
例えば、23X14を計算する場合、演算装置のレジス
タ上には、固定小数点形式の10進数表現データを図に
(1)で示すように、先頭Oを補って4桁にして格納さ
れる。次に、(2)に示すように、被乗数に乗数の各桁
の値を掛けた各桁の中間乗算結果を4ビツトずつシフト
してレジスタ上に格納し、各桁より求まった値を加算し
て乗算結果を求める。
タ上には、固定小数点形式の10進数表現データを図に
(1)で示すように、先頭Oを補って4桁にして格納さ
れる。次に、(2)に示すように、被乗数に乗数の各桁
の値を掛けた各桁の中間乗算結果を4ビツトずつシフト
してレジスタ上に格納し、各桁より求まった値を加算し
て乗算結果を求める。
従来の10進数による演算処理は、上記のように固定小
数点形式で非正規化数により処理していたため有効桁数
を大きく取れない等の問題があった。
数点形式で非正規化数により処理していたため有効桁数
を大きく取れない等の問題があった。
キーボード等の人力手段により入力する場合の入力数値
や、表示手段に表示する数値は10進数であることから
、10進数による演算処理は、そのような装置により入
出力を行う場合には、2進数表現の演算処理に比べて有
利であるが、2進数表現による演算処理の場合より約4
〜6倍多いクロック数を要し、演算処理が遅いという欠
点があった。
や、表示手段に表示する数値は10進数であることから
、10進数による演算処理は、そのような装置により入
出力を行う場合には、2進数表現の演算処理に比べて有
利であるが、2進数表現による演算処理の場合より約4
〜6倍多いクロック数を要し、演算処理が遅いという欠
点があった。
さらに、従来のIO進数による除算処理では、上記のよ
うに1桁の商を算出するのにポローが検出されるまで、
最大9ないし10回の減算をする必要があったため、た
くさんの演算処理回数を必要とした。
うに1桁の商を算出するのにポローが検出されるまで、
最大9ないし10回の減算をする必要があったため、た
くさんの演算処理回数を必要とした。
また、非正規化数による処理のため、演算装置の有効最
大桁数に満たない数値では数字の先頭に0を補う全体桁
数による演算処理であるため、演算結果に直接影響しな
い無駄な処理が多かった。
大桁数に満たない数値では数字の先頭に0を補う全体桁
数による演算処理であるため、演算結果に直接影響しな
い無駄な処理が多かった。
そのため、従来の10進数表現による演算処理は、多く
のクロック数を要するために処理が遅いことに加えて、
上記のように、演算処理回数も多く要するため、2進数
表現による場合に比較して演算時間がいちじるしく遅い
という問題点があった。
のクロック数を要するために処理が遅いことに加えて、
上記のように、演算処理回数も多く要するため、2進数
表現による場合に比較して演算時間がいちじるしく遅い
という問題点があった。
このことは、多倍長精度による演算の場合には特に顕著
であった。
であった。
〔課題を解決するための手段)
本発明の演算方式では、固定小数点形式の10進数デー
タを有効桁数部分を2進化10進数等の10進数表現の
まま仮数部とし、重みを2進数表現の形式のデータに変
換し、さらに浮動小数点形式のデータを正規化処理する
。そして、正規化された浮動小数点形式の指数部と仮数
部とにより乗除算を行うようにした。
タを有効桁数部分を2進化10進数等の10進数表現の
まま仮数部とし、重みを2進数表現の形式のデータに変
換し、さらに浮動小数点形式のデータを正規化処理する
。そして、正規化された浮動小数点形式の指数部と仮数
部とにより乗除算を行うようにした。
さらに、除算処理を行う場合には、除数を1ないし9倍
した値を格納するテーブルを設け、被除数と上記テーブ
ル上の数値を比較して、その大小関係を比較するだけで
直接的に商を求めるようにした。そのため、従来の除算
方法のように減算を繰り返すことがなく、演算回数を大
幅に減らすことができる。
した値を格納するテーブルを設け、被除数と上記テーブ
ル上の数値を比較して、その大小関係を比較するだけで
直接的に商を求めるようにした。そのため、従来の除算
方法のように減算を繰り返すことがなく、演算回数を大
幅に減らすことができる。
また、乗算処理を行う場合には、被乗数を1ないし9倍
した値を格納するテーブルを設け、被乗数に乗数の各桁
の値を掛けた値をテーブルを参照して、桁毎に掛は算処
理をすることなく中間の乗算値を求めるようにし、高速
度で結果がもとまるようにした。また、演算処理を正規
化数により行うようにし、先頭数値Oの部分の演算結果
に直接影響しない部分の無駄な処理をなくすようにした
。
した値を格納するテーブルを設け、被乗数に乗数の各桁
の値を掛けた値をテーブルを参照して、桁毎に掛は算処
理をすることなく中間の乗算値を求めるようにし、高速
度で結果がもとまるようにした。また、演算処理を正規
化数により行うようにし、先頭数値Oの部分の演算結果
に直接影響しない部分の無駄な処理をなくすようにした
。
本発明は、上記のように、10進数表現による数値の乗
除算処理を高速化することを目的とする。
除算処理を高速化することを目的とする。
第1図(a)に示す本発明の基本構成により本発明の基
本構成を説明する。
本構成を説明する。
2は固定小数点形式の10進数よりなる被演算数および
演算数を格納するメモリ、3は入力された固定小数点形
式の10進数を浮動小数点形式のデータとし、仮数部は
10進数表現により、指数部の重み部分は2進数表現に
変換する浮動小数点形式変換手段、4は浮動小数点形式
に変換されたデータを正規化処理する正規化処理手段、
5は浮動小数点形式の正規化された被演算数および演算
数を除算もしくは乗算処理する演算手段、6は演算処理
鈴果メデータを格納するメモリ、10はメモリ2上に格
納された固定小数点データ、11は浮動小数点形式に変
換された被演算数、12は浮動小数点形式に変換された
演算数、13は浮動小数点形式に変換された被演算数を
格納するレジスタ、14は浮動小数点形式に変換された
演算数を格納するレジスタ、15は被演算数レジスタ1
3および演算数レジスタ14に格納されたデータに基づ
いて、除算もしくは乗算処理をする演算処理部である。
演算数を格納するメモリ、3は入力された固定小数点形
式の10進数を浮動小数点形式のデータとし、仮数部は
10進数表現により、指数部の重み部分は2進数表現に
変換する浮動小数点形式変換手段、4は浮動小数点形式
に変換されたデータを正規化処理する正規化処理手段、
5は浮動小数点形式の正規化された被演算数および演算
数を除算もしくは乗算処理する演算手段、6は演算処理
鈴果メデータを格納するメモリ、10はメモリ2上に格
納された固定小数点データ、11は浮動小数点形式に変
換された被演算数、12は浮動小数点形式に変換された
演算数、13は浮動小数点形式に変換された被演算数を
格納するレジスタ、14は浮動小数点形式に変換された
演算数を格納するレジスタ、15は被演算数レジスタ1
3および演算数レジスタ14に格納されたデータに基づ
いて、除算もしくは乗算処理をする演算処理部である。
第1図(b)は、本発明において使用する正規化され
た浮動小数点形式の数値のデータフォーマットを示す。
た浮動小数点形式の数値のデータフォーマットを示す。
仮数部は、例えば、10進数の1文字を4ピントで表現
した2進化10進数等の10進数表現とし、仮数部の上
位1桁と2桁の間に小数点が位置するように正規化され
たデータを格納する。
した2進化10進数等の10進数表現とし、仮数部の上
位1桁と2桁の間に小数点が位置するように正規化され
たデータを格納する。
指数部は、重み部分を2進数表現により格納する。また
、仮数部および指数部分の符号は、データフォーマット
の指数部に設けた2ビツトの符号部に2進データにより
格納する。
、仮数部および指数部分の符号は、データフォーマット
の指数部に設けた2ビツトの符号部に2進データにより
格納する。
第1図に示す基本構成の作用を説明する。
メモリ2上に格納された固定小数点形式の10進数の被
演算数および演算数のデータは浮動小数点形式変換手段
に入力され、浮動小数点形式の被演算数および演算数に
変換され、レジスタ11、レジスタ12上に格納される
。
演算数および演算数のデータは浮動小数点形式変換手段
に入力され、浮動小数点形式の被演算数および演算数に
変換され、レジスタ11、レジスタ12上に格納される
。
レジスタ11.12上の被演算数および演算数はそれぞ
れ正規化処理手段4により仮数部の上位1桁と2桁の間
に小数点がくるように正規化処理される。
れ正規化処理手段4により仮数部の上位1桁と2桁の間
に小数点がくるように正規化処理される。
例えば、被演算数として固定小数点形式の10進数の1
234の場合について考えると、正規化処理手段は浮動
小数点形式に変換したレジスタ11上の被演算数を1.
234X10’の形に変換する。そして、仮数部は例え
ば2進化10進数の10進数表現により2桁を1バイト
のパンク形式で被演算数レジスタ13上に格納される。
234の場合について考えると、正規化処理手段は浮動
小数点形式に変換したレジスタ11上の被演算数を1.
234X10’の形に変換する。そして、仮数部は例え
ば2進化10進数の10進数表現により2桁を1バイト
のパンク形式で被演算数レジスタ13上に格納される。
また指数部はその重みのデータである3を必要により、
例えば、重みデータOを16進数の3fffの2進数表
現によるバイアス値として格納する。
例えば、重みデータOを16進数の3fffの2進数表
現によるバイアス値として格納する。
正規化処理された被演算数および演算数はそれぞれ被演
算数レジスタ13および演算数レジスタ14に入力され
演算処理部15において除算処理もしくは乗算処理をさ
れる。
算数レジスタ13および演算数レジスタ14に入力され
演算処理部15において除算処理もしくは乗算処理をさ
れる。
演算結果は、メモリ6に格納される。
本発明によれば、仮数部を正規化して演算するため、数
値の先頭部に0を生じることがなく、演算結果に影響し
ない無駄な演算処理を無くすことができる。また、仮数
部は10進数表現により処理するので、入力手段により
入力された10進数表現をそのまま使用することができ
、また出力手段に出力する際にも、演算結果の10進数
の表現形式をそのまま利用することができる。
値の先頭部に0を生じることがなく、演算結果に影響し
ない無駄な演算処理を無くすことができる。また、仮数
部は10進数表現により処理するので、入力手段により
入力された10進数表現をそのまま使用することができ
、また出力手段に出力する際にも、演算結果の10進数
の表現形式をそのまま利用することができる。
第2図ないし第7図により本発明の詳細な説明する。
第2図は本発明の演算手段を中心にした実施例構成を示
す。
す。
図において、20はキーボード等10進数の入力手段、
21は浮動小数点形式の10進数を正規化した10進数
表現の被演算数および演算数に基づいて除算もしくは乗
算を行う演算手段、22は浮動小数点形式から固定小数
点形式に変換された演算結果をメモリから取り出して表
示手段に表示せしめる表示制御部、23は演算処理され
た演算結果を固定小数点形式の24進数により表示する
表示手段、24は人力手段により入力された固定小数点
形式の24進数を格納するメモリ、25は人力手段20
より人力された固定小数点形式のメモリ24上の10進
数の入力データを取り出して仮数部と指数部に分け、浮
動小数点形式のデータに変換する浮動小数点形式変換手
段、26は仮数部の上位2桁目以降が小数点以下の数値
になるように正規化処理する正規化処理部、27.28
は正規化処理部26により正規化処理された浮動小数点
形式の仮数部を2進化10進数等の10進数表現により
1ハイドに2桁の10進数をパンク形式に格納するレジ
スタ、29はレジスタ27.2日上のパンク形式の2進
化10進数および指数部の重みデータにより演算処理を
する演算処理部、30は除算における被除数もしくは乗
算における中間結果を格納する中間結果レジスタ、3I
は除算においてテーブル上の除数の整数倍の数値を検索
し、被除数の値と比較する、もしくは乗算において被乗
数に乗数を掛けた値を引き出して中間結果レジスタに入
力する検索部、32は除算における除数もしくは乗算に
おける被乗数を1ないし9倍した数値を格納するテーブ
ル、33は除算において求めた商の先頭数値が0の場合
、0もしくは1のフラグを格納する検索フラグデータ格
納部、34は除算において、生成された商の桁数を判定
する生成桁数判定部、35は除算における商もしくは乗
算における演算結果を格納する最終結果レジスタ、36
は正規化浮動小数点形式の演算結果を固定小数点形式の
10進数に変換する固定小数点形式変換部、37は固定
小数点形式の10進数に変換された演算結果を格納する
メモリ、38は被演算数もしくは演算数に基づいて、除
算における除数もしくは乗算における被乗数の1ないし
9倍の数値を作成しテーブル32に格納するテーブル作
成部、39は浮動小数点形式のデータの指数部の演算処
理をする指数演算部、40は除算において被除数をテー
ブル上の除数の整数倍の数値と比較して商を求めるため
の比較部である。
21は浮動小数点形式の10進数を正規化した10進数
表現の被演算数および演算数に基づいて除算もしくは乗
算を行う演算手段、22は浮動小数点形式から固定小数
点形式に変換された演算結果をメモリから取り出して表
示手段に表示せしめる表示制御部、23は演算処理され
た演算結果を固定小数点形式の24進数により表示する
表示手段、24は人力手段により入力された固定小数点
形式の24進数を格納するメモリ、25は人力手段20
より人力された固定小数点形式のメモリ24上の10進
数の入力データを取り出して仮数部と指数部に分け、浮
動小数点形式のデータに変換する浮動小数点形式変換手
段、26は仮数部の上位2桁目以降が小数点以下の数値
になるように正規化処理する正規化処理部、27.28
は正規化処理部26により正規化処理された浮動小数点
形式の仮数部を2進化10進数等の10進数表現により
1ハイドに2桁の10進数をパンク形式に格納するレジ
スタ、29はレジスタ27.2日上のパンク形式の2進
化10進数および指数部の重みデータにより演算処理を
する演算処理部、30は除算における被除数もしくは乗
算における中間結果を格納する中間結果レジスタ、3I
は除算においてテーブル上の除数の整数倍の数値を検索
し、被除数の値と比較する、もしくは乗算において被乗
数に乗数を掛けた値を引き出して中間結果レジスタに入
力する検索部、32は除算における除数もしくは乗算に
おける被乗数を1ないし9倍した数値を格納するテーブ
ル、33は除算において求めた商の先頭数値が0の場合
、0もしくは1のフラグを格納する検索フラグデータ格
納部、34は除算において、生成された商の桁数を判定
する生成桁数判定部、35は除算における商もしくは乗
算における演算結果を格納する最終結果レジスタ、36
は正規化浮動小数点形式の演算結果を固定小数点形式の
10進数に変換する固定小数点形式変換部、37は固定
小数点形式の10進数に変換された演算結果を格納する
メモリ、38は被演算数もしくは演算数に基づいて、除
算における除数もしくは乗算における被乗数の1ないし
9倍の数値を作成しテーブル32に格納するテーブル作
成部、39は浮動小数点形式のデータの指数部の演算処
理をする指数演算部、40は除算において被除数をテー
ブル上の除数の整数倍の数値と比較して商を求めるため
の比較部である。
第2図の実施例構成の動作を第3図ないし第7図により
説明する。
説明する。
本発明の乗除算方式において使用するデータフォーマッ
トの実施例を第3図(a) 、 (b)に示す。
トの実施例を第3図(a) 、 (b)に示す。
第3図(a)において、50は20桁の2進化10進数
等のlO進数を2桁を1バイトにバンクした仮数部、5
1は16ビツトの2進数で表す指数部領域、52は入力
データの有効桁数を2進数で表す有効桁数領域、53は
1バイトの識別子の領域である。
等のlO進数を2桁を1バイトにバンクした仮数部、5
1は16ビツトの2進数で表す指数部領域、52は入力
データの有効桁数を2進数で表す有効桁数領域、53は
1バイトの識別子の領域である。
第3図(b)は、同図(a)における16ビツトの指数
部領域の拡大図である。
部領域の拡大図である。
図において、54は16ビノトの2進数で指数を表現す
る指数域、55は指数部の符号を表す符号ビット領域、
56は仮数部の符号を表す符号ビット領域である。
る指数域、55は指数部の符号を表す符号ビット領域、
56は仮数部の符号を表す符号ビット領域である。
指数域54は、10°を10進数の0を基準とした重み
Oに対して3fffにバイアスした2進数。即ち、重み
0に対して、指数域の各ピッ) pI域全全部2進数で
1が格納される。これにより10の±16384までの
指数の範囲を許容できる(2′4=16384)。
Oに対して3fffにバイアスした2進数。即ち、重み
0に対して、指数域の各ピッ) pI域全全部2進数で
1が格納される。これにより10の±16384までの
指数の範囲を許容できる(2′4=16384)。
本発明は、除算における被除数、除数および乗算におけ
る被乗数、乗数を上記のように浮動小数点形式の正規化
数に変換し、第3図(a)に示すようなデータフォーマ
ットに構成して演算処理を行う。
る被乗数、乗数を上記のように浮動小数点形式の正規化
数に変換し、第3図(a)に示すようなデータフォーマ
ットに構成して演算処理を行う。
第4図、第5図により本発明によるデータフォーマット
を用いた除算方式の実施例を説明する。
を用いた除算方式の実施例を説明する。
第4図は、本発明のフローであり、第5図は本発明の除
算方式を説明するための数値例である。
算方式を説明するための数値例である。
必要に応じて第2図、第3図を参照する。
第5図に示すように、被演算数P 1 =394117
1520、演算数P 2 =80256として、P1十
P2を演算処理する場合について考える。
1520、演算数P 2 =80256として、P1十
P2を演算処理する場合について考える。
除算に先立って、除数P2を1ないし9までの整数値に
より整数倍した値のテーブルを作成する。
より整数倍した値のテーブルを作成する。
そして、被除数とテーブル上の数値の大小を比較するこ
とにより商をもとめるようにする。
とにより商をもとめるようにする。
第4図のフローの手順に従って説明する。
■ 初期条件を設定する。
即ち、各演算レジスタをクリアし、被演算レジスタにP
l、演算レジスタにP2を、第3図のデータフォーマッ
トに従って正規化浮動小数点形式により格納する。
l、演算レジスタにP2を、第3図のデータフォーマッ
トに従って正規化浮動小数点形式により格納する。
■ テーブル32より検索部31は、テーブル上の値を
順次引出し、比較部40に入力する。そして、比較部4
0は、中間結果レジスタ30に格納されている被除数(
第5図参照)と検索部の引き出した値を比較し、被除数
より小さくて、被除数に最も近い値もしくは被除数と同
じ値を選択し、そのテーブル値から、商および次の演算
処理のための被除数を算出する。
順次引出し、比較部40に入力する。そして、比較部4
0は、中間結果レジスタ30に格納されている被除数(
第5図参照)と検索部の引き出した値を比較し、被除数
より小さくて、被除数に最も近い値もしくは被除数と同
じ値を選択し、そのテーブル値から、商および次の演算
処理のための被除数を算出する。
■ ■で求めた1桁の商を最終結果レジスタ35に位置
を確認して格納する ■ 最初に求めた商の値がO(商の先頭値O)の場合に
は、検索フラグを立てその値を1にする。
を確認して格納する ■ 最初に求めた商の値がO(商の先頭値O)の場合に
は、検索フラグを立てその値を1にする。
■ 商の格納位置を確認する。
■ 被除数から■で検索部が引き出し、商をもとめたテ
ーブル上のデータを減算処理し、剰余を求める。
ーブル上のデータを減算処理し、剰余を求める。
■ 剰余の値が0ならゼロフラグ1を設定する。
ゼロフラグZf=1なら余りがOで割り切れたことを意
味するので、処理を終了する。
味するので、処理を終了する。
■ ゼロフラグzr=oなら、余りが存在していること
を意味しているので、さらに除算処理を継続し、商の生
成桁数のカウンタを1つ進める。
を意味しているので、さらに除算処理を継続し、商の生
成桁数のカウンタを1つ進める。
■ 検索フラグを確認し、検索フラグデータが0でない
なら商の先頭数値がOでないので求めた商の桁数が有効
桁数の20より大きいか小さいかを判断する。
なら商の先頭数値がOでないので求めた商の桁数が有効
桁数の20より大きいか小さいかを判断する。
[相] 生成桁数が20を越えていれば必要とする桁数
だけ商をもとめられたので処理を終了する。
だけ商をもとめられたので処理を終了する。
20に満たなければ、さらに演算処理を繰り返す。
■ ■における判断で検索フラグの値が0なら商の先頭
数値が0ということを意味するので、商の桁数が21よ
り大きいか小さいかを判断する。
数値が0ということを意味するので、商の桁数が21よ
り大きいか小さいかを判断する。
生成桁数が21を越えていれば必要な桁数だけ商がもと
められたので処理を終了する。21に満たなければ、さ
らに演算処理を繰り返す。
められたので処理を終了する。21に満たなければ、さ
らに演算処理を繰り返す。
■ 剰余が0でなく、かつ、商が必要な桁数に満たない
場合には、被除数を、除数と比較対象する位置に移動処
理をし、さらに■以降の除算処理を繰り返す。
場合には、被除数を、除数と比較対象する位置に移動処
理をし、さらに■以降の除算処理を繰り返す。
■ 商の先頭数値がOの場合には、得られた商を正規化
処理し、先頭数値の0を取り除く。
処理し、先頭数値の0を取り除く。
第6図、第7図により本発明によるデータフォーマット
を用いた乗算方式の実施例を説明する。
を用いた乗算方式の実施例を説明する。
第6図は、本発明の乗算方式のフローであり、第7図は
本発明の乗算方式を説明するための数値例である。
本発明の乗算方式を説明するための数値例である。
必要に応じて第2図、第3図を参照する。
第7図に示すように、被演算数(被乗数)P1=394
0629、演算数(乗数) P 2 =80256につ
いて、P1×P2を演算処理する場合を考える。
0629、演算数(乗数) P 2 =80256につ
いて、P1×P2を演算処理する場合を考える。
乗算に先立って、被乗数P1の1ないし9までの整数値
による整数倍の値のテーブル32を作成しておき被乗数
P1に乗数P2の各桁を掛けた値を、テーブル上の数値
を検索して引き出すことにより求める。
による整数倍の値のテーブル32を作成しておき被乗数
P1に乗数P2の各桁を掛けた値を、テーブル上の数値
を検索して引き出すことにより求める。
また図のフローの方式は、中間結果レジスタ30は、乗
数P2の奇数桁を被乗数P1に掛けた値(第7図(b)
におけるAI、A3、A5)をそれぞれテーブルより引
出し、A3は8ビ・ント、A5は16ビツト左シフトし
たデータを加算する奇数桁の中間結果レジスタと、乗数
P2の偶数桁を被乗数P1に掛けた値(第7図(b)に
おけるA2、A4)をそれぞれテーブルより引出し、A
4は8ビツト左シフトしたデータを加算する偶数桁の中
間結果レジスタとした結果よりなり、偶数桁の加算結果
を4ビツト左シフトして奇数桁の加算結果に加算するこ
とにより最終の乗算結果を得る場合のフローである。
数P2の奇数桁を被乗数P1に掛けた値(第7図(b)
におけるAI、A3、A5)をそれぞれテーブルより引
出し、A3は8ビ・ント、A5は16ビツト左シフトし
たデータを加算する奇数桁の中間結果レジスタと、乗数
P2の偶数桁を被乗数P1に掛けた値(第7図(b)に
おけるA2、A4)をそれぞれテーブルより引出し、A
4は8ビツト左シフトしたデータを加算する偶数桁の中
間結果レジスタとした結果よりなり、偶数桁の加算結果
を4ビツト左シフトして奇数桁の加算結果に加算するこ
とにより最終の乗算結果を得る場合のフローである。
第6図のフローの手順に従って、説明する。
■ 被演算数レジスタ27、演算数レジスタ28をゼロ
クリアして、Pl、P2を正規化処理した浮動小数点形
式のデータとして、仮数部の桁数の大きいPLを被乗数
として被演算数レジスタ2ワに格納し、仮数部の桁数の
小さいP2を乗数として演算数レジスタ28に格納する
。
クリアして、Pl、P2を正規化処理した浮動小数点形
式のデータとして、仮数部の桁数の大きいPLを被乗数
として被演算数レジスタ2ワに格納し、仮数部の桁数の
小さいP2を乗数として演算数レジスタ28に格納する
。
■ 被乗数P1の1ないし9倍のテーブルを作成する。
■ 乗数の奇数桁および偶数桁を被乗数に掛けた値を格
納する奇数桁および偶数桁の中間結果レジスタ30をゼ
ロクリアする。
納する奇数桁および偶数桁の中間結果レジスタ30をゼ
ロクリアする。
■ 乗数の全ての桁を被乗数に掛けたかどうか判定する
。
。
■ 全て掛けていなければ、掛算を終了していないので
、処理を継続し、1バイトに格納された桁のうちの下位
の桁(奇数桁)の値が0であるかどうか判定する。
、処理を継続し、1バイトに格納された桁のうちの下位
の桁(奇数桁)の値が0であるかどうか判定する。
■ ■の結果がOでなければ、テーブルから乗数の奇数
桁を被乗数に掛けた値に相当する値(A1、A3、A5
)を引出し、それぞれ所定ビ・ノド左シフトして加算す
る。
桁を被乗数に掛けた値に相当する値(A1、A3、A5
)を引出し、それぞれ所定ビ・ノド左シフトして加算す
る。
■ 乗数のバイト領域の上位ビ・ント(偶数桁)の値が
0であるかどうか判定する。0であれば、次のパイHE
域について、同様の処理をくり返す。
0であるかどうか判定する。0であれば、次のパイHE
域について、同様の処理をくり返す。
■ 0でなければ、テーブルから対象となっている乗数
の桁の値を掛けた値を引出し、前の偶数桁の演算結果に
所定ビット左シフトして加算する。
の桁の値を掛けた値を引出し、前の偶数桁の演算結果に
所定ビット左シフトして加算する。
さらに、同様の処理をくり返す。
■ 偶数桁の中間結果レジスタ30の演算結果を4ビツ
ト左にシフトする。
ト左にシフトする。
[相] 奇数桁の中間結果レジスタ30の演算結果に■
で得た偶数桁の中間結果レジスタのデータを加算する。
で得た偶数桁の中間結果レジスタのデータを加算する。
■ 指数部の演算結果により桁数を調整し最終結果を得
る。
る。
本発明によれば、仮数部を正規化して演算するため、数
値の先頭部に0を生じることがなく、演算結果に影響し
ない無駄な演算処理を無くすことができる。さらに、乗
除算処理において、除数もしくは被乗数の整数倍の数値
のテーブルを設けることにより、除算において、商をも
とめるための除数の整数倍の数値あるいは乗算において
、被乗数に乗数の各桁を掛けた結果帯られる値を乗算処
理することなく求めることができる、10進数表現によ
る乗除算処理にもかかわらず高速度で演算処理の結果が
得られる。
値の先頭部に0を生じることがなく、演算結果に影響し
ない無駄な演算処理を無くすことができる。さらに、乗
除算処理において、除数もしくは被乗数の整数倍の数値
のテーブルを設けることにより、除算において、商をも
とめるための除数の整数倍の数値あるいは乗算において
、被乗数に乗数の各桁を掛けた結果帯られる値を乗算処
理することなく求めることができる、10進数表現によ
る乗除算処理にもかかわらず高速度で演算処理の結果が
得られる。
また、仮数部は人力手段により入力された10進数表現
をそのまま利用することができ、また出力手段に出力す
る際にも、演算結果の10進数の表現形式をそのまま利
用することができる。
をそのまま利用することができ、また出力手段に出力す
る際にも、演算結果の10進数の表現形式をそのまま利
用することができる。
第1図(a)は、本発明の基本構成図である。
第1図(b)は、本発明のデータフォーマットの基本構
成図である。 第2図は、本発明の実施例構成図である。 第3図は、本発明のデータフォーマットの実施例図であ
る。 第4図は本発明の除算方式のフロー図である。 第5図(a)は、本発明のテーブルの実施例(1)の図
である。 第5図(b)は、本発明の除算方式を説明するための図
である。 第6図は、本発明の乗算方式のフロー図である。 第7図(a)は、本発明のテーブルの実施例(2)の図
である。 第7図(b)は、本発明の乗算方式を説明するための図
である。 第8図(a)は、従来の除算方式の説明図である。 第8図(b)は、従来の乗算方式の説明図である。 第1図(a)において、 2 :メモリ、 3 :浮動小数点形式変換手段、 4 :正規化処理手段、 5 :演算手段、 6 : 10 = 11. 13 : ■ 4 : 15 : メモリ、 固定小数点データ、 12:レジスタ、 被演算数レジスタ、 演算数レジスタ、 演算処理部、
成図である。 第2図は、本発明の実施例構成図である。 第3図は、本発明のデータフォーマットの実施例図であ
る。 第4図は本発明の除算方式のフロー図である。 第5図(a)は、本発明のテーブルの実施例(1)の図
である。 第5図(b)は、本発明の除算方式を説明するための図
である。 第6図は、本発明の乗算方式のフロー図である。 第7図(a)は、本発明のテーブルの実施例(2)の図
である。 第7図(b)は、本発明の乗算方式を説明するための図
である。 第8図(a)は、従来の除算方式の説明図である。 第8図(b)は、従来の乗算方式の説明図である。 第1図(a)において、 2 :メモリ、 3 :浮動小数点形式変換手段、 4 :正規化処理手段、 5 :演算手段、 6 : 10 = 11. 13 : ■ 4 : 15 : メモリ、 固定小数点データ、 12:レジスタ、 被演算数レジスタ、 演算数レジスタ、 演算処理部、
Claims (1)
- 【特許請求の範囲】 1)固定小数点形式の10進数データを入力として乗除
算を行う方式において、 上記入力された固定小数点の10進数データを有効桁数
部分を10進数表現のまま仮数部とし、重みを2進数表
現の形式のデータに変換する浮動小数点形式変換手段と
、 上記変換された浮動小数点形式のデータを正規化する正
規化処理手段とを備え、 上記正規化された浮動小数点形式のデータを指数部と仮
数部とに分けて浮動小数点形式による乗除算を行うこと
を特徴とする乗除算方式。 2)請求項1に記載の乗除算方式による除算方式におい
て、 演算手段は、除数を1ないし9倍した値を格納するテー
ブルと、 被演算数と演算数を格納する2つのレジスタと、除算の
演算処理過程における被除数を格納するレジスタと、 商を格納するレジスタと、 商をもとめるため、上記テーブル上の値を引き出して被
除数と比較し、被除数値より小さくて最も近い値もしく
は同じ値を検索する検索部とを備え、除算処理を行うこ
とを特徴とする除算方式。 3)請求項2に記載の除算方式において、除算処理の結
果、商の先頭数値が0を取った場合と0以外の値をとっ
た場合とを識別する検索フラグデータ格納部と、 商の生成桁数を判定する生成桁数判定部を設け、生成桁
数判定部は検索フラグデータを参照し、有効桁数だけの
商を算出しても割り切れない場合には、商の先頭数値が
0でない場合には、有効桁数の商が得られるまで除算処
理を行わせ、先頭数値が0の場合には、有効桁数に1を
加えた数の桁数の商が得られるまで除算処理を行わせる
ことを特徴とする演算方式。 4)請求項1に記載の乗除算方式により乗算を行う方式
において、 被乗数を1ないし9倍した値を格納するテーブルと、 被乗数および乗数を格納する2つのレジスタと、上記テ
ーブルを参照して、被乗数に乗数の各桁の値を掛けた値
を引き出す検索部と、 検索部の引き出した数値を、所定ビットずつシフトして
順次加算して格納し、乗算の中間結果を格納する中間結
果格納レジスタと、 乗算における最終結果を格納する最終結果レジスタとを
備え、乗算を行うことを特徴とする乗除算方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1330695A JPH0833814B2 (ja) | 1989-12-20 | 1989-12-20 | 乗除算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1330695A JPH0833814B2 (ja) | 1989-12-20 | 1989-12-20 | 乗除算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03189817A true JPH03189817A (ja) | 1991-08-19 |
| JPH0833814B2 JPH0833814B2 (ja) | 1996-03-29 |
Family
ID=18235535
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1330695A Expired - Fee Related JPH0833814B2 (ja) | 1989-12-20 | 1989-12-20 | 乗除算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0833814B2 (ja) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4970551A (ja) * | 1972-11-08 | 1974-07-08 | ||
| JPS501626A (ja) * | 1972-12-14 | 1975-01-09 | ||
| JPS5578340A (en) * | 1978-12-09 | 1980-06-12 | Casio Comput Co Ltd | Division system |
| JPS5582353A (en) * | 1978-12-18 | 1980-06-21 | Sharp Corp | Multiplication and division operation system |
| JPS56159734A (en) * | 1980-05-13 | 1981-12-09 | Casio Comput Co Ltd | Arithmetic system |
| JPH01293437A (ja) * | 1988-05-20 | 1989-11-27 | Hitachi Ltd | 10進乗算装置 |
-
1989
- 1989-12-20 JP JP1330695A patent/JPH0833814B2/ja not_active Expired - Fee Related
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS4970551A (ja) * | 1972-11-08 | 1974-07-08 | ||
| JPS501626A (ja) * | 1972-12-14 | 1975-01-09 | ||
| JPS5578340A (en) * | 1978-12-09 | 1980-06-12 | Casio Comput Co Ltd | Division system |
| JPS5582353A (en) * | 1978-12-18 | 1980-06-21 | Sharp Corp | Multiplication and division operation system |
| JPS56159734A (en) * | 1980-05-13 | 1981-12-09 | Casio Comput Co Ltd | Arithmetic system |
| JPH01293437A (ja) * | 1988-05-20 | 1989-11-27 | Hitachi Ltd | 10進乗算装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0833814B2 (ja) | 1996-03-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0149248A2 (en) | Method and apparatus for division using interpolation approximation | |
| JPH01125626A (ja) | 逆数計算方法 | |
| EP0356153B1 (en) | Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction | |
| JPH05250146A (ja) | 整数累乗処理を行なうための回路及び方法 | |
| JP2722858B2 (ja) | 開平演算装置 | |
| JP2857505B2 (ja) | 除算装置 | |
| US4190894A (en) | High speed parallel multiplication apparatus with single-step summand reduction | |
| JPH03189817A (ja) | 乗除算装置 | |
| JP2000148447A (ja) | 乗算器及びその演算方法 | |
| JP3950920B2 (ja) | 積和演算器及びデータ処理装置 | |
| US10353671B2 (en) | Circuitry and method for performing division | |
| JP2972326B2 (ja) | 平方根計算装置 | |
| JP2761145B2 (ja) | 開平演算装置 | |
| JPS59136849A (ja) | 除算装置 | |
| EP0137525A2 (en) | Arithmetic unit in data processing system with bit-extension circuitry | |
| JPH06187132A (ja) | 開平演算装置 | |
| JPH01282633A (ja) | 非正規化数の処理方式 | |
| JP4428778B2 (ja) | 演算装置及び演算方法並びに計算装置 | |
| JP3074910B2 (ja) | 除算装置 | |
| JPH05165605A (ja) | 浮動小数点乗算器及び乗算方法 | |
| JPS62147526A (ja) | 乗算器 | |
| JPH0322025A (ja) | 指数関数演算装置 | |
| JP2530504B2 (ja) | 浮動小数点演算器 | |
| Morris | Binary systems and computer logic | |
| JPH0580973A (ja) | 正規化丸め装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |