dc.contributor.author | Παπαδόπουλος, Νικόλαος Χαράλαμπος![]() |
el |
dc.contributor.author | Papadopoulos, Nikolaos Charalampos![]() |
en |
dc.date.accessioned | 2020-05-26T13:12:40Z | |
dc.date.available | 2020-05-26T13:12:40Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/50653 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.18351 | |
dc.rights | Αναφορά Δημιουργού-Μη Εμπορική Χρήση 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc/3.0/gr/ | * |
dc.subject | RISC-V | en |
dc.subject | Rocket Chip Generator | en |
dc.subject | TLB | en |
dc.subject | Memory Management Unit | en |
dc.subject | FPGA | en |
dc.subject | Μονάδα διαχείρισης μνήμης | el |
dc.subject | Αρχιτεκτονική Συνόλου Εντολών | el |
dc.subject | Κρυφή μνήμη αναζήτησης μετάφρασης | el |
dc.subject | Σχεδίαση Υλικού | el |
dc.subject | Chisel | en |
dc.subject | Verilator | en |
dc.title | Implementing a TLB Generator with Chisel for RISC-V architecture | en |
heal.type | bachelorThesis | |
heal.classification | Αρχιτεκτονική υπολογιστών | el |
heal.language | el | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2019-11-11 | |
heal.abstract | Ο RISC-V είναι μία ανοιχτή Αρχιτεκτονική Συνόλου Εντολών που αναπτύχθηκε από το Πανεπιστήμιο της Καλιφόρνια, Μπέρκλεϋ. Αρχικά ο RISC-V σχεδιάστηκε για ερευνητικούς και εκπαιδευτικούς σκοπούς, αλλά η ανοιχτή φύση του οδηγεί μέρα με την μέρα στην ευρεία αποδοχή του και από την βιομηχανία. Ο RISC-V έχει υλοποιηθεί σε μικροαρχιτεκτονική από οργανισμούς ανά τον κόσμο, με τον Rocket Chip Generator να είναι μία από τις βασικότερες υλοποιήσεις. Ο Rocket Chip Generator είναι μία βιβλιοθήκη παραμετροποιήσιμων μερών επεξεργαστών τα οποία συνδυάζονται για να παράξουν μία ευρεία γκάμα υπολογιστικών συστημάτων, από μικρούς ενσωματωμένους επεξεργαστές μέχρι πολύπλοκα πολυπύρηνα συστήματα. Είναι υλοποιημένος στην Chisel, μία γλώσσα ανάπτυξης υλικού που επιτρέπει την δημιουργία πολύπλοκων αλλά ευέλικτων σχεδίων κυκλωμάτων για ASIC καθώς και για FPGA. Στην παρούσα εργασία ερευνούμε την ροή ανάπτυξης υλικού στον Rocket Chip Generator με εργαλεία προσομοίωσης υλικού και συγκεκριμένα τον Verilator καθώς και FPGA για γρήγορο έλεγχο. Επικεντρωνόμαστε στην μονάδα διαχείρισης μνήμης του Rocket Chip Generator, και ειδικότερα στον Translation Lookaside Buffer (TLB). Το TLB είναι μία μικρή κρυφή μνήμη που κρατάει τις μεταφράσεις από εικονικές σε φυσικές διευθύνσεις μνήμης για τις οποίες υπεύθυνη είναι η μονάδα διαχείρισης μνήμης. Το TLB του Rocket Chip Generator είναι πλήρως-συσχετιστικό και παραμετροποιήσιμο ως προς τον αριθμό των θέσεων. Το πρόβλημα που προκύπτει από τα πλήρως-συσχετιστικά TLB εντοπίζεται στην μεγάλη αύξηση του μεγέθους του κυκλώματος αναζήτησης μετάφρασης εντός της κρυφής μνήμης όσο αυξάνονται οι θέσεις. Επειδή το TLB είναι στο Critical Path του επεξεργαστή μπορεί να μειώσει δραστικά την επίδοση του, με την περίπτωση του Rocket Chip Generator να εμφανίζει μείωση 50% στον χρονισμό με αύξηση μεγέθους από 32 σε 512 θέσεις. Παραμετροποιούμε το TLB του Rocket Chip Generator μετατρέποντας το σε συχετιστικό-ανά-σετ με ευέλικτους τους αριθμούς set και ways. Η γεννήτρια TLB που σχεδιάσαμε μπορεί να παράξει από άμεσης-απεικόνισης έως πλήρως-συσχετιστικό TLB αναλόγως την εφαρμογή και τις επιδόσεις που μας ενδιαφέρουν. Τέλος, εξετάζουμε την σχεδίαση του παραμετροποιήσιμου TLB που υλοποιήσαμε έναντι του αρχικού σε σχέση με την κατανάλωση πόρων του FPGA, το critical path καθώς και την απόδοση τους χρησιμοποιώντας μετροπρογράμματα της σουίτας SPEC2006. | el |
heal.abstract | RISC-V is an open Instruction Set Architecture (ISA) developed by UC Berkeley. Initially designed for research and education, the open nature of RISC-V promotes collaboration both in industry and academia. RISC-V has been implemented and fabricated by many institutions around the world, one of those implementation being the open-source Rocket Chip Generator. Rocket Chip Generator is a library of parametrized processor parts put together to form a powerful tool that can produce a wide variety of processor designs ranging from tiny embedded processors to complex multi-core systems. It is written in Chisel, a hardware design language that features advanced circuit design and generation for both ASIC and FPGA targets. In this thesis we will explore the hardware design flow using Rocket Chip Generator with hardware emulation tools and FPGA for fast testing. We will demonstrate the powerful features of Chisel by analyzing, implementing and testing a Translation Lookaside Buffer (TLB) generator. The TLB acts as a fast cache for virtual to physical address translations handled by the Memory Management Unit (MMU) of a processor. Rocket Chip Generator uses a fully-associative TLB with customizable number of entries. When the TLB entries are many, the tag matching circuit becomes complex and large because of the fully-associative mechanism . The TLB lies on the critical path of the processor and can quickly degrade perfrormance: There is 50% reduction in clock rate from 32 to 512 entries on the Rocket Chip Generator. We modify the TLB and implement a TLB generator with variable sets and ways. Our TLB Generator can produce from direct-mapped to fully-associative designs depending on our needs on performance and area. We assess our design against the original TLB in terms of FPGA resources, critical path and performance based on benchmarks of the SPEC2006 suite. | en |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Πνευματικάτος, Διονύσιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 67 σ. | |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: