UEFI学习笔记(十八):ARM电源管理之PSCI和SCMI概述

news/2024/11/19 5:44:44/

一、PSCI

PSCI(Power State Coordination Interface)是一种用于支持不同监督系统之间协作的标准接口,目的是在多个操作系统或虚拟化层(如超管理器)之间协调处理器的电源状态管理。操作系统会动态调整核心的电源状态,以便平衡计算能力与当前负载,同时尽量减少能耗。常见的电源管理技术包括:

1、空闲管理(Idle Management):

当操作系统的内核没有线程调度到某个核心时,操作系统会将该核心置于低功耗状态(如时钟门控、保持或完全关机状态)。但核心仍可供操作系统使用。

2、热插拔(Hotplug):

当计算需求较低时,物理关闭某些核心,等需求增加时再将其重新启动。操作系统会将所有中断和线程从被关闭的核心迁移出去,并在核心重新上线时重新平衡负载。

由于在 ARM 系统中可能存在不同厂商的操作系统,因此电源管理需要一种协作方法。无论电源管理是由操作系统(EL1)还是虚拟化管理程序(EL2)在非安全状态下执行,当需要进入空闲状态、启动或关闭核心,或重启或关闭系统时,其他异常级别的监督系统都需要对这些电源状态变化做出响应。此外,如果某个核心的电源状态通过唤醒事件发生变化,可能还需要其他监督系统恢复上下文等操作。

PSCI 提供了一个标准接口,定义了电源状态协调接口(Power State Coordination Interface),以支持在空闲管理、热插拔、关机和重置等操作中的跨系统协作。该接口旨在通用化处理以下电源管理场景的代码:

(1)核心空闲管理。

(2)核心的动态增删以及二级核心启动

(3)系统关机和重置。

PSCI 接口并不涉及动态电压频率调节(DVFS)或设备电源管理(如外设的管理),对于这些功能,ARM 建议使用高级配置和电源接口(ACPI)或系统控制和管理接口(SCMI)。

二、SCMI

SCMI(系统控制与管理接口)是一套操作系统独立的软件接口,用于系统管理。SCMI 可扩展,目前提供以下几类接口:

1、接口发现与自描述:用于发现和描述接口的功能。

2、电源域管理:允许将特定设备或域置于其支持的各种节能状态。

3、性能管理:控制由计算引擎(如应用处理器(AP)、GPU 或其他加速器)组成的域的性能。

4、时钟管理:设置和查询平台管理的时钟的频率。

5、传感器管理:读取传感器数据并接收传感器值变化的通知。

6、复位域管理:将设备或域置于不同的复位状态。

7、电压域管理:配置和管理提供电压供应的域的电压水平。

8、功率限制与监控:配置、设置功率上限并监控电源限制域的功率消耗。

9、引脚控制协议:用于控制引脚或引脚组及其配置。

随着行业趋势的发展,越来越多的系统开始提供微控制器来抽象化电源管理或其他系统管理任务,减少对应用处理器(AP)的依赖。这些微控制器通常有类似的接口,无论是在提供的功能方面,还是在请求通信方式上。电源控制系统架构(PCSA)描述了如何构建这种架构的系统。

PCSA 定义了系统控制处理器SCP的概念,SCP 用于抽象化电源和系统管理任务,接收来自应用处理器(AP)和其他系统代理的请求,协调这些请求,将平台中的组件置于合适的电源和性能状态。SCMI 特别适用于这种类型的系统。

SCMI 接口提供了两个层次的抽象:

1、协议(Protocols): 每组相关功能被称为一个协议。SCMI 接口结构是可扩展的,因此未来可能会添加其他协议。

2、传输(Transports): 协议通过传输进行通信。传输规范描述了如何通过平台组件和接口中的代理之间通信协议消息。

该接口通常在固件中进行描述,使用设备树(FDT)或高级配置与电源接口(ACPI)规范。由于这些协议是通用的,因此会生成通用的内核代码来驱动它们。在 ACPI 的情况下,接口也可以通过 ASL 方法驱动。

总的来说,SCMI 通过提供一套标准的接口规范,支持在微控制器管理的系统中进行高效的电源、性能和其他系统管理任务。


http://www.ppmy.cn/news/1548160.html

相关文章

GraphPad Prism与鹰谷电子实验记录本强强联合,数据兼容互通

在科研探索的征途上,每一次数据的记录与分析都至关重要。鹰谷很高兴地宣布,鹰谷电子实验记录本InELN,与国际知名生物数据统计分析GraphPad Prism软件,实现数据快速兼容互通!使用鹰谷电子实验记录本的用户,将…

Matlab信号处理:频域分析中的包络谱

包络谱是旋转机械故障诊断中一种重要的分析手段。顾名思义,包络谱就是信号包络的频谱分析结果,它主要针对调幅信号的解调。通常,先对原始信号去均值,即去趋势化,采用希尔伯特变换,将原始信号转换为解析信号…

Jmeter中的定时器(二)

5--JSR223 Timmer 功能特点 自定义延迟逻辑:使用脚本语言动态计算请求之间的延迟时间。灵活控制:可以根据测试数据和条件动态调整延迟时间。支持多种脚本语言:支持 Groovy、JavaScript、BeanShell 等多种脚本语言。 支持的脚本语言 Groov…

leetcode-44-通配符匹配

题解: 代码: 参考: (1)牛客华为机试HJ71字符串通配符 (2)leetcode-10-正则表达式匹配

鸿蒙HarmonyOS 地图定位到当前位置 site查询等操作

应用服务Map使用 地图定位 地点查询及导航 周边查询 点位标记定义等 地图定位 前提地图已经能正常显示,若不能显示请大家参考之前的那篇如何显示地图的博文 地图相关的api 位置效果图: module.json5配置权限 "requestPermissions": [{&…

预处理(1)(手绘)

大家好,今天给大家分享一下编译器预处理阶段,那么我们来看看。 上面是一些预处理阶段的知识,那么明天给大家讲讲宏吧。 今天分享就到这里,谢谢大家!!

实现 MVC 模式

实现 MVC 模式,通常可以通过分离 Model、View 和 Controller 的职责来构建一个模块化、易于维护的应用程序。以下是 MVC 的实现步骤和代码示例,以 Java Spring Boot 为例,这样的实现可以方便地应用于 Web 应用程序: 1. Model 层:数据和业务逻辑 Model 层负责应用程序的核…

【计算机网络】【网络层】【习题】

计算机网络-网络层-习题 文章目录 13. 图 4-69 给出了距离-向量协议工作过程,表(a)是路由表 R1 初始的路由表,表(b)是相邻路由器 R2 传送来的路由表。请写出 R1 更新后的路由表(c)。…