Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18391
Title: Τεχνικές βελτιστοποίησης μετάφρασης διευθύνσεων στον RISC-V Rocket Chip Generator
Authors: Τερζής, Κωνσταντίνος
Πνευματικάτος Διονύσιος
Keywords: RISC-V
FPGA
Virtual memory
Εικονική μνήμη
Translation Lookaside Buffer (TLB)
Μονάδα διαχείρισης μνήμης
Memory management unit (MMU)
Hardware design
Issue Date: 15-Jul-2022
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.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/18391
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
thesisRocketTLB_final.pdf5.45 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.