Μια ενδεικτική υλοποίηση RISC-V επεξεργαστή και ενός υποστηρικτικού assembler

Η παρούσα διπλωματική εργασία υλοποιεί ένα λειτουργικό θεωρητικό μοντέλο ενός διασωληνωμένου επεξεργαστή βασισμένου στην αρχιτεκτονική RISC-V, υλοποιημένο σε Icarus Verilog, με έμφαση στην απλότητα της τελικής σχεδίασης. Το μοντέλο συνοδεύεται από έναν συμβατό, επεκτάσιμο Assembler για την διευκόλυ...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Λασκαρέλιας, Βάιος
Άλλοι συγγραφείς: Laskarelias, Vaios
Γλώσσα: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