HEAL DSpace

Address translation optimization techniques on RISC-V Rocket Chip Generator

DSpace/Manakin Repository

Show simple item record

dc.contributor.author Terzis, Konstantinos en
dc.contributor.author Τερζής, Κωνσταντίνος el
dc.date.accessioned 2022-11-21T10:15:25Z
dc.date.available 2022-11-21T10:15:25Z
dc.identifier.uri https://dspace.lib.ntua.gr/xmlui/handle/123456789/56196
dc.identifier.uri http://dx.doi.org/10.26240/heal.ntua.23894
dc.rights Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα *
dc.rights.uri http://creativecommons.org/licenses/by-nc/3.0/gr/ *
dc.subject Σχεδίαση Υλικού el
dc.subject Εικονική Μνήμη el
dc.subject Κρυφή Μνήμη Αναζήτησης Διευθύνσεων el
dc.subject Μονάδα Διαχείρισης Μνήμης el
dc.subject Χωρική τοπικότητα el
dc.subject FPGA en
dc.subject Memory Management Unit (MMU) en
dc.subject RISC-V en
dc.subject Virtual Memory en
dc.subject Translation Lookaside Buffer (TLB) en
dc.title Address translation optimization techniques on RISC-V Rocket Chip Generator el
dc.title Τεχνικές βελτιστοποίησης μετάφρασης διευθύνσεων στον RISC-V Rocket Chip Generator el
heal.type bachelorThesis
heal.classification Computer architecture en
heal.language el
heal.access free
heal.recordProvider ntua el
heal.publicationDate 2022-07-15
heal.abstract Η αρχιτεκτονική συνόλου εντολών (Instruction Set Architecture) RISC-V αναπτύχθηκε αρχικά στο Πανεπιστήμιο του Berkeley για ερευνητικούς και εκπαιδευτικούς σκοπούς, ενώ πλέον χρησιμοποιείται και εμπορικά. Μία από τις σημαντικότερες υλοποιήσεις του RISC-V ISA αποτελεί ο Rocket Chip Generator, που αποτελεί μια συλλογή από παραμετροποιήσιμα εργαλεία και κομμάτια ενός επεξεργαστή, τα οποία μπορούν να παράξουν από μικροεπεξεργαστές για μικρά, ενσωματωμένα συστήματα μέχρι πολυπύρηνους επεξεργαστές γενικού ή ειδικού σκοπού. Είναι υλοποιημένος στην γλώσσα Chisel, μία -απλή και ευέλικτη- υψηλού επιπέδου γλώσσα περιγραφής υλικού, που επιτρέπει την δημιουργία πολύπλοκων λογικών κυκλωμάτων τόσο για FPGA όσο και για ASIC. Στην παρούσα διπλωματική εργασία εξετάζουμε την επίδραση του συστήματος κρυφών μνημών και συγκεκριμένα του L1 Translation Lookaside Buffer (L1 TLB) στην επίδοση ενός μονοπύρηνου συστήματος Rocket. Το TLB αποτελεί μια μικρού μεγέθους κρυφή μνήμη που αποθηκεύει τις πιο πρόσφατα χρησιμοποιημένες μεταφράσεις εικονικών σελίδων σε φυσικές. Για κάθε αστοχία TLB (TLB Miss) πρέπει να γίνει διάσχιση του Πίνακα Σελίδων, με κόστος 40-100 επεξεργαστικούς κύκλους. Για την βελτίωση της επίδοσης του TLB έχουν γίνει πολλές προτάσεις τόσο ως προς τον τρόπο με τον οποίο θα αποθηκεύονται οι μεταφράσεις όσο και μέσω της τεχνικής προανάκλησης διευθύνσεων. Στην παρούσα εργασία θα ασχοληθούμε την οργάνωση του TLB, δηλαδή με το πώς αποθηκεύονται οι μεταφράσεις στο TLB και συγκεκριμένα με το Clustered TLB, έναντι του παρόντος Sectored TLB. Κάθε καταχώρηση του Sectored TLB χαρτογραφεί μια ομάδα εικονικών σελίδων ευθυγραμμισμένων ως προς το sector factor, σε φυσικές σελίδες,παρέχοντας ευελιξία σε σχέση με την τοπικότητα των εικονικών σελίδων με αντάλλαγμα το μεγάλο κόστος σε επίπεδο υλικού. Από την άλλη το Clustered TLB χαρτογραφεί μια ομάδα εικονικών σελίδων σε μια ομάδα φυσικών σελίδων, ευθυγραμμισμένων και οι δύο ως προς το cluster factor. Mε αυτόν τον τρόπο αποθηκεύονται αρκετά λιγότερες πληροφορίες, δίνοντας την δυνατότητα αύξησης του TLB Reach και παρά την μικρότερη ευελιξία εξαιτίας των περιορισμών ευθυγράμμισης που τίθενται, σε πολλές περιπτώσεις αποδίδει ακόμη καλύτερα, καθώς αξιοποιούνται μοτίβα χωρικής τοπικότητας που παράγονται από το Λειτουργικό Σύστημα. Η τελική πρόταση που εξετάστηκε είναι η ταυτόχρονη ύπαρξη ενός Clustered TLB με ένα απλό TLB, στο οποίο θα αποθηκεύονται οι μεταφράσεις που δεν μπορούν να αποθηκευθούν στο πρώτο λόγω περιορισμών ευθυγράμμισης που τίθενται. Η σχεδίαση αυτή βασίζεται σε ήδη υπάρχουσα πρόταση, αν και διαφέρει ελαφρώς, καθώς αντί η αναζήτηση για σύμπτυξη μεταφράσεων να γίνεται εντός ενός cache line, γίνεται μεταξύ της ζητούμενης μετάφρασης και εκείνων που είναι ήδη αποθηκευμένες στο Clustered TLB. Ο έλεγχος της απόδοσης της σχεδίασης μας στο Alveo U250 FPGA γίνεται μέσω της σουίτας μετροπρογραμμάτων SPEC2017, της χρήσης των hardware performance counters. el
heal.advisorName Πνευματικάτος, Διονύσιος el
heal.committeeMemberName Κοζύρης, Νεκτάριος el
heal.academicPublisher Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών el
heal.academicPublisherID ntua
heal.numberOfPages 76 σ. el
heal.fullTextAvailability false


Files in this item

The following license files are associated with this item:

This item appears in the following Collection(s)

Show simple item record

Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα Except where otherwise noted, this item's license is described as Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα