Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Arm Research
    • DesignStart
    • Education Hub
    • Graphics and Gaming
    • High Performance Computing
    • Innovation
    • Multimedia
    • Open Source Software and Platforms
    • Physical
    • Processors
    • Security
    • System
    • Software Tools
    • TrustZone for Armv8-M
    • 中文社区
  • Blog
    • Artificial Intelligence
    • Automotive
    • Healthcare
    • HPC
    • Infrastructure
    • Innovation
    • Internet of Things
    • Machine Learning
    • Mobile
    • Smart Homes
    • Wearables
  • Forums
    • All developer forums
    • IP Product forums
    • Tool & Software forums
  • Activity
  • Support
    • Open a support case
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • More
  • Cancel
Processors
  • Developer Community
  • IP Products
  • Processors
  • Jump...
  • Cancel
Processors
Processors blog Improved Power Management and System Control through SCMI
  • Blogs
  • Leaderboard
  • Forums
  • Videos & Files
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
More blogs in Processors
  • DesignStart blog

  • Machine Learning IP blog

  • Processors blog

  • TrustZone for Armv8-M blog

Tags
  • White Paper
  • System on Chip (SoC)
  • performance
  • Power Management Kits
  • System Control and Management Interface
  • System Design
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Improved Power Management and System Control through SCMI

Souvik Chakravarty
Souvik Chakravarty
August 5, 2019

Power and Performance Management of a System-on-Chip (SoC) aims to deliver the maximum designed performance while simultaneously optimizing power consumption for targeted software workloads. In this context, the Operating System (OS) is the entity that has the most comprehensive view of the running and runnable workloads. Thus, the OS has evolved over time as the primary entity driving and controlling power and performance management along with system control functionality.

OS-based Power Management paradigms and their drawbacks

Software Complexity

OS-based system control and power management has led to complexities in the software stack which have affected its maintainability, portability and security. The race for differentiation among hardware vendors has led to widely different hardware designs requiring specialized software support, which are potentially difficult for a single generic OS kernel to support. This poses a challenge for OS developers who strive to create and maintain a single, generic kernel. The differentiation also poses problems for SoC vendors, who must provide dedicated software for each platform that they must support. Hence many platforms end up maintaining out-of-tree kernel code. This poses challenges in OS upgrades, which in-turn leads to faster obsolescence because the latest software features and security upgrades become difficult to deploy. Additionally, vendors who want to support multiple OS variants on each platform need to create, maintain and debug separate software stacks for each OS with no code commonality.

System-on-Chips may comprise multiple PE clusters, each cluster running a separate OS Instance. In such a scenario any single OS instance may not have complete control and view of the platform. This is true of virtualized systems as well, where there may be multiple OS hosted as Virtual Machines. In such a scenario, the traditional OS-based control of the platform’s system and power management leads to software which is either too bespoke for a generic kernel to support or which compromises functionality.

Security vulnerability

Maintaining all the system and power controls within the domain of the OS kernel has another side-effect. It exposes the system to security attacks which may result in denial of service, extraction of secrets, or other exploits. Such attacks generally work by attempting to transition the system into unstable states by exploiting the system controls exposed to the OS kernel. As a mitigation, some platforms have migrated system controls away to the Secure Trusted world. However, there is no common mechanism, at least in the Linux kernel, that works for all platforms with such a design.

Response time limitations

As SoCs become more powerful, it may not always be feasible to design power supplies for worst case electrical requirements or design the platform chassis for worst case thermal requirements. Such designs require a central entity to regulate platform power and performance according to the electrical and thermal environment and tolerances. This entity must be capable of providing a faster response time than OS kernels.

Delegation-based approach to Power Management

The above limitations of OS-centric power and performance management leads to an obvious conclusion: the Arm ecosystem needs to adopt a delegation-based approach to power and performance management. This approach exploits a judicious division of power, performance and system control responsibilities between the OS and the platform firmware.

In the delegation-based approach, an entity that can perform the role of the platform firmware is the Arm System Control Processor (SCP) firmware. The SCP firmware can be customized for differentiation, thereby allowing the OS kernel to remain generic. The OS continues to play a primary role in choosing power and performance levels. The firmware validates the OS requests according to overall system policies and constraints, and programs the platform hardware to operate at the selected level.

Benefits to OS developers and SoC Vendors

The delegation-based approach to power management and system control architecture is resistant to security attacks and can be deployed on generic OS kernels without modifications to the latter. The SCP-Firmware can potentially support multiple Operating System variants on the same platform, thereby lowering efforts through firmware commonality. This eases development, debug and maintenance costs for the OS developers and reduces time to market for the SoC vendors.

Standard Interface between OS and Platform Firmware

SCMI overview diagram

A key requirement of the delegation-based approach is a standard interface between the platform firmware and the OS kernel. The Arm System Control and Management Interface (SCMI) specification provides this standardized interface, allowing a generic OS kernel to communicate with any platform firmware that complies to this specification. It also enables a common firmware that can be deployed across multiple Operating Systems.

More Information on SCMI

Our newly published white paper provides a high-level overview of the SCMI specification and the benefits it offers to OS developers and SoC vendors in enabling a generic OS kernel that works across a variety of SoC designs. The whitepaper provides details of how a platform design can leverage SCMI to provide the benefits of maintainability, safety and security while still providing differentiation.

Download SCMI White Paper

Anonymous
Processors blog
  • Processors blog: Customizing Cortex A5 DesignStart Software

    Matt Spencer
    Matt Spencer
    Read about how you can customize DesignStart with Cortex-A5 and the Yocto project.
    • December 9, 2019
  • Processors blog: Making licensing easier for system architecture – grab and go!

    Nathalie Morris
    Nathalie Morris
    The Arm system architecture team has introduced a standardized licensing framework, to enable faster, simpler access to architecture specifications and documentation.
    • December 9, 2019
  • Processors blog: Reduce TCO with Arm Based SmartNICs

    Julio Suarez
    Julio Suarez
    Read about the details of SmartNICs and how they are used to offload processing that is done by server CPUs.
    • November 14, 2019