Κεφάλαιο 3 | Ενότητα 2| Προηγούμενο | Επόμενο | Λεξικό όρων

Τα τμήματα της διόδου δεδομένων του υπολογιστή MIPS για κάθε τύπο εντολής

Στην υποενότητα αυτή θα ασχοληθούμε με το σχεδιασμό της διόδου δεδομένων του υπολογιστή MIPS και με τα βασικά κυκλώματα που χρειάζονται για το σχεδιασμό αυτό. Αρχικά, θα περιγράψουμε τα κυκλώματα της διόδου δεδομένων για την ανάκληση των εντολών και την αύξηση του απαριθμητή προγράμματος. Στη συνέχεια θα εξετάσουμε για κάθε τύπο εντολής ξεχωριστά, τον τρόπο με τον οποίο εκτελούνται οι εντολές, καθώς και τα επιπλέον κυκλώματα που χρειάζονται για την υλοποίηση του τμήματος της διόδου δεδομένων της κάθε εντολής.



Δίοδος δεδομένων για ανάκληση των εντολών και αύξηση του απαριθμητή προγράμματος

Για το σχεδιασμό της διόδου δεδομένων, αρχικά θα πρέπει να εξετάσουμε τα βασικά κυκλώματα που χρειάζονται για κάθε τύπο εντολής. Δηλαδή, να κατασκευάσουμε για κάθε τύπο εντολής ξεχωριστά τη δίοδο δεδομένων με τα αντίστοιχα σήματα ελέγχου.

Αρχικά, χρειαζόμαστε ένα κύκλωμα για να αποθηκεύονται οι εντολές του προγράμματος. Η μονάδα μνήμης, η οποία αποτελείται από στοιχεία μνήμης, χρησιμοποιείται για την αποθήκευση και την ανάκληση εντολών όταν δίνεται η διεύθυνσή τους, όπως φαίνεται στο σχήμα 3.2.4. Η διεύθυνση της εντολής φυλάσσεται σε έναν καταχωρητή, που ονομάζουμε απαριθμητή προγράμματος (σχήμα 3.2.4). Επίσης, χρειαζόμαστε έναν αθροιστή για να αυξάνει την τιμή του απαριθμητή προγράμματος ώστε να δείχνει τη διεύθυνση της επόμενης εντολής. Αυτός ο αθροιστής, ο οποίος είναι ένα συνδυαστικό κύκλωμα, μπορεί να δημιουργηθεί σε μια ALU προσδιορίζοντας τις γραμμές ελέγχου, έτσι ώστε να μας δίνει πάντα τη λειτουργία άθροισης. Επομένως, για το σχεδιασμό της διόδου δεδομένων που αφορά στην ανάκληση των εντολών, χρειαζόμαστε μια μονάδα μνήμης, έναν απαριθμητή προγράμματος και έναν αθροιστή.

Σχήμα 3.2.4 - Τα κυκλώματα που χρειάζονται για την αποθήκευση και την ανάκληση των εντολών και ο αθροιστής για τον υπολογισμό της διεύθυνσης της επόμενης εντολής: Η μνήμη εντολών και ο απαριθμητής προγράμματος είναι στοιχεία μνήμης. Η μνήμη εντολών χρησιμοποιείται μόνο για ανάγνωση, επειδή η δίοδος δεδομένων δεν κάνει εγγραφή των εντολών, (η εγγραφή των εντολών στη μνήμη γίνεται όταν φορτώνουμε το πρόγραμμα, έτσι την παραλείπουμε για απλοποίηση του σχήματος). Επομένως, αφού στη μνήμη εντολών μπορεί να γίνει μόνο ανάγνωση, δεν θα συμπεριλάβουμε το σήμα ελέγχου εγγραφής. Ο απαριθμητής προγράμματος είναι ένας καταχωρήτης 32-bits, στον οποίο γίνεται εγγραφή κάτω από τον έλεγχο ενός σήματος εγγραφής. Ο αθροιστής είναι ένα κύκλωμα ALU καλωδιωμένο κατάλληλα, έτσι ώστε να κάνει πάντα άθροιση στις δύο εισόδους του (επίσης των 32-bits), και να δίνει το αποτέλεσμα στην έξοδό του.


ΔΡΑΣΤΗΡΙΟΤΗΤΑ 2

Να περιγράψτε τη λειτουργία των κυκλωμάτων της μονάδας μνήμης, της ALU και του απαριθμητή προγράμματος. Μπορείτε να τα συνδέσετε με τέτοιο τρόπο, ώστε να σχηματιστεί το τμήμα της διόδου δεδομένων για την ανάκληση των εντολών και την αύξηση του απαριθμητή προγράμματος; Να συγκρίνετε το σχήμα της διόδου δεδομένων που δημιουργήσατε, με αυτό του σχήματος που ακολουθεί (σχήμα 3.2.5).


Για την εκτέλεση μιας εντολής πρέπει να ανακαλέσουμε την εντολή από τη μνήμη. Για την εκτέλεση της επόμενης εντολής πρέπει να αυξήσουμε τον απαριθμητή προγράμματος κατά 4, έτσι ώστε να μας δίνει τη διεύθυνση της επόμενης εντολής. Η δίοδος δεδομένων για αυτό το βήμα φαίνεται στο σχήμα 3.2.5.


Σχήμα 3.2.5 - Το τμήμα της διόδου δεδομένων που χρησιμοποιείται για την ανάκληση των εντολών και την αύξηση του απαριθμητή προγράμματος.