Προσομοιωτής Plug-n-Play

«Φέρνοντας» τον αθέατο κόσμο ενός μικροεπεξεργαστή στην πραγματική ζωή

 
 
Αναβάθμιση από το χειροποίητο πρωτότυπο σύστημα, σε βιομηχανικά κατασκευασμένες μονάδες χρησιμοποιώντας προσαρμοσμένα PCB.
  • Από τις οθόνες Seven segment και τις LCD, στις έγχρωμες οθόνες RGB Oled
  • Προγραμματιζόμενα LED και κουμπιά
  • Όλα τα μπλοκ είναι ακριβώς ίδια
  • Οποιοδήποτε μπλοκ (τουβλάκι), μπορεί να τοποθετηθεί σε οποιαδήποτε ελεύθερη θέση στο motherboard
  • Χωρίς καλώδια

Ανακαλύψτε ένα καινοτόμο εργαλείο για την εκμάθηση μικροεπεξεργαστών:

Αναπτυξιακό ΚΙΤ Υλικοκεντρικού προσομοιωτή μικροϋπολογιστών (HOMSDK), βασισμένο στο έργο HOMS




Με μια ματιά

  • Μπλοκ (τουβλάκια) Plug-n-Play
  • Πανομοιότυπα μπλοκ
  • Ειδικά motherboards για τοποθέτηση των μπλοκ
  • Βασίζεται στην πλατφόρμα Arduino
  • Εύκολη αναπαραγωγή
  • Προσαρμοσμένα εκπαιδευτικά σενάρια
  • Κατάλληλο για εκπαιδευτές και ερευνητές στο πεδίο της εκπαίδευσης μηχανικών

Δείτε την άδεια

Κάθε εσωτερική μονάδα του μικροεπεξεργαστή
είναι υλοποιημένη ως ένα απλό πανομοιότυπο μπλοκ (τουβλάκι)

  • Καταχωρητές γενικής και ειδικής χρήσης
  • Αριθμητική & Λογική μονάδα (ALU) / SR και Μονάδα ελέγχου
  • Μνήμη - Σύστημα Ε/Ε
Εύκολη εγκατάσταση
  • Το motherboard έχει ενσωματωμένους διαύλους επικοινωνίας και γραμμές τροφοδοσίας
  • Ένα μπλοκ (τουβλάκι) μπορεί να συνδεθεί σε οποιαδήποτε ελεύθερη θέση
  • Δύο ή περισσότερα motherboard, μπορούν να συνδεθούν μέσω ειδικών κυκλωμάτων, τα οποία λειτουργούν ως γέφυρες
  • Κάθε motherboard διαθέτει τέσσερις θέσεις τοποθέτησης μπλοκ
  • Όλα τα συνδεδεμένα μπλοκ μπορούν να τροφοδοτηθούν από οποιαδήποτε σύνδεση USB κάποιου μπλοκ ή μέσω εξωτερικής τροφοδοσίας, η οποία συνδέεται στην ειδική υποδοχή (barrel jack)

Ειδικό λογισμικό προγραμματισμού και διαχείρισης υλικοκεντρικού προσομοιωτή

 

Έχει αναπτυχθεί ειδικό λογισμικό για τον έλεγχο του υλικοκεντρικού προσομοιωτή:

  • Έτοιμος κώδικας για κάθε μπλοκ (καταχωρητής, μονάδα ελέγχου, αριθμητική & λογική μονάδα, μονάδα μνήμης, κλπ)
  • Δυνατότητα μεταγλώττισης και μεταφόρτωσης του εκτελέσιμου κώδικα απευθείας στο Arduino του συνδεδεμένου μπλοκ (δεν απαιτείται η χρήση του Arduino IDE)
  • Ο χρήστης μπορεί να αναπτύξει το δικό του κώδικα και να κάνει στη συνέχεια τη μεταφόρτωση στο επιλεγμένο μπλοκ
  • Δυνατότητα αποτύπωσης πληροφοριών και δεδομένων από επιλεγμένο μπλοκ προς τον υπολογιστή για λόγους παρακολούθησης σε πραγματικό χρόνο
  • Ο έτοιμος κώδικας μπορεί να μεταβληθεί από τον χρήστη, ενώ υπάρχει και η δυνατότητα επαναφοράς στην αρχική έκδοση
  • Οι πιο προχωρημένοι χρήστες, μπορούν να ενημερώσουν αυτόματα ή χειροκίνητα το Arduino-CLI, στο οποίο βασίζεται η μεταγλώττιση και μεταφόρτωση
  • Δυνατότητα αυτόματης εισαγωγής εντολών ή προγράμματος Demo στη μνήμη, ώστε να μεταφορτωθεί στη μονάδα μνήμης του προσομοιωτή

Μοναδικά χαρακτηριστικά

Προσαρμόσιμη αρχιτεκτονική

Ο εκπαιδευτής ή ο εκπαιδευόμενος μπορεί να υλοποιήσει τη δική του αρχιτεκτονική χρησιμοποιώντας περισσότερα ή λιγότερα μπλοκ (φυσικά αντικείμενα).

Επαναχρησιμοποίηση των μπλοκ

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

Προγραμματιζόμενη λειτουργία

Βάσει του ενσωματωμένου λογισμικού, ένα μπλοκ μπορεί να λειτουργεί ως καταχωρητής, μονάδα ελέγχου, κλπ.

Πειραματική αρχιτεκτονική

Βάσει του αριθμού και του τύπου των μπλοκ, ο εκπαιδευτής ή ο εκπαιδευόμενος δοκιμάζει την πρωτότυπη αρχιτεκτονική ή διαιρεί μια λειτουργία σε μικρότερα στάδια και μπλοκ.

Ανάπτυξη εντολών Assembly

Μπορούν να αναπτυχθούν οι επιθυμητές εντολές Assembly, τις οποίες θα υποστηρίζει η πειραματική αρχιτεκτονική, ενώ προσφέρονται πολλαπλοί ρόλοι κατά την προσέγγιση του τελικού λειτουργικού μοντέλου: Προγραμματιστής/Χρήστης, Σχεδιαστής λογισμικού/υλικού, κλπ

Από την οπτική γωνία του υλικού

Το εργαλείο HOMS, δίνει έμφαση στο επίπεδο του υλικού, το οποίο είναι κρυμμένο στα υπάρχοντα εργαλεία προσομοίωσης. Έτσι, η «σύνδεση», εντολής, λειτουργίας και υλοποίησης στο υλικό είναι πιο ξεκάθαρη στο μυαλό των εκπαιδευόμενων

Πολλαπλές οπτικές γωνίες

Ο χρήστης του HOMS είναι ελεύθερος να αναπτ’υξει οποιαδήποτε εντολή assembly, η οποία υποστηρίζεται από το ενσωματωμένο λογισμικό.

Εκπαιδευτικά σενάρια

Χρησιμοποιώντας την βασική αρχιτεκτονική του εργαλείου HOMS, οι εκπαιδευτές μπορούν να αναπτύξουν τις επιθυμητές εντολές assembly, ώστε να διαμορφώσουν διαφορετικά εκπαιδευτικά σενάρια.

Standalone tool

Το εργαλείο HOMS δεν χρειάζεται υπολογιστή, αφού λειτουργεί αυτόνομα. Έτσι, αποτελεί ένα πιο φορητό εργαλείο για το εργαστήριο.

Εύκολη αναπαραγωγή

Οι μονάδες/εξαρτήματα υλικού του HOMS, μπορούν να βρεθούν εύκολα στην αγορά. Επίσης, η χρήση πανομοιότυπων μπλοκ, κάνει ευκολότερη τη διαδικασία αναπαραγωγής.

Ανοιχτότητα

Το κύριο πλεονέκτημα του εργαλείου HOMS είναι η αντικειμενοστρεφής προσέγγιση και η ανοιχτότητα του υλικού, δίνοντας ελεύθερα την ευκαιρία για υλοποίηση και πειραματισμό σε κάθε ενδιαφερόμενο.

VIDEO: Προγραμματίζοντας τα μπλοκ (τουβλάκια)

VIDEO: Εκτελώντας εντολές

Δείτε/Κατεβάστε αρχεία

Σύντομος οδηγός χρήσης του HOMS

Χάρτης συστήματος, λειτουργία μονάδας μνήμης, καταχώρηση δεδομένων, προφόρτωση κώδικα. Δείτε (PDF)

Δείτε/Κατεβάστε αρχεία από το Github

Github project

Άδεια

Αυτό είναι ένα open-source έργο υπό άδεια τύπου CC. Δείτε την άδεια σε αρχείο TXT ή δείτε την άδεια online

Δημοσίευση στο IEEE EDUCON 2024

Η πρώτη έκδοση παρουσιάστηκε στο διεθνές συνέδριο IEEE EDUCON2024, τον Μάϊο του 2024.Δείτε το αρχείο (PDF) || Το EDUCON 2024 στο web

Επιλεγμένη δημοσίευση (Προηγούμενη δουλειά)

P.M.Papazoglou, A Hybrid Simulation Platform for Learning Microprocessors, Computer Applications in Engineering Education, 10.1002/cae.21921, (pp 655-674) WILEY, 2018 online



Αν. Καθηγητής Δρ. Πάνος Παπάζογλου

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών (ΕΚΠΑ)
Ερευνητικό Εργαστήριο Διαδραστικών Ψηφιακών Συστημάτων
Τμ. Ψηφιακών Τεχνών και Κινηματογράφου


Επικοινωνία: papaz [at] dcarts [dot] uoa [dot] gr

Copyright © Δρ. Παναγιώτης (Πάνος) Παπάζογλου