To achieve the highest performance while maintaining system stability, SoCs increasingly depend on monitors and sensors to deliver real-time actionable data. Specialized sensors can deliver data which can be analyzed locally for immediate action or provided for remote monitoring and analysis. In past systems, this was managed by a System Control Processor (SCP) with a view of the entire SoC monitors and sensors.
Arm Sensor Framework specifies common sensors for runtime control processes across Client, infrastructure and Automotive SoCs. The framework includes Arm-defined as well as third-party digital sensors and monitors embedded into the cores. These sensors are used for system control functions for example minimizing overall system voltage droops. They are also used at the cluster level for power management and clock generation and for specific functions for example calibrating digital sensors.
As systems scale with more cores, the complexity of managing sensor and monitoring data becomes an issue. Increasingly specialized sensors are needed which often deliver unique data to analyze and can come with different interfaces. Sampling data is becoming more flexible, adding to the need for more sophisticated control management. Third-party specialized sensors offer unique value propositions but have been traditionally difficult to integrate.
To address the increased complexity of managing sensor and monitor data, Arm introduced the System Monitor Control Framework (SMCF). The SMCF provides a standard software programming interface and comes with a set of functions to simplify setup. It enables 3rd party sensor data to be quickly integrated into a control system and allows developers to group monitors in functional blocks to create a manageable hierarchy.
The SMCF adds several improvements and adds flexibility to the system:
The SMCF consists of two components:
MLI blocks in a group monitor connect to one MGI as shown in the diagram below:
Figure 1: Monitor group topology
Figure 2: SMCF for Monitor Diversity
The SMCF supports different monitor management models. It also supports internally timed periodic sampling or interrupt driven by multiple external triggers. The selection of monitors to be sampled can be configured with a programmable delay for trigger-to-sampling.
Figure 3: Sampling waveform
SMCF is a distributed framework that supports placement and management of monitors within SoC power domains. This removes the need for central coordination and indication of power domains states for monitor data collection. Hence, this allows power management with minimal, or no action required by configuring software. The MGI supports Sample IDs, written by the DMA interface, to indicate when monitors or even an entire MGI is powered off. It supports an interrupt event when an MGI is powered on to indicate that (re)configuration is required.
Functionality that allows monitors to connect and disconnect from MGI. It also allows monitors to be powered off separately from their MGI without software support. The MGI/MLI power modes expected to be managed with AMBA LPI, Q/P-Channel along with other components in the relevant power domains. Figure 4: Power Management Central Collection (Non-SMCF Model)
Figure 5: Power Management: Distributed (SMCF Model)
SMCF supports data collection directly from the group interface and through DMA to a memory-mapped location. Data availability can be supported through interrupts or through sample identifiers indicating data validity.
For groups with more than one monitor, monitor sample data packing makes data collection more efficient. For example, a monitor that produces data values of less than 16-bits can have multiple values packed in a 32-bit location to make data reads more efficient.
Figure 6: Sample identifiers for externally written data
The rich set of data collected by the SMCF can be utilized for system telemetry. This data can be accessed by the operating systems and used for profiling, debugging, benchmarks, and workloads. However, care should be taken to ensure that exposing the data does not introduce additional security vulnerabilities in the system. A standard interface to present suitably sanitized data gathered by the collection agent, for the consumption of operating systems and other agents is currently under design as an extension to the System Management and Control Interface (SCMI) specification. This helps with remote management use cases as well, where the collected SMCF based monitor/sensor data can be communicated to a BMC through a SBMR compliant interface to align with OCP guidelines.
With the layered approach of the SMCF, integrating 3rd third-party sensors has never been easier. ProteanTecs, a member of Arm Total Design, has integrated their monitors with the SMCF, providing an easy path for CSS customers to leverage their specialized sensors with minimal effort.