Exception Handling Mode Switching for Response Time
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for handling exceptions in computing systems, such as saving and restoring the main register set or using shadow registers, are time-consuming and require additional hardware, especially when dealing with nested exceptions.
Innovation Solution
The system operates in two modes: initialization mode, where the main register set is saved and restored, and exception-driven mode, where a different exception handler processes exceptions without saving or restoring the main register set, allowing for efficient exception handling by switching between these modes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the main register set is saved and restored before processing exceptions, then system reliability is improved, but exception response time increases
Solution Approach 1:
The exception handling process is segmented into two distinct modes: initialization mode and exception-driven mode. In initialization mode, the main register set is saved and restored to ensure reliability. In exception-driven mode, a separate exception register set is used, eliminating the need to save and restore the main register set, thus reducing exception response time while maintaining system reliability through mode-specific handling
Solution Approach 2:
An intermediate exception register set is introduced as a mediator between the main register set and exception processing operations. This intermediate register set allows exceptions to be processed without directly accessing or modifying the main register set, thereby eliminating save/restore overhead while maintaining data integrity through controlled access paths
2Loss of time
If shadow registers are used to process exceptions, then exception response time is reduced, but device complexity increases
Solution Approach 1:
The system dynamically switches between two operational modes: initialization mode where the main register set is used with save/restore operations, and exception-driven mode where the exception register set is activated. This dynamic mode switching allows the system to optimize for exception response time when needed while maintaining flexibility and avoiding permanent hardware duplication
Solution Approach 2:
The exception register set serves multiple functions: it acts as a temporary storage for exception processing, eliminates the need for shadow registers in traditional designs, and enables both initialization mode operations and exception-driven mode operations. This multi-functionality reduces overall device complexity while maintaining fast exception response capabilities
3Adaptability or versatility
If shadow register sets are implemented for nested exceptions, then exception handling capability is improved, but hardware requirements increase
Solution Approach 1:
Nested exceptions are handled by nesting exception processing within the exception-driven mode. When a nested exception occurs during exception processing, the same exception register set is reused, and exception handling instructions are nested within the existing exception context. This eliminates the need for separate shadow register sets for each exception level, reducing hardware requirements while maintaining nested exception handling capability
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method of processing exceptions in an exception-driven computing-based system that operates in either initialisation mode or exception-driven mode. The method includes, upon detecting an exception has occurred, causing the processor to execute exception handling instructions. When the system is operating in initialisation mode the exception handling instructions invoke a first exception handler that causes a main register set to be saved before processing the exception and restored after processing the exception, and when the system is operating in exception-driven mode the exception handling instructions invoke a second exception handler that does not cause the main register set to be saved and restored. In some examples, the exception handling instructions are initially configured to invoke the first exception handler and are dynamically updated when the system switches from initialisation mode to exception-driven mode to invoke the second exception handler.