新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 高速數據流盤處理:編程與標定

        高速數據流盤處理:編程與標定

        作者: 時間:2009-04-13 來源:網絡 收藏

        數據流盤應用的最優(yōu)方法

        應用從單線程到多線程架構的演進被廣泛認為是重大的編程挑戰(zhàn)。LabVIEW為多核處理器提供了一個理想的編程環(huán)境,因為LabVIEW應用在本質上是多線程的。因而,LabVIEW編程人員通過幾乎很少甚至無需額外的編碼,便可以從多核處理器獲益。多線程應用程序非常適用于并行測試和數據流盤應用,而且,在流處理應用中運用適當的編程技術,可以使 儀器發(fā)揮最大性能,這是通過代碼的并行化完成的。

        同樣,并行機制還可以應用于創(chuàng)建數據流盤應用或從計算機處理器獲取最大性能。在流盤應用中,兩個主要占用總線和處理器的任務是:1)從數字化儀采集數據,和2)將數據寫入到文件中。由于這一點是事先知道的,所以進程可以劃分為多個循環(huán)。利用LabVIEW隊列機構,每個循環(huán)間實現(xiàn)了數據共享。通常,這被稱為一個生產者-消費者算法結構。



        圖2:帶有隊列結構的生產者/消費者循環(huán)架構。

        在上例中,上面的循環(huán)(生產者)從一個高速數字化儀中采集數據,并將其傳遞至一個隊列。下面的循環(huán)(消費者)從隊列中讀取數據并將其寫入到磁盤。在后臺,LabVIEW為隊列在PC中分配一個存儲塊。該存儲器模塊被用作兩個循環(huán)間數據傳遞的臨時存儲FIFO。對于大多數編程語言,多個進程間的存儲器共享要求不菲的編程開銷。然而,LabVIEW處理了所有的存儲器訪問,以確保讀-寫競爭狀況不會發(fā)生。隊列結構的執(zhí)行可以通過下圖可視化展示:


        圖3:對列結構的數據流編程模型。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 秦安县| 宁蒗| 平江县| 苗栗市| 扎囊县| 新田县| 庆元县| 波密县| 新疆| 禄丰县| 辛集市| 老河口市| 普兰县| 张北县| 岐山县| 关岭| 彩票| 庆阳市| 贡嘎县| 浦县| 增城市| 哈尔滨市| 皋兰县| 蒙阴县| 扬中市| 黄大仙区| 西藏| 桑植县| 乌审旗| 忻州市| 洛扎县| 衡水市| 许昌县| 娄烦县| 常山县| 大邑县| 吉隆县| 张家川| 津南区| 西盟| 阜新|