583L12 - EECS 583 Class 12 Superblock Scheduling Intro. to...

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

View Full Document Right Arrow Icon
EECS 583 – Class 12 Superblock Scheduling Intro. to Loop Scheduling University of Michigan October 19, 2011
Background image of page 1

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

View Full DocumentRight Arrow Icon
- 1 - Announcements & Reading Material Reminder: HW 2 – Speculative LICM » Daya has office hours Thurs and Fri 3-5pm » Deadline extended to Monday 11:59pm Class project proposals » Next week: Daya and I will meet with each group for 15 mins to discuss informal project proposals Next wk: No class on Wednes, but we will have class Monday » Signup sheet on my door Thurs (tomorrow) Today’s class » “Sentinel Scheduling for VLIW and Superscalar Processors”, S. Mahlke et al., ASPLOS-5, Oct. 1992, pp.238-247. Next class » “Iterative Modulo Scheduling: An Algorithm for Software Pipelining Loops”, B. Rau, MICRO-27, 1994, pp. 63-74.
Background image of page 2
- 2 - Homework Problem – Operation Scheduling 1m 2 Machine: 2 issue, 1 memory port, 1 ALU Memory port = 2 cycles, pipelined ALU = 1 cycle 2m 4m 7 3 6 5 8 10 9m 2 2 1 1 1 1 1 2 1. Calculate height-based priorities 2. Schedule using Operation scheduler 0,1 2,3 3,5 3,4 4,4 2,2 0,0 0,4 5,5 6,6 1 RU_map time ALU MEM 0 X 1 X 2 X 3 X X 4 X 5 X 6 X 7 X 8 X Schedule Time Placed 0 2 1 1 2 4 3 3, 9 4 6 5 7 6 5 7 8 8 10 Op priority 1 6 2 7 3 4 4 5 5 2 6 3 7 3 8 2 9 3 10 1
Background image of page 3

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

View Full DocumentRight Arrow Icon
- 3 - From Last Time: Generalize Beyond a Basic Block Superblock » Single entry » Multiple exits (side exits) » No side entries Schedule just like a BB » Priority calculations needs change » Dealing with control deps
Background image of page 4
- 4 - Lstart in a Superblock Not a single Lstart any more » 1 per exit branch (Lstart is a vector!) » Exit branches have probabilities 1 2 4 1 3 1 3 5 6 Exit0 (25%) Exit1 (75%) 1 2 1 op Estart Lstart0 Lstart1 1 2 3 4 5 6 1
Background image of page 5

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

View Full DocumentRight Arrow Icon
- 5 - Operation Priority in a Superblock Priority – Dependence height and speculative yield » Height from op to exit * probability of exit » Sum up across all exits in the superblock 1 2 4 1 3 1 3 5 6 Exit0 (25%) Exit1 (75%) 1 2 1 op Lstart0 Lstart1 Priority 1 2 3 4 5 6 1 Priority(op) = SUM (Probi * (MAX_Lstart – Lstarti(op) + 1)) valid late times for op
Background image of page 6
- 6 - Dependences in a Superblock 1: r1 = r2 + r3 2: r4 = load(r1) 3: p1 = cmpp(r3 == 0) 4: branch p1 Exit1 5: store (r4, -1) 6: r2 = r2 – 4 7: r5 = load(r2) 8: p2 = cmpp(r5 > 9) 9: branch p2 Exit2 1 2 3 5 6 4 7 8 9 * Data dependences shown, all are reg flow except 1 6 is reg anti * Dependences define precedence ordering of operations to ensure correct execution semantics * What about control dependences? * Control dependences define precedence of ops with respect to branches Superblock Note: Control flow in red bold
Background image of page 7

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

View Full DocumentRight Arrow Icon
Conservative Approach to Control Dependences 1: r1 = r2 + r3 2: r4 = load(r1) 3: p1 = cmpp(r3 == 0) 4: branch p1 Exit1 5: store (r4, -1) 6: r2 = r2 – 4 7: r5 = load(r2) 8: p2 = cmpp(r5 > 9) 9: branch p2 Exit2 1 2 3 5 6 4 7 8 9 Superblock * Make branches barriers, nothing moves above or below branches * Schedule each BB in SB separately * Sequential schedules * Whole purpose of a superblock is lost Note: Control flow in red bold
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 12/26/2011 for the course EECS 583 taught by Professor Flinn during the Fall '08 term at University of Michigan.

Page1 / 29

583L12 - EECS 583 Class 12 Superblock Scheduling Intro. to...

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

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