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

Slides:



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

© Υπερβαθμωτή Οργάνωση Υπολογιστών Από τις βαθμωτές στις υπερβαθμωτές αρχιτεκτονικές αγωγού…
Εικονική Μνήμη (virtual memory)
Handling Local Variables General Purpose Registers
Υποθετική Εκτέλεση Εντολών (Hardware-Based Speculation)‏
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Εικονική Μνήμη (virtual memory) Πολλά προγράμματα εκτελούνται ταυτόχρονα σε ένα υπολογιστή Η συνολική μνήμη που απαιτείται είναι μεγαλύτερη.
Ανίχνευση κίνδυνου Επίλυση με προώθηση. Μπλέ: Εξαρτήσεις. Εξαρτήσεις προς προηγούμενα CC είναι κίνδυνοι δεδομένων Kόκκινο: Προώθηση IF/ID ID/EX EX/MEM.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υπερβαθμωτή Οργάνωση Υπολογιστών. Περιορισμοί των βαθμωτών αρχιτεκτονικών Μέγιστο throughput: 1 εντολή/κύκλο ρολογιού (IPC≤1) Υποχρεωτική ροή όλων των.
Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής:
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 EPIC Νάνου Σπυριδούλα Α.Μ Explicitly Parallel Instruction Computing Ένα νέο στυλ αρχιτεκτονικής που σκοπό έχει: Τη δυνατότητα υψηλότερου επιπέδου.
© Processor-Memory (DRAM) Διαφορά επίδοσης Performance
Οργάνωση Υπολογιστών 5 “συστατικά” στοιχεία -Επεξεργαστής: datapath (δίοδος δεδομένων) (1) και control (2) -Μνήμη (3) -Συσκευές.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών.
Translation Lookaside Buffers Φροντιστήριο του μαθήματος “Προηγμένοι Μικροεπεξεργαστές”
Πρόγραμμα Αγωγής Υγείας «Τρώω σωστά,μεγαλώνω σωστά» Σχολικό έτος ο Νηπιαγωγείο Πατρών.
1 Διαχείριση Μνήμης Γενικά Εναλλαγή (Swapping) Συμπαγής Εκχώρηση (Contiguous Allocation) Σελιδοποίηση (Paging) Κατάτμηση (Segmentation) Κατάτμηση με Σελιδοποίηση.
Αρχιτεκτονική Υπολογιστών Ενότητα # 3: Ιεραρχία Μνήμης Διδάσκων: Γεώργιος Κ. Πολύζος Τμήμα: Πληροφορικής.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ Αρχιτεκτονική Υπολογιστών.
Διαφάνειες διδασκαλίας του πρωτότυπου βιβλίου μεταφρασμένες στα ελληνικά (μετάφραση, επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών) Οργάνωση και.
ΔIAXEIPIΣH MNHMHΣ.
Εικονική Μνήμη (virtual memory)
Υπολογιστικά συστήματα: Στρώματα
Δομή προσωπικού υπολογιστή
Δ.Ε.Υ.Α. και Οικονομική Κρίση
Καθηγητής Σταύρος Α. Κουμπιάς
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Ενότητα 5 : Οργάνωση Υλικού Υπολογιστών Δρ. Γκόγκος Χρήστος
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Υποθετική Εκτέλεση Εντολών (Hardware-Based Speculation)‏
Είδη των Cache Misses: 3C’s
INSTRUCTIONS LANGUAGE OF THE MACHINE
Single-cyle υλοποίηση:
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Λογισμικό παρουσιάσεων
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Κεντρική Μονάδα Επεξεργασίας
Ψηφιακή Σχεδίαση εργαστήριο
Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Αριθμητική για υπολογιστές
Θέματα Φεβρουαρίου
Single-cyle υλοποίηση:
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Ι
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
« به نام خدا» 1-جايگاه ايران در توزيع جهاني درآمد
Εισαγωγή στην Ψηφιακή Τεχνολογία
Είδη των Cache Misses: 3C’s
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Υλικό - Λογισμικό Υλικό (Hardware) Λογισμικό (Software)
Single-cyle υλοποίηση:
Увод у организацију и архитектуру рачунара 2
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Είδη των Cache Misses: 3C’s
Single-cyle υλοποίηση:
Single-cyle υλοποίηση:
Memory Cloaking & Bypassing
Είδη των Cache Misses: 3C’s
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Υπερβαθμωτή (superscalar) Οργάνωση Υπολογιστών
Ανίχνευση Προσωρινών Σφαλμάτων μέσω Ταυτόχρονης Πολυνηματικής Εκτέλεσης (Transient Fault Detection via Simultaneous Multithreading) «Προχωρημένα Θέματα.
Μεταγράφημα παρουσίασης:

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

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

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

Καταχωρητές Κινητής Υποδιαστολής και Εφαρμογής 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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

Προηγμένες Αρχιτεκτονικες Υπολογιστών Εντολή Μηχανής Κωδικός εντολής μήκους 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

Ομάδα Εκτελέσιμων Εντολών (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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

Αρχιτεκτονική Μονάδας Πράξεων Κινητής Υποδιαστολής 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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

Εικονική Μνήμη 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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

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

Παραλληλισμός Ελέγχου Ροής 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

Παραλληλισμός Ελέγχου Ροής με Πολλούς Στόχους Πολλαπλές επιλογές 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

Κατηγορήματα Εκτέλεσης (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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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

Προηγμένες Αρχιτεκτονικες Υπολογιστών Υποθετικά Διαβάσματα (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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

Προηγμένες Αρχιτεκτονικες Υπολογιστών Πρόωρα Διαβάσματα (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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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

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

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

Προηγμένες Αρχιτεκτονικες Υπολογιστών Κλήση Μεθόδου 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 Προηγμένες Αρχιτεκτονικες Υπολογιστών

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