JP2872263B2 - 高速演算器における丸め回路 - Google Patents
高速演算器における丸め回路Info
- Publication number
- JP2872263B2 JP2872263B2 JP1080242A JP8024289A JP2872263B2 JP 2872263 B2 JP2872263 B2 JP 2872263B2 JP 1080242 A JP1080242 A JP 1080242A JP 8024289 A JP8024289 A JP 8024289A JP 2872263 B2 JP2872263 B2 JP 2872263B2
- Authority
- JP
- Japan
- Prior art keywords
- rounding
- bit
- bits
- circuit
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49936—Normalisation mentioned as feature only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Nonlinear Science (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 産業上の利用分野 本発明は一般に集積回路に関し、より詳細には、加算
器アレイの出力を丸め、変換し、正規化する高速回路に
関する。
器アレイの出力を丸め、変換し、正規化する高速回路に
関する。
従来の技術及び問題点 計算機、信号処理装置及びプロセス制御装置のような
多くのシステムでは、浮動小数点数の高速計算が重要な
設計要素である。数の浮動小数点表示は、その大きなダ
イナミック・レンジのため、一般にこれらのシステムに
使用される。先進技術により、高度な並列技術を用いて
浮動小数点数を乗算して速度を増すことができる集積回
路を製作することが可能になる。
多くのシステムでは、浮動小数点数の高速計算が重要な
設計要素である。数の浮動小数点表示は、その大きなダ
イナミック・レンジのため、一般にこれらのシステムに
使用される。先進技術により、高度な並列技術を用いて
浮動小数点数を乗算して速度を増すことができる集積回
路を製作することが可能になる。
並列アレイ乗算器は、全ての部分積を同時に発生し、
それから加算器のアレイでその部分積を加算する。加算
器のアレイは部分積の数字を、和ストリームと桁上げス
トリームとしてしばしば言及される2個の数字に変形す
る。それから、和及び桁上げストリームを最終の加算器
で組み合わせて、積を生じる。最終の加算には部分積の
加算時間と同じくらいの時間が必要だが、これは低命令
ビットがそれよりもずっと高いビットへ桁上げ伝播され
ることになる可能性があるためで、桁上げ連鎖と呼ばれ
るものである。ゆえに、加算器アレイと最終加算器との
間にパイプライン・レジスタがしばしば挿入される。
それから加算器のアレイでその部分積を加算する。加算
器のアレイは部分積の数字を、和ストリームと桁上げス
トリームとしてしばしば言及される2個の数字に変形す
る。それから、和及び桁上げストリームを最終の加算器
で組み合わせて、積を生じる。最終の加算には部分積の
加算時間と同じくらいの時間が必要だが、これは低命令
ビットがそれよりもずっと高いビットへ桁上げ伝播され
ることになる可能性があるためで、桁上げ連鎖と呼ばれ
るものである。ゆえに、加算器アレイと最終加算器との
間にパイプライン・レジスタがしばしば挿入される。
いくつかの乗算器では符号付冗長数字表示を用いて、
並列方法で部分積を加算する一方、回路密度を増加しか
つ配列が容易な反復構造が維持されるツリー方式を利用
する。符号付ディジット表示は各ビット位置ごとに2個
のビットを用いて、1、0、或いは−1を表わす。符号
付ディジット加算器では長い桁上げ連鎖及びそれと関連
する遅延が回避される。符号付ディジット加算器アレイ
は部分積を単一の符号付ディジット数字に加算する。し
かし、符号付ディジット表示は共通様式ではないので、
2進法の大きさの表示等の従来表示に変換しなければな
らない。変換回路は並列アレイ方式の最終加算器と非常
に類似している。符号付ディジット加算は、IEEEトラン
ザクションズ・オン・コンピューターズ誌、C−34巻、
第9号(1985年9月号)所載のN.タカギ他の論文「冗長
2進加算ツリーを用いた高速VLSI乗算アルゴリズム」に
より詳細に説明されている。
並列方法で部分積を加算する一方、回路密度を増加しか
つ配列が容易な反復構造が維持されるツリー方式を利用
する。符号付ディジット表示は各ビット位置ごとに2個
のビットを用いて、1、0、或いは−1を表わす。符号
付ディジット加算器では長い桁上げ連鎖及びそれと関連
する遅延が回避される。符号付ディジット加算器アレイ
は部分積を単一の符号付ディジット数字に加算する。し
かし、符号付ディジット表示は共通様式ではないので、
2進法の大きさの表示等の従来表示に変換しなければな
らない。変換回路は並列アレイ方式の最終加算器と非常
に類似している。符号付ディジット加算は、IEEEトラン
ザクションズ・オン・コンピューターズ誌、C−34巻、
第9号(1985年9月号)所載のN.タカギ他の論文「冗長
2進加算ツリーを用いた高速VLSI乗算アルゴリズム」に
より詳細に説明されている。
更に、浮動小数点乗算では、最上位ビットが「1」と
なるように積を「正規化」しなければならない。オペラ
ンド仮数がnビットの長さである場合、結果の積仮数の
長さは多くて2nビットである。nビット長の最初の浮動
小数点様式に合わせるため、積を正規化して丸める。最
初の仮数が正規化された場合、正規化シフトは多くて1
ビットになる。しかし、丸めによって桁上げがnビット
数全体に伝播されることになる。
なるように積を「正規化」しなければならない。オペラ
ンド仮数がnビットの長さである場合、結果の積仮数の
長さは多くて2nビットである。nビット長の最初の浮動
小数点様式に合わせるため、積を正規化して丸める。最
初の仮数が正規化された場合、正規化シフトは多くて1
ビットになる。しかし、丸めによって桁上げがnビット
数全体に伝播されることになる。
ゆえに、乗算器は最終の積を変換し、正規化して丸め
なければならない。典型的には、変換は最初に実行され
るが、これは符号付ディジット表示では、同等の大きさ
の数の先行ビットが「0」か「1」かを変換の前に決定
するのに長期間掛かるからである。次に正規化が実行さ
れるが、これは正規化シフトがどのビットを丸めるかを
決定するからである。変換も丸めもどららも長い桁上げ
連鎖を要するので、この方式は乗算の速度を相当遅くし
てしまう。
なければならない。典型的には、変換は最初に実行され
るが、これは符号付ディジット表示では、同等の大きさ
の数の先行ビットが「0」か「1」かを変換の前に決定
するのに長期間掛かるからである。次に正規化が実行さ
れるが、これは正規化シフトがどのビットを丸めるかを
決定するからである。変換も丸めもどららも長い桁上げ
連鎖を要するので、この方式は乗算の速度を相当遅くし
てしまう。
従って、部分積の和を高速で変換し、正規化し、丸め
る方法及び装置の必要性が生じてきた。
る方法及び装置の必要性が生じてきた。
問題点を解決するための手段 本発明に従い、従来の丸め回路に伴う欠点及び問題を
実質的になくすかまたは少なくする丸め回路を提供す
る。
実質的になくすかまたは少なくする丸め回路を提供す
る。
本発明の丸め回路は、mビット(典型的には2nビッ
ト)の数を2進法の大きさの表示に変換すると同時にm
ビットの数の丸め情報を計算することにより、mビット
の出力のnビットの2進法の大きさの表示を加算器アレ
イから発生する。出力回路は、変換されたmビットの数
と丸め情報とに基づいてnビットの大きさの表示を形成
する。丸め情報は、変換された値の正規化されないこと
を仮定する第一の場合と、変換された値の正規化を仮定
する第二の場合の2つの場合に計算される。
ト)の数を2進法の大きさの表示に変換すると同時にm
ビットの数の丸め情報を計算することにより、mビット
の出力のnビットの2進法の大きさの表示を加算器アレ
イから発生する。出力回路は、変換されたmビットの数
と丸め情報とに基づいてnビットの大きさの表示を形成
する。丸め情報は、変換された値の正規化されないこと
を仮定する第一の場合と、変換された値の正規化を仮定
する第二の場合の2つの場合に計算される。
本発明は、加算器アレイの出力の変換と共に、丸め情
報を同時に計算することによって速度を増すという技術
利点を提供する。速度はまた、変換中に正規化の両方の
場合に丸め情報を計算することによっても増加する。
報を同時に計算することによって速度を増すという技術
利点を提供する。速度はまた、変換中に正規化の両方の
場合に丸め情報を計算することによっても増加する。
本発明の他の様態において、丸め回路は増分回路を含
み、変換の前に加算器アレイ出力の最上位のnビットを
1だけ増分し、それによって、丸めが増分数字の原因と
なる状態に供える。変換の前に加算器アレイの出力を増
分することにより、時間浪費の加算動作に結果としてな
る長い桁上げ連鎖が回避される。
み、変換の前に加算器アレイ出力の最上位のnビットを
1だけ増分し、それによって、丸めが増分数字の原因と
なる状態に供える。変換の前に加算器アレイの出力を増
分することにより、時間浪費の加算動作に結果としてな
る長い桁上げ連鎖が回避される。
更に本発明の他の様態において、加算器アレイの出力
全体の変換がその最上位のnビットからの借りという結
果になるかどうかを決定する借り計算回路を提供する。
借り計算回路は加算器アレイ出力の最下位ビット、すな
わち使用可能な最初のビットに対して作動するので、増
分された値または増分されなかった値のどちらを選ぶか
の決定は時間を更に遅らせることなく、変換の前に行な
うことができる。
全体の変換がその最上位のnビットからの借りという結
果になるかどうかを決定する借り計算回路を提供する。
借り計算回路は加算器アレイ出力の最下位ビット、すな
わち使用可能な最初のビットに対して作動するので、増
分された値または増分されなかった値のどちらを選ぶか
の決定は時間を更に遅らせることなく、変換の前に行な
うことができる。
本発明及びその利点をより完全に理解するために、次
に、添付図面と関連する以下の説明を参照する。
に、添付図面と関連する以下の説明を参照する。
実施例 本発明の好ましい実施例は第1図−第3図の図面を参
照することにより最もよく理解されるが、図面中、同一
番号は種々の図面の同一及び相当部分に使用されてい
る。
照することにより最もよく理解されるが、図面中、同一
番号は種々の図面の同一及び相当部分に使用されてい
る。
第1図は、最終の積を変換し、正規化し、丸める回路
(以下、「丸め回路」10と称する)のブロック図を示
す。丸め回路10は、部分積の和を形成するのに典型的に
用いられる加算器アレイ12の出力に接続されている。説
明する実施例において、符号付ディジット加算器では、
加算器アレイの出力の各「ビット」を各ビット位置で
1、0、或いは−1を示す2ビットで表わすとする。n
ビット入力の場合、乗算器の加算器アレイの出力は2nビ
ットの長さとなり、ビット「0」からビット2n−1まで
が含まれる。
(以下、「丸め回路」10と称する)のブロック図を示
す。丸め回路10は、部分積の和を形成するのに典型的に
用いられる加算器アレイ12の出力に接続されている。説
明する実施例において、符号付ディジット加算器では、
加算器アレイの出力の各「ビット」を各ビット位置で
1、0、或いは−1を示す2ビットで表わすとする。n
ビット入力の場合、乗算器の加算器アレイの出力は2nビ
ットの長さとなり、ビット「0」からビット2n−1まで
が含まれる。
ビット「0」乃至ビットn−3はスティッキー・ビッ
ト発生器14に接続されている。スティッキー・ビット発
生器14の出力、ビットn−1及びビットn−2は借り計
算器16に接続されている。ビットn乃至ビット2n−1は
増分器18に接続されている。増分器18の出力及びビット
n乃至ビット2n−1はマルチプレクサ20に接続されてい
るが、このマルチプレクサは借り計算器16からの出力に
よって選択される。マルチプレクサの出力は変換器/減
分器22に接続されている。借り計算器16はまた、丸め器
24にも接続されている。丸め器24は、望ましい丸めモー
ドを選択する制御回路26に接続されている。変換器/減
分器22の出力及び丸め器24の出力はセレクタ/シフタ28
に接続されている。変換され、正規化されて丸められた
積(「最終値」)はセレクタ/シフタ28の出力のところ
で得られる。
ト発生器14に接続されている。スティッキー・ビット発
生器14の出力、ビットn−1及びビットn−2は借り計
算器16に接続されている。ビットn乃至ビット2n−1は
増分器18に接続されている。増分器18の出力及びビット
n乃至ビット2n−1はマルチプレクサ20に接続されてい
るが、このマルチプレクサは借り計算器16からの出力に
よって選択される。マルチプレクサの出力は変換器/減
分器22に接続されている。借り計算器16はまた、丸め器
24にも接続されている。丸め器24は、望ましい丸めモー
ドを選択する制御回路26に接続されている。変換器/減
分器22の出力及び丸め器24の出力はセレクタ/シフタ28
に接続されている。変換され、正規化されて丸められた
積(「最終値」)はセレクタ/シフタ28の出力のところ
で得られる。
動作について言うと、丸め回路10は、加算器アレイ12
の出力の変換と同時に丸め計算を行なうことにより高速
度を獲得する。更に、加算器アレイ12の出力が変換の前
に増分され、それにより符号付ディジット表示に増分が
実行できるようになり、上の方への丸め動作の場合に長
い桁上げ連鎖が回避される。
の出力の変換と同時に丸め計算を行なうことにより高速
度を獲得する。更に、加算器アレイ12の出力が変換の前
に増分され、それにより符号付ディジット表示に増分が
実行できるようになり、上の方への丸め動作の場合に長
い桁上げ連鎖が回避される。
スティッキー・ビット発生器14は第2図に関連して最
もよく説明されるが、同図は加算器アレイ12からのビッ
ト出力を示す。加算器アレイ12はビット「0」乃至ビッ
ト2n−1として表示される2nビットを出力する。望まし
い最終値は2進法の大きさの表示となる正規化されたn
ビットとなる。浮動小数点数を正規化するために、最上
位ビットが「1」になるまでビットをシフトする。両方
の入力が正規化された場合、出力は多くて1シフト必要
とする。ゆえに、ビット2n−1が「1」に等しい場合、
n番目のビットは正規化された積の最下位ビットとな
り、ビットn−1は丸めのために用いられることにな
る。本明細書を明示するために、ビット「0」乃至ビッ
トn−2を「残りの丸めビット」と称し、同様に丸めの
ために使用する。
もよく説明されるが、同図は加算器アレイ12からのビッ
ト出力を示す。加算器アレイ12はビット「0」乃至ビッ
ト2n−1として表示される2nビットを出力する。望まし
い最終値は2進法の大きさの表示となる正規化されたn
ビットとなる。浮動小数点数を正規化するために、最上
位ビットが「1」になるまでビットをシフトする。両方
の入力が正規化された場合、出力は多くて1シフト必要
とする。ゆえに、ビット2n−1が「1」に等しい場合、
n番目のビットは正規化された積の最下位ビットとな
り、ビットn−1は丸めのために用いられることにな
る。本明細書を明示するために、ビット「0」乃至ビッ
トn−2を「残りの丸めビット」と称し、同様に丸めの
ために使用する。
ビット2n−1が「0」に等しい場合は、正規化された
出力の最上位ビットはビット2n−2となり、正規化され
た出力の最下位ビットはビットn−1となる。従って、
丸めビットはビットn−2となり、残りの丸めビットに
はビット「0」乃至ビットn−3が含まれることにな
る。
出力の最上位ビットはビット2n−2となり、正規化され
た出力の最下位ビットはビットn−1となる。従って、
丸めビットはビットn−2となり、残りの丸めビットに
はビット「0」乃至ビットn−3が含まれることにな
る。
正規化が必要でない場合は、下位のnビットが丸めら
れ、逆に、正規化が必要な場合は、下位のn−1ビット
が丸められる。IEEE丸め標準754を実現するには、丸め
ビット(正規化が必要かどうかによって、n−1或いは
n−2)を知らされなければならず、同様に、残りの丸
めビットが正、負、或いは0の値を持つかどうかも知ら
されなければならない。スティッキー・ビット発生器14
は残りの丸めビット(0乃至n−3)が正、負、或いは
0の値を持つかどうかを決定し、そのように表示される
ように「スティッキー・ビット」を発生する。下位のn
−3ビットの大きさが全てゼロの場合、スティッキー・
ビットの大きさが「0」であるが、その他の場合はステ
ィッキー・ビットの大きさの値は「1」である。大きさ
のビットの全てがゼロの大きさを有する場合、符号ビッ
トが正であるが、その他の場合はスティッキー・ビット
の符号の値は下位のn−3ビットの最上位のゼロでない
大きさのビットの符号の値である。言い換えると、残り
のビット全部がゼロに等しい場合のほかは、スティッキ
ー・ビットは残りのビットのうちの最初のゼロでないビ
ット(1或いは−1)に等しい。
れ、逆に、正規化が必要な場合は、下位のn−1ビット
が丸められる。IEEE丸め標準754を実現するには、丸め
ビット(正規化が必要かどうかによって、n−1或いは
n−2)を知らされなければならず、同様に、残りの丸
めビットが正、負、或いは0の値を持つかどうかも知ら
されなければならない。スティッキー・ビット発生器14
は残りの丸めビット(0乃至n−3)が正、負、或いは
0の値を持つかどうかを決定し、そのように表示される
ように「スティッキー・ビット」を発生する。下位のn
−3ビットの大きさが全てゼロの場合、スティッキー・
ビットの大きさが「0」であるが、その他の場合はステ
ィッキー・ビットの大きさの値は「1」である。大きさ
のビットの全てがゼロの大きさを有する場合、符号ビッ
トが正であるが、その他の場合はスティッキー・ビット
の符号の値は下位のn−3ビットの最上位のゼロでない
大きさのビットの符号の値である。言い換えると、残り
のビット全部がゼロに等しい場合のほかは、スティッキ
ー・ビットは残りのビットのうちの最初のゼロでないビ
ット(1或いは−1)に等しい。
部分積の加算を実行する場合、下位のビットは上位の
ビットの前に決定される。従って、スティッキー・ビッ
トの発生は、加算器アレイの出力の上位のビットの発生
と同時に実行され、それにより計算時間に遅延が僅かか
または何も追加されない。
ビットの前に決定される。従って、スティッキー・ビッ
トの発生は、加算器アレイの出力の上位のビットの発生
と同時に実行され、それにより計算時間に遅延が僅かか
または何も追加されない。
符号付ディジット表示から2進法の大きさの表示への
変換には、加算器アレイからの出力の負のディジットを
加算器アレイから出力される正のディジットから減算す
ることが必要である。一例を第3図に挙げるが、この場
合、「0100」の符号ビットと「1101」の大きさのビット
を持つ符号付ディジット数は、負のビット(1に等しい
対応符号ビットを持つ大きさのビット)を正のビット
(ゼロに等しい符号ビットを持つ大きさのビット)から
減算することにより、2進法の大きさの数に変換され
る。2nビットの数を変換する場合、上位のn最終値は上
位のn符号付ディジット数の直接変換となる(正規化不
要とする)が、2nビット全体の変換が結果としてnビッ
ト最終値の最下位ビットからの借りとなる場合に、変換
された上位のnビットが下位のビットの丸めにより
「1」だけ増分される場合或いは、「1」だけ減分され
る場合は除く。
変換には、加算器アレイからの出力の負のディジットを
加算器アレイから出力される正のディジットから減算す
ることが必要である。一例を第3図に挙げるが、この場
合、「0100」の符号ビットと「1101」の大きさのビット
を持つ符号付ディジット数は、負のビット(1に等しい
対応符号ビットを持つ大きさのビット)を正のビット
(ゼロに等しい符号ビットを持つ大きさのビット)から
減算することにより、2進法の大きさの数に変換され
る。2nビットの数を変換する場合、上位のn最終値は上
位のn符号付ディジット数の直接変換となる(正規化不
要とする)が、2nビット全体の変換が結果としてnビッ
ト最終値の最下位ビットからの借りとなる場合に、変換
された上位のnビットが下位のビットの丸めにより
「1」だけ増分される場合或いは、「1」だけ減分され
る場合は除く。
丸め回路10では、符号ディジット表示のまま、上位の
nビットの増分を実行することにより、増分過程中の長
い桁上げ連鎖の可能性が回避される。結果の丸め動作に
よって増分が強行されるかどうかにかかわらず、増分器
18において増分が実行される。
nビットの増分を実行することにより、増分過程中の長
い桁上げ連鎖の可能性が回避される。結果の丸め動作に
よって増分が強行されるかどうかにかかわらず、増分器
18において増分が実行される。
この増分過程と同時に、借り計算器16は、ビット位置
n−1及びn−2に対応する加算器出力のビットをステ
ィッキー・ビットと共に大きさの表示に変換し、この数
字を丸め器24に送る。借り計算器16はまた、加算器アレ
イ12からの2nビット値に対して変換が実行される場合、
借りが下位のnビットと上位のnビットとの間に生じる
かどうかを計算する。もし借りが何も生じない場合は、
最終値は増分された値かまたは上位のn符号付ディジッ
トの値のどちらかになる。もし借りが生じる場合は、最
終値は上位のn符号付ディジットの値かまたは減分され
た値のどちらかになる。借り計算器16の出力は、増分さ
れた値或いは増分されなかった値がマルチプレクサ20を
通して送られるかどうかを選択するために使用するが、
増分された値は借りが何もない場合に送られ、借りがあ
る場合は増分されなかった値が送られる。
n−1及びn−2に対応する加算器出力のビットをステ
ィッキー・ビットと共に大きさの表示に変換し、この数
字を丸め器24に送る。借り計算器16はまた、加算器アレ
イ12からの2nビット値に対して変換が実行される場合、
借りが下位のnビットと上位のnビットとの間に生じる
かどうかを計算する。もし借りが何も生じない場合は、
最終値は増分された値かまたは上位のn符号付ディジッ
トの値のどちらかになる。もし借りが生じる場合は、最
終値は上位のn符号付ディジットの値かまたは減分され
た値のどちらかになる。借り計算器16の出力は、増分さ
れた値或いは増分されなかった値がマルチプレクサ20を
通して送られるかどうかを選択するために使用するが、
増分された値は借りが何もない場合に送られ、借りがあ
る場合は増分されなかった値が送られる。
選択された値はマルチプレクサ20を通して変換器/減
分器22に送られる。変換器/減分器22は上位のnビット
の変換された値と、1だけ減分された同一の値の両方を
発生する。変換器/減分器22は桁上げ選択減算器で、こ
れは所定数のビットのブロックにオペランドをグループ
分けし、各グループのビットごとに減算を実行すること
によって減算の速度を上げるものである。どのグループ
のビットの減算についても、(第1のブロックの場合は
除くが)前のブロックによる借りが必要かどうかが決定
されるまでは計算することができないので、桁上げ選択
減算器は、各グループ分けの両方の場合、すなわち、借
りがあると減算の結果は「1」だけ減分されるという場
合と、借りがないと減算の結果は減分されないという場
合との両方の場合について計算する。下位のブロックが
その計算を完了すると、各次のグループの正しい値が、
前のグループが借りを必要とするかどうかに基づいて選
択される。
分器22に送られる。変換器/減分器22は上位のnビット
の変換された値と、1だけ減分された同一の値の両方を
発生する。変換器/減分器22は桁上げ選択減算器で、こ
れは所定数のビットのブロックにオペランドをグループ
分けし、各グループのビットごとに減算を実行すること
によって減算の速度を上げるものである。どのグループ
のビットの減算についても、(第1のブロックの場合は
除くが)前のブロックによる借りが必要かどうかが決定
されるまでは計算することができないので、桁上げ選択
減算器は、各グループ分けの両方の場合、すなわち、借
りがあると減算の結果は「1」だけ減分されるという場
合と、借りがないと減算の結果は減分されないという場
合との両方の場合について計算する。下位のブロックが
その計算を完了すると、各次のグループの正しい値が、
前のグループが借りを必要とするかどうかに基づいて選
択される。
通常、桁上げ選択減算器の最下位グループは、第1の
グループからの借りが何もないので、減分された値と減
分されなかった値の両方とも計算しない。しかし、本発
明では、桁上げ選択減算器は、最下位グループに対して
実行される減算が減分された値と減分されなかった値の
両方を計算するように設計されている。従って、nビッ
ト減算全体の減分された値と減分されなかった値の両方
が、ハードウェアを僅かに変更することにより、速度を
落とさずに計算される。更に、桁上げ選択減算器の論理
は、符号付ディジット変換の場合単純にされるが、これ
は、いかなる所定のビット位置においても、減数ビット
かまたは被減数ビットのどちらかの大きさが「0」でな
ければならないからである。
グループからの借りが何もないので、減分された値と減
分されなかった値の両方とも計算しない。しかし、本発
明では、桁上げ選択減算器は、最下位グループに対して
実行される減算が減分された値と減分されなかった値の
両方を計算するように設計されている。従って、nビッ
ト減算全体の減分された値と減分されなかった値の両方
が、ハードウェアを僅かに変更することにより、速度を
落とさずに計算される。更に、桁上げ選択減算器の論理
は、符号付ディジット変換の場合単純にされるが、これ
は、いかなる所定のビット位置においても、減数ビット
かまたは被減数ビットのどちらかの大きさが「0」でな
ければならないからである。
変換器/減分器22の作動と同時に、丸め器24を用いて
制御回路26からの入力によって示される望ましい丸め計
算を算出する。丸めモードは好ましいどのようなタイ
プ、すなわち、IEEEが指示する4つの丸めモードである
切上げ、切下げ、最も近いものへの丸め、及びゼロへの
丸めのうちのどのタイプであってもよい。丸め器24は、
ビットn−1及びビットn−2とスティッキー・ビット
とに対応する借り計算器16からの変換されたビットを受
け取る。丸めの二つの場合が計算される。第一の場合
は、正規化が何も必要でないとした場合で、従って、丸
めは、スティッキー・ビットと、n−2及びn−1とに
対応する変換されたビットに対して計算される。第二の
場合は、正規化が必要となるとした場合で、従って、丸
めはスティッキー・ビット及びn−2に対応する変換さ
れたビットに対して計算され、n−1のビットは最終値
の最初の最下位ビット(LSB)として用いられる。この
二つのうちのどちらの場合でも、丸め器24は、LSBと、
変換器/減分器22からの減分された出力或いは減分され
なかった出力のどちらを使用しなければならないかを示
す選択信号とを送る。
制御回路26からの入力によって示される望ましい丸め計
算を算出する。丸めモードは好ましいどのようなタイ
プ、すなわち、IEEEが指示する4つの丸めモードである
切上げ、切下げ、最も近いものへの丸め、及びゼロへの
丸めのうちのどのタイプであってもよい。丸め器24は、
ビットn−1及びビットn−2とスティッキー・ビット
とに対応する借り計算器16からの変換されたビットを受
け取る。丸めの二つの場合が計算される。第一の場合
は、正規化が何も必要でないとした場合で、従って、丸
めは、スティッキー・ビットと、n−2及びn−1とに
対応する変換されたビットに対して計算される。第二の
場合は、正規化が必要となるとした場合で、従って、丸
めはスティッキー・ビット及びn−2に対応する変換さ
れたビットに対して計算され、n−1のビットは最終値
の最初の最下位ビット(LSB)として用いられる。この
二つのうちのどちらの場合でも、丸め器24は、LSBと、
変換器/減分器22からの減分された出力或いは減分され
なかった出力のどちらを使用しなければならないかを示
す選択信号とを送る。
上述したケース1の場合の丸めを計算するために、ス
ティッキー・ビット、ビットn−2及びビットn−1に
対応するビットに基づく丸めが切上げの場合、選択信号
は、変換器/減分器22からの減分されなかった値を使用
しなければならないということを示す。丸めが切上げで
ない場合は、選択信号は減分された出力を使用しなけれ
ばならないということを示す。ケース1の場合、変換器
/減分器22の出力がnビット全体を含むので、LSBは計
算する必要はない。
ティッキー・ビット、ビットn−2及びビットn−1に
対応するビットに基づく丸めが切上げの場合、選択信号
は、変換器/減分器22からの減分されなかった値を使用
しなければならないということを示す。丸めが切上げで
ない場合は、選択信号は減分された出力を使用しなけれ
ばならないということを示す。ケース1の場合、変換器
/減分器22の出力がnビット全体を含むので、LSBは計
算する必要はない。
ケース2では、スティッキー・ビット及びビットn−
2に対応するビットに対して丸めが計算され、最初のLS
Bはビットn−1に設定される。もし丸めが切上げで、
最初のLSBが1に設定された場合は、セレクタ/シフタ2
8に出力されるLSBは「0」に等しく設定され、選択信号
は減分されなかった出力を使用しなければならないとい
うことを示す。もう丸めが切上げでなく、最初のLSBが
「1」に設定された場合は、セレクタ/シフタ28に送ら
れるLSBは「1」に設定され、選択信号は減分された出
力を使用しなければならないということを示す。もうし
丸めが切上げで、LSBが「0」に設定された場合は、セ
レクタ/シフタ28に送られるLSBは「1」に設定され、
選択信号は減分された出力を使用しなければならないと
いうことを示す。もし丸めが切上げでなく、最初のLSB
が「0」に設定された場合は、セレクタ/シフタ28に出
力されるLSBは「0」に設定され、選択信号は減分され
た出力を使用しなければならないということを示す。
2に対応するビットに対して丸めが計算され、最初のLS
Bはビットn−1に設定される。もし丸めが切上げで、
最初のLSBが1に設定された場合は、セレクタ/シフタ2
8に出力されるLSBは「0」に等しく設定され、選択信号
は減分されなかった出力を使用しなければならないとい
うことを示す。もう丸めが切上げでなく、最初のLSBが
「1」に設定された場合は、セレクタ/シフタ28に送ら
れるLSBは「1」に設定され、選択信号は減分された出
力を使用しなければならないということを示す。もうし
丸めが切上げで、LSBが「0」に設定された場合は、セ
レクタ/シフタ28に送られるLSBは「1」に設定され、
選択信号は減分された出力を使用しなければならないと
いうことを示す。もし丸めが切上げでなく、最初のLSB
が「0」に設定された場合は、セレクタ/シフタ28に出
力されるLSBは「0」に設定され、選択信号は減分され
た出力を使用しなければならないということを示す。
上述したような丸め器24からのLSB及び選択出力の誘
導は次の等式によって決定される: SEL1=RND SEL2=RND AND B(n−1) LSB2=RND XOR B(n−1) ここで、 SEL1=ケース1の場合の選択信号 SEL2=ケース2の場合の選択信号 LSB2=ケース2の場合のLSB出力 RND=切上げが実行される場合は「1」に等しく、それ
以外は「0」に等しい。
導は次の等式によって決定される: SEL1=RND SEL2=RND AND B(n−1) LSB2=RND XOR B(n−1) ここで、 SEL1=ケース1の場合の選択信号 SEL2=ケース2の場合の選択信号 LSB2=ケース2の場合のLSB出力 RND=切上げが実行される場合は「1」に等しく、それ
以外は「0」に等しい。
B(n−1)=ビット位置n−1に対応する変換された
ビットの値。
ビットの値。
上述の等式によって説明されるSEL信号は、減分され
なかった出力が使用される場合は「1」に等しく、減分
された出力が使用される倍は「0」に等しい。
なかった出力が使用される場合は「1」に等しく、減分
された出力が使用される倍は「0」に等しい。
よってセレクタ/シフタ28は、丸め器24からの選択及
びLSB信号と、変換器/減分器22の減分された出力及び
減分されなかった出力の最上位ビットとに基づいて、変
換器/減分器22の減分された出力かまたは減分されなか
った出力のどちらかを選択し、シフトする。もし変換器
/減分器22の減分された出力及び減分されなかった出力
の両方の最上位ビットが「1」に等しい場合は、正規化
は必要ではない。ゆえに、セレクタ/シフタ28はケース
1に基づくSEL1信号に基づいて、減分されなかった出力
と減分された出力とのどちらかを選択する。減分された
出力及び減分されなかった出力の両方の最上位ビットが
「0」に等しい場合は、正規化が必要となる。この場
合、セレクタ/シフタ28は、丸め器24からのLSB2及びSE
L2信号を選択し、選択した出力のシフトを実行する。
びLSB信号と、変換器/減分器22の減分された出力及び
減分されなかった出力の最上位ビットとに基づいて、変
換器/減分器22の減分された出力かまたは減分されなか
った出力のどちらかを選択し、シフトする。もし変換器
/減分器22の減分された出力及び減分されなかった出力
の両方の最上位ビットが「1」に等しい場合は、正規化
は必要ではない。ゆえに、セレクタ/シフタ28はケース
1に基づくSEL1信号に基づいて、減分されなかった出力
と減分された出力とのどちらかを選択する。減分された
出力及び減分されなかった出力の両方の最上位ビットが
「0」に等しい場合は、正規化が必要となる。この場
合、セレクタ/シフタ28は、丸め器24からのLSB2及びSE
L2信号を選択し、選択した出力のシフトを実行する。
減分されなかった出力の最上位ビットが「1」で、減
分された出力の最上位ビットが「0」の場合は、セレク
タ/シフタ28は丸め器24からのSEL2及びLSB2信号を選択
する。しかし、SEL2信号が減分されなかった出力を使用
しなければならないことを示す場合は、出力が既に正規
化されているので、シフトは実行されない。従って、LS
B2信号はこの場合使用されない。それ以外の場合は全
て、選択された出力がシフトされる。
分された出力の最上位ビットが「0」の場合は、セレク
タ/シフタ28は丸め器24からのSEL2及びLSB2信号を選択
する。しかし、SEL2信号が減分されなかった出力を使用
しなければならないことを示す場合は、出力が既に正規
化されているので、シフトは実行されない。従って、LS
B2信号はこの場合使用されない。それ以外の場合は全
て、選択された出力がシフトされる。
本発明の丸め回路では、加算器アレイの出力の変換が
正規化及び丸めと同時に実行されるので、増加した速度
という技術利点が提供される。本発明の丸め回路を符号
付ディジット加算器と関連して説明したが、最終値を和
及び桁上げストリームから変換しければならないウォー
レス・ツリー構造と関連して同様に用いることができ
る。
正規化及び丸めと同時に実行されるので、増加した速度
という技術利点が提供される。本発明の丸め回路を符号
付ディジット加算器と関連して説明したが、最終値を和
及び桁上げストリームから変換しければならないウォー
レス・ツリー構造と関連して同様に用いることができ
る。
以上に本発明を詳細に説明したが、添付の特許請求の
範囲の項で定められるような本発明の精神及び範囲にそ
むくことなく様々な変化、置換え、変更を行うことがで
きるということを理解されたい。
範囲の項で定められるような本発明の精神及び範囲にそ
むくことなく様々な変化、置換え、変更を行うことがで
きるということを理解されたい。
(1)加算器アレイからのmビットの出力をnビットの
2進法の大きさの表示に変換し、丸める丸め回路であっ
て、 前記mビットの数の所定の部分を2進法の大きさの表
示に変換する変換回路と、 mビットの数の前記変換と同時に前記mビットの数の
丸め情報を計算する丸め回路と、 前記変換回路及び前記丸め回路の出力に基いて、nビ
ットの大きさの表示を形成する出力回路とを含む丸め回
路。
2進法の大きさの表示に変換し、丸める丸め回路であっ
て、 前記mビットの数の所定の部分を2進法の大きさの表
示に変換する変換回路と、 mビットの数の前記変換と同時に前記mビットの数の
丸め情報を計算する丸め回路と、 前記変換回路及び前記丸め回路の出力に基いて、nビ
ットの大きさの表示を形成する出力回路とを含む丸め回
路。
(2)第(1)項に記載した丸め回路において、前記丸
め回路が、 変換されたmビットの数の正規化が必要でないと仮定
する前記丸め情報を計算する回路と、 変換されたmビットの数の正規化が必要であると仮定
する前記丸め情報を計算する回路とを含む丸め回路。
め回路が、 変換されたmビットの数の正規化が必要でないと仮定
する前記丸め情報を計算する回路と、 変換されたmビットの数の正規化が必要であると仮定
する前記丸め情報を計算する回路とを含む丸め回路。
(3)第(2)項に記載した丸め回路において、正規化
を仮定する丸めを計算する前記回路が、nビットの2進
法の大きさの表示の最下位ビットを計算する回路を含む
丸め回路。
を仮定する丸めを計算する前記回路が、nビットの2進
法の大きさの表示の最下位ビットを計算する回路を含む
丸め回路。
(4)第(3)項に記載した丸め回路において、前記変
換回路が、mビットの大きさの表示の丸めが最上位のn
ビットへの桁上げという結果にならないと仮定する大き
さの表示に加算器アレイ出力の最上位のnビットが変換
される第1の値と、mビットの大きさの表示の丸めが最
上位のnビットへの桁上げという結果になると仮定する
大きさの表示に加算器アレイ出力の最上位のnビットが
変換される第2の値とを発生する丸め回路。
換回路が、mビットの大きさの表示の丸めが最上位のn
ビットへの桁上げという結果にならないと仮定する大き
さの表示に加算器アレイ出力の最上位のnビットが変換
される第1の値と、mビットの大きさの表示の丸めが最
上位のnビットへの桁上げという結果になると仮定する
大きさの表示に加算器アレイ出力の最上位のnビットが
変換される第2の値とを発生する丸め回路。
(5)第(4)項に記載した丸め回路において、前記出
力回路が前記変換された大きさの表示の正規化が必要か
どうかを検出する回路を含む丸め回路。
力回路が前記変換された大きさの表示の正規化が必要か
どうかを検出する回路を含む丸め回路。
(6)第(5)項に記載した丸め回路において、前記出
力回路が更に、前記変換された大きさの表示を正規化す
るシフティング回路を含む丸め回路。
力回路が更に、前記変換された大きさの表示を正規化す
るシフティング回路を含む丸め回路。
(7)第(4)項に記載した丸め回路であって更に、変
換の前に加算器アレイの出力を増分する増分回路を含
み、丸めによる桁上げ連鎖を回避する丸め回路。
換の前に加算器アレイの出力を増分する増分回路を含
み、丸めによる桁上げ連鎖を回避する丸め回路。
(8)加算器アレイのmビットの出力を2進法の大きさ
の表示に変換しその出力をnビットの数に丸める丸め回
路であって、 加算器アレイ出力の最上位のnビットを1だけ増分す
る増分回路と、 mビットの数の変換が最上位のnビットからの借りと
いう結果になるかどうかを決定する借り計算回路と、 前記借り計算回路による決定に基づいて、加算器アレ
イ出力の最上位のnビットと増分された出力とのどちら
かの出力を選択するマルチプレクサ回路と、 マルチプレクサ回路からの前記選択された出力を2進
法の大きさの数に変換し、かつ減分された2進法の大き
さの数を計算する変換器/減分器回路と、 加算器アレイ出力の丸めの方向を計算する丸め回路
と、 前記変換器/減分器回路によって計算された前記減分
された数と前記減分されなかった数のどちらかを選択す
るセレクタ回路とを含む丸め回路。
の表示に変換しその出力をnビットの数に丸める丸め回
路であって、 加算器アレイ出力の最上位のnビットを1だけ増分す
る増分回路と、 mビットの数の変換が最上位のnビットからの借りと
いう結果になるかどうかを決定する借り計算回路と、 前記借り計算回路による決定に基づいて、加算器アレ
イ出力の最上位のnビットと増分された出力とのどちら
かの出力を選択するマルチプレクサ回路と、 マルチプレクサ回路からの前記選択された出力を2進
法の大きさの数に変換し、かつ減分された2進法の大き
さの数を計算する変換器/減分器回路と、 加算器アレイ出力の丸めの方向を計算する丸め回路
と、 前記変換器/減分器回路によって計算された前記減分
された数と前記減分されなかった数のどちらかを選択す
るセレクタ回路とを含む丸め回路。
(9)第(8)項に記載した丸め回路であって更に、加
算器アレイ出力の下位のm−nビットを2進法の大きさ
の数に変換する丸め変換器回路を含み、前記丸め回路が
前記変換されたm−nビットに基づいて丸め方向を計算
する丸め回路。
算器アレイ出力の下位のm−nビットを2進法の大きさ
の数に変換する丸め変換器回路を含み、前記丸め回路が
前記変換されたm−nビットに基づいて丸め方向を計算
する丸め回路。
(10)第(8)項に記載した丸め回路において、加算器
が符号付ディジット加算器であって更に、 加算器アレイの出力の最上位のゼロでないビット、ビ
ット位置m−(n−3)からビット位置ゼロまでに等し
いスティッキー・ビットを計算する回路であって、全て
のビットがゼロに等しい場合スティッキー・ビットがゼ
ロに等しい回路と、 ビット位置m−(n−1)及びm−(n−2)及び前
記スティッキー・ビットに対応する加算器アレイ出力の
ビットを2進法の大きさの表示に変換する回路であっ
て、前記丸め回路が前記変換されたビットに基づいて丸
め方向を計算する回路とを含む丸め回路。
が符号付ディジット加算器であって更に、 加算器アレイの出力の最上位のゼロでないビット、ビ
ット位置m−(n−3)からビット位置ゼロまでに等し
いスティッキー・ビットを計算する回路であって、全て
のビットがゼロに等しい場合スティッキー・ビットがゼ
ロに等しい回路と、 ビット位置m−(n−1)及びm−(n−2)及び前
記スティッキー・ビットに対応する加算器アレイ出力の
ビットを2進法の大きさの表示に変換する回路であっ
て、前記丸め回路が前記変換されたビットに基づいて丸
め方向を計算する回路とを含む丸め回路。
(11)第(8)項に記載した丸め回路において、前記変
換器/減分器回路が桁上げ選択減算器を含む丸め回路。
換器/減分器回路が桁上げ選択減算器を含む丸め回路。
(12)第(8)項に記載した丸め回路であって更に、前
記セレクタ回路によって選択された前記数を選択的にシ
フトする回路を含む丸め回路。
記セレクタ回路によって選択された前記数を選択的にシ
フトする回路を含む丸め回路。
(13)第(12)項に記載した丸め回路であって更に、前
記減分された数及び減分されなかった数の最上位ビット
に基づいてシフトが必要かどうかを決定するシフト制御
手段を含む丸め回路。
記減分された数及び減分されなかった数の最上位ビット
に基づいてシフトが必要かどうかを決定するシフト制御
手段を含む丸め回路。
(14)第(13)項に記載した丸め回路において、前記丸
め回路が、加算器アレイ出力のm−(n−1)ビットに
基づく第1の丸め方向、及び加算器アレイ出力のm−n
ビットに基づく第2の丸め方向を計算する回路を含む丸
め回路。
め回路が、加算器アレイ出力のm−(n−1)ビットに
基づく第1の丸め方向、及び加算器アレイ出力のm−n
ビットに基づく第2の丸め方向を計算する回路を含む丸
め回路。
(15)第(14)項に記載した丸め回路において、前記丸
め回路が更に、前記シフティング回路がシフトを実行す
る場合にnビットの出力の最下位ビットを計算する回路
を含む丸め回路。
め回路が更に、前記シフティング回路がシフトを実行す
る場合にnビットの出力の最下位ビットを計算する回路
を含む丸め回路。
(16)第(15)項に記載した丸め回路において、前記丸
め回路が更に前記計算された第1の丸め方向に基づく第
1の選択信号と、前記計算された第2の丸め方向と前記
計算された最下位ビットとに基づく第2の選択信号とを
出力する回路を含む丸め回路。
め回路が更に前記計算された第1の丸め方向に基づく第
1の選択信号と、前記計算された第2の丸め方向と前記
計算された最下位ビットとに基づく第2の選択信号とを
出力する回路を含む丸め回路。
(17)加算器アレイからのmビットの出力をnビットの
2進法の大きさの表示に変換し、丸め方法であって、 前記mビットの数の部分を2進法の大きさの表示に変
換する段階と、 mビットの数の前記変換と同時に前記mビットの数の
丸め情報を計算する段階と、 前記2進法の大きさの表示及び前記丸め情報に基い
て、nビットの大きさの表示を形成する段階とを含む方
法。
2進法の大きさの表示に変換し、丸め方法であって、 前記mビットの数の部分を2進法の大きさの表示に変
換する段階と、 mビットの数の前記変換と同時に前記mビットの数の
丸め情報を計算する段階と、 前記2進法の大きさの表示及び前記丸め情報に基い
て、nビットの大きさの表示を形成する段階とを含む方
法。
(18)第(17)項に記載した方法において、前記丸めの
段階が、 変換されたmビットの数の正規化が必要でないと仮定
する前記丸め情報を計算する段階と、 変換されたmビットの数の正規化が必要であると仮定
する前記丸め情報を計算する段階とを含む方法。
段階が、 変換されたmビットの数の正規化が必要でないと仮定
する前記丸め情報を計算する段階と、 変換されたmビットの数の正規化が必要であると仮定
する前記丸め情報を計算する段階とを含む方法。
(19)第(18)項に記載した方法において、正規化を仮
定する前記丸め情報を計算する前記段階が、nビットの
大きさの表示の最下位ビットを計算する段階を含む方
法。
定する前記丸め情報を計算する前記段階が、nビットの
大きさの表示の最下位ビットを計算する段階を含む方
法。
(20)第(17)項に記載した方法において、前記変換段
階が、 mビットの大きさの表示の丸めが最上位のnビットへ
の桁上げという結果にならないと仮定する大きさの表示
に加算器アレイ出力の最上位のnビットが変換される第
1の値を発生する段階と、 mビットの大きさの表示の丸めが最上位のnビットへ
の桁上げという結果になる仮定する大きさの表示に加算
器アレイ出力の最上位のnビットが変換される第2の値
を発生する段階とを含む方法。
階が、 mビットの大きさの表示の丸めが最上位のnビットへ
の桁上げという結果にならないと仮定する大きさの表示
に加算器アレイ出力の最上位のnビットが変換される第
1の値を発生する段階と、 mビットの大きさの表示の丸めが最上位のnビットへ
の桁上げという結果になる仮定する大きさの表示に加算
器アレイ出力の最上位のnビットが変換される第2の値
を発生する段階とを含む方法。
(21)第(17)項に記載した方法において、nビットの
大きさの表示を形成する前記段階が、前記変換された大
きさの表示の正規化が必要かどうかを検出する段階を含
む方法。
大きさの表示を形成する前記段階が、前記変換された大
きさの表示の正規化が必要かどうかを検出する段階を含
む方法。
(22)第(20)項に記載した方法において、nビットの
大きさの表示を形成する前記段階が更に、前記nビット
の大きさの表示を正規化用にシフティングする段階を含
む方法。
大きさの表示を形成する前記段階が更に、前記nビット
の大きさの表示を正規化用にシフティングする段階を含
む方法。
(23)加算器アレイ12からのmビットの出力をnビット
の2進法の大きさの表示に変換し丸める丸め回路10が、
変換の前に加算器アレイ12の出力を増分する増分器18を
含む。借り計算器16は、mビットの数の変換が上位のn
ビットからの借りを必要とするかどうかを示すマルチプ
レクサへの選択信号を発生する。選択信号は増分された
出力かまたは増分されなかった出力かを選択するのに用
いる。変換器/減分器22は、マルチプレクサ20の選択さ
れた出力を2進法の大きさの数に変換し、同様に、1だ
け減分された大きさの表示を計算する。丸め回路24は制
御回路26からの制御信号に基づいて丸め方向を計算す
る。丸め回路10は、(a)変換された値の正規化が必要
でないと仮定する場合と、(b)変換された値の正規化
が必要であると仮定する場合の2つの場合に丸め情報を
計算する。セレクタ/シフタ28は丸め情報に基づいて減
分された値と減分されなかった値のいずれかを選ぶ。
の2進法の大きさの表示に変換し丸める丸め回路10が、
変換の前に加算器アレイ12の出力を増分する増分器18を
含む。借り計算器16は、mビットの数の変換が上位のn
ビットからの借りを必要とするかどうかを示すマルチプ
レクサへの選択信号を発生する。選択信号は増分された
出力かまたは増分されなかった出力かを選択するのに用
いる。変換器/減分器22は、マルチプレクサ20の選択さ
れた出力を2進法の大きさの数に変換し、同様に、1だ
け減分された大きさの表示を計算する。丸め回路24は制
御回路26からの制御信号に基づいて丸め方向を計算す
る。丸め回路10は、(a)変換された値の正規化が必要
でないと仮定する場合と、(b)変換された値の正規化
が必要であると仮定する場合の2つの場合に丸め情報を
計算する。セレクタ/シフタ28は丸め情報に基づいて減
分された値と減分されなかった値のいずれかを選ぶ。
第1図は本発明の丸め回路のブロック図を示す。 第2図は最終値の正規化が必要でない場合と、最終値の
正規化が必要な場合の加算器アレイの出力を示す。 第3図は負の大きさのビットを正の大きさのビットから
減算することによる符号付ディジット表示の変換を示
す。 主な符号の説明 10:丸め回路 12:加算器アレイ 14:スティッキー・ビット発生器 16:借り計算器 18:増分器 20:マルチプレクサ 22:変換器/減分器 24:丸め器 26:制御回路 28:セレクタ/シフタ
正規化が必要な場合の加算器アレイの出力を示す。 第3図は負の大きさのビットを正の大きさのビットから
減算することによる符号付ディジット表示の変換を示
す。 主な符号の説明 10:丸め回路 12:加算器アレイ 14:スティッキー・ビット発生器 16:借り計算器 18:増分器 20:マルチプレクサ 22:変換器/減分器 24:丸め器 26:制御回路 28:セレクタ/シフタ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−70635(JP,A) 特開 平1−240927(JP,A) 電子情報通信学会技術研究報告CPS Y−87−47(昭63−3−24)p.43−48
Claims (1)
- 【請求項1】加算器アレイからの符号付ディジット表示
のmビットの出力からnビットの2進法の大きさの表示
を形成する丸め回路であって、 前記mビットの出力の所定の部分を2進法の大きさの表
示に変換する変換回路と、 前記mビットの出力の丸め情報を計算する丸め計算回路
と、 前記変換回路および前記丸め計算回路の出力に基づい
て、前記nビットの2進法の大きさの表示を形成する出
力回路と を含む丸め回路。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/175,968 US5170371A (en) | 1988-03-31 | 1988-03-31 | Method and apparatus for rounding in high-speed multipliers |
US175968 | 1988-03-31 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8095460A Division JPH096595A (ja) | 1988-03-31 | 1996-04-17 | 演算結果の表示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH01290035A JPH01290035A (ja) | 1989-11-21 |
JP2872263B2 true JP2872263B2 (ja) | 1999-03-17 |
Family
ID=22642398
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1080242A Expired - Fee Related JP2872263B2 (ja) | 1988-03-31 | 1989-03-30 | 高速演算器における丸め回路 |
JP8095460A Pending JPH096595A (ja) | 1988-03-31 | 1996-04-17 | 演算結果の表示方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8095460A Pending JPH096595A (ja) | 1988-03-31 | 1996-04-17 | 演算結果の表示方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5170371A (ja) |
JP (2) | JP2872263B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408426A (en) * | 1992-03-17 | 1995-04-18 | Hitachi, Ltd. | Arithmetic unit capable of performing concurrent operations for high speed operation |
US5235533A (en) * | 1992-05-11 | 1993-08-10 | Intel Corporation | Store rounding in a floating point unit |
US5493581A (en) * | 1992-08-14 | 1996-02-20 | Harris Corporation | Digital down converter and method |
US5644522A (en) * | 1993-11-30 | 1997-07-01 | Texas Instruments Incorporated | Method, apparatus and system for multiply rounding using redundant coded multiply result |
US6199089B1 (en) * | 1998-09-18 | 2001-03-06 | Ati International Srl | Floating point arithmetic logic unit rounding using at least one least significant bit |
FR2820905B1 (fr) * | 2001-02-09 | 2005-02-18 | Gemplus Card Int | Dispositif et procede de traitement de valeurs numeriques, notamment sous forme non-adjacente |
US10140094B2 (en) * | 2016-05-24 | 2018-11-27 | Arm Limited | Rounding circuitry and method |
US11210064B2 (en) * | 2019-07-30 | 2021-12-28 | International Business Machines Corporation | Parallelized rounding for decimal floating point to binary coded decimal conversion |
US11221826B2 (en) | 2019-07-30 | 2022-01-11 | International Business Machines Corporation | Parallel rounding for conversion from binary floating point to binary coded decimal |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3816732A (en) * | 1973-03-29 | 1974-06-11 | Rockland Systems Corp | Apparatus and method for serial-parallel binary multiplication |
BE844199A (nl) * | 1976-07-16 | 1976-11-16 | Inrichting voor het vermenigvuldigen van binaire getallen | |
US4495593A (en) * | 1982-07-01 | 1985-01-22 | Hewlett-Packard Company | Multiple bit encoding technique for combinational multipliers |
US4648058A (en) * | 1984-04-03 | 1987-03-03 | Trw Inc. | Look-ahead rounding circuit |
JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
JPH0776911B2 (ja) * | 1988-03-23 | 1995-08-16 | 松下電器産業株式会社 | 浮動小数点演算装置 |
-
1988
- 1988-03-31 US US07/175,968 patent/US5170371A/en not_active Expired - Lifetime
-
1989
- 1989-03-30 JP JP1080242A patent/JP2872263B2/ja not_active Expired - Fee Related
-
1996
- 1996-04-17 JP JP8095460A patent/JPH096595A/ja active Pending
Non-Patent Citations (1)
Title |
---|
電子情報通信学会技術研究報告CPSY−87−47(昭63−3−24)p.43−48 |
Also Published As
Publication number | Publication date |
---|---|
JPH01290035A (ja) | 1989-11-21 |
US5170371A (en) | 1992-12-08 |
JPH096595A (ja) | 1997-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4878190A (en) | Floating point/integer processor with divide and square root functions | |
US4969118A (en) | Floating point unit for calculating A=XY+Z having simultaneous multiply and add | |
US5790446A (en) | Floating point multiplier with reduced critical paths using delay matching techniques | |
US5844830A (en) | Executing computer instrucrions by circuits having different latencies | |
USRE39385E1 (en) | Method and apparatus for performing mathematical functions using polynomial approximation and a rectangular aspect ratio multiplier | |
US5222037A (en) | Floating-point processor for performing an arithmetic operation on fixed-point part data with high speed rounding of a result | |
US7921149B2 (en) | Division and square root arithmetic unit | |
US5280439A (en) | Apparatus for determining booth recoder input control signals | |
US4866656A (en) | High-speed binary and decimal arithmetic logic unit | |
US4949296A (en) | Method and apparatus for computing square roots of binary numbers | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
US5148386A (en) | Adder-subtracter for signed absolute values | |
JP5640081B2 (ja) | 飽和を伴う整数乗算および乗算加算演算 | |
Hickmann et al. | A parallel IEEE P754 decimal floating-point multiplier | |
Erle et al. | Decimal floating-point multiplication via carry-save addition | |
JPH0248930B2 (ja) | ||
JP2872263B2 (ja) | 高速演算器における丸め回路 | |
Takagi et al. | A hardware algorithm for integer division | |
Erle et al. | Decimal floating-point multiplication | |
Stelling et al. | Implementing multiply-accumulate operation in multiplication time | |
US5734599A (en) | Performing a population count using multiplication | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
JPH05204602A (ja) | 制御信号の方法と装置 | |
JPH086766A (ja) | 正弦余弦演算装置 | |
JPH11296346A (ja) | 浮動小数点2進4倍長語フォ―マット乗算命令装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090108 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |