Ο φοιτητής αρχικά διδάσκεται εν συντομία, υπό μορφή επανάληψης, θέματα που αφορούν στις αρχές και πρακτικές της ακολουθιακής λογικής. Έμφαση δίδεται στα θέματα που δεν καλύπτει το μάθημα της λογικής σχεδίασης όπως α) η ανάλυση χρονισμού των ψηφιακών συστημάτων, μελετώντας τη μετασταθερότητα και πώς αυτή αντιμετωπίζεται με τη χρήση των συγχρονιστών, β) τα αριθμητικά συστήματα σταθερής και κινητής υποδιαστολής, και γ) ο χωρικός και χρονικός παραλληλισμός για την αύξηση των επιδόσεων ενός ψηφιακού συστήματος.
Στη συνέχεια ο φοιτητής διδάσκεται τη γλώσσα περιγραφής υλικού VHDL για προσομοίωση και ορθή σύνθεση μέσα από τα κυκλώματα της διαδρομής δεδομένων και της μονάδας ελέγχου ενός επεξεργαστή αρχιτεκτονικής ARM και τα απαιτούμενα testbenches. Αρχικά, δίδεται η περιγραφή απλών συνδυαστικών και ακολουθιακών κυκλωμάτων (π.χ. αποκωδικοποιητές, πολυπλέκτες, καταχωρητές, μέτρητές), στη συνέχεια δίδεται η περιγραφή κυκλωμάτων αριθμητικής (αθροιστές, αφαιρέτες, συγκριτές, μονάδα ALU, ολισθητές και περιστροφείς), κατόπιν δίδεται η περιγραφή της μονάδας ελέγχου ως μηχανή πεπερασμένων καταστάσεων (για μικροαρχιτεκτονικές πολλών κύκλων) και τέλος δίδεται η περιγραφή διατάξεων μνήμης (ROM, RAM και αρχεία καταχωρητών).
Τέλος, ο φοιτητής διδάσκεται την αρχιτεκτονική του επεξεργαστή ARM (εντολές, συμβολική γλώσσα, προγραμματισμός, γλώσσα μηχανής) και μαθαίνει τις λεπτομέρειες της πραγματικής σχεδίασης ενός επεξεργαστή αρχιτεκτονικής ARM και για τις τρεις βασικές μικροαρχιτεκτονικές του (ενός κύκλου, πολλών κύκλων και διοχέτευσης), οι οποίες υιοθετούν διαφορετικούς συμβιβασμούς μεταξύ επιδόσεων και κόστους. Οι συμβιβασμοί αναλύονται σε βάθος, ώστε να κατανοήσει ο φοιτητής τη χρησιμότητα των βασικών μικροαρχιτεκτονικών στην πράξη.
Στο εργαστήριο του μαθήματος οι φοιτητές χρησιμοποιούν τα εργαλεία λογισμικού της XILINX (WebPACK edition του Vivado Design Suite) για να σχεδιάζουν, να επαληθεύουν την ορθή σχεδίαση με προσομοίωση (γράφοντας τα απαραίτητα testbenches), να συνθέτουν και να υλοποιούν, αρχικά, μετρητές και μηχανές πεπερασμένων καταστάσεων, στη συνέχεια μία μονάδα ασύγχρονης σειριακής επικοινωνίας UART και, τέλος, έναν πυρήνα επεξεργαστή αρχιτεκτονικής ARM.
Προαιρετικά, αντί γραπτής εξέτασης, οι φοιτητές διευρύνουν τις γνώσεις τους με την υλοποίηση του πυρήνα επεξεργαστή αρχιτεκτονικής ARM και της μονάδας UART στην αναπτυξιακή κάρτα Zedboard της Xilinx, που φιλοξενεί ένα FPGA της σειράς Zynq 7000 της Xilinx, την εγκαθίδρυση επικοινωνίας μεταξύ του πυρήνα επεξεργαστή και του υπολογιστή (host PC) και την επαλήθευση της ορθής σχεδίασης στο επίπεδο του FPGA (FPGA in-the-loop verification).
Το μάθημα καλύπτει τα ακόλουθα θέματα:
• Επανάληψη σε θέματα αρχών και πρακτικών ακολουθιακής λογικής.
• Ανάλυση χρονισμού ψηφιακών συστημάτων, μετασταθερότητα και συγχρονιστές.
• Αριθμητικά συστήματα σταθερής και κινητής υποδιαστολής.
• Αύξηση επιδόσεων ψηφιακού συστήματος με χωρικό και χρονικό παραλληλισμό.
• Γλώσσα περιγραφής υλικού VHDL για προσομοίωση και σύνθεση.
• Περιγραφή ψηφιακών δομικών στοιχείων σε VHDL.
• Αρχιτεκτονική επεξεργαστών ARM (εντολές, συμβολική γλώσσα, προγραμματισμός, γλώσσα μηχανής).
• Λεπτομερείς σχεδίαση επεξεργαστή αρχιτεκτονικής ARM και για τις τρεις βασικές μικροαρχιτεκτονικές του (ενός κύκλου, πολλών κύκλων και διοχέτευσης).
• Ανάλυση επιδόσεων και κόστος για τις τρεις βασικές μικροαρχιτεκτονικές.
• Χρήση αναπτυξιακής κάρτας Zedboard και επαλήθευση της ορθής σχεδίασης στο επίπεδο του FPGA.
Με την έναρξη των μαθημάτων ο φοιτητής λαμβάνει σε ηλεκτρονική μορφή όλες τις διαφάνειες των παραδόσεων οργανωμένες κατά τέτοιον τρόπο, ώστε να μυηθεί όχι μόνο στη λογική σχεδίαση, αλλά και στη διαδικασία της μάθησης και στην ανάπτυξη συλλογισμών. Οι διαφάνειες των παραδόσεων χρησιμοποιούνται από τους φοιτητές κατά τη διάρκεια των παραδόσεων σαν "σημειωματάριο" στο οποίο μπορούν να σημειώνουν τυχούσες απορίες ή διευκρινίσεις καθώς και τη λύση επιλεγμένων ασκήσεων. Στο τέλος των παραδόσεων ο φοιτητής, που παρακολούθησε το μάθημα, θα έχει στα χέρια του ένα ολοκληρωμένο εκπαιδευτικό υλικό, που δημιουργήθηκε με τη δική του συμμετοχή και αυτενέργεια. Το υλικό αυτό θα είναι η βάση της προετοιμασίας του για την τελική αξιολόγησή του.
Εργαστηριακό φυλλάδιο.
Η διδασκαλία του μαθήματος βασίζεται στο βιβλίο «Ψηφιακή Σχεδίαση και Αρχιτεκτονική Υπολογιστών, Έκδοση ARM», των Sarah L. Harris και David Money Harris, (επιστημονική επιμέλεια στα ελληνικά: Α. Πασχάλης), Κλειδάριθμος, 2019. (τίτλος πρωτοτύπου: “Digital Design and Computer Architecture, ARM Edition”, Elsevier/Morgan Kaufmann, 2016).