Stack Pointer Selection Circuitry for Exception Handling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If dedicated stack data stores are provided for each exception state, then stack overflow is prevented, but device complexity increases
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.
3Reliability
If stack capacity is increased to prevent overflow, then exception handling reliability improves, but memory usage increases
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.
Data Source
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.


