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

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 通過LabVIEW優(yōu)化多核環(huán)境下的信號處理性能

          通過LabVIEW優(yōu)化多核環(huán)境下的信號處理性能

          作者: 時(shí)間:2010-07-21 來源:網(wǎng)絡(luò) 收藏

            環(huán)境下的編程挑戰(zhàn)

            摩爾定律問世40余年來,人們業(yè)已看到半導(dǎo)體芯片制造工藝水平以一種令人目眩的速度在提高,Intel微處理器的最高主頻甚至超過了4G。雖然主頻的提升一定程度上提高了程序運(yùn)行效率,但越來越多的問題也隨之出現(xiàn),耗電、散熱都成為阻礙設(shè)計(jì)的瓶頸所在,芯片成本也相應(yīng)提高。當(dāng)單獨(dú)依靠提高主頻已不能實(shí)現(xiàn)性能的高效率時(shí),雙核乃至多核成為了提高性能的唯一出路。隨著AMD率先打破摩爾定律、終結(jié)頻率游戲后,Intel和AMD都開始逐步推出了基于雙核、四核甚至八核的處理器,工程師們逐漸投入到基于的新型應(yīng)用開發(fā)中去時(shí),大家開始發(fā)現(xiàn),借助這些新的,并在應(yīng)用開發(fā)中利用并行編程技術(shù),可以實(shí)現(xiàn)最佳的性能和最大的吞吐量,大大提高應(yīng)用程序的運(yùn)行效率。

            然而,業(yè)界專家們也同時(shí)認(rèn)識到,對于實(shí)際的編程應(yīng)用,多核處理器的并行編程卻是一個(gè)巨大的挑戰(zhàn)。比爾蓋茨是這樣論述的:

            “要想充分利用并行工作的處理器的威力,…軟件必須能夠處理并發(fā)性問題。但正如任何一位編寫過多線程代碼的開發(fā)者告訴你的那樣,這是編程領(lǐng)域最艱巨的任務(wù)之一?!?/P>

            比如用C++寫一個(gè)多線程的程序,程序員必須要非常熟悉 C++,了解如何將C++程序分成多個(gè)線程和并在各個(gè)線程間進(jìn)行任務(wù)調(diào)度,此外還要了解 Windows 多線程的機(jī)制,熟悉 Windows API 的調(diào)用方法和MFC 的架構(gòu)等等。在 C++ 上調(diào)試多線程程序,更是被很多程序員視為噩夢。

            所以,對于測試測量行業(yè)的工程師來說,在傳統(tǒng)開發(fā)環(huán)境下要想獲得多核下的效率提升意味著大量而復(fù)雜的多線程編程任務(wù),而使得工程師脫離了自動化測試及其任務(wù)本身,于是,要想在當(dāng)前的多核機(jī)器上充分利用其架構(gòu)和并行運(yùn)算的優(yōu)勢,反而成為工程師們“不可能”完成的任務(wù)。

            降低并行編程的復(fù)雜性,快速開發(fā)并行構(gòu)架的應(yīng)用

            幸運(yùn)的是,NI 圖形化開發(fā)平臺為我們提供了一個(gè)理想的多核處理器編程環(huán)境。作為一種并行結(jié)構(gòu)的編程語言,能將多個(gè)并列的程序分支自動分配成多個(gè)線程并分派到各個(gè)處理核上,讓一些計(jì)算量較大的數(shù)學(xué)運(yùn)算或應(yīng)用得以提高運(yùn)行效率,并獲取最佳性能。

            我們以自動化測試中最常見的多通道信號處理分析為例。由于多通道中的頻率分析是一項(xiàng)占用處理器資源較多的操作,如果能夠讓程序并行地將每個(gè)通道的信號處理任務(wù)分配至多個(gè)處理器核,對于提高程序執(zhí)行速度來說,就顯得尤為重要。而目前,從LabVIEW編程人員的角度來看,要想獲得這一原本“不可能”的技術(shù)優(yōu)勢,唯一需要改變的只是算法結(jié)構(gòu)的細(xì)微調(diào)整,而并不需要復(fù)雜且耗時(shí)耗力的代碼重建工作。

            以雙通道采樣為例,我們需要分別對高速數(shù)字化儀的兩個(gè)通道上的數(shù)據(jù)進(jìn)行快速傅立葉變換(FFT)。假設(shè)我們采用的高速數(shù)字化儀的兩個(gè)通道均以100 MS/s采樣率采集信號并實(shí)時(shí)分析。首先,我們來看LabVIEW中對于這一操作的傳統(tǒng)順序編程模型。

          利用順序執(zhí)行的LabVIEW代碼

            圖1. 利用順序執(zhí)行的LabVIEW代碼


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: LabVIEW 多核處理器 信號處理

          評論


          相關(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); })();