唐山网站制作app,北京软件开发哪家好,市场监督管理局电话,庆阳网站设计报价目录
6.4 系统控制处理器
6.4.1 SCP组件
SCP处理器Core
SCP处理器Core选择
SCP处理器核内存
系统计数器和通用计时器
看门狗
电压调节器控制
时钟控制
系统控制
信息接口
电源策略单元
传感器控制
外设访问
系统访问 6.4 系统控制处理器
系统控制处理器(SCP)是…目录
6.4 系统控制处理器
6.4.1 SCP组件
SCP处理器Core
SCP处理器Core选择
SCP处理器核内存
系统计数器和通用计时器
看门狗
电压调节器控制
时钟控制
系统控制
信息接口
电源策略单元
传感器控制
外设访问
系统访问 6.4 系统控制处理器
系统控制处理器(SCP)是一种基于处理器的能力为电源管理功能和服务的提供提供了灵活和可扩展的平台。
SCP功能和服务的概述见3.2系统控制处理器。 图6.2显示了一个SCP硬件概述的示例。 【注意】SCP的确切结构将取决于处理器和外设的选择。本节描述了一个通用结构该结构提供了支持本文档中描述的功能和服务所需的功能。
6.4.1 SCP组件
该部分介绍SCP子系统的组成。
SCP处理器Core
处理器运行的固件根据请求、事件和调度任务采取行动。
SCP处理器Core选择
在SCP中使用的处理器的选择取决于系统的要求。下面列出了需要考虑的重要事项
•处理能力SCP必须有足够的处理能力来处理预期运行的任务特别是具有实时依赖关系的任务或可能需要并发处理的任务。随着AP核数的增加而扩展的任务(如空闲管理和传感器监视)通常会主导利用率。AP核空闲管理通常是对延迟最敏感的任务负载延迟分布的尾部可以通过提供足够的性能来管理以保持总体适度的利用率。选择标准包括处理器的类型和运行频率。
•中断类型一些处理器有矢量中断可以简化中断的连接、处理和延迟减少或消除软件交互来发现中断原因的需要。
•中断优先级和延迟内在中断延迟应该与核心的其他中断特性一起考虑。这些可以包括硬件中断优先级中断嵌套和中断处理程序之间的尾链以及中断向量之间的硬件上下文切换。在矢量中断的情况下还应该考虑可用中断输入的数量。如果这个值太低并且在SCP中需要一个额外的中断控制器这会增加固件和硬件中断序列的延迟。
•面积和功耗SCP通常会一直处于开启状态。因此功耗是一个重要的考虑因素。对于SoC可能花费大量时间的SLEEP状态尤其如此。
•调试和跟踪调试和配置固件的能力对开发至关重要。考虑因素包括在SoC中可用的SCP处理器子系统的本机调试和跟踪支持SLEEP状态和集成到更广泛的CoreSight SoC调试和跟踪系统。
•可信操作由于SCP控制着SoC的敏感部分因此需要关注安全性。SCP从私有本地内存运行它的固件可以通过一个受信任的引导进程加载从而使SCP在本质上是受信任的。但是如果SCP需要访问系统的其他部分则需要考虑该部分及其访问的组件的安全性。
对于移动系统SCP处理器核心可能是Arm Cortex-M微控制器例如Cortex-M3。 其他系统可能会考虑另一个Arm配置文件核心如Cortex-R或Cortex-A。在所有情况下选择都取决于上述因素。
SCP处理器核内存
处理器具有用于引导的ROM和用于存储固件指令和数据的RAM。该ROM和RAM是SCP私有的。
一种可能的实现是在引导时使用ROM使系统进入一种状态在这种状态下主机处理器可以访问内存系统并直接或间接地加载SCP固件。
客户端系统的可信引导要求在Trusted Board Boot Requirements–CLIENT [7]规范中提供。
SCP固件代码和数据空间完全在其私有RAM中。然后当SoC的其余部分关闭且系统内存不可用时SCP可以运行。但是当可用时SCP可以根据需要访问系统内存和系统的其他部分。
系统计数器和通用计时器
系统计数器为SoC提供一个通用的时间参考。通用计时器使用计数器值来产生中断和唤醒事件。主系统计数器值被分发给其他系统元素包括应用程序处理器和调试基础设施以提供一致的时间视图。
主系统计数器分辨率需要一个时钟源由于功耗原因可能在SoC睡眠状态下关闭。提供一个次要的持续运行的低速计数器通常使用实时时钟源作为其输入可以通过SoC SLEEP状态保存所需的时间视图。使用此计数器的通用计时器用于在这些状态下生成唤醒事件。
SCP负责在进入和退出SLEEP状态时管理这些系统计数器之间的时间传输以确保向系统提供一致的时间视图。这可以通过SCP中的硬件和固件功能的组合来实现。
有关ARMv7架构系统计数器和通用计时器的详细信息请参阅ARM架构参考 手册ARMv7-A和ARMv7-R版本[3]。
有关ARMv8架构系统计数器和通用计时器的详细信息请参阅ARM架构参考手册ARMv8用于ARMv8-A架构配置文件[2]。
看门狗
SCP看门狗提供防止系统死锁的功能。如果SCP没有定期写入看门狗那么看门狗将产生中断这将最终导致系统重置。
必须有一个综合征寄存器来通知SCP处理器上一次复位的原因以便它能够采取适当的行动。
当SCP提供这种特定的看门狗功能时其他系统看门狗可能由AP软件管理。具体要求请参见SBSA (Server Base System Architecture)[1]。
电压调节器控制
SCP管理各种功能的电压供应包括开机后的开、关和DVFS电压水平的改变。
电压供应通常由单独的电源管理IC提供。稳压器控制组件为该功能提供接口。接口协议的实现取决于电源管理IC的选择。
时钟控制
SCP不能在组件活动级别控制时钟的运行时动态门控。这是由具有硬件自主Q-Channel管理的时钟控制器管理的。
SCP用于管理时钟源的使能、选择和划分。时钟源可能包括片外源如晶体振荡器和片内源如锁相环。每个时钟源通常能够被分割为不同的组件产生大量的频率。
这些设置可能是静态的在需要组件或上电时设置一次或者应组件或相关软件的请求更改例如针对AP或GPU DVFS。
有关动态时钟门控的更多详细信息请参见6.5.2时钟控制器和7.1时钟控制集成。
系统控制
SCP可以管理各种系统控制任务。当特定的响应性不是约束时这通常可以通过寄存器控制输出和中断输入来处理。一个简单的应用程序示例是管理与SoC组件的四阶段请求确认握手。当SCP外部的硬件充当请求者时请求信号被连接到一条中断线该中断线被设定为在请求的每个边缘产生一个脉冲。输入状态寄存器位也可用于确定请求的级别。一个控制寄存器位驱动SCP输出用于确认信号。当角色互换时相应的信号连接也是如此。
图6.3显示了此应用程序的一个示例其中SoC组件充当请求者。 为此目的包括任何系统控制寄存器和中断分配是可选的取决于系统需求。
信息接口
为了允许OSPM和SCP消息接口之间通过软件接口(如SCMI)进行请求通信需要硬件支持。虽然这可以采取多种形式但解决方案必须是易于对操作系统进行通用描述的解决方案。使用共享内存邮箱和门铃中断的方案是典型的非常适合此目的。
消息传递接口必须可供系统中的任何AP核心使用。
典型的实施例是一个简单的硬件它允许任何一个实体发送和读取消息并为彼此生成中断以指示消息的可用性。
典型的OSPM到SCP通信方法可能是
OSPM
a.将消息存储到邮箱内存中。
b.使用门铃寄存器生成SCP中断。
SCP接收到中断:
a.从邮箱内存中读取消息。
b.清除门铃中断。
SCP根据消息执行操作。SCP也可能发送回调响应使用相同的操作但方向相反。
在具有能够直接请求SCP采取行动的自管理设备或子系统的系统中需要扩展消息传递功能以允许在这些代理和SCP之间进行通信。
电源策略单元
电源策略单元(Power Policy unit, PPU)是专用的硬件组件用于从SCP固件中抽象出对电源域的低级控制。SCP固件只做出高层次的电源域策略决策并将其编程到PPU中。
ppu的数量和位置取决于设计的拓扑结构。在always-on域中至少有一个PPU以提供第一级的系统唤醒能力。
其他的ppu可以分布在SoC周围具体请参见7.2.3分布式ppu。
关于电源策略单元的详细介绍请参见6.5.1电源策略单元。
关于ppu集成的详细信息请参见7.2电源控制集成。
传感器控制
SCP预计能够通过专用外设或使用SoC互连访问片上工艺、电压和温度传感器信息。
附加的外围设备
可以包括SCP私有的其他外围设备。通常这些是提供唤醒功能的always-on域外设。
外设访问
一般来说出于安全原因SCP外设是私有映射的。两个重要的例外在SCP和AP地址空间中都有映射如图6.2所示:
•主系统计数器AP软件必须能够访问系统计数器作为通用定时器规范要求。
•消息接口需要共享访问来促进6.4.1中描述的消息传递机制。
对于处于always-on子系统之外的SCP外设比如分布式的PPU, SCP可能支持物理上私有的外设扩展端口或者依赖于共享的互连资源。在共享互连的情况下SoC集成商必须考虑对其他代理访问这些外设的安全控制。
系统访问
SCP预计可以使用共享系统互连访问更广泛的SoC资源包括外设和内存。
对SoC资源的访问允许SCP执行作为电源控制序列的一部分的操作。这可能包括组件的配置以及保存和恢复功能。例如对接控制器和内存控制器组件的配置。
除非必要否则不建议限制这种访问因为这会限制SCP可以执行的任务。