Skip to Main Content
Speculative Multithreading (SpMT) has been proposed as a perspective method for sequential programs to benefit from the increasing computing resources provided by Chip Multiprocessors (CMP). This paper analyzes the extraction of ihread-level parallelism from general-purpose programs and presents a speculative multi-threading execution model, Prophet. The architectural support for Prophet execution model is designed based on CMP. In Prophet the inter-thread data dependences are reduced by precomputation slice (p-slice). Multi-versioning Cache system along with thread state control mechanism are designed for buffering the speculative data and also a snooping bus based cache coherence protocol is used to detect data dependence violation. The experiment results show that Prophet system could achieve significant speedup for general-purpose programs.