《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > LabVIEW編譯程序設計
LabVIEW編譯程序設計
摘要: 編譯程序設計是一個復雜的話題,即使對內行的軟件工程師來說也要考慮很多專業知識。NILabVIEW軟件是一種多規范的圖形化編程環境,含有多種概念,包括數據流,面向對象,以及事件驅動編程。
Abstract:
Key words :

  編譯程序設計是一個復雜的話題,即使對內行的軟件工程師來說也要考慮很多專業知識。

  NI LabVIEW軟件是一種多規范的圖形化編程環境,含有多種概念,包括數據流,面向對象,以及事件驅動編程。LabVIEW也是跨越多種平臺的,能夠很好地用于多種操作系統(OSs),芯片組,嵌入式設備,以及現場可編程門陣列(FPGAs)。LabVIEW編譯程序是一種精密的系統,在過去的20年中具有令人矚目的發展。探索NI公司的LabVIEW編譯程序的處理過程以及近來編譯程序的創新。

  LabVIEW編譯程序處理過程

  首先一個VI的編譯是類的擴展,主要負責將隱含的類解析為適于終端輸出與檢查句法錯誤的類型。在類擴展之后,VI從編輯模型轉化為可以被編譯程序使用的數據流中間表示(DFIR)圖表。編譯程序執行幾種變換,例如在DFIR圖表分解過程中的死碼刪除,優化,并為代碼生成做好準備。DFIR接下來被轉化成底層的虛擬機(LLVM)中間表示(IR),有關IR的一系列掃描被運行,以利于更進一步的優化與底層化——最終——變為機器碼。

  DFIR提供一種高級的中間表示

  DFIR是一種分級的,結構圖代碼的,基于圖表的IR。類似于G代碼,DFIR包含很多具有端點的節點,能夠與其它端點相連。一些節點,例如框圖,含有圖表,這些圖表也可以依此類推地包含其它節點。

  圖1顯示了一個簡單VI的最初DFIR。當LabVIEW首次為VI創建一個DFIR時,這是一種G代碼的直接翻譯,DFIR圖表中的節點具有像G 代碼中節點一樣的一對一的對應性。隨著編譯程序的執行,DFIR節點有可能被移動,部分分離,或者是增加,然而編譯程序將仍然保留原有的特性,例如 LabVIEW代碼中固有的并行特性。

  

 
查看一個簡單VI 的初始 DFIR 圖表 www.elecfans.com

  圖 1. 查看一個簡單VI 的初始 DFIR 圖表

  DFIR能夠為LabVIEW編譯程序提供兩種可觀的優勢:

  1. DFIR將編輯程序從編譯程序的表示中分離——在DFIR出現以前,LabVIEW具有一個單獨的VI表示,由編輯程序和編譯程序共享。這樣在編譯過程中,阻止了編譯程序修改表示,也會使引入編譯程序優化很困難。DFIR引入了一系列的優化與分解措施,能夠極大地提高LabVIEW代碼的性能,僅要求結構圖節點與連線被斷開并可以移動。

  2. DFIR作為多個編譯程序的前段與后段的公用連接點——今天,LabVIEW能處理很多明顯不同的任務。類似地,LabVIEW也為用戶提供了多種算法模式,例如LabVIEW MathScript,C一體化,仿真圖表,以及狀態表(statecharts)。DFIR提供了一種常用IR,它由前端生成而由后端使用,使不同組合的重新使用更加便利。

  DFIR分解與優化

  一旦進入DFIR,VI運行一系列的分解變換,來縮減或標準化DFIR圖表。在DFIR圖表徹底分解后,DFIR優化掃描開始。有超過30種分解與優化能夠提高LabVIEW代碼的性能。請仔細查看圖2和3顯示的簡單VI,它被稱為Trim Whitespace VI(Trim Whitespace.vi),來自vi.lib。

  

 
2.png

  圖 2. 這是任意 DFIR分解前的 VI

  

 
Trim Whitespace.vi 結構圖的定義 www.elecfans.com

  圖 3. 上面是Trim Whitespace.vi 結構圖的定義

  首先,Trim Whitespace.vi被內聯到調用VI,如圖4所示?,F在,不可達代碼與死碼刪除運算可以簡化代碼。第一個條件結構將總是執行相同的分支,因為輸入的是一個恒定值。因此,其余的分支可以同整個第二個條件結構一起移走,因為它們從不執行。循環不變式代碼移動將匹配模式基元(Match Pattern primitive)移出循環框,確保其只被執行一次,如圖5所示。

  

 

  圖 4. subVI內聯到調用程序,導致一個 DFIR圖表等價于該 G代碼

  

 
5.png

  圖 5. 一次執行產生優化的 DFIR圖表

  DFIR后端變換

  在DFIR圖表被分解與優化后,后端變換開始執行。這些變換評估并注解DFIR圖表,為最終將DFIR圖表降低為LLVM IR做好準備。聚叢程序負責將節點歸為簇,這些簇可以并行運行。替代程序識別何時分配的數據可以重新使用,何時必須制作副本。在替代程序運行后,分配程序預留出VI執行所需的內存空間。最后,編碼發生器負責將DFIR圖表轉化為可執行的機器指令用于目標處理器。

  LLVM提供一種底層的中間表示

  LLVM是一種多用途,高性能,源代碼開放的構架,原來是伊利諾斯州州立大學的作為研究項目而發明的。LLVM因為其靈活性,簡潔的API以及不受許可的限制,被廣泛用于學術研究與工業生產。在LabVIEW 2010版本,LabVIEW編碼生成器使用LLVM來生成目標機器碼。在從DFIR圖表創建編碼流后,LabVIEW訪問每個指令并創建一個等價的 LLVM表示。軟件會激活多種優化掃描,最終,LLVM準時制(JIT)構架在內存中創建可執行的機器指令?,F在LabVIEW可以使用LLVM來執行指令綜合,跳變線程,聚合標量替代(scalar replacement of aggregates),條件擴展,尾端調用刪除,循環不變代碼移出,死碼刪除以及循環展開。

  DFIR與LLVM協同工作

  DFIR是高級的IR具有并行性,而LLVM是底層IR,具有目標機器特性的認知,二者協同工作以優化開發者為處理器結構而編寫的LabVIEW代碼,它們能夠在處理器上被執行。

  – Chris Wood

  Chris Wood是NI公司LabVIEW方面的傳感器軟件工程師。他擁有德克薩斯A&M大學計算機工程專業的學士學位。

  – Craig Smith

  Craig Smith是NI公司的首席軟件工程師。他擁有德克薩斯A&M大學計算機科學專業的學士與碩士學位。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲精品一区二区三区99| 亚洲国产精品欧美一二99| 午夜欧美精品久久久久久久| 亚洲一区一卡| 99国产精品国产精品久久| 久久精品91久久久久久再现| 久久躁日日躁aaaaxxxx| 国产精品a久久久久| 欧美经典一区二区| 久久久欧美精品sm网站| 欧美日韩的一区二区| 久久综合九色综合久99| 久久亚洲私人国产精品va媚药| 黑人中文字幕一区二区三区| 久久爱www久久做| 欧美在线视频观看免费网站| 亚洲免费成人av| 亚洲欧美伊人| 性亚洲最疯狂xxxx高清| 亚洲女优在线| 久久国产主播精品| 欧美金8天国| 亚洲综合色丁香婷婷六月图片| 激情成人综合网| 久久天堂成人| 久久综合一区| 久久丁香综合五月国产三级网站| 欧美午夜不卡在线观看免费| 欧美日韩日韩| 亚洲欧美国产制服动漫| 久久成人综合视频| 国产一区二区三区黄视频| 国产精品久久毛片a| 欧美韩国日本综合| 国产精品中文字幕在线观看| 国产欧美精品日韩| 精品91久久久久| 国产亚洲视频在线观看| 欧美一级大片在线免费观看| 国产模特精品视频久久久久| 精东粉嫩av免费一区二区三区| 欧美日韩在线亚洲一区蜜芽| 韩国av一区二区三区在线观看| 欧美一区二区大片| 老司机免费视频一区二区三区| 久久国产精品亚洲77777| 国产精品毛片在线看| 亚洲国产经典视频| 日韩一区二区免费高清| 99成人精品| 久久国产精品久久w女人spa| 亚洲一区二区免费| 久久高清福利视频| 蜜月aⅴ免费一区二区三区| 欧美日韩亚洲三区| 久久中文久久字幕| 亚洲免费人成在线视频观看| 欧美亚洲免费电影| 国产亚洲一区精品| 久久久久久久久久久一区| 国产精品久久久久久亚洲调教| 亚洲大胆人体视频| 欧美精品免费视频| 国产精品国产三级国产aⅴ9色| 亚洲已满18点击进入久久| 亚洲视频在线一区| 亚洲欧美日韩中文视频| 国产精品久久99| 国产精品白丝黑袜喷水久久久| 国产在线欧美日韩| 亚洲一区在线免费观看| 亚洲男女自偷自拍图片另类| 亚洲欧美激情精品一区二区| 欧美乱在线观看| 狠狠狠色丁香婷婷综合久久五月| 国产精品欧美激情| 在线观看91精品国产入口| 亚洲欧美日韩一区| 国产日韩一级二级三级| 99精品视频免费观看| 一区二区三区欧美亚洲| 欧美成人精品1314www| 国产一区二区日韩精品欧美精品| 欧美日韩成人一区二区| 久久精品国产2020观看福利| 亚洲欧美一区二区三区久久| 亚洲国产精品一区| 欧美成人一区在线| 在线观看视频免费一区二区三区| 欧美三级日本三级少妇99| 免费久久久一本精品久久区| 亚洲一区二区成人在线观看| 国产伦精品一区二区三区视频孕妇| 欧美性猛交99久久久久99按摩| 日韩亚洲精品在线| 亚洲美女av电影| 久久精品一区二区三区中文字幕| 午夜精品久久| 国产精品成人在线观看| 欧美精品v日韩精品v国产精品| 欧美三级在线视频| 狠狠色伊人亚洲综合成人| 欧美一区免费| 99综合视频| 亚洲一区图片| 在线成人av网站| 影音先锋亚洲电影| 国内成+人亚洲+欧美+综合在线| 欧美一站二站| 亚洲欧美日本精品| 亚洲色图制服丝袜| 国产欧美日韩在线播放| 国产精品视频大全| 麻豆国产va免费精品高清在线| 亚洲欧美日韩国产精品| 欧美成人在线网站| 亚洲欧洲综合另类在线| 欧美伊人久久久久久午夜久久久久| 久久精品五月婷婷| 黄色成人在线免费| 亚洲九九精品| 亚洲国产美女久久久久| 久久久亚洲成人| 亚洲欧美日韩中文播放| 好吊妞这里只有精品| 在线不卡中文字幕播放| 欧美一区二粉嫩精品国产一线天| 欧美日韩一区二区精品| 在线观看中文字幕不卡| 国产精品高清一区二区三区| 亚洲高清在线播放| 欧美一区2区三区4区公司二百| 在线播放中文一区| 亚洲欧美日韩成人高清在线一区| 一区二区三区四区五区精品视频| 在线观看欧美日韩| 亚洲毛片网站| 玉米视频成人免费看| 国产欧美日韩视频在线观看| 亚洲国产精品日韩| 久久天堂国产精品| 欧美中文字幕精品| 亚洲午夜激情免费视频| 国产精品人人做人人爽| 在线电影国产精品| 国产午夜精品理论片a级探花| 亚洲欧美日韩在线综合| 久久精品国产99国产精品澳门| 欧美另类极品videosbest最新版本| 日韩性生活视频| 亚洲国产精品视频| 亚洲美女黄网| 久久久久久久综合| 日韩视频免费观看| 国产午夜精品久久久久久免费视| 欧美伊人精品成人久久综合97| 先锋影院在线亚洲| 亚洲无限乱码一二三四麻| 久久精品免费观看| 亚洲欧美日韩国产综合| 国产免费观看久久| 亚洲国产精品一区制服丝袜| 亚洲最新在线视频| 国产精品免费网站在线观看| 国产欧美日韩精品丝袜高跟鞋| 一区二区三欧美| 国产精品国产三级国产专播精品人| 在线视频成人| 一区二区三区高清视频在线观看| 久久精品国产精品亚洲综合| 国产日产高清欧美一区二区三区| 国产精品综合色区在线观看| 久久精品一本久久99精品| 麻豆成人综合网| 亚洲视频1区| 久久久噜噜噜久久中文字免| 巨胸喷奶水www久久久免费动漫| 亚洲国产va精品久久久不卡综合| 午夜视频久久久久久| 欧美日韩国产三区| 国产精品免费一区豆花| 国产精品夜色7777狼人| 亚洲精品在线观看视频| 久久久久久久久久久久久女国产乱| 欧美精品日韩| av成人黄色| 老鸭窝亚洲一区二区三区| 欧美了一区在线观看| 国产精品h在线观看| 亚洲欧洲日本在线| 亚洲人午夜精品免费| 亚洲国产aⅴ天堂久久| 国产亚洲亚洲| 国产精品xxxav免费视频| 欧美性视频网站| 国产精品看片你懂得| 美国成人直播| 亚洲青色在线| 欧美专区日韩视频| 国产精品一区二区三区观看| 久久综合九色综合网站| 国产欧美一区二区三区在线看蜜臀| 欧美在线综合| 亚洲免费黄色| 欧美成人精品影院| 久久aⅴ乱码一区二区三区| 男女精品网站| 亚洲男女毛片无遮挡| 国产一区二区三区在线观看网站| 亚洲一区二三| 久久久久久久一区二区三区| 亚洲视频免费看| 国产日韩欧美中文在线播放| 亚洲在线中文字幕| 亚洲午夜91| 欧美视频二区| 玖玖国产精品视频| 黄色免费成人| 午夜精品久久久久久久久久久久久| 久久国产精品99精品国产| 久久午夜色播影院免费高清| 亚洲伊人第一页| 国产日韩综合| 99视频精品在线| 欧美国内亚洲| 玖玖视频精品| 欧美精品久久久久a| 亚洲欧美日韩中文在线制服| 久久综合久久综合久久综合| 亚洲女女女同性video| 亚洲免费在线视频一区 二区| 午夜久久美女| 欧美伦理91i| 国产亚洲欧美色| 亚洲高清色综合| 国产欧美在线视频| 国产精品欧美久久| 欧美一区成人| 亚洲免费视频成人| 欧美日韩黄色一区二区| 一区二区免费在线播放| 国产精品久久久久毛片大屁完整版| 亚洲在线不卡| 久久久噜噜噜久久久| 老司机午夜免费精品视频| 国产一区久久久| 黄色国产精品一区二区三区| 一区二区三区视频免费在线观看| 久热精品视频在线观看| 香蕉久久久久久久av网站| 性亚洲最疯狂xxxx高清| 欧美日本韩国一区| 国产精品久久久久9999高清| 国产欧美在线视频| 欧美看片网站| 亚洲精品少妇网址| 欧美在线观看一区二区三区| 久久综合九色综合网站| 久久精品亚洲一区二区三区浴池| 国产欧美日韩视频一区二区| 欧美日韩一区在线视频| 欧美亚洲一区二区在线观看| 性高湖久久久久久久久| 亚洲成人资源网| 99精品热6080yy久久| 一个色综合av| 国产欧美日韩一区二区三区在线| 亚洲精品乱码久久久久久蜜桃91| 国产精品女主播在线观看| 精品动漫av| 欧美日韩精品二区第二页| 亚洲精品日韩综合观看成人91| 国产精品综合久久久| 久久午夜色播影院免费高清| 亚洲精品久久久一区二区三区| 夜夜嗨av一区二区三区网站四季av| 国产精品一级二级三级| 免费h精品视频在线播放| 久久婷婷成人综合色| 国模套图日韩精品一区二区| 一本久久综合亚洲鲁鲁五月天| 欧美日韩一区二区免费视频| 久久综合九色综合网站| 久久成年人视频| 国产综合色一区二区三区| 亚洲综合精品一区二区| 国产日本欧美一区二区| 久久久午夜精品| 玖玖视频精品| 国产亚洲欧美一级| 亚洲中字黄色| 亚洲国产高清aⅴ视频| 国产日产欧美一区| 你懂的国产精品永久在线| 夜夜嗨一区二区| 国产一区二区黄| 欧美激情精品久久久久久久变态| 欧美另类极品videosbest最新版本| 欧美一区中文字幕| 欧美精品二区三区四区免费看视频| 欧美丝袜一区二区三区| 免费成人高清| 欧美日韩精品一区二区三区四区| 亚洲日本免费| 国产精品亚发布| 久久综合久久88| 久久亚洲综合色一区二区三区| 欧美另类极品videosbest最新版本| 有坂深雪在线一区| 亚洲第一狼人社区| 亚洲欧洲日本一区二区三区| 国产精品天美传媒入口| 亚洲福利视频一区二区| 99一区二区| 亚洲三级网站| 欧美成人影音| 你懂的亚洲视频| 欧美美女福利视频| 亚洲精选中文字幕| 亚洲第一福利社区| 午夜精品久久久久久久男人的天堂| 亚洲欧美中日韩| 快射av在线播放一区| 一区二区三区蜜桃网| 麻豆久久久9性大片| 亚洲欧美日韩天堂| 亚洲欧美国内爽妇网| 亚洲电影观看|