Loading...
1. ΓΕΝΙΚΑ
ΣΧΟΛΗ: ΜΗΧΑΝΙΚΩΝ
ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ: Προπτυχιακό
ΚΩΔΙΚΟΣ ΜΑΘΗΜΑΤΟΣ: ECE_ELE960
ΕΞΑΜΗΝΟ ΣΠΟΥΔΩΝ: 9ο
ΤΙΤΛΟΣ ΜΑΘΗΜΑΤΟΣ: ΠΡΟΗΓΜΕΝΑ ΜΙΚΡΟΫΠΟΛΟΓΙΣΤΙΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΒΔΟΜΑΔΙΑΙΕΣ ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ:  Θεωρία 3, Εργαστήριο 1
ΠΙΣΤΩΤΙΚΕΣ ΜΟΝΑΔΕΣ: 5,0
ΤΥΠΟΣ ΜΑΘΗΜΑΤΟΣ: Ειδικότητας
ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ ΜΑΘΗΜΑΤΑ: Συνίσταται οι φοιτητές να έχουν παρακολουθήσει τα μαθήματα: ECE_Κ-140 Ψηφιακή Λογική,  Υπολογιστών, ECE_Κ-410 Αρχιτεκτονική Υπολογιστών, ECE_Κ-620 Μικροεπεξεργαστές
ΓΛΩΣΣΑ ΔΙΔΑΣΚΑΛΙΑΣ και ΕΞΕΤΑΣΕΩΝ: Ελληνική
ΤΟ ΜΑΘΗΜΑ ΠΡΟΣΦΕΡΕΤΑΙ ΣΕ ΦΟΙΤΗΤΕΣ ERASMUS: Όχι
e-class ΜΑΘΗΜΑΤΟΣ (URL): https://eclass.uop.gr/courses/1464/


2. ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ

Σκοπός του μαθήματος είναι η κατανόηση της αρχιτεκτονικής των σύγχρονων υπολογιστικών συστημάτων, της λειτουργίας τους καθώς και του τρόπου επικοινωνίας τους με εξωτερικές μονάδες I/O και το Διαδίκτυο.  Παράλληλα, το μάθημα στοχεύει στην κατανόηση των χαρακτηριστικών της οικογένειας μικροεπεξεργαστών 80x86, τους τρόπους διευθυνσιοδότησης, τις εντολές μεταφοράς δεδομένων, αριθμητικές/λογικές, τις εντολές ελέγχου ροής του προγράμματος, τον προγραμματισμό, τις προδιαγραφές υλικού, τη διεπαφή μνήμης και εισόδου/εξόδου, το σύστημα διακοπών, το μηχανισμό απευθείας προσπέλασης μνήμης, τον αριθμητικό συνεπεξεργαστή, την εκτέλεση εντολών σταθερής και κινητής υποδιαστολής, τη διασύνδεση με τους διαύλους διευθύνσεων, δεδομένων και ελέγχου. Η ύλη καλύπτει όλες τις εκδόσεις της οικογένειας Intel, από τον 8086 μέχρι τους σύγχρονους πολυπύρηνους μικροεπεξεργαστές.
Επίσης, στο μάθημα αναλύονται θέματαδιασύνδεσης σύγχρονων μικροελεγκτών (ESP32, STM32, Arduinio, Pi Pico) μέσω του πρωτοκόλλου MQTT με IoT πλατφόρμες (HiveMQ MQTT broker, ThingSpeak, ThingsBoard κλπ.) για την ανάπτυξη εφαρμογών παρακολούθησης και ελέγχου μέσω του Internet (IoT).
 
Με την επιτυχή ολοκλήρωση του μαθήματος, οι φοιτητές:
Σε επίπεδο γνώσεων:
  1. Θα γνωρίζουν τον προγραμματισμό της οικογένειας μικροεπεξεργαστών Intel 80x86.
  2. Θα γνωρίζουν τους τρόπους διευθυνσιοδότησης.
  3. Θα γνωρίζουν τις διαφορές λειτουργίας σε πραγματικό και προστατευμένο τρόπο.
  4. Θα γνωρίζουν τις διεπαφές μνήμης και τη διασύνδεση με προγραμματιζόμενες συσκευές ειδικού σκοπού (82C55, 8279, 8254, 16550, ADC0804, DAC0830,  8259A, 8237).
  5. Θα γνωρίζουν το μηχανισμό διακοπών.
  6. Θα γνωρίζουν το μηχανισμό απευθείας προσπέλασης της μνήμης (Direct Memory Access – DMA).
  7. Θα γνωρίζουν την αριθμητική σταθερής και κινητής υποδιαστολής.
  8. Θα γνωρίζουν τις διαφορές μεταξύ των αρχιτεκτονικών CISC και RISC.
  9. Θα γνωρίζουν τις τεχνολογίες προγραμματισμού και διασύνδεσης σύγχρονων μικροελεγκτών μέσω του Διαδικτύου (IoT) για εφαρμογές εποπτείας και ελέγχου .
Σε επίπεδο δεξιοτήτων - ικανοτήτων:
  1. Θα μπορούν να αναπτύξουν προγράμματα λογισμικού σε συμβολική γλώσσα της οικογένειας Intel 80x86.
  2. Θα μπορούν να εκτελούν πράξεις σταθερής και κινητής υποδιαστολής.
  3. Θα μπορούν να σχεδιάσουν μικροϋπολογιστικά συστήματα συνδεδεμένα με μνήμη και περιφερειακές συσκευές εισόδου/εξόδου με σκοπό τη δημιουργία σύνθετων μικροσυστημάτων υλικού και λογισμικού.
  4. Θα μπορούν να σχεδιάσουν συστήματα που θα διασυνδέονται μέσω του Διαδικτύου (IoT) για εφαρμογές εποπτείας και ελέγχου.
Γενικές Ικανότητες
  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών με τη χρήση και των απαραίτητων τεχνολογιών.
  • Αυτόνομη εργασία.
  • Ομαδική εργασία.
  • Εργασία σε διεθνές περιβάλλον.
  • Προαγωγή της ελεύθερης, δημιουργικής και επαγωγικής σκέψης.


3. ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ

Το μάθημα αποτελείται από τις ακόλουθες ενότητες:
  1. Βασικές έννοιες: Ιστορική αναδρομή, υλικό και λογισμικό, αριθμητικά συστήματα, δομή, οργάνωση και λειτουργία υπολογιστών, κεντρική μονάδα επεξεργασίας, σύστημα μνήμης, αποκωδικοποίηση διευθύνσεων μνήμης, είδη εντολών γλώσσας μηχανής, αρχιτεκτονική συνόλου εντολών, μικροεπεξεργαστές σύνθετου και μειωμένου συνόλου εντολών.
  2. Αρχιτεκτονική του μικροεπεξεργαστή: Μονάδα ελέγχου, αριθμητική/λογική μονάδα, καταχωρητές γενικού και ειδικού σκοπού, μοντέλο προγραμματισμού και λειτουργία πραγματικού και προστατευμένου τρόπου λειτουργίας.
  3. Τρόποι διευθυνσιοδότησης: Απ’ ευθείας, μέσω καταχωρητή, άμεση, έμμεση μέσω καταχωρητή, μέσω βάσης και δείκτη, σχετική ως προς καταχωρητή, σχετική ως προς βάση και δείκτη, μέσω κλιμακωτού δείκτη.
  4. Εντολές: Μεταφοράς δεδομένων, αριθμητικές/λογικές εντολές και ελέγχου προγράμματος. 
  5. Προγραμματίζοντας τον μικροεπεξεργαστή: Αρθρωτός προγραμματισμός, μακροεντολές, τοπικές εντολές σε μακροεντολή, ρουτίνες και συναρτήσεις, χρήση συναρτήσεων του DOS.
  6. Χάρτης και λειτουργίες ακροδεκτών: Ανάθεση και συνδέσεις ακροδεκτών, χαρακτηριστικά εισόδου/εξόδου, αποπολύπλεξη διαύλων διευθύνσεων και δεδομένων, σύστημα οδήγησης, χρονισμός διαύλων, ελεγκτής διαύλου 8288.
  7. Διεπαφή μνήμης: Τύποι μνημών, συνδέσεις διευθύνσεων, επιλογής και δεδομένων, μνήμη ROM και RAM, αποκωδικοποίηση διευθύνσεων.
  8. Συνδεσμολογία εισόδου/εξόδου: Απομονωμένο I/O και απεικονιζόμενο σε μνήμη I/O, εντολές εισόδου/εξόδου, αποκωδικοποίηση διευθύνσεων θυρών I/O, προγραμματιζόμενη περιφερειακή διεπαφή 82C55, διεπαφή πληκτρολογίου/οθόνης 8279, χρονιστής διαστημάτων 8254, διεπαφή επικοινωνίας 16550, A/D ADC0804, D/A DAC0830, ελεγκτής διακοπών 8259A, ελεγκτής DMA 8237.
  9. Σύγχρονοι μικροελεγκτές και ενσωμάτωσή τους στην υποδομή IoT. Σύγχρονοι μικροελεγκτές (ESP32, STM32, Arduinio, Pi Pico), τοπικά πρωτόκολλα για σύνδεση με αισθητήρες και ενεργοποιητές (I2C, SPI, κλπ.), προγραμματισμός μέσω C/MicroPython, πρωτόκολλο για σύνδεση στο IoT (MQTT),  ανάπτυξη εφαρμογών παρακολούθησης και ελέγχου μέσω του Internet.
Εργαστηριακές Ασκήσεις
emu8086
  1. Δομή προγραμμάτων, μακροεντολές, αριθμητικές εντολές, ολίσθησης και περιστροφής, εντολές διακλάδωσης υπό συνθήκη για δομές ελέγχου απλής, σύνθετης και πολλαπλής επιλογής και εφαρμογή σε υπολογισμό σύνθετων λογικών εκφράσεων.
  2. Εισαγωγή, επεξεργασία και εκτύπωση συμβολοσειρών, επεξεργασία πινάκων (αντιγραφή, αναζήτηση, εύρεση τιμών, κλπ.).
8086 trainer kit και multi-application board 
  1. Απλές λειτουργίες I/O με χρήση διακοπτών και LEDs, Analog to Digital (A/D) και Digital to Analog (D/A) μετατροπές.
  2. Έλεγχος ταχύτητας και φοράς DC κινητήρα με γραμμικό ποτενσιόμετρο.
ESP32 
  1. Διασύνδεση του ESP32 με συσκευές εισόδου/εξόδου (αναλογικές και ψηφιακές) και υλοποίηση τοπικού σεναρίου ελέγχου.
  2. Διασύνδεση του ESP32 με MQTT broker και υλοποίηση IoT σεναρίου παρακολούθησης και ελέγχου.


4. ΔΙΔΑΚΤΙΚΕΣ και ΜΑΘΗΣΙΑΚΕΣ ΜΕΘΟΔΟΙ – ΑΞΙΟΛΟΓΗΣΗ

ΤΡΟΠΟΣ ΠΑΡΑΔΟΣΗΣ: Πρόσωπο με πρόσωπο στην τάξη. Εξ΄ αποστάσεως μέσω του συστήματος e-Class.
ΧΡΗΣΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ Χρήση Τ.Π.Ε. στη Διδασκαλία, στην Εργαστηριακή Εκπαίδευση, στην Επικοινωνία με τους φοιτητές
  • Διαφάνειες (ppt) για τη διδασκαλία του θεωρητικού μέρους, οι οποίες έχουν αναρτηθεί από την αρχή του εξαμήνου στο e-Class.
  • Υποστήριξη μαθησιακής διαδικασίας μέσω της πλατφόρμας e-Class (για γνωστοποίηση του κανονισμού λειτουργίας μαθήματος, για διανομή διαφανειών, συμπληρωματικού υλικού, ανακοινώσεων, συνδέσμων και βιβλιογραφίας, κλπ).
  • Microsoft Macro Assembler 8.0 (MASM) Package (x86): Προσομοιωτής συγγραφής και εκτέλεσης προγραμμάτων σε assembly 80x86.
  • emu8086: Προσομοιωτής συγγραφής και εκτέλεσης προγραμμάτων σε assembly 80x86.
  • 8086 trainer kit και multi-application board.
  • ESP32 – MQTT broker.
ΟΡΓΑΝΩΣΗ ΔΙΔΑΣΚΑΛΙΑΣ
Φόρτος Εργασίας Εξαμήνου:
Διαλέξεις Θεωρίας 39
Εργαστηριακές ασκήσεις με χρήση ειδικού λογισμικού 13
Προετοιμασία εργαστηριακών ασκήσεων 13
Αυτοτελής μελέτη διαλέξεων και βιβλιογραφίας 60
Σύνολο Μαθήματος 125 (5 ECTS)
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ 
(α) Τελική γραπτή εξέταση επί του θεωρητικού μέρους του μαθήματος.
(β) Ολοκλήρωση του εργαστηρίου με την παράδοση των εργαστηριακών ασκήσεων.
Η παράδοση όλων των εργαστηριακών ασκήσεων είναι υποχρεωτική. Ο τελικός βαθμός προκύπτει από την στάθμιση των βαθμών θεωρίας και εργαστηρίου με συντελεστές βαρύτητας 60% και 40%, αντίστοιχα.
Βαθμός = (α)*60%+(β)*40%
Η αξιολόγηση γίνεται στην ελληνική γλώσσα. Προϋπόθεση για προβιβάσιμο τελικό βαθμό είναι η ύπαρξη προβιβάσιμων βαθμών, τόσο στη θεωρία όσο και στο εργαστήριο.


5. ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ

  1. Bhurchandi, A. Ray, “Advanced Microprocessors and Peripherals”, 3rd edition, Tata McGraw Hill, 2017.
  2. B. Brey, “The INTEL Microprocessors, Architecture, Programming and Interfacing”, 8th edition, 2009.
  3. Sivarama P. Dandamudi, “Introduction to Assembly Language Programming For Pentium and RISC Processors”, 2005.
  4. Kip R. Irvine, “Assembly Language for x86 Processors”, 6th edition, 2011.
  5. Richard Detmer, “Introduction to 80x86 Assembly Language and Computer Architecture”, 2001.
  6. Κ. Πεκμεστζή, “Συστήματα μικροϋπολογιστών I: Μικροεπεξεργαστές 80x86, Pentium και ARM”, Εκδόσεις Συμμετρία, 2009.
  7. Γ. Φ. Αλεξίου, “Μικροεπεξεργαστές και σχεδιασμός μικροϋπολογιστικών συστημάτων”, Εκδόσεις Κλειδάριθμος, 2012.
  8. Δ. Πογαρίδη, “Σχεδίαση συστημάτων μικροεπεξεργαστών”, Εκδόσεις Β. Γκιούρδα, 2006.
  9. Intel 64 and IA -32 Architectures Software Developer's Manual, 2006.
  10. HiveMQ, “MQTT & MQTT 5 Essentials” URL: https://www.hivemq.com/mqtt-5/