The present invention relates to a method, apparatus and system for
managing virtual memory, in which a co-processor (224) is adapted to use
virtual memory with a host processor (202). A host memory (203) is coupled
to the host processor (202) to implement the virtual memory. The
co-processor (224) includes a virtual-physical memory mapping device (915)
for interrogating a virtual memory table and for mapping one or more
virtual memory addresses (880) requested by the co-processor (224) into
corresponding physical addresses (873) in the host memory (203). The
virtual memory table is stored in two or more non-contiguously addressable
regions of the host memory (203), and is preferably a page table. The
memory mapping device (915) further includes a multiple-entry translation
lookaside buffer (889) for caching virtual-to-physical address mappings
(872), where entries in the buffer (889) are replaced on a least recently
used replacement basis. The memory mapping device (915) also includes
devices (901) for comparing, replacing, singly invalidating and multiply
invalidating one or more entries of the translation lookaside buffer
(889). It also includes a hashing device (892) for, upon an occurrence of
a miss in the translation lookaside buffer (889), hashing a virtual memory
address (880) using a hash function to produce an index into the virtual
memory table.
Η παρούσα εφεύρεση αφορά μια μέθοδο, συσκευές και ένα σύστημα για την εικονική μνήμη, στην οποία ένας συνεπεξεργαστής (224) προσαρμόζεται στην εικονική μνήμη χρήσης με έναν επεξεργαστή οικοδεσποτών (202). Μια μνήμη οικοδεσποτών (203) συνδέεται με τον επεξεργαστή οικοδεσποτών (202) για να εφαρμόσει την εικονική μνήμη. Ο συνεπεξεργαστής (224) περιλαμβάνει μια εικονικός-φυσική συσκευή χαρτογράφησης μνήμης (915) για την ερώτηση ενός πίνακα εικονικής μνήμης και για τη χαρτογράφηση μιας ή περισσότερων διευθύνσεων εικονικής μνήμης (880) που ζητούνται από το συνεπεξεργαστή (224) στις αντίστοιχες φυσικές διευθύνσεις (873) στη μνήμη οικοδεσποτών (203). Ο πίνακας εικονικής μνήμης αποθηκεύεται σε δύο ή περισσότερες μη-πλησίον προσπελάσιμες περιοχές της μνήμης οικοδεσποτών (203), και είναι κατά προτίμηση ένας πίνακας σελίδων. Η συσκευή χαρτογράφησης μνήμης (915) περαιτέρω περιλαμβάνει έναν απομονωτή lookaside μεταφράσεων πολλαπλάσιος-εισόδων (889) για την εναποθήκευση των εικονικός-$$$-ΦΥΣΙΚΏΝ χαρτογραφήσεων διευθύνσεων (872), όπου οι καταχωρήσεις στον απομονωτή (889) αντικαθίστανται σε ο πιό ελάχιστα πρόσφατα χρησιμοποιημένη βάση αντικατάστασης. Η συσκευή χαρτογράφησης μνήμης (915) επίσης περιλαμβάνει τις συσκευές (901) για τη σύγκριση, αντικαθιστώντας, ακυρώνοντας μεμονωμένα και πολλαπλασιάζει την ακύρωση μιας ή περισσότερων καταχωρήσεων του απομονωτή lookaside μεταφράσεων (889). Περιλαμβάνει επίσης μια hashing συσκευή (892) για, επάνω σε ένα περιστατικό μιας δεσποινίδας στον απομονωτή lookaside μεταφράσεων (889), hashing μια διεύθυνση εικονικής μνήμης (880) χρησιμοποιώντας μια hash λειτουργία για να παραγάγει έναν δείκτη στον πίνακα εικονικής μνήμης.