Reconfigurable Execution Slices for Parallel Instruction Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processor cores are limited by fixed instruction execution architectures, leading to underutilization of resources when executing non-vector instructions, as they are not optimized for instructions of varying widths, resulting in inefficient use of processor resources.

Innovation Solution

A processor core with reconfigurable execution slices, including a master and slave execution slice, and control logic that detects wider instructions to reserve issue cycles for parallel execution across both slices, allowing for efficient handling of instructions of varying widths by combining resources when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a fixed instruction execution architecture is used, then the control logic is simple and stable, but the processor resources are not fully utilized when executing non-vector instructions

Engineering Contradiction:
Improveprocessor resource utilizationVSAvoidcontrol logic complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The execution slices are designed to be reconfigurable, allowing the processor to dynamically adjust the number of active slices and their configuration based on the instruction width being executed. This enables the system to adapt between executing narrow scalar instructions using fewer slices and wide vector instructions using all slices, thereby improving resource utilization without requiring a completely complex control structure

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Each execution slice is designed with multi-functionality to handle different instruction widths (32-bit, 64-bit, 128-bit). The slices can operate independently for scalar instructions or be combined in parallel for vector instructions, allowing the same hardware structure to serve multiple purposes and improve overall processor efficiency

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

2Productivity

If execution slices are configured for fixed width instructions, then the architecture is simple, but resources are underutilized when executing instructions of varying widths

Engineering Contradiction:
Improveinstruction execution efficiencyVSAvoidinstruction width flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically configures the number of active execution slices based on the instruction width detected by the control logic. When a wide instruction is detected, additional slices are activated and synchronized to execute the instruction in parallel, providing both adaptability to different instruction widths and efficient resource utilization

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Multiple execution slices can be merged to execute wider instructions. When a 128-bit instruction is detected, two 64-bit slices work in parallel to execute the instruction, effectively combining their resources to handle the wider data width while maintaining efficient resource utilization

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If parallel execution across multiple slices is implemented, then throughput is improved, but coordination complexity increases

Engineering Contradiction:
Improveinstruction throughputVSAvoidsynchronization control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The control logic acts as an intermediary that manages the coordination between multiple execution slices. It detects instruction widths, determines the appropriate number of slices to activate, and synchronizes their operation, thereby enabling parallel execution to improve throughput while the control logic handles the coordination complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10223125B2Linkable issue queue parallel execution slice processing method
Publication Date: 2019.03.05 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10223125B2 patent drawing
  • US10223125B2 patent drawing
  • US10223125B2 patent drawing

AI summary

An execution slice circuit for a processor core has multiple parallel instruction execution slices and provides flexible and efficient use of internal resources. The execution slice circuit includes a master execution slice for receiving instructions of a first instruction stream and a slave execution slice for receiving instructions of a second instruction stream and instructions of the first instruction stream that require an execution width greater than a width of the slices. The execution slice circuit also includes a control logic that detects when a first instruction of the first instruction stream has the greater width and controls the slave execution slice to reserve a first issue cycle for issuing the first instruction in parallel across the master execution slice and the slave execution slice.