Τμήμα Πληροφορικής - Ιόνιο Πανεπιστήμιο

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

Χειμερινό εξάμηνο 2023-24

Διδάσκων: Μ.Στεφανιδάκης

Ενότητα 1η: Εισαγωγή στην Αρχιτεκτονική Η/Υ - Θεμελιώδεις αρχές λειτουργίας των υπολογιστών

Υπολογιστικά Συστήματα: ο κλασσικός υπολογιστής και τα ενσωματωμένα συστήματα. Αρχιτεκτονική υπολογιστών: υλικό και λογισμικό. Ιεραρχίες επιπέδων και διεπαφές. Βασικές Μονάδες. Ένα τυπικό υπολογιστικό σύστημα. Το τρανζίστορ MOSFET και η λειτουργία του. Ψηφιακά Ηλεκτρονικά και δυαδική λογική. Ιεραρχίες ψηφιακής σχεδίασης.

Υλικό εργαστηρίου

Ενότητα 2η: Αρχιτεκτονικές Συνόλου Εντολών - (Instruction Set Architectures - ISA)

Ο επεξεργαστής και τα μέρη του. Είδη μικροεπεξεργαστών. Το μοντέλο von Neumann. Εκτέλεση εντολών: ο κύκλος μηχανής. Αρχιτεκτονική Συνόλου Εντολών: οι διαθέσιμες λειτουργίες, η μορφή των δεδομένων εισόδου-εξόδου, οι μέθοδοι προσπέλασης μνήμης, οι χώροι προσωρινής αποθήκευσης, οι διακοπές και καταστάσεις σφάλματος. Κωδικοποίηση εντολών. Εντολές αριθμητικών και λογικών πράξεων, μεταφοράς δεδομένων και διακλάδωσης. Προέλευση δεδομένων και προσπέλαση μνήμης. Η εξέλιξη των αρχιτεκτονικών συνόλου εντολών.

Συμπληρωματικό υλικό Υλικό εργαστηρίου

Ενότητα 3η: Κεντρική Μονάδα Επεξεργασίας - σχεδιασμός και λειτουργία μιας απλής ΚΜΕ

Η κεντρική μονάδα επεξεργασίας (ΚΜΕ). Σχεδίαση μιας απλής ΚΜΕ. Αριθμητική-Λογική Μονάδα (ΑΛΜ). Συστοιχία καταχωρητών (register file). Μονοπάτι δεδομένων (datapath). Μονάδα ελέγχου (control unit). H "μνήμη εντολών". Σχηματισμός διεύθυνσης επόμενης εντολής. Ο κύκλος μηχανής: Instruction Fetch (IF), Instruction Decode (ID), Execute (EX), Data Memory Access (DM), Write Back (WB). Εκτέλεση εντολών αριθμητικών-λογικών πράξεων. Εκτέλεση εντολών διακλάδωσης. Εκτέλεση εντολών load-store.

Υλικό εργαστηρίου

Ενότητα 4η: Απόδοση ΚΜΕ - Μέτρηση και τεχνικές βελτίωσης απόδοσης

Απόδοση ΚΜΕ. Χρόνος εκτέλεσης προγραμμάτων. Συγκρίνοντας υπολογιστές. Βασικά μεγέθη μέτρησης απόδοσης ΚΜΕ. Συσχέτιση απόδοσης με λογισμικό. Χρόνος εκτέλεσης σε ΚΜΕ. Μετροπρογράμματα. Ο «νόμος» του Amdahl. ΚΜΕ ενός και πολλαπλών κύκλων. Μονάδα ελέγχου σε ΚΜΕ πολλαπλών κύκλων. Μικροπρόγραμμα. Απόδοση ΚΜΕ πολλαπλών κύκλων.

Υλικό εργαστηρίου

Ενότητα 5η: Παραλληλισμός σε επίπεδο εντολών - Pipelining και άλλες τεχνικές αύξησης απόδοσης

Απόδοση ΚΜΕ πολλαπλών κύκλων ανά εντολή. Παραλληλισμός σε επίπεδο εντολών (ILP). Pipelining. Απόδοση pipelining. Χρόνος ολοκλήρωσης εντολής. Ρυθμός ολοκλήρωσης εντολών. Εμπόδια στην εφαρμογή του pipelining: structural, data, control hazards. Πρόβλεψη διακλαδώσεων. Ολοκλήρωση πολλαπλών εντολών ανά κύκλο ρολογιού. Εικαζόμενη εκτέλεση. Εκτέλεση εκτός σειράς. Επεξεργαστές VLIW/EPIC. Επεξεργαστές superscalar.

Υλικό εργαστηρίου

Ενότητα 6η: Ιεραρχίες Μνήμης (Ι)

Τεχνολογίες κύριας μνήμης: ιστορική αναδρομή. Το μοντέλο της μνήμης τυχαίας προσπέλασης. Διευθυνσιοδότηση μνήμης. Οργάνωση μνήμης τυχαίας προσπέλασης. Χρόνοι προσπέλασης μνήμης. Τύποι μνήμης τυχαίας προσπέλασης: στατική και δυναμική RAM. Η ιδανική μνήμη και η πραγματική εικόνα: το χάσμα απόδοσης μεταξύ επεξεργαστή και μνήμης. Η αρχή της τοπικότητας: χωρική και χρονική τοπικότητα. Ιεραρχίες μνήμης. Αποθήκευση και αναζήτηση δεδομένων στην ιεραρχία μνήμης. Εισαγωγή στις κρυφές μνήμες.

Υλικό εργαστηρίου

Ενότητα 7η: Ιεραρχίες Μνήμης (ΙI)

Σκοπός της ιεραρχίας μνήμης. Αναζήτηση δεδομένων στην Ιεραρχία Μνήμης. Τοποθέτηση μπλοκ στην κρυφή μνήμη. Μέθοδος άμεσης απεικόνισης. Ανάγνωση/εγγραφή στην κρυφή μνήμη: cache hit και cache miss. Απόδοση κρυφής μνήμης. Το κόστος των cache misses. Τεχνικές μείωσης miss rate και miss penalty. Πολυεπίπεδη οργάνωση κρυφής μνήμης. Βελτιστοποίηση απόδοσης κρυφής μνήμης.

Υλικό εργαστηρίου

Ενότητα 8η: Εικονική Μνήμη - Ο ρόλος της στην ιεραρχία μνήμης

Η δευτερεύουσα μνήμη στη συνολική ιεραρχία μνήμης. Λόγοι εμφάνισης εικονικής μνήμης (virtual memory). Τεχνική overlays. Πολυπρογραμματισμός και χώροι διευθύνσεων προγραμμάτων. Μηχανισμός μετάφρασης εικονικών διευθύνσεων. Σκοποί της εικονικής μνήμης. Βασικό σχήμα εικονικής μνήμης με σελιδοποίηση κατ'απαίτηση. Πίνακες σελίδων. Πρόσθετες δομές λειτουργικού συστήματος για την υποστήριξη εικονικής μνήμης. Προστασία προσπέλασης: user και supervisor modes. Translation-Lookaside Buffer (TLB). Η συνολική εικόνα προσπέλασης μνήμης. VIPT Caches.

Υλικό εργαστηρίου