三种嵌入式多内核设计模式的比较分析

发布者:谁与争锋1最新更新时间:2012-03-27 来源: dzsc关键字:嵌入式  多内核设计  平面模式 手机看文章 扫描二维码
随时随地手机看文章

合并是嵌入式领域长期存在的一个趋势,它使得性能更优良的嵌入式设备采用更少的元器件,从而降低了成本及功耗预算。这一趋势的最新进展是在单个封装内提供多个处理器内核的多内核嵌入式微处理器的增加,而且与同等的单内核处理器相比具有低功耗和低成本的优点。

使用多处理器内核要求软、硬件团队之间进行更多的系统级设计合作。基于这种理念,下面是对采用当前开发工具和硬件直接实现多内核系统的三个简单模型的概述。这些多内核设计模式不是一个为了严格定义一个系统的刚性模型,而是针对思考和探讨关于系统实现宏伟蓝图的初始点,以及规定了一套通用术语以便软、硬件团队都能设计出一个多内核系统结构。

三种设计模式

1. 平面模式

第一种模式是平面模式(Planar Pattern),这个名称源于划分一个通信系统的处理任务的“控制平面”和“数据平面”。它是一个广泛的和不同类型的多内核设计实例,这种多内核设计统称为非对称多处理技术(简称“AMP”或“ASMP”)。

如果采用平面模式,系统需要划分成具有显著不同处理要求的多个自包含模块。在其标准的通信和媒体处理形式中,该模式的优点是在一个专用的 DSP或网络处理器上运行需要进行大量数据处理的算法,同时在一个通用的CPU上保持其它系统软件的正常运行。这种特殊性意味着平面模式系统通常在专门构件的硬件上实现。由于许多平面硬件设备仅有一个通用CPU内核,因此传统的单内核工具、操作系统和设计方法都可用来设计和调试系统的通用部分。

2. 片上栅格模式

片上栅格(Grid-on-Chip,或简称“栅格”)模式是平面模式的演绎,包含由许多完全独立的和网络互连的节点组成的任意多处理器系统。栅格是办公计算机网络的片上版本,它是共享相邻物理链路但彼此独立的许多网络处理节点。一些文献将该类型系统称之为分布式多处理系统,且仍将其归类到 AMP/ASMP系统总类别当中。

使用栅格模式的关键要求是首先要分割系统,然后找到一个合适的节点间通信系统。(尽管更高级的栅格系统能够在运行期间对其自身进行重新配置,但栅格模式系统的设计者需要认真思考系统功能到处理节点的分配问题。)除分割之外,栅格系统具有三种设计模式中最少的高级设计约束。一旦系统被分割,每个独立节点的设计与实现就会如同一个独立系统一样进行。栅格系统可在专用硬件上实现,但另一个普遍的选择是通过采用SMP硬件以及将共享的存储空间划分成针对每个内核的片段来建立栅格节点。

栅格模式系统与其它设计相比具有几个突出的优点。首先,它们可以很容易与过去的软件整合在一起,过去的系统甚至可以在栅格范围内它们自己的节点上继续完整地运行。此外,栅格系统在判决能力(determinism)和调试能力方面具有明显的优势。栅格模式系统设计的松散联结意味着在资源竞争方面不会有多少意外情况,由于熟悉的单内核调试方法可以用于每个孤立的系统节点,所以调试相对简单。栅格模式系统的分割特性使其更为强大,但这也是其缺陷的根源所在,因为分割使得它难于再分配资源,这将导致栅格系统在适应将来的和不可预期的要求方面缺乏灵活性。


图1:针对图像处理的平面模式。[page]


图2:栅格模式系统。

3. SMP模式

在一个对称多处理(简称“SMP”)系统中,单一映像(single-image)操作系统是运行在两个或多个共享存储空间的处理内核的顶层,这些处理器内核实质上是相同的。正如一台多内核桌面计算机一样,SMP模式系统可以在一个处理器内核组基础上动态地均衡任务。重新分配处理能力以匹配当前任务的这种能力是SMP系统的一大主要优点,这也使得SMP系统成为了三种模式中最灵活和适应性最强的模式。利用当今SMP实时操作系统,这种灵活性可以不需要在牺牲任何性能的条件下实现判决或实时响应。


图3:SMP系统实例。

一个SMP模式系统要求具备两样条件:一个是对称的共享存储器的多内核处理器平台,另一个是具有SMP功能的操作系统。今天众多的处理器系列都支持 SMP功能,也有多种渠道可以得到SMP操作系统。SMP系统的两个更为突出的优点是开发人员比较熟悉,以及可以快速启动。理论上来说,开发人员可以较为容易地启动具有SMP功能的操作系统,并将现有的应用设计进行移植,开发人员可以快速地利用多内核硬件的性能。

现实的情况基本如此,但是有几个问题需要牢记。第一个值得关注的问题是硬实时性要求,一个支持SMP功能的实时操作系统(RTOS)不会牺牲实时性能,但是,当使用SMP时,不具有硬实时性功能的操作系统将缺少判决性以及缺少更高级的和更可变的中断反应时间。对一个良好的SMP RTOS而言无需担心此点,但需牢记的是,通用的操作系统在SMP硬件上和它运行在单处理器系统上比较也许会有不同的表现。

第二个潜在问题是资源竞争。SMP系统的一个突出优点是很多资源都是共享的,这使得SMP系统更具有灵活性和适应性。然而,该优点也是一个缺点,由于所有的资源是共享的,将会由于资源竞争产生无法预期的性能改变。在每个系统中这是不会发生的,但如果开发人员想要系统按其设计的性能运行的话,还是要将此点牢记于心。

设计实现与调试

正如嵌入式开发一样,在硬件设计的过程中需要首先考虑软件的开发和调试。确保设计具有片上调试(OCD)的功能将会极大地加快系统开发进程,而且为编程和分析系统提供了一套可靠的工具。在平面设计模式和栅格设计模式中,单个OCD端口可让开发人员对系统的单个内核进行调试,就好像他们拥有一个更为传统的单内核系统一样。

实时跟踪端口是另外一个调试特性,这一特性随着系统中内核数目的不断增长而变得越来越重要。实时跟踪提供了一个标准方法去观察内核之间的相互作用,而不会破坏对再现问题起关键作用的敏感时序。如果多内核设备包含有一个或多个实时跟踪端口,这将会使的系统开发更容易。

有一个常常被提及但并不符合实际的说法:尽管许多开发人员成功采用了这三种设计模式,但是软件开发工具并不是针对多内核应用设计的。现在,已经有支持SMP功能的实时操作系统提供,且可以为开发人员提供不损耗实时判决的灵活的SMP模式。对于使用平面模式和栅格模式的设计来说,开发人员可以充分利用现有熟悉的、经过验证的单内核设计工具和方法。多内核设计可使系统变得更为复杂,但是已开发出来的工具和方法可以为开发人员在管理多内核硬件的复杂性、实现其强大的功能及成本等方面助上一臂之力。

关键字:嵌入式  多内核设计  平面模式 引用地址:三种嵌入式多内核设计模式的比较分析

上一篇:U-Boot在基于BF561的嵌入式Linux系统上的移植
下一篇:基于Windows CE的物流车载终端设计

推荐阅读最新更新时间:2024-05-02 21:59

用GNU工具开发基于ARM的嵌入式系统
摘要:介绍如何利用GNU的工具开发基于ARM的嵌入式系统,以及使用编译器、连接器和调试工具的具体方法,为广大嵌入式系统开发人员提供一种低成本的开发手段。 关键词:ARM GNU MC928MX1 gcc gdb gdbserver 当前,ARM公司的32位RISC处理器,以其内核耗电少、成本低、功能强、特有16/32位双指令集,已成为移动通信、手持计算、多媒体数字消费等嵌入式解决方案的RISC标准,市场占有率超过了75 %。多家公司都推出了自己的基于ARM内核的处理器产品,越来越多的开发人员开始了针对ARM平台的开发。通常开发人员需要购买芯片厂商或第三方提供的开发板,还需要购买开发软件,如C编译器或者集成了实时操作系统的开发环境。开
[嵌入式]
基于ulTRON操作系统的嵌入式GUI设计
随着嵌入式系统技术的不断发展,各类嵌入式应用对人机交互界面的要求也越来越高,这就使得对嵌入式图形用户界面的需求越来越迫切。与一般系统上的图形用户界面相比,嵌入式系统图形用户界面要求轻型、占用资源少、高性能、高可靠性、可配置等特点。 本设计是在东南大学国家专用集成电路系统工程技术研究中心自主研发的,并在遵循uITRON 3.0标准的RTOS-ASIX OS基础上设计出一套适合于手持设备、仪器仪表等应用的图形用户界面一一ASIX Window。该图形用户界面采用面向对象的设计思想,基于消息循环和事件驱动机制,构建了比较完整的窗口系统,为用户提供了类Win32 API的用户编程接口。考虑到一般嵌入式应用的屏幕较小,以及嵌入式系统处理器与存
[应用]
市场爆发:嵌入式厨电品牌一年猛增40%
“我们一定要抓住嵌入式 厨电 的机会,因为未来的增长就在这儿。”3月28日,格兰仕集团总裁梁昭贤在公司2017中国市场年会上说道,家电行业已经进入结构性新常态。《每日经济新闻》记者从中怡康获悉,2016年全国 厨卫 电器 市场零售额为1773亿元,同比增长13.5%,厨电成为家电品类中增长最快的品类。今年前2个月,国内白电市场零售额同比微降3%~5%,黑电零售额同比下降15%,但是厨卫市场仍然延续迅猛增长势头。   奥维云网(AVC)统计数据也显示,由于嵌入式厨电市场处于爆发期,2016年国内嵌入式 厨电品牌 增至124个,较2015年增加了36个,增长率达到40%,记者注意到,各大家电企业目前也正在积极加码厨电智能化的布局。在刚
[家用电子]
一种嵌入式的太阳能干燥实时监控系统的设计方案
  干燥室通过RS 485总线和上位机通信,上位机设定干燥室内的目标温度和湿度上限,并实时显示干燥室内温度、湿度、鼓风机转速、排气扇 开关 状态等参数。嵌入式系统软件采用FreeRTOS实时操作系统,保证了系统的实时性和可靠性,实现对太阳能干燥室内温湿度的实时监测与控制。经现场应用验证了系统运行稳定,控制精度高,响应速度快,从而证实了本方案具有较强的实用性。   0 引言   太阳能是一种清洁可再生能源,应用前景十分广阔。近年来,利用太阳能进行农产品、药品的加工也因其节能、干燥时间短、干燥品质高等特点而发展十分迅速。为保证干燥物料的品质与干燥效率,太阳能干燥设备在进行干燥作业时需要对干燥室内的温湿度进行实时监控。沈阳农业大
[单片机]
一种<font color='red'>嵌入式</font>的太阳能干燥实时监控系统的<font color='red'>设计</font>方案
嵌入式系统中LCD驱动的实现原理
结合三星公司ARM9系列嵌入式处理器S3C2410,讲解如何进行LCD驱动程序模块化编程及如何将驱动程序静态加载进系统内核。 LCD(液晶显示)模块满足了嵌入式系统日益提高的要求,它可以显示汉字、字符和图形,同时还具有低压、低功耗、体积小、重量轻和超薄等很多优点。随着嵌入式系统的应用越来越广泛,功能也越来越强大,对系统中的人机界面的要求也越来越高,在应用需求的驱使下,许多工作在Linux下的图形界面软件包的开发和移植工作中都涉及到底层LCD驱动的开发问题。因此在嵌入式系统中开发LCD驱动得以广泛运用。 本文以三星公司ARM9内核芯片S3C2410的LCD接口为基础,介绍了在Linux平台上开发嵌入式LCD驱动程序的一
[电源管理]
嵌入式固件开发之二——直接操作STM32寄存器的LED点灯
2 直接操作STM32寄存器的LED点灯测试程序 2.1 创建并编译工程 双击桌面上的“Keil uVision5”图标,启动MDK。 点击“Project”- “New uVision Project…”菜单项,打开工程创建向导。 选择工程目录,设置工程名字,点击保存。 在接下来的对话框中选择对应的SoC,点击“OK”。 在接下来的对话框中选择最基本的运行时软件组件,点击“OK”。 管理工程的项目。点击如下的图标,启动管理程序。 设置目标的名字为“STM32F103”,第一个组的名字为“Sources”,这些名字都可以根据需要任意取名。如下图所示,设置好后,点击“OK”完成工程的项目管理。 设置
[单片机]
<font color='red'>嵌入式</font>固件开发之二——直接操作STM32寄存器的LED点灯
快速嵌入式MCU设计仿真的三大因素浅析
调试嵌入式应用有很多种方法。设计者利用包含电路内置仿真器(in-circuit emulator,ICE)和电路内置调试器(in-circuit debugger,ICD)的调试工具可以快速构建出系统原型,帮助设计者在建立原型阶段和最终测试阶段查找硬件和软件中的问题。在调试过程中,成本和易用性是人们主要关心的问题,相比ICE工具,设计者可能更喜欢使用仿真器来调试代码段,因为仿真器可以直接在PC上运行,不需要映射到目标硬件上。   仿真器使用起来非常方便,通过它们开发人员可以了解一款新型的MCU,或者熟悉一套新的集成开发环境(integrated development environment ,IDE)工具包,而不需要接触目标硬件。
[模拟电子]
快速<font color='red'>嵌入式</font>MCU<font color='red'>设计</font>仿真的三大因素浅析
嵌入式Linux技术在工业控制网络中的应用
  随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。   这就要求工控系统必须具备两方面的功能:   一是要在现场完成复杂的测控任务,因为通常一些任务都具有一定的实时性要求;   二是要求测控系统能够与某一类型的控制网相连,以实现远程监控。在目前应用的大多数测控系统中,嵌入式系统的硬件采用的是8/16位单片机;软件多采用汇编语言编程,由于这些程序仅包
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved