Shared FPU Context Management for Multiprocessor Circuit Size Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecontext switching efficiencyVSAvoidcircuit size
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If each processor includes an FPU and applies lazy context switch, then processing efficiency is improved, but operating rate variation between processors increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidoperating rate consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If hardware resources like FPU are shared between multiple processors, then circuit size is reduced, but context switching overhead increases

Engineering Contradiction:
Improvecircuit sizeVSAvoidcontext switching overhead
Core Design Contradiction:
Device complexityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8850168B2Processor apparatus and multithread processor apparatus
Publication Date: 2014.09.30 PANASONIC HOLDINGS CORP
  • US8850168B2 patent drawing
  • US8850168B2 patent drawing
  • US8850168B2 patent drawing

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.