Software Emulation Signal Handler Exception Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software emulators for legacy computer systems face performance bottlenecks due to the need for extensive exception and error checking, which can be time-consuming and detract from the precise emulation of legacy hardware behavior, especially in high-performance environments like the Intel Itanium series processors.
Innovation Solution
Utilizing the host system's hardware and signal handling mechanisms to detect and manage exceptions, allowing the software emulator to bypass unnecessary checks in time-critical sections, thereby improving performance and maintaining compatibility with the legacy system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If extensive exception and error checking is performed in the software emulator, then reliability is improved, but performance deteriorates due to time-consuming checks
Solution Approach 1:
The patent extracts the exception checking function from the software emulator code and relocates it to the host system hardware. The hardware automatically detects exceptions during instruction execution, and the operating system's signal handler processes these exceptions. This separation removes the performance burden from the emulator while maintaining reliability through hardware-level exception detection.
2Reliability
If extensive exception checking is performed in the software emulator, then reliability is improved, but execution time increases
Solution Approach 1:
The host system hardware performs self-service exception detection automatically during instruction execution. The hardware monitors execution and automatically generates exception signals when errors occur, eliminating the need for the software emulator to manually check for exceptions. This self-service mechanism reduces exception checking time to near zero while maintaining comprehensive error detection.
3Adaptability or versatility
If the software emulator performs manual exception checking, then compatibility with legacy systems is maintained, but device complexity increases
Solution Approach 1:
The operating system's signal handler acts as an intermediary between the hardware exception detection mechanism and the emulated legacy system. The signal handler translates hardware exceptions into appropriate responses that maintain legacy system compatibility, while the emulator code itself remains simple since it relies on the hardware and OS for exception handling.
Data Source
AI summary
As fast and powerful commodity processors have been developed, it has become practical to emulate on platforms built using commodity processors the proprietary hardware systems of powerful older computers. High performance is typically a key requirement for a system even when built using emulation software. In a hardware design many special cases and conditions which may cause exceptions are detected by logic operating in parallel with the instruction execution. In software these checks can cost extra cycles of processor time during emulation of each instruction and be a significant detriment to performance. Avoiding some of these checks by relying upon the underlying hardware checks of the host system and then using a signal handler and special software to recover from these signals is a way to improve the performance and simplify the coding of the software emulation system.


