ΗΜΥ 212 Οργάνωση Υπολογιστών και Μικροεπεξεγραστές Εαρινό Εξάμηνο 2007 Συμβόλαιο Μαθήματος 1
Γενικές Πληροφορίες Διαλέξεις: Διδάσκων: Βοηθός Μαθήματος: Δευτέρα και Πέμπτη, 16:30 18:00 μ.μ. Πανεπιστημιούπολη, ΧΩΔ01 101 Βάσος Σωτηρίου Γραφείο: Green Park 402 Τηλέφωνο: 22-892258 Email: vassos@ucy.ac.cy Ώρες Γραφείου: Τετάρτη 3:30 5:30 μ.μ. ή μεραντεβού Έλπις Παπαϊακώβου Γραφείο: θα ανακοινωθεί Τηλέφωνο: θα ανακοινωθεί Email: eep6pe1@ucy.ac.cy Ώρες Γραφείου: θα ανακοινωθεί Ιστοσελίδα Μαθήματος: http://www.ece.ucy.ac.cy/courses/ece212/ 2
Στόχοι Μαθήματος στην οργάνωση και τον σχεδιασμό μοντέρνων ψηφιακών μικροεπεξεργαστών και υπολογιστών, μέσω της επίδειξης της σχέσης μεταξύ υλικού και λογισμικού και με έμφαση σε έννοιες οι οποίες καθιστούν τη βάση των σημερινών υπολογιστών. Περιλαμβάνει: Γλώσσα μηχανής, σύνολα εντολών μηχανής, Αριθμητική μικροεπεξεργαστών, Σχεδιασμό Κεντρικής Μονάδας Επεξεργασίας (ΚΜΕ διαδρομή δεδομένων και μονάδα ελέγχου), Ανάλυση και Βελτίωση απόδοσης, Συστήματα διασωλήνωσης, Ιεραρχία μνήμης, Διασύνδεση επεξεργαστών και περιφερειακών συσκευών. Εργαστήριο ΗΜΥ213 (διδάσκεται συγχρόνως με αυτό το μάθημα): Πρακτική εξάσκηση προγραμματισμού σε -Συμβολική γλώσσα (MIPS Assembly) και προσομοίωση (SPIM) και - Σχεδιασμό (Altera Max Plus II, VHDL) και υλοποίηση (UP2, CPLD/FPGA) 3
Αναμενόμενα Αποτελέσματα Μαθήματος Κατανόηση των βασικών αρχών των μοντέρνων υπολογιστικών συστημάτων και της λειτουργικότητας των συνιστώντων μερών τους, του σχεδιασμό συνόλων εντολών και της εκτέλεσης τους. Εις βάθος κατανόηση του σχεδιασμού της κεντρικής μονάδας επεξεργασίας (διαδρομή δεδομένων, μονάδα ελέγχου) και της ιεραρχίας μνήμης. Ικανότητα ανάλυσης και αποτελεσματικής βελτίωσης της απόδοσης υπολογιστών. 4
Προαπαιτούμενες Γνώσεις ΗΜΥ 210 και ΗΜΥ 211 ή αποδεδειγμένη γνώση σε όλα από τα ακόλουθα: Προγραμματισμός Υπολογιστών Αριθμητικά Συστήματα Δυαδική Άλγεβρα Συνδυαστικά και Ακολουθιακά Κυκλώματα Βασικές αρχές VHDL και σχεδιασμός ψηφιακών κυκλωμάτων με τη χρήση εργαλείων CAD (ειδικά για ΗΜΥ 213) 5
Βιβλιογραφία Βασικό Σύγγραμμα Μαθήματος (υποχρεωτικό) D. A. Patterson and J. L. Hennessy, Computer Organization and Design: The Hardware/Software Interface, Morgan Kaufman, 3rd Ed., 2005. Σχετική Ιστοσελίδα : http://www.mkp.com/companions/1558606041 Επιπλέον Προτεινόμενη Μελέτη (με σειρά προτεραιότητας) Μ. Μ. Mano and C. R. Kime, Logic and Computer Design Fundamentals, Prentice-Hall, 3rd Ed., 2004. D. Steetman, See MIPS Run, Morgan Kaufman, 2002. J. Hayes, Computer Architecture and Organization, McGraw Hill, 2nd Ed., 1988. J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kauufman, 3rd Ed., 2003 M. Mano, Computer System Architecture, Prentice-Hall, 3rd Ed., 1993 6
Περιεχόμενο Ενότητα Περιεχόμενο # Διαλέξεων (90-λεπτων) Αφαιρετικότητα και Τεχνολογία Υπολογιστών 1 Γλώσσα Μηχανής Αριθμητική Υπολογιστών Εντολές (διάταξη, τύποι, σύνολα), συμβολική γλώσσα προγραμματισμού MIPS Επανάληψη πρόσθεσης / αφαίρεσης / πολλαπλασιασμού / διαίρεσης, αριθμητική κινητής υποδιαστολής Ανάλυση Απόδοσης Ορισμός, μέτρηση, βελτίωση, αξιολόγηση 2 4 2 Σχεδιασμός μικροεπεξεργαστή (ΚΜΕ) Διασωλήνωση Ιεραρχία Μνήμης Εξωτερική Επικοινωνία Διάδρομος δεδομένων και μονάδα ελέγχου, βασική υλοποίηση MIPS, σύμβαση λογικού σχεδιασμού, κατασκευή διαδρόμου δεδομένων, υλοποίηση με ένα κύκλο, υλοποίηση πολλαπλών κύκλων, εξαιρέσεις, ανάλυση απόδοσης Διάδρομος δεδομένων και μονάδα ελέγχου με διασωλήνωση, ανάλυση κινδύνων διασωλήνωσης, ανάλυση απόδοσης Βασικές έννοιες κρυφής μνήμης, μέτρηση και βελτίωση αποδοτικότητας κρυφής μνήμης, ιδεατή μνήμη, κοινό πλαίσιο Δίαυλοι, σκληρός δίσκος, διασύνδεση Ι/Ο μεκμε, μέτρα απόδοσης Ι/Ο 6 4 3 2 7
Εργασίες και Αξιολόγηση Αναμενόμενη Εργασία Τακτική μελέτη του υλικού που ανατίθεται. Τακτική κατ οίκον εργασία. Δύο ενδιάμεσες εξετάσεις και μία τελική εξέταση. Βαθμολογία Κατ οίκον εργασίες 10% 2 Ενδιάμεσες Εξετάσεις (20% καθεμιά) 40% Τελική Εξέταση (εφ όλης της ύλης) 50% Απαραίτητες προϋποθέσεις επιτυχίας στο μάθημα είναι: (i) η εξασφάλιση συνολικού βαθμού πέραν του 50% (ii) η εξασφάλιση βαθμού πέραν του 50% στην τελική εξέταση 8
Αυτό το μάθημα ασχολείται ολοκληρωτικά με τον σχεδιασμό και τον τρόπο λειτουργίας των ηλεκτρονικών υπολογιστών Ποια είναι η έννοια του «ηλεκτρονικού υπολογιστή»; Διαφορετικοί τύποι: desktop, servers (εξυπηρετητής), embedded devices (ενσωματωμένοι υπολογιστές) Διαφορετικές χρήσεις: συστήματα βάσεων δεδομένων, συστήματα αυτοκινήτων, γραφικά, οικονομικά, μετεωρολογία Διαφορετικοί κατασκευαστές: Intel, Apple, IBM, AMD, Sun Διαφορετικές τεχνολογίες και διαφορετικό κόστος! Αναλογία: Θεωρήστε ένα μάθημα για «Αυτοκινούμενα Οχήματα» Πολλές ομοιότητες από όχημα σε όχημα (π.χ. 4 τροχοί) Τεράστιες διαφορές από όχημα σε όχημα (π.χ. κίνηση με βενζίνη vs. Ηλεκτροδοτούμενη κίνηση) Ο καλύτερος τρόπος μάθησης: Έμφαση σε συγκεκριμένα παραδείγματα Συγχρόνως, εκμάθηση γενικών αρχών μαζί με ιστορική αναδρομή 9
Γιατί πρέπει να έχεις γνώσεις Οργάνωσης Η/Υ? Διότι θέλεις να αποκαλείς τον εαυτό σου Μηχανικό Υπολογιστών ή Ηλεκτρολόγο Μηχανικό!!! Διότι θέλεις να κατασκευάσεις «καλό» λογισμικό (χρειάζεται καλή απόδοση) Διότι θέλεις να πάρεις αγοραστική απόφαση ή να προσφέρεις συμβουλή εμπειρογνώμονα Η απόδοση επηρεάζεται από το Υλικό ΚΑΙ το Λογισμικό: Ένας αλγόριθμος καθορίζει τον αριθμό των εντολών που θα εκτελεστούν Γλώσσα Προγραμματισμού/Συμβολομεταφραστής(Compiler)/Αρχιτεκτονική καθορίζουν τις εντολές μηχανής (machine instructions) (Κεφάλαια 2 και 3) Επεξεργαστής/Μνήμη καθορίζουν την ταχύτητα εκτέλεσης των εντολών (Κεφάλαια 5, 6, και 7) Εξακρίβωση και Κατανόηση Απόδοσης (Κεφάλαιο 4) 10
Γενικές Συμβουλές Η ύλη του μαθήματος είναι πολλή!!! Τόσο σε εύρος θεμάτων όσο και σε βάθος σε ορισμένα θέματα. Το μάθημα ακολουθεί την φιλοσοφία της συνεχούς αξιολόγησης. Για να μάθετε σωστά και να επιτύχετε πρέπει να η μελέτη σας να είναι συνεχής. Κατ οίκον εργασίες: Aνατίθενται με σκοπό να σας βοηθήσουν στη μελέτη και την εκ βάθους κατανόηση της ύλης που διδάσκεται κατά την διάρκεια των διαλέξεων. Ξεκινάτε τις εργασίες σας αμέσως μετά την παράδοση των αντίστοιχων θεμάτων στην τάξη. Λύνετε τις απορίες σας όσο το δυνατό πιο σύντομα. Μην τις μαζεύετε για μόλις πριν την εξέταση. Η καλή γνώση ψηφιακών κυκλωμάτων είναι βασική προϋπόθεση για αυτό το μάθημα. Για παράδειγμα: Γλώσσα Μηχανής: αριθμητικά συστήματα και αναπαραστάσεις, δυαδική άλγεβρα, προγραμματισμός Αριθμητική: αριθμητικά κυκλώματα και αλγόριθμοι Ανάλυση Απόδοσης: καθυστερήσεις και κρίσιμα μονοπάτια Σχεδιασμός ΚΜΕ: συνδυαστικά κυκλώματα, καταχωρητές, μετρητές, flip-flops Μνήμη: σχεδιασμός DRAM, SRAM, ταξινόμηση και πρόσβαση ΚΑΛΗ ΑΡΧΗ! 11