Processor Register Window Restoration for Large-Operand Cryptography

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processor technologies face challenges in supporting large-operand cryptographic operations due to increased computational workload and the need for large key sizes, which require operands that exceed typical operand sizes, leading to implementation difficulties in ensuring operand availability for execution.

Innovation Solution

A processor with an instruction fetch unit and execution unit that supports large-operand instructions by restoring necessary register windows if they are not present, allowing for single-instruction execution of multiple-precision multiplication operations through a multiplier datapath and control logic, enabling efficient handling of large operands within the processor's architecture.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large key sizes are used to increase cryptographic security, then security resistance to brute-force attacks is improved, but computational workload increases dramatically

Engineering Contradiction:
Improvesecurity resistanceVSAvoidcomputational workload
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides large cryptographic operands into multiple smaller segments that can be processed individually through multiple-precision arithmetic operations. This segmentation allows the processor to handle large key sizes by breaking them into manageable chunks, reducing the computational complexity of each individual operation while maintaining overall security.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extends the processor's operational capability from single-precision to multiple-precision arithmetic by utilizing additional register windows and stacking mechanisms. This dimensional extension allows the processor to natively handle operands larger than the standard word size, thereby improving computational efficiency for cryptographic operations with large key sizes.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Ease of operation

If multiple register windows are used to support large-operand instructions, then operand availability for execution is improved, but device complexity increases

Engineering Contradiction:
Improveoperand availabilityVSAvoidregister window management
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent pre-allocates and stacks multiple register windows in advance before executing large-operand instructions. This preliminary preparation ensures that all necessary register windows are available when needed, eliminating execution delays. The control logic automatically manages the stacking and restoration of these windows, reducing the operational burden on the programmer.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The processor includes automatic control logic that manages the creation, stacking, and restoration of register windows without external intervention. This self-service mechanism handles the complexity of register window management internally, making the feature transparent to the programmer while ensuring proper operand availability throughout instruction execution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8555038B2Processor and method providing instruction support for instructions that utilize multiple register windows
Publication Date: 2013.10.08 ORACLE INT CORP
  • US8555038B2 patent drawing
  • US8555038B2 patent drawing
  • US8555038B2 patent drawing

AI summary

A processor including instruction support for large-operand instructions that use multiple register windows may issue, for execution, programmer-selectable instructions from a defined instruction set architecture (ISA). The processor may also include an instruction execution unit that, during operation, receives instructions for execution from the instruction fetch unit and executes a large-operand instruction defined within the ISA, where execution of the large-operand instruction is dependent upon a plurality of registers arranged within a plurality of register windows. The processor may further include control circuitry (which may be included within the fetch unit, the execution unit, or elsewhere within the processor) that determines whether one or more of the register windows depended upon by the large-operand instruction are not present. In response to determining that one or more of these register windows are not present, the control circuitry causes them to be restored.