Processor AES Unit Cycle-by-Cycle Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Prior processor architectures for implementing the Advanced Encryption Standard (AES) instructions require multiple cycles of throughput, resulting in reduced performance due to lack of full pipelining, leading to inefficiencies in data encryption and decryption processes.

Innovation Solution

The proposed solution involves shifting a received data word and processing it using a substitution transformation in the first cycle, followed by a mixed column transformation and addition of a round key in the next cycle, achieving cycle-by-cycle throughput for encoding and decoding operations within an AES unit of a processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prior processor architectures are used to implement AES instructions, then the implementation is simpler to design, but the throughput is reduced to multiple cycles per instruction

Engineering Contradiction:
ImprovethroughputVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The AES encryption process is divided into distinct operational stages (substitution transformation, mixed column transformation, key addition) that can be executed in separate pipeline cycles. Each stage is implemented as a separate functional unit that processes data independently, enabling parallel execution across multiple cycles while maintaining single-cycle throughput for each instruction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor architecture implements dynamic pipelining where multiple instruction stages are overlapped in time. The substitution unit, mixed column unit, and key addition unit operate concurrently in different pipeline stages, allowing the system to adapt its execution flow dynamically while achieving single-cycle instruction completion.

Inventive Principle:
Principle #15Dynamics

2Productivity

If full pipelining is implemented for AES operations, then single-cycle throughput is achieved, but the microarchitecture complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidmicroarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The pipelined AES processor is segmented into specialized functional units (substitution transformation unit, mixed column transformation unit, key addition unit) that each handle specific operations. This segmentation allows complex AES operations to be distributed across multiple simple, dedicated units operating in parallel pipeline stages, reducing the complexity burden on any single unit while achieving single-cycle throughput.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If multiple cycles are used per AES instruction, then the processor design is simpler, but power efficiency is reduced

Engineering Contradiction:
Improvepower efficiencyVSAvoidprocessor design complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The processor employs dynamic pipelining where functional units are activated and deactivated based on the current instruction stage. This dynamic operation allows the processor to complete AES instructions in a single cycle by coordinating multiple units, improving power efficiency compared to multi-cycle execution while managing complexity through controlled activation of pipeline stages.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8737604B2Processor with architecture implementing the advanced encryption standard
Publication Date: 2014.05.27 ADVANCED MICRO DEVICES INC
  • US8737604B2 patent drawing
  • US8737604B2 patent drawing
  • US8737604B2 patent drawing

AI summary

Methods and apparatus are provided for implementing the advanced encryption standard. The apparatus comprises a first multiplexer receiving during a first cycle a data word, a substitution transformation of the data word and inverse substitution transformation of the data word to provide a first output. During the next cycle, a second multiplexer receives the first output, a mixed column transformation of the first output and an inverse mixed column transformation of the first output to provide a second output. Also in the next cycle, the second output is added to a round key to provide one round of an encoded or decoded digital word compliant with the advanced encryption standard with cycle-by-cycle throughput. The method comprises shifting a received data word and processing the shifted data word using a substitution transformation (encoding) or an inverse substitution transformation (decoding) during a first cycle in an advanced encryption standard unit of a processor. In the next cycle, the result from the first cycle is processed using a mixed column transformation (encoding) or an inverse mixed column transformation (decoding) and the result is added to a round key to provide one round compliant with the advanced encryption with cycle-by-cycle throughput.