Η αρχιτεκτονική επεξεργαστών MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική υπολογιστή περιορισμένου συνόλου εντολών (RISK; Reduced instruction set computing).
Η αρχιτεκτονική MIPS έχει χρησιμοποιηθεί στη πράξη σε ενσωματωμένα συστήματα (embedded systems) όπως δρομολογητές, πύλες ή κονσόλες βίντεο παιχνιδιών όπως το Sony Playstation 2.
Η συμβολική γλώσσα (assembly language) είναι μία γλώσσα χαμηλού επιπέδου, δηλαδή πολύ κοντά στη γλώσσα μηχανής και στο υλικό του υπολογιστή.
Κάθε αρχιτεκτονική επεξεργαστών έχει τη δική της συμβολική γλώσσα. Η αρχιτεκτονική MIPS32 χρησιμοποιεί ακέραιους ενταμιευτές (registers) μεγέθους 32bits.
Τα βασικά εργαλεία που χρειαζόμαστε για να εργαστούμε με τη συμβολική γλώσσα MIPS32 σε μια διανομή Linux είναι τα παρακάτω:
-
Επεξεργαστής κειμένου
-
Τον προσομοιωτή spim
Ως επεξεργαστή κειμένου μπορούμε να χρησιμοποιήσουμε οποιονδήποτε προτιμάμε, πχ vim, nano, gedit, κλπ. Για κονσόλα επίσης κάνει οποιαδήποτε, πχ gnome-terminal, kterm, xterm, κλπ.
Το spim είναι ένας προσομοιωτής που εκτελεί προγράμματα MIPS32. Διαβάζει και εκτελεί προγράμματα συμβολικής γλώσσας για τον επεξεργαστή MIPS. Επίσης παρέχει έναν απλό αποσφαλματωτή (debugger). Το spim διατίθεται υπό την άδεια BSD.
.text
.globl main
main:
li $v0, 4
la $a0, msg
syscall
li $v0,10
syscall
.data
msg: .asciiz "Hello, World!"
Αφού γράψουμε το κώδικά μας, αποθηκεύουμε το αρχείο με κατάληξη .s ή .asm. Για να εκτελέσουμε το κώδικά μας τρέχουμε σε ένα τερματικό:
$ spim # ξεκινάει το spim
> (spim) load "hello.asm" # φορτώνει το αρχείο αρχείο "hello"
> (spim) run # εκτέλεση του αρχείου
> Hello, World!
> (spim) exit # τερματισμός του spim
Επίσης υπάρχει διαθέσιμη και η γραφική διεπαφή για το linux με το όνομα xspim, ενώ για Windows με το όνομα PCSpim.