当前位置: 首页 > 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盘根…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

OpenLayers 分屏对比(地图联动)

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能&#xff0c;和卷帘图层不一样的是&#xff0c;分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理

引言 Bitmap&#xff08;位图&#xff09;是Android应用内存占用的“头号杀手”。一张1080P&#xff08;1920x1080&#xff09;的图片以ARGB_8888格式加载时&#xff0c;内存占用高达8MB&#xff08;192010804字节&#xff09;。据统计&#xff0c;超过60%的应用OOM崩溃与Bitm…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...