多核处理器的应用将为设备制造厂商解决复杂和成本问题并快速开发丰富多样的功能找到新的有效途径,对多核编程和调试的支持力度也正在日益增加。实时操作系统(rtos)和工具供应商正在不断改进以模型为主导的设计、虚拟原型以及c语言编译。现在我们来一一介绍目前各大公司对多核开发推出或升级的产品和支持服务。
qnx的多核分割技术
qnx软件系统公司创建于1980年,总部在加拿大。qnx继续着正确的选择-在正确的时间选择正确的创新之路。随着市场重心转变到对于双核和多核处理器的应用,qnx果断地预测多核架构正在成为迎合性能、功率和系统整合性等方面挑战的先进的解决之道。多核硬件的出现改写了过去通常使用单处理器设计的嵌入式软件开发商的规则。由此,获得针对多核平台的最优解决方案变得空前重要。
基于大范围可升级的qnx neutrino? rtos,客户可以在一个丰富的多处理器解决方案组合中选择并应用最适合其产品需求的模型。除了提供不对称(amp)和对称多处理(smp)能力,qnx还倡导一个创新的结合了smp的高级资源管理和amp的应用控制的混合功能-bound multiprocessing(bmp),bmp是一个打破常规的、简化了核迁移并对多核以及更高级设计具有前瞻性证明的先进技术。
qnx 针对多核处理器的首个安全的存储器和cpu分割功能。分割功能经常出现在安全性非常重要的应用中,因为它能确保cpu时间和存储器所用的资源,并保证当某一部分发生问题或受到入侵时,不会影响应用中的其余部分。
分割目前仅限于单处理器,将分割信息传达给多核系统是一件很困难的事情,因为需要在多个处理器间复制分割信息。将所有信息转移到多核是项全新的尝试,这需要设计人员灵活地将分割信息映射到多核架构上。
借助qnx公司的多核分割技术,neutrino rtos的用户可以将一个处理器分割成两个部分,当然,用户也可以选择一个分割部分包含多个处理器。该技术可用于具有相似架构的对称多核系统。
上述分割技术可以处理多达8个相同内核,而且针对某些架构,这个数字甚至可以高达32个。目前该技术支持arm、mips、powerpc和x86处理器。此外,用户还可选用qnx公司现有的“混合多处理(bmp)”功能,该功能将特定的线程或应用锁定在一个特定的cpu内核组内。qnx公司的momentics套件提供的可视化工具,则有助于优化和调试多核设计。
风河系统workbench
风河系统公司目前也在其workbench on-chip debugging edition产品中加入了对多核的支持。该产品包含一个可联网、基于jtag接口的在线仿真器,能支持多核和多处理应用。
该产品包含一个可联网、基于jtag接口的在线仿真器,可以在单个扫描链上连接多达128个处理器,而且能同时调试多达8个这样的内核,能进行对称或非对称多处理。用户可以在单一调试环境中调试多个内核。
最新的workbench 2.6.1 on-chip debugging edition版本能支持更多数量的新型处理器,包括broadcom sibyte系列中的几款、英特尔xscale iop342、飞思卡尔mpc8641d 2.0t以及pasemi的pa6t-1682m。另外,该版本允许用户在不需要内核指令的情况下调试linux内核、用户程序和共享库,而且它还提供新的eclipse插件“浏览”工具。
arm realview开发环境
ip供应商倒是早早就为多核做好了准备。行业领头羊arm在2005年就推出多核处理器arm11 mpcore,它可以配置成包含1个到4个处理器,具有高达2600dhrystone mips的性能。瑞萨计划在2008年大量生产采用arm11 mpcore处理器的第一种产品,其主要目标是数字家庭电子产品和办公室自动化系统。
arm realview开发环境同时支持单核和多核应用。不久前,arm公司宣布了realview开发工具套件3.1版的许多新增功能,其中包括首次支持最新的cortex-m1处理器。cortex-m1是针对fpga而设计的一款arm产品。
realview 3.1还增强了对arm coresight调试与跟踪技术的支持力度:为调试与跟踪增加多个跟踪数据流,并减少引脚数目;增加了用于arm neon simd架构的向量化编译器;提供用于微控制器应用的新型microlibc库。新版realview还支持arm dsp指令集扩展;性能有了更大的改进,并针对arm处理器进行了调整;进一步增强了eclipse项目管理。
tensilica公司
可配置处理器的ip提供商tensilica公司ip核的尺寸更小,可灵活配置总线、缓存、指令集、执行数据路径、i/o端口和寄存器,因此也更容易实现多核架构,其已有的成功应用更为惊人,在cisco的crs-1 terabit路由器中,cisco的工程师用188颗tensilica xtensa处理器内核搭建出了spp(siliconpacket processor)引擎,处理能力高达40gbps,在16插槽的线路卡机架中,可以实现1.2tbps的总交换容量。tensilica的处理器还能够与arm、mips处理器集成在一起,构成非对称多处理器架构。
ni labview 8.5
美国国家仪器公司(ni)最新发布的labview 8.5为用于测试、控制与嵌入式系统开发的最新版图形化设计平台。构建在已投资10年的多线程技术之上,labview 8.5通过直觉并行数据流语言,简化了多核心与fpga架构的应用开发。
通过采用新一代的处理器,工程师与科学家必须开始考虑,如何让软件获得多核心与fgpa架构系统的潜在性能。通过labview的并行数据流语言,用户可轻松将用于数据流、控制、分析与信号处理的应用映射至多核心与fpga架构。以早期版本的自动化多线程功能为基础,labview 8.5 根据可用的核心数量,调整用户的应用,并提供增强的线程安全驱动程序与链接库,从而提升rf、高速数字i/o与混合信号测试应用的吞吐量。
labview 8.5也可通labview real-time环境,提供对称多任务处理功能,让嵌入式与工业级系统的工程师不需牺牲特定系统性能,即可跨多重核心自动下载平衡任务。利用最新版本的labview,用户可手动指派部份程序代码至特定处理器核心,以微调实时系统或将时间重要的程序代码隔离到专用核心。为了满足多核心开发时日渐增多的除错与最优化程序代码的挑战,工程师与科学家现在可以使用新的 ni real-time execution trace工具组 2.0,以真实地显示程序代码区段之间的时序关系以及正在执行程序代码的个别线程与处理核心。
portland group pgi 7.0编译器
意法半导体全资子公司portland group 3月份上市的针对多核64位处理器优化的pgi 7.0编译器。pgi编译器和开发工具被广泛用于高性能计算技术(hpc),即以复杂过程的建模和仿真为主的技术计算领域,如海洋建模、天气预报、地震分析、生物信息分析技术等。把软件程序转换成计算机能够理解的二进制指令的pgi编译器是高性能计算领域公认的最好的软件,在各种应用领域和产品性能评测中表现出世界领先的性能,经常被引用为工业的性能及可靠性标准。
带有直接连通的amd多核处理器架构配合pgi的编译器可以为许多广泛使用64位的工程和科学应用(如地理物理建模、机械工程、非线性动力学、计算化学和高能物理)带来性能上的提升。
pgi新编译器的评估版可以从portland group网站www.pgroup.com下载,用户需要注册。
the mathworks matlab 7.5
the mathworks不久前也宣布在matlab和分布式计算工具中推出四项增强功能,提供更高的性能和大型数据集处理能力。matlab现在包括了针对多核系统和64位solaris平台的多线程计算支持。
借助多线程功能,使用元素智能(element-wise)和线性代数函数的matlab应用程序可通过同时运行多线程来提升性能从而充分利用多核机器。最后,借助64位solaris支持,使用matlab的工程师还可以利用64位计算的优势来开发涉及大型数据集和计算密集型任务的应用程序。matlab 7.5适用于microsoft windows, solaris, linux, and macintosh平台。
hi-tech software的ocg
澳大利亚hi-tech software公司推出了一种新型编译器技术,该技术可能在今后会对多核设计有所帮助,但是目前,其主要瞄准的还是单处理器,特别是mcu。这种名为omniscient code generation(ocg)的新技术,据称可以同时针对所有程序模块生成目标代码,从而提供真正的全局优化。
在编译时,用户不需要逐一模块或逐一功能地检查程序,因为ocg可以查找整个程序。对于拥有多个寻址空间的小型芯片来说,ocg可以帮助实现数据自动化分布;对拥有多个寄存器集的大型芯片来说,ocg可以执行完整的程序分析,并对寄存器分配进行优化。
ocg可以检查所有代码模块,收集寄存器、堆栈、指针、对象和变量声明上的数据,并利用这些信息来确保模块间的一致变量和对象声明、优化堆栈和寄存器分配,以及删除无用的变量和函数。
stubbs表示,ocg技术所产生的代码比hi-tech公司现有编译器的代码紧凑20%,比竞争对手的编译器代码紧凑50%。“编程器可以编写看起来像标准ansi c的代码,而不需要任何特别的扩展来处理内在架构。”他表示。
ocg适用于microchip的pic18 mcu系列以及cypress的混合信号控制器。hi-tech公司还计划增加对所有microchip其它mcu和dsp的支持,以及对基于arm7的mcu和8051 mcu的支持。
virtutech simics vmp
virtutech是一家为软件开发提供虚拟原型系统的公司,近日推出了新产品simics vmp。simics vmp是simics开发套件中的一个模块,它能够借助英特尔和amd处理器中的硬件虚拟化功能使代码自行运行。传统上被用于同一服务器以运行多个os的片上虚拟化功能,被首次应用到软件开发中来。
virtutech公司还将推出simics 3.2,该版本增加了一些新功能,可以帮助用户在现有流程中集成虚拟化软件开发。新版本改进了与第三方调试工具的集成,并增加了对符号表的支持。想在多核系统上简单、低成本开发高质量软件,唯一的方法就是采用虚拟化软件开发。
telelogic ab公司rhapsody 7.1
想要简便地创建复杂软件,方法之一就是利用统一建模语言(uml)或系统建模语言(sysml)进行以模型为主导的开发。telelogic ab公司展示了其rhapsody系列的增强性能,而改进的目的正是为了更好地为以模型为主导的开发服务。改进后的rhapsody 7.1更加紧密地符合sysml1.0的要求,能更好地支持灵活的开发流程。新的rhapsody电信包(telecom package)中囊括了最适合电信使用的工具集。telelogic sdl suite 6.0为基于规范与描述语言(sdl)的系统提供了改进的内核架构。
mentor graphics公司
mentor graphics公司为nucleus rtos的inflexion platform ui提供了新型应用编程接口(api),以简化用户接口的开发。该api能在无需修改嵌入式设备固件的情况下改变接口。
s2 technologies
s2 technologies则升级了自己的stride工具集。该工具集主要用于在开发过程的早期阶段进行嵌入式软件测试和验证。stride 2.1增加了在目标应用上控制和自动运行c/c++测试代码的能力、增加了自动生成测试脚本的功能、并增强了用户接口。
aonix公司
aonix公司采用perc ultra和perc pico工具集的全java代码解决方案。对于计算密集型算法来说,其速度比采用c代码的同等java程序要快得多。
日立研发出尺寸更小的图像传感器 可拍摄完成后重新定焦
监狱管理+精确定位,打造智能监狱管理平台!
发电机组做负载测试的原因及方法
采用湿蚀刻技术制备黑硅
传说中的可折叠手机距离我们越来越近
多核嵌入式处理器开发工具
一种基于神经网络的多维频谱推理方法
高德地图正式上线“高德指南”,成为国内首个大数据出游指南
应急物资管理系统DW-S300|助力 应急物资保障体系建设
物联网和工业物联网正迎来一个快速发展的时期
液晶“面板荒”再度侵袭国产彩电业
跌落式熔断器的主要功能与工作原理及结构结构
同步整流Buck型DC/DC模块TPS54310的平均SPI
基于ZEMAX的半导体激光器匀光设计
利用示波器进行uA级电流和uV级电压测试
延续Skylake 14nm工艺的Kaby Lake带来了什么?
千元机普及快充!魅蓝5S标配充电器UP0920拆解
iPhone15系列,USB-C 接口如约而至
中标喜讯 | 芯盾时代再度中标澳门大丰银行 业务应用安全再升级
直接下变频宽带正交解调技术在软件无线电掌上平台中的应用