Multi-Core Boot Isolation Using Acquire Fence Release
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing an enhanced boot process for multiple cores in an embedded compute complex is challenging, particularly in large data processing systems like mainframe computers, due to the need for isolating and booting each core efficiently while minimizing hardware and power consumption.
Innovation Solution
The method involves setting an acquire fence to prevent cores from fetching instructions during boot, monitoring a boot message register, and releasing the fence upon memory enablement, allowing each core to boot from a unique address and execute code independently, with a maintenance core managing the process to reduce hardware and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple cores in an embedded compute complex are booted independently from unique areas, then boot flexibility and code execution independence are improved, but boot process complexity and hardware requirements increase
Solution Approach 1:
The boot process is segmented into distinct phases: an initial boot phase where a first core executes boot instructions from a first area, and a second boot phase where additional cores execute boot instructions from a second area. This segmentation allows independent booting of multiple cores from different memory areas while maintaining a structured, manageable process flow that reduces overall complexity.
Solution Approach 2:
The system performs preliminary boot actions by first booting a first core to execute initial boot instructions that prepare the system state. This preliminary action establishes the necessary conditions before booting additional cores in the second phase, ensuring that each core can be independently booted while sharing common system initialization tasks.
2Loss of energy
If a common boot sequence is used for multiple cores, then hardware consumption is reduced, but the ability to execute different code types is limited
Solution Approach 1:
The boot process design allows a single common boot sequence to serve multiple functions by booting different cores to different areas with different code types. The same boot instructions can initiate various code execution paths depending on which core is booted and to which memory area, enabling one mechanism to support multiple code execution scenarios without requiring separate dedicated boot sequences for each.
Data Source
AI summary
The embodiments herein describe techniques for implementing enhanced boot processing of an embedded compute complex including a plurality of cores. Disclosed embodiments enable isolating the plurality of cores of the embedded compute complex from other components of a computing system when the cores are released from reset at the beginning of the boot initialization sequence, and enable a hierarchical boot process for booting the plurality of cores of the embedded compute complex.


