Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 3.14 KB

PartC-MIPS32.asciidoc

File metadata and controls

67 lines (52 loc) · 3.14 KB

Η αρχιτεκτονική επεξεργαστών MIPS (Microprocessor without Interlocked Pipeline Stages) είναι μία αρχιτεκτονική υπολογιστή περιορισμένου συνόλου εντολών (RISK; Reduced instruction set computing).

Η αρχιτεκτονική MIPS έχει χρησιμοποιηθεί στη πράξη σε ενσωματωμένα συστήματα (embedded systems) όπως δρομολογητές, πύλες ή κονσόλες βίντεο παιχνιδιών όπως το Sony Playstation 2.

Assembly

Η συμβολική γλώσσα (assembly language) είναι μία γλώσσα χαμηλού επιπέδου, δηλαδή πολύ κοντά στη γλώσσα μηχανής και στο υλικό του υπολογιστή.

Κάθε αρχιτεκτονική επεξεργαστών έχει τη δική της συμβολική γλώσσα. Η αρχιτεκτονική MIPS32 χρησιμοποιεί ακέραιους ενταμιευτές (registers) μεγέθους 32bits.

Τα βασικά εργαλεία που χρειαζόμαστε για να εργαστούμε με τη συμβολική γλώσσα MIPS32 σε μια διανομή Linux είναι τα παρακάτω:

  • Επεξεργαστής κειμένου

  • Τον προσομοιωτή spim

Ως επεξεργαστή κειμένου μπορούμε να χρησιμοποιήσουμε οποιονδήποτε προτιμάμε, πχ vim, nano, gedit, κλπ. Για κονσόλα επίσης κάνει οποιαδήποτε, πχ gnome-terminal, kterm, xterm, κλπ.

SPIM

Το 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.