Bounded Pointer Range Operations for Code Density and Security
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data processing systems lack an efficient method to perform operations on a range of addresses based on the associated range information of bounded pointers, leading to increased code density and security concerns due to the need for explicit specification of start and end addresses.
Innovation Solution
Incorporating a new type of instruction that utilizes the range information associated with bounded pointers to perform predetermined operations on a target range of addresses, eliminating the need for explicit start and end address specification and enhancing code density and security by allowing operations across the allowable range without revealing sensitive information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If explicit start and end addresses are specified for operations on bounded pointer ranges, then the operations can be performed precisely, but the code density decreases and security is compromised due to exposure of sensitive range information
Solution Approach 1:
The patent extracts the range information from the bounded pointer metadata and uses it to automatically determine the target range for operations. By taking out the range bounds from the pointer structure and using them as implicit operands, the system performs precise operations without requiring explicit address specification in the instruction, thereby maintaining security while achieving precision.
Solution Approach 2:
The bounded pointer structure itself provides the range information needed for operations. The pointer's associated metadata (such as base address and bounds) automatically defines the target range, eliminating the need for separate explicit address operands. This self-service mechanism maintains both precision and security.
2Manufacturing precision
If explicit start and end addresses are specified for operations on bounded pointer ranges, then the operations can be performed precisely, but the number of instructions increases reducing code density
Solution Approach 1:
The bounded pointer structure serves multiple functions: it stores the base address, maintains associated range information (bounds and granularity), and automatically provides the target range for operations. This multi-functionality eliminates the need for separate explicit address operands, reducing instruction count while maintaining operational precision.
Solution Approach 2:
The range information is extracted from the bounded pointer metadata and used to implicitly define the operation range. By taking out the bounds information from the pointer structure and using it automatically, the system performs precise operations with fewer instructions, improving code density.
3Device complexity
If operations are performed on the entire allowable range of a bounded pointer, then code density improves, but sensitive range information may be exposed
Solution Approach 1:
The patent applies operations to a target range that is a subset of the full allowable range, determined by the pointer's associated metadata (bounds and granularity). By performing operations locally on the specific target range rather than the entire allowable range, the system maintains code density while preventing exposure of sensitive information about the full range boundaries.
Solution Approach 2:
Instead of performing operations on the entire allowable range, the system performs partial action on a computed target range that is sufficient for the operation's purpose. This partial action approach maintains code density while avoiding unnecessary exposure of sensitive range information.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
An apparatus (2) comprises one or more bounded pointer storage element (60s) each to store a pointer (62) having associated range information (64) indicating an allowable range of addresses for the pointer (62). Processing circuitry (4) performs, in response to a first type of instruction (70) identifying a given bounded pointer storage element, a predetermined operation for a target range of addresses determined at least in part on the basis of the range information (64) associated with the pointer stored in the given bounded pointer storage element (60).