Πίσω


Εντολές αναφοράς στη μνήμη

Το τμήμα της μηχανής πεπερασμένων καταστάσεων που απαιτείται για την υλοποίηση των εντολών αναφοράς στη μνήμη φαίνεται στο σχήμα 3.2.37.

Σχήμα 3.2.37 - Η μηχανή πεπερασμένων καταστάσεων για τον έλεγχο των εντολών που αναφέρονται στη μνήμη έχει τέσσερις καταστάσεις. Αυτές οι καταστάσεις αντιστοιχούν στο κουτί "Εντολές προσπέλασης μνήμης" του σχήματος 3.2.35. Μετά τον υπολογισμό της διεύθυνσης μνήμης, γίνεται οι καταστάσεις διαφοροποιούνται για τις εντολές φόρτωσης και τις εντολές αποθήκευσης. Η ενεργοποίηση των σημάτων ALUSrcA, ALUSrcB και ALUOp χρησιμοποιείται για τον υπολογισμό της διεύθυνσης μνήμης. Αυτά τα σήματα πρέπει να διατηρηθούν σταθερά μέχρι να γίνει εγγραφή της τιμής σε έναν καταχωρητή (αν πρόκειται για εντολή φόρτωσης), ή στην μνήμη (αν πρόκειται για εντολή αποθήκευσης).


Η μνήμη βρίσκεται σε κατάσταση ανάγνωσης στην ίδια διεύθυνση (με την ενεργοποίηση των σημάτων Memread και IorD). Αυτά τα σήματα πρέπει να διατηρηθούν ενεργά στην διάρκεια των καταστάσεων, επειδή η έξοδος της ALU και η μνήμη δεν είναι αποθηκευμένες σε κάποιον καταχωρητή. Εάν οι τιμές της μονάδας ελέγχου άλλαζαν, τότε η έξοδος της ALU και η μνήμη θα άλλαζαν και η τιμή του αποτελέσματος σε μια εντολής φόρτωσης δεν θα ήταν σωστή. Με αυτές τις τιμές σταθερές, τα σήματα ελέγχου του πολυπλέκτη (MemtoReg=1 και RegDst=0), θα στείλουν της έξοδο της ALU στο αρχείο καταχωρητών για εγγραφή, χρησιμοποιώντας το rs σαν αριθμό του καταχωρητή. Μετά από αυτή την κατάσταση, που αντιστοιχεί στο βήμα επανεγγραφής, η επόμενη κατάσταση είναι η κατάσταση 0.