Use this resource - and many more! - in your textbook!
AcademicPub holds over eight million pieces of educational content for you to mix-and-match your way.

A minimal dual-core speculative multi-threading architecture
By: Akkary, H.; Srinivasan, S.T.; Lai, K.; Holman, T.;
2004 / IEEE / 0-7695-2231-9
Description
This item was taken from the IEEE Conference ' A minimal dual-core speculative multi-threading architecture ' Speculative multi-threading (SpMT) can improve single-threaded application performance using the multiple thread contexts available in current processors. We propose a minimal SpMT model that uses only two thread contexts. The model achieves significant speedups for single-threaded applications using a low-overhead scheme for detecting and selectively recovering from data dependence violations, and a novel wrong path predictor to reduce the number of speculative threads executing along the wrong path. We also study the interactions between three previously proposed SpMT thread spawning policies that can be implemented dynamically in hardware - Fork on Call, Loop Continuation and Run Ahead policies - and show it is beneficial to implement all three policies together in a processor. While the individual thread spawning policies show performance benefits of 14%, 5% and 4% respectively on our SpMT model over a base processor that does not exploit SpMT, combining all three policies shows an average performance gain of 20%. Finally, we identify the sources of SpMT benefits - on average, 58% of the performance benefits due to SpMT comes from cache prefetching, 33% from instruction reuse, and 9% from branch precomputation and show all three sources of SpMT benefits must be utilized to realize the full potential of SpMT.
Related Topics
Wrong Path Predictor
Minimal Dual Core Architecture
Speculative Multithreading Architecture
Multithreaded Processors
Single Threaded Applications
Data Dependence Violations
Cache Prefetching
Instruction Reuse
Branch Precomputation
Yarn
Prefetching
Context Modeling
Hardware
Performance Gain
Multithreading
Registers
Performance Loss
Microarchitecture
Predictive Models
Multiprocessing Systems
Parallel Architectures
Multi-threading
Cache Storage
Engineering
Thread Spawning Policy