处理器开发中的重大新闻是主要 CPU 制造商现在如何标准化多核处理器技术。虽然大多数软件社区都专注于服务器应用程序,但各种嵌入式计算应用程序的开发人员也可以从多核处理器的最新进展中受益。
多核处理器为将新功能与旧代码混合以及在同一系统上组合多个操作环境的需求提供了一种解决方案。与由多个子系统组成的传统嵌入式系统相比,高度集成的系统可以通过在单个处理系统的不同内核上运行的实时软件组件和人为指导的元素来构建, 通过消除冗余硬件来降低系统制造和维护成本。
挑战在于实施有效
利用新处理器芯片的软件。今天,系统将处理器内核专用于实时操作系统(RTOS) 和通用操作系统 (GPOS) 的独立、不同的操作环境。
以牺牲性能为代价共享 I/O
承载多个操作环境的软件必须支持处理器硬件接口的虚拟化,以便多个软件应用程序可以共享多核处理器的 I/O 而不会发生冲突。在这种情况下,虚拟化的概念涉及使用软件允许单个硬件同时为多个操作系统提供服务。
从历史上看,虚拟机管理软件模拟了整个底层机器,包括所有 I/O 设备。但是,使用完全虚拟化的机器会造成客户操作系统直接与硬件交互时所没有的性能损失。例如,图形密集型应用程序需要访问真实硬件以获得最佳性能。虚拟帧缓冲区太慢,并且缺乏渲染 3D 运动图像的应用程序的足够功能。这给医学成像系统或机器人装配机等应用带来了重大问题。在此类系统中,渲染图像的客户操作系统需要直接访问物理帧缓冲区及其控制 I/O。
直接访问 I/O 提高了响应能力
鉴于这种性能挫折,需要一种不同的虚拟机管理方法来支持最新的 I/O 硬件
增强功能并在确定性处理环境中实现最高性能。为了解决这个问题,虚拟机管理器(VMM,如图 1 所示)将特定设备直接分配给控制它们的 I/O 任务。在这个系统中,VMM 不模拟底层机器的整个 I/O接口,只模拟那些共享的设备。对于所有其他设备,它确保只有授权的操作环境才能访问特定的性能关键 I/O。例如,如图所示,VMM 确保主操作员显示屏只能由 GPOS 访问,在本例中为Windows。
图1
这种将 I/O 专门分配给特定虚拟机的概念对于保证实时响应能力至关重要。对响应关键硬件的访问必须仅限于控制硬件的 RTOS;同样,对遗留 I/O 接口的访问应仅限于相应的遗留应用软件。
虚拟化支持遗留代码迁移
在其自己的处理器内核上的虚拟实时机器中运行旧版 RTOS,可以将旧版实时软件从过时的硬件迁移到现代嵌入式平台。由于 I/O 可以虚拟化,因此可以模拟旧的硬件设备,从而最大限度地减少重写经过验证的软件的需要。例如,通过拦截对传统 VMEbus I/O 的 I/O 请求并将它们重定向到等效的板载 I/O 设备,可以将VMEbus 系统转换为更便宜的 SBC 系统。
有效的 VMM 系统将 VMM 可以复用的资源与必须为虚拟机独占的资源区分开来。例如,磁盘和企业以太网接口等设备可以在所有虚拟机之间多路复用和共享。但是,当确定性和性能比平等访问更重要时,虚拟化软件应该隔离资源以供特定虚拟机及其客户操作系统使用。
组合独立子系统的好处
因为多核芯片可以承载多个操作环境,以前需要多个离散计算模块的系统现在可以组合在单个硬件环境中。通过重用经过验证的遗留应用程序并支持 RTOS 和 GPOS 子系统之间更快的通信和协调,该技术可以降低成本、提高 可靠性和稳健性,并节省设计、制造和维护 资源。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19096浏览量
228792 -
芯片
+关注
关注
452文章
50196浏览量
420706 -
RTOS
+关注
关注
21文章
809浏览量
119358
发布评论请先 登录
相关推荐
评论