Σχεδίαση, επαλήθευση και υλοποίηση επεξεργαστή RISC-V σε FPGA
Loading...
Date
2025-03-05
Authors
Σαρταμπάκος, Ιωάννης
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Οι ηλεκτρονικοί υπολογιστές αποτελούν την σημαντικότερη εφεύρεση των τελευταίων δεκαετιών, έχοντας αλλάξει ριζικά προς το καλύτερο σχεδόν όλους τους τομείς της ζωής. Οι «Κεντρικές Μονάδες Επεξεργασίας», ή αλλιώς «επεξεργαστές», αποτελούν τον εγκέφαλο των ηλεκτρονικών υπολογιστών, καθώς ευθύνονται για την επεξεργασία δεδομένων, τον έλεγχο και συντονισμό όλων των περιφερειακών συστημάτων. Στην παρούσα διπλωματική παρουσιάζονται τρείς σχεδιασμοί επεξεργαστών RISC-V που υποστηρίζουν τα υποσύνολα εντολών RV32I και RV32IM και υλοποιούνται στις γλώσσες περιγραφής υλικού Verilog και System Verilog. Γίνεται ανάλυση της αρχιτεκτονικής και μικροαρχιτεκτονικής τους, καθώς και όλων των σταδίων και λειτουργιών τους. Ο πρώτος σχεδιασμός αποτελεί τον κλασικό επεξεργαστή 5 σταδίων σε σειρά, ενώ ο δεύτερος σχεδιασμός αποτελεί μια βελτιωμένη έκδοση του πρώτου, συγχωνεύοντας 2 στάδια σε ένα, αυξάνοντας έτσι τις εντολές ανά κύκλο ρολογιού, αυξάνοντας όμως το κρίσιμο μονοπάτι με αποτέλεσμα την μείωση της μέγιστης συχνότητας. Η αρχιτεκτονική βελτιστοποίηση του δεύτερου σχεδιασμού, παρόλο που αυξάνει τον ρυθμό περάτωσης εντολών, αυξάνει και το μέγεθος του σχεδιασμού, καθώς για να επιτευχθεί η συγχώνευση των σταδίων χρειάστηκε επιπλέον υλικό. Ο τρίτος και τελευταίος σχεδιασμός υλοποιεί τον αλγόριθμο του Tomasulo, εκτελώντας τις εντολές εκτός σειράς σε 3 στάδια, χωρίς όμως την δυνατότητα εκτέλεσης πολλαπλών εντολών ανά κύκλο, απαλείφοντας έτσι την ανάγκη για έναν αναδιοργανωτή εντολών (Reorder Buffer). Αφού υλοποιήθηκαν οι σχεδιασμοί στις γλώσσες περιγραφής υλικού, με την χρήση των προγραμμάτων «Vivado» και «Vitis» της Xilinx, έγινε επαλήθευση ορθής λειτουργίας με την χρήση τεχνολογιών FPGA, μεταφέροντας τους υλοποιημένους σχεδιασμούς στο υλικό. Η πλακέτα ανάπτυξης που χρησιμοποιήθηκε είναι η PYNQ Z1 από την εταιρία Digilent, που χρησιμοποιεί ένα FPGA τύπου Xilinx Zynq-7000 μαζί με διάφορες άλλες λειτουργίες. Ύστερα, γίνεται σύγκριση των υλοποιημένων σχεδιασμών με αντίστοιχούς σχεδιασμούς από την διεθνή βιβλιογραφία, συμπεραίνοντας έτσι ότι οι προτεινόμενοι σχεδιασμοί προσφέρουν απόδοση και αξιοποίηση πόρων κοντά στον μέσο όρο για τις λειτουργίες που προσφέρουν. Τέλος, προτείνονται μελλοντικές προεκτάσεις και βελτιστοποιήσεις που μπορούν να αυξήσουν την απόδοση των προτεινόμενων σχεδιασμών και να επιτρέψουν την εκτέλεση προηγμένων προγραμμάτων, όπως ένα σύγχρονο λειτουργικό.
Description
Keywords
Μικροαρχιτεκτονική