Memristor Registers for Multithreading Switch Penalty
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multithreading processors face limitations in performance due to high thread switch penalties in Switch on Event (SoE) multithreading, which restricts the number of supported threads and efficiency, especially compared to simultaneous multithreading (SMT) and fine-grain multithreading.
Innovation Solution
The implementation of multistate pipeline registers (MPRs) using memristor-based resistive memory elements to store the state of inactive threads, allowing for seamless thread switching without flushing the pipeline, thereby reducing the thread switch penalty and enabling support for a large number of threads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional multithreading switches threads by flushing the pipeline, then thread switching can be implemented, but the thread switch penalty becomes high
Solution Approach 1:
The patent applies preliminary action by pre-storing thread states in memristor-based registers before thread switching occurs. When a thread needs to be switched, its state is already preserved in the memristor register, eliminating the need for pipeline flushing. This pre-prepared state storage enables rapid thread context transitions with minimal penalty.
Solution Approach 2:
The patent uses copying by creating a duplicate copy of the thread state in memristor-based registers while the original thread continues executing in the pipeline. This copy mechanism allows the thread state to be preserved without interrupting or flushing the pipeline, enabling seamless thread switching by simply switching which thread state is active.
2Loss of time
If simultaneous multithreading is used to reduce thread switch penalty, then thread switching becomes faster, but the number of supported threads is limited
Solution Approach 1:
The patent transitions from a single-dimension pipeline execution model to a multi-dimensional model by introducing memristor-based registers as a parallel storage dimension. This allows multiple thread states to coexist in the memristor registers simultaneously, enabling the system to support many more threads than traditional SMT by adding this extra dimensional storage layer.
Solution Approach 2:
The memristor-based registers serve multiple functions: they store thread states for inactive threads, preserve pipeline state during switching, and enable rapid context restoration. This multi-functionality allows the same hardware structure to support a large number of threads without proportionally increasing complexity, enhancing adaptability.
3Loss of time
If fine-grain multithreading is implemented to reduce thread switch penalty, then switching becomes more efficient, but the system becomes complex and is only worthwhile for a large number of threads
Solution Approach 1:
The patent extracts the thread state storage function from the traditional pipeline structure and places it in separate memristor-based registers. This extraction simplifies the pipeline by removing the need for complex state management logic within the pipeline stages themselves, while still enabling fine-grain multithreading efficiency.
Solution Approach 2:
The memristor-based registers act as an intermediary between the executing thread in the pipeline and the stored thread states. This intermediary layer simplifies the switching mechanism by providing a straightforward read/write interface for thread state management, reducing the complexity of direct pipeline-state manipulation.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
This approach significantly reduces the thread switch penalty, enhancing performance by allowing continuous flow multithreading with lower energy consumption and improved throughput, especially in scenarios with multiple threads.
Implementation Method 1
memristor based registers which are arranged to store a state of another thread of instructions
Data Source
AI summary
A method and a device that includes a set of multiple pipeline stages, wherein the set of multiple pipeline stages is arranged to execute a first thread of instructions; multiple memristor based registers that are arranged to store a state of another thread of instructions that differs from the first thread of instructions; and a control circuit that is arranged to control a thread switch between the first thread of instructions and the other thread of instructions by controlling a storage of a state of the first thread of instructions at the multiple memristor based registers and by controlling a provision of the state of the other thread of instructions by the set of multiple pipeline stages; wherein the set of multiple pipeline stages is arranged to execute the other thread of instructions upon a reception of the state of the other thread of instructions.


