Τρόποι
Διευθυνσιοδότησης
Οι αρχιτεκτονικές χρησιμοποιούν διάφορους τρόπους διευθυνσιοδότησης, προκειμένου να προσδιορίσουν τη διεύθυνση του «αντικειμένου» στο οποίο θα γίνει προσπέλαση. Για παράδειγμα, ένας τρόπος διευθυνσιοδότησης μπορεί να προσδιορίσει μία σταθερά, έναν καταχωρητή ή μία περιοχή στη μνήμη. Όταν μία περιοχή στη μνήμη χρησιμοποιείται, η πραγματική διεύθυνση μνήμης, καθορισμένη από τον τρόπο διευθυνσιοδότησης, καλείται ενεργή διεύθυνση.
Απευθείας ή
κυριολεκτικοί (literal) τρόποι διευθυνσιοδότησης συνήθως θεωρούνται οι τρόποι διευθυνσιοδότησης της μνήμης (παρόλο που η τιμή στην οποία γίνεται προσπέλαση βρίσκεται στον κώδικα των εντολών).
Ο τρόπος διευθυνσιοδότησης που εξαρτάται από τον απαριθμητή προγράμματος (PC) ονομάζεται PC - σχετική διευθυνσιοδότηση. Ο τρόπος αυτός, χρησιμοποιείται κυρίως στον προσδιορισμό διευθύνσεων κώδικα, στις εντολές που ελέγχουν τη ροή εκτέλεσης του προγράμματος.
Στον πίνακα που ακολουθεί (σχήμα 2.3.2), απεικονίζονται τρόποι διευθυνσιοδότησης, η σημασία τους, καθώς και πότε αυτοί χρησιμοποιούνται.
|
|
|
|
|
|
|
Όταν μια τιμή φυλάσσεται σε καταχωρητή |
|
|
|
Για σταθερές |
|
|
|
Πρόσβαση τοπικών μεταβλητών |
|
|
|
Πρόσβαση με χρήση δείκτη ή υπολογισμένη διεύθυνση |
(indexed) |
|
|
Συχνά χρήσιμος σε διευθυνσιοδότηση πινάκων : R1= βάση πίνακα, R2=τιμή δείκτη |
|
|
|
Συχνά χρήσιμος για πρόσβαση στατικών δεδομένων. Η σταθερά διεύθυνσης ίσως χρειαστεί να γίνει μεγάλη |
|
|
|
Αν R3 είναι διεύθυνση δείκτη p, ο τρόπος διευθυνσιοδότησης παράγει το *p |
(autoicrement) |
|
Regs[R2] ¬ Regs[R2]+d |
Χρήσιμος για κίνηση μέσα σε πίνακες μέσα σε βρόχο. O R2 δείχνει την αρχή του πίνακα. Κάθε αναφορά αυξάνει τον R2 κατά ποσότητα d. |
|
|
Regs[R1]¬ Regs[R1]+ Mem[Regs[R2]]
|
Το ίδιο με την αυτοαύξηση. Αυτοαύξηση/αυτοελάττωση μπορούν ακόμα να χρησιμοποιηθούν σαν push και pop για υλοποίηση στοίβας. |
(scaled) |
R1,100(R2)[R3] |
|
Χρησιμοποιείται σε πίνακες με δείκτες. Μπορεί να χρησιμοποιηθεί σαν τρόπο διευθυνσιοδότηση με δείκτη σε μερικούς υπολογιστές |
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 5
Οι τρόποι διευθυνσιοδότησης έχουν και κάποιες άλλες επιδράσεις :
Συνεισφέρουν
στο να γίνει πιο πολύπλοκη η υλοποίηση ενός υπολογιστή
Συχνά
αυξάνουν το μέσο CPI
των υπολογιστών που χρησιμοποιούν αυτούς τους τρόπους.
Απευθείας
ή Κυριολεκτικός τρόπος διευθυνσιοδότησης
Οι απευθείας
προσβάσεις μπορούν να χρησιμοποιηθούν σε αριθμητικές λειτουργίες, σε συγκρίσεις
(κυρίως για διακλαδώσεις) και σε μετακινήσεις στις οποίες μία σταθερά αναζητείται
σ' έναν καταχωρητή.
Όπως
οι τιμές μετατόπισης, έτσι και το μέγεθος των απευθείας τιμών διευθύνσεων
επηρεάζει το μήκος των εντολών. Κατά κύριο λόγο, χρησιμοποιούνται οι
άμεσες τιμές που είναι μικρές,. Όμως, οι μεγάλες απευθείας τιμές χρησιμοποιούνται
κυρίως για υπολογισμούς διευθυνσιοδότησης.
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 6
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 7
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 8
Να απαριθμήσετε τους βασικούς τρόπους διευθυνσιοδότησης και να δώσετε ένα παράδειγμα για κάθε έναν. Να συγκρίνετε την απάντησή σας με τον πίνακα του σχήματος 2.3.2.
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 9
ΑΠΑΝΤΗΣΗ ΔΡΑΣΤΗΡΙΟΤΗΤΑΣ 9
ΔΡΑΣΤΗΡΙΟΤΗΤΑ 10
![]() |
![]() |
![]() |
![]() |
![]() |