Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler
Η παρούσα διπλωματική εργασία υλοποιεί ένα λειτουργικό θεωρητικό μοντέλο ενός διασωληνωμένου επεξεργαστή βασισμένου στην αρχιτεκτονική RISC-V, υλοποιημένο σε Icarus Verilog, με έμφαση στην απλότητα της τελικής σχεδίασης. Το μοντέλο συνοδεύεται από έναν συμβατό, επεκτάσιμο Assembler για την διευκόλυ...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | Greek |
Έκδοση: |
2021
|
Θέματα: | |
Διαθέσιμο Online: | http://hdl.handle.net/10889/15506 |
id |
nemertes-10889-15506 |
---|---|
record_format |
dspace |
spelling |
nemertes-10889-155062022-09-05T20:43:12Z Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler An Indicative RISC-V CPU Implementation and an accompanying assembler Λασκαρέλιας, Βάιος Laskarelias, Vaios Αρχιτεκτονική επεξεργαστή RISC-V Assembler CPU architecture Η παρούσα διπλωματική εργασία υλοποιεί ένα λειτουργικό θεωρητικό μοντέλο ενός διασωληνωμένου επεξεργαστή βασισμένου στην αρχιτεκτονική RISC-V, υλοποιημένο σε Icarus Verilog, με έμφαση στην απλότητα της τελικής σχεδίασης. Το μοντέλο συνοδεύεται από έναν συμβατό, επεκτάσιμο Assembler για την διευκόλυνση του προγραμματισμού του επεξεργαστή, γραμμένο σε C, με την βοήθεια των εργαλείων Flex και Bison. Ο Assembler είναι συμβατός με οποιονδήποτε επεξεργαστή βασισμένο στην αρχιτεκτονική RV32I. Για την επιβεβαίωση της σωστής και κατά των προδιαγραφών λειτουργίας του μοντέλου, εκτελέστηκε μεγάλος αριθμός πιθανών ακραίων περιπτώσεων μεμονωμένων εντολών και ακολουθιών εντολών. Τα παραγόμενα αποτελέσματα των εντολών συγκρίθηκαν με αυτά που περιγράφονται στις προδιαγραφές κατά την διάρκεια, και μετά το τέλος της εκτέλεσής τους. Για τον έλεγχο του Assembler, παρήχθησαν περίπλοκα διανύσματα εντολών και κωδικοποιήσεων άμεσων δεδομένων, τα οποία ελέγθηκαν χειροκίνητα και διασταυρώθηκαν με άλλους συμβατούς RISC-V Assembler. Τελικά, ο Assembler παράγει τα ορθά διανύσματα κωδικοποιήσεων των εντολών και το μοντέλο του επεξεργαστή εκτελεί τα προγράμματα με τα αναμενόμενα αποτελέσματα, κάνοντας το σύνολο των υλοποιήσεων συμβατό με την αρχιτεκτονική RISC-V. This thesis implements a working theoretical model of a RISC-V compatible CPU, implemented in Icarus Verilog, designed with simplicity in mind. This CPU model is accompanied by a compatible, extensible RISC-V Assembler, written in C with the help of Flex and Bison tools, in order to make the model's CPU programming easier. The Assembler is compatible with every RV32I CPU implementation. For verification of the correctness and specification compliance of the CPU model a large number of instructions and streams of instructions was executed, covering possible edge cases. Results of the intructions execution were observed during, and after their execution and was made sure they followed the specification's descriptions. The assembler was checked by manually checking generated complex instruction and immediate data encodings and also comparing against other RISC-V compatible assembler implementations. 2021-11-03T06:33:28Z 2021-11-03T06:33:28Z 2021-10-29 http://hdl.handle.net/10889/15506 gr application/pdf winzip/winrar |
institution |
UPatras |
collection |
Nemertes |
language |
Greek |
topic |
Αρχιτεκτονική επεξεργαστή RISC-V Assembler CPU architecture |
spellingShingle |
Αρχιτεκτονική επεξεργαστή RISC-V Assembler CPU architecture Λασκαρέλιας, Βάιος Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
description |
Η παρούσα διπλωματική εργασία υλοποιεί ένα λειτουργικό θεωρητικό μοντέλο ενός διασωληνωμένου επεξεργαστή βασισμένου στην αρχιτεκτονική RISC-V, υλοποιημένο σε Icarus Verilog, με έμφαση στην απλότητα της τελικής σχεδίασης.
Το μοντέλο συνοδεύεται από έναν συμβατό, επεκτάσιμο Assembler για την διευκόλυνση του προγραμματισμού του επεξεργαστή, γραμμένο σε C, με την βοήθεια των εργαλείων Flex και Bison.
Ο Assembler είναι συμβατός με οποιονδήποτε επεξεργαστή βασισμένο στην αρχιτεκτονική RV32I.
Για την επιβεβαίωση της σωστής και κατά των προδιαγραφών λειτουργίας του μοντέλου, εκτελέστηκε μεγάλος αριθμός πιθανών ακραίων περιπτώσεων μεμονωμένων εντολών και ακολουθιών εντολών.
Τα παραγόμενα αποτελέσματα των εντολών συγκρίθηκαν με αυτά που περιγράφονται στις προδιαγραφές κατά την διάρκεια, και μετά το τέλος της εκτέλεσής τους.
Για τον έλεγχο του Assembler, παρήχθησαν περίπλοκα διανύσματα εντολών και κωδικοποιήσεων άμεσων δεδομένων, τα οποία ελέγθηκαν χειροκίνητα και διασταυρώθηκαν με άλλους συμβατούς RISC-V Assembler.
Τελικά, ο Assembler παράγει τα ορθά διανύσματα κωδικοποιήσεων των εντολών και το μοντέλο του επεξεργαστή εκτελεί τα προγράμματα με τα αναμενόμενα αποτελέσματα, κάνοντας το σύνολο των υλοποιήσεων συμβατό με την αρχιτεκτονική RISC-V. |
author2 |
Laskarelias, Vaios |
author_facet |
Laskarelias, Vaios Λασκαρέλιας, Βάιος |
author |
Λασκαρέλιας, Βάιος |
author_sort |
Λασκαρέλιας, Βάιος |
title |
Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
title_short |
Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
title_full |
Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
title_fullStr |
Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
title_full_unstemmed |
Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler |
title_sort |
μια ενδεικτική υλοποίηση risc-v επεξεργαστή και ενός υποστηρικτικού assembler |
publishDate |
2021 |
url |
http://hdl.handle.net/10889/15506 |
work_keys_str_mv |
AT laskareliasbaios miaendeiktikēylopoiēsēriscvepexergastēkaienosypostēriktikouassembler AT laskareliasbaios anindicativeriscvcpuimplementationandanaccompanyingassembler |
_version_ |
1771297270838329344 |