<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

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

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

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

  降低并行編程的復雜性,快速開(kāi)發(fā)并行構架的應用

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

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

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

利用順序執行的LabVIEW代碼

  圖1. 利用順序執行的LabVIEW代碼


上一頁(yè) 1 2 3 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>