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

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

Αρχιτεκτονική ΙΑ-64 Προηγμένες Αρχιτεκτονικές Υπολογιστών

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


Παρουσίαση με θέμα: "Αρχιτεκτονική ΙΑ-64 Προηγμένες Αρχιτεκτονικές Υπολογιστών"— Μεταγράφημα παρουσίασης:

1 Αρχιτεκτονική ΙΑ-64 Προηγμένες Αρχιτεκτονικές Υπολογιστών
Χειμερινό Εξάμηνο 6 Νοεμβρίου 2001 Ορέστης Τελέλης Βασίλης Στούμπος M-368 M-365

2 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Εισαγωγή Πρόταση Intel και Hewlett-Packard. Σχεδιασμός με δυνατότητες μελλοντικών επεκτάσεων. Στόχος η αγορά μικροεπεξεργαστών γενικής χρήσης Πλήρης 64-bit διευθυνσιοδότηση. Έμφαση σε ILP. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

3 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Γενικοί καταχωρητές 128 καταχωρητές γενικής χρήσης. Επιπλέον bit ένδειξης εξαίρεσης αναφοράς. Deferred exception token. NaT (Not a Thing). 128 GR’s r0 . r31 r32 r127 static stacked/ rotating 64+1bits 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

4 Καταχωρητές Κινητής Υποδιαστολής και Εφαρμογής
128 καταχωρητές κινητής υποδιαστολής. 128 καταχωρητές εφαρμογής. Application Register. 64 FR’s 128 AR’s f0 . f31 f32 f127 ar0 . ar31 ar32 ar127 rotating 82 bits 64 bits 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

5 Καταχωρητές Κατηγορημάτων και Διακλάδωσης
64 καταχωρητές κατηγορημάτων. Predicate Register. 64 καταχωρητές διακλάδωσης. 128 PR’s 8 BR’s p0 . p15 p16 p63 b0 . b6 b7 rotating 64 bits 1 bit 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

6 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Εντολή Μηχανής Κωδικός εντολής μήκους 14 bits. 7 bits για την διευθυνσιοδότηση καταχωρητών. 6 bits για την διευθυνσιοδότηση καταχωρητών PR. Μήκος εντολής: 14 + 3*7 + 6 = 41 bits. Op 14 bits instruction Register 1 Register 3 Register 2 Predicate 7 bits 6 bits 41 bits 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

7 Ομάδα Εκτελέσιμων Εντολών
(instruction bundle) Χρήση bundle 128 bits. Χρήση του template για οδηγίες εκτέλεσης. Γενικά ένα bundle εκτελείται παράλληλα. Κληρονομιά από το EPIC. Μέγεθος bundle 128 bits. bundle Instruction 1 Instruction 3 Instruction 2 Template 41 bits 5 bits 128 bits 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

8 Αρχιτεκτονική Μονάδας Πράξεων Κινητής Υποδιαστολής
IEEE/ANSI 754 double extended floating point 82 bits μήκος καταχωρητή. 2 bit για ειδικές βελτιώσεις FMAC εντολή: round(A*B+C). ΧΜΑ εντολή: A*B+C. A,B,C σαν 64-bits ακέραιοι. Και άλλοι τύποι. Πράξεις πάνω σε 32-bit, 64-bit και 80-bit. Ταυτόχρονη εκτέλεση 2 πράξεων 32-bit. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

9 Προβλήματα με την Εικονική Μνήμη
32 bits διευθυνσιοδοτούν 4GB. 64 bits διευθυνσιοδοτούν 16 δισεκατομμύρια GB. Για μέγεθος σελίδας 4KB: Πίνακας σελίδων για 32-bit με ένα εκατομμύριο εγγραφές. Πίνακας σελίδων για 64-bit με τέσσερα δισεκατομμύρια περισσότερες εγγραφές. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

10 Εικονική Μνήμη Region Registers 3-bit search VRN VPN 24-bit search
63 61 60 Virtual Region Number Virtual Page Number Offset rr0 rr1 Region ID 3-bit search VRN VPN rr7 24-bit search Region ID Key VPN Rights Physical Page Number Protection Key Registers Translation Look-aside Buffer (TLB) pk0 Key Rights pk1 pk2 PPN 24-bit search PPN Offset 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

11 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Φιλοσοφία Σχεδίασης Διαχωρισμός βελτιστοποιήσεων στον μεταγλωττιστή και στον επεξεργαστή. Ξεκάθαρη ανάθεση διαδικασιών βελτιστοποίησης. Μικρό βάρος στους μεταγλωττιστές. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

12 Σημασιολογία Εκτέλεσης
Σειριακή σειρά εκτέλεσης. Βελτιστοποιήσεις με αλλαγές στη σειρά εντολών. Διατήρηση σειριακής σημασιολογίας. Παράλληλη εκτέλεση. Σύνολα εντολών δηλώνονται ως εκτελούμενα παράλληλα. Instruction groups. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

13 Παραλληλισμός Ελέγχου Ροής
cmp.ne p1 = r0,r0 add t = -5,b cmp.eq.or p1 = 0,a jump if p1 cmp.ge.or p1 = 0,t cmp.ne.or p1 = c,d tbit.or p1 = 1,f,1 jump mov r3 = 8 Εκφράσεις υπό συνθήκη if ((a==b) || (b<=5) || (c!=d) || (f&0x2)) { r3 = 8; } cmp.ne p1 = r0,r0 add t = -5,b;; cmp.eq.or p1 = 0,a cmp.ge.or p1 = 0,t cmp.ne.or p1 = c,d tbit.or p1 = 1,f,1;; (p1) mov r3 = 8 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

14 Παραλληλισμός Ελέγχου Ροής με Πολλούς Στόχους
Πολλαπλές επιλογές if ( a == b) { . . . } else if (c != 4) { } else if (d < e) { } // fall through code cmp.eq p1,p2 = r1,r2 cmp.ne p2,p4 = 4,r5 cmp.lt p5,p6 = r8,r9;; (p1) br.cond label1 (p3) br.cond label2 (p5) br.call b4 = label3;; // fall through code 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

15 Κατηγορήματα Εκτέλεσης
(predication) Εξάλειψη διακλαδώσεων if (r1 == r2) { r9 = r10 – r11; } else { r5 = r6 + r7; } cmp.eq p1,p2 = r1,r2;; (p1) sub r9 = r10,r11 (p2) add r5 = r16,r7;; 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

16 Χρονοπρογραμματισμός και Υποθέσεις
Scheduling and speculations. Αναδιάταξη κώδικα. Σε μεγάλα συνεχόμενα τμήματα κώδικα υπάρχουν ευκαιρίες παραλληλισμού. Υποθετικές εντολές. Εντολές των οποίων το αποτέλεσμα μπορεί να μην χρησιμοποιηθεί. Διατήρηση Σημασιολογίας 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

17 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Υποθετικά Διαβάσματα (linked lists) σημασι- ολογία; instrA instrB . . . branch ld8 r1=[r2] use r1 speculative load speculation check Εξαιρέσεις (exceptions) φράγμα ld8.s r1=[r2] use r1 instrA instrB . . . branch check.s 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

18 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Πρόωρα Διαβάσματα (C pointers) σημασι- ολογία; instrA instrB . . . store ld8 r1=[r2] use r1 advanced load load check Εξαιρέσεις (exceptions) γράψιμο ld8.a r1=[r2] use r1 instrA instrB . . . store check.a 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

19 Προηγμένες Αρχιτεκτονικες Υπολογιστών
ALAT Advanced Load Access Table. Πίνακας Πρόωρων Διαβασμάτων. Λειτουργεί όπως η cache. Περιέχει: Καταχωρητή. Διεύθυνση μνήμης. Μέγεθος πρόσβασης. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

20 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Λειτουργία ALAT Εισαγωγή στον πίνακα για κάθε πρόωρο διάβασμα. Σε κάθε γράψιμο αφαιρούνται οι συγκρουόμενες εγγραφές. Ο έλεγχος chk.a πρέπει να βρει την αντίστοιχη εγγραφή. Διόρθωση κατά περίσταση fix-up κώδικας. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

21 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Μοντέλο Καταχωρητών Register File. 128 γενικοί καταχωρητές. 32 στατικοί – RISC αρχιτεκτονική. 96 σε στοίβα – μετονομασία μέσω λογισμικού. Χρήση alloc. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

22 Προηγμένες Αρχιτεκτονικες Υπολογιστών
Κλήση Μεθόδου Out Local r32 r41 r43 r42 br.ret br.call Out Local r32 r39 r42 r40 Out r34 r32 Out Local r32 r39 r42 r40 alloc 10,2 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών

23 Σωλήνωση σε Επίπεδο Εφαρμογής
Application pipelining. Όμοια με την hardware σωλήνωση σε περίπτωση βρόχου. Προβλήματα: Χειρισμός μετρητή βρόχου. Μετονομασία καταχωρητών. Αρχικοποίηση και τερματισμός. «Ξεδίπλωμα» βρόχων. 6 Νοεμβρίου 2001 Προηγμένες Αρχιτεκτονικες Υπολογιστών


Κατέβασμα ppt "Αρχιτεκτονική ΙΑ-64 Προηγμένες Αρχιτεκτονικές Υπολογιστών"

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


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