中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器

類型分類:
科普知識
數據分類:
線路板連接器

LabVIEW編譯器深層解析

發布日期:2022-04-27 點擊率:70 品牌:誒比_AB

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

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代碼中固有的并行特性。


圖 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. 這是任意 DFIR分解前的 VI


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

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


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


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

DFIR后端變換

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

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

LLVM是一種多用途,高性能,源代碼開放的構架,原來是伊利諾斯州州立大學的作為研究項目而發明的。LLVM因為其靈活性,簡潔的API以及不受許可的限制,被廣泛用于學術研究與工業生產。在LabVIEW 2010版本,LabVIEW編碼生成器使用LLVM來生成目標機器碼。在從DFIR圖表創建編碼流后,LabVIEW訪問每個指令并創建一個等價的LLVM表示。軟件會激活多種優化掃描,最終,LLVM準時制(JIT)構架在內存中創建可執行的機器指令。現在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大學計算機科學專業的學士與碩士學位。

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          欧美亚洲综合一区| √…a在线天堂一区| 国产日产欧美精品一区二区三区| 亚洲国产精品t66y| 久色婷婷小香蕉久久| 欧美自拍丝袜亚洲| 亚洲四区在线观看| 99久久久免费精品国产一区二区| 成人黄色在线视频| 久久久久久久久久久黄色| 亚洲欧美激情插| 99久久精品免费看| 亚洲欧美综合在线精品| 高清成人免费视频| 国产视频亚洲色图| 亚洲精品伦理在线| 色域天天综合网| 一区二区欧美国产| 91精品国产全国免费观看| 日韩一区二区麻豆国产| 捆绑变态av一区二区三区| 欧美成人猛片aaaaaaa| 日本特黄久久久高潮| 日韩欧美资源站| 天天影视网天天综合色在线播放| 欧美美女一区二区在线观看| 青青草原综合久久大伊人精品| 色系网站成人免费| 亚洲成av人在线观看| 欧美一区二区久久久| 成人性生交大片免费看中文| 日韩一区中文字幕| 欧美日本一区二区三区四区| 黄页网站大全一区二区| 国产精品乱码久久久久久| 色婷婷久久久综合中文字幕| 国产精品网站在线| 欧美一卡2卡三卡4卡5免费| 成人99免费视频| 青青草国产精品97视觉盛宴| 国产精品美日韩| 日韩区在线观看| 午夜精品久久久久久久久久| 中文字幕欧美激情一区| 99re这里只有精品6| 国产露脸91国语对白| 日韩不卡一区二区三区| 亚洲成a人在线观看| 一区二区三区四区av| 久久久高清一区二区三区| 欧美中文一区二区三区| 色综合欧美在线| 一二三区精品福利视频| 中文字幕欧美一| 国产欧美一区二区精品性色超碰 | 色88888久久久久久影院按摩 | 一本久道久久综合中文字幕| 成人中文字幕电影| 久久av资源站| 国产精一区二区三区| 国产乱码字幕精品高清av| 玉米视频成人免费看| 亚洲三级在线播放| 亚洲国产激情av| 欧美日本在线看| 日韩欧美资源站| 国产女同互慰高潮91漫画| 97久久精品人人澡人人爽| 91美女片黄在线观看91美女| 成a人片国产精品| 在线成人高清不卡| 久久免费看少妇高潮| 亚洲美女视频在线观看| 日韩精品视频网| 国产乱子伦视频一区二区三区| 不卡av免费在线观看| 91精选在线观看| 久久蜜桃av一区二区天堂| 亚洲欧美福利一区二区| 韩国av一区二区| 成人国产精品视频| 日韩精品资源二区在线| 亚洲人成网站在线| 高清不卡一区二区在线| 日本韩国欧美国产| 久久精品人人做人人爽97| 午夜精品久久久| 99精品桃花视频在线观看| 欧美成人女星排行榜| 五月婷婷欧美视频| 91色porny| 中文字幕亚洲电影| 国产成人自拍网| 久久久久久9999| 久久99精品久久久久久| 在线免费一区三区| 亚洲欧美日韩在线| 不卡的看片网站| 亚洲色图另类专区| 欧美在线视频全部完| 亚洲黄色录像片| 欧美日韩亚洲高清一区二区| 亚洲国产另类av| 91精品欧美一区二区三区综合在| 亚洲精品国产无天堂网2021 | 欧美高清在线精品一区| 成人午夜视频在线| 亚洲黄一区二区三区| 欧美日韩aaaaaa| 国产美女一区二区| 日本一区二区三区高清不卡| 91美女片黄在线观看91美女| 亚洲国产精品久久艾草纯爱| 91精品欧美一区二区三区综合在 | 色老汉一区二区三区| 青椒成人免费视频| 国产精品久久网站| 欧美一区二区在线看| 丁香婷婷综合激情五月色| 亚洲国产视频一区| 欧美国产一区视频在线观看| 欧美日韩精品一区二区| 国产精品亚洲成人| 琪琪久久久久日韩精品| 中文字幕不卡在线播放| 制服丝袜日韩国产| 99国产精品久| 国产99久久久久| 国产最新精品免费| 日本午夜精品一区二区三区电影| 国产精品久久影院| 久久精品人人做人人综合| 国产精品亚洲综合一区在线观看| 夜夜揉揉日日人人青青一国产精品 | 精品1区2区在线观看| 欧洲另类一二三四区| 成人久久视频在线观看| 国产精品一级黄| 精品一区二区三区香蕉蜜桃| 五月天久久比比资源色| 国产精品久久久一区麻豆最新章节| 91精品免费在线观看| 欧美精品免费视频| 日韩午夜在线观看视频| 日韩一区二区三免费高清| 欧美一级片在线观看| 日韩女优视频免费观看| 日韩视频永久免费| 欧美一区三区二区| 精品国产免费久久| 国产日韩欧美高清| 欧美日韩国产在线播放网站| 激情伊人五月天久久综合| 亚洲精品欧美二区三区中文字幕| 日韩一区二区三区在线观看| 国产suv一区二区三区88区| 午夜在线电影亚洲一区| 亚洲乱码国产乱码精品精98午夜 | 国产麻豆视频精品| 国产精品视频免费| 亚洲综合免费观看高清完整版在线 | 最新久久zyz资源站| 一区二区三区精品| 久久国产剧场电影| 91视频国产观看| 久久久久99精品一区| 亚洲综合成人在线| 国产一区二区0| 91麻豆精品久久久久蜜臀| 国产午夜久久久久| 午夜电影网亚洲视频| 91小视频免费看| 国产亚洲午夜高清国产拍精品| 夜夜爽夜夜爽精品视频| 国产suv精品一区二区883| 欧美日韩免费观看一区二区三区 | 成人在线视频一区| 成人免费毛片app| 成人免费av资源| 久久综合色之久久综合| 国产一区二区导航在线播放| 91国内精品野花午夜精品| 欧美高清在线精品一区| 中文字幕免费不卡在线| 国产一区二区不卡老阿姨| 精品乱人伦一区二区三区| 免费xxxx性欧美18vr| 国产成人精品免费在线| 精品国产乱码久久久久久久| 色综合久久中文字幕| 午夜欧美在线一二页| 欧美视频第二页| 亚洲国产另类av| 3d动漫精品啪啪| 久久久精品国产99久久精品芒果| 日本成人在线看| 欧美老肥妇做.爰bbww| 蜜臀av性久久久久蜜臀aⅴ| 国产成人8x视频一区二区| 久久久电影一区二区三区|