Context Save Restore Instructions for Floating Point Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data processing systems face challenges in efficiently managing context data, particularly in secure and non-secure domains, where context data needs to be saved and restored efficiently to prevent data leakage and ensure proper context initialization across different domains and threads.
Innovation Solution
The introduction of context save and restore instructions (CXTSave and CXTRestore) that selectively save and restore floating point context data based on usage flags and access control, allowing for lazy saving and restoring, and enabling hardware or software management of context data, ensuring secure data handling and efficient resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If context data is saved and restored frequently to ensure security and proper context initialization, then security and correctness are improved, but processing overhead and system performance deteriorate
Solution Approach 1:
The patent applies partial action by selectively saving context data only when necessary. The system uses usage flags to track whether floating point context data has been accessed, and only performs save/restore operations when the flags indicate actual usage. This avoids unnecessary full context saves, reducing overhead while maintaining security for actually used data.
Solution Approach 2:
The system implements self-service through automatic context management. Usage flags are automatically set when floating point instructions are executed, and the context save/restore mechanism automatically checks these flags to determine whether saving is needed. This automated tracking and selective saving reduces manual intervention and optimizes performance without compromising security.
2Reliability
If all context data is saved to prevent data leakage between domains, then security is improved, but memory usage and processing overhead worsen
Solution Approach 1:
The patent extracts only the necessary context data for saving based on usage flags. Instead of saving all context data unconditionally, the system checks the usage flags to identify which floating point context data has actually been accessed and extracts only those specific items for saving. This selective extraction reduces memory overhead while maintaining security by ensuring used data is protected.
3Manufacturing precision
If context data is saved eagerly to ensure correct restoration, then context initialization accuracy is improved, but processing time increases
Solution Approach 1:
The system performs partial saving actions based on usage flags. Instead of eagerly saving all context data, it checks the flags to determine which data items were actually used and saves only those. This ensures accurate restoration of used data while avoiding unnecessary save operations on unused data, thereby reducing processing time without compromising initialization accuracy for relevant context.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A data processing system includes processing circuitry for executing context-data- dependent-program instructions which are decoded by decoder circuitry. Such context-data- dependent program instructions perform processing which are dependent upon currently existing context data. As an example, the context-data-dependent program instructions may be floating point instructions and the context data may be rounding mode information. The decoder circuitry supports a context save instruction which saves context data when it is marked as having been used and saves default context data when the current context data is marked as not having been used. The decoder circuitry further supports a context restore instruction which restores context data when the current context data is marked as having been used and permits the current context data to continue for future use when it is marked as currently unused.