虚拟仪器技术的进展及如何提升并行处理能力
图7:使用多线程编程才能最大限度地利用多核处理器的性能
而NI LabVIEW,就非常适合于创建并行的多线程应用。首先,相比文本编程语言的至上而下的顺序结构,LabVIEW本身就是一种并行的编程结构;其次,早在LabVIEW 5.0时LabVIEW就已经支持多线程,在LabVIEW程序编写完毕后,LabVIEW编译器可以自动地识别线程并创建线程到不同的任务和循环上,再由OS分配到不同的核上运行(图8)。而最新的LabVIEW 8.5更针对多核技术进行了全面的支持;此外,在实时操作系统中,用户还可以自己分配特定的线程在特定的核上运行,如图9所示。
图8:使用LabVIEW方便实现多线程编程
图9:LabVIEW 8.5允许用户手动分配线程在指定的核上运行
因此说,多核处理器使用了并行拓扑架构可以提高处理能力,但利用真正的多线程编程语言,如LabVIEW,才可以轻松实现运算性能的真正提高。
FPGA技术
虚拟仪器技术最初的一个重要特性就是可以使用软件来定制硬件的功能。随着LabVIEW作为并行化的编程语言的地位逐渐稳固,它的应用也得到了不断的扩展,并对强大的并行硬件技术FPGA提供了强有力的支持。
通常来说,FPGA的软件开发平台是使用VHDL语言来实现,但是这种语言需要很长的学习时间,并且也需要深厚的硬件技术背景,因此只有少数的一些专业人员掌握。随着可编程硬件的需求日益增长,FPGA已成为一种主流的技术,这种趋势需要能够有方法降低FPGA编程的门槛,从而将FPGA技术带给更多的工程师。
LabVIEW的并行化的编程方式以及图形化的编程环境可以允许工程师们能以直观的方式来实现FPGA的逻辑功能。例如,使用LabVIEW,在FPGA中实现图10所示的逻辑功能就变得相对简单。
图10:使用LabVIEW实现FPGA逻辑功能
结论
目前,虚拟仪器技术已经根植于许多领域。PCI Express总线的高带宽将虚拟仪器技术的应用范围扩展到更多新兴的应用,从而使工程师们能够在享受高通道、高采样率的好处的同时,又可根据自身需要灵活定制相关功能;利用真正的多线程编程语言,如LabVIEW,可以轻松实现多核并行运算性能的真正提高;随着LabVIEW并行化的编程语言的快速发展,工程师们可以灵活地根据待测单元、软件或者是测试需求的变化来对硬件进行重新配置,从而对FPGA提供了强有力的支持。
评论