M. Ertl, and A. Krall. volume 641 of LNCS, page 207--218. Springer, (1992)
Abstract
We designed heuristics for applying the list scheduling algorithm to processors with complex pipelines. On these processors the pipeline can stall due to resource contention (structural hazards) in addition to the usual data hazards. Conventional heuristics consider only data hazards. Our heuristics reduce structural hazards, too. Code with much instruction-level parallelism is optimized to avoid structural hazards, sequential code is scheduled for reducing data hazards. Embedded in a postpass strategy our scheduler removes 60 %–100 % of the removable stalls from conventionally scheduled code.
ER -
%0 Book Section
%1 InstructionScheduling
%A Ertl, M. Anton
%A Krall, Andreas
%B Compiler Construction
%D 1992
%I Springer
%K Architecture Instructions Pipeline Processor Scheduling
%P 207--218
%T Instruction Scheduling for Complex Pipelines
%U http://dx.doi.org/10.1007/3-540-55984-1_19
%V 641
%X We designed heuristics for applying the list scheduling algorithm to processors with complex pipelines. On these processors the pipeline can stall due to resource contention (structural hazards) in addition to the usual data hazards. Conventional heuristics consider only data hazards. Our heuristics reduce structural hazards, too. Code with much instruction-level parallelism is optimized to avoid structural hazards, sequential code is scheduled for reducing data hazards. Embedded in a postpass strategy our scheduler removes 60 %–100 % of the removable stalls from conventionally scheduled code.
ER -
@inbook{InstructionScheduling,
abstract = {We designed heuristics for applying the list scheduling algorithm to processors with complex pipelines. On these processors the pipeline can stall due to resource contention (structural hazards) in addition to the usual data hazards. Conventional heuristics consider only data hazards. Our heuristics reduce structural hazards, too. Code with much instruction-level parallelism is optimized to avoid structural hazards, sequential code is scheduled for reducing data hazards. Embedded in a postpass strategy our scheduler removes 60 %–100 % of the removable stalls from conventionally scheduled code.
ER -},
added-at = {2009-11-04T11:41:54.000+0100},
author = {Ertl, M. Anton and Krall, Andreas},
biburl = {https://www.bibsonomy.org/bibtex/20126b3c1b7cdfa2b5d205600874aaa8f/gron},
booktitle = {Compiler Construction},
interhash = {afa961b7b2538800a8ccc98c6edf2147},
intrahash = {0126b3c1b7cdfa2b5d205600874aaa8f},
keywords = {Architecture Instructions Pipeline Processor Scheduling},
pages = {207--218},
publisher = {Springer},
series = {LNCS},
timestamp = {2009-11-04T11:41:54.000+0100},
title = {Instruction Scheduling for Complex Pipelines},
url = {http://dx.doi.org/10.1007/3-540-55984-1_19},
volume = 641,
year = 1992
}