GR20170200061U - Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη - Google Patents
Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη Download PDFInfo
- Publication number
- GR20170200061U GR20170200061U GR20170200061U GR20170200061U GR20170200061U GR 20170200061 U GR20170200061 U GR 20170200061U GR 20170200061 U GR20170200061 U GR 20170200061U GR 20170200061 U GR20170200061 U GR 20170200061U GR 20170200061 U GR20170200061 U GR 20170200061U
- Authority
- GR
- Greece
- Prior art keywords
- data
- transfer
- memory
- address
- controller
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Παρέχεται μια διάταξη για τη μεταφορά δεδομένων μεταξύ περιοχών διευθύνσεων στη μνήμη. Η διάταξη περιλαμβάνει έναν ελεγκτή μεταφοράς δεδομένων, ο οποίος αποκρίνεται σε ένα αίτημα μεταφοράς δεδομένωντο οποίο λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, για την εκτέλεση μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σετουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη. Στη συνέχεια διατάσσεται ένας ελεγκτής ανακατεύθυνσης, κατά τη διάρκεια εκτέλεσης της λειτουργίας μεταφοράς, για την αναχαίτιση ενός αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση στόχου εντός μιας περιοχής διευθύνσεων στόχου, και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης ώστε να προκαλείται η επεξεργασία του αιτήματος πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς. Μέσω μιας τέτοιας προσέγγισης, η διάταξη μπορεί να αποκρύπτει αποτελεσματικά από την προέλευση του αιτήματος πρόσβασης το γεγονός ότι η λειτουργία μεταφοράς είναι σε εξέλιξη και συνεπώς η λειτουργία μεταφοράς μπορεί να διατάσσεται ώστε να συμβαίνει στο υπόβαθρο και με έναν τρόπο ο οποίος είναι διαφανής στο λογισμικό που εκτελείται στην προέλευση η οποία έχει εκδώσει το αίτημα πρόσβασης.
Description
ΜΙΑ ΔΙΑΤΑΞΗ ΚΑΙ MIA ΜΕΟΟΑΟ&- ΓΙΑ ΤΗ ΜΕΤΑΦΟΡΑ ΔΕΔΟΜΕΝΩΝ
ΜΕΤΑΞΥ ΠΕΡΙΟΧΩΝ ΔΙΕΥΘΥΝΣΕΩΝ ΣΤΗ ΜΝΗΜΗ
Η παρούσα τεχνική σχετίζεται με μια διάταξη και μια μέθοδο για τη μεταφορά δεδομένων μεταξύ περιοχών διευθύνσεων στη μνήμη.
Στα συστήματα επεξεργασίας δεδομένων, μπορεί να προκύψουν περιπτώσεις στις οποίες είναι επιθυμητή η μετακίνηση βαθμιδών δεδομένων μεταξύ διαφόρων φυσικών θέσεων στη μνήμη. Για παράδειγμα, συχνά το σύστημα μνήμης διατάσσεται σαν μια σειρά σελίδων, ενώ μπορεί να είναι επιθυμητή η μεταφορά δεδομένων από μια σελίδα σε μια άλλη σελίδα, η συγχώνευση πολλών μικρότερων σελίδων σε μια μεγαλύτερη σελίδα, κλπ.
Συχνά, το λειτουργικό σύστημα που εκτελείται σε έναν επεξεργαστή εντός του συστήματος μπορεί να χρησιμοποιείται για τη διαχείριση της μεταφοράς των δεδομένων μεταξύ των διαφόρων φυσικών θέσεων στη μνήμη. Ωστόσο, η διαδικασία μεταφοράς των δεδομένων υπό έναν τέτοιο έλεγχο λογισμικού μπορεί να διαρκέσει μια σημαντική χρονική περίοδο. Αυτό δεν καταναλώνει μόνο σημαντικούς πόρους επεξεργαστή, αλλά απαιτεί και τη λήψη μέτρων κατά τη διάρκεια αυτής της περιόδου τα οποία θα εξασφαλίζουν ότι κάθε απόπειρα πρόσβασης στα δεδομένα η οποία υπόκειται στη λειτουργία μεταφοράς δε θα δίνει αφορμή για ανακολουθίες στα δεδομένα. Συχνά αυτό μπορεί να απαιτεί τη φραγή των προσβάσεων εγγραφής μέχρι να ολοκληρωθεί η λειτουργία μεταφοράς.
Επιπρόσθετα, κατά την εκτέλεση τέτοιων εργασιών μεταφοράς δεδομένων υπό τον έλεγχο του λειτουργικού συστήματος, η διαδικασία συνήθως απαιτεί πολλαπλές λειτουργίες διαχείρισης της μνήμης, οι οποίες επίσης μπορούν να δώσουν αφορμή για ζητήματα απόδοσης λόγω του χρόνου που απαιτείται για την πραγματοποίηση αυτών των λειτουργιών διαχείρισης της μνήμης.
Θα ήταν συνεπώς επιθυμητή η παροχή ενός βελτιωμένου μηχανισμού διαχείρισης της μεταφοράς δεδομένων μεταξύ περιοχών διευθύνσεων στη μνήμη.
Σε ένα πρώτο παράδειγμα διαμόρφωσης, παρέχεται μια διάταξη, η οποία περιλαμβάνει: έναν ελεγκτή μεταφοράς δεδομένων, που ανταποκρίνεται σε ένα αίτημα μεταφοράς δεδομένων που λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, για την πραγματοποίηση μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη, και έναν ελεγκτή ανακατευθυνσης διαταγμενο, κατά
την εκτέλεση της λειτουργίας, για την αναχαίτιση ενός αιτήματος πρόσβασης το οποίο καθορίζει μια διεύθυνση προορισμού εντός μιας περιοχής διευθύνσεων προορισμού και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης, ώστε να προκαλείται η επεξεργασία του εν λόγω αιτήματος πρόσβασης χωρίς να αναμένεται ολοκλήρωση της λειτουργίας μεταφοράς.
Σε ένα περαιτέρω παράδειγμα διαμόρφωσης, παρέχεται ένα σύστημα το οποίο περιλαμβάνει: ένα πλήθος στοιχείων επεξεργασίας, μια διασύνδεση συνδεδεμένη με το εν λόγω πλήθος στοιχείων επεξεργασίας και για τον έλεγχο της πρόσβασης σε μια μνήμη από το εν λόγω πλήθος στοιχείων επεξεργασίας, με τη διασύνδεση να έχει μια μηχανή μεταφοράς διαμορφωμένη από μια διάταξη σύμφωνα με το πρώτο παράδειγμα διαμόρφωσης, για την εκτέλεση μιας λειτουργίας μεταφοράς για λογαριασμό ενός από τα στοιχεία επεξεργασίας με σκοπό τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού, δίνοντας ταυτόχρονα τη δυνατότητα συνέχισης της επεξεργασίας των αιτημάτων πρόσβασης που εκδίδονται από το πλήθος των στοιχείων επεξεργασίας όσον αφορά στα δεδομένα τα οποία υπόκεινται στη λειτουργία μεταφοράς κατά την εκτέλεση της λειτουργίας μεταφοράς.
Σε ένα ακόμη περαιτέρω παράδειγμα διαμόρφωσης, παρέχεται μια μέθοδος μεταφοράς δεδομένων μεταξύ περιοχών διευθύνσεων στη μνήμη, η οποία περιλαμβάνει: σε απόκριση ενός αιτήματος μεταφοράς δεδομένων που λαμβάνεται από ένα στοιχείο επεξεργασίας, τη χρήση ενός ελεγκτή μεταφοράς δεδομένων για την εκτέλεση μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη, και κατά τη διάρκεια εκτέλεσης της λειτουργίας μεταφοράς, την αναχαίτιση ενός αιτήματος πρόσβασης το οποίο καθορίζει μια διεύθυνση προορισμού εντός μιας περιοχής διευθύνσεων προορισμού και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης ώστε να προκαλέσει την επεξεργασία του εν λόγω αιτήματος πρόσβασης χωρίς να αναμένεται ολοκλήρωση της λειτουργίας μεταφοράς.
Σε ένα ακόμη περαιτέρω παράδειγμα διαμόρφωσης, παρέχεται μια διάταξη, η οποία περιλαμβάνει: μέσα ελέγχου μεταφοράς δεδομένων για την εκτέλεση, σε απόκριση ενός αιτήματος μεταφοράς δεδομένων που λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη και μέσα ελέγχου ανακατεύθυνσης για την αναχαίτιση, κατά την εκτέλεση της λειτουργίας μεταφοράς, ενός αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση προορισμού εντός μιας περιοχής διευθύνσεων προορισμού και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης ώστε να προκαλείται η επεξεργασία του εν λόγω αιτήματος πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς.
Η παρούσα τεχνική θα περιγράφει περαιτέρω, μέσω παραδείγματος μόνο, αναφορικά με τις υλοποιήσεις αυτής όπως απεικονίζονται στα συνοδευτικά σχεδιαγράμματα, στα οποία:
Το Σχήμα 1 είναι ένα διάγραμμα βαθμιδών ενός συστήματος σύμφωνα με μια υλοποίηση,
Το Σχήμα 2 είναι ένα διάγραμμα βαθμιδών το οποίο απεικονίζει με μεγαλύτερη λεπτομέρεια τη μηχανή μεταφοράς δεδομένων του Σχήματος 1 σύμφωνα με μια υλοποίηση,
Το Σχήμα 3 απεικονίζει σχηματικά πληροφορίες οι οποίες μπορεί να διατηρούνται εντός των καταχωρητών ελέγχου του Σχήματος 2 σύμφωνα με μια υλοποίηση,
Τα Σχήματα 4Α και 4Β είναι διαγράμματα ροής τα οποία απεικονίζουν βήματα στα πλαίσια του συστήματος του Σχήματος 1 σύμφωνα με μια υλοποίηση με σκοπό τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη,
Τα Σχήματα 5Α, 5Β και 5C είναι διαγράμματα ροής τα οποία απεικονίζουν τρεις διαφορετικούς μηχανισμούς οι οποίοι μπορούν να χρησιμοποιούνται για την υλοποίηση του βήματος 245 του Σχήματος 4Β,
Τα Σχήματα 6Α έως 6C απεικονίζουν σχηματικά τη χρήση της μηχανής μεταφοράς δεδομένων μιας υλοποίησης (αναφέρεται σε αυτά τα σχήματα ως μηχανή αντιγραφής) για ένα παράδειγμα περίπτωσης όπου δύο περιοχές διευθύνσεων προέλευσης συγχωνεύονται σε μια μόνο, μεγαλύτερη περιοχή διευθύνσεων προορισμού,
Το Σχήμα 7 απεικονίζει σχηματικά τον τρόπο με τον οποίο μια δεσμευμένη περιοχή διευθύνσεων εντός του χώρου διευθύνσεων μνήμης μπορεί να συσχετίζεται με τη μηχανή μεταφοράς δεδομένων σύμφωνα με μια υλοποίηση, και
Το Σχήμα 8 απεικονίζει ένα σύστημα σύμφωνα με μια εναλλακτική υλοποίηση, όπου χρησιμοποιείται μια διαμόρφωση ανομοιόμορφης πρόσβασης μνήμης (non-uniform memory access ή NUMA) και παρέχονται πολλές μηχανές μεταφοράς δεδομένων για τη διαχείριση των λειτουργιών μεταφοράς δεδομένων.
Πριν την εξέταση των υλοποιήσεων αναφορικά με τα συνοδευτικά σχεδιαγράμματα, παρέχεται η ακόλουθη περιγραφή των υλοποιήσεων.
Σε ένα παράδειγμα υλοποίησης, παρέχεται μια διάταξη η οποία περιλαμβάνει έναν ελεγκτή μεταφοράς δεδομένων και έναν ελεγκτή ανακατεύθυνσης. Ο ελεγκτής μεταφοράς δεδομένων ανταποκρίνεται σε ένα αίτημα μεταφοράς δεδομένων που λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, για την εκτέλεση μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη. Η(οι) περιοχή(ές) διευθύνσεων προέλευσης και η(οι) περιοχή(ές) διευθύνσεων προορισμού μπορούν να προσδιορίζονται με έναν αριθμό τρόπων, όμως σε μια υλοποίηση παρέχονται ως πληροφορίες εντός του αιτήματος μεταφοράς δεδομένων που λαμβάνεται από το στοιχείο επεξεργασίας.
Ο ελεγκτής ανακατεύθυνσης διατάσσεται στη συνέχεια, κατά την εκτέλεση της λειτουργίας μεταφοράς, για την αναχαίτιση ενός αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση προορισμού εντός μιας περιοχής διευθύνσεων προορισμού και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης ώστε να προκαλείται η επεξεργασία του αιτήματος πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς.
Με μια τέτοια προσέγγιση, ορισμένα αιτήματα πρόσβασης μπορούν να αναχαιτίζονται από τη διάταξη της παραπάνω υλοποίησης και να υποβάλλονται σε μια λειτουργία ανακατεύθυνσης μνήμης με σκοπό να προκαλείται η επεξεργασία αυτών των αιτημάτων πρόσβασης μολονότι η λειτουργία μεταφοράς δεν έχει ακόμη ολοκληρωθεί. Η διάταξη μπορεί συνεπώς, στην πράξη, να αποκρύπτει από την προέλευση ενός τέτοιου αιτήματος πρόσβασης το γεγονός ότι υπάρχει μια λειτουργία μεταφοράς σε εξέλιξη. Από την άποψη της προέλευσης του αιτήματος πρόσβασης, η λειτουργία μεταφοράς πραγματοποιείται στο υπόβαθρο και μπορεί να διατάσσεται ώστε να είναι διαφανής σε λογισμικό που εκτελείται σε αυτή την προέλευση. Τα αιτήματα πρόσβασης που εκδίδονται από μια τέτοια προέλευση, τα οποία προσδιορίζουν μια διεύθυνση εντός της περιοχής διευθύνσεων προορισμού, δεν εμποδίζονται ενώ η λειτουργία μεταφοράς είναι σε εξέλιξη, βελτιώνοντας σημαντικά με αυτό τον τρόπο την απόδοση.
Η περιοχή διευθύνσεων προορισμού μπορεί να προσδιορίζεται με έναν αριθμό τρόπων, όμως σε μια υλοποίηση το σύστημα στο οποίο χρησιμοποιείται η διάταξη, είναι διατεταγμένη ώστε, κατά τη διάρκεια της λειτουργίας μεταφοράς, οποιαδήποτε αιτήματα πρόσβασης εκδίδονται σε σχέση με δεδομένα που υπόκεινται σε αυτή τη λειτουργία μεταφοράς θα προσδιορίζουν διευθύνσεις προορισμού οι οποίες βρίσκονται εντός της περιοχής διευθύνσεων προορισμού και ανάλογα θα αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης και θα υποβάλλονται στη λειτουργία ανακατεύθυνσης μνήμης.
Σε μια υλοποίηση, η διάταξη περιλαμβάνει περαιτέρω έναν ελεγκτή διευθέτησης διαταγμένο ώστε να λαμβάνει το αίτημα μεταφοράς δεδομένων και να εκδίδει ένα σήμα ελέγχου το οποίο εξαναγκάζει τα αιτήματα πρόσβασης που εκδίδονται ενώ εκτελείται η λειτουργία μεταφοράς και τα οποία σχετίζονται με τα δεδομένα που μεταφέρονται από τη λειτουργία μεταφοράς, για τον προσδιορισμό μιας διεύθυνσης εντός της περιοχής διευθύνσεων προορισμού ως διεύθυνση προορισμού. Το σήμα ελέγχου μπορεί να πάρει έναν αριθμό μορφών. Για παράδειγμα, ο ελεγκτής διευθέτησης μπορεί ο ίδιος να ενημερώνει απευθείας τις δομές μετάφρασης διευθύνσεων οι οποίες χρησιμοποιούνται για τον καθορισμό των διευθύνσεων για τα αιτήματα πρόσβασης, για παράδειγμα πίνακες σελίδων στη μνήμη, ώστε τα αιτήματα πρόσβασης που εκδίδονται κατά την εκτέλεση της λειτουργίας μεταφοράς και τα οποία σχετίζονται με τα δεδομένα που μεταφέρονται από τη λειτουργία μεταφοράς, θα προσδιορίζουν διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού. Στις περιπτώσεις στις οποίες τα διάφορα στοιχεία επεξεργασίας εντός του συστήματος τα οποία μπορούν να εκδίδουν αιτήματα πρόσβασης στο αντίστοιχο τμήμα της μνήμης, χρησιμοποιούν συσχετισμένους χώρους αποθήκευσης μετάφρασης διευθύνσεων (για παράδειγμα, προσωρινές μνήμες παράβλεψης μετάφρασης (translation lookaside buffers ή TLB)) για την προσωρινή αποθήκευση δεδομένων μετάφρασης διευθύνσεων που χρησιμοποιούνται από αυτά τα στοιχεία επεξεργασίας, ο ελεγκτής διευθέτησης μπορεί επίσης να εκδίδει σήματα ελέγχου που να προκαλούν την ακύρωση των σχετικών τμημάτων αυτών των αποθηκευτικών χώρων μετάφρασης διευθύνσεων, τα οποία για παράδειγμα θα εξασφαλίζουν ότι αντ’ αυτού θα γίνεται αναφορά στους ενημερωμένους πίνακες σελίδων την επόμενη φορά που θα εκδίδεται μια πρόσβαση σχετικά με τη σχετική περιοχή διευθύνσεων.
Σε μια εναλλακτική υλοποίηση, ο ελεγκτής διευθέτησης μπορεί να μην αναλαμβάνει ο ίδιος τέτοιες εργασίες και αντ’ αυτού το σήμα ελέγχου μπορεί να λαμβάνει τη μορφή ενός σήματος αναγνώρισης που επιστρέφεται στο στοιχείο επεξεργασίας που εξέδωσε το αίτημα μεταφοράς δεδομένων, με το στοιχείο επεξεργασίας να διατάσσεται ώστε να ανταποκρίνεται στο σήμα αναγνώρισης για την εκτέλεση των εργασιών που περιγράφηκαν παραπάνω. Συνεπώς, για παράδειγμα, αυτό το στοιχείο επεξεργασίας μπορεί να ενημερώνει τους πίνακες σελίδων στη μνήμη ώστε τα μετέπειτα αιτήματα πρόσβασης που εκδίδονται όσον αφορά στα δεδομένα που μεταφέρονται να αντιστοιχούνται σε διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού και μπορεί επιπλέον να ακυρώνει τις σχετικές εγγραφές στο δικό του χώρο αποθήκευσης μετάφρασης διευθύνσεων και να μεταδίδει ένα σήμα σε άλλα στοιχεία επεξεργασίας στο σύστημα ώστε να εξασφαλίζει ότι θα ακυρώνουν και αυτά τα σχετικά τμήματα των τοπικών τους χώρων αποθήκευσης μετάφρασης διευθύνσεων.
Η περιοχή διευθύνσεων προορισμού μπορεί να λαμβάνει έναν αριθμό μορφών. Μπορεί για παράδειγμα να διατάσσεται ώστε να είναι η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προέλευσης, ενώ σε μια άλλη υλοποίηση μπορεί να διατάσσεται ώστε να είναι η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προορισμού. Ως μια περαιτέρω εναλλακτική, η περιοχή διευθύνσεων προορισμού μπορεί να είναι μια αποκλειστική περιοχή διευθύνσεων που συσχετίζεται με τη διάταξη. Στην περίπτωση στην οποία η περιοχή διευθύνσεων προορισμού είναι η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προορισμού, τότε το σήμα ελέγχου που εκδίδεται από τον ελεγκτή διευθέτησης θα προκαλεί την ενημέρωση των σχετικών δομών μετάφρασης διευθύνσεων πριν την εκτέλεση της λειτουργίας μεταφοράς, ώστε οποιαδήποτε αιτήματα πρόσβασης εκδίδονται κατά την εκτέλεση της λειτουργίας μεταφοράς και σχετίζονται με τα δεδομένα που μεταφέρονται, θα υποδεικνύουν μια διεύθυνση εντός της περιοχής διευθύνσεων προορισμού και σε αυτή τη βάση θα αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης. Εάν εναλλακτικά η περιοχή διευθύνσεων προορισμού επιλέγεται να είναι η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προέλευσης, τότε οι σχετικές δομές μετάφρασης διευθύνσεων μπορεί να μην ενημερώνονται πριν την έναρξη της λειτουργίας μεταφοράς, ώστε οποιαδήποτε αιτήματα πρόσβασης εκδίδονται κατά την εκτέλεση της λειτουργίας μεταφοράς θα εκδίδονται σε διευθύνσεις εντός της περιοχής διευθύνσεων προέλευσης και ανάλογα θα αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης. Μόλις ολοκληρωθεί η λειτουργία μεταφοράς, τότε οι δομές διαχείρισης μνήμης μπορεί να ενημερώνονται ώστε οι μετέπειτα προσβάσεις στα σχετικά δεδομένα θα υποδεικνύουν διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού.
Στο παράδειγμα στο οποίο χρησιμοποιείται μια αποκλειστική περιοχή διευθύνσεων που σχετίζεται με τη διάταξη, τότε πριν την εκτέλεση της λειτουργίας μεταφοράς, ενημερώνονται οι σχετικές δομές μετάφρασης διευθύνσεων ώστε οποιαδήποτε αιτήματα προσβάσεων που εκδίδονται όσον αφορά στα δεδομένα που μεταφέρονται, κατά την εκτέλεση της λειτουργίας μεταφοράς, θα εκδίδονται σε διευθύνσεις εντός της αποκλειστικής περιοχής διευθύνσεων της διάταξης. Σε μια τέτοια διάταξη, μπορεί να διατάσσεται ότι ο ελεγκτής ανακατεύθυνσης θα λαμβάνει μόνο αιτήματα πρόσβασης τα οποία προσδιορίζουν μια διεύθυνση εντός αυτής της αποκλειστικής περιοχής διευθύνσεων και συνεπώς δε χρειάζεται να καθοριστεί κατά πόσο απαιτείται η αναχαίτιση ή μη ενός αιτήματος πρόσβασης. Συγκεκριμένα, κάθε αίτημα πρόσβασης που λαμβάνει ο ελεγκτής ανακατεύθυνσης κατά την εκτέλεση της λειτουργίας μεταφοράς θα αντιμετωπίζεται ως αναχαιτισμένο και συνεπώς θα υποβάλλεται στη λειτουργία ανακατεύθυνσης μνήμης. Μόλις ολοκληρώνεται η λειτουργία μεταφοράς, τότε οι δομές μετάφρασης διευθύνσεων μπορούν να ενημερώνονται και πάλι ώστε οποιεσδήποτε μετέπειτα προσβάσεις όσον αφορά στα σχετικά δεδομένα θα υποδεικνύουν διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού.
Υπάρχει ένας αριθμός τρόπων με τους οποίους μπορεί να εκτελείται η λειτουργία ανακατεύθυνσης μνήμης από τον ελεγκτή ανακατεύθυνσης. Σε ένα πρώτο παράδειγμα υλοποίησης, ο ελεγκτής ανακατεύθυνσης διατάσσεται ώστε να εκτελεί την εν λόγω λειτουργία ανακατεύθυνσης μνήμης ώστε: όταν το αναχαιτισμένο αίτημα πρόσβασης είναι ένα αίτημα πρόσβασης για ανάγνωση, η διεύθυνση προορισμού αντιστοιχείται σε μια αντίστοιχη διεύθυνση προέλευσης εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης ώστε να προκαλείται η εκτέλεση μιας λειτουργίας ανάγνωσης από την εν λόγω αντίστοιχη διεύθυνση προέλευσης, ενώ όταν το αναχαιτισμένο αίτημα πρόσβασης είναι ένα αίτημα πρόσβασης για εγγραφή, η διεύθυνση προορισμού αντιστοιχείται σε μια αντίστοιχη διεύθυνση προέλευσης εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης και σε μια αντίστοιχη διεύθυνση προορισμού εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προορισμού ώστε να προκαλείται η εκτέλεση μιας λειτουργίας εγγραφής τόσο στην αντίστοιχη διεύθυνση προέλευσης, όσο και στην αντίστοιχη διεύθυνση προορισμού. Μια τέτοια προσέγγιση εξασφαλίζει ότι η αρχική έκδοση των δεδομένων και η αντιγραμμένη έκδοση που δημιουργείται εντός της τουλάχιστον μιας περιοχής διευθύνσεων προορισμού παραμένουν σε συγχρονισμό, αλλά επαναλαμβάνουν τις λειτουργίες εγγραφής. Παρ’ όλα αυτά, ο επίφορτος αυτής της προσέγγισης είναι πιθανό να είναι μικρός εάν οι εν λόγω περιοχές διευθύνσεων δε χρησιμοποιούνται υπερβολικά και ανάλογα τα περιστατικά τέτοιων αιτημάτων πρόσβασης για εγγραφή κατά την περίοδο εκτέλεσης της λειτουργίας μεταφοράς θα είναι λίγα.
Σε μια εναλλακτική υλοποίηση, ο εν λόγω ελεγκτής μεταφοράς δεδομένων διατάσσεται ώστε να διατηρεί ένα αρχείο προόδου της λειτουργίας μεταφοράς, ενώ ο ελεγκτής ανακατεύθυνσης διατάσσεται ώστε να εκτελεί τη λειτουργία ανακατεύθυνσης μνήμης με τρόπο ώστε: όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα πρέπει ακόμη να μεταφερθούν από τη λειτουργία μεταφοράς, η διεύθυνση προορισμού αντιστοιχείται σε μια αντίστοιχη διεύθυνση προέλευσης ώστε να προκαλείται η εκτέλεση μιας πρόσβασης σε αυτή την αντίστοιχη διεύθυνση προέλευσης, ενώ όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα έχουν ήδη μεταφερθεί από τη λειτουργία μεταφοράς, η διεύθυνση προορισμού αντιστοιχείται σε μια αντίστοιχη διεύθυνση προορισμού ώστε να προκαλείται η εκτέλεση μιας πρόσβασης σε αυτή την αντίστοιχη διεύθυνση προορισμού. Μια τέτοια προσέγγιση απαιτεί την επιτήρηση από τον ελεγκτή ανακατεύθυνσης των πληροφοριών που διατηρούνται από τον ελεγκτή μεταφοράς δεδομένων σχετικά με την πρόοδο που πραγματοποιείται με τη λειτουργία μεταφοράς, ώστε να αποφασίζεται ο τρόπος επεξεργασίας του αναχαιτισμένου αιτήματος πρόσβασης, αλλά αποτρέπει την απαίτηση επανάληψης της λειτουργίας εγγραφής όπου το αναχαιτισμένο αίτημα πρόσβασης είναι ένα αίτημα εγγραφής. Συχνά, η λειτουργία μεταφοράς εκτελείται αλληλοδιάδοχα όσον αφορά στις διευθύνσεις εντός της(ων) περιοχής(ών) διευθύνσεων προέλευσης και ανάλογα οι πληροφορίες κατάστασης που απαιτούνται για τον προσδιορισμό των δεδομένων τα οποία έχουν μεταφερθεί και των δεδομένων που απομένει να μεταφερθούν είναι σχετικά λίγες.
Σε μια ακόμη περαιτέρω εναλλακτική υλοποίηση, ο ελεγκτής μεταφοράς δεδομένων μπορεί να διατάσσεται ώστε να διατηρεί ένα αρχείο προόδου της λειτουργίας μεταφοράς, ενώ ο ελεγκτής ανακατεύθυνσης διατάσσεται ώστε να εκτελεί τη λειτουργία ανακατεύθυνσης μνήμης με τρόπο ώστε: όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα απομένει να μεταφερθούν από τη λειτουργία μεταφοράς, ο ελεγκτής μεταφοράς δεδομένων διατάσσεται ώστε να εκκινεί τη μεταφορά μιας βαθμίδας δεδομένων η οποία περιλαμβάνει τα δεδομένα που συσχετίζονται με τη διεύθυνση προορισμού, πριν την επεξεργασία του αναχαιτισμένου αιτήματος πρόσβασης, και όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα έχουν ήδη μεταφερθεί από τη λειτουργία μεταφοράς, η διεύθυνση προορισμού αντιστοιχείται με μια αντίστοιχη διεύθυνση η οποία είναι μια από την αντίστοιχη διεύθυνση προέλευσης και την αντίστοιχη διεύθυνση προορισμού, ώστε να προκαλείται η εκτέλεση μιας πρόσβασης σε αυτή την αντίστοιχη διεύθυνση.
Σε μια υλοποίηση, όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα έχουν ήδη μεταφερθεί από τη λειτουργία μεταφοράς, η διεύθυνση προορισμού αντιστοιχείται στην αντίστοιχη διεύθυνση προορισμού, εφόσον υποτίθεται ότι η πλέον ενημερωμένη έκδοση θα διατηρείται εντός της περιοχής διευθύνσεων προορισμού. Ωστόσο, σε μια εναλλακτική υλοποίηση, θα μπορούσε να χρησιμοποιηθεί ένα αντίγραφο στο μηχανισμό εγγραφής όπου, όταν εκτελείται μια λειτουργία εγγραφής, τα αρχικά δεδομένα στη διεύθυνση προέλευσης αντιγράφονται στη διεύθυνση προορισμού και στη συνέχεια πραγματοποιείται η εγγραφή στα δεδομένα στη διεύθυνση προέλευσης. Σε αυτό το σενάριο, θα ήταν κατάλληλη, όταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση της οποίας τα δεδομένα έχουν ήδη μεταφερθεί από τη λειτουργία μεταφοράς, η αντιστοίχιση της διεύθυνσης προορισμού με την αντίστοιχη διεύθυνση προέλευσης. Για τις ακόλουθες αναλύσεις, θα υποτεθεί ότι η διεύθυνση προορισμού αντιστοιχείται στη διεύθυνση προορισμού σύμφωνα με την πρώτη επιλογή που εξετάστηκε παραπάνω.
Υπάρχει ένας αριθμός τρόπων στους οποίους το αναχαιτισμένο αίτημα πρόσβασης μπορεί να επεξεργάζεται όταν σχετίζεται με δεδομένα που απομένουν να μεταφερθούν, μετά την εκκίνηση της μεταφοράς μιας βαθμίδας δεδομένων η οποία περιλαμβάνει τα δεδομένα που σχετίζονται με τη διεύθυνση προορισμού. Για παράδειγμα, σε μια υλοποίηση, το αίτημα πρόσβασης μπορεί να καθυστερείται προσωρινά κατά τη μεταφορά αυτής της βαθμίδας δεδομένων, το αρχείο προόδου ενημερώνεται στη συνέχεια ώστε να υποδηλώνει ότι τα δεδομένα έχουν μεταφερθεί και στη συνέχεια το αίτημα πρόσβασης επεξεργάζεται, αντιστοιχώντας τη διεύθυνση προορισμού σε μια αντίστοιχη διεύθυνση προορισμού. Ωστόσο, η απόδοση μπορεί να βελτιώνεται συγχωνεύοντας πραγματικά την επεξεργασία του αιτήματος πρόσβασης με τη μεταφορά της βαθμίδας δεδομένων. Για παράδειγμα, η μεταφορά της βαθμίδας δεδομένων θα περιλαμβάνει την ανάγνωση της βαθμίδας δεδομένων από τον ελεγκτή μεταφοράς δεδομένων από τη σχετική περιοχή διευθύνσεων προέλευσης και στη συνέχεια την εγγραφή αυτών των δεδομένων στη σχετική περιοχή διευθύνσεων προορισμού. Σε περίπτωση που το αίτημα πρόσβασης είναι ένα αίτημα πρόσβασης για ανάγνωση, τότε μετά την ανάγνωση των δεδομένων, τα απαιτούμενα δεδομένα για το αίτημα πρόσβασης μπορούν να λαμβάνονται απευθείας από τη βαθμίδα δεδομένων ανάγνωσης και να επιστρέφονται με σκοπό την επεξεργασία του αιτήματος πρόσβασης. Παρόμοια, εάν το αίτημα πρόσβασης είναι ένα αίτημα πρόσβασης για εγγραφή, τότε μετά την ανάγνωση της βαθμίδας δεδομένων, τα δεδομένα εγγραφής που προσδιορίζονται από το αίτημα πρόσβασης για εγγραφή μπορούν να συγχωνεύονται στα αναγνωσμένα δεδομένα, με τα ενοποιημένα συγχωνευμένα δεδομένα να εγγράφονται στη συνέχεια στην περιοχή διευθύνσεων προορισμού, έχοντας ως αποτέλεσμα την επεξεργασία με αυτό τον τρόπο του αιτήματος πρόσβασης για εγγραφή κατά την εκτέλεση της μεταφοράς της βαθμίδας δεδομένων από την αντίστοιχη περιοχή διευθύνσεων προέλευσης στη σχετική περιοχή διευθύνσεων προορισμού.
Σε μια υλοποίηση, η διάταξη μπορεί περαιτέρω να περιλαμβάνει χώρους αποθήκευσης ελέγχου για την αποθήκευση των πληροφοριών ελέγχου που χρησιμοποιούνται για τον έλεγχο της απόδοσης της λειτουργίας μεταφοράς από τον ελεγκτή μεταφοράς δεδομένων, με το χώρο αποθήκευσης ελέγχου να αποθηκεύει μια ένδειξη της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης, μια ένδειξη της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προορισμού και δεδομένα ένδειξης προόδου τα οποία προσδιορίζουν την πρόοδο της λειτουργίας μεταφοράς. Εάν είναι επιθυμητό, μπορούν να τηρούνται και επιπλέον πληροφορίες. Για παράδειγμα, μπορούν να χρησιμοποιούνται δεδομένα ελέγχου ως ένδειξη ενός συγκεκριμένου τύπου αιτήματος πρόσβασης για ανάγνωση το οποίο θα πρέπει να χρησιμοποιείται κατά την ανάγνωση των δεδομένων από την περιοχή διευθύνσεων προέλευσης (όπως θα εξεταστεί σε μεγαλύτερη λεπτομέρεια αργότερα, αυτό μπορεί να βελτιώνει το βαθμό αξιοποίησης της κρυφής μνήμης προκαλώντας την ακύρωση των αποθηκευμένων στην κρυφή μνήμη αντιγράφων δεδομένων στην περιοχή προέλευσης) ή μια έγκυρη σημαία ή άλλο παρόμοιο στοιχείο μπορεί να χρησιμοποιείται ως υπόδειξη των εγγραφών των οποίων το περιεχόμενο σχετίζεται με μια λειτουργία μεταφοράς η οποία δεν έχει ολοκληρωθεί ακόμη. Με την ολοκλήρωση της λειτουργίας μεταφοράς, η σχετική έγκυρη σημαία μπορεί στη συνέχεια να απαλείφεται, ως ένδειξη ότι η εγγραφή μπορεί να επαναχρησιμοποιείται για ένα μετέπειτα αίτημα μεταφοράς δεδομένων.
Όπως αναφέρθηκε νωρίτερα, σε ορισμένες υλοποιήσεις η περιοχή διευθύνσεων προορισμού μπορεί να είναι είτε η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προέλευσης, είτε η εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προορισμού. Σε μια υλοποίηση, ο ελεγκτής ανακατεύθυνσης μπορεί να διατάσσεται ώστε να λαμβάνει όλα τα αιτήματα πρόσβασης που εκδίδονται στη μνήμη ενώ είναι σε εξέλιξη η λειτουργία μεταφοράς και να καθορίζει ποια από αυτά τα αιτήματα πρόσβασης θα πρέπει να αναχαιτίζονται, ενώ σε άλλες υλοποιήσεις ο ελεγκτής ανακατεύθυνσης μπορεί να λαμβάνει μόνο ένα υποσύνολο των αιτημάτων, με τη διασύνδεση να καθορίζει ποιο υποσύνολο πρόκειται να λάβει ο ελεγκτής ανακατεύθυνσης. Σε μια υλοποίηση ο ελεγκτής ανακατεύθυνσης μπορεί να διατάσσεται, κατά την εκτέλεση της λειτουργίας μεταφοράς, ώστε να αναφέρεται στο χώρο αποθήκευσης ελέγχου για να καθοριστεί κατά πόσο ένα αίτημα πρόσβασης που έχει ληφθεί πρόκειται να αναχαιτιστεί και συνεπώς να υποβληθεί στη λειτουργία ανακατεύθυνσης μνήμης.
Συγκεκριμένα, μέσω μιας τέτοιας προσέγγισης, ο ελεγκτής ανακατεύθυνσης μπορεί να ανιχνεύει πότε η διεύθυνση που καθορίζεται από ένα αίτημα πρόσβασης εμπίπτει στην τουλάχιστον μια περιοχή διευθύνσεων προορισμού (όπου η τουλάχιστον μια περιοχή διευθύνσεων προορισμού χρησιμοποιείται ως η περιοχή διευθύνσεων προορισμού) ή στην τουλάχιστον μια περιοχή διευθύνσεων προέλευσης (όπου η τουλάχιστον μια περιοχή διευθύνσεων προέλευσης χρησιμοποιείται ως η περιοχή διευθύνσεων προορισμού) και ανάλογα μπορεί να ανιχνεύει ποια αιτήματα πρόσβασης πρέπει να αναχαιτιστούν.
Σε περίπτωση όπου η περιοχή διευθύνσεων προορισμού είναι μια αποκλειστική περιοχή διευθύνσεων που σχετίζεται με τη διάταξη, τότε δεν απαιτείται ένας τέτοιος έλεγχος, εφόσον ο ελεγκτής ανακατεύθυνσης μπορεί να διατάσσεται ώστε τα μόνο αιτήματα πρόσβασης που λαμβάνει να είναι τα αιτήματα πρόσβασης που προσδιορίζουν διευθύνσεις που σχετίζονται με την αποκλειστική περιοχή διευθύνσεων της διάταξης και θα εκτελεί τη λειτουργία ανακατεύθυνσης μνήμης για όλα αυτά τα αιτήματα πρόσβασης που έχουν ληφθεί. Ο χώρος αποθήκευσης ελέγχου μπορεί στη συνέχεια να αναφέρεται κατά την εκτέλεση της λειτουργίας ανακατεύθυνσης μνήμης με σκοπό να καθορίζει τον τρόπο ανακατεύθυνσης του αιτήματος πρόσβασης, ανάλογα την τεχνική ανακατεύθυνσης μνήμης που χρησιμοποιείται.
Σε μια υλοποίηση, το στοιχείο επεξεργασίας διατάσσεται ώστε να υλοποιεί τη μετάφραση εικονικών διευθύνσεων σε αντίστοιχες φυσικές διευθύνσεις και έχει πρόσβαση σε ένα χώρο αποθήκευσης μετάφρασης διευθύνσεων για την αποθήκευση δεδομένων μετάφρασης διευθύνσεων που χρησιμοποιούνται για τη μετατροπή μιας εικονικής διεύθυνσης σε μια φυσική διεύθυνση εντός μιας σελίδας της εν λόγω μνήμης, με τα εν λόγω δεδομένα μετάφρασης διευθύνσεων να προκύπτουν από πληροφορίες περιγραφέα που αποθηκεύονται σε πίνακες σελίδων εντός της εν λόγω μνήμης, ενώ το αίτημα μεταφοράς δεδομένων εκδίδεται με σκοπό τη μεταφορά δεδομένων από τουλάχιστον μια σελίδα προέλευσης σε τουλάχιστον μια σελίδα προορισμού εντός της μνήμης. Η μετανάστευση δεδομένων από μια ή περισσότερες σελίδες προέλευσης σε μια ή περισσότερες σελίδες προορισμού εντός της μνήμης μπορεί να πραγματοποιείται για έναν αριθμό λόγων εντός των συστημάτων που υλοποιούν εικονική διευθυνσιοδότηση. Για παράδειγμα, μπορεί να είναι επιθυμητή η μετανάστευση ενός αριθμού μη συνεχόμενων σελίδων στη φυσική μνήμη σε μια περιοχή φυσικής μνήμης όπου μπορούν να συγχωνεύονται και να σχηματίζουν μια μεγαλύτερη, συνεχή, φυσική σελίδα (η οποία θα αναφέρεται στο παρόν ως λειτουργία συγκέντρωσης). Εναλλακτικά, μπορεί να είναι επιθυμητή η διαίρεση μιας μεγαλύτερης σελίδας σε έναν αριθμό μικρότερων σελίδων (αναφέρεται ως λειτουργία διασποράς στο παρόν). Η μετανάστευση δεδομένων μπορεί να πραγματοποιείται και για άλλους λόγους, για παράδειγμα η ενεργοποιούμενη μετανάστευση δεδομένων ECC (Error Correction Code ή Κώδικας διόρθωσης σφαλμάτων), η μετανάστευση δεδομένων σε συστήματα μη ομοιόμορφης πρόσβασης μνήμης (non-uniform memory access ή NUMA), κλπ.
Στα πλαίσια τέτοιων υλοποιήσεων που χρησιμοποιούν εικονική διευθυνσιοδότηση, είναι επιθυμητή η λήψη μέτρων για τον ενεργό έλεγχο του περιεχομένου των πινάκων σελίδων εντός της μνήμης κατά την εκτέλεση της λειτουργίας μεταφοράς και την ακύρωση ορισμένων εγγραφών στο χώρο αποθήκευσης μετάφρασης διευθύνσεων ώστε να εξασφαλίζεται ότι γίνεται αναφορά σε αυτούς τους ενημερωμένους πίνακες σελίδων για μετέπειτα αιτήματα πρόσβασης που εκδίδονται κατά τη διάρκεια της λειτουργίας μεταφοράς. Για παράδειγμα, σε μια υλοποίηση στην οποία η περιοχή διευθύνσεων προορισμού επιλέγεται ώστε να περιλαμβάνει την εν λόγω τουλάχιστον μια περιοχή διευθύνσεων προορισμού, ο ελεγκτής διευθέτησης μπορεί να διατάσσεται, προτού ο ελεγκτής μεταφοράς δεδομένων εκτελέσει την εν λόγω λειτουργία μεταφοράς, ώστε να εκδίδει ένα σήμα ελέγχου και να προκαλεί την ενημέρωση των πινάκων σελίδων εντός της εν λόγω μνήμης ώστε οι εικονικές διευθύνσεις που μεταφράστηκαν σε φυσικές διευθύνσεις εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης θα μεταφράζονται αντ’ αυτού σε φυσικές διευθύνσεις εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προορισμού, με τον ελεγκτή διευθέτησης να εκδίδει περαιτέρω ένα σήμα ελέγχου που προκαλεί την ακύρωση εντός του χώρου αποθήκευσης μετάφρασης διευθύνσεων οποιωνδήποτε εγγραφών που παρέχουν δεδομένα μετάφρασης διευθύνσεων για τα δεδομένα που θα υποβληθούν στη λειτουργία μεταφοράς.
Με τη λήψη τέτοιων μέτρων, μπορεί να εξασφαλίζεται ότι οι ληγμένες πληροφορίες στο χώρο αποθήκευσης μετάφρασης διευθύνσεων δε θα χρησιμοποιούνται για μετέπειτα αιτήματα πρόσβασης που εκδίδονται όσον αφορά στα δεδομένα τα οποία υποβάλλονται στη λειτουργία μεταφοράς και αντίθετα ότι θα γίνεται αναφορά στους ενημερωμένους πίνακες σελίδων, ως αποτέλεσμα των οποίων οποιαδήποτε τέτοια αιτήματα πρόσβασης θα καθορίζουν διευθύνσεις εντός της τουλάχιστον μιας περιοχής διευθύνσεων προορισμού και ανάλογα θα αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης.
Όπως αναφέρθηκε νωρίτερα, σε μια υλοποίηση, ο ελεγκτής διευθέτησης μπορεί να εκδίδει σήματα ελέγχου ώστε να ενημερώνει απευθείας τους πίνακες σελίδων και/ή να προκαλεί άμεσα την ακύρωση των σχετικών εγγραφών στο χώρο αποθήκευσης μετάφρασης διευθύνσεων. Ωστόσο, σε μια εναλλακτική υλοποίηση το(α) σήμα(τα) ελέγχου που εκδίδεται(ονται) από τον ελεγκτή διευθέτησης μπορεί(ούν) να λαμβάνει(ουν) τη μορφή ενός σήματος αναγνώρισης που επιστρέφεται στο στοιχείο επεξεργασίας που εξέδωσε το αίτημα μεταφοράς δεδομένων, με αυτό το στοιχείο επεξεργασίας να αποκρίνεται σε ένα τέτοιο σήμα επιβεβαίωσης για την πραγματοποίηση της απαιτούμενης ενημέρωσης στους πίνακες σελίδων στη μνήμη και την ακύρωση των σχετικών εγγραφών στο χώρο αποθήκευσης μετάφρασης διευθύνσεών του. Σε συστήματα στα οποία παρέχονται πολλά στοιχεία επεξεργασίας τα οπαία μπορούν να έχουν πρόσβαση στη μνήμη, αυτό το στοιχείο επεξεργασίας μπορεί επίσης να εκπέμπει ένα σήμα στα άλλα στοιχεία επεξεργασίας το οποίο τα εξαναγκάζει να ακυρώνουν τις σχετικές εγγραφές στους τοπικούς τους χώρους αποθήκευσης μετάφρασης διευθύνσεων.
Μολονότι είναι δυνατή η έκδοση ξεχωριστών σημάτων ελέγχου από τον ελεγκτή διευθέτησης που προκαλούν την ενημέρωση των πινάκων σελίδων και την ακύρωση των σχετικών εγγραφών εντός του χώρου αποθήκευσης μετάφρασης διευθύνσεων, σε μια υλοποίηση είναι δυνατή η έκδοση ενός μοναδικού σήματος ελέγχου που προκαλεί την πραγματοποίηση και των δύο βημάτων.
Όπως αναφέρθηκε νωρίτερα, σε μια εναλλακτική υλοποίηση στην οποία η(οι) περιοχή (ές) διευθύνσεων προέλευσης χρησιμοποιείται(ούνται) για τις διευθύνσεις προορισμού, τότε είναι δυνατή η καθυστέρηση της ενημέρωσης των πινάκων σελίδων και η ακύρωση των σχετικών εγγραφών του χώρου αποθήκευσης μετάφρασης διευθύνσεων μέχρι να ολοκληρωθεί η λειτουργία μεταφοράς.
Οι υλοποιήσεις που περιγράφονται παραπάνω μπορούν να παρέχουν σημαντικά πλεονεκτήματα απόδοσης σε σύγκριση με την προηγούμενη, ελεγχόμενη από το λειτουργικό σύστημα μετανάστευση των δεδομένων στη φυσική μνήμη. Συγκεκριμένα, στις υλοποιήσεις που περιγράφονται παραπάνω στις οποίες η τουλάχιστον μια περιοχή διευθύνσεων προορισμού ή η τουλάχιστον μια περιοχή διευθύνσεων προέλευσης χρησιμοποιείται ως μια περιοχή διευθύνσεων προορισμού, η ακύρωση των σχετικών εγγραφών εντός του χώρου αποθήκευσης μετάφρασης διευθύνσεων (ο οποίος μπορεί να είναι για παράδειγμα μια προσωρινή μνήμη παράβλεψης μετάφρασης (translation lookaside buffer ή TLB)) χρειάζεται να συμβεί μόνο μια φορά κατά την εκτέλεση της διαδικασίας μεταφοράς δεδομένων. Σε αντίθεση, όταν υιοθετείται η γνωστή, ελεγχόμενη από το λειτουργικό σύστημα προσέγγιση, οι πίνακες σελίδων στη μνήμη θα ενημερώνονταν αρχικά απλά για την αλλαγή των δικαιωμάτων πρόσβασης για την περιοχή διευθύνσεων προέλευσης σε ανάγνωση μόνο, αλλά χωρίς αλλαγή της αντιστοίχισης διευθύνσεων, και ταυτόχρονα η σχετική περιοχή διευθύνσεων εντός των δομών TLB θα ακυρωνόταν ώστε να εξασφαλίζεται ότι θα πραγματοποιείται αναφορά στις ενημερωμένες πληροφορίες πινάκων σελίδων. Μια τέτοια προσέγγιση θα εξασφάλιζε ότι οποιεσδήποτε προσβάσεις εγγραφής που εκδίδονται κατά τη διάρκεια της λειτουργίας μεταφοράς δεδομένων υπό έλεγχο λογισμικού, θα εμποδίζονταν. Με την ολοκλήρωση της λειτουργίας μεταφοράς, οι πίνακες σελίδων θα ενημερώνονταν και πάλι, αυτή τη φορά ώστε να υποδεικνύουν τις περιοχές διευθύνσεων προορισμού και να απομακρύνουν τον περιορισμό ανάγνωσης μόνο και πάλι αυτό θα απαιτούσε την ακύρωση της σχετικής περιοχής διευθύνσεων εντός τη δομής TLB ώστε να εξασφαλίζεται ότι θα πραγματοποιείται αναφορά στο ενημερωμένο περιεχόμενο των πινάκων σελίδων.
Οι ακυρώσεις TLB μπορεί να προκαλούν σημαντικά ζητήματα απόδοσης. Για παράδειγμα, συμβαίνει συχνά να υπάρχουν πολλά στοιχεία επεξεργασίας στο σύστημα και η ακύρωση TLB πρέπει να πραγματοποιείται όσον αφορά σε κάθε τέτοιο στοιχείο επεξεργασίας μέσω της χρήσης μιας κατάλληλης λειτουργίας εκπομπής. Περαιτέρω, κάθε στοιχείο επεξεργασίας το οποίο στη συνέχεια απαιτεί τη χρήση της περιοχής θα πρέπει να εκτελεί μια νέα διαδικασία βάδισης στους πίνακες σελίδων για την ανακάλυψη της νέας μετάφρασης, ενώ οι βαδίσεις στους πίνακες σελίδων αυξάνουν σημαντικά τον λανθάνοντα χρόνο των προσβάσεων στη μνήμη που αστοχούν στην TLB, εφόσον απαιτούν πολλαπλές εξαρτώμενες προσβάσεις μνήμης στους πίνακες σελίδων οι οποίες πρέπει να διατάσσονται σειριακά για να είναι δυνατή η εξυπηρέτηση του αιτήματος πρόσβασης. Συνεπώς, είναι δυνατή η επίτευξη σημαντικών πλεονεκτημάτων απόδοσης με τη μείωση του αριθμού ακυρώσεων TLB που απαιτούνται κατά τη διάρκεια μιας τέτοιας λειτουργίας μετανάστευσης σελίδων.
Σε μια υλοποίηση, με την ολοκλήρωση της λειτουργίας μεταφοράς, αποτρέπεται η αναχαίτιση ενός μετέπειτα αιτήματος πρόσβασης από τον ελεγκτή ανακατεύθυνσης το οποίο προσδιορίζει μια διεύθυνση προορισμού εντός της περιοχής διευθύνσεων προορισμού. Στις υλοποιήσεις που περιγράφονται παραπάνω, στις οποίες η τουλάχιστον μια περιοχή διευθύνσεων προορισμού χρησιμοποιείται ως η περιοχή διευθύνσεων προορισμού, θα σημειωθεί ότι σε αυτό το σημείο δεν απαιτούνται περαιτέρω βήματα, εφόσον οι πίνακες σελίδων θα έχουν ήδη ενημερωθεί ώστε να υποδεικνύουν τη(ις) σωστή(ές) περιοχή(ές) διευθύνσεων και ανάλογα μόλις απαγορευτεί ο μηχανισμός αναχαίτισης του ελεγκτή ανακατεύθυνσης, οι προσβάσεις θα κατευθύνονται φυσικά στη σωστή θέση εντός της φυσικής μνήμης.
Σε πολλά συστήματα, τα στοιχεία επεξεργασίας έχουν συσχετισμένες δομές κρυφής μνήμης για την αποθήκευση σε κρυφή μνήμη δεδομένων στα οποία έχει πραγματοποιηθεί πρόσβαση στη μνήμη, ενώ χρησιμοποιείται ένα πρωτόκολλο συνοχής κρυφής μνήμης το οποίο εξασφαλίζει τη συνοχή μεταξύ των αποθηκευμένων σε κρυφή μνήμη δεδομένων και των αποθηκευμένων στη μνήμη δεδομένων. Το πρωτόκολλο συνοχής κρυφής μνήμης μπορεί στη συνέχεια να χρησιμοποιείται σε σχέση με αιτήματα πρόσβασης που εκδίδονται από τον ελεγκτή μεταφοράς δεδομένων κατά τη διάρκεια εκτέλεσης της λειτουργίας μεταφοράς ώστε να εξασφαλίζεται η πρόσβαση σε μια πλέον ενημερωμένη έκδοση δεδομένων τα οποία προσδιορίζονται από τα εν λόγω αιτήματα πρόσβασης από τον ελεγκτή μεταφοράς δεδομένων.
Οι λειτουργίες μετανάστευσης δεδομένων που περιγράφονται παραπάνω μπορούν να οδηγήσουν σε μη αποτελεσματική χρησιμοποίηση του χώρου αποθήκευσης κρυφής μνήμης, εφόσον μπορεί να έχει ως αποτέλεσμα την αποθήκευση σε κρυφή μνήμη των ίδιων δεδομένων τόσο για την(ις) περιοχή(ές) διευθύνσεων προέλευσης, όσο και για την(ις) περιοχή(ές) διευθύνσεων προορισμού. Ωστόσο, σε μια υλοποίηση ο ελεγκτής μεταφοράς δεδομένων μπορεί να διατάσσεται ώστε να απελευθερώνει χώρο εντός τέτοιων δομών κρυφής μνήμης κατά την εκτέλεση της λειτουργίας μεταφοράς δεδομένων. Συγκεκριμένα, ο ελεγκτής μεταφοράς δεδομένων μπορεί να διατάσσεται, κατά την έκδοση αιτημάτων πρόσβασης για ανάγνωση και την εκτέλεση της λειτουργίας μεταφοράς, ώστε να διαβάζει τα δεδομένα εντός της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης, για τη χρήση ενός καθορισμένου τύπου αιτήματος πρόσβασης για ανάγνωση το οποίο προκαλεί την ακύρωση οποιωνδήποτε αποθηκευμένων σε κρυφή μνήμη αντιγράφων αυτών των δεδομένων κατά την εφαρμογή του πρωτοκόλλου συνοχής κρυφής μνήμης.
Σε μια συγκεκριμένη υλοποίηση, ο καθορισμένος τύπος αιτήματος πρόσβασης για ανάγνωση είναι ένα αίτημα αποκλειστικής πρόσβασης για ανάγνωση. Όταν εκδίδεται ένα τέτοιο αίτημα αποκλειστικής πρόσβασης για ανάγνωση, τότε ένα κύκλωμα συνοχής κρυφής μνήμης εντός του συστήματος θα εκτελεί λειτουργίες συνοχής όσον αφορά στις σχετικές δομές κρυφής μνήμης με σκοπό τον προσδιορισμό της πλέον ενημερωμένης έκδοσης των δεδομένων (εάν κάποια δομή κρυφής μνήμης τηρεί μια έκδοση των δεδομένων η οποία είναι πιο ενημερωμένη από την έκδοση στη μνήμη), με αυτή την έκδοση των δεδομένων να επιστρέφεται στον ελεγκτή μεταφοράς δεδομένων. Περαιτέρω, το πρωτόκολλο συνοχής κρυφής μνήμης θα απαιτεί την ακύρωση κάθε αντιγράφου αποθηκευμένου στην κρυφή μνήμη και ανάλογα μια τέτοια διαδικασία θα απελευθερώνει φυσικά χώρο από οποιεσδήποτε δομές κρυφής μνήμης τηρούν ένα αντίγραφο των δεδομένων στη διεύθυνση προέλευσης.
Αυτή η διαδικασία μπορεί να είναι ιδιαίτερα επωφελής σε συστήματα στα οποία παρέχονται πολλαπλά στοιχεία επεξεργασίας, κάθε ένα από τα οποία έχει τη δική του συσχετισμένη δομή κρυφής μνήμης ή δομές κρυφής μνήμης, εφόσον επωφελούμενες από τους κανόνες του πρωτοκόλλου συνοχής κρυφής μνήμης, πολλές από αυτές τις δομές κρυφής μνήμης μπορεί να ακυρώνουν κάθε αντίγραφο των δεδομένων το οποίο έχουν αποθηκεύσει στην κρυφή μνήμη σε συσχετισμό με την περιοχή διευθύνσεων προέλευσης, παρέχοντας συνεπώς σημαντικά οφέλη σε σχέση με το βαθμό χρησιμοποίησης της κρυφής μνήμης.
Η λειτουργία μεταφοράς που εκτελείται από τον ελεγκτή μεταφοράς δεδομένων μπορεί να λαμβάνει έναν αριθμό μορφών, αλλά σε μια υλοποίηση χρησιμοποιείται για να εκτελεί έναν από τους ακόλουθους τύπους μεταφοράς δεδομένων: μια συγκέντρωση δεδομένων από πολλές περιοχές διευθύνσεων προέλευσης σε μια μοναδική περιοχή διευθύνσεων προορισμού, μια διασπορά δεδομένων από μια μοναδική περιοχή διευθύνσεων προέλευσης σε πολλές περιοχές διευθύνσεων προορισμού ή μια μεταφορά δεδομένων από μια περιοχή διευθύνσεων προέλευσης σε μια περιοχή διευθύνσεων προορισμού ίδιου μεγέθους.
Επιπλέον, η λειτουργία μεταφοράς μπορεί να περιλαμβάνει μια λειτουργία μετακίνησης ή μια λειτουργία αντιγραφής. Σύμφωνα με μια λειτουργία αντιγραφής, τα δεδομένα αντιγράφονται από την τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στην τουλάχιστον μια περιοχή διευθύνσεων προορισμού, αλλά τα δεδομένα στην περιοχή διευθύνσεων προέλευσης επίσης διατηρούνται ως έγκυρα. Σύμφωνα με μια λειτουργία μετακίνησης, τα δεδομένα μεταφέρονται από την τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στην τουλάχιστον μια περιοχή διευθύνσεων προορισμού, ενώ τα δεδομένα στην τουλάχιστον μια περιοχή διευθύνσεων προέλευσης ακυρώνονται (για παράδειγμα με την έκδοση ξεχωριστών εντολών διαγραφής εάν απαιτείται).
Σε μια υλοποίηση, η διάταξη που περιγράφεται παραπάνω μπορεί να χρησιμοποιείται εντός μιας διασύνδεσης ενός συστήματος. Συγκεκριμένα, μπορεί να παρέχεται ένα σύστημα το οποίο περιλαμβάνει: ένα πλήθος στοιχείων επεξεργασίας και μια διασύνδεση συνδεδεμένη με το εν λόγω πλήθος στοιχείων επεξεργασίας και για τον έλεγχο της πρόσβασης σε μια μνήμη από το εν λόγω πλήθος στοιχείων επεξεργασίας, με τη διασύνδεση να έχει μια μηχανή μεταφοράς διαμορφωμένη από μια διάταξη σύμφωνα με τις υλοποιήσεις που περιγράφονται παραπάνω, για την εκτέλεση μιας λειτουργίας μεταφοράς για λογαριασμό ενός από τα στοιχεία επεξεργασίας με σκοπό τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού, επιτρέποντας ταυτόχρονα τη συνέχιση της επεξεργασίας των αιτημάτων πρόσβασης που έχουν εκδοθεί από το πλήθος στοιχείων επεξεργασίας όσον αφορά στα δεδομένα τα οποία υποβάλλονται στη λειτουργία μεταφοράς κατά την εκτέλεση της λειτουργία μεταφοράς.
Συνεπώς, η μηχανή μεταφοράς παρέχει ένα μηχανισμό υλικού εντός της διασύνδεσης στον οποίο τα στοιχεία επεξεργασίας μπορούν να αποφορτώνουν αιτήματα μεταφοράς δεδομένων, με αυτή τη μηχανή μεταφοράς να έχει τη δυνατότητα εκτέλεσης της απαιτούμενης λειτουργίας μεταφοράς στο παρασκήνιο με έναν τρόπο ο οποίος είναι διαφανής στο λογισμικό που εκτελείται στα στοιχεία επεξεργασίας. Συγκεκριμένα, είναι ωστόσο δυνατή η επεξεργασία των μετέπειτα αιτημάτων πρόσβασης που εκδίδονται από οποιοδήποτε στοιχείο επεξεργασίας όσον αφορά στα δεδομένα τα οποία υποβάλλονται στη λειτουργία μεταφοράς χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς, με την αναχαίτιση τέτοιων αιτημάτων πρόσβασης από τον ελεγκτή ανακατεύθυνσης της μηχανής μεταφοράς και την εκτέλεση της συσχετισμένης λειτουργίας ανακατεύθυνσης μνήμης με σκοπό την επεξεργασία αυτών των αιτημάτων πρόσβασης.
Όταν η μηχανή μεταφοράς χρησιμοποιείται εντός της διασύνδεσης με τον τρόπο που περιγράφεται παραπάνω, μπορεί να διατάσσεται ώστε να αποκρίνεται και σε άλλα σήματα εισόδου για τον έλεγχο της εκτέλεσης της λειτουργίας μεταφοράς. Για παράδειγμα, η διασύνδεση θα έχει ένα ορισμένο μέγιστο εύρος ζώνης, ενώ θα δρομολογείται και άλλη κίνηση μέσω της διασύνδεσης κατά το χρόνο εκτέλεσης της λειτουργίας μεταφοράς από τη μηχανή μεταφοράς. Η εκτέλεση της λειτουργίας μεταφοράς απαιτεί την έκδοση ενός αριθμού αιτημάτων πρόσβασης για ανάγνωση και εγγραφής από τη μηχανή μεταφοράς με σκοπό την ανάγνωση των δεδομένων από τη μνήμη και την εγγραφή των δεδομένων και πάλι στη μνήμη και αυτό μπορεί να έχει επίπτωση στο εύρος ζώνης που είναι διαθέσιμο για άλλες λειτουργίες. Ωστόσο, σε μια υλοποίηση η μηχανή μεταφοράς μπορεί να διατάσσεται ώστε να αποκρίνεται σε μια ένδειξη χρήσης του εύρους ζώνης εντός της διασύνδεσης για την επιβράδυνση της εκτέλεσης της λειτουργίας μεταφοράς. Συνεπώς, κατά τη διάρκεια περιόδων με μεγάλη κίνηση ή περιόδων εκτέλεσης λειτουργιών ευαίσθητων στο λανθάνοντα χρόνο, η μηχανή μεταφοράς μπορεί να διατάσσεται ώστε να επιβραδύνει την εκτέλεση της λειτουργίας μεταφοράς και να κάνει μικρότερη χρήση του εύρους ζώνης, απελευθερώνοντας συνεπώς εύρος ζώνης για χρήση από άλλες λειτουργίες. Εφόσον η λειτουργία μεταφοράς εκτελείται ως μια εργασία υπόβαθρου και δεν απαιτεί τη φραγή των μετέπειτα αιτημάτων πρόσβασης, η αύξηση του χρόνου που απαιτείται για την εκτέλεση της λειτουργίας μεταφοράς όταν αυτή επιβραδύνεται με έναν τέτοιο τρόπο, δε γίνεται προβληματική. Συνεπώς, η περιγραφείσα τεχνική παρέχει σημαντικά βελτιωμένη ευελιξία, εφόσον η λειτουργία μεταφοράς μπορεί να εκτελείται ως μια εργασία υπόβαθρου λαμβάνοντας υπόψη τις απαιτήσεις άλλων λειτουργιών που εκτελούνται εντός του συστήματος, και συγκεκριμένα το εύρος ζώνης εντός της διασύνδεσης που απαιτείται από τέτοιες λειτουργίες.
Σε μια υλοποίηση, σε περιπτώσεις στις οποίες κάθε μια από πολλές ξεχωριστές μνήμες συσχετίζεται με μια διασύνδεση, μπορεί να χρησιμοποιείται ένα σύστημα τύπου NUMA. Ανάλογα, το σύστημα σε μια τέτοια διάταξη μπορεί να περιλαμβάνει επιπλέον: μια επιπλέον διασύνδεση συνδεδεμένη με την εν λόγω διασύνδεση και για τον έλεγχο της πρόσβασης σε μια επιπλέον μνήμη από το εν λόγω πλήθος στοιχείων επεξεργασίας, με την επιπλέον διασύνδεση να έχει μια επιπλέον μηχανή μεταφοράς διαμορφωμένη από μια διάταξη όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, για την εκτέλεση μιας λειτουργίας μεταφοράς για λογαριασμό ενός από τα στοιχεία επεξεργασίας με σκοπό τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού, επιτρέποντας ταυτόχρονα τη συνέχιση της επεξεργασίας των αιτημάτων πρόσβασης που εκδίδονται από το πλήθος των στοιχείων επεξεργασίας όσον αφορά στα δεδομένα τα οποία υποβάλλονται στη λειτουργία μεταφοράς, ενώ εκτελείται η λειτουργία μεταφοράς.
Συνεπώς, σε τέτοιες υλοποιήσεις, θα παρέχεται μια μηχανή μεταφοράς εντός κάθε διασύνδεσης, και συνεπώς σε συσχέτιση με κάθε μνήμη.
Υπάρχει ένας αριθμός τρόπων με τους οποίους είναι δυνατός ο έλεγχος των μεμονωμένων μηχανών μεταφοράς για την εκτέλεση των απαιτούμενων λειτουργιών μεταφοράς. Σε μια υλοποίηση, χρησιμοποιείται η μηχανή μεταφοράς για τη διαχείριση της λειτουργίας μεταφοράς όταν η τουλάχιστον μια περιοχή διευθύνσεων προορισμού βρίσκεται εντός της εν λόγω μνήμης, ενώ η επιπλέον μηχανή μεταφοράς χρησιμοποιείται για τη διαχείριση της λειτουργίας μεταφοράς όταν η τουλάχιστον μια περιοχή διευθύνσεων προορισμού βρίσκεται εντός της εν λόγω επιπλέον μνήμης.
Συνεπώς, σε μια τέτοια υλοποίηση, η μηχανή μεταφοράς που συσχετίζεται με τη μνήμη που περιλαμβάνει την τουλάχιστον μια περιοχή διευθύνσεων προορισμού χρησιμοποιείται για τη διαχείριση της λειτουργίας μεταφοράς. Ακόμη και στην περίπτωση στην οποία η τουλάχιστον μια περιοχή διευθύνσεων προέλευσης βρίσκεται εντός μιας διαφορετικής μνήμης, αυτή η μηχανή αναφοράς μπορεί εν τούτοις να εκτελεί τη λειτουργία μεταφοράς, μέσω της σύνδεσής της με την άλλη διασύνδεση ή τις διασυνδέσεις.
Θα περιγραφούν τώρα συγκεκριμένες υλοποιήσεις αναφορικά με τα σχεδιαγράμματα. Το Σχήμα 1 είναι ένα διάγραμμα βαθμιδών ενός συστήματος που περιλαμβάνει μια μηχανή μεταφοράς 35 σύμφωνα με μια υλοποίηση. Το σύστημα περιλαμβάνει το πλήθος στοιχείων επεξεργασίας 10, 20 τα οποία συνδέονται μέσω μιας διασύνδεσης 30 με μια μνήμη 40. Μολονότι δείχνονται δύο στοιχεία επεξεργασίας για λόγους απλότητας, θα εκτιμηθεί το γεγονός ότι σε οποιαδήποτε συγκεκριμένη υλοποίηση μπορεί να υπάρχει ένας διαφορετικός αριθμός στοιχείων επεξεργασίας συνδεδεμένων με τη διασύνδεση.
Τα στοιχεία επεξεργασίας που δείχνονται χρησιμοποιούν σχήματα εικονικής διευθυνσιοδότησης και κατά συνέπεια οι εικονικές διευθύνσεις θα μετατρέπονται σε φυσικές διευθύνσεις εντός της μνήμης 40, ώστε όταν ένα στοιχείο επεξεργασίας εκδίδει ένα αίτημα πρόσβασης που αποσκοπεί στην προσπέλαση μιας θέσης στη μνήμη, αυτό το αίτημα πρόσβασης όπως προωθείται στη διασύνδεση 30 προσδιορίζει τη φυσική διεύθυνση της προς προσπέλαση θέσης εντός της μνήμης. Σε έναν τυπικό τρόπο, η μνήμη 40 μπορεί να οργανώνεται σε ένα πλήθος σελίδων, ενώ μπορούν να παρέχονται πίνακες σελίδων 45 εντός της μνήμης οι οποίοι περιλαμβάνουν περιγράφεις που χρησιμοποιούνται για να προσδιοριστεί ο τρόπος με τον οποίο οι εικονικές διευθύνσεις θα πρέπει να μεταφράζονται σε αντίστοιχες φυσικές διευθύνσεις. Κάθε στοιχείο επεξεργασίας 10, 20 μπορεί να έχει μια συσχετισμένη προσωρινή μνήμη παράβλεψης μετάφρασης (TLB) 15, 25 στην οποία είναι δυνατή η προσωρινή αποθήκευση των δεδομένων μετάφρασης διευθύνσεων που προκύπτουν από τους πίνακες σελίδων 45 για τη βελτίωση της ταχύτητας μετάφρασης από εικονικές σε φυσικές διευθύνσεις. Συγκεκριμένα, όταν εκδίδεται μια εικονική διεύθυνση η οποία δεν ευστοχεί στην TLB, είναι απαραίτητη η εκτέλεση μιας λειτουργίας βάδισης στους πίνακες σελίδων όσον αφορά στους πίνακες σελίδων 45 στη μνήμη 40 με σκοπό τη διαδοχική διάσχιση πολλών πινάκων σελίδων για τη δημιουργία των απαραίτητων δεδομένων μετάφρασης διευθύνσεων για αυτή την εικονική διεύθυνση. Μόλις προσδιοριστούν αυτά τα δεδομένα μετάφρασης διευθύνσεων, μπορούν να αποθηκεύονται προσωρινά εντός της τοπικής TLB.
Τα δεδομένα μετάφρασης διευθύνσεων που αποθηκεύονται προσωρινά στην TLB θα προσδιορίζουν συνήθως όχι μόνο τον τρόπο με τον οποίο η εικονική διεύθυνση μετατρέπεται σε μια φυσική διεύθυνση, αλλά και οποιαδήποτε συσχετισμένα χαρακτηριστικά δικαιωμάτων, όπως κατά πόσο η θέση μπορεί να διαβάζεται και να εγγράφεται, είναι μόνο για ανάγνωση, μπορεί να αποθηκεύεται σε κρυφή μνήμη, κλπ.
Κατά την κανονική λειτουργία, ένα ή περισσότερα από τα στοιχεία επεξεργασίας μπορεί να αποφασίζουν ότι είναι κατάλληλη η επιδίωξη μεταφοράς δεδομένων από μια ή περισσότερες σελίδες στη μνήμη σε μια ή περισσότερες άλλες σελίδες στη μνήμη, με αυτή τη λειτουργία να αναφέρεται σε γενικές γραμμές στο παρόν ως μετανάστευση δεδομένων. Για παράδειγμα, μπορεί να θεωρείται κατάλληλη η συγχώνευση πολλών μικρότερων σελίδων σε μια μεγαλύτερη σελίδα (η οποία θα αναφέρεται στο παρόν ως λειτουργία συγκέντρωσης) ή αντίθετα σε ορισμένες περιπτώσεις μπορεί να θεωρείται κατάλληλη η διαίρεση μιας μεγαλύτερης σελίδας σε πολλές μικρότερες σελίδες (αναφέρεται στο παρόν ως λειτουργία διασποράς). Εναλλακτικά, μπορεί να είναι επιθυμητή η μετακίνηση δεδομένων από μια σελίδα σε μια άλλη σελίδα.
Σύμφωνα με τις υλοποιήσεις οι οποίες θα εξεταστούν λεπτομερέστερα στο παρόν, η μηχανή μεταφοράς δεδομένων 35 παρέχεται εντός της διασύνδεσης 30 για τη διαχείριση τέτοιων λειτουργιών μετανάστευσης δεδομένων. Συγκεκριμένα, η μηχανή μεταφοράς δεδομένων 35 διατάσσεται ώστε να αποκρίνεται σε ένα αίτημα μεταφοράς δεδομένων που εκδίδεται από ένα από τα στοιχεία επεξεργασίας 10, 20, για τη διαχείριση της απαιτούμενης λειτουργίας μεταφοράς για λογαριασμό αυτού του στοιχείου επεξεργασίας, αφήνοντας το στοιχείο επεξεργασίας ελεύθερο να συνεχίσει τις λειτουργίες του. Επιπλέον, η μηχανή μεταφοράς δεδομένων περιλαμβάνει έναν ελεγκτή ανακατεύθυνσης ο οποίος διατάσσεται, κατά την εκτέλεση της λειτουργίας μεταφοράς, ώστε να αναχαιτίζει ορισμένα αιτήματα πρόσβασης που εκδίδονται από τα στοιχεία επεξεργασίας 10, 20 και συγκεκριμένα τα αιτήματα πρόσβασης τα οποία πραγματοποιούνται όσον αφορά στα δεδομένα τα οποία αποτελούν το αντικείμενο της λειτουργίας μεταφοράς. Για τέτοια αιτήματα πρόσβασης, η μηχανή μεταφοράς δεδομένων εκτελεί μια λειτουργία ανακατεύθυνσης μνήμης η οποία επιτρέπει την επεξεργασία των αιτημάτων πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς. Ανάλογα, τέτοια αιτήματα πρόσβασης μπορούν να διαχειρίζονται ασύγχρονα από την εκτέλεση της λειτουργίας μεταφοράς και συνεπώς χωρίς την ανάγκη φραγής οποιωνδήποτε τέτοιων αιτημάτων πρόσβασης. Το γεγονός αυτό μπορεί να έχει ως αποτέλεσμα σημαντικές βελτιώσεις στην απόδοση. Επιπλέον, ο μηχανισμός που χρησιμοποιείται από τη μηχανή μεταφοράς δεδομένων 30 μειώνει τον αριθμό των φορών που απαιτούνται για την ακύρωση των εγγραφών στις TLB 15, 25 κατά την εκτέλεση της λειτουργίας μεταφοράς, σε σύγκριση με τις προηγούμενες γνωστές προσεγγίσεις οι οποίες διαχειρίζονται τη διαδικασία μεταφοράς δεδομένων με λογισμικό υπό τον έλεγχο του λειτουργικού συστήματος εντός ενός από τα στοιχεία επεξεργασίας.
Οι τεχνικές των υλοποιήσεων που περιγράφονται μπορούν να χρησιμοποιούνται ανεξάρτητα εάν τα στοιχεία επεξεργασίας έχουν συσχετισμένες δομές κρυφής μνήμης ή όχι. Ωστόσο, όπως δείχνεται στο Σχήμα 1, τα στοιχεία επεξεργασίας 10, 20 μπορούν να έχουν μια ή περισσότερες δομές κρυφής μνήμης 50, 55 που χρησιμοποιούνται για την αποθήκευση σε κρυφή μνήμη δεδομένων που διατηρούνται στη μνήμη 40 με σκοπό τη βελτίωση της απόδοσης. Σε τέτοιες περιπτώσεις θα παρέχεται συνήθως ένα κύκλωμα συνοχής κρυφής μνήμης 60 το οποίο θα εξασφαλίζει τη διατήρηση της συνοχής μεταξύ των δεδομένων που διατηρούνται στη μνήμη και των διαφόρων αντιγράφων τα οποία μπορεί να διατηρούνται εντός των κρυφών μνημών 50, 55. Συγκεκριμένα, όταν εκδίδεται ένα αίτημα πρόσβασης από ένα από τα στοιχεία επεξεργασίας που προσδιορίζει μια φυσική διεύθυνση στη μνήμη 40, το κύκλωμα ελέγχου συνοχής κρυφής μνήμης 60 μπορεί να προσδιορίζει κατά πόσο οποιαδήποτε από τις δομές κρυφής μνήμης 50, 55 μπορεί να διατηρεί ένα αντίγραφο των δεδομένων που συσχετίζονται με αυτή τη φυσική διεύθυνση, ενώ σε αυτή την περίπτωση χρησιμοποιείται ένα κύκλωμα κατασκοπείας εντός του κυκλώματος ελέγχου συνοχής κρυφής μνήμης για την έκδοση αιτημάτων κατασκοπείας στις αντίστοιχες κρυφές μνήμης με σκοπό να προσδιοριστεί κατά πόσο υπάρχουν τα δεδομένα. Με μια τέτοια προσέγγιση, μπορεί να εξασφαλίζεται η πρόσβαση στην πλέον ενημερωμένη έκδοση των δεδομένων. Ανάλογα το πρωτόκολλο συνοχής που χρησιμοποιείται, οι κρυφές μνήμες που υποβάλλονται στις λειτουργίες κατασκοπείας μπορούν να επιστρέφουν δεδομένα στο κύκλωμα ελέγχου συνοχής κρυφής μνήμης 60 όταν προσδιορίζεται ότι τα δεδομένα που συσχετίζονται με τη διεύθυνση που καθορίζεται από το αίτημα κατασκοπείας διατηρούνται εντός της κρυφής μνήμης και/ή να προκαλούν την ακύρωση ενός αντιγράφου οποιωνδήποτε τέτοιων δεδομένων εντός της κρυφής μνήμης. Επιπλέον της εξάρτησης τέτοιων ενεργειών από το πρωτόκολλο συνοχής που χρησιμοποιείται, μπορούν επίσης να εξαρτώνται από τον τύπο του αιτήματος πρόσβασης που εκδίδεται από τα στοιχεία επεξεργασίας 10, 20.
Σε μια υλοποίηση, όπως θα εξεταστεί αργότερα, όταν η μηχανή μεταφοράς δεδομένων 35 εκτελεί μια λειτουργία μεταφοράς για τη μετακίνηση μιας βαθμίδας δεδομένων από μια ή περισσότερες σελίδες προέλευσης σε μια ή περισσότερες σελίδες προορισμού εντός της μνήμης 40, θα εκδίδει μια σειρά αιτημάτων πρόσβασης για ανάγνωση και αιτημάτων πρόσβασης για εγγραφή με σκοπό την ανάγνωση των απαιτούμενων προς μετακίνηση δεδομένων και στη συνέχεια θα εγγράφει αυτά τα δεδομένα στις σελίδες προορισμού. Τα αιτήματα πρόσβασης που εκδίδονται από τη μηχανή μεταφοράς δεδομένων 35 θα επανεξετάζονται από το κύκλωμα ελέγχου συνοχής κρυφής μνήμης 60 με τον ίδιο τρόπο όπως τα αιτήματα πρόσβασης που εκδίδονται από τα στοιχεία επεξεργασίας 10, 20. Χρησιμοποιώντας μια συγκεκριμένη μορφή αιτήματος πρόσβασης για ανάγνωση, αυτό μπορεί να εξασφαλίζει ότι οποιαδήποτε αποθηκευμένα σε κρυφή μνήμη αντίγραφα των δεδομένων τα οποία μετακινούνται και είναι συσχετισμένα στις κρυφές μνήμες 50, 55 με την(ις) περιοχή(ές) διευθύνσεων προέλευσης, θα ακυρώνονται και συνεπώς θα απελευθερώνουν πόρους εντός της κρυφής μνήμης. Θα εκτιμηθεί ότι μόλις εκτελεστεί η λειτουργία μεταφοράς, τα δεδομένα θα παραμείνουν εντός της(ων) σελίδας(ων) προορισμού, έχοντας τη(ις) συσχετισμένη (ες) περιοχή(ές) διευθύνσεων προορισμού, και συνεπώς οποιαδήποτε αντίγραφα κρυφής μνήμης που συσχετίζονται με την περιοχή διευθύνσεων προέλευσης δε θα χρησιμοποιούνται. Συνεπώς, ακυρώνοντας αυτά τα αντίγραφα κατά τη διάρκεια της διαδικασίας μεταφοράς των δεδομένων, μπορεί να παρέχεται ένας πολύ αποτελεσματικός μηχανισμός για την απομάκρυνση των δεδομένων που πλεονάζουν από τις κρυφές μνήμες 50, 55.
Το Σχήμα 2 είναι ένα διάγραμμα βαθμιδών που απεικονίζει λεπτομερέστερα τη μηχανή μεταφοράς δεδομένων 35 του Σχήματος 1, σύμφωνα με μια υλοποίηση. Παρέχεται ένας ελεγκτής διευθέτησης 100 ο οποίος διατάσσεται ώστε να λαμβάνει τα αιτήματα μεταφοράς δεδομένων από τα στοιχεία επεξεργασίας 10, 20. Με τη λήψη ενός αιτήματος μεταφοράς δεδομένων, ο ελεγκτής διευθέτησης συμπληρώνει ορισμένες πληροφορίες εντός των καταχωρητών ελέγχου 105, με αυτές τις πληροφορίες να παρέχουν στοιχεία για τη μια ή τις περισσότερες περιοχές διευθύνσεων προέλευσης από τις οποίες πρόκειται να μεταφερθούν τα δεδομένα και τη μια ή τις περισσότερες περιοχές διευθύνσεων στις οποίες πρόκειται να μεταφερθούν τα δεδομένα. Συνήθως η(οι) περιοχή(ές) διευθύνσεων προέλευσης και η(οι) περιοχή(ές) διευθύνσεων προορισμού θα προσδιορίζονται από το αίτημα μεταφοράς που εκδίδεται από το στοιχείο επεξεργασίας και αυτές οι πληροφορίες εξάγονται από το αίτημα και συμπληρώνονται εντός ενός ή περισσότερων καταχωρητών ελέγχου. Μπορούν επίσης να προσδιορίζονται επιπλέον πληροφορίες, για παράδειγμα οι οποίες προσδιορίζουν κατά πόσο η μεταφορά θα πρέπει να υλοποιεί μια αντιγραφή (όπου μετά τη μετακίνηση των δεδομένων, τα δεδομένα παραμένουν έγκυρα εντός της(ων) περιοχής(ών) διευθύνσεων προέλευσης) ή μια μετακίνηση (όπου μετά τη μεταφορά των δεδομένων, τα δεδομένα εντός της(ων) περιοχής(ών) διευθύνσεων προέλευσης ακυρώνονται). Το αίτημα μεταφοράς μπορεί επίσης να προσδιορίζει ορισμένες ακόμη πληροφορίες, για παράδειγμα κατά πόσο η συγκεκριμένη μορφή αιτήματος πρόσβασης για ανάγνωση που αναφέρθηκε νωρίτερα θα πρέπει να χρησιμοποιείται με σκοπό την υποβοήθηση στην απαλοιφή πληροφοριών που πλεονάζουν από τις κρυφές μνήμες.
Μόλις συμπληρωθούν οι σχετικές πληροφορίες εντός των καταχωρητών ελέγχου 105, ο ελεγκτής διευθέτησης μπορεί να εκδίδει ένα σήμα αναγνώρισης πίσω προς το στοιχείο επεξεργασίας, με αυτό το σήμα αναγνώρισης να είναι ένα παράδειγμα μορφής ενός σήματος ελέγχου το οποίο μπορεί να εκδίδεται από τον ελεγκτή διευθέτησης. Συγκεκριμένα, σε μια υλοποίηση το στοιχείο επεξεργασίας αποκρίνεται στη λήψη του σήματος αναγνώρισης για την ανάληψη μέτρων ενημέρωσης των σχετικών πινάκων σελίδων 45, ώστε να εξασφαλίζεται ότι κατά την εκτέλεση της λειτουργίας μεταφοράς από τη μηχανή μεταφοράς δεδομένων 35, οποιεσδήποτε εικονικές διευθύνσεις εντός της σχετικής περιοχής εικονικών διευθύνσεων θα αντιστοιχούνται με διευθύνσεις στόχου εντός μιας συγκεκριμένης περιοχής διευθύνσεων στόχου οι οποίες στη συνέχεια θα αναχαιτίζονται από τη μηχανή μεταφοράς δεδομένων. Σε ένα συγκεκριμένο παράδειγμα υλοποίησης, το στοιχείο επεξεργασίας μπορεί να διατάσσεται ώστε να τροποποιεί τους κατάλληλους πίνακες σελίδων ώστε τέτοιες εικονικές διευθύνσεις θα αντιστοιχούνται σε διευθύνσεις εντός της μιας ή των περισσότερων περιοχών διευθύνσεων προορισμού και δε θα συνεχίσουν να αντιστοιχούνται σε διευθύνσεις εντός της μιας ή των περισσότερων περιοχών διευθύνσεων προέλευσης. Όπως θα εξεταστεί λεπτομερέστερα αργότερα, ο ελεγκτής ανακατεύθυνσης 115 εντός της μηχανής μεταφοράς δεδομένων μπορεί στη συνέχεια να αναχαιτίζει οποιαδήποτε αιτήματα πρόσβασης εκδίδονται σε διευθύνσεις εντός της μιας ή των περισσότερων περιοχών διευθύνσεων προορισμού κατά τη διάρκεια της εκτέλεσης της λειτουργίας μεταφοράς δεδομένων, και να εκτελεί μια λειτουργία ανακατεύθυνσης μνήμης όσον αφορά σε τέτοια αιτήματα πρόσβασης.
Επιπλέον της ενημέρωσης των πινάκων σελίδων, το στοιχείο επεξεργασίας μπορεί επίσης να ακυρώνει οποιεσδήποτε σχετικές εγγραφές εντός της τοπικής της TLB, δηλ. εγγραφές οι οποίες παρέχουν δεδομένα μετάφρασης διευθύνσεων για τη σχετική περιοχή εικονικών διευθύνσεων και επίσης θα εκπέμπει συνήθως ένα μήνυμα στα άλλα στοιχεία επεξεργασίας και θα τα εξαναγκάζει να ακυρώνουν τέτοιες εγγραφές στις τοπικές τους TLB. Με την ακύρωση των σχετικών περιεχομένων στην TLB εξασφαλίζεται ότι εάν εκδοθεί ένα αίτημα πρόσβασης από οποιοδήποτε από αυτά τα στοιχεία επεξεργασίας με τη χρήση μιας εικονικής διεύθυνσης εντός της σχετικής περιοχής εικονικών διευθύνσεων, δε θα ανιχνεύεται μια ευστοχία στην TLB και θα προκαλεί τη χρήση μιας διαδικασίας βάδισης πίνακα σελίδων, ως αποτέλεσμα της οποίας θα ανακτάται η νέα αντιστοίχιση που παρέχεται στους ενημερωμένους πίνακες σελίδων 45 και θα χρησιμοποιείται για τη μετατροπή της εικονικής διεύθυνσης σε μια φυσική διεύθυνση. Εάν είναι επιθυμητό, αυτά τα νέα δεδομένα μετάφρασης διευθύνσεων μπορούν στη συνέχεια να αποθηκεύονται προσωρινά εντός της TLB.
Ως μια εναλλακτική λύση της χρήσης ενός τέτοιου σήματος αναγνώρισης προς το στοιχείο αναγνώρισης ώστε να εξαναγκάζεται το στοιχείο επεξεργασίας να αναλαμβάνει τη διαδικασία ενημέρωσης του πίνακα σελίδων και τη διαδικασία ακύρωσης της TLB, ο ελεγκτής διευθέτησης μπορεί να εκδίδει απευθείας σήματα ελέγχου προς τη μνήμη για την ενημέρωση των πινάκων σελίδων 45 και επιπλέον μπορεί να εκδίδει ένα ή περισσότερα σήματα ελέγχου που θα προκαλούν την ακύρωση των σχετικών εγγραφών στις TLB των στοιχείων επεξεργασίας 10, 20.
Μετά τη λήψη τέτοιων μέτρων, μπορεί να ενεργοποιείται ένας ελεγκτής μεταφοράς δεδομένων 110 εντός της μηχανής μεταφοράς δεδομένων 35 ώστε να ξεκινάει η εκτέλεση της λειτουργίας μεταφοράς, χρησιμοποιώντας τις πληροφορίες που διατηρούνται στους καταχωρητές ελέγχου για τον καθορισμό των διευθύνσεων προέλευσης από τις οποίες θα διαβαστούν τα δεδομένα και των διευθύνσεων προορισμού στις οποίες αυτά τα δεδομένα θα πρέπει να εγγράφονται στη συνέχεια με σκοπό την εκτέλεση της απαιτούμενης μετανάστευσης δεδομένων εντός της μνήμης 40. Ο ελεγκτής ανακατεύθυνσης 115 συνήθως θα ενεργοποιείται ταυτόχρονα, ώστε κατά το διάστημα που ο ελεγκτής μεταφοράς δεδομένων 110 εκτελεί τη λειτουργία μεταφοράς, ο ελεγκτής ανακατεύθυνσης 115 να παρακολουθεί τα αιτήματα πρόσβασης που εκδίδονται από οποιοδήποτε από τα στοιχεία επεξεργασίας 10, 20 με σκοπό την ανίχνευση των περιπτώσεων στις οποίες αυτά τα αιτήματα πρόσβασης προσδιορίζουν διευθύνσεις εντός μιας περιοχής διευθύνσεων στόχου. Σύμφωνα με το πρότερο παράδειγμα στο οποίο οι πίνακες σελίδων ενημερώνονται πριν την πραγματοποίηση της λειτουργίας μεταφοράς ώστε να εξασφαλίζεται ότι οι σχετικές εικονικές διευθύνσεις αντιστοιχούνται σε φυσικές διευθύνσεις εντός της μιας ή των περισσότερων περιοχών διευθύνσεων προορισμού, ο ελεγκτής ανακατεύθυνσης μπορεί να παρακολουθεί για τα αιτήματα πρόσβασης που προσδιορίζουν μια φυσική διεύθυνση εντός της μιας ή των περισσότερων περιοχών διευθύνσεων προορισμού και με την ανίχνευση ενός τέτοιου αιτήματος πρόσβασης θα αναχαιτίζει αυτό το αίτημα πρόσβασης και θα εκτελεί μια λειτουργία ανακατεύθυνσης μνήμης. Η λειτουργία ανακατεύθυνσης μνήμης θα εξεταστεί λεπτομερέστερα αργότερα, αλλά στοχεύει στην εξασφάλιση ότι το αίτημα πρόσβασης θα μπορεί να επεξεργάζεται ενώ η λειτουργία μεταφοράς είναι σε εξέλιξη, εξασφαλίζοντας ταυτόχρονα ότι τα δεδομένα θα παραμένουν αμετάβλητα.
Όπως δείχνεται στο Σχήμα 2, ο ελεγκτής ανακατεύθυνσης 115 θα δημιουργεί συνεπώς διευθύνσεις ανάγνωσης ή εγγραφής από ανακατεύθυνση σε απόκριση των διευθύνσεων ανάγνωσης ή εγγραφής που αναχαιτίζει. Ορισμένες από τις διευθύνσεις ανάγνωσης ή εγγραφής από ανακατεύθυνση μπορεί πράγματι να είναι οι ίδιες διευθύνσεις όπως λήφθηκαν, για παράδειγμα σε ορισμένες περιπτώσεις για ένα αναχαιτισμένο αίτημα πρόσβασης μπορεί να αποφασίζεται ότι η διεύθυνση από ανακατεύθυνση μπορεί να παραμένει η ίδια όπως η διεύθυνση που προσδιορίζεται από το αίτημα πρόσβασης.
Οι διευθύνσεις από ανακατεύθυνση προωθούνται στις ουρές φόρτωσης και αποθήκευσης 120, ενώ τα συσχετισμένα δεδομένα ανάγνωσης ή εγγραφής επίσης δρομολογούνται μέσω των ουρών φόρτωσης και αποθήκευσης όπως δείχνεται στο Σχήμα 2. Όπως επίσης δείχνεται στο Σχήμα 2, η διαδρομή των δεδομένων δεν είναι απαραίτητο να αναχαιτίζεται από τον ελεγκτή ανακατεύθυνσης 115.
Υπάρχει ένας αριθμός τρόπων με τους οποίους είναι δυνατή η επεξεργασία των αιτημάτων πρόσβασης τα οποία δεν αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης. Σε ορισμένες υλοποιήσεις, τέτοια αιτήματα πρόσβασης δεν επανεξετάζονται καν από τον ελεγκτή ανακατεύθυνσης, εφόσον η διασύνδεση δε θα δρομολογεί τέτοια αιτήματα πρόσβασης στη μηχανή μεταφοράς δεδομένων. Εναλλακτικά, σε ορισμένες υλοποιήσεις ο ελεγκτής ανακατεύθυνσης μπορεί να επανεξετάζει κάθε αίτημα πρόσβασης, αλλά για οποιοδήποτε αίτημα πρόσβασης το οποίο καθορίζεται ότι δεν απαιτείται η αναχαίτισή του, αυτό το αίτημα πρόσβασης θα μπορούσε να διατάσσεται ώστε να παρακάμπτει τις ουρές φόρτωσης και αποθήκευσης 120 εφόσον ένα τέτοιο αίτημα πρόσβασης δε θα έρχεται σε διένεξη με τις περιοχές διευθύνσεων οι οποίες υποβάλλονται σε λειτουργίες μεταφοράς δεδομένων από τη μηχανή μεταφοράς δεδομένων. Σε αυτή τη δεύτερη περίπτωση, θα μπορούσε να παρέχεται ένα ξεχωριστό σύνολο θυρών στις οποίες θα ήταν στη συνέχεια δυνατή η μεταφορά οποιωνδήποτε αιτημάτων πρόσβασης από τον ελεγκτή ανακατεύθυνσης τα οποία έχει καθορίσει ότι δεν απαιτούν αναχαίτιση.
Στις υλοποιήσεις που δείχνονται στο Σχήμα 2, οι ουρές φόρτωσης και αποθήκευσης 120 χρησιμοποιούνται από κοινού μεταξύ του ελεγκτή ανακατεύθυνσης 115 και του ελεγκτή μεταφοράς δεδομένων 110. Συνεπώς, ο ελεγκτής μεταφοράς δεδομένων θα εκδίδει μια σειρά διευθύνσεων ανάγνωσης και εγγραφής προς τις ουρές φόρτωσης και αποθήκευσης 110 με σκοπό να προκαλείται η ανάγνωση των απαιτούμενων δεδομένων από τις διευθύνσεις προέλευσης και στη συνέχεια η εγγραφή τους στις απαιτούμενες διευθύνσεις εγγραφής. Όπως δείχνεται στο Σχήμα 2, οι ουρές φόρτωσης και αποθήκευσης 120 μπορεί να διατηρούν μια ή περισσότερες προσωρινές μνήμες 125 στις οποίες να είναι δυνατή η προσωρινή αποθήκευση των δεδομένων που διαβάζονται από τη μνήμη κατά την εκτέλεση της λειτουργίας μεταφοράς προτού εγγραφούν και πάλι στη μνήμη. Συνεπώς τα ίδια τα δεδομένα δε χρειάζεται να επιστρέφονται στον ελεγκτή μεταφοράς δεδομένων 170, αλλά αντίθετα είναι δυνατή η προώθηση πληροφοριών προόδου για την πραγματοποιούμενη πρόοδο όσον αφορά στα διάφορα αιτήματα ανάγνωσης και εγγραφής και πάλι προς τον ελεγκτή μεταφοράς δεδομένων, ο οποίος σε μια υλοποίηση επίσης συμπληρώνει τις πληροφορίες εντός των καταχωρητών ελέγχου 105 ως ένδειξη της πραγματοποιούμενης προόδου. Για ορισμένους τύπους λειτουργίας ανακατεύθυνσης μνήμης, σε αυτές τις πληροφορίες προόδου εντός των καταχωρητών ελέγχου μπορεί να αναφέρεται ο ελεγκτής ανακατεύθυνσης 115 όταν αποφασίζεται ο τρόπος ανακατεύθυνσης μιας ληφθείσας φυσικής διεύθυνσης ενός αναχαιτισμένου αιτήματος πρόσβασης.
Χρησιμοποιώντας τις δομές της ουράς φόρτωσης και αποθήκευσης 120 τόσο για τα αιτήματα πρόσβασης που τροποποιούνται επιλεκτικά από τον ελεγκτή ανακατεύθυνσης, όσο και για τα αιτήματα πρόσβασης που εκδίδονται από τον ελεγκτή μεταφοράς δεδομένων κατά την εκτέλεση της λειτουργίας μεταφοράς, είναι δυνατή η ανίχνευση και αντιμετώπιση κάθε πιθανής κατάστασης ανταγωνισμού εντός των ουρών φόρτωσης και αποθήκευσης. Υπάρχει ένας αριθμός τρόπων με τους οποίους είναι δυνατή η διάταξη της δομής των ουρών φόρτωσης και αποθήκευσης 120 για την ανίχνευση και αντιμετώπιση τέτοιων καταστάσεων ανταγωνισμού. Για παράδειγμα, σε μια υλοποίηση ο ελεγκτής μεταφοράς δεδομένων 110 μπορεί να διατάσσεται, πριν την έκδοση ενός αιτήματος ανάγνωσης προς μια διεύθυνση προέλευσης, για τη δέσμευση ενός αιτήματος εγγραφής αντικαταστάτη (χωρίς κάποια δεδομένα) προς τη διεύθυνση προορισμού σε μια εγγραφή της δομής ουράς φόρτωσης και αποθήκευσης 120. Αυτή η εγγραφή μπορεί να χρησιμοποιείται για την καθυστέρηση προσβάσεων που παρουσιάζουν διένεξη μέχρι να ολοκληρωθεί η λειτουργία μεταφοράς. Ο ελεγκτής μεταφοράς δεδομένων μπορεί στη συνέχεια να ενημερώνει την κατάσταση προόδου εντός των καταχωρητών ελέγχου 105 και να εκδίδει ένα αίτημα πρόσβασης για ανάγνωση για τη διεύθυνση προέλευσης. Μόλις η απόκριση ανάγνωσης φτάσει από τη μνήμη, ο ελεγκτής μεταφοράς δεδομένων μπορεί στη συνέχεια να εκδίδει ένα πραγματικό αίτημα εγγραφής το οποίο ενημερώνει το αίτημα αντικαταστάτη που δεσμεύτηκε νωρίτερα. Σε αυτό το σημείο, η δομή των ουρών φόρτωσης και αποθήκευσης 120 μπορεί στη συνέχεια να προωθεί το αίτημα εγγραφής προς τη μνήμη. Υιοθετώντας μια τέτοια διαδοχή, αυτό εξασφαλίζει ότι οποιοδήποτε αίτημα ανάγνωσης ή εγγραφής από ανακατεύθυνση το οποίο επικαλύπτεται με μια διεύθυνση που προσδιορίζεται σε μια εγγραφή εγγραφής αντικαταστάτη στις ουρές φόρτωσης και αποθήκευσης καθυστερείται μέχρι η εγγραφή να προωθηθεί σε μια "πραγματική" εγγραφή αφού τα δεδομένα ανάγνωσης έχουν αποκτηθεί από τη μνήμη.
Μια τέτοια προσέγγιση μπορεί επίσης να παρέχει κάποια πλεονεκτήματα απόδοσης με τον τρόπο με τον οποίο επεξεργάζονται τα αιτήματα πρόσβασης. Υπό τύπον παραδείγματος, εάν εκδοθεί ένα αίτημα πρόσβασης για εγγραφή προς μια διεύθυνση εντός της περιοχής διευθύνσεων προορισμού και ο ελεγκτής ανακατεύθυνση καθορίσει ότι είναι κατάλληλη η μετάδοση αυτής της εγγραφής στη διεύθυνση προορισμού, όμως αυτή επικαλύπτεται με τον ελεγκτή μεταφοράς δεδομένων που εκτελεί μια μεταφορά όσον αφορά στη διεύθυνση προορισμού, τότε μόλις καθοριστεί ότι τα απαιτούμενα δεδομένα έχουν αναγνωστεί από τη διεύθυνση προέλευσης, αλλά δεν έχουν ακόμη εγγραφεί στη μνήμη, τα νέα δεδομένα εγγραφής από το αίτημα πρόσβασης μπορούν να συγχωνεύονται στα δεδομένα εγγραφής στην προσωρινή μνήμη 125, ώστε τα ενημερωμένα δεδομένα εγγραφής να εξάγονται στη μνήμη.
Το Σχήμα 3 απεικονίζει ένα παράδειγμα διάταξης πληροφοριών εντός των καταχωρητών ελέγχου 105 σύμφωνα με μια υλοποίηση. Σύμφωνα με αυτή την υλοποίηση μπορεί να παρέχεται ένα πλήθος υποδοχών 150, με κάθε υποδοχή να περιλαμβάνει έναν αριθμό πεδίων. Ένα πρώτο πεδίο 155 χρησιμοποιείται για τον προσδιορισμό μιας περιοχής προέλευσης, ενώ το πεδίο 160 χρησιμοποιείται στη συνέχεια για τον προσδιορισμό μιας αντίστοιχης περιοχής προορισμού. Μπορεί προαιρετικά να παρέχεται ένα πεδίο 165 για τον προσδιορισμό της τρέχουσας κατάστασης της μεταφοράς δεδομένων που εκτελείται όσον αφορά σε αυτή την περιοχή προέλευσης και προορισμού, ενώ μπορεί επίσης να παρέχεται ένα πεδίο σημαίας 170 για την αποθήκευση πρόσθετων πληροφοριών εάν απαιτείται. Ως ένα παράδειγμα τέτοιων πληροφοριών σημαίας, μπορεί να ορίζεται μια σημαία η οποία θα προσδιορίζει κατά πόσο τα αιτήματα πρόσβασης για ανάγνωση που συσχετίζονται με τη μεταφορά δεδομένων θα πρέπει να εκδίδονται ως αποκλειστικά αιτήματα ανάγνωσης, ώστε να προκαλούν την ακύρωση οποιωνδήποτε αποθηκευμένων σε κρυφή μνήμη αντιγράφων εντός των δομών κρυφής μνήμης 50, 55 τα οποία συσχετίζονται με την περιοχή διευθύνσεων προέλευσης. Τέλος, μπορεί να παρέχεται μια έγκυρη σημαία 175, η οποία μπορεί να ορίζεται ώστε να προσδιορίζει κατά πόσο η υποδοχή περιλαμβάνει πληροφορίες για μια έγκυρη μεταφορά δεδομένων η οποία απομένει ακόμη να ολοκληρωθεί.
Σε μια υλοποίηση, κάθε μια από τις υποδοχές διατάσσεται ώστε να φιλοξενεί πληροφορίες για μια συνεχή περιοχή διευθύνσεων ενός συγκεκριμένου μεγέθους, για παράδειγμα το μικρότερο δυνατό μέγεθος σελίδας. Διατάσσοντας τις υποδοχές με αυτό τον τρόπο, αυτό μπορεί να απλοποιεί τη λογική σύγκρισης διευθύνσεων που χρησιμοποιείται από τον ελεγκτή ανακατεύθυνσης 115 όταν καθορίζει κατά πόσο ένα αίτημα πρόσβασης προσδιορίζει μια διεύθυνση η οποία βρίσκεται εντός μιας περιοχής μιας έγκυρης υποδοχής. Ωστόσο, σε μια εναλλακτική υλοποίηση μπορεί να είναι δυνατή η αναδιαμόρφωση του μεγέθους της περιοχής διευθύνσεων που συσχετίζεται με κάθε υποδοχή, στην οποία περίπτωση μπορεί να παρέχεται ένα γενικό πεδίο μεγέθους εντός των γενικών πληροφοριών κατάστασης 180 για τον προσδιορισμό των πληροφοριών μεγέθους.
Συνεπώς, αμιγώς υπό τύπον απεικόνισης, σε περίπτωση εκτέλεσης μιας λειτουργίας μετανάστευσης δεδομένων για τη συγχώνευση δύο σελίδων με ελάχιστο μέγεθος σελίδας σε μια μεγαλύτερη σελίδα προορισμού, μπορούν να μεταδίδονται δύο ξεχωριστές υποδοχές, η πρώτη να καλύπτει την περιοχή διευθύνσεων προέλευσης της πρώτης σελίδας προέλευσης και η δεύτερη να καλύπτει την περιοχή διευθύνσεων προέλευσης της δεύτερης σελίδας προέλευσης. Η περιοχή διευθύνσεων προορισμού που συσχετίζεται με τη μεγαλύτερη σελίδα προορισμού θα διαιρείται στη συνέχεια σε δύο υποπεριοχές, με την πρώτη υπο-περιοχή να αποθηκεύεται εντός της πρώτης υποδοχής και με τη δεύτερη υπο-περιοχή να αποθηκεύεται εντός της δεύτερης υποδοχής.
Εάν είναι επιθυμητό, μπορεί επίσης να παρέχεται μια επιπλέον γενική κατάσταση 180. Για παράδειγμα, μπορεί να ορίζεται μια σημαία γενικής κατάστασης όταν ο ελεγκτής διευθέτησης 100 προσδιορίσει ότι ο ελεγκτής μεταφοράς δεδομένων μπορεί να ξεκινήσει την εκτέλεση της λειτουργίας μεταφοράς. Συγκεκριμένα, όπως εξετάστηκε νωρίτερα, υπάρχουν ορισμένα βήματα διευθέτησης που πρέπει να ολοκληρώνονται πριν ξεκινήσει η μεταφορά. Επιπλέον της διευθέτησης των περιεχομένων των καταχωρητών ελέγχου, ο ελεγκτής διευθέτησης μπορεί επιπλέον να αναμένει επιβεβαίωση από το στοιχείο επεξεργασίας ότι κάθε σχετική ενημέρωση του πίνακα σελίδων και κάθε ακύρωση TLB έχει εκτελεστεί, πριν την ενεργοποίηση της σημαίας γενικής κατάστασης η οποία επιτρέπει στον ελεγκτή μεταφοράς δεδομένων 110 να ξεκινήσει τη λειτουργία μεταφοράς. Εάν είναι επιθυμητό, μπορεί επίσης να παρέχεται μια παρόμοια σημαία δυνατότητας ανακατεύθυνσης για τον ελεγκτή ανακατεύθυνσης 115. Συνήθως ο ελεγκτής ανακατεύθυνσης θα αποκτά δυνατότητα ώστε να εκτελεί κάθε απαιτούμενη ανακατεύθυνση για τα αιτήματα πρόσβασης που εκδίδονται ενώ ο ελεγκτής μεταφοράς δεδομένων διαχειρίζεται ενεργά τη λειτουργία μεταφοράς, όμως μπορεί επίσης να απαιτείται η εκτέλεση της ανακατεύθυνσης για ένα διάστημα είτε πριν την έναρξη της λειτουργίας μεταφοράς, είτε αφού ολοκληρωθεί η λειτουργία μεταφοράς, ανάλογα την περιοχή διευθύνσεων στόχου που χρησιμοποιείται από τον ελεγκτή ανακατεύθυνσης όταν προσδιορίζονται τα αιτήματα πρόσβασης προς αναχαίτιση. Για παράδειγμα, σε περιπτώσεις στις οποίες ο ελεγκτής ανακατεύθυνσης έχει διευθετηθεί για την αναχαίτιση διευθύνσεων εντός της περιοχής διευθύνσεων προορισμού, σε μια υλοποίηση θα δίνεται δυνατότητα στην ανακατεύθυνση πριν την ενημέρωση του πίνακα σελίδων και τη μετέπειτα έναρξη της λειτουργίας μεταφοράς. Αντίθετα, όταν ο ελεγκτής ανακατεύθυνσης έχει διευθετηθεί για την αναχαίτιση διευθύνσεων εντός της περιοχής διευθύνσεων προέλευσης, ο ελεγκτής ανακατεύθυνσης σε μια υλοποίηση θα παραμένει με τη δυνατότητα μέχρι να ολοκληρωθεί η λειτουργία μεταφοράς και να ενημερωθεί ο πίνακας σελίδων.
Ως μια εναλλακτική λύση της παροχής μιας ξεχωριστής σημαίας δυνατότητας ανακατεύθυνσης εντός της γενικής κατάστασης 180, οι έγκυρες σημαίες 175 μπορούν για παράδειγμα να χρησιμοποιούνται για να προσδιορίζουν πότε θα πρέπει να δίνεται δυνατότητα στον ελεγκτή ανακατεύθυνσης. Σε μια τέτοια περίπτωση, θα δινόταν πάντα δυνατότητα στην ανακατεύθυνση όσο εκκρεμεί η εκτέλεση λειτουργιών αντιγραφής.
Τα Σχήματα 4Α και 4Β παρέχουν ένα διάγραμμα ροής το οποίο απεικονίζει τη λειτουργία του συστήματος του Σχήματος 1 σύμφωνα με μια υλοποίηση, με σκοπό την υλοποίηση μιας μεταφοράς δεδομένων εντός της μνήμης 40. Στο βήμα 200, η μηχανή μεταφοράς δεδομένων 35 προσδιορίζει κατά πόσο έχει ληφθεί ένα νέο αίτημα μεταφοράς. Όταν έχει ληφθεί ένα νέο αίτημα μεταφοράς, τότε στο βήμα 205 οι καταχωρητές ελέγχου 105 συμπληρώνονται με τις περιοχές διευθύνσεων προέλευσης και προορισμού και κάθε άλλη σχετική πληροφορία, όπως εξετάστηκε νωρίτερα.
Σε μια υλοποίηση, η μηχανή μεταφοράς δεδομένων μπορεί να διατάσσεται ώστε να μην αποδέχεται ένα νέο αίτημα μεταφοράς ενώ εκκρεμεί ήδη ένα άλλο αίτημα μεταφοράς. Σε μια υλοποίηση, το λογισμικό του συστήματος θα διατασσόταν ώστε να εξασφαλίζει ότι οι λειτουργίες μεταφοράς θα διατάσσονται σε σειρά και θα αποτρέπεται η περίπτωση μιας τέτοιας κατάστασης, όμως σε μια εναλλακτική υλοποίηση η μηχανή μεταφοράς δεδομένων μπορεί να διατάσσεται ώστε να μην αποδέχεται ένα αίτημα μεταφοράς που παρουσιάζεται στην είσοδό της ενώ εκκρεμεί ένα άλλο αίτημα μεταφοράς.
Μόλις συμπληρωθούν οι καταχωρητές ελέγχου, τότε στο βήμα 210 ο ελεγκτής διευθέτησης εκδίδει και πάλι ένα σήμα αναγνώρισης προς το στοιχείο επεξεργασίας που αιτείται. Στο βήμα 215 το στοιχείο επεξεργασίας που αιτείται ενημερώνει στη συνέχεια τους πίνακες σελίδων 45 ώστε οι σχετικές εικονικές διευθύνσεις να αντιστοιχούνται στην(ις) περιοχή(ές) διευθύνσεων προορισμού και όχι στην(ις) περιοχή(ές) διευθύνσεων προέλευσης. Συγκεκριμένα, σε αυτή την υλοποίηση υποτίθεται ότι η περιοχή διευθύνσεων στόχου επιλέγεται ώστε να είναι η(οι) περιοχή(ές) διευθύνσεων προορισμού και ότι τα αιτήματα πρόσβασης που προσδιορίζουν διευθύνσεις εντός της(ων) περιοχής(ών) διευθύνσεων προορισμού θα αναχαιτίζονται από τον ελεγκτή ανακατεύθυνσης. Ωστόσο, σε άλλες υλοποιήσεις, όπως εξετάστηκε νωρίτερα, η περιοχή διευθύνσεων στόχου μπορεί αντίθετα να είναι η(οι) περιοχή(ές) διευθύνσεων προέλευσης στην οποία περίπτωση οι πίνακες σελίδων δε θα ενημερώνονται πριν την εκτέλεση της λειτουργίας μεταφοράς, αλλά αντίθετα θα ενημερώνονται μετά.
Σε ορισμένες υλοποιήσεις, η μηχανή μεταφοράς δεδομένων μπορεί να προσδιορίζει την προς χρήση περιοχή διευθύνσεων στόχου ανάλογα τον τύπο της μετανάστευσης που εκτελείται. Για παράδειγμα, για μια λειτουργία συγκέντρωσης στην οποία συγχωνεύονται πολλές συνεχείς περιοχές διευθύνσεων προέλευσης σε μια συνεχή μεγαλύτερη περιοχή διευθύνσεων προορισμού, μπορεί να είναι επωφελής η χρήση της συνεχούς περιοχής διευθύνσεων προορισμού ως της περιοχής διευθύνσεων προορισμού, εφόσον με τη χρήση μιας συνεχούς περιοχής κάνει το κύκλωμα ταύτισης διευθύνσεων που χρησιμοποιείται από τον ελεγκτή ανακατεύθυνσης να προσδιορίζει σημαντικά απλούστερα κατά πόσο ένα αίτημα πρόσβασης θα πρέπει να αναχαιτίζεται. Αντίθετα, σε περίπτωση εκτέλεσης μιας λειτουργίας διασποράς για τη διασπορά δεδομένων από μια συνεχή περιοχή διευθύνσεων προέλευσης σε πολλές ασυνεχείς περιοχές διευθύνσεων προορισμού, μπορεί να είναι προτιμότερη η χρήση της μοναδικής συνεχούς περιοχής διευθύνσεων προέλευσης ως της περιοχής διευθύνσεων στόχου.
Επιστρέφοντας στο Σχήμα 4Α, στο βήμα 220 το στοιχείο επεξεργασίας ακυρώνει κάθε εγγραφή TLB που έχει για τις σχετικές εικονικές διευθύνσεις και επίσης εκπέμπει ένα μήνυμα στα άλλα στοιχεία επεξεργασίας να κάνουν το ίδιο. Και πάλι, αυτό υποθέτει ότι η(οι) περιοχή(ές) διευθύνσεων προορισμού χρησιμοποιείται ως η περιοχή διευθύνσεων στόχου. Σε μια υλοποίηση στην οποία χρησιμοποιείται η(οι) περιοχή (ές) διευθύνσεων προέλευσης ως περιοχή διευθύνσεων στόχου, τότε οι εγγραφές TLB δε θα ακυρώνονται πριν την εκτέλεση της λειτουργίας μεταφοράς, αλλά αντίθετα θα ακυρώνονται μετά την ολοκλήρωση της λειτουργίας μεταφοράς.
Μετά τα βήματα 215 και 220, τότε η διαδικασία συνεχίζει στο βήμα 225 όπου ο ελεγκτής μεταφοράς δεδομένων ενεργοποιείται για την έναρξη της μεταφοράς των δεδομένων από τις διευθύνσεις προέλευσης στις διευθύνσεις προορισμού.
Όπως δείχνεται στη συνέχεια στο Σχήμα 4Β, προσδιορίζεται στο βήμα 230 κατά πόσο έχει ολοκληρωθεί η λειτουργία μεταφοράς, και όσο δεν ολοκληρώνεται η λειτουργία μεταφοράς, η διαδικασία συνεχίζει στο βήμα 235, όπου προσδιορίζεται κατά πόσο έχει ληφθεί ένα νέο αίτημα πρόσβασης από τον ελεγκτή ανακατεύθυνσης 115. Η διαδικασία εκτελείται σε βρόχο στα βήματα 230 και 235 είτε μέχρι ολοκληρωθεί η λειτουργία μεταφοράς, είτε ληφθεί ένα αίτημα πρόσβασης.
Όταν ληφθεί ένα αίτημα πρόσβασης, ο ελεγκτής ανακατεύθυνσης προσδιορίζει στη συνέχεια στο βήμα 240 κατά πόσο η φυσική διεύθυνση που προσδιορίζεται από το αίτημα πρόσβασης εμπίπτει στην περιοχή διευθύνσεων προορισμού που προσδιορίζεται εντός των καταχωρητών ελέγχου. Εάν δεν εμπίπτει, τότε το αίτημα πρόσβασης απλά μεταδίδεται προς το σύστημα μνήμης 40 με το συνήθη τρόπο στο βήμα 250.
Ωστόσο, εάν η φυσική διεύθυνση εμπίπτει στην περιοχή διευθύνσεων προορισμού στους καταχωρητές ελέγχου τότε ο ελεγκτής ανακατεύθυνσης 115 εφαρμόζει μια λειτουργία ανακατεύθυνσης μνήμης στο βήμα 245 με σκοπό τον καθορισμό της προς μετάδοση κατάλληλης φυσικής διεύθυνσης ή των φυσικών διευθύνσεων. Όπως για παράδειγμα θα εξεταστεί αργότερα αναφορικά με το Σχήμα 5Α, σύμφωνα με μια υλοποίηση της λειτουργίας ανακατεύθυνσης μνήμης, όταν λαμβάνονται αιτήματα πρόσβασης για εγγραφή, η λειτουργία ανακατεύθυνσης μνήμης μπορεί να προκαλέσει την εκτέλεση μιας εγγραφής τόσο στη διεύθυνση προέλευσης, όσο και στην αντίστοιχη διεύθυνση προορισμού, προκαλώντας την αποτελεσματική δημιουργία δύο αιτημάτων πρόσβασης στο βήμα 245 πριν τη συνέχιση της διαδικασίας στο βήμα 250.
Μετά τη μετάδοση του αιτήματος πρόσβασης ή των αιτημάτων πρόσβασης προς τις ουρές φόρτωσης και αποθήκευσης 120 στο βήμα 250, η διαδικασία επιστρέφει στο βήμα 230.
Μόλις προσδιοριστεί στο βήμα 230 ότι έχει ολοκληρωθεί η λειτουργία μεταφοράς, τότε η διαδικασία συνεχίζει στο βήμα 255, όπου η σχετική υποδοχή ή οι υποδοχές στο χώρο αποθήκευσης ελέγχου ακυρώνονται και στη συνέχεια απαγορεύεται κάθε επιπλέον ανακατεύθυνση. Απενεργοποιώντας τη λειτουργία ανακατεύθυνσης του ελεγκτή ανακατεύθυνσης 115, αυτό σημαίνει ότι οποιαδήποτε μετέπειτα αιτήματα πρόσβασης που εκδίδονται προς διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού θα έχουν απευθείας πρόσβαση στις σωστές διευθύνσεις στη μνήμη. Δεν απαιτείται κάποια επιπλέον ενέργεια εφόσον οι πίνακες σελίδων θα έχουν ήδη ενημερωθεί προηγουμένως στο βήμα 215 ώστε να προσδιοριστεί η σωστή αντιστοίχιση που πρέπει να χρησιμοποιηθεί μετά την ολοκλήρωση της μεταφοράς δεδομένων.
Η λειτουργία ανακατεύθυνσης μνήμης που εκτελέστηκε στο βήμα 245 μπορεί να υλοποιείται με έναν αριθμό τρόπων. Το Σχήμα 5Α απεικονίζει ένα παράδειγμα υλοποίησης. Στο βήμα 300, προσδιορίζεται κατά πόσο το αίτημα πρόσβασης είναι ένα αίτημα ανάγνωσης και εάν είναι, η διεύθυνση που προσδιορίστηκε και δόθηκε από το αίτημα πρόσβασης αντιστοιχείται σε μια αντίστοιχη διεύθυνση προέλευσης εντός της(ων) περιοχής(ών) διευθύνσεων προέλευσης. Στη συνέχεια η διαδικασία συνεχίζει στο βήμα 250 του Σχήματος 4Β.
Ωστόσο, εάν το αίτημα πρόσβασης δεν είναι ένα αίτημα πρόσβασης για ανάγνωση, δηλ. είναι ένα αίτημα πρόσβασης για εγγραφή, η διαδικασία συνεχίζει στο βήμα 310 όπου η εφαρμογή της λειτουργία ανακατεύθυνσης μνήμης προκαλεί την αποτελεσματική δημιουργία δύο αιτημάτων πρόσβασης. Ένα αίτημα πρόσβασης έχει μια καθορισμένη διεύθυνση η οποία αντιστοιχείται στη διεύθυνση προέλευσης, ενώ το άλλο χρησιμοποιεί τη διεύθυνση προορισμού όπως προσδιορίζεται από το αίτημα πρόσβασης που λήφθηκε στο βήμα 235. Αυτό συνεπώς εξασφαλίζει ότι οι λειτουργίες εγγραφής συμβαίνουν τόσο στην παλαιά διεύθυνση, όσο και στη νέα διεύθυνση και συνεπώς εξασφαλίζει ότι η αρχική έκδοση και το αντίγραφο παραμένουν σε συγχρονισμό. Μολονότι δημιουργεί πράγματι διπλότυπες λειτουργίες εγγραφής, η επιβάρυνση αυτής της προσέγγισης είναι πιθανά χαμηλή εάν οι περιοχές προέλευσης και προορισμού οι οποίες υποβάλλονται στη λειτουργία μεταφοράς δεδομένων δε χρησιμοποιούνται έντονα κατά την περίοδο εκτέλεσης της λειτουργίας μεταφοράς δεδομένων. Μετά το βήμα 310, η διαδικασία συνεχίζει στη συνέχεια στο βήμα 250 του Σχήματος 4Β.
Το Σχήμα 5Β απεικονίζει μια εναλλακτική υλοποίηση για την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης στο βήμα 245 του Σχήματος 4Β. Στο βήμα 320, προσδιορίζεται από τον ελεγκτή ανακατεύθυνσης 115 κατά πόσο τα δεδομένα στην καθορισμένη διεύθυνση του αιτήματος πρόσβασης έχει ήδη μεταφερθεί. Όπως εξετάστηκε νωρίτερα, σε μια υλοποίηση αυτός ο προσδιορισμός μπορεί να πραγματοποιείται από τον ελεγκτή ανακατεύθυνσης 115 αναφορικά με τα περιεχόμενα των καταχωρητών ελέγχου 105 και για παράδειγμα κοιτάζοντας στο πεδίο τρέχουσας κατάστασης 165 εντός της σχετικής υποδοχής. Εάν η καθορισμένη διεύθυνση έχει ήδη μεταφερθεί, τότε η διαδικασία συνεχίζει στο βήμα 330 όπου η καθορισμένη διεύθυνση αντιστοιχείται στη διεύθυνση προορισμού. Στην υλοποίηση που περιγράφεται στα Σχήματα 4Α και 4Β, η καθορισμένη διεύθυνση είναι ήδη η διεύθυνση προορισμού, συνεπώς στο βήμα 330 αυτή η διεύθυνση προορισμού απλά διατηρείται ως η διεύθυνση του αιτήματος πρόσβασης η οποία μεταδίδεται στο βήμα 250.
Ωστόσο, εάν η καθορισμένη διεύθυνση δεν έχει μεταφερθεί ακόμη, η καθορισμένη διεύθυνση αντιστοιχείται στη διεύθυνση προέλευσης στο βήμα 325 πριν τη συνέχεια στο βήμα 250. Συνεπώς, σύμφωνα με αυτή την υλοποίηση, ο ελεγκτής ανακατεύθυνσης προωθεί τις προσβάσεις προς θέσεις οι οποίες δεν έχουν αντιγράφει ακόμη στη θέση προέλευσης και τις προσβάσεις προς θέσεις που έχουν αντιγράφει στη θέση προορισμού. Υποθέτοντας ότι η λειτουργία μεταφοράς δεδομένων εκτελείται αλληλοδιάδοχα όσον αφορά στις διευθύνσεις εντός της περιοχής διευθύνσεων, απαιτείται μόνο μια μικρή ποσότητα κατάστασης για την παρακολούθηση των θέσεων που έχουν αντιγράφει και αυτών που δεν έχουν αντιγράφει.
Το Σχήμα 5C απεικονίζει μια ακόμη επιπλέον εναλλακτική υλοποίηση της λειτουργίας ανακατεύθυνσης μνήμης στο βήμα 245 του Σχήματος 4Β. Στο βήμα 340, προσδιορίζεται κατά πόσο η καθορισμένη διεύθυνση έχει ήδη αντιγράφει και εάν έχει αντιγράφει η διαδικασία συνεχίζει στο βήμα 345, το οποίο είναι ισοδύναμο με το βήμα 330 του Σχήματος 5Β που εξετάστηκε νωρίτερα. Η διαδικασία συνεχίζει μετά στο βήμα 250 στο βήμα 350 του Σχήματος 5C.
Ωστόσο, εάν η καθορισμένη διεύθυνση δεν έχει αντιγράφει ακόμη, τότε στο βήμα 355 ο ελεγκτής ανακατεύθυνσης 115 επικοινωνεί με τον ελεγκτή μεταφοράς δεδομένων 110 ώστε να εκκινεί τη μεταφορά μιας βαθμίδας δεδομένων η οποία περιλαμβάνει τα δεδομένα που συσχετίζονται με την καθορισμένη διεύθυνση του αιτήματος πρόσβασης. Το μέγεθος της μεταφερθείσας βαθμίδας δεδομένων μπορεί να μεταβάλλεται ανάλογα την υλοποίηση, όμως σε μια υλοποίηση είναι μια βαθμίδα δεδομένων μεγέθους γραμμής κρυφής μνήμης, ενώ η μηχανή μεταφοράς δεδομένων διατηρεί εντός των καταχωρητών ελέγχου 105 ένα χάρτη bit των βαθμιδών δεδομένων μεγέθους γραμμής κρυφής μνήμης που έχουν αντιγράφει ώστε να προσδιορίζεται ποιες βαθμίδες έχουν αντιγράφει και ποιες όχι.
Η διαδικασία συνεχίζει μετά στο βήμα 360 όπου το αίτημα πρόσβασης επεξεργάζεται στο βήμα 250. Το αίτημα πρόσβασης μπορεί να επεξεργάζεται με έναν αριθμό τρόπων. Για παράδειγμα, σε μια υλοποίηση, το αίτημα πρόσβασης μπορεί να διακόπτεται προσωρινά μέχρι την ολοκλήρωση της μεταφοράς της βαθμίδας δεδομένων που ξεκίνησε στο βήμα 355 και την ενημέρωση του χάρτη bit των βαθμιδών μεγέθους γραμμής κρυφής μνήμης που έχουν αντιγράφει. Σε αυτό το σημείο, το αίτημα πρόσβασης μπορεί στη συνέχεια να επεξεργάζεται με την υλοποίηση ενός βήματος ισοδύναμου με το βήμα 345 ώστε να μεταδίδεται το αίτημα πρόσβασης στη διεύθυνση προορισμού.
Ωστόσο, σε μια εναλλακτική υλοποίηση μπορεί να επιτυγχάνεται περαιτέρω εξοικονόμηση στην απόδοση συγχωνεύοντας ουσιαστικά την επεξεργασία του αιτήματος πρόσβασης με τη διαδικασία μεταφοράς βαθμιδών. Γ ια παράδειγμα, στην περίπτωση ενός αιτήματος πρόσβασης για ανάγνωση, αφού ο ελεγκτής μεταφοράς δεδομένων 110 διαβάσει τα απαραίτητα δεδομένα και πάλι στην προσωρινή μνήμη 125 των ουρών φόρτωσης και αποθήκευσης 120, το αίτημα πρόσβασης για ανάγνωση μπορεί στη συνέχεια να εξυπηρετείται χρησιμοποιώντας τα περιεχόμενα εντός της προσωρινής μνήμης χωρίς να απαιτείται η έκδοση ενός ξεχωριστού αιτήματος πρόσβασης για ανάγνωση στη μνήμη. Παρομοίως, εάν το αίτημα πρόσβασης είναι ένα αίτημα πρόσβασης για εγγραφή, μόλις τα δεδομένα διαβαστούν από τον ελεγκτή μεταφοράς δεδομένων 110 στην προσωρινή μνήμη 125, τα νέα δεδομένα εγγραφής από το αίτημα πρόσβασης για εγγραφή μπορούν να συγχωνεύονται σε αυτή τη βαθμίδα δεδομένων, πριν την εγγραφή των δεδομένων στην προσωρινή μνήμη στις θέσεις μνήμης προορισμού ώστε να ολοκληρώνεται η μεταφορά της βαθμίδας δεδομένων.
Τα Σχήματα 6Α έως 6C απεικονίζουν σχηματικά ένα παράδειγμα υλοποίησης της διαδικασίας των Σχημάτων 4Α και 4Β για το παράδειγμα στο οποίο δύο μικρότερες σελίδες προέλευσης a1, a2400, 405 συγχωνεύονται σε μια μεγαλύτερη σελίδα προορισμού b 410 εντός της φυσικής μνήμης. Οι εγγραφές 415, 420 απεικονίζουν σχηματικά τις σχετικές πληροφορίες περιγραφέα εντός των πινάκων σελίδων οι οποίες εξαναγκάζουν την αντιστοίχιση της μετάφρασης εικονικών σε φυσικές διευθύνσεις στις αντίστοιχες ζώνες διευθύνσεων προέλευσης 400, 405. Όπως εικονίζεται στο Σχήμα 6Α, οι γειτονικές εγγραφές 415, 420 εικονίζουν ότι οι δύο ζώνες προέλευσης 400, 405 έχουν γειτονικές περιοχές εικονικών διευθύνσεων, ενώ σκοπός της λειτουργίας μεταφοράς δεδομένων είναι η επανάληψη της αντιστοίχισης των μη συνεχόμενων φυσικών σελίδων 400, 405 σε μια συνεχόμενη περιοχή φυσικών διευθύνσεων 410. Η μηχανή αντιγραφής απεικονίζεται σχηματικά από τη βαθμίδα 430, ενώ οι εγγραφές 435, 440 αναπαριστούν τις πληροφορίες ελέγχου που αποθηκεύονται εντός δύο υποδοχών. εντός των καταχωρητών ελέγχου 105, με κάθε υποδοχή να προσδιορίζει μια από τις περιοχές διευθύνσεων προέλευσης και ένα αντίστοιχο τμήμα της περιοχής διευθύνσεων προορισμού.
Ανάλογα, μετά την αποθήκευση των πληροφοριών των καταχωρητών ελέγχου, η μηχανή αντιγραφής γνωρίζει τις περιοχές προέλευσης 400, 405 και την περιοχή προορισμού 410. Σε αυτό το σημείο, είναι δυνατή η ενεργοποίηση των λειτουργιών του ελεγκτή μεταφοράς δεδομένων 110 και του ελεγκτή ανακατεύθυνσης 115 ώστε να ξεκινήσει η λειτουργία μεταφοράς δεδομένων και ο έλεγχος ανακατεύθυνσης. Όπως εικονίζεται στο Σχήμα 6Β, και όπως εξετάστηκε νωρίτερα αναφορικά με το βήμα 215 του Σχήματος 4Α, οι πίνακες σελίδων θα ενημερωθούν ώστε να δημιουργείται μια νέα εγγραφή 445 η οποία αντιστοιχεί τη μεγεθυσμένη συνεχόμενη περιοχή εικονικών διευθύνσεων σε αντίστοιχες φυσικές διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού 410. Όπως αναφέρθηκε νωρίτερα αναφορικά με το βήμα 220 του Σχήματος 4Α, οι σχετικές εγγραφές της TLB επίσης θα ακυρώνονται ώστε κάθε αίτημα πρόσβασης που θα εκδίδεται μετέπειτα ενώ εκτελείται η λειτουργία μεταφοράς δεδομένων, και το οποίο σχετίζεται με τα δεδομένα που μεταφέρονται, θα προκαλεί την εκτέλεση της διαδικασίας βάδισης του πίνακα σελίδων με σκοπό την απόκτηση των δεδομένων μετάφρασης διευθύνσεων που ενθυλακώνονται εντός των περιγραφέων των πινάκων σελίδων που αναπαρίστανται με την εγγραφή 445.
Όπως δείχνεται από τη γραμμή 450, οποιοδήποτε αίτημα πρόσβασης εκδίδεται το οποίο προσδιορίζει μια διεύθυνση προορισμού εντός της περιοχής διευθύνσεων προορισμού 410 θα αναχαιτίζεται από τη μηχανή αντιγραφής 430. Η μηχανή αντιγραφής θα εκτελεί στη συνέχεια τη λειτουργία ανακατεύθυνσης μνήμης ώστε να προσδιορίζεται σε ποιες φυσικές διευθύνσεις πραγματοποιείται πρόσβαση, χρησιμοποιώντας κάποια από τις προσεγγίσεις των Σχημάτων 5Α έως 5C που εξετάστηκαν νωρίτερα. Ταυτόχρονα, η διαδικασία αντιγραφής θα εκτελείται από τη μηχανή αντιγραφής, όπως υποδεικνύεται σχηματικά από το βέλος 460. Σε μια υλοποίηση, οι αποκλειστικές προσβάσεις ανάγνωσης χρησιμοποιούνται για τις λειτουργίες ανάγνωσης που εκτελούνται όσον αφορά στην περιοχή διευθύνσεων προέλευσης, με τις προσβάσεις εγγραφής να χρησιμοποιούνται στη συνέχεια για την αποθήκευση των αποτελεσμάτων στη νέα περιοχή διευθύνσεων προορισμού 410. Η χρήση των αποκλειστικών προσβάσεων ανάγνωσης ακυρώνει τα αποθηκευμένα σε κρυφή μνήμη αντίγραφα των δεδομένων που συσχετίζονται με την παλαιά περιοχή διευθύνσεων προέλευσης και συνεπώς απελευθερώνει αποτελεσματικά χώρο κρυφής μνήμης.
Όπως δείχνεται στο Σχήμα 6C, μόλις ολοκληρωθεί η λειτουργία αντιγραφής, η αντιστοίχιση εντός της μηχανής αντιγραφής αποξηλώνεται, ακυρώνοντας τις σχετικές πληροφορίες ελέγχου στους καταχωρητές ελέγχου. Αυτό διακόπτει κάθε περαιτέρω αναχαίτιση αιτημάτων πρόσβασης που εκδίδονται προς διευθύνσεις προορισμού εντός της περιοχής διευθύνσεων προορισμού. Αντίθετα, τέτοια αιτήματα πρόσβασης δρομολογούνται απλά με κανονικό τρόπο προς την περιοχή διευθύνσεων προορισμού, δεδομένου ότι οι πίνακες σελίδων περιλαμβάνουν ήδη τις σωστές πληροφορίες για την παροχή αυτής της αντιστοίχισης.
Στο παράδειγμα των Σχημάτων 6 Α έως 6C υποτίθεται ότι η περιοχή διευθύνσεων προορισμού χρησιμοποιείται ως περιοχή διευθύνσεων στόχου κατά τη διάρκεια της διαδικασίας αντιγραφής και συνεπώς είναι οι διευθύνσεις εντός της περιοχής διευθύνσεων προορισμού που αναχαιτίζονται από τη μηχανή αντιγραφής κατά τη διάρκεια της διαδικασίας αντιγραφής. Όπως εξετάστηκε νωρίτερα, σε μια εναλλακτική υλοποίηση η(οι) περιοχή(ές) διευθύνσεων προέλευσης θα μπορούσε(αν) αντίθετα να χρησιμοποιείται(ούνται) ως περιοχή διευθύνσεων στόχου, στην οποία περίπτωση δε θα ενημερώνονταν οι πίνακες σελίδων και οι εγγραφές TLB δε θα ακυρώνονταν, μέχρι την ολοκλήρωση της διαδικασίας αντιγραφής.
Σε μια ακόμη επιπλέον εναλλακτική υλοποίηση, όπως εξετάστηκε νωρίτερα, μια αποκλειστική περιοχή διευθύνσεων μπορεί να συσχετίζεται με τη μηχανή αντιγραφής 430, και αυτή η διαδικασία απεικονίζεται σχηματικά στο Σχήμα 7, και πάλι για το παράδειγμα στο οποίο δύο περιοχές διευθύνσεων προέλευσης 400, 405 συγχωνεύονται σε μια περιοχή διευθύνσεων προορισμού 410 εντός του χώρου διευθύνσεων της μνήμης. Όπως δείχνεται στο Σχήμα 7, μια αποκλειστική περιοχή διευθύνσεων 470 συσχετίζεται με τη μηχανή αντιγραφής και δε χρησιμοποιείται για κανένα άλλο σκοπό. Σύμφωνα με αυτή την υλοποίηση, όταν οι πίνακες σελίδων ενημερώνονται πριν την έναρξη της λειτουργίας αντιγραφής, αλλάζουν την αντιστοίχιση όπως υποδεικνύεται από το βήμα 1 480 στο Σχήμα 7, ώστε οι σχετικές εικονικές διευθύνσεις να αντιστοιχίζονται στην αποκλειστική περιοχή διευθύνσεων 470 και όχι στις περιοχές διευθύνσεων προέλευσης 400, 405. Διαφορετικά, η διαδικασία συνεχίζει όπως δείχνεται στα Σχήματα 6Α και 6Β, με κάθε πρόσβαση που κατευθύνεται στην περιοχή διευθύνσεων 470 να αναχαιτίζεται από τον ελεγκτή ανακατεύθυνσης και να αντιστοιχίζεται στις περιοχές διευθύνσεων προέλευσης 400, 405 ή στην περιοχή διευθύνσεων προορισμού 410 ανάλογα τα κριτήρια που εξετάστηκαν νωρίτερα αναφορικά με τα Σχήματα 5Α έως 5C. Με την ολοκλήρωση της λειτουργίας αντιγραφής, οι πίνακες σελίδων ενημερώνονται στη συνέχεια και πάλι ώστε να αλλάζουν οι αντιστοιχίσεις των εικονικών διευθύνσεων και να αντιστοιχίζονται τώρα στην περιοχή διευθύνσεων προορισμού 410 και όχι στην αποκλειστική περιοχή διευθύνσεων 470, όπως υποδεικνύεται από το βήμα 2490.
Μολονότι η υλοποίηση που περιγράφεται αναφορικά με το Σχήμα 1 δείχνει ένα σύστημα Ομοιόμορφης πρόσβασης μνήμης (uniform memory access ή UMA), οι τεχνικές μπορούν επίσης να εφαρμόζονται όσον αφορά και σε συστήματα Μη ομοιόμορφης πρόσβασης μνήμης (non-uniform memory access ή NUMA), ένα παράδειγμα της οποίας δείχνεται στο Σχήμα 8. Σε αυτό το παράδειγμα, το σύστημα NUMA έχει δύο κόμβους NUMA 500, 510, κάθε ένας από τους οποίους χάριν απεικόνισης υποτίθεται ότι έχει δομή παρόμοια με αυτή που δείχνεται στο Σχήμα 1. Κάθε κόμβος NUMA 500, 510 έχει τη δική του συσχετισμένη μνήμη 505, 515 η οποία συνδέεται με μια αντίστοιχη διασύνδεση 520, 525. Σύμφωνα με τις περιγραφείσες υλοποιήσεις, κάθε διασύνδεση έχει τη δική της μηχανή μεταφοράς δεδομένων 530, 535, ενώ οι δύο διασυνδέσεις 520, 525 συνδέονται μέσω της διαδρομής 540. Σε μια τέτοια διάταξη, κάθε στοιχείο επεξεργασίας εντός οποιουδήποτε από τους κόμβους NUMA 500, 510 μπορεί να διατάσσεται ώστε να έχει πρόσβαση σε οποιαδήποτε από τις μεμονωμένες μνήμες 505, 515.
Όταν ένα αίτημα μεταφοράς δεδομένων εκδίδεται από ένα από τα στοιχεία επεξεργασίας, μια από τις μηχανές μεταφοράς δεδομένων 530, 535 θα αναλάβει ευθύνη για την εκτέλεση αυτής της μεταφοράς δεδομένων και τη διευθέτηση των καταχωρητών ελέγχου της ανάλογα. Σε μια υλοποίηση, στην οποία η(οι) περιοχή(ές) διευθύνσεων προορισμού χρησιμοποιείται(ούνται) ως περιοχή(ές) διευθύνσεων στόχου κατά τη διάρκεια της διαδικασίας αντιγραφής, η μηχανή μεταφοράς δεδομένων που συσχετίζεται με τη μνήμη που περιλαμβάνει την(ις) περιοχή(ές) διευθύνσεων προορισμού θα διαμορφώνεται συνήθως ώστε να διαχειρίζεται τη διαδικασία μεταφοράς δεδομένων. Ωστόσο, σε υλοποιήσεις στις οποίες η(οι) περιοχή(ές) διευθύνσεων προέλευσης χρησιμοποιείται(ούνται) ως περιοχή(ές) διευθύνσεων στόχου κατά τη διάρκεια της διαδικασίας, τότε μπορεί να είναι κατάλληλος ο ορισμός της μηχανής μεταφοράς δεδομένων που συσχετίζεται με τη μνήμη που περιλαμβάνει την(ις) περιοχή(ές) διευθύνσεων προέλευσης ως υπεύθυνης για τη διαχείριση της λειτουργίας μεταφοράς δεδομένων. Εάν η υλοποίηση που εξετάστηκε νωρίτερα αναφορικά με το Σχήμα 7 χρησιμοποιείται σε περιπτώσεις στις οποίες μια αποκλειστική περιοχή διευθύνσεων μνήμης συσχετίζεται με κάθε μηχανή μεταφοράς δεδομένων, τότε οποιαδήποτε από τις μηχανές μεταφοράς δεδομένων θα μπορούσε να διαμορφώνεται ώστε να διαχειρίζεται κάθε συγκεκριμένη διαδικασία μεταφοράς δεδομένων, ανεξάρτητα από ποια μνήμη περιλαμβάνει την(ις) περιοχή(ές) διευθύνσεων προέλευσης και ποια μνήμη περιλαμβάνει την(ις) περιοχή(ές) διευθύνσεων προορισμού.
Από τις υλοποιήσεις που περιγράφηκαν παραπάνω, θα διαφανεί ότι τέτοιες υλοποιήσεις παρέχουν έναν υλικό μηχανισμό ο οποίος μπορεί να χρησιμοποιείται για τη διαχείριση λειτουργιών μετανάστευσης δεδομένων στη φυσική μνήμη. Ο υλικός μηχανισμός που χρησιμοποιήθηκε επιτρέπει στη λειτουργία μεταφοράς δεδομένων να συνεχίζει ασύγχρονα όσον αφορά σε οποιαδήποτε αιτήματα πρόσβασης επιδιώκουν την πρόσβαση στις ζώνες διευθύνσεων που επηρεάζονται, αποτρέποντας την ανάγκη φραγής κάθε τέτοιας πρόσβασης και συνεπώς βελτιώνοντας την απόδοση. Ο προτεινόμενος μηχανισμός μπορεί επίσης να μειώνει τον αριθμό των ακυρώσεων TLB που απαιτούνται κατά τη διάρκεια της διαδικασίας μεταφοράς δεδομένων, όταν συγκρίνεται με γνωστά συστήματα που εκτελούν τέτοια μετανάστευση σελίδων υπό τον έλεγχο λογισμικού χρησιμοποιώντας το λειτουργικό σύστημα του στοιχείου επεξεργασίας. Επιπλέον, οι προτεινόμενες τεχνικές μπορούν επίσης να βελτιώνουν το βαθμό χρησιμοποίησης της κρυφής μνήμης εξασφαλίζοντας ότι οι πληροφορίες που δε χρειάζονται πια στις κρυφές μνήμες ακυρώνονται κατά τη διάρκεια της διαδικασίας μεταφοράς δεδομένων.
Στην παρούσα εφαρμογή, οι λέξεις “διαμορφωμένο για...” χρησιμοποιούνται για να σημαίνουν ότι ένα στοιχείο μιας διάταξης έχει μια διαμόρφωση ικανή να εκτελεί την καθορισμένη λειτουργία. Σε αυτά τα πλαίσια, μια “διαμόρφωση” σημαίνει μια διάταξη ή ένας τρόπος διασύνδεσης από υλικό ή λογισμικό. Για παράδειγμα, η διάταξη μπορεί να έχει αποκλειστικό υλικό το οποίο παρέχει την καθορισμένη λειτουργία ή ένας επεξεργαστής ή μια άλλη διάταξη επεξεργασίας μπορεί να προγραμματίζεται ώστε να εκτελεί τη λειτουργία. Ο όρος “διαμορφωμένο για” δεν υπονοεί ότι το στοιχείο της διάταξης πρέπει να αλλάζει με κάποιο τρόπο ώστε να παρέχεται η καθορισμένη λειτουργία.
Μολονότι ενδεικτικές υλοποιήσεις της εφεύρεσης έχουν περιγράφει με λεπτομέρεια στο παρόν αναφορικά με τα συνοδευτικά σχεδιαγράμματα, πρέπει να γίνει κατανοητό ότι η εφεύρεση δεν περιορίζεται σε αυτές τις ακριβείς υλοποιήσεις και ότι διάφορες αλλαγές, προσθήκες και τροποποιήσεις μπορούν να πραγματοποιούνται σε αυτές από κάποιο άτομο έμπειρο στην τέχνη χωρίς απόκλιση από το αντικείμενο και το πνεύμα της εφεύρεσης όπως ορίζονται από τις συνημμένες αξιώσεις. Για παράδειγμα, διάφοροι συνδυασμοί των χαρακτηριστικών των εξαρτώμενων αξιώσεων θα μπορούσαν να πραγματοποιούνται με τα χαρακτηριστικά των ανεξάρτητων αξιώσεων χωρίς απόκλιση από το αντικείμενο της παρούσας εφεύρεσης.
Claims (1)
- ΑΞΙΩΣΕΙΣ1. Μια διάταξη, η οποία περιλαμβάνει:έναν ελεγκτή μεταφοράς δεδομένων, ο οποίος αποκρίνεται σε ένα αίτημα μεταφοράς δεδομένων που λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, για την εκτέλεση μιας λειτουργίας μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια περιοχή διευθύνσεων προέλευσης στη μνήμη σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού στη μνήμη, καιέναν ελεγκτή ανακατεύθυνσης διαταγμένο, κατά την εκτέλεση της λειτουργίας μεταφοράς, για την αναχαίτιση ενός αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση στόχου εντός μιας περιοχής διευθύνσεων στόχου και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης μνήμης ώστε να προκαλείται η επεξεργασία του εν λόγω αιτήματος πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μεταφοράς.2. Μια διάταξη όπως αξιώνεται στην Αξίωση 1 , η οποία περιλαμβάνει επιπλέον:έναν ελεγκτή διευθέτησης διαταγμένο ώστε να λαμβάνει το αίτημα μεταφοράς δεδομένων και να εκδίδει ένα σήμα ελέγχου που προκαλεί αιτήματα πρόσβασης που εκδίδονται ενώ εκτελείται η λειτουργία μεταφοράς και που συνδέεται με την μεταφορά δεδομένων από τη λειτουργία μεταφοράς, ώστε να προσδιορίσει ως την διεύθυνση στόχου μία διεύθυνση εντός της περιοχής διευθύνσεων στόχου.3 - Μια διάταξη ήπ«ν αξιώνεται ατην Α£ι7.ντη 9JΛΤΓΓΥΠ η c \ι Irvyrn ιπ?.ριη%ή SinifliWfFnw ατήχηαείναι.ένα από τα-εξής:η EV λήγηι τηιιλάχιατην μια πρριηχή &mftftwrn?mv πραέ.ΐ rtwqrτ^εν λόγω τουλάχιστον’ μια περιοχή διευθύνσεων προορισμού, καιj nn ττορΐΓ>χή WVM ι-ιιπχρτί^Ητπι j.r -rrpi nuAAym4 Μια διάταξη όπως αξιώνεται nr ηπ·ο黣ޙ-.τΓ-π-ρπηγΓ<η>'-.ρ^ιη iWnm<η>π» ελεγκτής — ανακατεύθυνσης — διατάσσεται — ώστε··-·να — κκτελεί— την — ον λόγω — λθίτουργία ανακαιεύθηνπης μνήμης με. τρόπο ώστε;όταν, το αναχαιτισμένο αίτημα, πρόσβασης sivat- άνα αίτημα πρόσβασης για ανάγνωση, η διεύθυνση στόχου αι^τιστοιχοίται σο μια αντίστοιχη διεύθυνση προέλευσης εντός της εν λόγω τουλάχιστον· μιας περιοχής διευθύνσεων προέλευσης ώστε να προκαλέσει την FV-TF) ΡΓτη JI inr ΙπτΓνηργίπ^ πνήγνίτ>Γη-|Γ ηττή την, ΓΛ; ΙήγίΛ ΠΛ/τίητπιχη Αιρύθηνπη προέλευση, καιόταν τα αναχαιτισμένο αίτημα πρόσβασης· οίναι όνα αίτημα πρόσβασης για ογγραφή, η &FiSftnvm^ ίττήχηιι πνηπτπιχ^ίτηι nr |ΐι π πντίπτηιχη Kignftnvm] πρη^πντης mrrnrj. της. εν λόγω τουλάχιστον μιας περιοχης-διευθυνσεων προέλευσης και σε μια αντίστοιχη διεύθυνση προορισμού εντός της εν.λάγω τουλάχιστον μιας περιοχής διευθύνσεων προορισμού ώστε ναπρΟΚΟ'-λέ'Τεί την pyrclcmi mnr IgiTtmnyini· Fwiwimr τΛιτ<η>irnnr τ<η>ν πΛΑτίιττ<η>ιν<η>ftinSAnvrm προέλευσης, όσο και προς την αντίστοιχη διεύθυνση προορισμού& - Μια διάταξη όπως αξιώνοται σο οπβιαδήποτο από· τις αξιώσεις·-! -έως.3, ύπου ο-εν λόγω ελεγκτής μεταφοράς δεδομένων διατάσσεται ώστε να τηρεί ένα<,>αρχείο προόδου για τη λειτουργία-μεταφοράς, ονώ ο εν λόγω ελεγκτής «νακατεύθυνσης διατάσσεται ώστε να εκτελεί την εν λόγω λειτουργία ανακατεύθυνσης-μνήμης με -τρόπο (toes:ήτπν η £ΐΓ·ήθηνίτη πτήγηη rrm ηνπχπί'τι/ηι.^νΥη πιτή|ΐπ·ιγν^ ·π·ρΛ<τβπ<τηι·| «τ^Γ-πΤητπι μ£ μια διεύθυνση της οποίας-τα δεδομένα δεν έχουν ακόμη μοταφορθοί tm& τη λειτουργία μεταφοράς, η διεύθυνση προορισμού αίΓπστοιχείται σε μια αντίστοιχη δισύθονση προέλευσης ώστε... να .προκαλεί την εκτέλεση μιας πρόσβασης σο αυτή την αντίστοιχη διεύθυνση ιτρη^Ί Ρίντης κηιόταν η διεύθυνση προορισμού του αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται με μια διεύθυνση -της οποίας τα δεδομένα· -έχουν ήδη-μεταφερθεί-από τη λειτουργία iiprnfpnp^r η ftigiSftnvrm rvnWm ηνηπτοινρίτηι nc ιιιη mm/ττη.ν<η>Χ,νΑΑ,<η>,π<η>ϊτροορίσμού ώστε να προκαλεί την -εκτέλεση μιας πρόσβασης as - αυτή την -αντίστοιχη διεύθυνση προορισμού.·J&" Μια διάταξη όπως αξιώνεται σε οποιαδήποτε από τις αξιώσεις 1 έως 3, όπου ο εν λόγωΡ.λργκτήΓ| iFTnrpnpr»r ΚρΚη|ΐέν<τ.ν KuirAnncmi. mrsrc \ta τηρρί run, npr^rin nrpnrtSmi γκι τη λειτουργία μεταφοράς, ενώ ο εν λόγω ελεγκτής ανακατεύθυνσης διατάσσεται-ώστε να εκτελεί την εν λόγω λειτουργία ανακατεύθυνσης-μνήμης με-.τρόπα ώστε;.όταν η διεύθυνση στόχου του- αναχαιτισμένου αιτήματος πρόσβασης σχετίζεται^με μια διεύθυνση της οπηΐας τη δρδηρρνη δη> ryrvnv πνήρη |iJuntpApfki mm LI| λΐ.ΙΚΙ1)()γία μεταφοράς, ο ελεγκτής μεταφοράς δεδομένων διατάσσεται ώστε να εκκινεί τη μεταφορά-μιας βαθμίδας δεδομένων η οποία περιλαμβάνει τα δεδομένα που συσχετίζονται με τη διεύθυνση στόχου, πριν-την επεξεργασία του αναχαιτισμένου αιτήματος πρόσβασης» καιότβν — η — διεύθυνση — στόχου — του — αναχαιτισμένου - αιτήματος _ πρόσβασης. πχρ.τίζετηι μρ. μια δικύθιινπη της πττηίπΓ τη δρ-δη|ΐρνπ ρχηιιν ήδη [ΐρτπφρρθρί rurn.rq ) ριτουργία· μεταφοράς, η διεύθυνση-στόχου -αντιστοιχείται os μια αντίστοιχη· διεύθυνση η οποία οίνοι μιαπ4τή την πυτίπτηιχη irpnpl Piim5; νπι την πντίκτπιχη SiPiSftnvm-| προορισμού, ώατρ να<προκαλείεην -εκτέλεση μιας πρόσβασης σο αυτή την αντίστοιχη διεύθυνση.—7. Μια διάταξη όπως αξιώνεται σε οποιαδήποτε προηγούμενη αξίωση, η οποία περιλαμβάνει επιπλέον:χώρο αποθήκευσης ελέγχου για την αποθήκευση πληροφοριών ελέγχου που χρησιμοποιούνται για τον έλεγχο της απόδοσης της λειτουργίας μεταφοράς από τον ελεγκτή μεταφοράς δεδομένων, με το χώρο αποθήκευσης ελέγχου να αποθηκεύει μια ένδειξη της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προέλευσης, μια ένδειξη της εν λόγω τουλάχιστον μιας περιοχής διευθύνσεων προορισμού και δεδομένα ένδειξης προόδου τα οποία προσδιορίζουν την πρόοδο της λειτουργίας μεταφοράς.& - Μια διάταξη όπως αξιώνοται στην Αξίωση 7, όπου:η εν λύνω πεοιονύ διτηθύνσρων πτό^ριι rfvm frrrt π-ττή τη r £ή~η εν λόγω -τουλάχιστον μια περιοχή διευθύνσεων προορισμού; καιο ελεγκτή c ανακατεύθυνιπ^ διατάσσετηι ν<η>τΛ τη Κιύρκπσ τηι- π-τ<ή>ΤηΗηπ^Ρΐτοοργίπ^ μρτπΓρορός, ώστρ.. νη πνπφρρρτσι στ η χ<ν»ρο πποθήκ-Ρίντη^ έγχοιι γι η να προσδιορίζει· κατά πόσο ένα ληφθέν αίτημα πρόσβασης πρόκειται να αναχαιτιστεί -και '<m>-<ν>·™ρ<Ί>ηο-* -τη 'λπιτηυργία ανακατν^™™^ μ^ήμη^9, - Μια διάταξη όπως αξιώνεται σε οποιαδήποτε προηγούμονη αξίωση, -όπου το στοιχείο επεξεργασίας διατάσσεται ώστε , να υλοποιεί τη μετάφραση· εικοιακών -διευθύνσεων-σε σνπστηιχΓ>- rpumv-A- SicnftiWcir irm ρχρι 7ΓρΛσβσση__σρ ή, η χ/frpn ητΓηΑήιτρι^πηΓ |ΐΓτΛφρη«ης διευθύνσεων — για— ...την — αποθήκευση — δεδομένων — μετάφρασης διευθύνσεων — που χρησιμοποιούνται για τη μετατροπή μιας-εικοιακής διεύθυνσης- σε μια -φυσική διεύθυνση εντός μιας.σελίδας της εν .λόγω μνήμης, μετά εν λόγω δεδομένα μετάφρασης διευθύνσεων να προκύπτουν από .πληροφορίες περιγραφέα που αποθηκεύονται .σε , πίνακες σελίδων εντός- της εν-λόγω-μνήμης>ενώ το αίτημα-μοταφοράς δοδομόνων εκδίδοται ώστο να-μοταφόρονται τα δεδομένα από τουλάχιστον μια σελίδα προέλευσης σε τουλάχιστον μια σελίδα προορισμού εντός της μνήμης.- Μια διάταξη όπως αξιώνεται στην -Αξίωση 9 όταν οξαρτάται από την Αξίωση 2, —όπουί—η εν λόγω περιοχή διευθύνσεων στήχρυ περί) Π|ιζάνει. τηΛ; cv )όγω του) άιχιστο,ν μια^περιοχή διευθύνσεων προορισμού,-Ο, ελεγκτής διευθέτησης διατάσσεται, πριν την εκτέλεση της εν. )όγω )ειτοοργ(πς μεταφοράς από τον ελεγκτή μεταφοράς δεδομένων, ώστε να εκδίδευένα σήμα .ελεγχου-και.να προκαλεί την ενημέρωση των πινάκων σελίδων εντός της cv )όγω μνήμης ωσ-rr ni rurranircr διευθύνσεις που_μετηφράστηκπν σρ φυσικές διευθύνσεις ρντά r της εν )άγω τηυΐάχιστσν μισς περιοχής διευθύνσεων .προέλευσης θα μεταφράζονται αντί αυτού σε φυσικές διευθύνσεις εντός της εν λόγω . τουλάχιστον μιας περιοχής διευθύνσεων προοριομού, με τον ελεγκτή διευθέτησης νπ εκδίδει ,επιπίέην ένπ-πήμπ. ελέγχου το οποίο. προκαλεί την ακύρωση εντός το».. χώρου αποθήκευσης μετάφρασης διευθύνσεων -οποιωνδήποτε· εγγραφών οι οποίες παρέχουν δεδομένα μετάφρασης διευθύνσεων για τα δοδομόνα που θα υποβληθούν στη λειτουργία ρθταφοράςι -Η-; - Μια διάταξη όπως αξιώνεται στην Αξίωση 10, όπου η διάταξη διατάσσεται ώστε να σονδέρτπι με ένπ π)ήθης στοιχείων επεΡεργπσιπς που έχουν πράσβσση στην cv )άγω.μνήμη με~κάθε στοιχείο επεξεργασίας να έχει ένα συσχετισμένο χώρο αποθήκευσης μετάφρασης διευθύνσεωνJενώ ο ελεγκτής διευθέτησης διπτάσσετσι ώστε νπ εκδίδει ένα σήμο ελέγχρυ νηι να_. προκαλεί την ακύρωση ειαός κάθε .χώρου -αποθήκευσης μετάφραοης διευθύνσεων οκοιωνδήποτο ογγραφών παρέχουν· δεδομένα μετάφρασης διευθύνσεων για τα δεδομένα που θσ υποβοηθούν στη λειτουργίπ μετοίροράς12 - Μια,, διάταξη., όπως,, αξιώνεται στην Αξίωση 10 ή την -Αξίωση 11,· όπου μο την ολοκλήρωοη της λειτουργίας μεταφοράς, ο ελεγκτής ανακατούθυνσης αΜοτρόποται από την αναχαίτιση ενός μετεπειτα αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση στόχου εντός της περιοχής διευθύνσεων στόχου.13·. - Μια διάταξη όπως αξιώνεται σε οποιαδήποτε προηγούμενη -αξίωση, όπου το στοιχοίο επεξεργασίας έχει πρόσβαση-οε . τουλάχιστον . μια δομή κρυφής μνήμης-, για -την .αποθήκευση δεδομένων σε κρυφή — μνήμη — στα οποία — πραγματοποιείται -πρόσβαση στην εν λόγω μνήμη, ένα πρωτόκολλα συνοχής κρυφής μνημης-χρησιμοποιειζαι ώστε να εξασφαλίζει. τη σονοχή μεταξύ των~αποθηκευμένων σε κρυφή-μνήμη δεδομένων,, .και ..ίων.. δεδομένων που αποθηκεύονται, στη- μνήμη, και το πρωτόκολλο -συνοχής κρυφής μνήμης χρησιμοποιείται, σε σχέση με τα αιτήματα πρόσβασης που εκδίδονται από τον ελεγκτή μεταφοράς δεδομένων κατά την εκτέλεση της, λειτουργίας μεταφοράς -ώστε να . εξασφαλίζεται ότι ο ελεγκτής μεταφοράς δεδομένων έχει πρόσβαση στην πλέον ενημερωμένη . έκδοση-δεδομένων .πουπρησδιηριΤρ.τσι ηπή τη ρν ϊήγ™ πιτήμητη irpi^p»my-44 - Μια διΑταξη ..όπως αξιώνεται στην Αξίωση 1·3, όπου ο ελεγκτής μεταφοράς δεδομένων διατάσσεται, όταν εκδίδει αιτήματα πρόσβασης για -ανάγνωση κατά την -εκτέλεση της■λειτουργίας μεταφοράς με. -σκοπό την ανάγνωση των δεδομένων οντός της ον λόγω τουλάχιστον — μιας — περιοχής, διευθύνσεων προέλευσης, — ώστε — να χρησιμοποιεί — έναν καθορισμένο τύπο αιτήματος-πρόσβασης για ανάγνωση το οποίο προκαλεί την ακύρωση ρποιωνδήποτε απαθηκευμένων σε κρυφή μνήμη. αντιγράφων, -αυτών των δεδομένων κατά τηΐ' Εφαρμογή rrm πρωτηκΛηοιι mwnjpfc κ-ρινρή^ μνήμης- —15.συνδέεται [IP. ένα πλήθος ατθίχρίων ρπ^ργηΓτίπΓ ifAfli; ύι/η ηττΛ τη rvtrnfn ή^ηι «τρή·ρπι·η me τουλάχιστον<,>μια συσχετισμένη -δομή κρυφής μνήμης, και ο ελεγκτής μεταφοράς δεδομένων διατάσσεται-ώστε να -χρησιμοποιεί τον εν λόγω καθορισμένο τόπο αιτήματος πρόσβασης γιατων εν λήγω δεδομένων στις σησχρτισμένκς δομές ^ρ^φής μ'ήμης jwrtim^Trvrr m τΛ m εν λόγω-πλήθος στοιχείων επεξεργασίας κατά την εφαρμογή του πρωτοκόλλου συνοχής κρυφής μιιήμης16- - Μια-διάταξη όπως, αξιώνεται στην Αξίωση 14 ή στην Αξίωση 15, όπου ο ον λόγω καθορισμένης Timer αιτήματος πρόποσης γι η c.\,m fii,n ητην’ϊηητιιτΛ «ί«ηρπ πρόσβασης για ανάγνωση,¥h - Μια διάταξη όπως αξιώνεται σο οποιαδήποτο προηγούμενη αξίωση^ όπου η ον λόγω λειτουργία μεταφοράς -χρησιμοποιείται για την εκτέλεση<■>ενός από τους ακόλουθους τύπους μεταφοράς δεδομένων; —μια συγκέντρωση δεδομένων από — πολλές περιοχές διευθύνσεων προέλευσης σε μια μοναδική ποριοχή-διουθύνσοων προορισμού,πολλές περιοχές διευθύνσεων προορισμού, ή,μια [ΐρτηφηρό Srftnjipvr.w nmS pirn ττρριηχή KicuftmOTcmv -rpr>glcn^ rrc pm ιτρριοχή· διευθύνσεων προορισμού ίδιου μεγέθους.18 — Μια, διάταξη άπην;. αξιώνεται ms οποιαδήποτε προηγούμενη αξίωση, όπου η ον λόγω λειτουργία μεταφοράς περιλαμβάνει είτε μια λειτουργία μοταιάνησης οίτο μια λειτουργία _ πνπγρπφήΓ19.<1>Ένα σύστημα το οποίο περιλαμβάνει:fyrc πλήθος nTni.xf:irnv.f πεξεργασιας, καιμκι fiui(ri)V§F.cni πρνδκδρ.μ£νη |if. τη εν λόγ<η>Ί πλήθος στοιχείων επεξεργασίας-και για την έλεγχ<η>της πρόσβασης σε μια μνήμη από το οι» λόγω πλήθος στοιχείων επεξεργασίας, jlf. τη flmrmvSgm-| νπ ^χρι Kmpnprpfnpcirq pm ρηχ™ή [inarn/pnpAr η* τή pm όπως αξιώνεται πκ ηττηιπδήπητρ πρηηγηύ| ιρνη πξίωτυ^ γι η την cirrc^ ΓΓτη pmr 1 nrmnpyfnr μεταφοράς -για λογαριασμό ενός από τα στοιχεία Eii^bpyuulut, με οκϋϋΐΰ τη μεΤΗφδρά δεδομένων - από τουλάχιστον ·. μια περιοχή διευθύνσεων -προέλευσης σε τουλάχιστον μια περιοχή διευθύνσεων προορισμού, επιτρέποντας ταυτόχρονα τη συνέχιση της οποξεργασίας των αιτημάτων πρόσβασης που εκδίδονται από το πλήθος στοιχοίων επεξεργασίας όσον άφορά στα δεδομένα που υποβάλλονται πιη λπτουργίπ μρτπφηρπς νατά τη ftuiprairt εκτέλεσης της λ ειτουργίπς μεταφοράς20 - Ένα. πιιπτημα-Δαης .αξιώνεται στην Αξίωση 10, όπου η μηχανή μοταφοράς αποκρίνεται σε μια ένδειξη χρήσης του εύρους ζώνης εντός της διασύνδεσης -για- την επιβράδυνση της απόδοσης της λειτουργίας μεταφοράς.24η -<'>Ενα σύστημα -όπως-· αξιώνοται στην Αξίωση -19 ή την Αξίωση<1>20, tu unofo περιλαμβάνει:μια επιπλέον, διασύνδεση συνδεδεμέιη με την εν λόγω διασύνδεση και για τον έλεγχο της πρόσβασης σε μια επιπλέον μνήμη από το ev λόγω πλήθυς υ ιυιχείων αμφϊμγΐΐοίάς, με την επιπλέον διασύνδεση να εχπ ,..μιπ επιπλέον μηχανή μεταφοράς διαμορφωμένη απή.,μια διάταξη όπως— .αξιώνεται σε οποια&ήποτε — προηγούμαι αξίωση, για την εκτέλεση μιας λειτουργίας μεταφοράς· για λογαριασμό ενός από m στοιχεία επεξεργασίας με σκοπό τηjj<g>rnmAnA 5ε5θ{-ίένθ)ν ι iin irrninvn SicufliWcnw TTpricl ciyrnr m τ<η>ιιΙΑνιπτ<η>υ jnn TTF. ριηχή ftgnftiwfrrnv 7rpr>npm|irm ρτητρέπηΛ/τη^ τηητήγρηνη τη σηιιήγιση τητ επρξεργαπίπς των αιτημάτων πρόσβασης παη εκδίδονται- από το πλήθος στοιχείων επεξεργασίας όσον αφορά στα δεδομένα που υποβάλλονται στη λειιυυμγίιχ μυ'ΐάψϋμΰζΤΒχτά τη,διάρκειαεκτέλεσης της λειτουργίας μεταφοράς.23--·Ένη mWiT||in όττην; nFiftwr-rm πτην Αξΐηντη Ίλ , <Wm η ρη^ΓηΓή |ΐι:τσφσράη vnn rtl 11 Π7ΓΓ>1 ρί ΤΠ 1 VI Π ΤΠ δίπνρίηΐίτη ΤΤΙΓ l nrnniwinr ucrnmnnAr ήτ<η>»<η ■ ■■>" περιοχή διευθύνσεων προορισμού βρίσκεται .εντός■της εν λόγω μνήμης, ενώ η επιπλέον μηχανή-μεταφοράς. χρησιμοποιείται .για τη ..διαχείριση της λειτουργίας μεταφοράς όταν··η· τουλάχισταν^ια. περιοχή διευθύνσεων προορισμού βρίσκεται ειτός της ον λόγω επιπλέον μνήμης-^-21 _ Mm μέθοδοί ιιεταωοοπτ δρδοιιένων ιιετα/Ίΐ πρ,ηιηνών διηιθήνσεων στη ανύαυ.-υ οττηίη πΓραπρβόνπ·σε απόκριση ενός αιτήματος μεταφοράς δεδομένων που λαμβάνεται ιαιό ένα ϋ ΐυιχείΰ επεξεργασίας, χρησιμοποιώντας έναν. ελεγκτή μεταφοράς δεδομένων για την εκτέλεση μιας· λειτουργίας μεταφοράς για τη■μεταφορά δεδομένων από τουλάχιστον μια περτσχηMστη μνήμη, καινητΛ τη Κιιγνριπ της Fifrf)cm|r της ΐριτηηργίπς ρρτπφηρά^ -ττμ> πνσχπίτιση κνός αιτήματος πρόσβασης το οποίο προσδιορίζει μια διεύθυνση στόχου εντός μιας περιοχής διευθύνσεων στόχου και την εκτέλεση μιας λειτουργίας ανακατεύθυνσης .μνήμης ώστε να προκαλείται η επεξεργασία, του εν λήγω αιτήματος πρόσβασης χωρίς·. να· αναμένεται<,>η ολοκλήρωση της λειτουργίας· μεταφοράς.24, - Μια διάταξη» η οποία περιλαμβάνει*.μέσα -ελέγχου -της μεταφοράς δεδομένων για την εκτέλεση, σο απόκριση ενός αιτήματος μεταφοράς -δεδομένων■που— λαμβάνεται από τη διάταξη από ένα στοιχείο επεξεργασίας, μιας λειτουργίας, μεταφοράς για τη μεταφορά δεδομένων από τουλάχιστον μια τιβριοχή δίΕυθύνσεων-προέλΕυσης στη μιήμη — σο τουλάχιστον μια wcptoyj SicuOuvoceav προορισμού στη μνήμη, καν[ΐεαα χ?ι£γχου ανακαιεύθυνσης για την αναχαίτιση;κατά τη διάρκοια της οκτόλΒβης της λειτουργίας μεταφοράς, ενός αιτήματος πρόσβασης TO οποίο προσδιορίζοι μια διαύθ'Βνση renfyrm εντός μιπς πρριπχής SignftiivfFrnv πτήχηη irm .jnp; FITTP^ ρπη μιπς .λτιτηιηργίπς ανακατεήθηνιτης μνή|ΐης.··Λνΐτε .να προκπ^είται η Εποξβργασια του cv ·λόγω αιτήματος πρόσβασης χωρίς να αναμένεται η ολοκλήρωση της λειτουργίας μοταφοράς.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20170200061U GR20170200061U (el) | 2016-12-02 | 2016-12-02 | Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GR20170200061U GR20170200061U (el) | 2016-12-02 | 2016-12-02 | Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| GR20170200061U true GR20170200061U (el) | 2018-10-12 |
Family
ID=64020673
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| GR20170200061U GR20170200061U (el) | 2016-12-02 | 2016-12-02 | Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη |
Country Status (1)
| Country | Link |
|---|---|
| GR (1) | GR20170200061U (el) |
-
2016
- 2016-12-02 GR GR20170200061U patent/GR20170200061U/el unknown
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10712965B2 (en) | Apparatus and method for transferring data between address ranges in memory | |
| US6633967B1 (en) | Coherent translation look-aside buffer | |
| US6990559B2 (en) | Mechanism for resolving ambiguous invalidates in a computer system | |
| TW591384B (en) | Method and system for speculatively invalidating lines in a cache | |
| CN113924557B (zh) | 混合硬件-软件一致性框架 | |
| US7856534B2 (en) | Transaction references for requests in a multi-processor network | |
| US10079916B2 (en) | Register files for I/O packet compression | |
| JPH04227552A (ja) | ストアスルーキャッシュ管理システム | |
| US6898676B2 (en) | Computer system supporting both dirty-shared and non-dirty-shared data processing entities | |
| KR20030084553A (ko) | 멀티프로세서 장치 | |
| US7533223B1 (en) | System and method for handling memory requests in a multiprocessor shared memory system | |
| US11048422B2 (en) | Method, device, and computer readable storage medium for allocating access rights to data among storage processors | |
| US20120124297A1 (en) | Coherence domain support for multi-tenant environment | |
| US20170228164A1 (en) | User-level instruction for memory locality determination | |
| US7024520B2 (en) | System and method enabling efficient cache line reuse in a computer system | |
| EP3992802B1 (en) | Input/output device operational modes for a system with memory pools | |
| US11841800B2 (en) | Apparatus and method for handling stash requests | |
| EP0533427A1 (en) | Computer memory control system | |
| US7000080B2 (en) | Channel-based late race resolution mechanism for a computer system | |
| US11086802B1 (en) | Apparatus and method for routing access requests in an interconnect | |
| JP3626609B2 (ja) | マルチプロセッサシステム | |
| US6895476B2 (en) | Retry-based late race resolution mechanism for a computer system | |
| GR20170200061U (el) | Μια διαταξη για τη μεταφορα δεδομενων μεταξυ περιοχων διεθυνσεων στη μνημη | |
| JP6565729B2 (ja) | 演算処理装置、制御装置、情報処理装置及び情報処理装置の制御方法 | |
| JP2006164218A (ja) | ストレージシステム及びそのキャッシュ制御方法 |