999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DSP運算方法研究

2011-07-02 05:44:14武乾文
電子與封裝 2011年7期
關鍵詞:指令程序

武乾文,馮 妍

(中國電子科技集團公司第58研究所,江蘇 無錫,214035)

1 前言

DSP(Digital Signal Processor)芯片,也稱數字信號處理器,是專門為快速實現各種數字信號處理算法而設計的、具有特殊結構、進行高速實時處理的專用微處理器,其處理速度要比最快的CPU還快10~50倍。DSP的典型特征有:每個處理周期能夠處理多條乘加操作,具有實時運算能力、實時仿真能力和實時模擬能力,具有很強的通用性、很高的可靠性同時造價低廉。

隨著信息技術革命的深入和計算機技術的飛速發展,數字信號處理技術已經逐漸發展成為一門關鍵的技術學科。業內人士預言,DSP將是未來集成電路中發展最快的電子產品,它將徹底變革人們的工作、學習和生活方式。通過DSP運算方法研究,可以更好地了解DSP結構。

2 DSP的發展及應用

1982年,世界誕生了首枚商用D S P芯片TMS32010,它每秒能處理500萬個指令(5 MIPS)。上世紀80年代中期,基于CMOS技術的第二代TMS320C20、TMS320C25 DSP芯片也應運而生,它的存儲容量和運算速度都成倍提高,成了圖像、語音處理的基礎芯片。

上世紀90年代是DSP發展最為迅猛的時期,這主要表現在運算速度進一步加快,集成度進一步提高,功能越來越強大,應用領域越來越廣泛。1988年TI公司推出首款浮點DSP——TMS320C3X。1989年TI公司推出業界性能最高的定點DSP產品TMS320C5X。1990年TI公司推出第二代DSP架構的浮點DSP產品TMS320C4X。在1996年TI公司推出TMS320F240。TMS320C6000系列是TI公司于上世紀90年代中后期推出的新一代DSP產品,它們是定點、浮點兼容的DSP序列,TI公司的浮點DSP C6713,頻率250MHz,浮點性能1.3GFLOPS。

全球DSP供應商主要是幾家美國公司,如德州儀器(TI)、朗訊、模擬器件公司(ADI)、摩托羅拉等等。其中TI處于絕對領先的地位,占據了整個市場份額的45%,其余幾家所占份額分別是28%、12%、12%,而其他國家的企業只占到3%。

近10年來,全球DSP產品向著高性能、低功耗、加強融合和拓展多種應用的趨勢發展,DSP芯片成為各種電子產品尤其是通信類電子產品的技術核心。據TI預測,到2012年,DSP芯片在單個芯片內將能集成6億只晶體管。目前,對DSP爆炸性需求的時代已經來臨,其主要應用前景十分可觀。

3 DSP結構及主要特點

早期的微處理器采用馮·諾依曼(Vo n-Neumann)結構,如圖1所示,其片內程序空間和數據空間合在一起,取指令和取操作數都通過一條總線分時進行。當高速運算時,容易出現瓶頸。

DSP芯片的內部采用程序和數據分開的哈佛結構,如圖2所示。它允許同時取指令(來自程序存儲器)和取操作數(來自數據存儲器),而且允許在程序空間和數據空間相互傳送數據。具有專門的硬件乘法器,廣泛采用流水線操作,提供特殊的DSP指令,可以用來快速實現各種數字信號處理算法。

圖1 馮·諾依曼(Von-Neumann)結構

圖2 哈佛(Harvard)結構

根據數字信號處理的要求,DSP芯片一般具有如下主要特點:

(1)在一個指令周期內可完成一次乘法和一次加法;

(2)程序和數據空間分開,可以同時訪問指令和數據;

(3)片內具有快速RAM,通常可通過獨立的數據總線在兩塊中同時訪問;

(4)具有低開銷或無開銷循環及跳轉的硬件支持;

(5)快速的中斷處理和硬件I/O支持;

(6)具有在單周期內操作的多個硬件地址產生器。

4 DSP 核心運算功能測試

4.1 DSP數值表示方法

在定點DSP芯片中,采用定點數進行數值運算,其操作數一般采用整型數來表示。一個整型數的最大表示范圍取決于DSP芯片所給定的字長,一般為16位或24位。顯然,字長越長,所能表示的數的范圍越大,精度也越高。以下以16位字長為例。

DSP芯片的數以2的補碼形式表示。每個16位數用一個符號位來表示數的正負,0表示數值為正,1則表示數值為負。其余15位表示數值的大小。因此二進制數0010000000000011b=8195,二進制數1111111111111100b=-4。

對DSP芯片而言,參與數值運算的數就是16位的整型數。但在許多情況下,數學運算過程中的數不一定都是整數。其中的關鍵就是由程序員來確定一個數的小數點處于16位中的哪一位。這就是數的定標。

通過設定小數點在16位數中的不同位置,就可以表示不同大小和不同精度的小數了。數的定標有Q表示法和S表示法兩種。表1列出了一個16位數的16種Q表示、S表示及它們所能表示的十進制數值范圍。

表1 Q表示、S表示及數值范圍

從表1可以看出,同樣一個16位數,若小數點設定的位置不同,它所表示的數也就不同。例如:16進制數2000H,用Q0表示則等于8192,用Q15表示則等于0.25。

但對于DSP芯片來說,處理方法是完全相同的。

從表1還可以看出,不同的Q所表示的數不僅范圍不同,而且精度也不相同。Q越大,數值范圍越小,但精度越高;相反,Q越小,數值范圍越大,但精度就越低。例如,Q0的數值范圍是-32768到+32767,其精度為1,而Q15的數值范圍為-1到0.9999695,精度為 1/32768 = 0.00003051。因此,對定點數而言,數值范圍與精度是一對矛盾,一個變量要想能夠表示比較大的數值范圍,必須以犧牲精度為代價;而想提高精度,則數的表示范圍就相應地減小。

4.2 DSP乘法

硬件乘法器是DSP的重要組成部分。乘法速度越快,DSP處理器的性能就越高。在通用的微處理器中,乘法指令是由一系列加法來實現的,故需許多個指令周期來完成。相比而言,DSP芯片的特征就是有一個專用的硬件乘法器。在TMS320系列中,由于具有專用的硬件乘法器,乘法可在一個指令周期內完成。主要指令有:

其中三條指令用來將乘數裝入到乘法器電路(LT)、移動數據(DMOV)以及將乘法結果(存在乘積寄存器P中)加到ACC中(APAC)。在典型的通用微處理器中,每個乘法需要30 ~ 40個指令周期,而TMS32010只需4條指令。如果采用特殊的DSP指令或采用 TMS320C6201等新一代的DSP芯片,可進一步降低乘法的計算時間。

兩個定點數相乘時可以分為下列三種情況:(1)小數乘小數

兩個Q15的小數相乘后得到一個Q30的小數,即有兩個符號位。一般情況下相乘后得到的滿精度數不必全部保留,只需保留16位單精度數。由于相乘后得到的高16位不滿15位的小數精度,為了達到15位精度,可將乘積左移1位,下面是上述乘法的程序:

(2)整數乘整數

(3)混合表示法

許多情況下,運算過程中為了既滿足數值的動態范圍又保證一定的精度,就必須采用Q0與Q15之間的表示法。比如,數值1.2345,顯然Q15無法表示,而若用Q0表示,則最接近的數是1,精度無法保證。因此,數1.2345最佳的表示法是Q14。

Q14的最大值不大于2,因此,兩個Q14數相乘得到的乘積不大于4。當了解到上述乘積不會大于1.8,就可以用Q14數表示乘積,而不是理論上的最佳情況Q13。程序如下:

上述方法為了保證精度均對乘的結果舍位,結果所產生的誤差相當于減去1個LSB(最低位)。采用簡單的舍入方法,可使誤差減少二分之一。

4.3 DSP加法

乘的過程中,測試程序可不考慮溢出而只需調整運算中的小數點。而加法則是一個更加復雜的過程。首先,加法運算必須用相同的Q點表示;其次,程序員或者允許其結果有足夠的高位以適應位的增長,或者必須準備解決溢出問題。如果操作數僅為16位長,其結果可用雙精度數表示。下面說明16位數相加的兩種途徑。

(1)保留32位結果

(2)調整小數點保留16位結果

加法運算最可能出現的問題是運算結果溢出。部分DSP提供了檢查溢出的專用指令BV,此外,使用溢出保護功能可使累加結果溢出時累加器飽和為最大的整數或負數。當然即使如此,運算精度還是大大降低。因此,最好的方法是完全理解基本的物理過程并注意選擇數的表達方式。

4.4 DSP除法

在通用DSP芯片中,一般不提供單周期的除法指令,為此必須采用除法子程序來實現。二進制除法是乘法的逆運算。乘法包括一系列的移位和加法,而除法可分解為一系列的減法和移位。下面來說明除法的實現過程。

設累加器為8位,且除法運算為10除以3。除的過程就是除數逐步移位并與被除數比較的過程,在每一步進行減法運算,如果能減則將位插入商中。

由于DSP沒有專門的除法指令,使用條件減指令SUBC可以完成有效靈活的除法功能。使用這一指令的唯一限制是兩個操作數必須為正。程序員必須事先了解其可能的運算數的特性,如其商是否可以用小數表示及商的精度是否可被計算出來。這里每一種考慮可影響如何使用SUBC指令的問題。

與DIV_A相同,這個程序中,分子在NUMERA中,分母在DENOM中,商存在QUOT中,TEMSGN為暫存單元。FRAC中規定商的精度,如商的精度為Q13,則調用程序前FRAC單元中的值應為13。

5 結論

本文簡要介紹DSP的計算原理和方法,根據其運算原理,可以直接編寫匯編指令生成測試向量。DSP直流參數與交流參數的測試相對簡單,與普通邏輯電路相同,這里就不再詳細介紹。

[1] 蘇濤,等. DSP實用技術[M].西安:西安電子科技大學出版社,2002.

[2] 劉益成. TMS320C54x DSP應用程序設計與開發[M].北京:北京航空航天大學出版社,2002.

[3] TMS320C54x Instruction Set Simulator Technical Overview(Rev.A)(spru598a.pdf)[P].Texas Instruments.

[4] TMS320C54x DSP Programmer’s Guide(spru538.pdf) [P].Texas Instruments, 2001.

[5] TMS320C54x DSP Applications Guide Reference Set Volume 4(spru173.htm) [P].Texas Instruments, 1996.

猜你喜歡
指令程序
聽我指令:大催眠術
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
殺毒軟件中指令虛擬機的脆弱性分析
電信科學(2016年10期)2016-11-23 05:11:56
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
一種基于滑窗的余度指令判別算法
主站蜘蛛池模板: 亚洲无码免费黄色网址| 一级成人a毛片免费播放| 久久综合五月| 精品视频在线一区| 亚洲妓女综合网995久久| 国产在线观看人成激情视频| 一区二区三区精品视频在线观看| 久久精品免费看一| 中文字幕免费播放| 国产在线观看99| 色综合国产| 国产在线精彩视频二区| 高潮爽到爆的喷水女主播视频 | 黄片在线永久| 亚洲天堂自拍| 国产一级在线播放| 日韩欧美一区在线观看| 亚洲乱码在线播放| 亚洲制服丝袜第一页| 午夜性刺激在线观看免费| 中文字幕人成人乱码亚洲电影| 欧美不卡视频在线| 四虎精品黑人视频| 欧美性猛交xxxx乱大交极品| 国内黄色精品| 日本五区在线不卡精品| 国产91精品调教在线播放| 久久动漫精品| 青青草原国产av福利网站| 国产性猛交XXXX免费看| 亚洲精品国产乱码不卡| 久久精品电影| 波多野结衣亚洲一区| 亚洲天堂啪啪| 国产高清在线观看91精品| 国产午夜小视频| 综合网天天| 这里只有精品在线播放| 久久伊人久久亚洲综合| 91综合色区亚洲熟妇p| 最新国产麻豆aⅴ精品无| 伊人色天堂| 黄色网页在线观看| 亚洲AV无码精品无码久久蜜桃| 日韩精品高清自在线| 呦系列视频一区二区三区| 777午夜精品电影免费看| 国产第一页亚洲| 精品人妻系列无码专区久久| 无码aaa视频| 亚洲视频欧美不卡| 国产福利不卡视频| 国产在线视频二区| 亚洲国产成人在线| 又黄又湿又爽的视频| 91精品久久久久久无码人妻| 国产欧美中文字幕| 激情视频综合网| 精品1区2区3区| 色AV色 综合网站| 久久频这里精品99香蕉久网址| 国产精品无码影视久久久久久久 | 国产在线观看一区精品| 免费在线色| 久久综合色天堂av| 国产1区2区在线观看| 麻豆国产精品视频| 国产一级二级三级毛片| 久久这里只有精品国产99| 国产一在线观看| 中文字幕在线观| 欧美v在线| 久青草免费在线视频| 澳门av无码| 亚洲日韩精品欧美中文字幕| 91久久偷偷做嫩草影院精品| 色综合网址| 手机永久AV在线播放| 91精品视频在线播放| 欧美在线综合视频| 园内精品自拍视频在线播放| 欧美色视频在线|