新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 虛擬儀器技術的進展及如何提升并行處理能力

        虛擬儀器技術的進展及如何提升并行處理能力

        作者: 時間:2012-10-24 來源:網(wǎng)絡 收藏

        newmaker.com
        圖7:使用多線程編程才能最大限度地利用多核處理器的性能

        然而,這對于許多習慣于開發(fā)單線程應用的開發(fā)者來說都是一個極大的挑戰(zhàn)。如果工程師使用的是基于文本的編程語言,如C語言,那么在進行多線程應用軟件的編寫時,需要專門的語義創(chuàng)建和管理線程,并且在線程安全方式下進行數(shù)據(jù)的傳送。

        而NI LabVIEW,就非常適合于創(chuàng)建并行的多線程應用。首先,相比文本編程語言的至上而下的順序結構,LabVIEW本身就是一種并行的編程結構;其次,早在LabVIEW 5.0時LabVIEW就已經支持多線程,在LabVIEW程序編寫完畢后,LabVIEW編譯器可以自動地識別線程并創(chuàng)建線程到不同的任務和循環(huán)上,再由OS分配到不同的核上運行(圖8)。而最新的LabVIEW 8.5更針對多核技術進行了全面的支持;此外,在實時操作系統(tǒng)中,用戶還可以自己分配特定的線程在特定的核上運行,如圖9所示。

        newmaker.com
        圖8:使用LabVIEW方便實現(xiàn)多線程編程

        newmaker.com
        圖9:LabVIEW 8.5允許用戶手動分配線程在指定的核上運行

        而且,隨著更多的核的運用,LabVIEW可以自動創(chuàng)建更多的線程來自動提升程序的性能。簡單來說,就是當你把測試系統(tǒng)的控制器升級為更多核的處理器時,不需要對程序做任何修改,測試系統(tǒng)就能自動達到更高的處理性能。

        因此說,多核處理器使用了并行拓撲架構可以提高處理能力,但利用真正的多線程編程語言,如LabVIEW,才可以輕松實現(xiàn)運算性能的真正提高。

        FPGA技術

        最初的一個重要特性就是可以使用軟件來定制硬件的功能。隨著LabVIEW作為并行化的編程語言的地位逐漸穩(wěn)固,它的應用也得到了不斷的擴展,并對強大的并行硬件技術FPGA提供了強有力的支持。

        通常來說,F(xiàn)PGA的軟件開發(fā)平臺是使用VHDL語言來實現(xiàn),但是這種語言需要很長的學習時間,并且也需要深厚的硬件技術背景,因此只有少數(shù)的一些專業(yè)人員掌握。隨著可編程硬件的需求日益增長,F(xiàn)PGA已成為一種主流的技術,這種趨勢需要能夠有方法降低FPGA編程的門檻,從而將FPGA技術帶給更多的工程師。

        LabVIEW的并行化的編程方式以及圖形化的編程環(huán)境可以允許工程師們能以直觀的方式來實現(xiàn)FPGA的邏輯功能。例如,使用LabVIEW,在FPGA中實現(xiàn)圖10所示的邏輯功能就變得相對簡單。

        newmaker.com
        圖10:使用LabVIEW實現(xiàn)FPGA邏輯功能

        當然,如果要搭建一個完整的測控平臺,還需要有很多不同的IO模塊來選擇。NI提供給工程師們完整的基于FPGA的商用型平臺以供選擇,讓工程師們能夠利用這一技術實現(xiàn)更高性能的測試應用。

        結論

        目前,已經根植于許多領域。PCI Express總線的高帶寬將的應用范圍擴展到更多新興的應用,從而使工程師們能夠在享受高通道、高采樣率的好處的同時,又可根據(jù)自身需要靈活定制相關功能;利用真正的多線程編程語言,如LabVIEW,可以輕松實現(xiàn)多核并行運算性能的真正提高;隨著LabVIEW并行化的編程語言的快速發(fā)展,工程師們可以靈活地根據(jù)待測單元、軟件或者是測試需求的變化來對硬件進行重新配置,從而對FPGA提供了強有力的支持。

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 秭归县| 潢川县| 鹤山市| 措勤县| 鹤岗市| 明溪县| 盖州市| 汉寿县| 甘肃省| 丹凤县| 武功县| 潞西市| 乐都县| 枣强县| 嘉兴市| 建宁县| 苏尼特左旗| 江北区| 治县。| 长垣县| 邵武市| 富锦市| 平乡县| 同心县| 南昌县| 奎屯市| 莒南县| 金堂县| 达拉特旗| 安岳县| 南京市| 云浮市| 伊金霍洛旗| 千阳县| 托克托县| 确山县| 韶山市| 乐业县| 蒲江县| 梓潼县| 溆浦县|