EDN China > 技术文章 > 嵌入式系统 > 应用软件 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

在多核软件设计中提供协同性

来源:Edires?? 2007年10月22日 ?? 收藏0

  多核处理器给传统的嵌入式软件设计领域添加了新的性能尺度。为了利用多核处理器的优势,开发商必须掌握协同和并行代码编写的详情。

  在自顶向下的顺序编程方法中,当映射到并行硬件时,控制模型存在固有的局限性。相比之下,利用数据流模型,在方框图上的节点被连接到另一个节点,以表达逻辑执行流,并且它们能被方便地用于表达并行处理。当一个方框图节点接收所有需要的输入时,它产生输出数据并把那个输出传递到数据流路径上的下一个节点。数据通过节点的运动确定在方框图上的各个功能的执行顺序。

  数据流语言的固有并行特性非常适合于对协同系统进行编程。

  在多核设计中,选择正确的方法来表达并行处理是至关重要的;然而,仅仅那样并不足以确保一个项目的成功。在开发为多核处理器准备的软件的过程中,检查完整的软件堆栈有助于评估关键的问题。

  实时软件堆栈由开发工具、库、设备驱动器和实时操作系统等组成。大多数公司在实时软件堆栈上构建的上一代应用都是针对单处理器设计的。把这种软件移植到多核处理器的公司体验了不同级别的可扩展性。

  除错工具是开发商用来深入分析代码在多核硬件上运行过程的关键软件堆栈要

素之一。在调试多核系统的过程中,可视化发挥特别关键的作用,因为它有助于开发商查看多个核心在同一时间的运行情况。

  在软件堆栈的底层—上面的每一层都依赖它—是RTOS。多核系统以对称多处理(SMP)或不对称多处理(ASMP)为基础实现了一个架构方案。RTOS至少要支持一种处理。

  在SMP系统中,处理器安装在同一电路板或芯片上,并共享全局资源,如存储器、总线和外设。通用操作系统—如Windows、Mac和LinuxOS—多年来就支持SMP。然而,一个RTOS的确定性行为必须被保护,以满足硬实时时序约束的要求,与此同时,在不同的处理器之间分配任务,因此,对于要实现的RTOS供应商来说,SMP是一项附加的挑战。传统上,非常少的商用RTOS支持这种功能,尽管在过去的几年中,确实一窝蜂地添加这种支持。QNX的Neutrino和NI的LabVIEWReal-TimeOS就是支持SMP的两个例子。SMP的优势在于操作系统在可用的处理器核心上处理自动加载的平衡任务。

  在不对称多处理系统中,各个处理器彼此之间不共享资源。每一个处理器都需要一个操作系统(与此相反,SMP仅仅需要一个操作系统),因此,就招致了更多的开发开销。处理器必须被独立的编程,并且要实现在各个处理器之间传输数据的通信方案。

  对于多核开发来说,选择具有SMP支持的操作系统是推荐的实现方案,因为它能够发挥自动加载平衡的优势。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

处理器? 多核? 数据流?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈