0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

解决安全关键型软件的处理器挑战

星星科技指导员 来源:嵌入式计算设计 作者:TIM KING 2022-11-08 11:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

多核、超线程和高速 DMA 等现代处理器功能旨在优化平均案例执行时间。但是,这些优化通常以牺牲最坏情况的执行时间为代价,并使系统更难绑定。这种情况给安全关键型软件的开发人员带来了重大挑战,他们必须针对最坏情况进行设计。因此,以下讨论探讨了为什么在软件开发过程中关注最坏情况的行为,以及安全关键软件开发人员面临的一些与处理器相关的关键挑战以及解决这些问题的方法。

为什么要关注最坏的情况行为?

在安全关键型软件环境中,必须确保三个关键事项:

首先,每个周期线程(或任务)必须始终以其定义的速率(例如,100 Hz)执行。这很重要,因为每个线程必须以给定的速率执行,否则系统可能会变得不稳定,因此不安全。

其次,必须为每个周期线程分配一个不能超过的固定时间预算(例如,100 Hz 时为 200 微秒)。这很重要,因为它允许底层 RTOS 强制执行时间分区。

第三,每个周期线程的固定时间预算必须足以覆盖线程的最坏情况行为。这很重要,因为许多安全关键线程必须在每个周期内执行以完成。否则,系统可能会变得不稳定,从而导致不安全。

请注意,这组要求与非关键软件系统形成鲜明对比,在非关键软件系统中,人们希望整体性能处于最高水平,但可以容忍性能低于平均水平的偶尔“故障”。

多核和缓存/内存争用

自 1985 年以来,CPU 吞吐量大约每 18 个月翻一番,这与摩尔定律一致。然而,由于三个关键因素,这一趋势在2005年左右开始放缓。主要原因是内存速度跟不上CPU性能,在同一时间段内每年仅增加约10%。较大的缓存有助于缓解此问题,但内存子系统仍然是重要的性能瓶颈。

从理论上讲,更高的并行性应该通过使CPU能够同时处理多个指令来提高峰值性能。然而,流水线、分支预测和推测执行等技术已经开始“碰壁”,这使得利用这种并行性变得越来越困难。

散热因素也减缓了 CPU 吞吐量的推进速度。随着工作频率的增加,功耗和发热也会成比例地增加。在许多环境中,散发这种热量提出了艰巨的挑战,特别是对于被动冷却的嵌入式系统

最近,多核处理器已经发展到可以应对其中的许多挑战。例如,为了提高内存吞吐量,每个 CPU 内核都配备了自己的 L1 缓存。更紧密的物理封装还通过缩短内核之间的信号运行来提高性能,从而使数据传输成比例地更快、更可靠。同时,多内核使处理器能够在每个时钟周期执行更多指令。这使得每个内核都能以较低的频率运行,从而消耗更少的功率并产生更少的热量。

尽管取得了这些进步,但多核处理器仍然给安全关键型软件的开发人员带来了挑战:主要是对二级缓存和内存子系统等共享资源的争用增加。图 1 显示了一个简单的双核处理器,每个内核都有自己的 CPU 和 L1 缓存,两个内核共享一个 L2 缓存和一个 RAM 子系统。

图1:一个简单的双核处理器,每个内核都有自己的CPU和L1缓存,两个内核共享一个L2缓存和一个RAM子系统

pYYBAGNpyuSAa-v8AAB1HyfYN6Y653.jpg

左侧列出的值表示每个 CPU 在访问给定资源时产生的“成本”。例如,假设 CPU 访问其本地 L1 缓存需要一个周期。如果访问未命中,并且 CPU 必须转到 L2 缓存,则需要 10 个周期。如果二级缓存未命中并且CPU必须转到RAM,则成本为100个周期。如果缓存“脏”并且需要“回写”,则性能会更差。请注意,这些数字并不准确,并且会因处理器而异,但相对数量级是典型的。重要的一点是,CPU 访问数据的距离越远,数据传输所需的时间就越多。

当 CPU 上的多线程进程同时争用该内核的 L1 缓存时,以及当多个内核同时竞争共享的 L2 缓存和内存子系统时,就会发生争用。即使使用单核处理器,CPU 也很容易使内存子系统不堪重负。在多核系统中,多个内核必须争用共享内存资源,内存访问瓶颈要严重得多。

松弛调度和缓存分区

开发人员可以减少内存争用并利用多核的强大功能,同时仍满足最坏情况的执行要求的一种方法是利用针对安全关键型应用程序优化的实时操作系统。例如,DDC-I 的 Deos 提供缓存分区和松弛调度功能,可缓解内存访问瓶颈,增强确定性,并提高跨一个或多个内核的安全关键应用程序的 CPU 利用率。

缓存分区使设计人员能够将一部分缓存专用于每个内核,从而减少内存争用和最坏情况下的执行时间。通过这种物理分区,每个核心可用的缓存总量将减少。但是,由于多个内核不再共享同一资源,因此总体争用减少了。

同时,Slack 调度利用了平均线程执行时间通常比最坏情况执行时间短得多的事实。对于那些实际执行时间小于最坏情况预算时间的线程,RTOS回收未使用的时间并将其重新分配给其他线程,从而提高整体系统性能。

超线程 (HT)

HT 允许通过复制存储特定应用程序状态的处理器部分而不复制处理器的主处理引擎 (CPU) 来提高计算的并行化。这样,HT 处理器在 RTOS 中显示为两个逻辑处理器。超线程技术还可用于多核设置,其中每个内核有两个逻辑内核。

超线程处理器的优点是提高了应用程序代码的并行化,并缩短了反应和响应时间。例如,与非HT处理器相比,某些HT处理器的性能提高了30%。不幸的是,使用安全关键型软件很难实现此性能,因为 HT 增加了对缓存和内存子系统的争用,并使系统更难绑定。因此,在许多安全关键应用中必须禁用HT。

动态频率缩放 (DFS)

DFS(也称为 CPU 节流)允许实时调整处理器时钟的频率,以节省功率或减少芯片产生的热量。虽然DFS主要用于电池供电的移动设备,但也可用于被动冷却的航空电子系统,该系统必须仅使用环境空气来满足严格的热分布。DFS通常与动态电压调节(DVS)结合使用,因为频率与工作电压成正比,功耗随着电压的平方而增加。

DFS 和 DVS 可以节省功耗并减少热量,但在安全关键环境中,它们存在问题,因为它们还可以减少处理器在给定时间内可以发出的指令数量(包括减慢内存总线访问速度)。因此,性能可能会以难以绑定的不可预测的方式降低。如果功耗不是门控因素,则可以禁用 DFS 和 DVS。或者,想要利用DFS和DVS的设计人员可以通过测量最坏情况的性能来实现,同时在较低频率/电压下运行处理器,然后相应地进行预算。

直接内存访问 (DMA)

DMA 允许设备在不涉及 CPU 的情况下将大量数据(包括地图显示和地形数据库)移入和移出系统内存,从而提高性能,从而释放 CPU 以执行其他工作。对于安全关键型软件,DMA 的主要缺点是它在 CPU 和内存管理单元 (MMU) 的控制之外运行。因此,DMA 控制器中的缺陷可能会破坏空间分区。缓解此问题的一种方法是将RTOS与满足最高设计保证的特殊DMA控制器软件一起使用。

在像Deos这样的RTOS的帮助下,安全关键型系统的设计人员可以获得具有多核、高速DMA和DFS的高级处理器的性能优势,而不会影响最坏情况下的执行时间。然而,并非所有高级处理器功能都非常适合安全关键型应用。有些(如超线程)虽然是提高平均性能的理想选择,但只是缺乏安全关键应用程序所需的确定性,必须禁用。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    20148

    浏览量

    247050
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222912
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    关于协处理器自定义指令的实现

    输入操作数。用%+[变量名]的明确指明方式就不需要按顺序。 结果演示 我们团队先在蜂鸟的核里根据nice指令的接口,挂了一个协处理器,定义软件指令开关协处理器,并可以读取协处理器
    发表于 10-31 06:36

    云拼接处理器的性能如何?

    云拼接处理器作为大屏拼接及音视频解决方案中的关键设备,其性能直接影响着展览展示、可视化展厅、中小控制室和园区监控等行业的视觉呈现效果与系统运行稳定性。深圳融大视觉科技有限公司推出的云拼接处理器,在
    的头像 发表于 09-05 00:11 547次阅读

    编译功能安全验证的关键要素

    在汽车、工业、医疗等安全关键应用中,确保功能安全合规性需要严格的工具链验证。开发安全关键
    的头像 发表于 07-05 13:37 1293次阅读

    DS5003安全处理器芯片技术手册

    DS5003安全处理器集成了最先进的加密功能,包括一套专门设计的安全机构,能够抵御各种级别的威胁,包括监测、分析和物理攻击。这样,想要获得任何有关存储内容的信息,都需付出极大努力。
    的头像 发表于 05-15 09:29 735次阅读
    DS5003<b class='flag-5'>安全</b>微<b class='flag-5'>处理器</b>芯片技术手册

    DS2476 DeepCover安全处理器技术手册

    DS2476为安全ECDSA和HMAC SHA-256协处理器,与DS28C36配套。协处理器可计算在DS28C36执行任何运算所必须的HMAC或ECDSA签名。DS2476提供一组核心的加密工具
    的头像 发表于 05-14 10:51 724次阅读
    DS2476 DeepCover<b class='flag-5'>安全</b>协<b class='flag-5'>处理器</b>技术手册

    光子 AI 处理器的核心原理及突破性进展

    ,光子 AI 处理器依靠光信号的传输、调制及检测来完成计算任务,因其具备高速、低功耗、高带宽等突出优势,被视作突破现有计算瓶颈的关键技术之一。 核心原理及面临的技术挑战 光子 AI 处理器
    的头像 发表于 04-19 00:40 3634次阅读

    自主创新,安全可控:申威SW831处理器与国产终端产品推荐

    动力。本文将从申威SW831处理器的技术特性出发,推荐两款基于该处理器的终端设备—— GPC-100申威台式机 和 G701申威瘦客户机 ,为政企、金融、能源等关键领域提供安全可靠的国
    的头像 发表于 02-21 15:38 3460次阅读

    Andes D45-SE处理器荣获ISO 26262 ASIL-D认证

    近日,Andes晶心科技的D45-SE处理器成功获得了由SGS TÜV颁发的ISO 26262 ASIL-D认证。这一殊荣标志着Andes D45-SE处理器已经达到了汽车业界对于关键安全
    的头像 发表于 02-14 14:52 967次阅读

    迅为3A6000开发板/龙芯3A6000与龙芯3A5000等龙架构处理器软件兼容

    个最新研发的高性能 LA664 处理器核,支持同时多线程技术(SMT2),全芯片共 8 个逻辑核。集成安全可信模块,可提供安全启动方案和国密(SM2、SM3、SM4 等)应用支持。 根据中国电
    发表于 02-12 15:06

    低功耗处理器的优势分析

    就考虑到能耗问题,通过优化架构、工艺和软件来降低功耗的处理器。它们通常采用先进的制造工艺,如FinFET或GAAFET技术,以及高效的电源管理技术,以实现在保持性能的同时减少能耗。 低功耗处理器的优势 1. 节能和环保 减少能源
    的头像 发表于 02-07 09:14 1782次阅读

    处理器和芯片的区别是什么 处理器是指cpu吗

    是一种特定类型的芯片,专门设计用于执行一系列指令来处理数据或控制其他设备。它是计算机或其他电子设备中的关键部件,负责执行程序指令,控制计算机系统的运行。处理器通常由运算逻辑部件、寄存
    的头像 发表于 02-01 14:59 7813次阅读

    量子处理器的作用_量子处理器的优缺点

    量子处理器(QPU),又称量子级计算机处理器,是量子计算机中的核心部件,其作用主要体现在以下几个方面:   一、高速计算与处理能力   量子处理器利用量子比特的叠加和纠缠特
    的头像 发表于 01-27 13:44 1509次阅读

    量子处理器是什么_量子处理器原理

    量子处理器(QPU)是量子计算机的核心部件,它利用量子力学原理进行高速数学和逻辑运算、存储及处理量子信息。以下是对量子处理器的详细介绍:
    的头像 发表于 01-27 11:53 1770次阅读

    QorIQ®T1042多核处理器

    。QorIQ®T1042多核处理器适合于路由、交换机、网关ip和通用内嵌式计算系统中的组合控制、数据路径和传输层处理。与多个分立器件相比,QorIQ®T1042多核
    发表于 01-10 08:48

    云计算HPC软件关键技术

    云计算HPC软件关键技术涉及系统架构、处理器技术、操作系统、计算加速、网络技术以及软件优化等多个方面。下面,AI部落小编带您探讨云计算HPC软件
    的头像 发表于 12-18 11:23 791次阅读