ΗΥ-120 - Ψηφιακή Σχεδίαση:
Περιγραφή του Μαθήματος
Στόχος του Μαθήματος:
Οι υπολογιστές (και οι αυτόνομοι και οι ενσωματωμένοι
σε άλλες μηχανές, π.χ. αυτοκίνητα, τηλεοράσεις, ιατρικές συσκευές, κλπ),
τα δίκτυα (π.χ. Internet),
και οι τηλεπικοινωνίες (τηλέφωνα, κινητά, ασύρματοι, κλπ)
είναι όλα κατασκευασμένα, σήμερα πιά, από μικροηλεκτρονικά chips
που στην συντριπτική τους πλειοψηφία είναι
ψηφιακά.
Αυτό το μάθημα μιλάει γιά τα ψηφιακά συστήματα
–γιά τη βάση δηλαδή όλης της σύγχρονης τεχνολογίας της πληροφορίας.
Ο στόχος του μαθήματος είναι να διδάξει
στη νέα φοιτήτρια και φοιτητή των υπολογιστών
το τι είναι ψηφιακό κύκλωμα,
τις βασικές και απαραίτητες έννοιες και στοιχεία της ψηφιακής σχεδίασης,
και πώς με αυτά μπορεί να φτιάξει κανείς
ένα σημαντικό και κεντρικό παράδειγμα ψηφιακού κυκλώματος:
έναν απλούστατο υπολογιστή.
Βέβαια, ο υπολογιστής που θα φτιάξουμε σε αυτό το πρώτο μάθημα
θα είναι υπεραπλουστευμένος (γι' αυτό και εξαιρετικά αργός)
αλλά παρ' όλα αυτά θα είναι ένας υπολογιστής!
Η συνέχεια του μαθήματος αυτού είναι το μάθημα
"Οργάνωση Υπολογιστών"
(ΗΥ-225), (εαρινά εξάμηνα),
όπου ο φοιτητής θα ακούσει γιά το πώς είναι
οι πραγματικοί σημερινοί υπολογιστες (όχι οι εδώ υπεραπλουστευμένοι),
πώς είναι η γλώσσα μηχανής τους,
η κατασκευή του επεξεργαστή και της μνήμης τους,
και πώς λειτουργεί η επικοινωνία τους με τον έξω κόσμο.
Το παρόν μάθημα (ΗΥ-120) και το ΗΥ-225
είναι τα δύο μαθήματα "κορμού" (υποχρεωτικά) του Τμήματός μας
στην περιοχή του υλικού (hardware)
των υπολογιστών και εν γένει των ψηφιακών συστημάτων,
και διδάσκουν όσα
όλοι οι απόφοιτοι πληροφορικής πρέπει να ξέρουν από αυτή την περιοχή
σαν ελάχιστη βασική γνώση.
Γιά αυτούς που επιθυμούν να μάθουν περισσότερα
γύρω από το υλικό (hardware),
υπάρχουν τα μαθημάτα επιλογής:
–
ΗΥ-220
"Εργαστήριο Ψηφιακών Κυκλωμάτων"
(ακολουθεί το 120, δεν προϋπ. το 225),
–
ΗΥ-425
"Αρχιτεκτονική Υπολογιστών"
(προϋποθέτει το ΗΥ-225), και
–
ΗΥ-428
"Εργαστήριο Ενσωματωμένων Επεξεργαστών"
(προϋποθέτει το ΗΥ-225),
Περιεχόμενο του Μαθήματος:
-
Μάθημα Κορμού Επιστήμης Υπολογιστών
(δηλ. υποχρεωτικό).
-
Διδακτικές Μονάδες: Οκτώ (8) ECTS.
-
Προαπαιτούμενα: Κανένα.
Περιεχόμενο:
-
Εισαγωγή:
ταχεία επανάληψη των ηλεκτρικών κυκλωμάτων·
διακόπτες και οι λογικές πράξεις ΚΑΙ-Ή-ΟΧΙ·
πολύπλεξη και η δομή της μνήμης (αρχικά της ROM)·
συνδυασμοί και αποκωδικοποίηση·
αντιστροφή ενός αποκωδικοποιητή δένδρου ηλεκτρονόμων
γιά το σχηματισμό ενός πολυπλέκτη·
αναλογικά και ψηφιακά συστήματα,
πλεονεκτήματα και εφαρμογές των ψηφιακών συστημάτων·
απλά κυκλώματα με ηλεκτρονόμους (relays), ανάδραση και μνήμη.
-
Συνδυαστικά Κυκλώματα:
πράξεις AND-OR-NOT, πίνακες αληθείας, παραδείγματα,
λογικές πύλες, IC chips,
Άλγεβρα Boole, διαγράμματα Venn, χάρτες Karnaugh, απλοποίηση.
-
Δυαδικοί Ακέραιοι Αριθμοί και Προσαφαιρέσεις:
πλήθος συνδυασμών και δυαδική αρίθμηση,
μη προσημασμένοι ακέραιοι, δυαδική πρόσθεση,
συνδυαστικά κυκλώματα αθροιστή.
Πολλαπλασιασμός / διαίρεση / υπόλοιπο με δυνάμεις του 2,
δηλ. επιλογή πεδίων από bits.
Προσημασμένοι αριθμοί:
συστροφή (wrap-around), αναπαράσταση σε συμπλήρωμα ως προς 2,
προσημασμένη πρόσθεση, αντίθετος αριθμού,
κύκλωμα αθροιστή/αφαιρέτη.
-
Μνήμη:
ανάδραση, ασταθή και δισταθή κυκλώματα, ταλαντωτές·
μανταλωτές (latches) τύπων RS και D, μονόμπιτοι και πολύμπιτοι·
RAM, οργάνωση κατά λέξεις και κατά bits,
διευθύνσεις και αποκωδικοποίηση διευθύνσεων.
-
Ακολουθιακά Κυκλώματα:
αναχρησιμοποίηση υλικού, ανάγκη σημάτων χρονισμού, διφασικά ρολόγια,
παραδείγματα (μετρητής, ολίσθηση, μεταφορά καταχωρητών),
flip-flops αφέντη-σκλάβου.
-
Datapath:
καταχωρητές, πολυπλέκτες, ALU's, παραδείγματα απλών datapaths·
τρικατάστατοι οδηγητές, λεωφόροι (buses)·
μνήμες SRAM, έλεγχος εγγραφής και ενεργοποίηση εξόδου,
κατασκευή μεγαλυτέρων μνημών από πολλαπλά chips SRAM.
-
Ένας απλός Επεξεργαστής:
παράδειγμα datapath ενός απλού επεξεργαστή με ένα συσσωρευτή,
γλώσσα μηχανής και assembly του απλού επεξεργαστή &
παραδείγματα προγραμμάτων assembly:
σειριακός κώδικας, διακλαδώσεις και βρόχοι,
έμμεσες προσπελάσεις και πίνακες.
-
FSM και Έλεγχος:
μηχανές πεπερασμένων καταστάσεων (FSM) και παραδείγματα:
ελεγκτής κυκλοφορίας, δέκτης σειριακής επικοινωνίας,
FSM ελέγχου επεξεργαστή.
-
Τεχνολογία: σύντομη εισαγωγή στα
ολοκληρωμένα κυκλώματα CMOS, κόστος, ταχύτητα, κατανάλωση ενέργειας,
και παράγοντες που τα επηρεάζουν.
Εργαστήριο:
Το μάθημα περιλαμβάνει εβδομαδιαίες δυομισάωρες εργαστηριακές ασκήσεις
με χρήση breadboard, διακοπτών, LED, ηλεκτρονόμων, chips (TTL, CMOS),
και ενός απλού datapath ενός υπολογιστή τύπου συσσωρευτή
με δύο χωριστές μνήμες (εντολών, δεδομένων)
και πλήθος ενδείκτικών λυχνιών 7-segment
γιά την παρακολούθηση της κατάστασής του,
το οποίο οι φοιτητές μετατρέπουν σε στοιχειώδη υπολογιστή
υλοποιώντας τον έλεγχό του στο breadboard.
-
Υπάρχουν 13 δίωρες εργαστηριακές ασκήσεις, μία ανά εβδομάδα
(εργ. 0 έως και 12).
Οι ασκήσεις είναι ατομικές: κάθε φοιτητής εργάζεται μόνος.
-
Κάθε άσκηση από την 1 ως την 12 βαθμολογείται
ως προς την κατανόηση της σχετικής θεωρίας,
προετοιμασία, εκτέλεση, και ποιότητα·
η άσκηση 0 είναι εισαγωγική και δεν βαθμολογείται.
Απουσία από άσκηση βαθμολογείται με μηδέν.
Όμως, ο τελικός βαθμός εργαστηρίου προκύπτει σαν ο μέσος όρος
των 11 καλύτερων βαθμών ασκήσεων,
άρα μέχρι μία απουσία εργαστηρίου το εξάμηνο δεν έχει συνέπειες
(συμφέρει πάντως να μην απουσιάσετε στα σημαντικά εργαστήρια,
που έχουν υψηλότερο συντελεστή βάρους βαθμολογίας
–βλ. παρακάτω, ενότητα "Βαθμολογία").
-
Όλοι οι νέοι εγγεγραμμένοι στο μάθημα
υποχρεούνται να συμμετάσχουν στα εργαστήρια.
Για τους επανεγγραφόμενους, η υποχρέωση ή μη εξαρτάται
από τη χωρητικότητα του εργαστήριου,
και ο σχετικός κανονισμός αλλάζει από έτος σε έτος
–βλ.
www.csd.uoc.gr/~hy120/lab/
-
Κάθε εργαστηριακό τμήμα περιλαμβάνει έως 26 φοιτητές,
και εποπτεύεται και βαθμολογείται από δύο βοηθούς,
μεταπτυχιακούς φοιτητές ή ΔΕΠΡΟΦΟΙΤ,
υπό την επίβλεψη και συντονισμό του κ. Νίκου Κρασσά.
Ευχαριστούμε το Ινστιτούτο Πληροφορικής του ΙΤΕ,
και ιδιαίτερα τους Μιχαήλ Λυγεράκη και Γεώργιο Καλοκαιρινό,
γιά τη σχεδίαση και μεγάλο μέρος της κατασκευής
του εργαστηριακού εξοπλισμού του μαθήματος.
Επίσης ευχαριστούμε την εταιρεία
Altera
(University Program)
γιά τη δωρεά υλικών αξίας 10.000 Ευρώ
στο εργαστήριο του μαθήματος.
We deeply appreciate
Altera
University Program's
donation of 10 thousand Euro worth of hardware
to this course's lab.
Βιβλία:
Οι φοιτητές του μαθήματος έχουν επιλογή ανάμεσα στα εξής τέσσερα βιβλία:
-
William J. Dally, R. Curtis Harting: "Ψηφιακή Σχεδίαση",
Cambridge Univ. Press (2012),
Ελληνική μετάφραση: Πανεπιστημιακές Εκδόσεις Κρήτης (2015),
ISBN 978-960-524-445-3.
[Σύγγραμμα αριθμός 32998377 στο σύστημα "Εύδοξος":
service.eudoxus.gr/search/#a/id:32998377/0]
-
John Wakerly: "Ψηφιακή Σχεδίαση: Αρχές και Πρακτικές", 5η έκδοση,
Pearson (2018),
Ελληνική μετάφραση: εκδόσεις Κλειδάριθμος (2019),
ISBN 978-960-645-001-3.
[Σύγγραμμα αριθμός 86195856 στο σύστημα "Εύδοξος":
service.eudoxus.gr/search/#a/id:86195856/0]
-
M. Morris Mano, Michael D. Ciletti: "Ψηφιακή Σχεδίαση", 6η έκδοση,
Αγγλικό πρωτότυπο:
"Digital Design" (Pearson, 2018, ISBN: 9780134549897),
Ελληνική μετάφραση: εκδόσεις Παπασωτηρίου (2018),
ISBN 978-960-491-113-4.
[Σύγγραμμα αριθμός 68406394 στο σύστημα "Εύδοξος":
service.eudoxus.gr/search/#a/id:68406394/0]
-
Stephen Brown, Zvonko Vranesic:
"Σχεδίαση Ψηφιακών Συστημάτων με τη Γλώσσα VHDL",
4η έκδοση, McGraw Hill, Ελληνική μετάφραση: Εκδόσεις Τζιόλα, 2024,
ISBN 978-618-221-003-1.
[Σύγγραμμα αριθμός 112706646 στο σύστημα "Εύδοξος":
service.eudoxus.gr/search/#a/id:112706646/0]
Ο διδάσκων συνιστά ένθερμα το
πρώτο βιβλίο, των Dally και Harting
(ή ίσως και το δεύτερο, του Wakerly).
Παρ' ότι το επίπεδο του πρώτου βιβλιου
είναι υψηλότερο από εκείνο του δικού μας μαθήματος,
όμως το βιβλιο αυτό είναι εξαιρετικό, θα κοσμεί τη βιβλιοθήκη σας,
και θα αποτελεί ένα θαυμάσιο εγχειρίδιο αναφοράς γιά σας
γιά αρκετά χρόνια στη μελλοντική σας σταδιοδρομία·
είναι σύγχρονο, και γραμμένο από έναν διεθνή ηγέτη της τεχνολογίας
(Chief Scientist της NVIDIA και καθηγητή στο Stanford).
Εάν αναζητάτε ένα βιβλίο ευκολότερο στο διάβασμα,
τότε διαλέξτε το τρίτο ή το τέταρτο –ενδεχομένως και το δεύτερο.
Το δεύτερο, του Wakerly, έχει μεγαλύτερη ευρύτητα ύλης
και βαθύτερη/ωριμότερη παρουσίαση από τα άλλα δύο,
άρα πλησιάζει περισσότερο στο πρώτο (του Dally)
(ίσως λίγο πιό ευκολοδιάβαστο από του Dally?).
Το τρίτο, του Mano,
είναι πολύ δημοφιλές σαν απλό και ευκολοδιάβαστο διδακτικό βιβλίο,
και γιά εμάς εδώ στο Παν. Κρήτης και στο ΙΤΕ-ΙΠ,
έχει το πλεονέκτημα ότι χρησιμοποιεί τη γλώσσα Verilog
που και εμείς χρησιμοποιούμε (σε άλλα μαθήματα και στην έρευνά μας),
όπως επίσης κάνουν και τα 1ο και 2ο (Dally, Wakerly),
έναντι της VHDL του τέταρτου.
Και τα τέσσερα βιβλία καλύπτουν τα περισσότερα θέματα του μαθήματος,
εκτός –κυρίως– τους ηλεκτρονόμους, τα διφασικά ρολόγια,
και αρκετά παραδείγματα που θα χρησιμοποιήσουμε
–ιδιαίτερα το παράδειγμα απλού επεξεργαστή του μαθήματος.
Από την άλλη, το μάθημα δεν περιλαμβάνει
μερικά από τα θέματα στα βιβλία,
και θα επιμείνει λιγότερο σε αρκετά ειδικευμένα θέματα
που διδάσκονται στο ΗΥ-220 ή αλλού.
Γιά τους λόγους αυτούς, συνιστάται ένθερμα στους εγγεγραμμένους φοιτητές
να παρακολουθούν ανελλειπώς τις διαλέξεις του μαθήματος,
οι οποίες πιστεύεται ότι θα τους βοηθήσουν
σημαντικά περισσότερο απ' όσο τα βιβλία
στην κατανόηση των εννοιών και της χρήσης τους.
Σημαντικό βοήθημα αποτελούν
οι λεπτομερείς εκφωνήσεις των εργαστηριακών ασκήσεων,
οι διαφάνειες διδασκαλίας, και
οι βιντεοσκοπημένες διαλέξεις του φθινοπώρου 2020.
Πρόγραμμα Διδασκαλίας, Εξέτασης Προόδου:
-
Εβδομαδιαία:
Δευτέρες, Τετάρτες, και Παρασκευές 12:15 - 14:00
στο Αμφιθέατρο "Στέλιος Ορφανουδάκης".
Οι περισσότερες εβδομάδες του εξαμήνου
θα περιλαμβάνουν τρία δίωρα διαλέξεων (ΔεΤεΠα),
ενώ μερικές δύο – δείτε την ιστοσελίδα
του μαθήματος γιά τον προγραμματισμό.
-
Το Φθινόπ. 2020 το μάθημα είχε βιντεοσκοπηθεί,
και τα σχετικά video διατίθενται μέσω της
ιστοσελίδας του μαθήματος.
Φέτος, το μάθημα θα είναι παρόμοιο με τότε,
άρα μπορείτε να χρησιμοποιήσετε τα video αυτά.
Μία ιδέα είναι
–ιδιαίτερα όσοι φοιτητές δυσκολεύεστε περισσότερο–
να τα παρακολουθείτε πριν από το μάθημα,
και στο μάθημα να ρωτάτε τις ερωτήσεις που σας γεννώνται.
-
Εξέταση Προόδου: το
Σάββατο 2 Νοεμβρίου 2024, ώρα 11-1 (βδομάδα 6).
Η συμμετοχή των φοιτητών είναι υποχρεωτική κατά την έννοια ότι
ο βαθμός αυτής της εξέτασης πάντα μετράει
–χωρίς όμως να υπάρχει ελάχιστο όριο αυτού του βαθμού
που να απαιτείται γιά να περάσει ο φοιτητής το μάθημα.
Βαθμολογία:
-
30 % από τον μέσο βάθμο Εργαστηρίου,
αρκεί αυτός να είναι τουλάχιστο τέσσερα (4.0)
(φοιτητές που είχαν κάνει το Εργαστήριο πέρυσι ή πρόπερσι
με σχετικά καλό βαθμό
έχουν την επιλογή να κρατήσουν τον πιο πρόσφατο τότε βαθμό τους,
αλλά με αυξημένο κατώφλι τελικής εξέτασης
–λεπτομέρεις στο
www.csd.uoc.gr/~hy120/lab/)
-
20 % από τον βαθμό της εξέτασης Προόδου, και
-
50 % από τον βαθμό τελικής εξέτασης (Α' ή Β' περιόδου),
αρκεί αυτός να είναι τουλάχιστο τρισήμισυ (3.5).
Το κάτω αυτό όριο αυξάνεται κατά μία (1) μονάδα για όσους επιλέξουν
να κρατήσουν βαθμό εργαστηρίου από προηγούμενο έτος.
Βαθμός εργαστηρίου κάτω του 4.0
ή βαθμός τελικής εξέτασης κάτω του 3.5
(ή κάτω του 4.5 με βαθμό εργαστηρίου προηγουμένου έτους)
προκαλεί αποτυχία στο μάθημα.
Οι εξετάσεις (προόδου & τελική) είναι με κλειστές σημειώσεις.
Κάθε αντιγραφή τιμωρείται αυστηρά.
Συνιστάται ένθερμα στους εγγεγραμμένους στο μάθημα
να διαβάζουν το μάθημα
καθ' όλη τη διάρκεια του εξαμήνου
–όχι μόνο κατά την εξεταστική περίοδο–
και να το περάσουν κατά την
Α' εξεταστική περίοδο
–η εμπειρία του διδάσκοντα δείχνει ότι
τα μαθήματα περνιούνται πολύ ευκολότερα τότε,
όταν η ύλη είναι ακόμη φρέσκια στη μνήμη.
Ο μέσος όρος βαθμών εργαστηρίου υπολογίζεται με συντελεστές βάρους,
διαφορετικούς γιά διάφορα εργαστήρια:
- 0.5 γιά το εργαστήριο 1,
- 0.7 γιά το εργαστήριο 2,
- 0.8 γιά το εργαστήριο 3,
- 1.0 γιά τα εργαστήρια 4 και 5,
- 0.9 γιά τα εργαστήρια 6, 7, 8,
- 1.2 γιά το εργαστήριο 9,
- 1.3 γιά το εργαστήριο 10,
- 1.4 γιά τα εργαστήρια 11 και 12.
Ο ακριβής τύπος υπολογισμού του μέσου βαθμού εργαστηρίων είναι:
Άθροισμα(W
i*B
i) γιά i=1,..12, μείον
Minimum(W
i*B
i) γιά i=1,..12,
και όλο διά έντεκα (11.0),
όπου W
i είναι ο συντελεστής βάρους του εργαστηρίου i, και
B
i είναι ο βαθμός του εργ. i.
Επομένως συμφέρει να μην απουσιάζετε
κατά τα εργαστήρια με μεγαλύτερο συντελεστή βάρους.
Διδάσκων, Υπεύθυνος Εργαστηρίου & Διαχείρισης, Βοηθοί:
-
Μανόλης Γ.Η. Κατεβαίνης, Ομότιμος Καθηγητής, CSD, UoC
– τηλ: 2810-39.3564 – ώρες γραφείου (συνήθως)
Δευτέρες - Τετάρτες μετά το μάθημα, ή και άλλες,
πάντα μετά από ηλτά/τηλ. επιβεβαίωσης, στο γραφείο Κ329
–ή στο αμφιθέατρο κατά τα διαλείματα του μαθήματος.
-
Νικόλαος Κρασσάς, μέλος ΕΤΕΠ (Ειδικό Τεχνικό Εργαστηριακό Προσωπικό),
CSD, UoC:
Υπεύθυνος Εργαστηρίου και Οργανωτικής Διαχείρισης
– ηλ-ταχ: nkrassas – Γραφείο: B217
– Τηλέφωνο: 2810-39.3595
-
Βοηθοί
– Μεταπτυχιακοί ή και
Διακεκριμένοι Προπτυχιακοί Φοιτητές (ΔΕΠΡΟΦΟΙΤ), CSD, UoC:
- Ασπετάκης, Δημήτριος
- Γκόλαντας, Ευάγγελος
- Δαμασκηνάκης, Κων/νος
- Κουτούπης, Στέφανος
- Ξανθάκης, Γεώργιος
- Πανταλός, Ιωάννης
- Πατρωνάκης, Εμμανουήλ
- Σαλούστρος, Γεώργιος
- Σχοιναράκη, Ελένη-Μαρία
- Τρούλης, Εμμανουήλ
- Τρπέσκι, Αντόνιο
- Εθελοντική συμμετοχή σε Φροντιστήρια & απαντήσεις ηλτά:
Νηστικάκη, Μαριλένα.
Ηλεκτρονική Επικοινωνία:
-
Ιστοσελίδα μαθήματος:
https://www.csd.uoc.gr/~hy120/
-
Κατάλογος ηλ-ταχ. βοηθών, υπευθ. Εργ., διδάσκοντα:
hy120 παπάκι csd.uoc.gr
-
Κατάλογος ηλ-ταχ. φοιτητών, βοηθών, υπευθ. Εργ., και διδάσκοντα:
hy120-list παπάκι csd.uoc.gr
Εγγραφείτε στέλνοντας e-mail στο
majordomo παπάκι csd.uoc.gr
που να περιέχει στο σώμα του μηνύματος (όχι στο θέμα)
τη γραμμή "subscribe hy120-list"
Η αποστολή μηνυμάτων πρέπει να γίνεται με φειδώ.
-
Το Θέμα όλων των μηνυμάτων πρέπει να είναι της μορφής:
Subject: [120] σαφής και σύντομος ορισμός θέματος - Α.Μ. Ονοματεπώνυμο
όπου "Α.Μ." είναι ο αριθμός μητρώου του ενδιαφερομένου (4 ψηφία),
και το "σαφής και σύντομος ορισμός θέματος"
δεν μπορεί να είναι απλώς π.χ. "βαθμός",
αλλά πρέπει να είναι π.χ.
"βαθμός εργ. 3 τμήμα Α4 γιατί μόνο 5?".