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

采用dma控制器進(jìn)行數(shù)據(jù)歸一化處理的方法

文檔序號:6341213閱讀:416來源:國知局
專利名稱:采用dma控制器進(jìn)行數(shù)據(jù)歸一化處理的方法
技術(shù)領(lǐng)域
本發(fā)明涉及到數(shù)據(jù)處理領(lǐng)域,特別涉及采用直接存儲器存取DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法。
背景技術(shù)
對于很多算法,需要使用最大精度的計算確保正確結(jié)果。例如,當(dāng)使用一個非常小的小數(shù)時,也許會在累加器中沒有足夠二進(jìn)制數(shù)字去準(zhǔn)確的表示。這種情況下,就需要用到歸一化處理解決這類問題,歸一化處理是把一個數(shù)縮放到已知的數(shù)量級。歸一化數(shù)據(jù)的小數(shù)點(diǎn)左邊沒有有效數(shù)字。在一個累加器中一個歸一化數(shù)據(jù)包含一個符號位和規(guī)定位寬個數(shù)據(jù)位,一個被歸一化的數(shù)據(jù),保存其原來的數(shù)量級,計算被執(zhí)行后,結(jié)果能被重新調(diào)整為原來的數(shù)量級。在硬件算術(shù)運(yùn)算過程中,輸入數(shù)據(jù)位寬會因為運(yùn)算過程中加、減、乘、除等操作過程中的擴(kuò)位(為了防止運(yùn)算中的溢出或數(shù)據(jù)精度保護(hù)),造成位寬的增加,引入一些不必要的冗余比特位(符號位和符號擴(kuò)展位)。為了盡可能保證定點(diǎn)數(shù)據(jù)的有效位數(shù),需要對其去除冗余比特位的操作,即數(shù)據(jù)歸一化處理。通過處理減少符號擴(kuò)展位并把符號位擴(kuò)展到定點(diǎn)位寬的最高位,使得其余數(shù)據(jù)位均為有效數(shù)據(jù)位,提高后續(xù)運(yùn)算的精度,同時減少不必要的緩存位寬。一個歸一化數(shù)據(jù)是指其小數(shù)點(diǎn)左邊,沒有有意義的數(shù)字位,S卩小數(shù)點(diǎn)左邊的位只包含符號位和符號擴(kuò)展位。如圖1所示,一個沒有歸一化的數(shù)據(jù),第一個有效位在21位,在其左邊所有的位都是符號和符號擴(kuò)展位。通過歸一化,左移10位,減少符號擴(kuò)展位長度并把符號位擴(kuò)展到31位,最高有效位在30為。(以二進(jìn)制移位,移位后數(shù)據(jù)以16進(jìn)制表示,數(shù)據(jù)表示相對于移位前可能會發(fā)生變化)。以上過程即為數(shù)據(jù)處理中的歸一化過程,在數(shù)據(jù)運(yùn)算過程中應(yīng)用相當(dāng)廣泛。在算術(shù)運(yùn)算過程中,根據(jù)不同運(yùn)算要求,歸一化處理過程可能不止一次,歸一化方案也不僅相同在多大的數(shù)值范圍內(nèi)統(tǒng)計出一個奇異樣本數(shù)據(jù)(指是相對其他輸入樣本特別大或特別小的樣本矢量),奇異樣本數(shù)據(jù)采用最大值、最小值或統(tǒng)計范圍的均值,是否參照以前數(shù)值變化的移位值等,形成不同的歸一化處理方法。DMA控制器廣泛應(yīng)用于各種芯片中,其主要功能是按照指令將數(shù)據(jù)從某一存儲空間讀取,然后寫入另一存儲空間(此過程通常被稱為數(shù)據(jù)傳輸)。芯片中采用了 DMA控制器的技術(shù)后,將由DMA控制器控制數(shù)據(jù)的傳輸過程,加快了數(shù)據(jù)的傳輸速度,如果是具有中央處理器(簡稱為CPU)的芯片,則將大大減輕CPU的運(yùn)行負(fù)荷。如圖2所示,現(xiàn)有的一種歸一化處理(技術(shù)方案1)的實現(xiàn)基本流程如下步驟一、在算術(shù)運(yùn)算過程中,根據(jù)每次計算出來的結(jié)果數(shù)據(jù)與上一次數(shù)據(jù)進(jìn)行比較,統(tǒng)計出奇異樣本數(shù)據(jù);步驟二、判斷是否對設(shè)定的統(tǒng)計范圍內(nèi)數(shù)據(jù)統(tǒng)計完畢。是則根據(jù)最后統(tǒng)計出的奇異樣本數(shù)據(jù),求出最高有效數(shù)據(jù)位為X,并緩存,進(jìn)入步驟三;否則繼續(xù)步驟一;
步驟三、對當(dāng)前輸入數(shù)據(jù)第二次進(jìn)行算法運(yùn)算,對每次計算出來的結(jié)果數(shù)據(jù),根據(jù)緩存的最高有效數(shù)據(jù)位X,進(jìn)行歸一化處理,并將結(jié)果數(shù)據(jù)緩存到存儲器中或輸入下一個模塊;步驟四、判斷數(shù)據(jù)是否處理完畢,是則結(jié)束運(yùn)算;否則繼續(xù)處理。本方案求出歸一化因子的過程,一般是在數(shù)據(jù)計算的最后才能統(tǒng)計得出,使得在存儲之前做歸一化會帶來求歸一化處理因子這一過程的單獨(dú)時間開銷。造成時間的浪費(fèi)。如圖3所示,現(xiàn)有的另一種歸一化處理(技術(shù)方案2)的實現(xiàn)基本流程如下步驟一、在算術(shù)運(yùn)算過程中,根據(jù)每次計算出來的結(jié)果數(shù)據(jù)與上一次數(shù)據(jù)進(jìn)行比較,統(tǒng)計出奇異樣本數(shù)據(jù);同時將本次計算結(jié)果數(shù)據(jù)緩存到存儲器中;步驟二、判斷是否對設(shè)定的統(tǒng)計范圍內(nèi)數(shù)據(jù)統(tǒng)計完畢。是則根據(jù)最后統(tǒng)計出的奇異樣本數(shù)據(jù),求出最高有效數(shù)據(jù)位為X,并緩存,進(jìn)入步驟三;否則繼續(xù)步驟一;步驟三、讀出緩存存儲器中的數(shù)據(jù),并根據(jù)χ值進(jìn)行歸一化,同時輸出或繼續(xù)緩存。因為存儲器的讀操作的過程,需要滿足存儲器規(guī)定的時鐘要求,即在一個時鐘內(nèi)輸出規(guī)定地址上的數(shù)據(jù)。本方案在讀過程加上了歸一化的操作,改邏輯或加大整個過程的時延,導(dǎo)致時序不滿足。會造成讀出數(shù)據(jù)到下一步操作(存儲或輸出)的時序比較緊,為了滿足以后工藝的提高,該方法存在很大的局限性。

發(fā)明內(nèi)容
為解決以上問題,本發(fā)明提出一種采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法,將原來歸一化的方法進(jìn)行分解處理,一部分在算術(shù)運(yùn)算過程中完成,一部分在DMA搬數(shù)的過程中完成,以達(dá)到運(yùn)算處理速度的高速和讀數(shù)據(jù)時序要求。本發(fā)明一種采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法,包括算術(shù)運(yùn)算處理步驟和搬數(shù)歸一化處理步驟;所述搬數(shù)歸一化處理步驟,如圖4所示,包括步驟11 根據(jù)算術(shù)運(yùn)算處理輸出的歸一化移位因子,配置DMA控制器中歸一化變位比特寄存器的值;同時配置搬數(shù)控制寄存器所述搬數(shù)控制寄存器包括搬數(shù)長度寄存器、搬數(shù)源地址寄存器、搬數(shù)目的地址寄存器和搬數(shù)歸一化使能寄存器;步驟12 :DMA控制器通過讀數(shù)控制,從數(shù)據(jù)源存儲器中讀出原始位寬數(shù)據(jù),存入DMA內(nèi)部緩存寄存器中;步驟13 根據(jù)歸一化變位比特寄存器的值,進(jìn)行數(shù)據(jù)歸一化處理,得到變位后位寬數(shù)據(jù);步驟14 將變位后位寬數(shù)據(jù)送入目的地址存儲;步驟15 =DMA控制器根據(jù)搬數(shù)控制寄存器判斷是否搬數(shù)完畢,若是,發(fā)出DMA搬數(shù)中斷信號,否則,重復(fù)步驟11-15。本發(fā)明通過在算術(shù)運(yùn)算過程中求出歸一化移位因子,但不做歸一化處理而直接存儲結(jié)果數(shù)據(jù),然后再在搬數(shù)過程中做歸一化輸出,送入目的存儲地址。使得整個算術(shù)處理過程可以達(dá)到完全流水操作,減少了現(xiàn)有技術(shù)中因先求歸一化因子后再做算術(shù)運(yùn)算流水這一過程帶來的求歸一化因子這一時間開銷。并且,本發(fā)明充分利用了 DMA控制器的本身搬數(shù)處理功能,只需增加一個幾bit位寬(根據(jù)歸一化變位比特因子的大小而定)的歸一化變位比特寄存器和Ibit的歸一化搬數(shù)使能位,即可完成歸一化搬數(shù)操作,使得本發(fā)明可以在沒有帶來更多額外開銷的情況下,縮減了整個算術(shù)處理的時間開銷,提高了硬件運(yùn)算處理效率。


圖1為現(xiàn)有技術(shù)歸一化一個小的負(fù)數(shù)處理示意圖;圖2為現(xiàn)有技術(shù)方案1歸一化處理方法流程圖;圖3為現(xiàn)有技術(shù)方案2歸一化處理方法流程圖;圖4為本發(fā)明采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的搬數(shù)歸一化處理方法流程圖;圖5為本發(fā)明歸一化處理截位過程的數(shù)據(jù)為正數(shù)的處理實例示意圖;圖6為本發(fā)明采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法整體流程圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法作進(jìn)一步詳細(xì)說明。移動通信系統(tǒng)中信號檢測過程,在上下行鏈路中,均要根據(jù)信道沖激響應(yīng)和接收數(shù)據(jù)進(jìn)行大量的算法運(yùn)算,得到發(fā)送端信號估計。算術(shù)運(yùn)算可能導(dǎo)致輸入數(shù)據(jù)位寬變化,在小數(shù)點(diǎn)左邊有多位符號和符號擴(kuò)展位,典型的,例如32bit位寬的復(fù)數(shù),通過運(yùn)算后位寬變?yōu)?4bit,因為后面過程需要的有效數(shù)據(jù)位寬是32bit,所以需要進(jìn)行歸一化處理,減少符號擴(kuò)展位并把符號位擴(kuò)展到最高位第31位,使得有效數(shù)據(jù)位是0-30位。當(dāng)然,本發(fā)明對于將64bit位寬歸一化為32bit也同樣適用。本發(fā)明的采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法,包括算術(shù)運(yùn)算處理步驟和搬數(shù)歸一化處理步驟所述算術(shù)運(yùn)算處理步驟,如圖6所示,經(jīng)過算術(shù)運(yùn)算后,數(shù)據(jù)位寬發(fā)生變化,輸出變化后位寬的數(shù)據(jù)并存儲于數(shù)據(jù)源存儲器,并輸出最大值的最高有效數(shù)據(jù)位,具體處理過程如下所示步驟101 將原始位寬的數(shù)據(jù)(如32bit數(shù)據(jù))輸入算術(shù)運(yùn)算模塊,進(jìn)行算術(shù)運(yùn)算處理;步驟102 算術(shù)運(yùn)算處理后,每個輸入數(shù)據(jù)對應(yīng)的結(jié)果數(shù)據(jù)輸出(如輸出64bit位寬,實部為高32bit,虛部為低32bit),將其結(jié)果數(shù)據(jù)輸出并存儲到數(shù)據(jù)源存儲器中;同時,在每次輸出時,將本次結(jié)果數(shù)據(jù)實部、虛部的絕對值最大值與上次緩存的最大值進(jìn)行比較,得出最大值并緩存;進(jìn)入步驟103 ;步驟103 判斷是否完成對全部輸入數(shù)據(jù)的處理(即,完成最后一個輸出數(shù)據(jù)的存儲,以及在整個結(jié)果數(shù)據(jù)范圍內(nèi)統(tǒng)計出最大值并緩存),是,則進(jìn)入步驟104,否則,繼續(xù)步驟 101 ;步驟104 根據(jù)步驟102得出的最大值(奇異樣本輸出),分別判斷得出該最大值(為所有結(jié)果數(shù)據(jù)的實部和虛部絕對值中統(tǒng)計出來的最大值)的最高有效數(shù)據(jù)位X(假設(shè)最高有效數(shù)據(jù)位χ為7,即32bit實部或虛部輸出結(jié)果,其第7bit為有效符號位,0-6bit為數(shù)據(jù)有效位);并將最高有效數(shù)據(jù)位χ輸出并緩存如相應(yīng)寄存器中;本發(fā)明將歸一化前的數(shù)據(jù)位寬稱為原始位寬數(shù)據(jù),將歸一化后的數(shù)據(jù)稱為變位后位寬數(shù)據(jù),所述搬數(shù)歸一化處理步驟,是將數(shù)據(jù)從源存儲器搬移到目的存儲器,并在搬數(shù)過程中將原始位寬數(shù)據(jù)歸一化為變位后位寬數(shù)據(jù),通過歸一化實現(xiàn)位寬的變化。所述搬數(shù)歸一化處理步驟具體實現(xiàn)過程如下步驟201 根據(jù)步驟一輸出的歸一化移位因子X,配置DMA中歸一化變位比特寄存器的值,同時配置搬數(shù)控制寄存器;所述搬數(shù)控制寄存器包括長度寄存器、搬數(shù)源地址寄存器、搬數(shù)目的地址寄存器和搬數(shù)歸一化處理使能寄存器;步驟202 =DMA控制器通過讀數(shù)控制,從數(shù)據(jù)源存儲器中讀出原始位寬數(shù)據(jù)(例如64bit,高32bit為實部,低32bit為虛部),存入DMA內(nèi)部緩存寄存器中;步驟203 根據(jù)歸一化變位比特寄存器中的值,進(jìn)行數(shù)據(jù)歸一化處理,得到變位后位寬數(shù)據(jù);本實施例將歸一化變位比特寄存器中的值χ為7,顯然,也可以是其他值;所述數(shù)據(jù)歸一化處理過程為根據(jù)歸一化變位比特寄存器中的值X,將源數(shù)據(jù)的低X位的數(shù)據(jù)取出,而去掉其余比特位的過程,具體包括當(dāng)源數(shù)據(jù)為正數(shù)時,如圖5所示,如源數(shù)據(jù)是實部為32’ h 0000000a,虛部為32’ h00000305的64bit數(shù)據(jù)。其他數(shù)據(jù)處理類似。DMA中數(shù)據(jù)歸一化處理模塊對實部的[30……(χ+l)]的數(shù)據(jù)位進(jìn)行歸一化溢出判斷。若其各數(shù)據(jù)位均為0,即與第31bit的符號位相同,說明該數(shù)據(jù)不會發(fā)生歸一化溢出,則[X……0],X為7,共m^it為有效數(shù)據(jù)。不足16bit,在后面以0補(bǔ)足,生成數(shù)據(jù)16'hOaOO,見高32bit數(shù)據(jù)處理;若其個數(shù)據(jù)位不為全0,與符號位不同,說明會發(fā)生歸一化溢出,則取有效數(shù)據(jù)為溢出最大值16’ h7ffT,見低32bit數(shù)據(jù)的處理。完成歸一化截位處理后,將高16bit和第16bit數(shù)據(jù)拼接形成新的32bit數(shù)據(jù)32,h0a007fff送出。其中,[χ……0]表示低χ位的數(shù)據(jù)位。當(dāng)源數(shù)據(jù)為負(fù)數(shù)時,處理原理與正數(shù)相同,只是溢出值為16’ h8001。所述數(shù)據(jù)歸一化處理過程還包括了歸一化溢出判斷,即判斷源數(shù)據(jù)的數(shù)據(jù)位是否超出了歸一化輸出位寬所能表示的范圍,是則會發(fā)生歸一化溢出,即截掉源數(shù)據(jù)的數(shù)值部分,如上述過程的低32bit處理過程,此時將取歸一化輸出位寬所能表示的最大值作為該數(shù)據(jù)的保護(hù)值輸出,否則不做處理,此時直接將截取的數(shù)值并低位補(bǔ)0后輸出。步驟204 變位后位寬數(shù)據(jù)送入目的存儲器存儲;步驟205 :DMA控制內(nèi)部,根據(jù)相關(guān)寄存器判斷是否搬數(shù)完畢,是則,發(fā)出DMA搬數(shù)中斷信號,否則,重復(fù)步驟201-205.典型的,在步驟201之前,使能DMA控制器。典型的,如圖6所示,算術(shù)運(yùn)算處理輸入為32bit位寬的復(fù)數(shù),輸出為64bit位寬的結(jié)果數(shù)據(jù)和所求出的歸一化移位因子。該模塊輸出的結(jié)果數(shù)據(jù)存儲入數(shù)據(jù)源存儲器中,歸一化移位因子存儲入輸出寄存器;
當(dāng)搬數(shù)歸一化處理模塊收到算術(shù)運(yùn)算處理模塊發(fā)出的中斷信號后,根據(jù)歸一化移位因子寄存器中的值配置DMA中的歸一化變位比特寄存器;同時根據(jù)數(shù)據(jù)源存儲器的地址和存儲數(shù)據(jù)的長度,以及數(shù)據(jù)目的存儲器地址,配置DMA的相關(guān)搬數(shù)配置寄存器;相關(guān)配置寄存器配置完成后,啟動DMA搬數(shù),同時使能歸一化搬數(shù)功能位,進(jìn)行搬數(shù)歸一化處理;將歸一化處理后,位寬為32bit的數(shù)據(jù),存入數(shù)據(jù)目的存儲器中。搬數(shù)過程中,根據(jù)DMA中的搬數(shù)計數(shù)器的值與搬數(shù)長度配置寄存器中的值進(jìn)行比較,若搬數(shù)計數(shù)器的值等于或大于搬數(shù)長度配置寄存器中的值,則完成搬數(shù),并關(guān)閉DMA搬數(shù)使能;否則繼續(xù)搬數(shù)歸一化處理。本發(fā)明將原來歸一化的方法進(jìn)行分解處理,一部分在算術(shù)運(yùn)算過程中完成,一部分在DMA搬數(shù)的過程中完成,能夠達(dá)到運(yùn)算處理速度和讀數(shù)據(jù)時序的要求。本發(fā)明所舉實施方式或者實施例對本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)進(jìn)行了進(jìn)一步的詳細(xì)說明,所應(yīng)理解的是,以上所舉實施方式或者實施例僅為本發(fā)明的優(yōu)選實施方式而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)對本發(fā)明所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法,包括算術(shù)運(yùn)算處理步驟和搬數(shù)歸一化處理步驟,其特征在于,所述搬數(shù)歸一化處理步驟,包括步驟11 根據(jù)算術(shù)運(yùn)算處理輸出的歸一化移位因子,配置DMA控制器中歸一化變位比特寄存器的值,同時配置DMA搬數(shù)控制寄存器步驟12 :DMA控制器通過讀數(shù)控制,從數(shù)據(jù)源存儲器中讀出原始位寬數(shù)據(jù),存入DMA內(nèi)部緩存寄存器中;步驟13 根據(jù)歸一化變位比特寄存器的值,進(jìn)行數(shù)據(jù)歸一化處理,得到變位后位寬數(shù)據(jù);步驟14 將變位后位寬數(shù)據(jù)送入目的地址存儲;步驟15 :DMA控制器根據(jù)搬數(shù)控制寄存器判斷是否搬數(shù)完畢,若是,發(fā)出DMA搬數(shù)中斷信號,否則,重復(fù)步驟11-15。
2.根據(jù)權(quán)利要求1所述數(shù)據(jù)歸一化處理方法,其特征在于,所述搬數(shù)控制寄存器包括搬數(shù)長度寄存器、搬數(shù)源地址寄存器、搬數(shù)目的地址寄存器和搬數(shù)歸一化處理使能寄存器。
3.根據(jù)權(quán)利要求1所述數(shù)據(jù)歸一化處理方法,其特征在于,所述數(shù)據(jù)歸一化處理過程為根據(jù)歸一化變位比特寄存器中的值X,將源數(shù)據(jù)的低X位的數(shù)據(jù)取出,而去掉其余比特位的過程。
4.根據(jù)權(quán)利要求3所述數(shù)據(jù)歸一化處理方法,其特征在于,所述數(shù)據(jù)歸一化處理過程還包括了歸一化溢出判斷,即判斷源數(shù)據(jù)的數(shù)據(jù)位是否超出了歸一化輸出位寬所能表示的范圍,是則會發(fā)生歸一化溢出,即截掉源數(shù)據(jù)的數(shù)值部分,取歸一化輸出位寬所能表示的最大值作為該數(shù)據(jù)的保護(hù)值輸出,否則不做處理。
5.根據(jù)權(quán)利要求1所述數(shù)據(jù)歸一化處理方法,其特征在于,在所述步驟11之前,使能DMA控制器。
全文摘要
本發(fā)明提出一種采用DMA控制器進(jìn)行數(shù)據(jù)歸一化處理的方法,包括算術(shù)運(yùn)算處理步驟和搬數(shù)歸一化處理步驟,所述搬數(shù)歸一化處理步驟根據(jù)算術(shù)運(yùn)算處理輸出的歸一化移位因子,配置DMA控制器中歸一化變位比特寄存器的值,同時配置DMA搬數(shù)控制寄存器;DMA控制器通過讀數(shù)控制,從數(shù)據(jù)源存儲器中讀出原始位寬數(shù)據(jù),存入DMA內(nèi)部緩存寄存器中;根據(jù)歸一化變位比特寄存器的值,進(jìn)行數(shù)據(jù)歸一化處理,得到變位后位寬數(shù)據(jù);將變位后位寬數(shù)據(jù)送入目的地址存儲;若搬數(shù)完畢,則發(fā)出DMA搬數(shù)中斷信號,否則,重復(fù)以上過程;本發(fā)明使整個算術(shù)處理過程可完全流水操作,減少了時間開銷,并可以在沒有帶來更多額外開銷的情況下,提高硬件運(yùn)算處理效率。
文檔編號G06F13/28GK102567254SQ20101062159
公開日2012年7月11日 申請日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
發(fā)明者朱志輝, 王茜, 胡均浩 申請人:重慶重郵信科通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1