Speculative execution has long been used as an approach to exploit instruction level parallelism across basic block boundaries. Most existing speculative execution techniques only support speculating along single control path, and heavily rely on branch prediction to choose the right control path. In this paper, we propose an extended predicated execution mechanism, called predicate shifting, to support speculating along multiple control paths. The predicate shifting mechanism maintains a condition/predicate window for each basic block. With the condition/predicate window, instructions ca.n be guarded by predicates related to current or future branch conditions. The predicate shifting mechanism can reduce the number of required tag bits by ...
Commodity microprocessors uniformly apply branch prediction and single path speculative execution to...
Control and data flow speculation can improve processor performance through increased ILP. First it ...
A simultaneous multithreaded (SMT) processor is able to issue and execute instructions from several ...
277 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1997.For many applications, specul...
Conventional speculative architectures use branch prediction to evaluate the most likely execution p...
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard...
Architectural support for predicated execution has been proposed as a manner of attacking performanc...
This article describes a technique for path unfolding for conditional branches in parallel programs ...
Speculative side-channel attacks access sensitive data and use transmitters to leak the data during ...
This paper proposes a new compiler technique that enables speculative execution of alternative progr...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
The major specific contributions are: (1) We introduce a new compiler analysis to identify the memor...
Instruction Level Parallelism (ILP) speedups of an order-of-magnitude or greater may be possible usi...
Current trends in processor design are pointing to deeper and wider pipelines and superscalar archit...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
Commodity microprocessors uniformly apply branch prediction and single path speculative execution to...
Control and data flow speculation can improve processor performance through increased ILP. First it ...
A simultaneous multithreaded (SMT) processor is able to issue and execute instructions from several ...
277 p.Thesis (Ph.D.)--University of Illinois at Urbana-Champaign, 1997.For many applications, specul...
Conventional speculative architectures use branch prediction to evaluate the most likely execution p...
Predicated execution has been used to reduce the number of branch mispredictions by eliminating hard...
Architectural support for predicated execution has been proposed as a manner of attacking performanc...
This article describes a technique for path unfolding for conditional branches in parallel programs ...
Speculative side-channel attacks access sensitive data and use transmitters to leak the data during ...
This paper proposes a new compiler technique that enables speculative execution of alternative progr...
The available instruction level parallelism (ILP) is extremely limited within basic blocks of non-nu...
The major specific contributions are: (1) We introduce a new compiler analysis to identify the memor...
Instruction Level Parallelism (ILP) speedups of an order-of-magnitude or greater may be possible usi...
Current trends in processor design are pointing to deeper and wider pipelines and superscalar archit...
To achieve good performance on modern hardware, software must be designed with a high degree of para...
Commodity microprocessors uniformly apply branch prediction and single path speculative execution to...
Control and data flow speculation can improve processor performance through increased ILP. First it ...
A simultaneous multithreaded (SMT) processor is able to issue and execute instructions from several ...