• IIANews微官网
    扫描二维码 进入微官网
    IIANews微信
    扫描二维码 关注微信
    移动客户端
  • English
2025机器人产业趋势论坛报名
传感器

软件必须充分利用多内核平台的优势

  2005年07月23日  

由于CPU更灵活和DSP功率效率更高,因此同时含有CPU和DSP的异质多内核硅芯片能够以一种高功效的方式运行要求很高的多媒体应用。不过,只有当软件能够充分利用多内核平台的特性时,异质多内核硅芯片的优势才能体现出来。多内核芯片的编程远不同于对几个相连的单核系统的编程。在进行多内核芯片编程时需要考虑如下几个主要方面:

1)单线程应用不会自动在多内核系统上运行得更快。在嵌入式系统中普遍使用的C和C++在本质上是顺序执行语言。因此,当把一个用C或C++编写的应用程序移植到多内核系统上时,该应用也许并不能从多内核平台的并行处理能力中获益。

2)由于C和C++不能在语言级为应用分割提供任何帮助,因此必须采用系统级分割方法。通过采用能在内核间重新分配任务的合适的运行(run-time)平台(操作系统及内核间通信),应用/算法分割可在任务(系统)级完成。为获得最佳效率而进行的精细分割(分割任务/算法)可以采用专为该目标设计的代码分割工具来完成。

3)通信是要花费时间和功率的。对于一个将任务分割到多个内核上的应用而言,软件模块或任务间的通信效率(如通信建立时间、需要传输的数据量、传输速度、以及抵达时间的可预测性)是至关重要的。

需要传输的数据量取决于应用类型和应用分割。而传输效率和可预测性则与通信(软件)架构和系统中使用的硬件互联类型有关。硬件互联提供的灵活性可能有限,但分割和通信软件的选择权通常掌握在设计人员手中。

连在一条总线上的共享存储器用起来是很方便的(这是一种很常见的设计),但存储器和/或总线的可用带宽必须在多个内核间共享。如果存储器是单端口的,其它的内核将有可能停止运行。专用互连(在内核上的串行或并行端口)或许可以减轻这一竞争。

数据的同步传输可由一个易于实现的轮询任务来实现,不过通常情况下,基于中断的同步传输更有效。

一种用于处理器间通信的高效灵活的软件架构能够快速地和可预测地传输数据、管理多个逻辑连接和不同种类的硬件互联、同步传输、以及为应用提供一个抽象层。

4)调试多内核系统比调试单处理器系统更为复杂,而且可能会影响到应用。

如果整个系统停止工作,那么系统状态很容易被检测出来。但如果其中一个内核或子系统停止工作,系统状态的检测就变得更加复杂,因为其它内核可能正在与停止运作的内核进行数据传输。一些内核会使其外设与内核一起停止工作,这使得内核之间通信状态很容易被检测出来。一个允许你控制系统中哪些部分应被停下来进行调试和控制传输中数据的多内核调试器是必不可少的。

大多数嵌入式系统会受到外部事件的影响和有时间依赖性。如果一个内核为了调试暂停下来,那么整个系统可能将无法正常工作。

作者:Peter Leyssens


peter@


产品工程师


PolyCore软件公司


最新视频
伊顿Bussmann:百年品牌 以创新驱动发展   
欧姆龙光电传感器E3AS | 角度特性演示:高反光不锈钢工件稳定检出   
研祥金码
专题报道
《我们的回答》ABB电气客户故事
《我们的回答》ABB电气客户故事 ABB以电气问题解决专家之志,回答未来之问。讲述与中国用户携手开拓创新、引领行业发展、推动绿色转型的合作故事,共同谱写安全、智慧和可持续的电气化未来。
企业通讯
研祥IPC-310准系统,5月28日冰点底价限时开抢
研祥IPC-310准系统,5月28日冰点底价限时开抢

疯狂星期三,研祥IPC-310准系统,5月28日冰点底价限时开抢!

优傲机器人新品巡展 NVITATION 邀请函
优傲机器人新品巡展 NVITATION 邀请函

优傲机器人将于2025年6月5日在北京亦庄举办新品巡展活动。届时,您将有机会近距离品鉴优傲新品成为首批见证 UR15 中

在线会议
热门标签

社区