ARM Power On/Off Sequence and Power State

本文介绍了Ananke处理器中核心的电源上下电流程,包括将核心带入和带出一致性状态的方法,以及不同电源状态之间的转换过程。文章还详细解释了如何通过P-Channel与电源控制器交互以实现各种电源状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---- Power up and down sequences

Ananke follows the following approach to taking cores in the cluster in and out of coherence.

To bring an Ananke core into coherence after reset, no micro-architectural software steps are required. 

To take an Ananke core out of coherence ready for core power down,the followingpower down steps

must be performed:

1)   Save all architectural state.

2)   To disable or reroute interrupts away from this core, configure the GIC distributor.

3)   Set * bit to 1 to indicate to power controller that a power down is requested.

4)   Executea WFI instruction.

All cache disabling, cache flushing (L1 and L2), and communication with the L3 memory system is performed

in hardware after the WFI is executed, under the direction of the power controller.

Note:Executing any WFI instruction when * bit is set automatically masks out (屏蔽)all interrupts and 

wake-up events in the core. If executed when * bit is set the WFI never wakes up and the core needs to be 

reset to restart. (重启)

An Ananke cluster is taken out of coherence with interconnect automatically when it is powered down, and 

no software sequence is required. Hardware under the direction of the power controller performs the level-3 

cache flushing and communicates with the interconnect to disable snoop into the cluster. 

All cores must be powered down as described previously before the cluster can be powered down.

---- Power state control

All power state transitions are performed at the request of the power controller, using P-Channel to

communicate with the Ananke processor.

(所有Power状态的转换都由power controller发出请求,用P-channel和Ananke处理器进行通信)

There is one P-Channel per core, plus one P-Channel for the cluster. 

Ananke provides the current requirements on the PACTIVE signals, so that the power controller can make 

decisions and request any change with PREQ and PSTATE

The Ananke processor then perform any actions necessary to reach the requested power state, such as 

gating clocks, flushing caches, or disabling coherency, before accepting the request.

If the request is not valid, either because of an incorrect transition or because the status has changed 

and so that state is no longer appropriate, then the request will be denied.

(如果请求是无效的,或者因为不正确的状态转换或者状态已经改变所以状态不在合适。)

The power mode of each core can be independent of other cores in the cluster(Cluster内每个core的power 

mode都是独立的),however the cluster power mode is linked to the state of the cores.

---- Power states

---- On

In this mode, the core is on and fully operational(全面运转/运作). The core can be initialized into this state, 

or tied in this state if the P-Channel is unused.

When a transition to the On state is completed, all caches are accessible and coherent without needing any

configuration from software, other than the normal architectural steps to enable caches. 

When the core domain P-Channel is initialized into the On state, either as a shortcut for entering that 

state or as a tie-off for an unused P-Channel, it is an assumed transition from the Off mode.Therefore, it will

include an invalidation of any cache RAM within the core domain.

---- Off

In this mode, all core logic and RAMs are Off. The domain is inoperable(不能操作的) and all core state is lost.

The core can be power-on reset in this state.

The core P-Channel can be initialized into this state.

An attempted debug access when the core domain is off returns an error response on the internal debug 

interface indicating the core is not available.

---- Off (emulated)

In this mode, all core domain logic and RAMs are kept on.However functional logic is reset to emulate a power

off scenario while keeping core debug state and allowing debug access.

All debug registers must retain their state and be accessible from the external debug interface. All other 

functional interfaces behave as if the core were Off.

---- SIMD Dynamic Retention

In this mode, the Advanced SIMD and floating-point logic is in retention (inoperable but with state retained) and

the remainder of the core logic is operational.

This means that if an Advanced SIMD and floating-point instruction is required to be executed while in this 

mode, it is stalled until the core enters the On mode.

When the Advanced SIMD and floating-point logic is in retention, the clock to the logic is automatically gated

outside of the retained domain.

---- Core Dynamic Retention

In this mode, all core logic and RAMs are in retention, the core domain is inoperable but with core state retained.

When in dynamic retention, the clock to the core is automatically gated outside of the domain.

The outputs of the domain must be isolated to prevent buffers without power from propagating unknown values

to any operational parts of the system.

Debug access is supported when the core domain is in dynamic retention, so the core appears as if were in a

WFI or WFE state.

When a debug access occurs, it is stalled and the On PACTIVE bit set high. when the domain is returned to On

via the P-Channel, the access can proceed. If the debug access is the only cause of the wake-up the core does 

not exit WFI.

When the debug access is complete, the domain begins an entry delay period, assuming all other retention

entry conditions remain valid. If all retention entry conditions are met during the entry delay period, then the 

On PACTIVE bit is set low and a request to reenter dynamic retention is accepted.

Note: If SIMD dynamic retention is implemented and enabled, then the core does not indicate on PACTIVE

that it can enter core dynamic retention until it is already in SIMD dynamic retention.

### 电源序列在计算机系统和电子设备中的重要性 电源序列(Power Sequencing)是指控制多个电压轨按照特定顺序上电或断电的过程。这种技术对于确保复杂的多供电轨系统的稳定性和可靠性至关重要[^1]。 在现代计算机系统和其他高性能电子产品中,不同组件可能需要不同的工作电压水平,并且这些电压必须按严格定义的时间间隔施加到各个部件上。如果未能遵循正确的启动/关闭次序,则可能导致硬件损坏、数据丢失或其他不可预见的行为。 #### 实现方式 实现可靠的电源序列管理通常涉及以下几个方面: - **专用集成电路 (ASIC)** 或可编程逻辑器件可以用来设计定制化的解决方案。 - 使用微控制器单元(MCU),通过软件编写程序来监控并调整各路电源的状态变化情况。 - 利用现成的电源管理和监控芯片,这类产品内置了必要的功能模块,简化了开发过程的同时提高了方案的安全系数。 ```c++ // 示例代码展示如何利用MCU进行简单的双通道电源排序 void setup() { pinMode(VCC_3V3_PIN, OUTPUT); pinMode(VCC_5V_PIN, OUTPUT); digitalWrite(VCC_3V3_PIN, LOW); // Ensure Vcc 3.3V is off initially delay(100); // Wait before turning on the next rail digitalWrite(VCC_5V_PIN, HIGH); // Turn ON Vcc 5V first delay(200); // Delay to ensure stable operation of dependent circuits digitalWrite(VCC_3V3_PIN, HIGH);// Finally turn ON Vcc 3.3V after a safe interval from 5V being active. } ``` 此外,在某些情况下还可以采用基于FPGA的设计思路来进行更加灵活高效的电源序列规划与执行操作。 #### 应用场景 除了个人电脑之外,服务器平台、嵌入式控制系统以及通信基础设施等领域同样依赖于精心设计好的电源序列策略以保障其正常运作。特别是在那些对可靠性和安全性有着极高要求的应用场合下——比如航空航天工业或是医疗仪器制造行业——合理的电源序列安排更是不可或缺的一部分。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值