lecture-09

lecture-09 - Lecture Overview Introduction Constraints List...

Info iconThis preview shows pages 1–13. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Lecture Overview Introduction Constraints List Scheduling Conclusion Introduction Scheduling (Part 1) Introduction and Acyclic Scheduling CS 380C: Advanced Compiler Techniques Thursday, October 11th 2007 Lecture Overview Introduction Constraints List Scheduling Conclusion Lecture Overview Code Generator Back end part of compiler (code generator) Instruction scheduling Register allocation Instruction Scheduling Input: set of instructions Output: total order on that set Lecture Overview Introduction Constraints List Scheduling Conclusion Lecture Outline Lectures 1 Introduction and acylic scheduling (today) 2 Software pipelining (Tuesday 23) Today Definition of instruction scheduling Constraints Scheduling process Acylic scheduling: list scheduling Lecture Overview Introduction Constraints List Scheduling Conclusion Introduction to Instruction Scheduling Context Backend part of the compiler chain (code generation) Inputs: set of instructions (assembly instructions) Outputs: a schedule Set of scheduling dates (one date per instruction) Total order Goal Minimize the execution time (number of cycles) Different possible objective functions to minimize: Power consumption . . . Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Is it possible to generate any schedule? Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Is it possible to generate any schedule? Example: a = b + c ; d = a + 3 ; e = f + d ; Possibility to change instruction order? Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Is it possible to generate any schedule? Example: a = b + c ; d = a + 3 ; e = f + d ; Possibility to change instruction order? No, because of data dependences Flow dependences on a and d Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Data dependences enforce a partial order for the final schedule Other types of constraints? Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Data dependences enforce a partial order for the final schedule Other types of constraints? Example: a = b + c ; d = e + f ; Target architecture with 1 ALU Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Data dependences enforce a partial order for the final schedule Other types of constraints? Example: a = b + c ; d = e + f ; Target architecture with 1 ALU Impossible to use the same functional unit concurrently Resource constraints Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints Data dependences enforce a partial order for the final schedule Other types of constraints? Example: a = b + c ; d = e + f ; Target architecture with 1 ALU Impossible to use the same functional unit concurrently Resource constraints Constraints Two types of constraints: data dependences and resource usage Lecture Overview Introduction Constraints List Scheduling Conclusion Constraints influencing Instruction Scheduling...
View Full Document

Page1 / 56

lecture-09 - Lecture Overview Introduction Constraints List...

This preview shows document pages 1 - 13. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online