Sciweavers

CASES
2007
ACM

A backtracking instruction scheduler using predicate-based code hoisting to fill delay slots

14 years 3 months ago
A backtracking instruction scheduler using predicate-based code hoisting to fill delay slots
Delayed branching is a technique to alleviate branch hazards without expensive hardware branch prediction mechanisms. For VLIW processors with deep pipelines and many issue slots, the instruction scheduler faces the difficult problem of filling the many delay slots. This paper proposes two solutions: a code hoisting technique that produces more candidate operations to be put in the delay slots and an adapted backtracking instruction scheduler that is capable of efficiently placing these candidate operations in the delay slots. We have demonstrated that the two mechanisms work well on various multimedia and SPECINT2000 benchmarks. The code hoisting technique reduces the schedule length of a traditional scheduler without backtracking by 18%. Using the backtracking scheduler, this amount increases to 24%. Categories and Subject Descriptors D.3.4 [Software]: Programming Languages--Processors General Terms Algorithms, Languages Keywords VLIW Scheduling, Predication, Code Hoisting
Tom Vander Aa, Bingfeng Mei, Bjorn De Sutter
Added 12 Aug 2010
Updated 12 Aug 2010
Type Conference
Year 2007
Where CASES
Authors Tom Vander Aa, Bingfeng Mei, Bjorn De Sutter
Comments (0)