System and method for pre-fetching for pointer linked data structures

   
   

A system and method are provided for efficiently prefetching data in a pointer linked data structure (140). In one embodiment, a data processing system (100) is provided including a processor (110) capable of executing a program, a main-memory (115) and a prefetch engine (175) configured to prefetch data from a plurality of locations in main-memory in response to a prefetch request from the processor. When the data in main-memory (115) has a linked-data-structure having a number nodes (145) each with data (150) stored therein, prefetch engine (175) is configured to traverse the linked-data-structure and prefetch data from the nodes. The prefetch engine (175) is configured to determine from data contained in a prefetched first node (145A) and an offset value a new starting address for a second node (145B) to be prefetched. In one embodiment, the prefetch engine (175) includes a number of sets of prefetch registers (180), one set of prefetch registers for each prefetch request from processor (110) that is yet to be completed. Each set of prefetch registers (180) includes (i) a prefetch address register (190); (ii) an offset register (195); (iii) a termination register (200); (iv) a status register (205); and (v) a returned data register (210).

Ein System und eine Methode werden für leistungsfähig prefetching Daten in einer Zeiger verbundenen Datenstruktur (140) zur Verfügung gestellt. In einer Verkörperung wird ein Datenverarbeitungssystem (100) einschließlich einen Prozessor (110) fähig zur Durchführung eines Programms zur Verfügung gestellt, der Zentralspeicher- (115) und prefetch Maschine (175) zusammengebaut zu den prefetch Daten von einer Mehrzahl von Positionen in Zentralspeicher in Erwiderung auf einen prefetch Antrag vom Prozessor. Wenn die Daten in Zentralspeicher (115) eine Verbinden-Datenstruktur haben, Nullpunkte einer Zahl (145) jeden zu haben mit den Daten (150) darin gespeichert, wird prefetch Maschine (175) zusammengebaut, um die Verbinden-Datenstruktur und die prefetch Daten von den Nullpunkten zu überqueren. Die prefetch Maschine (175) wird zusammengebaut, um von den Daten festzustellen, die in a enthalten werden, prefetched ersten Nullpunkt (145A) und ein Offsetwert, den eine neue beginnende Adresse für einen zweiten Nullpunkt (145B) zum zu sein prefetched. In einer Verkörperung schließt die prefetch Maschine (175) eine Anzahl von Sätzen prefetch Registern (180), ein Satz prefetch registriert für jeden prefetch Antrag vom Prozessor ein (110) der schon durchgeführt werden soll. Jeder Satz prefetch Register (180) schließt (i) ein prefetch Adresse Register ein (190); (ii) ein Offsetregister (195); (iii) ein Endpunktregister (200); (iv) ein Statusregister (205); und (V) ein zurückgebrachtes Datenregister (210).

 
Web www.patentalert.com

< Organizing and categorizing hypertext document bookmarks by mutual affinity based on predetermined affinity criteria

< Mechanism to improve fault isolation and diagnosis in computers

> System and method for reporting platform errors in partitioned systems

> Microprocessor system bus protocol providing a fully pipelined input/output DMA write mechanism

~ 00128