亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種浮點數(shù)處理裝置的制作方法

文檔序號:11653939閱讀:327來源:國知局
一種浮點數(shù)處理裝置的制造方法

本發(fā)明屬于計算機領(lǐng)域,尤其涉及一種低功耗自由指數(shù)域浮點數(shù)處理裝置。



背景技術(shù):

近年來,在各領(lǐng)域的應(yīng)用中對高動態(tài)范圍的要求逐漸成為重要的一環(huán),相對于定點數(shù)而言,等同數(shù)據(jù)位寬的浮點數(shù)具有更高的動態(tài)范圍,所以浮點數(shù)越發(fā)受到重視。因此,強大計算系統(tǒng)通常采用浮點數(shù)處理器作為主處理器的一部分或者作為協(xié)處理器。

浮點數(shù)用于近似表示某個實數(shù),其格式通常包括符號位s、指數(shù)位e和尾數(shù)位m,可表示為{s,e,m},在計算機中為了便于存儲,浮點數(shù)的冪的基數(shù)為2,即浮點數(shù){s,e,m}=(-1)s×(1+m)×2e

浮點數(shù)的精度由用于表示尾數(shù)的數(shù)據(jù)位寬界定。尾數(shù)數(shù)據(jù)位寬越大,浮點數(shù)的精度越高。現(xiàn)有的通用處理器中,大多采用ieee754標準的浮點數(shù)進行加、減、乘、除運算。在ieee754標準的32位浮點格式中,其具有1位符號位、8位指數(shù)位、23位尾數(shù),其中,尾數(shù)二進制小數(shù)點左方的整數(shù)位是隱含的。ieee754同時還有一種更高精度、更高動態(tài)范圍的64位格式。

然而,無論采用何種浮點格式,由于浮點數(shù)自身的特點,決定了浮點數(shù)的運算更加復(fù)雜,因此如何提高浮點數(shù)運算速度并降低運算功耗成為現(xiàn)如今硬件設(shè)計的核心問題之一。

通用處理器通常局限于單一的浮點數(shù)格式,固然這種格式能滿足一些應(yīng)用的精度以及動態(tài)范圍的需求,然而其他應(yīng)用可能不需要。例如神經(jīng)網(wǎng)絡(luò)算法中,對于指數(shù)較大的浮點數(shù)(局部誘導(dǎo)域)所需的精度較低;而指數(shù)較小的浮點數(shù)(權(quán)重或者方向傳播算法中的權(quán)重變化量和梯度)則需要較高精度。因為在神經(jīng)網(wǎng)絡(luò)算法中的激活函數(shù)是非線性的,如sigmoid、tanh 函數(shù),不同精度局部誘導(dǎo)域經(jīng)過激活函數(shù)作用后結(jié)果的準確度差別不大,高精度的局部誘導(dǎo)域浮點表示將造成不必要的功耗浪費。同樣,權(quán)重、方向傳播算法中的權(quán)重變化量和梯度則需要較高的精度,但是這類數(shù)據(jù)的是比較小,所需的動態(tài)范圍較小,即指數(shù)較小。

cn200810216631所述的提供的浮動精度的浮點數(shù)格式及其運算方法中,浮點數(shù)的精度是可變的,但是其指數(shù)部分是固定不變。而且此種浮點數(shù)格式的數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜,不利于提高浮點運算速率。

cn200780006490所述的可選次精度的浮點數(shù)運算器,其中,浮點數(shù)的格式是固定不變,提供一個過剩位移除高精度尾數(shù)部分功率,從而降低浮點運算功率。然而此種方法中浮點數(shù)依然是采用上述的單一浮點數(shù)格式表示,將造成一定程度的存儲空間及功耗的浪費。



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

(一)要解決的技術(shù)問題

本發(fā)明的目的在于,提供一種浮點數(shù)處理裝置,能夠?qū)藴矢袷降母↑c數(shù)的位寬進行壓縮,生成低位寬的浮點數(shù),從而節(jié)省存儲空間,還可以降低浮點數(shù)運算功耗。

(二)技術(shù)方案

本發(fā)明提供一種浮點數(shù)處理裝置,包括:

轉(zhuǎn)換單元,用于接收至少一個第一浮點數(shù),并將至少一個第一浮點數(shù)轉(zhuǎn)換為對應(yīng)數(shù)量的第二浮點數(shù),其中,每個第二浮點數(shù)包括1位符號位、n位指數(shù)位和c-n-1位尾數(shù)位,c、n為大于等于1的整數(shù),c為第二浮點數(shù)的總位數(shù),n的數(shù)值是由至少一個第一浮點數(shù)確定的;

運算單元,用于對第二浮點數(shù)進行運算,得到運算結(jié)果。

(三)有益效果

本發(fā)明對標準格式浮點數(shù)的位寬進行壓縮,生成低位寬浮點數(shù),其中,針對不同的標準格式浮點數(shù),其對應(yīng)的低位寬浮點數(shù)中的指數(shù)位寬和尾數(shù)位寬是可變的,從而使該低位寬浮點數(shù)的精度和動態(tài)范圍是可變的,該低位寬浮點數(shù)能夠滿足神經(jīng)網(wǎng)絡(luò)算法、圖像處理等算法的數(shù)據(jù)精度要求的同時,避免了浮點數(shù)運算功率的浪費。

附圖說明

圖1是本發(fā)明實施例提供的浮點數(shù)處理裝器的示意圖。

圖2是本發(fā)明實施例中標準格式浮點數(shù)與低位寬浮點數(shù)的示意圖。

具體實施方式

本發(fā)明提供一種浮點數(shù)處理裝置,包括轉(zhuǎn)換單元和運算單元,轉(zhuǎn)換單元接收標準格式浮點數(shù),并將標準格式浮點數(shù)的位寬進行壓縮,生成低位寬浮點數(shù),運算單元對低位寬浮點數(shù)進行運算,得到運算結(jié)果。本發(fā)明能根據(jù)不同的標準格式浮點數(shù),得到不同指數(shù)位寬的低位寬浮點數(shù),該低位寬浮點數(shù)能夠滿足神經(jīng)網(wǎng)絡(luò)算法、圖像處理等算法的數(shù)據(jù)精度要求的同時,避免了浮點數(shù)運算功率的浪費。

根據(jù)本發(fā)明的一種實施方式,浮點數(shù)處理裝置包括:

轉(zhuǎn)換單元,用于接收一組第一浮點數(shù),并將該組第一浮點數(shù)轉(zhuǎn)換為對應(yīng)數(shù)量的第二浮點數(shù),其中,一組第一浮點數(shù)中可包括一個或一個以上的第一浮點數(shù),轉(zhuǎn)換后得到相同數(shù)量的第二浮點數(shù),每個第一浮點數(shù)與每個第二浮點數(shù)一一對應(yīng),每個所述第二浮點數(shù)包括1位符號位、n位指數(shù)位和c-n-1位尾數(shù)位,c、n為大于等于1的整數(shù),c為第二浮點數(shù)的總位數(shù),n的數(shù)值是由這組第一浮點數(shù)確定的;第一浮點數(shù)是標準格式浮點數(shù),第二浮點數(shù)是由對標準格式浮點數(shù)進行位寬壓縮后的低位寬浮點數(shù)。

運算單元,用于對第二浮點數(shù)進行運算,得到運算結(jié)果。

標準格式浮點數(shù)包括1位符號位、k1位指數(shù)位和k2位尾數(shù)位,例如ieee754定義的32位標準格式浮點數(shù)中,包括1位符號位、8位指數(shù)位和23位尾數(shù)位;標準格式浮點數(shù)的數(shù)值v1表達式為:

v1=(-1)s×(1+m)×2e,

其中,s為標準格式浮點數(shù)的符號位的值、e為標準格式浮點數(shù)的k1位指數(shù)位的值,m為標準格式浮點數(shù)的k2位尾數(shù)位的值;

低位寬浮點數(shù)中的n的數(shù)值為:

n=log2(emax-emin)/2,

其中,emax為一組標準格式浮點數(shù)中e的最大值,emin為一組標準 格式浮點數(shù)中e的最小值;本發(fā)明浮點數(shù)轉(zhuǎn)換的原理是,針對一組標準格式浮點數(shù),其指數(shù)位的位寬是固定的,但是指數(shù)位所對應(yīng)的數(shù)值不盡相同,通過對一組標準格式浮點數(shù)中指數(shù)位所對應(yīng)的數(shù)值進行分析,得到一個相對平均的指數(shù)位數(shù)值,根據(jù)該數(shù)值至少所需的位數(shù),確定低位寬浮點數(shù)中指數(shù)位的位數(shù)n,根據(jù)設(shè)定的低位寬浮點數(shù)的總位數(shù)c和1位符號位,可知低位寬浮點數(shù)的尾數(shù)位為c-n-1位。

以上是對低位寬浮點數(shù)中指數(shù)位、尾數(shù)位的位數(shù)的劃分,然后需要確定低位寬浮點數(shù)中指數(shù)位、尾數(shù)位的數(shù)值。

根據(jù)本發(fā)明的一種實施方式,低位寬浮點數(shù)的符號位等于標準格式浮點數(shù)的符號位;低位寬浮點數(shù)的c-n-1位尾數(shù)位等于標準格式浮點數(shù)k2位尾數(shù)位中的前c-n-1位;n位指數(shù)位的數(shù)值e′為:

e′=e-b+a,

其中,b為標準格式浮點數(shù)的指數(shù)位的偏移量,例如,ieee754標準中32位浮點數(shù)的偏移量為127。a為低位寬浮點數(shù)的指數(shù)基數(shù),其表達式為:

a=(emax+emin)/2。

根據(jù)本發(fā)明的一種實施方式,轉(zhuǎn)換單元還用于接收低位寬浮點數(shù),并將低位寬浮點數(shù)轉(zhuǎn)換為標準格式浮點數(shù),其中:標準格式浮點數(shù)的符號位等于低位寬浮點數(shù)的符號位;標準格式浮點數(shù)k2位尾數(shù)位中的前c-n-1位等于低位寬浮點數(shù)的c-n-1位尾數(shù)位,后k2+1+n-c位為0;n位指數(shù)位的數(shù)值e′為:

e′=e-b+a。

根據(jù)本發(fā)明的一種實施方式,轉(zhuǎn)換單元包括第一寄存器和第二寄存器,第一寄存器用于存儲n的數(shù)值,第一寄存器用于存儲低位寬浮點數(shù)的指數(shù)基數(shù)a的數(shù)值。

根據(jù)本發(fā)明的一種實施方式,浮點數(shù)處理裝置還包括:存儲單元,用于存儲標準格式浮點數(shù)和低位寬浮點數(shù)。其中,存儲單元、轉(zhuǎn)換單元、運算單元兩兩連接,各部件中的浮點數(shù)均可雙向流通,需要注意的是,運算單元只能對低位寬浮點數(shù)進行運算,故其輸入輸出的數(shù)據(jù)均是低位寬浮點數(shù)。

根據(jù)本發(fā)明的一種實施方式,浮點數(shù)處理裝置可以作為一個主處理器或協(xié)處理器,其利用一總線可與外部的其他的處理器進行數(shù)據(jù)交互。

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進一步詳細說明。

圖1是本發(fā)明實施例提供的浮點數(shù)處理器的示意圖,如圖1所示,浮點數(shù)處理器1包括編解碼組件2、浮點運算邏輯3和存儲器(ram)4,在本實施例中,采用編解碼組件2作為轉(zhuǎn)換單元進行浮點數(shù)轉(zhuǎn)換,采用浮點運算邏輯3作為運算單元進行浮點數(shù)運算,采用存儲器4作為存儲單元進行浮點數(shù)存儲。浮點數(shù)處理器外部連接有一外部輸入設(shè)備5(鼠標/鍵盤)和總線6,輸入設(shè)備5可直接向編解碼組件2輸入標準格式浮點數(shù),浮點數(shù)處理器通過總線6可以作為一個主處理器或協(xié)處理器,其利用一總線可與外部的其他的處理器進行數(shù)據(jù)交互。

編解碼組件2包含一組配置寄存器(cfg)和一組指數(shù)基址寄存器(base)。配置寄存器(cfg)存儲有低位寬浮點數(shù)的指數(shù)位的位數(shù)n,用于界定低位寬浮點數(shù)的指數(shù)和尾數(shù),指數(shù)基址寄存器(base)存儲有低位寬浮點數(shù)的指數(shù)基數(shù)a的數(shù)值,編解碼組件2利用兩個寄存器中的數(shù)值,實現(xiàn)標準格式浮點數(shù)和低位寬浮點數(shù)的編碼(標準格式浮點數(shù)到低位寬浮點數(shù)的轉(zhuǎn)換)和解碼(低位寬浮點數(shù)到標準格式浮點數(shù)的轉(zhuǎn)換)。

浮點運算邏輯3耦合到數(shù)據(jù)存儲器4和編解碼組件2,處理所請求的 低位寬浮點數(shù)。浮點運算邏輯3將運算結(jié)果輸出到編解碼組件2,編解碼組件根據(jù)所執(zhí)行的浮點運算請求將結(jié)果輸出到存儲單元4。

本實施例在神經(jīng)網(wǎng)絡(luò)算法中將標準的32位浮點數(shù)轉(zhuǎn)換為16位的低位寬浮點數(shù)。如圖2所示,ieee754浮點數(shù)標準浮點數(shù)格式和16位寬自由指數(shù)域浮點數(shù)格式的對比,低位寬浮點數(shù)對應(yīng)的配置寄存器值為n,則該浮點數(shù)中指數(shù)域位寬為n,尾數(shù)位寬為15-n。

神經(jīng)網(wǎng)絡(luò)算法中,數(shù)據(jù)計算是按照不同層執(zhí)行的。在神經(jīng)網(wǎng)絡(luò)的一層中,同一類數(shù)據(jù)的動態(tài)范圍差別不大。同時,動態(tài)范圍需求較高的數(shù)據(jù)對數(shù)據(jù)精度的要求相對較低,而精度需求較高的數(shù)據(jù)的動態(tài)范圍需求較低。因此,采用兩組寄存器控制低位寬浮點數(shù)的精度和動態(tài)范圍。例如,一組標準格式浮點數(shù)的指數(shù)值在[emin,emax]區(qū)間內(nèi),利用公式:n=log2(emax-emin)/2,a=(emax+emin)/2,可得到配置寄存器(cfg)的值置為n(即分割位在第15-n位),其對應(yīng)的指數(shù)基數(shù)寄存器(base)置為a。編碼時,將ieee754浮點數(shù)的指數(shù)(減去偏移量127)加上a賦值給所述自由指數(shù)域浮點數(shù)的[14:15-n]位,并截取ieee754浮點數(shù)尾數(shù)的前15-n位賦值給低位寬浮點數(shù)的低15-n位,實現(xiàn)ieee754浮點數(shù)指數(shù)以及尾數(shù)到低位寬浮點數(shù)的編碼。解碼時,將ieee754浮點數(shù)的[14:15-n]減去a再加上127作為ieee754浮點數(shù)的指數(shù),并在低位寬浮點數(shù)的低15-n位后補充n+7個0賦值給ieee754浮點數(shù)的尾數(shù),實現(xiàn)低位寬浮點數(shù)到ieee754浮點數(shù)的解碼。

以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進行了進一步詳細說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1