多核处理器

多核处理器是指在一枚处理器中集成两个或多个完整的计算引擎(内核),此时处理器能支持系统总线上的多个处理器,由总线控制器提供所有总线控制信号和命令信号。
该架构实现了“分治法”战略,通过划分任务,线程应用能够充分利用多个执行内核。
多核处理器是单枚芯片(硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将每个执行内核作为分立的逻辑处理器。通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。

多核CPU就是基板上集成有多个单核CPU

分支预测技术

一个系统的时间可预测性不仅仅取决于应用程序,同时取决于为应用程序提供服务的实时操作系统。实时操作系统以控制密集型代码为主,其代码结构和执行特征与普通应用程序区别很大。
由于现代处理器使用了流水线、乱序执行、动态分支预测、Cache等性能提高机制以及多核之间的资源共享,使得系统的最坏执行时间分析变得非常困难。
已有研究主要关注硬件层次和编译方法的调整和优化,较少关注软件层次。
许多高性能嵌入式处理器都引入了多级缓存、硬件预取以及软件预取等机制。

对于多核处理器来说,把任务分配到各个处理核心将会产生两类开销:

  1. 处理核心执行任务的计算开销
  2. 由于依赖关系,任务被分配到不同处理核心而产生的任务之间的通信开销。

为了提高多核处理器的性能,要达到两个目标:1)最小化不同处理器核心上的任务间的通信开销。2)平衡不同处理核心上的任务执行代价。
这两者看起来是矛盾的:当所有任务被分配到同一个处理核心时,核心间有依赖关系的任务之间的通信将被消除,但这导致某些处理核心负载过重,有些却处于闲置状态,核心间负载不平衡。当把任务均衡分配到各个核心,会最大化处理核心的利用率,但会加重核间任务的通信开销。
因此在多核处理器中,任务分配算法的目的是建立通信开销和运算开销总和最小的调度。
在一个多核处理器系统中进行任务调度的本质:建立一组有序的任务集合到处理核心集合的有效映射关系。

混合关键级调度问题成为嵌入式领域极富挑战性的课题之一。现代实时嵌入式系统,例如航空电子设备以及汽车系统的实际应用,正向着功能不断增加但所占空间更小、重量更轻、成本更低、能耗更少的方向发展。
因此使用冗余硬件分层设计来实现任务之间隔离执行的传统方法,正向着不同关键级的多种功能集成到一块物理平台上,共享硬件资源的研究方法转变。
但这种以提高资源利用率为目的的共享可能会使低关键级任务对高关键级任务的正确执行产生干扰,导致高关键级任务错过截止时限,从而造成非常严重的后果。
例如从高效利用处理器计算能力的角度,可以将汽车的防抱死制动任务与导航任务放在同一个处理器上执行,若导航任务未能按预设时间执行完毕,防抱死任务很可能无法得到及时执行,从而导致重大安全事故。
混合关键级(Mixed Criticality,MC)系统能够同时保证高效的资源利用与高关键任务的正确执行。此类系统的实时调度需同时满足两个目标:1)一是在相对保守的时间属性设定下,满足认证标准对涉及安全关键功能的验证要求。2)同时在较乐观的时间设定下,满足高效利用计算资源的设计要求。
这类混合关键级的调度问题,无法使用传统的实时调度算法解决。系统依据标准认证进行关键级分级,任务获得自己的关键级属性,高关键级任务的时间参数随着关键级增加渐趋保守;在系统处于相对低关键级任务执行阶段时,基于优先级调度所有任务,在系统处于相对高关键级执行阶段时则优先确保高关键级任务的截止时限。

基于深度学习的自适应实时DVFS算法

实时嵌入式软件不仅要求功能正确,保证实时性,还需要满足低功耗要求。
例如太空飞行器存在粒子反转现象,而采用加固计算将带来散热问题,因此在满足时间要求的情况下应尽可能降低电压和CPU工作频率。预测WCET不仅判断软件是否满足系统实时性要求,还需要调整CPU工作电压和频率,使运行时间接近规定时限以节省能耗。
在实时系统中提供最佳低功耗和高性能处理器的一种有前景的技术是动态电压和频率调节。
深度学习的实时嵌入式系统功率优化问题:假设处理器频率设置较低并根据任务要求逐渐增加。在实时系统中,每个任务都指定了时间阈值,由于嵌入式系统软件的复杂性,Cache引入,多核问题会导致WCET估算异常复杂,同时WCET估算会远高于实际运行时间,因此根据WCET选择CPU以及确定CPU工作频率往往导致实际执行时间远远小于时间阈值,这对降低功耗是不利的。
RT-DVFS(Real-time Dynamic Voltage and Frequency Scaling)实时动态电压和频率调节技术利用实际工作负载中的这些变化来动态调整电压和频率,以降低处理器的功耗。
当实际执行时间AET接近时间阈值时,该技术会增加工作频率和电源电压以提高运行速度;当任务执行时间AET远低于时间阈值时,其会降低工作频率和电源电压以降低功耗,但无论如何降低功耗都需要满足AET小于时间阈值为前提。
自适应实时DVFS算法,可以进行动态电压和频率调节(DVFS),以达到降低功耗的目的,并动态修正WCET值。
采用递推最小二乘方法根据软件时间复杂度、空间复杂度、输入数据规模等信息预测软件执行时的CPU电压和工作频率。
在实时嵌入式系统中,衡量系统实时性的最重要的参数是任务的最坏情况执行时间WCET,它为任务的实时调度、任务的优先级仲裁、资源的冲突仲裁以及任务间通信提供依据,是确保系统安全运行的可信基础。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饼干饼干圆又圆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值