當前位置:首頁 > 測試測量 > 測試測量
[導讀]  編譯程序設計是一個復雜的話題,即使對內行的軟件工程師來說也要考慮很多專業(yè)知識?! I LabVIEW軟件是一種多規(guī)范的圖形化編程環(huán)境,含有多種概念,包括數據流,面向對象,以及事件驅動編程。LabVIEW也是跨越多

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

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

  LabVIEW編譯程序處理過程

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

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

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

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

  

 

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

  DFIR能夠為LabVIEW編譯程序提供兩種可觀的優(yōu)勢:

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

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

  DFIR分解與優(yōu)化

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

  

 

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

  

 

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

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

  

 

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

  

 

  圖 5. 一次執(zhí)行產生優(yōu)化的 DFIR圖表

  DFIR后端變換

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

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

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

  DFIR與LLVM協同工作

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

  – Chris Wood

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

  – Craig Smith

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉