SoC Resource Partitioning via Dedicated Microcontroller
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-processor system-on-chip (SoC) technologies face challenges in efficiently partitioning and provisioning resources among multiple operating systems without impacting performance, leading to increased complexity, cost, and power consumption due to the need for virtualization software and additional architectural changes.
Innovation Solution
A method is implemented within the SoC to partition, provision, and protect shared resources using a separate microcontroller with additional partitioning and provisioning hardware logic, eliminating the need for virtualization software and allowing each operating system to operate independently with guaranteed bandwidth and performance, without architectural changes or processing overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtualization software is used to partition resources among multiple operating systems, then resource sharing capability is improved, but system complexity and cost increase
Solution Approach 1:
The patent extracts the virtualization management functionality from the main processors and places it in a dedicated configuration microcontroller. This separation removes the complexity of running virtualization software on the guest operating systems, while still enabling resource partitioning and sharing capabilities. The microcontroller handles configuration and management tasks, allowing the main processors to focus on executing guest OS workloads without the overhead of virtualization software.
2Adaptability or versatility
If virtualization software is used to partition resources among multiple operating systems, then resource sharing capability is improved, but power consumption increases
Solution Approach 1:
The virtualization management functions are extracted from the power-hungry main processors and implemented in a low-power configuration microcontroller. This dedicated controller handles resource partitioning and management tasks, allowing the main processors to enter low-power states when not actively processing guest OS workloads, thereby reducing overall power consumption while maintaining resource sharing capabilities.
3Ease of operation
If processors operate in SMP mode to coordinate requests between multiple guest OSs, then resource coordination is improved, but performance degrades due to unnecessary cache snoop requests
Solution Approach 1:
The patent implements domain-specific resource allocation where each guest operating system is assigned a specific domain with dedicated resources. This local quality approach allows each domain to operate independently without requiring global SMP coordination, eliminating unnecessary cache snoop requests between domains while maintaining efficient resource coordination within each domain through hardware-based isolation.
4Adaptability or versatility
If SMP architecture is used to connect multiple processors to shared memory, then resource sharing is improved, but bandwidth and power consumption of interconnect increase
Solution Approach 1:
The patent implements domain-based resource allocation where resources are partitioned into distinct domains, each associated with a specific processor or group of processors. This local quality approach reduces interconnect traffic by allowing processors to access resources within their domain without requiring broad interconnect arbitration, thereby reducing bandwidth consumption and power usage while maintaining resource sharing capabilities across domains.
Data Source
AI summary
In a system-on-chip (SoC), a method is provided for partitioning access to resources. A plurality of processors is provided, including a configuration master (CM) processor, a memory, a plurality of OSs, and accessible resources. The method creates a mapping table with a plurality of entries, each entry cross-referencing a range of destination addresses with a domain ID, where each domain ID is associated with a corresponding processor. Access requests to the resource are accepted from the plurality of processors. Each access request includes a domain ID and a destination address. A mapping table is consulted to determine the range of destination addresses associated with the access request domain IDs. The accesses are authorized in response to the access request destination addresses matching the range of destination addresses in the mapping table, and the authorized access requests are sent to the destination addresses of the requested resources.


