Memory Cloaking & Bypassing Εργασία στο μάθημα: Προηγμένες Αρχιτεκτονικές Υπολογιστών Κατσαρής Αριστοτέλης Μ473 Τσαγκάρης Γιώργος Μ479.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Advertisements

Εισαγωγή στις Τεχνολογίες της Πληροφορικής και των Επικοινωνιών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή
Κ. Διαμαντάρας Α. Βαφειάδης Τμήμα Πληροφορικής ΑΤΕΙ Θεσσαλονίικης 2011 Pipelining – Βασικές αρχές.
© Υπερβαθμωτή Οργάνωση Υπολογιστών Από τις βαθμωτές στις υπερβαθμωτές αρχιτεκτονικές αγωγού…
Το υλικο του Υπολογιστη
Τεχνολογίες Επεξεργαστών
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Συνάφεια Κρυφής Μνήμης σε Επεκτάσιμα Μηχανήματα. Συστήματα με Κοινή ή Κατανεμημένη Μνήμη  Σύστημα μοιραζόμενης μνήμης  Σύστημα κατανεμημένης μνήμης.
Ανακτηση Πληροφοριασ σε νεφη Υπολογιστων
Δυναμική Δρομολόγηση Εντολών (Dynamic Scheduling)
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Τρίτο Εξάμηνο: Έβδομο Καθηγητής:
Υποθετική Εκτέλεση Εντολών (Hardware-Based Speculation)‏
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) Σχεδίαση datapath 4 κατηγορίες εντολών: Αριθμητικές-λογικές.
Λύση: Multicycle υλοποίηση Single-cyle υλοποίηση: Διάρκεια κύκλου ίση με τη μεγαλύτερη εντολή-worst case delay (εδώ η lw) = χαμηλή.
© Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση.
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
Η ΕΚΤΕΛΕΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΧΡΗΣΤΗ ΑΠ’ ΤΟΝ Η/Υ ΤΟΜΕΑΣ ΤΕΧΝΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Δ.ΙΕΚ ΠΑΤΡΑΣ.
1 Pipeline: Ένα παράδειγμα από ….τη καθημερινή ζωή 1.Πλυντήριο 2.Στεγνωτήριο 3.Δίπλωμα 4.αποθήκευση 30 min κάθε «φάση» Σειριακή προσέγγιση για 4 φορτία.
ΑΝΤΙΣΤΑΤΕΣ ΣΕ ΜΕΙΚΤΗ ΣΥΝΔΕΣΗ
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Pipelining –
ΔΕΞΙΟΤΗΤΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΜΝΗΜΩΝ ΕΝΟΣ Η/Υ ΤΜΗΜΑ: Τ6 ΟΝΟΜΑΤΑ: ΣΕΛΑΛΜΑΖΙΔΗΣ ΤΑΣΟΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΦΙΛΙΑΣ ΑΝΤΩΝΗΣ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ.
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Θέματα Φεβρουαρίου © Θέμα 1ο (30%): Έστω η παρακάτω ακολουθία εντολών που χρησιμοποιείται για την αντιγραφή.
Μάθημα: Δίκτυα Υπολογιστών Remote MONitoring Copyright  Οικονομικό Πανεπιστήμιο Αθηνών 1 Remote MONitoring, RMON  Παρακολούθηση δικτύου (network monitoring):
Ενεργή επιλογή αλγορίθμου, Active Algorithm Selection, Feilong Chen and Rong Jin Εύα Σιταρίδη.
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση και Αρχιτεκτονική.
© Ασκήσεις στα Προηγμένα Θέματα Αρχιτεκτονικής Υπολογιστών ακ. έτος Νεκτάριος Κοζύρης Νίκος Αναστόπουλος
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου.
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437
Speculative Memory Cloaking And Speculative Memory Bypassing Κωνσταντίνα Δεληγιώργη Α.Μ. 378 ΑΘΗΝΑ, Ιανουάριος 2002.
Μοντέλα - Αλγόριθμοι – Ταξινόμηση Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Multi-threading Κορομηνάς Κωνσταντίνος – Μ437 Χατζηανδρέου Ελένη - Μ400 Χήνου Διονυσία – Μ364.
Μικροεπεξεργαστές Λειτουργία - Εξέλιξη
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 EPIC Νάνου Σπυριδούλα Α.Μ Explicitly Parallel Instruction Computing Ένα νέο στυλ αρχιτεκτονικής που σκοπό έχει: Τη δυνατότητα υψηλότερου επιπέδου.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
1 Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τέταρτο Οι κίνδυνοι της.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Δεύτερο.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Πρώτο Αρχιτεκτονική.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών 10 ο Μάθημα.
Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL. Αρχιτεκτονική Υπολογιστών DATAPATH & CONTROL Για κάθε εντολή υπάρχουν δυο βήματα που πρέπει να γίνουν: –Προσκόμιση.
ΚΙΝΗΤΙΚΗ ΜΑΘΗΣΗ ΜΑΘΗΜΑ 5: Κινητικός έλεγχος –Αισθητηριακές πληροφορίες
Ασκήσεις WEKA.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Τεχνολογικό Εκπαιδευτικό
Αρχιτεκτονική Η/Υ ΙΙ Ενότητα #6: Σύγχρονοι Επεξεργαστές
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Single-cyle υλοποίηση:
MIPS: Σύνολο εντολών, γλώσσα μηχανής & μεθοδολογία σχεδίασης
Τ.Ε.Ι. Κρήτης Τμ. Μηχανικών Πληροφορικής Αρχιτεκτονική Υπολογιστών
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Θέματα Φεβρουαρίου
Single-cyle υλοποίηση:
Ο ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΗΣ MIPS R10000
Single-cyle υλοποίηση:
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Single-cyle υλοποίηση:
Memory Cloaking & Bypassing
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
O επεξεργαστής: Η δίοδος δεδομένων (datapath) και η μονάδα ελέγχου (control) 4 κατηγορίες εντολών: Αριθμητικές-λογικές εντολές (add, sub, slt κλπ) –R Type.
Ανίχνευση Προσωρινών Σφαλμάτων μέσω Ταυτόχρονης Πολυνηματικής Εκτέλεσης (Transient Fault Detection via Simultaneous Multithreading) «Προχωρημένα Θέματα.
Μεταγράφημα παρουσίασης:

Memory Cloaking & Bypassing Εργασία στο μάθημα: Προηγμένες Αρχιτεκτονικές Υπολογιστών Κατσαρής Αριστοτέλης Μ473 Τσαγκάρης Γιώργος Μ479

Χρήσεις της Μνήμης Δυο βασικές χρήσεις της μνήμης: 1. Μέσο επικοινωνία ανάμεσα σε εντολές (store  load) ADD R1, R4, R3 Store R1, 0(R6) … Load R2, 0(R6) ADD R4, R2, R3 Μνήμη  Υπάρχει εξάρτηση RAW ανάμεσα στις οδηγίες  Όμως φαίνεται μόνο έμμεσα.

Χρήσεις της Μνήμης 2. Μέσο διαμοιρασμού δεδομένων (1 store οδηγεί σε πολλαπλά loads)  Ακολουθία RAR συσχετίσεων

Προβλήματα Χρήση διευθύνσεων σπαταλάει κύκλους – Τα πολλαπλά Loads επίσης. Θα μπορούσε ο επεξεργαστής να ανιχνεύει τα ζεύγη σχετιζόμενων εντολών? Σκοπός μας να μειώσουμε το communication latency

Πρόβλεψη Εξαρτήσεων Μνήμης Εξάρτηση μνήμης – εμπόδιο σε μεγαλύτερη απόδοση Ένα load πρέπει να περιμένει το αντίστοιχο προηγούμενο store Θέλουμε τα ανεξάρτητα loads να εκτελεστούν μόλις τα ορίσματα τους είναι έτοιμα

Τρόποι Πρόβλεψης Εξαρτήσεων Ideal (Ιδανικό σύστημα) Αποφεύγονται τα λάθη Τα loads εκτελούνται το ταχύτερο δυνατόν Selective (Eπιλεκτικό) Περιμένουμε τις αμφιλεγόμενες εξαρτήσεις να επιλυθούν Κανένα λάθος – όμως πολλές καθυστερήσεις

Τρόποι Πρόβλεψης Εξαρτήσεων Store Barrier Εδώ ελέγχουμε αν τα stores πιθανώς παρουσιάζουν εξάρτηση Κάθε load που ακολουθεί πρέπει να περιμένει Naïve Memory Dependence Speculation Τα load αφήνονται να εκτελεστούν Ακυρώνουμε λάθος αποτελέσματα

Ορισμός Memory Cloaking (Κάλυψη Μνήμης): Η μεταφορά μιας τιμής από το store στο load πριν τον υπολογισμό της διεύθυνσης (address calculation)

Memory Cloaking (1) Δυναμικά πρέπει να μετασχηματίζεται ο έμμεσος σύνδεσμος σε άμεσο. ADD R1, R4, R3 Store R1, 0(R6) … Load R2, 0(R6) ADD R4, R2, R3 Speculative memory cloaking – πρέπει να επαληθευτεί.

Memory Cloaking (2) Χτίζουμε ένα ιστορικό εξαρτήσεων (dependence history): Πίνακας ανίχνευσης εξαρτήσεων. Record: (load PC, address) Loads: (load PC, address) Συνδέουμε «συνώνυμα» με τις ανιχνευόμενες εξαρτήσεις σε ένα Synonym File. association Store Load f:synonym

Memory Cloaking (3) Τα συνώνυμα μπορούν να χρησιμοποιηθούν από εδώ και στο εξής για την επικοινωνία. Τα συνώνυμα είναι μοναδικά έτσι η οδηγία βασίζεται μόνο στην ταυτότητα της για το εντοπισμό της τιμής Επαλήθευση Τιμής – διάφορες τεχνικές για αντιμετώπιση λαθών : Squash: Όπως και σε Branch Prediction, ακυρώνονται όλες οι εντολές μετά το λάθος, και επανεκτελούνται. Επιλεκτική Ακύρωση: Ακυρώνονται μόνο οι οδηγίες που χρησιμοποίησαν ανακριβή στοιχεία

Ορισμός Memory Bypassing (Παράκαμψη Μνήμης): Η διαδικασία store-load παραλείπεται απ’ την αλυσίδα DEF-store-load-USE. Οι τιμές ρέουν απ’ το σημείο της παρασκευής τους στο σημείο της «κατανάλωσης» τους.

Memory Bypassing Σχετικά απλή επέκταση στον μηχανισμό του Cloaking 1.DEF – δημιουργία ονόματος TAG1 2.Store – αντιστοίχηση TAG1 με store 3.Load – αναγνώριση μέσω συνωνύμου του TAG1 ως παραγωγό 4.USE - Εκτέλεση USE με «υποθετικό» TAG1

Επέκταση για Διαμοιρασμό Τιμών Ανιχνεύουμε τις RAR εξαρτήσεις Θεωρούμε κάποια loads παραγωγούς τιμών Ακόλουθα load εντοπίζουν την συσχέτιση μέσω του πίνακα συνώνυμων και τους υπάρχοντες μηχανισμούς cloaking/bypassing

Transient Value Cache (TVC) Κρυφή μνήμη μεταβατικών τιμών Χώρος αποθήκευσης για «βραχύβιες» τιμές Χρησιμοποιείται σαν φίλτρο για την κρυφή μνήμη των δεδομένων. Μειώνουμε το bandwidth της data cache.

Transient Value Cache (TVC) Στόχος : Πολλαπλές αιτήσεις μνήμης ανά κύκλο, μειώνοντας τις απαιτήσεις σε ports που επιβάλλονται στη L1 data cache. Υπάρχοντες μέθοδοι multi-porting (π.χ., replication) χωρισμός (π.χ., banking) της L1 data cache.

L0 Data Cache Μία λύση είναι να εισαχθεί ένα πρόσθετο επίπεδο εναποθήκευσης (L0 Data Cache) μεταξύ της L1 data cache και του επεξεργαστή

Λειτουργία TVC

Απόδοση TVC Ακρίβεια πρόβλεψης στις RAR και RAW εξαρτήσεις Ακρίβεια πρόβλεψης στις WAW εξαρτήσεις

TVC & RAR/RAW (1) a)σωστά προβλεπόμενα loads b)ποσοστό loads που προβλέπονται σωστά και βρίσκονται στο TVC

TVC & RAR/RAW (2) c) ποσοστό λανθασμένα προβλεπόμενων loads d) ποσοστό των loads που βρίσκονται στο TVC σε σχέση με αυτά που θα χτυπάγανε σε μία data cache ίδιου μεγέθους

TVC & WAW (1) a)σωστά προβλεπόμενα stores b)ποσοστό stores που προβλέπονται σωστά και βρίσκονται στο TVC

TVC & WAW (2) c)ποσοστό λανθασμένα προβλεπόμενων stores d)ποσοστό των stores που βρίσκονται στο TVC σε σχέση με αυτά που θα χτυπάγανε σε μία data cache ίδιου μεγέθους

Συμπεράσματα για TVC H ακρίβεια πρόβλεψης της TVC είναι υψηλή, ειδικά για την πρόβλεψη κατάστασης των RAW και RAR εξαρτήσεων για loads. Στις εξαρτήσεις WAW η ακρίβεια είναι λίγο μικρότερη αλλά εξακολουθεί να είναι υψηλή.

Απόδοση Cloaking/Bypassing(1) επιτάχυνση ή επιβράδυνση σε σχέση με τον επεξεργαστή που δεν χρησιμοποιεί μηχανισμό cloaking και bypassing. a) εμφανίζει τις επιταχύνσεις με τη χρήση oracle και επιλεκτικών (selective) μηχανισμών ακύρωσης (invalidation mechanisms). b) εμφανίζει την διακύμανση απόδοσης με τη χρήση squash μηχανισμού ακύρωσης.

Απόδοση Cloaking/Bypassing(2)

Απόδοση Cloaking/Bypassing(3) ποσοστά λανθασμένης πρόβλεψης που παρατηρούνται για τον επιλεκτικό και squash μηχανισμό ακύρωσης

Cloaking / Bypassing Vs Value Prediction

Συνδυασμός Cloaking / Bypassing και Value Prediction cloaking/bypassing για RAW εξαρτήσεις και πρόβλεψη τιμής για τα υπόλοιπα loads (CLOAK/VP) RAW και RAR πρόβλεψη για το cloaking/bypassing (VP/CLOAK)

Συνδυασμός Cloaking / Bypassing και Value Prediction

Συμπεράσματα για απόδοση Υπάρχει δυνατότητα εξαιρετικά μεγάλης ακρίβειας στην πρόβλεψη των εξαρτήσεων μνήμης Το Cloaking με επιλεκτικές δυνατότητες αυξάνει τις αποδόσεις της μνήμης – τυφλό cloaking μπορεί και να τις μειώσει λόγω λανθασμένων επιλογών. Πολλά στοιχεία επιρεάζουν την πρόβλεψη μας – π.χ. το address locality, το «base- register και Address-Space distribution».

Related Work (1) Register Allocation Alternatives  C Machine Stack Cache των Ditzel και McLellan  Cregs των Dietz και Chi Address Prediction Based Techniques  Low Load Latency through Sum-Addressed Memory (SAM) των Lynch, Lauterbach, και Chamdani  Knapsack των Austin, Vijaykumar και Sohi

Related Work (2) Value Prediction Τεχνικές Παρεμφερείς Με Το Cloaking Ή Το Bypassing  memory renaming των Tyson και Austin  alias prediction του Lipasti  instruction reuse