欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種小數(shù)加法結果圓整方法與裝置與流程

文檔序號:12550294閱讀:478來源:國知局
一種小數(shù)加法結果圓整方法與裝置與流程

本發(fā)明涉及數(shù)據(jù)處理及專用集成電路技術領域,尤其涉及一種小數(shù)加法結果圓整方法與裝置。



背景技術:

對加法器結果的圓整(Round)操作,通常也稱為舍入操作,是常見的結果處理操作之一,幾乎在所有處理器中都會有類似的設計。在浮點加法器中,如果加法器的兩個輸入數(shù)的指數(shù)不同,一般會將指數(shù)較小的輸入數(shù)的尾數(shù)右移之后在與另一個輸入數(shù)進行操作。在輸出結果之前,移出的位需要向上圓整。按照IEEE的圓整標準,是否將低位向上進位需要綜合考慮所有移出位、加法器結果最低有效位和次低有效位。在這種情況下,最直接的處理方式是先判斷決定是否需要進位,然后再進行加法運算。

在利用浮點乘累加器或者定點乘累加器對小數(shù)操作時,指令要求結果輸出位寬與輸入位寬相同。因此,乘法器會將輸入操作數(shù)的位寬加倍,如果不對位寬進行限定,在經(jīng)過多次乘法操作之后,理論上運算結果的位寬將以指數(shù)形式增長。為了避免出現(xiàn)這種不必要的情況,指令都需要將運算結果圓整。因此,加法器的結果需要將低半部分按照規(guī)則舍入并選擇高半部分。在這種情況下,最直接的方式是先得到加法器的計算結果,然后根據(jù)結果的低半部分,決定是否向上進位,然后再計算進位結果。

在不同的環(huán)境下,加法器結果的圓整操作使用不同的設計方式。在現(xiàn)有技術中的高性能處理器中,浮點加法器的圓整操作常見的方法是使用進位選擇和雙加法器的設計方式,即同時處理需要進位的結果以及不需要進位的結果。在加法器進行計算的同時,判斷是否需要舍入,然后在加法器得出結果之后進行選擇。但是在浮點乘加器或者定點小數(shù)乘加器的設計中,使用傳統(tǒng)的進位選擇需要消耗更多的資源。而且因為低半部分的結果判斷需要較多時間,無法在高半部分的計算完畢之前得出,所以仍然不能快速的得到結果。

綜上所述,現(xiàn)有高性能處理器中的浮點乘加器或者定點小數(shù)乘加器存在圓整方法消耗的資源多且無法快速得到結果的問題。



技術實現(xiàn)要素:

本發(fā)明公開一種小數(shù)加法結果圓整方法,以解決現(xiàn)有高性能處理器中浮點乘加器或者定點小數(shù)乘加器消耗資源多且無法快速得到結果的問題。

一種小數(shù)加法結果圓整方法,其特征在于,包括以下步驟:

定義編碼加法器的參數(shù),所述參數(shù)包括兩個位寬為n的加法器輸入操作數(shù) a[n-1:0]和b[n-1:0], 加法器初始進位c0,加法器輸出s[n-1:0]以及圓整結果r[m-1:0] ;

根據(jù)所述加法器輸入操作數(shù)設定每一位的進位傳遞因子p[n-1:0],進位產(chǎn)生因子g[n-1:0]和進位取消因子k[n-1:0],其中p[n-1:0]= a[n-1:0]^ b[n-1:0],g[n-1:0]= a[n-1:0]& b[n-1:0],k[n-1:0]=~(a[n-1:0]| b[n-1:0] ),^代表異或邏輯,&代表與邏輯,~代表取反邏輯,|代表或邏輯;

接收所述加法器輸入操作數(shù)和初始進位,利用所述進位傳遞因子和進位取消因子預先判斷計算生成低位部分處理結果;將低位部分分為三段,將p[n-m-1]和k[n-m-2]同或計算得到所述低位部分的最高位zl[n-m-1],將每一位的進位傳遞因子與與其相比低一位的進位取消因子按位異或計算得到所述低位部分的次高位至次低位zl[n-m-2:1],將p[0]與初始進位c0同或計算得到zl[0],將n-m位zl[n-m-1:0]進行n-m位的與操作,得到低位部分處理結果mid;

接收所述加法器輸入操作數(shù),利用所述進位傳遞因子和進位產(chǎn)生因子判斷預測高位部分處理結果,將高m位的進位傳遞因子與與其相比低一位的進位產(chǎn)生因子異或計算得到高m位結果zh[m-1:0],將高m位結果zh[m-1:0]的每一位的與所有低于該權重的位做與操作得到高m位的高位進位預測結果zhc[m-1:0];

將加法器低位部分輸出的最高位s[n-m-1]分別和所述高位進位預測結果zhc[m-1:0]的每一位分別進行與邏輯計算,得到zhcs[m-1:0];

將加法器高位部分的輸出s[n-1:n-m+1]和zhcs[m-1:1]進行異或計算得到部分圓整輸出r[m-1:1];

利用加法器的部分輸出s[n-m]作為選擇信號,s[n-m]為高則選擇mid和s[n-m-1]的或非邏輯計算結果作為所述圓整輸出的最低位,s[n-m]為低則選擇~mid和s[n-m-1]的與邏輯計算結果作為所述圓整輸出的最低位,得到r[0]。

本發(fā)明所公開的小數(shù)加法結果圓整方法,通過將低位計算和高位進位預測兩個部分獨立出來,可以代替現(xiàn)有技術中采用兩個獨立加法器計算的方式,經(jīng)過測試,可以有效地提高現(xiàn)有技術中計算效率,而且在浮點乘法器或定點小數(shù)操作中,本發(fā)明所提供的方法可以更快速的對低位結果進行判斷,以更快的開始后續(xù)操作。

本發(fā)明同時公開了一種小數(shù)加法結果圓整裝置,

包括

第一加法器;

第一邏輯單元,所述第一邏輯單元被配置為接收加法器輸入操作數(shù)和初始進位,利用根據(jù)所述加法器輸入操作數(shù)生成的進位傳遞因子和進位取消因子預先判斷計算生成低位部分處理結果;

第二邏輯單元,所述第二邏輯單元被配置為接收加法器輸入操作數(shù),利用根據(jù)所述加法器輸入操作數(shù)生成的進位傳遞因子和進位產(chǎn)生因子預先預測計算高位部分處理結果;

圓整結果輸出單元,所述圓整結果輸出單元耦接所述第一加法器、第一邏輯單元和第二邏輯單元,所述圓整結果輸出單元使用所述第一加法器、第一邏輯單元和第二邏輯單元的輸出結果,形成圓整結果。本發(fā)明所公開的小數(shù)加法圓整裝置,可以降低芯片面積的40%,同時在有效降低芯片面積的條件下,很好的解決了圓整操作需要處理的低位結果判斷、高位進位計算和溢出判斷三個問題,同時提高了結果輸出的速度。

附圖說明

為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明所公開的小數(shù)加法結果圓整方法的一種流程圖;

圖2為本發(fā)明所公開的小數(shù)加法結果圓整方法的另一種流程圖;

圖3為本發(fā)明所公開的小數(shù)加法圓整裝置的結構示意框圖;

圖4為圖3中第一邏輯單元的邏輯電路示意圖;

圖5為圖3中第二邏輯單元的邏輯電路示意圖;

圖6為圖3所公開的小數(shù)加法圓整裝置的邏輯電路示意圖。

具體實施方式

為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。

參見圖1所示為本發(fā)明所公開的小數(shù)加法結果圓整方法第一種實施例的流程圖,本發(fā)明旨在更快的給出計算結果,避免同時進行并行加法和進位選擇操作,降低使用的加法器資源。具體來說,本實施例包括以下步驟:

定義編碼加法器的參數(shù),所述參數(shù)包括兩個位寬為n的加法器輸入操作數(shù) a[n-1:0]和b[n-1:0], 加法器初始進位c0,加法器輸出s[n-1:0]以及圓整結果r[m-1:0] 。

根據(jù)所述加法器輸入操作數(shù)設定對應每一位的進位傳遞因子p[n-1:0],進位產(chǎn)生因子g[n-1:0]和進位取消因子k[n-1:0],其中p[n-1:0]= a[n-1:0]^ b[n-1:0],g[n-1:0]= a[n-1:0]& b[n-1:0],k[n-1:0]=~(a[n-1:0]| b[n-1:0];^代表異或邏輯,&代表與邏輯,~代表取反邏輯,|代表或邏輯。

接收所述加法器輸入操作數(shù)和初始進位,利用所述進位傳遞因子和進位取消因子預先判斷計算生成低位部分處理結果,將低位部分分為三段,將p[n-m-1]和k[n-m-2]同或計算得到所述低位部分的最高位zl[n-m-1],將每一位的進位傳遞因子與與其相比低一位的進位取消因子異或計算得到所述低位部分的次高位至次低位zl[n-m-2:1],將p[0]與初始進位c0同或計算得到zl[0],將zl[n-m-1:0]歸約,即進行縮減操作,將zl[n-m-1:0]的每一位輸入與門電路的輸入端,進行邏輯計算,得到低位部分處理結果mid;

利用所述進位傳遞因子和進位產(chǎn)生因子同時預測判斷計算高位部分進位處理結果,將高m位的進位傳遞因子與與其相比低一位的進位產(chǎn)生因子異或計算得到高m位結果zh[m-1:0],將高m位結果zh[m-1:0]的每一位的與所有低于該權重的位做與操作得到高m位的高位進位預測結果zhc[m-1:0]。

將加法器低位部分輸出的最高位s[n-m-1]和所述高位進位預測結果zhc[m-1:0]的每一位分別進行與邏輯計算,得到zhcs[m-1:0]。更具體一步的說,通過與門行計算zhcs[m-1:0],所述與門行包括m-1個與門電路,每一個與門電路的一個輸入端輸入所述加法器低位部分輸出的最高位s[n-m-1],與門電路的另一端分別輸入所述高位進位預測結果zhc[m-1:0]的每一位,得到zhcs[m-1:0]。

將加法器高位部分的輸出s[n-1:n-m+1]和zhcs[m-1:1]進行異或計算得到部分圓整輸出r[m-1:1];

利用加法器的部分輸出s[n-m]作為選擇信號,s[n-m]為高則選擇mid和s[n-m-1]的或非邏輯計算結果作為所述圓整輸出的最低位,s[n-m]為低則選擇~mid和s[n-m-1]的與邏輯計算結果作為所述圓整輸出的最低位,得到r[0]。

利用r[m-1:1]和r[0]即可以在沒有延遲的情況下得到考慮低位是否存在向上的進位的完整的圓整結果。

與現(xiàn)有處理器的運作方式相似,對于圓整操作來說,還需要處理溢出判斷的問題,參見圖2所示,在一種優(yōu)選的實施方式中,還包括溢出判斷的步驟。在不同的使用環(huán)境中,溢出后需要進行的操作不同,本實施例僅提供一種優(yōu)選的判斷方式。

具體來說,針對兩種不同的情形,溢出判斷優(yōu)選包括以下步驟:

在浮點操作中,如果所述加法器輸出最高位有進位則N上溢出;如果zhcs的最高位為1時,則R溢出;

其中,所述N上溢出有效或R溢出有效則上溢出。

在定點操作中,首先根據(jù)所述加法器輸入操作數(shù)的符號位以及所述加法器輸出的符號位判斷所述加法器輸出的正負;

如果所述加法器的輸出為正數(shù)且所述加法器輸出最高位有進位則N上溢出;如果zhcs的最高位為1時,則R溢出;

其中,所述N上溢出有效或R溢出有效則上溢出;

如果所述加法器的輸出為負數(shù)且所述加法器輸出最高位沒有進位則N下溢出;如果zhcs的最高位為1時,則R溢出;

其中,所述N下溢出有效且R不溢出時則下溢出。

在本實施例所公開的圓整操作的方法中,雖然將低位計算和高位進位預測獨立出來,仍然需要一個完整的加法器參與,通常在高性能處理中,加法器采用超前進位加法器進行設計。參與低位計算和高位進位預測的進位傳遞因子、進位取消因子和進位產(chǎn)生因子可以采用獨立于所述加法器的符合上述邏輯計算公式規(guī)定的邏輯門電路生成,將將zl[n-m-1:0]歸約并進行邏輯與計算,得到低位部分處理結果mid。還可以采用所述加法器內(nèi)部的邏輯門電路生成。這是因為超前進位加法器大多會在進位鏈前產(chǎn)生類似的進位傳遞因子、進位產(chǎn)生因子或者進位取消因子,因此可以直接使用加法器產(chǎn)生的進位傳遞因子、進位產(chǎn)生因子或進位取消因子,將zl[n-m-1:0]歸約并進行邏輯與計算,得到低位部分處理結果mid。

本發(fā)明所公開的小數(shù)加法結果圓整方法,通過將低位計算和高位進位預測兩個部分獨立出來,可以代替現(xiàn)有技術中采用兩個獨立加法器計算的方式,經(jīng)過測試,可以有效地提高現(xiàn)有技術中計算效率,而且在浮點乘法器或定點小數(shù)操作中,本發(fā)明所提供的方法可以更快速的對低位結果進行判斷,以更快的開始后續(xù)操作。

本發(fā)明同時公開了一種小數(shù)加法結果圓整裝置,采用上述第一實施例和第二實施例所公開的小數(shù)加法結果圓整方法。參見圖3所示,主要包括第一加法器、第一邏輯單元、第二邏輯單元以及圓整結果輸出單元,其中圓整結果輸出單元耦接第一加法器、第一邏輯單元和第二邏輯單元,圓整結果輸出單元使用第一加法器、第一邏輯單元和第二邏輯單元的輸出結果,形成圓整結果。以下參照附圖,對多個組成部分進行逐一詳細描述。:

作為加法結果的圓整操作,仍然需要一個完整的第一加法器101,本實施例所公開的小數(shù)加法結果圓整裝置應用在在高性能處理中,因此第一加法器101使用超前進位加法器進行設計。與現(xiàn)有技術采用雙加法器的技術方案不同,對于低位部分的預先判斷計算,在本實施例中使用第一邏輯單元102實現(xiàn)。對于高位結果和進位的預測和計算,使用第二邏輯單元107實現(xiàn),第二邏輯單元107先使用高位進位預測邏輯103產(chǎn)生高位進位預測結果zhc[m-1:0],然后使用第一加法器101輸出結果低位部分最高位s[n-m-1]與高位進位預測邏輯103的結果經(jīng)過與門行104的邏輯計算,得到zhcs[m-1:0]。然后通過圓整結果輸出單元105匯總第一加法器101、第一邏輯單元102、與門行104,即第二邏輯單元107的結果,得到最終考慮了低位是否存在進位的圓整結果。進一步使用溢出判斷邏輯單元106判定是否溢出。

第一邏輯單元102的結構如圖4所示。將需要計算的低位部分預先主動分成三段對應位寬進行處理,第一段是低位部分的第n-m-1位,將n-m-1位的進位傳遞因子p[n-m-1]和n-m-2位的進位取消因子k[n-m-2]進行“同或”計算,得到n-m-1為的低位處理結果zl[n-m-1]。第二段是低位部分的次高位至次低位[n-m-2:1],將對應第二段的每一位的進位傳遞因子與相比于該位低一位的進位取消因子進行“異或”計算,得到zl[n-m-2:1]。第三段是低位部分的第0位,將p[0]與初始進位c0進行“同或”計算,得到zl[0],如結構203所示。如此得到完整的結果zl[n-m-1:0]。將zl[n-m-1:0]進行“歸約與”操作,即將每一位輸入至與門電路的輸入端,輸出一位對應位結果mid。

因為超前進位加法器大多會在進位鏈前產(chǎn)生類似的進位傳遞因子、進位產(chǎn)生因子或進位取消因子,所以可以直接使用第一加法器101產(chǎn)生的進位傳遞因子、進位產(chǎn)生因子或進位取消因子。如此結構201、202、203中產(chǎn)生進位傳遞因子或進位取消因子的邏輯門就不再需要,直接產(chǎn)生zl[n-m-1:0],然后進行歸約與操作。

第二邏輯單元107包括高位進位預測邏輯103和與門行104,高位進位預測邏輯103的結構如圖5所示。對高m位的每一位對應的進位傳遞因子和與其相比低一位的進位產(chǎn)生因子做“異或”操作,得到高m位的結果zh[m-1:0],每一位的邏輯如圖中結構301所示。將該m位的結果zh[m-1:0]輸入“歸約與樹林邏輯”302,得到m位的高位進位預測結果zhc[m-1:0]。

如圖5所示,其中“歸約與樹林邏輯”是指每一位的輸出結果都是該位對應的輸入位和所有低于該位權重的輸入做“與操作”得到的結果。

同樣的,因為超前進位加法器大多會在進位鏈前產(chǎn)生類似的進位傳遞因子、進位產(chǎn)生因子或進位取消因子,所以可以直接使用第一加法器101產(chǎn)生的進位傳遞因子、進位產(chǎn)生因子或進位取消因子。如此結構301中產(chǎn)生進位傳遞因子或進位產(chǎn)生因子的邏輯門就不再需要,直接采用超前進位加法器的輸出產(chǎn)生zh[n-m-1:0]。

第二邏輯單元107的另一個部分,與門行104是m-1個與門,具體結構如圖6中104所示。每個與門的一端輸入第一加法器101低位部分輸出結果的最高位s[n-m-1],每個與門的另一端對應輸入高位進位預測邏輯103結果zhc[m-1:1]的每一位,通過與門行104得到結果是zhcs[m-1:1]。

圓整結果輸出單元105的具體結構如圖6所示。將第一加法器101高位部分的輸出結果中的高位部分s[n-1:n-m+1]和通過與門行104得到的結果zhcs[m-1:1],通過“異或”得到圓整結果的一部分r[m-1:1]。而最低位結果r[0]則使用s[n-m]作為選擇信號,為高則選擇mid和s[n-m-1]的“或非”結果,否則選擇~mid和s[n-m-1]的“與”結果,得到r[0]。得到完整的考慮低位進位信息的圓整結果r[m-1:0]。

如圖3所示,為了進行進一步的溢出判斷,還設置有溢出判斷邏輯單元106。在溢出判斷邏輯單元106中,根據(jù)第一加法器101高位輸出結果和第二邏輯單元107,即與門行104的輸出結果判斷n位加法器的溢出(N上溢出/N下溢出)以及圓整加1導致的溢出(R溢出)。首先根據(jù)第一加法器101兩個輸入操作數(shù)符號位以及第一加法器101輸出計算結果符號位確定輸出結果的正負。若輸出結果是正數(shù),第一加法器101高位輸出結果最高位有進位則N上溢出,與門行104輸出zhcs最高位是1則R溢出。當輸出結果為正數(shù)時,兩種溢出一種有效則上溢出;若結果是負數(shù),第一加法器101高位輸出結果最高位沒有進位則N下溢出,與門行104輸出zhcs最高位是1則R溢出,當輸出結果為負數(shù)時,僅在N下溢出且R不溢出的情況下才下溢出。

本發(fā)明所公開的小數(shù)加法圓整裝置,可以降低芯片面積的40%,同時在有效降低芯片面積的條件下,很好的解決了圓整操作需要處理的低位結果判斷、高位進位計算和溢出判斷三個問題,降低了加法器的延遲,可以更快地進行后續(xù)處理,同時提高了結果輸出的速度。

最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質(zhì)脫離本發(fā)明各實施例技術方案的精神和范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
苏州市| 阿尔山市| 乐至县| 鱼台县| 象州县| 海淀区| 无棣县| 黔西县| 宜兴市| 宜良县| 镇康县| 宝丰县| 洛隆县| 新绛县| 高台县| 梅河口市| 凤凰县| 衡东县| 阿图什市| 万年县| 彝良县| 墨脱县| 平邑县| 青阳县| 新昌县| 佛坪县| 玛曲县| 修文县| 沭阳县| 武城县| 南康市| 三亚市| 平谷区| 鹿泉市| 闵行区| 滨海县| 镶黄旗| 都匀市| 宝兴县| 长阳| 和龙市|