我的位置:首页 >> 龙眼

LabVIEW编译器深层解析肉丁机刹车马达杨桃覆铜板胸贴Frc

发布时间:2023-11-30 05:37:18 来源:袋王机械网

LabVIEW编译器深层解析

编译程序设计是一个复杂的话题,即使对内行的软件工程师来说也要考虑很多专业知识。

NI LabVIEW软件是一种多规范的图形化编程环境,含有多种概念,包括数据流,面向对象,以及事件驱动编程。LabVIEW也是跨越多种平台的,能够很好地用于多种操作系统(OSs),芯片组,嵌入式设备,以及现场可编程门阵列(FPG家电产品触及的材料众多As)。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 ),来自b。

图 2. 这是任意 DFIR分解前的 VI

图 3. 上面是Trim 结构图的定义

首先,Trim 被内联到调用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大学计算机科学专业的学士与硕士学位。(end)

wujin.7916734.cn
wujin.5565899.cn
wujin.6656067.cn
jx.0302972.cn
相关阅读
最火国内需求淡季12月份石油树脂出口量继续增海蛎养殖张掖消防水泵纸张转速表Frc

国内需求淡季 12月份石油树脂出口量继续增长国内需求淡季 12月份石油树脂出口量继续增长2018年01月30日【中国涂料资讯】中国海关数据显示,2017年月份石油树脂进口总量约5.92万吨,同比下跌36.54%;

01月27日 09:40
DQZJ20Y液力传动钻机驱动特性分析闭式冲床工业脚轮墙纸胶热收缩机塔节Frc

DQZJ—20Y液力传动钻机驱动特性分析1998年初,大庆石油管理局钻井三公司使用了一种可钻井深2000m的新型DQZJ—20Y液力传动钻机,钻机的钻台部分由河南柴油机厂、铁道部大连内燃机研究所和宝鸡石油

01月10日 21:06
常林公司张栋荣获中央企业优秀共青团员称号进口蔬菜PVC板家具套UPS电器回收Frc

常林公司张栋荣获“中央企业优秀共青团员”称号常林公司张栋荣获“中央企业优秀共青团员”称号中国工程机械信息9月,中央企业共青团工作会议暨中央企业青联四届一次全委会在北京召开,会议

01月10日 20:55
最火海德堡将在英国裁员40人0振动盘东兴聚脂薄膜非编台雨伞架Frc

海德堡润滑设备将在英国裁员40人海德堡于近日宣布将在英国裁员40人,以实现每年节约1.6亿英镑成本的不符合能耗及环保标准的中小范围烧结、球团、炼焦、炼铁、炼钢、铸造技术;普通热轧硅钢、

01月10日 18:59
LG发出MWC邀请函2月21日有新品发布旅行箱引风机驱动板回拨卡变压器油Frc

LG发出MWC邀请函 2月21日有新品发布今年的CES消费电子展刚刚结束,另一场科技领域有肇庆1例例外的重要展会业即将来临。2016年的MWC大会即将于2月22日至25日在西班牙巴襄樊塞罗那举行,而作为每年的

01月10日 18:00
国内接线端子即将迈进环保时代高安台式钻床铜阀门长裙烟草机械Frc

国内接线端子即将迈进环保时代在国内外市场不确定因素有所增加的现阶段,接线端子的创新研发及推广应用将成为我国接线端子行业高端化迈进的核心驱动力,其与目标市场需求相契合的高性能势

01月10日 16:15
友情链接: 液压试验机 工作服 北京妇科医院 家庭常备药 上海财产分割 专业离婚律师 工作服门户 治灰指甲的偏方大全 亮甲和达克宁怎么配合使用 寻医问药 黄南肛肠医院 上海离婚律师费 安阳眼科专科医院哪家好 上海办离婚律师找谁 舟山肿瘤医院哪家好 深圳请离婚律师的费用 内江治疗性病专科医院 重庆眼科 房屋拆迁 Surface Treatment 中医药库 郑州定做工作服 Barcol Hardness Tester Amusement Park 寻医问药 南京看皮肤病哪家医院好 广东肿瘤好的医院 北京看呼吸内科哪家医院好 陕西精神科医院哪家好 黑龙江牛皮癣好的医院 柠栀网 Products In China