Wide Memory Interface Coupling to Write Back Paths

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor architectures, such as RISC and CISC, face limitations in performance improvement due to complex circuit resources and inefficiencies in memory bandwidth operations, particularly in high-performance applications like neural networks, leading to suboptimal energy efficiency and performance.

Innovation Solution

The implementation of a block-based processor architecture with an Explicit Data Graph Execution (EDGE) ISA, which enables high instruction-level parallelism and out-of-order execution while reducing complexity and overhead through techniques like register renaming elimination, dataflow analysis, and speculative memory operations, along with a sharding circuit for data manipulation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional RISC or CISC processor architectures are used, then general computing functionality is maintained, but performance improvement is limited due to complex circuit resources and memory bandwidth inefficiencies

Engineering Contradiction:
Improveprocessor performanceVSAvoidcircuit resource complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The processor is divided into multiple execution lanes (e.g., 4 lanes) that can independently execute instruction blocks. Each lane has its own execution resources, allowing parallel processing of different data streams simultaneously. This segmentation enables the processor to achieve high instruction-level parallelism while maintaining manageable complexity in each individual lane.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple execution lanes are combined into a unified processor core that shares common resources such as the instruction cache, data cache, and control logic. The wide memory interface consolidates multiple data paths to handle broad data transfers efficiently, merging the capabilities of individual lanes into a cohesive high-performance system.

Inventive Principle:
Principle #5Merging (Combining)

2Speed

If wide memory interfaces are implemented to increase bandwidth, then memory operation speed is improved, but complexity in data routing and write back paths increases

Engineering Contradiction:
Improvememory bandwidthVSAvoiddata routing complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The wide memory interface is segmented into multiple independent data paths, each corresponding to an execution lane. Data from the memory interface is distributed to appropriate lanes through simple routing logic rather than complex switching networks. This segmentation maintains high bandwidth while keeping routing complexity manageable by avoiding the need for dynamic reconfiguration.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A sharding circuit is introduced as an intermediary component between the memory interface and execution lanes. This circuit performs data manipulation and routing functions, simplifying the overall data path complexity by consolidating control logic in a dedicated intermediate stage rather than distributing complex routing logic throughout the entire data path.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If out-of-order superscalar execution is implemented, then instruction throughput is improved, but area and power consumption increase without sustained improvement

Engineering Contradiction:
Improveinstruction throughputVSAvoidprocessor area
Core Design Contradiction:
ProductivityVSArea of stationary object

Solution Approach 1:

The processor uses multiple execution lanes that execute instruction blocks in parallel rather than using complex out-of-order execution logic within a single lane. Each lane executes instructions in a simpler in-order manner, but the overall throughput is improved through spatial parallelism across lanes. This approach achieves high throughput with reduced area by avoiding the complex reservation stations, rename buffers, and priority arbitration logic required for out-of-order execution.

Inventive Principle:
Principle #1Segmentation

4Use of energy by moving object

If atomic execution of instruction blocks is implemented, then energy efficiency is improved, but flexibility in handling individual instructions within blocks is reduced

Engineering Contradiction:
Improveenergy efficiencyVSAvoidinstruction handling flexibility
Core Design Contradiction:
Use of energy by moving objectVSAdaptability or versatility

Solution Approach 1:

Instruction blocks are segmented into individual instructions that can be selectively executed or skipped based on predicates. Each execution lane can independently evaluate predicates and choose to execute or bypass specific instructions within an instruction block. This fine-grained control maintains energy efficiency by avoiding execution of unnecessary instructions while preserving flexibility through predicate-based conditional execution at the instruction level.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11726912B2Coupling wide memory interface to wide write back paths
Publication Date: 2023.08.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11726912B2 patent drawing
  • US11726912B2 patent drawing
  • US11726912B2 patent drawing

AI summary

Systems and methods are disclosed for performing wide memory operations for a wide data cache line. In some examples of the disclosed technology, a processor having two or more execution lanes includes a data cache coupled to memory, a wide memory load circuit that concurrently loads two or more words from a cache line of the data cache, and a writeback circuit situated to send a respective word of the concurrently-loaded words to a selected execution lane of the processor, either into an operand buffer or bypassing the operand buffer. In some examples, a sharding circuit is provided that allows bitwise, byte-wise, and/or word-wise manipulation of memory operation data. In some examples, wide cache loads allows for concurrent execution of plural execution lanes of the processor.