Μετάβαση στο κεντρικό περιεχόμενο
Call us : 2810-393312
Διεύθυνση ηλε.ταχυδρομείου :
helpdesk@uoc.gr
Ελληνικά (el)
Ελληνικά (el)
English (en)
Αυτή τη στιγμή χρησιμοποιείτε πρόσβαση επισκέπτη
Σύνδεση
Αρχική
Αρχική
Περισσότερα
Ανάπτυξη
Σύμπτυξη
Γενικά στοιχεία για το μάθημα
Φωτοεπισημασμένο
Γενικά στοιχεία για το μάθημα
Περιεχόμενο μαθήματος
Στοιχεία διδάσκοντα
Ομάδα στόχος
Στόχοι μαθήματος
Προαπαιτούμενα
Βιβλιογραφία - Πηγές
Ανάπτυξη
Σύμπτυξη
1. Εισαγωγή, Καταχωρητές, add/sub, addi, η Γλώσσα Assembly και ο Προσομοιωτής SPIM
Φωτοεπισημασμένο
1.0 Περιγραφή του μαθήματος και διαδικαστικά
1.1: Βασική λειτουργία του Υπολογιστή
1.2: Γλώσσες Μηχανής, Καταχωρητές, RISC, MIPS
1.3 (α): Assembly - add/sub, j
1.3 (β): Immediates, Καταχωρητής Μηδέν, Σύνθεση άλλων πράξεων
1.4: Προσομοιωτές, SPIM
1.5: Οδηγίες (Directives) προς τον Assembler
Άσκηση 1: Εισαγωγή, Καταχωρητές, add/sub, addi, η Γλώσσα Assembly και ο Προσομοιωτής SPIM
Ανάπτυξη
Σύμπτυξη
2. Βρόχοι και Επικοινωνία Κονσόλας στον SPIM
Φωτοεπισημασμένο
2.1: Διακλαδώσεις υπό Συνθήκη
2.2: Strings, Print, Read
Άσκηση 2: Βρόχοι και Επικοινωνία Κονσόλας στον SPIM
Ανάπτυξη
Σύμπτυξη
3. Προσπελάσεις Μνήμης στον MIPS
Φωτοεπισημασμένο
3.1 (α): Οι εντολές load και store
3.1 (β): Πίνακες, παράδειγμα σελίδων 123-125
3.2 (α): Αρχιτεκτονικές Byte Addressable
3.1 (γ): Χρήσεις του Addressing Mode του MIPS
3.2 (β): Περιορισμοί Ευθυγράμμισης
3.4: Σχόλια για την Άσκηση 3.1
3.3 (α): Τι είναι οι Μηχανές Big-Endian και Little-Endian;
3.3 (β): Τι θα συμβεί αν τρέξουμε το πρόγραμμα σε έναν επεξεργαστή;
3.3 (γ): ftp
Άσκηση 3: Προσπελάσεις Μνήμης στον MIPS
Ανάπτυξη
Σύμπτυξη
4. Γλώσσα Μηχανής, Format Εντολών
Φωτοεπισημασμένο
4.1: Format Εντολών του MIPS (Γλώσσα Μηχανής)
4.2: op-func: Κωδικοποίηση Μεταβλητού Μήκους
Άσκηση 4: Γλώσσα Μηχανής, Format Εντολών
Ανάπτυξη
Σύμπτυξη
5. Εντολές Συγκρίσεων και Μεταφοράς ελέγχου
Φωτοεπισημασμένο
5.1 (α): Προορισμός διακλαδώσεων PC-relative
5.1 (β): Συγκρίσεις καταχωρητών στις Εντολές Διακλάδωσης του MIPS
5.1 (γ): Οι εντολές slt, slti
ΕΠΑΝΑΛΗΨΗ
5.1 (γ - δεύτερο μέρος): Οι εντολές slt, slti
5.1 (δ): Μετάφραση if-then-else
5.1 (ε): Μετάφραση while
5.1 (στ): Μετάφραση Συνθήκης με Λογικό ΚΑΙ
5.1 (ζ): Εντολή Jump και Διεύθυνση Προορισμού της
5.1 (η): Jump-Register για πολύ μακριά και για επιστροφή από τη διαδικασία
5.1 (θ): Jump-Register για Switch Statement
5.1 (ι): Jump-and-Link για κάλεσμα διαδικασίας
Άσκηση 5: Εντολές Συγκρίσεων και Μεταφοράς Ελέγχου
Ανάπτυξη
Σύμπτυξη
6. Κάλεσμα Διαδικασιών, Χρήση και Σώσιμο Καταχωρητών
Φωτοεπισημασμένο
6.2 (α): Που αποθηκεύεται η Διεύθυνση Επιστροφής;
6.1 (α): Ορισμός Caller-Saved, Callee-Saved
6.1 (β): Διάρκεια ζωής Καταχωρητή
6.1 (γ): Περίπτωση 1: νεκρός στο κάλεσμα
6.1 (δ): Περίπτωση 2: ζωντανός στο κάλεσμα
6.1 (ε): Προσωρινοί και Διατηρούμενοι Καταχωρητές
6.2 (β): Ορίσματα και Επιστρεφόμενες τιμές διαδικασιών
6.2 (γ): Χάρτες Καταχωρητών - 6.4: Καθολικές (Global) Μεταβλητές
6.3: Αναδρομή, Στοίβα
Σημειώσεις Διδασκαλίας 6: Κάλεσμα Διαδικασιών, Χρήση και Σώσιμο Καταχωρητών
Ανάπτυξη
Σύμπτυξη
7. Άσκηση Συνδεδεμένης Λίστας και Διαδικασιών
Φωτοεπισημασμένο
7.2: Δυναμική Εκχώρηση Μνήμης
Επανάληψη Καλέσματος και Επιστροφής διαδικασίας
Άσκηση 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών
Ανάπτυξη
Σύμπτυξη
8. Μια απλή υλοποίηση του MIPS σε 1 κύκλο ρολογιού ανά εντολή
Φωτοεπισημασμένο
8.1 Γενική Ιδέα Απλής Υλοποίησης του MIPS σε 1 κύκλο ρολογιού ανά εντολή
8.2: Πολύπορτο Αρχείο Καταχωρητών
8.3: Προσημασμένοι Αριθμοί, Επέκταση Προσήμου
8.4: Load Upper Immediate: Κατασκευή Αυθαίρετων 32-μπιτων σταθερών σε καταχωρητή
8.5: To Datapath του MIPS ενός κύκλου ρολογιού με πλήρεις λεπτομέρειες
8.6: Το (Συνδυαστικό) Κύκλωμα Ελέγχου
8.7: Πόσο αργό είναι το ρολόι της απλής υλοποίησης;
8.8: Περί σπατάλης ή μη υπολογιστικών πόρων
8.9: Υλοποίηση πολλαπλών κύκλων ανά εντολή για εξοικονόμηση πόρων
ΕΠΑΝΑΛΗΨΗ - Οι Διευθύνσεις Μνήμης και οι Εντολές Load και Store
ΕΠΑΝΑΛΗΨΗ - Εντολές Διακλάδωσης και Διαδικασίες
Άσκηση 8: Μία Απλή Υλοποίηση του MIPS σε Έναν Κύκλο Ρολογιού ανά Εντολή
Quiz
Ανάπτυξη
Σύμπτυξη
9. Ομοχειρία (Pipelining - Διοχέτευση)
Φωτοεπισημασμένο
9.1: Εισαγωγή, Παροχή, Καθυστέρηση, Παράδειγμα Μπουγάδας
9.2: Βασική ιδέα του Pipelined Datapath
9.3: Παροχή και καθυστέρηση... ξανά!
9.4: Λεπτομερής Λειτουργία του Pipelined Datapath χωρίς Αλληλεξαρτήσεις ή Διακλαδώσεις
9.5: Γραφική Αναπαράσταση Ομοχειρίας
9.6: Μονάδα Ελέγχου για την Ομοχειρία
9.7: Εντολές ALU: 4 ή 5 Βαθμίδες;
9.8: Αλληλεξαρτήσεις μεταξύ εντολών ALU: "Προσπέρασμα"
9.9: Datapath για Προσπέρασμα
9.10: Έλεγχος για Προσπέρασμα
9.11: Εξάρτηση από προηγούμενη εντολή Load: Αναμονή
9.12: Κύκλωμα Ελέγχου για Αναμονή
9.13: Στατική Αναδιάταξη Εντολών γιά την Αποφυγή Αναμονών
9.14: Αλληλεξαρτήσεις RAW, WAW, WAR
9.15: Οι Aλληλεξαρτήσεις στη δική μας Pipeline, Συνολικά
9.16: Διακλαδώσεις και Άλματα, Υπόθεση Αποτυχίας της Διακλάδωσης και Ακύρωση Εντολών εάν αυτή Επιτύχει
9.17: Πρόβλεψη Διακλαδώσεων
Άσκηση 9: Εισαγωγή στην Ομοχειρία (Pipelining - Διοχέτευση)
Ανάπτυξη
Σύμπτυξη
10. Επίδοση Επεξεργαστών, CPI
Φωτοεπισημασμένο
Άσκηση 10.1: Επίδοση Επεξεργαστών
Άσκηση 10.2: Mέσο CPI του Επεξεργαστή πολλαπλών κύκλων ανά εντολή
Άσκηση 10: Επίδοση Επεξεργαστών, CPI
Ανάπτυξη
Σύμπτυξη
11. Κρυφές Μνήμες και η Επίδοσή τους
Φωτοεπισημασμένο
11.0: Εισαγωγή στην Ιεραρχία Μνήμης
11.3 (α): Πώς ψάχνουμε κάτι που το έχουμε στην κρυφή μνήμη;
11.3 (β): Kρυφές μνήμες Μονοσήμαντης ('Αμεσης) Απεικόνισης
11.3 (γ): Οι Ετικέτες (Tags)
11.1: Μέσος Χρόνος Προσπέλασης Ιεραρχίας Μνήμης
11.2: Επίδοση Επεξεργαστή με Ιεραρχία Μνήμης
11.5: Αύξηση μεγέθους του Block (Line) για εκμετάλλευση της Χωρικής Τοπικότητας
11.5 (β): Block (Line) για εκμετάλλευση της Χωρικής Τοπικότητας
11.6: Συσχετιστική Κρυφή Μνήμη Δύο Δρόμων
11.7: Επιλογή του Block που θα Αντικατασταθεί
11.8: Ταυτόχρονη και Ετερόχρονη Εγγραφή (Write-Through, Write-Back)
Επιπλέον διδακτικό υλικό κρυφών μνημών
Άσκηση 11: Κρυφές Μνήμες και η Επίδοσή τους
Ανάπτυξη
Σύμπτυξη
12. Εικονική Μνήμη (Virtual Memory)
Φωτοεπισημασμένο
12.1 (α): Εικονική Μνήμη: Στόχοι της
12.1 (β): Διεργασίες (Processes), Εικονικές Μηχανές
12.2 (α): Σελίδες, Τοποθέτηση, Αναζήτηση
12.2 (β): Μετάφραση Διευθύνσεων
12.2 (γ): Ταχύτητα Μετάφρασης: TLB και η σχέση του με τις Κρυφές Μνήμες
12.2 (δ): Το TLB σε σχέση με την Κρυφή Μνήμη
12.3 (α): Διακοπές/Εξαιρέσεις
12.3 (β): Προστασία Λειτουργικού Συστήματος: User/Kernel Mode
12.3 (γ): Προστασία και Συνεργασία μεταξύ Διεργασιών
12.5: Πολυεπίπεδοι Πίνακες Μετάφρασης
Άσκηση 12: Εικονική Μνήμη (Virtual Memory)
Ανάπτυξη
Σύμπτυξη
13. Μονάδες Εισόδου/Εξόδου (Ι/Ο) - Σύνδεσμοι/Αρτηρίες - DΜΑ
Φωτοεπισημασμένο
13.1: SRAM, DRAM, Προσπελάσεις Συνεχόμενων Λέξεων
13.2: Κόστος Εκκίνησης και Παροχή (Startup Cost versus Throughput)
13.3: Διαφύλλωση (Interleaving), Αλληλοκαλυπτόμενες Δοσοληψίες
13.4: Απεικόνιση Μνήμης των Μονάδων Ε/Ε (Memory Mapped I/O)
13.5 (α): Καταχωρητές Κατάστασης
13.5 (β): Busy Wait, Polling
13.6: Κόστος Ε/Ε βάσει Δειγματοληψίας και βάσει Διακοπών
13.7: Aπευθείας Πρόσβαση Μνήμης (DMA) από Συσκευές Ε/Ε
Άσκηση 13: Μονάδες Εισόδου/Εξόδου (I/O), Σύνδεσμοι/Αρτηρίες, DMA
Ανάπτυξη
Σύμπτυξη
14. Συνoχή Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές
Φωτοεπισημασμένο
14.1: DMA και Συνοχή Κρυφής-Κύριας Μνήμης
14.2 (α): Πολυεπεξεργαστές και Κρυφές Μνήμες
14.2 (β): Πρωτόκολλα Συνοχής τύπου "Snooping"
14.4 (α): Παραλληλία Επιπέδου Εντολής (ILP)
14.4 (β): Στατικό Instruction Scheduling και οι δυσκολίες του με άγνωστες διευθύνσεις
14.4 (γ): Επεξεργαστές με Out-of-Order Execution
14.5: Πολυνημάτωση (Multithreading)
Άσκηση 14: Συνοχή (Coherence) Κρυφών Μνημών, Προχωρημένοι Επεξεργαστές (Out-of-Order, Superscalar, Multithreading, Multicores)
Ανάπτυξη
Σύμπτυξη
15. ΕΠΑΝΑΛΗΠΤΙΚΟ ΜΑΘΗΜΑ
Φωτοεπισημασμένο
15.1: Ευθυγράμμιση Μπλοκς
15.2: Εικονικές Μνήμες
15.3: Κρυφές Μνήμες
15.4: CPI (Cycles per Instruction)
15.5: Interrupts and Exceptions
15.6: Pipeline
15.7: Επικοινωνία με τις Περιφερειακές Συσκευές
15.8: Προχωρημένοι Επεξεργαστές
Άνοιγμα ευρετηρίου μαθήματος
ΗΥ-225-OC
6.1 (ε): Προσωρινοί και Διατηρούμενοι Καταχωρητές
6.1 (ε): Προσωρινοί και Διατηρούμενοι Καταχωρητές
Τελευταία τροποποίηση: Πέμπτη, 20 Μαρτίου 2014, 10:10 AM