JPH02144624A - 先行ゼロ予測による正規化装置及び方法 - Google Patents

先行ゼロ予測による正規化装置及び方法

Info

Publication number
JPH02144624A
JPH02144624A JP1260392A JP26039289A JPH02144624A JP H02144624 A JPH02144624 A JP H02144624A JP 1260392 A JP1260392 A JP 1260392A JP 26039289 A JP26039289 A JP 26039289A JP H02144624 A JPH02144624 A JP H02144624A
Authority
JP
Japan
Prior art keywords
state
signal
shift amount
addition
false
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
JP1260392A
Other languages
English (en)
Inventor
Erdem Hokenek
エーデン・ホーケネツク
Robert K Montoye
ロバート・ケビン・モントーイ
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02144624A publication Critical patent/JPH02144624A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明はコンピュータにおける加算正規化(Addit
ion−Normalization)処理の実行に要
する時間を削減する方法および装置に関する6さらに詳
しくは、先行ゼロ処理をオペランドの加算と並行して実
行することによるコンピュータにおける浮動小数点加算
結果の正規化に関する。
B、従来技術およびその問題点 電子計算処理における正規化は固定基点に対する数値の
参照手段として使用される。正規化は基点に2ビット隣
接し逆極性のすべての符号ビット伝引き出す0表1はあ
る浮動小数点を持つ32ビツト・レジスタの例である。
正規化命令が出されると、非正規化数値ビットが小数点
の両サイドのビットが逆の値になるまでレジスタの最重
要ビット(MSB)へ向けてシフトされる。その後、数
値は表1に示すごとく正規化される。負数は正数と同様
に正規化されることが理解される9ここに示した正規化
処理の後、浮動小数点数の指数がシフト総数に従ってr
A整される。
表1 基点 これまでは浮動小数点加算の正規化処理のために、次に
示す3つのステップが実行されるのが一般的であった。
1)2つの項あるいはオペランドA、Bの加算(最小の
log(N)時間を要するプロセス)2)結果における
先行0/1の判別(結果の符号によって異なる)。これ
により先行ゼロが判明(LZD:=lsading  
 zero   dateetion)する。
3)加算結果を適当な量シフトする。
このLZDを有効に利用したシステムの実施例は例えば
米国特許第4,631,696号、第4゜644.49
0号、第4,649,508号および特開昭57−19
6351号に示されている。
この日本特許でキャリーの発生が予測さ九でいるように
加算中におけるいくつかの予測はこれらの従来技術に示
されているが、それでも結果の正規化処理が開始される
前に加算機能を完結するのを待たなければならないのが
一般的である。そのためにこハらの従来技術では比較的
時間のかかる処理となってしまう。本発明では加算正規
化処理に要する時間を削減するために、先行170判別
処理を加算と同時に実行する方法およびシステムを提供
する。
C0本発明の概要 上述した従来技術における先行ゼロ判別(LZD)処理
。すなわち電算化された浮動小数点加算における2つの
オペランドA、Hの加算の完了の後に実行される先行ゼ
ロ判別(LZD)処理とは異なり、本発明では加算処理
と並行して先行0/1予測(LZA=leading 
 zero  anticipation)が実行され
る。結果として電算処理における加算正規化に関する時
間は確実に削減される。
この改良された処理はオペランド(AおよびB)の対応
ビット位置のビット比較から生ずるX0R(Pe Pr
opagat、a=伝搬)、AND CG。
Ganerats=発生) +NOR(Z、Za rO
=ゼロ)状態信号を処理するネットワークの組合せを使
用することによって達成される。これは加算における最
重要ビット(MSB)の側から開始される。まず、初期
状態信号の状態が判別され。
もし状態がGあるいはZであればシフト数を表す信号が
発生される。この数は判別された各連続状1m信号のカ
ウントであり、状態が真(TRUE)である限りにおい
て発生される。状態が偽(N。
T  TRUE)になるとシフト量信号の発生は停止さ
れ、調整信号が発生される。浮動小数点加算の合計の指
数を決定するために、シフト量のカウントは調整信号と
合算される。後の合計値が正規化の結果を与えるオペラ
ンドの合計の指数である。
調整信号は偽(NOT  TRUE)ビット位置におけ
るキャリー(CARRY)に基づいていおり。
偽位置の状態が加算結果の正負を決定するのに使用され
る。
初期状態がPであると、シフト数信号の停止は偽(NO
T  TRUE)ビット位置に続くビット位πにおける
状jJ倍信号状態によることとなる。
偽ビット位置における第2状態(GまたはZ)が第3状
態の状態信号を伴うものである場合にはシフト数信号の
発生は第3状態が偽となるまで続く。
あるいは、シフト信号は偽位置に続くビット位置で停止
される。これらの場合において調整イボ号はシフト信号
が停止されたビット位置におけるキャリーに基づくこと
となり、この位置における状態が加算結果の正負を決定
することとなる。
シリアノL+・ネットワークに加えて、対応ビット位置
におけるビットの比較により生ずるZi〜Zn。
P□〜Pn、およびG8〜Gn状aM号を含むnビット
長のブロックとして固有状態入力を受は入れ、応答とし
てzz、pp、PZ、PG、およびGG倍信号含む中間
状態出力を発生するような並列形態のネットワークにお
いても同様である。これらの中間状態出力をOR処理す
ることによって、シフト・カウントおよび調整信号を指
示する信号がシフト・カウントの最後のビット位置に基
づいて生成されることとなる。シフト・カウントと調整
M号との合算はオペランドAとBの浮動小数点加算の合
計の指数を決定するのに使用される。基本的実行ネット
ワークにおける変更あるいは簡略化はそれぞれの場合に
応じて可能である。
D。実施例 本発明は計算機による浮動小数点加算における2つのオ
ペランドAおよびBの加算処理と並行しで先行0/i予
測(LZA=1eadinHz6ro  antici
pation)を実行することで電算処理における加算
正規化に要する時間を確実に削減させる。従来は第2図
に示すごとく。
浮動小数点加算器10におけるオペランドAおよびオペ
ランドBの加算結果はシフタ20と先行ゼ1コ判別(L
ZD)論理30に渡される。先行ゼロが判別されるとL
ZD30の出力はシフタ20の動作に作用し、その後正
規化結果を表す出力を発生させる。これとは対称的に第
1図で示すごとく本発明に係る先行ゼロ予測(LZA)
論理40は加算器10と並行してオペランドA、Bを受
は取す一シフタ20に対して加算結果とほぼ同時にその
出力を与える、これによって正規化の結果はより速く生
成され浮動小数点加算処理のスピードが増大するゆ このエンド反復コンビネーション・ネットワークを達成
する実行システムを供給する具体的な手段は以下に示す
事項から理解される方法、及び機器の組合せによってよ
り詳しく説明される。
まず、表1に示した非正規化浮動小数点数の1つが浮動
小数点の加算結果(A+B)であるとする。あらゆる値
A、Bの加算は基本的に4つのケースを取りうる。
(1)(A<O,B>O)は(3)および(4)と同様
であり、単にA、Bを入れ替えた場合に相当する。
ここでオペランドA、オペランドBのビット対ビット関
係を表す3つの補助等式を定義する。これらの論理表現
は以下のようになる。
2“NOR(as・bl)(2°1) 1” m XOR(a、、 bi)    (2; 2
)G、 s AND (aL、 bi)    (2,
3)これらの論理機能は一般のコンピュータ、例えばJ
BM370に用いられる桁上げ先見法(CLA)に使用
されるものと極めて類似している。実際。
P、GおよびZ信号はこのようなコンピュータにおいて
いかなる加算回路も用いず発生させ得るものであり、し
たがってCLA機能を有するこれらのコンピュータによ
って本発明を実行することが可能である。従って1発明
の目的における入力はこれらのP、G、Zi号となり、
これらの1つが各ビット位置における真(1)となり得
る。
ここであらゆる可能なケースを考える9本発明に係わる
先行O/′1予測(LZA)の有限状態表現は以下のご
とく構成される。
Ca5a l:   ム>0.   Boo、   A
+B>0当然、AとBの組合せはおびただしい数となる
同じ結果を生ずる特定のAとBの組合せを以下の表;2
I:示す。
表2 a)     A       0000000100
01000010011)OOLOLOOOOOOB 
      Q 00000000110100001
00100010000100b)    ^    
  O0OOOOOO10010000100LOOO
101000QOOB       O0OOOOOO
11101QOOOiO01000100001005
B CARRYコ1 5B LZAの状態表示は表2の例示の解釈から得ることがで
きる。まず最初に先行0/1予測が加算の最重要ビット
(MSB)の側から開始される。他のステートメントは
以下のごとく要約される。
1.1−MSBがZ信号であるならLZAが状態に入り
Z信号が真1例えば(1)である限りにおいて不変のま
ま維持される。
1°2−各Z入力に対してLZAは左シフト信号(SH
L)を発生する。
1.3−先行0/1予測はに番目の2人力が偽。
すなわち(0)であるとき終了する。続いてLZAはキ
ャリーをに番目の2位置を計算の考慮にいれて、以下の
式に基づいて調整(ADJUSTMENT)信号(AD
)を生成する。
AD=CARRY (2,4) AD高出カド−タル・シフトとなる右シフト(RIGH
T−SHI FT)信号である。
5H=SHL  AD  (2,5) トータル・シフト量(SH)は浮動小数点数の指数変更
に重要なものとなる。
ビットの1つの’ NOR’がキャリー出力に基づくの
と同様最終的に正規化を異ならしめることが分かる。
表2の例において、ト・−タル・シフト量は以下によっ
て与えられる。
a)SHL=6.AD=O,5H=6゜b)SHL=7
.AD=1,5H=6゜上記の説明から得られる状態図
は第3図に示される。
ケース2:  A<O,B<O,A+B<0このケース
は2つの負数の加算に対応する。
表3 a)   A    l 1111111000000
100010000000101001】、11111
1110000101000001i00001001
0b) ム 11XIIIIO1100OO100O100OOOO
O1010011111111111000101,0
OOOO1,10000100LO5B CARRY尊1 5B 表3に示された例から始める。
2.1−M5BがG信号のときLZAはG状態に入り、
G信号が真、例えば(1)である限りにおいて不変のま
ま維持される。
2.2−各G入力に対してLZAは左シフト信号(SH
L)を発生する。
2.3−先行0/l予測はに番目のG入力が偽。
すなわち(0)であるとき終了する。続いてLZAはキ
ャリーをに番目のG位置を計算の考慮にいれて、以下の
式に基づいてtNl (ADJUSTMENT)信号(
AD)を生成する。
AD=INV (CARRY)   (2,6)これは
キャリー;0のときAD=1. キャリー=1のときA
D=Oであることを示す。
上述のケースに対して、(A<O,B<O)のLZAは
両オペランドのMSBサイドのビット比較が真である限
りにおいて継続する。この2面性は負数を得るための2
進コンブリメント・オペランドからのものである。
LZAの」メ下の動作は同じシフト量を生じさせる。
(−A)+ (−B)   (−)(A+B)(2,7
)ケース1        ケース2 最後に第4図に示す状態図に拡張させる。
ケース3 : A>O,B<O,A+B>0このケース
は正数における減算に対ぼする。
表4 a) ム 111111L11110100QOIO010QOI
QOOO100b) ム 000QOOOIOI11110GIQO100OIO
100OOOOC) ム 0001000001111100100100010
1QOOOOO1111000011i1110(10
100100010000100d) ム 1111000i00101QOOOIOQ100O1
00001DO上記の例において用いられる前述のスア
 !−メントは以下のごとくとなる。
3、]、−MSBがP信号のときLZAはP状態に入り
、P信号が真1例えば(1)である限りにおいて不変の
まま維持される。
3.2−各P入力に対してLZAは左シフト信号(SH
L)を発生する。
3.3−、、i番目の入力信号がG信号であると、新し
い状態は前述のケースで現れたZ状態となる。
LZAは左シフト出力を発生させステートメント1.2
へ進む。
表4の例においてトータル・シフト量は以下によって与
えられる。
a)SHL=7.AD=1.5H==6゜b)SHL=
7.AD=l、SH:6゜c)SHL=7.AD=1,
5H=6゜ci)SHL=6.AD=O,5H=6゜先
のケースで示された状態図は第5図に示すようにステー
トメント3.1〜3.3を含んだ形で拡張される。
ケーx4− : Ago、Boo、A+B<0上記の説
明に基づいて、このケースはLZAにょって表されるよ
うな有限状態マシンに容易に含ませることができる。
表5 a) ム o oooooooootoootooatooooo
ooiotoox11111L10011001010
000011000010010b) ム 00000000000000tGOO1000000
010100111LL11101000010100
00011000010010C) ム OQOO111100000010001QOOOQO
O101QO1δ L LlolllllooooLOIQOOGOllo
ooolootOd) ム Q 0OO11111100001QQOIQOOOO
OO1010011110111011000XOLO
OOOOILOQOOLOOIO?ts!1 ■ 表5に示さ九た各側から分かるように、このケースもP
状態からスタートする。従って上述した(3.1〜3.
2)の状態はここでも有効である。
しかしP状態の後の入力はGではなくZとなる。
その結果、LZAの新しい状態は異なったものとなりG
状態によって指定される。ここでの状態コンデイション
は以下のごとくなる。
4.1〜4.2は3.1〜3.2と同様である。
4.3−m番目の入力がZ信号であるとき左シフト信号
を出力し、ステートメント2.2へ進む。
トータル・シフト量は以下のごとく与えられる。
a)SHL=7.AD=1,5H=6゜b)SHL=7
.AD=l、5H=6゜e)SHL=7.AD=1,5
H=6゜d)SHL=6.AD=O,5H=6゜一般的
な状態図は第6図に示すようになる。
調整(ADJUSTMENT)にかかるキャリー(CA
RRY)から離れた有限状態÷シン表現の論理は以下の
ごとくなる。
Z=ZK+P工GZK−(i+1) (正結果)    (2,8) G二GK+P工ZGK−(i+1) (負結果)    (2,9) Z状態は(k)のZ入力または(i)のP入力に1つの
Gおよび(に−i −1)のZ入力が続いたときに発生
する。同様のステートメントはG状態においても発生し
得る。
トータル・シフト量は別にして、LZAのシーケンシャ
ル・モデルもまた加算の最終結果が正となるか負となる
かを先行0/l予測の終了以前の先行状態に従って指摘
する。もしその先行状態がZ状態であるなら最終結果は
正であり、さもなければ負である。というのは第6図で
示すようにP状態が常にZにあるいはG状態に先行する
からである。
LZAの有限状態モデルがビット長(N)によってはキ
ャリー先見加算と同程度の速度を保つとは限らないであ
ろう直列入力列のエントりを許容する、したがってP、
G、Z入力のプロセスは先見構成と同様、並行アルゴリ
ズムによることが望ましい、ブロック長りの選択ブロッ
クの入力データから処理を開始する最終的な構成は、異
なる状態および入力の組み合わせと解釈される先行の有
限状態マシンによる並行手段であると解釈し得る。
したがって、先行0/1予測は結果的には任意のブロッ
ク長に拡張できるが、4ビツトのブロック長を用いた数
的処理であるといえる。に番目のピッ1−位置から始め
ると仮定するとこの位置での可能な入力組合せは以下の
ごとくなる、1g1t ■ に 、、、、   2.、。
、、、、   P、、。
0.0、   、、、、   、、、、   G、+。
k番目と(k−3)番目のビット位置間の列に従ったL
ZAの状態出力は以下のごとく定義される。
”uc = 7′L”(h−g ”(k−g ” ch
−s)(3,1) け1にF、ゝ(k−1) ’(k−2) ’ (k〜η
(3,2) ”th  ”  ’+c  ’pc−g  ”(h−z
)’ck−g″′(k−z)”(+c−s>) ”  
”−(h−g  %”(h−g)”ik″’に’(s+
−1)”ol、−z)”(h−x)”(h−z)’(h
−x))” ”+c”(h−g ”¥ch−g’開始状
態と終了状態の間の状態を中間状態と呼ぶ。
ブロック長D(3Dの可能な組合せがある)においては
中間LZAブロックの出力のおいて生ずる入力の組合せ
の数は(2D+3)で与えられる。
以下の例で示されるごとくPZおよびPG状態では2D
の組合せが発生する。
PZ                     PG
ll、、、、D        12.、、、D及び 1    GZZ、、ZZ    I    ZGG、
、GG2    PGZ、、、2  2    PZG
、、、GPPG、、、、     、    Pi’Z
a、、、     、    、、、Z。
G、Z     、    、、  、  、Z、GP
、、、、GZ    、    P、、、、ZGD  
  F’  P 、、PPG    D   PP、、
PPZ3つの追加組合せはzz、ppおよびGG状態に
したがったものとなる。このことは1般的なケースにお
ける論理式の正しさを確認し、J%なるブロック長の構
成の複雑さを比較するのに重要となる。
第6図に示す有限状態マシンにもどる。最初および最後
の入力に関する状態等式の新しいセットは少し異なって
いる。新しい2つの式はであり、各々PZおよびPG状
態を表し、基本的に第6図で与えられたLZAモデルで
は発生しない、これらの展開は各ブロックが近接した1
つの結果についての情報を受は取ることなしにデータを
扱うという事実によるものである。したがって先行ブロ
ックの出力状態がPPであると、それに続く状態はPz
あるいはPG高出力なる。LZAの最終的な基本構成の
ブロックは第7A図に示すごとくなり、これを実行する
論理構成図は第7B図のごとくなる。
この回路はその出力がその入力からすべてが決定される
ので1つの連合ネットワークである。このようにシーケ
ンシャル・ネットワークの実行は反復連合ネットワーク
における異なる状態出力の伝搬上の問題に変換される。
状態反復における好ましい予測の輪郭構を第8A図に示
す、またその実行のための論理構成図を第8B図に示す
状態反復に必要な論理式はすべての可能なケースに於け
る直列L Z A入力列を考慮するごとによって得るこ
とができる2 1              +o−1ara)  
ZZZZ   、、、、   ZZZZ   ZZZZ
”Ll、   ”’   ”1(ai−1)  ”1m
PE’GZ Pzl(m−1) PZ      spp     PZ   4−PZ
(」+1)ai   j(m4) jllj(m−15
”jm(3,10) d) @−1 ppp ”1(m4) 1             偏−1mb)   PP
PP    、、、、、    PPPPPPPP1’
P11   °”   PP1(oi−1)   1m
P ai−1 PZG pGl(I−1) 1             m−1aiC)   P
PPI’    、、、、     PP1’P   
  PPGZPpH°”   ”1(ai−L)  ”
!a+G−PP (j+l)m  Jに−1) PGJm”j(m−1)
  jm(3,11) @)   GGGG 閃−1 qXに GGGG GG        GG ”11   ”’    1(11+−1)   掬闇
 。    =GG、     GG(j+1)+n 
   j(I!1−L)   Jm(3,12) 二二で(1)=i−22.−r  F  1))[m=
(i(j−1)+1)、、、、M]M=N/d、j==
log、M。
(J、M  整数、i:先見距離) N:LZAのトータル・ビット長 D:□ブロック長 J:必要なL Z Aステージ数 状態繰り返しくイテレーション)に関する式は2つの調
整プロ、ツケにおける状態出力に関連して表されるが、
これらは任意の先見距離に拡張できる。
どの状態においても予a’+i状態は上記の式を実行し
、補助関数zz    pp   、pzlに’   
 lk    lk’ PG   および(J G 1 *を使用することによ
り生1に 成される2以下の繰り返しステ・−ジにおける各セルは
入力(左およびトップの閘接部からの情報受取)として
、また出力(ネットワーク出力と同様に右およびボトム
の隣接部に対して予測状態を供給)として中間ZZ、P
P、PZ、PG、GO倍信号有する。ここで先行0/1
が検出されない時は、1)これらの状態の1つのみが真
(1)となり得る。あるいは、2)これらすべてが偽(
0)である。の2状態のうちいづれかであることは興味
あることである。左シフト信号は次のように表される。
SHL  、  =OR(ZZ  、   、PP  
、   。
Jm              Jm       
 、1mPZ、   、PG、   、GO,)   
 (3°13)Jm        Jm      
  Jmこの関数の論理図は第9図に示した。
ここでSHL信号の計算について理解するために具体例
を示す2以下に示す入力例について考える。
” ”” ”’j(+m−2) ”1(+++=1)”
j、ai”x(ail) ”” ”JMLZAは加算の
NSH側から始まるm左シフト信号を供給することが分
かる、続いてm番目のデイジット位置において調整(A
 D J U S T M E NT)を決定すること
が必要となる0m番目のデ、イジツトに対するキャリー
人力が右シフト信号を発生させるために計算に取り込ま
れることを指示する単一信号が必要となる3この調整位
置(ADJUSTMENT−POS T:Tl0N)出
力は信号列を使って発生され得る。
ADP =SH−INV(SHl(1n+t))m  
    lm =5H、X、OR(SHi (m+i) ) <3.1
4) m この関数の論理図は第10図に示す、ここにはADP 
 信号は2?のSH信号が異なる時のみ真となることが
示されている。上述したごと<SH信2・は1つの偽を
伴った真のピッ1−列から構成されているやしたがって
jlP  は変換デイジットにおいて真どなる。もう−
・度具体例について考える。
1、、、、、、、、、m  、、、、、M%tput−
−>  11.、。、、、、1.11QO,、、,0O
00、、、、、、,0Q111.、、.1100、、、
、、、.0O10Q、、、、OODP このケースにおける調整(ADJUSTMENT)は以
下のごとくなる。
ムD 漏ADP CARRY (3,3,5) または AD s ArJP INV(CARRY)     
 (3,16)先行0 / ]−PPの終了状態によっ
℃゛状況異なる。終了状態がPPであるときは AD=O(3,17) となる。これはキャリー=1、キャリー=0.どちらか
の状態においても結果が正か負かを決定するのみでシフ
i−量を変えることはしないからである。
これらの説明からLZAは(N/4)左−・(1)右シ
フタ(ここでNは先行0/1予測のビット長)を含むこ
とが望ましいことが理解されよう2シフト信号処理は適
当なシフタによって達成されるやここでいかにシフト処
理が効果的に達成されるか、またLZAの出力信号の特
徴を示すために】つのアプローチをここで示す。大きな
ビット長を有する場&、シングル・レベルにおけるシフ
ト処理の実行は多く(最大限)のサブサイクルを必要と
する。このような場合、処理は異なるシフト・レベルで
実行される。例え、ばm−14は以下のように分割され
る。
3回の4デイジツト左シフ)− 2回の1デイジツト左シフト マルチレベル・シフトは適当な距離においてSHL信号
を結合することにより、ADP  と同様の方法で生成
される。nデイジット左シフト信号は以下のように定義
される。
NSH=SHINV(SH)  (3°1.8)m  
   m          m+rl先の例の場合を
振り返ると、4デイジット左シフト信号は以下のように
生成される。
Dtgj、es         4  3  12 
16.、、、、。
SHI、           Llll  1111
 11111100  、、、、、。
0   0     X     1.、、、、。
45H0010’  、、、、、、  3 x 4−D
iBit158       000 000 000
 0i0   、、、、、、2xl−Di51eこの場
合は(n=L)に対応するのでADP信号すでに1デイ
ジット左シフト信号数を供給済であることに注意された
い。
旦しΣ笑1正1孔プ!f 上述した方法にしたがえば、先行0/1予測は最悪でも
3ビツトの範囲で実行される。正確なシフト量を得るた
め、このネットワークは簡単にビットの正規化を行い得
る。しかし、正確なシフト位置を決定するためにはいく
つかの補足ロジックが必要となる。どのような場合にお
いてもブロック単位の先行0/1予測が完了した後に調
整位置(AD、丁 U S T M E N T −P
 OS  I T  I  ON ) 信号が正確なシ
フト位置が発見されるべきブロックを指示する。
zzlに=zk、pp、、。□ p k−a a 1に
□ a k(4−1)実際のケースにおいては式(3,
1〜5)によって与えられる論理表現によって連続状態
が表される。適当なビット量を引き出すシフト信号は前
述の方法ど同様にして得られる。
特殊なケース LZAの特別な例は浮動小数点加算におけるオペランド
の1つが以下のように常に正であると仮定される場合に
発生する。
G1□=O(5,1・) この仮定は他の連続状態予測も単純化する。最終的に、
左シフト信号は直ちに次のように定義される。
5HLjk=OR(ZZjk’ PPjk’ PZjk
、 PGjk)(5,2) 中間状fiGG−(J>1)はゼロ以外の値であJk り得ることに注意されたい。
上記の仮定に加えて他の興味深い拘束は2つのオペラン
ドのレジスタ長か等しいということである。これは通常
各オペランドにおける等しい指数を達成するときの浮動
小数点加算の間に遭遇する。
例えば、オペランドAとBのビット長をmとnとする。
ここでmanである。オペランドAの最初の(n−m)
ビットはゼロであると解釈される。
したがって第7A図の一般的な基本構成は第11図のよ
うに単純化される。
最初の(n−rn)ビット位置ではpp、zzまたはP
G状態のみが起こり得ることに注意されたい、k(k<
n−m)番目のビット位置でPG状態が発生したときは
、次に続く状態がGではなくPあるいはZのみであるの
で、先行0/1予測は終了することどなる。左シフト信
号は以下の式を使って生成される。
SHL、  =OR(ZZ、   PP    PG 
  )Jk      Jk’   jk’   、j
kf o r  (k<n−+n)  (5°3)先行
0/1予測はPG状態かに=n−mのときに発生したと
きのみ継続し得る。この場合には2つの可能な状態があ
る。jが次のように定義された場合。
j=modD(n −rn)  (5,4)j=0にお
いてすべてのL Z Aは第7A図および第11図の構
成ブロックによって実行される。
D=4の場合の構成は第12図に示す通りである。
、)〉0の場合は、新[7い遷移ブロックが(j)の値
にしたがって式(361〜5)の適当な状態表現に還元
されることによって具現化される。
j=1のときはPZおよびGGが単純化さ九、j〉1の
ときはPZ、PGおよびGOが単純化される。この特異
なケースは第13図に示される。状態関係式の還元され
たセクトによるLZAの開始がすべての実行を単純化す
ることが望ましい。
M1図に示した装置40の各機能の処理を要約してフロ
ー図に示すと第14図のごとくなる。すなわち、オペラ
ンドAどBは各々レジスタ(REG、)50aと50b
で受領され、これらの最重要ビット(MSB)はフンバ
レー・夕(GOMP、)51において連続的に比較され
る。、二こでP、G。
Zの状11信号が出力される。初期状態信号工の状態は
結果が真か偽かを決定するために、連続的に続いて生成
される状態信号nの各々の状態と比較される。真である
ときは、シフタ52においてレジスタ50a、50bの
オペランドのシフトを発生させ状態比較を続行させるシ
フト信号が発生される。シフタ52による各シフト信号
出力もまたカウンタ53によってカウントされる。比較
結果が偽であったときは初期状態IがGか2かに決定さ
れる。いずれかであるとした場合、シフトは終了しアジ
ャスタ54に調整信号を発生させる信号が出力される。
これはカウンタ53に対する入力となる。初期状態がG
やZではなくPであるときは信号nの状態は信号n+1
と比較される。比較結果が真であると、信号シフタ52
に送られるオペランドAとBの比較が続けられる。比較
結果が偽であった場合はシフタ52に対してさらに1つ
のシフトを実行させる信号を出力し、続く信号がアジャ
スタ54に対してカウンタ53に送られるべき調整信号
を発生さ埼るものとなる。調整信号の受領に続いて、カ
ウンタ53はカウントおよび調整信号の加算を示す信号
をシフタ20に出力し、と述した手段によってオペラン
ドAとオペランドBの加算の正規化が実行される。
D6発明の効果 このようにこのシステムおよび方法は先行O/1予測(
LZA)を加算処理と並行して実行することによって浮
動小数点加算計算を促進させるものであり、加算正規化
に要する時間を確実に減少させるものである0本発明は
CPUその他の様々な周辺機器と組合せることができ、
多様な実施形態が構築可能である。
【図面の簡単な説明】
第1図は本発明の浮動小数点加算を実行する加算正規化
システムを示す構成図、第2図は従来の浮動小数点加算
を実行する加算正規化システムを示す構成図、第3図は
本発明にかかる1つの可能なオペランドの組合せの有限
状態図、第4図及び第5図は他の組合せの場合の拡張有
限状態図、第6図は本発明の一般的な場合の状態図、第
7A図は本発明を実行する基本的なネットワークを示す
基本構成図、第7B@はこれを実行する論理図、第8A
図は反復組合せネットワークにおける異なる状態出力の
伝播の可能な予測概略を示す構成図2第8B図はこれを
実行する論理図、第9@は式(3,11)の関数の論理
図、第10図は式(3゜14)の関数の論理図、第11
図はオペランドのレジスタ長が等しくなく長い方のオペ
ランドの一部がゼロとみなされる特殊な場合の本発明を
実行する単純化組合せネッワークを示す図、第12図。 第13図は第7図、第11図の組合せネットワークの特
殊なアレンジを使用した際の実行状態を示す図、第14
図は第2図に示したLZA装置40の機能実行を示すフ
ロー図である。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名) FIG、3 FIG。4 E見比(A+8) FIG。 FIG、6 FiG、7A l P C G F I G、9 FIG。 S’i(m+I)

Claims (2)

    【特許請求の範囲】
  1. (1)オペランド(A及びB)の浮動小数点の加算処理
    に並行して先行ゼロ予測を実行することにより浮動小数
    点加算の結果を正規化する方法であって、 加算の最重要ビット(MSB)側から前記オペランド(
    A及びB)の対応ビット位置のビット比較を行ない、該
    比較結果に基づいてXOR(P)、AND(G)または
    NOR(Z)の状態信号を発生するステップ、 初期状態信号の状態を判別し、連続して発生する状態信
    号の各々ごとにシフト量を指示する信号をそれぞれ発生
    するステップ、 初期状態がGまたはZである場合には、前記状態信号が
    偽となったときに前記シフト量指示信号の発生を停止す
    るステップ、 前記初期状態がPであり、偽ビット位置における第2状
    態(GまたはZ)に第3状態の状態信号が後続する場合
    には、第3状態が真である限りにおいて連続して発生す
    る状態信号ごとにシフト量を指示する信号の発生を続け
    、第3状態が偽となったときには前記シフト量指示信号
    の発生を停止するステップ、 さもなければ、初期状態がPである場合には、偽位置に
    続くビット位置においてシフト量指示信号の発生を停止
    するステップ、 前記シフト量指示信号の発生が停止されたときに調整信
    号を発生するステップ、 浮動小数点加算における和の指数を決定するためにシフ
    ト量をカウントし、該カウントと前記調整信号を合算す
    るステップとからなることを特徴とする先行ゼロ予測に
    よる正規化実行方法。
  2. (2)オペランド(A及びB)の浮動小数点加算処理に
    より並行して先行ゼロ予測を実行することにより浮動小
    数点加算の結果を正規化する装置であって、 前記オペランド(A及びB)の対応ビット位置のビット
    比較を行ない、該比較結果に基づいてxOR(P)、A
    ND(G)またはNOR(Z)の状態信号を発生する手
    段 加算の最重要ビット(MSB)の側から開始し、オペラ
    ンドの対応ビット位置のビット比較に基づいてXOR(
    P)、AND(G)またはNOR(Z)の状態信号を発
    生する比較手段を動作させる手段、 発生した初期状態信号を判別する判別手段、発生する連
    続状態信号の各各に対してそれぞれシフト量を指示する
    信号を出力する出力手段、初期状態がGあるいはZであ
    る場合には、前記状態信号が偽となったときに前記出力
    手段によるシフト量指示信号の発生を停止する手段、 前記初期状態がPであり、偽ビット位置における第2状
    態(GまたはZ)に第3状態の状態信号が後続する場合
    には、第3状態が偽となったときには前記出力手段によ
    る前記シフト量指示信号を停止する手段、 前記初期状態がPであり、偽ビット位置における第2状
    態(GまたはZ)に第3状態の状態信号が後続しない場
    合には、偽位置に続くビット位置において前記出力手段
    によるシフト量指示信号の発生を停止する手段、 前記シフト量指示信号の発生が停止されたときに調整信
    号を発生する手段、 浮動小数点加算における和の指数を決定するためにシフ
    ト量をカウントし、該カウントと前記調整信号を合算す
    る手段とからなることを特徴とする先行ゼロ予測による
    正規化実行装置。
JP1260392A 1988-10-07 1989-10-06 先行ゼロ予測による正規化装置及び方法 Pending JPH02144624A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US255089 1988-10-07
US07/255,089 US4926369A (en) 1988-10-07 1988-10-07 Leading 0/1 anticipator (LZA)

Publications (1)

Publication Number Publication Date
JPH02144624A true JPH02144624A (ja) 1990-06-04

Family

ID=22966790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1260392A Pending JPH02144624A (ja) 1988-10-07 1989-10-06 先行ゼロ予測による正規化装置及び方法

Country Status (4)

Country Link
US (1) US4926369A (ja)
EP (1) EP0362580B1 (ja)
JP (1) JPH02144624A (ja)
DE (1) DE68926330T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200916A (en) * 1990-12-28 1993-04-06 Matsushita Electric Industrial Co., Ltd. Mantissa processing circuit of floating point arithmetic apparatus for addition and subtraction

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157595A (en) 1985-07-19 1992-10-20 El Paso Technologies, Company Distributed logic control system and method
JP2511527B2 (ja) * 1989-07-14 1996-06-26 日本電気株式会社 浮動小数点演算器
US5282156A (en) * 1991-01-31 1994-01-25 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus employing same
US5204825A (en) * 1991-08-30 1993-04-20 Weitek Corporation Method and apparatus for exact leading zero prediction for a floating-point adder
US5343413A (en) * 1992-07-06 1994-08-30 Matsushita Electric Industrial Co., Ltd. Leading one anticipator and floating point addition/subtraction apparatus
US5270955A (en) * 1992-07-31 1993-12-14 Texas Instruments Incorporated Method of detecting arithmetic or logical computation result
US5341319A (en) * 1993-02-10 1994-08-23 Digital Equipment Corporation Method and apparatus for controlling a rounding operation in a floating point multiplier circuit
US5317527A (en) * 1993-02-10 1994-05-31 Digital Equipment Corporation Leading one/zero bit detector for floating point operation
US5493520A (en) * 1994-04-15 1996-02-20 International Business Machines Corporation Two state leading zero/one anticipator (LZA)
US5684729A (en) * 1994-09-19 1997-11-04 Hitachi, Ltd. Floating-point addition/substraction processing apparatus and method thereof
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
WO1996033457A1 (en) * 1995-04-18 1996-10-24 International Business Machines Corporation Block-normalization in multiply-add floating point sequence without wait cycles
WO1996033456A1 (de) * 1995-04-18 1996-10-24 International Business Machines Corporation Übertrag-auswahl-addierer mit einer vorermittlung der führenden nullstellen
RU95107478A (ru) * 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US5808926A (en) * 1995-06-01 1998-09-15 Sun Microsystems, Inc. Floating point addition methods and apparatus
KR970016936A (ko) * 1995-09-06 1997-04-28 엘리 와이스 최상위 디지트를 결정하는 장치 및 방법
US5757686A (en) * 1995-11-30 1998-05-26 Hewlett-Packard Company Method of decoupling the high order portion of the addend from the multiply result in an FMAC
US5724275A (en) * 1996-03-22 1998-03-03 Hitachi Microsystems, Inc. Fast multi-operand bit pattern detection method and circuit
US5764549A (en) * 1996-04-29 1998-06-09 International Business Machines Corporation Fast floating point result alignment apparatus
US5757687A (en) * 1996-08-06 1998-05-26 Hewlett-Packard Co. Method and apparatus for bounding alignment shifts to enable at-speed denormalized result generation in an FMAC
US5844830A (en) * 1996-08-07 1998-12-01 Sun Microsystems, Inc. Executing computer instrucrions by circuits having different latencies
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
JP3544846B2 (ja) * 1997-02-13 2004-07-21 株式会社東芝 論理回路及び浮動小数点演算装置
US5974432A (en) * 1997-12-05 1999-10-26 Advanced Micro Devices, Inc. On-the-fly one-hot encoding of leading zero count
KR100253407B1 (ko) * 1998-01-23 2000-04-15 김영환 에프오디 회로
US6571267B1 (en) 1999-03-10 2003-05-27 Kabushiki Kaisha Toshiba Floating point addition/subtraction execution unit
KR100331846B1 (ko) 1999-04-02 2002-04-09 박종섭 실수 연산기
US6499044B1 (en) 1999-11-12 2002-12-24 Jeffrey S. Brooks Leading zero/one anticipator for floating point
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
RU2242045C1 (ru) * 2003-04-29 2004-12-10 Грушин Анатолий Иванович Устройство для суммирования мантисс и нормализации результата при вычислениях с плавающей запятой
US7139900B2 (en) * 2003-06-23 2006-11-21 Intel Corporation Data packet arithmetic logic devices and methods
US20070050435A1 (en) * 2005-08-30 2007-03-01 Christian Jacobi Leading-Zero Counter and Method to Count Leading Zeros
US7698353B2 (en) * 2005-09-14 2010-04-13 Freescale Semiconductor, Inc. Floating point normalization and denormalization
US9274752B2 (en) * 2012-12-28 2016-03-01 Intel Corporation Leading change anticipator logic
US9830129B2 (en) 2013-11-21 2017-11-28 Samsung Electronics Co., Ltd. High performance floating-point adder with full in-line denormal/subnormal support
GB2542162B (en) 2015-09-10 2019-07-17 Imagination Tech Ltd Trailing or leading digit anticipator
US10534836B2 (en) * 2016-12-06 2020-01-14 Gsi Technology Inc. Four steps associative full adder

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61177538A (ja) * 1985-01-29 1986-08-09 エイ・テイ・アンド・ティ・コーポレーション 最上位の数字の位置の検出

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3831012A (en) * 1973-03-28 1974-08-20 Control Data Corp Normalize shift count network
JPS57196351A (en) * 1981-05-26 1982-12-02 Toshiba Corp Floating point multiplying circuit
US4488252A (en) * 1982-02-22 1984-12-11 Raytheon Company Floating point addition architecture
JPS59226944A (ja) * 1983-06-09 1984-12-20 Fujitsu Ltd 浮動小数点デ−タ加減算方式
JPS62150427A (ja) * 1985-12-24 1987-07-04 Nec Corp 浮動小数点正規化桁合せ回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61177538A (ja) * 1985-01-29 1986-08-09 エイ・テイ・アンド・ティ・コーポレーション 最上位の数字の位置の検出

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200916A (en) * 1990-12-28 1993-04-06 Matsushita Electric Industrial Co., Ltd. Mantissa processing circuit of floating point arithmetic apparatus for addition and subtraction

Also Published As

Publication number Publication date
DE68926330D1 (de) 1996-05-30
EP0362580B1 (en) 1996-04-24
US4926369A (en) 1990-05-15
EP0362580A2 (en) 1990-04-11
EP0362580A3 (en) 1991-10-30
DE68926330T2 (de) 1996-11-21

Similar Documents

Publication Publication Date Title
JPH02144624A (ja) 先行ゼロ予測による正規化装置及び方法
Hokenek et al. Leading-zero anticipator (LZA) in the IBM RISC System/6000 floating-point execution unit
JP3728858B2 (ja) 演算装置の演算方法、記憶媒体及び演算装置
JP2002251281A (ja) 浮動小数点乗算器
JPH0776911B2 (ja) 浮動小数点演算装置
EP0328871A2 (en) Condition code prediction apparatus
JP2618374B2 (ja) 最上位の数字の位置の検出
EP0136939A2 (en) Alu with carry length detection
JP3544846B2 (ja) 論理回路及び浮動小数点演算装置
US4639887A (en) Bifurcated method and apparatus for floating point addition with decreased latency time
US6499044B1 (en) Leading zero/one anticipator for floating point
RU2069009C1 (ru) Суммирующее устройство
US4947359A (en) Apparatus and method for prediction of zero arithmetic/logic results
JPH08161152A (ja) 浮動小数点演算装置
US7024439B2 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
JP2511527B2 (ja) 浮動小数点演算器
Fenwick Introduction to computer data representation
US5657260A (en) Priority detecting counter device
JPS59226944A (ja) 浮動小数点デ−タ加減算方式
US4719590A (en) Apparatus and method for performing addition and subtraction
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
US5875123A (en) Carry-select adder with pre-counting of leading zero digits
EP0328779A2 (en) Apparatus for branch prediction for computer instructions
JP2856792B2 (ja) 浮動小数点数演算装置
JPH0479014B2 (ja)