Pipeline 1 loop Rep lw 2 1003 sub
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop. . . Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: 15/9/2021 cslab@ntua 2015 -2016 1
Άσκηση Pipeline 1 Δεδομένα Έχουμε ένα loop. . . Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: 15/9/2021 και αυτή την αρχική κατάσταση στους καταχωρητές $1: 500 $7: 5 • Δεν υπάρχει cache miss • Cache hit σε 1 cc • branches γίνονται resolve στο MEM stage cslab@ntua 2015 -2016 2
Άσκηση Pipeline 1 – Απάντηση Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: $1: 500 $7: 5 Δεν υπάρχει cache miss cache hit σε 1 cc $1 = 500, 495, 490, 485, . . . Ο βρόχος θα εκτελεστεί για 500 / 5 = 100 επαναλήψεις. 15/9/2021 cslab@ntua 2015 -2016 5
Το διάγραμμα χρονισμού του pipeline για τη χρονική διάρκεια που ζητείται είναι το ακόλουθο: Κύκλος lw $2, 100($3) 1 2 3 4 5 IF ID EX MEM WB IF sub $2, $5 sw $2, 100($3) 6 7 8 ID EX MEM WB IF sub $3, $6 9 10 11 ID EX MEM WB IF ID EX MEM IF ID sub $1, $7 bne $1, $0, Rep 12 13 WB lw $2, 100($3) Κύκλος 14 15 16 EX MEM WB 17 18 19 20 ID EX MEM WB lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep lw $2, 100($3) 15/9/2021 IF cslab@ntua 2015 -2016 6
Ή πιο συμπιεσμένο για να χωράει σε μια σελίδα CC lw 1 2 3 4 5 IF ID EX M WB IF sub sw sub bne 6 7 8 9 10 11 ID EX M WB IF ID EX M IF ID lw 15/9/2021 12 13 14 15 16 EX M WB 18 19 20 ID EX M WB WB IF cslab@ntua 2015 -2016 17 7
Άσκηση Pipeline 1 – Hazards CC lw 1 2 3 4 5 IF ID EX M WB IF sub sw 6 7 8 ID EX M WB IF sub bne 9 10 11 12 ID EX M WB IF ID EX M IF ID lw 13 14 15 16 EX M WB 15/9/2021 18 19 20 ID EX M WB WB IF Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: 17 Stalls στους κύκλους 4, 5: Ο καταχωρητής $2 για την εντολή sub $2, $5 (η ανάγνωση του οποίου γίνεται στο στάδιο ID) γίνεται διαθέσιμος στο τέλος του κύκλου 5 (στάδιο WB) από την εντολή lw. cslab@ntua 2015 -2016 8
Άσκηση Pipeline 1 – Hazards CC lw sub sw 1 2 3 4 5 6 7 8 IF ID EX M WB IF sub bne 9 10 11 12 ID EX M WB IF ID EX M IF ID 13 14 15 16 EX M WB IF 15/9/2021 18 19 20 ID EX M WB WB lw Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: 17 Stalls στους κύκλους 7, 8: O $2 για την εντολή sw $2, 100($3) γίνεται διαθέσιμος στο τέλος του κύκλου 8. cslab@ntua 2015 -2016 9
Άσκηση Pipeline 1 – Hazards CC lw sub sw 1 2 3 4 5 6 7 8 IF ID EX M WB IF sub bne 9 10 11 12 ID EX M WB IF ID EX M IF ID 13 14 15 16 EX M WB IF 15/9/2021 18 19 20 ID EX M WB WB lw Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: 17 Stalls στους κύκλους 12, 13: Ο $1 για την εντολή bne $1, $0, Rep γίνεται διαθέσιμος στο τέλος του κύκλου 13. cslab@ntua 2015 -2016 10
Άσκηση Pipeline 1 – Υπολογισμός Χρόνου CC lw sub sub bne 1 2 3 4 5 6 7 8 IF ID EX M WB IF 9 10 11 ID EX M WB IF 12 ID EX M WB IF ID EX M IF ID 13 14 15 16 EX M WB 17 18 19 20 ID EX M WB WB lw IF 15 κύκλοι ρολογιού Για τα πρώτα 99 loops έχουμε 99 × 15 cc= 1485 cc. Για την 100η επανάληψη έχουμε 16 cc. Συνολικά απαιτούνται 1485 cc + 16 cc = 1501 cc για την εκτέλεση του βρόχου. 15/9/2021 cslab@ntua 2015 -2016 12
Άσκηση Pipeline 2 – Χωρίς/Με Προώθηση CC lw 1 2 3 4 5 IF ID EX M WB IF sub sw 6 7 8 ID EX M WB IF sub 9 10 11 ID EX M WB IF ID EX M IF ID sub bne 12 13 14 15 16 lw sub sub bne lw 15/9/2021 1 2 3 4 5 6 7 IF ID EX M WB IF ID IF 8 9 10 EX M WB ID EX M WB IF ID EX M 11 18 19 20 EX M WB IF ID EX M WB 16 17 18 19 20 WB lw CC 17 12 13 14 15 ID EX M WB WB IF cslab@ntua 2015 -2016 14
Άσκηση Pipeline 2 – Hazards Rep: lw $2, 100($3) sub $2, $5 sw $2, 100($3) sub $3, $6 sub $1, $7 bne $1, $0, Rep Exit: Στον κύκλο 4 υπάρχει stall. Γιατί; CC 1 2 3 4 5 lw IF ID EX MEM WB IF ID IF sub sw sub bne 6 7 8 EX MEM WB ID EX MEM WB IF ID EX MEM 10 11 cslab@ntua 2015 -2016 12 13 14 15 ID EX MEM WB WB IF lw 15/9/2021 9 15
Το ίδιο ισχύει και για τα stalls που είχαμε στους κύκλους 7, 8 CC lw 1 2 3 4 5 IF ID EX M WB IF sub sw 6 7 8 ID EX M WB IF sub 9 10 11 ID EX M WB IF ID EX M IF ID sub bne 12 13 14 15 16 lw 1 2 3 4 5 IF ID EX M WB IF ID IF sub sw sub bne lw 15/9/2021 6 7 8 9 10 EX M WB ID EX M WB IF ID EX M 11 18 19 20 EX M WB IF ID EX M WB 16 17 18 19 20 WB lw CC 17 12 13 14 15 ID EX M WB WB IF cslab@ntua 2015 -2016 17
Το ίδιο ισχύει και για τα stalls που είχαμε στους κύκλους 12, 13. CC lw 1 2 3 4 5 IF ID EX M WB IF sub sw 6 7 8 ID EX M WB IF sub 9 10 11 ID EX M WB IF ID EX M IF ID sub bne 12 13 14 15 16 lw 1 2 3 4 5 IF ID EX M WB IF ID IF sub sw sub bne lw 15/9/2021 6 7 8 9 10 EX M WB ID EX M WB IF ID EX M 11 18 19 20 EX M WB IF ID EX M WB 16 17 18 19 20 WB lw CC 17 12 13 14 15 ID EX M WB WB IF cslab@ntua 2015 -2016 18
Άσκηση Pipeline 3 (2010 -2011) Δεδομένα Έχουμε ένα loop. . . Loop: lw addi sub bne Exit: 15/9/2021 $1, $1, $2, $4, 0($2) $1, 1 0($2) $2, 4 $3, $2 $0, Loop cslab@ntua 2015 -2016 20
Άσκηση Pipeline 3 (2010 -2011) Δεδομένα Έχουμε ένα loop. . . Loop: lw addi sub bne Exit: 15/9/2021 $1, $1, $2, $4, 0($2) $1, 1 0($2) $2, 4 $3, $2 $0, Loop και αυτή την αρχική κατάσταση στους καταχωρητές $3 = $2 +320 • Δεν υπάρχει cache miss • Cache hit σε 1 cc • branches γίνονται resolve στο MEM stage cslab@ntua 2015 -2016 21
Άσκηση Pipeline 3 – Απάντηση Loop: lw addi sub bne Exit: $1, $1, $2, $4, 0($2) $1, 1 0($2) $2, 4 $3, $2 $0, Loop $3 = $2 + 320 $4 = 316, 312, 308, . . . , 0 Ο βρόχος θα εκτελεστεί για 320 / 4 = 80 επαναλήψεις. 15/9/2021 cslab@ntua 2015 -2016 22
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF addi $1, 1 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 24
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID IF sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 25
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X IF ID IF addi $2, 4 sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 26
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M IF ID IF - addi $2, 4 sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 27
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID - - IF - - addi $2, 4 sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 28
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X - ID IF sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 29
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M - ID IF - sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 30
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID - - IF - - sub $4, $3, $2 bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 31
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ - ID IF bne $4, $0, Lo op lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 32
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M - ID Χ sub $4, $3, $2 IF ID bne $4, $0, Lo op IF lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 33
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 34
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - - bne $4, $0, Lo op IF - - lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 35
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ - ID lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 36
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ M - ID - lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 37
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ M W - ID - - lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 38
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ M W - ID - - Χ lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 39
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ M W - ID - - Χ M lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 40
Άσκηση Pipeline 3 – Ζητούμενο Α 1 lw $1, 0($2) addi $1, 1 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 IF ID X M W IF ID IF - - X M W - ID IF - - Χ M W - ID Χ M W sub $4, $3, $2 IF ID - bne $4, $0, Lo op IF - - Χ M W - ID - lw $1, 0($2) - Χ M W IF ID Χ M W Total Cycles = 79*17+18 = 1361 15/9/2021 cslab@ntua 2015 -2016 41
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 lw $1, 0($2) IF addi $1, 1 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 43
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 lw $1, 0($2) IF ID addi $1, 1 IF 3 4 5 6 7 8 9 10 11 12 13 14 15 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 44
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 lw $1, 0($2) IF ID X addi $1, 1 IF ID sw $1, 0($2) 4 5 6 7 8 9 10 11 12 13 14 15 IF addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 45
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 lw $1, 0($2) IF ID X M addi $1, 1 IF ID - IF - sw $1, 0($2) 5 6 7 8 9 10 11 12 13 14 15 addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 46
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - Χ IF - ID sw $1, 0($2) addi $2, 4 6 7 8 9 10 11 12 13 14 15 IF sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 47
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - Χ M IF - ID X IF ID sw $1, 0($2) addi $2, 4 sub $4, $3, $2 6 7 8 9 10 11 12 13 14 15 IF bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 48
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - IF - sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 6 7 Χ M W ID X M IF ID X IF ID 8 9 10 11 12 13 14 15 IF lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 49
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - IF - sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 6 7 8 Χ M W ID X M W IF ID X M IF ID X IF ID 9 10 11 12 13 14 15 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 50
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - IF - sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 6 7 8 9 Χ M W ID X M W IF ID X M IF ID X 10 11 12 13 14 15 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 51
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - IF - sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 6 7 8 9 10 Χ M W ID X M W IF ID X M 11 12 13 14 15 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 52
Άσκηση Pipeline 3 – Ζητούμενο B 1 2 3 4 5 lw $1, 0($2) IF ID X M W addi $1, 1 IF ID - IF - sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 6 7 8 9 10 Χ M W ID X M W IF ID X M 11 13 14 15 ID X M W W IF lw $1, 0($2) 12 Total Cycles = 79*10+11 = 801 15/9/2021 cslab@ntua 2015 -2016 53
Άσκηση Pipeline 3 – Ζητούμενο Γ 1 lw $1, 0($2) 2 3 4 5 6 7 8 9 10 11 12 13 14 IF addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 55
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 1 2 IF ID 3 4 5 6 7 8 9 10 11 12 13 14 IF addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 56
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 1 2 3 IF ID X IF ID 4 5 6 7 8 9 10 11 12 13 14 IF sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 57
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) 1 2 3 4 IF ID X M IF ID Χ IF ID 5 6 7 8 9 10 11 12 13 14 IF sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 58
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 1 2 3 4 5 IF ID X M W IF ID Χ M IF ID X IF ID 6 7 8 9 10 11 12 13 14 IF bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 59
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop 1 2 3 4 5 6 IF ID X M W IF ID Χ M W IF ID X M IF ID X IF ID 7 8 9 10 11 12 13 14 IF lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 60
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop 1 2 3 4 5 6 7 IF ID X M W IF ID Χ M W IF ID X M IF ID X IF ID 8 9 10 11 12 13 14 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 61
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop 1 2 3 4 5 6 7 8 IF ID X M W IF ID Χ M W IF ID X M IF ID X 9 10 11 12 13 14 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 62
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop 1 2 3 4 5 6 7 8 9 IF ID X M W IF ID Χ M W IF ID X M 10 11 12 13 14 lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 63
Άσκηση Pipeline 3 – Ζητούμενο Γ lw $1, 0($2) addi $2, 4 addi $1, 1 sw $1, -4($2) sub $4, $3, $2 bne $4, $0, Loop 1 2 3 4 5 6 7 8 9 IF ID X M W IF ID Χ M W IF ID X M 10 12 13 14 ID X M W W IF lw $1, 0($2) 11 Total Cycles = 79*9+10 = 721 15/9/2021 cslab@ntua 2015 -2016 64
Άσκηση Pipeline 4 (2011 -2012) Δεδομένα Έχουμε ένα loop. . . Loop: lw addi lw add sw addi sub bne Exit: 15/9/2021 $1, $5, $1, $2, $4, 0($2) $1, 1 4($2) $1, $5 0($2) $2, 4 $3, $2 $0, Loop cslab@ntua 2015 -2016 65
Άσκηση Pipeline 4 (2011 -2012) Δεδομένα Έχουμε ένα loop. . . Loop: lw addi lw add sw addi sub bne Exit: 15/9/2021 $1, $5, $1, $2, $4, 0($2) $1, 1 4($2) $1, $5 0($2) $2, 4 $3, $2 $0, Loop και αυτή την αρχική κατάσταση στους καταχωρητές $3 = $2 +220 • Δεν υπάρχει cache miss • Cache hit σε 1 cc • branches γίνονται resolve στο MEM stage cslab@ntua 2015 -2016 66
Άσκηση Pipeline 4 – Απάντηση Loop: lw addi lw add sw addi sub bne Exit: $1, $5, $1, $2, $4, 0($2) $1, 1 4($2) $1, $5 0($2) $2, 4 $3, $2 $0, Loop $3 = $2 + 220 $4 = 216, 212, 208, . . . , 0 Ο βρόχος θα εκτελεστεί για 220 / 4 = 55 επαναλήψεις. 15/9/2021 cslab@ntua 2015 -2016 67
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F addi $1, 1 lw $5, 4($2) add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 69
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D F lw $5, 4($2) add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 70
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X F D F add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 71
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M F D F - add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 72
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W F D - - F - - add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 73
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) add $1, $5 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W F D - - X F - D - F sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 74
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W F D - - X M F - D X - add $1, $5 F D sw $1, 0($2) F addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 75
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W F D - - X M W F - D X M - add $1, $5 F D - sw $1, 0($2) F - addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 76
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) addi $1, 1 lw $5, 4($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W F D - - X M W F - D X M W - add $1, $5 F D - - sw $1, 0($2) F - - addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) 15/9/2021 cslab@ntua 2015 -2016 77
Άσκηση Pipeline 4 – Ζητούμενο Α 1 2 3 lw $1, 0($2) 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 F D X M W addi $1, 1 lw $5, 4($2) F D - - X M W F - D X M W - add $1, $5 F D - - X M W sw $1, 0($2) F - - D - - X M W F - - D X M W addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop lw $1, 0($2) F D - - X M W F - - D - - X M W F Total Cycles = 54*21+22 = 1156 15/9/2021 cslab@ntua 2015 -2016 78
Άσκηση Pipeline 4 – Ζητούμενο B 1 lw $1, 0($2) addi $1, 1 lw $5, 4($2) add $1, $5 sw $1, 0($2) addi $2, 4 2 3 4 5 6 7 F D X M W F D - F - 8 9 10 11 12 13 14 15 16 17 18 X M W D X M W F D - X M W F - D X M W F D X M sub $4, $3, $2 bne $4, $0, Loop W F lw $1, 0($2) D X M W Total Cycles = 54*13+14 = 716 15/9/2021 cslab@ntua 2015 -2016 80
Άσκηση Pipeline 4 – Ζητούμενο Γ 1 4 5 lw $1, 0($2) F D X M W lw $5, 4($2) F D X M W F D X M W F D X M addi $1, 1 add $1, $5 sw $1, 0($2) addi $2, 4 sub $4, $3, $2 bne $4, $0, Loop 2 3 6 7 8 9 10 11 12 13 14 15 16 17 18 W F lw $1, 0($2) D X M W Total Cycles = 54*11+12 = 606 15/9/2021 cslab@ntua 2015 -2016 82
- Slides: 82