chapter6-pipeline - cslab@ntua (2008-2009) 1 Time 7 6 PM 8...

Info iconThis preview shows pages 1–7. 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
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: cslab@ntua (2008-2009) 1 Time 7 6 PM 8 9 10 11 12 1 2 AM A B C D Time 7 6 PM 8 9 10 11 12 1 2 AM A B C D Task order Task order Pipeline: Ένα παράδειγμα από …. τη καθημερινή ζωή 1. Πλυντήριο 2. Στεγνωτήριο 3. Δίπλωμα 4. αποθήκευση 30 min κάθε « φάση » Σειριακή προσέγγιση για 4 φορτία = 8h Pipelined προσέγγιση για 4 φορτία = 3.5h Το κάθε « φορτίο » συνεχίζει να θέλει 2h, όμως περισσότερα « φορτία » ολοκληρώνονται ανά ώρα cslab@ntua (2008-2009) 2 Εντολές MIPS 1. Φέρε την εντολή από τη μνήμη (IF-Instruction Fetch) 2. Διάβασε τους καταχωρητές , ενώ αποκωδικοποιείς την εντολή (ID+RegisterFile Read) ( στο εξής θα λέμε : ID) 3. Εκτέλεση της εντολής ή υπολογισμός διεύθυνσης ( μέσω ALU) (EX-execute) 4. Προσπέλαση μνήμης (MEM) 5. Εγγραφή αποτελέσματος στο RegisterFile (WB-write back) Πέντε στάδια : cslab@ntua (2008-2009) 3 Single-cycle vs pipelined performance: Single cycle : όλες οι εντολές διαρκούν ένα κύκλο ρολογιού , ίσο με το μήκος της πιο χρονοβόρου εντολής Έστω : 2 ns για ALU, MEM ανάγνωση ή εγγραφή και 1 ns για register file ανάγνωση ή εγγραφή 5ns 2ns 1ns 2ns Branch(beq) 6ns 1ns 2ns 1ns 2ns R-Type (add,sub,and, or, slt) 7ns 2ns 2ns 1ns 2ns Store word (sw) 8ns 1ns 2ns 2ns 1ns 2ns Load word (lw) Total Time Register Write Data access ALU operation Register read Instruct. fetch Instruction class cslab@ntua (2008-2009) 4 Κάθε 2ns τελειώνει και μια εντολή ! Έστω οι παρακάτω εντολές lw: lw $2, 200($0) lw $3, 300($0) lw $1, 100($0) 3x8=24ns Εδώ οι βαθμίδες δεν είναι απόλυτα ίσες . Στην ιδανική περίπτωση : time pipelined =time non_pipelined / number of pipe stages cslab@ntua (2008-2009) 5 Στη single cycle υλοποίηση , η εντολή διαρκεί ένα κύκλο ίσο με την πιο χρονοβόρα ( εδω : 8 ns) Στη pipeline υλοποίηση , το ρολόι κάθε φάσης ( στάδιο-pipeline stage) διαρκεί (2 ns), ακόμα και αν υπάρχουν στάδια του 1ns Στο προηγούμενο παράδειγμα 14 ns για pipeline, 24ns για single cycle, άρα 1,71 επιτάχυνση . Άν είχαμε 1000 εντολές ακόμα : pipeline 1000x2ns + 14 ns = 2014 ns Single cycle 1000x8ns + 24 ns = 8024 ns Άρα επιτάχυνση : 8024/2014=3,98 ~4 (8ns/2ns ratio μεταξύ εντολών ) cslab@ntua (2008-2009) 6 Στάδια διόδου δεδομένων ενός κύκλου (single cycle datapath):...
View Full Document

This note was uploaded on 10/02/2009 for the course G 001 taught by Professor Shmmygr during the Spring '07 term at National Technical University of Athens, Athens.

Page1 / 75

chapter6-pipeline - cslab@ntua (2008-2009) 1 Time 7 6 PM 8...

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

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