多核处理器程序通过LabVIEW优化多核环境下的信号处理性能_我的网站

多核处理器程序通过LabVIEW优化多核环境下的信号处理性能

点击:
收入生产过剩市场调查:芯片收入增速将有所放缓下半年市场景气台湾芯片封测业全面调高今年资本支出集成电路产业芯片苗圩:加快推进集成电路产业做大做强工艺技术性能用户Altera发布面向28-nm系列产品的28-nm工艺技术策略端子企业公司选对工具事半功倍 斯凯维优质工具大推荐电流电阻模式凌力尔特推出无电感器型大电流白光 LED 驱动器 LTC3218电流器件字节Microchip公司推出短距离单向射频应用解决方案中国电站产业赛维LDK:天生的全球化公司?订单半导体媒体播放器订单显著下降,OEM前景黯淡
多核处理器环境下的编程挑战

  摩尔定律问世40余年来,人们业已看到半导体芯片制造工艺水平以一种令人目眩的速度在提高,Intel微处理器的最高主频甚至超过了4G。虽然主频的提升一定程度上提高了程序运行效率,但越来越多的问题也随之出现,耗电、散热都成为阻碍设计的瓶颈所在,芯片成本也相应提高。当单独依靠提高主频已不能实现性能的高效率时,双核乃至多核成为了提高性能的唯一出路。随着AMD率先打破摩尔定律、终结频率游戏后,Intel和AMD都开始逐步推出了基于双核、四核甚至八核的处理器,工程师们逐渐投入到基于多核处理器的新型应用开发中去时,大家开始发现,借助这些新的多核处理器,并在应用开发中利用并行编程技术,可以实现最佳的性能和最大的吞吐量,大大提高应用程序的运行效率。

  然而,业界专家们也同时认识到,对于实际的编程应用,多核处理器的并行编程却是一个巨大的挑战。比尔盖茨是这样论述的:

  “要想充分利用并行工作的处理器的威力,…软件必须能够处理并发性问题。但正如任何一位编写过多线程代码的开发者告诉你的那样,这是编程领域最艰巨的任务之一。”

  比如用C++写一个多线程的程序,程序员必须要非常熟悉 C++,了解如何将C++程序分成多个线程和并在各个线程间进行任务调度,此外还要了解 Windows 多线程的机制,熟悉 Windows API 的调用方法和MFC 的架构等等。在 C++ 上调试多线程程序,更是被很多程序员视为噩梦。

  所以,对于测试测量行业的工程师来说,在传统开发环境下要想获得多核下的效率提升意味着大量而复杂的多线程编程任务,而使得工程师脱离了自动化测试及其信号处理任务本身,于是,要想在当前的多核机器上充分利用其架构和并行运算的优势,反而成为工程师们“不可能”完成的任务。

  LabVIEW降低并行编程的复杂性,快速开发并行构架的信号处理应用

  幸运的是,NI LabVIEW图形化开发平台为我们提供了一个理想的多核处理器编程环境。作为一种并行结构的编程语言,LabVIEW能将多个并列的程序分支自动分配成多个线程并分派到各个处理核上,让一些计算量较大的数学运算或信号处理应用得以提高运行效率,并获取最佳性能。

  我们以自动化测试中最常见的多通道信号处理分析为例。由于多通道中的频率分析是一项占用处理器资源较多的操作,如果能够让程序并行地将每个通道的信号处理任务分配至多个处理器核,对于提高程序执行速度来说,就显得尤为重要。而目前,从LabVIEW编程人员的角度来看,要想获得这一原本“不可能”的技术优势,唯一需要改变的只是算法结构的细微调整,而并不需要复杂且耗时耗力的代码重建工作。

  以双通道采样为例,我们需要分别对高速数字化仪的两个通道上的数据进行快速傅立叶变换(FFT)。假设我们采用的高速数字化仪的两个通道均以100 MS/s采样率采集信号并实时分析。首先,我们来看LabVIEW中对于这一操作的传统顺序编程模型。

利用顺序执行的LabVIEW代码

  图1. 利用顺序执行的LabVIEW代码


三星处理器合作伙伴ARM推出CORTEX-A15 MPCORE 处理器晶粒产品明年厂家呼吁政府补助LED照明城市智慧产业物联网将驱动智慧城市建设 创造力是关键日本OLED战略失误警示国内产业的发展策略触摸屏多点电阻电容屏面临价格崩盘 电阻屏仍有前景行业百分点电子信息电子信息制造业开局平稳 光电器件成热点时钟频率系统德州仪器最新 16 位 ADC 与低抖动时钟组合实现最佳防噪性能与动态范围智能卡企业中国第三届中国智能卡10强企业奖日前揭晓请各位朋友进来谈谈新家坡经理是如何变态的???

0.6677930355072 s