Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17459
Title: Implementing a TLB Generator with Chisel for RISC-V Architecture
Authors: Παπαδόπουλος, Νικόλαος Χαράλαμπος
Κοζύρης Νεκτάριος
Keywords: RISC-V
Rocket Chip Generator
TLB
Chisel
Memory Management Unit
FPGA
Verilator
Hardware Design
Issue Date: 11-Nov-2019
Abstract: Ο RISC-V είναι μία ανοιχτή Αρχιτεκτονική Συνόλου Εντολών που αναπτύχθηκε από το Πανεπιστήμιο της Καλιφόρνια, Μπέρκλεϋ. Αρχικά ο RISC-V σχεδιάστηκε για ερευνητικούς και εκπαιδευτικούς σκοπούς, αλλά η ανοιχτή φύση του οδηγεί μέρα με την μέρα στην ευρεία αποδοχή του και από την βιομηχανία. O RISC-V έχει υλοποιηθεί σε μικροαρχιτεκτονική από οργανισμούς ανά τον κόσμο, με τον Rocket Chip Generator να είναι μία από τις βασικότερες υλοποιήσεις. Ο Rocket Chip Generator είναι μία βιβλιοθήκη παραμετροποιήσιμων μερών επεξεργαστών τα οποία συνδυάζονται για να παράξουν μία ευρεία γκάμα υπολογιστικών συστημάτων, από μικρούς ενσωματωμένους επεξεργαστές μέχρι πολύπλοκα πολυπύρηνα συστήματα. Είναι υλοποιημένος στην Chisel, μία γλώσσα ανάπτυξης υλικού που επιτρέπει την δημιουργία πολύπλοκων αλλά ευέλικτων σχεδίων κυκλωμάτων για ASIC καθώς και για FPGA. Στην παρούσα εργασία ερευνούμε την ροή ανάπτυξης υλικού στον Rocket Chip Generator με εργαλεία προσομοίωσης υλικού κα συγκεκριμένα τον Verilator καθώς και FPGA για γρήγορο έλεγχο. Επικεντρωνόμαστε στην μονάδα διαχείρισης μνήμης του Rocket Chip Generator, και ειδικότερα στον Translation Lookaside Buffer (TLB). Tο TLB είναι μία μικρή κρυφή μνήμη που κρατάει τις μεταφράσεις από εικονικές σε φυσικές διευθύνσεις μνήμης για τις οποίες υπεύθυνη είναι η μονάδα διαχείρισης μνήμης. Το TLB του Rocket Chip Generator είναι πλήρως-συσχετιστικό και παραμετροποιήσιμο ως προς τον αριθμό των θέσεων. Το πρόβλημα που προκύπτει από τα πλήρως-συσχετιστικά TLB εντοπίζεται στην μεγάλη αύξηση του μεγέθους του κυκλώματος αναζήτησης μετάφρασης εντός της κρυφής μνήμης όσο αυξάνονται οι θέσεις. Επειδή το TLB είναι στο Critical Path του επεξεργαστή μπορεί να μειώσει δραστικά την επίδοση του, με την περίπτωση του Rocket Chip Generator να εμφανίζει μείωση 50% στον χρονισμό του Xilinx ZCU102 για αύξηση μεγέθους από 32 σε 512 θέσεις. Παραμετροποιούμε το TLB του Rocket Chip Generator μετατρέποντας το σε συχετιστικό-ανά-σετ με ευέλικτους τους αριθμούς set και ways. Η γεννήτρια TLB που σχεδιάσαμε μπορεί να παράξει από άμεσης-απεικόνισης έως πλήρως-συσχετιστικό TLB αναλόγως την εφαρμογή και τις επιδόσεις που μας ενδιαφέρουν. Τέλος, εξετάζουμε την σχεδίαση του παραμετροποιήσιμου TLB που υλοποιήσαμε έναντι του αρχικού σε σχέση με την κατανάλωση πόρων του FPGA, το Critical Path καθώς και την απόδοση τους χρησιμοποιώντας μετροπρογράμματα της σουίτας SPEC2006.
URI: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17459
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
NCPPD_Diploma_Thesis.pdf2.2 MBAdobe PDFView/Open


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