Method and apparatus for pre-fetching data during program execution

   
   

A system and method for pre-fetching data. A computer program comprising multiple basic blocks is submitted to a processor for execution. Tables or other data structures are associated with some or all of the basic blocks (e.g., a table is associated with, or stores, an instruction address of a particular basic block). During execution of a basic block, memory locations of data elements accessed during the executions are stored in the associated table. After a threshold number of executions, differences between memory locations of the data elements in successive executions are then computed. The differences are applied to the last stored memory locations to generate estimates of the locations for the data elements for a subsequent execution. Using the estimated locations, the data elements can be pre-fetched before, or as, the basic block is executed.

Ένα σύστημα και μια μέθοδος για προ- τα στοιχεία. Ένα πρόγραμμα υπολογιστών που περιλαμβάνει τους πολλαπλάσιους βασικούς φραγμούς παρουσιάζεται σε έναν επεξεργαστή για την εκτέλεση. Οι πίνακες ή άλλες δομές δεδομένων συνδέονται με μερικούς ή όλους τους βασικούς φραγμούς (π.χ., ένας πίνακας συνδέεται με, ή καταστήματα, μια διεύθυνση οδηγίας ενός ιδιαίτερου βασικού φραγμού). Κατά τη διάρκεια της εκτέλεσης ενός βασικού φραγμού, οι θέσεις μνήμης των στοιχείων στοιχείων που προσεγγίζονται κατά τη διάρκεια των εκτελέσεων αποθηκεύονται στο σχετικό πίνακα. Μετά από έναν αριθμό κατώτατων ορίων εκτελέσεων, οι διαφορές μεταξύ των θέσεων μνήμης των στοιχείων στοιχείων στις διαδοχικές εκτελέσεις υπολογίζονται έπειτα. Οι διαφορές εφαρμόζονται στις τελευταίες αποθηκευμένες θέσεις μνήμης για να παραγάγουν τις εκτιμήσεις των θέσεων για τα στοιχεία στοιχείων για μια επόμενη εκτέλεση. Χρησιμοποιώντας τις κατ' εκτίμηση θέσεις, τα στοιχεία στοιχείων μπορούν να προ-προσκομιστούν πριν, ή ως, ο βασικός φραγμός εκτελείται.

 
Web www.patentalert.com

< Data structure for write pending

< Memory control circuit

> Multicore DSP device having shared program memory with conditional write protection

> System and method for hierarchical data storage

~ 00165