目录
6.5 电源管理基础设施组件
6.5.1 电源策略单元
6.5.2 时钟控制器
6.5.3 低功耗Distributor
6.5.4 低功耗Combiner
6.5.5 P-Channel到Q-Channel转换器
本节介绍电源策略单元(Power Policy Unit, PPU)。PPU的完整细节见ARM电源策略单元架构规范[6]。
PPU是将软件控制的电源域策略抽象为底层硬件控制信号的标准组件。在一个典型的安排中,一个PPU用于控制每个电源门控域。
SCP固件可以对PPU的电源策略进行编程。该策略可以是静态电源模式,也可以是PPU可以动态转换的一系列模式。这种动态行为基于来自组件LPI的活动指示器,不需要进一步的SCP编程。这使得硬件自主模式,如动态retention,可以透明地进入和退出软件。这提供了响应式功率控制,使组件能够在保持功能的同时处于尽可能低的电源状态,仅使用来自SCP的策略级控制。
PPU接口如图6.4所示。
PPU接口有:
•软件接口:用于编程的总线接口,例如AMBA APB,以及由SCP用于PPU配置和策略控制的中断。
•电源控制状态机(PCSM)接口:一个LPI通信电源状态的变化控制电源控制的实现和技术特定方面的PCSM,如电源开关和存储器retention控制。
•设备控制接口:对电源域内的组件进行低级控制。它包括:
-一个或多个LPI,根据电源域组件的需要。
-设备控制,包括时钟使能、复位和隔离控制。
图6.5显示了这些接口的连接方式。
一个电源门控域可以包含多个组件,这意味着可以有多个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支持不同的复位来提供此功能。
时钟控制器用于为时钟域中具有这两种特性的组件提供高级时钟门控,Q-Channel LPI时钟门控支持,或根据6.2.3限制概述的AXI LPI时钟门控支持。
【注意】:PCSA不赞成使用AXI LPI,只能用于与遗留组件的接口。
时钟控制器接口如图6.6所示。
时钟控制器接口有:
•时钟门控接口:这是一个时钟使能信号来控制时钟门。
•组件接口:根据域的需要,由一个或多个Q-Channel接口组成。
•分层控制接口:它由电源控制和时钟控制分层Q-Channel组成,允许从更高级别的组件控制时钟控制器。
时钟控制器结合来自多个组件的时钟控制LPI来管理单个时钟域。它使用LPI来确保所有组件在时钟被门控之前都处于静止状态。它还确保时钟在任何组件离开休眠状态之前再次运行。
时钟控制器允许对LPI进行异步控制,这样来自时钟控制器的同步时钟启用可以连接到时钟树根部的时钟门。这种高级时钟门控可以在空闲情况下导致动态功率接近于零。
这种高级时钟门控并不排除在组件内部以更细的粒度实现任何时钟门控。
【注意】:时钟控制器不包括时钟门,但提供了一个必须同步使用的使能。
有关时钟控制器功能的更多详细信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。
有关时钟控制器集成的详细信息,请参见7.1时钟控制集成。
通常需要PPU或时钟控制器与时钟或电源域内的许多组件通信。
LPD (Low Power Distributor)将单个Q-Channel或P-Channel分配给多个通道。
它可以同时发送所有输出通道请求,也可以一个接一个地对它们进行排序。
Q-Channel和P-Channel协议的LPD可作为CoreLink PCK-600电源控制装备的一部分。有关更多信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。
有些组件(如电源域之间的协议桥接)需要从多个电源域的控制器进行控制。为了实现这一点,可以使用低功率组合器(LPC)从多个Q-Channel控制器来控制Q-Channel组件。
当任何控制器Q-Channel变为静止状态时,LPC请求组件Q-Channel静止。当所有控制器Q-Channel都是非静止状态时,它请求退出组件Q-Channel的静止状态。这允许,例如,当它的任何相关电源域进入低功耗模式时,使电源域桥处于静止状态。
LPC可作为CoreLink PCK-600电源控制套件的一部分。有关更多信息,请参阅ARM CoreLink PCK-600电源控制套件技术参考手册[8]。
P-Channel也可以用来控制电源域中的Q-Channel组件。
P-Channel到Q-Channel转换器(P2Q)将P-Channel请求转换为Q-Channel请求。电源模式如何映射到Q-Channel静态或运行状态是可配置的。
P2Q可作为CoreLink PCK-600电源控制套件的一部分。有关更多信息,请参阅ARM
CoreLink PCK-600电源控制套件技术参考手册。