异构Arm核关键安全应用中的软件考虑

2020-10-26来源: EEWORLD关键字:Arm  异构  多核

本文作者: GREEN HILLS的RICHARD JAENICKE以及NXP的ALTAF HUSSAIN


多核处理器将为嵌入式系统带来包括更高的吞吐量、更小的尺寸、重量和功率方面(SWaP)的诸多益处。异构处理器可以将应用程序与每个内核类型的功能匹配,从而进一步提高数据吞吐量和SWaP能力。多核处理器的优势在于软件架构的复杂性增加,以最大限度地利用处理器内核。对于实时系统,特别是安全关键系统,由于处理器核心之间共享资源的争夺,多核处理器对严格确定性提出了重大挑战。随着异构内核的增加,这种挑战会增加,因为最坏的执行时间可能会因应用程序执行的核心而有所不同。


要更详细地探讨如何折衷,本文结合了NXP i.MX 8QuadMax应用处理器异构内核(图1)。i.MX 8QuadMax具有四个Arm Cortex-A53核和两个Cortex-A72核,通过将每个应用程序任务的性能要求与不同内核的性能容量匹配,从而实现功耗优化。与A53核相比,A72核的性能大约提高两倍,但功耗更高。


image.png

图1:NXP i.MX 8体系结构


为了实现多核解决方案的数据吞吐量和SWaP优势,软件架构需要支持可用处理器核心的高利用率。必须支持所有多核功能,从启用核心的并发操作(与可用内核强制进入空闲状态或在启动时保持重置)到提供确定性负载平衡机制。软件多处理体系结构越灵活,系统架构师就越需要高效率的工具。


多处理体系结构


与多处理器系统一样,多核处理器的软件体系结构可以根据内核之间的共享和协调来划分。基于多核系统的最简单的软件架构是非对称多处理(AMP),每个核心都可以独立运行,每个内核都有自己的操作系统或虚拟机监控程序及操作系统。每个核心运行不同的应用程序,在调度方面,核心之间很少或没有任何有意义的协调。这种解耦可能导致由于缺乏负载平衡、难以缓解共享资源争用以及无法跨核心执行协调活动(如全面内置测试所需)而导致利用率不足。


现代的AMP替代方案是对称多处理(SMP),其中一个操作系统控制所有资源,包括在哪个内核上运行的应用程序线程。这种架构易于编程,因为所有的内核都“对称”地访问资源,从而释放操作系统将任何线程分配给任何核心。对于具有异构内核的处理器,如i.mx8Quadmax,不知道应用程序将运行哪种类型的内核,可能会导致大量的无效执行时间,这会显著影响确定性性能。


混合多处理(Bound Multi-Processing BMP)直接解决这个问题是一种增强的、受限制的SMP形式,它静态地将应用程序的任务/线程绑定到特定的核心,这种静态绑定允许系统架构师严格控制多个核心的并发操作。


确保确定行为


除了实现多核处理器的吞吐量和SWaP目标外,安全关键系统还需要为每个应用程序保持可预测的最坏情况执行时间(WCET)。使用BMP来限制与应用程序配对的核心类型是确保异构系统中确定行为的一个重要组成部分。确保确定性的其他技术是时间和空间分区以及管理共享资源的争用。


在单核处理器中,多个安全关键型应用程序可以通过在托管应用程序之间可靠地划分内存空间来在同一处理器上执行。内存空间分区将内存的非重叠部分专用于在给定时间运行的每个应用程序,由处理器的内存管理单元(MMU)强制执行。通过使用时间划分,可以进一步增强确定性,即将一个固定的时间间隔(称为主帧)划分为一系列称为分区时间窗的固定子间隔。每个应用程序被分配一个或多个分区时间窗口,窗口的长度和数量由应用程序的WCET(最坏执行时间)和所需的重复率决定。


多核的干扰挑战


在多核环境中,可以有多个应用程序在不同的核心上并发运行。这些并发应用程序都需要访问处理器的资源。每个处理核心都有一些专用资源,但大多数资源在处理器核心之间共享,包括内存控制器、I/O、共享缓存和连接它们的内部结构。当多个处理器同时访问这些资源时,需要尝试并发访问这些资源。在安全关键型应用程序(如航空电子设备)中,主要关注的是这种共享资源争用如何导致运行在一个内核上的应用程序干扰另一个内核上的应用,会对确定性、服务质量以及最终的安全性产生负面影响。


如果不加以缓解,共享资源争用的影响可能会非常显著。只检查其中一个共享资源DDR memory,我们可能会猜测,当另一个内核试图访问相同的内存并且两个内核都在运行内存受限的应用程序时,WCET可能会加倍。实际上,由于共享资源仲裁和调度算法中的非线性行为,WCET可以增加8倍而不是2倍。试图访问DDR内存或争夺其他资源(如片上互连)的额外内核可能会导致WCET的增长更加显著(图2)。


image.png

图2:多核干扰的增加比核心数量的增加快。


多核干扰抑制


减轻多核干扰的一种方法是手动调度应用程序,以最小化资源争用。这样的方法并不能消除所有的干扰,任何时候修改或添加新的应用程序时,所有应用程序都需要重新测试和验证。另一种方法是一次只安排一个多任务应用程序运行。任务之间仍然会发生干扰,但不会干扰其他应用程序。这种方法在具有异构内核的处理器上尤其无效,因为不同内核类型上的执行时间不同。


更一般的方法是让操作系统管理共享资源争用。正如操作系统使用硬件MMU通过向不同的应用程序分配不同的内存区域来实现空间分区一样,操作系统可以按每个内核为共享资源分配带宽。解决操作系统中的多核干扰为系统集成商提供了一个有效、灵活的解决方案。它还简化了新应用程序的添加,而无需对系统架构进行重大更改,并减少了重新验证环节。


航空电子设备中异构核心的示例解决方案


NXP i.MX 8QuadMax应用处理器包括四个Arm Cortex-A53内核,共享一个1MB二级缓存,两个Arm Cortex-A72内核共享另一个1MB二级缓存。处理器还包括两个用于卸载系统功能的Cortex-M4F内核和两个能够运行OpenCL、Vulkan和OpenVX的GPU。i.MX 8的一个独特功能是硬件资源分区,系统控制器将外围设备和内存区域提交到客户定义的特定域中。域之间的任何通信都必须使用通过硬件消息传递单元运行的消息传递协议。i.MX 8QuadMax的目标是广泛应用,包括工业人机界面(Human-Machine Interface)和控制、电子驾驶舱、平视显示器、楼宇自动化和单板计算机。


Green Hill's INTEGRITY-178 tuMP多核RTOS是一个统一的操作系统,运行在i.MX 8中的所有64位处理器内核上,并支持AMP、SMP和BMP的同时组合。RTOS的时变统一多处理(tuMP)方法为将安全关键应用程序移植、扩展和优化提供了最大的灵活性。INTEGRITY-178 tuMP使用跨所有核心运行的时间分区内核,该内核允许应用程序绑定到一个或多个核心组(称为关联组 Affinity Groups)。如果需要,可以进一步限制关联组中应用程序的每个任务在特定核心上运行。对于i.MX 8QuadMax处理器,系统架构师可以使用关联组来确保给定应用程序的任务只在Cortex-A72内核上执行,或者只在Cortex-A53内核上执行(图3)。


image.png

图3:使用关联组,一个应用程序绑定到两个Cortex-A72核心,而另外两个应用程序绑定到Cortex-A53内核组。


INTEGRITY-178 tuMP直接解决多核干扰问题,包括一个带宽分配和监控(BAM)功能,符合最严格的安全级别。BAM功能监视并强制从每个处理器核心向共享资源分配带宽。BAM模拟了一种基于硬件的高速率方法,以确保对每个核心使用共享资源的连续分配强制执行。BAM在整个应用程序的执行时间窗口中平滑地调节带宽,从而允许在同一执行时间窗口中的其他应用程序获得其分配的共享资源。使用之前的内存访问干扰案例,将50%的内存带宽分配给高关键性应用程序会导致WCET接近恒定,即使干扰核心的数量增加,WCET也会降低8倍(图4)。这种能力有效地减轻了多核干扰,大大降低了集成和认证风险,同时也使集成商能够获得多核处理器的最大性能优势。


image.png

图4:使用BAM将50%的共享资源带宽分配给关键应用程序后,WCET几乎不变。


NXP i.MX 8QuadMax为航空电子设备和其他嵌入式实时系统的SWaP提供了一个重要的基础。Cortex-A72和Cortex-A53核心的结合为系统架构师提供了一种强调性能或电源效率以创建最佳系统级解决方案的能力。相应的软件体系结构需要有足够的灵活性和控制能力来充分利用这些异构的应用核心,同时保持严格的确定性。结合使用关联组或其他形式的BMP的能力和多核干扰解决方案(如BAM),可以在安全关键应用中有效地使用i.MX 8QuadMax。


关键字:Arm  异构  多核 编辑:冀凯 引用地址:http://news.eeworld.com.cn/qrs/ic514306.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:聚力智能边缘,OpenVINO新版发布
下一篇:让更安全的汽车电子快速落地,符合ASIL-D看门狗应用设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

赛灵思助力安森美智能功率模块平台更快更高效
本文编译自Xilinx官方博客安森美的智能功率模块(IPM)和集成功率模块是为有效控制电机而制造的。它们适用于高电压和高工作温度,并减少了驱动器的空间。更高的开关频率有助于提高效率,超越了传统电机控制解决方案的能力。这就是为什么在软件中具有算法的MCU无法优化新技术的原因。在专用逻辑中使用高级算法的快速切换可控制电动机的旋转磁场,从而最大程度地提高效率。通过Xilinx(赛灵思) Zynq-7000 SoC中的电机控制功能,该系统可通过设计获得最佳性能。无论Xilinx SoC内部正在运行什么,控制环的速度始终是可预测的。处理系统中的Arm内核使该设备变得智能化,可用于工业物联网(IIoT)。电机的能效起着至关重要的作用。许多电机
发表于 2020-11-22
赛灵思助力安森美智能功率模块平台更快更高效
i.MX 8m Plus如何通过增加ISP和NPU加速边缘计算
本文作者:NXP Ben Eckermann云计算、边缘计算和基于视觉的系统已经应用在越来越多的工业和消费系统中。此外,许多现代系统还采用机器学习和人工智能来增强用户体验,这种方法通常要求嵌入式系统设计者使用各种不同的SoC和专用处理器来完成所有这些任务。然而,NXP决定采取不同的方法,他们将图像信号处理器(ISP)、用于机器学习加速的神经处理单元(NPU)和MPU集成在一个器件中——先进的i.MX 8m Plus应用处理器。图1 i.MX 8M Plus应用处理器。云计算与边缘计算为了理解i.MX 8M Plus应用处理器为什么为边缘计算提供强大的解决方案,需要一些背景知识。云计算是指在用户使用内部网络范围之外的计算资源
发表于 2020-11-20
i.MX 8m Plus如何通过增加ISP和NPU加速边缘计算
三星Exynos 2100解密:ARM X1超大核+A78大核
       三星即将发布Galaxy S21系列,提供骁龙版和Exynos版两种选择。  其中国行、美版为骁龙版,欧洲市场发售的是Exynos版本,处理器将命名为Exynos 2100,骁龙版使用的处理器是骁龙875  作为一款定位高端旗舰的手机芯片,Exynos 2100和骁龙875一样具有强悍的性能。  11月18日消息,据报道,高通骁龙875和三星Exynos 2100都使用了5nm工艺制程,而且两颗芯片都有超大核(ARM Cortex X1)、大核(ARM Cortex A78)和小核,采用“1+3+4”三丛集架构。  报道指出,Exynos 2100和骁龙875的CPU频率
发表于 2020-11-19
三星Exynos 2100解密:<font color='red'>ARM</font> X1超大核+A78大核
苹果自研Arm处理器性能值得期待吗?
11月10日苹果的特别活动快要到了,在此活动上苹果大概率会发布搭载苹果自研Arm处理器的MacBook。而这颗苹果自研Arm处理器——或许会被称为A14X Bionic的性能,已经被曝光了。Expreview超能网引外媒报道,在Geekbench 5上发现了这颗A14X的跑分情况,显示该处理器的基础频率为1.8GHz,并且频率可以最高自己上到3.1GHz,它是一个8核处理器,并且GPU部分包含8GB的显存。从数据来看,A14X的单核基准测试得分为1634,而A12Z的得分为1118,A14的单核测试得分为1583,所以说相较A14,新的MacBook上的Arm处理器单核性能提升不大,毕竟单核性能的提升难度是很大的。多核方面
发表于 2020-11-08
Arm Ethos-U65 microNPU对边缘计算市场意味着什么?
本文作者:NXP边缘处理的技术总监、系统架构师和总工程师Ben Eckermann2020年10月19日,Arm宣布了Ethos-U65 微型NPU。NPU是一个神经处理单元,microNPU顾名思义是一个非常小的NPU,通常针对面积受限的嵌入式和物联网设备。早在2020年2月,NXP就宣布了选择Ethos-U55 microNPU作为Cortex-M系统。Ethos-U55是专为微控制器设计的,与Cortex-M处理器以及MCU中的系统SRAM和flash协同工作,以提供MCU客户所需的性能和效率的结合。但Ethos-U55并不一定适合于在基于Cortex-A的应用处理器上运行的本地复杂ML应用程序。通过我们与Arm的技术合作
发表于 2020-11-06
<font color='red'>Arm</font> Ethos-U65 microNPU对边缘计算市场意味着什么?
解析瑞萨新款MCU RA6M4三大特点
本文作者:瑞萨高级工程师 Stefan Ingenhaag随着最新一代RA系列MCU发布,将帮助您完成最新的创意和理念。基于最新一代Armv8-M体系结构的最先进的Arm Cortex-M33内核、卓越的嵌入式闪存、尖端的安全性、强大的性能和一流的外围IP,所有这些都高度集成在一颗MCU中,并具有最佳易用性,以确保产品快速上市。1更小的BOM和PCB尺寸RA系列以其独特的集成度降低系统成本。集成的安全元素只是众多示例中的一个,内部闪存可以取消对外部EEPROM的需求,高精度片上振荡器无需外围晶振,MCU采用宽输入电压范围的单轨电源工作。利用这些特性可减少许多外部组件和GPIO,从而能够选择更小的封装,减少PCB尺寸和BOM成本
发表于 2020-11-05
解析瑞萨新款MCU RA6M4三大特点
小广播
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved