Shared FPU Context Management for Multiprocessor Circuit Size Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiprocessor systems face inefficiencies in using hardware resources like the Floating Point Unit (FPU) due to increased circuit size and varying operating rates, which hinders the increase in use efficiency when each processor applies lazy context switching.
Innovation Solution
A processor apparatus that allows sharing of hardware resources like the FPU between multiple processors by using a control unit to manage extension context data, determining whether the context data belongs to the processor attempting to execute an instruction, and executing the instruction without saving or restoring the context data when possible, thereby optimizing circuit size and use efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If each processor includes an FPU and applies lazy context switch for each processor, then context switching efficiency is improved, but circuit size increases and operating rate variation occurs
Solution Approach 1:
The patent merges multiple FPUs into a shared hardware resource that can be accessed by multiple processors. Instead of each processor having its own dedicated FPU, a single FPU is shared among processors through a management unit that handles context switching and resource allocation, thereby reducing overall circuit size while maintaining productivity.
Solution Approach 2:
The shared FPU is designed to serve multiple processors universally. The FPU management unit enables the same hardware resource to be dynamically allocated to different processors based on their needs, making the FPU multi-functional and applicable to various processing tasks across different processors without requiring dedicated instances for each.
2Productivity
If each processor includes an FPU and applies lazy context switch, then processing efficiency is improved, but operating rate variation between processors increases
Solution Approach 1:
The FPU management unit implements feedback mechanisms to monitor the state and usage of the shared FPU across multiple processors. By tracking which processor is currently using the FPU and managing context switches based on this feedback, the system can coordinate access patterns to reduce operating rate variation and ensure more consistent performance across all processors.
Solution Approach 2:
The system dynamically adjusts FPU allocation and context switching timing based on the current operational state of each processor. Rather than using fixed context switching intervals, the management unit adapts the switching behavior to match the actual processing needs and operating rates of different processors, thereby stabilizing overall system performance and reducing variation.
3Device complexity
If hardware resources like FPU are shared between multiple processors, then circuit size is reduced, but context switching overhead increases
Solution Approach 1:
The system performs preliminary actions by pre-managing FPU context states and preparing for potential context switches before they are needed. The FPU management unit maintains awareness of the current FPU usage state and can proactively manage context preservation and restoration, reducing the actual overhead when context switching occurs by having much of the preparation done in advance.
Solution Approach 2:
The shared FPU system implements self-service mechanisms where the FPU management unit automatically handles context switching operations without requiring extensive external intervention from each processor. The management unit autonomously manages the context state, performs necessary save/restore operations, and coordinates access, thereby minimizing the time overhead associated with context switching while maintaining shared resource efficiency.
Data Source
AI summary
A processor apparatus according to the present invention is a processor apparatus which shares hardware resources between a plurality of processors, and includes: a first determination unit which determines whether or not a register in each of the hardware resources holds extension context data of a program that is currently executed; a second determination unit which determines to which processor the extension context data in the hardware resource corresponds; a first transfer unit which saves and restores the extension context data between programs in the processor; and a second transfer unit which saves and restores the extension context data between programs between different processors.


