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

电源控制系统架构(PCSA)之电源管理基础设施组件

目录

6.5 电源管理基础设施组件

6.5.1 电源策略单元

6.5.2 时钟控制器

6.5.3 低功耗Distributor

6.5.4 低功耗Combiner

6.5.5 P-Channel到Q-Channel转换器


6.5 电源管理基础设施组件

6.5.1 电源策略单元

本节介绍电源策略单元(Power Policy Unit, PPU)。PPU的完整细节见ARM电源策略单元架构规范[6]。

PPU是将软件控制的电源域策略抽象为底层硬件控制信号的标准组件。在一个典型的安排中,一个PPU用于控制每个电源门控域。

SCP固件可以对PPU的电源策略进行编程。该策略可以是静态电源模式,也可以是PPU可以动态转换的一系列模式。这种动态行为基于来自组件LPI的活动指示器,不需要进一步的SCP编程。这使得硬件自主模式,如动态retention,可以透明地进入和退出软件。这提供了响应式功率控制,使组件能够在保持功能的同时处于尽可能低的电源状态,仅使用来自SCP的策略级控制。

PPU接口如图6.4所示。

5bfb56a8b2cb408889c0185bcd16a192.png

PPU接口有:

•软件接口:用于编程的总线接口,例如AMBA APB,以及由SCP用于PPU配置和策略控制的中断。

•电源控制状态机(PCSM)接口:一个LPI通信电源状态的变化控制电源控制的实现和技术特定方面的PCSM,如电源开关和存储器retention控制。

•设备控制接口:对电源域内的组件进行低级控制。它包括:

-一个或多个LPI,根据电源域组件的需要。

-设备控制,包括时钟使能、复位和隔离控制。

图6.5显示了这些接口的连接方式。

2373e41dc60741f4ae95ebcc86b08b5f.png

一个电源门控域可以包含多个组件,这意味着可以有多个LPI。根据电源域中组件的时钟和复位域,也可以有多个复位和时钟启用。

虚线表示控制信号连接,这些连接通常不存在于RTL中,但将作为使用UPF或类似手段的合成流的一部分添加。

有关PPU集成的更多详细信息,请参见7.2电源控制集成。

Power Control State Machine (PCSM)

低电平电源控制细节,如电源开关控制或逻辑或RAM保留的控制信号可以是特定的技术和单元库。为了避免修改核心PPU功能,它与控制这些元素的实现相关的电源控制状态机(PCSM)连接。这使得PPU成为一个通用的、可重用的标准组件。

电源控制状态机由PPU通过P-Channel LPI接口控制。PCSM将P-Channel电源模式请求转换为实现相关控制。

复位控制

PPU提供电源域复位功能。这可确保在进入和退出电源模式时应用相关复位来维持正确的组件状态。

PPU有多个复位输出,根据需要的复位动作在不同的电源模式下使用。

例如,保留和非保留组件有单独的复位。当域处于retention模式时,不能复位保留寄存器,因为保留状态将丢失。然而,非retention寄存器确实需要复位。

热复位和开机复位之间也可能存在差异。在热复位时,可能需要保留某些状态,例如用于调试或RAS目的。

时钟控制

PPU为功率域提供时钟门控。这确保了时钟输入可以根据需要进行门控,以在进入和退出电源模式时保持安全和正确的行为。

PPU提供多个时钟使能,用于不同的电源模式。例如,为了调试目的而模拟电源域的关闭状态时。在这种情况下,某些时钟需要保持启用状态,以允许对组件进行调试访问。

【注意】:PPU控制时钟来管理电源模式需求,而不是基于活动的高级时钟门控。高级时钟门控由时钟控制器管理,详细信息请参见6.5.2时钟控制器和7.1时钟控制集成。

隔离控制

PPU为电源域提供隔离单元控制。这些控件用于确保在关闭域时不传播浮动值。

PPU提供多种隔离控制,可用于不同的电源模式。例如,为了调试目的而模拟域的关闭状态时。在这种情况下,可能无法启用某些隔离单元以允许对组件进行调试访问,而其余隔离单元则对应于域的功能行为启用。

PPU策略支持

PPU支持两种电源域模式组、电源模式和工作模式。

电源模式

PPU支持PCSA定义的所有电源模式,如表6.1所示。

并非所有的ppu都需要支持所有模式,因此电源模式支持是设计时可配置的。

工作模式

工作模式表示标准电源模式的配置,或者一般的电源域。每个操作模式的含义特定于域中的一个或多个组件。

工作模式转换发生在ON电源模式下,但是工作模式可以在某些其他电源模式下保持上下文,例如,具有retention的电源模式。

操作模式的一些用法示例如下:

•启用多个RAM配置:

-例如,调整缓存的大小,而一个组件是活跃的,通过关闭一些RAM实例以节省泄漏功率。

•多线程处理器核心内的线程管理。

-确保正确的线程管理,因为逻辑上关闭线程的中断只对处理器外部的电源控制基础设施可用。

•配置和访问控制管理,例如启用保存/恢复操作。

操作模式和预期使用模型在ARM电源策略单元架构规范中指定[6]。

仿真电源模式

为了实现下电调试功能,PPU支持仿真电源模式。

在模拟电源模式时,PPU完成除与PCSM通信外的所有正常控制序列。这意味着,例如,电源开关没有关闭。

设计的某些部分可以通过断言导致状态和功能丢失的适当重置来模拟断电。设计的其他部分是调试访问所必需的,或者包含调试状态,因此在取消断言重置的情况下保持功能。PPU支持不同的复位来提供此功能。

6.5.2 时钟控制器

时钟控制器用于为时钟域中具有这两种特性的组件提供高级时钟门控,Q-Channel LPI时钟门控支持,或根据6.2.3限制概述的AXI LPI时钟门控支持。

【注意】:PCSA不赞成使用AXI LPI,只能用于与遗留组件的接口。

时钟控制器接口如图6.6所示。

c5ca481b8b65419a8a14bd35db25b7a7.png

时钟控制器接口有:

•时钟门控接口:这是一个时钟使能信号来控制时钟门。

•组件接口:根据域的需要,由一个或多个Q-Channel接口组成。

•分层控制接口:它由电源控制和时钟控制分层Q-Channel组成,允许从更高级别的组件控制时钟控制器。

时钟控制器结合来自多个组件的时钟控制LPI来管理单个时钟域。它使用LPI来确保所有组件在时钟被门控之前都处于静止状态。它还确保时钟在任何组件离开休眠状态之前再次运行。

时钟控制器允许对LPI进行异步控制,这样来自时钟控制器的同步时钟启用可以连接到时钟树根部的时钟门。这种高级时钟门控可以在空闲情况下导致动态功率接近于零。

这种高级时钟门控并不排除在组件内部以更细的粒度实现任何时钟门控。

【注意】:时钟控制器不包括时钟门,但提供了一个必须同步使用的使能。

有关时钟控制器功能的更多详细信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。

有关时钟控制器集成的详细信息,请参见7.1时钟控制集成。

6.5.3 低功耗Distributor

通常需要PPU或时钟控制器与时钟或电源域内的许多组件通信。

LPD (Low Power Distributor)将单个Q-Channel或P-Channel分配给多个通道。

它可以同时发送所有输出通道请求,也可以一个接一个地对它们进行排序。

Q-Channel和P-Channel协议的LPD可作为CoreLink PCK-600电源控制装备的一部分。有关更多信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。

6.5.4 低功耗Combiner

有些组件(如电源域之间的协议桥接)需要从多个电源域的控制器进行控制。为了实现这一点,可以使用低功率组合器(LPC)从多个Q-Channel控制器来控制Q-Channel组件。

当任何控制器Q-Channel变为静止状态时,LPC请求组件Q-Channel静止。当所有控制器Q-Channel都是非静止状态时,它请求退出组件Q-Channel的静止状态。这允许,例如,当它的任何相关电源域进入低功耗模式时,使电源域桥处于静止状态。

LPC可作为CoreLink PCK-600电源控制套件的一部分。有关更多信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。

6.5.5 P-Channel到Q-Channel转换器

P-Channel也可以用来控制电源域中的Q-Channel组件。

P-Channel到Q-Channel转换器(P2Q)将P-Channel请求转换为Q-Channel请求。电源模式如何映射到Q-Channel静态或运行状态是可配置的。

P2Q可作为CoreLink PCK-600电源控制套件的一部分。有关更多信息,请参阅ARM

CoreLink PCK-600电源控制套件技术参考手册。

 

相关文章:

电源控制系统架构(PCSA)之电源管理基础设施组件

目录 6.5 电源管理基础设施组件 6.5.1 电源策略单元 6.5.2 时钟控制器 6.5.3 低功耗Distributor 6.5.4 低功耗Combiner 6.5.5 P-Channel到Q-Channel转换器 6.5 电源管理基础设施组件 6.5.1 电源策略单元 本节介绍电源策略单元(Power Policy Unit, PPU)。PPU的完整细节见…...

影刀RPA_boss直聘翻页(避坑)

boss直聘翻页这里有个坑 问题: 无限循环中,点击下一页按钮,直到不可点击为止。 发现,在点到第5页的时候,再次点击下一页,直接就点击了页码10,导致流程直接就结束了。 在第5页进行校验&#xff0…...

第十四章 控制值的转换 - 在DISPLAYLIST中投影值

文章目录 第十四章 控制值的转换 - 在DISPLAYLIST中投影值在DISPLAYLIST中投影值 第十四章 控制值的转换 - 在DISPLAYLIST中投影值 在DISPLAYLIST中投影值 对于 %String 类型(或任何子类)的属性,XML 投影可以使用 DISPLAYLIST 参数。 简单…...

C++类与对象(5)—流运算符重载、const、取地址

目录 一、流输出 1、实现单个输出 2、实现连续输出 二、流输入 总结: 三、const修饰 四、取地址 .取地址及const取地址操作符重载 五、[ ]运算符重载 一、流输出 1、实现单个输出 创建一个日期类。 class Date { public:Date(int year 1, int month 1,…...

Vue框架学习笔记——事件修饰符

文章目录 前文提要事件修饰符prevent(常用)stop(不常用)事件冒泡stop使用方法三层嵌套下的stop三层嵌套看出的stop: once(常用)capture(不常用)self(不常用&a…...

嵌入式虚拟机原理

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…...

AMESim|Make failed:Unable to create an excutable for the system

最近在AMESIM与MATLAB进行联合仿真的时候遇到如下问题: Make failed:Unable to create an excutable for the system. 看了网上的解决办法如下 配置环境变量重装AMESIM,有顺序要求,首先是VS,然后是AMESIM与MATLAB。在AMESIM安装…...

OpenHarmony之NAPI框架介绍

张志成 诚迈科技高级技术专家 NAPI是什么 NAPI的概念源自Nodejs,为了实现javascript脚本与C库之间的相互调用,Nodejs对V8引擎的api做了一层封装,称为NAPI。可以在Nodejs官网(https://nodejs.org/dist/latest-v20.x/docs/api/n-api…...

计算机网络之网络层

一、概述 主要任务是实现网络互连,进而实现数据包在各网络之间的传输 1.1网络引入的目的 从7层结构上看,网络层下是数据链路层 从4层结构上看,网络层下面是网络接口层 至少我们看到的网络层下面是以太网 以太网解决了什么问题? 答…...

【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析模拟实现

🌈write in front :🔍个人主页 : 啊森要自信的主页 ✏️真正相信奇迹的家伙,本身和奇迹一样了不起啊! 欢迎大家关注🔍点赞👍收藏⭐️留言📝>希望看完我的文章对你有小小的帮助&am…...

浅谈电力设备智能无线温度检测系统

安科瑞 华楠 摘要:在长期工作中,由于设备基础变化、温湿度变化、严重超负荷运行、触点氧化等原因造成的电力设备压接不紧,触头接触部分发生改变。终导致接触电阻增大,造成巨大的风险隐患。本系统将通过无线测温的方式&#xff0c…...

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二)

通过ros系统中websocket中发送sensor_msgs::Image数据给web端显示(二) mp4媒体流数据 #include <ros/ros.h> #include <signal.h> #include <sensor_msgs/Image.h> #include <message_filters/subscriber.h> #include <message_filters/synchroniz…...

LeetCode [简单] 283. 移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 快慢指针&…...

深信服实验学习笔记——nmap常用命令

文章目录 1. 主机存活探测2. 常见端口扫描、服务版本探测、服务器版本识别3. 全端口&#xff08;TCP/UDP&#xff09;扫描4. 最详细的端口扫描5. 三种TCP扫描方式 1. 主机存活探测 nmap -sP <靶机IP>-sP代表 2. 常见端口扫描、服务版本探测、服务器版本识别 推荐加上-v参…...

面试:Kubernetes相关问题

文章目录 Kubernetes的工作流程可以分为以下几个步骤&#xff1a;简述Kubernetes中的Deployment、StatefulSet、DaemonSet的区别在Kubernetes中&#xff0c;如何进行存储管理在Kubernetes中&#xff0c;如何实现滚动升级和回滚在Kubernetes中&#xff0c;如何进行日志和监控的管…...

Go 本地搭建playground

搭建go playground 的步骤 1、安装docker 如果你使用的Ubuntu&#xff0c;docker的安装步骤可以参见这里&#xff0c;这是我之前写的在Ubuntu18.04下安装fabric&#xff0c;其中有docker的安装步骤&#xff0c;这里就不再赘述了。 CentOS下安装docker的&#xff0c;可以参见…...

Mybatis-plus常见标签

1.< 代表小于号&#xff08;<&#xff09;2.> 代表大于号&#xff08;>&#xff09;3.&le; 代表小于或等于符号&#xff08;≤&#xff09;4.&ge; 代表大于或等于符号&#xff08;≥&#xff09;5.< 代表<6.> 代表>7.ne; 代表不等于 <>8…...

一致性 Hash 算法 Hash 环发生偏移怎么解决

本篇是对文章《一文彻底读懂一致性哈希算法》的重写&#xff0c;图文并茂&#xff0c;篇幅较长&#xff0c;欢迎阅读完提供宝贵的建议&#xff0c;一起提升文章质量。如果感觉不错不要忘记点赞、关注、转发哦。原文链接&#xff1a; 《一文彻底读懂一致性Hash 算法》 通过阅读本…...

Javaweb之Vue组件库Element的详细解析

4 Vue组件库Element 4.1 Element介绍 不知道同学们还否记得我们之前讲解的前端开发模式MVVM&#xff0c;我们之前学习的vue是侧重于VM开发的&#xff0c;主要用于数据绑定到视图的&#xff0c;那么接下来我们学习的ElementUI就是一款侧重于V开发的前端框架&#xff0c;主要用…...

IBM X3650M4安装ESXI6.5卡在/lsl_mr3.v00

环境&#xff1a;IBM X3650M4服务器双盘配置raid1&#xff0c;通过rufus制作启动U盘&#xff0c;安装VMware Vsphere 5.5系统 问题&#xff1a;卡在/lsi_mr3.v00界面无法往下运行&#xff08;两台配置一样的机器遇到同样的问题&#xff09; 解决方案&#xff1a; 直接在U盘根…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...