Computer Architecture

General

Course Contents

  • Γνωριμία με τον μικροεπεξεργαστή (ΜΕ) Intel 8088 και το αναπτυξιακό σύστημα BGC-8088, καταχωρητές, σημαίες, προσπέλαση μνήμης, segment-offset, τμήματα και χρήση μνήμης, βασικές εντολές γλώσσας μηχανής, Τρόποι διευθυνσιοδότησης μνήμης.
  • Ιστορία και εξέλιξη των Η/Υ, των ολοκληρωμένων κυκλωμάτων και των Μ/Ε, Κατηγορίες υπολογιστών.
  • Βασικά ψηφιακά κυκλώματα, Τεχνολογίες κατασκευής πυλών, Υλοποίηση συναρτήσεων Boole, Συνδυαστικά ψηφιακά κυκλώματα (Πολυπλέκτες, αποπολυπλέκτες, Αποκωδικοποιητές, Συγκριτές, Προγραμματιζόμενοι Λογικοί Πίνακες, Ολισθητές, Αθροιστές), Αριθμητική και λογική μονάδα, Κυκλώματα ρολογιού, Κυκλώματα μνήμης, Δισταθή κυκλώματα Flip-flop.
  • Μικροεπεξεργαστές, Βασικά τμήματα ΜΕ, Καταχωρητές, Εσωτερικοί Καταχωρητές, Αριθμητική και λογική μονάδα-ALU, Μονάδα Κινητής Υποδιαστολής, Πράξεις κινητής υποδιαστολής, Μονάδα Ελέγχου, Είδη μονάδων ελέγχου (Hard wired / Microprogrammed), Μπλόκ διαγράμματα μονάδων ελέγχου, Εσωτερικός δίαυλος.
  • Δομή των εντολών γλώσσας μηχανής, Εσωτερική δομή ΜΕ, Στάδια εκτέλεσης εντολών, Συμβολική γλώσσα μικροπρογράμματος, παραδείγματα εκτέλεσης εντολών, Κύκλοι Εντολών, Κατηγορίες εντολών, Τρόποι προσπέλασης μνήμης, Αρχιτεκτονικές CISC-RISC.
  • Σήματα ελέγχου, ΣΕ μνήμης και Περιφερειακών συσκευών, ΣΕ του DMA, Σήματα διακοπών, ΣΕ Κατάστασης του ΜΕ, Λοιπά ΣΕ, Τρόποι Επικοινωνίας ΜΕ και ΠΣ.
  • Η μνήμη, Ιεραρχία της μνήμης, Είδη μνήμης (RAM, ROM, Μαγνητική, Οπτική), οργάνωση μνήμης, μέγιστη προσπελάσιμη μνήμη ανά ΜΕ, Διάταξη των bytes στη μνήμη, περιεχόμενα των λέξεων μνήμης, Τα chip μνήμης, οι τρόποι διευθυνσιοδότησης και επιλογής τους, και οι ακροδέκτες τους, Διαδικασία και χρόνοι ανάγνωσης και εγγραφής μνήμης, Οργάνωση μνήμης σε πίνακες, αποκωδικοποίηση διευθύνσεων.
  • Οι μνήμες ROM, η φωτολοθογραφική μέθοδος, οι ακροδέκτες των μνημών ROM, Μνήμες PROM, EPROM, EEPROM, Flash-EEPROM, Μνήμες RAM, Τύποι δυναμικής RAM, ειδικοί τύποι RAM για γραφικά, Συσκευασίες chip μνήμης, Κώδικες διόρθωσης σφαλμάτων, Απόσταση Hamming κώδικα, Ανίχνευση και διόρθωση σφαλμάτων, Μέθοδος της ισοτιμίας, Ο κώδικας Hamming.
  • Η κρυφή μνήμη (cache memory), αρχή και είδη της τοπικότητας, ποσοτική βελτίωση του χρόνου προσπέλασης, εσωτερική οργάνωση της cache, μνήμη cache άμεσης χαρτογράφησης, σύγκρουση κρυφής μνήμης, μνήμη cache πλήρους συσχέτισης, μνήμη συνόλων συσχέτισης Ν-δρόμων, Σχεδιαστικές παράμετροι, αριθμός κρυφών μνημών και επίπεδα, διαγραφή κρυφής μνήμης.
  • Δίαυλοι (buses), βασικές έννοιες και σχεδιαστικά ζητήματα, τεχνικές και προβλήματα, είδη διαύλων, System Bus, Front Side Bus, δίαυλος ISA 8 και 16 bit, δίαυλος PCI, συνύπαρξη ISA και PCI, δίαυλος compact PCI, δίαυλος PCMCIA, δίαυλος USB 1.0 και 2.0, δίαυλος 1394-firewire, δίαυλος AGP, σύγκριση διαύλων.

Educational Goals

The course aims at introducing students to the concepts of internal structure, architecture, organization, and implementation of modern computers and modern microprocessors. It emphasizes on the design and operation principles of computer systems and their subsystems, on the communication principles between subsystems and peripheral devices, on the computer subsystems’ implementation technologies and the microprocessor programming in the assembly language level and also machine code level. The course analyzes topics such as basic and combinatorial digital circuits, structure and architecture of microprocessors, microprocessors’ control units, internal structure and execution phases of machine code instructions, memory access methods, CISC/RISC architectures, control and interrupt signals, CPU-memory communication and addressing, CPU-peripheral I/O communication methods, memory organization and architecture, ROM and RAM memories and technologies, hardware error identification and correction codes, cache memory and basic computer and peripheral interconnection buses and technologies. Moreover, the course focuses on the internal structure and operation of the Intel 8088 microprocessor, its instruction set and its programming in assembly language and machine code. The course features a laboratory part where students systematically learn the Intel 8088’s assembly language and programming environment, and develop programs of scaling complexity.

General Skills

  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών.
  • Ομαδική Εργασία.
  • Σχεδιασμός και Διαχείριση Έργων.
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.

Teaching Methods

  • Θεωρητική από έδρας διδασκαλία με συζήτηση και ενεργή συμμετοχή των φοιτητών. Κατά την διάρκεια του μαθήματος γίνονται παρουσιάσεις σε power point.
  • Εργαστηριακές Ασκήσεις.
  • Χρήση Εκπαιδευτικού Αναπτυξιακού Υπολογιστή BGC-8088.
  • Εκμάθηση της γλώσσας Assembly του Intel 8088 και ανάπτυξη απλών προγραμμάτων.

Use of ICT means

  • Χρήση ηλεκτρονικών μέσων για την παράδοση των διαλέξεων.
  • Χρήση εξειδικευμένου λογισμικού προσομοίωσης του 8088 για εξάσκηση των φοιτητών. Χρήση εικονικών εργαστηρίων εμβάθυνσης της γνώσης.
  • Υποστήριξη μαθησιακής διαδικασίας μέσω της ηλεκτρονικής πλατφόρμας Moodle.
  • Ηλεκτρονικές Ασκήσεις Αυτοαξιολόγησης.
  • Επικοινωνία με φοιτητές μέσω e-mail, της ιστοσελίδας του μαθήματος και RSS feeds.

Teaching Organization

ActivitySemester workload
Lectures26
Practice Exercises13
Laboratory Exercises13
Theory study52
Study Practice Exercises, Laboratory Exercises, Reports, Assignments21
Total125

Students Evaluation

Ο τελικός βαθμός του μαθήματος διαμορφώνεται από την επίδοση του φοιτητή στη αξιολόγηση του θεωρητικού μέρους και σε αυτόν μπορεί να έχει συμβολή και η επίδοση στο εργαστηριακό μέρος. Σημειώνεται ότι ο φοιτητής θα πρέπει να έχει παρακολουθήσει επιτυχώς το εργαστηριακό μέρος για να έχει δικαίωμα εξέτασης στο θεωρητικό μέρος. Ο βαθμός του θεωρητικού μέρους διαμορφώνεται από γραπτή τελική εξέταση .

  1. Η γραπτή τελική εξέταση του θεωρητικού μέρους μπορεί να περιλαμβάνει:
    • Ανάπτυξη θεωρητικών θεμάτων.
    • Ερωτήσεις πολλαπλής επιλογής.
    • Επίλυση προβλημάτων εφαρμογής των γνώσεων που αποκτήθηκαν.
    • Ερωτήσεις σύντομης απάντησης.
    • Συγκριτική αξιολόγηση στοιχείων θεωρίας.
  2. Η εξέταση των ασκήσεων του εργαστηρίου περιλαμβάνει:
    • δύο (2) τουλάχιστον ενδιάμεσες αξιολογήσεις της κατανόησης της ύλης και των εργαστηριακών δεξιοτήτων που αποκτήθηκαν μέσω εργαστηριακής εξέτασης ή και εξέτασης ανατεθέντων εργαστηριακών ασκήσεων κατά την οποία γίνεται και χρήση του εργαστηριακού εξοπλισμού ή προσομοιώσεων.

Recommended Bibliography

Συγγράμματα μέσω του συστήματος ΕΥΔΟΞΟΣ
1. Βιβλίο [13759]: Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ: ΜΙΑ ΔΟΜΗΜΕΝΗ ΠΡΟΣΕΓΓΙΣΗ, ANDREW
S. TANENBAUM
2. Βιβλίο [59386815]: Οργάνωση και Αρχιτεκτονική Υπολογιστών, 10η Έκδοση, Stallings William
3. Βιβλίο [18548925]: Αρχιτεκτονική Υπολογιστών, Hennessy John L., Patterson David A., 4η
Έκδοση, 2011, ΕΚΔΟΣΕΙΣ Α. ΤΖΙΟΛΑ & ΥΙΟΙ Α.Ε.
4. Βιβλίο [68398126]: ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ, ΙΩΑΝΝΗΣ Ν. ΕΛΛΗΝΑΣ
5. Βιβλίο [68370526]: Αρχιτεκτονική Υπολογιστών, Δημήτριος Β. Νικολός

Συγγράμματα που διανέμονται μέσω του Ιδρύματος ή της ηλεκτρονικής σελίδας του μαθήματος
1. Σπύρος Καζαρλής, “Αρχιτεκτονική Η/Υ”, Επίσημες Σημειώσεις (2008) για το θεωρητικό μέρος
του μαθήματος «Αρχιτεκτονική Υπολογιστών» του Δ’ Εξαμήνου του Τμήματος, Σεπτέμβριος
2008.
2. Σπύρος Καζαρλής, “Σημειώσεις Εργαστηρίου Αρχιτεκτονικής Υπολογιστών – Εκπαιδευτικό
Σύστημα BGC-8088”, Επίσημες Σημειώσεις για το Εργαστηριακό μέρος του μαθήματος
«Αρχιτεκτονική Η/Υ» του Δ’ Εξαμήνου του Τμήματος, Σεπτέμβριος 2004.

Συμπληρωματική προτεινόμενη βιβλιογραφία
1. Thom Luce, Αρχιτεκτονική Υπολογιστών Software – Hardware, Εκδόσεις Τζιόλα 2003.
2. C.M. Gilmor, Μικροεπεξεργαστές – Θεωρία και Εφαρμογές, Εκδόσεις Τζιόλα, 1999.
3. Σ.Α. Ανδρεάτος, Εισαγωγή στα Μικροϋπολογιστικά Συστήματα, Εκδόσεις Κλεισάριθμος, 2001.
4. Βραχάτης Μ, Παπαδάκης Σ. Μικροϋπολογιστές, Εκδόσεις Παπασωτηρίου, 1995.
5. Πογαρίδης Δ., Μικροϋπολογιστές – Μικροελεγκτές Αρχιτεκτονική-Προγραμματισμός, Εκδόσεις
ΙΩΝ, 1998.
6. Gerrit A. Blaauw, Frederick P. Brooks, Computer Architecture, Addison-Wesley, 1997, (2 τόμοι).