Περιεχόμενο μαθήματος
Περιεχόμενο μαθήματος:
- Η γλώσσα Assembly και η γλώσσα μηχανής, σαν το μοντέλο αφαίρεσης που το hardware παρουσιάζει προς το software. Παράδειγμα: ένα υποσύνολο αυτών των γλωσσών του επεξεργαστή MIPS. Στοιχειώδεις γνώσεις προγραμματισμού σε Assembly: if-then-else, βρόχοι, πίνακες, pointers, διαχείριση στοίβας και κλήση διαδικασιών.
- Υλοποίηση επεξεργαστή χρησιμοποιώντας καταχωρητές, πολυπλέκτες, αθροιστές, ALU's, μνήμες, συνδυαστική λογική, και FSM. Σχεδίαση του datapath. Σχεδίαση της μονάδας ελέγχου. Διακοπές-Εξαιρέσεις.
- Εισαγωγή στην τεχνική της ομοχειρίας (pipelining). Επίδοση (ταχύτητα) υπολογιστών, CPI και συναφείς εξισώσεις.
- Σύστημα Μνήμης: Εισαγωγή στις κρυφές μνήμες. Εικονική μνήμη. Καταστάσεις χρήστη-πυρήνα, κάλεσμα λειτουργικού συστήματος, προστασία.
- Περιφερειακές Συσκευές και η επικοινωνία τους με την κεντρική μονάδα. Απεικόνιση I/O σε διευθύνσεις μνήμης. Επικοινωνία με δειγματοληψία και με διακοπές. DMA.
- Προχωρημένα θέματα: Πολυπύρηνοι υπολογιστές, Συνοχή (Coherence) κρυφών μνημών, εκτέλεση εντολών εκτός σειράς, Πολυνημάτωση, GPGPU's.
Λέξεις κλειδιά:
- Computer Organization
- Computer Architecture
- Assembly Programming
- Processor Datapath Design
- Introduction to Pipelining
- Cache Memory Introduction
- Virtual Memory Introduction
- Computer Peripheral Device Communication