原创 多核处理器对设备软件开发的影响

2007-4-19 21:02 4351 6 6 分类: 处理器与DSP

作者:风河的高级技术规划主管Rob McCammon  October 25, 2006


文章来源:http://www.ednchina.com/blog/rob/


事实上,为了在可接受的功率限定下达到继续提升处理器运行速度的目标,处理器设计师们的探索已经从提升时钟速度的传统方法变为在一个设备中使用多个处理器内核的新方法。 这种转变是相当重要而明显的,这使得那些针对个人PC和商业计算机消费群体的广告商早已意识到,多核处理器技术是当前这一代系统中最主要的特性。多核处理器,在个人电脑/台式机/服务器的世界中,也将很快成为了主流。


同样的事情会发生在嵌入式领域吗? 它会以同样的速度发生吗? 对于嵌入式开发人员会有什么样的影响? 如果你还没有发现这样的问题,那么现在是思考时候了。


实际上,在很久以前,许多嵌入式系统已经采用了多核处理器。这种情况通常发生在一些对系统的性能和稳定性有较高要求的应用环境中,在这种情况下系统往往需要不只一块处理器。起初,每个处理器一般会安装在它专属的主板上, 多个处理器主板通过一个底板整合到一起。从某种意义上说,这种整合的主板确实对于在一个设备上使用多个处理器起了推动的作用。已经掌握了在系统级别下构造多处理器设备软件精髓的开发人员, 可能会觉得将组合的多核设备融入到他们的设计之中相对容易一些。


我相信,迈向多核处理器构架,同时放弃提高处理器时钟频率的最大影响是,首先需要许多软件开发人员进入到多处理器领域。了解这一点是非常重要的, 因为将基于单核处理器的架构移植到基于多核处理器的架构不是一件能够轻而一举解决的问题。


为多处理器系统编写软件将会成为嵌入式软件开发人员最重要的核心能力之一。我们要首先认识到,多核处理器技术是一个系统设计难题。在一开始,先要在互相融洽和彼此支持的方式下做出一些决定。有时,我们可能根据不同的情况得到不同的答案。


“在做出多核设计决定时必须考虑到应用”, 这是David Manners 在网站electronicsweekly.com 中所著的文章"多核处理技术将会激发出它的潜能吗" 中的核心主题。 Alan Gatherer ,德克萨斯州仪器公司通讯基础平台体系的技术总监,他的话也被引用到那篇文章之中,“我不确定谁知道如何构建一个通用的多核架构。那一个伟大的目标, 但失败的几率是百分之百。” 文章中描述了一些人们在发挥多核技术潜能时可能面临的挑战。


对于我们将要面对的应用问题,我们必须做出一些系统设计方面的决策,主要应包括以下内容:


1.我们的目标是在给定的时间内完成尽可能多的任务,还是尽可能快地完成一个特定的任务?


2.使用的这些处理器如何分配全部的任务? 采用串行执行或并行执行,哪一种方法更容易?


3.基于分区技术,应当在哪个层次上支持处理器之间的交互?


4.为了支持这种交互,需要什么样的硬件和软件基础平台体系?是让所有的处理器共享内存,还是将内存分配到每个处理器上,或是采用某种介乎于两者之间的方法?处理器是通过共享内存的方式进行通信,还是通过网络发送信息进行通信?所有的处理器是必须相同型号,还是可以使用不同种类的处理器?


这些问题将在一个确定的体系上找到答案;而这样的体系将是一个由各自独立的分布式处理器组成的连续统一体系;这些紧密结合的处理器将组成一个浑然一体、特殊的计算机引擎。这又反过来影响到我们如何设计和利用嵌入式软件,以便发挥多核处理器的优越性。


仅仅泛泛地说,许多情况都需要使用多核处理器,这并没有什么实际意义。事实上,对于一些特定的情况、特殊设备上,使用多核处理器是具有特殊意义的。下面罗列了一些可以适用在多核处理器上的使用理由:


•在有限的资源(功率,空间)环境下提升运行速度是使用多核处理器的共同原因。


•为不同的和互补软件的执行提供多重的环境。举一个例子,利用剩余的内核资源,在Linux系统平台环境下,使用一个或者多个内核组合一个实时操作系统运行。在很高确定性的操作系统或不能够很好的发挥实时操作系统的事实特性时,多核系统可以满足这样的应用需求。同时, 设备能够从很多的应用程序中受益,并能为Linux系统提供生态系统支持.


•另外一个例子,在一个多核设备上使用一个混合的操作系统。在这种操作系统上,复用以前在某个版本上开发的软件的同事进行另一个在另外一种操作系统上的软件的开发。


•为了降低成本,许多现存在的多重处理系统可以通过将多个单独的处理器更换为一个的更强大的多核处理器来巩固系统的性能。


•最终的结果是,我发现通过使用多核处理器可以在一个应用中区分不同的性能。一些系统由子系统组成, 而这些子系统必须满足不同层面的需求。这可能意味着不同级别的性能、验证、可靠性、安全性,或者智能保护特性。在这种情况下,不同的处理器内核支持不同的子系统,可以对这样的系统进行划分,从而用一个更简单的方式来满足不同类型系统的需求。


无论你希望多核处理器能给你带来什么, 衡量转变的成功与否取决于清楚明了的需求和对于系统设计方式的深思熟虑。现在, 你应该了解到,通过多核处理器轻松实现更快的搭建一个优化的设备,是需要付出很多努力的。

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条