



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Information on various static scheduling techniques covered in the ece 463/521 course at nc state university. The techniques include local scheduling, loop unrolling, software pipelining, trace scheduling, and predication. The benefits and drawbacks of each technique and includes examples and code snippets.
Typology: Study notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!




ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
Loop: L.D F0, 0(R1) ADD.D F4, F0, F S.D F4, 0(R1) ADDI R1, R1, # BNE R1, xxx, Loop
Loop: L.D F0, 0(R1) ADD.D F4, F0, F S.D F4, 0(R1) L.D F6, 8(R1) ADD.D F8, F6, F S.D F8, 8(R1) L.D F10, 16(R1) ADD.D F12, F10, F S.D F12, 16(R1) L.D F14, 24(R1) ADD.D F16, F14, F S.D F16, 24(R1) ADDI R1, R1, # BNE R1, xxx, Loop
More registers needed!
Benefits:
Loop: L.D F0, 0(R1) L.D F6, 8(R1) L.D F10, 16(R1) L.D F14, 24(R1) ADD.D F4, F0, F ADD.D F8, F6, F ADD.D F12, F10, F ADD.D F16, F14, F S.D F4, 0(R1) S.D F8, 8(R1) S.D F12, 16(R1) S.D F16, 24(R1) ADDI R1, R1, # BNE R1, xxx, Loop
14 cycles/4 iterations (3.5 cycles/iteration)
5 cycles/iteration
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
Prel: L.D F0, 0(R1) ADD.D F4, F0, F S.D F4, 0(R1) L.D F6, 8(R1) ADD.D F8, F6, F S.D F8, 8(R1) ADD R1, R1, 16 BNE R1, xxx, Prel
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
This slide borrowed from Per Stenström, Chalmers University, Stockholm, Sweden, Computer Architecture, Lecture 6.
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
This slide and the next one have been borrowed from Per Stenström, Chalmers University, Stockholm, Sweden,Computer Architecture, Lecture 6.
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-
Trace to be scheduled b[i] = 〈〈 old value 〉〉 a[i] = b[i] + c[i] b[i] = 〈〈 new value 〉〉 c[i] = if (a[i] != 0) goto A B:
A: restore old b[i] X maybe recalculate c[i] goto B
Repair code b[i] = 〈〈 old value 〉〉 a[i] = b[i] + c[i] if (a[i] = 0) then b[i] = 〈〈 new value 〉〉 // common case else X c[i] =
Original code
ECE 463/521,ECE 463/521, ProfsProfs.. ConteConte,, RotenbergRotenberg andand GehringerGehringer, Dept. of ECE,, Dept. of ECE, NC State UniversityNC State University Lec. 27-