instruction scheduling

Also found in: Wikipedia.

instruction scheduling

The compiler phase that orders instructions on a pipelined, superscalar, or VLIW architecture so as to maximise the number of function units operating in parallel and to minimise the time they spend waiting for each other.

Examples are filling a delay slot; interspersing floating-point instructions with integer instructions to keep both units operating; making adjacent instructions independent, e.g. one which writes a register and another which reads from it; separating memory writes to avoid filling the write buffer.

Norman P. Jouppi and David W. Wall, "Available Instruction-Level Parallelism for Superscalar and Superpipelined Processors", Proceedings of the Third International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 272--282, 1989.

[The SPARC Architecture Manual, v8, ISBN 0-13-825001-4]
References in periodicals archive ?
New contributors provide additional insight to chapters on register allocation, software pipelining, instruction scheduling, and type systems.
Instruction librarians from the Reference Department take the Library Instruction Scheduling Form, which lists contact information for the faculty member bringing in the class, the number of students expected, where this class will be taught, and the content of the session.
The second part, Advanced Topics, which includes the compilation of object-oriented and functional languages, garbage collection, loop optimization, SSA form, instruction scheduling, and optimization for cache-memory hierarchies, can be used for a second-semester or graduate course.
The analyst described the Sun architecture as similar to a superscalar design, except that the MAJC compiler would be handling the chip's instruction scheduling rather than it being done in hardware.
The TADS-i960 compiler is optimized for the i960 processor, leveraging special-purpose i960 instructions such as branch-and-link and instruction scheduling.
Topics include instruction scheduling with release times and deadlines on ILP processors, data freshness and overload handling in embedded systems, relaxed correctness for firm real-time databases, and operating system support for procedural abstraction in embedded systems.
Using advanced VLIW and SIMD optimization techniques along with combined instruction scheduling, register allocation and resource mapping, the compiler translates ARB_vertex_program type programs into efficient microcode.
Other strategic areas of the Gelato GCC work include alias analysis, instruction scheduling and data prefetching.
The GCC compiler optimization improvements now underway are superblock scheduling, instruction scheduling and speculation, and memory disambiguation.
The optimization techniques tested in this way include global instruction scheduling, predication and speculation, and software pipelining, among others.
Optimization techniques tested in this way will include loop nesting, inter-procedural analysis, scalar optimization, global instruction scheduling, profiling, software pipeline, register allocation, predication and speculation.
The TriMedia software compiler handles complex instruction scheduling, and allows a TriMedia processor to be programmed entirely in high-level languages.

Full browser ?