ΗΥ-120 - Ψηφιακή Σχεδίαση:
Περιγραφή του Μαθήματος
Στόχος του Μαθήματος:
Οι υπολογιστές (τόσο οι αυτόνομοι όσο και οι ενσωματωμένοι
σε άλλες μηχανές, όπως αυτοκίνητα, τηλεοράσεις, κλπ),
τα δίκτυα (όπως το Internet),
και οι τηλεπικοινωνίες (τηλέφωνα, κινητά, ασύρματοι, κλπ)
είναι όλα κατασκευασμένα, σήμερα πιά, από μικροηλεκτρονικά chips
που στην συντριπτική τους πλειοψηφία είναι
ψηφιακά.
Αυτό το μάθημα μιλάει γιά τα ψηφιακά συστήματα
–γιά τη βάση δηλαδή όλης της σύγχρονης τεχνολογίας της πληροφορίας.
Ο στόχος του μαθήματος είναι να διδάξει
στη νέα φοιτήτρια και το νέο φοιτητή των υπολογιστών
το τι είναι ψηφιακό κύκλωμα,
τις βασικές και απαραίτητες έννοιες και στοιχεία της ψηφιακής σχεδίασης,
και πώς με αυτά μπορεί να φτιάξει κανείς
ένα σημαντικό και κεντρικό παράδειγμα ψηφιακού κυκλώματος:
έναν απλούστατο υπολογιστή.
Βέβαια, ο υπολογιστής που θα φτιάξουμε σε αυτό το πρώτο μάθημα
θα είναι υπεραπλουστευμένος (γι' αυτό και εξαιρετικά αργός)
αλλά παρ' όλα αυτά θα είναι ένας υπολογιστής!
Η συνέχεια του μαθήματος αυτού είναι το μάθημα
"Οργάνωση Υπολογιστών"
(ΗΥ-225),
στο εαρινό εξάμηνο του 2ου έτους,
όπου ο φοιτητής θα ακούσει γιά το πώς είναι
οι πραγματικοί σημερινοί υπολογιστες (όχι οι εδώ υπεραπλουστευμένοι),
πώς είναι η γλώσσα μηχανής τους,
η κατασκευή του επεξεργαστή και της μνήμης τους,
και πώς λειτουργεί η επικοινωνία τους με τον έξω κόσμο.
Το παρόν μάθημα (ΗΥ-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 ελέγχου του απλού επεξεργαστή.
-
Τεχνολογία:
ολοκληρωμένα κυκλώματα, κόστος, ταχύτητα, κατανάλωση,
και παράγοντες που τα επηρεάζουν.
Εργαστήριο:
Το μάθημα περιλαμβάνει εβδομαδιαίες δίωρες εργαστηριακές ασκήσεις
με χρήση breadboard, διακοπτών, LED, ηλεκτρονόμων, chips (TTL, CMOS),
και ενός απλού datapath ενός υπολογιστή τύπου συσσωρευτή
με δύο χωριστές μνήμες (εντολών, δεδομένων)
και πλήθος ενδείκτικών λυχνιών 7-segment
γιά την παρακολούθηση της κατάστασής του,
το οποίο οι φοιτητές μετατρέπουν σε στοιχειώδη υπολογιστή
υλοποιώντας τον έλεγχό του στο breadboard.
-
Υπάρχουν 13 δίωρες εργαστηριακές ασκήσεις, μία ανά εβδομάδα
(εργαστήρια 0 έως και 12).
-
Οι ασκήσεις είναι ατομικές: κάθε φοιτητής εργάζεται μόνος.
-
Κάθε εργαστηριακό τμήμα περιλαμβάνει έως 13 φοιτητές
και εποπτεύεται και βαθμολογείται από ένα βοηθό - μτπτ. φοιτητή.
-
Υπάρχουν 24 εργαστηριακά τμήματα.
Στο εργαστήριο χωρούν έως δύο τμήματα ταυτόχρονα.
-
Κάθε φοιτητής παραμένει στο ίδιο εργαστηριακό τμήμα
καθ' όλο το εξάμηνο.
-
Χώρος Εργαστηρίου: Αίθουσα A109.
-
Ελεύθερες Ώρες Εργαστηρίου:
κάθε Δευτέρα και Τρίτη, από 10 π.μ. έως 6 μ.μ.,
ο χώρος του εργαστηρίου παραμένει ανοικτός και διαθέσιμος
γιά οιοδήποτε φοιτητή του μαθήματος (μέχρι μεγίστου 30 κάθε φορά)
επιθυμεί να προετοιμαστεί (ελεύθερα και χωρίς βαθμολόγηση)
πριν το κανονικό του δίωρο εργαστήριο της βδομάδας (όπου βαθμολογείται).
Συνιστάται να κάνουν χρήση της ελεύθερης αυτής προετοιμασίας
κυρίως οι πρωτοετείς φοιτητές που αισθάνονται
λιγότερο εξοικειωμένοι, από το Γυμνάσιο-Λύκειο,
με τα ηλεκτρικά κυκλώματα ή με εργασία σε εργαστήριο.
-
Κάθε άσκηση από την 1 ως την 12 βαθμολογείται
ως προς την κατανόηση της σχετικής θεωρίας,
προετοιμασία, εκτέλεση, και ποιότητα·
η άσκηση 0 είναι εισαγωγική και δεν βαθμολογείται.
Απουσία από μιάν άσκηση βαθμολογείται με μηδέν.
Λόγω του πλήθους των φοιτητών και των τμημάτων
δεν υπάρχει δυνατότητα αναπλήρωσης χαμένης άσκησης
σε άλλη μέρα ή ώρα.
Όμως, ο τελικός βαθμός εργαστηρίου προκύπτει σαν ο μέσος όρος
των 11 καλύτερων βαθμών ασκήσεων,
άρα μέχρι μία απουσία εργαστηρίου το εξάμηνο δεν έχει συνέπειες
(συμφέρει πάντως να μην απουσιάσετε στα σημαντικά εργαστήρια,
που έχουν υψηλότερο συντελεστή βάρους βαθμολογίας
–λεπτομέρειες παρακάτω, στην ενότητα "Βαθμολογία").
-
Όλοι ανεξαιρέτως οι εγγεγραμμένοι στο μάθημα
υποχρεούνται να συμμετάσχουν στα εργαστήρια,
ανεξαρτήτως τυχόν παλαιότερης εγγραφής στο μάθημα.
Κανείς βαθμός εργαστηρίου από προηγούμενα έτη
δεν μεταφέρεται.
Ευχαριστούμε το Ινστιτούτο Πληροφορικής του ΙΤΕ,
και ιδιαίτερα τους Μιχαήλ Λυγεράκη και Γεώργιο Καλοκαιρινό,
γιά τη σχεδίαση και μεγάλο μέρος της κατασκευής
του εργαστηριακού εξοπλισμού του μαθήματος.
Επίσης ευχαριστούμε την εταιρεία
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.
Βιβλία:
Οι φοιτητές του μαθήματος έχουν επιλογή ανάμεσα στα εξής δύο ή τρία βιβλία
(το τρίτο βιβλίο, Brown-Vranesic,
μοιάζει να το απέσυρε ο εκδότης του από τον "Εύδοξο"):
-
John Wakerly: "Ψηφιακή Σχεδίαση: Αρχές και Πρακτικές", τρίτη έκδοση,
Prentice Hall (2001),
Ελληνική μετάφραση: εκδόσεις Κλειδάριθμος (2002),
ISBN 960-209-728-0.
[Σύγγραμμα αριθμός 13946 στο σύστημα "Εύδοξος":
https://service.eudoxus.gr/search/#a/id:13946/0]
-
M. Morris Mano, Michael D. Ciletti: "Ψηφιακή Σχεδίαση", 5η έκδοση,
Αγγλικό πρωτότυπο: Prentice Hall (2012 - ISBN-13: 9780132774208),
Ελληνική μετάφραση: εκδόσεις Παπασωτηρίου (2013),
ISBN 978-960-491-084-7.
[Σύγγραμμα αριθμός 41963432 στο σύστημα "Εύδοξος":
https://service.eudoxus.gr/search/#a/id:41963432/0]
-
Stephen Brown, Zvonko Vranesic:
"Σχεδίαση Ψηφιακών Συστημάτων με τη Γλώσσα VHDL",
McGraw Hill (2000),
Ελληνική μετάφραση: Εκδόσεις Τζιόλα (2001),
ISBN 960-8050-50-2.
[Σύγγραμμα αριθμός 9534 στο σύστημα "Εύδοξος":
https://service.eudoxus.gr/search/#a/id:9534/0]
Ο διδάσκων έχει μιάν ελαφρά προτίμηση
στο πρώτο από τα παραπάνω βιβλία (του Wakerly),
λόγω μεγαλύτερης ευρύτητας ύλης και βαθύτερης/ωριμότερης παρουσίασης
(ενώ μερικοί άλλοι γνωστοί του προτιμούν εκείνο του Mano)·
πάντως, και τα τρία βιβλία είναι πολύ καλά.
Γιά εμάς εδώ στο Παν. Κρήτης και στο ΙΤΕ-ΙΠ, το δεύτερο βιβλίο
(του Mano) έχει το πλεονέκτημα ότι χρησιμοποιεί τη γλώσσα Verilog
που και εμείς χρησιμοποιούμε (σε άλλα μαθήματα και στην έρευνά μας),
έναντι της VHDL των άλλων δύο.
Και τα τρία βιβλία καλύπτουν τα περισσότερα θέματα του μαθήματος,
εκτός –κυρίως– τους ηλεκτρονόμους, τα διφασικά ρολόγια,
και αρκετά παραδείγματα που θα χρησιμοποιήσουμε
–ιδιαίτερα το παράδειγμα απλού επεξεργαστή του μαθήματος.
Από την άλλη, το μάθημα δεν περιλαμβάνει
μερικά από τα θέματα στα βιβλία.
Επίσης, το μάθημα θα επιμείνει λιγότερο απ' όσο τα βιβλία
σε αρκετά ειδικευμένα θέματα,
που είναι λιγότερο χρήσιμα στο γενικό ακροατήριο του μαθήματος,
και που διδάσκονται στο ΗΥ-220 ή αλλού.
Γιά τους λόγους αυτούς, συνιστάται ένθερμα στους εγγεγραμμένους φοιτητές
να παρακολουθούν ανελλειπώς τις διαλέξεις του μαθήματος,
οι οποίες πιστεύεται ότι θα τους βοηθήσουν
σημαντικά περισσότερο απ' όσο τα βιβλία
στην κατανόηση των εννοιών και της χρήσης τους.
Σημαντικό βοήθημα θα αποτελέσουν και οι λεπτομερείς εκφωνήσεις
των εργαστηριακών ασκήσεων.