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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

18 Λειτουργία TVC

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

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

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

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

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

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

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

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

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

28 Cloaking / Bypassing Vs Value Prediction

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

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

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

32 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

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


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

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


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