4 research outputs found

    Simultaneous Speculation Scheduling - A Technique for Speculative Dual Path Execution

    No full text
    Commodity microprocessors uniformly apply branch prediction and single path speculative execution to all kinds of program branches and suffer from the high misprediction penalty which is caused by branches with low prediction accuracy and, in particular, by branches that are unpredictable. The Simultaneous Speculation Scheduling (S 3 ) technique removes such penalties by a combination of compiler and architectural techniques that enable speculative dual path execution after program branches. Two separate threads that represent alternative program paths after a branch instruction are generated by the compiler. Both threads are simultaneously executed although only one of them follows the eventually correct program path. The architectural requirements are the ability to run two or more threads in parallel, and an enhancement of the instruction set by instructions that start respectively terminate threads. We use program kernels from the SPECint95 benchmark suite to demonstrate the perf..
    corecore