作者:风河的高级技术规划主管Rob McCammon February 08, 2007
文章来源:http://www.ednchina.com/blog/rob/
时至今日,我相信每一个基于DSP(数字信号处理)或CPU的嵌入式系统软件开发团队都会感受到多核处理器带来的影响。有时,这种影响或许只是一种似是而非的感觉,但有时却是直接而又真实的。
多核处理器可以给设备开发者带来更高的处理性能。但不幸的是,与提高处理器的时钟频率就可以直接提高处理性能形成对比;增加内核数量并不会自动使软件的性能得到提高。
大多数已写好的嵌入式系统软件都是为单核处理器编写的。一个计划在下个版本的设备上使用多核处理器的产品开发团队,首先将会面临软件方面的挑战。
如果你还不了解多核处理器,那么接下来的这篇文章(作者MichaelSuess),将从若干个重要的话题开始,带你了解多核处理器。
毋庸置疑,嵌入式软件开发团体对多核处理器所带来的潜在利益的肯定程度,将对多核处理器应用的推广速度产生决定性的促进。一些嵌入式应用, 例如数字信号处理和通信设备,对于多核处理器的应用有着与生俱来的优越性。事实上,这些设备已经频繁地应用多核处理器系统,并且是以适当的、直接的方式将多核处理器纳入其中。
可是,大多数已经写好的设备软件是针对单核处理器设备开发的,而且也没有采用多进程相关的技术进行编码。虽然一些像互斥和线程安全之类的概念已经比较普遍的应用在单核处理器的多任务操作系统中,但要把他们用于多线程或对于同步数据库访问程序的控制,仍然会遇到很多困难。
因此,我坚信,对于任何开发团队来说,当他们意识到单核到多核芯片转变的重要性并希望对其加以利用时,就首先需要建立一个发展计划。不然,就会像一个登山探险队在攀登珠穆朗玛峰的时候,只是简单的想到到出发和回来的路线而没有对沿途可能遇到的困难有所准备一样。我的这些想法也与Alan Zeichick在他的blog中所谈到的关于线程成熟度模型的需求不谋而合。
Alan Zeichick对线程成熟度模型的定义,第一次对如何在设备部署项目中解决多处理器的问题作了详细的说明,并在这些问题上为我们指明了方向。
通常而言,大部分的多核设备的软件执行都会采用共享内存/多线程模型、消息传递模型或将两者同时应用于并发管理。对线程成熟度模型的模拟是十分有效的,同时这些并发管理上的技术也足以说明“多任务成熟度”的级别在嵌入式系统中的重要性。
我建议,嵌入式系统软件工程师在进行多核开发前应该先指定一个《多核准备计划书(Multi Core Readness Plan)》,这样有助于他们提升自身的“多线程成熟度”等级。我已经开始考虑这样一个计划书应该包含什么内容,当然,我也很高兴你也在思考这一课题。
文章评论(0条评论)
登录后参与讨论