浮點(diǎn)除法器以及浮點(diǎn)除法器操作方法
【專(zhuān)利摘要】一種浮點(diǎn)除法器,除了根據(jù)第一部分余數(shù)、除數(shù)以及第一商值產(chǎn)生第二部分余數(shù),還根據(jù)該第二部分余數(shù)、該除數(shù)以及多個(gè)第二商值待測(cè)值產(chǎn)生多個(gè)第三部分余數(shù)候選。第一商值表格經(jīng)查詢,除了供應(yīng)對(duì)應(yīng)該第二部分余數(shù)以及該除數(shù)的第二商值,還供應(yīng)對(duì)應(yīng)所述第三部分余數(shù)候選以及該除數(shù)的多個(gè)第三商值候選。第一多工器自所述第三商值候選中選擇對(duì)應(yīng)該第二商值者作為第三商值。該第三商值用作下一輪運(yùn)算的結(jié)合商值的部分位、或是用作當(dāng)輪的結(jié)合商值的部分位但還用于預(yù)測(cè)下一輪運(yùn)算所需內(nèi)容。
【專(zhuān)利說(shuō)明】
浮點(diǎn)除法器從及浮點(diǎn)除法器操作方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明設(shè)及浮點(diǎn)除法器(floating-point dividers)。
【背景技術(shù)】
[0002] 浮點(diǎn)除法器需要反復(fù)迭代進(jìn)行多輪的商值計(jì)算。然而,面對(duì)大基數(shù)(radix)的設(shè)計(jì) 需求,浮點(diǎn)除法器每輪計(jì)算出的商值具有相當(dāng)多的位數(shù)量,邏輯電路設(shè)計(jì)相當(dāng)冗雜。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提出一種浮點(diǎn)除法器,將多次查表獲得的短位量商值在一輪運(yùn)算中組合在 一起,呈長(zhǎng)位量的結(jié)合商值輸出,其中各輪運(yùn)算還包括預(yù)測(cè)下一輪運(yùn)算所得的結(jié)合商值的 部分位。
[0004] 根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的浮點(diǎn)除法器包括當(dāng)輪部分余數(shù)產(chǎn)生器、部分余 數(shù)仿真器、第一商值表格W及第一多工器。該當(dāng)輪部分余數(shù)產(chǎn)生器根據(jù)第一部分余數(shù)、除數(shù) W及第一商值,產(chǎn)生第二部分余數(shù)。該部分余數(shù)仿真器,根據(jù)該第二部分余數(shù)、該除數(shù)W及 多個(gè)第二商值待測(cè)值,產(chǎn)生多個(gè)第=部分余數(shù)候選。該第一商值表格經(jīng)查詢,供應(yīng)對(duì)應(yīng)該第 二部分余數(shù)W及該除數(shù)的第二商值。該第一商值表格還經(jīng)查詢,供應(yīng)對(duì)應(yīng)所述第=部分余 數(shù)候選W及該除數(shù)的多個(gè)第=商值候選。該第一多工器自所述第=商值候選中選擇對(duì)應(yīng)該 第二商值者輸出,作為第=商值。該第=商值用作下一輪運(yùn)算的結(jié)合商值的部分位、或是用 作當(dāng)輪的結(jié)合商值的部分位但還用于預(yù)測(cè)下一輪運(yùn)算所需內(nèi)容。
[0005] 根據(jù)本發(fā)明一種實(shí)施方式所實(shí)現(xiàn)的一種浮點(diǎn)除法器操作方法,用W操作包括第一 商值表格的浮點(diǎn)除法器,包括:根據(jù)第一部分余數(shù)、除數(shù)W及第一商值,產(chǎn)生第二部分余數(shù); 根據(jù)該第二部分余數(shù)、該除數(shù)W及多個(gè)第二商值待測(cè)值,產(chǎn)生多個(gè)第=部分余數(shù)候選;查詢 該第一商值表格,供應(yīng)對(duì)應(yīng)該第二部分余數(shù)W及該除數(shù)的第二商值;查詢?cè)摰谝簧讨当砀瘢?供應(yīng)對(duì)應(yīng)所述第=部分余數(shù)候選W及該除數(shù)的多個(gè)第=商值候選;W及提供第一多工器, 自所述第=商值候選中選擇對(duì)應(yīng)該第二商值者輸出,作為第=商值。該第=商值用作下一 輪運(yùn)算的結(jié)合商值的部分位、或是用作當(dāng)輪的結(jié)合商值的部分位但還用于預(yù)測(cè)下一輪運(yùn)算 所雨內(nèi)谷。
[0006] 本發(fā)明使得浮點(diǎn)除法器的一輪運(yùn)算不只進(jìn)行一次商值表格查詢。多次獲得的商值 表格查詢結(jié)果可結(jié)合,在浮點(diǎn)除法器的一輪運(yùn)算中作結(jié)合商值輸出?;鶖?shù)較大的浮點(diǎn)除法 器在每輪運(yùn)算所應(yīng)輸出的長(zhǎng)位商值因而可由查表獲得的多個(gè)短位數(shù)據(jù)結(jié)合。此外,本發(fā)明 浮點(diǎn)除法器的各輪運(yùn)算還包括預(yù)測(cè)下一輪運(yùn)算所輸出的結(jié)合商值的部分位,其效率遠(yuǎn)優(yōu)于 傳統(tǒng)浮點(diǎn)除法器架構(gòu)。
[0007] 下文特舉實(shí)施例,并配合所附圖示,詳細(xì)說(shuō)明本
【發(fā)明內(nèi)容】
。
【附圖說(shuō)明】
[000引圖IA舉例說(shuō)明除法運(yùn)算的各操作數(shù);
[0009] 圖IB W及圖ICW二維坐標(biāo)顯示商值表格;
[0010] 圖2根據(jù)本發(fā)明一種實(shí)施方式圖解浮點(diǎn)除法器200;
[0011 ]圖3為流程圖,圖解圖2浮點(diǎn)除法器200的操作方法,W提供除法運(yùn)算(w/d);
[0012] 圖4根據(jù)本發(fā)明另一種實(shí)施方式圖解浮點(diǎn)除法器400; W及
[0013] 圖5A、圖5B為流程圖,圖解圖4浮點(diǎn)除法器400的操作方法,W提供除法運(yùn)算(w/d)。
【具體實(shí)施方式】
[0014] W下敘述列舉本發(fā)明的多種實(shí)施例。W下敘述介紹本發(fā)明的基本概念,且并非意 圖限制本
【發(fā)明內(nèi)容】
。實(shí)際發(fā)明范圍應(yīng)依照申請(qǐng)專(zhuān)利范圍界定之。
[0015] 圖IA舉例說(shuō)明除法運(yùn)算的各操作數(shù),包括被除數(shù)wW及除數(shù)d,運(yùn)算中依序獲得商 值9〇、〇1、〇2、〇3。值得注意的是,運(yùn)里運(yùn)算得到4個(gè)商值〇0~〇3僅為示例,本發(fā)明并不限于 此,商值的數(shù)量由除數(shù)W何時(shí)被除數(shù)d除盡或者收斂決定,因此除法運(yùn)算很可能獲得其它數(shù) 量的商值,并不限于4個(gè)。本實(shí)施例采用基數(shù)(radixM,即每個(gè)時(shí)鐘周期產(chǎn)生2位的商值。商 值qO、ql、q2、q3運(yùn)算期間需將中間余數(shù)wi的小數(shù)點(diǎn)向右移位2位(即4Xwi),i為編號(hào)。本發(fā) 明將數(shù)值Wi W及4 XWi都稱(chēng)為部分余數(shù)(partial remainder),標(biāo)號(hào)S(i+1)。商值q(i+l)可 根據(jù)部分余數(shù)S(i+1)與除數(shù)dW查表方式獲得。
[0016] 圖IBW二維坐標(biāo)顯示商值表格。一種查表方式是利用部分余數(shù)4Xwi(即S(i+1)) 查表,將部分余數(shù)4Xwi(即SQ + 1))與除數(shù)d的各種倍數(shù)比較,即可獲得對(duì)應(yīng)的商值q(i + l) 線條。在商值q(i+l)線條上,呈現(xiàn)為除數(shù)d的一定倍數(shù)的部分余數(shù)4Xwi,在一定范圍內(nèi)的商 值9 (i+1)相同,如圖1B中,呈現(xiàn)為d;]區(qū)間內(nèi)的部分余數(shù)4 X Wi對(duì)應(yīng)商值9 (i+1) = 0。下 面結(jié)合圖IA具體說(shuō)明如何查詢商值表格獲得對(duì)應(yīng)的商值,例如部分余數(shù)4 XwO = 1.1 IOlOlB > 1.75D(其中B代表二進(jìn)制數(shù),D代表十進(jìn)制數(shù)),除數(shù)d= 1. IOlB^ 1.625D,則部分余數(shù)4 X WO呈現(xiàn)為除數(shù)d的大約1.08倍,因此查詢圖IB中的商值表格可知對(duì)應(yīng)商值ql = l。部分余數(shù)4 Xwi(即SQ + 1)巧由上還可設(shè)計(jì)多個(gè)臨界值,使得對(duì)應(yīng)多條商值q(i+l)線條的部分余數(shù)4X Wi得W正確自所述商值q(i + l)線條選出正確對(duì)應(yīng)者。圖ICW另一種二維坐標(biāo)顯示商值表 格,其中是采用Wi為部分余數(shù),即SQ + 1巧由上的值為Wi的值,利用部分余數(shù)Wi查表,將部分 余數(shù)Wi與除數(shù)d的各種倍數(shù)比較,即可獲得對(duì)應(yīng)的商值q(i+l)線條。圖1B、或圖IC的商值表 格是用來(lái)根據(jù)部分余數(shù)S( i+1) W及除數(shù)d查表獲得商值q( i+1)。W上商值表格概念可使用 在各種基數(shù)的浮點(diǎn)除法器應(yīng)用中。本實(shí)施例采用基數(shù)(radixM,即每個(gè)時(shí)鐘周期產(chǎn)生2位的 商值,如果每時(shí)鐘周期只能查詢一次商值表格,則商值的取值范圍為{-2,-1,0,1,2}。在采 用其它基數(shù)的實(shí)施例中,例如采用基數(shù)16,則每個(gè)時(shí)鐘周期產(chǎn)生4位的商值,如果每時(shí)鐘周 期只能查詢一次商值表格,則商值的取值范圍為{-15,-14,-13,-12,-一1,0,1^-12,13, 14,1引,即[-15,15],但本發(fā)明并不限于此,采取不同的商值編碼方式時(shí),商值的取值范圍 會(huì)有所不同。浮點(diǎn)除法運(yùn)算中查詢商值表格比較耗時(shí),而且每次查表得到的商值位數(shù)越多, 則硬件開(kāi)銷(xiāo)越大。因此本發(fā)明提出了一種一輪運(yùn)算進(jìn)行多次商值表格查詢的浮點(diǎn)除法器, 即使采用硬件開(kāi)銷(xiāo)較小的商值表格,舉例而言,即使采用每次查表僅能得到2位的商值的表 格(例如查詢圖IB的商值表格),一輪運(yùn)算查詢兩次也可W得到4位的商值,即實(shí)現(xiàn)基16,例 如SRT-16,而不必采用硬件開(kāi)銷(xiāo)較大的商值取值范圍為[-15,1引的商值表格。
[0017] 本發(fā)明使得浮點(diǎn)除法器的一輪運(yùn)算不只進(jìn)行一次商值表格查詢。多次獲得的商值 表格查詢結(jié)果可結(jié)合,在浮點(diǎn)除法器的一輪運(yùn)算中作結(jié)合商值輸出?;鶖?shù)較大的浮點(diǎn)除法 器在每輪運(yùn)算所應(yīng)輸出的長(zhǎng)位商值因而可由查表獲得的短位數(shù)據(jù)結(jié)合。此外,本發(fā)明浮點(diǎn) 除法器的各輪運(yùn)算還包括預(yù)測(cè)下一輪運(yùn)算所輸出的結(jié)合商值的部分位,其效率遠(yuǎn)優(yōu)于傳統(tǒng) 浮點(diǎn)除法器架構(gòu)。
[0018] 圖2根據(jù)本發(fā)明一種實(shí)施方式圖解浮點(diǎn)除法器200,包括當(dāng)輪部分余數(shù)產(chǎn)生器202、 部分余數(shù)仿真器204、第一商值表格206W及第一多工器207、第二商值表格W及第二多工器 (結(jié)合W方塊208表示)、商值轉(zhuǎn)換器210、W及后續(xù)輪部分余數(shù)產(chǎn)生器212。
[0019] 該當(dāng)輪部分余數(shù)產(chǎn)生器202根據(jù)第一部分余數(shù)Sa、除數(shù)dW及第一商值qa產(chǎn)生第二 部分余數(shù)Sb。該部分余數(shù)仿真器204根據(jù)該第二部分余數(shù)Sb、該除數(shù)dW及多個(gè)第二商值待 測(cè)值qpl - ^qpN產(chǎn)生多個(gè)第S部分余數(shù)候選Sanl…SanN。所述第二商值待測(cè)值qpl - ^qpN可為 第二商值qb的所有可能數(shù)值,舉例而言,qp 1…qpN取值為圖1B或圖1C的商值表格中所有可 能的商值。該第一商值表格206經(jīng)查詢,供應(yīng)對(duì)應(yīng)該第二部分余數(shù)SbW及該除數(shù)d的第二商 值qb。該第一商值表格206還用于查詢供應(yīng)對(duì)應(yīng)所述第=部分余數(shù)候選Sanl…SanN W及該 除數(shù)d的多個(gè)第S商值候選qanl-'qanN,交由該第一多工器207根據(jù)該第二商值qb從所述第 S商值候選qanl…qanN中選擇對(duì)應(yīng)該第二商值qb的一個(gè)輸出,作為第S商值qan,即選擇該 第二商值qb(作為多個(gè)第二商值待測(cè)值qpl-'qpN之一)所對(duì)應(yīng)的第S部分余數(shù)候選(Sanl--- SanN之一)所對(duì)應(yīng)的第S商值候選(qanl'^qanN之一)作為第S商值qan。特別是,該第二商 值表格W及第二多工器(208)是在該浮點(diǎn)除法器200的第一輪運(yùn)算中使用,對(duì)應(yīng)被除數(shù)wW 及該除數(shù)d供應(yīng)上述第一商值qaW及該第一部分余數(shù)Sa至該當(dāng)輪部分余數(shù)產(chǎn)生器202。如圖 所示,商值轉(zhuǎn)換器210于各輪運(yùn)算中,將各提供M位信息的該第一商值qaW及該第二商值qb 轉(zhuǎn)換結(jié)合成為2M位的結(jié)合商值Q,上述M為數(shù)值。至于該第S商值qan,此實(shí)施例將其用作下 一輪結(jié)合商值Q的部分位。該第=商值qan將經(jīng)方塊208內(nèi)的該第二多工器切換供應(yīng)作為下 一輪運(yùn)算使用的該第一商值qa。至于下一輪結(jié)合商值Q運(yùn)算所需要的該第一部分余數(shù)5曰,貝。 是由該后續(xù)輪部分余數(shù)產(chǎn)生器212提供。該后續(xù)輪部分余數(shù)產(chǎn)生器212根據(jù)該第二部分余數(shù) Sb、該除數(shù)d W及該第二商值qb產(chǎn)生第=部分余數(shù)San,經(jīng)方塊208內(nèi)的該第二多工器切換供 應(yīng)作為下一輪運(yùn)算所需要的該第一部分余數(shù)Sa。如前所述,第二商值表格W及第二多工器 (208)僅在該浮點(diǎn)除法器200的第一輪運(yùn)算中供被除數(shù)wW及除數(shù)d查詢獲得第一部分余數(shù) Sa及第一商值qa使用;而后續(xù)輪的運(yùn)算中,無(wú)需使用方塊208中的該第二商值表格,而是由 方塊208中的該第二多工器直接選擇前一輪運(yùn)算所得的第=商值qan作為本輪運(yùn)算的第一 商值qa,并且選擇前一輪運(yùn)算所得的第=部分余數(shù)San作為本輪運(yùn)算的第一部分余數(shù)Sa。
[0020] 在一實(shí)施例中,該當(dāng)輪部分余數(shù)產(chǎn)生器202、該部分余數(shù)仿真器204、W及該后續(xù)輪 部分余數(shù)產(chǎn)生器212都是基于rXwi-q(i+l)Xd = w(i + l)運(yùn)算而設(shè)計(jì),其中r為中間余數(shù)Wi 移位位量。例如圖IA的實(shí)施例中,r取值為4,w(i+l)=4Xwi-q(i+l)Xd,而部分余數(shù)S(i+l) =4 Xwi,具體舉例而言,d= 1.101B,并且根據(jù)第一部分余數(shù)Sl =4 XwO = 1.110101B查詢商 值表格得到 ql = l;則wl = 4Xw0-qlXd = 1.110101B-lX1.101B = 0.001101B,則第二部分 余數(shù)S2 = 4Xwl = 0.1101B。視部分余數(shù)S(i+1)的不同定義方式(如,S(i+l)=rXwi或S(i+ l)=wi),該當(dāng)輪部分余數(shù)產(chǎn)生器202、該部分余數(shù)仿真器204W及該后續(xù)輪部分余數(shù)產(chǎn)生器 212的邏輯電路設(shè)計(jì)會(huì)相應(yīng)調(diào)整。該當(dāng)輪部分余數(shù)產(chǎn)生器202、該部分余數(shù)仿真器204W及該 后續(xù)輪部分余數(shù)產(chǎn)生器212可使用串行加法器、加法器、W及乘法器…等邏輯操作數(shù)件實(shí)現(xiàn) 上述rXwi-q(i+l)Xd=w(i+l)運(yùn)算,使根據(jù)部分余數(shù)S(i+1)(即rXwi或wi)、除數(shù)dW及商 值q(i+l)輸出部分余數(shù)S(i+2)(即rXw(i+l)或w(i+l))。第一商值表格206也是視部分余數(shù) 定義而建立。
[0021] W基數(shù)256為例,浮點(diǎn)除法器200各輪運(yùn)算應(yīng)當(dāng)輸出的結(jié)合商值Q為8位,其中較高4 位由第一商值qa提供,較低4位由第二商值qb提供。4位的商值運(yùn)算遠(yuǎn)較8位硬件開(kāi)銷(xiāo)小且簡(jiǎn) 易,其中對(duì)中間余數(shù)Wi的位移量?jī)H24位,遠(yuǎn)低于傳統(tǒng)浮點(diǎn)除法器架構(gòu)所需要的28位。此外,關(guān) 于基數(shù)256的浮點(diǎn)除法器200架構(gòu),第二商值待測(cè)值qpl-'qpN可設(shè)定為{-15,-14,-13,- 12,-一1,0,1,…12,13,14,1引如此31個(gè)數(shù)值,W估算出31個(gè)第S部分余數(shù)候選。當(dāng)然,本發(fā) 明并不限于關(guān)于基數(shù)256的商值范圍為[-15,15],采取不同的商值編碼方式時(shí),商值的取值 范圍會(huì)有所不同,為[-N,N]-共2化1個(gè)數(shù)值,其中NG {8,9,10,11,12,13,14,15}。
[0022] 圖3為流程圖,圖解圖2浮點(diǎn)除法器200的操作方法,W提供除法運(yùn)算(w/d)。
[0023] 步驟S302接收被除數(shù)W與除數(shù)d,據(jù)W查詢方塊208內(nèi)的第二商值表格獲得第一商 值qa。步驟S304操作該當(dāng)輪部分余數(shù)產(chǎn)生器202根據(jù)被除數(shù)w(作為第一輪結(jié)合商值Q運(yùn)算的 第一部分余數(shù)Sa)、除數(shù)dW及第一商值qa產(chǎn)生第二部分余數(shù)Sb。步驟S306操作該部分余數(shù) 仿真器204根據(jù)第二部分余數(shù)訊、除數(shù)dW及第二商值待測(cè)值qpl-'qpN產(chǎn)生第=部分余數(shù)候 選Sanl…SanN。步驟S308根據(jù)第二部分余數(shù)SbW及除數(shù)d,查詢第一商值表格206獲得第二 商值qb。步驟S310根據(jù)第S部分余數(shù)候選Sanl…SanN W及除數(shù)d,查詢第一商值表格206獲 得第S商值候選qanl-'qanN,交由第一多工器207根據(jù)步驟S308產(chǎn)生的第二商值qb從所述 第S商值候選qanl…qanN中選擇對(duì)應(yīng)該第二商值qb的一個(gè)輸出,作為第S商值qan。步驟 S312操作后續(xù)輪部分余數(shù)產(chǎn)生器212根據(jù)第二部分余數(shù)Sb、除數(shù)dW及第二商值qb產(chǎn)生第= 部分余數(shù)San。步驟S314中,上述第S商值qanW及第S部分余數(shù)San經(jīng)方塊208內(nèi)的該第二 多工器交由該當(dāng)輪部分余數(shù)產(chǎn)生器202分別作為浮點(diǎn)除法器200新一輪運(yùn)算所需的第一商 值qaW及第一部分余數(shù)Sa,即是說(shuō),上一輪運(yùn)算產(chǎn)生的第=商值qan作為新一輪運(yùn)算所需的 第一商值qa,上一輪運(yùn)算產(chǎn)生的第=部分余數(shù)San作為新一輪運(yùn)算所需的第一部分余數(shù)Sa, 據(jù)W產(chǎn)生該新一輪運(yùn)算的第二部分余數(shù)Sb,進(jìn)而流程重回步驟S306。圖3所示流程可循環(huán)運(yùn) 作直至部分余數(shù)位數(shù)不足。所掲露的除法流程將在各輪運(yùn)算中取得第一商值qaW及第二商 值qb,轉(zhuǎn)換結(jié)合為結(jié)合商值Q。不同輪運(yùn)算獲得的所有結(jié)合商值Q將再結(jié)合成為除法運(yùn)算w/d 的結(jié)果。其它實(shí)施方式中,步驟S308可W安排在步驟S306之前,或是安排在步驟S310之中, 即步驟S306和步驟S308不分先后順序。
[0024] 圖4根據(jù)本發(fā)明另一種實(shí)施方式圖解浮點(diǎn)除法器400,相較于浮點(diǎn)除法器200對(duì)應(yīng) 修正提供部分余數(shù)仿真器410、第一商值表格W及第一多工器(結(jié)合W方塊420表示)、商值 轉(zhuǎn)換器430、W及后續(xù)輪部分余數(shù)產(chǎn)生器440,使每輪運(yùn)算所獲得的結(jié)合商值Q是由=個(gè)商值 qa、qb W及qc結(jié)合轉(zhuǎn)換成。
[0025] 部分余數(shù)仿真器410除了根據(jù)該第二部分余數(shù)訊、該除數(shù)dW及多個(gè)第二商值待測(cè) 值qp 1…qpN產(chǎn)生多個(gè)第S部分余數(shù)候選Sc 1…ScN,還根據(jù)所述第S部分余數(shù)候選Sc 1… ScN、該除數(shù)dW及多個(gè)第S商值待測(cè)值(此例同樣為qpl-'qpN)產(chǎn)生多個(gè)第四部分余數(shù)候選 Sanl 1…SanlN、…、SanNl…San順。方塊420內(nèi)的該第一商值表格經(jīng)查詢,供應(yīng)對(duì)應(yīng)該第二部 分余數(shù)SbW及該除數(shù)d的第二商值qb;方塊420內(nèi)的該第一商值表格還被查詢,對(duì)應(yīng)所述第 =部分余數(shù)候選Scl-'ScNW及該除數(shù)d供應(yīng)多個(gè)第=商值候選qcl-'qcN(圖未示出)交由方 塊420內(nèi)的第一多工器根據(jù)第二商值qb從所述第S商值候選qcl'^qcN中選擇對(duì)應(yīng)該第二商 值qb的一個(gè)輸出為第S商值qc,即先選擇該第二商值qb(作為多個(gè)第二商值待測(cè)值qpl--- qpN之一)所對(duì)應(yīng)的第S部分余數(shù)候選(Sc 1…ScN之一)所對(duì)應(yīng)的第S商值候選(qc 1…qcN之 一)作為第立商值qc。此外,方塊420內(nèi)的第一商值表格還被查詢,根據(jù)所述(NX N個(gè))第四部 分余數(shù)候選Sanll..?SanlN、..?、SanNl..?San順W及該除數(shù)d,供應(yīng)多個(gè)第四商值候選qanll… qanlN、???、qanNl???qan順(圖未示出),交由方塊420內(nèi)的第一多工器對(duì)應(yīng)該第二商值qbW及 該第S商值qc擇一作為第四商值qan輸出。具體舉例而言,方塊420內(nèi)的第一多工器根據(jù)查 表所得的第二商值qb選擇該第二商值qb (作為多個(gè)第二商值待測(cè)值qpl-^qpN之一)所對(duì)應(yīng) 的第S部分余數(shù)候選(Sc 1…ScN之一)所對(duì)應(yīng)那N個(gè)第四部分余數(shù)候選(San 11…San IN、…、 SanNl…San順中的一組,例如為Sani 1…SaniN);再根據(jù)查表所得的第S商值qc從前述所選 擇的那N個(gè)第四部分余數(shù)候選(如前為Sanil-'SaniN)中選擇該第S商值qc(作為多個(gè)第S 商值待測(cè)值,同樣為qpl-'qpN之一)所對(duì)應(yīng)的第四部分余數(shù)候選(為Sanil-'SaniN之一)所 對(duì)應(yīng)的那個(gè)第四商值候選(為qanil-'qaniN之一)作為第四商值qan輸出。在其它實(shí)施方式 中,第二商值qb可還輸入該部分余數(shù)仿真器410,使該部分余數(shù)仿真器410不再冗余提供所 述第S部分余數(shù)候選Sc 1…ScN中W及所述第四部分余數(shù)候選Sanl 1…SanlN、…、SanNl… Sanr^N中不對(duì)應(yīng)該第二商值qb者。
[0026] 至于該商值轉(zhuǎn)換器430,設(shè)計(jì)于各輪運(yùn)算中,將各提供M位信息的該第一商值qa、該 第二商值qbW及該第S商值qc轉(zhuǎn)換結(jié)合成為3M位的結(jié)合商值Q,上述M為數(shù)值。W基數(shù)29為 例,浮點(diǎn)除法器400可在各輪運(yùn)算中產(chǎn)生9位的結(jié)合商值Q,是由3位的第一商值qa、3位的第 二商值qb W及3位的第=商值qc結(jié)合轉(zhuǎn)換而得。
[0027] 后續(xù)輪部分余數(shù)產(chǎn)生器440動(dòng)作如下。根據(jù)該第二部分余數(shù)Sb、該除數(shù)dW及該第 二商值qb,該后續(xù)輪部分余數(shù)產(chǎn)生器440產(chǎn)生第=部分余數(shù)Sc(于方塊440內(nèi)部,圖未示出), 且還根據(jù)該第=部分余數(shù)Sc(圖未示出)、該除數(shù)dW及該第=商值qc,產(chǎn)生第四部分余數(shù) San。浮點(diǎn)除法器400產(chǎn)生的第四商值qanW及第四部分余數(shù)San是由方塊208內(nèi)的該第二多 工器于該浮點(diǎn)除法器400的第一輪運(yùn)算后,切換輸出作下一輪運(yùn)算所需的上述第一商值qa W及第一部分余數(shù)Sa。相較于浮點(diǎn)除法器200,浮點(diǎn)除法器400產(chǎn)生的第=商值qc是用作當(dāng) 輪的結(jié)合商值Q的部分位,但還用于預(yù)測(cè)下一輪運(yùn)算所需內(nèi)容(例如,qan與San為基于qc獲 得)。相較于浮點(diǎn)除法器200,浮點(diǎn)除法器400在同一輪運(yùn)算中,并行進(jìn)行了3次商值表格查詢 的動(dòng)作,其中部分余數(shù)仿真器410進(jìn)行運(yùn)算產(chǎn)生N個(gè)第S部分余數(shù)候選Scl-'ScN,又接著根 據(jù)所產(chǎn)生的N個(gè)第S部分余數(shù)候選Scl-'ScN進(jìn)行嵌套運(yùn)算產(chǎn)生NXN個(gè)第四部分余數(shù)候選 Sanll…SanlN、…、SanNl...SanNN,由確定的qb和qc作為方塊420中第一多工器中的多工器 邏輯的選擇信號(hào),從N X N個(gè)第四部分余數(shù)候選Sanl 1…SanlN、…、SanNl…San順對(duì)應(yīng)的N X N 個(gè)q值中選擇的一個(gè)作為qan輸出。圖4的實(shí)施例將比較耗時(shí)的輸出qb、qc和qan的S次商值 表格查詢操作并列進(jìn)行,使其得W在同一輪運(yùn)算中完成,較現(xiàn)有技術(shù)的必須等待第一輪查 表得第二商值qb之后,再由第二商值qb計(jì)算第=部分余數(shù)Sc W進(jìn)行第二輪查表得由第=商 值qc,之后再由第=商值qc計(jì)算第四部分余數(shù)SanW進(jìn)行第=輪查表得qan,耗時(shí)大大降低。 [00%]圖5A、圖5B為流程圖,圖解圖4浮點(diǎn)除法器400的操作方法,W提供除法運(yùn)算(w/d)。 [0029]步驟S502接收被除數(shù)W與除數(shù)d,據(jù)W查詢方塊208內(nèi)的第二商值表格獲得第一商 值qa。步驟S504操作該當(dāng)輪部分余數(shù)產(chǎn)生器202根據(jù)被除數(shù)w(作為第一輪結(jié)合商值Q運(yùn)算的 第一部分余數(shù)Sa)、除數(shù)dW及第一商值qa產(chǎn)生第二部分余數(shù)Sb。步驟S506操作該部分余數(shù) 仿真器410根據(jù)第二部分余數(shù)Sb、除數(shù)dW及第二商值待測(cè)值qpl-'qpN產(chǎn)生第S部分余數(shù)候 選Scl-. ScN。步驟S508再次操作該部分余數(shù)仿真器410根據(jù)第S部分余數(shù)候選Scl-. ScN、除 數(shù)dW及第S商值待測(cè)值(此例同為qpl-'qpN)產(chǎn)生第四部分余數(shù)候選Sanll-'SanlN、…、 SanNl-'San順。步驟S510根據(jù)第二部分余數(shù)SbW及除數(shù)d,查詢方塊420內(nèi)的第一商值表格 獲得第二商值qb。步驟S512根據(jù)第S部分余數(shù)候選Scl…ScN W及除數(shù)d,查詢方塊420內(nèi)的 第一商值表格獲得第S商值候選qcl-'qcN,交由方塊420內(nèi)的第一多工器根據(jù)步驟S510產(chǎn) 生的第二商值qb從所述第立商值候選qcl'^qcN中選擇對(duì)應(yīng)該第二商值qb的一個(gè)輸出,作為 第S商值qc。步驟S514根據(jù)第四部分余數(shù)候選Sanl 1…SanlN、…、SanNl…San順(N X N個(gè))W 及除數(shù)d,查詢方塊420內(nèi)的第一商值表格獲得第四商值候選qanll-'qanlN、…、qanN^- qanNN(NXN個(gè)),交由方塊420內(nèi)的第一多工器選擇對(duì)應(yīng)第二W及第S商值qb與qc者輸出, 作為第四商值qan。步驟S516操作后續(xù)輪部分余數(shù)產(chǎn)生器440根據(jù)第二部分余數(shù)Sb、除數(shù)dW 及第二商值qb產(chǎn)生第=部分余數(shù)Sc (于方塊440內(nèi)部),且還根據(jù)該第=部分余數(shù)Sc、該除數(shù) dW及該第=商值qc,產(chǎn)生第四部分余數(shù)San。步驟S518中,上述第四商值qanW及第四部分 余數(shù)San經(jīng)方塊208內(nèi)的該第二多工器交由該當(dāng)輪部分余數(shù)產(chǎn)生器202分別作為浮點(diǎn)除法器 400新一輪運(yùn)算所需的第一商值qaW及第一部分余數(shù)Sa,據(jù)W產(chǎn)生該新一輪運(yùn)算的第二部 分余數(shù)Sb,進(jìn)而流程重回步驟S506。圖5A、圖5B所示流程可循環(huán)運(yùn)作直至部分余數(shù)位數(shù)不 足。所掲露的除法流程將在各輪運(yùn)算中取得第一商值qa、第二商值qbW及第=商值qc,操作 商值轉(zhuǎn)換器430轉(zhuǎn)換結(jié)合為結(jié)合商值Q。不同輪運(yùn)算獲得的所有結(jié)合商值則尋再結(jié)合成為除 法運(yùn)算w/d的結(jié)果。其它實(shí)施方式中,步驟S510與S512可微調(diào)至前或后步驟。
[0030] 在其它實(shí)施方式中,部分余數(shù)仿真器所可W仿真的商值數(shù)量,可不只于圖2所示的 一個(gè)(qan)或圖4所示的兩個(gè)(qc與qan)。依照上述同樣概念,部分余數(shù)仿真器甚至可仿真多 于兩個(gè)的商值。
[0031] 雖然本發(fā)明已W較佳實(shí)施例掲露如上,然其并非用W限定本發(fā)明,任何熟悉此項(xiàng) 技藝者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可做些許更動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍 當(dāng)視權(quán)利要求書(shū)所界定的為準(zhǔn)。
【主權(quán)項(xiàng)】
1. 一種浮點(diǎn)除法器,其特征在于,包括: 當(dāng)輪部分余數(shù)產(chǎn)生器,根據(jù)第一部分余數(shù)、除數(shù)以及第一商值,產(chǎn)生第二部分余數(shù); 部分余數(shù)仿真器,根據(jù)該第二部分余數(shù)、該除數(shù)以及多個(gè)第二商值待測(cè)值,產(chǎn)生多個(gè)第 三部分余數(shù)候選;以及 第一商值表格以及第一多工器, 其中: 該第一商值表格經(jīng)查詢,供應(yīng)對(duì)應(yīng)該第二部分余數(shù)以及該除數(shù)的第二商值; 該第一商值表格還經(jīng)查詢,供應(yīng)對(duì)應(yīng)所述第三部分余數(shù)候選以及該除數(shù)的多個(gè)第三商 值候選;且 該第一多工器自所述第三商值候選中選擇對(duì)應(yīng)該第二商值者輸出,作為第三商值。2. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于,該第一多工器選擇以該第二商值于 上述多個(gè)第二商值待測(cè)值之中對(duì)應(yīng)者所對(duì)應(yīng)的上述第三部分余數(shù)候選所對(duì)應(yīng)的上述第三 商值候選作為上述第三商值。3. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于,還包括第二商值表格,其中: 在該浮點(diǎn)除法器的第一輪運(yùn)算中,該第二商值表格經(jīng)查詢,對(duì)應(yīng)被除數(shù)以及該除數(shù)供 應(yīng)上述第一商值;且 上述第一輪運(yùn)算中,該被除數(shù)用作該第一部分余數(shù)輸入該當(dāng)輪部分余數(shù)產(chǎn)生器。4. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于,還包括: 商值轉(zhuǎn)換器,于各輪運(yùn)算中,將各提供Μ個(gè)位信息的該第一商值以及該第二商值轉(zhuǎn)換 結(jié)合成為2Μ個(gè)位的商值,上述Μ為數(shù)值。5. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于,還包括: 后續(xù)輪部分余數(shù)產(chǎn)生器,根據(jù)該第二部分余數(shù)、該除數(shù)以及該第二商值,產(chǎn)生第三部分 余數(shù);以及 第二多工器,切換輸出該第三商值作為上述第一商值,并輸出該第三部分余數(shù)為上述 第一部分余數(shù)。6. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于: 該部分余數(shù)仿真器還根據(jù)所述第三部分余數(shù)候選中對(duì)應(yīng)該第二商值者、該除數(shù)以及多 個(gè)第三商值待測(cè)值,產(chǎn)生多個(gè)第四部分余數(shù)候選; 該第一商值表格還經(jīng)查詢,供應(yīng)對(duì)應(yīng)所述第四部分余數(shù)候選以及該除數(shù)的多個(gè)第四商 值候選;且 該第一多工器還自所述第四商值候選中選擇對(duì)應(yīng)該第三商值者輸出,作為第四商值。7. 根據(jù)權(quán)利要求6所述的浮點(diǎn)除法器,其特征在于,還包括: 后續(xù)輪部分余數(shù)產(chǎn)生器,根據(jù)該第二部分余數(shù)、該除數(shù)以及該第二商值產(chǎn)生第三部分 余數(shù),且還根據(jù)該第三部分余數(shù)、該除數(shù)以及該第三商值,產(chǎn)生第四部分余數(shù);以及 第二多工器,切換輸出該第四商值作為上述第一商值,并輸出該第四部分余數(shù)為上述 第一部分余數(shù)。8. 根據(jù)權(quán)利要求1所述的浮點(diǎn)除法器,其特征在于,還包括: 商值轉(zhuǎn)換器,于各輪運(yùn)算中,將各提供Μ個(gè)位信息的該第一商值、該第二商值以及該第 三商值轉(zhuǎn)換結(jié)合成為3Μ個(gè)位的商值,上述Μ為數(shù)值。9. 一種浮點(diǎn)除法器操作方法,用以操作包括第一商值表格的浮點(diǎn)除法器,其特征在 于,包括: 根據(jù)第一部分余數(shù)、除數(shù)以及第一商值,產(chǎn)生第二部分余數(shù); 根據(jù)該第二部分余數(shù)、該除數(shù)以及多個(gè)第二商值待測(cè)值,產(chǎn)生多個(gè)第三部分余數(shù)候選; 查詢?cè)摰谝簧讨当砀?,供?yīng)對(duì)應(yīng)該第二部分余數(shù)以及該除數(shù)的第二商值; 查詢?cè)摰谝簧讨当砀?,供?yīng)對(duì)應(yīng)所述第三部分余數(shù)候選以及該除數(shù)的多個(gè)第三商值候 選;以及 提供第一多工器,自所述第三商值候選中選擇對(duì)應(yīng)該第二商值者輸出,作為第三商值。10. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,操作該第一多工器選擇 以該第二商值于上述多個(gè)第二商值待測(cè)值之中對(duì)應(yīng)者所對(duì)應(yīng)的上述第三部分余數(shù)候選所 對(duì)應(yīng)的上述第三商值候選作為上述第三商值。11. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 提供第二商值表格; 在該浮點(diǎn)除法器的各輪運(yùn)算中,查詢?cè)摰诙讨当砀?,?duì)應(yīng)被除數(shù)以及該除數(shù)供應(yīng)上 述第一商值;以及 在上述第一輪運(yùn)算中,將該被除數(shù)作為該第一部分余數(shù)。12. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 提供商值轉(zhuǎn)換器,于各輪運(yùn)算中,將各提供Μ個(gè)位信息的該第一商值以及該第二商值轉(zhuǎn) 換結(jié)合成為2Μ個(gè)位的商值,上述Μ為數(shù)值。13. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 根據(jù)該第二部分余數(shù)、該除數(shù)以及該第二商值,產(chǎn)生第三部分余數(shù);以及 提供第二多工器,切換輸出該第三商值作為上述第一商值,并輸出該第三部分余數(shù)為 上述第一部分余數(shù)。14. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 根據(jù)所述第三部分余數(shù)候選中對(duì)應(yīng)該第二商值者、該除數(shù)以及多個(gè)第三商值待測(cè)值, 產(chǎn)生多個(gè)第四部分余數(shù)候選; 查詢?cè)摰谝簧讨当砀瘢?yīng)對(duì)應(yīng)所述第四部分余數(shù)候選以及該除數(shù)的多個(gè)第四商值候 選;以及 以該第一多工器自所述第四商值候選中選擇對(duì)應(yīng)該第三商值者輸出,作為第四商值。15. 根據(jù)權(quán)利要求14所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 根據(jù)該第二部分余數(shù)、該除數(shù)以及該第二商值產(chǎn)生第三部分余數(shù),且還根據(jù)該第三部 分余數(shù)、該除數(shù)以及該第三商值,產(chǎn)生第四部分余數(shù);以及 提供第二多工器,切換輸出該第四商值作為上述第一商值,并輸出該第四部分余數(shù)為 上述第一部分余數(shù)。16. 根據(jù)權(quán)利要求9所述的浮點(diǎn)除法器操作方法,其特征在于,還包括: 提供商值轉(zhuǎn)換器,于各輪運(yùn)算中,將各提供Μ個(gè)位信息的該第一商值、該第二商值以及 該第三商值轉(zhuǎn)換結(jié)合成為3Μ個(gè)位的商值,上述Μ為數(shù)值。
【文檔編號(hào)】G06F7/535GK106020769SQ201610459035
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年6月22日
【發(fā)明人】陳靜, 張稚
【申請(qǐng)人】上海兆芯集成電路有限公司