Σχεδιασμός και προγραμματισμός σε VHDL μιας νέας CPU για εκπαιδευτικούς σκοπούς

Design and programming in VHDL of a new CPU for educational purposes (english)

  1. Bachelor’s thesis
  2. ΠΑΝΑΓΙΩΤΗΣ ΣΤΟΚΑΣ
  3. Πληροφορική (ΠΛΗ)
  4. 12 July 2025
  5. Ελληνικά
  6. 234
  7. Φωτόπουλος Βασίλειος
  8. Τοπάλης Ευάγγελος | Γιαννακόπουλος Κωνσταντίνος
  9. Αρχιτεκτονική υπολογιστών, Απλή CPU, VHDL, Συμβολογλώσσα, FPGA, Μικρόκοσμος μάθησης
  10. ΠΛΗ40
  11. 10
  12. 19
  13. 65
  14. Συμπεριλαμβάνει πίνακες, διαγράμματα, φωτογραφίες, και τμήματα κώδικα
  15. Αλεξίου, Γ. (2001). Μικροεπεξεργαστές. Αλεξίου, Γ., Βέργος, Χ., Ευσταθίου, Κ., Θεοδωρίδης, Γ., Καβουσιανός, Χ., Κουφοπαύλου, Ο., Λαμπρινουδάκης, Κ., Λιοτόπουλος, Φ., Μόσχοβος Α., Μπακάλης, Δ., Μπεκάκος, Μ., Νικολαΐδης, Σ., Νικολός, Δ., Παλιουράς, Β., Παπαευσταθίου, Ι., Παπακώστας, Δ., Στουραΐτης Α., Σκόδρας, Α., Φωτόπουλος, Β., Χατζόπουλος, Α. Αρχιτεκτονική Υπολογιστών & Μικροπεξεργαστές: Ασκήσεις γραπτών εργασιών & Θεμάτων εξετάσεων. Βασσάλος, Ε., Γιαννακόπουλος, Κ., Κακαρούντας, Α., Κεραμίδας, Γ., Κίτσος, Π., Μάχντι, Α., Τοπάλης, Ε., & Φωτόπουλος, Β. (2023). Ψηφιακά Συστήματα ΙΙ: Εργαστηριακές Ασκήσεις. Βογιατζής, Ι., Μανής, Γ., & Γιαγλής, Γ. (2015). Εισαγωγή στη γλώσσα Assembly του επεξεργαστή MIPS. Θραμπουλίδης, Κ. (2000). Εισαγωγή στην Πληροφορική - Τόμος Γ′: Γλώσσες Προγραμματισμού. Καμέας, Α. Δ. (2008). Εισαγωγή στην Πληροφορική - Τόμος Β′: Τεχνικές Προγραμματισμού (Β′ Έκδ.). Κόμης, Β. (2001). Πληροφορική και Εκπαίδευση - Τόμος Α′: Διδακτική της Πληροφορικής. Λιναρδής, Π. (2008). Ψηφιακά Συστήματα Τόμος Α’ - Ψηφιακή Σχεδίαση Ι. Νικολός, Δ. (2008). Αρχιτεκτονική Υπολογιστών Ι (Β' έκδοση). Φαναριώτης, Α. (2019). Σχεδιασμός και Υλοποίηση Εκπαιδευτικής Πλατφόρμας για Μικροελεγκτές και FPGAs. Φωτάκης, Δ., & Σπυράκης, Π. (2001). Θεμελιώσεις Επιστήμης Η/Υ - Τόμος Α′ - Αλγόριθμοι και Πολυπλοκότητα. Χατζηλυγερούδης, Ι. (2008). Εισαγωγή στην Πληροφορική - Τόμος Γ′: Δομές Δεδομένων. (Β′ έκδ.).
    • Στην πτυχιακή αυτή εργασία παρουσιάζεται ο σχεδιασμός, η υλοποίηση και η αξιολόγηση του Ε80, ενός νέου επεξεργαστή 8-bit. Βασιζόμενος στις αρχές του Πάπερτ για τους μικρόκοσμους μάθησης, ο Ε80 σχεδιάστηκε εξ αρχής με γνώμονα την απλότητα και την παιδαγωγική αξία, στοχεύοντας να αποτελέσει ένα προσβάσιμο εκπαιδευτικό εργαλείο. Ο καθορισμός των αρχιτεκτονικών απαιτήσεων προέκυψε από τη συγκριτική αξιολόγηση των συνόλων εντολών απο εισαγωγικά πανεπιστημιακά μαθήματα Assembly, καθώς και απο άλλες εκπαιδευτικές CPU. Το σύνολο εντολών που προέκυψε, αν και λιτό, είναι λειτουργικά πλήρες, υποστηρίζοντας όλες τις απαραίτητες λειτουργίες για τη συγγραφή μη-τετριμμένων αλγορίθμων, συμπεριλαμβανομένης της διαχείρισης στοίβας και των υπορουτινών. Ο κώδικας VHDL σχεδιάστηκε χωρίς έτοιμες αριθμητικές βιβλιοθήκες, ώστε τα εσωτερικά υποσυστήματα του ελέγχου και της διόδου δεδομένων να είναι κατανοητά μέσω στοιχειώδους θεωρίας ψηφιακής σχεδίασης. Το έργο επεκτάθηκε στη δημιουργία ενός αυτόνομου οικοσυστήματος λογισμικού, το οποίο συμπεριλαμβάνει έναν συμβολομεταφραστή γραμμένο σε C και έτοιμα σενάρια για προσομοίωση και υλοποίηση σε υλικό. Η ανάπτυξη του οικοσυστήματος αξιοποίησε αρχές από τον Σχεδιασμό Λογισμικού: η συμβολική γλώσσα του Ε80 περιγράφηκε με ασυμφραστική γραμματική, η λεκτική και συντακτική ανάλυση καθοδηγήθηκε από τη θεωρία μεταγλωττιστών, ενώ για τη διαχείριση των εκδόσεων του κώδικα και των ρυθμίσεων ολόκληρου του έργου χρησιμοποιήθηκε το σύστημα Git. Η λειτουργικότητα και η στιβαρότητα του συστήματος επαληθεύτηκαν μέσω προσομοίωσης σε πολλαπλά περιβάλλοντα (ModelSim, GHDL) και επικυρώθηκαν με την επιτυχή υλοποίηση σε δύο διαφορετικές πλακέτες FPGA (DSD-i1, Tang Primer 25K), αποδεικνύοντας την μεταφερσιμότητα του σχεδιασμού. Ως μελέτη περίπτωσης, αναπτύχθηκε ένας μη-τετριμμένος αλγόριθμος διαίρεσης, καταδεικνύοντας πώς το οικοσύστημα του Ε80 μπορεί να λειτουργήσει ως ένα γόνιμο περιβάλλον για την ανακάλυψη ισχυρών ιδεών, όπως η αλγοριθμική βελτιστοποίηση και ο δομημένος προγραμματισμός. Τελικά, η εργασία αυτή επαληθεύει την θέση ότι το πρόγραμμα σπουδών Πληροφορικής του Ελληνικού Ανοικτού Πανεπιστημίου μπορεί να καθοδηγήσει την ανάπτυξη ενός υπολογιστή από το μηδέν.
    • This undergraduate thesis presents the design, implementation, and evaluation of the E80, a new 8-bit processor. Drawing upon Seymour Papert’s principles of learning microworlds, the E80 was designed from the ground up with simplicity and pedagogical value as core tenets, aiming to serve as an accessible educational tool. The architectural requirements were determined through a comparative analysis of the instruction sets from introductory university Assembly courses, as well as from other educational CPUs. The resulting instruction set, though concise, is functionally complete, supporting all necessary operations for writing non-trivial algorithms, including stack management and subroutines. The VHDL code was designed without high-level numeric libraries to ensure that the internal subsystems of the control unit and the datapath are understandable through elementary digital design theory. The project was extended to the creation of a self-contained software ecosystem, which includes an assembler written in C and ready-to-use scripts for simulation and hardware implementation. The ecosystem’s development utilized principles from Software Design: the assembly language of E80 was described with a context-free grammar, the lexical and syntactic analysis was guided by compiler theory, while the Git version control system was used to manage the entire project’s code and settings. The system’s functionality and robustness were verified via simulation across multiple environments (ModelSim, GHDL) and validated by successful implementation on two different FPGA platforms (DSD-i1, Tang Primer 25K), demonstrating the design’s portability. As a case study, a non-trivial division algorithm was developed, demonstrating how the E80 ecosystem can serve as a fertile ground for discovering powerful ideas, such as algorithmic optimization and structured programming. Ultimately, this work verifies the thesis that the curriculum of the Hellenic Open University’s Computer Science program can guide the development of a computer from scratch.
  16. Hellenic Open University
  17. Αναφορά Δημιουργού - Παρόμοια Διανομή 4.0 Διεθνές