ARM系统控制和管理接口System Control and Management Interface

本文档描述了一个可扩展的独立于操作系统的软件接口,用于执行各种系统控制和管理任务,包括电源和性能管理。

本文档描述了系统控制和管理接口(SCMI),它是一组操作系统无关的软件接口,用于系统管理。SCMI 是可扩展的,目前提供了以下接口:

• 支持的接口的发现和自描述。

• 电源域管理,即将给定设备或域置于其支持的各种省电状态的能力。

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

• 时钟管理,即设置和查询平台管理的时钟的速率的能力。

• 传感器管理,即读取传感器数据并在传感器值变化时收到通知的能力。

• 复位域管理,即将给定设备或域置于各种复位状态的能力。

• 电压域管理,即配置和管理向一组组件提供电压供应的域的电压水平的能力。

• 电源限制和监控,即配置、设置电源限制并监控电源限制域的功耗的能力。

• 引脚控制协议,用于控制引脚或引脚组及其配置的协议。

行业中存在着一种强劲的趋势,即在系统中提供微控制器,以将各种电源或其他系统管理任务从应用处理器(AP)中抽象出来。这些控制器通常具有类似的接口,无论是在提供的功能方面,还是在请求如何与它们通信方面。电源控制系统架构(PCSA)描述了如何构建使用这种方法的系统。有关PCSA的详细信息,请参阅 [PCSA]。

PCSA定义了系统控制处理器(SCP)的概念,即用于从AP中抽象出电源和系统管理任务的处理器。SCP可以接受来自AP和其他系统代理的请求。它可以协调这些请求,并将平台中的组件置于适当的电源和性能状态。SCMI对于这些类型的系统尤为相关。

SCMI定义的接口提供了两个抽象级别:

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

• 传输Transports 协议通过传输进行通信。传输规范描述了协议消息在代理之间如何使用接口进行通信,以及实现协议消息的平台组件。

该接口打算在固件中进行描述,可以使用扁平设备树(FDT)或高级配置和电源接口(ACPI)规范。有关更多信息,请参阅[FDT]和[ACPI]。由于这些协议是通用的,因此它们产生的是用于驱动它们的通用内核代码。然而,在ACPI情况下,该接口也可以由ASL方法驱动。

系统控制和管理接口旨在允许诸如操作系统之类的代理管理其所运行的硬件平台提供的各种功能,包括电源和性能功能。正如介绍中所述,SCMI提供了两个抽象级别:协议和传输

以下是本规范中一些常用术语的描述:

• 协议定义了系统控制和管理消息的各个组。协议规范描述了它支持的消息。

• 代理用于描述使用系统控制和管理接口的调用方。

• 平台描述了解释消息并提供必要功能的硬件组件集合。

• 资源用于描述可以使用SCMI消息控制的硬件平台的任何组件。

• 传输描述了协议消息在代理和平台之间通信的方法。Arm 强烈建议传输是操作系统无关的,并且能够进行虚拟化。

计划独立开发协议和传输。协议的设计旨在最大程度地减少代理利用资源对系统的稳定性、机密性、完整性或安全性造成不利影响的能力。

一个传输可能支持多个通道。每个与平台通信的代理必须拥有自己的一组专用通道。换句话说,通道不能在代理之间共享。这一要求消除了在完全不同的软件堆栈上运行的代理之间创建锁原语的需求,例如,管理控制器和操作系统。此外,专用通道提供了一种平台识别发送消息的代理的方法。

使用 Arm TrustZone 技术的系统可以具有安全和非安全通道。代理可以处于安全或非安全安全状态。非安全通道不能用于访问或修改安全平台资源。只有处于安全状态的代理才能访问安全通道。

Arm Realm Management Extension [RME, RMESYS] 引入了两个新的安全状态,即领域状态和根状态,以补充现有的安全和非安全状态。它还添加了两个新的物理地址空间(PAS),即领域和根,以补充现有的安全和非安全PAS。实施 SCMI 的系统可以在根、安全和非安全 PAS 中存在通道。代理可以处于根、安全或非安全安全状态。根据 RME PAS 访问规则(如[RME]中所述),通过特定 PAS 的通道访问资源取决于进行访问的代理的安全状态。表1指定了在 SCMI 代理、通道和资源的背景下的访问规则。

【注意】:不期望在Realm安全状态下运行的软件或固件使用SCMI,并且超出了本版本规范的范围

平台可以将资源分配给由根、安全或非安全通道控制。资源分配策略由以下因素决定:

  • 需要控制资源的代理的安全状态,以及
  • 代理利用资源对其他处于系统中的安全状态的代理、软件或固件的机密性、完整性或安全性造成不利影响的能力。 具体来说,资源分配应确保不违反 Arm TrustZone 和 Arm RME 提供的安全性保证。

举例来说,考虑一个资源,它被根、领域、安全或非安全状态的软件或固件共享或受其影响。使用此类资源的所有代理都应能够控制该资源。在这种情况下,平台必须确保资源的配置或状态不会对根、领域、安全或非安全状态中的任何实体造成不利影响。

本文档中描述的协议旨在由功率和性能管理代理使用,例如操作系统,也称为操作系统主导的电源管理(OSPM)。典型的代理包括:

  • 在非安全异常级别中运行的 OSPM。
  • 运行在 AP 上的安全世界软件。
  • 在实施 Arm CCA 的系统中以根安全状态运行的固件。
  • 在虚拟化系统上的特权实体,如hypervisor
  • 系统中的外部实体,例如企业系统中的管理控制器或移动系统中的调制解调器Modem。

多个代理共享的资源应处于满足所有共享该资源的代理要求的状态。需要使用共享资源的任何代理都应明确发出请求。如果没有代理请求使用该资源,平台可能会禁用该资源。

可以使用引用计数方案跟踪来自不同代理的请求,以确保共享资源处于正确的状态。例如,考虑一个系统,其中两个代理共享一个资源。当第一个代理请求启用资源时,引用计数增加到一,资源被启用。当第二个代理请求启用资源时,引用计数增加到二,但资源状态保持不变。当代理请求禁用资源时,引用计数递减。只有当引用计数为零时,资源才能被禁用。只有在所有之前请求启用资源的代理后来请求禁用资源时,引用计数才会递减至零。但是,平台不应引用相同代理的计数调用。

例如,如果一个代理重复两次命令以启用相同的资源,平台不会对第二次调用采取特定操作,并且引用计数不会递增。规范假定只允许代理之间的引用计数,不允许代理内部的引用计数。

引用计数的一个后果是,共享资源可能不处于代理期望的确切状态。例如,一个代理可能要求禁用一个资源。然而,如果有其他代理请求保持该资源启用,那么实际上该共享资源可能并没有被禁用。代理可以使用协议消息来查询资源的状态。在这种情况下,平台可以选择提供资源的实际物理状态,显示资源已启用。另外,平台也可以选择为每个代理提供特定于代理的虚拟视图,指示资源已禁用。由平台向每个代理提供资源的物理和虚拟视图是由实现定义的。

下图示例说明了实现SCMI接口的一个系统。在这个例子中,平台包括一个SCP,负责处理从AP发出的SCMI命令。后者通过安全/根和非安全通道与SCP通信。图中还显示了一个使用SCMI协议来管理其电源和性能的设备。如[PCSA]中所述,SCP协调来自所有请求代理的请求,并将硬件驱动到适当的电源或性能状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/269778.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker之自定义镜像上传阿里云

目录 一、制作jdk镜像 1. alpine Linux简介 2. 通过alpine进行制作镜像 1. 制作jdk2.0 2. 制作jdk3.0 二、镜像上传阿里云及下载 1. 前期准备 2. push (推) 镜像 一、制作jdk镜像 1. alpine Linux简介 Alpine Linux是一个轻量级的Linux发行版,专注于安全、…

硬盘删除的文件如何恢复?分享硬盘数据恢复方法

随着信息时代的飞速发展,硬盘作为我们储存数据的主要场所其重要性日益凸显。但硬盘数据的丢失或误删也成为了许多用户头疼的问题。当您发现重要的文件从硬盘中消失时不必过于焦虑。本文将为您介绍五种高效且原创的数据恢复策略,帮助您找回那些珍贵的文件…

PRewrite: Prompt Rewriting with Reinforcement Learning

PRewrite: Prompt Rewriting with Reinforcement Learning 基本信息 2024-01谷歌团队提交到arXiv 博客贡献人 徐宁 作者 Weize Kong,Spurthi Amba Hombaiah,Mingyang Zhang 摘要 工程化的启发式编写对于LLM(大型语言模型)应…

基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。

演示视频: 基于SSM的学科竞赛管理系统。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMvcMybatisVueLayuiElemen…

持续更新 | 与您分享 Flutter 2024 年路线图

作者 / Michael Thomsen Flutter 是一个拥有繁荣社区的开源项目,我们致力于确保我们的计划公开透明,并将毫无隐瞒地分享从问题到设计规范的所有内容。我们了解到许多开发者对 Flutter 的功能路线图很感兴趣。我们往往会在一年中不断更改并调整这些计划&a…

蓝桥杯练习系统(算法训练)ALGO-986 藏匿的刺客

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。   kAc帝国防…

alpine创建lnmp环境alpine安装nginx+php5.6+mysql

前言 制作lnmp环境,你可以在alpine基础镜像中安装相关的服务,也可以直接使用Dockerfile创建自己需要的环境镜像。 注意:提前确认自己的alpine版本,本次创建基于alpine3.6进行创建,官方在一些版本中删除了php5 1、拉取…

HTML实体字符列表,知识点详解

css盒模型 1,css盒模型基本概念? 2,标准模型和IE模型的区别:计算高度和宽度的不同,怎么不同,高度宽度是怎么计算的? 3,css如何设置这两种模型? 4,js如何设置…

EPSON RA8000CE (RTC模块)压电侠

RA8000CE是一个集成了32.768 kHz数字温度补偿晶体振荡器(DTCXO)的RTC模块。它包括各种功能,如具有闰年校正的秒到年时钟/日历,时间警报,唤醒计时器,时间更新中断,时钟输出和时间戳功能,可以在外部或内部事件…

selenium爬取房价收入比可视化

数据来源:聚合数据 from selenium import webdriver from bs4 import BeautifulSoup import csv from selenium import webdriver from fake_useragent import UserAgent import random import subprocess from selenium import webdriver from selenium.webdrive…

动态规划(算法竞赛、蓝桥杯)--状态压缩DP蒙德里安的梦想

1、B站视频链接&#xff1a;E31 状态压缩DP 蒙德里安的梦想_哔哩哔哩_bilibili #include <bits/stdc.h> using namespace std; const int N12,M1<<N; bool st[N];//st[i]存储合并列的状态i是否合法 long long f[N][M];//f[i][j]表示摆放第i列&#xff0c;状态为…

蓝桥杯前端Web赛道-新鲜的蔬菜

蓝桥杯前端Web赛道-新鲜的蔬菜 题目链接&#xff1a;1.新鲜的蔬菜 - 蓝桥云课 (lanqiao.cn) 题目要求如下&#xff1a; 其实很容易联想到使用flex布局&#xff0c;这是flex布局一种非常经典的骰子布局&#xff0c;推荐Flex 布局教程&#xff1a;实例篇 - 阮一峰的网络日志 (r…

毫秒生成的时间戳如何转化成东八区具体时间

假设现在有一个时间是1709101071419L 后端代码实现 Java代码&#xff08;东八区时间&#xff09; 在Java代码中&#xff0c;我们将时区从UTC调整为东八区&#xff08;UTC8&#xff09;&#xff1a; import java.time.Instant; import java.time.ZoneId; import java.time.Z…

最简单 导航栏 html css

dhl.html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>导航栏</title><link type"text/css" rel"stylesheet" href"css/dhl.css"></head><div class"dhl&quo…

学习c语言:动态内存管理

一、为什么要有动态内存分配 我们已经掌握的内存开辟⽅式有&#xff1a; int val 20; //在栈空间上开辟四个字节 char arr[10] {0}; //在栈空间上开辟10个字节的连续空间 但是上述的开辟空间的⽅式有两个特点&#xff1a; • 空间开辟⼤⼩是固定的。 • 数组在申明的时候&…

CSS的行内样式与内联样式,面试必备

正文 1,原链接 1)创建对象有几种方法&#xff1f; 2)instanceof的原理&#xff1f; 2,类 1)类的声明&#xff1f; 2)生成实例&#xff1f;/ 声明一个类&#xff0c;怎么生成类的实例&#xff1f; 3&#xff0c;继承 1)call、apply的共同点与区别? 2)用javascript实现对象…

1.2_1 分层结构、协议、接口和服务

1.2_1 分层结构、协议、接口和服务 &#xff08;一&#xff09;为什么要分层&#xff1f; 主机A如果想要向主机B发送文件&#xff0c;则一定要经过中间的一些介质、链路。 发送文件前要完成的工作&#xff1a; 1.发起通信的计算机必须将数据通信的通路进行激活。 所谓的激活&a…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

【Redis】Redis持久化模式AOF

目录 引言 AOF持久化模式​编辑​编辑 AOF与RDB的混合持久化(4.x后的新特性) AOF的优缺点 修复破损aof文件 到底用RDB还是AOF 引言 AOF就相当于上面的日志形式。是追加式备份。所有发生的写操作&#xff0c;新增啊&#xff0c;修改啊&#xff0c;删除啊&#xff0c;这些命…

我们距离AGI还有多远?

关于HBM那份纪要的其他反馈 上篇文章发了一篇HBM纪要小部分内容&#xff08;星球更新了另一部分&#xff09;&#xff0c;收到很多业内大佬们的反馈&#xff0c;包括颗粒计算、封装订单划分等等&#xff0c;以及是不是某通某电的一个专家。其中倒是出现一个非共识的说法&#…