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

基于浮點(diǎn)運(yùn)算單元的基本超越函數(shù)運(yùn)算方法及其協(xié)處理器的制作方法

文檔序號(hào):6369470閱讀:598來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):基于浮點(diǎn)運(yùn)算單元的基本超越函數(shù)運(yùn)算方法及其協(xié)處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及利用浮點(diǎn)運(yùn)算單元完成基本超越函數(shù)運(yùn)算的技術(shù)領(lǐng)域,特別是三角和反三角函數(shù),雙曲函數(shù),指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的計(jì)算,并實(shí)現(xiàn)了基于該方法的協(xié)處理器。
背景技術(shù)
求解基本超越函數(shù)是科學(xué)計(jì)算和工程應(yīng)用中最重要的運(yùn)算。特別是在方程求解、 數(shù)值分析、概率統(tǒng)計(jì)、計(jì)算機(jī)圖形學(xué)、數(shù)字信號(hào)處理、機(jī)器視覺(jué)、人工智能等領(lǐng)域中被廣泛使用。但是基本超越函數(shù)計(jì)算過(guò)程復(fù)雜,運(yùn)算速度低,特別是硬件不易實(shí)現(xiàn)。因此,實(shí)現(xiàn)一種易于硬件實(shí)現(xiàn)的高性能基本超越函數(shù)運(yùn)算的方法成為近年來(lái)的研究熱點(diǎn)。常用的硬件實(shí)現(xiàn)基本超越函數(shù)的方法有三類(lèi)查表法、級(jí)數(shù)近似法和逐位迭代法。查表法是最直接的函數(shù)求值方法,適用于低精度計(jì)算,隨著計(jì)算精度的提高,ROM容量的需求成指數(shù)增長(zhǎng),不適合進(jìn)行高精度函數(shù)計(jì)算;級(jí)數(shù)近似法通常采用Taylor級(jí)數(shù)的展開(kāi)形式進(jìn)行多次迭代,該方法計(jì)算量大、速度慢,對(duì)于一個(gè)接近于I的參數(shù)需要很長(zhǎng)的迭代步驟,而且對(duì)于不同的超越函數(shù)需要不用的硬件分別實(shí)現(xiàn);逐位迭代法用簡(jiǎn)單的以為和加法運(yùn)算的迭代為基礎(chǔ),實(shí)現(xiàn)簡(jiǎn)單,是硬件實(shí)現(xiàn)超越函數(shù)最常用的方法,但它的線性收斂非常慢,而且每次迭代都以前次迭代的結(jié)果為基礎(chǔ),不能有效的并行實(shí)現(xiàn)。隨著IC技術(shù)的發(fā)展,作為高效的硬件算法,逐位迭代法在電路硬件實(shí)現(xiàn)中的應(yīng)用越來(lái)越多。從功能模塊公用的角度,最好的逐位迭代法是CORDIC (Coordinate RotationDigital Computer)算法。CORDIC 算法由 J. E. Voider 于 1959 年提出(J. E. Voider, “TheCORDIC trigonometric computing technique”),它的基本概念以二維幾何學(xué)為基礎(chǔ)。它是一種用于計(jì)算數(shù)學(xué)函數(shù)的循環(huán)迭代算法,其基本思想是用一系列只與運(yùn)算基數(shù)相關(guān)的角度的不斷偏轉(zhuǎn),從而逼近所需旋轉(zhuǎn)的角度。由于偏轉(zhuǎn)角度至于計(jì)算的基數(shù)有關(guān),這一算法只需要進(jìn)行移位和加法運(yùn)算。傳統(tǒng)的CORDIC算法根據(jù)不同的旋轉(zhuǎn)軌跡分成圓周系統(tǒng)、雙曲系統(tǒng)和線性系統(tǒng),每種系統(tǒng)又有旋轉(zhuǎn)模式和向量模式。為了能計(jì)算更多的函數(shù),J. S. Walther于1971 年提出了 CORDIC 算法的擴(kuò)展和統(tǒng)一形式(J. S. Walther, “A unified algorithm forelementary functions”),將三種系統(tǒng)統(tǒng)一到同一個(gè)迭代方程組中
權(quán)利要求
1.一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,將CORDIC算法分解成函數(shù)運(yùn)算控制和浮點(diǎn)計(jì)算兩個(gè)部分;其中,函數(shù)運(yùn)算控制分為五個(gè)步驟譯碼、前處理、迭代運(yùn)算控制、后處理和函數(shù)運(yùn)算控制,函數(shù)運(yùn)算控制部分完成CORDIC算法的運(yùn)算控制功能;浮點(diǎn)計(jì)算支持浮點(diǎn)數(shù)的求絕對(duì)值、加/減、乘、除、開(kāi)方和比較運(yùn)算,并且浮點(diǎn)計(jì)算中用到的通用寄存器可被函數(shù)運(yùn)算控制模塊讀寫(xiě)。
2.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,函數(shù)運(yùn)算控制中的譯碼步驟完成接收和譯碼函數(shù)運(yùn)算指令,將函數(shù)運(yùn)算指令譯碼為正弦、余弦、正切、反正弦、反余弦、反正切、雙曲正弦、雙曲余弦、雙曲正切、對(duì)數(shù)和指數(shù)函數(shù)指令碼,譯碼結(jié)果送給前處理、迭代運(yùn)算和后處理部分。
3.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,函數(shù)運(yùn)算控制中的前處理步驟根據(jù)接收到的譯碼后的函數(shù)運(yùn)算指令,通過(guò)向浮點(diǎn)計(jì)算單元發(fā)送浮點(diǎn)運(yùn)算指令并配合前處理內(nèi)運(yùn)算完成迭代初始數(shù)據(jù)的計(jì)算和輸入控制;前處理步驟通過(guò)內(nèi)部運(yùn)算和發(fā)送浮點(diǎn)運(yùn)算指令完成如下運(yùn)算 (1)在進(jìn)行三角函數(shù)sin9、cos 0或tan 9計(jì)算時(shí),需要完成如下運(yùn)算if ( Q〈O)
4.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,函數(shù)運(yùn)算控制中的迭代運(yùn)算步驟根據(jù)接收到的譯碼后的函數(shù)運(yùn)算指令,通過(guò)向浮點(diǎn)計(jì)算單元發(fā)送浮點(diǎn)運(yùn)算指令并配合迭代運(yùn)算步驟內(nèi)運(yùn)算完成CORDIC算法的迭代運(yùn)算過(guò)程;迭代運(yùn)算步驟通過(guò)內(nèi)部運(yùn)算和發(fā)送浮點(diǎn)運(yùn)算指令完成如下運(yùn)算 (I)根據(jù)譯碼單元發(fā)送的指令,確定所計(jì)算函數(shù)對(duì)應(yīng)于圓周系統(tǒng)或雙曲系統(tǒng),工作模式屬于向量模式或雙曲模式;根據(jù)所確定的系統(tǒng)和模式,給定m的初值以及0 i的計(jì)算公式; (2)判定迭代循環(huán)次數(shù)i大于循環(huán)上限時(shí),跳出循環(huán),輸出結(jié)果;或者,在旋轉(zhuǎn)模式時(shí)Qi小于所設(shè)閾值或者在向量模式時(shí)Yi小于所設(shè)閾值,跳出循環(huán),輸出結(jié)果;其中,所設(shè)閾值為保證函數(shù)計(jì)算結(jié)果的精度; (3)旋轉(zhuǎn)模式時(shí)%〈0,Oi=-I5COiX), 0 尸1 ;向量模式時(shí) yi〈0,Oi=I ;Yi>0, Oi=-I; (4)根據(jù)之前得到的0i和前處理單元得到的X(l、y0和Oci完成迭代運(yùn)算
5.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,函數(shù)運(yùn)算控制中后處理步驟根據(jù)接收到的譯碼后的函數(shù)運(yùn)算指令,通過(guò)向浮點(diǎn)計(jì)算單元發(fā)送浮點(diǎn)運(yùn)算指令并配合后處理單元內(nèi)運(yùn)算得到函數(shù)運(yùn)算的輸出結(jié)果;后處理步驟通過(guò)內(nèi)部運(yùn)算和發(fā)送浮點(diǎn)運(yùn)算指令完成如下運(yùn)算(1)在進(jìn)行三角函數(shù)sin0、cos 0或tan 0計(jì)算時(shí),需要將迭代運(yùn)算得到的xi+1和yi+1乘以縮放因子
6.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法,其特征在于,函數(shù)運(yùn)算控制中函數(shù)運(yùn)算控制根據(jù)接收到的譯碼后的函數(shù)運(yùn)算指令,控制譯碼、前處理、迭代和后處理依次順序進(jìn)行函數(shù)運(yùn)算,并在函數(shù)運(yùn)算完成后發(fā)出完成運(yùn)算信號(hào)。
7.根據(jù)權(quán)利要求I所述的一種使用浮點(diǎn)運(yùn)算單元實(shí)現(xiàn)CORDIC算法完成基本超越函數(shù)運(yùn)算的方法設(shè)計(jì)實(shí)現(xiàn)的一種基本超越函數(shù)協(xié)處理器,其特征在于包括函數(shù)運(yùn)算控制模塊和浮點(diǎn)計(jì)算單元;其中,函數(shù)運(yùn)算控制模塊包括譯碼單元、前處理單元、迭代運(yùn)算單元、后處理單元和函數(shù)運(yùn)算控制單元,譯碼單元、前處理單元、迭代運(yùn)算單元、后處理單元和函數(shù)運(yùn)算控制單元分別完成權(quán)利要求2、3、4、5、6所述的運(yùn)算和控制功能,完成CORDIC算法的計(jì) 算控制;浮點(diǎn)計(jì)算單元至少包括絕對(duì)值、加/減、乘、除、開(kāi)方和比較指令單元,并且浮點(diǎn)計(jì)算單元中的通用寄存器可被函數(shù)運(yùn)算控制模塊讀寫(xiě)。
全文摘要
本發(fā)明提供一種基于浮點(diǎn)運(yùn)算單元的基本超越函數(shù)運(yùn)算方法及其協(xié)處理器;該方法將CORDIC算法分解成函數(shù)運(yùn)算控制和浮點(diǎn)計(jì)算兩個(gè)部分;函數(shù)運(yùn)算控制部分完成CORDIC算法的運(yùn)算控制功能;浮點(diǎn)計(jì)算支持浮點(diǎn)數(shù)的求絕對(duì)值、加/減、乘、除、開(kāi)方和比較運(yùn)算,并且浮點(diǎn)計(jì)算中用到的通用寄存器可被函數(shù)運(yùn)算控制模塊讀寫(xiě)。傳統(tǒng)方法都要根據(jù)需求重新設(shè)計(jì)實(shí)現(xiàn)專(zhuān)用數(shù)學(xué)函數(shù)計(jì)算部件,控制和結(jié)構(gòu)復(fù)雜、硬件資源消耗大。本發(fā)明通過(guò)增加一個(gè)結(jié)構(gòu)簡(jiǎn)單的函數(shù)運(yùn)算控制模塊,可以在已有浮點(diǎn)運(yùn)算單元的基礎(chǔ)上利用已有浮點(diǎn)運(yùn)算指令實(shí)現(xiàn)超越函數(shù)運(yùn)算,其結(jié)構(gòu)簡(jiǎn)單、易于實(shí)現(xiàn)和應(yīng)用、能夠支持三角和反三角函數(shù),雙曲函數(shù),指數(shù)函數(shù)和對(duì)數(shù)函數(shù)的計(jì)算。
文檔編號(hào)G06F7/57GK102722469SQ20121016899
公開(kāi)日2012年10月10日 申請(qǐng)日期2012年5月28日 優(yōu)先權(quán)日2012年5月28日
發(fā)明者季翔, 張少愚, 張斌, 楊玉辰, 梅魁志, 殷浩, 董培祥, 鄭南寧 申請(qǐng)人:西安交通大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
齐河县| 汽车| 隆林| 北流市| 侯马市| 织金县| 利津县| 常州市| 西城区| 廉江市| 赫章县| 双江| 樟树市| 石渠县| 靖远县| 大名县| 前郭尔| 民勤县| 应城市| 湛江市| 吴旗县| 南昌县| 图片| 潮安县| 海晏县| 金华市| 佛冈县| 临桂县| 阜康市| 徐闻县| 巢湖市| 平度市| 商都县| 阳泉市| 深泽县| 连平县| 洛南县| 芮城县| 将乐县| 聊城市| 金溪县|