当前位置: 首页 > news >正文

电源控制系统架构(PCSA)之系统控制处理器组件

目录

6.4 系统控制处理器

6.4.1 SCP组件

SCP处理器Core

SCP处理器Core选择

SCP处理器核内存

系统计数器和通用计时器

看门狗

电压调节器控制

时钟控制

系统控制

信息接口

电源策略单元

传感器控制

外设访问

系统访问


6.4 系统控制处理器

系统控制处理器(SCP)是一种基于处理器的能力,为电源管理功能和服务的提供提供了灵活和可扩展的平台。

SCP功能和服务的概述见3.2系统控制处理器。
图6.2显示了一个SCP硬件概述的示例。

0546379dd23b479e8c523fa63638f7eb.png

【注意】:SCP的确切结构将取决于处理器和外设的选择。本节描述了一个通用结构,该结构提供了支持本文档中描述的功能和服务所需的功能。

6.4.1 SCP组件

该部分介绍SCP子系统的组成。

SCP处理器Core

处理器运行的固件根据请求、事件和调度任务采取行动。

SCP处理器Core选择

在SCP中使用的处理器的选择取决于系统的要求。下面列出了需要考虑的重要事项:

•处理能力:SCP必须有足够的处理能力来处理预期运行的任务,特别是具有实时依赖关系的任务或可能需要并发处理的任务。随着AP核数的增加而扩展的任务(如空闲管理和传感器监视)通常会主导利用率。AP核空闲管理通常是对延迟最敏感的任务负载,延迟分布的尾部可以通过提供足够的性能来管理,以保持总体适度的利用率。选择标准包括处理器的类型和运行频率。

•中断类型:一些处理器有矢量中断,可以简化中断的连接、处理和延迟,减少或消除软件交互来发现中断原因的需要。

•中断优先级和延迟:内在中断延迟应该与核心的其他中断特性一起考虑。这些可以包括硬件中断优先级,中断嵌套和中断处理程序之间的尾链,以及中断向量之间的硬件上下文切换。在矢量中断的情况下,还应该考虑可用中断输入的数量。如果这个值太低,并且在SCP中需要一个额外的中断控制器,这会增加固件和硬件中断序列的延迟。

•面积和功耗:SCP通常会一直处于开启状态。因此,功耗是一个重要的考虑因素。对于SoC可能花费大量时间的SLEEP状态尤其如此。

•调试和跟踪:调试和配置固件的能力对开发至关重要。考虑因素包括在SoC中可用的SCP处理器子系统的本机调试和跟踪支持SLEEP状态和集成到更广泛的CoreSight SoC调试和跟踪系统。

•可信操作:由于SCP控制着SoC的敏感部分,因此需要关注安全性。SCP从私有本地内存运行,它的固件可以通过一个受信任的引导进程加载,从而使SCP在本质上是受信任的。但是,如果SCP需要访问系统的其他部分,则需要考虑该部分及其访问的组件的安全性。

对于移动系统,SCP处理器核心可能是Arm Cortex-M微控制器,例如Cortex-M3。
其他系统可能会考虑另一个Arm配置文件核心,如Cortex-R或Cortex-A。在所有情况下,选择都取决于上述因素。

SCP处理器核内存

处理器具有用于引导的ROM和用于存储固件指令和数据的RAM。该ROM和RAM是SCP私有的。

一种可能的实现是,在引导时使用ROM使系统进入一种状态,在这种状态下,主机处理器可以访问内存系统并直接或间接地加载SCP固件。

客户端系统的可信引导要求在Trusted Board Boot Requirements–CLIENT [7]规范中提供。

SCP固件代码和数据空间完全在其私有RAM中。然后,当SoC的其余部分关闭且系统内存不可用时,SCP可以运行。但是,当可用时,SCP可以根据需要访问系统内存和系统的其他部分。

系统计数器和通用计时器

系统计数器为SoC提供一个通用的时间参考。通用计时器使用计数器值来产生中断和唤醒事件。主系统计数器值被分发给其他系统元素,包括应用程序处理器和调试基础设施,以提供一致的时间视图。

主系统计数器分辨率需要一个时钟源,由于功耗原因,可能在SoC睡眠状态下关闭。提供一个次要的持续运行的低速计数器,通常使用实时时钟源作为其输入,可以通过SoC SLEEP状态保存所需的时间视图。使用此计数器的通用计时器用于在这些状态下生成唤醒事件。

SCP负责在进入和退出SLEEP状态时管理这些系统计数器之间的时间传输,以确保向系统提供一致的时间视图。这可以通过SCP中的硬件和固件功能的组合来实现。

有关ARMv7架构系统计数器和通用计时器的详细信息,请参阅ARM架构参考
手册ARMv7-A和ARMv7-R版本[3]。

有关ARMv8架构系统计数器和通用计时器的详细信息,请参阅ARM架构参考手册ARMv8,用于ARMv8-A架构配置文件[2]。

看门狗

SCP看门狗提供防止系统死锁的功能。如果SCP没有定期写入看门狗,那么看门狗将产生中断,这将最终导致系统重置。

必须有一个综合征寄存器来通知SCP处理器上一次复位的原因,以便它能够采取适当的行动。

当SCP提供这种特定的看门狗功能时,其他系统看门狗可能由AP软件管理。具体要求请参见SBSA (Server Base System Architecture)[1]。

电压调节器控制

SCP管理各种功能的电压供应,包括开机后的开、关和DVFS电压水平的改变。

电压供应通常由单独的电源管理IC提供。稳压器控制组件为该功能提供接口。接口协议的实现取决于电源管理IC的选择。

时钟控制

SCP不能在组件活动级别控制时钟的运行时动态门控。这是由具有硬件自主Q-Channel管理的时钟控制器管理的。

SCP用于管理时钟源的使能、选择和划分。时钟源可能包括片外源,如晶体振荡器和片内源,如锁相环。每个时钟源通常能够被分割,为不同的组件产生大量的频率。

这些设置可能是静态的,在需要组件或上电时设置一次,或者应组件或相关软件的请求更改,例如针对AP或GPU DVFS。

有关动态时钟门控的更多详细信息,请参见6.5.2时钟控制器和7.1时钟控制集成。

系统控制

SCP可以管理各种系统控制任务。当特定的响应性不是约束时,这通常可以通过寄存器控制输出和中断输入来处理。一个简单的应用程序示例是管理与SoC组件的四阶段请求确认握手。当SCP外部的硬件充当请求者时,请求信号被连接到一条中断线,该中断线被设定为在请求的每个边缘产生一个脉冲。输入状态寄存器位也可用于确定请求的级别。一个控制寄存器位驱动SCP输出用于确认信号。当角色互换时,相应的信号连接也是如此。

图6.3显示了此应用程序的一个示例,其中SoC组件充当请求者。

4d0c7cd7405d4c9c9338576eb249f784.png

为此目的包括任何系统控制寄存器和中断分配是可选的,取决于系统需求。

信息接口

为了允许OSPM和SCP消息接口之间通过软件接口(如SCMI)进行请求通信,需要硬件支持。虽然这可以采取多种形式,但解决方案必须是易于对操作系统进行通用描述的解决方案。使用共享内存邮箱和门铃中断的方案是典型的,非常适合此目的。

消息传递接口必须可供系统中的任何AP核心使用。

典型的实施例是一个简单的硬件,它允许任何一个实体发送和读取消息,并为彼此生成中断,以指示消息的可用性。

典型的OSPM到SCP通信方法可能是:

  1. OSPM

a.将消息存储到邮箱内存中。

b.使用门铃寄存器生成SCP中断。

  1. SCP接收到中断:

a.从邮箱内存中读取消息。

b.清除门铃中断。

  1. SCP根据消息执行操作。SCP也可能发送回调响应,使用相同的操作,但方向相反。

在具有能够直接请求SCP采取行动的自管理设备或子系统的系统中,需要扩展消息传递功能,以允许在这些代理和SCP之间进行通信。

电源策略单元

电源策略单元(Power Policy unit, PPU)是专用的硬件组件,用于从SCP固件中抽象出对电源域的低级控制。SCP固件只做出高层次的电源域策略决策,并将其编程到PPU中。

ppu的数量和位置取决于设计的拓扑结构。在always-on域中至少有一个PPU,以提供第一级的系统唤醒能力。

其他的ppu可以分布在SoC周围,具体请参见7.2.3分布式ppu。

关于电源策略单元的详细介绍请参见6.5.1电源策略单元。

关于ppu集成的详细信息,请参见7.2电源控制集成。

传感器控制

SCP预计能够通过专用外设或使用SoC互连访问片上工艺、电压和温度传感器信息。

附加的外围设备

可以包括SCP私有的其他外围设备。通常,这些是提供唤醒功能的always-on域外设。

外设访问

一般来说,出于安全原因,SCP外设是私有映射的。两个重要的例外,在SCP和AP地址空间中都有映射,如图6.2所示:

•主系统计数器:AP软件必须能够访问系统计数器作为通用定时器规范要求。

•消息接口:需要共享访问来促进6.4.1中描述的消息传递机制。

对于处于always-on子系统之外的SCP外设,比如分布式的PPU, SCP可能支持物理上私有的外设扩展端口,或者依赖于共享的互连资源。在共享互连的情况下,SoC集成商必须考虑对其他代理访问这些外设的安全控制。

系统访问

SCP预计可以使用共享系统互连访问更广泛的SoC资源,包括外设和内存。

对SoC资源的访问允许SCP执行作为电源控制序列的一部分的操作。这可能包括组件的配置以及保存和恢复功能。例如,对接控制器和内存控制器组件的配置。

除非必要,否则不建议限制这种访问,因为这会限制SCP可以执行的任务。

相关文章:

电源控制系统架构(PCSA)之系统控制处理器组件

目录 6.4 系统控制处理器 6.4.1 SCP组件 SCP处理器Core SCP处理器Core选择 SCP处理器核内存 系统计数器和通用计时器 看门狗 电压调节器控制 时钟控制 系统控制 信息接口 电源策略单元 传感器控制 外设访问 系统访问 6.4 系统控制处理器 系统控制处理器(SCP)是…...

《已解决: ImportError: Keras requires TensorFlow 2.2 or higher 问题》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…...

在 CentOS 7 上安装 MySQL 8

在 CentOS 7 上安装 MySQL 8 步骤 1: 添加 MySQL Yum 存储库 首先,我们需要添加 MySQL Yum 存储库。打开终端并执行以下命令: sudo yum install -y https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm步骤 2: 导入 MySQL GPG 公钥 …...

从二极管到linux服务器

软件设计: os: 批处理系统: 轮询系统:单片机裸机开发 实时系统:ucosii,rtos,rt-thread、风和系统、liteos(主要是海思系列soc在用)等 非实时系统:linux 对os任务切换时寄存器的功能有理解。 对ipc机制有理解。 bsp: 需要对寄存器、单片机内部总线、iic、spi、uart、c…...

设计模式-16-Spring源码中的设计模式

1-Spring之观察者模式 Java、Google Guava都提供了观察者模式的实现框架。Java提供的框架比较简单,只包含java.util.Observable和java.util.Observer两个类。Google Guava提供的框架功能比较完善和强大:通过EventBus事件总线来实现观察者模式。实际上&am…...

Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements

Leetcode 2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路2. 代码实现 题目链接:2948. Make Lexicographically Smallest Array by Swapping Elements 1. 解题思路 这一题其实思路上就是分组排序,显然,对于…...

[计算机网络]应用层概述

0.写在前面: 该层为教学模型的最后一层,某种意义上来说是最接近各位开发者的一层,正因如此,这层中的很多定义和概念大家都有属于自己的理解, 完全按照书本反而才是异类,因此在这里我会去结合我做前端开发的一些经验,来处理和讲解一些概念,另外本层中的部分协议也不会过多阐述了…...

《已解决:TypeError: unhashable type: ‘slice‘ 问题》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页: 🐅🐾猫头虎的博客🎐《面试题大全专栏》 🦕 文章图文并茂&#x1f996…...

Rust UI开发(二):iced中如何为窗口添加icon图标

注:此文适合于对rust有一些了解的朋友 iced是一个跨平台的GUI库,用于为rust语言程序构建UI界面。 想要了解如何构建简单窗口的可以看本系列的第一篇: Rust UI开发:使用iced构建UI时,如何在界面显示中文字符 本篇是系…...

Django(十一、auth认证模块)

文章目录 一、auth介绍auth认证相关模块及操作扩展auth_user表 一、auth介绍 Django自带一个admin路由,但是需要我们提供管理员账户和密码,如果想要使用admin后台管理,需要先创建表,然后创建管理员账户。 直接执行数据类迁移命令…...

WebSocket了解

一.什么是WebSocket WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议 二.websocket的原理 web…...

深度学习基础概念

1. 神经网络基础 神经元(Neuron): 了解神经网络的基本组成单元。激活函数(Activation Function): 学习常见的激活函数,如Sigmoid、ReLU等,以及它们在神经网络中的作用。前馈神经网络…...

vatee万腾科技先锋之选:vatee创新力驱动着未来发展

在科技潮流的浩荡前行中,Vatee万腾崭新的科技先锋之选正以强大的创新力引领着未来的发展。Vatee万腾凭借其前瞻性的技术理念和卓越的创新实践,成为业界的引领者,为整个科技行业树立了标杆。 Vatee万腾不仅仅是一家科技公司,更是一…...

MetaObject-BeanWrapper-MetaClass-Reflector的关系

MetaObject、BeanWrapper、MetaClass、Reflector之间是通过装饰器模式逐层进行装饰的。其中MetaObject、BeanWrapper是操作对象;MetaClass、Reflector是操作Class ObjectWrapper类结构图 BaseWrapper是对BeanWrapper、MapWrapper公共方法的提取及类图的优化&#…...

【JavaEE初阶】线程安全问题及解决方法

目录 一、多线程带来的风险-线程安全 1、观察线程不安全 2、线程安全的概念 3、线程不安全的原因 4、解决之前的线程不安全问题 5、synchronized 关键字 - 监视器锁 monitor lock 5.1 synchronized 的特性 5.2 synchronized 使用示例 5.3 Java 标准库中的线程安全类…...

uniapp高德、百度、腾讯地图配置 SHA1

uniapp高德、百度、腾讯地图配置 SHA1 当winr弹出cmd弹框后输入 keytool -list -v -keystore debug.keystore 显示keytool 不是内部或外部命令,也不是可运行的程序或批处理文件。可以先看看是否有下载jdk且配置了环境变量,具体操作如下:keyto…...

[AutoSAR存储] 车载存储层次 和 常用存储芯片概述

公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《AutoSAR存储》 <<<< 返回总目录 <<<< 1 存储系统层次 先抛个问题&#xff0c; 为什么要划分存储器的层次&#xff1f; 速度越快&#xff0c;但成本越高&#xff0c;从经济的角度规…...

进程并发-信号量经典例题-吸烟者问题

1 题目描述 吸烟者问题 在一个房间内有三个吸烟者和一个香烟供应者。为了制造并抽掉香烟&#xff0c;每个吸烟者需要三样物品&#xff1a;烟草、纸和火柴&#xff0c;供应者有丰富物品提供。在三个吸烟者中&#xff0c;第一个有自己的烟草&#xff0c;第二个有自己的纸&#…...

[ruby on rails] array、jsonb字段

一、jsonb # 新增 add_column :shi_tis, :setting, :jsonb, default: {}# string转jsonb def changechange_column :users, :setting, :jsonb, using: setting::jsonb, default: {} end# 加索引 add_index :users, :setting, using: :gin # 这样就为setting jsonb字段创建了一…...

Feign接口请求返回异常 no suitable HttpMessageConvert found for response type

问题场景&#xff1a; 后端调用feign接口请求, 接口返回异常, no suitable HttpMessageConvert found for response type 问题描述 报错异常如下&#xff1a; //根据图片特征 去查询人员信息ResultVo<List> personVos ipbdFaceLibPersonApi.queryFacePersonByFeatur…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销&#xff0c;平衡网络负载&#xff0c;延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

可靠性+灵活性:电力载波技术在楼宇自控中的核心价值

可靠性灵活性&#xff1a;电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中&#xff0c;电力载波技术&#xff08;PLC&#xff09;凭借其独特的优势&#xff0c;正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据&#xff0c;无需额外布…...

Python爬虫实战:研究feedparser库相关技术

1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...