Please ensure Javascript is enabled for purposes of website accessibility

Παρουσίαση/Προβολή

Εικόνα επιλογής

Εργαστήριο Αρχιτεκτονικής Υπολογιστών (E 2025-26)

(CEID_23Y212) -  Γιώργος Παπαδημητρίου, Βάιος Παπαϊωάννου

Περιγραφή Μαθήματος

Το μάθημα αφορά φοιτητές/φοιτήτριες με έτος εισαγωγής από 2022-23 και μετά.

 

Το μάθημα περιλαμβάνει τις ακόλουθες θεματικές ενότητες:

  • Συγγραφή, εκτέλεση και αποσφαλμάτωση προγραμμάτων σε συμβολική γλώσσα RISC-V, παρακολούθηση καταχωρητών και μνήμης.
  • Πρακτική κατανόηση πράξεων, διαχείριση κρατουμένων και υλοποίηση αλγορίθμων με εντολές RISC-V.
  • Χρήση στοίβας για υπορουτίνες, κλήση/επιστροφή από συναρτήσεις, και εντολές ελέγχου ροής.
  • Εισαγωγή στη χρήση δεικτών και στη δυναμική δέσμευση χώρου στο σωρό (heap) σε επίπεδο συμβολικής γλώσσας.
  • Οπτικοποίηση μικροαρχιτεκτονικής με τον προσομοιωτή Ripes: Μελέτη των σταδίων εκτέλεσης της εντολής (fetch, decode, execute, memory, writeback) και σύγκριση επεξεργαστών με/χωρίς διοχέτευση (pipeline).
  • Ανάλυση εξαρτήσεων και βελτιστοποίηση εκτέλεσης: Παρατήρηση κινδύνων δεδομένων (data hazards) και πειραματισμός με αναδιάταξη εντολών.

Ημερομηνία δημιουργίας

Παρασκευή, 20 Ιουνίου 2025

  • Προτεινόμενα συγγράμματα

    • «Ψηφιακή Σχεδίαση και Αρχιτεκτονική Υπολογιστών, Έκδοση RISC-V», S. L. Harris, D. Harris, Εκδόσεις Κλειδάριθμος, 2025. (Κωδικός Βιβλίου στον Εύδοξο: 112705602)
    • «Οργάνωση και Σχεδίαση Υπολογιστών, Έκδοση RISC-V», D. A. Patterson, J. L. Hennessy, 2η Αμερικάνικη Έκδοση, Εκδόσεις Κλειδάριθμος, 2024. (Κωδικός Βιβλίου στον Εύδοξο: 112705606)

    Περιεχόμενο μαθήματος

    Το Εργαστήριο Αρχιτεκτονικής Υπολογιστών είναι ένα πρακτικά προσανατολισμένο μάθημα που συνοδεύει και ενισχύει τη θεωρητική διδασκαλία της αρχιτεκτονικής υπολογιστών. Μέσα από μια σειρά στοχευμένων εργαστηριακών ασκήσεων, οι φοιτητές/φοιτήτριες αποκτούν ουσιαστική εμπειρία στην ανάπτυξη, εκτέλεση και αποσφαλμάτωση προγραμμάτων σε συμβολική γλώσσα RISC-V, καθώς και στην κατανόηση της λειτουργίας σύγχρονων επεξεργαστών. Το μάθημα βασίζεται στη χρήση των εκπαιδευτικών προσομοιωτών RARS και Ripes, προσφέροντας στους φοιτητές τόσο προγραμματιστική εξάσκηση σε επίπεδο αρχιτεκτονικής συνόλου εντολών (Instruction Set Architecture – ISA), όσο και οπτικοποίηση της εσωτερικής λειτουργίας επεξεργαστών.

    Στις πρώτες ασκήσεις, οι φοιτητές/φοιτήτριες εξοικειώνονται με τον προσομοιωτή RARS, εστιάζοντας στη συμβολομετάφραση, στην παρακολούθηση των καταχωρητών και της μνήμης, καθώς και στον έλεγχο προγραμμάτων. Παράλληλα, ενισχύουν την κατανόησή τους στις βασικές αριθμητικές και λογικές πράξεις, στη διαχείριση κρατουμένων και στην υλοποίηση αλγορίθμων μέσω της συμβολικής γλώσσας RISC-V. Το μάθημα συνεχίζεται με πιο προχωρημένες έννοιες, όπως η κλήση διαδικασιών με χρήση της στοίβας, η διαχείριση της μνήμης μέσω δεικτών και σωρού, καθώς και η υλοποίηση και αντιμετώπιση εξαιρέσεων.

    Το δεύτερο μέρος του μαθήματος επικεντρώνεται στη μικροαρχιτεκτονική πλευρά της εκτέλεσης εντολών, αξιοποιώντας τον προσομοιωτή Ripes. Οι φοιτητές/φοιτήτριες έχουν την ευκαιρία να παρατηρήσουν βήμα-βήμα τη ροή εντολών μέσα από τα στάδια ενός επεξεργαστή (fetch, decode, execute, memory, writeback) και να συγκρίνουν υλοποιήσεις επεξεργαστών με και χωρίς διοχέτευση (pipeline). Μέσα από ασκήσεις που συνδυάζουν ανάλυση εξαρτήσεων δεδομένων και αναδιάταξη εντολών, οι φοιτητές κατανοούν τις τεχνικές βελτιστοποίησης απόδοσης και τον ρόλο της σχεδίασης του υλικού στη συνολική ταχύτητα εκτέλεσης.

    Το μάθημα ενισχύει τη σύνδεση ανάμεσα στο χαμηλού επιπέδου προγραμματισμό και τη λειτουργία του υλικού, προετοιμάζοντας τους φοιτητές για περαιτέρω ενασχόληση με θέματα όπως οι μεταγλωττιστές, τα λειτουργικά συστήματα και η σχεδίαση ψηφιακών συστημάτων.

    Μαθησιακοί στόχοι

    Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές και φοιτήτριες θα είναι σε θέση να:

    1. Αναπτύσσουν, αποσφαλματώνουν και εκτελούν προγράμματα σε συμβολική γλώσσα RISC-V χρησιμοποιώντας τον προσομοιωτή RARS.
    2. Εφαρμόζουν βασικές και σύνθετες αριθμητικές και λογικές εντολές του συνόλου εντολών RISC-V, κατανοώντας τις έννοιες του κρατουμένου, της υπερχείλισης και της εσωτερικής αναπαράστασης δεδομένων.
    3. Διαχειρίζονται τη στοίβα και το σωρό για την υλοποίηση διαδικασιών και δυναμικών δομών δεδομένων, εφαρμόζοντας τις συμβάσεις κλήσεων της αρχιτεκτονικής RISC-V.
    4. Κατανοούν και διαχειρίζονται εξαιρέσεις κατά την εκτέλεση προγραμμάτων, αξιοποιώντας την υποστήριξη της αρχιτεκτονικής.
    5. Παρατηρούν και αναλύουν τη ροή εντολών μέσα σε έναν επεξεργαστή μέσω της οπτικοποίησης που προσφέρει ο Ripes, εντοπίζοντας εξαρτήσεις και εφαρμόζοντας τεχνικές βελτιστοποίησης.
    6. Συγκρίνουν διαφορετικές μικροαρχιτεκτονικές υλοποιήσεις επεξεργαστών (σχεδίαση ενός κύκλου ρολογιού και σχεδίαση με διοχέτευση), αναγνωρίζοντας τις επιπτώσεις στη συνολική απόδοση των προγραμμάτων.