Stack Pointer Selection Circuitry for Exception Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face issues with stack overflows during exception handling, leading to recursive exception entries and system crashes due to the overuse of stack resources, which can prevent proper execution of exception handling routines.

Innovation Solution

A data processing apparatus with multiple exception states, utilizing a base level stack pointer and dedicated further level stack pointers to manage stack data stores, allowing for efficient switching between stack pointers to prevent overflow, with stack pointer selection circuitry controlling the use of either the base level or further level stack data store based on the current exception state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single stack data store is used for all exception states, then device complexity is reduced, but stack overflow occurs leading to recursive exception entries and system crashes

Engineering Contradiction:
Improvestack management structureVSAvoidexception handling reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the single stack data store into multiple separate stack data stores, with each stack dedicated to a specific exception state. This segmentation prevents stack overflow in one exception state from affecting other exception states, thereby eliminating recursive exception entries and system crashes while maintaining manageable complexity through systematic organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each exception state is assigned its own dedicated stack data store with appropriate capacity tailored to the specific needs of that exception state. This local quality approach ensures that each exception state has sufficient stack space for its specific requirements without wasting resources on oversized shared stacks, improving reliability while keeping the overall system complexity controlled.

Inventive Principle:
Principle #3Local quality

2Reliability

If dedicated stack data stores are provided for each exception state, then stack overflow is prevented, but device complexity increases

Engineering Contradiction:
Improveexception handling reliabilityVSAvoidstack management structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The stack pointer selection circuitry serves multiple functions: it automatically selects the appropriate dedicated stack data store based on the current exception state, manages stack pointer values for multiple stacks, and coordinates with the exception handling mechanism. This multi-functionality reduces the need for separate management mechanisms for each stack, thereby limiting the increase in device complexity while maintaining high reliability.

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

3Reliability

If stack capacity is increased to prevent overflow, then exception handling reliability improves, but memory usage increases

Engineering Contradiction:
Improveexception handling reliabilityVSAvoidmemory space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of providing one large shared stack that must accommodate all possible exception scenarios, the patent segments the stack memory into multiple smaller dedicated stacks. Each stack is sized appropriately for its specific exception state, preventing any single stack from needing excessive memory while ensuring adequate space for each exception type. This segmentation achieves reliability without requiring excessive total memory usage.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9727343B2Apparatus and method for handling exception events
Publication Date: 2017.08.08 ARM LTD
  • US9727343B2 patent drawing
  • US9727343B2 patent drawing
  • US9727343B2 patent drawing

AI summary

Processing circuitry has a plurality of exception states for handling exception events, the exception states including a base level exception state and at least one further level exception state. Each exception state has a corresponding stack pointer indicating the location within the memory of a corresponding stack data store. When the processing circuitry is in the base level exception state, stack pointer selection circuitry selects the base level stack pointer as a current stack pointer indicating a current stack data store for use by the processing circuitry. When the processing circuitry is a further exception state, the stack pointer selection circuitry selects either the base level stack pointer or the further level stack pointer corresponding to the current further level exception state as a current stack pointer.