Αρχική Δημοσίευση από Stanley
Τι να πω, υποκλίνομαι... Ένα τόσο εξαιρετικά δύσκολο και συνάμα άχρηστο project δεν μπορεί παρα να είναι δείγμα πλεονάζουσας χακεροσύνης (και ελεύθερου χρόνου ;-)).
|
Στο πανεπιστήμιο μας έμαθαν αρκετά για CPU design (ήταν μέρος της εκμάθησης MIPS assembly), και όλα τα παλιά βιβλία που έχω για εκμάθηση 6502 και Z80 assembly φρόντιζαν να σου πουν ακριβώς πώς δουλεύει ο επεξεργαστής. Στο 4ο έτος είχα φτιάξει κι ένα (simulated) DSP σε VHDL. Τα υπόλοιπα είναι σχετικά απλά.
Το δύσκολο είναι να κάνεις τον επεξεργαστή αρκετά «εξωτικό». Η έλλειψη addressing modes και η 2D μνήμη βοηθάνε σ'αυτό. Και το ενδιαφέρον είναι ότι το ρημάδι μπορεί να εκτελέσει Befunge παράλληλα με τον κώδικα μηχανής του, χωρίς interpreter (όλα τα words από 000000 ως 000777 (0-255 βάση 10) είναι TRPs [transparent system calls]. Τα traps από 000040 ως το 000177 συμπίπτουν με χαρακτήρες ASCII. Απλά ορίζεις τι κάνουν όλοι οι χαρακτήρες και έχεις έναν low-level, ενσωματωμένο, extensible funge interpreter μέσα στον επεξεργαστή.
Απλά πότε πότε χρειάζομαι κάτι έντονα δημιουργικό για να ισορροπήσω τις πιο βαρετές στιγμές της δουλειάς (πχ όταν διάβαζα papers επί papers στο πανεπιστήμιο για μήνες).