虛擬儀器技術(shù)的進(jìn)展及如何提升并行處理能力
圖7:使用多線程編程才能最大限度地利用多核處理器的性能
而NI LabVIEW,就非常適合于創(chuàng)建并行的多線程應(yīng)用。首先,相比文本編程語言的至上而下的順序結(jié)構(gòu),LabVIEW本身就是一種并行的編程結(jié)構(gòu);其次,早在LabVIEW 5.0時(shí)LabVIEW就已經(jīng)支持多線程,在LabVIEW程序編寫完畢后,LabVIEW編譯器可以自動(dòng)地識別線程并創(chuàng)建線程到不同的任務(wù)和循環(huán)上,再由OS分配到不同的核上運(yùn)行(圖8)。而最新的LabVIEW 8.5更針對多核技術(shù)進(jìn)行了全面的支持;此外,在實(shí)時(shí)操作系統(tǒng)中,用戶還可以自己分配特定的線程在特定的核上運(yùn)行,如圖9所示。
圖8:使用LabVIEW方便實(shí)現(xiàn)多線程編程
圖9:LabVIEW 8.5允許用戶手動(dòng)分配線程在指定的核上運(yùn)行
因此說,多核處理器使用了并行拓?fù)浼軜?gòu)可以提高處理能力,但利用真正的多線程編程語言,如LabVIEW,才可以輕松實(shí)現(xiàn)運(yùn)算性能的真正提高。
FPGA技術(shù)
虛擬儀器技術(shù)最初的一個(gè)重要特性就是可以使用軟件來定制硬件的功能。隨著LabVIEW作為并行化的編程語言的地位逐漸穩(wěn)固,它的應(yīng)用也得到了不斷的擴(kuò)展,并對強(qiáng)大的并行硬件技術(shù)FPGA提供了強(qiáng)有力的支持。
通常來說,F(xiàn)PGA的軟件開發(fā)平臺(tái)是使用VHDL語言來實(shí)現(xiàn),但是這種語言需要很長的學(xué)習(xí)時(shí)間,并且也需要深厚的硬件技術(shù)背景,因此只有少數(shù)的一些專業(yè)人員掌握。隨著可編程硬件的需求日益增長,F(xiàn)PGA已成為一種主流的技術(shù),這種趨勢需要能夠有方法降低FPGA編程的門檻,從而將FPGA技術(shù)帶給更多的工程師。
LabVIEW的并行化的編程方式以及圖形化的編程環(huán)境可以允許工程師們能以直觀的方式來實(shí)現(xiàn)FPGA的邏輯功能。例如,使用LabVIEW,在FPGA中實(shí)現(xiàn)圖10所示的邏輯功能就變得相對簡單。
圖10:使用LabVIEW實(shí)現(xiàn)FPGA邏輯功能
結(jié)論
目前,虛擬儀器技術(shù)已經(jīng)根植于許多領(lǐng)域。PCI Express總線的高帶寬將虛擬儀器技術(shù)的應(yīng)用范圍擴(kuò)展到更多新興的應(yīng)用,從而使工程師們能夠在享受高通道、高采樣率的好處的同時(shí),又可根據(jù)自身需要靈活定制相關(guān)功能;利用真正的多線程編程語言,如LabVIEW,可以輕松實(shí)現(xiàn)多核并行運(yùn)算性能的真正提高;隨著LabVIEW并行化的編程語言的快速發(fā)展,工程師們可以靈活地根據(jù)待測單元、軟件或者是測試需求的變化來對硬件進(jìn)行重新配置,從而對FPGA提供了強(qiáng)有力的支持。
評論