安全之安全(security²)博客目录导读
目录
一、系统控制处理器
1、服务
2、可信操作
一、系统控制处理器
SCP是一种基于处理器的能力,为提供电源管理功能和服务提供了一个灵活和可扩展的平台。
在移动系统中,SCP处理器一般是Cortex-M微控制器,但根据系统需求,其他Arm Core也可能是合适的。
下图描述了SCP的概念层次说明。
在图3.2的上半部分,应用处理器(AP)软件栈作为SCP服务的请求者。系统中的其他代理可能也有能力直接为SCP控制的资源生成请求。此类代理的示例可能是移动SoC中的调制解调器(modem)子系统或服务器SoC中的管理功能。SCP协调来自所有代理的请求,根据所有约束管理共享资源的可用性和功耗-性能限制。
图的中心部分反映了SCP是一个基于处理器的系统,运行专用固件,控制一组硬件资源。虽然在图中没有显示,但是SCP拥有最小的资源集,包括本地私有内存、计时器、中断控制和用于系统配置、控制和状态的寄存器。
图的下半部分显示了一组简化的SCP控制硬件资源,如时钟源、门控、电源和传感器。
SCP实现的能力依赖于访问和控制SoC内的一组资源的能力,以及SCP内所需的基本功能集。
1、服务
SCP提供以下主要服务:
•OSPM定向操作:SCP在OSPM的指导下进行电压调节、电源控制、时钟源管理等操作。其他请求代理也可以使用这些服务。
•响应系统事件:SCP通过适当的电源、时钟、复位和系统控制动作响应系统事件。这些行动包括:
-定时器事件:SCP具有本地定时器资源,可用于触发系统唤醒和任何周期性动作(如监控)。
-唤醒事件:响应唤醒请求,包括由于中断路由(route)到下电核引起的GIC唤醒请求,以及其他代理的系统访问请求。
-调试访问电源控制:响应调试访问端口和相关控件的请求,包括调试基础设施的电源管理。
-看门狗事件和系统恢复动作:当本地看门狗超时时,SCP可以执行复位和重新初始化序列。
•系统感知功能:SCP可以自主行动,并可以执行以下功能:
-用于协调OSPM和其他代理对共享资源的请求。例如,它可以控制到主存的路径或进入和退出SoC睡眠模式,而不需要AP核心活动。
-SCP可负责监控传感器和测量功能。监控任务可能包括过程和温度传感器数据收集以及相关操作,如工作点优化和报警条件。
-如有必要,SCP在操作点选择中的作用可以扩展到超越OSPM方向,以确保系统的电气和热保护。
•系统初始化:SCP负责上电复位系统初始化任务,从主系统和AP核心电源域的上电到AP boot。
SCP将任务和细节从OSPM中抽象出来,从而增加了AP核低功耗状态的使用,简化了BSP (board support package)的实现。同时,特定于平台的差异、修复和改进可以由芯片供应商或OEM在固件级别实现。
在一个复杂的SoC(即一个系统的系统)中,可以有几个具有分散职责的SCP。在这样一个系统中,期望有一个主SCP可以与所有其他SCP通信。主SCP负责管理所有全局共享资源以及初始化和其他公共任务,而其他SCP则负责局部任务。
2、可信操作
虽然SCP可以广泛访问系统,但它的资源(包括内存和外设)不能被系统的其余部分访问。结合适当的引导进程,SCP可以是一个固有的可信实体。