JPH06195206A - 除算器 - Google Patents

除算器

Info

Publication number
JPH06195206A
JPH06195206A JP4346440A JP34644092A JPH06195206A JP H06195206 A JPH06195206 A JP H06195206A JP 4346440 A JP4346440 A JP 4346440A JP 34644092 A JP34644092 A JP 34644092A JP H06195206 A JPH06195206 A JP H06195206A
Authority
JP
Japan
Prior art keywords
data
bit
selector
mantissa
output
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
Application number
JP4346440A
Other languages
English (en)
Other versions
JP2803506B2 (ja
Inventor
Takashi Tatsumi
隆 辰巳
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4346440A priority Critical patent/JP2803506B2/ja
Priority to US08/172,337 priority patent/US5481745A/en
Publication of JPH06195206A publication Critical patent/JPH06195206A/ja
Application granted granted Critical
Publication of JP2803506B2 publication Critical patent/JP2803506B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 簡略なハードウエア構成で高速に除算を行う
除算器を得る。 【構成】 被除数の仮数部データを16進正規化後、値を
保持する16進正規化回路5と、除数の仮数部データを16
進正規化後、値を保持する16進正規化回路6と、被除数
用16進正規化回路5出力の仮数部データとラッチ13出力
の剰余データの少なくとも一方が入力されるとともに除
算サイクルの制御信号21〜23を受け、制御信号21が
“1”を示すと被除数の仮数部データをスルーで出力
し、制御信号22が“1”を示し、かつ、制御信号16が
“0”を示すと、16進正規化回路5出力の仮数部データ
を3ビット右シフトして出力し、制御信号22が“1”を
示し、かつ、制御信号16が“1”を示すと、16進正規化
回路5出力の仮数部データを1ビット左シフトして出力
し、制御信号23が“1”を示すと、ラッチ13出力の剰余
データをスルーで出力するセレクタ7と、セレクタ7か
らのデータと除数用16進正規化回路6出力の仮数部デー
タとで商データ及び剰余データを算出する除算回路100
を設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は除算器に関するものであ
り、特に、基数を16とする浮動小数点データの除算(以
下「16進除算」と記す。)を行う浮動小数点除算器に関
するものである。
【0002】
【従来の技術】従来の16進除算を行う除算器を図15に示
す。図15は、特開平1-125625号公報の第1図に示されて
いる除算器のブロック図である。この除算器では、ま
ず、基数を16とする浮動小数点データである被除数の仮
数部が信号線70により外部から入力され、レジスタ51に
セットされる。レジスタ51の上位3ビットは、信号線71
により、エンコーダ52に送られ、リーディングゼロの数
が検出されれてレジスタ53に保持される。セレクタ56が
信号線72を選択することにより、このリーディングゼロ
の数は、シフト数としてシフタ58にも送られる。セレク
タ57が入力線76を選択し、制御回路60がシフタ58に左方
向を指示することにより、シフタ58は、レジスタ51の出
力(被除数の仮数部)をリーディングゼロの数だけ左シ
フトする。こうして基数を2として正規化(以下「2進
正規化」と記す。)された被除数は、収束型2進除算回
路59内部の被除数レジスタに保持される。
【0003】次に、基数を16とする浮動小数点データで
ある除数の仮数部が信号線70により外部から入力され、
レジスタ51にセットされる。除数の場合も、リーディン
グゼロの数がレジスタ54に保持されることと、2進正規
化された除数が収束型2進除算回路59内部の除数レジス
タに保持されることを除いて被除数の場合と同様の動作
が行われる。この後、制御回路60の指示により、収束型
2進除算回路59は、基数を2として収束型除算を行う。
【0004】除算結果は、先の2進正規化により、2進
正規化されたデータで出力されるが、除数、被除数を2
進正規化した際の左シフトによりビットがずれている。
また、収束型除算により小数点位置が基数を16とした位
置からずれているので、補正シフトを必要とする。この
ための補正シフト量は、レジスタ53出力とレジスタ54出
力を演算回路55に入力することで求められる。この演算
でキャリーアウト(信号線75)が0の場合、セレクタ56
が信号線73を選択することにより、演算回路55の出力が
シフタ58に送られ、更にセレクタ57が信号線79を選択す
ることにより、除算回路59の出力の除算結果は、演算回
路55で計算された補正シフト量に基づいて除算結果の仮
数部及び指数部に補正が施されて、基数を16として正規
化(以下「16進正規化」と記す。)される。
【0005】上記従来例では、除算アルゴリズムとして
収束型の除算法を用いているが、引き戻し法や引き離し
法等の他のアルゴリズムを用いても同様に、除算前に除
数と被除数の仮数部データを2進正規化し、2進正規化
した時のシフト量を保持し、除算実行後、除算結果の仮
数部データを16進正規化し、16進正規化した時のシフト
量と保持していた2進正規化シフト量から指数を計算す
ることにより、除算結果を得ていた。
【0006】
【発明が解決しようとする課題】上記のような従来の16
進除算を行う除算器では、基数を16とする除数と被除数
の仮数部データを一旦2進正規化してから除算を行い、
除算実行後に2進正規化された形で出力された除算結果
を16進正規化するため、2進正規化シフトという媒介手
段が必要なばかりでなく、2進正規化シフトの際に生じ
るビットずれを補正するという手段も必要になり、処理
が複雑で演算時間がかかるという問題点があった。更
に、2進正規化シフトを行うために仮数部データの全ビ
ットにシフトしなければならないことと、除算結果のビ
ットずれを補正して適切な指数部データを得るために2
進正規化シフト量と16進正規化シフト量を保持しなけれ
ばならないこととから、ハードウエアが増加するという
問題点もあった。
【0007】この発明は上記のような問題点を解決する
ためになされたもので、16進数のままで除算を行うこと
ができ、その結果2進正規化シフトを行う必要がなく、
指数部データを得る際も2進正規化シフト量を保持する
必要のない、少ないハードウエアで高速に計算すること
のできる除算器を提供することを目的としている。
【0008】
【課題を解決するための手段】この発明に係る除算器に
おいては、基数を16とする浮動小数点データからなる被
除数のデータが入力され、前記基数に基づいて正規化す
る第1の正規化回路と、基数を16とする浮動小数点デー
タからなる除数のデータが入力され、前記基数に基づい
て正規化する第2の正規化回路と、第1の正規化回路か
らの被除数の仮数部データと除算回路からの剰余データ
の少なくとも一方が入力されるとともに除算サイクルの
表示信号を受け、除算サイクルの表示信号が第1サイク
ルを示すと被除数の仮数部データをスルーで出力し、除
算サイクルの表示信号が第2サイクルを示し、かつ、被
除数の仮数部データが除数の仮数部データよりも大きい
かあるいは等しいと、被除数の仮数部データを右シフト
して出力し、除算サイクルの表示信号が第2サイクルを
示し、かつ、被除数の仮数部データが除数の仮数部デー
タよりも小さいと、被除数の仮数部データを左シフトし
て出力し、除算サイクルの表示信号が第3サイクル以降
を示すと、剰余データをスルーで出力するセレクタと、
セレクタからのデータと第2の正規化回路からの被除数
の仮数部データとで商データ及び剰余データを算出する
除算回路とを備えたものである。
【0009】更に、第2の発明における除算器において
は、基数を16とする浮動小数点データからなる被除数の
データが入力され、前記基数に基づいて正規化する第1
の正規化回路と、基数を16とする浮動小数点データから
なる除数のデータが入力され、前記基数に基づいて正規
化する第2の正規化回路と、第1の正規化回路からの被
除数の仮数部データと除算回路からの剰余データの少な
くとも一方が入力されるとともに除算サイクルの表示信
号を受け、除算サイクルの表示信号が第1サイクルを示
すと被除数の仮数部データをスルーで出力し、除算サイ
クルの表示信号が第2サイクルを示し、かつ、被除数の
仮数部データが除数の仮数部データよりも大きいかある
いは等しいと、被除数の仮数部データを右シフトして出
力し、除算サイクルの表示信号が第2サイクル又は第3
サイクル以降を示し、かつ、被除数の仮数部データが除
数の仮数部データよりも小さいと、剰余データをスルー
で出力するセレクタと、セレクタからのデータと第2の
正規化回路からの被除数の仮数部データとで商データ及
び剰余データを算出する除算回路とを備えたものであ
る。
【0010】
【作用】この発明における除算器では、セレクタに組み
込まれた左シフト機能と右シフト機能を選択的に用い
て、16進正規化された被除数の桁合わせを予め行い、そ
の後は一定回数の繰り返し処理を行って16進数の除算結
果を求める。
【0011】
【実施例】
実施例1.図1は、64ビットの浮動小数点データで除算
を行う場合の本発明の一実施例を示すブロック図であ
り、マイクロプロセッサの一部分である。図において、
1は被除数の64ビットの浮動小数点データ用入力バス、
2は除数の64ビットの浮動小数点データ用入力バス、3
は7ビットの指数部データ(EAとする)と56ビットの
仮数部データ(MAとする)と1ビットの符号データ
(SAとする)とからなる基数を16とする被除数の浮動
小数点データ、4は7ビットの指数部データ(EBとす
る)と56ビットの仮数部データ(MBとする)と1ビッ
トの符号データ(SBとする)とからなる基数を16とす
る除数の浮動小数点データ、5は被除数用の16進正規化
回路、6は除数用の16進正規化回路、7はセレクタであ
り、制御信号に基づいて16進正規化回路5出力の仮数部
データか除算回路100 出力の剰余データのどちらか一方
を選択出力する。8は減算器、9はセレクタであり、制
御信号に基づいて前記減算器8出力の減算結果かセレク
タ7出力の仮数部データのどちらか一方を選択出力す
る。10はセレクタ9の出力をラッチする剰余ラッチ、11
は減算器8の減算結果から商を生成し、前記商をシフト
しながらラッチする商ラッチ、12は剰余ラッチ10から出
力されるデータを1ビット左シフトする1ビット左シフ
タ、13は1ビット左シフタ12の出力をラッチするラッ
チ、14は指数の演算及び符号生成を行う指数・符号生成
回路、15は商の64ビットの浮動小数点データ用出力バ
ス、16は前記減算器8から発生する制御信号であり、減
算器8の減算結果の負・非負を表す。17は前記減算器8
から発生する指数インクリメント信号、18は前記セレク
タ7を除算サイクルに基づいて制御する制御回路であ
る。21〜23は前記制御回路18から発生する除算サイクル
の制御信号であり、21は除算の第1サイクルであること
を示す制御信号で、22は除算の第2サイクルであること
を示す制御信号、23は除算の第3サイクル以降であるこ
とを示す制御信号である。また、破線内部100 をこの除
算器における除算回路とする。
【0012】次に、図1の除算器の動作について、図2
の除算器のフローチャート及び図3の除算器のタイミン
グチャートに則して説明する。除算器の動作にはサイク
ルがあり、サイクルによってセレクタ7でのデータの選
択のされ方が異なる。セレクタ7では常に制御回路18か
ら発生する制御信号21〜23によって、除算のサイクルを
知ることができる。
【0013】第1サイクルの処理としてはステップ1か
らステップ2までを行う。 (ステップ1) 被除数の64ビットの浮動小数点データ
3は入力バス1を介して入力され、16進正規化回路5に
より7ビットの指数部データEAと56ビットの仮数部デ
ータMAと1ビットの符号データSAに分解される。7
ビットの指数部データEAと1ビットの符号データSA
についてはラッチされ、合わせて8ビットのデータが指
数・符号生成回路14に伝達される。56ビットの仮数部デ
ータMAについては16進正規化に加えて上位1ビットと
下位3ビットのゼロ拡張が行われてラッチされ、60ビッ
トの仮数部データ(MA’とする)がセレクタ7に伝達
される。また、16進正規化における7ビットの正規化シ
フト量データ(EA’とする)もラッチされ、指数・符
号生成回路14に伝達される。一方、除数の64ビットの浮
動小数点データ4は入力バス2を介して入力され、16進
正規化回路6により7ビットの指数部データEBと56ビ
ットの仮数部データMBと1ビットの符号データSBに
分解される。7ビットの指数部データEBと1ビットの
符号データSBについてはラッチされ、合わせて8ビッ
トのデータが指数・符号生成回路14に伝達される。56ビ
ットの仮数部データMBについては16進正規化に加えて
上位1ビットと下位3ビットのゼロ拡張が行われてラッ
チされ、60ビットの仮数部データ(MBとする)が減算
器8に伝達される。また、16進正規化における7ビット
の正規化シフト量データEA’もラッチされ、指数・符
号生成回路14に伝達される。ここで56ビットの仮数部デ
ータMA及びMBの上位1ビットと下位3ビットのゼロ
拡張を行うのはセレクタ7で3ビットの右シフト又は1
ビットの左シフトを行うので、仮数部のビット幅に加え
て4ビット必要となるためである。
【0014】(ステップ2) 正規化回路5から伝達さ
れた60ビットの仮数部データMA’はセレクタ7により
データの値を変えずに出力され、減算器8に伝達され
る。減算器8ではセレクタ7から伝達された60ビットの
仮数部データMA’と正規化回路6から伝達された60ビ
ットの仮数部データMB’を入力データとして(MA’
−MB’)の減算を行うことにより、仮数部データM
A’と仮数部データMB’の大小比較を行う。大小比較
の結果つまり減算結果の負・非負は1ビットの制御信号
16となり、セレクタ7に伝達される。
【0015】第2サイクルでは、第1サイクルの結果よ
りステップ3からステップ5の処理を行う。 (ステップ3) ステップ3において、60ビットの仮数
部データMA’のセレクタ7による変換出力データをM
A”とする。減算器8からセレクタ7に伝達された制御
信号16が“0”つまりMA’≧MB’を表すならば、セ
レクタ7は60ビットの仮数部データMA’を3ビット右
シフトしてその上位3ビットにゼロを拡張した60ビット
の仮数部データ(MA”となる)を減算器8とセレクタ
9に伝達する。この場合、減算器8では1ビットの指数
インクリメント信号17を生成し、指数・符号生成回路14
に伝達する。一方、減算器8からセレクタ7に伝達され
た制御信号16が“1”つまりMA’<MB’を表すなら
ば、セレクタ7は60ビットの仮数部データMA’を1ビ
ット左シフトしてその下位1ビットにゼロを拡張した60
ビットの仮数部データ(MA”となる)を減算器8とセ
レクタ9に伝達する。この場合、減算器8では指数イン
クリメント信号17は生成しない。
【0016】減算器8では伝達された60ビットの仮数部
データMA”と60ビットの仮数部データMB’とで(M
A”−MB’)の減算を行い、60ビットの減算結果(M
A”−MB’)と減算結果の負・非負を表す1ビットの
制御信号16をセレクタ9及び商ラッチ11に伝達する。
【0017】(ステップ4) ステップ4において、セ
レクタ9で選択出力された60ビットの剰余データを
1 、生成される1ビットの商をQ1 とする。減算器8
からセレクタ9に伝達された制御信号16が“0”つま
り、MA”≧MB’を表すならば、セレクタ9は減算器
8から伝達された60ビットの減算結果(MA”−M
B’)を選択し、R1 =MA”−MB’となる。この
時、商ラッチでは伝達される制御信号16によって1ビッ
トの商Q1 =1を生成し、ラッチする。一方、減算器8
からセレクタ9に伝達された制御信号16が“1”つまり
MA”<MB’を表すならば、セレクタ9はセレクタ7
から伝達された60ビットの仮数部データMA”を選択
し、R1 =MA”となる。この時、商ラッチ11では伝達
される制御信号16によって1ビットの商Q1 =0を生成
し、ラッチする。
【0018】(ステップ5) セレクタ9で選択された
60ビットの剰余データR1 は剰余ラッチ10に伝達され、
ラッチされる。剰余ラッチ10でラッチされた60ビットの
剰余データR1 は、1ビット左シフタ12で1ビット左シ
フト後下位1ビットにゼロが拡張され(R1 ’とす
る)、ラッチ13によりラッチされる。
【0019】第3サイクルでは、ステップ6、ステップ
5の処理を行う。 (ステップ6) ステップ6において、セレクタ9で選
択出力された60ビットの剰余データをR2 、生成される
1ビットの商をQ2 とする。セレクタ7はラッチ13の60
ビットの剰余データR1 ’を選択し、減算器8及びセレ
クタ9に伝達する。減算器8では、セレクタ7から伝達
された60ビットの剰余データR1 ’と正規化回路6から
伝達された60ビットの仮数部データMB’とで(R1
−MB’)の減算を行い、60ビットの減算結果と減算結
果の負・非負を表す1ビットの制御信号16をセレクタ9
及び商ラッチ11に伝達する。減算器8からセレクタ9に
伝達された制御信号16が“1”つまり、R1 ’≧MB’
を表すならば、セレクタ9は減算器8から伝達された60
ビットの減算結果(R1 ’−MB’)を選択し、R2
1 ’−MB’となる。この時、商ラッチ11では伝達さ
れる制御信号16によって1ビットの商Q2 =1を生成
し、商ラッチ11のデータを1ビット左シフト後LSBに
ラッチする。一方、減算器8からセレクタ9に伝達され
た制御信号16が“1”つまりR1 ’<MB’を表すなら
ば、セレクタ9はセレクタ7から伝達された60ビットの
剰余データR1 ’を選択し、R2 =R1 ’となる。この
時、商ラッチ11では伝達される制御信号16によって1ビ
ットの商Q2 =0を生成し、商ラッチ11のデータを1ビ
ット左シフト後LSBにラッチする。
【0020】(ステップ5) セレクタ9で選択された
60ビットの剰余データR2 は剰余ラッチ10に伝達され、
ラッチされる。剰余ラッチ10でラッチされた60ビットの
剰余データR2 は、1ビット左シフタ12で1ビット左シ
フト後下位1ビットにゼロが拡張され(R2 ’とす
る)、ラッチ13によりラッチされる。
【0021】以上の第3サイクルの処理を(仮数部のビ
ット数−1)回繰り返すことにより、仮数部のビット数
分つまり56ビットの商の仮数部データが求まり、16進正
規化された状態で商ラッチ11にラッチされる。
【0022】また、商の7ビットの指数部データは、指
数・符号生成回路14において正規化回路5から伝達され
た7ビットの指数部データEA及び7ビットの正規化シ
フト量データEA’、正規化回路6から伝達された7ビ
ットの指数部データEB及び7ビットの正規化シフト量
データEB’とで(EA−EA’−EB+EB’)及び
(EA−EA’−EB+EB’+1)の指数演算を行
う。減算器8から指数インクリメント信号17が伝達され
ない場合は(EA−EA’−EB+EB’)の演算結果
が商の指数部データとなり、減算器8から指数インクリ
メント信号17が伝達された場合は(EA−EA’−EB
+EB’+1)の演算結果が商の指数部データとなる。
商の1ビットの符号データは、指数・符号生成回路14に
おいて正規化回路5から伝達された符号データSAと正
規化回路6から伝達された符号データSBの排他的論理
和により生成される。
【0023】演算終了後、商の56ビットの仮数部データ
を商ラッチ11から出力バス15に出力し、8ビットの指数
及び符号データは指数・符号生成回路14から出力バス15
に出力する。
【0024】更に、図4でセレクタ7の動作を説明す
る。図4は、セレクタ7の回路構成図であり、図におい
て、25は16進正規化回路5出力の仮数部データを3ビッ
ト右シフトして出力する回路のトランジスタゲートへの
入力信号、26は16進正規化回路5出力の仮数部データを
スルーで出力する回路のトランジスタゲートへの入力信
号、27は16進正規化回路5出力の仮数部データを1ビッ
ト左シフトして出力する回路のトランジスタゲートへの
入力信号、28はラッチ13出力のデータをスルーで出力す
る回路のトランジスタゲートへの入力信号を示す。
【0025】セレクタ7では除算の制御信号21〜23及び
16によって、入力されたデータを選択することができ
る。制御信号21が“1”の時、制御信号22及び23は必ず
“0”で、入力信号26のみが“1”となり、仮数部デー
タスルー用回路のトランジスタがONされ、仮数部デー
タMA’がスルーで出力される。制御信号22が“1”の
時、制御信号21及び23は必ず“0”で、制御信号16が選
択データを決定することになる。つまり、制御信号22が
“1”で制御信号21及び23が“0”で制御信号16が
“0”の時、入力信号25のみが“1”となり、3ビット
右シフト用回路のトランジスタがONされ、仮数部デー
タMA’が3ビット右シフトされて出力される。一方、
制御信号22が“1”で制御信号21及び23が“0”で制御
信号16が“1”の時、入力信号27のみが“1”となり、
1ビット左シフト用回路のトランジスタがONされ、仮
数部データMA’が1ビット左シフトされて出力され
る。制御信号23が“1”の時、制御信号21及び22は必ず
“0”で、入力信号28のみが“1”となり、ラッチ出力
データスルー用回路のトランジスタがONされ、ラッチ
13出力のデータがスルーで出力される。
【0026】更に、図5はセレクタ9の回路構成図であ
る。セレクタ9では、制御信号16が“1”の時セレクタ
7の仮数部データを出力する回路のトランジスタをON
し、制御信号16が“0”の時減算器8の減算結果データ
を出力する回路のトランジスタをONする。
【0027】本実施例では、入力された基数を16とする
仮数部データに対して除算前に一度16進正規化シフトを
行い、セレクタ7に組み込まれた1ビット左シフト機能
と3ビット右シフト機能を選択的に用いて16進除算に必
要なビット合わせを予め行うので、後は一定回数の繰り
返し処理を行うだけで除算結果を求めることができ、2
進正規化シフトというような媒介手段に加えて2進正規
化シフトの際に生じるビットずれを補正するという手段
も不必要になり、演算速度が向上する。また、ハードウ
エア構成に関しても以下の理由により、かなり削減する
ことができる。指数・符号生成回路14に関して、2進正
規化シフト量と16進正規化シフト量の両方を保持しなく
てもよく、除算前に行った16進正規化シフト量を保持す
るだけでよい。更に、正規化回路に含まれる正規化シフ
タに関しても、2進正規化シフトを行う場合は全ビット
にシフトできなければならないが、16進正規化シフトを
行う場合は4ビット毎にシフトできればよいので、従来
の1/4 の正規化シフタに縮小することができる。また、
2進正規化シフトの際に生じるビットずれを補正するシ
フタも不要となる。
【0028】実施例2.上記実施例1ではセレクタ7に
1ビット左シフト機能が備わっていたが、1ビット左シ
フタ12を第1サイクルのステップ2で利用することによ
ってセレクタ7から1ビット左シフト機能を削除するこ
とができる。図6は、本発明の一実施例を示すブロック
図であり、マイクロプロセッサの一部分である。図にお
いて、1〜6、8、10〜17及び21〜23は実施例1の図1
に示す除算器と同一あるいは相当するものである。37及
び39はセレクタであり、セレクタ37は制御信号に基づい
て16進正規化回路5出力の仮数部データか除算回路100
出力の剰余データのどちらか一方を選択し、セレクタ39
は制御信号に基づいて減算器8出力の減算結果かセレク
タ37出力の仮数部データのどちらか一方を選択出力す
る。本実施例では制御信号21〜23がセレクタ37とセレク
タ39に伝達される。
【0029】更に、除算器の動作について、図7の除算
器のフローチャート及び図8の除算器のタイミングチャ
ートに則して説明する。セレクタ37とセレクタ39では常
に、制御回路18から発生する除算のサイクルを示す制御
信号21〜23によって、除算のサイクルを知ることができ
る。
【0030】第1サイクルの処理としてはステップ1か
らステップ2までを行う。 (ステップ1) 被除数の64ビットの浮動小数点データ
3は入力バス1を介して入力され、16進正規化回路5に
より7ビットの指数部データEAと56ビットの仮数部デ
ータMAと1ビットの符号データSAに分解される。7
ビットの指数部データEAと1ビットの符号データSA
についてはラッチされ、合わせて8ビットのデータが指
数・符号生成回路14に伝達される。56ビットの仮数部デ
ータMAについては16進正規化に加えて上位1ビットと
下位3ビットのゼロ拡張が行われてラッチされ、60ビッ
トの仮数部データ(MA’とする)がセレクタ37に伝達
される。また、16進正規化における7ビットの正規化シ
フト量データ(EA’とする)もラッチされ、指数・符
号生成回路14に伝達される。一方、除数の64ビットの浮
動小数点データ4は16進正規化回路6により7ビットの
指数部データEBと56ビットの仮数部データMBと1ビ
ットの符号データSBに分解される。7ビットの指数部
データEBと1ビットの符号データSBについてはラッ
チされ、合わせて8ビットのデータが指数・符号生成回
路14に伝達される。56ビットの仮数部データMBにいて
は16進正規化に加えて上位1ビットと下位3ビットのゼ
ロ拡張が行われてラッチされ、60ビットの仮数部データ
(MB’とする)が減算器8に伝達される。また、16進
正規化における7ビットの正規化シフト量データ(E
B’とする)もラッチされ、指数・符号生成回路14に伝
達される。ここで56ビットの仮数部データMA及びMB
の上位1ビットと下位3ビットのゼロ拡張を行うのはセ
レクタ37で3ビットの右シフトか1ビット左シフタ12で
1ビットの左シフトを行うので、仮数部のビット幅に加
えて4ビット必要となるためである。
【0031】(ステップ2) 正規化回路5から伝達さ
れた60ビットの仮数部データMA’はセレクタ37により
データの値を変えずに出力され、減算器8とセレクタ39
に伝達される。減算器8ではセレクタ37から伝達された
60ビットの仮数部データMA’と正規化回路6から伝達
された60ビットの仮数部データMB’を入力データとし
て(MA’−MB’)の減算を行うことにより、仮数部
データMA’と仮数部データMB’の大小比較を行う。
大小比較の結果つまり減算結果の負・非負は1ビットの
制御信号16となり、セレクタ37及びセレクタ39に伝達さ
れる。セレクタ39では、前記制御信号16が入力されると
セレクタ37から伝達された60ビットの仮数部データM
A’を選択し、剰余ラッチ10に伝達する。剰余ラッチ10
でラッチされた60ビットの仮数部データMA’は1ビッ
ト左シフタ12で1ビット左シフト後下位1ビットにゼロ
が拡張され(MA”とする)、ラッチ13によりラッチさ
れる。
【0032】第2サイクルでは、第1サイクルの結果よ
りステップ3からステップ5の処理を行う。 (ステップ3) ステップ3において、セレクタ37で選
択出力された60ビットの仮数部データをMA'"とする。
減算器8からセレクタ37に伝達された制御信号16が
“0”つまりMA’≧MB’を表すならば、セレクタ37
は正規化回路5から伝達された60ビットの仮数部データ
MA’を選択し、選択した仮数部データMA’に対して
3ビット右シフトに加えてその上位3ビットにゼロを拡
張した60ビットの仮数部データ(MA'"となる)を減算
器8とセレクタ39に伝達する。この場合、減算器8では
1ビットの指数インクリメント信号17を生成し、指数・
符号生成回路14に伝達する。一方、減算器8からセレク
タ37に伝達された制御信号16が“1”つまりMA’<M
B’を表すならば、セレクタ37はラッチ13に予めラッチ
されている60ビットの仮数部データMA”を選択し、M
A'"=MA”となり、減算器8とセレクタ39に伝達す
る。この場合、減算器8では指数インクリメント信号17
は生成しない。
【0033】減算器8では伝達された仮数部データM
A'"と仮数部データMB’とで(MA'"−MB’)の減
算を行い、60ビットの減算結果(MA'"−MB’)と減
算結果の負・非負を表す1ビットの制御信号16をセレク
タ39及び商ラッチ11に伝達する。
【0034】(ステップ4) ステップ4において、セ
レクタ39で選択出力された60ビットの剰余データを
1 、生成される1ビットの商をQ1 とする。減算器8
からセレクタ39に伝達された制御信号16が“0”つま
り、MA'"≧MB’を表すならば、セレクタ39は減算器
8から伝達された60ビットの減算結果(MA'"−M
B’)を選択し、R1 =MA'"−MB’となる。この場
合、商ラッチでは伝達される制御信号16によって1ビッ
トの商Q1 =1を生成し、ラッチする。一方、減算器8
からセレクタ39に伝達された制御信号16が“1”つまり
MA'"<MB’を表すならば、セレクタ39はセレクタ37
から伝達された60ビットの仮数部データMA'"を選択
し、R1 =MA'"となる。この場合、商ラッチ11では伝
達される制御信号16によって1ビットの商Q1 =0を生
成し、ラッチする。
【0035】(ステップ5) セレクタ39で選択された
60ビットの剰余データR1 は剰余ラッチ10に伝達され、
ラッチされる。剰余ラッチ10でラッチされた60ビットの
剰余データR1 は、1ビット左シフタ12で1ビット左シ
フト後下位1ビットにゼロが拡張され(R1 ’とす
る)、ラッチ13によりラッチされる。
【0036】第3サイクルでは、ステップ6、ステップ
5の処理を行う。 (ステップ6) ステップ6において、セレクタ9で選
択出力された60ビットの剰余データをR2 、生成される
1ビットの商をQ2 とする。セレクタ37はラッチ13の60
ビットの剰余データR1 ’を選択し、減算器8及びセレ
クタ39に伝達する。減算器8では、セレクタ37から伝達
された60ビットの剰余データR1 ’と正規化回路6から
伝達された60ビットの仮数部データMB’とで(R1
−MB’)の減算を行い、60ビットの減算結果と減算結
果の負・非負を表す1ビットの制御信号16をセレクタ39
及び商ラッチ11に伝達する。減算器8からセレクタ39に
伝達された制御信号16が“0”つまり、R1 ’≧MB’
を表すならば、セレクタ39は減算器8から伝達された60
ビットの減算結果(R1 ’−MB’)を選択し、R2
1 ’−MB’となる。この場合、商ラッチ11では伝達
される制御信号16によって1ビットの商Q2 =1を生成
し、商ラッチ11のデータを1ビット左シフト後LSBに
ラッチする。一方、減算器8からセレクタ39に伝達され
た制御信号16が“1”つまりR1 ’<MB’を表すなら
ば、セレクタ39はセレクタ37から伝達された60ビットの
剰余データR1 ’を選択し、R2 =R1 ’となる。この
場合、商ラッチ11では伝達される制御信号16によって1
ビットの商Q2 =0を生成し、商ラッチ11のデータを1
ビット左シフト後LSBにラッチする。
【0037】(ステップ5) セレクタ39で選択された
60ビットの剰余データR2 は剰余ラッチ10に伝達され、
ラッチされる。剰余ラッチ10でラッチされた60ビットの
剰余データR2 は、1ビット左シフタ12で1ビット左シ
フト後下位1ビットにゼロが拡張され(R2 ’とす
る)、ラッチ13によりラッチされる。
【0038】以上の第3サイクルの処理を(仮数部のビ
ット数−1)回繰り返すことにより、仮数部のビット数
分つまり56ビットの商の仮数部データが求まり、16進正
規化された状態で商ラッチ11にラッチされる。
【0039】また、商の7ビットの指数部データは、指
数・符号生成回路14において正規化回路5から伝達され
た7ビットの指数部データEA及び7ビットの正規化シ
フト量データEA’、正規化回路6から伝達された7ビ
ットの指数部データEB及び7ビットの正規化シフト量
データEB’とで(EA−EA’−EB+EB’)及び
(EA−EA’−EB+EB’+1)の指数演算を行
う。減算器8から指数インクリメント信号17が伝達され
ない場合は(EA−EA’−EB+EB’)の演算結果
が商の指数部データとなり、減算器8から指数インクリ
メント信号17が伝達された場合は(EA−EA’−EB
+EB’+1)の演算結果が商の指数部データとなる。
商の1ビットの符号データは、指数・符号生成回路14に
おいて正規化回路5から伝達された符号データSAと正
規化回路6から伝達された符号データSBの排他的論理
和により生成される。
【0040】演算終了後、商の56ビットの仮数部データ
を商ラッチ11から出力バス15に出力し、8ビットの指数
及び符号データは指数・符号生成回路14から出力バス15
に出力する。
【0041】更に、図9でセレクタ37の動作を説明す
る。図9は、セレクタ37の回路構成図であり、図におい
て、25〜26及び28は前記実施例1における図4のセレク
タ37の回路構成図と同一あるいは相当するものである。
【0042】セレクタ37では制御信号21〜23及び16によ
って、入力されたデータを選択することができる。制御
信号21が“1”の時、制御信号22及び23は必ず“0”
で、制御信号16に因らず、入力信号26のみが“1”とな
り、仮数部データスルー用回路のトランジスタがONさ
れ、仮数部データMA’がスルーで出力される。制御信
号22が“1”の時、制御信号21及び23は必ず“0”で、
制御信号16が選択データを決定することになる。つま
り、制御信号22が“1”で制御信号23が“0”で制御信
号16が“0”の時、入力信号28のみが“1”となり、ラ
ッチ出力データスルー用回路のトランジスタがONさ
れ、ラッチ13出力のデータがスルーで出力されることに
なる。一方、制御信号22が“1”で制御信号23が“0”
で制御信号16が“1”の時は、入力信号25のみが“1”
となり、仮数部データ3ビット右シフト用回路のトラン
ジスタがONされ、仮数部データMA’が3ビット右シ
フトされて出力されることになる。
【0043】また、図10でセレクタ39の動作を説明す
る。図10はセレクタ39の回路構成図である。
【0044】セレクタ39では制御信号21〜23及び16によ
って、入力されたデータを選択することができる。制御
信号22と制御信号23のORゲートによる出力が“1”の
時、制御信号21は必ず“0”になり、制御信号16が選択
データ決定することになる。つまり、制御信号16が
“1”の時、セレクタ39はセレクタ37出力を選択し、制
御信号16が“0”の時、セレクタ39は減算器出力を選択
する。制御信号16に因らずセレクタ37出力を選択する。
一方、制御信号22と制御信号23のORゲートによる出力
が“0”の時、制御信号21は必ず“1”になり、制御信
号16に因らずセレクタ39はセレクタ37出力を選択する。
【0045】本実施例では、1ビット左シフタ12を第1
サイクルのステップ2で利用するように制御することに
より、上記実施例1におけるセレクタ7から1ビット左
シフト機能を削除することができる。
【0046】実施例3.マイクロプロセッサ内で10進数
は、10進の桁ごとに2進数に変換された4ビット単位の
データ(例:12→00010010)で表記されている。本発明
の除算器を用いて、10進表記された被除数データと除数
データとで除算(以下「10進除算」と記す。)を行い、
10進表記された商データを求めることができる。図11
は、実施例2における16進除算用の浮動小数点除算器に
10進除算のサイクルを示す制御信号24と剰余ラッチ10か
ら出力される部分剰余データを出力バス15に伝達する信
号線19を設けた場合の実施態様を示すブロック図であ
り、16進除算を行うだけでなく、10進除算にも利用でき
るものである。
【0047】本発明の除算器を用いて10進除算を行う場
合は、まず外部のハードウエアで除数データのみ2進数
に変換する。被除数データの上位4ビットデータ(10進
の最上位桁)と2進数に変換された除数データは、除算
器の仮数部データのビット数に合わせて上位桁にゼロが
拡張された状態で、被除数データは入力バス1の仮数部
データ用入力信号線(図示せず)に、除数データは入力
バス2の仮数部データ用入力信号線(図示せず)に入力
される。この場合、仮数部データのみの演算になるの
で、入力バス1及び2の指数部データ及び符号データ用
入力信号線にデータを入力する必要はない。
【0048】データ入力後の除算器の動作について、図
12の除算器のフローチャート及び図13の除算器のタイミ
ングチャートに則して説明する。セレクタ37とセレクタ
39では常に、制御回路18から発生する除算のサイクルを
示す制御信号21〜24によって、除算のサイクルを知るこ
とができる。
【0049】第1サイクルの処理としてはステップ1か
らステップ4までを行う。 (ステップ1) 入力された被除数の56ビットの仮数部
データMAは正規化回路5により上位1ビットと下位3
ビットのゼロ拡張が行われてラッチされ、60ビットの仮
数部データ(MA’とする)がセレクタ37に伝達され
る。除数の56ビットの仮数部データMBは正規化回路6
により上位1ビットと下位3ビットのゼロ拡張が行われ
てラッチされ、60ビットの仮数部データ(MB’とす
る)が減算器8に伝達される。
【0050】(ステップ2) 正規化回路5から伝達さ
れた60ビットの仮数部データMA’はセレクタ37により
3ビット右シフトに加えて上位3ビットに0が拡張され
て出力され(MA”とする)、減算器8とセレクタ39に
伝達される。減算器8では、セレクタ37から出力された
60ビットの仮数部データMA”と正規化回路6から出力
された60ビットの仮数部データMB’を入力データとし
て(MA”−MB’)の減算を行うことにより、仮数部
データMA”と仮数部データMB’の大小比較を行う。
大小比較の結果つまり減算結果の負・非負は1ビットの
制御信号16となり、セレクタ39及び商ラッチ11に伝達さ
れる。
【0051】(ステップ3) ステップ3において、セ
レクタ39で選択出力された60ビットの剰余データを
1 、生成される1ビットの商をQ1 とする。減算器8
からセレクタ39に伝達された制御信号16が“0”つま
り、MA”≧MB’を表すならば、セレクタ39は減算器
8から伝達された60ビットの減算結果(MA”−M
B’)を選択し、R1 =MA”−MB’となる。この
時、商ラッチ11では伝達される制御信号16によって1ビ
ットの商Q1 =1を生成し、ラッチする。一方、減算器
8からセレクタ37に伝達された制御信号16が“1”つま
りMA”<MB’を表すならば、セレクタ39はセレクタ
37出力の60ビットの仮数部データMA”を選択し、R1
=MA”となる。この時、商ラッチ11では伝達される制
御信号16によって1ビットの商Q1 =0を生成し、ラッ
チする。
【0052】(ステップ4) セレクタ39で選択された
60ビットの剰余データR1 は剰余ラッチ10に伝達され、
ラッチされる。剰余ラッチ10でラッチされた60ビットの
剰余データR1 は、1ビット左シフタ12で1ビット左シ
フト後下位1ビットにゼロが拡張され(R1 ’とす
る)、ラッチ13によりラッチされる。
【0053】第2サイクルの処理としては、ステップ
5、ステップ3、ステップ4を行う。 (ステップ5) セレクタ37はラッチ13から出力された
60ビットの剰余データR1 ’を選択し、減算器8及びセ
レクタ39に伝達する。減算器8では、セレクタ37から伝
達された60ビットの剰余データR1 ’と正規化回路6か
ら伝達された仮数部データMB’とで(R1 ’−M
B’)の減算を行い、減算結果の負・非負は1ビットの
制御信号16となり、セレクタ39及び商ラッチ11に伝達さ
れる。
【0054】(ステップ3) ステップ3において、セ
レクタ39で選択出力された60ビットの剰余データを
2 、生成される1ビットの商をQ2 とする。減算器8
からセレクタ39に伝達された制御信号16が“0”つま
り、MA”≧MB’を表すならば、セレクタ39は減算器
8から伝達された60ビットの減算結果(R1 ’−M
B’)を選択し、R2 =MA”−MB’となる。この
時、商ラッチ11では伝達される制御信号16によって1ビ
ットの商Q2 =1を生成し、商ラッチ11のデータを1ビ
ット左シフト後、LSBにラッチする。一方、減算器8
からセレクタ37に伝達された制御信号16が“1”つまり
MA”<MB’を表すならば、セレクタ39はセレクタ37
出力の剰余データR1 ’を選択し、R2 =R1 ’とな
る。この時、商ラッチ11では伝達される制御信号16
によって1ビットの商Q2 =0を生成し、商ラッチ11の
データを1ビット左シフト後ラッチする。
【0055】(ステップ4) セレクタ39で選択出力さ
れた60ビットの剰余データR2 は剰余ラッチ10に伝達さ
れ、ラッチされる。剰余ラッチ10でラッチされた60ビッ
トの剰余データR2 は、1ビット左シフタ12で1ビット
左シフト後下位1ビットにゼロが拡張され(R2 ’とす
る)、ラッチ13によりラッチされる。
【0056】以上の第2サイクルの処理を3回繰り返す
ことにより、4ビットの商(Q1 〜Q4 となる)つまり
10進数の商の最上位桁が求まり、商ラッチ11によりラッ
チされる。4ビットの商はLSB整置された状態で商ラ
ッチ11から出力バス15に出力される。また、部分剰余デ
ータ(R4 となる)に関しても、LSB整置された状態
で剰余ラッチ10から信号線19を介して出力バス15に出力
される。
【0057】外部のハードウエアにおいて、出力された
56ビットの部分剰余データは10倍される。また、10進表
記された被除数の仮数部データの次の上位4ビットデー
タ(10進数では上位2桁目)は除算器の仮数部データの
ビット数に合わせて上位桁にゼロが拡張される。次に、
10倍された56ビットの部分剰余データとゼロが拡張され
た56ビットのデータとが加算され、加算されたデータは
被除数用入力バス1の仮数部データ用入力信号線(図示
せず)に入力される。除数データに関しては常に一定で
あり、既に入力されている。除算器では、次のデータが
セットされると更に上記動作を行い、10進数の商の上位
2桁目を求める。
【0058】以上の処理が10進数の桁数回繰り返し行わ
れて、10進除算が行われる。
【0059】更に、図14により10進除算が行われる場合
のセレクタ37の動作を説明する。16進除算が行われる場
合は、上記実施例2に示すように、制御信号21〜23が除
算のサイクルを示すことになるが、10進除算が行われる
場合は、制御信号24が10進除算の第1サイクルを示し、
制御信号23が10進除算の第2サイクル以降を示す信号と
なる。よって、制御信号21および22は10進除算が行われ
ている間は“0”のままである。制御信号24が“1”の
時制御信号23は必ず“0”で、制御信号16に因らず、入
力信号25のみが“1”となり、3ビット右シフト用回路
のトランジスタがONされ、仮数部データMA’が3ビ
ット右シフトされて出力される。制御信号24が“0”の
時制御信号23は必ず“1”で、制御信号16に因らず、入
力信号28のみが“1”となり、ラッチ出力データスルー
用回路のトランジスタがONされ、ラッチ13出力のデー
タがスルーで出力される。
【0060】また、セレクタ39においては、図10の制御
信号22と23の論理和を制御信号22と23と24の論理和にし
てやればよい。
【0061】本実施例による除算器では、実施例2にお
ける16進除算用の浮動小数点除算器に10進除算のサイク
ルを示す制御信号24と剰余ラッチ10から出力される部分
剰余データを出力バス15に伝達する信号線19を設けるこ
とにより、16進除算を行うだけでなく、10進除算にも利
用できる。
【0062】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に記載されているような効果を奏す
る。
【0063】入力された16を基数とする仮数部データに
対して除算前に一度16進正規化シフトを行い、セレクタ
に組み込まれたデータのシフト機能とスルー出力機能を
選択的に用いて16進除算に必要なビット合わせを予め行
うので、後は一定回数の繰り返し処理を行うだけで除算
結果を求めることができ、2進正規化シフトというよう
な媒介手段に加えて2進正規化シフトの際に生じるビッ
トずれを補正するという手段も不必要になり、演算速度
が向上し、ハードウエア構成を削減することができる。
【図面の簡単な説明】
【図1】この発明の実施例1を示す除算器のブロック図
である。
【図2】この発明の実施例1の除算器の動作を示すフロ
ーチャートである。
【図3】この発明の実施例1の除算器の動作タイミング
を示すタイミングチャートである。
【図4】この発明の実施例1を示す第1のセレクタであ
る。
【図5】この発明の実施例1を示す第2のセレクタであ
る。
【図6】この発明の実施例2を示す除算器のブロック図
である。
【図7】この発明の実施例2の除算器の動作を示すフロ
ーチャートである。
【図8】この発明の実施例2の除算器の動作タイミング
を示すタイミングチャートである。
【図9】この発明の実施例2を示す第1のセレクタであ
る。
【図10】この発明の実施例2を示す第2のセレクタで
ある。
【図11】この発明の実施例3を示す除算器のブロック
図である。
【図12】この発明の実施例3の除算器の動作を示すフ
ローチャートである。
【図13】この発明の実施例3の除算器の動作タイミン
グを示すタイミングチャートである。
【図14】この発明の実施例3を示す第1のセレクタで
ある。
【図15】従来の除算器を示すブロック図である。
【符号の説明】
1 被除数の浮動小数点データ用入力バス 2 除数の浮動小数点データ用入力バス 3 被除数の浮動小数点データ 4 除数の浮動小数点データ 5 被除数用16進正規化回路 6 除数用16進正規化回路 7、37 第1のセレクタ 8 減算器 9、39 第2のセレクタ 10 剰余ラッチ 11 商ラッチ 12 1ビット左シフタ 13 ラッチ 14 指数・符号生成回路 15 出力バス 16、17、21、22、23、24 制御信号 18 制御回路 100 除算回路
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年7月9日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】第1サイクルの処理としてはステップ1か
らステップ2までを行う。 (ステップ1) 被除数の64ビットの浮動小数点デー
タ3は入力バス1を介して入力され、16進正規化回路
5により7ビットの指数部データEAと56ビットの仮
数部データMAと1ビットの符号データSAに分解され
る。7ビットの指数部データEAと1ビットの符号デー
タSAについてはラッチされ、合わせて8ビットのデー
タが指数・符号生成回路14に伝達される。56ビット
の仮数部データMAについては16進正規化に加えて上
位1ビットと下位3ビットのゼロ拡張が行われてラッチ
され、60ビットの仮数部データ(MA’とする)がセ
レクタ7に伝達される。また、16進正規化における7
ビットの正規化シフト量データ(EA’とする)もラッ
チされ、指数・符号生成回路14に伝達される。一方、
除数の64ビットの浮動小数点データ4は入力バス2を
介して入力され、16進正規化回路6により7ビットの
指数部データEBと56ビットの仮数部データMBと1
ビットの符号データSBに分解される。7ビットの指数
部データEBと1ビットの符号データSBについてはラ
ッチされ、合わせて8ビットのデータが指数・符号生成
回路14に伝達される。56ビットの仮数部データMB
については16進正規化に加えて上位1ビットと下位3
ビットのゼロ拡張が行われてラッチされ、60ビットの
仮数部データ(MB’とする)が減算器8に伝達され
る。また、16進正規化における7ビットの正規化シフ
ト量データEA’もラッチされ、指数・符号生成回路1
4に伝達される。ここで56ビットの仮数部データMA
及びMBの上位1ビットと下位3ビットのゼロ拡張を行
うのはセレクタ7で3ビットの右シフト又は1ビットの
左シフトを行うので、仮数部のビット幅に加えて4ビッ
ト必要となるためである。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0036
【補正方法】変更
【補正内容】
【0036】第3サイクルでは、ステップ6、ステップ
5の処理を行う。 (ステップ6) ステップ6において、セレクタ39
選択出力された60ビットの剰余データをR2 、生成さ
れる1ビットの商をQ2 とする。セレクタ37はラッチ
13の60ビットの剰余データR1 ’を選択し、減算器
8及びセレクタ39に伝達する。減算器8では、セレク
タ37から伝達された60ビットの剰余データR1 ’と
正規化回路6から伝達された60ビットの仮数部データ
MB’とで(R1 ’−MB’)の減算を行い、60ビッ
トの減算結果と減算結果の負・非負を表す1ビットの制
御信号16をセレクタ39及び商ラッチ11に伝達す
る。減算器8からセレクタ39に伝達された制御信号1
6が“0”つまり、R1 ’≧MB’を表すならば、セレ
クタ39は減算器8から伝達された60ビットの減算結
果(R1 ’−MB’)を選択し、R2 =R1 ’−MB’
となる。この場合、商ラッチ11では伝達される制御信
号16によって1ビットの商Q2 =1を生成し、商ラッ
チ11のデータを1ビット左シフト後LSBにラッチす
る。一方、減算器8からセレクタ39に伝達された制御
信号16にが“1”つまりR1 ’<MB’を表すなら
ば、セレクタ39はセレクタ37から伝達された60ビ
ットの剰余データR1 ’を選択し、R2 =R1 ’とな
る。この場合、商ラッチ11では伝達される制御信号1
6によって1ビット商のQ2 =0を生成し、商ラッチ1
1のデータを1ビット左シフト後LSBにラッチする。
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図1
【補正方法】変更
【補正内容】
【図1】 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年2月17日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正内容】
【図4】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図14
【補正方法】変更
【補正内容】
【図14】

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 基数を16とする浮動小数点データからな
    る被除数のデータが入力され、前記基数に基づいて正規
    化する第1の正規化回路と、 基数を16とする浮動小数点データからなる除数のデータ
    が入力され、前記基数に基づいて正規化する第2の正規
    化回路と、 第1の正規化回路からの被除数の仮数部データと除算回
    路からの剰余データの少なくとも一方が入力されるとと
    もに除算サイクルの表示信号を受け、除算サイクルの表
    示信号が第1サイクルを示すと被除数の仮数部データを
    スルーで出力し、除算サイクルの表示信号が第2サイク
    ルを示し、かつ、被除数の仮数部データが除数の仮数部
    データよりも大きいかあるいは等しいと、被除数の仮数
    部データを右シフトして出力し、除算サイクルの表示信
    号が第2サイクルを示し、かつ、被除数の仮数部データ
    が除数の仮数部データよりも小さいと、被除数の仮数部
    データを左シフトして出力し、除算サイクルの表示信号
    が第3サイクル以降を示すと、剰余データをスルーで出
    力するセレクタと、 前記セレクタからのデータと第2の正規化回路からの被
    除数の仮数部データとで商データ及び剰余データを算出
    する除算回路を持つことを特徴とする除算器。
  2. 【請求項2】 基数を16とする浮動小数点データからな
    る被除数のデータが入力され、前記基数に基づいて正規
    化する第1の正規化回路と、 基数を16とする浮動小数点データからなる除数のデータ
    が入力され、前記基数に基づいて正規化する第2の正規
    化回路と、 第1の正規化回路からの被除数の仮数部データと除算回
    路からの剰余データの少なくとも一方が入力されるとと
    もに除算サイクルの表示信号を受け、除算サイクルの表
    示信号が第1サイクルを示すと被除数の仮数部データを
    スルーで出力し、除算サイクルの表示信号が第2サイク
    ルを示し、かつ、被除数の仮数部データが除数の仮数部
    データよりも大きいかあるいは等しいと、被除数の仮数
    部データを右シフトして出力し、除算サイクルの表示信
    号が第2サイクル又は第3サイクル以降を示し、かつ、
    被除数の仮数部データが除数の仮数部データよりも小さ
    いと、剰余データをスルーで出力するセレクタと、 前記セレクタからのデータと第2の正規化回路からの被
    除数の仮数部データとで商データ及び剰余データを算出
    する除算回路を持つことを特徴とする除算器。
JP4346440A 1992-12-25 1992-12-25 除算器 Expired - Fee Related JP2803506B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4346440A JP2803506B2 (ja) 1992-12-25 1992-12-25 除算器
US08/172,337 US5481745A (en) 1992-12-25 1993-12-23 High speed divider for performing hexadecimal division having control circuit for generating different division cycle signals to control circuit in performing specific functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4346440A JP2803506B2 (ja) 1992-12-25 1992-12-25 除算器

Publications (2)

Publication Number Publication Date
JPH06195206A true JPH06195206A (ja) 1994-07-15
JP2803506B2 JP2803506B2 (ja) 1998-09-24

Family

ID=18383443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4346440A Expired - Fee Related JP2803506B2 (ja) 1992-12-25 1992-12-25 除算器

Country Status (2)

Country Link
US (1) US5481745A (ja)
JP (1) JP2803506B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5946223A (en) * 1995-12-08 1999-08-31 Matsushita Electric Industrial Co. Ltd. Subtraction/shift-type dividing device producing a 2-bit partial quotient in each cycle
USH1993H1 (en) * 1997-06-25 2001-09-04 Sun Microsystems, Inc. Floating-point division and squareroot circuit with early determination of resultant exponent
JP4388980B2 (ja) * 2005-12-02 2009-12-24 富士通株式会社 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置
JPS61213927A (ja) * 1985-03-18 1986-09-22 Hitachi Ltd 浮動小数点演算処理装置
US4760550A (en) * 1986-09-11 1988-07-26 Amdahl Corporation Saving cycles in floating point division
JPH01125625A (ja) * 1987-11-10 1989-05-18 Shikoku Nippon Denki Software Kk 除算装置
US5097435A (en) * 1988-12-24 1992-03-17 Kabushiki Kaisha Toshiba High speed dividing apparatus
US5267186A (en) * 1990-04-02 1993-11-30 Advanced Micro Devices, Inc. Normalizing pipelined floating point processing unit
JPH04283831A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 除算器
US5258944A (en) * 1992-09-01 1993-11-02 Cray Research, Inc. High performance mantissa divider

Also Published As

Publication number Publication date
JP2803506B2 (ja) 1998-09-24
US5481745A (en) 1996-01-02

Similar Documents

Publication Publication Date Title
JP3845009B2 (ja) 積和演算装置、及び積和演算方法
JPH07182141A (ja) 演算装置及び演算方法
JP2689414B2 (ja) 浮動小数点表現変換器
US7809784B2 (en) Apparatus and method for calculation of divisions and square roots
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
US10310809B2 (en) Apparatus and method for supporting a conversion instruction
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JPH06195206A (ja) 除算器
JP2511527B2 (ja) 浮動小数点演算器
JPS63123125A (ja) 浮動小数点数の加算装置
JPH0546363A (ja) 除算器
JP2645422B2 (ja) 浮動小数点演算処理装置
JPH0540605A (ja) 浮動小数点乗算装置
JP2578482B2 (ja) 浮動小数点演算器
JP2555577B2 (ja) 演算装置
JP3517162B2 (ja) 除算・開平演算装置
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
JP2605848B2 (ja) 非回復型除算器
JP2777265B2 (ja) 高基数開平演算装置
JP2995721B2 (ja) 除算装置および除算方法
JP2761145B2 (ja) 開平演算装置
JP2575856B2 (ja) 演算回路
JPH03217938A (ja) 浮動小数点丸め正規化装置
JPH03288927A (ja) 平方根演算装置
JPH0659862A (ja) 乗算器

Legal Events

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