<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 學(xué)習(xí)方法與實(shí)踐 > 定點(diǎn)dsp與浮點(diǎn)dsp的比較

          定點(diǎn)dsp與浮點(diǎn)dsp的比較

          ——
          作者: 時(shí)間:2007-12-27 來源:嵌入式系統(tǒng)IC網(wǎng) 收藏
              運(yùn)算DSP在應(yīng)用中已取得了極大的成功,而且仍然是DSP應(yīng)用的主體。然而,隨著對(duì)DSP處理速度與精度、存儲(chǔ)器容量、編程的靈活性和方便性要求的不斷提高、自80年代中后期以來,各DSP生產(chǎn)廠家陸續(xù)推出了各自的32bit運(yùn)算DSP。

              和運(yùn)算DSP相比,運(yùn)算DSP具有許多優(yōu)越性:

              運(yùn)算DSP比運(yùn)算DSP的動(dòng)態(tài)范圍要大很多。定點(diǎn)DSP的字長每增加1bit,動(dòng)態(tài)范圍擴(kuò)大6dB。16bit字長的動(dòng)態(tài)范圍為96dB。程序員必須時(shí)刻關(guān)注溢出的發(fā)生。例如,在作圖像處理時(shí),圖像作旋轉(zhuǎn)、移動(dòng)等,就很容易產(chǎn)生溢出。這時(shí),要么不斷地移位定標(biāo),要么作截尾。前者要耗費(fèi)大量的程序空間和執(zhí)行時(shí)間,后者則很快帶來圖像質(zhì)量的劣化??傊?,是使整個(gè)系統(tǒng)的性能下降。在處理低信噪比信號(hào)的場(chǎng)合,例如進(jìn)行語音識(shí)別、雷達(dá)和聲納信號(hào)處理時(shí),也會(huì)發(fā)生類似的問題。而32bit浮點(diǎn)運(yùn)算DSP的動(dòng)態(tài)范圍可以作到1536dB,這不僅大大擴(kuò)大了動(dòng)態(tài)范圍,提高了運(yùn)算精度,還大大節(jié)省了運(yùn)算時(shí)間和存儲(chǔ)空間,因?yàn)榇蟠鬁p少了定標(biāo),移位和溢出檢查。 

              由于浮點(diǎn)DSP的浮點(diǎn)運(yùn)算用硬件來實(shí)現(xiàn),可以在單周期內(nèi)完成,因而其處理速度大大高于定點(diǎn)DSP。這一優(yōu)點(diǎn)在實(shí)現(xiàn)高精度復(fù)雜算法時(shí)尤為突出,為復(fù)雜算法的實(shí)時(shí)處理提供了保證。

              32bit浮點(diǎn)DSP的總線寬度較定點(diǎn)DSP寬得多,因而尋址空間也要大得多。這一方面為大型復(fù)雜算法提供了可能、因?yàn)槭〉腄SP目標(biāo)子程序已使用到幾十MB存儲(chǔ)器或更多;另一方面也為高級(jí)語言編譯器、DSP操作系統(tǒng)等高級(jí)工具軟件的應(yīng)用提供了條件。

              DSP的進(jìn)一步發(fā)展,必然是多處理器的應(yīng)用。新型的浮點(diǎn)DSP已開始在通信口的設(shè)置和強(qiáng)化、資源共享等方面有所響應(yīng)。 
          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();