Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο."— Μεταγράφημα παρουσίασης:

1 1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο Τεχνολογίες Επεξεργαστών Μέρος: Πρώτο Καθηγητής: Α. Βαφειάδης 2008

2 2 Α. Βαφειάδης Περιεχόμενα Επιλογές στη σχεδίαση επεξεργαστών Επιλογές στη σχεδίαση του συνόλου των εντολών Αρχιτεκτονική εσωτερικής μνήμης Κλήσεις διευθύνσεων μνήμης (memory addressing). Τα είδη των εντολών. Κατηγορίες Επεξεργαστών Επεξεργαστές CISC Επεξεργαστές RISC Επεξεργαστές τύπου Superscalar Η αρχιτεκτονική VLIW Οι επεξεργαστές τύπου Vector

3 3 Α. Βαφειάδης Στο παρελθόν Επεξεργαστές τύπου scalar H αύξηση ταχύτητας έχει σχέση με το πλήθος των μονάδων και τις τεχνικές διασύνδεσης τους

4 4 Α. Βαφειάδης Αλλαγές σχεδιασμού  Επανασχεδιασμός της αρχιτεκτονικής του Instruction Set  Αλλαγή τεχνολογίας με την οποία παράγονται τα σήματα ελέγχου (από το υλικό αντί από μικροπρογράμματα)  Ελαχιστοποίηση των μεθόδων υπολογισμού της τελικής διεύθυνσης  Προσπάθεια περισσότερες εντολές να εκτελούνται σε ένα κύκλο  Αύξηση του αριθμού των καταχωρητών.

5 5 Α. Βαφειάδης Νέα τεχνικές  Pipeline  Πρόβλεψη εντολών αλλαγής ροής (branch prediction)  Ανάλυση ροής δεδομένων(Data flow analysis)  Κερδοσκοπική εκτέλεση (Speculative execution)  Τεχνική Superscalar  Τεχνική (Very long Instruction Word – VLIW)

6 6 Α. Βαφειάδης Pipeline Κύκλοι μηχανής 123456789 Εντολή 1IFIDEXMEMWB Εντολή 2IFIDEXMEMWB Εντολή 3IFIDEXMEMWB Εντολή 4IFIDEXMEMWB Εντολή 5IFIDEXMEMWB IF = Φάση απόκτησης εντολής (Instruction Fetch) ID = Φάση αποκωδικοποίησης / ανάγνωσης καταχωρητών(Instruction decode / register fetch) EX = Φάση εκτέλεσης (Execution) MEM = Φάση πρόσβασης στη μνήμη / ολοκλήρωση αλμάτων (Memory access) WB = Φάση εγγραφής καταχωρητών / μνήμης (Write back)

7 7 Α. Βαφειάδης Pipeline του DLX

8 8 Α. Βαφειάδης Νο Branch prediction Κύκλοι μηχανής 123456789 Εντολή 1IFEX jump N IFEX Εντολή3 IF εντολής 3 EX -------------- Εντολή N IF εντολής Ν EX Εντολή Ν+1 IFEX false true Αν η συνθήκη είναι true υπάρχει απώλεια ενός κύκλου, εκτός αν το σύστημα προβλέψει και αποκτήσει την εντολή Ν στο κύκλο 3 If true η εντολή 3 δεν εκτελείται

9 9 Α. Βαφειάδης Branch prediction Κύκλοι μηχανής 123456789 Εντολή 1IFEX jump N IFEX Εντολή3 -------------- Εντολή N IF εντολής Ν EX Εντολή Ν+1 IF EX true If true η εντολή 3 δεν εκτελείται

10 10 Α. Βαφειάδης

11 11 Α. Βαφειάδης Επιλογές στη σχεδίαση του συνόλου των εντολών  Μέθοδο χρήσης τις εσωτερικής μνήμης του επεξεργαστή(registers, stacks)  Μέθοδο κλήσης μιας διεύθυνσης μνήμης(memory addressing)  Tα είδη των εντολών

12 12 Α. Βαφειάδης Αρχιτεκτονική εσωτερικής μνήμης Σωρός Ένας Καταχωρητής ( Συσσωρευτής ) Καταχωρητ έ ς (register-memory) Καταχωρητ έ ς (register- register) PUSH ALOAD ALOAD R1, A PUSH BADD BADD R1, BLOAD R2, B ADDSTORE CSTORE C, R1ADD R3, R2, R1 POP CSTORE C, R3

13 13 Α. Βαφειάδης Αρχιτεκτονική Σωρού

14 14 Α. Βαφειάδης Αρχιτεκτονική register-memory ADD R1, X ADD R2, Y

15 15 Α. Βαφειάδης Αρχιτεκτονική Load-Store

16 16 Α. Βαφειάδης Γιατί θέλουμε πολλούς καταχωρητές ?  Είναι ταχύτεροι από τη μνήμη  Οι μεταφραστές μπορούν να τους χειριστούν καλυτέρα από τη μνήμη  Φύλαξη ενδιαμέσων αποτελεσμάτων

17 17 Α. Βαφειάδης Αναφορά στη μνήμη και πλήθος τελεστών Αναφορά στη μνήμη Μέγιστο Πλήθος τελεστών ΤύποςΠλήθος κύκλων/εντολή Τεχνική Pipeline 03Load-store Ο ίδιος (εκτός από τις Load,store) Εύκολη 12Register- memory Διαφορετικοί κύκλοι/εντολή χωρίς μεγάλες διαφορές Δύσκολη 2 ή 3 Memory- memory Διαφορετικοί κύκλοι σχεδόν σε κάθε διαφορετική εντολή/εντολή Καθόλου

18 18 Α. Βαφειάδης Τελεστές ανά εντολή Αριθμός κλήσεων μνήμης ανά εντολή Μέγιστος αριθμός τελεστών ανά εντολή Παραδείγματα επεξεργαστών 03 SPARC, MIPS, PowerPC, DEC-Alpha 12 Intel 80x86, Motorola 68000 22 VAX 33

19 19 Α. Βαφειάδης Κλήσεις διευθύνσεων μνήμης (memory addressing) Μέθοδος Κλήσης ΠαράδειγμαΛειτουργίαΧρήση Register Με καταχωρητή Add R4,R3R4 <- R4 + R3 Όταν η τιμή βρίσκεται σε καταχωρητή Immediate Άμεσος Add R4, #90R4 <- R4 + 90 Όταν η τιμή είναι μια σταθερά Displacement Με μετατόπιση Add R4, 10(R1)R4<-R4+M[10+R1] Όταν ή τιμή βρίσκεται στη θέση μνήμης με διεύθυνση 10(R1) Register indirect Έμμεσος μέσω καταχωρητή Add R4,(R1)R4 <- R4 + M[R1] Όταν ή τιμή βρίσκεται στη θέση μνήμης με διεύθυνση R1 Indexed Με δείκτη Add R4,(R1+ R2)R4<-R4+ [R1+R2] Όταν η τιμή βρίσκεται μέσα σε μια θέση ενός πίνακα με αρχική διεύθυνση R1 και δείκτη R2

20 20 Α. Βαφειάδης Κλήσεις διευθύνσεων μνήμης (memory addressing) Direct Άμεσος ή απόλυτος Add R1, (1001)R1<-R1 + M[1001] Χρήσιμό για απόκτηση στατικών θέσεων μνήμης Memory indirect Έμμεσος μέσω μνήμης Add R1, @(R3)R1<-R1+ M[M[R3]] Όταν ή τιμή βρίσκεται στη θέση μνήμης με διεύθυνση που βρίσκεται μέσα σε μια άλλη θέση μνήμης με διεύθυνση R3 Auto- increment Με αυτό-αύξηση Add R1, (R2)+ R1 <- R1 +M[R2] R2 <- R2 + d Χρήσιμο για τη σάρωση πινάκων από την κορυφή προς το τέλος. R2 – η αρχή του πίνακα d – η τιμή της αύξησης Auto- increment Με αυτό-μείωση Add R1,-(R2) R2<-R2 - d R1 <- R1 + M[R2] Εκτελεί την αντιστροφή εργασία από την προηγούμενη μέθοδο

21 21 Α. Βαφειάδης Συχνότητα χρησιμοποίησης των τρόπων κλήσης Προγράμματα TeXSpicegcc Memory indirect1%6%1% Register deferred24% 11% Immediate43% 39% Displacement32%55%60%

22 22 Α. Βαφειάδης Κατηγορίες εντολών Κατηγορία εντολήςΠαράδειγμα Αριθμητική λογικήadd, subtract, and, or, κλπ Μεταφοράς δεδομένωνload, store, move, κλπ Ελέγχουbranch, jump, return, call, trap Συστήματοςκλήσης λειτουργικού συστήματος, εικονική μνήμη, κλπ Επεξεργασία Συμβολοσειρών string move, string compare, string search, κλπ Γραφικάpixel operations

23 23 Α. Βαφειάδης Συχνότητα χρήσης εντολών Εντολή 80x86Ποσοστό επί συνόλου εντολών load22% conditional branch20% compare16% store12% add8% and6% sub5% move register-register4% call1% return1% Σύνολο96%

24 24 Α. Βαφειάδης Συχνότητες εντολών αλλαγής ροής Άλματα χωρίς συνθήκη (jumps)5% Άλματα υπό συνθήκη (conditional jumps)85% Κλήσεις υπορουτινών (procedure calls)5% Επιστροφές υπορουτινών (procedure returns)5% Διαχείριση συνθήκης  Χρήση ενός ή περισσότερων bit συνθήκης (condition code).  Χρήση καταχωρητή (condition register).  Σύγκριση και άλμα σε μια εντολή (compare and branch).


Κατέβασμα ppt "1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google