老哥学习网 - www.lg9.cn 2024年04月16日 23:32 星期二
当前位置 首页 >情感故事 >

【多核和虚拟化背景下的新一代智能手机软件方案设计】多核处理器

发布时间:2019-01-17 19:43:32 浏览数:

  手机是当前使用最多的消费类电子产品,它的功能从最初的打电话发短信发展到现在的发微博看电视,尤其是Android/iPhone为代表的智能手机平台更是开启了一个新的时代,手机已经不单单是一个通信工具,而是维系我们社会交流的最重要手段。
  为了给用户提供更好的体验和功能,现在的应用程序越来越复杂,同时无线通信制式也不断发展,对手机处理能力要求越来越高。终端芯片设计也逐渐走向了原来PC的发展方向,处理器频率不断提升,内核数越来越多,双核已渐成主流,四核也即将推出。这使手机软件复杂度成指数上升,产品的开发周期越来越长。另一方面,用户的抱怨也在不断增加,包括软件不稳定、容易发热、电池待机时间短等。手机设计的发展似乎进入了一个怪圈。
  瑞典ENEA公司对手机多核发展、操作系统和整机功耗等各个方面进行深入的研究,将最新的多核虚拟化技术带到了终端领域,凭借其对通信领域深入理解和通信设备及终端制造商长期合作经验为客户提供了完整的软件平台解决方案,既保证了用户已有成熟软件的继承,又为新的需求提供了可扩展平台。
  典型的智能手机解决方案
  一个典型的智能手机方案一般包括4个处理核(如图1所示),每个核上运行不同的操作系统承载相应的业务,构成了多核,多操作系统的复杂软件环境。
  
  ARM-A运行智能操作系统,例如Android等开放平台,主要给用户提供完善的操作界面和应用运行环境。其性能要求和用户使用习惯有关,尤其是当用户运行大型应用程序时对CPU主频要求很高,所以导致多核,甚至四核处理器的出现。由于其主要处理人机交互操作,故对系统实时性要求并不高。
  ARM-C运行RTOS,主要完成不同通信制式高层协议栈处理。通信协议栈一般由终端芯片厂商自行研发,考虑到实时要求,产品稳定性以及知识产品等方面的原因,一般情况下选择商用的RTOS,而不会选用诸如Linux/Android等开源平台。
  DSP-C一般完成底层协议栈处理,对实时性有比较严格要求。处理任务比较单一,通常基于Bare-Metal方式,直接使用中断触发方式进行业务处理。由于其无操作系统支持,所以一般调试手段很有限。问题定位比较困难,尤其是多核交互的复杂问题。
  DSP-M通常利用DSP完成音视频和语音编解码功能。来分担ARM-A在音视频处理的负载。和DSP-C一样大多数也是基于Bare-Metal方式运行。
  从上述方案中可以发现目前智能手机系统非常复杂,在硬件方面包括CPU和DSP等多处理器核。这样的方案不可避免的带来功耗问题。这就是目前市场上的某些智能手机使用一段时间就会发热,待机时间很短的主要原因之一。从软件开发角度看,不同操作系统以及Bare-Metal等方式并存环境会带来软件复杂度成指数增长,不同操作系统需要不同开发调试工具等矛盾对产品开发周期和系统稳定性也带来严峻的挑战。
  ENEA多核虚拟化解决方案
  瑞典ENEA公司作为全球专注于通信领域RTOS的领导者之一,其将OS虚拟化技术、OSEck DSP操作系统、LINX软件总线技术以及后台系统调试工具Optima成功引入终端设计领域。为下一代智能手机提供完备的可扩展的基础开发平台。
  Hypervisor基于微内核架构设计的虚拟化平台,其本身也包含了传统RTOSN有功能。同时通过虚拟化技术可以支持Linux、OSESnVxWorks等不同操作系统,由于其对原有操作系统本身代码修改很少,所有很容易支持新的操作系统。Hypervisor通过虚拟技术可以动态地将Guest OS和自身的任务分配到一个或者多个核上做负载均衡。ENEA虚拟化技术对Linux性能影响很小,一般典型Linux应用程序的性能损失在0.5%以内。Hypervisor支持GuestOs之间的安全隔离,其中一个GuestOS的异常不会扩散到整个系统中。
  OSEck是ENEA针对DSP设计的操作系统,其设计初衷是既具有DSPBare-Metal的性能,又具有操作系统的多任务和开发调试工具支持功能。其典型最小内存需求只有10KB左右,可以节省宝贵的内存资源。目前ENEAOSEck操作系统对主流DSP都有良好支持,并广泛应用在通信领域。
  LINX是ENEA开发的软件总线技术。像传统硬件总线一样,LINX可以将不同操作系统连接起来,其屏蔽了异构系统之间通信的差异,核间异构操作系统间通信就像本地通信一样。LINX底层的物理传输介质既支持共享内存、DMA和sRIO等高速传输也支持以太网等网络通信介质。
  Optima是ENEA提供的后台调试工具集,它基于EcIipse平台,集成了针对嵌入式开发所需要的源码调试、性能分析、内存分析和LOG/Trace分析工具。它可以将系统中任务之间交互过程和任务切换等信息进行记录,并以图形化显示出来。使开发者可以对整个系统运行轨迹和事件有全面掌握,配合Optima提供的其他工具可快速找出问题或者性能瓶颈点。
  ENEA解决方案通过虚拟化技术将原有操作系统和处理器进行隔离。这样整个系统的资源分配都通过Hypervisor来完成,Hypervisor可以根据Android系统和RTOS需求动态地将两个ARM处理器资源进行分配,做到负载均衡的目的。避免了原有方案中某种场景下一个ARM核很忙但是另一个ARM核很空闲的情况。同时在CPU占用率不高的情况下可以将所有处理集中到一个ARM核上,并将另一个ARM核下电处理,达到节能降耗的目的。这样的设计方案既兼顾突发任务对CPU处理能力的需求,又可以保证大多数情况下降低功耗的目的。
  现在的智能机对多模多制式需要越来越高,如何将不同制式协议栈集成在一起,并快速推出稳定的产品。也是工程师面临的一个挑战。传统方法是将协议软件移植并集成在一个RTOS上,但是这样会导致软件兼容性问题,尤其是时序问题,导致产品稳定周期变长。同时不同协议栈运行在一起,当某个协议栈出现故障后会导致整个系统崩溃,影响用户的体验和感受。为此ENEA建议厂商将原有协议软件和RTOS直接运行在Hypervisor上。最大化的继承现有代码,缩短产品稳定周期。通过Hypervisor安全隔离技术保证了两个操作系统各自独立不会相互影响,一个制式协议栈系统出现问题后只需要对其单独处理,而不会影响整个系统正常运行。
  随着DSP处理能力越来越强,单DSP运行多个复杂业务的需要越来越大。这样就带来了DSP操作系统的需求,为此在新一代手机软件方案中部署了OSEck操作系统。可以将语音、媒体和底层协议栈等业务运行在OSEck操作系统之上。OSEck的实时性可以保证业务的实时要求。用户也可以将原有需要ARM处理的业务流程如DRx过程完全放在DSP侧完成,避免DRX过程唤醒ARM来减少整机功耗。0SEck充分发挥DSP的各种资源为业务提供统一的平台软件、调试手段和性能优化工具,可以使厂商聚焦于自己的业务代码,快速推出产品。
  
  
  对于其他RTOS、Hypervisor和OSEck等不同的操作系统,ENEA通过LINX软件总线技术将其串联起来。这样不同OS之间的访问就像调用本地API一样,屏蔽了异构操作系统的差异。配合Optima分析工具可以在业务过程中逐一分析每个操作系统的状态,相互配合将整个系统优化到最佳状态。总结
  目前嵌入式产品领域中,Android/Linux将越来越成为主流,其完整的产业链是其他任何操作系统厂商不能比拟的。如何拥抱LinUX同时又提供自己独特的产品解决方案将是传统RTOs厂商所面临的严峻问题。ENEA作为聚焦于通信领域的RTOS提供商将Linux开源优势和自己的独有产品完美整合在一起,为客户提供了全套平台解决方案,帮助客户聚焦自己擅长的业务领域快速推出产品创造价值。

推荐访问:多核 新一代 方案设计 手机软件

相关文章:

Top