Πίσω

Δραστηριότητα 3

α) Να περιγράψετε την εκτέλεση της παρακάτω εντολής του υπολογιστή DLX. Ποιο θα είναι το αποτέλεσμα αν το περιεχόμενο του καταχωρητή R4 είναι 100;

LW R2, 150(R4)
β) Με ποιο τρόπο αποθηκεύονται τα δεδομένα στη μνήμη ανάλογα με το μέγεθός τους;
γ) Να εκτελέσετε την παραπάνω εντολή χρησιμοποιώντας το λογισμικό που βρίσκεται στην ιστοσελίδα: δ) Να συγκρίνετε το αποτέλεσμα της εκτέλεση της εντολής από το λογισμικό, με την απάντηση που δώσατε.


Απάντηση δραστηριότητας 3

α) Με την εντολή αυτή φορτώνεται στον καταχωρητή R2 το περιεχόμενο της θέσης μνήμης η διεύθυνση της οποίας υπολογίζεται προσθέτοντας στην τιμή 150 την τιμή του καταχωρητή R4 (100). Έτσι η διεύθυνση μνήμης που βρίσκεται το δεδομένο είναι η 250.
β) Παρατηρούμε ότι το μέγεθος των δεδομένων που θα διαβαστούν από τη μνήμη είναι 4 bytes (λόγω του γράμματος W στην εντολή L_). Έτσι τα δεδομένα βρίσκονται σε τέσσερα διαδοχικά  bytes της μνήμης, στα  bytes με διευθύνσεις 250, 251, 252 και 253. Στο παρακάτω σχήμα μπορούμε να δούμε πώς τα δεδομένα είναι αποθηκευμένα στη μνήμη.

                          1 byte
250 1o byte δεδομένου
251 2o byte δεδομένου
252 3o byte δεδομένου
253 4o byte δεδομένου

Από τη στιγμή που ανακτηθούν τα bytes των δεδομένων από τη μνήμη θα πρέπει τα bytes αυτά να τοποθετηθούν στη σωστή θέση ώστε να ανακτηθούν όλα τα δεδομένα μεγέθους λέξης (word). Λόγω του ότι η διευθυνσιοδότηση της μνήμης ακολουθεί το μοντέλο Big Endian το byte που βρισκόταν στη θέση μνήμης με διεύθυνση 250 θα τοποθετηθεί στη σημαντικότερη θέση των δεδομένων, το byte που βρισκόταν στη θέση μνήμης με διεύθυνση 251 θα τοποθετηθεί στην αμέσως επόμενη θέση των δεδομένων, ενώ το byte που βρισκόταν στη θέση μνήμης  με διεύθυνση 253 θα τοποθετηθεί στη λιγότερο σημαντική θέση των δεδομένων. Στο παρακάτω σχήμα μπορούμε να δούμε ποια μορφή θα έχουν τα δεδομένα μεγέθους 4 bytes, που έχουν ανακτηθεί(προσέξτε την αντιστοιχία χρωμάτων).