JPH06236252A - 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法 - Google Patents

浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法

Info

Publication number
JPH06236252A
JPH06236252A JP5015869A JP1586993A JPH06236252A JP H06236252 A JPH06236252 A JP H06236252A JP 5015869 A JP5015869 A JP 5015869A JP 1586993 A JP1586993 A JP 1586993A JP H06236252 A JPH06236252 A JP H06236252A
Authority
JP
Japan
Prior art keywords
bit
zero
mantissa
segment
leading
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
Application number
JP5015869A
Other languages
English (en)
Inventor
Jack T Poon
ジャック・ティ・プーン
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH06236252A publication Critical patent/JPH06236252A/ja
Pending 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/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • G06F5/012Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising in floating-point computations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 浮動小数点仮数の左シフト正規化で使用する
多段階先行ゼロ検出器を提供する。 【構成】 先行1の検出は、仮数を非重複セグメントに
セグメント化することにより行うことができる。非ゼロ
値ビットを含む最上位セグメントを検出して仮数内のセ
グメント位置に対応する出力ラインを起動する。第2レ
ベルの検出で指定最上位セグメントを選択し、そのセグ
メント内の最上位非ゼロビットの位置を検出して各々が
セグメント内のビット位置に対応した第2の組のライン
内のラインを起動する。この先行ゼロ検出器は多段左シ
フトユニットと組み合わせて完全な左シフト正規化ユニ
ットを形成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は浮動小数点演算過程に関
し、特にゼロに先行する仮数の検出と左シフト正規化装
置を制御するゲート信号の生成に関する。
【0002】
【従来の技術】先行ゼロ検出の重要な応用は、特にオペ
ランドがその正規化された仮数が1ビット以上異ならな
い指数を有する2つの浮動小数点数の減算から生じる仮
数の正規化である。オペランドの大きさが近ければ近い
ほど、正規化されたオペランド仮数の差の結果として得
られる数字の先行ゼロの数は明かに多くなる。浮動小数
点の結果は仮数を左シフトして正規化される。例えば減
算の正規化されない結果が0.0001xxx...xならば、用い
る浮動小数点規約により正規化した結果は0.1xxx...x00
0ないし1.xxx...x0000 となる。前者の場合、仮数は3
ビット位置だけ左シフトされて後ろにゼロが3つ付加さ
れ、その指数は3だけ減分される。後者の場合、先行1
(ないし隠れた「1」)の右のバイナリ点で、正規化演
算は4ビット位置のシフトを必要とし、4だけ連関指数
が減分される。用いる方式に関係なく先行1(ないし先
行ゼロの数)を検出する手段が、減算後の正規化ユニッ
トの制御に必要となる。
【0003】図1は従来の左シフト正規化ユニットの一
般的状態のブロック図である。正規化ユニットは左シフ
ト正規化ユニット60を制御する先行ゼロ符号器(LZ
E)ユニット20を含んでいる。入力データは、オペラン
ドの絶対差に対応する非正規化仮数をその出力で生成す
る減算器10から供給される(符号情報は別の符号ビット
として運ばれる)。このnビットの結果は先行ゼロ符号
器ユニット20と左シフト正規化ユニット60の両方に加え
られる。
【0004】左シフトユニット60は一般に入力ビットス
トリングを循環するバレル・シフタ手段30、40とゼロを
付加するゼロマスク手段50からなる。図2は16ビット入
力左シフト正規化ユニット60の真理表で、その中で
「Z」はゼロマスク・ユニット50によるゼロ情報を示
す。4ビットシフトコードと1ビットゼロ信号は先行ゼ
ロ符号器ユニット20が生成する。バイナリコード化シフ
トコードはバレル・シフタ手段30、40に加えられ、ゼロ
(差がゼロならばアクティブ)はゼロマスク・ユニット
50に加えられて、全てのビット位置でゼロ(Z)を強制
する。
【0005】正規化ユニット60で2つのバレルシフタ・
ユニット(30、40)を使用する理由は、合計シフトが1
段でなされる場合、回路が複雑になるからである。これ
は16ビットの入力ストリングで作動する3ビット左シフ
タのブロック図の図3を参照することで理解することが
できる。2ビットバイナリコード化シフト入力信号は、
4状態入力信号を復号して4つの出力ライン47の1つを
アクティブにするゲート復号器35に加えられる。4つの
出力ラインの各々は16のシフトセル・ユニット45の4つ
の対応する2入力ANDゲート37の1つの入力への入力
となる。ANDゲート37の各々の他の入力は、図示する
ように入力結果データビットストリング[A15−A0 ]
から与えられる。例えばゼロシフトに対応するライン0
は、ライン0がアクティブな場合は出力15-0が[A15−
A0 ]に対応するようにANDゲート37のそれぞれの低
いものに接続される。同様に1ビットシフトに対応する
ライン1は[A14−A-1]が入力として接続されたゲー
トのセットに加えられ、入力ストリング[A14−Aー1]
が出力15-0に表れるようにする。ライン2ないし3をア
クティブにすると入力ストリング[A13−A-2]ないし
[A12−A-3]が出力15-0に表れる。復号器35は4つの
出力ラインの1つを選択するので、4入力ORゲート39
は選択ビットを出力端子に供給するのに必要なマルチプ
レクサを構成している。
【0006】入力ビット[A-1−A-3]がそれぞれ[A
15−A13]に接続されている場合は、シフト演算で入力
ストリング[A15−A0]の循環した回転ないしバレル
シフトをもたらし、[A-1−A-3] がアクティブでな
いならば、ゼロがシフトされたストリングに付加され
る。浮動小数点プロセッサは64ビット(ないしそれ以
上)を有する仮数に対応するので、図3の構造を64ビッ
トシフトに延長するにはそれぞれ64ANDゲート(ない
し合計4096ANDゲート)を有する64のシフトセル・ユ
ニット45を必要とし、それと共に相互接続及び制御にお
ける複雑性が付随する。その結果、シフト過程は図1に
示すように通常2段で行われる。第1段シフタ30は一般
に0−7ビットのシフトに対応でき、第2段シフタ40は
8シフトセルを有し、0、8、16、24、...56 のシフト
を提供する。上述のものに類似のセル構造を使用する
が、それぞれのANDゲートは8束の8入力データビッ
トに対応する。それらの手法の説明に関しては、「ディ
ジタル・システム設計者のための算術入門」ワーサS、
フリンMJホルト、ラインチャット・ウィンストン、19
82年pp.106-123を参照の事。
【0007】再び図1を見ると、シフトユニット30、40
は先行ゼロ符号器ユニット20からバイナリコード化シフ
ト命令を受け取るように設計されていることに注目すべ
きである。図示されているように、kビットシフト命令
はlビットフィールドとmビットフィールドに分割さ
れ、lは低次ビットグループに対応し、mは高次ビット
に対応する。ユニット30、40の復号器31、41はそれぞれ
この情報を復号して2lからの1ないし2m からの1つ
のゲート制御ラインを起動する。kビットの同様の復号
がゼロマスク・ユニット50でなされる。
【0008】図4は32ビット入力先行ゼロ符号器20ユニ
ットの真理表である。入力データビットは最上部に沿っ
て[31−0]の数が付けられている。先行ゼロの出力バ
イナリシフトカウントは右側に沿って列挙されている。
また追加入力制御ビットEiは左端に示されている。Ei
はE0 と共に用いて標準モジュレータ先行ゼロ符号器
ネットワークをカスケードして長いビットストリングに
対応するイネーブル制御ビットである。
【0009】表の各々の水平ラインは先行1の位置及び
結果的な先行ゼロカウントを示す。先行1に続く記号X
は値は任意に0ないし1とすることができることを示
す。また全ての入力ビットパターンがゼロならば、E0
はアクティブとされるが、シフトカウントはゼロ(z=
0)とされ、ゼロ値入力を示すことに留意する。Ei =
0ならば出力は抑制される。
【0010】図5は32ビット入力先行ゼロ符号器ユニッ
ト20のプログラマブル・ロジックアレィを実施した場合
を示す図である。データ入力ビット[A31−A0]とそ
の補数[/A31−/A0]はゲートを供給する水平ライ
ン上にxマークで示すように多入力ANDゲート71に加
えられる。補数はバッファ75を反転することにより生成
できる。Ei はモジュラー先行ゼロ符号器ユニットをカ
スケードするのに使用するイネーブル入力である。AN
Dゲート出力P0 −P21は以下のブール式に従って個々
にかつ排他的に起動される(32から1つ)。
【0011】 P31=Ei * A31 P30=Ei * /A31 * A30 P29=Ei * /A31 * /A30 * A29 : : P1 =Ei * /A31 * /A30 * /A29 ... /A2 * A1 P2 =Ei * /A31 * /A30 * /A29 ... /A2 * /A1 * A0 これらの式により図5で実施されるように、特定のAN
Dゲート71出力、Pkはネットワークがイネーブルな場
合(Ei =1)で、n>kの全てのAnがインアクティ
ブで、Akがアクティブの場合にのみアクティブとな
る。
【0012】ORゲート73はORゲート入力ライン上に
X印で示すように、選択したANDゲート71の組合せを
論理的に結合する。出力ビットの[C4 −C0 ]はOR
ゲート79の出力により制御される3状態バッファ77によ
り供給される。ネットワークがイネーブルになり(Ei
=1)、全ての入力ビット[A31−A0 ]が低であれ
ば、ANDゲート出力Z1 がアクティブとなり、全ての
入力ビットはゼロであることを示す。またEi =0なら
ば、ANDゲート出力Z2がアクティブとなる。それら
の2つの状態のどちらも出力バッファ77をフロートす
る。この後者の機能は図6に示すように2つの(ないし
それ以上の)先行ゼロ符号器ユニットをカスケードする
のに有用である。
【0013】2つの先行ゼロ符号器ユニット70を接続し
て64ビット入力データストリングに対応させることがで
きる。第1の先行ゼロ符号器はビット[A63−A32]を
受け取り、第2の先行ゼロ符号器はビット[A31−A0
]を受け取る。第1の先行ゼロ符号器からのイネーブ
ル出力Eo は全ての高次ビットがゼロの場合に第2の先
行ゼロ符号器をイネーブルにし、出力ビットC5をアサ
ートして32より高次のビットでアクティブなものはない
ことを示す。第2の先行ゼロ符号器の符号化出力ビット
[C4 −C0 ]は、それぞれ対応する第1の先行ゼロ符
号器のディスエーブルされた出力とワイヤードORされ
た5つの低次ビットをもたらす。第2の先行ゼロ符号器
のアクティブなEo は全ての64ビットが低であることを
示す。先行ゼロ符号器ユニットの一部の先の実施では8
ビット優先順位符号器ICを用いた。図7はモトローラ
74LS148 あるいはこれと論理的に等価なナショナル・
セミコンダクタCMOS74HC148 のような8ビット優
先順位符号器の論理図である。このチップは8入力ライ
ン[/A7 −/AO ]を有し、出力[/C2 −/C0 ]
を生成する。また入力イネーブル、/Ei 、出力イネー
ブルEo 及び補数ゼロ指示子Gs が用意されている。図
8の対応する真理表は、それらの8ビット優先順位符号
器が上述の先行ゼロ符号器の補足された等価物であるこ
とを明らかに示している。それらのユニットのカスケー
ドは図9に示すように8ビットの複数に拡張して行うこ
とができる。
【0014】
【発明が解決しようとする課題】本発明の1つの目的は
完全に復号されたゲートを提供することにより左シフト
正規化プロセスを簡潔にし、それにより先行ゼロ検出ユ
ニット及び左シフトユニットでそれぞれ符号、復号装置
をなくすることである。本発明の別の目的は最初に最上
位の非ゼロセグメントを検出して粗い左シフトを行い、
その次の最上位の非ゼロビットの検出を行って精細な左
シフトを行うことで多段左シフトプロセスを用いて高速
度処理を提供することである。それによりゼロ検出タイ
ミングは左シフト装置のタイミングとより密接に合致す
る。
【0015】
【課題を解決するための手段】浮動小数点数の仮数内の
先行ゼロの数を検出する装置と方法を説明する。先行ゼ
ロ検出はいくつかのステップからなる。すなわち仮数の
バイト(あるいはより一般的に2Nのグループ(N=
1、2、3))へのセグメント化し、各々のセグメント
内のビットのOR化を行って非ゼロ値ビットを含む最上
位セグメントを検出し、最上位非ゼロセグメントに対応
するラインをアクティブとし、最上位非ゼロセグメント
を処理して最上位非ゼロビットの位置を判定し、そして
選択したセグメント内の最上位ビット位置に対応した出
力ラインをアクティブにすることである。このプロセス
により多段左シフトユニットを制御する完全に復号され
た2組のゲート信号(セグメント及びビットレベル)が
もたらされる。この多段先行ゼロ検出器を多段左シフト
ユニットと組み合わせて左シフト正規化ユニットを形成
する。
【0016】
【実施例】本発明の以下の説明は2段先行ゼロ復号器の
実施例を中心に行うが、本発明は2段に限定されること
はなく、3ないしそれ以上の段の装置に適用できること
が明かとなろう。また本実施例ではバイト(8ビット)
セグメントを使用するが、これは明かにバイトサイズ・
セグメントに限定されない。図10の2段先行ゼロ復号器
(LZD) 200の実施例は、第1段バイトレベル復号器
201と第2段ビットレベル復号器 202からなる。これは
入力データライン 101に供給される69ビットの拡張内部
精度仮数を有する浮動小数点プロセッサに対応するよう
に設計されている。入力データは8つの8ビット入力O
Rゲート 103のグループと1つの5ビット入力ORゲー
ト 102に供給する。左端のORゲート103は8つの最上
位ビット(msbs)からなる最上位バイトに対応し、
左から2番目は8ビットの次の最上位バイトに対応する
というように、ORゲート 102に加えられる5ビットの
最下位バイト(lsbs)まで対応する。各々のORゲ
ートの出力はその入力バイトが少なくとも1つのアサー
トビットを含む場合はアサートされる。
【0017】ORゲート103からの8つの出力ビットの
セットをNORゲート107に加える。ゲート 107の出力
の「FALSEZERO」はその入力ビットの8つの全
てがゼロ(アサートでない)の場合にのみアサートさ
れ、正規化左シフトユニットの出力段の制御に使用す
る。ORゲート 103と 102からの9つの出力ビットのセ
ットは9ビット完全復号優先順位器ユニット 105の入力
に供給される。優先順位器ユニット 105の出力は4ビッ
トバイナリコード化出力を提供するかわりに9出力ライ
ンの1つをアクティブにする。アクティブにされた出力
ラインはORゲート 103と 102の出力により示される少
なくとも1ビットを有する最高レベルバイトに対応す
る。その出力は完全に復号された出力であってセレクタ
109に直接加えられ、3段左シフト正規化ユニットの第
1段へBYTSELとして得ることができる。
【0018】完全復号9ビット優先順位器ユニットの作
動は、ユニット 105の実施に適したmビット優先順位器
ユニットの論理構造を示す図11を参照すると理解でき
る。優先順位器はm入力ビット[Dm-1−D0 ] を受け
入れて反転バッファ 131により補数集合[/Dm-1−/
D0 ] を形成する。出力はANDゲート 133により形
成される。(Pm-1 のラベルのANDゲート 133は1つ
の入力をそれ自身で単にAND化し、それにより単純バ
ッファとしての役割をすることに留意する)。図5のP
LA実施の場合のように、「x」はその特定水平ライン
と関連したANDゲートの入力への接続を示す。このよ
うにしてm出力ラインの1つだけが入力ビット集合[D
m-1−D0 ] 内の最上位ビット位置に対応して起動さ
れ、以下の論理式を満たす。
【0019】
【0020】従ってPm-kは、Dm-kがアクティブで、n
>0に付いては高次の入力ビットDm+k+n でアクティブ
なものがない場合にのみアクティブである。実施例では
m=9である。
【0021】例えば図12は5ビット入力完全復号優先順
位器ユニットの真理表である。5つの入力ビット状態を
左側に示し、5つの出力ラインの状態を右側に示す。左
側の先行アクティブ入力ビットの位置は低次入力ビット
の状態とは関係なく右側の起動ラインに対応する。また
全ての入力ビットがアクティブでないならば、全ての出
力ラインもアクティブでないことに留意する。
【0022】図10を再び見ると、完全復号9ビット優先
順位器 105の出力ラインのBYTSELが制御ラインと
してマルチプレクサ(MUX)ユニット 109に加えられ
ている。マルチプレクサ・ユニット 109の目的は、5ビ
ットしか持たない最下位バイト[A4 − A0]以外各々
が8つの連続ビットからなる9つの入力データバイトか
ら1つを選択することである。
【0023】図13はマルチプレクサ・ユニット 109の論
理図である。9つの入力ライン[P8−P0]はそれぞ
れ、各々が1組の8ANDゲートからなるバイトセレク
タ 153を制御する。入力ライン[P8−P1]がアクテ
ィブにされるときは、バイトセレクタ 153はいつでもデ
ータライン[A68−A61]、[A60−A53]、[A52−
A45]、[A44−A37]、[A36−A29]、[A28−A
21]、[A20−A13]、[A12−A5 ]のグループを選
択する。5ビットバイト[A4−A0]はアクティブにさ
れたP0 で制御されるANDゲートセット 151により選
択される。(バイトサイズの互換性から、8ビットバイ
ト・ストリングを完了するため3つの低次ゼロを[A4
−A0 ]に付加することが必要となる。)バイトセレク
タ( 151ないし153)出力の各々は8出力チャネルOR
ゲートユニット155によりOR化される。その出力は先
行1を含む8ビットバイトを示す。従ってMUX 109の
出力は図10の第2レベル8ビット入力復号優先順位器ユ
ニット 111により処理して先行1を含む先に選択したバ
イト内のビット位置を示す必要がある。
【0024】復号器優先順位器カウント 111は図11に示
すように論理的に構築される。8ビットバイトは端子
[D7 −D0 ]に加える。8入力ライン[P0 −P7 ]
の1つを選択して先行1の位置を示す。出力信号のBI
TSELを左シフト正規化ユニットの第2段に与える。
【0025】図14は先行ゼロ復号器ユニット 200と正規
化ユニット 300からなる左シフト正規化ユニットのブロ
ック図である。ユニット 300の第1段 301は図10の第1
段先行ゼロ復号器ユニット 201により与えられるバイト
制御信号BYTSEL[8−0]の9つの最上位ライン
により0ないし8、16、24、32、40、48、56、64ビット
だけデータをシフトする。第2段左シフタ 302は図10の
優先順位器 111により供給される8ラインの状態BIT
SEL[7−0]により仮数を0ないし1、2、3、
4、5、6、7だけシフトする。BYTSEL、BIT
SELは完全に復号された相互に排他的な制御ラインで
あるのでユニット301、302による左シフト制御信号の復
号は必要でない。
【0026】ユニット 300の出力は最終的に図10に示す
ように第1段先行ゼロ復号器 201により生成されたFA
LSEZEROにより制御されるnチャネル出力AND
ゲート 173により制御される。全てのデータビット[A
68−A0 ] がゼロならば、NORゲート 107の出力が
アサートされ、図14の正規化ユニット 300のバッファ17
4からの反転偽ゼロ信号のアサート取り消しがなされ
る。これによりANDゲート 173はゼロ値出力をもたら
す。実施例は図10の2つの完全復号優先順位器 105、 1
11を用いて説明したが、先述のような標準大規模集積チ
ップを優先順位器ユニットとして使用することが望まし
いことがある。そうであれば、第1と第2段先行ゼロ復
号器20からの出力BYTSEL、BITSELはバイナ
リコード化され、図1に示すように正規化ユニット内に
復号手段と図10のマルチプレクサ 109用の復号手段を必
要とする。また実施例では図14に示すように2つの先行
ゼロ復号器段(201、202)を使用したが、先行ゼロを検
出するのに3ないしそれ以上の先行ゼロ復号器段を使用
することができることは明かである。 128ビット仮数を
それぞれ32ビットの4つの束に分離し、4つの32入力O
Rゲート 113に加えると想定する。優先順位器 115はど
の32ビット束が最上位ビットを有し、セレクタ 117を制
御する出力ラインを起動する。32ビットの選択セグメン
トは8つの4入力ORゲート 123とセレクタ121に加え
る。優先順位器 119の出力によりセレクタ 121は最上位
ビットを有する5ビットセグメントを選択する。当業者
には以上及び他の変形が明らかであろう。
【図面の簡単な説明】
【図1】浮動小数点減算器ユニット、左シフト正規化点
減算器ユニット及び左シフト正規化ユニットのブロック
図である。
【図2】16ビット左シフト正規化ユニットの真理表であ
る。
【図3】3ビット左シフタのブロック図である。
【図4】32ビット先行ゼロ符号器の真理表である。
【図5】32ビット先行ゼロ符号器のプログラマブル・ロ
ジックアレィの実施を示すブロック図である。
【図6】カスケードして64ビットユニットを形成する2
つの32ビット先行ゼロ符号器のブロック図である。
【図7】8ビット優先順位符号器の論理図である。
【図8】8ビット優先順位符号器の真理表である。
【図9】2つの8ビット優先順位符号器をカスケードす
る方法を示す図である。
【図10】多段先行ゼロ符号器の実施例のブロック図であ
る。
【図11】先行ゼロゲート信号生成器のプログラマブル・
ロジックアレィ実施を示す図である。
【図12】5ビット入力先行ゼロゲート信号生成器の真理
表である。
【図13】9対1マルチプレクサユニットの論理図であ
る。
【図14】3段左シフト正規化ユニットのブロック図であ
る。
【図15】多段先行ゼロ符号器の他の実施例のブロック図
【符号の説明】
20:先行ゼロ符号器 31:復号器 33:バレルシフタ 41:復号器 43:バレルシフタ 51:復号器 53:ゼロマスク

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 (a) 非正規化バイナリコード化仮数を受
    け、前記仮数を大きさの順に配列した連続的な多ビット
    非重複セグメントにセグメント化し、配列したビットの
    セットで示された前記バイト内で前記バイトの各々につ
    いて1つの非ゼロ値の存在を検出する第1段復号手段
    と、(b) 前記順序を示すビットに接続され、アサートさ
    れたビットを含む最上位バイトの位置を判定して前記最
    上位バイトを示す出力信号を出す第1段セグメント優先
    順位検出手段と、(c) 前記第1段優先順位検出器出力信
    号により制御され、前記非正規化仮数を示す入力ビット
    のストリングから最上位セグメントを選択する選択手段
    と、(d) 前記選択手段と接続され、前記選択された最上
    位セグメントから最上位のアサートされたビットの位置
    を判定し、前記ビット位置を示す出力信号を出す第2段
    ビット優先順位検出手段とからなる浮動小数点数の仮数
    部の先行ゼロの数を検出する先行ゼロ2段検出ユニッ
    ト。
  2. 【請求項2】 (a) (i) 各々が入力ビットストリングの
    別個の連続ビットセグメントに接続され、優先順位器に
    接続されて最上位サブフィールドを検出し、出力制御信
    号を生成する複数の多入力ORゲートと、(ii)前記優先
    順位器出力制御信号により制御され前記ビットの最上位
    セグメントを選択する選択手段からなりタンデムに接続
    されて最上位先行非ゼロビットを含む出力ビットフィー
    ルドを生成する2つないしそれ以上の復号器−セレクタ
    段と、 (b) 前記出力ビットフィールドを優先順位化し、前記位
    置を示す出力信号を生成することで前記先行非ゼロビッ
    トの位置を検出する端末優先順位器ユニットとからなる
    先行ゼロ多段検出器ユニット。
  3. 【請求項3】 (a) 仮数内の先行ゼロの数を示す多段左
    シフト制御信号を生成する先行ゼロ2段検出器ユニット
    と、(b) 前記左シフト制御信号にしたがって前記仮数を
    左シフトする左シフタとからなる浮動小数点左シフト仮
    数正規化ユニット。
  4. 【請求項4】 (a) 仮数を示すバイナリ数を受け、(b)
    前記仮数を多さの順に配列した連続非重複セグメントに
    セグメント化し、(c) 前記セグメント内の非ゼロ値ビッ
    トの存在を検出し、(d) 非ゼロ値指示ビットを各々のセ
    グメントに割り当て、前記セグメント内に非ゼロ値ビッ
    トが検出された場合は前記ビットをアサートし、(e) ア
    サートされた最上位非ゼロ値指示ビットを判定し、(f)
    前記最上位指示ビットに対応する2状態出力ラインを表
    明し、(g) 前記最上位指示ビットに対応した最上位セグ
    メントを選択し、(h) 前記最上位セグメントの最上位非
    ゼロビットを判定し、(i) 前記最上位セグメントの前記
    最上位非ゼロビットに対応した2状態出力ラインをアサ
    ートする各ステップからなる浮動小数点数内の仮数内の
    先行ゼロの数を検出する方法。
JP5015869A 1992-01-06 1993-01-06 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法 Pending JPH06236252A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/817,302 US5241490A (en) 1992-01-06 1992-01-06 Fully decoded multistage leading zero detector and normalization apparatus
US817302 1992-01-06

Publications (1)

Publication Number Publication Date
JPH06236252A true JPH06236252A (ja) 1994-08-23

Family

ID=25222769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5015869A Pending JPH06236252A (ja) 1992-01-06 1993-01-06 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法

Country Status (5)

Country Link
US (1) US5241490A (ja)
JP (1) JPH06236252A (ja)
GB (1) GB2263001B (ja)
HK (1) HK127896A (ja)
SG (1) SG42990A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225671A (ja) * 1993-12-06 1995-08-22 Internatl Business Mach Corp <Ibm> 結果正規化機構と動作の方法
JP2011509491A (ja) * 2008-01-09 2011-03-24 クゥアルコム・インコーポレイテッド 正規化カウントを判定するプロセッサ及び方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993015460A2 (en) * 1992-01-24 1993-08-05 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
EP0800133A1 (en) * 1992-01-24 1997-10-08 Digital Equipment Corporation Databus parity and high speed normalization circuit for a massively parallel processing system
US5915054A (en) * 1992-03-05 1999-06-22 Fuji Xerox Co., Ltd. Star coupler for an optical communication network
US5375078A (en) * 1992-12-15 1994-12-20 International Business Machines Corporation Arithmetic unit for performing XY+B operation
GB2274224B (en) * 1993-01-07 1997-02-26 Sony Broadcast & Communication Data compression
US5390134A (en) * 1993-01-29 1995-02-14 Hewlett-Packard Company System and method for reducing latency in a floating point processor
US5485476A (en) * 1993-06-14 1996-01-16 International Business Machines Corporation Method and system for error tolerant synchronization character detection in a data storage system
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5574670A (en) * 1994-08-24 1996-11-12 Advanced Micro Devices, Inc. Apparatus and method for determining a number of digits leading a particular digit
US5568410A (en) 1994-09-29 1996-10-22 International Business Machines Corporation Method and apparatus for determining the amount of leading zeros or ones in a binary data field
US5576982A (en) * 1994-10-17 1996-11-19 Unisys Corporation Fast significant bit calculator and its application to integer multiplication and division
US5668984A (en) * 1995-02-27 1997-09-16 International Business Machines Corporation Variable stage load path and method of operation
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5831877A (en) * 1995-05-26 1998-11-03 National Semiconductor Corporation Bit searching through 8, 16, or 32 bit operands using a 32 bit data path
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
US5633819A (en) * 1995-10-24 1997-05-27 Exponential Technology, Inc. Inexact leading-one/leading-zero prediction integrated with a floating-point adder
US5798958A (en) * 1996-06-05 1998-08-25 Samsung Electronics Co., Ltd. Zero detect for binary sum
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
US6018757A (en) * 1996-08-08 2000-01-25 Samsung Electronics Company, Ltd. Zero detect for binary difference
US5880978A (en) * 1996-08-20 1999-03-09 Intel Corporation Method and apparatus for creating an output vector from an input vector
US5940625A (en) * 1996-09-03 1999-08-17 Cray Research, Inc. Density dependent vector mask operation control apparatus and method
US5923574A (en) * 1996-09-18 1999-07-13 International Business Machines Corporation Optimized, combined leading zeros counter and shifter
US5844826A (en) * 1996-10-18 1998-12-01 Samsung Electronics Co., Ltd. Leading zero count circuit
US6108678A (en) * 1998-05-05 2000-08-22 Mentor Graphics Corporation Method and apparatus to detect a floating point mantissa of all zeros or all ones
US6058403A (en) * 1998-08-06 2000-05-02 Intel Corporation Broken stack priority encoder
US6173300B1 (en) 1998-08-11 2001-01-09 Advanced Micro Devices, Inc. Method and circuit for determining leading or trailing zero count
US6513053B1 (en) 2000-01-12 2003-01-28 Arm Limited Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
US6593778B1 (en) 2000-09-05 2003-07-15 Intel Corporation Zero detect circuit and method for high frequency integrated circuits
US6734810B2 (en) * 2001-01-31 2004-05-11 Matsushita Electric Industrial Co., Ltd. Apparatus and method for decoding
KR100486255B1 (ko) * 2002-08-28 2005-05-03 삼성전자주식회사 데이터 검출회로 및 데이터 검출 방법
US7991947B2 (en) 2002-12-30 2011-08-02 Micron Technology, Inc. Multi-priority encoder
US8209366B2 (en) * 2005-02-28 2012-06-26 Hitachi Global Storage Technologies Netherlands B.V. Method, apparatus and program storage device that provides a shift process with saturation for digital signal processor operations
US7516252B2 (en) * 2005-06-08 2009-04-07 Intel Corporation Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
US20070050435A1 (en) * 2005-08-30 2007-03-01 Christian Jacobi Leading-Zero Counter and Method to Count Leading Zeros
JP4232838B2 (ja) * 2007-03-29 2009-03-04 日本電気株式会社 再構成可能なsimd型プロセッサ
US8788549B2 (en) * 2011-05-02 2014-07-22 Saankhya Labs Private Limited Zero overhead block floating point implementation in CPU's
US8954833B2 (en) * 2012-06-06 2015-02-10 International Business Machines Corporation Half width counting leading zero circuit using comparators
GB2587040B (en) * 2020-02-28 2022-03-02 Imagination Tech Ltd Look ahead normaliser

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4064421A (en) * 1976-07-22 1977-12-20 Burroughs Corporation High speed modular arithmetic apparatus having a mask generator and a priority encoder
JPS59216245A (ja) * 1983-05-25 1984-12-06 Nec Corp 正規化回路
JPS62229436A (ja) * 1986-03-31 1987-10-08 Toshiba Corp 二進数デ−タ判別回路
JPH0746310B2 (ja) * 1987-06-30 1995-05-17 三菱電機株式会社 半導体論理回路
US4979141A (en) * 1988-09-28 1990-12-18 Data General Corporation Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
US5111415A (en) * 1989-11-06 1992-05-05 Hewlett-Packard Company Asynchronous leading zero counter employing iterative cellular array

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225671A (ja) * 1993-12-06 1995-08-22 Internatl Business Mach Corp <Ibm> 結果正規化機構と動作の方法
JP2011509491A (ja) * 2008-01-09 2011-03-24 クゥアルコム・インコーポレイテッド 正規化カウントを判定するプロセッサ及び方法
US8631056B2 (en) 2008-01-09 2014-01-14 Qualcomm Incorporated Processor and method of determining a normalization count
JP2014132485A (ja) * 2008-01-09 2014-07-17 Qualcomm Incorporated 正規化カウントを判定するプロセッサ及び方法

Also Published As

Publication number Publication date
GB2263001A (en) 1993-07-07
US5241490A (en) 1993-08-31
GB2263001B (en) 1996-03-13
HK127896A (en) 1996-07-26
GB9226829D0 (en) 1993-02-17
SG42990A1 (en) 1997-10-17

Similar Documents

Publication Publication Date Title
JPH06236252A (ja) 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法
EP0233635B1 (en) Variable shift-count bidirectional shift control circuit
US7216138B2 (en) Method and apparatus for floating point operations and format conversion operations
KR100217531B1 (ko) 이진 데이타 필드에서 선행 0 또는 1의 양을 결정하기 위한 방법 및 장치
US5161117A (en) Floating point conversion device and method
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
US5995122A (en) Method and apparatus for parallel conversion of color values from a single precision floating point format to an integer format
KR100239029B1 (ko) 가산기와 함께 사용하기 위한 결과 정규화기 및 결과 정규화 방법과 그를 포함하는 데이터 프로세서
WO2020067908A1 (en) Apparatuses and methods to accelerate matrix multiplication
US5247471A (en) Radix aligner for floating point addition and subtraction
US8732226B2 (en) Integer rounding operation
JPH0659858A (ja) 浮動小数点演算装置
EP0609673B1 (en) A mantissa addition system and method for a floating point adder
JP2013210838A (ja) 演算回路及び演算方法
EP0332215B1 (en) Operation circuit based on floating-point representation
JP2565730B2 (ja) オーバフロー検出回路
US5708800A (en) High speed microprocessor for processing and transferring N-bits of M-bit data
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기
US7277909B2 (en) High speed adder
JP3530547B2 (ja) 結果のバイアス制御を有する最小遅延の先行1検出器
JPS62256035A (ja) 可変のデ−タバス幅をもつプログラム装置におけるプログラム制御のシフト機構
JPH06250820A (ja) 浮動小数点加算器における指数アンダフローおよびオーバフローの検出方法および装置
JP3535670B2 (ja) 浮動小数点数の仮数正規化回路
EP0610779B1 (en) Method and apparatus for generating sticky bit in floating point operation using parallel two-way propagation of group enables
US5948049A (en) Normalization circuitry