Μετάβαση στο περιεχόμενο

Εργαστήριο Αρχιτεκτονικής Υπολογιστών

Επίσημο περίγραμμα μαθήματος του ΤΜΗΥΠ (Πανεπιστήμιο Πατρών), όπως δημοσιεύεται στη σελίδα του μαθήματος και στο συνημμένο αρχείο «Περίγραμμα Μαθήματος». Το κείμενο παρατίθεται αυτούσιο, χωρίς τα πρότυπα οδηγιών του εντύπου.

Στόχοι

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

Περιεχόμενο (ύλη)

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

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

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

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

Αξιολόγηση

Η αξιολόγηση πραγματοποιείται στην Ελληνική γλώσσα.

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

Βιβλιογραφία

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

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

  • «Αρχιτεκτονική Υπολογιστών: Μια Ποσοτική Προσέγγιση», J. L. Hennessy, D. A. Patterson, 6η Αμερικάνικη Έκδοση, Εκδόσεις Κλειδάριθμος, 2020. (Κωδικός Βιβλίου στον Εύδοξο: 94644180)

  • «Ψηφιακή Σχεδίαση και Αρχιτεκτονική Υπολογιστών, Έκδοση ARM», S. L. Harris, D. Harris, Εκδόσεις Κλειδάριθμος, 2019. (Κωδικός Βιβλίου στον Εύδοξο: 86055864)

  • «Αρχιτεκτονική Υπολογιστών», 1η έκδοση, Δ. Νικολός, Εκδόσεις Παναγιώτα Παπακωνσταντίνου, 2017. (Κωδικός Βιβλίου στον Εύδοξο: 68370526)

  • «Οργάνωση και Αρχιτεκτονική Υπολογιστών», 11η Έκδοση, Stallings William, Εκδόσεις Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε., 2020. (Κωδικός Βιβλίου στον Εύδοξο: 94692327)

Συναφή επιστημονικά περιοδικά:

  • IEEE Micro
  • IEEE Transactions on Computers
  • IEEE Transactions on Dependable and Secure Computing
  • ACM Transactions on Architecture and Code Optimization