Click here for the Engilsh version of this page
Τι είναι το Rainbow Project;
To Rainbow Project σκοπεύει να σχεδιάσει, κατασκευάσει και προγραμματίσει ένα εκπαιδευτικό υπολογιστή από το μηδέν.
Τι σημαίνει από το μηδέν;
Το Rainbow Project δεν βασίζεται σε έτοιμα εξαρτήματα από το εμπόριο. Δεν πρόκειται για "συναρμολόγηση" υπολογιστή με τον τρόπο που φτιάχνεται ένα PC. Πρόκειται για από την αρχή ηλεκτρονική σχεδίαση ενός υπολογιστή από τα βασικά του εξαρτήματα.
Μα είναι δυνατόν να γίνει κάτι τέτοιο;
Προφανώς, αλλιώς δεν θα είχαμε τώρα υπολογιστές για να το συζητάμε :D Αν το ερώτημα σας ωστόσο είναι αν μπορεί να γίνει με τα μέσα που διαθέτει ένα hackerspace, η απάντηση είναι ναι αν φυσικά χρησιμοποιήσουμε εξαρτήματα παλιότερης τεχνολογίας. Δεν μπορούμε να κατασκευάσουμε μητρική και κυκλώματα για να βάλουμε πάνω ένα i5, μπορούμε όμως μια χαρά να σχεδιάσουμε για ένα επεξεργαστή της δεκαετίας του 80. Το Rainbow είναι ένας - όπως λέγεται διεθνώς - υπολογιστής homebrew.
Τι χρησιμότητα όμως έχει μια τέτοια κατασκευή;
Είναι εκπληκτικό το πόσο όλες οι βασικές αρχές λειτουργίας των υπολογιστών δεν έχουν αλλάξει τα τελευταία 30 χρόνια. Σχεδιάζοντας ένα υπολογιστή δεκαετίας 80 μαθαίνουμε πως λειτουργεί και ο σύγχρονος που έχουμε μπροστά μας. Εκτός των άλλων, το Rainbow Project προορίζεται να γίνει ένας εκπαιδευτικός υπολογιστής. Για το σκοπό αυτό θα τρέχει σε διάφορες ταχύτητες από πολύ αργά (μερικά Hz ή single step) ως πολύ γρήγορα και θα μας επιτρέπει μέσω LEDs να παρατηρήσουμε τη ροή των δεδομένων στους διαύλους. Το ολοκληρωμένο Rainbow θα χρησιμοποιείται μεταξύ άλλων για μαθήματα αρχιτεκτονικής υπολογιστών.
Πως θα προγραμματίζεται ο υπολογιστής αυτός;
Το Rainbow θα διαθέτει μνήμη ROM στην οποία θα βάλουμε μέσα βασικά προγράμματα επίδειξης που θα γράψουμε εμείς. Τα προγράμματα αυτά θα αναπτυχθούν σε assembly και θα εκτελεστούν αρχικά σε εξομοιωτή.
Θα γράψετε προγράμματα σε Assembly;;!!! Είστε τρελοί!
Προφανώς, και ευχαριστούμε για το κομπλιμέντο ;)
Ποια είναι τα τεχνικά χαρακτηριστικά του Rainbow Project;
Το Rainbow χρησιμοποιεί επεξεργαστή Ζ80 της Zilog. Είναι ο παλιός καλός επεξεργαστής που χρησιμοποιούνταν ευρύτατα στα μηχανήματα της δεκαετίας του 80 (βλέπε Spectrum, Amstrad, MSX...). Τον συνδυάζουμε με 8Kb ROM (EEPROM) και 2Kb static RAM. Υπάρχουν προοπτικές να μεγαλώσουμε και τα δύο (αν έρθουν ποτέ τα δεματάκια από Κίνα...). Περιλαμβάνει ακόμα μια οθόνη 16Χ2 ή 20Χ4 LCD σε δικό της κύκλωμα ελέγχου (με MSP430 microcontroller) και 32 LEDs τα οποία (όσο τρέχει σε αργή ταχύτητα) μπορούν να μας δείξουν τη λειτουργία του επεξεργαστή και την κίνηση δεδομένων στους διαύλους και τις μνήμες. Το Rainbow θα μπορεί να λειτουργήσει από πρακτικά 0 Hz ως περίπου 4 MHz ή και περισσότερο με ρολόι το οποίο θα ρυθμίζεται.
Σε τι φάση είστε τώρα και πότε αναμένεται να ολοκληρωθεί;
Από τον Απρίλιο του 2018 το Rainbow Project είναι λειτουργικό και έχει παρουσιαστεί στην Έκθεση Μαθητικής Δημιουργίας καθώς και στην εκδήλωση "Άνοιξη της Κοραή". Το βασικό κύκλωμα περιλαμβάνει επεξεργαστή, RAM, ROM, κυκλώματα οθόνης και τους ενδείκτες δεδομένων (LED) και λειτουργεί όπως σχεδιάστηκε. Έχουν γραφτεί μικρά προγράμματα επίδειξης στη ROM και μπορούμε να δούμε να εκτελούνται σε μεταβλητή ταχύτητα. Μέσα στο καλοκαίρι σχεδιάζουμε μεγαλύτερα προγράμματα, ROM BIOS και σύνδεση πληκτρολογίου και πιθανόν ασύρματου δικτύου για επικοινωνία με κινητά! Εξετάζουμε το γεγονός να βάλουμε και κάποια BASIC στη ROM.
Yes, but does it run Crysis?
Δεν ξέρουμε σίγουρα, μπορείτε όμως αν θέλετε να δοκιμάσετε να το κάνετε port σε Z80 Assembly :D
Πως προέκυψε η ιδέα;
Η αρχική ιδέα ήταν ένα προσωπικό project του 1990, και πολλά από τα εξαρτήματα (επεξεργαστές, RAM, ROM) είχαν αγοραστεί τότε. Το Rainbow Project έχει αργήσει μόνο 27 χρόνια!