JP6871513B2 - 演算器及び演算器の制御方法 - Google Patents
演算器及び演算器の制御方法 Download PDFInfo
- Publication number
- JP6871513B2 JP6871513B2 JP2017100529A JP2017100529A JP6871513B2 JP 6871513 B2 JP6871513 B2 JP 6871513B2 JP 2017100529 A JP2017100529 A JP 2017100529A JP 2017100529 A JP2017100529 A JP 2017100529A JP 6871513 B2 JP6871513 B2 JP 6871513B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- count
- value
- carry
- input
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
第3オペランドの第3入力の浮動小数点フォーマットを、前記内部フォーマットに変換し、前記第3入力を前記乗算器の乗算結果に加算し乗加算結果を出力する加算器と、
前記乗加算結果を左シフト量に基づいて左シフトする正規化シフト回路と、
前記左シフト量を予測する左シフト量予測回路とを有し、
前記加算器が、前記乗算結果である第1加算値及び第1キャリー値と前記第3入力とを加算するキャリー保存加算器と、前記キャリー保存加算器が出力する第2加算値と第2キャリー値とを加算して前記乗加算結果を出力する全加算器とを有し、
前記左シフト量予測回路は、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのゼロカウント判定値を生成し、上位ビット側から降順で連続する真のゼロカウント判定値の数であるゼロカウント(LZC)を生成するゼロカウント回路と、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのワンカウント判定値を生成し、上位ビット側から降順で連続する真のワンカウント判定値の数であるワンカウントを生成するワンカウント回路と、
前記第2加算値と第2キャリー値の前記M個の上位ビットの最下位ビットの否定論理和が真になる補正イネーブルの場合に、前記ワンカウントをゼロに補正する補正回路とを有する、演算器、である。
[第1の実施の形態の乗加算回路]
図1は、第1の実施の形態における演算回路の一例である乗加算回路を示す図である。乗加算回路は、第1、第2オペランドOP1、OP2の入力を乗算する乗算器MLPLと、乗算結果SUM+CRYに第3オペランドOP3の入力を加算する加算回路14,15とを有する。3つのオペランドOP1,OP2,OP3の入力は、例えばIEEE754フォーマットの浮動小数点数または整数であり、それぞれのフォーマット回路FORMATにより、後述する所定のデータフォーマットに変換される。
図5は、第1の実施の形態における左シフト量予測回路17の構成例を示す図である。左シフト量予測回路は、CSA14の出力である加算値S[61:0]とキャリー値C[61:0]を入力する。先頭ゼロ「0」の数をカウントするLZC回路171は、S[60:0]とC[60:0]とを最下位からのキャリー伝播を完全に考慮することなく疑似的に加算し、各桁の疑似加算結果に基づいて先頭ゼロの数をカウントし、ゼロカウントLZC[5:0]を出力する。具体的な演算式を後で説明する。
図8は、ゼロカウント回路(LZC回路)171内のゼロカウント判定回路(LZP回路)と、ワンカウント回路(LOC回)172内のワンカウント判定回路(LOP回路)の論理演算を示す図である。LZP回路及びLOP回路の論理式は次のとおりである。
LZP[i] = (S[i]^C[i]) ^ (~S[i-1]&~C[i-1]) 式1
LOP[i] = (S[i]^C[i]) ^ (S[i-1]&C[i-1]) 式2
ここで、S,CはCSA14の出力、^はEOR、~はNOT、&はANDを意味する。
LOP[i] = (S[i]^C[i]) ^ (S[i-1]&C[i-1]) 式2
すなわち、LOP[i]は、半加算値(S[i]^C[i])と、[i-1]ビットだけでキャリーが発生する条件(S[i-1]&C[i-1])のEORである。EORによれば、(S[i]^C[i])=1は、キャリー発生条件(S[i-1]&C[i-1])=0なら1のまま不変だが、(S[i-1]&C[i-1])=1なら0に反転される。同様に、(S[i]^C[i])=0も、(S[i-1]&C[i-1])=0なら0のまま不変だが、(S[i-1]&C[i-1])=1なら1に反転される。
LZP[i] = (S[i]^C[i]) ^ (~S[i-1]&~C[i-1]) 式1
すなわち、LZP[i]は、半加算値(S[i]^C[i])はLOP[i]と同じであるが、その半加算値(S[i]^C[i])は、キャリー非発生条件(~S[i-1]&~C[i-1])とEORされている。これは、LOPとは逆に、LZPが先頭ゼロを判定するからである。
本実施の形態では、図8の9通りのようなS,C,CIのあらゆる組み合わせについてLOP,LZPに誤りが含まれるケースを抽出し、さらに、図3のデータフォーマットの制約に基づいて、LOP,LZPに誤りが含まれるケースを絞り込み、適切なLOC,LZC補正回路を提案する。
図9で説明したとおり、ゼロカウントLZC,ワンカウントLOCに誤りがあるか否かを、最上位ビット[60]でのLZP[60],LOP[60]に誤りの可能性があるか否かを分析する。そのためには、[60][59]ビットのS[60:59],C[60:59]と、[58]ビットのS[58],C[58]に基づくキャリーインCI[59]の全ての組み合わせを分析し、LZC,LOCに誤りのある可能性を抽出してLZC/LOC補正回路を検討すればよい。
図3のデータフォーマットは、浮動小数点数である正規化数と非正規化数と、整数とに対応するが、LZCは浮動小数点数の演算結果の左シフト(正規化シフト)のシフト量を予測するものである。よって、ワレスツリー12の入力パターンは浮動小数点数の場合に限定できる。その結果、ワレスツリーの入力パターン(OP1,OP2のフォーマット後のパターン)は、[31:28]=0001または0000に限られる。
[63:57]=0000001または0000000 保証1
つまり、ワレスツリーの出力パターン(SUN+CRY)は、少なくとも以下が保証される。
[63:58]=000000 保証2
[入力シフト回路RSFTの出力パターン]
右シフト回路RSFTの入力も浮動小数点数に限定すると、[31:28]=0001または0000に限られる。図4にて説明したとおり、正規化シフト回路18は、セレクタSEL1が上位側64ビットSEL_OUT_Hを選択した場合、右シフト量RSAに基づいて左シフトを行い、セレクタSELが下位側64ビットSEL_OUT_Lを選択した場合、LZC/LOC予測シフト量LSAに基づいて左シフトを行う。
RSFT_OUTPUT[63:60]=0000 保証3
また、TRUE_SUBの場合の最小右シフト量は32であり、少なくとも以下が保証される。
RSFT_OUTPUT[63:61]=000 保証4
[ワレスツリー出力+RSFT出力のパターン、ADDERの出力RESのパターン]
次に、ワレスツリー出力+RSFTの出力=ADDERの出力RESであり、CSA14の出力S+C=RESの上位ビットRES[63:58]について検討する。
RES[63:58] =
{SUM[63:58] + CRY[63:58] + (SUM+CRY[57:0]のCO)[58]} + {RSFT[63:58] + (RSFT[57:0]のCO)[58]}
前述の保証2のとおり、SUM+CRYの結果は[63:58]=000000が保証されるため、以下となる。
{SUM[63:58] + CRY[63:58] + (SUM+CRY[57:0]のCO)[58]}=000000
したがって、上記2つの式を整理すると、以下のとおりとなる。
RES[63:58] = RSFT[63:58] + RSFT[57:0]のCO[58]
ここで、RSFT[57:0]のCO[58]は、TRUE_SUBの場合にコンプリメント(2の補数化)を行うときに最下位ビットにCI=1を加算した場合にのみ発生し、一方、TRUE_ADDの場合、RSFT[57:0]のCO[58]は常に0となる。よって、以下のとおりである。
TRUE_ADDの場合、RSFT[57:0]のCO[58] = 0
TRUE_SUBの場合、RSFT[57:0]のCO[58] = 1
そして、前述の保証3,4によれば、以下のとおりである。
TRUE_ADDの場合、RSFT_OUTPUT[63:58]=0000xx 保証3
TRUE_SUBの場合、RSFT_OUTPUT[63:58]=000xxx 保証4
上記の保証3,4のRSFT_OUTPUT[63:58]とRSFT[57:0]のCO[58]を、上記のRES[63:58]に代入すると、CSAの出力S+C=RESの上位ビットRES[63:58]は、以下のとおり保証される。
TRUE_ADDの場合、RES[63:60] = 0000 保証5
TRUE_SUBの場合、RES[63:60] = 111または000 保証6
TRUE_SUBの000は、下位からのキャリーで反転した場合である。
図12は、図11についてLZCに誤りが発生する可能性がある場合とLOCに誤りが発生する可能性がある場合について上下に分けて示す図である。そこで、以下、LZCに誤りが発生する可能性のある上側のパターンについて、LZCが選択される場合があるか否かについて検討する。
図5において、セレクタSEL2がLZCを選択する条件は、以下のとおりである。
LZC_SEL = ~TRUE_SUB + CO*HI0
上記の右辺は、第1項の~TRUE_SUBは減算でないことであるから加算、つまりTRUE_ADD=1の場合にLZC_SEL=1になり、第2項のCO*HI0については、CO[63]=1かつHI0=1の場合CO*HI0=1になりLZC_SEL=1になることをそれぞれ意味する。
次に、図12のLOCに誤りが発生する可能性のあるパターンについて検討する。図7においてセレクタSEL2がLOCをLSFTのシフト量SAとしてセレクトする条件は、以下のとおりである。
LOC_SEL = TRUE_SUB*~CO
ここで、TRUE_SUBとは減算を、~COとは全加算器15のキャリーオーバCO[63]の否定を意味する。つまり、LOCがセレクトされる条件は、減算で且つCO[63]=0を意味する。TRUE_SUB=1且つCO[63]=0は、全加算器での減算においてキャリーオーバが発生しなかったことであり、減算結果が負であったことを意味する。
RES[63:61]=111または000 保証6
したがって、
RES[63:61] = S[63:61] + C[63:61] + CI[61] = 111または000
一方、図12のLOCに誤りが発生する可能性のある4パターンでは、全てCI[61]=1であるので、上記の式にCI[61]=1を代入して、以下が得られる。
RES[63:61] = S[63:61] + C[63:61] + 1 = 111または000
これを変形すると、以下が得られる。
S[63:61] + C[63:61] = 110または111
ここで、上記のS[63:61] + C[63:61] = 111の場合を検討すると、図12の下側の4パターンのS,C,CIの組み合わせでは全てCI[61]=1になるので、111が反転され000となりCO[63]=1が発生する。この場合、上記のLOCをセレクトする条件LOC_SEL = TRUE_SUB*~COにおいて、~CO=0となり、LOC_SEL=0となりLOCがセレクトされる条件が成立しない。
RSFT[63:61]=111 保証4
また、前述の保証2によれば、次のとおりである。
SUM[63:58] + CRY[63:58] = 000000 保証2
図14は、上記の保証4と保証2を満たすCSAの入力SUM,CRY,RSFTのパターンを示す図である。図14では、SUMとCRYは可換であり、同じビットでも可換であるので、可換な組み合わせは重複を避けて省略する。RSFTもSUM,CRYと可換であるが、図14ではSUM,CRYと区別する。6つのパターンP_a〜P_fでは、SUMとCRYの組み合わせは、保証2を満たす組み合わせである。また、RSFTの[60]ビットは0/1のいずれでも良いので"x"としている。そのため、パターンP_fはRSFT[60]=x(不定)であるため、C[60]=x(不定)になっている。また、6つのパターンそれぞれについてのCSAの出力S,Cが示されている。
P_f0 = (SUM[60] ^ CRY[60]) & ~RSFT[60] 判別式10
ここで、SUMとCRYが入れ替わることがあるので、SUMとCRYとはEORで0/1,1/0の組み合わせを特定している。
P_f0 = ~S[61] & ~C[61] = ~(S[61] + C[61]) 判別式11
つまり、~S[61]と~C[61]のAND演算か、S[61]とC[61]のNOR演算結果が真(=1)であれば補正イネーブル状態を示す補正フラグFLAG=1を生成する回路により判別できる。
図15は、図12の(LOC)の4つのパターンに図14のパターンP_f0を適用した図である。図5,6で説明したとおり、LOPは[60]ビット以下で生成され、LOCはLOP[60]から1をカウントする。したがって、図15にはLOP=1と誤る例が[60]ビットに,LOP[60]=1と示される。
(1)LOP[60]を0に補正する。
(2)LOC[5:0]をLOC[5:0]=0に補正する。
FLAG = TRUE_SUB & P_f0
= TRUE_SUB & {(SUM[60] ^ CRY[60]) & ~RSFT[60]} FLAG判定1
or
= TRUE_SUB & (~S[61] & ~C[61]) = TRUE_SUB & ~( S[61] +~C[61]) FLAG判定2
図1、図5に示した第1の実施の形態では、補正判定回路CRCT_1が上記のFLAG判定2を満たす時に補正フラグFLAGを生成し、ワンカウント補正回路であるゼロマスク回路ZERO_MがワンカウントLOCをゼロに補正する演算を行っている。このゼロマスク回路ZERO_Mが、ワンカウント値補正回路である。また、図5には、~S[61] と~C[61]のAND演算器を有する補正判定回路CRCT_1が示されている。この演算器は、S[61] とC[61]のNAND演算器でも良い。なお、セレクタSEL2がLOCを選択する場合はTRUE_SUB=1になるので、図5の補正判定回路CRCT_1ではTRUE_SUB=1を判別していない。
図16は、第2の実施の形態における演算回路の一例である乗加算回路を示す図である。第2の実施の形態における乗加算回路は、左シフト量予測回路17が全加算器15の入力S,Cに加えて、CSA14の入力、つまりワレスツリー12の出力SUM,CRYと右シフト回路13の出力RSFT_Lに基づいて、正規化シフト量LSAを補正する。この構成が、図1の第1の実施の形態の乗加算回路と異なる。第2の実施の形態においても、第1の実施の形態と同様に、左シフト量予測回路17は、全加算器15の入力、つまりCSAの出力S,Cに基づいてLZCとLOCを予測する。
FORMAT:フォーマット変換回路
RSFT:入力シフト回路(右シフト回路)
10:ブースデコーダ
11:ブースセレクタ
12:ワレスツリー回路
CSA:キャリー保存加算器
ADDER:全加算器
17:左シフト量予測回路
18:正規化シフト回路、左シフト回路
LOP:ワンカウント判定回路、ワンカウント判定値
LOC:ワンカウント回路、ワンカウント
LZP:ゼロカウント判定回路、ゼロカウント判定値
LZC;ゼロカウント回路、ゼロカウント
CRCT:補正判定回路
ZERO_M:ゼロマスク回路、ワンカウント補正回路
Claims (7)
- 第1オペランドと第2オペランドの第1入力と第2入力の浮動小数点フォーマットを、M個(Mは複数)の最上位ビットが0で前記最上位ビットに続くN個(Nは複数)の下位ビットが仮数である内部フォーマットに変換して、乗算する乗算器と、
第3オペランドの第3入力の浮動小数点フォーマットを、前記内部フォーマットに変換し、前記第3入力を前記乗算器の乗算結果に加算し乗加算結果を出力する加算器と、
前記乗加算結果を左シフト量に基づいて左シフトする正規化シフト回路と、
前記左シフト量を予測する左シフト量予測回路とを有し、
前記加算器が、前記乗算結果である第1加算値及び第1キャリー値と前記第3入力とを加算するキャリー保存加算器と、前記キャリー保存加算器が出力する第2加算値と第2キャリー値とを加算して前記乗加算結果を出力する全加算器とを有し、
前記左シフト量予測回路は、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのゼロカウント判定値を生成し、上位ビット側から降順で連続する真のゼロカウント判定値の数であるゼロカウントを生成するゼロカウント回路と、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのワンカウント判定値を生成し、上位ビット側から降順で連続する真のワンカウント判定値の数であるワンカウントを生成するワンカウント回路と、
前記第2加算値と第2キャリー値の前記M個の上位ビットの最下位ビットの否定論理和が真になる補正イネーブルの場合に、前記ワンカウントをゼロに補正する補正回路とを有する、演算器。 - 第1オペランドと第2オペランドの第1入力と第2入力の浮動小数点フォーマットを、M個(Mは複数)の最上位ビットが0で前記最上位ビットに続くN個(Nは複数)の下位ビットが仮数である内部フォーマットに変換して、乗算する乗算器と、
第3オペランドの第3入力の浮動小数点フォーマットを、前記内部フォーマットに変換し、前記第3入力を前記乗算器の乗算結果に加算し乗加算結果を出力する加算器と、
前記乗加算結果を左シフト量に基づいて左シフトする正規化シフト回路と、
前記左シフト量を予測する左シフト量予測回路とを有し、
前記加算器が、前記乗算結果である第1加算値及び第1キャリー値と前記第3入力とを加算するキャリー保存加算器と、前記キャリー保存加算器が出力する第2加算値と第2キャリー値とを加算して前記乗加算結果を出力する全加算器とを有し、
前記左シフト量予測回路は、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのゼロカウント判定値を生成し、上位ビット側から降順で連続する真のゼロカウント判定値の数であるゼロカウントを生成するゼロカウント回路と、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのワンカウント判定値を生成し、上位ビット側から降順で連続する真のワンカウント判定値の数であるワンカウントを生成するワンカウント回路と、
前記第1加算値及び第1キャリー値の前記N個の下位ビットの最上位ビットの排他的論理和と、前記第3入力の前記N個の下位ビットの最上位ビットの否定との論理積が真になる補正イネーブルの場合に、前記ワンカウントをゼロに補正する補正回路とを有する、演算器。 - 前記補正回路は、前記補正イネーブルの場合に、前記ワンカウント回路が出力するワンカウントをゼロに変更するワンカウント補正回路を有する、請求項1または2に記載の演算器。
- 前記補正回路は、前記補正イネーブルの場合に、前記ワンカウント判定値の前記N個の下位ビットの最上位ビットをワンカウント判定値を偽に変更するワンカウント判定補正回路を有する、請求項1または2に記載の演算器。
- 前記加算器は、更に、前記内部フォーマットに変換された第3入力の桁を、前記乗算結果の桁に合わせる入力シフト回路を有し、
前記入力シフト回路の出力が前記キャリー保存加算器に入力される、請求項1または2に記載の演算器。 - 前記乗算器は、前記内部フォーマットに変換された第1入力をデコードするブースデコーダと、前記ブースデコーダのデコード値に対応する前記内部フォーマットに変換された第2入力の部分積を加算するワレスツリー回路とを有し、
前記ワレスツリー回路が前記第1加算値及び第1キャリー値を出力する、請求項1または2に記載の演算器。 - 第1オペランドと第2オペランドの第1入力と第2入力の浮動小数点フォーマットを、M個(Mは複数)の最上位ビットが0で前記最上位ビットに続くN個(Nは複数)の下位ビットが仮数である内部フォーマットに変換して、乗算する乗算器と、
第3オペランドの第3入力の浮動小数点フォーマットを、前記内部フォーマットに変換し、前記第3入力を前記乗算器の乗算結果に加算し乗加算結果を出力する加算器と、
前記乗加算結果を左シフト量に基づいて左シフトする正規化シフト回路と、
前記左シフト量を予測する左シフト量予測回路とを有し、
前記加算器が、前記乗算結果である第1加算値及び第1キャリー値と前記第3入力とを加算するキャリー保存加算器と、前記キャリー保存加算器が出力する第2加算値と第2キャリー値とを加算して前記乗加算結果を出力する全加算器とを有し、
前記左シフト量予測回路は、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのゼロカウント判定値を生成し、上位ビット側から降順で連続する真のゼロカウント判定値の数であるゼロカウントを生成するゼロカウント回路と、
前記第2加算値と第2キャリー値の前記N個の下位ビットから各ビットのワンカウント判定値を生成し、上位ビット側から降順で連続する真のワンカウント判定値の数であるワンカウントを生成するワンカウント回路とを有する演算器の制御方法であって、
前記第2加算値と第2キャリー値の前記M個の上位ビットの最下位ビットの否定論理和が真になる補正イネーブルの場合に、前記ワンカウントをゼロに補正する工程を有する、演算器の制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017100529A JP6871513B2 (ja) | 2017-05-22 | 2017-05-22 | 演算器及び演算器の制御方法 |
US15/983,395 US10579333B2 (en) | 2017-05-22 | 2018-05-18 | Arithmetic unit and control method for arithmetic unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017100529A JP6871513B2 (ja) | 2017-05-22 | 2017-05-22 | 演算器及び演算器の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018195228A JP2018195228A (ja) | 2018-12-06 |
JP6871513B2 true JP6871513B2 (ja) | 2021-05-12 |
Family
ID=64271979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017100529A Active JP6871513B2 (ja) | 2017-05-22 | 2017-05-22 | 演算器及び演算器の制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10579333B2 (ja) |
JP (1) | JP6871513B2 (ja) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5343413A (en) | 1992-07-06 | 1994-08-30 | Matsushita Electric Industrial Co., Ltd. | Leading one anticipator and floating point addition/subtraction apparatus |
JP2752564B2 (ja) | 1992-07-06 | 1998-05-18 | 松下電器産業株式会社 | 先行1予測装置及び浮動小数点加減算装置 |
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 |
JP3257278B2 (ja) | 1994-09-19 | 2002-02-18 | 株式会社日立製作所 | 冗長なシフト数予測とシフト誤り補正を用いた正規化装置 |
US5993051A (en) * | 1996-11-18 | 1999-11-30 | Samsung Electronics Co., Ltd. | Combined leading one and leading zero anticipator |
JP3544846B2 (ja) | 1997-02-13 | 2004-07-21 | 株式会社東芝 | 論理回路及び浮動小数点演算装置 |
US6988115B2 (en) * | 2001-05-04 | 2006-01-17 | Broadcom Corporation | Method and apparatus to correct leading one prediction |
JP4571903B2 (ja) * | 2005-12-02 | 2010-10-27 | 富士通株式会社 | 演算処理装置,情報処理装置,及び演算処理方法 |
US8606840B2 (en) * | 2010-03-17 | 2013-12-10 | Oracle International Corporation | Apparatus and method for floating-point fused multiply add |
US9104474B2 (en) * | 2012-12-28 | 2015-08-11 | Intel Corporation | Variable precision floating point multiply-add circuit |
-
2017
- 2017-05-22 JP JP2017100529A patent/JP6871513B2/ja active Active
-
2018
- 2018-05-18 US US15/983,395 patent/US10579333B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018195228A (ja) | 2018-12-06 |
US10579333B2 (en) | 2020-03-03 |
US20180336013A1 (en) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694572B2 (en) | Decimal floating-point fused multiply-add unit | |
CN100449476C (zh) | 用于执行浮点算术运算的系统和方法 | |
JP4500358B2 (ja) | 演算処理装置および演算処理方法 | |
US6925480B2 (en) | Microarchitecture of an arithmetic unit | |
US10310818B2 (en) | Floating point chained multiply accumulate | |
US8166092B2 (en) | Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor | |
US5343413A (en) | Leading one anticipator and floating point addition/subtraction apparatus | |
US20070050434A1 (en) | Data processing apparatus and method for normalizing a data value | |
KR20120017457A (ko) | 포화가 적용된 정수 곱셈 연산 및 곱셈-덧셈 연산 | |
US7437400B2 (en) | Data processing apparatus and method for performing floating point addition | |
US20110131262A1 (en) | Floating point divider and information processing apparatus using the same | |
US6947962B2 (en) | Overflow prediction algorithm and logic for high speed arithmetic units | |
JPH0520028A (ja) | 加減算のための浮動小数点演算装置の仮数部処理回路 | |
JPH10289096A (ja) | 論理回路及び浮動小数点演算装置 | |
US5831884A (en) | Apparatus for performing arithmetic operation of floating point numbers capable of improving speed of operation by performing canceling prediction operation in parallel | |
US20050114422A1 (en) | High performance implementation of exponent adjustment in a floating point design | |
JP6871513B2 (ja) | 演算器及び演算器の制御方法 | |
US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
US7401107B2 (en) | Data processing apparatus and method for converting a fixed point number to a floating point number | |
JP2511527B2 (ja) | 浮動小数点演算器 | |
Seidel et al. | How many logic levels does floating-point addition require? | |
US8219604B2 (en) | System and method for providing a double adder for decimal floating point operations | |
US7003540B2 (en) | Floating point multiplier for delimited operands | |
US10275218B1 (en) | Apparatus and method for subtracting significand values of floating-point operands | |
JP2752564B2 (ja) | 先行1予測装置及び浮動小数点加減算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201027 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201030 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201105 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6871513 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |