Local Operand Bypass Network for Cryptographic Instruction Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

As computational demands for cryptographic operations increase due to more sophisticated algorithms, existing processors face performance overhead and latency issues, particularly in pipelined architectures where operand bypassing delays occur, affecting the efficiency of cryptographic instruction execution.

Innovation Solution

A processor architecture with a local operand bypass network is introduced, allowing cryptographic instructions to execute with shorter latency and bypass results directly to dependent instructions within the cryptographic execution pipeline, while maintaining compatibility with existing functional units by integrating cryptographic instructions into a floating-point execution pipeline with longer latency, thus avoiding additional register file ports and bypass network complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cryptographic instructions are integrated into the floating-point execution pipeline with longer latency, then compatibility with existing functional units is maintained, but cryptographic instruction execution latency increases

Engineering Contradiction:
Improvecompatibility with existing functional unitsVSAvoidcryptographic instruction execution latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The execution pipeline is segmented into two separate pipelines: a cryptographic execution pipeline optimized for cryptographic instructions with shorter latency, and a floating-point execution pipeline for general-purpose operations. This segmentation allows cryptographic instructions to bypass the longer floating-point pipeline while maintaining compatibility with existing functional units through unified result bypassing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A result bypassing mechanism acts as an intermediary between the cryptographic execution pipeline and subsequent instructions. The bypass network captures results from the cryptographic pipeline and directly delivers them to dependent instructions, mediating the data flow to eliminate latency without requiring changes to existing functional units.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If a separate cryptographic execution pipeline is created with shorter latency, then cryptographic instruction execution speed improves, but device complexity increases

Engineering Contradiction:
Improvecryptographic instruction execution speedVSAvoidpipeline architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cryptographic execution pipeline uses the same functional units and result bypassing infrastructure as the floating-point pipeline, making the architecture multi-functional. The bypass network serves both pipelines, and functional units can execute both cryptographic and floating-point instructions, reducing overall device complexity despite having two pipelines.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The cryptographic and floating-point execution pipelines are merged at multiple levels: they share the same result bypassing network, use common functional units, and converge at the commit stage. This merging reduces the complexity that would otherwise result from completely separate pipelines while maintaining the performance benefits of a dedicated cryptographic path.

Inventive Principle:
Principle #5Merging (Combining)

3Loss of time

If operand bypassing is implemented for cryptographic instructions, then execution latency is reduced, but bypass network complexity increases

Engineering Contradiction:
Improveexecution latencyVSAvoidbypass network complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The operand bypassing functionality for cryptographic instructions is extracted as a dedicated feature within the cryptographic execution pipeline. The bypass network includes specific pathways and control logic that are separated from the general floating-point pipeline bypassing, allowing optimized cryptographic bypassing without complicating the existing floating-point infrastructure.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If cryptographic algorithms become more sophisticated to meet security threats, then security strength improves, but computational complexity and execution time increase

Engineering Contradiction:
Improvesecurity strengthVSAvoidcomputational execution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cryptographic execution pipeline is optimized with parameter changes including dedicated execution paths, optimized iteration loops for common cryptographic operations, and adjusted pipeline staging to match cryptographic algorithm requirements. These parameter changes enable sophisticated algorithms to execute faster by tailoring the pipeline characteristics to cryptographic workloads rather than using general-purpose floating-point parameters.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8356185B2Apparatus and method for local operand bypassing for cryptographic instructions
Publication Date: 2013.01.15 ORACLE AMERICAN INC
  • US8356185B2 patent drawing
  • US8356185B2 patent drawing
  • US8356185B2 patent drawing

AI summary

A processor may include a hardware instruction fetch unit configured to issue instructions for execution, and a hardware functional unit configured to receive instructions for execution, where the instructions include cryptographic instruction(s) and non-cryptographic instruction(s). The functional unit may include a cryptographic execution pipeline configured to execute the cryptographic instructions with a corresponding cryptographic execution latency, and a non-cryptographic execution pipeline configured to execute the non-cryptographic instructions with a corresponding non-cryptographic execution latency that is longer than the cryptographic execution latency. The functional unit may further include a local bypass network configured to bypass results produced by the cryptographic execution pipeline to dependent cryptographic instructions executing within the cryptographic execution pipeline, such that each instruction within a sequence of dependent cryptographic instructions is executable with the cryptographic execution latency, and where the results of the cryptographic execution pipeline are not bypassed to any other functional unit within the processor.