Dual-Mode Processing Resource for Multithreading and Transactional Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems face significant circuit area and energy overhead due to the resources required for supporting both multithreading and transactional processing, which can be costly and inefficient, especially for small processing elements.

Innovation Solution

The system employs a dual-mode processing resource that can switch between thread mode and transaction mode, allowing shared resources to be reused for both thread execution and transaction processing, reducing the need for separate resources and optimizing circuit area and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate processing resources are provided for both multithreading and transactional processing, then both functions can operate independently and reliably, but the circuit area and power consumption increase significantly

Engineering Contradiction:
Improvefunctional independenceVSAvoidcircuit area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements a second processing resource that can operate in two distinct modes: thread mode for processing a second thread and transaction mode for processing transactions of the first thread. This multi-functional resource eliminates the need for completely separate hardware resources for multithreading and transactional processing, thereby reducing circuit area while maintaining functional capability for both operations

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

Solution Approach 2:

The second processing resource dynamically switches between thread mode and transaction mode based on operational requirements. The resource can be reconfigured on-the-fly to handle different workloads, allowing the system to adapt its resource allocation without requiring static dedicated resources for each function, thus optimizing area utilization

Inventive Principle:
Principle #15Dynamics

2Reliability

If separate processing resources are provided for both multithreading and transactional processing, then both functions can operate independently and reliably, but power consumption increases significantly

Engineering Contradiction:
Improvefunctional independenceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

By making the second processing resource universal—capable of operating in both thread mode and transaction mode—the system avoids powering and maintaining completely separate dedicated resources. This shared resource approach reduces overall power consumption while preserving the ability to perform both multithreading and transactional processing functions

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

Solution Approach 2:

The system recovers and reuses the second processing resource after completing transactions. Instead of maintaining dedicated resources continuously, the resource is dynamically allocated and recovered based on workload demands, reducing unnecessary power consumption during periods when specific functions are not active

Inventive Principle:
Principle #34Discarding and recovering

3Reliability

If dedicated resources are allocated for transaction processing, then transactional operations can be performed with guaranteed resource availability, but the overall resource utilization efficiency decreases

Engineering Contradiction:
Improveresource availabilityVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The second processing resource employs dynamic mode switching between thread mode and transaction mode, allowing the system to guarantee resource availability for transactions when needed while maximizing resource utilization efficiency by sharing the same resource with thread processing during non-transactional periods. This dynamic allocation prevents resource idle time and improves overall productivity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10572299B2Switching between thread mode and transaction mode for a set of registers
Publication Date: 2020.02.25 ARM LTD
  • US10572299B2 patent drawing
  • US10572299B2 patent drawing
  • US10572299B2 patent drawing

AI summary

An apparatus (2) has processing circuitry (6) having access to a first processing resource (20-0) and a second processing resource (20-3). A first thread can be processed using the first processing resource. In a thread mode the second processing resource (20-3) can be used to process a second thread while in a transaction mode the second processing resource (20-3) can be used to process a transaction of the first thread comprising a number of speculatively performed operations for which results are committed at the end of the transaction. By sharing resources for supporting additional threads and supporting transactions, circuit area and power consumption can be reduced.