多处理器内核的三种设计方案分析介绍
一个SMP模式系统要求具备两样条件:一个是对称的共享存储器的多内核处理器平台,另一个是具有SMP功能的操作系统。今天众多的处理器系列都支持SMP功能,也有多种渠道可以得到SMP操作系统。SMP系统的两个更为突出的优点是开发人员比较熟悉,以及可以快速启动。理论上来说,开发人员可以较为容易地启动具有SMP功能的操作系统,并将现有的应用设计进行移植,开发人员可以快速地利用多内核硬件的性能。本文引用地址:https://www.eepw.com.cn/article/149243.htm
现实的情况基本如此,但是有几个问题需要牢记。第一个值得关注的问题是硬实时性要求,一个支持SMP功能的实时操作系统(RTOS)不会牺牲实时性能,但是,当使用SMP时,不具有硬实时性功能的操作系统将缺少判决性以及缺少更高级的和更可变的中断反应时间。对一个良好的SMP RTOS而言无需担心此点,但需牢记的是,通用的操作系统在SMP硬件上和它运行在单处理器系统上比较也许会有不同的表现。
第二个潜在问题是资源竞争。SMP系统的一个突出优点是很多资源都是共享的,这使得SMP系统更具有灵活性和适应性。然而,该优点也是一个缺点,由于所有的资源是共享的,将会由于资源竞争产生无法预期的性能改变。在每个系统中这是不会发生的,但如果开发人员想要系统按其设计的性能运行的话,还是要将此点牢记于心。
设计实现与调试
正如嵌入式开发一样,在硬件设计的过程中需要首先考虑软件的开发和调试。确保设计具有片上调试(OCD)的功能将会极大地加快系统开发进程,而且为编程和分析系统提供了一套可靠的工具。在平面设计模式和栅格设计模式中,单个OCD端口可让开发人员对系统的单个内核进行调试,就好像他们拥有一个更为传统的单内核系统一样。
实时跟踪端口是另外一个调试特性,这一特性随着系统中内核数目的不断增长而变得越来越重要。实时跟踪提供了一个标准方法去观察内核之间的相互作用,而不会破坏对再现问题起关键作用的敏感时序。如果多内核设备包含有一个或多个实时跟踪端口,这将会使的系统开发更容易。
有一个常常被提及但并不符合实际的说法:尽管许多开发人员成功采用了这三种设计模式,但是软件开发工具并不是针对多内核应用设计的。现在,已经有支持SMP功能的实时操作系统提供,且可以为开发人员提供不损耗实时判决的灵活的SMP模式。对于使用平面模式和栅格模式的设计来说,开发人员可以充分利用现有熟悉的、经过验证的单内核设计工具和方法。多内核设计可使系统变得更为复杂,但是已开发出来的工具和方法可以为开发人员在管理多内核硬件的复杂性、实现其强大的功能及成本等方面助上一臂之力。
总结
合并是嵌入式领域长期存在的一个趋势,它使得性能更优良的嵌入式设备采用更少的元器件,从而降低了成本及功耗预算。这一趋势的最新进展是在单个封装内提供多个处理器内核的多内核嵌入式微处理器的增加,而且与同等的单内核处理器相比具有低功耗和低成本的优点。
评论