新闻  |   论坛  |   博客  |   在线研讨会
利用图形系统设计工具充分发挥多内核处理器的超高性能
tongxin | 2009-03-20 14:52:55    阅读:965   发布文章

多内核设计的一个关键步骤是开发出一种完整明确的软件设计方法论,其必须充分利用多内核处理器提供的性能和灵活性,同时还能够管理多内核处理器编程的复杂性。这种方法论包括以下两大主要部分:
%A
%A 软件工具流――鉴于多内核设计的编程复杂性,从概念到自算法研究开始的最终设计,一直到软件原型和最终部署,整个过程中软件工具流都是最关键的部分。
%A
%A 实时操作系统(RTOS)――除了可以在任何平台上进行线程处理和优先级别安排之外,RTOS还能够管理硬件提取层、处理诸如进程间通信机制、共享存储器数据基础架构和同步源。
%A
%A 图形系统设计为单处理器和多内核设计的嵌入式系统开发提供了诸多好处。设计项目可以扩展为多内核,同时保存实时行为和数据完整性。这对熟知其设计项目的复杂性以后将增加、并需要更多更好的性能的设计人员来说是一个很大的优点。
%A
%A 使用图形设计工具
%A
%A 众所周知,在嵌入式系统设计中,随着应用的总体复杂性的逐步提高,代码行数在迅速增加。而另一方面,通过用两个处理器取代单个处理器来加强管理对编程开销并无帮助。
%A
%A 在单处理器和多内核设计中,精简嵌入式系统编程复杂性的一种方法是选择一个基于图形方案的软件工具流。这种方法的优势在于,许多基于图形的工具,比如LabVIEW,本身都具有很强的处理复杂编程和时序的能力。
%A
%A 这意味着嵌入式开发人员可以把精力集中在关键的代码段(例如应用IP本身)上,以与其它嵌入式设计区别开来,而不是浪费在一些低层次的细节上。
%A
%A 图1中给出了利用图形方案如何精简编程复杂性的一个范例。该例中的应用采用了两个环路结构,其中包含了并行执行的滤波器任务和快速傅立叶变换任务。以这种方式使用LabVIEW环路,把应用划入带有用户定义的优先级和执行速率的独立线程中。在多内核设计中,这些线程从LabVIEW切换到 OS,由后者处理两个处理器之间的负载平衡。图形系统设计是一种在嵌入式设计环境中利用图形编程的方法,该方法包含了三个主要阶段:设计、原型建立和部署。其概念核心是充分利用各阶段间的代码复用,从而缩短嵌入式设计的周期。
%A
%A 第一个阶段是以用来描述系统的算法和功能的形式来设计初始应用IP。设计该IP可以采用多种高层次的视窗。
%A
%A 例如,工程师可以利用基于模型的视窗来描述控制任务,利用数据流和数学公式来描述数字信号处理。而LabVIEW提供这些不同的功能视窗,包括基于文本的数学公式、连续时间仿真、状态图以及来自相同开发环境的图形数据流模型。
%A
%A Edward Lee博士是加州大学伯克利分校嵌入式软件平台研究领域的带头人,他把这些不同的视窗看作计算模型。这些计算模型与系统设计人员的思路一致,帮助把转换工作量(从系统指标到软件设计的转换)减到最小。在设计建立之后,无论采用什么方法解决这一问题,工程师都能够在硬件原型创建之前对设计进行软件仿真。
%A
%A
%A 图1:LabVIEW中的定时环路并行执行任务
%A
%A 图形系统设计的第二个阶段是原型创建。在本例中,原型这个术语并不是指最终定制嵌入式设计初期所作的事情,而此处指的只不过是功能上的实验原型。
%A
%A 这一过程包括提取设计阶段创建的代码,并利用商用现货处理器和I/O模块在实际环境中验证设计。在设计过程早期利用COTS硬件建立原型具有以下优点:
%A
%A 1.工程师不必立即布置定制印制电路板的版图,也不用因为软件的不断升级而被迫费时重新进行硬件设计,而是能够在把软件设计提交给硬件组之前就完全对之进行验证,这就使工程师可以在设计流程的后期,即在已知对CPU的要求时,才开始根据成本和性能来选择目标硬件。
%A
%A 2.工程师能够在以后的设计中对COTS原型硬件进行重新编程和复用,而不仅仅限用于目前的设计。
%A
%A 3. 批量较小时,基于简单的COTS原型来进行系统的实际实现可能是有意义的。随后,规模经济使得批量生产嵌入式系统有利可图时,工程师就能够采用定制硬件来实现设计。
%A
%A 在原型建立之后,最后一个阶段是部署。设计和原型创建阶段中所用的图形代码再一次被复用,从而,源自初始概念验证的所有IP都通过算法被保存,由于硬件版图的要求把应用和定制外设集成在一起的情况例外。
%A
%A 充分发挥多内核的性能
%A
%A 为了对用LabVIEW编程的嵌入式设计中的多内核处理器提供全面的支持,工程师可以采用一个RTOS(本例中为QNX Neutrino)。
%A
%A 利用一个负责多内核处理功能的RTOS,工程师可实现对称多处理,其中,操作系统能够在多个内核上同时安排各种进程活动,实现真正的并行处理。
%A
%A 一位LabVIEW“虚拟仪器”(VI)的开发人员利用多个并发执行路径进行设计,无需任何特殊的编码或设计技巧就可以立即提高计算能力,缩短数据处理时间(见图2)。
%A
%A
%A 图2:单内核和多内核处理方案之间的比较
%A
%A 采用ONX Neutrino时,LabVIEW不需要做额外的工作就可发挥多核处理器的优点,因为RTOS可以进行自动管理。同样地,由于无需改变任何LabVIEW代码,代码从单个处理器移植到多内核设计的过程得以大大简化。
%A
%A 利用LabVIEW嵌入式开发模块来开发Neutrino目标系统时的另一个好处是,系统设计人员一直到项目设计后期才需选择目标CPU。
%A
%A 设计人员在完成设计和原型创建阶段不必担心目标硬件。接下来,在确定所需的CPU性能之后,开发人员才开始选择单内核或是多内核。
%A
%A 需注意的是,图2中LabVIEW VI在两种情况下都是相同的。为了帮助优化性能,由QNX提供图形工具来测量单内核或多内核目标系统上的CPU载荷。
%A
%A 作者:Randy Martin
%A
%A    产品市场经理
%A
%A    QNX Software Systems公司
%A%A
%A

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
最近文章
寂寞如雪
2009-05-19 19:01:18
夜色花
2009-05-19 18:56:22
没有爱可以重来
2009-05-19 18:54:59
推荐文章
最近访客