ETF3 UTF Conversion with Dynamic Well-Formedness Checking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The CONVERT UTF-8 TO UNICODE instruction in existing systems fails to set condition code 2 for invalid characters as defined in the Unicode 4.0 standard, requiring changes to the architecture to ensure compliance with stricter code value sequences.
Innovation Solution
The introduction of an enhanced Extended-Translation Facility 3 (ETF3) that includes additional well-formedness checking, using a new M3 operand to control enhanced well-formedness checking, ensuring compatibility with previous systems and performing UTF conversions across 24, 31, and 64-bit architectures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the CONVERT UTF-8 TO UNICODE instruction is implemented according to Unicode 2.0 Standard, then system performance is improved and processing is faster, but compliance with Unicode 4.0 Standard is lost and invalid characters are not properly detected
Solution Approach 1:
The patent introduces a control field that allows the instruction to dynamically switch between two operational modes: Unicode 2.0 mode (faster, irregular sequences allowed) and Unicode 4.0 mode (stricter, irregular sequences detected). This dynamic configurability resolves the contradiction by allowing the system to adapt its validation strictness based on performance needs while maintaining standard compliance when required.
Solution Approach 2:
The patent changes the parameter of validation strictness by introducing a control field bit that toggles between lenient (Unicode 2.0) and strict (Unicode 4.0) checking modes. This parameter change allows the same instruction to satisfy both performance requirements and standard compliance requirements under different operating conditions.
2Reliability
If well-formedness checking is added to detect invalid characters, then Unicode 4.0 standard compliance is improved, but system performance decreases and processing becomes slower
Solution Approach 1:
The patent makes the well-formedness checking dynamic by allowing it to be enabled or disabled via a control field. When compliance is needed, checking is enabled; when performance is prioritized, checking is disabled. This resolves the performance-reliability tradeoff by making validation optional rather than mandatory.
Solution Approach 2:
The CONVERT UTF-8 TO UNICODE instruction is enhanced to perform multiple functions: it can operate in both fast conversion mode (for performance-critical paths) and validated conversion mode (for compliance-critical paths). This multi-functionality allows the same instruction to serve both performance and reliability needs.
3Productivity
If irregular code value sequences are allowed for faster processing, then system performance is improved, but measurement precision of invalid character detection deteriorates
Solution Approach 1:
The patent changes the detection accuracy parameter by introducing a control field that switches between two detection regimes: in Unicode 2.0 mode, irregular sequences are accepted (lower precision); in Unicode 4.0 mode, irregular sequences are detected and flagged (higher precision). This allows the system to adjust detection accuracy based on requirements.
Data Source
AI summary
A method, article, and system for providing an effective implementation of assembler language instructions to convert Unicode and Unicode-tranformation-format (UTF) characters implemented on 21, 31, and 64-bit architectures, while maintaining backward compatibility with existing systems. The enhanced Extended-Translation Facility 3 (ETF3) instruction set introduces a new operand in an unused field (M3) that facilitates a change in the original instruction format and its intended function. With the ETF3-Enhancement Facility installed, a value of zeros in the M3 field indicates that instruction operation is to continue as originally defined. When a nonzero value is coded in the M3 field a new function is carried out. The assembler accommodates the changes by making the new M3 field optional when coding the instructions. If the M3 field is not coded, the assembler defaults to providing zeros in the M3 field (as found in the original instruction format), and backward compatible operation is provided.


