PPU的放置是一个重要考虑因素。最简单的方法是将所有的PPU都放置在SCP所在的始终开启的域中。将所有的PPU放置在一个层次结构中,集成问题,如地址映射、互连、时钟和复位等问题都比较简单。然而,有几个原因可能导致这不是最佳选择。
首先,在复杂的系统中可能存在许多组件LPI,而在整个SoC中连接大量的线到始终开启的域可能既不可取也不实际。
其次,在需要快速进入和退出电源模式的情况下,使PPU能够快速响应,利用接近电源域时钟频率的时钟是有利的。将高速时钟路由到多个子系统并不理想。
这些问题可以通过在系统中分布PPU并将它们放置在控制的电源域附近来解决。从通信的角度来看,通过重用现有的SoC互连,分布式PPU可以进行编程。
这种放置意味着供给受控制的电源域的时钟源可以在本地使用,以最大程度地提高PPU的响应性。尽管PPU可能使用与其控制的组件相同的时钟源,但由于它位于不同的电源域,甚至是电压域,因此接口仍然需要被视为异步,以最小化时序封闭成本。
分布式方法还可以帮助将功能封装到子系统构建块中,从而简化大型系统的构建。
下图显示了这种类型的排列的示例。
这种方法需要一种分层的电源域排列方式,即域的PPU必须在SCP可访问之前被上电,然后才能进一步上电子域。始终开启的域中必须至少有一个PPU来启动第一个功耗门控域。然而,根据系统的电源域层次结构,始终开启的域中可能需要多个PPU。