Super-scalar processors can execute multiple instructions out-of-order per cycle and speculatively execute instructions through branches. Such processors invalidate many of the assumptions of traditional instruction scheduling. This article analyzes the impact of super-scalar processor architecture upon instruction scheduling. The compile-time schedule is shown to significantly impact performance, despite out-of-order execution. The problem of determining an optimal schedule at compile-time is shown to be NP-complete. A variety of heuristics for instructions scheduling are applied to benchmarks, and it is shown that traditional depth-first instruction scheduling performs badly compared to a variety of breadth-first instruction...
Superscalar and superpipelining techniques increase the overlap between the instructions in a pipeli...
High speed scalar processing is an essential characteristic of high performance general purpose comp...
Pipelining the scheduling logic, which exposes and exploits the instruction level parallelism, degra...
Although instruction scheduling is an scNP-complete problem (27), many techniques have been develope...
It is increasingly accepted that superscalar processors can only achieve their full performance pote...
This work examines the interaction of compiler scheduling techniques with processor features such as...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In this paper, we consider the problem of scheduling a set of instructions on a single processor wit...
Pipelining is a pervasive hardware implementation strategy used to increase the execution speeds of ...
[[abstract]]A pipelined processor increases its performance by partitioning an instruction into seve...
We present a technique for ameliorating the detrimental impact of the true data dependencies that ul...
High performance computer architectures increasingly use compile-time instruction scheduling to reor...
This thesis describes work done in two areas of compilation support for superscalar processors; regi...
Instruction scheduling is central to achieving performance in modern processors with instruction lev...
Due to the character of the original source materials and the nature of batch digitization, quality ...
Superscalar and superpipelining techniques increase the overlap between the instructions in a pipeli...
High speed scalar processing is an essential characteristic of high performance general purpose comp...
Pipelining the scheduling logic, which exposes and exploits the instruction level parallelism, degra...
Although instruction scheduling is an scNP-complete problem (27), many techniques have been develope...
It is increasingly accepted that superscalar processors can only achieve their full performance pote...
This work examines the interaction of compiler scheduling techniques with processor features such as...
Modern superscalar architectures with dynamic scheduling and register renaming capabilities have int...
In this paper, we consider the problem of scheduling a set of instructions on a single processor wit...
Pipelining is a pervasive hardware implementation strategy used to increase the execution speeds of ...
[[abstract]]A pipelined processor increases its performance by partitioning an instruction into seve...
We present a technique for ameliorating the detrimental impact of the true data dependencies that ul...
High performance computer architectures increasingly use compile-time instruction scheduling to reor...
This thesis describes work done in two areas of compilation support for superscalar processors; regi...
Instruction scheduling is central to achieving performance in modern processors with instruction lev...
Due to the character of the original source materials and the nature of batch digitization, quality ...
Superscalar and superpipelining techniques increase the overlap between the instructions in a pipeli...
High speed scalar processing is an essential characteristic of high performance general purpose comp...
Pipelining the scheduling logic, which exposes and exploits the instruction level parallelism, degra...