2015年11月16日 航空航天和国防

扩展您的电源架构应用程序

由马克Hermeling

6 a00d83451f5c369e201287600a6f9970c-pi

介绍

Power体系结构已经成为嵌入式行业的支柱之一,并将在未来几年继续存在。Power Architecture已经为从烤面包机到飞机的各种设备提供了支持,Freescale QorIQ t系列处理器中的最新soc具有高达12个物理或24个虚拟(双线程)64位处理核的性能,出色的内存架构,以及完整的(40位物理)位寻址能力。

航空航天和国防工业的许多客户仍然对低功耗vs性能、长达15年的设备寿命(这对许多项目来说是必须的)和64位支持非常感兴趣,这为他们打开了一些有趣的角度。32位内存空间已经成为当今许多嵌入式应用程序的一个限制,特别是许多现代PCI设备的使用占用了大量可用内存。当然,您可以使用分页来解决4 GB的内存障碍,但这是一种笨拙的做法,会影响手头的工作。

对现有应用程序进行刷新

许多航空航天和国防项目都在寻求更新现有的项目,并消除32位的限制。此外,e6500处理器的巨大性能提升对他们来说非常有吸引力。Freescale的处理器中的e6500核心,如我们的一些合作伙伴使用的T2080或T4240,提供高核数多核处理、40位物理寻址内存64位寻址和AltiVec,所有这些处理器都与用于安全、模式匹配和压缩的加速器相结合。

这对于构建应用程序的人来说是一个好消息,他们可以从处理能力、内存空间和效率(每瓦特的大小/功率/重量)中获益。想想音频、视频或雷达的信号处理应用程序,或者其他需要处理大量数据的应用程序。像柯蒂斯·莱特的电路板上的新处理器vpx3 - 133vpx6 - 195允许多个现有的应用程序组合在一个单板上,节省空间和电力。

问题很快就变成:如何使用这些新处理器从现有的设计迁移到新的设计。例如,您现有的设计可能在MPC7410单核这意味着您必须考虑到新的处理器是64位的,并且有多个处理核心和线程。

迁移到64位

如果您希望使用更大的地址空间,则必须将代码从32位(或ILP32)转换为64位(或LP64)数据模型。在Internet上有很好的资源可以帮助您进行这种转换,通过启用更严格的类型检查和禁用自动类型转换,编译器也可以提供帮助。

数据模型并不是唯一需要考虑的东西。许多较早的应用程序使用基于内核的编程模型,其中应用程序以内核模式运行。这带来了性能方面的好处,这在较老的、较慢的处理器中尤其重要,但它缺乏分离,这意味着一个应用程序可能会损坏另一个应用程序的内存。当从32位转换到64位时,值得考虑从基于内核的编程模型转换到基于进程的编程模型。这确实涉及到检查不同的应用程序如何一起工作,以及如何用消息或其他通信原语替换互斥和信号量。但是,最终,它增加了分离,从而增强了健壮性,尤其是在将应用程序整合到具有多核的单个处理器上时。

迁移到多核

通过进程增加的分离也有助于应用程序在多核配置中运行。旧的处理器只有一个处理核心,而新处理器有多个核心,这些处理器固有的并行性帮助应用程序运行得更快。然而,应用程序需要能够准备好利用多核优点。前面提到的流程分离对此有帮助。或者,多个内核可以用来运行多个应用程序,每个应用程序都在它自己的内核上。

操作系统需要能够处理多核,到目前为止,实现这一点最简单的方法是通过对称多处理(Symmetric Multi-Processing, SMP)。操作系统为程序员处理所有的内核,程序员可以指定特定的应用程序在特定的内核上运行,或者将调度完全交给操作系统来实现最高的利用率。

需要考虑的一件事是,新的多核操作系统提供了真正的并发性。在单核处理器上,应用程序在单核上运行多线程。在新的处理器上,应用程序将在多核上运行多线程。这将提供不同的计时行为,并可能需要更改如何保护程序的关键部分。

虚拟化

另一种使用高核数处理器的方法是使用虚拟化。在SMP模式下,操作系统负责调度可用内核上的进程和任务。但是这些都是在一个操作系统中完成的。另一种选择是将多核部分划分为多个不同的“虚拟机”,并将操作系统加载到每个虚拟机(VM)中。这允许架构师在同一个多核部件上运行多个操作系统,无论这些操作系统是相同类型(如VxWorks)还是混合类型(如VxWorks或Linux)。虚拟化允许系统架构师在多核SoC上提供异构的操作系统混合。

虚拟化的好处是很多的。它真正地将工作负载与平台解耦,并允许在嵌入式系统的设计中有一个新的自由度。

安全可靠的

除了让您的应用程序在这些处理器上运行外,我们还不能忽略一些重要的属性,比如安全性和安全性。这些不应该是事后的想法,因为它们对架构有重大影响。这也是新硬件可以通过安全引导和反篡改功能提供巨大好处的地方。

如何开始

撇开概念不谈,开始探索可能性并不困难,风河可以提供帮助。风河系统VxWorksSafe and Secure RTOS提供了对64位应用程序的全面支持,包括对SMP和虚拟化的支持,自然可以满足必要的安全性和安全性需求。风河的文档提供了如何帮助从32位到64位转换的指导,风河的专业服务可以帮助咨询和外包。这为客户提供了开始体验这些强大的基于Power architecture的处理器的优点以及探索如何向前迁移应用程序所需的一切。

以前的使用云与软件设计师有效沟通硬件设计(视频)
下一个Wind River VxWorks RTOS支持与Qt 5.5